:root{--bg-gradient: linear-gradient(135deg, #f8fafc 0%, #f1f5f9 100%);--text-color: #1e293b;--header-text: #1e293b;--card-bg: white;--card-shadow: rgba(0, 0, 0, .1);--game-card-bg: white;--game-card-text: #1e293b;--game-card-subtext: #64748b;--btn-bg: #6366f1;--btn-hover: #4f46e5;--install-btn-bg: #6366f1;--install-btn-text: white;--footer-text: #64748b;--game-title-color: #776e65;--game-instructions-color: #776e65;--score-box-bg: #bbada0;--score-label-color: #eee4da;--score-value-color: white;--game-btn-bg: #8f7a66;--grid-container-bg: #bbada0;--grid-cell-bg: rgba(238, 228, 218, .35);--winning-bg: #fef3c7;--message-bg: rgba(238, 228, 218, .95);--message-text: #776e65}[data-theme=dark]{--bg-gradient: linear-gradient(135deg, #0f172a 0%, #1e293b 100%);--text-color: #f1f5f9;--header-text: #f1f5f9;--card-bg: #1e293b;--card-shadow: rgba(0, 0, 0, .4);--game-card-bg: linear-gradient(135deg, #334155 0%, #1e293b 100%);--game-card-text: #f1f5f9;--game-card-subtext: #94a3b8;--btn-bg: #818cf8;--btn-hover: #6366f1;--install-btn-bg: #334155;--install-btn-text: #f1f5f9;--footer-text: #94a3b8;--game-title-color: #f1f5f9;--game-instructions-color: #94a3b8;--score-box-bg: #334155;--score-label-color: #94a3b8;--score-value-color: white;--game-btn-bg: #475569;--grid-container-bg: #334155;--grid-cell-bg: rgba(255, 255, 255, .1);--winning-bg: #065f46;--message-bg: rgba(15, 23, 42, .95);--message-text: #f1f5f9}*{margin:0;padding:0;box-sizing:border-box}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,sans-serif;background:var(--bg-gradient);height:100vh;overflow:hidden;color:var(--text-color)}#app{max-width:800px;margin:0 auto;height:100vh;display:flex;flex-direction:column}.app-header{text-align:center;padding:1rem 1rem .5rem;color:var(--header-text)}#menu-header:has(.unified-game-header){padding:0}.app-header h1{font-size:2rem;margin-bottom:.25rem;text-shadow:2px 2px 4px rgba(0,0,0,.2)}.subtitle{font-size:.9rem;opacity:.9}.theme-toggle{position:absolute;top:1rem;right:1rem;background:#ffffff1a;border:1px solid rgba(255,255,255,.2);color:var(--text-color);padding:.6rem;border-radius:10px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .3s ease;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);z-index:100}.theme-toggle:hover{background:#fff3;transform:translateY(-1px)}.theme-toggle svg{display:block;transition:opacity .2s ease}.theme-toggle .icon-sun{display:none}.theme-toggle .icon-moon{display:block}[data-theme=dark] .theme-toggle{background:#ffffff1a;border-color:#fff3}[data-theme=dark] .theme-toggle .icon-sun{display:block}[data-theme=dark] .theme-toggle .icon-moon{display:none}.game-container{flex:1;padding:.5rem;position:relative}.menu-screen{background:var(--card-bg);border-radius:20px;padding:1rem;box-shadow:0 10px 40px var(--card-shadow)}.games-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(110px,1fr));gap:.75rem}body.fullscreen-game .games-grid{padding:1.5rem;overflow-y:auto;flex:1;align-content:start}.game-card{background:var(--game-card-bg);border-radius:15px;padding:.75rem;text-align:center;cursor:pointer;transition:transform .3s ease,box-shadow .3s ease;border:2px solid transparent}.game-card:not(.disabled):hover{transform:translateY(-5px);box-shadow:0 10px 25px var(--card-shadow);border-color:#6366f1}.game-card.disabled{opacity:.5;cursor:not-allowed}.game-icon{font-size:2rem;margin-bottom:.25rem}.game-card h2{color:var(--game-card-text);margin-bottom:.15rem;font-size:.95rem;overflow-wrap:break-word}.game-card p{color:var(--game-card-subtext);font-size:.7rem}.game-view{background:var(--card-bg);border-radius:20px;padding:2rem;box-shadow:0 10px 40px var(--card-shadow)}.game-view.hidden,.menu-screen.hidden{display:none}#game-content{min-height:300px}.app-footer{text-align:center;padding:.5rem;color:var(--footer-text)}.app-footer p{margin-bottom:1rem;opacity:.9}.install-button{background:var(--install-btn-bg);color:var(--install-btn-text);border:none;padding:1rem 2rem;border-radius:25px;font-size:1rem;font-weight:700;cursor:pointer;transition:transform .3s ease,box-shadow .3s ease;box-shadow:0 5px 15px #0003}.install-button:hover{transform:translateY(-2px);box-shadow:0 7px 20px #0000004d}.install-button.hidden{display:none}.deploy-info{margin-top:.5rem;font-size:.65rem;opacity:.7;display:flex;flex-direction:column;gap:.2rem;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace}#deploy-hash{font-weight:700}.unified-game-header{display:flex;justify-content:space-between;align-items:center;padding:.5rem 1rem;background:var(--card-bg);border-bottom:1px solid rgba(0,0,0,.1);position:sticky;top:0;z-index:100;box-shadow:0 2px 8px var(--card-shadow);gap:.5rem}.unified-game-header>*:first-child,.unified-game-header>*:last-child{flex-shrink:0}[data-theme=dark] .unified-game-header{border-bottom:1px solid rgba(255,255,255,.1)}.unified-header-actions{display:flex;gap:.5rem;align-items:center}.unified-header-btn{display:flex;align-items:center;gap:.5rem;padding:.6rem 1rem;border:none;border-radius:8px;background:var(--btn-bg);color:#fff;font-size:.9rem;font-weight:500;cursor:pointer;transition:all .2s ease;white-space:nowrap}.unified-header-btn:hover{background:var(--btn-hover);transform:translateY(-1px);box-shadow:0 4px 8px #0003}.unified-header-btn:active{transform:translateY(0)}.unified-back-btn{background:var(--game-btn-bg)}.unified-back-btn:hover{background:var(--btn-hover)}.unified-new-game-btn svg,.unified-back-btn svg{flex-shrink:0}.unified-pause-btn{background:var(--game-btn-bg)}.unified-pause-btn:hover{background:var(--btn-hover)}.unified-pause-btn .resume-icon,.unified-pause-btn .resume-text,.unified-pause-btn[data-paused=true] .pause-icon,.unified-pause-btn[data-paused=true] .pause-text{display:none}.unified-pause-btn[data-paused=true] .resume-icon,.unified-pause-btn[data-paused=true] .resume-text{display:inline}.unified-theme-toggle-btn{padding:.6rem;position:relative}.unified-theme-toggle-btn svg{display:block;transition:opacity .2s ease}.icon-sun{display:none}.icon-moon,[data-theme=dark] .icon-sun{display:block}[data-theme=dark] .icon-moon{display:none}.back-text-desktop{display:inline}.back-text-mobile{display:none}@media(max-width:600px){.unified-game-header{padding:.75rem}.unified-header-btn{padding:.5rem .75rem;font-size:.85rem}.unified-header-btn span,.unified-new-game-btn span,.back-text-desktop{display:none}.back-text-mobile{display:inline}.unified-header-btn svg{margin:0}.unified-theme-toggle-btn{padding:.5rem}}@media(max-width:400px){.unified-header-actions{gap:.25rem}.unified-header-btn{padding:.4rem .6rem}.unified-theme-toggle-btn{padding:.4rem}}.game-2048,.game-tictactoe,.game-minesweeper,.game-tetris,.game-sudoku,.kakuro-game,.game-snake,.game-pacman{position:relative}.game-pause-overlay{position:absolute;inset:0;background:#0f172aa6;display:flex;align-items:center;justify-content:center;opacity:0;pointer-events:none;z-index:200;transition:opacity .2s ease}.game-pause-overlay.active{opacity:1;pointer-events:auto}.game-pause-card{background:var(--message-bg);color:var(--message-text);border-radius:12px;padding:1.5rem 2rem;text-align:center;box-shadow:0 12px 30px #00000040}.game-pause-card h3{margin-bottom:.75rem;color:var(--game-title-color);font-size:1.5rem}.game-pause-btn{background:var(--btn-bg);color:#fff;border:none;padding:.6rem 1.2rem;border-radius:8px;font-size:.95rem;font-weight:600;cursor:pointer;transition:all .2s ease}.game-pause-btn:hover{background:var(--btn-hover);transform:translateY(-1px)}.game-2048{max-width:100%;width:100%;margin:0 auto;padding:.5rem;height:100%;display:flex;flex-direction:column;position:relative}.game-header-2048{display:flex;justify-content:space-between;align-items:center;margin-bottom:.5rem;flex-wrap:nowrap;gap:.5rem}.title-container h2{font-size:2rem;color:var(--game-title-color);margin:0}.game-instructions{display:none}.scores-container{display:flex;gap:.75rem}.score-box{background:var(--score-box-bg);padding:.4rem .75rem;border-radius:5px;text-align:center;min-width:60px}.score-label{color:var(--score-label-color);font-size:.75rem;font-weight:700}.score-value{color:var(--score-value-color);font-size:1.1rem;font-weight:700;margin-top:.1rem}.game-controls{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem;flex-wrap:wrap;gap:1rem}.game-button{background:var(--game-btn-bg);color:#fff;border:none;padding:.5rem 1rem;border-radius:5px;font-size:.9rem;font-weight:700;cursor:pointer;transition:background .3s ease}.game-button:hover{opacity:.9}.controls-hint{color:var(--game-instructions-color);font-size:.9rem}.desktop-hint{display:inline}.mobile-hint{display:none}.grid-container{background:var(--grid-container-bg);border-radius:10px;padding:10px;position:relative;width:100%;max-width:min(800px,calc(100vh - 140px));aspect-ratio:1;margin:auto;container-type:inline-size}.grid-background{display:grid;grid-template-columns:repeat(4,1fr);grid-template-rows:repeat(4,1fr);gap:10px}.grid-cell{background:var(--grid-cell-bg);border-radius:5px;aspect-ratio:1}.grid-tiles{position:absolute;inset:10px;display:grid;grid-template-columns:repeat(4,1fr);grid-template-rows:repeat(4,1fr);gap:10px}.tile{border-radius:5px;display:flex;align-items:center;justify-content:center;font-size:13cqw;font-weight:700;transition:grid-row .15s ease,grid-column .15s ease,transform .1s ease}.tile.new{animation:tilePop .2s ease-out}.tile.merged{animation:tileMerge .2s ease-out}@keyframes tilePop{0%{transform:scale(0);opacity:0}50%{transform:scale(1.1)}to{transform:scale(1);opacity:1}}@keyframes tileMerge{0%{transform:scale(1)}50%{transform:scale(1.2)}to{transform:scale(1)}}.tile-2{background:#eee4da;color:#776e65}.tile-4{background:#ede0c8;color:#776e65}.tile-8{background:#f2b179;color:#f9f6f2}.tile-16{background:#f59563;color:#f9f6f2}.tile-32{background:#f67c5f;color:#f9f6f2}.tile-64{background:#f65e3b;color:#f9f6f2}.tile-128{background:#edcf72;color:#f9f6f2}.tile-256{background:#edcc61;color:#f9f6f2}.tile-512{background:#edc850;color:#f9f6f2}.tile-1024{background:#edc53f;color:#f9f6f2}.tile-2048{background:#edc22e;color:#f9f6f2}.tile-128,.tile-256,.tile-512{font-size:10cqw}.tile-1024,.tile-2048{font-size:8cqw}.game-message{position:absolute;inset:0;background:var(--message-bg);border-radius:10px;display:flex;flex-direction:column;align-items:center;justify-content:center;z-index:100}.game-message p{font-size:3rem;font-weight:700;color:var(--message-text);margin-bottom:1.5rem}.game-over p{color:#8f7a66}.game-won p{color:#f9b641}@media(max-width:600px){.app-header h1{font-size:1.75rem}.games-grid{grid-template-columns:repeat(auto-fill,minmax(90px,1fr));gap:.5rem;align-content:start}.game-card h2{font-size:.85rem;word-break:break-word}.menu-screen,.game-view{padding:.75rem}.desktop-hint{display:none}.mobile-hint{display:inline}.title-container h2{font-size:2rem}.game-header-2048{flex-direction:row;align-items:center;justify-content:space-between}.tile{font-size:1.5rem}.tile-128,.tile-256,.tile-512{font-size:10cqw}.tile-1024,.tile-2048{font-size:8cqw}.game-message p{font-size:2rem}}.virtual-controls{display:flex;flex-direction:column;align-items:center;gap:.5rem;margin-top:auto;padding:.5rem .5rem 1rem}.control-row{display:flex;gap:.5rem;justify-content:center}.arrow-btn{background:var(--game-btn-bg);color:#fff;border:none;border-radius:8px;width:60px;height:60px;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s ease;box-shadow:0 4px 8px #0003;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent}.arrow-btn:active{transform:scale(.95);box-shadow:0 2px 4px #0003}.arrow-btn:hover{opacity:.9}.arrow-btn svg{pointer-events:none}@media(min-width:601px){.virtual-controls{display:none}}@media(max-width:600px){.grid-container{max-width:min(100%,calc(100vh - 200px))}.arrow-btn{width:50px;height:50px}}.game-tictactoe{max-width:100%;margin:0 auto;padding:.5rem;height:100%;display:flex;flex-direction:column}.game-header-tictactoe{display:flex;justify-content:space-between;align-items:center;margin-bottom:.5rem;flex-wrap:nowrap;gap:.5rem}.scores-container-wrapper{display:flex;align-items:center;gap:.75rem}.reset-score-btn{background:var(--game-btn-bg);color:#fff;border:none;padding:.5rem;border-radius:5px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s ease}.reset-score-btn:hover{background:var(--btn-hover);transform:scale(1.05)}.game-header-tictactoe .title-container{flex:0 0 auto}.game-header-tictactoe h2{font-size:2rem;color:var(--game-title-color);margin:0}.game-header-tictactoe .game-instructions{font-size:.75rem;color:var(--game-instructions-color);margin:.25rem 0 0}.settings-container{margin-bottom:1.5rem}.setting-item{display:flex;flex-direction:column;align-items:center;gap:.5rem}.setting-item label{font-size:.95rem;font-weight:700;color:var(--game-instructions-color)}.grid-size-slider{width:100%;max-width:300px;height:6px;border-radius:5px;background:var(--grid-cell-bg);outline:none;-webkit-appearance:none;appearance:none}.grid-size-slider::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:20px;height:20px;border-radius:50%;background:#3b82f6;cursor:pointer}.grid-size-slider::-moz-range-thumb{width:20px;height:20px;border-radius:50%;background:#3b82f6;cursor:pointer;border:none}.scoreboard-compact{display:flex;gap:.5rem;flex-shrink:0}.scoreboard-compact .score-box{background:var(--score-box-bg);padding:.3rem .6rem;border-radius:5px;text-align:center;min-width:50px}.scoreboard-compact .score-label{color:var(--score-label-color);font-size:.65rem;font-weight:700;text-transform:uppercase}.scoreboard-compact .score-value{color:var(--score-value-color);font-size:1rem;font-weight:700;margin-top:.1rem}.mode-selector{display:flex;gap:.5rem;margin-bottom:.5rem;justify-content:center}.mode-button{background:var(--grid-cell-bg);color:var(--game-instructions-color);border:2px solid transparent;padding:.5rem 1rem;border-radius:8px;font-size:.85rem;font-weight:700;cursor:pointer;transition:all .3s ease;flex:1}.mode-button:hover{background:var(--score-box-bg);color:#fff}.mode-button.active{background:#3b82f6;color:#fff;border-color:#3b82f6}.game-status{text-align:center;font-size:1.2rem;font-weight:700;color:var(--game-title-color);margin-bottom:.5rem;min-height:2rem}.current-player{display:inline-block;padding:.25rem .75rem;border-radius:5px;font-size:1.75rem}.current-player.X{color:#3b82f6;background:#3b82f61a}.current-player.O{color:#ef4444;background:#ef44441a}.tictactoe-board{display:grid;gap:8px;width:100%;max-width:min(800px,calc(100vh - 220px));margin:0 auto;flex-shrink:1;min-height:0}.cell{background:var(--grid-cell-bg);border-radius:10px;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s ease;box-shadow:0 2px 8px var(--card-shadow);aspect-ratio:1;container-type:size}.cell:not(.filled):hover{background:var(--score-box-bg);transform:scale(1.05)}.cell.filled{cursor:not-allowed}.cell.winning{background:var(--winning-bg);animation:pulse .5s ease-in-out}@keyframes pulse{0%,to{transform:scale(1)}50%{transform:scale(1.05)}}.mark{font-size:70cqmin;font-weight:700;animation:popIn .3s ease-out}.mark.X{color:#3b82f6}.mark.O{color:#ef4444}@keyframes popIn{0%{transform:scale(0);opacity:0}50%{transform:scale(1.2)}to{transform:scale(1);opacity:1}}.game-controls-tictactoe{display:flex;justify-content:center;gap:.5rem;flex-wrap:wrap;margin-top:.5rem}.game-button-secondary{background:var(--grid-cell-bg);color:var(--game-instructions-color);border:none;padding:.75rem 1.5rem;border-radius:5px;font-size:1rem;font-weight:700;cursor:pointer;transition:background .3s ease}.game-button-secondary:hover{background:var(--score-box-bg);color:#fff}@media(max-width:600px){.game-header-tictactoe h2{font-size:1.5rem}.game-header-tictactoe .game-instructions{font-size:.65rem}.scoreboard-compact .score-box{min-width:45px;padding:.25rem .5rem}.scoreboard-compact .score-label{font-size:.55rem}.scoreboard-compact .score-value{font-size:.9rem}.mode-button{padding:.4rem .75rem;font-size:.75rem}.game-status{font-size:1rem;min-height:1.5rem;margin-bottom:.25rem}.mark{font-size:3rem}.tictactoe-board{max-width:min(90vw,calc(100vh - 320px));gap:6px}.cell{border-radius:6px}}body.fullscreen-game{overflow:hidden}body.fullscreen-game .app-header,body.fullscreen-game .app-footer{display:none}body.fullscreen-game #app{max-width:100%;padding:0}body.fullscreen-game .game-container{padding:0;height:100vh;display:flex;flex-direction:column}body.fullscreen-game .game-view,body.fullscreen-game .menu-screen{flex:1;border-radius:0;padding:0;box-shadow:none;display:flex;flex-direction:column;height:100%;overflow:hidden}body.fullscreen-game .game-view.hidden,body.fullscreen-game .menu-screen.hidden{display:none}body.fullscreen-game #game-content{flex:1;display:flex;flex-direction:column;min-height:0}.modal-backdrop{position:fixed;top:0;left:0;width:100%;height:100%;background:#0009;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;justify-content:center;align-items:center;z-index:1000;opacity:0;visibility:hidden;transition:all .3s ease}.modal-backdrop.active{opacity:1;visibility:visible}.modal-content{background:var(--card-bg);color:var(--text-color);padding:2rem;border-radius:20px;width:90%;max-width:500px;box-shadow:0 20px 50px #0000004d;transform:translateY(20px);transition:all .3s ease;position:relative}.modal-backdrop.active .modal-content{transform:translateY(0)}.modal-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem;border-bottom:1px solid rgba(0,0,0,.1);padding-bottom:1rem}.modal-body{margin-bottom:1.5rem}[data-theme=dark] .modal-header{border-bottom:1px solid rgba(255,255,255,.1)}.modal-header h2{margin:0;font-size:1.5rem}.modal-close{background:none;border:none;color:var(--text-color);cursor:pointer;font-size:1.5rem;padding:.5rem;display:flex;align-items:center;justify-content:center;border-radius:50%;transition:background .2s}.modal-close:hover{background:#0000000d}[data-theme=dark] .modal-close:hover{background:#ffffff0d}.settings-list{display:flex;flex-direction:column;gap:1.5rem}.setting-toggle{display:flex;justify-content:space-between;align-items:center}.setting-info{display:flex;flex-direction:column}.setting-name{font-weight:700;font-size:1rem}.setting-description{font-size:.8rem;opacity:.7}.switch{position:relative;display:inline-block;width:50px;height:26px}.switch input{opacity:0;width:0;height:0}.slider{position:absolute;cursor:pointer;inset:0;background-color:#ccc;transition:.4s;border-radius:34px}.slider:before{position:absolute;content:"";height:18px;width:18px;left:4px;bottom:4px;background-color:#fff;transition:.4s;border-radius:50%}input:checked+.slider{background-color:#6366f1}input:focus+.slider{box-shadow:0 0 1px #6366f1}input:checked+.slider:before{transform:translate(24px)}.player-selector-btn{display:flex;align-items:center;gap:.5rem;padding:.6rem 1rem;border:1px solid rgba(99,102,241,.3);border-radius:20px;background:transparent;color:var(--text-color);font-size:.9rem;font-weight:500;cursor:pointer;transition:all .2s ease;max-width:200px;min-width:0}.player-selector-btn:hover{background:#6366f11a;border-color:#6366f180}.player-color-badge{width:20px;height:20px;border-radius:50%;border:2px solid rgba(255,255,255,.3);box-shadow:0 2px 4px #0003}.player-name{max-width:120px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.header-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.menu-player-btn{display:flex;align-items:center;gap:.5rem;padding:.5rem 1rem;border:1px solid rgba(99,102,241,.3);border-radius:20px;background:transparent;color:var(--text-color);font-size:.9rem;font-weight:500;cursor:pointer;transition:all .2s ease;border-color:var(--player-color, #6366f1)}.menu-player-btn:hover{background:#6366f11a;border-color:var(--player-color, #6366f1);opacity:.8}.player-list{display:flex;flex-direction:column;gap:.75rem;max-height:400px;overflow-y:auto;margin-bottom:1.5rem;padding-right:4px}.player-item-wrapper{display:flex;align-items:center;gap:.5rem;padding:.5rem;border:1px solid rgba(0,0,0,.1);border-radius:8px;transition:all .2s ease}[data-theme=dark] .player-item-wrapper{border-color:#ffffff1a}.player-item-wrapper.active{background:#6366f11a;border-color:#6366f1}.player-item{display:flex;align-items:center;gap:.75rem;padding:.5rem;border:none;background:transparent;color:var(--text-color);font-size:1rem;cursor:pointer;transition:all .2s ease;flex:1;text-align:left}.player-item:hover{opacity:.8}.player-item .checkmark{margin-left:auto;color:#6366f1;font-size:1.2rem;font-weight:700}.player-actions{display:flex;gap:.25rem}.player-action-btn{padding:.5rem;border:none;border-radius:6px;background:transparent;color:var(--text-color);cursor:pointer;transition:all .2s ease;display:flex;align-items:center;justify-content:center}.player-action-btn:hover{background:#6366f11a}.edit-player-btn:hover{color:#6366f1}.delete-player-btn:hover{color:#ef4444;background:#ef44441a}.player-name-input{width:100%;padding:.75rem;border:1px solid rgba(0,0,0,.2);border-radius:8px;background:var(--card-bg);color:var(--text-color);font-size:1rem;transition:all .2s ease}[data-theme=dark] .player-name-input{border-color:#fff3}.player-name-input:focus{outline:none;border-color:#6366f1;box-shadow:0 0 0 3px #6366f11a}.input-hint{font-size:.8rem;opacity:.6;margin-top:.5rem}.color-selector{margin-top:1.5rem}.color-selector label{display:block;font-size:.9rem;font-weight:500;margin-bottom:.5rem;color:var(--text-color)}.color-options{display:grid;grid-template-columns:repeat(4,1fr);gap:.75rem}.color-option{width:50px;height:50px;border-radius:8px;border:3px solid transparent;cursor:pointer;transition:all .2s ease;box-shadow:0 2px 4px #0003}.color-option:hover{transform:scale(1.1);box-shadow:0 4px 8px #0000004d}.color-option.selected{border-color:var(--text-color);box-shadow:0 0 0 4px #6366f133}.modal-content-small{max-width:400px}.modal-btn{padding:.75rem 1.5rem;border:none;border-radius:8px;font-size:1rem;font-weight:500;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;gap:.5rem}.modal-btn-primary{background:#6366f1;color:#fff}.modal-btn-primary:hover{background:#4f46e5}.modal-btn-secondary{background:transparent;color:var(--text-color);border:1px solid rgba(0,0,0,.2)}[data-theme=dark] .modal-btn-secondary{border-color:#fff3}.modal-btn-secondary:hover{background:#0000000d}[data-theme=dark] .modal-btn-secondary:hover{background:#ffffff0d}.modal-footer{display:flex;gap:.75rem;justify-content:flex-end}@media(max-width:600px){.player-selector-btn{padding:.5rem .75rem;font-size:.85rem}.player-name{max-width:80px}.player-selector-btn span{display:inline}}.game-minesweeper{display:flex;flex-direction:column;align-items:center;width:100%;height:100%;overflow:hidden}.game-header-minesweeper{display:flex;flex-direction:column;align-items:center;width:100%;margin-bottom:1rem;gap:.5rem}.minesweeper-stats{display:flex;justify-content:space-between;align-items:center;background:#bdbdbd;padding:10px;border:2px solid #7b7b7b;border-top-color:#7b7b7b;border-left-color:#7b7b7b;border-bottom-color:#fff;border-right-color:#fff;width:100%;max-width:400px;border-radius:4px}.stat-box{background:#000;color:red;font-family:Courier New,Courier,monospace;font-size:1.5rem;padding:0 5px;min-width:60px;text-align:right;border:1px solid #7b7b7b;display:flex;align-items:center;justify-content:space-between}.stat-icon{font-size:1rem;margin-right:5px;filter:grayscale(1)}.reset-face-btn{font-size:1.5rem;width:40px;height:40px;display:flex;align-items:center;justify-content:center;background-color:silver;border:2px solid #fff;border-right-color:gray;border-bottom-color:gray;cursor:pointer;-webkit-user-select:none;user-select:none}.reset-face-btn:active{border:2px solid #808080;border-right-color:#fff;border-bottom-color:#fff}.minesweeper-board-wrapper{width:100%;max-width:100%;display:flex;flex-direction:column;align-items:center;gap:.5rem}.minesweeper-scroll-controls{display:none;flex-direction:column;align-items:center;gap:.25rem;width:100%;padding:.5rem 0}.minesweeper-scroll-horizontal{display:flex;gap:.5rem;justify-content:center}.minesweeper-scroll-btn{display:flex;background:var(--game-btn-bg);color:#fff;border:none;font-size:20px;width:50px;height:50px;align-items:center;justify-content:center;cursor:pointer;border-radius:8px;transition:all .2s;-webkit-user-select:none;user-select:none;box-shadow:0 2px 8px #0003}.minesweeper-scroll-btn:hover{opacity:.9;transform:translateY(-2px)}.minesweeper-scroll-btn:active{transform:translateY(0)}.minesweeper-board-container{overflow:auto;max-width:100%;max-height:70vh;padding:5px;background:#0000000d;border-radius:10px;box-shadow:inset 0 0 10px #0000001a;display:flex;justify-content:center;scrollbar-width:none;-ms-overflow-style:none}.minesweeper-board-container::-webkit-scrollbar{display:none}.minesweeper-board{display:grid;gap:1px;background:gray;border:3px solid #808080;margin:0 auto}.ms-cell{aspect-ratio:1;background-color:silver;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:16px;cursor:default;-webkit-user-select:none;user-select:none;font-family:Arial,sans-serif;min-width:0}.ms-cell.hidden{border-top:2px solid #fff;border-left:2px solid #fff;border-right:2px solid #808080;border-bottom:2px solid #808080;cursor:pointer}.ms-cell.hidden:active:hover{border:none;border-top:1px solid #808080;border-left:1px solid #808080}.ms-cell.revealed{background-color:silver;border:1px solid #999;border-top:1px solid #808080;border-left:1px solid #808080}.ms-cell.flagged:after{content:"🚩";font-size:14px}.ms-cell.wrong-flag{position:relative;background-color:silver}.ms-cell.mine{background-color:silver}.ms-cell.mine.revealed.exploded{background-color:red}.ms-cell[data-number="1"]{color:#00f}.ms-cell[data-number="2"]{color:green}.ms-cell[data-number="3"]{color:red}.ms-cell[data-number="4"]{color:#00008b}.ms-cell[data-number="5"]{color:#8b0000}.ms-cell[data-number="6"]{color:teal}.ms-cell[data-number="7"]{color:#000}.ms-cell[data-number="8"]{color:gray}[data-theme=dark] .minesweeper-stats{background:#475569;border-color:#1e293b}[data-theme=dark] .reset-face-btn{background-color:#64748b;border-color:#94a3b8;border-right-color:#334155;border-bottom-color:#334155}[data-theme=dark] .ms-cell{background-color:#94a3b8;color:#0f172a}[data-theme=dark] .ms-cell.hidden{border-top-color:#cbd5e1;border-left-color:#cbd5e1;border-right-color:#475569;border-bottom-color:#475569}[data-theme=dark] .ms-cell.revealed{background-color:#cbd5e1;border-color:#64748b}[data-theme=dark] .minesweeper-board{background-color:#475569;border-color:#475569}@media(max-width:768px){.minesweeper-board{width:max-content}.ms-cell{font-size:18px}.ms-cell.flagged:after{font-size:16px}.minesweeper-board-container{max-height:60vh;padding:3px;overflow:auto;-webkit-overflow-scrolling:touch}.minesweeper-scroll-btn{width:45px;height:45px;font-size:18px}}.setting-input{width:100%;padding:.5rem;margin-top:.25rem;border:1px solid #ddd;border-radius:5px;background:var(--card-bg);color:var(--text-color)}.game-tetris{max-width:100%;width:100%;margin:0 auto;padding:.5rem;height:100%;display:flex;flex-direction:column;overflow:hidden}.game-header-tetris{display:flex;justify-content:space-between;align-items:center;margin-bottom:.5rem;flex-wrap:nowrap;gap:.5rem}.tetris-game-area{display:flex;gap:.75rem;flex:1;min-height:0;align-items:flex-start;overflow:hidden}.tetris-sidebar{display:flex;flex-direction:column;gap:.75rem;min-width:100px;flex-shrink:0}.next-piece-container{background:var(--score-box-bg);padding:.5rem;border-radius:5px;text-align:center}.next-piece-label{color:var(--score-label-color);font-size:.7rem;font-weight:700;margin-bottom:.4rem}.next-piece-preview{display:flex;justify-content:center;align-items:center;min-height:60px}.next-piece-grid{display:grid;gap:2px;padding:.25rem}.next-piece-cell{width:16px;height:16px;border-radius:2px;background:transparent}.next-piece-cell.filled{border:1px solid rgba(0,0,0,.2)}.game-controls-hint{background:var(--score-box-bg);padding:.5rem;border-radius:5px;font-size:.65rem;color:var(--score-label-color)}.controls-title{font-weight:700;margin-bottom:.5rem;color:var(--score-value-color)}.controls-list{display:flex;flex-direction:column;gap:.25rem}.tetris-board-container{flex:1;display:flex;justify-content:center;align-items:center;position:relative;min-width:0;min-height:0;overflow:hidden}.tetris-board{display:grid;grid-template-columns:repeat(10,1fr);grid-template-rows:repeat(20,1fr);gap:1px;background:var(--grid-container-bg);padding:4px;border-radius:5px;aspect-ratio:10 / 20;width:100%;height:auto;max-width:min(calc((100vh - 250px)/2),calc((100vw - 150px)/2));max-height:min(calc(100vh - 250px),calc((100vw - 150px)*1))}.tetris-cell{background:var(--grid-cell-bg);border-radius:2px;border:1px solid rgba(0,0,0,.1);min-width:0;min-height:0}.tetris-cell-filled{border:1px solid rgba(0,0,0,.3);box-shadow:inset 0 0 0 1px #fff3}.tetris-cell-ghost{background:#fff3;border:1px dashed rgba(255,255,255,.4)}.tetris-mobile-controls{display:none}.game-over-overlay{position:absolute;inset:0;background:#000000b3;display:flex;justify-content:center;align-items:center;border-radius:5px;z-index:10}.game-over-message{background:var(--message-bg);padding:2rem;border-radius:10px;text-align:center;color:var(--message-text)}.game-over-message h3{font-size:1.5rem;margin-bottom:1rem;color:var(--game-title-color)}.game-over-message p{margin:.5rem 0;font-size:1rem}@media(max-width:768px){.game-header-tetris{flex-wrap:wrap}.tetris-game-area{flex-direction:column}.tetris-sidebar{flex-direction:row;width:100%;min-width:auto}.next-piece-container{flex:1}.game-controls-hint{flex:1;font-size:.6rem}.controls-list{font-size:.6rem}.tetris-board-container{width:100%}.tetris-board{max-width:min(calc((100vh - 300px)/2),calc((100vw - 20px)/2));max-height:min(calc(100vh - 300px),calc((100vw - 20px)*1))}}@media(max-width:600px){.game-header-tetris{flex-direction:column;align-items:flex-start}.scores-container{width:100%;justify-content:space-between}.score-box{flex:1;min-width:0}.tetris-sidebar,.game-controls-hint{display:none}.tetris-board-container{width:100%;flex:1}.tetris-board{max-width:100%;max-height:100%;width:min(calc(100vw - 2rem),calc((100vh - 330px)/2));height:auto}.tetris-mobile-controls{display:flex;flex-direction:column;gap:.5rem;padding:.5rem;background:var(--card-bg);border-radius:8px 8px 0 0}.mobile-controls-top-row{display:flex;gap:1rem;justify-content:center;align-items:center}.mobile-controls-arrows{display:flex;flex-direction:column;gap:.5rem}.mobile-controls-row{display:flex;justify-content:center;gap:.5rem}.mobile-control-btn{background:var(--score-box-bg);border:2px solid rgba(99,102,241,.5);border-radius:8px;width:60px;height:60px;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s;color:var(--text-color);flex-shrink:0}.mobile-control-btn:active{transform:scale(.95);background:#6366f1;color:#fff}.mobile-control-btn-large{width:130px}.mobile-next-piece{padding:.5rem;min-width:80px;max-width:100px;flex-shrink:0}.mobile-next-piece .next-piece-label{font-size:.65rem;margin-bottom:.3rem}.mobile-next-piece .next-piece-preview{min-height:50px}.mobile-next-piece .next-piece-cell{width:14px;height:14px}}[data-theme=dark] .setting-input{border-color:#475569}.game-sudoku{max-width:100%;width:100%;margin:0 auto;padding:.5rem;height:100%;display:flex;flex-direction:column;align-items:center}.sudoku-info{display:flex;gap:1rem;margin-bottom:.5rem;font-size:.9rem;font-weight:700;color:var(--game-title-color)}.sudoku-grid{display:grid;grid-template-columns:repeat(9,1fr);grid-template-rows:repeat(9,1fr);gap:2px;background:var(--grid-container-bg);padding:8px;border-radius:10px;width:100%;max-width:min(700px,calc(100vh - 350px),90vw);aspect-ratio:1;margin-bottom:1rem;container-type:size}.sudoku-cell{background:var(--card-bg);border:1px solid rgba(0,0,0,.2);display:flex;align-items:center;justify-content:center;font-size:7cqmin;font-weight:700;cursor:pointer;transition:all .2s ease;border-radius:2px;position:relative;min-width:0;min-height:0}.sudoku-cell.initial{background:var(--score-box-bg);color:var(--text-color);cursor:not-allowed;font-weight:900}.sudoku-cell.selected{background:#bfdbfe;border:2px solid #3b82f6}[data-theme=dark] .sudoku-cell.selected{background:#1e3a8a}.sudoku-cell.wrong{background:#fee2e2;color:#dc2626}[data-theme=dark] .sudoku-cell.wrong{background:#7f1d1d;color:#fca5a5}.sudoku-cell.right-border{border-right:5px solid #1f2937}[data-theme=dark] .sudoku-cell.right-border{border-right:5px solid #6b7280}.sudoku-cell.bottom-border{border-bottom:5px solid #1f2937}[data-theme=dark] .sudoku-cell.bottom-border{border-bottom:5px solid #6b7280}.sudoku-cell .notes{font-size:2.5cqmin;font-weight:400;color:#6b7280;display:grid;grid-template-columns:repeat(3,1fr);gap:1px;width:100%;height:100%;padding:2px}[data-theme=dark] .sudoku-cell .notes{color:#9ca3af}.sudoku-controls{display:flex;gap:.5rem;margin-bottom:.5rem;flex-wrap:wrap;justify-content:center}.sudoku-controls button{background:var(--game-btn-bg);color:#fff;border:none;padding:.5rem 1rem;border-radius:8px;font-size:.85rem;font-weight:700;cursor:pointer;transition:all .2s ease}.sudoku-controls button:hover{opacity:.9;transform:translateY(-1px)}.sudoku-controls button.active{background:#3b82f6}.sudoku-numbers{display:grid;grid-template-columns:repeat(9,1fr);gap:.5rem;width:100%;max-width:700px}.number-btn{background:var(--btn-bg);color:#fff;border:none;padding:.75rem;border-radius:8px;font-size:1.2rem;font-weight:700;cursor:pointer;transition:all .2s ease;aspect-ratio:1}.number-btn:hover{background:var(--btn-hover);transform:scale(1.05)}.number-btn:active{transform:scale(.95)}@media(max-width:600px){.sudoku-info{font-size:.75rem;gap:.5rem}.sudoku-grid{max-width:min(100%,calc(100vh - 400px),95vw)}.sudoku-controls button{padding:.4rem .75rem;font-size:.75rem}.number-btn{padding:.5rem;font-size:1rem}}@media(max-width:400px){.sudoku-grid{gap:1px;padding:4px}.number-btn{font-size:.9rem}}.kakuro-game{display:flex;flex-direction:column;align-items:center;gap:1rem;padding:1rem;overflow-y:auto;max-height:calc(100vh - 70px)}.kakuro-info{display:flex;gap:2rem;font-size:.9rem;color:var(--text-color);align-items:center}.kakuro-timer,.kakuro-best-time{display:flex;gap:.25rem;font-weight:700}.kakuro-board{display:grid;gap:2px;background:#1f2937;padding:2px;border-radius:4px;width:min(95vw,500px);aspect-ratio:1}[data-theme=dark] .kakuro-board{background:#4b5563}.kakuro-cell{display:flex;align-items:center;justify-content:center;font-size:1.5rem;font-weight:700;cursor:pointer;transition:all .15s ease;position:relative}.kakuro-cell.white-cell{background:#fff;color:#1f2937}[data-theme=dark] .kakuro-cell.white-cell{background:#1e293b;color:#f1f5f9}.kakuro-cell.white-cell:hover{background:#f3f4f6}[data-theme=dark] .kakuro-cell.white-cell:hover{background:#334155}.kakuro-cell.white-cell.selected{background:#bfdbfe;border:2px solid #3b82f6;box-shadow:0 0 0 2px #3b82f6}[data-theme=dark] .kakuro-cell.white-cell.selected{background:#1e3a8a}.kakuro-cell.black-cell{background:linear-gradient(135deg,#374151 0% 50%,#1f2937 50%);cursor:default;pointer-events:none}[data-theme=dark] .kakuro-cell.black-cell{background:linear-gradient(135deg,#4b5563 0% 50%,#374151 50%)}.clue-container{width:100%;height:100%;position:relative;display:flex;flex-direction:column}.clue-vertical{position:absolute;top:5%;right:5%;font-size:.7rem;color:#fff;font-weight:700}.clue-horizontal{position:absolute;bottom:5%;left:5%;font-size:.7rem;color:#fff;font-weight:700}.kakuro-number-pad{display:grid;grid-template-columns:repeat(5,1fr);gap:.5rem;width:100%;max-width:400px}.number-button{background:var(--btn-bg);color:#fff;border:none;padding:1rem;border-radius:8px;font-size:1.2rem;font-weight:700;cursor:pointer;transition:all .2s ease}.number-button:hover{background:var(--btn-hover);transform:scale(1.05)}.number-button:active{transform:scale(.95)}.number-button.clear-button{grid-column:span 2;background:#ef4444}.number-button.clear-button:hover{background:#dc2626}@media(max-width:600px){.kakuro-board{width:min(95vw,calc(100vh - 400px))}.kakuro-cell{font-size:1.2rem}.clue-vertical,.clue-horizontal{font-size:.6rem}.number-button{padding:.75rem;font-size:1rem}}@media(max-width:400px){.kakuro-cell{font-size:1rem}.clue-vertical,.clue-horizontal{font-size:.5rem}.number-button{padding:.5rem;font-size:.9rem}}.game-snake{display:flex;flex-direction:column;gap:.75rem;padding:.75rem;height:100%;max-height:100%;overflow:hidden}.game-header-snake{display:flex;align-items:center;justify-content:space-between;gap:.75rem}.game-header-snake h2{margin:0;color:var(--game-title-color)}.game-header-snake .game-instructions{margin:.1rem 0 0;color:var(--game-instructions-color);font-size:.95rem}.snake-grid-wrapper{background:var(--card-bg);border-radius:12px;padding:.75rem;box-shadow:0 10px 25px #00000014;display:flex;flex-direction:column;gap:.5rem;flex:1;min-height:0}.snake-status{text-align:center;color:var(--game-instructions-color);font-weight:600;padding:.35rem .5rem;border-radius:8px;background:#6366f114}.snake-status.active{background:#ef44441f;color:#ef4444}[data-theme='"dark"'] .snake-status{background:#3b82f61f}[data-theme='"dark"'] .snake-status.active{background:#ef44442e}.snake-grid{display:grid;width:100%;max-width:min(90vw,550px,calc(100vh - 280px));aspect-ratio:1;margin:0 auto;background:var(--grid-container-bg);border-radius:12px;overflow:hidden;touch-action:none;-webkit-user-select:none;user-select:none}.snake-cell{background:var(--card-bg);border:1px solid rgba(148,163,184,.2)}[data-theme='"dark"'] .snake-cell{border-color:#94a3b826}.snake-body{background:linear-gradient(135deg,#4ade80,#16a34a)}.snake-head{background:linear-gradient(135deg,#22c55e,#15803d);box-shadow:inset 0 0 0 2px #fff3}.snake-food{background:radial-gradient(circle,#f97316,#ea580c 60%,#c2410c)}.snake-wall{background:linear-gradient(135deg,#64748b,#334155)}.snake-controls{display:flex;flex-direction:column;align-items:center;gap:.25rem}.snake-direction-row{display:flex;gap:.5rem}.snake-btn{background:var(--game-btn-bg);color:#fff;border:none;padding:.5rem .9rem;border-radius:10px;font-size:1.2rem;cursor:pointer;transition:transform .1s ease,opacity .1s ease}.snake-btn:active{transform:translateY(1px);opacity:.85}@media(max-width:640px){.game-header-snake{flex-direction:column;align-items:flex-start}.snake-grid{max-width:min(95vw,calc(100vh - 320px))}}.game-pacman{display:flex;flex-direction:column;gap:.75rem;padding:.75rem;height:100%;max-height:100%;overflow:hidden}.game-header-pacman{display:flex;align-items:center;justify-content:space-between;gap:.75rem}.game-header-pacman h2{margin:0;color:var(--game-title-color)}.game-header-pacman .game-instructions{margin:.1rem 0 0;color:var(--game-instructions-color);font-size:.95rem}.pacman-board-wrapper{position:relative;background:var(--card-bg);border-radius:12px;padding:.75rem;box-shadow:0 10px 25px #00000014;flex:1;min-height:0;display:flex;align-items:center;justify-content:center}.pacman-board{display:grid;width:100%;max-width:min(90vw,520px,calc(100vh - 300px));aspect-ratio:19 / 15;margin:0 auto;background:#0b1120;border-radius:10px;overflow:hidden}.pacman-cell{background:#0b1120;position:relative}.pacman-wall{background:linear-gradient(135deg,#1d4ed8,#0f172a)}.pacman-dot:after,.pacman-power:after{content:"";position:absolute;border-radius:50%;background:#facc15;inset:40%}.pacman-power:after{inset:30%;background:#fde047;animation:pacman-pulse 1s infinite ease-in-out}.pacman-player{background:#facc15;border-radius:50%;box-shadow:inset -6px 0 #00000026}.pacman-ghost{background:var(--ghost-color, #ef4444);border-radius:50% 50% 20% 20%;box-shadow:inset 0 -6px #00000026}.pacman-ghost.frightened{background:#38bdf8}.pacman-status-overlay{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;background:#0f172a8c;opacity:0;pointer-events:none;transition:opacity .2s ease;border-radius:12px}.pacman-status-overlay.active{opacity:1;pointer-events:auto}.pacman-status-card{background:var(--message-bg);color:var(--message-text);padding:1.5rem 2rem;border-radius:12px;text-align:center;box-shadow:0 12px 30px #00000040}.pacman-controls{display:flex;flex-direction:column;align-items:center;gap:.25rem}.pacman-control-row{display:flex;gap:.5rem}.pacman-btn{background:var(--game-btn-bg);color:#fff;border:none;padding:.5rem .9rem;border-radius:10px;font-size:1.2rem;cursor:pointer;transition:transform .1s ease,opacity .1s ease}.pacman-btn:active{transform:translateY(1px);opacity:.85}@keyframes pacman-pulse{0%,to{transform:scale(.9);opacity:.9}50%{transform:scale(1.1);opacity:1}}@media(max-width:640px){.game-header-pacman{flex-direction:column;align-items:flex-start}.pacman-board{max-width:min(95vw,calc(100vh - 340px))}}
