:root{--yellow:#f4c542;--gold:#d9a514;--bg:#fffdf7;--surface:#fff;--surface2:#fff7da;--surface3:#f7f4ea;--text:#171717;--muted:#6f6a5d;--border:#e9dfbd;--danger:#d44949;--ok:#49b977;--shadow:0 18px 50px rgba(36,28,0,.08);color-scheme:light}
html[data-theme="dark"]{--bg:#0f0f10;--surface:#171719;--surface2:#1f1f22;--surface3:#252529;--text:#f6f3ea;--muted:#b9b3a1;--border:#353538;--danger:#ff6b6b;--ok:#61cf8d;--shadow:0 20px 60px rgba(0,0,0,.32);color-scheme:dark}
*{box-sizing:border-box}html,body{height:100%;margin:0}body{background:var(--bg);color:var(--text);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;overflow:hidden}.app-shell{height:100%;display:grid;grid-template-columns:300px 1fr}.sidebar{background:var(--surface);border-right:1px solid var(--border);display:flex;flex-direction:column;min-width:0}.sidebar-top,.sidebar-bottom{height:66px;display:flex;align-items:center;gap:10px;padding:0 14px}.sidebar-top{border-bottom:1px solid var(--border)}.sidebar-bottom{border-top:1px solid var(--border)}.brand{display:flex;align-items:center;gap:10px;color:var(--text);text-decoration:none;font-weight:900;font-size:1.2rem;letter-spacing:-.03em}.brand img{border-radius:11px}.square-button,.icon-button{border:1px solid var(--border);background:var(--surface2);color:var(--text);border-radius:11px;cursor:pointer}.square-button{width:38px;height:38px;margin-left:auto;font-size:1.25rem}.icon-button{width:38px;height:38px}.sidebar-actions{display:grid;grid-template-columns:1fr 1fr;padding:12px 12px 4px;gap:8px}.tab-button{border:0;background:transparent;color:var(--muted);padding:10px;border-radius:10px;font-weight:800;cursor:pointer}.tab-button.active{background:var(--surface2);color:var(--text)}.search-wrap{padding:8px 12px}.search-wrap input,.field input{width:100%;border:1px solid var(--border);background:var(--bg);color:var(--text);border-radius:12px;padding:11px 12px;outline:none}.search-wrap input:focus,.field input:focus,textarea:focus{border-color:var(--yellow);box-shadow:0 0 0 3px color-mix(in srgb,var(--yellow) 24%,transparent)}.sidebar-content{overflow:auto;padding:6px 10px;flex:1}.list-empty{padding:18px 12px;color:var(--muted);font-size:.92rem}.list-item{width:100%;display:flex;align-items:center;gap:11px;padding:10px;border:0;background:transparent;color:var(--text);border-radius:13px;text-align:left;cursor:pointer}.list-item:hover,.list-item.active{background:var(--surface2)}.avatar{width:38px;height:38px;flex:none;display:grid;place-items:center;border-radius:50%;background:var(--yellow);color:#171717;font-weight:900}.avatar.small{width:32px;height:32px}.item-copy,.self-copy{min-width:0;display:grid}.item-copy strong,.self-copy strong{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.item-copy span,.self-copy span{font-size:.78rem;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.item-badge{margin-left:auto;min-width:20px;height:20px;padding:0 6px;border-radius:10px;background:var(--yellow);color:#171717;font-weight:900;font-size:.72rem;display:grid;place-items:center}.sidebar-bottom .icon-button{margin-left:auto}.main-panel{display:grid;grid-template-rows:66px minmax(0,1fr) auto;min-width:0;background:var(--bg)}.chat-header{display:flex;align-items:center;justify-content:space-between;padding:0 22px;border-bottom:1px solid var(--border);background:var(--surface)}.chat-header>div:first-child{display:grid}.chat-header span{font-size:.8rem;color:var(--muted)}.header-tools{display:flex;align-items:center;gap:10px}.connection-state{display:inline-flex!important;align-items:center;gap:7px}.connection-state:before{content:"";width:8px;height:8px;border-radius:50%;background:var(--muted)}.connection-state.online:before{background:var(--ok)}.content-panel{min-height:0;overflow:auto;position:relative}.empty-state{min-height:100%;display:grid;place-items:center;align-content:center;text-align:center;padding:30px;max-width:700px;margin:auto}.empty-state img{border-radius:20px;margin-bottom:18px}.eyebrow{text-transform:uppercase;font-size:.72rem;letter-spacing:.16em;color:var(--gold);font-weight:900}.empty-state h1{font-size:clamp(2rem,4vw,4rem);line-height:1.02;letter-spacing:-.05em;margin:10px 0 12px}.empty-state p{color:var(--muted)}.empty-actions{display:flex;gap:10px;margin-top:12px}.primary-button,.ghost-button,.send-button,.text-button{font:inherit;cursor:pointer}.primary-button,.ghost-button{min-height:42px;padding:0 16px;border-radius:12px;font-weight:850}.primary-button{border:1px solid #e0b020;background:var(--yellow);color:#171717}.ghost-button{border:1px solid var(--border);background:var(--surface);color:var(--text)}.full{width:100%}.text-button{border:0;background:transparent;color:var(--muted);padding:7px}.messages{max-width:900px;margin:0 auto;padding:28px 30px 50px;display:flex;flex-direction:column;gap:4px}.message-row{display:flex;gap:11px;padding:9px 10px;border-radius:12px}.message-row:hover{background:color-mix(in srgb,var(--surface2) 55%,transparent)}.message-row.own .avatar{background:var(--surface3);color:var(--text)}.message-body{min-width:0;flex:1}.message-meta{display:flex;gap:8px;align-items:baseline}.message-meta strong{font-size:.93rem}.message-meta time{font-size:.72rem;color:var(--muted)}.message-content{white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.48}.composer{max-width:900px;width:calc(100% - 40px);margin:0 auto 18px;border:1px solid var(--border);background:var(--surface);border-radius:18px;padding:8px 8px 8px 14px;display:flex;align-items:flex-end;gap:8px;box-shadow:var(--shadow)}.composer textarea{flex:1;resize:none;border:0;background:transparent;color:var(--text);outline:none;max-height:160px;line-height:1.45;padding:8px 0}.send-button{width:42px;height:42px;border-radius:13px;border:0;background:var(--yellow);color:#171717;font-size:1.15rem}.hidden{display:none!important}.dialog{border:0;background:transparent;padding:0;max-width:none}.dialog::backdrop{background:rgba(0,0,0,.58);backdrop-filter:blur(5px)}.dialog-card{position:relative;width:min(92vw,430px);max-height:80vh;overflow:auto;padding:28px;border:1px solid var(--border);border-radius:22px;background:var(--surface);color:var(--text);box-shadow:var(--shadow)}.dialog-card>img{border-radius:16px;margin-bottom:16px}.dialog-card h2{font-size:1.8rem;letter-spacing:-.04em;margin:7px 0}.dialog-card>p{color:var(--muted);margin:0 0 20px}.dialog-close{position:absolute;right:15px;top:13px;width:34px;height:34px;border:0;border-radius:10px;background:transparent;color:var(--muted);font-size:1.5rem;cursor:pointer}.field{display:grid;gap:6px;margin:12px 0}.field span{font-size:.78rem;font-weight:800;color:var(--muted)}.form-error{min-height:20px;color:var(--danger);font-size:.82rem;margin:4px 0 8px}.result-list{display:grid;gap:8px;margin-top:12px}.result-card{display:flex;align-items:center;gap:10px;padding:10px;border:1px solid var(--border);border-radius:14px}.result-card .ghost-button{margin-left:auto}.settings-row{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:16px 0;border-top:1px solid var(--border)}.settings-row>div{display:grid;gap:4px}.settings-row span{color:var(--muted);font-size:.82rem}.settings-row.danger strong{color:var(--danger)}.toast-region{position:fixed;right:18px;bottom:18px;display:grid;gap:8px;z-index:99}.toast{background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:12px 14px;box-shadow:var(--shadow);max-width:340px}.friend-section-title{display:flex;justify-content:space-between;align-items:center;padding:10px 10px 6px;color:var(--muted);font-size:.74rem;text-transform:uppercase;letter-spacing:.12em;font-weight:900}.request-card{display:flex;gap:8px;align-items:center;padding:9px 10px;border-radius:12px}.request-actions{margin-left:auto;display:flex;gap:5px}.mini-action{border:1px solid var(--border);background:var(--surface2);color:var(--text);border-radius:8px;padding:5px 8px;cursor:pointer}
@media(max-width:760px){.app-shell{grid-template-columns:82px 1fr}.brand span,.sidebar-actions,.search-wrap,.self-copy,.item-copy,.item-badge{display:none}.sidebar-top{justify-content:center}.sidebar-top .square-button{margin-left:0}.sidebar-content{padding:8px}.list-item{justify-content:center;padding:8px}.sidebar-bottom{justify-content:center}.sidebar-bottom .icon-button{display:none}.chat-header{padding-inline:14px}.chat-header #chat-subtitle{display:none}.messages{padding-inline:14px}.composer{width:calc(100% - 20px);margin-bottom:10px}.empty-actions{flex-direction:column;width:min(100%,280px)}}
