:root{--bg-void:#0a060b;--bg-deep:#110a12;--bg-base:#1a101c;--bg-elevated:#241627;--bg-surface:#2c1a30;--bg-surface-2:#382238;--cream:#f2e8d9;--cream-soft:#e0d2bf;--cream-mute:#b8a99b;--cream-dim:#8a7b70;--cream-faint:#5c504c;--coral:#e85d4e;--coral-bright:#ff7565;--coral-glow:#ff6b5b73;--gold:#d4b069;--gold-deep:#b8954e;--sage:#9cb89a;--rose:#d4847a;--danger:#e8704d;--line:#f2e8d914;--line-soft:#f2e8d90a;--line-warm:#d4b06933;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;font-family:Geist,sans-serif}*{box-sizing:border-box;margin:0;padding:0}html,body,#root{background:var(--bg-void);height:100vh;color:var(--cream);-webkit-font-smoothing:antialiased;font-family:Geist,sans-serif;overflow:hidden}button{font:inherit;color:inherit;cursor:pointer;background:0 0;border:none}input{font:inherit;color:inherit;background:0 0;border:none;outline:none}.workspace{isolation:isolate;grid-template-columns:76px 1fr 320px;width:100vw;height:100vh;display:grid;position:relative}.workspace:before{content:"";pointer-events:none;z-index:0;background:radial-gradient(60% 40% at 30% 0,#e85d4e0f 0%,#0000 60%),radial-gradient(50% 40% at 100% 100%,#d4b0690d 0%,#0000 60%);position:absolute;inset:0}.grain{pointer-events:none;opacity:.45;mix-blend-mode:overlay;z-index:1;position:absolute;inset:0}.rail{background:var(--bg-deep);border-right:1px solid var(--line);z-index:2;flex-direction:column;align-items:center;padding:22px 0 18px;display:flex;position:relative}.logo{background:linear-gradient(135deg, var(--coral-bright), var(--gold));width:38px;height:38px;color:var(--cream);cursor:pointer;border:none;border-radius:10px;place-items:center;margin-bottom:28px;font-family:Fraunces,serif;font-size:22px;font-style:italic;font-weight:400;transition:transform .2s;display:grid;box-shadow:0 4px 14px #e85d4e4d,inset 0 1px 1px #fff3}.logo:hover{transform:rotate(-6deg)scale(1.06)}.rail-nav{flex-direction:column;flex:1;align-items:center;gap:4px;width:100%;display:flex}.rail-btn{width:44px;height:44px;color:var(--cream-mute);background:0 0;border-radius:12px;place-items:center;transition:all .18s;display:grid;position:relative}.rail-btn:hover:not(:disabled){color:var(--cream);background:#f2e8d90d}.rail-btn:disabled{opacity:.45;cursor:not-allowed}.rail-btn.active{color:var(--coral-bright);background:#e85d4e1f}.rail-btn.active:before{content:"";background:var(--coral-bright);border-radius:0 3px 3px 0;width:3px;height:22px;position:absolute;top:50%;left:-16px;transform:translateY(-50%)}.rail-btn .badge{background:var(--coral);color:var(--cream);border:1.5px solid var(--bg-deep);border-radius:6px;padding:1px 4px;font-family:IBM Plex Mono,monospace;font-size:8.5px;font-weight:500;line-height:1.3;position:absolute;top:4px;right:4px}.rail-divider{background:var(--line);width:24px;height:1px;margin:12px 0}.rail-bottom{flex-direction:column;align-items:center;gap:10px;display:flex}.rail-profile{border:1.5px solid var(--line);width:38px;height:38px;color:var(--cream);cursor:pointer;background:radial-gradient(circle at 30% 30%,#b8954e,#6b4a40);border-radius:50%;place-items:center;margin-top:6px;font-family:Fraunces,serif;font-size:16px;font-style:italic;display:grid;position:relative}.rail-profile:after{content:"";background:var(--sage);border:2px solid var(--bg-deep);border-radius:50%;width:11px;height:11px;position:absolute;bottom:-1px;right:-1px}.rail-profile.offline:after{background:var(--cream-faint)}.rail-btn[data-tip]:hover:after,.rail-profile[data-tip]:hover:after,.logo[data-tip]:hover:after{content:attr(data-tip);background:var(--bg-surface);color:var(--cream);white-space:nowrap;border:1px solid var(--line);z-index:50;pointer-events:none;border-radius:6px;padding:5px 10px;font-family:Geist,sans-serif;font-size:11.5px;position:absolute;top:50%;left:calc(100% + 14px);transform:translateY(-50%)}.chat-area{background:var(--bg-base);z-index:2;flex-direction:column;display:flex;position:relative;overflow:hidden}.header{border-bottom:1px solid var(--line);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);background:linear-gradient(#241627d9 0%,#1a101cd9 100%);flex-shrink:0;grid-template-columns:1fr auto;align-items:center;gap:14px;padding:18px 32px 16px;display:grid}.header-info{align-items:center;gap:14px;min-width:0;display:flex}.avatar-stack{flex-shrink:0;width:48px;height:48px;position:relative}.avatar{width:48px;height:48px;color:var(--cream);background:radial-gradient(circle at 30% 30%,#ff8b7a 0%,#e85d4e 50%,#b8954e 100%);border:1.5px solid #f2e8d926;border-radius:50%;place-items:center;font-family:Fraunces,serif;font-size:23px;font-style:italic;display:grid;box-shadow:0 4px 14px #e85d4e40,inset 0 1px 1px #fff3}.avatar.small{width:38px;height:38px;font-size:17px;box-shadow:0 3px 10px #e85d4e33}.pulse-dot{background:var(--sage);border:2.5px solid var(--bg-base);border-radius:50%;width:13px;height:13px;animation:2.4s ease-out infinite pulse;position:absolute;bottom:0;right:0}.pulse-dot.dim{background:var(--cream-faint);animation:none}@keyframes pulse{0%{box-shadow:0 0 #9cb89a8c}70%{box-shadow:0 0 0 10px #9cb89a00}to{box-shadow:0 0 #9cb89a00}}.header-name{color:var(--cream);letter-spacing:-.01em;font-family:Fraunces,serif;font-size:24px;font-weight:400;line-height:1.1}.header-name em{color:var(--cream-soft);font-style:italic;font-weight:300}.header-status{color:var(--cream-mute);letter-spacing:.04em;align-items:center;gap:6px;margin-top:4px;font-family:IBM Plex Mono,monospace;font-size:12px;display:flex}.header-status .star{color:var(--gold);font-size:10px}.header-actions{gap:4px;display:flex}.icon-btn{width:38px;height:38px;color:var(--cream-soft);background:0 0;border-radius:10px;place-items:center;transition:all .18s;display:grid}.icon-btn:hover:not(:disabled){color:var(--cream);background:#f2e8d90f}.icon-btn:disabled{opacity:.4;cursor:not-allowed}.search-pill{background:var(--bg-elevated);border:1px solid var(--line);height:34px;color:var(--cream-mute);cursor:not-allowed;opacity:.6;border-radius:8px;align-items:center;gap:8px;padding:0 12px;font-size:12px;display:flex}.search-pill kbd{background:var(--bg-surface);border:1px solid var(--line);color:var(--cream-mute);border-radius:4px;margin-left:4px;padding:1px 5px;font-family:IBM Plex Mono,monospace;font-size:10px}.conn-strip{border-bottom:1px solid var(--line-warm);color:var(--cream-soft);letter-spacing:.04em;background:linear-gradient(90deg,#d4b0691a 0%,#d4b06905 100%);flex-shrink:0;align-items:center;gap:10px;padding:10px 32px;font-family:IBM Plex Mono,monospace;font-size:11.5px;display:flex}.conn-strip .label{color:var(--gold);text-transform:uppercase;letter-spacing:.14em;font-size:10.5px;font-weight:500}.conn-strip.disconnected{background:linear-gradient(90deg,#e85d4e1a,#0000);border-bottom-color:#e85d4e40}.conn-strip.disconnected .label{color:var(--coral-bright)}.chat{flex-direction:column;flex:1;align-items:stretch;gap:14px;padding:28px 32px 20px;display:flex;overflow-y:auto}.chat::-webkit-scrollbar{width:8px}.chat::-webkit-scrollbar-track{background:0 0}.chat::-webkit-scrollbar-thumb{background:#f2e8d90f;border-radius:4px}.chat::-webkit-scrollbar-thumb:hover{background:#f2e8d91f}.chat-inner{flex-direction:column;gap:14px;width:100%;max-width:720px;margin:0 auto;display:flex}.day-divider{text-align:center;margin:6px 0 8px;position:relative}.day-divider:before,.day-divider:after{content:"";background:linear-gradient(90deg,#0000,#f2e8d92e,#0000);width:32%;height:1px;position:absolute;top:50%}.day-divider:before{left:0}.day-divider:after{right:0}.day-divider span{color:var(--cream-mute);background:var(--bg-base);padding:0 16px;font-family:Fraunces,serif;font-size:14.5px;font-style:italic;font-weight:300}.day-divider .ornament{color:var(--gold);margin:0 6px;font-style:normal}.msg{flex-direction:column;max-width:65%;display:flex;position:relative}.msg-them{align-self:flex-start}.msg-me{align-self:flex-end;align-items:flex-end}.msg-time{color:var(--cream-dim);letter-spacing:.04em;margin-top:5px;padding:0 4px;font-family:IBM Plex Mono,monospace;font-size:10px}.bubble{word-wrap:break-word;white-space:pre-wrap;border-radius:22px;padding:12px 17px;font-size:15px;line-height:1.45;position:relative}.msg-them .bubble{background:var(--bg-elevated);color:var(--cream);border:1px solid var(--line);border-bottom-left-radius:6px}.msg-me .bubble{background:linear-gradient(135deg, var(--coral-bright) 0%, var(--coral) 100%);color:#fff6f0;box-shadow:0 6px 18px -4px var(--coral-glow);border-bottom-right-radius:6px}.chat-empty{color:var(--cream-mute);text-align:center;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:12px;padding:40px;display:flex}.chat-empty .glyph{background:linear-gradient(135deg, var(--coral-bright), var(--gold));-webkit-text-fill-color:transparent;opacity:.7;-webkit-background-clip:text;background-clip:text;font-family:Fraunces,serif;font-size:60px;font-style:italic}.chat-empty .title{color:var(--cream-soft);font-family:Fraunces,serif;font-size:20px;font-style:italic;font-weight:300}.chat-empty .subtitle{color:var(--cream-mute);max-width:320px;font-size:13px;line-height:1.5}.input-bar{border-top:1px solid var(--line);background:linear-gradient(180deg, #24162799 0%, var(--bg-base) 100%);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);flex-shrink:0;padding:16px 32px 22px}.input-inner{align-items:center;gap:10px;width:100%;max-width:720px;margin:0 auto;display:flex}.add-btn{background:var(--bg-surface);width:44px;height:44px;color:var(--cream);border:1px solid var(--line);opacity:.55;cursor:not-allowed;border-radius:12px;flex-shrink:0;place-items:center;transition:transform .25s,background .2s;display:grid}.input-pill{background:var(--bg-elevated);border:1px solid var(--line);border-radius:12px;flex:1;align-items:center;gap:6px;height:48px;padding:0 8px 0 18px;transition:border-color .2s;display:flex}.input-pill:focus-within{border-color:#d4b06966}.input-pill input{flex:1;font-size:15px}.input-pill input::placeholder{color:var(--cream-dim);font-family:Fraunces,serif;font-style:italic;font-weight:300}.input-pill input:disabled{opacity:.6;cursor:not-allowed}.input-actions{gap:2px;display:flex}.icon-mini{width:32px;height:32px;color:var(--cream-mute);border-radius:8px;place-items:center;display:grid}.icon-mini:disabled{opacity:.45;cursor:not-allowed}.mic-btn{background:linear-gradient(135deg, var(--coral-bright), var(--coral));width:48px;height:48px;color:var(--cream);box-shadow:0 4px 16px -2px var(--coral-glow);opacity:.7;cursor:not-allowed;border-radius:12px;flex-shrink:0;place-items:center;display:grid;position:relative}.send-btn{background:linear-gradient(135deg, var(--coral-bright), var(--coral));width:48px;height:48px;color:var(--cream);box-shadow:0 4px 16px -2px var(--coral-glow);border-radius:12px;flex-shrink:0;place-items:center;transition:transform .15s,opacity .2s;display:grid}.send-btn:hover:not(:disabled){transform:scale(1.04)}.send-btn:disabled{opacity:.35;cursor:not-allowed;box-shadow:none;background:var(--bg-surface);color:var(--cream-dim)}.context-panel{background:var(--bg-base);border-left:1px solid var(--line);z-index:2;flex-direction:column;display:flex;position:relative;overflow-y:auto}.context-panel::-webkit-scrollbar{width:6px}.context-panel::-webkit-scrollbar-thumb{background:#f2e8d90f;border-radius:3px}.ctx-section{padding:22px 22px 8px}.ctx-section+.ctx-section{padding-top:6px}.ctx-label{text-transform:uppercase;letter-spacing:.18em;color:var(--cream-dim);align-items:center;gap:8px;margin-bottom:12px;font-family:IBM Plex Mono,monospace;font-size:9.5px;display:flex}.ctx-label:after{content:"";background:var(--line);flex:1;height:1px}.ctx-title{color:var(--cream);margin-bottom:4px;font-family:Fraunces,serif;font-size:22px;font-weight:400;line-height:1.15}.ctx-title em{font-style:italic;font-weight:300}.ctx-sub{color:var(--cream-mute);letter-spacing:.04em;align-items:center;gap:6px;margin-bottom:16px;font-family:IBM Plex Mono,monospace;font-size:11.5px;display:flex}.live-dot{background:var(--coral);border-radius:50%;width:6px;height:6px;animation:1.8s ease-in-out infinite live-blink}.live-dot.dim{background:var(--cream-faint);animation:none}@keyframes live-blink{0%,to{opacity:1}50%{opacity:.35}}.id-card{background:var(--bg-elevated);border:1px solid var(--line);border-radius:16px;align-items:center;gap:12px;margin-bottom:10px;padding:14px;display:flex}.id-card .avatar{width:44px;height:44px;font-size:19px}.id-card .id-info{flex:1;min-width:0}.id-card .id-name{color:var(--cream);text-overflow:ellipsis;white-space:nowrap;margin-bottom:2px;font-family:Fraunces,serif;font-size:14.5px;overflow:hidden}.id-card .id-meta{color:var(--cream-mute);letter-spacing:.04em;font-family:IBM Plex Mono,monospace;font-size:10px}.peer-list{flex-direction:column;gap:6px;display:flex}.peer-list-empty{background:var(--bg-elevated);border:1px dashed var(--line);color:var(--cream-mute);text-align:center;border-radius:12px;padding:18px 14px;font-family:Fraunces,serif;font-size:13px;font-style:italic;line-height:1.5}.peer-card{background:var(--bg-elevated);border:1px solid var(--line);text-align:left;border-radius:14px;align-items:center;gap:11px;width:100%;padding:10px 12px;transition:all .18s;display:flex;position:relative;overflow:hidden}.peer-card:hover{border-color:#f2e8d92e;transform:translateY(-1px)}.peer-card.active{background:linear-gradient(135deg, #e85d4e1a, var(--bg-elevated));border-color:#e85d4e99}.peer-card.active:before{content:"";background:var(--coral-bright);border-radius:0 3px 3px 0;width:3px;height:24px;position:absolute;top:50%;left:0;transform:translateY(-50%)}.peer-card .peer-info{flex:1;min-width:0}.peer-card .peer-name{color:var(--cream);text-overflow:ellipsis;white-space:nowrap;font-family:Fraunces,serif;font-size:14px;line-height:1.2;overflow:hidden}.peer-card .peer-name em{font-style:italic;font-weight:300}.peer-card .peer-id{color:var(--cream-dim);letter-spacing:.02em;margin-top:2px;font-family:IBM Plex Mono,monospace;font-size:10px}.own-id-block{background:var(--bg-deep);border:1px dashed var(--line-warm);cursor:pointer;text-align:left;border-radius:10px;align-items:center;gap:10px;width:100%;padding:9px 12px;transition:border-color .18s,background .18s;display:flex}.own-id-block:hover{background:var(--bg-elevated);border-color:#d4b0698c}.own-id-block code{color:var(--gold);letter-spacing:.04em;flex:1;font-family:IBM Plex Mono,monospace;font-size:12.5px}.own-id-block .copy-hint{color:var(--cream-mute);text-transform:uppercase;letter-spacing:.18em;font-family:IBM Plex Mono,monospace;font-size:9.5px}.ctx-fineprint{color:var(--cream-mute);margin-top:6px;font-family:Fraunces,serif;font-size:12.5px;font-style:italic;font-weight:300;line-height:1.5}.add-peer-btn{width:100%;color:var(--coral-bright);background:#e85d4e1a;border:1px solid #e85d4e4d;border-radius:10px;justify-content:center;align-items:center;gap:6px;margin-bottom:10px;padding:10px;font-family:Fraunces,serif;font-size:13.5px;font-style:italic;transition:all .18s;display:flex}.add-peer-btn:hover:not(:disabled){background:#e85d4e2e;border-color:#e85d4e8c}.add-peer-btn:disabled{opacity:.4;cursor:not-allowed}.modal-backdrop{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:300;background:#0a060bb8;place-items:center;padding:24px;display:grid;position:fixed;inset:0}.add-peer-modal{background:linear-gradient(180deg, var(--bg-elevated) 0%, var(--bg-base) 100%);border:1px solid var(--line);border-radius:18px;flex-direction:column;gap:14px;width:min(440px,100%);padding:28px 28px 22px;display:flex;box-shadow:0 24px 60px -12px #000000b3}.add-peer-modal h2{text-align:center;font-family:Fraunces,serif;font-size:22px;font-weight:400}.add-peer-modal h2 em{color:var(--cream-soft);font-style:italic;font-weight:300}.modal-hint{color:var(--cream-mute);text-align:center;margin:-4px 0 4px;font-family:Fraunces,serif;font-size:13.5px;font-style:italic;font-weight:300;line-height:1.55}.modal-actions{gap:8px;margin-top:4px;display:flex}.modal-actions .modal-cancel{border:1px solid var(--line);height:46px;color:var(--cream-mute);background:0 0;border-radius:11px;flex:none;padding:0 16px;font-family:Geist,sans-serif;font-size:14px}.modal-actions .modal-cancel:hover:not(:disabled){color:var(--cream);border-color:var(--cream-faint)}.modal-actions .modal-cancel:disabled{opacity:.5;cursor:not-allowed}.modal-actions .setup-submit{flex:1}.ctx-footer{border-top:1px solid var(--line);margin-top:auto;padding:16px 22px 22px}.quick-action{border:1px solid var(--line);color:var(--cream-soft);background:0 0;border-radius:10px;align-items:center;gap:10px;width:100%;padding:10px 12px;font-family:Geist,sans-serif;font-size:12.5px;transition:all .18s;display:flex}.quick-action:hover{background:var(--bg-elevated);color:var(--cream)}.quick-action svg{flex-shrink:0}.quick-action kbd{background:var(--bg-surface);border:1px solid var(--line);color:var(--cream-mute);border-radius:4px;margin-left:auto;padding:1px 5px;font-family:IBM Plex Mono,monospace;font-size:9.5px}.setup-screen{background:var(--bg-void);isolation:isolate;place-items:center;width:100vw;height:100vh;padding:24px;display:grid;position:relative}.setup-screen:before{content:"";pointer-events:none;background:radial-gradient(60% 40% at 30% 0,#e85d4e1a 0%,#0000 60%),radial-gradient(50% 40% at 70% 100%,#d4b06912 0%,#0000 60%);position:absolute;inset:0}.setup-card{background:linear-gradient(180deg, var(--bg-elevated) 0%, var(--bg-base) 100%);border:1px solid var(--line);z-index:1;border-radius:22px;flex-direction:column;gap:18px;width:min(420px,100%);padding:36px 32px 28px;display:flex;position:relative;box-shadow:0 24px 60px -12px #0009}.setup-card .logo{cursor:default;width:54px;height:54px;margin:0 auto 8px;font-size:30px}.setup-card .logo:hover{transform:none}.setup-card h1{text-align:center;letter-spacing:-.01em;font-family:Fraunces,serif;font-size:28px;font-weight:400;line-height:1.15}.setup-card h1 em{color:var(--cream-soft);font-style:italic;font-weight:300}.setup-card .hint{text-align:center;color:var(--cream-mute);margin-bottom:4px;font-family:Fraunces,serif;font-size:13.5px;font-style:italic;font-weight:300;line-height:1.55}.setup-field{flex-direction:column;gap:6px;display:flex}.setup-field span{color:var(--cream-dim);text-transform:uppercase;letter-spacing:.18em;font-family:IBM Plex Mono,monospace;font-size:9.5px}.setup-field input{background:var(--bg-deep);border:1px solid var(--line);border-radius:10px;height:44px;padding:0 14px;font-size:15px;transition:border-color .2s}.setup-field input:focus{border-color:#d4b06980}.setup-error{color:var(--coral-bright);background:#e85d4e1a;border:1px solid #e85d4e4d;border-radius:10px;padding:8px 12px;font-family:IBM Plex Mono,monospace;font-size:12.5px}.setup-submit{background:linear-gradient(135deg, var(--coral-bright), var(--coral));color:#fff6f0;letter-spacing:.01em;height:46px;box-shadow:0 6px 18px -4px var(--coral-glow);border-radius:11px;font-family:Fraunces,serif;font-size:17px;font-style:italic;transition:transform .15s,opacity .2s}.setup-submit:hover:not(:disabled){transform:translateY(-1px)}.setup-submit:disabled{opacity:.6;cursor:not-allowed}.debug-panel{background:var(--bg-deep);border:1px solid var(--line);z-index:200;border-radius:14px;flex-direction:column;width:min(560px,100vw - 32px);max-height:min(60vh,460px);font-family:IBM Plex Mono,monospace;font-size:12px;display:flex;position:fixed;bottom:16px;right:16px;box-shadow:0 24px 60px #0009}.debug-panel__header{border-bottom:1px solid var(--line);color:var(--cream-soft);align-items:center;gap:8px;padding:8px 12px;display:flex}.debug-panel__header strong{color:var(--coral-bright);font-family:Fraunces,serif;font-size:13px;font-style:italic;font-weight:400}.debug-panel__count{color:var(--cream-dim);letter-spacing:.04em}.debug-panel__actions{align-items:center;gap:4px;margin-left:auto;display:flex}.debug-panel__actions button{background:var(--bg-elevated);border:1px solid var(--line);color:var(--cream-soft);border-radius:6px;padding:3px 9px;font-size:11px}.debug-panel__actions button:hover{background:var(--bg-surface);color:var(--cream)}.debug-panel__toggle{color:var(--cream-mute);align-items:center;gap:4px;font-size:11px;display:inline-flex}.debug-panel__filters{border-bottom:1px solid var(--line);flex-wrap:wrap;gap:4px;padding:6px 12px;display:flex}.debug-chip{background:var(--bg-elevated);border:1px solid var(--line);color:var(--cream-mute);opacity:.55;border-radius:999px;padding:2px 8px;font-size:10.5px}.debug-chip--on{opacity:1;color:var(--gold);border-color:var(--line-warm)}.debug-panel__list{flex:1;padding:6px 12px;overflow:auto}.debug-panel__empty{color:var(--cream-dim);text-align:center;padding:12px 0;font-style:italic}.debug-row{color:var(--cream-soft);grid-template-columns:92px 48px 84px 1fr;align-items:baseline;gap:6px;padding:2px 0;display:grid}.debug-row:hover{background:var(--bg-elevated)}.debug-row__ts{color:var(--cream-dim)}.debug-row__lvl{font-weight:600}.debug-row__cat{color:var(--gold)}.debug-row__msg{color:var(--cream);white-space:pre-wrap;word-break:break-word}.debug-row__data{color:var(--cream-mute);white-space:pre-wrap;word-break:break-all;grid-column:4}@media (width<=1100px){.workspace{grid-template-columns:76px 1fr 280px}}@media (width<=900px){.workspace{grid-template-columns:64px 1fr}.context-panel{display:none}}
