:root{--bg: #050505;--bg-gradient: radial-gradient(circle at center, #1a1a1a 0%, #050505 100%);--black-card: #111111;--white-card: #ffffff;--accent: #ffcc00;--card-w: 220px;--card-h: 300px;--card-shadow: 0 10px 30px rgba(0,0,0,.7);--transition-smooth: all .3s cubic-bezier(.4, 0, .2, 1)}html,body,#root{width:100%;min-height:100dvh}#root{display:flex}body{background:var(--bg-gradient);background-attachment:fixed;color:#fff;font-family:Inter,-apple-system,sans-serif;margin:0;height:100dvh;overflow-x:hidden;-webkit-font-smoothing:antialiased}.game-container{display:flex;flex-direction:column;height:100dvh}.game-header{display:flex;justify-content:space-between;padding:15px 20px;font-size:.7rem;font-weight:900;letter-spacing:2px;background:#ffffff08;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-bottom:1px solid rgba(255,255,255,.1);box-shadow:0 4px 30px #00000080}.game-header span{color:#888;margin-left:5px}.table{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:20px}.card{width:var(--card-w);height:var(--card-h);border-radius:16px;padding:24px;box-sizing:border-box;display:flex;flex-direction:column;justify-content:space-between;text-align:left;font-size:1.4rem;font-weight:800;line-height:1.2;box-shadow:var(--card-shadow);flex-shrink:0;border:none}.white-card{background:var(--white-card);color:#000;scroll-snap-align:center}.card-footer{font-size:.6rem;text-transform:uppercase;letter-spacing:1px}.hand-wrapper{padding-bottom:40px}.hand-scroll-area{display:flex;gap:15px;overflow-x:auto;padding:0 40px 40px;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;scrollbar-width:none;align-items:center;justify-content:center}.hand-scroll-area::-webkit-scrollbar{display:none}@keyframes pulse-glow{0%{box-shadow:0 0 15px #ffffff1a}50%{box-shadow:0 0 30px #fff3}to{box-shadow:0 0 15px #ffffff1a}}.target-active{transition:transform .3s ease,box-shadow .3s ease;border:1px solid rgba(255,255,255,.1)!important;background:linear-gradient(145deg,#111,#050505)!important;animation:pulse-glow 3s infinite ease-in-out;box-shadow:0 20px 40px #0009}.target-active:hover{transform:translateY(-5px);box-shadow:0 25px 50px #000c}.poker-card{transition:var(--transition-smooth)!important;border:1px solid rgba(255,255,255,.1)!important}.poker-card:active{transform:scale(.95)}.poker-card.selected{border:2px solid var(--accent)!important;box-shadow:0 0 15px #fc06!important}button[onClick*=handleUseHint],button[onClick*=handleUseFiftyFifty]{transition:var(--transition-smooth);text-transform:uppercase;letter-spacing:1px}button[onClick*=handleUseHint]:hover:not(:disabled),button[onClick*=handleUseFiftyFifty]:hover:not(:disabled){transform:scale(1.05) translateY(-2px);filter:brightness(1.2);box-shadow:0 0 15px currentColor;background:#ffffff26!important}button[onClick*=handleUseHint]:active,button[onClick*=handleUseFiftyFifty]:active{transform:translateY(0)}.past-rounds-scroll{scrollbar-width:thin;scrollbar-color:rgba(255,255,255,.2) transparent}.past-rounds-scroll::-webkit-scrollbar{height:4px}.past-rounds-scroll::-webkit-scrollbar-thumb{background:#fff3;border-radius:10px}.pop-row-staggered{animation:slideIn .4s ease-out forwards;opacity:0}@keyframes slideIn{0%{transform:translate(-10px);opacity:0}to{transform:translate(0);opacity:1}}.result-banner{position:absolute;inset:0;background:#000000d9;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);display:flex;flex-direction:column;align-items:center;justify-content:center;z-index:20;animation:slideUp .3s ease-out}@keyframes slideUp{0%{transform:translateY(100%)}to{transform:translateY(0)}}.end-screen{position:fixed;inset:0;background:#000;display:flex;align-items:center;justify-content:center;z-index:1000;padding:20px}@keyframes quickBlur{0%{filter:blur(0px) brightness(1);transform:scale(1)}50%{filter:blur(10px) brightness(1.2);transform:scale(.98)}to{filter:blur(0px) brightness(1);transform:scale(1)}}@keyframes juicyCardJolt{0%{transform:translateY(0) rotate(0) scale(1)}24%{transform:translateY(-4px) rotate(-1.2deg) scale(1.02)}52%{transform:translateY(1px) rotate(1.3deg) scale(.995)}78%{transform:translateY(-2px) rotate(-.6deg) scale(1.01)}to{transform:translateY(0) rotate(0) scale(1)}}@keyframes handIdleBob{0%,to{transform:translateY(0) rotate(0)}50%{transform:translateY(-3px) rotate(-.4deg)}}@keyframes handCardSlap{0%{transform:translateY(0) scale(1)}30%{transform:translateY(-22px) scale(1.08) rotate(-1deg)}58%{transform:translateY(-10px) scale(1.02) rotate(.6deg)}to{transform:translateY(-15px) scale(1.05) rotate(0)}}@keyframes voteCardSlap{0%{transform:scale(1)}35%{transform:scale(1.08) rotate(-1deg)}58%{transform:scale(.98) rotate(.7deg)}to{transform:scale(1.02) rotate(0)}}@keyframes juicyImageWiggle{0%{transform:scale(1) rotate(0)}25%{transform:scale(1.02) rotate(-1.1deg)}50%{transform:scale(1.03) rotate(1.1deg)}75%{transform:scale(1.01) rotate(-.5deg)}to{transform:scale(1) rotate(0)}}.image-blur-flash{animation:quickBlur .5s ease-out forwards}@keyframes dotBounce{0%,80%,to{transform:translateY(0)}40%{transform:translateY(-5px)}}.typing-dot{display:inline-block;width:4px;height:4px;border-radius:50%;background-color:#888;margin:0 2px;animation:dotBounce 1.4s infinite ease-in-out both}.typing-dot:nth-child(1){animation-delay:-.32s}.typing-dot:nth-child(2){animation-delay:-.16s}@keyframes floatUp{0%{transform:translateY(22px) scale(.94);opacity:0}12%{transform:translateY(0) scale(1);opacity:1}to{transform:translateY(-45vh) scale(1.06);opacity:0}}@keyframes floatTrail{0%{transform:translateY(12px) scaleY(.6);opacity:0}20%{opacity:.65}to{transform:translateY(-54px) scaleY(1.25);opacity:0}}@keyframes sparklePop{0%{transform:translate(0) scale(.4);opacity:0}20%{opacity:1}to{transform:translate(var(--spark-x, 0),var(--spark-y, -18px)) scale(1);opacity:0}}.floating-reaction{position:fixed;bottom:15%;font-size:50px;pointer-events:none;z-index:9999;display:flex;flex-direction:column;align-items:center}.floating-reaction-emoji{position:relative;z-index:2;filter:drop-shadow(0 10px 20px rgba(0,0,0,.28))}.floating-reaction.animated{animation:floatUp 4s cubic-bezier(.25,1,.5,1) forwards}.floating-reaction-trail{position:absolute;bottom:18px;width:12px;height:74px;border-radius:999px;background:linear-gradient(180deg,#ffffff6b,#fff0);filter:blur(1px);animation:floatTrail 1s ease-out forwards;pointer-events:none}.floating-reaction-spark{position:absolute;width:8px;height:8px;border-radius:999px;background:#ffe8b0f2;box-shadow:0 0 10px #ffda7a8c;animation:sparklePop .78s ease-out forwards;animation-delay:var(--spark-delay, 0ms);pointer-events:none}.floating-reaction-name{font-size:12px;background:#000c;padding:4px 8px;border-radius:12px;color:#fff;margin-top:5px;font-weight:700}@keyframes heartBurstSparkle{0%{transform:translate(0) scale(.3);opacity:0}20%{opacity:1}to{transform:translate(var(--sparkle-x, 0),var(--sparkle-y, -24px)) scale(1);opacity:0}}@keyframes winnerSpotlightPulse{0%,to{transform:scale(.96);opacity:.5}50%{transform:scale(1.08);opacity:.95}}@keyframes voteChipReveal{0%{transform:translateY(10px) scale(.82);opacity:0}to{transform:translateY(0) scale(1);opacity:1}}@keyframes voteGlow{0%,to{box-shadow:0 0 10px #ffcc004d}50%{box-shadow:0 0 25px #fc09}}@keyframes roundIntroIn{0%{opacity:0;transform:scale(.96)}to{opacity:1;transform:scale(1)}}@keyframes roundNumberPulse{0%{transform:scale(.96);opacity:.85}to{transform:scale(1.04);opacity:1}}@keyframes voteDealIn{0%{opacity:0;transform:translateY(22px) scale(.92) rotate(-1.2deg);filter:saturate(.75)}to{opacity:1;transform:translateY(0) scale(1) rotate(0);filter:saturate(1)}}@keyframes imageRevealIn{0%{opacity:0;transform:scale(1.06);filter:blur(6px)}to{opacity:1;transform:scale(1);filter:none}}@keyframes voteCheckIn{0%{transform:translate(-50%,-50%) scale(.7);opacity:0}to{transform:translate(-50%,-50%) scale(1);opacity:1}}@keyframes imageShimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.vote-grid{display:grid;gap:12px;padding:0 10px}.vote-grid.cols-2{grid-template-columns:repeat(2,1fr)}.vote-grid.cols-3{grid-template-columns:repeat(3,1fr)}.vote-grid-card-shell{position:relative;border-radius:12px;overflow:hidden;transition:all .2s;aspect-ratio:1;background:#0b1823f0;min-height:100px}.vote-grid-card-shell.juiced{animation:juicyCardJolt .36s cubic-bezier(.2,.7,0,1)}.vote-grid-card-shell.juiced .vote-image{animation:juicyImageWiggle .36s ease}.vote-grid-card-shell.juiced{box-shadow:0 18px 34px #ffc8543d}.vote-grid-card-shell.voted-slap{animation:voteCardSlap .42s cubic-bezier(.2,.7,0,1)}.vote-grid-card-shell.deal-in{animation:voteDealIn .26s cubic-bezier(.2,.7,0,1) both;animation-delay:var(--deal-delay, 0ms);transform-origin:center center}.vote-image-loading{position:absolute;inset:0;z-index:1;background:linear-gradient(100deg,#223545f2 20%,#435c72d9,#223545f2 80%);background-size:220% 100%;animation:imageShimmer 1.2s linear infinite;pointer-events:none}.vote-image-loading.reduced-motion{animation:none}.vote-image{width:100%;height:100%;object-fit:cover;display:block;opacity:0;transform:scale(1.04);filter:blur(4px);transition:opacity .26s ease,transform .26s ease,filter .26s ease;background:#08121ce6}.vote-image.is-loaded{opacity:1;transform:scale(1);filter:none;animation:imageRevealIn .22s ease-out both}.vote-image.is-loaded.skip-reveal{animation:none}.vote-image.reduced-motion{transition:none}.vote-image-fallback{width:100%;height:100%;display:flex;align-items:center;justify-content:center;color:#e4eff8c7;font-size:12px;font-weight:700;letter-spacing:.02em;text-transform:uppercase;background:#08121ceb}.vote-own-tag{position:absolute;top:8px;right:8px;background:#000000b3;color:#888;padding:2px 8px;border-radius:10px;font-size:10px;font-weight:700;z-index:2}.vote-checkmark{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);font-size:48px;text-shadow:0 2px 10px rgba(0,0,0,.8);z-index:2;animation:voteCheckIn .15s ease-out}.vote-lock-stamp{position:absolute;bottom:10px;left:50%;transform:translate(-50%) rotate(-8deg);padding:6px 10px;border-radius:999px;background:#fff1befa;color:#6c4300;border:2px solid rgba(145,88,0,.34);box-shadow:0 10px 24px #0000003d;font-size:10px;font-weight:900;letter-spacing:.08em;text-transform:uppercase;z-index:3;animation:lockStampIn .26s cubic-bezier(.2,.7,0,1) both}.vote-lock-stamp.reduced-motion{animation:none}.vote-chip-reveal{animation:voteChipReveal .28s cubic-bezier(.2,.7,0,1) both}@keyframes handDealIn{0%{opacity:0;transform:translate3d(var(--fan-shift-x, 0px),28px,0) rotate(var(--fan-rotation, 0deg)) scale(.9);filter:saturate(.72) blur(2px)}62%{opacity:1;transform:translate3d(calc(var(--fan-shift-x, 0px) * .2),-8px,0) rotate(calc(var(--fan-rotation, 0deg) * .35)) scale(1.03);filter:saturate(1.05) blur(0)}to{opacity:1;transform:translateZ(0) rotate(0) scale(1);filter:none}}@keyframes dockShimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.hand-dock-scroll{justify-content:center!important;gap:var(--hand-dock-gap, 12px)!important;padding:12px 15px!important;width:100%;max-width:100%;box-sizing:border-box;margin:0 auto}.hand-dock-status-shell{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;padding:12px 14px 4px}.hand-dock-status-shell .hand-dock-status-copy{grid-column:1}.hand-dock-status-shell .hand-dock-status-chips{grid-column:2;justify-content:flex-end;align-self:start}.hand-dock-tools-tray-shell{padding:12px 14px 0;position:relative;overflow:hidden;border-radius:16px}.hand-dock-tools-tray-shell:after{content:"";position:absolute;inset:0;pointer-events:none;opacity:0}@keyframes goldTrayFlash{0%{opacity:0;transform:scale(.96)}30%{opacity:1}to{opacity:0;transform:scale(1.05)}}@keyframes mulliganTrayWave{0%{opacity:0;transform:translate(-20%) skew(-12deg)}30%{opacity:1}to{opacity:0;transform:translate(120%) skew(-12deg)}}.hand-dock-tools-tray-shell.tool-effect-gold:after{background:radial-gradient(circle at center,#ffdf736b,#ffdf7300);animation:goldTrayFlash .72s ease-out forwards}.hand-dock-tools-tray-shell.tool-effect-mulligan:after{background:linear-gradient(110deg,transparent 0%,rgba(109,224,255,.34) 42%,rgba(109,224,255,.08) 58%,transparent 100%);animation:mulliganTrayWave .82s ease-out forwards}.hand-dock-scroll-shell.tool-effect-mulligan .hand-dock-card{animation:handMulliganShuffle .62s cubic-bezier(.2,.7,0,1)}.hand-dock-scroll-shell.tool-effect-gold .hand-dock-card.selected{animation:handGoldCharge .68s cubic-bezier(.2,.7,0,1)}@keyframes handGoldCharge{0%{transform:translateY(0) scale(1);box-shadow:0 0 #f6d15500}35%{transform:translateY(-4px) scale(1.03);box-shadow:0 0 0 4px #f6d15526,0 0 34px #f6d15547}to{transform:translateY(0) scale(1);box-shadow:0 0 #f6d15500}}@keyframes handMulliganShuffle{0%{transform:rotate(0) translateY(0)}22%{transform:rotate(-3deg) translateY(-6px)}54%{transform:rotate(3deg) translateY(4px)}to{transform:rotate(0) translateY(0)}}.hand-dock-status-copy{display:grid;gap:4px}.hand-dock-status-title{font-size:14px;font-weight:900;line-height:1.2;color:#f2f7fb}.hand-dock-status-hint{font-size:12px;color:#ecf4fbb8;line-height:1.3}.winner-spotlight-aura{position:absolute;inset:-18px;border-radius:20px;background:radial-gradient(circle at 50% 40%,rgba(255,214,107,.4),transparent 52%),radial-gradient(circle at 50% 100%,rgba(255,128,92,.24),transparent 58%);filter:blur(8px);pointer-events:none;animation:winnerSpotlightPulse .9s ease-out forwards}.winner-reveal-burst{position:absolute;inset:-10px;border-radius:24px;pointer-events:none;border:2px solid rgba(255,216,123,.36);animation:winnerRevealBurst .76s cubic-bezier(.2,.7,0,1) forwards}@keyframes winnerRevealBurst{0%{transform:scale(.88);opacity:.9}to{transform:scale(1.18);opacity:0}}.image-reaction-sparkle{position:absolute;top:46%;left:50%;width:8px;height:8px;margin-left:-4px;margin-top:-4px;border-radius:999px;background:#fff0bcf5;box-shadow:0 0 12px #ffd67a8c;animation:heartBurstSparkle .76s ease-out forwards;animation-delay:var(--sparkle-delay, 0ms)}.game-event-toast{overflow:hidden}.game-event-toast:after{content:"";position:absolute;inset:0;background:linear-gradient(110deg,transparent 0%,rgba(255,255,255,.08) 46%,transparent 70%);transform:translate(-130%);animation:resultsPanelSheen 5s ease-in-out infinite;pointer-events:none}.game-event-toast-icon-badge{position:absolute;top:12px;left:14px;width:34px;height:34px;border-radius:999px;display:inline-flex;align-items:center;justify-content:center;background:#ffffff24;border:1px solid rgba(255,255,255,.18);box-shadow:inset 0 1px #ffffff1f;font-size:18px}.game-event-toast-kicker{margin-left:44px;margin-bottom:4px;font-size:10px;font-weight:900;letter-spacing:.1em;text-transform:uppercase;opacity:.92}.game-event-toast .game-event-toast-body{margin-left:44px}.game-event-toast.hot-seat{box-shadow:0 18px 40px #00000057,0 0 32px #ff7a592e}.game-event-toast.gold-rush{box-shadow:0 18px 44px #00000057,0 0 36px #ffd36b38}.game-event-toast.mind-meld{box-shadow:0 18px 44px #00000057,0 0 36px #a78bfa33}.game-event-toast.upset{box-shadow:0 18px 44px #00000057,0 0 36px #67e8a82e}.game-event-toast.rare{animation-duration:.32s!important}.game-event-toast.rare:before{content:"";position:absolute;inset:-20%;background:conic-gradient(from 90deg,#9feeff1a,#ffd36b14,#ff7a591f,#9feeff1a);filter:blur(12px);animation:rareToastOrbit 6s linear infinite;pointer-events:none}.results-hot-seat-banner{position:relative;overflow:hidden;animation:resultsPanelFloat 6.4s ease-in-out infinite}.results-hot-seat-banner:after{content:"";position:absolute;inset:0;background:linear-gradient(110deg,transparent 0%,rgba(255,255,255,.08) 45%,transparent 70%);transform:translate(-120%);animation:resultsPanelSheen 5.6s ease-in-out infinite;pointer-events:none}.results-hot-seat-banner.reduced-motion{animation:none}.results-hot-seat-banner.reduced-motion:after{animation:none}.game-event-toast-crown{position:absolute;top:8px;right:10px;font-size:18px;animation:hotSeatCrownBounce .7s ease-out 1}@keyframes hotSeatCrownBounce{0%,to{transform:translateY(0) rotate(0)}25%{transform:translateY(-2px) rotate(-4deg)}50%{transform:translateY(-4px) rotate(3deg)}75%{transform:translateY(-1px) rotate(-2deg)}}@keyframes rareToastOrbit{0%{transform:rotate(0) scale(1)}to{transform:rotate(360deg) scale(1.04)}}.hand-dock-status-chips{display:flex;flex-wrap:wrap;gap:6px}.hand-dock-status-chip{padding:5px 8px;border-radius:999px;font-size:10px;font-weight:900;letter-spacing:.04em;text-transform:uppercase;color:#ecf4fbd1;background:#ffffff0f;border:1px solid rgba(255,255,255,.08)}.hand-dock-section-row{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:4px 14px 0}.hand-dock-toolbar{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}.hand-dock-section-title{font-size:11px;font-weight:900;letter-spacing:.08em;text-transform:uppercase;color:#ecf4fbb8}.hand-dock-section-hint{font-size:11px;font-weight:800;color:var(--accent)}.hand-dock-tools-tray{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;width:100%}.hand-dock-tool-card{min-width:0}.hand-dock-tool-btn{width:100%;min-width:0;min-height:54px;padding:10px 12px;border-radius:14px;border:1px solid rgba(255,255,255,.16);display:inline-flex;align-items:center;gap:8px;cursor:pointer;box-shadow:0 10px 24px #0000003d;transition:transform .18s ease,filter .18s ease,box-shadow .2s ease,opacity .18s ease;text-align:left}.hand-dock-tool-btn:active{transform:translateY(1px) scale(.985)}.hand-dock-tool-btn.selected{transform:translateY(-2px);box-shadow:0 0 0 1px #fff0a873,0 12px 24px #cf921e3d}.hand-dock-tool-btn.disabled{opacity:.68;cursor:not-allowed}.hand-dock-tool-icon{font-size:20px;line-height:1;flex:0 0 auto}.hand-dock-tool-copy{display:grid;gap:2px;min-width:0}.hand-dock-tool-name{font-size:12px;font-weight:900;line-height:1.1}.hand-dock-tool-meta{font-size:10px;font-weight:800;letter-spacing:.04em;text-transform:uppercase;opacity:.82}.hand-dock-scroll-shell{position:relative;width:100%;max-width:100%;box-sizing:border-box}.hand-dock-edge-fade{position:absolute;top:0;bottom:0;width:36px;z-index:6;pointer-events:none;opacity:0;transition:opacity .18s ease}.hand-dock-edge-fade.visible{opacity:1}.hand-dock-edge-fade.left{left:0;background:linear-gradient(90deg,#07111af5,#07111a00)}.hand-dock-edge-fade.right{right:0;background:linear-gradient(270deg,#07111af5,#07111a00)}@media(max-width:767px){.hand-dock-scroll{justify-content:flex-start!important;padding-right:28px!important}}.hand-dock-deal-card{display:flex;flex-shrink:0;animation:handDealIn .32s cubic-bezier(.2,.7,0,1) both;animation-delay:var(--deal-delay, 0ms);transform-origin:center bottom}.hand-dock-deal-card.reduced-motion{animation:none}.hand-dock-card{width:var(--dock-card-size, 130px);height:var(--dock-card-size, 130px);aspect-ratio:1 / 1;border-radius:12px;overflow:hidden;cursor:pointer;padding:0;border:2px solid rgba(162,198,222,.26);transform:translateY(0);transition:all .2s ease;box-shadow:none;z-index:1;background:#091621d9;scroll-snap-align:center;position:relative;opacity:1}.hand-dock-card:not(.selected):not(.disabled):not(.reduced-motion){animation:handIdleBob 4.6s ease-in-out infinite}.hand-dock-deal-card:nth-child(2n) .hand-dock-card:not(.selected):not(.disabled):not(.reduced-motion){animation-delay:-1.4s}.hand-dock-deal-card:nth-child(3n) .hand-dock-card:not(.selected):not(.disabled):not(.reduced-motion){animation-delay:-2.6s}.hand-dock-card.juiced{animation:juicyCardJolt .36s cubic-bezier(.2,.7,0,1)}.hand-dock-card.dimmed{opacity:.7;transform:scale(.97);filter:saturate(.72)}.hand-dock-card.selected{border:3px solid var(--accent);transform:translateY(-15px) scale(1.05);box-shadow:0 10px 28px #ffb45459;z-index:50}.hand-dock-card.selected:not(.reduced-motion){animation:handCardSlap .36s cubic-bezier(.2,.7,0,1)}.hand-dock-card.reduced-motion{transform:none!important;transition:none}.hand-dock-card.reduced-motion.dimmed{transform:none!important}.hand-dock-card.disabled{cursor:not-allowed;opacity:.6}.hand-dock-loading{position:absolute;inset:0;z-index:1;border-radius:inherit;background:linear-gradient(100deg,#223545f2 20%,#435c72d9,#223545f2 80%);background-size:220% 100%;animation:dockShimmer 1.2s linear infinite;pointer-events:none}.hand-dock-loading.reduced-motion{animation:none}.hand-dock-image{width:100%;height:100%;object-fit:cover;display:block;border-radius:inherit;opacity:.05;transform:scale(1.04);filter:blur(4px);transition:opacity .26s ease,transform .26s ease,filter .26s ease}.hand-dock-image.is-loaded{opacity:1;transform:scale(1);filter:none;animation:imageRevealIn .24s ease-out both}.hand-dock-image.reduced-motion{transition:none}.hand-dock-empty{width:100%;height:100%;display:flex;align-items:center;justify-content:center;font-size:24px;color:#666}.hand-dock-selected-overlay{position:absolute;inset:0;background:linear-gradient(180deg,#ffb45414,#ffb4543d);display:flex;align-items:center;justify-content:center;flex-direction:column;gap:8px;z-index:2}.hand-dock-selected-mark{font-size:28px;text-shadow:0 2px 8px rgba(0,0,0,.6)}.hand-dock-lock-stamp{position:absolute;bottom:10px;left:50%;transform:translate(-50%) rotate(-8deg);padding:6px 10px;border-radius:999px;background:#ffeaa4f5;color:#5f3800;border:2px solid rgba(133,79,0,.34);font-size:10px;font-weight:900;text-transform:uppercase;letter-spacing:.08em;box-shadow:0 10px 24px #00000047;animation:lockStampIn .26s cubic-bezier(.2,.7,0,1) both}.hand-dock-lock-stamp.reduced-motion{animation:none}.hand-dock-meta-badge{position:absolute;top:8px;right:8px;z-index:3;padding:5px 8px;border-radius:999px;background:#091621d1;border:1px solid rgba(255,255,255,.16);color:#f5fbff;font-size:10px;font-weight:900;letter-spacing:.02em;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);box-shadow:0 6px 16px #00000038}.hand-dock-meta-badge-accent{background:#ffb4542e;color:#ffd27c;border-color:#ffd27c47}.hand-dock-submit-wrap{display:flex;justify-content:center;padding:14px 14px 15px}.hand-dock-submit-btn{width:min(100%,420px);padding:14px 18px!important;font-size:18px!important;background:linear-gradient(140deg,var(--accent),var(--accent-strong))!important;color:#0f1a25!important;box-shadow:0 10px 24px #ff9a2f52!important;transition:transform .14s ease,filter .18s ease,box-shadow .22s ease,opacity .18s ease!important;display:grid!important;gap:4px;justify-items:center;align-items:center;text-align:center;position:relative;overflow:visible!important}.hand-dock-submit-title{font-size:17px;font-weight:900;line-height:1.1}.hand-dock-submit-subtitle{max-width:100%;font-size:12px;font-weight:800;line-height:1.2;opacity:.78;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.hand-dock-submit-btn.click-burst{animation:handDockSubmitBurst .26s cubic-bezier(.2,.7,0,1) both}.hand-dock-submit-btn.click-locked,.hand-dock-submit-btn:disabled{opacity:.82;cursor:not-allowed;transform:translateY(0) scale(.985);filter:saturate(.84);box-shadow:0 6px 14px #ff9a2f33!important}.hand-dock-submit-stamp{position:absolute;top:-10px;right:14px;padding:6px 10px;border-radius:999px;background:#fff1befa;color:#6c4300;border:2px solid rgba(145,88,0,.34);box-shadow:0 10px 24px #0000003d;font-size:10px;font-weight:900;letter-spacing:.08em;text-transform:uppercase;transform:rotate(-7deg);animation:lockStampIn .26s cubic-bezier(.2,.7,0,1) both}.hand-dock-submit-stamp.reduced-motion{animation:none}@media(max-width:767px){.hand-dock-status-shell{padding:10px 12px 2px;grid-template-columns:minmax(0,1fr) auto;align-items:start}.hand-dock-tools-tray-shell{padding:10px 12px 0}.hand-dock-status-title{font-size:13px}.hand-dock-status-hint{font-size:11px}.hand-dock-status-chips{justify-content:flex-end}.hand-dock-section-row,.hand-dock-submit-wrap{padding-left:12px;padding-right:12px}.hand-dock-toolbar{display:block}.hand-dock-section-row{align-items:baseline}.hand-dock-tool-btn{min-height:52px}.hand-dock-submit-title{font-size:16px}.hand-dock-submit-subtitle{font-size:11px}}@keyframes handDockSubmitBurst{0%{transform:scale(1);filter:brightness(1)}40%{transform:scale(.94);filter:brightness(.95)}to{transform:scale(1);filter:brightness(1)}}@keyframes lockStampIn{0%{opacity:0;transform:rotate(-12deg) scale(1.28);filter:blur(2px)}70%{opacity:1;transform:rotate(-5deg) scale(.96);filter:none}to{opacity:1;transform:rotate(-7deg) scale(1);filter:none}}.winner-image-shell{position:relative;overflow:hidden;border-radius:8px;background:#08121ce6}.image-reaction-target{position:relative;display:block;width:100%;padding:0;border:0;appearance:none;background:transparent;color:inherit;text-align:inherit;cursor:pointer;transform:none!important;box-shadow:none!important;filter:none!important;transition:none!important;overflow:hidden}.results-image-frame{position:relative;flex-shrink:0;contain:layout paint}.results-image-frame-square{aspect-ratio:1 / 1;min-height:120px}.results-image-frame-landscape{aspect-ratio:4 / 3;min-height:160px}.image-reaction-target:before,.image-reaction-target:after{content:none!important}.image-reaction-target:hover,.image-reaction-target:active{transform:none!important;box-shadow:none!important;filter:none!important}.image-reaction-layer{position:absolute;inset:0;pointer-events:none;overflow:hidden;z-index:3}.image-reaction-burst{position:absolute;left:50%;bottom:18%;width:0;height:0}.image-reaction-heart{position:absolute;left:0;bottom:0;font-size:24px;line-height:1;filter:drop-shadow(0 4px 10px rgba(0,0,0,.28));animation:imageHeartBurst .9s cubic-bezier(.2,.7,0,1) forwards;animation-delay:var(--heart-delay, 0ms)}.image-reaction-burst.reduced-motion .image-reaction-heart{animation-duration:.32s}@keyframes imageHeartBurst{0%{opacity:0;transform:translate(-50%) scale(.65) rotate(0)}14%{opacity:1;transform:translate(calc(-50% + (var(--heart-drift-x, 0px) * .18)),-8px) scale(1.02) rotate(calc(var(--heart-drift-rot, 0deg) * .35))}to{opacity:0;transform:translate(calc(-50% + var(--heart-drift-x, 0px)),-72px) scale(1.18) rotate(var(--heart-drift-rot, 0deg))}}.winner-image-shell-juicy{cursor:pointer}.winner-image-shell-juicy:active .winner-image,.winner-image-shell-juicy:active .results-image-juicy{animation:juicyImageWiggle .36s ease}.results-image-juicy{width:100%;height:100%;object-fit:cover;display:block;transform-origin:center center}.winner-image-shell-large{width:100%;aspect-ratio:4 / 3;margin-bottom:6px}.winner-image-flip-shell{perspective:1200px}.winner-image-flip-inner{position:relative;width:100%;height:100%;transform-style:preserve-3d}.winner-image-flip-shell.flip-active .winner-image-flip-inner{animation:winnerImageFlipReveal .82s cubic-bezier(.2,.7,0,1) both;animation-delay:var(--flip-delay, 0ms)}.winner-image-flip-shell.flip-complete .winner-image-flip-inner{transform:rotateY(180deg)}.winner-image-flip-shell.reduced-motion .winner-image-flip-inner{animation:none!important;transform:none!important}.winner-image-flip-face{position:absolute;inset:0;width:100%;height:100%;backface-visibility:hidden;-webkit-backface-visibility:hidden}.winner-image-flip-front{border-radius:inherit;overflow:hidden;background:#08121ce6;transform:rotateY(180deg)}.winner-image-flip-back{display:grid;place-items:center;align-content:center;gap:8px;padding:18px;box-sizing:border-box;text-align:center;color:#fff6e9;background:radial-gradient(circle at 30% 20%,rgba(255,223,138,.26),transparent 42%),linear-gradient(145deg,#5e340bfa,#1c1209fa)}.winner-image-flip-back-kicker{font-size:11px;font-weight:900;letter-spacing:.1em;text-transform:uppercase;color:#ffd36b}.winner-image-flip-back-title{font-size:clamp(28px,7vw,40px);font-weight:900;line-height:.95}.winner-image-flip-back-subtitle{font-size:12px;font-weight:700;color:#fff6e9cc}.winner-image{width:100%;height:100%;object-fit:cover;display:block;opacity:.05;transform:scale(1.03);filter:blur(4px);transition:opacity .26s ease,transform .26s ease,filter .26s ease;background:#08121ce6}.winner-image.is-loaded{opacity:1;transform:scale(1);filter:none;animation:imageRevealIn .22s ease-out both}.winner-image.reduced-motion{transition:none}.winner-image-fallback{width:100%;height:100%;display:flex;align-items:center;justify-content:center;color:#e4eff8c7;font-size:12px;font-weight:700;letter-spacing:.02em;text-transform:uppercase;background:#08121ceb;border-radius:8px;margin-bottom:8px}@keyframes winnerImageFlipReveal{0%{transform:rotateY(0) scale(.98)}58%{transform:rotateY(180deg) scale(1.02)}to{transform:rotateY(180deg) scale(1)}}@keyframes reactionButtonFloat{0%,to{transform:translateY(0)}50%{transform:translateY(-4px)}}.reaction-bar{display:flex;gap:10px;flex-wrap:wrap;justify-content:center;margin:20px 0;width:100%;max-width:100%;box-sizing:border-box}.reaction-button{background:#ffffff24;border:1px solid var(--border-soft);border-radius:50%;width:45px;height:45px;font-size:22px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:transform .18s cubic-bezier(.2,.7,0,1),filter .18s ease,box-shadow .22s ease;animation:reactionButtonFloat 4.2s ease-in-out infinite;animation-delay:var(--float-delay, 0ms);will-change:transform}.reaction-button:hover{transform:translateY(-3px) scale(1.04);filter:brightness(1.06);box-shadow:0 10px 24px #00000038}.reaction-button:active{transform:translateY(-1px) scale(.97)}.reaction-button.reduced-motion{animation:none;transition:none}.reaction-button.disabled{cursor:not-allowed;opacity:.55;animation:none;box-shadow:none}@media(max-width:480px){.reaction-bar{gap:8px}.reaction-button{width:40px;height:40px;font-size:20px}}.scoring-rules-wrap{margin-bottom:10px}.scoring-rules-toggle{width:100%;border:1px solid rgba(255,255,255,.2);background:#ffffff14;color:var(--text-main);border-radius:8px;padding:8px 10px;font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.05em;cursor:pointer}.vote-breakdown-panel{contain:layout paint}.results-winner-panel{position:relative;overflow:hidden;animation:resultsWinnerGlow 4.8s ease-in-out infinite}.results-winner-panel:after{content:"";position:absolute;inset:0;border-radius:inherit;background:linear-gradient(105deg,transparent 0%,rgba(255,255,255,.12) 44%,transparent 68%);transform:translate(-130%);animation:resultsPanelSheen 4.8s ease-in-out infinite;pointer-events:none}.results-winner-panel.reduced-motion{animation:none}.results-winner-panel.reduced-motion:after{animation:none}.results-phase-panel{contain:layout paint;transform:translateZ(0);backface-visibility:hidden}.results-phase-panel *,.results-phase-panel *:before,.results-phase-panel *:after{backface-visibility:hidden}.results-phase-panel button,.results-phase-panel button:hover,.results-phase-panel button:active{transform:none!important;box-shadow:none!important;filter:none!important;transition:none!important}.results-phase-panel button:before,.results-phase-panel button:after{content:none!important}.results-phase-panel .winner-image,.results-phase-panel .results-image-juicy,.results-phase-panel .image-reaction-target,.results-phase-panel .vote-breakdown-row,.results-phase-panel .vote-breakdown-panel{transform:translateZ(0)}.vote-breakdown-panel button,.vote-breakdown-panel button:hover,.vote-breakdown-panel button:active{transform:none!important;box-shadow:none!important;filter:none!important}.vote-breakdown-panel button:before,.vote-breakdown-panel button:after{content:none!important}.vote-breakdown-row{contain:layout paint}.scoring-rules-panel{margin-top:8px;border:1px solid rgba(255,180,84,.4);background:#ffb45414;border-radius:8px;padding:8px 10px;display:grid;gap:4px;font-size:12px;color:var(--text-main)}@keyframes resultsPanelFloat{0%,to{transform:translateY(0)}50%{transform:translateY(-2px)}}@keyframes resultsWinnerGlow{0%,to{box-shadow:0 0 0 1px #ffd36b14,0 0 18px #ffb4541a}50%{box-shadow:0 0 0 1px #ffd36b2e,0 0 26px #ffb4542e}}@keyframes resultsPanelSheen{0%,72%{transform:translate(-130%);opacity:0}80%{opacity:.9}to{transform:translate(130%);opacity:0}}.admin-images-screen{width:min(1200px,96%);margin:22px auto;display:grid;gap:14px}.admin-images-header{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}.admin-images-title{margin:0;font-size:28px;line-height:1.1}.admin-images-subtitle{margin:6px 0 0;color:var(--text-muted);font-size:13px}.admin-images-controls{background:var(--panel);border:1px solid var(--border-soft);border-radius:14px;padding:12px;display:grid;gap:12px}.admin-images-field{display:grid;gap:6px}.admin-images-field-label{font-size:11px;text-transform:uppercase;letter-spacing:.08em;color:var(--text-muted)}.admin-images-select{border-radius:10px;border:1px solid var(--border-soft);background:#ffffff14;color:var(--text-main);padding:10px 12px;font-size:13px}.admin-images-actions{display:flex;flex-wrap:wrap;gap:10px}.admin-images-btn{min-height:40px}.admin-images-btn.secondary{box-shadow:none!important;filter:saturate(.86)}.admin-images-btn.danger{background:linear-gradient(140deg,#f7686b,#e9496a)!important;color:#fff!important;box-shadow:0 10px 24px #e9496a4d!important}.admin-images-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.admin-images-stat-card{background:var(--panel);border:1px solid var(--border-soft);border-radius:12px;padding:12px}.admin-images-stat-label{font-size:11px;text-transform:uppercase;color:var(--text-muted);margin-bottom:6px}.admin-images-stat-value{font-size:24px;font-weight:900}.admin-images-summary{border:1px solid rgba(61,216,194,.45);background:#3dd8c224;border-radius:10px;padding:10px 12px;font-size:13px}.admin-images-search-row{display:flex}.admin-images-search{width:100%;border-radius:10px;border:1px solid var(--border-soft);background:#ffffff14;color:var(--text-main);padding:11px 12px;font-size:14px}.admin-images-grid-wrap{min-height:280px}.admin-images-loading{padding:20px;border-radius:12px;border:1px dashed var(--border-soft);text-align:center;color:var(--text-muted)}.admin-images-grid{display:grid;gap:12px;grid-template-columns:repeat(auto-fill,minmax(220px,1fr))}.admin-image-card{background:var(--panel);border:1px solid var(--border-soft);border-radius:12px;padding:10px;display:grid;gap:10px}.admin-image-card.missing{border-color:#f7686bb3}.admin-image-preview-wrap{position:relative;border-radius:8px;overflow:hidden;background:#0000003d;aspect-ratio:1 / 1}.admin-image-preview{width:100%;height:100%;display:block;object-fit:cover}.admin-image-fallback{width:100%;height:100%;display:flex;align-items:center;justify-content:center;font-weight:900;letter-spacing:.06em;text-transform:uppercase;color:#ffd4d7;background:#f7686b33}.admin-image-badge{position:absolute;top:8px;right:8px;font-size:11px;font-weight:900;text-transform:uppercase;border-radius:999px;padding:4px 8px;background:#3dd8c2e6;color:#0c1a23}.admin-image-badge.missing{background:#f7686bf2;color:#fff}.admin-image-meta{min-height:56px}.admin-image-prompt{font-size:13px;font-weight:700;line-height:1.35}.admin-image-theme{margin-top:6px;color:var(--text-muted);font-size:12px}@media(max-width:760px){.admin-images-screen{width:94%;margin-top:14px}.admin-images-header{flex-direction:column;align-items:stretch}.admin-images-title{font-size:24px}.admin-images-stats{grid-template-columns:1fr}}.final-podium-shell{position:relative;overflow:hidden;margin-bottom:34px;padding:24px 18px 18px;border-radius:24px;border:1px solid rgba(255,211,107,.2);background:radial-gradient(circle at top,rgba(255,211,107,.18),transparent 36%),linear-gradient(180deg,#12202efa,#080e16fa);box-shadow:0 26px 60px #00000047,inset 0 1px #ffffff14}.final-podium-shell.reduced-motion *,.final-podium-shell.reduced-motion *:before,.final-podium-shell.reduced-motion *:after{animation:none!important}.final-podium-backdrop{position:absolute;inset:0;pointer-events:none;overflow:hidden}.final-podium-spotlight{position:absolute;top:-28%;width:160px;height:360px;background:linear-gradient(180deg,#fff0c038,#fff0c005);filter:blur(8px);opacity:.7;transform-origin:top center;clip-path:polygon(50% 0%,100% 100%,0% 100%);animation:podiumSpotlightSweep 7.4s ease-in-out infinite}.final-podium-spotlight-left{left:6%;transform:rotate(14deg)}.final-podium-spotlight-center{left:50%;width:200px;transform:translate(-50%);animation-delay:-1.4s}.final-podium-spotlight-right{right:6%;transform:rotate(-14deg);animation-delay:-2.8s}.final-podium-header{position:relative;z-index:1;text-align:center;margin-bottom:18px}.final-podium-kicker{font-size:11px;font-weight:900;letter-spacing:.16em;text-transform:uppercase;color:#ffd36b;opacity:.84;margin-bottom:6px}.final-podium-title{font-size:clamp(22px,5vw,34px);font-weight:900;line-height:1.05;letter-spacing:-.04em;color:#fff7dd;text-shadow:0 10px 30px rgba(0,0,0,.38)}.final-podium-row{position:relative;z-index:1;display:flex;align-items:flex-end;justify-content:center;gap:12px}.final-podium-slot{flex:1 1 0;min-width:0;display:flex;flex-direction:column;align-items:center;animation:podiumSlotRise .72s cubic-bezier(.2,.8,0,1) both}.final-podium-slot.place-2{animation-delay:80ms}.final-podium-slot.place-1{animation-delay:.18s}.final-podium-slot.place-3{animation-delay:.12s}.final-podium-card{position:relative;width:100%;max-width:180px;margin-bottom:10px;padding:14px 12px 12px;border-radius:18px;border:1px solid color-mix(in srgb,var(--podium-accent) 42%,transparent);background:linear-gradient(180deg,#ffffff1a,#ffffff08);box-shadow:0 0 0 1px #ffffff0a,0 18px 36px #00000042,0 0 28px var(--podium-glow);text-align:center;overflow:hidden}.final-podium-card:after{content:"";position:absolute;inset:0;background:linear-gradient(115deg,transparent 0%,rgba(255,255,255,.14) 46%,transparent 72%);transform:translate(-130%);animation:resultsPanelSheen 5.8s ease-in-out infinite;pointer-events:none}.final-podium-slot.champion .final-podium-card{transform:translateY(-4px) scale(1.02);background:linear-gradient(180deg,#ffde8529,#ffffff0f)}.final-podium-badge{font-size:10px;font-weight:900;letter-spacing:.12em;text-transform:uppercase;color:var(--podium-accent);opacity:.92;margin-bottom:8px}.final-podium-name{font-size:clamp(15px,3.7vw,20px);font-weight:900;color:#fff;line-height:1.1;margin-bottom:8px;word-break:break-word}.final-podium-score{font-size:clamp(16px,4vw,24px);font-weight:900;color:#fff7dd}.final-podium-heat{margin-top:10px;font-size:10px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;opacity:.92}.final-podium-heat.heat-warm{color:#ffe4a8}.final-podium-heat.heat-hot{color:#ffbf8d}.final-podium-heat.heat-blazing{color:#ff9d76;text-shadow:0 0 18px rgba(255,122,89,.28)}.final-podium-pedestal{width:100%;max-width:164px;border-radius:20px 20px 12px 12px;display:flex;align-items:center;justify-content:center;font-size:clamp(30px,8vw,42px);font-weight:900;letter-spacing:-.06em;color:#0a1118bd;box-shadow:inset 0 1px #fff3,0 14px 24px #0000003d}.final-podium-pedestal.place-1{background:linear-gradient(180deg,#ffd36b,#c98d11)}.final-podium-pedestal.place-2{background:linear-gradient(180deg,#dbe7f1,#8ea5ba)}.final-podium-pedestal.place-3{background:linear-gradient(180deg,#f3c6a9,#ad6b45)}.final-podium-pedestal.place-tie{background:linear-gradient(180deg,#ffd36b,#c98d11)}@keyframes podiumSlotRise{0%{opacity:0;transform:translateY(22px) scale(.96)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes podiumSpotlightSweep{0%,to{opacity:.52;transform:translateY(0) scaleY(1)}50%{opacity:.82;transform:translateY(6px) scaleY(1.04)}}@media(max-width:640px){.final-podium-shell{padding:20px 12px 14px}.final-podium-row{gap:6px}.final-podium-slot{flex:1 1 0}.final-podium-card{width:100%;max-width:112px;padding:10px 6px 9px;border-radius:14px;margin-bottom:8px;box-sizing:border-box}.final-podium-slot.champion .final-podium-card{transform:translateY(-2px)}.final-podium-badge{font-size:8px;letter-spacing:.08em;margin-bottom:6px}.final-podium-name{font-size:13px;line-height:1.05;margin-bottom:6px}.final-podium-score{font-size:14px}.final-podium-heat{margin-top:8px;font-size:8px;letter-spacing:.05em}.final-podium-pedestal{width:100%;max-width:112px;border-radius:16px 16px 10px 10px;box-sizing:border-box}}
