:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#0b0d12;--panel:#121622;--border:#252a3a;--text:#e8eaf0;--muted:#8b93a7;--accent:#6ee7ff;--accent-dim:#3b82f6;--danger:#f87171;--radius:12px;font-family:ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,PingFang SC,Microsoft YaHei,sans-serif}*{box-sizing:border-box}body{background:radial-gradient(1200px 600px at 20% -10%, #1a2240 0%, transparent 60%), var(--bg);min-height:100vh;color:var(--text);margin:0}#root{min-height:100vh}a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline}.shell{flex-direction:column;min-height:100vh;display:flex}.app-header{border-bottom:1px solid var(--border);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);z-index:10;background:#0a0c12d9;justify-content:space-between;align-items:center;padding:.75rem 1.25rem;display:flex;position:sticky;top:0}.brand{letter-spacing:.04em;color:var(--text);font-weight:700}.linkish{color:var(--muted);cursor:pointer;background:0 0;border:none;font-size:.95rem}.linkish:hover{color:var(--accent)}.page{flex:1;width:100%;max-width:880px;margin:0 auto;padding:1.25rem}.page.narrow{flex-direction:column;justify-content:center;max-width:420px;display:flex}.center{text-align:center}.muted{color:var(--muted);line-height:1.5}.card{background:var(--panel);border:1px solid var(--border);border-radius:var(--radius);flex-direction:column;gap:.75rem;padding:1.5rem;display:flex}.card h1{margin:0 0 .25rem;font-size:1.35rem}.card label{color:var(--muted);flex-direction:column;gap:.35rem;font-size:.9rem;display:flex}.card input,.composer textarea{border:1px solid var(--border);color:var(--text);background:#0e111a;border-radius:8px;padding:.6rem .75rem;font-size:1rem}.card input:focus,.composer textarea:focus{border-color:var(--accent-dim);outline:2px solid #6ee7ff59}.error{color:var(--danger);margin:0;font-size:.9rem}button.primary{cursor:pointer;background:linear-gradient(135deg, var(--accent-dim), #22d3ee);color:#041016;border:none;border-radius:10px;padding:.65rem 1rem;font-weight:600}button.primary:disabled{opacity:.55;cursor:not-allowed}button.primary.big{padding:.85rem 1.25rem;font-size:1.05rem}button.ghost{border:1px solid var(--border);color:var(--muted);cursor:pointer;background:0 0;border-radius:10px;padding:.5rem .9rem}button.ghost:hover{border-color:var(--accent);color:var(--accent)}.link-button{text-align:center;border-radius:10px;display:inline-block;text-decoration:none!important}.hero-card{background:var(--panel);border:1px solid var(--border);border-radius:calc(var(--radius) + 4px);flex-direction:column;align-items:flex-start;gap:1rem;margin-top:2rem;padding:2rem 1.5rem;display:flex}.hero-card h1{margin:0;font-size:1.75rem}.waiting{flex-direction:column;align-items:flex-start;gap:.75rem;display:flex}.pulse{background:radial-gradient(circle, var(--accent) 0%, transparent 70%);opacity:.8;border-radius:50%;width:48px;height:48px;animation:1.4s ease-in-out infinite pulse}@keyframes pulse{0%{opacity:.5;transform:scale(.85)}50%{opacity:1;transform:scale(1.05)}to{opacity:.5;transform:scale(.85)}}.chat-layout .chat-page{flex-direction:column;gap:.75rem;max-width:720px;display:flex}.chat-top{justify-content:space-between;align-items:flex-start;gap:1rem;display:flex}.chat-top h2{margin:0 0 .25rem;font-size:1.2rem}.chat-window{border:1px solid var(--border);border-radius:var(--radius);background:#0a0c12;flex-direction:column;flex:1;gap:.5rem;min-height:320px;max-height:min(60vh,520px);padding:.75rem;display:flex;overflow-y:auto}.bubble{border:1px solid var(--border);background:#1a2030;border-radius:12px;align-self:flex-start;max-width:88%;padding:.55rem .75rem;animation:.2s ease-out in}.bubble.mine{background:#13283d;border-color:#2a4a6a;align-self:flex-end}@keyframes in{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}.bubble .meta{color:var(--muted);gap:.5rem;margin-bottom:.2rem;font-size:.75rem;display:flex}.bubble .nick{color:var(--accent);font-weight:600}.bubble .text{white-space:pre-wrap;word-break:break-word}.composer{align-items:flex-end;gap:.5rem;display:flex}.composer textarea{resize:vertical;flex:1;min-height:52px;max-height:160px}@media (width<=520px){.hero-card{padding:1.25rem}.chat-top{flex-direction:column}}
