:root{--color-primitive-neutral-0:#ffffff;--color-primitive-neutral-50:#f8fafc;--color-primitive-neutral-100:#f1f5f9;--color-primitive-neutral-200:#e2e8f0;--color-primitive-neutral-300:#cbd5e1;--color-primitive-neutral-400:#94a3b8;--color-primitive-neutral-500:#64748b;--color-primitive-neutral-600:#475569;--color-primitive-neutral-700:#334155;--color-primitive-neutral-800:#1e293b;--color-primitive-neutral-900:#0f172a;--color-primitive-neutral-950:#020617;--color-primitive-blue-50:#eff6ff;--color-primitive-blue-100:#dbeafe;--color-primitive-blue-500:#3b82f6;--color-primitive-blue-600:#2563eb;--color-primitive-blue-700:#1d4ed8;--color-primitive-cyan-50:#ecfeff;--color-primitive-cyan-100:#cffafe;--color-primitive-cyan-500:#06b6d4;--color-primitive-cyan-600:#0891b2;--color-primitive-cyan-700:#0e7490;--color-primitive-violet-50:#f5f3ff;--color-primitive-violet-100:#ede9fe;--color-primitive-violet-500:#8b5cf6;--color-primitive-violet-600:#7c3aed;--color-primitive-violet-700:#6d28d9;--color-primitive-green-50:#ecfdf5;--color-primitive-green-100:#d1fae5;--color-primitive-green-500:#10b981;--color-primitive-green-600:#059669;--color-primitive-green-700:#047857;--color-primitive-yellow-50:#fefce8;--color-primitive-yellow-100:#fef9c3;--color-primitive-yellow-400:#facc15;--color-primitive-yellow-500:#eab308;--color-primitive-yellow-700:#a16207;--color-primitive-orange-50:#fff7ed;--color-primitive-orange-100:#ffedd5;--color-primitive-orange-500:#f97316;--color-primitive-orange-600:#ea580c;--color-primitive-orange-700:#c2410c;--color-primitive-red-50:#fef2f2;--color-primitive-red-100:#fee2e2;--color-primitive-red-500:#ef4444;--color-primitive-red-600:#dc2626;--color-primitive-red-700:#b91c1c;--color-primitive-wiki-link:#0645ad;--color-primitive-wiki-link-visited:#0b0080;--space-0:0px;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:20px;--space-6:24px;--space-8:32px;--space-10:40px;--space-12:48px;--space-16:64px;--space-20:80px;--radius-none:0px;--radius-xs:2px;--radius-sm:4px;--radius-md:8px;--radius-lg:12px;--radius-xl:16px;--radius-2xl:24px;--radius-full:999px;--border-width-hairline:1px;--border-width-default:1px;--border-width-strong:2px;--border-width-focus:3px;--size-touch-min:44px;--size-touch-comfortable:48px;--size-nav-bottom-height:64px;--size-header-mobile-height:56px;--layout-content-max-width:1120px;--layout-game-max-width:720px;--layout-wiki-max-width:760px;--font-size-xs:12px;--font-size-sm:14px;--font-size-base:16px;--font-size-lg:18px;--font-size-xl:20px;--font-size-2xl:24px;--font-size-3xl:32px;--font-size-4xl:40px;--font-line-height-tight:1.2;--font-line-height-snug:1.35;--font-line-height-normal:1.5;--font-line-height-relaxed:1.7;--font-weight-regular:400;--font-weight-medium:500;--font-weight-semibold:600;--font-weight-bold:700;--font-weight-black:800;--font-family-base:"Noto Sans JP",system-ui,-apple-system,BlinkMacSystemFont,sans-serif;--font-family-latin:Inter,system-ui,-apple-system,BlinkMacSystemFont,sans-serif;--font-family-game-number:Inter,system-ui,-apple-system,BlinkMacSystemFont,sans-serif;--font-family-wiki-content:"Noto Sans JP",system-ui,-apple-system,BlinkMacSystemFont,sans-serif;--color-semantic-background-page:var(--color-primitive-neutral-50);--color-semantic-background-surface:var(--color-primitive-neutral-0);--color-semantic-background-surface-raised:var(--color-primitive-neutral-0);--color-semantic-background-subtle:var(--color-primitive-neutral-100);--color-semantic-background-inverse:var(--color-primitive-neutral-900);--color-semantic-text-primary:var(--color-primitive-neutral-900);--color-semantic-text-secondary:var(--color-primitive-neutral-600);--color-semantic-text-tertiary:var(--color-primitive-neutral-500);--color-semantic-text-inverse:var(--color-primitive-neutral-0);--color-semantic-text-disabled:var(--color-primitive-neutral-400);--color-semantic-border-default:var(--color-primitive-neutral-200);--color-semantic-border-strong:var(--color-primitive-neutral-300);--color-semantic-border-focus:var(--color-primitive-blue-500);--color-semantic-brand-primary:var(--color-primitive-cyan-600);--color-semantic-brand-secondary:var(--color-primitive-violet-600);--color-semantic-action-primary-bg-default:var(--color-primitive-cyan-600);--color-semantic-action-primary-bg-hover:var(--color-primitive-cyan-700);--color-semantic-action-primary-text:var(--color-primitive-neutral-0);--color-semantic-action-secondary-bg-default:var(--color-primitive-violet-50);--color-semantic-action-secondary-bg-hover:var(--color-primitive-violet-100);--color-semantic-action-secondary-text:var(--color-primitive-violet-700);--color-semantic-action-ghost-bg-hover:var(--color-primitive-neutral-100);--color-semantic-action-danger-bg-default:var(--color-primitive-red-600);--color-semantic-action-danger-bg-hover:var(--color-primitive-red-700);--color-semantic-action-danger-text:var(--color-primitive-neutral-0);--color-semantic-action-focus-ring:var(--color-primitive-blue-500);--color-semantic-game-win-bg:var(--color-primitive-green-50);--color-semantic-game-win-text:var(--color-primitive-green-700);--color-semantic-game-lose-bg:var(--color-primitive-red-50);--color-semantic-game-lose-text:var(--color-primitive-red-700);--color-semantic-game-draw-bg:var(--color-primitive-yellow-50);--color-semantic-game-draw-text:var(--color-primitive-yellow-700);--color-semantic-game-timer-normal:var(--color-primitive-neutral-900);--color-semantic-game-timer-warning:var(--color-primitive-orange-600);--color-semantic-game-timer-danger:var(--color-primitive-red-600);--color-semantic-game-progress-current:var(--color-primitive-cyan-600);--color-semantic-game-progress-opponent:var(--color-primitive-violet-600);--color-semantic-difficulty-easy-bg:var(--color-primitive-green-50);--color-semantic-difficulty-easy-border:var(--color-primitive-green-100);--color-semantic-difficulty-easy-text:var(--color-primitive-green-700);--color-semantic-difficulty-normal-bg:var(--color-primitive-cyan-50);--color-semantic-difficulty-normal-border:var(--color-primitive-cyan-100);--color-semantic-difficulty-normal-text:var(--color-primitive-cyan-700);--color-semantic-difficulty-hard-bg:var(--color-primitive-orange-50);--color-semantic-difficulty-hard-border:var(--color-primitive-orange-100);--color-semantic-difficulty-hard-text:var(--color-primitive-orange-700);--color-semantic-difficulty-master-bg:var(--color-primitive-violet-50);--color-semantic-difficulty-master-border:var(--color-primitive-violet-100);--color-semantic-difficulty-master-text:var(--color-primitive-violet-700);--color-semantic-difficulty-legend-bg:var(--color-primitive-red-50);--color-semantic-difficulty-legend-border:var(--color-primitive-red-100);--color-semantic-difficulty-legend-text:var(--color-primitive-red-700);--color-semantic-wiki-article-bg:var(--color-primitive-neutral-0);--color-semantic-wiki-article-text:var(--color-primitive-neutral-900);--color-semantic-wiki-article-muted:var(--color-primitive-neutral-600);--color-semantic-wiki-link-default:var(--color-primitive-wiki-link);--color-semantic-wiki-link-visited:var(--color-primitive-wiki-link-visited);--color-semantic-wiki-link-hover-bg:var(--color-primitive-blue-50);--color-semantic-premium-bg:var(--color-primitive-violet-50);--color-semantic-premium-text:var(--color-primitive-violet-700);--color-semantic-ad-container-bg:var(--color-primitive-neutral-100);--color-semantic-ad-container-border:var(--color-primitive-neutral-200);--color-semantic-ad-label-text:var(--color-primitive-neutral-500);--color-semantic-donation-subtle-bg:var(--color-primitive-cyan-50);--color-semantic-donation-subtle-text:var(--color-primitive-cyan-700);--color-semantic-donation-prominent-bg:var(--color-primitive-violet-50);--color-semantic-donation-prominent-text:var(--color-primitive-violet-700);--color-semantic-rank-bronze:var(--color-primitive-yellow-700);--color-semantic-rank-silver:var(--color-primitive-neutral-500);--color-semantic-rank-gold:var(--color-primitive-yellow-500);--color-semantic-rank-platinum:var(--color-primitive-cyan-500);--color-semantic-rank-diamond:var(--color-primitive-blue-500);--color-semantic-rank-master:var(--color-primitive-violet-600);--color-semantic-form-field-bg:var(--color-primitive-neutral-0);--color-semantic-form-helper-text:var(--color-primitive-neutral-500);--color-semantic-form-error-border:var(--color-primitive-red-600);--color-semantic-form-error-text:var(--color-primitive-red-700);--color-semantic-locked-bg:var(--color-primitive-neutral-100);--color-semantic-locked-text:var(--color-primitive-neutral-600)}[data-theme=dark]{--color-semantic-background-page:var(--color-primitive-neutral-950);--color-semantic-background-surface:var(--color-primitive-neutral-900);--color-semantic-background-surface-raised:var(--color-primitive-neutral-800);--color-semantic-background-subtle:var(--color-primitive-neutral-800);--color-semantic-background-inverse:var(--color-primitive-neutral-0);--color-semantic-text-primary:var(--color-primitive-neutral-50);--color-semantic-text-secondary:var(--color-primitive-neutral-300);--color-semantic-text-tertiary:var(--color-primitive-neutral-400);--color-semantic-text-inverse:var(--color-primitive-neutral-950);--color-semantic-text-disabled:var(--color-primitive-neutral-600);--color-semantic-border-default:var(--color-primitive-neutral-700);--color-semantic-border-strong:var(--color-primitive-neutral-600);--color-semantic-border-focus:var(--color-primitive-cyan-500);--color-semantic-brand-primary:var(--color-primitive-cyan-500);--color-semantic-brand-secondary:var(--color-primitive-violet-500);--color-semantic-action-primary-bg-default:var(--color-primitive-cyan-500);--color-semantic-action-primary-bg-hover:var(--color-primitive-cyan-600);--color-semantic-action-primary-text:var(--color-primitive-neutral-950);--color-semantic-action-secondary-bg-default:var(--color-primitive-violet-700);--color-semantic-action-secondary-bg-hover:var(--color-primitive-violet-600);--color-semantic-action-secondary-text:var(--color-primitive-neutral-0);--color-semantic-action-ghost-bg-hover:var(--color-primitive-neutral-800);--color-semantic-action-danger-bg-default:var(--color-primitive-red-500);--color-semantic-action-danger-bg-hover:var(--color-primitive-red-600);--color-semantic-game-timer-normal:var(--color-primitive-neutral-50);--color-semantic-game-timer-warning:var(--color-primitive-orange-500);--color-semantic-game-timer-danger:var(--color-primitive-red-500);--color-semantic-difficulty-easy-bg:var(--color-primitive-green-700);--color-semantic-difficulty-easy-border:var(--color-primitive-green-500);--color-semantic-difficulty-easy-text:var(--color-primitive-neutral-0);--color-semantic-difficulty-normal-bg:var(--color-primitive-cyan-700);--color-semantic-difficulty-normal-border:var(--color-primitive-cyan-500);--color-semantic-difficulty-normal-text:var(--color-primitive-neutral-0);--color-semantic-difficulty-hard-bg:var(--color-primitive-orange-700);--color-semantic-difficulty-hard-border:var(--color-primitive-orange-500);--color-semantic-difficulty-hard-text:var(--color-primitive-neutral-0);--color-semantic-difficulty-master-bg:var(--color-primitive-violet-700);--color-semantic-difficulty-master-border:var(--color-primitive-violet-500);--color-semantic-difficulty-master-text:var(--color-primitive-neutral-0);--color-semantic-difficulty-legend-bg:var(--color-primitive-red-700);--color-semantic-difficulty-legend-border:var(--color-primitive-red-500);--color-semantic-difficulty-legend-text:var(--color-primitive-neutral-0);--color-semantic-wiki-article-bg:var(--color-primitive-neutral-900);--color-semantic-wiki-article-text:var(--color-primitive-neutral-100);--color-semantic-wiki-article-muted:var(--color-primitive-neutral-400);--color-semantic-wiki-link-default:var(--color-primitive-blue-500);--color-semantic-wiki-link-visited:var(--color-primitive-violet-500);--color-semantic-wiki-link-hover-bg:var(--color-primitive-blue-700);--color-semantic-ad-container-bg:var(--color-primitive-neutral-800);--color-semantic-ad-container-border:var(--color-primitive-neutral-700);--color-semantic-ad-label-text:var(--color-primitive-neutral-400);--color-semantic-locked-bg:var(--color-primitive-neutral-800);--color-semantic-locked-text:var(--color-primitive-neutral-300)}:root{--color-component-button-primary-bg-default:var(--color-semantic-action-primary-bg-default);--color-component-button-primary-bg-hover:var(--color-semantic-action-primary-bg-hover);--color-component-button-primary-text:var(--color-semantic-action-primary-text);--color-component-button-secondary-bg-default:var(--color-semantic-action-secondary-bg-default);--color-component-button-secondary-bg-hover:var(--color-semantic-action-secondary-bg-hover);--color-component-button-secondary-text:var(--color-semantic-action-secondary-text);--color-component-button-ghost-bg-hover:var(--color-semantic-action-ghost-bg-hover);--color-component-button-danger-bg-default:var(--color-semantic-action-danger-bg-default);--color-component-button-danger-bg-hover:var(--color-semantic-action-danger-bg-hover);--color-component-button-danger-text:var(--color-semantic-action-danger-text);--color-component-button-disabled-bg:var(--color-semantic-background-subtle);--color-component-button-disabled-text:var(--color-semantic-text-disabled);--color-component-card-bg:var(--color-semantic-background-surface);--color-component-card-bg-raised:var(--color-semantic-background-surface-raised);--color-component-card-border:var(--color-semantic-border-default);--color-component-input-bg:var(--color-semantic-form-field-bg);--color-component-input-border-default:var(--color-semantic-border-default);--color-component-input-border-focus:var(--color-semantic-border-focus);--color-component-input-text:var(--color-semantic-text-primary);--color-component-input-placeholder:var(--color-semantic-form-helper-text);--color-component-nav-bottom-bg:var(--color-semantic-background-surface);--color-component-nav-bottom-border:var(--color-semantic-border-default);--color-component-nav-item-text-default:var(--color-semantic-text-tertiary);--color-component-nav-item-text-active:var(--color-semantic-brand-primary);--color-component-game-hud-bg:var(--color-semantic-background-surface);--color-component-game-hud-border:var(--color-semantic-border-default);--color-component-game-hud-timer-normal:var(--color-semantic-game-timer-normal);--color-component-game-hud-timer-warning:var(--color-semantic-game-timer-warning);--color-component-game-hud-timer-danger:var(--color-semantic-game-timer-danger);--color-component-game-hud-target-text:var(--color-semantic-text-primary);--color-component-game-hud-meta-text:var(--color-semantic-text-secondary);--color-component-wiki-content-bg:var(--color-semantic-wiki-article-bg);--color-component-wiki-content-text:var(--color-semantic-wiki-article-text);--color-component-wiki-content-muted:var(--color-semantic-wiki-article-muted);--color-component-wiki-content-link-default:var(--color-semantic-wiki-link-default);--color-component-wiki-content-link-visited:var(--color-semantic-wiki-link-visited);--color-component-wiki-content-link-hover-bg:var(--color-semantic-wiki-link-hover-bg);--color-component-matchmaking-bg:var(--color-semantic-background-surface);--color-component-matchmaking-accent:var(--color-semantic-brand-secondary);--color-component-opponent-card-bg:var(--color-semantic-background-surface);--color-component-opponent-card-progress:var(--color-semantic-game-progress-opponent);--color-component-self-progress:var(--color-semantic-game-progress-current);--color-component-race-card-bg:var(--color-semantic-background-surface);--color-component-race-card-bg-hover:var(--color-semantic-background-surface-raised);--color-component-race-card-border:var(--color-semantic-border-default);--color-component-race-card-arrow:var(--color-semantic-text-tertiary);--color-component-difficulty-easy-bg:var(--color-semantic-difficulty-easy-bg);--color-component-difficulty-easy-border:var(--color-semantic-difficulty-easy-border);--color-component-difficulty-easy-text:var(--color-semantic-difficulty-easy-text);--color-component-difficulty-normal-bg:var(--color-semantic-difficulty-normal-bg);--color-component-difficulty-normal-border:var(--color-semantic-difficulty-normal-border);--color-component-difficulty-normal-text:var(--color-semantic-difficulty-normal-text);--color-component-difficulty-hard-bg:var(--color-semantic-difficulty-hard-bg);--color-component-difficulty-hard-border:var(--color-semantic-difficulty-hard-border);--color-component-difficulty-hard-text:var(--color-semantic-difficulty-hard-text);--color-component-difficulty-master-bg:var(--color-semantic-difficulty-master-bg);--color-component-difficulty-master-border:var(--color-semantic-difficulty-master-border);--color-component-difficulty-master-text:var(--color-semantic-difficulty-master-text);--color-component-difficulty-legend-bg:var(--color-semantic-difficulty-legend-bg);--color-component-difficulty-legend-border:var(--color-semantic-difficulty-legend-border);--color-component-difficulty-legend-text:var(--color-semantic-difficulty-legend-text);--color-component-result-win-bg:var(--color-semantic-game-win-bg);--color-component-result-win-text:var(--color-semantic-game-win-text);--color-component-result-lose-bg:var(--color-semantic-game-lose-bg);--color-component-result-lose-text:var(--color-semantic-game-lose-text);--color-component-result-draw-bg:var(--color-semantic-game-draw-bg);--color-component-result-draw-text:var(--color-semantic-game-draw-text);--color-component-rank-bronze:var(--color-semantic-rank-bronze);--color-component-rank-silver:var(--color-semantic-rank-silver);--color-component-rank-gold:var(--color-semantic-rank-gold);--color-component-rank-platinum:var(--color-semantic-rank-platinum);--color-component-rank-diamond:var(--color-semantic-rank-diamond);--color-component-rank-master:var(--color-semantic-rank-master);--color-component-leaderboard-row-bg:var(--color-semantic-background-surface);--color-component-leaderboard-row-border:var(--color-semantic-border-default);--color-component-leaderboard-row-current-user-bg:var(--color-primitive-blue-50);--color-component-ad-container-bg:var(--color-semantic-ad-container-bg);--color-component-ad-container-border:var(--color-semantic-ad-container-border);--color-component-ad-label-text:var(--color-semantic-ad-label-text);--color-component-donation-subtle-bg:var(--color-semantic-donation-subtle-bg);--color-component-donation-subtle-text:var(--color-semantic-donation-subtle-text);--color-component-donation-prominent-bg:var(--color-semantic-donation-prominent-bg);--color-component-donation-prominent-text:var(--color-semantic-donation-prominent-text);--color-component-premium-badge-bg:var(--color-semantic-premium-bg);--color-component-premium-badge-text:var(--color-semantic-premium-text);--color-component-premium-frame-border:var(--color-semantic-brand-secondary);--color-component-auth-prompt-bg:var(--color-primitive-blue-50);--color-component-auth-prompt-text:var(--color-primitive-blue-700);--color-component-guest-trial-bg:var(--color-semantic-background-surface);--color-component-locked-card-bg:var(--color-semantic-locked-bg);--color-component-locked-card-text:var(--color-semantic-locked-text);--size-component-button-height-sm:36px;--size-component-button-height-md:44px;--size-component-button-height-lg:52px;--space-component-button-padding-x-sm:12px;--space-component-button-padding-x-md:16px;--space-component-button-padding-x-lg:20px;--space-component-button-gap:8px;--radius-component-button-default:var(--radius-full);--space-component-card-padding-sm:12px;--space-component-card-padding-md:16px;--space-component-card-padding-lg:24px;--radius-component-card-default:var(--radius-lg);--radius-component-card-game:var(--radius-xl);--size-component-input-height:48px;--radius-component-input-default:var(--radius-md);--space-component-input-padding-x:16px;--size-component-nav-bottom-height:64px;--size-component-nav-icon:24px;--space-component-game-hud-padding:12px;--radius-component-game-hud-default:var(--radius-lg);--space-component-wiki-content-padding-mobile:16px;--space-component-wiki-content-padding-desktop:24px;--radius-component-wiki-content-default:var(--radius-sm);--border-component-wiki-content-width:1px;--radius-component-opponent-card-default:var(--radius-lg);--radius-component-result-panel:var(--radius-2xl);--radius-component-rank-badge:var(--radius-full);--radius-component-leaderboard-row:var(--radius-lg);--radius-component-ad-container:var(--radius-lg);--space-component-ad-container-padding:12px;--radius-component-premium-badge:var(--radius-full);--space-component-form-gap:12px;--space-component-form-padding:16px;--radius-component-form-default:var(--radius-lg);--radius-component-locked-card-default:var(--radius-lg)}*,:after,:before{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgb(59 130 246/0.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }::backdrop{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgb(59 130 246/0.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }

/*
! tailwindcss v3.4.19 | MIT License | https://tailwindcss.com
*/*,:after,:before{box-sizing:border-box;border:0 solid #e5e7eb}:after,:before{--tw-content:""}:host,html{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;font-family:var(--font-family-base);font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent}body{line-height:inherit}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,pre,samp{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-feature-settings:normal;font-variation-settings:normal;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-family:inherit;font-feature-settings:inherit;font-variation-settings:inherit;font-size:100%;font-weight:inherit;line-height:inherit;letter-spacing:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dd,dl,figure,h1,h2,h3,h4,h5,h6,hr,p,pre{margin:0}fieldset{margin:0}fieldset,legend{padding:0}menu,ol,ul{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}[role=button],button{cursor:pointer}:disabled{cursor:default}audio,canvas,embed,iframe,img,object,svg,video{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]:where(:not([hidden=until-found])){display:none}.collapse{visibility:collapse}.block{display:block}.table{display:table}.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}*{box-sizing:border-box}body,html{min-height:100%;background:var(--color-semantic-background-page)}body{margin:0;color:var(--color-semantic-text-primary);font-family:var(--font-family-base);letter-spacing:0;-webkit-font-smoothing:antialiased;text-rendering:geometricPrecision}@keyframes page-enter{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}@keyframes surface-enter{0%{opacity:0;transform:translateY(5px)}to{opacity:1;transform:translateY(0)}}@keyframes article-enter{0%{opacity:0}to{opacity:1}}@keyframes wiki-loading-pulse{0%,to{opacity:.55}50%{opacity:.9}}a{color:inherit;text-decoration:none}button,input{font:inherit}button{cursor:pointer}.app-viewport,.mobile-stage{min-height:100vh;background:var(--color-semantic-background-page)}.mobile-stage{width:100%;max-width:393px;margin:0 auto}.mobile-shell{min-height:100vh;padding:var(--space-3) var(--space-4) calc(var(--size-component-nav-bottom-height) + var(--space-5) + env(safe-area-inset-bottom));display:flex;flex-direction:column;gap:var(--space-3);animation:page-enter .2s ease-out both}.mobile-shell.no-bottom-nav{padding-bottom:var(--space-4)}.game-shell{display:flex;flex-direction:column;background:var(--color-component-wiki-content-bg)}.game-shell,.landing-shell{width:100%;min-height:100vh;max-width:393px;margin:0 auto;animation:page-enter .2s ease-out both}.landing-shell{background:var(--color-semantic-background-page)}.game-mode-card,.home-hero,.matchmaking-card,.race-card,.section-card,.surface,.topic-card{animation:surface-enter .18s ease-out both}.surface{background:var(--color-component-card-bg);border:var(--border-width-default) solid var(--color-component-card-border);border-radius:var(--radius-component-card-default);box-shadow:0 10px 28px rgb(15 23 42/.06)}.muted{color:var(--color-semantic-text-secondary)}.tiny-label{color:var(--color-semantic-text-tertiary);font-size:var(--font-size-xs);font-weight:var(--font-weight-bold);letter-spacing:0}.page-title{font-size:var(--font-size-xl)}.page-title,.section-title{margin:0;line-height:var(--font-line-height-snug);font-weight:var(--font-weight-bold)}.section-title{font-size:var(--font-size-base)}.body-small{font-size:var(--font-size-sm);line-height:var(--font-line-height-normal)}.number-font{font-family:var(--font-family-game-number);font-variant-numeric:tabular-nums}.scroll-safe{overflow-x:hidden}.button{min-height:var(--size-component-button-height-md);padding:0 var(--space-component-button-padding-x-md);display:inline-flex;align-items:center;justify-content:center;gap:var(--space-component-button-gap);border:0;border-radius:var(--radius-component-button-default);font-size:var(--font-size-sm);font-weight:var(--font-weight-bold);line-height:1;transition:transform .15s ease,background .15s ease}.button:hover{transform:translateY(-1px)}.button:active:not(:disabled){opacity:.92;transform:translateY(1px)}button:not(:disabled){transition:transform .15s ease,opacity .15s ease,background .15s ease}button:not(:disabled):active{opacity:.92;transform:translateY(1px)}.button-sm{min-height:var(--size-component-button-height-sm);padding-inline:var(--space-component-button-padding-x-sm);font-size:var(--font-size-xs)}.button-lg{min-height:var(--size-component-button-height-lg);padding-inline:var(--space-component-button-padding-x-lg);font-size:var(--font-size-base)}.button-full{width:100%}.button-primary{background:var(--color-component-button-primary-bg-default);color:var(--color-component-button-primary-text)}.button-primary:hover{background:var(--color-component-button-primary-bg-hover)}.button-secondary{background:var(--color-component-button-secondary-bg-default);color:var(--color-component-button-secondary-text)}.button-secondary:hover{background:var(--color-component-button-secondary-bg-hover)}.button-ghost{background:transparent;color:var(--color-semantic-text-primary)}.button-ghost:hover{background:var(--color-component-button-ghost-bg-hover)}.button-danger{background:var(--color-component-button-danger-bg-default);color:var(--color-component-button-danger-text)}.button-danger:hover{background:var(--color-component-button-danger-bg-hover)}.top-nav{min-height:var(--size-header-mobile-height);display:grid;grid-template-columns:40px 1fr 40px;align-items:center;gap:var(--space-2)}.top-nav h1{margin:0;text-align:center;font-size:var(--font-size-base);font-weight:var(--font-weight-bold);line-height:var(--font-line-height-snug)}.top-nav-action{display:flex;justify-content:flex-end;align-items:center}.icon-button{width:40px;height:40px;display:inline-flex;align-items:center;justify-content:center;border-radius:var(--radius-full);color:var(--color-semantic-text-primary);background:var(--color-semantic-background-surface);border:var(--border-width-default) solid var(--color-semantic-border-default)}.premium-action{color:var(--color-component-premium-badge-text);background:var(--color-component-premium-badge-bg)}.bottom-nav{position:fixed;left:50%;bottom:0;z-index:50;width:min(100%,393px);max-width:393px;height:calc(var(--size-component-nav-bottom-height) + env(safe-area-inset-bottom));padding-bottom:env(safe-area-inset-bottom);margin:0;display:grid;grid-template-columns:repeat(5,1fr);align-items:center;transform:translateX(-50%);background:var(--color-component-nav-bottom-bg);border-top:var(--border-width-default) solid var(--color-component-nav-bottom-border);box-shadow:0 -10px 22px rgb(15 23 42/.08)}.bottom-nav-item{min-width:0;height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--space-1);color:var(--color-component-nav-item-text-default);font-size:10px;font-weight:var(--font-weight-bold);line-height:1}.bottom-nav-item.is-active{color:var(--color-component-nav-item-text-active)}.bottom-nav-item.is-coming-soon{color:var(--color-semantic-text-disabled);cursor:default}.bottom-nav-status{color:var(--color-semantic-text-disabled);font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);line-height:1;white-space:nowrap}.landing-header{min-height:var(--size-header-mobile-height);padding:var(--space-2) var(--space-4);display:flex;align-items:center;background:var(--color-semantic-background-surface);border-bottom:var(--border-width-default) solid var(--color-semantic-border-default)}.landing-brand{display:inline-flex;align-items:center;gap:var(--space-2);font-size:var(--font-size-lg);font-weight:var(--font-weight-black);line-height:1}.landing-logo{width:40px;height:40px;display:block;flex:0 0 auto;border-radius:var(--radius-md);-o-object-fit:cover;object-fit:cover}.button-row{display:flex;align-items:center;gap:var(--space-2)}.button-row>*{flex:1}.landing-intro{padding:var(--space-6) var(--space-4) var(--space-3)}.landing-title{margin:0;font-size:var(--font-size-2xl);line-height:1.2;font-weight:var(--font-weight-black);letter-spacing:0}.landing-title span{color:var(--color-semantic-brand-primary)}.landing-steps{position:relative;margin:0;padding:0 var(--space-4) 0 var(--space-3);display:flex;flex-direction:column;gap:var(--space-2);list-style:none}.landing-steps:before{position:absolute;top:20px;bottom:22px;left:29px;width:3px;content:"";background:var(--color-semantic-brand-primary)}.landing-step{position:relative;display:grid;grid-template-columns:34px minmax(0,1fr);gap:var(--space-3);min-width:0}.landing-step-number{position:relative;z-index:1;width:34px;height:34px;display:inline-flex;align-items:center;justify-content:center;color:var(--color-semantic-action-primary-text);background:var(--color-semantic-brand-primary);border-radius:var(--radius-full);font-family:var(--font-family-game-number);font-size:var(--font-size-lg);font-weight:var(--font-weight-bold)}.landing-step-content{min-width:0;padding-bottom:var(--space-2);border-bottom:var(--border-width-default) solid var(--color-semantic-border-default)}.landing-step:last-child .landing-step-content{padding-bottom:0;border-bottom:0}.landing-step-content h2{margin:0;font-size:var(--font-size-base);line-height:var(--font-line-height-snug);font-weight:var(--font-weight-black)}.landing-step-content p{margin:var(--space-1) 0 0;color:var(--color-semantic-text-secondary);font-size:var(--font-size-sm);line-height:var(--font-line-height-normal)}.landing-step-visual{min-width:0;display:flex;align-items:center}.landing-route-visual{gap:var(--space-2);margin:var(--space-1) 0 var(--space-1)}.landing-step-icon{width:48px;height:48px;flex:0 0 auto;display:inline-flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;color:var(--color-semantic-brand-primary);background:var(--color-primitive-cyan-50);border-radius:var(--radius-full)}.landing-step-icon span{padding:2px 6px;color:var(--color-semantic-brand-primary);background:var(--color-semantic-background-surface);border:var(--border-width-default) solid var(--color-semantic-brand-primary);border-radius:var(--radius-component-button-default);font-size:11px;font-weight:var(--font-weight-bold);line-height:1}.landing-route-path{min-width:0;flex:1;display:flex;align-items:center;justify-content:center;gap:var(--space-1);color:var(--color-semantic-brand-primary)}.landing-route-path span{min-width:0;padding:var(--space-1) var(--space-2);color:var(--color-semantic-text-primary);background:var(--color-semantic-background-surface);border:2px solid var(--color-semantic-brand-primary);border-radius:var(--radius-md);font-size:var(--font-size-base);font-weight:var(--font-weight-bold);white-space:nowrap}.landing-goal-visual{align-items:flex-start;gap:var(--space-3)}.landing-goal-visual .landing-step-icon{margin-top:var(--space-1)}.landing-goal-visual h2{margin-top:0}.landing-result-preview{min-width:0;margin-top:var(--space-1);padding:var(--space-1) var(--space-2);display:flex;align-items:center;gap:var(--space-2);color:var(--color-semantic-brand-primary);background:var(--color-primitive-cyan-50);border:var(--border-width-default) solid var(--color-primitive-cyan-100);border-radius:var(--radius-lg)}.landing-result-preview strong{font-family:var(--font-family-game-number);font-size:var(--font-size-2xl);line-height:1}.landing-result-preview span{color:var(--color-semantic-text-primary);font-size:var(--font-size-sm);white-space:nowrap}.landing-wiki-preview{width:100%;margin-top:var(--space-2);overflow:hidden;color:var(--color-component-wiki-content-text);background:var(--color-component-wiki-content-bg);border:var(--border-width-default) solid var(--color-semantic-border-default);border-radius:var(--radius-component-card-default)}.landing-wiki-toolbar{min-height:32px;padding:var(--space-1) var(--space-2);display:flex;align-items:center;gap:var(--space-2);border-bottom:var(--border-width-default) solid var(--color-semantic-border-default)}.landing-wiki-wordmark{min-width:0;display:flex;flex-direction:column;font-family:Georgia,Times New Roman,serif;line-height:1.05}.landing-wiki-wordmark span{font-size:var(--font-size-sm)}.landing-wiki-wordmark small{color:var(--color-component-wiki-content-muted);font-size:11px}.landing-wiki-search{margin-left:auto;flex:0 0 auto;color:var(--color-component-wiki-content-muted)}.landing-wiki-article{padding:var(--space-2);font-family:var(--font-family-base)}.landing-wiki-article h3{margin:0;font-family:Georgia,Times New Roman,serif;font-size:var(--font-size-base);font-weight:var(--font-weight-medium);line-height:1.15}.landing-wiki-tabs{min-height:22px;padding-bottom:0;display:flex;align-items:center;gap:var(--space-3);color:var(--color-component-wiki-content-muted);border-bottom:var(--border-width-default) solid var(--color-semantic-border-default);font-size:var(--font-size-xs)}.landing-wiki-tabs strong{color:var(--color-component-wiki-content-text);border-bottom:2px solid var(--color-component-wiki-content-text)}.landing-wiki-actions{margin-left:auto;display:inline-flex;align-items:center;gap:var(--space-1);white-space:nowrap}.landing-wiki-article p{margin:var(--space-1) 0 0;color:var(--color-component-wiki-content-text);font-size:var(--font-size-xs);line-height:1.35}.landing-wiki-link{color:var(--color-component-wiki-content-link-default)}.landing-wiki-link-target{position:relative;display:inline-block;padding:0 2px;background:var(--color-primitive-blue-50);border-radius:var(--radius-sm)}.landing-wiki-link-target svg{position:absolute;right:-10px;bottom:-25px;z-index:2;color:var(--color-component-wiki-content-link-default);fill:var(--color-semantic-background-surface);transform:rotate(-12deg)}.landing-actions-section{padding:var(--space-2) var(--space-4) var(--space-3)}.landing-caption{margin:0 0 var(--space-2);display:flex;align-items:center;gap:var(--space-2);color:var(--color-semantic-text-secondary);font-size:var(--font-size-sm);line-height:var(--font-line-height-normal)}.landing-caption svg{flex:0 0 auto;color:var(--color-semantic-brand-primary)}.landing-cta-stack{display:flex;flex-direction:column;gap:var(--space-2)}.landing-cta-stack .button-secondary{color:var(--color-semantic-brand-primary);background:var(--color-semantic-background-surface);border:var(--border-width-default) solid var(--color-semantic-brand-primary)}.landing-cta-stack .button-secondary:hover{color:var(--color-semantic-brand-primary);background:var(--color-primitive-cyan-50);border-color:var(--color-semantic-brand-primary)}.legal-footer{display:grid;gap:var(--space-2);margin:0 var(--space-4);padding:var(--space-5) 0 calc(var(--space-6) + env(safe-area-inset-bottom));color:var(--color-semantic-text-tertiary);font-size:var(--font-size-xs);line-height:var(--font-line-height-normal);text-align:center}.legal-footer p{margin:0}.legal-footer-links{display:flex;justify-content:center;gap:var(--space-3);flex-wrap:wrap}.legal-footer a{color:var(--color-semantic-text-secondary);text-decoration:underline;text-underline-offset:2px}.legal-shell{width:100%;max-width:680px;min-height:100vh;margin:0 auto;padding:var(--space-4) var(--space-4) var(--space-8);background:var(--color-semantic-background-page);animation:page-enter .2s ease-out both}.legal-header{display:grid;grid-template-columns:40px 1fr;align-items:center;gap:var(--space-3);margin-bottom:var(--space-3)}.legal-header h1,.legal-header p{margin:0}.legal-header h1{font-size:var(--font-size-xl);line-height:var(--font-line-height-snug)}.legal-updated{margin:0 0 var(--space-5);color:var(--color-semantic-text-tertiary);font-size:var(--font-size-xs)}.legal-content{display:grid;gap:var(--space-3);color:var(--color-semantic-text-secondary);font-size:var(--font-size-sm);line-height:var(--font-line-height-relaxed)}.legal-content h2{margin:var(--space-3) 0 0;color:var(--color-semantic-text-primary);font-size:var(--font-size-base);line-height:var(--font-line-height-snug)}.legal-content p,.legal-content ul{margin:0}.legal-content ul{padding-left:var(--space-5)}.legal-content a{color:var(--color-semantic-brand-primary);text-decoration:underline;text-underline-offset:2px}.legal-contact-box{display:grid;gap:var(--space-3);padding:var(--space-4);border:var(--border-width-default) solid var(--color-semantic-border-default);border-radius:var(--radius-component-card-default);color:var(--color-semantic-text-primary);background:var(--color-semantic-background-surface)}.legal-contact-box strong{overflow-wrap:anywhere;font-family:var(--font-family-latin)}.legal-note{color:var(--color-semantic-text-tertiary);font-size:var(--font-size-xs)}.home-hero,.section-card,.topic-card{padding:var(--space-4);display:flex;flex-direction:column;gap:var(--space-2);border-radius:var(--radius-component-card-game);background:var(--color-component-card-bg-raised);border:var(--border-width-default) solid var(--color-component-card-border)}.home-hero h2,.section-card h2,.topic-card h2{margin:0;font-size:var(--font-size-xl);font-weight:var(--font-weight-black);line-height:var(--font-line-height-snug)}.home-hero p,.section-card p,.topic-card p{margin:0;color:var(--color-semantic-text-secondary);font-size:var(--font-size-sm);line-height:var(--font-line-height-normal)}.check-list{flex-direction:column}.check-list,.check-row{display:flex;gap:var(--space-2)}.check-row{align-items:flex-start;color:var(--color-semantic-text-secondary);font-size:var(--font-size-sm);line-height:var(--font-line-height-normal)}.check-row svg{flex:0 0 auto;margin-top:2px;color:var(--color-semantic-brand-primary)}.game-mode-card{min-height:82px;padding:var(--space-4);display:grid;grid-template-columns:48px 1fr 20px;align-items:center;gap:var(--space-3);border-radius:var(--radius-component-card-game);background:var(--color-component-card-bg);border:var(--border-width-default) solid var(--color-component-card-border);box-shadow:0 10px 24px rgb(15 23 42/.05);transition:transform .15s ease,background-color .15s ease,border-color .15s ease,box-shadow .15s ease}.game-mode-card.is-coming-soon{color:var(--color-semantic-text-disabled);background:var(--color-semantic-background-subtle);box-shadow:none;cursor:default}.game-mode-card:not(.is-coming-soon):active,.race-card:active{transform:translateY(1px)}.mode-icon{width:48px;height:48px;display:flex;align-items:center;justify-content:center;border-radius:var(--radius-lg)}.mode-solo{color:var(--color-semantic-brand-primary);background:var(--color-primitive-cyan-50)}.mode-battle{color:var(--color-semantic-brand-secondary);background:var(--color-primitive-violet-50)}.mode-ranking{color:var(--color-semantic-rank-gold);background:var(--color-primitive-yellow-50)}.mode-copy{min-width:0;display:flex;flex-direction:column;gap:var(--space-1)}.mode-copy strong{font-size:var(--font-size-base)}.mode-copy span,.mode-copy strong{line-height:var(--font-line-height-snug)}.mode-copy span{color:var(--color-semantic-text-secondary);font-size:var(--font-size-sm)}.mode-arrow{color:var(--color-semantic-text-tertiary)}.mode-status{color:var(--color-semantic-text-disabled);font-size:var(--font-size-xs);font-weight:var(--font-weight-bold);white-space:nowrap}.race-list{display:flex;flex-direction:column;gap:var(--space-2)}.difficulty-badge,.race-card{--race-difficulty-bg:var(--color-component-difficulty-normal-bg);--race-difficulty-border:var(--color-component-difficulty-normal-border);--race-difficulty-text:var(--color-component-difficulty-normal-text)}.difficulty-badge.difficulty-easy,.race-card.difficulty-easy{--race-difficulty-bg:var(--color-component-difficulty-easy-bg);--race-difficulty-border:var(--color-component-difficulty-easy-border);--race-difficulty-text:var(--color-component-difficulty-easy-text)}.difficulty-badge.difficulty-normal,.race-card.difficulty-normal{--race-difficulty-bg:var(--color-component-difficulty-normal-bg);--race-difficulty-border:var(--color-component-difficulty-normal-border);--race-difficulty-text:var(--color-component-difficulty-normal-text)}.difficulty-badge.difficulty-hard,.race-card.difficulty-hard{--race-difficulty-bg:var(--color-component-difficulty-hard-bg);--race-difficulty-border:var(--color-component-difficulty-hard-border);--race-difficulty-text:var(--color-component-difficulty-hard-text)}.difficulty-badge.difficulty-master,.race-card.difficulty-master{--race-difficulty-bg:var(--color-component-difficulty-master-bg);--race-difficulty-border:var(--color-component-difficulty-master-border);--race-difficulty-text:var(--color-component-difficulty-master-text)}.difficulty-badge.difficulty-legend,.race-card.difficulty-legend{--race-difficulty-bg:var(--color-component-difficulty-legend-bg);--race-difficulty-border:var(--color-component-difficulty-legend-border);--race-difficulty-text:var(--color-component-difficulty-legend-text)}.race-card{width:100%;min-height:var(--size-touch-comfortable);padding:var(--space-3);display:grid;grid-template-columns:1fr 20px;align-items:center;gap:var(--space-2);border:var(--border-width-default) solid var(--color-component-race-card-border);border-left:var(--border-width-strong) solid var(--race-difficulty-text);border-radius:var(--radius-component-card-game);background:var(--color-component-race-card-bg);transition:background-color .15s ease,border-color .15s ease,transform .15s ease}.race-card:focus-visible{outline:var(--border-width-strong) solid var(--color-semantic-action-focus-ring);outline-offset:2px}.race-card:active{transform:translateY(1px)}.difficulty-badge{width:-moz-fit-content;width:fit-content;min-height:28px;padding:0 var(--space-2);display:inline-flex;align-items:center;gap:var(--space-1);border:var(--border-width-default) solid var(--race-difficulty-border);border-radius:var(--radius-full);color:var(--race-difficulty-text);background:var(--race-difficulty-bg);font-size:var(--font-size-xs);font-weight:var(--font-weight-bold);line-height:1}.difficulty-badge svg{flex:0 0 auto}.race-route{min-width:0;margin-top:var(--space-2);display:grid;grid-template-columns:minmax(0,1fr) 18px minmax(0,1fr);align-items:center;gap:var(--space-2)}.race-endpoint{min-width:0}.race-endpoint span,.race-endpoint strong{display:block}.race-endpoint span{color:var(--color-semantic-text-tertiary);font-size:var(--font-size-xs);font-weight:var(--font-weight-bold);line-height:var(--font-line-height-snug)}.race-endpoint strong{margin-top:var(--space-1);overflow-wrap:anywhere;font-size:var(--font-size-sm);line-height:var(--font-line-height-snug)}.race-card-arrow,.race-route-arrow{color:var(--color-component-race-card-arrow)}.race-card-arrow{grid-column:2;grid-row:1/span 2}@media (hover:hover){.race-card:hover{border-color:var(--race-difficulty-border);background:var(--color-component-race-card-bg-hover)}}@media (max-width:374px){.race-card{padding:var(--space-2) var(--space-3)}.race-route{gap:var(--space-1)}}.coming-soon-card{align-items:flex-start}.coming-soon-icon{width:48px;height:48px;display:inline-flex;align-items:center;justify-content:center;color:var(--color-semantic-text-disabled);background:var(--color-semantic-background-subtle);border-radius:var(--radius-lg)}.topic-grid{display:grid;grid-template-columns:1fr auto 1fr;gap:var(--space-2);align-items:center}.topic-pill{padding:var(--space-3);border-radius:var(--radius-lg);background:var(--color-semantic-background-subtle)}.topic-pill span{display:block;color:var(--color-semantic-text-tertiary);font-size:var(--font-size-xs);font-weight:var(--font-weight-bold)}.topic-pill strong{display:block;margin-top:var(--space-1)}.guest-banner{padding:var(--space-3);display:grid;grid-template-columns:18px 1fr auto;align-items:center;gap:var(--space-2);border-radius:var(--radius-component-form-default);color:var(--color-component-auth-prompt-text);background:var(--color-component-auth-prompt-bg)}.guest-banner p{margin:0;font-size:var(--font-size-xs);line-height:var(--font-line-height-normal)}.game-hud{width:100%;background:var(--color-component-game-hud-bg);color:var(--color-component-game-hud-meta-text);border-bottom:var(--border-width-default) solid var(--color-component-game-hud-border)}.game-hud.compact{min-height:49px;padding:var(--space-2) var(--space-3);display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:var(--space-2)}.hud-timer{color:var(--color-component-game-hud-timer-normal);font-weight:var(--font-weight-black)}.hud-route,.hud-timer{display:inline-flex;align-items:center;gap:var(--space-1)}.hud-route{min-width:0;justify-content:center;color:var(--color-component-game-hud-target-text);white-space:nowrap}.hud-route,.hud-steps{font-size:var(--font-size-xs);font-weight:var(--font-weight-bold)}.hud-steps{color:var(--color-component-game-hud-meta-text)}.game-status-row{min-height:38px;padding:var(--space-2) var(--space-3);display:grid;grid-template-columns:1fr 32px;align-items:center;gap:var(--space-2);color:var(--color-semantic-text-secondary);background:var(--color-semantic-background-surface);border-bottom:var(--border-width-default) solid var(--color-semantic-border-default);font-size:var(--font-size-xs);font-weight:var(--font-weight-bold)}.game-status-row span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.game-icon-action{width:32px;height:32px;display:inline-flex;align-items:center;justify-content:center;border:0;border-radius:var(--radius-full);background:var(--color-semantic-background-subtle);color:var(--color-semantic-text-secondary)}.game-icon-action:disabled{cursor:not-allowed;opacity:.45}.game-icon-action.danger{color:var(--color-component-button-danger-bg-default)}.game-recovery{padding:var(--space-3);display:grid;grid-template-columns:1fr 1fr;gap:var(--space-2);background:var(--color-semantic-background-surface);border-top:var(--border-width-default) solid var(--color-semantic-border-default)}.pvp-hud{min-height:98px;display:flex;flex-direction:column;background:var(--color-component-game-hud-bg);border-bottom:var(--border-width-default) solid var(--color-component-game-hud-border)}.pvp-hud-main{min-height:48px;padding:var(--space-2) var(--space-3);display:grid;grid-template-columns:64px 1fr 1fr;align-items:center;gap:var(--space-2)}.pvp-hud-main>div,.pvp-score{display:flex;flex-direction:column;gap:var(--space-1)}.pvp-hud-main strong{font-size:var(--font-size-base);line-height:1}.pvp-score span{color:var(--color-semantic-text-tertiary);font-size:var(--font-size-xs);font-weight:var(--font-weight-bold)}.pvp-score strong{color:var(--color-component-self-progress)}.pvp-score.opponent strong{color:var(--color-component-opponent-card-progress)}.pvp-target-row{padding:0 var(--space-3);min-height:25px;display:flex;font-size:var(--font-size-xs);font-weight:var(--font-weight-bold)}.pvp-meta,.pvp-target-row{align-items:center;gap:var(--space-1)}.pvp-meta{margin-left:auto;display:inline-flex;color:var(--color-semantic-text-tertiary);font-weight:var(--font-weight-medium)}.opponent-status{padding:0 var(--space-3) var(--space-2);color:var(--color-semantic-text-secondary);font-size:var(--font-size-xs)}.wiki-article{flex:1;min-height:0;padding:var(--space-component-wiki-content-padding-mobile) var(--space-component-wiki-content-padding-mobile) var(--space-10);overflow-y:auto;color:var(--color-component-wiki-content-text);background:var(--color-component-wiki-content-bg);font-family:var(--font-family-wiki-content);animation:surface-enter .18s ease-out both}.wiki-article h1{margin:0 0 var(--space-2);padding-bottom:var(--space-2);border-bottom:var(--border-component-wiki-content-width) solid var(--color-semantic-border-default);font-size:var(--font-size-2xl);font-weight:var(--font-weight-bold);line-height:var(--font-line-height-snug)}.wiki-source{margin:0 0 var(--space-4);color:var(--color-component-wiki-content-muted);font-size:var(--font-size-xs)}.wiki-article p{margin:0 0 var(--space-4);font-size:var(--font-size-base);line-height:var(--font-line-height-relaxed)}.wiki-html{display:flex;flex-direction:column;gap:var(--space-3)}.wiki-html>*{max-width:100%}.wiki-html dl,.wiki-html ol,.wiki-html p,.wiki-html table,.wiki-html ul{margin:0 0 var(--space-3);font-size:var(--font-size-base);line-height:var(--font-line-height-relaxed)}.wiki-html ol,.wiki-html ul{padding-left:var(--space-5)}.wiki-html h2,.wiki-html h3{margin:var(--space-4) 0 var(--space-2);padding-bottom:var(--space-1);border-bottom:var(--border-component-wiki-content-width) solid var(--color-semantic-border-default);line-height:var(--font-line-height-snug)}.wiki-html h2{font-size:var(--font-size-xl)}.wiki-html h3{font-size:var(--font-size-lg)}.wiki-html a{color:var(--color-component-wiki-content-link-default);text-decoration:underline;text-underline-offset:2px}.wiki-html a[data-wiki-blocked=true]{color:var(--color-semantic-text-tertiary);text-decoration-style:dotted}.wiki-html img{max-width:100%;height:auto;border-radius:var(--radius-sm)}.wiki-html table{width:100%;display:block;overflow-x:auto;border-collapse:collapse;font-size:var(--font-size-sm)}.wiki-html td,.wiki-html th{padding:var(--space-1) var(--space-2);border:var(--border-width-default) solid var(--color-semantic-border-default)}.wiki-state{min-height:220px;justify-content:center;color:var(--color-semantic-text-secondary)}.wiki-loading-skeleton,.wiki-state{display:flex;flex-direction:column;gap:var(--space-2)}.wiki-loading-skeleton{animation:wiki-loading-pulse 1.2s ease-in-out infinite}.wiki-loading-skeleton span{display:block;height:14px;border-radius:var(--radius-sm);background:var(--color-semantic-background-subtle)}.wiki-loading-skeleton span:first-child,.wiki-loading-skeleton span:nth-child(3){width:100%}.wiki-loading-skeleton span:nth-child(2){width:76%}.wiki-loading-skeleton span:nth-child(4){width:58%}.wiki-live-content{animation:article-enter .18s ease-out both}.wiki-state strong{color:var(--color-semantic-text-primary);font-size:var(--font-size-lg);line-height:var(--font-line-height-snug)}.wiki-feedback.danger,.wiki-state.danger strong{color:var(--color-component-button-danger-bg-default)}.wiki-feedback{padding:var(--space-2) var(--space-3);border-radius:var(--radius-lg);color:var(--color-semantic-text-secondary);background:var(--color-semantic-background-subtle);font-size:var(--font-size-sm);font-weight:var(--font-weight-bold)}.wiki-link-list{display:flex;flex-wrap:wrap;gap:var(--space-2)}.wiki-link-list a{padding:var(--space-1) var(--space-2);border-radius:var(--radius-sm);color:var(--color-component-wiki-content-link-default);background:var(--color-component-wiki-content-link-hover-bg);font-size:var(--font-size-sm);text-decoration:underline;text-underline-offset:2px}.matchmaking-card{padding:var(--space-6);min-height:220px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--space-3);text-align:center}.matchmaking-icon{width:72px;height:72px;display:grid;place-items:center;border-radius:var(--radius-full);color:var(--color-component-matchmaking-accent);background:var(--color-primitive-violet-50)}.matchmaking-card strong{font-size:var(--font-size-xl)}.matchmaking-card span{color:var(--color-semantic-text-secondary);font-size:var(--font-size-sm)}.spin{animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(1turn)}}.result-panel{padding:var(--space-6);display:flex;flex-direction:column;align-items:center;gap:var(--space-3);text-align:center;border-radius:var(--radius-component-result-panel);color:var(--color-component-result-win-text);background:var(--color-component-result-win-bg);animation:surface-enter .2s ease-out both}.result-mark{width:56px;height:56px;display:grid;place-items:center;border-radius:var(--radius-full);background:var(--color-semantic-background-surface)}.result-panel h2{margin:0;font-size:var(--font-size-3xl);font-weight:var(--font-weight-black)}.result-stats{width:100%;display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-2);animation:surface-enter .18s ease-out 60ms both}.result-stats span{padding:var(--space-2);border-radius:var(--radius-lg);background:var(--color-semantic-background-surface)}.result-stats small{display:block;color:var(--color-semantic-text-tertiary);font-size:10px;font-weight:var(--font-weight-bold)}.result-stats strong{display:block;margin-top:var(--space-1);color:var(--color-semantic-text-primary)}.leaderboard-row{min-height:76px;padding:var(--space-3);display:grid;grid-template-columns:42px 36px 1fr auto auto;align-items:center;gap:var(--space-2);border-radius:var(--radius-component-leaderboard-row);background:var(--color-component-leaderboard-row-bg);border:var(--border-width-default) solid var(--color-component-leaderboard-row-border)}.leaderboard-row.current-user{background:var(--color-component-leaderboard-row-current-user-bg);border-color:var(--color-semantic-border-focus)}.rank-number{display:flex;align-items:center;gap:var(--space-1);color:var(--color-semantic-text-secondary);font-family:var(--font-family-game-number);font-size:var(--font-size-xs);font-weight:var(--font-weight-black)}.leaderboard-row.top3 .rank-number{color:var(--color-semantic-rank-gold)}.avatar{width:36px;height:36px;display:grid;place-items:center;border-radius:var(--radius-full);color:var(--color-semantic-action-primary-text);background:var(--color-semantic-brand-primary);font-weight:var(--font-weight-bold)}.leaderboard-name{min-width:0;display:flex;flex-direction:column;gap:var(--space-1)}.leaderboard-name strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:var(--font-size-sm)}.leaderboard-result{text-align:right;font-size:var(--font-size-xs)}.leaderboard-result span,.leaderboard-result strong{display:block}.leaderboard-result span{color:var(--color-semantic-text-tertiary)}.leaderboard-rp{color:var(--color-semantic-game-win-text);font-size:var(--font-size-xs);white-space:nowrap}.leaderboard-rp,.rank-badge{font-weight:var(--font-weight-bold)}.rank-badge{width:-moz-fit-content;width:fit-content;min-height:20px;padding:0 var(--space-2);display:inline-flex;align-items:center;gap:var(--space-1);border-radius:var(--radius-component-rank-badge);color:var(--color-semantic-text-inverse);background:var(--color-component-rank-gold);font-size:10px;line-height:1}.tier-bronze{background:var(--color-component-rank-bronze)}.tier-silver{background:var(--color-component-rank-silver)}.tier-gold{background:var(--color-component-rank-gold)}.tier-platinum{background:var(--color-component-rank-platinum)}.tier-diamond{background:var(--color-component-rank-diamond)}.tier-master{background:var(--color-component-rank-master)}.tabs{grid-template-columns:repeat(4,1fr);gap:var(--space-2)}.tab,.tabs{display:grid}.tab{min-height:34px;place-items:center;border-radius:var(--radius-full);color:var(--color-semantic-text-secondary);background:var(--color-semantic-background-surface);border:var(--border-width-default) solid var(--color-semantic-border-default);font-size:var(--font-size-xs);font-weight:var(--font-weight-bold)}.tab.active{color:var(--color-semantic-action-primary-text);background:var(--color-semantic-brand-primary);border-color:var(--color-semantic-brand-primary)}.podium-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-2)}.podium-card{min-height:160px;padding:var(--space-3);display:flex;flex-direction:column;justify-content:center;align-items:center;gap:var(--space-2);text-align:center;border-radius:var(--radius-lg);background:var(--color-semantic-background-surface);border:var(--border-width-default) solid var(--color-semantic-border-default)}.podium-card:first-child{margin-top:var(--space-3)}.podium-card:nth-child(2){min-height:176px;border-color:var(--color-semantic-rank-gold)}.podium-card:nth-child(3){margin-top:var(--space-4)}.podium-card strong{font-size:var(--font-size-xs)}.podium-card span{color:var(--color-semantic-text-tertiary);font-size:11px}.ad-banner{width:100%;overflow:hidden;color:var(--color-component-ad-label-text)}.ad-banner[data-ad-status=filled]{display:flex;flex-direction:column;gap:var(--space-1);padding:var(--space-2) 0}.ad-banner-label{font-size:var(--font-size-xs);font-weight:var(--font-weight-bold)}.ad-banner .adsbygoogle{display:block;width:100%;max-width:100%;overflow:hidden}.donation{min-height:44px;padding:var(--space-3);display:flex;align-items:center;justify-content:space-between;gap:var(--space-2);border-radius:var(--radius-lg);color:var(--color-component-donation-subtle-text);background:var(--color-component-donation-subtle-bg);font-size:var(--font-size-sm);font-weight:var(--font-weight-bold)}.donation.prominent{color:var(--color-component-donation-prominent-text);background:var(--color-component-donation-prominent-bg)}.premium-badge{width:-moz-fit-content;width:fit-content;min-height:28px;padding:0 var(--space-3);display:inline-flex;align-items:center;gap:var(--space-1);border-radius:var(--radius-component-premium-badge);color:var(--color-component-premium-badge-text);background:var(--color-component-premium-badge-bg);font-size:var(--font-size-xs);font-weight:var(--font-weight-bold)}.auth-prompt{padding:var(--space-5);display:flex;flex-direction:column;align-items:flex-start;gap:var(--space-3);color:var(--color-component-auth-prompt-text);background:var(--color-component-auth-prompt-bg)}.auth-prompt h2,.auth-prompt p{margin:0}.auth-prompt h2{color:var(--color-semantic-text-primary);font-size:var(--font-size-xl);line-height:var(--font-line-height-snug)}.auth-prompt p{color:var(--color-semantic-text-secondary);font-size:var(--font-size-sm);line-height:var(--font-line-height-normal)}.locked-card{min-height:78px;padding:var(--space-4);display:grid;grid-template-columns:22px 1fr;gap:var(--space-3);border-radius:var(--radius-component-locked-card-default);color:var(--color-component-locked-card-text);background:var(--color-component-locked-card-bg)}.locked-card strong{display:block;margin-bottom:var(--space-1);color:var(--color-semantic-text-primary)}.locked-card p{margin:0;font-size:var(--font-size-sm);line-height:var(--font-line-height-normal)}.profile-card{padding:var(--space-4);display:grid;grid-template-columns:64px 1fr;gap:var(--space-4);border-radius:var(--radius-component-card-game);background:var(--color-component-card-bg);border:var(--border-width-default) solid var(--color-component-card-border)}.profile-avatar{width:64px;height:64px;display:grid;place-items:center;border-radius:var(--radius-full);color:var(--color-semantic-action-primary-text);background:var(--color-semantic-brand-primary);font-size:var(--font-size-2xl);font-weight:var(--font-weight-black)}.profile-meta{min-width:0;display:flex;flex-direction:column;gap:var(--space-2)}.profile-meta h2{margin:0;font-size:var(--font-size-lg)}.rank-progress{padding:var(--space-4);display:flex;flex-direction:column;gap:var(--space-3);border-radius:var(--radius-lg);background:var(--color-semantic-background-surface);border:var(--border-width-default) solid var(--color-semantic-border-default)}.progress-bottom,.progress-top{display:flex;justify-content:space-between;gap:var(--space-2);color:var(--color-semantic-text-secondary);font-size:var(--font-size-sm)}.progress-bar{height:8px;overflow:hidden;border-radius:var(--radius-full);background:var(--color-semantic-background-subtle)}.progress-bar span{display:block;height:100%;border-radius:inherit;background:var(--color-semantic-brand-primary)}.stat-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-2)}.premium-plan{padding:var(--space-5);display:flex;flex-direction:column;gap:var(--space-3);border-radius:var(--radius-2xl);background:var(--color-semantic-premium-bg);color:var(--color-semantic-premium-text);border:var(--border-width-strong) solid var(--color-component-premium-frame-border)}.premium-plan h2,.premium-plan p{margin:0}.premium-plan h2{color:var(--color-semantic-text-primary);font-size:var(--font-size-2xl)}.premium-price{font-family:var(--font-family-game-number);font-size:var(--font-size-3xl);font-weight:var(--font-weight-black)}.benefit-list{margin:0;padding:0;display:flex;flex-direction:column;gap:var(--space-2);list-style:none}.benefit-list li{padding:var(--space-3);border-radius:var(--radius-lg);background:var(--color-semantic-background-surface);color:var(--color-semantic-text-primary);font-size:var(--font-size-sm);font-weight:var(--font-weight-bold)}@media (min-width:768px){.bottom-nav,.game-shell,.landing-shell,.mobile-stage{max-width:430px}.bottom-nav{width:min(100%,430px)}.app-viewport{padding:var(--space-6) 0}.game-shell,.landing-shell,.mobile-stage{min-height:calc(100vh - var(--space-12));border-radius:var(--radius-2xl);overflow:hidden;box-shadow:0 24px 60px rgb(15 23 42/.12)}}@media (prefers-reduced-motion:reduce){*,:after,:before{animation:none!important;scroll-behavior:auto!important;transition-duration:.01ms!important}.game-shell,.landing-shell,.mobile-shell,.result-panel,.result-stats,.wiki-article,.wiki-live-content{opacity:1;transform:none}}