@font-face{font-family:Lilita One;src:url(/fonts/LilitaOne.ttf)format("truetype");font-display:swap}@font-face{font-family:Kanit;src:url(/fonts/Kanit-Bold.ttf)format("truetype");font-weight:700;font-display:swap}:root{--ink:#3a1f4d;--gold:#ffc83a;--gold2:#ff9d1a;--pink:#ff86b8;--panel:#fff7ec;--sat:env(safe-area-inset-top,0px);--sab:env(safe-area-inset-bottom,0px)}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}html,body{touch-action:none;-webkit-user-select:none;user-select:none;background:#a8dcff;height:100%;margin:0;overflow:hidden}body{color:var(--ink);font-family:Kanit,Lilita One,sans-serif;font-weight:700}#game{touch-action:none;width:100%;height:100%;display:block;position:fixed;inset:0}#ui{pointer-events:none;z-index:10;position:fixed;inset:0}#ui>*{pointer-events:auto}.ic{object-fit:contain;vertical-align:middle;pointer-events:none;width:48px;height:48px}.ic.sm{width:28px;height:28px}.ic.xs{width:18px;height:18px}.ic.big{width:96px;height:96px}button{cursor:pointer;border:0;font-family:inherit;font-weight:700}.btn{color:var(--ink);background:linear-gradient(#fff,#ffe9d2);border-radius:18px;justify-content:center;align-items:center;gap:6px;padding:10px 18px;font-size:18px;transition:transform 80ms;display:inline-flex;box-shadow:0 4px #d6a77a,0 6px 14px #3c143c40}.btn:active{transform:translateY(3px);box-shadow:0 1px #d6a77a}.btn.gold{background:linear-gradient(#ffe27a, var(--gold2));color:#5a2a00;box-shadow:0 4px #c9670a,0 6px 16px #7832004d}.btn.big{border-radius:24px;padding:14px 28px;font-size:24px}.btn.big small{opacity:.8;margin-left:4px;font-size:15px}.btn.small{border-radius:14px;padding:6px 12px;font-size:15px}.btn[disabled]{filter:grayscale(.6);opacity:.7}.btn.kid{color:#1f4a12;background:linear-gradient(#bdf6a8,#6fcf5a);box-shadow:0 4px #3e8a2e}.iconbtn{width:48px;height:48px;color:var(--ink);background:#ffffffd9;border-radius:16px;justify-content:center;align-items:center;font-size:20px;display:inline-flex;box-shadow:0 3px #00000026}.iconbtn .ic{width:34px;height:34px}.row{flex-wrap:wrap;justify-content:center;gap:10px;display:flex}.screen{flex-direction:column;align-items:center;display:flex;position:absolute;inset:0}.title-bg{background:url(/art/title.jpg) 50% 70%/cover no-repeat,#a8dcff;position:absolute;inset:0}.title:after{content:"";pointer-events:none;background:linear-gradient(#fff0 55%,#3c145059);position:absolute;inset:0}.title-logo{z-index:1;margin-top:calc(6vh + var(--sat));text-align:center;color:#fff;text-shadow:0 5px #b8326e,0 9px 18px #5a143c73;font-family:Lilita One,Kanit;line-height:.9;animation:3s ease-in-out infinite bob;position:relative}.title-logo span{display:block}.title-logo .l1{letter-spacing:2px;font-size:clamp(54px,15vw,96px)}.title-logo .l2{color:var(--gold);text-shadow:0 5px #c9670a,0 9px 18px #5a280073;font-size:clamp(64px,18vw,118px)}.title-logo .l3{text-shadow:0 3px #b8326e,0 4px 10px #0000004d;margin-top:8px;font-family:Kanit;font-size:clamp(20px,5.4vw,30px)}.title-btns{z-index:1;bottom:calc(6vh + var(--sab));flex-direction:column;align-items:center;gap:12px;display:flex;position:absolute;left:0;right:0}.title .tl{z-index:2;top:calc(12px + var(--sat));position:absolute;left:12px}.crowns{background:#ffffffe6;border-radius:16px;align-items:center;gap:4px;padding:6px 14px;font-size:20px;display:inline-flex;box-shadow:0 3px #0000001f}.crowns.tr{z-index:2;top:calc(12px + var(--sat));position:absolute;right:12px}@keyframes bob{50%{transform:translateY(-6px)rotate(-1deg)}}.topbar{width:100%;max-width:720px;padding:calc(10px + var(--sat)) 12px 8px;align-items:center;gap:10px;display:flex}.topbar h2{color:#fff;text-shadow:0 3px #b8326e;flex:1;margin:0;font-size:26px}.maps,.shop{background:linear-gradient(#9fd6ff,#ffd6ec)}.maps-scroll{width:100%;max-width:720px;padding:4px 12px calc(24px + var(--sab));touch-action:pan-y;flex:1;overflow-y:auto}.biome{border:4px solid var(--bc);background:#ffffff8c;border-radius:22px;margin:10px 0 16px;padding:10px 12px 14px}.biome h3{justify-content:space-between;align-items:center;margin:0 0 10px;font-size:19px;display:flex}.biome h3 em{align-items:center;gap:4px;font-size:15px;font-style:normal;display:inline-flex}.levels{grid-template-columns:repeat(5,1fr);gap:10px;display:grid}.lvl{aspect-ratio:1;color:var(--ink);background:linear-gradient(#fff,#ffe6c7);border-radius:18px;flex-direction:column;justify-content:center;align-items:center;font-family:Lilita One;font-size:24px;display:flex;position:relative;box-shadow:0 4px #d6a77a}.lvl.cur{background:linear-gradient(#ffe27a, var(--gold2));animation:1.4s infinite pulse;box-shadow:0 4px #c9670a,0 0 0 4px #fff}.lvl.lock{background:#d8d2e0;box-shadow:0 4px #b0a8bc}.lvl.boss{border:3px solid #b07bff}.lvl .st{letter-spacing:-1px;font-size:13px}.lvl .st i{color:#cfc4b8;font-style:normal}.lvl .st i.on{color:#ffb800;text-shadow:0 1px #b36b00}.lvl .bossic{position:absolute;top:-8px;right:-6px}@keyframes pulse{50%{transform:scale(1.06)}}.hint{color:#6a3a7a;text-align:center;margin:0 0 6px;padding:0 12px;font-size:15px}.shop-list{width:100%;max-width:720px;padding:4px 12px calc(20px + var(--sab));touch-action:pan-y;flex-direction:column;flex:1;gap:10px;display:flex;overflow-y:auto}.upg{background:#ffffffd9;border-radius:18px;align-items:center;gap:10px;padding:8px 10px;display:flex;box-shadow:0 3px #00000014}.upg .ic{flex:none;width:54px;height:54px}.upg .txt{flex-direction:column;flex:1;min-width:0;display:flex}.upg .txt b{font-size:18px}.upg .txt small{opacity:.75;font-size:13px;font-weight:400}.upg .dots{flex-wrap:wrap;gap:3px;margin-top:4px;display:flex}.upg .dots i{background:#e3d9cf;border-radius:50%;width:9px;height:9px}.upg .dots i.on{background:var(--gold2)}.upg .buy{min-width:76px;padding:8px 10px;font-size:17px}.upg .buy.no{opacity:.6}.upg .buy.max{background:#d9f5cf;box-shadow:0 3px #8fc47e}.hud{position:absolute;inset:0;pointer-events:none!important}.hud>*{pointer-events:auto}.hud .floaters,.hud .banner,.hud .tut,.hud .mapname{pointer-events:none}.hud-top{top:calc(8px + var(--sat));pointer-events:none;align-items:flex-start;gap:8px;display:flex;position:absolute;left:8px;right:8px}.hud-top>*{pointer-events:auto}.pill{color:#fff;background:#321846b8;border-radius:20px;align-items:center;gap:4px;min-width:96px;padding:4px 14px 4px 6px;font-family:Lilita One,Kanit;font-size:24px;display:inline-flex}.pill .ic{width:32px;height:32px}.wavebox{flex-direction:column;flex:1;align-items:center;gap:3px;display:flex}.wlabel{color:#fff;background:#321846b8;border-radius:12px;padding:2px 14px;font-size:15px}.wlabel b{font-family:Lilita One;font-size:17px}.wbar{background:#3218468c;border:2px solid #fff;border-radius:8px;width:min(46vw,260px);height:12px;overflow:hidden}.wbar i{background:linear-gradient(90deg,#5aa8ff,#7a5cff);width:0;height:100%;transition:width .3s;display:block}.hearts{color:#d8263f;background:#ffffffe6;border-radius:12px;align-items:center;gap:3px;padding:1px 10px;font-family:Lilita One;font-size:17px;display:inline-flex}.hearts.hurt{animation:.5s hurt}@keyframes hurt{30%{background:#ffd0d8;transform:scale(1.35)}}.pause{width:44px;height:44px;font-size:16px}.mapname{top:calc(66px + var(--sat));color:#fff;text-shadow:0 1px 3px #0009;font-size:13px;position:absolute;left:10px}.prep{top:calc(92px + var(--sat));white-space:nowrap;background:#ffffffeb;border-radius:18px;align-items:center;gap:8px;width:max-content;margin:0 auto;padding:6px 8px 6px 14px;display:none;position:absolute;left:0;right:0;box-shadow:0 3px #0000001f}.prep .ptext{font-size:16px}.prep b{color:#e0507f;font-family:Lilita One;font-size:20px}.banner{opacity:0;white-space:nowrap;color:#fff;text-shadow:0 3px #b8326e,0 4px 12px #00000059;padding:4px 18px;font-size:24px;transition:all .25s;position:absolute;top:30%;left:50%;transform:translate(-50%,-50%)scale(.6)}.banner.show{opacity:1;transform:translate(-50%,-50%)scale(1)}.banner.big{font-size:38px}.banner.gold{color:var(--gold);text-shadow:0 3px #a3530a,0 4px 12px #00000059}.banner.red{color:#fff;text-shadow:0 3px #c0203a,0 4px 12px #0006}.tut{bottom:calc(150px + var(--sab));text-align:center;background:#fff;border-radius:18px;width:min(88vw,420px);margin:0 auto;padding:10px 14px;font-size:17px;animation:2s ease-in-out infinite bob;display:none;position:absolute;left:0;right:0;box-shadow:0 4px #f0b6cf,0 8px 18px #0003}.strike{right:16px;bottom:calc(24px + var(--sab));background:radial-gradient(circle at 40% 35%, #fff2a8, var(--gold) 45%, #e07a10);border-radius:50%;justify-content:center;align-items:center;width:104px;height:104px;display:flex;position:absolute;overflow:hidden;box-shadow:0 5px #a3530a,0 8px 18px #0000004d}.strike .ic{width:72px;height:72px}.strike .cd{border-radius:50%;position:absolute;inset:0}.strike em{color:#5a2a00;font-size:15px;font-style:normal;position:absolute;bottom:8px}.strike.ready{animation:1.2s infinite ready}.strike:active{transform:scale(.94)}@keyframes ready{50%{box-shadow:0 5px #a3530a,0 0 0 8px #ffdc5a8c}}.floater{white-space:nowrap;font-family:Lilita One,Kanit;font-size:26px;animation:1s ease-out forwards floatup;position:absolute;transform:translate(-50%,-50%)}.floater.gold{color:var(--gold);text-shadow:0 2px #8a4300,0 0 6px #0006}.floater.red{color:#ff4a6a;text-shadow:0 2px #fff;font-size:30px}@keyframes floatup{to{opacity:0;transform:translate(-50%,-150%)}}.stick{z-index:9;pointer-events:none;background:#ffffff38;border:3px solid #ffffffb3;border-radius:50%;width:132px;height:132px;display:none;position:fixed}.stick i{background:#ffffffe6;border-radius:50%;width:60px;height:60px;position:absolute;top:36px;left:36px;box-shadow:0 3px 8px #00000040}.modal{z-index:20;background:#28103c73;justify-content:center;align-items:center;padding:16px;display:flex;position:absolute;inset:0}.panel{background:var(--panel);text-align:center;border-radius:26px;flex-direction:column;align-items:stretch;gap:10px;width:min(92vw,420px);max-height:92vh;padding:18px 16px 20px;animation:.3s pop;display:flex;overflow-y:auto;box-shadow:0 6px #e3b98f,0 14px 30px #0000004d}.panel.wide{width:min(96vw,560px);height:86vh;padding:0 0 12px}.panel.wide .topbar h2{color:var(--ink);text-shadow:none}.panel h2{color:#e0507f;margin:0;font-size:28px}.panel p{margin:0}.panel label{text-align:left;justify-content:space-between;align-items:center;gap:10px;font-size:17px;display:flex}.panel input[type=range]{width:52%}.panel select{border-radius:10px;padding:4px 8px;font-family:inherit;font-size:15px}.help{opacity:.75;font-size:13px;font-weight:400}@keyframes pop{0%{opacity:0;transform:scale(.7)}}.cards{justify-content:center;gap:8px;display:flex}.card{max-width:130px;color:var(--ink);background:linear-gradient(#fff,#fed);border-radius:18px;flex-direction:column;flex:1;align-items:center;gap:4px;padding:10px 6px;animation:.35s backwards pop;display:flex;box-shadow:0 4px #e3b98f,0 6px 12px #00000026}.card:active{transform:scale(.95)}.card .ic{width:64px;height:64px}.card b{font-size:15px;line-height:1.15}.card small{opacity:.8;font-size:12px;font-weight:400;line-height:1.2}.result .stars{letter-spacing:4px;font-size:56px}.result .stars i{color:#d8cfc6;font-style:normal;display:inline-block}.result .stars i.on{color:#ffb800;text-shadow:0 3px #b36b00;animation:.5s backwards star}@keyframes star{0%{opacity:0;transform:scale(2.5)rotate(-40deg)}}.result.lost h2{color:#8a4dd8}.reward-row{justify-content:center;align-items:center;gap:4px;font-size:22px;display:flex}.unlock{background:#e9ffe0;border-radius:14px;justify-content:center;align-items:center;gap:6px;padding:6px;font-size:15px;display:flex}body.loading #game{filter:brightness(.6)}@media (min-width:900px){.strike{width:120px;height:120px;bottom:28px;right:28px}.strike .ic{width:84px;height:84px}}
