:root{--bg: #07090a;--phos: #63f5a3;--ink: #cddbd6;--ink-bright: #eafff4;--ink-soft: #b7ccc4;--ink-sub: #9fd8c4;--muted: #5f6f68;--hud-strong: #7fe0af;--hud-green: #5aa985;--hud-dim: #47705e;--hud-grey: #46564f;--hud-faint: #3c463f;--ease-out: cubic-bezier(.2, .8, .2, 1)}*{box-sizing:border-box}html,body{margin:0;height:100%;background:var(--bg);overflow:hidden}body{font-family:JetBrains Mono,monospace;color:var(--ink)}#stage{position:fixed;top:0;right:0;bottom:0;left:0;background:radial-gradient(80% 70% at 50% 46%,#0b1310,#070b09 55%,#040605);animation:flicker 7s infinite}.scanlines{position:absolute;top:-4px;right:0;bottom:0;left:0;background:repeating-linear-gradient(180deg,transparent 0 2px,rgba(0,0,0,.28) 2px 3px);opacity:.5;pointer-events:none;animation:scan 6s linear infinite;z-index:3}.vignette{position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(70% 60% at 50% 48%,transparent 40%,rgba(0,0,0,.55) 100%);pointer-events:none;z-index:2}@keyframes scan{0%{transform:translateY(0)}to{transform:translateY(4px)}}@keyframes flicker{0%,96%,to{opacity:1}97%{opacity:.72}98%{opacity:.95}99%{opacity:.8}}@keyframes blink{0%,49%{opacity:1}50%,to{opacity:0}}@keyframes pulse{0%,to{opacity:1;box-shadow:0 0 #63f5a380}50%{opacity:.55;box-shadow:0 0 0 6px #63f5a300}}@keyframes ring{0%{transform:scale(1);opacity:.6}to{transform:scale(2.4);opacity:0}}@keyframes wave{0%,to{transform:scaleY(.35)}50%{transform:scaleY(1)}}@keyframes glyph-in{0%{color:transparent;-webkit-text-stroke:2px rgba(99,245,163,.75);text-shadow:0 0 24px rgba(99,245,163,.6)}60%{color:transparent;-webkit-text-stroke:1.5px rgba(99,245,163,.9)}to{color:inherit;-webkit-text-stroke:0}}.hud{position:absolute;font-size:11px;line-height:1.9;letter-spacing:.14em;z-index:4;transition:opacity .5s var(--ease-out)}.hud-tl{top:28px;left:32px;color:var(--hud-green)}.hud-tr{top:28px;right:32px;text-align:right;color:var(--hud-grey)}.hud-bl{bottom:26px;left:32px;font-size:10.5px;letter-spacing:.16em;color:var(--hud-faint)}.hud-br{bottom:26px;right:32px;display:flex;align-items:center;font-size:10.5px;letter-spacing:.16em;color:var(--hud-grey)}.hud-strong{color:var(--hud-strong)}.hud-dim{color:var(--hud-dim)}.hud-tr .hud-dim{color:#5a6a63}.phos{color:var(--phos)}.pulse-dot{width:7px;height:7px;border-radius:50%;background:var(--phos);box-shadow:0 0 10px var(--phos);animation:pulse 2.4s infinite;display:inline-block;flex:none}.block-cursor{display:inline-block;background:var(--phos);box-shadow:0 0 24px #63f5a3b3;animation:blink 1s step-end infinite;vertical-align:baseline}.block-cursor.boot{width:18px;height:40px}.block-cursor.hero{width:clamp(10px,1.8vw,26px);height:.84em;margin-top:.06em;align-self:flex-start}.block-cursor.sub{width:9px;height:.8em;margin-left:8px;opacity:.55;animation-duration:1.1s}.block-cursor.invite{width:9px;height:22px;margin-left:8px;vertical-align:-3px;box-shadow:0 0 12px #63f5a399}#hero{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;align-items:center;justify-content:center;z-index:4;transition:opacity .22s ease}#boot-cursor{display:none}.state-boot #boot-cursor{display:inline-block}.state-boot #hello-row,.state-boot .hello-sub{visibility:hidden}#hello-row{display:flex;align-items:flex-start;gap:10px;min-height:1em}#hello{margin:0;font-size:clamp(64px,14vw,200px);font-weight:800;line-height:.9;letter-spacing:-.02em;color:var(--ink-bright);text-shadow:-2px 0 rgba(255,42,110,.32),2px 0 rgba(0,214,255,.32),0 0 42px rgba(99,245,163,.5),0 0 90px rgba(99,245,163,.28)}#hello .ch,.hello-sub .ch{animation:glyph-in .18s var(--ease-out) both}.hello-sub{margin-top:26px;font-size:clamp(24px,4.6vw,66px);font-weight:700;color:var(--ink-sub);opacity:.5;letter-spacing:-.01em;text-shadow:0 0 24px rgba(99,245,163,.22);min-height:1.1em}.hello-sub.dim{margin-top:10px;opacity:.34;letter-spacing:.04em}.state-iface #hero{justify-content:flex-start;padding-top:17vh}.state-iface #hello{font-size:clamp(44px,6.2vw,88px);text-shadow:-1px 0 rgba(255,42,110,.28),1px 0 rgba(0,214,255,.28),0 0 30px rgba(99,245,163,.4)}.state-iface .hello-sub{margin-top:12px;font-size:clamp(18px,2.4vw,34px);opacity:.42}.state-iface .hello-sub.dim{margin-top:6px;opacity:.3}.state-iface #hello-cursor,.state-iface #salut-cursor{display:none}#hero.fading{opacity:0}.state-chat #hero{display:none}#wordmark{position:absolute;top:30px;left:40px;display:none;align-items:center;gap:12px;font-size:12px;letter-spacing:.34em;color:var(--ink);z-index:5}#wordmark .pulse-dot{width:8px;height:8px}.state-chat #wordmark{display:flex}.state-chat .hud-tl{opacity:0;pointer-events:none}.state-chat .hud-tr{top:30px;right:40px;font-size:11px;letter-spacing:.16em;color:var(--hud-grey)}#iface{position:absolute;left:0;right:0;top:0;bottom:0;display:flex;flex-direction:column;align-items:center;justify-content:flex-start;padding-top:44vh;z-index:4;pointer-events:none;visibility:hidden}.state-iface #iface,.state-chat #iface{visibility:visible}#iface>*{pointer-events:auto}#invite{margin:0 24px 40px;font-size:clamp(15px,1.5vw,21px);color:var(--ink-soft);letter-spacing:.01em;text-align:center;min-height:1.5em}#input-shell{position:relative;width:min(860px,calc(100vw - 48px));display:flex;align-items:center;gap:18px;height:76px;padding:0 22px 0 26px;border:1px solid rgba(99,245,163,.28);border-radius:4px;background:linear-gradient(#63f5a30a,#63f5a304);box-shadow:inset 0 0 40px #63f5a30f,0 0 30px #63f5a314;opacity:0;transform:scale(.985);transition:opacity .35s var(--ease-out),transform .35s var(--ease-out),box-shadow .5s var(--ease-out)}#input-shell.assembled{opacity:1;transform:none}.bracket{position:absolute;width:22px;height:22px;opacity:0;transition:opacity .18s var(--ease-out),transform .18s var(--ease-out);transform:scale(1.6)}#input-shell.assembled .bracket{opacity:1;transform:none}#input-shell.assembled .bracket.tr{transition-delay:.05s}#input-shell.assembled .bracket.bl{transition-delay:.1s}#input-shell.assembled .bracket.br{transition-delay:.15s}.bracket.tl{top:-1px;left:-1px;border-top:2px solid var(--phos);border-left:2px solid var(--phos);box-shadow:0 0 10px #63f5a380}.bracket.tr{top:-1px;right:-1px;border-top:2px solid var(--phos);border-right:2px solid var(--phos);box-shadow:0 0 10px #63f5a380}.bracket.bl{bottom:-1px;left:-1px;border-bottom:2px solid var(--phos);border-left:2px solid var(--phos);box-shadow:0 0 10px #63f5a380}.bracket.br{bottom:-1px;right:-1px;border-bottom:2px solid var(--phos);border-right:2px solid var(--phos);box-shadow:0 0 10px #63f5a380}.prompt-glyph{color:var(--phos);font-size:16px;opacity:.8}#chat-input{flex:1;min-width:0;border:0;outline:0;background:transparent;color:#d6e4de;font-size:16px;font-family:Space Grotesk,sans-serif;caret-color:var(--phos)}#chat-input::placeholder{color:var(--muted)}.round-btn{width:44px;height:44px;flex:none;border-radius:50%;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:box-shadow .2s ease,border-color .2s ease,opacity .2s ease}.round-btn.ghost{border:1px solid rgba(99,245,163,.3);background:transparent;color:#8fdcbd}.round-btn.ghost:hover{border-color:#63f5a399;box-shadow:0 0 14px #63f5a333}.round-btn.solid{border:0;background:var(--phos);color:#05110b;box-shadow:0 0 20px #63f5a373}.round-btn.solid:hover{box-shadow:0 0 30px #63f5a3b3}.round-btn:disabled{opacity:.35;cursor:default}.round-btn.hidden{display:none}#chips{margin-top:26px;display:flex;gap:14px;flex-wrap:wrap;justify-content:center;padding:0 24px;font-family:Space Grotesk,sans-serif;opacity:0;transform:translateY(8px);transition:opacity .4s var(--ease-out),transform .4s var(--ease-out)}#chips.visible{opacity:1;transform:none}.chip{padding:10px 18px;border:1px solid rgba(159,216,196,.16);border-radius:20px;font-size:13.5px;font-family:inherit;color:#7f948d;background:#9fd8c408;cursor:pointer;transition:color .2s ease,border-color .2s ease}.chip:hover{color:var(--phos);border-color:#63f5a380}.state-chat #iface{justify-content:flex-end;padding:0 0 46px;top:auto}.state-chat #invite,.state-chat #chips{display:none}.state-chat #input-shell{height:62px;width:min(880px,calc(100vw - 48px))}.state-chat .bracket{display:none}.state-chat .round-btn{width:38px;height:38px}#conversation{position:absolute;left:0;right:0;top:96px;bottom:148px;z-index:4;display:none;justify-content:center;overflow-y:auto;scrollbar-width:thin;scrollbar-color:rgba(99,245,163,.25) transparent}.state-chat #conversation{display:flex}#thread{width:min(880px,calc(100vw - 48px));display:flex;flex-direction:column;gap:30px;padding:20px 0 24px;height:max-content;min-height:100%}.msg{font-family:Space Grotesk,sans-serif;font-size:16px;line-height:1.6}.msg.visitor{align-self:flex-end;max-width:min(560px,84%);color:#d6e4de;text-align:right;padding:12px 18px;border-right:2px solid rgba(159,216,196,.35);line-height:1.55;white-space:pre-wrap;overflow-wrap:anywhere}.msg.machine{align-self:flex-start;max-width:min(640px,92%);display:flex;gap:14px}.msg.machine .glyph{color:var(--phos);flex:none;text-shadow:0 0 10px rgba(99,245,163,.6)}.msg.machine .body{color:var(--ink-soft);white-space:pre-wrap;overflow-wrap:anywhere}.stream-caret{display:inline-block;width:8px;height:18px;background:var(--phos);margin-left:4px;vertical-align:-3px;animation:blink 1s step-end infinite;box-shadow:0 0 10px #63f5a380}.book-chip{display:inline-flex;align-items:center;gap:8px;margin-top:16px;font-family:JetBrains Mono,monospace;font-size:13px;letter-spacing:.06em;color:#05110b;background:var(--phos);padding:9px 16px;border-radius:4px;box-shadow:0 0 22px #63f5a366;text-decoration:none;transition:box-shadow .2s ease}.book-chip:hover{box-shadow:0 0 34px #63f5a3a6}.msg.error .body{color:#c98a8a}#voice-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:10;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:46px;background:radial-gradient(60% 50% at 50% 50%,rgba(99,245,163,.06) 0%,transparent 55%),#040605eb;cursor:pointer}#voice-overlay[hidden]{display:none}.voice-status{position:absolute;top:52px;left:32px;font-size:9.5px;letter-spacing:.12em;color:var(--phos)}.voice-rings{position:relative;width:120px;height:120px;display:flex;align-items:center;justify-content:center}.voice-rings>i{position:absolute;top:0;right:0;bottom:0;left:0;border-radius:50%;border:1px solid rgba(99,245,163,.5);animation:ring 2.2s ease-out infinite}.voice-rings>i:nth-child(2){animation-delay:1.1s}.voice-core{width:88px;height:88px;border-radius:50%;background:radial-gradient(circle,#63f5a338,#63f5a30f);border:1px solid rgba(99,245,163,.55);display:flex;align-items:center;justify-content:center;color:#9dffcf;box-shadow:0 0 40px #63f5a359}.voice-wave{display:flex;align-items:center;gap:5px;height:54px}.voice-wave i{width:4px;height:100%;background:var(--phos);border-radius:2px;transform-origin:center;box-shadow:0 0 8px #63f5a380;animation:wave .9s ease-in-out infinite}.voice-wave i:nth-child(2){animation-duration:.7s}.voice-wave i:nth-child(3){animation-duration:1.1s}.voice-wave i:nth-child(4){animation-duration:.6s}.voice-wave i:nth-child(5){animation-duration:.95s}.voice-wave i:nth-child(6){animation-duration:.75s}.voice-wave i:nth-child(7){animation-duration:1.05s}.voice-label{font-family:Space Grotesk,sans-serif;font-size:15px;color:var(--ink-soft)}.voice-hint{position:absolute;bottom:40px;font-size:11px;letter-spacing:.14em;color:#4b554f}@media(max-width:640px){.m-hide{display:none}.hud{font-size:9.5px;letter-spacing:.12em}.hud-tl{top:20px;left:18px}.hud-tr{top:20px;right:18px}.hud-bl{display:none}.hud-br{bottom:18px;right:18px}#wordmark{top:20px;left:18px;letter-spacing:.22em;font-size:11px}.state-iface #hero{padding-top:14vh}#iface{padding-top:38vh}#invite{margin-bottom:28px}#input-shell{height:58px;gap:10px;padding:0 12px 0 16px}#chat-input{font-size:13.5px}#chat-input::placeholder{font-size:13.5px}.round-btn{width:36px;height:36px}.bracket{width:16px;height:16px}#chips{flex-direction:column;align-items:stretch;width:calc(100vw - 48px)}.chip{text-align:center;font-size:12.5px;padding:9px 15px}#conversation{top:66px;bottom:118px}.state-chat #iface{padding-bottom:24px}.msg{font-size:14.5px}}@media(prefers-reduced-motion:reduce){#stage,.scanlines,.pulse-dot,.voice-rings>i,.voice-wave i{animation:none}.block-cursor,.stream-caret,#hello .ch,.hello-sub .ch{animation:none}#input-shell,#chips,.bracket{transition:none}}
