@import url('./jakarta-fonts.css');
@import url('./inter-fonts.css');
:root{--blue:#0066FF;--deep:#0052CC;--navy:#06152B;--ink:#0B1B33;--signal:#FF6B35;--page:#F8FAFD;--white:#fff;--line:#DCE2EB;--muted:#4E5C6F;--light:#F1F7FF;--heading:'Plus Jakarta Sans',sans-serif;--body:Inter,-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;color-scheme:light}
*{box-sizing:border-box}body{margin:0;background:var(--page);color:var(--ink);font:400 15px/1.5 var(--body)}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit;cursor:pointer;color:inherit}button:disabled{cursor:default;opacity:.65}a{color:inherit;text-decoration:none}button:focus-visible,a:focus-visible,canvas:focus-visible{outline:3px solid var(--blue);outline-offset:4px}.hidden{display:none!important}.svg-defs{position:absolute;width:0;height:0;overflow:hidden}svg{width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}button{border:0}.app-shell{max-width:1530px;padding:0 48px;margin:auto}.site-header{height:102px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);gap:20px}.wordmark{display:flex;align-items:center;font:700 18px var(--heading);letter-spacing:-.6px;white-space:nowrap}.wordmark-thin{font-weight:400;margin-left:5px}.brand-icon{width:34px;height:34px;display:grid;place-items:center;border:1.5px solid var(--ink);border-radius:11px;transform:rotate(-7deg);margin-right:11px;background:var(--white)}.brand-icon svg{width:22px;height:22px}.brand-dot{width:6px;height:6px;background:var(--blue);border-radius:50%;margin:10px 0 0 3px}.header-right{display:flex;align-items:center;gap:18px}.powered{display:flex;align-items:center;gap:14px;margin-right:10px}.powered small{font-size:10px;letter-spacing:1px;color:var(--muted);white-space:nowrap}.powered img{width:170px;height:auto}.icon-button{width:36px;height:36px;background:var(--white);border:1px solid var(--line);border-radius:50%;display:grid;place-items:center;position:relative}.icon-button svg{width:18px;height:18px}.icon-button:hover{background:var(--light)}.mute-line{display:none;position:absolute;width:22px;height:2px;background:var(--ink);transform:rotate(-45deg)}.muted .mute-line{display:block}.demo-badge{font:600 10px var(--heading);padding:6px 8px;border:1px solid var(--line);border-radius:5px;letter-spacing:1px}
.menu-view{display:grid;grid-template-columns:.9fr 1.1fr;gap:70px;padding:45px 0 38px}.intro{padding:10px 0 0}.eyebrow,.section-label{font:700 10px var(--heading);letter-spacing:1.45px;text-transform:uppercase}.eyebrow{color:var(--deep);display:flex;align-items:center;gap:10px}.tiny-spark{font-size:24px;line-height:1}h1{font:700 clamp(58px,6.5vw,96px)/1.05 var(--heading);letter-spacing:-5px;margin:24px 0 27px}.paz{position:relative;color:var(--blue)}.title-period{color:var(--signal)}.underline{position:absolute;left:-3px;width:100%;height:22px;bottom:-17px;stroke:var(--blue);stroke-width:3.5}.intro-copy{font-size:19px;line-height:1.6;color:var(--muted);margin:30px 0}.intro-copy strong{font-weight:600;color:var(--ink)}.premise-note{display:flex;gap:12px;align-items:flex-start;margin:24px 0 34px}.premise-note svg{flex-shrink:0;width:22px;height:22px;margin-top:3px;color:var(--blue)}.premise-note p{font-size:13px;line-height:1.8;margin:0;color:var(--muted)}.premise-note strong{color:var(--ink);font-weight:600}.edition-note{display:flex;gap:22px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:17px 0;font-size:10px;color:var(--muted)}.edition-note span{display:flex;flex-direction:column;gap:2px}.edition-note b{font:700 25px var(--heading);color:var(--ink)}.run-note{margin-top:25px;max-width:350px}.run-note>span{display:block;font-size:12px;color:var(--muted)}.run-note strong{font:700 21px var(--heading);display:block;margin:5px 0 8px}.run-note p{font-size:12px;color:var(--muted);margin:0}.continue-button{display:block;width:100%;max-width:350px;margin-top:22px;padding:13px 18px;background:var(--navy);color:white;border-radius:13px;text-align:left;font-weight:600}.continue-button span{display:block;font-size:10px;color:#BCD9FF;font-weight:400;margin-top:3px}.section-label{color:var(--muted);display:flex;gap:9px;align-items:center;margin:0 0 12px}.section-label>span{font-size:10px;color:var(--blue);border:1px solid #BCD9FF;border-radius:5px;width:22px;height:22px;display:grid;place-items:center}.characters{display:grid;grid-template-columns:1fr 1fr;gap:13px}.character-card{padding:0;text-align:left;background:#EEF2F7;border:2px solid transparent;border-radius:21px;overflow:hidden;position:relative;transition:transform .15s,border-color .15s}.character-card:hover{transform:translateY(-3px)}.character-card.selected{border-color:var(--blue);background:#F1F7FF}.character-card.owner{background:#FFF1EB}.character-card.owner.selected{border-color:var(--blue)}.card-top{display:flex;justify-content:space-between;align-items:center;padding:13px 16px 0;font:700 9px var(--heading);letter-spacing:1px;position:relative;z-index:1}.selection-check{width:19px;height:19px;border:1px solid #A9B8CC;border-radius:50%;color:transparent;display:grid;place-items:center;font-size:11px}.selected .selection-check{background:var(--blue);border-color:var(--blue);color:white}.portrait-wrap{height:160px;position:relative;display:flex;justify-content:center;overflow:hidden}.portrait{height:210px;width:210px;position:relative;top:-17px;object-fit:contain;mix-blend-mode:multiply}.character-info{padding:9px 19px 17px;background:#FFFFFFD9;border-top:1px solid #DCE2EB80}.character-info h2{font:700 21px var(--heading);letter-spacing:-.6px;margin:0 0 6px}.character-info p{font-size:12px;line-height:1.5;color:var(--muted);margin:0 0 11px}.character-power{font-size:10px;font-weight:600;display:flex;align-items:center;gap:7px}.character-power svg{width:15px;height:15px;color:var(--blue)}.scene-label{margin-top:21px}.scene-picker{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.scene-option{display:flex;align-items:center;justify-content:center;gap:8px;padding:12px 8px;background:white;border:1px solid var(--line);border-radius:13px;font-size:12px;font-weight:500;white-space:nowrap}.scene-option svg{width:19px;height:19px}.scene-option.selected{border-color:var(--blue);color:var(--deep);background:var(--light)}.kit-label{margin-top:21px}.loadout-picker{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.loadout-picker button{padding:11px 10px;background:white;border:1px solid var(--line);border-radius:13px;text-align:left;min-width:0}.loadout-picker button.selected{border-color:var(--blue);background:var(--light)}.loadout-picker strong{font:700 12px var(--heading);display:block}.loadout-picker span{font-size:10px;color:var(--muted);display:block;margin:3px 0 7px}.loadout-picker small{font-size:9px;color:var(--deep);display:block;line-height:1.4}.start-button{width:100%;min-height:52px;padding:14px 21px;border-radius:13px;background:var(--blue);color:white;display:flex;align-items:center;justify-content:space-between;gap:14px;font:600 15px var(--heading);margin-top:19px;transition:background .15s,transform .15s}.start-button:hover{background:var(--deep);transform:translateY(-1px)}.start-button svg{width:22px;height:22px}.start-caption{font-size:10px;color:var(--muted);text-align:center;margin:11px 0 0}.site-footer{border-top:1px solid var(--line);padding:18px 0 24px;display:flex;justify-content:space-between;gap:20px;font-size:10px;color:var(--muted)}.footer-right{font:600 9px var(--heading);display:flex;align-items:center;gap:18px;letter-spacing:.7px;white-space:nowrap}.footer-flower{font-size:24px;color:var(--blue)}
.in-game{max-width:1660px;padding:0 24px}.in-game .site-header{height:73px}.game-topline{height:48px;display:flex;align-items:center;justify-content:space-between;gap:14px}.game-topline>div{display:flex;align-items:center;gap:10px}#scene-title{font:700 14px var(--heading)}.scene-subtitle{font-size:11px;color:var(--muted)}.live-dot{width:7px;height:7px;background:var(--blue);border-radius:50%}.game-tools{font:500 10px var(--heading)}.game-tools .icon-button{width:29px;height:29px}.arena-wrap{position:relative;border:1px solid var(--line);border-radius:21px;overflow:hidden;background:var(--light);height:calc(100dvh - 244px);min-height:420px;max-height:900px;isolation:isolate}.arena-wrap:fullscreen{height:100vh;width:100vw;max-height:none;border-radius:0}#arena{display:block;width:100%;height:100%;touch-action:none;outline:none}.scene-intro{position:absolute;top:44%;left:50%;transform:translate(-50%,-50%) scale(.98);background:var(--navy);padding:22px 34px;border-radius:21px;color:white;text-align:center;pointer-events:none;opacity:0;transition:opacity .3s,transform .3s;z-index:4;max-width:90%;box-shadow:0 10px 40px #06152B24}.scene-intro.visible{opacity:1;transform:translate(-50%,-50%) scale(1)}.scene-intro span{font:600 10px var(--heading);letter-spacing:1px;color:#BCD9FF;white-space:nowrap}.scene-intro strong{font:700 33px var(--heading);letter-spacing:-1px;display:block;margin:6px 0}.scene-intro p{font-size:12px;color:#DEECFF;margin:4px 0 0}.combo{position:absolute;left:21px;top:108px;font:700 16px var(--heading);color:white;background:var(--blue);border-radius:8px;padding:6px 10px;pointer-events:none}.combo:empty{display:none}.boss-health{position:absolute;bottom:61px;left:50%;transform:translateX(-50%);width:min(520px,65%);padding:12px 16px;border:2px solid var(--signal);border-radius:13px;background:var(--navy);color:white;pointer-events:none;z-index:3}.boss-health>div:first-child{display:flex;justify-content:space-between;gap:12px}.boss-health b{font:700 13px var(--heading)}.boss-health span{font-size:11px}.boss-track{height:5px;background:#364356;margin:8px 0 6px;border-radius:10px;overflow:hidden}.boss-track span{height:100%;background:var(--signal);display:block}.boss-health small{font-size:10px;color:#DEECFF;display:block}.chapter-track{position:absolute;bottom:0;left:0;right:0;height:4px;background:#DCE2EB;pointer-events:none}.chapter-track:after{content:'';display:block;width:var(--progress,0%);height:100%;background:var(--blue)}.power-slot{width:33px;height:33px;background:white;border:1px solid #C3CBD8;border-radius:8px;position:relative;display:grid;place-items:center}.power-slot canvas{width:29px;height:29px}.power-slot span{position:absolute;right:-3px;bottom:-3px;background:var(--navy);color:white;border-radius:50%;font-size:9px;min-width:14px;height:14px;text-align:center}.power-slot.evolved{border:2px solid var(--signal)}.power-slot.evolved span{background:var(--signal);color:var(--navy)}.game-toast{position:absolute;top:100px;left:50%;transform:translateX(-50%);padding:10px 16px;background:white;border:2px solid var(--blue);border-radius:10px;box-shadow:0 4px 18px #06152B18;font:600 12px var(--body);z-index:5;opacity:0;pointer-events:none;text-align:center;max-width:65%;transition:opacity .15s}.game-toast.visible{opacity:1}.boss-alert{display:none}kbd{font:600 9px var(--body);background:white;border:1px solid var(--line);border-bottom:2px solid #C3CBD8;border-radius:4px;padding:3px 5px;min-width:17px;text-align:center;color:var(--ink)}.in-game .site-footer{padding:10px 0 15px}
.modal-shade{position:absolute;inset:0;background:#06152BB8;display:flex;align-items:center;justify-content:center;z-index:20;padding:22px;overflow:auto;backdrop-filter:blur(5px)}.modal-panel{background:var(--white);border:1px solid var(--line);border-radius:21px;padding:34px;text-align:center;max-width:520px;width:100%;box-shadow:0 20px 70px #06152B35}.modal-panel .eyebrow{justify-content:center}.modal-panel h2{font:700 38px/1.12 var(--heading);letter-spacing:-1.8px;margin:21px 0 16px}.modal-panel p{font-size:13px;color:var(--muted);line-height:1.6;margin:0 0 18px}.text-button{display:block;margin:14px auto 0;padding:7px;background:none;font-size:11px;color:var(--muted);text-decoration:underline;text-underline-offset:3px}.upgrade-panel{width:min(940px,100%);text-align:center;background:var(--page);border-radius:21px;padding:28px;box-shadow:0 20px 70px #06152B35}.upgrade-panel>.eyebrow{justify-content:center}.upgrade-panel h2{font:700 clamp(21px,2.8vw,32px) var(--heading);letter-spacing:-1px;margin:12px 0 6px}.upgrade-panel>p{font-size:12px;color:var(--muted);margin:0 0 22px}.upgrade-panel>small{display:block;font-size:10px;color:var(--muted);margin-top:17px}.evolution-hint{font-size:10px;color:var(--deep);margin-top:10px}.result-stamp{font:700 11px var(--heading);letter-spacing:1px;color:var(--deep);border:1px solid var(--blue);border-radius:6px;display:inline-block;padding:7px 10px;transform:rotate(-3deg)}.result-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:18px 0;margin:20px 0}.result-stats b{display:block;font:700 24px var(--heading);color:var(--deep)}.result-stats span{font-size:9px;color:var(--muted);display:block}.result-aside{font-size:10px!important}
@media(min-width:1500px){.menu-view{padding:55px 0;gap:100px}.portrait-wrap{height:190px}.portrait{height:240px;width:240px}}
@media(max-width:1100px){.app-shell{padding:0 26px}.menu-view{gap:35px;grid-template-columns:.8fr 1.2fr}.intro h1{font-size:70px;letter-spacing:-4px}.powered img{width:145px}.powered{margin-right:0}.portrait-wrap{height:143px}.portrait{height:195px;width:195px}.intro-copy{font-size:17px}.character-info{padding:9px 14px 15px}.character-info h2{font-size:19px}.site-footer{font-size:9px}.footer-right{font-size:8px}}
@media(max-width:800px){.app-shell{padding:0 18px}.site-header{height:80px}.powered small{display:none}.powered img{width:130px}.header-right{gap:10px}.demo-badge{display:none}.menu-view{display:block;padding-top:28px}.intro{display:grid;grid-template-columns:1fr 1fr;column-gap:20px;margin-bottom:35px}.intro .eyebrow{grid-column:1/-1}.intro h1{font-size:67px;grid-row:2/5;margin:18px 0 0}.intro-copy{margin:22px 0 12px;font-size:16px}.premise-note{margin:0 0 15px}.premise-note p{font-size:11px}.edition-note{gap:16px;padding:11px 0}.edition-note b{font-size:21px}.edition-note span{font-size:8px}.run-note{display:none}.continue-button{grid-column:1/-1;max-width:none}.portrait-wrap{height:180px}.portrait{height:230px;width:230px}.site-footer{display:block;line-height:1.8}.footer-right{margin-top:7px}.scene-subtitle{display:none}.arena-wrap{height:calc(100dvh - 225px);min-height:420px;border-radius:13px}.in-game{padding:0 10px}.in-game .site-header{height:66px}.boss-health{width:80%;bottom:84px}.upgrade-panel{padding:20px}.modal-panel h2{font-size:32px}}
@media(max-width:560px){.wordmark{font-size:14px;letter-spacing:-.5px}.brand-icon{width:29px;height:29px;margin-right:6px}.powered img{width:120px}.header-right{gap:7px}.header-right .icon-button{width:30px;height:30px}.intro{display:block}.intro .eyebrow{font-size:9px}.intro h1{font-size:72px;letter-spacing:-4px;margin:20px 0 25px}.intro-copy{margin:28px 0 16px}.premise-note{margin:0 0 20px}.edition-note{justify-content:space-between}.edition-note span{font-size:9px}.run-note{display:none}.characters{gap:9px}.card-top{font-size:8px;padding:12px 12px 0}.portrait-wrap{height:143px}.portrait{height:195px;width:195px}.character-info{padding:12px}.character-info h2{font-size:18px}.character-info p{font-size:11px}.character-power{font-size:9px}.section-label{font-size:9px;letter-spacing:1px}.scene-option{gap:5px;font-size:10px;padding:11px 5px}.scene-option svg{width:16px;height:16px}.loadout-picker{gap:5px}.loadout-picker button{padding:10px 7px}.loadout-picker strong{font-size:11px}.loadout-picker span{font-size:9px}.loadout-picker small{font-size:8px}.start-caption{font-size:9px}.arena-wrap{height:calc(100dvh - 228px);min-height:420px}.combo{top:92px;left:10px;font-size:11px}.scene-intro{padding:19px 21px;min-width:240px}.scene-intro strong{font-size:28px}.scene-intro span{font-size:8px}.scene-intro p{font-size:10px}.game-toast{top:90px;max-width:90%;width:85%;font-size:11px}.modal-shade{padding:12px;align-items:flex-start}.modal-panel{margin:auto 0;padding:23px 21px}.modal-panel h2{font-size:29px}.modal-panel p{font-size:12px}.upgrade-panel{padding:17px;margin:auto 0}.upgrade-panel h2{font-size:22px;margin:10px 0 5px}.upgrade-panel>p{font-size:10px;margin-bottom:13px}.upgrade-panel>small,.evolution-hint{font-size:9px}.boss-health{bottom:105px;width:92%;padding:10px}.boss-health b{font-size:11px}.boss-health small{font-size:9px}.power-slot{width:27px;height:27px}.power-slot canvas{width:25px;height:25px}.in-game .site-footer{font-size:8px}.in-game .footer-right{display:none}}
@media(prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}

.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}
/* Keep every line reachable in short windows, including full-screen laptop layouts. */
.modal-panel,.upgrade-panel{max-height:100%;overflow-y:auto;overscroll-behavior:contain}
/* Vol. 03: exploration, gear and choices with a visible cost. */
.inventory-button{display:flex;align-items:center;gap:6px;border:1px solid var(--line);border-radius:9px;padding:6px 9px;background:white;font:600 10px var(--body)}
.gear-card .gear-compare{display:block;padding-top:11px;margin-top:12px;border-top:1px solid var(--line);font-size:10px;line-height:1.5;color:var(--muted)}.tier-1{border:2px solid var(--blue)}.tier-2{border:2px solid var(--signal);background:#FFF5F0}.tier-2 .tag{color:var(--ink)}
.equipment-slots{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.equipped-card{padding:18px;text-align:left;background:white;border:1px solid var(--line);border-radius:13px;min-width:0}.equipped-card>small{display:block;font:700 9px var(--heading);color:var(--deep);letter-spacing:1px}.equipped-card canvas{display:block;margin:10px 0;width:64px;height:64px}.equipped-card h3{font:700 16px/1.3 var(--heading);margin:8px 0}.equipped-card p{font-size:12px;line-height:1.6;color:var(--muted)}.attack-rates{font-size:11px!important;line-height:1.7;margin-top:18px!important}.upgrade-panel .start-button{max-width:360px;margin:18px auto 0}
#sector{color:var(--deep);font-variant-numeric:tabular-nums}
@media(max-width:800px){.game-tools{gap:7px!important}#sector{font-size:9px}}
@media(max-width:560px){.game-topline{height:49px}.game-tools #phase-label{display:none}.game-tools #sector{display:none}.inventory-button{font-size:9px;padding:6px}.equipment-slots{grid-template-columns:1fr}.equipped-card{padding:12px 12px 12px 74px;position:relative;min-height:90px}.equipped-card canvas{position:absolute;left:10px;top:14px;width:48px;height:48px}.equipped-card h3{font-size:13px}.equipped-card p{font-size:10px;margin:5px 0}.gear-card .gear-compare{font-size:9px;margin-top:7px;padding-top:6px}}
/* v4: the permanent little corner of peace */
.mode-picker{display:grid;grid-template-columns:1fr 1fr;gap:10px}.mode-picker button{position:relative;text-align:left;padding:15px 17px;background:#fff;border:1.5px solid #DCE4EF;border-radius:13px;color:#0B1B33;cursor:pointer}.mode-picker button.selected{border-color:#0066FF;background:#F0F6FF;box-shadow:0 0 0 1px #0066FF}.mode-picker strong,.mode-picker span:not(.mode-icon){display:block}.mode-picker strong{font-family:'Plus Jakarta Sans',sans-serif;font-size:15px;margin-bottom:5px}.mode-picker span{font-size:11px;color:#52637A}.mode-picker .mode-icon{position:absolute;right:13px;top:12px;font-size:22px;color:#0066FF}.mode-description{font-size:11px;line-height:1.6;color:#52637A;margin:10px 0}.excel-start{border-left:3px solid #FF6B35;padding:10px 14px;background:#FFF6F1;border-radius:0 8px 8px;margin:12px 0 15px}.excel-start b,.excel-start span{display:block;font-size:11px;line-height:1.6}.excel-start span{color:#52637A}.profile-strip{display:flex;align-items:center;gap:12px;border:1px solid #DCE4EF;background:white;border-radius:14px;padding:14px;margin:25px 0 8px;max-width:470px}.profile-monogram{display:flex;align-items:center;justify-content:center;flex:none;background:#0066FF;color:#fff;border-radius:10px;width:42px;height:48px;font-size:28px}.profile-strip>div{flex:1;min-width:0}.profile-strip strong,.profile-strip span:not(.profile-monogram),.profile-strip small{display:block;overflow-wrap:anywhere}.profile-strip strong{font-size:14px}.profile-strip span:not(.profile-monogram){font-size:10px;margin-top:4px}.profile-strip small{font-size:9px;color:#52637A;margin-top:5px}.soft-button{border:1px solid #D1DCEC;border-radius:9px;background:#fff;color:#0B1B33;padding:10px 13px;font:600 12px Inter,sans-serif;cursor:pointer;text-align:center;text-decoration:none;transition:background .15s}.soft-button:hover{background:#EEF4FF}.soft-button.primary{background:#0066FF;border-color:#0066FF;color:#fff}.soft-button:disabled{opacity:.5;cursor:not-allowed}.lobby-links{display:flex;gap:18px;flex-wrap:wrap;margin:12px 0}.lobby-links button{border:0;background:none;padding:5px 0;font:600 11px Inter,sans-serif;color:#0052CC;cursor:pointer}.profile-modal{position:fixed;inset:0;z-index:1000;background:rgba(6,21,43,.66);backdrop-filter:blur(7px);padding:30px;display:flex;align-items:center;justify-content:center}.profile-dialog{width:min(940px,100%);max-height:calc(100dvh - 60px);background:#F8FAFD;border:1px solid #DCE4EF;border-radius:22px;box-shadow:0 30px 100px #06152B55;display:flex;flex-direction:column;overflow:hidden}.profile-dialog-top{display:flex;justify-content:space-between;align-items:center;padding:20px 28px;border-bottom:1px solid #E5EAF2;flex:none}.profile-dialog-top>span{font:800 12px 'Plus Jakarta Sans',sans-serif;letter-spacing:1.4px}.little-dot{display:inline-block;width:7px;height:7px;border-radius:50%;background:#FF6B35;margin-left:5px}.profile-tabs{display:flex;gap:4px;padding:13px 28px 0;overflow-x:auto;flex:none}.profile-tabs button{background:transparent;border:0;border-bottom:3px solid transparent;padding:12px 15px;font:600 12px Inter,sans-serif;white-space:nowrap;color:#52637A;cursor:pointer}.profile-tabs .selected{color:#0066FF;border-color:#0066FF}.profile-content{padding:28px;overflow:auto;overscroll-behavior:contain;min-height:280px}.profile-content h2{font:800 32px/1.15 'Plus Jakarta Sans',sans-serif;letter-spacing:-1.1px;margin:12px 0}.account-copy{font-size:12px;color:#52637A;line-height:1.7;margin-bottom:20px}.profile-form{display:flex;flex-wrap:wrap;gap:12px;align-items:end;margin:22px 0}.profile-form label,.auth-form label{display:flex;flex-direction:column;gap:7px;font:600 11px Inter,sans-serif}.profile-content input:not([type=checkbox]):not([type=file]),.profile-content select{font:500 12px Inter,sans-serif;border:1px solid #C3CBD8;background:#fff;color:#0B1B33;border-radius:8px;padding:11px 12px;min-width:0;max-width:100%}.profile-content input:focus,.profile-content select:focus{outline:2px solid #0066FF;outline-offset:2px}.profile-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin:24px 0}.profile-stats>div{background:white;border:1px solid #E1E8F1;border-radius:12px;padding:17px}.profile-stats b{display:block;font:800 25px 'Plus Jakarta Sans',sans-serif;color:#0066FF}.profile-stats span{display:block;font-size:10px;color:#52637A;margin-top:6px}.progress-note{border-left:3px solid #0066FF;padding:15px 18px;background:#EAF2FF;border-radius:0 10px 10px 0;margin-bottom:18px}.progress-note strong{font-size:13px}.progress-note p{font-size:12px;line-height:1.7;margin:7px 0 0}.filter-row{display:flex;gap:8px;flex-wrap:wrap;align-items:center;margin:20px 0}.stash-slots{display:grid;grid-template-columns:repeat(3,1fr);gap:13px;margin:18px 0}.stash-card{padding:18px;border:1px solid #BCD9FF;border-radius:13px;background:white}.stash-card.locked{background:#EDF0F5;border-style:dashed;border-color:#B4C0D1}.stash-card .tag,.achievement .tag{font:700 9px Inter,sans-serif;letter-spacing:.8px;color:#0066FF}.stash-card h3,.achievement h3{font:700 16px 'Plus Jakarta Sans',sans-serif;margin:10px 0}.stash-card p,.achievement p{font-size:11px;line-height:1.7;color:#52637A}.stash-card select{width:100%}.empty-state{padding:35px 25px;text-align:center;font-size:13px;line-height:1.8;background:#EEF4FF;color:#38516F;border:1px dashed #BCD9FF;border-radius:13px}.collection{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:20px}.collection-item{padding:14px 16px;border:1px solid #DEE6F0;background:white;border-radius:10px}.collection-item>*{display:block}.collection-item b{font-size:12px}.collection-item span{font-size:10px;color:#0066FF;margin:5px 0}.collection-item small{font-size:10px;line-height:1.6;color:#52637A}.achievement-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.achievement{padding:18px;border:1px solid #DEE6F0;background:white;border-radius:13px}.achievement.earned{border-color:#7CAEFF;background:#EDF4FF}.achievement progress{width:100%;height:5px;accent-color:#0066FF}.achievement small{display:block;font-size:10px;color:#52637A;margin-top:6px}.leaderboard-wrap{overflow-x:auto;border:1px solid #DEE6F0;border-radius:12px;background:white}.leaderboard-wrap table{border-collapse:collapse;width:100%;text-align:left;white-space:nowrap}.leaderboard-wrap th{font-size:9px;letter-spacing:.6px;background:#EEF4FF;padding:13px 14px;color:#52637A}.leaderboard-wrap td{padding:14px;font-size:12px;border-top:1px solid #EDF0F5}.leaderboard-wrap td b{display:block}.leaderboard-wrap td small{display:block;font-size:10px;margin-top:4px;color:#52637A}.leaderboard-wrap td:nth-child(3){font-weight:800;color:#0066FF}.auth-form{display:grid;grid-template-columns:1fr 1fr;gap:12px;max-width:600px;margin:20px 0}.auth-form button:last-child{grid-column:1/-1;justify-self:start;border:0;background:none}.google-button{min-width:230px;margin:5px 0}.account-feedback{font-size:12px;line-height:1.7;background:#FFF0E8;color:#763319;border-radius:9px;padding:12px 15px;white-space:pre-wrap}.account-feedback:empty{display:none}.check-label{display:flex;gap:9px;align-items:start;font-size:12px;line-height:1.6;margin:18px 0}.check-label input{accent-color:#0066FF}.profile-content>button{margin:4px 6px 8px 0}.profile-content hr{border:0;border-top:1px solid #DEE6F0;margin:22px 0}.file-button{position:relative;overflow:hidden}.file-button input{position:absolute;inset:0;opacity:0;cursor:pointer;width:100%}.profile-open{overflow:hidden}.result-progress{padding:12px 15px;border-radius:10px;background:#EEF4FF;text-align:left;margin:12px 0}.result-progress p{font-size:11px!important;line-height:1.8!important;margin:0!important}.crm-subtitle{display:block;font-size:11px;line-height:1.6;margin:7px 0;color:#0052CC}.crm-card>small{display:block;font-size:10px;line-height:1.6;margin-top:8px;color:#8E3A1C}.retire-button{font-size:11px;color:#52637A!important}.crm-panel{width:1040px}.profile-modal.hidden{display:none}
@media(max-width:900px){.intro .profile-strip,.intro .lobby-links,.intro #storage-warning{grid-column:1/-1;max-width:none}.profile-stats{grid-template-columns:1fr 1fr}.achievement-grid{grid-template-columns:1fr 1fr}.profile-content h2{font-size:26px}.profile-modal{padding:18px}.profile-dialog{max-height:calc(100dvh - 36px)}.profile-strip{margin-top:18px}}
@media(max-width:560px){.profile-modal{padding:8px}.profile-dialog{max-height:calc(100dvh - 16px);border-radius:15px}.profile-dialog-top{padding:14px 16px}.profile-dialog-top>span{font-size:10px}.profile-tabs{padding:4px 12px 0}.profile-tabs button{font-size:11px;padding:13px 10px}.profile-content{padding:19px 16px}.profile-content h2{font-size:25px}.stash-slots,.achievement-grid,.collection{grid-template-columns:1fr}.profile-strip{gap:9px;padding:12px}.profile-strip .soft-button{font-size:10px;padding:9px}.mode-picker button{padding:14px 10px}.mode-picker strong{font-size:13px}.mode-picker span{font-size:10px}.mode-icon{display:none}.lobby-links{justify-content:space-between;gap:5px}.auth-form{grid-template-columns:1fr}.crm-subtitle{font-size:10px;margin:5px 0}.crm-card>small{font-size:9px}.profile-form label{width:100%}}
.replace-run-dialog{border:1px solid #DCE4EF;border-radius:18px;background:#F8FAFD;color:#0B1B33;max-width:500px;padding:30px;width:calc(100% - 36px);box-shadow:0 20px 90px #06152B55}.replace-run-dialog::backdrop{background:#06152B99;backdrop-filter:blur(5px)}.replace-run-dialog h2{font:800 27px/1.2 'Plus Jakarta Sans',sans-serif;letter-spacing:-.8px}.replace-run-dialog p{font-size:13px;line-height:1.8;color:#52637A}
.crm-panel{padding:18px 24px}.crm-panel h2{font-size:28px;margin:8px 0}.crm-panel>p{margin-bottom:14px}.crm-panel .crm-subtitle{font-size:10px;margin:3px 0 7px}
@media(max-width:560px){.crm-panel{padding:16px}.crm-panel h2{font-size:22px}}

/* v5: readable choices and a shop that lives between runs. */
#upgrade-modal .upgrade-panel,#rescue-modal .upgrade-panel{max-height:100%;overflow:auto;padding:22px 28px}
#upgrade-modal .upgrade-panel h2,#rescue-modal .upgrade-panel h2{font-size:26px;margin:8px 0}
.shop-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin:22px 0}.shop-grid .stash-card{display:flex;flex-direction:column}.shop-grid .stash-card p{flex:1}.shop-grid button{margin-top:12px}.shop-grid button:disabled{opacity:.55;cursor:default}
.character-info h2{font-size:clamp(18px,2vw,27px)}
@media(max-width:760px){.shop-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.profile-tabs{overflow-x:auto;flex-wrap:nowrap}.profile-tabs button{white-space:nowrap}#upgrade-modal .upgrade-panel,#rescue-modal .upgrade-panel{padding:14px}}
@media(max-width:480px){.shop-grid{grid-template-columns:1fr}}

/* v6: visible chapter progress and boss rewards. */
.wave-status{display:flex;justify-content:space-between;align-items:center;gap:10px;margin:0 0 9px;padding:9px 13px;border:1px solid #DCE4EF;border-radius:10px;background:#fff;color:#0B1B33;font-size:10px;line-height:1.5}.wave-status strong{font-weight:800;color:#0052CC}.wave-status span{color:#52637A;text-align:right}.in-game .arena-wrap{height:calc(100dvh - 282px)}.scene-intro p{max-width:440px;line-height:1.6}.boss-reward-panel{width:min(1000px,100%);padding:22px 28px}.defeated-boss{display:block;color:#0052CC;font-size:13px;margin:8px 0 12px}.boss-reward-panel>p{line-height:1.6}.boss-skill-card{border-color:#0066FF;background:#F0F6FF}.boss-skill-card .tag{color:#0052CC}.next-wave-note{background:#06152B;color:#fff!important;padding:13px 16px;border-radius:10px;font-size:11px!important;text-align:left;margin:16px 0 12px!important}.power-slot.boss-power{border-color:#FF6B35;background:#FFF0E8}.power-slot.boss-power span{background:#FF6B35;color:#06152B}
@media(max-width:700px){.wave-status{font-size:9px;padding:6px 10px}.wave-status span{max-width:45%}.in-game .arena-wrap{height:calc(100dvh - 271px)}.boss-reward-panel{padding:16px}.next-wave-note{font-size:10px!important;padding:9px 11px}.defeated-boss{font-size:11px}}


.in-game .arena-wrap:fullscreen{height:100dvh;max-height:none;min-height:0}



.power-slot.technique-power.charged{background:#FFE0CE;border-color:#D65120;box-shadow:0 0 0 2px #FF6B3544}
