:root{font-family:'Arial Rounded MT Bold','Trebuchet MS',sans-serif;color:#24482c;background:#fbefcf;font-synthesis:none}*{box-sizing:border-box}body{margin:0;background:radial-gradient(ellipse at 0 10%,#b4c77b60,transparent 45%),radial-gradient(ellipse at 100% 90%,#dfaa5b40,transparent 40%)}button,a,input{touch-action:manipulation}button{font:inherit;cursor:pointer;color:inherit;min-height:46px;border:2px solid #d8c394;border-radius:14px;background:#fff6df;padding:11px 16px;box-shadow:0 3px 0 #c4ac7c}button:hover{filter:brightness(1.06)}button:active{transform:translateY(2px);box-shadow:none}button:disabled{cursor:default;opacity:.65}button:focus-visible,a:focus-visible,input:focus-visible,canvas:focus-visible{outline:3px solid #b75a17;outline-offset:4px}header{max-width:1140px;margin:auto;display:flex;align-items:center;justify-content:space-between;gap:14px;padding:20px 28px 0}header a{color:#315b38;font-weight:bold;text-decoration:none;padding:12px 18px;background:#fff5dc;border:2px solid #ddc79b;border-radius:18px;box-shadow:0 4px 0 #ba9c65}header>span{font-size:13px}main{max-width:1100px;margin:auto;padding:16px 28px 30px;display:grid;grid-template-columns:230px minmax(0,1fr);gap:24px;align-items:start}.heading{grid-column:1/-1;text-align:center}.eyebrow{font-size:10px;font-weight:bold;letter-spacing:2px}h1{display:table;margin:16px auto 22px;background:#17472d;color:#fff4d0;padding:14px 44px 20px;border-radius:35% 30% 24% 27%;transform:rotate(-2deg);font-size:clamp(34px,4vw,52px);line-height:1.03;box-shadow:0 5px 0 #0c3420;position:relative}h1 span{display:block;color:#ffac40;font-size:.73em}h1:before,h1:after{content:'';position:absolute;width:23px;height:35px;background:#92b943;border-radius:100% 0;left:-6px;top:20px;transform:rotate(-35deg)}h1:after{left:auto;right:-6px;top:auto;bottom:18px;transform:rotate(35deg)}.heading>p:last-child{font-size:15px;line-height:1.5}.controls{background:#fff6dfee;border:2px solid #e4cda0;border-radius:25px;box-shadow:0 6px 0 #c4ad7c55;padding:12px;display:grid;gap:18px}.cover{width:100%;height:auto;border-radius:15px}fieldset{border:0;padding:0;margin:0;display:grid;gap:12px}legend{font-size:14px;font-weight:bold;padding:0 0 14px}fieldset button{text-align:left;padding:12px 9px;font-size:14px}small{display:block;font-size:11px;margin-top:5px;font-weight:normal}fieldset button[aria-pressed=true]{background:#f4cf88;border-color:#a97632;box-shadow:0 3px 0 #956629}#restart,.primary{background:#38683e;color:#fff4d0;border-color:#284d31;box-shadow:0 4px 0 #24482c;font-weight:bold}.assist{font-size:13px;line-height:1.6;display:flex;align-items:center;gap:8px}.assist input{width:20px;height:20px;accent-color:#38683e;flex-shrink:0}.signature{width:155px;max-width:100%;margin:auto}.signature img{width:100%;display:block}.play-area{min-width:0;padding:18px;border:5px solid #f4d9a3;border-radius:28px;background:repeating-linear-gradient(0deg,#ffffff05 0 5px,#8953230b 6px 7px),linear-gradient(100deg,#d5a16b,#edc18a 45%,#d1a06c);box-shadow:0 7px 0 #ae7541,0 15px 22px #5a4a2526}.score{background:#fff3d4;border:1px solid #d9ba80;border-radius:16px;display:flex;justify-content:space-between;gap:10px;flex-wrap:wrap;padding:12px;font-size:12px;margin-bottom:14px}.canvas-wrap{position:relative;border:4px solid #fff0c9;border-radius:19px;overflow:hidden;background:#102b27}canvas{width:100%;height:auto;display:block;aspect-ratio:1;touch-action:pan-y}.welcome{position:absolute;inset:0;background:#132e29f5;color:#fff3d4;display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;padding:25px}.welcome[hidden]{display:none}.welcome>span{font-size:60px;color:#ffb94c}.welcome h2{font-size:clamp(20px,3vw,29px);margin:8px 0}.welcome p{line-height:1.6;max-width:360px;font-size:14px}.welcome .primary{background:#f0a13c;border-color:#bc7424;color:#193c2c;box-shadow:0 4px 0 #96561c}#message{background:#fff1d2dc;border-radius:14px;padding:12px;min-height:64px;font-size:14px;line-height:1.5;margin:14px 0}.game-controls{display:flex;justify-content:center;align-items:center;gap:26px}.dpad{display:grid;grid-template-columns:repeat(3,46px);gap:6px}.dpad button{padding:5px;font-size:23px;font-weight:bold}.dpad button:first-child{grid-column:2}.dpad button:nth-child(2){grid-column:1}.game-controls>.primary{min-width:130px;min-height:64px}.instructions,.footnote{grid-column:1/-1;font-size:14px;line-height:1.7}.instructions{background:#fff6df;border:2px solid #e4cda0;border-radius:18px;padding:16px 20px}.instructions summary{cursor:pointer;font-weight:bold}.footnote{text-align:center;margin:0}dialog{max-width:min(440px,90vw);text-align:center;background:#fff3d7;border:4px solid #dcc08b;border-radius:26px;padding:28px;color:#234a30;box-shadow:0 8px 0 #a77c46}dialog::backdrop{background:#183b29b0}dialog p{line-height:1.6}dialog button{display:block;margin:14px auto 0}.star{font-size:60px;color:#d78320}@media(max-width:760px){header{padding:16px 14px 0}header>span{display:none}header button,header a{font-size:13px;padding:10px}main{grid-template-columns:minmax(0,1fr);padding:12px 12px 24px;gap:18px}.heading,.instructions,.footnote{grid-column:1}.eyebrow{font-size:9px;letter-spacing:1px}.heading>p:last-child{font-size:13px}.cover,.signature{display:none}.controls{gap:14px}.controls fieldset{display:flex;gap:8px}.controls legend{padding-bottom:10px}.controls fieldset button{flex:1;text-align:center;padding:10px 4px;font-size:12px}fieldset small{font-size:10px}.assist{justify-content:center}#restart{width:100%}.play-area{padding:10px;border-width:4px}.score{font-size:11px;padding:10px}#phase{width:100%}.welcome{padding:16px}.welcome>span{font-size:34px}.welcome p{font-size:12px;margin:8px 0 14px}.welcome h2{font-size:21px}.game-controls{gap:18px}#message{font-size:12px;min-height:72px}.footnote{font-size:12px}}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}
