:root{color-scheme:dark;font-family:Arial,sans-serif;--accent:#ff9271;--paper:#ffe9d1;--night:#141720;--panel:#242333}*{box-sizing:border-box}body{margin:0;min-height:100dvh;background:#10141e;color:var(--paper);display:grid;place-items:center;padding:16px;overscroll-behavior:none}.noodles{--accent:#ff806b;--paper:#ffe7c2;--night:#291d30;--panel:#382235}.orbit{--accent:#8bffda;--paper:#ddfffa;--night:#111b32;--panel:#17263e}.yard{--accent:#f5d86f;--paper:#f9efcc;--night:#192a31;--panel:#223941}.stack{--accent:#cab1ff;--paper:#f3e7ff;--night:#29243b;--panel:#3b304d}button,input,textarea{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:focus-visible,a:focus-visible,input:focus-visible{outline:3px solid var(--accent);outline-offset:3px}button:disabled{opacity:.4;cursor:default}a{color:inherit;text-decoration:none}[hidden]{display:none!important}.pocket-layout{display:flex;align-items:center;gap:54px}.desktop-copy{width:245px}.desktop-copy>a{font-size:12px;color:#b2b9bb}.desktop-copy .eyebrow{color:var(--accent);font-size:9px;letter-spacing:2px;margin-top:50px}.desktop-copy h1{font-size:49px;line-height:.96;letter-spacing:-2px;text-transform:uppercase;margin:19px 0}.desktop-copy>p:not(.eyebrow){font-size:13px;line-height:1.8;color:#9aa8ad}.desktop-copy .edition{border-top:1px solid #aabbcc25;padding-top:25px;margin-top:30px;font-size:10px;line-height:1.8;color:#849797}.device{width:min(calc(100vw - 20px),calc((100dvh - 112px)*.57142857),460px);flex-shrink:0}.toolbar{height:48px;display:flex;align-items:center;gap:5px;padding-bottom:5px}.toolbar>a{font-size:11px;white-space:nowrap}.toolbar>span{font-size:9px;font-weight:700;letter-spacing:1px;margin-left:auto;white-space:nowrap}.toolbar button{border:0;background:transparent;color:var(--paper);font-size:17px;min-width:40px;min-height:44px;border-radius:5px}.toolbar button:hover{background:#ffffff0c}.stage{position:relative;width:100%;aspect-ratio:4/7;background:var(--night);border-radius:18px;overflow:hidden;isolation:isolate;box-shadow:0 25px 90px #0006,0 0 0 1px #ffffff23;--unit:1px}canvas{position:absolute;inset:0;width:100%;height:100%;touch-action:none;display:block}.hud{position:absolute;top:calc(var(--unit)*15);left:calc(var(--unit)*20);right:calc(var(--unit)*20);display:flex;justify-content:space-between;pointer-events:none}.hud>div{display:flex;flex-direction:column;gap:2px}.hud>div:last-child{text-align:right}.hud span{font-size:calc(var(--unit)*9);font-weight:700;letter-spacing:1.8px;opacity:.7}.hud strong{font-size:calc(var(--unit)*25);letter-spacing:-.5px}.hud small{font-size:calc(var(--unit)*10);color:var(--accent)}.controls{position:absolute;left:calc(var(--unit)*18);right:calc(var(--unit)*18);bottom:calc(var(--unit)*16);height:calc(var(--unit)*112);display:grid;grid-template-columns:repeat(4,1fr);grid-template-rows:1fr 1fr;gap:calc(var(--unit)*8)}.controls button{border:1px solid #ffe9d138;border-bottom:3px solid #0004;border-radius:9px;background:var(--panel);color:var(--paper);font-size:max(9px,calc(var(--unit)*10));font-weight:700;letter-spacing:.7px;padding:5px;min-height:44px;touch-action:none;user-select:none}.controls button span{display:block;font-size:calc(var(--unit)*21);margin-bottom:2px;pointer-events:none}.controls button:hover,.controls button.held{filter:brightness(1.2)}.controls .primary{background:var(--accent);color:var(--night);border-color:#fff2}.controls .wide{grid-column:span 2}.controls .full{grid-column:1/-1}.controls.trio{grid-template-columns:1fr 1fr 1fr;grid-template-rows:1fr;height:calc(var(--unit)*66)}.controls.duo{grid-template-columns:1fr 2fr;grid-template-rows:1fr;height:calc(var(--unit)*66)}.controls .selected{border:2px solid var(--accent);background:#789b8938;box-shadow:0 0 16px #ffffff13}.cover{position:absolute;inset:0;background:linear-gradient(#111724b3,#111724ed);display:flex;align-items:center;justify-content:center;padding:calc(var(--unit)*25);z-index:5;backdrop-filter:blur(6px)}.panel{width:100%;background:var(--panel);border:1px solid #ffe9d130;border-radius:17px;padding:calc(var(--unit)*23);box-shadow:0 18px 50px #0003;text-align:center}.panel .eyebrow{font-size:max(8px,calc(var(--unit)*9));letter-spacing:2px;color:var(--accent);font-weight:700;margin:0 0 13px}.panel h2{font-size:calc(var(--unit)*43);line-height:.98;letter-spacing:-1.8px;text-transform:uppercase;margin:12px 0 17px}.panel .emblem{font-size:calc(var(--unit)*43);line-height:1.1;margin:8px 0;color:var(--accent)}.panel>p:not(.eyebrow){font-size:calc(var(--unit)*12);line-height:1.75;color:#d0c8c5;margin:13px 0}.panel .how{padding:calc(var(--unit)*13) 0;border-top:1px solid #fff1;border-bottom:1px solid #fff1;font-size:calc(var(--unit)*11);line-height:1.7;color:#d5d2c6;margin:17px 0;text-align:left;white-space:pre-line}.modes{display:grid;grid-template-columns:repeat(2,1fr);gap:6px;margin:15px 0}.modes button{background:#0002;border:1px solid #ffffff30;border-radius:7px;color:var(--paper);min-height:44px;padding:8px 3px;font-size:calc(var(--unit)*11);font-weight:700}.modes button[aria-pressed=true]{background:var(--accent);color:var(--night);border-color:var(--accent)}.big-button{display:block;width:100%;background:var(--accent);border:0;border-bottom:3px solid #0003;border-radius:8px;padding:calc(var(--unit)*15) 9px;min-height:48px;color:var(--night);font-size:calc(var(--unit)*13);font-weight:800;letter-spacing:1px;margin-top:13px}.panel .quiet-button{border:0;background:none;color:var(--paper);padding:13px 0 3px;font-size:calc(var(--unit)*11);text-decoration:underline;text-underline-offset:4px;min-height:44px}.panel .score-total{font-size:calc(var(--unit)*58);line-height:1.1;font-weight:800;color:var(--accent)}.toast{position:absolute;top:calc(var(--unit)*76);left:calc(var(--unit)*18);right:calc(var(--unit)*18);text-align:center;background:var(--panel);border:1px solid #fff4;border-radius:7px;color:var(--paper);font-size:calc(var(--unit)*12);font-weight:700;padding:calc(var(--unit)*10);opacity:0;pointer-events:none;z-index:3;transition:opacity .15s}.toast.visible{opacity:1}.bottom-note{text-align:center;font-size:8px;color:#819299;margin:12px 0 0;letter-spacing:.5px}.rotate-note{display:none}dialog{color:var(--paper);background:var(--panel);border:1px solid #ffffff40;border-radius:14px;padding:29px;max-width:460px;width:calc(100% - 28px);max-height:88dvh}dialog::backdrop{background:#090d16dc;backdrop-filter:blur(8px)}dialog h2{font-size:28px;letter-spacing:-1px;line-height:1.1;margin:12px 0 18px}dialog p{font-size:13px;line-height:1.8;color:#d0ccc4}dialog .close{position:absolute;top:8px;right:10px;border:0;background:none;color:inherit;font-size:26px;width:44px;height:44px}dialog input{width:100%;background:#0002;border:1px solid #fff4;color:var(--paper);border-radius:5px;padding:11px;font-size:16px}dialog label{display:block;font-size:11px;margin:17px 0 7px}dialog input[type=range]{padding:0;accent-color:var(--accent)}dialog textarea{width:100%;min-height:80px;background:#0003;border:1px solid #fff4;border-radius:6px;padding:10px;color:var(--paper);font-size:12px}dialog .fine-print{font-size:10px;line-height:1.7}dialog button:not(.close){background:var(--accent);border:0;border-radius:7px;color:var(--night);padding:12px 16px;font-weight:bold;min-height:44px}.screen-reader{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}@media(max-width:1050px){.desktop-copy{display:none}.pocket-layout{gap:0}}@media(max-width:600px){body{padding:env(safe-area-inset-top,0px) 8px env(safe-area-inset-bottom,0px)}.device{width:min(calc(100vw - 16px),calc((100dvh - 76px - env(safe-area-inset-top,0px) - env(safe-area-inset-bottom,0px))*.57142857))}.stage{border-radius:13px}.toolbar>a{font-size:10px}.toolbar>span{font-size:8px;letter-spacing:.5px}.toolbar{gap:0}.toolbar button{min-width:38px}.bottom-note{font-size:7px;margin-top:9px}}@media(max-height:500px) and (orientation:landscape){body{display:block;padding:12px;overflow:auto}.device{width:320px;margin:auto}.rotate-note{display:block;text-align:center;font-size:10px;color:var(--accent);margin-bottom:10px}.bottom-note{padding-bottom:15px}}@media(prefers-reduced-motion:reduce){*{transition:none!important}}
