/* One motion language: deliberate rhythm, luminous geometry, readable information. */
:root { --wt-ease-out: cubic-bezier(.16,1,.3,1); --wt-motion-fast: 180ms; }
body.wt-refresh :is(button,.btn,.mode-card,.starter-choice,.section-toggle) {
    transition-property: transform, background-color, border-color, color, box-shadow, opacity;
    transition-duration: 180ms;
    transition-timing-function: var(--wt-ease-out);
    -webkit-tap-highlight-color: transparent;
}
body.wt-refresh :is(button,.btn):active:not(:disabled) { transform: translateY(1px) scale(.985); }
body.wt-refresh :is(button,.btn):focus-visible { outline: 2px solid #f4d88e; outline-offset: 4px; }
body.wt-refresh :is(.card-entering,.card-flip-away,.card-flip-away-reverse,.premium-reveal-shake) { animation: none !important; }
body.wt-refresh .secret-card.wt-motion-flipping,.wt-premium-preview-card.wt-motion-flipping { animation: none !important; backface-visibility: hidden; -webkit-backface-visibility: hidden; transform-origin: center; will-change: transform, opacity; }
body.wt-refresh .secret-card.wt-motion-flipping[data-card-turn="seal"],.wt-premium-preview-card.wt-motion-flipping[data-card-turn="seal"] { transform-origin: 0% 50%; }
.wt-card-turn-light { position: absolute !important; inset: -12% !important; z-index: 4 !important; display: block; pointer-events: none; border: 0; opacity: .12; background: linear-gradient(115deg,transparent 30%,rgba(255,240,193,.06) 39%,rgba(255,240,193,.58) 48%,rgba(255,240,193,.06) 57%,transparent 66%); animation: wt-card-light 950ms var(--wt-ease-out) both; }
[data-card-turn="sparks"]>.wt-card-turn-light { background: linear-gradient(145deg,transparent 33%,rgba(151,230,255,.09) 43%,rgba(206,250,255,.52) 48%,transparent 58%); animation-duration: 760ms; }
[data-card-turn="smoke"]>.wt-card-turn-light { background: linear-gradient(0deg,transparent 25%,rgba(206,183,255,.12) 40%,rgba(225,216,255,.42) 49%,transparent 64%); animation-duration: 1050ms; }
[data-card-turn="seal"]>.wt-card-turn-light { background: linear-gradient(90deg,transparent 10%,rgba(255,201,158,.08) 35%,rgba(255,234,204,.5) 47%,transparent 62%); }
@keyframes wt-card-light { from { transform: translateX(-42%); opacity: 0; } 35% { opacity: .18; } to { transform: translateX(42%); opacity: 0; } }
.wt-motion-effect { position: fixed; inset: 0; z-index: 14000; pointer-events: none !important; overflow: hidden; contain: layout paint; color: var(--motion-light); }
.wt-motion-effect.is-contained { position: absolute; z-index: 3; border-radius: inherit; }
.wt-motion-effect :is(.wt-motion-halo,.wt-motion-orbit,.wt-motion-crest) { position: absolute; top: var(--motion-y,50%); left: var(--motion-x,50%); }
.wt-motion-halo { width: min(76vw, 620px); aspect-ratio: 1; border-radius: 50%; background: radial-gradient(circle, color-mix(in srgb,var(--motion-light) 14%,transparent),color-mix(in srgb,var(--motion-shade) 11%,transparent) 36%,transparent 68%); animation: wt-halo 1600ms var(--wt-ease-out) both; }
.wt-motion-orbit { width: min(50vw,390px); aspect-ratio: 1; border: 1px solid color-mix(in srgb,var(--motion-light) 48%,transparent); border-radius: 50%; box-shadow: 0 0 0 15px color-mix(in srgb,var(--motion-light) 4%,transparent),0 0 0 36px color-mix(in srgb,var(--motion-light) 8%,transparent); animation: wt-orbit 1650ms var(--wt-ease-out) both; }
.wt-motion-orbit::before,.wt-motion-orbit::after { content: ''; position: absolute; inset: 18%; border: 1px solid color-mix(in srgb,var(--motion-light) 32%,transparent); transform: rotate(45deg); }
.wt-motion-orbit::after { inset: -12%; transform: rotate(30deg); opacity: .4; }
.wt-motion-effect .wt-motion-crest { width: clamp(60px,12vw,128px); transform: translate(-50%,-50%); animation: wt-sigil 1400ms var(--wt-ease-out) both; }
.wt-motion-mote { position: absolute; left: var(--motion-x,50%); top: var(--motion-y,50%); width: 3px; height: 13px; border-radius: 2px; background: var(--motion-light); transform: rotate(var(--motion-angle)); animation: wt-mote 1200ms var(--wt-ease-out) var(--motion-delay) both; }
.is-contained .wt-motion-halo { width: 340px; max-width: 100%; }
.is-contained .wt-motion-orbit { width: 140px; }
.is-contained .wt-motion-crest { width: 65px; }
[data-motion-effect="fire"] .wt-motion-orbit { border-radius: 32% 68% 44% 56%; }
[data-motion-effect="fire"] .wt-motion-mote { width: 4px; height: 23px; border-radius: 80% 20% 80% 20%; }
[data-motion-effect="lightning"] .wt-motion-orbit { border-radius: 12%; }
[data-motion-effect="lightning"] .wt-motion-mote { height: 30px; width: 1px; }
[data-motion-effect="smoke"] .wt-motion-halo { opacity: .7; }
[data-motion-effect="smoke"] .wt-motion-orbit { border-color: transparent; box-shadow: 0 0 35px 20px color-mix(in srgb,var(--motion-light) 8%,transparent); }
[data-motion-effect="smoke"] .wt-motion-mote { width: 12px; height: 12px; opacity: .25; border-radius: 50%; background: radial-gradient(circle,var(--motion-light),transparent 70%); }
[data-motion-effect="magic"] .wt-motion-orbit::before { inset: 8%; transform: rotate(60deg); }
[data-motion-effect="magic"] .wt-motion-orbit::after { inset: 8%; transform: rotate(30deg); }
[data-motion-effect="magic"] .wt-motion-orbit { border-style: dashed; }
[data-motion-effect="magic"] .wt-motion-orbit::before { animation: wt-mandala 1800ms var(--wt-ease-out) both; }
[data-motion-effect="magic"] .wt-motion-orbit::after { animation: wt-mandala 1800ms var(--wt-ease-out) reverse both; }
[data-motion-effect="seal"] .wt-motion-orbit { border-width: 2px; border-style: double; }
[data-motion-effect="supernova"] .wt-motion-orbit::before { inset: -18%; transform: rotate(45deg); }
[data-motion-effect="supernova"] .wt-motion-orbit { border: 0; box-shadow: none; background: repeating-conic-gradient(from 22.5deg,transparent 0deg 42deg,color-mix(in srgb,var(--motion-light) 16%,transparent) 43deg 45deg); }
[data-motion-effect="supernova"] .wt-motion-mote { width: 1px; height: 44px; animation-name: wt-coronation-ray; }
[data-motion-effect="confetti"] .wt-motion-orbit { border: 0; box-shadow: none; }
[data-motion-effect="confetti"] .wt-motion-orbit::before,[data-motion-effect="confetti"] .wt-motion-orbit::after { border: 0; }
[data-motion-effect="confetti"] .wt-motion-mote { left: calc(var(--motion-x,50%) + var(--motion-offset)); width: 5px; height: 12px; border-radius: 80% 10% 80% 10%; animation-name: wt-laurel-fall; animation-duration: 1650ms; }
body.wt-refresh .wt-motion-scene { position: fixed; inset: 0; z-index: 13000; display: flex; align-items: center; justify-content: center; padding: max(22px,env(safe-area-inset-top)) max(18px,env(safe-area-inset-right)) max(22px,env(safe-area-inset-bottom)) max(18px,env(safe-area-inset-left)); overflow: auto; isolation: isolate; box-sizing: border-box; background: rgba(4,13,24,.95) !important; animation: wt-scene-in 240ms ease both !important; color: #f8edcf; }
.wt-motion-scene::before,.wt-motion-scene::after { content: none !important; }
.wt-motion-scene-art { position: absolute; inset: 0; overflow: hidden; pointer-events: none; z-index: -1; }
.wt-motion-scene-aura { position: absolute; inset: 0; background: radial-gradient(ellipse at 50% 45%,color-mix(in srgb,var(--motion-shade) 45%,transparent),transparent 64%); opacity: .7; }
.wt-motion-scene-ring { position: absolute; left: 50%; top: 46%; width: min(84vw,660px); aspect-ratio: 1; border: 1px solid color-mix(in srgb,var(--motion-light) 22%,transparent); border-radius: 50%; transform: translate(-50%,-50%); box-shadow: 0 0 0 22px color-mix(in srgb,var(--motion-light) 2%,transparent),0 0 0 68px color-mix(in srgb,var(--motion-light) 3%,transparent); animation: wt-scene-ring 1800ms var(--wt-ease-out) both; }
.wt-motion-scene-ring::before,.wt-motion-scene-ring::after { content:''; position:absolute; inset:12%; border:1px solid color-mix(in srgb,var(--motion-light) 15%,transparent); transform:rotate(45deg); }
.wt-motion-scene-ring::after { inset:-8%; transform:rotate(15deg); opacity:.5; }
body.wt-refresh .wt-motion-scene :is(.winner-alert-content,.vote-alert-content,.vote-proposal-card,.ability-result-card,.hacker-blocked-card,.spy-alert-content) { position: relative; z-index: 1; width: min(640px,100%); max-height: calc(100dvh - 60px); padding: clamp(24px,5vw,48px) clamp(20px,4vw,42px); text-align: center; border-radius: 24px; border: 1px solid color-mix(in srgb,var(--motion-light) 36%,transparent); background: linear-gradient(145deg,rgba(18,35,47,.97),rgba(14,22,35,.97)); box-shadow: 0 24px 90px rgba(0,0,0,.42),inset 0 1px rgba(255,235,191,.08); overflow: auto; animation: none !important; transform: none; }
.wt-motion-scene :is(.winner-alert-title,.vote-alert-title,.ability-result-title,.hacker-blocked-text) { font-size: clamp(26px,6vw,52px) !important; line-height: 1.08 !important; text-transform: none !important; text-shadow: none !important; color: #fff1cb !important; letter-spacing: -.025em !important; animation: none !important; overflow-wrap: anywhere; }
.wt-motion-scene :is(.winner-alert-line,.vote-alert-sub,.ability-result-message,.hacker-blocked-sub) { color: #d5dfe1 !important; font-size: clamp(15px,3.8vw,20px) !important; line-height: 1.6 !important; margin-top: 18px; text-shadow: none !important; }
.wt-motion-scene :is(.winner-alert-tap,.vote-alert-tap) { margin-top: 28px; font-size: 13px; color: #a9bdc3; letter-spacing: .02em; }
.wt-motion-scene :is(.winner-alert-kicker) { color: var(--motion-light); font-size: 12px; text-transform: uppercase; letter-spacing: .2em; margin-bottom: 14px; }
.wt-motion-scene .wt-motion-crest { display: block; width: 104px; height: 94px; color: var(--motion-light); margin: 0 auto 22px; }
.wt-motion-scene :is(.winner-alert-sparks,.vote-alert-icon,.hacker-blocked-icon,.bomb-overlay-icon,.ability-result-icon-placeholder) { display: none !important; }
.wt-motion-scene :is(.winner-alert-player,.winner-alert-player-avatar,.winner-alert-player-name) { animation: none !important; }
.wt-motion-scene.bomb-overlay { flex-direction: column; gap: 18px; }
.wt-motion-scene.bomb-overlay :is(.bomb-overlay-title,.bomb-overlay-sub,.bomb-overlay-btn) { position: relative; z-index: 1; animation: none !important; max-width: min(560px,100%); text-align: center; }
.wt-motion-scene.bomb-overlay .bomb-overlay-title { color: #ffe3b8; font-size: clamp(28px,7vw,48px); }
.wt-motion-scene.bomb-overlay .bomb-overlay-sub { font-size: 16px; line-height: 1.6; color: #dde2df; }
body.wt-refresh .wt-motion-bubble { position: relative; inset: auto !important; flex: 0 0 auto; max-width: min(320px,calc(100vw - 32px)); padding: 12px 18px; border: 1px solid rgba(225,203,147,.45); border-radius: 16px 16px 16px 4px; background: linear-gradient(135deg,rgba(18,42,52,.97),rgba(29,27,49,.98)); box-shadow: 0 12px 32px rgba(0,0,0,.3),inset 0 1px rgba(255,255,255,.06); text-align: left; color: #faf1d5; transform: none; animation: none !important; pointer-events: none; }
body.wt-refresh .reaction-bubble-layer { position: fixed; inset: auto 16px max(24px,env(safe-area-inset-bottom)) auto; width: min(320px,calc(100vw - 32px)); display: flex; flex-direction: column; align-items: flex-end; gap: 8px; z-index: 12000; pointer-events: none; }
.wt-motion-bubble .reaction-bubble-name { display: block; color: #b7d0d6; font-size: 11px; line-height: 1.4; margin-bottom: 4px; }
.wt-motion-bubble .reaction-bubble-text { font-size: 23px; line-height: 1.3; overflow-wrap: anywhere; }
body.wt-refresh :is(.starter-result,.starter-wheel-hub,.loot-settled .starter-loot-selector,.spy-guess-btn,.hacker-blocked-text) { animation: none !important; }
body.wt-refresh .starter-loot-reel { transition: transform 1800ms cubic-bezier(.12,.76,.12,1) !important; filter: none !important; will-change: transform; }
body.wt-refresh .starter-loot-winner { color: #f8e5ad; background: linear-gradient(90deg,transparent,rgba(206,175,98,.16),transparent); }
body.wt-refresh .starter-loot-selector { border-color: #d6bb79; box-shadow: 0 0 24px rgba(218,185,111,.12); }
body.wt-refresh .starter-result b { color: #ffe9ad; font-size: clamp(23px,5vw,34px); overflow-wrap: anywhere; }
body.wt-refresh :is(.modal,.starter-picker-modal,.avatar-dialog-box,.card-info-sheet) { animation-duration: 320ms !important; animation-timing-function: var(--wt-ease-out) !important; }
html.wt-motion-hidden *,html.wt-motion-hidden *::before,html.wt-motion-hidden *::after { animation-play-state: paused !important; }
@keyframes wt-halo { 0% { transform: translate(-50%,-50%) scale(.55); opacity: 0; } 35% { opacity: .9; } 100% { transform: translate(-50%,-50%) scale(1.2); opacity: 0; } }
@keyframes wt-orbit { 0% { transform: translate(-50%,-50%) scale(.3) rotate(-18deg); opacity: 0; } 28% { opacity: .75; } 100% { transform: translate(-50%,-50%) scale(1.22) rotate(28deg); opacity: 0; } }
@keyframes wt-sigil { 0% { transform: translate(-50%,-50%) scale(.8); opacity: 0; } 24%,65% { opacity: .9; } 100% { transform: translate(-50%,-50%) scale(1.12); opacity: 0; } }
@keyframes wt-mote { 0% { transform: rotate(var(--motion-angle)) translateY(-34px); opacity: 0; } 25% { opacity: .75; } 100% { transform: rotate(var(--motion-angle)) translateY(-150px) scale(.3); opacity: 0; } }
@keyframes wt-coronation-ray { 0% { transform: rotate(var(--motion-angle)) translateY(-60px) scaleY(.2); opacity: 0; } 35% { opacity: .6; } 100% { transform: rotate(var(--motion-angle)) translateY(-210px) scaleY(1.5); opacity: 0; } }
@keyframes wt-laurel-fall { 0% { transform: translateY(-150px) rotate(-35deg); opacity: 0; } 25%,65% { opacity: .7; } 100% { transform: translateY(130px) rotate(65deg); opacity: 0; } }
@keyframes wt-mandala { from { transform: rotate(0deg); } to { transform: rotate(90deg); } }
@keyframes wt-scene-in { from { opacity: 0; } to { opacity: 1; } }
@keyframes wt-scene-ring { from { opacity: 0; transform: translate(-50%,-50%) scale(.84) rotate(-8deg); } to { opacity: 1; transform: translate(-50%,-50%) scale(1) rotate(0); } }
@media (max-width: 600px) { .wt-motion-scene .wt-motion-crest { width: 78px; height: 72px; margin-bottom: 18px; } .wt-motion-scene-ring { width: 90vw; } }
@media (prefers-reduced-motion: reduce) {
    body.wt-refresh *,body.wt-refresh *::before,body.wt-refresh *::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; scroll-behavior: auto !important; }
    .wt-motion-mote { display: none; }
    .wt-motion-effect :is(.wt-motion-halo,.wt-motion-orbit) { display: none; }
    .wt-motion-effect .wt-motion-crest { animation: none; opacity: .5; }
    .wt-motion-scene-ring { animation: none; }
}
