@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Space+Grotesk:wght@400;500;600;700&display=swap');
:root{color-scheme:dark;--bg:#101818;--line:#2c3835;--muted:#96a7a0;--text:#e9eee8;--accent:#d7f592;--mint:#7ddbc4}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);font:14px 'DM Sans',sans-serif}button,select,input{font:inherit}button,summary,select{cursor:pointer}button{color:inherit;transition:background .15s,border-color .15s}button:focus-visible,select:focus-visible,summary:focus-visible,canvas:focus-visible{outline:2px solid var(--accent);outline-offset:4px}button:hover{border-color:#78877c}button:disabled{opacity:.5;cursor:wait}[hidden]{display:none!important}.topbar{height:84px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 40px}.brand{text-decoration:none;color:var(--text);font-size:27px;font-weight:700;letter-spacing:-1px}.brand>span{font-weight:400;color:var(--muted)}.brand i{font-style:normal;color:#54615b;margin:0 24px;font-weight:400}.brand strong{font:600 13px 'Space Grotesk',sans-serif;letter-spacing:3px}.edition{color:var(--muted);font-size:12px}.edition b{margin-left:28px;font-size:10px;letter-spacing:1.5px;color:#c2d0c5}main{display:grid;grid-template-columns:328px minmax(0,1fr);max-width:1840px;margin:auto}.sidebar{padding:36px 28px;border-right:1px solid var(--line)}.eyebrow{font-size:10px;letter-spacing:2px;font-weight:600;color:var(--mint)}h1,h2,h3,p{margin:0}h1{font:500 44px/1.08 'Space Grotesk',sans-serif;letter-spacing:-2px;margin:17px 0}h1 span{color:var(--accent)}.intro>p{font-size:13px;line-height:1.7;color:var(--muted);max-width:260px}.sidebar section{margin-top:30px}.section-title{display:flex;gap:10px;align-items:center;margin-bottom:14px}.section-title>span{font:11px 'Space Grotesk',sans-serif;color:var(--muted)}.section-title h2{font-size:13px;font-weight:500}.games{display:grid;gap:9px}.game{display:flex;align-items:center;gap:12px;width:100%;text-align:left;border:1px solid var(--line);border-radius:8px;background:#16201e;padding:13px 12px}.game.selected{background:#263528;border-color:#a0bf76}.game-icon{font-size:29px;color:var(--mint);width:29px;text-align:center}.game.selected .game-icon{color:var(--accent)}.game strong{display:block;font-weight:500;font-size:13px}.game small{display:block;color:var(--muted);font-size:10px;margin-top:5px}.game>b{margin-left:auto;align-self:flex-start;font-size:9px;color:#79887e}.field{display:flex;flex-direction:column;gap:8px;font-size:11px;color:var(--muted);margin:13px 0}.field-pair{display:grid;grid-template-columns:1fr 1fr;gap:12px}select{background:#1b2623;border:1px solid #354239;color:var(--text);border-radius:5px;padding:10px;width:100%;font-size:12px}.check{display:flex;align-items:center;gap:8px;font-size:12px;color:#c1cfc5;margin:12px 0}input{accent-color:var(--accent)}details{border-top:1px solid var(--line);margin-top:16px;padding-top:15px}summary{font-size:12px;color:#c5d3c9}details p{margin-top:10px}.hint{font-size:11px;line-height:1.6;color:var(--muted);margin:9px 0}.sidebar-footer{border-top:1px solid var(--line);padding-top:20px;margin-top:30px;font-size:10px;color:var(--muted)}.status-dot{display:inline-block;width:6px;height:6px;background:var(--mint);border-radius:50%;margin-right:7px}.workspace{padding:37px 36px;min-width:0}.workspace-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:25px}.workspace-heading h2{font:400 23px 'Space Grotesk',sans-serif;letter-spacing:-.6px;margin-top:10px}.preview-label{font-size:9px;letter-spacing:1.5px;color:var(--muted);white-space:nowrap}#stage-shell{background:#000;border:1px solid #354139;border-radius:12px;overflow:hidden;position:relative;aspect-ratio:16/9;display:flex;align-items:center;justify-content:center}#stage{display:block;width:100%;height:100%;object-fit:contain;touch-action:none;cursor:crosshair}#exit-fullscreen{display:none;position:absolute;right:18px;bottom:18px;opacity:.25}#exit-fullscreen:hover{opacity:1}#stage-shell:fullscreen{border:0;border-radius:0;width:100vw;height:100vh}#stage-shell:fullscreen #stage{width:min(100vw,177.7778vh);height:min(100vh,56.25vw)}#stage-shell:fullscreen #exit-fullscreen{display:block}.transport{display:flex;justify-content:space-between;gap:12px;margin-top:18px;flex-wrap:wrap}.transport-left,.transport-right,.camera-actions{display:flex;gap:8px;flex-wrap:wrap}button.primary,button.secondary{border-radius:6px;padding:11px 15px;font-size:12px;font-weight:500}.primary{background:var(--accent);border:1px solid var(--accent);color:#1c281d}.primary span{margin-left:15px;font-size:10px}.primary:hover{background:#e4ffb5}.secondary{background:#1b2522;border:1px solid #38453c}.text-button{background:none;border:0;color:var(--mint);font-size:11px;padding:10px 0}.wide{width:100%}.below-stage{display:grid;grid-template-columns:1fr 115px 115px;gap:22px;padding:29px 0;border-bottom:1px solid var(--line);margin-top:12px}.instruction{display:flex;gap:15px;padding-right:24px}.step-icon{font-size:26px;color:var(--accent);line-height:1}.instruction h3{font:500 16px 'Space Grotesk',sans-serif;margin-bottom:9px}.instruction p{font-size:12px;line-height:1.75;color:var(--muted);max-width:500px}.score-card{border-left:1px solid var(--line);padding-left:22px}.score-card>span{font-size:9px;letter-spacing:1px;color:var(--muted)}.score-card strong{display:block;font:400 34px 'Space Grotesk',sans-serif;margin:8px 0 4px}.score-card small{font-size:10px;color:var(--muted)}.announcement{font-size:11px;color:var(--mint);min-height:32px;margin-top:20px}.setup-guide{margin-top:2px}.setup-guide summary{display:flex;justify-content:space-between}.setup-guide summary span{font-size:10px;color:var(--muted)}.setup-guide li,.setup-guide p{font-size:12px;line-height:1.8;color:var(--muted)}.camera-preview{position:relative;background:#000;border-radius:6px;overflow:hidden}.camera-preview video{width:100%;display:block}.camera-preview canvas{position:absolute;inset:0;width:100%;height:100%;touch-action:none}.camera-preview.mirrored video{transform:scaleX(-1)}.camera-actions{margin-top:10px}.camera-actions button{font-size:10px;padding:8px}.display-only{background:#000;overflow:hidden}.display-only .topbar,.display-only .sidebar,.display-only .workspace>*:not(#stage-shell){display:none}.display-only main,.display-only .workspace{display:block;max-width:none;padding:0}.display-only #stage-shell{width:100vw;height:100vh;border:0;border-radius:0}.display-only #stage{width:min(100vw,177.7778vh);height:min(100vh,56.25vw)}#display-message{position:fixed;bottom:15px;width:100%;text-align:center;font-size:13px;color:#9bb8a5;pointer-events:none}@media(min-width:1650px){.workspace{padding:45px 60px}.sidebar{padding:40px 28px}}@media(max-width:1100px){main{grid-template-columns:280px minmax(0,1fr)}.sidebar{padding:28px 20px}.workspace{padding:28px 22px}.preview-label{display:none}.below-stage{grid-template-columns:1fr 90px 90px;gap:12px}.score-card{padding-left:12px}.instruction{padding-right:0}.workspace-heading h2{font-size:20px}}@media(max-width:760px){.topbar{height:65px;padding:0 20px}.edition{display:none}main{display:flex;flex-direction:column}.sidebar{border-right:0;padding:24px 20px}.intro h1{font-size:32px}.intro h1 br{display:none}.intro>p{max-width:none}.games{grid-template-columns:repeat(3,1fr)}.game{padding:12px 8px;flex-direction:column;align-items:flex-start;gap:6px}.game>b,.game small{display:none}.game strong{font-size:11px}.sidebar section{margin-top:20px}.sidebar-footer{display:none}.workspace{padding:10px 20px 30px}.below-stage{grid-template-columns:1fr 80px 80px;gap:8px}.instruction{gap:8px}.step-icon{display:none}.instruction h3{font-size:13px}.instruction p{font-size:11px}.score-card strong{font-size:26px}.transport button{font-size:11px;padding:10px}.brand i{margin:0 14px}}@media(prefers-reduced-motion:reduce){button{transition:none}}

#tetris-controls{display:flex;gap:8px}.game small{line-height:1.4}#sticker-guide{border-left:2px solid var(--accent);padding-left:10px;margin-top:12px}@media(max-width:760px){.games{grid-template-columns:repeat(2,1fr)}.game{flex-direction:row;align-items:center}.game strong{font-size:12px}.game small{display:block;font-size:9px}}
