/* Hallmark · neon arcade adaptation · pre-emit critique: P5 H5 E4 S5 R4 V5 */
:root{--color-paper:#061123;--color-panel:#0b1d39;--color-night:#030916;--color-night-2:#10294b;--color-ink:#f4fbff;--color-ink-2:#c7dcf7;--color-muted:#96b3d7;--color-rule:#254d72;--color-accent:#37e5ff;--color-accent-dark:#0cbadb;--color-accent-ink:#071227;--color-focus:#ffef53;--color-gold:#ffec3d;--color-cyan:#37e5ff;--color-green:#5dffb0;--color-red:#ff627e;--color-pink:#fa36ce;--color-orange:#ff922f;--glass-high:#143864ee;--glass-low:#041227f5;--glass-clear:#091a34b0;--glass-border:#52bbefa6;--neon-cyan:#19ceff70;--neon-pink:#ff1bcc70;--neon-gold:#ff9d0055;--neon-dark:#010916dd;--floor-light:#147ba836;--hero-shade:#0a0c1680;--crit-ink:#23080f;--color-shadow:#00091ac9;--font-display:'Bahnschrift','Arial Black','Yu Gothic','Meiryo',sans-serif;--font-body:'Segoe UI','Yu Gothic','Meiryo',sans-serif;--font-number:'Bahnschrift','Arial Black',sans-serif;--radius-xl:22px;--arena-h:clamp(295px,calc(100svh - 360px),670px)}
*{box-sizing:border-box}html,body{margin:0;min-height:100%;overflow-x:clip}body.neon-game{color:var(--color-ink);font-family:var(--font-body);background:radial-gradient(ellipse at 15% 35%,var(--floor-light),var(--color-clear) 50%),var(--color-paper)}button{font-family:inherit;cursor:pointer;touch-action:manipulation}button:disabled{cursor:default}button:focus-visible,select:focus-visible{outline:3px solid var(--color-focus);outline-offset:3px}button:active:not(:disabled){transform:translateY(1px) scale(.98)}[hidden]{display:none!important}
.nav-slab{max-width:1280px;margin:auto;background:var(--color-clear);border:0;padding:4px 12px;min-height:44px;gap:8px}.brand{gap:7px}.brand-mark{width:24px;height:27px;border:1px solid var(--color-accent);font-size:20px;border-radius:6px;box-shadow:0 0 12px var(--neon-cyan)}.brand h1{font-size:12px;letter-spacing:.1em;margin:0}.brand small{font-size:8px;letter-spacing:0}.edition{color:var(--color-pink);font-family:var(--font-number);font-size:10px;letter-spacing:.08em;margin-left:8px}.header-actions{gap:0}.header-actions .quiet-btn{min-width:44px;min-height:36px;padding:4px 8px;font-size:10px;color:var(--color-muted)}.header-actions #settings-btn{font-size:22px}.workbench{max-width:1280px;padding:0 12px 12px;margin:auto}.arcade-grid{display:grid;grid-template-columns:minmax(0,1.8fr) minmax(310px,1fr);gap:14px;align-items:stretch}
.battle-shell{height:clamp(530px,calc(100svh - 65px),900px);aspect-ratio:auto;border:1px solid var(--glass-border);border-radius:var(--radius-xl);box-shadow:0 0 24px var(--neon-cyan),0 20px 70px var(--color-shadow);overflow:hidden;position:relative;background:var(--color-night)}.battle-shell canvas{width:100%;height:100%;display:block;touch-action:none}.trip-bar{position:absolute;top:12px;left:12px;right:12px;margin:0;display:flex;gap:8px;align-items:flex-start}.stage-heading{background:linear-gradient(135deg,var(--glass-high),var(--glass-low));border:1px solid var(--glass-border);border-radius:14px;padding:8px 10px;gap:7px;flex:1;min-width:0;box-shadow:0 3px 12px var(--color-shadow);text-align:left}.stage-heading>span:nth-child(2){min-width:0}.stage-heading h2{font-size:17px;line-height:1.25;letter-spacing:0;margin:0;overflow-wrap:anywhere}.stage-heading small{font-size:10px;color:var(--color-cyan);display:block;letter-spacing:.06em}.stage-heading b{color:var(--color-cyan);margin-left:auto}.phase-badge{font-size:9px;border:0;background:var(--color-cyan);color:var(--color-accent-ink);padding:4px;border-radius:4px;display:none}.phase-badge.night{color:var(--color-accent-ink);background:var(--color-pink)}.wallet{background:linear-gradient(135deg,var(--glass-high),var(--glass-low));border:1px solid var(--glass-border);border-radius:99px;display:flex;align-items:center;padding:6px 11px 6px 5px;gap:5px;flex-shrink:0;box-shadow:0 3px 12px var(--color-shadow)}.wallet strong{font-size:19px;color:var(--color-ink);white-space:nowrap}.coin-icon{display:grid;place-items:center;background:linear-gradient(150deg,var(--color-gold),var(--color-orange));border:2px solid var(--color-gold);border-radius:50%;width:28px;height:28px;font-weight:900;color:var(--crit-ink);box-shadow:0 0 10px var(--neon-gold)}#pause-btn{min-width:44px;height:44px;font-size:10px;padding:4px;border-radius:12px;border:1px solid var(--glass-border);background:var(--glass-low);color:var(--color-ink)}
.battle-hud{top:82px;left:14px;right:14px;gap:18px;align-items:center;text-shadow:0 2px 3px var(--color-night)}.battle-hud .health{background:var(--glass-clear);border-radius:12px;padding:5px 8px 5px 3px;width:48%;display:flex;gap:5px}.health>img{width:30px;height:34px;object-fit:cover;object-position:top;clip-path:inset(0 0 20% 0);border-radius:7px}.health .health-data{flex:1;min-width:0;display:block}.health-data>div:first-child{display:flex;justify-content:space-between;gap:5px;font-size:10px;margin-bottom:5px}.battle-hud .progress{width:40%;padding:5px 8px;border-radius:10px;background:var(--glass-clear);margin-left:auto}.health .meter,.progress .meter{height:6px;border:0;border-radius:6px;background:var(--color-night);overflow:hidden}.health .meter i{background:linear-gradient(90deg,var(--color-green),var(--color-gold));transition:width .22s ease}.progress .meter i{background:var(--color-cyan)}.health-data #level{color:var(--color-cyan)}
.boss-hud{position:absolute;top:135px;left:14px;right:14px;display:flex;gap:8px;align-items:center;filter:drop-shadow(0 2px 5px var(--color-night))}.boss-hud>img{width:44px;height:47px;object-fit:cover;object-position:top;background:var(--glass-low);border:2px solid var(--color-pink);border-radius:10px}.boss-hud>div{flex:1;min-width:0}.boss-caption{display:flex;align-items:center;gap:7px;font-size:12px;margin-bottom:4px}.boss-caption b{background:var(--color-pink);padding:3px 7px;transform:rotate(-5deg);color:var(--color-night);font-family:var(--font-number);font-size:15px}.boss-caption strong{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.boss-caption small{margin-left:auto;white-space:nowrap;font-family:var(--font-number)}.boss-track{height:12px;border:2px solid var(--color-ink);border-radius:5px;background:var(--color-night);box-shadow:0 0 15px var(--neon-pink);overflow:hidden}.boss-track i{display:block;height:100%;background:linear-gradient(90deg,var(--color-red),var(--color-pink));transition:width .15s ease}
.battle-shell>.combo{position:absolute;top:27%;right:6%;transform:rotate(-7deg);width:auto;display:grid;justify-items:center;filter:drop-shadow(3px 4px 0 var(--color-night));text-shadow:3px 4px 0 var(--color-night);pointer-events:none}.combo strong{font-size:clamp(62px,8vw,110px);font-weight:950;line-height:.9;color:var(--color-gold);font-family:var(--font-number);letter-spacing:-.07em;-webkit-text-stroke:1px var(--color-gold)}.combo span{font-size:20px;font-family:var(--font-display);font-weight:900;letter-spacing:-.03em;margin-top:5px}.combo #combo-bonus{font-size:9px;color:var(--color-gold);margin-top:6px}.combo.pop{animation:combo-pop .26s ease-out}.battle-shell.fever-active{box-shadow:0 0 32px var(--neon-pink),0 0 52px var(--neon-cyan);border-color:var(--color-pink)}.battle-shell.fever-active .combo strong{color:var(--color-ink);-webkit-text-stroke:1px var(--color-pink);text-shadow:0 0 24px var(--color-pink)}
.battle-controls{position:absolute;bottom:45px;left:12px;right:auto;gap:5px;background:var(--color-clear);padding:0;display:flex;justify-content:start;border:0}.battle-controls #battle-status{font-size:9px;color:var(--color-ink);background:var(--neon-dark);border-radius:9px;padding:6px 8px}.battle-controls button{background:var(--glass-low);border:1px solid var(--glass-border);border-radius:9px;min-width:44px;min-height:36px;font-size:10px;padding:4px 8px}.fever-track{position:absolute;bottom:10px;left:14px;right:14px;height:25px;display:flex;align-items:center;gap:8px;pointer-events:none}.fever-track>strong{font-family:var(--font-display);font-size:25px;color:var(--color-gold);transform:rotate(-6deg);text-shadow:2px 2px 0 var(--crit-ink),0 0 15px var(--color-orange);letter-spacing:-.05em}.fever-track>div{flex:1;height:14px;border:2px solid var(--color-cyan);border-radius:4px;background:var(--neon-dark);transform:skewX(-15deg);overflow:hidden;box-shadow:0 0 14px var(--neon-cyan)}#fever-fill{height:100%;width:0;display:block;background:linear-gradient(90deg,var(--color-pink),var(--color-cyan),var(--color-green),var(--color-gold));transition:width .2s ease}.fever-track #fever-banner{position:absolute;right:12px;bottom:25px;background:var(--color-clear);border:0;color:var(--color-pink);font-size:15px;font-weight:900;text-shadow:0 0 12px var(--color-pink);transform:rotate(-6deg);padding:0;inset:auto 12px 25px auto}
.neon-cutin{position:absolute;top:29%;left:-14px;width:65%;height:130px;display:flex;align-items:center;transform:rotate(-6deg);background:linear-gradient(110deg,var(--neon-pink),var(--glass-low) 60%);border-top:3px solid var(--color-pink);border-bottom:3px solid var(--color-cyan);box-shadow:0 0 20px var(--neon-cyan);pointer-events:none;z-index:3;animation:cutin-in .26s cubic-bezier(.16,1,.3,1) both;overflow:hidden}.neon-cutin>img{width:42%;height:215%;object-fit:contain;object-position:center 14%;align-self:flex-start;transform:translateY(-10%)}.neon-cutin>div{flex:1;min-width:0;position:relative;padding-right:9px}.neon-cutin small{display:block;color:var(--color-ink);font-size:12px;font-weight:800}.neon-cutin strong{display:block;font-size:25px;line-height:1.2;color:var(--color-cyan);font-family:var(--font-display);text-shadow:2px 2px 0 var(--color-night),0 0 16px var(--neon-cyan);overflow-wrap:anywhere}.battle-message{position:absolute;top:49%;left:50%;width:max-content;max-width:94%;transform:translateX(-50%) rotate(-4deg);font-family:var(--font-display);font-size:19px;color:var(--color-gold);font-weight:900;background:var(--color-clear);text-align:center;text-shadow:2px 3px 0 var(--color-night),0 0 12px var(--neon-gold);pointer-events:none;padding:0;z-index:4}.battle-message:empty{display:none}
.battle-overlay{background:linear-gradient(180deg,var(--glass-clear),var(--neon-dark));backdrop-filter:blur(2px);padding:18px;z-index:6}.battle-overlay .intro{background:none;border:0;box-shadow:none;padding:0;width:100%;max-width:440px}.intro h2{font-family:var(--font-display);color:var(--color-ink);font-size:clamp(29px,4vw,45px);line-height:1.2;text-shadow:0 0 20px var(--neon-cyan);margin:12px 0}.intro-kicker{color:var(--color-pink);font-size:11px;font-family:var(--font-number);letter-spacing:.16em}.intro p{font-size:13px;color:var(--color-ink-2);line-height:1.7}.intro small{color:var(--color-muted);font-size:10px}.primary-btn{border:1px solid var(--color-gold);border-radius:14px;background:linear-gradient(155deg,var(--color-gold),var(--color-orange));color:var(--color-accent-ink);font-weight:900;min-height:50px;box-shadow:0 0 22px var(--neon-gold);font-size:15px;padding:12px 22px;margin:18px 0 10px}.intro.result .overlay-actions{gap:6px;justify-content:center}.intro.result .battle-button{border-radius:10px;border:1px solid var(--glass-border);background:var(--glass-high);font-size:11px;min-height:44px}.intro.result h2{font-size:25px}.intro.result p{font-size:12px}.intro.result .primary-btn{font-size:12px;margin:0;min-height:44px}
.combat-dock{min-width:0;display:flex;flex-direction:column;gap:12px;justify-content:center;background:linear-gradient(160deg,var(--glass-clear),var(--color-clear));border-radius:var(--radius-xl);padding:14px 0}.weapon-quickbar{display:flex;gap:7px;overflow-x:auto;scrollbar-width:none;padding:5px 2px 8px;scroll-snap-type:x proximity}.weapon-quickbar::-webkit-scrollbar,.reserve-rail::-webkit-scrollbar{display:none}.weapon-quickbar>button{flex:0 0 120px;display:flex;align-items:center;gap:5px;text-align:left;min-width:0;min-height:55px;padding:5px 9px;border:1px solid var(--glass-border);border-radius:12px;background:linear-gradient(140deg,var(--glass-high),var(--glass-low));color:var(--color-ink);scroll-snap-align:start}.weapon-quickbar>button.selected{background:linear-gradient(140deg,var(--color-gold),var(--color-orange));border-color:var(--color-gold);color:var(--color-night);box-shadow:0 0 13px var(--neon-gold)}.weapon-quickbar img{width:39px;height:39px;object-fit:contain;flex-shrink:0}.weapon-quickbar strong{font-size:10px;line-height:1.4;display:block}.weapon-quickbar small{display:block;font-size:8px;opacity:.8}.weapon-quickbar>button.weapon-more{flex-basis:62px;justify-content:center;white-space:nowrap;font-size:11px}
.party-strip{display:block;padding:0;border:0}.party-caption{display:flex;align-items:center;gap:8px;margin-bottom:7px;color:var(--color-muted)}.party-caption>strong{font-family:var(--font-number);font-size:10px;letter-spacing:.13em;color:var(--color-cyan)}.party-caption #party-count{font-size:9px;margin:0}.party-caption button{margin-left:auto;min-height:32px;font-size:10px;border:0;background:var(--color-clear);color:var(--color-cyan);padding:4px 8px}.party-slots{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:7px;width:100%}.party-slot{--unit-color:var(--color-cyan);position:relative;height:146px;display:block;padding:0;background:linear-gradient(155deg,var(--glass-high),var(--glass-low));border:2px solid var(--unit-color);border-radius:16px;overflow:hidden;min-width:0;box-shadow:0 0 8px var(--neon-cyan);text-align:left;transition:transform .15s ease,box-shadow .15s ease}.party-slot.tone-fire{--unit-color:var(--color-red)}.party-slot.tone-heal{--unit-color:var(--color-green)}.party-slot.tone-support{--unit-color:var(--color-cyan)}.party-slot.selected{border-color:var(--color-gold);box-shadow:0 0 17px var(--neon-gold);transform:translateY(-3px)}.party-slot .slot-art{position:absolute;inset:0 0 17px;width:100%;height:calc(100% - 17px);object-fit:cover;object-position:top;filter:drop-shadow(0 0 9px var(--unit-color));border-radius:0}.party-slot>span{position:absolute;inset:auto 0 0;width:100%;padding:22px 5px 7px;background:linear-gradient(0deg,var(--color-night) 55%,var(--color-clear));display:grid;gap:2px}.party-slot strong{font-size:12px;line-height:1.2;white-space:nowrap;color:var(--color-ink)}.party-slot small{font-size:8px;color:var(--color-ink-2);line-height:1.2;max-width:100%}.party-slot .unit-work{font-size:8px;color:var(--color-cyan)}.party-slot .action-meter{display:block;height:4px;background:var(--color-rule);border-radius:3px;overflow:hidden}.action-meter i{display:block;height:100%;background:var(--unit-color);width:0;transition:width .13s linear}.party-slot.empty{display:flex;flex-direction:column;justify-content:center;align-items:center;border:1px dashed var(--glass-border);gap:6px;background:var(--glass-clear);box-shadow:none;font-size:11px;color:var(--color-muted);white-space:nowrap}.party-slot.empty b{font-size:29px;color:var(--color-cyan)}.party-slot.empty:disabled{opacity:.45}.party-slot.acting{animation:card-action .27s ease-out}.party-slot.swapped{animation:card-swap .4s ease-out}
.swap-and-skill{display:grid;grid-template-columns:minmax(0,1fr) 94px;gap:10px;align-items:center}.reserve-panel{min-width:0;padding:9px 8px;background:linear-gradient(150deg,var(--glass-high),var(--glass-low));border:1px solid var(--glass-border);border-radius:16px;box-shadow:0 0 12px var(--neon-cyan)}.reserve-title{display:flex;align-items:center;gap:6px;margin-bottom:6px}.reserve-title strong{font-size:13px;white-space:nowrap}.reserve-title strong span{color:var(--color-cyan)}.reserve-title small{font-size:9px;color:var(--color-cyan);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.reserve-rail{display:flex;gap:6px;overflow-x:auto;scrollbar-width:none;min-height:60px;scroll-snap-type:x proximity;align-items:center}.reserve-rail>button{flex:0 0 50px;position:relative;height:64px;border:1px solid var(--glass-border);border-radius:9px;background:var(--color-night-2);overflow:hidden;padding:0;scroll-snap-align:start;color:var(--color-ink)}.reserve-rail img{width:100%;height:50px;object-fit:cover;object-position:top}.reserve-rail small{position:absolute;bottom:0;left:0;right:0;font-size:9px;padding:2px 0;background:var(--neon-dark);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.reserve-rail .reserve-empty{font-size:10px;color:var(--color-muted);line-height:1.6;padding:0 3px}.reserve-rail>button.recruit-shortcut{font-size:12px;min-height:56px;border-style:dashed;color:var(--color-cyan)}
.ultimate-button{position:relative;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:0;width:94px;height:94px;min-height:0;padding:0;border:4px solid var(--color-gold);border-radius:50%;background:radial-gradient(circle at 45% 35%,var(--color-gold),var(--color-orange) 55%,var(--color-red));color:var(--color-ink);box-shadow:0 0 0 3px var(--color-orange),0 0 0 6px var(--neon-gold),0 0 22px var(--neon-gold);text-shadow:2px 3px 0 var(--crit-ink);transition:filter .2s ease,transform .2s ease;isolation:isolate}.ultimate-button>span{font-family:var(--font-display);font-size:28px;font-weight:950;transform:rotate(-9deg);letter-spacing:-.1em}.ultimate-button>strong{font-family:var(--font-number);font-size:12px;margin-top:4px;text-shadow:1px 1px 0 var(--crit-ink)}.ultimate-button:disabled{opacity:1;filter:saturate(.5) brightness(.66)}.ultimate-button.ready{animation:ultimate-ready 1.3s ease-in-out infinite}.ultimate-button.ready:before{content:'';position:absolute;inset:-12px;border:2px solid var(--color-gold);border-radius:50%;animation:ultimate-ring 1.3s ease-out infinite;pointer-events:none}
.live-info{min-height:25px;display:grid;gap:4px}.synergies{display:flex;gap:5px;flex-wrap:wrap;margin:0;min-width:0;font-size:9px}.synergy-tag{border:1px solid var(--glass-border);background:var(--glass-low);padding:3px 5px;border-radius:6px;color:var(--color-cyan);font-size:9px;white-space:nowrap}.live-info #status-line{font-size:10px;color:var(--color-muted)}.live-info #status-line.danger{color:var(--color-gold)}.live-info .contribution-line{font-size:9px;color:var(--color-muted);margin:0}.game-nav{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin-top:auto}.game-nav>button{display:flex;align-items:center;justify-content:center;gap:5px;min-height:54px;border:1px solid var(--glass-border);border-radius:14px;color:var(--color-ink);background:linear-gradient(160deg,var(--glass-high),var(--glass-low));font-weight:900;box-shadow:0 0 10px var(--neon-cyan);font-size:13px;white-space:nowrap}.game-nav svg{width:22px;height:22px;fill:none;stroke:var(--color-gold);stroke-width:2;stroke-linecap:round;stroke-linejoin:round;filter:drop-shadow(0 0 5px var(--neon-gold))}.game-nav>button:hover{border-color:var(--color-cyan);background:var(--color-night-2)}
.management{position:fixed;inset:auto max(12px,calc((100vw - 1160px)/2)) 0;max-height:88svh;overflow-y:auto;overscroll-behavior:contain;display:block;z-index:30;background:var(--color-paper);border:1px solid var(--glass-border);border-radius:24px 24px 0 0;padding:0 20px 22px;box-shadow:0 -14px 70px var(--color-shadow);animation:drawer-in .22s ease-out}.drawer-backdrop{position:fixed;inset:0;background:var(--neon-dark);backdrop-filter:blur(3px);z-index:29}.drawer-top{position:sticky;top:0;display:flex;justify-content:space-between;align-items:center;padding:16px 0;background:var(--color-paper);z-index:2;border-bottom:1px solid var(--color-rule);margin-bottom:16px}.drawer-top h2{font-size:20px}.drawer-top small{font-size:9px;letter-spacing:.18em;color:var(--color-pink)}.drawer-top button{width:44px;height:44px;font-size:28px;background:var(--color-clear);color:var(--color-ink);border:1px solid var(--glass-border);border-radius:12px}.training{display:block;border:1px solid var(--color-rule);border-radius:16px;padding:18px;background:linear-gradient(150deg,var(--color-panel),var(--color-paper));margin-bottom:20px}.training #upgrade-list{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.upgrade-row{display:block}.upgrade-row button{margin-top:8px;min-height:44px;border:1px solid var(--glass-border);border-radius:10px;background:var(--color-night-2);color:var(--color-gold);padding:6px 14px;font-weight:800}.weapon-equipped{margin-top:12px;border-radius:12px}.collection-tabs{gap:16px}.collection-tabs button{min-height:44px}.role-filters button{border-radius:12px}.ally-card,.weapon-card{border-radius:16px;overflow:hidden;background:linear-gradient(155deg,var(--color-panel),var(--color-night));border:1px solid var(--color-rule)}.ally-art{background:radial-gradient(circle at 50% 60%,var(--floor-light),var(--color-clear));height:180px}.card-actions button{border-radius:9px}.card-actions .recruit{background:var(--color-gold);color:var(--color-night)}.foot-stmt{font-size:11px}.foot-stmt small{display:block;color:var(--color-muted);margin-top:10px}.management[data-mode=weapons]>.training,.management[data-mode=allies]>.training{display:none}.management[data-mode=training]>.collection{display:block}dialog{border:1px solid var(--glass-border);border-radius:22px;padding:20px;box-shadow:0 0 30px var(--neon-cyan),0 30px 100px var(--color-shadow);background:var(--color-paper)}.modal-top h2{font-size:20px}.modal-top button{width:44px;height:44px;font-size:24px}.stage-card{border-radius:13px}.stage-card img{border-radius:8px}.stage-card.current{border-color:var(--color-gold)}.stage-card strong{white-space:normal}.stage-card:active{border-color:var(--color-gold)}.need-chip{border-radius:8px}.toast{background:var(--glass-low);color:var(--color-ink);border:1px solid var(--glass-border);border-radius:14px;box-shadow:0 0 24px var(--neon-cyan);z-index:80;max-width:92vw;font-size:12px}
@keyframes combo-pop{0%{transform:rotate(-7deg) scale(1.32)}100%{transform:rotate(-7deg) scale(1)}}@keyframes cutin-in{from{transform:translateX(-100%) rotate(-6deg);opacity:0}to{transform:translateX(0) rotate(-6deg);opacity:1}}@keyframes card-action{50%{filter:brightness(1.4);box-shadow:0 0 20px var(--unit-color)}}@keyframes card-swap{0%{transform:translateY(9px) scale(.87);filter:brightness(1.8)}100%{transform:translateY(-3px) scale(1);filter:brightness(1)}}@keyframes ultimate-ready{50%{box-shadow:0 0 0 3px var(--color-orange),0 0 0 8px var(--neon-gold),0 0 40px var(--color-orange)}}@keyframes ultimate-ring{from{transform:scale(.85);opacity:1}to{transform:scale(1.2);opacity:0}}@keyframes drawer-in{from{transform:translateY(50px);opacity:0}to{transform:translateY(0);opacity:1}}
@media(max-width:900px){.arcade-grid{grid-template-columns:minmax(0,1fr);gap:0;max-width:650px;margin:auto}.nav-slab{max-width:674px}.workbench{padding:0 8px 8px}.battle-shell{height:var(--arena-h);border-radius:18px 18px 10px 10px;min-height:295px}.combat-dock{padding:5px 2px 0;gap:7px;background:none}.party-slot{height:123px;border-radius:13px}.party-caption{margin-bottom:4px}.weapon-quickbar{padding:2px 1px 5px}.weapon-quickbar>button{min-height:43px;flex-basis:118px;padding:3px 7px;border-radius:10px}.weapon-quickbar img{width:33px;height:33px}.weapon-quickbar strong{font-size:9px}.party-caption button{min-height:28px}.swap-and-skill{grid-template-columns:minmax(0,1fr) 84px;gap:10px;padding-right:5px}.ultimate-button{width:80px;height:80px}.ultimate-button>span{font-size:25px}.reserve-panel{padding:7px;border-radius:12px}.reserve-title{margin-bottom:4px}.reserve-title strong{font-size:11px}.reserve-title small{font-size:8px}.reserve-rail{min-height:52px}.reserve-rail>button{height:55px;flex-basis:45px}.reserve-rail img{height:45px}.reserve-rail small{font-size:8px}.game-nav{gap:7px;margin-top:1px}.game-nav>button{min-height:46px;border-radius:12px;font-size:12px}.game-nav svg{width:19px;height:19px}.live-info{gap:2px;min-height:17px}.live-info .contribution-line{font-size:8px}.live-info #status-line{font-size:9px}.synergy-tag{font-size:8px;padding:2px 5px}.live-info .synergies:empty{display:none}.management{inset:auto 8px 0;padding:0 12px 18px;max-height:91svh}.training #upgrade-list{grid-template-columns:repeat(2,minmax(0,1fr))}.training{padding:12px}.edition{display:none}.battle-shell>.combo{top:27%;right:5%}.combo strong{font-size:70px}.combo span{font-size:16px}.battle-hud{top:68px}.boss-hud{top:110px}.boss-caption{font-size:10px}.boss-caption b{font-size:12px}.boss-hud>img{height:34px;width:34px}.boss-track{height:10px}.neon-cutin{height:95px;top:31%;width:67%}.neon-cutin strong{font-size:20px}.neon-cutin small{font-size:10px}.trip-bar{top:9px;left:9px;right:9px;gap:6px}.stage-heading{padding:7px 8px;border-radius:11px}.stage-heading h2{font-size:14px}.stage-heading small{font-size:9px}.wallet{padding:5px 8px 5px 4px}.wallet strong{font-size:16px}.coin-icon{width:23px;height:23px;font-size:14px}.health-data>div:first-child{font-size:9px}.battle-controls{bottom:35px;left:9px}.battle-controls button{min-height:32px;font-size:9px}.battle-controls #battle-status{font-size:8px}.fever-track{bottom:7px;left:11px;right:11px;height:23px}.fever-track>strong{font-size:21px}.fever-track>div{height:12px}.battle-message{font-size:16px;top:46%}.intro p{font-size:11px}.intro.result h2{font-size:22px}.intro.result p{font-size:10px}.intro .primary-btn{min-height:48px;font-size:13px}.intro.result .primary-btn,.intro.result .battle-button{min-height:44px;font-size:10px;padding:8px}.roster-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:480px){.nav-slab{padding:1px 10px;height:39px;min-height:39px}.brand h1{font-size:10px}.brand small{font-size:7px}.brand-mark{width:21px;height:24px;font-size:18px}.header-actions .quiet-btn{min-height:38px;font-size:9px;padding:3px 5px}.header-actions #help-btn{display:none}.header-actions #settings-btn{font-size:21px}.battle-shell{height:clamp(285px,calc(100svh - 358px),560px);min-height:285px}.party-slot{height:109px;border-radius:12px}.party-slot>span{padding:16px 4px 5px;gap:2px}.party-slot strong{font-size:10px}.party-slot small,.party-slot .unit-work{font-size:7px;line-height:1.15}.party-slot .action-meter{height:3px}.party-slots{gap:5px}.stage-heading h2{font-size:12px}.stage-heading small{font-size:8px}.wallet strong{font-size:14px}#pause-btn{height:41px;min-width:42px;font-size:9px}.trip-bar{gap:5px}.wallet{gap:3px;padding-right:7px}.coin-icon{width:22px;height:22px}.battle-hud{top:64px;left:10px;right:10px;gap:5px}.battle-hud .health{width:53%;padding:3px 5px 3px 0}.health>img{width:24px;height:28px}.health-data>div:first-child{font-size:8px}.battle-hud .progress{width:42%;padding:5px}.battle-hud .progress>div:first-child{font-size:8px}.boss-hud{top:101px;left:10px;right:10px}.boss-caption small{font-size:8px}.boss-hud>img{width:30px;height:32px}.boss-caption{gap:4px}.combo strong{font-size:56px}.combo span{font-size:13px}.combo #combo-bonus{font-size:7px}.neon-cutin{height:83px;left:-8px;width:66%}.neon-cutin strong{font-size:16px}.neon-cutin small{font-size:9px}.neon-cutin>img{height:200%;width:38%}.reserve-title{display:block}.reserve-title strong{font-size:10px;display:inline}.reserve-title small{display:block;margin-top:2px}.reserve-rail{gap:4px}.reserve-panel{padding:5px 6px}.swap-and-skill{grid-template-columns:minmax(0,1fr) 77px;gap:9px}.ultimate-button{width:73px;height:73px;border-width:3px}.ultimate-button>span{font-size:24px}.ultimate-button>strong{font-size:10px}.weapon-quickbar>button{flex-basis:108px}.game-nav{gap:5px}.game-nav>button{font-size:11px;gap:3px;min-height:44px}.game-nav svg{width:17px;height:17px}.party-caption>strong{font-size:9px}.party-caption #party-count{font-size:8px}.party-caption button{font-size:9px}.roster-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.live-info{gap:1px}.live-info .contribution-line{display:none}.live-info #status-line{font-size:8px}.intro h2{font-size:29px}.battle-overlay{padding:12px}.intro-kicker{font-size:9px}.intro.result h2{font-size:19px}.intro.result p{font-size:10px}.intro.result .overlay-actions>button{font-size:9px;padding:7px}.management{border-radius:18px 18px 0 0}.drawer-top h2{font-size:17px}.drawer-top{padding:10px 0}.collection-tabs{gap:9px}.collection-tabs button{font-size:12px}.collection-tabs span{font-size:8px}.toast{bottom:15px}.stage-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:350px){.stage-heading h2{font-size:11px}.stage-heading{padding:6px}.wallet strong{font-size:12px}.coin-icon{display:none}.battle-shell{height:clamp(275px,calc(100svh - 348px),520px)}.party-slot{height:103px}.reserve-rail>button{flex-basis:41px}.game-nav>button{font-size:10px}.game-nav svg{width:15px;height:15px}.neon-cutin strong{font-size:14px}.boss-caption strong{font-size:9px}}
@media(max-height:540px) and (orientation:landscape){.arcade-grid{grid-template-columns:minmax(0,1.4fr) minmax(285px,1fr);max-width:none;gap:10px}.nav-slab{max-width:none}.battle-shell{height:calc(100svh - 52px);min-height:255px}.combat-dock{height:calc(100svh - 52px);overflow-y:auto;justify-content:flex-start}.party-slot{height:95px}.live-info{display:none}.boss-hud{top:94px}.combo strong{font-size:44px}.neon-cutin{height:70px}}
.motion-off *{animation:none!important;transition:none!important}.motion-off .neon-cutin{transform:none}.motion-off .combo{transform:none}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important}}
.weapon-quickbar>button>span{min-width:0;flex:1}.weapon-quickbar strong{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.wallet strong{letter-spacing:0}.combat-dock{justify-content:flex-start}.game-nav{margin-top:10px}.live-info #status-line:empty{display:none}
@media(max-width:900px){.battle-shell{height:clamp(280px,calc(100svh - 455px),630px);min-height:280px}.combat-dock{gap:6px}.game-nav{margin-top:2px}.party-caption{margin-bottom:4px}}
@media(max-width:480px){.battle-shell{height:clamp(275px,calc(100svh - 448px),520px);min-height:275px}.party-caption button{min-height:28px}.live-info{min-height:12px}}
@media(max-height:540px) and (orientation:landscape){.battle-shell{height:calc(100svh - 52px);min-height:255px}.game-nav{margin-top:2px}}
/* v6.1: measured HUD flow, uncropped portraits, and a reserved combat region. */
.neon-game .battle-shell{--hud-height:100px;min-height:calc(var(--hud-height) + 220px)}
.neon-game .arena-header{position:absolute;top:9px;left:10px;right:10px;display:grid;gap:7px;z-index:8;pointer-events:none}
.neon-game .arena-header button{pointer-events:auto}
.neon-game .arena-header .trip-bar{position:static;margin:0;display:grid;grid-template-columns:minmax(0,1fr) max-content 46px;gap:6px;align-items:center;min-width:0}
.neon-game .arena-header .stage-heading{display:flex;flex-wrap:nowrap;min-width:0;width:100%;gap:5px;min-height:44px;padding:6px 8px}
.neon-game .arena-header .stage-heading>span:nth-child(2){flex:1;min-width:0}
.neon-game .arena-header .stage-heading h2{font-size:clamp(11px,2.9vw,17px);line-height:1.3;overflow-wrap:anywhere;white-space:normal;max-width:100%}
.neon-game .arena-header .stage-heading small{white-space:nowrap;display:block}
.neon-game .arena-header .stage-heading b{flex-shrink:0}
.neon-game .arena-header .wallet{max-width:125px;margin:0;min-width:0}
.neon-game .arena-header .wallet strong{overflow:hidden;text-overflow:ellipsis;font-size:clamp(12px,3.5vw,19px)}
.neon-game .arena-header #pause-btn{width:46px;min-width:46px;min-height:44px;height:44px}
.neon-game .arena-header .battle-hud{position:static;display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:8px;align-items:center}
.neon-game .arena-header .battle-hud .health,.neon-game .arena-header .battle-hud .progress{width:100%;min-width:0;margin:0}
.neon-game .arena-header .health>img{object-fit:contain;clip-path:none;object-position:center;flex-shrink:0}
.neon-game .arena-header .boss-hud{position:static;display:flex;min-width:0;margin:0;gap:6px}
.neon-game .arena-header .boss-hud>div{min-width:0}
.neon-game .arena-header .boss-caption{min-width:0;flex-wrap:nowrap}
.neon-game .arena-header .boss-caption strong{flex:1;min-width:0}
.neon-game .arena-header .boss-caption small{font-size:9px;flex-shrink:0}
.neon-game .arena-header .boss-hud>img{object-fit:contain;width:33px;height:37px}
.neon-game .battle-shell>.combo{top:calc(var(--hud-height) + 14px);right:4%;width:76px;transform:none;z-index:3}
.neon-game .battle-shell>.combo strong{font-size:clamp(38px,7vw,68px);-webkit-text-stroke:0;line-height:1}
.neon-game .battle-shell>.combo span{font-size:clamp(11px,2.8vw,17px);margin-top:2px}
.neon-game .battle-shell>.combo.pop{animation:combo-safe .25s ease-out}
.neon-game .neon-cutin{top:calc(var(--hud-height) + 12px);left:8px;width:calc(100% - 100px);max-width:450px;height:auto;min-height:72px;display:grid;grid-template-columns:27% minmax(0,1fr);gap:4px;padding:5px 7px;transform:none;border-radius:8px;animation:cutin-safe .2s ease-out;z-index:4;box-sizing:border-box}
.neon-game .neon-cutin>img{position:static;width:100%;height:70px;max-width:100%;object-fit:contain;object-position:center;transform:none;align-self:center;padding:2px}
.neon-game .neon-cutin>div{min-width:0;padding:0;align-self:center}
.neon-game .neon-cutin small{font-size:clamp(8px,2vw,11px);line-height:1.3;overflow-wrap:anywhere}
.neon-game .neon-cutin strong{font-size:clamp(12px,3.4vw,23px);line-height:1.3;letter-spacing:-.04em;overflow-wrap:normal;word-break:normal}
.neon-game .battle-message{top:calc(var(--hud-height) + 112px);z-index:4;font-size:clamp(12px,3.5vw,19px);max-width:92%}
.neon-game .party-slot:not(.empty){height:137px;display:grid;grid-template-rows:minmax(0,1fr) auto;gap:0;padding:0;isolation:isolate}
.neon-game .party-slot .slot-art{position:static;inset:auto;width:100%;height:100%;min-height:0;object-fit:contain;object-position:center;padding:5px 4px 2px;filter:none;align-self:stretch}
.neon-game .party-slot>span{position:static;inset:auto;display:grid;gap:3px;width:100%;max-width:100%;min-width:0;padding:4px 5px 6px;background:var(--color-night);z-index:auto}
.neon-game .party-slot strong{font-size:clamp(9px,2.55vw,12px);line-height:1.25;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}
.neon-game .party-slot small,.neon-game .party-slot .unit-work{font-size:8px;line-height:1.25;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.neon-game .party-slot.empty{height:137px;min-height:0}
.neon-game .reserve-rail>button:not(.recruit-shortcut){display:grid;grid-template-rows:minmax(0,1fr) auto;height:63px;flex-basis:49px;padding:0}
.neon-game .reserve-rail img{position:static;object-fit:contain;object-position:center;width:100%;height:100%;min-height:0;padding:2px}
.neon-game .reserve-rail small{position:static;inset:auto;display:block;width:100%;font-size:8px;line-height:1.3;padding:2px 1px;min-width:0}
@keyframes combo-safe{from{transform:scale(1.15)}to{transform:scale(1)}}
@keyframes cutin-safe{from{opacity:0;transform:scale(.97)}to{opacity:1;transform:scale(1)}}
@media(max-width:480px){.neon-game .arena-header{left:9px;right:9px;gap:6px}.neon-game .arena-header .wallet{padding:5px 6px;gap:3px;max-width:91px}.neon-game .arena-header .coin-icon{display:none}.neon-game .arena-header .stage-heading{padding:5px 6px}.neon-game .arena-header .boss-caption small{font-size:8px}.neon-game .party-slot:not(.empty),.neon-game .party-slot.empty{height:125px}.neon-game .party-slot>span{padding:3px 4px 5px;gap:2px}.neon-game .party-slot small,.neon-game .party-slot .unit-work{font-size:7px}.neon-game .neon-cutin{min-height:65px;padding:4px 5px}.neon-game .neon-cutin>img{height:61px}.neon-game .neon-cutin strong{font-size:12px}.neon-game .battle-message{top:calc(var(--hud-height) + 98px)}.neon-game .battle-shell>.combo{right:3%;width:68px}.neon-game .battle-shell>.combo strong{font-size:40px}.neon-game .battle-shell>.combo span{font-size:11px}}
@media(max-height:540px) and (orientation:landscape){.neon-game .battle-shell{min-height:calc(var(--hud-height) + 210px)}.neon-game .party-slot:not(.empty),.neon-game .party-slot.empty{height:120px}}
.neon-game .reserve-rail.has-reserves{display:grid;grid-auto-flow:column;grid-auto-columns:calc((100% - 4px * (var(--reserve-count,4) - 1)) / var(--reserve-count,4));column-gap:4px;scroll-snap-type:x mandatory;align-items:stretch;scrollbar-width:none}
.neon-game .reserve-rail.has-reserves>button{width:100%;min-width:0;max-width:100%;scroll-snap-align:start}
.neon-game .battle-overlay{inset:calc(var(--hud-height) + 6px) 0 0;padding:14px;overflow-y:auto}
.neon-game .battle-shell:has(.battle-overlay:not([hidden])){min-height:calc(var(--hud-height) + 310px)}
.neon-game .battle-overlay .intro{margin:auto;max-width:100%;min-width:0}
.neon-game .battle-overlay .intro h2{overflow-wrap:anywhere}
.neon-game .health-data #hp-text{white-space:nowrap}
.neon-game .neon-cutin{background:linear-gradient(110deg,var(--color-panel),var(--color-night))}
.neon-game .battle-overlay .stage-intro-name{font-size:clamp(17px,4.8vw,28px);line-height:1.4;overflow-wrap:normal;line-break:strict;word-break:normal}
.neon-game .live-info>.toast{position:static;inset:auto;transform:none;width:100%;min-width:0;max-width:100%;margin:3px 0;padding:7px 9px;box-shadow:none;font-size:11px;z-index:auto;pointer-events:none}
/* v7: one fixed weapon and two visible reserves; no horizontal combat controls. */
.neon-game .weapon-quickbar{display:block;overflow:visible;padding:3px 0}
.neon-game .weapon-quickbar>.fixed-weapon{display:grid;grid-template-columns:44px minmax(0,1fr) 62px;align-items:center;gap:8px;width:100%;min-width:0;max-width:100%;min-height:52px;opacity:1;white-space:normal}
.neon-game .weapon-quickbar>.fixed-weapon img{width:42px;height:42px}.neon-game .weapon-quickbar>.fixed-weapon strong{font-size:12px;white-space:normal;overflow-wrap:anywhere}.neon-game .weapon-quickbar>.fixed-weapon strong small{display:inline;font-size:10px}.neon-game .weapon-quickbar>.fixed-weapon small{font-size:9px}.neon-game .weapon-quickbar>.fixed-weapon b{font-size:10px;color:var(--color-cyan);text-align:right}.neon-game .weapon-quickbar>.fixed-weapon:disabled{filter:none;color:var(--color-ink);border-color:var(--color-rule)}
.neon-game .reserve-rail.has-reserves{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-flow:row;grid-auto-columns:auto;gap:6px;overflow:visible;scroll-snap-type:none;min-width:0}
.neon-game .reserve-rail.has-reserves>button{width:100%;height:66px;min-width:44px;max-width:100%;border-radius:10px}.neon-game .reserve-rail.has-reserves img{max-height:47px}.neon-game .reserve-rail.has-reserves small{font-size:10px}.neon-game .reserve-rail .empty-reserve{display:flex!important;flex-direction:column;align-items:center;justify-content:center;gap:3px;background:var(--glass-low)}.empty-reserve b{font-size:22px;color:var(--color-cyan)}
.assignment-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.assignment-grid button{min-height:58px;background:var(--color-panel);color:var(--color-ink);border:1px solid var(--glass-border);border-radius:12px;padding:9px;font-weight:800}.assignment-grid small{display:block;font-size:11px;color:var(--color-cyan);margin-top:4px}
.neon-game .battle-shell{min-height:calc(var(--hud-height) + 260px)}
@media(max-height:760px) and (max-width:480px){.neon-game .party-slot:not(.empty),.neon-game .party-slot.empty{height:110px}.neon-game .party-slot .unit-work{display:none}.neon-game .reserve-rail.has-reserves>button{height:58px}.neon-game .reserve-rail.has-reserves img{max-height:38px}.neon-game .combat-dock{gap:4px}.neon-game .weapon-quickbar>.fixed-weapon{min-height:47px}.neon-game .weapon-quickbar>.fixed-weapon img{height:36px}.neon-game .live-info{min-height:0}}
.volume-row{display:grid;grid-template-columns:90px minmax(80px,1fr) 34px;align-items:center;gap:9px;min-height:52px;font-size:13px}.volume-row input{width:100%;min-height:44px;accent-color:var(--color-cyan)}.volume-row output{font-size:11px;color:var(--color-cyan);text-align:right}.music-title{margin:0;font-size:9px;line-height:1.5;color:var(--color-cyan);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.music-title:empty{display:none}
@media(max-height:760px) and (max-width:480px){.music-title{font-size:8px}}
