:root{--bg-primary: #0a0e1a;--bg-secondary: #111728;--bg-tertiary: #1a2038;--bg-card: rgba(26, 32, 56, .85);--bg-glass: rgba(17, 23, 40, .7);--text-primary: #e8ecf4;--text-secondary: #8892a8;--text-muted: #505a70;--accent-cyan: #00f0ff;--accent-magenta: #ff00aa;--accent-yellow: #faff00;--accent-green: #00ff88;--accent-red: #ff4444;--accent-purple: #aa44ff;--gradient-primary: linear-gradient(135deg, #00f0ff 0%, #ff00aa 100%);--gradient-warm: linear-gradient(135deg, #ff4444 0%, #faff00 100%);--gradient-cool: linear-gradient(135deg, #00f0ff 0%, #aa44ff 100%);--gradient-bg: linear-gradient(180deg, #0a0e1a 0%, #111728 50%, #1a2038 100%);--racer-volt: #00f0ff;--racer-blaze: #ff4444;--racer-phantom: #aa44ff;--racer-nova: #faff00;--font-primary: "Outfit", -apple-system, BlinkMacSystemFont, sans-serif;--font-mono: "JetBrains Mono", monospace;--fs-xs: .7rem;--fs-sm: .8rem;--fs-base: .95rem;--fs-md: 1.1rem;--fs-lg: 1.35rem;--fs-xl: 1.8rem;--fs-2xl: 2.4rem;--fs-3xl: 3.2rem;--fw-light: 300;--fw-regular: 400;--fw-medium: 500;--fw-semibold: 600;--fw-bold: 700;--fw-black: 900;--space-xs: 4px;--space-sm: 8px;--space-md: 16px;--space-lg: 24px;--space-xl: 32px;--space-2xl: 48px;--space-3xl: 64px;--radius-sm: 6px;--radius-md: 12px;--radius-lg: 20px;--radius-xl: 28px;--radius-full: 9999px;--border-subtle: 1px solid rgba(255, 255, 255, .06);--border-accent: 1px solid rgba(0, 240, 255, .3);--shadow-sm: 0 2px 8px rgba(0, 0, 0, .3);--shadow-md: 0 4px 20px rgba(0, 0, 0, .4);--shadow-lg: 0 8px 40px rgba(0, 0, 0, .5);--shadow-glow-cyan: 0 0 20px rgba(0, 240, 255, .3);--shadow-glow-magenta: 0 0 20px rgba(255, 0, 170, .3);--shadow-glow-yellow: 0 0 20px rgba(250, 255, 0, .3);--transition-fast: .15s ease;--transition-base: .25s ease;--transition-slow: .4s ease;--transition-spring: .5s cubic-bezier(.34, 1.56, .64, 1);--z-base: 1;--z-overlay: 10;--z-modal: 100;--z-toast: 1000}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{font-size:16px;-webkit-tap-highlight-color:transparent;-webkit-text-size-adjust:100%}body{font-family:var(--font-primary);font-weight:var(--fw-regular);color:var(--text-primary);background:var(--bg-primary);background-image:var(--gradient-bg);min-height:100vh;min-height:100dvh;overflow-x:hidden;line-height:1.5;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}#app{min-height:100vh;min-height:100dvh;display:flex;flex-direction:column;position:relative}img,svg{display:block;max-width:100%}button{font-family:inherit;cursor:pointer;border:none;outline:none;background:none;color:inherit;font-size:inherit}input,select{font-family:inherit;color:inherit;background:none;border:none;outline:none}::-webkit-scrollbar{width:6px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--text-muted);border-radius:var(--radius-full)}::selection{background:#00f0ff4d;color:var(--text-primary)}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}.text-gradient{background:var(--gradient-primary);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.text-center{text-align:center}.text-mono{font-family:var(--font-mono)}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeInScale{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}@keyframes slideInRight{0%{opacity:0;transform:translate(30px)}to{opacity:1;transform:translate(0)}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}@keyframes glow{0%,to{box-shadow:0 0 5px #00f0ff4d}50%{box-shadow:0 0 25px #00f0ff99}}@keyframes shimmer{0%{background-position:-200% center}to{background-position:200% center}}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-8px)}}@keyframes shake{0%,to{transform:translate(0)}10%,30%,50%,70%,90%{transform:translate(-4px)}20%,40%,60%,80%{transform:translate(4px)}}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes racerMove{0%{transform:translate(0)}60%{transform:translate(var(--move-distance))}80%{transform:translate(calc(var(--move-distance) - 3px))}to{transform:translate(var(--move-distance))}}@keyframes crashEffect{0%{transform:rotate(0) scale(1);opacity:1}30%{transform:rotate(15deg) scale(1.1)}60%{transform:rotate(-10deg) scale(.9)}to{transform:rotate(0) scale(.7);opacity:.4}}@keyframes boostTrail{0%{opacity:0;width:0}50%{opacity:1}to{opacity:0;width:60px}}.animate-fadeIn{animation:fadeIn var(--transition-base) forwards}.animate-fadeInUp{animation:fadeInUp .5s ease forwards}.animate-fadeInScale{animation:fadeInScale .3s ease forwards}.animate-pulse{animation:pulse 2s infinite}.animate-glow{animation:glow 2s infinite}.animate-float{animation:float 3s ease-in-out infinite}.animate-shimmer{background:linear-gradient(90deg,transparent 0%,rgba(255,255,255,.08) 50%,transparent 100%);background-size:200% 100%;animation:shimmer 2s infinite}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-sm);padding:var(--space-md) var(--space-lg);border-radius:var(--radius-md);font-weight:var(--fw-semibold);font-size:var(--fs-base);letter-spacing:.02em;transition:all var(--transition-base);position:relative;overflow:hidden;white-space:nowrap;user-select:none;-webkit-user-select:none}.btn:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(180deg,rgba(255,255,255,.1) 0%,transparent 50%);pointer-events:none}.btn:active{transform:scale(.96)}.btn-primary{background:var(--gradient-primary);color:var(--bg-primary);font-weight:var(--fw-bold);box-shadow:var(--shadow-glow-cyan)}.btn-primary:hover{box-shadow:0 0 30px #00f0ff80,0 0 60px #f0a3;transform:translateY(-2px)}.btn-secondary{background:var(--bg-tertiary);border:var(--border-accent);color:var(--accent-cyan)}.btn-secondary:hover{background:#00f0ff1a;box-shadow:var(--shadow-glow-cyan)}.btn-danger{background:#f443;border:1px solid rgba(255,68,68,.4);color:var(--accent-red)}.btn-danger:hover{background:#ff44444d}.btn-ghost{color:var(--text-secondary);padding:var(--space-sm) var(--space-md)}.btn-ghost:hover{color:var(--text-primary);background:#ffffff0d}.btn-sm{padding:var(--space-sm) var(--space-md);font-size:var(--fs-sm);border-radius:var(--radius-sm)}.btn-lg{padding:var(--space-lg) var(--space-xl);font-size:var(--fs-lg);border-radius:var(--radius-lg)}.btn-block{width:100%}.btn:disabled{opacity:.4;cursor:not-allowed;transform:none!important}.card{background:var(--bg-card);border:var(--border-subtle);border-radius:var(--radius-lg);padding:var(--space-lg);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);transition:all var(--transition-base)}.card-glass{background:var(--bg-glass);border:var(--border-subtle);border-radius:var(--radius-lg);padding:var(--space-lg);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px)}.card-hover:hover{border-color:#00f0ff33;box-shadow:var(--shadow-glow-cyan);transform:translateY(-2px)}.card-selected{border-color:var(--accent-cyan)!important;box-shadow:0 0 0 2px #00f0ff33,var(--shadow-glow-cyan)}.game-card{width:90px;min-height:120px;background:var(--bg-tertiary);border:2px solid rgba(255,255,255,.1);border-radius:var(--radius-md);padding:var(--space-sm);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--space-xs);cursor:pointer;transition:all var(--transition-base);position:relative;overflow:hidden;font-size:var(--fs-xs);text-align:center}.game-card:before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:var(--card-color, var(--accent-cyan))}.game-card:hover{transform:translateY(-4px);border-color:var(--card-color, var(--accent-cyan));box-shadow:0 4px 20px #0000004d}.game-card.selected{border-color:var(--accent-yellow);box-shadow:0 0 15px #faff004d;transform:translateY(-6px)}.game-card .card-value{font-family:var(--font-mono);font-size:var(--fs-lg);font-weight:var(--fw-bold)}.game-card .card-label{font-size:var(--fs-xs);color:var(--text-secondary);line-height:1.2}.game-card .card-type-icon{font-size:var(--fs-xl)}.ticket{background:var(--bg-tertiary);border:2px solid rgba(255,255,255,.08);border-radius:var(--radius-md);padding:var(--space-md);cursor:pointer;transition:all var(--transition-base);display:flex;align-items:center;gap:var(--space-md);position:relative;overflow:hidden}.ticket:before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;background:var(--ticket-color, var(--accent-cyan))}.ticket:hover{border-color:var(--ticket-color, rgba(0, 240, 255, .4));background:#00f0ff0d;transform:translate(4px)}.ticket.selected{border-color:var(--accent-yellow);background:#faff0014}.ticket.drafted{opacity:.3;pointer-events:none}.ticket .ticket-racer{font-size:var(--fs-xl);width:40px;text-align:center}.ticket .ticket-info{flex:1}.ticket .ticket-info h4{font-weight:var(--fw-semibold);font-size:var(--fs-base);margin-bottom:2px}.ticket .ticket-info .ticket-detail{font-size:var(--fs-xs);color:var(--text-secondary)}.ticket .ticket-payout{text-align:right;font-family:var(--font-mono)}.ticket .ticket-payout .payout-amount{font-size:var(--fs-md);font-weight:var(--fw-bold);color:var(--accent-green)}.ticket .ticket-payout .penalty-amount{font-size:var(--fs-xs);color:var(--accent-red)}.ticket-risky .ticket-payout .payout-amount{color:var(--accent-yellow)}.risk-toggle{display:flex;background:var(--bg-secondary);border-radius:var(--radius-full);padding:3px;gap:2px}.risk-toggle button{padding:var(--space-sm) var(--space-md);border-radius:var(--radius-full);font-size:var(--fs-sm);font-weight:var(--fw-medium);transition:all var(--transition-fast);color:var(--text-secondary)}.risk-toggle button.active{color:var(--bg-primary);font-weight:var(--fw-bold)}.risk-toggle button.active.safe{background:var(--accent-green)}.risk-toggle button.active.risky{background:var(--accent-yellow)}.badge{display:inline-flex;align-items:center;gap:var(--space-xs);padding:2px var(--space-sm);border-radius:var(--radius-full);font-size:var(--fs-xs);font-weight:var(--fw-semibold);text-transform:uppercase;letter-spacing:.05em}.badge-safe{background:#00ff8826;color:var(--accent-green);border:1px solid rgba(0,255,136,.3)}.badge-risky{background:#faff0026;color:var(--accent-yellow);border:1px solid rgba(250,255,0,.3)}.badge-win{background:#00f0ff26;color:var(--accent-cyan)}.badge-lose{background:#ff444426;color:var(--accent-red)}.progress-bar{width:100%;height:8px;background:var(--bg-tertiary);border-radius:var(--radius-full);overflow:hidden}.progress-bar .progress-fill{height:100%;background:var(--gradient-primary);border-radius:var(--radius-full);transition:width .6s cubic-bezier(.34,1.56,.64,1)}.stat{text-align:center}.stat-value{font-family:var(--font-mono);font-size:var(--fs-xl);font-weight:var(--fw-bold);color:var(--accent-cyan);line-height:1}.stat-label{font-size:var(--fs-xs);color:var(--text-secondary);text-transform:uppercase;letter-spacing:.08em;margin-top:var(--space-xs)}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#000000b3;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);display:flex;align-items:center;justify-content:center;z-index:var(--z-modal);animation:fadeIn .2s ease;padding:var(--space-lg)}.modal{background:var(--bg-secondary);border:var(--border-subtle);border-radius:var(--radius-xl);padding:var(--space-xl);max-width:480px;width:100%;animation:fadeInScale .3s ease;max-height:90vh;overflow-y:auto}.modal h2{font-size:var(--fs-xl);font-weight:var(--fw-bold);margin-bottom:var(--space-lg)}.toast-container{position:fixed;top:var(--space-lg);left:50%;transform:translate(-50%);z-index:var(--z-toast);display:flex;flex-direction:column;gap:var(--space-sm);pointer-events:none}.toast{background:var(--bg-secondary);border:var(--border-subtle);border-radius:var(--radius-md);padding:var(--space-md) var(--space-lg);font-size:var(--fs-sm);font-weight:var(--fw-medium);box-shadow:var(--shadow-lg);animation:fadeInUp .3s ease forwards;pointer-events:auto;text-align:center}.toast-success{border-left:3px solid var(--accent-green)}.toast-error{border-left:3px solid var(--accent-red)}.toast-info{border-left:3px solid var(--accent-cyan)}.racetrack{position:relative;width:100%;background:var(--bg-secondary);border:var(--border-subtle);border-radius:var(--radius-lg);overflow:hidden;padding:var(--space-md)}.track-lane{display:flex;align-items:center;height:48px;position:relative;margin-bottom:var(--space-sm);background:#ffffff05;border-radius:var(--radius-sm);overflow:hidden}.track-lane:last-child{margin-bottom:0}.track-lane:after{content:"";position:absolute;right:40px;top:0;bottom:0;width:3px;background:repeating-linear-gradient(180deg,var(--text-muted) 0px,var(--text-muted) 4px,transparent 4px,transparent 8px);opacity:.4}.lane-label{width:36px;text-align:center;font-size:var(--fs-lg);flex-shrink:0}.lane-track{flex:1;height:100%;position:relative}.racer-pod{position:absolute;top:50%;transform:translateY(-50%);font-size:24px;transition:left .6s cubic-bezier(.34,1.56,.64,1);z-index:2;filter:drop-shadow(0 0 8px var(--racer-glow))}.racer-pod.crashed{animation:crashEffect .6s ease forwards;filter:grayscale(1) opacity(.5)}.racer-pod.finished{filter:drop-shadow(0 0 15px var(--racer-glow))}.finish-line{position:absolute;right:30px;top:0;bottom:0;width:20px;background:repeating-linear-gradient(45deg,#fff,#fff 5px,#333 5px,#333 10px);opacity:.3;border-radius:2px}.current-card-display{text-align:center;padding:var(--space-lg);animation:fadeInScale .3s ease}.current-card-display .card-big{display:inline-flex;flex-direction:column;align-items:center;gap:var(--space-sm);background:var(--bg-tertiary);border:2px solid var(--card-color, var(--accent-cyan));border-radius:var(--radius-lg);padding:var(--space-lg) var(--space-xl);box-shadow:0 0 30px rgba(var(--card-color-rgb, 0, 240, 255),.2);animation:fadeInScale .4s ease}.current-card-display .card-big .card-icon{font-size:3rem}.current-card-display .card-big .card-text{font-size:var(--fs-md);font-weight:var(--fw-semibold)}.current-card-display .card-big .card-effect{font-size:var(--fs-sm);color:var(--text-secondary)}.podium{display:flex;align-items:flex-end;justify-content:center;gap:var(--space-md);padding:var(--space-xl) 0}.podium-slot{text-align:center;animation:fadeInUp .5s ease forwards}.podium-slot .podium-place{font-size:var(--fs-3xl);font-weight:var(--fw-black)}.podium-slot .podium-bar{width:70px;border-radius:var(--radius-sm) var(--radius-sm) 0 0;margin:var(--space-sm) auto 0}.podium-slot:nth-child(1) .podium-bar{height:100px;background:var(--gradient-primary)}.podium-slot:nth-child(2) .podium-bar{height:70px;background:var(--bg-tertiary);border:var(--border-accent)}.podium-slot:nth-child(3) .podium-bar{height:50px;background:var(--bg-tertiary)}.podium-slot:nth-child(4) .podium-bar{height:30px;background:#f443}.podium-slot .podium-racer{font-size:var(--fs-xl);margin-top:var(--space-sm)}.podium-slot .podium-name{font-size:var(--fs-sm);color:var(--text-secondary);margin-top:var(--space-xs)}.scoreboard{display:flex;gap:var(--space-md);flex-wrap:wrap}.score-item{flex:1;min-width:120px;background:var(--bg-card);border:var(--border-subtle);border-radius:var(--radius-md);padding:var(--space-md);text-align:center}.score-item .score-name{font-size:var(--fs-sm);color:var(--text-secondary);margin-bottom:var(--space-xs)}.score-item .score-credits{font-family:var(--font-mono);font-size:var(--fs-lg);font-weight:var(--fw-bold);color:var(--accent-cyan)}.score-item .score-change{font-size:var(--fs-xs);margin-top:var(--space-xs)}.score-item .score-change.positive{color:var(--accent-green)}.score-item .score-change.negative{color:var(--accent-red)}.input{width:100%;padding:var(--space-md);background:var(--bg-tertiary);border:var(--border-subtle);border-radius:var(--radius-md);color:var(--text-primary);font-size:var(--fs-base);transition:border-color var(--transition-fast)}.input:focus{border-color:var(--accent-cyan);box-shadow:0 0 0 3px #00f0ff1a}.input::placeholder{color:var(--text-muted)}.select-wrapper{position:relative}.select-wrapper select{width:100%;padding:var(--space-md);padding-right:var(--space-xl);background:var(--bg-tertiary);border:var(--border-subtle);border-radius:var(--radius-md);color:var(--text-primary);font-size:var(--fs-base);-webkit-appearance:none;-moz-appearance:none;appearance:none;cursor:pointer}.select-wrapper:after{content:"▾";position:absolute;right:var(--space-md);top:50%;transform:translateY(-50%);color:var(--text-secondary);pointer-events:none}.divider{height:1px;background:#ffffff0f;margin:var(--space-lg) 0}.spinner{width:32px;height:32px;border:3px solid var(--bg-tertiary);border-top-color:var(--accent-cyan);border-radius:50%;animation:spin .8s linear infinite}.phase-banner{text-align:center;padding:var(--space-md);background:var(--bg-glass);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-bottom:var(--border-subtle);position:sticky;top:0;z-index:var(--z-overlay)}.phase-banner h2{font-size:var(--fs-lg);font-weight:var(--fw-bold);margin-bottom:var(--space-xs)}.phase-banner .phase-subtitle{font-size:var(--fs-sm);color:var(--text-secondary)}.round-indicator{display:flex;gap:var(--space-sm);align-items:center;justify-content:center}.round-dot{width:10px;height:10px;border-radius:var(--radius-full);background:var(--bg-tertiary);border:1px solid var(--text-muted);transition:all var(--transition-base)}.round-dot.active{background:var(--accent-cyan);border-color:var(--accent-cyan);box-shadow:0 0 8px #00f0ff80}.round-dot.completed{background:var(--accent-green);border-color:var(--accent-green)}.card-racer-pod{display:flex;align-items:center;justify-content:center;margin:2px 0}.card-racer-pod svg{overflow:visible}.ticket .ticket-racer{display:flex;align-items:center;justify-content:center;width:44px}.ticket .ticket-racer svg{overflow:visible}.podium-racer-pod{display:flex;align-items:center;justify-content:center;margin-bottom:var(--space-xs)}.podium-racer-pod svg{overflow:visible;filter:drop-shadow(0 2px 8px rgba(0,0,0,.3))}.card-pod-display{display:flex;align-items:center;justify-content:center;margin:var(--space-xs) 0}.card-pod-display svg{overflow:visible}.card-choice-section{display:flex;flex-direction:column;gap:var(--space-lg)}.choice-turn-info{text-align:center;padding:var(--space-md);background:var(--bg-glass);border-radius:var(--radius-md);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}.choice-player-name{font-weight:var(--fw-bold);font-size:var(--fs-md);color:var(--accent-cyan)}.choice-timer{display:flex;align-items:center;gap:var(--space-sm);margin-top:var(--space-sm);justify-content:center}.choice-timer-bar-bg{width:160px;height:6px;background:#ffffff14;border-radius:3px;overflow:hidden}.choice-timer-bar{height:100%;background:linear-gradient(90deg,var(--accent-red),var(--accent-yellow));border-radius:3px;transition:width 1s linear}.choice-timer-text{font-family:var(--font-mono);font-size:var(--fs-lg);font-weight:var(--fw-bold);color:var(--accent-yellow);min-width:20px;text-align:center}.choice-cards{display:flex;gap:var(--space-lg);justify-content:center;perspective:1200px}.card-facedown{width:110px;min-height:160px;background:linear-gradient(135deg,#1a1e3a,#2a2e5a,#1a1e3a);border:2px solid rgba(0,240,255,.15);border-radius:var(--radius-md);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--space-md);cursor:pointer;transition:all .2s ease;position:relative;overflow:hidden;box-shadow:var(--shadow-md)}.card-facedown:before{content:"";position:absolute;top:6px;right:6px;bottom:6px;left:6px;border:1px solid rgba(0,240,255,.1);border-radius:var(--radius-sm);background:repeating-linear-gradient(45deg,transparent,transparent 8px,rgba(0,240,255,.03) 8px,rgba(0,240,255,.03) 16px)}.card-facedown .card-back-pattern{font-size:3rem;opacity:.6;z-index:1}.card-facedown .card-back-number{font-family:var(--font-mono);font-size:var(--fs-sm);color:var(--text-muted);z-index:1}.card-facedown:hover{animation:cardJiggle .4s ease infinite;border-color:#00f0ff80;box-shadow:0 8px 30px #00f0ff33}@keyframes cardJiggle{0%,to{transform:rotate(0) translateY(0)}15%{transform:rotate(-3deg) translateY(-4px)}30%{transform:rotate(2.5deg) translateY(-2px)}45%{transform:rotate(-2deg) translateY(-5px)}60%{transform:rotate(1.5deg) translateY(-3px)}75%{transform:rotate(-1deg) translateY(-4px)}}.card-facedown-disabled{pointer-events:none;opacity:.7}.card-facedown-disabled:hover{animation:none}.card-face-content{display:none;flex-direction:column;align-items:center;justify-content:center;gap:var(--space-sm);z-index:1;width:100%;height:100%;padding:var(--space-sm)}.card-suspense-zoom{animation:suspenseZoom 2s ease-in forwards;z-index:20;pointer-events:none}@keyframes suspenseZoom{0%{transform:scale(1) translateY(0) translateZ(0);box-shadow:var(--shadow-md)}30%{transform:scale(1.15) translateY(-15px) translateZ(30px);box-shadow:0 15px 50px #00f0ff26}60%{transform:scale(1.35) translateY(-30px) translateZ(60px);box-shadow:0 25px 70px #00f0ff40;border-color:#00f0ff66}85%{transform:scale(1.55) translateY(-45px) translateZ(100px);box-shadow:0 40px 100px #00f0ff59;border-color:#00f0ff99}to{transform:scale(1.65) translateY(-55px) translateZ(120px);box-shadow:0 50px 120px #00f0ff66;border-color:#00f0ffb3}}.card-suspense-dim{transition:all 1s ease;opacity:.3;transform:scale(.9);filter:brightness(.5);pointer-events:none}.card-slam-impact{animation:slamImpact .4s cubic-bezier(.22,.68,0,1.71) forwards;z-index:20;pointer-events:none}@keyframes slamImpact{0%{transform:scale(1.65) translateY(-55px);box-shadow:0 50px 120px #00f0ff66}50%{transform:scale(1.1) translateY(8px);box-shadow:0 2px 10px #00f0ff99}70%{transform:scale(1.2) translateY(-3px)}to{transform:scale(1.15) translateY(0);box-shadow:0 0 40px #0f86,0 0 80px #00ff8826}}.card-chosen-final{width:130px;min-height:185px;border-color:var(--accent-green)!important;box-shadow:0 0 40px #0f86,0 0 80px #00ff8826;z-index:10;transition:width .3s ease,min-height .3s ease}.card-chosen-badge{position:absolute;bottom:4px;left:0;right:0;text-align:center;font-size:var(--fs-xs);font-weight:var(--fw-bold);color:var(--accent-green);background:#00ff8826;padding:2px;border-radius:0 0 var(--radius-sm) var(--radius-sm)}.card-slam-jiggle{animation:slamForceJiggle .6s ease-out forwards;opacity:1!important;transform:scale(1)!important;filter:none!important}@keyframes slamForceJiggle{0%{transform:scale(.9) rotate(0) translateY(0)}10%{transform:scale(1) rotate(-5deg) translateY(-8px)}20%{transform:scale(1.02) rotate(4deg) translateY(3px)}35%{transform:scale(.98) rotate(-3deg) translateY(-5px)}50%{transform:scale(1) rotate(2deg) translateY(2px)}65%{transform:scale(1.01) rotate(-1.5deg) translateY(-3px)}80%{transform:scale(1) rotate(.5deg) translateY(1px)}to{transform:scale(1) rotate(0) translateY(0)}}.camera-shake{animation:cameraShake .6s cubic-bezier(.36,.07,.19,.97) both}@keyframes cameraShake{0%,to{transform:translate(0) rotate(0)}10%{transform:translate(-8px,-5px) rotate(-.7deg)}20%{transform:translate(7px,4px) rotate(.6deg)}30%{transform:translate(-5px,6px) rotate(-.4deg)}40%{transform:translate(8px,-4px) rotate(.5deg)}50%{transform:translate(-4px,5px) rotate(-.3deg)}60%{transform:translate(5px,-6px) rotate(.4deg)}70%{transform:translate(-6px,3px) rotate(-.5deg)}80%{transform:translate(4px,-3px) rotate(.3deg)}90%{transform:translate(-3px,4px) rotate(-.2deg)}}.card-discarded-flip{opacity:.6;filter:grayscale(.4) brightness(.8);transition:filter .3s ease,opacity .3s ease}.card-discarded-badge{position:absolute;bottom:4px;left:0;right:0;text-align:center;font-size:var(--fs-xs);color:var(--text-muted);opacity:.7}.card-slide-out{animation:slideOutDown .6s cubic-bezier(.55,.06,.68,.19) forwards}@keyframes slideOutDown{0%{transform:translateY(0) scale(1);opacity:.6}30%{transform:translateY(10px) scale(.95);opacity:.5}to{transform:translateY(200px) scale(.6);opacity:0;pointer-events:none}}.choice-result{display:flex;flex-direction:column;gap:var(--space-md);animation:fadeInUp .3s ease}.choice-result-text{text-align:center;font-size:var(--fs-md);font-weight:var(--fw-semibold);color:var(--text-primary);padding:var(--space-md);background:var(--bg-card);border:var(--border-subtle);border-radius:var(--radius-md)}.screen{flex:1;display:flex;flex-direction:column;max-width:520px;margin:0 auto;width:100%;padding:var(--space-lg)}.menu-screen{justify-content:center;align-items:center;text-align:center;gap:var(--space-xl);min-height:100vh;min-height:100dvh;padding-top:var(--space-3xl);padding-bottom:var(--space-3xl)}.menu-logo{animation:fadeInUp .6s ease}.menu-logo .logo-icon{font-size:4rem;margin-bottom:var(--space-md);animation:float 3s ease-in-out infinite}.menu-logo h1{font-size:var(--fs-3xl);font-weight:var(--fw-black);letter-spacing:-.02em;line-height:1.1}.menu-logo .tagline{font-size:var(--fs-base);color:var(--text-secondary);margin-top:var(--space-sm);font-weight:var(--fw-light)}.menu-profile-badge{display:flex;align-items:center;gap:var(--space-md);background:var(--bg-card);border:var(--border-subtle);border-radius:var(--radius-lg);padding:var(--space-md) var(--space-lg);animation:fadeInUp .6s ease .1s both;cursor:pointer;transition:all var(--transition-base)}.menu-profile-badge:hover{border-color:#00f0ff33;transform:translateY(-2px)}.menu-profile-badge .profile-avatar{font-size:var(--fs-2xl)}.menu-profile-badge .profile-info{text-align:left}.menu-profile-badge .profile-name{font-weight:var(--fw-semibold);font-size:var(--fs-md)}.menu-profile-badge .profile-level{font-size:var(--fs-xs);color:var(--accent-cyan);font-family:var(--font-mono)}.menu-actions{display:flex;flex-direction:column;gap:var(--space-md);width:100%;max-width:320px;animation:fadeInUp .6s ease .2s both}.menu-footer{font-size:var(--fs-xs);color:var(--text-muted);animation:fadeInUp .6s ease .3s both}.lobby-screen{padding-top:var(--space-xl);gap:var(--space-xl)}.lobby-header{display:flex;align-items:center;gap:var(--space-md)}.lobby-header h1{font-size:var(--fs-xl);font-weight:var(--fw-bold);flex:1}.lobby-section{animation:fadeInUp .4s ease forwards}.lobby-section h3{font-size:var(--fs-md);font-weight:var(--fw-semibold);margin-bottom:var(--space-md);color:var(--text-secondary)}.bot-count-selector{display:flex;gap:var(--space-sm)}.bot-count-selector button{width:48px;height:48px;border-radius:var(--radius-md);background:var(--bg-tertiary);border:var(--border-subtle);font-size:var(--fs-lg);font-weight:var(--fw-bold);transition:all var(--transition-fast)}.bot-count-selector button.active{background:var(--accent-cyan);color:var(--bg-primary);border-color:var(--accent-cyan);box-shadow:var(--shadow-glow-cyan)}.difficulty-selector{display:flex;gap:var(--space-sm)}.difficulty-selector button{flex:1;padding:var(--space-md);border-radius:var(--radius-md);background:var(--bg-tertiary);border:var(--border-subtle);font-weight:var(--fw-medium);transition:all var(--transition-fast)}.difficulty-selector button.active{border-color:var(--accent-cyan);background:#00f0ff1a;color:var(--accent-cyan)}.lobby-start{margin-top:var(--space-lg)}.game-screen{padding:0;max-width:100%}.game-content{flex:1;padding:var(--space-md);max-width:520px;margin:0 auto;width:100%;display:flex;flex-direction:column;gap:var(--space-lg)}.betting-section{display:flex;flex-direction:column;gap:var(--space-md)}.draft-info{text-align:center;padding:var(--space-sm);background:var(--bg-glass);border-radius:var(--radius-md);font-size:var(--fs-sm)}.draft-info .drafter-name{font-weight:var(--fw-bold);color:var(--accent-cyan)}.tickets-list{display:flex;flex-direction:column;gap:var(--space-sm);max-height:50vh;overflow-y:auto;padding-right:var(--space-sm)}.race-section{display:flex;flex-direction:column;gap:var(--space-lg)}.race-controls{display:flex;gap:var(--space-md);justify-content:center}.influence-section{display:flex;flex-direction:column;gap:var(--space-lg)}.hand-cards{display:flex;gap:var(--space-md);justify-content:center;flex-wrap:wrap}.resolution-section{display:flex;flex-direction:column;gap:var(--space-lg)}.bet-results{display:flex;flex-direction:column;gap:var(--space-sm)}.bet-result-item{display:flex;align-items:center;gap:var(--space-md);padding:var(--space-md);background:var(--bg-tertiary);border-radius:var(--radius-md);animation:slideInRight .3s ease forwards}.bet-result-item .result-icon{font-size:var(--fs-xl)}.bet-result-item .result-info{flex:1}.bet-result-item .result-amount{font-family:var(--font-mono);font-weight:var(--fw-bold);font-size:var(--fs-md)}.bet-result-item .result-amount.positive{color:var(--accent-green)}.bet-result-item .result-amount.negative{color:var(--accent-red)}.character-screen{padding-top:var(--space-xl);gap:var(--space-xl)}.character-header{display:flex;align-items:center;gap:var(--space-md)}.character-header h1{font-size:var(--fs-xl);font-weight:var(--fw-bold);flex:1}.character-avatar-section{text-align:center;animation:fadeInUp .4s ease}.character-avatar-section .big-avatar{font-size:5rem;margin-bottom:var(--space-md)}.character-avatar-section .character-name{font-size:var(--fs-xl);font-weight:var(--fw-bold);margin-bottom:var(--space-xs)}.character-level-section{animation:fadeInUp .4s ease .1s both}.character-level-section .level-display{display:flex;align-items:baseline;gap:var(--space-sm);margin-bottom:var(--space-sm)}.character-level-section .level-number{font-family:var(--font-mono);font-size:var(--fs-2xl);font-weight:var(--fw-bold);color:var(--accent-cyan)}.character-level-section .level-label{font-size:var(--fs-sm);color:var(--text-secondary)}.character-level-section .xp-text{font-size:var(--fs-xs);color:var(--text-secondary);margin-top:var(--space-xs);font-family:var(--font-mono)}.character-stats{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--space-md);animation:fadeInUp .4s ease .2s both}.character-abilities{animation:fadeInUp .4s ease .3s both}.abilities-list{display:flex;flex-direction:column;gap:var(--space-sm)}.ability-item{display:flex;align-items:center;gap:var(--space-md);padding:var(--space-md);background:var(--bg-tertiary);border-radius:var(--radius-md);border:var(--border-subtle)}.ability-item.locked{opacity:.4}.ability-item .ability-icon{font-size:var(--fs-xl)}.ability-item .ability-info{flex:1}.ability-item .ability-info h4{font-weight:var(--fw-semibold);font-size:var(--fs-base)}.ability-item .ability-info p{font-size:var(--fs-xs);color:var(--text-secondary);margin-top:2px}.ability-item .ability-level{font-family:var(--font-mono);font-size:var(--fs-xs);color:var(--accent-cyan)}.avatar-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:var(--space-sm)}.avatar-option{width:48px;height:48px;display:flex;align-items:center;justify-content:center;font-size:var(--fs-xl);background:var(--bg-tertiary);border:2px solid transparent;border-radius:var(--radius-md);cursor:pointer;transition:all var(--transition-fast)}.avatar-option:hover{border-color:#00f0ff4d}.avatar-option.selected{border-color:var(--accent-cyan);background:#00f0ff1a;box-shadow:var(--shadow-glow-cyan)}.gameover-screen{justify-content:center;align-items:center;text-align:center;gap:var(--space-xl);min-height:100vh;min-height:100dvh}.gameover-title{animation:fadeInUp .6s ease}.gameover-title h1{font-size:var(--fs-3xl);font-weight:var(--fw-black);margin-bottom:var(--space-sm)}.gameover-title .winner-badge{font-size:var(--fs-lg);color:var(--accent-yellow)}.gameover-standings{width:100%;animation:fadeInUp .6s ease .2s both}.gameover-xp{animation:fadeInUp .6s ease .3s both}.gameover-actions{display:flex;flex-direction:column;gap:var(--space-md);width:100%;max-width:320px;animation:fadeInUp .6s ease .4s both}.visible-cards-section h3{font-size:var(--fs-md);font-weight:var(--fw-semibold);margin-bottom:var(--space-md);color:var(--text-secondary)}.visible-cards-grid{display:flex;gap:var(--space-sm);flex-wrap:wrap;justify-content:center}.race-info-bar{display:flex;justify-content:space-between;align-items:center;padding:var(--space-sm) var(--space-md);background:var(--bg-card);border-radius:var(--radius-md);font-size:var(--fs-sm)}.race-info-bar .cards-remaining{font-family:var(--font-mono);color:var(--accent-cyan)}@media (max-width: 480px){.screen{padding:var(--space-md)}.menu-logo h1{font-size:var(--fs-2xl)}.game-card{width:75px;min-height:100px}.ticket{padding:var(--space-sm)}.scoreboard{gap:var(--space-sm)}.score-item{min-width:0;padding:var(--space-sm)}.avatar-grid{grid-template-columns:repeat(4,1fr)}.character-stats{grid-template-columns:1fr}}@media (min-width: 768px){.game-content{max-width:600px}.tickets-list{max-height:60vh}}.racer-sprite{display:inline-flex;align-items:center;justify-content:center;position:relative;transition:transform .3s ease}.racer-sprite svg{display:block;overflow:visible}.track-racer{position:absolute;top:50%;transform:translateY(-50%);z-index:5;transition:left .6s cubic-bezier(.34,1.56,.64,1);cursor:default}.track-racer-glow{position:absolute;top:-4px;right:-4px;bottom:-4px;left:-4px;border-radius:50%;opacity:.25;filter:blur(6px);z-index:-1;animation:racer-glow-pulse 2s ease-in-out infinite}.racer-state-idle .hover-pod-svg{animation:pod-hover 2.5s ease-in-out infinite}.racer-state-moving .hover-pod-svg{animation:pod-moving .4s ease-in-out infinite}.racer-state-boost .hover-pod-svg{animation:pod-boost .15s ease-in-out infinite}.racer-state-crash .hover-pod-svg{animation:pod-crash .6s ease forwards}.racer-state-finish .hover-pod-svg{animation:pod-finish 1s ease forwards}@keyframes pod-hover{0%,to{transform:translateY(0)}50%{transform:translateY(-3px)}}@keyframes pod-moving{0%,to{transform:translate(0) translateY(0)}25%{transform:translate(2px) translateY(-1px)}75%{transform:translate(1px) translateY(1px)}}@keyframes pod-boost{0%,to{transform:translate(0) scale(1.05);filter:brightness(1.3)}50%{transform:translate(3px) scale(1.08);filter:brightness(1.5)}}@keyframes pod-crash{0%{transform:rotate(0) scale(1);opacity:1}20%{transform:rotate(15deg) scale(1.1)}50%{transform:rotate(-20deg) scale(.9)}70%{transform:rotate(10deg) scale(.85)}to{transform:rotate(5deg) scale(.7);opacity:.4;filter:grayscale(.8) brightness(.5)}}@keyframes pod-finish{0%{transform:scale(1)}50%{transform:scale(1.2);filter:brightness(1.5)}to{transform:scale(1.05);filter:brightness(1.2) drop-shadow(0 0 10px rgba(255,215,0,.5))}}@keyframes racer-glow-pulse{0%,to{opacity:.2;transform:scale(1)}50%{opacity:.4;transform:scale(1.2)}}.racetrack-2d5{position:relative;width:100%;background:linear-gradient(180deg,#0a0e1af2,#111728e6);border:1px solid rgba(255,255,255,.08);border-radius:var(--radius-lg);overflow:hidden;padding:var(--space-md) var(--space-md) var(--space-sm);perspective:800px}.racetrack-2d5:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:repeating-linear-gradient(90deg,transparent 0px,transparent 59px,rgba(255,255,255,.03) 59px,rgba(255,255,255,.03) 60px),repeating-linear-gradient(0deg,transparent 0px,transparent 47px,rgba(255,255,255,.02) 47px,rgba(255,255,255,.02) 48px);pointer-events:none;z-index:0}.racetrack-2d5:after{content:"";position:absolute;left:0;top:0;width:100%;height:2px;background:linear-gradient(90deg,transparent,rgba(0,240,255,.15),transparent);animation:scanline 4s linear infinite;pointer-events:none;z-index:1}@keyframes scanline{0%{top:0%}to{top:100%}}.track-lane-2d5{display:flex;align-items:center;height:52px;position:relative;margin-bottom:var(--space-xs);background:#ffffff05;border-radius:var(--radius-md);overflow:visible;z-index:2;transition:background .3s ease}.track-lane-2d5:hover{background:#ffffff0a}.track-lane-2d5:last-child{margin-bottom:0}.track-lane-2d5:before{content:"";position:absolute;bottom:-1px;left:10%;right:10%;height:1px;background:linear-gradient(90deg,transparent,rgba(255,255,255,.06),transparent)}.lane-label-2d5{width:44px;display:flex;align-items:center;justify-content:center;flex-shrink:0;position:relative;z-index:3}.lane-racer-icon{width:32px;height:32px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:14px;font-weight:700;border:2px solid;position:relative;overflow:hidden}.lane-racer-icon:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(180deg,rgba(255,255,255,.2) 0%,transparent 50%);border-radius:50%}.lane-track-2d5{flex:1;height:100%;position:relative;overflow:visible}.lane-track-2d5 .distance-markers{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;justify-content:space-between;padding:0 40px 0 0;pointer-events:none;z-index:0}.lane-track-2d5 .distance-marker{width:1px;height:100%;background:#ffffff0a}.finish-line-2d5{position:absolute;right:25px;top:0;bottom:0;width:16px;background:repeating-linear-gradient(45deg,#ffffffe6,#ffffffe6 4px,#323232e6 4px,#323232e6 8px);opacity:.25;border-radius:2px;z-index:1;box-shadow:0 0 15px #ffffff1a}.track-racer.crashed{filter:grayscale(.7) brightness(.5);pointer-events:none}.track-racer.crashed .track-racer-glow{opacity:0}.track-racer.finished .track-racer-glow{opacity:.5;animation:racer-glow-pulse .5s ease-in-out infinite}.particle{position:absolute;pointer-events:none;z-index:100;will-change:left,top,opacity,transform}.particle-spark{border-radius:1px;transform:rotate(45deg)}.particle-star{clip-path:polygon(50% 0%,61% 35%,98% 35%,68% 57%,79% 91%,50% 70%,21% 91%,32% 57%,2% 35%,39% 35%)}.racer-trail{position:absolute;top:50%;transform:translateY(-50%);height:4px;border-radius:2px;opacity:0;pointer-events:none;z-index:1;transition:opacity .3s ease,width .3s ease}.racer-trail.active{opacity:.6;animation:trail-fade .4s ease forwards}@keyframes trail-fade{0%{opacity:.6}to{opacity:0;width:0}}.showcase-racer{position:relative;display:inline-flex;align-items:center;justify-content:center;padding:20px}.showcase-racer svg{filter:drop-shadow(0 0 20px rgba(0,240,255,.3))}.showcase-glow-ring{position:absolute;top:-10px;right:-10px;bottom:-10px;left:-10px;border:2px solid rgba(0,240,255,.3);border-radius:50%;animation:showcase-pulse 2s ease-in-out infinite;pointer-events:none}@keyframes showcase-pulse{0%,to{transform:scale(1);opacity:.3;border-color:#00f0ff4d}50%{transform:scale(1.15);opacity:.6;border-color:#00f0ff99}}.character-display{position:relative;text-align:center;padding:var(--space-xl)}.character-display-bg{position:absolute;top:0;right:0;bottom:0;left:0;opacity:.15;pointer-events:none;border-radius:var(--radius-lg)}.character-display-pod{position:relative;z-index:1;margin-bottom:var(--space-md);display:flex;justify-content:center}.character-display-pod svg{filter:drop-shadow(0 0 25px rgba(0,240,255,.3))}.character-display-name{font-size:var(--fs-xl);font-weight:var(--fw-bold);letter-spacing:.05em;text-transform:uppercase;margin-bottom:var(--space-xs)}.character-display-desc{font-size:var(--fs-sm);color:var(--text-secondary)}.racers-parade{display:flex;justify-content:center;gap:var(--space-lg);margin:var(--space-xl) 0;flex-wrap:wrap}.parade-racer{display:flex;flex-direction:column;align-items:center;gap:var(--space-sm);opacity:0;animation:parade-enter .6s ease forwards;cursor:pointer;transition:transform .3s ease}.parade-racer:hover{transform:translateY(-5px) scale(1.05)}.parade-racer:nth-child(1){animation-delay:.1s}.parade-racer:nth-child(2){animation-delay:.2s}.parade-racer:nth-child(3){animation-delay:.3s}.parade-racer:nth-child(4){animation-delay:.4s}@keyframes parade-enter{0%{opacity:0;transform:translateY(20px) scale(.8)}to{opacity:1;transform:translateY(0) scale(1)}}.parade-racer-name{font-size:var(--fs-xs);font-weight:var(--fw-semibold);text-transform:uppercase;letter-spacing:.08em}.card-draw-animation{animation:card-draw .5s cubic-bezier(.34,1.56,.64,1) forwards}@keyframes card-draw{0%{opacity:0;transform:translateY(-30px) rotateX(30deg) scale(.5)}60%{opacity:1;transform:translateY(5px) rotateX(-5deg) scale(1.05)}to{opacity:1;transform:translateY(0) rotateX(0) scale(1)}}.race-info-bar-2d5{display:flex;justify-content:space-between;align-items:center;padding:var(--space-sm) var(--space-md);margin-bottom:var(--space-md);background:var(--bg-glass);border-radius:var(--radius-md);border:var(--border-subtle);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);font-size:var(--fs-sm)}.race-info-bar-2d5 .round-label{color:var(--text-primary);font-weight:var(--fw-semibold)}.race-info-bar-2d5 .cards-count{color:var(--accent-cyan);font-family:var(--font-mono);font-weight:var(--fw-bold)}.race-controls-2d5{display:flex;gap:var(--space-md);justify-content:center;margin-top:var(--space-lg)}.speed-lines{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;overflow:hidden;z-index:0;opacity:0;transition:opacity .5s ease}.speed-lines.active{opacity:1}.speed-line{position:absolute;height:1px;background:linear-gradient(90deg,transparent,rgba(0,240,255,.15),transparent);animation:speed-line-move .8s linear infinite}@keyframes speed-line-move{0%{transform:translate(100%);opacity:0}20%{opacity:1}80%{opacity:1}to{transform:translate(-100%);opacity:0}}@media (max-width: 480px){.track-lane-2d5{height:44px}.lane-label-2d5{width:36px}.lane-racer-icon{width:26px;height:26px;font-size:11px}.racers-parade{gap:var(--space-md)}.parade-racer .racer-sprite svg{width:56px;height:39px}}.connection-badge{font-size:var(--fs-xs);font-family:var(--font-mono);padding:var(--space-xs) var(--space-sm);border-radius:var(--radius-sm);background:var(--bg-tertiary);text-transform:capitalize}.online-header{display:flex;align-items:center;justify-content:space-between;padding:var(--space-md) var(--space-lg);border-bottom:1px solid var(--border)}.online-header h1{font-size:var(--fs-lg);font-weight:var(--fw-bold)}.online-content{padding:var(--space-lg);max-width:600px;margin:0 auto;display:flex;flex-direction:column;gap:var(--space-lg)}.create-options{display:flex;flex-direction:column;gap:var(--space-md);margin-bottom:var(--space-lg)}.option-row{display:flex;align-items:center;justify-content:space-between;gap:var(--space-md)}.option-row label{font-size:var(--fs-sm);color:var(--text-secondary);white-space:nowrap}.option-selector{display:flex;gap:var(--space-xs)}.option-btn{width:36px;height:36px;border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--bg-tertiary);color:var(--text-primary);font-weight:var(--fw-medium);cursor:pointer;transition:all .2s;font-size:var(--fs-sm)}.option-btn:hover{border-color:var(--accent-cyan)}.option-btn.active{background:var(--accent-cyan);border-color:var(--accent-cyan);color:var(--bg-primary);font-weight:var(--fw-bold)}.toggle-btn{padding:var(--space-xs) var(--space-md);border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--bg-tertiary);color:var(--text-primary);cursor:pointer;font-size:var(--fs-sm);transition:all .2s}.toggle-btn.active{border-color:var(--accent-green);background:#00e6761a}.rooms-list{display:flex;flex-direction:column;gap:var(--space-sm)}.room-card{display:flex;align-items:center;justify-content:space-between;padding:var(--space-md);background:var(--bg-secondary);border:1px solid var(--border);border-radius:var(--radius-md);transition:all .2s;cursor:pointer}.room-card:hover{border-color:var(--accent-cyan);background:var(--bg-tertiary)}.room-info{flex:1}.room-name{font-weight:var(--fw-semibold);margin-bottom:var(--space-xs)}.room-details{display:flex;align-items:center;gap:var(--space-sm)}.room-players{display:flex;align-items:center;gap:var(--space-md)}.room-player-count{font-family:var(--font-mono);font-weight:var(--fw-bold);font-size:var(--fs-lg);color:var(--accent-cyan)}.empty-rooms{text-align:center;padding:var(--space-2xl)}.room-code-display{font-family:var(--font-mono);font-size:var(--fs-2xl);font-weight:var(--fw-bold);letter-spacing:6px;color:var(--accent-cyan);text-shadow:0 0 20px rgba(0,240,255,.4);-webkit-user-select:all;user-select:all;cursor:pointer;padding:var(--space-sm)}.room-player-list{display:flex;flex-direction:column;gap:var(--space-sm)}.room-player-item{display:flex;align-items:center;gap:var(--space-md);padding:var(--space-sm) var(--space-md);border-radius:var(--radius-md);border:1px solid transparent;transition:all .2s}.room-player-item.is-me{border-color:var(--accent-cyan);background:#00f0ff0d}.room-player-item.empty-slot{opacity:.4;border:1px dashed var(--border)}.room-player-avatar{font-size:var(--fs-xl);width:40px;text-align:center}.room-player-name{flex:1;font-weight:var(--fw-medium)}.room-player-badges{display:flex;align-items:center;gap:var(--space-xs)}.online-status-bar{display:flex;align-items:center;justify-content:space-between;padding:var(--space-xs) var(--space-md);background:var(--bg-tertiary);border-bottom:1px solid var(--border);font-size:var(--fs-xs);font-family:var(--font-mono)}.online-status-bar .latency{color:var(--text-muted)}.turn-timer{display:flex;align-items:center;gap:var(--space-sm);padding:var(--space-sm) var(--space-md);border-radius:var(--radius-md);background:var(--bg-tertiary);font-family:var(--font-mono);font-weight:var(--fw-bold);transition:all .3s}.turn-timer.warning{background:#fa03;color:var(--accent-yellow);animation:pulse 1s infinite}.turn-timer.critical{background:#ff454533;color:var(--accent-red);animation:pulse .5s infinite;font-size:var(--fs-lg)}.disconnect-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#000c;display:flex;align-items:center;justify-content:center;z-index:1000;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.disconnect-message{text-align:center;padding:var(--space-2xl)}.disconnect-message h2{font-size:var(--fs-xl);margin-bottom:var(--space-md)}.disconnect-message .spinner{margin:var(--space-lg) auto}.player-notification{position:fixed;top:var(--space-lg);right:var(--space-lg);padding:var(--space-sm) var(--space-md);background:var(--bg-secondary);border:1px solid var(--border);border-radius:var(--radius-md);font-size:var(--fs-sm);z-index:100;animation:slideInRight .3s ease,fadeOut .3s ease 3s forwards}@keyframes slideInRight{0%{transform:translate(100%);opacity:0}to{transform:translate(0);opacity:1}}@keyframes fadeOut{to{opacity:0;transform:translateY(-10px)}}
