@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-sans-latin-400-normal-CDDApCn2.woff2)format("woff2"),url(/assets/ibm-plex-sans-latin-400-normal-CYLoc0-x.woff)format("woff")}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-sans-latin-500-normal-6ng42L7E.woff2)format("woff2"),url(/assets/ibm-plex-sans-latin-500-normal-BgVn5rGT.woff)format("woff")}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/ibm-plex-sans-latin-600-normal-CuJfVYMP.woff2)format("woff2"),url(/assets/ibm-plex-sans-latin-600-normal-Cu4Hd6ag.woff)format("woff")}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/ibm-plex-sans-latin-700-normal-Bxkt5Cjx.woff2)format("woff2"),url(/assets/ibm-plex-sans-latin-700-normal-Bth3BMcD.woff)format("woff")}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-mono-latin-400-normal-DMJ8VG8y.woff2)format("woff2"),url(/assets/ibm-plex-mono-latin-400-normal-CvHOgSBP.woff)format("woff")}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-mono-latin-500-normal-DSY6xOcd.woff2)format("woff2"),url(/assets/ibm-plex-mono-latin-500-normal-CB9ihrfo.woff)format("woff")}:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;--font-mono:"IBM Plex Mono", ui-monospace, SFMono-Regular, Menlo, monospace;--bg:#f1f2f5;--surface:#fff;--surface-alt:#e7e9ee;--border:#dbdee3;--text:#14161c;--text-muted:#666b76;--accent:#8a6427;--accent-contrast:#fff;--accent-soft:#8a64271f;--bubble-mine:#2b3a55;--bubble-mine-text:#f5f6f8;--bubble-theirs:#ecedf1;--bubble-theirs-text:#14161c;--danger:#b3392b;--danger-soft:#b3392b1f;--shadow:0 1px 2px #14161c0f, 0 10px 28px #14161c12;font-family:IBM Plex Sans,-apple-system,BlinkMacSystemFont,Segoe UI,system-ui,sans-serif}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial}:root:not([data-theme=light]){--bg:#101216;--surface:#181b21;--surface-alt:#20242b;--border:#2b2f37;--text:#edeef1;--text-muted:#9aa0ac;--accent:#d9a857;--accent-contrast:#14161c;--accent-soft:#d9a85724;--bubble-mine:#2e3e58;--bubble-mine-text:#f1f2f5;--bubble-theirs:#262a32;--bubble-theirs-text:#edeef1;--danger:#e0685a;--danger-soft:#e0685a24;--shadow:0 1px 2px #00000059, 0 12px 32px #0006}}:root[data-theme=dark]{--bg:#101216;--surface:#181b21;--surface-alt:#20242b;--border:#2b2f37;--text:#edeef1;--text-muted:#9aa0ac;--accent:#d9a857;--accent-contrast:#14161c;--accent-soft:#d9a85724;--bubble-mine:#2e3e58;--bubble-mine-text:#f1f2f5;--bubble-theirs:#262a32;--bubble-theirs-text:#edeef1;--danger:#e0685a;--danger-soft:#e0685a24;--shadow:0 1px 2px #00000059, 0 12px 32px #0006}*{box-sizing:border-box}[hidden]{display:none!important}@media (prefers-reduced-motion:no-preference){.icon-button,.primary-button,.send-button,.search-action,.conversation-item,.link-button,input{transition:background-color .12s,color .12s,border-color .12s,filter .12s}}body{background:var(--bg);min-height:100vh;color:var(--text);margin:0}#app{flex-direction:column;height:100vh;display:flex}input{font:inherit;color:inherit;border:1px solid var(--border);background:var(--surface);border-radius:8px;padding:.6rem .75rem}input:focus-visible{outline:2px solid var(--accent);outline-offset:1px}button{font:inherit;cursor:pointer}button:focus-visible{outline:2px solid var(--accent);outline-offset:2px}button:disabled{opacity:.5;cursor:default}svg{width:18px;height:18px}.wordmark{color:var(--text);align-items:center;gap:.5rem;display:inline-flex}.wordmark-mark{width:26px;height:13px;color:var(--accent);flex-shrink:0}.wordmark-text{letter-spacing:-.01em;font-size:1.1rem;font-weight:600}.login-wrap{background:var(--bg);flex:1;justify-content:center;align-items:center;padding:1.5rem;display:flex}.login-card{background:var(--surface);border:1px solid var(--border);width:100%;max-width:380px;box-shadow:var(--shadow);border-radius:16px;flex-direction:column;gap:1rem;padding:2.25rem 2rem;display:flex}.login-card .wordmark{margin-bottom:.25rem}.login-card .wordmark-mark{width:34px;height:17px}.login-card .wordmark-text{font-size:1.4rem}.login-card .tagline{color:var(--text-muted);max-width:30ch;margin:-.6rem 0 .4rem;font-size:.92rem;line-height:1.4}.login-card label{color:var(--text-muted);flex-direction:column;gap:.35rem;font-size:.85rem;display:flex}.primary-button{background:var(--accent);color:var(--accent-contrast);border:none;border-radius:8px;padding:.7rem 1rem;font-weight:600}.primary-button:hover:not(:disabled){filter:brightness(1.1)}.link-button{color:var(--accent);text-align:left;background:0 0;border:none;padding:.2rem 0;font-size:.9rem;font-weight:500}.link-button:hover:not(:disabled){text-decoration:underline}.status{min-height:1.2em;color:var(--text-muted);margin:0;font-size:.85rem}.status.error{color:var(--danger)}.app-shell{flex:1;grid-template-columns:320px 1fr;min-height:0;display:grid}.icon-button{width:34px;height:34px;color:var(--text-muted);background:0 0;border:none;border-radius:50%;justify-content:center;align-items:center;display:inline-flex}.icon-button:hover:not(:disabled){background:var(--surface-alt);color:var(--text)}.avatar{color:#fff;border-radius:11px;flex-shrink:0;justify-content:center;align-items:center;width:40px;height:40px;font-size:.95rem;font-weight:600;display:flex}.sidebar{border-right:1px solid var(--border);background:var(--surface);flex-direction:column;min-height:0;display:flex}.sidebar-header{justify-content:space-between;align-items:center;padding:1.1rem 1.1rem .6rem;display:flex}.you{color:var(--text-muted);align-items:center;gap:.6rem;padding:0 1.1rem .85rem;font-size:.85rem;display:flex}.you .avatar{border-radius:8px;width:28px;height:28px;font-size:.75rem}.search-form{align-items:center;margin:0 1.1rem .85rem;display:flex;position:relative}.search-icon{color:var(--text-muted);pointer-events:none;display:flex;position:absolute;left:.7rem}.search-icon svg{width:15px;height:15px}.search-form input{background:var(--surface-alt);border-color:#0000;width:100%;padding-left:2.15rem}.conversation-list{flex:1;margin:0;padding:0 .6rem;list-style:none;overflow-y:auto}.empty-contacts{color:var(--text-muted);padding:0 1.6rem;font-size:.85rem;line-height:1.5}.list-label{color:var(--text-muted);padding:.85rem .75rem .4rem;font-size:.78rem;font-weight:600}.conversation-item{border-radius:10px;align-items:center;display:flex}.conversation-item:hover{background:var(--surface-alt)}.conversation-item.active{background:var(--accent-soft)}.conversation-main{min-width:0;color:inherit;text-align:left;background:0 0;border:none;border-radius:10px;flex:1;align-items:center;gap:.7rem;padding:.55rem .6rem;display:flex}.star-toggle{width:30px;height:30px;color:var(--text-muted);opacity:0;background:0 0;border:none;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;margin-right:.3rem;display:flex}.conversation-item:hover .star-toggle,.star-toggle.is-friend{opacity:1}.star-toggle:hover{background:var(--surface-alt)}.star-toggle.is-friend{color:var(--accent)}.star-toggle svg{width:16px;height:16px}.request-list{margin:0 0 .5rem;padding:0 .6rem;list-style:none}.request-item{background:var(--surface-alt);border-radius:10px;align-items:center;gap:.65rem;margin-bottom:.35rem;padding:.5rem .6rem;display:flex}.request-name{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;font-size:.88rem;font-weight:600;overflow:hidden}.request-item .icon-button{width:28px;height:28px}.request-item .icon-button.accept{color:#2f7a52}.request-item .icon-button.accept:hover{background:#2f7a5224}.request-item .icon-button.decline{color:var(--danger)}.request-item .icon-button.decline:hover{background:var(--danger-soft)}.request-pending-label{color:var(--text-muted);font-size:.75rem}.sent-request-list .request-item{border:1px dashed var(--border);background:0 0}.search-result{background:var(--surface-alt);border-radius:10px;margin:-.25rem 1.1rem .85rem;padding:.7rem .8rem;font-size:.85rem}.search-result p{color:var(--text-muted);margin:0 0 .5rem}.search-result p:last-child{margin-bottom:0}.search-action{font:inherit;background:var(--accent);color:var(--accent-contrast);cursor:pointer;border:none;border-radius:8px;padding:.42rem .85rem;font-size:.82rem;font-weight:600}.search-action:hover{filter:brightness(1.1)}.search-action.danger{border:1px solid var(--border);color:var(--danger);background:0 0}.conversation-text{flex-direction:column;flex:1;gap:.1rem;min-width:0;display:flex}.conversation-name{font-size:.9rem;font-weight:600}.conversation-preview{color:var(--text-muted);white-space:nowrap;text-overflow:ellipsis;font-size:.8rem;overflow:hidden}.unread-dot{background:var(--accent);border-radius:50%;flex-shrink:0;width:8px;height:8px}.chat-pane{background:var(--bg);flex-direction:column;min-height:0;display:flex;position:relative}.empty-state{flex:1;justify-content:center;align-items:center;display:flex}.empty-state-inner{color:var(--text-muted);text-align:center;flex-direction:column;align-items:center;gap:.85rem;max-width:280px;display:flex}.empty-state-inner svg{width:34px;height:34px;color:var(--accent);opacity:.85}.empty-state-inner p{margin:0;font-size:.9rem;line-height:1.5}.active-chat{flex-direction:column;flex:1;min-height:0;display:flex}.chat-header{border-bottom:1px solid var(--border);background:var(--surface);justify-content:space-between;align-items:center;padding:.8rem 1.4rem;display:flex}.chat-header-info{align-items:center;gap:.75rem;display:flex}.chat-header-info .avatar{border-radius:9px;width:34px;height:34px;font-size:.8rem}.chat-title{font-weight:600}.safety-popover{z-index:10;background:var(--surface);border:1px solid var(--border);width:290px;box-shadow:var(--shadow);border-radius:12px;padding:1rem;font-size:.85rem;position:absolute;top:64px;right:1.4rem}.safety-popover p{margin:0 0 .55rem}.safety-label{color:var(--text-muted)}.safety-popover code{background:var(--surface-alt);border:1px solid var(--border);word-break:break-word;line-height:1.5;font-family:var(--font-mono);border-radius:7px;padding:.6rem .65rem;font-size:.82rem;display:block}.message-list{background:var(--bg);flex-direction:column;flex:1;gap:.5rem;padding:1.1rem 1.4rem;display:flex;overflow-y:auto}.message{word-break:break-word;border-radius:14px;align-items:flex-end;gap:.4rem;max-width:65%;padding:.55rem .8rem;font-size:.92rem;line-height:1.4;display:flex}.message.mine{background:var(--bubble-mine);color:var(--bubble-mine-text);border-bottom-right-radius:4px;align-self:flex-end}.message.theirs{background:var(--bubble-theirs);color:var(--bubble-theirs-text);border:1px solid var(--border);border-bottom-left-radius:4px;align-self:flex-start}.message.system{color:var(--text-muted);background:0 0;align-self:center;font-size:.8rem;font-style:italic}.message-time{opacity:.75;flex-shrink:0;font-size:.7rem}.compose-form{border-top:1px solid var(--border);background:var(--surface);align-items:center;gap:.6rem;padding:.95rem 1.4rem;display:flex}.compose-form input{background:var(--surface-alt);border-color:#0000;border-radius:20px;flex:1;padding:.65rem 1.05rem}.send-button{background:var(--accent);width:38px;height:38px;color:var(--accent-contrast);border:none;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;display:flex}.send-button:hover:not(:disabled){filter:brightness(1.1)}.send-button svg{width:16px;height:16px;transform:translate(-1px,1px)}.status-line{color:var(--text-muted);border-top:1px solid var(--border);background:var(--surface);min-height:1.2em;margin:0;padding:.4rem 1.4rem;font-size:.8rem}.status-line:empty{border-top:none;padding:0}
