:root{--color-primary:#667eea;--color-primary-dark:#5a6fd8;--color-primary-darker:#5568d3;--color-primary-gradient:linear-gradient(135deg,#667eea,#764ba2);--color-success:#28a745;--color-success-light:#d4edda;--color-success-border:#c3e6cb;--color-success-text:#155724;--color-success-gradient:linear-gradient(135deg,#d4edda,#c3e6cb);--color-error:#ea4335;--color-error-dark:#d32f2f;--color-error-light:#ffcdd2;--color-error-lighter:#ffab91;--color-error-border:#ff5722;--color-warning:#ffc107;--color-expert:#ff6b35;--color-expert-light:#f7931e;--color-expert-dark:#ec612f;--color-expert-gradient:linear-gradient(135deg,#ff6b35,#f7931e);--color-expert-bg-light:#fff5f0;--color-expert-bg-lighter:#ffe8d6;--color-expert-bg-gradient:linear-gradient(145deg,#fff5f0,#ffe8d6);--color-neutral-900:#202124;--color-neutral-800:#2c3e50;--color-neutral-700:#5f6368;--color-neutral-650:#495057;--color-neutral-600:#6c757d;--color-neutral-500:#9aa0a6;--color-neutral-400:#adb5bd;--color-neutral-350:#dadce0;--color-neutral-300:#dee2e6;--color-neutral-250:#e8eaed;--color-neutral-200:#e9ecef;--color-neutral-150:#f1f3f4;--color-neutral-100:#f8f9fa;--color-neutral-50:#fff;--color-blue-lightest:#e3f2fd;--color-blue-lighter:#f3e5f5;--color-blue-light:#bbdefb;--color-blue:#2196f3;--color-blue-medium:#4fc3f7;--color-blue-dark:#1976d2;--color-blue-active:#2563eb;--color-blue-hover-bg:#f0f7ff;--color-blue-player-bg:#e8eeff;--color-blue-player-hover:#d5ddff;--color-purple-light:#e1bee7;--color-purple:#ba68c8;--color-purple-dark:#764ba2;--color-green-light:#66bb6a;--color-green:#42a5f5;--color-green-dark:#388e3c;--color-gold:gold;--color-gold-light:#ffed4e;--color-gold-gradient:linear-gradient(135deg,gold,#ffed4e);--color-gold-text:#a0620a;--color-gold-dark:#d69e2e;--color-silver:silver;--color-silver-light:#e8e8e8;--color-silver-gradient:linear-gradient(135deg,silver,#e8e8e8);--color-silver-text:#5a5a5a;--color-bronze:#cd7f32;--color-bronze-light:#e8a87c;--color-bronze-gradient:linear-gradient(135deg,#cd7f32,#e8a87c);--color-bronze-text:#6b3e1a;--color-lemon:#7c58e9;--color-lemon-dark:#7047eb;--color-lemon-gradient:linear-gradient(135deg,#7c58e9,#7047eb);--gradient-primary:linear-gradient(135deg,#667eea,#764ba2);--gradient-secondary:linear-gradient(135deg,#f8f9fa,#e9ecef);--gradient-secondary-90deg:linear-gradient(90deg,#f8f9fa,#e9ecef);--gradient-success:linear-gradient(135deg,#d4edda,#c3e6cb);--gradient-error:linear-gradient(135deg,#ffcdd2,#ffab91);--gradient-expert:linear-gradient(135deg,#ff6b35,#f7931e);--gradient-expert-light:linear-gradient(135deg,#fff5f0,#ffe8d6);--gradient-expert-bg:linear-gradient(145deg,#fff5f0,#ffe8d6);--gradient-cell-hover:linear-gradient(135deg,#e3f2fd,#f3e5f5);--gradient-cell-selecting:linear-gradient(135deg,#bbdefb,#e1bee7);--gradient-cell-selected:linear-gradient(135deg,#4fc3f7,#ba68c8);--gradient-cell-completed:linear-gradient(135deg,#66bb6a,#42a5f5);--gradient-record-group:linear-gradient(145deg,#fff,#f8f9fa);--gradient-record-best:linear-gradient(135deg,#fffef7,#fff);--gradient-lemon:linear-gradient(135deg,#7c58e9,#7047eb);--gradient-modal-header:linear-gradient(135deg,#f8f9fa,#e9ecef);--bg-overlay:rgba(0,0,0,.5);--bg-white-transparent-20:hsla(0,0%,100%,.2);--bg-white-transparent-50:hsla(0,0%,100%,.5);--bg-neutral-transparent:rgba(248,249,250,.5);--space-0:0;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:20px;--space-6:24px;--space-7:28px;--space-8:32px;--space-10:40px;--space-12:48px;--space-15:60px;--space-16:64px;--space-1-5:6px;--space-2-5:10px;--font-size-2xs:9px;--font-size-xs:11px;--font-size-sm:12px;--font-size-13:13px;--font-size-base:14px;--font-size-15:15px;--font-size-md:16px;--font-size-lg:18px;--font-size-xl:20px;--font-size-2xl:22px;--font-size-3xl:24px;--font-size-4xl:28px;--font-size-h1:clamp(1.3rem,5vw,2rem);--font-size-h2:clamp(20px,5vw,24px);--font-weight-normal:400;--font-weight-medium:500;--font-weight-semibold:600;--font-weight-bold:700;--font-weight-extrabold:800;--line-height-tight:1;--line-height-snug:1.3;--line-height-normal:1.5;--line-height-relaxed:1.7;--letter-spacing-tight:-0.5px;--letter-spacing-normal:0;--letter-spacing-wide:0.3px;--letter-spacing-wider:0.5px;--font-mono:"Courier New",monospace;--font-sans:system-ui,-apple-system,sans-serif;--shadow-xs:0 1px 2px rgba(0,0,0,.05);--shadow-sm:0 2px 4px rgba(0,0,0,.08);--shadow-md:0 4px 12px rgba(0,0,0,.15);--shadow-lg:0 8px 24px rgba(0,0,0,.2);--shadow-xl:0 20px 40px rgba(0,0,0,.15);--shadow-2xl:0 24px 48px rgba(0,0,0,.25);--shadow-menu:0 5px 15px rgba(0,0,0,.2);--shadow-primary:0 5px 15px rgba(102,126,234,.3);--shadow-primary-hover:0 6px 12px rgba(102,126,234,.3);--shadow-primary-lg:0 8px 24px rgba(102,126,234,.3);--shadow-expert:0 10px 30px rgba(255,107,53,.3);--shadow-gold:0 2px 8px rgba(255,215,0,.4);--shadow-silver:0 2px 8px hsla(0,0%,75%,.4);--shadow-bronze:0 2px 8px rgba(205,127,50,.4);--shadow-lemon:0 4px 20px rgba(82,58,154,.4);--shadow-lemon-hover:0 6px 30px rgba(112,71,235,.6);--shadow-lemon-active:0 2px 10px rgba(255,194,51,.4);--shadow-success:0 4px 20px rgba(40,167,69,.3);--shadow-record-tab:0 2px 4px rgba(0,0,0,.08);--shadow-record-tab-hover:0 4px 8px rgba(102,126,234,.2);--shadow-record-tab-active:0 6px 12px rgba(102,126,234,.3);--shadow-record-group:0 2px 8px rgba(0,0,0,.08);--shadow-pulse-0:0 0 0 0 rgba(102,126,234,.7);--shadow-pulse-50:0 0 0 10px rgba(102,126,234,0);--shadow-focus:0 0 0 3px rgba(102,126,234,.1);--radius-xs:3px;--radius-sm:4px;--radius-base:5px;--radius-md:6px;--radius-lg:8px;--radius-xl:10px;--radius-2xl:12px;--radius-3xl:16px;--radius-4xl:20px;--radius-pill:30px;--radius-full:50%;--radius-tab-active:12px 36px 36px 12px;--border-width-thin:1px;--border-width-base:2px;--border-width-thick:3px;--border-width-left-accent:4px;--duration-instant:0.01ms;--duration-fast:0.15s;--duration-base:0.2s;--duration-slow:0.3s;--duration-slower:0.4s;--duration-slowest:0.5s;--duration-animation-spin:0.6s;--duration-animation-pulse:0.8s;--duration-animation-pulse-2s:2s;--ease-linear:linear;--ease-in:cubic-bezier(0.4,0,1,1);--ease-out:cubic-bezier(0,0,0.2,1);--ease-in-out:cubic-bezier(0.4,0,0.2,1);--ease-bounce:cubic-bezier(0.68,-0.55,0.265,1.55);--transition-fast:var(--duration-fast) var(--ease-out);--transition-base:var(--duration-base) var(--ease-out);--transition-slow:var(--duration-slow) var(--ease-out);--transition-slower:var(--duration-slower) var(--ease-out);--transition-bounce:var(--duration-slower) var(--ease-bounce);--transition-all:all var(--transition-slow);--transition-colors:background-color var(--transition-base),color var(--transition-base),border-color var(--transition-base);--transition-transform:transform var(--transition-slow);--transition-opacity:opacity var(--transition-slow);--z-base:0;--z-dropdown:10;--z-header:10;--z-sticky:100;--z-fixed:1000;--z-modal-backdrop:2000;--z-modal:2000;--z-daily-challenge:1500;--z-tooltip:3000;--z-notification:9999;--z-lemon-button:9999;--z-max:10000;--size-touch-min:44px;--size-touch-comfortable:48px;--size-touch-small:36px;--size-icon-xs:14px;--size-icon-sm:16px;--size-icon-base:20px;--size-icon-md:24px;--size-icon-lg:28px;--size-icon-xl:32px;--size-icon-2xl:40px;--size-icon-3xl:64px;--size-avatar-sm:32px;--size-avatar-base:40px;--size-avatar-md:48px;--size-badge-sm:28px;--size-badge-base:32px;--width-modal-sm:600px;--width-modal-md:800px;--width-button-max:150px;--width-seed-control-min:200px;--min-width-menu:120px;--min-width-select:100px;--min-width-timer:100px;--opacity-disabled:0.5;--opacity-loading:0.6;--opacity-hover:0.9;--opacity-muted:0.7;--opacity-hidden:0;--opacity-visible:1;--backdrop-blur-sm:blur(4px);--backdrop-blur-md:blur(8px);--breakpoint-xs:480px;--breakpoint-sm:640px;--breakpoint-md:768px;--breakpoint-lg:1024px;--breakpoint-xl:1440px;--grid-gap:5px;--modal-margin-top:10vh;--modal-max-height:80vh;--modal-max-height-mobile:90vh;--modal-max-height-xs:95vh;--leaderboard-margin-top:7.5vh;--leaderboard-max-height:85vh;--leaderboard-margin-mobile:5vh;--leaderboard-margin-xs:2.5vh;--text-shadow-sm:0 1px 2px rgba(0,0,0,.1);--text-shadow-white:0 1px 2px hsla(0,0%,100%,.3)}html[data-theme=dark]{--color-primary:#7b8ff0;--color-primary-dark:#6a7ee0;--color-primary-darker:#5f73d8;--color-primary-gradient:linear-gradient(135deg,#7b8ff0,#9b6dbd);--color-success:#34c759;--color-success-light:#1a3d2a;--color-success-border:#2d5a3d;--color-success-text:#7ee09b;--color-success-gradient:linear-gradient(135deg,#1a3d2a,#2d5a3d);--color-error:#ff6b6b;--color-error-dark:#e55555;--color-error-light:#4a2020;--color-error-lighter:#5a3030;--color-error-border:#f55;--color-warning:#ffd93d;--color-expert:#ff8c5a;--color-expert-light:#ffaa7a;--color-expert-dark:#e67340;--color-expert-gradient:linear-gradient(135deg,#ff8c5a,#ffaa7a);--color-expert-bg-light:#2a1a10;--color-expert-bg-lighter:#3a2515;--color-expert-bg-gradient:linear-gradient(145deg,#2a1a10,#3a2515);--color-neutral-900:#e8e8e8;--color-neutral-800:#d0d0d0;--color-neutral-700:#b0b0b0;--color-neutral-650:#a0a0a0;--color-neutral-600:#909090;--color-neutral-500:#707070;--color-neutral-400:#505050;--color-neutral-350:#3a3f5c;--color-neutral-300:#353550;--color-neutral-250:#2a2a45;--color-neutral-200:#252540;--color-neutral-150:#1e1e3f;--color-neutral-100:#16213e;--color-neutral-50:#1a1a2e;--color-blue-lightest:#1a2a4a;--color-blue-lighter:#2a1a4a;--color-blue-light:#2a3a5a;--color-blue:#4da6ff;--color-blue-medium:#6bc4ff;--color-blue-dark:#3a8ad9;--color-blue-active:#5b9bff;--color-blue-hover-bg:#1a2540;--color-blue-player-bg:#1a2550;--color-blue-player-hover:#253060;--color-purple-light:#4a2a6a;--color-purple:#c77dff;--color-purple-dark:#9b6dbd;--color-green-light:#4a9a5a;--color-green:#5ac8fa;--color-green-dark:#2d7a3d;--gradient-primary:linear-gradient(135deg,#7b8ff0,#9b6dbd);--gradient-secondary:linear-gradient(135deg,#1e1e3f,#252540);--gradient-secondary-90deg:linear-gradient(90deg,#1e1e3f,#252540);--gradient-success:linear-gradient(135deg,#1a3d2a,#2d5a3d);--gradient-error:linear-gradient(135deg,#4a2020,#5a3030);--gradient-expert:linear-gradient(135deg,#ff8c5a,#ffaa7a);--gradient-expert-light:linear-gradient(135deg,#2a1a10,#3a2515);--gradient-expert-bg:linear-gradient(145deg,#2a1a10,#3a2515);--gradient-cell-hover:linear-gradient(135deg,#2a3d6a,#3d2a6a);--gradient-cell-selecting:linear-gradient(135deg,#2a3a5a,#4a2a6a);--gradient-cell-selected:linear-gradient(135deg,#6bc4ff,#c77dff);--gradient-cell-completed:linear-gradient(135deg,#4a9a5a,#5ac8fa);--gradient-record-group:linear-gradient(145deg,#1a1a2e,#1e1e3f);--gradient-record-best:linear-gradient(135deg,#2a2520,#1a1a2e);--gradient-modal-header:linear-gradient(135deg,#1e1e3f,#252540);--bg-overlay:rgba(0,0,0,.7);--bg-white-transparent-20:rgba(30,30,60,.3);--bg-white-transparent-50:rgba(30,30,60,.5);--bg-neutral-transparent:rgba(26,26,46,.5);--shadow-xs:0 1px 2px rgba(0,0,0,.3);--shadow-sm:0 2px 4px rgba(0,0,0,.4);--shadow-md:0 4px 12px rgba(0,0,0,.5);--shadow-lg:0 8px 24px rgba(0,0,0,.6);--shadow-xl:0 20px 40px rgba(0,0,0,.5);--shadow-2xl:0 24px 48px rgba(0,0,0,.6);--shadow-menu:0 5px 15px rgba(0,0,0,.5);--shadow-primary:0 5px 15px rgba(123,143,240,.3);--shadow-primary-hover:0 6px 12px rgba(123,143,240,.4);--shadow-primary-lg:0 8px 24px rgba(123,143,240,.3);--text-shadow-sm:0 1px 2px rgba(0,0,0,.3);--text-shadow-white:0 1px 2px rgba(0,0,0,.5)}html{transition:background-color .3s cubic-bezier(0,0,.2,1),color .3s cubic-bezier(0,0,.2,1);transition:background-color var(--duration-slow) var(--ease-out),color var(--duration-slow) var(--ease-out)}html[data-theme=dark] body{background:linear-gradient(135deg,#0f0f23,#1a1a2e 50%,#16213e)}@media (prefers-reduced-motion:reduce){:root{--duration-fast:var(--duration-instant);--duration-base:var(--duration-instant);--duration-slow:var(--duration-instant);--duration-slower:var(--duration-instant);--duration-slowest:var(--duration-instant)}:not(#\#),:not(#\#):after,:not(#\#):before{animation-duration:.01ms!important;animation-duration:var(--duration-instant)!important;animation-iteration-count:1!important;transition-duration:.01ms!important;transition-duration:var(--duration-instant)!important}}@keyframes pulse{0%,to{box-shadow:var(--shadow-pulse-0);transform:scale(1)}50%{box-shadow:var(--shadow-pulse-50);transform:scale(1.15)}}@keyframes spin{0%{transform:translate(-50%,-50%) rotate(0deg)}to{transform:translate(-50%,-50%) rotate(1turn)}}@keyframes errorPulse{0%,to{opacity:var(--opacity-visible)}50%{opacity:var(--opacity-loading)}}@keyframes errorShake{0%,to{transform:scale(1)}25%{transform:scale(1.1) translateX(-2px)}75%{transform:scale(1.1) translateX(2px)}}@keyframes errorBlink{0%,to{background:var(--color-neutral-50);border-color:var(--color-error-border)}50%{background:var(--gradient-error);border-color:var(--color-error-dark)}}@keyframes buttonSpin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}@keyframes slideDown{0%{opacity:var(--opacity-hidden);transform:translateX(-50%) translateY(-30px)}to{opacity:var(--opacity-visible);transform:translateX(-50%) translateY(0)}}@keyframes slideUp{0%{opacity:var(--opacity-visible);transform:translateX(-50%) translateY(0)}to{opacity:var(--opacity-hidden);transform:translateX(-50%) translateY(-20px)}}@keyframes lemonPulse{0%,to{box-shadow:var(--shadow-lemon)}50%{box-shadow:var(--shadow-lemon-hover)}}body{-webkit-user-select:none;-moz-user-select:none;user-select:none;-webkit-touch-callout:none}input,textarea{-webkit-user-select:text;-moz-user-select:text;user-select:text}.completion-message{align-items:center;background:var(--gradient-success);border:var(--border-width-base) solid var(--color-success);border-radius:var(--radius-xl);box-shadow:var(--shadow-success);color:var(--color-success-text);display:none;font-size:var(--font-size-md);font-weight:var(--font-weight-medium);gap:var(--space-2);left:50%;opacity:var(--opacity-hidden);padding:var(--space-4) var(--space-5);position:fixed;transform:translateX(-50%);transition:opacity var(--transition-slow),transform var(--transition-slow),visibility var(--transition-slow);visibility:hidden;z-index:var(--z-fixed)}.completion-message.show{animation:slideDown var(--duration-slowest) ease-out;opacity:var(--opacity-visible);visibility:visible}.completion-message.hide{animation:slideUp var(--transition-slow) ease-out;opacity:var(--opacity-hidden)}.version-info{align-items:center;align-self:center;display:flex;flex-direction:column;gap:var(--space-1);margin-top:var(--space-5)}.version-info small{color:var(--color-neutral-600);font-size:var(--font-size-xs);font-weight:var(--font-weight-normal);letter-spacing:var(--letter-spacing-wider);opacity:var(--opacity-muted)}.version-info .contact-info a{color:inherit;text-decoration:none}.version-info .contact-info a:hover{text-decoration:underline}.success-popup{background:var(--color-success);border-radius:var(--radius-lg);bottom:var(--space-5);box-shadow:var(--shadow-md);color:var(--color-neutral-50);font-size:.9rem;font-weight:var(--font-weight-medium);max-width:280px;opacity:var(--opacity-hidden);padding:var(--space-3) var(--space-4);position:fixed;right:var(--space-5);transform:translateX(100%);transition:var(--transition-all);z-index:var(--z-max);word-wrap:break-word}.success-popup.show{opacity:var(--opacity-visible);transform:translateX(0)}@media (max-width:480px){.success-popup{bottom:var(--space-4);left:var(--space-4);max-width:none;right:var(--space-4);text-align:center}}.header-buttons{align-items:center;display:flex;gap:var(--space-2);position:absolute;right:var(--space-8);top:var(--space-4);z-index:var(--z-header)}.language-btn:hover{background:var(--color-primary);transform:scale(1.1)}.records-btn:hover{background:var(--color-blue-hover-bg);color:var(--color-blue-active);transform:scale(1.1)}.theme-btn{align-items:center;background:var(--color-neutral-50);border:none;border-radius:var(--radius-full);color:var(--color-neutral-700);cursor:pointer;display:flex;flex-shrink:0;height:var(--size-avatar-base);justify-content:center;transition:var(--transition-all);width:var(--size-avatar-base)}.theme-btn:hover{background:var(--color-blue-hover-bg);color:var(--color-blue-active);transform:scale(1.1)}html[data-theme=dark] .theme-btn{background:var(--color-neutral-200);color:var(--color-warning)}html[data-theme=dark] .theme-btn:hover{background:var(--color-neutral-300);color:var(--color-gold-light)}.pulse-animation{animation:pulse var(--duration-slowest) ease-in-out 6}.language-menu{background:var(--color-neutral-50);border:var(--border-width-base) solid var(--color-primary);border-radius:var(--radius-xl);box-shadow:var(--shadow-menu);min-width:var(--min-width-menu);padding:var(--space-2);position:absolute;right:0;top:50px;z-index:var(--z-fixed)}.language-menu button{background:none;border:none;border-radius:var(--radius-base);cursor:pointer;display:block;font-size:var(--font-size-base);padding:var(--space-2) var(--space-3);text-align:left;transition:background var(--transition-base);width:100%}.language-menu button:hover{background:var(--color-neutral-200)}.language-menu button.active{background:var(--color-primary);color:var(--color-neutral-50)}.user-btn{align-items:center;background:var(--color-neutral-50);border:none;border-radius:var(--radius-full);color:#4a90e2;cursor:pointer;display:flex;flex-shrink:0;height:var(--size-avatar-base);justify-content:center;overflow:hidden;position:relative;transition:var(--transition-all);width:var(--size-avatar-base)}.user-btn:hover{background:var(--color-blue-hover-bg);color:var(--color-blue-active);transform:scale(1.1)}.user-avatar{border-radius:var(--radius-full);height:100%;-o-object-fit:cover;object-fit:cover;width:100%}.user-menu{background:var(--color-neutral-50);border:var(--border-width-base) solid var(--color-primary);border-radius:var(--radius-xl);box-shadow:var(--shadow-menu);min-width:260px;overflow:hidden;padding:0;position:absolute;right:0;top:50px;z-index:var(--z-fixed)}.user-menu-guest{padding:var(--space-5);text-align:center}.user-menu-prompt{color:var(--color-neutral-650);font-size:var(--font-size-base);font-weight:var(--font-weight-medium);margin-bottom:var(--space-4)}.google-signin-container{align-items:center;display:flex;justify-content:center;min-height:var(--size-touch-min)}.user-menu-authenticated{padding:var(--space-4)}.user-menu-info{align-items:center;display:flex;gap:var(--space-3);padding:var(--space-2) 0}.user-menu-avatar{border-radius:var(--radius-full);flex-shrink:0;height:var(--size-avatar-md);-o-object-fit:cover;object-fit:cover;width:var(--size-avatar-md)}.user-menu-text{display:flex;flex:1;flex-direction:column;gap:var(--space-1);min-width:0}.user-menu-name{color:var(--color-neutral-800);font-size:var(--font-size-md);font-weight:var(--font-weight-semibold)}.user-menu-email,.user-menu-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.user-menu-email{color:var(--color-neutral-600);font-size:var(--font-size-13)}.user-menu-divider{border:none;border-top:var(--border-width-thin) solid var(--color-neutral-200);margin:var(--space-3) 0}.user-menu-logout-btn{align-items:center;background:var(--color-neutral-100);border:var(--border-width-thin) solid var(--color-neutral-300);border-radius:var(--radius-md);color:var(--color-neutral-650);cursor:pointer;display:flex;font-size:var(--font-size-base);font-weight:var(--font-weight-medium);gap:var(--space-2);justify-content:center;padding:var(--space-2) var(--space-4);transition:var(--transition-all);width:100%}.user-menu-logout-btn:hover{background:var(--color-neutral-200);border-color:var(--color-neutral-400);color:#212529}@media (max-width:640px){.header-buttons{background:var(--gradient-secondary-90deg);border-bottom:var(--border-width-base) solid var(--color-neutral-300);border-radius:var(--radius-xl);gap:var(--space-3);justify-content:space-around;margin:0;order:0;padding:var(--space-3) var(--space-2);position:static;width:100%}.language-btn,.records-btn,.user-btn{height:var(--size-touch-comfortable);width:var(--size-touch-comfortable)}.language-btn{font-size:22px}.language-menu,.user-menu{min-width:140px}.language-menu button{font-size:var(--font-size-md);padding:var(--space-3) var(--space-4)}}@media (max-width:480px){.header-buttons{gap:var(--space-2);padding:var(--space-2)}.language-btn,.records-btn,.user-btn{height:var(--size-touch-min);width:var(--size-touch-min)}.language-btn{font-size:20px}.language-menu,.user-menu{min-width:130px;right:0}.language-menu button{font-size:var(--font-size-15);padding:14px 18px}.user-menu{min-width:240px}}.seed-control:not(#\#){align-items:flex-start!important;flex-direction:column!important;gap:var(--space-2)!important}.seed-control{min-width:var(--width-seed-control-min)}.seed-label-container{align-items:center;display:flex;gap:var(--space-2);width:100%}.current-seed-display{align-items:center;background:var(--color-neutral-100);border:var(--border-width-thin) solid var(--color-neutral-200);border-radius:var(--radius-xs);display:flex;flex:1;gap:var(--space-1);min-width:0;padding:var(--space-1) var(--space-1-5)}#current-seed{color:var(--color-neutral-650);flex:1;font-family:var(--font-mono);font-size:var(--font-size-sm);min-width:0;overflow:hidden;-webkit-user-select:text;-moz-user-select:text;user-select:text;white-space:nowrap;-webkit-touch-callout:default}.copy-icon-btn{align-items:center;background:transparent;border:none;border-radius:var(--radius-xs);color:var(--color-neutral-600);cursor:pointer;display:flex;flex-shrink:0;height:var(--space-5);justify-content:center;transition:background var(--transition-base);width:var(--space-5)}.copy-icon-btn:hover{background:var(--color-neutral-200);color:var(--color-neutral-650)}.copy-icon-btn i{height:var(--size-icon-xs);width:var(--size-icon-xs)}.seed-input-container{align-items:center;display:flex;gap:var(--space-2);width:100%}.seed-input-container input{background:var(--color-neutral-50);border:var(--border-width-base) solid var(--color-neutral-300);border-radius:var(--radius-base);color:var(--color-neutral-650);flex:1;font-size:var(--font-size-base);min-height:var(--size-touch-small);padding:var(--space-2) var(--space-3);transition:border-color var(--transition-slow)}.seed-input-container input:focus{border-color:var(--color-primary);box-shadow:var(--shadow-focus);outline:none}.btn.btn-icon{align-items:center;background:var(--color-primary);border:none;border-radius:var(--radius-full);color:var(--color-neutral-50);cursor:pointer;display:flex;flex-shrink:0;height:var(--size-touch-small);justify-content:center;padding:0;transition:var(--transition-all);width:var(--size-touch-small)}.btn-icon:hover{background:var(--color-primary-dark);transform:scale(1.1)}.btn-icon:active{transform:scale(.95)}.seed-hint{color:var(--color-neutral-600);font-size:var(--font-size-xs);margin-top:var(--space-1);text-align:left;width:100%}.game-settings{background:var(--gradient-secondary-90deg);border-radius:var(--radius-xl);display:flex;gap:var(--space-5);justify-content:center;margin-bottom:var(--space-5);padding:var(--space-4)}.setting-group{align-items:center;display:flex;gap:var(--space-2)}.setting-group label{color:var(--color-neutral-650);font-weight:var(--font-weight-semibold)}.setting-group select{background:var(--color-neutral-50);border:var(--border-width-base) solid var(--color-neutral-300);border-radius:var(--radius-base);color:var(--color-neutral-650);cursor:pointer;font-size:var(--font-size-md);min-height:var(--size-touch-min);min-width:var(--min-width-select);padding:var(--space-3) var(--space-5);touch-action:manipulation;transition:border-color var(--transition-slow);-webkit-tap-highlight-color:transparent}.setting-group select:hover{border-color:var(--color-primary)}.setting-group select:focus{border-color:var(--color-purple-dark);outline:none}.grid-container:not(#\#){width:calc(var(--cell-size)*5 + var(--grid-gap)*4 + 10px)!important;width:calc(var(--grid-size, 5)*var(--cell-size) + (var(--grid-size, 5) - 1)*var(--grid-gap) + 10px)!important}#game-grid{touch-action:none}.cell:hover{background:var(--gradient-cell-hover);transform:scale(1.05)}.cell.selecting{background:var(--gradient-cell-selecting);border-color:var(--color-blue)}.cell.selected{background:var(--gradient-cell-selected);border-color:var(--color-blue-dark);color:var(--color-neutral-50)}.cell.completed{background:var(--gradient-cell-completed);border-color:var(--color-green-dark);color:var(--color-neutral-50)}.cell.error{animation:errorShake var(--duration-slowest) ease-in-out,errorBlink 1s ease-in-out}#game-grid.loading{opacity:var(--opacity-loading);position:relative}#game-grid.loading:after{animation:spin 1s linear infinite;border-top-color:#e0e0e0;border:var(--border-width-thick) solid #e0e0e0;border-radius:var(--radius-full);border-top:var(--border-width-thick) solid var(--color-primary);content:"";height:var(--size-icon-xl);left:50%;position:absolute;top:50%;transform:translate(-50%,-50%);width:var(--size-icon-xl)}.error-message:not(#\#){color:var(--color-error-dark)!important}.error-message{animation:errorPulse var(--duration-slowest) ease-in-out;font-weight:var(--font-weight-semibold)}.grid-container.expert-mode{background:var(--gradient-expert-bg);border-color:var(--color-expert-dark);box-shadow:var(--shadow-expert)}.timer-progress-display{align-items:center;background:var(--bg-neutral-transparent);border:var(--border-width-thin) solid rgba(0,0,0,.05);border-radius:var(--radius-lg);display:flex;gap:var(--space-5);justify-content:center;margin:var(--space-2) 0;padding:var(--space-3) var(--space-5)}.timer-display{align-items:center;color:var(--color-neutral-650);display:flex;font-size:1rem;font-weight:var(--font-weight-semibold);gap:var(--space-2)}.timer-display #timer-text{display:inline-block;font-family:var(--font-mono);font-size:1.1rem;font-weight:var(--font-weight-bold);min-width:var(--min-width-timer);text-align:left}.progress-display{align-items:center;color:var(--color-neutral-650);font-size:.8rem;opacity:var(--opacity-hover)}.controls,.progress-display{display:flex;gap:var(--space-2)}.controls{flex-direction:column;justify-content:center;margin-top:var(--space-5)}.controls-row{align-items:flex-start;display:flex;gap:var(--space-4);justify-content:center}.controls-row .btn{flex:1;max-width:var(--width-button-max)}.btn{align-items:center;border:none;border-radius:var(--radius-lg);cursor:pointer;display:flex;font-size:var(--font-size-md);font-weight:var(--font-weight-semibold);gap:var(--space-2);padding:var(--space-3) var(--space-6);text-decoration:none;transition:var(--transition-all)}.btn.loading{cursor:not-allowed;opacity:var(--opacity-loading);pointer-events:none;position:relative}.btn.loading:after{animation:buttonSpin var(--duration-animation-spin) linear infinite;border:var(--border-width-base) solid var(--color-neutral-50);border-radius:var(--radius-full);border-top-color:transparent;content:"";height:var(--size-icon-sm);margin-top:-8px;position:absolute;right:var(--space-3);top:50%;width:var(--size-icon-sm)}.btn-primary{background:var(--gradient-primary);color:var(--color-neutral-50)}.btn-primary:hover{box-shadow:var(--shadow-primary);transform:translateY(-2px)}.btn-primary.expert-active{background:var(--gradient-expert)}.btn-primary.expert-active:hover{box-shadow:var(--shadow-expert)}.btn-secondary{background:var(--gradient-secondary);border:var(--border-width-base) solid var(--color-neutral-300);color:var(--color-neutral-650)}.btn-secondary:hover{background:linear-gradient(135deg,var(--color-neutral-200),var(--color-neutral-300));transform:translateY(-2px)}.btn-expert{background:var(--gradient-expert);color:var(--color-neutral-50)}.btn-expert:hover{box-shadow:var(--shadow-expert);transform:translateY(-2px)}.btn-expert.active{background:var(--gradient-primary);border:var(--border-width-base) solid var(--color-primary-dark);box-shadow:var(--shadow-expert)}.next-buttons-group{align-items:stretch;display:flex;flex:1;flex-direction:column;gap:var(--space-2);max-width:var(--width-button-max)}.next-buttons-group .btn{max-width:none;width:100%}.btn-expert.active~.expert-description{display:none}.expert-description{color:var(--color-neutral-600);font-size:var(--font-size-xs);font-style:italic;line-height:var(--line-height-snug);margin-top:var(--space-1);text-align:center}.btn.disabled:not(#\#),.btn:disabled:not(#\#){background:var(--color-neutral-100)!important;border-color:var(--color-neutral-300)!important;box-shadow:none!important;color:var(--color-neutral-600)!important;transform:none!important}.btn.disabled,.btn:disabled{cursor:not-allowed;opacity:var(--opacity-disabled);pointer-events:none}.btn.disabled:hover:not(#\#),.btn:disabled:hover:not(#\#){background:var(--color-neutral-100)!important;box-shadow:none!important;transform:none!important}@media (max-width:640px){.game-container{display:flex;flex-direction:column;padding:0 var(--space-2) 70px var(--space-2)}h1{font-size:2rem;margin-top:var(--space-5);order:1}.game-settings{order:2}.grid-container{order:3}.timer-progress-display{order:4}.controls{order:5}.version-info{order:6}.controls-row{gap:var(--space-2)}.controls-row .btn{font-size:var(--font-size-base);padding:var(--space-2) var(--space-4)}.expert-description{font-size:var(--font-size-2xs)}}@media (max-width:480px){body{padding:5px}.game-container{padding:var(--space-2) var(--space-2) 70px var(--space-2)}h1{font-size:1.3rem}.btn{font-size:var(--font-size-base);padding:var(--space-2) 18px}.expert-description{font-size:9px}.next-buttons-group{gap:var(--space-1-5);max-width:var(--width-button-max)}.game-settings{padding:var(--space-2)}.setting-group{flex-direction:column;gap:var(--space-1-5)}}.records-modal{height:100%;left:0;opacity:var(--opacity-hidden);position:fixed;top:0;transition:opacity var(--transition-slow),visibility var(--transition-slow);visibility:hidden;width:100%;z-index:var(--z-modal)}.records-modal.show{opacity:var(--opacity-visible);visibility:visible}.modal-overlay{backdrop-filter:var(--backdrop-blur-sm);background:var(--bg-overlay);height:100%;left:0;position:absolute;top:0;width:100%}.modal-content{background:var(--color-neutral-50);border-radius:var(--radius-3xl);box-shadow:var(--shadow-xl);margin:var(--modal-margin-top) auto 0;max-height:var(--modal-max-height);max-width:var(--width-modal-sm);overflow:hidden;position:relative;transform:translateY(-30px);transition:transform var(--transition-slow)}.records-modal.show .modal-content{transform:translateY(0)}.modal-header{align-items:center;background:var(--gradient-modal-header);border-bottom:var(--border-width-base) solid var(--color-neutral-150);display:flex;justify-content:space-between;padding:var(--space-6) var(--space-6) var(--space-4)}.modal-header h2{background:var(--gradient-primary);-webkit-background-clip:text;color:var(--color-neutral-800);font-size:1.5rem;margin:0;-webkit-text-fill-color:transparent;font-weight:var(--font-weight-bold)}.modal-close{align-items:center;background:none;border:none;border-radius:var(--radius-full);color:var(--color-neutral-600);cursor:pointer;display:flex;justify-content:center;padding:var(--space-2);transition:var(--transition-all)}.modal-close:hover{background:hsla(208,7%,46%,.1);color:var(--color-neutral-650);transform:scale(1.1)}.modal-body{display:grid;grid-template-areas:"sidebar content";grid-template-columns:120px 1fr;grid-gap:0;gap:0;max-height:calc(var(--modal-max-height) - 100px);overflow:hidden;position:relative}.record-tabs-sidebar{background:var(--gradient-modal-header);border-right:var(--border-width-base) solid var(--color-neutral-200);display:flex;flex-direction:column;gap:var(--space-2);grid-area:sidebar;overflow-y:auto;padding:var(--space-6) var(--space-4) var(--space-6) var(--space-6)}.records-content{grid-area:content;max-height:calc(var(--modal-max-height) - 100px);overflow-y:auto;padding:var(--space-6)}.record-tab{align-items:center;background:var(--color-neutral-50);border:var(--border-width-base) solid var(--color-neutral-300);border-radius:var(--radius-2xl);box-shadow:var(--shadow-record-tab);color:var(--color-neutral-650);cursor:pointer;display:flex;font-size:1rem;font-weight:var(--font-weight-semibold);justify-content:center;opacity:var(--opacity-muted);padding:var(--space-3) var(--space-4);transition:var(--transition-all);-webkit-user-select:none;-moz-user-select:none;user-select:none}.record-tab:hover{background:var(--gradient-cell-hover);border-color:var(--color-primary);box-shadow:var(--shadow-record-tab-hover);transform:scale(1.04)}.record-tab.active{background:var(--gradient-primary);border-color:var(--color-primary-dark);border-radius:var(--radius-tab-active);box-shadow:var(--shadow-record-tab-active);color:var(--color-neutral-50);opacity:var(--opacity-visible)}.record-tab.active,.record-tab.active:hover{transform:translateX(var(--space-2))}.record-tab.expert{border-color:var(--color-expert-light);flex-direction:column;padding:var(--space-1-5) var(--space-4)}.record-tab.expert:hover{background:var(--gradient-expert-light);border-color:var(--color-expert)}.record-tab.expert.active{border-color:var(--color-expert-dark);color:var(--color-neutral-50)}.record-tab.expert.active,.record-tab.expert.active:hover{background:var(--gradient-expert)}.record-tab small{font-size:.6rem;opacity:var(--opacity-hover);white-space:nowrap}.records-container{display:flex;flex-direction:column;gap:var(--space-4)}.record-group{background:var(--gradient-record-group);border:var(--border-width-thin) solid var(--color-neutral-200);border-radius:var(--radius-2xl);box-shadow:var(--shadow-record-group);padding:var(--space-5)}.record-group.hidden:not(#\#){display:none!important}.record-group[data-mode=expert]{box-shadow:var(--shadow-expert)}.record-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:var(--space-4)}.record-size{color:var(--color-neutral-800);font-size:2.2rem;font-weight:var(--font-weight-extrabold);text-shadow:var(--text-shadow-sm)}.record-mode-badge{border-radius:var(--radius-4xl);font-size:.75rem;font-weight:var(--font-weight-semibold);letter-spacing:var(--letter-spacing-wider);padding:var(--space-1) var(--space-3);text-transform:uppercase}.record-mode-badge.normal{background:linear-gradient(135deg,var(--color-success),#20c997);color:var(--color-neutral-50)}.record-mode-badge.expert{background:var(--gradient-expert);color:var(--color-neutral-50)}.record-section-header{color:var(--color-neutral-600);font-size:.9rem;font-weight:var(--font-weight-semibold);letter-spacing:var(--letter-spacing-wider);margin:var(--space-4) 0 var(--space-2) 0;padding-left:var(--space-1);text-transform:uppercase}.record-item{background:var(--color-neutral-50);border-left:var(--border-width-left-accent) solid var(--color-primary);border-radius:var(--radius-lg);box-shadow:var(--shadow-xs);margin-bottom:var(--space-3);padding:var(--space-4)}.record-item-best{background:var(--gradient-record-best);border-left:var(--border-width-left-accent) solid var(--color-gold)}.record-item-recent{border-left:var(--border-width-left-accent) solid var(--color-neutral-600)}.record-item:last-child{margin-bottom:0}.record-main-info{align-items:flex-start;display:flex;gap:var(--space-4);margin-bottom:0}.record-main-info-left{align-items:flex-start;display:flex;flex-direction:column;flex-shrink:0;gap:var(--space-1)}.record-duration{color:var(--color-neutral-800);font-family:var(--font-mono);font-size:1.8rem;font-weight:var(--font-weight-bold);text-shadow:var(--text-shadow-sm)}.record-best-badge{background:var(--gradient-gold);border-radius:var(--radius-2xl);color:var(--color-gold-dark);letter-spacing:var(--letter-spacing-wide);padding:var(--space-1) var(--space-2);text-transform:uppercase}.record-best-badge,.record-status{font-size:.7rem;font-weight:var(--font-weight-semibold)}.record-status{align-items:center;display:inline-flex;gap:var(--space-1);line-height:1}.record-status svg{height:.85rem;width:.85rem}.record-status-success{color:var(--color-success-text)}.record-status-local_only,.record-status-pending{color:var(--color-neutral-650)}.record-status-failed{color:var(--color-warning)}.record-status-rejected{color:var(--color-error-dark)}.record-secondary-info{align-items:flex-start;display:flex;flex:1;gap:var(--space-3);justify-content:space-between;min-width:0}.record-game-info{display:flex;flex:1;flex-direction:column;flex-shrink:2;gap:var(--space-1);min-width:0}.record-game-id{align-items:center;background:var(--color-neutral-100);border:var(--border-width-thin) solid var(--color-neutral-200);border-radius:var(--radius-md);display:flex;gap:var(--space-1-5);max-width:100%;min-width:0;padding:var(--space-1-5) var(--space-2)}.record-completed-time{color:var(--color-neutral-600);font-size:.8rem;font-weight:var(--font-weight-medium);margin-top:var(--space-1)}.record-game-id-text{color:var(--color-neutral-650);font-family:var(--font-mono);font-size:.85rem;font-weight:var(--font-weight-medium)}.record-actions{display:flex;gap:var(--space-2)}.record-action-btn{align-items:center;background:none;border:none;border-radius:var(--radius-sm);color:var(--color-neutral-600);cursor:pointer;display:flex;height:var(--space-7);justify-content:center;padding:var(--space-1-5);transition:var(--transition-all);width:var(--space-7)}.record-action-btn:hover{background:var(--color-neutral-200);color:var(--color-neutral-650);transform:scale(1.1)}.record-action-btn.copy-btn:hover{background:rgba(40,167,69,.1);color:var(--color-success)}.record-action-btn.share-btn:hover{background:rgba(23,162,184,.1);color:#17a2b8}.no-records{color:var(--color-neutral-600);padding:var(--space-15) var(--space-5);text-align:center}.no-records i{color:var(--color-neutral-300);font-size:4rem;margin-bottom:var(--space-4)}.no-records p{font-size:1.1rem;margin:0}@media (max-width:640px){.modal-body{grid-template-columns:100px 1fr}.modal-content{margin:5vh auto 0;max-height:var(--modal-max-height-mobile);max-width:calc(100% - 20px)}.modal-header{padding:var(--space-5) var(--space-5) var(--space-3)}.modal-header h2{font-size:1.3rem}.record-duration{font-size:1.5rem}.record-size{font-size:1.8rem}.record-tabs-sidebar{padding:var(--space-5) 14px var(--space-5) var(--space-5)}.records-content{padding:var(--space-5)}}@media (max-width:480px){.modal-body{grid-template-columns:95px 1fr}.modal-content{border-radius:var(--radius-2xl);margin:2vh .5vh;max-height:var(--modal-max-height-xs);max-width:calc(100% - 20px)}.record-tabs-sidebar{padding:var(--space-5) var(--space-3) var(--space-5) var(--space-3)}.records-btn{height:var(--size-touch-min);width:var(--size-touch-min)}.records-content{padding:var(--space-2)}.record-tab{font-size:.85rem;overflow:hidden;padding:var(--space-2) var(--space-2);text-overflow:ellipsis;white-space:nowrap;word-break:keep-all}.record-tab small{font-size:.5rem}.record-group{padding:var(--space-1)}.record-item{padding:var(--space-1-5)}.record-main-info{align-items:stretch}.record-main-info,.record-secondary-info{gap:var(--space-2)}.record-actions{flex-direction:column;justify-content:center}.record-game-id{max-width:120px}.record-game-id-text{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.record-game-info{flex-shrink:3;min-width:60px}}.leaderboard-empty[hidden]:not(#\#),.leaderboard-error[hidden]:not(#\#),.leaderboard-loading[hidden]:not(#\#),.leaderboard-table[hidden]:not(#\#),.player-rank[hidden]:not(#\#){display:none!important}.leaderboard-modal{height:100%;left:0;opacity:var(--opacity-hidden);position:fixed;top:0;transition:opacity var(--transition-slow),visibility var(--transition-slow);visibility:hidden;width:100%;z-index:var(--z-modal)}.leaderboard-modal.show{opacity:var(--opacity-visible);visibility:visible}.leaderboard-modal .modal-overlay{backdrop-filter:var(--backdrop-blur-sm);background:var(--bg-overlay);height:100%;left:0;position:absolute;top:0;width:100%}.leaderboard-modal .modal-content{background:var(--color-neutral-50);border-radius:var(--radius-3xl);box-shadow:var(--shadow-xl);display:flex;flex-direction:column;margin:var(--leaderboard-margin-top) auto 0;max-height:var(--leaderboard-max-height);max-width:var(--width-modal-md);overflow:hidden;position:relative;transform:translateY(-30px);transition:transform var(--transition-slow)}.leaderboard-modal.show .modal-content{transform:translateY(0)}.leaderboard-modal .modal-header{align-items:center;border-bottom:var(--border-width-base) solid var(--color-neutral-150);display:flex;flex-shrink:0;justify-content:space-between;padding:var(--space-6) var(--space-6) var(--space-4)}.leaderboard-modal .modal-header h2{color:var(--color-neutral-900);font-size:var(--font-size-3xl);font-weight:var(--font-weight-bold);margin:0}.leaderboard-modal .close-btn{align-items:center;background:none;border:none;border-radius:var(--radius-full);cursor:pointer;display:flex;height:var(--size-avatar-sm);justify-content:center;padding:0;transition:background var(--transition-base);width:var(--size-avatar-sm)}.leaderboard-modal .close-btn:hover{background:var(--color-neutral-150)}.leaderboard-modal .close-btn svg{height:var(--size-icon-base);width:var(--size-icon-base);stroke:var(--color-neutral-700)}.leaderboard-tabs{border-bottom:var(--border-width-base) solid var(--color-neutral-150);display:flex;flex-shrink:0;gap:var(--space-1);padding:var(--space-4) var(--space-6) 0}.leaderboard-tabs .tab{background:none;border:none;border-bottom:var(--border-width-thick) solid transparent;color:var(--color-neutral-700);cursor:pointer;font-size:var(--font-size-base);font-weight:var(--font-weight-medium);margin-bottom:calc(var(--border-width-base)*-1);padding:var(--space-3) var(--space-5);transition:var(--transition-all);white-space:nowrap}.leaderboard-tabs .tab:hover{background:var(--color-neutral-100);border-radius:var(--radius-lg) var(--radius-lg) 0 0;color:var(--color-neutral-900)}.leaderboard-tabs .tab.active{border-bottom-color:var(--color-primary);color:var(--color-primary);font-weight:var(--font-weight-semibold)}.leaderboard-filters{background:var(--color-neutral-100);border-bottom:var(--border-width-thin) solid var(--color-neutral-250);display:flex;flex-shrink:0;gap:var(--space-3);padding:var(--space-4) var(--space-6)}.leaderboard-filters select{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:var(--color-neutral-50);background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='none' stroke='%235f6368' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' viewBox='0 0 24 24'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-position:right var(--space-2) center;background-repeat:no-repeat;border:var(--border-width-thin) solid var(--color-neutral-350);border-radius:var(--radius-lg);color:var(--color-neutral-900);cursor:pointer;font-size:var(--font-size-base);padding:var(--space-2) var(--space-8) var(--space-2) var(--space-3);transition:border-color var(--transition-base)}.leaderboard-filters select:hover{border-color:var(--color-primary)}.leaderboard-filters select:focus{border-color:var(--color-primary);box-shadow:var(--shadow-focus);outline:none}.leaderboard-container{flex:1;overflow-y:auto;padding:var(--space-4) var(--space-6) var(--space-6)}.leaderboard-table{border-collapse:collapse;width:100%}.leaderboard-table thead th{background:var(--color-neutral-50);border-bottom:var(--border-width-base) solid var(--color-neutral-150);color:var(--color-neutral-700);font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);letter-spacing:var(--letter-spacing-wider);padding:var(--space-3) var(--space-2);position:sticky;text-align:left;text-transform:uppercase;top:0;z-index:var(--z-dropdown)}.leaderboard-table thead th:first-child{text-align:center;width:60px}.leaderboard-table thead th:nth-child(3),.leaderboard-table thead th:nth-child(4){width:100px}.leaderboard-table thead th:nth-child(5){width:120px}.leaderboard-table thead th:last-child{width:140px}.leaderboard-table tbody tr{border-bottom:var(--border-width-thin) solid var(--color-neutral-150);transition:background var(--transition-base)}.leaderboard-table tbody tr:hover{background:var(--color-neutral-100)}.leaderboard-table tbody tr.player-row{background:var(--color-blue-player-bg);font-weight:var(--font-weight-semibold)}.leaderboard-table tbody tr.player-row:hover{background:var(--color-blue-player-hover)}.leaderboard-table tbody tr.leaderboard-separator,.leaderboard-table tbody tr.leaderboard-separator:hover{background:transparent}.leaderboard-table tbody tr.leaderboard-separator td{border-bottom:var(--border-width-thin) dashed var(--color-neutral-300);color:var(--color-neutral-400);line-height:1;padding:var(--space-1) var(--space-2);text-align:center;-webkit-user-select:none;-moz-user-select:none;user-select:none}.leaderboard-separator__dots{font-size:var(--font-size-lg);letter-spacing:var(--space-1)}.leaderboard-table tbody td{color:var(--color-neutral-900);font-size:var(--font-size-base);padding:var(--space-4) var(--space-2)}.leaderboard-table tbody td:first-child{color:var(--color-primary);font-weight:var(--font-weight-semibold);text-align:center}.rank-badge{align-items:center;border-radius:var(--radius-full);display:inline-flex;font-size:var(--font-size-base);font-weight:var(--font-weight-bold);height:var(--size-badge-base);justify-content:center;width:var(--size-badge-base)}.rank-badge.rank-1{background:var(--gradient-gold);box-shadow:var(--shadow-gold);color:var(--color-gold-text)}.rank-badge.rank-2{background:var(--gradient-silver);box-shadow:var(--shadow-silver);color:var(--color-silver-text)}.rank-badge.rank-3{background:var(--gradient-bronze);box-shadow:var(--shadow-bronze);color:var(--color-bronze-text)}.country-flag{align-items:center;display:inline-flex;gap:var(--space-2)}.country-flag .fi{font-size:var(--size-icon-base);line-height:var(--line-height-tight)}.score-flagged{color:var(--color-error);font-weight:var(--font-weight-semibold)}.score-flagged:after{content:" ⚠️";font-size:var(--font-size-sm)}.game-id-display{align-items:center;display:flex;gap:var(--space-2)}.game-id-text{color:var(--color-neutral-700);font-family:monospace;font-size:var(--font-size-sm)}.copy-game-id-btn{align-items:center;background:none;border:none;border-radius:var(--radius-md);cursor:pointer;display:inline-flex;justify-content:center;opacity:.6;padding:var(--space-1);transition:var(--transition-all)}.copy-game-id-btn:hover{background:var(--color-neutral-150);opacity:1}.copy-game-id-btn:active{transform:scale(.95)}.copy-game-id-btn i{height:var(--size-icon-sm);width:var(--size-icon-sm);stroke:var(--color-neutral-700)}.leaderboard-loading{align-items:center;color:var(--color-neutral-700);display:flex;font-size:var(--font-size-base);justify-content:center;padding:var(--space-12) var(--space-6)}.leaderboard-loading .spinner{animation:spin var(--duration-animation-pulse) linear infinite;border:var(--border-width-base) solid var(--color-neutral-150);border-radius:var(--radius-full);border-top-color:var(--color-primary);display:inline-block;height:var(--size-icon-base);margin-right:var(--space-3);width:var(--size-icon-base)}.leaderboard-empty{color:var(--color-neutral-700);padding:var(--space-12) var(--space-6);text-align:center}.leaderboard-empty svg{height:var(--size-icon-3xl);width:var(--size-icon-3xl);stroke:var(--color-neutral-350);margin-bottom:var(--space-4)}.leaderboard-empty p{font-size:var(--font-size-md);font-weight:var(--font-weight-medium);margin:0}.leaderboard-error{color:var(--color-neutral-700);padding:var(--space-12) var(--space-6);text-align:center}.leaderboard-error svg{height:var(--size-icon-3xl);width:var(--size-icon-3xl);stroke:var(--color-neutral-350);margin-bottom:var(--space-4)}.leaderboard-error p{font-size:var(--font-size-md);font-weight:var(--font-weight-medium);margin:0}.player-rank{align-items:center;background:var(--color-blue-player-bg);border-radius:0 0 var(--radius-3xl) var(--radius-3xl);border-top:var(--border-width-base) solid var(--color-primary);color:var(--color-neutral-900);display:flex;font-size:var(--font-size-base);gap:var(--space-2);justify-content:center;margin-top:var(--space-4);padding:var(--space-4) var(--space-6)}.player-rank strong{color:var(--color-primary);font-size:var(--font-size-lg);font-weight:var(--font-weight-bold)}.leaderboard-login-cta{align-items:center;background:var(--color-neutral-100);border-top:var(--border-width-base) solid var(--color-neutral-150);display:flex;flex-shrink:0;gap:var(--space-4);padding:var(--space-4) var(--space-6)}.leaderboard-login-cta[hidden]:not(#\#){display:none!important}.leaderboard-login-cta__text{display:flex;flex:1;flex-direction:column;gap:var(--space-1)}.leaderboard-login-cta__text strong{color:var(--color-neutral-900);font-size:var(--font-size-base);font-weight:var(--font-weight-semibold)}.leaderboard-login-cta__text span{color:var(--color-neutral-700);font-size:var(--font-size-sm)}.leaderboard-login-cta__button{flex-shrink:0}.daily-challenge-banner{background:var(--gradient-primary);border-radius:var(--radius-3xl);box-shadow:var(--shadow-primary-lg);color:var(--color-neutral-50);left:50%;max-width:90%;min-width:320px;padding:var(--space-4) var(--space-6);position:fixed;top:80px;transform:translateX(-50%) translateY(-120%);transition:transform var(--transition-bounce);z-index:var(--z-daily-challenge)}.daily-challenge-banner.show{transform:translateX(-50%) translateY(0)}.banner-content{gap:var(--space-4)}.banner-content,.banner-icon{align-items:center;display:flex}.banner-icon{background:var(--bg-white-transparent-20);border-radius:var(--radius-full);flex-shrink:0;height:var(--size-icon-xl);justify-content:center;width:var(--size-icon-xl)}.banner-icon svg{height:var(--size-icon-md);width:var(--size-icon-md);stroke:var(--color-neutral-50)}.banner-text{display:flex;flex:1;flex-direction:column;gap:var(--space-1)}.banner-text strong{font-size:var(--font-size-md);font-weight:var(--font-weight-bold)}.banner-text span{font-size:var(--font-size-base);opacity:var(--opacity-hover)}.daily-challenge-banner button{background:var(--color-neutral-50);border:none;border-radius:var(--radius-lg);color:var(--color-primary);cursor:pointer;font-size:var(--font-size-base);font-weight:var(--font-weight-semibold);padding:var(--space-2) var(--space-5);transition:var(--transition-all);white-space:nowrap}.daily-challenge-banner button:hover{background:var(--color-neutral-100);transform:scale(1.05)}.daily-challenge-banner button:active{transform:scale(.98)}.daily-challenge-banner button:disabled{background:var(--bg-white-transparent-50);color:rgba(102,126,234,.5);cursor:not-allowed;transform:none}.country-selector{display:flex;flex-direction:column;gap:var(--space-2);margin-bottom:var(--space-6)}.country-selector label{font-weight:var(--font-weight-semibold)}.country-selector label,.country-selector select{color:var(--color-neutral-900);font-size:var(--font-size-base)}.country-selector select{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:var(--color-neutral-50);background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' fill='none' stroke='%235f6368' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' viewBox='0 0 24 24'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-position:right var(--space-3) center;background-repeat:no-repeat;border:var(--border-width-base) solid var(--color-neutral-350);border-radius:var(--radius-lg);cursor:pointer;padding:var(--space-3) var(--size-icon-xl) var(--space-3) var(--space-4);transition:var(--transition-all)}.country-selector select:focus,.country-selector select:hover{border-color:var(--color-primary)}.country-selector select:focus{box-shadow:var(--shadow-focus);outline:none}.country-selector select:disabled{background:var(--color-neutral-150);border-color:var(--color-neutral-250);color:var(--color-neutral-500);cursor:not-allowed}.country-selector .hint{color:var(--color-neutral-700);font-size:var(--font-size-sm);margin-top:var(--space-1)}.country-selector .hint.error{color:var(--color-error)}@media (max-width:1024px){.leaderboard-modal .modal-content{margin:5vh auto 0;max-height:90vh;max-width:90%}}@media (max-width:640px){.leaderboard-modal .modal-content{border-radius:var(--radius-2xl);margin:var(--leaderboard-margin-mobile) auto 0;max-height:95vh;max-width:95%}.leaderboard-modal .modal-header{padding:var(--space-5) var(--space-4) var(--space-3)}.leaderboard-modal .modal-header h2{font-size:var(--size-icon-base)}.leaderboard-tabs{gap:var(--space-1);padding:var(--space-3) var(--space-4) 0;-webkit-overflow-scrolling:touch}.leaderboard-tabs .tab{font-size:var(--font-size-13);padding:var(--space-2) var(--space-4)}.leaderboard-filters{flex-wrap:wrap;padding:var(--space-3) var(--space-4)}.leaderboard-filters select{flex:1;min-width:120px}.leaderboard-container{padding:var(--space-3) var(--space-4) var(--space-4)}.leaderboard-table{font-size:var(--font-size-13)}.leaderboard-table thead th{font-size:var(--font-size-xs);padding:var(--space-2) var(--space-1)}.leaderboard-table tbody td{font-size:var(--font-size-13);padding:var(--space-3) var(--space-1)}.leaderboard-table tbody td:first-child,.leaderboard-table thead th:first-child{width:50px}.leaderboard-table tbody td:nth-child(5),.leaderboard-table thead th:nth-child(5){font-size:var(--font-size-sm);width:80px}.leaderboard-table tbody td:last-child,.leaderboard-table thead th:last-child{font-size:var(--font-size-xs);width:100px}.game-id-text{font-size:var(--font-size-xs)}.copy-game-id-btn i{height:var(--size-icon-xs);width:var(--size-icon-xs)}.rank-badge{font-size:var(--font-size-sm);height:var(--space-7);width:var(--space-7)}.player-rank{font-size:var(--font-size-13);padding:var(--space-3) var(--space-4)}.player-rank strong{font-size:var(--font-size-md)}.leaderboard-login-cta{flex-direction:column;gap:var(--space-3);padding:var(--space-3) var(--space-4);text-align:center}.daily-challenge-banner{min-width:280px;padding:var(--space-3) var(--space-4);top:70px}.banner-content{gap:var(--space-3)}.banner-icon{height:var(--size-touch-small);width:var(--size-touch-small)}.banner-icon svg{height:var(--size-icon-base);width:var(--size-icon-base)}.banner-text strong{font-size:var(--font-size-base)}.banner-text span{font-size:var(--font-size-sm)}.daily-challenge-banner button{font-size:var(--font-size-13);padding:var(--space-2) var(--space-4)}}@media (max-width:480px){.leaderboard-modal .modal-content{border-radius:0;margin:0;max-height:100vh;max-width:100%}.leaderboard-tabs{justify-content:space-between}.leaderboard-tabs .tab{flex:1;font-size:var(--font-size-sm);padding:var(--space-2);text-align:center}.daily-challenge-banner{left:var(--space-4);max-width:calc(100% - 32px);min-width:auto;right:var(--space-4);transform:translateY(-120%)}.daily-challenge-banner.show{transform:translateY(0)}.banner-content{flex-wrap:wrap}.daily-challenge-banner button{flex:1;min-width:100%}}
/*# sourceMappingURL=app.df334ea1.css.map*/