@keyframes ab-cta-quiet{0%,91%,100%{transform:translateY(0);filter:brightness(1)}94%{transform:translateY(-1px);filter:brightness(1.1)}97%{transform:translateY(0);filter:brightness(1)}}
@keyframes ab-shine-quiet{0%,88%{background-position:140% 0}98%,100%{background-position:-60% 0}}
button:focus-visible,a:focus-visible{outline:2px solid #f6e3b8;outline-offset:4px}
.statue-hall{margin:0 0 20px;position:relative;isolation:isolate;overflow:hidden;background:#02070c;border:1px solid #6a624e}
.statue-hall>img{display:block;width:100%;height:auto}
.statue-regions{position:absolute;inset:0 0 10%}
.statue-target{position:absolute;top:20%;height:73%;padding:0;border:0;background:transparent;color:#f7efdc;cursor:pointer;overflow:visible}
.statue-target:focus-visible{outline-offset:-4px}
.statue-label{position:absolute;bottom:0;left:0;right:0;font-size:12px;line-height:1.4;text-align:center;padding:7px 2px;opacity:0;transition:opacity .25s;background:linear-gradient(transparent,rgba(2,6,11,.95));text-shadow:0 2px 5px #000}
.statue-target:hover .statue-label,.statue-target:focus-visible .statue-label{opacity:1}
.statue-relief{position:absolute;inset:0;background-image:url('assets/art/hall.jpg');background-size:600% 152.207%;background-position:calc(var(--slot)*20%) 52.478%;mask-image:radial-gradient(ellipse at 50% 52%,#000 25%,transparent 72%);filter:brightness(1.12);opacity:0;transition:opacity .45s}
.statue-target:hover .statue-relief,.statue-target:focus-visible .statue-relief{opacity:1;animation:stone-stir 1.3s ease-out 1}
@keyframes stone-stir{0%,100%{transform:translate(0)}22%{transform:translate(.7px,-.6px)}45%{transform:translate(-.5px,.3px)}70%{transform:translate(.3px,-.2px)}}
.stone-crack{position:absolute;left:26%;top:6%;width:48%;height:78%;fill:none;stroke:#d8d5c8;stroke-width:.65;opacity:0;filter:drop-shadow(1px 1px 1px #121715);stroke-dasharray:270;stroke-dashoffset:270;transition:stroke-dashoffset .85s ease-out,opacity .5s}
.statue-target:hover .stone-crack,.statue-target:focus-visible .stone-crack{stroke-dashoffset:0;opacity:.48}
.stone-dust{position:absolute;pointer-events:none;background:#c2bdae;box-shadow:0 0 3px #e3ddc449;clip-path:polygon(0 10%,80% 0,100% 70%,25% 100%)}
.statue-hall figcaption{position:absolute;bottom:0;left:0;right:0;display:flex;flex-wrap:wrap;justify-content:space-between;gap:8px;padding:16px 22px;background:linear-gradient(transparent,rgba(3,10,17,.96));pointer-events:none;color:#e9d7ad;font-size:12px}
.statue-hall figcaption>span:first-child{font-family:'Noto Serif KR',serif;font-size:18px;font-weight:900;color:#f7efdc}
.race-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:10px;align-items:stretch}
.race-card{min-width:0;display:grid;grid-template-rows:auto 1fr;padding:0;text-align:left;font:inherit;color:inherit;cursor:pointer;background:linear-gradient(#0c1d2b,#050f18);border:1px solid #645e4a;transition:border-color .25s,background .25s}
.race-card:hover{border-color:#d8b871;background:#102331}
.race-portrait{display:block;position:relative;aspect-ratio:2/3;overflow:hidden;background:#07131d}
.race-portrait img{width:100%;height:100%;display:block;object-fit:contain;object-position:50% 100%;transition:filter .3s}
.race-card:hover img{filter:brightness(1.08)}
.race-number{position:absolute;top:0;left:0;background:#050f18cc;color:#d8b871;font:11px 'Cinzel',serif;padding:6px 8px}
.race-info{padding:14px 12px;display:grid;grid-template-rows:28px 50px 1fr auto;gap:4px;border-top:1px solid #645e4a}
.race-en{font:700 10px/1.4 'Cinzel',serif;text-transform:uppercase;letter-spacing:.12em;color:#d8b871}
.race-name{font:900 16px/1.4 'Noto Serif KR',serif;color:#fff}
.race-copy{font-size:12px;line-height:1.7;color:#b5c5ce}
.race-more{display:flex;justify-content:space-between;margin-top:16px;font-size:11px;line-height:1.6;color:#e4cb91}
.character-dialog>figure{max-height:calc(100dvh - 32px);overflow-y:auto;overscroll-behavior:contain}
.character-dialog>figure>img{max-height:52vh!important}
.character-dialog video{max-height:48vh!important}
.character-story,.character-detail{display:block;font-size:14px;line-height:1.8;color:#c9d6df;max-width:78ch}
.character-detail{margin-top:12px;padding-top:12px;border-top:1px solid #d8b87140;color:#e7d3a4}
#awaken [role=tab] img{aspect-ratio:2/3!important;max-height:150px;object-fit:contain!important;object-position:center!important}
@media(min-width:1000px){.character-dialog>figure:has(.character-detail){width:min(1040px,100%)!important;display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr)}.character-dialog>figure:has(.character-detail)>img{height:76vh!important;max-height:76vh!important}.character-dialog>figure:has(.character-detail)>video{height:70vh;max-height:70vh!important;object-fit:contain}.character-dialog>figure:has(.character-detail)>figcaption{align-content:center;align-items:start!important;padding:40px!important}.character-dialog figcaption button{margin-top:16px}}
@media(max-width:960px){.race-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.race-info{grid-template-rows:20px 46px 1fr auto}}
@media(max-width:600px){.race-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.statue-hall{margin-left:-8px;margin-right:-8px}.statue-hall figcaption{padding:8px 10px;font-size:9px;gap:2px}.statue-hall figcaption>span:first-child{font-size:12px}.statue-label{font-size:9px}.race-info{padding:12px}.character-dialog figcaption{padding:16px!important}.character-dialog>figure>img{max-height:38vh!important}.character-dialog video{max-height:35vh!important}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;scroll-behavior:auto!important}.stone-crack{transition:none}.stone-dust{display:none}.statue-relief{transition:none}}
