:root{--c:#00e5ff;--c2:#0a7fa0;--amber:#ffb300;--bg:#020b14;--panel:rgba(2,24,38,.62)}
*{box-sizing:border-box;margin:0}
html,body{height:100%;background:var(--bg);color:#bff8ff;font-family:'Share Tech Mono',ui-monospace,monospace;overflow:hidden}
#bg{position:fixed;inset:0;width:100%;height:100%}
header{position:fixed;top:0;left:0;right:0;display:flex;justify-content:space-between;align-items:center;padding:14px 24px;z-index:2;border-bottom:1px solid rgba(0,229,255,.25);background:linear-gradient(#020b14cc,transparent)}
.brand{font-family:Orbitron,sans-serif;font-weight:800;letter-spacing:.35em;color:var(--c);text-shadow:0 0 12px var(--c)}
.brand small{display:block;font-size:9px;letter-spacing:.2em;font-weight:400;color:var(--c2);text-shadow:none;margin-top:3px}
.clock{font-family:Orbitron,sans-serif;font-size:20px;color:var(--c);text-shadow:0 0 10px var(--c)}
.panel{position:fixed;top:76px;bottom:128px;width:min(290px,24vw);z-index:2;padding:14px;background:var(--panel);backdrop-filter:blur(6px);
  border:1px solid rgba(0,229,255,.35);overflow:auto;
  clip-path:polygon(0 0,calc(100% - 18px) 0,100% 18px,100% 100%,18px 100%,0 calc(100% - 18px));box-shadow:inset 0 0 30px rgba(0,229,255,.08)}
.panel.left{left:20px}.panel.right{right:20px;width:min(360px,28vw)}
h3{font-family:Orbitron,sans-serif;font-size:11px;letter-spacing:.25em;color:var(--c);margin:14px 0 8px;padding-bottom:4px;border-bottom:1px solid rgba(0,229,255,.25)}
h3:first-child{margin-top:0}
ul{list-style:none;padding:0}li{padding:5px 0;font-size:13px}
li::before{content:'';display:inline-block;width:7px;height:7px;border-radius:50%;background:#2dff9b;box-shadow:0 0 8px #2dff9b;margin-right:9px}
li.dim::before{background:#456}
.dim{color:#5a8a9a}
.kv{display:flex;justify-content:space-between;font-size:12px;padding:3px 0}.kv span{color:var(--c2)}.kv b{font-weight:400;color:#e8fdff;text-align:right}
.seg{display:flex;gap:6px;flex-wrap:wrap}
.seg button{flex:1;min-width:0;background:transparent;border:1px solid rgba(0,229,255,.4);color:var(--c);padding:7px 4px;font:inherit;font-size:12px;cursor:pointer}
.wide{width:100%;margin-top:8px;background:transparent;border:1px dashed rgba(0,229,255,.5);color:var(--c);padding:8px;font:inherit;font-size:12px;cursor:pointer}.wide.on{background:rgba(255,179,0,.2);border-color:var(--amber);color:var(--amber)}
.seg button.on{background:rgba(0,229,255,.2);box-shadow:0 0 12px rgba(0,229,255,.5) inset;color:#fff}
.feed{font-size:12px;overflow:auto;max-height:46%}
.feed .meta{color:var(--amber);margin-bottom:6px}
.feed table{width:100%;border-collapse:collapse}
.feed th{color:var(--c2);text-align:left;font-weight:400;border-bottom:1px solid rgba(0,229,255,.3)}
.feed td,.feed th{padding:3px 6px 3px 0;vertical-align:top}
.feed pre{white-space:pre-wrap;word-break:break-word}
.log{font-size:12px;line-height:1.5}.log div{padding:3px 0;border-bottom:1px dashed rgba(0,229,255,.12)}
.log .h{color:#5a8a9a}.log .u{color:#fff}.log .j{color:var(--c)}.log .e{color:#ff5470}
main{position:fixed;left:0;right:0;bottom:96px;display:flex;justify-content:center;z-index:2;pointer-events:none;padding:0 min(310px,26vw)}
#subtitle{max-width:760px;text-align:center;font-size:clamp(15px,1.9vw,22px);line-height:1.4;text-shadow:0 0 10px #000,0 0 18px rgba(0,229,255,.5);min-height:2.8em}
#subtitle .you{color:var(--amber)}
footer{position:fixed;left:0;right:0;bottom:0;padding:16px 24px calc(16px + env(safe-area-inset-bottom));display:flex;gap:12px;justify-content:center;align-items:center;z-index:3;background:linear-gradient(transparent,#020b14e6 40%)}
#mic{width:54px;height:54px;border-radius:50%;border:2px solid var(--c);background:rgba(0,229,255,.1);color:var(--c);cursor:pointer;display:grid;place-items:center;box-shadow:0 0 16px rgba(0,229,255,.5)}
#mic.on{background:var(--c);color:#002;animation:pulse 1.4s infinite}
@keyframes pulse{50%{box-shadow:0 0 34px var(--c)}}
#form{display:flex;gap:8px;flex:0 1 560px}
#text,.field{flex:1;background:rgba(2,24,38,.8);border:1px solid rgba(0,229,255,.45);color:#fff;padding:13px 14px;font:inherit;font-size:15px;outline:none;min-width:0}
#text:focus,.field:focus{box-shadow:0 0 14px rgba(0,229,255,.5)}
#form button,.gate button{background:rgba(0,229,255,.15);border:1px solid var(--c);color:var(--c);padding:0 18px;font-family:Orbitron,sans-serif;font-size:12px;letter-spacing:.15em;cursor:pointer}
.gate{position:fixed;inset:0;z-index:10;display:grid;place-items:center;background:rgba(2,11,20,.94)}
.gate form{display:flex;flex-direction:column;gap:14px;width:min(360px,88vw);text-align:center}
.gate button{padding:13px}.gate p{font-size:11px;letter-spacing:.3em;color:var(--c2)}.err{color:#ff5470!important;min-height:1em}
.gate.hide{display:none}
@media (max-width:900px){
  .panel{display:none}main{padding:0 16px;bottom:100px}
  header{padding:10px 14px}.brand{font-size:14px;letter-spacing:.25em}.clock{font-size:14px}
  #form button{padding:0 12px}
}
