:root{color-scheme:light;--bg-0: #0f1c17;--bg-1: #173028;--bg-2: #1f3d33;--ink: #f3f7f4;--muted: #b7c9bf;--accent: #c6f34d;--danger: #ff8f7a;--line: rgba(243, 247, 244, .12);--panel: rgba(15, 28, 23, .55);--font-display: "Instrument Serif", Georgia, serif;--font-body: "DM Sans", sans-serif}*{box-sizing:border-box}html,body,#root{min-height:100%;height:100%}body{margin:0;font-family:var(--font-body);color:var(--ink);background:radial-gradient(1200px 600px at 10% -10%,rgba(198,243,77,.18),transparent 55%),radial-gradient(900px 500px at 100% 0%,rgba(64,140,110,.35),transparent 50%),linear-gradient(160deg,var(--bg-0),var(--bg-1) 45%,var(--bg-2))}.shell{width:min(920px,calc(100% - 2rem));margin:0 auto;padding:4.5rem 0 3rem}.login-shell{animation:rise .48s ease-out}@keyframes rise{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}.hero h1,.app-title{font-family:var(--font-display);font-weight:400;letter-spacing:-.02em}.hero h1{font-size:clamp(3rem,8vw,5.5rem);line-height:.95;margin:.2rem 0 1rem}.app-title{font-size:2rem;margin:.15rem 0 0}.eyebrow{text-transform:uppercase;letter-spacing:.16em;font-size:.75rem;color:var(--accent);margin:0}.lede{max-width:38rem;color:var(--muted);font-size:1.05rem;line-height:1.55}.login-form{margin-top:2rem;display:grid;gap:1rem;max-width:24rem;padding:1.25rem;border:1px solid var(--line);background:var(--panel);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.login-form label{display:grid;gap:.35rem;font-size:.85rem;color:var(--muted)}.login-form input{border:1px solid var(--line);background:#00000040;color:var(--ink);padding:.7rem .8rem;font:inherit}.login-form button,.ghost,.chat-item{font:inherit;cursor:pointer}.login-form button{border:0;background:var(--accent);color:#122018;font-weight:700;padding:.8rem 1rem}.error{color:var(--danger);margin:0}.app-frame{height:100%;min-height:100%;display:grid;grid-template-rows:auto auto 1fr;padding:1rem;gap:.75rem}.app-top{display:flex;justify-content:space-between;gap:1rem;align-items:end;flex-wrap:wrap}.top-meta{display:flex;gap:.6rem;align-items:center;flex-wrap:wrap}.conn{border:1px solid var(--line);padding:.35rem .65rem;font-size:.8rem;color:var(--muted)}.conn.ok{color:var(--accent);border-color:#c6f34d59}.user-chip{color:var(--muted);font-size:.85rem}.ghost{border:1px solid var(--line);background:transparent;color:var(--ink);padding:.4rem .7rem}.banner{margin:0;color:var(--muted)}.banner.error{color:var(--danger)}.chat-layout{min-height:0;display:grid;grid-template-columns:minmax(220px,320px) 1fr;border:1px solid var(--line);background:#0a120e66;overflow:hidden}.chat-list{border-right:1px solid var(--line);overflow:auto;display:flex;flex-direction:column}.chat-item{text-align:left;border:0;border-bottom:1px solid var(--line);background:transparent;color:var(--ink);padding:.9rem 1rem;display:grid;gap:.25rem}.chat-item span{color:var(--muted);font-size:.85rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.chat-item.active{background:#c6f34d14}.thread{min-width:0;display:grid;grid-template-rows:auto 1fr}.thread-head{padding:.9rem 1rem;border-bottom:1px solid var(--line)}.thread-head h2{margin:0;font-size:1.1rem}.thread-head p{margin:.2rem 0 0;color:var(--muted);font-size:.8rem}.thread-body{overflow:auto;padding:1rem;display:flex;flex-direction:column;gap:.65rem}.thread-empty,.empty{color:var(--muted);padding:1rem}.bubble{max-width:min(34rem,92%);padding:.7rem .85rem;border:1px solid var(--line);background:#ffffff0a;animation:rise .28s ease-out}.bubble.out{align-self:flex-end;background:#c6f34d1a}.bubble.in{align-self:flex-start}.bubble.view-once{border-style:dashed;border-color:#c6f34d73}.bubble.revoked{opacity:.85}.bubble-body{margin:0;white-space:pre-wrap;word-break:break-word;line-height:1.45}.bubble-meta{margin-top:.45rem;display:flex;gap:.4rem;align-items:center;color:var(--muted);font-size:.72rem}.tag{border:1px solid var(--line);padding:.1rem .35rem;text-transform:uppercase;letter-spacing:.06em}.tag.vo{color:var(--accent);border-color:#c6f34d66}.tag.revoked{color:var(--danger);border-color:#ff8f7a66}.connect-shell{padding-bottom:4rem}.connect-choices{margin-top:2rem;display:grid;gap:.85rem;max-width:28rem}.choice{text-align:left;border:1px solid var(--line);background:var(--panel);color:var(--ink);padding:1rem 1.1rem;display:grid;gap:.35rem;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.choice strong{font-size:1.05rem}.choice span{color:var(--muted);font-size:.9rem;line-height:1.4}.connect-panel{margin-top:1.5rem;max-width:28rem;padding:1.25rem;border:1px solid var(--line);background:var(--panel);display:grid;gap:.9rem}.connect-status{margin:0;font-weight:600;letter-spacing:.02em}.status-connected{color:var(--accent)}.status-failed,.status-expired,.status-cancelled{color:var(--danger)}.qr-box,.code-box{display:grid;gap:.75rem;justify-items:center}.qr-canvas{width:min(220px,70vw);height:auto;border:1px solid var(--line);background:#f3f7f4;border-radius:4px}.qr-fallback{width:min(220px,70vw);aspect-ratio:1;border:1px dashed rgba(198,243,77,.45);display:grid;place-content:center;padding:1rem;text-align:center;color:var(--muted);font-size:.85rem}@keyframes pulse{0%,to{opacity:.85}50%{opacity:1}}.pairing-code{margin:0;font-family:var(--font-display);font-size:clamp(2.4rem,10vw,3.4rem);letter-spacing:.12em;color:var(--accent)}.connect-help{margin:0;color:var(--muted);font-size:.92rem;line-height:1.45;text-align:center}.connect-fine{margin:0;color:var(--muted);font-size:.75rem;text-align:center}.steps{margin:0;padding-left:1.1rem;color:var(--muted);font-size:.88rem;line-height:1.5}.connect-success,.connect-retry{display:grid;gap:.75rem;justify-items:start}.connect-success button,.connect-retry button{border:0;background:var(--accent);color:#122018;font:inherit;font-weight:700;padding:.7rem 1rem;cursor:pointer}@media(max-width:800px){.chat-layout{grid-template-columns:1fr;grid-template-rows:40% 1fr}.chat-list{border-right:0;border-bottom:1px solid var(--line)}.app-frame{padding:.75rem}.shell{padding-top:2.5rem}.connect-choices,.connect-panel,.login-form{max-width:none}}
