:root{color-scheme:dark;--ink:#f7f0e9;--muted:#c5cadb;--mint:#bcebd5}*{box-sizing:border-box}body{margin:0;color:var(--ink);background:radial-gradient(ellipse at 50% 0,#3c3b55,transparent 70%),#171d32;font:16px/1.65 system-ui,-apple-system,"Segoe UI",sans-serif}header{max-width:1440px;margin:auto;display:flex;align-items:center;justify-content:space-between;padding:10px 25px;gap:12px}a{color:inherit;text-underline-offset:5px}header a{font-size:12px;min-height:44px;display:flex;align-items:center}.brand{font-weight:750;text-decoration:none;gap:10px}.brand small{font-size:9px;letter-spacing:.1em;color:var(--muted)}main,footer{width:min(1280px,calc(100% - 32px));margin:auto}h1,h2,p{margin:0}button{font:inherit;font-size:13px;min-height:44px;min-width:44px;border-radius:13px;border:1px solid #8e91a3;background:#3c435d;color:var(--ink);padding:9px 15px;cursor:pointer;touch-action:manipulation}button:hover:not(:disabled){background:#505a73}button:disabled{opacity:.43;cursor:not-allowed}button:focus-visible,a:focus-visible,summary:focus-visible,canvas:focus-visible{outline:3px solid var(--mint);outline-offset:4px}.play-shell{border:1px solid #6a718a;border-radius:22px;background:#252d44;overflow:hidden;box-shadow:0 20px 60px #090e2040}.toolbar{display:flex;align-items:center;justify-content:space-between;padding:10px 20px;background:#30354e;gap:10px}.toolbar h1{font-size:20px;letter-spacing:.08em}.toolbar>div{display:flex;gap:8px}.toolbar button{font-size:12px;min-width:62px;background:#3d425a}#stage{position:relative;height:clamp(370px,68svh,700px);background:#202c44}#game{width:100%;height:100%}canvas{display:block!important;touch-action:none!important}.welcome{position:absolute;inset:0;display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;background:linear-gradient(115deg,#16213bde,#1a2548a6);padding:22px;gap:12px;z-index:2}.welcome .eyebrow{font-size:12px;letter-spacing:.15em;color:#f5d9ae}.welcome h2{font-size:42px;line-height:1.3;letter-spacing:.05em}.welcome>p:not(.eyebrow){font-size:14px;color:#e7dfdf}.welcome label{font-size:10px;color:var(--muted)}#load-progress{width:160px;height:6px;accent-color:var(--mint)}.primary{min-height:48px;color:#203d3c;background:var(--mint);border-color:var(--mint);font-weight:750;font-size:15px;padding:12px 26px;box-shadow:0 4px 0 #284c50}.primary:hover:not(:disabled){background:#d7f6e5}.bubble{position:absolute;bottom:18px;left:50%;transform:translateX(-50%);width:max-content;max-width:calc(100% - 32px);padding:12px 20px;color:#fdf4e8;background:#34364fe8;border:1px solid #c5b4c28c;box-shadow:0 4px 15px #0b112844;border-radius:17px;text-align:center;font-size:14px;pointer-events:none;z-index:1}.toy-dock{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:13px 20px;background:#30364e}.toy-dock>#phase{font-size:12px;color:#e2d5e4}.toy-dock>button{background:#786174;border-color:#ba97ac}.collection{font-size:10px;color:var(--muted);display:flex;align-items:center;gap:12px}.collection progress{width:110px;height:12px;accent-color:#e9cc86}.assist{border-top:1px solid #6a718a;padding:16px 20px;background:#272f47}.assist p{font-size:12px;color:var(--muted);margin-bottom:10px}.nudge{display:flex;gap:8px;flex-wrap:wrap}.nudge button{min-width:52px}.finish{position:absolute;inset:15% 8%;background:#293b4fee;border:1px solid #dfd3b5;border-radius:24px;display:flex;align-items:center;justify-content:center;flex-direction:column;text-align:center;padding:20px;gap:15px;z-index:2;box-shadow:0 10px 40px #11182b66}.finish>span{font-size:48px;color:#f4d68e;line-height:1}.finish h2{font-size:29px}.finish p{font-size:13px}.finish a{font-size:12px;min-height:44px;display:flex;align-items:center}.error{border:1px solid #e8b8a1;padding:18px;font-size:13px;margin:16px;color:#ffe5d5}details{font-size:12px;color:var(--muted);padding:14px 4px}summary{min-height:44px;align-content:center;cursor:pointer}details p{max-width:850px;margin:10px 0}footer{padding:18px 4px 26px;border-top:1px solid #596077;font-size:11px;color:var(--muted)}.skip{position:absolute;left:10px;top:-100px;background:var(--mint);color:#1b3837;padding:10px;z-index:20}.skip:focus{top:8px}.sr{position:absolute;width:1px;height:1px;clip-path:inset(50%);overflow:hidden;white-space:nowrap}[hidden]{display:none!important}
@media(max-width:650px){header{padding:6px 14px}.brand small{display:none}main,footer{width:calc(100% - 16px)}.play-shell{border-radius:17px}.toolbar{padding:8px 12px}.toolbar h1{font-size:17px}.toolbar button{padding:8px 10px;font-size:11px;min-width:54px}#stage{height:clamp(340px,53svh,490px)}.welcome h2{font-size:32px}.welcome{gap:10px;padding:16px}.welcome>p:not(.eyebrow){font-size:12px}.welcome .eyebrow{font-size:10px}.toy-dock{padding:10px 12px;gap:8px;flex-wrap:wrap}.toy-dock>#phase{font-size:10px}.collection{font-size:9px;gap:8px}.collection progress{width:65px}.bubble{font-size:12px;bottom:12px;padding:10px 13px}.finish{inset:8% 4%;gap:10px;padding:16px}.finish h2{font-size:23px}.finish>span{font-size:36px}.assist{padding:12px}.assist p{font-size:11px}.nudge button{flex:1}.nudge #grab,.nudge #cancel{flex-basis:35%}}
@media(max-height:500px) and (min-width:651px){header{padding:0 16px}#stage{height:330px}.toolbar{padding:4px 12px}.toy-dock{padding:7px 12px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}

.welcome.replay{inset:auto 16px 12px;flex-direction:row;flex-wrap:wrap;gap:8px;background:#293b4ff2;border:1px solid #b5c2c1;border-radius:16px;padding:10px 14px;justify-content:space-around}.welcome.replay h2,.welcome.replay>p:not(.eyebrow),.welcome.replay label,.welcome.replay progress{display:none}.welcome.replay .eyebrow{font-size:11px;letter-spacing:0}.welcome.replay .primary{font-size:13px;padding:10px 18px}
body{min-height:100svh;background-repeat:no-repeat}
