/* ── THE BLUEPRINT MACHINE · MISSION CONTROL skin ─────────────────────
   GPT's look, built properly: ink-green housing, phosphor #baff70, orange
   needles, cream type, DM Mono labels, SVG instruments with real ticks, a
   reactor core, and a housing that floats. Layered after forge.css. Same
   engine, same ids. */
[data-oz]{
  --ink:#101714; --bg:#0a100e; --green:#baff70; --green2:#9fdf78; --green-deep:#577a35; --muted:#8b9b8f; --line:#35443a;
  --cream:#f3edda; --cream2:#e5eddd; --orange:#ff8d53; --orange2:#ec683d; --panel:#111b15; --panel-bd:#485348; --housing-bd:#697064;
  --mono:'DM Mono','JetBrains Mono',monospace; --fu:'Space Grotesk',sans-serif;
  --fd:'Space Grotesk',sans-serif;
  /* the oz mechanics reuse these */
  --brass:var(--green); --brass-hi:#daffad; --brass-lo:var(--green-deep); --brass-deep:#2f4a1c; --chrome:#d7dccc; --chrome-lo:#606e61;
  --bulb:var(--green); --red:var(--orange); --red-deep:#692b1b;
  --text:var(--cream); --dim:#acb6ad; --faint:#71816f; --acc1:var(--green); --acc1-deep:var(--green-deep); --hair:var(--line);
  --bp:#e7e9d7; --bp-ink:#1e3226;
}
[data-oz] html,[data-oz] body{background:var(--bg)}
[data-oz] body{color:var(--cream);font-family:var(--fu)}
[data-oz] body::before{ /* drifting starfield */
  background:
    radial-gradient(1.5px 1.5px at 12% 22%,rgba(243,237,218,.55),transparent 60%),
    radial-gradient(1px 1px at 68% 12%,rgba(243,237,218,.4),transparent 60%),
    radial-gradient(1.5px 1.5px at 84% 64%,rgba(186,255,112,.35),transparent 60%),
    radial-gradient(1px 1px at 34% 78%,rgba(243,237,218,.4),transparent 60%),
    radial-gradient(1px 1px at 52% 42%,rgba(243,237,218,.3),transparent 60%),
    radial-gradient(1.2px 1.2px at 90% 30%,rgba(186,255,112,.4),transparent 60%),
    radial-gradient(60% 50% at 50% 0%,rgba(186,255,112,.06),transparent 70%),
    radial-gradient(50% 40% at 10% 110%,rgba(36,75,48,.35),transparent 70%);
  animation:stardrift 90s linear infinite;
}
@keyframes stardrift{to{background-position:0 0,-40px 20px,30px -30px,-20px 40px,25px 25px,-35px -10px,0 0,0 0}}
.mono{font-family:var(--mono);font-size:10px;letter-spacing:1.5px;text-transform:uppercase}
.oz-dot{display:inline-block;width:6px;height:6px;background:var(--green);border-radius:50%;box-shadow:0 0 10px var(--green);margin-right:8px;animation:bulb 2.4s ease-in-out infinite}
@keyframes bulb{0%,100%{opacity:1}50%{opacity:.3}}

