*{box-sizing:border-box}body{margin:0;background:#f8f4e9;color:#20352e;font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit;cursor:pointer}button:focus-visible,a:focus-visible,canvas:focus-visible{outline:3px solid #df632c;outline-offset:4px}a{color:inherit}header{max-width:1150px;margin:auto;padding:22px 24px;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid #20352e22}.brand{text-decoration:none;font-size:21px;font-weight:850;letter-spacing:-1px}.brand span{color:#e96a3d}.back{font-size:13px;text-decoration:none;font-weight:650}.shell{max-width:1060px;margin:28px auto;padding:0 24px;display:grid;grid-template-columns:1fr 440px;gap:56px;align-items:center}.eyebrow{text-transform:uppercase;font-size:11px;letter-spacing:.16em;font-weight:800;color:#a34c28}.copy h1{font-size:clamp(40px,5.7vw,70px);line-height:.98;letter-spacing:-.065em;margin:20px 0}.copy .dek{font-size:17px;line-height:1.65;max-width:390px;color:#50665b}.controls{border-top:1px solid #20352e22;margin-top:30px;padding-top:22px}.controls strong{font-size:12px;text-transform:uppercase;letter-spacing:.08em}.controls p{max-width:365px;font-size:14px;line-height:1.6;color:#50665b}.shelf{display:grid;gap:8px;margin-top:26px}.shelf a{text-decoration:none;border:1px solid #20352e20;padding:11px 14px;display:flex;justify-content:space-between;align-items:center;border-radius:10px;font-size:13px;font-weight:650}.shelf a[aria-current]{background:#20352e;color:#fff;border-color:#20352e}.shelf a:hover{border-color:#20352e}.shelf small{font-weight:400;opacity:.7}.cabinet{border-radius:24px;background:#fff;border:1px solid #20352e24;padding:13px;box-shadow:0 14px 35px #20352e13}.hud{display:flex;align-items:center;justify-content:space-between;padding:7px 8px 15px;gap:10px}.scores{display:flex;gap:24px}.scores label{font-size:9px;letter-spacing:.1em;text-transform:uppercase;display:block;color:#667a6e}.scores b{display:block;font-size:23px;font-variant-numeric:tabular-nums}.actions{display:flex;gap:6px}.icon-button{background:#f0f3ed;border:0;border-radius:8px;width:38px;height:38px;color:#20352e;font-weight:700;font-size:15px}.stage{position:relative;overflow:hidden;border-radius:15px;background:#b9dce2;aspect-ratio:4/5}canvas{display:block;width:100%;height:100%;touch-action:none}.overlay{position:absolute;inset:0;background:linear-gradient(#edf8ee20,#faf7e8e8 55%);display:flex;align-items:center;justify-content:center;text-align:center;padding:28px}.overlay[hidden]{display:none}.overlay>div{max-width:320px}.overlay .tag{font-size:10px;text-transform:uppercase;letter-spacing:.13em;font-weight:800}.overlay h2{font-size:36px;line-height:1;letter-spacing:-.04em;margin:14px 0}.overlay p{font-size:14px;line-height:1.6}.primary{border:0;border-radius:99px;padding:14px 28px;background:#e26536;color:white;font-weight:750;box-shadow:0 4px 0 #ab4623;min-height:48px}.primary:active{transform:translateY(2px);box-shadow:0 2px 0 #ab4623}.primary:disabled{cursor:not-allowed;background:#d4c7b8;color:#4c5049;box-shadow:none}.secondary{display:block;margin:18px auto 0;background:none;border:0;text-decoration:underline;color:#20352e;font-size:12px}.cabinet-note{text-align:center;font-size:11px;color:#69796c;margin:13px 0 2px}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}footer{text-align:center;font-size:11px;color:#718075;margin:28px auto;padding:0 20px 22px}dialog{border:0;border-radius:20px;padding:28px;max-width:330px;background:#faf7ee;color:#20352e}dialog::backdrop{background:#182c2670}dialog h2{margin-top:0}dialog p{font-size:14px;line-height:1.6}@media(max-width:760px){header{padding:15px 18px}.shell{display:flex;flex-direction:column;gap:20px;margin:18px auto;padding:0 14px;max-width:470px}.copy{width:100%}.copy h1{font-size:34px;line-height:1.04;margin:10px 0}.copy .dek{font-size:13px;line-height:1.5;margin:8px 0}.controls{display:none}.shelf{grid-template-columns:repeat(5,1fr);gap:5px;margin-top:13px}.shelf a{padding:8px 5px;display:block;text-align:center;border-radius:8px;font-size:10px;line-height:1.3}.shelf small{display:none}.cabinet{width:100%;max-width:440px;padding:9px;border-radius:20px}.hud{padding:3px 6px 10px}.scores b{font-size:20px}.overlay h2{font-size:32px}.cabinet-note{font-size:10px}footer{margin-top:20px}}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}}

/* Keep native hidden controls out of the layout after display styling. */
.secondary[hidden]{display:none}
