:root{--bg:#1b1410;--ink:#f6ead8;--sign:#e3b23c;--crate:#c0392b;--panel:#1b1410c7;--line:#f6ead82e;--f-sign:"Bungee", "Arial Black", Impact, sans-serif;--f-body:"Bricolage Grotesque", ui-sans-serif, system-ui, sans-serif;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*{box-sizing:border-box}html,body{height:100%;margin:0}body{background:var(--bg);color:var(--ink);font-family:var(--f-body);overscroll-behavior:none;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;-webkit-touch-callout:none;overflow:hidden}[hidden]{display:none!important}#stage{position:fixed;top:0;bottom:0;left:0;right:0}#trail{pointer-events:none;width:100%;height:100%;position:fixed;top:0;bottom:0;left:0;right:0}.flash{color:var(--sign);display:none}.flash.show{display:block}#stage canvas{touch-action:none;width:100%;height:100%;display:block}.hud{padding:calc(env(safe-area-inset-top,0px) + 12px) 16px 0;pointer-events:none;flex-direction:column;align-items:center;gap:8px;display:flex;position:fixed;top:0;left:0;right:0}.board{background:var(--panel);border:2px solid var(--sign);border-radius:6px;align-items:center;gap:12px;padding:6px 14px;display:flex;box-shadow:0 3px #00000059}.side{flex-direction:column;align-items:center;min-width:64px;display:flex}.side small{letter-spacing:.08em;text-transform:uppercase;opacity:.75;white-space:nowrap;text-overflow:ellipsis;max-width:96px;font-size:11px;overflow:hidden}.side b{font-family:var(--f-sign);font-variant-numeric:tabular-nums;font-size:28px;font-weight:400;line-height:1}.side.serving small:after{content:" ●";color:var(--sign)}.dash{font-family:var(--f-sign);color:var(--sign);font-size:18px}.chips{flex-wrap:wrap;justify-content:center;gap:6px;display:flex}.chip{background:var(--panel);border:1px solid var(--line);font-variant-numeric:tabular-nums;border-radius:999px;padding:3px 9px;font-size:12px}.chip strong{color:var(--sign);font-weight:800}.chip-key{border-color:var(--sign);font-size:14px;font-weight:700}.hint:not(:empty),.flash.show{background:var(--panel);border:1px solid var(--line);border-radius:999px;padding:6px 14px;font-size:15px;font-weight:700}.hint:empty{display:none}.tools{right:16px;bottom:calc(env(safe-area-inset-bottom,0px) + 14px);justify-content:flex-end;gap:8px;display:flex;position:fixed}.tools button,.btn,.dev button{font:600 14px var(--f-body);color:var(--ink);background:var(--panel);border:1px solid var(--line);cursor:pointer;border-radius:8px;min-height:48px;padding:10px 14px}.tools button:focus-visible{outline:2px solid var(--sign);outline-offset:2px}.btn:focus-visible{outline:2px solid var(--sign);outline-offset:2px}.cam-pick button:focus-visible{outline:2px solid var(--sign);outline-offset:2px}.dev button:focus-visible{outline:2px solid var(--sign);outline-offset:2px}.callout{text-align:center;pointer-events:none;max-width:100%;font-family:var(--f-sign);color:var(--sign);text-shadow:0 3px #000;background:var(--panel);border:2px solid var(--sign);opacity:0;border-radius:8px;padding:8px 16px 10px;font-size:clamp(28px,9vw,56px);line-height:1.05;transition:opacity .15s,transform .15s;transform:scale(.9)}.callout:empty{display:none}.callout.show{opacity:1;transform:scale(1)}.callout small{font-family:var(--f-body);color:var(--ink);text-shadow:none;margin-top:6px;font-size:15px;font-weight:600;display:block}.overlay{z-index:20;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#120d0ab8;justify-content:center;align-items:center;padding:16px;display:flex;position:fixed;top:0;bottom:0;left:0;right:0}.card{overscroll-behavior:contain;background:var(--bg);border:2px solid var(--sign);border-radius:10px;flex-direction:column;gap:14px;width:100%;max-width:380px;max-height:calc(100dvh - 32px);padding:22px 20px;display:flex;overflow-y:auto;box-shadow:0 6px #0006}.card h1{font-family:var(--f-sign);color:var(--sign);text-wrap:balance;margin:0;font-size:44px;font-weight:400;line-height:1}.card h1 span{font-family:var(--f-body);letter-spacing:.14em;text-transform:uppercase;color:var(--ink);margin-top:8px;font-size:14px;font-weight:600;display:block}.card p{margin:0;font-size:15px;line-height:1.45}.card ul{margin:0;padding-left:18px;font-size:14px;line-height:1.5}.label{letter-spacing:.1em;text-transform:uppercase;opacity:.7;font-size:11px}.cam-pick{grid-template-columns:repeat(3,1fr);gap:6px;display:grid}.cam-pick button{font:600 13px var(--f-body);color:var(--ink);border:1px solid var(--line);cursor:pointer;background:0 0;border-radius:8px;min-height:44px;padding:10px 4px}.cam-pick button[aria-pressed=true],.dev button[aria-pressed=true]{border-color:var(--sign);color:var(--sign);background:#e3b23c24}.btn.primary{background:var(--sign);color:#1b1410;border-color:var(--sign);font-family:var(--f-sign);border-radius:8px;min-height:52px;font-size:18px;font-weight:400}.home-stats{grid-template-columns:1fr 1fr;gap:8px;display:grid}.stat{border:1px solid var(--line);border-radius:8px;flex-direction:column;gap:2px;padding:8px 10px;display:flex}.stat b{font-family:var(--f-sign);color:var(--sign);font-variant-numeric:tabular-nums;font-size:22px;font-weight:400}.new-best{font-family:var(--f-sign);color:var(--sign);font-size:20px}.card.setups{overscroll-behavior:contain;max-width:560px;max-height:calc(100dvh - 32px);overflow-y:auto}.card.setups h1{font-size:34px}.card.setups h2{font:800 13px var(--f-body);letter-spacing:.1em;text-transform:uppercase;opacity:.8;margin:6px 0 0}.setup-row{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:8px;display:grid}.setup-card{text-align:left;font:13px/1.35 var(--f-body);color:var(--ink);border:1px solid var(--line);cursor:pointer;background:0 0;border-radius:8px;flex-direction:column;gap:4px;min-height:44px;padding:10px;display:flex}.setup-card b{font-size:14px}.setup-card .perk{color:#a9d39f}.setup-card .down{color:#e7a99e}.setup-card .state{opacity:.8;letter-spacing:.04em;text-transform:uppercase;margin-top:auto;font-size:12px}.setup-card[aria-pressed=true]{border-color:var(--sign);background:#e3b23c24}.setup-card[aria-pressed=true] .state{color:var(--sign);opacity:1}.setup-card.locked{opacity:.75}.setup-card.locked:not(:disabled){opacity:.85;border-style:dashed;border-color:var(--sign)}.setup-card:disabled{cursor:default}.setup-card:focus-visible{outline:2px solid var(--sign);outline-offset:2px}.btn-row{grid-template-columns:1fr 1fr;gap:8px;display:grid}.btn-row-3{grid-template-columns:repeat(3,1fr)}.btn-row .btn{padding:10px 6px}.how summary{cursor:pointer;align-items:center;min-height:44px;font-weight:700;display:flex}.how ul{margin-bottom:8px}.hero{flex-direction:column;align-items:flex-start;gap:2px;display:flex}.hero b{font-family:var(--f-sign);color:var(--sign);font-variant-numeric:tabular-nums;font-size:64px;font-weight:400;line-height:1}.hero span{font-weight:600}.char-card{text-align:center;align-items:center}.swatch{border:1px solid var(--line);border-radius:18px 18px 6px 6px;width:36px;height:52px}.seg{grid-template-columns:repeat(3,1fr);gap:6px;display:grid}.seg.seg-2{grid-template-columns:repeat(2,1fr)}.seg button{font:600 13px var(--f-body);color:var(--ink);border:1px solid var(--line);cursor:pointer;background:0 0;border-radius:8px;min-height:44px;padding:10px 4px}.seg button[aria-pressed=true]{border-color:var(--sign);color:var(--sign);background:#e3b23c24}.seg button:focus-visible{outline:2px solid var(--sign);outline-offset:2px}.sheet{z-index:20;padding:16px 16px calc(env(safe-area-inset-bottom,0px) + 16px);justify-content:center;display:flex;position:fixed;bottom:0;left:0;right:0}.sheet .card{gap:10px}.big-next{font-family:var(--f-sign);color:#ec6a52;text-shadow:0 3px #000;font-size:56px;line-height:1}.note{opacity:.65;font-size:12px}.stats{left:16px;top:calc(env(safe-area-inset-top,0px) + 12px);background:var(--panel);font-variant-numeric:tabular-nums;pointer-events:none;white-space:pre;z-index:5;border-radius:4px;margin:0;padding:4px 8px;font:11px/1.4 ui-monospace,Menlo,monospace;position:fixed}.dev{left:16px;top:calc(env(safe-area-inset-top,0px) + 74px);z-index:5;flex-direction:column;align-items:flex-start;gap:4px;display:flex;position:fixed}.dev button{min-height:36px;padding:4px 10px;font-size:12px}.lil-gui.tune{--width:220px;z-index:10;max-height:calc(100% - 140px);top:42%!important;right:8px!important}@media (max-width:520px){.dev{top:auto;bottom:calc(env(safe-area-inset-bottom,0px) + 110px);flex-direction:row}.stats{top:auto;bottom:calc(env(safe-area-inset-bottom,0px) + 152px)}}@media (prefers-reduced-motion:reduce){.callout{transition:none}}
