@import url('https://fonts.googleapis.com/css2?family=Nunito:wght@600;700;800;900;1000&family=Titan+One&display=swap');
:root{font-family:'Nunito',system-ui,sans-serif;color:#fff;font-size:16px;--purple:#8063cb;--yellow:#ffe237}*{box-sizing:border-box}html,body{margin:0;width:100%;height:100%;overflow:hidden;background:#58adcd}button,input{font:inherit}button{cursor:pointer;touch-action:manipulation;color:inherit;border:0}button:disabled{cursor:default;filter:grayscale(.6);opacity:.55}button:focus-visible,input:focus-visible,a:focus-visible{outline:4px solid #ffea25;outline-offset:5px}#game-app{position:relative;width:100%;height:100%;height:100dvh;overflow:hidden;isolation:isolate}#phaser-game{position:absolute;inset:0}#phaser-game canvas{display:block;touch-action:none}.screen{position:absolute;inset:0}.edition{position:absolute;top:24px;left:36px;font-weight:900;font-size:12px;letter-spacing:2.5px;color:#ffffffdd}.game-title{position:absolute;width:min(40vw,500px);left:5%;top:9%;filter:drop-shadow(0 7px 0 #2586a844);pointer-events:none}.menu-actions{position:absolute;left:10%;bottom:15%;text-align:center}.sprite-button{background:none;padding:0;display:inline-grid;place-items:center;position:relative;transition:transform .15s;user-select:none}.sprite-button:hover{transform:scale(1.08) rotate(-3deg)}.sprite-button:active{transform:scale(.95)}.sprite-button img{display:block;width:84px;height:84px;object-fit:contain;pointer-events:none}.big-play img{width:clamp(150px,19vw,235px);height:auto}.big-play span{position:absolute;bottom:5%;background:#5b3d93;padding:8px 20px;white-space:nowrap;font:22px 'Titan One',Impact,sans-serif;border:3px solid #ece7ff;border-radius:16px;transform:rotate(-4deg);text-shadow:0 2px #302449}.menu-actions p{font-weight:900;text-shadow:0 2px #2f7098;font-size:16px;margin:10px 0 0}.menu-tools{position:absolute;right:27px;top:25px;display:flex;flex-direction:column;align-items:center;gap:14px}.round-button{display:inline-grid;place-items:center;width:62px;height:62px;border:5px solid #f6f0ff;background:#7b60bd;box-shadow:0 4px #443075,0 0 0 2px #b2a0d5;border-radius:50%;font-size:32px;font-weight:1000;line-height:1;flex-shrink:0}.round-button:hover{background:#9879e8}.menu-best{position:absolute;right:35px;bottom:70px;text-align:center;transform:rotate(3deg)}.menu-best>span{letter-spacing:1.5px;font-size:13px;font-weight:1000;text-shadow:0 2px #266a95}.menu-best strong{display:flex;align-items:center;gap:12px;font:43px 'Titan One',Impact,sans-serif;color:var(--yellow);text-shadow:3px 3px #b78a03}.menu-best img{width:37px}.about-link{position:absolute;bottom:25px;left:32px;background:none;font-size:13px;font-weight:900;text-decoration:underline;text-underline-offset:4px;color:#f5faff}.web-credit{position:absolute;bottom:9px;width:100%;text-align:center;font-size:12px;font-weight:800;color:#fff9;pointer-events:none}#loading{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;background:#57accc;z-index:10}#loading>img{width:230px}#loading p{font-size:19px;font-weight:1000;text-shadow:0 2px #28648a}.loading-track{width:220px;height:14px;background:#305d8a;border:3px solid #e8e6ff;border-radius:10px;overflow:hidden}.loading-track i{display:block;height:100%;background:#b899ff;width:0;transition:width .1s}#reload-button{margin-top:20px;padding:10px 24px;background:#7753ba;border-radius:12px;font-weight:900}#hud{position:absolute;inset:0;pointer-events:none}#hud button{pointer-events:auto}.score-block{position:absolute;left:27px;top:20px}.score-block>div{display:flex;align-items:center;gap:12px;height:63px}.score-block img{width:39px;height:48px;object-fit:contain}.score-block strong{font:48px/1 'Titan One',Impact,sans-serif;color:#ffe100;text-shadow:3px 3px #a17a00,-1px -1px #fff680}.score-block .wave{gap:18px;height:44px}.score-block .wave img{width:44px}.score-block .wave strong{font-size:30px;color:white;text-shadow:2px 3px #544c67}.lives{position:absolute;left:50%;top:22px;transform:translateX(-50%);display:flex;gap:7px}.lives img{width:69px;height:58px;object-fit:contain;filter:drop-shadow(0 2px #0003)}.lives img.lost{opacity:.3;transform:rotate(-12deg)}.game-tools{position:absolute;right:24px;top:20px}.game-tools .sprite-button img{width:73px;height:73px}#stage-label{position:absolute;top:94px;left:50%;transform:translateX(-50%);font-size:12px;letter-spacing:2px;font-weight:1000;text-shadow:0 2px 3px #48335e;background:#40365444;padding:4px 10px;border-radius:7px}#hit-callout{position:absolute;top:23%;left:50%;transform:translateX(-50%) rotate(-5deg);font:40px 'Titan One',Impact,sans-serif;text-shadow:3px 3px #593072,-2px -2px #fff6;color:#fff236;white-space:nowrap}#active-items{position:absolute;bottom:32px;left:25px;display:flex;gap:9px}.active-slot{position:relative;width:76px;height:76px;background:#38303fcc;border:3px solid #d7c8e9;border-radius:14px;box-shadow:0 4px #46354a;padding:3px}.active-slot img{width:100%;height:100%;border-radius:8px}.active-slot .slot-key{position:absolute;top:-10px;left:-5px;display:grid;place-items:center;width:24px;height:24px;background:#fff5db;color:#393040;border-radius:6px;border:2px solid #483555;font-size:13px;font-weight:1000}.active-slot .slot-count{position:absolute;inset:0;display:grid;place-items:center;font:25px 'Titan One',Impact,sans-serif;text-shadow:2px 2px #241c37}.active-slot.empty{display:grid;place-items:center;color:#c6b5cb;font-size:12px;font-weight:900;line-height:1.3;text-align:center;padding:8px}#passive-items{position:absolute;left:28px;bottom:121px;display:flex;gap:6px}#passive-items img{width:38px;height:38px}#attack-controls{position:absolute;right:25px;bottom:28px;display:flex;flex-direction:column;align-items:center;gap:5px;min-width:180px}#attack-status{font-size:12px;font-weight:1000;letter-spacing:1px;text-shadow:0 2px #493752}.strike-button{background:#8c64d4;border:5px solid #eee5ff;border-radius:18px;box-shadow:0 5px #44305d;min-height:67px;width:230px;font:25px 'Titan One',Impact,sans-serif;text-shadow:2px 2px #4e3275}.strike-button:active{transform:translateY(4px);box-shadow:0 1px #44305d}.strike-button kbd{font:12px 'Nunito',sans-serif;margin-left:9px;background:#65459c;padding:4px 6px;border-radius:4px;vertical-align:middle}.recovery{height:5px;border-radius:5px;width:90%;background:#46355588;margin:4px}.recovery i{display:block;height:100%;background:#fff;border-radius:5px}#cancel-button{background:#47345977;border-radius:7px;padding:3px 10px;font-size:12px;font-weight:900}kbd{font:12px 'Nunito',sans-serif;font-weight:900}.loadout-screen{background:#2734456b;padding:30px 5vw;overflow-y:auto;backdrop-filter:blur(3px)}.loadout-screen header{display:flex;align-items:center;gap:20px;max-width:1120px;margin:0 auto 22px}.loadout-screen h1{font:36px 'Titan One',Impact,sans-serif;margin:0;text-shadow:3px 3px #273043}.loadout-screen header p{margin:5px 0 0;font-size:16px;font-weight:800}.loadout-screen header .sprite-button img{width:70px;height:70px}.bank{display:flex;align-items:center;gap:10px;margin-left:auto;font:32px 'Titan One',Impact,sans-serif;color:#ffe126;white-space:nowrap;text-shadow:2px 2px #815a00}.bank img{height:45px}.loadout-layout{display:grid;grid-template-columns:1.25fr .75fr;gap:25px;max-width:1120px;margin:auto}.loadout-layout>div{padding:20px;background:#243945e8;border:4px solid #4d6874;border-radius:22px}.loadout-layout h2{font-size:14px;letter-spacing:2px;margin:0 0 12px;font-weight:1000}.loadout-layout h2:not(:first-child){margin-top:21px}.loadout-layout small{font-size:12px;letter-spacing:0;color:#b5c5c9;margin-left:12px;font-weight:800}.item-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:13px}.shop-item{background:none;display:flex;flex-direction:column;align-items:center;gap:5px;padding:0;min-width:0;position:relative}.shop-item img{width:100%;max-width:108px;border-radius:14px;box-shadow:0 5px #152d35;transition:transform .13s}.shop-item:hover img{transform:translateY(-4px) rotate(-2deg)}.shop-item.selected img{outline:4px solid #99ef28;outline-offset:3px}.shop-item.selected:after{content:'✓';position:absolute;right:0;top:-8px;background:#89d415;border:3px solid white;border-radius:50%;width:26px;height:26px;line-height:24px;font-size:18px;font-weight:1000}.shop-item .price{color:#ffde20;font-size:17px;font-weight:1000;text-shadow:1px 2px #6c5a14}.shop-item .item-name{font-size:12px;font-weight:900;line-height:1.2;text-align:center}.item-detail{background:#233d46dd;border:4px solid #567270;border-radius:22px;padding:28px;display:flex;flex-direction:column;align-items:flex-start;justify-content:center}.item-detail>img{width:100px;height:100px;margin-bottom:16px}.item-detail h2{font:27px 'Titan One',Impact,sans-serif;letter-spacing:0!important;margin:0 0 15px!important}.item-detail p{font-size:17px;font-weight:800;line-height:1.55}.item-detail .small{font-size:13px;color:#c5d7d9}.select-item{background:#87ca22;box-shadow:0 4px #407a24;border:3px solid #edf2b7;border-radius:10px;min-height:46px;padding:8px 17px;font-weight:1000}.loadout-screen footer{max-width:1120px;display:flex;align-items:center;justify-content:space-between;gap:20px;margin:22px auto 0;padding:18px 24px;background:#243945e8;border:4px solid #4d6874;border-radius:22px}.loadout-screen footer p{margin:8px 0 0;font-size:13px;font-weight:800}.equipped{display:flex;gap:8px;align-items:center}.equipped img,.equipped .empty{width:48px;height:48px;border:2px solid #8f7fa9;border-radius:9px}.equipped .empty{background:#162c39}.equipped .slot-label{font-size:12px;font-weight:1000;color:#c3c8d1;margin-right:8px}.green-button{font:23px 'Titan One',Impact,sans-serif;background:linear-gradient(#a0ef2b,#71c600);border:5px solid #eef4cc;border-radius:18px;box-shadow:0 5px #3e751d;min-height:66px;padding:9px 25px;text-shadow:2px 2px #448914;white-space:nowrap}.green-button span{margin-left:15px}.green-button:hover{filter:brightness(1.08)}.green-button:active{transform:translateY(4px);box-shadow:0 1px #3e751d}.results-screen{padding:8vh 6vw;display:flex;align-items:center}.result-panel{width:425px;max-width:48%;padding:30px 34px;background:#244047e8;border:7px solid #eceecf;border-radius:27px;box-shadow:0 10px #38516480;text-align:center;transform:rotate(-2deg)}#new-best{display:inline-block;font-weight:1000;color:#ffe22a;font-size:13px;letter-spacing:1.5px}.result-panel h1{font:36px 'Titan One',Impact,sans-serif;margin:15px 0 5px}.result-panel>p{font-size:16px;font-weight:900;margin:8px 0 20px}.result-label{display:block;font:21px 'Titan One',Impact,sans-serif}.result-gold{display:block;font:76px 'Titan One',Impact,sans-serif;line-height:1.2;color:#ffe323;text-shadow:4px 4px #ae8100;margin:6px 0 15px}.result-details{display:flex;justify-content:center;gap:20px;font-size:14px;font-weight:800}.result-details b{color:#e4ffc6}#result-bank{font-size:13px;color:#c6ded9;margin:18px 0}.result-actions{display:flex;justify-content:center;align-items:center;gap:14px}.result-actions .green-button{font-size:17px;padding:9px 12px;min-height:57px}.result-actions .round-button{width:55px;height:55px;font-size:24px}dialog{background:#29434ef5;color:#fff;max-width:600px;width:calc(100% - 30px);max-height:88dvh;overflow-y:auto;padding:28px;border:6px solid #d9e5d5;border-radius:25px;box-shadow:0 14px #27304188}dialog::backdrop{background:#21334aa1;backdrop-filter:blur(5px)}.modal-header{display:flex;justify-content:space-between;gap:20px;align-items:center;margin-bottom:18px}.modal-header h2{font:29px 'Titan One',Impact,sans-serif;margin:0}.modal-header .round-button{width:44px;height:44px;font-size:30px;border-width:3px}#modal-body{font-size:16px;font-weight:700;line-height:1.65}#modal-body strong{color:#e1fba7}#modal-body a{color:#ffde5d}#modal-body li{margin-bottom:13px}#modal-body kbd{background:#fff2;border:1px solid #fff4;padding:2px 7px;border-radius:5px}#modal-body .green-button{display:block;margin:20px auto 0;font-size:20px}.setting-row{display:flex;align-items:center;justify-content:space-between;gap:20px;margin:26px 0}.setting-row input{width:50%;accent-color:#b78dfd}.score-display{font:62px 'Titan One',Impact,sans-serif;color:#ffe424;text-align:center;text-shadow:3px 3px #997419}#modal-body .small{font-size:13px;color:#bbcfd4}[hidden]{display:none!important}
@media(max-width:700px) and (orientation:portrait){.game-title{width:76%;left:8%;top:10%}.edition{left:20px;top:18px;font-size:10px}.menu-tools{right:14px;top:45px;flex-direction:row;gap:8px}.menu-tools .sprite-button img{width:42px;height:42px}.menu-tools .round-button{width:35px;height:35px;font-size:23px;border-width:3px}.menu-actions{left:7%;bottom:19%}.big-play img{width:130px}.big-play span{font-size:16px;padding:6px 10px}.menu-actions p{font-size:12px;max-width:130px}.menu-best{right:20px;bottom:58px}.menu-best strong{font-size:31px;gap:7px}.menu-best img{width:26px}.menu-best>span{font-size:12px}.about-link{left:20px;bottom:36px;font-size:12px}.score-block{left:16px;top:15px}.score-block>div{height:47px;gap:9px}.score-block img{width:28px;height:35px}.score-block strong{font-size:34px}.score-block .wave{height:34px;gap:9px}.score-block .wave img{width:30px}.score-block .wave strong{font-size:23px}.lives{top:25px;left:54%;gap:3px}.lives img{width:38px;height:35px}.game-tools{right:12px;top:17px}.game-tools .sprite-button img{width:48px;height:48px}#stage-label{top:71px;font-size:12px;left:54%}#hit-callout{font-size:27px;top:24%}#active-items{bottom:132px;left:15px;gap:8px}.active-slot{width:58px;height:58px;border-radius:12px}.active-slot .slot-key{width:21px;height:21px;font-size:12px}#passive-items{bottom:201px;left:18px}#passive-items img{width:30px;height:30px}#attack-controls{bottom:39px;left:15px;right:15px;gap:5px;min-width:0}.strike-button{width:100%;min-height:58px;font-size:23px}.strike-button kbd{display:none}#attack-status{font-size:12px}.recovery{width:96%}#cancel-button{font-size:12px}.web-credit{font-size:10px;bottom:7px}.loadout-screen{padding:18px 15px 30px}.loadout-screen header{gap:10px;margin-bottom:17px;flex-wrap:wrap}.loadout-screen header .sprite-button img{width:43px;height:43px}.loadout-screen h1{font-size:23px}.loadout-screen header p{font-size:12px}.bank{font-size:23px;gap:7px;width:100%;justify-content:flex-end}.bank img{height:29px}.loadout-layout{grid-template-columns:1fr;gap:12px}.loadout-layout>div{padding:16px 12px;border-width:3px;border-radius:17px}.loadout-layout h2{font-size:12px;letter-spacing:1px}.loadout-layout small{font-size:12px;margin:3px 0 0;display:block}.item-grid{gap:10px}.shop-item .price{font-size:13px}.shop-item .item-name{font-size:12px}.shop-item img{border-radius:9px}.item-detail{padding:17px;border-width:3px;border-radius:17px;display:block;min-height:145px}.item-detail>img{width:60px;height:60px;float:left;margin:0 15px 10px 0}.item-detail h2{font-size:20px;margin-bottom:8px!important}.item-detail p{font-size:14px;margin:6px 0}.item-detail .small{font-size:12px}.select-item{font-size:13px;min-height:38px;padding:5px 15px}.loadout-screen footer{padding:15px 13px;border-width:3px;border-radius:17px;display:block;margin-top:12px}.loadout-screen footer p{font-size:12px}.equipped img,.equipped .empty{width:36px;height:36px}.equipped{gap:5px}.equipped .slot-label{font-size:12px;margin-right:5px}.loadout-screen footer .green-button{width:100%;margin-top:15px;font-size:23px;min-height:57px}.results-screen{padding:0 20px;align-items:flex-start}.result-panel{max-width:none;width:100%;margin-top:10vh;padding:22px 20px;border-width:5px;border-radius:22px;background:#244047ed}.result-panel h1{font-size:29px}.result-gold{font-size:60px}.result-panel>p{font-size:14px;margin-bottom:14px}.result-label{font-size:17px}.result-details{font-size:13px}dialog{padding:20px;border-width:4px}.modal-header h2{font-size:25px}#modal-body{font-size:15px}}
@media(max-height:600px) and (orientation:landscape){.edition{top:13px;left:20px;font-size:12px}.game-title{width:35vw;top:10%;left:7%}.menu-actions{left:13%;bottom:11%}.big-play img{width:120px}.big-play span{font-size:15px;padding:5px 12px}.menu-actions p{font-size:12px}.menu-tools{top:16px;right:18px;gap:10px}.menu-tools .sprite-button img{width:54px;height:54px}.menu-tools .round-button{width:45px;height:45px;font-size:25px;border-width:3px}.menu-best{bottom:35px;right:23px}.menu-best strong{font-size:30px}.menu-best img{width:25px}.about-link{font-size:12px;bottom:22px}.score-block{top:10px;left:15px}.score-block>div{height:43px}.score-block strong{font-size:33px}.score-block img{height:31px;width:29px}.score-block .wave{height:32px;gap:14px}.score-block .wave img{width:27px}.score-block .wave strong{font-size:22px}.lives{top:13px}.lives img{width:44px;height:40px}.game-tools{top:10px;right:14px}.game-tools .sprite-button img{width:53px;height:53px}#stage-label{top:60px;font-size:12px}#hit-callout{font-size:27px}#attack-controls{right:18px;bottom:25px}.strike-button{min-height:48px;width:165px;font-size:18px;border-width:3px;border-radius:13px}#attack-status{font-size:12px}#cancel-button{font-size:12px;padding:2px 10px}#active-items{bottom:25px;left:15px}.active-slot{width:55px;height:55px}#passive-items{bottom:90px;left:20px}#passive-items img{width:28px;height:28px}.loadout-screen{padding:15px 5vw}.loadout-screen header{margin-bottom:10px}.loadout-screen header .sprite-button img{width:45px;height:45px}.loadout-screen h1{font-size:24px}.loadout-screen header p{font-size:12px}.loadout-layout{gap:15px}.loadout-layout>div{padding:14px}.item-grid{gap:10px}.shop-item img{max-width:66px;border-radius:8px}.shop-item .price,.shop-item .item-name{font-size:12px}.loadout-layout h2{font-size:12px;margin-bottom:7px}.loadout-layout small{font-size:12px}.loadout-layout h2:not(:first-child){margin-top:13px}.item-detail{padding:18px}.item-detail>img{width:58px;height:58px;margin-bottom:10px}.item-detail h2{font-size:21px;margin-bottom:8px!important}.item-detail p{font-size:14px;margin:5px 0}.loadout-screen footer{padding:10px 16px;margin-top:10px}.equipped img,.equipped .empty{width:36px;height:36px}.green-button{font-size:18px;min-height:48px;border-width:3px}.results-screen{padding:4vh 6vw}.result-panel{padding:18px 25px;border-width:5px;width:330px}.result-panel h1{font-size:27px;margin:8px 0}.result-panel>p{margin:6px 0 12px;font-size:13px}.result-gold{font-size:52px;margin:5px 0}.result-label{font-size:17px}.result-details{font-size:12px}#result-bank{font-size:12px;margin:10px 0}.result-actions .green-button{min-height:44px;font-size:14px}.result-actions .round-button{width:43px;height:43px;border-width:3px}.web-credit{font-size:10px;bottom:4px}}
@media(prefers-reduced-motion:reduce){*{transition:none!important}}
