:root{color-scheme:dark;--bg: #0e1116;--panel: #161b22;--panel2: #1d242e;--border: #2a333f;--text: #e6edf3;--muted: #8b949e;--accent: #4fd1c5;--err: #ff7b72}*{box-sizing:border-box}html,body,#root{margin:0;height:100%}body{background:var(--bg);color:var(--text);font:15px/1.45 system-ui,-apple-system,Segoe UI,sans-serif}button{cursor:pointer;font:inherit;border:1px solid var(--border);background:var(--accent);color:#06201d;padding:8px 14px;border-radius:8px;font-weight:600}button:disabled{opacity:.5;cursor:default}button.ghost{background:transparent;color:var(--muted);border-color:var(--border)}button.ghost:hover{color:var(--text)}input{font:inherit;background:var(--panel2);border:1px solid var(--border);color:var(--text);padding:9px 12px;border-radius:8px;width:100%}input:focus{outline:2px solid var(--accent);outline-offset:0}a{color:var(--accent)}h1,h2{margin:0}.card{background:var(--panel);border:1px solid var(--border);border-radius:12px;padding:24px}.boot{height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;color:var(--muted)}.spinner{width:26px;height:26px;border:3px solid var(--border);border-top-color:var(--accent);border-radius:50%;animation:spin .9s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.auth{height:100%;display:grid;place-items:center;padding:16px}.auth .card{width:100%;max-width:380px;display:flex;flex-direction:column;gap:14px}.auth h1{letter-spacing:.5px}.auth .sub{margin:0;color:var(--muted);font-size:13px}.auth label{display:flex;flex-direction:column;gap:6px;font-size:13px;color:var(--muted)}.auth .switch{margin:0;font-size:13px;color:var(--muted);text-align:center}.shell{height:100%;display:flex;flex-direction:column}.shell header{display:flex;align-items:center;gap:14px;padding:10px 16px;border-bottom:1px solid var(--border);background:var(--panel)}.brand{font-weight:700;letter-spacing:1px}.me{color:var(--muted);font-size:13px;margin-left:auto}.navlink{font-size:13px;color:var(--muted);text-decoration:none}.navlink:hover{color:var(--text)}.shell main{flex:1;overflow:hidden;display:flex;flex-direction:column}.list{padding:16px;max-width:640px;width:100%;margin:0 auto;display:flex;flex-direction:column;gap:14px;overflow-y:auto}.listhead{display:flex;align-items:center;justify-content:space-between}.list .newchat{display:flex;flex-direction:column;gap:14px}.list label{display:flex;flex-direction:column;gap:6px;font-size:13px;color:var(--muted)}.convlist{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}.convrow{display:flex;justify-content:space-between;align-items:center;padding:14px 16px;background:var(--panel);border:1px solid var(--border);border-radius:10px;text-decoration:none;color:var(--text);transition:border-color .15s}.convrow:hover{border-color:var(--accent)}.convname{font-weight:600}.convmeta{color:var(--muted);font-size:13px}.empty{color:var(--muted);text-align:center;padding:40px 0}.userid{display:inline-block;margin-top:8px;padding:6px 10px;background:var(--panel2);border:1px dashed var(--border);border-radius:8px;user-select:all}.chat{flex:1;display:flex;flex-direction:column;max-width:720px;width:100%;margin:0 auto;padding:0 16px 16px;overflow:hidden}.chathead{display:flex;align-items:center;gap:14px;padding:12px 0;border-bottom:1px solid var(--border)}.chathead a{text-decoration:none;color:var(--muted)}.chathead a:hover{color:var(--text)}.safety{margin-left:auto;font-family:ui-monospace,SF Mono,monospace;font-size:11px;color:var(--muted);cursor:help;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:40%}.unlock{max-width:420px;margin:40px auto 0;display:flex;flex-direction:column;gap:14px}.unlock label{display:flex;flex-direction:column;gap:6px;font-size:13px;color:var(--muted)}.unlock .sub{margin:0;font-size:12px;color:var(--muted)}.msgs{flex:1;overflow-y:auto;display:flex;flex-direction:column;gap:8px;padding:16px 0}.msg{max-width:70%;padding:9px 13px;border-radius:14px;line-height:1.4;overflow-wrap:anywhere}.msg.me{align-self:flex-end;background:var(--accent);color:#06201d;border-bottom-right-radius:4px}.msg.them{align-self:flex-start;background:var(--panel);border:1px solid var(--border);border-bottom-left-radius:4px}.hint{color:var(--muted);text-align:center;font-size:13px;margin-top:40px}.error{color:var(--err);font-size:13px;margin:0}.notice{color:#f2cc60;font-size:13px;margin:0}.composer{display:flex;gap:10px}.composer input{flex:1}
