@font-face{font-family:Work Sans;src:url(/assets/WorkSans-400-latin-CnRC4pFw.woff2)format("woff2");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:Work Sans;src:url(/assets/WorkSans-500-latin-B4cVmFoV.woff2)format("woff2");font-weight:500;font-style:normal;font-display:swap}@font-face{font-family:Work Sans;src:url(/assets/WorkSans-600-latin-BEJ_76e8.woff2)format("woff2");font-weight:600;font-style:normal;font-display:swap}@font-face{font-family:JetBrains Mono;src:url(/assets/JetBrainsMono-400-latin-CGTiSZHu.woff2)format("woff2");font-weight:400;font-style:normal;font-display:swap}:root{--substrate:#191512;--bark:#221d19;--chitin:#2e2721;--potion:#6b4e9e;--dalmatian:#c97a3f;--chalk:#e6e0d8;--chalk-muted:color-mix(in srgb, var(--chalk) 65%, transparent);--font-body:"Work Sans", system-ui, -apple-system, "Segoe UI", sans-serif;--font-mono:"JetBrains Mono", ui-monospace, "SFMono-Regular", Consolas, monospace;--text-xs:.75rem;--text-sm:.8125rem;--text-base:.9375rem;--text-message:1rem;--text-lg:1.125rem;--text-xl:1.5rem;--leading-tight:1.2;--leading-normal:1.45;--leading-relaxed:1.6;--space-1:.25rem;--space-2:.5rem;--space-3:.75rem;--space-4:1rem;--space-5:1.5rem;--space-6:2rem;--space-7:3rem;--radius-sm:6px;--radius-md:10px;--radius-lg:16px;--radius-full:999px}:root{--text:#6b6375;--text-h:#08060d;--bg:#fff;--border:#e5e4e7;--code-bg:#f4f3ec;--accent:#aa3bff;--accent-bg:#aa3bff1a;--accent-border:#aa3bff80;--social-bg:#f4f3ec80;--shadow:#0000001a 0 10px 15px -3px, #0000000d 0 4px 6px -2px;--sans:system-ui, "Segoe UI", Roboto, sans-serif;--heading:system-ui, "Segoe UI", Roboto, sans-serif;--mono:ui-monospace, Consolas, monospace;font:18px/145% var(--sans);letter-spacing:.18px;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;color:var(--text);background:var(--bg);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial}}@media (width<=1024px){:root{font-size:16px}}@media (prefers-color-scheme:dark){:root{--text:#9ca3af;--text-h:#f3f4f6;--bg:#16171d;--border:#2e303a;--code-bg:#1f2028;--accent:#c084fc;--accent-bg:#c084fc26;--accent-border:#c084fc80;--social-bg:#2f303a80;--shadow:#0006 0 10px 15px -3px, #00000040 0 4px 6px -2px}#social .button-icon{filter:invert()brightness(2)}}body{margin:0}#root{box-sizing:border-box;flex-direction:column;min-height:100svh;display:flex}h1,h2{font-family:var(--heading);color:var(--text-h);font-weight:500}h1{letter-spacing:-1.68px;margin:32px 0;font-size:56px}@media (width<=1024px){h1{margin:20px 0;font-size:36px}}h2{letter-spacing:-.24px;margin:0 0 8px;font-size:24px;line-height:118%}@media (width<=1024px){h2{font-size:20px}}p{margin:0}code{font-family:var(--mono);color:var(--text-h);background:var(--code-bg);border-radius:4px;padding:4px 8px;font-size:15px;line-height:135%;display:inline-flex}.auth-screen{flex-direction:column;flex-grow:1;place-content:center;align-items:center;gap:20px;padding:48px 20px;display:flex}.auth-tabs{gap:8px;display:flex}.auth-tabs button{border:1px solid var(--border);color:var(--text);cursor:pointer;background:0 0;border-radius:6px;padding:6px 16px}.auth-tabs button.active{color:var(--text-h);border-color:var(--accent-border);background:var(--accent-bg)}.auth-form{flex-direction:column;gap:14px;width:280px;display:flex}.auth-form label{text-align:left;color:var(--text-h);flex-direction:column;gap:4px;font-size:14px;display:flex}.auth-form input{font:inherit;border:1px solid var(--border);background:var(--bg);color:var(--text-h);border-radius:6px;padding:8px 10px}.auth-form button[type=submit]{background:var(--accent);color:#fff;cursor:pointer;border:none;border-radius:6px;margin-top:4px;padding:8px 10px}.auth-form button[type=submit]:disabled{opacity:.6;cursor:default}.auth-error{color:#d33;margin:0;font-size:14px}.app-shell{flex-direction:column;flex-grow:1;min-height:0;display:flex}.app-shell header{border-bottom:1px solid var(--border);flex:none;justify-content:space-between;align-items:center;padding:16px 24px;display:flex}.app-shell-panes{text-align:left;flex:auto;min-height:0;display:flex}.app-shell-panes__list{padding:24px;overflow-y:auto}.app-shell-panes__chat{background:var(--substrate);flex-direction:column;min-height:0;display:flex;overflow:hidden}.app-shell-panes[data-view=list] .app-shell-panes__chat,.app-shell-panes[data-view=chat] .app-shell-panes__list{display:none}.app-shell-panes__back{margin:var(--space-3) var(--space-4) 0;padding:var(--space-2) var(--space-3);border-radius:var(--radius-sm);border:1px solid var(--chitin);min-height:44px;color:var(--chalk);font-family:var(--font-body);font-size:var(--text-sm);cursor:pointer;background:0 0;flex:none;align-self:flex-start}.app-shell-panes__back:focus-visible{outline:2px solid var(--potion);outline-offset:2px}.app-shell-panes__empty{padding:var(--space-4);font-family:var(--font-body);font-size:var(--text-base);color:var(--chalk-muted);margin:0}@media (width>=768px){.app-shell-panes[data-view=chat] .app-shell-panes__list{display:block}.app-shell-panes[data-view=list] .app-shell-panes__chat{display:flex}.app-shell-panes__list{border-right:1px solid var(--border);flex:0 0 320px}.app-shell-panes__chat{flex:auto}.app-shell-panes__back{display:none}}.app-shell-panes__list{background:var(--substrate);color:var(--chalk)}.conversation-list-header{margin-bottom:var(--space-4);justify-content:space-between;align-items:center;display:flex}.conversation-list-header__title{font-family:var(--font-body);font-size:var(--text-xl);color:var(--chalk);margin:0;font-weight:600}.conversation-list-header__add{border-radius:var(--radius-full);background:var(--potion);width:44px;height:44px;color:var(--chalk);font-family:var(--font-body);font-size:var(--text-lg);cursor:pointer;border:none;flex:none;justify-content:center;align-items:center;line-height:1;display:flex}.key-status{font-family:var(--font-body);font-size:var(--text-xs);color:var(--chalk-muted);margin:0 0 var(--space-4)}.conversation-list__toolbar{margin-bottom:var(--space-2);justify-content:flex-end;display:flex}.conversation-list__toolbar button{font-family:var(--font-body);font-size:var(--text-sm);color:var(--chalk-muted);cursor:pointer;padding:var(--space-1) var(--space-2);background:0 0;border:none}.conversation-list__empty{font-family:var(--font-body);font-size:var(--text-base);color:var(--chalk-muted);padding:var(--space-4) 0;margin:0}.conversation-list__items{gap:var(--space-1);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.conversation-list__item{align-items:center;gap:var(--space-2);display:flex}.conversation-list__open{align-items:center;gap:var(--space-2);min-height:44px;padding:var(--space-2) var(--space-3);border-radius:var(--radius-md);color:var(--chalk);font-family:var(--font-body);font-size:var(--text-base);text-align:left;cursor:pointer;background:0 0;border:none;flex:auto;display:flex}.conversation-list__open:hover{background:var(--bark)}.conversation-list__marker{color:var(--potion);flex:none}.conversation-list__name{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.conversation-list__remove{font-family:var(--font-body);font-size:var(--text-xs);padding:var(--space-1) var(--space-2);border-radius:var(--radius-sm);border:1px solid var(--chitin);min-height:44px;color:var(--chalk-muted);cursor:pointer;background:0 0;flex:none}.conversation-list-header__add:focus-visible,.conversation-list__open:focus-visible,.conversation-list__remove:focus-visible,.conversation-list__toolbar button:focus-visible{outline:2px solid var(--potion);outline-offset:2px}.add-panel-backdrop{z-index:10;background:#00000080;justify-content:center;align-items:flex-end;display:flex;position:fixed;inset:0}.add-panel{background:var(--bark);width:100%;max-height:85vh;color:var(--chalk);border-radius:var(--radius-lg) var(--radius-lg) 0 0;padding:var(--space-4);font-family:var(--font-body);box-sizing:border-box;overflow-y:auto}.add-panel__header{margin-bottom:var(--space-4);justify-content:space-between;align-items:center;display:flex}.add-panel__header h2{font-size:var(--text-lg);color:var(--chalk);margin:0}.add-panel__close{border-radius:var(--radius-full);width:44px;height:44px;color:var(--chalk);font-size:var(--text-lg);cursor:pointer;background:0 0;border:none}.add-panel__close:focus-visible{outline:2px solid var(--potion);outline-offset:2px}.friend-info{font-family:var(--font-body);font-size:var(--text-sm);color:var(--potion);margin:0 0 var(--space-3)}.add-panel__section{margin-bottom:var(--space-5)}.add-panel__section h3{font-family:var(--font-body);font-size:var(--text-base);margin:0 0 var(--space-2);color:var(--chalk)}.add-panel__section h4{font-family:var(--font-body);font-size:var(--text-sm);margin:0 0 var(--space-1);color:var(--chalk-muted)}.add-panel__muted{font-family:var(--font-body);font-size:var(--text-sm);color:var(--chalk-muted);margin:0}.add-panel__requests{gap:var(--space-5);margin:var(--space-3) 0;flex-wrap:wrap;display:flex}.add-panel__requests ul{gap:var(--space-1);font-family:var(--font-body);font-size:var(--text-sm);color:var(--chalk);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.add-panel__requests li{align-items:center;gap:var(--space-2);display:flex}.friend-request-form,.group-create-form{gap:var(--space-2);margin-bottom:var(--space-3);display:flex}.group-create-form{flex-direction:column}.friend-request-form input,.group-create-form input[type=text],.group-create-form>input{font:inherit;font-family:var(--font-body);padding:var(--space-2) var(--space-3);border-radius:var(--radius-sm);border:1px solid var(--chitin);background:var(--substrate);min-height:44px;color:var(--chalk);box-sizing:border-box}.friend-request-form button,.group-create-form button,.add-panel__requests button{font-family:var(--font-body);font-size:var(--text-sm);padding:var(--space-2) var(--space-3);border-radius:var(--radius-sm);border:1px solid var(--chitin);background:var(--potion);min-height:44px;color:var(--chalk);cursor:pointer}.friend-request-form input:focus-visible,.group-create-form input:focus-visible,.friend-request-form button:focus-visible,.group-create-form button:focus-visible,.add-panel__requests button:focus-visible{outline:2px solid var(--potion);outline-offset:2px}.group-member-picker{gap:var(--space-3);font-family:var(--font-body);font-size:var(--text-sm);color:var(--chalk);flex-wrap:wrap;display:flex}.group-member-picker label{align-items:center;gap:var(--space-1);display:flex}@media (width>=768px){.add-panel-backdrop{padding:var(--space-6);justify-content:flex-end;align-items:flex-start}.add-panel{width:400px;max-height:calc(100vh - var(--space-7));border-radius:var(--radius-lg)}}.chat-window{min-height:0;padding:var(--space-4);box-sizing:border-box;color:var(--chalk);flex-direction:column;flex:auto;display:flex}.chat-window__title{font-family:var(--font-body);font-size:var(--text-lg);color:var(--chalk);margin:0 0 var(--space-3);flex:none;font-weight:600}.chat-window__status{font-family:var(--font-body);font-size:var(--text-sm);color:var(--chalk-muted);margin:0 0 var(--space-2);flex:none}.group-members{margin-bottom:var(--space-3);flex:none}.group-members h4{font-family:var(--font-body);font-size:var(--text-sm);color:var(--chalk-muted);margin:0 0 var(--space-1);font-weight:600}.group-members ul{margin:0 0 var(--space-2);gap:var(--space-1);font-family:var(--font-body);font-size:var(--text-sm);color:var(--chalk);flex-direction:column;padding:0;list-style:none;display:flex}.group-members li{align-items:center;gap:var(--space-2);display:flex}.group-members li button{padding:var(--space-1) var(--space-2);border-radius:var(--radius-sm);border:1px solid var(--chitin);color:var(--chalk-muted);cursor:pointer;font-family:var(--font-body);font-size:var(--text-xs);background:0 0}.group-add-member-form{gap:var(--space-2);margin-bottom:var(--space-3);display:flex}.group-add-member-form input{font:inherit;font-family:var(--font-body);padding:var(--space-2) var(--space-3);border-radius:var(--radius-sm);border:1px solid var(--chitin);background:var(--bark);min-height:44px;color:var(--chalk);box-sizing:border-box}.group-add-member-form button{font-family:var(--font-body);font-size:var(--text-sm);padding:var(--space-2) var(--space-3);border-radius:var(--radius-sm);background:var(--potion);min-height:44px;color:var(--chalk);cursor:pointer;border:none}.group-members li button:focus-visible,.group-add-member-form input:focus-visible,.group-add-member-form button:focus-visible{outline:2px solid var(--potion);outline-offset:2px}.chat-messages{padding:0 0 var(--space-2);flex-direction:column;flex:auto;min-height:0;margin:0;list-style:none;display:flex;overflow-y:auto}.chat-messages__end{flex:0 0 0;height:0}.message{max-width:75%;margin-top:var(--space-3);flex-direction:column;display:flex}.message--stacked{margin-top:2px}.message--mine{align-self:flex-end;align-items:flex-end}.message--theirs{align-self:flex-start;align-items:flex-start}.message__sender{font-family:var(--font-body);font-size:var(--text-xs);color:var(--chalk-muted);margin:0 0 2px var(--space-2)}.message__bubble{padding:var(--space-2) var(--space-3);border-radius:var(--radius-lg);box-sizing:border-box;max-width:100%}.message--mine .message__bubble{background:var(--potion);color:var(--chalk)}.message--theirs .message__bubble{background:var(--bark);color:var(--chalk)}.message--mine.message--stacked .message__bubble{border-top-right-radius:4px}.message--mine.message--continues .message__bubble{border-bottom-right-radius:4px}.message--theirs.message--stacked .message__bubble{border-top-left-radius:4px}.message--theirs.message--continues .message__bubble{border-bottom-left-radius:4px}.message__text{font-family:var(--font-body);font-size:var(--text-message);line-height:var(--leading-relaxed);white-space:pre-wrap;overflow-wrap:anywhere}.message__image{border-radius:calc(var(--radius-lg) - 4px);max-width:100%;max-height:320px;display:block}.message__bubble--placeholder{background:var(--chitin);color:var(--chalk-muted)}.message__bubble--placeholder .message__text{font-style:italic}.message__undecryptable-marker{color:var(--dalmatian);margin-right:var(--space-1);vertical-align:middle;font-size:.5em}.message__timestamp{font-family:var(--font-body);font-size:var(--text-xs);color:var(--chalk-muted);margin:2px var(--space-2) 0}.composer{align-items:center;gap:var(--space-2);margin-top:var(--space-3);flex:none;display:flex}.composer__input{min-height:44px;padding:var(--space-2) var(--space-4);border-radius:var(--radius-full);border:1px solid var(--chitin);background:var(--bark);color:var(--chalk);font:inherit;font-family:var(--font-body);font-size:var(--text-message);box-sizing:border-box;flex:auto}.composer__input::placeholder{color:var(--chalk-muted)}.composer__attach,.composer__send{border-radius:var(--radius-full);width:44px;height:44px;font-size:var(--text-lg);cursor:pointer;box-sizing:border-box;flex:none;justify-content:center;align-items:center;display:flex}.composer__attach{border:1px solid var(--chitin);color:var(--chalk);background:0 0;position:relative}.composer__file-input{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.composer__attach:has(.composer__file-input:focus-visible){outline:2px solid var(--potion);outline-offset:2px}.composer__send{background:var(--potion);color:var(--chalk);border:none}.composer__send:disabled{opacity:.5;cursor:default}.composer__input:focus-visible,.composer__send:focus-visible{outline:2px solid var(--potion);outline-offset:2px}
