﻿@import url("https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&display=swap");:root{--color-bg: #fafaf9;--color-bg-elevated: #ffffff;--color-bg-hover: rgba(0, 0, 0, 0.03);--color-bg-card: #ffffff;--color-text: #44403c;--color-text-muted: #78716c;--color-text-subtle: #a8a29e;--color-border: #e7e5e4;--color-border-strong: #d6d3d1;--color-accent: #0d9488;--color-accent-hover: #0f766e;--color-accent-light: #99f6e4;--color-accent-text: #0d9488;--color-accent-alpha-08: rgba(13, 148, 136, 0.08);--color-accent-alpha-12: rgba(13, 148, 136, 0.12);--color-accent-alpha-35: rgba(13, 148, 136, 0.35);--color-correct: #219653;--color-present: #ffa500;--color-absent: #bababc;--color-error: #b00020;--color-success: #219653;--color-warning: #ffa500;--color-danger: #b00020;--color-info: #0d9488;--color-btn-success: #28a745;--color-btn-success-hover: #218838;--color-btn-danger: #dc3545;--color-btn-danger-hover: #c82333;--color-btn-warning: #ffc107;--color-btn-warning-text: #212529;--color-btn-info: #17a2b8;--color-btn-info-hover: #138496;--color-alert-info-bg: #d1ecf1;--color-alert-info-text: #0c5460;--color-alert-info-border: #bee5eb;--color-alert-success-bg: #d4edda;--color-alert-success-text: #155724;--color-alert-success-border: #c3e6cb;--color-alert-warning-bg: #fff3cd;--color-alert-warning-text: #856404;--color-alert-warning-border: #ffeeba;--color-alert-danger-bg: #f8d7da;--color-alert-danger-text: #721c24;--color-alert-danger-border: #f5c6cb;--color-text-on-colored: #ffffff;--color-text-on-dark: #ffffff;--color-text-on-warning: #212529;--color-text-on-accent: #ffffff;--color-primary: #007bff;--color-primary-hover: #0056b3;--color-gold: #ffd700;--color-disabled: #cccccc;--color-disabled-text: #666666;--color-streak-start: #ff6b35;--color-streak-end: #f7931e;--color-streak-alt-start: #28a745;--color-streak-alt-end: #20c997;--color-special-start: #667eea;--color-special-end: #764ba2;--color-keyboard-bg: #f5f5f4;--color-keyboard-key: #ffffff;--color-keyboard-key-hover: #e7e5e4;--color-modal-backdrop: rgba(0, 0, 0, 0.5);--color-input-bg: #ffffff;--color-input-border: #d6d3d1;--color-input-focus: #0d9488;--color-text-primary: var(--color-text);--color-bg-primary: var(--color-bg);--color-btn-navigation: var(--color-text-muted);--color-btn-back-home: var(--color-text-muted);--color-btn-history: var(--color-text-muted);--color-bg-table-row-even-light: rgba(0, 0, 0, 0.02);--color-bg-table-row-even-dark: rgba(255, 255, 255, 0.03);--color-reveal-tile-text: #78716c;--color-reveal-tile-border: #d6d3d1;--color-reveal-tile-bg: #ffffff;--font-family-base: 'Inter', system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;--font-family-display: 'Inter', system-ui, -apple-system, sans-serif;--font-family-mono: 'SF Mono', 'Monaco', 'Inconsolata', 'Fira Mono', 'Droid Sans Mono', 'Source Code Pro', monospace;--font-weight-light: 300;--font-weight-normal: 400;--font-weight-medium: 500;--font-weight-bold: 600;--spacing-xs: 0.25rem;--spacing-sm: 0.5rem;--spacing-md: 1rem;--spacing-lg: 1.5rem;--spacing-xl: 2rem;--spacing-2xl: 3rem;--radius-sm: 0.25rem;--radius-md: 0.5rem;--radius-lg: 0.75rem;--radius-xl: 1rem;--radius-full: 9999px;--shadow-sm: 0 1px 2px 0 rgba(0, 0, 0, 0.05);--shadow-md: 0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -2px rgba(0, 0, 0, 0.1);--shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -4px rgba(0, 0, 0, 0.1);--shadow-xl: 0 8px 24px rgba(0, 0, 0, 0.15);--shadow-focus: 0 0 0 3px rgba(0, 123, 255, 0.15);--shadow-focus-strong: 0 0 0 3px rgba(0, 123, 255, 0.25);--shadow-keyboard: 0 2px 4px rgba(0, 0, 0, 0.04);--shadow-keyboard-hover: 0 3px 6px rgba(0, 0, 0, 0.06);--blur-sm: 4px;--blur-md: 8px;--blur-lg: 10px;--color-overlay-light: rgba(0, 0, 0, 0.4);--color-overlay-medium: rgba(0, 0, 0, 0.5);--color-overlay-heavy: rgba(0, 0, 0, 0.6);--color-overlay-dark: rgba(0, 0, 0, 0.7);--color-bg-tint-subtle: rgba(0, 0, 0, 0.02);--color-bg-tint-light: rgba(0, 0, 0, 0.05);--color-bg-tint-medium: rgba(0, 0, 0, 0.08);--color-border-tint-subtle: rgba(0, 0, 0, 0.05);--color-border-tint-light: rgba(0, 0, 0, 0.1);--color-border-tint-medium: rgba(0, 0, 0, 0.15);--color-primary-bg-subtle: rgba(0, 123, 255, 0.04);--color-primary-bg-light: rgba(0, 123, 255, 0.06);--color-primary-bg-medium: rgba(0, 123, 255, 0.1);--color-primary-border-light: rgba(0, 123, 255, 0.15);--color-primary-border-medium: rgba(0, 123, 255, 0.2);--color-primary-shadow: rgba(0, 123, 255, 0.3);--color-primary-gradient-start: rgba(0, 123, 255, 0.08);--color-primary-gradient-end: rgba(0, 123, 255, 0.02);--color-success-bg-subtle: rgba(40, 167, 69, 0.05);--color-success-bg-light: rgba(40, 167, 69, 0.08);--color-success-bg-medium: rgba(40, 167, 69, 0.1);--color-success-border-light: rgba(40, 167, 69, 0.2);--color-success-border-medium: rgba(40, 167, 69, 0.3);--color-success-shadow: rgba(40, 167, 69, 0.25);--color-success-shadow-strong: rgba(40, 167, 69, 0.4);--color-success-gradient-start: rgba(33, 150, 83, 0.1);--color-success-gradient-end: rgba(33, 150, 83, 0.15);--color-danger-bg-subtle: rgba(220, 53, 69, 0.05);--color-danger-bg-light: rgba(220, 53, 69, 0.1);--color-danger-bg-medium: rgba(220, 53, 69, 0.15);--color-danger-border-light: rgba(220, 53, 69, 0.2);--color-danger-border-medium: rgba(220, 53, 69, 0.3);--color-danger-shadow: rgba(220, 53, 69, 0.25);--color-danger-gradient-start: rgba(176, 0, 32, 0.1);--color-danger-gradient-end: rgba(176, 0, 32, 0.15);--color-warning-bg-subtle: rgba(255, 165, 0, 0.1);--color-warning-bg-light: rgba(255, 165, 0, 0.15);--color-warning-gradient-start: rgba(255, 165, 0, 0.1);--color-warning-gradient-end: rgba(255, 165, 0, 0.15);--color-secondary-bg-subtle: rgba(108, 117, 125, 0.06);--color-secondary-bg-light: rgba(127, 127, 127, 0.1);--color-secondary-bg-medium: rgba(127, 127, 127, 0.15);--color-secondary-bg-strong: rgba(127, 127, 127, 0.2);--color-secondary-bg-heavy: rgba(127, 127, 127, 0.25);--color-secondary-border-light: rgba(108, 117, 125, 0.15);--color-special-shadow: rgba(102, 126, 234, 0.3);--color-special-shadow-strong: rgba(102, 126, 234, 0.4);--color-streak-shadow: rgba(255, 107, 53, 0.3);--color-streak-shadow-strong: rgba(255, 107, 53, 0.4);--color-streak-alt-shadow: rgba(40, 167, 69, 0.3);--color-streak-alt-shadow-strong: rgba(40, 167, 69, 0.4);--color-gold-glow: rgba(255, 215, 0, 0.5);--color-achievement-ring: rgba(255, 255, 255, 0.2);--color-achievement-shadow: rgba(0, 0, 0, 0.3);--anim-duration-fast: 0.15s;--anim-duration-snappy: 0.25s;--anim-duration-base: 0.3s;--anim-duration-medium: 0.4s;--anim-duration-slow: 0.5s;--anim-duration-slower: 0.6s;--anim-duration-celebrate: 3s;--anim-duration-celebrate-slow: 4s;--anim-duration-celebrate-drift: 3.5s;--ink-duration-confident: 0.3s;--ink-duration-searching: 0.45s;--ink-duration-fading: 0.5s;--ink-hesitation-delay: 0.1s;--paper-response-duration: 0.6s;--ink-absent-opacity: 0.85;--ease-ink-confident: cubic-bezier(0.19, 1, 0.22, 1);--ease-ink-searching: cubic-bezier(0.25, 0, 0.2, 1);--anim-letter-stagger: 120ms;--transition-fast: 150ms ease;--transition-base: 300ms ease;--transition-slow: 500ms ease;--ease-linear: linear;--ease-default: ease;--ease-in: ease-in;--ease-out: ease-out;--ease-in-out: ease-in-out;--ease-bounce: cubic-bezier(0.34, 1.56, 0.64, 1);--ease-smooth: cubic-bezier(0.4, 0, 0.2, 1);--ease-enter: cubic-bezier(0, 0, 0.2, 1);--ease-exit: cubic-bezier(0.4, 0, 1, 1);--ease-zen: cubic-bezier(0.22, 1, 0.36, 1);--z-controls: 100;--z-overlay: 200;--z-modal-special: 250;--z-modal: 300;--z-tooltip: 400;--z-toast: 500;--z-critical: 1000;--z-skip-link: 9999;--bp-xs: 375px;--bp-sm: 480px;--bp-md: 520px;--bp-lg: 640px;--bp-xl: 768px;--bp-2xl: 1024px}@media (prefers-color-scheme: dark){:root:not([data-theme="light"]){--color-bg: #171717;--color-bg-elevated: #262626;--color-bg-hover: rgba(255, 255, 255, 0.05);--color-bg-card: #262626;--color-text: #e5e5e5;--color-text-muted: #a3a3a3;--color-text-subtle: #737373;--color-border: #3a3a3a;--color-border-strong: #525252;--color-accent: #2dd4bf;--color-accent-hover: #5eead4;--color-accent-light: #134e4a;--color-accent-text: #2dd4bf;--color-accent-alpha-08: rgba(45, 212, 191, 0.08);--color-accent-alpha-12: rgba(45, 212, 191, 0.12);--color-accent-alpha-35: rgba(45, 212, 191, 0.35);--color-accent-alpha-45: rgba(45, 212, 191, 0.45);--color-correct: #34d399;--color-present: #fbbf24;--color-absent: #525252;--color-error: #cf6679;--color-btn-success: #34d399;--color-btn-success-hover: #10b981;--color-btn-danger: #f87171;--color-btn-danger-hover: #ef4444;--color-btn-warning: #fbbf24;--color-btn-warning-text: #171717;--color-btn-info: #22d3ee;--color-btn-info-hover: #06b6d4;--color-alert-info-bg: #164e63;--color-alert-info-text: #a5f3fc;--color-alert-info-border: #155e75;--color-alert-success-bg: #14532d;--color-alert-success-text: #bbf7d0;--color-alert-success-border: #166534;--color-alert-warning-bg: #78350f;--color-alert-warning-text: #fef3c7;--color-alert-warning-border: #92400e;--color-alert-danger-bg: #7f1d1d;--color-alert-danger-text: #fecaca;--color-alert-danger-border: #991b1b;--color-text-on-colored: #ffffff;--color-text-on-dark: #e5e5e5;--color-text-on-warning: #171717;--color-text-on-accent: #ffffff;--color-primary: #60a5fa;--color-primary-hover: #93c5fd;--color-gold: #fbbf24;--color-disabled: #525252;--color-disabled-text: #a3a3a3;--color-streak-start: #f97316;--color-streak-end: #fb923c;--color-streak-alt-start: #34d399;--color-streak-alt-end: #2dd4bf;--color-special-start: #818cf8;--color-special-end: #a78bfa;--color-keyboard-bg: #262626;--color-keyboard-key: #404040;--color-keyboard-key-hover: #525252;--color-input-bg: #262626;--color-input-border: #404040;--color-input-focus: #2dd4bf;--color-reveal-tile-text: #d4d4d4;--color-reveal-tile-border: #525252;--color-reveal-tile-bg: #262626;--shadow-sm: 0 1px 2px 0 rgba(0, 0, 0, 0.3);--shadow-md: 0 4px 6px -1px rgba(0, 0, 0, 0.4), 0 2px 4px -2px rgba(0, 0, 0, 0.3);--shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, 0.5), 0 4px 6px -4px rgba(0, 0, 0, 0.4);--shadow-xl: 0 8px 24px rgba(0, 0, 0, 0.4);--shadow-focus: 0 0 0 3px rgba(77, 166, 255, 0.25);--shadow-focus-strong: 0 0 0 3px rgba(77, 166, 255, 0.4);--shadow-keyboard: 0 1px 2px rgba(0, 0, 0, 0.2);--shadow-keyboard-hover: 0 2px 4px rgba(0, 0, 0, 0.25);--color-overlay-light: rgba(0, 0, 0, 0.5);--color-overlay-medium: rgba(0, 0, 0, 0.6);--color-overlay-heavy: rgba(0, 0, 0, 0.7);--color-overlay-dark: rgba(0, 0, 0, 0.8);--color-bg-tint-subtle: rgba(255, 255, 255, 0.02);--color-bg-tint-light: rgba(255, 255, 255, 0.05);--color-bg-tint-medium: rgba(255, 255, 255, 0.08);--color-bg-tint-strong: rgba(255, 255, 255, 0.1);--color-bg-tint-heavy: rgba(255, 255, 255, 0.15);--color-bg-tint-intense: rgba(255, 255, 255, 0.2);--color-border-tint-subtle: rgba(255, 255, 255, 0.05);--color-border-tint-light: rgba(255, 255, 255, 0.1);--color-border-tint-medium: rgba(255, 255, 255, 0.15);--color-border-tint-strong: rgba(255, 255, 255, 0.2);--color-border-tint-heavy: rgba(255, 255, 255, 0.3);--color-primary-bg-subtle: rgba(77, 166, 255, 0.08);--color-primary-bg-light: rgba(77, 166, 255, 0.1);--color-primary-bg-medium: rgba(77, 166, 255, 0.15);--color-primary-border-light: rgba(77, 166, 255, 0.2);--color-primary-border-medium: rgba(77, 166, 255, 0.3);--color-primary-shadow: rgba(77, 166, 255, 0.3);--color-primary-shadow-strong: rgba(77, 166, 255, 0.4);--color-primary-gradient-start: rgba(77, 166, 255, 0.12);--color-primary-gradient-end: rgba(77, 166, 255, 0.04);--color-success-bg-subtle: rgba(52, 211, 153, 0.08);--color-success-bg-light: rgba(52, 211, 153, 0.1);--color-success-bg-medium: rgba(52, 211, 153, 0.15);--color-success-border-light: rgba(52, 211, 153, 0.2);--color-success-border-medium: rgba(52, 211, 153, 0.3);--color-success-shadow: rgba(52, 211, 153, 0.3);--color-success-shadow-strong: rgba(52, 211, 153, 0.4);--color-success-gradient-start: rgba(52, 211, 153, 0.15);--color-success-gradient-end: rgba(52, 211, 153, 0.2);--color-danger-bg-subtle: rgba(239, 68, 68, 0.08);--color-danger-bg-light: rgba(239, 68, 68, 0.1);--color-danger-bg-medium: rgba(239, 68, 68, 0.15);--color-danger-border-light: rgba(239, 68, 68, 0.2);--color-danger-border-medium: rgba(239, 68, 68, 0.3);--color-danger-shadow: rgba(239, 68, 68, 0.3);--color-danger-gradient-start: rgba(239, 68, 68, 0.15);--color-danger-gradient-end: rgba(239, 68, 68, 0.2);--color-warning-bg-subtle: rgba(251, 191, 36, 0.1);--color-warning-bg-light: rgba(251, 191, 36, 0.15);--color-warning-gradient-start: rgba(251, 191, 36, 0.15);--color-warning-gradient-end: rgba(251, 191, 36, 0.2);--color-secondary-bg-subtle: rgba(127, 127, 127, 0.08);--color-secondary-bg-light: rgba(127, 127, 127, 0.1);--color-secondary-bg-medium: rgba(127, 127, 127, 0.15);--color-secondary-bg-strong: rgba(127, 127, 127, 0.2);--color-secondary-bg-heavy: rgba(127, 127, 127, 0.25);--color-secondary-border-light: rgba(127, 127, 127, 0.2);--color-special-shadow: rgba(129, 140, 248, 0.4);--color-special-shadow-strong: rgba(129, 140, 248, 0.5);--color-streak-shadow: rgba(249, 115, 22, 0.4);--color-streak-shadow-strong: rgba(249, 115, 22, 0.5);--color-streak-alt-shadow: rgba(52, 211, 153, 0.4);--color-streak-alt-shadow-strong: rgba(52, 211, 153, 0.5);--color-gold-glow: rgba(251, 191, 36, 0.5);--color-achievement-ring: rgba(255, 255, 255, 0.3);--color-achievement-shadow: rgba(0, 0, 0, 0.5);--color-text-on-dark-subtle: rgba(255, 255, 255, 0.4);--color-text-on-dark-muted: rgba(255, 255, 255, 0.6);--color-text-on-dark-soft: rgba(255, 255, 255, 0.8);--color-text-on-dark-near: rgba(255, 255, 255, 0.9)}}[data-theme="dark"]{--color-bg: #171717;--color-bg-elevated: #262626;--color-bg-hover: rgba(255, 255, 255, 0.05);--color-bg-card: #262626;--color-text: #e5e5e5;--color-text-muted: #a3a3a3;--color-text-subtle: #737373;--color-border: #3a3a3a;--color-border-strong: #525252;--color-accent: #2dd4bf;--color-accent-hover: #5eead4;--color-accent-light: #134e4a;--color-accent-text: #2dd4bf;--color-accent-alpha-08: rgba(45, 212, 191, 0.08);--color-accent-alpha-12: rgba(45, 212, 191, 0.12);--color-accent-alpha-35: rgba(45, 212, 191, 0.35);--color-accent-alpha-45: rgba(45, 212, 191, 0.45);--color-correct: #34d399;--color-present: #fbbf24;--color-absent: #525252;--color-error: #cf6679;--color-btn-success: #34d399;--color-btn-success-hover: #10b981;--color-btn-danger: #f87171;--color-btn-danger-hover: #ef4444;--color-btn-warning: #fbbf24;--color-btn-warning-text: #171717;--color-btn-info: #22d3ee;--color-btn-info-hover: #06b6d4;--color-alert-info-bg: #164e63;--color-alert-info-text: #a5f3fc;--color-alert-info-border: #155e75;--color-alert-success-bg: #14532d;--color-alert-success-text: #bbf7d0;--color-alert-success-border: #166534;--color-alert-warning-bg: #78350f;--color-alert-warning-text: #fef3c7;--color-alert-warning-border: #92400e;--color-alert-danger-bg: #7f1d1d;--color-alert-danger-text: #fecaca;--color-alert-danger-border: #991b1b;--color-text-on-colored: #ffffff;--color-text-on-dark: #e5e5e5;--color-text-on-warning: #171717;--color-text-on-accent: #ffffff;--color-primary: #60a5fa;--color-primary-hover: #93c5fd;--color-gold: #fbbf24;--color-disabled: #525252;--color-disabled-text: #a3a3a3;--color-streak-start: #f97316;--color-streak-end: #fb923c;--color-streak-alt-start: #34d399;--color-streak-alt-end: #2dd4bf;--color-special-start: #818cf8;--color-special-end: #a78bfa;--color-keyboard-bg: #262626;--color-keyboard-key: #404040;--color-keyboard-key-hover: #525252;--color-input-bg: #262626;--color-input-border: #404040;--color-input-focus: #2dd4bf;--color-reveal-tile-text: #d4d4d4;--color-reveal-tile-border: #525252;--color-reveal-tile-bg: #262626;--shadow-sm: 0 1px 2px 0 rgba(0, 0, 0, 0.3);--shadow-md: 0 4px 6px -1px rgba(0, 0, 0, 0.4), 0 2px 4px -2px rgba(0, 0, 0, 0.3);--shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, 0.5), 0 4px 6px -4px rgba(0, 0, 0, 0.4);--shadow-xl: 0 8px 24px rgba(0, 0, 0, 0.4);--shadow-focus: 0 0 0 3px rgba(77, 166, 255, 0.25);--shadow-focus-strong: 0 0 0 3px rgba(77, 166, 255, 0.4);--shadow-keyboard: 0 1px 2px rgba(0, 0, 0, 0.2);--shadow-keyboard-hover: 0 2px 4px rgba(0, 0, 0, 0.25);--color-overlay-light: rgba(0, 0, 0, 0.5);--color-overlay-medium: rgba(0, 0, 0, 0.6);--color-overlay-heavy: rgba(0, 0, 0, 0.7);--color-overlay-dark: rgba(0, 0, 0, 0.8);--color-bg-tint-subtle: rgba(255, 255, 255, 0.02);--color-bg-tint-light: rgba(255, 255, 255, 0.05);--color-bg-tint-medium: rgba(255, 255, 255, 0.08);--color-bg-tint-strong: rgba(255, 255, 255, 0.1);--color-bg-tint-heavy: rgba(255, 255, 255, 0.15);--color-bg-tint-intense: rgba(255, 255, 255, 0.2);--color-border-tint-subtle: rgba(255, 255, 255, 0.05);--color-border-tint-light: rgba(255, 255, 255, 0.1);--color-border-tint-medium: rgba(255, 255, 255, 0.15);--color-border-tint-strong: rgba(255, 255, 255, 0.2);--color-border-tint-heavy: rgba(255, 255, 255, 0.3);--color-primary-bg-subtle: rgba(77, 166, 255, 0.08);--color-primary-bg-light: rgba(77, 166, 255, 0.1);--color-primary-bg-medium: rgba(77, 166, 255, 0.15);--color-primary-border-light: rgba(77, 166, 255, 0.2);--color-primary-border-medium: rgba(77, 166, 255, 0.3);--color-primary-shadow: rgba(77, 166, 255, 0.3);--color-primary-shadow-strong: rgba(77, 166, 255, 0.4);--color-primary-gradient-start: rgba(77, 166, 255, 0.12);--color-primary-gradient-end: rgba(77, 166, 255, 0.04);--color-success-bg-subtle: rgba(52, 211, 153, 0.08);--color-success-bg-light: rgba(52, 211, 153, 0.1);--color-success-bg-medium: rgba(52, 211, 153, 0.15);--color-success-border-light: rgba(52, 211, 153, 0.2);--color-success-border-medium: rgba(52, 211, 153, 0.3);--color-success-shadow: rgba(52, 211, 153, 0.3);--color-success-shadow-strong: rgba(52, 211, 153, 0.4);--color-success-gradient-start: rgba(52, 211, 153, 0.15);--color-success-gradient-end: rgba(52, 211, 153, 0.2);--color-danger-bg-subtle: rgba(239, 68, 68, 0.08);--color-danger-bg-light: rgba(239, 68, 68, 0.1);--color-danger-bg-medium: rgba(239, 68, 68, 0.15);--color-danger-border-light: rgba(239, 68, 68, 0.2);--color-danger-border-medium: rgba(239, 68, 68, 0.3);--color-danger-shadow: rgba(239, 68, 68, 0.3);--color-danger-gradient-start: rgba(239, 68, 68, 0.15);--color-danger-gradient-end: rgba(239, 68, 68, 0.2);--color-warning-bg-subtle: rgba(251, 191, 36, 0.1);--color-warning-bg-light: rgba(251, 191, 36, 0.15);--color-warning-gradient-start: rgba(251, 191, 36, 0.15);--color-warning-gradient-end: rgba(251, 191, 36, 0.2);--color-secondary-bg-subtle: rgba(127, 127, 127, 0.08);--color-secondary-bg-light: rgba(127, 127, 127, 0.1);--color-secondary-bg-medium: rgba(127, 127, 127, 0.15);--color-secondary-bg-strong: rgba(127, 127, 127, 0.2);--color-secondary-bg-heavy: rgba(127, 127, 127, 0.25);--color-secondary-border-light: rgba(127, 127, 127, 0.2);--color-special-shadow: rgba(129, 140, 248, 0.4);--color-special-shadow-strong: rgba(129, 140, 248, 0.5);--color-streak-shadow: rgba(249, 115, 22, 0.4);--color-streak-shadow-strong: rgba(249, 115, 22, 0.5);--color-streak-alt-shadow: rgba(52, 211, 153, 0.4);--color-streak-alt-shadow-strong: rgba(52, 211, 153, 0.5);--color-gold-glow: rgba(251, 191, 36, 0.5);--color-achievement-ring: rgba(255, 255, 255, 0.3);--color-achievement-shadow: rgba(0, 0, 0, 0.5);--color-text-on-dark-subtle: rgba(255, 255, 255, 0.4);--color-text-on-dark-muted: rgba(255, 255, 255, 0.6);--color-text-on-dark-soft: rgba(255, 255, 255, 0.8);--color-text-on-dark-near: rgba(255, 255, 255, 0.9)}[data-theme="light"]{--color-bg: #fafaf9;--color-bg-elevated: #ffffff;--color-bg-hover: rgba(0, 0, 0, 0.03);--color-bg-card: #ffffff;--color-text: #44403c;--color-text-muted: #78716c;--color-text-subtle: #a8a29e;--color-border: #e7e5e4;--color-border-strong: #d6d3d1;--color-accent: #0d9488;--color-accent-hover: #0f766e;--color-accent-light: #99f6e4;--color-accent-text: #0d9488;--color-correct: #219653;--color-present: #ffa500;--color-absent: #bababc;--color-error: #b00020;--color-btn-success: #28a745;--color-btn-success-hover: #218838;--color-btn-danger: #dc3545;--color-btn-danger-hover: #c82333;--color-btn-warning: #ffc107;--color-btn-warning-text: #212529;--color-btn-info: #17a2b8;--color-btn-info-hover: #138496;--color-alert-info-bg: #d1ecf1;--color-alert-info-text: #0c5460;--color-alert-info-border: #bee5eb;--color-alert-success-bg: #d4edda;--color-alert-success-text: #155724;--color-alert-success-border: #c3e6cb;--color-alert-warning-bg: #fff3cd;--color-alert-warning-text: #856404;--color-alert-warning-border: #ffeeba;--color-alert-danger-bg: #f8d7da;--color-alert-danger-text: #721c24;--color-alert-danger-border: #f5c6cb;--color-text-on-colored: #ffffff;--color-text-on-dark: #ffffff;--color-text-on-warning: #212529;--color-primary: #007bff;--color-primary-hover: #0056b3;--color-gold: #ffd700;--color-disabled: #cccccc;--color-disabled-text: #666666;--color-streak-start: #ff6b35;--color-streak-end: #f7931e;--color-streak-alt-start: #28a745;--color-streak-alt-end: #20c997;--color-special-start: #667eea;--color-special-end: #764ba2;--color-keyboard-bg: #f5f5f4;--color-keyboard-key: #ffffff;--color-keyboard-key-hover: #e7e5e4;--color-input-bg: #ffffff;--color-input-border: #d6d3d1;--color-input-focus: #0d9488;--color-reveal-tile-text: #78716c;--color-reveal-tile-border: #d6d3d1;--color-reveal-tile-bg: #ffffff;--shadow-sm: 0 1px 2px 0 rgba(0, 0, 0, 0.05);--shadow-md: 0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -2px rgba(0, 0, 0, 0.1);--shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -4px rgba(0, 0, 0, 0.1);--shadow-xl: 0 8px 24px rgba(0, 0, 0, 0.15);--shadow-focus: 0 0 0 3px rgba(0, 123, 255, 0.15);--shadow-focus-strong: 0 0 0 3px rgba(0, 123, 255, 0.25);--color-overlay-light: rgba(0, 0, 0, 0.4);--color-overlay-medium: rgba(0, 0, 0, 0.5);--color-overlay-heavy: rgba(0, 0, 0, 0.6);--color-overlay-dark: rgba(0, 0, 0, 0.7);--color-bg-tint-subtle: rgba(0, 0, 0, 0.02);--color-bg-tint-light: rgba(0, 0, 0, 0.05);--color-bg-tint-medium: rgba(0, 0, 0, 0.08);--color-border-tint-subtle: rgba(0, 0, 0, 0.05);--color-border-tint-light: rgba(0, 0, 0, 0.1);--color-border-tint-medium: rgba(0, 0, 0, 0.15);--color-primary-bg-subtle: rgba(0, 123, 255, 0.04);--color-primary-bg-light: rgba(0, 123, 255, 0.06);--color-primary-bg-medium: rgba(0, 123, 255, 0.1);--color-primary-border-light: rgba(0, 123, 255, 0.15);--color-primary-border-medium: rgba(0, 123, 255, 0.2);--color-primary-shadow: rgba(0, 123, 255, 0.3);--color-primary-gradient-start: rgba(0, 123, 255, 0.08);--color-primary-gradient-end: rgba(0, 123, 255, 0.02);--color-success-bg-subtle: rgba(40, 167, 69, 0.05);--color-success-bg-light: rgba(40, 167, 69, 0.08);--color-success-bg-medium: rgba(40, 167, 69, 0.1);--color-success-border-light: rgba(40, 167, 69, 0.2);--color-success-border-medium: rgba(40, 167, 69, 0.3);--color-success-shadow: rgba(40, 167, 69, 0.25);--color-success-shadow-strong: rgba(40, 167, 69, 0.4);--color-success-gradient-start: rgba(33, 150, 83, 0.1);--color-success-gradient-end: rgba(33, 150, 83, 0.15);--color-danger-bg-subtle: rgba(220, 53, 69, 0.05);--color-danger-bg-light: rgba(220, 53, 69, 0.1);--color-danger-bg-medium: rgba(220, 53, 69, 0.15);--color-danger-border-light: rgba(220, 53, 69, 0.2);--color-danger-border-medium: rgba(220, 53, 69, 0.3);--color-danger-shadow: rgba(220, 53, 69, 0.25);--color-danger-gradient-start: rgba(176, 0, 32, 0.1);--color-danger-gradient-end: rgba(176, 0, 32, 0.15);--color-warning-bg-subtle: rgba(255, 165, 0, 0.1);--color-warning-bg-light: rgba(255, 165, 0, 0.15);--color-warning-gradient-start: rgba(255, 165, 0, 0.1);--color-warning-gradient-end: rgba(255, 165, 0, 0.15);--color-secondary-bg-subtle: rgba(108, 117, 125, 0.06);--color-secondary-bg-light: rgba(127, 127, 127, 0.1);--color-secondary-bg-medium: rgba(127, 127, 127, 0.15);--color-secondary-bg-strong: rgba(127, 127, 127, 0.2);--color-secondary-bg-heavy: rgba(127, 127, 127, 0.25);--color-secondary-border-light: rgba(108, 117, 125, 0.15);--color-special-shadow: rgba(102, 126, 234, 0.3);--color-special-shadow-strong: rgba(102, 126, 234, 0.4);--color-streak-shadow: rgba(255, 107, 53, 0.3);--color-streak-shadow-strong: rgba(255, 107, 53, 0.4);--color-streak-alt-shadow: rgba(40, 167, 69, 0.3);--color-streak-alt-shadow-strong: rgba(40, 167, 69, 0.4);--color-gold-glow: rgba(255, 215, 0, 0.5);--color-achievement-ring: rgba(255, 255, 255, 0.2);--color-achievement-shadow: rgba(0, 0, 0, 0.3)}body{font-feature-settings:'cv01', 'cv02', 'cv03', 'ss01';-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}h1,h2,h3,.heading-display{font-family:var(--font-family-display);font-weight:var(--font-weight-medium)}.stat-value,.stat-secondary-value,.timer-value,.timer-display,.guess-counter,.page-status,.landing-stats{font-variant-numeric:tabular-nums}@keyframes zen-enter{0%{opacity:0;transform:translateY(12px) scale(0.98);filter:blur(4px)}100%{opacity:1;transform:translateY(0) scale(1);filter:blur(0)}}.zen-animate{animation:zen-enter var(--anim-duration-slow) var(--ease-zen) forwards;opacity:0}.zen-delay-1{animation-delay:0.1s}.zen-delay-2{animation-delay:0.2s}.zen-delay-3{animation-delay:0.3s}.zen-delay-4{animation-delay:0.4s}.zen-delay-5{animation-delay:0.5s}@media (prefers-reduced-motion: reduce){.zen-animate{animation:none;opacity:1;transform:none;filter:none}}:root{--ambient-gradient-morning:
    linear-gradient(135deg, rgba(255, 236, 210, 0.12) 0%, rgba(255, 200, 150, 0.06) 40%, transparent 70%),
    linear-gradient(180deg, #fdfbf7 0%, #fdf4dc 50%, #fdf6e3 100%);--ambient-gradient-afternoon: linear-gradient(180deg, #fafaf9 0%, #f8f8f7 50%, #f5f5f4 100%);--ambient-gradient-evening:
    linear-gradient(225deg, rgba(255, 160, 100, 0.10) 0%, rgba(255, 120, 80, 0.05) 35%, transparent 65%),
    linear-gradient(180deg, #fdf9f5 0%, #faecd8 50%, #f5e6d3 100%);--ambient-gradient-night:
    linear-gradient(180deg, rgba(40, 60, 100, 0.06) 0%, rgba(30, 50, 90, 0.03) 40%, transparent 60%),
    linear-gradient(180deg, #f7f7fa 0%, #eceef5 50%, #e5e7f0 100%)}@media (prefers-color-scheme: dark){:root:not([data-theme="light"]){--ambient-gradient-morning: linear-gradient(180deg, #1c1a17 0%, #221f19 50%, #252117 100%);--ambient-gradient-afternoon: linear-gradient(180deg, #171717 0%, #191919 50%, #1a1a1a 100%);--ambient-gradient-evening: linear-gradient(180deg, #1c1915 0%, #231d14 50%, #261f13 100%);--ambient-gradient-night: linear-gradient(180deg, #15161a 0%, #13141c 50%, #12131f 100%)}}[data-theme="dark"]{--ambient-gradient-morning: linear-gradient(180deg, #1c1a17 0%, #221f19 50%, #252117 100%);--ambient-gradient-afternoon: linear-gradient(180deg, #171717 0%, #191919 50%, #1a1a1a 100%);--ambient-gradient-evening: linear-gradient(180deg, #1c1915 0%, #231d14 50%, #261f13 100%);--ambient-gradient-night: linear-gradient(180deg, #15161a 0%, #13141c 50%, #12131f 100%)}.ambient-morning{background:var(--ambient-gradient-morning)}.ambient-afternoon{background:var(--ambient-gradient-afternoon)}.ambient-evening{background:var(--ambient-gradient-evening)}.ambient-night{background:var(--ambient-gradient-night)}@view-transition{navigation:auto}@keyframes view-transition-fade-out{0%{opacity:1}100%{opacity:0}}@keyframes view-transition-fade-in{0%{opacity:0}100%{opacity:1}}::view-transition-old(root){animation:view-transition-fade-out var(--anim-duration-snappy) var(--ease-zen) forwards}::view-transition-new(root){animation:view-transition-fade-in var(--anim-duration-snappy) var(--ease-zen) forwards}@media (prefers-reduced-motion: reduce){::view-transition-old(root),::view-transition-new(root){animation-duration:0.01ms}}.skip-link{position:fixed;top:-100%;left:50%;transform:translateX(-50%);z-index:var(--z-skip-link);padding:0.75rem 1.5rem;background:var(--color-bg-elevated);color:var(--color-text);border:2px solid var(--color-accent);border-radius:0.5rem;font-weight:500;text-decoration:none;box-shadow:var(--shadow-lg);transition:top 0.2s ease}.skip-link:focus{top:1rem;outline:none}.skip-link:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}.theme-transition{transition:background-color var(--transition-base),color var(--transition-base),border-color var(--transition-base),box-shadow var(--transition-base)}:root{--space-1: .25rem;--space-2: .5rem;--space-3: .75rem;--space-4: 1rem;--space-5: 1.25rem;--space-6: 1.5rem;--space-8: 2rem;--space-10: 2.5rem;--space-12: 3rem;--space-16: 4rem;--space-xs: var(--space-1);--space-sm: var(--space-2);--space-md: var(--space-4);--space-lg: var(--space-6);--space-xl: var(--space-8)}.shadow-sm{box-shadow:var(--shadow-sm)}.shadow-md{box-shadow:var(--shadow-md)}.shadow-lg{box-shadow:var(--shadow-lg)}.shadow-xl{box-shadow:var(--shadow-xl)}.shadow-elevated{box-shadow:0 1px 3px rgba(0,0,0,0.06),0 4px 8px rgba(0,0,0,0.04)}[data-theme='dark'] .shadow-elevated{box-shadow:0 1px 3px rgba(0,0,0,0.3),0 4px 8px rgba(0,0,0,0.2)}@media (prefers-color-scheme: dark){:root:not([data-theme="light"]) .shadow-elevated{box-shadow:0 1px 3px rgba(0,0,0,0.3), 0 4px 8px rgba(0,0,0,0.2)}}.shadow-none{box-shadow:none}.icon{display:inline-block;width:1em;height:1em;vertical-align:-0.125em;fill:currentColor;overflow:visible;flex-shrink:0}.icon[aria-hidden="true"]{pointer-events:none}.icon-xs{width:0.75em;height:0.75em;vertical-align:0}.icon-sm{width:0.875em;height:0.875em;vertical-align:-0.0625em}.icon-lg{width:1.25em;height:1.25em;vertical-align:-0.1875em}.icon-xl{width:1.5em;height:1.5em;vertical-align:-0.25em}.icon-2x{width:2em;height:2em;vertical-align:-0.375em}.icon-3x{width:3em;height:3em;vertical-align:-0.5em}.icon-fw{text-align:center;width:1.25em}.icon-spin{animation:icon-spin 1s linear infinite}@keyframes icon-spin{from{transform:rotate(0deg)}to{transform:rotate(360deg)}}.icon-pulse{animation:icon-pulse 1s ease-in-out infinite}@keyframes icon-pulse{0%,100%{opacity:1}50%{opacity:0.4}}.icon-success{color:var(--color-success)}.icon-warning{color:var(--color-warning)}.icon-danger{color:var(--color-danger)}.icon-info{color:var(--color-info)}.icon-muted{color:var(--color-text-muted)}.icon-accent{color:var(--color-accent)}.icon-missing{display:inline-block;width:1em;height:1em;background-color:rgba(255,0,0,0.2);border:1px dashed red;border-radius:2px}.icon-missing::after{content:'?';display:block;text-align:center;font-size:0.75em;line-height:1.25;color:red}.btn-icon,.btn-help-icon,.btn-theme{display:inline-flex;align-items:center;justify-content:center;gap:0.375em}.btn-icon .icon,.btn-help-icon .icon,.btn-theme .icon{font-size:0.9em}.status-enabled .icon,.icon.status-enabled{color:var(--color-success)}.status-disabled .icon,.icon.status-disabled{color:var(--color-text-muted)}:root{color-scheme:light dark;touch-action:pan-x pan-y;height:100%;--page-max-width: 1140px;--page-padding: 1.5rem;--z-index-overlay: var(--z-overlay);--z-index-modal-mode: var(--z-modal-special);--anim-duration-flip: 0.5s;--anim-duration-pop: 0.25s;--anim-duration-shake: 0.45s}body{font-family:var(--font-family-base);max-width:var(--page-max-width);margin:1.25rem auto 1.5rem auto;padding:0 var(--page-padding) 3rem var(--page-padding);line-height:1.45;background-color:var(--color-bg);color:var(--color-text);transition:background-color var(--transition-base),color var(--transition-base);position:relative}body::after{content:'';position:fixed;inset:0;pointer-events:none;z-index:1;opacity:0.015;mix-blend-mode:overlay;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.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noiseFilter)'/%3E%3C/svg%3E");background-repeat:repeat;background-size:200px 200px}@media (prefers-color-scheme: dark){body:not([data-theme="light"])::after{opacity:0.008}}body[data-theme="dark"]::after{opacity:0.008}@media (prefers-reduced-motion: reduce){body::after{display:none}}h3{margin-top:0;align-self:center}.panel{border:1px solid var(--color-border);padding:1rem 1.25rem;border-radius:var(--radius-md);max-width:640px;background-color:var(--color-bg-elevated);transition:background-color var(--transition-base),border-color var(--transition-base)}.kv{display:grid;grid-template-columns:140px 1fr;gap:0.35rem 0.75rem;font-size:14px}.kv div.label{font-weight:600}footer{margin-top:3rem;font-size:12px;opacity:0.7}a{color:var(--color-accent);transition:color var(--transition-fast)}a:hover{color:var(--color-accent-hover)}button,a.btn,a.btn-icon,a.btn-help-icon,a.btn-theme,a[role='button']{text-decoration:none}button:hover,a.btn:hover,a.btn-icon:hover,a.btn-help-icon:hover,a.btn-theme:hover,a[role='button']:hover{text-decoration:none}.badge{display:inline-block;padding:2px 8px;border-radius:var(--radius-full);background:var(--color-accent);color:var(--color-text-on-colored);font-size:11px;letter-spacing:0.5px}@keyframes zen-enter{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.zen-animate{opacity:0;animation:zen-enter 0.5s ease-out forwards}.zen-delay-1{animation-delay:0.1s}.zen-delay-2{animation-delay:0.2s}.zen-delay-3{animation-delay:0.3s}.zen-delay-4{animation-delay:0.4s}.zen-delay-5{animation-delay:0.5s}.zen-animate-fast{opacity:0;animation:zen-enter 0.3s ease-out forwards}@media (prefers-reduced-motion: reduce){.zen-animate,.zen-animate-fast{animation:none !important;opacity:1 !important;transform:none !important}}.logo-yoxyx{display:inline-flex;gap:0.3rem;font-family:var(--font-family-display);font-weight:300;font-size:1.75rem;letter-spacing:0.12em;line-height:1;user-select:none;-webkit-user-select:none}@media (max-width: 520px){.logo-yoxyx{font-size:1.5rem;gap:0.25rem}}.logo-yoxyx--small{font-size:1.25rem;gap:0.2rem}.logo-yoxyx--large{font-size:2.25rem;gap:0.35rem;letter-spacing:0.15em}.logo-letter{position:relative;padding-bottom:0.15rem;display:inline-block;transition:color 0.2s ease}.logo-letter::after{content:'';position:absolute;bottom:0;left:0;right:0;height:2px;border-radius:1px;opacity:0.6;transition:opacity 0.2s ease}.logo-letter[data-state='absent']{color:var(--color-accent)}.logo-letter[data-state='absent']::after{background:var(--color-accent);opacity:0.4}.logo-letter[data-state='correct']::after{background:var(--color-text-subtle);opacity:0.3}.logo-letter[data-state='present']::after{background:var(--color-text-subtle);opacity:0.3}a.logo-link:hover .logo-letter::after{opacity:0.8}.logo-svg{display:inline-block;height:auto}.logo-svg.logo-svg--full{width:240px;max-width:100%}.logo-svg.logo-svg--icon{width:48px;height:48px}.logo-svg.logo-svg--small{width:120px}a.logo-link{text-decoration:none;color:inherit;display:inline-block;transition:opacity 0.2s ease, transform 0.15s ease}a.logo-link:hover{opacity:0.85}a.logo-link:active{transform:scale(0.98)}a.logo-link:focus-visible{outline:2px solid var(--color-focus-outline);outline-offset:2px;border-radius:4px}:root{--color-key-bg: var(--color-keyboard-key);--color-key-fg: var(--color-text);--color-key-bg-active: var(--color-keyboard-key-hover);--color-state-correct: var(--color-correct);--color-state-present: var(--color-present);--color-state-absent: var(--color-absent);--color-cell-border: var(--color-border-strong);--color-focus-outline: var(--color-accent);--state-underline-thickness: 3px;--color-btn-primary: var(--color-accent);--color-btn-secondary: var(--color-text-muted);--color-bg-hover-light: var(--color-secondary-bg-medium)}body.game-page{min-height:100vh;min-height:100dvh;display:flex;flex-direction:column}.state-correct,.state-present,.state-absent{font-weight:800}.state-correct{color:var(--color-state-correct) !important;background:transparent !important;box-shadow:inset 0 calc(-1 * var(--state-underline-thickness)) 0 var(--color-state-correct) !important}.state-present{color:var(--color-state-present) !important;background:transparent !important;box-shadow:inset 0 calc(-1 * var(--state-underline-thickness)) 0 var(--color-state-present) !important}.state-absent{color:var(--color-state-absent) !important;background:transparent !important;box-shadow:inset 0 calc(-1 * var(--state-underline-thickness)) 0 var(--color-state-absent) !important}.board{margin-top:1rem;display:flex;flex-direction:column;align-items:center}.board-row{display:flex;gap:0.5rem;margin-bottom:0.5rem}.board-cell{width:3rem;height:3rem;display:flex;align-items:center;justify-content:center;border-bottom:2px solid var(--color-cell-border);font-family:var(--font-family-display);font-size:2rem;font-weight:600;text-transform:uppercase;-webkit-user-select:none;user-select:none;position:relative;box-shadow:inset 0 1px 0 var(--color-bg-tint-light);transition:border-color var(--transition-fast),transform var(--transition-fast)}.board-row.is-active .board-cell{border-bottom-color:var(--color-accent)}.board-cell.tile-pop{animation:tile-pop-in 0.12s ease-out}@keyframes tile-pop-in{0%{transform:scale(0.85)}60%{transform:scale(1.08)}100%{transform:scale(1)}}.board-cell::before{content:'';position:absolute;inset:-8px;border:1px solid var(--color-accent);border-radius:50%;opacity:0;transform:scale(1.5);pointer-events:none}.board-cell::after{content:'';position:absolute;bottom:0;left:0;right:0;height:2px;background-color:var(--ink-color, var(--color-cell-border));clip-path:inset(0 50% 0 50%);opacity:0;pointer-events:none;z-index:1}.board-cell.state-correct{--glow-color: var(--color-state-correct);--ink-color: var(--color-state-correct)}.board-cell.state-present{--glow-color: var(--color-state-present);--ink-color: var(--color-state-present)}.board-cell.state-absent{--glow-color: var(--color-state-absent);--ink-color: var(--color-state-absent)}.board-cell.orbital-reveal::before{animation:orbital-ring-contract 0.5s ease-out forwards}.board-cell.orbital-reveal.state-correct,.board-cell.orbital-reveal.state-present,.board-cell.orbital-reveal.state-absent{animation:orbital-underline-reveal 0.3s ease-out 0.35s forwards,paper-absorb var(--paper-response-duration, 0.6s) ease-out 0.35s forwards}.board-cell.orbital-reveal.state-correct::after,.board-cell.orbital-reveal.state-present::after,.board-cell.orbital-reveal.state-absent::after{opacity:1}.board-cell.orbital-reveal.state-correct::after{animation:ink-bloom-underline var(--ink-duration-confident, 0.3s) var(--ease-ink-confident, cubic-bezier(0.19, 1, 0.22, 1)) 0.3s forwards}.board-cell.orbital-reveal.state-present::after{animation:ink-bloom-underline var(--ink-duration-searching, 0.45s) var(--ease-ink-searching, cubic-bezier(0.25, 0, 0.2, 1)) calc(0.3s + var(--ink-hesitation-delay, 0.1s)) forwards}.board-cell.orbital-reveal.state-absent::after{animation:ink-bloom-underline-absent var(--ink-duration-fading, 0.5s) var(--ease-out, ease-out) 0.3s forwards}@media (prefers-color-scheme: dark){:root:not([data-theme="light"]) .board-cell.orbital-reveal.state-correct,:root:not([data-theme="light"]) .board-cell.orbital-reveal.state-present,:root:not([data-theme="light"]) .board-cell.orbital-reveal.state-absent{animation:orbital-underline-reveal 0.3s ease-out 0.35s forwards, paper-emit var(--paper-response-duration, 0.6s) ease-out 0.35s forwards}}[data-theme="dark"] .board-cell.orbital-reveal.state-correct,[data-theme="dark"] .board-cell.orbital-reveal.state-present,[data-theme="dark"] .board-cell.orbital-reveal.state-absent{animation:orbital-underline-reveal 0.3s ease-out 0.35s forwards,paper-emit var(--paper-response-duration, 0.6s) ease-out 0.35s forwards}@media (prefers-reduced-motion: reduce){.board-cell.orbital-reveal.state-correct::after,.board-cell.orbital-reveal.state-present::after,.board-cell.orbital-reveal.state-absent::after{animation:none;clip-path:inset(0 0 0 0);opacity:1}.board-cell.orbital-reveal.state-absent::after{opacity:var(--ink-absent-opacity, 0.85)}.board-cell.orbital-reveal.state-correct,.board-cell.orbital-reveal.state-present,.board-cell.orbital-reveal.state-absent{animation:orbital-underline-reveal 0.3s ease-out 0.35s forwards;box-shadow:inset 0 1px 0 var(--color-bg-tint-light), inset 0 0 8px color-mix(in srgb, var(--glow-color) 4%, transparent)}}@keyframes orbital-ring-contract{0%{opacity:0.7;transform:scale(1.5)}70%{opacity:0.4;transform:scale(1)}100%{opacity:0;transform:scale(0.85)}}@keyframes orbital-underline-reveal{0%{transform:translateY(0)}30%{transform:translateY(1px)}100%{transform:translateY(0)}}@keyframes letter-glow-residue{0%{text-shadow:none}40%{text-shadow:0 0 12px var(--glow-color),0 0 24px var(--glow-color)}100%{text-shadow:0 0 6px var(--glow-color),0 0 12px color-mix(in srgb, var(--glow-color) 50%, transparent)}}@keyframes ink-bloom-underline{0%{clip-path:inset(0 50% 0 50%);opacity:0.7}40%{clip-path:inset(0 20% 0 20%);opacity:1}70%{clip-path:inset(0 5% 0 5%)}100%{clip-path:inset(0 0 0 0);opacity:1}}@keyframes ink-bloom-underline-absent{0%{clip-path:inset(0 50% 0 50%);opacity:0.5}40%{clip-path:inset(0 20% 0 20%);opacity:0.7}100%{clip-path:inset(0 0 0 0);opacity:var(--ink-absent-opacity, 0.85)}}@keyframes paper-absorb{0%{box-shadow:inset 0 1px 0 var(--color-bg-tint-light),inset 0 0 0 transparent}50%{box-shadow:inset 0 1px 0 var(--color-bg-tint-light),inset 0 0 12px color-mix(in srgb, var(--glow-color) 8%, transparent)}100%{box-shadow:inset 0 1px 0 var(--color-bg-tint-light),inset 0 0 8px color-mix(in srgb, var(--glow-color) 4%, transparent)}}@keyframes paper-emit{0%{box-shadow:inset 0 1px 0 var(--color-bg-tint-light),inset 0 0 0 transparent}50%{box-shadow:inset 0 1px 0 var(--color-bg-tint-light),inset 0 0 16px color-mix(in srgb, var(--glow-color) 12%, transparent)}100%{box-shadow:inset 0 1px 0 var(--color-bg-tint-light),inset 0 0 10px color-mix(in srgb, var(--glow-color) 6%, transparent)}}.board-cell.state-absent,.board-cell.state-present,.board-cell.state-correct{border-color:transparent}.board-cell.state-correct,.board-cell.state-present{font-weight:800}.board-cell.state-absent{font-weight:600;font-size:smaller}.guess-counter{display:flex;align-items:center;justify-content:center;gap:0.125rem;margin:0.75rem 0 0.25rem;font-size:0.8rem;font-weight:400;color:var(--color-text-muted);letter-spacing:0.05em;opacity:0.7}.guess-counter.is-hidden{display:none}.guess-separator{opacity:0.5}.keyboard{margin-top:1rem;width:100%;max-width:500px;margin-left:auto;margin-right:auto;padding-left:0.5rem;padding-right:0.5rem;box-sizing:border-box;padding-bottom:calc(env(safe-area-inset-bottom, 0px) + 3.5rem)}.kb-row{display:flex;gap:0.35rem;justify-content:center;margin:0.4rem 0}.kb-key{min-width:2.25rem;height:2.75rem;display:flex;align-items:center;justify-content:center;padding:0.5rem;font-size:1.1rem;font-weight:300;letter-spacing:0.05em;text-transform:lowercase;border:1px solid var(--color-border);border-radius:var(--radius-md);background:linear-gradient(180deg, var(--color-bg) 0%, var(--color-bg-hover) 100%);box-shadow:0 1px 0 var(--color-border),0 2px 4px rgba(0,0,0,0.04);color:var(--color-text-muted);cursor:pointer;-webkit-user-select:none;user-select:none;transition:color var(--transition-base),border-color var(--transition-base),background var(--transition-base),box-shadow var(--transition-base),transform var(--transition-fast)}.kb-key:hover{color:var(--color-text);border-color:var(--color-text-muted);box-shadow:0 1px 0 var(--color-border),0 3px 6px rgba(0,0,0,0.06)}.kb-key:active{transform:translateY(1px) scale(0.98);box-shadow:0 0 0 var(--color-border);background:linear-gradient(180deg, var(--color-bg-hover) 0%, var(--color-bg) 100%)}[data-theme='dark'] .kb-key{box-shadow:0 1px 0 rgba(255,255,255,0.05),0 2px 4px rgba(0,0,0,0.2)}[data-theme='dark'] .kb-key:hover{box-shadow:0 1px 0 rgba(255,255,255,0.08),0 3px 6px rgba(0,0,0,0.25)}[data-theme='dark'] .kb-key:active{box-shadow:inset 0 1px 2px rgba(0,0,0,0.2)}[data-theme='dark'] .kb-key:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}@media (max-width: 520px){.board-cell{width:2rem;height:2rem;font-size:1.5rem}.keyboard{padding-left:0.25rem;padding-right:0.25rem}.kb-row{gap:0.15rem;margin:0.25rem 0}.kb-key{min-width:0;flex:1 1 1.5rem;height:2rem;padding:0.15rem;font-size:0.85rem;border-radius:var(--radius-md)}body.game-page{margin:0.5rem}}@media (max-width: 360px){.kb-row{gap:2px}.kb-key{height:2.25rem;font-size:0.85rem;border-radius:var(--radius-sm)}body.game-page{margin:6px}}@media (max-height: 700px){.board{margin-top:0.5rem;gap:0.25rem}.board-row{gap:0.35rem;margin-bottom:0.35rem}.board-cell{width:2.5rem;height:2.5rem;font-size:1.5rem}.guess-counter{margin:0.5rem 0 0.125rem;font-size:0.7rem}.keyboard{margin-top:0.5rem;padding-left:0.25rem;padding-right:0.25rem;padding-bottom:calc(env(safe-area-inset-bottom, 0px) + 2.5rem)}.kb-row{gap:0.15rem;margin:0.25rem 0}.kb-key{min-width:0;flex:1 1 1.5rem;height:2.25rem;font-size:0.9rem;padding:0.25rem;border-radius:5px}}@media (max-height: 600px){.board{margin-top:0.25rem;gap:0.2rem}.board-row{gap:0.25rem;margin-bottom:0.25rem}.board-cell{width:2.25rem;height:2.25rem;font-size:1.25rem}.guess-counter{margin:0.25rem 0 0;font-size:0.65rem}.keyboard{margin-top:0.25rem;padding-left:0.25rem;padding-right:0.25rem;padding-bottom:calc(env(safe-area-inset-bottom, 0px) + 2rem)}.kb-row{gap:0.1rem;margin:0.2rem 0}.kb-key{min-width:0;flex:1 1 1.25rem;height:2rem;font-size:0.8rem;padding:0.2rem;border-radius:var(--radius-sm)}}@media (max-width: 520px){.game-switcher-controls{gap:0.4rem}.game-switcher-field{padding:0.2rem 0.5rem}.game-switcher-select{min-width:100px;font-size:1rem}.game-switcher-label i{font-size:1rem}.summary-navigation{margin-top:1.5rem;flex-wrap:wrap;gap:1rem}.game-action-group{gap:0.5rem}.game-action-item .action-label{font-size:0.625rem;white-space:normal;word-wrap:break-word}}.kb-key.state-correct,.kb-key.state-present,.kb-key.state-absent{font-weight:500;background:transparent !important}.kb-key.state-correct{color:var(--color-state-correct) !important;border-color:var(--color-state-correct)}.kb-key.state-present{color:var(--color-state-present) !important;border-color:var(--color-state-present)}.kb-key.kb-correct{background:var(--color-state-correct) !important;color:var(--color-text-on-colored) !important;font-weight:500;border-color:var(--color-state-correct)}.kb-key.kb-present{background:var(--color-state-present) !important;color:var(--color-text-on-colored) !important;font-weight:500;border-color:var(--color-state-present)}.kb-key.kb-absent{color:var(--color-text-subtle) !important;opacity:0.5;font-weight:300;border-color:var(--color-state-absent)}.kb-key.kb-correct.kb-present,.kb-key.kb-correct.kb-absent{background:var(--color-state-correct) !important;color:var(--color-text-on-colored) !important;border-color:var(--color-state-correct);opacity:1;font-weight:500}.kb-key.kb-present.kb-absent{background:var(--color-state-present) !important;color:var(--color-text-on-colored) !important;border-color:var(--color-state-present);opacity:1;font-weight:500}@keyframes flip-in{0%{transform:rotateX(0deg)}40%{transform:rotateX(90deg) scale(1.02)}60%{transform:rotateX(90deg) scale(1.02)}100%{transform:rotateX(0deg) scale(1)}}@keyframes correct-glow{0%,100%{box-shadow:inset 0 1px 0 var(--color-bg-tint-light),0 0 0 0 var(--color-success-shadow)}50%{box-shadow:inset 0 1px 0 var(--color-bg-tint-light),0 0 16px 4px var(--color-success-shadow)}}@keyframes pop{0%{transform:scale(1)}50%{transform:scale(1.1)}100%{transform:scale(1)}}@keyframes shake{0%,100%{transform:translateX(0)}20%,60%{transform:translateX(-4px)}40%,80%{transform:translateX(4px)}}.anim-flip{animation:flip-in var(--anim-duration-flip) ease;transform-style:preserve-3d}.board-cell.state-correct.anim-flip{animation:flip-in var(--anim-duration-flip) ease,correct-glow 0.8s ease var(--anim-duration-flip)}.anim-pop{animation:pop var(--anim-duration-pop) ease}.anim-shake{animation:shake var(--anim-duration-shake) ease}@keyframes victory-pulse{0%{transform:scale(1);box-shadow:inset 0 -3px 0 var(--color-state-correct),0 0 0 0 var(--color-success-shadow-strong)}40%{transform:scale(1.12);box-shadow:inset 0 -3px 0 var(--color-state-correct),0 0 20px 8px var(--color-success-shadow)}70%{transform:scale(1.05);box-shadow:inset 0 -3px 0 var(--color-state-correct),0 0 30px 12px transparent}100%{transform:scale(1);box-shadow:inset 0 -3px 0 var(--color-state-correct),0 0 0 0 transparent}}.board-row.is-winner .board-cell{animation:victory-pulse var(--anim-duration-slower) var(--ease-bounce) forwards}.board-row.is-winner .board-cell:nth-child(1){animation-delay:0s}.board-row.is-winner .board-cell:nth-child(2){animation-delay:0.1s}.board-row.is-winner .board-cell:nth-child(3){animation-delay:0.2s}.board-row.is-winner .board-cell:nth-child(4){animation-delay:0.3s}.board-row.is-winner .board-cell:nth-child(5){animation-delay:0.4s}.board-row.is-winner .board-cell:nth-child(6){animation-delay:0.5s}.board-row.is-winner .board-cell:nth-child(7){animation-delay:0.6s}.board-row.is-winner .board-cell:nth-child(8){animation-delay:0.7s}.board-row.is-winner{filter:drop-shadow(0 0 6px var(--color-success-shadow))}.confetti-container{position:fixed;top:0;left:0;width:100%;height:100%;pointer-events:none;overflow:hidden;z-index:var(--z-critical)}.confetti-piece{position:absolute;width:8px;height:8px;border-radius:2px;animation:confetti-fall var(--anim-duration-celebrate) ease-out both}.confetti-piece--teal{background:var(--color-accent)}.confetti-piece--green{background:var(--color-state-correct)}.confetti-piece--gold{background:var(--color-state-present)}.confetti-piece--muted{background:color-mix(in srgb, var(--color-text-muted) 50%, transparent)}@keyframes confetti-fall{0%{opacity:1;transform:translateY(-20px) rotate(0deg) scale(0.8)}10%{opacity:1}80%{opacity:0.6}100%{opacity:0;transform:translateY(100vh) rotate(720deg) scale(0.3)}}@keyframes confetti-fall-slow{0%{opacity:1;transform:translateY(-20px) rotate(0deg) scale(0.6)}100%{opacity:0;transform:translateY(100vh) rotate(-540deg) scale(0.2)}}@keyframes confetti-fall-drift{0%{opacity:1;transform:translateY(-20px) translateX(0) rotate(0deg)}50%{transform:translateY(50vh) translateX(30px) rotate(360deg)}100%{opacity:0;transform:translateY(100vh) translateX(-20px) rotate(720deg)}}.confetti-piece--slow{animation:confetti-fall-slow var(--anim-duration-celebrate-slow) ease-out both}.confetti-piece--drift{animation:confetti-fall-drift var(--anim-duration-celebrate-drift) ease-out both}@media (prefers-reduced-motion: reduce){.confetti-container{display:none}}.board-row.word-reveal .board-cell{animation:word-reveal-cell var(--anim-duration-slow) ease-out both;animation-delay:calc(var(--cell-index, 0) * 0.12s)}@keyframes word-reveal-cell{0%{opacity:0;transform:scale(0.8)}60%{opacity:1;transform:scale(1.05)}100%{opacity:1;transform:scale(1)}}.board-row.word-reveal .board-cell{color:var(--color-text);opacity:0.9}.board-row.word-reveal .board-cell::after{background:var(--color-accent);opacity:0.6}.board-row.word-reveal .board-cell .letter{text-shadow:0 0 20px color-mix(in srgb, var(--color-accent) 30%, transparent)}@media (prefers-reduced-motion: reduce){.board-row.word-reveal .board-cell{animation:none;opacity:0.9}}@keyframes cell-breathe{0%,100%{opacity:0.4;background:var(--color-bg-tint-light)}50%{opacity:0.6;background:var(--color-bg-tint-medium)}}.board-cell--loading{animation:cell-breathe 1.5s ease-in-out infinite;background:var(--color-bg-tint-light)}.board-row .board-cell--loading:nth-child(1){animation-delay:0s}.board-row .board-cell--loading:nth-child(2){animation-delay:0.1s}.board-row .board-cell--loading:nth-child(3){animation-delay:0.2s}.board-row .board-cell--loading:nth-child(4){animation-delay:0.3s}.board-row .board-cell--loading:nth-child(5){animation-delay:0.4s}.board-row .board-cell--loading:nth-child(6){animation-delay:0.5s}.kb-key:focus{outline:2px solid var(--color-focus-outline);outline-offset:2px}.is-hidden{display:none !important}.game-finished-cta{margin-top:2rem;text-align:center;animation:fade-in 0.35s ease}.game-finished-actions{display:inline-flex;gap:2rem;align-items:flex-start;justify-content:center}.game-action-group{display:flex;justify-content:space-between;align-items:center;gap:1rem}.game-action-item{flex:0 1 auto;display:flex;flex-direction:column;align-items:center;gap:0.5rem}.game-action-item .btn-icon,.game-action-item .btn-help-icon,.game-action-item .btn-theme{background:var(--color-bg-elevated);border:2px solid var(--color-border);box-shadow:0 2px 4px rgba(0,0,0,0.08);text-decoration:none}.game-action-item .btn-icon:hover,.game-action-item .btn-help-icon:hover,.game-action-item .btn-theme:hover{border-color:currentColor;box-shadow:0 2px 8px rgba(0,0,0,0.12)}.game-action-item .action-label{font-size:0.75rem;font-weight:600;color:var(--color-text);text-align:center;white-space:nowrap;line-height:1.2}.game-action-item.hidden{visibility:hidden}.btn-challenge-fixed{color:var(--color-state-present)}.btn-challenge-progressive{color:var(--color-error)}.btn-daily-challenge{color:var(--color-accent)}.challenge-actions{display:flex;justify-content:center;gap:1.5rem;margin-top:1.5rem}.challenge-actions--modal{margin-top:1.5rem;text-align:center}.challenge-section-title{font-size:1.05rem;font-weight:600;margin-bottom:1.25rem;color:var(--color-text);opacity:0.85;text-align:center}.challenge-actions-grid{display:flex;justify-content:center;gap:1rem;flex-wrap:wrap}.modal-divider{height:2px;background:var(--color-border);margin:1.75rem 0 1.5rem 0;opacity:0.5;border-radius:1px}.challenge-actions--modal .btn-icon,.challenge-actions--modal .btn-help-icon,.challenge-actions--modal .btn-theme{display:inline-flex;align-items:center;justify-content:center;gap:0.5rem;padding:0.75rem 1.25rem;background:var(--color-bg-hover-light);border-radius:var(--radius-md);border:2px solid transparent;transition:background-color var(--transition-fast),border-color var(--transition-fast),transform var(--transition-fast);font-size:0.9rem;font-weight:500;width:180px;min-width:180px;height:auto}.challenge-actions--modal .btn-icon i,.challenge-actions--modal .btn-help-icon i,.challenge-actions--modal .btn-theme i{font-size:1.1rem}.challenge-actions--modal .btn-icon:hover,.challenge-actions--modal .btn-help-icon:hover,.challenge-actions--modal .btn-theme:hover{background:var(--color-secondary-bg-heavy);border-color:var(--color-focus-outline);transform:translateY(-1px)}.challenge-actions--modal .btn-icon:active,.challenge-actions--modal .btn-help-icon:active,.challenge-actions--modal .btn-theme:active{transform:translateY(0)}.challenge-actions--modal .game-action-item{display:flex;flex-direction:column;align-items:center;gap:0}.challenge-actions--modal .action-label{display:none}.summary-nav{display:flex;justify-content:space-between;gap:1rem;margin-top:1rem;margin-bottom:1.5rem}.summary-header{display:flex;align-items:center;gap:1rem;margin-bottom:1.5rem}.summary-header h3{margin:0;flex:1}.summary-header .btn-back i{color:var(--color-text-muted);font-size:1.25rem}.summary-header .btn-back:hover i{color:var(--color-text)}.summary-share-section{display:flex;flex-direction:column;align-items:center;gap:0.75rem;margin-top:1.5rem;margin-bottom:0.5rem}.share-controls{display:flex;align-items:center;justify-content:center;gap:0.5rem}.btn-share{display:inline-flex;align-items:center;gap:0.5rem;padding:0.75rem 1.5rem;background-color:var(--color-accent);color:var(--color-text-on-accent);border:none;border-radius:0.5rem;font-size:1rem;font-weight:500;cursor:pointer;transition:background-color var(--transition-base),transform var(--transition-fast),color var(--transition-fast)}.btn-share:hover{background-color:var(--color-accent-hover)}.btn-share:active{transform:scale(0.98)}.btn-share i{font-size:1.1rem}.btn-share-mode{display:inline-flex;align-items:center;justify-content:center;width:2.5rem;height:2.5rem;padding:0;background-color:var(--color-bg-elevated);color:var(--color-text-muted);border:1px solid var(--color-border);border-radius:0.5rem;font-size:1.1rem;cursor:pointer;transition:background-color var(--transition-fast),transform var(--transition-fast),color var(--transition-fast)}.btn-share-mode:hover{background-color:var(--color-bg-hover);color:var(--color-text)}.btn-share-mode:active{transform:scale(0.95)}.share-feedback{padding:0.5rem 1rem;border-radius:0.25rem;font-size:0.875rem;font-weight:500;animation:fadeIn 0.2s ease}.share-feedback--success{background-color:var(--color-state-correct);color:var(--color-text-on-colored)}.share-feedback--error{background-color:var(--color-btn-danger);color:var(--color-text-on-colored)}@keyframes fadeIn{from{opacity:0;transform:translateY(-0.25rem)}to{opacity:1;transform:translateY(0)}}.summary-navigation{margin-top:2rem;margin-bottom:1rem;display:flex;justify-content:space-between}.profile-header{text-align:center;padding:2rem 1rem 1.5rem;margin-bottom:1.5rem}.profile-header .profile-username{font-size:1.75rem;font-weight:700;color:var(--color-text);margin:0 0 0.5rem 0;letter-spacing:-0.02em}.profile-header .profile-subtitle{font-size:0.9rem;color:var(--color-text-muted);margin:0;display:flex;align-items:center;justify-content:center;gap:0.35rem}.profile-header .profile-subtitle i{color:var(--color-accent)}.profile-header .profile-subtitle time{font-weight:500}.player-info{margin:3.5rem 0.5rem 2.5rem 0.5rem}.history-section{margin-top:2rem;margin-bottom:1rem}.profile-history-table{width:100%;border-collapse:collapse;font-size:0.95rem}.profile-history-table th,.profile-history-table td{padding:0.4rem 0.5rem;border-bottom:1px solid var(--color-cell-border)}.profile-history-table th{text-align:left}.profile-history-table th i{font-size:1rem;opacity:0.9}.profile-history-table a{color:inherit;text-decoration:none}.profile-history-table a:hover{text-decoration:underline}.pagination{display:flex;align-items:center;gap:0.75rem;margin:0.75rem 1rem 1.5rem}.pagination .page-link{display:inline-flex;align-items:center;justify-content:center;width:2rem;height:2rem;border-radius:var(--radius-sm);color:inherit;text-decoration:none;transition:background var(--transition-fast)}.pagination .page-link:hover{background:var(--color-bg-hover-light)}.pagination .page-status{font-weight:600}@keyframes fade-in{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.is-loading .board-row{opacity:0.6}.top-bar-controls{position:fixed;top:calc(env(safe-area-inset-top, 0px) + 1.25rem);display:inline-flex;gap:0.75rem;padding:0.25rem 0.5rem;align-items:center;z-index:var(--z-critical);pointer-events:auto;flex-wrap:nowrap;background:none}.top-bar-controls.right{right:max(calc(env(safe-area-inset-right, 0px) + 0.5rem), calc(50vw - var(--page-max-width) / 2 + var(--page-padding) - 0.5rem))}.top-bar-controls.left{left:max(calc(env(safe-area-inset-left, 0px) + 0.5rem), calc(50vw - var(--page-max-width) / 2 + var(--page-padding) - 0.5rem))}.top-bar-controls label{font-size:0.85rem;font-weight:600}.top-bar-controls select{padding:0.25rem 0.5rem;font:inherit}.btn-keyboard-toggle[data-keyboard-type='orbital']{color:var(--color-accent);border-color:var(--color-accent);background:rgba(13,148,136,0.08)}[data-theme="dark"] .btn-keyboard-toggle[data-keyboard-type='orbital']{background:rgba(45,212,191,0.12)}.btn-icon,.btn-help-icon,.btn-theme{width:44px;height:44px;min-width:44px;min-height:44px;display:inline-flex;align-items:center;justify-content:center;background:rgba(255,255,255,0.6);backdrop-filter:blur(var(--blur-md));-webkit-backdrop-filter:blur(var(--blur-md));border:1px solid var(--color-border);border-radius:50%;box-shadow:0 1px 3px rgba(0,0,0,0.04);padding:0;font:inherit;font-size:1rem;line-height:1;cursor:pointer;color:var(--color-text-muted);text-decoration:none;transition:color var(--transition-base),border-color var(--transition-base),background var(--transition-base),box-shadow var(--transition-base),transform var(--transition-fast)}.btn-icon:hover,.btn-help-icon:hover,.btn-theme:hover{color:var(--color-text);border-color:var(--color-text-muted);background:rgba(255,255,255,0.8);box-shadow:0 4px 12px rgba(0,0,0,0.1),0 0 0 1px rgba(0,0,0,0.02);transform:translateY(-2px);text-decoration:none}.btn-icon:active,.btn-help-icon:active,.btn-theme:active{transform:translateY(0) scale(0.96);box-shadow:0 1px 2px rgba(0,0,0,0.06)}.btn-icon:focus-visible,.btn-help-icon:focus-visible,.btn-theme:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}.btn-icon i,.btn-help-icon i,.btn-theme i{font-size:1.125rem}[data-theme="dark"] .btn-icon,[data-theme="dark"] .btn-help-icon,[data-theme="dark"] .btn-theme{background:rgba(38,38,38,0.7);box-shadow:0 1px 3px rgba(0,0,0,0.2)}[data-theme="dark"] .btn-icon:hover,[data-theme="dark"] .btn-help-icon:hover,[data-theme="dark"] .btn-theme:hover{background:rgba(38,38,38,0.85);box-shadow:0 4px 12px rgba(0,0,0,0.4),0 0 0 1px rgba(255,255,255,0.05)}.btn-icon.is-active,.is-active.btn-help-icon,.is-active.btn-theme,.btn-icon[aria-pressed="true"],[aria-pressed="true"].btn-help-icon,[aria-pressed="true"].btn-theme{color:var(--color-accent);border-color:var(--color-accent);background:rgba(13,148,136,0.08)}[data-theme="dark"] .btn-icon.is-active,[data-theme="dark"] .is-active.btn-help-icon,[data-theme="dark"] .is-active.btn-theme,[data-theme="dark"] .btn-icon[aria-pressed="true"],[data-theme="dark"] [aria-pressed="true"].btn-help-icon,[data-theme="dark"] [aria-pressed="true"].btn-theme{background:rgba(45,212,191,0.12)}.btn-navigation{color:var(--color-btn-navigation)}.btn-back,.btn-home{color:var(--color-btn-back-home)}.btn-summary{color:var(--color-btn-history)}.btn-new-game{color:var(--color-state-correct)}.btn-new-game--svg svg{width:24px;height:24px}.btn-statistics-refresh{color:var(--color-accent)}.btn-recovery-generate{color:var(--color-accent)}.btn-gdpr-download{color:var(--color-accent)}.btn-gdpr-delete{color:var(--color-btn-danger)}.game-action-item .btn-icon i,.game-action-item .btn-help-icon i,.game-action-item .btn-theme i{font-size:1.25rem;line-height:1}.game-heading-wrapper{display:flex;justify-content:center;gap:1rem;align-items:center;margin-top:0.25rem}.game-config-wrapper{text-align:center;margin-top:0.75rem;margin-bottom:0.5rem}.game-switcher-controls{display:flex;gap:0.5rem;justify-content:center;align-items:center;flex-wrap:wrap}.game-switcher-field{display:flex;align-items:center;gap:0.35rem;background:var(--color-bg-hover-light);border-radius:var(--radius-md);padding:0.35rem 0.6rem;transition:background var(--transition-base)}.game-switcher-field:hover{background:var(--color-secondary-bg-strong)}.game-switcher-label{display:flex;align-items:center;font-size:0.9rem;color:inherit;opacity:0.7;margin:0}.game-switcher-label i{font-size:0.85rem}.game-switcher-select{font:inherit;font-size:0.9rem;padding:0.25rem 0.4rem;border:none;background:transparent;cursor:pointer;color:inherit;min-width:110px}.game-switcher-select:focus-visible{outline:2px solid var(--color-focus-outline);outline-offset:2px;border-radius:3px}.game-switcher-controls--vertical{flex-direction:column;align-items:center;gap:1rem;width:100%}.game-switcher-controls--vertical .game-switcher-field{width:280px;justify-content:space-between}.game-switcher-controls--vertical .game-switcher-select{min-width:160px;text-align:right}.game-switcher-label--full span{display:inline;margin-left:0.5rem}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0, 0, 0, 0);white-space:nowrap;border:0}select.game_config{font:inherit;padding:0.25rem 0.5rem;border:none !important;cursor:pointer;background:none}select.game_config:focus-visible{border:none !important;outline:2px solid var(--color-accent);outline-offset:2px}.page-footer{position:fixed;left:max(0px, calc(50vw - var(--page-max-width) / 2));right:max(0px, calc(50vw - var(--page-max-width) / 2));bottom:calc(env(safe-area-inset-bottom, 0px) + 0.5rem);display:flex;align-items:center;justify-content:space-between;padding:0 var(--page-padding);pointer-events:none}@media (max-height: 700px){.page-footer{position:static;left:auto;right:auto;margin-top:1rem;padding-bottom:calc(env(safe-area-inset-bottom, 0px) + 0.5rem);pointer-events:auto}}.page-footer p{margin:0;pointer-events:auto}.page-footer .footer-right{margin-left:auto;pointer-events:auto}.kb-key.state-absent{color:var(--color-state-absent) !important;font-size:smaller;box-shadow:inset 0 calc(-1 * var(--state-underline-thickness)) 0 var(--color-state-absent)}[data-theme='high-contrast']{--state-underline-thickness: 4px}@media (prefers-reduced-motion: reduce){.anim-flip,.anim-pop,.anim-shake,.tile-pop{animation:none !important}.kb-key,.board-cell{transition:none !important}.board-cell.orbital-reveal,.board-cell.orbital-reveal::before{animation:none !important;text-shadow:none !important}.board-row.is-winner .board-cell{animation:none !important}.board-row.is-winner{filter:none !important}}.table.page-history-table{width:100%;border-collapse:collapse}.table.page-history-table th,.table.page-history-table td{padding:0.35rem 0.5rem;border:1px solid var(--color-cell-border);text-align:center}.table.page-history-table thead th{text-align:center;font-weight:600}.table.page-history-table tbody tr:nth-child(even){background:var(--color-bg-table-row-even-light)}@media (prefers-color-scheme: dark){.table.page-history-table tbody tr:nth-child(even){background:var(--color-bg-table-row-even-dark)}}.challenge-timer{margin-top:0rem;margin-left:auto;margin-right:auto;padding:0.75rem 1.5rem;background:var(--color-secondary-bg-light);border-radius:var(--radius-md);display:flex;justify-content:center;animation:fade-in 0.3s ease;width:-moz-fit-content;width:fit-content}@media (prefers-color-scheme: dark){.challenge-timer{background:var(--color-bg-tint-medium)}}.challenge-timer.timer-warning{background:var(--color-warning-bg-light);animation:pulse-warning 1s ease-in-out infinite}.challenge-timer.timer-expired{background:var(--color-danger-bg-medium);animation:none}.challenge-timer-content{display:flex;gap:2rem;align-items:center;justify-content:center}.timer-display,.score-display{display:flex;align-items:center;gap:0.5rem;font-weight:600}.timer-display i,.score-display i{font-size:1.25rem;opacity:0.8}.timer-value{font-size:1.25rem;font-weight:700;font-variant-numeric:tabular-nums;letter-spacing:0.05em;color:var(--color-key-fg)}.score-value{font-size:1.5rem;font-weight:700;color:var(--color-state-correct)}.score-label{font-size:0.875rem;opacity:0.8;color:var(--color-key-fg)}@keyframes pulse-warning{0%,100%{opacity:1}50%{opacity:0.7}}@media (max-width: 520px){.challenge-timer{padding:0.5rem 1rem}.challenge-timer-content{gap:1.5rem}.timer-value,.score-value{font-size:1.25rem}.timer-display i,.score-display i{font-size:1rem}}.continue-challenge-cta{margin-top:2rem;text-align:center;animation:fade-in 0.35s ease}.continue-challenge-cta .btn-continue-challenge{font-size:2rem;color:var(--color-state-correct)}.continue-challenge-cta .btn-continue-challenge:hover{transform:scale(1.15)}.continue-challenge-cta .action-label{font-size:0.875rem;font-weight:600;color:var(--color-key-fg);margin-top:0.5rem}.challenge-summary-header{margin-bottom:2rem}.challenge-summary-header .challenge-main-title{margin:0 0 0.5rem 0;text-align:center;font-size:2rem;font-weight:700;color:var(--color-text);line-height:1.2}.challenge-summary-header .challenge-subtitle{margin:0 0 1.5rem 0;text-align:center;font-size:0.95rem;font-weight:400;color:var(--color-text-muted);opacity:0.8}.challenge-status-badge{display:inline-flex;align-items:center;gap:0.5rem;padding:0.75rem 1.5rem;border-radius:24px;font-size:1rem;font-weight:600;margin:0 auto 2rem;display:flex;justify-content:center;max-width:240px;box-shadow:var(--shadow-sm)}.challenge-status-badge i{font-size:1.25rem}.challenge-status-badge.challenge-status-completed{background:linear-gradient(135deg, var(--color-streak-alt-start) 0%, var(--color-streak-alt-end) 100%);color:var(--color-text-on-colored)}.challenge-status-badge.challenge-status-timeout{background:linear-gradient(135deg, var(--color-btn-warning) 0%, var(--color-streak-end) 100%);color:var(--color-text-on-warning)}.challenge-status-badge.challenge-status-failed{background:linear-gradient(135deg, var(--color-btn-danger) 0%, var(--color-btn-danger-hover) 100%);color:var(--color-text-on-colored)}.challenge-status-badge.challenge-status-positive{background:linear-gradient(135deg, var(--color-btn-info) 0%, var(--color-btn-info-hover) 100%);color:var(--color-text-on-colored)}.challenge-score-hero{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:2rem 1rem;margin:0 auto 2rem;max-width:300px;background:linear-gradient(135deg, var(--color-special-start) 0%, var(--color-special-end) 100%);border-radius:20px;box-shadow:0 8px 24px var(--color-special-shadow);position:relative;overflow:hidden}.challenge-score-hero::before{content:'';position:absolute;top:-50%;right:-50%;width:200%;height:200%;background:radial-gradient(circle, var(--color-bg-tint-strong) 0%, transparent 70%);animation:shimmer 3s ease infinite}.challenge-score-hero .score-icon{font-size:3rem;color:var(--color-gold);margin-bottom:0.5rem;filter:drop-shadow(0 2px 4px var(--color-overlay-light));animation:trophy-bounce 2s ease infinite}.challenge-score-hero .score-content{text-align:center;position:relative;z-index:1}.challenge-score-hero .score-value{font-size:4rem;font-weight:700;color:var(--color-text-on-colored);line-height:1;text-shadow:0 2px 8px var(--color-overlay-light)}.challenge-score-hero .score-label{font-size:1rem;font-weight:500;color:var(--color-text-on-dark-near);text-transform:uppercase;letter-spacing:1px;margin-top:0.5rem}@keyframes trophy-bounce{0%,100%{transform:translateY(0) rotate(0deg)}50%{transform:translateY(-8px) rotate(5deg)}}@keyframes shimmer{0%,100%{transform:rotate(0deg)}50%{transform:rotate(180deg)}}.challenge-stats-secondary{display:grid;grid-template-columns:repeat(auto-fit, minmax(140px, 1fr));gap:1rem;max-width:600px;margin:0 auto 2rem}.challenge-stats-secondary .stat-secondary{display:flex;flex-direction:column;align-items:center;padding:1.25rem 1rem;background:var(--color-key-bg);border-radius:var(--radius-lg);border:1px solid var(--color-border);transition:transform var(--transition-base),box-shadow var(--transition-base)}.challenge-stats-secondary .stat-secondary:hover{transform:translateY(-2px);box-shadow:var(--shadow-md)}.challenge-stats-secondary .stat-secondary .stat-secondary-icon{font-size:2rem;margin-bottom:0.75rem;color:var(--color-special-start)}.challenge-stats-secondary .stat-secondary .stat-secondary-icon i{display:block}.challenge-stats-secondary .stat-secondary .stat-secondary-content{text-align:center;width:100%}.challenge-stats-secondary .stat-secondary .stat-secondary-value{font-size:1.75rem;font-weight:700;color:var(--color-text);line-height:1;margin-bottom:0.5rem}.challenge-stats-secondary .stat-secondary .stat-secondary-label{font-size:0.75rem;font-weight:500;color:var(--color-text-muted);text-transform:uppercase;letter-spacing:0.5px}@media (prefers-color-scheme: dark){:root:not([data-theme="light"]) .challenge-status-badge{box-shadow:var(--shadow-md)}:root:not([data-theme="light"]) .challenge-score-hero{box-shadow:0 8px 24px var(--color-special-shadow-strong)}:root:not([data-theme="light"]) .challenge-stats-secondary .stat-secondary{background:var(--color-bg-elevated);border-color:var(--color-border)}:root:not([data-theme="light"]) .challenge-stats-secondary .stat-secondary:hover{box-shadow:var(--shadow-lg)}:root:not([data-theme="light"]) .challenge-stats-secondary .stat-secondary .stat-secondary-icon{color:var(--color-special-start)}}[data-theme="dark"] .challenge-status-badge{box-shadow:var(--shadow-md)}[data-theme="dark"] .challenge-score-hero{box-shadow:0 8px 24px var(--color-special-shadow-strong)}[data-theme="dark"] .challenge-stats-secondary .stat-secondary{background:var(--color-bg-elevated);border-color:var(--color-border)}[data-theme="dark"] .challenge-stats-secondary .stat-secondary:hover{box-shadow:var(--shadow-lg)}[data-theme="dark"] .challenge-stats-secondary .stat-secondary .stat-secondary-icon{color:var(--color-special-start)}.challenge-sessions-wrapper{margin-top:2rem}.challenge-sessions-wrapper h5{margin:0 0 1rem 0;text-align:center;font-size:1.1rem;font-weight:600;color:var(--color-text)}.challenge-sessions-table{width:100%;border-collapse:collapse;margin:0 auto;max-width:800px}.challenge-sessions-table th,.challenge-sessions-table td{padding:0.75rem 0.5rem;text-align:center;border-bottom:1px solid var(--color-border)}.challenge-sessions-table th{font-size:0.8rem;font-weight:600;color:var(--color-text-muted);text-transform:uppercase;letter-spacing:0.5px}.challenge-sessions-table .session-word{font-size:1.1rem;font-weight:600}.challenge-sessions-table .session-solved{background:var(--color-success-bg-subtle)}.challenge-sessions-table .session-failed{background:var(--color-danger-bg-subtle)}.challenge-sessions-table .result-icon-correct{color:var(--color-state-correct);font-size:1.25rem}.challenge-sessions-table .result-icon-incorrect{color:var(--color-state-absent);font-size:1.25rem}.challenge-sessions-cards{display:none;flex-direction:column;gap:0.75rem;margin:0 auto;max-width:600px}.session-card{background:var(--color-bg-elevated);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:1rem;transition:box-shadow var(--transition-base)}.session-card:hover{box-shadow:var(--shadow-sm)}.session-card-header{display:flex;align-items:center;gap:0.75rem;margin-bottom:0.75rem;padding-bottom:0.75rem;border-bottom:1px solid var(--color-border)}.session-card-index{font-size:0.875rem;font-weight:600;color:var(--color-text-muted);min-width:24px}.session-card-word{flex:1;font-size:1.25rem;font-weight:700;color:var(--color-text);letter-spacing:0.05em}.session-card-result{font-size:1.5rem}.session-card-result .result-icon-correct{color:var(--color-state-correct)}.session-card-result .result-icon-incorrect{color:var(--color-state-absent)}.session-card-details{display:flex;flex-wrap:wrap;gap:1rem;font-size:0.875rem;color:var(--color-text-muted)}.session-card-detail{display:flex;align-items:center;gap:0.375rem}.session-card-detail i{font-size:0.875rem;opacity:0.7}.session-card-solved{background:var(--color-success-bg-subtle);border-color:var(--color-success-border-light)}.session-card-failed{background:var(--color-danger-bg-subtle);border-color:var(--color-danger-border-light)}@media (prefers-color-scheme: dark){:root:not([data-theme="light"]) .challenge-sessions-table th,:root:not([data-theme="light"]) .challenge-sessions-table td{border-bottom-color:var(--color-border)}:root:not([data-theme="light"]) .challenge-sessions-table .session-solved{background:var(--color-success-bg-medium)}:root:not([data-theme="light"]) .challenge-sessions-table .session-failed{background:var(--color-danger-bg-light)}:root:not([data-theme="light"]) .session-card{background:var(--color-bg-elevated);border-color:var(--color-border)}:root:not([data-theme="light"]) .session-card:hover{box-shadow:var(--shadow-lg)}:root:not([data-theme="light"]) .session-card-header{border-bottom-color:var(--color-border)}:root:not([data-theme="light"]) .session-card-solved{background:var(--color-success-bg-medium);border-color:var(--color-success-border-medium)}:root:not([data-theme="light"]) .session-card-failed{background:var(--color-danger-bg-light);border-color:var(--color-danger-border-medium)}}[data-theme="dark"] .challenge-sessions-table th,[data-theme="dark"] .challenge-sessions-table td{border-bottom-color:var(--color-border)}[data-theme="dark"] .challenge-sessions-table .session-solved{background:var(--color-success-bg-medium)}[data-theme="dark"] .challenge-sessions-table .session-failed{background:var(--color-danger-bg-light)}[data-theme="dark"] .session-card{background:var(--color-bg-elevated);border-color:var(--color-border)}[data-theme="dark"] .session-card:hover{box-shadow:var(--shadow-lg)}[data-theme="dark"] .session-card-header{border-bottom-color:var(--color-border)}[data-theme="dark"] .session-card-solved{background:var(--color-success-bg-medium);border-color:var(--color-success-border-medium)}[data-theme="dark"] .session-card-failed{background:var(--color-danger-bg-light);border-color:var(--color-danger-border-medium)}@media (max-width: 500px){.challenge-summary-header .challenge-main-title{font-size:1.5rem}.challenge-summary-header .challenge-subtitle{font-size:0.85rem}.challenge-score-hero{padding:1.5rem 1rem}.challenge-score-hero .score-icon{font-size:2.5rem}.challenge-score-hero .score-value{font-size:3rem}.challenge-score-hero .score-label{font-size:0.875rem}.challenge-stats-secondary{grid-template-columns:1fr 1fr;gap:0.75rem}.challenge-stats-secondary .stat-secondary{padding:1rem 0.75rem}.challenge-stats-secondary .stat-secondary .stat-secondary-icon{font-size:1.5rem}.challenge-stats-secondary .stat-secondary .stat-secondary-value{font-size:1.5rem}.challenge-stats-secondary .stat-secondary .stat-secondary-label{font-size:0.7rem}.challenge-stats-secondary .stat-secondary:nth-child(3){display:none}.challenge-sessions-table{display:none}.challenge-sessions-cards{display:flex}}.orbital-invitation{position:fixed;bottom:0;left:0;right:0;z-index:var(--z-controls);display:flex;flex-direction:column;align-items:center;gap:0.75rem;padding:1rem 1.5rem 1.5rem;background:var(--color-bg);border-top:1px solid var(--color-border);box-shadow:var(--shadow-md);animation:orbital-invitation-slide-up 0.4s ease-out}.orbital-invitation[hidden]{display:none}@keyframes orbital-invitation-slide-up{from{transform:translateY(100%);opacity:0}to{transform:translateY(0);opacity:1}}.orbital-invitation-content{display:flex;flex-direction:column;align-items:center;gap:0.25rem;text-align:center}.orbital-invitation-icon{width:48px;height:48px}.orbital-invitation-icon .orbital-ring{fill:none;stroke:var(--color-border);stroke-width:1}.orbital-invitation-icon .orbital-center{fill:var(--color-accent)}.orbital-invitation-text{font-size:0.9rem;font-weight:300;color:var(--color-text-muted);letter-spacing:0.02em}.orbital-invitation-actions{display:flex;gap:1rem;align-items:center}.orbital-invitation-btn{padding:0.5rem 1.25rem;font-size:0.85rem;font-weight:400;letter-spacing:0.03em;border-radius:var(--radius-sm);cursor:pointer;transition:opacity var(--transition-base),transform var(--transition-base);border:none;background:none}.orbital-invitation-btn--primary{background:var(--color-accent);color:white}.orbital-invitation-btn--primary:hover{opacity:0.9;transform:translateY(-1px)}.orbital-invitation-btn--secondary{color:var(--color-text-muted);opacity:0.7}.orbital-invitation-btn--secondary:hover{opacity:1}@media (prefers-reduced-motion: reduce){.orbital-invitation{animation:none}.orbital-invitation-btn{transition:none}}body.colorblind-mode .board-cell.state-correct::after{content:'✓';position:absolute;font-size:0.5em;bottom:2px;right:4px;opacity:0.7;font-weight:700}body.colorblind-mode .board-cell.state-present::after{content:'○';position:absolute;font-size:0.45em;bottom:2px;right:4px;opacity:0.7;font-weight:400}body.colorblind-mode .board-cell.state-absent::after{content:'';position:absolute;inset:0;background-image:repeating-linear-gradient(45deg, transparent, transparent 2px, rgba(0,0,0,0.08) 2px, rgba(0,0,0,0.08) 4px);pointer-events:none}body.colorblind-mode .kb-key{position:relative}body.colorblind-mode .kb-key.kb-correct::after{content:'✓';position:absolute;font-size:0.45em;top:2px;right:3px;opacity:0.8;font-weight:700}body.colorblind-mode .kb-key.kb-present::after{content:'○';position:absolute;font-size:0.4em;top:2px;right:3px;opacity:0.8}body.colorblind-mode .kb-key.kb-absent::after{content:'';position:absolute;inset:0;background-image:repeating-linear-gradient(45deg, transparent, transparent 2px, rgba(0,0,0,0.06) 2px, rgba(0,0,0,0.06) 4px);pointer-events:none;border-radius:inherit}body.colorblind-mode .orbital-key.kb-correct .key-label::after{content:' ✓';font-size:0.6em;vertical-align:super}body.colorblind-mode .orbital-key.kb-present .key-label::after{content:' ○';font-size:0.55em;vertical-align:super}body.colorblind-mode .orbital-key.kb-absent .key-background{opacity:0.25}[data-theme='dark'] body.colorblind-mode .board-cell.state-absent::after,[data-theme='dark'] body.colorblind-mode .kb-key.kb-absent::after{background-image:repeating-linear-gradient(45deg, transparent, transparent 2px, rgba(255,255,255,0.06) 2px, rgba(255,255,255,0.06) 4px)}@media (prefers-color-scheme: dark){:root:not([data-theme="light"]) body.colorblind-mode .board-cell.state-absent::after,:root:not([data-theme="light"]) body.colorblind-mode .kb-key.kb-absent::after{background-image:repeating-linear-gradient(45deg, transparent, transparent 2px, rgba(255,255,255,0.06) 2px, rgba(255,255,255,0.06) 4px)}}.page-footer{margin-top:auto;padding:1.5rem 1rem;text-align:center;font-size:0.75rem;color:var(--color-text-muted)}.page-footer p{margin:0;display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:0.25rem 0.5rem}.footer-separator{color:var(--color-text-muted);opacity:0.5}.footer-link{color:var(--color-text-muted);text-decoration:none;position:relative;transition:color var(--transition-fast)}.footer-link::after{content:'';position:absolute;bottom:-2px;left:50%;width:0;height:1px;background:currentColor;transition:width var(--transition-fast),left var(--transition-fast)}.footer-link:hover{color:var(--color-text)}.footer-link:hover::after{width:100%;left:0}.footer-link:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px;border-radius:2px}@media (prefers-color-scheme: dark){:root:not([data-theme="light"]) .footer-link:hover{color:var(--color-text)}}@media (prefers-reduced-motion: reduce){.footer-link{transition:none}.footer-link::after{transition:none}}@media (prefers-contrast: high){.board-cell{border:2px solid var(--color-border);--state-underline-thickness: 4px}.board-cell.state-correct,.board-cell.state-present,.board-cell.state-absent{border-color:currentColor}.kb-key{border:2px solid var(--color-border)}.kb-key.kb-correct,.kb-key.kb-present,.kb-key.kb-absent{border-color:currentColor}.btn-icon,.btn-help-icon,.btn-theme{border:2px solid var(--color-border)}.btn-icon:hover,.btn-help-icon:hover,.btn-theme:hover,.btn-icon:focus-visible,.btn-help-icon:focus-visible,.btn-theme:focus-visible{border-color:var(--color-accent)}.board-row.active{box-shadow:0 0 0 3px var(--color-accent)}.modal__dialog{border:3px solid var(--color-border)}}.orbital-keyboard-container{margin-top:0.5rem;display:flex;flex-direction:column;align-items:center;width:100%;max-width:500px;margin-left:auto;margin-right:auto;padding:0 1rem;padding-bottom:calc(env(safe-area-inset-bottom, 0px) + 3.5rem);position:relative}.orbital-keyboard-container.is-hidden{visibility:hidden}.orbital-keyboard-svg{width:100%;height:auto;max-width:500px;max-height:500px;touch-action:none;user-select:none;-webkit-user-select:none}.ring-guide{fill:none;stroke:currentColor;stroke-width:1;opacity:0.15;pointer-events:none}.orbital-key{cursor:pointer;transition:opacity 0.2s ease}.orbital-key .key-background{transition:fill 0.25s ease, stroke 0.25s ease, filter 0.25s ease}.orbital-key .key-label{transition:fill 0.25s ease, font-size 0.2s ease}.orbital-key:hover .key-background{stroke:var(--color-accent);stroke-width:1.5;filter:brightness(1.08) drop-shadow(0 0 12px var(--color-accent-alpha-35))}.orbital-key:hover .key-label{fill:var(--color-accent);font-size:34px}.orbital-key:active .key-background{fill:var(--color-bg-hover);opacity:0.9;filter:none}.orbital-key:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}.key-background{fill:var(--color-bg);stroke:var(--color-border);stroke-width:1}[data-theme='dark'] .key-background{fill:var(--color-bg);stroke:var(--color-border)}.key-label{fill:var(--color-text);font-weight:400;opacity:0.85;pointer-events:none;font-family:system-ui, -apple-system, Segoe UI, Roboto, sans-serif;dominant-baseline:central;text-anchor:middle}.orbital-key--inner .key-background{stroke-width:1}.orbital-key--middle .key-background{stroke-width:1}.orbital-key--outer .key-background{stroke-width:1}.orbital-key.key-pressed .key-background{fill:var(--color-bg-hover);opacity:0.9}.orbital-key.kb-correct .key-background{fill:var(--color-state-correct);stroke:var(--color-state-correct);stroke-width:2}.orbital-key.kb-correct .key-label{fill:var(--color-text-on-colored);font-weight:700}.orbital-key.kb-present .key-background{fill:var(--color-state-present);stroke:var(--color-state-present);stroke-width:2}.orbital-key.kb-present .key-label{fill:var(--color-text-on-colored);font-weight:600}.orbital-key.kb-absent .key-background{fill:var(--color-state-absent);stroke:var(--color-state-absent);opacity:0.35}.orbital-key.kb-absent .key-label{fill:var(--color-text);opacity:0.4;font-size:16px;transform:translateY(-2px)}.orbital-key.kb-absent:hover .key-label{font-size:18px}.orbital-key.kb-correct.kb-present .key-background,.orbital-key.kb-correct.kb-absent .key-background{fill:var(--color-state-correct);stroke:var(--color-state-correct);opacity:1}.orbital-key.kb-correct.kb-present .key-label,.orbital-key.kb-correct.kb-absent .key-label{fill:var(--color-text-on-colored);font-weight:700;opacity:1}.orbital-key.kb-present.kb-absent .key-background{fill:var(--color-state-present);stroke:var(--color-state-present);opacity:1}.orbital-key.kb-present.kb-absent .key-label{fill:var(--color-text-on-colored);font-weight:600;opacity:1}.orbital-key--action{cursor:pointer}.orbital-key--action:hover .key-background{stroke:var(--color-accent);stroke-width:1.5}.orbital-key--action:hover .key-label--icon{fill:var(--color-accent)}.orbital-key--action:active .key-background{fill:var(--color-bg-hover);opacity:0.9}.orbital-key--action .key-background{fill:var(--color-bg);stroke:var(--color-border);stroke-width:1;transition:fill 0.15s ease, stroke 0.15s ease, opacity 0.15s ease}.orbital-key--action .key-label--icon{fill:var(--color-text);font-weight:400;opacity:0.85}.orbital-key--action-center .key-background{fill:var(--color-bg);stroke:var(--color-border);stroke-width:1.5}.orbital-key--action-center .key-label--icon{fill:var(--color-text);font-weight:400;opacity:0.85}.orbital-key--action-center:hover .key-background{stroke:var(--color-accent);stroke-width:2}.orbital-key--action-center:hover .key-label--icon{fill:var(--color-accent);opacity:1}.orbital-key--action-center:active .key-background{opacity:0.9}.orbital-key--action-corner .key-background{fill:var(--color-bg);stroke:var(--color-border);stroke-width:1}.orbital-key--action-corner:hover .key-background{stroke:var(--color-accent);stroke-width:1.5}.orbital-key--action-corner:hover .key-label--icon{fill:var(--color-accent)}.orbital-key--action-clear .key-background{fill:var(--color-bg);stroke:var(--color-border);stroke-width:1}.orbital-key--action-clear .key-label--icon{fill:var(--color-text);font-weight:400;opacity:0.85}.orbital-key--action-clear:hover .key-background{stroke:var(--color-state-present);stroke-width:1.5}.orbital-key--action-clear:hover .key-label--icon{fill:var(--color-state-present);opacity:1}.orbital-key--action-clear:active .key-background{opacity:0.9}.orbital-key--action-clear.is-disabled{opacity:0.2;cursor:not-allowed;pointer-events:none}.orbital-key--action-clear.is-disabled .key-background{fill:var(--color-bg);stroke:var(--color-border)}.orbital-key--action-clear.is-disabled .key-label--icon{fill:var(--color-text);opacity:0.5}@keyframes rotate-ring{from{transform:rotate(0deg)}to{transform:rotate(360deg)}}@keyframes orbital-pulse{0%{transform:scale(1)}40%{transform:scale(1.03)}100%{transform:scale(1)}}@keyframes orbital-land{0%{transform:scale(0);opacity:0}60%{transform:scale(1.05);opacity:1}100%{transform:scale(1);opacity:1}}@keyframes ring-guide-land{0%{opacity:0;stroke-dashoffset:1000}100%{opacity:0.15;stroke-dashoffset:0}}.ring-keys--inner.orbital-landing,.ring-keys--middle.orbital-landing,.ring-keys--outer.orbital-landing{transform:scale(0);opacity:0}.ring-keys--inner.orbital-landing.is-animating{animation:orbital-land var(--anim-duration-slower) var(--ease-bounce) forwards}.ring-keys--middle.orbital-landing.is-animating{animation:orbital-land var(--anim-duration-slower) var(--ease-bounce) forwards;animation-delay:0.1s}.ring-keys--outer.orbital-landing.is-animating{animation:orbital-land var(--anim-duration-slower) var(--ease-bounce) forwards;animation-delay:0.2s}.ring-guide.orbital-landing{stroke-dasharray:1000;stroke-dashoffset:1000;opacity:0}.ring-guide--inner.orbital-landing.is-animating{animation:ring-guide-land 0.8s ease-out forwards;animation-delay:0s}.ring-guide--middle.orbital-landing.is-animating{animation:ring-guide-land 0.8s ease-out forwards;animation-delay:0.1s}.ring-guide--outer.orbital-landing.is-animating{animation:ring-guide-land 0.8s ease-out forwards;animation-delay:0.2s}.action-keys.orbital-landing{opacity:0;transform:scale(0.9)}.action-keys.orbital-landing.is-animating{animation:orbital-land var(--anim-duration-medium) var(--ease-bounce) forwards;animation-delay:0.35s}.orbital-svg--pulse{animation:orbital-pulse var(--anim-duration-base) var(--ease-bounce)}@keyframes counter-rotate-ring{from{transform:rotate(0deg)}to{transform:rotate(-360deg)}}.ring-keys--inner,.ring-keys--middle,.ring-keys--outer{transform-origin:250px 250px}.orbital-keyboard-legend{display:flex;justify-content:center;gap:1.5rem;margin-top:0.25rem;font-size:0.75rem;opacity:0.7}.legend-item{display:flex;align-items:center;gap:0.5rem}.legend-ring{width:12px;height:12px;border-radius:50%;border:2px solid currentColor}.legend-item--inner .legend-ring{border-width:2px}.legend-item--middle .legend-ring{border-width:1.5px}.legend-item--outer .legend-ring{border-width:1px}.legend-label{font-weight:500;color:var(--color-text)}@media (max-width: 768px){.orbital-keyboard-container{padding:0 0.5rem;max-width:375px}.orbital-keyboard-svg{max-width:375px;max-height:375px}}@media (max-width: 520px){.orbital-keyboard-container{padding:0 0.125rem;max-width:360px;margin-bottom:3rem}.orbital-keyboard-svg{max-width:360px;max-height:360px}.orbital-keyboard-legend{gap:1rem;font-size:0.625rem}.legend-ring{width:10px;height:10px}}@media (max-height: 700px){.orbital-keyboard-container{margin-top:0.25rem;max-width:280px;padding-bottom:calc(env(safe-area-inset-bottom, 0px) + 2rem)}.orbital-keyboard-svg{max-width:280px;max-height:280px}.key-label{font-size:22px}.orbital-key:hover .key-label{font-size:26px}.orbital-keyboard-legend{font-size:0.5rem;gap:0.5rem;margin-top:0.125rem}.legend-ring{width:8px;height:8px}}@media (max-height: 600px){.orbital-keyboard-container{max-width:240px;margin-top:0;padding-bottom:calc(env(safe-area-inset-bottom, 0px) + 1.5rem)}.orbital-keyboard-svg{max-width:240px;max-height:240px}.key-label{font-size:20px}.orbital-key:hover .key-label{font-size:24px}.orbital-keyboard-legend{display:none}}[data-theme='dark'] .orbital-key:hover .key-background{filter:brightness(1.15) drop-shadow(0 0 14px var(--color-accent-alpha-45))}@media (prefers-reduced-motion: reduce){.ring-keys--inner,.ring-keys--middle,.ring-keys--outer{animation:none !important}.key-counter-rotate--inner,.key-counter-rotate--middle,.key-counter-rotate--outer{animation:none !important}.orbital-key,.orbital-key--action{transition:none !important}.key-background,.key-label{transition:none !important}.orbital-key:hover .key-background{filter:none !important}.orbital-key:hover .key-label{font-size:inherit !important}}[data-theme='high-contrast'] .key-background{stroke-width:2.5}[data-theme='high-contrast'] .orbital-key--inner .key-background{stroke-width:3}[data-theme='high-contrast'] .orbital-key.kb-correct .key-background,[data-theme='high-contrast'] .orbital-key.kb-present .key-background,[data-theme='high-contrast'] .orbital-key.kb-absent .key-background{stroke-width:3}[data-theme='retro'] .key-background{stroke-width:2}@media (prefers-contrast: high){.key-background{stroke-width:2.5}.orbital-key--inner .key-background{stroke-width:3}.orbital-key.kb-correct .key-background,.orbital-key.kb-present .key-background,.orbital-key.kb-absent .key-background{stroke-width:3}.key-label{font-weight:600}.orbital-key.kb-correct .key-label,.orbital-key.kb-present .key-label{font-weight:700}}.btn-help-text{padding:0.25rem 0.6rem;font-size:0.75rem;font-weight:600;border:1px solid var(--color-cell-border);background:var(--color-key-bg);color:var(--color-key-fg);border-radius:var(--radius-sm);cursor:pointer}.modal[aria-hidden='true']{display:none}.modal{position:fixed;inset:0;z-index:var(--z-critical)}.modal__backdrop{position:absolute;inset:0;background:var(--color-modal-backdrop);animation:backdrop-fade 0.25s ease}@keyframes backdrop-fade{0%{opacity:0}100%{opacity:1}}.modal__dialog{position:relative;max-width:600px;margin:8vh auto;background:var(--color-bg-elevated);color:var(--color-text);border-radius:var(--radius-md);padding:1rem 1.25rem 1.25rem;box-shadow:var(--shadow-lg);max-height:67vh;overflow-y:auto;animation:modal-enter var(--anim-duration-medium) var(--ease-bounce)}@keyframes modal-enter{0%{opacity:0;transform:scale(0.9) translateY(20px)}100%{opacity:1;transform:scale(1) translateY(0)}}@media (prefers-reduced-motion: reduce){.modal__backdrop{animation:none}.modal__dialog{animation:none}}.modal--small .modal__dialog{max-width:400px}.modal--medium .modal__dialog{max-width:480px}.modal--large .modal__dialog{max-width:480px}.modal--fullscreen .modal__dialog{max-width:95vw;max-height:95vh;margin:2.5vh auto}.modal__header{display:flex;justify-content:space-between;align-items:center;margin-bottom:0.5rem}.modal__close{background:none;border:none;font-size:1.4rem;line-height:1;cursor:pointer;color:inherit;padding:0.25rem;border-radius:var(--radius-sm);transition:color var(--transition-base),background-color var(--transition-base),transform 0.15s ease}.modal__close:hover{color:var(--color-text);background-color:var(--color-bg-hover)}.modal__close:active{transform:scale(0.95)}.modal__close:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}.modal__body p{margin:0.5rem 0;line-height:1.35}.modal__body ul{padding-left:1.1rem;margin:0.5rem 0 1rem}.modal__body li{margin:0.25rem 0;font-size:0.85rem}.modal__footer{display:flex;justify-content:flex-end;gap:0.75rem;align-items:center;margin-top:1.25rem;padding-top:1rem;border-top:1px solid var(--color-border)}.modal__close-btn{padding:0.45rem 0.9rem;border:none;background:var(--color-state-correct);color:var(--color-text-on-colored);cursor:pointer;font-weight:600;border-radius:var(--radius-sm);transition:background-color var(--transition-base),transform 0.15s ease}.modal__close-btn:hover{background:var(--color-btn-success-hover)}.modal__close-btn:active{transform:scale(0.97)}.modal__close-btn:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}.legend{display:inline-block;padding:0.15rem 0.45rem;font-size:0.75rem;font-weight:700;text-transform:uppercase;letter-spacing:0.5px}.legend--correct{color:var(--color-state-correct);border-bottom:solid 2px var(--color-state-correct)}.legend--present{color:var(--color-state-present);border-bottom:solid 2px var(--color-state-present)}.legend--absent{color:var(--color-state-absent);border-bottom:solid 2px var(--color-state-absent)}.help-legend-list{list-style:none;padding:0;margin:0.75rem 0}.help-legend-list li{display:flex;align-items:center;gap:0.5rem;padding:0.35rem 0;font-size:0.9rem}.help-modes,.help-keyboard,.help-profile{margin:0.75rem 0 1rem}.help-modes dt,.help-keyboard dt,.help-profile dt{display:flex;align-items:center;gap:0.5rem;font-weight:600;font-size:0.95rem;margin-top:0.75rem;color:var(--color-text)}.help-modes dt i,.help-keyboard dt i,.help-profile dt i{color:var(--color-accent);width:1.25rem;text-align:center}.help-modes dd,.help-keyboard dd,.help-profile dd{margin:0.25rem 0 0 1.75rem;font-size:0.85rem;color:var(--color-text-muted);line-height:1.4}.help-tip{display:flex;align-items:flex-start;gap:0.5rem;margin:1rem 0;padding:0.75rem;background:var(--color-accent-light);border-radius:var(--radius-md);font-size:0.85rem;color:var(--color-text-muted)}.help-tip i{color:var(--color-warning);flex-shrink:0;margin-top:0.1rem}.help-buttons{margin:0.75rem 0 1rem}.help-buttons dt{display:flex;align-items:center;gap:0.5rem;font-weight:600;font-size:0.9rem;margin-top:0.6rem;color:var(--color-text)}.help-buttons dd{margin:0.2rem 0 0 2.25rem;font-size:0.85rem;color:var(--color-text-muted);line-height:1.4}.help-buttons .btn-icon,.help-buttons .btn-help-icon,.help-buttons .btn-theme{display:inline-flex;align-items:center;justify-content:center;width:1.5rem;height:1.5rem;background:var(--color-keyboard-bg);border-radius:var(--radius-sm);font-size:0.75rem;color:var(--color-text-muted)}.toast-container{position:fixed;top:1rem;right:1rem;z-index:var(--z-toast);display:flex;flex-direction:column;gap:0.75rem;pointer-events:none}@media (max-width: 520px){.toast-container{left:1rem;right:1rem;top:0.5rem}}.toast{display:flex;align-items:center;justify-content:space-between;min-width:250px;max-width:400px;padding:1rem 1.25rem;background:var(--color-bg-elevated);border-radius:var(--radius-md);box-shadow:var(--shadow-md);pointer-events:auto;animation:toastSlideIn 0.3s ease;transition:opacity 0.3s ease, transform 0.3s ease;backdrop-filter:blur(var(--blur-lg));border:1px solid var(--color-border)}@media (max-width: 520px){.toast{min-width:unset;max-width:100%;padding:0.875rem 1rem}}.toast.toast-success{border-left:4px solid var(--color-btn-success)}.toast.toast-success .fa-check-circle{color:var(--color-btn-success)}.toast.toast-error{border-left:4px solid var(--color-state-present)}.toast.toast-error .fa-exclamation-circle{color:var(--color-state-present)}.toast.toast-warning{border-left:4px solid var(--color-btn-warning)}.toast.toast-warning .fa-exclamation-triangle{color:var(--color-btn-warning)}.toast.toast-info{border-left:4px solid var(--color-primary)}.toast.toast-info .fa-circle-info{color:var(--color-primary)}.toast:hover{transform:translateX(-4px);box-shadow:var(--shadow-lg)}.toast-content{display:flex;align-items:center;gap:0.75rem;flex:1}.toast-content i{font-size:1.25rem;flex-shrink:0}@media (max-width: 520px){.toast-content i{font-size:1.1rem}}.toast-message{color:var(--color-text);font-size:0.95rem;line-height:1.4;word-break:break-word}@media (max-width: 520px){.toast-message{font-size:0.875rem}}.toast-close{background:none;border:none;color:var(--color-text-muted);cursor:pointer;padding:0;margin-left:1rem;opacity:0.6;transition:opacity 0.2s ease,transform 0.15s ease,background-color var(--transition-base);display:flex;align-items:center;justify-content:center;width:24px;height:24px;border-radius:50%}.toast-close:hover{opacity:1;transform:scale(1.1);background:var(--color-bg-hover)}.toast-close:active{transform:scale(0.95)}.toast-close:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px;opacity:1}.toast-close i{font-size:1.1rem;pointer-events:none}@media (max-width: 520px){.toast-close i{font-size:1rem}}@keyframes toastSlideIn{from{transform:translateX(100%);opacity:0}to{transform:translateX(0);opacity:1}}.toast-exit{animation:toastSlideOut 0.3s ease forwards}@keyframes toastSlideOut{from{transform:translateX(0);opacity:1}to{transform:translateX(100%);opacity:0}}@media (prefers-reduced-motion: reduce){.toast{animation:none;transition:none}.toast-exit{animation:none;opacity:0}.toast-close{transition:none}}@media (prefers-contrast: high){.toast{border:2px solid currentColor}.toast.toast-success{border-left-width:6px}.toast.toast-error{border-left-width:6px}.toast.toast-warning{border-left-width:6px}.toast.toast-info{border-left-width:6px}.toast-message{font-weight:500}}#orbital-tutorial-modal{pointer-events:none}#orbital-tutorial-modal .modal__backdrop{background:transparent}#orbital-tutorial-modal .modal__dialog{position:fixed;top:1rem;left:50%;transform:translateX(-50%);margin:0;max-width:600px;width:calc(100% - 2rem);max-height:none}#orbital-tutorial-modal .modal__header,#orbital-tutorial-modal .modal__body,#orbital-tutorial-modal .modal__footer{pointer-events:auto}.tutorial-content{min-height:200px;display:flex;flex-direction:column;align-items:center;padding:0.75rem}.tutorial-step{display:none;opacity:0;transition:opacity 0.3s ease-in-out;text-align:center;width:100%}.tutorial-step.is-active{display:flex;flex-direction:column;align-items:center;opacity:1}.tutorial-step__title{font-size:1.5rem;font-weight:600;margin-bottom:1rem;color:var(--color-text-primary)}.tutorial-step__description{font-size:1rem;line-height:1.6;margin-bottom:1.5rem;color:var(--color-text-muted);max-width:40ch}.tutorial-visual{margin:0.75rem 0;width:100%;max-width:300px}.tutorial-visual img,.tutorial-visual svg{width:100%;height:auto}.tutorial-visual i{font-size:4rem !important}.tutorial-interactive{margin:1rem 0;padding:1.5rem;background:var(--color-primary-bg-subtle);border:2px dashed var(--color-accent);border-radius:var(--radius-md);transition:background-color 0.3s ease, border-color 0.3s ease}.tutorial-interactive.is-completed{background:var(--color-success-bg-medium);border-color:var(--color-state-correct);border-style:solid}.tutorial-interactive p{margin:0.5rem 0;font-size:0.95rem}.tutorial-interactive strong{font-weight:600}.tutorial-footer{display:flex;justify-content:space-between;align-items:center;gap:1rem;padding:1rem 1.25rem;border-top:1px solid var(--color-border-tint-light);background:var(--color-bg-primary)}.tutorial-progress{font-size:0.875rem;font-weight:600;color:var(--color-text-muted);font-variant-numeric:tabular-nums;letter-spacing:0.05em}.btn-primary,.btn-secondary{display:inline-flex;align-items:center;gap:0.5rem;padding:0.5rem 1rem;border-radius:var(--radius-md);font-weight:600;font-size:0.95rem;cursor:pointer;border:none;transition:opacity 0.2s ease, transform 0.2s ease, box-shadow 0.2s ease, background-color 0.2s ease;white-space:nowrap}.btn-primary i,.btn-secondary i{font-size:1.1em}.btn-primary{background:var(--color-state-correct);color:var(--color-text-on-colored)}.btn-primary:hover:not(:disabled){opacity:0.9;transform:translateY(-1px);box-shadow:0 2px 8px var(--color-success-shadow)}.btn-primary:active:not(:disabled){transform:translateY(0)}.btn-primary:disabled{background:var(--color-disabled);cursor:not-allowed;opacity:0.6}.btn-secondary{background:transparent;color:var(--color-text-muted);border:1px solid var(--color-border)}.btn-secondary:hover:not(:disabled){background:var(--color-bg-tint-light);border-color:var(--color-text-muted)}.btn-secondary:active:not(:disabled){background:var(--color-bg-tint-medium)}.btn-secondary:disabled{opacity:0.5;cursor:not-allowed}@media (max-width: 640px){.tutorial-content{padding:0.75rem}.tutorial-step__title{font-size:1.25rem}.tutorial-step__description{font-size:0.9rem}.tutorial-footer{padding:0.75rem 1rem;flex-wrap:wrap}.btn-primary,.btn-secondary{font-size:0.875rem;padding:0.4rem 0.8rem}.btn-primary i,.btn-secondary i{font-size:1em}}@media (prefers-color-scheme: dark){:root:not([data-theme="light"]) .tutorial-footer{border-top-color:var(--color-border)}:root:not([data-theme="light"]) .tutorial-interactive{background:var(--color-primary-bg-light);border-color:var(--color-primary)}:root:not([data-theme="light"]) .tutorial-interactive.is-completed{background:var(--color-success-bg-medium);border-color:var(--color-state-correct)}:root:not([data-theme="light"]) .btn-secondary{border-color:var(--color-border)}:root:not([data-theme="light"]) .btn-secondary:hover:not(:disabled){background:var(--color-bg-hover);border-color:var(--color-border-strong)}:root:not([data-theme="light"]) .btn-secondary:active:not(:disabled){background:var(--color-bg-hover)}}[data-theme="dark"] .tutorial-footer{border-top-color:var(--color-border)}[data-theme="dark"] .tutorial-interactive{background:var(--color-primary-bg-light);border-color:var(--color-primary)}[data-theme="dark"] .tutorial-interactive.is-completed{background:var(--color-success-bg-medium);border-color:var(--color-state-correct)}[data-theme="dark"] .btn-secondary{border-color:var(--color-border)}[data-theme="dark"] .btn-secondary:hover:not(:disabled){background:var(--color-bg-hover);border-color:var(--color-border-strong)}[data-theme="dark"] .btn-secondary:active:not(:disabled){background:var(--color-bg-hover)}@media (prefers-reduced-motion: reduce){.tutorial-step{transition:none}.tutorial-interactive{transition:none}.btn-primary,.btn-secondary{transition:none}.btn-primary:hover:not(:disabled),.btn-secondary:hover:not(:disabled){transform:none}}.how-to-play-overlay{position:fixed;inset:0;z-index:var(--z-index-overlay);display:flex;align-items:center;justify-content:center;background:var(--color-overlay-heavy);opacity:0;visibility:hidden;transition:opacity 0.3s ease, visibility 0.3s ease}.how-to-play-overlay:not([hidden]){opacity:1;visibility:visible}.how-to-play-content{background:var(--color-bg-elevated);border-radius:var(--radius-xl);padding:2rem 2.5rem;max-width:320px;width:calc(100% - 2rem);text-align:center;box-shadow:var(--shadow-lg);transform:translateY(20px);transition:transform 0.3s ease}.how-to-play-overlay:not([hidden]) .how-to-play-content{transform:translateY(0)}.how-to-play-title{font-size:1.5rem;font-weight:600;margin:0 0 0.75rem;color:var(--color-text)}.how-to-play-intro{font-size:1rem;color:var(--color-text-muted);margin:0 0 1.5rem;line-height:1.5}.how-to-play-legend{display:flex;flex-direction:column;gap:0.75rem;margin-bottom:1.75rem}.how-to-play-item{display:flex;align-items:center;gap:0.75rem;text-align:left}.how-to-play-color{width:32px;height:32px;border-radius:var(--radius-md);flex-shrink:0}.how-to-play-color--correct{background:var(--color-state-correct)}.how-to-play-color--present{background:var(--color-state-present)}.how-to-play-color--absent{background:var(--color-state-absent)}.how-to-play-desc{font-size:0.9rem;color:var(--color-text);line-height:1.4}.how-to-play-dismiss{display:inline-flex;align-items:center;justify-content:center;width:100%;padding:0.875rem 1.5rem;font-size:1rem;font-weight:600;color:var(--color-text-on-colored);background:var(--color-state-correct);border:none;border-radius:var(--radius-md);cursor:pointer;transition:opacity 0.2s ease, transform 0.2s ease}.how-to-play-dismiss:hover{opacity:0.9}.how-to-play-dismiss:active{transform:scale(0.98)}@media (max-width: 380px){.how-to-play-content{padding:1.5rem 1.25rem}.how-to-play-title{font-size:1.25rem}.how-to-play-color{width:28px;height:28px}.how-to-play-desc{font-size:0.85rem}}@media (prefers-reduced-motion: reduce){.how-to-play-overlay{transition:none}.how-to-play-content{transition:none;transform:none}.how-to-play-dismiss{transition:none}.how-to-play-dismiss:active{transform:none}}@media (max-height: 700px){.how-to-play-content{padding:1.25rem 1.5rem;max-width:280px}.how-to-play-title{font-size:1.25rem;margin-bottom:0.5rem}.how-to-play-intro{font-size:0.875rem;margin-bottom:1rem}.how-to-play-legend{gap:0.5rem;margin-bottom:1rem}.how-to-play-item{gap:0.5rem}.how-to-play-color{width:24px;height:24px;border-radius:var(--radius-sm)}.how-to-play-desc{font-size:0.8rem}.how-to-play-dismiss{padding:0.625rem 1rem;font-size:0.875rem;border-radius:var(--radius-md)}}@media (max-height: 600px){.how-to-play-content{padding:1rem 1.25rem;max-width:260px}.how-to-play-title{font-size:1.1rem;margin-bottom:0.375rem}.how-to-play-intro{font-size:0.8rem;margin-bottom:0.75rem;line-height:1.4}.how-to-play-legend{gap:0.375rem;margin-bottom:0.75rem}.how-to-play-item{gap:0.375rem}.how-to-play-color{width:20px;height:20px;border-radius:3px}.how-to-play-desc{font-size:0.75rem;line-height:1.3}.how-to-play-dismiss{padding:0.5rem 0.875rem;font-size:0.8rem}}.achievement-modal .modal__dialog{text-align:center;max-width:340px;overflow:visible;padding-top:4rem}.achievement-modal .modal__header{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0, 0, 0, 0);white-space:nowrap;border:0}.achievement-badge{position:relative;width:80px;height:80px;margin:-4rem auto 1rem;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:2.5rem;color:var(--color-text-on-colored);background-color:var(--color-state-correct);box-shadow:0 4px 15px var(--color-achievement-shadow),0 0 0 4px var(--color-achievement-ring);animation:badge-pop var(--anim-duration-slow) var(--ease-bounce)}@keyframes badge-pop{0%{transform:scale(0);opacity:0}50%{transform:scale(1.2)}100%{transform:scale(1);opacity:1}}.achievement-modal__title{font-size:0.85rem;text-transform:uppercase;letter-spacing:1px;color:var(--color-state-correct);margin:0 0 0.5rem;font-weight:600}.achievement-modal__name{font-size:1.5rem;font-weight:700;margin:0 0 0.5rem;color:inherit}.achievement-modal__description{font-size:0.95rem;color:var(--color-text-muted);margin:0 0 1.5rem}.achievement-modal__actions{display:flex;gap:0.75rem;justify-content:center}.achievement-modal__btn{padding:0.6rem 1.25rem;border:none;border-radius:var(--radius-md);font-size:0.9rem;font-weight:600;cursor:pointer;transition:opacity 0.2s ease, transform 0.1s ease;display:inline-flex;align-items:center;gap:0.5rem}.achievement-modal__btn:hover{opacity:0.9}.achievement-modal__btn:active{transform:scale(0.98)}.achievement-modal__btn:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}.achievement-modal__btn--primary{background:var(--color-state-correct);color:var(--color-text-on-colored)}.achievement-modal__btn--secondary{background:var(--color-key-bg);color:var(--color-key-fg);border:1px solid var(--color-cell-border)}.confetti-container{position:absolute;top:-100px;left:-50%;width:200%;height:400px;pointer-events:none;overflow:visible;z-index:var(--z-controls)}.confetti-piece{position:absolute;width:10px;height:10px;top:0;animation:confetti-move 3s ease-out forwards, confetti-fade 3s ease-out forwards;transform:translateZ(0)}@keyframes confetti-move{0%{transform:translateY(0) rotateZ(0deg) translateZ(0)}100%{transform:translateY(350px) rotateZ(720deg) translateZ(0)}}@keyframes confetti-fade{0%,60%{opacity:1}100%{opacity:0}}.achievement-card{display:flex;align-items:center;gap:1rem;padding:1rem;background:var(--color-key-bg);border:1px solid var(--color-cell-border);border-radius:var(--radius-md);margin-bottom:0.75rem;transition:transform 0.2s ease}.achievement-card:hover{transform:translateX(4px)}.achievement-card--locked{opacity:0.5;filter:grayscale(0.7)}.achievement-card--locked:hover{transform:none}.achievement-card__icon{width:48px;height:48px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:1.5rem;color:var(--color-text-on-colored);flex-shrink:0}.achievement-card__info{flex:1;text-align:left}.achievement-card__name{font-size:1rem;font-weight:600;margin:0 0 0.25rem}.achievement-card__description{font-size:0.85rem;color:var(--color-text-muted);margin:0}.achievement-card__unlocked{font-size:0.75rem;color:var(--color-state-correct);margin-top:0.25rem}.achievement-progress{margin-top:0.5rem}.achievement-progress__bar{height:4px;background:var(--color-border);border-radius:2px;overflow:hidden}.achievement-progress__fill{height:100%;background:var(--color-state-present);border-radius:2px;width:100%;transform-origin:left;transform:scaleX(0);transition:transform var(--transition-base) ease}.achievement-progress__text{font-size:0.7rem;color:var(--color-text-subtle);margin-top:0.25rem}.achievements-section{margin-top:1.5rem}.achievements-section__header{display:flex;align-items:center;justify-content:space-between;margin-bottom:1rem}.achievements-section__title{font-size:1.1rem;font-weight:600;margin:0;display:flex;align-items:center;gap:0.5rem}.achievements-section__count{font-size:0.85rem;color:var(--color-text-muted);font-weight:normal}.achievements-list{list-style:none;padding:0;margin:0}.achievements-empty{text-align:center;padding:2rem 1rem;color:var(--color-text-muted)}.achievements-empty__icon{font-size:2.5rem;margin-bottom:0.75rem;opacity:0.5}.achievements-empty__text{font-size:0.9rem}.achievements-locked-wrapper{margin-top:1rem}.achievements-locked-wrapper.is-hidden{display:none}.achievements-locked-wrapper .achievements-toggle{display:flex;align-items:center;justify-content:center;padding:0.75rem 1rem;background:var(--color-bg-elevated);border-radius:8px;cursor:pointer;color:var(--color-text-muted);font-size:0.9rem;transition:background 0.2s ease;list-style:none}.achievements-locked-wrapper .achievements-toggle::-webkit-details-marker{display:none}.achievements-locked-wrapper .achievements-toggle:hover{background:var(--color-bg-hover)}.achievements-locked-wrapper .achievements-toggle::before{content:'▶';margin-right:0.5rem;font-size:0.65rem;transition:transform 0.2s ease}.achievements-locked-wrapper[open] .achievements-toggle::before{transform:rotate(90deg)}.achievements-locked-wrapper .achievements-locked{margin-top:0.75rem}@keyframes zen-fade-in{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.profile-header{animation:zen-fade-in 0.4s ease-out 0.1s both}.statistics-section{animation:zen-fade-in 0.4s ease-out 0.15s both}.navigation-cards-section{animation:zen-fade-in 0.4s ease-out 0.2s both}.achievements-section{animation:zen-fade-in 0.4s ease-out 0.25s both}.privacy-footer{animation:zen-fade-in 0.4s ease-out 0.3s both}@media (prefers-reduced-motion: reduce){.achievement-badge{animation:none}.confetti-piece{animation:none;opacity:0}.achievement-card{transition:none}.achievement-progress__fill{transition:none}.achievement-modal__btn{transition:none}.achievement-modal__btn:active{transform:none}.profile-header,.statistics-section,.navigation-cards-section,.achievements-section,.privacy-footer{animation:none;opacity:1}.achievements-toggle::before{transition:none}}@media (prefers-contrast: high){.achievement-badge{box-shadow:0 4px 15px var(--color-achievement-shadow), 0 0 0 3px var(--color-achievement-ring)}.achievement-card{border-width:2px}.achievement-progress__bar{border:1px solid var(--color-border)}}.streak-banner{display:flex;align-items:center;gap:0.75rem;padding:0.75rem 1rem;background:linear-gradient(135deg, var(--color-streak-start) 0%, var(--color-streak-end) 100%);border-radius:var(--radius-lg);color:var(--color-text-on-colored);font-weight:600;box-shadow:0 2px 8px var(--color-streak-shadow);margin:1rem 0;animation:streak-slide-in 0.4s ease-out}.streak-banner--daily{background:linear-gradient(135deg, var(--color-streak-start) 0%, var(--color-streak-end) 100%)}.streak-banner--win{background:linear-gradient(135deg, var(--color-streak-alt-start) 0%, var(--color-streak-alt-end) 100%);box-shadow:0 2px 8px var(--color-streak-alt-shadow)}.streak-banner__icon{font-size:1.5rem;animation:flame-pulse 1.5s ease-in-out infinite}.streak-banner__icon i{color:var(--color-text-on-colored)}.streak-banner__content{display:flex;align-items:baseline;gap:0.35rem}.streak-banner__count{font-size:1.5rem;font-weight:700;line-height:1}.streak-banner__label{font-size:0.9rem;opacity:0.95}.streak-banner__badge{margin-left:auto;font-size:1.25rem;animation:badge-shine 2s ease-in-out infinite}.streak-banner__badge i{color:var(--color-gold);filter:drop-shadow(0 0 3px var(--color-gold-glow))}.streak-badge{display:inline-flex;align-items:center;gap:0.35rem;padding:0.35rem 0.65rem;background:linear-gradient(135deg, var(--color-streak-start) 0%, var(--color-streak-end) 100%);border-radius:20px;color:var(--color-text-on-colored);font-size:0.85rem;font-weight:600}.streak-badge__icon{font-size:0.9rem}.streak-badge__count{font-weight:700}.streak-badge--large{padding:0.5rem 0.85rem;font-size:1rem;gap:0.5rem}.streak-badge--large .streak-badge__icon{font-size:1.1rem}@keyframes streak-slide-in{from{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}@keyframes flame-pulse{0%,100%{transform:scale(1)}50%{transform:scale(1.1)}}@keyframes badge-shine{0%,100%{opacity:1}50%{opacity:0.7}}@media (prefers-color-scheme: dark){:root:not([data-theme="light"]) .streak-banner{box-shadow:0 2px 12px var(--color-streak-shadow-strong)}:root:not([data-theme="light"]) .streak-banner--win{box-shadow:0 2px 12px var(--color-streak-alt-shadow-strong)}}[data-theme="dark"] .streak-banner{box-shadow:0 2px 12px var(--color-streak-shadow-strong)}[data-theme="dark"] .streak-banner--win{box-shadow:0 2px 12px var(--color-streak-alt-shadow-strong)}@media (prefers-reduced-motion: reduce){.streak-banner{animation:none}.streak-banner__icon{animation:none}.streak-banner__badge{animation:none}.streak-banner__badge i{animation:none}}.landing-page{--landing-bg: var(--color-bg);--landing-text: var(--color-text);--landing-muted: var(--color-text-muted);--landing-subtle: var(--color-text-subtle);--landing-border: var(--color-border);--landing-accent: var(--color-accent);--landing-accent-hover: var(--color-accent-hover);--landing-accent-alpha-02: rgba(0, 168, 150, 0.02);--landing-accent-alpha-05: rgba(0, 168, 150, 0.05);--landing-accent-alpha-10: rgba(0, 168, 150, 0.10);--landing-transition: var(--transition-base);--landing-stagger: 150ms}@supports (color: color-mix(in srgb, #000 50%, transparent)){.landing-page{--landing-accent-alpha-02: color-mix(in srgb, var(--color-accent) 2%, transparent);--landing-accent-alpha-05: color-mix(in srgb, var(--color-accent) 5%, transparent);--landing-accent-alpha-10: color-mix(in srgb, var(--color-accent) 10%, transparent)}}.landing-page{min-height:100vh;min-height:100dvh;display:flex;flex-direction:column;align-items:center;justify-content:center;background-color:var(--landing-bg);color:var(--landing-text);max-width:none;margin:0;padding:2rem 1.5rem;transition:background-color var(--landing-transition),color var(--landing-transition)}.landing-container{display:flex;flex-direction:column;align-items:center;text-align:center;max-width:480px;width:100%}.landing-error{display:flex;align-items:center;gap:0.5rem;padding:0.75rem 1rem;margin-bottom:1.5rem;background:var(--color-alert-danger-bg);border:1px solid var(--color-error);border-radius:var(--radius-md);color:var(--color-error);font-size:0.875rem;font-weight:400}.landing-error i{flex-shrink:0}.landing-consent-error{display:flex;align-items:center;gap:0.5rem;padding:0.75rem 1rem;margin-bottom:1rem;background:var(--color-alert-danger-bg);border:1px solid var(--color-error);border-radius:var(--radius-md);color:var(--color-error);font-size:0.875rem;font-weight:400}.landing-consent-error i{flex-shrink:0}.landing-theme-toggle{position:fixed;top:1.25rem;right:1.25rem;width:44px;height:44px;display:flex;align-items:center;justify-content:center;background:transparent;border:1px solid var(--landing-border);border-radius:50%;color:var(--landing-muted);cursor:pointer;transition:color var(--landing-transition),border-color var(--landing-transition),transform var(--transition-fast);z-index:var(--z-controls)}.landing-theme-toggle:hover{color:var(--landing-text);border-color:var(--landing-muted)}.landing-theme-toggle:active{transform:scale(0.95)}.landing-theme-toggle:focus-visible{outline:2px solid var(--landing-accent);outline-offset:2px}.landing-theme-toggle i{font-size:1.125rem}.landing-header{margin-bottom:2rem}.landing-logo{display:flex;gap:0.35rem;font-size:2.25rem;font-weight:300;letter-spacing:0.15em;margin:0;color:var(--landing-text)}@media (max-width: 375px){.landing-logo{font-size:1.875rem;gap:0.25rem}}.landing-logo-letter{display:inline-block}.landing-logo-letter--accent{color:var(--landing-accent)}.landing-divider{width:100%;max-width:180px;height:1px;background:var(--landing-border);margin:1rem auto 0}.landing-tagline{font-size:1.125rem;font-weight:300;line-height:1.6;color:var(--landing-muted);max-width:320px;margin:0 0 1.5rem}.landing-how-it-works{display:flex;flex-direction:column;gap:0.625rem;margin-bottom:2rem;max-width:280px}.landing-step{display:flex;align-items:center;gap:0.75rem;font-size:0.875rem;font-weight:300;color:var(--landing-muted)}.landing-step i{font-size:1rem;width:1.25rem;text-align:center;color:var(--landing-subtle);flex-shrink:0}.landing-step span{line-height:1.4}.landing-keyboard-wrapper{margin-bottom:2.5rem;width:200px;height:200px}@media (max-width: 375px){.landing-keyboard-wrapper{width:160px;height:160px}}.landing-keyboard-wrapper svg{width:100%;height:100%}.landing-value-prop{font-size:1rem;font-weight:400;color:var(--landing-text);margin:0 0 1.5rem}.landing-stats{display:flex;align-items:center;gap:0.75rem;font-size:0.875rem;font-weight:300;color:var(--landing-muted);margin:0 0 0.75rem}.landing-stats-dot{width:3px;height:3px;border-radius:50%;background:var(--landing-subtle)}.landing-languages{display:flex;flex-direction:column;align-items:center;gap:0.5rem;margin-bottom:2.5rem}.landing-languages-label{font-size:0.65rem;font-weight:400;text-transform:uppercase;letter-spacing:0.15em;color:var(--landing-subtle);opacity:0.7}.landing-languages-list{display:flex;gap:1rem}.landing-lang{font-size:0.75rem;font-weight:300;letter-spacing:0.1em;color:var(--landing-subtle);cursor:default}.landing-cta-section{margin-bottom:2rem;min-height:160px;display:flex;flex-direction:column;align-items:center}.landing-cta{display:flex;flex-direction:column;align-items:center}.landing-begin-btn{background:transparent;border:none;color:var(--landing-muted);font-size:1.125rem;font-weight:300;letter-spacing:0.05em;cursor:pointer;padding:0.25rem 0;min-height:44px;display:inline-flex;align-items:center;justify-content:center;position:relative;transition:color var(--transition-base);animation:begin-glow 3s ease-in-out infinite}.landing-begin-btn::after{content:'';position:absolute;bottom:0;left:0;width:100%;height:1px;background:var(--landing-accent);opacity:0.4;transition:opacity var(--transition-base),width var(--transition-base)}.landing-begin-btn:hover{color:var(--landing-text);animation:none}.landing-begin-btn:hover::after{opacity:1}.landing-begin-btn:active{transform:scale(0.98)}.landing-begin-btn:focus-visible{outline:2px solid var(--landing-accent);outline-offset:2px;border-radius:var(--radius-sm)}@keyframes begin-glow{0%,100%{filter:drop-shadow(0 0 0 transparent)}50%{filter:drop-shadow(0 0 8px var(--landing-accent-alpha-10))}}.landing-consent{width:100%;max-width:360px;padding:1.5rem;background:var(--landing-bg);border:1px solid var(--landing-border);border-radius:var(--radius-lg);text-align:left;box-shadow:var(--shadow-md);animation:consent-slide-in var(--anim-duration-medium) var(--ease-bounce)}.landing-consent--visible{animation:consent-slide-in var(--anim-duration-medium) var(--ease-bounce)}@keyframes consent-slide-in{from{opacity:0;transform:translateY(20px) scale(0.95)}to{opacity:1;transform:translateY(0) scale(1)}}.landing-consent-title{font-family:var(--font-family-display);font-size:1rem;font-weight:500;color:var(--landing-text);margin:0 0 1.25rem}.landing-consent-options{display:flex;flex-direction:column;gap:1rem;margin-bottom:1.5rem}.landing-consent-option{display:flex;align-items:flex-start;gap:0.75rem;cursor:pointer}.landing-consent-option input[type="checkbox"]{position:absolute;opacity:0;width:0;height:0}.landing-consent-option--required{cursor:default;opacity:0.7}.landing-consent-checkbox{width:20px;height:20px;min-width:20px;border:1px solid var(--landing-border);border-radius:var(--radius-sm);display:flex;align-items:center;justify-content:center;color:transparent;background:var(--landing-bg);transition:background-color var(--transition-fast),border-color var(--transition-fast),color var(--transition-fast)}.landing-consent-checkbox i{font-size:0.75rem}input:checked+.landing-consent-checkbox{background:var(--landing-accent);border-color:var(--landing-accent);color:white}input:disabled+.landing-consent-checkbox{background:var(--landing-subtle);border-color:var(--landing-subtle);color:white}input:focus-visible+.landing-consent-checkbox{outline:2px solid var(--landing-accent);outline-offset:2px}.landing-consent-text{display:flex;flex-direction:column;gap:0.125rem}.landing-consent-label{font-size:0.875rem;font-weight:400;color:var(--landing-text)}.landing-consent-desc{font-size:0.75rem;font-weight:300;color:var(--landing-muted)}.landing-consent-submit{width:100%;padding:0.75rem 1rem;font-size:0.875rem;font-weight:400;color:white;background:var(--landing-accent);border:none;border-radius:var(--radius-md);cursor:pointer;transition:background-color var(--transition-fast),transform var(--transition-fast),opacity var(--transition-fast);position:relative}.landing-consent-submit:hover:not(:disabled){background:var(--landing-accent-hover)}.landing-consent-submit:active:not(:disabled){transform:scale(0.98)}.landing-consent-submit:focus-visible{outline:2px solid var(--landing-accent);outline-offset:2px}.landing-consent-submit:disabled{cursor:not-allowed;opacity:0.7}.landing-consent-submit--loading{color:transparent}.landing-consent-submit--loading::after{content:'';position:absolute;top:50%;left:50%;width:18px;height:18px;margin:-9px 0 0 -9px;border:2px solid var(--color-border-tint-heavy);border-top-color:white;border-radius:50%;animation:spin 0.8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.landing-consent-privacy{display:block;text-align:center;margin-top:1rem;font-size:0.75rem;font-weight:300;color:var(--landing-muted);text-decoration:none}.landing-consent-privacy:hover{color:var(--landing-accent);text-decoration:underline}.landing-player-stats{display:flex;align-items:center;gap:0.5rem;font-size:0.75rem;font-weight:300;color:var(--landing-subtle);margin:0 0 1.5rem}.landing-free{font-size:0.75rem;font-weight:300;color:var(--landing-subtle);margin:0}.landing-footer{position:fixed;bottom:env(safe-area-inset-bottom, 0);left:0;right:0;display:flex;justify-content:space-between;align-items:center;padding:1rem 1.5rem;font-size:0.75rem;font-weight:300;color:var(--landing-subtle);pointer-events:none}.landing-footer a,.landing-footer span{pointer-events:auto}@media (max-height: 700px){.landing-footer{position:static;margin-top:auto;padding-bottom:calc(env(safe-area-inset-bottom, 0px) + 0.5rem);pointer-events:auto}}.landing-footer-link{color:inherit;text-decoration:none;position:relative;transition:color var(--transition-fast)}.landing-footer-link::after{content:'';position:absolute;bottom:-2px;left:50%;width:0;height:1px;background:currentColor;transition:width var(--transition-fast),left var(--transition-fast)}.landing-footer-link:hover{color:var(--landing-muted)}.landing-footer-link:hover::after{width:100%;left:0}.landing-footer-link:focus-visible{outline:2px solid var(--landing-accent, var(--color-accent));outline-offset:2px;border-radius:2px}.landing-footer-brand{color:var(--landing-subtle)}.landing-privacy-panel{position:fixed;inset:0;z-index:var(--z-index-overlay);display:flex;align-items:flex-end;justify-content:center}.landing-privacy-panel[hidden]{display:none}.landing-privacy-backdrop{position:absolute;inset:0;background:var(--color-overlay-light);animation:fade-in 0.2s ease}@keyframes fade-in{from{opacity:0}to{opacity:1}}.landing-privacy-content{position:relative;width:100%;max-width:480px;background:var(--landing-bg);border-top-left-radius:16px;border-top-right-radius:16px;padding:1.5rem;animation:slide-up 0.3s ease}@keyframes slide-up{from{transform:translateY(100%)}to{transform:translateY(0)}}.landing-privacy-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem}.landing-privacy-header h2{font-size:1rem;font-weight:400;color:var(--landing-text);margin:0}.landing-privacy-close{width:36px;height:36px;display:flex;align-items:center;justify-content:center;background:transparent;border:none;color:var(--landing-muted);cursor:pointer;border-radius:50%;transition:color var(--transition-fast),background-color var(--transition-fast)}.landing-privacy-close:hover{color:var(--landing-text);background:var(--landing-border)}.landing-privacy-close:focus-visible{outline:2px solid var(--landing-accent);outline-offset:2px}.landing-privacy-status{font-size:0.875rem;font-weight:300;color:var(--landing-muted);margin:0 0 1rem}.landing-privacy-toggles{display:flex;flex-direction:column;gap:0.75rem;margin-bottom:1.5rem}.landing-privacy-toggle{display:flex;justify-content:space-between;align-items:center;font-size:0.875rem;color:var(--landing-text)}.landing-privacy-toggle input[type="checkbox"]{position:absolute;opacity:0}.landing-toggle-label{font-size:0.75rem;color:var(--landing-subtle)}.landing-toggle-switch{width:44px;height:24px;background:var(--landing-border);border-radius:var(--radius-lg);position:relative;cursor:pointer;transition:background-color var(--transition-base)}.landing-toggle-switch::after{content:'';position:absolute;top:2px;left:2px;width:20px;height:20px;background:white;border-radius:50%;transition:transform var(--transition-base)}input:checked+.landing-toggle-switch{background:var(--landing-accent)}input:checked+.landing-toggle-switch::after{transform:translateX(20px)}input:focus-visible+.landing-toggle-switch{outline:2px solid var(--landing-accent);outline-offset:2px}.landing-privacy-policy-link{display:block;text-align:center;font-size:0.875rem;font-weight:300;color:var(--landing-muted);text-decoration:none}.landing-privacy-policy-link:hover{color:var(--landing-accent);text-decoration:underline}.landing-animate{opacity:0;transform:translateY(10px);transition:opacity var(--transition-slow),transform var(--transition-slow)}.landing-animate--visible{opacity:1;transform:translateY(0)}@media (prefers-reduced-motion: reduce){.landing-animate{opacity:1;transform:none;transition:none}.landing-footer-link{transition:none}.landing-footer-link::after{transition:none}}@media (max-width: 375px){.landing-page{padding:1.5rem 1rem}.landing-tagline{font-size:1rem}.landing-footer{padding:0.75rem 1rem}}@media (max-height: 700px){.landing-page{justify-content:flex-start;padding-top:3rem;padding-bottom:4rem}}.landing-mode-modal{position:fixed;inset:0;z-index:var(--z-index-modal-mode);display:flex;align-items:center;justify-content:center;padding:1rem;opacity:0;visibility:hidden;transition:opacity var(--transition-base),visibility var(--transition-base)}.landing-mode-modal--visible{opacity:1;visibility:visible}.landing-mode-modal[hidden]{display:none}.landing-mode-modal-backdrop{position:absolute;inset:0;background:var(--color-overlay-medium)}.landing-mode-modal-content{position:relative;width:100%;max-width:400px;background:var(--landing-bg);border-radius:var(--radius-xl);padding:1.75rem;text-align:center;box-shadow:var(--shadow-xl);transform:scale(0.95) translateY(10px);transition:transform var(--anim-duration-base) var(--ease-bounce)}.landing-mode-modal--visible .landing-mode-modal-content{transform:scale(1) translateY(0)}.landing-mode-modal-title{font-family:var(--font-family-display);font-size:1.125rem;font-weight:500;color:var(--landing-text);margin:0 0 1.5rem}.landing-mode-grid{display:grid;grid-template-columns:repeat(2, 1fr);gap:0.75rem;margin-bottom:1.25rem}.landing-mode-card{display:flex;flex-direction:column;align-items:center;padding:1rem 0.75rem;background:var(--landing-bg);border:1px solid var(--landing-border);border-radius:var(--radius-lg);text-decoration:none;color:inherit;transition:border-color var(--transition-base),transform var(--transition-fast),box-shadow var(--transition-base)}.landing-mode-card:hover{border-color:var(--landing-accent);transform:translateY(-2px);box-shadow:var(--shadow-md)}.landing-mode-card:focus-visible{outline:2px solid var(--landing-accent);outline-offset:2px}.landing-mode-card:active{transform:translateY(0)}.landing-mode-card--featured{border-color:var(--landing-accent);background:linear-gradient(135deg, var(--landing-accent-alpha-05) 0%, var(--landing-accent-alpha-02) 100%)}.landing-mode-card--featured .landing-mode-icon{color:var(--landing-accent)}.landing-mode-icon{width:40px;height:40px;display:flex;align-items:center;justify-content:center;margin-bottom:0.5rem;color:var(--landing-muted);transition:color var(--transition-base),transform var(--transition-base)}.landing-mode-icon i{font-size:1.5rem}.landing-mode-card:hover .landing-mode-icon{color:var(--landing-accent);transform:scale(1.1)}.landing-mode-icon--svg{width:48px;height:48px}.landing-mode-icon--svg svg{width:100%;height:100%;color:inherit;transition:transform 0.2s ease}.landing-mode-name{font-size:0.875rem;font-weight:500;color:var(--landing-text);margin:0 0 0.25rem}.landing-mode-desc{font-size:0.75rem;font-weight:300;color:var(--landing-muted);margin:0;line-height:1.4}.landing-mode-later{background:transparent;border:none;color:var(--landing-muted);font-size:0.8125rem;font-weight:300;cursor:pointer;padding:0.5rem;transition:color var(--transition-base)}.landing-mode-later:hover{color:var(--landing-text)}.landing-mode-later:focus-visible{outline:2px solid var(--landing-accent);outline-offset:2px;border-radius:var(--radius-sm)}[data-theme="dark"] .landing-mode-modal-backdrop{background:var(--color-overlay-dark)}[data-theme="dark"] .landing-mode-modal-content{box-shadow:var(--shadow-xl)}[data-theme="dark"] .landing-mode-card:hover{box-shadow:var(--shadow-lg)}[data-theme="dark"] .landing-mode-card--featured{background:linear-gradient(135deg, var(--landing-accent-alpha-10) 0%, var(--landing-accent-alpha-05) 100%)}@media (max-width: 375px){.landing-mode-modal-content{padding:1.25rem}.landing-mode-grid{gap:0.5rem}.landing-mode-card{padding:0.75rem 0.5rem}.landing-mode-icon i{font-size:1.25rem}.landing-mode-icon--svg{width:36px;height:36px}.landing-mode-name{font-size:0.8125rem}.landing-mode-desc{font-size:0.6875rem}}@media (prefers-reduced-motion: reduce){.landing-mode-modal{transition:none}.landing-mode-modal-content{transition:none;transform:none}.landing-mode-modal--visible .landing-mode-modal-content{transform:none}.landing-mode-card{transition:none}.landing-mode-card:hover{transform:none}.landing-mode-card:active{transform:none}}@media (prefers-contrast: high){.landing-hero-btn{border-width:2px}.landing-mode-card{border-width:2px}.landing-stats{border-width:2px}.landing-mode-modal-content{border-width:2px}}.animation-demo-page{min-height:100vh;min-height:100dvh;padding:2rem 1rem;background:var(--color-bg);color:var(--color-text)}.demo-header{text-align:center;margin-bottom:3rem}.demo-header h1{font-family:var(--font-family-display);font-size:2rem;color:var(--color-text);margin-bottom:0.5rem}.demo-header .demo-subtitle{color:var(--color-text-muted);font-size:1rem}.demo-grid{display:grid;grid-template-columns:repeat(auto-fit, minmax(300px, 1fr));gap:2rem;max-width:1200px;margin:0 auto}.demo-card{background:var(--color-bg-elevated);border-radius:var(--radius-lg);padding:1.5rem;border:1px solid var(--color-border)}.demo-card h2{font-family:var(--font-family-display);font-size:1.25rem;margin-bottom:0.5rem;color:var(--color-text)}.demo-card .demo-philosophy{font-style:italic;color:var(--color-text-muted);font-size:0.875rem;margin-bottom:1.5rem}.demo-board{display:flex;justify-content:center;margin-bottom:1.5rem}.demo-row{display:flex;gap:0.5rem}.demo-cell{width:3rem;height:3rem;display:flex;align-items:center;justify-content:center;font-family:var(--font-family-display);font-size:1.75rem;font-weight:600;color:var(--color-text);border-bottom:2px solid var(--color-cell-border);position:relative}.demo-cell .letter{position:relative;z-index:2;transition:color 0.15s ease-out}.btn-replay{display:flex;align-items:center;justify-content:center;gap:0.5rem;width:100%;padding:0.75rem;background:var(--color-bg-hover);border:1px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-text);cursor:pointer;transition:all 0.2s ease;font-family:var(--font-family-base);font-size:0.9rem}.btn-replay:hover{background:var(--color-accent);color:white;border-color:var(--color-accent)}.btn-replay:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}[data-animation="underline-sweep"] .demo-cell::after{content:'';position:absolute;bottom:-2px;left:0;height:3px;width:0;background:var(--color-cell-border);transition:none}[data-animation="underline-sweep"] .demo-cell[data-state="correct"]::after{background:var(--color-state-correct)}[data-animation="underline-sweep"] .demo-cell[data-state="present"]::after{background:var(--color-state-present)}[data-animation="underline-sweep"] .demo-cell[data-state="absent"]::after{background:var(--color-state-absent)}[data-animation="underline-sweep"] .demo-cell.animate::after{animation:underline-sweep 0.4s ease-out forwards}@keyframes underline-sweep{0%{width:0;left:0}100%{width:100%;left:0}}[data-animation="orbital-echo"] .demo-cell{overflow:visible}[data-animation="orbital-echo"] .demo-cell::before{content:'';position:absolute;inset:-8px;border:1px solid var(--color-accent);border-radius:50%;opacity:0;transform:scale(1.5);pointer-events:none}[data-animation="orbital-echo"] .demo-cell::after{content:'';position:absolute;bottom:-2px;left:0;height:3px;width:100%;opacity:0}[data-animation="orbital-echo"] .demo-cell[data-state="correct"]::after{background:var(--color-state-correct)}[data-animation="orbital-echo"] .demo-cell[data-state="present"]::after{background:var(--color-state-present)}[data-animation="orbital-echo"] .demo-cell[data-state="absent"]::after{background:var(--color-state-absent)}[data-animation="orbital-echo"] .demo-cell.animate::before{animation:orbital-ring 0.5s ease-out forwards}[data-animation="orbital-echo"] .demo-cell.animate::after{animation:orbital-reveal 0.3s ease-out 0.4s forwards}@keyframes orbital-ring{0%{opacity:0.8;transform:scale(1.5)}80%{opacity:0.4;transform:scale(1)}100%{opacity:0;transform:scale(0.9)}}@keyframes orbital-reveal{0%{opacity:0}100%{opacity:1}}[data-animation="zen-stillness"] .demo-cell::after{content:'';position:absolute;bottom:-2px;left:0;height:3px;width:100%;opacity:0}[data-animation="zen-stillness"] .demo-cell[data-state="correct"]::after{background:var(--color-state-correct)}[data-animation="zen-stillness"] .demo-cell[data-state="present"]::after{background:var(--color-state-present)}[data-animation="zen-stillness"] .demo-cell[data-state="absent"]::after{background:var(--color-state-absent)}[data-animation="zen-stillness"] .demo-cell.animate{animation:zen-settle 0.2s ease-out}[data-animation="zen-stillness"] .demo-cell.animate::after{animation:zen-reveal 0.3s ease-out 0.1s forwards}@keyframes zen-settle{0%{transform:translateY(0)}50%{transform:translateY(2px)}100%{transform:translateY(0)}}@keyframes zen-reveal{0%{opacity:0}100%{opacity:1}}[data-animation="pulse-breathe"] .demo-cell::after{content:'';position:absolute;bottom:-2px;left:0;height:3px;width:100%;opacity:0}[data-animation="pulse-breathe"] .demo-cell[data-state="correct"]::after{background:var(--color-state-correct)}[data-animation="pulse-breathe"] .demo-cell[data-state="present"]::after{background:var(--color-state-present)}[data-animation="pulse-breathe"] .demo-cell[data-state="absent"]::after{background:var(--color-state-absent)}[data-animation="pulse-breathe"] .demo-cell.animate{animation:pulse-breath 0.4s ease-in-out}[data-animation="pulse-breathe"] .demo-cell.animate::after{animation:breath-reveal 0.2s ease-out 0.2s forwards}@keyframes pulse-breath{0%{transform:scale(1)}40%{transform:scale(1.03)}100%{transform:scale(1)}}@keyframes breath-reveal{0%{opacity:0}100%{opacity:1}}:root{--ink-bloom-duration-confident: 0.3s;--ink-bloom-duration-searching: 0.45s;--ink-bloom-duration-fading: 0.5s;--ink-hesitation-delay: 0.1s;--paper-response-duration: 0.6s;--ink-absent-opacity: 0.85;--ease-ink-confident: cubic-bezier(0.19, 1, 0.22, 1);--ease-ink-searching: cubic-bezier(0.25, 0, 0.2, 1);--ease-ink-fading: ease-out}@keyframes ink-awaken{0%{color:transparent;text-shadow:0 0 0 var(--ink-color)}30%{color:color-mix(in srgb, var(--ink-color) 60%, transparent);text-shadow:0 0 8px color-mix(in srgb, var(--ink-color) 40%, transparent)}100%{color:var(--ink-color);text-shadow:none}}@keyframes ink-bloom-underline{0%{clip-path:inset(0 50% 0 50%);opacity:0.8}40%{clip-path:inset(0 20% 0 20%);opacity:1}70%{clip-path:inset(0 5% 0 5%);filter:blur(0.5px)}100%{clip-path:inset(0 0 0 0);filter:blur(0);opacity:1}}@keyframes ink-bloom-underline-absent{0%{clip-path:inset(0 50% 0 50%);opacity:0.5}40%{clip-path:inset(0 25% 0 25%);opacity:0.7}100%{clip-path:inset(0 0 0 0);opacity:var(--ink-absent-opacity)}}@keyframes paper-absorb{0%{background:radial-gradient(circle at center, transparent 0%, transparent 100%)}50%{background:radial-gradient(circle at center, color-mix(in srgb, var(--ink-color) 5%, transparent) 0%, transparent 70%)}100%{background:radial-gradient(circle at center, color-mix(in srgb, var(--ink-color) 3%, transparent) 0%, transparent 60%)}}@keyframes paper-emit{0%{box-shadow:inset 0 0 0 transparent}50%{box-shadow:inset 0 0 20px color-mix(in srgb, var(--ink-color) 8%, transparent)}100%{box-shadow:inset 0 0 15px color-mix(in srgb, var(--ink-color) 5%, transparent)}}[data-animation="ink-paper"] .demo-cell,[data-animation="ink-paper-correct"] .demo-cell,[data-animation="ink-paper-present"] .demo-cell,[data-animation="ink-paper-absent"] .demo-cell{overflow:visible;position:relative}[data-animation="ink-paper"] .demo-cell::before,[data-animation="ink-paper-correct"] .demo-cell::before,[data-animation="ink-paper-present"] .demo-cell::before,[data-animation="ink-paper-absent"] .demo-cell::before{content:'';position:absolute;inset:-8px;border:1px solid var(--color-accent);border-radius:50%;opacity:0;transform:scale(1.5);pointer-events:none}[data-animation="ink-paper"] .demo-cell .letter,[data-animation="ink-paper-correct"] .demo-cell .letter,[data-animation="ink-paper-present"] .demo-cell .letter,[data-animation="ink-paper-absent"] .demo-cell .letter{position:relative;z-index:2;color:var(--color-text);transition:none}[data-animation="ink-paper"] .demo-cell .cell-underline,[data-animation="ink-paper-correct"] .demo-cell .cell-underline,[data-animation="ink-paper-present"] .demo-cell .cell-underline,[data-animation="ink-paper-absent"] .demo-cell .cell-underline{position:absolute;bottom:-2px;left:0;height:3px;width:100%;opacity:0;clip-path:inset(0 50% 0 50%);z-index:1}[data-animation="ink-paper"] .demo-cell::after,[data-animation="ink-paper-correct"] .demo-cell::after,[data-animation="ink-paper-present"] .demo-cell::after,[data-animation="ink-paper-absent"] .demo-cell::after{content:'';position:absolute;inset:0;pointer-events:none;z-index:0;border-radius:2px}[data-animation="ink-paper"] .demo-cell[data-state="correct"],[data-animation="ink-paper-correct"] .demo-cell[data-state="correct"],[data-animation="ink-paper-present"] .demo-cell[data-state="correct"],[data-animation="ink-paper-absent"] .demo-cell[data-state="correct"]{--ink-color: var(--color-state-correct)}[data-animation="ink-paper"] .demo-cell[data-state="correct"] .cell-underline,[data-animation="ink-paper-correct"] .demo-cell[data-state="correct"] .cell-underline,[data-animation="ink-paper-present"] .demo-cell[data-state="correct"] .cell-underline,[data-animation="ink-paper-absent"] .demo-cell[data-state="correct"] .cell-underline{background:var(--color-state-correct)}[data-animation="ink-paper"] .demo-cell[data-state="present"],[data-animation="ink-paper-correct"] .demo-cell[data-state="present"],[data-animation="ink-paper-present"] .demo-cell[data-state="present"],[data-animation="ink-paper-absent"] .demo-cell[data-state="present"]{--ink-color: var(--color-state-present)}[data-animation="ink-paper"] .demo-cell[data-state="present"] .cell-underline,[data-animation="ink-paper-correct"] .demo-cell[data-state="present"] .cell-underline,[data-animation="ink-paper-present"] .demo-cell[data-state="present"] .cell-underline,[data-animation="ink-paper-absent"] .demo-cell[data-state="present"] .cell-underline{background:var(--color-state-present)}[data-animation="ink-paper"] .demo-cell[data-state="absent"],[data-animation="ink-paper-correct"] .demo-cell[data-state="absent"],[data-animation="ink-paper-present"] .demo-cell[data-state="absent"],[data-animation="ink-paper-absent"] .demo-cell[data-state="absent"]{--ink-color: var(--color-state-absent)}[data-animation="ink-paper"] .demo-cell[data-state="absent"] .cell-underline,[data-animation="ink-paper-correct"] .demo-cell[data-state="absent"] .cell-underline,[data-animation="ink-paper-present"] .demo-cell[data-state="absent"] .cell-underline,[data-animation="ink-paper-absent"] .demo-cell[data-state="absent"] .cell-underline{background:var(--color-state-absent)}[data-animation="ink-paper"] .demo-cell.animate::before,[data-animation="ink-paper-correct"] .demo-cell.animate::before,[data-animation="ink-paper-present"] .demo-cell.animate::before,[data-animation="ink-paper-absent"] .demo-cell.animate::before{animation:orbital-glow-ring 0.4s var(--ease-ink-confident) forwards}[data-animation="ink-paper"] .demo-cell.animate::after,[data-animation="ink-paper-correct"] .demo-cell.animate::after,[data-animation="ink-paper-present"] .demo-cell.animate::after,[data-animation="ink-paper-absent"] .demo-cell.animate::after{animation:paper-absorb var(--paper-response-duration) var(--ease-ink-fading) 0.2s forwards}[data-animation="ink-paper"] .demo-cell[data-state="correct"].animate .letter,[data-animation="ink-paper-correct"] .demo-cell[data-state="correct"].animate .letter,[data-animation="ink-paper-present"] .demo-cell[data-state="correct"].animate .letter,[data-animation="ink-paper-absent"] .demo-cell[data-state="correct"].animate .letter{animation:ink-awaken var(--ink-bloom-duration-confident) var(--ease-ink-confident) 0.15s forwards}[data-animation="ink-paper"] .demo-cell[data-state="correct"].animate .cell-underline,[data-animation="ink-paper-correct"] .demo-cell[data-state="correct"].animate .cell-underline,[data-animation="ink-paper-present"] .demo-cell[data-state="correct"].animate .cell-underline,[data-animation="ink-paper-absent"] .demo-cell[data-state="correct"].animate .cell-underline{animation:ink-bloom-underline var(--ink-bloom-duration-confident) var(--ease-ink-confident) 0.2s forwards}[data-animation="ink-paper"] .demo-cell[data-state="present"].animate .letter,[data-animation="ink-paper-correct"] .demo-cell[data-state="present"].animate .letter,[data-animation="ink-paper-present"] .demo-cell[data-state="present"].animate .letter,[data-animation="ink-paper-absent"] .demo-cell[data-state="present"].animate .letter{animation:ink-awaken var(--ink-bloom-duration-searching) var(--ease-ink-searching) calc(0.15s + var(--ink-hesitation-delay)) forwards}[data-animation="ink-paper"] .demo-cell[data-state="present"].animate .cell-underline,[data-animation="ink-paper-correct"] .demo-cell[data-state="present"].animate .cell-underline,[data-animation="ink-paper-present"] .demo-cell[data-state="present"].animate .cell-underline,[data-animation="ink-paper-absent"] .demo-cell[data-state="present"].animate .cell-underline{animation:ink-bloom-underline var(--ink-bloom-duration-searching) var(--ease-ink-searching) calc(0.2s + var(--ink-hesitation-delay)) forwards}[data-animation="ink-paper"] .demo-cell[data-state="absent"].animate .letter,[data-animation="ink-paper-correct"] .demo-cell[data-state="absent"].animate .letter,[data-animation="ink-paper-present"] .demo-cell[data-state="absent"].animate .letter,[data-animation="ink-paper-absent"] .demo-cell[data-state="absent"].animate .letter{animation:ink-awaken var(--ink-bloom-duration-fading) var(--ease-ink-fading) 0.15s forwards}[data-animation="ink-paper"] .demo-cell[data-state="absent"].animate .cell-underline,[data-animation="ink-paper-correct"] .demo-cell[data-state="absent"].animate .cell-underline,[data-animation="ink-paper-present"] .demo-cell[data-state="absent"].animate .cell-underline,[data-animation="ink-paper-absent"] .demo-cell[data-state="absent"].animate .cell-underline{animation:ink-bloom-underline-absent var(--ink-bloom-duration-fading) var(--ease-ink-fading) 0.2s forwards}@media (prefers-color-scheme: dark){[data-animation="ink-paper"] .demo-cell.animate::after,[data-animation="ink-paper-correct"] .demo-cell.animate::after,[data-animation="ink-paper-present"] .demo-cell.animate::after,[data-animation="ink-paper-absent"] .demo-cell.animate::after{animation:paper-emit var(--paper-response-duration) var(--ease-ink-fading) 0.2s forwards}}[data-theme="dark"] [data-animation="ink-paper"] .demo-cell.animate::after,[data-theme="dark"] [data-animation="ink-paper-correct"] .demo-cell.animate::after,[data-theme="dark"] [data-animation="ink-paper-present"] .demo-cell.animate::after,[data-theme="dark"] [data-animation="ink-paper-absent"] .demo-cell.animate::after{animation:paper-emit var(--paper-response-duration) var(--ease-ink-fading) 0.2s forwards}.ink-demo-page .demo-description{font-size:0.8rem;color:var(--color-text-muted);margin-bottom:1rem;line-height:1.4}.ink-demo-page .demo-controls{display:flex;gap:1rem;justify-content:center;align-items:center}.ink-demo-page .demo-card-current{border-color:var(--color-text-muted);position:relative}.ink-demo-page .demo-card-current::after{content:'CURRENT';position:absolute;top:0.75rem;right:0.75rem;font-size:0.65rem;font-weight:600;letter-spacing:0.05em;color:var(--color-text-muted);background:var(--color-bg-hover);padding:0.2rem 0.5rem;border-radius:var(--radius-sm)}.ink-demo-page .demo-card-new{border-color:var(--color-accent);position:relative;box-shadow:0 0 0 1px var(--color-accent)}.ink-demo-page .demo-card-new::after{content:'NEW';position:absolute;top:0.75rem;right:0.75rem;font-size:0.65rem;font-weight:600;letter-spacing:0.05em;color:var(--color-accent);background:var(--color-accent-alpha-10, rgba(45,212,191,0.1));padding:0.2rem 0.5rem;border-radius:var(--radius-sm)}.ink-demo-page .demo-grid-comparison{grid-template-columns:repeat(2, 1fr);max-width:900px}.demo-state-showcase{max-width:900px;margin:3rem auto 0;padding:0 1rem}.demo-state-showcase h2{font-family:var(--font-family-display);font-size:1.5rem;color:var(--color-text);text-align:center;margin-bottom:1.5rem}.demo-states-grid{display:grid;grid-template-columns:repeat(3, 1fr);gap:1.5rem}.demo-state-card{background:var(--color-bg-elevated);border-radius:var(--radius-lg);padding:1.25rem;border:1px solid var(--color-border);text-align:center}.demo-state-card h3{font-family:var(--font-family-display);font-size:1rem;margin-bottom:0.25rem;color:var(--color-text);display:flex;align-items:center;justify-content:center;gap:0.5rem}.demo-state-card .state-timing{font-size:0.75rem;font-weight:400;color:var(--color-accent);font-family:var(--font-family-mono, monospace)}.demo-state-card .state-personality{font-size:0.75rem;font-style:italic;color:var(--color-text-muted);margin-bottom:1rem}.demo-state-card .demo-board{margin-bottom:1rem}.demo-state-card .demo-row{justify-content:center}.btn-replay-sm{padding:0.5rem 1rem;font-size:0.8rem}.btn-replay-sm .fa-arrows-rotate{font-size:0.9rem}.demo-comparison-notes{max-width:700px;margin:3rem auto 0;padding:0 1rem}.demo-comparison-notes h2{font-family:var(--font-family-display);font-size:1.25rem;color:var(--color-text);text-align:center;margin-bottom:1.5rem}.comparison-table{background:var(--color-bg-elevated);border-radius:var(--radius-lg);border:1px solid var(--color-border);overflow:hidden}.comparison-row{display:grid;grid-template-columns:1fr 1fr}.comparison-row:not(:last-child){border-bottom:1px solid var(--color-border)}.comparison-row.comparison-header{background:var(--color-bg-hover);font-weight:600;font-size:0.9rem}.comparison-cell{padding:0.75rem 1rem;font-size:0.875rem}.comparison-cell:first-child{border-right:1px solid var(--color-border);color:var(--color-text-muted)}.comparison-cell:last-child{color:var(--color-text)}@keyframes orbital-glow-ring{0%{opacity:0.8;transform:scale(1.5)}80%{opacity:0.4;transform:scale(1)}100%{opacity:0;transform:scale(0.9)}}@keyframes letter-glow-residue{0%{text-shadow:none}40%{text-shadow:0 0 12px var(--glow-color),0 0 24px var(--glow-color)}100%{text-shadow:0 0 6px var(--glow-color),0 0 12px color-mix(in srgb, var(--glow-color) 50%, transparent)}}[data-animation="orbital-glow"] .demo-cell{overflow:visible;position:relative}[data-animation="orbital-glow"] .demo-cell::before{content:'';position:absolute;inset:-8px;border:1px solid var(--color-accent);border-radius:50%;opacity:0;transform:scale(1.5);pointer-events:none}[data-animation="orbital-glow"] .demo-cell::after{content:'';position:absolute;bottom:-2px;left:0;height:3px;width:100%;opacity:0}[data-animation="orbital-glow"] .demo-cell[data-state="correct"] .letter{--glow-color: var(--color-state-correct)}[data-animation="orbital-glow"] .demo-cell[data-state="correct"]::after{background:var(--color-state-correct)}[data-animation="orbital-glow"] .demo-cell[data-state="present"] .letter{--glow-color: var(--color-state-present)}[data-animation="orbital-glow"] .demo-cell[data-state="present"]::after{background:var(--color-state-present)}[data-animation="orbital-glow"] .demo-cell[data-state="absent"] .letter{--glow-color: var(--color-state-absent)}[data-animation="orbital-glow"] .demo-cell[data-state="absent"]::after{background:var(--color-state-absent)}[data-animation="orbital-glow"] .demo-cell.animate::before{animation:orbital-glow-ring 0.5s ease-out forwards}[data-animation="orbital-glow"] .demo-cell.animate .letter{animation:letter-glow-residue 0.7s var(--ease-smooth) 0.2s forwards}[data-animation="orbital-glow"] .demo-cell.animate::after{animation:orbital-reveal 0.3s ease-out 0.4s forwards}@keyframes resonance-ring-outer{0%{opacity:0.3;transform:scale(2)}100%{opacity:0;transform:scale(0.8)}}@keyframes resonance-ring-middle{0%{opacity:0.5;transform:scale(1.6)}100%{opacity:0;transform:scale(0.8)}}@keyframes resonance-ring-inner{0%{opacity:0.7;transform:scale(1.3)}100%{opacity:0;transform:scale(0.8)}}@keyframes resonance-underline{0%{opacity:0}100%{opacity:1}}[data-animation="orbital-resonance"] .demo-cell{overflow:visible;position:relative}[data-animation="orbital-resonance"] .demo-cell::before{content:'';position:absolute;inset:-4px;border:1px solid var(--color-accent);border-radius:50%;opacity:0;transform:scale(2);pointer-events:none}[data-animation="orbital-resonance"] .demo-cell .letter{position:relative;z-index:2}[data-animation="orbital-resonance"] .demo-cell .letter::before{content:'';position:absolute;top:50%;left:50%;width:3rem;height:3rem;margin-top:-1.5rem;margin-left:-1.5rem;border:1px solid var(--color-accent);border-radius:50%;opacity:0;transform:scale(1.6);pointer-events:none}[data-animation="orbital-resonance"] .demo-cell .letter::after{content:'';position:absolute;top:50%;left:50%;width:3rem;height:3rem;margin-top:-1.5rem;margin-left:-1.5rem;border:1px solid var(--color-accent);border-radius:50%;opacity:0;transform:scale(1.3);pointer-events:none}[data-animation="orbital-resonance"] .demo-cell::after{content:'';position:absolute;bottom:-2px;left:0;height:3px;width:100%;opacity:0}[data-animation="orbital-resonance"] .demo-cell[data-state="correct"]::after{background:var(--color-state-correct)}[data-animation="orbital-resonance"] .demo-cell[data-state="present"]::after{background:var(--color-state-present)}[data-animation="orbital-resonance"] .demo-cell[data-state="absent"]::after{background:var(--color-state-absent)}[data-animation="orbital-resonance"] .demo-cell.animate::before{animation:resonance-ring-outer 0.6s ease-out forwards}[data-animation="orbital-resonance"] .demo-cell.animate .letter::before{animation:resonance-ring-middle 0.5s ease-out 0.06s forwards}[data-animation="orbital-resonance"] .demo-cell.animate .letter::after{animation:resonance-ring-inner 0.4s ease-out 0.12s forwards}[data-animation="orbital-resonance"] .demo-cell.animate::after{animation:orbital-reveal 0.3s ease-out 0.4s forwards}@keyframes trail-ring-contract{0%{opacity:0.8;transform:scale(1.4) translateY(0);border-color:var(--color-accent)}60%{opacity:0.6;transform:scale(1) translateY(0);border-color:var(--trail-color, var(--color-accent))}80%{opacity:0.3;transform:scale(0.85) translateY(4px);border-color:var(--trail-color, var(--color-accent))}100%{opacity:0;transform:scale(0.7) translateY(8px);border-color:var(--trail-color, var(--color-accent))}}@keyframes trail-paint-underline{0%{width:0;left:50%;opacity:0;height:2px}30%{opacity:1;height:4px}100%{width:100%;left:0;opacity:1;height:3px}}[data-animation="orbital-trail"] .demo-cell{overflow:visible;position:relative}[data-animation="orbital-trail"] .demo-cell::before{content:'';position:absolute;inset:-6px;border:1.5px solid var(--color-accent);border-radius:50%;opacity:0;transform:scale(1.4);pointer-events:none}[data-animation="orbital-trail"] .demo-cell::after{content:'';position:absolute;bottom:-2px;left:50%;height:2px;width:0;opacity:0}[data-animation="orbital-trail"] .demo-cell[data-state="correct"]{--trail-color: var(--color-state-correct)}[data-animation="orbital-trail"] .demo-cell[data-state="correct"]::after{background:var(--color-state-correct)}[data-animation="orbital-trail"] .demo-cell[data-state="present"]{--trail-color: var(--color-state-present)}[data-animation="orbital-trail"] .demo-cell[data-state="present"]::after{background:var(--color-state-present)}[data-animation="orbital-trail"] .demo-cell[data-state="absent"]{--trail-color: var(--color-state-absent)}[data-animation="orbital-trail"] .demo-cell[data-state="absent"]::after{background:var(--color-state-absent)}[data-animation="orbital-trail"] .demo-cell.animate::before{animation:trail-ring-contract 0.55s var(--ease-smooth) forwards}[data-animation="orbital-trail"] .demo-cell.animate::after{animation:trail-paint-underline 0.4s var(--ease-smooth) 0.35s forwards}.demo-footer{text-align:center;margin-top:3rem;padding-top:2rem;border-top:1px solid var(--color-border)}.btn-back-home{display:inline-flex;align-items:center;gap:0.5rem;padding:0.75rem 1.5rem;color:var(--color-text-muted);text-decoration:none;border:1px solid var(--color-border);border-radius:var(--radius-md);transition:all 0.2s ease;font-family:var(--font-family-base)}.btn-back-home:hover{color:var(--color-text);border-color:var(--color-accent)}.btn-back-home:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}@media (prefers-reduced-motion: reduce){.demo-cell.animate,.demo-cell.animate::before,.demo-cell.animate::after{animation:none !important}.demo-cell.animate::after{opacity:1 !important;width:100% !important}.demo-cell .cell-underline{animation:none !important;clip-path:inset(0) !important;opacity:1 !important}.demo-cell[data-state="absent"] .cell-underline{opacity:var(--ink-absent-opacity, 0.85) !important}.demo-cell .letter{animation:none !important}}@media (max-width: 520px){.animation-demo-page{padding:1.5rem 0.75rem}.demo-header{margin-bottom:2rem}.demo-header h1{font-size:1.5rem}.demo-header .demo-subtitle{font-size:0.875rem}.demo-grid{gap:1.5rem}.demo-card{padding:1.25rem}.demo-card h2{font-size:1.1rem}.demo-cell{width:2.5rem;height:2.5rem;font-size:1.5rem}.ink-demo-page .demo-grid-comparison{grid-template-columns:1fr}.demo-states-grid{grid-template-columns:1fr;gap:1rem}.demo-state-card{padding:1rem}.demo-state-card h3{font-size:0.9rem}.comparison-table{font-size:0.8rem}.comparison-cell{padding:0.5rem 0.75rem}}.attempts-table-wrapper{display:flex;justify-content:center}.attempts-table{width:100%;max-width:480px;border-collapse:collapse}.attempts-table th,.attempts-table td{padding:0.35rem 0.5rem}.attempts-table thead th{font-size:0.85rem;letter-spacing:0.5px;text-transform:uppercase;color:var(--color-text-muted)}.attempts-table tbody tr:nth-child(even){background:var(--color-border);background:color-mix(in srgb, var(--color-text) 4%, transparent)}.attempt-time-cell,.attempt-elapsed,.attempts-total-elapsed{text-align:right;font-variant-numeric:tabular-nums}.attempt-index{width:2.25rem;text-align:right;font-variant-numeric:tabular-nums}.attempt-elapsed{width:4rem}.attempts-total-row{font-weight:600;border-top:2px solid var(--color-border)}.attempt-index-header{text-align:right;width:2.25rem}.attempt-guess-header{text-align:left}.attempt-time-header{text-align:right}.attempt-elapsed-header{text-align:right;width:4rem}.attempt-result-header,.attempt-result{text-align:center}.attempt-result i{display:inline-block;width:1.25rem;text-align:center}body.welcome-page .welcome-container{max-width:640px;margin:3rem auto;padding:0 1rem;text-align:center}body.welcome-page .avatar{width:96px;height:96px;border-radius:50%;margin:0 auto 1rem;display:grid;place-items:center;background:hsl(var(--hue), 70%, 45%);color:var(--color-text-on-colored)}body.welcome-page .avatar i{font-size:42px}body.welcome-page .lead{color:var(--color-text-muted);text-align:left}body.welcome-page .codename-panel{display:flex;flex-direction:row;gap:2rem;align-items:center;justify-content:center;margin:1rem 0}body.welcome-page .codename-panel .btn-recovery-use i{color:var(--color-accent)}body.welcome-page .codename-panel .btn-recovery-use:hover i{color:var(--color-accent-hover)}body.welcome-page .codename{font-weight:700;font-size:1.25rem;padding:0.25rem 0.5rem;border-radius:6px}body.welcome-page .consent-form{margin-top:1rem;text-align:left;display:inline-block;max-width:520px}body.welcome-page .consent-form .consent-section{margin-bottom:1rem;padding:0.75rem 1rem;border-radius:8px;background:var(--color-bg-tint-subtle);border:1px solid var(--color-border-tint-light)}body.welcome-page .consent-form .consent-section--essential{background:var(--color-success-bg-light);border-color:var(--color-success-border-light)}body.welcome-page .consent-form .consent-section--optional{background:var(--color-secondary-bg-subtle);border-color:var(--color-secondary-border-light)}body.welcome-page .consent-form .consent-label{display:flex;align-items:flex-start;gap:0.5rem;cursor:pointer;font-size:0.9rem;line-height:1.4}body.welcome-page .consent-form .consent-label input[type="checkbox"]{margin-top:0.2rem;flex-shrink:0}body.welcome-page .consent-form .consent-note{font-size:0.8rem;color:var(--color-text-muted);margin:0.5rem 0 0 1.5rem;line-height:1.3}body.welcome-page .consent-form .consent-optional-badge{display:inline-block;font-size:0.7rem;font-weight:500;color:var(--color-text-muted);background:var(--color-bg-hover);padding:0.15rem 0.4rem;border-radius:4px;margin-left:0.3rem;vertical-align:middle}body.welcome-page .consent-form .actions{text-align:center;margin-top:1rem}body.welcome-page .error{color:var(--color-error);font-weight:600}body.welcome-page .recovery-info{margin:2rem auto 1.5rem;padding:1.25rem;background:var(--color-bg-hover);border:1px solid var(--color-border);border-radius:8px;text-align:left;max-width:520px}body.welcome-page .recovery-info .recovery-info-title{font-weight:500;font-size:1rem;margin-bottom:0.75rem;color:var(--color-text)}body.welcome-page .recovery-info .recovery-info-title i{margin-right:0.5rem;color:var(--color-accent)}body.welcome-page .recovery-info .recovery-info-text{font-size:0.9rem;line-height:1.5;color:var(--color-text-muted);margin-bottom:0}body.welcome-page .privacy-link-text{margin-top:0.75rem;font-size:0.875rem}body.recover-page .recover-container{max-width:640px;margin:3rem auto;padding:0 1rem;text-align:center}body.recover-page .icon-header{width:96px;height:96px;border-radius:50%;margin:0 auto 1rem;display:grid;place-items:center;background:var(--color-accent);color:var(--color-text-on-colored)}body.recover-page .icon-header i{font-size:42px}body.recover-page h3{margin-top:0;align-self:center}body.recover-page .lead{color:var(--color-text-muted);text-align:center;margin-bottom:2rem}body.recover-page .recovery-form{margin-top:1rem;text-align:left;display:inline-block;width:100%;max-width:400px}body.recover-page .recovery-form .form-group{margin-bottom:1.5rem}body.recover-page .recovery-form .form-group label{display:block;font-weight:600;margin-bottom:0.5rem;text-align:left}body.recover-page .recovery-form .form-group .recovery-code-input{width:100%;padding:0.75rem;font-size:1rem;font-family:var(--font-family-mono);letter-spacing:2px;text-align:center;border:1px solid var(--color-border);border-radius:6px;text-transform:uppercase}body.recover-page .recovery-form .form-group .recovery-code-input:focus{outline:none;border-color:var(--color-accent);box-shadow:0 0 0 3px var(--color-primary-bg-light)}body.recover-page .recovery-form .actions{text-align:center;margin-top:1rem}body.recover-page .recovery-form .btn-recovery i{color:var(--color-accent)}body.recover-page .recovery-form .btn-recovery:hover i{color:var(--color-accent-hover)}body.recover-page .recovery-form .btn-recovery:disabled{opacity:0.5;cursor:not-allowed}body.recover-page .status-message{margin-top:1rem;padding:0.75rem;border-radius:6px;font-weight:600;text-align:center}body.recover-page .status-message.info{background:var(--color-alert-info-bg);color:var(--color-alert-info-text);border:1px solid var(--color-alert-info-border)}body.recover-page .status-message.success{background:var(--color-alert-success-bg);color:var(--color-alert-success-text);border:1px solid var(--color-alert-success-border)}body.recover-page .status-message.success p{margin-bottom:0}body.recover-page .status-message.success .actions{margin-top:1.5rem}body.recover-page .status-message.error{background:var(--color-alert-danger-bg);color:var(--color-alert-danger-text);border:1px solid var(--color-alert-danger-border)}body.recover-page .back-link{margin-top:2rem;font-size:0.875rem}body.recover-page .back-link a{color:var(--color-accent);text-decoration:none}body.recover-page .back-link a i{margin-right:0.5rem}body.recover-page .back-link a:hover{text-decoration:underline}.statistics-section{margin-top:3rem;padding-top:2rem;border-top:2px solid var(--color-border-tint-light)}.statistics-section .statistics-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:1rem}.statistics-section .statistics-header h3{font-size:1.25rem;margin:0}.statistics-section .statistics-header .btn-statistics-refresh{width:2rem;height:2rem;padding:0;display:flex;align-items:center;justify-content:center;border-radius:var(--radius-full);background:var(--color-bg-hover);border:1px solid var(--color-border);color:var(--color-text-muted);cursor:pointer;transition:all 0.2s ease}.statistics-section .statistics-header .btn-statistics-refresh:hover{background:var(--color-accent-light);border-color:var(--color-accent);color:var(--color-accent)}.statistics-section .statistics-header .btn-statistics-refresh i{font-size:0.85rem}.statistics-section h3{font-size:1.25rem;margin-bottom:1rem}.statistics-section .statistics-grid{display:grid;grid-template-columns:repeat(3, 1fr);gap:1rem;margin-bottom:1.5rem}.statistics-section .stat-item{text-align:center;padding:0.75rem;background:var(--color-bg-tint-light);border-radius:8px;transition:transform 0.2s ease, box-shadow 0.2s ease;animation:stat-fade-in 0.4s ease-out both}.statistics-section .stat-item:hover{transform:translateY(-2px);box-shadow:0 4px 12px color-mix(in srgb, var(--color-accent) 15%, transparent)}.statistics-section .stat-item:nth-child(1){animation-delay:0s}.statistics-section .stat-item:nth-child(2){animation-delay:0.05s}.statistics-section .stat-item:nth-child(3){animation-delay:0.1s}.statistics-section .stat-item:nth-child(4){animation-delay:0.15s}.statistics-section .stat-item:nth-child(5){animation-delay:0.2s}.statistics-section .stat-item:nth-child(6){animation-delay:0.25s}.statistics-section .stat-item .stat-value{display:block;font-size:1.5rem;font-weight:bold;color:var(--color-accent)}.statistics-section .stat-item .stat-label{display:block;font-size:0.75rem;color:var(--color-text-muted);margin-top:0.25rem}.statistics-section .stat-item.stat-item--hot-streak .stat-value{display:flex;align-items:center;justify-content:center;gap:0.35rem}.statistics-section .stat-item.stat-item--hot-streak .streak-fire{color:var(--color-state-present);animation:flame-pulse 1.2s ease-in-out infinite;font-size:1.1rem}@keyframes stat-fade-in{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.statistics-section .guess-distribution{margin-bottom:1.5rem}.statistics-section .guess-distribution h4{font-size:1rem;margin-bottom:0.75rem;color:var(--color-text-muted)}.statistics-section .guess-distribution .distribution-bars{display:flex;flex-direction:column;gap:0.5rem}.statistics-section .guess-distribution .distribution-row{display:flex;align-items:center;gap:0.5rem}.statistics-section .guess-distribution .distribution-label{width:1rem;text-align:right;font-weight:bold;font-size:0.875rem}.statistics-section .guess-distribution .distribution-bar-container{flex:1;display:flex;align-items:center;gap:0.5rem}.statistics-section .guess-distribution .distribution-bar{height:1.25rem;background:linear-gradient(90deg, var(--color-accent) 0%, color-mix(in srgb, var(--color-accent) 80%, var(--color-state-correct)) 100%);border-radius:4px;min-width:4px;animation:bar-fade-in 0.4s ease-out both}.statistics-section .guess-distribution .distribution-row:nth-child(1) .distribution-bar{animation-delay:0.1s}.statistics-section .guess-distribution .distribution-row:nth-child(2) .distribution-bar{animation-delay:0.15s}.statistics-section .guess-distribution .distribution-row:nth-child(3) .distribution-bar{animation-delay:0.2s}.statistics-section .guess-distribution .distribution-row:nth-child(4) .distribution-bar{animation-delay:0.25s}.statistics-section .guess-distribution .distribution-row:nth-child(5) .distribution-bar{animation-delay:0.3s}.statistics-section .guess-distribution .distribution-row:nth-child(6) .distribution-bar{animation-delay:0.35s}@keyframes bar-fade-in{from{opacity:0}to{opacity:1}}.statistics-section .guess-distribution .distribution-count{font-size:0.875rem;font-weight:bold;min-width:1.5rem}.statistics-section .statistics-actions{display:flex;gap:2rem;justify-content:center;margin-bottom:1rem}.statistics-section #statistics-status{margin-top:1rem}.recovery-section{margin-top:3rem;padding-top:2rem;border-top:2px solid var(--color-border-tint-light)}.recovery-section h3{font-size:1.25rem;margin-bottom:0.5rem}.recovery-section p{color:var(--color-text-muted);margin-bottom:1.5rem}.recovery-section .recovery-actions{display:flex;gap:2rem;justify-content:center;margin-bottom:1rem}.recovery-section #recovery-code-display{display:none;margin-top:1.25rem;padding:1rem;background:var(--color-alert-success-bg);border:1px solid var(--color-alert-success-border);border-radius:5px}.recovery-section #recovery-code-display.show{display:block}.recovery-section #recovery-code-display p{margin-bottom:0.75rem}.recovery-section #recovery-code-display p:first-of-type{font-weight:bold;color:var(--color-alert-success-text)}.recovery-section #recovery-code-display p:first-of-type i{margin-right:0.5rem}.recovery-section #recovery-code-display p.recovery-warning{color:var(--color-alert-warning-text);font-size:0.875rem}.recovery-section #recovery-code-display p.recovery-warning i{margin-right:0.5rem}.recovery-section #recovery-code-display p.recovery-meta{font-size:0.875rem;color:var(--color-alert-success-text)}.recovery-section #recovery-code-display p.recovery-meta i{margin-right:0.5rem}.recovery-section #recovery-code-display .recovery-code-container{background:var(--color-bg-hover);padding:1rem;border-radius:5px;margin:0.625rem 0;font-family:var(--font-family-mono);font-size:1.125rem;font-weight:bold;text-align:center;position:relative}.recovery-section #recovery-code-display .recovery-code-container code{color:var(--color-text);letter-spacing:2px}.recovery-section #recovery-code-display .recovery-code-container #copy-recovery-btn{position:absolute;right:10px;top:50%;transform:translateY(-50%);background:none;border:none;cursor:pointer;font-size:1.25rem;color:var(--color-accent);transition:color 0.2s ease}.recovery-section #recovery-code-display .recovery-code-container #copy-recovery-btn:hover{color:var(--color-accent-hover)}.recovery-section #recovery-code-display .recovery-code-container #copy-recovery-btn:active{transform:translateY(-50%) scale(0.95)}.recovery-section #recovery-status{margin-top:1rem;font-weight:600}.recovery-section #recovery-status p{margin:0}.status-info{color:var(--color-accent-hover)}.status-info i{margin-right:0.5rem}.status-success{color:var(--color-success);font-weight:bold}.status-success i{margin-right:0.5rem}.status-error{color:var(--color-danger);font-weight:bold}.status-error i{margin-right:0.5rem}@media (prefers-color-scheme: dark){:root:not([data-theme="light"]) .statistics-section{border-top-color:var(--color-border)}:root:not([data-theme="light"]) .statistics-section .stat-item{background:var(--color-bg-hover)}:root:not([data-theme="light"]) .recovery-section{border-top-color:var(--color-border)}:root:not([data-theme="light"]) .status-error{color:var(--color-error)}}[data-theme="dark"] .statistics-section{border-top-color:var(--color-border)}[data-theme="dark"] .statistics-section .stat-item{background:var(--color-bg-hover)}[data-theme="dark"] .recovery-section{border-top-color:var(--color-border)}[data-theme="dark"] .status-error{color:var(--color-error)}.copy-success{color:var(--color-success)}@media (prefers-color-scheme: dark){.copy-success{color:var(--color-success)}}.gdpr-section{margin-top:3rem;padding-top:2rem;border-top:2px solid var(--color-border-tint-light)}.gdpr-section h3{font-size:1.25rem;margin-bottom:0.5rem}.gdpr-section p{color:var(--color-text-muted);margin-bottom:1.5rem}.gdpr-section .gdpr-actions{display:flex;gap:2rem;justify-content:center;margin-bottom:1rem}.gdpr-section #delete-confirmation{display:none;border:1px solid var(--color-alert-warning-border);background:var(--color-alert-warning-bg);border-radius:5px;padding:1rem;margin-top:1rem}.gdpr-section #delete-confirmation p{color:var(--color-alert-warning-text);font-weight:bold;margin-bottom:1rem}.gdpr-section #delete-confirmation p i{margin-right:0.5rem}.gdpr-section #delete-confirmation button{display:inline-flex;align-items:center;gap:0.5rem;padding:0.5rem 1rem;border-radius:6px;font-weight:600;cursor:pointer;border:none;margin-right:0.5rem;transition:background-color 0.2s ease, opacity 0.2s ease}.gdpr-section #delete-confirmation button.btn-danger{background:var(--color-btn-danger);color:var(--color-text-on-colored)}.gdpr-section #delete-confirmation button.btn-danger:hover{background:var(--color-btn-danger-hover)}.gdpr-section #delete-confirmation button.btn-danger:disabled{background:var(--color-disabled);cursor:not-allowed;opacity:0.6}.gdpr-section #delete-confirmation button.btn-secondary{background:var(--color-text-muted);color:var(--color-text-on-colored)}.gdpr-section #delete-confirmation button.btn-secondary:hover{background:var(--color-text-subtle)}.gdpr-section #delete-status{margin-top:1rem;font-weight:600}.gdpr-section #delete-status p{margin:0}@media (prefers-color-scheme: dark){:root:not([data-theme="light"]) .gdpr-section{border-top-color:var(--color-border)}}[data-theme="dark"] .gdpr-section{border-top-color:var(--color-border)}.privacy-data-section{margin-top:2rem;padding-top:1.5rem;border-top:2px solid var(--color-border-tint-light)}.privacy-data-section>h3{font-size:1.25rem;margin-bottom:0.25rem;color:var(--color-text)}.privacy-data-section>.section-subtitle{color:var(--color-text-muted);margin-bottom:1.5rem;font-size:0.9rem}.privacy-data-section .privacy-card{margin-bottom:1rem;padding:1.25rem}.privacy-data-section .privacy-card .privacy-card-title{display:flex;align-items:center;gap:0.5rem;font-size:1rem;font-weight:600;margin:0 0 0.75rem 0;color:var(--color-text)}.privacy-data-section .privacy-card .privacy-card-title i{color:var(--color-accent)}.privacy-data-section .privacy-card .privacy-card-description{color:var(--color-text-muted);margin-bottom:1rem;font-size:0.9rem}.privacy-data-section .privacy-card .recovery-actions{display:flex;gap:1.5rem;justify-content:flex-start;margin-bottom:1rem}.privacy-data-section .privacy-card .gdpr-actions{display:flex;gap:1.5rem;justify-content:flex-start;margin-bottom:1rem}.privacy-data-section .privacy-card .game-action-item{flex:1;max-width:140px;display:flex;flex-direction:column;align-items:center;gap:0.5rem}.privacy-data-section .privacy-card .game-action-item .action-label{font-size:0.75rem;font-weight:600;color:var(--color-text);text-align:center;line-height:1.3;white-space:normal;word-wrap:break-word;overflow-wrap:break-word;hyphens:auto}.privacy-data-section .privacy-card #recovery-code-display{display:none;margin-top:1rem;padding:1rem;background:var(--color-alert-success-bg);border:1px solid var(--color-alert-success-border);border-radius:var(--radius-md)}.privacy-data-section .privacy-card #recovery-code-display.show{display:block}.privacy-data-section .privacy-card #recovery-code-display p{margin-bottom:0.5rem;font-size:0.9rem}.privacy-data-section .privacy-card #recovery-code-display p:first-of-type{font-weight:bold;color:var(--color-alert-success-text)}.privacy-data-section .privacy-card #recovery-code-display p:first-of-type i{margin-right:0.5rem}.privacy-data-section .privacy-card #recovery-code-display p.recovery-warning{color:var(--color-alert-warning-text);font-size:0.85rem}.privacy-data-section .privacy-card #recovery-code-display p.recovery-warning i{margin-right:0.5rem}.privacy-data-section .privacy-card #recovery-code-display p.recovery-meta{font-size:0.85rem;color:var(--color-alert-success-text)}.privacy-data-section .privacy-card #recovery-code-display p.recovery-meta i{margin-right:0.5rem}.privacy-data-section .privacy-card #recovery-code-display .recovery-code-container{background:var(--color-bg-hover);padding:0.75rem 1rem;border-radius:var(--radius-sm);margin:0.5rem 0;font-family:var(--font-family-mono);font-size:1rem;font-weight:bold;text-align:center;position:relative}.privacy-data-section .privacy-card #recovery-code-display .recovery-code-container code{color:var(--color-text);letter-spacing:2px}.privacy-data-section .privacy-card #recovery-code-display .recovery-code-container #copy-recovery-btn{position:absolute;right:8px;top:50%;transform:translateY(-50%);background:none;border:none;cursor:pointer;font-size:1.1rem;color:var(--color-accent);transition:color 0.2s ease}.privacy-data-section .privacy-card #recovery-code-display .recovery-code-container #copy-recovery-btn:hover{color:var(--color-accent-hover)}.privacy-data-section .privacy-card #delete-confirmation{display:none;border:1px solid var(--color-alert-warning-border);background:var(--color-alert-warning-bg);border-radius:var(--radius-md);padding:1rem;margin-top:1rem}.privacy-data-section .privacy-card #delete-confirmation p{color:var(--color-alert-warning-text);font-weight:600;margin-bottom:1rem;font-size:0.9rem}.privacy-data-section .privacy-card #delete-confirmation p i{margin-right:0.5rem}.privacy-data-section .privacy-card #delete-confirmation button{display:inline-flex;align-items:center;gap:0.5rem;padding:0.5rem 1rem;border-radius:var(--radius-sm);font-weight:600;cursor:pointer;border:none;margin-right:0.5rem;transition:background-color 0.2s ease}.privacy-data-section .privacy-card #delete-confirmation button.btn-danger{background:var(--color-btn-danger);color:var(--color-text-on-colored)}.privacy-data-section .privacy-card #delete-confirmation button.btn-danger:hover{background:var(--color-btn-danger-hover)}.privacy-data-section .privacy-card #delete-confirmation button.btn-secondary{background:var(--color-text-muted);color:var(--color-text-on-colored)}.privacy-data-section .privacy-card #delete-confirmation button.btn-secondary:hover{background:var(--color-text-subtle)}.privacy-data-section .privacy-card #delete-status,.privacy-data-section .privacy-card #recovery-status{margin-top:1rem;font-weight:600}.settings-link-section{margin-top:1.5rem}.settings-link-section .settings-link{display:flex;align-items:center;gap:1rem;padding:1rem 1.25rem;background:var(--color-bg-elevated);border-radius:var(--radius-md);border:1px solid var(--color-border);text-decoration:none;transition:background-color 0.2s ease, border-color 0.2s ease}.settings-link-section .settings-link:hover{background:var(--color-bg-hover);border-color:var(--color-accent)}.settings-link-section .settings-link .settings-link-icon{display:flex;align-items:center;justify-content:center;width:2.5rem;height:2.5rem;background:var(--color-accent-light);border-radius:var(--radius-sm);flex-shrink:0}.settings-link-section .settings-link .settings-link-icon i{font-size:1.25rem;color:var(--color-accent)}.settings-link-section .settings-link .settings-link-content{flex:1}.settings-link-section .settings-link .settings-link-title{display:block;font-weight:600;color:var(--color-text);font-size:1rem}.settings-link-section .settings-link .settings-link-description{display:block;font-size:0.85rem;color:var(--color-text-muted);margin-top:0.125rem}.settings-link-section .settings-link .settings-link-arrow{color:var(--color-text-muted);font-size:1rem}.navigation-cards-section{margin-top:2rem;padding-top:1.5rem;border-top:1px solid var(--color-border)}.navigation-cards{display:grid;grid-template-columns:repeat(auto-fit, minmax(280px, 1fr));gap:1rem}.navigation-cards .settings-link{display:flex;align-items:center;gap:1rem;padding:1rem 1.25rem;background:var(--color-bg-elevated);border-radius:var(--radius-md);border:1px solid var(--color-border);text-decoration:none;transition:background-color 0.2s ease, border-color 0.2s ease, transform 0.15s ease}.navigation-cards .settings-link:hover{background:var(--color-bg-hover);border-color:var(--color-accent);transform:translateY(-2px)}.navigation-cards .settings-link .settings-link-icon{display:flex;align-items:center;justify-content:center;width:2.5rem;height:2.5rem;background:var(--color-accent-light);border-radius:var(--radius-sm);flex-shrink:0}.navigation-cards .settings-link .settings-link-icon i{font-size:1.25rem;color:var(--color-accent)}.navigation-cards .settings-link .settings-link-content{flex:1}.navigation-cards .settings-link .settings-link-title{display:block;font-weight:600;color:var(--color-text);font-size:1rem}.navigation-cards .settings-link .settings-link-description{display:block;font-size:0.85rem;color:var(--color-text-muted);margin-top:0.125rem}.navigation-cards .settings-link .settings-link-arrow{color:var(--color-text-muted);font-size:1rem}.privacy-data-page{min-height:100vh;background:var(--color-bg)}.privacy-data-container{max-width:640px;margin:0 auto;padding:1rem 1rem 2rem}.privacy-data-header{text-align:center;margin-bottom:2rem}.privacy-data-header h1{font-size:1.75rem;font-weight:700;color:var(--color-text);margin-bottom:0.5rem}.privacy-data-header .privacy-data-subtitle{color:var(--color-text-muted);font-size:0.95rem}.privacy-data-section{margin-bottom:1rem;animation:zen-fade-in 0.4s ease-out forwards;opacity:0}.privacy-data-section:nth-child(1){animation-delay:0.1s}.privacy-data-section:nth-child(2){animation-delay:0.15s}.privacy-data-section:nth-child(3){animation-delay:0.2s}.privacy-data-section:nth-child(4){animation-delay:0.25s}.privacy-data-section:nth-child(5){animation-delay:0.3s}.privacy-data-section:nth-child(6){animation-delay:0.35s}.privacy-data-section .privacy-card{padding:1.25rem;background:var(--color-bg-elevated);border-radius:var(--radius-lg);border:1px solid var(--color-border);box-shadow:var(--shadow-md)}.privacy-data-section .privacy-card--elevated{border-color:var(--color-accent);box-shadow:var(--shadow-lg)}.privacy-data-section .privacy-card .privacy-card-title{display:flex;align-items:center;gap:0.5rem;font-size:1rem;font-weight:600;margin:0 0 0.75rem 0;color:var(--color-text)}.privacy-data-section .privacy-card .privacy-card-title i{color:var(--color-accent)}.privacy-data-section .privacy-card .privacy-card-description{color:var(--color-text-muted);margin-bottom:1rem;font-size:0.9rem}.privacy-data-section .privacy-card .recovery-actions{display:flex;gap:1.5rem;justify-content:flex-start;margin-bottom:1rem}.privacy-data-section .privacy-card .gdpr-actions{display:flex;gap:1.5rem;justify-content:flex-start;margin-bottom:1rem}.privacy-data-section .privacy-card .game-action-item{flex:1;max-width:140px;display:flex;flex-direction:column;align-items:center;gap:0.5rem}.privacy-data-section .privacy-card .game-action-item .action-label{font-size:0.75rem;font-weight:600;color:var(--color-text);text-align:center;line-height:1.3;white-space:normal;word-wrap:break-word;overflow-wrap:break-word;hyphens:auto}.privacy-data-section .privacy-card #recovery-code-display{margin-top:1rem;padding:1rem;background:var(--color-alert-success-bg);border:1px solid var(--color-alert-success-border);border-radius:var(--radius-md)}.privacy-data-section .privacy-card #recovery-code-display:not(.has-code){display:none}.privacy-data-section .privacy-card #recovery-code-display p{margin-bottom:0.5rem;font-size:0.9rem}.privacy-data-section .privacy-card #recovery-code-display p:first-of-type{font-weight:bold;color:var(--color-alert-success-text)}.privacy-data-section .privacy-card #recovery-code-display p:first-of-type i{margin-right:0.5rem}.privacy-data-section .privacy-card #recovery-code-display p.recovery-warning{color:var(--color-alert-warning-text);font-size:0.85rem}.privacy-data-section .privacy-card #recovery-code-display p.recovery-warning i{margin-right:0.5rem}.privacy-data-section .privacy-card #recovery-code-display p.recovery-meta{font-size:0.85rem;color:var(--color-text-muted);margin-bottom:0.25rem}.privacy-data-section .privacy-card #recovery-code-display p.recovery-meta strong{color:var(--color-text)}.privacy-data-section .privacy-card #recovery-code-display .recovery-code-container{display:flex;align-items:center;gap:0.5rem;margin-bottom:0.75rem}.privacy-data-section .privacy-card #recovery-code-display .recovery-code-container code{font-family:var(--font-family-mono);font-size:1.25rem;padding:0.5rem 1rem;background:var(--color-bg);border-radius:var(--radius-sm);letter-spacing:2px;flex:1;text-align:center}.privacy-data-section .privacy-card #recovery-code-display .recovery-code-container button{background:transparent;border:none;color:var(--color-accent);cursor:pointer;padding:0.5rem;border-radius:var(--radius-sm);transition:background-color 0.15s ease}.privacy-data-section .privacy-card #recovery-code-display .recovery-code-container button:hover{background:var(--color-bg-hover)}.privacy-data-section .privacy-card #delete-confirmation{display:none;margin-top:1rem;padding:1rem;background:var(--color-alert-error-bg);border:1px solid var(--color-alert-error-border);border-radius:var(--radius-md)}.privacy-data-section .privacy-card #delete-confirmation.is-visible{display:block}.privacy-data-section .privacy-card #delete-confirmation p{color:var(--color-alert-error-text);margin-bottom:1rem;font-size:0.9rem}.privacy-data-section .privacy-card #delete-confirmation p i{margin-right:0.5rem}.privacy-data-section .privacy-card #delete-confirmation .btn{margin-right:0.5rem;margin-bottom:0.5rem}.privacy-data-section .settings-link{display:flex;align-items:center;gap:1rem;padding:0;text-decoration:none;color:inherit;transition:opacity 0.15s ease}.privacy-data-section .settings-link:hover{opacity:0.8}.privacy-data-section .settings-link .settings-link-icon{display:flex;align-items:center;justify-content:center;width:2.5rem;height:2.5rem;background:var(--color-accent-light);border-radius:var(--radius-sm);flex-shrink:0}.privacy-data-section .settings-link .settings-link-icon i{font-size:1.25rem;color:var(--color-accent)}.privacy-data-section .settings-link .settings-link-content{flex:1}.privacy-data-section .settings-link .settings-link-title{display:block;font-weight:600;color:var(--color-text);font-size:1rem}.privacy-data-section .settings-link .settings-link-description{display:block;font-size:0.85rem;color:var(--color-text-muted);margin-top:0.125rem}.privacy-data-section .settings-link .settings-link-arrow{color:var(--color-text-muted);font-size:1rem}@keyframes zen-fade-in{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@media (prefers-color-scheme: dark){:root:not([data-theme="light"]) .privacy-data-section{border-top-color:var(--color-border)}}[data-theme="dark"] .privacy-data-section{border-top-color:var(--color-border)}body.daily-challenge-page .daily-challenge-container{max-width:640px;margin:1rem auto;padding:0 1rem}body.daily-challenge-page .challenge-header{text-align:center;margin-bottom:1rem}body.daily-challenge-page .challenge-header .challenge-icon{margin-bottom:0.75rem;color:var(--color-accent)}body.daily-challenge-page .challenge-header .challenge-icon--svg{width:48px;height:48px;margin:0 auto}body.daily-challenge-page .challenge-header .challenge-icon--svg svg{width:100%;height:100%}body.daily-challenge-page .challenge-header .challenge-title{font-size:1.75rem;font-weight:700;margin-bottom:0.5rem;color:var(--color-text)}body.daily-challenge-page .challenge-header .challenge-date{font-size:1rem;color:var(--color-text-muted);margin:0}body.daily-challenge-page .challenge-status{margin-bottom:2rem;padding:2rem;border:1px solid var(--color-border);border-radius:8px;background:var(--color-bg-tint-subtle)}body.daily-challenge-page .challenge-status .status-loading,body.daily-challenge-page .challenge-status .status-pending,body.daily-challenge-page .challenge-status .status-completed,body.daily-challenge-page .challenge-status .status-error{text-align:center}body.daily-challenge-page .challenge-status .status-loading i,body.daily-challenge-page .challenge-status .status-pending i,body.daily-challenge-page .challenge-status .status-completed i,body.daily-challenge-page .challenge-status .status-error i{font-size:3rem;margin-bottom:1rem;display:block}body.daily-challenge-page .challenge-status .status-loading p,body.daily-challenge-page .challenge-status .status-pending p,body.daily-challenge-page .challenge-status .status-completed p,body.daily-challenge-page .challenge-status .status-error p{margin:0.5rem 0;font-size:1.125rem}body.daily-challenge-page .challenge-status .status-loading i{color:var(--color-accent)}body.daily-challenge-page .challenge-status .status-pending i{color:var(--color-warning)}body.daily-challenge-page .challenge-status .status-pending .btn-play-challenge{display:inline-flex;align-items:center;gap:0.5rem;margin-top:1rem;padding:0.75rem 1.5rem;background:var(--color-btn-success);color:var(--color-text-on-colored);border:none;border-radius:6px;font-weight:600;font-size:1rem;cursor:pointer;text-decoration:none;transition:background 0.2s ease}body.daily-challenge-page .challenge-status .status-pending .btn-play-challenge:hover{background:var(--color-btn-success-hover)}body.daily-challenge-page .challenge-status .status-pending .btn-play-challenge i{font-size:1rem;margin:0;display:inline}body.daily-challenge-page .challenge-status .status-completed i{color:var(--color-success)}body.daily-challenge-page .challenge-status .status-completed .status-score,body.daily-challenge-page .challenge-status .status-completed .status-rank{font-weight:600;color:var(--color-accent);margin:0.25rem 0}body.daily-challenge-page .challenge-status .status-completed .btn-share-challenge{display:inline-flex;align-items:center;gap:0.5rem;margin-top:1rem;padding:0.75rem 1.5rem;background:var(--color-accent);color:var(--color-text-on-colored);border:none;border-radius:6px;font-weight:600;font-size:1rem;cursor:pointer;transition:background 0.2s ease}body.daily-challenge-page .challenge-status .status-completed .btn-share-challenge:hover{background:var(--color-accent-hover)}body.daily-challenge-page .challenge-status .status-completed .btn-share-challenge:disabled{background:var(--color-btn-success);cursor:not-allowed}body.daily-challenge-page .challenge-status .status-completed .btn-share-challenge i{font-size:1rem}body.daily-challenge-page .challenge-status .status-error i{color:var(--color-error)}body.daily-challenge-page .challenge-status .status-error p{color:var(--color-error)}body.daily-challenge-page .challenge-leaderboard{margin-bottom:2rem}body.daily-challenge-page .challenge-leaderboard.is-hidden{display:none}body.daily-challenge-page .challenge-leaderboard .leaderboard-title{font-size:1.5rem;font-weight:700;margin-bottom:1rem;text-align:center;color:var(--color-text)}body.daily-challenge-page .challenge-leaderboard .leaderboard-container{border:1px solid var(--color-border);border-radius:8px;overflow:hidden}body.daily-challenge-page .challenge-leaderboard .leaderboard-entry{display:grid;grid-template-columns:3rem 1fr 5rem 4rem;gap:0.75rem;padding:0.75rem 1rem;border-bottom:1px solid var(--color-border);align-items:center;background:var(--color-bg-tint-subtle);transition:background 0.2s ease}body.daily-challenge-page .challenge-leaderboard .leaderboard-entry:last-child{border-bottom:none}body.daily-challenge-page .challenge-leaderboard .leaderboard-entry:hover{background:var(--color-bg-tint-light)}body.daily-challenge-page .challenge-leaderboard .leaderboard-entry.is-current-player{background:var(--color-primary-bg-light);border-left:4px solid var(--color-accent);padding-left:calc(1rem - 4px)}body.daily-challenge-page .challenge-leaderboard .leaderboard-entry.is-current-player .entry-username{font-weight:700;color:var(--color-accent)}body.daily-challenge-page .challenge-leaderboard .leaderboard-entry .entry-rank{font-weight:700;font-size:1rem;text-align:center;color:var(--color-text-muted)}body.daily-challenge-page .challenge-leaderboard .leaderboard-entry .entry-username{font-size:0.95rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}body.daily-challenge-page .challenge-leaderboard .leaderboard-entry .entry-score{font-variant-numeric:tabular-nums;font-weight:600;text-align:right;color:var(--color-text)}body.daily-challenge-page .challenge-leaderboard .leaderboard-entry .entry-attempts{font-variant-numeric:tabular-nums;text-align:right;color:var(--color-text-muted);font-size:0.9rem}body.daily-challenge-page .challenge-leaderboard .leaderboard-entry .entry-time{font-variant-numeric:tabular-nums;text-align:right;color:var(--color-text-muted);font-size:0.9rem}body.daily-challenge-page .challenge-screen.is-hidden{display:none}body.daily-challenge-page .status-loading,body.daily-challenge-page .status-error{text-align:center;padding:3rem 1rem}body.daily-challenge-page .status-loading i,body.daily-challenge-page .status-error i{margin-bottom:1rem;color:var(--color-accent)}body.daily-challenge-page .status-loading p,body.daily-challenge-page .status-error p{font-size:1.1rem;color:var(--color-text-muted);margin:0}body.daily-challenge-page .status-error i{color:var(--color-danger)}body.daily-challenge-page .status-error p{color:var(--color-danger)}body.daily-challenge-page .challenge-rules{background:var(--color-primary-bg-subtle);border:1px solid var(--color-primary-border-light);border-radius:8px;padding:1rem;margin-bottom:1rem;transition:border-color 0.2s ease, box-shadow 0.2s ease}body.daily-challenge-page .challenge-rules:hover{border-color:var(--color-border)}body.daily-challenge-page .challenge-rules summary{font-size:1.1rem;font-weight:600;margin:0 0 1rem;color:var(--color-text);cursor:pointer;list-style:none;display:flex;align-items:center;justify-content:space-between;padding:0.25rem 0;border-radius:4px;transition:color 0.2s ease}body.daily-challenge-page .challenge-rules summary::-webkit-details-marker{display:none}body.daily-challenge-page .challenge-rules summary::after{content:'\f078';font-family:'Font Awesome 6 Pro';font-weight:300;font-size:0.75rem;color:var(--color-text-muted);transition:transform var(--anim-duration-base) var(--ease-bounce);width:1.5rem;height:1.5rem;display:flex;align-items:center;justify-content:center;border-radius:50%;background:var(--color-bg-hover)}body.daily-challenge-page .challenge-rules summary:hover::after{background:var(--color-border)}body.daily-challenge-page .challenge-rules summary:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}body.daily-challenge-page .challenge-rules[open] summary{margin-bottom:1rem}body.daily-challenge-page .challenge-rules[open] summary::after{transform:rotate(180deg)}body.daily-challenge-page .challenge-rules:not([open]) summary{margin-bottom:0}body.daily-challenge-page .challenge-rules .rules-list{list-style:none;padding:0;margin:0;animation:accordion-open 0.3s ease-out}body.daily-challenge-page .challenge-rules .rules-list li{display:flex;align-items:flex-start;gap:0.75rem;padding:0.5rem 0;font-size:0.95rem;color:var(--color-text)}body.daily-challenge-page .challenge-rules .rules-list li i{color:var(--color-accent);width:1rem;text-align:center;flex-shrink:0;margin-top:0.125rem}@keyframes accordion-open{from{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}@media (max-height: 700px){body.daily-challenge-page .challenge-rules:not([open]){padding:0.75rem 1rem}body.daily-challenge-page .challenge-rules summary{font-size:1rem;margin-bottom:0}body.daily-challenge-page .challenge-rules[open] summary{margin-bottom:0.75rem}body.daily-challenge-page .challenge-rules .rules-list li{padding:0.35rem 0;font-size:0.875rem}}@media (prefers-reduced-motion: reduce){body.daily-challenge-page .challenge-rules .rules-list{animation:none}body.daily-challenge-page .challenge-rules summary::after{transition:none}}body.daily-challenge-page .challenge-word-info{text-align:center;margin-bottom:1rem;font-size:1.1rem;color:var(--color-text-muted)}body.daily-challenge-page .challenge-word-info strong{font-size:1.5rem;color:var(--color-accent)}body.daily-challenge-page .btn-start-challenge{display:flex;align-items:center;justify-content:center;gap:0.5rem;width:100%;max-width:300px;margin:0 auto;padding:1rem 2rem;font-size:1.1rem;font-weight:600;background:var(--color-btn-success);color:var(--color-text-on-colored);border:none;border-radius:8px;cursor:pointer;transition:background-color 0.2s ease, transform 0.2s ease}body.daily-challenge-page .btn-start-challenge:hover{background:var(--color-btn-success-hover);transform:translateY(-1px)}body.daily-challenge-page .game-stats{display:flex;justify-content:center;gap:3rem;margin-bottom:2rem;padding:1rem;background:var(--color-bg-tint-subtle);border-radius:8px}body.daily-challenge-page .game-stats .stat-item{display:flex;flex-direction:column;align-items:center;text-align:center}body.daily-challenge-page .game-stats .stat-item i{font-size:1.5rem;margin-bottom:0.25rem;color:var(--color-text-muted)}body.daily-challenge-page .game-stats .stat-item .stat-label{font-size:0.8rem;text-transform:uppercase;letter-spacing:0.05em;color:var(--color-text-muted);margin-bottom:0.25rem}body.daily-challenge-page .game-stats .stat-item .stat-value{font-size:1.75rem;font-weight:700;font-variant-numeric:tabular-nums;color:var(--color-text)}body.daily-challenge-page .game-stats .stat-item .stat-value.warning{color:var(--color-danger);animation:pulse 1s infinite}body.daily-challenge-page .game-stats .stat-points i{color:var(--color-warning)}body.daily-challenge-page .game-stats .stat-timer i{color:var(--color-accent)}@keyframes pulse{0%,100%{opacity:1}50%{opacity:0.6}}body.daily-challenge-page .letter-pool-section{margin-bottom:2rem;text-align:center}body.daily-challenge-page .letter-pool-section h4{font-size:1rem;font-weight:600;color:var(--color-text);margin:0 0 0.25rem}body.daily-challenge-page .letter-pool-section .letter-pool-hint{font-size:0.85rem;color:var(--color-text-muted);margin:0 0 1rem}body.daily-challenge-page .letter-pool{display:flex;flex-wrap:wrap;justify-content:center;gap:0.5rem}body.daily-challenge-page .letter-pool .letter-tile{width:3rem;height:3rem;display:flex;align-items:center;justify-content:center;font-size:1.25rem;font-weight:700;background:var(--color-bg-elevated);border:2px solid var(--color-accent);border-radius:8px;color:var(--color-accent);cursor:pointer;transition:background-color 0.2s ease, color 0.2s ease, border-color 0.2s ease, transform 0.2s ease, box-shadow 0.2s ease, opacity 0.2s ease}body.daily-challenge-page .letter-pool .letter-tile:hover:not(:disabled){background:var(--color-accent);color:var(--color-text-on-colored);transform:translateY(-2px);box-shadow:0 4px 8px var(--color-primary-shadow)}body.daily-challenge-page .letter-pool .letter-tile.bought,body.daily-challenge-page .letter-pool .letter-tile:disabled{background:var(--color-bg-hover);border-color:var(--color-border);color:var(--color-text-muted);cursor:not-allowed;opacity:0.6}body.daily-challenge-page .word-reveal-section{margin-bottom:1.5rem;text-align:center}body.daily-challenge-page .word-reveal-section.is-hidden{display:none}body.daily-challenge-page .word-reveal-section h4{font-size:0.9rem;font-weight:600;color:var(--color-success);margin:0 0 0.5rem}body.daily-challenge-page .word-reveal-row{display:flex;flex-direction:row;flex-wrap:nowrap;justify-content:center;align-items:center;gap:0.25rem;width:100%;max-width:100%}body.daily-challenge-page .word-reveal-row .reveal-tile{flex:1 1 0;min-width:0;max-width:2.5rem;height:2.5rem;display:flex;align-items:center;justify-content:center;font-size:1.25rem;font-weight:700;color:var(--color-reveal-tile-text);box-sizing:border-box;border-bottom:3px solid var(--color-reveal-tile-border);background:var(--color-reveal-tile-bg);border-radius:4px}body.daily-challenge-page .word-reveal-row .reveal-tile.revealed{color:var(--color-alert-success-text);border-bottom-color:var(--color-success)}body.daily-challenge-page .word-reveal-row .reveal-tile.revealed.hidden{color:var(--color-warning);border-bottom-color:var(--color-warning)}body.daily-challenge-page .word-reveal-row .reveal-tile.empty{color:transparent}@media (max-width: 400px){body.daily-challenge-page .word-reveal-row{gap:0.15rem}body.daily-challenge-page .word-reveal-row .reveal-tile{max-width:1.75rem;height:2rem;font-size:1rem;border-bottom-width:2px}}@media (max-width: 340px){body.daily-challenge-page .word-reveal-row{gap:0.1rem}body.daily-challenge-page .word-reveal-row .reveal-tile{max-width:1.5rem;height:1.75rem;font-size:0.875rem}}body.daily-challenge-page .hidden-letter-section{text-align:center;margin-bottom:2rem}body.daily-challenge-page .hidden-letter-section .btn-buy-hidden{display:inline-flex;align-items:center;gap:0.5rem;padding:0.75rem 1.5rem;font-size:1rem;font-weight:500;background:var(--color-text-muted);color:var(--color-text-on-colored);border:none;border-radius:6px;cursor:pointer;transition:background-color 0.2s ease}body.daily-challenge-page .hidden-letter-section .btn-buy-hidden .cost{font-size:0.85rem;opacity:0.8}body.daily-challenge-page .hidden-letter-section .btn-buy-hidden:hover{background:var(--color-text-subtle)}body.daily-challenge-page .guess-section{margin-bottom:2rem}body.daily-challenge-page .guess-section label{display:block;font-size:0.9rem;font-weight:500;color:var(--color-text);margin-bottom:0.5rem;text-align:center}body.daily-challenge-page .guess-section .guess-input-wrapper{display:flex;gap:0.5rem;max-width:400px;margin:0 auto}body.daily-challenge-page .guess-section .guess-input{flex:1;padding:0.75rem 1rem;font-size:1.1rem;font-weight:600;text-transform:uppercase;letter-spacing:0.1em;border:2px solid var(--color-border);border-radius:6px;text-align:center;transition:border-color 0.2s ease, box-shadow 0.2s ease}body.daily-challenge-page .guess-section .guess-input:focus{outline:none;border-color:var(--color-accent);box-shadow:var(--shadow-focus)}body.daily-challenge-page .guess-section .btn-submit-guess{display:flex;align-items:center;justify-content:center;width:44px;height:44px;padding:0;font-size:1.25rem;background:var(--color-btn-success);color:var(--color-text-on-colored);border:none;border-radius:6px;cursor:pointer;transition:background 0.2s ease;flex-shrink:0}body.daily-challenge-page .guess-section .btn-submit-guess:hover{background:var(--color-btn-success-hover)}body.daily-challenge-page .result-header{text-align:center;margin-bottom:2rem}body.daily-challenge-page .result-header .result-icon{margin-bottom:1rem}body.daily-challenge-page .result-header .result-icon.win{color:var(--color-success)}body.daily-challenge-page .result-header .result-icon.lose{color:var(--color-danger)}body.daily-challenge-page .result-header .result-title{font-size:1.75rem;font-weight:700;margin:0}body.daily-challenge-page .result-header .result-title.win{color:var(--color-success)}body.daily-challenge-page .result-header .result-title.lose{color:var(--color-danger)}body.daily-challenge-page .result-word{text-align:center;margin-bottom:2rem}body.daily-challenge-page .result-word p{font-size:1rem;color:var(--color-text-muted);margin:0 0 0.5rem}body.daily-challenge-page .result-word .target-word{display:block;font-size:2rem;font-weight:700;letter-spacing:0.1em;color:var(--color-text)}body.daily-challenge-page .result-stats,body.daily-challenge-page .completed-stats{background:var(--color-bg-tint-subtle);border-radius:8px;padding:1.5rem;margin-bottom:2rem}body.daily-challenge-page .result-stats .stat-row,body.daily-challenge-page .completed-stats .stat-row{display:flex;justify-content:space-between;padding:0.5rem 0;border-bottom:1px solid var(--color-border-tint-light)}body.daily-challenge-page .result-stats .stat-row:last-child,body.daily-challenge-page .completed-stats .stat-row:last-child{border-bottom:none}body.daily-challenge-page .result-stats .stat-row .stat-label,body.daily-challenge-page .completed-stats .stat-row .stat-label{color:var(--color-text-muted)}body.daily-challenge-page .result-stats .stat-row .stat-value,body.daily-challenge-page .completed-stats .stat-row .stat-value{font-weight:600;color:var(--color-text)}body.daily-challenge-page .result-stats .completed-note,body.daily-challenge-page .completed-stats .completed-note{text-align:center;color:var(--color-text-muted);font-style:italic;margin:1rem 0 0}body.daily-challenge-page .completed-message{text-align:center;margin-bottom:2rem}body.daily-challenge-page .completed-message i{color:var(--color-success);margin-bottom:1rem}body.daily-challenge-page .completed-message p{font-size:1.1rem;color:var(--color-text-muted);margin:0}body.daily-challenge-page .result-actions{text-align:center;margin-bottom:2rem}body.daily-challenge-page .result-actions .btn-share-challenge{display:inline-flex;align-items:center;gap:0.5rem;padding:0.75rem 1.5rem;font-size:1rem;font-weight:600;background:var(--color-accent);color:var(--color-text-on-colored);border:none;border-radius:6px;cursor:pointer;transition:background 0.2s ease}body.daily-challenge-page .result-actions .btn-share-challenge:hover{background:var(--color-accent-hover)}body.daily-challenge-page .streak-display{text-align:center;margin:1rem 0}body.daily-challenge-page .streak-display.is-hidden{display:none}body.daily-challenge-page .result-streak,body.daily-challenge-page .completed-streak{margin:1rem 0}body.daily-challenge-page .result-streak.is-hidden,body.daily-challenge-page .completed-streak.is-hidden{display:none}body.daily-challenge-page .come-back-tomorrow{text-align:center;padding:1.5rem 1rem;margin:1.5rem 0;background:linear-gradient(135deg, var(--color-primary-bg-light) 0%, var(--color-primary-bg-subtle) 100%);border:1px solid var(--color-primary-border-light);border-radius:12px}body.daily-challenge-page .come-back-tomorrow .come-back-message{font-size:1.1rem;font-weight:600;color:var(--color-text);margin:0 0 0.75rem}body.daily-challenge-page .come-back-tomorrow .come-back-message i{color:var(--color-warning);margin-right:0.5rem}body.daily-challenge-page .come-back-tomorrow .next-challenge-time{font-size:0.95rem;color:var(--color-text-muted);margin:0}body.daily-challenge-page .come-back-tomorrow .next-challenge-time i{margin-right:0.35rem}body.daily-challenge-page .come-back-tomorrow .next-challenge-time strong{color:var(--color-accent);font-weight:700}body.daily-challenge-page .toast{position:fixed;bottom:2rem;left:50%;transform:translateX(-50%) translateY(100%);padding:0.75rem 1.5rem;border-radius:6px;font-size:0.95rem;font-weight:500;color:var(--color-text-on-colored);opacity:0;transition:transform 0.3s ease, opacity 0.3s ease;z-index:var(--z-toast)}body.daily-challenge-page .toast.show{transform:translateX(-50%) translateY(0);opacity:1}body.daily-challenge-page .toast.toast-success{background:var(--color-btn-success)}body.daily-challenge-page .toast.toast-error{background:var(--color-btn-danger)}body.daily-challenge-page .toast.toast-warning{background:var(--color-btn-warning);color:var(--color-btn-warning-text)}body.daily-challenge-page .toast.toast-info{background:var(--color-btn-info)}@media (prefers-color-scheme: dark){body.daily-challenge-page .challenge-header .challenge-title{color:var(--color-text)}body.daily-challenge-page .challenge-header .challenge-date{color:var(--color-text-muted)}body.daily-challenge-page .challenge-status{background:var(--color-bg-tint-light);border-color:var(--color-border)}body.daily-challenge-page .challenge-status .status-loading i{color:var(--color-accent)}body.daily-challenge-page .challenge-status .status-pending i{color:var(--color-warning)}body.daily-challenge-page .challenge-status .status-pending .btn-play-challenge{background:var(--color-btn-success)}body.daily-challenge-page .challenge-status .status-pending .btn-play-challenge:hover{background:var(--color-btn-success-hover)}body.daily-challenge-page .challenge-status .status-completed i{color:var(--color-success)}body.daily-challenge-page .challenge-status .status-completed .status-score,body.daily-challenge-page .challenge-status .status-completed .status-rank{color:var(--color-accent)}body.daily-challenge-page .challenge-status .status-completed .btn-share-challenge{background:var(--color-accent)}body.daily-challenge-page .challenge-status .status-completed .btn-share-challenge:hover{background:var(--color-accent-hover)}body.daily-challenge-page .challenge-status .status-completed .btn-share-challenge:disabled{background:var(--color-btn-success)}body.daily-challenge-page .challenge-status .status-error i{color:var(--color-error)}body.daily-challenge-page .challenge-status .status-error p{color:var(--color-error)}body.daily-challenge-page .challenge-leaderboard .leaderboard-title{color:var(--color-text)}body.daily-challenge-page .challenge-leaderboard .leaderboard-container{border-color:var(--color-border)}body.daily-challenge-page .challenge-leaderboard .leaderboard-entry{background:var(--color-bg-tint-light);border-bottom-color:var(--color-border)}body.daily-challenge-page .challenge-leaderboard .leaderboard-entry:hover{background:var(--color-bg-tint-medium)}body.daily-challenge-page .challenge-leaderboard .leaderboard-entry.is-current-player{background:var(--color-primary-bg-medium);border-left-color:var(--color-accent)}body.daily-challenge-page .challenge-leaderboard .leaderboard-entry.is-current-player .entry-username{color:var(--color-accent)}body.daily-challenge-page .challenge-leaderboard .leaderboard-entry .entry-rank{color:var(--color-text-muted)}body.daily-challenge-page .challenge-leaderboard .leaderboard-entry .entry-score{color:var(--color-text)}body.daily-challenge-page .challenge-leaderboard .leaderboard-entry .entry-attempts{color:var(--color-text-muted)}body.daily-challenge-page .challenge-leaderboard .leaderboard-entry .entry-time{color:var(--color-text-muted)}body.daily-challenge-page .status-loading i{color:var(--color-accent)}body.daily-challenge-page .status-error i{color:var(--color-error)}body.daily-challenge-page .status-error p{color:var(--color-error)}body.daily-challenge-page .challenge-rules{background:var(--color-primary-bg-light);border-color:var(--color-primary-border-medium)}body.daily-challenge-page .challenge-rules h3{color:var(--color-text)}body.daily-challenge-page .challenge-rules .rules-list li{color:var(--color-text-muted)}body.daily-challenge-page .challenge-rules .rules-list li i{color:var(--color-accent)}body.daily-challenge-page .challenge-word-info{color:var(--color-text-muted)}body.daily-challenge-page .challenge-word-info strong{color:var(--color-accent)}body.daily-challenge-page .btn-start-challenge{background:var(--color-btn-success)}body.daily-challenge-page .btn-start-challenge:hover{background:var(--color-btn-success-hover)}body.daily-challenge-page .game-stats{background:var(--color-bg-tint-light)}body.daily-challenge-page .game-stats .stat-item .stat-label{color:var(--color-text-muted)}body.daily-challenge-page .game-stats .stat-item .stat-value{color:var(--color-text)}body.daily-challenge-page .game-stats .stat-item .stat-value.warning{color:var(--color-error)}body.daily-challenge-page .game-stats .stat-points i{color:var(--color-warning)}body.daily-challenge-page .game-stats .stat-timer i{color:var(--color-accent)}body.daily-challenge-page .letter-pool-section h4{color:var(--color-text)}body.daily-challenge-page .letter-pool-section .letter-pool-hint{color:var(--color-text-muted)}body.daily-challenge-page .letter-pool .letter-tile{background:var(--color-primary-bg-light);border-color:var(--color-accent);color:var(--color-accent)}body.daily-challenge-page .letter-pool .letter-tile:hover:not(:disabled){background:var(--color-accent);color:var(--color-bg);box-shadow:0 4px 8px var(--color-primary-shadow-strong)}body.daily-challenge-page .letter-pool .letter-tile.bought,body.daily-challenge-page .letter-pool .letter-tile:disabled{background:var(--color-bg-tint-strong);border-color:var(--color-border-tint-medium);color:var(--color-disabled-text)}body.daily-challenge-page .word-reveal-section h4{color:var(--color-success)}body.daily-challenge-page .word-reveal-row .reveal-tile{color:var(--color-reveal-tile-text);border-bottom-color:var(--color-reveal-tile-border);background:var(--color-reveal-tile-bg)}body.daily-challenge-page .word-reveal-row .reveal-tile.revealed{color:var(--color-success);border-bottom-color:var(--color-success)}body.daily-challenge-page .word-reveal-row .reveal-tile.revealed.hidden{color:var(--color-warning);border-bottom-color:var(--color-warning)}body.daily-challenge-page .word-reveal-row .reveal-tile.empty{color:transparent}body.daily-challenge-page .hidden-letter-section .btn-buy-hidden{background:var(--color-bg-tint-strong);color:var(--color-text)}body.daily-challenge-page .hidden-letter-section .btn-buy-hidden:hover{background:var(--color-bg-tint-heavy)}body.daily-challenge-page .guess-section label{color:var(--color-text)}body.daily-challenge-page .guess-section .guess-input{background:var(--color-bg-tint-strong);border-color:var(--color-border-tint-medium);color:var(--color-text)}body.daily-challenge-page .guess-section .guess-input:focus{border-color:var(--color-accent)}body.daily-challenge-page .guess-section .btn-submit-guess{background:var(--color-btn-success)}body.daily-challenge-page .guess-section .btn-submit-guess:hover{background:var(--color-btn-success-hover)}body.daily-challenge-page .result-header .result-icon.win{color:var(--color-success)}body.daily-challenge-page .result-header .result-icon.lose{color:var(--color-error)}body.daily-challenge-page .result-header .result-title.win{color:var(--color-success)}body.daily-challenge-page .result-header .result-title.lose{color:var(--color-error)}body.daily-challenge-page .result-word p{color:var(--color-text-muted)}body.daily-challenge-page .result-word .target-word{color:var(--color-text)}body.daily-challenge-page .result-stats,body.daily-challenge-page .completed-stats{background:var(--color-bg-tint-light)}body.daily-challenge-page .result-stats .stat-row,body.daily-challenge-page .completed-stats .stat-row{border-bottom-color:var(--color-border-tint-light)}body.daily-challenge-page .result-stats .stat-row .stat-label,body.daily-challenge-page .completed-stats .stat-row .stat-label{color:var(--color-text-muted)}body.daily-challenge-page .result-stats .stat-row .stat-value,body.daily-challenge-page .completed-stats .stat-row .stat-value{color:var(--color-text)}body.daily-challenge-page .result-stats .completed-note,body.daily-challenge-page .completed-stats .completed-note{color:var(--color-text-muted)}body.daily-challenge-page .completed-message i{color:var(--color-success)}body.daily-challenge-page .completed-message p{color:var(--color-text-muted)}body.daily-challenge-page .result-actions .btn-share-challenge{background:var(--color-accent)}body.daily-challenge-page .result-actions .btn-share-challenge:hover{background:var(--color-accent-hover)}body.daily-challenge-page .come-back-tomorrow{background:linear-gradient(135deg, var(--color-primary-bg-medium) 0%, var(--color-primary-bg-subtle) 100%);border-color:var(--color-primary-border-medium)}body.daily-challenge-page .come-back-tomorrow .come-back-message{color:var(--color-text)}body.daily-challenge-page .come-back-tomorrow .come-back-message i{color:var(--color-warning)}body.daily-challenge-page .come-back-tomorrow .next-challenge-time{color:var(--color-text-muted)}body.daily-challenge-page .come-back-tomorrow .next-challenge-time strong{color:var(--color-accent)}}body.challenge-landing-page .challenge-landing-container{max-width:540px;margin:1rem auto;padding:0 1rem 2rem;text-align:center}body.challenge-landing-page .challenge-header{margin-bottom:1.5rem}body.challenge-landing-page .challenge-header .challenge-icon{margin-bottom:0.75rem;color:var(--color-accent)}body.challenge-landing-page .challenge-header .challenge-icon--svg{width:48px;height:48px;margin:0 auto}body.challenge-landing-page .challenge-header .challenge-icon--svg svg{width:100%;height:100%}body.challenge-landing-page .challenge-header .challenge-title{font-size:2rem;font-weight:700;margin:0 0 0.5rem;color:var(--color-text)}body.challenge-landing-page .challenge-header .challenge-subtitle{font-size:1.1rem;color:var(--color-text-muted);margin:0}body.challenge-landing-page .challenge-description{margin-bottom:1.5rem}body.challenge-landing-page .challenge-description p{font-size:1rem;line-height:1.6;color:var(--color-text);margin:0}body.challenge-landing-page .challenge-rules{background:var(--color-accent-light);border:1px solid var(--color-border);border-radius:8px;padding:1rem;margin-bottom:1.5rem;text-align:left}body.challenge-landing-page .challenge-rules h3{font-size:1rem;font-weight:600;margin:0 0 0.75rem;color:var(--color-text)}body.challenge-landing-page .challenge-rules .rules-list{list-style:none;margin:0;padding:0}body.challenge-landing-page .challenge-rules .rules-list li{display:flex;align-items:flex-start;gap:0.75rem;padding:0.5rem 0;font-size:0.95rem;color:var(--color-text)}body.challenge-landing-page .challenge-rules .rules-list li i{color:var(--color-accent);flex-shrink:0;margin-top:0.15rem;width:1.2rem;text-align:center}body.challenge-landing-page .challenge-config{margin-bottom:1.5rem;text-align:left}body.challenge-landing-page .challenge-config h3{font-size:1rem;font-weight:600;margin:0 0 0.75rem;color:var(--color-text)}body.challenge-landing-page .challenge-config .word-length-selector,body.challenge-landing-page .challenge-config .language-selector{display:flex;flex-wrap:wrap;gap:0.5rem;justify-content:center}body.challenge-landing-page .challenge-config .word-length-option,body.challenge-landing-page .challenge-config .language-option{display:flex;flex-direction:column;align-items:center;padding:0.75rem 1rem;border:2px solid var(--color-border);border-radius:8px;cursor:pointer;transition:border-color 0.2s ease, background-color 0.2s ease;background:var(--color-bg-elevated)}body.challenge-landing-page .challenge-config .word-length-option input[type="radio"],body.challenge-landing-page .challenge-config .language-option input[type="radio"]{display:none}body.challenge-landing-page .challenge-config .word-length-option:has(input:checked),body.challenge-landing-page .challenge-config .language-option:has(input:checked){border-color:var(--color-accent);background:var(--color-accent-light)}body.challenge-landing-page .challenge-config .word-length-option:hover,body.challenge-landing-page .challenge-config .language-option:hover{border-color:var(--color-accent-hover)}body.challenge-landing-page .challenge-config .word-length-badge{font-size:1.5rem;font-weight:700;color:var(--color-accent)}body.challenge-landing-page .challenge-config .word-length-label{font-size:0.75rem;color:var(--color-text-muted)}body.challenge-landing-page .challenge-config .language-name{font-weight:500;color:var(--color-text)}body.challenge-landing-page .challenge-info{display:flex;justify-content:center;gap:1.5rem;margin-bottom:1.5rem}body.challenge-landing-page .challenge-info .info-item{display:flex;align-items:center;gap:0.5rem;font-size:0.95rem;color:var(--color-text-muted)}body.challenge-landing-page .challenge-info .info-item i{color:var(--color-accent)}body.challenge-landing-page .challenge-actions{margin-bottom:1rem}body.challenge-landing-page .challenge-actions .btn-start-challenge{display:inline-flex;align-items:center;justify-content:center;gap:0.5rem;padding:0.875rem 2rem;font-size:1.1rem;font-weight:600;color:var(--color-text-on-colored);background:var(--color-btn-success);border:none;border-radius:8px;cursor:pointer;transition:background-color 0.2s ease, transform 0.2s ease}body.challenge-landing-page .challenge-actions .btn-start-challenge:hover{background:var(--color-btn-success-hover);transform:translateY(-1px)}body.challenge-landing-page .challenge-actions .btn-start-challenge:disabled{background:var(--color-text-muted);cursor:not-allowed;transform:none}body.challenge-landing-page .challenge-actions .btn-start-challenge i{font-size:1rem}body.challenge-landing-page .challenge-nav .challenge-alt-link{display:inline-flex;align-items:center;gap:0.5rem;font-size:0.9rem;color:var(--color-text-muted);text-decoration:none;transition:color 0.2s ease}body.challenge-landing-page .challenge-nav .challenge-alt-link:hover{color:var(--color-accent)}body.challenge-landing-page .challenge-nav .challenge-alt-link i{font-size:0.85rem}body.word-race-page .challenge-icon{color:var(--color-warning) !important}body.word-ladder-page .challenge-icon{color:var(--color-success) !important}.home-page{min-height:100vh;min-height:100dvh}.home-page .game-heading-wrapper{margin-top:calc(env(safe-area-inset-top, 0px) + 1.25rem);padding:0.5rem 4rem}@media (max-width: 440px){.home-page .game-heading-wrapper{padding:0.5rem 3.5rem}}.home-container{max-width:600px;margin:0 auto;padding:1rem}.home-header{text-align:center;margin-bottom:1.5rem}.home-greeting{font-size:1.4rem;font-weight:600;margin:0;color:var(--color-text);text-align:center;word-wrap:break-word}.home-greeting .player-name{white-space:nowrap}@media (max-width: 400px){.home-greeting{font-size:1.15rem}}.continue-game-section{margin-bottom:2rem;display:flex;justify-content:center}.btn-continue-game{display:flex;flex-direction:column;align-items:center;gap:0.5rem;padding:1.25rem 2rem;background:var(--color-state-correct);color:var(--color-text-on-colored);border-radius:12px;font-size:1.1rem;font-weight:600;text-decoration:none;transition:transform 0.2s ease, box-shadow 0.2s ease;flex:1;max-width:300px}.btn-continue-game i{font-size:1.5rem}.btn-continue-game .continue-text{font-size:1.1rem}.btn-continue-game .continue-game-info{font-size:0.85rem;font-weight:400;opacity:0.9}.btn-continue-game:hover{transform:translateY(-2px);box-shadow:var(--shadow-xl)}.home-stats{display:flex;justify-content:center;gap:2rem;margin-bottom:2rem;padding:1rem;background:var(--color-bg-card);border-radius:12px}.home-stats .stat-item{text-align:center}.home-stats .stat-value{display:block;font-size:1.75rem;font-weight:700;color:var(--color-text)}.home-stats .stat-label{font-size:0.85rem;color:var(--color-text-muted)}.game-modes h3{text-align:center;margin-bottom:1.25rem;font-size:1.1rem;font-weight:600;color:var(--color-text)}.game-mode-grid{display:grid;grid-template-columns:repeat(2, 1fr);gap:1rem}@media (max-width: 480px){.game-mode-grid{grid-template-columns:1fr}}.game-mode-card{display:flex;flex-direction:column;align-items:center;padding:1.5rem 1rem;background:var(--color-bg-card);border:2px solid var(--color-border);border-radius:12px;text-decoration:none;color:inherit;transition:border-color 0.2s ease, transform 0.2s ease, box-shadow 0.2s ease}.game-mode-card .mode-icon{margin-bottom:0.75rem;color:var(--color-accent)}.game-mode-card .mode-icon--svg{width:48px;height:48px}.game-mode-card .mode-icon--svg svg{width:100%;height:100%}.game-mode-card h4{margin:0 0 0.5rem 0;font-size:1rem;font-weight:600;color:var(--color-text)}.game-mode-card p{margin:0;font-size:0.85rem;text-align:center;color:var(--color-text-muted)}.game-mode-card:hover{border-color:var(--color-accent);transform:translateY(-2px);box-shadow:var(--shadow-lg)}.home-nav{margin-top:2rem;text-align:center}.home-nav .home-nav-link{display:inline-flex;align-items:center;gap:0.5rem;padding:0.75rem 1.5rem;color:var(--color-text-muted);text-decoration:none;transition:color 0.2s ease}.home-nav .home-nav-link i{font-size:1rem}.home-nav .home-nav-link:hover{color:var(--color-text)}.summary-redirect-timer{text-align:center;margin:2rem 0;padding:1.5rem;background:var(--color-bg-card);border-radius:8px}.summary-redirect-timer .redirect-message{font-size:1.1rem;color:var(--color-text-muted);margin:0 0 0.75rem 0}.summary-redirect-timer .countdown-value{font-weight:700;font-size:1.3rem;color:var(--color-text);padding:0 0.25rem}.summary-redirect-timer .redirect-link{display:inline-block;color:var(--color-accent);font-weight:500;text-decoration:none}.summary-redirect-timer .redirect-link:hover{text-decoration:underline}.settings-page{min-height:100vh;min-height:100dvh}.settings-container{max-width:400px;margin:0 auto;padding:1rem}.settings-header{text-align:center;margin-bottom:2rem}.settings-header h1{font-size:1.75rem;font-weight:700;margin:0 0 0.5rem 0;color:var(--color-text)}.settings-header .settings-subtitle{font-size:0.95rem;color:var(--color-text-muted);margin:0}.settings-card{background:var(--color-bg-card);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:1.5rem;box-shadow:var(--shadow-md)}.settings-field{margin-bottom:1.25rem}.settings-field:last-child{margin-bottom:0}.settings-field label{display:flex;align-items:center;gap:0.5rem;font-weight:600;font-size:0.95rem;color:var(--color-text);margin-bottom:0.5rem}.settings-field label i{color:var(--color-accent);font-size:1rem}.settings-toggle-group{display:inline-flex;background:var(--color-bg-hover);border:1px solid var(--color-border);border-radius:10px;padding:0.25rem;gap:0.25rem}.settings-toggle-option{display:flex;align-items:center;gap:0.5rem;padding:0.625rem 1rem;border:none;border-radius:8px;background:transparent;color:var(--color-text-muted);font-size:0.9rem;font-weight:500;cursor:pointer;transition:all 0.2s ease}.settings-toggle-option i{font-size:1rem}.settings-toggle-option:hover:not(.is-active){background:var(--color-bg-elevated);color:var(--color-text)}.settings-toggle-option.is-active{background:var(--color-accent);color:white;box-shadow:var(--shadow-sm)}.settings-toggle-option:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}.settings-select{width:100%;padding:0.75rem 1rem;font-size:1rem;border:2px solid var(--color-border);border-radius:8px;background:var(--color-bg-elevated);color:var(--color-text);cursor:pointer;transition:border-color 0.2s ease, box-shadow 0.2s ease}.settings-select:focus{outline:none;border-color:var(--color-accent);box-shadow:var(--shadow-focus)}.settings-select:hover{border-color:var(--color-cell-border)}.settings-actions{margin-top:1.5rem;display:flex;justify-content:center}.btn-start-game{display:flex;align-items:center;justify-content:center;gap:0.75rem;width:100%;padding:1rem 2rem;background:var(--color-state-correct);color:var(--color-text-on-colored);border:none;border-radius:12px;font-size:1.1rem;font-weight:600;cursor:pointer;transition:transform 0.2s ease, box-shadow 0.2s ease}.btn-start-game i{font-size:1.25rem}.btn-start-game:hover{transform:translateY(-2px);box-shadow:var(--shadow-xl)}.btn-start-game:active{transform:translateY(0)}.settings-section{margin-top:2rem}.settings-section .settings-header h2{font-size:1.25rem;font-weight:600;margin:0 0 0.5rem 0;color:var(--color-text)}.consent-field .consent-toggle{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem}.consent-field .consent-label{display:flex;align-items:flex-start;gap:0.75rem;flex:1;cursor:pointer}.consent-field .consent-label>i{color:var(--color-accent);font-size:1.25rem;margin-top:0.1rem}.consent-field .consent-text{display:flex;flex-direction:column;gap:0.25rem}.consent-field .consent-title{font-weight:600;color:var(--color-text)}.consent-field .consent-description{font-size:0.85rem;color:var(--color-text-muted);line-height:1.4}.consent-field .consent-status{display:flex;align-items:center;gap:0.5rem;margin-top:1rem;font-size:0.9rem;color:var(--color-text-muted)}.consent-field .consent-status .status-enabled{color:var(--color-state-correct)}.consent-field .consent-status .status-disabled{color:var(--color-text-muted)}.consent-note{display:flex;align-items:flex-start;gap:0.5rem;margin-top:1rem;padding-top:1rem;border-top:1px solid var(--color-border);font-size:0.85rem;color:var(--color-text-muted)}.consent-note i{color:var(--color-accent);margin-top:0.1rem}.toggle-switch{position:relative;flex-shrink:0}.toggle-switch input[type="checkbox"]{opacity:0;width:0;height:0;position:absolute}.toggle-switch input[type="checkbox"]:checked+.toggle-slider{background-color:var(--color-state-correct)}.toggle-switch input[type="checkbox"]:checked+.toggle-slider::before{transform:translateX(20px)}.toggle-switch input[type="checkbox"]:focus+.toggle-slider{box-shadow:var(--shadow-focus-strong)}.toggle-switch input[type="checkbox"]:disabled+.toggle-slider{opacity:0.5;cursor:not-allowed}.toggle-switch .toggle-slider{display:block;width:48px;height:28px;background-color:var(--color-disabled);border-radius:28px;cursor:pointer;transition:background-color 0.3s ease}.toggle-switch .toggle-slider::before{content:'';position:absolute;top:4px;left:4px;width:20px;height:20px;background-color:var(--color-text-on-colored);border-radius:50%;transition:transform 0.3s ease;box-shadow:var(--shadow-md)}.settings-section-header{margin-bottom:1rem}.settings-section-header h2{font-size:1.25rem;font-weight:600;margin:0 0 0.25rem 0;color:var(--color-text)}.settings-section-subtitle{font-size:0.9rem;color:var(--color-text-muted);margin:0}.settings-game-form{display:flex;flex-direction:column;gap:1.5rem}.settings-field-label{display:flex;align-items:center;gap:0.5rem;font-weight:600;font-size:0.95rem;color:var(--color-text);margin-bottom:0.75rem}.settings-field-label i{color:var(--color-accent);font-size:1rem}.settings-field-hint{margin-top:0.5rem;font-size:0.8rem;color:var(--color-text-muted);opacity:0.8}.settings-language-selector{display:grid;grid-template-columns:repeat(2, 1fr);gap:0.5rem}.settings-language-option{display:flex;align-items:center;justify-content:center;padding:0.625rem 1rem;background-color:var(--color-bg-elevated);border:1px solid var(--color-border);border-radius:8px;cursor:pointer;transition:border-color 0.15s ease, background-color 0.15s ease}.settings-language-option input[type="radio"]{position:absolute;opacity:0;width:0;height:0}.settings-language-option:hover{border-color:var(--color-accent);background-color:var(--color-primary-bg-subtle)}.settings-language-option.is-selected{border-color:var(--color-accent);background-color:var(--color-primary-bg-light)}.settings-language-name{font-weight:500;font-size:0.9rem;color:var(--color-text);text-align:center}.settings-word-length-selector{display:flex;flex-wrap:nowrap;gap:0.375rem}.settings-word-length-option{display:flex;align-items:center;justify-content:center;padding:0.375rem 0.5rem;background-color:var(--color-bg-elevated);border:1px solid var(--color-border);border-radius:8px;cursor:pointer;transition:border-color 0.15s ease, background-color 0.15s ease;min-width:34px;flex-shrink:0}.settings-word-length-option input[type="radio"]{position:absolute;opacity:0;width:0;height:0}.settings-word-length-option:hover{border-color:var(--color-accent);background-color:var(--color-primary-bg-subtle)}.settings-word-length-option.is-selected{border-color:var(--color-accent);background-color:var(--color-primary-bg-light)}.settings-word-length-option.is-hidden{display:none}.settings-word-length-badge{display:flex;align-items:center;justify-content:center;width:32px;height:32px;font-weight:600;font-size:1rem;color:var(--color-text);background-color:var(--color-bg-card);border-radius:6px}.settings-current-selection{display:flex;align-items:center;gap:0.5rem;padding:0.75rem 1rem;background-color:var(--color-primary-bg-subtle);border-radius:8px;font-size:0.9rem;color:var(--color-text)}.settings-current-selection i{color:var(--color-state-correct);font-size:1rem}.settings-save-btn{display:flex;align-items:center;justify-content:center;gap:0.5rem;width:100%;padding:0.875rem 1.5rem;background-color:var(--color-state-correct);color:var(--color-text-on-colored);border:none;border-radius:8px;font-size:1rem;font-weight:600;cursor:pointer;transition:transform 0.15s ease, box-shadow 0.15s ease}.settings-save-btn i{font-size:0.9rem}.settings-save-btn:hover{transform:translateY(-1px);box-shadow:var(--color-success-shadow)}.settings-save-btn:active{transform:translateY(0)}.settings-links{display:flex;flex-direction:column}.settings-link{display:flex;align-items:center;gap:1rem;padding:1rem 0;text-decoration:none;color:inherit;border-bottom:1px solid var(--color-border);transition:background-color 0.15s ease}.settings-link:last-child{border-bottom:none}.settings-link:hover{background-color:var(--color-bg-tint-subtle)}.settings-link-icon{display:flex;align-items:center;justify-content:center;width:40px;height:40px;background-color:var(--color-bg-hover);border-radius:10px;flex-shrink:0}.settings-link-icon i{font-size:1.1rem;color:var(--color-accent)}.settings-link-content{flex:1;display:flex;flex-direction:column;gap:0.15rem}.settings-link-title{font-weight:600;color:var(--color-text);font-size:0.95rem}.settings-link-description{font-size:0.85rem;color:var(--color-text-muted)}.settings-link-arrow{color:var(--color-text-muted);font-size:0.9rem}.game-config-form .form-field{margin-bottom:1.25rem}.game-config-form .form-field label{display:flex;align-items:center;gap:0.5rem;font-weight:500;color:var(--color-text);margin-bottom:0.5rem}.game-config-form .form-field label i{color:var(--color-accent)}.game-config-form .form-select{width:100%;padding:0.75rem 1rem;font-size:1rem;border:2px solid var(--color-border);border-radius:8px;background-color:var(--color-bg-elevated);color:var(--color-text);cursor:pointer;transition:border-color 0.15s ease}.game-config-form .form-select:hover{border-color:var(--color-accent)}.game-config-form .form-select:focus{outline:none;border-color:var(--color-accent);box-shadow:var(--shadow-focus)}.game-config-form .form-actions{margin-top:1.5rem}.game-config-form .form-actions .btn-start-game{width:100%;display:flex;align-items:center;justify-content:center;gap:0.5rem;padding:0.875rem 1.5rem;font-size:1.05rem;font-weight:600;color:var(--color-text-on-colored);background:linear-gradient(135deg, var(--color-state-correct) 0%, var(--color-btn-success-hover) 100%);border:none;border-radius:10px;cursor:pointer;transition:transform 0.15s ease, box-shadow 0.15s ease}.game-config-form .form-actions .btn-start-game:hover{transform:translateY(-1px);box-shadow:var(--color-success-shadow-strong)}.game-config-form .form-actions .btn-start-game:active{transform:translateY(0)}@media (max-width: 480px){.settings-container{padding:0.75rem}.settings-header h1{font-size:1.3rem}.settings-card{padding:1.25rem}.btn-start-game{padding:0.875rem 1.5rem;font-size:1rem}}.settings-header{animation:zen-fade-in 0.4s ease-out 0.1s both}.settings-section:nth-of-type(1){animation:zen-fade-in 0.4s ease-out 0.15s both}.settings-section:nth-of-type(2){animation:zen-fade-in 0.4s ease-out 0.2s both}.history-page{min-height:100vh;min-height:100dvh}.history-container{max-width:600px;margin:0 auto;padding:1rem}.history-header{text-align:center;margin-bottom:1.5rem}.history-header h1{font-size:1.75rem;font-weight:700;margin:0;color:var(--color-text)}.history-card{background:var(--color-bg-card);border-radius:var(--radius-lg);padding:1.25rem;margin-bottom:1rem;box-shadow:var(--shadow-md);border:1px solid var(--color-border)}.history-card-title{display:flex;align-items:center;gap:0.5rem;font-size:1rem;font-weight:500;margin:0 0 1rem 0;color:var(--color-text)}.history-card-title i{color:var(--color-text-muted)}.history-table-wrapper{overflow-x:auto;margin:0 -0.5rem;padding:0 0.5rem}.history-table-wrapper table{width:100%;border-collapse:collapse;font-size:0.9rem}.history-table-wrapper th,.history-table-wrapper td{padding:0.625rem 0.5rem;text-align:left;border-bottom:1px solid var(--color-border)}.history-table-wrapper th{font-weight:500;color:var(--color-text-muted);font-size:0.8rem;text-transform:uppercase;letter-spacing:0.025em}.history-table-wrapper tr:last-child td{border-bottom:none}.history-table-wrapper tr:hover td{background:var(--color-bg-hover)}.result-badge{display:inline-flex;align-items:center;justify-content:center;width:1.75rem;height:1.75rem;border-radius:var(--radius-full);font-size:0.85rem}.result-badge--success{background:var(--color-alert-success-bg);color:var(--color-alert-success-text)}.result-badge--failure{background:var(--color-alert-danger-bg);color:var(--color-alert-danger-text)}.result-badge--timeout{background:var(--color-alert-warning-bg);color:var(--color-alert-warning-text)}.history-empty{text-align:center;padding:3rem 1.5rem;color:var(--color-text-muted)}.history-empty__icon{margin-bottom:1.5rem;color:var(--color-accent);opacity:0.8}.history-empty__icon i{animation:bounce-subtle 3s ease-in-out infinite}.history-empty__title{font-size:1.75rem;font-weight:600;color:var(--color-text);margin:0 0 0.75rem}.history-empty__subtitle{font-size:1.1rem;color:var(--color-text-muted);margin:0 0 2rem;max-width:320px;margin-left:auto;margin-right:auto}.history-empty__actions{display:flex;flex-direction:column;gap:0.75rem;align-items:center;margin-bottom:2rem}@media (min-width: 480px){.history-empty__actions{flex-direction:row;justify-content:center}}.history-empty__actions .btn-primary,.history-empty__actions .btn-secondary{display:inline-flex;align-items:center;gap:0.5rem;padding:0.875rem 1.5rem;border:none;border-radius:8px;font-size:1rem;font-weight:600;text-decoration:none;cursor:pointer;transition:background-color 0.2s ease, transform 0.1s ease;min-width:180px;justify-content:center}.history-empty__actions .btn-primary:hover,.history-empty__actions .btn-secondary:hover{transform:translateY(-2px)}.history-empty__actions .btn-primary:active,.history-empty__actions .btn-secondary:active{transform:translateY(0)}.history-empty__actions .btn-primary{background:var(--color-btn-success);color:var(--color-text-on-colored)}.history-empty__actions .btn-primary:hover{background:var(--color-btn-success-hover)}.history-empty__actions .btn-secondary{background:var(--color-warning);color:var(--color-text-on-colored)}.history-empty__actions .btn-secondary:hover{background:var(--color-warning)}.history-empty__hint{font-size:0.9rem;color:var(--color-text-subtle);margin:0;padding:1rem;background:var(--color-bg-hover);border-radius:8px;max-width:400px;margin-left:auto;margin-right:auto}.history-empty__hint i{color:var(--color-warning);margin-right:0.5rem}@keyframes bounce-subtle{0%,100%{transform:translateY(0)}50%{transform:translateY(-5px)}}.pagination{display:flex;align-items:center;justify-content:center;gap:1rem;margin-top:1.5rem;padding:1rem 0}.btn-pagination{display:flex;align-items:center;justify-content:center;width:2.5rem;height:2.5rem;background:var(--color-bg-elevated);border:1px solid var(--color-border);border-radius:8px;color:var(--color-text);cursor:pointer;transition:background-color 0.2s ease, border-color 0.2s ease, transform 0.2s ease}.btn-pagination:hover{background:var(--color-bg-hover);border-color:var(--color-text-muted)}.btn-pagination:active{transform:scale(0.95)}.page-status{font-size:0.9rem;color:var(--color-text-muted);font-weight:500;min-width:4rem;text-align:center}@media (prefers-color-scheme: dark){.history-page .history-card{background:var(--color-bg-elevated);box-shadow:var(--shadow-lg)}.history-page .history-card-title{color:var(--color-text)}.history-page .history-card-title i{color:var(--color-text-muted)}.history-page .history-table-wrapper th{color:var(--color-text-muted)}.history-page .history-table-wrapper td{border-bottom-color:var(--color-border)}.history-page .history-table-wrapper tr:hover td{background:var(--color-bg-hover)}.history-page .history-empty{color:var(--color-text-muted)}.history-page .history-empty__icon{color:var(--color-accent)}.history-page .history-empty__title{color:var(--color-text)}.history-page .history-empty__subtitle{color:var(--color-text-muted)}.history-page .history-empty__actions .btn-primary,.history-page .history-empty__actions .btn-secondary{box-shadow:var(--shadow-lg)}.history-page .history-empty__hint{background:var(--color-bg-tint-light);color:var(--color-text-subtle)}.history-page .btn-pagination{background:var(--color-bg-elevated);border-color:var(--color-border);color:var(--color-text)}.history-page .btn-pagination:hover{background:var(--color-bg-hover);border-color:var(--color-border-strong)}.history-page .page-status{color:var(--color-text-muted)}}@media (max-width: 480px){.history-container{padding:0.75rem}.history-header h1{font-size:1.3rem}.history-card{padding:1rem;border-radius:10px}.history-table-wrapper{font-size:0.85rem}.history-table-wrapper th,.history-table-wrapper td{padding:0.5rem 0.375rem}.pagination{gap:0.75rem}.btn-pagination{width:2.25rem;height:2.25rem}}.history-header{animation:zen-fade-in 0.4s ease-out 0.1s both}.history-card{animation:zen-fade-in 0.4s ease-out 0.15s both}.pagination{animation:zen-fade-in 0.4s ease-out 0.2s both}.summary-page{min-height:100vh;min-height:100dvh}.summary-page .game-heading-wrapper{margin-top:calc(env(safe-area-inset-top, 0px) + 1.25rem);padding:0 3rem}.summary-container{max-width:500px;margin:0 auto;padding:1rem}.summary-result-card{text-align:center;padding:2rem 1.5rem;border-radius:16px;margin-bottom:1rem;background:var(--color-bg-elevated);border:1px solid var(--color-border)}.summary-result-card.is-solved{background:linear-gradient(135deg, var(--color-success-gradient-start) 0%, var(--color-success-gradient-end) 100%);border-color:var(--color-success)}.summary-result-card.is-solved .result-icon i{color:var(--color-success)}.summary-result-card.is-failed{background:linear-gradient(135deg, var(--color-danger-gradient-start) 0%, var(--color-danger-gradient-end) 100%);border-color:var(--color-danger)}.summary-result-card.is-failed .result-icon i{color:var(--color-danger)}.summary-result-card.is-timed-out{background:linear-gradient(135deg, var(--color-warning-gradient-start) 0%, var(--color-warning-gradient-end) 100%);border-color:var(--color-warning)}.summary-result-card.is-timed-out .result-icon i{color:var(--color-warning)}.summary-result-card .result-icon{margin-bottom:1rem}.summary-result-card .result-icon i{color:var(--color-text-muted)}.summary-result-card .result-message h2{font-size:1.5rem;font-weight:700;margin:0 0 1rem 0;color:var(--color-text)}.summary-result-card .result-word{display:flex;flex-direction:column;align-items:center;gap:0.25rem;margin-bottom:1rem}.summary-result-card .result-word .word-label{font-size:0.8rem;color:var(--color-text-muted);text-transform:uppercase;letter-spacing:0.05em}.summary-result-card .result-word .word-value{font-size:2rem;font-weight:700;letter-spacing:0.15em;color:var(--color-text)}.summary-result-card .result-stats{display:flex;flex-direction:column;gap:0.25rem}.summary-result-card .result-stats .stat-detail{font-size:0.95rem;color:var(--color-text)}.summary-result-card .result-stats .stat-meta{font-size:0.85rem;color:var(--color-text-muted)}.summary-card{background:var(--color-bg-elevated);border-radius:12px;padding:1.25rem;margin-bottom:1rem;box-shadow:var(--shadow-sm);border:1px solid var(--color-border)}.summary-card-title{display:flex;align-items:center;gap:0.5rem;font-size:1rem;font-weight:600;margin:0 0 1rem 0;color:var(--color-text)}.summary-card-title i{color:var(--color-text-muted)}.summary-card .attempts-table-wrapper{margin:0;overflow-x:auto}.summary-card .attempts-table-wrapper .attempts-table{width:100%;border-collapse:collapse;font-size:0.9rem}.summary-card .attempts-table-wrapper .attempts-table th,.summary-card .attempts-table-wrapper .attempts-table td{padding:0.5rem 0.375rem;text-align:left;border-bottom:1px solid var(--color-border)}.summary-card .attempts-table-wrapper .attempts-table th{font-weight:600;color:var(--color-text-muted);font-size:0.75rem;text-transform:uppercase;letter-spacing:0.025em}.summary-card .attempts-table-wrapper .attempts-table .attempt-index{color:var(--color-text-muted);width:2rem}.summary-card .attempts-table-wrapper .attempts-table .attempt-guess{font-family:var(--font-family-mono);font-size:0.95rem;letter-spacing:0.1em;color:var(--color-text)}.summary-card .attempts-table-wrapper .attempts-table .attempt-time-cell,.summary-card .attempts-table-wrapper .attempts-table .attempt-elapsed{font-size:0.85rem;color:var(--color-text-muted)}.summary-card .attempts-table-wrapper .attempts-table .attempt-result{text-align:center;width:2.5rem}.summary-card .attempts-table-wrapper .attempts-table .attempt-result .fa-check{color:var(--color-success)}.summary-card .attempts-table-wrapper .attempts-table .attempt-result .fa-xmark{color:var(--color-danger)}.summary-card .attempts-table-wrapper .attempts-table .attempt-row.is-correct{background:var(--color-success-bg-subtle)}.summary-card .attempts-table-wrapper .attempts-table .attempt-row.is-correct td{border-bottom-color:var(--color-success-border-light)}.summary-card .attempts-table-wrapper .attempts-table tbody tr:last-child td{border-bottom:none}.summary-card .attempts-table-wrapper .attempts-table tfoot .attempts-total-row th,.summary-card .attempts-table-wrapper .attempts-table tfoot .attempts-total-row td{border-top:2px solid var(--color-border-strong);border-bottom:none;padding-top:0.75rem}.summary-card .attempts-table-wrapper .attempts-table tfoot .attempts-total-row .attempts-total-label{font-size:0.85rem;color:var(--color-text)}.summary-card .attempts-table-wrapper .attempts-table tfoot .attempts-total-row .attempts-total-elapsed{font-weight:600;color:var(--color-text)}.summary-recovery-reminder{display:flex;align-items:center;gap:1rem;margin-top:1.5rem;padding:1rem 1.25rem;background:var(--color-accent-light);border:1px solid var(--color-accent);border-radius:12px;box-shadow:var(--shadow-sm)}.summary-recovery-reminder .recovery-reminder-icon{flex-shrink:0;display:flex;align-items:center;justify-content:center;width:2.5rem;height:2.5rem;background:var(--color-accent);border-radius:50%;color:var(--color-text-on-colored);font-size:1.1rem}.summary-recovery-reminder .recovery-reminder-content{flex:1;min-width:0}.summary-recovery-reminder .recovery-reminder-title{margin:0 0 0.25rem;font-size:0.95rem;font-weight:600;color:var(--color-accent-text)}.summary-recovery-reminder .recovery-reminder-text{margin:0;font-size:0.85rem;color:var(--color-text);line-height:1.4}.summary-recovery-reminder .recovery-reminder-btn{flex-shrink:0;display:inline-flex;align-items:center;gap:0.375rem;padding:0.5rem 1rem;background:var(--color-accent);color:var(--color-text-on-colored);border:none;border-radius:8px;font-size:0.85rem;font-weight:500;text-decoration:none;transition:background-color var(--transition-fast),transform var(--transition-fast)}.summary-recovery-reminder .recovery-reminder-btn:hover{background:var(--color-accent-hover);transform:translateY(-1px);text-decoration:none;color:var(--color-text-on-colored)}.summary-recovery-reminder .recovery-reminder-btn:active{transform:translateY(0)}.summary-recovery-reminder .recovery-reminder-btn i{font-size:0.8rem}@media (max-width: 520px){.summary-recovery-reminder{flex-direction:column;align-items:flex-start;gap:0.75rem;padding:1rem}.summary-recovery-reminder .recovery-reminder-icon{width:2rem;height:2rem;font-size:0.95rem}.summary-recovery-reminder .recovery-reminder-content{width:100%}.summary-recovery-reminder .recovery-reminder-btn{width:100%;max-width:100%;box-sizing:border-box;justify-content:center}}.summary-navigation{display:flex;align-items:center;justify-content:space-between;gap:0.75rem;margin-top:1.5rem;padding:0.5rem 0}.btn-nav-placeholder{width:5.5rem}.btn-nav-session{display:inline-flex;align-items:center;gap:0.375rem;padding:0.5rem 0.75rem;background:var(--color-bg-elevated);border:1px solid var(--color-border);border-radius:8px;color:var(--color-text);font-size:0.85rem;text-decoration:none;transition:background-color 0.2s ease, border-color 0.2s ease, transform 0.2s ease}.btn-nav-session:hover{background:var(--color-bg-hover);border-color:var(--color-text-muted);text-decoration:none}.btn-nav-session:active{transform:scale(0.98)}.btn-nav-session i{font-size:0.75rem}.btn-play-again{display:inline-flex;align-items:center;gap:0.5rem;padding:0.75rem 1.25rem;background:var(--color-btn-success);color:var(--color-text-on-colored);border:none;border-radius:8px;font-size:0.95rem;font-weight:600;text-decoration:none;transition:background-color 0.2s ease, transform 0.2s ease}.btn-play-again:hover{background:var(--color-btn-success-hover);transform:translateY(-1px);text-decoration:none;color:var(--color-text-on-colored)}.btn-play-again:active{transform:translateY(0)}@media (prefers-color-scheme: dark){:root:not([data-theme="light"]) .summary-page .btn-nav-session{background:var(--color-bg-elevated);border-color:var(--color-border-strong);color:var(--color-text)}:root:not([data-theme="light"]) .summary-page .btn-nav-session:hover{background:var(--color-bg-hover);border-color:var(--color-accent)}}[data-theme="dark"] .summary-page .btn-nav-session{background:var(--color-bg-elevated);border-color:var(--color-border-strong);color:var(--color-text)}[data-theme="dark"] .summary-page .btn-nav-session:hover{background:var(--color-bg-hover);border-color:var(--color-accent)}@media (max-width: 480px){.summary-container{padding:0.75rem}.summary-result-card{padding:1.5rem 1rem;border-radius:12px}.summary-result-card .result-message h2{font-size:1.25rem}.summary-result-card .result-word .word-value{font-size:1.75rem}.summary-card{padding:1rem;border-radius:10px}.summary-card .attempts-table-wrapper .attempts-table{font-size:0.85rem}.summary-card .attempts-table-wrapper .attempts-table th,.summary-card .attempts-table-wrapper .attempts-table td{padding:0.375rem 0.25rem}.summary-card .attempts-table-wrapper .attempts-table .attempt-guess{font-size:0.9rem}.summary-navigation{gap:0.5rem}.btn-nav-session{padding:0.5rem;font-size:0.8rem}.btn-nav-session span{display:none}.btn-nav-placeholder{width:2rem}.btn-play-again{padding:0.625rem 1rem;font-size:0.9rem}}.policy-page{margin:0;padding:0;min-height:100vh;min-height:100dvh;background-color:var(--color-bg);color:var(--color-text)}.policy-container{max-width:800px;margin:0 auto;padding:2rem 1.5rem 3rem}.policy-header{text-align:center;margin-bottom:2.5rem;padding-bottom:1.5rem;border-bottom:1px solid var(--color-border)}.policy-header .logo{margin-bottom:1rem}.policy-header h1{font-size:2rem;font-weight:var(--font-weight-bold);color:var(--color-text);margin:0 0 0.5rem}.policy-header .last-updated{font-size:0.9rem;color:var(--color-text-muted);margin:0}.policy-header .last-updated time{font-weight:var(--font-weight-medium)}.policy-content section{margin-bottom:2rem}.policy-content section:last-child{margin-bottom:0}.policy-content h2{font-size:1.35rem;font-weight:var(--font-weight-bold);color:var(--color-text);margin:0 0 1rem;padding-bottom:0.5rem;border-bottom:1px solid var(--color-border)}.policy-content h3{font-size:1.1rem;font-weight:var(--font-weight-medium);color:var(--color-text);margin:1.25rem 0 0.75rem}.policy-content p{margin:0 0 1rem;line-height:1.7;color:var(--color-text)}.policy-content ul{margin:0 0 1rem;padding-left:1.5rem}.policy-content ul li{margin-bottom:0.5rem;line-height:1.6;color:var(--color-text)}.policy-content ul li strong{color:var(--color-text);font-weight:var(--font-weight-medium)}.policy-content a{color:var(--color-accent);text-decoration:underline;text-underline-offset:2px}.policy-content a:hover{color:var(--color-accent-hover)}.policy-content .contact-info{background-color:var(--color-bg-elevated);padding:1rem 1.25rem;border-radius:var(--radius-md);border:1px solid var(--color-border)}.policy-content .contact-info a{font-weight:var(--font-weight-medium)}.policy-footer{margin-top:3rem;padding-top:1.5rem;border-top:1px solid var(--color-border);text-align:center}.policy-footer .back-link{display:inline-flex;align-items:center;gap:0.5rem;color:var(--color-accent);font-weight:var(--font-weight-medium);text-decoration:none;padding:0.5rem 1rem;border-radius:var(--radius-md);transition:background-color var(--transition-fast),color var(--transition-fast)}.policy-footer .back-link:hover{background-color:var(--color-bg-hover);color:var(--color-accent-hover)}.policy-footer .back-link i{font-size:0.9rem}.policy-footer .footer-copyright{margin-top:1rem;font-size:0.85rem;color:var(--color-text-muted)}@media (max-width: 600px){.policy-container{padding:1.5rem 1rem 2rem}.policy-header h1{font-size:1.5rem}.policy-content h2{font-size:1.2rem}.policy-content h3{font-size:1rem}.policy-content ul{padding-left:1.25rem}}@media (prefers-reduced-motion: reduce){.streak-indicator i,.challenge-status i{animation:none}.btn-play-again i{animation:none}.panel,.kv,a,button,.btn-icon,.btn-help-icon,.btn-theme,.nav-link,.challenge-stat,.leaderboard-entry,.attempt-row,.history-entry,.result-stat,.settings-option,.theme-option,.distribution-bar{transition:none}.settings-header,.settings-section,.history-header,.history-card,.pagination{animation:none;opacity:1}}
