.atlas-traveller>.sprite,.atlas-peer>.sprite{transform:scaleX(var(--facing,1));transform-origin:center;transition:none}
.roster-notice{font-size:1rem;line-height:1.6;padding:14px 18px;border-radius:12px;background:#e7f3fc;color:#315675;margin-bottom:24px}
.character-roster{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.roster-character{position:relative;min-width:0;display:flex;flex-direction:column;align-items:center;padding:22px;border:1px solid #cbdce8;border-radius:18px;background:radial-gradient(ellipse at 50% 30%,#e3f2ff,transparent 65%),#fff;box-shadow:0 5px 18px #31567508}
.roster-character.active{border:2px solid #dfb448;background:radial-gradient(ellipse at 50% 30%,#fff0bd,transparent 65%),#fffdf6}
.roster-status{align-self:flex-start;min-height:30px}
.roster-character>.roster-art{display:block;width:100%;height:186px;object-fit:contain;filter:none;margin:8px 0 20px}
.roster-info{text-align:center;min-width:0;width:100%;margin-bottom:20px}
.roster-info h2{font-size:1.4rem;overflow-wrap:anywhere;color:#253f60}
.roster-info p{font-size:1rem;line-height:1.5;color:#486380;margin:6px 0}
.roster-info small{font-size:.875rem;color:#61738a}
.roster-character .btn{margin-top:auto;min-height:44px}
.roster-new{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:28px 22px;min-height:230px;border:2px dashed #b3cddf;border-radius:18px;background:#f1f8fd}
.roster-new p{font-size:.875rem;text-align:center;line-height:1.6;margin-top:12px;color:#61738a}
.creation-back{margin-bottom:18px}
@media(max-width:1000px){.character-roster{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:540px){.character-roster{grid-template-columns:1fr;gap:14px}.roster-character{display:grid;grid-template-columns:90px minmax(0,1fr);gap:8px 16px;padding:18px;text-align:left}.roster-status{grid-column:2;grid-row:1}.roster-character>.roster-art{grid-column:1;grid-row:1/4;height:130px;margin:0}.roster-info{grid-column:2;grid-row:2;text-align:left;margin:0}.roster-info h2{font-size:1.25rem}.roster-character>.btn{grid-column:1/-1;margin-top:10px}.roster-new{min-height:145px}}
.local-player{min-width:0;min-height:92px;overflow:visible;gap:12px}
.local-player:disabled{opacity:1;cursor:default}
.local-player .local-avatar{position:relative;display:block;width:58px;min-width:58px;height:68px;overflow:visible;background:none;border:none}
.local-avatar .unit-art{position:relative;width:100%;height:100%}
.local-avatar .unit-art>.sprite{width:100%;height:100%;object-fit:contain;filter:none}
.local-avatar .unit-floats{position:absolute;inset:0;pointer-events:none;z-index:4}
.local-player .local-info{min-width:0;flex:1;white-space:normal;overflow-wrap:anywhere}
.local-player .local-info strong{font-size:.875rem}
.nearby-foe{position:relative;display:block;flex-shrink:0;width:48px;height:58px}
.nearby-foe>.sprite{width:100%;height:100%;object-fit:contain;filter:none}
.nearby-impact{position:absolute;left:25%;top:35%;width:24px;height:24px;border:2px solid #ffd776;border-radius:50%;box-shadow:0 0 8px #fff0b9;animation:nearby-hit .6s ease-out both}
.nearby-impact[hidden]{display:none}
@keyframes nearby-hit{from{transform:scale(.4);opacity:1}to{transform:scale(1.35);opacity:0}}
@media(prefers-reduced-motion:reduce){.nearby-impact{animation:none;display:none}}

.ascension-choices article>.ascension-outfit{display:block;height:180px;width:100%;object-fit:contain;filter:none;margin:8px auto 18px}
@media(max-width:540px){.ascension-choices article>.ascension-outfit{height:145px}}
@media(max-width:420px){.ascension-choices article{grid-template-columns:96px minmax(0,1fr);align-items:center}.ascension-choices article>.ascension-outfit{grid-row:1/3;width:96px;height:112px;margin:0}.ascension-choices h3{align-self:end}.ascension-choices small{align-self:start}}
