:root{--ink: #5a3a1a;--ink-soft: #8a6238;--peach: #f7d59a;--peach-deep: #f0b96a;--card: #f3e4c8;--wood: #c45c4a;--wood-deep: #9a3e32;--slot: #fffaf3;--good: #4caf50;--shadow: 0 8px 0 rgba(160, 96, 32, .18);font-family:Nunito,system-ui,sans-serif}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}html,body{margin:0;min-height:100%;background:#f3b96a;color:var(--ink);overflow:hidden}body{background-color:#f4c57a;background-image:linear-gradient(45deg,#efb562 25%,transparent 25%),linear-gradient(-45deg,#efb562 25%,transparent 25%),linear-gradient(45deg,transparent 75%,#efb562 75%),linear-gradient(-45deg,transparent 75%,#efb562 75%);background-size:56px 56px;background-position:0 0,0 28px,28px -28px,-28px 0}#app{min-height:100dvh;display:flex;justify-content:center}.phone{width:100%;min-height:100dvh;max-height:100dvh;display:flex;flex-direction:column;position:relative;overflow:hidden}@media(min-width:700px){.phone{width:430px}}button{font-family:inherit;border:none;cursor:pointer}h1,h2,p{margin:0}.home,.levels,.shop,section.play{flex:1;display:flex;flex-direction:column;min-height:0}.home{padding:18px 18px 28px;align-items:center}.hero-wrap{width:100%;height:38dvh;min-height:180px;border-radius:28px;overflow:hidden;box-shadow:var(--shadow);border:4px solid #fff3d8}.hero-wrap img{width:100%;height:100%;object-fit:cover;display:block}.brand{margin-top:16px;text-align:center}.brand h1{font-size:42px;letter-spacing:-.03em;color:#6b3d12;text-shadow:0 3px 0 #ffe7b4}.brand p{color:var(--ink-soft);font-weight:800}.coin-pill{margin-top:10px;background:#fff6df;border-radius:999px;padding:6px 14px;font-weight:900;box-shadow:0 3px #e0b46a}.home-actions{width:100%;margin-top:auto;display:flex;flex-direction:column;gap:12px}.btn{height:58px;border-radius:18px;font-size:22px;font-weight:900;color:#fff;box-shadow:0 5px #0000002e}.btn:active{transform:translateY(2px);box-shadow:0 3px #0000002e}.btn.play{background:linear-gradient(#7be05a,#3db83a)}.btn.alt{background:linear-gradient(#6cb6ff,#3b86e0)}.btn.warn{background:linear-gradient(#ffb04a,#f08a1a)}.btn.ghost{background:#fff6df;color:var(--ink)}.topbar{display:flex;align-items:center;justify-content:space-between;padding:10px 12px 4px;gap:8px}.icon-btn{width:46px;height:46px;border-radius:14px;background:linear-gradient(#7aa0ff,#4b6fe0);color:#fff;font-size:22px;font-weight:900;box-shadow:0 3px #3553b0}.icon-btn.fast{width:auto;padding:0 12px;background:linear-gradient(#8fd8ff,#4aaee0);box-shadow:0 3px #2d7aa8;font-size:16px}.icon-btn.fast.on{background:linear-gradient(#ffe08a,#f0b020);box-shadow:0 3px #c48a10;color:#5a3a10}.icon-btn.fast.turbo{background:linear-gradient(#ffab7a,#f0622a);box-shadow:0 3px #b8431a;color:#fff}.level-title{font-size:22px;font-weight:900;color:#5b3914}.topbar,.stage,.slots,.boosters{flex-shrink:0}.stage{padding:0 10px}.stage canvas{width:100%;height:auto;display:block}.slots{display:flex;justify-content:center;gap:8px;padding:6px 12px 4px}.slot{width:56px;height:56px;border-radius:14px;background:var(--slot);box-shadow:inset 0 0 0 3px #fff,0 3px #e0c48a;display:grid;place-items:center}.tray-wrap{flex:1;min-height:0;overflow:auto;padding:4px 14px 8px}.tray{display:grid;gap:8px;justify-content:center;margin:0 auto}.tray .cube{width:var(--cs, 56px);height:var(--cs, 56px);font-size:calc(var(--cs, 56px) * .38);border-radius:calc(var(--cs, 56px) * .25)}.cube{width:56px;height:56px;border-radius:14px;color:#fff;font-size:22px;font-weight:900;position:relative;text-shadow:0 1px 2px rgba(0,0,0,.25);box-shadow:inset 0 3px #ffffff59,0 4px color-mix(in srgb,var(--deep) 80%,#000);background:linear-gradient(180deg,var(--lite),var(--hex) 48%,var(--deep))}.cube.hint{box-shadow:inset 0 3px #ffffff59,0 4px color-mix(in srgb,var(--deep) 80%,#000),0 0 0 3px #ffffffd9}.cube.locked,.cube.hidden{filter:saturate(.2) brightness(.92)}.cube .mark{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;font-size:20px}.boosters{display:flex;justify-content:space-around;align-items:center;padding:8px 10px calc(10px + env(safe-area-inset-bottom));background:linear-gradient(#d96b58,#b04738);border-top:3px solid #ef9884}.booster{width:62px;height:62px;border-radius:50%;background:#fff4d8;position:relative;box-shadow:0 3px #8a3026;font-size:26px}.booster:disabled{opacity:.55}.booster.on{background:#ffe08a;box-shadow:0 3px #8a3026,0 0 0 3px #fff6df}.booster .badge{position:absolute;right:-2px;bottom:-2px;min-width:20px;height:20px;border-radius:999px;background:#3cce4a;color:#fff;font-size:12px;font-weight:900;display:grid;place-items:center;padding:0 5px}.booster.lock .badge{background:#8a6238}.overlay{position:absolute;top:0;right:0;bottom:0;left:0;background:#28140873;display:grid;place-items:center;padding:20px;z-index:5}.overlay[hidden]{display:none!important}.modal{width:min(340px,100%);background:#fff6e4;border-radius:24px;padding:22px 18px 18px;text-align:center;box-shadow:0 12px #5a321433;border:4px solid #7eb6ff}.modal h2{font-size:28px;margin-bottom:8px}.modal p{color:var(--ink-soft);font-weight:700;margin-bottom:14px}.modal .row{display:flex;flex-direction:column;gap:10px}.levels-head,.shop-head{display:flex;align-items:center;gap:10px;padding:14px 14px 8px}.level-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:10px;padding:8px 14px 24px;overflow:auto}.level-cell{aspect-ratio:1;border-radius:16px;background:#fff6df;font-weight:900;font-size:16px;color:var(--ink);box-shadow:0 4px #e0b46a;position:relative}.level-cell.done{background:linear-gradient(#8be06a,#49b83c);color:#fff}.level-cell.locked{background:#e8c896;color:#a07a48}.stars{position:absolute;bottom:4px;left:0;right:0;font-size:10px}.visually-hidden{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}.shop-list{padding:8px 16px 20px;display:flex;flex-direction:column;gap:10px}.shop-item{display:flex;align-items:center;justify-content:space-between;background:#fff6df;border-radius:18px;padding:12px 14px;box-shadow:0 4px #e0b46a}.shop-item b{font-size:18px}.banner{position:absolute;left:50%;top:72px;transform:translate(-50%);background:#fff6df;padding:8px 14px;border-radius:12px;font-weight:800;box-shadow:var(--shadow);z-index:4}.phone,.cube,.slot,.btn{-webkit-user-select:none;user-select:none}@media(max-height:720px){.cube,.slot{width:48px;height:48px;font-size:18px}.brand h1{font-size:34px}}
