:root{--campus-ink:#262440;--campus-muted:#57546e;--campus-paper:#fffdf9;--campus-border:#ded8e9;--campus-red:#c12945;--campus-aqua:#42b9a0;--campus-purple:#8a5ac9;color-scheme:light}
body{background:#f5f0fa;color:var(--campus-ink)}
.topbar{max-width:none;background:#29273a;border-color:#4a455e;color:#fff;box-shadow:0 3px 0 #c9bcd5}
.brand{color:#fff}.brand .accent{color:#ff7382}
.top-actions .icon-button,.language-label select{background:#39364c;border-color:#675e7a;color:#fff}
.page-heading{padding:28px 0 20px}.page-heading h1{display:flex;gap:.3em;flex-wrap:wrap;font-size:clamp(20px,3vw,36px);line-height:1.15}
.page-heading h1 br{display:none}.page-heading h1 em{color:var(--campus-red)}
.adventure-layout{align-items:start;gap:16px}
.adventure-layout.panel-hidden{grid-template-columns:minmax(0,1fr)}
.adventure-layout .mission-panel[hidden]{display:none!important}
.game-column,.mission-panel{min-width:0;background:var(--campus-paper);border:1px solid var(--campus-border);box-shadow:0 4px 0 #ddd1e5;border-radius:13px}
.game-column{overflow:hidden}.game-toolbar,.game-bottom{background:#fffdf9;color:var(--campus-muted)}
.game-toolbar{border-bottom:1px solid var(--campus-border);padding-inline:14px}
.game-toolbar .location{color:#342b52;font-weight:800;letter-spacing:.02em}
.game-toolbar .toolbar-buttons button,.game-bottom button{color:#5e4c77}
.game-toolbar .toolbar-buttons button:hover,.game-bottom button:hover{color:var(--campus-red)}
#panel-toggle{border:1px solid #e3d9ed;background:#f5edfc;border-radius:7px;min-height:30px;padding:0 8px;white-space:nowrap}
#panel-toggle[aria-expanded=false]{color:#713891}
.game-frame{background:#81b771;min-height:360px;isolation:isolate}
.game-frame>canvas{image-rendering:crisp-edges;image-rendering:pixelated}
.game-frame:fullscreen{border-radius:0}
.world-hud .hud-label{color:#fff;background:#34415b;border:1px solid #e2e3f8aa}
.start-screen{inset:0;display:grid;place-items:center;text-align:center;padding:25px 12px;background:none;pointer-events:none;z-index:2}
.start-screen[hidden]{display:none}
.start-card{pointer-events:auto;display:grid;justify-items:center;gap:9px;width:min(320px,92%);padding:16px 15px 18px;color:var(--campus-ink);background:#fff8e9ed;border:2px solid #fffbec;box-shadow:0 5px 0 #7062527d,0 0 0 2px #685d698a;border-radius:16px}
.start-screen h2{color:var(--campus-ink);margin:0;font-size:clamp(22px,3vw,32px);line-height:1.12;letter-spacing:-.05em;text-shadow:none}
.start-screen h2>span{display:block}.start-screen h2>span:first-child{color:#2f2944}.start-screen h2>span:last-child{color:#b32845}
.mascot-preview{position:relative;display:grid;place-items:center;width:100%;height:clamp(100px,17vw,190px)}
.mascot-preview::before{content:"";position:absolute;inset:12% 21% 8%;background:#fbe4c7;border-radius:50%;border:2px solid #fff4da}
.mascot-preview canvas{position:relative;height:100%;max-height:100%;width:auto;image-rendering:pixelated;pointer-events:none}
.preview-orbit{position:absolute;display:flex;justify-content:space-between;align-items:center;inset:0 8%;pointer-events:none}
.preview-orbit button{pointer-events:auto;width:44px;height:44px;color:#573b6d;background:#fff9f1;border:1px solid #d6b8cf;border-radius:50%;font-size:28px;line-height:1}
.preview-orbit button:hover{background:#f4dcec}
.primary{background:#c92a47;border:1px solid #9e1f39;box-shadow:0 3px #8f263d;border-radius:8px;color:#fff}
.primary:hover:not(:disabled){background:#ae1e38}
.start-screen .primary{margin:1px 0 0;min-height:46px;padding:9px 17px;font-size:13px}
.game-bottom kbd{background:#f0e7f7;color:#5a4273;border-color:#d8c8e4}
.mission-panel{padding:19px 18px}
.panel-heading .eyebrow,.panel-heading>span:last-child,.quest-label,.inventory-label,.mission-panel>p,.progress-line,.quest-steps{color:var(--campus-muted)}
.mission-panel>h2,.mission-panel>h3{color:var(--campus-ink)}
.progress-line>span:last-child,.quest-label>span:last-child{color:var(--campus-red)}
.progress-track{background:#e8dff3}.progress-track>div{background:linear-gradient(90deg,#d34775,#ac67d1)}
.panel-divider{background:#e6daeb}.step-box{border-color:#beaaca;background:#fbf5fe}.step-done,.step-done .step-box{color:#20735e}.step-done .step-box{background:#d3f4e4}
.secondary{background:#eee5fa;color:#593c78;border-color:#d9c6eb;border-radius:7px}
.secondary:hover:not(:disabled){background:#e7d7f5}
#collection{margin-top:8px;text-align:center;justify-content:center}
.buddy-note{background:#fbecf1;margin-top:12px;border-radius:8px}
.buddy-note b{color:#a32943}.buddy-note p{color:#624a64}
.chapters-section{padding-top:26px}.section-title h2{color:#35284c}
.chapter-card,.chapter-card.locked{min-height:114px;background:#fffdf9;color:var(--campus-ink);border:1px solid var(--campus-border);border-top:4px solid var(--zone-color);border-radius:10px}
.chapter-card.current{background:#fff2ed;border-top-color:var(--zone-color)}
.chapter-card:hover:not(:disabled){background:#f4eaff}
.chapter-card p,.chapter-card .chapter-index{color:#685673}
.chapter-card .mini-track{background:#eee6f3}.chapter-card .mini-track>i{background:var(--zone-color)}
footer,footer button,.footer-brand{color:#665672;border-color:#e0d4e6}
.touch-controls{align-items:flex-end;gap:12px;pointer-events:none}
.joystick{position:relative;pointer-events:auto;touch-action:none;width:86px;height:86px;border:2px solid #ffffffb0;border-radius:50%;background:#31304cd9;box-shadow:0 4px #30284555}
.joystick::before,.joystick span{position:absolute;inset:25%;content:"";border:1px solid #c0c2e299;border-radius:50%}
.joystick span{inset:28%;background:#f7e9fe;border:2px solid #c1a5dd;transform:translate(var(--stick-x,0),var(--stick-y,0));pointer-events:none}
.touch-actions{display:flex;align-items:flex-end;gap:9px;pointer-events:auto}
.touch-actions button{background:#483962ed;color:#fff;border-color:#c1a5dd;width:46px;height:46px;border-radius:50%;font-weight:800}
.touch-actions .touch-act{background:#b32845f2;border-color:#ffc3c6}
.game-tip{z-index:3}.game-tip[hidden]{display:none}
.modal{--modal-bg:#25233b;background:var(--modal-bg);border-color:#74648b;color:#f5effa;border-radius:14px;box-shadow:0 8px 0 #20182875}
.modal h2,.modal .quiz-question{color:#fff5f5}.modal p,.modal .practice-instruction{color:#e4d8ef}
.modal button:focus-visible,.game-column button:focus-visible{outline:3px solid #eaae63;outline-offset:2px}
.modal .eyebrow{color:#f2afc4}.modal .notice{background:#322948;border-color:#7b5a93;color:#e9d7ef}
.lesson-video{display:block;width:100%;max-height:50vh;border-radius:9px;margin-bottom:14px}
.zone-card{border-top:3px solid var(--zone-color);background:#302945}
.zone-card .gate-hint{margin:0 0 8px;font-size:12px;color:#dfccee}
.zone-card .secondary{margin-bottom:8px}
.gate-effect{perspective:380px;height:110px;display:flex;align-items:center;justify-content:center;gap:10px;margin-bottom:12px}
.unlock-key{width:78px;height:78px;image-rendering:pixelated;animation:key-turn .68s cubic-bezier(.25,.6,.32,1) both}
.gate-lock{position:relative;display:block;width:44px;height:33px;background:#92e5c9;border:4px solid #62a996;border-radius:6px;margin-top:20px}
.gate-lock::before{content:"";position:absolute;left:5px;top:-27px;width:18px;height:23px;border:5px solid #92e5c9;border-bottom:0;border-radius:13px 13px 0 0;transform-origin:bottom right;animation:lock-open .55s .34s both}
.gate-lock::after{content:"";position:absolute;inset:8px 13px 5px;background:#395861;border-radius:4px}
@keyframes key-turn{from{transform:rotateY(0) translateX(-18px)}to{transform:rotateY(360deg) translateX(6px)}}
@keyframes lock-open{from{transform:translateY(3px) rotate(0)}to{transform:translateY(-4px) rotate(36deg)}}
.collection-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:9px}
.collection-item{display:grid;grid-template-columns:34px 1fr auto;align-items:center;gap:7px;min-height:58px;padding:8px;border:1px solid #65517d;background:#372d4c;border-radius:9px;font-size:12px}
.collection-item canvas{width:32px;height:32px;image-rendering:pixelated}.collection-item strong{color:#ffd483}.collection-item.undiscovered canvas{opacity:.35;filter:grayscale(1)}
.celebration{position:absolute;z-index:2;top:34%;left:50%;pointer-events:none}
.celebration i{position:absolute;width:7px;height:11px;border-radius:2px;background:var(--confetti);animation:confetti .85s ease-out both}
.champion-result{border:2px solid #ffbf66}
@keyframes confetti{0%{transform:translate(0,0) rotate(0);opacity:0}12%{opacity:1}100%{transform:translate(var(--dx),var(--dy)) rotate(260deg);opacity:0}}
.practice-lesson{font-size:12px!important;color:#c6a6dd!important;margin-bottom:7px!important}
.practice-instruction{margin-bottom:11px!important}
.practice-demo{display:flex;gap:10px;align-items:center;border:1px solid #775d93;border-radius:8px;background:#382e50;color:#e9d9f4;font-size:12px;padding:9px 11px;margin-bottom:12px}
.practice-demo strong{color:#ffc984}
.activity-board{display:grid;gap:10px;justify-items:stretch;padding:12px;background:#1e1f36;border:1px solid #665780;border-radius:11px}
.activity-board[data-result=pass]{border-color:#82d8b8}.activity-board[data-result=fail]{border-color:#fb989f}
.activity-group{display:grid;gap:6px}.activity-group strong{font-size:12px;color:#e7dbf0}
.choice-row,.place-grid{display:flex;gap:7px;flex-wrap:wrap}
.choice{min-height:42px;padding:6px 10px;background:#403457;border:1px solid #836ba4;border-radius:7px;color:#fcf0ff;font-weight:750;font-size:12px;cursor:pointer}
.choice:hover{background:#504169}.choice[aria-pressed=true]{border-color:#ffcf8c;background:#613952;color:#fff3dc;box-shadow:inset 0 0 0 1px #ffcf8c}
.drop-slot{flex:1;min-width:110px;border-style:dashed;background:#2b2844}
.placement{display:grid;gap:8px}
.practice-feedback{color:#ffe6d5;min-height:26px;padding-top:9px;font-size:13px;font-weight:700;line-height:1.5}
.practice-feedback:empty{display:none}
.instrument,.hardware-visual,.program{color:#ffd791;text-align:center;font-family:monospace;font-size:17px;font-weight:800}
.hardware-visual,.program{padding:8px;background:#32304b;border-radius:7px}
.overload{color:#ff8393}.load-meter{width:100%;height:18px}
.activity-art{display:block;width:min(100%,300px);max-height:130px;margin:auto}
.gear-wheel{animation:gear-spin var(--gear-time) linear infinite var(--gear-direction)}
@keyframes gear-spin{to{transform:rotate(360deg)}}
.wiring{display:grid;grid-template-columns:68px minmax(0,150px) 68px;justify-content:center}
.wiring .activity-art{width:100%;height:132px;max-height:none}
.ports{display:flex;flex-direction:column;justify-content:space-around}
.ports .choice{min-height:38px;border-color:var(--wire);color:var(--wire)}
.wire-error{stroke-dasharray:6 5}.activity-board[data-result=pass] .wire-good{filter:brightness(1.2)}
.dial{display:grid;grid-template-columns:minmax(76px,1fr) minmax(0,2fr) 53px;gap:9px;align-items:center;color:#e7ddfa;font-size:12px}
.dial input{width:100%;min-height:33px;accent-color:#ef87a5}.dial output{color:#fbc683;text-align:right;font:700 12px monospace}
.sensor-lanes{display:flex;flex-wrap:wrap;gap:7px}.sensor-test{display:inline-grid;place-items:center;flex:1;min-width:76px;min-height:38px;border:1px solid #79ceb5;border-radius:5px;color:#9debd1}.sensor-test.stop{border-color:#fb93a3;color:#ffabb6}
.activity-grid{display:grid;grid-template-columns:repeat(var(--columns),minmax(0,1fr));gap:4px;width:min(100%,290px);justify-self:center}
.grid-cell{display:grid;place-items:center;min-height:29px;background:#433f61;border:1px solid #66587b;border-radius:5px;color:#fff0ac}
.maze .grid-cell.blocked{background:#28263e;border-style:dashed;color:#fba3ab}.maze .grid-cell.driven{animation:route-step .25s var(--delay) both}
.maze .grid-cell.crashed{animation:route-fail .25s var(--delay) both}
@keyframes route-step{to{background:#498477}}@keyframes route-fail{to{background:#a64160}}
.activity-board[data-result=pass] .carriage,.activity-board[data-result=fail] .carriage{animation:lift .65s ease-out both;transform-origin:center;transform-box:fill-box}
@keyframes lift{to{transform:translateY(-26px) rotate(var(--tilt))}}
.activity-board[data-result] .intake-part{animation:intake .55s ease-out both}
@keyframes intake{to{transform:translate(var(--drift),-62px)}}
.wheel-chassis{display:grid;grid-template-columns:1fr 1fr;gap:8px;width:min(95%,180px);justify-self:center;background:#3b697d;padding:7px;border:2px solid #71c8c6;border-radius:10px}
.wheel-cell{text-align:center;background:#274755;color:#ddf6ee;font:800 20px monospace;border-radius:5px}
.activity-board[data-result=pass] .wheel-chassis{animation:strafe .55s ease-out both}
@keyframes strafe{to{transform:translateX(var(--strafe))}}
.balance-grid .grid-cell{min-height:42px;overflow:hidden;padding:4px}
.center-meter{position:relative;min-height:47px;background:#373252;border:1px dashed #a994bf;border-radius:5px}
.center-meter b{position:absolute;transform:translate(-50%,-50%);line-height:1;color:#ffe38b;font-size:17px}
.center-meter .goal-pin{color:#7cdece;font-size:25px}
.lane-red{border-color:#e4758b}.lane-blue{background:#354e86}.lane-red.lane-blue{background:#8b476b}.grid-cell.racing{color:#ffe3a3;background:#497f82}
.symptoms{background:#4e304a;color:#ffd5c6;border:1px solid #956880;border-radius:7px;padding:8px}
@media(max-width:850px){.page-heading{padding:20px 0 15px}.start-card{gap:7px}.game-frame{min-height:360px}}
@media(max-width:600px){.game-toolbar{padding-inline:7px}.game-toolbar .toolbar-buttons{gap:4px}.game-toolbar .toolbar-buttons button{font-size:9px;padding-inline:4px}.game-toolbar .toolbar-buttons button>span:first-child{font-size:9px}#panel-toggle{padding-inline:5px}.game-toolbar .location{font-size:9px}.game-frame{min-height:309px}.start-card{width:min(264px,93%);padding:13px}.start-screen h2{font-size:24px;margin:0}.start-screen .primary{min-height:45px;padding:7px 12px}.mascot-preview{height:119px}.start-screen{padding:16px 10px}.preview-orbit{inset:0 5%}.joystick{width:82px;height:82px}.touch-actions{gap:6px}.touch-actions .touch-act{width:54px;height:54px}.collection-item{font-size:11px}.activity-board{padding:9px}.choice{padding:5px 7px}}
@media(prefers-reduced-motion:reduce){.unlock-key,.gate-lock::before,.gear-wheel,.activity-board *,.celebration i{animation:none!important}.gate-lock::before{transform:translateY(-4px) rotate(36deg)}.celebration{display:none}.maze .grid-cell.driven{background:#498477}.maze .grid-cell.crashed{background:#a64160}}
@media(min-width:1001px){.topbar{height:72px}.team-logo{width:48px;height:48px}.page-heading{padding:22px 0 16px}}
.start-card{min-width:min(270px,100%)}.preview-orbit{inset-inline:0}
.start-screen .primary{white-space:normal}
.mascot-preview canvas{position:absolute;top:0;left:50%;transform:translateX(-50%);max-width:100%}
@media(max-width:600px){.start-card{width:min(251px,94%);min-width:0}.start-card h2{font-size:23px}}

/* Start card and dark game frame follow the title-screen artwork. */
:root{--campus-ink:#272631;--campus-muted:#56535e;--campus-paper:#fffdf8;--campus-border:#dbd8dd;--campus-red:#ac243e;--campus-purple:#5c4a65}
body{background:#eff0f2}
.topbar{height:65px;background:#24232a;border-color:#383740;box-shadow:0 2px #d6d5da}
.brand .accent{color:#ec5570}.nav-link.active{border-color:#d03c56}
.top-actions .icon-button,.language-label select{background:#34313b;border-color:#55515b}
main{padding-top:18px}
.title-mode .adventure-layout{grid-template-columns:minmax(0,1fr)}
.title-mode .game-column{width:100%;border-radius:2px;background:#24232a;border:1px solid #3b3942;box-shadow:0 6px 14px #201b2e36}
.title-mode .game-frame{height:min(62vw,calc(100svh - 170px));min-height:430px;aspect-ratio:auto;max-height:none}
.game-toolbar,.game-bottom{background:#24232a;color:#eee9ec;border-color:#3e3b46}
.game-toolbar .location,.game-toolbar .toolbar-buttons button,.game-bottom button{color:#f5f2f5}
.game-toolbar .toolbar-buttons button:hover,.game-bottom button:hover{color:#ffb2bd}
.game-toolbar .toolbar-buttons #panel-toggle{background:#34313b;color:#fff;border-color:#57525e}
.game-bottom kbd{background:#323039;color:#f5eff3;border-color:#504c56}
.world-hud .hud-label{background:#272632;color:#fff8fa;border-color:#777079}
.start-screen{padding:0 10px;grid-template: minmax(0,1fr) / minmax(0,1fr);justify-content:stretch;align-content:stretch}
.start-card{width:clamp(235px,28.5%,332px);min-width:0;gap:9px;padding:20px 16px 17px;background:#cbe9b8f7;border:2px solid #f8ffed;border-radius:22px;box-shadow:0 0 0 2px #657557,0 9px 21px #25352060}
.start-screen h2{font-size:clamp(25px,3.2vw,40px);line-height:1.02;margin:0;letter-spacing:-.06em}
.start-screen h2>span:first-child{color:#242031}.start-screen h2>span:last-child{color:#ad233e;margin-top:.12em}
.mascot-preview{height:clamp(145px,20vw,222px)}
.mascot-preview::before{display:none}
.mascot-preview canvas{image-rendering:auto}
.preview-orbit button,.orbit-button{color:#35213c;background:#fffdf4;border:1px solid #b5a9a3}
.preview-orbit button:hover,.orbit-button:hover{background:#f9e4e9}
.primary,.touch-actions .touch-act{color:#fff;background:#bd2342;border-color:#8b1731;box-shadow:0 3px #721e32}
.primary:hover:not(:disabled),.touch-actions .touch-act:active{background:#a91836}
.start-screen .primary{width:100%;min-height:50px;justify-content:space-between;padding:10px 15px;font-size:clamp(12px,1.24vw,16px);border-radius:9px}
.secondary{background:#f2e8ed;border-color:#e0cad5;color:#442938}
.secondary:hover:not(:disabled){background:#ecdae3}
.progress-track,.chapter-card .mini-track,.panel-divider{background:#e5dfe4}
.progress-track>div{background:#bd2342}.chapter-card.current{background:#fbecef}
.chapter-card:hover:not(:disabled){background:#f2eaf1}
.buddy-note{background:#f9ebef}.buddy-note img{width:36px;height:40px;object-fit:contain;flex:none}.buddy-note b{color:#a32342}.buddy-note p{color:#584452}
.modal{--modal-bg:#262630;border-color:#77737f}
.modal .eyebrow,.practice-lesson{color:#ff9bab!important}
.modal .notice,.zone-card,.practice-demo,.collection-item{background:#32313c;border-color:#655e6c}
.activity-board,.hardware-visual,.program{background:#22252e;border-color:#676b76}
.choice,.drop-slot{background:#353842;border-color:#696d79}
.choice:hover,.choice[aria-pressed=true]{background:#4c3a46;border-color:#ec9eab;color:#fff5f7}
.touch-actions button,.joystick{background:#29252ee6;border-color:#c2b7c4}
.toast{border-color:#c05a73}
.dialogue-portrait{position:relative;min-width:0;align-self:center;text-align:center}
.dialogue-portrait canvas{image-rendering:auto}
.dialogue-orbit{display:flex;justify-content:center;gap:7px;margin-top:4px}
.orbit-button{width:31px;height:31px;border-radius:50%;font-size:21px;line-height:1;cursor:pointer}
@media(max-width:1000px){.topbar{height:auto}}
@media(max-width:600px){
 main{padding-top:12px}
 .title-mode .game-frame{height:340px;min-height:340px}
 .title-mode .game-toolbar{padding-inline:7px}
 .start-card{width:min(205px,72%);grid-template-columns:.9fr 1.1fr;gap:4px 5px;padding:7px;border-radius:12px}
 .start-card h2{grid-column:1/-1}
 .start-screen h2{font-size:17px}
 .start-screen .mascot-preview{height:59px}
 .start-screen .primary{font-size:10px;min-height:44px;padding:4px 6px;gap:4px}
 .preview-orbit button{width:26px;height:27px;font-size:17px}
 .orbit-button{width:28px;height:28px}
}
.maze{position:relative;touch-action:none;cursor:crosshair}.maze-line{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}
.sensor-track{position:relative;height:22px;border-radius:5px;background:#36516d;border:1px solid #7897b7;margin:6px 4px}
.sensor-band{position:absolute;inset-block:1px;background:#5aa98c}
.sensor-needle{position:absolute;inset-block:-4px;width:3px;background:#fff2c9;box-shadow:0 0 0 1px #1b2a49;transform:translateX(-1px)}
.dial[hidden],.pit-replay:empty{display:none}
.balance-grid{width:min(100%,348px);gap:3px}.balance-grid .grid-cell{padding:0;min-height:30px;background:#344f6c;font-size:11px}
.route-marker{padding:7px 9px;border:1px dashed #abc1d6;border-radius:6px;cursor:grab;font-size:12px;color:#fff2da}
.route-marker.orange,.lane-orange{border-color:#eaa858}.lane-blue{background:#354e78}.lane-orange.lane-blue{background:#635a61}
.pit-replay{display:grid;justify-items:center;gap:10px}
.pit-chassis{display:grid;grid-template-columns:repeat(3,1fr);gap:9px;width:min(100%,237px);padding:12px;background:#3e5874;border:4px solid #9faebc;border-radius:12px}
.pit-screw{min-width:37px;min-height:37px;color:#ffbbc0;background:#633a4f;border:1px solid #fd9ea5;border-radius:50%;font-size:20px;cursor:pointer}
.pit-screw.tight{color:#a3ebc4;background:#304f56;border-color:#83d8b3}
.roller-controls{display:flex;justify-content:center;gap:22px}
.roller-controls .dial{display:grid;grid-template-columns:1fr;justify-items:center;text-align:center}
.roller-controls .dial input{writing-mode:vertical-lr;direction:rtl;width:32px;height:99px;margin:0}
.roller-controls .dial output{text-align:center}

/* Workshop consoles keep the controls live while matching the reference equipment. */
.modal[data-practice]{max-width:min(680px,calc(100vw - 22px))}
.practice-header{padding:10px 45px 10px 13px;margin:0 0 12px;background:#2b3440;border:1px solid #6e7b85;border-left:4px solid #bd3653;border-radius:5px}
.practice-header h2{margin:1px 0 3px;font-size:clamp(20px,3.1vw,33px);line-height:1.05;text-transform:uppercase;letter-spacing:.015em}
.practice-header .practice-lesson{margin:0!important;color:#d7e3ec!important}
.activity-board[data-machine]{border:3px solid #535862;border-radius:6px;box-shadow:0 0 0 1px #18181d,inset 0 0 0 1px #838a90;padding:12px}
.activity-board[data-result=pass]{border-color:#6ab78b}.activity-board[data-result=fail]{border-color:#b95866}
.activity-board[data-machine=circuit]{border-color:#8b775a}
.activity-board[data-machine=balance],.activity-board[data-machine=wheels]{background:#2d263c;border-color:#7a6888}
.activity-board[data-machine=pit],.activity-board[data-machine=alliance]{background:#23323c;border-color:#718b99}
.activity-board .gear-shaft{width:100%;max-height:147px}
.gauge-pair,.power-panel,.tool-rack{display:grid;grid-template-columns:1fr 1fr;gap:9px}
.machine-readout,.voltage-monitor,.fuse-monitor,.tool-fixture{display:grid;align-content:center;justify-items:center;gap:4px;padding:8px;background:#29313a;border:1px solid #747e86;border-radius:4px}
.machine-readout>span,.fuse-monitor,.tool-fixture>span{color:#dce4e8;font:800 10px/1.25 monospace;letter-spacing:.03em;text-align:center}
.machine-readout strong{color:#a8ecb1;background:#18282a;padding:6px 10px;font:700 18px monospace;border:1px solid #576a62}
.machine-readout .activity-art,.voltage-monitor .activity-art{max-height:87px}
.tool-fixture strong{display:grid;place-items:center;border-radius:50%;background:#a6b3bb;color:#23303c;font:900 44px/1 monospace;width:64px;height:64px;box-shadow:inset 0 0 0 5px #ced7db}
.tool-rack .choice-row{display:grid}
.tool-rack .choice{display:flex;align-items:center;text-align:left;min-height:44px;padding:3px 7px}
.tool-art{width:42px;height:29px;flex:0 0 42px;margin-right:4px}
.fuse-monitor::after{content:"";height:19px;width:19px;border:4px solid #31463d;border-radius:3px;background:#7ed89e;box-shadow:0 0 0 1px #6a7e6b}
.fuse-monitor[data-state=warning]::after{background:#f3ba61;border-color:#65533d}
.fuse-monitor[data-state=overload]::after{background:#f36c76;border-color:#7e3947}
.activity-board[data-machine=route] .maze .grid-cell{min-height:42px;background:#637282;border:2px solid #a8b5bf;color:#fff8d9}
.activity-board[data-machine=route] .maze .grid-cell.blocked{background:#303741;border:2px outset #77828b}
.activity-board[data-machine=route] .choice[data-focus^=cmd-]{background:#326392;border-color:#6498bf}
.pit-chassis{display:block;position:relative;width:min(100%,246px);padding:0;aspect-ratio:246/148;background:#39444c;border-color:#76858f}
.pit-machine{position:absolute;inset:0;width:100%;height:100%}
.pit-screw{position:absolute;left:var(--screw-x);top:var(--screw-y);transform:translate(-50%,-50%);min-width:35px;min-height:35px}
@media(max-width:420px){.activity-board[data-machine]{padding:8px}.machine-readout strong{font-size:15px}.tool-art{width:32px;flex-basis:32px}.practice-header{padding-block:8px}.tool-fixture strong{width:50px;height:50px;font-size:36px}}
