/* Premium refinement of the frozen 2026-10-03 public baseline.
   Palette, fonts, section order, grid and hierarchy are intentionally retained. */
:root{--ease-polish:cubic-bezier(.22,.68,.2,1)}
.header nav a:after{transition:transform .4s var(--ease-polish);transform-origin:left}
.header-cta span,.text-link span,.board-open span,footer>a:last-of-type{transition:transform .35s var(--ease-polish),color .35s}
.header-cta:hover span,.text-link:hover span,.board-open:hover span{transform:translate(2px,-2px)}
.button{transition:background .4s var(--ease-polish),color .4s,border-color .4s}
.button:active,.chapter-arrows button:active,.survivor-next button:active,.dossier-arrows button:active{transform:scale(.96)}
.chapter-arrows button,.survivor-next button,.dossier-arrows button,.route-navigation button,.dialog-head button{transition:background .3s,color .3s,border-color .3s,transform .3s var(--ease-polish)}
.chapter-tabs button{transition:color .3s,background .35s,border-color .35s}
.chapter-tabs button:not([aria-selected=true]):hover{background:#bd4b3410}
.chapter-switch button{transition:color .3s,background .3s}
.chapter-switch button:not(.selected):hover{color:var(--red)}
.chapter-info{transition:background .65s var(--ease-polish)}
.chapter-stage.switching .chapter-visual>img{opacity:0;transform:translateY(7px) scale(.99)}
.chapter-visual>img{transition:opacity .3s var(--ease-polish),transform .6s var(--ease-polish)}
.survivor-portrait{background:radial-gradient(ellipse at 50% 55%,#26312d,transparent 70%),#141a1b}
.survivor-portrait img{height:87%;width:auto;max-width:82%;mix-blend-mode:lighten;filter:none;transition:opacity .2s,transform .65s var(--ease-polish)}
.survivor-portrait.switching img{opacity:0;transform:translate3d(0,8px,0)}
.survivor-roster{overscroll-behavior-x:contain;scroll-padding-inline:8px}
.survivor-roster button{transition:background .35s,border-color .35s,box-shadow .35s}
.survivor-roster img{width:100%;height:100px;object-fit:contain;mix-blend-mode:lighten;transition:transform .4s var(--ease-polish),opacity .4s}
.survivor-roster button:hover img,.survivor-roster button:focus-visible img{transform:translateY(-3px)}
.survivor-roster button[aria-pressed=true]{box-shadow:inset 0 0 0 1px #e8e3d712}
.equipment-art{isolation:isolate;background:radial-gradient(ellipse at 52% 50%,#f6f2e540,transparent 60%)}
.equipment-art>img{width:min(78%,420px);height:80%;object-fit:contain;object-position:center;transform:perspective(1000px) rotateY(var(--tilt-y,0deg)) rotateX(var(--tilt-x,0deg)) rotate(var(--object-angle,-5deg)) translate3d(var(--depth-x,0px),var(--depth-y,0px),0);filter:drop-shadow(8px 15px 8px #353c322b);transition:opacity .22s,transform .65s var(--ease-polish)}
.equipment-art[data-slot=accessory],.equipment-art[data-slot=shoes]{--object-angle:0deg}
.equipment-art.switching img{opacity:0;transform:translate3d(0,8px,0) scale(.98)}
.equipment-watermark{opacity:.65;pointer-events:none}
.equipment-baseline{bottom:42px;opacity:.65}
.equipment-selector button{display:flex;flex-direction:column;align-items:flex-start;justify-content:flex-end;transition:background .4s,border-color .4s}
.equipment-selector img{width:100%;height:85px;object-fit:contain;margin-bottom:12px;transition:transform .4s var(--ease-polish);filter:drop-shadow(2px 4px 2px #353c3219)}
.equipment-selector button span{min-height:30px;line-height:1.4;display:block}
.equipment-selector button:hover img,.equipment-selector button:focus-visible img{transform:translateY(-3px)}
.art-focus button:hover span,.art-focus button:focus-visible span{transform:translateY(0)}
.dossier-creature-art img{width:90%;height:90%;object-fit:contain;mix-blend-mode:normal}
.dossier-creature-art .signal-ripple,.survivor-portrait .signal-ripple{animation:none;opacity:.35}
.dialog-images img{border:1px solid #48504d35}
.creature-hint button{transition:color .3s}
.creature-hint button:hover{color:var(--red)}
.chapter-visual:not(.field)>img{object-fit:contain;object-position:center}
.hero-art>img{object-fit:contain}
.hero-art{background:#141a1b}
.chapter-visual::after{inset:80% 0 0}
#art-dialog[open],#dossier-dialog[open]{animation:polish-dialog .32s var(--ease-polish)}
dialog[open]::backdrop{animation:polish-backdrop .3s}
@keyframes polish-dialog{from{opacity:0;transform:translateY(9px) scale(.99)}to{opacity:1;transform:none}}
@keyframes polish-backdrop{from{opacity:0}to{opacity:1}}
@media(max-width:760px){
 .survivor-portrait img{height:85%;max-width:78%}
 .equipment-art>img{width:78%;height:82%}
 .equipment-selector img{height:72px;margin-bottom:9px}
 .equipment-selector button{flex-basis:125px}
 .equipment-selector button span{min-height:26px}
 .dossier-creature-art img{max-height:300px}
 .hero-art>img{object-fit:contain}
 .art-focus button span{overflow-wrap:anywhere}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}}
body.motion-paused *,body.motion-paused *::before,body.motion-paused *::after{animation:none!important;transition:none!important}
body.motion-paused .equipment-art>img{transform:rotate(var(--object-angle,-5deg))}
