:root{color-scheme:dark;--bg: #050807;--panel: rgba(4, 12, 8, .84);--panel-strong: rgba(4, 12, 8, .92);--line: rgba(31, 156, 96, .45);--line-soft: rgba(31, 156, 96, .2);--text: #b5f7cb;--muted: rgba(128, 221, 164, .76);--time: rgba(128, 221, 164, .48);--accent: #24cf73;--accent-soft: rgba(36, 207, 115, .14)}*{box-sizing:border-box}html,body,#root{width:100%;height:100%;margin:0;overflow:hidden}body{background:radial-gradient(circle at top,rgba(23,76,46,.24),transparent 36%),var(--bg);color:var(--text);font-family:Handjet,SF Mono,Fira Code,IBM Plex Mono,monospace;font-weight:300;font-size:22px;line-height:1.1}.app-shell{position:relative;width:100%;height:100%;background:radial-gradient(circle at center,rgba(8,18,12,.08),transparent 48%)}canvas{display:block}.hud{position:absolute;inset:0;pointer-events:none;display:flex;justify-content:space-between;align-items:flex-start;gap:14px;padding:20px}.hud__brand,.hud__panel{border:1px solid var(--line);background:var(--panel);padding:18px 20px;box-shadow:inset 0 0 0 1px #07180e99}.hud__brand{max-width:min(520px,calc(100vw - 40px))}.hud__panel{min-width:260px;max-width:min(320px,calc(100vw - 40px));display:grid;gap:8px;color:var(--muted);text-align:right}.hud__eyebrow{display:block;margin:0 0 10px;color:var(--accent);font-size:13px;text-transform:lowercase;letter-spacing:.02em}.hud h1,.hud p{margin:0}.hud h1{font-size:clamp(28px,3.2vw,40px);font-weight:400;letter-spacing:.02em}.hud__subline{margin-top:10px;color:var(--time);font-size:14px;text-transform:lowercase}.hud__controls{display:flex;flex-direction:column;gap:10px;margin-top:10px;pointer-events:auto}.hud__button{appearance:none;min-width:0;border:1px solid var(--line);background:#0000002e;color:var(--text);padding:11px 14px;font:inherit;font-size:18px;line-height:1;text-decoration:none;text-align:center;cursor:pointer;transition:color .14s ease,border-color .14s ease,background .14s ease,transform .14s ease}.hud__button:hover{color:var(--accent);border-color:var(--accent);background:var(--accent-soft);transform:translateY(-1px)}.hud__button--ghost{color:var(--muted)}.hud:after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(to bottom,#0000,#0000000f),repeating-linear-gradient(to bottom,#0000 0 2px,#174c2e09 3px);mix-blend-mode:screen}@media(max-width:900px){body{font-size:20px}.hud{flex-direction:column;justify-content:flex-start;gap:12px;padding:14px}.hud__brand,.hud__panel{width:100%;max-width:none;padding:14px 16px}.hud__panel{text-align:left}.hud h1{font-size:clamp(26px,8vw,36px)}.hud__button{font-size:17px}}.call-hud{position:fixed;left:18px;bottom:18px;z-index:50;display:flex;flex-direction:column;gap:8px;padding:12px 14px;border-radius:12px;background:#080c12b8;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);color:#cfe0ff;font-family:Handjet,monospace;letter-spacing:.08em;text-transform:lowercase}.call-hud__state{display:flex;align-items:center;gap:9px;font-size:16px}.call-hud__dot{width:9px;height:9px;border-radius:50%;background:#8ea6ff;flex:none}.call-hud--connecting .call-hud__dot{background:#e8d07f;animation:chud-pulse 1s ease-in-out infinite}.call-hud--listening .call-hud__dot{background:#86e2a6;box-shadow:0 0 8px #86e2a6cc}.call-hud--speaking .call-hud__dot{background:#7fcfe2;box-shadow:0 0 10px #7fcfe2e6;animation:chud-pulse .8s ease-in-out infinite}.call-hud--error .call-hud__dot{background:#e8907f}@keyframes chud-pulse{0%,to{opacity:1}50%{opacity:.3}}.call-hud__eq{display:flex;align-items:flex-end;gap:2px;height:22px;opacity:.35;transition:opacity .18s ease}.call-hud.mic-live .call-hud__eq{opacity:1}.call-hud__eq i{width:3px;height:100%;background:#86e2a6;border-radius:1px;transform:scaleY(.12);transform-origin:bottom;transition:transform .05s linear}.call-hud__hint{font-size:12px;opacity:.6}.auth-gate{position:fixed;inset:0;z-index:10001;display:flex;align-items:center;justify-content:center;background:radial-gradient(circle at 50% 40%,#0a121c,#05070a 70%);color:#cfe0ff;font-family:Handjet,monospace}.auth-card{width:min(90vw,380px);display:flex;flex-direction:column;gap:14px;padding:30px 28px;border:1px solid rgba(143,166,255,.28);border-radius:16px;background:#0a101a99;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}.auth-eyebrow{font-size:13px;letter-spacing:.18em;text-transform:lowercase;color:#6f86b8}.auth-title{font-size:30px;letter-spacing:.1em}.auth-text{font-size:15px;line-height:1.4;color:#aebfe0;margin:0}.auth-form{display:flex;flex-direction:column;gap:10px}.auth-input{padding:12px 14px;border-radius:10px;border:1px solid rgba(143,166,255,.3);background:#0000004d;color:#eaf1ff;font-family:Handjet,monospace;font-size:16px;outline:none}.auth-input:focus{border-color:#8ea6ff}.auth-btn{margin-top:4px;padding:12px 16px;border-radius:10px;border:1px solid #8ea6ff;background:#8ea6ff24;color:#eaf1ff;font-family:Handjet,monospace;font-size:16px;letter-spacing:.06em;text-transform:lowercase;cursor:pointer}.auth-btn:hover:not(:disabled){background:#8ea6ff42}.auth-btn:disabled{opacity:.5;cursor:default}.auth-error{font-size:13px;color:#e8907f;margin:0}.hud__link{color:var(--accent);text-decoration:none;pointer-events:auto}.hud__link:hover{text-decoration:underline}.hud__button--active{color:var(--accent);border-color:var(--accent);background:var(--accent-soft)}.hud__button:disabled{opacity:.4;cursor:default;transform:none}.hud__prompt{position:fixed;left:50%;bottom:12vh;transform:translate(-50%);pointer-events:auto;display:flex;align-items:center;gap:10px;padding:12px 18px;border:1px solid var(--accent);background:var(--panel-strong);color:var(--text);font:inherit;font-size:20px;letter-spacing:.04em;cursor:pointer;animation:prompt-in .22s ease}.hud__key{display:inline-block;min-width:26px;padding:2px 6px;border:1px solid var(--accent);color:var(--accent);text-align:center;font-size:16px}@keyframes prompt-in{0%{opacity:0;transform:translate(-50%,8px)}to{opacity:1;transform:translate(-50%)}}.panel{position:fixed;right:18px;bottom:18px;top:18px;width:min(440px,calc(100vw - 36px));z-index:60;display:flex;flex-direction:column;border:1px solid var(--line);background:var(--panel-strong);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);box-shadow:0 0 0 1px #07180e99,0 20px 60px #00000080;animation:panel-in .2s ease}@keyframes panel-in{0%{opacity:0;transform:translate(12px)}to{opacity:1;transform:none}}.panel__head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;padding:16px 18px 12px;border-bottom:1px solid var(--line-soft)}.panel__eyebrow{color:var(--accent);font-size:13px;letter-spacing:.04em}.panel__title{font-size:24px;margin-top:4px}.panel__sub{color:var(--time);font-size:14px;margin-top:4px}.panel__close{appearance:none;border:1px solid var(--line);background:transparent;color:var(--muted);width:36px;height:36px;font:inherit;font-size:24px;line-height:1;cursor:pointer}.panel__close:hover{color:var(--accent);border-color:var(--accent)}.panel__body{flex:1;overflow:auto;padding:14px 18px;font-size:18px}.panel__center{display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;gap:12px}.panel__muted{color:var(--muted);font-size:16px;margin:0}.panel__notice{color:#e8c07f;font-size:15px;margin:0;padding:6px 18px}.panel__log{flex:1;overflow:auto;padding:12px 18px;display:flex;flex-direction:column;gap:10px}.panel__form{display:flex;gap:8px;padding:12px 18px 16px;border-top:1px solid var(--line-soft)}.panel__input{flex:1;min-width:0;padding:10px 12px;border:1px solid var(--line);background:#00000040;color:var(--text);font:inherit;font-size:18px;outline:none}.panel__input:focus{border-color:var(--accent)}.panel__form .hud__button{padding:10px 14px}.msg{max-width:92%}.msg--me{align-self:flex-end;text-align:right}.msg--him{align-self:flex-start}.msg__who{color:var(--time);font-size:12px;letter-spacing:.06em;margin-bottom:2px}.msg__text{display:inline-block;padding:8px 12px;border:1px solid var(--line-soft);background:#00000038;font-size:17px;line-height:1.25;white-space:pre-wrap;text-align:left}.msg--him .msg__text{border-color:var(--line)}.msg__text--thinking{animation:chud-pulse 1s ease-in-out infinite}.panel--vitrine section{margin-bottom:18px}.panel--vitrine h3{margin:0 0 8px;font-size:18px;font-weight:400;color:var(--accent)}.vit__item{padding:10px 0;border-top:1px solid var(--line-soft);font-size:16px}.vit__meta{color:var(--time);font-size:12px;margin-bottom:4px}.vit__hook{color:var(--text);font-style:italic}.vit__poem{margin:6px 0 0;font:inherit;white-space:pre-wrap;line-height:1.3}.vit__item audio{width:100%;margin-top:6px}.popup-backdrop{position:fixed;inset:0;z-index:90;display:flex;align-items:center;justify-content:center;background:#0000008c}.popup{width:min(92vw,420px);padding:24px 24px 20px;border:1px solid var(--accent);background:var(--panel-strong);display:flex;flex-direction:column;gap:12px}.popup__eyebrow{color:var(--accent);font-size:13px;letter-spacing:.06em}.popup__title{font-size:26px;line-height:1.05}.popup__text{margin:0;color:var(--muted);font-size:16px;line-height:1.3}.popup__stats{display:grid;grid-template-columns:1fr 1fr;gap:8px 14px;padding:10px 0;border-top:1px solid var(--line-soft);border-bottom:1px solid var(--line-soft)}.popup__stats div{display:flex;flex-direction:column}.popup__stats span{color:var(--time);font-size:12px;letter-spacing:.06em}.popup__stats b{font-weight:400;font-size:20px}.popup__note{margin:0;color:var(--time);font-size:12px}.tc__stick{position:fixed;z-index:55;width:92px;height:92px;border-radius:50%;border:1px solid var(--line);background:#040c0880;opacity:0;pointer-events:none;transition:opacity .12s}.tc__knob{position:absolute;left:50%;top:50%;width:36px;height:36px;margin:-18px 0 0 -18px;border-radius:50%;background:var(--accent-soft);border:1px solid var(--accent)}.tc__interact{position:fixed;right:18px;bottom:22vh;z-index:56;padding:16px 20px;border:1px solid var(--accent);background:var(--panel-strong);color:var(--text);font:inherit;font-size:20px}.tc__hint{position:fixed;left:50%;bottom:10px;transform:translate(-50%);z-index:55;color:var(--time);font-size:13px;pointer-events:none}.app-shell--touch .hud__panel{display:none}.app-shell--touch .hud__brand{padding:10px 12px}.app-shell--touch .hud h1{font-size:24px}.app-shell--touch .panel{inset:12px;width:auto}.world-error{position:fixed;left:50%;bottom:20px;transform:translate(-50%);z-index:70;padding:8px 14px;border:1px solid #e8907f;color:#e8907f;background:var(--panel-strong);font-size:14px}.admin{min-height:100%;padding:24px;overflow:auto}.admin__head{display:flex;align-items:baseline;gap:18px}.admin h1{font-weight:400;margin:0}
