:root{color-scheme:dark;--bg:#061019;--panel:rgba(8,25,36,.86);--line:rgba(81,221,242,.24);--cyan:#55e6fa;--muted:#7194a4;--white:#e4fbff;--green:#72f7c0;--amber:#ffc66e;--mono:"IBM Plex Mono",Consolas,monospace;--display:"Segoe UI",sans-serif}*{box-sizing:border-box}body{margin:0;min-height:100vh;background:radial-gradient(ellipse at 50% 43%,#0c2939,#071720 45%,#040a10);color:var(--white);font:12px/1.55 var(--mono);overflow-x:hidden}.shell{max-width:1480px;margin:auto;padding:18px 24px}.top{display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);padding:8px 2px 16px}.brand{display:flex;gap:14px;align-items:center}.mark{width:36px;height:36px;border:1px solid var(--cyan);display:grid;place-items:center;color:var(--cyan);font-size:18px;transform:rotate(45deg)}.brand h1{margin:0;font:600 23px var(--display);letter-spacing:.2em}.brand small,.eyebrow,.sub{color:var(--muted);letter-spacing:.13em;font-size:9px}.top-right{display:flex;gap:16px;align-items:center;color:#a7c5d0;font-size:10px}.online{color:var(--green)}.layout{display:grid;grid-template-columns:minmax(190px,250px) minmax(0,1fr) minmax(190px,250px);gap:14px;padding-top:16px}.left,.right,.center{display:flex;flex-direction:column;gap:14px;min-width:0}.panel{background:linear-gradient(145deg,rgba(11,31,43,.9),rgba(5,17,25,.82));border:1px solid var(--line);padding:15px;min-width:0}.section-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.section-head h2{font:500 14px var(--display);letter-spacing:.15em;margin:0}.source,.task,.activity{display:flex;justify-content:space-between;gap:8px;padding:8px 0;border-top:1px solid #51ddf21c;color:#adc5cd}.source b{color:var(--green);font-weight:400}.activity{justify-content:flex-start;line-height:1.5}.activity b{color:var(--cyan);font-weight:400}.activity small,.task small{display:block;color:var(--muted)}.core-panel{min-height:390px;display:flex;flex-direction:column;align-items:center;justify-content:center;position:relative;overflow:hidden}.core-panel>.eyebrow{align-self:flex-start;position:absolute;top:15px;left:15px}.core{width:min(260px,58vw);aspect-ratio:1;position:relative;display:grid;place-items:center;margin-top:12px}.ring{position:absolute;inset:0;border-radius:50%;border:1px solid #55e6fa55;box-shadow:0 0 32px #19b2dc13,inset 0 0 28px #19b2dc13}.r2{inset:8%;border-style:dashed;animation:spin 50s linear infinite}.r3{inset:17%;border-color:#55e6fa88}.r4{inset:25%;border-color:#55e6fa22}.orb{width:42%;aspect-ratio:1;border-radius:50%;background:radial-gradient(circle at 45% 40%,#d7ffff,#7befff 7%,#20b9e4 20%,#0c648d 45%,#062838 68%,transparent 72%);filter:drop-shadow(0 0 15px #32dafa) drop-shadow(0 0 45px #128acb);animation:pulse 4s ease-in-out infinite}.core[data-state=listen] .orb{filter:drop-shadow(0 0 24px #72f7c0) drop-shadow(0 0 55px #128acb)}.core[data-state=think] .r2{animation-duration:3s}.core[data-state=speak] .orb{animation-duration:.7s}.core-caption{text-align:center;margin-top:10px}.core-caption strong{display:block;font:500 17px var(--display);letter-spacing:.17em}.core-caption span{font-size:9px;color:var(--cyan);letter-spacing:.13em}.bars{display:flex;gap:3px;height:21px;align-items:center;margin-top:9px}.bars i{width:2px;height:7px;background:var(--cyan);animation:wave .6s ease-in-out infinite alternate}.bars i:nth-child(2n){animation-delay:.2s}.bars.off i{animation:none;height:2px;opacity:.25}.core-status{font-size:9px;color:var(--muted);margin-top:8px;text-align:center}.core-actions{display:flex;gap:8px;margin-top:10px}.conversation{min-height:210px;display:flex;flex-direction:column}.messages{flex:1;min-height:48px;max-height:180px;overflow:auto;font-size:11px;color:#b1cbd3}.msg{padding:7px 0;border-top:1px solid #51ddf21c;overflow-wrap:anywhere}.msg b{color:var(--cyan);font-weight:500}.input-row{display:flex;border-top:1px solid var(--line);margin-top:8px;padding-top:10px;gap:7px}.input-row input{flex:1;min-width:0;background:transparent;border:0;color:var(--white);font:11px var(--mono);outline:0}.input-row input::placeholder{color:#567685}.send,.mic,.chip{background:transparent;color:var(--cyan);border:1px solid var(--line);font:9px var(--mono);padding:8px 10px;cursor:pointer}.mic.active,.chip:hover,.send:hover{background:#55e6fa18;border-color:var(--cyan)}.quick{display:flex;gap:6px;flex-wrap:wrap;margin-top:9px}.full{display:block;width:100%;text-align:left;margin:5px 0;color:#84adbc}.footer{display:flex;justify-content:space-between;gap:10px;margin-top:14px;color:#7194a4;font-size:9px}.map-view{position:absolute;inset:48px 10px 10px;background:#07131bee;border:1px solid var(--line);z-index:2;display:grid;grid-template-columns:minmax(120px,30%) 1fr;min-height:220px}.map-view[hidden]{display:none}.map-side{padding:10px;overflow:auto;font-size:10px}.map-side h3{margin:0}.map-side p{color:#9aa6b0;white-space:pre-wrap}.map-side ol{padding-left:18px}.map-side li{padding:3px;cursor:pointer}.map-side li:hover{color:var(--cyan)}.map-canvas{position:relative;min-width:0;min-height:220px}.map-canvas canvas{width:100%;height:100%;display:block}#count{position:absolute;bottom:7px;left:8px;color:var(--muted);font-size:9px;pointer-events:none}#filters{display:flex;flex-wrap:wrap;gap:4px}.filter{font-size:9px;color:#9aa6b0}.filter input{accent-color:var(--cyan)}@keyframes spin{to{transform:rotate(360deg)}}@keyframes pulse{50%{transform:scale(1.06);opacity:1}}@keyframes wave{to{height:19px}}@media(max-width:900px){.shell{padding:12px}.layout{grid-template-columns:minmax(150px,1fr) minmax(0,2fr)}.center{grid-column:1/-1;grid-row:1}.left{grid-column:1}.right{grid-column:2}.core-panel{min-height:330px}.core{width:210px}}@media(max-width:560px){.top{align-items:flex-start}.brand small{font-size:7px}.top-right{gap:6px;flex-direction:column;align-items:flex-end;font-size:8px}.layout{grid-template-columns:1fr;gap:10px}.center,.left,.right{grid-column:1}.center{grid-row:1}.core-panel{min-height:315px}.core{width:190px}.left{grid-row:2}.right{grid-row:3}.footer{flex-direction:column}.input-row{gap:4px}.send,.mic{padding:7px 6px}.map-view{grid-template-columns:34% minmax(0,1fr);inset:42px 5px 5px}.map-side{padding:6px}}

.login{position:fixed;inset:0;z-index:10;background:#06121c;display:grid;place-items:center;padding:20px}.login .panel{width:min(380px,100%);text-align:center}.login input,.login select{display:block;width:100%;margin:14px 0;padding:16px;background:#061019;color:var(--white);border:1px solid var(--line);font:24px var(--mono);text-align:center}.login button{width:100%;padding:16px}.login[hidden]{display:none}#app[hidden]{display:none}#listsPanel{width:100%}.listrow{display:flex;gap:8px;align-items:center;padding:6px;border-top:1px solid var(--line)}.listrow span{flex:1}.listrow button{background:transparent;color:var(--cyan);border:1px solid var(--line);padding:6px}#listenNotice{color:var(--green);padding:8px}
