:root{--bg-void:#0a0e1a;--bg-panel:#10182bcc;--line-primary:#2de2e6;--line-dim:#2de2e633;--accent-alert:#ff6b9d;--accent-ok:#7bff9e;--text-primary:#e8f4f8;--text-dim:#7a8ba3;--font-display:"Rajdhani", "Orbitron", sans-serif;--font-body:"Inter", sans-serif;--radius-panel:4px;--glow:0 0 12px var(--line-dim)}*{box-sizing:border-box}html,body,#root{min-height:100%;margin:0}body{background:var(--bg-void);color:var(--text-primary);font-family:var(--font-body)}button,input{font:inherit}button{cursor:pointer}body:before{content:"";pointer-events:none;opacity:.035;z-index:20;background:repeating-linear-gradient(0deg,#0000 0 3px,#fff 3px 4px);position:fixed;inset:0}body:after{content:"";pointer-events:none;background:radial-gradient(circle at 50% 0,#14344d33,#0000 55%);position:fixed;inset:0}.hud-shell{min-height:100vh;padding:18px 22px 126px;position:relative}.topbar{align-items:center;gap:18px;max-width:1500px;margin:0 auto 18px;display:flex}.brand-mark{color:var(--line-primary);font:700 25px var(--font-display);letter-spacing:.18em;text-shadow:0 0 14px var(--line-dim)}.brand-dot{background:var(--accent-alert);width:9px;height:9px;box-shadow:0 0 10px var(--accent-alert);border-radius:50%;margin:0 8px 3px 0;display:inline-block}.topbar-status,.panel-kicker,.gate-kicker{color:var(--text-dim);font:600 12px var(--font-display);letter-spacing:.16em}.topbar-status{flex:1}.text-button{color:var(--text-dim);font:600 12px var(--font-display);letter-spacing:.14em;background:0 0;border:0}.text-button:hover{color:var(--line-primary)}.hud-grid{grid-template-rows:minmax(260px,auto) minmax(220px,auto) minmax(110px,auto) minmax(110px,auto);grid-template-columns:1fr 1.4fr 1fr;gap:14px;max-width:1500px;margin:0 auto;display:grid}.panel{background:var(--bg-panel);border:1px solid var(--line-primary);box-shadow:var(--glow);border-radius:var(--radius-panel);clip-path:polygon(12px 0,100% 0,100% calc(100% - 12px),calc(100% - 12px) 100%,0 100%,0 12px);position:relative;overflow:hidden}.panel:after{content:"";background:var(--line-primary);width:18px;height:1px;box-shadow:0 0 9px var(--line-primary);position:absolute;top:10px;left:10px}.panel-kicker{margin-bottom:16px}.clock-panel,.status-panel{padding:22px}.clock-panel{grid-column:1}.briefing-panel{grid-column:2}.status-panel{grid-area:2/2;grid-template-rows:auto 1fr;grid-template-columns:1fr 1.1fr;display:grid}.status-panel .panel-kicker{grid-column:1/-1}.weather-panel{grid-column:3}.calendar-panel{grid-column:1}.task-panel{grid-column:3}.music-bar{grid-area:3/1/auto/3;padding:22px}.home-panel{grid-area:3/3}.reminder-panel{grid-area:4/1/auto/-1}.clock-time{color:var(--line-primary);font:600 clamp(48px, 7vw, 92px) var(--font-display);letter-spacing:.04em;text-shadow:0 0 20px var(--line-dim);line-height:.9}.clock-date{color:var(--text-dim);font:500 20px var(--font-display);margin-top:14px}.data-panel{padding:22px}.weather-current{color:var(--line-primary);font:600 64px var(--font-display);text-shadow:0 0 18px var(--line-dim);line-height:.9}.weather-current span{color:var(--text-dim);margin-left:5px;font-size:24px}.weather-condition{color:var(--text-dim);text-transform:capitalize;margin-top:12px}.forecast-strip{gap:12px;margin-top:28px;display:flex}.forecast-day{color:var(--text-dim);font:600 12px var(--font-display);gap:4px;display:grid}.forecast-day b{color:var(--text-primary)}.forecast-day span{color:var(--accent-ok)}.event-list,.task-list{gap:8px;max-height:164px;display:grid;overflow:auto}.event-row{border-bottom:1px solid var(--line-dim);grid-template-columns:74px 1fr;gap:8px;padding-bottom:8px;display:grid}.event-time{color:var(--accent-ok);font:600 11px var(--font-display);letter-spacing:.05em}.event-title{color:var(--text-primary);font-size:13px}.event-title small{color:var(--text-dim);margin-top:3px;display:block}.empty-state,.panel-error{color:var(--text-dim);font-size:13px;line-height:1.5}.panel-error{color:var(--accent-alert)}.task-header{justify-content:space-between;align-items:start;gap:10px;display:flex}.tab-row{gap:4px;display:flex}.tab-row button{color:var(--text-dim);font:600 11px var(--font-display);background:0 0;border:0;border-bottom:1px solid #0000;padding:0 0 4px}.tab-row button.active{color:var(--line-primary);border-color:var(--line-primary)}.task-row{border:0;border-bottom:1px solid var(--line-dim);width:100%;color:var(--text-primary);text-align:left;background:0 0;gap:10px;padding:8px 4px;font-size:13px;display:flex}.task-row:hover{color:var(--accent-ok)}.task-check{color:var(--line-primary);font-size:17px}.briefing-content{color:var(--text-primary);text-align:left;font:400 13px/1.5 var(--font-body);background:0 0;border:0;padding:0;display:grid}.briefing-content:hover{color:var(--line-primary)}.briefing-heading{font:600 20px var(--font-display);letter-spacing:.04em;margin-bottom:5px}.briefing-bullet{color:var(--text-primary)}.briefing-panel.acknowledged{opacity:.68}.reminder-list{gap:8px;display:grid}.reminder-row{border-bottom:1px solid var(--line-dim);color:var(--text-primary);justify-content:space-between;gap:10px;padding-bottom:7px;font-size:13px;display:flex}.reminder-row small{color:var(--accent-ok);white-space:nowrap}.reminder-alert{color:var(--accent-alert);font:600 20px var(--font-display);margin:4px 0}.music-content{justify-content:space-between;align-items:center;gap:18px;display:flex}.music-track{min-width:0;color:var(--text-dim);gap:4px;font-size:13px;display:grid}.music-track strong{color:var(--text-primary);font:600 20px var(--font-display);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.music-track span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.music-controls{gap:6px;display:flex}.music-controls button,.device-actions button,.mute-button{border:1px solid var(--line-dim);color:var(--line-primary);font:600 11px var(--font-display);background:0 0;padding:7px 10px}.music-controls button:hover,.device-actions button:hover,.mute-button:hover{background:var(--line-primary);color:var(--bg-void)}.device-list{gap:7px;display:grid}.device-row{justify-content:space-between;align-items:center;gap:8px;display:flex}.device-row strong{color:var(--text-primary);font:600 14px var(--font-display);display:block}.device-row small{color:var(--text-dim);font-size:10px}.device-actions{gap:4px;display:flex}.mute-button{color:var(--text-dim);border-color:var(--line-dim)}.voice-button.active{background:var(--accent-alert);color:var(--bg-void);border-color:var(--accent-alert)}.mobile-shell{min-height:100vh;padding:12px 12px 150px}.mobile-stack{grid-template-columns:1fr;gap:12px;max-width:720px;margin:0 auto;display:grid}.mobile-stack .panel{grid-area:auto;min-height:150px}.mobile-stack .task-panel{min-height:210px}.mobile-stack .briefing-panel{min-height:180px}.avatar{place-items:center;min-height:160px;display:grid;position:relative}.avatar-ring{border:1px solid var(--line-primary);box-shadow:0 0 12px var(--line-dim), inset 0 0 12px var(--line-dim);border-radius:50%;display:block;position:absolute}.ring-one{border-left-color:#0000;width:112px;height:112px;animation:12s linear infinite spin}.ring-two{border-right-color:#0000;width:84px;height:84px;animation:9s linear infinite spin-reverse}.ring-three{border-bottom-color:var(--accent-alert);width:58px;height:58px;animation:2.8s ease-in-out infinite pulse}.avatar-core{background:var(--line-primary);width:16px;height:16px;box-shadow:0 0 20px var(--line-primary);border-radius:50%;animation:2.4s ease-in-out infinite pulse}.avatar-label{color:var(--line-primary);font:600 11px var(--font-display);letter-spacing:.15em;position:absolute;bottom:0}.avatar-speaking .avatar-core{background:var(--accent-ok);box-shadow:0 0 24px var(--accent-ok);animation-duration:.7s}.avatar-listening .avatar-core{background:var(--accent-ok);box-shadow:0 0 24px var(--accent-ok)}.avatar-listening .ring-one,.avatar-listening .ring-two{animation:1.6s ease-in-out infinite ring-expand}@keyframes ring-expand{50%{opacity:.65;transform:scale(1.18)}}.avatar-alert .avatar-ring{border-color:var(--accent-alert);animation-duration:1s}.status-copy{color:var(--text-primary);font:600 17px var(--font-display);letter-spacing:.08em;align-self:center;line-height:1.4}.status-copy span{color:var(--text-dim);font:400 14px var(--font-body);line-height:1.6}.chat-dock{z-index:30;max-width:1456px;margin:auto;padding:12px 16px 14px;position:fixed;bottom:18px;left:22px;right:22px}.chat-history{max-height:82px;padding:0 4px 7px;font-size:13px;line-height:1.45;overflow:auto}.chat-line{gap:12px;margin:3px 0;display:flex}.chat-line.user{color:var(--text-dim)}.chat-role{color:var(--line-primary);font:700 11px var(--font-display);letter-spacing:.12em;flex:0 0 42px}.chat-empty{color:var(--text-dim)}.chat-form{gap:8px;display:flex}.chat-form input,.gate-card input{border:1px solid var(--line-dim);width:100%;min-width:0;color:var(--text-primary);background:#07101c99;outline:none;padding:12px 14px}.chat-form input:focus,.gate-card input:focus{border-color:var(--line-primary);box-shadow:0 0 10px var(--line-dim)}.icon-button,.send-button{border:1px solid var(--line-primary);color:var(--line-primary);background:0 0;padding:0 15px}.icon-button{width:48px;font-size:18px}.send-button{min-width:86px;font:700 12px var(--font-display);letter-spacing:.14em}.send-button:hover:not(:disabled),.icon-button:hover{background:var(--line-primary);color:var(--bg-void)}.send-button:disabled{opacity:.45;cursor:wait}.gate-shell{background:radial-gradient(circle at 50% 45%,#12364b55,#0000 44%);place-items:center;min-height:100vh;padding:24px;display:grid}.gate-card{width:min(520px,100%);padding:34px}.gate-card h1{font:600 38px var(--font-display);letter-spacing:.03em;margin:38px 0 10px}.gate-copy{color:var(--text-dim);margin-bottom:28px;font-size:14px;line-height:1.6}.gate-card form{gap:8px;display:flex}.gate-error{color:var(--accent-alert);font-size:13px}.panel-flash{animation:1.4s ease-out panel-flash}@keyframes panel-flash{0%{box-shadow:0 0 26px var(--line-primary), var(--glow);border-color:var(--accent-ok)}to{box-shadow:var(--glow)}}.center-response{color:var(--text-primary);font:500 clamp(17px, 1.6vw, 22px)/1.45 var(--font-body);text-shadow:0 0 18px var(--line-dim);align-self:center;animation:.4s ease-out center-in}@keyframes center-in{0%{opacity:0;transform:translateY(6px)}}.m-collapse{position:relative}.m-collapse:not(.open) .panel{max-height:78px;overflow:hidden}.m-collapse:not(.open) .panel:before{content:"";background:linear-gradient(transparent, var(--bg-void));pointer-events:none;z-index:2;height:34px;position:absolute;inset:auto 0 0}.m-collapse-toggle{z-index:3;border:1px solid var(--line-dim);color:var(--line-primary);background:#07101c99;width:34px;height:26px;font-size:13px;position:absolute;top:14px;right:12px}.settings-overlay{z-index:40;background:#05080fd9;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.settings-card{width:min(560px,100%);max-height:85vh;padding:24px;overflow:auto}.settings-head{justify-content:space-between;align-items:center;display:flex}.settings-section{margin-top:20px}.settings-section h3{color:var(--line-primary);font:600 13px var(--font-display);letter-spacing:.14em;text-transform:uppercase;margin-bottom:10px}.settings-row{border-bottom:1px solid var(--line-dim);color:var(--text-primary);justify-content:space-between;align-items:center;gap:12px;padding:8px 0;font-size:13px;display:flex}.settings-row small{color:var(--text-dim);text-align:right}.settings-notice{color:var(--accent-ok);margin-top:16px;font-size:13px;line-height:1.5}.status-dot{background:var(--text-dim);border-radius:50%;width:8px;height:8px;margin-right:8px;display:inline-block}.status-dot.on{background:var(--accent-ok);box-shadow:0 0 8px var(--accent-ok)}.status-dot.off{background:var(--accent-alert);opacity:.6}@keyframes spin{to{transform:rotate(360deg)}}@keyframes spin-reverse{to{transform:rotate(-360deg)}}@keyframes pulse{50%{opacity:.7;transform:scale(1.12)}}@media (width<=800px){.hud-shell{padding:12px 12px 150px}.topbar{margin-bottom:12px}.topbar-status{display:none}.hud-grid{flex-direction:column;display:flex}.status-panel{min-height:260px}.clock-panel{min-height:150px}.chat-dock{bottom:12px;left:12px;right:12px}.chat-form input{padding-inline:10px}.gate-card{padding:24px}.gate-card form{flex-direction:column;gap:10px}.gate-card .send-button{padding:12px}}
