@font-face{font-family:JetBrains Mono;src:url(fonts/JetBrainsMono-Light.woff2)format("woff2");font-weight:300;font-style:normal;font-display:swap}@font-face{font-family:JetBrains Mono;src:url(fonts/JetBrainsMono-Regular.woff2)format("woff2");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:JetBrains Mono;src:url(fonts/JetBrainsMono-Medium.woff2)format("woff2");font-weight:500;font-style:normal;font-display:swap}@font-face{font-family:JetBrains Mono;src:url(fonts/JetBrainsMono-SemiBold.woff2)format("woff2");font-weight:600;font-style:normal;font-display:swap}@font-face{font-family:JetBrains Mono;src:url(fonts/JetBrainsMono-Bold.woff2)format("woff2");font-weight:700;font-style:normal;font-display:swap}:root{--slate-50:#f8fafc;--slate-100:#f1f5f9;--slate-200:#e2e8f0;--slate-300:#cbd5e1;--slate-400:#94a3b8;--slate-500:#64748b;--slate-600:#475569;--slate-700:#334155;--slate-800:#1e293b;--slate-900:#0f172a;--slate-950:#020617;--primary-50:#eef2ff;--primary-100:#e0e7ff;--primary-200:#c7d2fe;--primary-300:#a5b4fc;--primary-400:#818cf8;--primary-500:#6366f1;--primary-600:#4f46e5;--primary-700:#4338ca;--primary-800:#3730a3;--primary-900:#312e81;--blue-500:#3b82f6;--blue-600:#2563eb;--success-50:#ecfdf5;--success-100:#d1fae5;--success-500:#10b981;--success-600:#059669;--danger-50:#fff1f2;--danger-100:#ffe4e6;--danger-200:#fecdd3;--danger-400:#fb7185;--danger-500:#f43f5e;--danger-600:#e11d48;--warning-50:#fffbeb;--warning-100:#fef3c7;--warning-500:#f59e0b;--bg-primary:var(--slate-900);--bg-secondary:var(--slate-800);--bg-card:#fff;--bg-card-hover:var(--slate-50);--text-primary:var(--slate-800);--text-secondary:var(--slate-500);--text-muted:var(--slate-400);--text-inverse:#fff;--border-light:var(--slate-200);--border-medium:var(--slate-300);--border-dark:var(--slate-700);--cell-bg:#fff;--cell-bg-original:var(--slate-100);--cell-bg-selected:var(--primary-100);--cell-bg-highlighted:var(--primary-100);--cell-bg-same:var(--success-100);--cell-bg-hint:var(--warning-100);--cell-border-selected:var(--primary-500);--shadow-sm:0 1px 2px 0 #0000000d;--shadow-md:0 4px 6px -1px #0000001a,0 2px 4px -2px #0000001a;--shadow-lg:0 10px 15px -3px #0000001a,0 4px 6px -4px #0000001a;--shadow-xl:0 20px 25px -5px #0000001a,0 8px 10px -6px #0000001a;--shadow-2xl:0 25px 50px -12px #00000040;--shadow-inner:inset 0 2px 4px 0 #0000000d;--shadow-glow:0 0 30px #6366f133;--font-main:"JetBrains Mono","SF Mono","Fira Code","Cascadia Code",monospace;--radius-sm:6px;--radius-md:8px;--radius-lg:12px;--radius-xl:16px;--transition-fast:.15s cubic-bezier(.4,0,.2,1);--transition-normal:.2s cubic-bezier(.4,0,.2,1);--transition-slow:.3s cubic-bezier(.4,0,.2,1)}[data-theme=dark]{--bg-primary:#0a0a0f;--bg-secondary:#12121a;--bg-card:#1a1a24;--bg-card-hover:#22222e;--text-primary:#f1f5f9;--text-secondary:#94a3b8;--text-muted:#64748b;--text-inverse:#0f172a;--border-light:#2a2a3a;--border-medium:#3a3a4a;--border-dark:#4a4a5a;--cell-bg:#1e1e28;--cell-bg-original:#282834;--cell-bg-selected:#3730a3;--cell-bg-highlighted:#1e1b4b;--cell-bg-same:#064e3b;--cell-bg-hint:#78350f;--cell-border-selected:var(--primary-400);--shadow-glow:0 0 30px #6366f126}[data-theme=dark] body{background:var(--bg-primary);background-image:radial-gradient(circle,#6366f108 1px,#0000 1px),radial-gradient(at top,#1a1a2e 0%,#0000 50%),radial-gradient(at bottom,#0a0a0f 0%,#050508 100%);background-size:24px 24px,100% 100%,100% 100%}[data-theme=dark] .container{background:var(--bg-card);border-color:var(--border-light);box-shadow:0 25px 50px -12px #00000080,0 0 40px #6366f126,0 0 80px #6366f11a}[data-theme=dark] .container:before{background:linear-gradient(135deg,var(--primary-500),var(--primary-400),var(--slate-500));opacity:.5}[data-theme=dark] .sudoku-grid{background:var(--slate-700)}[data-theme=dark] .cell{background:var(--cell-bg);color:var(--text-primary);border-color:var(--border-light)}[data-theme=dark] .cell.border-left{border-left-color:var(--slate-400)}[data-theme=dark] .cell.border-top{border-top-color:var(--slate-400)}[data-theme=dark] .cell:hover:not(.selected):not(.original){background:var(--cell-bg-highlighted)}[data-theme=dark] .cell.original{background:var(--cell-bg-original);color:var(--text-primary)}[data-theme=dark] .cell.selected{box-shadow:inset 0 0 15px #6366f166;background:var(--cell-bg-selected)!important}[data-theme=dark] .cell.highlighted{background:var(--cell-bg-highlighted)}[data-theme=dark] .cell.same-number{background:var(--cell-bg-same)}[data-theme=dark] .game-info{background:var(--bg-secondary);border-color:var(--border-light)}[data-theme=dark] .btn-secondary{background:var(--bg-secondary);color:var(--text-primary);border-color:var(--border-light)}[data-theme=dark] .btn-secondary:hover{background:var(--bg-card-hover);border-color:var(--border-medium)}[data-theme=dark] .btn-ghost{color:var(--text-secondary);border-color:var(--border-light)}[data-theme=dark] .btn-ghost:hover{background:var(--bg-secondary);color:var(--text-primary);border-color:var(--border-medium)}[data-theme=dark] .num-btn{background:linear-gradient(180deg,var(--bg-card-hover)0%,var(--bg-secondary)100%);color:var(--text-primary);border-color:var(--border-light);box-shadow:0 2px 4px #0000004d,inset 0 1px #ffffff0d}[data-theme=dark] .num-btn:hover{background:linear-gradient(180deg,var(--bg-card-hover)0%,var(--bg-card)100%);box-shadow:0 4px 8px #0006,inset 0 1px #ffffff14}[data-theme=dark] .num-btn:active{background:var(--bg-secondary);box-shadow:inset 0 2px 4px #0000004d}[data-theme=dark] .num-btn.erase-btn{background:#f43f5e1a;border-color:#f43f5e33}[data-theme=dark] .num-btn.erase-btn:hover{background:#f43f5e33}[data-theme=dark] .difficulty-selector select{background:var(--bg-secondary);color:var(--text-primary);border-color:var(--border-light)}[data-theme=dark] .progress-bar{background:var(--border-light)}[data-theme=dark] .modal-backdrop{background:#000000d9}[data-theme=dark] .modal-content{background:var(--bg-card);border-color:var(--border-light)}[data-theme=dark] .pause-overlay{background:#1a1a24f7}[data-theme=dark] .pause-text,[data-theme=dark] .modal-content h2{color:var(--text-primary)}*{box-sizing:border-box;margin:0;padding:0}html{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility;font-size:16px}body{font-family:var(--font-main);background:var(--bg-primary);background-image:radial-gradient(ellipse at top,var(--slate-800)0%,transparent 50%),radial-gradient(ellipse at bottom,var(--slate-900)0%,var(--slate-950)100%);justify-content:center;align-items:center;height:100dvh;padding:12px;display:flex;overflow:hidden}.container{background:var(--bg-card);border-radius:var(--radius-xl);box-shadow:var(--shadow-2xl),var(--shadow-glow);border:1px solid var(--border-light);contain:layout style;flex-direction:column;width:fit-content;max-width:calc(100vw - 24px);max-height:calc(100dvh - 24px);padding:20px;display:flex;position:relative;overflow:auto}.container:before{content:"";border-radius:calc(var(--radius-xl) + 1px);background:linear-gradient(135deg,var(--primary-400),var(--primary-600),var(--slate-600));-webkit-mask-composite:xor;opacity:.4;pointer-events:none;z-index:-1;padding:1px;position:absolute;inset:-1px;-webkit-mask-image:linear-gradient(#fff 0 0),linear-gradient(#fff 0 0);mask-image:linear-gradient(#fff 0 0),linear-gradient(#fff 0 0);-webkit-mask-position:0 0,0 0;mask-position:0 0,0 0;-webkit-mask-size:auto,auto;mask-size:auto,auto;-webkit-mask-repeat:repeat,repeat;mask-repeat:repeat,repeat;-webkit-mask-clip:content-box,border-box;mask-clip:content-box,border-box;-webkit-mask-origin:content-box,border-box;mask-origin:content-box,border-box;mask-composite:exclude;mask-mode:match-source,match-source}header{flex-shrink:0;justify-content:space-between;align-items:center;margin-bottom:16px;display:flex}.logo{align-items:center;gap:10px;display:flex}.logo-icon{width:26px;height:26px;color:var(--primary-500)}header h1{color:var(--text-primary);letter-spacing:-.02em;font-size:1.375rem;font-weight:600}.header-buttons{gap:4px;display:flex}.btn-icon-only{padding:8px}.btn-icon-only .btn-icon,.btn-icon-only .icon-sun,.btn-icon-only .icon-moon{width:18px;height:18px}#theme-btn .icon-moon,[data-theme=dark] #theme-btn .icon-sun{display:none}[data-theme=dark] #theme-btn .icon-moon{display:block}.game-controls{flex-direction:column;flex-shrink:0;gap:10px;margin-bottom:12px;display:flex}.difficulty-selector{justify-content:center;align-items:center;gap:10px;display:flex}.difficulty-selector label{color:var(--text-secondary);text-transform:lowercase;letter-spacing:.02em;font-size:.75rem;font-weight:400}.select-wrapper{position:relative}.select-wrapper:after{content:"▾";color:var(--text-muted);pointer-events:none;font-size:.7rem;position:absolute;top:50%;right:10px;transform:translateY(-50%)}.difficulty-selector select{border:1px solid var(--border-medium);border-radius:var(--radius-md);font-size:.8rem;font-weight:500;font-family:var(--font-main);cursor:pointer;background:var(--bg-card);color:var(--text-primary);transition:all var(--transition-fast);-webkit-appearance:none;appearance:none;text-transform:lowercase;min-width:max(80px,6em);padding:8px 28px 8px 12px}.difficulty-selector select:hover{border-color:var(--primary-300)}.difficulty-selector select:focus{border-color:var(--primary-500);box-shadow:0 0 0 3px var(--primary-100);outline:none}.button-group{flex-wrap:wrap;justify-content:center;gap:6px;display:flex}.btn{border-radius:var(--radius-md);font-size:.7rem;font-weight:500;font-family:var(--font-main);cursor:pointer;transition:all var(--transition-fast);touch-action:manipulation;-webkit-tap-highlight-color:transparent;white-space:nowrap;text-transform:lowercase;letter-spacing:.01em;border:none;justify-content:center;align-items:center;gap:6px;padding:8px 12px;display:inline-flex}.btn-icon{stroke-width:2.5px;flex-shrink:0;width:14px;height:14px}.btn-primary{background:var(--primary-600);color:var(--text-inverse);box-shadow:var(--shadow-sm)}.btn-primary:hover{background:var(--primary-700);box-shadow:var(--shadow-md)}.btn-primary:active{background:var(--primary-800);transform:scale(.98)}.btn-secondary{background:var(--slate-100);color:var(--text-primary);border:1px solid var(--border-light)}.btn-secondary:hover{background:var(--slate-200);border-color:var(--border-medium)}.btn-secondary:active{background:var(--slate-300);transform:scale(.98)}.btn-ghost{color:var(--text-secondary);border:1px solid var(--border-light);background:0 0}.btn-ghost:hover{background:var(--slate-100);color:var(--text-primary);border-color:var(--border-medium)}.btn-ghost:active{background:var(--slate-200);border-color:var(--border-medium);transform:scale(.98)}.hint-count{opacity:.7;font-size:.85em}.btn-large{padding:12px 24px;font-size:.8rem}.game-info{background:var(--slate-50);border-radius:var(--radius-md);border:1px solid var(--border-light);flex-shrink:0;justify-content:center;align-items:center;gap:28px;margin-bottom:12px;padding:10px 16px;display:flex}.info-item{align-items:center;gap:8px;display:flex}.info-icon{width:16px;height:16px;color:var(--text-muted);stroke-width:2px}.timer{font-size:1.1rem;font-weight:500;font-family:var(--font-main);color:var(--text-primary);letter-spacing:.05em;font-variant-numeric:tabular-nums}.mistakes-display{font-family:var(--font-main);font-variant-numeric:tabular-nums;align-items:baseline;gap:1px;display:flex}.mistakes-current{color:var(--danger-500);font-size:1.1rem;font-weight:600}.mistakes-separator{color:var(--text-muted);font-size:.8rem;font-weight:300}.mistakes-max{color:var(--text-muted);font-size:.8rem;font-weight:400}.progress-container{align-items:center;gap:8px;display:flex}.progress-bar{background:var(--slate-200);border-radius:3px;width:60px;height:6px;overflow:hidden}.progress-fill{background:linear-gradient(90deg,var(--primary-500),var(--success-500));width:0%;height:100%;transition:width var(--transition-normal);border-radius:3px}.progress-text{color:var(--text-secondary);font-variant-numeric:tabular-nums;min-width:32px;font-size:.75rem;font-weight:500}.game-area{box-sizing:border-box;flex-flow:wrap;flex-shrink:1;justify-content:center;align-items:center;gap:20px;max-width:100%;margin-bottom:8px;display:flex}.grid-wrapper{flex-shrink:1;width:min(50vh,50vw,400px);min-width:0;max-width:100%;position:relative}.pause-overlay{-webkit-backdrop-filter:blur(8px);z-index:20;border-radius:var(--radius-md);cursor:pointer;transition:opacity var(--transition-normal);background:#f8fafcf2;flex-direction:column;justify-content:center;align-items:center;gap:12px;display:flex;position:absolute;inset:0}.pause-overlay.hidden{display:none}.pause-icon{width:48px;height:48px;color:var(--primary-500)}.pause-text{color:var(--slate-800);text-transform:lowercase;font-size:1.25rem;font-weight:600}.pause-hint{color:var(--slate-500);text-transform:lowercase;font-size:.75rem}.timer-container.paused .timer{opacity:.5}.timer-container.paused .info-icon{color:var(--primary-500)}.timer.paused{animation:1s ease-in-out infinite timer-blink}@keyframes timer-blink{0%,to{opacity:1}50%{opacity:.4}}.sudoku-grid{background:var(--slate-600);border-radius:var(--radius-md);aspect-ratio:1;width:100%;box-shadow:var(--shadow-md);touch-action:manipulation;grid-template-columns:repeat(9,1fr);gap:0;padding:2px;display:grid}.cell{background:var(--cell-bg);font-size:clamp(1rem,4vw,1.4rem);font-weight:500;font-family:var(--font-main);color:var(--text-primary);cursor:pointer;transition:background-color var(--transition-fast),box-shadow var(--transition-fast);-webkit-user-select:none;user-select:none;border:1px solid var(--slate-200);aspect-ratio:1;touch-action:manipulation;-webkit-tap-highlight-color:transparent;font-variant-numeric:tabular-nums;justify-content:center;align-items:center;display:flex;position:relative}@media (hover:hover){.cell:hover:not(.original){background:var(--cell-bg-highlighted)}}.cell.border-left{border-left:2px solid var(--slate-400)}.cell.border-top{border-top:2px solid var(--slate-400)}.cell:hover:not(.selected):not(.original){background:var(--cell-bg-highlighted);cursor:pointer}.cell[data-row="0"][data-col="0"]{border-top-left-radius:calc(var(--radius-md) - 2px)}.cell[data-row="0"][data-col="8"]{border-top-right-radius:calc(var(--radius-md) - 2px)}.cell[data-row="8"][data-col="0"]{border-bottom-left-radius:calc(var(--radius-md) - 2px)}.cell[data-row="8"][data-col="8"]{border-bottom-right-radius:calc(var(--radius-md) - 2px)}.cell.original{color:var(--slate-700);background:var(--cell-bg-original);font-weight:600}.cell.selected{outline:2px solid var(--cell-border-selected);outline-offset:-2px;z-index:2;box-shadow:inset 0 0 12px #6366f14d;background:var(--cell-bg-selected)!important}.cell.highlighted{background:var(--cell-bg-highlighted)}.cell.same-number{background:var(--cell-bg-same)}.cell.error{color:var(--danger-500);animation:.4s cubic-bezier(.36,.07,.19,.97) shake}.cell.correct{color:var(--success-600)}.cell.conflict{box-shadow:inset 0 0 0 2px var(--danger-200);background:var(--danger-50)!important}[data-theme=dark] .cell.conflict{box-shadow:inset 0 0 0 2px #f43f5e4d;background:#f43f5e26!important}.cell.hint{animation:.6s hint-pulse;background:var(--cell-bg-hint)!important}.cell-value{z-index:1;position:relative}.cell.has-value .notes-container{display:none!important}.notes-container{pointer-events:none;grid-template-rows:repeat(3,1fr);grid-template-columns:repeat(3,1fr);gap:0;display:grid;position:absolute;inset:2px}.note{color:var(--primary-500);justify-content:center;align-items:center;font-size:clamp(.45rem,1.5vw,.6rem);font-weight:400;line-height:1;display:flex}body.notes-mode-active .number-pad:before{content:"";background:var(--primary-50);border:2px solid var(--primary-300);border-radius:var(--radius-lg);z-index:-1;position:absolute;inset:-6px}[data-theme=dark] body.notes-mode-active .number-pad:before{background:var(--primary-900);border-color:var(--primary-500)}.btn.active{background:var(--primary-100);color:var(--primary-700);border-color:var(--primary-300)}[data-theme=dark] .btn.active{background:var(--primary-900);color:var(--primary-300);border-color:var(--primary-600)}.cell.celebrate{animation:.5s celebrate}.cell.completed-flash{animation:.6s completed-flash}@keyframes celebrate{0%{background:var(--cell-bg);transform:scale(1)}50%{background:var(--success-100);transform:scale(1.05)}to{background:var(--cell-bg);transform:scale(1)}}@keyframes completed-flash{0%{background:var(--cell-bg)}50%{background:var(--success-100)}to{background:var(--cell-bg)}}.confetti{z-index:2000;pointer-events:none;border-radius:2px;width:10px;height:10px;animation:2.5s ease-out forwards confetti-fall;position:fixed;top:-10px}@keyframes confetti-fall{0%{opacity:1;transform:translateY(0)rotate(0)}to{opacity:0;transform:translateY(100vh)rotate(720deg)}}.mistakes-current.pulse{animation:.3s pulse-red}@keyframes pulse-red{0%,to{transform:scale(1)}50%{color:var(--danger-600);transform:scale(1.2)}}@keyframes shake{0%,to{transform:translate(0)}20%{transform:translate(-3px)}40%{transform:translate(3px)}60%{transform:translate(-2px)}80%{transform:translate(2px)}}@keyframes hint-pulse{0%{transform:scale(1)}50%{transform:scale(1.03)}to{transform:scale(1)}}.number-pad{flex-shrink:0;grid-template-columns:repeat(3,1fr);gap:6px;width:clamp(120px,35%,180px);display:grid;position:relative}.num-btn{font-size:clamp(1.5rem,5vw,2rem);font-weight:600;font-family:var(--font-main);border-radius:var(--radius-lg);background:linear-gradient(180deg,var(--slate-50)0%,var(--slate-100)100%);color:var(--text-primary);cursor:pointer;transition:all var(--transition-fast);touch-action:manipulation;-webkit-tap-highlight-color:transparent;aspect-ratio:1;box-shadow:var(--shadow-sm),inset 0 1px 0 #fffc;border:none;border:1px solid var(--border-light);font-variant-numeric:tabular-nums;justify-content:center;align-items:center;padding:0;display:flex;position:relative}.num-count{color:var(--text-muted);pointer-events:none;font-size:.55em;font-weight:700;line-height:1;position:absolute;top:6%;right:8%}.num-count.hidden{display:none}.num-btn.completed{opacity:.35}.num-btn.completed .num-count{display:none}.num-btn:hover{background:linear-gradient(180deg,var(--slate-100)0%,var(--slate-200)100%);box-shadow:var(--shadow-md),inset 0 1px 0 #ffffffe6;transform:translateY(-2px)}.num-btn:active{background:var(--slate-200);transform:translateY(0)scale(.98);box-shadow:inset 0 2px 4px #0000001a}.num-btn.erase-btn{background:var(--danger-50);color:var(--danger-500);border-color:var(--danger-200);font-size:0}.num-btn.erase-btn:hover{background:var(--danger-100);border-color:var(--danger-300)}.num-btn.erase-btn:active{background:var(--danger-200)}.num-btn.erase-btn svg{stroke-width:2px;width:clamp(18px,1.2em,24px);height:clamp(18px,1.2em,24px)}@media (width<=899px){.container{width:100%;max-width:500px;overflow:hidden auto}.game-area{flex-direction:column;flex-shrink:0;gap:16px}.grid-wrapper{flex-shrink:1;width:100%;max-width:400px;margin:0 auto}.number-pad{flex-shrink:0;grid-template-columns:repeat(9,1fr);gap:6px;width:100%;max-width:400px;margin:0 auto}.num-btn{aspect-ratio:auto;width:100%;height:52px;padding:0;font-size:clamp(1.2rem,5.5vw,1.6rem)}.num-btn.erase-btn{grid-column:auto}.num-count{font-size:.5em;top:4%;right:6%}}@media (width>=900px) and (height<=599px){.game-area{flex-direction:column;gap:12px}.grid-wrapper{width:100%;max-width:min(70vh,400px);margin:0 auto}.number-pad{grid-template-columns:repeat(5,1fr);gap:6px;width:100%;max-width:min(70vh,400px);margin:0 auto}.num-btn{aspect-ratio:1;font-size:clamp(1rem,3vw,1.5rem)}.num-btn.erase-btn{grid-column:auto}}@media (width>=900px) and (height>=600px){.game-area{flex-flow:wrap}.grid-wrapper{width:min(55vh,45vw,450px);max-width:none;margin:0}.number-pad{grid-template-columns:repeat(3,1fr);gap:8px;width:clamp(140px,12vw,180px);max-width:none;margin:0}.num-btn{aspect-ratio:1;font-size:clamp(1.5rem,2.5vh,1.75rem)}.cell{font-size:1.4rem}}@media (width>=1000px) and (height>=700px){.grid-wrapper{width:min(60vh,40vw,500px)}.number-pad{width:clamp(150px,12vw,190px)}.num-btn{font-size:clamp(1.6rem,2.6vh,1.85rem)}.cell{font-size:1.5rem}}@media (width>=1100px) and (height>=800px){.grid-wrapper{width:min(65vh,35vw,550px)}.number-pad{gap:10px;width:clamp(160px,13vw,200px)}.num-btn{font-size:clamp(1.75rem,2.8vh,2rem)}.cell{font-size:1.6rem}}.message{text-align:center;min-height:24px;color:var(--text-secondary);text-transform:lowercase;letter-spacing:.02em;flex-shrink:0;padding:6px;font-size:.7rem;font-weight:400}.modal{z-index:1000;justify-content:center;align-items:center;width:100%;height:100%;padding:20px;display:flex;position:fixed;top:0;left:0}.modal.hidden{display:none}.modal-backdrop{-webkit-backdrop-filter:blur(8px);z-index:1;background:#0f172ad9;width:100%;height:100%;position:absolute;top:0;left:0}.modal-content{z-index:2;background:var(--bg-card);border-radius:var(--radius-xl);text-align:center;width:100%;max-width:min(320px,90vw);box-shadow:var(--shadow-2xl);border:1px solid var(--border-light);padding:32px;animation:.3s cubic-bezier(.34,1.56,.64,1) modal-in;position:relative}@keyframes modal-in{0%{opacity:0;transform:scale(.9)translateY(10px)}to{opacity:1;transform:scale(1)translateY(0)}}.modal-icon{border-radius:50%;justify-content:center;align-items:center;width:56px;height:56px;margin:0 auto 16px;display:flex}.modal-icon.success{background:var(--success-100);color:var(--success-600)}.modal-icon.failure{background:var(--danger-100);color:var(--danger-500)}.modal-icon svg{stroke-width:2.5px;width:28px;height:28px}.modal-icon .icon-failure,.modal-icon.failure .icon-success{display:none}.modal-icon.failure .icon-failure{display:block}.modal-content h2{color:var(--text-primary);letter-spacing:-.02em;text-transform:lowercase;margin-bottom:8px;font-size:1.25rem;font-weight:600}.modal-content p{color:var(--text-secondary);margin-bottom:24px;font-size:.85rem;font-weight:400;line-height:1.5}.stats-grid{border-bottom:1px solid var(--border-light);grid-template-columns:repeat(4,1fr);gap:8px;margin-bottom:16px;padding-bottom:16px;display:grid}.stat-item{flex-direction:column;align-items:center;gap:4px;display:flex}.stat-value{color:var(--text-primary);font-variant-numeric:tabular-nums;font-size:1.25rem;font-weight:600}.stat-label{color:var(--text-muted);text-transform:lowercase;font-size:.65rem}.stats-secondary{border-bottom:1px solid var(--border-light);margin-bottom:16px;padding-bottom:16px}.stat-row{justify-content:space-between;padding:6px 0;font-size:.75rem;display:flex}.stat-row span:first-child{color:var(--text-secondary)}.stat-row span:last-child{color:var(--text-primary);font-variant-numeric:tabular-nums;font-weight:500}.stats-difficulty{text-align:left}.stat-diff-header{color:var(--text-muted);text-transform:lowercase;border-bottom:1px solid var(--border-light);grid-template-columns:1fr auto auto;gap:16px;margin-bottom:4px;padding-bottom:6px;font-size:.65rem;display:grid}.stat-diff-row{grid-template-columns:1fr auto auto;gap:16px;padding:4px 0;font-size:.75rem;display:grid}.stat-diff-name{text-transform:capitalize;color:var(--text-secondary)}.stat-diff-value{color:var(--text-primary);font-variant-numeric:tabular-nums;text-align:right;min-width:40px;font-weight:500}.stat-diff-best{font-variant-numeric:tabular-nums;color:var(--success-600);text-align:right;min-width:45px}@media (height<=650px){.container{padding:14px}header{margin-bottom:10px}.logo-icon{width:22px;height:22px}header h1{font-size:1.2rem}.game-controls{gap:8px;margin-bottom:10px}.btn{padding:6px 10px;font-size:.65rem}.btn-icon{width:12px;height:12px}.game-info{gap:20px;margin-bottom:10px;padding:8px 12px}.info-icon{width:14px;height:14px}.timer,.mistakes-current{font-size:.95rem}.progress-bar{width:50px;height:5px}.progress-text{font-size:.7rem}.game-area{gap:10px}.grid-wrapper{width:min(45vh,40vw,350px)}.number-pad{gap:5px;width:110px}.message{min-height:20px;padding:4px;font-size:.65rem}}@media (height<=650px) and (width<=899px){.number-pad{gap:5px;width:100%;max-width:350px}.num-btn{height:46px;font-size:clamp(1.1rem,5vw,1.4rem)}.num-count{font-size:.45rem}}@media (height<=550px){body{padding:8px}.container{max-height:calc(100dvh - 40px);padding:10px}header{margin-bottom:6px}header h1{font-size:1rem}.logo-icon{width:18px;height:18px}.game-controls{gap:6px;margin-bottom:6px}.difficulty-selector label{display:none}.btn{gap:4px;padding:5px 8px;font-size:.6rem}.btn-icon{width:11px;height:11px}.game-info{margin-bottom:6px;padding:6px 10px}.progress-bar{width:40px;height:4px}.progress-text{min-width:26px;font-size:.65rem}.game-area{gap:6px}.grid-wrapper{width:min(40vh,35vw,300px)}.number-pad{gap:4px;width:100%;max-width:300px}.num-btn{border-radius:var(--radius-sm);height:40px;font-size:clamp(1rem,4.5vw,1.3rem)}.num-count,.message{display:none}}@media (height<=550px) and (width<=899px){.grid-wrapper{width:100%}.number-pad{width:100%;max-width:320px}.num-btn{aspect-ratio:1;font-size:clamp(1rem,4vw,1.25rem)}}@media (height<=450px) and (orientation:landscape){body{padding:6px}.container{grid-template-rows:auto auto auto 1fr auto;grid-template-columns:1fr;gap:8px;max-width:98vw;max-height:calc(100dvh - 12px);padding:10px;display:grid}header{grid-row:1;margin-bottom:0}.game-controls{flex-direction:row;grid-row:2;align-items:center;margin-bottom:0}.difficulty-selector{margin:0}.button-group{flex:1;justify-content:flex-end}.game-info{grid-row:3;margin-bottom:0}.game-area{flex-direction:row;grid-row:4;align-items:center;gap:16px}.grid-wrapper{flex:none;width:auto;height:100%}.sudoku-grid{aspect-ratio:1;width:auto;height:100%}.number-pad{grid-template-columns:repeat(5,1fr);align-self:center;gap:4px;max-width:220px}.num-btn{aspect-ratio:1;font-size:clamp(1rem,4vw,1.4rem)}.message{grid-row:5;display:none}}@media (width<=360px){.container{padding:12px}header h1{font-size:1.1rem}.btn{padding:6px 8px;font-size:.6rem}.btn-icon,#help-btn,#settings-btn,#achievements-btn,#stats-btn{display:none}.cell{font-size:.95rem}.num-btn{font-size:1.25rem}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.btn:focus-visible,.num-btn:focus-visible,.cell:focus-visible,select:focus-visible{outline:2px solid var(--primary-500);outline-offset:2px}.btn-daily{background:linear-gradient(135deg,var(--blue-500),var(--primary-500));color:#fff;border:none;position:relative}.btn-daily:hover{background:linear-gradient(135deg,var(--blue-600),var(--primary-600));transform:translateY(-1px)}.btn-daily.completed{background:linear-gradient(135deg,var(--success-500),var(--success-600))}.btn-daily.completed:after{content:"✓";background:var(--success-500);color:#fff;width:16px;height:16px;box-shadow:var(--shadow-sm);border-radius:50%;justify-content:center;align-items:center;font-size:10px;display:flex;position:absolute;top:-4px;right:-4px}.daily-badge{display:none}.daily-badge:not(.hidden):before{content:"PLAYING";background:var(--primary-500);color:#fff;text-transform:uppercase;letter-spacing:.05em;border-radius:4px;padding:2px 6px;font-size:.5rem;position:absolute;bottom:-8px;left:50%;transform:translate(-50%)}.daily-result{text-align:center}.daily-result p{margin:.5rem 0}.streak-display{color:var(--warning-500);font-size:1.25rem;font-weight:600;margin-top:1rem!important}.daily-stats{justify-content:center;gap:2rem;margin-top:1rem;display:flex}.daily-stat{flex-direction:column;align-items:center;display:flex}.daily-stat-value{color:var(--text-primary);font-size:1.5rem;font-weight:600}.daily-stat-label{color:var(--text-secondary);text-transform:uppercase;letter-spacing:.05em;font-size:.75rem}.btn-share{margin-right:.5rem}.modal-content .btn-share{margin-bottom:.5rem}.share-text-container,.share-text{background:var(--slate-100);border-radius:var(--radius-md);font-family:var(--font-main);white-space:pre-wrap;text-align:left;color:var(--text-primary);border:1px solid var(--border-light);margin:1rem 0;padding:1rem;font-size:.875rem}.share-text{resize:none;cursor:pointer;width:100%;min-height:100px}.share-text:focus{outline:2px solid var(--primary-500);outline-offset:-1px}.share-hint{color:var(--text-secondary);text-align:center;margin-top:.5rem;font-size:.75rem}[data-theme=dark] .share-text-container,[data-theme=dark] .share-text{background:var(--slate-800);border-color:var(--border-dark)}.achievements-grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:.75rem;max-height:60vh;padding-right:.5rem;display:grid;overflow-y:auto}.achievement-card{background:var(--bg-card);border-radius:var(--radius-md);border:1px solid var(--border-light);transition:all var(--transition-fast);align-items:center;gap:.75rem;padding:.75rem;display:flex}.achievement-card.locked{opacity:.5;filter:grayscale()}.achievement-card.unlocked{border-color:var(--success-500);background:var(--success-50)}[data-theme=dark] .achievement-card.unlocked{background:#10b9811a}.achievement-icon{text-align:center;flex-shrink:0;width:40px;font-size:1.75rem}.achievement-details{flex-direction:column;flex:1;min-width:0;display:flex}.achievement-name{color:var(--text-primary);margin-bottom:.125rem;font-size:.875rem;font-weight:600}.achievement-desc{color:var(--text-secondary);font-size:.75rem;line-height:1.3}.achievement-toast{background:linear-gradient(135deg,var(--primary-500),var(--primary-600));color:#fff;border-radius:var(--radius-lg);box-shadow:var(--shadow-xl);z-index:2000;opacity:0;align-items:center;gap:1rem;max-width:calc(100vw - 2rem);padding:1rem 1.5rem;transition:all .4s cubic-bezier(.34,1.56,.64,1);display:flex;position:fixed;bottom:100px;left:50%;transform:translate(-50%)translateY(100px)}.achievement-toast.show{opacity:1;transform:translate(-50%)translateY(0)}.achievement-toast-icon{flex-shrink:0;font-size:2rem}.achievement-toast-content{text-align:left}.achievement-toast-title{text-transform:uppercase;letter-spacing:.1em;opacity:.8;margin-bottom:.125rem;font-size:.625rem}.achievement-toast-name{font-size:1rem;font-weight:600}.modal-content.achievements-modal{width:95%;max-width:600px}.achievements-header{justify-content:space-between;align-items:center;margin-bottom:1rem;display:flex}.achievements-count{color:var(--text-secondary);font-size:.875rem}.achievements-count strong{color:var(--primary-500)}@media (width<=400px){.achievements-grid{grid-template-columns:1fr}.btn-daily span:not(.daily-badge){display:none}}.shortcuts-grid{text-align:left;flex-direction:column;gap:1.25rem;display:flex}.shortcut-group h3{text-transform:uppercase;letter-spacing:.1em;color:var(--text-muted);margin-bottom:.5rem;font-size:.7rem;font-weight:500}.shortcut-row{justify-content:space-between;align-items:center;padding:.375rem 0;font-size:.8rem;display:flex}.shortcut-row span{color:var(--text-secondary)}kbd{font-family:var(--font-main);color:var(--text-primary);background:var(--slate-100);border:1px solid var(--border-light);border-radius:4px;padding:.2rem .5rem;font-size:.7rem;font-weight:500;display:inline-block;box-shadow:0 1px 2px #0000000d}[data-theme=dark] kbd{background:var(--slate-700);border-color:var(--border-medium)}.settings-list{flex-direction:column;gap:.75rem;display:flex}.setting-item{background:var(--slate-50);border-radius:var(--radius-md);border:1px solid var(--border-light);justify-content:space-between;align-items:center;padding:.75rem;display:flex}[data-theme=dark] .setting-item{background:var(--slate-800);border-color:var(--border-light)}.setting-info{text-align:left;flex-direction:column;gap:.125rem;display:flex}.setting-name{color:var(--text-primary);font-size:.875rem;font-weight:500}.setting-desc{color:var(--text-muted);font-size:.7rem}.toggle-switch{flex-shrink:0;width:44px;height:24px;display:inline-block;position:relative}.toggle-switch input{opacity:0;width:0;height:0}.toggle-slider{cursor:pointer;background-color:var(--slate-300);transition:var(--transition-fast);border-radius:24px;position:absolute;inset:0}.toggle-slider:before{content:"";width:18px;height:18px;transition:var(--transition-fast);box-shadow:var(--shadow-sm);background-color:#fff;border-radius:50%;position:absolute;bottom:3px;left:3px}.toggle-switch input:checked+.toggle-slider{background-color:var(--primary-500)}.toggle-switch input:checked+.toggle-slider:before{transform:translate(20px)}.toggle-switch input:focus-visible+.toggle-slider{outline:2px solid var(--primary-500);outline-offset:2px}[data-theme=dark] .toggle-slider{background-color:var(--slate-600)}[data-colorblind=true]{--success-500:#07b;--success-600:#058;--danger-500:#e73;--danger-600:#c50;--cell-bg-same:#e0f0ff;--cell-bg-hint:#fff0e0}[data-colorblind=true][data-theme=dark]{--cell-bg-same:#024;--cell-bg-hint:#420}[data-colorblind=true] .cell.correct:after{content:"✓";color:var(--success-500);pointer-events:none;z-index:2;font-size:.5rem;position:absolute;top:1px;right:2px}[data-colorblind=true] .cell.error:after{content:"✗";color:var(--danger-500);pointer-events:none;z-index:2;font-size:.5rem;position:absolute;top:1px;right:2px}[data-colorblind=true] .cell.conflict:after{content:"!";color:var(--danger-500);pointer-events:none;z-index:2;font-size:.6rem;font-weight:700;position:absolute;top:1px;right:2px}@media print{body{background:#fff;height:auto;overflow:visible}.container{box-shadow:none;border:none;max-width:100%;max-height:none;overflow:visible}header,.game-controls,.number-pad,.message,.game-info{display:none}.grid-wrapper{margin:0}.sudoku-grid{max-width:400px;box-shadow:none;margin:0 auto}}.daily-btn-group{gap:4px;display:flex}.btn-calendar{padding:8px 10px}.btn-calendar .btn-icon{margin:0}.calendar-container{text-align:center}.calendar-nav{justify-content:space-between;align-items:center;margin-bottom:1rem;padding:0 .5rem;display:flex}.calendar-nav button{background:var(--bg-card);border:1px solid var(--border-light);border-radius:var(--radius-md);cursor:pointer;color:var(--text-primary);transition:all var(--transition-fast);padding:.5rem .75rem;font-size:.875rem}.calendar-nav button:hover{background:var(--bg-secondary);border-color:var(--border-medium)}.calendar-month-title{color:var(--text-primary);font-size:1rem;font-weight:600}.calendar-weekdays{grid-template-columns:repeat(7,1fr);gap:2px;margin-bottom:.5rem;display:grid}.calendar-weekday{color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em;padding:.25rem;font-size:.625rem;font-weight:500}.calendar-grid{grid-template-columns:repeat(7,1fr);gap:4px;display:grid}.calendar-day{aspect-ratio:1;border-radius:var(--radius-md);cursor:pointer;transition:all var(--transition-fast);background:var(--bg-card);color:var(--text-primary);border:1px solid var(--border-light);justify-content:center;align-items:center;font-size:.8rem;font-weight:500;display:flex;position:relative}.calendar-day:hover:not(.empty):not(.future){background:var(--bg-secondary);border-color:var(--primary-400);transform:scale(1.05)}.calendar-day.empty{cursor:default;background:0 0;border-color:#0000}.calendar-day.today{border:2px solid var(--primary-500);font-weight:700}.calendar-day.today:after{content:"";background:var(--primary-500);border-radius:50%;width:4px;height:4px;position:absolute;bottom:3px;left:50%;transform:translate(-50%)}.calendar-day.completed{background:var(--success-500);color:#fff;border-color:var(--success-600)}.calendar-day.completed:hover{background:var(--success-600)}.calendar-day.completed.today:after{background:#fff}.calendar-day.future{opacity:.4;cursor:not-allowed;background:var(--bg-secondary)}.calendar-streak{border-top:1px solid var(--border-light);justify-content:center;gap:2rem;margin-top:1.25rem;padding-top:1rem;display:flex}.streak-item{text-align:center}.streak-value{color:var(--primary-500);font-size:1.5rem;font-weight:700;line-height:1}.streak-label{color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em;margin-top:.25rem;font-size:.7rem}.past-daily-info{text-align:center}.past-daily-date{color:var(--text-secondary);margin-bottom:1rem;font-size:.875rem}.past-daily-stats{justify-content:center;gap:2rem;margin-bottom:1rem;display:flex}.past-daily-stat{text-align:center}.past-daily-stat-value{color:var(--text-primary);font-size:1.25rem;font-weight:600}.past-daily-stat-label{color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em;font-size:.7rem}@media (width<=380px){.calendar-day{font-size:.7rem}.calendar-streak{gap:1rem}.streak-value{font-size:1.25rem}}@media (height<=650px){.calendar-grid{gap:2px}.calendar-day{font-size:.7rem}}.calendar-day.partial{background:linear-gradient(135deg,var(--warning-400),var(--warning-500));color:#fff;border-color:var(--warning-600)}.calendar-day.partial:hover{background:linear-gradient(135deg,var(--warning-500),var(--warning-600))}.calendar-badge{opacity:.9;font-size:.5rem;font-weight:700;line-height:1;position:absolute;bottom:1px;right:2px}.daily-indicator{background:linear-gradient(135deg,var(--primary-500),var(--primary-600));border-radius:var(--radius-lg);justify-content:center;align-items:center;gap:8px;margin-bottom:12px;padding:8px 16px;display:flex;box-shadow:0 2px 8px #6366f14d}.daily-indicator.hidden{display:none}.daily-indicator-label{color:#fff;text-transform:uppercase;letter-spacing:.05em;font-size:.8rem;font-weight:500}.daily-indicator-difficulty{color:#fff;text-transform:capitalize;border-radius:var(--radius-sm);background:#fff3;padding:2px 8px;font-size:.8rem;font-weight:700}.daily-indicator-difficulty.diff-beginner{background:var(--success-500)}.daily-indicator-difficulty.diff-easy{background:#22c55e}.daily-indicator-difficulty.diff-medium{background:#f59e0b}.daily-indicator-difficulty.diff-hard{background:#ef4444}.daily-indicator-difficulty.diff-expert{background:#a855f7}.daily-difficulty-selector{text-align:center}.daily-progress{color:var(--text-secondary);margin-bottom:1rem;font-size:.875rem}.daily-progress-display{color:var(--primary-500);font-size:1rem;font-weight:600;margin:.5rem 0!important}.daily-difficulty-grid{flex-direction:column;gap:.5rem;display:flex}.daily-diff-btn{background:var(--bg-card);border:1px solid var(--border-light);border-radius:var(--radius-md);cursor:pointer;transition:all var(--transition-fast);font-family:var(--font-main);color:var(--text-primary);justify-content:space-between;align-items:center;padding:.75rem 1rem;display:flex}.daily-diff-btn:hover:not(.completed){background:var(--slate-100);border-color:var(--primary-400);transform:translate(4px)}[data-theme=dark] .daily-diff-btn:hover:not(.completed){background:var(--bg-card-hover)}.daily-diff-btn.completed{background:var(--success-100);border-color:var(--success-400);cursor:default}[data-theme=dark] .daily-diff-btn.completed{background:#10b9811a}.daily-diff-name{text-transform:capitalize;font-size:.875rem;font-weight:500}.daily-diff-play{color:var(--primary-500);font-size:.75rem;font-weight:500}.daily-diff-time{color:var(--text-secondary);font-variant-numeric:tabular-nums;font-size:.75rem}.daily-diff-check{color:var(--success-500);margin-left:.5rem;font-weight:600}.site-header{-webkit-backdrop-filter:blur(12px);border-bottom:1px solid var(--border-light);z-index:100;background:#ffffffd9;padding:0 1rem;position:fixed;top:0;left:0;right:0}.site-header-content{justify-content:space-between;align-items:center;max-width:1200px;height:56px;margin:0 auto;display:flex}.site-logo{color:var(--text-primary);align-items:center;gap:.5rem;text-decoration:none;display:flex}.site-logo-icon{width:24px;height:24px;color:var(--primary-500)}.site-logo-text{letter-spacing:-.02em;font-size:1rem;font-weight:600}.site-nav{gap:.25rem;display:flex}.nav-link{color:var(--text-secondary);font-family:var(--font-main);cursor:pointer;border-radius:var(--radius-md);transition:all var(--transition-fast);text-transform:lowercase;background:0 0;border:none;padding:.5rem .75rem;font-size:.75rem;font-weight:500}.nav-link:hover{background:var(--slate-100);color:var(--text-primary)}[data-theme=dark] .site-header{-webkit-backdrop-filter:blur(12px);border-bottom-color:var(--border-light);background:#1a1a24d9}[data-theme=dark] .nav-link:hover{background:var(--slate-800)}.nav-theme-toggle{justify-content:center;align-items:center;padding:.5rem;display:flex}.nav-theme-toggle .icon-sun,.nav-theme-toggle .icon-moon{width:18px;height:18px}.nav-theme-toggle .icon-moon,[data-theme=dark] .nav-theme-toggle .icon-sun{display:none}[data-theme=dark] .nav-theme-toggle .icon-moon{display:block}.main-content{flex-direction:column;min-height:100dvh;padding-top:56px;display:flex}html,body{height:auto;overflow:auto}body{flex-direction:column;align-items:stretch;height:auto;min-height:100dvh;padding:0;display:flex}.main-content>.container{flex-shrink:0;margin:12px auto}.info-section{background:var(--slate-50);border-top:1px solid var(--border-light);padding:3rem 1rem}[data-theme=dark] .info-section{background:var(--bg-secondary);border-top-color:var(--border-light)}.info-container{flex-direction:column;gap:2rem;max-width:900px;margin:0 auto;padding-bottom:3rem;display:flex}.info-card{background:var(--bg-card);border-radius:var(--radius-xl);border:1px solid var(--border-light);box-shadow:var(--shadow-sm);padding:2rem}[data-theme=dark] .info-card{background:var(--bg-card);border-color:var(--border-light)}.info-card h2{color:var(--text-primary);letter-spacing:-.02em;margin-bottom:1rem;font-size:1.25rem;font-weight:600}.info-card>p{color:var(--text-secondary);margin-bottom:1rem;font-size:.875rem;line-height:1.6}.info-card>p:last-child{margin-bottom:0}.info-steps{flex-direction:column;gap:1rem;margin-top:1.5rem;display:flex}.info-step{align-items:flex-start;gap:1rem;display:flex}.step-number{background:var(--primary-100);width:32px;height:32px;color:var(--primary-600);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:.875rem;font-weight:600;display:flex}[data-theme=dark] .step-number{background:var(--primary-900);color:var(--primary-300)}.step-content h3{color:var(--text-primary);margin-bottom:.25rem;font-size:.875rem;font-weight:600}.step-content p{color:var(--text-secondary);font-size:.8rem;line-height:1.5}.features-grid{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:1rem;margin-top:1rem;display:grid}.feature-item{background:var(--slate-50);border-radius:var(--radius-md);border:1px solid var(--border-light);padding:1rem}[data-theme=dark] .feature-item{background:var(--bg-secondary);border-color:var(--border-light)}.feature-icon{color:var(--text-primary);margin-bottom:.5rem;font-size:1.5rem;display:inline-block}.feature-item h3{color:var(--text-primary);margin-bottom:.25rem;font-size:.875rem;font-weight:600}.feature-item p{color:var(--text-secondary);font-size:.75rem;line-height:1.5}.faq-list{flex-direction:column;gap:.5rem;display:flex}.faq-item{background:var(--slate-50);border-radius:var(--radius-md);border:1px solid var(--border-light);overflow:hidden}[data-theme=dark] .faq-item{background:var(--bg-secondary);border-color:var(--border-light)}.faq-item summary{color:var(--text-primary);cursor:pointer;justify-content:space-between;align-items:center;padding:.875rem 1rem;font-size:.875rem;font-weight:500;list-style:none;display:flex}.faq-item summary::-webkit-details-marker{display:none}.faq-item summary:after{content:"+";color:var(--text-muted);transition:transform var(--transition-fast);font-size:1rem}.faq-item[open] summary:after{transform:rotate(45deg)}.faq-item p{color:var(--text-secondary);padding:0 1rem 1rem;font-size:.8rem;line-height:1.6}.seo-content p{text-align:justify}.site-footer{background:var(--slate-900);color:var(--slate-300);padding:3rem 1rem 1.5rem}.footer-content{border-bottom:1px solid var(--slate-700);grid-template-columns:1fr auto;gap:2rem;max-width:900px;margin:0 auto;padding-bottom:2rem;display:grid}.footer-brand{transition:opacity var(--transition-fast);margin-bottom:.5rem;text-decoration:none;display:inline-block}.footer-brand:hover{opacity:.8}.footer-logo-img{object-fit:contain;border-radius:6px;width:auto;height:100px}.footer-tagline{color:var(--slate-400);font-size:.8rem}.footer-links{gap:3rem;display:flex}.footer-column h4{color:#fff;text-transform:uppercase;letter-spacing:.05em;margin-bottom:.75rem;font-size:.75rem;font-weight:600}.footer-column button,.footer-column a{color:var(--slate-400);font-family:var(--font-main);cursor:pointer;transition:color var(--transition-fast);text-align:left;background:0 0;border:none;padding:.25rem 0;font-size:.8rem;text-decoration:none;display:block}.footer-column button:hover,.footer-column a:hover{color:#fff}.footer-bottom{text-align:center;max-width:900px;margin:0 auto;padding-top:1.5rem}.footer-bottom p{color:var(--slate-500);margin-bottom:.5rem;font-size:.75rem}.footer-seo{color:var(--slate-600);font-size:.7rem}@media (width<=600px){.footer-content{text-align:center;grid-template-columns:1fr}.footer-brand{justify-content:center}.footer-links{justify-content:center;gap:2rem}.footer-column button,.footer-column a{text-align:center}}@media (height<=700px){.site-header-content{height:36px}.main-content{padding-top:36px}.site-logo-icon{width:20px;height:20px}.site-logo-text{font-size:.875rem}.site-header{padding:0 .75rem}body,html,body{overflow:auto}.main-content>.container{margin:12px auto}}@media (width<=480px){.site-nav .nav-link:not(.nav-theme-toggle){display:none}}@media (height<=550px){.site-header-content{height:32px}.main-content{padding-top:32px}.site-logo-icon{width:18px;height:18px}.site-logo-text{font-size:.8rem}.nav-theme-toggle{padding:.375rem}.nav-theme-toggle .icon-sun,.nav-theme-toggle .icon-moon{width:16px;height:16px}}@media (height<=450px) and (orientation:landscape){.site-header-content{height:28px}.main-content{padding-top:28px}.site-header{padding:0 .5rem}.site-logo{gap:.375rem}.site-logo-icon{width:16px;height:16px}.site-logo-text{font-size:.75rem}.nav-theme-toggle{padding:.25rem}.nav-theme-toggle .icon-sun,.nav-theme-toggle .icon-moon{width:14px;height:14px}}