@import url('https://fonts.googleapis.com/css2?family=Barlow+Condensed:wght@700;800;900&family=Noto+Sans+JP:wght@500;600;700;800;900&display=swap');
:root{color-scheme:dark;--bg:#101b29;--ink:#f7faf8;--muted:#96a9b8;--coral:#ff6759;--mint:#beed8e;--cyan:#74e8ee}
/* Combat information stays outside the touch controls. */
.combat-hud{position:absolute;top:155px;left:22px;right:22px;display:flex;justify-content:space-between;align-items:center;gap:20px;z-index:2;pointer-events:none;padding:8px 11px;background:#0c1825e8;border:1px solid #ffffff18;border-radius:8px}.live-score{display:flex;gap:7px;align-items:baseline}.live-score small{font:700 10px 'Barlow Condensed',sans-serif;color:#91a9b9;letter-spacing:1px}.live-score strong{font:800 24px 'Barlow Condensed',sans-serif}.combo-meter{width:142px}.combo-meter>div:first-child{display:flex;justify-content:space-between;gap:9px;font:800 16px 'Barlow Condensed',sans-serif;color:#beed8e}.combo-meter>div>span{color:#d2e4ef}.fever-track{height:3px;border-radius:4px;background:#3a4954;margin-top:3px;overflow:hidden}.fever-track i{display:block;width:0;height:100%;background:#beed8e}.combo-meter>small{font-size:8px;color:#98acbb;display:block;margin-top:3px}.combo-meter.fever-active>div:first-child,.combo-meter.fever-active>small{color:#ffe582}.fever-active .fever-track i{background:#ffe582}.under-attack .army-stat strong{color:#ff6759!important}.rush-active .progress i{background:#ffb06b}.damage-banner{position:absolute;bottom:calc(23% + 8px);left:50%;transform:translateX(-50%);z-index:4;background:#812d27ee;color:#fff5ec;border:1px solid #ff9c8b;border-radius:8px;padding:10px 18px;white-space:nowrap;font-weight:900;font-size:19px;pointer-events:none;box-shadow:0 6px 25px #0006}.game[data-mode='ready'] .combat-hud{display:none}.boss-hud{top:219px!important}.guide-button{border:0;border-bottom:1px solid #ffffff30;padding:9px 0 4px;font-size:11px;background:none;color:#b7ccd8;margin-top:7px}.guide-button span{color:#74e8ee;margin-left:6px}.enemy-guide h2{font-size:21px!important;line-height:1.5}.enemy-guide>p{font-size:12px;line-height:1.85;color:#c0ced8}.enemy-cards{display:grid;gap:8px}.enemy-cards article{display:flex;align-items:center;gap:15px;padding:11px 13px;background:#243a3944;border:1px solid #beed8e33;border-radius:12px}.enemy-cards img{height:76px;width:59px;object-fit:contain;flex-shrink:0}.enemy-cards article>div{flex:1}.enemy-cards h3{display:flex;justify-content:space-between;align-items:baseline;gap:8px;font-size:14px;margin:0 0 4px}.enemy-cards h3 b{font:800 18px 'Barlow Condensed',sans-serif;color:#beed8e;white-space:nowrap}.enemy-cards p{font-size:11px;margin:3px 0;color:#c0ced8}.enemy-cards small{font-size:11px;color:#ffab94}.enemy-cards .runner{background:#50282b44;border-color:#ff827355}.enemy-cards .tank{background:#27395866;border-color:#a1c7ff44}.enemy-cards .gold{background:#59451e55;border-color:#ffd45d66}.enemy-cards .gold h3 b{color:#ffd45d}.guide-combo{border-left:3px solid #ffd45d;padding-left:12px}.guide-combo strong{color:#ffe582}.result-detail{white-space:pre-line;font-size:11px!important;color:#ffd45d!important;line-height:1.8!important;margin:8px 0!important}.result-overlay{overflow-y:auto}.result-overlay .result-mascot{height:115px;width:110px}.result-overlay .panel{margin:auto}.result-overlay .panel>h2{font-size:29px}.result-overlay .panel>.primary-button{margin-top:15px}
@media(max-height:730px){.combat-hud{top:147px;padding:6px 9px}.boss-hud{top:211px!important}.result-overlay .result-mascot{display:none}}
@media(max-height:560px){.combat-hud{top:107px;padding:4px 8px}.combo-meter>small{display:none}.live-score strong{font-size:18px}.boss-hud{top:152px!important}.damage-banner{font-size:16px}.guide-button{padding:4px 0 2px;margin-top:2px}.enemy-cards img{height:58px}.result-overlay{align-items:flex-start!important}.result-overlay .panel{margin:10px auto}.result-overlay .panel>p{margin:8px 0!important}}
*{box-sizing:border-box}html,body{margin:0;min-height:100%;overscroll-behavior:none}body{background:#0b121c;color:var(--ink);font-family:'Noto Sans JP',sans-serif;display:flex;align-items:center;justify-content:center;min-height:100dvh;overflow:hidden;background-image:radial-gradient(ellipse at 50% 50%,#203447 0%,#101c2a 35%,#0b121c 75%)}button{font:inherit;color:inherit;cursor:pointer;-webkit-tap-highlight-color:transparent}button:focus-visible{outline:3px solid var(--cyan);outline-offset:5px}button:disabled{opacity:.3;cursor:default}button,canvas{-webkit-user-select:none;user-select:none}button:active:not(:disabled){transform:translateY(2px)}[hidden]{display:none!important}.game{position:relative;width:100%;max-width:460px;height:100dvh;max-height:940px;overflow:hidden;background:var(--bg);isolation:isolate;touch-action:none}#arena{display:block;width:100%;height:100%;touch-action:none}.topbar{position:absolute;inset:0 0 auto;display:flex;align-items:center;justify-content:space-between;padding:calc(14px + env(safe-area-inset-top,0px)) 22px 12px;z-index:3}.brand{font-size:24px;line-height:1;font-weight:900;letter-spacing:-1.6px}.brand-dot{color:var(--coral);font-size:11px;vertical-align:top;display:inline-block;margin:1px 0 0 3px;letter-spacing:0}.brand small{display:block;font-family:'Barlow Condensed',sans-serif;font-size:10px;letter-spacing:2px;font-weight:700;margin-top:5px}.top-actions{display:flex;gap:7px}.icon-button{border:1px solid #ffffff23;border-radius:50%;height:42px;width:42px;background:#142432cc;display:grid;place-items:center}.icon-button svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.hud{position:absolute;top:calc(82px + env(safe-area-inset-top,0px));left:22px;right:22px;display:flex;align-items:center;gap:21px;z-index:2;transition:opacity .3s}.stat-label{display:block;font-size:11px;font-weight:700;color:var(--muted);letter-spacing:.08em}.army-stat div{display:flex;align-items:baseline;gap:5px}.army-stat strong{font-family:'Barlow Condensed',sans-serif;font-size:42px;line-height:1.15;color:var(--mint)}.army-stat div>span{font-size:12px;color:var(--mint)}.wave-stat{flex:1}.wave-stat>span{font-family:'Barlow Condensed',sans-serif;font-size:15px;letter-spacing:1.5px}.progress{height:4px;background:#34414e;border-radius:4px;overflow:hidden;margin-top:8px}.progress i{display:block;background:var(--coral);height:100%;width:0;transition:width .2s}.wave-stat small{font-size:10px;color:#9aafbe;display:block;margin-top:6px}.kill-stat{text-align:right}.kill-stat strong{font-family:'Barlow Condensed',sans-serif;font-size:28px;font-weight:700}.boss-hud{position:absolute;top:165px;left:50%;transform:translateX(-50%);width:70%;z-index:2;text-align:center}.boss-hud>span{color:var(--coral);font:800 16px 'Barlow Condensed',sans-serif;letter-spacing:3px}.boss-hud>div{height:7px;border-radius:5px;background:#080e16;margin-top:7px;padding:1px}.boss-hud i{display:block;height:100%;width:100%;border-radius:4px;background:var(--coral)}.control-zone{position:absolute;bottom:0;width:100%;height:99px;padding:16px 24px calc(12px + env(safe-area-inset-bottom,0px));background:linear-gradient(0deg,#101b29 65%,#101b2900);text-align:center;z-index:2;touch-action:none}.drag-track{display:flex;align-items:center;justify-content:center;gap:14px;color:var(--cyan)}.drag-track span{font-size:25px;font-weight:500;line-height:1}.drag-track i{height:1px;width:24px;background:#42616c}.drag-track b{font-size:13px;letter-spacing:2px}.control-zone small{display:block;margin-top:8px;color:var(--muted);font-size:10px}.overlay{position:absolute;inset:68px 0 0;display:flex;align-items:center;justify-content:center;z-index:5;background:linear-gradient(0deg,#101b29 4%,#101b29ee 70%,#101b29b8);padding:20px 28px calc(24px + env(safe-area-inset-bottom,0px));text-align:center}.start-content{width:100%;max-width:350px}.eyebrow{display:block;color:var(--mint);font-size:12px;font-weight:800;letter-spacing:2px}h1{font-family:'Barlow Condensed','Arial Narrow',Impact,sans-serif;font-size:76px;font-weight:900;letter-spacing:-1.8px;line-height:.87;margin:18px 0 3px;transform:rotate(-5deg);text-shadow:0 5px 0 #050e19}h1 em{font-style:normal;color:var(--coral);font-size:1.14em}h1 em span{color:var(--mint);display:inline-block;transform:rotate(8deg);margin-left:2px}.hero-mascot{height:253px;position:relative;display:flex;align-items:center;justify-content:center;margin:10px -7px 0}.hero-mascot>img{position:relative;height:225px;width:208px;object-fit:contain;z-index:2;filter:drop-shadow(0 13px 13px #040c15);animation:hover 3s ease-in-out infinite}.hero-ground{position:absolute;bottom:0;width:158px;height:20px;background:#050b13;border-radius:50%;filter:blur(6px)}.orbit{position:absolute;left:50%;top:50%;border:1px solid #64d2d427;width:235px;height:235px;transform:translate(-50%,-50%) rotate(-28deg);border-radius:50%}.orbit-two{width:295px;height:135px;border-color:#64d2d440}.mini-gate{position:absolute;z-index:3;font:800 31px 'Barlow Condensed',sans-serif;border:1px solid #aaf59088;border-bottom:4px solid #75bd71;border-radius:8px;background:#263f35;color:var(--mint);padding:4px 16px;box-shadow:0 7px 0 #080f1b66}.mini-gate.plus{left:2px;top:155px;transform:rotate(-12deg)}.mini-gate.times{right:3px;top:68px;transform:rotate(12deg);color:var(--cyan);border-color:#75e5e899;background:#1e3d48;border-bottom-color:#59a7ae}.intro{font-size:18px;letter-spacing:.7px;font-weight:900;margin:12px 0 7px}.how{color:#aabcc7;font-size:12px;margin:0 0 24px}.primary-button{width:100%;border:0;border-radius:12px;background:var(--coral);box-shadow:0 5px 0 #a73936;padding:16px 23px;font-size:18px;letter-spacing:2px;font-weight:900;display:flex;align-items:center;justify-content:center;position:relative;min-height:58px}.primary-button>span{position:absolute;right:23px;font-size:26px;line-height:1}.start-note{display:block;color:#7f95a6;font-size:10px;margin-top:18px}.game[data-mode='ready'] .hud,.game[data-mode='ready'] .control-zone{opacity:0}.toast{position:absolute;top:32%;left:50%;transform:translate(-50%,10px);width:90%;text-align:center;z-index:4;pointer-events:none;font-weight:900;font-size:23px;color:var(--mint);text-shadow:0 3px 10px #000;opacity:0;transition:transform .2s,opacity .2s}.toast.show{opacity:1;transform:translate(-50%,0)}.pause-overlay,.result-overlay{inset:0;background:#0b1526dc;backdrop-filter:blur(10px)}.panel{width:100%;max-width:330px}h2{font-size:34px;letter-spacing:-1px;margin:15px 0}.panel>p{font-size:14px;color:#aabdc9;margin:16px 0 30px;line-height:1.8}.panel .primary-button{margin-top:25px}.text-button{background:none;border:0;font-size:14px;color:#aabdc9;padding:19px 16px 0}.result-mascot{width:145px;height:160px;object-fit:contain;margin-top:7px}.results{display:flex;justify-content:center;border-top:1px solid #ffffff1b;border-bottom:1px solid #ffffff1b;padding:16px 0}.results>div{width:50%;display:flex;flex-direction:column;gap:3px}.results>div+div{border-left:1px solid #ffffff1b}.results span{font-size:12px;color:var(--muted)}.results strong{font:800 40px 'Barlow Condensed',sans-serif;color:var(--mint)}.result-overlay .panel>p{margin:12px 0 20px}.load-error{position:absolute;inset:auto 15px 20px;z-index:20;padding:20px;border:1px solid var(--coral);border-radius:10px;background:#172535;font-size:14px}.load-error button{padding:8px;background:var(--coral);border:0;border-radius:5px;margin-top:12px}.desktop-note{position:fixed;bottom:15px;left:28px;right:28px;display:flex;justify-content:space-between;font:600 11px 'Noto Sans JP',sans-serif;color:#607485;letter-spacing:2px;pointer-events:none}@keyframes hover{50%{transform:translateY(-7px) rotate(2deg)}}@media(min-width:600px){.game{height:calc(100dvh - 72px);max-height:880px;border:1px solid #314254;border-radius:25px;box-shadow:0 25px 100px #0008}.topbar{padding-top:18px}.overlay{padding-bottom:26px}}@media(max-height:730px){h1{font-size:61px}.hero-mascot{height:193px;margin-top:6px}.hero-mascot>img{height:183px;width:175px}.orbit{width:180px;height:180px}.orbit-two{width:250px;height:100px}.mini-gate.plus{top:120px}.mini-gate.times{top:42px}.intro{font-size:16px;margin-top:7px}.how{margin-bottom:16px}.eyebrow{font-size:11px}.start-note{margin-top:14px}.overlay{padding-top:7px}.hud{top:76px}.boss-hud{top:147px}}@media(max-width:599px){.desktop-note{display:none}}@media(prefers-reduced-motion:reduce){.hero-mascot>img{animation:none}*{scroll-behavior:auto}}

/* Compact screens and readable game controls. */
.stat-label{font-size:12px}.wave-stat small{font-size:11px}.how{font-size:14px;line-height:1.7}.drag-track b{font-size:14px}.control-zone small,.start-note{font-size:12px}.hero-mascot{margin-bottom:2px}.game[data-mode='ready'] .hud,.game[data-mode='ready'] .control-zone{visibility:hidden}
@media(max-height:560px){.hero-mascot,.result-mascot{display:none}.overlay{inset:60px 0 0;padding:8px 24px}.pause-overlay,.result-overlay{inset:0}h1{font-size:49px;line-height:.83;margin:12px 0 15px}h1 br{display:none}h1 em{margin-left:9px}.eyebrow{font-size:12px}.intro{margin:14px 0 6px}.how{margin-bottom:13px;font-size:12px}.primary-button{padding:11px 20px;min-height:46px;font-size:16px}.start-note{margin-top:12px;font-size:10px}.panel>p{margin:10px 0}.panel h2{font-size:26px;margin:10px 0}.results{padding:8px 0}.results strong{font-size:28px}.panel .primary-button{margin-top:14px}.hud{top:65px;gap:15px}.army-stat strong{font-size:28px}.stat-label{font-size:10px}.wave-stat small{display:none}.control-zone{height:62px;padding-top:7px}.control-zone small{display:none}.boss-hud{top:112px}.boss-hud>span{font-size:12px}.boss-hud>div{margin-top:3px}}

@media(min-height:561px) and (max-height:650px){.overlay{padding:8px 24px 14px}.eyebrow{font-size:11px}h1{font-size:53px;margin:13px 0 3px}.hero-mascot{height:150px;margin-top:7px}.hero-mascot>img{height:151px;width:145px}.orbit-one{width:150px;height:150px}.orbit-two{width:225px;height:90px}.mini-gate{font-size:25px;padding:3px 12px}.mini-gate.plus{top:95px;left:5px}.mini-gate.times{top:26px;right:5px}.intro{font-size:14px;margin:10px 0 6px}.how{font-size:12px;line-height:1.6;margin-bottom:17px}.primary-button{min-height:49px;padding:12px 20px;font-size:17px}.start-note{font-size:10px;margin-top:14px}}
/* v3: compact proportional HUD; the play surface never selects text. */
.game,.game *{-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}.game{touch-action:none;overscroll-behavior:none}.game img{-webkit-user-drag:none}.dialog input,.dialog textarea{user-select:text;-webkit-user-select:text}.topbar{height:7%;padding:10px 20px;align-items:center}.brand{font-size:21px}.brand small{font-size:9px}.top-actions{gap:6px}.icon-button{width:34px;height:34px}.hud{top:7.5%;left:22px;right:22px;height:8.7%;gap:12px}.army-stat strong{font-size:32px}.army-stat>div{gap:4px}.stat-label{font-size:10px}.stat-label b{color:#ff8bac;font-size:13px;letter-spacing:1px;margin-left:5px}.wave-stat{flex:1}.wave-stat>span{font-size:13px}.wave-stat small{display:block;font-size:10px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:150px}.kill-stat strong{font-size:25px}.combat-hud{top:16%;left:22px;right:22px;height:6%;padding:5px 9px;gap:8px}.live-score strong{font-size:25px}.combo-meter{width:125px}.combo-meter>div:first-child{font-size:14px}.combo-meter small{font-size:9px}.arsenal{position:absolute;top:22.7%;left:24px;right:24px;display:flex;gap:13px;align-items:center;pointer-events:none;z-index:2}.fuel{width:125px;flex-shrink:0}.fuel>span{display:flex;justify-content:space-between;font-size:9px;color:#ffda83;letter-spacing:1px}.fuel b{font-size:10px;letter-spacing:0}.fuel>div{height:7px;background:#fff1;border-radius:8px;margin-top:4px;overflow:hidden}.fuel i{display:block;height:100%;background:linear-gradient(90deg,#eeab49,#ffeac0);border-radius:8px}.fuel-danger i{background:linear-gradient(90deg,#ffab55,#ff6d8b)}.weapon-info{flex:1;min-width:0}.weapon-info strong{font-size:11px;color:#c5f5ff}.weapon-info small{display:block;color:#a9becc;font-size:9px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.track{position:absolute;top:27%;left:24px;max-width:55%;pointer-events:none;z-index:2;text-shadow:0 2px 5px #000}.track span{display:block;font-size:7px;letter-spacing:1.2px;color:#94adb8}.track b{display:block;font-size:9px;letter-spacing:.6px;color:#b4d6e3}.rank-info{position:absolute;bottom:9.8%;left:50%;transform:translateX(-50%);width:185px;text-align:center;pointer-events:none;z-index:2}.rank-info b{font-size:11px;color:#ffe293}.rank-info>div{height:3px;margin:4px 0;background:#ffe29322}.rank-info i{display:block;height:100%;background:#ffe293}.rank-info small{font-size:9px;color:#a6bdcb}.boss-hud{top:30.7%;left:70px;right:30px;width:auto;z-index:2}.boss-hud>span{font-size:11px;letter-spacing:1px;color:#ffabc2}.boss-hud>div{height:5px;margin-top:3px}.boss-hud i{background:linear-gradient(90deg,#ff6587,#ffc2d3)}.boss-intro{position:absolute;top:41%;left:0;right:0;z-index:4;pointer-events:none;opacity:0;padding:15px 25px;background:linear-gradient(90deg,#331629ec,#191831bd,#33162900);border-block:1px solid #ff83ac66;transform:translateX(-105%)}.boss-intro.show{animation:boss-intro 5s ease both}.boss-intro small{font-size:9px;letter-spacing:3px;color:#ff92b3}.boss-intro strong{display:block;font-size:21px;color:#fff2f7;margin-top:5px}.boss-intro p{font-size:14px;color:#ffe4ef;line-height:1.8;margin:6px 0}.toast{top:36%;font-size:20px;letter-spacing:1px}.damage-banner{top:auto;bottom:25%;font-size:15px;pointer-events:none}.control-zone{height:9%;padding:9px 20px max(5px,env(safe-area-inset-bottom))}.drag-track b{font-size:12px}.drag-track span{font-size:21px}.control-zone small{font-size:9px;margin-top:5px}.overlay{overflow:auto}.start-content{margin:auto}.game[data-mode='ready'] .arsenal,.game[data-mode='ready'] .track,.game[data-mode='ready'] .rank-info,.game[data-mode='ready'] .combat-hud{visibility:hidden}.result-mascot{height:88px;width:88px}.result-overlay .panel>p{font-size:12px;margin:10px 0}.result-overlay h2{font-family:'Barlow Condensed',sans-serif;font-size:35px;margin:10px 0}.result-overlay .panel .primary-button{margin-top:14px}.results{padding:10px 0}.results strong{font-size:28px}.result-overlay .text-button{padding-top:12px}.result-detail{white-space:pre-line}.hero-mascot{height:200px}.hero-mascot>img{height:195px;width:180px}.mini-gate.plus{top:128px}.mini-gate.times{top:42px;font-size:24px}.how{font-size:12px}.intro{font-size:16px}h1{font-size:66px}.eyebrow{font-size:10px;letter-spacing:2px}.start-note{font-size:11px}.enemy-guide h3{margin-top:24px}.enemy-guide p{line-height:1.85}.enemy-cards h3{margin-top:0}#network-message{color:#ffb8a8;font-size:12px}#save-retry{margin:10px auto}
@keyframes boss-intro{0%{opacity:0;transform:translateX(-105%) skewX(-8deg)}10%,85%{opacity:1;transform:translateX(0) skewX(0)}100%{opacity:0;transform:translateX(105%)}}@media(max-width:360px){.hud{left:18px;right:18px}.wave-stat small{max-width:125px}.arsenal{left:19px;right:19px;gap:9px}.fuel{width:107px}.combo-meter{width:110px}.live-score strong{font-size:22px}.boss-intro strong{font-size:18px}.boss-intro p{font-size:12px}.track b{font-size:8px}.start-content h1{font-size:55px}.hero-mascot{height:160px}.hero-mascot>img{height:155px}.mini-gate.plus{top:100px}.intro{font-size:14px}}@media(max-height:650px){.hud{top:7.5%}.army-stat strong{font-size:23px}.stat-label{font-size:8px}.wave-stat>span{font-size:10px}.wave-stat small{font-size:8px}.combat-hud{padding-block:2px}.live-score strong{font-size:19px}.combo-meter small{display:none}.arsenal{top:22.4%}.fuel>span{font-size:8px}.weapon-info strong{font-size:9px}.weapon-info small{font-size:8px}.track{display:none}.boss-hud{top:30.7%}.rank-info{bottom:10.5%}.rank-info small{display:none}.hero-mascot{height:135px}.hero-mascot>img{height:130px}.mini-gate.plus{top:75px}.intro{font-size:13px}.control-zone small{display:none}}@media(prefers-reduced-motion:reduce){.boss-intro.show{animation:none;opacity:1;transform:none}}
.boss-hud{top:27%!important;left:50%;right:24px}.boss-hud>span{font-size:9px;letter-spacing:0}.track{max-width:45%}.rank-info{bottom:12%}#end-save,#end-save-result{font-size:11px;color:#91a6b8;padding-top:14px}
.wave-stat .progress{margin:4px 0}.wave-stat small{line-height:1.2}@media(max-height:650px){.hud{top:7%}.wave-stat .progress{height:3px;margin:3px 0}.wave-stat small{font-size:7px}}
/* v4: free sliding, animated attack calls and visible source credits. */
#attack-callout{position:absolute;z-index:3;top:47%;left:5%;right:5%;pointer-events:none;text-align:center;color:#fff7d4;font-size:16px;font-weight:900;text-shadow:0 2px 0 #231031,0 0 15px #ff984d;opacity:0}#attack-callout.speak{animation:attack-call 2.1s both}.game[data-mode='paused'] #attack-callout{animation-play-state:paused}.game[data-mode='ready'] #attack-callout,.game[data-mode='lost'] #attack-callout{display:none}.track b{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.page-credit{position:fixed;bottom:4px;left:10px;right:10px;text-align:center;font-size:9px;color:#8ba4b3;pointer-events:auto}.music-credit{font-size:10px!important;line-height:1.7!important;color:#9cb3c4!important;margin:10px 0!important}.music-credit a{color:#c6e7eb}.game .music-credit{font-size:9px!important}.boss-intro{box-shadow:0 0 35px #e2619830}.hero-mascot .orbit-one{border-color:#6be8ee66;box-shadow:0 0 30px #39bbed22,inset 0 0 25px #39bbed15}.primary-button{background:linear-gradient(115deg,#ff8061,#ff5b7a);box-shadow:0 5px 0 #a73956,0 0 28px #ff6b6526}.fever-active{filter:drop-shadow(0 0 9px #ffb93d66)}
@keyframes attack-call{0%{opacity:0;transform:translateY(12px) scale(.6) skewX(-12deg)}12%{opacity:1;transform:translateY(-3px) scale(1.07) skewX(2deg)}23%,75%{opacity:1;transform:translateY(0) scale(1) skewX(0)}100%{opacity:0;transform:translateY(-18px) scale(1.02)}}
@media(max-width:599px){.page-credit{bottom:max(1px,env(safe-area-inset-bottom));font-size:8px}.page-credit .music-credit{margin:0!important;font-size:8px!important}.control-zone{padding-bottom:max(13px,env(safe-area-inset-bottom))}.control-zone small{font-size:8px;margin-top:3px}}@media(prefers-reduced-motion:reduce){#attack-callout.speak{animation:attack-call-reduced 2s both}}@keyframes attack-call-reduced{0%,85%{opacity:1}100%{opacity:0}}

#vfx-output{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;z-index:1}#arena{transition:none}

/* Boss name and life only, beside the music credit and above the boss face. */
.boss-hud{top:27%!important;left:auto!important;right:24px!important;transform:none!important;width:40%!important;max-width:168px;text-align:right;background:none;padding:0;border:0;border-radius:0;box-shadow:none;pointer-events:none}.boss-hud>span{display:block;font-size:clamp(9px,2.4vw,10px)!important;letter-spacing:0!important;line-height:1.4;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;text-shadow:0 1px 3px #000,0 0 2px #000}.boss-hud .boss-segments{display:flex;height:4px;gap:2px;padding:0;margin:3px 0 0;background:none}.boss-segments span{background:#29394a;overflow:hidden;border-radius:1px}.boss-segments i{height:100%;background:#936ca4;border-radius:0}.boss-segments .current i{background:#ff87b9;box-shadow:none}.vfx-dialog{border:1px solid #50726d;border-radius:18px;background:#132336;color:#effaf8;max-width:370px;width:calc(100% - 32px);padding:25px}.vfx-dialog::backdrop{background:#040c1bdd}.vfx-dialog h2{font-size:23px;margin:5px 0 12px}.vfx-dialog p{font-size:12px;color:#a8c1d0;line-height:1.8}.vfx-dialog label{display:flex;align-items:center;gap:12px;margin:18px 0;font-size:13px}.vfx-dialog select{margin-left:auto;background:#263e50;color:white;padding:8px;border:1px solid #64877c;border-radius:6px}.vfx-dialog input{accent-color:#b6ffdb}.vfx-dialog a{color:#b6ffdb;font-size:12px}.vfx-close{float:right;border:0;background:none;color:white;font-size:25px}.vfx-dialog .primary-button{font-size:13px;min-height:40px;padding:12px}.vfx-dialog #vfx-status{font-size:10px;color:#739a99}

.game[data-mode='paused'] *{animation-play-state:paused!important}
.toast{top:auto!important;bottom:10.8%;font-size:13px!important;line-height:1.4;letter-spacing:0;max-height:38px}.damage-banner{bottom:10.8%;font-size:13px;padding:6px 12px}.game:has(.boss-intro.show) .toast,.game:has(.damage-banner:not([hidden])) .toast,.game:has(.damage-banner:not([hidden])) .boss-intro{visibility:hidden}

.boss-intro{top:auto!important;bottom:1.5%;padding:9px 18px;z-index:4;background:linear-gradient(90deg,#271a32f0,#152134ed);border-color:#ff91bb55}.boss-intro small{font-size:7px;letter-spacing:2px}.boss-intro strong{font-size:14px!important;margin-top:2px}.boss-intro p{font-size:10px!important;line-height:1.5;margin:3px 0}.game:has(.boss-intro.show) #attack-callout{visibility:hidden}#attack-callout{top:auto!important;bottom:3%!important;font-size:13px!important;max-width:90%;background:#0a1928dd;padding:6px 10px;border-radius:6px}

.damage-banner{font-size:17px;font-weight:900;border:2px solid #ff9f95;box-shadow:0 0 22px #ff465c88;background:#8c2436f2;padding:6px 12px}.under-attack .army-stat strong{text-shadow:0 0 15px #ff475a}

/* All equipped weapons remain readable in the existing compact HUD. */
.loadout-line{display:flex;gap:5px;align-items:center;white-space:nowrap}.loadout-line>strong{font-size:10px;flex-shrink:0}#weapon-slots{display:flex;gap:3px}.weapon-badge{display:inline-block;min-width:23px;padding:1px 3px;border:1px solid #ffffff24;border-radius:4px;font-size:10px;line-height:1.3;color:#6a8491;background:#071824b8}.weapon-badge.equipped{color:var(--weapon-color);border-color:var(--weapon-color);box-shadow:inset 0 0 7px color-mix(in srgb,var(--weapon-color) 16%,transparent)}@media(max-width:360px){.loadout-line{gap:3px}.loadout-line>strong{font-size:8px}.weapon-badge{font-size:9px;min-width:21px;padding:1px 2px}}

.army-stat strong{font-variant-numeric:tabular-nums}.army-stat:has(strong[data-digits="4"]) strong{font-size:27px}

#defense{font-size:8px;color:#8bdbc3;margin-top:3px}#defense.danger{color:#ff9a83}

/* Eight-rank arsenal: compact badges, upgrade-copy progress. */
.weapon-badge{position:relative;overflow:hidden;min-width:34px;font-size:12px;padding-bottom:5px}.weapon-copy-meter{position:absolute;left:0;bottom:0;height:2px;background:var(--weapon-color);pointer-events:none}#weapon-slots{gap:3px} @media(max-width:360px){.weapon-badge{min-width:29px;font-size:10px;padding-left:3px;padding-right:3px}}
