/* Orbitron / Chakra Petch load with the immersive view (see index.html ensureOrbitAssets). */
/* ── entry button on the radio ── */
.nav-orbit{position:relative;border-color:rgba(125,211,252,.6)!important;box-shadow:0 0 18px rgba(125,211,252,.35),inset 0 0 12px rgba(167,139,250,.25);animation:navOrb 3s ease-in-out infinite}
.nav-orbit .op-switch-label{background:linear-gradient(90deg,#7dd3fc,#f0abfc,#a3e635);-webkit-background-clip:text;background-clip:text;color:transparent;font-weight:700}
@keyframes navOrb{50%{box-shadow:0 0 30px rgba(240,171,252,.5),inset 0 0 14px rgba(125,211,252,.35)}}
body.orbit-on{overflow:hidden}
body.orbit-on #app,body.orbit-on .tune-hint,body.orbit-on #starfield,body.orbit-on #nebula{visibility:hidden}
body.orbit-land #app{animation:land 1.3s ease-out}
@keyframes land{0%{filter:brightness(3) blur(6px);transform:scale(1.06)}100%{filter:none;transform:none}}

/* ── immersive root ── */
.orb{--c:#7dd3fc;--lv:0;position:fixed;inset:0;z-index:90;background:#000;color:#e8f1ff;font-family:'Chakra Petch',system-ui,sans-serif;opacity:0;pointer-events:none;transition:opacity .6s;overflow:hidden}
.orb.show{opacity:1;pointer-events:auto}
/* BUGFIX: closed Immersive stays fixed at z-index 90 (opacity 0). Children that opt into
   pointer-events:auto (.orb-mid>*, med buttons) kept swallowing clicks on the console top nav. */
.orb:not(.show),.orb:not(.show) *{pointer-events:none!important}
.orb .orb-gl{position:absolute;inset:0;width:100%!important;height:100%!important;display:block}
.orb button{font-family:inherit;cursor:pointer}
.orb-vig{position:absolute;inset:0;pointer-events:none;background:radial-gradient(ellipse at center,transparent 55%,rgba(0,0,10,.6));z-index:1}
.orb h6{font:700 10px 'Orbitron';letter-spacing:.28em;color:var(--c);margin:14px 0 7px;text-shadow:0 0 8px var(--c)}

/* top bar */
.orb-top{position:absolute;top:0;left:0;right:0;display:grid;grid-template-columns:1fr auto 1fr;align-items:start;padding:18px 26px;z-index:5;transition:opacity .6s}
.orb-live{display:flex;gap:9px;align-items:center;font:600 11px 'Orbitron';letter-spacing:.2em;padding:8px 14px;border-radius:30px;background:rgba(10,20,40,.45);border:1px solid rgba(125,211,252,.3);backdrop-filter:blur(8px)}
.orb-live i{width:9px;height:9px;border-radius:50%;background:#ff3b6b;box-shadow:0 0 12px #ff3b6b;animation:blink 1.4s infinite}
@keyframes blink{50%{opacity:.25}}
.orb-brand{font:900 clamp(18px,2.4vw,30px) 'Orbitron';letter-spacing:.14em;background:linear-gradient(90deg,#fff,var(--c),#f0abfc,#fff);background-size:300% 100%;-webkit-background-clip:text;background-clip:text;color:transparent;animation:shine 8s linear infinite;text-align:center}
.orb-brand em{font-style:normal;font-weight:500;margin-left:.4em;opacity:.8}
@keyframes shine{to{background-position:300% 0}}
.orb-env{justify-self:end;display:flex;flex-direction:column;align-items:flex-end;gap:5px}
.orb-time b{font:700 28px 'Orbitron';letter-spacing:.06em;text-shadow:0 0 14px var(--c)}
.orb-time small{font:500 12px 'Orbitron';margin-left:5px;color:var(--c)}
.orb-wx{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end;font-size:13px}
.orb-wx span{padding:4px 10px;border-radius:20px;background:rgba(10,20,40,.5);border:1px solid rgba(255,255,255,.12);backdrop-filter:blur(8px)}
.orb-wx .aqi{border-color:var(--q);color:var(--q)}
.orb-wx .city{opacity:.8;text-transform:uppercase;letter-spacing:.12em;font-size:11px;line-height:18px}

/* glass holo panels */
.orb-panel,.orb-dock,.orb-tuner,.orb-drawer,.orb-popcard{background:linear-gradient(160deg,rgba(40,80,160,.18),rgba(90,40,160,.12));border:1px solid rgba(125,211,252,.28);backdrop-filter:blur(14px) saturate(1.3);box-shadow:0 0 30px rgba(80,160,255,.12),inset 0 0 24px rgba(125,211,252,.06);border-radius:18px}
.orb-left{position:absolute;left:22px;top:124px;width:290px;max-height:calc(100vh - 290px);overflow:auto;padding:4px 16px 14px;z-index:5;transition:opacity .6s,transform .6s}
.orb-row{display:flex;flex-wrap:wrap;gap:6px}
.orb-vibe{display:flex;flex-direction:column;gap:6px}
.orb-vibe-row{flex-wrap:nowrap}
.orb-vibe-row .orb-opt{flex:1 1 50%;min-width:0;text-align:center}
.orb-opt{flex:1 1 45%;padding:8px 10px;border-radius:12px;border:1px solid rgba(255,255,255,.14);background:rgba(255,255,255,.04);color:#dbe7ff;font-size:13px;font-weight:500;transition:.2s}
.orb-opt:hover{border-color:var(--c);transform:translateY(-1px)}
.orb-opt.on{background:linear-gradient(135deg,color-mix(in srgb,var(--c) 45%,transparent),rgba(240,171,252,.25));border-color:var(--c);color:#fff;box-shadow:0 0 14px color-mix(in srgb,var(--c) 50%,transparent)}
.orb-snd{margin-top:12px}.orb-snd summary{font:700 11px 'Orbitron';letter-spacing:.28em;color:var(--c);cursor:pointer;display:flex;align-items:center;gap:10px}
.orb-mute{margin-left:auto;width:30px;height:30px;border-radius:50%;border:1px solid color-mix(in srgb,var(--c) 55%,transparent);background:rgba(10,20,40,.55);color:#fff;font-size:14px;line-height:1;cursor:pointer;display:grid;place-items:center;padding:0;transition:.2s}
.orb-mute:hover{box-shadow:0 0 12px var(--c)}.orb-mute.on{background:rgba(255,80,80,.25);border-color:#ff6b6b}
.orb-snd label{display:grid;grid-template-columns:110px 1fr;align-items:center;font-size:12px;margin:7px 0;gap:8px}
.orb input[type=range]{accent-color:var(--c);width:100%}

/* right dock: holo buttons */
.orb-dock{position:absolute;right:22px;top:calc(50% + 70px);transform:translateY(-50%);display:flex;flex-direction:column;gap:8px;padding:12px;z-index:5;transition:opacity .6s,transform .6s}
.orb-holo{display:flex;align-items:center;gap:10px;min-width:150px;padding:10px 14px;border-radius:14px;border:1px solid rgba(125,211,252,.2);background:rgba(10,30,60,.35);color:#fff;font-size:14px;font-weight:600;letter-spacing:.04em;transition:.25s;position:relative;overflow:hidden}
.orb-holo i{font-style:normal;font-size:18px;width:22px;text-align:center;filter:drop-shadow(0 0 6px var(--c))}
.orb-holo::after{content:'';position:absolute;inset:0;background:linear-gradient(100deg,transparent 30%,rgba(255,255,255,.18) 50%,transparent 70%);transform:translateX(-100%);transition:.6s}
.orb-holo:hover{border-color:var(--c);box-shadow:0 0 18px color-mix(in srgb,var(--c) 45%,transparent);transform:translateX(-4px)}
.orb-holo:hover::after{transform:translateX(100%)}
.orb-holo.mob{display:none}
.orb-holo[data-open=support]{border-color:rgba(251,191,36,.55);background:rgba(120,70,0,.3)}

/* tuner */
.orb-tuner{position:absolute;left:50%;bottom:26px;transform:translateX(-50%);width:min(620px,92vw);padding:14px 22px 16px;text-align:center;z-index:5;transition:opacity .6s,transform .6s}
.orb-track{font-size:14px;opacity:.85;letter-spacing:.06em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.orb-dial{display:flex;align-items:center;justify-content:center;gap:18px;margin:4px 0 8px}
.orb-band{font:900 clamp(26px,4.2vw,46px) 'Orbitron';letter-spacing:.1em;color:#fff;text-shadow:0 0 18px var(--c),0 0 40px var(--c);transform:scale(calc(1 + var(--lv)*.06))}
.orb-arrow{width:44px;height:44px;border-radius:50%;border:1px solid var(--c);background:rgba(0,0,0,.3);color:var(--c);font-size:28px;line-height:1}
.orb-chips{display:flex;gap:6px;justify-content:center;flex-wrap:wrap}
.orb-chips button{padding:5px 11px;border-radius:20px;border:1px solid color-mix(in srgb,var(--fc) 60%,transparent);background:transparent;color:var(--fc);font:600 11px 'Orbitron';letter-spacing:.1em}
.orb-chips button.on{background:var(--fc);color:#050814;box-shadow:0 0 16px var(--fc)}
.orb-ctl{display:flex;align-items:center;gap:16px;justify-content:center;margin-top:10px}
.orb-play{width:58px;height:58px;border-radius:50%;border:2px solid var(--c);background:radial-gradient(circle,color-mix(in srgb,var(--c) 35%,transparent),rgba(0,0,0,.4));color:#fff;font-size:20px;box-shadow:0 0 calc(14px + var(--lv)*40px) var(--c)}
.orb-play:not(.on){animation:pulse 1.8s infinite}
@keyframes pulse{50%{box-shadow:0 0 34px var(--c),0 0 0 10px color-mix(in srgb,var(--c) 15%,transparent)}}
.orb-ctl input{width:150px}

.orb-tele{position:absolute;left:26px;bottom:30px;font:500 11px 'Orbitron';letter-spacing:.14em;line-height:2;color:rgba(220,235,255,.7);z-index:4;transition:opacity .6s}
.orb-tele b{color:var(--c)}
.orb-back{position:relative;z-index:6;display:flex;align-items:center;gap:10px;padding:9px 18px 9px 12px;border-radius:40px;border:1px solid rgba(96,165,250,.7);background:linear-gradient(135deg,rgba(30,90,200,.55),rgba(20,140,110,.45));color:#fff;font:700 12px 'Orbitron';letter-spacing:.18em;box-shadow:0 0 22px rgba(96,165,250,.45)}
.orb-back i{font-style:normal;font-size:20px;line-height:1;font-weight:700}
.orb-back:hover{box-shadow:0 0 34px rgba(96,165,250,.8);transform:translateY(-2px)}

/* idle + zen: controls melt away */
.orb.idle .orb-left,.orb.idle .orb-dock,.orb.idle .orb-tele{opacity:0}
.orb.idle .orb-left:hover,.orb.idle .orb-dock:hover{opacity:1}
.orb.zen .orb-left{background:transparent;border-color:transparent;box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none}.orb.zen .orb-left>:not(.orb-view-row),.orb.zen .orb-view-row>:not([data-zen]){opacity:0;pointer-events:none}.orb-left>*,.orb-view-row>*{transition:opacity .6s}
.orb.zen .orb-dock{transform:translate(0,-50%) scale(.85);opacity:.55}.orb.zen .orb-dock:hover{opacity:1}
.orb.zen .orb-tuner{transform:translateX(-50%) translateY(30px) scale(.8);opacity:.7}
.orb.zen .orb-tele,.orb.zen .orb-top .orb-live{opacity:0}

/* ── cabin (3D room lives in cabin.js) ── */
.orb[data-mode=cabin] .orb-vig{background:radial-gradient(ellipse at center,transparent 65%,rgba(0,0,10,.35))}
.orb[data-mode=cabin] .orb-tele{display:none}
.orb[data-mode=cabin] .orb-left{top:auto;bottom:210px;max-height:44vh}
.orb[data-mode=cabin] .orb-top .orb-brand{filter:drop-shadow(0 1px 1px rgba(0,0,0,.7)) drop-shadow(0 0 12px rgba(0,10,40,.9))}
.orb-fx.blink{animation:blinkFx .9s ease-in-out forwards;background:radial-gradient(circle,rgba(220,240,255,.95),rgba(125,211,252,.8))}
@keyframes blinkFx{0%{opacity:0}40%,55%{opacity:1}100%{opacity:0}}

/* Chill clean: slim right dock — hide Contáctanos / A bordo / Juegos / Omnations / Tienda */
.orb.chill-clean .orb-dock > [data-open="contact"],
.orb.chill-clean .orb-dock > [data-open="msgs"],
.orb.chill-clean .orb-dock > [data-open="games"],
.orb.chill-clean .orb-dock > [data-open="omni"],
.orb.chill-clean .orb-dock > [data-open="shop"]{display:none!important}

/* vibes */
.orb[data-vibe=party] .orb-brand{animation-duration:2s}
.orb[data-vibe=party]::after{content:'';position:absolute;inset:0;pointer-events:none;z-index:1;background:conic-gradient(from calc(var(--lv)*360deg),rgba(255,0,200,.22),rgba(0,200,255,.2),rgba(160,255,0,.18),rgba(255,160,0,.2),rgba(255,0,200,.22));mix-blend-mode:screen;animation:hueSpin 6s linear infinite}
@keyframes hueSpin{to{filter:hue-rotate(360deg)}}
.orb[data-vibe=party] .orb-panel,.orb[data-vibe=party] .orb-dock,.orb[data-vibe=party] .orb-tuner{animation:partyGlow 3s linear infinite}
@keyframes partyGlow{0%{border-color:#f0f}33%{border-color:#0ff}66%{border-color:#af0}100%{border-color:#f0f}}
.orb[data-vibe=focus] .orb-vig{background:radial-gradient(ellipse at center,transparent 40%,rgba(0,0,8,.85))}
.orb[data-vibe=meditate] .orb-vig{animation:breath 8s ease-in-out infinite}
@keyframes breath{50%{background:radial-gradient(ellipse at center,transparent 35%,rgba(20,0,40,.75))}}

/* drawer for borrowed radio features */
.orb-drawer{position:absolute;left:50%;top:50%;transform:translate(-50%,-46%) scale(.96);width:min(760px,94vw);max-height:78vh;display:flex;flex-direction:column;z-index:8;opacity:0;transition:.35s}
.orb-drawer.on{opacity:1;transform:translate(-50%,-50%) scale(1)}
.orb-dhead{display:flex;justify-content:space-between;align-items:center;padding:14px 20px;border-bottom:1px solid rgba(125,211,252,.2)}
.orb-dhead b{font:700 14px 'Orbitron';letter-spacing:.2em;color:var(--c)}
.orb-dhead button{background:none;border:1px solid rgba(255,255,255,.3);color:#fff;border-radius:50%;width:32px;height:32px}
.orb-dbody{overflow:auto;padding:16px 20px 22px}
.orb-dbody .view{position:static!important;display:block!important;background:none!important;min-height:0!important;padding:0!important;inset:auto!important}
.orb-dbody .operator-top,.orb-dbody .operator-foot{display:none!important}
.orb-dbody .dodge-deck{margin:0 auto!important;max-width:520px}
.orb-dbody #snake-box{margin:34px auto 8px!important;width:min(440px,100%)!important;max-width:none;box-sizing:border-box;padding:10px 10px 8px}
.orb-dbody #snake-cv{width:100%!important;height:auto!important;aspect-ratio:5/3}
.orb-dbody .snake-score{font-size:11px!important;margin-top:4px}
.orb-dbody .snake-hint .game-key{min-width:28px;height:28px;font-size:15px}
.orb-dbody .snake-hint .game-hint-label,.orb-dbody .dodge-hint .game-hint-label{font-size:13px!important}
.orb-dbody .dodge-hint .game-key{min-width:30px;height:30px;font-size:16px}
.orb-dbody .social-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:8px}

/* support popup */
.orb-pop{position:absolute;inset:0;z-index:9;display:grid;place-items:center;background:rgba(0,0,10,.35);opacity:0;transition:opacity .4s}
.orb-pop.on{opacity:1}
.orb-popcard{width:min(440px,90vw);padding:26px 26px 22px;text-align:center;transform:scale(.8) rotateX(20deg);transition:transform .5s cubic-bezier(.2,1.5,.4,1);border-color:rgba(251,191,36,.5)}
.orb-pop.on .orb-popcard{transform:none}
.ufo-ico{font-size:44px;animation:hover 2s ease-in-out infinite}
@keyframes hover{50%{transform:translateY(-8px) rotate(-6deg)}}
.orb-popcard h3{font:900 20px 'Orbitron';letter-spacing:.06em;margin:8px 0;background:linear-gradient(90deg,#fde68a,#f0abfc,#7dd3fc);-webkit-background-clip:text;background-clip:text;color:transparent}
.orb-popcard p{font-size:15px;line-height:1.5;opacity:.9;margin:6px 0 14px}.orb-popcard p.sm{margin:14px 0 6px;font-weight:600}
.orb-popcard .pb{display:flex;flex-direction:column;gap:8px}
.orb-popcard .go{padding:12px;border-radius:14px;border:none;background:linear-gradient(135deg,#f59e0b,#ec4899);color:#fff;font-weight:700;font-size:15px;box-shadow:0 0 20px rgba(236,72,153,.5)}
.orb-popcard .ghost{padding:9px;border-radius:14px;border:1px solid rgba(255,255,255,.25);background:transparent;color:#cbd5e1}
.orb-popcard .soc{display:flex;flex-wrap:wrap;gap:6px;justify-content:center;margin-bottom:12px}
.orb-popcard .soc a{padding:6px 12px;border-radius:20px;border:1px solid var(--c);color:#fff;text-decoration:none;font-size:13px}

/* transitions */
.orb-fx{position:absolute;inset:0;z-index:20;pointer-events:none;display:grid;place-items:center;opacity:0}
.orb-fxtxt{font:900 clamp(18px,3vw,34px) 'Orbitron';letter-spacing:.3em;text-align:center;color:#fff;text-shadow:0 0 20px var(--c)}
.orb-fx.warpin{animation:warpIn 1.9s ease-out forwards;background:radial-gradient(circle,transparent 20%,rgba(125,211,252,.25) 60%,rgba(0,0,0,.9))}
@keyframes warpIn{0%{opacity:1;backdrop-filter:blur(8px)}60%{opacity:1}100%{opacity:0;backdrop-filter:blur(0)}}
.orb-fx.reentry{animation:reentry 1.9s ease-in forwards;background:radial-gradient(circle,transparent 25%,rgba(255,120,30,.45) 60%,rgba(255,60,0,.8))}
.orb-fx.reentry .orb-fxtxt{color:#fff7ed;text-shadow:0 0 24px #fb923c,0 0 50px #f97316}
@keyframes reentry{0%{opacity:0}20%{opacity:1}80%{opacity:1;background-color:transparent}100%{opacity:1;background-color:#fff}}
.orb:has(.orb-fx.reentry){animation:shake .12s linear infinite}
@keyframes shake{25%{transform:translate(2px,-2px)}50%{transform:translate(-2px,1px)}75%{transform:translate(1px,2px)}}

@media (max-width:820px){
  .orb-left{display:none}.orb.panels-open .orb-left{display:block}
  .orb-dock{top:auto;bottom:230px;right:50%;transform:translateX(50%);flex-direction:row;flex-wrap:wrap;justify-content:center;width:92vw;padding:8px}
  .orb-holo{min-width:0;padding:8px 10px}.orb-holo.mob{display:flex}.orb.panels-open .orb-left{position:absolute;top:70px;left:4vw;right:4vw;width:auto;max-height:50vh;z-index:7;background:rgba(5,10,30,.85)}.orb-holo span{display:none}
  .orb-tele{display:none}.orb-back{padding:7px 10px;font-size:11px;letter-spacing:.1em}
  .orb-top{padding:12px 14px}.orb-live{display:none}.orb-time b{font-size:20px}
}
.orb [hidden]{display:none!important}

.orb-tl{display:flex;flex-direction:column;align-items:flex-start;gap:8px;justify-self:start}
.orb-brand{padding-top:4px;padding-left:.14em}
.orb-lang{display:flex;align-items:center;gap:4px;padding:4px;border-radius:30px;background:rgba(10,20,40,.6);border:1px solid color-mix(in srgb,var(--c) 70%,transparent);box-shadow:0 0 16px color-mix(in srgb,var(--c) 35%,transparent);backdrop-filter:blur(8px)}
.orb-lang span{font-size:14px;padding:0 2px 0 4px}
.orb-lang button{border:none;border-radius:22px;padding:5px 8px;background:transparent;color:#dbe7ff;font:600 12px 'Chakra Petch',sans-serif;letter-spacing:.04em}
.orb-lang button.on{background:var(--c);color:#050814;box-shadow:0 0 12px var(--c)}
@media (max-width:820px){.orb-top{grid-template-columns:auto 1fr auto;gap:8px}.orb-brand{font-size:14px;align-self:center}.orb-lang button{padding:4px 7px;font-size:11px}.orb-lang span{display:none}.orb-tl .orb-live{display:none}}

/* centered title block with the LIVE badge under it */
.orb-mid{display:flex;flex-direction:column;align-items:center;gap:6px}
.orb-mid .orb-live{padding:4px 12px;font-size:10px}
/* sky options: 3 per row */
.orb-row [data-sky]{flex:1 1 30%}
/* lights off (cabin only) */
.orb:not([data-mode=cabin]) [data-lights]{display:none}
.orb-lights,.orb-holo{flex:1 1 40%!important}
.orb:not([data-mode=cabin]) [data-holo]{display:none}
.orb-fx.blink.dark{background:#000}
/* drag the Earth */
.orb[data-mode=window] .orb-gl,.orb:not([data-mode]) .orb-gl{cursor:grab}
.orb.dragging .orb-gl{cursor:grabbing}
.orb-hint{position:absolute;left:50%;top:118px;transform:translate(-50%,-6px);z-index:6;padding:8px 16px;border-radius:30px;background:rgba(10,20,40,.6);border:1px solid color-mix(in srgb,var(--c) 55%,transparent);font-size:13px;letter-spacing:.04em;opacity:0;transition:.5s;pointer-events:none;backdrop-filter:blur(8px)}
.orb-hint.on{opacity:1;transform:translate(-50%,0)}
@media (max-width:820px){.orb-mid .orb-live{display:none}.orb-back span{display:none}.orb-back{padding:8px 12px}.orb-hint{top:70px;font-size:12px;width:max-content;max-width:90vw}}
/* meditate quote */
.orb-quote{position:absolute;left:50%;bottom:196px;transform:translate(-50%,10px);width:min(780px,86vw);margin:0;text-align:center;z-index:4;pointer-events:none;opacity:0;transition:opacity 3s ease,transform 3s ease}
.orb-quote blockquote{margin:0;font:italic 300 clamp(17px,1.7vw,23px)/1.35 'Cormorant Garamond',Georgia,serif;color:#f3ecdc;text-shadow:0 0 18px rgba(0,0,0,.9),0 0 3px rgba(0,0,0,.9);letter-spacing:.01em}
.orb-quote figcaption{margin-top:8px;font:500 11px/1 system-ui,sans-serif;letter-spacing:.3em;color:#cdb98a;text-transform:uppercase;text-shadow:0 0 10px #000}
.orb.q-on .orb-quote{opacity:1;transform:translate(-50%,0);transition-delay:.6s}
@media (max-width:820px){.orb-quote{bottom:auto;top:96px}}
/* earthrise: ship window HUD */
.orb-hud{position:absolute;inset:0;z-index:2;pointer-events:none;color:#3ee6d2;opacity:0;transition:opacity 1.6s ease;font:600 11px/1.35 'Orbitron','Rajdhani',system-ui,sans-serif;letter-spacing:.12em;text-shadow:0 0 8px rgba(62,230,210,.6)}
.orb[data-sky="earthrise"][data-mode="window"] .orb-hud{opacity:.9}
.hud-frame{position:absolute;inset:0;width:100%;height:100%;filter:drop-shadow(0 0 4px rgba(62,230,210,.7))}
.hud-top{position:absolute;top:12.4%;left:50%;transform:translateX(-50%);display:flex;gap:34px;align-items:flex-start;white-space:nowrap}
.hud-top>span{display:flex;flex-direction:column;align-items:center}.hud-top b{font-size:13px;color:#bff8f0}
.hud-dots{flex-direction:row!important;gap:12px;padding-top:2px}.hud-dots i{width:7px;height:7px;border-radius:50%;background:currentColor;opacity:.5;animation:hudBlink 1.6s infinite}
.hud-dots i:nth-child(2n){animation-delay:.4s}.hud-dots i:nth-child(3n){animation-delay:.9s}
@keyframes hudBlink{50%{opacity:1}}
.hud-l{position:absolute;left:4%;top:24%;width:170px;display:flex;flex-direction:column;gap:18px}
.hud-r{position:absolute;right:4%;top:24%;width:180px;display:flex;flex-direction:column;gap:18px;align-items:flex-end}
.hud-nums{font-size:10px;opacity:.85}.hud-nums.r{text-align:right}
.hud-bars{display:flex;gap:4px;align-items:flex-end;height:48px}.hud-bars i{flex:1;background:currentColor;opacity:.75;animation:hudBar 1.4s ease-in-out infinite alternate}
.hud-bars.h{height:26px;width:100%}.hud-bars i:nth-child(odd){animation-duration:.9s}.hud-bars i:nth-child(3n){animation-duration:1.9s}
@keyframes hudBar{from{height:25%}to{height:100%}}
.hud-rings{display:flex;gap:18px}.hud-rings i{width:34px;height:34px;border-radius:50%;border:6px solid currentColor;border-right-color:transparent;animation:hudSpin 6s linear infinite;opacity:.8}
.hud-rings i+i{animation-direction:reverse;animation-duration:9s}
@keyframes hudSpin{to{transform:rotate(360deg)}}
.hud-meters{display:flex;flex-direction:column;gap:7px;width:100%}.hud-meters p{margin:0;height:7px;border:1px solid currentColor}.hud-meters s{display:block;height:100%;background:currentColor;opacity:.7;transition:width 1s}
.hud-bot{position:absolute;bottom:6.2%;left:50%;transform:translateX(-50%);display:flex;flex-direction:column;align-items:center;gap:6px;white-space:pre;font-size:11px}
.hud-line{width:220px;height:6px;border:1px solid currentColor;background:linear-gradient(90deg,currentColor 60%,transparent 60%)}
.orb[data-sky="earthrise"][data-mode="window"] .orb-tuner{bottom:9.5%}
@media (max-width:820px){.hud-l,.hud-r{display:none}.hud-top{top:11%;gap:14px;font-size:10px}}
/* v9: brand always truly centered on the screen, independent of side columns */
.orb-top{position:absolute}
.orb-mid{position:absolute;left:50%;top:18px;transform:translateX(-50%);width:max-content;pointer-events:none}
.orb-mid>*{pointer-events:auto}
.orb-brand{padding-left:0;padding-top:4px;letter-spacing:.14em;margin-right:-.14em}
.orb-brand em{letter-spacing:.14em}
.orb-top{grid-template-columns:1fr 1fr}
.orb-env{justify-self:end}
@media (max-width:820px){.orb-top{grid-template-columns:1fr 1fr;padding-top:52px}.orb-mid{top:14px}.orb-brand{font-size:15px}}
.hud-top em{font-style:normal}

/* R9: moving song + artist instead of the big band name */
.orb-band{font:800 clamp(18px,2.6vw,30px) 'Orbitron';letter-spacing:.06em;max-width:min(560px,70vw);overflow:hidden;white-space:nowrap;text-align:center;-webkit-mask:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent);mask:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent)}
.orb-band .orb-mq{display:inline-flex;gap:0}.orb-band .orb-mq i{font-style:normal;padding:0 .9em}
.orb-band.scroll{text-align:left}.orb-band.scroll .orb-mq{animation:orbMq 14s linear infinite}
@keyframes orbMq{to{transform:translateX(-50%)}}
.orb-track{font-size:11px;letter-spacing:.28em;color:var(--c);text-transform:uppercase}

/* v11: quotes top-right under city/air, dock lower, brand one line */
.orb-quote{left:auto;right:26px;top:118px;bottom:auto;transform:translateY(-6px);width:min(330px,34vw);text-align:right}
.orb.q-on .orb-quote{transform:none}
.orb-quote blockquote{font-size:clamp(15px,1.25vw,18px)}
.orb-quote figcaption{font-size:10px}
@media (max-width:820px){.orb-quote{top:96px;right:14px;width:62vw}}
.orb-brand{white-space:nowrap}
@media (min-width:821px){.orb-dock{top:auto;bottom:34px;transform:none}.orb.zen .orb-dock{transform:scale(.85);transform-origin:right bottom}}


/* daylight: the right dock tucks inside the existing turquoise window frame */
@media (min-width:821px){
.orb[data-sky="earthrise"][data-mode="window"] .orb-dock{right:calc(2.5% + 22px);bottom:calc(4.4% + 18px);transform:scale(.86);transform-origin:right bottom;gap:6px}
.orb.zen[data-sky="earthrise"][data-mode="window"] .orb-dock{transform:scale(.78)}
.orb[data-sky="earthrise"][data-mode="window"] .hud-r{top:16.5%;gap:10px}
.orb[data-sky="earthrise"][data-mode="window"] .orb-quote{top:auto;right:calc(2.5% + 24px);bottom:calc(4.4% + 18px + 428px);width:min(300px,26vw)}
.orb[data-sky="earthrise"][data-mode="window"] .orb-quote blockquote{font-size:clamp(14px,1.15vw,17px);line-height:1.3}
.orb[data-sky="earthrise"][data-mode="window"] .orb-quote figcaption{margin-top:5px;font-size:10px}}
.orb .orb-cosmic{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;mix-blend-mode:screen}
.orb-row [data-sky]{flex:1 1 40%}
.orb-party{position:absolute;left:50%;top:40%;transform:translate(-50%,-50%);z-index:30;pointer-events:none;text-align:center;opacity:0;transition:opacity .4s}
.orb-party.on{opacity:1}.orb-party.out{opacity:0;transition:opacity .8s}
.pl-load{display:flex;align-items:center;gap:12px;padding:12px 18px;border-radius:999px;background:rgba(12,10,30,.78);border:1px solid rgba(255,0,200,.5);box-shadow:0 0 24px rgba(255,0,200,.35);backdrop-filter:blur(8px);transition:opacity .3s,transform .3s}
.pl-load b{font:600 12px/1 system-ui,sans-serif;letter-spacing:.2em;text-transform:uppercase;color:#ffd6f5}
.pl-load i{display:block;width:110px;height:6px;border-radius:9px;background:rgba(255,255,255,.12);overflow:hidden}
.pl-load s{display:block;height:100%;width:0;background:linear-gradient(90deg,#ff3cc8,#8b5cff,#22d3ee);animation:plbar 1.8s ease-in-out forwards}
.pl-disc{font-size:22px;animation:plspin 1s linear infinite}
.orb-party.go .pl-load{opacity:0;transform:scale(.6)}
.pl-go{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%) scale(0);white-space:nowrap;font:800 clamp(24px,3.2vw,40px)/1 system-ui,sans-serif;color:#fff;text-shadow:0 0 12px #ff3cc8,0 0 28px #8b5cff,0 3px 0 #7a1fa2;opacity:0}
.orb-party.go .pl-go{animation:plboom .7s cubic-bezier(.2,1.6,.4,1) forwards}
.pl-go em{position:absolute;left:50%;top:50%;width:9px;height:9px;border-radius:50%;opacity:0}
.orb-party.go .pl-go em{animation:plspark .9s ease-out .1s forwards}
@keyframes plbar{to{width:100%}}@keyframes plspin{to{transform:rotate(360deg)}}
@keyframes plboom{0%{opacity:0;transform:translate(-50%,-50%) scale(.2) rotate(-8deg)}60%{opacity:1;transform:translate(-50%,-50%) scale(1.15) rotate(2deg)}100%{opacity:1;transform:translate(-50%,-50%) scale(1) rotate(0)}}
@keyframes plspark{0%{opacity:1;transform:translate(-50%,-50%)}100%{opacity:0;transform:translate(calc(-50% + var(--x)),calc(-50% + var(--y))) scale(.3)}}

.orb .orb-disc{position:relative;top:auto;right:auto;flex:0 0 38px;width:38px;height:38px;margin-right:10px}
.orb-sat{display:none;width:100%;height:100%}
.orb.sister-on .orb-disc video{display:none}
.orb.sister-on .orb-sat{display:block}

/* Art of Bow logo under EN/ES — clear of left panel */
.orb-tl{gap:12px}
.orb-brandlogo{width:72px;height:72px;margin:6px 0 4px 4px;border-radius:50%;overflow:hidden;box-shadow:0 0 0 2px rgba(255,60,200,.45),0 0 22px rgba(255,60,200,.35),0 0 40px rgba(34,211,238,.2);flex-shrink:0}
.orb-brandlogo .aob-loop{width:100%;height:100%;object-fit:cover;border-radius:50%;display:block;pointer-events:none}
.orb-left{top:210px;max-height:calc(100vh - 360px)}
@media (max-width:820px){.orb-brandlogo{width:56px;height:56px;margin:4px 0}.orb-left{top:180px}}


.orb-disc{appearance:none;border:0;background:transparent;padding:0;cursor:pointer}
.orb-disc.vol-open{box-shadow:0 0 0 2px var(--c),0 0 16px color-mix(in srgb,var(--c) 55%,transparent);border-radius:50%}
.orb-songvol{display:flex;align-items:center;gap:10px;padding:6px 10px;border-radius:999px;border:1px solid color-mix(in srgb,var(--c) 45%,transparent);background:rgba(6,14,28,.72);backdrop-filter:blur(8px)}
.orb-songvol[hidden]{display:none!important}
.orb-songvol input{width:140px}
.orb-songvol .orb-mute{margin-left:0;flex:0 0 30px}


/* ── meditation mode ── */
.orb.meditating .orb-left,
.orb.meditating .orb-dock,
.orb.meditating .orb-tuner,
.orb.meditating .orb-tele,
.orb.meditating .orb-hint,
.orb.meditating .orb-quote,
.orb.meditating .orb-hud,
.orb.meditating .orb-env,
.orb.meditating .orb-tl .orb-lang,
.orb.meditating .orb-brandlogo,
.orb.meditating .orb-live,
.orb.meditating .orb-back{opacity:0!important;pointer-events:none!important;transition:opacity .9s ease}
.orb.meditating .orb-mid .orb-brand{opacity:.35;transition:opacity 1.2s}
.orb.meditating[data-mode=window] .orb-vig{background:radial-gradient(ellipse at center,rgba(255,255,255,.07) 0%,transparent 42%,rgba(0,0,8,.55) 100%);animation:none}
.orb.meditating .orb-party{display:none!important}

.orb-med{position:absolute;inset:0;z-index:12;display:grid;place-items:center;pointer-events:none;opacity:0;transition:opacity 1.1s ease}
.orb-med.on{opacity:1;pointer-events:auto}
.orb-med-glow{position:absolute;left:50%;top:48%;width:min(70vw,520px);height:min(70vw,520px);transform:translate(-50%,-50%);border-radius:50%;background:radial-gradient(circle,rgba(255,255,255,.28) 0%,rgba(255,255,255,.08) 28%,transparent 68%);pointer-events:none;filter:blur(2px);transition:opacity 1.2s}
.orb-med.session .orb-med-glow{opacity:.35}
.orb-med-breath{position:absolute;left:50%;top:50%;width:min(42vw,280px);height:min(42vw,280px);transform:translate(-50%,-50%);border-radius:50%;background:radial-gradient(circle,rgba(255,255,255,.55) 0%,rgba(255,255,255,.12) 40%,transparent 70%);opacity:0;pointer-events:none;filter:blur(1px)}
.orb-med.session .orb-med-breath{opacity:1;animation:medBreath 7.5s ease-in-out infinite}
.orb-med.end .orb-med-breath{opacity:1;animation:medBreath 7.5s ease-in-out infinite}
.orb-med.end .orb-med-glow{opacity:.35}
.orb-med.end .orb-med-leave{opacity:0!important;pointer-events:none!important}
@keyframes medBreath{0%,100%{transform:translate(-50%,-50%) scale(.72);opacity:.22}50%{transform:translate(-50%,-50%) scale(1.12);opacity:.75}}

.orb-med-end{position:relative;z-index:2;text-align:center;padding:12px 22px;max-width:min(92vw,440px);transition:opacity .9s,transform .9s}
.orb-med-end[hidden]{display:none!important}
.orb-med-end-title{margin:0 0 14px;font:300 clamp(26px,4vw,40px)/1.2 'Cormorant Garamond',Georgia,serif;color:#fff;text-shadow:0 0 28px rgba(255,255,255,.4),0 0 48px rgba(0,0,0,.5);letter-spacing:.04em}
.orb-med.end .orb-med-q{margin:0 0 26px;font-size:clamp(17px,2.6vw,24px);line-height:1.45;opacity:.92}

.orb-med-ui{position:relative;z-index:2;text-align:center;padding:12px 18px;transition:opacity .8s,transform .8s}
.orb-med.session .orb-med-ui{opacity:0;pointer-events:none;transform:translateY(-8px)}
.orb-med-q{margin:0 0 22px;font:300 clamp(22px,3.2vw,34px)/1.35 'Cormorant Garamond',Georgia,serif;color:#fff;text-shadow:0 0 24px rgba(255,255,255,.35),0 0 40px rgba(0,0,0,.6);letter-spacing:.02em}
.orb-med-opts{display:flex;gap:14px;justify-content:center;flex-wrap:wrap}
.orb-med-opts-end button{min-width:min(100%,220px)}
.orb-med-prefer{letter-spacing:.04em!important;font-size:14px!important;padding:12px 18px!important}
.orb-med-opts button{pointer-events:auto;min-width:96px;padding:12px 22px;border-radius:999px;border:1px solid rgba(255,255,255,.55);background:rgba(255,255,255,.08);color:#fff;font:600 15px 'Chakra Petch',system-ui,sans-serif;letter-spacing:.06em;backdrop-filter:blur(10px);box-shadow:0 0 18px rgba(255,255,255,.12);cursor:pointer;transition:background .25s,box-shadow .25s,transform .2s}
.orb-med-opts button:hover,.orb-med-opts button:focus-visible{background:rgba(255,255,255,.2);box-shadow:0 0 28px rgba(255,255,255,.35);outline:none;transform:translateY(-1px)}
.orb-med-leave{position:absolute;left:50%;bottom:max(28px,4vh);transform:translateX(-50%);z-index:3;pointer-events:auto;border:none;background:transparent;color:rgba(255,255,255,.72);font:500 13px 'Chakra Petch',system-ui,sans-serif;letter-spacing:.28em;text-transform:uppercase;cursor:pointer;padding:10px 16px;transition:color .25s,opacity .8s}
.orb-med-leave:hover{color:#fff}
.orb[data-mode=cabin].meditating:not(.dark) .orb-med-glow{opacity:.15}
.orb[data-mode=cabin].meditating.dark .orb-med-breath{mix-blend-mode:screen}
@media (max-width:820px){
  .orb-med-q{font-size:22px;margin-bottom:18px}
  .orb-med-opts{gap:10px}
  .orb-med-opts button{min-width:84px;padding:11px 16px;font-size:14px}
  .orb-med-leave{bottom:max(18px,3vh);letter-spacing:.2em}
}


/* silence chamber UI polish */
.orb[data-mode=cabin].meditating:not(.dark) .orb-med-leave{color:rgba(40,50,70,.55)}
.orb[data-mode=cabin].meditating:not(.dark) .orb-med-leave:hover{color:rgba(20,30,50,.9)}
.orb[data-mode=cabin].meditating:not(.dark) .orb-med-opts button{border-color:rgba(255,255,255,.7);background:rgba(255,255,255,.14);color:#fff}
.orb[data-mode=cabin].meditating .orb-med-glow{opacity:.08}
.orb[data-mode=cabin].meditating.dark .orb-med-glow{opacity:.22}
.orb-med-egg{position:absolute;left:50%;top:18%;transform:translate(-50%,-8px);z-index:3;display:flex;align-items:center;gap:10px;padding:10px 18px;border-radius:999px;background:rgba(8,14,28,.28);border:1px solid rgba(255,255,255,.25);backdrop-filter:blur(8px);color:rgba(255,255,255,.88);font:500 14px 'Chakra Petch',system-ui,sans-serif;letter-spacing:.08em;opacity:0;pointer-events:none;transition:opacity 1.6s ease,transform 1.6s ease}
.orb-med-egg.on{opacity:1;transform:translate(-50%,0)}
.orb-med-egg i{font-style:normal;font-size:18px;filter:drop-shadow(0 0 8px rgba(255,255,255,.45))}
.orb.meditating .orb-mid .orb-brand{opacity:.55;letter-spacing:.28em}
.orb.meditating .orb-mid::after{content:attr(data-med-label);display:block;margin-top:4px;font:600 10px/1 'Chakra Petch',system-ui,sans-serif;letter-spacing:.28em;color:rgba(255,255,255,.55)}
.orb.meditating[data-mode=window] .orb-mid::after{color:rgba(255,255,255,.5)}
.orb.dark.meditating[data-mode=cabin] .orb-mid::after{color:rgba(255,255,255,.4)}

/* ── OTHER WORLDS / Parallel Universes ── */
.orb-chips button.orb-worlds-chip{--fc:#c4b5fd;border-style:dashed;letter-spacing:.08em}
.orb-chips button.orb-worlds-chip.on{background:linear-gradient(135deg,#7c3aed,#67e8f9);color:#050814;border-style:solid;box-shadow:0 0 18px rgba(167,139,250,.55)}
.orb.worlds-open{--c:var(--worlds-c,#a78bfa)}
.orb.worlds-open::after{content:"";pointer-events:none;position:absolute;inset:0;z-index:1;background:radial-gradient(ellipse at 70% 20%,rgba(167,139,250,.14),transparent 55%),radial-gradient(ellipse at 20% 80%,rgba(103,232,249,.08),transparent 50%);animation:worldsPulse 6s ease-in-out infinite alternate}
@keyframes worldsPulse{from{opacity:.55}to{opacity:1}}
.orb-worlds{position:absolute;left:50%;top:50%;transform:translate(-50%,-46%) scale(.96);width:min(720px,94vw);max-height:78vh;display:flex;flex-direction:column;z-index:9;opacity:0;transition:.35s;background:linear-gradient(160deg,rgba(60,40,120,.42),rgba(20,60,100,.35));border:1px solid rgba(196,181,253,.4);backdrop-filter:blur(16px) saturate(1.35);box-shadow:0 0 40px rgba(167,139,250,.25),inset 0 0 28px rgba(125,211,252,.08);border-radius:18px}
.orb-worlds.on{opacity:1;transform:translate(-50%,-50%) scale(1)}
.orb-worlds .orb-dhead{display:flex;align-items:center;justify-content:space-between;padding:14px 16px 8px;border-bottom:1px solid rgba(196,181,253,.22)}
.orb-worlds .orb-dhead b{font:700 14px 'Orbitron';letter-spacing:.14em;color:#e9d5ff}
.orb-worlds .orb-dhead .orb-whead-btns{display:flex;gap:8px;align-items:center}
.orb-worlds .orb-dhead button{width:36px;height:36px;border-radius:50%;border:1px solid rgba(196,181,253,.4);background:rgba(0,0,0,.25);color:#e9d5ff;font-size:16px;cursor:pointer;line-height:1}
.orb-worlds .orb-dhead button:hover{border-color:rgba(196,181,253,.7);background:rgba(0,0,0,.4)}
.orb-wbody{overflow:auto;padding:12px 14px 18px;-webkit-overflow-scrolling:touch;flex:1;min-height:0}
.orb-wbody .univ-block{margin:0}
.orb-wbody .univ-title{font:800 18px 'Orbitron';letter-spacing:.1em;color:#f5e9ff;margin:4px 0 8px}
.orb-wbody .univ-kicker{font:600 10px 'Orbitron';letter-spacing:.18em;color:#c4b5fd;opacity:.9;margin:0}
.orb.zen .orb-worlds{opacity:1}

.orb-wbody .univ-links{display:none}
.orb-wbody .univ-credit{display:none}

/* meditation: soft remaining-time readout (top-right, session only) */
.orb-med-clock{position:absolute;top:max(18px,calc(env(safe-area-inset-top,0px) + 14px));right:max(20px,calc(env(safe-area-inset-right,0px) + 16px));z-index:3;pointer-events:none;font:300 14px/1 'Chakra Petch',system-ui,sans-serif;letter-spacing:.18em;font-variant-numeric:tabular-nums;color:rgba(255,255,255,.9);text-shadow:0 0 10px rgba(0,0,0,.35);opacity:0;transition:opacity 1.4s ease}
.orb-med-clock.on{opacity:.38}
.orb-med-clock[hidden]{display:none!important}
.orb-med.end .orb-med-clock,.orb-med.pick .orb-med-clock{display:none!important}
.orb[data-mode=cabin].meditating:not(.dark) .orb-med-clock{color:rgba(30,40,60,.9);text-shadow:none}
@media (max-width:599px){.orb-med-clock{font-size:12px;top:max(14px,calc(env(safe-area-inset-top,0px) + 10px));right:max(14px,calc(env(safe-area-inset-right,0px) + 12px))}}

.orb-med-extra{display:flex;flex-direction:column;align-items:center;gap:10px;margin-top:18px}
.orb-med-imm{
  padding:12px 26px;border-radius:999px;cursor:pointer;
  border:1px solid rgba(125,211,252,.6);
  background:linear-gradient(135deg,rgba(30,90,200,.5),rgba(124,58,237,.45));
  color:#e8f7ff;font:700 12px/1 Orbitron,sans-serif;letter-spacing:.14em;text-transform:uppercase;
  box-shadow:0 0 24px rgba(125,211,252,.4);
}
.orb-med-restart{
  border:none;background:transparent;color:rgba(255,255,255,.62);
  font:500 12px/1.2 "Chakra Petch",system-ui,sans-serif;letter-spacing:.12em;text-transform:uppercase;
  cursor:pointer;padding:8px 12px;text-decoration:underline;text-underline-offset:4px;
}
.orb-med-restart:hover{color:rgba(255,255,255,.9)}

/* ── v35 phones: dock is a labelled tab bar ABOVE the tuner (⚙ Vibe / ◐ Zen were hidden under it) ── */
@media (max-width:820px){
  .orb-dock{top:auto;bottom:calc(var(--orb-tuner-h,260px) + 34px);right:50%;transform:translateX(50%);
    display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;width:min(92vw,620px);padding:6px;box-sizing:border-box;flex-wrap:nowrap}
  .orb-dock .orb-holo{flex-direction:column;justify-content:center;align-items:center;gap:3px;min-width:0;min-height:48px;padding:6px 4px;text-align:center}
  .orb-dock .orb-holo i{font-size:16px;line-height:1}
  .orb-dock .orb-holo span{display:block;font-size:11px;line-height:1.15;letter-spacing:.02em;white-space:normal;overflow-wrap:anywhere}
  .orb.zen .orb-dock{transform:translateX(50%);opacity:.75}
  /* Vibe panel opens between the header and the dock, so ⚙ stays tappable to close it */
  .orb.panels-open .orb-left{top:70px;bottom:calc(var(--orb-tuner-h,260px) + var(--orb-dock-h,60px) + 42px);max-height:none;overflow:auto;-webkit-overflow-scrolling:touch}
  /* Sadhguru quote under the time / weather chips instead of on top of them */
  .orb-quote{top:162px;right:14px;width:58vw}
  .orb-quote blockquote{font-size:15px}
  .orb-quote figcaption{font-size:10px}
}
/* v35 phones: the idle fade must not make the dock disappear (it stays discoverable, just quieter) */
@media (max-width:820px){ .orb.idle:not(.meditating) .orb-dock{opacity:.82} }
/* v36 dark cabin, narrow/portrait screens (aspect < 9/8): the 'only art saves us' painting on the left wall is
   out of the camera frame, so the motto is shown as a small plaque in the same pixel-sunset style */
.orb-cabmotto{display:none}
@media (max-aspect-ratio:9/8){
  .orb.show.dark[data-mode="cabin"]:not(.chill-clean):not(.meditating):not(.panels-open):not(.worlds-open) .orb-cabmotto{display:block}
}
.orb-cabmotto{position:absolute;left:50%;transform:translateX(-50%);bottom:calc(var(--orb-tuner-h,260px) + 52px);z-index:4;margin:0;
  max-width:88vw;padding:9px 16px 8px;border:2px solid #c9a24a;border-radius:3px;pointer-events:none;white-space:nowrap;
  background:linear-gradient(180deg,#1a0f3a 0%,#4b1f7a 45%,#b8407e 78%,#f9a05a 100%);box-shadow:0 0 18px rgba(232,104,106,.35),inset 0 0 0 1px rgba(0,0,0,.35);
  font:700 13px/1.2 "Courier New",ui-monospace,monospace;letter-spacing:.14em;text-transform:uppercase;color:#fff4d6;text-shadow:2px 2px 0 #1a0f3a}
@media (max-width:820px){ .orb-cabmotto{bottom:calc(var(--orb-tuner-h,260px) + var(--orb-dock-h,60px) + 52px)} }
.orb button:focus-visible,
.orb input:focus-visible,
.orb summary:focus-visible {
  outline: 2px solid #f0d78c;
  outline-offset: 3px;
}

/* Phone cabin (≤900px): action bar stays off the window until a flick or the handle.
   Desktop (>900px) is untouched. No caption — the line is the only affordance. */
.orb-dock-handle{
  display:none;
  position:absolute;
  left:50%;
  z-index:6;
  width:88px;
  height:28px;
  margin:0;
  padding:0;
  border:0;
  border-radius:99px;
  background:transparent;
  transform:translateX(-50%);
  cursor:pointer;
  touch-action:manipulation;
  -webkit-tap-highlight-color:transparent;
}
.orb-dock-handle i{
  width:40px;
  height:3px;
  border-radius:99px;
  background:rgba(186,230,253,.72);
  box-shadow:0 0 6px rgba(125,211,252,.95), 0 0 14px rgba(167,139,250,.45);
  pointer-events:none;
}
@media (max-width:900px){
  .orb.show[data-mode=cabin] .orb-dock{
    transition:opacity .4s ease, transform .4s ease, translate .4s ease;
  }
  /* :focus-visible only — a tap must not pin the bar open (zen stays clear). */
  .orb.show[data-mode=cabin]:not(.dock-reveal):not(.panels-open) .orb-dock:not(:has(:focus-visible)){
    opacity:0;
    translate:0 18px;
    pointer-events:none;
  }
  .orb.show[data-mode=cabin].dock-reveal .orb-dock,
  .orb.show[data-mode=cabin].panels-open .orb-dock,
  .orb.show[data-mode=cabin] .orb-dock:has(:focus-visible){
    opacity:1;
    translate:0 0;
    pointer-events:auto;
  }
  .orb.show[data-mode=cabin]:not(.meditating):not(.worlds-open) .orb-dock-handle{
    display:grid;
    place-items:center;
    bottom:calc(var(--orb-tuner-h, 260px) + 28px);
    visibility:hidden;
    opacity:0;
    pointer-events:none;
    transition:opacity .4s ease;
  }
  .orb.show[data-mode=cabin]:not(.meditating):not(.worlds-open):not(.dock-reveal):not(.panels-open):not(:has(.orb-dock :focus-visible)) .orb-dock-handle{
    visibility:visible;
    opacity:.85;
    pointer-events:auto;
  }
  .orb.show[data-mode=cabin]:not(.dock-reveal):not(.panels-open) .orb-cabmotto{
    bottom:calc(var(--orb-tuner-h, 260px) + 36px);
  }
}
@media (max-width:900px) and (prefers-reduced-motion:reduce){
  .orb.show[data-mode=cabin] .orb-dock,
  .orb-dock-handle{transition:none}
}

/* Rating pill replaces the old band caption. CC BY sits under the title. */
.orb-dial{margin:2px 0 0}
.orb-band{line-height:1.28;padding-bottom:2px}
.orb-rate{display:flex;flex-direction:column;align-items:center;gap:3px;margin:0 0 4px}
.orb-rate-pill{
  display:inline-flex;align-items:center;gap:6px;min-height:22px;padding:2px 10px 2px 12px;border-radius:999px;
  border:1px solid rgba(251,191,36,.75);
  background:linear-gradient(180deg,rgba(120,72,8,.62),rgba(48,24,0,.5));
  box-shadow:0 0 14px rgba(251,191,36,.45),inset 0 0 8px rgba(251,191,36,.18);
  color:#fbbf24;
}
.orb-rate-word{font:700 10px/1 'Orbitron',sans-serif;letter-spacing:.16em}
.orb-stars{display:inline-flex;gap:0}
.orb-stars .aob-star{
  appearance:none;border:0;background:transparent;color:rgba(251,191,36,.38);
  font:16px/1 'Chakra Petch',sans-serif;padding:0 1px;min-width:16px;min-height:22px;cursor:pointer;
}
.orb-stars .aob-star.is-on{color:#fbbf24;text-shadow:0 0 6px rgba(251,191,36,.85)}
.orb-rate-thanks{margin:0;min-height:0;font:600 11px/1.2 'Chakra Petch',sans-serif;letter-spacing:.06em;color:#fbbf24}
.orb-rate-thanks:empty{display:none}
.orb-cc{
  display:inline-flex;align-items:center;justify-content:center;height:15px;margin:4px auto 11px;padding:0 7px;
  border-radius:999px;border:1px solid rgba(154,171,152,.38);background:transparent;color:#9aab98;
  font:600 9px/15px 'Orbitron',sans-serif;letter-spacing:.06em;text-decoration:none;
  box-shadow:none;text-shadow:none;
}
.orb-cc:hover,.orb-cc:focus-visible{color:#c5d4c3;border-color:rgba(154,171,152,.7)}
.orb-chips{margin-top:8px}
.orb-cc:not([hidden]) + .orb-chips{margin-top:0}

/* Short desktops: SONIDOS DE LA NAVE stays inside the left panel, clear of the tuner. */
@media (min-width:821px) and (max-height:900px){
  .orb:not([data-mode="cabin"]) .orb-left{
    top:186px;
    max-height:calc(100vh - 186px - 108px);
    overflow-x:hidden;
    overflow-y:auto;
  }
  .orb:not([data-mode="cabin"]) .orb-left h6{margin:7px 0 4px}
  .orb:not([data-mode="cabin"]) .orb-left .orb-opt{padding:5px 8px}
  .orb:not([data-mode="cabin"]) .orb-left .orb-snd{margin-top:6px}
}

/* TV: the earth and the console stay. Infinite HUD motion does not. */
.orb.orb-tv .orb-live i,
.orb.orb-tv .orb-brand,
.orb.orb-tv .hud-dots i,
.orb.orb-tv .hud-bars i,
.orb.orb-tv .hud-bars.h i,
.orb.orb-tv .orb-play,
.orb.orb-tv .ufo-ico{
  animation:none;
}
