.result{animation:none}
/* Short, finite transitions: input remains usable throughout. */
@media(prefers-reduced-motion:no-preference){
 tbody tr.new-guess th{animation:clue-name-reveal 480ms ease-out both}
 tbody tr.new-guess td{animation:clue-value-reveal 720ms cubic-bezier(.2,.7,.2,1) both;transform-origin:center}
 tbody tr.new-guess td:nth-child(2){animation-delay:70ms}
 tbody tr.new-guess td:nth-child(3){animation-delay:160ms}
 tbody tr.new-guess td:nth-child(4){animation-delay:250ms}
 tbody tr.new-guess td:nth-child(5){animation-delay:340ms}
 tbody tr.new-guess td:nth-child(6){animation-delay:430ms}
 tbody tr.new-guess td:nth-child(7){animation-delay:520ms}
 dialog[open]:not(#house-dialog):not(#profile-dialog){animation:menu-reveal 200ms cubic-bezier(.2,.7,.2,1) both}
 dialog[open]::backdrop{animation:backdrop-reveal 180ms ease-out both}
 #suggestions:not([hidden]){animation:suggestion-reveal 140ms ease-out}
 .mode-switch button,.game-selector button,.part-filter{transition:color 160ms ease-out,background-color 160ms ease-out,border-color 160ms ease-out}
 .pixel-guesses li{animation:none}
 .pixel-guesses li.new-pixel-guess{animation:clue-name-reveal 560ms ease-out both}
 .image-frame{transition:opacity 180ms ease-out}
 .image-frame img.reveal{animation:pixel-image-reveal 320ms ease-out}
 @keyframes clue-name-reveal{from{opacity:.2;transform:translateY(4px)}to{opacity:1}}
 @keyframes clue-value-reveal{from{opacity:0;transform:translateY(12px) scale(.96)}to{opacity:1;transform:translateY(0) scale(1)}}
 @keyframes menu-reveal{from{opacity:0;translate:0 10px}to{opacity:1;translate:0 0}}
 @keyframes backdrop-reveal{from{opacity:0}to{opacity:1}}
 @keyframes suggestion-reveal{from{opacity:.3;translate:0 -4px}to{opacity:1;translate:0 0}}
 @keyframes pixel-image-reveal{from{opacity:.35;transform:scale(1.035)}to{opacity:1;transform:scale(1)}}
}
.motion-spark{position:fixed;width:9px;height:3px;background:var(--accent,#9462b1);pointer-events:none;z-index:10000;transform-origin:center}
.image-frame{position:relative}
.motion-pixels{position:absolute;inset:0;display:grid;grid-template-columns:repeat(6,1fr);grid-template-rows:repeat(6,1fr);pointer-events:none;overflow:hidden;z-index:2}
.motion-pixels i{background:var(--accent,#9462b1)}
#profile-preview .player-identity{transition:transform 160ms ease-out;transform-origin:center}
@media(prefers-reduced-motion:reduce){.motion-spark,.motion-pixels{display:none}#profile-preview .player-identity{transition:none;transform:none!important}}

/* navigation.js paints live placeholders across documents. Native document
   snapshots freeze their sheen and can abort while a destination sheet loads. */
@view-transition{navigation:none}
.brand .brand-stand{display:none;width:30px;height:34px;object-fit:contain}
html[data-game="stands"] .brand .brand-character{display:none}
html[data-game="stands"] .brand .brand-stand{display:inline-block}
.brand .brand-pixel{width:28px;height:28px;image-rendering:pixelated;flex-shrink:0}

.brand-user{width:76px;height:32px;object-fit:contain;vertical-align:middle}.mode-loading .game{opacity:.72;transition:opacity 120ms ease-out}.mode-loading .game-selector{cursor:progress}@media(prefers-reduced-motion:reduce){.mode-loading .game{transition:none}}

.pixel-layout{transition:opacity 140ms ease-out}.pixel-layout[aria-busy="true"]{opacity:.75}@media(prefers-reduced-motion:reduce){.pixel-layout{transition:none}}
