/* Motion follows the editorial hierarchy; controls keep stable hit areas. */
.guide-block h2{font-family:var(--font-ui);font-size:27px;font-weight:600;letter-spacing:-.04em;line-height:1.45}
.detail-description h3,.home-features h3,.post-card h3{font-family:var(--font-ui);font-weight:600;letter-spacing:-.035em;line-height:1.45}
.detail-description p,.guide-block p,.description-dialog-body{word-break:keep-all;overflow-wrap:anywhere}
.proof-options span{line-height:1.55;word-break:keep-all}
.proof-poster,.detail-art>button{box-shadow:0 12px 28px #174d3c12}
.detail-description{padding-top:4px;border-top:1px solid #b8d1c5}
.detail-description>span{display:block;margin-top:14px}
.proof-options button{border-radius:5px}.proof-options img{border-radius:2px}
.post-card{border-radius:10px;box-shadow:none;transition:border-color .25s,box-shadow .25s}
.post-card:hover,.post-card:focus-visible{border-color:#77a99b;box-shadow:0 8px 22px #143c3210}
.text-link{text-decoration-thickness:1px;text-underline-offset:5px}
.button:active:not(:disabled){transform:translateY(0);filter:brightness(.96)}
.detail-art>button:focus-visible,.proof-poster:focus-visible{outline:2px solid #098b82;outline-offset:6px}
@media(prefers-reduced-motion:no-preference){
 .scroll-reveal{translate:0 calc((1 - var(--enter,1)) * 48px);opacity:var(--enter,1)}
 .motion-strip>div{animation-duration:23s}
 .motion-live .community-star{animation:polish-star 5.5s ease-in-out infinite}
 .motion-live .community-orbit{animation:polish-orbit 14s ease-in-out infinite}
 .motion-live .finale-orbit{animation:polish-final-orbit 12s ease-in-out infinite}
 .motion-live .story-signature img{animation:polish-mascot 4.2s ease-in-out infinite}
 .motion-live .finale-sticker{animation:finale-sticker-drift 4.8s ease-in-out infinite}
 .motion-live .community-sticker{animation:community-sticker-float 4.5s ease-in-out infinite}
 .look-card img{transition:scale .65s cubic-bezier(.2,.7,.2,1),filter .3s}
 .look-card:hover img,.look-card:focus-visible img{scale:1.035}
 .look-card{overflow:hidden}
 .proof-poster img,.detail-art>button img{transition:scale .6s cubic-bezier(.2,.7,.2,1),filter .3s}
 .proof-poster:hover img,.detail-art>button:hover img{scale:1.025}
 .detail-picker .detail-options>button{transition:transform .58s cubic-bezier(.16,1,.3,1),opacity .4s,background .3s,box-shadow .3s}
 .detail-picker-head>span:last-child span{display:inline-block;animation:scroll-nudge 1.8s ease-in-out infinite}
 .topbar nav a{position:relative;border-bottom-color:transparent}
 .topbar nav a:after{content:'';position:absolute;bottom:0;left:0;right:0;height:2px;background:currentColor;scale:0 1;transform-origin:left;transition:scale .35s}
 .topbar nav a:hover:after,.topbar nav a.active:after{scale:1 1}
 @keyframes polish-star{0%,100%{transform:translateY(0) rotate(12deg)}50%{transform:translateY(-18px) rotate(38deg)}}
 @keyframes polish-orbit{0%,100%{transform:rotate(-22deg) scale(1)}50%{transform:rotate(-12deg) scale(1.06)}}
 @keyframes polish-final-orbit{0%,100%{transform:rotate(-20deg) scaleX(1.25)}50%{transform:rotate(14deg) scaleX(1.12)}}
 @keyframes polish-mascot{0%,100%{transform:translateY(0) rotate(-3deg)}50%{transform:translateY(-7px) rotate(5deg)}}
}
@media(max-width:720px){.scroll-reveal{translate:0 calc((1 - var(--enter,1)) * 24px)}}
@media(prefers-reduced-motion:reduce){.scroll-reveal{translate:none;opacity:1}.post-card{transition:none}}
