.lab-intro{display:grid;grid-template-columns:1.2fr 1fr;gap:70px;align-items:center;padding:65px 0 48px}.lab-intro h1{font-size:clamp(52px,6vw,88px);font-weight:500;line-height:1.01;letter-spacing:-.065em;margin:0 0 23px}.lab-intro h1 em{font-style:normal;color:var(--green)}.lab-lede{font-size:17px;color:var(--muted);max-width:530px}.lab-limit{border:1px solid var(--line);border-left:3px solid var(--green);padding:26px 30px;background:#0b1c30b8;border-radius:6px}.lab-limit h2{font-size:22px;margin:16px 0 10px}.lab-limit p{font-size:13px;margin-bottom:14px}.lab-limit a{font-size:12px}.lab-limit small{display:block;color:var(--muted);font-size:11px;margin-top:17px}.lab-tag{display:inline-block;font-size:9px;font-weight:750;letter-spacing:.14em;color:var(--green);padding:6px 9px;background:#97d7000e;border:1px solid #97d70042;border-radius:3px}.lab-layout{display:grid;grid-template-columns:minmax(0,1fr) 305px;gap:24px;padding-bottom:70px}.lab-workbench,.lab-sidebar{min-width:0;display:flex;flex-direction:column;gap:24px}.lab-panel{background:linear-gradient(140deg,#0b1c30de,#081724df);border:1px solid var(--line);border-radius:9px;padding:25px;min-width:0}.panel-title{display:flex;justify-content:space-between;gap:15px;align-items:center}.lab-step{display:block;color:var(--green);font-size:9px;letter-spacing:.16em;font-weight:750;margin-bottom:11px}.lab-panel h2{font-size:22px;letter-spacing:-.035em;font-weight:550;margin-bottom:15px}.panel-title h2{margin-bottom:0}.lab-chip{color:var(--muted);font-size:10px;text-align:right;line-height:1.6}.lab-hint{font-size:12px;color:var(--muted);margin:16px 0 0}.paint-wrap{margin:10px -10px 0}.paint-wrap canvas{width:100%;height:auto;display:block;touch-action:none;cursor:crosshair}.paint-legend{display:flex;align-items:center;justify-content:center;gap:12px;font-size:10px;color:var(--muted);margin:0 0 22px}.clay-gradient{width:120px;height:6px;border-radius:8px;background:linear-gradient(90deg,#d3e0e4,#aab0ad,#7a8d91,#435c69,#233e50)}.brush-controls{display:grid;grid-template-columns:1fr 1fr;gap:30px}.lab-panel label{font-size:12px;color:var(--text)}.brush-controls label output{float:right;color:var(--green);font-variant-numeric:tabular-nums}.lab-panel input[type=range]{display:block;width:100%;height:25px;margin:12px 0 3px;accent-color:var(--green);cursor:pointer}.tool-row{display:flex;flex-wrap:wrap;gap:7px;margin-top:18px;align-items:center}.lab-panel button{border:1px solid #29445a;border-radius:4px;background:#0c2134;color:var(--text);padding:9px 11px;font:inherit;font-size:11px;cursor:pointer;line-height:1.4}.lab-panel button:hover{border-color:#719d25;background:#142c39;color:white}.lab-panel button[aria-pressed=true]{background:#97d70018;border-color:var(--green);color:var(--green)}.lab-panel button:disabled{opacity:.4;cursor:default}.tool-divider{width:1px;height:24px;background:var(--line);margin:0 3px}.zone-tools{margin-top:20px;font-size:11px;border-top:1px solid var(--line);padding-top:17px}.zone-tools summary{cursor:pointer;color:var(--muted)}.zone-tools p{font-size:11px;margin:14px 0}.zone-row{display:flex;flex-wrap:wrap;gap:9px;align-items:end}.zone-row label{flex:1 1 130px;font-size:10px}.lab-panel select{width:100%;display:block;background:#061321;color:var(--ink);border:1px solid #29445a;border-radius:4px;padding:10px;font:inherit;font-size:12px;margin-top:7px}.scene-wrap{position:relative;margin:20px -10px 0;overflow:hidden;border:1px solid #17394d;border-radius:6px;background:#04101c}.scene-wrap canvas{width:100%;height:auto;display:block}.scene-key{position:absolute;right:14px;top:12px;display:flex;align-items:center;gap:8px;font-size:9px;color:#b8cbd5;pointer-events:none}.scene-key i{width:7px;height:7px;background:var(--green);border-radius:50%;margin-left:8px}.scene-key .target-dot{background:none;border:1px dashed #9ba8b2}.timeline-row{display:flex;align-items:center;gap:14px;margin:16px 0}.timeline-row label{font-size:10px;white-space:nowrap}.timeline-row input[type=range]{margin:0;flex:1}.timeline-row output{min-width:32px;text-align:right;font-size:10px;color:var(--muted)}.run-row{display:flex;gap:10px;flex-wrap:wrap;align-items:center}.lab-panel .run-button{display:flex;align-items:center;justify-content:space-between;gap:35px;background:var(--green);border-color:var(--green);color:#061321;font-size:13px;font-weight:750;padding:12px 18px;min-width:170px}.lab-panel .run-button:hover{background:#b0e827}.run-row #runStatus{font-size:11px;color:var(--muted);margin-left:2px}.scene-disclaimer{font-size:10px;color:var(--muted);line-height:1.7;margin:17px 0 0}.setting{display:block;margin-top:28px}.setting>span{display:flex;align-items:center;justify-content:space-between;gap:10px}.setting output{color:var(--green);font-size:14px;font-variant-numeric:tabular-nums}.setting small{display:block;font-size:10px;color:var(--muted);margin-top:8px}.setup-note{margin-top:25px;padding-top:22px;border-top:1px solid var(--line);font-size:11px}.setup-note strong{font-size:11px}.setup-note p{font-size:11px;color:var(--muted);margin:8px 0 0}.score-box{text-align:center;margin:20px 0 10px;border-radius:6px;padding:13px 0 17px;background:#06132177}.score-box>span{font-size:68px;letter-spacing:-.06em;color:var(--green);display:block;font-variant-numeric:tabular-nums;line-height:1.15}.score-box small{display:block;font-size:10px;color:var(--muted);margin-top:7px}.challenge-panel p{font-size:12px;color:var(--muted);margin-bottom:18px}.score-foot{display:flex;justify-content:space-between;font-size:10px;color:var(--muted);border-block:1px solid var(--line);padding:15px 0}.score-foot strong{display:block;color:var(--ink);font-size:19px;margin-top:6px;font-weight:500}.challenge-panel .points-limit{font-size:10px;line-height:1.7;margin:18px 0 0}.lab-links p{font-size:12px;color:var(--muted)}.lab-links a{display:block;font-size:11px;line-height:1.7;margin-top:12px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
@media(max-width:1050px){.lab-layout{grid-template-columns:minmax(0,1fr) 275px;gap:18px}.lab-panel{padding:20px}.lab-intro{gap:40px}.tool-divider{display:none}.lab-panel h2{font-size:20px}.lab-chip{max-width:110px}}
@media(max-width:800px){.lab-layout{grid-template-columns:1fr}.lab-sidebar{display:grid;grid-template-columns:1fr 1fr;grid-row:1;align-items:start;gap:16px}.lab-links{display:none}.lab-intro{gap:25px;padding-top:43px}.lab-limit{padding:20px}.lab-limit p{font-size:11px}.lab-intro h1{font-size:60px}.lab-lede{font-size:14px}.lab-limit h2{font-size:18px}.lab-sidebar h2{font-size:18px}.setting{margin-top:21px}.score-box{padding:5px 0 10px;margin:12px 0}.score-box>span{font-size:46px}.challenge-panel p{font-size:11px;margin-bottom:13px}.score-foot{padding:9px 0}.score-foot strong{font-size:16px}.setup-note{margin-top:18px;padding-top:16px}.challenge-panel .points-limit{margin-top:12px}.lab-workbench{gap:18px}}
@media(max-width:540px){.lab-intro{display:block;padding:36px 0 26px}.lab-intro h1{font-size:62px;line-height:1}.lab-lede{font-size:14px}.lab-limit{margin-top:25px}.lab-limit h2{margin-top:13px}.lab-limit p{font-size:12px}.lab-limit small{margin-top:12px}.lab-sidebar{grid-template-columns:1fr}.lab-sidebar .lab-panel{padding:20px}.challenge-panel{display:grid;grid-template-columns:1fr 100px;gap:0 12px}.challenge-panel>.lab-step,.challenge-panel>h2,.challenge-panel>.points-limit,.challenge-panel>.score-foot{grid-column:1/-1}.challenge-panel .score-box{grid-column:2;grid-row:3/5;margin:0}.challenge-panel>select{grid-column:1;margin-top:0}.challenge-panel>#challengeHint{grid-column:1;font-size:11px;margin-top:12px}.challenge-panel .score-foot{margin-top:10px}.score-foot strong{display:inline-block;margin:0 0 0 7px;font-size:15px}.lab-panel{padding:19px 16px}.panel-title{align-items:start}.panel-title h2{font-size:21px}.lab-chip{font-size:9px;max-width:105px}.brush-controls{gap:20px}.lab-hint{font-size:11px}.paint-wrap{margin-inline:-16px}.brush-controls label{font-size:11px}.lab-panel button{padding:10px;font-size:10px}.scene-wrap{margin-inline:-16px;border-radius:0;border-inline:0}.scene-key{font-size:8px;right:9px;top:9px;gap:4px}.timeline-row{gap:9px}.timeline-row label{font-size:9px}.run-row #runStatus{flex-basis:100%;margin-top:6px}.lab-panel .run-button{min-width:164px}.tool-row{gap:6px}.lab-layout{padding-bottom:40px}}
@media(prefers-reduced-motion:reduce){.lab-panel *{scroll-behavior:auto}}
.lab-prototype-note{border-bottom:1px solid var(--line);padding:0 0 22px;margin:0 0 28px;font-size:12px;color:var(--muted)}.lab-prototype-note strong{color:var(--green)}.game-music{display:flex;flex-wrap:wrap;gap:12px 22px;align-items:center;margin-top:22px;padding-top:18px;border-top:1px solid var(--line)}.game-music label{font-size:10px;display:flex;align-items:center;gap:8px}.game-music input[type=checkbox]{accent-color:var(--green)}.game-music .music-volume{margin:0}.game-music input[type=range]{width:95px;margin:0;height:18px}.game-music span{display:block;width:100%;font-size:10px;color:var(--muted)}
.game-music small{width:100%;font-size:9px;color:var(--muted)}
.view-controls{display:flex;gap:8px;flex-wrap:wrap;margin:18px 0 10px}.view-controls button{padding:10px 19px;min-height:42px;border:1px solid var(--line);border-radius:4px;background:#0b1c30;color:var(--text)}.view-controls button[aria-pressed=true]{color:#061321;background:var(--green);border-color:var(--green)}#viewNote{min-height:3.4em;max-width:70ch}
