.game-btn{font-family:inherit;border:none;border-radius:8px;cursor:pointer;font-weight:600;transition:all .2s ease;display:inline-flex;align-items:center;justify-content:center;gap:8px}.game-btn:disabled{opacity:.5;cursor:not-allowed}.game-btn--primary{background:linear-gradient(135deg,#6366f1,#8b5cf6);color:#fff;box-shadow:0 4px 14px #6366f166}.game-btn--primary:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 6px 20px #6366f180}.game-btn--primary:active:not(:disabled){transform:translateY(0)}.game-btn--secondary{background:#fff;color:#374151;border:2px solid #e5e7eb}.game-btn--secondary:hover:not(:disabled){border-color:#6366f1;color:#6366f1}.game-btn--ghost{background:transparent;color:#6b7280}.game-btn--ghost:hover:not(:disabled){background:#f3f4f6;color:#374151}.game-btn--sm{padding:8px 16px;font-size:14px}.game-btn--md{padding:12px 24px;font-size:16px}.game-btn--lg{padding:16px 32px;font-size:18px}.game-card{background:#fff;border-radius:12px;transition:all .2s ease}.game-card--default{background:#fff}.game-card--elevated{box-shadow:0 4px 20px #0000001a}.game-card--outlined{border:2px solid #e5e7eb}.game-card--padding-none{padding:0}.game-card--padding-sm{padding:12px}.game-card--padding-md{padding:20px}.game-card--padding-lg{padding:32px}.confetti-canvas{position:fixed;top:0;left:0;width:100vw;height:100vh;max-width:100vw;max-height:100vh;pointer-events:none;z-index:9999;overflow:hidden}.game-modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;animation:fadeIn .2s ease}.game-modal{background:var(--color-bg-card);border-radius:16px;width:90vw;max-width:400px;max-height:85vh;max-height:85dvh;overflow:auto;box-shadow:var(--shadow-xl);animation:modalSlideIn .3s ease;margin:auto}.game-modal__header{display:flex;align-items:center;justify-content:space-between;padding:20px 24px;border-bottom:1px solid var(--color-border)}.game-modal__title{margin:0;font-size:20px;font-weight:600;color:var(--color-text)}.game-modal__close{background:none;border:none;font-size:28px;color:var(--color-text-secondary);cursor:pointer;padding:0;line-height:1;transition:color .2s}.game-modal__close:hover{color:var(--color-text)}.game-modal__content{padding:24px}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes modalSlideIn{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}.lobby{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:24px;min-height:400px}.lobby__connecting,.lobby__disconnected,.lobby__waiting,.lobby__menu{display:flex;flex-direction:column;align-items:center;gap:16px;width:100%;max-width:320px;text-align:center}.lobby h2{margin:0;font-size:22px;color:var(--color-text)}.lobby h3{margin:0;font-size:16px;color:var(--color-text)}.lobby p{margin:0;font-size:14px;color:var(--color-text-secondary)}.lobby__tabs{display:flex;width:100%;background:var(--color-bg-card);border-radius:12px;padding:4px}.lobby__tab{flex:1;padding:12px 16px;border:none;border-radius:8px;background:transparent;color:var(--color-text-secondary);font-size:14px;font-weight:600;cursor:pointer;transition:all .15s ease}.lobby__tab:hover:not(.lobby__tab--active){color:var(--color-text)}.lobby__tab--active{background:var(--color-primary);color:#fff;box-shadow:0 2px 8px #6366f14d}.lobby__tab-content{display:flex;flex-direction:column;gap:16px;width:100%;animation:tab-fade .2s ease-out}.lobby__tab-content form{display:flex;flex-direction:column;gap:20px;width:100%}@keyframes tab-fade{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.lobby__spinner{width:40px;height:40px;border:4px solid var(--color-gray-200);border-top-color:var(--color-primary);border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.lobby__btn{width:100%;padding:14px 24px;border:none;border-radius:12px;font-size:16px;font-weight:600;cursor:pointer;transition:all .15s ease}.lobby__btn--primary{background:linear-gradient(135deg,#6366f1,#8b5cf6);color:#fff;box-shadow:0 4px 12px #6366f14d}.lobby__btn--primary:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 6px 16px #6366f166}.lobby__btn--primary:disabled{opacity:.5;cursor:not-allowed}.lobby__btn--secondary{background:var(--color-bg-card);color:var(--color-text-secondary)}.lobby__btn--secondary:hover{background:var(--color-gray-200);color:var(--color-text)}[data-theme=dark] .lobby__btn--secondary:hover{background:var(--color-gray-700)}.lobby__btn--share{display:flex;align-items:center;justify-content:center;gap:8px;background:linear-gradient(135deg,#10b981,#059669);color:#fff;box-shadow:0 4px 12px #10b9814d}.lobby__btn--share:hover{transform:translateY(-2px);box-shadow:0 6px 16px #10b98166}.lobby__btn--share svg{flex-shrink:0}.lobby__error{padding:12px 16px;background:#ef44441a;border:1px solid rgba(239,68,68,.2);border-radius:8px;color:#ef4444;font-size:14px}.lobby__game-header{display:flex;flex-direction:column;align-items:center;gap:2px}.lobby__game-owner{font-size:24px;font-weight:700;color:var(--color-primary)}.lobby__game-suffix{font-size:13px;color:var(--color-text-secondary);text-transform:lowercase}.lobby__waiting-status{display:flex;align-items:center;gap:10px;font-size:15px;color:var(--color-text-secondary)}.lobby__pulse{width:10px;height:10px;border-radius:50%;background:#10b981;animation:pulse 1.5s ease-in-out infinite;flex-shrink:0}@keyframes pulse{0%,to{box-shadow:0 0 #10b98199}50%{box-shadow:0 0 0 8px #10b98100}}.lobby__invite-card{display:flex;align-items:stretch;background:var(--color-bg-card);border-radius:16px;overflow:hidden;width:100%}.lobby__invite-code{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;padding:16px;cursor:pointer;transition:background .15s ease}.lobby__invite-code:hover{background:#00000008}[data-theme=dark] .lobby__invite-code:hover{background:#ffffff08}.lobby__invite-code:active{background:#0000000f}.lobby__invite-divider{width:1px;background:var(--color-border)}.lobby__invite-qr{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;padding:12px 16px;background:#fff;color:#1a1a1a}[data-theme=dark] .lobby__invite-qr{background:#f5f5f5}.lobby__qr-hint{font-size:10px;text-transform:uppercase;letter-spacing:.5px;color:#666}.lobby__code-label{font-size:11px;text-transform:uppercase;letter-spacing:1px;color:var(--color-text-secondary)}.lobby__code-value{font-size:28px;font-weight:700;font-family:monospace;letter-spacing:3px;color:var(--color-primary)}.lobby__copy-hint{font-size:11px;color:var(--color-text-secondary)}.lobby__nickname{width:100%}.lobby__nickname-display{display:flex;align-items:center;gap:8px;padding:4px;background:var(--color-bg-card);border-radius:12px}.lobby__nickname-info{display:flex;align-items:center;justify-content:center;gap:8px;flex:1;padding:10px 12px;border-radius:8px;cursor:pointer;transition:background .15s ease}.lobby__nickname-info:hover{background:#0000000d}[data-theme=dark] .lobby__nickname-info:hover{background:#ffffff0d}.lobby__nickname-info svg{color:var(--color-text-secondary);flex-shrink:0}.lobby__nickname-regenerate{display:flex;align-items:center;justify-content:center;width:36px;height:36px;border:none;border-radius:8px;background:transparent;color:var(--color-text-secondary);cursor:pointer;transition:all .15s ease}.lobby__nickname-regenerate:hover{background:#0000000d;color:var(--color-primary)}[data-theme=dark] .lobby__nickname-regenerate:hover{background:#ffffff0d}.lobby__nickname-label{font-size:13px;color:var(--color-text-secondary)}.lobby__nickname-value{font-weight:600;color:var(--color-primary)}.lobby__nickname-edit{display:flex;align-items:center;gap:8px}.lobby__nickname-input{flex:1;padding:10px 12px;border:2px solid var(--color-primary);border-radius:8px;background:var(--color-bg);color:var(--color-text);font-size:14px;font-weight:600;outline:none}.lobby__nickname-btn{display:flex;align-items:center;justify-content:center;width:36px;height:36px;border:none;border-radius:8px;background:var(--color-bg-card);color:var(--color-text);cursor:pointer;transition:all .15s ease}.lobby__nickname-btn:hover{background:var(--color-gray-200)}[data-theme=dark] .lobby__nickname-btn:hover{background:var(--color-gray-700)}.lobby__divider{display:flex;align-items:center;width:100%;margin:8px 0}.lobby__divider:before,.lobby__divider:after{content:"";flex:1;height:1px;background:var(--color-border)}.lobby__divider span{padding:0 16px;font-size:12px;text-transform:uppercase;letter-spacing:1px;color:var(--color-text-secondary)}.lobby__section{display:flex;flex-direction:column;align-items:center;gap:12px;width:100%}.lobby__section form{display:flex;flex-direction:column;gap:16px;width:100%}.lobby__input{width:100%;padding:14px 16px;border:2px solid var(--color-border);border-radius:12px;background:var(--color-bg);color:var(--color-text);font-size:20px;font-family:monospace;font-weight:600;text-align:center;letter-spacing:4px;text-transform:uppercase;transition:border-color .15s ease;box-sizing:border-box}.lobby__input:focus{outline:none;border-color:var(--color-primary)}.lobby__input::placeholder{font-family:inherit;letter-spacing:0;text-transform:none;color:var(--color-text-secondary)}.lobby__mode-selector{display:flex;gap:12px;width:100%}.lobby__mode-btn{flex:1;display:flex;flex-direction:column;gap:6px;padding:16px;border:2px solid var(--color-border);border-radius:12px;background:var(--color-bg);cursor:pointer;transition:all .15s ease;text-align:left}.lobby__mode-btn:hover{border-color:var(--color-primary);background:#6366f10d}.lobby__mode-btn--active{border-color:var(--color-primary);background:#6366f11a}.lobby__mode-title{font-size:14px;font-weight:600;color:var(--color-text)}.lobby__mode-btn--active .lobby__mode-title{color:var(--color-primary)}.lobby__mode-desc{font-size:12px;color:var(--color-text-secondary);line-height:1.4}.lobby__mode-badge{display:inline-block;padding:6px 12px;background:#6366f11a;border:1px solid rgba(99,102,241,.3);border-radius:16px;font-size:12px;font-weight:600;color:var(--color-primary);text-transform:uppercase;letter-spacing:.5px}.lobby__share-split{display:flex;width:100%;border-radius:12px;overflow:hidden}.lobby__btn--share-main{flex:1;border-radius:12px 0 0 12px}.lobby__btn--share-copy{width:50px;padding:14px 0;border-radius:0 12px 12px 0;border-left:1px solid rgba(255,255,255,.2)}.lobby__btn--share-copy:hover{background:linear-gradient(135deg,#059669,#047857)}.app{min-height:100vh;display:flex;flex-direction:column;background:radial-gradient(circle at 20% 80%,rgba(99,102,241,.15) 0%,transparent 50%),radial-gradient(circle at 80% 20%,rgba(139,92,246,.15) 0%,transparent 50%),radial-gradient(circle at 50% 50%,rgba(99,102,241,.05) 0%,transparent 70%),var(--color-bg);transition:background-color .2s ease;position:relative}.app:before{content:"";position:fixed;top:0;right:0;bottom:0;left:0;background-image:radial-gradient(circle,rgba(99,102,241,.08) 1px,transparent 1px);background-size:24px 24px;pointer-events:none;z-index:0}.app>*{position:relative;z-index:1}[data-theme=dark] .app{background:radial-gradient(circle at 20% 80%,rgba(99,102,241,.2) 0%,transparent 50%),radial-gradient(circle at 80% 20%,rgba(139,92,246,.2) 0%,transparent 50%),radial-gradient(circle at 50% 50%,rgba(99,102,241,.08) 0%,transparent 70%),var(--color-bg)}[data-theme=dark] .app:before{background-image:radial-gradient(circle,rgba(99,102,241,.12) 1px,transparent 1px)}.game-container{flex:1;display:flex;flex-direction:column;align-items:center;padding:20px;gap:24px}.mode-selector{display:flex;gap:4px;background:var(--color-bg-card);border-radius:12px;padding:4px}.mode-btn{padding:10px 20px;border:none;border-radius:8px;background:transparent;color:var(--color-text-secondary);font-size:14px;font-weight:600;cursor:pointer;transition:all .15s ease}.mode-btn:hover{color:var(--color-text)}.mode-btn--active,.mode-btn--active:hover,.mode-btn--active:focus,.mode-btn--active:active{background:var(--color-primary);color:#fff;box-shadow:0 2px 8px #6366f14d}.race-status{width:100%;max-width:320px}.race-progress{display:flex;flex-direction:column;gap:8px}.race-player{display:flex;align-items:center;gap:10px}.race-player__name{font-size:13px;font-weight:600;width:80px;text-align:right;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.race-player--me .race-player__name{color:var(--color-primary)}.race-player--opponent .race-player__name{color:var(--color-text-secondary)}.race-player__bar{flex:1;height:12px;background:var(--color-bg-card);border-radius:6px;overflow:hidden}.race-player__fill{height:100%;border-radius:6px;transition:width .3s ease}.race-player__fill--me{background:linear-gradient(90deg,#6366f1,#8b5cf6)}.race-player__fill--opponent{background:linear-gradient(90deg,#f97316,#ea580c)}.race-player__score{font-size:14px;font-weight:700;width:40px;text-align:left;color:var(--color-text)}.race-result{text-align:center;padding:0;margin:-8px 0;animation:result-pop .5s cubic-bezier(.34,1.56,.64,1)}@keyframes result-pop{0%{transform:scale(.9) translateY(-10px);opacity:0}to{transform:scale(1) translateY(0);opacity:1}}.race-result__icon{font-size:32px;margin-bottom:4px;display:block}.race-result__title{font-size:18px;font-weight:700;margin-bottom:4px}.race-result--win .race-result__title{color:#22c55e}.race-result--lose .race-result__title{color:#ef4444}.race-result__reason{font-size:12px;font-weight:500;color:var(--color-text-secondary);margin-bottom:8px}.race-result__scores{display:flex;align-items:center;justify-content:center;gap:10px;background:var(--color-bg-card);border-radius:12px;padding:10px 16px;box-shadow:var(--shadow-sm)}.race-result__player{display:flex;flex-direction:column;align-items:center;gap:2px;min-width:70px}.race-result__player-name{font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;color:var(--color-text-secondary)}.race-result__player-score{font-size:28px;font-weight:800;color:var(--color-text)}.race-result__player--winner .race-result__player-name,.race-result__player--winner .race-result__player-score{color:#22c55e}.race-result__player--loser .race-result__player-score{color:var(--color-text-secondary);opacity:.6}.race-result__vs{font-size:13px;font-weight:700;color:var(--color-text-secondary);opacity:.4;text-transform:uppercase}.leave-btn{padding:12px 24px;border:none;border-radius:8px;background:var(--color-bg-card);color:var(--color-text-secondary);font-size:14px;font-weight:600;cursor:pointer;transition:all .15s ease;min-width:130px}.game-actions .button{min-width:130px}.leave-btn:hover{background:var(--color-gray-200);color:var(--color-text)}[data-theme=dark] .leave-btn:hover{background:var(--color-gray-700)}.game-actions{display:flex;flex-direction:row;align-items:center;justify-content:center;gap:12px;min-height:60px;flex-wrap:wrap}.combo-indicator{padding:8px 20px;border-radius:20px;font-size:18px;font-weight:700;animation:combo-pop .3s ease-out;text-transform:uppercase;letter-spacing:1px}@keyframes combo-pop{0%{transform:scale(.5);opacity:0}50%{transform:scale(1.2)}to{transform:scale(1);opacity:1}}.combo-indicator--x2{background:linear-gradient(135deg,#22c55e,#16a34a);color:#fff;box-shadow:0 4px 12px #22c55e66}.combo-indicator--x3{background:linear-gradient(135deg,#3b82f6,#2563eb);color:#fff;box-shadow:0 4px 12px #3b82f666}.combo-indicator--x4{background:linear-gradient(135deg,#a855f7,#9333ea);color:#fff;box-shadow:0 4px 12px #a855f766}.combo-indicator--x5{background:linear-gradient(135deg,#f97316,#ea580c);color:#fff;box-shadow:0 4px 12px #f9731666;animation:combo-pop .3s ease-out,combo-glow 1s ease-in-out infinite}@keyframes combo-glow{0%,to{box-shadow:0 4px 12px #f9731666}50%{box-shadow:0 4px 24px #f9731699,0 0 40px #f973164d}}.help-content{max-width:360px}.help-content h4{margin:16px 0 8px;color:var(--color-text)}.help-content ul{margin:0;padding-left:20px;color:var(--color-text-secondary)}.help-content li{margin-bottom:8px}.win-content{text-align:center;padding:20px}.win-emoji{font-size:64px;margin:0 0 16px}.win-content p{margin:8px 0;color:var(--color-text-secondary)}.win-content .game-btn{margin-top:20px}.settings-content{min-width:280px}.settings-row{display:flex;align-items:center;justify-content:space-between;padding:12px 0;border-bottom:1px solid var(--color-border)}.settings-row:last-child{border-bottom:none}.settings-label{font-size:16px;font-weight:500;color:var(--color-text)}.toggle{position:relative;width:52px;height:28px;background:var(--color-gray-300);border:none;border-radius:14px;cursor:pointer;transition:background .2s ease;padding:0}.toggle--on{background:var(--color-primary)}.toggle__knob{position:absolute;top:2px;left:2px;width:24px;height:24px;background:#fff;border-radius:50%;box-shadow:0 2px 4px #0003;transition:transform .2s ease}.toggle--on .toggle__knob{transform:translate(24px)}.theme-selector{display:flex;gap:4px;background:var(--color-bg);border-radius:8px;padding:4px}.theme-btn{padding:8px 12px;border:none;border-radius:6px;background:transparent;color:var(--color-text-secondary);font-size:14px;font-weight:500;cursor:pointer;transition:all .15s ease}.theme-btn:hover{color:var(--color-text)}.theme-btn--active{background:var(--color-bg-card);color:var(--color-primary);box-shadow:var(--shadow-sm)}.language-selector{display:flex;gap:4px;background:var(--color-bg);border-radius:8px;padding:4px}.language-btn{width:40px;height:36px;border:none;border-radius:6px;background:transparent;font-size:20px;cursor:pointer;transition:all .15s ease;display:flex;align-items:center;justify-content:center}.language-btn:hover{background:var(--color-bg-card)}.language-btn--active{background:var(--color-bg-card);box-shadow:var(--shadow-sm)}.shared-status{width:100%;max-width:320px}.shared-scores{display:flex;align-items:center;justify-content:center;gap:16px;padding:12px;background:var(--color-bg-card);border-radius:12px}.shared-player{display:flex;flex-direction:column;align-items:center;gap:4px;flex:1}.shared-player__name{font-size:13px;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:100%}.shared-player--me .shared-player__name{color:var(--color-primary)}.shared-player--opponent .shared-player__name{color:#06b6d4}.shared-player__score{font-size:28px;font-weight:700;color:var(--color-text)}.shared-vs{font-size:14px;font-weight:600;color:var(--color-text-secondary);text-transform:uppercase}:root{--color-primary: #6366f1;--color-primary-dark: #4f46e5;--color-secondary: #8b5cf6;--color-success: #10b981;--color-warning: #f59e0b;--color-error: #ef4444;--color-gray-50: #f9fafb;--color-gray-100: #f3f4f6;--color-gray-200: #e5e7eb;--color-gray-300: #d1d5db;--color-gray-400: #9ca3af;--color-gray-500: #6b7280;--color-gray-600: #4b5563;--color-gray-700: #374151;--color-gray-800: #1f2937;--color-gray-900: #111827;--color-bg: #f9fafb;--color-bg-card: #ffffff;--color-bg-elevated: #ffffff;--color-text: #111827;--color-text-secondary: #6b7280;--color-border: #e5e7eb;--font-family: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--font-size-xs: 12px;--font-size-sm: 14px;--font-size-base: 16px;--font-size-lg: 18px;--font-size-xl: 20px;--font-size-2xl: 24px;--font-size-3xl: 30px;--spacing-1: 4px;--spacing-2: 8px;--spacing-3: 12px;--spacing-4: 16px;--spacing-5: 20px;--spacing-6: 24px;--spacing-8: 32px;--spacing-10: 40px;--radius-sm: 4px;--radius-md: 8px;--radius-lg: 12px;--radius-xl: 16px;--radius-full: 9999px;--shadow-sm: 0 1px 2px rgba(0, 0, 0, .05);--shadow-md: 0 4px 6px rgba(0, 0, 0, .1);--shadow-lg: 0 10px 15px rgba(0, 0, 0, .1);--shadow-xl: 0 20px 25px rgba(0, 0, 0, .15)}[data-theme=dark]{--color-primary: #818cf8;--color-primary-dark: #6366f1;--color-secondary: #a78bfa;--color-gray-50: #111827;--color-gray-100: #1f2937;--color-gray-200: #374151;--color-gray-300: #4b5563;--color-gray-400: #6b7280;--color-gray-500: #9ca3af;--color-gray-600: #d1d5db;--color-gray-700: #e5e7eb;--color-gray-800: #f3f4f6;--color-gray-900: #f9fafb;--color-bg: #0f172a;--color-bg-card: #1e293b;--color-bg-elevated: #334155;--color-text: #f1f5f9;--color-text-secondary: #94a3b8;--color-border: #334155;--shadow-sm: 0 1px 2px rgba(0, 0, 0, .3);--shadow-md: 0 4px 6px rgba(0, 0, 0, .4);--shadow-lg: 0 10px 15px rgba(0, 0, 0, .4);--shadow-xl: 0 20px 25px rgba(0, 0, 0, .5)}*,*:before,*:after{box-sizing:border-box}body{font-family:var(--font-family);font-size:var(--font-size-base);color:var(--color-text);background:var(--color-bg);margin:0;padding:0;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;transition:background-color .2s ease,color .2s ease}.header{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;background:var(--color-bg-card);border-bottom:1px solid var(--color-border);gap:12px;transition:background-color .2s ease,border-color .2s ease}.header__title{margin:0;font-size:22px;font-weight:800;color:var(--color-primary);letter-spacing:-.5px}.header__stats{display:flex;gap:20px}.stat{display:flex;flex-direction:column;align-items:center;gap:2px}.stat__value{font-size:22px;font-weight:700;color:var(--color-text);line-height:1}.stat__label{font-size:10px;color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:.5px;font-weight:500}.stat--best .stat__value,.stat--best .stat__label{color:var(--color-primary)}.header__actions{display:flex;gap:4px}.icon-btn{display:flex;align-items:center;justify-content:center;width:44px;height:44px;border:none;border-radius:10px;background:transparent;color:var(--color-text-secondary);cursor:pointer;transition:all .15s ease}.icon-btn:hover{background:var(--color-bg-elevated);color:var(--color-text)}.icon-btn:active{transform:scale(.95)}@media (max-width: 420px){.header{padding:10px 12px}.header__title{font-size:18px}.header__stats{gap:16px}.stat__value{font-size:18px}.icon-btn{width:40px;height:40px}}.game-board{width:100%;max-width:400px;margin:0 auto;padding:16px}.game-board__grid{display:grid;grid-template-columns:repeat(6,1fr);gap:8px;background:linear-gradient(145deg,#6366f1,#4f46e5);padding:14px;border-radius:16px;transition:background-color .2s ease;box-shadow:inset 0 2px 4px #ffffff26,inset 0 -4px 8px #0003,0 4px #4338ca,0 8px #3730a3,0 12px 20px #00000040,0 4px 6px #0000001a}[data-theme=dark] .game-board__grid{background:linear-gradient(145deg,#4f46e5,#4338ca);box-shadow:inset 0 2px 4px #ffffff1a,inset 0 -4px 8px #0000004d,0 4px #3730a3,0 8px #312e81,0 12px 20px #0006,0 4px 6px #0003}@media (max-width: 420px){.game-board{padding:8px}.game-board__grid{gap:4px;padding:8px}}.number-cell{position:relative;aspect-ratio:1;display:flex;align-items:center;justify-content:center;background:linear-gradient(145deg,#fff,#f3f4f6);border:none;border-radius:10px;cursor:pointer;font-family:inherit;transition:all .2s ease;padding:0;min-width:44px;min-height:44px;box-shadow:0 2px 4px #00000014,0 4px 8px #0000000a,inset 0 1px #fffc}[data-theme=dark] .number-cell{background:linear-gradient(145deg,#374151,#1f2937);box-shadow:0 2px 4px #0000004d,0 4px 8px #0003,inset 0 1px #ffffff1a}.number-cell:hover:not(:disabled):not(.number-cell--selected):not(.number-cell--matched){transform:translateY(-2px) scale(1.02);box-shadow:0 4px 8px #0000001f,0 8px 16px #00000014,inset 0 1px #fffc}.number-cell:active:not(:disabled):not(.number-cell--matched){transform:scale(.95);box-shadow:0 1px 2px #0000001a,inset 0 1px #fffc}.number-cell--selected,.number-cell--selected:hover{background:linear-gradient(145deg,#fbbf24,#f59e0b);transform:scale(1.12);box-shadow:0 0 0 4px #fbbf2480,0 6px 16px #f59e0b80,inset 0 2px #fff6;animation:pulse-selected 1s ease-in-out infinite}@keyframes pulse-selected{0%,to{box-shadow:0 0 0 4px #fbbf2480,0 6px 16px #f59e0b80,inset 0 2px #fff6;transform:scale(1.12)}50%{box-shadow:0 0 0 6px #fbbf244d,0 8px 24px #f59e0b99,0 0 30px #fbbf2466,inset 0 2px #fff6;transform:scale(1.15)}}.number-cell--selected .number-cell__value,.number-cell--selected:hover .number-cell__value{color:#1e1b4b;text-shadow:0 1px 0 rgba(255,255,255,.3);font-weight:800}.number-cell--just-matched{animation:match-pop .4s ease-out forwards}@keyframes match-pop{0%{transform:scale(1);background:linear-gradient(145deg,#34d399,#10b981);box-shadow:0 0 #10b981b3,0 4px 12px #10b98166}50%{transform:scale(1.2);background:linear-gradient(145deg,#34d399,#10b981);box-shadow:0 0 0 12px #10b98100,0 8px 24px #10b9814d}to{transform:scale(1);background:var(--color-gray-100);box-shadow:none}}.number-cell--just-matched .number-cell__value{animation:value-fade .4s ease-out forwards}@keyframes value-fade{0%,50%{color:#fff;transform:scale(1.1)}to{color:var(--color-gray-400);transform:scale(1)}}.number-cell--matched{background:var(--color-gray-100);cursor:default;box-shadow:none}[data-theme=dark] .number-cell--matched{background:var(--color-gray-800)}.number-cell--matched .number-cell__value{color:var(--color-gray-400)}.number-cell--opponent-selected{box-shadow:0 0 0 4px #06b6d4,0 4px 16px #06b6d480;animation:opponent-pulse 1.2s ease-in-out infinite}.number-cell--opponent-selected:not(.number-cell--selected){background:linear-gradient(145deg,#ecfeff,#cffafe)}[data-theme=dark] .number-cell--opponent-selected:not(.number-cell--selected){background:linear-gradient(145deg,#083344,#155e75)}@keyframes opponent-pulse{0%,to{box-shadow:0 0 0 4px #06b6d4,0 4px 16px #06b6d480}50%{box-shadow:0 0 0 6px #06b6d4cc,0 6px 24px #06b6d499,0 0 30px #06b6d466}}.number-cell--selected.number-cell--opponent-selected{box-shadow:0 0 0 4px #fbbf24,0 0 0 8px #06b6d4,0 6px 20px #06b6d480}.number-cell__value{font-size:22px;font-weight:700;color:var(--color-text);z-index:1}.number-cell__cross{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center}.number-cell__cross:before,.number-cell__cross:after{content:"";position:absolute;width:80%;height:2px;background:var(--color-gray-400);border-radius:1px}.number-cell__cross:before{transform:rotate(45deg)}.number-cell__cross:after{transform:rotate(-45deg)}@media (max-width: 420px){.number-cell{min-width:40px;min-height:40px;border-radius:6px}.number-cell__value{font-size:18px}}
