.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}.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;max-width:90vw;max-height:90vh;overflow:auto;box-shadow:var(--shadow-xl);animation:slideUp .3s ease}.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 slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.cell{width:48px;height:48px;background:transparent;border-radius:50%;display:flex;align-items:center;justify-content:center;position:relative;overflow:visible}.cell:before{content:"";position:absolute;top:3px;right:3px;bottom:3px;left:3px;border-radius:50%;background:linear-gradient(180deg,#1e1b4b,#312e81);box-shadow:inset 0 4px 8px #00000080,inset 0 -2px 4px #ffffff0d}.cell__disc{width:40px;height:40px;border-radius:50%;background:var(--color-bg);position:relative;z-index:1;box-shadow:inset 0 3px 6px #00000026,inset 0 -2px 4px #ffffff1a}.cell--dropping .cell__disc{animation:disc-drop var(--drop-duration, .3s) cubic-bezier(.34,1.56,.64,1)}@keyframes disc-drop{0%{transform:translateY(calc(-1 * var(--drop-distance, 0px)));opacity:1}60%{transform:translateY(0)}75%{transform:translateY(-8px)}85%{transform:translateY(0)}92%{transform:translateY(-3px)}to{transform:translateY(0)}}.cell--red .cell__disc{background:radial-gradient(circle at 30% 30%,#f87171,#ef4444 40%,#dc2626);box-shadow:inset 0 -4px 8px #0000004d,inset 0 2px 4px #ffffff4d,0 4px 8px #0000004d,0 2px 4px #dc26264d}.cell--yellow .cell__disc{background:radial-gradient(circle at 30% 30%,#fde047,#eab308 40%,#ca8a04);box-shadow:inset 0 -4px 8px #00000040,inset 0 2px 4px #fff6,0 4px 8px #0000004d,0 2px 4px #ca8a044d}.cell--winning .cell__disc{animation:win-shimmer 1.2s ease-in-out infinite;animation-delay:var(--win-delay, 0s)}.cell--winning.cell--red .cell__disc{box-shadow:inset 0 -3px 6px #0003,0 0 0 3px #ef444466}.cell--winning.cell--yellow .cell__disc{box-shadow:inset 0 -3px 6px #0003,0 0 0 3px #eab30866}@keyframes win-shimmer{0%,to{transform:scale(1);filter:brightness(1);box-shadow:inset 0 -3px 6px #0003,0 0 0 3px currentColor}25%{transform:scale(1.15);filter:brightness(1.3);box-shadow:inset 0 -3px 6px #0003,0 0 20px 5px currentColor,0 0 0 3px currentColor}50%{transform:scale(1);filter:brightness(1);box-shadow:inset 0 -3px 6px #0003,0 0 0 3px currentColor}}.cell--winning.cell--red{color:#ef444499}.cell--winning.cell--yellow{color:#eab30899}@media (max-width: 400px){.cell{width:40px;height:40px}.cell__disc{width:34px;height:34px}}.board-wrapper{display:flex;flex-direction:column;gap:8px;overflow:visible;clip-path:inset(-500px -50px 0 -50px)}.column-buttons{display:flex;gap:4px;padding:0 8px}.column-btn{flex:1;height:40px;border:none;border-radius:8px;background:var(--color-bg-card);color:var(--color-text-secondary);font-size:20px;cursor:pointer;transition:all .15s ease;display:flex;align-items:center;justify-content:center}.column-btn:hover:not(:disabled){background:var(--color-gray-200);transform:translateY(-2px)}.column-btn--red:hover:not(:disabled){background:#ef444433;color:#dc2626}.column-btn--yellow:hover:not(:disabled){background:#eab30833;color:#ca8a04}.column-btn:disabled{opacity:.3;cursor:not-allowed}.column-btn__arrow{transition:transform .15s ease}.column-btn:hover:not(:disabled) .column-btn__arrow{transform:translateY(3px)}.board{background:linear-gradient(180deg,#4f46e5,#4338ca);border-radius:16px;padding:12px;display:flex;flex-direction:column;gap:6px;overflow:visible;position:relative;box-shadow:inset 0 2px #ffffff26,inset 0 -4px 8px #0003,0 4px #3730a3,0 8px #312e81,0 12px 20px #0000004d,0 4px 6px #0000001a;transform:perspective(800px) rotateX(2deg);transform-style:preserve-3d}.board:before{content:"";position:absolute;top:-4px;right:-4px;bottom:-4px;left:-4px;border-radius:20px;background:linear-gradient(180deg,#6366f1,#4338ca);z-index:-1;box-shadow:0 6px #3730a3,0 10px #312e81}.board__row{display:flex;gap:4px;overflow:visible}[data-theme=dark] .column-btn:hover:not(:disabled){background:var(--color-gray-700)}[data-theme=dark] .column-btn--red:hover:not(:disabled){background:#ef44444d}[data-theme=dark] .column-btn--yellow:hover:not(:disabled){background:#eab3084d}.header{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;background:var(--color-bg-card);border-bottom:1px solid var(--color-border)}.header__title{font-size:24px;font-weight:700;color:var(--color-text);margin:0}.header__actions{display:flex;gap:8px}.icon-btn{width:44px;height:44px;border:none;border-radius:12px;background:var(--color-bg);color:var(--color-text-secondary);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .15s ease}.icon-btn:hover{background:var(--color-gray-200);color:var(--color-text)}.icon-btn:active{transform:scale(.95)}[data-theme=dark] .icon-btn:hover{background:var(--color-gray-700)}.app{min-height:100vh;display:flex;flex-direction:column;background:var(--color-bg);transition:background-color .2s ease}.game-container{flex:1;display:flex;flex-direction:column;align-items:center;padding:20px;gap:20px}.game-controls{display:flex;flex-direction:column;align-items:center;gap:12px;width:100%;max-width:360px}.controls-row{display:flex;align-items:center;justify-content:center;gap:16px;flex-wrap:wrap}.mode-selector{display:flex;align-items:center;gap:6px;font-size:13px;color:var(--color-text-secondary)}.mode-toggle{position:relative;width:44px;height:24px;background:#6366f1;border:none;border-radius:12px;cursor:pointer;transition:background .2s ease}.mode-toggle--local{background:#10b981}.mode-toggle__knob{position:absolute;top:2px;left:2px;width:20px;height:20px;background:#fff;border-radius:50%;transition:transform .2s ease;display:flex;align-items:center;justify-content:center;font-size:10px}.mode-toggle--local .mode-toggle__knob{transform:translate(20px)}.mode-label{font-weight:600;min-width:24px}.mode-label--active{color:var(--color-text)}.difficulty-selector{display:flex;background:var(--color-bg-card);border-radius:8px;padding:3px;gap:2px}.difficulty-btn{padding:6px 12px;border:none;border-radius:6px;background:transparent;color:var(--color-text-secondary);font-size:12px;font-weight:600;cursor:pointer;transition:all .15s ease}.difficulty-btn:hover{color:var(--color-text)}.difficulty-btn--active{color:#fff!important;box-shadow:0 1px 3px #0003}.difficulty-btn--easy.difficulty-btn--active{background:#22c55e}.difficulty-btn--medium.difficulty-btn--active{background:#f59e0b}.difficulty-btn--hard.difficulty-btn--active{background:#ef4444}.turn-indicator{display:flex;align-items:center;gap:10px;padding:8px 16px;border-radius:24px;background:var(--color-bg-card);font-size:15px;font-weight:600;color:var(--color-text);box-shadow:var(--shadow-sm)}.turn-indicator__disc{width:24px;height:24px;border-radius:50%;box-shadow:inset 0 -2px 4px #0003}.turn-indicator__disc--red{background:#ef4444}.turn-indicator__disc--yellow{background:#eab308}.turn-indicator--thinking .turn-indicator__disc{animation:pulse-disc 1s ease-in-out infinite}@keyframes pulse-disc{0%,to{transform:scale(1);opacity:1}50%{transform:scale(.85);opacity:.7}}.turn-indicator--won{background:linear-gradient(135deg,#6366f1,#8b5cf6);color:#fff}.turn-indicator--draw{background:var(--color-gray-500);color:#fff}.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}.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)}.stats-content{min-width:280px}.stats-subtitle{text-align:center;color:var(--color-text);margin:0 0 16px;font-size:16px}.stats-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-bottom:16px}.stat-item{display:flex;flex-direction:column;align-items:center;padding:12px 8px;background:var(--color-bg);border-radius:8px}.stat-value{font-size:24px;font-weight:700;color:var(--color-text)}.stat-item--wins .stat-value{color:#22c55e}.stat-item--losses .stat-value{color:#ef4444}.stat-label{font-size:11px;color:var(--color-text-secondary);text-transform:uppercase;margin-top:4px}.stats-streaks{display:flex;justify-content:space-around;padding:16px 0;border-top:1px solid var(--color-border);margin-bottom:16px}.streak-item{display:flex;flex-direction:column;align-items:center;gap:4px}.streak-label{font-size:12px;color:var(--color-text-secondary)}.streak-value{font-size:28px;font-weight:700;color:var(--color-text)}.streak-value--best{color:#f59e0b}.reset-stats-btn{width:100%;padding:12px;border:none;border-radius:8px;background:var(--color-bg);color:var(--color-text-secondary);font-size:14px;font-weight:500;cursor:pointer;transition:all .15s ease}.reset-stats-btn:hover{background:#ef4444;color:#fff}.game-actions{min-height:40px;display:flex;justify-content:center}.undo-btn{display:flex;align-items:center;gap:6px;padding:8px 16px;border:none;border-radius:20px;background:var(--color-bg-card);color:var(--color-text-secondary);font-size:14px;font-weight:500;cursor:pointer;transition:all .15s ease;box-shadow:var(--shadow-sm)}.undo-btn:hover{background:var(--color-primary);color:#fff}.undo-btn svg{flex-shrink:0}: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}
