:root{color-scheme:dark;--bg:#0b0e12;--surface:#12171c;--panel:#12171c;--raised:#1a2228;--line:#29343a;--text:#e8f0e9;--muted:#91a597;--green:#65FF87;--neon:#A3FF6B;--radius:20px;font-family:Inter,"Segoe UI",-apple-system,BlinkMacSystemFont,sans-serif;font-synthesis:none}
*{box-sizing:border-box}
body{margin:0;background:var(--bg);color:var(--text);font-size:14px;line-height:1.6}
body[data-theme=oled]{--bg:#000;--surface:#0b100d;--panel:#0b100d;--raised:#101713;--line:#1d2a22}
button,input,textarea,select{font:inherit}
button,a,input,textarea,select{-webkit-tap-highlight-color:transparent}
button{cursor:pointer;min-height:44px;border:1px solid var(--line);border-radius:12px;padding:10px 16px;background:var(--raised);color:var(--text);transition:background .18s,border-color .18s,transform .18s}
button:hover{border-color:#416d4f;background:#1c3023}
button:active{transform:translateY(1px)}
button:disabled{opacity:.4;cursor:default}
.primary{background:var(--green);border-color:var(--green);color:#031409;font-weight:650;box-shadow:0 3px 16px #22c55e0a}
.primary:hover{background:#35d16f;border-color:#35d16f}
.quiet{background:#ffffff04}
.text-button{border-color:transparent;background:transparent;color:var(--muted);padding:6px 10px;font-size:12px}
.icon-button{width:44px;height:44px;display:inline-grid;place-items:center;padding:9px}
.icon-button svg,button svg{width:19px;height:19px;stroke:currentColor;fill:none;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}
:focus-visible{outline:2px solid var(--green);outline-offset:4px}
a{color:var(--green)}
.shell{display:grid;grid-template-columns:240px minmax(0,1fr);min-height:100vh}
.sidebar{border-right:1px solid var(--line);padding:32px 20px;position:sticky;top:0;height:100dvh;display:flex;flex-direction:column;background:#090f0b}
.brand{text-decoration:none;display:flex;align-items:center;gap:12px;color:var(--text);font-size:20px;font-weight:650;letter-spacing:3px;padding:0 8px}
.brand small{display:block;font-size:8px;letter-spacing:1.5px;color:var(--muted);font-weight:500;margin-top:3px}
.brand-mark{height:42px;width:42px;display:grid;place-items:center;border:1px solid #3b7949;border-radius:14px;background:linear-gradient(140deg,#20452b,#102016);font-size:26px;letter-spacing:0;color:var(--neon)}
.sidebar-label{font-size:9px;color:#627869;letter-spacing:2px;margin:46px 14px 16px}
.nav-button{display:flex;align-items:center;gap:12px;background:transparent;border:1px solid transparent;width:100%;text-align:left;color:var(--muted);font-size:13px;margin-bottom:6px;padding:12px}
.nav-button.active{color:var(--neon);border-color:#2a4934;background:#172d1d}
.nav-button small{font-size:8px;border:1px solid var(--line);padding:1px 5px;border-radius:4px;margin-left:auto;letter-spacing:1px}
.sidebar-bottom{margin-top:auto;font-size:11px;color:var(--muted);padding:14px 10px}
.sidebar-bottom small{display:block;font-size:9px;margin-top:14px;letter-spacing:1px;color:#617869}
.status-dot{display:inline-block;width:6px;height:6px;border-radius:50%;background:var(--green);margin-right:8px;box-shadow:0 0 9px #22c55e35}
.icon-definitions{position:absolute;width:0;height:0;overflow:hidden}
main{width:100%;max-width:1460px;margin:0 auto;padding:30px clamp(20px,3vw,48px);min-width:0}
.topbar{background:#070b09b3;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);display:flex;align-items:center;justify-content:space-between;margin-bottom:26px;padding-bottom:24px;border-bottom:1px solid var(--line);gap:16px}
h1{font-size:23px;font-weight:550;letter-spacing:-.6px;margin:3px 0 0}
.eyebrow{color:#8aaa94;font-size:9px;letter-spacing:2px;font-weight:600}
.topbar-right{display:flex;align-items:center;gap:18px}
.private-badge{font-size:9px;letter-spacing:1.8px;color:#829587}
.panel{border:1px solid var(--line);border-radius:var(--radius);background:linear-gradient(150deg,#17251b60,transparent),var(--surface);padding:26px;box-shadow:0 8px 36px #00000012}
.intro{margin:18px 0 24px}
.intro h2{margin:7px 0 4px}
.intro p{margin:0}
.section-heading{display:flex;justify-content:space-between;align-items:center;gap:14px}
h2{font-size:32px;line-height:1.2;font-weight:520;letter-spacing:-1.2px;margin:16px 0}
h3{font-size:15px;letter-spacing:-.2px;font-weight:560;margin:0 0 20px}
p{color:var(--muted)}
small{font-size:11px;color:var(--muted)}
.actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.badge{border:1px solid var(--line);border-radius:30px;padding:6px 12px;color:var(--neon);font-size:11px;max-width:240px;overflow-wrap:anywhere}
.muted{color:var(--muted);font-size:12px}
.configuration-note{font-size:12px;color:var(--muted);margin:18px 0;max-width:840px}
#notice:empty{display:none}
#notice:not(:empty){border-left:2px solid var(--green);background:#22c55e0c;border-radius:6px;padding:12px 16px;color:var(--text);margin-bottom:20px}
label{display:block;font-size:12px;color:var(--muted);margin-bottom:20px}
input,textarea,select{display:block;width:100%;border:1px solid var(--line);border-radius:10px;color:var(--text);background:#070b0980;padding:12px 14px;min-height:44px;margin-top:8px}
textarea{resize:vertical}
input::placeholder,textarea::placeholder{color:#5f7767}
input[type=checkbox]{width:22px;height:22px;min-height:0;accent-color:var(--green);margin:0}
input[type=range]{accent-color:var(--green);padding:0;background:transparent;cursor:pointer}
output{float:right;color:var(--text)}
.login-panel{max-width:440px;margin:8vh auto;padding:36px}
.login-panel p{margin:0 0 32px}
.login-panel small{display:block;margin:22px 0 0;text-align:center}
.wide{width:100%;display:flex;justify-content:space-between}
.welcome{position:relative;display:flex;align-items:center;justify-content:space-between;overflow:hidden;min-height:330px;padding:40px;background:radial-gradient(ellipse at 85% 50%,#18392388,transparent 65%),var(--surface)}
.welcome h2{font-size:clamp(30px,3.1vw,44px);line-height:1.15;margin:20px 0}
.welcome p{font-size:13px;margin-bottom:26px}
.welcome-art{position:relative;width:260px;height:260px;flex-shrink:0;display:grid;place-items:center}
.art-ring{position:absolute;width:210px;height:210px;border:1px solid #69b17b30;border-radius:50%;box-shadow:0 0 60px #22c55e0d}
.art-ring.inner{width:160px;height:160px;border:1px solid #69b17b55}
.art-core{display:grid;place-items:center;width:110px;height:110px;background:radial-gradient(circle at 30% 30%,#305c37,#112417);border:1px solid #60926c;border-radius:34px;font-size:66px;font-weight:300;color:var(--neon);box-shadow:0 0 70px #22c55e15;transform:rotate(-8deg)}
.art-caption{position:absolute;bottom:3px;font-size:8px;letter-spacing:3px;color:#7c9d86}
.overview-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin:22px 0}
.metric{padding:24px}
.metric>span{font-size:12px;color:var(--muted)}
.metric strong{display:block;font-size:32px;font-weight:450;letter-spacing:-1px;margin:14px 0 8px}
.metric small{display:block}
.dashboard-grid{display:grid;grid-template-columns:1.4fr 1fr;gap:20px}
.connection-card h3{font-size:23px;margin:14px 0 6px}
.connection-card p{font-size:13px}
.dashboard-task{padding:15px 0;border-top:1px solid var(--line);display:flex;justify-content:space-between;gap:12px;overflow-wrap:anywhere}
.dashboard-task small{flex-shrink:0}
.chat-layout{display:grid;grid-template-columns:230px minmax(0,1fr);gap:18px}
.conversations{padding:22px 14px}
.conversations .section-heading{padding:0 6px}
.conversations h3{margin:0}
.conversations .icon-button{height:36px;min-height:36px;width:36px;font-size:23px;background:transparent}
.conversation-button{width:100%;display:block;text-align:left;font-size:12px;padding:12px;background:transparent;border-color:transparent;overflow-wrap:anywhere;border-radius:9px;margin:5px 0;color:var(--muted)}
.conversation-button[aria-pressed=true]{color:var(--text);background:#213a2970;border-color:#32513b}
#conversation-list{margin-top:18px;max-height:540px;overflow:auto}
.chat-panel{padding:0;overflow:hidden;min-width:0}
.chat-heading{padding:20px 24px;border-bottom:1px solid var(--line)}
.chat-heading>div:first-child{display:flex;align-items:center;min-width:0}
.chat-heading h3{margin:0;overflow-wrap:anywhere}
#messages{height:440px;overflow:auto;padding:28px 24px;scrollbar-width:thin;scrollbar-color:var(--line) transparent}
.chat-message{width:fit-content;max-width:86%;padding:15px 18px;background:#1b2b22;border:1px solid #2b4133;border-radius:17px 17px 17px 4px;margin-bottom:24px}
.chat-message.user{margin-left:auto;background:#1c3926;border-color:#32583e;border-radius:17px 17px 4px 17px}
.chat-message strong{font-size:10px;text-transform:uppercase;letter-spacing:1px;color:#91b69d}
.chat-message.user strong{color:var(--neon)}
.chat-message p{color:var(--text);white-space:pre-wrap;overflow-wrap:anywhere;margin:6px 0;font-size:13px;line-height:1.8}
.chat-message .play-message{margin:6px 0 0;padding-left:0;min-height:32px}
.message-error{display:block;color:#dabb7e;font-size:11px}
.empty{padding:30px 10px;text-align:center;font-size:13px}
.composer{margin:0 20px;padding:12px;background:#080e0a80;border:1px solid #304c39;border-radius:16px}
.composer textarea{border:0;background:transparent;margin:0;resize:vertical;min-height:64px;padding:8px 10px;outline-offset:0}
.composer-toolbar{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-top:6px}
.send{display:flex;align-items:center;gap:8px;font-size:12px}
.chat-disclaimer{display:block;text-align:center;font-size:10px;margin:14px 12px 20px}
#chat-status{padding:0 24px;margin:8px 0;min-height:20px}
.typing{display:flex;gap:5px;align-items:center;padding:0 24px 10px}
.typing>span{height:5px;width:5px;border-radius:50%;background:var(--green);animation:thinking 1.2s ease-in-out infinite}
.typing>span:nth-child(2){animation-delay:.15s}
.typing>span:nth-child(3){animation-delay:.3s}
.typing small{margin-left:8px;font-size:10px}
.usage-panel{margin-top:20px;padding:22px}
.usage-panel h3{margin:0}
.usage-panel p{font-size:11px}
.usage-panel small{font-size:10px}
.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin:20px 0}
.stats article{border:1px solid var(--line);background:var(--surface);border-radius:16px;padding:20px 24px}
.stats strong{display:block;font-size:29px;font-weight:450;color:var(--neon)}
.stats span{font-size:12px;color:var(--muted)}
.layout{display:grid;grid-template-columns:330px minmax(0,1fr);gap:20px}
.filter{min-width:120px;margin:0}
.filter select{font-size:12px;padding:8px;margin:4px 0 14px}
.task{padding:20px 0;border-top:1px solid var(--line)}
.task h4{margin:0;font-weight:550;font-size:14px;overflow-wrap:anywhere}
.task p{font-size:12px;white-space:pre-wrap;overflow-wrap:anywhere}
.task small{display:block;margin:8px 0}
.task select{width:auto;padding:7px;font-size:11px;margin:0;min-height:36px}
.task button{font-size:11px;padding:7px 12px;min-height:36px}
.voice-stage{text-align:center;padding:40px 24px;background:radial-gradient(ellipse at center,#15321e50,transparent 65%),var(--surface)}
.voice-visual{height:240px;width:260px;position:relative;display:grid;place-items:center;margin:20px auto 14px}
.voice-ring{width:190px;height:190px;border:1px solid #22c55e55;position:absolute;border-radius:50%}
.voice-ring.secondary{height:220px;width:220px;border-color:#22c55e20}
.voice-core{height:126px;width:126px;display:grid;place-items:center;font-size:62px;color:var(--neon);font-weight:300;border:1px solid #4b885b;border-radius:50%;background:radial-gradient(circle at 40% 30%,#274b30,#0f1d13);box-shadow:0 0 60px #22c55e0b}
.audio-waves{display:none;position:absolute;align-items:center;gap:6px;height:80px;z-index:1}
.audio-waves span{width:5px;height:22px;background:var(--green);border-radius:8px;animation:wave 1s ease-in-out infinite alternate}
.audio-waves span:nth-child(2n){animation-delay:.2s}
.audio-waves span:nth-child(3n){animation-delay:.4s}
.voice-visual[data-state=listening] .audio-waves{display:flex}
.voice-visual[data-state=listening] .voice-core{color:transparent}
.voice-visual[data-state=speaking] .voice-ring{animation:speak 1.8s ease-in-out infinite}
.voice-visual[data-state=processing] .voice-ring{animation:speak 3s ease-in-out infinite}
.voice-stage h3{font-size:23px;letter-spacing:-.5px;margin:12px 0}
.voice-stage p{font-size:13px;max-width:560px;margin:12px auto 24px}
.voice-main-actions{display:flex;justify-content:center;align-items:center;gap:12px;flex-wrap:wrap}
.microphone-large{display:flex;align-items:center;gap:12px;padding:14px 22px;border-radius:30px}
.microphone-large svg{width:22px;height:22px}
.voice-controls{display:flex;justify-content:center;gap:8px;flex-wrap:wrap;margin:24px 0 0}
.voice-controls button{font-size:12px}
.voice-transcript-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-top:20px}
.transcript{color:var(--text);font-size:14px;white-space:pre-wrap;overflow-wrap:anywhere;max-height:240px;overflow:auto}
.settings-panel{max-width:900px;margin:22px 0}
.settings-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 32px}
.settings-panel small{display:block;margin-top:4px}
.settings-panel select{max-width:380px}
.switch-label{display:flex;justify-content:space-between;align-items:center;gap:24px;padding:18px 0;border-bottom:1px solid var(--line);font-size:13px;color:var(--text)}
.switch-label small{color:var(--muted);font-size:11px;font-weight:400}
.future-panel{padding:80px 24px;text-align:center}
.future-panel>svg{display:block;width:48px;height:48px;fill:none;stroke:var(--green);stroke-width:1;margin:0 auto 24px}
.future-panel h2{margin:20px 0}
.future-panel p{font-size:13px}
progress{width:100%;height:5px;appearance:none;border:0;border-radius:9px;background:var(--line);margin:10px 0}
progress::-webkit-progress-bar{background:var(--line);border-radius:9px}
progress::-webkit-progress-value{background:var(--green);border-radius:9px}
progress::-moz-progress-bar{background:var(--green);border-radius:9px}
footer{font-size:10px;color:#667b6d;display:flex;justify-content:space-between;gap:16px;padding:36px 0 8px;margin-top:14px}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
[hidden]{display:none!important}
@keyframes wave{from{transform:scaleY(.55)}
to{transform:scaleY(2.4)}
}
@keyframes speak{50%{transform:scale(1.06);opacity:.45}
}
@keyframes thinking{50%{opacity:.35;transform:translateY(-3px)}
}
body[data-reduced-motion=true] *,body[data-reduced-motion=true] *::before{animation:none!important;transition:none!important}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important}
}
@media(max-width:1100px){.shell{grid-template-columns:205px minmax(0,1fr)}
.sidebar{padding:28px 12px}
.brand{font-size:17px;gap:9px}
.brand small{font-size:7px}
.chat-layout{grid-template-columns:190px minmax(0,1fr)}
.welcome-art{width:220px}
.layout{grid-template-columns:280px minmax(0,1fr)}
}
@media(max-width:800px){.shell{display:block}
.sidebar{position:relative;height:auto;padding:18px 18px 0;border-right:0;border-bottom:1px solid var(--line)}
.brand{padding-top:env(safe-area-inset-top)}
.sidebar-label,.sidebar-bottom{display:none}
#navigation{display:flex;overflow-x:auto;gap:6px;margin:20px -18px 0;padding:0 18px 12px;scrollbar-width:none}
.nav-button{width:auto;flex-shrink:0;margin:0;font-size:11px;padding:9px 12px;gap:8px}
.nav-button svg{height:15px;width:15px}
.nav-button small{font-size:6px}
main{padding:22px 18px max(22px,env(safe-area-inset-bottom))}
.topbar{padding-bottom:18px}
.topbar .eyebrow{font-size:8px}
.private-badge{display:none}
.welcome{padding:28px;min-height:300px}
.welcome-art{width:180px;height:220px}
.art-ring{width:150px;height:150px}
.art-ring.inner{width:120px;height:120px}
.art-core{width:88px;height:88px;font-size:50px;border-radius:28px}
.overview-grid{gap:10px}
.metric{padding:18px}
.metric strong{font-size:25px}
.dashboard-grid,.layout{grid-template-columns:1fr}
.chat-layout{grid-template-columns:1fr}
.conversations{padding:14px 18px}
#conversation-list{display:flex;gap:6px;max-height:140px;margin-top:10px;overflow:auto}
.conversation-button{min-width:120px;width:auto;flex-shrink:0;max-width:220px}
.chat-heading{padding:16px 18px}
#messages{height:400px;padding:20px 16px}
.composer{margin:0 12px}
.chat-message{max-width:92%}
.chat-voice-state{display:none}
.settings-panel{padding:22px}
.login-panel{margin:40px auto}
.voice-stage{padding:28px 16px}
}
@media(max-width:480px){main{padding-inline:max(14px,env(safe-area-inset-left)) max(14px,env(safe-area-inset-right))}
.welcome{min-height:300px}
.welcome h2{font-size:31px;letter-spacing:-1px}
.welcome-art{display:none}
.overview-grid{grid-template-columns:1fr}
.metric{display:grid;grid-template-columns:1fr auto;align-items:center;gap:0 8px}
.metric strong{margin:0;grid-column:2;grid-row:1 / 3}
.metric small{margin-top:5px}
.metric progress{grid-column:1 / 3}
.intro h2{font-size:29px}
.intro{align-items:flex-start;flex-wrap:wrap}
.badge{font-size:10px}
.stats{gap:8px}
.stats article{padding:16px}
.stats strong{font-size:25px}
.stats span{font-size:10px}
.settings-grid,.voice-transcript-grid{grid-template-columns:1fr}
.composer-toolbar .muted{display:none}
.chat-heading h3{font-size:13px}
.chat-heading .actions{gap:0}
.chat-heading .text-button{padding-inline:6px}
.chat-message p{font-size:14px}
.panel{padding:22px}
.chat-panel{padding:0}
.conversations{padding:14px 18px}
input,textarea,select{font-size:16px}
.voice-visual{transform:scale(.9);margin:4px auto}
footer{font-size:9px}
.login-panel{padding:26px}
.composer-toolbar .actions{gap:2px}
#chat-stop-speaking{font-size:10px}
}
/* Voice Core: audio levels come from AnalyserNode; particles are decoration. */
.voice-visual{--orb-level:0;width:min(460px,85vw);height:min(460px,85vw);margin:18px auto;isolation:isolate}
.voice-core{width:54%;height:54%;font-size:clamp(64px,10vw,110px);border-color:#63da8355;background:radial-gradient(circle at 30% 25%,#4b9162 0,#185332 34%,#092819 75%,#06190e);box-shadow:inset -20px -20px 40px #020b0755,0 0 60px #22c55e30;transform:scale(calc(1 + var(--orb-level)*.18));transition:transform 70ms linear;z-index:1}
#orb-canvas{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;z-index:3}
.voice-visual .voice-ring{height:72%;width:72%;border-color:#57df8140}.voice-visual .voice-ring.secondary{height:86%;width:86%;border-color:#57df8120}
.voice-visual[data-orb-state=idle] .voice-core{animation:orb-breathe 5s ease-in-out infinite}
.voice-visual[data-orb-state=thinking] .voice-ring{border-top-color:#a3f58c;border-right-color:#a3f58c66;animation:orb-rotate 4s linear infinite}
.voice-visual[data-orb-state=listening] .audio-waves{display:none}.voice-visual[data-orb-state=listening] .voice-core{color:var(--neon)}
.voice-visual[data-orb-state=speaking] .voice-ring{animation:none}.voice-visual[data-orb-state=error] .voice-core{box-shadow:0 0 65px #ef444450;border-color:#ef4444;background:radial-gradient(circle at 30% 25%,#763e3e,#301313)}
.orb-particles{position:absolute;inset:0;pointer-events:none;animation:orb-rotate 35s linear infinite}.orb-particles i{position:absolute;width:3px;height:3px;border-radius:50%;background:#9af6ab;box-shadow:0 0 8px #22c55e}
.orb-particles i:nth-child(1){left:12%;top:30%}.orb-particles i:nth-child(2){left:76%;top:12%}.orb-particles i:nth-child(3){left:89%;top:62%}.orb-particles i:nth-child(4){left:23%;top:88%}.orb-particles i:nth-child(5){left:6%;top:67%}.orb-particles i:nth-child(6){left:65%;top:94%}
@keyframes orb-breathe{50%{transform:scale(1.025);opacity:.85}}@keyframes orb-rotate{to{transform:rotate(360deg)}}
@media(prefers-reduced-motion:reduce){.voice-core{transform:none!important}.orb-particles{animation:none!important}}
body[data-reduced-motion=true] .voice-core{transform:none!important}
.dev-controls{margin-bottom:18px}.danger{border-color:#7f3838;background:#301515;color:#fca5a5}.task details{margin:10px 0;border:1px solid var(--line);border-radius:10px;padding:10px}.task summary{cursor:pointer;color:var(--neon);font-size:12px}.task pre{white-space:pre-wrap;overflow-wrap:anywhere;max-height:360px;overflow:auto;font-size:11px;line-height:1.7;color:var(--muted)}
.approval-dialog{max-width:480px;width:calc(100% - 32px);color:var(--text)}.approval-dialog::backdrop{background:#000b;backdrop-filter:blur(4px)}
/* iPhone and notification refinements: single-column cards, safe-area touch targets. */
body{min-height:100dvh}.notification-card{padding:20px 0;border-top:1px solid var(--line)}.notification-card h4{font-size:14px;margin:0}.notification-card small{display:block;margin:6px 0}.notification-card.unread h4{color:var(--neon)}.notification-card p{white-space:pre-wrap;overflow-wrap:anywhere;font-size:13px}.offline-page{max-width:540px;margin:8dvh auto;padding:24px max(20px,env(safe-area-inset-left)) max(24px,env(safe-area-inset-bottom))}.offline-page>.brand-mark{margin-bottom:24px}
@media(max-width:800px){.sidebar{padding-left:max(18px,env(safe-area-inset-left));padding-right:max(18px,env(safe-area-inset-right))}.nav-button{min-height:44px}#notification-list button,#push-subscriptions button,#reminder-list button{min-height:44px}.composer textarea{max-height:28dvh}.voice-visual{max-height:420px}#messages{height:clamp(260px,48dvh,420px)}.topbar-right button{min-height:44px}}

/* Voice 2 signals are decorative; audio level is measured by the analyser. */
.voice-visual[data-orb-state="activated"] .voice-core{animation:voice2-activate .45s ease-out}
.voice-visual[data-orb-state="background"] .voice-ring{animation:voice2-background 4s linear infinite}
.credential-display,#voice2-jobs pre{white-space:pre-wrap;overflow-wrap:anywhere;font-size:.8rem}
#voice2-reply,#voice2-transcript{white-space:pre-wrap}
@keyframes voice2-activate{50%{box-shadow:0 0 75px #22c55e;transform:scale(1.12)}}
@keyframes voice2-background{to{transform:rotate(360deg)}}
@media(prefers-reduced-motion:reduce){.voice-visual[data-orb-state="activated"] .voice-core,.voice-visual[data-orb-state="background"] .voice-ring{animation:none}}
body[data-reduced-motion="true"] .voice-visual[data-orb-state="activated"] .voice-core,body[data-reduced-motion="true"] .voice-visual[data-orb-state="background"] .voice-ring{animation:none}

/* AI 4.0: graphite surfaces and a measured, triangular emerald core. */
body{background:radial-gradient(ellipse at 80% 0,#65ff8708,transparent 50%),var(--bg)}
.sidebar{background:#0d1116}.topbar{background:#0b0e12bb}.panel{background:linear-gradient(140deg,#65ff8706,transparent 45%),var(--surface)}
.primary{box-shadow:0 0 20px #65ff8714}.primary:hover{background:#A3FF6B;border-color:#A3FF6B}
.nav-button.active{color:var(--green);background:#65ff870d;border-color:#65ff8738}.eyebrow{color:#A3FF6B}
.welcome{background:radial-gradient(ellipse at 85% 50%,#65ff8710,transparent 60%),var(--surface)}
.welcome-art{width:300px;height:300px}#dashboard-orb-canvas{width:100%;height:100%}.art-caption{color:var(--green)}
.voice-stage{background:radial-gradient(circle at 50% 36%,#65ff8709,transparent 50%),var(--surface)}
.voice-visual .voice-ring,.voice-visual .orb-particles,.voice-visual .audio-waves{display:none!important}
.voice-visual .voice-core{background:transparent;border:0;box-shadow:none;width:20%;height:20%;font-size:30px;color:#65ff8755;animation:none!important;transform:none!important}
#orb-canvas{filter:drop-shadow(0 0 5px #65ff8735)}
.chat-message{background:#172027;border-color:#2d3e42}.chat-message.user{background:#65ff870c;border-color:#65ff8730}
.settings-panel{border-top-color:#65ff8733}.memory-card{padding:20px;border-bottom:1px solid var(--line)}.memory-card p{white-space:pre-wrap;overflow-wrap:anywhere}
@media(max-width:800px){.welcome-art{width:220px;height:220px}}
@media(max-width:480px){.welcome-art{display:block;width:180px;height:180px;margin:12px auto}.welcome{display:block}.welcome h2{font-size:32px}.voice-visual{transform:none;width:min(360px,88vw);height:min(360px,88vw)}}

.voice-visual[data-orb-state=activated] #orb-canvas{filter:drop-shadow(0 0 14px #65ff8790)}

.voice-visual[data-orb-state=error] .voice-core{background:transparent;border:0;box-shadow:none;color:#ef6464}

/* 6.0 Stage A — consistent, accessible dark glass controls. */
:root{--bg:#0B1010;--surface:#111d1bcc;--panel:#111d1bcc;--raised:#192b25;--line:#31493f;--text:#efffe7;--muted:#aac3af;--green:#65FF87;--neon:#A3FF6B;--soft:#D4FFAA;--control:#101d17;color-scheme:dark}
body{background:radial-gradient(ellipse at 80% 0,#65ff870b,transparent 55%),var(--bg)}
.sidebar,.topbar{background:#0b1010e8}.panel{background:linear-gradient(135deg,#d4ffaa07,transparent 55%),var(--panel);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-color:var(--line)}
input,textarea,select{color:var(--text);background:var(--control);border-color:var(--line);caret-color:var(--green);color-scheme:dark}
input:hover,textarea:hover,select:hover{border-color:#65ff8780}
input:disabled,textarea:disabled,select:disabled{opacity:.6;cursor:not-allowed}
select{appearance:none;-webkit-appearance:none;padding-right:40px;background-image:linear-gradient(45deg,transparent 50%,#A3FF6B 50%),linear-gradient(135deg,#A3FF6B 50%,transparent 50%);background-position:calc(100% - 21px) 50%,calc(100% - 16px) 50%;background-size:5px 5px;background-repeat:no-repeat}
option,optgroup{background:#101d17;color:#D4FFAA}option:checked{background:#244635;color:#efffe7}
input[type=checkbox]{appearance:none;-webkit-appearance:none;position:relative;flex-shrink:0;width:24px;height:24px;border:1px solid #65ff8770;border-radius:6px;background:#101d17;display:inline-block;padding:0}
input[type=checkbox]:checked{background:#A3FF6B;border-color:#A3FF6B}
input[type=checkbox]:checked::after{content:"";position:absolute;left:7px;top:3px;width:6px;height:12px;border:solid #092010;border-width:0 2px 2px 0;transform:rotate(45deg)}
input[type=range]{appearance:none;-webkit-appearance:none;min-height:44px;border:0;padding:0;background:transparent}
input[type=range]::-webkit-slider-runnable-track{height:6px;border-radius:8px;background:linear-gradient(90deg,#65ff8790,#a3ff6b45);border:1px solid #65ff8735}
input[type=range]::-webkit-slider-thumb{appearance:none;-webkit-appearance:none;width:22px;height:22px;border-radius:50%;margin-top:-9px;background:#D4FFAA;border:2px solid #65FF87;box-shadow:0 0 12px #65ff8738}
input[type=range]::-moz-range-track{height:6px;border-radius:8px;background:#254735;border:1px solid #65ff8735}
input[type=range]::-moz-range-progress{height:6px;background:#65FF87;border-radius:8px}
input[type=range]::-moz-range-thumb{width:20px;height:20px;border-radius:50%;background:#D4FFAA;border:2px solid #65FF87}
input::-webkit-calendar-picker-indicator{filter:invert(79%) sepia(37%) saturate(650%) hue-rotate(58deg);cursor:pointer}
input:-webkit-autofill,input:-webkit-autofill:hover,input:-webkit-autofill:focus{-webkit-text-fill-color:#efffe7;box-shadow:inset 0 0 0 1000px #101d17;caret-color:#65FF87}
button{border-color:var(--line);color:var(--text);background:var(--raised)}button:hover{background:#244535;border-color:#65ff8780}.primary{background:#65FF87;color:#071a0d;border-color:#65FF87}.primary:hover{background:#A3FF6B;color:#071a0d}.danger{background:#321b1f;color:#ffd0d0;border-color:#b66572}
button:disabled{opacity:.6;cursor:not-allowed}.text-button{background:transparent;border-color:transparent;color:var(--soft)}
a{color:var(--soft)}:focus-visible{outline:2px solid #D4FFAA;outline-offset:4px}
output{color:#D4FFAA}summary{color:#D4FFAA;cursor:pointer;min-height:44px;padding:10px 0}
dialog{color:var(--text);background:#102019;border:1px solid #65ff8760;border-radius:20px;padding:28px;max-height:90dvh;overflow:auto}
dialog::backdrop{background:#020807cc;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}
.integration-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,310px),1fr));gap:18px;margin:24px 0}.integration-card{display:flex;flex-direction:column;gap:10px;min-width:0}.integration-card h3{margin:0;font-size:18px}.integration-card p{margin:4px 0}.integration-card small{display:block;overflow-wrap:anywhere}.integration-card .actions{margin-top:auto;padding-top:12px}.integration-card .section-heading{align-items:flex-start;flex-wrap:wrap}
.integration-state{padding:4px 9px;border-radius:20px;border:1px solid var(--line);font-size:11px;color:var(--muted)}.state-connected{color:#A3FF6B;background:#65ff870c;border-color:#65ff8750}.state-offline,.state-error,.state-stopped,.integration-error{color:#ffbdc6}.integration-control{display:flex;gap:16px;flex-wrap:wrap;align-items:center}.integration-control small{width:100%}.integration-dialog{width:min(560px,calc(100% - 28px))}.integration-history h3{margin:0}.integration-run{padding:18px 0;border-bottom:1px solid var(--line)}.integration-run small{display:block;margin:5px 0}.integration-run pre{padding:14px;background:#0b1511;border:1px solid var(--line);border-radius:10px;color:#D4FFAA;white-space:pre-wrap;overflow-wrap:anywhere;max-height:280px;overflow:auto;font-size:12px}
#integrations-notice:not(:empty),#integration-dialog-status:not(:empty){padding:12px;border-left:2px solid #65FF87;background:#65ff8708;color:var(--text);border-radius:6px}
body[data-theme=oled]{--bg:#000;--surface:#08110dcc;--panel:#08110dcc;--raised:#102018;--control:#07110b}
@media(max-width:800px){.panel{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.integration-control .actions{width:100%}.integration-card button{min-height:44px}.integration-dialog{padding:22px}}
@media(forced-colors:active){input[type=checkbox],select{appearance:auto;-webkit-appearance:auto}input[type=checkbox]::after{display:none}select{background-image:none}input[type=range]{appearance:auto;-webkit-appearance:auto}.integration-state{border-color:CanvasText}:focus-visible{outline-color:Highlight}}
