:root{--accent:#ffc83d;--on-accent:#2a1a00;--fg:#fff;--fg-dim:#ffffffad;--panel:#141638b8;--panel-solid:#0e102ce6;--panel-border:#ffffff29;--glass:#ffffff21;--glass-hover:#ffffff38;--shadow:0 12px 34px #00000061;--font:ui-rounded, "SF Pro Rounded", "Nunito", "Segoe UI", system-ui, -apple-system, Roboto, sans-serif}:root[data-ui=light]{--on-accent:#fff;--fg:#3b2412;--fg-dim:#3b2412b3;--panel:#fff8ebd1;--panel-solid:#fff6e6f0;--panel-border:#5a371433;--glass:#5a37141a;--glass-hover:#5a37142e;--shadow:0 12px 34px #78461440}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}[hidden]{display:none!important}html,body{height:100%;color:var(--fg);font-family:var(--font);-webkit-user-select:none;user-select:none;overscroll-behavior:none;background:#0a0c22;margin:0;font-weight:700;overflow:hidden}#stage{position:fixed;top:0;bottom:0;left:0;right:0}canvas{touch-action:none;width:100%;height:100%;display:block;position:absolute;top:0;bottom:0;left:0;right:0}#ui{pointer-events:none;position:absolute;top:0;bottom:0;left:0;right:0}#ui button,.screen,.modal-backdrop{pointer-events:auto}button{font:inherit;color:inherit;cursor:pointer;background:0 0;border:0;padding:0}button:disabled{cursor:default}.ico{flex:none;width:22px;height:22px;display:inline-flex}.ico svg{width:100%;height:100%}.flame{color:#ff8a3d}.btn{border-radius:18px;justify-content:center;align-items:center;gap:10px;width:100%;min-height:56px;padding:12px 20px;font-size:18px;font-weight:800;transition:transform .12s,background .15s,filter .15s;display:flex}.btn:active:not(:disabled){transform:scale(.97)}.btn.primary{color:var(--on-accent);background:linear-gradient(180deg, color-mix(in srgb, var(--accent) 100%, #fff 18%), var(--accent));box-shadow:0 6px 0 color-mix(in srgb, var(--accent) 55%, #000), 0 14px 28px #0000004d}.btn.primary:active:not(:disabled){box-shadow:0 2px 0 color-mix(in srgb, var(--accent) 55%, #000);transform:translateY(4px)scale(.99)}.btn.glass{background:var(--glass);border:1px solid var(--panel-border);-webkit-backdrop-filter:blur(8px)}.btn.danger{color:#ff8b8b;background:#ef44442e;border:1px solid #ef444480;min-height:48px;margin-top:18px;font-size:15px}:root[data-ui=light] .btn.danger{color:#b91c1c}.btn.big{flex-direction:column;gap:0;min-height:76px}.btn-main{letter-spacing:.02em;font-size:24px;font-weight:900}.btn-sub{opacity:.78;font-size:13px;font-weight:700}.btn-text{flex-direction:column;align-items:flex-start;line-height:1.15;display:flex}.btn-text .btn-main{font-size:18px}.btn .ok{color:#4ade80;margin-left:auto}.btn.glass .btn-text{flex:1}.round{background:var(--glass);border:1px solid var(--panel-border);-webkit-backdrop-filter:blur(8px);border-radius:50%;place-items:center;width:46px;height:46px;display:grid}.round:active{background:var(--glass-hover);transform:scale(.94)}.round-lg{background:var(--glass);border:1px solid var(--panel-border);border-radius:18px;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:4px;min-height:68px;display:flex}.round-lg:active{background:var(--glass-hover);transform:scale(.96)}.round-label{color:var(--fg-dim);font-size:12px;font-weight:800}.round-row{gap:10px;display:flex}.chip{background:var(--glass);border:1px solid var(--panel-border);-webkit-backdrop-filter:blur(8px);border-radius:18px;align-items:center;gap:6px;height:36px;padding:0 12px;font-size:15px;font-weight:800;display:inline-flex}.chip .ico{width:18px;height:18px;color:var(--accent)}.chip .flame{color:#ff8a3d}.coin-chip.shake{animation:.4s shake}.screen{padding:calc(env(safe-area-inset-top) + 14px) 18px calc(env(safe-area-inset-bottom) + 18px);flex-direction:column;align-items:center;animation:.3s both fade;display:flex;position:absolute;top:0;bottom:0;left:0;right:0}.screen>*{width:100%;max-width:480px}.home,.home>*{pointer-events:none}.home .home-top,.home .home-actions{pointer-events:auto}.home-top{justify-content:space-between;align-items:center;display:flex}.logo{text-align:center;margin-top:4vh}.logo-text{letter-spacing:.02em;background:linear-gradient(180deg, #fff 10%, var(--accent) 120%);color:#0000;filter:drop-shadow(0 6px 18px #00000059);-webkit-background-clip:text;background-clip:text;font-size:max(54px,min(15vw,76px));font-weight:900;line-height:1}:root[data-ui=light] .logo-text{background:linear-gradient(180deg, #7c2d12, var(--accent));-webkit-background-clip:text;background-clip:text}.logo-sub{color:var(--fg-dim);margin-top:8px;font-size:15px;font-weight:700}.spacer{flex:1}.home-actions{flex-direction:column;gap:12px;display:flex}.solid{background:var(--panel-solid);-webkit-backdrop-filter:blur(14px)}.screen-head{justify-content:space-between;align-items:center;gap:10px;margin-bottom:12px;display:flex}.screen-title{margin:0;font-size:24px;font-weight:900}.screen-body{scrollbar-width:none;flex:1;padding-bottom:12px;overflow-y:auto}.screen-body::-webkit-scrollbar{display:none}.hint-text{text-align:center;color:var(--fg-dim);margin:6px 0 14px;font-size:14px}.level-grid{grid-template-columns:repeat(4,1fr);gap:10px;padding:4px 2px;display:grid}.level-cell{aspect-ratio:1;background:var(--glass);border:1px solid var(--panel-border);border-radius:16px;flex-direction:column;justify-content:center;align-items:center;gap:2px;display:flex;position:relative}.level-cell:active:not(:disabled){transform:scale(.94)}.level-cell.current{border-color:var(--accent);box-shadow:0 0 0 2px var(--accent) inset, 0 0 20px color-mix(in srgb, var(--accent) 40%, transparent)}.level-cell.boss .level-num{color:var(--accent)}.level-cell.locked{opacity:.4}.level-num{font-size:22px;font-weight:900;display:flex}.level-num .ico{width:20px;height:20px}.level-stars{color:#ffffff38;gap:1px;font-size:11px;font-style:normal;display:flex}:root[data-ui=light] .level-stars{color:#5a371440}.level-stars i{font-style:normal}.level-stars i.on{color:#ffc83d}.shop-grid{grid-template-columns:repeat(2,1fr);gap:12px;display:grid}.shop-card{background:var(--glass);border:2px solid var(--panel-border);text-align:center;border-radius:20px;padding:10px}.shop-card.equipped{border-color:var(--accent)}.shop-card:active{transform:scale(.97)}.swatch{border-radius:14px;justify-content:center;align-items:flex-end;gap:12px;height:110px;padding-bottom:12px;display:flex;box-shadow:inset 0 0 0 1px #ffffff26}.mini-tube{background:linear-gradient(to top, var(--c) 0 60%, transparent 60%);border:2px solid;border-top-color:#0000;border-radius:0 0 11px 11px;width:20px;height:62px}.shop-name{margin-top:8px;font-size:17px;font-weight:900}.shop-price{color:var(--accent);justify-content:center;align-items:center;gap:5px;margin-top:2px;font-size:14px;font-weight:800;display:flex}.shop-price.owned{color:var(--fg-dim)}.shop-price .ico{width:16px;height:16px}.setting-row{background:var(--glass);border:1px solid var(--panel-border);text-align:left;border-radius:18px;justify-content:space-between;align-items:center;gap:12px;width:100%;margin-bottom:10px;padding:14px 16px;display:flex}.setting-text{flex-direction:column;gap:2px;display:flex}.setting-name{font-size:17px;font-weight:800}.setting-desc{color:var(--fg-dim);font-size:13px;font-weight:600}.switch{background:#78788c73;border-radius:15px;flex:none;width:52px;height:30px;transition:background .2s;position:relative}.switch i{background:#fff;border-radius:50%;width:24px;height:24px;transition:transform .2s;position:absolute;top:3px;left:3px;box-shadow:0 2px 6px #0000004d}.switch.on{background:#22c55e}.switch.on i{transform:translate(22px)}.stats{gap:10px;margin:18px 0 4px;display:flex}.stat{background:var(--glass);color:var(--fg-dim);text-align:center;border-radius:16px;flex-direction:column;flex:1;align-items:center;padding:12px 6px;font-size:12px;display:flex}.stat b{color:var(--fg);font-size:26px}.hud{pointer-events:none;position:absolute;top:0;bottom:0;left:0;right:0}.hud-top{padding:calc(env(safe-area-inset-top) + 10px) 14px 6px;justify-content:space-between;align-items:center;gap:8px;display:flex;position:absolute;top:0;left:0;right:0}.hud-top>*{pointer-events:auto}.hud-center{text-align:center;pointer-events:none;flex:1}.hud-title{justify-content:center;align-items:center;gap:8px;font-size:21px;font-weight:900;display:flex}.tag{background:var(--accent);color:var(--on-accent);letter-spacing:.06em;border-radius:8px;padding:3px 7px;font-size:11px}.hud-sub{color:var(--fg-dim);margin-top:1px;font-size:13px;font-weight:700}.hud-bottom{padding:8px 14px calc(env(safe-area-inset-bottom) + 14px);justify-content:center;gap:10px;display:flex;position:absolute;bottom:0;left:0;right:0}.tool{pointer-events:auto;background:var(--glass);border:1px solid var(--panel-border);-webkit-backdrop-filter:blur(8px);border-radius:18px;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:3px;max-width:100px;min-height:66px;transition:transform .1s,opacity .2s;display:flex;position:relative}.tool:active:not(:disabled){background:var(--glass-hover);transform:scale(.94)}.tool:disabled{opacity:.35}.tool-label{color:var(--fg-dim);font-size:11.5px;font-weight:800}.cost{background:var(--accent);color:var(--on-accent);border-radius:10px;align-items:center;gap:3px;padding:2px 7px 2px 5px;font-size:11px;font-weight:900;display:flex;position:absolute;top:-9px;right:-4px;box-shadow:0 3px 8px #0000004d}.cost .ico{width:12px;height:12px}.bubble{left:50%;bottom:calc(env(safe-area-inset-bottom) + 108px);text-align:center;background:var(--panel-solid);border:1px solid var(--accent);width:min(86%,360px);box-shadow:var(--shadow);pointer-events:none;border-radius:16px;padding:12px 16px;font-size:15px;line-height:1.35;animation:.4s both rise;position:absolute;transform:translate(-50%)}.toast{left:50%;top:calc(env(safe-area-inset-top) + 82px);text-align:center;background:var(--panel-solid);border:1px solid var(--panel-border);max-width:88%;box-shadow:var(--shadow);pointer-events:none;z-index:20;border-radius:16px;padding:11px 18px;font-size:15px;animation:.3s both toast;position:absolute;transform:translate(-50%)}.modal-backdrop{-webkit-backdrop-filter:blur(5px);background:#04051280;place-items:center;padding:20px;animation:.3s both fade;display:grid;position:absolute;top:0;bottom:0;left:0;right:0}:root[data-ui=light] .modal-backdrop{background:#3c1e0559}.modal{text-align:center;background:var(--panel-solid);border:1px solid var(--panel-border);width:min(100%,380px);box-shadow:var(--shadow);border-radius:30px;flex-direction:column;align-items:center;gap:12px;padding:26px 22px 20px;animation:.5s cubic-bezier(.2,1.4,.4,1) both pop;display:flex}.modal-title{margin:0;font-size:30px;font-weight:900}.modal-line{color:var(--fg-dim);justify-content:center;align-items:center;gap:6px;margin:0;font-size:16px;display:flex}.modal-row{gap:10px;width:100%;display:flex}.modal-row .btn{min-height:50px;padding:8px 10px;font-size:15px}.reward{height:40px;color:var(--accent);font-size:20px}.reward .ico{width:22px;height:22px}.stars{justify-content:center;gap:6px;margin:2px 0;display:flex}.star{color:#ffffff2e;width:62px;height:62px}:root[data-ui=light] .star{color:#5a37142e}.star .ico{width:100%;height:100%}.star:nth-child(2){margin-top:-10px}.star.on{color:#ffc83d;filter:drop-shadow(0 4px 12px #ffc83d8c);animation:.55s cubic-bezier(.2,1.6,.4,1) both starpop;animation-delay:calc(var(--i) * .22s + .2s)}@keyframes fade{0%{opacity:0}to{opacity:1}}@keyframes pop{0%{opacity:0;transform:scale(.8)translateY(20px)}to{opacity:1;transform:none}}@keyframes rise{0%{opacity:0;transform:translate(-50%,12px)}to{opacity:1;transform:translate(-50%)}}@keyframes toast{0%{opacity:0;transform:translate(-50%,-10px)}to{opacity:1;transform:translate(-50%)}}@keyframes starpop{0%{opacity:0;transform:scale(0)rotate(-40deg)}to{opacity:1;transform:none}}@keyframes shake{0%,to{transform:none}25%{transform:translate(-5px)}75%{transform:translate(5px)}}@media (prefers-reduced-motion:reduce){.screen,.modal,.modal-backdrop,.toast,.bubble,.star.on{animation-duration:10ms;animation-delay:0s}}@media (max-height:640px){.logo{margin-top:1vh}.btn.big{min-height:64px}.btn-main{font-size:21px}}
