/* Simulator UI — loaded only on pages that mount the simulator */
.sim{--g0:#0d0f12;--g1:#14171c;--g2:#1d2128;--g3:#2a2f37;--ln:rgba(255,255,255,.12);--tx:#f4f2ee;--mu:rgba(244,242,238,.62);--acc:#f2541b;--ok:#2fbf71;--warn:#ffb020;--bad:#ff4d4d;--mono:"JetBrains Mono",ui-monospace,monospace;
  position:relative;overflow:hidden;background:var(--g0);color:var(--tx);font-family:Montserrat,system-ui,sans-serif;isolation:isolate;user-select:none;-webkit-user-select:none;touch-action:none;border-radius:inherit}
.sim:fullscreen{border-radius:0}
.sim-cv{position:absolute;inset:0;width:100%;height:100%;display:block;outline:none}
.sim-static{position:absolute;inset:0;z-index:2;background:repeating-radial-gradient(circle at 17% 32%,#777 0 1px,#111 1px 3px);animation:st .12s steps(3) infinite;opacity:.95}
.sim-static::after{content:"NO VIDEO";position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);font:700 22px/1 var(--mono);letter-spacing:.2em;color:#fff;background:#000c;padding:10px 16px}
@keyframes st{50%{background-position:3px 7px}}
/* HUD */
.hud{position:absolute;inset:0;z-index:3;pointer-events:none;font-variant-numeric:tabular-nums}
.hud-obj{position:absolute;left:16px;top:14px;max-width:min(460px,calc(100% - 200px));background:rgba(13,15,18,.72);backdrop-filter:blur(8px);border:1px solid var(--ln);border-radius:12px;padding:10px 14px}
.hud-step{font:600 11px/1 var(--mono);color:var(--acc);letter-spacing:.08em}
.hud-step::after{content:attr(data-extra);color:var(--mu)}
.hud-text{margin:5px 0 0;font-size:14px;line-height:1.35;font-weight:500}
.hud-dots{display:flex;gap:4px;margin-top:8px}.hud-dots i{width:18px;height:3px;border-radius:2px;background:rgba(255,255,255,.18)}.hud-dots i.d{background:var(--ok)}.hud-dots i.c{background:var(--acc)}
.hud-tr{position:absolute;right:16px;top:14px;display:flex;gap:6px;font:600 11px/1 var(--mono)}
.hud-tr span{background:rgba(13,15,18,.72);border:1px solid var(--ln);border-radius:8px;padding:7px 9px}
.hud-arm.is-on{color:var(--acc);border-color:rgba(242,84,27,.5)}
.hud-bl{position:absolute;left:16px;bottom:62px;display:flex;gap:8px}
.hud-g{background:rgba(13,15,18,.72);border:1px solid var(--ln);border-radius:10px;padding:7px 11px;min-width:64px;position:relative}
.hud-g b{display:block;font:600 18px/1.1 var(--mono)}.hud-g small{font-size:10px;color:var(--mu)}
.hud-batbar{position:absolute;left:10px;right:10px;bottom:4px;height:2px;background:rgba(255,255,255,.15);border-radius:2px;overflow:hidden}.hud-batbar i{display:block;height:100%;background:var(--ok);transition:width .3s}
.hud-bat.is-low b{color:var(--warn)}.hud-bat.is-low .hud-batbar i{background:var(--warn)}
.hud-sticks{position:absolute;right:16px;bottom:62px;display:flex;gap:6px}
.st{width:38px;height:38px;border:1px solid var(--ln);border-radius:9px;background:rgba(13,15,18,.6);position:relative}
.st::before,.st::after{content:"";position:absolute;background:rgba(255,255,255,.1)}.st::before{left:50%;top:4px;bottom:4px;width:1px}.st::after{top:50%;left:4px;right:4px;height:1px}
.st i{position:absolute;left:50%;top:50%;width:8px;height:8px;margin:-4px;border-radius:50%;background:var(--acc);box-shadow:0 0 8px var(--acc)}
.hud-toast{position:absolute;left:50%;top:84px;transform:translate(-50%,-6px);opacity:0;transition:.25s;background:rgba(13,15,18,.85);border:1px solid var(--ln);border-radius:20px;padding:8px 16px;font-size:13px;font-weight:600;white-space:nowrap;max-width:90%;overflow:hidden;text-overflow:ellipsis}
.hud-toast.is-on{opacity:1;transform:translate(-50%,0)}.hud-toast.k-good{border-color:rgba(47,191,113,.6);color:#9df0c2}.hud-toast.k-warn{border-color:rgba(255,176,32,.6);color:#ffd27a}.hud-toast.k-bad{border-color:rgba(255,77,77,.6);color:#ff9d9d}
.hud-alert{position:absolute;left:50%;top:40%;transform:translate(-50%,-50%) scale(.96);opacity:0;transition:.2s;font:700 15px/1.2 var(--mono);letter-spacing:.06em;padding:12px 18px;border-radius:8px;background:rgba(255,77,77,.16);border:1px solid var(--bad);color:#ffd0d0;text-align:center}
.hud-alert.is-on{opacity:1;transform:translate(-50%,-50%) scale(1);animation:blink 1s steps(2) 3}
.hud-alert.k-warn{background:rgba(255,176,32,.14);border-color:var(--warn);color:#ffe2a8}
@keyframes blink{50%{opacity:.55}}
.hud-keys{position:absolute;left:16px;right:16px;bottom:16px;text-align:center;font-size:11.5px;color:var(--mu);line-height:2}
kbd{font:600 10.5px/1 var(--mono);display:inline-block;min-width:20px;padding:4px 5px;margin:0 1px;border:1px solid rgba(255,255,255,.22);border-bottom-width:2px;border-radius:5px;color:var(--tx);background:rgba(255,255,255,.06);text-align:center}
/* bottom bar */
.sim-bar{position:absolute;right:12px;bottom:12px;z-index:4;display:flex;gap:6px}
.sb{appearance:none;border:1px solid var(--ln);background:rgba(13,15,18,.78);color:var(--tx);border-radius:9px;padding:8px 10px;font:600 12px/1 Montserrat,sans-serif;cursor:pointer}
.sb:hover{border-color:rgba(255,255,255,.3)}.sb:focus-visible{outline:2px solid var(--acc);outline-offset:2px}
.sim .hud-keys{right:330px;text-align:left;bottom:14px;transition:opacity .6s}.hud-keys.is-faded{opacity:0}.sim .hud-bl{bottom:74px}
.sim:hover .hud-keys.is-faded{opacity:.8}
/* panels */
.sim-panel{position:absolute;z-index:6;inset:0;display:none;align-items:center;justify-content:center;background:rgba(9,10,12,.55);backdrop-filter:blur(3px);padding:16px}
.sim-panel.is-open{display:flex}
.sim-panel>*{width:min(720px,100%)}
.sim-panel .sp-head,.sim-panel .sp-tabs,.sim-panel .sp-body{background:var(--g1);border-left:1px solid var(--ln);border-right:1px solid var(--ln)}
.sp-head{display:flex;justify-content:space-between;align-items:center;padding:14px 18px;border-top:1px solid var(--ln);border-radius:14px 14px 0 0;font-size:15px}
.sp-x{appearance:none;background:none;border:1px solid var(--ln);color:var(--tx);border-radius:8px;padding:6px 10px;font:600 12px Montserrat;cursor:pointer}
.sp-tabs{display:flex;gap:2px;padding:0 12px;border-bottom:1px solid var(--ln)}
.sp-tabs button{appearance:none;background:none;border:0;color:var(--mu);font:600 13px Montserrat;padding:10px 10px 12px;cursor:pointer;border-bottom:2px solid transparent}
.sp-tabs button.is-on{color:var(--tx);border-color:var(--acc)}
.sp-body{padding:16px 18px 18px;border-bottom:1px solid var(--ln);border-radius:0 0 14px 14px;max-height:min(70vh,640px);overflow:auto;-webkit-user-select:text;user-select:text}
.sim-panel.is-open{flex-direction:column;align-items:center}
.sim-panel.is-open>.sp-head,.sim-panel.is-open>.sp-tabs,.sim-panel.is-open>.sp-body{width:min(720px,100%)}
.sp-body h4{margin:16px 0 8px;font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--mu);font-weight:600}
.sp-body h4:first-child{margin-top:0}
.sp-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:6px}
.sp-item{appearance:none;text-align:left;display:grid;grid-template-columns:auto 1fr auto;gap:10px;align-items:center;background:var(--g2);border:1px solid transparent;border-radius:10px;padding:10px 12px;color:var(--tx);cursor:pointer;font-family:Montserrat}
.sp-item:hover{border-color:var(--ln)}.sp-item.is-cur{border-color:var(--acc)}.sp-item.is-locked{opacity:.6}
.sp-item b{display:block;font-size:13px;font-weight:600}.sp-item small{font-size:11px;color:var(--mu)}
.sp-lv{font:600 10px/1 var(--mono);color:var(--acc);border:1px solid rgba(242,84,27,.4);border-radius:6px;padding:5px 5px}
.sp-score{font:600 14px var(--mono)}.sp-score small{color:var(--mu);font-size:10px}
.sp-kicker{font:600 11px/1 var(--mono);color:var(--acc);letter-spacing:.06em;text-transform:uppercase}
.sp-brief h3{margin:8px 0 6px;font-size:22px;font-weight:600}.sp-brief p{color:var(--mu);line-height:1.55;margin:0 0 10px}
.sp-steps{margin:0 0 14px;padding-left:20px;line-height:1.6;font-size:14px}
.sp-meta{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:8px;margin:0 0 12px}
.sp-meta div{background:var(--g2);border-radius:9px;padding:8px 10px}.sp-meta dt{font-size:10px;color:var(--mu);text-transform:uppercase;letter-spacing:.08em}.sp-meta dd{margin:3px 0 0;font-size:13px;font-weight:600}
.sp-note{font-size:12px;color:var(--mu);line-height:1.5}.sp-note a,.link{color:var(--tx);text-decoration:underline;text-underline-offset:3px;background:none;border:0;padding:0;font:inherit;cursor:pointer}
.sp-lock{border:1px solid rgba(242,84,27,.4);background:rgba(242,84,27,.07);border-radius:12px;padding:14px;margin-top:10px}.sp-lock p{color:var(--mu);font-size:13px;margin:4px 0 10px}
.btn{appearance:none;display:inline-flex;align-items:center;gap:6px;border:1px solid var(--ln);background:var(--g2);color:var(--tx);border-radius:10px;padding:10px 14px;font:600 13px/1 Montserrat,sans-serif;cursor:pointer;text-decoration:none}
.btn:hover{border-color:rgba(255,255,255,.3)}.btn:disabled{opacity:.4;cursor:not-allowed}
.btn--acc{background:var(--acc);border-color:var(--acc);color:#fff}.btn--acc:hover{background:#ff6a33}
.btn--lg{padding:14px 20px;font-size:14px}
.btn:focus-visible,.sp-item:focus-visible,.sp-tabs button:focus-visible{outline:2px solid #fff;outline-offset:2px}
.sp-set{display:grid;gap:12px}.sp-set label{display:grid;gap:5px;font-size:12px;color:var(--mu)}
.sp-set select,.sp-set input[type=number],.sp-body textarea{background:var(--g2);color:var(--tx);border:1px solid var(--ln);border-radius:8px;padding:9px 10px;font:500 13px Montserrat}
.sp-body textarea{width:100%;box-sizing:border-box;margin:6px 0}
fieldset{border:1px solid var(--ln);border-radius:12px;padding:10px 12px 12px;margin:0}legend{font-size:11px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--mu);padding:0 6px}
.seg{display:flex;flex-wrap:wrap;gap:4px;margin-bottom:10px}.seg label{display:block!important}.seg input{position:absolute;opacity:0}.seg span{display:block;padding:7px 11px;border-radius:8px;background:var(--g2);border:1px solid transparent;font-size:12px;color:var(--tx);cursor:pointer}.seg input:checked+span{border-color:var(--acc);color:#fff}.seg input:focus-visible+span{outline:2px solid #fff}
.rates-grid{display:grid;grid-template-columns:260px 1fr;gap:14px;align-items:center}.rates-cv{background:var(--g0);border-radius:8px;width:100%;height:auto}
.rng{display:grid!important;grid-template-columns:1fr auto;align-items:center}.rng input{grid-column:1/-1;accent-color:var(--acc)}.rng output{font:600 12px var(--mono);color:var(--tx)}
.chk{display:flex!important;gap:8px;align-items:center;font-size:13px!important;color:var(--tx)!important;padding:4px 0}.chk input{accent-color:var(--acc);width:16px;height:16px}
.grid2{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.keys{border-collapse:collapse;font-size:13px}.keys td{padding:5px 10px 5px 0;border-bottom:1px solid var(--ln)}
/* results */
.res-top{display:flex;gap:16px;align-items:center}.score-ring{width:112px;flex:0 0 112px}.score-ring circle{fill:none;stroke-width:9}.score-ring .bg{stroke:var(--g3)}.score-ring .fg{stroke:var(--acc);transform:rotate(-90deg);transform-origin:center;stroke-linecap:round;transition:stroke-dasharray .8s}.score-ring .fg.ok{stroke:var(--ok)}
.score-ring text{fill:var(--tx);font:700 30px var(--mono);text-anchor:middle}.score-ring .sub{font:500 10px Montserrat;fill:var(--mu)}
.res-badge{display:inline-block;font:700 11px/1 var(--mono);letter-spacing:.08em;text-transform:uppercase;padding:6px 9px;border-radius:6px;background:rgba(255,77,77,.14);color:#ff9d9d}.res-badge.ok{background:rgba(47,191,113,.15);color:#8ef0b9}
.res-top p{color:var(--mu);margin:8px 0 0;font-size:14px;line-height:1.5}
.res-parts,.res-skills{list-style:none;margin:14px 0 0;padding:0;display:grid;gap:7px}
.res-parts li,.res-skills li{display:grid;grid-template-columns:170px 1fr 120px;gap:10px;align-items:center;font-size:12.5px}
.res-parts i,.res-skills i{height:6px;border-radius:3px;background:var(--g3);overflow:hidden}.res-parts b,.res-skills b{display:block;height:100%;background:var(--acc);border-radius:3px}.res-skills b{background:#7fb3ff}
.res-parts small,.res-skills small{font:500 11px var(--mono);color:var(--mu);text-align:right}
.coach{border-left:2px solid var(--acc);padding:6px 0 6px 12px;margin:8px 0}.coach p{margin:0 0 4px;font-size:13.5px;line-height:1.5}
.res-act{display:flex;flex-wrap:wrap;gap:8px;margin-top:16px}
.res-review{margin-top:14px;font-size:13px}.res-review summary{cursor:pointer;color:var(--mu)}
/* mini (homepage hero) */
.sim--mini .hud-sticks,.sim--mini .hud-keys,.sim--mini .sb-full~*{display:none}.sim--mini .hud-bl{bottom:58px}.sim--mini .hud-obj{max-width:calc(100% - 190px)}
.sim--mini .sim-panel{background:linear-gradient(180deg,rgba(9,10,12,.15),rgba(9,10,12,.7))}
.sp-mini{justify-content:flex-end!important;padding-bottom:70px!important}
.mini-start,.mini-done{background:rgba(20,23,28,.92);border:1px solid var(--ln);border-radius:16px;padding:18px 20px;width:min(460px,100%)!important;display:grid;gap:8px}
.mini-start b,.mini-done b{font-size:19px;font-weight:600;line-height:1.25}.mini-start p,.mini-done p{margin:0;color:var(--mu);font-size:13px;line-height:1.6}
.mini-done .res-act{margin-top:8px}
/* replay */
.sp-replay{justify-content:flex-end!important;background:none!important;backdrop-filter:none!important;pointer-events:none}
.rp{pointer-events:auto;background:rgba(13,15,18,.9);border:1px solid var(--ln);border-radius:14px;padding:10px 12px;width:min(900px,100%)!important}
.rp-row{display:flex;flex-wrap:wrap;gap:6px;align-items:center;margin-bottom:8px}
.chip{appearance:none;border:1px solid var(--ln);background:none;color:var(--mu);border-radius:20px;padding:6px 10px;font:600 11.5px Montserrat;cursor:pointer}.chip.is-on{color:#fff;border-color:var(--acc)}
.rp-cv{width:100%;display:block;background:var(--g0);border-radius:8px;cursor:ew-resize;touch-action:none}
.rp-leg{display:flex;gap:12px;font-size:11px;color:var(--mu);margin-top:6px;align-items:center}.rp-leg i{display:inline-block;width:12px;height:2px;margin-right:-6px}.rp-leg .l1{background:#f2541b}.rp-leg .l2{background:#7fb3ff}.rp-leg .l3{background:rgba(255,255,255,.45)}
.sim.is-replay .hud{display:none}
/* calibration */
.cal-pad{font:500 12px var(--mono);color:var(--mu);margin:0 0 8px}
.cal-prog{display:flex;gap:4px;margin-bottom:10px}.cal-prog i{flex:1;height:3px;border-radius:2px;background:var(--g3)}.cal-prog i.d{background:var(--ok)}.cal-prog i.c{background:var(--acc)}
.cal-viz{display:flex;justify-content:center}
.cal-tx{width:220px;height:110px;border-radius:30px 30px 46px 46px;background:linear-gradient(#262b33,#1a1d22);border:1px solid var(--ln);display:flex;justify-content:space-around;align-items:center;margin:4px 0 10px}
.cal-tx .g{width:62px;height:62px;border-radius:50%;background:#0f1114;border:1px solid var(--ln);position:relative}.cal-tx .g i{position:absolute;left:50%;top:50%;width:18px;height:18px;margin:-9px;border-radius:50%;background:#555c66}
[data-anim=ly] .gl i,[data-anim=lx] .gl i,[data-anim=ry] .gr i,[data-anim=rx] .gr i{background:var(--acc);box-shadow:0 0 10px var(--acc)}
[data-anim=ly] .gl i,[data-anim=ry] .gr i{animation:ay 2.2s ease-in-out infinite}[data-anim=lx] .gl i,[data-anim=rx] .gr i{animation:ax 2.2s ease-in-out infinite}
@keyframes ay{0%,100%{transform:translateY(0)}25%{transform:translateY(-20px)}75%{transform:translateY(20px)}}@keyframes ax{0%,100%{transform:translateX(0)}25%{transform:translateX(20px)}75%{transform:translateX(-20px)}}
.cal-text{font-size:14px;line-height:1.55;margin:0 0 10px}
.cal-axes,.cal-live{display:grid;gap:5px}
.ax,.ch{display:grid;grid-template-columns:40px 1fr 48px;gap:8px;align-items:center;font:500 11px var(--mono);color:var(--mu)}
.ax i,.ch i{height:10px;border-radius:5px;background:var(--g3);position:relative;overflow:hidden}
.ax s{position:absolute;top:0;bottom:0;background:rgba(242,84,27,.25)}.ax b{position:absolute;top:-1px;width:3px;height:12px;background:#fff;margin-left:-1px}
.ch b{position:absolute;top:0;bottom:0;background:var(--acc)}.ch i::after{content:"";position:absolute;left:50%;top:0;bottom:0;width:1px;background:rgba(255,255,255,.3)}
.cal-msg{min-height:18px;font-size:13px;color:#8ef0b9}
/* touch sticks */
.sim-touch{position:absolute;inset:auto 0 0 0;height:0;z-index:5}
.ts{position:absolute;bottom:64px;width:128px;height:128px;border-radius:50%;border:1px solid rgba(255,255,255,.18);background:rgba(13,15,18,.35);touch-action:none}
.ts-l{left:16px}.ts-r{right:16px}
.ts i{position:absolute;left:50%;top:50%;width:46px;height:46px;margin:-23px;border-radius:50%;background:rgba(244,242,238,.85);box-shadow:0 2px 10px rgba(0,0,0,.4)}
.sim-act{position:absolute;right:160px;bottom:100px;appearance:none;border:0;border-radius:50%;width:62px;height:62px;background:var(--acc);color:#fff;font:700 12px Montserrat}
@media (pointer:fine){.sim-touch{display:none}}
@media (pointer:coarse){.hud-sticks,.hud-keys{display:none}.hud-bl{bottom:auto;top:auto;left:50%;transform:translateX(-50%);bottom:200px}}
@media (max-width:640px){.hud-obj{right:16px;max-width:none;top:56px}.hud-tr{left:16px;right:auto}.hud-text{font-size:13px}.res-parts li,.res-skills li{grid-template-columns:110px 1fr 80px}.rates-grid{grid-template-columns:1fr}.sb span{display:none}.sim .hud-keys{right:16px}}
@media (prefers-reduced-motion:reduce){.hud-alert.is-on{animation:none}[data-anim] i{animation:none!important}.sim-static{animation:none}}
/* missions, hangar, stars */
.mis-top{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-bottom:14px}.mis-top div{background:var(--g2);border-radius:12px;padding:12px 14px}.mis-top b{display:block;font:600 20px var(--mono)}.mis-top small{color:var(--mu);font-size:12px}
.mis-ch{margin:0 0 16px}.mis-ch__h{display:grid;gap:2px;margin-bottom:8px}.mis-ch__h b{font-size:16px}.mis-ch__h small{color:var(--mu);font-size:12.5px}.mis-req{color:var(--warn)!important}
.mis-ch.is-closed .mis{opacity:.5}
.mis-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:8px}
.mis{appearance:none;display:grid;grid-template-columns:52px 1fr auto;gap:10px;align-items:center;text-align:left;padding:8px 10px 8px 8px;border-radius:12px;border:1px solid transparent;background:var(--g2);color:var(--tx);cursor:pointer;font-family:Montserrat}
.mis:hover{border-color:var(--ln)}.mis.is-cur{border-color:var(--acc)}.mis.is-locked{opacity:.6}
.mis__t b{display:block;font-size:13.5px;font-weight:600}.mis__t small{font-size:11px;color:var(--mu)}
.mis__env{width:52px;height:40px;border-radius:9px;background:linear-gradient(135deg,#3a4a3a,#1d2128)}
.mis__env--storm{background:linear-gradient(135deg,#5a6470,#2a2f37)}.mis__env--flood{background:linear-gradient(135deg,#3e5a66,#1b2b33)}.mis__env--wildfire{background:linear-gradient(135deg,#f2541b,#5a1d0d)}.mis__env--night{background:linear-gradient(135deg,#1b2340,#05070c)}.mis__env--powerline{background:linear-gradient(135deg,#7a8590,#2a2f37)}.mis__env--substation{background:linear-gradient(135deg,#6b7078,#1d2128)}.mis__env--sar{background:linear-gradient(135deg,#6f7f42,#2b3a1c)}.mis__env--hall{background:linear-gradient(135deg,#c9b38d,#5a4a35)}
.stars{display:inline-flex;gap:1px;font-size:14px;color:#3a3f47}.stars i{font-style:normal}.stars i.on{color:#ffc93c;text-shadow:0 0 8px rgba(255,201,60,.5)}.stars--big{font-size:38px;gap:6px}
.mis-res{display:grid;justify-items:center;gap:2px;margin:0 0 14px;padding:14px;border-radius:14px;background:radial-gradient(circle at 50% 0,rgba(242,84,27,.18),transparent 70%)}.mis-res b{font:600 22px var(--mono);color:#ffc93c}.mis-res small{color:var(--mu)}
.mis-story{border-left:2px solid var(--acc);padding-left:12px;margin:8px 0}.mis-story p{margin:0 0 6px;color:var(--tx)!important}
.mis-meta{display:flex;gap:10px;align-items:center;margin:6px 0 10px}.chip-x{font:600 12px var(--mono);color:#ffc93c;background:rgba(255,201,60,.12);padding:5px 9px;border-radius:7px}
.mis-legal{font-size:12.5px;color:#9fc3ff!important;background:rgba(47,111,228,.12);border-radius:9px;padding:8px 10px}
.mis-tips{font-size:13px;color:var(--mu);padding-left:18px;margin:8px 0}
.sp-lock.pay{border-color:rgba(255,201,60,.5);background:linear-gradient(135deg,rgba(242,84,27,.12),rgba(255,201,60,.06))}
.sim.is-thermal .sim-cv{filter:contrast(1.35) brightness(1.05)}
.sim.is-thermal::after{content:"TERMOVIZORIUS · WHITE HOT";position:absolute;right:16px;top:56px;z-index:3;font:600 11px var(--mono);color:#fff;background:#0009;padding:6px 9px;border-radius:7px;letter-spacing:.08em}
/* 3D lesson animations */
.story{position:relative;overflow:hidden;background:#0d0f12;border-radius:18px;color:#f4f2ee;font-family:Montserrat,system-ui,sans-serif;aspect-ratio:16/9;min-height:300px}
@media (max-width:700px){.story{aspect-ratio:auto;height:440px}}
.story__cv{position:absolute;inset:0;width:100%;height:100%;display:block}
.story__labels{position:absolute;inset:0;pointer-events:none}
.story__lab{position:absolute;left:0;top:0;font:600 12px/1.2 "JetBrains Mono",monospace;background:rgba(13,15,18,.78);border:1px solid rgba(255,255,255,.18);padding:5px 8px;border-radius:7px;white-space:nowrap}
.story__lab.z{border-color:rgba(47,191,113,.6)}.story__lab.warn{border-color:#ff4d4d;color:#ffb3b3}.story__lab.acc{border-color:#f2541b;color:#ffb08f}
.story__chips{position:absolute;right:12px;top:12px;display:flex;gap:6px;flex-wrap:wrap;justify-content:flex-end;max-width:60%}.story__chips span{font:600 11px "JetBrains Mono",monospace;background:rgba(13,15,18,.8);border:1px solid rgba(255,255,255,.15);padding:6px 8px;border-radius:7px}
.story__cap{position:absolute;left:14px;right:14px;bottom:52px;max-width:640px;background:rgba(13,15,18,.82);backdrop-filter:blur(8px);border:1px solid rgba(255,255,255,.12);border-left:3px solid #f2541b;border-radius:12px;padding:12px 14px;opacity:0;transform:translateY(8px);transition:.4s}
.story__cap.in{opacity:1;transform:none}.story__cap b{font-size:15px;display:block;margin-bottom:3px}.story__cap p{margin:0;font-size:14px;line-height:1.5;color:rgba(244,242,238,.85)}
.story__ctl{position:absolute;left:12px;right:12px;bottom:12px;display:flex;gap:10px;align-items:center}
.story__btn{appearance:none;border:1px solid rgba(255,255,255,.18);background:rgba(13,15,18,.8);color:#fff;border-radius:9px;width:34px;height:30px;cursor:pointer;font-size:12px}
.story__bar{flex:1;height:6px;border-radius:3px;background:rgba(255,255,255,.15);position:relative;cursor:pointer}.story__bar i{position:absolute;left:0;top:0;bottom:0;background:#f2541b;border-radius:3px}.story__bar span{position:absolute;top:-2px;width:2px;height:10px;background:rgba(255,255,255,.45)}
.story__t{font:600 11px "JetBrains Mono",monospace;color:rgba(244,242,238,.7)}
@media (prefers-reduced-motion:reduce){.story__cap{transition:none}}
.story__cap{right:auto;max-width:min(440px,calc(100% - 28px));padding:9px 12px;background:rgba(13,15,18,.72)}.story__cap b{font-size:14px}.story__cap p{font-size:13px}