/* ═══ THE GATE ═══ */
[data-oz] #gate{display:block;padding:0 0 2rem;text-align:left;gap:0}
.oz-top{height:72px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);padding:0 5%}
.oz-brand{font-weight:700;letter-spacing:2px;font-size:14px;color:var(--cream)}
.oz-brand b{color:var(--green);font-size:25px;margin-right:12px;font-weight:400}
.oz-status{color:#b2c4b5}
.oz-back{color:var(--cream);text-decoration:none;font-size:12px}
.oz-back:hover{color:var(--green)}
.oz-intro{display:flex;justify-content:space-between;align-items:end;gap:2rem;padding:40px 5% 26px;max-width:1600px;margin:0 auto}
.oz-eyebrow{color:var(--green)}
[data-oz] #gate h1{font-family:var(--fu);font-size:clamp(34px,4.4vw,66px);line-height:1.03;letter-spacing:-3px;margin:13px 0 0;font-weight:500;color:var(--cream);max-width:none;text-shadow:none}
[data-oz] #gate h1 em{font-style:normal;color:var(--green)}
.oz-intro p{font-size:13px;line-height:1.8;max-width:260px;color:#acb6ad;margin:0}

/* the housing floats */
.oz-housing{
  position:relative;margin:0 5% 18px;max-width:1600px;border:1px solid var(--housing-bd);border-radius:14px;padding:12px;
  background:linear-gradient(120deg,#354039,#171f1b 40%,#29332c);
  box-shadow:0 30px 80px rgba(0,0,0,.55),inset 0 1px #b1b6a155;
  transform-style:preserve-3d;transform:rotateX(var(--rx,0deg)) rotateY(var(--ry,0deg));
  animation:hover 7s ease-in-out infinite;transition:transform .4s ease-out;
}
@media (min-width:1700px){.oz-housing{margin-left:auto;margin-right:auto}}
@keyframes hover{0%,100%{translate:0 0}50%{translate:0 -9px}}
.oz-housing::after{ /* the ground shadow breathes under it */
  content:"";position:absolute;left:8%;right:8%;bottom:-34px;height:40px;border-radius:50%;z-index:-1;
  background:radial-gradient(ellipse at 50% 50%,rgba(186,255,112,.16),rgba(0,0,0,.6) 55%,transparent 75%);
  filter:blur(10px);animation:shadowbreathe 7s ease-in-out infinite;
}
@keyframes shadowbreathe{0%,100%{transform:scaleX(1);opacity:.9}50%{transform:scaleX(.9);opacity:.55}}
.oz-bolts{display:flex;justify-content:space-between;padding:2px 5px 11px;color:#9ba394;font-size:13px}
.oz-console{display:grid;grid-template-columns:1.05fr 1.25fr .72fr;gap:11px}
.oz-bottom{display:grid;grid-template-columns:1.05fr 1.25fr .72fr;gap:11px;margin-top:11px}
.oz-panel{background:var(--panel);border:1px solid var(--panel-bd);border-radius:5px;box-shadow:inset 0 2px 8px #0007;overflow:hidden;position:relative;display:flex;flex-direction:column}
.oz-panelhead{padding:14px 16px;border-bottom:1px solid #354339;display:flex;justify-content:space-between;gap:1rem;color:#aebba8}
.oz-panelhead b{color:var(--green);font-weight:400;text-align:right}
.oz-inputbody,.oz-sidebody{padding:18px}
.oz-smalllabel{color:var(--muted);font-size:10px;margin-bottom:12px}

/* 01 · mission input */
[data-oz] #gate-form{width:100%;display:flex;flex-direction:column;gap:0}
.oz-promptwrap{border:1px solid #526548;background:#0b130e;padding:14px;box-shadow:inset 0 0 25px #0008;transition:border-color .3s}
.oz-promptwrap:focus-within{border-color:var(--green);box-shadow:inset 0 0 25px #0008,0 0 24px rgba(186,255,112,.12)}
[data-oz] #gate-input{resize:vertical;width:100%;min-height:112px;background:transparent;border:0;outline:0;color:var(--cream2);font-size:17px;line-height:1.55;padding:0;border-radius:0;box-shadow:none;font-family:var(--fu)}
[data-oz] #gate-input::placeholder{color:#738472}
[data-oz] #gate-input:focus{box-shadow:none;border:0}
.oz-promptfoot{display:flex;justify-content:space-between;color:#70886c;font-size:8px;margin-top:8px}
.oz-promptfoot #oz-count{color:var(--green);font-variant-numeric:tabular-nums}
[data-oz] .gate-eg{display:flex;flex-wrap:wrap;gap:7px;margin:14px 0 20px;max-width:none;justify-content:flex-start}
[data-oz] .gate-eg button{border:1px solid #3e4f3c;color:#b7c3af;background:#202c21;font-family:var(--mono);font-size:9px;letter-spacing:1px;text-transform:uppercase;padding:8px 9px;border-radius:2px;transition:.2s}
[data-oz] .gate-eg button:hover{border-color:var(--green);color:var(--green);transform:none}
.oz-launchrow{display:flex;gap:15px;align-items:center}
[data-oz] .gate-go{
  flex:1;background:var(--green);color:#14240d;border:1px solid #daffad;border-radius:3px;box-shadow:0 4px var(--green-deep),0 0 25px #baff7015;
  padding:17px 12px;font-size:12px;font-weight:700;letter-spacing:1px;text-transform:uppercase;font-family:var(--fu);transition:transform .12s,box-shadow .12s;
}
[data-oz] .gate-go:hover{transform:none;box-shadow:0 4px var(--green-deep),0 0 34px #baff7030;filter:brightness(1.05)}
[data-oz] .gate-go:active{transform:translateY(3px);box-shadow:0 1px var(--green-deep)}
/* the lever: GPT's pill, with the real pull mechanics from oz.js */
.oz-lever{width:40px;height:72px;border:1px solid #40513d;border-radius:25px;background:#080d0a;position:relative;cursor:grab;user-select:none;touch-action:none;flex:none}
.oz-lever:active{cursor:grabbing}
.oz-lever:focus-visible{outline:2px solid var(--green);outline-offset:5px}
.oz-lever-slot{position:absolute;inset:0}
.oz-lever-arm{--pull:0;position:absolute;left:50%;top:20px;width:6px;height:34px;border-radius:8px;background:linear-gradient(90deg,#606e61,#d7dccc,#7a8577);transform:translate(-50%,calc(var(--pull) * 20px)) scaleY(calc(1 - var(--pull) * .55));transform-origin:50% 100%;transition:transform .3s cubic-bezier(.3,1.4,.5,1)}
.oz-lever.pulled .oz-lever-arm{--pull:1}
.oz-lever-knob{position:absolute;left:50%;top:-16px;width:27px;height:27px;border-radius:50%;transform:translateX(-50%);background:radial-gradient(circle at 35% 25%,#ffb88c,var(--orange2) 50%,#692b1b);box-shadow:0 2px 5px #000}
.oz-fineprint{color:#71816f;font-size:9px;margin-top:16px;letter-spacing:1px}
.oz-ports{display:flex;flex-direction:column;gap:12px;margin-top:18px;padding-top:16px;border-top:1px solid #354339}
[data-oz] .gate-scan{flex-direction:row;align-items:center;gap:12px;text-align:left;padding:10px 12px;border:1px solid #3e4f3c;border-radius:3px;background:#0b130e;margin:0;transition:.2s}
[data-oz] .gate-scan b{color:var(--green);font-weight:400;white-space:nowrap}
[data-oz] .gate-scan span{color:#8b9b8f;font-size:11px}
[data-oz] .gate-scan:hover{border-color:var(--green);transform:none;background:#0b130e}
[data-oz] .gate-return{align-items:flex-start;gap:8px;margin:0}
[data-oz] .gate-return>p{color:var(--muted);font-size:9px}
[data-oz] #gate-load{justify-content:flex-start}
[data-oz] #gate-load input{font-family:var(--mono);font-size:11px;background:#0b130e;border:1px solid #3e4f3c;color:var(--cream);border-radius:2px}
[data-oz] #gate-load input:focus{border-color:var(--green)}
[data-oz] #gate-load button{font-family:var(--mono);font-size:10px;letter-spacing:1px;text-transform:uppercase;color:var(--green);border:1px solid #3e4f3c;background:#202c21;border-radius:2px}

/* 02 · the reactor */
.oz-reactor{min-height:470px;background:radial-gradient(ellipse at 50% 40%,#244b30 0,#0a180f 48%,#08120c 85%)}
.oz-grid{position:absolute;inset:0;background-image:linear-gradient(#baff7008 1px,transparent 1px),linear-gradient(90deg,#baff7008 1px,transparent 1px);background-size:27px 27px}
.oz-cross{position:absolute;top:17px;left:17px;color:#6c8c5c;font-size:14px}
.oz-reactorlabel{position:absolute;top:19px;right:17px;color:#7a9972}
.oz-core{position:absolute;left:50%;top:42%;width:210px;height:210px;transform:translate(-50%,-50%);border:1px solid #70b45255;border-radius:50%;box-shadow:0 0 80px #7de45b14,inset 0 0 40px #7de45b0a}
.oz-core::before,.oz-core::after{content:"";position:absolute;border:1px dashed #baff7050;inset:15px;border-radius:50%;animation:spin 60s linear infinite}
.oz-core::after{inset:-27px;border-style:solid;border-color:transparent #baff7035;animation-direction:reverse}
.oz-orb{position:absolute;inset:37px;background:radial-gradient(circle at 35% 25%,#eaffbd,#abff6e 8%,#3b9b42 30%,#0e4b2c 55%,#061b10 75%);border-radius:50%;box-shadow:0 0 40px #a0ff6744,inset -15px -10px 25px #001e0d}
.oz-orb::after{content:"✦";position:absolute;inset:0;display:grid;place-items:center;font-size:74px;color:#e9ffd2;text-shadow:0 0 25px var(--green)}
.oz-orbit{position:absolute;inset:18px -20px;border:1px solid #bcf58166;border-radius:50%;transform:rotate(-32deg) scaleY(.4)}
body.oz-busy .oz-orb{animation:pulse .6s alternate infinite}
@keyframes spin{to{transform:rotate(360deg)}}
@keyframes pulse{to{opacity:.6;filter:brightness(1.4)}}
.oz-reactorcaption{position:absolute;top:71%;left:0;width:100%;text-align:center;padding:0 16px}
.oz-reactorcaption h2{font-size:18px;font-weight:500;margin:0 0 9px;color:var(--cream);letter-spacing:-.2px}
.oz-reactorcaption span{font-size:9px;color:#8ba780}
.oz-wave{position:absolute;bottom:40px;left:20px;right:20px;height:22px;display:flex;align-items:center;gap:4px;opacity:.5}
.oz-wave i{height:var(--h,6px);flex:1;background:var(--green2)}
body.oz-busy .oz-wave i,.oz-wave.thinking i{animation:pulse .25s alternate infinite;animation-delay:var(--d)}
.oz-curtain-btn{position:absolute;bottom:14px;right:16px;color:#9ab28d;background:none;border:0;padding:0;font-size:8px;z-index:4}
.oz-curtain-btn:hover{color:var(--green)}
.oz-curtain{position:absolute;inset:0;background:#12281aee;z-index:5;display:grid;place-content:center;text-align:left;padding:30px;gap:.6rem}
.oz-curtain[hidden]{display:none}
.oz-curtain>.mono{color:#9ab28d}
.oz-curtain h2{color:var(--green);font-size:22px;font-weight:500;letter-spacing:-.5px;margin:0;line-height:1.1}
.oz-curtain ul{list-style:none;margin:.4rem 0 .6rem;padding:0;display:flex;flex-direction:column;gap:.45rem}
.oz-curtain li{font-size:12px;line-height:1.55;color:var(--cream2)}
.oz-curtain li b{color:#fff}
.oz-chip{border:1px solid #3e4f3c;color:#b7c3af;background:#202c21;font-family:var(--mono);font-size:9px;letter-spacing:1px;text-transform:uppercase;padding:8px 10px;border-radius:2px;justify-self:start}
.oz-chip:hover{border-color:var(--green);color:var(--green)}
.oz-scanline{pointer-events:none;position:absolute;inset:0;background:repeating-linear-gradient(transparent 0 3px,#0001 3px 4px)}
.oz-steam{position:absolute;left:0;right:0;bottom:0;height:0;pointer-events:none;z-index:4}
.oz-steam i{position:absolute;bottom:0;left:var(--x,50%);width:34px;height:34px;border-radius:50%;background:radial-gradient(circle,rgba(234,255,189,.5),rgba(234,255,189,0) 70%);animation:puff 1.6s ease-out forwards}
@keyframes puff{0%{transform:translate(-50%,0) scale(.4);opacity:.9}100%{transform:translate(calc(-50% + var(--dx,0px)),-160px) scale(2.4);opacity:0}}

/* 03 · instruments (SVG gauges) */
.oz-instruments{display:flex;flex-direction:column}
.oz-dials{display:flex;flex-direction:column}
.oz-dial{padding:16px 14px 12px;border-bottom:1px solid #344237;text-align:center;display:flex;flex-direction:column;align-items:center;gap:6px}
.oz-dial-label{color:var(--muted);font-size:9px}
.oz-dial svg{width:150px;height:100px;display:block;overflow:visible}
.oz-dial .g-track{fill:none;stroke:#354c30;stroke-width:7;stroke-linecap:butt}
.oz-dial .g-red{fill:none;stroke:rgba(255,141,83,.35);stroke-width:7}
.oz-dial .g-fill{fill:none;stroke:var(--green);stroke-width:7;stroke-dasharray:100;stroke-dashoffset:100;transition:stroke-dashoffset .9s cubic-bezier(.3,1.3,.4,1);filter:drop-shadow(0 0 4px rgba(186,255,112,.6))}
.oz-dial .tk{stroke:#5e7158;stroke-width:1}
.oz-dial .tk-major{stroke:#aebba8;stroke-width:1.5}
.oz-dial .tk-num{fill:#7a9972;font-family:var(--mono);font-size:7px;text-anchor:middle;letter-spacing:.5px}
.oz-dial .g-needle{transform-box:view-box;transform-origin:75px 82px;transform:rotate(calc(-90deg + var(--v,0) * 180deg));transition:transform 1s cubic-bezier(.3,1.4,.4,1)}
.oz-dial .g-needle line{stroke:var(--orange);stroke-width:2;stroke-linecap:round;filter:drop-shadow(0 0 3px rgba(255,141,83,.6))}
.oz-dial .g-needle circle{fill:#1b2419;stroke:#8b9b8f;stroke-width:1}
.oz-dial .g-pin{fill:var(--orange)}
.oz-dial-read{display:inline-flex;align-items:baseline;gap:4px;background:#070b08;border:1px solid #2d3a2e;border-radius:2px;padding:4px 10px;color:var(--green);font-size:12px;letter-spacing:2px;font-variant-numeric:tabular-nums;box-shadow:inset 0 0 10px #000,0 0 10px rgba(186,255,112,.08)}
.oz-dial-read b{font-weight:500}.oz-dial-read i{font-style:normal;font-size:8px;color:#7a9972}
.oz-switches{padding:16px;display:grid;gap:14px}
.oz-switchline{display:flex;align-items:center;justify-content:space-between;color:#9ba991;font-size:8px}
.oz-toggle{border:1px solid #64735e;width:31px;height:15px;border-radius:12px;background:#405e30;padding:2px;transition:.2s}
.oz-toggle::after{content:"";display:block;background:var(--green);width:9px;height:9px;border-radius:50%;margin-left:14px;transition:.2s}
.oz-toggle[aria-pressed=false]{background:#202c22}
.oz-toggle[aria-pressed=false]::after{margin-left:0;background:#819079}
.oz-toggle i{display:none}
.oz-serial{margin:auto 15px 15px;color:#5b6b56;font-size:8px}

/* 04 · playbill */
.oz-steps{list-style:none;counter-reset:st;display:flex;flex-direction:column;gap:.5rem;margin:0 0 16px;padding:0}
.oz-steps li{counter-increment:st;position:relative;padding-left:1.6rem;font-size:12px;line-height:1.5;color:#b7c3af}
.oz-steps li::before{content:counter(st,decimal-leading-zero);position:absolute;left:0;top:.15rem;font-family:var(--mono);color:var(--green);font-size:9px;letter-spacing:1px}
.oz-steps b{color:var(--cream)}
.oz-rooms{list-style:none;display:grid;grid-template-columns:1fr 1fr;gap:5px;margin:0;padding:0}
.oz-rooms a{display:grid;grid-template-columns:24px 1fr;grid-template-rows:auto auto;column-gap:6px;align-items:center;font-family:var(--mono);font-size:9px;letter-spacing:.5px;color:var(--cream2);text-decoration:none;padding:7px 8px;border:1px solid #3e4f3c;background:#202c21;border-radius:2px;transition:.2s}
.oz-rooms a b{grid-row:1/3;color:var(--green);font-weight:500}
.oz-rooms a small{font-size:7px;color:#8b9b8f;letter-spacing:.3px}
.oz-rooms a:hover{border-color:var(--green);color:var(--green)}
.oz-pulse{font-size:9px}
.oz-pulse b{color:var(--cream)}

/* 05 · telemetry + rover */
.oz-telelist{list-style:none;margin:0;padding:14px 16px 6px;color:#8ca080;font-size:9px;line-height:1.8;letter-spacing:1px}
.oz-telelist li{opacity:.55}.oz-telelist li:last-child{opacity:1;color:var(--green2)}
.oz-toto{display:flex;gap:13px;align-items:center;background:#202820;padding:14px 16px;margin-top:auto;border-top:1px solid #354339}
.oz-toto-svg{width:82px;flex-shrink:0;color:#c3d2ad}
.oz-toto-body{fill:#a5b58a}.oz-toto-wheel{fill:#141d15}.oz-toto-eye{fill:var(--green);stroke:none;animation:bulb 2.8s ease-in-out infinite}
.oz-toto.rolling .oz-toto-svg{animation:roll .6s ease-in-out 2}
@keyframes roll{0%,100%{transform:translateX(0)}50%{transform:translateX(8px) rotate(1deg)}}
.oz-toto-copy .mono{color:var(--orange);font-size:8px}
.oz-toto-copy p,.oz-toto-mini p{font-size:11px;line-height:1.5;margin:6px 0 0;color:var(--cream2);font-family:var(--fu)}

/* 06 · add-ons */
.oz-addons{display:grid;grid-template-columns:1fr 1fr;gap:5px}
.oz-addons button{border:1px solid #3e4f3c;color:#b7c3af;background:#202c21;font-family:var(--mono);font-size:8px;letter-spacing:1px;text-transform:uppercase;padding:8px 7px;border-radius:2px;text-align:left;transition:.2s}
.oz-addons button::before{content:"+ ";color:var(--green)}
.oz-addons button:hover{border-color:var(--green);color:var(--green)}
.oz-addons button.in{background:#405e30;border-color:var(--green);color:var(--cream)}
.oz-coin{display:flex;align-items:center;gap:10px;width:100%;margin-top:12px;padding:10px 12px;border:1px solid #3e4f3c;background:#0b130e;border-radius:3px;color:var(--green);transition:.2s;position:relative}
.oz-coin i{width:30px;height:9px;border-radius:2px;background:#000;box-shadow:inset 0 0 0 1px #3e4f3c;position:relative;flex:none}
.oz-coin:hover{border-color:var(--green)}
.oz-coin:active{transform:translateY(2px)}
.oz-coin.drop i::after{content:"";position:absolute;left:50%;top:-14px;width:11px;height:11px;border-radius:50%;background:radial-gradient(circle at 35% 35%,#fff,var(--orange) 45%,var(--orange2));transform:translateX(-50%);animation:coin .45s ease-in forwards}
@keyframes coin{to{top:3px;opacity:0;transform:translateX(-50%) scaleY(.2)}}
.oz-fortune{margin:12px 0 0;padding:10px 12px;background:#070b08;border:1px solid #2d3a2e;border-radius:2px;color:var(--green);font-size:9px;line-height:1.6;min-height:3.4em;text-transform:none;letter-spacing:1px}
.oz-plate{margin-top:12px;display:grid;place-content:center;text-align:center;background:#b0b3a1;color:#283326;box-shadow:inset 0 0 20px #0002;padding:14px;border-radius:2px}
.oz-plate strong{font-size:20px;letter-spacing:4px}
.oz-plate span{margin-top:6px;font-size:7px}
.oz-foot{padding:10px 5% 24px;display:flex;justify-content:space-between;gap:1rem;flex-wrap:wrap;color:#6e806f;font-size:8px;max-width:1600px;margin:0 auto}
[data-oz] .gate-links{gap:1.2rem;font-size:8px}
[data-oz] .gate-links a{color:#9ab28d;border:0;letter-spacing:1.5px;text-transform:uppercase;font-family:var(--mono)}
[data-oz] .gate-links a:hover{color:var(--green)}
[data-oz] #gate.gone{opacity:0;transform:scale(.985)}

/* ═══ THE MACHINE (floor) ═══ */
[data-oz] .m-top{background:linear-gradient(120deg,#354039,#171f1b 40%,#29332c);border-bottom:1px solid var(--housing-bd)}
[data-oz] .m-brand{font-family:var(--fu);font-weight:700;letter-spacing:2px;color:var(--cream)}
[data-oz] .m-brand:hover{color:var(--green)}
[data-oz] .nameplate,[data-oz] .name-edit{font-family:var(--fu);font-weight:600;color:#14240d;background:var(--green);border:1px solid #daffad;box-shadow:0 3px var(--green-deep);border-radius:3px;text-shadow:none}
[data-oz] .nameplate::after{color:#14240d}
[data-oz] #swatches button{box-shadow:0 0 0 2px var(--ink)}
[data-oz] .m-topready{font-family:var(--mono);font-size:9px;letter-spacing:1.5px;text-transform:uppercase;color:#aebba8}
[data-oz] .m-topready b{color:var(--green)}
.oz-sound{display:inline-flex;align-items:center;gap:.45rem;font-family:var(--mono);font-size:8px;letter-spacing:1.5px;text-transform:uppercase;color:#9ba991;border:1px solid #3e4f3c;border-radius:12px;padding:.3rem .6rem .3rem .35rem;background:#202c21}
.oz-sound i{width:26px;height:13px;border-radius:12px;background:#202c22;border:1px solid #64735e;position:relative;transition:.2s}
.oz-sound i::after{content:"";position:absolute;top:1.5px;left:2px;width:8px;height:8px;border-radius:50%;background:#819079;transition:.2s}
.oz-sound[aria-pressed="true"] i{background:#405e30}
.oz-sound[aria-pressed="true"] i::after{left:14px;background:var(--green)}
[data-oz] .panel{background:var(--panel);border:1px solid var(--panel-bd);border-radius:5px;box-shadow:inset 0 2px 8px #0007}
.oz-panel-label,.oz-mini-label,.oz-label{font-family:var(--mono);font-size:9px;letter-spacing:1.5px;text-transform:uppercase;color:#aebba8;display:flex;align-items:center;gap:.6rem;margin:0 0 .5rem}
.oz-panel-label::after,.oz-mini-label::after{content:"";flex:1;height:1px;background:#354339}
.oz-mini-label{margin:.3rem 0 .3rem;font-size:8px}
/* the oracle */
[data-oz] .cp-head{border-bottom:1px solid #354339}
[data-oz] .cp-orb{width:40px;height:40px;background:radial-gradient(circle at 35% 25%,#eaffbd,#abff6e 8%,#3b9b42 30%,#0e4b2c 55%,#061b10 75%);box-shadow:0 0 24px #a0ff6744,inset -8px -6px 14px #001e0d;animation:orbBreathe 4.5s ease-in-out infinite}
[data-oz] .cp-orb::before,[data-oz] .cp-orb::after{content:none}
[data-oz] #guide.thinking .cp-orb{animation:pulse .5s alternate infinite}
[data-oz] .cp-head b{color:var(--cream);font-weight:600}
[data-oz] .cp-head i{font-family:var(--mono);font-size:8px;letter-spacing:1.5px;text-transform:uppercase;color:#8ba780}
#guide .oz-wave{position:static;height:20px;padding:0 1rem 4px;border-bottom:1px solid #354339;opacity:.6}
#guide .oz-wave i{background:var(--green2)}
[data-oz] .cp-msg.guide{background:#0b130e;border:1px solid #2d3a2e;color:var(--cream2)}
[data-oz] .cp-msg.me{background:#405e3066;border:1px solid #577a35}
[data-oz] .cp-chips button{border:1px solid #3e4f3c;color:var(--green);background:#202c21;font-family:var(--mono);font-size:9px;letter-spacing:1px;text-transform:uppercase;border-radius:2px}
[data-oz] .cp-chips button:hover{background:#405e30;color:var(--cream)}
[data-oz] .cp-quick button{font-family:var(--mono);font-size:8px;letter-spacing:1px;text-transform:uppercase;border:1px solid #3e4f3c;color:#b7c3af;border-radius:2px}
[data-oz] .cp-input{font-family:var(--fu);border:1px solid #526548;background:#0b130e;color:var(--cream2);border-radius:2px}
[data-oz] .cp-input:focus{border-color:var(--green)}
[data-oz] .cp-form{border-top:1px solid #354339}
[data-oz] .cp-form button{background:var(--green);color:#14240d;border-radius:2px;box-shadow:0 2px var(--green-deep)}
.oz-toto-mini{display:flex;gap:10px;align-items:center;padding:10px 14px 12px;border-top:1px solid #354339;background:#202820;margin:0}
.oz-toto-mini .oz-toto-svg{width:56px}
.oz-toto-mini p{font-size:10px;color:#b7c3af}
.oz-toto-mini[hidden]{display:none}
/* the viewing portal */
.oz-portal{position:relative;border-radius:6px;padding:10px;background:linear-gradient(120deg,#354039,#171f1b 40%,#29332c);border:1px solid var(--housing-bd);box-shadow:0 20px 50px rgba(0,0,0,.45),inset 0 1px #b1b6a155}
[data-oz] .m-canvas{border-radius:3px;overflow:hidden;background:#06090a;border:1px solid var(--panel-bd)}
.oz-crt{position:absolute;inset:10px;pointer-events:none;border-radius:3px;background:repeating-linear-gradient(transparent 0 3px,#0001 3px 4px)}
[data-oz] .m-modes{gap:6px}
[data-oz] .m-modes button{font-family:var(--mono);font-size:9px;letter-spacing:1.5px;text-transform:uppercase;border:1px solid #3e4f3c;background:#202c21;color:#b7c3af;border-radius:2px}
[data-oz] .m-modes button.on{background:var(--green);border-color:#daffad;color:#14240d;font-weight:500}
[data-oz] .m-forgelog{font-family:var(--mono);color:var(--green);background:#070b08;border:1px solid #2d3a2e;display:inline-block;padding:.35rem .9rem;border-radius:2px;letter-spacing:1.5px;font-size:9px;text-transform:uppercase;align-self:center}
[data-oz] .m-forgelog::before{content:"⟶ ";opacity:.6}
.oz-telemetry{margin-top:.4rem;padding:.6rem .9rem .7rem;border-radius:5px;border:1px solid var(--panel-bd);background:var(--panel);box-shadow:inset 0 2px 8px #0007}
#oz-tele-log{list-style:none;font-family:var(--mono);font-size:9px;letter-spacing:1px;color:#8ca080;display:flex;flex-direction:column;gap:.15rem;max-height:5.6em;overflow:hidden;margin:0;padding:0}
#oz-tele-log li{display:flex;gap:.8rem;opacity:.55}#oz-tele-log li:last-child{opacity:1;color:var(--green2)}
#oz-tele-log li b{font-weight:400;color:#7a9972;font-variant-numeric:tabular-nums}
/* control bank */
[data-oz] #strength{--ready:0;padding:1rem;grid-template-columns:auto 1fr}
[data-oz] .st-gauge{width:96px;height:96px}
[data-oz] .st-track{stroke:#354c30;stroke-width:7}
[data-oz] .st-fill{stroke:var(--green);stroke-width:7;filter:drop-shadow(0 0 5px rgba(186,255,112,.5))}
[data-oz] .st-gauge::before{content:"";position:absolute;left:50%;top:50%;width:2px;height:40px;background:var(--orange);z-index:2;transform-origin:50% 100%;transform:translate(-50%,-100%) rotate(calc(-180deg + var(--ready) * 3.6deg));transition:transform .9s cubic-bezier(.3,1.5,.4,1)}
[data-oz] .st-gauge::after{content:"";position:absolute;left:50%;top:50%;width:9px;height:9px;border-radius:50%;background:#1b2419;border:1px solid #8b9b8f;transform:translate(-50%,-50%);z-index:3}
[data-oz] .st-gauge b{font-family:var(--mono);font-size:.9rem;transform:translateY(16px);color:var(--green)}
[data-oz] .st-gauge span{font-family:var(--mono);color:#7a9972;bottom:-8px}
[data-oz] .st-rows li{font-family:var(--mono);font-size:9px;letter-spacing:1px;text-transform:uppercase;color:#b7c3af}
[data-oz] .st-rows i{color:#8b9b8f}
[data-oz] .st-next{border:1px dashed #577a35;background:#0b130e;border-radius:2px}
[data-oz] .st-next b{color:var(--green)}
[data-oz] #speed{gap:5px}
[data-oz] #speed button{font-family:var(--mono);font-size:8px;letter-spacing:1px;text-transform:uppercase;border:1px solid #3e4f3c;background:#202c21;color:#b7c3af;border-radius:2px;position:relative;padding-top:1rem}
[data-oz] #speed button::before{content:"";position:absolute;top:.4rem;left:50%;transform:translateX(-50%);width:7px;height:7px;border-radius:50%;background:#2d3a2e}
[data-oz] #speed button.on{background:#405e30;border-color:var(--green);color:var(--cream)}
[data-oz] #speed button.on::before{background:var(--green);box-shadow:0 0 8px var(--green)}
/* switchboard = instrument toggles */
[data-oz] .gx-group{border:1px solid var(--panel-bd);border-radius:5px;background:var(--panel);box-shadow:inset 0 2px 8px #0007}
[data-oz] .gx-group summary{font-family:var(--mono);letter-spacing:1px;border-bottom:1px solid #354339}
[data-oz] .gx-group summary b{font-size:9px;text-transform:uppercase;letter-spacing:1.5px;color:var(--green);font-weight:400}
[data-oz] .gx-group summary i{color:#7a9972;font-size:8px}
[data-oz] .gx-group summary svg{stroke:var(--green);fill:var(--green)}
[data-oz] .gx-count{color:#14240d;background:var(--green);border-radius:2px;padding:0 .3rem;font-size:8px}
[data-oz] .gx-feats button{display:grid;grid-template-columns:31px 1fr;grid-template-rows:auto auto;column-gap:.6rem;align-items:center;padding:.45rem .55rem;position:relative;border:1px solid transparent;border-radius:2px}
[data-oz] .gx-feats button::before{content:"";grid-row:1/3;width:31px;height:15px;border-radius:12px;background:#202c22;border:1px solid #64735e;transition:.2s}
[data-oz] .gx-feats button::after{content:"";position:absolute;left:calc(.55rem + 3px);top:50%;width:9px;height:9px;border-radius:50%;transform:translateY(-50%);background:#819079;transition:.2s}
[data-oz] .gx-feats button:hover{background:#0b130e;border-color:#3e4f3c}
[data-oz] .gx-feats button.on{background:#0b130e;border-color:#577a35}
[data-oz] .gx-feats button.on::before{background:#405e30;border-color:var(--green)}
[data-oz] .gx-feats button.on::after{left:calc(.55rem + 17px);background:var(--green);box-shadow:0 0 6px var(--green)}
[data-oz] .gx-feats button b{font-size:.78rem;color:var(--cream2);font-family:var(--fu)}
[data-oz] .gx-feats button.on b{color:var(--green)}
[data-oz] .gx-feats button span{font-size:.64rem;color:#8b9b8f}
/* the kind price = LED readout */
[data-oz] #price i{font-family:var(--mono);color:#aebba8;letter-spacing:1.5px;font-size:8px}
[data-oz] #price b{font-family:var(--mono);font-weight:500;font-size:1.4rem;color:var(--green);display:inline-block;padding:.3rem .8rem;background:#070b08;border:1px solid #2d3a2e;border-radius:2px;box-shadow:inset 0 0 10px #000,0 0 14px rgba(186,255,112,.1);letter-spacing:2px;font-variant-numeric:tabular-nums}
[data-oz] #price b.tick{animation:odo .5s ease-out}
@keyframes odo{0%{filter:blur(3px);transform:translateY(-6px)}50%{filter:blur(2px);transform:translateY(4px)}100%{filter:none;transform:none}}
[data-oz] #price span,[data-oz] #price em{font-family:var(--mono);font-size:8px;letter-spacing:1px;text-transform:uppercase;color:#8b9b8f}
/* launch controls */
.oz-cover{position:relative;perspective:600px}
[data-oz] #launchpad .fire{width:100%;border-radius:3px;font-family:var(--fu);font-weight:700;font-size:12px;letter-spacing:1px;text-transform:uppercase;color:#14240d;background:var(--green);border:1px solid #daffad;box-shadow:0 4px var(--green-deep),0 0 25px #baff7015;transition:transform .12s,box-shadow .12s}
[data-oz] #launchpad .fire:active{transform:translateY(3px);box-shadow:0 1px var(--green-deep)}
.oz-lid{position:absolute;inset:-6px;border-radius:5px;cursor:pointer;z-index:3;background:linear-gradient(180deg,rgba(255,141,83,.45),rgba(255,141,83,.18));border:1px solid var(--orange);transform-origin:50% 0;transition:transform .5s cubic-bezier(.3,1.3,.4,1),opacity .4s;display:grid;place-items:center;font-family:var(--mono);font-size:8px;letter-spacing:1.5px;text-transform:uppercase;color:#14240d;background-image:repeating-linear-gradient(135deg,rgba(20,36,13,.35) 0 6px,transparent 6px 14px)}
.oz-lid b{background:var(--orange);padding:.2rem .5rem;border-radius:2px}
.oz-cover.open .oz-lid{transform:rotateX(-118deg) translateY(-6px);opacity:.25;pointer-events:none}
[data-oz] #launchpad .ghost{font-family:var(--mono);font-size:8px;letter-spacing:1.5px;text-transform:uppercase;border:1px solid #3e4f3c;color:#b7c3af;background:#202c21;border-radius:2px}
[data-oz] #launchpad .ghost:hover{border-color:var(--green);color:var(--green)}
[data-oz] #vault{border:1px dashed #577a35;background:#0b130e;border-radius:2px}
[data-oz] #vault input,[data-oz] #vs-link{font-family:var(--mono);background:#070b08;border:1px solid #3e4f3c;color:var(--cream);border-radius:2px}
[data-oz] #vault-go,[data-oz] #vs-copy{font-family:var(--mono);font-size:9px;letter-spacing:1px;text-transform:uppercase;color:#14240d;background:var(--green);border:1px solid #daffad;border-radius:2px}
[data-oz] #vault-share{border:1px solid #577a35;background:#0b130e;border-radius:2px}

/* ═══ THE MISSION BRIEF (reveal) · cream sheet ═══ */
[data-oz] #reveal{margin:1.4rem auto 3rem;max-width:1680px;border-radius:4px;color:var(--bp-ink);background:var(--bp);box-shadow:0 30px 80px rgba(0,0,0,.5);padding:2.2rem clamp(1rem,3vw,2.4rem) 3rem;animation:print 1.2s cubic-bezier(.2,.9,.3,1) both}
@keyframes print{0%{clip-path:inset(0 0 100% 0);transform:translateY(-24px)}100%{clip-path:inset(0 0 0 0);transform:none}}
[data-oz] #reveal.settled{animation:none}
[data-oz] .rv-head>i{color:#527040;font-family:var(--mono);letter-spacing:2px}
[data-oz] .rv-head h2{color:var(--bp-ink);font-family:var(--fu);font-weight:500;letter-spacing:-1px}
[data-oz] .rv-head p{color:#5e705b}
[data-oz] .rv-actions button{border:0;color:var(--bp);background:var(--bp-ink);font-family:var(--mono);letter-spacing:1px;text-transform:uppercase;font-size:9px;border-radius:2px}
[data-oz] .rv-actions button:hover{color:var(--green);background:var(--bp-ink);transform:none}
[data-oz] #rv-book{background:var(--green-deep);color:#fff}
[data-oz] .rv-block{background:rgba(255,255,255,.35);border:1px solid #c9cfb8;border-radius:3px;box-shadow:none}
[data-oz] .rv-block::before{display:none}
[data-oz] .rv-k{color:#527040;font-family:var(--mono)}
[data-oz] .rv-roomlist b,[data-oz] .rv-plan p,[data-oz] .rv-plan li,[data-oz] .rv-care p,[data-oz] .rv-invest li,[data-oz] .rv-col li,[data-oz] .rv-creed{color:var(--bp-ink)}
[data-oz] .rv-roomlist span{color:#5e705b}[data-oz] .rv-roomlist li:hover{background:rgba(30,50,38,.06)}
[data-oz] .rv-roomlist svg{stroke:#527040;fill:#527040}
[data-oz] .rv-plan i,[data-oz] .rv-invest b{color:#527040}
[data-oz] .rv-col{border:1px solid #c9cfb8;background:rgba(255,255,255,.4)}
[data-oz] .rv-col.told i{color:#2f7a3a}[data-oz] .rv-col.inferred i{color:#2a6f8a}[data-oz] .rv-col.open i{color:#b4651e}
[data-oz] .fl-seg{stroke:#9fae9a}[data-oz] .fl-seg.lit{stroke:#527040}
[data-oz] .fl-node circle{fill:#fff;stroke:#9fae9a}[data-oz] .fl-node.lit circle{fill:#e2f3c9;stroke:#527040}
[data-oz] .fl-node .fl-core{fill:#527040}[data-oz] .fl-node text{fill:#7d8a78}[data-oz] .fl-node.lit text{fill:var(--bp-ink)}
[data-oz] .rv-burg{border:1px solid #b4651e;background:#f6e7cf;box-shadow:none}
[data-oz] .rv-burg>i{color:#b4651e}[data-oz] .rv-burg p{color:var(--bp-ink)}
[data-oz] .rv-burg button{background:#b4651e;color:#fff}
[data-oz] #reveal .pv-frame{border-color:#c9cfb8}

/* modals + scan */
[data-oz] .modal-card{background:var(--panel);border:1px solid var(--housing-bd);box-shadow:0 40px 90px -30px rgba(0,0,0,.8)}
[data-oz] .modal-card header b{font-family:var(--fu);font-weight:600;color:var(--cream)}
[data-oz] #lead-form input{background:#0b130e;border:1px solid #526548;color:var(--cream2);border-radius:2px}
[data-oz] #lead-form input:focus{border-color:var(--green)}
[data-oz] #lead-go{color:#14240d;background:var(--green);border:1px solid #daffad;box-shadow:0 3px var(--green-deep);border-radius:3px;font-family:var(--fu);letter-spacing:1px;text-transform:uppercase}
[data-oz] .modal-actions button{font-family:var(--mono);font-size:9px;letter-spacing:1px;text-transform:uppercase;border:1px solid #3e4f3c;background:#202c21;color:#b7c3af;border-radius:2px}
[data-oz] #bp-body{font-family:var(--mono);color:var(--bp-ink);background:var(--bp);border:1px solid #c9cfb8;border-radius:2px}
[data-oz] #lead-done b{color:var(--cream)}[data-oz] #lead-done span{color:#acb6ad}
[data-oz] .sc-card{background:var(--panel);border:1px solid var(--housing-bd);box-shadow:0 40px 90px -30px rgba(0,0,0,.8)}
[data-oz] .sc-kicker b,[data-oz] #scan h2 em{color:var(--green)}
[data-oz] #scan h2{font-family:var(--fu);font-weight:500;letter-spacing:-1px;color:var(--cream)}
[data-oz] #sc-biz{background:#0b130e;border:1px solid #526548;color:var(--cream2);border-radius:2px}
[data-oz] #sc-start button,[data-oz] .sc-fire{color:#14240d;background:var(--green);border:1px solid #daffad;box-shadow:0 3px var(--green-deep);border-radius:3px;font-family:var(--fu);letter-spacing:1px;text-transform:uppercase}
[data-oz] .sc-opts button{background:#202c21;border:1px solid #3e4f3c;color:var(--cream2);border-radius:2px}
[data-oz] .sc-opts button:hover{border-color:var(--green);color:var(--green)}

/* responsive + motion */
@media (max-width:1100px){
  .oz-console,.oz-bottom{grid-template-columns:1fr 1fr}
  .oz-reactor{grid-column:1/-1;min-height:420px}
  .oz-log{grid-column:1/-1}
}
@media (max-width:760px){
  .oz-console,.oz-bottom{grid-template-columns:1fr}
  .oz-intro{flex-direction:column;align-items:flex-start;padding-top:28px}
  .oz-housing{margin:0 3% 18px;animation:none;transform:none !important}
  .oz-housing::after{display:none}
  .oz-top{padding:0 3%;height:60px}
  .oz-rooms{grid-template-columns:1fr}
  .oz-launchrow{flex-wrap:wrap}
}
@media (prefers-reduced-motion:reduce){
  .oz-housing,.oz-housing::after,[data-oz] body::before,.oz-core::before,.oz-core::after,body.oz-busy .oz-orb,.oz-wave i,.oz-dot,.oz-toto-eye,.oz-toto.rolling .oz-toto-svg,[data-oz] .cp-orb,[data-oz] #guide.thinking .cp-orb{animation:none}
  .oz-housing{transform:none !important}
  [data-oz] #reveal{animation:none}
  .oz-steam i{display:none}
}
