:root{--bg-primary: hsl(230, 25%, 7%);--bg-surface: hsl(230, 20%, 11%);--bg-elevated: hsl(230, 18%, 15%);--bg-overlay: hsla(230, 25%, 4%, .85);--border-color: hsl(230, 15%, 20%);--border-light: hsl(230, 18%, 28%);--text-primary: hsl(220, 25%, 96%);--text-secondary: hsl(220, 15%, 70%);--text-muted: hsl(220, 10%, 50%);--text-inverse: hsl(230, 25%, 7%);--accent-primary: hsl(35, 100%, 55%);--accent-primary-hover: hsl(35, 100%, 65%);--accent-primary-active: hsl(35, 100%, 45%);--accent-secondary: hsl(330, 85%, 60%);--accent-secondary-hover: hsl(330, 85%, 70%);--gradient-primary: linear-gradient(135deg, var(--accent-primary), hsl(15, 95%, 60%));--gradient-primary-hover: linear-gradient(135deg, var(--accent-primary-hover), hsl(15, 95%, 68%));--gradient-glow: linear-gradient(135deg, hsla(35, 100%, 55%, .3), hsla(330, 85%, 60%, .3));--gradient-subtle: linear-gradient(135deg, hsla(35, 100%, 55%, .1), hsla(330, 85%, 60%, .1));--gradient-bg: radial-gradient(circle at 0% 0%, hsla(35, 100%, 55%, .06) 0%, transparent 40%), radial-gradient(circle at 100% 100%, hsla(330, 85%, 60%, .05) 0%, transparent 40%);--success: hsl(150, 80%, 45%);--success-bg: hsla(150, 80%, 45%, .12);--success-border: hsla(150, 80%, 45%, .3);--error: hsl(350, 85%, 60%);--error-bg: hsla(350, 85%, 60%, .12);--error-border: hsla(350, 85%, 60%, .3);--warning: hsl(40, 95%, 60%);--warning-bg: hsla(40, 95%, 60%, .12);--warning-border: hsla(40, 95%, 60%, .3);--info: hsl(200, 90%, 55%);--info-bg: hsla(200, 90%, 55%, .12);--sp-0: 0px;--sp-1: 4px;--sp-2: 8px;--sp-3: 12px;--sp-4: 16px;--sp-5: 20px;--sp-6: 24px;--sp-8: 32px;--sp-10: 40px;--sp-12: 48px;--sp-16: 64px;--sp-20: 80px;--sp-24: 96px;--radius-xs: 4px;--radius-sm: 6px;--radius-md: 10px;--radius-lg: 14px;--radius-xl: 20px;--radius-2xl: 28px;--radius-full: 9999px;--shadow-xs: 0 2px 4px hsla(0, 0%, 0%, .3);--shadow-sm: 0 4px 8px hsla(0, 0%, 0%, .4);--shadow-md: 0 8px 16px hsla(0, 0%, 0%, .5);--shadow-lg: 0 16px 32px hsla(0, 0%, 0%, .6);--shadow-xl: 0 24px 64px hsla(0, 0%, 0%, .7);--shadow-glow: 0 0 20px hsla(15, 90%, 60%, .25);--shadow-glow-lg: 0 0 40px hsla(15, 90%, 60%, .2), 0 0 80px hsla(45, 95%, 55%, .1);--shadow-success: 0 0 20px hsla(145, 75%, 45%, .3);--shadow-error: 0 0 20px hsla(350, 80%, 55%, .3);--font-family: "DM Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--font-display: "Outfit", -apple-system, BlinkMacSystemFont, sans-serif;--font-mono: "JetBrains Mono", "Fira Code", "Consolas", monospace;--font-xs: .75rem;--font-sm: .875rem;--font-base: 1rem;--font-lg: 1.125rem;--font-xl: 1.25rem;--font-2xl: 1.5rem;--font-3xl: 2rem;--font-4xl: 2.5rem;--font-5xl: 4rem;--leading-tight: 1.1;--leading-normal: 1.5;--leading-relaxed: 1.8;--tracking-tight: -.03em;--tracking-normal: -.01em;--tracking-wide: .02em;--tracking-wider: .05em;--transition-fast: .15s ease;--transition-base: .25s ease;--transition-slow: .4s ease;--transition-spring: .5s cubic-bezier(.34, 1.56, .64, 1);--ease-out-expo: cubic-bezier(.16, 1, .3, 1);--ease-in-out-quart: cubic-bezier(.76, 0, .24, 1);--z-base: 0;--z-above: 1;--z-dropdown: 10;--z-sticky: 20;--z-overlay: 50;--z-modal: 100;--z-toast: 200;--z-tooltip: 300;--glass-bg: hsla(240, 12%, 10%, .7);--glass-bg-strong: hsla(240, 15%, 5%, .85);--glass-blur: blur(16px);--glass-blur-strong: blur(24px);--glass-border: 1px solid hsla(240, 15%, 35%, .3);--glass-border-light: 1px solid hsla(240, 15%, 45%, .2);--container-sm: 640px;--container-md: 768px;--container-lg: 1024px;--container-xl: 1280px;--header-height: 64px}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}ul,ol{list-style:none}html{-moz-text-size-adjust:none;-webkit-text-size-adjust:none;text-size-adjust:none;scroll-behavior:smooth}html,body{min-height:100%;overflow-x:hidden}body{background-color:var(--bg-primary);color:var(--text-primary);font-family:var(--font-family);font-size:var(--font-base);line-height:var(--leading-normal);letter-spacing:var(--tracking-normal);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-feature-settings:"cv02","cv03","cv04","cv11";text-rendering:optimizeLegibility}body:before{content:"";position:fixed;top:0;right:0;bottom:0;left:0;background:var(--gradient-bg);pointer-events:none;z-index:-2}body:after{content:"";position:fixed;top:0;right:0;bottom:0;left:0;z-index:-1;pointer-events:none;opacity:.05;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noiseFilter'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noiseFilter)'/%3E%3C/svg%3E")}#app{display:flex;flex-direction:column;min-height:100vh;min-height:100dvh;position:relative;isolation:isolate}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.skip-link{position:absolute;top:-40px;left:50%;transform:translate(-50%);background:var(--accent-primary);color:#fff;padding:8px 16px;z-index:var(--z-toast);border-radius:0 0 var(--radius-md) var(--radius-md);font-weight:700;transition:top .2s}.skip-link:focus{top:0;outline:2px solid white}h1,h2,h3,h4,h5,h6{font-family:var(--font-display);font-weight:700;line-height:var(--leading-tight);letter-spacing:var(--tracking-tight);color:var(--text-primary);text-wrap:balance}h1{font-size:clamp(var(--font-3xl),5vw,var(--font-5xl));font-weight:900}h2{font-size:clamp(var(--font-2xl),4vw,var(--font-4xl));font-weight:700}h3{font-size:clamp(var(--font-xl),3vw,var(--font-3xl))}h4{font-size:var(--font-xl)}h5{font-size:var(--font-lg)}h6{font-size:var(--font-base);font-weight:600}p{color:var(--text-secondary);line-height:var(--leading-relaxed);text-wrap:pretty}small{font-size:var(--font-sm);color:var(--text-muted)}strong{font-weight:600;color:var(--text-primary)}a{color:var(--accent-primary);text-decoration:none;transition:color var(--transition-fast)}a:hover{color:var(--accent-primary-hover)}img,picture,video,canvas,svg{display:block;max-width:100%}img{height:auto}input,button,textarea,select{font:inherit;color:inherit;border:none;outline:none;background:none}button{cursor:pointer;-webkit-tap-highlight-color:transparent}table{border-collapse:collapse;border-spacing:0}:focus-visible{outline:2px solid var(--accent-primary);outline-offset:2px;border-radius:var(--radius-xs)}:focus:not(:focus-visible){outline:none}::selection{background-color:#f56b3d4d;color:var(--text-primary)}::-moz-selection{background-color:#f56b3d4d;color:var(--text-primary)}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:#f56b3d4d;border-radius:var(--radius-full);transition:background var(--transition-fast)}::-webkit-scrollbar-thumb:hover{background:#f56b3d80}::-webkit-scrollbar-corner{background:transparent}*{scrollbar-width:thin;scrollbar-color:hsla(15,90%,60%,.3) transparent}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}@media print{body{background:#fff;color:#000}body:before,body:after{display:none}}html{transition:background-color var(--transition-slow),color var(--transition-slow)}html.theme-transitioning,html.theme-transitioning *,html.theme-transitioning *:before,html.theme-transitioning *:after{transition:background-color var(--transition-slow),color var(--transition-slow),border-color var(--transition-slow),box-shadow var(--transition-slow),opacity var(--transition-slow)!important}[data-theme=light]{--bg-primary: hsl(220, 30%, 97%);--bg-surface: hsl(0, 0%, 100%);--bg-elevated: hsl(220, 20%, 95%);--bg-overlay: hsla(220, 30%, 97%, .85);--border-color: hsl(220, 15%, 88%);--border-light: hsl(220, 15%, 82%);--text-primary: hsl(230, 25%, 15%);--text-secondary: hsl(220, 10%, 45%);--text-muted: hsl(220, 10%, 60%);--text-inverse: hsl(220, 20%, 95%);--accent-primary: hsl(250, 80%, 58%);--accent-primary-hover: hsl(250, 80%, 52%);--accent-primary-active: hsl(250, 80%, 48%);--accent-secondary: hsl(330, 75%, 52%);--accent-secondary-hover: hsl(330, 75%, 46%);--gradient-glow: linear-gradient(135deg, hsla(250, 90%, 65%, .1), hsla(330, 85%, 60%, .1));--gradient-subtle: linear-gradient(135deg, hsla(250, 90%, 65%, .04), hsla(330, 85%, 60%, .04));--gradient-bg: radial-gradient(ellipse at 20% 0%, hsla(250, 90%, 65%, .04) 0%, transparent 50%), radial-gradient(ellipse at 80% 100%, hsla(330, 85%, 60%, .03) 0%, transparent 50%);--success: hsl(145, 65%, 42%);--success-bg: hsla(145, 65%, 42%, .08);--success-border: hsla(145, 65%, 42%, .2);--error: hsl(0, 75%, 55%);--error-bg: hsla(0, 75%, 55%, .08);--error-border: hsla(0, 75%, 55%, .2);--warning: hsl(40, 90%, 50%);--warning-bg: hsla(40, 90%, 50%, .08);--warning-border: hsla(40, 90%, 50%, .2);--info: hsl(200, 85%, 48%);--info-bg: hsla(200, 85%, 48%, .08);--shadow-xs: 0 1px 3px hsla(0, 0%, 0%, .04);--shadow-sm: 0 2px 8px hsla(0, 0%, 0%, .08);--shadow-md: 0 4px 16px hsla(0, 0%, 0%, .12);--shadow-lg: 0 8px 32px hsla(0, 0%, 0%, .16);--shadow-xl: 0 16px 48px hsla(0, 0%, 0%, .2);--shadow-glow: 0 0 20px hsla(250, 90%, 65%, .15);--shadow-glow-lg: 0 0 40px hsla(250, 90%, 65%, .12), 0 0 80px hsla(330, 85%, 60%, .08);--shadow-success: 0 0 20px hsla(145, 70%, 50%, .15);--shadow-error: 0 0 20px hsla(0, 80%, 62%, .15);--glass-bg: hsla(0, 0%, 100%, .8);--glass-bg-strong: hsla(0, 0%, 100%, .92);--glass-border: 1px solid hsla(220, 15%, 88%, .8);--glass-border-light: 1px solid hsla(220, 15%, 88%, .5)}[data-theme=light] ::-webkit-scrollbar-thumb{background:#705cd640}[data-theme=light] ::-webkit-scrollbar-thumb:hover{background:#705cd666}[data-theme=light] *{scrollbar-color:hsla(250,60%,60%,.25) transparent}[data-theme=light] ::selection{background-color:#7055f633;color:var(--text-primary)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--sp-2);padding:var(--sp-3) var(--sp-6);font-size:var(--font-base);font-weight:600;line-height:1;border-radius:var(--radius-md);border:1px solid transparent;cursor:pointer;-webkit-user-select:none;user-select:none;white-space:nowrap;text-decoration:none;position:relative;overflow:hidden;isolation:isolate;transition:background var(--transition-fast),color var(--transition-fast),border-color var(--transition-fast),box-shadow var(--transition-fast),transform var(--transition-fast),opacity var(--transition-fast);-webkit-tap-highlight-color:transparent}.btn:active{transform:scale(.98)}.btn-primary{background:var(--gradient-primary);color:#fff;border-color:transparent;box-shadow:var(--shadow-sm)}.btn-primary:hover{background:var(--gradient-primary-hover);box-shadow:var(--shadow-glow),var(--shadow-md);transform:translateY(-1px) scale(1.02)}.btn-primary:active{transform:translateY(0) scale(.98);box-shadow:var(--shadow-sm)}.btn-secondary{background:var(--bg-surface);color:var(--text-primary);border-color:var(--border-color)}.btn-secondary:hover{background:var(--bg-elevated);border-color:var(--border-light);box-shadow:var(--shadow-sm)}.btn-secondary:active{background:var(--bg-surface)}.btn-ghost{background:transparent;color:var(--text-secondary);border-color:transparent}.btn-ghost:hover{color:var(--text-primary);background:var(--bg-elevated)}.btn-ghost:active{background:var(--bg-surface)}.btn-danger{background:var(--error);color:#fff;border-color:transparent}.btn-danger:hover{background:#e93535;box-shadow:var(--shadow-error),var(--shadow-sm);transform:translateY(-1px)}.btn-success{background:var(--success);color:#fff;border-color:transparent}.btn-success:hover{background:#22c365;box-shadow:var(--shadow-success),var(--shadow-sm);transform:translateY(-1px)}.btn-outline{background:transparent;color:var(--accent-primary);border-color:var(--accent-primary)}.btn-outline:hover{background:#7055f61a;box-shadow:var(--shadow-glow)}.btn-icon{padding:var(--sp-3);border-radius:var(--radius-full);aspect-ratio:1;min-width:40px}.btn-icon svg{width:20px;height:20px}.btn-lg{padding:var(--sp-4) var(--sp-8);font-size:var(--font-lg);border-radius:var(--radius-lg);gap:var(--sp-3)}.btn-sm{padding:var(--sp-2) var(--sp-4);font-size:var(--font-sm);border-radius:var(--radius-sm);gap:var(--sp-1)}.btn-xs{padding:var(--sp-1) var(--sp-3);font-size:var(--font-xs);border-radius:var(--radius-sm)}.btn-block{display:flex;width:100%}.btn:disabled,.btn.disabled{opacity:.5;pointer-events:none;cursor:not-allowed}.btn-loading{color:transparent!important;pointer-events:none;position:relative}.btn-loading:after{content:"";position:absolute;width:18px;height:18px;border:2px solid hsla(0,0%,100%,.3);border-top-color:#fff;border-radius:var(--radius-full);animation:spin .6s linear infinite}.card{background:var(--glass-bg);backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:var(--glass-blur);border:var(--glass-border);border-radius:var(--radius-lg);padding:var(--sp-6);box-shadow:var(--shadow-sm);position:relative;overflow:hidden}.card-hover{transition:transform var(--transition-base),box-shadow var(--transition-base),border-color var(--transition-base)}.card-hover:hover{transform:translateY(-4px);box-shadow:var(--shadow-lg);border-color:var(--border-light)}.card-solid{background:var(--glass-bg-strong);backdrop-filter:var(--glass-blur-strong);-webkit-backdrop-filter:var(--glass-blur-strong)}.card-accent{border-color:transparent;background-clip:padding-box;position:relative}.card-accent:before{content:"";position:absolute;top:-1px;right:-1px;bottom:-1px;left:-1px;border-radius:inherit;padding:1px;background:var(--gradient-primary);-webkit-mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);-webkit-mask-composite:xor;mask-composite:exclude;pointer-events:none;opacity:.5;transition:opacity var(--transition-base)}.card-accent:hover:before{opacity:.8}.card-compact{padding:var(--sp-4)}.card-spacious{padding:var(--sp-8)}.input{width:100%;padding:var(--sp-3) var(--sp-4);background:var(--bg-surface);border:1px solid var(--border-color);border-radius:var(--radius-md);color:var(--text-primary);font-size:var(--font-base);line-height:1.5;transition:border-color var(--transition-fast),box-shadow var(--transition-fast),background var(--transition-fast)}.input::placeholder{color:var(--text-muted)}.input:hover{border-color:var(--border-light)}.input:focus{border-color:var(--accent-primary);box-shadow:0 0 0 3px #7055f626;background:var(--bg-elevated);outline:none}.input-lg{padding:var(--sp-4) var(--sp-5);font-size:var(--font-lg);border-radius:var(--radius-lg)}.input-sm{padding:var(--sp-2) var(--sp-3);font-size:var(--font-sm)}.input-error{border-color:var(--error);box-shadow:0 0 0 3px #ec515126}.input-group{position:relative}.input-group .input{padding-left:var(--sp-10)}.input-group .input-icon{position:absolute;left:var(--sp-4);top:50%;transform:translateY(-50%);color:var(--text-muted);pointer-events:none;transition:color var(--transition-fast)}.input-group .input:focus~.input-icon,.input-group:focus-within .input-icon{color:var(--accent-primary)}.badge{display:inline-flex;align-items:center;gap:var(--sp-1);padding:var(--sp-1) var(--sp-3);font-size:var(--font-xs);font-weight:600;line-height:1;border-radius:var(--radius-full);white-space:nowrap;letter-spacing:var(--tracking-wide);text-transform:uppercase;background:var(--bg-elevated);color:var(--text-secondary);border:1px solid var(--border-color)}.badge-accent{background:#7055f626;color:var(--accent-primary);border-color:#7055f64d}.badge-success{background:var(--success-bg);color:var(--success);border-color:var(--success-border)}.badge-error{background:var(--error-bg);color:var(--error);border-color:var(--error-border)}.badge-warning{background:var(--warning-bg);color:var(--warning);border-color:var(--warning-border)}.badge-info{background:var(--info-bg);color:var(--info);border-color:#25aff44d}.badge-lg{padding:var(--sp-2) var(--sp-4);font-size:var(--font-sm)}.chip{display:inline-flex;align-items:center;gap:var(--sp-2);padding:var(--sp-2) var(--sp-4);font-size:var(--font-sm);font-weight:500;border-radius:var(--radius-full);background:var(--bg-surface);color:var(--text-secondary);border:1px solid var(--border-color);cursor:pointer;-webkit-user-select:none;user-select:none;transition:background var(--transition-fast),color var(--transition-fast),border-color var(--transition-fast),box-shadow var(--transition-fast),transform var(--transition-fast);-webkit-tap-highlight-color:transparent}.chip:hover{background:var(--bg-elevated);border-color:var(--border-light);color:var(--text-primary)}.chip:active{transform:scale(.96)}.chip-active,.chip.active{background:var(--gradient-primary);color:#fff;border-color:transparent;box-shadow:var(--shadow-glow)}.chip-active:hover,.chip.active:hover{box-shadow:var(--shadow-glow),var(--shadow-sm);opacity:.9}.chip-emoji{font-size:var(--font-base);line-height:1}.chip-group{display:flex;flex-wrap:wrap;gap:var(--sp-2)}.flag-container{aspect-ratio:3 / 2!important;border-radius:var(--radius-lg);overflow:hidden;box-shadow:var(--shadow-md);background:var(--bg-surface);position:relative;isolation:isolate;display:flex;align-items:center;justify-content:center;width:100%}.flag-container img{width:100%!important;height:100%!important;object-fit:contain!important;object-position:center!important;display:block;transition:transform var(--transition-slow)}.flag-container:hover{box-shadow:var(--shadow-glow);border-color:var(--accent-primary)}.flag-container.loading{background:linear-gradient(90deg,var(--bg-surface) 25%,var(--bg-elevated) 50%,var(--bg-surface) 75%);background-size:200% 100%;animation:shimmer 1.5s ease-in-out infinite}.flag-container-decorated{padding:3px;background:var(--gradient-primary);border-radius:calc(var(--radius-lg) + 3px)}.flag-container-decorated .flag-container{border-radius:var(--radius-lg);box-shadow:none}.flag-container-sm{max-width:120px}.flag-container-md{max-width:280px}.flag-container-lg{max-width:400px}.flag-container-xl{max-width:520px}.options-grid{display:flex;flex-direction:column;gap:var(--sp-3);width:100%}.option-btn{display:flex;align-items:center;justify-content:center;text-align:center;padding:var(--sp-4) var(--sp-5);background:var(--glass-bg);backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:var(--glass-blur);border:var(--glass-border);border-radius:var(--radius-md);color:var(--text-primary);font-size:var(--font-base);font-weight:500;cursor:pointer;transition:background var(--transition-fast),border-color var(--transition-fast),box-shadow var(--transition-fast),transform var(--transition-fast);-webkit-tap-highlight-color:transparent;min-height:56px}.option-btn:hover{background:var(--bg-elevated);border-color:var(--accent-primary);box-shadow:var(--shadow-glow);transform:translateY(-2px)}.option-btn:active{transform:scale(.98)}.option-btn.correct{background:var(--success-bg);border-color:var(--success);color:var(--success);box-shadow:var(--shadow-success)}.option-btn.wrong{background:var(--error-bg);border-color:var(--error);color:var(--error);box-shadow:var(--shadow-error);animation:shake .5s ease}.option-btn:disabled{pointer-events:none;opacity:.6}.container{width:100%;max-width:var(--container-lg);margin-inline:auto;padding-inline:var(--sp-4)}.container-sm{max-width:var(--container-sm)}.container-md{max-width:var(--container-md)}.container-xl{max-width:var(--container-xl)}.screen{display:flex;flex-direction:column;min-height:100vh;min-height:100dvh;padding:var(--sp-6)}.screen-centered{align-items:center;justify-content:center}.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:var(--sp-4)}.progress-bar{width:100%;height:6px;background:var(--bg-surface);border-radius:var(--radius-full);overflow:hidden;position:relative}.progress-bar-fill{height:100%;background:var(--gradient-primary);border-radius:var(--radius-full);transition:width var(--transition-base);position:relative}.progress-bar-fill:after{content:"";position:absolute;top:0;right:0;bottom:0;width:40px;background:linear-gradient(90deg,transparent,hsla(0,0%,100%,.3));border-radius:var(--radius-full)}.progress-bar-timer .progress-bar-fill{transition:width 1s linear,background var(--transition-fast)}.progress-bar-timer.warning .progress-bar-fill{background:var(--warning)}.progress-bar-timer.danger .progress-bar-fill{background:var(--error);animation:timerExpiring .5s ease infinite}.divider{width:100%;height:1px;background:var(--border-color);border:none;margin:var(--sp-6) 0}.divider-gradient{background:linear-gradient(90deg,transparent,var(--border-color),transparent)}.divider-accent{background:var(--gradient-primary);height:2px;opacity:.5}.avatar{width:40px;height:40px;border-radius:var(--radius-full);background:var(--gradient-primary);display:flex;align-items:center;justify-content:center;font-size:var(--font-lg);font-weight:700;color:#fff;overflow:hidden;flex-shrink:0}.avatar-sm{width:32px;height:32px;font-size:var(--font-sm)}.avatar-lg{width:56px;height:56px;font-size:var(--font-2xl)}.avatar-xl{width:80px;height:80px;font-size:var(--font-4xl)}[data-tooltip]{position:relative}[data-tooltip]:after{content:attr(data-tooltip);position:absolute;bottom:100%;left:50%;transform:translate(-50%) translateY(-4px);padding:var(--sp-2) var(--sp-3);background:var(--bg-elevated);color:var(--text-primary);font-size:var(--font-xs);font-weight:500;border-radius:var(--radius-sm);border:var(--glass-border);box-shadow:var(--shadow-md);white-space:nowrap;pointer-events:none;opacity:0;transition:opacity var(--transition-fast),transform var(--transition-fast);z-index:var(--z-tooltip)}[data-tooltip]:hover:after{opacity:1;transform:translate(-50%) translateY(-8px)}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background-color:var(--bg-overlay);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);display:flex;align-items:center;justify-content:center;padding:var(--sp-4);z-index:var(--z-modal)}.modal-content{background:var(--bg-surface);border:1px solid var(--border-light);border-radius:var(--radius-xl);box-shadow:var(--shadow-xl),0 20px 25px -5px #00000080;width:100%;max-width:480px;display:flex;flex-direction:column;overflow:hidden;position:relative}.modal-header{padding:var(--sp-4) var(--sp-6);border-bottom:1px solid var(--border-color);display:flex;justify-content:space-between;align-items:center}.modal-header h3{font-size:var(--font-xl);font-weight:700;margin:0}.modal-body{padding:var(--sp-6);overflow-y:auto;max-height:calc(85vh - 120px)}.modal-footer{padding:var(--sp-4) var(--sp-6);border-top:1px solid var(--border-color);display:flex;justify-content:flex-end;gap:var(--sp-3);background:var(--bg-elevated)}.text-center{text-align:center}.text-left{text-align:left}.text-right{text-align:right}.whitespace-normal{white-space:normal!important}.line-clamp-2{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;white-space:normal}.text-primary{color:var(--text-primary)!important}.text-secondary{color:var(--text-secondary)!important}.text-muted{color:var(--text-muted)!important}.text-accent{color:var(--accent-primary)!important}.text-success{color:var(--success)!important}.text-error{color:var(--error)!important}.text-warning{color:var(--warning)!important}.text-gradient{background:var(--gradient-primary);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}.text-gradient-animated{background:var(--gradient-primary);background-size:200% 200%;-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;animation:gradientShift 4s ease infinite}.text-xs{font-size:var(--font-xs)}.text-sm{font-size:var(--font-sm)}.text-base{font-size:var(--font-base)}.text-lg{font-size:var(--font-lg)}.text-xl{font-size:var(--font-xl)}.text-2xl{font-size:var(--font-2xl)}.text-3xl{font-size:var(--font-3xl)}.text-4xl{font-size:var(--font-4xl)}.text-5xl{font-size:var(--font-5xl)}.text-6xl{font-size:3.5rem}.text-7xl{font-size:4.5rem}@media(min-width:769px){.md\:text-2xl{font-size:var(--font-2xl)!important}.md\:text-7xl{font-size:4.5rem!important}.md\:justify-center{justify-content:center!important}}.font-normal{font-weight:400}.font-medium{font-weight:500}.font-semibold{font-weight:600}.font-bold{font-weight:700}.font-extrabold{font-weight:800}.grid{display:grid!important}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))!important}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))!important}.grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))!important}.grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))!important}.max-w-2xl{max-width:var(--container-sm)!important}.max-w-4xl{max-width:var(--container-lg)!important}@media(min-width:481px){.sm\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))!important}}@media(min-width:769px){.md\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))!important}.md\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))!important}.md\:col-span-2{grid-column:span 2 / span 2!important}.md\:flex-row{flex-direction:row!important}.md\:mb-0{margin-bottom:0!important}.md\:w-auto{width:auto!important}}.flex{display:flex}.flex-col{display:flex;flex-direction:column}.flex-row{display:flex;flex-direction:row}.flex-wrap{flex-wrap:wrap}.flex-center{display:flex;align-items:center;justify-content:center}.flex-between{display:flex;align-items:center;justify-content:space-between}.flex-start{display:flex;align-items:center;justify-content:flex-start}.flex-end{display:flex;align-items:center;justify-content:flex-end}.items-start{align-items:flex-start}.items-center{align-items:center}.items-end{align-items:flex-end}.items-stretch{align-items:stretch}.justify-start{justify-content:flex-start}.justify-center{justify-content:center}.justify-end{justify-content:flex-end}.flex-1{flex:1}.flex-shrink-0{flex-shrink:0}.flex-grow{flex-grow:1}.gap-1{gap:var(--sp-1)}.gap-2{gap:var(--sp-2)}.gap-3{gap:var(--sp-3)}.gap-4{gap:var(--sp-4)}.gap-5{gap:var(--sp-5)}.gap-6{gap:var(--sp-6)}.gap-8{gap:var(--sp-8)}.gap-10{gap:var(--sp-10)}.gap-12{gap:var(--sp-12)}.m-0{margin:0}.m-auto{margin:auto}.mt-0{margin-top:0}.mt-1{margin-top:var(--sp-1)}.mt-2{margin-top:var(--sp-2)}.mt-3{margin-top:var(--sp-3)}.mt-4{margin-top:var(--sp-4)}.mt-5{margin-top:var(--sp-5)}.mt-6{margin-top:var(--sp-6)}.mt-8{margin-top:var(--sp-8)}.mt-10{margin-top:var(--sp-10)}.mt-12{margin-top:var(--sp-12)}.mt-16{margin-top:var(--sp-16)}.mb-0{margin-bottom:0}.mb-1{margin-bottom:var(--sp-1)}.mb-2{margin-bottom:var(--sp-2)}.mb-3{margin-bottom:var(--sp-3)}.mb-4{margin-bottom:var(--sp-4)}.mb-5{margin-bottom:var(--sp-5)}.mb-6{margin-bottom:var(--sp-6)}.mb-8{margin-bottom:var(--sp-8)}.mb-10{margin-bottom:var(--sp-10)}.mb-12{margin-bottom:var(--sp-12)}.ml-auto{margin-left:auto}.mr-auto{margin-right:auto}.mx-auto{margin-inline:auto}.p-0{padding:0}.p-2{padding:var(--sp-2)}.p-3{padding:var(--sp-3)}.p-4{padding:var(--sp-4)}.p-6{padding:var(--sp-6)}.p-8{padding:var(--sp-8)}.px-4{padding-inline:var(--sp-4)}.px-6{padding-inline:var(--sp-6)}.py-2{padding-block:var(--sp-2)}.py-4{padding-block:var(--sp-4)}.py-6{padding-block:var(--sp-6)}.w-full{width:100%}.h-full{height:100%}.min-h-screen{min-height:100vh;min-height:100dvh}.overflow-hidden{overflow:hidden}.overflow-auto{overflow:auto}.relative{position:relative}.absolute{position:absolute}.fixed{position:fixed}.sticky{position:sticky}.inset-0{top:0;right:0;bottom:0;left:0}.hidden{display:none!important}.invisible{visibility:hidden}.opacity-0{opacity:0}.opacity-50{opacity:.5}.opacity-100{opacity:1}.cursor-pointer{cursor:pointer}.pointer-events-none{pointer-events:none}.rounded-sm{border-radius:var(--radius-sm)}.rounded-md{border-radius:var(--radius-md)}.rounded-lg{border-radius:var(--radius-lg)}.rounded-xl{border-radius:var(--radius-xl)}.rounded-full{border-radius:var(--radius-full)}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);clip-path:inset(50%);white-space:nowrap;border:0}.skip-link{position:absolute;top:-100%;left:var(--sp-4);padding:var(--sp-3) var(--sp-6);background:var(--accent-primary);color:#fff;border-radius:var(--radius-md);z-index:var(--z-tooltip);transition:top var(--transition-fast)}.skip-link:focus{top:var(--sp-4)}.truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.line-clamp-2{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.select-none{-webkit-user-select:none;user-select:none}.select-all{-webkit-user-select:all;user-select:all}@media(max-width:639px){.hide-mobile{display:none!important}}@media(min-width:640px){.hide-desktop{display:none!important}}@media(max-width:639px){.sm\:text-center{text-align:center}.sm\:flex-col{flex-direction:column}}@media(min-width:640px){.md\:flex-row{flex-direction:row}.md\:text-left{text-align:left}}.flag-sm{max-width:120px}.flag-md{max-width:280px}.flag-lg{max-width:400px}.flag-xl{max-width:520px}@media(max-width:480px){.screen{padding:var(--sp-3) var(--sp-4)!important}.card{padding:var(--sp-4)!important}.btn-lg{padding:var(--sp-3) var(--sp-5)!important;font-size:var(--font-base)!important}.option-btn{min-height:48px;padding:var(--sp-3)!important;font-size:var(--font-sm)!important}.flag-lg,.flag-container-lg{max-width:100%!important}}@media(min-width:1200px){.max-w-lg{max-width:640px!important}.max-w-2xl{max-width:960px!important}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes fadeOut{0%{opacity:1}to{opacity:0}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes slideDown{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}@keyframes slideInRight{0%{opacity:0;transform:translate(30px)}to{opacity:1;transform:translate(0)}}@keyframes slideInLeft{0%{opacity:0;transform:translate(-30px)}to{opacity:1;transform:translate(0)}}@keyframes slideOutLeft{0%{opacity:1;transform:translate(0)}to{opacity:0;transform:translate(-30px)}}@keyframes slideOutRight{0%{opacity:1;transform:translate(0)}to{opacity:0;transform:translate(30px)}}@keyframes scaleIn{0%{opacity:0;transform:scale(.8)}to{opacity:1;transform:scale(1)}}@keyframes scaleOut{0%{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(.8)}}@keyframes bounceIn{0%{opacity:0;transform:scale(.3)}50%{opacity:1;transform:scale(1.08)}70%{transform:scale(.95)}to{opacity:1;transform:scale(1)}}@keyframes bounceOut{0%{transform:scale(1)}25%{transform:scale(1.05)}to{opacity:0;transform:scale(.3)}}@keyframes shake{0%,to{transform:translate(0)}10%{transform:translate(-8px)}20%{transform:translate(8px)}30%{transform:translate(-6px)}40%{transform:translate(6px)}50%{transform:translate(-4px)}60%{transform:translate(4px)}70%{transform:translate(-2px)}80%{transform:translate(2px)}90%{transform:translate(-1px)}}@keyframes pulse{0%,to{transform:scale(1)}50%{transform:scale(1.05)}}@keyframes pulseGlow{0%,to{box-shadow:0 0 #7055f666}50%{box-shadow:0 0 20px 8px #7055f626}}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes confetti{0%{opacity:1;transform:translateY(0) rotate(0) scale(1)}50%{opacity:1}to{opacity:0;transform:translateY(calc(100vh + 50px)) rotate(720deg) scale(.5)}}@keyframes confettiSway{0%,to{transform:translate(0)}25%{transform:translate(30px)}75%{transform:translate(-30px)}}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}@keyframes countUp{0%{opacity:0;transform:translateY(10px) scale(.8)}50%{transform:translateY(-3px) scale(1.1)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes scorePopup{0%{opacity:1;transform:translateY(0) scale(1)}50%{opacity:1;transform:translateY(-30px) scale(1.2)}to{opacity:0;transform:translateY(-60px) scale(.8)}}@keyframes float{0%,to{transform:translateY(0) rotate(0)}33%{transform:translateY(-12px) rotate(1deg)}66%{transform:translateY(6px) rotate(-1deg)}}@keyframes floatSlow{0%,to{transform:translateY(0)}50%{transform:translateY(-20px)}}@keyframes gradientShift{0%{background-position:0% 50%}50%{background-position:100% 50%}to{background-position:0% 50%}}@keyframes timerExpiring{0%,to{opacity:1}50%{opacity:.5}}@keyframes reveal{0%{clip-path:inset(0 100% 0 0)}to{clip-path:inset(0 0 0 0)}}@keyframes ripple{0%{transform:scale(0);opacity:.5}to{transform:scale(4);opacity:0}}.animate-fadeIn{animation:fadeIn var(--transition-base) var(--ease-out-expo) both}.animate-fadeOut{animation:fadeOut var(--transition-base) ease both}.animate-fadeInUp{animation:fadeInUp var(--transition-slow) var(--ease-out-expo) both}.animate-slideUp{animation:slideUp var(--transition-slow) var(--ease-out-expo) both}.animate-slideDown{animation:slideDown var(--transition-slow) var(--ease-out-expo) both}.animate-slideInRight{animation:slideInRight var(--transition-slow) var(--ease-out-expo) both}.animate-slideInLeft{animation:slideInLeft var(--transition-slow) var(--ease-out-expo) both}.animate-scaleIn{animation:scaleIn var(--transition-slow) var(--transition-spring) both}.animate-scaleOut{animation:scaleOut var(--transition-fast) ease both}.animate-bounceIn{animation:bounceIn .6s var(--ease-out-expo) both}.animate-shake{animation:shake .6s ease both}.animate-pulse{animation:pulse 2s ease-in-out infinite}.animate-pulseGlow{animation:pulseGlow 2s ease-in-out infinite}.animate-spin{animation:spin 1s linear infinite}.animate-float{animation:float 6s ease-in-out infinite}.animate-floatSlow{animation:floatSlow 8s ease-in-out infinite}.animate-countUp{animation:countUp .4s var(--ease-out-expo) both}.animate-scorePopup{animation:scorePopup .8s var(--ease-out-expo) both}.animate-gradientShift{background-size:200% 200%;animation:gradientShift 4s ease infinite}.animate-shimmer{background:linear-gradient(90deg,var(--bg-surface) 25%,var(--bg-elevated) 50%,var(--bg-surface) 75%);background-size:200% 100%;animation:shimmer 1.5s ease-in-out infinite}.animate-delay-1{animation-delay:50ms}.animate-delay-2{animation-delay:.1s}.animate-delay-3{animation-delay:.15s}.animate-delay-4{animation-delay:.2s}.animate-delay-5{animation-delay:.3s}.animate-delay-6{animation-delay:.4s}.animate-delay-7{animation-delay:.5s}.animate-delay-8{animation-delay:.6s}.screen-enter{animation:fadeIn .3s var(--ease-out-expo) both,slideUp .3s var(--ease-out-expo) both}.screen-exit{animation:fadeOut .2s ease both}.screen-enter-right{animation:fadeIn .3s var(--ease-out-expo) both,slideInRight .3s var(--ease-out-expo) both}.screen-exit-left{animation:fadeOut .2s ease both,slideOutLeft .2s ease both}.animate-fast{animation-duration:.15s!important}.animate-normal{animation-duration:.3s!important}.animate-slow{animation-duration:.5s!important}.animate-slower{animation-duration:.8s!important}.animate-paused{animation-play-state:paused}.animate-running{animation-play-state:running}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}.animate-pulse,.animate-pulseGlow,.animate-spin,.animate-float,.animate-floatSlow,.animate-gradientShift,.animate-shimmer{animation:none!important}}
