/* Pixel-art atlas: 4 columns x 2 rows. Starter tiers have no rarity aura. */
[hidden]{display:none!important}
.pixel-sprite{display:block;width:100px;height:100px;flex:none;background-repeat:no-repeat;background-position:var(--sprite-x) var(--sprite-y);image-rendering:pixelated}
.atlas-new{background-image:url('assets/characters-v2.png');background-size:400% 200%}
.atlas-legacy{background-image:url('assets/hunters.png');background-size:400% 300%}
.pixel-sprite.portrait{width:48px;height:48px;border:0;background-color:transparent;border-radius:0}
.fighter .pixel-sprite{width:100%;height:auto;aspect-ratio:1}.fighter{width:clamp(58px,8vw,110px)}
.team-stage{position:absolute;left:0;right:0;bottom:112px;height:auto;gap:clamp(4px,2vw,24px);align-items:end;padding:0 12px}.fighter small{display:block;color:#e5dec4;font:8px Inter,sans-serif;margin-top:5px}.fighter>.mini-hp{max-width:80px;margin:5px auto 0}
.enemy-silhouette{font-size:initial;color:initial;text-shadow:none;filter:none;min-height:150px}
.enemy-art{width:clamp(135px,17vw,200px);height:auto;aspect-ratio:1}
.enemy-zone{height:48%;justify-content:center}.enemy-info{width:min(270px,70%)}
.shadow-preview{width:160px;height:160px;margin:0 auto}.shadow-fighter{max-width:85px}
.fallen{opacity:.35;filter:grayscale(1)}
.attacking{animation:attack-step .24s ease-out}.healing{animation:heal-step .3s ease-out}
@keyframes attack-step{50%{transform:translateY(-7px) translateX(5px)}}
@keyframes heal-step{50%{transform:translateY(-5px)}}
.rank{font-style:normal}.rank-c,.rank-d,.rank-e,.rank-f{color:#c9c3b3}.rank-b{color:#9dca9f}.rank-a{color:#8bc6ff}.rank-s{color:#ffdd72}.rank-ss{color:#cca8ff}.rank-sss{color:#ffafd3}
/* Advanced-tier effects are presentation only. SS/SSS remain outside the MVP. */
.rarity-a{filter:drop-shadow(0 0 3px #649ce066)}
.rarity-s{filter:drop-shadow(0 0 5px #e0bc5a88)}
.rarity-ss{filter:drop-shadow(0 0 7px #aa7bea99)}
.rarity-sss{filter:drop-shadow(0 0 9px #e97fb3aa)}
.locked{opacity:.6}.locked .pixel-sprite{filter:grayscale(.4)}
.squad-panel .primary,.squad-panel .secondary{margin-top:10px}
.toggle-row{display:flex;align-items:center;gap:8px;line-height:1.5;margin:12px 0;font-size:10px;text-transform:none;color:#ede5ce}.toggle-row input{accent-color:#f7c43f;width:16px;height:16px;flex:none}
.blessing{display:block}.blessing span{display:block;font-size:9px;margin-top:5px;line-height:1.5}
.upgrade-grid{display:grid;gap:12px;max-height:60vh;overflow:auto;margin-top:20px}
.upgrade-card{display:grid;grid-template-columns:48px 1fr;align-items:center;gap:12px;padding:14px;border:1px solid #746035;background:#162317}
.upgrade-card small{display:block;color:#b4ad91;font-size:10px;margin-top:6px}.upgrade-card button{grid-column:1/-1;min-height:42px}
.notice{margin:8px 0 0;font-size:12px;line-height:1.5;color:#ffdd72;min-height:20px}
button:disabled{opacity:.5;cursor:not-allowed}.formation-pick:disabled{cursor:default}
button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:2px solid #ffdd72;outline-offset:3px}
.arena{min-height:480px;height:calc(100dvh - 210px)}.compact-drawer{background:#172318;z-index:40}
.fighter span:not(.pixel-sprite){font-size:9px}.combat-feed{font-size:11px;bottom:70px;line-height:1.5}
@media(max-width:800px){.brand{min-width:120px}.brand b{font-size:16px;letter-spacing:3px}.resources{gap:7px;font-size:10px}.resources b{margin-left:3px}.chapter-bar h1{font-size:15px}.chapter-progress{width:120px}.arena{height:calc(100dvh - 250px);min-height:480px}.arena-head{padding:12px}.enemy-zone{height:49%}.team-stage{height:auto}.fighter{width:clamp(51px,14vw,85px)}.enemy-art{width:145px}.compact-drawer{max-width:calc(100vw - 20px)}.progress-strip div:first-child{min-width:100%}.modal-card{padding:28px 18px}.arena-actions button{min-height:36px}.battle-controls .primary{width:160px;min-height:40px}.speed{min-height:40px}.formation-grid{max-height:50vh}.unit-row b{font-size:12px}}
@media(prefers-reduced-motion:reduce){.attacking,.healing{animation:none}*,*::before,*::after{scroll-behavior:auto!important;transition:none!important}}

.profile-btn b{max-width:140px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}

.journey-nav{display:flex;gap:8px;align-items:center;margin-bottom:12px;flex-wrap:wrap}
.journey-nav button{min-height:42px;padding:10px 14px;border:1px solid #806839;background:#142317;color:#fff8dc;font-size:10px;font-weight:700;cursor:pointer}
.journey-nav button.active{border-color:#ffdd72;color:#ffdd72;background:#313520}
.journey-nav span{font-size:10px;color:#b4ad91;margin-left:auto}
.chapter-copy{min-width:0;max-width:65%}.chapter-copy h1{overflow-wrap:anywhere}.chapter-copy p{font:11px Inter,sans-serif;color:#b4ad91;line-height:1.4;margin:5px 0 0;max-width:620px}
.ticks.tower-ticks{grid-template-columns:repeat(10,1fr)}
.story-list{display:grid;gap:12px;margin:16px 0;max-height:55vh;overflow:auto}
.story-card{padding:14px;border:1px solid #806839;background:#172318}.story-card small{color:#ffdd72;font-size:9px}.story-card h3{font:18px Gameplay,Inter,sans-serif;margin:8px 0}.story-card p{font-size:11px;color:#b4ad91;line-height:1.5}.story-card button{min-height:42px}
.story-prose{font:14px/1.85 Inter,sans-serif;color:#fff8dc;max-height:45vh;overflow:auto}
.floor-grid{display:grid;grid-template-columns:repeat(8,minmax(0,1fr));gap:7px;margin:18px 0;max-height:55vh;overflow:auto}
.floor{min-height:48px;background:#172318;border:1px solid #806839;color:#fff8dc;font-size:13px;cursor:pointer}.floor span{display:block;font-size:6px;margin-top:4px}.floor.conquered{border-color:#4c9a55;background:#1b3823}.floor.floor-boss{border-color:#dcac56}
.rank-requirements{grid-column:1/-1;font-size:11px;line-height:1.5}.rank-requirements small{line-height:1.5}
#arena[data-theme="lantern"]{background-image:linear-gradient(140deg,#14384866,#11132466),url('assets/arena.png')}
#arena[data-theme="forge"]{background-image:linear-gradient(140deg,#73351d88,#25151155),url('assets/arena.png')}
#arena[data-theme="wall"]{background-image:linear-gradient(140deg,#46504e88,#1a211b55),url('assets/arena.png')}
#arena[data-theme="void"],#arena[data-theme="tower"]{background-image:linear-gradient(140deg,#3f245788,#12102266),url('assets/arena.png')}
@media(max-width:800px){.journey-nav{gap:6px}.journey-nav button{padding:8px 10px;font-size:8px}.journey-nav span{width:100%;margin:2px 0}.chapter-copy{max-width:62%}.chapter-copy h1{font-size:15px}.chapter-copy p{font-size:10px}.chapter-progress{width:110px;flex-shrink:0}.floor-grid{grid-template-columns:repeat(5,minmax(0,1fr))}.arena{height:calc(100dvh - 350px);min-height:490px}}
