@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;700;900&family=Luckiest+Guy&display=swap');
:root{--ink:#17251b;--cream:#fff8e9;--green:#51a34f;--lime:#cce95d;--orange:#f47545}*{box-sizing:border-box}html,body{margin:0;width:100%;height:100%;overflow:hidden;background:#f7e9ca;color:var(--ink);font-family:'DM Sans',sans-serif}#game-canvas{position:fixed;inset:0;width:100%;height:100%;display:block}#app{position:relative;height:100%;pointer-events:none}.topbar{position:absolute;top:0;left:0;right:0;padding:24px 32px;display:flex;justify-content:space-between;align-items:center;z-index:3}.brand{font-weight:900;font-size:22px;letter-spacing:-1px}.brand span{color:var(--green)}.icon-btn,.pause{pointer-events:auto;border:0;border-radius:50%;background:#fffaf0cc;width:44px;height:44px;font-size:18px;cursor:pointer}.screen{position:absolute;inset:0;display:none;align-items:center;justify-content:center;padding:80px 20px 30px}.screen.active{display:flex}.hero{width:min(550px,90vw);text-align:left;margin-right:auto;margin-left:8vw}.eyebrow{font-size:11px;letter-spacing:3px;font-weight:900;color:#e35e34;margin:0 0 15px}.hero h1{font-family:'Luckiest Guy',cursive;font-size:clamp(72px,12vw,150px);line-height:.76;margin:0;color:#fffdf3;text-shadow:5px 7px 0 #e86d42,8px 10px 0 #24442b;transform:rotate(-4deg)}h1 i,h2 i{color:var(--lime);font-style:normal}.tagline{font-size:18px;margin:35px 0 25px;font-weight:700}.primary,.secondary{pointer-events:auto;border:0;cursor:pointer;font:900 18px 'DM Sans';padding:16px 27px;border-radius:14px;transition:.2s;box-shadow:0 5px 0 #bb5635}.primary{background:var(--orange);color:white}.primary span{margin-left:28px}.secondary{background:#fffaf0;color:var(--ink);box-shadow:0 4px 0 #d9c7a2}.primary:hover,.secondary:hover{transform:translateY(-3px)}.hint{font-size:12px;opacity:.65;margin-top:28px}.panel{pointer-events:auto;background:#fff9ebec;border:3px solid #fff;box-shadow:0 18px 50px #5b472933;border-radius:28px;padding:34px;width:min(520px,94vw);text-align:center}.panel.wide{width:min(850px,94vw)}h2{font-family:'Luckiest Guy';font-size:54px;margin:0 0 24px;color:#2d5633;letter-spacing:1px}.map-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.map-card{border:0;border-radius:18px;background:#d7efb1;text-align:left;padding:15px;min-height:170px;cursor:pointer;color:var(--ink);font:inherit;position:relative;transition:.2s}.map-card:hover:not(:disabled){transform:translateY(-5px)}.map-card:nth-child(2){background:#b7d9a5}.map-card:nth-child(3){background:#313e58;color:white}.map-card:nth-child(4){background:#dbb87e}.map-card:disabled{filter:grayscale(.6);opacity:.55;cursor:not-allowed}.map-icon{font-size:40px;display:block;margin-bottom:14px}.map-name{font-weight:900;display:block}.map-meta{font-size:11px;display:block;margin-top:8px;opacity:.75}.stars-mini{color:#ef9d2d;font-size:19px;position:absolute;bottom:12px}.text-btn{pointer-events:auto;background:none;border:0;color:#557653;text-decoration:underline;cursor:pointer;font:700 13px 'DM Sans';margin:22px 8px}.game-screen{pointer-events:none;align-items:flex-start;padding-top:85px}.hud{display:flex;justify-content:center;gap:12px;width:100%}.hud-card{background:#fff9e9dd;border-radius:14px;padding:8px 22px;min-width:95px;text-align:left;box-shadow:0 3px 0 #c6b187}.hud-card.center{text-align:center}.hud-card.right{text-align:right}.hud-card small{display:block;font-size:9px;font-weight:900;letter-spacing:1px;opacity:.6}.hud-card strong{font-size:23px}.level-label{position:absolute;bottom:24px;left:28px;font-size:12px;font-weight:900;letter-spacing:2px;background:#fff9e9c9;padding:10px 14px;border-radius:10px}.pause{position:absolute;right:28px;bottom:22px}.toast{position:absolute;top:47%;left:0;right:0;text-align:center;color:white;font:900 34px 'Luckiest Guy';text-shadow:3px 3px #df6139;opacity:0;transform:scale(.7);transition:.2s}.toast.show{opacity:1;transform:scale(1)}.result h2{margin-bottom:5px}.stars{font-size:58px;color:#e9a82d;letter-spacing:5px;margin:4px}.result-score small{display:block;font-size:10px;font-weight:900;letter-spacing:2px}.result-score strong{font:70px 'Luckiest Guy';color:#e5683d}.stats,.final-stats{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin:18px 0;text-align:left}.stats span,.final-stats span{background:#f4e7c9;padding:11px;border-radius:9px;font-size:12px}.stats b,.final-stats b{float:right}.actions{display:flex;gap:9px;justify-content:center;flex-wrap:wrap}.actions button{font-size:13px;padding:12px 16px}.ultimate{font-size:20px;line-height:1.4}.ultimate b{color:#e5683d}.final h2{font-size:76px;line-height:.8;margin:5px}.final-stats{font-size:14px}.final-stats span{padding:15px}@media(max-width:650px){.hero{margin:auto;text-align:center}.map-grid{grid-template-columns:1fr 1fr}.map-card{min-height:140px}.panel{padding:25px 17px}.topbar{padding:17px}.hud-card{min-width:75px;padding:7px 12px}.hud{gap:6px}}
