.game-connect4 .games-breadcrumb,.game-2048 .games-breadcrumb,.game-tictactoe .games-breadcrumb,.game-sudoku .games-breadcrumb,.game-makao .games-breadcrumb{width:100%;margin:0 auto;padding:16px 16px 0}.game-connect4 .games-breadcrumb{max-width:812px}.game-2048 .games-breadcrumb{max-width:492px}.game-tictactoe .games-breadcrumb{max-width:408px;padding:24px 24px 0}.game-sudoku .games-breadcrumb{max-width:572px}.game-makao .games-breadcrumb{max-width:1200px;padding:16px 0 0}.game-connect4{--c4-muted: #93a6b8;--c4-red: #ef4444;--c4-yellow: #facc15;font-family:system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif}.game-connect4 .wrap{display:flex;align-items:flex-start;justify-content:center;padding:16px}.game-connect4 .panel{background:#081427;border:1px solid var(--glass-white-8);padding:18px;border-radius:var(--radius-lg);width:100%;max-width:780px;box-shadow:0 8px 30px #02061799}.game-connect4 h1{margin:0 0 16px;font-size:20px;text-align:center;color:#e7eef6}.game-connect4 .controls{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px;gap:16px}.game-connect4 .difficulty-section{display:flex;align-items:center;gap:8px}.game-connect4 .difficulty-section label{color:var(--c4-muted);font-size:14px;margin:0}.game-connect4 #difficultySelect{background:var(--glass-white-5);border:1px solid var(--glass-white-10);color:#e7eef6;padding:6px 8px;border-radius:var(--radius-sm);font-size:14px}.game-connect4 .scoreboard{display:flex;gap:10px;margin-bottom:14px}.game-connect4 .score-box{flex:1;background:var(--glass-white-5);border:1px solid var(--glass-white-8);border-radius:var(--radius-md);padding:6px 12px;text-align:center}.game-connect4 .score-label{display:block;font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--c4-muted)}.game-connect4 .score-value{display:block;font-size:20px;font-weight:700;color:#e7eef6;font-variant-numeric:tabular-nums}.game-connect4 .hint{margin-top:6px;text-align:center;color:var(--c4-muted);font-size:12px;opacity:.8}.game-connect4 button{background:var(--glass-white-5);border:1px solid var(--glass-white-10);color:#cbd8e6;padding:8px 12px;border-radius:var(--radius-md);cursor:pointer;font-size:14px;transition:background .15s ease,color .15s ease}.game-connect4 button:hover:not(:disabled){background:var(--glass-white-10);color:#e7eef6}.game-connect4 button:disabled{opacity:.45;cursor:not-allowed}.game-connect4 button.primary{background:#06b6d4;border:0;color:#042027;font-weight:600}.game-connect4 button.primary:hover:not(:disabled){background:#22d3ee;color:#042027}.game-connect4 .game-container{background:#023047;border:1px solid var(--glass-white-8);padding:12px;border-radius:var(--radius-md)}.game-connect4 .colButtons{display:grid;grid-template-columns:repeat(7,1fr);gap:8px;margin-bottom:8px}.game-connect4 .colBtn{background:var(--glass-white-8);border:1px solid var(--glass-white-10);color:var(--c4-muted);padding:8px 4px;border-radius:var(--radius-md);font-size:16px;line-height:1;user-select:none}.game-connect4 .board{display:grid;grid-template-columns:repeat(7,1fr);gap:8px;touch-action:manipulation}.game-connect4 .cell{aspect-ratio:1;border-radius:50%;background:#ffffff0a;display:flex;align-items:center;justify-content:center;box-shadow:inset 0 -6px 12px #00000059;position:relative;cursor:pointer}.game-connect4 .cell.col-hover{background:#ffffff1f}.game-connect4 .board.locked .cell{cursor:default}.game-connect4 .disc{width:85%;height:85%;border-radius:50%;box-shadow:inset -3px -4px 8px #0006;animation:c4-drop .25s cubic-bezier(.34,1.16,.64,1)}.game-connect4 .disc.red{background:var(--c4-red)}.game-connect4 .disc.yellow{background:var(--c4-yellow)}.game-connect4 .cell.winning .disc{box-shadow:inset -3px -4px 8px #0006,0 0 0 3px #fff,0 0 16px #ffffffb3}.game-connect4 .status{margin-top:12px;text-align:center;color:var(--c4-muted);font-weight:500;min-height:24px}.game-connect4 .status.win{color:#10b981;font-weight:600}.game-connect4 .status.lose{color:var(--c4-red);font-weight:600}@keyframes c4-drop{0%{transform:translateY(-260%)}to{transform:translateY(0)}}@media(max-width:768px){.game-connect4 .wrap{padding:12px}.game-connect4 .panel{padding:16px}.game-connect4 h1{font-size:18px;margin-bottom:12px}.game-connect4 .controls{flex-direction:column;gap:12px;margin-bottom:12px}.game-connect4 .difficulty-section{order:2}.game-connect4 .colBtn{padding:6px 2px;font-size:14px}}@media(max-width:480px){.game-connect4 .game-container{padding:8px}.game-connect4 .colButtons,.game-connect4 .board{gap:4px}.game-connect4 .colBtn{padding:4px 2px;font-size:12px}}@media(prefers-reduced-motion:reduce){.game-connect4 .disc{animation:none}}.game-2048{--g2048-muted: #9fb2c9;--g2048-accent: #f59e0b;font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif}.game-2048 .wrap{display:flex;align-items:flex-start;justify-content:center;padding:16px}.game-2048 .panel{background:#071427;border:1px solid var(--glass-white-8);padding:18px;border-radius:var(--radius-lg);width:100%;max-width:460px;box-shadow:0 10px 40px #02061799}.game-2048 h1{margin:0 0 12px;font-size:20px;text-align:center;color:#e7eef6}.game-2048 .scores{display:flex;gap:10px;margin-bottom:14px}.game-2048 .score-box{flex:1;background:var(--glass-white-5);border:1px solid var(--glass-white-8);border-radius:var(--radius-md);padding:8px 12px;text-align:center}.game-2048 .score-label{display:block;font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--g2048-muted)}.game-2048 .score-value{display:block;font-size:22px;font-weight:700;color:#e7eef6;font-variant-numeric:tabular-nums}.game-2048 .board{background:#0f1b27;border:1px solid var(--glass-white-8);padding:10px;border-radius:var(--radius-md);display:grid;grid-template-columns:repeat(4,1fr);grid-template-rows:repeat(4,1fr);gap:10px;aspect-ratio:1;touch-action:none;user-select:none;container-type:inline-size}.game-2048 .cell{border-radius:var(--radius-md);background:#ffffff0a;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:clamp(16px,7cqw,30px);color:#0b1220;font-variant-numeric:tabular-nums}.game-2048 .cell.filled{animation:g2048-pop .14s ease-out}.game-2048 .cell.tile-2{background:#edf6fb}.game-2048 .cell.tile-4{background:#d1f1f8}.game-2048 .cell.tile-8{background:#a7e6ff}.game-2048 .cell.tile-16{background:#79d0ff}.game-2048 .cell.tile-32{background:#4db7ff}.game-2048 .cell.tile-64{background:#2b93ff;color:#f2f9ff}.game-2048 .cell.tile-128{background:#3a6fb2;color:#f2f9ff}.game-2048 .cell.tile-256{background:#3c5b93;color:#f2f9ff}.game-2048 .cell.tile-512{background:#2e3f66;color:#f2f9ff}.game-2048 .cell.tile-1024{background:#23314a;color:#f2f9ff;font-size:clamp(13px,5.4cqw,23px)}.game-2048 .cell.tile-2048{background:var(--g2048-accent);color:#3a2503;box-shadow:0 0 18px #f59e0b8c;font-size:clamp(13px,5.4cqw,23px)}.game-2048 .cell.tile-super{background:#ef4444;color:#fff;font-size:clamp(12px,5cqw,21px)}.game-2048 .controls{display:flex;justify-content:space-between;align-items:center;gap:8px;margin-top:12px}.game-2048 .controls>div{display:flex;gap:8px}.game-2048 button{background:var(--glass-white-5);border:1px solid var(--glass-white-10);color:#cbd8e6;padding:8px 12px;border-radius:var(--radius-md);cursor:pointer;font-size:14px;transition:background .15s ease,color .15s ease}.game-2048 button:hover:not(:disabled){background:var(--glass-white-10);color:#e7eef6}.game-2048 button:disabled{opacity:.45;cursor:not-allowed}.game-2048 button.primary{background:var(--g2048-accent);border:0;color:#3a2503;font-weight:600}.game-2048 button.primary:hover:not(:disabled){background:#fbbf24;color:#3a2503}.game-2048 .status{margin-top:12px;text-align:center;color:var(--g2048-muted);font-weight:500;min-height:24px}.game-2048 .status.win{color:#10b981;font-weight:600}.game-2048 .status.lose{color:#ef4444;font-weight:600}.game-2048 .hint{margin-top:8px;text-align:center;color:var(--g2048-muted);font-size:12px;opacity:.8}@keyframes g2048-pop{0%{transform:scale(.82)}to{transform:scale(1)}}@media(max-width:480px){.game-2048 .wrap{padding:10px}.game-2048 .panel{padding:14px}.game-2048 .board{gap:7px;padding:7px}.game-2048 .controls{flex-direction:column;align-items:stretch}.game-2048 .controls>div button{flex:1}}@media(prefers-reduced-motion:reduce){.game-2048 .cell.filled{animation:none}}.game-tictactoe{--ttt-muted: #94a3b8;--ttt-accent: #06b6d4;font-family:system-ui,-apple-system,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif}.game-tictactoe .wrap{display:flex;align-items:flex-start;justify-content:center;padding:24px}.game-tictactoe .panel{background:#0b1220;border:1px solid var(--glass-white-8);padding:22px;border-radius:var(--radius-lg);box-shadow:0 10px 30px #02061799;width:100%;max-width:360px}.game-tictactoe h1{margin:0 0 12px;font-size:20px;text-align:center;color:#e7eef6}.game-tictactoe .controls{display:flex;justify-content:space-between;align-items:center;gap:8px}.game-tictactoe .board{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:16px 0}.game-tictactoe .cell{background:#ffffff0a;aspect-ratio:1;border-radius:var(--radius-md);display:flex;align-items:center;justify-content:center;font-size:clamp(32px,12vw,48px);color:#e7eef6;cursor:pointer;user-select:none;transition:transform .08s}.game-tictactoe .cell:hover{transform:scale(1.04)}.game-tictactoe button{background:transparent;border:1px solid var(--glass-white-10);color:var(--ttt-muted);padding:8px 10px;border-radius:var(--radius-md);cursor:pointer}.game-tictactoe button.primary{background:var(--ttt-accent);border-color:transparent;color:#042027;font-weight:600}.game-tictactoe .status{font-size:14px;color:var(--ttt-muted);text-align:center;margin-top:10px}.game-tictactoe .small{font-size:13px;color:var(--ttt-muted)}.game-makao{font-family:Arial,Helvetica,sans-serif}.game-makao .game-container{max-width:1200px;margin:0 auto;background:var(--glass-white-10);border-radius:var(--radius-2xl);padding:20px;backdrop-filter:blur(10px)}.game-makao .game-info{text-align:center;color:#fff;margin-bottom:20px}.game-makao .bot-area{text-align:center;margin-bottom:30px}.game-makao .bot-cards{display:flex;justify-content:center;gap:5px;margin-bottom:10px}.game-makao .card-back{width:50px;height:70px;background:#2c3e50;border:2px solid #34495e;border-radius:var(--radius-md);display:flex;align-items:center;justify-content:center;color:#fff;font-size:12px}.game-makao .center-area{display:flex;justify-content:center;align-items:center;gap:30px;margin:30px 0}.game-makao .deck{width:80px;height:112px;background:#2c3e50;border:3px solid #34495e;border-radius:var(--radius-md);cursor:pointer;display:flex;align-items:center;justify-content:center;color:#fff;font-weight:700}.game-makao .discard-pile{width:80px;height:112px;border:3px dashed #ecf0f1;border-radius:var(--radius-md);display:flex;align-items:center;justify-content:center;position:relative}.game-makao .card{width:70px;height:98px;border-radius:var(--radius-md);border:2px solid #333;background:#fff;display:flex;flex-direction:column;align-items:center;justify-content:center;cursor:pointer;transition:transform .2s,box-shadow .2s;position:relative;margin:2px}.game-makao .card:hover{transform:translateY(-10px);box-shadow:0 8px 16px var(--glass-black-30)}.game-makao .card.playable{box-shadow:0 0 10px #f39c12}.game-makao .card.hearts,.game-makao .card.diamonds{color:#e74c3c}.game-makao .card.clubs,.game-makao .card.spades{color:#2c3e50}.game-makao .card.joker{background:#8e44ad;color:#fff;font-weight:700}.game-makao .card-value{font-size:18px;font-weight:700}.game-makao .card-suit{font-size:16px;margin-top:5px}.game-makao .player-area{text-align:center;margin-top:30px}.game-makao .player-cards{display:flex;justify-content:center;gap:10px;flex-wrap:wrap;margin-top:15px}.game-makao .game-status{background:#00000080;color:#fff;padding:10px 20px;border-radius:var(--radius-md);margin:10px 0;text-align:center;min-height:40px;display:flex;align-items:center;justify-content:center}.game-makao .color-chooser{display:none;position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);background:#fff;border-radius:var(--radius-md);padding:20px;box-shadow:0 10px 30px #00000080;z-index:1000}.game-makao .color-chooser button{width:60px;height:60px;margin:5px;border:none;border-radius:var(--radius-full);cursor:pointer;font-size:18px;color:#fff;font-weight:700}.game-makao .controls{text-align:center;margin:20px 0}.game-makao .current-suit{display:inline-block;width:30px;height:30px;border-radius:var(--radius-full);margin-left:10px;vertical-align:middle;color:#fff;font-weight:700;font-size:18px;text-align:center;line-height:30px}.game-makao .debug-info{background:var(--glass-black-30);color:#fff;padding:10px;border-radius:5px;margin:10px 0;font-size:12px;text-align:left}.game-makao .penalty-indicator{background:#e74c3ccc;color:#fff;padding:5px 10px;border-radius:15px;font-size:12px;font-weight:700;margin-left:10px}.game-makao .ai-settings{background:var(--glass-black-30);color:#fff;padding:15px;border-radius:var(--radius-md);margin:20px 0}.game-makao .ai-settings label{margin-right:15px;color:#fff}.game-makao .ai-settings select{margin-right:20px;padding:5px;border-radius:5px}.game-makao .performance-stats{background:var(--glass-black-20);color:#fff;padding:10px;border-radius:5px;font-size:11px;margin-top:10px}@keyframes confetti-fall{to{transform:translateY(100vh) rotate(360deg)}}.games-container{background:var(--bs-body-bg);color:var(--bs-body-color);padding:2rem 1rem;font-family:Inter,Segoe UI,Tahoma,Geneva,Verdana,sans-serif;transition:background-color .3s ease,color .3s ease}.games-container *{box-sizing:border-box}.games-container .header-section{text-align:center;margin-bottom:4rem;max-width:600px;margin-left:auto;margin-right:auto}.games-container .main-title{font-size:3.5rem;font-weight:800;color:var(--bs-emphasis-color);margin-bottom:1rem;letter-spacing:-.02em}.games-container .main-subtitle{font-size:1.2rem;color:var(--bs-secondary-color);font-weight:400;line-height:1.6}.games-container .games-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(380px,1fr));gap:2rem;max-width:1400px;margin:0 auto}.games-container .game-card{background:var(--bs-body-bg);border-radius:24px;padding:2rem;box-shadow:var(--bs-box-shadow);transition:all .4s cubic-bezier(.4,0,.2,1);border:1px solid var(--bs-border-color);position:relative;overflow:hidden;animation:fadeInUp .6s ease forwards}[data-bs-theme=light] .games-container .game-card{background:#fff;box-shadow:0 4px 6px -1px var(--glass-black-10),0 2px 4px -1px #0000000f}[data-bs-theme=dark] .games-container .game-card{background:var(--bs-gray-900);box-shadow:0 4px 6px -1px #0000004d,0 2px 4px -1px var(--glass-black-20)}.games-container .game-card:before{content:"";position:absolute;top:0;left:0;right:0;height:4px;transition:all .3s ease}.games-container .makao-card:before{background:var(--bs-danger)}.games-container .connect-card:before{background:var(--bs-primary)}.games-container .tower-card:before{background:var(--bs-success)}.games-container .puzzle-card:before{background:var(--bs-warning)}.games-container .classic-card:before{background:var(--bs-info)}.games-container .game-card:hover{transform:translateY(-8px)}[data-bs-theme=light] .games-container .game-card:hover{box-shadow:0 20px 25px -5px #0000001a,0 10px 10px -5px var(--glass-black-4)}[data-bs-theme=dark] .games-container .game-card:hover{box-shadow:0 20px 25px -5px #0006,0 10px 10px -5px var(--glass-black-30)}.games-container .game-card:hover:before{height:8px}.games-container .card-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:1.5rem}.games-container .game-icon{width:60px;height:60px;border-radius:var(--radius-xl);display:flex;align-items:center;justify-content:center;font-size:1.8rem;color:#fff;transition:transform .3s ease}.games-container .makao-card .game-icon{background:var(--bs-danger)}.games-container .connect-card .game-icon{background:var(--bs-primary)}.games-container .tower-card .game-icon{background:var(--bs-success)}.games-container .puzzle-card .game-icon{background:var(--bs-warning)}.games-container .classic-card .game-icon{background:var(--bs-info)}.games-container .game-card:hover .game-icon{transform:scale(1.1) rotate(5deg)}.games-container .game-badge{background:var(--bs-secondary-bg);color:var(--bs-secondary-color);padding:.5rem 1rem;border-radius:var(--radius-2xl);font-size:var(--fs-body);font-weight:600;text-transform:uppercase;letter-spacing:.05em;border:1px solid var(--bs-border-color-translucent)}.games-container .card-content{margin-bottom:2rem}.games-container .game-title{font-size:var(--fs-3xl);font-weight:700;color:var(--bs-emphasis-color);margin-bottom:1rem;letter-spacing:-.01em}.games-container .game-description{font-size:var(--fs-md);line-height:1.7;color:var(--bs-body-color);margin-bottom:1.5rem;font-weight:400}.games-container .game-features{display:flex;flex-wrap:wrap;gap:.5rem}.games-container .feature{background:var(--bs-tertiary-bg);color:var(--bs-body-color);padding:.375rem .75rem;border-radius:var(--radius-lg);font-size:var(--fs-body-sm);font-weight:500;border:1px solid var(--bs-border-color)}.games-container .play-button{display:flex;align-items:center;justify-content:space-between;width:100%;padding:1rem 1.5rem;border-radius:var(--radius-xl);text-decoration:none;font-weight:600;font-size:var(--fs-md);transition:all .3s ease;border:none;cursor:pointer;color:#fff;position:relative;overflow:hidden}.games-container .play-button:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:var(--glass-white-10);transition:left .3s ease}.games-container .play-button:hover:before{left:100%}.games-container .play-button.danger{background:var(--bs-danger);color:#fff}.games-container .play-button.primary{background:var(--bs-primary);color:var(--brand-on-primary)}.games-container .play-button.success{background:var(--bs-success);color:#fff}.games-container .play-button.warning{background:var(--bs-warning);color:#fff}.games-container .play-button.info{background:var(--bs-info);color:#fff}.games-container .play-button:hover{transform:translateY(-2px);color:#fff}[data-bs-theme=light] .games-container .play-button:hover{box-shadow:0 8px 25px var(--glass-black-15)}[data-bs-theme=dark] .games-container .play-button:hover{box-shadow:0 8px 25px #0006}.games-container .play-button.danger:hover{background:color-mix(in srgb,var(--bs-danger) 85%,black)}.games-container .play-button.primary:hover{background:color-mix(in srgb,var(--bs-primary) 85%,black)}.games-container .play-button.success:hover{background:color-mix(in srgb,var(--bs-success) 85%,black)}.games-container .play-button.warning:hover{background:color-mix(in srgb,var(--bs-warning) 85%,black)}.games-container .play-button.info:hover{background:color-mix(in srgb,var(--bs-info) 85%,black)}.games-container .button-text{font-weight:600;letter-spacing:.025em}.games-container .play-button i{transition:transform .3s ease;font-size:var(--fs-lg)}.games-container .play-button:hover i{transform:translate(4px)}[data-bs-theme=dark] .games-container .main-title{color:var(--bs-white)}[data-bs-theme=dark] .games-container .main-subtitle{color:var(--bs-gray-400)}[data-bs-theme=dark] .games-container .game-badge,[data-bs-theme=dark] .games-container .feature{background:var(--bs-gray-800);color:var(--bs-gray-300);border-color:var(--bs-gray-700)}[data-bs-theme=dark] .games-container .game-description{color:var(--bs-gray-300)}.games-container .game-card:nth-child(1){animation-delay:.1s}.games-container .game-card:nth-child(2){animation-delay:.2s}.games-container .game-card:nth-child(3){animation-delay:.3s}.games-container .game-card:nth-child(4){animation-delay:.4s}.games-container .game-card:nth-child(5){animation-delay:.5s}.games-container .play-button:focus{outline:2px solid var(--bs-primary);outline-offset:2px}.games-container .game-card:focus-within{outline:2px solid var(--bs-primary);outline-offset:2px}@keyframes fadeInUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}@media(max-width:768px){.games-container{padding:1.5rem 1rem}.games-container .main-title{font-size:2.5rem}.games-container .main-subtitle{font-size:var(--fs-lg)}.games-container .games-grid{grid-template-columns:1fr;gap:1.5rem}.games-container .game-card{padding:1.5rem}.games-container .game-title{font-size:var(--fs-2xl)}.games-container .game-description{font-size:var(--fs-body-lg)}}@media(max-width:480px){.games-container{padding:1rem .75rem}.games-container .main-title{font-size:var(--fs-4xl)}.games-container .game-card{padding:1.25rem;border-radius:var(--radius-xl)}.games-container .card-header{margin-bottom:1rem}.games-container .game-icon{width:50px;height:50px;font-size:var(--fs-2xl)}.games-container .play-button{padding:.875rem 1.25rem;font-size:var(--fs-body-lg)}.games-container .games-grid{grid-template-columns:1fr;gap:1rem}}@media(prefers-reduced-motion:reduce){.games-container .game-card,.games-container .game-icon,.games-container .play-button,.games-container .play-button i,.games-container .play-button:before{transition:none;animation:none}.games-container .game-card:hover,.games-container .game-card:hover .game-icon,.games-container .play-button:hover,.games-container .play-button:hover i{transform:none}}.games-container .sudoku-card:before{background:var(--bs-violet)}.games-container .sudoku-card .game-icon{background:var(--bs-violet)}.games-container .play-button.violet{background:var(--bs-violet);color:#fff}.games-container .play-button.violet:hover{background:color-mix(in srgb,var(--bs-violet) 85%,black)}.games-container .game-card:nth-child(6){animation-delay:.6s}.games-container .gridlock-card:before{background:var(--bs-amber)}.games-container .gridlock-card .game-icon{background:var(--bs-amber)}.games-container .play-button.amber{background:var(--bs-amber);color:#191308}.games-container .play-button.amber:hover{background:color-mix(in srgb,var(--bs-amber) 85%,black);color:#fff}.games-container .game-card:nth-child(7){animation-delay:.7s}.game-sudoku{--sk-accent: var(--bs-violet, #8b5cf6);--sk-panel-bg: #ffffff;--sk-panel-border: var(--bs-border-color, #e5e9f0);--sk-muted: var(--bs-secondary-color, #64748b);--sk-text: var(--bs-body-color, #1f2937);--sk-board-bg: #ffffff;--sk-cell-bg: #ffffff;--sk-grid-line: #cbd5e1;--sk-box-line: #64748b;--sk-given-text: #0f172a;--sk-user-text: #1d4ed8;--sk-note-text: #64748b;--sk-peer-bg: rgba(37, 99, 235, .09);--sk-selected-bg: rgba(37, 99, 235, .2);--sk-selected-ring: #2563eb;--sk-same-bg: rgba(245, 158, 11, .3);--sk-bad-text: #dc2626;--sk-bad-bg: rgba(220, 38, 38, .16);--sk-hinted-text: #7c3aed;--sk-seg-bg: #eef1f6;--sk-chip-bg: #f1f5f9;--sk-btn-bg: #f1f5f9;--sk-btn-border: #d9e0ea;font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif}[data-bs-theme=dark] .game-sudoku{--sk-panel-bg: #0e1a2b;--sk-panel-border: var(--glass-white-8);--sk-text: #dbe6f2;--sk-board-bg: #0f1b2b;--sk-cell-bg: rgba(255, 255, 255, .03);--sk-grid-line: rgba(255, 255, 255, .14);--sk-box-line: rgba(255, 255, 255, .45);--sk-given-text: #e7eef6;--sk-user-text: #7cc4ff;--sk-note-text: #93a6b8;--sk-peer-bg: rgba(124, 196, 255, .1);--sk-selected-bg: rgba(124, 196, 255, .24);--sk-selected-ring: #58b7ff;--sk-same-bg: rgba(245, 158, 11, .26);--sk-bad-text: #ff8a8a;--sk-bad-bg: rgba(239, 68, 68, .28);--sk-hinted-text: #c4b5fd;--sk-seg-bg: rgba(255, 255, 255, .06);--sk-chip-bg: rgba(255, 255, 255, .05);--sk-btn-bg: rgba(255, 255, 255, .05);--sk-btn-border: var(--glass-white-10)}.game-sudoku *{box-sizing:border-box}.game-sudoku .wrap{display:flex;justify-content:center;padding:16px}.game-sudoku .panel{background:var(--sk-panel-bg);border:1px solid var(--sk-panel-border);padding:20px;border-radius:var(--radius-lg);width:100%;max-width:540px;box-shadow:0 10px 40px var(--glass-black-15)}.game-sudoku h1{margin:0 0 16px;font-size:22px;text-align:center;color:var(--sk-text);font-weight:700}.game-sudoku .setup{display:flex;flex-wrap:wrap;align-items:flex-end;gap:12px;margin-bottom:16px}.game-sudoku .seg-group{display:flex;flex-direction:column;gap:4px}.game-sudoku .seg-label{font-size:10px;letter-spacing:.09em;text-transform:uppercase;color:var(--sk-muted);font-weight:600;padding-left:2px}.game-sudoku .seg{display:inline-flex;gap:3px;background:var(--sk-seg-bg);border-radius:var(--radius-md);padding:3px}.game-sudoku .seg button{border:0;background:transparent;color:var(--sk-muted);padding:6px 11px;border-radius:var(--radius-sm);cursor:pointer;font-size:13px;font-weight:600;transition:background .15s ease,color .15s ease}.game-sudoku .seg button:hover:not(.active){color:var(--sk-text)}.game-sudoku .seg button.active{background:var(--sk-accent);color:#fff}.game-sudoku .setup>.primary{margin-left:auto}.game-sudoku .stats{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-bottom:14px}.game-sudoku .stat{background:var(--sk-chip-bg);border:1px solid var(--sk-panel-border);border-radius:var(--radius-md);padding:6px 8px;text-align:center;min-width:0}.game-sudoku .stat-label{display:block;font-size:10px;letter-spacing:.06em;text-transform:uppercase;color:var(--sk-muted)}.game-sudoku .stat-value{display:block;font-size:17px;font-weight:700;color:var(--sk-text);font-variant-numeric:tabular-nums;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.game-sudoku .stat-rating .stat-value{font-size:12px;color:var(--sk-accent)}.game-sudoku .board-wrap{display:flex;justify-content:center}.game-sudoku .board{--n: 9;--sk-fs: 6.4cqw;width:100%;max-width:460px;aspect-ratio:1;display:grid;grid-template-columns:repeat(var(--n),1fr);grid-template-rows:repeat(var(--n),1fr);background:var(--sk-board-bg);border:3px solid var(--sk-box-line);border-radius:var(--radius-md);overflow:hidden;container-type:inline-size;touch-action:manipulation;user-select:none}.game-sudoku .cell{position:relative;background:var(--sk-cell-bg);border-right:1px solid var(--sk-grid-line);border-bottom:1px solid var(--sk-grid-line);display:flex;align-items:center;justify-content:center;font-size:clamp(14px,var(--sk-fs),40px);font-weight:600;color:var(--sk-user-text);cursor:pointer;font-variant-numeric:tabular-nums;transition:background .1s ease}.game-sudoku .cell.br{border-right:2px solid var(--sk-box-line)}.game-sudoku .cell.bb{border-bottom:2px solid var(--sk-box-line)}.game-sudoku .cell.last-c{border-right:0}.game-sudoku .cell.last-r{border-bottom:0}.game-sudoku .cell.given{color:var(--sk-given-text);font-weight:800;cursor:default}.game-sudoku .cell.hinted{color:var(--sk-hinted-text);font-weight:700}.game-sudoku .cell.peer{background:var(--sk-peer-bg)}.game-sudoku .cell.same{background:var(--sk-same-bg)}.game-sudoku .cell.selected{background:var(--sk-selected-bg);box-shadow:inset 0 0 0 2px var(--sk-selected-ring)}.game-sudoku .cell.bad{background:var(--sk-bad-bg);color:var(--sk-bad-text)}.game-sudoku .cell .notes{display:grid;grid-template-columns:repeat(var(--note-cols, 3),1fr);width:100%;height:100%;padding:2px}.game-sudoku .cell .notes span{display:flex;align-items:center;justify-content:center;font-size:clamp(7px,calc(var(--sk-fs) * .36),15px);font-weight:500;color:var(--sk-note-text);line-height:1}.game-sudoku .board.solved{animation:sk-win .7s ease;border-color:var(--bs-success)}@keyframes sk-win{0%,to{box-shadow:0 0 #10b98100}50%{box-shadow:0 0 0 6px #10b98159}}.game-sudoku .pad{--n: 9;display:flex;flex-wrap:wrap;gap:6px;margin-top:14px;justify-content:center}.game-sudoku .pad-btn{position:relative;flex:1 1 auto;min-width:40px;max-width:64px;padding:10px 0;background:var(--sk-btn-bg);border:1px solid var(--sk-btn-border);border-radius:var(--radius-md);color:var(--sk-text);font-size:20px;font-weight:700;cursor:pointer;font-variant-numeric:tabular-nums;transition:background .12s ease,transform .06s ease}.game-sudoku .pad-btn:hover{background:var(--sk-accent);color:#fff;border-color:transparent}.game-sudoku .pad-btn:active{transform:scale(.95)}.game-sudoku .pad-btn sup{position:absolute;top:3px;right:6px;font-size:10px;font-weight:600;color:var(--sk-muted)}.game-sudoku .pad-btn:hover sup{color:#ffffffd9}.game-sudoku .pad-btn.done{opacity:.4}.game-sudoku .actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px;justify-content:center}.game-sudoku button{background:var(--sk-btn-bg);border:1px solid var(--sk-btn-border);color:var(--sk-text);padding:8px 14px;border-radius:var(--radius-md);cursor:pointer;font-size:13px;font-weight:600;display:inline-flex;align-items:center;gap:5px;transition:background .15s ease,color .15s ease,border-color .15s ease}.game-sudoku button:hover:not(:disabled){border-color:var(--sk-accent);color:var(--sk-accent)}.game-sudoku button:disabled{opacity:.45;cursor:not-allowed}.game-sudoku button.primary{background:var(--sk-accent);border:0;color:#fff}.game-sudoku button.primary:hover:not(:disabled){background:color-mix(in srgb,var(--sk-accent) 85%,black);color:#fff}.game-sudoku #notesBtn.active{background:var(--sk-accent);border-color:transparent;color:#fff}.game-sudoku .badge-off,.game-sudoku .badge-on{font-size:11px;padding:1px 6px;border-radius:var(--radius-full, 999px);font-weight:700}.game-sudoku .badge-off{background:var(--sk-chip-bg);color:var(--sk-muted)}.game-sudoku #notesBtn.active .badge-on{background:#ffffff40;color:#fff}.game-sudoku .status{margin-top:14px;text-align:center;color:var(--sk-muted);font-weight:500;min-height:22px}.game-sudoku .status.win{color:var(--bs-success, #10b981);font-weight:700}.game-sudoku .status.lose{color:var(--sk-bad-text);font-weight:600}.game-sudoku .hint{margin-top:10px;text-align:center;color:var(--sk-muted);font-size:12px;line-height:1.5;opacity:.85}@media(max-width:560px){.game-sudoku .wrap{padding:10px}.game-sudoku .panel{padding:14px}.game-sudoku .setup{gap:10px}.game-sudoku .setup>.primary{margin-left:0;width:100%}.game-sudoku .seg button{padding:6px 9px;font-size:12px}.game-sudoku .stats{grid-template-columns:repeat(2,1fr)}.game-sudoku .stat-value{font-size:15px}}@media(prefers-reduced-motion:reduce){.game-sudoku .board.solved{animation:none}.game-sudoku .cell,.game-sudoku .pad-btn,.game-sudoku button{transition:none}}
