:root{--bg:#05070b;--bg2:#0a0f17;--line:rgba(120,220,230,.16);--line2:rgba(150,120,255,.22);--teal:#2ee6d6;--teal2:#14b8c4;--violet:#8b6cff;--violet2:#b49bff;--txt:#e6f3f5;--mut:#8aa1aa;--dim:#5b6f78;--red:#ff5d7a;--ok:#3ef0a8;--r:16px;--dock:150px}
*{box-sizing:border-box}
html,body{margin:0;background:var(--bg);color:var(--txt);font:15px/1.45 -apple-system,BlinkMacSystemFont,"SF Pro Text","Segoe UI",Roboto,Inter,sans-serif;-webkit-font-smoothing:antialiased;-webkit-tap-highlight-color:transparent}
body{min-height:100vh;overflow-x:hidden}
button,input,select,textarea{font:inherit;color:inherit}
button{cursor:pointer}
:focus-visible{outline:2px solid var(--teal);outline-offset:2px;border-radius:10px}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
.grid-bg{position:fixed;inset:0;pointer-events:none;background:
 radial-gradient(600px 380px at 50% -60px,rgba(46,230,214,.13),transparent 70%),
 radial-gradient(500px 400px at 100% 30%,rgba(139,108,255,.08),transparent 70%),
 linear-gradient(rgba(120,220,230,.035) 1px,transparent 1px) 0 0/100% 28px,
 linear-gradient(90deg,rgba(120,220,230,.035) 1px,transparent 1px) 0 0/28px 100%;z-index:0}
#app{position:relative;z-index:1;max-width:720px;margin:0 auto;padding:calc(env(safe-area-inset-top) + 12px) 16px calc(var(--dock) + env(safe-area-inset-bottom) + 24px)}
.top{display:flex;align-items:center;justify-content:space-between;gap:12px}
.brand{display:flex;flex-direction:column;line-height:1.1}
.mark{display:inline-flex;align-items:center;gap:1px;font:300 19px/1 -apple-system,"SF Pro Display","Helvetica Neue",Inter,sans-serif;letter-spacing:.42em;text-transform:uppercase}
.mark .word{background:linear-gradient(90deg,#e9fffd 0,var(--teal) 45%,var(--violet2) 100%);-webkit-background-clip:text;background-clip:text;color:transparent;filter:drop-shadow(0 0 8px rgba(46,230,214,.35))}
.o-glyph{width:20px;height:20px;margin-right:2px;overflow:visible}
.o-glyph circle{fill:none;stroke:var(--teal);stroke-width:1.6;filter:drop-shadow(0 0 4px rgba(46,230,214,.6))}
.o-glyph .sat{fill:var(--violet2);stroke:none;transform-origin:12px 12px;animation:spin 7s linear infinite;filter:drop-shadow(0 0 4px rgba(180,155,255,.9))}
.sub{font-size:12px;color:var(--mut);margin-top:4px;letter-spacing:.04em}
.dot{width:7px;height:7px;border-radius:50%;background:var(--dim)}
@keyframes blip{50%{transform:scale(1.8)}}
/* hero + orb */
.hero{text-align:center;padding:18px 0 8px}
.orb{position:relative;width:148px;height:148px;margin:6px auto 10px;display:block;border:0;background:none;padding:0;border-radius:50%}
.orb .core{position:absolute;inset:44px;border-radius:50%;background:radial-gradient(circle at 40% 35%,#d8fffb 0,var(--teal) 22%,#0f7f8f 55%,#1a1040 100%);box-shadow:0 0 28px rgba(46,230,214,.55),0 0 70px rgba(139,108,255,.35);animation:breathe 4.5s ease-in-out infinite}
.orb .ring{position:absolute;border-radius:50%;border:1px solid var(--line)}
@keyframes spin{to{transform:rotate(360deg)}}
@keyframes breathe{50%{transform:scale(1.05);box-shadow:0 0 36px rgba(46,230,214,.7),0 0 90px rgba(139,108,255,.45)}}
.orb .r1{inset:34px;border-color:rgba(46,230,214,.28);border-top-color:transparent;border-bottom-color:transparent;animation:spin 11s linear infinite}
.orb .path{inset:12px;border:1px solid rgba(46,230,214,.38);box-shadow:0 0 14px rgba(46,230,214,.12),inset 0 0 14px rgba(139,108,255,.1)}
.orb .r3{inset:0;border-style:dashed;border-color:rgba(120,220,230,.12);animation:spin 60s linear infinite}
.orb .track{position:absolute;inset:12px;border-radius:50%;animation:spin 8s linear infinite}
.orb .sat{position:absolute;top:-5px;left:50%;width:10px;height:10px;margin-left:-5px;border-radius:50%;background:radial-gradient(circle at 35% 35%,#fff 0,var(--violet2) 45%,var(--violet) 100%);box-shadow:0 0 10px rgba(180,155,255,.95),0 0 22px rgba(139,108,255,.6)}
.orb.active .track{animation-duration:2.4s}.orb.active .r1{animation-duration:2.2s}
.orb.listening .track{animation-duration:3.2s}.orb.listening .path{border-color:rgba(180,155,255,.55)}
.orb.active .core{animation:talk .42s ease-in-out infinite alternate}
.orb.listening .core{background:radial-gradient(circle at 40% 35%,#efe8ff 0,var(--violet2) 22%,#5a3fd6 58%,#140c33 100%);box-shadow:0 0 30px rgba(139,108,255,.7),0 0 80px rgba(46,230,214,.3)}
@keyframes talk{from{transform:scale(.94)}to{transform:scale(1.12)}}
@media (prefers-reduced-motion:reduce){.orb *{animation:none!important}}
.greet{font-size:20px;font-weight:600;margin:4px 0 2px;letter-spacing:-.01em}
.sum{color:var(--mut);margin:0 0 14px;font-size:14px;min-height:1.4em}
.hero-actions{display:flex;flex-wrap:wrap;gap:8px;justify-content:center;align-items:center}
.btn{display:inline-flex;align-items:center;gap:8px;min-height:44px;padding:0 16px;border-radius:12px;border:1px solid var(--line);background:rgba(14,22,32,.75);font-weight:600;font-size:14px;transition:border-color .15s,background .15s}
.btn:active{transform:scale(.98)}
.btn .ic{color:var(--teal);font-size:13px}
.btn.primary{border-color:rgba(46,230,214,.5);background:linear-gradient(180deg,rgba(46,230,214,.18),rgba(46,230,214,.06));box-shadow:0 0 18px rgba(46,230,214,.12) inset}
.chip{min-height:34px;padding:0 13px;border-radius:999px;border:1px solid var(--line2);background:rgba(139,108,255,.07);font-size:13px;white-space:nowrap}
.chip.persona{color:var(--violet2);min-height:44px}
.chip.persona::before{content:"◐ ";color:var(--violet)}
/* panels */
.panel{margin-top:22px}
.panel h2{display:flex;align-items:baseline;justify-content:space-between;gap:8px;font:600 11px/1 ui-monospace,"SF Mono",Menlo,monospace;letter-spacing:.22em;text-transform:uppercase;color:var(--teal);margin:0 0 10px;padding-bottom:8px;border-bottom:1px solid var(--line)}
.panel h2 .hint{letter-spacing:.02em;text-transform:none;color:var(--dim);font-weight:400}
.empty{border:1px dashed var(--line);border-radius:var(--r);padding:18px;text-align:center;color:var(--mut);font-size:14px}
/* feed */
.feed{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:9px}
.fi{max-width:88%;border:1px solid var(--line);border-radius:14px 14px 14px 4px;background:rgba(12,18,27,.85);padding:10px 12px;align-self:flex-start}
.fi .k{font:600 10px/1 ui-monospace,"SF Mono",Menlo,monospace;letter-spacing:.14em;text-transform:uppercase;color:var(--teal);margin-bottom:5px;display:flex;gap:8px}
.fi .k time{color:var(--dim);font-weight:400;letter-spacing:.04em;text-transform:none}
.fi.done .k{color:var(--ok)}.fi.heads-up .k{color:var(--violet2)}.fi.question .k{color:var(--violet2)}
.fi b{display:block;font-weight:600;font-size:14px;overflow-wrap:anywhere}
.fi span.tx{display:block;color:var(--mut);font-size:13px;margin-top:2px;overflow-wrap:anywhere}
.fi a{color:var(--teal);font-size:13px;text-decoration:none;display:inline-block;margin-top:5px}
.fi.me{align-self:flex-end;border-radius:14px 14px 4px 14px;border-color:rgba(139,108,255,.35);background:linear-gradient(180deg,rgba(139,108,255,.16),rgba(139,108,255,.07))}
.fi.me .k{color:var(--violet2);justify-content:flex-end}
.fi.new{animation:pop .5s ease}
@keyframes pop{from{opacity:0;transform:translateY(6px)}}
.ver{margin:28px 0 0;text-align:center;color:var(--dim);font:11px ui-monospace,"SF Mono",Menlo,monospace}
/* dock */
.dock{position:fixed;left:0;right:0;bottom:0;z-index:5;padding:8px 12px calc(env(safe-area-inset-bottom) + 8px);background:linear-gradient(180deg,rgba(5,7,11,0),rgba(5,7,11,.96) 12px,#05070b);}
.dock>*{max-width:720px;margin-left:auto;margin-right:auto}
.chips{display:flex;gap:7px;overflow-x:auto;padding:4px 2px 8px;scrollbar-width:none}
.chips::-webkit-scrollbar{display:none}
.composer{display:flex;align-items:flex-end;gap:8px;border:1px solid rgba(46,230,214,.3);border-radius:22px;background:rgba(10,16,24,.95);padding:5px;box-shadow:0 0 24px rgba(46,230,214,.08)}
.composer textarea{flex:1;min-width:0;resize:none;border:0;background:transparent;outline:none;padding:9px 4px;max-height:120px;font-size:16px;line-height:1.35}
.composer textarea::placeholder{color:var(--dim)}
.mic,.send{flex:none;width:40px;height:40px;border-radius:50%;border:1px solid var(--line2);background:rgba(139,108,255,.1);display:grid;place-items:center;padding:0}
.mic svg,.send svg{width:20px;height:20px;fill:var(--violet2)}
.send{background:linear-gradient(180deg,var(--teal),var(--teal2));border:0;box-shadow:0 0 16px rgba(46,230,214,.45)}
.send svg{fill:#031417}
.mic.on{background:var(--violet);box-shadow:0 0 18px rgba(139,108,255,.7)}
.mic.on svg{fill:#fff}
.dock-note{margin:6px auto 0;text-align:center;font-size:11px;color:var(--dim);letter-spacing:.02em}
.dock-note::before{content:"● ";color:var(--ok)}
/* sheets */
.scrim{position:fixed;inset:0;background:rgba(0,0,0,.55);backdrop-filter:blur(3px);-webkit-backdrop-filter:blur(3px);z-index:20}
.sheet{position:fixed;left:0;right:0;bottom:0;z-index:21;max-width:640px;margin:0 auto;max-height:86vh;overflow-y:auto;border:1px solid var(--line);border-bottom:0;border-radius:22px 22px 0 0;background:linear-gradient(180deg,#0c1420,#070b11);padding:8px 18px calc(env(safe-area-inset-bottom) + 18px);box-shadow:0 -20px 60px rgba(0,0,0,.6),0 0 40px rgba(46,230,214,.06);animation:up .25s ease}
@keyframes up{from{transform:translateY(30px);opacity:0}}
.grab{width:38px;height:4px;border-radius:4px;background:rgba(255,255,255,.18);margin:4px auto 8px}
.sheet-h{display:flex;align-items:center;justify-content:space-between}
.sheet-h h3{margin:0;font-size:18px}
.x{width:44px;height:44px;border:0;background:none;color:var(--mut);font-size:16px}
.brief-stamp{margin:0 0 10px;color:var(--dim);font:12px ui-monospace,"SF Mono",Menlo,monospace}
.brief section{border-top:1px solid var(--line);padding:11px 0 9px}
.brief h4{margin:0 0 6px;font:600 11px/1 ui-monospace,"SF Mono",Menlo,monospace;letter-spacing:.2em;text-transform:uppercase;color:var(--teal)}
.brief ul{margin:0;padding-left:18px}
.brief li{margin:3px 0;overflow-wrap:anywhere}
.sheet-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:16px}
.sheet-actions .btn{flex:1 1 0;justify-content:center;padding:0 12px;white-space:nowrap}
.sheet-actions .btn.primary{flex-grow:1.35}
.presets{display:flex;flex-wrap:wrap;gap:8px;margin:6px 0 12px}
.presets .chip{min-height:40px}
.presets .chip.on{border-color:var(--teal);background:rgba(46,230,214,.14);color:var(--teal)}
.custom label,.voice label{display:block;font-size:12px;color:var(--mut);margin:0 0 5px}
.custom input,.voice select{width:100%;min-height:44px;border-radius:12px;border:1px solid var(--line);background:#0a1018;padding:0 12px;font-size:16px}
.custom{margin-bottom:12px}
.traits{display:grid;grid-template-columns:1fr 1fr;gap:6px 16px;margin:4px 0 6px}
.slide{display:flex;flex-direction:column}
.slide label{font-size:12px;color:var(--mut);display:flex;justify-content:space-between}
.slide label em{font-style:normal;color:var(--dim)}
input[type=range]{width:100%;accent-color:var(--teal);height:28px}
.voice{margin-top:10px;border-top:1px solid var(--line);padding-top:10px}
.voice summary{cursor:pointer;color:var(--mut);font-size:13px;min-height:32px;display:flex;align-items:center}
.voice select{margin-bottom:8px}
/* toast + pill */
.toast{position:fixed;left:50%;top:calc(env(safe-area-inset-top) + 58px);transform:translateX(-50%) translateY(10px);opacity:0;pointer-events:none;z-index:30;background:#0e1824;border:1px solid var(--line);border-radius:999px;padding:8px 14px;font-size:13px;transition:.2s;max-width:90vw;text-align:center}
.toast.on{opacity:1;transform:translateX(-50%)}
.updpill{position:fixed;top:calc(env(safe-area-inset-top) + 10px);left:50%;transform:translateX(-50%);z-index:40;border:1px solid rgba(46,230,214,.6);background:#08141a;color:var(--teal);border-radius:999px;padding:9px 16px;font-weight:600;font-size:13px;box-shadow:0 0 24px rgba(46,230,214,.3);display:flex;align-items:center;gap:8px}
.updpill[hidden]{display:none}
.updpill .pd{width:8px;height:8px;border-radius:50%;background:var(--teal);box-shadow:0 0 8px var(--teal);animation:blip 1.2s infinite}

/* ===== Orbit Voice ===== */
.talkbtn{display:flex;align-items:center;justify-content:center;gap:10px;width:100%;min-height:54px;margin:0 auto 8px;border-radius:18px;border:1px solid rgba(46,230,214,.55);background:linear-gradient(180deg,rgba(46,230,214,.24),rgba(139,108,255,.16));font-weight:700;font-size:17px;letter-spacing:.02em;box-shadow:0 0 26px rgba(46,230,214,.18)}
.talkbtn .tb-orb{width:22px;height:22px;border-radius:50%;background:radial-gradient(circle at 40% 35%,#d8fffb 0,var(--teal) 30%,#0f7f8f 70%);box-shadow:0 0 12px rgba(46,230,214,.8)}
.talkbtn.live .tb-orb{animation:talk .5s ease-in-out infinite alternate;background:radial-gradient(circle at 40% 35%,#efe8ff 0,var(--violet2) 30%,#5a3fd6 75%)}
:root{--dock:206px}
.pvoice{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:14px;padding:10px 12px;border:1px solid var(--line);border-radius:12px;color:var(--mut)}
.pvoice b{color:var(--txt);font-weight:600}
body.talking{overflow:hidden}
body.talking .dock{display:none}
.talk{position:fixed;inset:0;z-index:15;display:flex;flex-direction:column;background:radial-gradient(700px 500px at 50% 30%,rgba(46,230,214,.10),transparent 70%),radial-gradient(600px 420px at 50% 85%,rgba(139,108,255,.10),transparent 70%),var(--bg);padding:calc(env(safe-area-inset-top) + 8px) 16px calc(env(safe-area-inset-bottom) + 10px)}
.talk[hidden]{display:none}
.talk>*{width:100%;max-width:640px;margin-left:auto;margin-right:auto}
.talk-h{display:flex;align-items:center;gap:8px}
.talk-h .ghost{border:0;background:none;color:var(--mut);font-size:16px;min-height:44px;padding:0 6px}
.talk-h #tSet{margin-left:auto;font-size:20px}
.mic-ind{font:11px ui-monospace,Menlo,monospace;color:var(--red);opacity:0;transition:opacity .2s}
.live-dot{width:8px;height:8px;border-radius:50%;background:var(--red);box-shadow:0 0 8px var(--red);opacity:0;transition:opacity .2s}
body.mic-live .talk[data-state="listening"] .live-dot,body.mic-live .talk[data-state="hearing"] .live-dot,body.mic-live .talk[data-state="speaking"] .live-dot,body.mic-live .talk[data-state="thinking"] .live-dot{opacity:1}
body.mic-live .talk[data-state="listening"] .mic-ind,body.mic-live .talk[data-state="hearing"] .mic-ind{opacity:1}
.talk-stage{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:0;text-align:center}
.t-orb{--lvl:0;position:relative;flex:none;aspect-ratio:1/1;width:min(58vw,240px,34vh);height:auto;border:0;background:none;padding:0;border-radius:50%;transform:scale(calc(1 + var(--lvl)*.18));transition:transform .06s linear}
.t-orb .ring{position:absolute;border-radius:50%;border:1px solid var(--line)}
.t-orb .r3{inset:0;border-style:dashed;border-color:rgba(120,220,230,.14);animation:spin 60s linear infinite}
.t-orb .path{inset:14%;border:1px solid rgba(46,230,214,.4);box-shadow:0 0 18px rgba(46,230,214,.14)}
.t-orb .track{position:absolute;inset:14%;border-radius:50%;animation:spin 8s linear infinite}
.t-orb .sat{position:absolute;top:-6px;left:50%;width:12px;height:12px;margin-left:-6px;border-radius:50%;background:radial-gradient(circle at 35% 35%,#fff 0,var(--violet2) 45%,var(--violet) 100%);box-shadow:0 0 12px rgba(180,155,255,.95)}
.t-orb .core{position:absolute;inset:30%;border-radius:50%;background:radial-gradient(circle at 40% 35%,#d8fffb 0,var(--teal) 22%,#0f7f8f 55%,#1a1040 100%);box-shadow:0 0 calc(30px + var(--lvl)*60px) rgba(46,230,214,.6),0 0 90px rgba(139,108,255,.35);animation:breathe 4.5s ease-in-out infinite}
.talk[data-state="hearing"] .core,.talk[data-state="listening"] .core{background:radial-gradient(circle at 40% 35%,#efe8ff 0,var(--violet2) 22%,#5a3fd6 58%,#140c33 100%)}
.talk[data-state="thinking"] .track{animation-duration:1.2s}.talk[data-state="thinking"] .core{animation:breathe 1.1s ease-in-out infinite}
.talk[data-state="speaking"] .track{animation-duration:2.6s}
.talk[data-state="muted"] .core,.talk[data-state="idle"] .core,.talk[data-state="paused"] .core{filter:saturate(.35) brightness(.8)}
.talk[data-state="reconnecting"] .core,.talk[data-state="connecting"] .core{animation:breathe .8s ease-in-out infinite;filter:saturate(.6)}
.talk[data-state="error"] .core{filter:hue-rotate(140deg) saturate(.7)}
.t-state{margin:18px 0 2px;font-size:22px;font-weight:600;letter-spacing:.01em}
.t-sub{margin:0;color:var(--mut);font-size:14px;min-height:20px;padding:0 10px}
.t-cap{margin:12px 0 0;max-width:520px;color:var(--txt);opacity:.85;font-size:15px;line-height:1.4;max-height:4.3em;overflow:hidden;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;padding:0 8px}
.mic-help{margin:14px 6px 0;padding:12px 14px;border:1px solid rgba(255,93,122,.4);border-radius:14px;background:rgba(255,93,122,.08);font-size:14px;text-align:left}
.mic-help p{margin:0}
.tx-wrap{margin-top:6px}
.tx-toggle{width:100%;border:1px solid var(--line);background:rgba(14,22,32,.6);border-radius:12px;min-height:38px;color:var(--mut);font-size:13px}
.tx-toggle::after{content:" ▾"}.tx-wrap.open .tx-toggle::after{content:" ▴"}
.tx{display:none;list-style:none;margin:8px 0 0;padding:0 2px;max-height:30vh;overflow-y:auto}
.tx-wrap.open .tx{display:block}
.tx li{margin:0 0 8px;font-size:14px;line-height:1.4}
.tx li b{display:block;font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--teal)}
.tx li.me b{color:var(--violet2)}
.tx li.cut i{color:var(--dim)}
.tx li.empty{color:var(--dim)}
.t-form{display:flex;gap:8px;margin-top:8px}
.t-form input{flex:1;min-width:0;min-height:42px;border-radius:14px;border:1px solid var(--line);background:rgba(10,16,24,.9);padding:0 12px;font-size:16px;outline:none}
.t-form button{width:42px;border-radius:14px;border:0;background:linear-gradient(180deg,var(--teal),var(--teal2));color:#031417;font-weight:800;font-size:18px}
.t-ctrl{display:flex;gap:8px;margin-top:10px}
.tc{flex:1 1 0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;min-height:60px;border-radius:16px;border:1px solid var(--line);background:rgba(14,22,32,.75);font-size:12px;color:var(--mut)}
.tc i{font-style:normal;font-size:19px;color:var(--txt)}
.tc.off{border-color:rgba(255,93,122,.5);color:var(--red)}
.tc.end{border-color:rgba(255,93,122,.35)}.tc.end i{color:var(--red)}
.ptt-only{display:none}
body.ptt .ptt-only{display:flex;flex:2 1 0;border-color:rgba(139,108,255,.6);background:rgba(139,108,255,.14);touch-action:none;user-select:none;-webkit-user-select:none}
body.ptt .ptt-only:active{background:rgba(139,108,255,.4)}
body.ptt #tMic{display:none}
.t-keys{margin:6px auto 0;text-align:center;font-size:11px;color:var(--dim)}
@media (hover:none){.t-keys{display:none}}
.vsheet{z-index:31}
#scrimV{z-index:30}
.vs{display:flex;flex-direction:column;gap:6px;padding-top:8px}
.vs label{font-size:13px;color:var(--mut);margin-top:6px}
.vs label em{font-style:normal;color:var(--txt)}
.vs select,.vs textarea,#keyIn{width:100%;min-height:42px;border-radius:12px;border:1px solid var(--line);background:rgba(10,16,24,.9);padding:8px 10px;font-size:16px}
.vs textarea{font-size:14px;line-height:1.4;resize:vertical}
.vs input[type=range]{width:100%;accent-color:var(--teal)}
.vs h4{margin:14px 0 0;font-size:14px;letter-spacing:.06em;text-transform:uppercase;color:var(--teal)}
.vs .tog{display:flex;gap:10px;align-items:center;color:var(--txt);font-size:14px}
.vs .tog input{width:20px;height:20px;accent-color:var(--teal)}
.vs .chip{align-self:flex-start}
.vs .row{display:flex;gap:8px;flex-wrap:wrap}
.vs .note,.vsheet .note{font-size:13px;color:var(--mut);margin:6px 0 0;line-height:1.45}
.vs .small{font-size:12px}.vs a{color:var(--teal)}
.mem{list-style:none;margin:6px 0;padding:0;display:flex;flex-direction:column;gap:6px}
.mem li{display:flex;gap:6px}.mem li.empty{color:var(--dim);font-size:13px}
.mem input{flex:1;min-width:0;min-height:38px;border-radius:10px;border:1px solid var(--line);background:rgba(10,16,24,.9);padding:0 10px;font-size:15px}
/* light mode */
html[data-theme="light"]{--bg:#eef3f5;--bg2:#ffffff;--line:rgba(10,80,90,.18);--line2:rgba(90,60,200,.22);--txt:#0b1a20;--mut:#4d626b;--dim:#7d8f96;--teal:#0a9e95;--teal2:#0b8a96;--violet:#6a4ce0;--violet2:#5a3fd6}
html[data-theme="light"] .grid-bg{opacity:.5}
html[data-theme="light"] .btn,html[data-theme="light"] .tc,html[data-theme="light"] .tx-toggle{background:rgba(255,255,255,.85)}
html[data-theme="light"] .composer,html[data-theme="light"] .t-form input,html[data-theme="light"] .vs select,html[data-theme="light"] .vs textarea,html[data-theme="light"] #keyIn,html[data-theme="light"] .mem input{background:#fff}
html[data-theme="light"] .dock{background:linear-gradient(180deg,rgba(238,243,245,0),rgba(238,243,245,.96) 12px,#eef3f5)}
html[data-theme="light"] .sheet{background:linear-gradient(180deg,#ffffff,#f1f6f8);box-shadow:0 -20px 60px rgba(0,0,0,.15)}
html[data-theme="light"] .mark .word{background:linear-gradient(90deg,#0b3b40 0,var(--teal) 45%,var(--violet) 100%);-webkit-background-clip:text;background-clip:text}
html[data-theme="light"] .feed li,html[data-theme="light"] .panel{background-color:rgba(255,255,255,.7)}
.talk:has(.tx-wrap.open) .t-cap{display:none}
.talk:has(.tx-wrap.open) .t-orb{width:min(40vw,150px,22vh)}
.talk:has(.tx-wrap.open) .t-state{margin-top:10px}

/* ===== projects ===== */
.pc{border:1px solid var(--line);border-radius:14px;background:rgba(12,18,27,.85);overflow:hidden}
.pc.open{border-color:rgba(46,230,214,.38);box-shadow:0 0 22px rgba(46,230,214,.08)}
.pc.fin{opacity:.6}
.steps{list-style:none;margin:10px 0 4px;padding:0;display:flex;flex-direction:column;gap:2px;counter-reset:st}
.steps li,.notes li{display:flex;align-items:center;gap:6px;border-radius:10px}
.steps li.nx{background:rgba(139,108,255,.08)}
.steps label{flex:1;display:flex;align-items:flex-start;gap:10px;padding:8px 6px;min-height:40px;cursor:pointer;font-size:14px}
.steps input{width:20px;height:20px;flex:none;margin:0;accent-color:var(--teal)}
.steps li.dn span{text-decoration:line-through;color:var(--dim)}
.notes h5{margin:10px 0 4px;font:600 10px ui-monospace,Menlo,monospace;letter-spacing:.16em;text-transform:uppercase;color:var(--violet2)}
.notes ul{list-style:none;margin:0;padding:0}
.notes li span{flex:1;font-size:13.5px;color:var(--mut);padding:5px 6px;border-left:2px solid var(--line2)}
.chip.warn{border-color:rgba(255,93,122,.45);color:var(--red);background:rgba(255,93,122,.06)}
html[data-theme="light"] .pc{background:#fff}
/* ===== desktop: two columns, voice + chat on the left, projects + feed on the right ===== */
@media (min-width:1024px){
  body.wide{--lw:min(44vw,580px)}
  body.wide .talk{position:fixed;inset:0 auto 0 0;width:var(--lw);z-index:4;border-right:1px solid var(--line);padding:16px 22px 14px}
  body.wide .talk[hidden]{display:flex}
  body.wide #tClose{display:none}
  body.wide .talk-h #tSet{margin-left:auto}
  body.wide.talking{overflow:auto}
  body.wide .dock{display:none}
  body.wide #app{max-width:none;margin:0 0 0 var(--lw);padding:22px 34px 40px}
  body.wide #app>*{max-width:860px;margin-left:auto;margin-right:auto}
  body.wide .hero{padding-top:6px}
  body.wide .t-orb{width:min(30vh,200px)}
  body.wide .talk:has(.tx-wrap.open) .t-orb{width:min(18vh,130px)}
  body.wide .tx-wrap.open{flex:1;min-height:0;display:flex;flex-direction:column}
  body.wide .tx-wrap.open .tx{flex:1;max-height:none}
  body.wide .pc.open{grid-column:1/-1}
}

/* ===== Translator window ===== */
.top-r{display:flex;align-items:center;gap:8px}
.trbtn{position:relative;display:inline-flex;align-items:center;gap:6px;min-height:34px;padding:0 12px;border-radius:999px;border:1px solid var(--line2);background:rgba(139,108,255,.08);color:var(--txt);font-size:13px;font-weight:600}
.trbtn .tri{color:var(--violet2);font-size:15px;line-height:1}
.trbtn.on{border-color:var(--violet);background:rgba(139,108,255,.2)}
.trdot{position:absolute;top:3px;right:3px;width:8px;height:8px;border-radius:50%;background:var(--teal);box-shadow:0 0 8px var(--teal)}
@media (max-width:420px){.trbtn .trl{display:none}.trbtn{padding:0 11px}}
.trwin{position:fixed;inset:0;z-index:25;display:flex;flex-direction:column;background:linear-gradient(180deg,#0a0f17,#05070b);padding:calc(env(safe-area-inset-top) + 6px) 14px calc(env(safe-area-inset-bottom) + 10px)}
.trwin[hidden]{display:none}
.tr-h{display:flex;align-items:center;gap:10px;min-height:48px}
.tr-h h3{margin:0;flex:1;font:600 13px/1 ui-monospace,"SF Mono",Menlo,monospace;letter-spacing:.2em;text-transform:uppercase;color:var(--violet2)}
.tr-live{display:inline-flex;align-items:center;gap:6px;font:11px ui-monospace,"SF Mono",Menlo,monospace;color:var(--mut)}
.tr-live i{width:7px;height:7px;border-radius:50%;background:var(--dim)}
.tr-live.on i{background:var(--teal);box-shadow:0 0 8px var(--teal)}
.tr-body{display:flex;flex-direction:column;min-height:0;flex:1}
.tr-body[hidden],.tr-locked[hidden]{display:none}
.tr-locked{margin-top:20px}
.tr-ask{display:flex;gap:8px;margin:4px 0 8px}
.tr-ask input{flex:1;min-width:0;min-height:44px;border-radius:12px;border:1px solid var(--line);background:rgba(10,16,24,.9);padding:0 12px;font-size:16px;color:var(--txt)}
.tr-opt{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--mut);margin:0 0 10px}
.tr-opt input{width:18px;height:18px;accent-color:var(--violet)}
.tr-cols{display:none}
.tr-list{list-style:none;margin:0;padding:0 0 20px;overflow-y:auto;-webkit-overflow-scrolling:touch;flex:1;display:flex;flex-direction:column;gap:10px}
.tr-row{border:1px solid var(--line);border-radius:14px;background:rgba(12,18,27,.88);padding:10px 12px}
.tr-row.flash{animation:trflash 1.6s ease-out}
@keyframes trflash{0%{box-shadow:0 0 0 2px var(--teal)}100%{box-shadow:0 0 0 0 transparent}}
.tr-meta{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-bottom:8px}
.tr-meta time{margin-left:auto;font-size:12px;color:var(--dim)}
.tr-proj{font-size:12px;color:var(--teal);border:1px solid var(--line);border-radius:999px;padding:2px 8px}
.chip-st{font:600 11px/1 ui-monospace,"SF Mono",Menlo,monospace;letter-spacing:.04em;border-radius:999px;padding:5px 9px;border:1px solid var(--line);color:var(--mut)}
.chip-st.st-draft{color:#ffd27a;border-color:rgba(255,210,122,.45)}
.chip-st.st-queued{color:var(--violet2);border-color:var(--line2)}
.chip-st.st-picked_up,.chip-st.st-working{color:var(--teal);border-color:rgba(46,230,214,.45)}
.chip-st.st-done{color:#7ef0a0;border-color:rgba(126,240,160,.45)}
.chip-st.st-needs_you{color:#ff9b7a;border-color:rgba(255,155,122,.55);background:rgba(255,155,122,.08)}
.chip-st.st-cancelled{color:var(--dim)}
.tr-row.st-cancelled{opacity:.55}
.tr-pair{display:grid;grid-template-columns:1fr;gap:8px}
.tr-k{display:block;font:600 10.5px/1.2 ui-monospace,"SF Mono",Menlo,monospace;letter-spacing:.12em;text-transform:uppercase;color:var(--dim);margin-bottom:4px}
.tr-said p{margin:0;font-size:15px;overflow-wrap:anywhere}
.tr-said{border-left:2px solid var(--line);padding-left:9px}
.tr-prompt{border-left:2px solid var(--violet);padding-left:9px}
.tr-prompt pre{margin:0;white-space:pre-wrap;overflow-wrap:anywhere;font:12.5px/1.5 ui-monospace,"SF Mono",Menlo,monospace;color:var(--txt)}
.tr-act{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-top:10px;padding-top:10px;border-top:1px solid var(--line)}
.tr-act span{flex:1 1 100%;font-size:13.5px;color:#ffd27a}
.tr-act .btn{min-height:38px}
.tr-reply{margin-top:10px;padding:8px 10px;border-radius:10px;background:rgba(46,230,214,.07);border:1px solid rgba(46,230,214,.25)}
.tr-reply p{margin:0;font-size:14px;overflow-wrap:anywhere}
body.tr-open{overflow:hidden}
@media (min-width:760px){
  .trwin{inset:14px 14px 14px auto;width:min(760px,calc(100vw - 28px));border:1px solid var(--line2);border-radius:18px;box-shadow:0 30px 80px rgba(0,0,0,.6);padding:8px 16px 12px}
  body.tr-open{overflow:auto}
  .tr-cols{display:grid;grid-template-columns:1fr 1.5fr;gap:14px;font:600 10.5px/1 ui-monospace,"SF Mono",Menlo,monospace;letter-spacing:.14em;text-transform:uppercase;color:var(--dim);padding:0 13px 6px}
  .tr-pair{grid-template-columns:1fr 1.5fr;gap:14px}
}
html[data-theme="light"] .trwin{background:linear-gradient(180deg,#ffffff,#f1f6f8)}
html[data-theme="light"] .tr-row{background:#fff}
html[data-theme="light"] .tr-ask input{background:#fff}

/* desktop: one side full width */
.maxbtn{display:none}
@media (min-width:1024px){
  .maxbtn{display:inline-grid;place-items:center;min-width:34px;min-height:34px;border-radius:10px;border:1px solid var(--line);background:rgba(14,22,32,.6);color:var(--mut);font-size:16px;padding:0 8px}
  .talk-h .maxbtn{border:0;background:none;min-height:44px}
  .talk-h #tSet{margin-left:0!important}
  body.wide .talk-h .maxbtn{margin-left:auto}
  .maxbtn[aria-pressed="true"]{color:var(--teal);border-color:rgba(46,230,214,.5)}
  body.wide.max-talk .talk{width:100%;border-right:0}
  body.wide.max-talk #app{display:none}
  body.wide.max-talk .t-orb{width:min(34vh,240px)}
  body.wide.max-talk .talk-stage,body.wide.max-talk .tx-wrap,body.wide.max-talk .t-form{max-width:900px;width:100%;margin-left:auto;margin-right:auto}
  body.wide.max-app .talk{display:none!important}
  body.wide.max-app #app{margin-left:0}
}

/* new-version toast (tap to reload) */
.updtoast{position:fixed;left:50%;bottom:calc(18px + env(safe-area-inset-bottom));transform:translateX(-50%);z-index:60;display:flex;align-items:center;gap:10px;max-width:min(92vw,520px);padding:12px 12px 12px 16px;border-radius:14px;background:rgba(12,22,32,.97);border:1px solid rgba(46,230,214,.55);box-shadow:0 10px 30px rgba(0,0,0,.45);color:var(--txt);font-size:14px;cursor:pointer}
.updtoast[hidden]{display:none}
.updtoast .x{border:0;background:none;color:var(--dim);min-width:32px;min-height:32px;font-size:14px;cursor:pointer}

/* ===== sign-in gate / account / guest / home / notes / alerts (login build) ===== */
body.authing #app,body.authing .dock,body.authing .talk,body.authing .trwin,
body.locked #app,body.locked .dock,body.locked .talk,body.locked .trwin,body.locked #updToast,body.locked #updPill{display:none!important}
.gate{position:fixed;inset:0;z-index:40;display:grid;place-items:center;padding:24px 18px calc(env(safe-area-inset-bottom) + 24px)}
.gate[hidden]{display:none}
.gate-card{width:100%;max-width:360px;text-align:center;border:1px solid var(--line);border-radius:22px;padding:28px 22px 22px;background:linear-gradient(180deg,rgba(12,20,32,.92),rgba(7,11,17,.92));box-shadow:0 20px 60px rgba(0,0,0,.45)}
.gate-orb{position:relative;width:76px;height:76px;margin:0 auto 10px}
.gate-orb .ring{position:absolute;inset:0;border-radius:50%;border:1px solid rgba(46,230,214,.45);box-shadow:0 0 28px rgba(46,230,214,.25)}
.gate-orb .core{position:absolute;inset:22px;border-radius:50%;background:radial-gradient(circle at 35% 30%,#bff9f2,var(--teal) 45%,#0b5c63);box-shadow:0 0 30px rgba(46,230,214,.45)}
.gate h1{margin:4px 0 2px;font:600 13px/1 ui-monospace,"SF Mono",Menlo,monospace;letter-spacing:.4em;text-transform:uppercase;color:var(--teal)}
.gate-sub{color:var(--mut);margin:6px 0 18px;font-size:14px}
#gateForm{display:flex;flex-direction:column;gap:8px;text-align:left}
#gateForm label{font-size:12px;color:var(--mut)}
#gateForm input[type=password],.acct-pass input,.acct-share input,.acct-link input{width:100%;min-height:46px;border-radius:12px;border:1px solid var(--line);background:rgba(5,9,14,.8);padding:0 14px;font-size:16px}
#gateForm .btn{justify-content:center;margin-top:6px}
.btn[disabled]{opacity:.55;cursor:default}
.gate-msg{min-height:20px;margin:12px 0 0;font-size:13px;color:var(--violet2)}
.gate-note{margin:14px 0 0;font-size:12px;color:var(--dim)}
.hbtn{display:inline-grid;place-items:center;min-width:34px;min-height:34px;border-radius:10px;border:1px solid var(--line);background:rgba(14,22,32,.6);font-size:15px;padding:0 6px;line-height:1}
.hbtn[aria-pressed=false]{opacity:.7}
.top-r{display:flex;align-items:center;gap:6px;flex-wrap:wrap;justify-content:flex-end}
.acct h4{margin:18px 0 6px;font:600 11px/1 ui-monospace,"SF Mono",Menlo,monospace;letter-spacing:.18em;text-transform:uppercase;color:var(--teal)}
.acct-line{margin:6px 0;font-size:14px}.muted{color:var(--dim)}
.acct-pass,.acct-share{display:flex;flex-direction:column;gap:8px}
.acct-row{display:flex;gap:8px;flex-wrap:wrap}
.btn.danger{border-color:rgba(255,93,122,.45);color:#ffb3c1}
.acct-link{display:flex;gap:6px;align-items:center;margin:6px 0}.acct-link input{font-size:13px;min-height:38px}
.acct-guests{list-style:none;margin:10px 0 0;padding:0;display:flex;flex-direction:column;gap:8px}
.acct-guests li{display:flex;flex-wrap:wrap;gap:6px;align-items:center;border:1px solid var(--line);border-radius:12px;padding:8px 10px;font-size:14px}
.acct-guests li.off{opacity:.55}.acct-acts{margin-left:auto;display:flex;gap:6px}
.note.small,.small{font-size:12px}
.guest-only{display:none}body.role-guest .guest-only{display:block}
body.role-guest .owner-only{display:none!important}
.guest-note{margin:12px 0 0;border:1px solid var(--line2);border-radius:var(--r);padding:10px 14px;background:rgba(139,108,255,.07);font-size:13px;color:var(--violet2)}
.guest-note p{margin:0}.guest-note[hidden]{display:none}
.tr-guest{margin:0 0 10px;font-size:12px;color:var(--violet2)}
.tr-eta{font-size:12px;color:var(--ok);border:1px solid rgba(62,240,168,.35);border-radius:999px;padding:1px 8px;white-space:nowrap}
/* home */
.hjobs{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}
.hj{display:flex;gap:10px;align-items:flex-start;border:1px solid var(--line);border-radius:14px;padding:10px 12px;background:rgba(10,16,24,.6)}
.hj.new{animation:hjIn .9s ease-out;border-color:rgba(62,240,168,.55)}
@keyframes hjIn{0%{transform:translateY(-6px);opacity:0;box-shadow:0 0 0 rgba(62,240,168,0)}60%{box-shadow:0 0 24px rgba(62,240,168,.35)}100%{transform:none;opacity:1}}
.hj-dot{flex:none;width:9px;height:9px;margin-top:6px;border-radius:50%;background:var(--ok);box-shadow:0 0 10px rgba(62,240,168,.6)}
.hj p{margin:0}.hj-n{font-weight:600;font-size:14px}.hj-n a{font-weight:400;font-size:12px;color:var(--teal);margin-left:6px}
.hj-p{color:var(--mut);font-size:13px;margin-top:2px!important}.hj time{font-size:11px;color:var(--dim)}
.hsub{margin:14px 0 8px;font-size:12px;color:var(--mut);font-weight:600}
.hwork{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px}
.hwork li{display:grid;grid-template-columns:1fr auto;gap:2px 10px;font-size:13px;border-bottom:1px solid var(--line);padding:6px 0}
.hw-n{font-weight:600}.hw-e{color:var(--ok);font-size:12px;text-align:right}.hw-b{grid-column:1/-1;color:var(--mut);font-size:12px}
.hw-m{grid-column:1/-1;height:3px;border-radius:3px;background:rgba(120,220,230,.1);overflow:hidden}.hw-m i{display:block;height:100%;background:linear-gradient(90deg,var(--teal),var(--violet))}
/* notes */
.upslot input[type=file]{font-size:13px;opacity:.6}
body.light .gate-card{background:#fff}

/* mic-live reminders */
.mlPill{position:fixed;left:50%;transform:translateX(-50%);top:calc(env(safe-area-inset-top) + 62px);z-index:29;display:flex;align-items:center;gap:6px;background:#2a0f14;color:#ffd7dc;border:1px solid #ff5a6e;border-radius:999px;padding:6px 12px;font:600 13px/1 system-ui,-apple-system,sans-serif;box-shadow:0 4px 16px rgba(0,0,0,.35);cursor:pointer}
.mlPill[hidden]{display:none}
.mlPill b{font-weight:700}
.talk-h .mlAuto{font-size:12px;padding:4px 8px;border:1px solid var(--line,#2a3a4a);border-radius:999px;opacity:.7;white-space:nowrap}
.talk-h .mlAuto.on{opacity:1;border-color:#4fd18b;color:#bff3d6}
/* voice header spacing on phones */
.talk-h{gap:6px;min-width:0;flex-wrap:nowrap}
.talk-h #tClose{flex:0 0 auto;white-space:nowrap;padding-right:4px}
.talk-h .live-dot{flex:0 0 auto}
.talk-h .mic-ind{flex:0 0 auto;white-space:nowrap;overflow:visible;margin-left:2px}
.talk-h .mlAuto{flex:0 0 auto;min-height:30px;line-height:1}
.talk-h #tTr,.talk-h #tSet{flex:0 0 auto}
@media (max-width:400px){.talk-h .ghost{padding:0 4px}.talk-h{gap:4px}.talk-h .mlAuto{padding:4px 6px;font-size:11px}}
@media (max-width:360px){.talk-h .mic-ind{display:none}}

/* ===== orb home (orb.js) ===== */
body.orbmode{overflow:hidden;background:#02040b}
body.orbmode #app,body.orbmode footer.dock,body.orbmode .grid-bg{display:none!important}
/* the conversation (talk) screen as a floating window on wide screens */
@media (min-width:700px){
  body.orbmode .talk{position:fixed;inset:auto;right:24px;bottom:84px;top:auto;left:auto;width:min(440px,92vw);height:min(660px,calc(100vh - 120px));border:1px solid rgba(140,180,255,.2);border-radius:18px;z-index:39;box-shadow:0 18px 60px rgba(0,0,0,.55);background:rgba(9,15,30,.9);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px)}
  body.orbmode .talk .t-orb{width:min(22vh,150px)}
}
body.orbmode .trwin{z-index:41}
body.orbmode .mlPill{top:calc(env(safe-area-inset-top) + 12px)}

@media (max-width:699px){
  body.orbmode .talk{bottom:calc(env(safe-area-inset-bottom) + 70px)!important;height:auto}
  body.orbmode .trwin{bottom:calc(env(safe-area-inset-bottom) + 70px)!important;max-height:calc(100% - env(safe-area-inset-bottom) - 80px)}
}


/* comms window */



/* ===== Comms in the classic layout (chip + per-request stages) ===== */

/* double-click / double-tap to reset (Oct 12 2026) */
input[type="range"],select,.vs label,.slide label,label[for]{touch-action:manipulation}
.rs-flash{animation:rsFlash .7s ease}
@keyframes rsFlash{0%{box-shadow:0 0 0 0 rgba(160,130,255,.9)}100%{box-shadow:0 0 0 10px rgba(160,130,255,0)}}
/* Prompt Builder (Oct 12 2026) */
.pb-row{justify-content:space-between}
.pb-open.on{background:rgba(160,130,255,.25)}
.pb{border:1px solid rgba(160,130,255,.35);border-radius:14px;padding:12px;margin:0 0 12px;background:rgba(120,90,255,.08)}
.pb-h{display:flex;align-items:center;gap:8px;margin-bottom:8px}.pb-h b{flex:1}.pb-step{font-size:12px;opacity:.75}
.pb label{display:block;font-weight:600;margin:0 0 6px}
.pb textarea{width:100%;box-sizing:border-box;font:inherit;font-size:16px;border-radius:10px;padding:10px;background:rgba(0,0,0,.25);color:inherit;border:1px solid rgba(140,180,255,.25);resize:vertical}
.pb-prev textarea{font-family:ui-monospace,Menlo,monospace;font-size:13px;line-height:1.45}
.pb-act{display:flex;gap:8px;justify-content:flex-end;margin-top:8px;flex-wrap:wrap}
.pb-gist{margin:0 0 8px;font-weight:600}
/* Comms: never-sent drafts with one-tap Send */

.pb-tog{display:flex;align-items:center;gap:6px;font-weight:600;color:var(--fg,inherit)}
.pb-row{flex-wrap:wrap}

/* orb look C on the classic home orb (Oct 12 2026): canvas replaces the CSS rings; the button keeps its 148px footprint */

.orbtune{position:absolute!important;top:46px;right:6px;z-index:4!important;width:min(300px,calc(100vw - 32px));padding:12px;border-radius:14px;background:rgba(12,16,34,.96);border:1px solid rgba(160,130,255,.35);box-shadow:0 12px 40px rgba(0,0,0,.45);text-align:left}
.orbtune[hidden]{display:none}

.orbtune label{display:flex;justify-content:space-between;font-size:13px;margin:8px 0 2px}.orbtune label em{font-style:normal;opacity:.7}
.orbtune input[type=range]{width:100%}

/* ===== Orbit Windows (wins.js) ===== */
.wroot{position:fixed;inset:auto 0 0 0;height:0;z-index:60;font-family:inherit}
.wdock{position:fixed;left:var(--wcx,50%);bottom:calc(10px + env(safe-area-inset-bottom));transform:translateX(-50%);width:44px;height:26px;border-radius:13px;border:1px solid rgba(120,200,255,.22);background:rgba(10,14,28,.42);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);color:rgba(170,215,255,.75);font-size:14px;line-height:1;cursor:pointer;z-index:62;touch-action:manipulation;transition:border-color .2s,box-shadow .2s,opacity .2s;opacity:.7}
.wdock:hover,.wdock[aria-expanded=true]{opacity:1;border-color:rgba(46,230,214,.6);box-shadow:0 0 14px rgba(46,230,214,.25)}
.wdock.need{border-color:rgba(255,184,77,.55)}
.wdock .wdn{position:absolute;top:-7px;right:-9px;min-width:16px;height:16px;padding:0 4px;border-radius:8px;background:rgba(60,140,255,.9);color:#fff;font:600 10px/16px system-ui;font-style:normal}
.wdock .wdot{position:absolute;top:-3px;left:-3px;width:8px;height:8px;border-radius:50%;background:#ffb84d;box-shadow:0 0 8px #ffb84d}
.wmenu{position:fixed;left:var(--wcx,50%);bottom:calc(46px + env(safe-area-inset-bottom));transform:translate(-50%,8px);display:flex;gap:8px;padding:6px;opacity:0;transition:opacity .18s,transform .18s;z-index:62;max-width:calc(100vw - 16px);flex-wrap:nowrap}
.wmenu.on{opacity:1;transform:translate(-50%,0)}
.wbtn{position:relative;display:flex;align-items:center;gap:6px;height:36px;padding:0 12px;border-radius:18px;border:1px solid rgba(140,190,255,.2);background:rgba(12,16,32,.5);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);color:rgba(220,235,255,.88);font:500 13px/1 inherit;letter-spacing:.02em;cursor:pointer;touch-action:manipulation;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;transition:border-color .15s,box-shadow .15s,background .15s}
.wbtn:hover,.wbtn:focus-visible{border-color:rgba(46,230,214,.75);box-shadow:0 0 0 1px rgba(46,230,214,.25),0 0 16px rgba(46,230,214,.28);outline:none}
.wbtn.open{border-color:rgba(160,130,255,.75);background:rgba(40,30,80,.5);box-shadow:0 0 14px rgba(139,108,255,.3)}
.wbtn .wi{font-size:14px;opacity:.85}
.wbtn .wbadge{position:absolute;top:-6px;right:-6px;min-width:16px;height:16px;padding:0 4px;border-radius:8px;background:rgba(60,140,255,.9);color:#fff;font:600 10px/16px system-ui;font-style:normal;text-align:center}
.wbtn .wbadge.amber{background:#ffb84d;color:#1a1000}
@media (max-width:560px){.wbtn{padding:0 10px;height:34px;font-size:12px}.wbtn .wl{display:none}.wbtn .wi{font-size:16px}.wmenu{gap:10px}}
.wprev{position:fixed;z-index:63;padding:10px 12px;border-radius:10px;background:rgba(2,12,4,.88);border:1px solid rgba(60,255,120,.35);box-shadow:0 0 22px rgba(40,255,110,.15),inset 0 0 30px rgba(0,0,0,.6);color:#5dff8a;font:12px/1.45 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;white-space:pre;overflow:hidden;opacity:0;transition:opacity .16s;pointer-events:none;text-shadow:0 0 6px rgba(60,255,120,.45)}
.wprev.on{opacity:1}
.wprev::after,.wroot.term .wwin::after{content:"";position:absolute;inset:0;pointer-events:none;background:repeating-linear-gradient(0deg,rgba(0,0,0,.18) 0 1px,transparent 1px 3px);border-radius:inherit}
.wprev .tl{overflow:hidden;text-overflow:ellipsis}
.wprev .cur,.wroot.term .cur{animation:wblink 1s steps(1) infinite}
@keyframes wblink{50%{opacity:0}}
.wlayer{position:fixed;inset:0;pointer-events:none;z-index:61}
.wwin{position:fixed;pointer-events:auto;display:flex;flex-direction:column;min-width:240px;min-height:160px;max-width:calc(100vw - 8px);border-radius:16px;background:rgba(10,14,30,.62);backdrop-filter:blur(18px) saturate(1.2);-webkit-backdrop-filter:blur(18px) saturate(1.2);border:1px solid rgba(140,190,255,.18);box-shadow:0 18px 50px rgba(0,0,0,.45);color:rgba(225,235,255,.92);resize:both;overflow:hidden;opacity:0;transform:translateY(8px) scale(.98);transition:opacity .16s ease-out,transform .16s ease-out,border-color .2s}
.wwin.on{opacity:1;transform:none}
.wwin.top{border-color:rgba(46,230,214,.42)}
.wwin.fading{opacity:.35;transition:opacity 3s}
.wwin.drag{transition:none;opacity:.92}
.whead{display:flex;align-items:center;justify-content:flex-start;text-align:left;margin:0;gap:8px;padding:9px 10px 8px 14px;border-bottom:1px solid rgba(140,190,255,.12);cursor:grab;touch-action:none;-webkit-user-select:none;user-select:none}
.wwin.drag .whead{cursor:grabbing}
.wtitle{flex:1;text-align:left;font-weight:600;font-size:14px;letter-spacing:.02em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.whead .x{background:none;border:0;color:inherit;opacity:.6;cursor:pointer;font-size:13px;padding:4px 6px;border-radius:8px}.whead .x:hover{opacity:1;background:rgba(255,255,255,.08)}
.wwin.pinned .wpinb{opacity:.95;filter:none}.wwin:not(.pinned) .wpinb{filter:grayscale(1)}
.wtag{font-size:10px;letter-spacing:.06em;text-transform:uppercase;padding:2px 6px;border-radius:6px;border:1px solid rgba(140,190,255,.25);opacity:.8;white-space:nowrap}
.wtag.tab{border-color:rgba(160,130,255,.5);color:#c9b8ff}
.wbody{flex:1;overflow:auto;padding:10px 14px 14px;text-align:left;margin:0;font-size:13px;-webkit-overflow-scrolling:touch;overscroll-behavior:contain}
.wbody h5{margin:12px 0 6px;font-size:11px;letter-spacing:.08em;text-transform:uppercase;opacity:.6}
.wlist,.wsteps,.wtop{list-style:none;margin:0;padding:0}
.wsteps{padding-left:18px;list-style:disc}.wsteps li{margin:3px 0}
ol.wsteps{list-style:decimal}
.wtop li{padding:3px 0;font-weight:500}
.wrow{padding:9px 0;border-bottom:1px solid rgba(140,190,255,.08)}.wrow:last-child{border-bottom:0}
.wrow.need{box-shadow:inset 2px 0 0 #ffb84d;padding-left:8px}.wrow.stuck{box-shadow:inset 2px 0 0 #ff5a6a;padding-left:8px}
.wproj{cursor:pointer}.wproj:hover b{color:#7ff5ea}
.wr-top{display:flex;align-items:baseline;gap:8px}.wr-top b{flex:1;font-weight:500;min-width:0;overflow-wrap:anywhere}
.wr-sub{margin:3px 0 0;opacity:.75;font-size:12.5px;overflow-wrap:anywhere}
.wr-meta{display:flex;align-items:center;gap:8px;margin-top:5px;font-size:11.5px;flex-wrap:wrap}
.wr-meta .chip{margin-left:auto}
.wst{font-size:10.5px;letter-spacing:.04em;text-transform:uppercase;padding:2px 7px;border-radius:9px;white-space:nowrap}
.s-ok{color:#5dffa0;background:rgba(40,220,120,.12)}.s-work{color:#6fb6ff;background:rgba(60,140,255,.14)}.s-need{color:#ffc56b;background:rgba(255,184,77,.14)}.s-stuck{color:#ff7d8a;background:rgba(255,90,106,.14)}.s-q{color:#b9c6dd;background:rgba(160,180,210,.12)}
.wbar{flex:1;max-width:160px;height:4px;border-radius:2px;background:rgba(140,190,255,.14);overflow:hidden}.wbar i{display:block;height:100%;background:linear-gradient(90deg,#2ee6d6,#8b6cff);transition:width .8s ease}
.wcomms{display:flex;align-items:center;gap:8px;padding-bottom:8px;border-bottom:1px solid rgba(140,190,255,.1);flex-wrap:wrap}
.wcomms .muted{font-size:12px}
.wadd{display:flex;gap:6px;margin-bottom:8px}.wadd input{flex:1;min-width:0}
.wset{margin-top:14px}.wchk{display:flex;align-items:center;gap:8px;margin-top:8px;font-size:14px}
.wroot.rm .wwin,.wroot.rm .wmenu,.wroot.rm .wprev{transition:none}.wroot.rm .wbar i{transition:none}
body.w-mic .wwin{opacity:.82}
/* terminal look for every window (Settings) */
.wroot.term .wwin{background:rgba(2,12,4,.86);border-color:rgba(60,255,120,.3);color:#5dff8a;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;text-shadow:0 0 5px rgba(60,255,120,.35)}
.wroot.term .wst,.wroot.term .wtag{color:#5dff8a;background:rgba(60,255,120,.1);border-color:rgba(60,255,120,.3)}.wroot.term .wbar i{background:#5dff8a}
/* phone: one window as a sheet above the dock */
@media (max-width:560px){
 .wwin{left:8px!important;right:8px;width:auto!important;top:auto!important;bottom:calc(46px + env(safe-area-inset-bottom));height:60vh!important;resize:none;border-radius:18px;transform:translateY(24px)}
 body.w-mic .wwin{height:50vh!important}
 .whead{padding-top:12px;position:relative}.whead::before{content:"";position:absolute;top:4px;left:50%;width:36px;height:4px;margin-left:-18px;border-radius:2px;background:rgba(255,255,255,.22)}
}

.wmenu[hidden],.wprev[hidden]{display:none!important}

.wwin{align-items:stretch!important;justify-content:flex-start!important;text-align:left}
.whead{align-self:stretch;box-sizing:border-box;width:auto}
.whead .x{width:auto;height:auto;min-width:28px;min-height:28px}
.wbody ul,.wbody ol{margin-left:0}
.wset select{width:100%;background:rgba(255,255,255,.06);color:inherit;border:1px solid rgba(140,180,255,.25);border-radius:8px;padding:7px 8px;font:inherit}
.wset select option{background:#0c1022;color:#e6ecff}
.wset-h{margin:16px 0 6px;font-size:15px}

/* ===== R3.5: Zero-G orb + Harmonic space (zg.js) ===== */
body.zg .grid-bg{display:none}
body.zg{background:transparent}
html:has(body.zg){background:#020308}
.orbtune{max-height:min(78vh,620px);overflow:auto;overscroll-behavior:contain}

/* ===== R3.5: Focus view (focus.js) — just the orb in the space; everything else one hover / tap away ===== */
.frail{position:fixed;right:max(8px,env(safe-area-inset-right));top:50%;transform:translateY(-50%);z-index:19;display:flex;flex-direction:column;gap:8px;padding:6px;border-radius:22px;background:rgba(8,11,22,.28);border:1px solid rgba(160,190,255,.10);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);opacity:.55;transition:opacity .25s}
.frail:hover,.frail:focus-within{opacity:1}
.fr-b{width:36px;height:36px;border-radius:50%;border:1px solid rgba(160,190,255,.18);background:rgba(10,14,30,.55);font-size:16px;line-height:1;cursor:pointer;touch-action:manipulation;display:flex;align-items:center;justify-content:center;padding:0}
.fr-b:hover,.fr-b.on,.fr-b[aria-pressed=true]{border-color:var(--zg-accent,#2ee6d6);box-shadow:0 0 12px rgba(46,230,214,.18)}

body:not(.focus) .frail .fo{display:none}
body.focus .frail .fc{display:none}
body:not(.focus) .frail{opacity:.45;top:auto;bottom:calc(var(--dock,150px) + 14px);transform:none}
body.wide:not(.focus) .frail{bottom:24px}
.ftopzone,.fleftzone{display:none}
body.focus .ftopzone{display:block;position:fixed;left:0;right:0;top:0;height:calc(env(safe-area-inset-top) + 30px);z-index:19}
body.focus.f-top .ftopzone,body.focus.f-peek .ftopzone{pointer-events:none;display:none}
body.wide.focus .fleftzone{display:block;position:fixed;left:0;top:0;bottom:0;width:14px;z-index:19}
.fdrawer-h{display:none}
body.focus{overflow:hidden}
body.focus #app>*:not(.hero):not(.top):not(.fdrawer-h){display:none}
body.focus .hero{position:fixed;inset:0;z-index:2;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:0;margin:0;max-width:none!important;pointer-events:none}
body.focus .hero>*{pointer-events:auto}
body.focus .hero .greet,body.focus .hero .sum,body.focus .hero .hero-actions{display:none}
body.focus .hero .orb{margin:0 auto}
body.focus header.top{position:fixed;left:0;right:0;top:0;z-index:20;padding:calc(env(safe-area-inset-top) + 10px) 16px 14px;max-width:none!important;margin:0!important;background:linear-gradient(180deg,rgba(3,5,10,.92),rgba(3,5,10,.6) 70%,transparent);opacity:0;transform:translateY(-10px);pointer-events:none;transition:opacity .25s,transform .25s}
body.focus.f-top header.top{opacity:1;transform:none;pointer-events:auto}
body.focus .dock{transform:translateY(115%);transition:transform .28s;pointer-events:none}
body.focus.f-type .dock{transform:none;pointer-events:auto}
body.wide.focus .talk{transform:translateX(-102%);transition:transform .3s;box-shadow:none}
body.wide.focus.f-left .talk{transform:none;box-shadow:18px 0 50px rgba(0,0,0,.45);background:rgba(6,9,18,.94)}
body.wide.focus #app{margin-left:0}
/* panels drawer (hover ▦ to peek, click to pin) */
body.focus.f-peek{overflow:hidden}
body.focus.f-peek #app{position:fixed;top:0;bottom:0;right:calc(max(8px,env(safe-area-inset-right)) + 50px);left:auto;width:min(460px,calc(100vw - 62px));margin:0!important;padding:calc(env(safe-area-inset-top) + 12px) 14px 90px!important;overflow-y:auto;overscroll-behavior:contain;background:rgba(6,9,18,.93);border-left:1px solid rgba(160,190,255,.14);box-shadow:-20px 0 60px rgba(0,0,0,.5);z-index:3}
body.focus.f-peek #app>*:not(.hero):not(.top):not(.fdrawer-h):not([hidden]){display:block}

body.focus.f-peek header.top{opacity:0!important;pointer-events:none!important}
body.focus.f-peek #app>*{max-width:none!important;margin-left:0!important;margin-right:0!important}
body.focus.f-peek .fdrawer-h{display:flex;align-items:center;gap:6px;flex-wrap:wrap;position:sticky;top:-12px;z-index:5;background:rgba(6,9,18,.97);padding:6px 0 10px;margin-bottom:6px;border-bottom:1px solid rgba(160,190,255,.1)}
.fdrawer-h b{flex:1 0 100%;font-size:13px;letter-spacing:.12em;text-transform:uppercase;opacity:.7}
.fdrawer-h .x{position:absolute;right:0;top:4px}
body.focus.f-peek .hero{z-index:0}
body.focus.f-peek #app>*:not(.hero){position:relative;z-index:1}
body.focus.f-peek #app>header.top{position:fixed;z-index:20}
@media (max-width:899px){body.focus.f-peek .hero{visibility:hidden}}
@media (max-width:560px){.fr-b{width:34px;height:34px;font-size:15px}.frail{gap:6px;padding:5px}}


/* ===== R3.6: phone as a remote mic ===== */
.rmPanel{position:fixed;z-index:60;right:max(56px,calc(env(safe-area-inset-right) + 56px));top:50%;transform:translateY(-50%);width:min(380px,calc(100vw - 24px));max-height:calc(100vh - 24px);overflow:auto;padding:14px 16px;border-radius:18px;background:rgba(8,11,22,.92);border:1px solid rgba(160,190,255,.18);box-shadow:0 18px 60px rgba(0,0,0,.5);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);color:#e8eefc;font-size:14px}
.rmPanel[hidden]{display:none}






@media (max-width:560px){.rmPanel{right:12px;left:12px;width:auto;top:auto;bottom:max(12px,env(safe-area-inset-bottom));transform:none}}
.rmPanel a.chip{color:inherit;text-decoration:none;display:inline-flex;align-items:center}
.rmPanel [hidden]{display:none!important}

/* ===== R5: sleeker "Who's talking" + voice shaping ===== */
#personaSheet .pnow{margin:2px 0 10px;font-size:14px}
#personaSheet .pgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(132px,1fr));gap:8px;margin-bottom:12px}
.pcard{display:flex;flex-direction:column;align-items:flex-start;gap:2px;text-align:left;padding:9px 10px;border-radius:14px;border:1px solid rgba(160,190,255,.14);background:rgba(255,255,255,.035);cursor:pointer;min-height:64px;touch-action:manipulation;transition:border-color .15s,background .15s,transform .1s}
.pcard:hover{border-color:rgba(160,190,255,.32)}
.pcard:active{transform:scale(.98)}
.pcard.on{border-color:var(--zg-accent,#2ee6d6);background:rgba(46,230,214,.08);box-shadow:0 0 0 1px rgba(46,230,214,.25) inset}
.pcard .pe{font-size:19px;line-height:1}
.pcard .pn{font-weight:600;font-size:13.5px;line-height:1.2}
.pcard .pv{font-size:11.5px;opacity:.62;line-height:1.25}
.povr{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin:0 0 10px;padding:8px 10px;border-radius:12px;background:rgba(255,184,77,.08);border:1px solid rgba(255,184,77,.35);font-size:13px}
.povr[hidden]{display:none}
.vshape{margin:12px 0 6px;padding:10px 12px;border-radius:14px;border:1px solid rgba(160,190,255,.12);background:rgba(255,255,255,.025)}
.vshape .vs-h{display:flex;align-items:baseline;gap:8px;margin-bottom:4px}.vshape .vs-h b{flex:1}
.vshape label{display:flex;justify-content:space-between;font-size:13px;margin:8px 0 2px}.vshape label em{font-style:normal;opacity:.7}
.vshape input[type=range]{width:100%}
.vshape label.tog{justify-content:flex-start;gap:8px}
@media (max-width:420px){#personaSheet .pgrid{grid-template-columns:repeat(2,1fr)}}

/* R5.2: on a phone the ⚙ panel used to sit on top of the orb. Now it is a short translucent bottom sheet and
   the orb floats up above it while it is open, so he can see what he is tuning. Desktop keeps the side panel. */


@media (max-width:899px){
  body.focus .hero>.orbtune{position:fixed!important;top:auto!important;left:10px;right:max(10px,env(safe-area-inset-right));bottom:calc(env(safe-area-inset-bottom) + 10px);width:auto;max-height:38vh;padding:8px 12px 10px;border-radius:16px;background:rgba(12,16,34,.78);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);box-shadow:0 10px 36px rgba(0,0,0,.45)}
  body.focus .hero>.orbtune label{margin:4px 0 0;font-size:12px}
  body.focus .hero>.orbtune input[type=range]{margin:0;height:24px}
  
  body.focus .hero{transition:padding .25s}
}

/* R5.3 (Oct 12 2026): muted orb look + the ⚙ sheet's grip / swipe-down */
@media (max-width:899px){
  body.focus .hero>.orbtune{transition:transform .22s ease-out,opacity .22s;will-change:transform;overscroll-behavior:contain}
  body.focus .hero>.orbtune.dragging{transition:none}
}

/* ===== Links log (links.js): 🔗 on the rail opens every link Iliad sent + links the owner saved, newest first ===== */
.fr-links{position:relative}
.lk-badge{position:absolute;top:-4px;right:-4px;min-width:16px;height:16px;padding:0 4px;border-radius:8px;background:var(--zg-accent,#2ee6d6);color:#04121a;font:700 10px/16px system-ui,sans-serif;text-align:center}
.lk-badge[hidden]{display:none}
.lk-float{position:fixed;right:max(10px,env(safe-area-inset-right));bottom:calc(env(safe-area-inset-bottom) + 90px);z-index:19}
.lkwin{position:fixed;z-index:40;right:calc(max(8px,env(safe-area-inset-right)) + 56px);top:50%;transform:translateY(-50%);width:min(400px,calc(100vw - 80px));max-height:min(72vh,640px);display:flex;flex-direction:column;
  background:rgba(7,10,22,.94);border:1px solid rgba(160,190,255,.18);border-radius:18px;box-shadow:0 24px 70px rgba(0,0,0,.55);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);color:inherit;opacity:0;transition:opacity .18s}
.lkwin.in{opacity:1}
.lkwin[hidden]{display:none}
.lk-grip{display:none}
.lk-h{display:flex;align-items:center;gap:8px;padding:12px 12px 10px 16px;border-bottom:1px solid var(--o-hair)}
.lk-h b{font-size:15px;letter-spacing:.02em}
.lk-n{font-size:12px;opacity:.55;flex:1}
.lk-addb{border:1px solid var(--o-hair2);background:var(--o-hover);color:inherit;border-radius:14px;padding:5px 11px;font-size:13px;cursor:pointer}
.lk-x{border:0;background:transparent;color:inherit;font-size:17px;width:32px;height:32px;border-radius:50%;cursor:pointer;opacity:.75}
.lk-x:hover{opacity:1;background:rgba(160,190,255,.08)}
.lk-add{display:flex;flex-wrap:wrap;gap:6px;padding:10px 12px;border-bottom:1px solid rgba(160,190,255,.10)}
.lk-add[hidden]{display:none}
.lk-add input{flex:1 1 160px;min-width:0;background:rgba(0,0,0,.35);border:1px solid rgba(160,190,255,.2);border-radius:10px;color:inherit;padding:8px 10px;font-size:15px}
.lk-add button{border:0;border-radius:10px;padding:8px 14px;background:var(--zg-accent,#2ee6d6);color:#04121a;font-weight:700;cursor:pointer}
.lk-err{flex:1 0 100%;font-size:12px;color:#ff9aa8}
.lk-err[hidden]{display:none}
.lk-list{list-style:none;margin:0;padding:6px;overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch}
.lk-i{display:flex;align-items:flex-start;gap:6px;border-radius:12px;transition:opacity .2s}
.lk-i:hover{background:rgba(160,190,255,.06)}
.lk-i.going{opacity:.35}
.lk-a{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px;padding:9px 10px;color:inherit;text-decoration:none}
.lk-t{font-size:15px;font-weight:600;color:var(--zg-accent,#7fe9ff);overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}
.lk-a:hover .lk-t{text-decoration:underline}
.lk-m{font-size:12px;opacity:.6;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.lk-note{font-size:12.5px;opacity:.75;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}
.lk-i.new .lk-t::before{content:"";display:inline-block;width:7px;height:7px;border-radius:50%;background:var(--zg-accent,#2ee6d6);margin-right:7px;vertical-align:middle}
.lk-rm{flex:none;margin:8px 6px 0 0;border:0;background:transparent;color:inherit;opacity:.35;font-size:12px;min-width:28px;height:28px;border-radius:14px;cursor:pointer;padding:0 6px}
.lk-i:hover .lk-rm,.lk-rm:focus{opacity:.8}
.lk-rm.armed{opacity:1;background:rgba(255,90,110,.18);color:#ffb3bd}
.lk-empty{padding:22px 18px;font-size:14px;opacity:.65;text-align:center}
.lk-empty[hidden]{display:none}
html[data-theme="light"] .lkwin{background:rgba(250,251,255,.97);color:#111}
@media (max-width:899px){
  .lkwin{left:0;right:0;top:auto;bottom:0;width:auto;max-height:62vh;transform:none;border-radius:20px 20px 0 0;padding-bottom:env(safe-area-inset-bottom);transition:opacity .18s,transform .2s}
  .lkwin.drag{transition:none}
  .lk-grip{display:block;width:40px;height:5px;border-radius:3px;background:rgba(160,190,255,.35);margin:8px auto 0;touch-action:none}
  .lk-h{touch-action:none}
  .lk-rm{opacity:.55}
}
body.lk-open .wdock,body.lk-open .wmenu{opacity:0!important;pointer-events:none!important}
@media (min-width:900px){body:not(.focus) .lkwin{top:auto;bottom:24px;transform:none}}

/* ===== line icons on the rail ===== */
.fr-b{color:rgba(214,226,255,.78);transition:color .18s,border-color .18s,box-shadow .18s,background .18s,transform .12s}
.fr-b .oi{width:18px;height:18px;display:block;pointer-events:none}
.fr-b:hover{color:#fff;background:rgba(18,24,46,.7)}
.fr-b:active{transform:scale(.94)}
.fr-b.on,.fr-b[aria-pressed=true]{color:var(--zg-accent,#2ee6d6)}

.fr-b:focus-visible{outline:1.5px solid var(--zg-accent,#2ee6d6);outline-offset:2px}
.lk-h b .oi{width:15px;height:15px;display:inline-block;vertical-align:-2px;margin-right:4px;opacity:.85}
@media (max-width:560px){.fr-b .oi{width:17px;height:17px}}

/* AI key not set yet: a quiet chip that stays visible in every layout */
.ainote{position:fixed;left:0;right:0;margin:0 auto;width:fit-content;top:calc(12px + env(safe-area-inset-top));z-index:9000;max-width:min(560px,calc(100vw - 96px));box-sizing:border-box;padding:7px 14px;border:1px solid rgba(139,108,255,.45);border-radius:999px;background:rgba(14,12,30,.82);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);color:#d9d2ff;font:12.5px/1.35 system-ui,-apple-system,"Segoe UI",sans-serif;text-align:center;pointer-events:none}
.ainote[hidden]{display:none}
.ainote b{color:#fff;font-weight:600}
@media (min-width:601px){.ainote{left:20px;right:auto;margin:0;max-width:min(520px,calc(50vw - 40px));text-align:left}}
@media (max-width:600px){.ainote{font-size:12px;max-width:calc(100vw - 32px)}.ainote span{display:none}.ainote b::after{content:" · needs an AI key";font-weight:400;color:#d9d2ff}}

.aikey input{flex:1 1 180px;min-width:0;box-sizing:border-box;padding:8px 12px;border-radius:999px;border:1px solid var(--line2,rgba(255,255,255,.18));background:rgba(255,255,255,.04);color:inherit;font:13px ui-monospace,"SF Mono",Menlo,monospace}
.aikey{display:flex;gap:8px;flex-wrap:wrap;align-items:center}


/* ===== v3 (Oct 13 2026): simplified voice visual, labeled rail, transcript toggle ===== */
/* no starfield / scene behind: a plain, calm background */
.grid-bg{display:none}
/* home stage: the orb button is now a clean waveform */
.orb.orb-wave{width:min(440px,74vw);height:120px;border-radius:22px;margin:6px auto 4px;cursor:pointer}
.orb.orb-wave>span:not(.wv-box),.orb.orb-wave>canvas:not(.wv){display:none!important}
.orb.orb-wave::before,.orb.orb-wave::after{display:none!important}
.wv-box{position:absolute;inset:0;display:block;border-radius:inherit;background:rgba(12,17,32,.55);border:1px solid rgba(160,190,255,.14);box-shadow:0 8px 30px rgba(0,0,0,.25)}
.wv{position:absolute;left:18px;right:18px;top:14px;bottom:14px;width:calc(100% - 36px);height:calc(100% - 28px);display:block;pointer-events:none}
.orb.orb-wave:hover .wv-box,.orb.orb-wave:focus-visible .wv-box{border-color:rgba(46,230,214,.45)}
.orb.orb-wave[data-wv=listening] .wv-box,.orb.orb-wave[data-wv=hearing] .wv-box{border-color:rgba(167,139,250,.5)}
.orb.orb-wave[data-wv=speaking] .wv-box{border-color:rgba(46,230,214,.5)}
.orb.orb-wave.muted .wv-box{opacity:.6}
.wv-state{margin:10px 0 0;text-align:center;font-size:15px;color:var(--mut,#9aa7c0);display:flex;flex-direction:column;align-items:center;gap:6px}
.wv-state .wv-txt{color:#e6ecff;font-weight:500;letter-spacing:.01em}
.wv-key{font-size:11.5px;opacity:.7;display:flex;align-items:center;gap:6px}
.wv-key i{display:inline-block;width:8px;height:8px;border-radius:50%;margin-left:6px}
.wv-key i.k-me{background:rgb(167,139,250);margin-left:0}.wv-key i.k-tab{background:rgb(46,230,214)}
body:not(.focus) .wv-state{display:none}
html[data-theme="light"] .wv-box{background:rgba(255,255,255,.85);border-color:rgba(40,60,110,.18)}
html[data-theme="light"] .wv-state .wv-txt{color:#1b2440}
/* voice panel: the big orb becomes a slim waveform strip */
.t-orb.orb-wave{width:100%!important;max-width:520px;aspect-ratio:auto;height:96px;border-radius:18px;transform:none!important;margin:4px auto 0}
.talk:has(.tx-wrap.open) .t-orb.orb-wave{height:72px}
.t-orb.orb-wave>span:not(.wv-box){display:none!important}
/* side rail: every button carries a visible name */
.frail{opacity:1;gap:6px;padding:6px;border-radius:18px;background:rgba(8,11,22,.72)}
body:not(.focus) .frail{opacity:1}
.fr-b{width:68px;height:auto;min-height:50px;border-radius:12px;flex-direction:column;gap:4px;padding:7px 4px 6px}
.fr-b::after{content:attr(data-label);display:block;font-size:11px;line-height:1.1;font-weight:500;letter-spacing:.01em;color:rgba(226,234,255,.92);white-space:nowrap;pointer-events:none}

.fr-b .oi{width:18px;height:18px}
.fr-b{position:relative}
html[data-theme="light"] .fr-b::after{color:#1b2440}
body.focus.f-peek #app{right:calc(max(8px,env(safe-area-inset-right)) + 90px);width:min(460px,calc(100vw - 104px))}
.rmPanel{right:max(92px,calc(env(safe-area-inset-right) + 92px))}
.lkwin{right:calc(max(8px,env(safe-area-inset-right)) + 90px);width:min(400px,calc(100vw - 112px))}
@media (max-width:560px){.fr-b{width:58px;min-height:46px;height:auto;padding:6px 3px 5px;font-size:15px}.fr-b::after{font-size:10px}.frail{gap:5px;padding:5px}
  body.focus.f-peek #app{right:calc(max(6px,env(safe-area-inset-right)) + 72px);width:calc(100vw - 84px)}
  .orb.orb-wave{width:min(300px,70vw);height:104px}}
/* transcript: an obvious, labeled show / hide */
.tx-toggle.txt-v3{color:#e6ecff;font-weight:500;font-size:14px;border-color:rgba(46,230,214,.4);background:rgba(14,26,40,.75);display:flex;align-items:center;justify-content:center;gap:8px}
.tx-toggle.txt-v3::after{content:none}
.tx-toggle.txt-v3 .txt-ic{font-size:12px;opacity:.85}
html[data-theme="light"] .tx-toggle.txt-v3{color:#1b2440}
.txside{display:none}
body.wide.focus .txside{display:flex;position:fixed;z-index:21;left:0;top:50%;transform:translateY(-50%);align-items:center;gap:6px;padding:14px 10px 14px 12px;border:1px solid rgba(46,230,214,.45);border-left:0;border-radius:0 14px 14px 0;background:rgba(10,16,30,.92);color:#e6ecff;font-size:13px;font-weight:600;letter-spacing:.02em;cursor:pointer;box-shadow:6px 0 24px rgba(0,0,0,.35);transition:left .3s,background .18s}
body.wide.focus .txside .ts-l{writing-mode:vertical-rl;transform:rotate(180deg)}
body.wide.focus .txside .ts-ar{font-size:18px;line-height:1;color:rgb(46,230,214)}
body.wide.focus .txside:hover{background:rgba(18,30,52,.96)}
body.wide.focus.f-left .txside{left:var(--lw)}
body.wide.max-talk .txside,body.wide.max-app .txside{display:none!important}
html[data-theme="light"] body.wide.focus .txside{background:rgba(255,255,255,.95);color:#1b2440}

.tx-wrap .tx-toggle.txt-v3::after,.tx-wrap.open .tx-toggle.txt-v3::after{content:none}
/* desktop focus view: the stage waveform is the one visual; the side panel keeps status + transcript, and the stage
   re-centres in the space that is left when the side is open */
body.wide.focus .t-orb.orb-wave{display:none}
body.wide.focus.f-left .hero{left:var(--lw);right:84px;transition:left .3s}
/* phone: keep the stage clear of the rail, and the rail out of the voice screen (it has its own controls and ‹ Orbit) */
@media (max-width:560px){body.focus .hero{padding-right:70px!important;box-sizing:border-box}.orb.orb-wave{width:min(280px,calc(100vw - 100px))}}
body.talking:not(.wide) .frail{display:none}

/* ---- v4 (Oct 13 2026): composer bar under the transcript = the one place to talk or type ---- */
.t-form.t-compose{display:flex;align-items:center;gap:8px;margin-top:10px;padding:6px;border-radius:18px;border:1px solid rgba(46,230,214,.45);background:rgba(10,18,30,.92);box-shadow:0 0 0 3px rgba(46,230,214,.06)}
.t-form.t-compose:focus-within{border-color:rgba(46,230,214,.8);box-shadow:0 0 0 3px rgba(46,230,214,.16)}
.t-form.t-compose input{flex:1;min-width:0;min-height:44px;border:0;background:transparent;padding:0 10px;font-size:16px;color:inherit;outline:none}
.t-form.t-compose .t-send{flex:0 0 auto;width:44px;height:44px;border-radius:14px}
.t-form.t-compose .t-talk{flex:0 0 auto;display:flex;align-items:center;gap:6px;height:44px;padding:0 14px;width:auto;border-radius:14px;border:1px solid rgba(167,139,250,.6);background:rgba(167,139,250,.16);color:#e6ecff;font-weight:600;font-size:14px;cursor:pointer}
.t-form.t-compose .t-talk i{font-style:normal;font-size:16px}
.t-form.t-compose .t-talk:hover{background:rgba(167,139,250,.28)}
.t-form.t-compose .t-talk.live{border-color:rgba(255,93,122,.6);background:rgba(255,93,122,.16)}
.t-form.t-compose .t-talk.live i{color:var(--red)}
html[data-theme="light"] .t-form.t-compose{background:#fff}
html[data-theme="light"] .t-form.t-compose .t-talk{color:#1b2440}
/* phone: the "Transcript" handle also lives on the left edge and opens the voice + transcript screen */
@media (max-width:860px){body.focus:not(.wide):not(.talking) .txside{display:flex;position:fixed;z-index:21;left:0;top:50%;transform:translateY(-50%);flex-direction:column;align-items:center;gap:6px;padding:12px 7px 12px 8px;border:1px solid rgba(46,230,214,.45);border-left:0;border-radius:0 14px 14px 0;background:rgba(10,16,30,.92);color:#e6ecff;font-size:12px;font-weight:600;letter-spacing:.02em;cursor:pointer;box-shadow:6px 0 24px rgba(0,0,0,.35)}
  body.focus:not(.wide):not(.talking) .txside .ts-l{writing-mode:vertical-rl;transform:rotate(180deg)}
  body.focus:not(.wide):not(.talking) .txside .ts-ar{font-size:16px;line-height:1;color:rgb(46,230,214)}
  html[data-theme="light"] body.focus:not(.wide) .txside{background:rgba(255,255,255,.95);color:#1b2440}}
/* phone voice screen: keep the ◈ Windows dock clear of Stop / Repeat */
body.talking:not(.wide) .talk{padding-bottom:calc(46px + env(safe-area-inset-bottom))}

/* ---- v4: Dashboard (one rail button + one friendly sheet; replaces Panels + Windows) ---- */
.wdock,.wmenu{display:none!important}
/* a section opened from the Dashboard shows on its own in the drawer, with "‹ Dashboard" to go back */
.fdrawer-h .fdBack{display:none}
body.focus.f-peek.f-one .fdrawer-h .fdBack{display:inline-flex}
body.focus.f-peek.f-one .fdrawer-h .chip:not(.fdBack){display:none}
body.focus.f-peek.f-one #app>*:not(.hero):not(.top):not(.fdrawer-h):not(.f-sel){display:none!important}
body.focus.f-peek.f-one .fdrawer-h b{font-size:15px;letter-spacing:.02em;text-transform:none;opacity:.95;order:2}
/* phone: room on the left for the Transcript handle */
@media (max-width:560px){body.focus:not(.wide) .hero{padding-left:40px!important}}

/* v4: Settings pinned at the bottom of the rail */
.frail .fr-set{margin-top:6px;position:relative}
.frail .fr-set::before{content:"";position:absolute;left:12%;right:12%;top:-7px;height:1px;background:rgba(160,190,255,.18)}

/* v4 phone: waveform card sits between the Transcript handle and the rail */
@media (max-width:560px){body.focus:not(.wide) .hero{padding-left:44px!important;padding-right:80px!important}body.focus .orb.orb-wave{width:min(250px,calc(100vw - 140px))}}
body.focus.f-peek.f-one .fdrawer-h b{display:none}

/* ===================== Orbit v5 layout (Oct 13 2026) =====================
   One centered column (mark, waveform, chat, composer), one LEFT sidebar, a static top bar. Every rule is scoped to body.v5
   and set with !important where the legacy layers (focus / wide / f-left / max-*) would otherwise move things. */
body.v5{--v5top:54px;--v5side:208px;overflow:hidden!important}
body.v5 .grid-bg{opacity:.5}
/* top bar: always visible, static */
body.v5 header.top{position:fixed!important;left:0!important;right:0!important;top:0!important;height:var(--v5top);z-index:40!important;display:flex!important;align-items:center!important;gap:12px;
  padding:env(safe-area-inset-top) 16px 0 calc(var(--v5side) + 20px)!important;margin:0!important;max-width:none!important;opacity:1!important;transform:none!important;pointer-events:auto!important;visibility:visible!important;
  background:rgba(5,7,13,.92)!important;border-bottom:1px solid rgba(160,190,255,.08);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);transition:none!important}
body.v5 header.top .brand{flex:1;min-width:0}
body.v5 .v5title{font-size:15px;font-weight:600;letter-spacing:.01em;color:rgba(226,234,255,.92);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:block}
body.v5 header.top .top-r{display:flex;align-items:center;gap:8px}
body.v5 header.top .top-r>*:not(#trBtn){display:none!important}
body.v5 #trBtn{display:inline-flex!important;align-items:center;gap:6px;height:34px;padding:0 12px;border-radius:10px}
body.v5 .v5menu{display:none;width:38px;height:38px;border-radius:10px;border:1px solid rgba(160,190,255,.16);background:rgba(10,14,30,.55);color:rgba(226,234,255,.9);align-items:center;justify-content:center;padding:0;cursor:pointer}
body.v5 .ftopzone,body.v5 .fleftzone,body.v5 #txSide,body.v5 .txside,body.v5 .dock,body.v5 .hero,body.v5 #fdClassic,body.v5 .maxbtn,body.v5 #acctBtn{display:none!important}
/* the drawer (#app) only exists while a Dashboard section is open; it opens next to the sidebar */
body.v5:not(.f-peek) #app{display:none!important}
body.v5.focus.f-peek #app{left:var(--v5side)!important;right:auto!important;top:var(--v5top)!important;width:min(480px,calc(100vw - var(--v5side) - 24px))!important;z-index:34!important;border-left:0!important;border-right:1px solid rgba(160,190,255,.14);box-shadow:20px 0 60px rgba(0,0,0,.5)!important;padding-top:12px!important}
/* ---------- left sidebar ---------- */
body.v5 #fRail{position:fixed!important;left:0!important;right:auto!important;top:0!important;bottom:0!important;transform:none!important;width:var(--v5side)!important;z-index:42!important;display:flex!important;flex-direction:column!important;align-items:stretch!important;gap:2px!important;
  padding:calc(env(safe-area-inset-top) + 10px) 10px calc(env(safe-area-inset-bottom) + 12px)!important;border-radius:0!important;opacity:1!important;background:rgba(7,10,19,.97)!important;border:0!important;border-right:1px solid rgba(160,190,255,.10)!important;backdrop-filter:none!important;overflow-y:auto}
body.v5.v5-boot #fRail{opacity:0!important;animation:v5show 0s linear 2.5s forwards}
@keyframes v5show{to{opacity:1}}
body.v5 #fRail{transition:opacity .15s ease}
body.v5 .v5rail-h{display:flex;align-items:center;justify-content:space-between;height:34px;padding:0 8px 0 10px;margin-bottom:4px}
body.v5 .v5rail-t{font-size:13px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:rgba(160,190,255,.7)}
body.v5 .v5rail-x{display:none;width:32px;height:32px;border:0;background:none;color:rgba(226,234,255,.8);font-size:16px;cursor:pointer}
body.v5 #fRail .fr-b{width:100%!important;height:40px!important;min-height:40px!important;border-radius:10px!important;flex-direction:row!important;justify-content:flex-start!important;align-items:center!important;gap:11px!important;padding:0 12px!important;border:0!important;background:transparent!important;box-shadow:none!important;font-size:15px!important;transform:none!important;color:rgba(214,226,255,.82)!important;flex:none}
body.v5 #fRail .fr-b:hover,body.v5 #fRail .fr-b[aria-expanded="true"]{background:rgba(160,190,255,.09)!important;color:#fff!important}
body.v5 #fRail .fr-b::after{content:attr(data-label)!important;display:block!important;position:static!important;font-size:14px!important;font-weight:500!important;color:inherit!important;transform:none!important;opacity:1!important;background:none!important;padding:0!important;border:0!important;box-shadow:none!important;white-space:nowrap}
body.v5 #fRail .fr-b::before{display:none!important}
body.v5 #fRail .fr-b>svg{flex:none;width:18px;height:18px}
body.v5 #fRail .fr-b.muted{color:rgba(214,226,255,.5)!important}
body.v5 #fRail .fr-set{margin-top:auto!important;border-top:1px solid rgba(160,190,255,.08)!important;border-radius:0 0 10px 10px!important;padding-top:2px!important}
/* ---------- center column ---------- */
body.v5 #talk{display:flex!important;flex-direction:column!important;position:fixed!important;top:var(--v5top)!important;bottom:0!important;left:0!important;right:0!important;margin:0 auto!important;
  width:min(720px,calc(100vw - 2 * (var(--v5side) + 24px)))!important;max-width:none!important;height:auto!important;transform:none!important;opacity:1!important;visibility:visible!important;z-index:5!important;
  background:transparent!important;border:0!important;box-shadow:none!important;border-radius:0!important;padding:0 0 calc(env(safe-area-inset-bottom) + 14px)!important;overflow:hidden!important;inset-inline:0!important;transition:none!important}
body.v5.authing #talk{visibility:hidden!important}
body.v5 #talk .talk-h,body.v5 #txToggle,body.v5 .t-keys,body.v5 #tCap,body.v5 #tEnd{display:none!important}
body.v5 #talk .talk-stage{flex:none!important;display:flex!important;flex-direction:column!important;align-items:center!important;justify-content:flex-start!important;padding:16px 0 6px!important;margin:0!important;min-height:0!important;height:auto!important;gap:0!important}
body.v5 .v5mark{display:flex;align-items:center;justify-content:center;width:36px;height:36px;margin:0 auto 8px}
body.v5 .v5mark svg{width:32px;height:32px;fill:none;stroke:rgba(160,190,255,.9);stroke-width:1.6}
body.v5 .v5mark svg .sat{fill:#2ee6d6;stroke:none}
body.v5 #tOrb{position:relative!important;width:min(560px,100%)!important;max-width:none!important;height:112px!important;margin:0 auto!important;left:auto!important;right:auto!important;top:auto!important;transform:none!important;border-radius:20px!important;flex:none!important;display:block!important}
body.v5 #tState{margin:8px 0 0!important;font-size:13px!important;text-align:center!important;opacity:.8}
body.v5 #tSub{margin:2px 0 0!important;font-size:12px!important;text-align:center!important}
body.v5 #tSub:empty{display:none!important}
body.v5 #txWrap{flex:1 1 auto!important;min-height:0!important;max-height:none!important;height:auto!important;display:flex!important;flex-direction:column!important;margin:8px 0 0!important;padding:0!important;border:0!important;background:transparent!important;overflow:hidden!important;position:relative!important;width:100%!important}
body.v5 #txList{display:block!important;flex:1 1 auto!important;min-height:0!important;max-height:none!important;height:auto!important;overflow-y:auto!important;margin:0!important;padding:8px 4px 12px!important;border:0!important;background:transparent!important}
body.v5 #tForm{flex:none!important;display:flex!important;align-items:center!important;gap:8px!important;width:100%!important;margin:6px 0 0!important;position:relative!important;left:auto!important;right:auto!important;bottom:auto!important;transform:none!important}
body.v5 #tIn{flex:1 1 auto!important;min-width:0!important}
body.v5 .t-clip{flex:none;width:40px;height:44px;border-radius:12px;border:1px solid rgba(160,190,255,.16);background:rgba(10,14,30,.55);color:rgba(214,226,255,.8);display:inline-flex;align-items:center;justify-content:center;cursor:pointer;padding:0}
body.v5 .t-clip:hover{color:#fff;border-color:rgba(46,230,214,.45)}
body.v5 .t-clip[hidden]{display:none}
body.v5 #talk .t-ctrl{flex:none!important;display:flex!important;justify-content:center!important;gap:6px!important;margin:8px 0 0!important;padding:0!important;position:static!important;transform:none!important;background:none!important;border:0!important}
body.v5 #talk[data-state="idle"] .t-ctrl,body.v5 #talk[data-state="error"] .t-ctrl{display:none!important}
body.v5 #talk .t-ctrl .tc{height:32px!important;min-height:32px!important;padding:0 12px!important;font-size:12.5px!important;flex-direction:row!important;gap:6px!important;width:auto!important;border-radius:9px!important}
body.v5 #talk .t-ctrl .tc i{font-style:normal;font-size:12px}
body.v5:not(.ptt) #talk .t-ctrl .ptt-only{display:none}
/* read-only past conversation */
body.v5 .hx5{display:none}
body.v5.v5-hx .hx5{display:flex!important;flex-direction:column;flex:1 1 auto;min-height:0;margin-top:8px}
body.v5.v5-hx #txWrap,body.v5.v5-hx #tForm,body.v5.v5-hx #talk .t-ctrl{display:none!important}
body.v5 .hx5-bar{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:8px 12px;border-radius:12px;background:rgba(167,139,250,.10);border:1px solid rgba(167,139,250,.25);font-size:13px;color:rgba(226,234,255,.9);flex:none}
body.v5 .hx5-back{height:32px;padding:0 12px;border-radius:9px;border:1px solid rgba(46,230,214,.45);background:rgba(46,230,214,.12);color:#e9fffc;font-weight:600;cursor:pointer}
body.v5 .hx5-list{flex:1 1 auto;min-height:0;overflow-y:auto;list-style:none;margin:0;padding:10px 4px}
body.v5 .hx5-list li{display:flex;flex-direction:column;gap:2px;padding:8px 2px;border-bottom:1px solid rgba(160,190,255,.06)}
body.v5 .hx5-list li b{font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:rgba(160,190,255,.7)}
body.v5 .hx5-list li.me b{color:rgba(167,139,250,.9)}
body.v5 .hx5-list li span{white-space:pre-wrap;line-height:1.45}
/* Transcripts drawer: opens next to the sidebar */
body.v5 .hxs{position:fixed;top:var(--v5top);bottom:0;left:var(--v5side);width:min(380px,calc(100vw - var(--v5side)));z-index:38;background:rgba(7,10,19,.98);border-right:1px solid rgba(160,190,255,.12);box-shadow:20px 0 60px rgba(0,0,0,.45);display:flex;flex-direction:column;padding:12px 12px 16px;transform:translateX(-8px);opacity:0;transition:opacity .14s,transform .14s}
body.v5 .hxs.on{opacity:1;transform:none}
body.v5 .hxs[hidden]{display:none}
body.v5 .hxs-h{display:flex;align-items:center;justify-content:space-between;padding:2px 4px 6px}
body.v5 .hxs-h h2{font-size:16px;margin:0}
body.v5 .hxs-x{width:34px;height:34px;border:0;border-radius:9px;background:rgba(160,190,255,.08);color:inherit;cursor:pointer}
body.v5 .hxs-note{font-size:12px;opacity:.6;margin:0 4px 8px}
body.v5 .hxs-list{list-style:none;margin:0;padding:0;overflow-y:auto;flex:1 1 auto;display:flex;flex-direction:column;gap:4px}
body.v5 .hxs-i{width:100%;text-align:left;display:flex;flex-direction:column;gap:3px;padding:10px 12px;border-radius:10px;border:1px solid transparent;background:transparent;color:inherit;cursor:pointer}
body.v5 .hxs-i:hover{background:rgba(160,190,255,.08)}
body.v5 .hxs-i.cur{border-color:rgba(46,230,214,.3)}
body.v5 .hxs-w{font-size:12px;color:rgba(160,190,255,.8)}
body.v5 .hxs-w em{font-style:normal;color:#2ee6d6;margin-left:6px}
body.v5 .hxs-p{font-size:14px;line-height:1.35;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
body.v5 .hxs-n{font-size:11.5px;opacity:.55}
body.v5 .hxs-empty{padding:16px 8px;opacity:.6;font-size:14px}
/* drop overlay */
body.v5 .dropov{position:fixed;inset:0;z-index:200;display:flex;align-items:center;justify-content:center;background:rgba(4,8,18,.78);backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);pointer-events:none}
body.v5 .dropov[hidden]{display:none}
body.v5 .dropov-in{display:flex;flex-direction:column;align-items:center;gap:8px;padding:44px 64px;border:2px dashed rgba(46,230,214,.75);border-radius:24px;background:rgba(46,230,214,.07)}
body.v5 .dropov-in b{font-size:26px;color:#e9fffc}
body.v5 .dropov-in span{font-size:13px;opacity:.7}
body.v5 .v5scrim{display:none}
/* the legacy "max" / f-left states never move anything now */
body.v5.max-talk #talk,body.v5.max-app #talk,body.v5.f-left #talk{left:0!important;right:0!important}
html[data-theme="light"] body.v5 header.top{background:rgba(250,251,255,.94)!important}
html[data-theme="light"] body.v5 #fRail{background:rgba(246,248,253,.98)!important}
html[data-theme="light"] body.v5 #fRail .fr-b{color:#1b2440!important}
html[data-theme="light"] body.v5 .v5title{color:#1b2440}
html[data-theme="light"] body.v5 .hxs{background:#f6f8fd}
/* ---------- phone / narrow: sidebar behind ☰ ---------- */
@media (max-width:820px){
  body.v5{--v5top:52px;--v5side:0px}
  body.v5 header.top{padding:env(safe-area-inset-top) 10px 0 10px!important;height:calc(var(--v5top) + env(safe-area-inset-top))}
  body.v5 .v5menu{display:inline-flex}
  body.v5 .v5title{font-size:14px}
  body.v5 #trBtn{height:34px;padding:0 10px;font-size:13px}
  body.v5 #fRail{width:min(270px,82vw)!important;transform:translateX(-102%)!important;transition:transform .2s ease!important;z-index:60!important;box-shadow:none}
  body.v5.v5-nav #fRail{transform:none!important;box-shadow:20px 0 60px rgba(0,0,0,.55)}
  body.v5 .v5rail-x{display:inline-block}
  body.v5 .v5scrim{display:block;position:fixed;inset:0;z-index:55;background:rgba(0,0,0,.5);opacity:0;pointer-events:none;transition:opacity .2s}
  body.v5.v5-nav .v5scrim{opacity:1;pointer-events:auto}
  body.v5 #talk{top:calc(var(--v5top) + env(safe-area-inset-top))!important;width:100%!important;padding:0 12px calc(env(safe-area-inset-bottom) + 10px)!important}
  body.v5 #talk .talk-stage{padding:10px 0 2px!important}
  body.v5 .v5mark{width:26px;height:26px;margin-bottom:6px}
  body.v5 .v5mark svg{width:24px;height:24px}
  body.v5 #tOrb{height:76px!important;border-radius:16px!important}
  body.v5 #tState{margin-top:6px!important;font-size:12px!important}
  body.v5 .hxs{left:0;width:100vw;top:calc(var(--v5top) + env(safe-area-inset-top))}
  body.v5.focus.f-peek #app{left:0!important;width:100vw!important;top:calc(var(--v5top) + env(safe-area-inset-top))!important}
  body.v5 .dropov-in{padding:30px 26px}
}

body.v5 #talk>*{max-width:none!important;width:100%!important;margin-left:0!important;margin-right:0!important;align-self:stretch!important;box-sizing:border-box!important}
body.v5 #txList li,body.v5 .hx5-list li span{overflow-wrap:anywhere}
body.v5 .mlPill{position:fixed!important;top:calc(var(--v5top) + 10px)!important;right:16px!important;left:auto!important;bottom:auto!important;transform:none!important;margin:0!important;z-index:30!important}
@media (max-width:820px){body.v5 .mlPill{top:calc(var(--v5top) + env(safe-area-inset-top) + 6px)!important;right:10px!important;font-size:11px!important;padding:3px 8px!important}}

/* first paint: the waveform card is already a card (wave.js fills it a moment later); the legacy orb rings never show */
body.v5 #tOrb>.ring,body.v5 #tOrb>.track,body.v5 #tOrb>.core,body.v5 #tOrb::before,body.v5 #tOrb::after{display:none!important}
body.v5 #tOrb{background:rgba(12,17,32,.55)!important;border:1px solid rgba(160,190,255,.14)!important;box-shadow:0 8px 30px rgba(0,0,0,.25)!important;overflow:hidden}
html[data-theme="light"] body.v5 #tOrb{background:rgba(255,255,255,.85)!important}

/* request status lines (ETA) at the end of the chat */
body.v5 #txList li.v5req{list-style:none;display:flex;flex-direction:column;gap:6px;margin:10px 0 2px;padding:0;border:0;background:none}
body.v5 #txList li.v5req[hidden]{display:none}
body.v5 .v5req-i{display:flex;flex-direction:column;gap:2px;padding:8px 12px;border-radius:12px;background:rgba(160,190,255,.06);border:1px solid rgba(160,190,255,.12);font-size:13px}
body.v5 .v5req-g{color:rgba(226,234,255,.92);font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
body.v5 .v5req-s{display:flex;align-items:center;gap:7px;color:rgba(214,226,255,.72);font-size:12.5px}
body.v5 .v5req-s i{width:7px;height:7px;border-radius:50%;background:#8aa0d6;flex:none}
body.v5 .v5req-s b{font-weight:600;color:#2ee6d6;font-variant-numeric:tabular-nums}
body.v5 .v5req-i[data-st="work"] .v5req-s i{background:#a78bfa;box-shadow:0 0 6px rgba(167,139,250,.7)}
body.v5 .v5req-i[data-st="pick"] .v5req-s i{background:#7cc4ff}
body.v5 .v5req-i[data-st="done"] .v5req-s i{background:#2ee6d6}
body.v5 .v5req-i[data-st="ny"]{border-color:rgba(255,184,107,.4)}
body.v5 .v5req-i[data-st="ny"] .v5req-s i{background:#ffb86b}
html[data-theme="light"] body.v5 .v5req-g{color:#1b2440}
body.v5 .v5req-s b,body.v5 .v5req-g{text-transform:none!important;letter-spacing:normal!important}

/* ===== v5.2 (12:39–12:40 AM steers) ===== */
/* top bar: just the title; Prompt Translator lives in the sidebar */
body.v5 header.top #trBtn{display:none!important}
/* sidebar collapse (desktop): remembered, applied before first paint by the inline script */
body.v5 .v5col{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;border:0;border-radius:8px;background:none;color:rgba(214,226,255,.7);cursor:pointer;padding:0}
body.v5 .v5col:hover{background:rgba(160,190,255,.09);color:#fff}
@media (min-width:821px){
  body.v5.v5-col{--v5side:0px}
  body.v5.v5-col #fRail{transform:translateX(-102%)!important}
  body.v5.v5-col .v5menu{display:inline-flex}
  body.v5.v5-col header.top{padding-left:12px!important}
  body.v5 #fRail{transition:transform .18s ease,opacity .15s ease!important}
}
@media (max-width:820px){body.v5 .v5col{display:none}}
/* status: "N in flight" is a button */
body.v5 .fl-i{display:flex;flex-direction:column;gap:4px;padding:10px 12px;border-radius:10px;background:rgba(160,190,255,.05);border:1px solid rgba(160,190,255,.1)}
body.v5 .fl-i>b{font-size:14px;font-weight:600}
body.v5 .fl-i .v5req-s b{font-size:12.5px}
body.v5 .fl-r{font-size:12.5px;opacity:.8;line-height:1.35}
body.v5 .fl-a{font-size:11.5px;opacity:.5}
body.v5 .fl-i[data-st="work"] .v5req-s i{background:#a78bfa}
body.v5 .fl-i[data-st="ny"]{border-color:rgba(255,184,107,.45)}
body.v5 .fl-i[data-st="ny"] .v5req-s i{background:#ffb86b}
/* MUTED / click-to-talk: unmistakable state inside the waveform card */
body.v5 .v5say{position:absolute;inset:0;z-index:3;display:flex;align-items:center;justify-content:center;gap:10px;border-radius:inherit;pointer-events:none;font-size:20px;font-weight:700;letter-spacing:.01em;color:#fff;text-shadow:0 1px 8px rgba(0,0,0,.5)}
body.v5 .v5say-t::after{content:""}
body.v5 .v5say .v5say-x{display:none}
body.v5 #talk[data-state="idle"] .v5say,body.v5 #talk[data-state="error"] .v5say{background:rgba(10,14,28,.72)}
body.v5 #talk[data-state="idle"] .v5say-t::after{content:"Not listening · click Talk to speak"}
body.v5 #talk[data-state="error"] .v5say-t::after{content:"Couldn't connect · click to retry"}
body.v5 #talk[data-state="idle"] .v5say .v5say-x,body.v5 #talk[data-state="muted"] .v5say .v5say-x{display:inline}
body.v5 #talk[data-state="muted"] .v5say{background:rgba(120,20,36,.78);color:#fff}
body.v5 #talk[data-state="muted"] .v5say-t::after{content:"MUTED · click here to unmute"}
body.v5 #talk[data-state="muted"] #tOrb{border-color:rgba(255,90,110,.85)!important;box-shadow:0 0 0 3px rgba(255,90,110,.25),0 8px 30px rgba(0,0,0,.3)!important}
body.v5 #talk[data-state="connecting"] .v5say-t::after,body.v5 #talk[data-state="reconnecting"] .v5say-t::after{content:"Connecting…"}
body.v5 #talk[data-state="connecting"] .v5say,body.v5 #talk[data-state="reconnecting"] .v5say{background:rgba(10,14,28,.55);font-size:17px}
body.v5 #talk[data-state="connecting"] .v5say-off,body.v5 #talk[data-state="reconnecting"] .v5say-off{display:none}
/* live: a small, clear badge in the corner, the waveform stays visible */
body.v5 #talk[data-state="listening"] .v5say,body.v5 #talk[data-state="hearing"] .v5say,body.v5 #talk[data-state="thinking"] .v5say,body.v5 #talk[data-state="speaking"] .v5say{inset:8px auto auto 10px;padding:3px 10px 3px 8px;border-radius:999px;font-size:12px;font-weight:700;background:rgba(46,230,214,.18);border:1px solid rgba(46,230,214,.55);color:#dffcf8;text-shadow:none;gap:6px}
body.v5 #talk[data-state="listening"] .v5say-off,body.v5 #talk[data-state="hearing"] .v5say-off,body.v5 #talk[data-state="thinking"] .v5say-off,body.v5 #talk[data-state="speaking"] .v5say-off{width:13px;height:13px}
body.v5 #talk[data-state="listening"] .v5say-t::after,body.v5 #talk[data-state="hearing"] .v5say-t::after{content:"● Listening"}
body.v5 #talk[data-state="thinking"] .v5say-t::after{content:"Thinking…"}
body.v5 #talk[data-state="speaking"] .v5say-t::after{content:"Orbit is talking"}
body.v5 #talk[data-state="paused"] .v5say{background:rgba(10,14,28,.6)}
body.v5 #talk[data-state="paused"] .v5say-t::after{content:"Paused"}
/* the Talk button pulses while Orbit isn't listening; the Mic button pulses while muted */
@keyframes v5pulse{0%{box-shadow:0 0 0 0 rgba(46,230,214,.55)}70%{box-shadow:0 0 0 12px rgba(46,230,214,0)}100%{box-shadow:0 0 0 0 rgba(46,230,214,0)}}
@keyframes v5pulseR{0%{box-shadow:0 0 0 0 rgba(255,90,110,.6)}70%{box-shadow:0 0 0 12px rgba(255,90,110,0)}100%{box-shadow:0 0 0 0 rgba(255,90,110,0)}}
body.v5 #talk[data-state="idle"] #tTalk,body.v5 #talk[data-state="error"] #tTalk{animation:v5pulse 1.8s ease-out infinite;background:#2ee6d6!important;color:#04121a!important;border-color:#2ee6d6!important;font-weight:700}
body.v5 #talk[data-state="muted"] #tMic{animation:v5pulseR 1.6s ease-out infinite;background:rgba(255,90,110,.22)!important;border-color:rgba(255,90,110,.8)!important;color:#fff!important}
@media (prefers-reduced-motion:reduce){body.v5 #tTalk,body.v5 #tMic{animation:none!important}}
@media (max-width:820px){body.v5 .v5say{font-size:15px}body.v5 #talk[data-state="muted"] .v5say,body.v5 #talk[data-state="idle"] .v5say{font-size:15px}}
/* every sidebar panel opens right beside the sidebar, never on the far right (desktop) */
@media (min-width:821px){
  body.v5 .lkwin,body.v5 .rmPanel{left:calc(var(--v5side) + 12px)!important;right:auto!important;top:calc(var(--v5top) + 12px)!important;bottom:auto!important;transform:none!important;max-height:calc(100vh - var(--v5top) - 24px)!important;z-index:45!important}
  body.v5 .sheet{left:calc(var(--v5side) + 12px)!important;right:auto!important;top:calc(var(--v5top) + 12px)!important;bottom:12px!important;width:min(460px,calc(100vw - var(--v5side) - 24px))!important;max-width:none!important;max-height:none!important;margin:0!important;border-radius:16px!important;border:1px solid rgba(160,190,255,.16)!important;transform:none!important;z-index:45!important}
  body.v5 .sheet .grab{display:none}
  body.v5 .trwin{inset:calc(var(--v5top) + 12px) auto 12px calc(var(--v5side) + 12px)!important;width:min(760px,calc(100vw - var(--v5side) - 24px))!important;z-index:45!important}
  body.v5 .hxs{top:var(--v5top)}
}
body.v5 #tOrb>span.v5say{display:flex!important}
/* the old caption under the card repeats the overlay; keep it only while live */
body.v5 #talk[data-state="idle"] #tState,body.v5 #talk[data-state="muted"] #tState,body.v5 #talk[data-state="error"] #tState{visibility:hidden}

/* ===== v5.3 (12:44 AM, approved sidebar) ===== */

body.v5 #fRail .fr-b .v5cnt{position:static;margin-left:auto;min-width:20px;height:20px;padding:0 6px;border-radius:10px;background:rgba(160,190,255,.16);color:#e6edff;font:600 11.5px/20px system-ui,sans-serif;text-align:center;font-style:normal}
body.v5 #fRail .fr-b .v5cnt[hidden],body.v5 #fRail .fr-b .v5odot[hidden]{display:none}
body.v5 #fRail .fr-b .v5odot{position:absolute;left:24px;top:8px;width:9px;height:9px;border-radius:50%;background:#ff9f43;box-shadow:0 0 0 2px rgba(7,10,19,.97),0 0 8px rgba(255,159,67,.8)}
body.v5 #fRail .fr-b.need .v5cnt{background:#ff9f43;color:#1a0d00}
body.v5 header.top .brand{display:flex;align-items:center}
body.v5 .v5title{display:inline-block}
body.v5 .tsheet{width:min(420px,calc(100vw - var(--v5side)))}
body.v5 .ts-g{font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:rgba(160,190,255,.75);margin:12px 4px 6px;display:flex;gap:6px;align-items:center}
body.v5 .ts-g span{opacity:.7}
body.v5 .ts-g[data-g="ny"]{color:#ffb86b}
body.v5 .ts-ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px}
body.v5 #tsBody{display:block}

/* ===== v5.4 mobile pass (12:45 AM) ===== */
body.v5 .v5menu{position:relative}
body.v5 .v5mcnt{position:absolute;top:-5px;right:-6px;min-width:18px;height:18px;padding:0 5px;border-radius:9px;background:rgba(160,190,255,.3);color:#fff;font:700 10.5px/18px system-ui,sans-serif;font-style:normal;text-align:center}
body.v5 .v5mcnt.hot{background:#ff9f43;color:#1a0d00;box-shadow:0 0 8px rgba(255,159,67,.7)}
body.v5 .v5mcnt[hidden]{display:none}
@media (max-width:820px){
  html,body.v5{overflow-x:hidden!important;max-width:100vw}
  body.v5 #talk{bottom:var(--v5kb,0px)!important}
  body.v5 #tForm{gap:6px!important}
  body.v5 #tIn{height:48px!important;min-height:48px!important;font-size:16px!important}
  body.v5 #tTalk{min-height:48px!important;height:48px!important;min-width:64px!important}
  body.v5 .t-clip{width:44px;height:48px}
  body.v5 #tForm .t-send{min-height:48px!important;height:48px!important;min-width:44px!important}
  body.v5 #talk .t-ctrl .tc{height:44px!important;min-height:44px!important;flex:1 1 0!important}
  /* every panel is a full-width bottom sheet on a phone */
  body.v5 .hxs,body.v5 .lkwin,body.v5 .rmPanel{position:fixed!important;left:0!important;right:0!important;top:auto!important;bottom:0!important;width:100vw!important;max-width:100vw!important;max-height:86vh!important;height:auto!important;transform:none!important;border-radius:18px 18px 0 0!important;border:1px solid rgba(160,190,255,.16)!important;border-bottom:0!important;z-index:58!important;padding-bottom:calc(env(safe-area-inset-bottom) + 14px)!important;overflow-y:auto!important;box-sizing:border-box!important}
  body.v5 .hxs{min-height:40vh}
  body.v5 .sheet{left:0!important;right:0!important;width:100vw!important;max-width:100vw!important;margin:0!important;box-sizing:border-box!important;z-index:58!important}
  body.v5.focus.f-peek #app{top:auto!important;bottom:0!important;left:0!important;right:0!important;width:100vw!important;max-height:86vh!important;height:auto!important;border-radius:18px 18px 0 0!important;z-index:58!important;padding-top:12px!important}
  body.v5 .trwin{z-index:58!important}
  body.v5 header.top .brand{min-width:0;overflow:hidden}
}

/* ===== v5.5 Iliad theme (12:46 AM): lime #CAD824 main accent, red #CF1A17 secondary ===== */
body.v5{--il-lime:#CAD824;--il-lime-2:#dbe85a;--il-lime-soft:rgba(202,216,36,.14);--il-lime-line:rgba(202,216,36,.55);--il-red:#CF1A17;--il-red-soft:rgba(207,26,23,.18);--il-ink:#191918;--il-base:#191918;--il-panel:#212120;--il-text:#F1EFE9;--il-mute:rgba(241,239,233,.68);--ok:#3ddc84;--warn:#ffb84d;--err:#ff5fa8}
body.v5{background:var(--il-base)!important;color:var(--il-text)}
body.v5 .grid-bg{opacity:.25;filter:grayscale(1)}
body.v5 header.top{background:rgba(13,14,16,.94)!important;border-bottom-color:rgba(242,241,234,.07)}
body.v5 .v5title{color:var(--il-text)}
body.v5 #fRail{background:#0a0b0d!important;border-right-color:rgba(242,241,234,.08)!important}
body.v5 #fRail .fr-b{color:rgba(242,241,234,.78)!important}
body.v5 #fRail .fr-b:hover{background:rgba(242,241,234,.06)!important;color:#fff!important}
body.v5 #fRail .fr-b[aria-expanded="true"]{background:var(--il-lime-soft)!important;color:var(--il-lime)!important;box-shadow:inset 3px 0 0 var(--il-lime)!important}
body.v5 .v5rail-t{color:var(--il-lime)}
body.v5 #fRail .fr-b .v5cnt{background:var(--il-lime)!important;color:var(--il-ink)!important}
body.v5 #fRail .fr-b.need .v5cnt{background:var(--il-lime)!important;color:var(--il-ink)!important}
body.v5 #fRail .fr-b .v5odot{background:var(--il-red)!important;box-shadow:0 0 0 2px #0a0b0d,0 0 8px rgba(207,26,23,.85)!important}
body.v5 .v5mcnt{background:var(--il-lime)!important;color:var(--il-ink)!important}
body.v5 .v5mcnt.hot{box-shadow:0 0 0 2px var(--il-red),0 0 8px rgba(207,26,23,.7)!important}
/* waveform + mark */
body.v5 .v5mark svg{stroke:var(--il-text)}
body.v5 .v5mark svg .sat{fill:var(--il-lime)}
body.v5 #tOrb{background:#121316!important;border-color:rgba(242,241,234,.12)!important}
body.v5 #tOrb .wv-box{background:#121316!important;border-color:rgba(242,241,234,.12)!important}
body.v5 #tOrb:hover .wv-box,body.v5 #tOrb:focus-visible .wv-box{border-color:var(--il-lime-line)!important}
body.v5 #tOrb[data-wv=speaking] .wv-box,body.v5 #tOrb[data-wv=listening] .wv-box,body.v5 #tOrb[data-wv=hearing] .wv-box{border-color:var(--il-lime-line)!important}
body.v5 .wv-key .k-tab{background:var(--il-lime)!important}
body.v5 .wv-key .k-me{background:#eeead6!important}
/* talk / end / muted */
body.v5 #talk[data-state="idle"] #tTalk,body.v5 #talk[data-state="error"] #tTalk{background:var(--il-lime)!important;border-color:var(--il-lime)!important;color:var(--il-ink)!important}
@keyframes v5pulse{0%{box-shadow:0 0 0 0 rgba(202,216,36,.6)}70%{box-shadow:0 0 0 12px rgba(202,216,36,0)}100%{box-shadow:0 0 0 0 rgba(202,216,36,0)}}
@keyframes v5pulseR{0%{box-shadow:0 0 0 0 rgba(207,26,23,.65)}70%{box-shadow:0 0 0 12px rgba(207,26,23,0)}100%{box-shadow:0 0 0 0 rgba(207,26,23,0)}}
body.v5 #tTalk.live{background:var(--il-red)!important;border-color:var(--il-red)!important;color:#fff!important}
body.v5 #talk[data-state="muted"] .v5say{background:rgba(207,26,23,.86)!important;color:#fff}
body.v5 #talk[data-state="muted"] #tOrb{border-color:var(--il-red)!important;box-shadow:0 0 0 3px rgba(207,26,23,.3),0 8px 30px rgba(0,0,0,.3)!important}
body.v5 #talk[data-state="muted"] #tMic{background:var(--il-red-soft)!important;border-color:var(--il-red)!important}
body.v5 #talk[data-state="idle"] .v5say,body.v5 #talk[data-state="error"] .v5say{background:rgba(10,11,13,.8)!important}
body.v5 #talk[data-state="idle"] .v5say-off{color:var(--il-lime)}
body.v5 #talk[data-state="listening"] .v5say,body.v5 #talk[data-state="hearing"] .v5say,body.v5 #talk[data-state="thinking"] .v5say,body.v5 #talk[data-state="speaking"] .v5say{background:var(--il-lime-soft)!important;border-color:var(--il-lime-line)!important;color:var(--il-lime-2)!important}
body.v5 #tTalk:not(.live){background:var(--il-lime-soft);border-color:var(--il-lime-line);color:var(--il-lime-2)}
body.v5 #tIn:focus{border-color:var(--il-lime-line)!important;box-shadow:0 0 0 3px rgba(202,216,36,.18)!important;outline:none}
body.v5 .t-clip:hover{border-color:var(--il-lime-line)}
body.v5 #tForm .t-send{background:var(--il-lime)!important;color:var(--il-ink)!important;border-color:var(--il-lime)!important}
/* links, focus rings */
body.v5 #txList a,body.v5 .hxs a,body.v5 .lkwin a,body.v5 #app a{color:var(--il-lime-2)}
body.v5 :focus-visible{outline:2px solid var(--il-lime)!important;outline-offset:2px}
body.v5 #tOrb:focus-visible{outline-offset:3px}
/* panels */
body.v5 .hxs{background:var(--il-panel)!important;border-color:rgba(242,241,234,.1)!important}
body.v5 .hxs-i.cur{border-color:var(--il-lime-line)}
body.v5 .hxs-w{color:var(--il-mute)}
body.v5 .hxs-w em{color:var(--il-lime)}
body.v5 .hx5-bar{background:var(--il-lime-soft);border-color:var(--il-lime-line)}
body.v5 .hx5-back{background:var(--il-lime);border-color:var(--il-lime);color:var(--il-ink)}
body.v5 .ts-g{color:var(--il-mute)}
body.v5 .ts-g[data-g="ny"]{color:#ff6f6c}
body.v5 .v5req-s b{color:var(--il-lime)}
body.v5 .v5req-i[data-st="work"] .v5req-s i,body.v5 .fl-i[data-st="work"] .v5req-s i{background:var(--il-lime);box-shadow:0 0 6px rgba(202,216,36,.7)}
body.v5 .v5req-i[data-st="done"] .v5req-s i,body.v5 .fl-i[data-st="done"] .v5req-s i{background:var(--ok)}
body.v5 .v5req-i[data-st="ny"],body.v5 .fl-i[data-st="ny"]{border-color:rgba(207,26,23,.6)}
body.v5 .v5req-i[data-st="ny"] .v5req-s i,body.v5 .fl-i[data-st="ny"] .v5req-s i{background:var(--il-red)}
body.v5 .dropov-in{border-color:var(--il-lime);background:rgba(202,216,36,.07)}
body.v5 .dropov-in b{color:var(--il-text)}
/* health dot: its own tones so red never reads as the brand accent */
body.v5 #trBtn{border-color:var(--il-lime-line)}

body.v5 #txList li.tab>b,body.v5 .hx5-list li.tab b{color:var(--il-lime)!important}
body.v5 #txList li.me>b,body.v5 .hx5-list li.me b{color:rgba(242,241,234,.6)!important}
body.v5 .v5mark svg circle{stroke:var(--il-text)!important;fill:none!important}
body.v5 .v5mark svg circle.sat{fill:var(--il-lime)!important;stroke:none!important}
body.v5 header.top .brand{display:flex!important;flex-direction:row!important;align-items:center!important;flex-wrap:nowrap!important}
body.v5 .v5title{min-width:0;max-width:calc(100% - 26px)}
@media (max-width:820px){body.v5 header.top .brand{justify-content:center}}

body.v5 #fRail .fr-b::after{order:1}
body.v5 #fRail .fr-b .v5cnt{order:2}
body.v5 #tForm{border-color:rgba(242,241,234,.12)!important;box-shadow:none!important}
body.v5 #tForm:focus-within{border-color:var(--il-lime-line)!important}

/* ---------- v6 Drive panel (drive.js) ---------- */
body.v5 .drv{position:fixed;top:var(--v5top);bottom:0;left:var(--v5side);width:min(460px,calc(100vw - var(--v5side)));z-index:43;background:#070a13;border-right:1px solid rgba(160,190,255,.12);box-shadow:20px 0 60px rgba(0,0,0,.45);display:flex;flex-direction:column;padding:12px 12px 16px;transform:translateX(-8px);opacity:0;transition:opacity .14s,transform .14s;box-sizing:border-box}
body.v5 .drv.on{opacity:1;transform:none}
body.v5 .drv[hidden]{display:none}
.drv-h{display:flex;align-items:center;justify-content:space-between;padding:2px 4px 6px}
.drv-h h2{font-size:16px;margin:0}
.drv-x{width:34px;height:34px;border:0;border-radius:9px;background:rgba(160,190,255,.08);color:inherit;cursor:pointer}
.drv-s{display:flex;align-items:center;gap:8px;margin:2px 2px 6px;padding:0 12px;height:42px;border-radius:12px;background:rgba(160,190,255,.07);border:1px solid rgba(160,190,255,.16)}
.drv-s:focus-within{border-color:rgba(46,230,214,.55)}
.drv-si{opacity:.6;font-size:17px}
.drv-s input{flex:1;min-width:0;background:transparent;border:0;outline:0;color:inherit;font:inherit;font-size:15px}
.drv-s input:focus,.drv-s input:focus-visible{outline:none!important;box-shadow:none!important}
.drv-meta{font-size:12px;opacity:.6;margin:2px 6px 8px;min-height:15px}
.drv-list{list-style:none;margin:0;padding:0;overflow-y:auto;flex:1 1 auto;display:flex;flex-direction:column;gap:2px}
.drv-i{display:flex;align-items:center;gap:10px;padding:9px 10px;border-radius:10px;border:1px solid transparent;color:inherit;text-decoration:none;cursor:pointer}
.drv-i:hover,.drv-i:focus{background:rgba(160,190,255,.08);outline:0}
.drv-i.hi{border-color:rgba(46,230,214,.6);background:rgba(46,230,214,.08)}
.drv-ic{flex:none;width:30px;height:30px;display:grid;place-items:center;border-radius:8px;background:rgba(160,190,255,.07);font-size:16px}
.drv-tx{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}
.drv-n{font-size:14px;line-height:1.3;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.drv-f{font-size:11.5px;opacity:.55;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.drv-d{flex:none;font-size:11.5px;opacity:.55;white-space:nowrap}
.drv-empty{padding:16px 8px;opacity:.6;font-size:14px}
html[data-theme="light"] body.v5 .drv{background:#f6f8fd}
@media (max-width:820px){body.v5 .drv{left:0;width:100vw;top:calc(var(--v5top) + env(safe-area-inset-top))}}

/* ===================== v7 Appearance (Oct 13 2026, Sherman 12:52 AM: "the lime and red are really jarring") =====================
   Color schemes as CSS variable sets on <html data-scheme=calm|bold|graphite|warm data-theme=dark|light>, chosen in
   Settings > Appearance, saved per device, applied by the inline script in <head> before first paint (no flash).
   Default "Iliad Calm" (v19.20: Iliad ink #191918 / paper #F1EFE9, as in HQ and Tribute): ink, paper text, lime only as a thin active marker / focus ring / Talk outline; red only for
   End, Muted and real errors. Every color below goes through these tokens. */
html[data-scheme]{
  --o-bg:#191918;--o-rail:#121211;--o-panel:#212120;--o-elev:#282826;--o-text:#F1EFE9;--o-mute:rgba(241,239,233,.68);--o-dim:rgba(241,239,233,.55);
  --o-hair:rgba(241,239,233,.08);--o-hair2:rgba(241,239,233,.14);--o-hover:rgba(241,239,233,.06);--o-sel:rgba(241,239,233,.08);
  --o-ac:#CAD824;--o-ac-ink:#CAD824;--o-ac-soft:rgba(202,216,36,.12);--o-ac-line:rgba(202,216,36,.5);--o-on-ac:#191918;
  --o-danger:#CF1A17;--o-danger-ink:#f2706c;--o-danger-soft:rgba(207,26,23,.16);
  --o-cnt-bg:rgba(241,239,233,.10);--o-cnt-fg:#F1EFE9;--o-act-bg:rgba(241,239,233,.10);--o-act-fg:#ffffff;
  --o-brief-bg:transparent;--o-brief-fg:#F1EFE9;--o-brief-line:rgba(241,239,233,.18);
  --o-talk-bg:rgba(202,216,36,.12);--o-talk-fg:#dbe85a;--o-talk-line:rgba(202,216,36,.55);
  --o-send-bg:#F1EFE9;--o-send-fg:#191918;--o-dot:#CF1A17;--o-shadow:0 20px 60px rgba(0,0,0,.45);
  --o-wave-tab:202,216,36;--o-wave-me:241,239,233;--o-wave-idle:143,145,140;
  --bg:var(--o-bg);--bg2:var(--o-panel);--txt:var(--o-text);--mut:var(--o-mute);--dim:var(--o-dim);--line:var(--o-hair2);--line2:var(--o-hair2);
  --teal:var(--o-ac-ink);--teal2:var(--o-ac-ink);--violet:var(--o-ac-ink);--violet2:var(--o-ac-ink);--red:var(--o-danger-ink);
  color-scheme:dark}
html[data-scheme][data-theme="light"]{
  --o-bg:#F1EFE9;--o-rail:#ECEAE3;--o-panel:#FAF9F5;--o-elev:#FAF9F5;--o-text:#191918;--o-mute:#5E5D56;--o-dim:#64635C;
  --o-hair:rgba(25,25,24,.09);--o-hair2:#D8D6CC;--o-hover:rgba(25,25,24,.05);--o-sel:rgba(25,25,24,.07);
  --o-ac:#CAD824;--o-ac-ink:#4f5604;--o-ac-soft:rgba(202,216,36,.28);--o-ac-line:rgba(160,172,16,.6);--o-on-ac:#191918;
  --o-danger:#CF1A17;--o-danger-ink:#b3140f;--o-danger-soft:rgba(207,26,23,.10);
  --o-cnt-bg:rgba(25,25,24,.08);--o-cnt-fg:#191918;--o-act-bg:rgba(202,216,36,.28);--o-act-fg:#191918;
  --o-brief-bg:transparent;--o-brief-fg:#191918;--o-brief-line:#b8b7ab;
  --o-talk-bg:#CAD824;--o-talk-fg:#191918;--o-talk-line:#b4c11b;
  --o-send-bg:#191918;--o-send-fg:#F1EFE9;--o-dot:#CF1A17;--o-shadow:0 18px 50px rgba(25,25,24,.12);
  --o-wave-tab:120,130,10;--o-wave-me:25,25,24;--o-wave-idle:150,149,140;color-scheme:light}
/* Iliad Bold: the v5 look (lime fills, red attention) */
html[data-scheme="bold"]{--o-bg:#121211;--o-rail:#0d0d0c;--o-panel:#191918;--o-elev:#212120;--o-text:#F1EFE9;--o-mute:rgba(241,239,233,.68);
  --o-ac-soft:rgba(202,216,36,.14);--o-ac-line:rgba(202,216,36,.55);--o-ac-ink:#dbe85a;
  --o-cnt-bg:#CAD824;--o-cnt-fg:#0b0c0a;--o-act-bg:rgba(202,216,36,.14);--o-act-fg:#CAD824;
  --o-brief-bg:#CAD824;--o-brief-fg:#0b0c0a;--o-brief-line:#CAD824;--o-talk-bg:#CAD824;--o-talk-fg:#0b0c0a;--o-talk-line:#CAD824;
  --o-send-bg:#CAD824;--o-send-fg:#0b0c0a;--o-dot:#CF1A17}
html[data-scheme="bold"][data-theme="light"]{--o-bg:#F1EFE9;--o-rail:#ECEAE3;--o-panel:#FAF9F5;--o-elev:#FAF9F5;--o-text:#191918;--o-mute:#5E5D56;
  --o-ac:#CAD824;--o-ac-ink:#5c6406;--o-ac-soft:rgba(202,216,36,.28);--o-ac-line:#9aa60f;
  --o-cnt-bg:#CAD824;--o-cnt-fg:#0b0c0a;--o-act-bg:rgba(202,216,36,.3);--o-act-fg:#16170f;
  --o-brief-bg:#CAD824;--o-brief-fg:#0b0c0a;--o-brief-line:#b4c11b;--o-talk-bg:#CAD824;--o-talk-fg:#0b0c0a;--o-talk-line:#b4c11b;
  --o-send-bg:#CAD824;--o-send-fg:#0b0c0a;--o-dot:#CF1A17}
/* Graphite: neutral grey and white, no brand color */
html[data-scheme="graphite"]{--o-bg:#161616;--o-rail:#111111;--o-panel:#1b1b1b;--o-elev:#212121;--o-text:#ededed;--o-mute:rgba(237,237,237,.64);--o-dim:rgba(237,237,237,.45);
  --o-hair:rgba(255,255,255,.08);--o-hair2:rgba(255,255,255,.14);--o-hover:rgba(255,255,255,.06);
  --o-ac:#e6e6e6;--o-ac-ink:#ffffff;--o-ac-soft:rgba(255,255,255,.08);--o-ac-line:rgba(255,255,255,.4);--o-on-ac:#111;
  --o-cnt-bg:rgba(255,255,255,.1);--o-cnt-fg:#ededed;--o-act-bg:rgba(255,255,255,.08);--o-act-fg:#fff;--o-brief-fg:#ededed;--o-brief-line:rgba(255,255,255,.2);
  --o-talk-bg:#ededed;--o-talk-fg:#111;--o-talk-line:#ededed;--o-send-bg:#ededed;--o-send-fg:#111;--o-dot:#bdbdbd;
  --o-wave-tab:235,235,235;--o-wave-me:150,150,150;--o-wave-idle:110,110,110}
html[data-scheme="graphite"][data-theme="light"]{--o-bg:#f7f7f7;--o-rail:#efefef;--o-panel:#ffffff;--o-elev:#ffffff;--o-text:#161616;--o-mute:rgba(22,22,22,.64);--o-dim:rgba(22,22,22,.5);
  --o-hair:rgba(0,0,0,.08);--o-hair2:rgba(0,0,0,.15);--o-hover:rgba(0,0,0,.05);
  --o-ac:#1f1f1f;--o-ac-ink:#111111;--o-ac-soft:rgba(0,0,0,.06);--o-ac-line:rgba(0,0,0,.45);--o-on-ac:#fff;
  --o-cnt-bg:rgba(0,0,0,.08);--o-cnt-fg:#161616;--o-act-bg:rgba(0,0,0,.06);--o-act-fg:#111;--o-brief-fg:#161616;--o-brief-line:rgba(0,0,0,.2);
  --o-talk-bg:#1f1f1f;--o-talk-fg:#fff;--o-talk-line:#1f1f1f;--o-send-bg:#1f1f1f;--o-send-fg:#fff;--o-dot:#555;
  --o-wave-tab:30,30,30;--o-wave-me:120,120,120;--o-wave-idle:160,160,160}
/* Warm: soft cream and amber */
html[data-scheme="warm"]{--o-bg:#1a1714;--o-rail:#15120f;--o-panel:#201c18;--o-elev:#26211c;--o-text:#f1eadf;--o-mute:rgba(241,234,223,.66);--o-dim:rgba(241,234,223,.45);
  --o-hair:rgba(241,234,223,.08);--o-hair2:rgba(241,234,223,.14);--o-hover:rgba(241,234,223,.06);
  --o-ac:#e2a857;--o-ac-ink:#e8b46a;--o-ac-soft:rgba(226,168,87,.12);--o-ac-line:rgba(226,168,87,.5);--o-on-ac:#1f1406;
  --o-cnt-bg:rgba(241,234,223,.1);--o-cnt-fg:#f1eadf;--o-act-bg:rgba(226,168,87,.10);--o-act-fg:#f6e7cf;--o-brief-fg:#f1eadf;--o-brief-line:rgba(226,168,87,.35);
  --o-talk-bg:rgba(226,168,87,.14);--o-talk-fg:#f0c27f;--o-talk-line:rgba(226,168,87,.6);--o-send-bg:#e2a857;--o-send-fg:#1f1406;--o-dot:#e2a857;
  --o-wave-tab:226,168,87;--o-wave-me:241,234,223;--o-wave-idle:150,140,128}
html[data-scheme="warm"][data-theme="light"]{--o-bg:#fbf6ec;--o-rail:#f4ede0;--o-panel:#fffdf8;--o-elev:#fffdf8;--o-text:#2a2118;--o-mute:rgba(42,33,24,.68);--o-dim:rgba(42,33,24,.5);
  --o-hair:rgba(42,33,24,.09);--o-hair2:rgba(42,33,24,.16);--o-hover:rgba(42,33,24,.05);
  --o-ac:#b7791f;--o-ac-ink:#8a5a12;--o-ac-soft:rgba(183,121,31,.12);--o-ac-line:rgba(183,121,31,.55);--o-on-ac:#fff;
  --o-cnt-bg:rgba(42,33,24,.08);--o-cnt-fg:#2a2118;--o-act-bg:rgba(183,121,31,.12);--o-act-fg:#5a3a0a;--o-brief-fg:#2a2118;--o-brief-line:rgba(183,121,31,.4);
  --o-talk-bg:rgba(183,121,31,.12);--o-talk-fg:#7a4f10;--o-talk-line:rgba(183,121,31,.6);--o-send-bg:#2a2118;--o-send-fg:#fffdf8;--o-dot:#b7791f;
  --o-wave-tab:160,100,20;--o-wave-me:90,70,50;--o-wave-idle:170,160,150}

/* ---------- surfaces ---------- */
html[data-scheme] body.v5{background:var(--o-bg)!important;color:var(--o-text)}
html[data-scheme] body.v5 .grid-bg{display:none!important}
html[data-scheme] body.v5 header.top{background:var(--o-bg)!important;border-bottom:1px solid var(--o-hair)!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important}
html[data-scheme] body.v5 .v5title{color:var(--o-text)!important;font-weight:600}
html[data-scheme] body.v5 .v5menu{background:transparent!important;border-color:var(--o-hair2)!important;color:var(--o-text)!important}
html[data-scheme] body.v5 #fRail{background:var(--o-rail)!important;border-right:1px solid var(--o-hair)!important}
html[data-scheme] body.v5 #fRail .fr-b{color:var(--o-mute)!important}
html[data-scheme] body.v5 #fRail .fr-b:hover{background:var(--o-hover)!important;color:var(--o-text)!important}
html[data-scheme] body.v5 #fRail .fr-b[aria-expanded="true"]{background:var(--o-act-bg)!important;color:var(--o-act-fg)!important;box-shadow:inset 2px 0 0 var(--o-ac)!important}
html[data-scheme] body.v5 #fRail .fr-b.muted{color:var(--o-dim)!important}
html[data-scheme] body.v5 #fRail .fr-set{border-top-color:var(--o-hair)!important}
html[data-scheme] body.v5 .v5rail-t{color:var(--o-dim)!important}
html[data-scheme] body.v5 .v5rail-x,html[data-scheme] body.v5 .v5col{color:var(--o-mute)!important}
html[data-scheme] body.v5 .v5col:hover{background:var(--o-hover)!important;color:var(--o-text)!important}
/* counts: quiet pills; "needs you" turns the number red-ink, never a red block */
html[data-scheme] body.v5 #fRail .fr-b .v5cnt,html[data-scheme] body.v5 #fRail .fr-b.need .v5cnt{background:var(--o-cnt-bg)!important;color:var(--o-cnt-fg)!important;box-shadow:none!important}
html[data-scheme] body.v5 .v5mcnt,html[data-scheme] body.v5 .v5mcnt.hot{background:var(--o-cnt-bg)!important;color:var(--o-cnt-fg)!important;box-shadow:none!important;border:1px solid var(--o-bg)}
html[data-scheme] body.v5 #fRail .fr-b .v5odot[hidden]{display:none!important}
/* mark + waveform */
html[data-scheme] body.v5 .v5mark svg,html[data-scheme] body.v5 .v5mark svg circle{stroke:var(--o-mute)!important;fill:none!important}
html[data-scheme] body.v5 .v5mark svg .sat,html[data-scheme] body.v5 .v5mark svg circle.sat{fill:var(--o-ac)!important;stroke:none!important}
html[data-scheme] body.v5 #tOrb,html[data-scheme] body.v5 #tOrb .wv-box{background:var(--o-panel)!important;border-color:var(--o-hair2)!important;box-shadow:none!important}
html[data-scheme] body.v5 #tOrb:hover .wv-box,html[data-scheme] body.v5 #tOrb:focus-visible .wv-box{border-color:var(--o-ac-line)!important}
html[data-scheme] body.v5 #tOrb[data-wv=speaking] .wv-box,html[data-scheme] body.v5 #tOrb[data-wv=listening] .wv-box,html[data-scheme] body.v5 #tOrb[data-wv=hearing] .wv-box{border-color:var(--o-ac-line)!important}
html[data-scheme] body.v5 .wv-key .k-tab{background:rgb(var(--o-wave-tab))!important}
html[data-scheme] body.v5 .wv-key .k-me{background:rgb(var(--o-wave-me))!important}
html[data-scheme] body.v5 .wv-state .wv-txt,html[data-scheme] body.v5 .wv-key{color:var(--o-mute)!important}
/* state badge over the waveform */
html[data-scheme] body.v5 .v5say{color:var(--o-text)!important;text-shadow:none!important}
html[data-scheme] body.v5 #talk[data-state="idle"] .v5say,html[data-scheme] body.v5 #talk[data-state="error"] .v5say,html[data-scheme] body.v5 #talk[data-state="paused"] .v5say,html[data-scheme] body.v5 #talk[data-state="connecting"] .v5say,html[data-scheme] body.v5 #talk[data-state="reconnecting"] .v5say{background:color-mix(in srgb,var(--o-panel) 86%,transparent)!important;color:var(--o-text)!important}
html[data-scheme] body.v5 #talk[data-state="idle"] .v5say-off{color:var(--o-ac-ink)!important}
html[data-scheme] body.v5 #talk[data-state="listening"] .v5say,html[data-scheme] body.v5 #talk[data-state="hearing"] .v5say,html[data-scheme] body.v5 #talk[data-state="thinking"] .v5say,html[data-scheme] body.v5 #talk[data-state="speaking"] .v5say{background:var(--o-panel)!important;border-color:var(--o-ac-line)!important;color:var(--o-ac-ink)!important}
html[data-scheme] body.v5 #talk[data-state="muted"] .v5say{background:var(--o-danger)!important;color:#fff!important}
html[data-scheme] body.v5 #talk[data-state="muted"] #tOrb{border-color:var(--o-danger)!important;box-shadow:0 0 0 3px var(--o-danger-soft)!important}
html[data-scheme] body.v5 #talk[data-state="muted"] #tMic{background:var(--o-danger-soft)!important;border-color:var(--o-danger)!important;color:var(--o-danger-ink)!important}
/* Talk / End / composer */
html[data-scheme] body.v5 #talk #tTalk:not(.live),html[data-scheme] body.v5 #talk[data-state="idle"] #tTalk,html[data-scheme] body.v5 #talk[data-state="error"] #tTalk{background:var(--o-talk-bg)!important;border:1px solid var(--o-talk-line)!important;color:var(--o-talk-fg)!important;box-shadow:none!important;animation:none!important}
html[data-scheme] body.v5 #tTalk.live{background:var(--o-danger)!important;border-color:var(--o-danger)!important;color:#fff!important;animation:none!important}
html[data-scheme] body.v5 #talk .t-ctrl .tc,html[data-scheme] body.v5 .t-clip{background:transparent!important;border:1px solid var(--o-hair2)!important;color:var(--o-mute)!important}
html[data-scheme] body.v5 #talk .t-ctrl .tc:hover,html[data-scheme] body.v5 .t-clip:hover{color:var(--o-text)!important;border-color:var(--o-ac-line)!important}
html[data-scheme] body.v5 #tForm{background:var(--o-elev)!important;border:1px solid var(--o-hair2)!important;box-shadow:none!important}
html[data-scheme] body.v5 #tForm:focus-within{border-color:var(--o-ac-line)!important}
html[data-scheme] body.v5 #tIn{background:transparent!important;color:var(--o-text)!important;border-color:transparent!important}
html[data-scheme] body.v5 #tIn::placeholder{color:var(--o-dim)!important}
html[data-scheme] body.v5 #tIn:focus{box-shadow:none!important;outline:none!important}
html[data-scheme] body.v5 #tForm .t-send{background:var(--o-send-bg)!important;color:var(--o-send-fg)!important;border-color:var(--o-send-bg)!important}
/* chat */
html[data-scheme] body.v5 #txList,html[data-scheme] body.v5 #txList li{color:var(--o-text)!important}
html[data-scheme] body.v5 #txList li.tab>b,html[data-scheme] body.v5 .hx5-list li.tab b{color:var(--o-ac-ink)!important}
html[data-scheme] body.v5 #txList li.me>b,html[data-scheme] body.v5 .hx5-list li.me b{color:var(--o-dim)!important}
html[data-scheme] body.v5 #txList a,html[data-scheme] body.v5 .hxs a,html[data-scheme] body.v5 .lkwin a,html[data-scheme] body.v5 #app a,html[data-scheme] body.v5 .sheet a{color:var(--o-ac-ink)}
html[data-scheme] body.v5 :focus-visible{outline:2px solid var(--o-ac)!important;outline-offset:2px}
/* panels (Transcripts, Tasks, Activity, Drive, Links, drawer, settings, translator) */
html[data-scheme] body.v5 .hxs,html[data-scheme] body.v5 .drv,html[data-scheme] body.v5 .lkwin,html[data-scheme] body.v5 .rmPanel,html[data-scheme] body.v5.focus.f-peek #app{background:var(--o-panel)!important;color:var(--o-text)!important;border-color:var(--o-hair2)!important;box-shadow:var(--o-shadow)!important}
html[data-scheme] body.v5 .sheet,html[data-scheme] body.v5 .trwin{background:var(--o-panel)!important;color:var(--o-text)!important;border:1px solid var(--o-hair2)!important;box-shadow:var(--o-shadow)!important}
html[data-scheme] body.v5 .sheet .x,html[data-scheme] body.v5 .hxs-x,html[data-scheme] body.v5 .drv-x{background:var(--o-hover)!important;color:var(--o-text)!important;border-color:var(--o-hair)!important}
html[data-scheme] body.v5 .vs label,html[data-scheme] body.v5 .note,html[data-scheme] body.v5 .hxs-note,html[data-scheme] body.v5 .muted{color:var(--o-mute)!important}
html[data-scheme] body.v5 .vs h4,html[data-scheme] body.v5 .wset-h,html[data-scheme] body.v5 .vs label em,html[data-scheme] body.v5 .sheet h3{color:var(--o-text)!important}
html[data-scheme] body.v5 .vs select,html[data-scheme] body.v5 .vs textarea,html[data-scheme] body.v5 .vs input:not([type=range]):not([type=checkbox]),html[data-scheme] body.v5 #keyIn,html[data-scheme] body.v5 .mem input,html[data-scheme] body.v5 .sheet select,html[data-scheme] body.v5 .trwin input,html[data-scheme] body.v5 .trwin textarea{background:var(--o-elev)!important;color:var(--o-text)!important;border:1px solid var(--o-hair2)!important}
html[data-scheme] body.v5 .vs input[type=range]{accent-color:var(--o-ac)}
html[data-scheme] body.v5 .chip,html[data-scheme] body.v5 .btn:not(.primary){background:transparent!important;color:var(--o-text)!important;border:1px solid var(--o-hair2)!important}
html[data-scheme] body.v5 .tr-row{background:var(--o-elev)!important;color:var(--o-text)!important;border-color:var(--o-hair)!important}
html[data-scheme] body.v5 .hxs-i:hover{background:var(--o-hover)!important}
html[data-scheme] body.v5 .hxs-i.cur{border-color:var(--o-ac-line)!important}
html[data-scheme] body.v5 .hxs-w{color:var(--o-mute)!important}
html[data-scheme] body.v5 .hxs-w em{color:var(--o-ac-ink)!important}
html[data-scheme] body.v5 .hx5-bar{background:var(--o-elev)!important;border-color:var(--o-hair2)!important;color:var(--o-text)!important}
html[data-scheme] body.v5 .hx5-back{background:transparent!important;border:1px solid var(--o-ac-line)!important;color:var(--o-ac-ink)!important}
html[data-scheme] body.v5 .ts-g{color:var(--o-dim)!important}
html[data-scheme] body.v5 .ts-g[data-g="ny"]{color:var(--o-danger-ink)!important}
html[data-scheme] body.v5 .fl-i,html[data-scheme] body.v5 .v5req-i{background:var(--o-elev)!important;border:1px solid var(--o-hair)!important;color:var(--o-text)!important}
html[data-scheme] body.v5 .v5req-g{color:var(--o-text)!important}
html[data-scheme] body.v5 .v5req-s{color:var(--o-mute)!important}
html[data-scheme] body.v5 .v5req-s b{color:var(--o-ac-ink)!important}
html[data-scheme] body.v5 .v5req-s i{background:var(--o-dim)!important;box-shadow:none!important}
html[data-scheme] body.v5 [data-st="work"] .v5req-s i{background:var(--o-ac)!important}
html[data-scheme] body.v5 [data-st="done"] .v5req-s i{background:#3ddc84!important}
html[data-scheme] body.v5 .v5req-i[data-st="ny"],html[data-scheme] body.v5 .fl-i[data-st="ny"]{border-color:color-mix(in srgb,var(--o-danger) 45%,transparent)!important}
html[data-scheme] body.v5 [data-st="ny"] .v5req-s i{background:var(--o-danger)!important}
html[data-scheme] body.v5 .dropov{background:color-mix(in srgb,var(--o-bg) 80%,transparent)!important}
html[data-scheme] body.v5 .dropov-in{border-color:var(--o-ac-line)!important;background:var(--o-ac-soft)!important}
html[data-scheme] body.v5 .dropov-in b{color:var(--o-text)!important}
html[data-scheme] body.v5 .toast{background:var(--o-elev)!important;color:var(--o-text)!important;border:1px solid var(--o-hair2)!important}
html[data-scheme] body.v5 .ainote{background:var(--o-elev)!important;color:var(--o-mute)!important;border:1px solid var(--o-hair2)!important}
html[data-scheme] body.v5 .ainote b{color:var(--o-text)!important}
html[data-scheme] body.v5 .drv-s,html[data-scheme] body.v5 .drv-ic{background:var(--o-elev)!important;border-color:var(--o-hair2)!important}
html[data-scheme] body.v5 .drv-s:focus-within,html[data-scheme] body.v5 .drv-i.hi{border-color:var(--o-ac-line)!important}
html[data-scheme] body.v5 .drv-i.hi{background:var(--o-ac-soft)!important}
html[data-scheme] body.v5 .drv-i:hover,html[data-scheme] body.v5 .drv-i:focus{background:var(--o-hover)!important}
html[data-scheme] body.v5 .v5scrim{background:rgba(0,0,0,.45)!important}
html[data-scheme] body.v5 .updpill,html[data-scheme] body.v5 .updtoast{background:var(--o-elev)!important;color:var(--o-text)!important;border:1px solid var(--o-hair2)!important}
html[data-scheme] body.v5 .gate-card{background:var(--o-panel)!important;color:var(--o-text)!important}

/* ---------- collapsed sidebar = a thin icon rail (desktop) ---------- */
@media (min-width:821px){
  body.v5.v5-col{--v5side:56px!important}
  body.v5.v5-col #fRail{transform:none!important;width:56px!important;padding-left:6px!important;padding-right:6px!important;overflow-x:hidden}
  body.v5.v5-col .v5menu{display:none!important}
  body.v5.v5-col header.top{padding-left:calc(56px + 20px)!important}
  body.v5.v5-col #fRail .fr-b{justify-content:center!important;padding:0!important;gap:0!important;position:relative}
  body.v5.v5-col #fRail .fr-b::after{display:none!important}
  body.v5.v5-col #fRail .fr-b .v5cnt{position:absolute!important;top:2px;right:2px;margin:0!important;min-width:16px!important;height:16px!important;padding:0 4px!important;font-size:10px!important;line-height:16px!important;border-radius:8px!important}
  body.v5.v5-col #fRail .fr-b .v5odot{left:auto!important;right:6px!important;top:auto!important;bottom:6px!important}
  body.v5.v5-col .v5rail-t,body.v5.v5-col .v5rail-x{display:none!important}
  body.v5.v5-col .v5rail-h{justify-content:center!important;padding:0!important}
  body.v5.v5-col .v5col svg{transform:scaleX(-1)}
  body.v5.v5-col .hxs,body.v5.v5-col .drv,body.v5.v5-col .tsheet{left:56px!important}
}
/* Character lives in Settings now */


/* ---------- Settings > Appearance ---------- */
.o7ap{display:flex;flex-direction:column;gap:10px;margin:2px 0 8px}
.o7ap h4{margin:6px 0 0}
.o7seg{display:flex;gap:4px;padding:3px;border-radius:12px;border:1px solid var(--o-hair2,rgba(255,255,255,.14));background:var(--o-elev,transparent)}
.o7seg button{flex:1;height:36px;border:0;border-radius:9px;background:transparent;color:var(--o-mute,inherit);font:500 14px/1 system-ui,sans-serif;cursor:pointer}
.o7seg button[aria-pressed="true"]{background:var(--o-sel,rgba(255,255,255,.1));color:var(--o-text,inherit);box-shadow:inset 0 0 0 1px var(--o-hair2,rgba(255,255,255,.2))}
.o7sw{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.o7s{display:flex;flex-direction:column;gap:7px;padding:8px;border-radius:12px;border:1px solid var(--o-hair2,rgba(255,255,255,.14));background:transparent;color:var(--o-text,inherit);cursor:pointer;text-align:left;font:inherit}
.o7s[aria-pressed="true"]{border-color:var(--o-ac-line);box-shadow:inset 0 0 0 1px var(--o-ac-line)}
.o7s b{font-size:13.5px;font-weight:600;display:flex;justify-content:space-between;align-items:center}
.o7s b i{font-style:normal;font-size:12px;color:var(--o-ac-ink)}
.o7s small{font-size:11.5px;color:var(--o-mute,inherit);line-height:1.3}
.o7pv{display:flex;height:46px;border-radius:8px;overflow:hidden;border:1px solid rgba(128,128,128,.25)}
.o7pv .r{width:26%;display:flex;flex-direction:column;gap:4px;padding:7px 5px}
.o7pv .r i{display:block;height:4px;border-radius:2px;opacity:.5}
.o7pv .r i.a{opacity:1;width:80%}
.o7pv .m{flex:1;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:5px}
.o7pv .m u{display:block;width:60%;height:12px;border-radius:4px}
.o7pv .m s{display:block;width:30%;height:9px;border-radius:5px}
.o7chr{display:flex;align-items:center;justify-content:space-between;gap:10px;width:100%;min-height:44px;padding:0 12px;border-radius:12px;border:1px solid var(--o-hair2,rgba(255,255,255,.14));background:var(--o-elev,transparent);color:var(--o-text,inherit);font:inherit;cursor:pointer}
.o7chr span{color:var(--o-mute,inherit);font-size:13px}

/* ---------- Activity (Being built · Updates · Recent work) ---------- */

/* ---------- v7.1 panels never cover the chat (Sherman 1:02 AM) ---------- */
body.v5{--o7pw:400px}
body.v5.o7-wide{--o7pw:540px}
@media (min-width:821px){
  body.v5 .hxs,body.v5 .tsheet,body.v5 .drv,body.v5 .sheet,body.v5.focus.f-peek #app,body.v5 .lkwin,body.v5 .rmPanel,body.v5 .trwin{
    position:fixed!important;left:var(--v5side)!important;right:auto!important;top:var(--v5top)!important;bottom:0!important;inset:var(--v5top) auto 0 var(--v5side)!important;
    width:var(--o7pw)!important;max-width:none!important;height:auto!important;max-height:none!important;margin:0!important;transform:none!important;
    border-radius:0!important;border:0!important;border-right:1px solid var(--o-hair,rgba(255,255,255,.1))!important;box-shadow:none!important;z-index:36!important;overflow-y:auto!important;box-sizing:border-box!important;animation:none!important}
  body.v5 .sheet .grab{display:none!important}
  /* the chat column moves right to make room; nothing sits on top of it */
  body.v5.o7-pane #talk{left:calc(var(--v5side) + var(--o7pw))!important;right:0!important;margin:0 auto!important;width:min(720px,calc(100vw - var(--v5side) - var(--o7pw) - 48px))!important}
  body.v5.o7-pane .v5scrim{display:none!important}
  body.v5 #talk{transition:left .16s ease,width .16s ease}
}
/* phone: a panel takes the whole screen, with Back */
@media (max-width:820px){
  body.v5 .hxs,body.v5 .tsheet,body.v5 .drv,body.v5 .sheet,body.v5.focus.f-peek #app,body.v5 .lkwin,body.v5 .rmPanel,body.v5 .trwin{
    position:fixed!important;inset:0!important;left:0!important;right:0!important;top:0!important;bottom:0!important;width:100vw!important;max-width:100vw!important;height:100%!important;max-height:none!important;min-height:0!important;
    margin:0!important;transform:none!important;border-radius:0!important;border:0!important;box-shadow:none!important;z-index:70!important;overflow-y:auto!important;box-sizing:border-box!important;
    padding-top:calc(env(safe-area-inset-top) + 8px)!important;padding-bottom:calc(env(safe-area-inset-bottom) + 12px)!important}
  body.v5 .sheet .grab{display:none!important}
  body.v5 .hxs-h,body.v5 .drv-h,body.v5 .sheet-h{display:flex!important;align-items:center!important;justify-content:flex-start!important;gap:8px!important}
  body.v5 .hxs-x,body.v5 .drv-x,body.v5 .sheet-h .x{order:-1!important;width:auto!important;min-width:0!important;height:40px!important;padding:0 12px 0 8px!important;border-radius:10px!important;font-size:0!important;line-height:1!important;display:inline-flex!important;align-items:center!important}
  body.v5 .hxs-x::before,body.v5 .drv-x::before,body.v5 .sheet-h .x::before{content:"‹  Back";font-size:16px;font-weight:600;white-space:pre}
}
/* no alert indicators anywhere (no dot, no ☰ badge, no Alerts button) */
body.v5 #fRail .fr-b .v5odot,body.v5 .v5mcnt{display:none!important}
body.v5.v5-col #fRail .fr-b .v5cnt{display:none!important}
html[data-scheme] body.v5 #fRail .fr-b.need .v5cnt{color:var(--o-cnt-fg)!important}
/* From Iliad */
.fl-i.o7hl{outline:2px solid var(--o-ac-line)}
body.v5 .scrim{display:none!important} /* v7.1: no backdrop; panels sit beside the chat (close with ✕ or Esc) */

/* v7.1 (Sherman 1:09 AM): the chat scrollbar never sits on top of message text */
body.v5 #txList,body.v5 .hxs,body.v5 .drv-list,body.v5 .sheet{scrollbar-gutter:stable;scrollbar-width:thin;scrollbar-color:var(--o-hair2,rgba(128,128,128,.4)) transparent}
body.v5 #txList{padding-right:14px!important}
body.v5 #txList::-webkit-scrollbar,body.v5 .hxs::-webkit-scrollbar,body.v5 .sheet::-webkit-scrollbar{width:8px}
body.v5 #txList::-webkit-scrollbar-thumb,body.v5 .hxs::-webkit-scrollbar-thumb,body.v5 .sheet::-webkit-scrollbar-thumb{background:var(--o-hair2,rgba(128,128,128,.4));border-radius:8px;border:2px solid transparent;background-clip:padding-box}
body.v5 #txList::-webkit-scrollbar-track{background:transparent}
@media (max-width:820px){body.v5 #txList{padding-right:12px!important}}

/* ---------- v8: Reply on "needs you" (calm, no badges) ---------- */
.o8r{display:flex;align-items:flex-end;gap:6px;margin-top:8px;flex-wrap:wrap}
.o8r-t{flex:1 1 160px;min-width:0;min-height:36px;max-height:140px;resize:none;box-sizing:border-box;padding:8px 10px;border-radius:9px;border:1px solid var(--o-hair,rgba(255,255,255,.14));background:var(--o-bg,transparent);color:var(--o-text,inherit);font:14px/1.35 system-ui,-apple-system,sans-serif;outline:none}
.o8r-t:focus{border-color:var(--o-ac-line,rgba(160,190,255,.5))}
.o8r-t::placeholder{color:var(--o-mute,rgba(127,127,127,.9))}
.o8r-mic,.o8r-go{flex:none;height:36px;border-radius:9px;border:1px solid var(--o-hair,rgba(255,255,255,.14));background:transparent;color:var(--o-text,inherit);cursor:pointer;font:500 13px/1 system-ui,-apple-system,sans-serif}
.o8r-mic{width:36px;display:grid;place-items:center;padding:0}
.o8r-mic svg{width:17px;height:17px;fill:currentColor;opacity:.8}
.o8r-mic:hover,.o8r-go:hover{background:var(--o-hover,rgba(127,127,127,.12))}
.o8r-go{padding:0 14px;background:var(--o-send-bg,var(--o-ac,#5b6cff));color:var(--o-send-fg,#fff);border-color:transparent}
.o8r.busy .o8r-go{opacity:.6;cursor:default}
.o8r-err{flex-basis:100%;margin:2px 0 0;font-size:12.5px;color:var(--o-danger-ink,inherit);opacity:.9}
.o8r-you{margin:6px 0 0;font-size:12.5px;line-height:1.4;opacity:.78}
.o8r-you span{font-weight:600;margin-right:4px}
.o8r-q{font-size:13px;line-height:1.4;opacity:.88}
.o8ny{margin-bottom:12px}
.o8r-open{margin-left:8px;padding:2px 8px;border-radius:7px;border:1px solid var(--o-hair,rgba(255,255,255,.14));background:transparent;color:var(--o-ac-ink,inherit);font:500 12px/1.4 system-ui,sans-serif;cursor:pointer}
.o8ap{display:contents}
@media (max-width:600px){.o8r-t{font-size:16px}}
.v5req-i .o8r-open{align-self:flex-start;justify-self:start;width:auto;margin:4px 0 0}

/* ===== v9 (Oct 13 2026): long text on task cards: a few lines + More / Less, never a silent cut ===== */
.o9m{min-width:0}
.o9m-x{overflow-wrap:anywhere;min-width:0}
.o9m:not(.open)>.o9m-x{max-height:calc(var(--o9l,3) * 1.45em + 2px);overflow:hidden}
.o9m.o9m-over:not(.open)>.o9m-x{-webkit-mask-image:linear-gradient(to bottom,#000 calc(100% - 1.3em),transparent);mask-image:linear-gradient(to bottom,#000 calc(100% - 1.3em),transparent)}
.o9m:not(.open) .o9m-more{display:none}
.o9m-x>*{line-height:1.45}
.o9m-x>.fl-r,.o9m-x>.o8r-q,.o9m-x>.v5req-r,.o9m-x>.o8r-you{display:block}
.o9m-b{display:inline-flex;align-items:center;gap:4px;margin:4px 0 0;padding:3px 0;min-height:28px;border:0;background:none;color:var(--o-ac-ink,var(--il-lime,#CAD824));font:600 12.5px/1.2 system-ui,-apple-system,sans-serif;cursor:pointer;align-self:flex-start;text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:3px;text-decoration-color:color-mix(in srgb,currentColor 40%,transparent)}
.o9m-b[hidden]{display:none}
.o9m-b:hover{text-decoration-color:currentColor}
.o9m-b:focus-visible{outline:2px solid currentColor;outline-offset:2px;border-radius:4px}
.o9m-sec{margin-top:8px;padding-top:8px;border-top:1px solid var(--o-hair,rgba(255,255,255,.1))}
.o9m-k{display:block;font-size:11px;font-weight:600;letter-spacing:.05em;text-transform:uppercase;color:var(--o-mute,inherit);opacity:.8;margin-bottom:3px}
.o9m-p{margin:0;font-size:13px;line-height:1.45;white-space:pre-wrap;overflow-wrap:anywhere;color:var(--o-text,inherit);opacity:.9}
.o9m-note{margin:4px 0 0;font-size:11.5px;opacity:.6}
.o9m-log{margin:0;padding:0;list-style:none;display:flex;flex-direction:column;gap:5px;font-size:12.5px;line-height:1.4;opacity:.88}
.o9m-log time{font-size:11px;opacity:.6;font-variant-numeric:tabular-nums;margin-right:2px}
.o9m-log b{font-weight:600}
.v5req-r{font-size:12.5px;line-height:1.4;opacity:.85;color:inherit}
body.v5 .v5req-i .v5req-g{white-space:normal;overflow:visible;text-overflow:clip}

/* v9 Links: access code + copy for gated sites that can't open unlocked */
.lk-i.lk-hascode{flex-wrap:wrap}
.lk-code{flex:1 0 100%;display:flex;align-items:center;gap:8px;margin:-6px 0 8px;padding:0 10px;font-size:12.5px}
.lk-code span{opacity:.6}
.lk-code code{font:500 12.5px/1.3 ui-monospace,SFMono-Regular,Menlo,monospace;padding:2px 6px;border-radius:6px;background:var(--o-elev2,rgba(160,190,255,.08));user-select:all}
.lk-copy{border:1px solid var(--o-hair,rgba(255,255,255,.14));background:transparent;color:var(--o-ac-ink,inherit);font:500 12px/1.3 system-ui,sans-serif;padding:3px 9px;border-radius:7px;cursor:pointer;min-height:26px}
.lk-copy:focus-visible{outline:2px solid currentColor;outline-offset:2px}
.lk-code span{min-width:4.6em}
.lk-code + .lk-code{margin-top:-2px}
.lk-code code.lk-mask{cursor:pointer;user-select:none;letter-spacing:.08em}
.lk-code code.lk-mask.shown{user-select:all;letter-spacing:normal}
.lk-code code.lk-mask:focus-visible{outline:2px solid currentColor;outline-offset:2px}

/* v11 (Oct 13 2026): Iliad's reply on task cards reads as short paragraphs and lists instead of one run-on block */
.o11-rp{max-width:62ch;line-height:1.55;overflow-wrap:anywhere;text-wrap:pretty}
.o9m-x>.o11-rp{display:block;line-height:1.55}
.o11-rp>p{margin:0}
.o11-rp>:not(:first-child){margin-top:.6em}
.o11-rp>ol,.o11-rp>ul{margin-bottom:0;padding-left:1.45em}
.o11-rp>ol:first-child,.o11-rp>ul:first-child{margin-top:0}
.o11-rp li{margin:0;padding-left:.2em}
.o11-rp li+li{margin-top:.3em}
.o11-rp ol>li::marker{font-variant-numeric:tabular-nums;font-weight:600;color:var(--o-mute,currentColor)}
.o11-rp ul>li::marker{color:var(--o-mute,currentColor)}
.o11-who{font-weight:600}
body.v5 .o11-rp.fl-r,.o11-rp.o8r-q{font-size:13.5px;opacity:.94;color:var(--o-text,inherit)}
.o9m-x:has(>.o11-rp.fl-r),.o9m-x:has(>.o11-rp.o8r-q){font-size:13.5px}
.o9m:not(.open)>.o9m-x:has(>.o11-rp){max-height:calc(var(--o9l,3) * 1.55em + 2px)}

/* v12 Mic sensitivity (Settings > Voice settings): calm meter, lime only while your voice is getting through */
.msens{display:flex;flex-direction:column;gap:6px;margin-top:8px}
.msens-h{display:flex;align-items:center;justify-content:space-between;gap:12px}
.msens-h label{margin-top:0}
.mmeter{position:relative;height:6px;border-radius:3px;background:var(--o-hair);overflow:hidden}
.mmeter .mm-l{position:absolute;left:0;top:0;bottom:0;width:0;background:var(--o-mute);border-radius:3px;transition:width 60ms linear}
.mmeter.open .mm-l{background:var(--o-ac)}
.mmeter .mm-g{position:absolute;top:-2px;bottom:-2px;width:2px;left:0;background:var(--o-text);opacity:.55}
.mmeter.idle{opacity:.45}
.msens-f{display:flex;align-items:center;justify-content:space-between;gap:10px}
.msens-f .note{margin:0}
.vs .msens-f .chip{align-self:center;flex:none}

/* v13 (Oct 13 2026, Sherman 4:03 AM): the top-right "mic live" pill is gone; live-mic status + an m:ss timer ride inside the
   Listening indicator on the waveform box. Shown only while the mic session is live (listening / hearing / thinking / speaking). */
.mlPill{display:none!important}
body.v5 .v5say-tm{display:none;font-weight:600;font-variant-numeric:tabular-nums;letter-spacing:.01em;white-space:nowrap;opacity:.92}
body.v5 .v5say-tm::before{content:"·";margin:0 6px 0 0;opacity:.6}
body.v5 #talk[data-state="listening"] .v5say-tm,body.v5 #talk[data-state="hearing"] .v5say-tm,body.v5 #talk[data-state="thinking"] .v5say-tm,body.v5 #talk[data-state="speaking"] .v5say-tm{display:inline}
body.v5 .v5say-tm[hidden]{display:none!important}

/* v14: Mute / Stop / Repeat removed from under the chat box; only push-to-talk (when that mode is on) remains in this row */
body.v5:not(.ptt) #talk .t-ctrl{display:none!important}

/* v15 mic sensitivity: Low / Normal / High (shares the o7seg look) */
.msens-lv{margin:2px 0 4px}
.msens-lv button{height:32px;font-size:13px}

/* v18: the Tasks list keeps its own place across updates (shell5.js keepPlace); the browser's scroll anchoring made it creep */
#tsBody,.tsheet .hxs-list,.wwin .wbody{overflow-anchor:none}

/* v19: live captions while he talks (greyed until the final words land) */
#txList li.cap{opacity:.6}

/* v19 Apps window (Sherman, Oct 13 10:08 PM): each app is its own card with an initials tile, a clear name and one line on what it is */
#lkWin .lk-i{background:var(--o-elev2,rgba(160,190,255,.05));border:1px solid rgba(128,128,128,.18);margin:0 0 8px;align-items:center}
#lkWin .lk-i.lk-hascode{align-items:flex-start}
#lkWin .lk-a{flex-direction:row;align-items:center;gap:12px;padding:11px 10px 11px 12px}
.lk-tile{flex:none;width:42px;height:42px;border-radius:11px;display:grid;place-items:center;font:700 15px/1 -apple-system,system-ui,sans-serif;letter-spacing:.02em;
  color:hsl(var(--h,80) 30% 88%);background:hsl(var(--h,80) 16% 26%);border:1px solid hsl(var(--h,80) 18% 36%)}
[data-theme="light"] .lk-tile{color:hsl(var(--h,80) 35% 22%);background:hsl(var(--h,80) 22% 90%);border-color:hsl(var(--h,80) 18% 78%)}
.lk-tx{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}
#lkWin .lk-t{font-size:16px;-webkit-line-clamp:1;color:inherit}
.lk-d{font-size:13.5px;line-height:1.3;opacity:.82;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
#lkWin .lk-m{font-size:11.5px;opacity:.5}
#lkWin .lk-code{padding-left:66px}
#lkWin .lk-i.new .lk-t::before{display:none}
@media (max-width:520px){#lkWin .lk-code{padding-left:12px}.lk-d{white-space:normal;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}}
/* v19 Tasks (Activity merged in): Being built rows and a folded Done recently */
.tsheet .ts-what{font-weight:400;opacity:.7}
.tsheet details.ts-done{margin-top:6px}
.tsheet details.ts-done>summary{cursor:pointer;list-style:none}
.tsheet details.ts-done>summary::-webkit-details-marker{display:none}
.tsheet details.ts-done>summary::after{content:" ▸";opacity:.5}
.tsheet details.ts-done[open]>summary::after{content:" ▾"}
#v5Cnt{display:none!important}
#lkWin .lk-d,#lkWin .lk-m{color:inherit}

/* v19.1 Apps: small category headers, importance order (links.js CATS) */
#lkWin .lk-cat{list-style:none;margin:14px 2px 6px;padding:0;font:600 11.5px/1.2 -apple-system,system-ui,sans-serif;letter-spacing:.06em;text-transform:uppercase;opacity:.6}
#lkWin .lk-cat:first-child{margin-top:2px}

/* ===== v19.2: Tasks rows (one line, tap to expand), honest status, From Iliad grouped by request ===== */
body.v5 .ts-row{gap:3px;padding:9px 12px}
body.v5 .ts-hd{all:unset;box-sizing:border-box;display:flex;flex-direction:column;gap:3px;width:100%;cursor:pointer;min-width:0}
body.v5 .ts-hd:focus-visible{outline:2px solid var(--il-lime);outline-offset:3px;border-radius:6px}
body.v5 .ts-ttl{font-size:14px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}
body.v5 .ts-open .ts-ttl{white-space:normal}
body.v5 .ts-row .v5req-s{flex-wrap:wrap;row-gap:2px}
body.v5 .ts-row .v5req-s .fl-a{opacity:.75;font-size:12px}
body.v5 .ts-sep{opacity:.45}
body.v5 .ts-note{display:block;font-size:12.5px;line-height:1.45;opacity:.8;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}
body.v5 .ts-slow{font-size:12px;color:var(--il-red)}
body.v5 .ts-row[data-st="work"] .v5req-s i{background:var(--il-lime)!important}
body.v5 .ts-row.ts-late[data-st="work"] .v5req-s i,body.v5 .ts-row.ts-late[data-st="sent"] .v5req-s i{background:var(--il-red)!important}
body.v5 .ts-body{margin-top:4px}
body.v5 .ts-older{margin-top:6px}
body.v5 .ts-g[data-g="older"]{font-size:11.5px}
body.v5 .ts-sum{margin:2px 4px 8px;font-size:12.5px;opacity:.8;line-height:1.45}
body.v5 .ts-sum .ts-slow{opacity:1}
body.v5 .ts-nudge{all:unset;cursor:pointer;margin-left:6px;font-size:12px;text-decoration:underline;text-underline-offset:2px;color:inherit}
body.v5 .ts-nudge:focus-visible{outline:2px solid var(--il-lime);outline-offset:2px}

/* v19.3: From Iliad folded into Tasks: earlier updates in an open row, and Iliad's own notes */
.ts-thr{margin:10px 0 2px;font-size:13px}
.ts-thk{display:block;font-size:11.5px;letter-spacing:.06em;text-transform:uppercase;opacity:.6;margin-bottom:6px}
.ts-thr ol{list-style:none;margin:0;padding:0 0 0 10px;border-left:2px solid rgba(202,216,36,.45);display:flex;flex-direction:column;gap:7px}
.ts-thl{display:flex;gap:8px;align-items:baseline}
.ts-thl b{font-weight:600;font-size:12.5px}
.ts-thl time{opacity:.6;font-size:11.5px}
.ts-thr-r{display:block;opacity:.82;line-height:1.45;white-space:pre-wrap;overflow-wrap:anywhere}
.ts-thr li.you .ts-thr-r{opacity:.7;font-style:italic}
.ts-note-i .ts-ntx{margin:4px 0 0;font-size:13.5px;line-height:1.42;opacity:.86;white-space:pre-wrap;overflow-wrap:anywhere}
.ts-note-i .ts-nl{display:inline-block;margin-top:6px;font-size:13px;color:inherit;opacity:.8}

/* v19.3 (rmv7qcd8ljro): a thin lime check at the corner of his own bubble = sent to Iliad; a small red mark = didn't reach Iliad, tap to retry */
#txList li.me .sm{position:relative;display:inline-flex;vertical-align:-2px;margin:0 0 0 6px;width:14px;height:14px;padding:0;border:0;background:none;align-items:center;justify-content:center;cursor:default;line-height:0}
#txList li.me .sm svg{width:12px;height:12px;fill:none;stroke-width:1.4;stroke-linecap:round;stroke-linejoin:round}
#txList li.me .sm.ok svg{stroke:var(--il-lime);opacity:.85}
#txList li.me .sm.ok:focus-visible{outline:1px solid var(--il-lime);outline-offset:2px;border-radius:3px}
#txList li.me .sm.ok[data-tip]::after{content:attr(data-tip);position:absolute;left:50%;transform:translateX(-50%);bottom:18px;white-space:nowrap;font-size:11px;line-height:1.3;padding:3px 7px;border-radius:6px;background:var(--il-ink);color:var(--il-lime);border:1px solid var(--il-lime-line);opacity:0;pointer-events:none;transition:opacity .15s}
#txList li.me .sm.ok:hover::after,#txList li.me .sm.ok.tip::after,#txList li.me .sm.ok:focus-visible::after{opacity:1}
#txList li.me .sm.bad{cursor:pointer;width:16px;height:16px;border-radius:50%;border:1.4px solid var(--il-red)}
#txList li.me .sm.bad svg{stroke:var(--il-red);stroke-width:1.8}
#txList li.me .sm.bad:hover,#txList li.me .sm.bad:focus-visible{background:var(--il-red-soft);outline:none}
#txList li.me .sm.busy::before{content:"";width:8px;height:8px;border-radius:50%;border:1.4px solid var(--il-lime-line);opacity:.7}
@media (pointer:coarse){#txList li.me .sm.bad{width:22px;height:22px;vertical-align:-5px}#txList li.me .sm.ok{width:20px;height:20px;vertical-align:-4px}}

/* v19.3 (rmv7qrygx2tv): "N need you" line at the top of the pane (lime text only); pinned apps under Apps; the star in Apps */
body.v5 #fRail .v5need{display:block;width:100%;margin:2px 0 6px;padding:6px 12px;border:0;border-radius:10px;background:transparent;color:var(--o-ac-ink);font:inherit;font-size:14px;font-weight:500;text-align:left;cursor:pointer;line-height:1.3}
body.v5 #fRail .v5need[hidden]{display:none}
body.v5 #fRail .v5need:hover,body.v5 #fRail .v5need:focus-visible{background:var(--o-ac-soft);outline:none}
body.v5.v5-col #fRail .v5need{display:none}
body.v5 #fRail .fr-pins{display:flex;flex-direction:column;gap:1px;margin:-2px 0 2px}
body.v5 #fRail .fr-pins[hidden]{display:none}
body.v5 #fRail .fr-b.fr-pin{height:34px!important;min-height:34px!important;padding-left:22px!important;text-decoration:none!important;font-size:14px!important}
body.v5 #fRail .fr-b.fr-pin::after{font-size:14px!important;overflow:hidden;text-overflow:ellipsis}
body.v5 #fRail .fr-pin .frp-t{flex:none;width:20px;height:20px;border-radius:6px;display:inline-flex;align-items:center;justify-content:center;font-size:9.5px;font-weight:600;letter-spacing:.02em;color:var(--il-text);background:hsl(var(--h,70) 28% 26%);border:1px solid var(--il-lime-line)}
body.v5.v5-col #fRail .fr-pins{display:none}
.lkwin .lk-pin{flex:none;align-self:center;width:32px;height:32px;margin:0 2px 0 0;padding:0;border:0;border-radius:8px;background:none;cursor:pointer;display:inline-flex;align-items:center;justify-content:center}
.lkwin .lk-pin svg{width:15px;height:15px;fill:none;stroke:var(--il-mute);stroke-width:1.3;stroke-linejoin:round}
.lkwin .lk-pin.on svg{fill:var(--il-lime);stroke:var(--il-lime)}
.lkwin .lk-pin:hover svg,.lkwin .lk-pin:focus-visible svg{stroke:var(--il-lime)}
.lkwin .lk-pin:focus-visible{outline:1px solid var(--il-lime-line);outline-offset:1px}
html[data-scheme] .lkwin .lk-pin svg{stroke:var(--o-dim)}
html[data-scheme] .lkwin .lk-pin.on svg{fill:var(--o-ac);stroke:var(--o-ac)}

/* v19.4 Drive part 1: type chips and Show more (calm: hairline chips, lime outline on the active one, no counts) */
.drv-chips{display:flex;gap:6px;overflow-x:auto;padding:2px 2px 6px;margin:0 0 2px;scrollbar-width:none;-webkit-overflow-scrolling:touch;flex:none}
.drv-chips::-webkit-scrollbar{display:none}
.drv-chip{flex:none;height:30px;padding:0 12px;border-radius:15px;border:1px solid rgba(160,190,255,.16);background:transparent;color:inherit;font:inherit;font-size:13px;opacity:.8;cursor:pointer;white-space:nowrap}
.drv-chip:hover{opacity:1;background:rgba(160,190,255,.06)}
.drv-chip.on{opacity:1;border-color:var(--o-ac);box-shadow:inset 0 0 0 1px var(--o-ac-line)}
.drv-chip:focus-visible{outline:2px solid var(--o-ac);outline-offset:1px}
body.v5 .drv .drv-scroll{flex:1 1 auto;min-height:0;overflow-y:auto;display:flex;flex-direction:column;scrollbar-width:thin}
body.v5 .drv .drv-scroll .drv-list{flex:none;overflow:visible}
.drv-tag{opacity:.75}
.drv-more{flex:none;align-self:center;margin:10px 0 4px;height:36px;padding:0 18px;border-radius:18px;border:1px solid rgba(160,190,255,.18);background:transparent;color:inherit;font:inherit;font-size:13.5px;cursor:pointer}
.drv-more:hover{border-color:var(--o-ac)}
.drv-more[hidden]{display:none}
@media (min-width:821px){.drv-chips{flex-wrap:wrap;overflow:visible}}
.drv-more:disabled{opacity:.5;cursor:default}
html[data-scheme] body.v5 .drv-chip,html[data-scheme] body.v5 .drv-more{border-color:var(--o-hair2)!important;color:var(--o-text)!important}
html[data-scheme] body.v5 .drv-chip.on{border-color:var(--o-ac)!important}

/* ---------- v19.5 Drive rebuild part 2: grouped results, calm icons, desktop details pane, folded copies ---------- */
body.v5 .drv .drv-body{flex:1 1 auto;min-height:0;display:flex;flex-direction:column}
.drv-g{margin:0 0 10px}
.drv-gh{font-size:11px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;opacity:.5;margin:10px 10px 4px}
.drv-g:first-child .drv-gh{margin-top:2px}
.drv-row{display:flex;flex-direction:column}
.drv-ic{color:inherit;opacity:.9}
.drv-ic svg{display:block}
.drv-ic.k-folder{color:var(--o-ac,var(--il-lime))}
.drv-ic.k-pdf{color:var(--il-red)}
.drv-d{display:flex;flex-direction:column;align-items:flex-end;gap:2px;text-align:right}
.drv-k{font-size:11px;opacity:.85}
.drv-dd{font-size:11px}
.drv-i.drv-top .drv-n{font-weight:600;font-size:15px}
.drv-i.drv-top{padding-top:11px;padding-bottom:11px}
.drv-i.sel{background:var(--o-ac-soft,rgba(202,216,36,.10));border-color:var(--o-ac-line,rgba(202,216,36,.45))}
.drv-cp{align-self:flex-start;margin:-2px 0 2px 50px;padding:2px 8px;border:0;border-radius:8px;background:transparent;color:inherit;font:inherit;font-size:11.5px;opacity:.6;cursor:pointer}
.drv-cp:hover{opacity:1;background:rgba(160,190,255,.06)}
.drv-cpc{margin-left:4px}
.drv-cps{margin:0 0 4px 40px;border-left:1px solid rgba(160,190,255,.14);padding-left:4px}
.drv-i.drv-sub{padding-top:6px;padding-bottom:6px}
.drv-i.drv-sub .drv-n{font-size:13px}
.drv-allfo{align-self:flex-start;margin:2px 10px 0;padding:4px 10px;border:1px solid rgba(160,190,255,.16);border-radius:14px;background:transparent;color:inherit;font:inherit;font-size:12px;cursor:pointer}
.drv-empty p{margin:0 0 8px}
.drv-try{display:flex;flex-wrap:wrap;gap:6px}
.drv-sg{height:30px;padding:0 12px;border-radius:15px;border:1px solid var(--o-ac-line,rgba(202,216,36,.45));background:transparent;color:inherit;font:inherit;font-size:13px;cursor:pointer}
.drv-sg:hover{background:var(--o-ac-soft,rgba(202,216,36,.10))}
.drv-hint{font-size:12.5px;opacity:.75}
.drv-pv{display:none}
/* one focus ring on the search box: the outer border, not a second outline on the input */
html[data-scheme] body.v5 .drv-s input:focus,html[data-scheme] body.v5 .drv-s input:focus-visible,body.v5 .drv-s input:focus-visible{outline:none!important;box-shadow:none!important}
@media (min-width:1024px){
  body.v5.o7-drvw{--o7pw:clamp(480px,calc(100vw - var(--v5side) - 300px),820px)}
  body.v5.o7-drvw .drv .drv-body{display:grid;grid-template-columns:minmax(0,1fr) minmax(220px,300px);gap:14px}
  body.v5 .drv .drv-scroll{min-width:0}
  body.v5.o7-drvw .drv-pv{display:flex;flex-direction:column;gap:10px;min-height:0;overflow-y:auto;padding:12px 14px;border-left:1px solid var(--o-hair,rgba(160,190,255,.12))}
  .drv-pvh{display:flex;align-items:center;gap:10px}
  .drv-ic.big{width:44px;height:44px;border-radius:11px}
  .drv-pvn{font-size:16px;line-height:1.35;margin:0;word-break:break-word}
  .drv-pvd{margin:0;display:grid;grid-template-columns:auto 1fr;gap:6px 12px;font-size:13px}
  .drv-pvd dt{opacity:.55}
  .drv-pvd dd{margin:0;word-break:break-word}
  .drv-open{align-self:flex-start;margin-top:4px;display:inline-flex;align-items:center;height:36px;padding:0 16px;border-radius:18px;background:var(--o-ac,var(--il-lime));color:var(--o-on-ac,var(--il-ink))!important;font-size:14px;font-weight:600;text-decoration:none}
  .drv-open:hover{filter:brightness(1.06)}
  .drv-pv0{opacity:.55;font-size:13px;margin:4px 0}
}
html[data-scheme] body.v5 .drv-i.sel{background:var(--o-ac-soft)!important;border-color:var(--o-ac-line)!important}
html[data-scheme] body.v5 .drv-sg,html[data-scheme] body.v5 .drv-allfo{color:var(--o-text)!important}

/* v19.7: chat time markers (HQ as-mv7wuvhlb54db3) */
#txList li.tmk,html[data-scheme] body.v5 #txList li.tmk{list-style:none;display:block;text-align:center;margin:14px 0 6px;padding:0;border:0;background:none;font-size:11px;line-height:1.3;letter-spacing:.01em;color:var(--o-dim,rgba(242,241,234,.5))!important;opacity:.85;font-variant-numeric:tabular-nums}
#txList li.tmk span{display:inline-block;padding:0 6px}
/* v19.7: Take back link and Lined up rows (HQ as-mv7ptr8i4a7dd9, as-mv7ygtagb15025) */
body.v5 .tsheet .ts-tbk{display:inline-flex;align-self:flex-start;width:auto;justify-self:start;align-items:center;min-height:24px;margin:2px 0 0;padding:2px 0;border:0;background:none;font:inherit;font-size:12px;color:var(--o-dim,rgba(242,241,234,.55));text-decoration:underline;text-decoration-color:var(--o-hair2,rgba(128,128,128,.4));text-underline-offset:3px;cursor:pointer}
body.v5 .tsheet .ts-tbk:hover,body.v5 .tsheet .ts-tbk:focus-visible{color:var(--il-red);text-decoration-color:currentColor;outline:none}
body.v5 .tsheet .ts-tbk[data-arm="1"]{color:var(--il-red);text-decoration:none}
body.v5 .tsheet .ts-tbk:disabled{opacity:.6;cursor:default}

/* v19.10: composer attachment chips (attach.js); calm rules: theme colors only, no motion */
.t-att{margin:8px 0 0;padding:0 2px}
.t-att[hidden]{display:none!important}
.t-att-row{display:flex;gap:8px;overflow-x:auto;padding:7px 2px 2px;scrollbar-width:none}
.t-att-row::-webkit-scrollbar{display:none}
.t-att-c{position:relative;flex:none;width:64px;height:64px;border-radius:12px;background:rgba(10,14,30,.6);border:1px solid rgba(160,190,255,.22);display:flex;flex-direction:column;align-items:center;justify-content:center}
.t-att-c img,.t-att-c video{width:100%;height:100%;object-fit:cover;border-radius:11px;display:block;pointer-events:none}
.t-att-c.doc,.t-att-c.pdf,.t-att-c.aud{width:132px;flex-direction:row;justify-content:flex-start;gap:8px;padding:0 10px}
.t-att-ic{font-size:13px;font-weight:700;min-width:28px;height:28px;border-radius:8px;display:inline-flex;align-items:center;justify-content:center;background:rgba(160,190,255,.14);color:rgba(230,236,255,.9);flex:none}
.t-att-nm{font-size:12px;line-height:1.25;color:rgba(230,236,255,.9);overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;word-break:break-all;text-align:left}
.t-att-play{position:absolute;left:4px;bottom:4px;font-size:10px;line-height:1;padding:3px 5px;border-radius:6px;background:rgba(0,0,0,.55);color:white;font-style:normal}
.t-att-x{position:absolute;top:-7px;right:-7px;width:22px;height:22px;border-radius:50%;border:1px solid rgba(255,255,255,.3);background:rgba(17,21,31,.96);color:white;font-size:15px;line-height:18px;padding:0;cursor:pointer;display:flex;align-items:center;justify-content:center;z-index:2}
.t-att-x::after{content:"";position:absolute;inset:-9px}
.t-att-sp{position:absolute;inset:0;border-radius:11px;background:rgba(0,0,0,.45);display:flex;align-items:center;justify-content:center;font-style:normal;font-size:10.5px;color:white}
.t-att-sp::after{content:"Saving"}
.t-att-c.st-err{border-color:var(--red);cursor:pointer}
.t-att-er{position:absolute;left:4px;top:4px;width:18px;height:18px;border-radius:50%;background:var(--red);color:white;font-style:normal;font-weight:800;font-size:12px;display:flex;align-items:center;justify-content:center}
.t-att-q{margin:6px 2px 0;font-size:12.5px;color:rgba(214,226,255,.7)}
.t-att-q.ask{color:var(--il-lime,var(--teal));font-weight:600}
#tForm.t-att-busy .t-send{opacity:.5;pointer-events:none}
html[data-theme="light"] .t-att-c{background:rgba(0,0,0,.04);border-color:rgba(0,0,0,.12)}
html[data-theme="light"] .t-att-nm,html[data-theme="light"] .t-att-ic{color:rgba(20,28,52,.9)}
html[data-theme="light"] .t-att-q{color:rgba(20,28,52,.7)}
html[data-scheme] .t-att-c{background:var(--o-elev);border-color:var(--o-hair2)}
html[data-scheme] .t-att-nm{color:var(--o-text)}
html[data-scheme] .t-att-q{color:var(--o-mute)}
html[data-scheme] .t-att-q.ask{color:var(--o-ac,var(--il-lime))}
body.v5.v5-hx .t-att{display:none!important}

/* v19.13: who is signed in, at the top of Settings */
.setwho{display:flex;align-items:center;gap:12px;margin:2px 0 14px;padding:12px 14px;border-radius:14px;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.10)}
.setwho-av{flex:0 0 36px;height:36px;border-radius:50%;display:grid;place-items:center;font-weight:700;background:rgba(202,216,36,.18);color:var(--fg,inherit)}
.setwho-t{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}
.setwho-t b{font-size:15px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.setwho-t small{opacity:.7;font-size:12px}
.setwho .chip{flex:0 0 auto}
/* v19.13: read-back card in the chat ("I'll send Iliad: ... Send / Change / Don't send") */
#txList li.cfm{display:flex;flex-direction:column;gap:8px}
#txList li.cfm .cf-t{display:block;line-height:1.4}
#txList li.cfm .cf-a{display:flex;flex-wrap:wrap;gap:8px}
#txList li.cfm .cf-a .chip{min-height:36px;padding:6px 14px}
#txList li.cfm .cf-a .cf-send{font-weight:700;border-color:rgba(202,216,36,.6)}
#txList li.cfm .cf-st{opacity:.7;font-size:13px}
/* v19.18 send card: full text, green sent, red cancelled */
#txList li.cfm .cf-t,#txList li.cfm .cf-full{white-space:normal;overflow:visible;overflow-wrap:anywhere;max-height:none;display:block}
#txList li.cfm .cf-full{font-size:13px;opacity:.8}
#txList li.cfm .cf-more{align-self:flex-start;background:none;border:0;padding:0;font-family:inherit;font-size:13px;font-weight:600;color:var(--teal);text-decoration:underline;min-height:28px}
#txList li.cfm .cf-a .cf-st{opacity:1;display:inline-flex;align-items:center;gap:6px;font-size:14px;font-weight:700;padding:6px 12px;border-radius:99px}
#txList li.cfm .cf-a .cf-ok{background:rgb(22,163,74)!important;color:rgb(255,255,255)!important}
#txList li.cfm .cf-ok svg{width:14px;height:14px;fill:none;stroke:currentColor;stroke-width:2}
#txList li.cfm .cf-a .cf-no{background:rgb(220,38,38)!important;color:rgb(255,255,255)!important}
#txList li.cfm .cf-err{flex-basis:100%;font-size:13px;font-weight:600;color:var(--red)!important}
/* v19.16: "Orbit can see: …" line in Apps */
.lk-see{flex:none;margin:8px 12px 2px;padding:9px 11px;border:1px solid rgba(140,150,170,.22);border-radius:12px;background:rgba(140,150,170,.07);font-size:12.5px;line-height:1.45;color:inherit;overflow-wrap:anywhere}
.lk-see b{font-weight:650}
.lk-see-h{display:block;margin-top:3px;font-size:11.5px;opacity:.68}
