.lab-shell{max-width:1380px;padding:clamp(16px,2.4vw,30px)}
.lab-hero{grid-template-columns:minmax(0,1.4fr) minmax(230px,.6fr);gap:clamp(1rem,3vw,3rem);align-items:center}
.lab-hero h1{font-size:clamp(3.3rem,6.1vw,5.8rem);letter-spacing:-.055em;margin:.08em 0 .1em}
.lab-hero p{line-height:1.45;margin:.4rem 0;font-size:clamp(.95rem,1.15vw,1.08rem)}
.lab-kicker{font-size:.76rem;letter-spacing:.21em}
.lab-hero .lab-note{border-left:2px solid #4d9f9d;padding-left:1rem;color:#abc7d2;font-size:.87rem}
.lab-game{border:1px solid #6ee8dd;background:#0c172c;box-shadow:0 0 0 5px #061c25,0 26px 80px #0009;border-radius:5px;margin-top:1.15rem}
.lab-game canvas{touch-action:none;image-rendering:auto}
.lab-toolbar{display:flex;gap:.45rem;align-items:center;flex-wrap:wrap;padding:1rem 1.15rem}
.lab-toolbar label{display:block;font-weight:750;color:#d9f5f1}
.lab-toolbar select{min-width:135px;max-width:min(100%,230px)}
#lab-mode{width:165px}
#lab-dummy{width:230px}
.lab-toolbar select:disabled,.lab-toolbar button:disabled{opacity:.55;cursor:not-allowed}
.lab-recorder{display:flex;align-items:center;gap:.65rem;flex-wrap:wrap;padding:.7rem 1.15rem;background:#11243b;border-top:1px solid #31506b;color:#cfe6f0;font-size:.9rem}
.lab-recorder button{min-height:42px;padding:.5rem .85rem;border:1px solid #76cabc;border-radius:8px;background:#17534f;color:#fff;font-weight:800;cursor:pointer}
.lab-recorder button:hover:not(:disabled){background:#23716b}
.lab-recorder button:disabled{opacity:.55;cursor:not-allowed}
#lab-recorder-status{font-weight:800;color:#ffe396;font-variant-numeric:tabular-nums}
.lab-toolbar .lab-check{display:flex;align-items:center;gap:.4rem;padding:.55rem .6rem;border:1px solid #5b778f;border-radius:8px;white-space:nowrap}
.lab-check input{width:1.1rem;height:1.1rem;accent-color:#71f2e6}
.lab-readout{display:grid;gap:.3rem;padding:.85rem 1.2rem 1.05rem;color:#d9e6f2;background:#0c1b31;border-top:1px solid #2e4b68;font-variant-numeric:tabular-nums}
.lab-readout strong{color:#7cf5e9;font-size:1.04rem}
.lab-readout span{line-height:1.5;overflow-wrap:anywhere}
.lab-instructions{gap:.75rem;margin-top:1.15rem}
.lab-instructions article{border-radius:6px;background:#0f1b2a;border-color:#36536b;padding:1rem 1.15rem}
.lab-instructions h2{font:800 .9rem system-ui;text-transform:uppercase;letter-spacing:.1em;color:#91f1e7}
.lab-mapping{margin-top:1rem;border:1px solid #52708c;border-radius:12px;background:#10203a;color:#e6f3fb;padding:1rem 1.15rem}
.lab-mapping summary{cursor:pointer;font-weight:800;color:#85f3e8}
.lab-mapping p{max-width:68ch}
.lab-binding-grid{max-width:680px;display:grid;gap:.35rem}
.lab-binding-head,.lab-binding-row{display:grid;grid-template-columns:minmax(90px,1fr) repeat(2,minmax(90px,1fr));gap:.5rem;align-items:center}
.lab-binding-head{color:#a5c4d9;border-bottom:1px solid #476178;padding-bottom:.4rem}
.lab-binding-row{padding:.16rem 0}
.lab-binding-row button{min-height:42px;background:#183455;border:1px solid #64829d;border-radius:7px;color:#fff;font:700 .92rem system-ui;cursor:pointer}
.lab-binding-row button:hover,.lab-binding-row button:focus-visible{border-color:#8fffee;background:#245176}
.lab-touch{display:none;gap:.45rem;flex-wrap:wrap;padding:.7rem 1rem 1rem;background:#0c1b31;border-top:1px solid #2e4b68;touch-action:none}
.lab-touch button{min-width:55px;min-height:52px;flex:1 1 62px;border:1px solid #75a6b9;background:#173550;color:#fff;border-radius:9px;font:800 .95rem system-ui;touch-action:none;user-select:none;-webkit-user-select:none}
.lab-touch button.pressed{background:#1e807d;border-color:#b0fff5;transform:scale(.96)}
.lab-game button:focus-visible,.lab-mapping button:focus-visible,.lab-touch button:focus-visible,.lab-toolbar select:focus-visible{outline:3px solid #ffe494;outline-offset:2px}
@media (pointer:coarse),(max-width:700px){.lab-touch{display:flex}}
@media (max-width:800px){.lab-hero{grid-template-columns:1fr}.lab-hero .lab-note{max-width:72ch}}
@media (min-width:701px) and (max-width:1100px){.lab-toolbar{display:grid;grid-template-columns:auto minmax(130px,1fr) auto minmax(190px,1.35fr)}.lab-toolbar .lab-check{grid-column:1/3}.lab-toolbar #lab-reset{grid-column:3}.lab-toolbar #lab-pause{grid-column:4}.lab-toolbar select{width:100%;max-width:none}}
@media (max-width:700px){.lab-toolbar{display:grid;grid-template-columns:1fr 1fr}.lab-toolbar select{min-width:0;width:100%}.lab-toolbar label[for="lab-dummy"],#lab-dummy{grid-column:1/-1}.lab-toolbar .lab-check{grid-column:1/-1}.lab-toolbar button{width:100%}.lab-readout{font-size:.85rem}.lab-binding-head,.lab-binding-row{grid-template-columns:minmax(65px,1fr) repeat(2,minmax(72px,1fr));gap:.3rem}.lab-binding-row button{font-size:.8rem}}
@media(prefers-reduced-motion:reduce){.lab-touch button.pressed{transform:none}}

/* Match the site's editorial gold and evergreen treatment around the arena. */
.lab-shell{max-width:1380px;padding:clamp(20px,3.8vw,52px)}
.lab-hero{display:grid;grid-template-columns:minmax(0,1fr);gap:14px;align-items:start;padding:clamp(24px,4vw,48px);border:1px solid #a7b88955;border-radius:20px;background:radial-gradient(circle at 88% 8%,#c9b36b18,transparent 35%),linear-gradient(140deg,#19251d,#111713 76%);box-shadow:0 22px 70px #0005}
.lab-hero>div{max-width:900px}
.lab-kicker{color:#e6cf8b;font-size:12px;letter-spacing:.16em}
.lab-hero h1{font:400 clamp(3.4rem,7.4vw,7rem)/.98 Georgia,serif;text-transform:none;letter-spacing:-.055em;margin:.2em 0 .24em;color:#f4f1e8}
.lab-hero h1 span{color:#d2b975}
.lab-hero p{max-width:72ch;font-size:clamp(1rem,1.35vw,1.18rem);line-height:1.6;margin:0;color:#edece4}
.lab-hero .lab-tagline{margin:.1rem 0 .75rem;color:#e6cf8b;font:800 clamp(1rem,2vw,1.35rem)/1.2 system-ui,sans-serif;letter-spacing:.08em;text-transform:uppercase}
.lab-hero .lab-note{max-width:76ch;margin-top:10px;padding:12px 16px;border-left:3px solid #d2b975;border-radius:0 8px 8px 0;background:#d2b9750b;color:#cbd8ce;font-size:14px;line-height:1.6}
.lab-game{margin-top:24px;border:1px solid #d2b97588;border-radius:16px;background:#0b1715;box-shadow:0 22px 65px #0007}
.lab-toolbar,.lab-recorder,.lab-readout,.lab-touch{background:#17241c;color:#f1efe7;border-color:#71846055}
.lab-toolbar label{color:#e6cf8b}
.lab-toolbar select,.lab-toolbar button,.lab-recorder button,.lab-binding-row button,.lab-touch button{background:#233128;color:#f4f1e8;border-color:#9eaf7966}
.lab-toolbar button:hover:not(:disabled),.lab-recorder button:hover:not(:disabled),.lab-binding-row button:hover,.lab-touch button:hover{background:#344633;border-color:#d2b975}
.lab-readout strong,.lab-instructions h2,.lab-mapping summary{color:#e6cf8b}
.lab-instructions article,.lab-mapping{background:#18251d;border-color:#8da47a66;color:#f1efe7;border-radius:14px}
.lab-instructions kbd{background:#314334;color:#f4f1e8}
.lab-game button:focus-visible,.lab-mapping button:focus-visible,.lab-touch button:focus-visible,.lab-toolbar select:focus-visible{outline-color:#e6cf8b}
@media(max-width:800px){.lab-hero{padding:24px}.lab-hero h1{font-size:clamp(3.2rem,12vw,5rem)}.lab-hero .lab-note{font-size:13px}}
