:root{color-scheme:dark;--cyan:#55ecff;--blue:#347dff;--gold:#ffd75d;--red:#ff4964;--green:#38eea2;--glass:#07152eea;font-family:Inter,ui-rounded,system-ui,-apple-system,sans-serif}*{box-sizing:border-box;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}html,body{margin:0;width:100%;height:100%;overflow:hidden;overscroll-behavior:none;background:#02040d;touch-action:none}.game{position:fixed;inset:0;display:grid;place-items:center;background:radial-gradient(circle at 18% 10%,#103854,#02040d 48%),radial-gradient(circle at 80% 85%,#2b1451,#02040d 58%)}.stage{position:relative;width:min(100vw,56.25vh);height:min(100dvh,177.78vw);max-width:540px;overflow:hidden;background:#07142d;box-shadow:0 0 80px #000b;touch-action:none}canvas{width:100%;height:100%;display:block}.hud{position:absolute;z-index:5;left:max(12px,env(safe-area-inset-left));right:max(12px,env(safe-area-inset-right));top:max(10px,env(safe-area-inset-top));height:48px;display:grid;grid-template-columns:1fr 2fr 1fr;align-items:center;gap:8px;pointer-events:none}.level{font-weight:1000;font-size:12px;letter-spacing:.08em;text-shadow:0 2px 4px #0018}.health{height:35px;padding:5px 8px;background:#06172be8;border:1px solid #ffffff35;border-radius:14px;box-shadow:0 6px 18px #0017}.health-label{display:flex;justify-content:space-between;font-size:9px;font-weight:900;letter-spacing:.1em;margin-bottom:3px}.track{height:9px;background:#020b17;border-radius:9px;overflow:hidden}.fill{width:100%;height:100%;background:linear-gradient(90deg,#ffb342,#ff4964);border-radius:inherit;transition:width .12s}.icon-btn{pointer-events:auto;justify-self:end;width:44px;height:44px;border:1px solid #ffffff38;border-radius:14px;background:#06172be8;color:#fff;font-size:18px;font-weight:1000}.coin-pill{position:absolute;z-index:6;right:max(14px,env(safe-area-inset-right));top:max(65px,calc(env(safe-area-inset-top) + 55px));padding:7px 12px;border:1px solid #ffffff38;border-radius:999px;background:#06172be8;font-weight:1000}.coin-pill span{color:var(--gold)}.count{position:absolute;z-index:4;left:50%;bottom:max(121px,calc(env(safe-area-inset-bottom) + 108px));transform:translate(-50%);min-width:60px;text-align:center;padding:5px 12px;border-radius:999px;background:#06172ddd;border:1px solid #59ffef77;font-weight:1000;font-size:18px}.hint{position:absolute;z-index:4;left:50%;bottom:24%;transform:translate(-50%);white-space:nowrap;text-align:center;font-weight:1000;font-size:13px;letter-spacing:.08em;text-shadow:0 2px 5px #001;padding:8px 14px;border-radius:99px;background:#071c35c9;animation:bob 1.1s ease-in-out infinite;pointer-events:none}.hint:after{content:"↔";display:block;font-size:22px;color:var(--cyan)}@keyframes bob{50%{transform:translate(-50%,6px)}}.abilities{position:absolute;z-index:5;left:max(12px,env(safe-area-inset-left));right:max(12px,env(safe-area-inset-right));bottom:max(12px,env(safe-area-inset-bottom));display:grid;grid-template-columns:1fr 1fr;gap:10px;pointer-events:none}.ability{position:relative;overflow:hidden;pointer-events:auto;height:58px;border:1px solid #ffffff35;border-radius:17px;background:#07162ee8;color:#fff;font-weight:1000;letter-spacing:.04em}.ability span{position:relative;z-index:2}.ability .charge{position:absolute;z-index:1;inset:auto 0 0;height:0;background:linear-gradient(#6f4dff,#a34fff);transition:height .12s}.ability.ultimate .charge{background:linear-gradient(#ff9f36,#ff4f68)}.ability.ready{box-shadow:0 0 24px #aa68ff;animation:pulse .7s alternate infinite}.ability:disabled{opacity:.58}@keyframes pulse{to{transform:scale(1.025)}}.banner{position:absolute;z-index:8;left:50%;top:19%;transform:translate(-50%,-50%) scale(.7);opacity:0;pointer-events:none;font-weight:1000;font-style:italic;font-size:clamp(26px,8vw,44px);white-space:nowrap;text-shadow:0 4px 0 #123b90,0 0 30px currentColor}.banner.show{animation:banner .9s ease-out}@keyframes banner{20%{opacity:1;transform:translate(-50%,-50%) scale(1.12)}75%{opacity:1;transform:translate(-50%,-50%) scale(1)}to{opacity:0;transform:translate(-50%,-80%) scale(.9)}}.overlay{position:absolute;z-index:20;inset:0;display:grid;place-items:center;padding:max(18px,env(safe-area-inset-top)) max(18px,env(safe-area-inset-right)) max(18px,env(safe-area-inset-bottom)) max(18px,env(safe-area-inset-left));background:radial-gradient(circle at 50% 24%,#152e63dd,#02040df5 72%);-webkit-backdrop-filter:blur(9px);backdrop-filter:blur(9px)}.overlay[hidden]{display:none}.card{width:min(100%,420px);padding:22px;border:1px solid #8affea55;border-radius:28px;background:linear-gradient(160deg,#111e43f5,#060a1cf8);box-shadow:0 28px 80px #0009,inset 0 1px #fff2;text-align:center}.logo{margin:0;font-size:clamp(43px,13vw,70px);line-height:.78;letter-spacing:-.075em;text-transform:uppercase;font-style:italic;text-shadow:3px 4px 0 #3258a8,0 0 30px #46f4ff66}.logo span{color:var(--gold);display:block}.tag{color:#bce5ec;line-height:1.45;margin:16px auto;max-width:320px}.button-stack{display:grid;gap:10px}.btn{min-height:52px;border:0;border-radius:16px;padding:12px 18px;background:linear-gradient(135deg,#4ff6df,#52b6ff);color:#042039;font-weight:1000;letter-spacing:.05em;box-shadow:0 8px #107b91,0 14px 28px #0017;cursor:pointer}.btn:active{transform:translateY(4px);box-shadow:0 4px #107b91}.btn.primary{min-height:61px;font-size:19px;background:linear-gradient(135deg,#ffe56c,#ff9e4a);box-shadow:0 8px #a84231,0 14px 28px #0017}.btn.ghost{background:#ffffff10;color:#eaffff;border:1px solid #ffffff26;box-shadow:none}.row,.stats{display:grid;grid-template-columns:1fr 1fr;gap:9px}.stats{margin:14px 0}.stat{background:#ffffff0b;border-radius:13px;padding:9px;color:#aad2dc;font-size:11px}.stat b{display:block;color:#fff;font-size:18px}.settings{display:grid;gap:7px;margin:12px 0}.toggle{display:flex;justify-content:space-between;align-items:center;min-height:45px;border:1px solid #ffffff20;border-radius:13px;background:#ffffff08;color:#fff;padding:9px 13px;font-weight:800}.toggle b{color:var(--cyan)}.upgrade{display:flex;text-align:left;align-items:center;gap:10px}.upgrade i{font-style:normal;font-size:25px}.upgrade span{flex:1}.upgrade small{display:block;color:#17536a}.coins{color:var(--gold);font-weight:1000;margin-bottom:12px}.eyebrow{color:var(--cyan);font-size:11px;font-weight:1000;letter-spacing:.17em}.card h2{font-size:34px;margin:5px 0;letter-spacing:-.04em}.home{display:block;margin-top:17px;color:#b7d5dc;text-decoration:none;font-weight:800;font-size:13px}.stars{font-size:30px;letter-spacing:5px;color:var(--gold)}@media(max-height:650px){.card{padding:15px}.logo{font-size:42px}.tag{margin:9px}.btn{min-height:46px}.abilities{bottom:7px}.ability{height:50px}}
