:root,[data-theme=light]{--bg-primary: #fdfdfd;--bg-secondary: #f4f1ea;--text-primary: #1a1a1a;--text-secondary: #555555;--accent-color: #4f46e5;--accent-hover: #4338ca;--accent-rgb: 79, 70, 229;--border-color: #d0d0d0;--font-family: "Inter", system-ui, -apple-system, sans-serif;--grid-border-thick: 2px solid #333;--grid-border-thin: 1px solid #e0e0e0;--cell-bg: #ffffff;--cell-bg-hover: #f9f9f9;--cell-bg-selected: #e3f2fd;--cell-bg-highlight: #bbdefb;--error-color: #b71c1c;--error-bg: #ffcdd2;--error-bg-pulse: #ef9a9a;--hint-color: #2e7d32;--hint-bg: #e8f5e9;--hint-bg-pulse: #c8e6c9;--numpad-bg: #e5e5ea;--numpad-bg-active: #d1d1d6;--settings-bg: var(--bg-secondary);--settings-card-bg: var(--cell-bg);--settings-card-shadow: 0 4px 20px rgba(0, 0, 0, .04);--settings-border: var(--border-color);--settings-toggle-bg: var(--numpad-bg)}[data-theme=warm]{--bg-primary: #fbf7f0;--bg-secondary: #f0e9dc;--text-primary: #4a4238;--text-secondary: #8c8273;--accent-color: #d16234;--accent-hover: #b54f24;--accent-rgb: 209, 98, 52;--border-color: #e2d7c5;--grid-border-thick: 2px solid #5e5449;--grid-border-thin: 1px solid #e2d7c5;--cell-bg: #fbf7f0;--cell-bg-hover: #f2ebda;--cell-bg-selected: #fbe0c1;--cell-bg-highlight: #f8ce9c;--error-color: #d64541;--error-bg: #fadcdb;--error-bg-pulse: #f5b7b5;--hint-color: #6b8e23;--hint-bg: #eef2e1;--hint-bg-pulse: #d8e3b8;--numpad-bg: #f0e9dc;--numpad-bg-active: #e4dccc;--settings-bg: var(--bg-secondary);--settings-card-bg: var(--bg-primary);--settings-card-shadow: 0 4px 20px rgba(74, 66, 56, .04);--settings-border: var(--border-color);--settings-toggle-bg: var(--numpad-bg)}[data-theme=dark]{--bg-primary: #121212;--bg-secondary: #1e1e1e;--text-primary: #e0e0e0;--text-secondary: #a3a3a3;--accent-color: #8ab4f8;--accent-hover: #aecbfa;--accent-rgb: 138, 180, 248;--border-color: #333333;--grid-border-thick: 2px solid #888888;--grid-border-thin: 1px solid #333333;--cell-bg: #1e1e1e;--cell-bg-hover: #353535;--cell-bg-selected: #1a3a5a;--cell-bg-highlight: rgba(138, 180, 248, .25);--error-color: #ff8a80;--error-bg: #5a1919;--error-bg-pulse: #772525;--hint-color: #81c784;--hint-bg: #1e3b20;--hint-bg-pulse: #2e5932;--numpad-bg: #2a2a2a;--numpad-bg-active: #404040;--settings-bg: var(--bg-primary);--settings-card-bg: var(--cell-bg);--settings-card-shadow: 0 8px 30px rgba(0, 0, 0, .3);--settings-border: var(--border-color);--settings-toggle-bg: var(--numpad-bg)}:root[data-theme=light][data-shading=enabled],:root[data-theme=light]:not([data-shading]){--cell-bg-initial: #f8f8f8}:root[data-theme=light][data-shading=disabled]{--cell-bg-initial: var(--cell-bg)}:root[data-theme=warm][data-shading=enabled],:root[data-theme=warm]:not([data-shading]){--cell-bg-initial: #f2e9d8}:root[data-theme=warm][data-shading=disabled]{--cell-bg-initial: var(--cell-bg)}:root[data-theme=dark][data-shading=enabled]{--cell-bg-initial: #2c2c2c}:root[data-theme=dark][data-shading=disabled],:root[data-theme=dark]:not([data-shading]){--cell-bg-initial: var(--cell-bg)}*{box-sizing:border-box;margin:0;padding:0}body{font-family:var(--font-family);background-color:var(--bg-primary);color:var(--text-primary);line-height:1.6}a{text-decoration:none;color:inherit;transition:color .2s}button{cursor:pointer;border:none;font-family:inherit}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,[role=button]:focus-visible{outline:2px solid var(--accent-color)!important;outline-offset:2px}button:focus:not(:focus-visible),a:focus:not(:focus-visible),input:focus:not(:focus-visible),select:focus:not(:focus-visible),textarea:focus:not(:focus-visible),[role=button]:focus:not(:focus-visible){outline:none!important}.app-container{display:flex;flex-direction:column;min-height:calc(var(--vh, 1vh) * 100);width:100%;background-color:var(--bg-primary)}.main-content{flex:1}.container{max-width:1200px;margin:0 auto;padding:0 20px}.topfold{background-color:var(--bg-secondary);padding:20px 0;margin-bottom:40px;border-bottom:1px solid var(--border-color)}.topfold-container{width:100%;max-width:1200px;margin:0 auto;padding:0 20px}.dialog-overlay{position:fixed;top:0;left:0;width:100%;height:calc(var(--vh, 1vh) * 100);z-index:1000;background-color:#0006;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;justify-content:center;align-items:center;padding:20px}.dialog-card{position:relative;width:100%;max-width:400px;background-color:var(--cell-bg);border-radius:16px;padding:30px;box-shadow:0 10px 40px #00000014;border:1px solid var(--border-color);display:flex;flex-direction:column;gap:20px;text-align:center}.dialog-title{font-size:1.5rem;font-weight:700;color:var(--text-primary)}.dialog-message{font-size:1rem;color:var(--text-secondary);line-height:1.5}.dialog-actions{display:flex;gap:12px;margin-top:10px}.dialog-actions .btn{flex:1}.header{display:flex;justify-content:space-between;align-items:center;margin-bottom:0}.logo{font-size:1.8rem;font-weight:700;color:var(--text-primary)}.nav{display:flex;gap:30px;align-items:center}.nav a:hover{color:var(--accent-color)}.btn{padding:10px 20px;border-radius:8px;font-weight:600;transition:all .2s}.btn-primary{background-color:var(--accent-color);color:#fff}.btn-primary:hover{background-color:var(--accent-hover);transform:translateY(-2px)}.btn-secondary{background-color:transparent;border:1px solid var(--border-color);color:var(--text-secondary)}.btn-secondary:hover{background-color:transparent;border-color:var(--accent-color);color:var(--accent-color)!important;box-shadow:0 4px 12px rgba(var(--accent-rgb),.15)}.home-container{padding:40px 20px;max-width:1200px;margin:0 auto;text-align:center}.home-title{font-size:2.5rem;margin-bottom:40px;color:var(--text-primary)}.games-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:30px;justify-content:center}.game-tile{background-color:var(--cell-bg);border-radius:16px;padding:30px 20px;box-shadow:0 10px 30px #0000000d;border:1px solid var(--border-color);transition:transform .3s ease,box-shadow .3s ease;display:flex;flex-direction:column;align-items:center;position:relative;overflow:hidden}.game-tile.active:hover{transform:translateY(-8px);box-shadow:0 15px 40px #0000001a;border-color:var(--accent-color)}.game-tile h3{font-size:1.8rem;margin-bottom:5px;color:var(--text-primary);font-weight:700}.game-tile-subtitle{font-size:1rem;color:var(--text-secondary);margin-bottom:10px;font-weight:500}.game-tile-preview{font-size:1.2rem;color:var(--text-primary);margin-bottom:25px;font-weight:600;display:flex;align-items:center;justify-content:center;min-height:28px}.game-tile-actions{display:flex;flex-direction:column;gap:12px;width:100%}.game-tile-actions button{width:100%;padding:12px;border-radius:8px;font-size:1rem;font-weight:600;transition:all .2s}.game-tile.inactive{opacity:.7;filter:grayscale(.5);cursor:not-allowed}.game-tile.inactive .game-tile-actions button{opacity:.5;cursor:not-allowed}.coming-soon{position:absolute;top:20px;right:-35px;background-color:var(--text-secondary);color:#fff;padding:5px 40px;font-size:.75rem;font-weight:700;text-transform:uppercase;transform:rotate(45deg);box-shadow:0 2px 4px #0000001a}.hero-content{text-align:center;max-width:800px;margin:0 auto}.headline{font-size:3.5rem;line-height:1.2;margin-bottom:20px;font-weight:800}.subheadline{font-size:1.2rem;color:var(--text-secondary);margin-bottom:40px;max-width:600px;margin-left:auto;margin-right:auto}.sudoku-integrated-heading{font-size:1.5rem;font-weight:600;color:var(--text-secondary);margin-bottom:25px;text-align:center;letter-spacing:.5px}.btn-login{padding:6px 24px;border:1px solid var(--border-color);border-radius:20px;background-color:#fffc;color:var(--text-secondary);font-size:.9rem;font-weight:600;transition:all .2s ease;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.btn-login:hover{border-color:var(--accent-color);color:var(--accent-color);background-color:#fff;box-shadow:0 4px 12px #007bff1a;transform:translateY(-1px)}.sudoku-section{padding:0 0 60px;display:flex;flex-direction:column;align-items:center;width:100%}.sudoku-top-bar{background-color:var(--bg-secondary);width:100%;padding:20px 0;margin-bottom:30px;border-bottom:1px solid var(--border-color)}.top-bar-inner{width:100%;max-width:500px;margin:0 auto;padding:0 10px}.top-bar-content-wrapper{display:flex;justify-content:space-between;align-items:center;width:100%}.controls{margin-top:30px}.section-title{margin-bottom:30px;font-size:2rem;text-align:center}.sudoku-board{display:grid;grid-template-columns:repeat(9,1fr);grid-template-rows:repeat(9,1fr);border:var(--grid-border-thick);background-color:var(--cell-bg);box-shadow:0 10px 30px #0000000d;width:var(--gw, 100%);aspect-ratio:1;margin:0 auto}.sudoku-cell{width:100%;height:100%;display:flex;justify-content:center;align-items:center;font-size:clamp(1rem,4vw,1.5rem);font-weight:500;color:var(--accent-color);cursor:pointer;border-right:var(--grid-border-thin);border-bottom:var(--grid-border-thin);transition:background-color .1s;-webkit-user-select:none;user-select:none;position:relative;touch-action:manipulation}.sudoku-cell:nth-child(9n){border-right:none}.sudoku-cell:nth-last-child(-n+9){border-bottom:none}.sudoku-cell.border-right-bold{border-right:var(--grid-border-thick)}.sudoku-cell.border-bottom-bold{border-bottom:var(--grid-border-thick)}.sudoku-cell:hover{background-color:var(--cell-bg-hover)}.sudoku-cell.selected{background-color:var(--cell-bg-selected);outline:2px solid var(--accent-color);z-index:10;border:none}.sudoku-cell.same-number-highlight,.sudoku-cell.initial.same-number-highlight{background-color:var(--cell-bg-highlight)}.sudoku-cell.multiplayer-local{outline:2px solid #3B82F6}.sudoku-cell.zero-g-animation,.sudoku-cell.initial.zero-g-animation,.sudoku-cell.selected.zero-g-animation,.sudoku-cell.same-number-highlight.zero-g-animation{animation:zeroGLift .8s ease-in-out forwards;z-index:20;position:relative;outline:none}@keyframes zeroGLift{0%{transform:scale(1);background-color:var(--cell-bg-highlight)}50%{transform:scale(1.1);background-color:var(--cell-bg-selected);box-shadow:0 4px 12px #0003}to{transform:scale(1);background-color:var(--cell-bg-highlight)}}.sudoku-cell.remote-selected{outline:2px solid #F59E0B;z-index:9;border:none}.sudoku-cell.initial{color:var(--text-primary);font-weight:700;background-color:var(--cell-bg-initial)}.sudoku-cell.error{color:var(--error-color);background-color:var(--error-bg);animation:errorPulse 2s infinite}@keyframes errorPulse{0%{background-color:var(--error-bg)}50%{background-color:var(--error-bg-pulse)}to{background-color:var(--error-bg)}}.sudoku-cell.hint{background-color:var(--accent-color)!important;color:#fff!important;transform:scale(1.05);z-index:15;box-shadow:0 4px 12px #0003;border-radius:8px;transition:all .3s ease;animation:pulse-hint 2s infinite}.duplicate-text{display:inline-block;color:#d32f2f;animation:duplicatePulseAnim 1.2s infinite alternate ease-in-out}@keyframes duplicatePulseAnim{0%{transform:scale(1)}to{transform:scale(1.65)}}@keyframes pulse-hint{0%{transform:scale(1.05);box-shadow:0 4px 12px #0003}50%{transform:scale(1.12);box-shadow:0 0 16px var(--accent-color)}to{transform:scale(1.05);box-shadow:0 4px 12px #0003}}.selected.initial{background-color:var(--cell-bg-selected)}.notes-grid{display:grid;grid-template-columns:repeat(3,1fr);grid-template-rows:repeat(3,1fr);width:100%;height:100%;pointer-events:none}.note-num{display:flex;justify-content:center;align-items:center;font-size:clamp(8px,2.5vw,10px);font-weight:600;color:var(--text-secondary);line-height:1;transition:transform .15s ease-out,color .15s ease-out}.note-num.highlighted{color:var(--accent-color);font-weight:900;transform:scale(1.25)}.footer{margin-top:auto;background-color:var(--bg-secondary);padding:40px 0;border-top:1px solid var(--border-color);text-align:center}.footer-links{margin-bottom:20px;display:flex;justify-content:center;gap:30px}.footer-links a{color:var(--text-secondary);font-size:.9rem}.footer-links a:hover{text-decoration:underline}.copyright{color:#999;font-size:.85rem}.game-container{display:grid;grid-template-areas:"header" "board" "controls";gap:clamp(15px,2vh,30px);align-items:start;justify-items:center;width:100%;max-width:500px;margin:0 auto;padding:0 10px;transition:all .3s ease-out}.board-header{grid-area:header;width:100%}.sudoku-board{grid-area:board;width:100%}.game-controls{grid-area:controls;width:100%;display:flex;flex-direction:column;align-items:center}.board-header{display:flex;flex-direction:column;width:100%;gap:12px;padding:0 4px 10px}.header-control-row{display:flex;justify-content:space-between;align-items:center}.difficulty{display:flex;flex-direction:column;align-items:flex-start}.back-link{color:inherit;display:block;margin-bottom:8px;margin-left:-6px;transition:transform .2s}.back-link:hover{transform:translate(-4px)}.header-center{display:flex;flex-direction:column;align-items:center;gap:12px}.hints-display{display:flex;flex-direction:column;align-items:center}.timer-container{display:flex;flex-direction:column;align-items:flex-end}.settings-icon{color:var(--accent-color);cursor:pointer;margin-bottom:12px;transition:transform .3s ease}.settings-icon:hover{transform:rotate(45deg)}.timer{display:flex;flex-direction:column;align-items:flex-end;cursor:pointer}.timer-value-container{display:flex;align-items:center;gap:5px}.difficulty{align-items:flex-start}.timer{align-items:flex-end;cursor:pointer;transition:opacity .2s}.timer:hover{opacity:.7}.label{font-size:.75rem;color:#999;font-weight:500;margin-bottom:2px}.value{font-weight:600;color:var(--text-primary);font-size:1rem}.header-controls{display:flex;gap:10px;align-self:center}.header-btn{background-color:var(--cell-bg-hover);padding:8px 16px;border-radius:18px;font-size:.9rem;font-weight:600;color:var(--text-primary);display:flex;justify-content:center;align-items:center;transition:all .2s;border:1px solid transparent}.header-btn:hover{background-color:var(--cell-bg-selected)}.header-btn:active{transform:scale(.95)}.tools-row{display:grid;grid-template-columns:repeat(4,1fr);width:100%;max-width:320px;margin:0 auto;gap:10px;padding-bottom:env(safe-area-inset-bottom,20px)}.tool-btn{display:flex;flex-direction:column;align-items:center;justify-content:center;background:none;border:none;color:var(--text-secondary);font-weight:600;font-size:.8rem;cursor:pointer;gap:5px;transition:transform .1s,color .1s;min-height:48px;min-width:48px}.tool-btn:active{transform:scale(.95)}.tool-btn:hover{color:var(--text-primary)}.tool-btn.active{color:var(--accent-color)}.notes-badge{position:absolute;top:-5px;right:-12px;font-size:.6rem;font-weight:700;padding:2px 4px;border-radius:4px;color:#fff}.notes-badge.on{background-color:var(--accent-color)}.number-pad{display:grid;grid-template-columns:repeat(9,1fr);width:100%;margin:0 auto 20px;gap:4px}.num-btn{width:100%;background-color:var(--numpad-bg);border-radius:8px;font-size:clamp(1.4rem,4vw,1.8rem);font-weight:700;color:var(--accent-color);border:none;cursor:pointer;display:flex;justify-content:center;align-items:center;transition:transform .15s ease-out,background-color .15s ease-out;min-height:48px;touch-action:manipulation}.num-btn:active{transform:scale(.92);background-color:var(--numpad-bg-active)}.num-btn:hover{background-color:var(--numpad-bg-active)}.num-btn.fully-used{opacity:.25}.rotate-device-overlay{display:none;position:fixed;inset:0;background-color:var(--background-color, #ffffff);z-index:10000;flex-direction:column;justify-content:center;align-items:center;font-size:1.2rem;font-weight:600;color:var(--text-primary);text-align:center;padding:20px}.rotate-device-overlay p{margin-top:20px;max-width:300px;line-height:1.4}@media(max-height:500px)and (orientation:landscape){.rotate-device-overlay{display:flex}.game-container,.sudoku-integrated-heading{display:none!important}}@media(max-width:550px){.game-container{width:100%;padding:0 10px}.sudoku-board{width:100%;max-width:100%}.num-btn{font-size:1.8rem}}@media(max-width:768px){.headline{font-size:2.5rem}.header{flex-wrap:wrap;gap:15px;justify-content:center;margin-bottom:30px}.nav{width:100%;justify-content:center}}.settings-overlay{position:fixed;inset:0;background-color:var(--settings-bg);z-index:1000;display:flex;flex-direction:column;overflow-y:auto;font-family:var(--font-family)}.settings-header{background-color:var(--settings-bg);position:sticky;top:0;z-index:10;padding:15px 20px;display:flex;align-items:center;justify-content:space-between;max-width:600px;width:100%;margin:0 auto}.settings-back-btn{background:none;border:none;color:var(--accent-color);cursor:pointer;display:flex;align-items:center;padding:0;transition:opacity .2s ease,transform .2s ease}.settings-back-btn:hover{opacity:.8;transform:translate(-2px)}.settings-back-btn:active{transform:scale(.92)}.settings-title{font-size:1.25rem;font-weight:600;text-align:center;flex:1;color:var(--text-primary)}.settings-content{padding:15px 20px;display:flex;flex-direction:column;gap:20px;max-width:600px;width:100%;margin:0 auto}.settings-card{background-color:var(--settings-card-bg);border-radius:16px;overflow:hidden;box-shadow:var(--settings-card-shadow);border:1px solid var(--settings-border);transition:all .3s ease}.settings-item{display:flex;justify-content:space-between;align-items:center;padding:14px 16px;background-color:var(--settings-card-bg);transition:background-color .2s ease}.settings-item:hover{background-color:var(--cell-bg-hover)}.settings-item.has-border{border-bottom:1px solid var(--settings-border)}.settings-item-text{display:flex;flex-direction:column;gap:4px;flex:1}.settings-item-label{font-size:1.05rem;font-weight:500;color:var(--text-primary)}.settings-item-sublabel{font-size:.8rem;color:var(--text-secondary);line-height:1.35}.settings-item-control{display:flex;align-items:center;justify-content:flex-end}.settings-toggle{width:51px;height:31px;background-color:var(--settings-toggle-bg);border-radius:31px;position:relative;cursor:pointer;transition:background-color .3s cubic-bezier(.4,0,.2,1)}.settings-toggle.active{background-color:var(--accent-color)}.settings-toggle-knob{width:27px;height:27px;background-color:#fff;border-radius:50%;position:absolute;top:2px;left:2px;box-shadow:0 2px 6px #00000026;transition:transform .3s cubic-bezier(.4,0,.2,1),background-color .3s ease}.settings-toggle.active .settings-toggle-knob{transform:translate(20px)}.pause-menu{display:flex;flex-direction:column;gap:15px;align-items:center;justify-content:center;width:100%;margin-top:40px}.btn-resume{background-color:var(--accent-color);color:#fff;border-radius:20px;padding:30px;display:flex;flex-direction:column;align-items:center;gap:15px;width:100%;border:none;cursor:pointer;box-shadow:0 4px 10px #0000001a;transition:transform .2s,background-color .2s}.btn-resume:hover{background-color:var(--accent-hover);transform:translateY(-2px)}.btn-resume:active{transform:scale(.98)}.resume-icon-container{background-color:#fff;color:var(--accent-color);border-radius:50%;width:90px;height:90px;display:flex;justify-content:center;align-items:center;box-shadow:0 4px 8px #00000026}.btn-resume span{font-size:1.2rem;font-weight:700;letter-spacing:1px}.btn-menu{background-color:var(--accent-color);color:#fff;border-radius:16px;padding:16px;font-size:1rem;font-weight:600;letter-spacing:.5px;width:100%;border:none;cursor:pointer;box-shadow:0 4px 10px #0000001a;transition:transform .2s,background-color .2s}.btn-menu:hover{background-color:var(--accent-hover);transform:translateY(-2px)}.btn-menu:active{transform:scale(.98)}.stats-content{padding-bottom:60px}.statistics-title-row{display:flex;justify-content:space-between;align-items:center;margin:10px 0 20px}.statistics-month{font-size:1.5rem;font-weight:600;color:var(--text-primary)}.statistics-month-controls{display:flex;align-items:center;gap:10px}.statistics-month-btn{background:none;border:none;cursor:pointer;color:var(--text-primary);display:flex;justify-content:center;align-items:center;padding:4px}.statistics-month-btn:disabled{color:var(--text-secondary);opacity:.5;cursor:default}.stats-calendar{background-color:#fff;border-radius:12px;padding:20px;margin-bottom:30px;box-shadow:0 4px 10px #00000008}.stats-calendar-header{display:grid;grid-template-columns:repeat(7,1fr);text-align:center;font-size:.9rem;font-weight:600;color:var(--text-secondary);margin-bottom:15px}.stats-calendar-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:10px}.stats-calendar-day{aspect-ratio:1;display:flex;justify-content:center;align-items:center;font-size:1.1rem;font-weight:500;color:var(--text-primary);position:relative;border-radius:50%}.stats-calendar-day.today{background-color:#e3f2fd;font-weight:700}.stats-marker-started{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);color:#f59e0b;z-index:0}.stats-marker-completed{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);color:#f59e0b66;z-index:0}.stats-calendar-day span{z-index:1}.stats-summary{background-color:#fff;border-radius:12px;padding:20px;box-shadow:0 4px 10px #00000008}.stats-summary-title{font-size:1.1rem;font-weight:600;margin-bottom:15px;color:var(--text-primary)}.stats-category{display:flex;justify-content:space-between;align-items:center;padding:10px 0;border-bottom:1px solid var(--border-color)}.stats-category:last-child{border-bottom:none}.stats-category-label{font-size:1rem;color:var(--text-primary)}.stats-category-value{font-size:1rem;font-weight:600;color:var(--text-primary)}.stats-time-filters{display:flex;justify-content:space-between;background-color:#e3e3e8;border-radius:8px;padding:3px;margin-bottom:20px}.stats-time-filter-btn{flex:1;background:none;border:none;padding:8px 0;font-size:.85rem;font-weight:500;color:var(--text-secondary);border-radius:6px;cursor:pointer;transition:all .2s}.stats-time-filter-btn.active{background-color:#fff;color:var(--text-primary);font-weight:600;box-shadow:0 1px 3px #0000001a}@media(min-width:768px)and (orientation:landscape){.top-bar-inner{max-width:900px;display:grid;grid-template-columns:minmax(320px,450px) 300px;gap:0 40px;justify-content:center}.top-bar-content-wrapper{grid-column:1}.game-container{max-width:900px;grid-template-areas:"header   header" "board    controls";grid-template-columns:minmax(320px,450px) 300px;grid-template-rows:auto 1fr;justify-content:center;align-content:center;gap:0px 40px}.board-header{padding-bottom:20px;max-width:100%;margin:0}.header-control-row{display:grid;grid-template-columns:1fr 300px;gap:40px;align-items:center}.header-actions-container{justify-content:center}.header-stats-row{max-width:450px;margin:0}.game-controls{align-self:center}.number-pad{grid-template-columns:repeat(3,1fr);max-width:240px;gap:12px;margin-bottom:24px}.num-btn{aspect-ratio:1;border-radius:12px;font-size:clamp(1.2rem,3vw,1.5rem)}.tools-row{max-width:240px}}.dropdown-item{display:block;width:100%;padding:12px 16px;text-align:left;background:transparent;border:none;color:var(--text-primary);font-size:.95rem;font-weight:500;cursor:pointer;transition:background-color .2s}.dropdown-item:hover{background-color:var(--cell-bg-hover)}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.difficulty-btn{width:100%;justify-content:center;border:1px solid var(--border-color);font-weight:600;flex-direction:column;align-items:center;transition:all .2s ease}.difficulty-btn.unlocked{background-color:var(--cell-bg);color:var(--text-primary);cursor:pointer;opacity:1}.difficulty-btn.unlocked:hover{background-color:var(--cell-bg-selected)}.difficulty-btn.locked{background-color:var(--bg-secondary);color:var(--text-secondary);cursor:not-allowed;opacity:.7}.sudoku-cell.hint-cause-strong{background-color:transparent!important;color:#fff!important;z-index:15}.sudoku-cell.hint-cause-strong-notes{background-color:var(--accent-color)!important;color:#fff!important;z-index:15}.sudoku-cell.hint-cause-strong:before{content:"";position:absolute;inset:8%;background-color:var(--accent-color);border-radius:10px;box-shadow:0 2px 8px #0003;z-index:-1;transition:all .3s ease}.sudoku-cell.hint-cause-soft{background-color:#3b82f626!important;transition:background-color .3s ease}[data-theme=dark] .sudoku-cell.hint-cause-soft{background-color:#3b82f640!important}.sudoku-cell.hint-eliminated{background-color:#ef444440!important;color:var(--error-color, #ef4444)!important;transition:background-color .3s ease}.hint-display-toast{position:absolute;bottom:calc(100% + 20px);top:auto;left:50%;transform:translate(-50%);background-color:var(--cell-bg);border:1px solid var(--accent-color);box-shadow:0 4px 20px #00000026;border-radius:12px;padding:12px 16px;display:flex;align-items:center;gap:16px;z-index:1000;width:92vw;max-width:500px;animation:slideUp .3s ease-out}@keyframes slideUp{0%{transform:translate(-50%,-20px);opacity:0}to{transform:translate(-50%);opacity:1}}.hint-content{display:flex;align-items:flex-start;gap:12px;flex:1}.hint-icon{color:var(--accent-color);flex-shrink:0;margin-top:2px}.hint-text{font-size:.95rem;color:var(--text-primary);line-height:1.4;font-weight:500;max-height:100px;overflow-y:auto;padding-right:4px}.hint-step-indicator{font-weight:700;color:var(--accent-color);margin-right:4px}.hint-actions{display:flex;align-items:center;gap:8px;flex-shrink:0}.hint-next-btn{background-color:var(--accent-color);color:#fff;border:none;border-radius:6px;padding:6px 12px;font-size:.85rem;font-weight:600;cursor:pointer;display:flex;align-items:center;gap:4px;transition:background-color .2s}.hint-next-btn:hover{background-color:var(--accent-color-hover, #0056b3)}.hint-close-btn{background:transparent;border:none;color:var(--text-secondary);padding:4px;cursor:pointer;border-radius:4px;display:flex;align-items:center;justify-content:center;transition:background-color .2s,color .2s}.hint-close-btn:hover{background-color:var(--bg-secondary);color:var(--text-primary)}.pwa-prompt-overlay{position:fixed;bottom:24px;left:50%;transform:translate(-50%) translateY(120%);width:calc(100% - 32px);max-width:420px;z-index:9999;background:#ffffffbf;-webkit-backdrop-filter:blur(20px) saturate(180%);backdrop-filter:blur(20px) saturate(180%);border:1px solid rgba(255,255,255,.4);border-radius:20px;padding:20px;box-shadow:0 12px 40px #0000001f;display:flex;flex-direction:column;gap:16px;animation:pwaSlideUp .6s cubic-bezier(.16,1,.3,1) forwards;transition:all .3s ease}[data-theme=dark] .pwa-prompt-overlay{background:#1e1e1ebf;border:1px solid rgba(255,255,255,.08);box-shadow:0 12px 40px #0006}[data-theme=warm] .pwa-prompt-overlay{background:#f0e9dcd9;border:1px solid rgba(94,84,73,.15);box-shadow:0 12px 40px #5e544926}@keyframes pwaSlideUp{to{transform:translate(-50%) translateY(0)}}.pwa-prompt-header{display:flex;justify-content:space-between;align-items:center}.pwa-prompt-title{display:flex;align-items:center;gap:10px}.pwa-prompt-app-icon{width:40px;height:40px;border-radius:10px;object-fit:cover;box-shadow:0 4px 10px #00000014}.pwa-prompt-title-text h4{font-size:.95rem;font-weight:700;margin:0;color:var(--text-primary)}.pwa-prompt-title-text p{font-size:.75rem;margin:0;color:var(--text-secondary)}.pwa-prompt-close{background:#0000000d;border:none;cursor:pointer;width:28px;height:28px;border-radius:50%;display:flex;align-items:center;justify-content:center;color:var(--text-primary);transition:background .2s,transform .2s}[data-theme=dark] .pwa-prompt-close{background:#ffffff14}.pwa-prompt-close:hover{background:#0000001a;transform:scale(1.05)}[data-theme=dark] .pwa-prompt-close:hover{background:#ffffff26}.pwa-prompt-body{font-size:.85rem;color:var(--text-primary);line-height:1.45}.pwa-prompt-steps{display:flex;flex-direction:column;gap:12px;margin-top:4px}.pwa-prompt-step{display:flex;align-items:center;gap:12px;background:#00000005;padding:10px 14px;border-radius:12px;border:1px solid rgba(0,0,0,.02);font-size:.85rem;color:var(--text-primary)}[data-theme=dark] .pwa-prompt-step{background:#ffffff05;border:1px solid rgba(255,255,255,.02)}.pwa-prompt-step-warning{background:#f59e0b14;border:1px solid rgba(245,158,11,.2);align-items:flex-start}[data-theme=dark] .pwa-prompt-step-warning{background:#f59e0b26;border:1px solid rgba(245,158,11,.3)}.pwa-prompt-step-text{display:flex;flex-direction:column;flex:1}.pwa-prompt-warning-desc{margin:4px 0 10px;font-size:.8rem;color:var(--text-secondary);line-height:1.3}.pwa-prompt-login-btn{display:flex;align-items:center;justify-content:center;gap:6px;background:var(--accent-color);color:#fff;border:none;border-radius:8px;padding:8px 12px;font-size:.8rem;font-weight:600;cursor:pointer;transition:opacity .2s,transform .1s;width:fit-content}.pwa-prompt-login-btn:hover:not(:disabled){opacity:.9;transform:scale(.98)}.pwa-prompt-login-btn:disabled{opacity:.7;cursor:not-allowed}.pwa-prompt-icon-wrapper{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:8px;background:#fff;box-shadow:0 2px 6px #0000000d;flex-shrink:0}[data-theme=dark] .pwa-prompt-icon-wrapper{background:#2a2a2a;box-shadow:0 2px 6px #0003}.pwa-prompt-icon-wrapper svg{color:var(--accent-color)}.pwa-prompt-ios-share-svg{width:18px;height:22px;stroke:currentColor;stroke-width:2;fill:none}.pwa-prompt-action-icon{font-size:1.1rem;font-weight:700;color:var(--accent-color)}.pwa-prompt-footer-hint{font-size:.72rem;color:var(--text-secondary);text-align:center;margin:4px 0 0;letter-spacing:.2px}.legal-page{background-color:var(--bg-primary);color:var(--text-primary);min-height:100vh;padding:40px 20px;font-family:var(--font-family);transition:background-color .3s ease,color .3s ease}.legal-container{max-width:800px;margin:0 auto;background-color:var(--cell-bg, #ffffff);border:1px solid var(--border-color);border-radius:16px;padding:40px;box-shadow:0 10px 30px #0000000d;transition:background-color .3s ease,border-color .3s ease}@media(max-width:600px){.legal-container{padding:24px 16px;border-radius:12px}.legal-page{padding:20px 10px}}.back-btn{display:inline-flex;align-items:center;gap:8px;background-color:var(--bg-secondary);color:var(--accent-color);border:1px solid var(--border-color);padding:10px 18px;border-radius:20px;font-weight:600;font-size:.95rem;cursor:pointer;transition:all .2s ease;margin-bottom:30px}.back-btn:hover{background-color:var(--cell-bg-selected);border-color:var(--accent-color);transform:translate(-4px);box-shadow:0 4px 12px #007bff26}.back-btn:active{transform:scale(.95) translate(-4px)}.lang-toggle-btn{display:inline-flex;align-items:center;gap:6px;background-color:var(--bg-secondary);color:var(--accent-color);border:1px solid var(--border-color);padding:8px 16px;border-radius:20px;font-weight:600;font-size:.9rem;cursor:pointer;transition:all .2s ease}.lang-toggle-btn:hover{background-color:var(--cell-bg-selected);border-color:var(--accent-color);transform:translateY(-1px);box-shadow:0 4px 12px #007bff1a}.lang-toggle-btn:active{transform:scale(.97)}.legal-content{line-height:1.75;font-size:1.05rem}.legal-content h1{font-size:2.2rem;font-weight:800;margin-bottom:10px;color:var(--text-primary);border-bottom:2px solid var(--border-color);padding-bottom:15px}.legal-content h2{font-size:1.5rem;font-weight:700;margin-top:40px;margin-bottom:20px;color:var(--text-primary)}.legal-content h3{font-size:1.2rem;font-weight:600;margin-top:25px;margin-bottom:15px;color:var(--text-primary)}.legal-content p{margin-bottom:20px;color:var(--text-primary)}.legal-content ul,.legal-content ol{margin-bottom:25px;padding-left:24px}.legal-content li{margin-bottom:10px}.legal-content hr{border:none;border-top:1px solid var(--border-color);margin:40px 0}.legal-content a{color:var(--accent-color);font-weight:600;text-decoration:underline;transition:color .2s ease}.legal-content a:hover{color:var(--accent-hover)}.legal-content blockquote{background-color:var(--bg-secondary);border-left:4px solid var(--accent-color);padding:20px 24px;margin:30px 0;border-radius:0 12px 12px 0;font-style:italic;color:var(--text-primary)}.legal-content blockquote p{margin-bottom:0}.legal-content table{width:100%;border-collapse:collapse;margin:30px 0;font-size:.95rem;text-align:left;display:block;overflow-x:auto;border-radius:12px;border:1px solid var(--border-color)}.legal-content th,.legal-content td{padding:14px 18px;border-bottom:1px solid var(--border-color);min-width:120px}.legal-content th{background-color:var(--bg-secondary);font-weight:700;color:var(--text-primary);border-bottom:2px solid var(--border-color);text-transform:uppercase;font-size:.8rem;letter-spacing:.5px}.legal-content tr:last-child td{border-bottom:none}.legal-content tr:nth-child(2n){background-color:#00000005}[data-theme=dark] .legal-content tr:nth-child(2n){background-color:#ffffff05}.legal-content tr:hover{background-color:var(--cell-bg-hover);transition:background-color .15s ease}.legal-container.loading{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:300px;gap:20px;font-weight:600;color:var(--text-secondary)}.legal-container.loading:before{content:"";width:40px;height:40px;border:4px solid var(--border-color);border-top:4px solid var(--accent-color);border-radius:50%;animation:spin 1s linear infinite}.legal-container.error{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:60px 40px;gap:20px}.legal-container.error h2{font-size:1.8rem;color:var(--error-color, #ef4444);margin-bottom:10px}.legal-container.error p{color:var(--text-secondary);max-width:400px;margin-bottom:20px}.legal-container.error button{background-color:var(--accent-color);color:#fff;font-weight:600;border:none;padding:12px 24px;border-radius:8px;cursor:pointer;transition:all .2s ease}.legal-container.error button:hover{background-color:var(--accent-hover);transform:translateY(-2px);box-shadow:0 4px 12px #007bff26}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}
