:root{color-scheme:dark;--green:#a3f548;--bg:#0a0e0c;--panel:#151c18;--line:#29362d;--muted:#9eaaa1}*{box-sizing:border-box}body{margin:0;background:radial-gradient(ellipse at 85% 0,#183b20 0,transparent 34%),var(--bg);font:15px/1.5 Arial,Helvetica,sans-serif;color:#f2f7f2}button{font:inherit;cursor:pointer;border:1px solid var(--line);background:#202b23;color:#f5fff5;border-radius:11px;padding:10px 15px}button:hover{border-color:var(--green)}button:disabled{opacity:.35;cursor:not-allowed}.shell{max-width:1260px;margin:auto;padding:20px 28px}header{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--line);padding:10px 0 24px}.logo{display:flex;align-items:baseline;gap:13px}.logo>span{font-size:30px;font-weight:900;letter-spacing:-2px;color:var(--green)}.logo small{font-size:17px;letter-spacing:1px;font-weight:800}.logo b{font-weight:400}.badge,.chip{color:var(--green);background:#1b3020;border:1px solid #365e3a;padding:8px 12px;border-radius:30px;font-size:11px;font-weight:800;letter-spacing:1px}.hero{padding:48px 0 30px;display:flex;align-items:flex-end;justify-content:space-between;gap:25px}.eyebrow,small{color:var(--muted)}.eyebrow{color:var(--green);font-size:12px;font-weight:700;letter-spacing:2px}h1{font-size:clamp(32px,4.5vw,60px);line-height:1.12;letter-spacing:-2px;margin:14px 0}h1 em{font-style:normal;color:var(--green)}.hero p{max-width:680px;color:var(--muted)}.stats{display:flex;gap:14px}.stats div{min-width:160px;background:#152219;padding:17px;border:1px solid var(--line);border-radius:16px}.stats b{display:block;font-size:24px}.stats small{font-size:11px}nav{display:flex;gap:9px;border-bottom:1px solid var(--line);padding:10px 0 20px;margin-bottom:22px}nav button{background:transparent;border-color:transparent}nav .active{background:var(--green);color:#0d1b0b;font-weight:800}.grid{display:grid;grid-template-columns:1fr 1fr;grid-gap:18px;gap:18px}.panel{background:linear-gradient(145deg,#19221c,#111713);border:1px solid var(--line);border-radius:19px;padding:22px;min-width:0}.wide{grid-column:1/-1}.panelhead{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:22px}.panelhead small{font-size:10px;letter-spacing:2px}.panel h2{margin:2px 0;font-size:23px}.dashboard{background:linear-gradient(130deg,#090e0d,#18241c);border:8px solid #2d3930;border-radius:30px;padding:30px;text-align:center;box-shadow:inset 0 0 45px #000}.speed strong{font-size:95px;line-height:1;letter-spacing:-7px}.speed span{display:block;color:var(--green);font-size:14px}.dashrow{display:grid;grid-template-columns:1fr 1fr;grid-gap:3px 15px;gap:3px 15px;margin-top:24px;text-align:left}.dashrow span{color:var(--muted);font-size:10px}.dashrow b{font-size:17px}.control{display:flex;justify-content:space-between;flex-wrap:wrap;margin-top:25px}.control input{width:100%;accent-color:var(--green);margin:17px 0}.clock,.controls,.switch,.tacho-buttons{display:flex;gap:8px}.controls button{flex:1 1}.danger{background:#472a2a}.clock{align-items:center;flex-wrap:wrap;margin-top:22px}.clock span{margin-right:auto;color:var(--muted)}.activity .chosen,.selected{background:var(--green)!important;color:#10210c!important;font-weight:800}.switch button{font-size:12px;padding:8px}.tacho{border-radius:18px;border:8px solid #303a37;background:linear-gradient(135deg,#333d38,#151c19);padding:15px}.tacho-brand{display:flex;justify-content:space-between;font-size:11px;font-weight:700;color:#d7e5dd}.tacho-brand span{font-size:8px;color:#e6ad6a}.lcd{font:18px/1.6 Courier New,monospace;background:#9eaf9e;color:#122c20;padding:18px;margin:18px 5px;border:6px solid #141b18;border-radius:6px;min-height:145px}.lcd div{display:flex;justify-content:space-between;gap:8px}.lcd div:nth-child(2){font-size:14px}.tacho-buttons{justify-content:space-between;flex-wrap:wrap}.tacho-buttons button{border-radius:30px;background:#111916;min-width:45px;padding:10px}.card{width:100%;margin-top:14px;background:#304237}.activity{margin-top:20px}.activity>div{display:flex;gap:7px;margin-top:9px;flex-wrap:wrap}.activity button{flex:1 1;font-size:12px}.warning{margin-top:15px;padding:12px;border-radius:10px;background:#3d321d;color:#e8c784;font-size:12px}.progress{display:grid;grid-template-columns:1fr 1fr;grid-gap:35px;gap:35px}.progress>div{display:grid;grid-template-columns:1fr auto;grid-gap:12px;gap:12px}.muted,.progress span{color:var(--muted)}.bar{height:9px;background:#344138;border-radius:10px;grid-column:1/-1;overflow:hidden}.bar i{display:block;height:100%;background:var(--green)}.muted{font-size:13px}.table{margin:20px 0}.tr{display:grid;grid-template-columns:2fr 1fr 1fr;padding:12px;border-bottom:1px solid var(--line)}.heading{color:var(--green);font-weight:700}.outline{background:transparent}.missions{display:grid;grid-gap:12px;gap:12px}.mission{width:100%;display:flex;align-items:center;text-align:left;gap:18px;padding:18px}.mission>span{background:var(--green);color:#14210c;border-radius:50%;width:38px;height:38px;display:grid;place-items:center;font-weight:700}.mission div{flex:1 1}.mission small{display:block}.mission strong{font-size:11px;color:var(--green)}.current{border-color:var(--green)}footer{padding:32px 0;color:#778b7b;font-size:12px;text-align:center}@media(max-width:850px){.hero{display:block}.stats{margin-top:20px}.grid{grid-template-columns:1fr}.wide{grid-column:auto}.progress{grid-template-columns:1fr}}@media(max-width:520px){.shell{padding:12px}.logo{display:block}.logo>span{font-size:25px}.logo small{display:block}.badge{font-size:9px}.stats div{min-width:0;flex:1 1}.stats b{font-size:19px}.panel{padding:14px}.lcd{font-size:14px;padding:10px}.speed strong{font-size:75px}nav button{padding:9px;font-size:12px}.mission{gap:9px}.mission strong{font-size:9px}}.import-button{display:inline-flex;align-items:center;justify-content:center;padding:12px 18px;border:1px solid #657b70;border-radius:10px;cursor:pointer;font-weight:700;background:#173c2a;color:#fff}.import-button input{display:none}.quiz-list{display:grid;grid-gap:16px;gap:16px;margin:22px 0}.quiz-question{border:1px solid #2c3935;border-radius:14px;padding:18px;background:#111b18}.quiz-question h3{margin:0 0 14px;font-size:17px}.quiz-answers{display:flex;gap:9px;flex-wrap:wrap}.quiz-answers button{flex:1 1 180px;min-height:45px}.quiz-answers button.correct{border-color:#43d781;background:#18452f}.quiz-answers button.incorrect{border-color:#e96d6d;background:#512525}.quiz-good{color:#7ce5a2}.quiz-bad{color:#f1a4a4}.panel input:not([type=range]):not([type=file]){display:block;width:100%;padding:12px;margin:9px 0 16px;background:#0e1614;border:1px solid #456057;border-radius:10px;color:white;font:inherit}.studentrow{display:flex;gap:12px;align-items:center;flex-wrap:wrap;border-top:1px solid #385045;padding:14px 0}.studentrow small{flex:1 1;min-width:120px;color:#b6c7c0}.studentrow button{margin-left:auto}a,button,input,select{touch-action:manipulation}button{min-height:44px}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid var(--green);outline-offset:3px}a{color:#b9f477}.shell{padding-top:max(16px,env(safe-area-inset-top));padding-bottom:max(20px,env(safe-area-inset-bottom));overflow-wrap:anywhere}.controls{flex-wrap:wrap}.panel select{max-width:100%;padding:12px;color:white;background:#0e1614;border:1px solid #456057;border-radius:8px}input[type=checkbox]{width:auto!important;display:inline!important;accent-color:var(--green)}.quiz-answers .selected-answer{background:#2b3c47;border-color:#acd0e2}.table{overflow-x:auto}.tr{min-width:330px}.lcd{overflow-wrap:anywhere}.ticket-screen{min-height:100vh;background:#e8e8e8;color:#111;padding:20px}.ticket-toolbar{max-width:950px;margin:0 auto 20px;display:flex;gap:10px;flex-wrap:wrap;align-items:center}.ticket-toolbar label{display:flex;gap:6px;align-items:center}.ticket-toolbar input,.ticket-toolbar select{color:#111;background:white;padding:10px;border:1px solid #999}.thermal-paper{width:80mm;max-width:100%;margin:0 auto;background:white;color:#111;padding:6mm 4mm;box-shadow:0 4px 20px #0002;font:11px/1.35 Courier New,monospace}.thermal-paper p{margin:0 0 4px;white-space:pre-wrap;overflow-wrap:anywhere}.thermal-paper p:nth-child(-n+3){font-weight:700;text-align:center}.thermal-paper p{page-break-inside:avoid;break-inside:avoid}@media(max-width:520px){header{gap:12px;flex-wrap:wrap}.badge{max-width:100%}nav{overflow-x:auto}nav button{flex:none}.panelhead{flex-wrap:wrap}.controls button{flex:1 1 120px}.lcd{margin:12px 0;min-height:155px}.tacho{padding:9px}.quiz-question{padding:12px}input,select{font-size:16px!important}.ticket-screen{padding:10px}.ticket-toolbar button{flex:1 1 130px}.stats{gap:8px}}@media(orientation:landscape) and (max-height:500px){.hero{padding-top:14px}h1{font-size:32px}.dashboard{padding:15px}.speed strong{font-size:65px}}@media print{@page{size:80mm 200mm;margin:4mm}.ticket-toolbar{display:none!important}.ticket-screen{padding:0;background:white}.thermal-paper{box-shadow:none;width:72mm;padding:0;margin:0;max-width:none;font-size:10px}body{background:white;color:#111}.thermal-paper p{orphans:2;widows:2}}.driver-two{margin-top:20px;border-top:1px solid var(--line);padding-top:16px}.driver-two .activity{display:flex;gap:6px;flex-wrap:wrap;margin:12px 0}.update-banner{position:fixed;bottom:max(12px,env(safe-area-inset-bottom));left:12px;right:12px;margin:auto;max-width:650px;z-index:100;background:#244c2e;border:1px solid var(--green);padding:12px;border-radius:12px;display:flex;align-items:center;justify-content:space-between;gap:12px}.replay{margin-top:20px;padding:16px;border:1px solid var(--line);border-radius:12px}.replay input[type=range]{width:100%;accent-color:var(--green)}.driver-two button{margin:4px 0}@media print{.shell>a,.shell>h1,.shell>section.panel,.update-banner{display:none!important}}.simulator-shell{--green:#36ddba;--bg:#070e13;--panel:#101b23;--line:#23353f;--muted:#91a8b5;max-width:1320px}body:has(.simulator-shell){background:radial-gradient(ellipse at 50% 0,#102730 0,transparent 55%),#070e13}.simulator-shell header{padding:8px 0 18px;gap:16px}.simulator-shell .logo>span{color:#36ddba;letter-spacing:-1px}.simulator-shell .logo small{font-size:12px;letter-spacing:2px;text-transform:uppercase}.simulator-shell .badge,.simulator-shell .chip{background:#102923;border-color:#235548;color:var(--green);border-radius:10px}.simulator-shell a{color:var(--green)}.simulator-shell .hero{padding:24px 0 12px;align-items:center}.simulator-shell h1{font-size:clamp(25px,3vw,38px);letter-spacing:-1px;margin:8px 0}.simulator-shell .hero p{margin:8px 0;font-size:14px}.simulator-shell .stats div{min-width:140px;padding:12px 16px;background:#0d1a21;border-radius:12px}.simulator-shell .stats b{font-size:21px}.simulator-shell>p[role=status]{font-size:12px;margin:8px 0 16px}.simulator-shell nav{padding:5px;gap:4px;border:1px solid var(--line);border-radius:14px;background:#0a1319}.simulator-shell nav button{flex:1 1;border-radius:10px;font-weight:700;color:var(--muted)}.simulator-shell nav .active{background:linear-gradient(#12332e,#0d211f);color:var(--green);border-color:#215146}.simulator-shell button{background:#111f28;border-color:#2b404d;color:#ccdae1;border-radius:9px}.simulator-shell button:hover{border-color:var(--green)}.simulator-shell .activity .chosen,.simulator-shell button.selected{background:#123a32!important;color:var(--green)!important;border-color:#318b73}.simulator-shell .panel{background:linear-gradient(145deg,#101c24,#0b141b);border-color:var(--line);border-radius:18px}.simulator-grid{grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);align-items:start}.device-panel{grid-column:1;grid-row:1}.cabin-panel{grid-column:2;grid-row:1}.simulator-shell .panelhead{margin-bottom:18px}.simulator-shell .panelhead h2{font-size:19px}.simulator-shell .panelhead small{font-family:monospace;color:#8aa7b4}.simulator-shell .switch{gap:5px}.simulator-shell .dashboard{border:1px solid #304854;border-radius:16px;padding:22px;background:radial-gradient(ellipse at 50% 20%,#18313b,#091219 80%);box-shadow:inset 0 0 30px #0005}.simulator-shell .speed strong{font-size:70px;font-weight:500;letter-spacing:-4px;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.simulator-shell .dashrow{margin-top:18px;grid-template-columns:auto 1fr;align-items:center}.simulator-shell .dashrow b{font-size:13px;text-align:right;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.simulator-shell .control{margin-top:18px;font-size:13px}.simulator-shell .control input{margin:14px 0}.simulator-shell .clock{margin-top:16px;font-size:12px}.simulator-shell .danger{color:#eeb8ad;border-color:#614238;background:#261c1a}.simulator-shell .warning{border:1px solid #634d2b;background:#201d16;color:#e5c994}.simulator-shell .tacho{padding:0;background:transparent;border:0;border-radius:0}.device-face{position:relative;isolation:isolate;display:grid;grid-template-columns:minmax(0,1.65fr) minmax(80px,1fr);grid-gap:10px 14px;gap:10px 14px;padding:16px 20px 13px;border:6px ridge #45484a;border-radius:5px;background:linear-gradient(165deg,#454648,#292b2d 32%,#343638 68%,#222426);box-shadow:0 12px 24px #0007,inset 0 1px 1px #ffffff24}.device-face:before{content:"";position:absolute;inset:5px;border:1px solid #1118;pointer-events:none;z-index:-1}.device-face .tacho-brand{grid-column:1/-1;align-items:center;gap:10px;font:10px/1.4 monospace;letter-spacing:.5px;color:#d5dadb}.device-face .tacho-brand span{font-size:8px;color:#bdc4c7;text-align:right}.device-face .lcd{grid-column:1;grid-row:2;margin:0;border:6px solid #141719;outline:1px solid #55585a;box-shadow:inset 0 2px 7px #0005;border-radius:1px;padding:9px 7px;min-height:108px;background:linear-gradient(100deg,#adc0a6,#95ac90);color:#152d20;font:12px/1.65 Courier New,monospace;letter-spacing:-.3px}.device-face .lcd div{flex-wrap:wrap;gap:0 7px}.device-face .lcd div:nth-child(2){font-size:12px;font-weight:700;min-height:40px;padding:4px 0}.device-face .lcd div span{white-space:nowrap}.device-printer{grid-column:2;grid-row:2;position:relative;border:2px solid #1c1e20;box-shadow:inset 1px 1px 2px #ffffff12,1px 1px 1px #ffffff15;background:linear-gradient(#323436,#2b2d2f);border-radius:3px;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:16px}.printer-handle{width:52%;height:17px;border-top:5px solid #161819;border-left:5px solid transparent;border-right:5px solid transparent;filter:drop-shadow(0 1px 0 #666)}.device-printer span{font:7px monospace;letter-spacing:2px;color:#929799}.printer-seam{position:absolute;bottom:18px;left:0;right:0;height:2px;background:#1b1d1e;box-shadow:0 1px 0 #ffffff0c}.device-face .tacho-buttons{grid-column:1/-1;display:grid;grid-template-columns:repeat(7,minmax(0,1fr));grid-gap:4px;gap:4px;flex-wrap:nowrap}.device-face .tacho-buttons button{min-width:0;min-height:44px;padding:2px;border-radius:3px;background:linear-gradient(#404345,#232628);border:1px solid #16191a;box-shadow:inset 0 1px 0 #ffffff21,0 2px 2px #0007;font:700 12px monospace;color:#e7e9e9}.device-face .tacho-buttons button:hover{background:linear-gradient(#505558,#303639);border-color:#a0b6b0}.device-face .tacho-buttons button:active{transform:translateY(1px);box-shadow:inset 0 2px 4px #0009}.device-slots{grid-column:1/-1;display:flex;gap:30px}.device-slots span{flex:1 1;height:9px;background:linear-gradient(#090b0c 40%,#282b2d 50%);border:1px solid #16191a;border-bottom-color:#55585a;border-radius:2px}.device-screw{position:absolute;width:6px;height:6px;border-radius:50%;background:linear-gradient(135deg,#ddd 45%,#555 46%,#888 58%,#bbb 59%);box-shadow:0 0 2px #000}.screw-tl{left:5px;top:12px}.screw-tr{right:5px;top:12px}.screw-bl{left:5px;bottom:12px}.screw-br{right:5px;bottom:12px}.stoneridge-device .device-face{border-radius:16px;background:linear-gradient(145deg,#37393b,#202224);border-style:solid}.stoneridge-device .lcd{background:linear-gradient(#a8b5a1,#8b9b84)}.simulator-shell .card{background:#102e28;border-color:#2b6355;color:#7ee3c9;margin-top:14px;font-size:13px}.simulator-shell .driver-two{font-size:13px}.simulator-shell .driver-two h3{font-size:15px}.simulator-shell .bar{background:#24353e;height:6px}.simulator-shell footer{color:#7a929f;border-top:1px solid var(--line);margin-top:24px;line-height:1.8}@media(max-width:850px){.simulator-grid{grid-template-columns:1fr}.cabin-panel,.device-panel{grid-column:auto;grid-row:auto}.device-panel{order:-1}.simulator-shell .hero{display:flex;flex-wrap:wrap;gap:8px}.simulator-shell .stats{margin-top:0}.simulator-shell .stats div{min-width:125px}.simulator-shell .device-face{max-width:680px;margin:0 auto}}@media(max-width:520px){.simulator-shell{padding:12px 10px}.simulator-shell header{padding:6px 2px 14px}.simulator-shell .logo>span{font-size:27px}.simulator-shell .logo small{font-size:10px;letter-spacing:1px}.simulator-shell .badge{font-size:9px;padding:7px 9px;letter-spacing:.3px}.simulator-shell .hero{padding:15px 2px 6px}.simulator-shell .eyebrow{font-size:9px;letter-spacing:1.5px}.simulator-shell .hero p{font-size:12px}.simulator-shell .stats{width:100%;gap:8px;margin-top:8px}.simulator-shell .stats div{min-width:0;display:flex;align-items:center;justify-content:space-between;gap:8px;padding:8px 10px}.simulator-shell .stats b{font-size:15px}.simulator-shell .stats small{font-size:9px;text-align:right}.simulator-shell nav{margin-bottom:14px;overflow-x:auto}.simulator-shell nav button{padding:8px;font-size:11px;white-space:nowrap}.simulator-shell .panel{padding:12px}.simulator-shell .panelhead{gap:8px}.simulator-shell .panelhead small{font-size:8px;letter-spacing:1px}.simulator-shell .switch button{font-size:11px;padding:6px 10px}.device-face{gap:8px;padding:12px 10px 10px;border-width:4px;grid-template-columns:minmax(0,1.85fr) minmax(70px,1fr)}.device-face .tacho-brand{font-size:8px;letter-spacing:0;align-items:start}.device-face .tacho-brand span{font-size:6px;max-width:70px}.device-face .lcd{font-size:10px;line-height:1.6;min-height:104px;padding:7px 5px;border-width:4px}.device-face .lcd div:nth-child(2){font-size:10px;min-height:38px}.device-face .tacho-buttons button{font-size:10px;min-height:44px}.device-printer span{font-size:6px;letter-spacing:1px}.simulator-shell .activity button{padding:8px;font-size:11px}.simulator-shell .dashboard{padding:18px}.simulator-shell .speed strong{font-size:58px}}@media(prefers-reduced-motion:reduce){.device-face .tacho-buttons button:active{transform:none}}.device-face .lcd.lcd-no-card{animation:lcd-no-card-pulse 1.6s ease-in-out infinite}@keyframes lcd-no-card-pulse{0%,to{filter:brightness(1);box-shadow:inset 0 2px 7px #0005,0 0 8px #9fce8f45}50%{filter:brightness(.68);box-shadow:inset 0 2px 7px #0005,0 0 0 #9fce8f00}}@media(prefers-reduced-motion:reduce){.device-face .lcd.lcd-no-card{animation:none;outline:2px solid #e3b55d}}.insertion-wizard{margin-top:18px;padding:18px;background:#0e2229;border:1px solid #33786a;border-radius:12px}.insertion-wizard h3{margin:6px 0 12px}.insertion-wizard>small{color:var(--green);font:10px monospace;letter-spacing:1px}.insertion-wizard .controls{margin:12px 0}.insertion-wizard>button{margin:8px 8px 0 0}.insertion-wizard progress{width:100%;accent-color:var(--green)}.insertion-wizard label{display:block;margin:12px 0}.insertion-wizard select{display:block;width:100%;margin-top:6px}