/* ORBITAL tab (CJ 10/13): Kessler cascade sandbox. Accent: orbital violet. Rail button, panel, HUD strip, hover tip. */
:root{--orb:#8a7dff;--orb2:#c3bbff;--orb-hot:#ffcf7a;--orb-frag:#ff7a45}
html[data-theme="light"]{--orb:#5640d6;--orb2:#4330b8;--orb-hot:#8a5200;--orb-frag:#b8401a}
#rail button.orbital-rail{color:var(--orb2)}
#rail button.orbital-rail.on{color:var(--m-hi,#fff);border-left-color:var(--orb);background:color-mix(in srgb,var(--orb) 12%,transparent)}
#catstrip button.orbital-strip.on{color:var(--m-hi,#fff)}

.orb{display:flex;flex-direction:column;gap:9px}
.orb .lp-head small{font-size:9px;letter-spacing:.16em;color:var(--dim)}
.orb-note{font-size:10px;line-height:1.55;letter-spacing:.06em;color:var(--dim);border-left:2px solid var(--line);padding:6px 0 6px 9px}
.orb-note.sm{font-size:9px;padding:3px 0 3px 8px}
.orb-note.bad{color:var(--red2);border-left-color:var(--red)}
.orb-h5{font-size:9px;letter-spacing:.26em;color:var(--orb);font-weight:400;margin-top:4px;display:flex;justify-content:space-between;gap:8px}
.orb-h5 span{color:var(--mute);letter-spacing:.12em}
.orb-none{font-size:9px;letter-spacing:.12em;color:var(--mute);padding:4px 2px}

/* risk meter */
.orb-risk{--rk:#4dffb8;display:flex;flex-direction:column;gap:4px;padding:9px 10px;border:1px solid color-mix(in srgb,var(--rk) 40%,transparent);background:color-mix(in srgb,var(--rk) 7%,transparent);clip-path:polygon(0 0,calc(100% - 10px) 0,100% 10px,100% 100%,0 100%)}
.or-h{display:flex;justify-content:space-between;align-items:baseline;gap:8px}
.or-h i{font-style:normal;font-size:9px;letter-spacing:.24em;color:var(--dim)}
.or-h b{font:700 15px/1 var(--hd);letter-spacing:.2em;color:var(--rk);text-shadow:0 0 12px color-mix(in srgb,var(--rk) 55%,transparent)}
.orb-risk u{text-decoration:none;display:block;height:8px;border:1px solid var(--line2);background:var(--m-well,rgba(0,0,0,.4));padding:1px;position:relative}
.orb-risk u::after{content:"";position:absolute;inset:1px;background:repeating-linear-gradient(90deg,transparent 0 calc(20% - 1px),var(--line) calc(20% - 1px) 20%);pointer-events:none}
.orb-risk u b{display:block;height:100%;width:0;background:linear-gradient(90deg,color-mix(in srgb,var(--rk) 55%,transparent),var(--rk));box-shadow:0 0 10px color-mix(in srgb,var(--rk) 60%,transparent);transition:width .35s}
.orb-risk em{font-style:normal;font-size:9px;letter-spacing:.12em;color:var(--m-ink2,var(--dim))}

/* stats */
.orb-grid{display:grid;grid-template-columns:1fr 1fr;gap:4px}
.orb-s{border:1px solid var(--line2);padding:6px 9px;display:flex;flex-direction:column;gap:1px;background:var(--m-wash)}
.orb-s b{font:600 18px/1 var(--hd);letter-spacing:.06em;color:var(--cy2);font-variant-numeric:tabular-nums}
.orb-s span{font-size:9px;letter-spacing:.16em;color:var(--dim)}
.orb-s.hot b{color:var(--orb-hot)}.orb-s.lost b{color:var(--m-red-hi,#ff8a94)}
.orb-clock{display:flex;align-items:baseline;gap:8px;font-size:9px;letter-spacing:.14em;color:var(--dim);border-bottom:1px solid var(--line2);padding:0 0 6px}
.orb-clock b{font:600 14px/1 var(--hd);letter-spacing:.08em;color:var(--orb2);font-variant-numeric:tabular-nums}
.orb-clock em{font-style:normal;margin-left:auto;color:var(--mute)}

/* search + target */
.orb-srch{display:flex;flex-direction:column;gap:3px}
.orb-srch input{width:100%;font:inherit;font-size:11px;letter-spacing:.08em;color:var(--ink);background:var(--field,#01070d);border:1px solid var(--line);padding:8px 10px;outline:none}
.orb-srch input:focus{border-color:var(--orb);box-shadow:0 0 0 1px color-mix(in srgb,var(--orb) 40%,transparent)}
.orb-srch input::placeholder{color:var(--mute);font-size:9.5px}
.orb-res{display:flex;flex-direction:column;gap:2px}
.orb-res button{display:flex;flex-direction:column;gap:1px;text-align:left;padding:5px 9px;border:1px solid var(--line2);border-left:2px solid var(--orb);background:var(--m-wash)}
.orb-res button:hover{background:color-mix(in srgb,var(--orb) 12%,transparent)}
.orb-res b{font-size:10.5px;letter-spacing:.1em;color:var(--ink);font-weight:400}
.orb-res span{font-size:9px;letter-spacing:.1em;color:var(--mute)}
.orb-res .gone{opacity:.5;border-left-color:var(--faint)}
.orb-tgt{--k:#7f8ea3;display:flex;flex-direction:column;gap:7px;padding:9px 10px;border:1px solid color-mix(in srgb,var(--orb) 40%,transparent);border-left:3px solid var(--k);background:color-mix(in srgb,var(--orb) 6%,transparent)}
.orb-tgt.none{font-size:9px;letter-spacing:.16em;color:var(--mute);border-left-color:var(--faint);background:var(--m-wash)}
.orb-tgt.gone{border-left-color:var(--red);opacity:.85}
.ot-h{display:flex;justify-content:space-between;gap:8px;align-items:baseline}
.ot-h b{font:600 14px/1.15 var(--hd);letter-spacing:.12em;color:var(--m-hi,#fff)}
.ot-h em{font-style:normal;font-size:9px;letter-spacing:.16em;color:color-mix(in srgb,var(--k) var(--hue-mix,100%),var(--hue-base,#fff));flex:none}
.orb-tgt.gone .ot-h em{color:var(--red2)}
.orb-tgt dl{display:grid;grid-template-columns:auto 1fr auto 1fr;gap:2px 8px;font-size:9.5px;letter-spacing:.08em}
.orb-tgt dt{color:var(--dim)}.orb-tgt dd{color:var(--m-hi,#fff);font-variant-numeric:tabular-nums}

/* segmented pickers + settings */
.orb-set{display:flex;flex-direction:column;gap:4px}
.orb-set>span{font-size:9px;letter-spacing:.18em;color:var(--dim)}
.orb-set small{font-size:9px;letter-spacing:.06em;color:var(--mute);line-height:1.4}
.orb-seg{display:flex;gap:2px}
.orb-seg button{flex:1;font-size:9px;letter-spacing:.12em;padding:6px 4px;border:1px solid var(--line2);color:var(--dim);background:var(--m-wash)}
.orb-seg button:hover{color:var(--m-hi,#fff);border-color:var(--dim)}
.orb-seg button.on{color:var(--on-accent);background:var(--orb);border-color:var(--orb);font-weight:600}
.orb-tg .tl b{font-size:9.5px;letter-spacing:.12em}.orb-tg .tl small{font-size:10px}

/* buttons */
.orb-go{display:flex;flex-direction:column;gap:5px}
.orb-go.two{flex-direction:row}.orb-go.two>button{flex:1}
.orb-go>button{padding:9px 12px;border:1px solid var(--orb);color:var(--m-hi,#fff);background:color-mix(in srgb,var(--orb) 14%,transparent);font-size:10.5px;letter-spacing:.18em;transition:.15s}
.orb-go>button:hover{background:color-mix(in srgb,var(--orb) 28%,transparent);box-shadow:0 0 16px color-mix(in srgb,var(--orb) 32%,transparent)}
.orb-go>button.fire{border-color:var(--orb-frag);background:color-mix(in srgb,var(--orb-frag) 18%,transparent);animation:orbpulse 1.6s infinite}
.orb-go>button.fire:hover{background:color-mix(in srgb,var(--orb-frag) 32%,transparent)}
.orb-go>button.ghost{border-color:var(--line);background:none;color:var(--dim)}
.orb-go>button.ghost:hover{color:var(--m-hi,#fff);box-shadow:none;background:var(--hover)}
@keyframes orbpulse{50%{box-shadow:0 0 20px color-mix(in srgb,var(--orb-frag) 50%,transparent)}}

/* scenarios */
.orb-scn{display:flex;flex-direction:column;gap:4px}
.orb-sc{display:flex;flex-direction:column;gap:3px;text-align:left;padding:8px 10px;border:1px solid var(--line2);border-left:3px solid var(--orb);background:var(--m-wash);transition:.15s}
.orb-sc:hover{background:color-mix(in srgb,var(--orb) 11%,transparent);border-color:color-mix(in srgb,var(--orb) 45%,transparent)}
.orb-sc b{font-size:11px;letter-spacing:.16em;color:var(--m-hi,#fff);font-weight:400}
.orb-sc small{font-size:10px;line-height:1.45;color:var(--m-ink2,var(--dim));letter-spacing:.02em}
.orb-sc em{font-style:normal;font-size:9px;letter-spacing:.1em;color:var(--orb2)}

/* shell density */
.orb-bands{display:flex;flex-direction:column;gap:3px}
.ob-r{display:grid;grid-template-columns:62px 1fr 62px;gap:6px;align-items:center;font-size:9px;letter-spacing:.06em}
.ob-r i{font-style:normal;color:var(--dim);font-variant-numeric:tabular-nums}
.ob-r u{text-decoration:none;display:flex;height:9px;background:var(--m-well,rgba(0,0,0,.4));border:1px solid var(--line2);overflow:hidden}
.ob-r u b{display:block;height:100%;flex:none;transition:width .35s}
.ob-r u b.i{background:color-mix(in srgb,var(--orb) 75%,transparent)}
.ob-r u b.d{background:#a07c5a}
.ob-r u b.f{background:linear-gradient(90deg,var(--orb-frag),#ffcf7a);box-shadow:0 0 6px var(--orb-frag)}
.ob-r em{font-style:normal;color:var(--m-hi,#fff);text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}
.ob-r em s{text-decoration:none;color:var(--orb-hot);margin-left:3px}
.orb-leg{display:flex;flex-wrap:wrap;gap:3px 10px;font-size:9px;letter-spacing:.1em;color:var(--mute)}
.orb-leg span{display:flex;align-items:center;gap:4px}
.orb-leg i{width:8px;height:8px;flex:none}
.orb-leg .i i{background:var(--orb)}.orb-leg .d i{background:#a07c5a}.orb-leg .f i{background:var(--orb-frag)}

/* log */
.orb-log{display:flex;flex-direction:column;gap:2px;max-height:220px;overflow:auto;scrollbar-width:thin;scrollbar-color:var(--faint) transparent}
.ol{display:grid;grid-template-columns:66px 1fr;gap:6px;font-size:9px;line-height:1.45;letter-spacing:.04em;color:var(--m-ink2,var(--dim));padding:2px 0;border-bottom:1px solid var(--m-wash2)}
.ol i{font-style:normal;color:var(--mute);font-variant-numeric:tabular-nums}
.ol.op span{color:var(--orb-hot)}.ol.coll span{color:var(--m-red-hi,#ff8a94)}.ol.info span{color:var(--orb2)}

/* ---------- HUD strip (visible while the sandbox is engaged, panel open or folded) ---------- */
#orb-hud{--rk:#4dffb8;position:fixed;z-index:9;left:50%;transform:translateX(-50%);top:calc(var(--topy) + var(--toph) + 14px);display:flex;flex-direction:column;align-items:center;gap:3px;pointer-events:none}
body.l-open #orb-hud{left:calc(50% + 150px)}
body:has(#sim-hud:not([hidden])) #orb-hud{top:calc(var(--topy) + var(--toph) + 70px)}
#orb-hud>*{pointer-events:auto}
.oh-row{display:flex;align-items:stretch;background:var(--glass2);border:1px solid color-mix(in srgb,var(--orb) 38%,transparent);backdrop-filter:blur(8px);box-shadow:var(--m-shadow);clip-path:polygon(0 0,calc(100% - 10px) 0,100% 10px,100% 100%,10px 100%,0 calc(100% - 10px))}
.oh-c,.oh-x{padding:5px 11px 4px;display:flex;flex-direction:column;align-items:center;gap:1px;border-left:1px solid var(--line2)}
.oh-x{border-left:0;align-items:flex-start;min-width:112px}
.oh-x:hover{background:color-mix(in srgb,var(--orb) 14%,transparent)}
.oh-row b{font:600 15px/1.1 var(--hd);letter-spacing:.08em;color:var(--cy2);font-variant-numeric:tabular-nums;white-space:nowrap}
.oh-row span{font-size:9px;letter-spacing:.16em;color:var(--dim);white-space:nowrap}
.oh-x b{color:var(--orb2);font-size:13px}
.oh-c.lost b{color:var(--m-red-hi,#ff8a94)}
.oh-r{display:flex;flex-direction:column;justify-content:center;gap:4px;padding:4px 10px;border-left:1px solid var(--line2);min-width:118px}
.oh-r i{font-style:normal;font-size:9px;letter-spacing:.16em;color:var(--rk);white-space:nowrap}
.oh-r u{text-decoration:none;display:block;height:5px;background:var(--m-well,rgba(0,0,0,.4));border:1px solid var(--line2)}
.oh-r u b{display:block;height:100%;width:0;background:var(--rk);box-shadow:0 0 8px var(--rk);transition:width .35s}
.oh-sp{display:flex;align-items:center;gap:2px;padding:4px 6px;border-left:1px solid var(--line2)}
.oh-sp button{font-size:9px;letter-spacing:.08em;padding:4px 7px;border:1px solid var(--line2);color:var(--dim);min-width:30px}
.oh-sp button:hover{color:var(--m-hi,#fff);border-color:var(--dim)}
.oh-sp button.on{color:var(--on-accent);background:var(--orb);border-color:var(--orb);font-weight:600}
.oh-exit{padding:4px 12px;border-left:1px solid var(--line2);font-size:9px;letter-spacing:.2em;color:var(--dim)}
.oh-exit:hover{color:var(--m-hi,#fff);background:var(--red-bg)}
.oh-t{display:flex;align-items:center;gap:9px;font-size:9px;letter-spacing:.14em;color:var(--ink);background:var(--m-solid,var(--glass2));border:1px solid color-mix(in srgb,var(--orb) 50%,transparent);padding:3px 4px 3px 10px;max-width:calc(100vw - 2 * var(--g))}
.oh-t em{font-style:normal;color:var(--orb2);flex:none}
.oh-t span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.oh-t button{flex:none;font-size:9px;letter-spacing:.14em;padding:4px 9px;border:1px solid var(--orb-frag);color:var(--m-hi,#fff);background:color-mix(in srgb,var(--orb-frag) 22%,transparent)}
.oh-t button:hover{background:color-mix(in srgb,var(--orb-frag) 40%,transparent)}
.oh-t button[hidden]{display:none}

/* hover tip */
#orb-tip{position:fixed;z-index:30;pointer-events:none;padding:6px 10px;background:var(--glass2);border:1px solid color-mix(in srgb,var(--orb) 45%,transparent);border-left:2px solid var(--orb);display:flex;flex-direction:column;gap:2px;max-width:290px;box-shadow:var(--m-shadow)}
#orb-tip b{font-size:11px;letter-spacing:.1em;color:var(--m-hi,#fff);font-weight:400}
#orb-tip small{font-size:9px;letter-spacing:.12em;color:var(--dim)}

@media (max-width:1180px){ .oh-c:nth-child(5){display:none} }
@media (min-width:761px) and (max-width:1180px){
  body.l-open #orb-hud{left:calc(var(--railw) + var(--g) + var(--lw) + 24px);right:var(--g);transform:none}
  body.l-open .oh-row{flex-wrap:wrap}
  body.l-open .oh-sp{flex:1 1 100%;border-left:0;border-top:1px solid var(--line2);justify-content:space-between}
}
@media (min-width:1181px) and (min-height:501px){
  body.l-open.r-open #orb-hud{left:calc(var(--railw) + var(--g) + var(--lw) + 24px);right:calc(var(--rw) + var(--g) + 12px);transform:none}
  body.l-open.r-open .oh-row{flex-wrap:wrap}
  body.l-open.r-open .oh-sp{flex:1 1 100%;border-left:0;border-top:1px solid var(--line2);justify-content:space-between}
}
@media (min-width:761px) and (min-height:501px){body:has(#qs:not([hidden])) #orb-hud{top:calc(var(--topy) + var(--toph) + 54px)}}
/* phones: HUD spans the top in two rows (counters, then speeds), replaces the data strip like SIM's; panel is the shared bottom sheet */
@media (max-width:760px), (max-height:500px) and (pointer:coarse){
  #orb-hud{left:var(--g);right:var(--g);transform:none;top:calc(var(--topy) + var(--toph) + 6px);align-items:stretch}
  body.l-open #orb-hud{left:var(--g)}
  .oh-row{flex-wrap:wrap}
  .oh-c{padding:5px 6px 4px;flex:1 1 0;min-width:0}.oh-x{flex:1.2 1 0;min-width:0;overflow:hidden}
  .oh-x b{font-size:12px}.oh-x span{max-width:100%;overflow:hidden;text-overflow:ellipsis}
  .oh-c:nth-child(5){display:none}
  .oh-r{flex:1 1 0;min-width:84px;padding:4px 8px}
  .oh-sp{flex:1 1 auto;border-left:0;border-top:1px solid var(--line2);justify-content:space-between;padding:4px 6px}
  .oh-sp button{min-height:34px;flex:1;font-size:10px}
  .oh-exit{border-top:1px solid var(--line2);min-height:34px}
  .oh-t{max-width:none}
  body:has(#orb-hud:not([hidden])) #hud{visibility:hidden}
  .orb-log{max-height:160px}
  #orb-tip{display:none}
}
@media (max-height:500px) and (pointer:coarse){
  .oh-row{flex-wrap:nowrap}.oh-sp{border-top:0;border-left:1px solid var(--line2)}.oh-sp button{flex:none;min-width:40px}.oh-exit{border-top:0}
}
@media (pointer:coarse){
  .orb-go>button,.orb-sc,.orb-res button{min-height:44px}
  .orb-seg button{min-height:40px}
  .oh-sp button,.oh-exit,.oh-t button{min-height:40px;min-width:40px}.oh-x{min-height:44px}
  .orb-srch input{min-height:44px;font-size:16px}
}
:is(.orb-go button,.orb-seg button,.orb-sc,.orb-res button,.oh-sp button,.oh-x,.oh-exit,.oh-t button):focus-visible{outline:2px solid var(--orb);outline-offset:1px}
/* light theme: risk and category hues are data; text uses them pulled toward ink */
html[data-theme="light"] .or-h b{text-shadow:none;color:color-mix(in srgb,var(--rk) 45%,var(--ink))}
html[data-theme="light"] .oh-r i{color:color-mix(in srgb,var(--rk) 45%,var(--ink))}
html[data-theme="light"] :is(.oh-r u b,.orb-risk u b,.ob-r u b.f){box-shadow:none}
html[data-theme="light"] .orb-risk{background:color-mix(in srgb,var(--rk) 9%,var(--panel2))}
html[data-theme="light"] .orb-go>button,html[data-theme="light"] .oh-t button{color:var(--ink)}
@media (prefers-reduced-motion:reduce){.orb-go>button.fire{animation:none}}

/* ---------- first-open onboarding (CJ 10/14: "confusing until you pick an object and trigger it") ---------- */
.orb-intro{display:flex;flex-direction:column;gap:8px;padding:10px 11px 9px;border:1px solid color-mix(in srgb,var(--orb) 45%,transparent);border-left:3px solid var(--orb);background:linear-gradient(135deg,color-mix(in srgb,var(--orb) 13%,transparent),transparent 70%);clip-path:polygon(0 0,calc(100% - 12px) 0,100% 12px,100% 100%,0 100%)}
.oi-lead{font-size:11px;line-height:1.5;letter-spacing:.02em;color:var(--ink)}
.oi-lead b{color:var(--m-hi,#fff);font-weight:600;letter-spacing:.06em}
.oi-lead>b:first-child{display:block;font:700 12.5px/1.2 var(--hd);letter-spacing:.18em;color:var(--orb2);margin-bottom:3px}
.oi-steps{list-style:none;display:flex;flex-direction:column;gap:4px}
.oi-steps li{display:flex;align-items:flex-start;gap:8px;font-size:10.5px;line-height:1.4;color:var(--m-ink2,var(--dim))}
.oi-steps i{font:700 11px/18px var(--hd);font-style:normal;width:18px;height:18px;flex:none;text-align:center;color:var(--on-accent);background:var(--orb)}
.oi-steps b{color:var(--m-hi,#fff);font-weight:600;letter-spacing:.12em}
.orb-quick{display:flex;flex-direction:column;align-items:center;gap:1px;padding:11px 12px 10px;border:1px solid var(--orb-frag);background:linear-gradient(180deg,color-mix(in srgb,var(--orb-frag) 34%,transparent),color-mix(in srgb,var(--orb-frag) 14%,transparent));color:var(--m-hi,#fff);animation:orbpulse 1.6s infinite;transition:.15s}
.orb-quick b{font:700 10px/1 var(--mono);letter-spacing:.3em;color:var(--orb-hot);font-weight:400}
.orb-quick span{font:700 18px/1.15 var(--hd);letter-spacing:.2em}
.orb-quick:hover{background:color-mix(in srgb,var(--orb-frag) 45%,transparent)}
.orb-quick:disabled{animation:none;opacity:.55;cursor:progress;border-color:var(--line)}
.oi-link{align-self:center;font-size:9px;letter-spacing:.18em;color:var(--dim);padding:4px 8px}
.oi-link:hover{color:var(--m-hi,#fff)}
.orb-intro.sm{flex-direction:row;align-items:center;gap:8px;padding:6px 6px 6px 10px;clip-path:none}
.orb-intro.sm>span{flex:1;font-size:9px;letter-spacing:.16em;color:var(--orb2)}
.orb-intro.sm .oi-link{border:1px solid var(--line);align-self:auto}

/* step banner: the one thing to do next (same content as the HUD's second row) */
.orb-step,.oh-t{--sc:var(--orb)}
.orb-step{display:flex;align-items:center;gap:8px;padding:7px 6px 7px 10px;border:1px solid color-mix(in srgb,var(--sc) 50%,transparent);border-left:3px solid var(--sc);background:color-mix(in srgb,var(--sc) 9%,transparent)}
.orb-step em,.oh-t em{font-style:normal;font:700 11px/1 var(--hd);letter-spacing:.2em;color:var(--sc);flex:none}
.orb-step span{flex:1;font-size:9.5px;line-height:1.4;letter-spacing:.1em;color:var(--ink)}
.orb-step button,.oh-t button{flex:none;font-size:9px;letter-spacing:.14em;padding:6px 10px;border:1px solid var(--sc);color:var(--m-hi,#fff);background:color-mix(in srgb,var(--sc) 24%,transparent)}
.orb-step button:hover,.oh-t button:hover{background:color-mix(in srgb,var(--sc) 42%,transparent)}
.orb-step button[hidden],.oh-t button[hidden]{display:none}
.orb-step button:disabled,.oh-t button:disabled{opacity:.5;cursor:progress}
:is(.orb-step,.oh-t)[data-st="s1"]{--sc:var(--orb)}
:is(.orb-step,.oh-t)[data-st="s2"]{--sc:var(--orb-frag)}
:is(.orb-step,.oh-t)[data-st="w"]{--sc:var(--cy)}
:is(.orb-step,.oh-t)[data-st="c"]{--sc:var(--red)}
:is(.orb-step,.oh-t)[data-st="err"]{--sc:var(--red)}
:is(.orb-step,.oh-t)[data-st="s2"] button{animation:orbpulse 1.6s infinite}
.oh-t{border-color:color-mix(in srgb,var(--sc) 55%,transparent);border-left:3px solid var(--sc)}

/* plain-words captions under the readouts */
.orb-s small{font-size:9px;letter-spacing:.06em;line-height:1.3;color:var(--mute);margin-top:2px}
.orb-risk .cap{font-size:9px;letter-spacing:.06em;line-height:1.4;color:var(--mute)}
.orb-tgt.none{display:flex;flex-direction:column;gap:6px}
.orb-tgt.none>span{font-size:9px;letter-spacing:.16em;color:var(--mute)}
.orb-tgt .why{font-size:9px;letter-spacing:.08em;line-height:1.4;color:var(--orb2)}
.orb-go>button.fire:disabled{animation:none;opacity:.42;cursor:not-allowed;border-color:var(--line);background:none;color:var(--dim)}

@media (max-width:760px), (max-height:500px) and (pointer:coarse){
  .orb-intro{padding:8px 9px;gap:6px}
  .oi-lead{font-size:10.5px}
  .oi-steps li{font-size:10px}
  .orb-quick span{font-size:16px}
  .oh-t{flex-wrap:nowrap}
  .oh-t span{font-size:9px;white-space:normal;line-height:1.3;overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}
}
@media (pointer:coarse){.orb-quick{min-height:56px}.orb-step button,.oh-t button{min-height:40px}.oi-link{min-height:36px}}
@media (prefers-reduced-motion:reduce){.orb-quick,:is(.orb-step,.oh-t)[data-st="s2"] button{animation:none}}
html[data-theme="light"] .orb-quick b{color:var(--orb-hot)}
html[data-theme="light"] .orb-quick,html[data-theme="light"] :is(.orb-step,.oh-t) button{color:var(--ink)}
html[data-theme="light"] .oi-steps i{color:#fff}
:is(.orb-quick,.oi-link):focus-visible{outline:2px solid var(--orb);outline-offset:1px}
/* the shared toast lands exactly on the HUD's step row on desktop: slide the row under it while a toast shows */
@media (min-width:761px) and (min-height:501px){
  #orb-hud .oh-t{transition:transform .2s ease-out}
  body:has(#toast:not([hidden])) #orb-hud .oh-t{transform:translateY(50px)}
}

/* ---------- ALL ORBITAL SYSTEMS master switch (CJ 10/14, same block as UAP's #uap-master) ---------- */
#orbital-master{margin:2px 0 0}
.orb-off{display:flex;flex-direction:column;gap:3px;padding:8px 10px;border:1px dashed var(--line);border-left:3px solid var(--mute);background:var(--m-wash)}
.orb-off b{font:700 12px/1.1 var(--hd);letter-spacing:.2em;color:var(--m-hi,#fff)}
.orb-off span{font-size:10px;line-height:1.45;letter-spacing:.03em;color:var(--dim)}
:is(.orb-step,.oh-t)[data-st="off"]{--sc:var(--mute)}
.orb.sys-off :is(.orb-risk,.orb-grid,.orb-bands,.orb-clock){opacity:.55;filter:saturate(.4)}
@media (max-width:760px), (max-height:500px) and (pointer:coarse){ #orbital-master .seg button{min-height:34px} }
@media (pointer:coarse){ #orbital-master .seg button{min-height:44px;min-width:64px} }
#orbital-master .seg button:focus-visible{outline:2px solid var(--cy);outline-offset:1px}
