html{font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{margin:0;min-width:320px;min-height:100vh}#root{min-height:100vh}.sudoku-board{display:inline-grid;grid-template-rows:repeat(var(--grid-size, 9),1fr);background:var(--board-border);border:3px solid var(--board-border);border-radius:12px;gap:1px;-webkit-user-select:none;user-select:none;box-shadow:var(--card-shadow-lg),inset 0 0 0 1px #ffffff1a}.row{display:grid;grid-template-columns:repeat(var(--grid-size, 9),1fr);gap:1px}.cell{width:var(--cell-size, 48px);height:var(--cell-size, 48px);display:flex;align-items:center;justify-content:center;background:var(--cell-bg);cursor:pointer;font-size:var(--font-size, 1.5rem);font-weight:600;color:var(--cell-text);transition:all .15s ease;position:relative}.cell:hover{filter:brightness(.97)}@media(max-width:600px){.sudoku-board.size-9 .cell,.sudoku-board.size-12 .cell,.sudoku-board.size-16 .cell{width:calc(var(--cell-size, 48px) * .75);height:calc(var(--cell-size, 48px) * .75);font-size:calc(var(--font-size, 1.5rem) * .8)}}@media(max-width:400px){.sudoku-board.size-9 .cell,.sudoku-board.size-12 .cell,.sudoku-board.size-16 .cell{width:calc(var(--cell-size, 48px) * .65);height:calc(var(--cell-size, 48px) * .65);font-size:calc(var(--font-size, 1.5rem) * .7)}}.cell:focus{outline:none}.cell.box-left{border-left:2px solid var(--board-border)}.cell.box-top{border-top:2px solid var(--board-border)}.cell.given{background:var(--given-bg);font-weight:800;color:var(--given-text)}.cell.selected{background:var(--selected-bg);box-shadow:inset 0 0 0 2px var(--primary-color)}.cell.highlighted{background:var(--highlighted-bg)}.cell.same-number{background:var(--same-number-bg);font-weight:700}.cell.conflict .cell-value{color:var(--error-color);animation:shake .3s ease-in-out}@keyframes shake{0%,to{transform:translate(0)}25%{transform:translate(-3px)}75%{transform:translate(3px)}}.cell.hint-highlight{animation:hint-pulse 1s ease-in-out}@keyframes hint-pulse{0%,to{background:var(--cell-bg);transform:scale(1)}50%{background:var(--hint-bg);transform:scale(1.05)}}.cell-value{transition:transform .15s ease}.cell.selected .cell-value{transform:scale(1.1)}@keyframes pop-in{0%{transform:scale(.5);opacity:0}50%{transform:scale(1.15)}to{transform:scale(1);opacity:1}}.cell-value.new{animation:pop-in .2s ease-out}.notes{display:grid;width:100%;height:100%;padding:2px}.note{font-size:.55rem;display:flex;align-items:center;justify-content:center;color:var(--note-color);font-weight:600;transition:opacity .15s ease}.note.active{opacity:1}.note:not(.active){opacity:0}.sudoku-board.size-4 .note,.sudoku-board.size-6 .note{font-size:.65rem}.sudoku-board.jigsaw .cell{border:1px solid var(--board-border)}.cell.region-0{background:#ef444433}.cell.region-1{background:#f9731633}.cell.region-2{background:#eab30833}.cell.region-3{background:#22c55e33}.cell.region-4{background:#06b6d433}.cell.region-5{background:#3b82f633}.cell.region-6{background:#8b5cf633}.cell.region-7{background:#ec489933}.cell.region-8{background:#9ca3af33}.cell.region-0.selected,.cell.region-1.selected,.cell.region-2.selected,.cell.region-3.selected,.cell.region-4.selected,.cell.region-5.selected,.cell.region-6.selected,.cell.region-7.selected,.cell.region-8.selected{background:var(--selected-bg);box-shadow:inset 0 0 0 2px var(--primary-color)}.cell.region-0.highlighted,.cell.region-1.highlighted,.cell.region-2.highlighted,.cell.region-3.highlighted,.cell.region-4.highlighted,.cell.region-5.highlighted,.cell.region-6.highlighted,.cell.region-7.highlighted,.cell.region-8.highlighted{filter:brightness(.92)}.cage-sum-value{position:absolute;top:2px;left:3px;font-size:.55rem;color:var(--secondary-color);font-weight:700;background:var(--cell-bg);padding:0 2px;border-radius:2px}.sudoku-board.size-4 .cage-sum-value,.sudoku-board.size-6 .cage-sum-value{font-size:.5rem}.sudoku-board.size-12 .cage-sum-value,.sudoku-board.size-16 .cage-sum-value{font-size:.45rem}.sudoku-board.completed .cell{animation:celebrate .5s ease-out forwards}.sudoku-board.completed .cell:nth-child(1){animation-delay:.02s}.sudoku-board.completed .cell:nth-child(2){animation-delay:.04s}.sudoku-board.completed .cell:nth-child(3){animation-delay:.06s}.sudoku-board.completed .cell:nth-child(4){animation-delay:.08s}.sudoku-board.completed .cell:nth-child(5){animation-delay:.1s}.sudoku-board.completed .cell:nth-child(6){animation-delay:.12s}.sudoku-board.completed .cell:nth-child(7){animation-delay:.14s}.sudoku-board.completed .cell:nth-child(8){animation-delay:.16s}.sudoku-board.completed .cell:nth-child(9){animation-delay:.18s}@keyframes celebrate{0%{transform:scale(1)}50%{transform:scale(1.1);background:var(--success-color);color:#fff}to{transform:scale(1)}}.number-pad{display:grid;grid-template-columns:repeat(5,1fr);gap:10px;margin-top:1.5rem;justify-content:center;padding:1rem;background:var(--bg-secondary);border-radius:16px;box-shadow:var(--card-shadow)}.number-pad.size-4{grid-template-columns:repeat(5,1fr);max-width:300px}.number-pad.size-6{grid-template-columns:repeat(4,1fr);max-width:260px}.number-pad.size-9{grid-template-columns:repeat(5,1fr)}.number-pad.size-12,.number-pad.size-16{grid-template-columns:repeat(6,1fr)}@media(max-width:500px){.number-pad{gap:8px;padding:.75rem}.number-pad.size-12,.number-pad.size-16{grid-template-columns:repeat(6,1fr)}}.number-btn{width:52px;height:52px;border:none;border-radius:12px;background:linear-gradient(145deg,var(--btn-bg),var(--bg-secondary));color:var(--btn-text);font-size:1.4rem;font-weight:700;cursor:pointer;transition:all .2s cubic-bezier(.4,0,.2,1);display:flex;flex-direction:column;align-items:center;justify-content:center;position:relative;box-shadow:0 2px 8px #0000001a,inset 0 1px #ffffff1a}.number-pad.size-12 .number-btn,.number-pad.size-16 .number-btn{width:42px;height:42px;font-size:1.1rem}@media(max-width:500px){.number-btn{width:44px;height:44px;font-size:1.2rem}.number-pad.size-12 .number-btn,.number-pad.size-16 .number-btn{width:36px;height:36px;font-size:1rem}}.number-btn:hover{background:linear-gradient(145deg,var(--primary-color),var(--primary-hover));color:#fff;transform:translateY(-3px) scale(1.05);box-shadow:0 6px 20px #667eea66}.number-btn:active{transform:translateY(0) scale(.98);box-shadow:0 2px 4px #0000001a}.number-btn.complete{opacity:.35;background:var(--bg-secondary);box-shadow:none}.number-btn.complete:hover{transform:none;background:var(--bg-secondary);color:var(--btn-text);box-shadow:none;cursor:not-allowed}.number-btn .number{line-height:1}.number-btn .count{font-size:.55rem;opacity:.7;margin-top:3px;font-weight:500}.clear-btn{background:linear-gradient(145deg,#ef444426,#ef44440d);color:var(--error-color);border:2px solid rgba(239,68,68,.3)}.clear-btn:hover{background:linear-gradient(145deg,var(--error-color),#dc2626);color:#fff;border-color:var(--error-color);box-shadow:0 6px 20px #ef444466}.number-btn:after{content:"";position:absolute;inset:0;border-radius:12px;background:radial-gradient(circle,rgba(255,255,255,.3) 0%,transparent 70%);opacity:0;transform:scale(.5);transition:all .3s ease}.number-btn:active:after{opacity:1;transform:scale(1)}.timer{display:flex;align-items:center;gap:6px;font-size:1.25rem;font-weight:600;color:var(--text-primary);font-variant-numeric:tabular-nums}.timer-icon{font-size:1rem}.modal-overlay{position:fixed;inset:0;background:#0009;display:flex;align-items:center;justify-content:center;z-index:1000;animation:fadeIn .2s ease}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.modal-content{background:var(--card-bg);padding:2rem;border-radius:16px;text-align:center;max-width:90%;width:360px;animation:slideUp .3s ease;box-shadow:0 20px 60px #0000004d}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.win-icon{font-size:4rem;margin-bottom:1rem}.modal-content h2{color:var(--text-primary);margin:0 0 .5rem;font-size:1.75rem}.modal-content p{color:var(--text-secondary);margin:0 0 1.5rem}.win-stats{display:flex;justify-content:center;gap:2rem;margin-bottom:1.5rem}.stat{display:flex;flex-direction:column;gap:4px}.stat-label{font-size:.85rem;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px}.modal-actions{display:flex;gap:12px;justify-content:center}.modal-btn{padding:12px 24px;border:none;border-radius:8px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .15s ease}.modal-btn.primary{background:var(--primary-color);color:#fff}.modal-btn.primary:hover{background:var(--primary-hover)}.modal-btn.secondary{background:var(--btn-bg);color:var(--text-primary)}.modal-btn.secondary:hover{background:var(--btn-hover)}.puzzle-settings-bar{display:flex;align-items:center;gap:.75rem;padding:.75rem 1rem;background:var(--bg-secondary);border-radius:12px;box-shadow:var(--card-shadow);margin-bottom:1rem;position:relative}.settings-selectors{display:flex;gap:.5rem;flex:1}.selector-group{position:relative}.settings-select{appearance:none;background:var(--bg-primary);border:2px solid var(--btn-border);border-radius:8px;padding:8px 32px 8px 12px;font-size:.9rem;font-weight:600;color:var(--text-primary);cursor:pointer;transition:all .2s ease;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%23666' d='M6 8L1 3h10z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 10px center}.settings-select:hover{border-color:var(--primary-color)}.settings-select:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 3px #667eea33}.settings-select[data-difficulty=easy]{border-left:3px solid #22c55e}.settings-select[data-difficulty=medium]{border-left:3px solid #eab308}.settings-select[data-difficulty=hard]{border-left:3px solid #f97316}.settings-select[data-difficulty=expert]{border-left:3px solid #ef4444}.settings-actions{display:flex;gap:.5rem}.action-btn{padding:8px 14px;border:none;border-radius:8px;font-size:.85rem;font-weight:600;cursor:pointer;transition:all .2s ease;white-space:nowrap}.daily-btn{background:var(--bg-primary);color:var(--text-primary);border:2px solid var(--btn-border)}.daily-btn:hover{border-color:var(--success-color);color:var(--success-color)}.daily-btn.active{background:var(--success-color);border-color:var(--success-color);color:#fff}.new-game-btn{background:linear-gradient(145deg,var(--primary-color),var(--primary-hover));color:#fff;box-shadow:0 2px 8px #667eea4d}.new-game-btn:hover{transform:translateY(-1px);box-shadow:0 4px 12px #667eea66}.settings-expand-btn{display:none;padding:8px 12px;border:none;border-radius:8px;background:var(--bg-primary);cursor:pointer;font-size:1.1rem}.settings-dropdown{position:absolute;top:calc(100% + 8px);left:0;right:0;background:var(--bg-secondary);border-radius:12px;box-shadow:var(--card-shadow-lg);padding:1rem;z-index:100;display:flex;flex-direction:column;gap:1rem}.dropdown-section{display:flex;flex-direction:column;gap:.5rem}.dropdown-section label{font-size:.75rem;font-weight:700;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px}.dropdown-options{display:flex;flex-wrap:wrap;gap:.5rem}.dropdown-btn{padding:8px 14px;border:2px solid var(--btn-border);border-radius:8px;background:transparent;color:var(--text-primary);font-size:.85rem;font-weight:600;cursor:pointer;transition:all .15s ease}.dropdown-btn:hover{border-color:var(--primary-color);color:var(--primary-color)}.dropdown-btn.active{background:var(--primary-color);border-color:var(--primary-color);color:#fff}.dropdown-btn.full-width{width:100%;padding:10px}.dropdown-btn.primary{background:linear-gradient(145deg,var(--primary-color),var(--primary-hover));border-color:transparent;color:#fff}.dropdown-btn[data-difficulty=easy].active{background:linear-gradient(145deg,#22c55e,#16a34a);border-color:transparent}.dropdown-btn[data-difficulty=medium].active{background:linear-gradient(145deg,#eab308,#ca8a04);border-color:transparent}.dropdown-btn[data-difficulty=hard].active{background:linear-gradient(145deg,#f97316,#ea580c);border-color:transparent}.dropdown-btn[data-difficulty=expert].active{background:linear-gradient(145deg,#ef4444,#dc2626);border-color:transparent}.dropdown-actions{display:flex;flex-direction:column;gap:.5rem;padding-top:.5rem;border-top:1px solid var(--btn-border)}@media(max-width:600px){.puzzle-settings-bar{padding:.5rem .75rem}.settings-selectors{display:none}.settings-actions{flex:1;justify-content:flex-end}.settings-expand-btn{display:block}.action-btn{padding:8px 12px;font-size:.8rem}}@media(max-width:768px)and (min-width:601px){.settings-select{padding:6px 28px 6px 10px;font-size:.85rem}.action-btn{padding:6px 12px;font-size:.8rem}}.auth-overlay{position:fixed;inset:0;background:#0009;display:flex;align-items:center;justify-content:center;z-index:1000;animation:fadeIn .2s ease}.auth-modal{background:var(--card-bg);padding:2rem;border-radius:16px;width:100%;max-width:400px;margin:1rem;position:relative;animation:slideUp .3s ease}.close-btn{position:absolute;top:1rem;right:1rem;width:32px;height:32px;border:none;background:var(--btn-bg);border-radius:50%;font-size:1.5rem;cursor:pointer;display:flex;align-items:center;justify-content:center;color:var(--text-secondary);line-height:1}.close-btn:hover{background:var(--btn-hover)}.auth-modal h2{margin:0 0 .5rem;font-size:1.5rem}.auth-subtitle{color:var(--text-secondary);margin:0 0 1.5rem;font-size:.95rem}.form-group{margin-bottom:1rem}.form-group label{display:block;margin-bottom:.5rem;font-weight:500;font-size:.9rem}.form-group input{width:100%;padding:.75rem 1rem;border:2px solid var(--btn-border);border-radius:8px;font-size:1rem;background:var(--bg-primary);color:var(--text-primary);transition:border-color .2s ease}.form-group input:focus{outline:none;border-color:var(--primary-color)}.error-message{background:#ef44441a;color:var(--error-color);padding:.75rem;border-radius:8px;margin-bottom:1rem;font-size:.9rem}.submit-btn{width:100%;padding:.875rem;border:none;border-radius:8px;background:var(--primary-color);color:#fff;font-size:1rem;font-weight:600;cursor:pointer;transition:background .2s ease}.submit-btn:hover:not(:disabled){background:var(--primary-hover)}.submit-btn:disabled{opacity:.6;cursor:not-allowed}.auth-footer{margin-top:1.5rem;text-align:center;padding-top:1.5rem;border-top:1px solid var(--btn-border);color:var(--text-secondary);font-size:.9rem}.switch-btn{background:none;border:none;color:var(--primary-color);font-weight:600;cursor:pointer;margin-left:.25rem}.switch-btn:hover{text-decoration:underline}.tutorial-page{max-width:900px;margin:0 auto;padding:1.5rem}.tutorial-page .tutorial-ad{margin:1rem auto;max-width:728px}.tutorial-header{text-align:center;margin-bottom:2.5rem}.tutorial-header h1{font-size:2.5rem;margin-bottom:.75rem;background:linear-gradient(135deg,var(--primary-color),var(--secondary-color));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.tutorial-header p{color:var(--text-secondary);font-size:1.1rem}.category-tabs{display:flex;gap:.75rem;margin-bottom:2.5rem;justify-content:center;flex-wrap:wrap}.category-tab{display:flex;flex-direction:column;align-items:center;gap:6px;padding:1.25rem 1.75rem;border:2px solid var(--btn-border);border-radius:16px;background:var(--bg-secondary);cursor:pointer;transition:all .25s cubic-bezier(.4,0,.2,1);min-width:130px;box-shadow:var(--card-shadow)}.category-tab:hover{border-color:var(--primary-color);transform:translateY(-4px);box-shadow:0 8px 25px #667eea40}.category-tab.active{background:linear-gradient(145deg,var(--primary-color),var(--primary-hover));border-color:transparent;color:#fff;box-shadow:0 6px 20px #667eea66}.tab-icon{font-size:1.75rem}.tab-label{font-weight:700;font-size:.95rem}.tab-progress{font-size:.8rem;opacity:.8;font-weight:500}.lesson-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:1.25rem}.lesson-card{background:var(--bg-secondary);border-radius:16px;padding:1.5rem;cursor:pointer;transition:all .25s cubic-bezier(.4,0,.2,1);border:2px solid transparent;box-shadow:var(--card-shadow);position:relative;overflow:hidden}.lesson-card:before{content:"";position:absolute;top:0;left:0;width:4px;height:100%;background:var(--btn-border);transition:all .25s ease}.lesson-card:hover{border-color:var(--primary-color);transform:translateY(-4px);box-shadow:0 12px 30px #667eea33}.lesson-card:hover:before{background:var(--primary-color)}.lesson-card.completed:before{background:var(--success-color)}.lesson-card.completed{border-color:#22c55e4d}.lesson-card.completed .lesson-status{color:var(--success-color)}.lesson-card-header{display:flex;justify-content:space-between;margin-bottom:1rem}.lesson-status{font-weight:700;font-size:1.25rem}.lesson-time{font-size:.85rem;color:var(--text-secondary);background:var(--bg-primary);padding:4px 10px;border-radius:20px;font-weight:500}.lesson-card h3{margin:0 0 .75rem;font-size:1.2rem}.lesson-card p{color:var(--text-secondary);font-size:.9rem;margin:0 0 1rem;line-height:1.5}.lesson-steps{font-size:.8rem;color:var(--text-secondary);background:var(--bg-primary);padding:6px 12px;border-radius:8px;display:inline-block}.lesson-view{max-width:900px;margin:0 auto;padding:1.5rem}.lesson-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:2rem;flex-wrap:wrap;gap:1rem;background:var(--bg-secondary);padding:1.25rem;border-radius:16px;box-shadow:var(--card-shadow)}.lesson-header h2{margin:0;flex:1;text-align:center;font-size:1.5rem}.back-btn{padding:10px 20px;border:none;border-radius:10px;background:var(--btn-bg);color:var(--btn-text);cursor:pointer;font-size:.95rem;font-weight:600;transition:all .2s ease}.back-btn:hover{background:var(--btn-hover);transform:translate(-2px)}.step-indicator{font-size:.9rem;color:var(--text-secondary);font-weight:600;background:var(--bg-primary);padding:8px 14px;border-radius:20px}.lesson-content{display:grid;grid-template-columns:1fr 1fr;gap:2.5rem;margin-bottom:2rem}@media(max-width:700px){.lesson-content{grid-template-columns:1fr}}.lesson-board-area{display:flex;justify-content:center;align-items:flex-start}.lesson-text-area{padding:1.5rem;background:var(--bg-secondary);border-radius:16px;box-shadow:var(--card-shadow)}.lesson-text-area h3{margin:0 0 1.25rem;font-size:1.35rem;color:var(--text-primary)}.lesson-text-area p{line-height:1.7;color:var(--text-secondary);margin-bottom:1rem;font-size:1rem}.action-hint{background:linear-gradient(135deg,#667eea1a,#764ba21a);padding:1.25rem;border-radius:12px;border-left:4px solid var(--primary-color);margin-top:1rem}.action-hint p{margin:0;color:var(--text-primary);font-weight:500}.tutorial-board{display:inline-grid;grid-template-rows:repeat(9,1fr);background:var(--board-border);border:3px solid var(--board-border);border-radius:12px;gap:1px;box-shadow:var(--card-shadow-lg)}.tutorial-row{display:grid;grid-template-columns:repeat(9,1fr);gap:1px}.tutorial-cell{width:40px;height:40px;display:flex;align-items:center;justify-content:center;background:var(--cell-bg);font-size:1.15rem;font-weight:600;color:var(--cell-text);transition:all .2s ease}.tutorial-cell.box-left{border-left:2px solid var(--board-border)}.tutorial-cell.box-top{border-top:2px solid var(--board-border)}.tutorial-cell.highlighted{background:var(--selected-bg)}.tutorial-cell.target{background:linear-gradient(135deg,var(--hint-bg),rgba(102,126,234,.3));animation:target-pulse 1.5s ease-in-out infinite;font-weight:700}.tutorial-cell.highlight-value{background:var(--same-number-bg)}@keyframes target-pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.8;transform:scale(1.05);box-shadow:inset 0 0 0 2px var(--primary-color)}}.lesson-nav{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1.5rem;background:var(--bg-secondary);border-radius:16px;box-shadow:var(--card-shadow)}.nav-btn{padding:12px 24px;border:none;border-radius:10px;background:var(--btn-bg);color:var(--btn-text);font-size:1rem;font-weight:600;cursor:pointer;transition:all .2s cubic-bezier(.4,0,.2,1)}.nav-btn:hover:not(:disabled){background:var(--btn-hover);transform:translateY(-2px)}.nav-btn:disabled{opacity:.35;cursor:not-allowed}.nav-btn.next{background:linear-gradient(145deg,var(--primary-color),var(--primary-hover));color:#fff;box-shadow:0 4px 15px #667eea66}.nav-btn.next:hover:not(:disabled){box-shadow:0 6px 20px #667eea80}.progress-dots{display:flex;gap:8px}.dot{width:12px;height:12px;border-radius:50%;background:var(--btn-border);cursor:pointer;transition:all .25s cubic-bezier(.4,0,.2,1)}.dot.active{background:linear-gradient(145deg,var(--primary-color),var(--primary-hover));transform:scale(1.3);box-shadow:0 2px 8px #667eea66}.dot.completed{background:var(--success-color)}.dot:hover{transform:scale(1.3)}@media(max-width:600px){.tutorial-header h1{font-size:1.75rem}.category-tab{padding:1rem 1.25rem;min-width:100px}.tab-icon{font-size:1.5rem}.lesson-grid{grid-template-columns:1fr}.tutorial-cell{width:32px;height:32px;font-size:.95rem}.lesson-nav{flex-wrap:wrap;justify-content:center}.progress-dots{order:3;width:100%;justify-content:center;margin-top:.5rem}}:root{--bg-primary: #f0f4f8;--bg-secondary: #ffffff;--bg-gradient: linear-gradient(135deg, #667eea 0%, #764ba2 100%);--text-primary: #1a202c;--text-secondary: #4a5568;--primary-color: #6366f1;--primary-hover: #4f46e5;--primary-light: #e0e7ff;--secondary-color: #8b5cf6;--accent-color: #f59e0b;--success-color: #10b981;--error-color: #ef4444;--board-border: #1e293b;--cell-bg: #ffffff;--cell-text: #1e293b;--given-bg: #f1f5f9;--given-text: #1e293b;--selected-bg: #c7d2fe;--highlighted-bg: #e0e7ff;--same-number-bg: #a5b4fc;--hint-bg: #6ee7b7;--note-color: #6366f1;--btn-bg: #e2e8f0;--btn-hover: #cbd5e1;--btn-text: #334155;--btn-border: #cbd5e1;--card-bg: #ffffff;--card-shadow: 0 4px 6px -1px rgba(0, 0, 0, .1), 0 2px 4px -1px rgba(0, 0, 0, .06);--card-shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, .1), 0 4px 6px -2px rgba(0, 0, 0, .05);--glow: 0 0 20px rgba(99, 102, 241, .3)}@media(prefers-color-scheme:dark){:root{--bg-primary: #0f172a;--bg-secondary: #1e293b;--bg-gradient: linear-gradient(135deg, #1e1b4b 0%, #312e81 100%);--text-primary: #f1f5f9;--text-secondary: #94a3b8;--primary-light: #312e81;--board-border: #475569;--cell-bg: #1e293b;--cell-text: #f1f5f9;--given-bg: #334155;--given-text: #e2e8f0;--selected-bg: #3730a3;--highlighted-bg: #1e1b4b;--same-number-bg: #4338ca;--hint-bg: #065f46;--note-color: #a5b4fc;--btn-bg: #334155;--btn-hover: #475569;--btn-text: #f1f5f9;--btn-border: #475569;--card-bg: #1e293b;--card-shadow: 0 4px 6px -1px rgba(0, 0, 0, .3);--card-shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, .4);--glow: 0 0 20px rgba(99, 102, 241, .4)}}*{box-sizing:border-box;margin:0;padding:0}body{font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,sans-serif;background:var(--bg-primary);color:var(--text-primary);min-height:100vh}a{color:inherit;text-decoration:none}.app{min-height:100vh;display:flex;flex-direction:column;align-items:center}.header{display:flex;align-items:center;width:100%;padding:1rem 1.5rem;background:var(--bg-gradient);margin-bottom:0;gap:1rem;box-shadow:var(--card-shadow-lg)}.logo{font-size:1.75rem;font-weight:800;display:flex;align-items:center;gap:10px;flex-shrink:0;color:#fff;text-shadow:0 2px 4px rgba(0,0,0,.2)}.logo-icon{font-size:1.6rem;animation:pulse-slow 3s ease-in-out infinite}@keyframes pulse-slow{0%,to{transform:scale(1)}50%{transform:scale(1.1)}}.main-nav{display:flex;align-items:center;gap:.5rem;flex:1}.nav-link{padding:10px 20px;border-radius:50px;font-weight:600;font-size:.95rem;transition:all .2s ease;color:#ffffffd9}.nav-link:hover{background:#ffffff26;color:#fff}.nav-link.active{background:#fff;color:var(--primary-color);box-shadow:0 2px 8px #00000026}.nav-spacer{flex:1}.user-menu{display:flex;align-items:center;gap:.75rem}.username{font-size:.9rem;color:#ffffffe6;font-weight:500}.nav-btn{padding:10px 20px;border:none;border-radius:50px;background:#fff3;color:#fff;font-size:.9rem;font-weight:600;cursor:pointer;transition:all .2s ease;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.nav-btn:hover{background:#ffffff4d;transform:translateY(-1px)}.nav-btn.primary{background:#fff;color:var(--primary-color)}.nav-btn.primary:hover{background:#f8fafc;box-shadow:0 4px 12px #00000026}@media(max-width:600px){.header{flex-wrap:wrap;padding:1rem}.main-nav{order:3;width:100%;justify-content:center;margin-top:.75rem}.nav-spacer,.username{display:none}}.hero-banner{width:100%;background:var(--bg-gradient);padding:2rem 1.5rem;text-align:center;color:#fff}.hero-title{font-size:2rem;font-weight:800;margin-bottom:.5rem;text-shadow:0 2px 4px rgba(0,0,0,.2)}.hero-subtitle{font-size:1.1rem;opacity:.9;font-weight:500}.game-container{display:flex;flex-direction:column;align-items:center;width:100%;max-width:800px;padding:2rem 1rem}.stats-bar{display:flex;gap:1.5rem;margin-bottom:1.5rem;flex-wrap:wrap;justify-content:center}.stat-item{display:flex;flex-direction:column;align-items:center;padding:1rem 1.5rem;background:var(--card-bg);border-radius:16px;box-shadow:var(--card-shadow);min-width:100px}.stat-value{font-size:1.5rem;font-weight:700;color:var(--primary-color)}.stat-label{font-size:.75rem;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px;margin-top:.25rem}.game-info{display:flex;align-items:center;justify-content:space-between;width:100%;padding:1rem 1.25rem;margin-bottom:1rem;background:var(--card-bg);border-radius:16px;box-shadow:var(--card-shadow)}.puzzle-info{display:flex;align-items:center;gap:.75rem}.puzzle-badge{display:inline-flex;align-items:center;gap:.4rem;padding:.4rem .8rem;background:var(--primary-light);color:var(--primary-color);border-radius:50px;font-size:.8rem;font-weight:600}.puzzle-badge.daily{background:linear-gradient(135deg,#fbbf24,#f59e0b);color:#fff}.difficulty-badge{padding:.4rem .8rem;border-radius:50px;font-size:.8rem;font-weight:600}.difficulty-badge.easy{background:#d1fae5;color:#065f46}.difficulty-badge.medium{background:#fef3c7;color:#92400e}.difficulty-badge.hard{background:#fee2e2;color:#991b1b}.difficulty-badge.expert{background:#ede9fe;color:#5b21b6}.game-controls-bar{display:flex;gap:.5rem;margin-bottom:1.25rem;flex-wrap:wrap;justify-content:center}.control-btn{padding:10px 18px;border:none;border-radius:12px;background:var(--card-bg);color:var(--text-primary);font-size:.9rem;font-weight:600;cursor:pointer;transition:all .2s ease;box-shadow:var(--card-shadow);display:flex;align-items:center;gap:.4rem}.control-btn:hover:not(:disabled){transform:translateY(-2px);box-shadow:var(--card-shadow-lg)}.control-btn:active:not(:disabled){transform:translateY(0)}.control-btn:disabled{opacity:.4;cursor:not-allowed}.control-btn.active{background:var(--primary-color);color:#fff;box-shadow:var(--glow)}.control-btn.hint-btn{background:linear-gradient(135deg,#fbbf24,#f59e0b);color:#fff}.control-btn.hint-btn:hover:not(:disabled){background:linear-gradient(135deg,#f59e0b,#d97706)}.control-btn.hint-btn:disabled{background:var(--btn-bg);color:var(--text-secondary)}.board-container{display:flex;align-items:center;justify-content:center;gap:1.5rem;margin-bottom:1.5rem}.board-wrapper{background:var(--card-bg);padding:1rem;border-radius:20px;box-shadow:var(--card-shadow-lg)}.ad-slot{background:var(--bg-secondary);border:2px dashed var(--btn-border);border-radius:12px;display:flex;align-items:center;justify-content:center;overflow:hidden}.ad-placeholder{color:var(--text-secondary);font-size:.75rem;text-transform:uppercase;letter-spacing:1px;opacity:.5}.ad-banner{width:100%;max-width:728px;height:90px;margin:1.5rem auto}.ad-banner.bottom{margin-top:2rem}.ad-sidebar{width:160px;height:600px;display:none}@media(min-width:1200px){.ad-sidebar{display:flex}.board-container{gap:2.5rem}}@media(max-width:768px){.ad-banner{height:60px}}@media(max-width:500px){.logo{font-size:1.4rem}.ad-banner{height:50px;margin:1rem auto}.control-btn{padding:8px 14px;font-size:.85rem}.game-container{padding:1rem .5rem}}.footer{margin-top:auto;padding:2.5rem 1rem 1.5rem;text-align:center;color:var(--text-secondary);font-size:.85rem;width:100%;background:var(--bg-secondary);border-top:1px solid var(--btn-border)}.footer p{margin:.3rem 0}.hint-text{font-size:.75rem;opacity:.7;margin-top:.5rem}.loading-state{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:450px;gap:1.5rem}.loading-spinner{width:56px;height:56px;border:4px solid var(--primary-light);border-top-color:var(--primary-color);border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.loading-state p{color:var(--text-secondary);font-size:1.1rem;font-weight:500}.error-state{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:450px;gap:1.5rem;text-align:center;padding:2rem}.error-icon{font-size:3rem}.error-state p{color:var(--error-color);font-size:1.1rem;font-weight:500}.retry-btn{padding:12px 32px;background:var(--primary-color);color:#fff;border:none;border-radius:50px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .2s ease;box-shadow:var(--card-shadow)}.retry-btn:hover{background:var(--primary-hover);transform:translateY(-2px);box-shadow:var(--card-shadow-lg)}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes slideIn{0%{opacity:0;transform:translate(-20px)}to{opacity:1;transform:translate(0)}}@keyframes bounceIn{0%{transform:scale(.9);opacity:0}50%{transform:scale(1.02)}to{transform:scale(1);opacity:1}}.animate-fade-in{animation:fadeIn .3s ease-out}.animate-bounce-in{animation:bounceIn .4s ease-out}.streak-display{display:flex;align-items:center;gap:.5rem;padding:.5rem 1rem;background:linear-gradient(135deg,#f59e0b,#d97706);color:#fff;border-radius:50px;font-weight:700;font-size:.9rem;box-shadow:0 2px 8px #f59e0b66}.streak-icon{font-size:1.1rem}
