@font-face{font-family:Poppins;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/poppins-devanagari-500-normal-BIdkeU1p.woff2)format("woff2"),url(/assets/poppins-devanagari-500-normal-DMPDjHtT.woff)format("woff");unicode-range:U+900-97F,U+1CD0-1CF9,U+200C-200D,U+20A8,U+20B9,U+20F0,U+25CC,U+A830-A839,U+A8E0-A8FF,U+11B00-11B09}@font-face{font-family:Poppins;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/poppins-latin-ext-500-normal-CK-6C4Hw.woff2)format("woff2"),url(/assets/poppins-latin-ext-500-normal-CgAe2rWW.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Poppins;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/poppins-latin-500-normal-C8OXljZJ.woff2)format("woff2"),url(/assets/poppins-latin-500-normal-DGXqpDMm.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Poppins;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/poppins-devanagari-600-normal-STEjXBNN.woff2)format("woff2"),url(/assets/poppins-devanagari-600-normal-ClASKHrr.woff)format("woff");unicode-range:U+900-97F,U+1CD0-1CF9,U+200C-200D,U+20A8,U+20B9,U+20F0,U+25CC,U+A830-A839,U+A8E0-A8FF,U+11B00-11B09}@font-face{font-family:Poppins;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/poppins-latin-ext-600-normal-CAhIAdZj.woff2)format("woff2"),url(/assets/poppins-latin-ext-600-normal-Df5ffKXP.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Poppins;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/poppins-latin-600-normal-zEkxB9Mr.woff2)format("woff2"),url(/assets/poppins-latin-600-normal-BJdTmd5m.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Poppins;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/poppins-devanagari-700-normal-O-jipLrW.woff2)format("woff2"),url(/assets/poppins-devanagari-700-normal-fHs-vx92.woff)format("woff");unicode-range:U+900-97F,U+1CD0-1CF9,U+200C-200D,U+20A8,U+20B9,U+20F0,U+25CC,U+A830-A839,U+A8E0-A8FF,U+11B00-11B09}@font-face{font-family:Poppins;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/poppins-latin-ext-700-normal-cby-RkWa.woff2)format("woff2"),url(/assets/poppins-latin-ext-700-normal-DctTR6Tg.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Poppins;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/poppins-latin-700-normal-Qrb0O0WB.woff2)format("woff2"),url(/assets/poppins-latin-700-normal-BVuQR_eA.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Poppins;font-style:normal;font-display:swap;font-weight:800;src:url(/assets/poppins-devanagari-800-normal-ACzlZF75.woff2)format("woff2"),url(/assets/poppins-devanagari-800-normal-BLmXVokE.woff)format("woff");unicode-range:U+900-97F,U+1CD0-1CF9,U+200C-200D,U+20A8,U+20B9,U+20F0,U+25CC,U+A830-A839,U+A8E0-A8FF,U+11B00-11B09}@font-face{font-family:Poppins;font-style:normal;font-display:swap;font-weight:800;src:url(/assets/poppins-latin-ext-800-normal-CDgOlX-1.woff2)format("woff2"),url(/assets/poppins-latin-ext-800-normal-CIZaRbSk.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Poppins;font-style:normal;font-display:swap;font-weight:800;src:url(/assets/poppins-latin-800-normal-Bd8-pIP1.woff2)format("woff2"),url(/assets/poppins-latin-800-normal-YoItoZZV.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root,[data-theme=light]{--sg-bg:#f3f5f9;--sg-surface:#fafbfd;--sg-surface-elevated:#eef1f6;--sg-fg:#1a2332;--sg-muted:#6b7a90;--sg-accent:#2563eb;--sg-accent-hover:#3b82f6;--sg-accent-fg:#fff;--sg-border:#e1e6ef;--sg-grid-line:#c8d0dc;--sg-grid-box:#1a2332;--sg-cell-selected:#c5e0ff;--sg-cell-peer:#e1f0ff;--sg-cell-same:#d0e7ff;--sg-cell-given:#fff;--sg-cell-error:#ffe0e3;--sg-user:#2563eb;--sg-given:#1a2332;--sg-destructive:#e53935;--sg-success:#2e9e4f;--sg-note:#6b7a90;--sg-button-secondary-face:#fafbfd;--sg-button-secondary-border:#e1e6ef;--sg-button-secondary-text:#1a2332;--sg-button-disabled-text:#a0aec0;--sg-navy:#001950;--sg-navy-muted:#1a2f4d;--sg-diff-easy:#2e9e4f;--sg-diff-medium:#2563eb;--sg-diff-hard:#7c4dff;--sg-diff-expert:#e53935;--sg-font:"Poppins", system-ui, sans-serif;--sg-radius-sm:4px;--sg-radius-lg:12px;--sg-radius-xl:16px;--sg-scrollbar-size:6px;--sg-scrollbar-track:transparent;--sg-scrollbar-thumb:var(--sg-accent);--sg-scrollbar-thumb-hover:var(--sg-accent-hover)}[data-theme=dark]{--sg-bg:#0a0a0a;--sg-surface:#121212;--sg-surface-elevated:#1a1a1a;--sg-fg:#f0f0f5;--sg-muted:#9ca3af;--sg-border:#2a2a2a;--sg-grid-line:#3a3a3a;--sg-grid-box:#c8d0dc;--sg-cell-selected:#1a3a5c;--sg-cell-peer:#121f2e;--sg-cell-same:#1a2f4d;--sg-cell-given:#121212;--sg-cell-error:#3d1518;--sg-user:#3b82f6;--sg-given:#f0f0f5;--sg-destructive:#ff4b4b;--sg-success:#58cc02;--sg-note:#9ca3af;--sg-button-secondary-face:#1a1a1a;--sg-button-secondary-border:#2a2a2a;--sg-button-secondary-text:#f0f0f5;--sg-button-disabled-text:#6b7280;--sg-diff-hard:#9b7aff;--sg-diff-expert:#ff4b4b;--sg-scrollbar-track:transparent;--sg-scrollbar-thumb:var(--sg-accent);--sg-scrollbar-thumb-hover:var(--sg-accent-hover)}*{box-sizing:border-box;scrollbar-width:thin;scrollbar-color:var(--sg-scrollbar-thumb) var(--sg-scrollbar-track)}::-webkit-scrollbar{width:var(--sg-scrollbar-size);height:var(--sg-scrollbar-size)}::-webkit-scrollbar-track{background:var(--sg-scrollbar-track);border-radius:999px}::-webkit-scrollbar-thumb{background-color:var(--sg-scrollbar-thumb);background-clip:padding-box;border:1px solid #0000;border-radius:999px}::-webkit-scrollbar-thumb:hover{background-color:var(--sg-scrollbar-thumb-hover)}::-webkit-scrollbar-corner{background:var(--sg-scrollbar-track)}html,body,#root{height:100%;min-height:100%;margin:0}body{font-family:var(--sg-font);background:var(--sg-bg);color:var(--sg-fg);-webkit-font-smoothing:antialiased}button{font:inherit;color:inherit}.ng-shell{background:var(--sg-bg);flex-direction:column;height:100%;min-height:100%;display:flex}.ng-shell-body{flex-direction:column;flex:1;min-height:0;display:flex;overflow:auto}.ng-loading{color:var(--sg-muted);justify-content:center;align-items:center}.ng-home{background:var(--sg-bg);color:var(--sg-fg);flex-direction:column;flex:1;min-height:0;display:flex}.ng-home-safe{flex-direction:column;flex:1;width:100%;max-width:720px;min-height:100%;margin-inline:auto;display:flex}.ng-home-hero{text-align:center;flex-direction:column;flex:1;align-items:center;padding:32px 24px 0;display:flex}@keyframes ng-home-hero-enter{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}@keyframes ng-home-hero-pill-mark{0%{clip-path:inset(0 100% 0 0 round 9999px)}to{clip-path:inset(0 round 9999px)}}@keyframes ng-home-hero-pill-word-in{0%{opacity:0;transform:translateY(.35em)}to{opacity:1;transform:translateY(0)}}.ng-home-hero-copy{--ng-home-hero-pill-surface:var(--sg-surface);--ng-home-hero-easing-enter:cubic-bezier(.05, .7, .1, 1);--ng-home-hero-pill-mark-easing:cubic-bezier(.22, 1, .36, 1);--ng-home-hero-pill-word-easing:cubic-bezier(.22, 1, .36, 1);--ng-home-hero-duration-hero:.5s;--ng-home-hero-duration-support:.4s;--ng-home-hero-pill-mark-duration:.7s;--ng-home-hero-pill-color-duration:.48s;--ng-home-hero-stagger:80ms;--ng-home-hero-tagline-gap:1.25rem;--ng-home-hero-tagline-max:36rem;--ng-home-hero-tagline-fg:color-mix(in srgb, var(--sg-fg) 58%, var(--sg-muted));--ng-home-hero-pill-mix-accent:14%;--ng-home-hero-pill-mix-trophy:24%;--ng-home-hero-pill-mix-success:18%;--ng-home-hero-pill-mix-destructive:14%;--ng-home-hero-pill-fg-accent:var(--sg-accent);--ng-home-hero-pill-fg-trophy:#d97706;--ng-home-hero-pill-fg-success:var(--sg-success);--ng-home-hero-pill-fg-destructive:var(--sg-destructive);--ng-home-hero-pill-bg-accent:var(--sg-accent);--ng-home-hero-pill-bg-trophy:#f59e0b;--ng-home-hero-pill-bg-success:var(--sg-success);--ng-home-hero-pill-bg-destructive:var(--sg-destructive);text-align:center;width:100%}[data-theme=dark] .ng-home-hero-copy{--ng-home-hero-tagline-fg:color-mix(in srgb, var(--sg-fg) 78%, var(--sg-muted));--ng-home-hero-pill-mix-accent:36%;--ng-home-hero-pill-mix-trophy:42%;--ng-home-hero-pill-mix-success:38%;--ng-home-hero-pill-mix-destructive:36%;--ng-home-hero-pill-fg-accent:var(--sg-user);--ng-home-hero-pill-fg-trophy:#fcd34d;--ng-home-hero-pill-fg-success:color-mix(in srgb, var(--sg-success) 88%, white);--ng-home-hero-pill-fg-destructive:color-mix(in srgb, var(--sg-destructive) 92%, white)}.ng-home-hero-copy__headline{margin:0 0 var(--ng-home-hero-tagline-gap);color:var(--sg-fg);letter-spacing:-.02em;text-align:center;font-size:clamp(2rem,7vw,3.25rem);font-weight:800;line-height:1.4}.ng-home-hero-copy__line{animation:ng-home-hero-enter var(--ng-home-hero-duration-hero) var(--ng-home-hero-easing-enter) both;display:block}.ng-home-hero-copy__line:first-child{animation-delay:0s}.ng-home-hero-copy__line:nth-child(2){animation-delay:var(--ng-home-hero-stagger)}.ng-home-hero-copy__accent{color:var(--sg-accent)}[data-theme=dark] .ng-home-hero-copy__accent{color:var(--sg-user)}.ng-home-hero-copy__pill{--pill-pad-top:.08cap;--pill-pad-bottom:.3cap;--pill-pad-inline:.55em;--pill-fg:var(--ng-home-hero-pill-fg-accent);--pill-bg:color-mix(in srgb, var(--ng-home-hero-pill-bg-accent) var(--ng-home-hero-pill-mix-accent), var(--ng-home-hero-pill-surface));vertical-align:baseline;line-height:1;font-weight:inherit;color:var(--pill-fg);transition:color var(--ng-home-hero-pill-color-duration) var(--ng-home-hero-pill-word-easing);display:inline;position:relative}.ng-home-hero-copy__pill-surface{background:var(--pill-bg);clip-path:inset(0 100% 0 0 round 9999px);backface-visibility:hidden;pointer-events:none;border-radius:9999px;animation:none;position:absolute;inset:0;transform:translateZ(0)}.ng-home-hero-copy__pill-surface--active{will-change:clip-path;animation:ng-home-hero-pill-mark var(--ng-home-hero-pill-mark-duration) var(--ng-home-hero-pill-mark-easing) forwards}.ng-home-hero-copy__pill-label{z-index:1;padding:var(--pill-pad-top) var(--pill-pad-inline) var(--pill-pad-bottom);color:var(--pill-fg);text-transform:capitalize;transition:color var(--ng-home-hero-pill-color-duration) var(--ng-home-hero-pill-word-easing);line-height:1;display:inline;position:relative}.ng-home-hero-copy__pill-word-slot{grid-template-columns:1fr;line-height:1;display:inline-grid}.ng-home-hero-copy__pill-word{white-space:nowrap;animation:ng-home-hero-pill-word-in .32s var(--ng-home-hero-pill-word-easing) both;grid-area:1/1;line-height:1;display:block}.ng-home-hero-copy__tagline{max-width:var(--ng-home-hero-tagline-max);letter-spacing:.011em;color:var(--sg-fg);text-wrap:balance;text-align:center;animation:ng-home-hero-enter var(--ng-home-hero-duration-support) var(--ng-home-hero-easing-enter) .56s both;margin:0 auto;padding-inline:.25rem;font-size:clamp(1rem,2.6vw,1.125rem);font-weight:400;line-height:1.6}@media (prefers-reduced-motion:reduce){.ng-home-hero-copy__line,.ng-home-hero-copy__pill-surface,.ng-home-hero-copy__tagline,.ng-home-hero-copy__pill-word{opacity:1;animation:none;transform:none}.ng-home-hero-copy__pill,.ng-home-hero-copy__pill-label{transition:none}.ng-home-hero-copy__pill-surface,.ng-home-hero-copy__pill-surface--active{clip-path:inset(0 round 9999px);will-change:auto;transform:none}}.ng-brand{letter-spacing:-.5px;flex-direction:column;align-items:flex-start;line-height:62px;display:flex}.ng-brand-sudoku,.ng-brand-guru{font-size:56px;font-weight:800}.ng-brand-sudoku{color:#fff;text-shadow:0 2px 10px #000000a6}.ng-brand-guru{color:#2563eb;text-shadow:0 2px 8px #00000073;margin-top:-4px}.ng-home-actions{flex-direction:column;align-items:center;gap:16px;padding:0 24px 16px;display:flex}.ng-home-actions>*,.ng-home-difficulty{width:100%;max-width:420px}.ng-home-difficulty .ng-diff-list{padding:0}.ng-resume{background:var(--sg-surface);border:1.5px solid var(--sg-border);border-radius:20px;align-items:center;gap:16px;min-height:72px;padding:16px;display:flex}.ng-resume-body{flex-direction:column;flex:1;gap:6px;min-width:0;display:flex}.ng-resume-title{color:var(--sg-fg);font-size:16px;font-weight:700}.ng-resume-meta{color:var(--sg-muted);align-items:center;gap:6px;font-size:14px;font-weight:600;display:flex}.ng-resume-dot{opacity:.45}.ng-resume-progress{align-items:center;gap:8px;margin-top:2px;display:flex}.ng-resume-track{background:var(--sg-surface-elevated);border-radius:999px;flex:1;height:8px;overflow:hidden}.ng-resume-fill{background:var(--sg-success);border-radius:999px;height:100%}.ng-resume-percent{color:var(--sg-muted);text-align:right;font-variant-numeric:tabular-nums;min-width:36px;font-size:12px;font-weight:700}.ng-resume-play{background:var(--sg-accent);color:#fff;cursor:pointer;border:0;border-radius:999px;flex-shrink:0;place-items:center;width:44px;height:44px;display:grid}.ng-resume-play:hover{background:var(--sg-accent-hover)}.ng-open-tab{appearance:none;color:#ffffffbf;cursor:pointer;text-align:center;background:0 0;border:0;padding:4px;font-size:13px;font-weight:600}.ng-btn{appearance:none;border-radius:var(--sg-radius-lg);cursor:pointer;border:0;justify-content:center;align-items:center;transition:background-color .12s;display:inline-flex}.ng-btn-full{width:100%}.ng-btn-content{justify-content:center;align-items:center;gap:10px;display:inline-flex}.ng-btn-label{font-size:16px;font-weight:700}.ng-btn-sm{min-height:44px;padding:8px 16px}.ng-btn-md{min-height:48px;padding:14px 24px}.ng-btn-lg{min-height:56px;padding:16px 32px}.ng-btn-primary{background:var(--sg-accent);color:#fff}.ng-btn-primary:hover:not(:disabled){background:var(--sg-accent-hover)}.ng-btn-secondary{background:var(--sg-button-secondary-face);color:var(--sg-button-secondary-text);border:1.5px solid var(--sg-button-secondary-border)}.ng-btn-ghost{color:var(--sg-accent);background:0 0}.ng-btn-destructive{background:var(--sg-destructive);color:#fff}.ng-btn-disabled,.ng-btn:disabled{opacity:.55;cursor:not-allowed}.ng-difficulty{background:var(--sg-bg);flex-direction:column;flex:1;padding-bottom:32px;display:flex}.ng-diff-header{justify-content:space-between;align-items:center;gap:8px;padding:0 16px 8px;display:flex}.ng-diff-title{color:var(--sg-fg);margin:0;font-size:18px;font-weight:700}.ng-header-spacer{flex-shrink:0;width:44px}.ng-back{appearance:none;width:44px;height:44px;color:var(--sg-fg);cursor:pointer;background:0 0;border:0;border-radius:999px;flex-shrink:0;place-items:center;display:grid}.ng-diff-list{flex-direction:column;gap:16px;padding:0 16px;display:flex}.ng-diff-card{appearance:none;border-radius:var(--sg-radius-xl);border:1.5px solid var(--sg-border);background:var(--sg-surface);cursor:pointer;text-align:left;align-items:center;gap:16px;width:100%;min-height:72px;padding:16px;display:flex}.ng-diff-card:hover{background:var(--sg-surface-elevated)}.ng-diff-badge{border-radius:14px;flex-shrink:0;place-items:center;width:48px;height:48px;display:grid}.ng-diff-signal{justify-content:center;align-items:flex-end;gap:3px;width:18px;height:18px;display:flex}.ng-diff-signal i{background:#fff;border-radius:1.5px;width:4px;display:block}.ng-diff-signal i:first-child{height:8px}.ng-diff-signal i:nth-child(2){height:13px}.ng-diff-signal i:nth-child(3){height:18px}.ng-diff-text{flex-direction:column;gap:2px;display:flex}.ng-diff-text strong{font-size:18px;font-weight:700}.ng-diff-text span{color:var(--sg-muted);font-size:14px;font-weight:500}.ng-game{background:var(--sg-bg);box-sizing:border-box;flex-direction:column;flex:1;width:100%;max-width:500px;min-height:100%;margin:0 auto;padding:8px 16px 16px;display:flex;position:relative}.ng-game-finished .ng-game-column{pointer-events:none}.ng-game-column{flex-direction:column;flex:1;width:100%;max-width:468px;min-height:0;margin:0 auto;display:flex}.ng-game-header{flex-direction:row;justify-content:space-between;align-items:center;gap:8px;width:100%;margin-bottom:14px;padding:0;display:flex}.ng-game-header-actions{flex-direction:row;align-items:center;gap:2px;display:flex}.ng-icon-btn-fg{appearance:none;width:44px;min-width:44px;height:44px;min-height:44px;color:var(--sg-fg);cursor:pointer;background:0 0;border:0;border-radius:12px;place-items:center;padding:0;display:grid}.ng-icon-btn-fg:hover{background:var(--sg-surface-elevated)}.ng-icon-btn-spacer{flex-shrink:0;width:44px;height:44px}.ng-status{flex-direction:row;align-items:center;width:100%;margin:0;padding:0;display:flex}.ng-status-col{flex-direction:column;flex:1;justify-content:center;gap:2px;min-width:0;display:flex}.ng-status-start{align-items:flex-start}.ng-status-center{align-items:center}.ng-status-end{align-items:flex-end}.ng-status-value{color:var(--sg-fg);letter-spacing:.3px;font-variant-numeric:tabular-nums;font-size:20px;font-weight:800;line-height:24px;font-family:var(--sg-font)}.ng-status-error{color:var(--sg-destructive)}.ng-status-caption{color:var(--sg-muted);font-size:11px;font-weight:600;line-height:14px;font-family:var(--sg-font)}.ng-status-time-row{flex-direction:row;align-items:center;gap:6px;min-width:0;display:flex}.ng-status-pause{appearance:none;width:32px;min-width:32px;height:32px;min-height:32px;color:var(--sg-fg);cursor:pointer;background:0 0;border:0;border-radius:8px;flex-shrink:0;place-items:center;padding:0;display:none}.ng-status-pause:hover{background:var(--sg-surface-elevated)}.ng-play-area{flex-direction:column;align-items:center;gap:14px;width:100%;margin-top:14px;display:flex}.ng-game-sidebar{flex-direction:column;gap:14px;width:100%;display:flex}.ng-game-sidebar__new-game{width:100%;display:none}.ng-game-sidebar__stack{display:contents}.ng-game-status{width:100%;margin-bottom:2px}.ng-game-sidebar .ng-game-status{flex-shrink:0;width:100%;margin-bottom:0}.ng-game-sidebar .ng-status{justify-content:space-between;gap:12px}.ng-game-sidebar .ng-status-col{flex:1 1 0;gap:4px}.ng-game-sidebar .ng-controls-mobile,.ng-game-sidebar .ng-controls-desktop{order:1}.ng-controls-desktop{display:none}.ng-controls-mobile{flex-direction:column;gap:14px;width:100%;display:flex}.ng-board-stack{flex-direction:column;gap:12px;width:100%;max-width:468px;display:flex}.ng-level-tabs{background:0 0;gap:6px;width:100%;display:flex}.ng-level-tabs__btn{appearance:none;border-radius:var(--sg-radius-lg);min-width:0;color:var(--sg-muted);font-family:var(--sg-font);cursor:pointer;background:0 0;border:0;flex:1;margin:0;padding:10px 6px;font-size:13px;font-weight:700;line-height:1}.ng-level-tabs__btn:hover:not(:disabled):not(.ng-level-tabs__btn--active){color:var(--sg-fg);background:color-mix(in srgb, var(--sg-fg) 6%, transparent)}.ng-level-tabs__btn--active{color:var(--sg-accent);background:color-mix(in srgb, var(--sg-accent) 14%, var(--sg-bg))}[data-theme=dark] .ng-level-tabs__btn:hover:not(:disabled):not(.ng-level-tabs__btn--active){background:var(--sg-surface-elevated)}[data-theme=dark] .ng-level-tabs__btn--active{color:var(--sg-fg);background:var(--sg-surface-elevated)}.ng-level-tabs__btn:disabled{opacity:.55;cursor:not-allowed}.ng-grid-wrap{aspect-ratio:1;border:2px solid var(--sg-grid-box);border-radius:var(--sg-radius-sm);background:var(--sg-surface);width:100%;max-width:468px;position:relative;overflow:hidden}.ng-grid-tutorial{box-shadow:0 0 8px #2563eb33}.ng-grid{background:var(--sg-surface);grid-template-rows:repeat(9,minmax(0,1fr));grid-template-columns:repeat(9,minmax(0,1fr));width:100%;height:100%;display:grid}.ng-hint-band{z-index:5;pointer-events:none;opacity:0;box-sizing:border-box;border-style:solid;border-width:3px;animation:.28s forwards ng-hint-fade;position:absolute}.ng-hint-band-box{border-color:var(--sg-accent)}.ng-hint-band-row{border-color:var(--sg-destructive)}.ng-hint-band-col{border-color:var(--sg-success)}@keyframes ng-hint-fade{0%{opacity:0}to{opacity:1}}.ng-cell{appearance:none;border:0;border-right:.5px solid var(--sg-grid-line);border-bottom:.5px solid var(--sg-grid-line);background:var(--sg-surface);cursor:pointer;box-sizing:border-box;place-items:center;width:100%;min-width:0;max-width:100%;height:100%;min-height:0;max-height:100%;margin:0;padding:0;display:grid;position:relative;overflow:hidden}.ng-cell:nth-child(9n){border-right:0}.ng-cell:nth-child(n+73){border-bottom:0}.ng-cell-box-r{border-right:2px solid var(--sg-grid-box)!important}.ng-cell-box-b{border-bottom:2px solid var(--sg-grid-box)!important}.ng-cell-given{background:var(--sg-cell-given)}.ng-cell-peer{background:var(--sg-cell-peer)}.ng-cell-same{background:var(--sg-cell-same)}.ng-cell-selected{background:var(--sg-cell-selected)}.ng-cell-error{background:var(--sg-cell-error)}.ng-hint-fill{z-index:0;pointer-events:none;opacity:0;animation:.28s forwards ng-hint-fade;position:absolute;inset:0}.ng-hint-fill-dim{background:var(--sg-cell-given);animation-name:ng-hint-fade-dim}@keyframes ng-hint-fade-dim{0%{opacity:0}to{opacity:.88}}.ng-hint-fill-area{background:var(--sg-cell-peer)}.ng-hint-fill-source{background:var(--sg-accent);animation-name:ng-hint-fade-source}@keyframes ng-hint-fade-source{0%{opacity:0}70%{opacity:1}85%{opacity:.82}to{opacity:1}}.ng-cell-hint-target,.ng-cell-hint-filled{background:var(--sg-surface);z-index:4;overflow:hidden}.ng-cell-ring{border:2px solid var(--sg-accent);z-index:6;pointer-events:none;position:absolute;inset:0}.ng-cell-ring-thick{border-width:3px}.ng-value{z-index:3;font-size:clamp(16px,4.6vw,24px);font-weight:800;line-height:1}.ng-value-given{color:var(--sg-given);font-weight:700}.ng-value-user{color:var(--sg-user)}.ng-value-error{color:var(--sg-destructive)}.ng-value-hint{font-weight:800;animation:.28s ng-hint-pop;color:var(--sg-accent)!important}.ng-value-hint-source{font-weight:800;color:#fff!important}@keyframes ng-hint-pop{0%{opacity:.4;transform:scale(.72)}to{opacity:1;transform:scale(1)}}.ng-flash-cover{z-index:4;pointer-events:none;background:var(--sg-surface);opacity:0;transition:opacity .9s cubic-bezier(.33,1,.68,1);position:absolute;inset:0}.ng-flash-cover-selected{background:var(--sg-cell-selected)}.ng-flash-cover-in{opacity:1}.ng-flash-digit{z-index:5;color:var(--sg-destructive);pointer-events:none;opacity:1;font-size:clamp(16px,4.6vw,24px);font-weight:800;line-height:1;transition:opacity .9s cubic-bezier(.33,1,.68,1),transform .9s cubic-bezier(.33,1,.68,1);position:relative;transform:scale(1)}.ng-flash-digit-out{opacity:0;transform:scale(.94)}.ng-notes{z-index:3;grid-template-rows:repeat(3,minmax(0,1fr));grid-template-columns:repeat(3,minmax(0,1fr));width:92%;max-width:100%;height:92%;max-height:100%;display:grid;overflow:hidden}.ng-note{min-width:0;min-height:0;color:var(--sg-note);place-items:center;font-size:clamp(7px,1.8vw,10px);font-weight:600;line-height:1;display:grid}.ng-note-hidden{opacity:0}.ng-note-wrong{color:var(--sg-destructive);font-weight:800}.ng-note-correct{color:var(--sg-accent);font-weight:800}.ng-toolbar{justify-content:space-evenly;align-items:center;gap:10px;width:100%;padding:4px 0;display:flex}.ng-tool{appearance:none;cursor:pointer;min-height:0;color:var(--sg-navy);background:0 0;border:0;border-radius:0;flex-direction:column;flex:1;align-items:center;gap:0;padding:0;display:flex}[data-theme=dark] .ng-tool{color:var(--sg-fg)}.ng-tool:disabled{opacity:.4;cursor:not-allowed}.ng-tool-icon{place-items:center;width:36px;height:36px;display:grid;position:relative}.ng-tool-glow{background:#1c7aed24;border-radius:50%;position:absolute;inset:0}[data-theme=dark] .ng-tool-glow{background:#3d8ff038}.ng-tool-on{background:var(--sg-accent);color:#fff;letter-spacing:.4px;z-index:2;border-radius:8px;padding:1px 5px;font-size:9px;font-weight:700;line-height:1.2;position:absolute;top:-4px;right:-8px}.ng-tool-off{background:var(--sg-muted);color:#fff;letter-spacing:.3px;z-index:2;border-radius:8px;padding:1px 5px;font-size:9px;font-weight:700;line-height:1.2;position:absolute;top:-4px;right:-8px}.ng-tool-badge{background:var(--sg-accent);color:#fff;z-index:2;box-sizing:border-box;border-radius:9px;place-items:center;min-width:18px;height:18px;padding:0 4px;font-size:10px;font-weight:700;line-height:1;display:grid;position:absolute;top:-4px;right:-4px}.ng-toolbar-sidebar{justify-content:space-between;gap:6px;padding:0}.ng-tool-tipwrap{flex:1;justify-content:center;min-width:0;max-width:72px;display:flex;position:relative}.ng-tool-tipwrap:after{content:attr(data-tooltip);z-index:40;border:1.5px solid var(--sg-border);background:var(--sg-surface);max-width:11rem;color:var(--sg-fg);white-space:nowrap;opacity:0;pointer-events:none;border-radius:10px;padding:6px 10px;font-size:12px;font-weight:700;line-height:1.25;transition:opacity .12s,transform .12s;position:absolute;bottom:calc(100% + 10px);left:50%;transform:translate(-50%)translateY(4px);box-shadow:0 4px 14px #0f172a1f}.ng-tool-tipwrap:before{content:"";z-index:40;border:6px solid #0000;border-top-color:var(--sg-border);opacity:0;pointer-events:none;transition:opacity .12s;position:absolute;bottom:calc(100% + 4px);left:50%;transform:translate(-50%)}.ng-tool-tipwrap:hover:after,.ng-tool-tipwrap:focus-within:after{opacity:1;transform:translate(-50%)translateY(0)}.ng-tool-tipwrap:hover:before,.ng-tool-tipwrap:focus-within:before{opacity:1}@media (hover:none){.ng-tool-tipwrap:after,.ng-tool-tipwrap:before{display:none}}.ng-tool-circle{flex:1;width:100%;min-width:0;max-width:none}.ng-tool-circle .ng-tool-icon{background:var(--sg-surface-elevated);border:1.5px solid var(--sg-border);border-radius:50%;width:56px;height:56px}.ng-tool-circle.ng-tool-active .ng-tool-icon{border-color:var(--sg-accent);background:#2563eb1f}[data-theme=dark] .ng-tool-circle.ng-tool-active .ng-tool-icon{background:#3d8ff029}.ng-tool-circle:hover:not(:disabled) .ng-tool-icon{background:var(--sg-cell-peer)}.ng-tool-circle.ng-tool-active:hover:not(:disabled) .ng-tool-icon{background:#2563eb2e}.ng-toolbar-sidebar .ng-tool-tipwrap{max-width:none}.ng-toolbar-sidebar .ng-tool-circle .ng-tool-icon{width:44px;height:44px}.ng-numpad{flex-direction:column;gap:6px;width:100%;display:flex}.ng-numpad-row{justify-content:space-between;gap:8px;width:100%;display:flex}.ng-numpad-grid{grid-template-columns:repeat(3,1fr);gap:10px;width:100%;display:grid}.ng-numpad-grid .ng-key{aspect-ratio:1;border-radius:var(--sg-radius-lg);min-height:0;max-height:none}.ng-key{appearance:none;aspect-ratio:1.15;border-radius:var(--sg-radius-lg);background:var(--sg-surface);border:1.5px solid var(--sg-border);cursor:pointer;min-width:0;min-height:44px;max-height:64px;color:var(--sg-fg);flex-direction:column;flex:1;justify-content:center;align-items:center;gap:1px;display:flex}.ng-key:hover:not(:disabled){background:var(--sg-cell-peer)}.ng-key:disabled{opacity:.35;cursor:not-allowed}.ng-key-armed{background:var(--sg-accent);border-color:var(--sg-accent);color:#fff}.ng-key-digit{font-size:24px;font-weight:700;line-height:28px}.ng-key-count{color:var(--sg-muted);font-size:11px;font-weight:600;line-height:13px}.ng-key-armed .ng-key-count{color:#ffffffd9}.ng-win{z-index:20;background:var(--sg-bg);flex-direction:column;justify-content:space-between;padding:24px;display:flex;position:absolute;inset:0}.ng-win-hero{text-align:center;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:8px;display:flex}.ng-win-check{background:var(--sg-success);color:#fff;border-radius:999px;place-items:center;width:72px;height:72px;margin-bottom:8px;font-size:36px;font-weight:800;display:grid}.ng-win-lose{background:var(--sg-destructive)}.ng-win-hero h2{margin:0;font-size:28px;font-weight:800}.ng-win-hero>p{color:var(--sg-muted);margin:0;font-weight:600}.ng-win-stats{background:var(--sg-surface);border:1.5px solid var(--sg-border);border-radius:var(--sg-radius-xl);align-items:stretch;width:100%;max-width:360px;margin-top:20px;padding:16px 8px;display:flex}.ng-win-stats>div:not(.ng-win-divider){flex-direction:column;flex:1;align-items:center;gap:4px;display:flex}.ng-win-label{color:var(--sg-muted);font-size:12px;font-weight:600}.ng-win-stats strong{font-size:18px;font-weight:800}.ng-win-divider{background:var(--sg-border);width:1px}.ng-win-actions{flex-direction:column;gap:12px;display:flex}.ng-icon-slot{display:inline-flex}.ng-sheet-embedded{z-index:20;pointer-events:none;position:absolute;inset:0}.ng-sheet-embedded .ng-sheet,.ng-sheet-embedded .ng-sheet-nav{pointer-events:auto}.ng-sheet-overlay{z-index:30;flex-direction:column;justify-content:flex-end;align-items:center;display:flex;position:absolute;inset:0}.ng-sheet-backdrop{appearance:none;cursor:pointer;background:#0006;border:0;padding:0;position:absolute;inset:0}.ng-sheet{border:2px solid var(--sg-border);z-index:1;box-sizing:border-box;background:#fafbfde6;border-radius:16px;flex-direction:column;gap:16px;width:calc(100% - 32px);max-width:480px;margin:0 16px 24px;padding:24px;display:flex;position:relative;box-shadow:0 -4px 16px #00000026}[data-theme=dark] .ng-sheet{background:#121212e6}.ng-sheet-copy{flex-direction:column;display:flex}.ng-sheet-title{color:var(--sg-fg);font-size:24px;font-weight:800;font-family:var(--sg-font);margin:0 0 8px}.ng-sheet-message{color:var(--sg-muted);font-size:18px;font-weight:500;line-height:26px;font-family:var(--sg-font);margin:0}.ng-sheet-em{color:var(--sg-accent);font-weight:700}.ng-sheet-footer{justify-content:space-between;align-items:center;gap:12px;width:100%;min-width:0;margin-top:4px;display:flex}.ng-sheet-nav,.ng-sheet-nav-spacer{flex:0 0 44px;width:44px;height:44px}.ng-sheet-nav{appearance:none;background:var(--sg-cell-peer);color:var(--sg-accent);cursor:pointer;z-index:1;border:0;border-radius:22px;place-items:center;padding:0;display:grid;position:relative}.ng-sheet-nav svg{display:block}.ng-sheet-pips{flex-wrap:nowrap;flex:auto;justify-content:center;align-items:center;gap:6px;min-width:0;display:flex;overflow:hidden}.ng-sheet-pip{background:var(--sg-cell-peer);width:24px;min-width:20px;height:24px;color:var(--sg-muted);font-size:12px;font-weight:700;line-height:14px;font-family:var(--sg-font);box-sizing:border-box;border-radius:999px;flex:0 auto;place-items:center;padding:0;display:grid}.ng-sheet-pip-active{background:var(--sg-accent);color:#fff}.ng-pause{z-index:40;background:#0000008c;place-items:center;padding:24px;display:grid;position:absolute;inset:0}.ng-pause-card{background:var(--sg-surface);border-radius:28px;flex-direction:column;gap:24px;width:100%;max-width:340px;padding:32px 24px 24px;display:flex}.ng-pause-card h2{text-align:center;margin:0;font-size:24px;font-weight:700}.ng-pause-actions{flex-direction:column;gap:16px;display:flex}.ng-confirm{z-index:80;place-items:center;padding:24px;display:grid;position:fixed;inset:0}.ng-confirm-backdrop{appearance:none;cursor:pointer;background:#00000073;border:0;margin:0;padding:0;position:absolute;inset:0}.ng-confirm-card{z-index:1;background:var(--sg-surface);border:1px solid var(--sg-border);border-radius:28px;flex-direction:column;gap:12px;width:100%;max-width:340px;padding:28px 24px 24px;display:flex;position:relative;box-shadow:0 16px 40px #0f172a2e}.ng-confirm-card h2{text-align:center;color:var(--sg-fg);margin:0;font-size:22px;font-weight:700}.ng-confirm-card p{text-align:center;color:var(--sg-muted);margin:0;font-size:14px;font-weight:500;line-height:1.45}.ng-confirm-warning{color:var(--sg-fg)!important;font-weight:600!important}.ng-confirm-check{color:var(--sg-fg);cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:10px;margin:4px 0 0;font-size:14px;font-weight:600;display:flex}.ng-confirm-check input{width:18px;height:18px;accent-color:var(--sg-accent);cursor:pointer;flex-shrink:0;margin:0}.ng-confirm-actions{flex-direction:column;gap:12px;margin-top:8px;display:flex}.ng-settings{background:var(--sg-bg);flex-direction:column;flex:1;min-height:0;display:flex}.ng-settings-header{flex-direction:row;flex-shrink:0;justify-content:space-between;align-items:center;min-height:44px;padding:0 16px 8px;display:flex}.ng-settings-title{color:var(--sg-fg);margin:0;font-size:18px;font-weight:700}.ng-settings-picker-header{flex-direction:row;flex-shrink:0;justify-content:space-between;align-items:center;min-height:48px;padding:8px 16px 0;display:flex}.ng-settings-picker-title{color:var(--sg-fg);margin:0;font-size:20px;font-weight:800}.ng-settings-cancel{appearance:none;color:#2563eb;cursor:pointer;background:0 0;border:0;min-width:44px;min-height:44px;padding:0 4px;font-size:16px;font-weight:600}.ng-settings-scroll{-webkit-overflow-scrolling:touch;flex:1;min-height:0;padding:0 16px 32px;overflow:hidden auto}.ng-settings-scroll-picker{padding-top:4px}.ng-settings-section{letter-spacing:1px;color:var(--sg-muted);margin:16px 0 6px 4px;font-size:12px;font-weight:700}.ng-settings-section:first-child{margin-top:8px}.ng-settings-desc{color:var(--sg-muted);flex-shrink:0;margin:0 16px 16px;font-size:14px;font-weight:500}.ng-settings-card{background:var(--sg-surface);border:1px solid var(--sg-border);border-radius:18px;flex-shrink:0;overflow:hidden}.ng-settings-row{appearance:none;border:0;border-bottom:1px solid var(--sg-border);background:var(--sg-surface);width:100%;min-height:56px;color:var(--sg-fg);cursor:pointer;text-align:left;font:inherit;box-sizing:border-box;justify-content:space-between;align-items:center;gap:12px;padding:12px 16px;text-decoration:none;display:flex}.ng-settings-row:hover{background:var(--sg-surface-elevated)}.ng-settings-row-last,.ng-settings-card>.ng-settings-row:last-child{border-bottom:0}.ng-settings-left{flex:1;align-items:center;gap:14px;min-width:0;padding-right:8px;display:flex}.ng-settings-ico{width:22px;height:22px;color:var(--sg-fg);flex-shrink:0;place-items:center;display:grid}.ng-settings-flag{text-align:center;flex-shrink:0;width:28px;font-size:22px;line-height:1}.ng-settings-label{color:var(--sg-fg);font-size:16px;font-weight:600;line-height:1.25}.ng-settings-label-stack{flex-direction:column;gap:2px;min-width:0;display:flex}.ng-settings-sublabel{color:var(--sg-muted);font-size:12px;font-weight:500;line-height:1.35}.ng-settings-row-danger{background:var(--sg-destructive);color:#fff}.ng-settings-row-danger:hover{background:color-mix(in srgb, var(--sg-destructive) 88%, #000)}.ng-settings-row-danger .ng-settings-ico-danger,.ng-settings-row-danger .ng-settings-label-danger{color:#fff}.ng-settings-value-right{flex-shrink:0;align-items:center;gap:6px;max-width:55%;display:flex}.ng-settings-value{color:var(--sg-muted);white-space:nowrap;text-overflow:ellipsis;font-size:15px;font-weight:500;overflow:hidden}.ng-settings-chevron{color:var(--sg-muted);flex-shrink:0}.ng-settings-check{flex-shrink:0;place-items:center;display:grid}.ng-switch{appearance:none;cursor:pointer;background:#d1d5db;border:0;border-radius:999px;flex-shrink:0;width:51px;height:31px;padding:0;transition:background .15s;position:relative}.ng-switch-on{background:#2563eb}.ng-switch-thumb{background:#fff;border-radius:999px;width:27px;height:27px;transition:transform .15s;position:absolute;top:2px;left:2px;box-shadow:0 1px 3px #0003}.ng-switch-on .ng-switch-thumb{transform:translate(20px)}.ng-howto{position:relative}.ng-controls-hidden{opacity:0;pointer-events:none}.ng-flex-fill{flex-direction:column;flex:1;height:100%;min-height:0;display:flex}.ng-play-page{flex-direction:column;flex:1;align-items:stretch;width:100%;min-width:0;min-height:0;display:flex}.ng-shell-body:has(.ng-play-page){overflow:hidden auto}.ng-play-page__main{flex-direction:column;flex:1;width:100%;min-width:0;min-height:0;display:flex}.ng-play-page__panel{flex-direction:column;flex:1;width:100%;max-width:960px;min-height:0;margin:0 auto;display:flex;overflow:hidden}.ng-shell--play .ng-play-page__panel .ng-daily,.ng-shell--play .ng-play-page__main .ng-howto{flex:1;width:100%;max-width:none;min-height:0}.ng-shell--play .ng-play-page__panel .ng-settings,.ng-shell--play .ng-play-page__panel .ng-stats,.ng-shell--play .ng-play-page__panel .ng-achievements{flex:1;width:100%;max-width:560px;min-height:0;margin-inline:auto}.ng-play-page .ng-game{flex:1;max-width:none;height:auto;min-height:0;margin:0}.ng-shell-tab .ng-play-page .ng-board-stack{width:100%;max-width:468px}@media (width>=900px) and (width<=1199px){.ng-shell-tab .ng-play-page .ng-board-stack{width:min(460px,100%);max-width:460px}}@media (width>=1200px){.ng-shell-tab .ng-play-page .ng-board-stack{width:min(560px,100%);max-width:560px}}@media (width>=1440px){.ng-shell-tab .ng-play-page .ng-board-stack{width:min(620px,100%);max-width:620px}}.ng-shell-tab .ng-flex-fill>.ng-game{flex:1}.ng-achievements{background:var(--sg-bg);flex-direction:column;flex:1;min-height:0;display:flex}.ng-achievements-loading{color:var(--sg-muted);flex:1;place-items:center;font-weight:600;display:grid}.ng-achievements-list{-webkit-overflow-scrolling:touch;flex-direction:column;flex:1;gap:12px;min-height:0;padding:4px 16px 24px;display:flex;overflow-y:auto}.ng-achievement-card{background:var(--sg-surface);border:1px solid var(--sg-border);border-radius:18px;flex-direction:row;flex-shrink:0;align-items:center;gap:16px;padding:18px 16px;display:flex}.ng-achievement-icon{object-fit:contain;flex-shrink:0;width:52px;height:52px}.ng-achievement-body{flex-direction:column;flex:1;gap:12px;min-width:0;display:flex}.ng-achievement-top{flex-direction:row;align-items:center;gap:12px;display:flex}.ng-achievement-copy{flex-direction:column;flex:1;gap:4px;min-width:0;display:flex}.ng-achievement-title{color:var(--sg-fg);font-size:18px;font-weight:800;line-height:1.2}.ng-achievement-desc{color:var(--sg-muted);font-size:14px;font-weight:600;line-height:20px}.ng-achievement-check{background:var(--sg-success);color:#fff;border-radius:16px;flex-shrink:0;place-items:center;width:32px;height:32px;font-size:18px;font-weight:900;display:grid}.ng-achievement-count{background:var(--sg-surface-elevated);min-width:44px;height:30px;color:var(--sg-muted);border-radius:15px;flex-shrink:0;place-items:center;padding:0 10px;font-size:13px;font-weight:700;display:grid}.ng-achievement-track{background:var(--sg-surface-elevated);border-radius:3px;width:100%;height:5px;overflow:hidden}.ng-achievement-fill{background:var(--sg-accent);border-radius:3px;height:100%}.ng-page-header{justify-content:center;align-items:center;min-height:44px;padding:8px 16px;display:flex}.ng-page-header-left{justify-content:flex-start}.ng-page-title{color:var(--sg-fg);margin:0;font-size:20px;font-weight:800}.ng-game-nav{display:none}@media (width>=900px){.ng-shell--play{flex-direction:row;align-items:stretch;height:100%;min-height:0}.ng-shell--play .ng-game-nav{width:280px;min-height:0;padding:20px 16px 16px;padding-top:calc(20px + env(safe-area-inset-top,0px));border-right:1px solid var(--sg-border);background:var(--sg-surface);box-shadow:2px 0 16px color-mix(in srgb, var(--sg-fg) 6%, transparent);flex-direction:column;flex-shrink:0;display:flex;overflow-y:auto}.ng-shell--play .ng-shell-body{flex-direction:column;flex:1;min-width:0;min-height:0;display:flex}.ng-shell--play .ng-play-page,.ng-shell--play .ng-play-page__main{flex:1;min-height:0}.ng-shell--play .ng-play-page__main{flex-direction:column;justify-content:center;align-items:center;padding:16px 24px 24px;display:flex}.ng-shell--play .ng-play-page__panel{align-self:stretch;max-width:none;padding:0 20px 20px}.ng-shell--play .ng-play-page__panel .ng-settings,.ng-shell--play .ng-play-page__panel .ng-stats,.ng-shell--play .ng-play-page__panel .ng-achievements{max-width:640px}.ng-shell--play .ng-game{flex:0 auto;justify-content:center;align-items:stretch;width:100%;max-width:min(56rem,100%);height:auto;min-height:0;margin:0 auto;padding:0}.ng-shell--play .ng-game-column{flex:0 auto;width:100%;max-width:none;min-height:0;margin:0 auto}.ng-shell--play .ng-play-area{flex-direction:row;flex:0 auto;justify-content:center;align-items:stretch;gap:28px;width:100%;margin-top:10px}.ng-shell--play{--ng-play-controls-width:15.5rem;--ng-play-board-size:min(min(68vh, calc(100vh - 10rem)), calc(100vw - 17.5rem - var(--ng-play-controls-width) - 5rem), 40rem)}.ng-shell--play .ng-board-stack{width:var(--ng-play-board-size);max-width:var(--ng-play-board-size);flex:none}.ng-shell--play .ng-board-stack .ng-grid-wrap{max-width:100%}.ng-shell--play .ng-game-sidebar{flex-shrink:0;align-self:stretch;gap:12px;width:248px}.ng-shell--play .ng-game-sidebar__new-game{order:3;display:block}.ng-shell--play .ng-game-sidebar__stack{flex-direction:column;gap:12px;width:100%;margin-top:auto;display:flex}.ng-shell--play .ng-game-sidebar .ng-game-status{margin-bottom:8px}.ng-shell--play .ng-game-sidebar .ng-status{gap:14px}.ng-shell--play .ng-game-sidebar .ng-status-col{gap:5px}.ng-shell--play .ng-game-sidebar .ng-status-value{font-size:18px;line-height:22px}.ng-shell--play .ng-game-sidebar .ng-status-caption{font-size:10px;line-height:12px}.ng-shell--play .ng-controls-desktop{flex-direction:column;gap:14px;width:100%;display:flex}.ng-shell-tab.ng-shell--play .ng-board-stack{width:var(--ng-play-board-size);max-width:var(--ng-play-board-size)}.ng-shell-tab.ng-shell--play .ng-game{width:100%;max-width:none;margin:0;padding:0}.ng-shell-tab.ng-shell--play .ng-game-column{width:100%;max-width:none}.ng-shell-tab.ng-shell--play .ng-play-area{flex:0 auto;align-items:stretch}}.ng-game-nav__brand{margin-bottom:20px}.ng-game-nav__brand-link{color:inherit;align-items:flex-start;gap:12px;text-decoration:none;display:flex}.ng-game-nav__mascot{object-fit:contain;flex-shrink:0;width:48px;height:48px}.ng-game-nav__brand-text{min-width:0;padding-top:2px}.ng-game-nav__brand-name{letter-spacing:-.02em;color:var(--sg-fg);font-size:1.25rem;font-weight:800;line-height:1.2;display:block}.ng-game-nav__brand-accent{color:var(--sg-accent)}.ng-game-nav__tagline{color:var(--sg-muted);margin:6px 0 0;font-size:.8125rem;font-weight:500;line-height:1.45}.ng-game-nav__links{flex-direction:column;flex:1;gap:4px;min-height:0;display:flex}.ng-game-nav__link{width:100%;font:inherit;text-align:left;cursor:pointer;color:var(--sg-fg);background:0 0;border:0;border-radius:12px;align-items:center;gap:12px;padding:10px 12px;font-size:.9375rem;font-weight:600;text-decoration:none;transition:background .15s,color .15s;display:flex}.ng-game-nav__link:hover{background:var(--sg-surface-elevated)}.ng-game-nav__link--active{color:var(--sg-accent);background:color-mix(in srgb, var(--sg-accent) 12%, var(--sg-surface))}.ng-game-nav__link-icon{width:24px;color:inherit;flex-shrink:0;place-items:center;display:grid}.ng-game-nav__link--active .ng-game-nav__link-icon{color:var(--sg-accent)}.ng-game-nav__dark{justify-content:space-between;align-items:center;gap:12px;margin-top:16px;padding:10px 4px;display:flex}.ng-game-nav__dark-label{color:var(--sg-fg);align-items:center;gap:10px;font-size:.9375rem;font-weight:600;display:inline-flex}.ng-game-nav__streak-wrap,.ng-game-nav__daily-wrap{flex-shrink:0;margin-top:12px}.ng-game-nav-daily{border:1px solid var(--sg-border);background:var(--sg-bg);border-radius:14px;flex-direction:column;gap:12px;padding:14px;display:flex}.ng-game-nav-daily__header{justify-content:space-between;align-items:flex-start;gap:10px;display:flex}.ng-game-nav-daily__title{color:var(--sg-fg);margin:0;font-size:.9375rem;font-weight:800;line-height:1.3}.ng-game-nav-daily__date{color:var(--sg-accent);white-space:nowrap;flex-shrink:0;align-items:center;gap:4px;font-size:.75rem;font-weight:700;display:inline-flex}.ng-game-nav-daily__copy{color:var(--sg-muted);margin:0;font-size:.75rem;font-weight:500;line-height:1.45}.ng-game-nav-streak{border:1px solid var(--sg-border);background:var(--sg-bg);border-radius:14px;padding:14px}.ng-game-nav-streak__header{align-items:flex-start;gap:10px;display:flex}.ng-game-nav-streak__flame{object-fit:contain;flex-shrink:0}.ng-game-nav-streak__copy{min-width:0}.ng-game-nav-streak__title{color:var(--sg-fg);font-size:.9375rem;font-weight:800;line-height:1.3;display:block}.ng-game-nav-streak__message{color:var(--sg-muted);margin:4px 0 0;font-size:.75rem;line-height:1.4}.ng-game-nav-streak__week{justify-content:space-between;gap:6px;margin-top:12px;display:flex}.ng-game-nav-streak__dot{border:2px solid var(--sg-border);background:var(--sg-surface);color:#0000;border-radius:9999px;place-items:center;width:28px;height:28px;display:grid}.ng-game-nav-streak__dot--done{border-color:var(--sg-accent);background:var(--sg-accent);color:#fff}.ng-game-nav-streak__dot--future{opacity:.45}@media (width>=1200px){.ng-shell--play .ng-play-page__main{padding:20px 32px 28px}.ng-shell--play .ng-play-area{gap:32px}.ng-shell--play{--ng-play-controls-width:16.75rem;--ng-play-board-size:min(min(70vh, calc(100vh - 9rem)), calc(100vw - 17.5rem - var(--ng-play-controls-width) - 5.5rem), 44rem)}.ng-shell--play .ng-game-sidebar{width:268px}}@media (width>=1440px){.ng-shell--play{--ng-play-controls-width:18.25rem;--ng-play-board-size:min(min(72vh, calc(100vh - 8.5rem)), calc(100vw - 17.5rem - var(--ng-play-controls-width) - 6rem), 48rem)}.ng-shell--play .ng-game-sidebar{width:292px}}@media (width>=900px){.ng-shell--play .ng-game-header>.ng-icon-btn-fg:first-child,.ng-shell--play .ng-game-header .ng-game-header-pause{display:none}.ng-shell--play .ng-status-pause{display:grid}}.ng-site-navbar{z-index:40;border-bottom:1px solid var(--sg-border);background:var(--sg-surface);color:var(--sg-fg);isolation:isolate;flex-shrink:0;position:sticky;top:0}.ng-site-navbar__inner{max-width:1120px;padding:10px 16px;padding-top:calc(10px + env(safe-area-inset-top,0px));justify-content:space-between;align-items:center;gap:16px;margin:0 auto;display:flex}.ng-site-navbar__brand{color:inherit;align-items:center;gap:10px;min-width:0;text-decoration:none;display:inline-flex}.ng-site-navbar__logo{border-radius:10px;flex-shrink:0}.ng-site-navbar__name{letter-spacing:-.02em;white-space:nowrap;font-size:1.0625rem;font-weight:800}.ng-site-navbar__desktop{align-items:center;gap:4px;margin-left:auto;display:none}.ng-site-navbar__actions{flex-shrink:0;align-items:center;gap:8px;margin-left:auto;display:flex}.ng-site-navbar__play{white-space:nowrap;text-decoration:none}.ng-site-navbar__play .ng-btn-label{font-size:.875rem}.ng-site-navbar__link{color:var(--sg-muted);border-radius:10px;align-items:center;gap:8px;padding:8px 12px;font-size:.875rem;font-weight:600;text-decoration:none;transition:color .15s,background .15s;display:inline-flex}.ng-site-navbar__link:hover{color:var(--sg-fg);background:var(--sg-surface-elevated)}.ng-site-navbar__link-active{color:var(--sg-accent);background:color-mix(in srgb, var(--sg-accent) 12%, transparent)}.ng-site-navbar__link-icon{flex-shrink:0;place-items:center;display:grid}.ng-site-navbar__menu-btn{appearance:none;width:44px;height:44px;color:inherit;cursor:pointer;background:0 0;border:0;border-radius:10px;place-items:center;display:grid}.ng-site-navbar__menu-btn:hover{background:var(--sg-surface-elevated)}.ng-site-navbar__backdrop{z-index:39;cursor:pointer;background:#00000073;border:0;padding:0;position:fixed;inset:0}.ng-site-navbar__mobile{z-index:41;border-bottom:1px solid var(--sg-border);background:var(--sg-surface);flex-direction:column;gap:4px;padding:8px 12px 12px;display:flex;position:absolute;top:100%;left:0;right:0;box-shadow:0 12px 32px #0000001f}.ng-site-navbar__mobile .ng-site-navbar__link{width:100%;padding:12px 14px;font-size:1rem}@media (width>=768px){.ng-site-navbar__inner{padding-inline:24px}.ng-site-navbar__desktop{flex-wrap:wrap;justify-content:flex-end;gap:2px;max-width:min(100%,52rem);display:flex}.ng-site-navbar__actions{margin-left:8px}.ng-site-navbar__desktop .ng-site-navbar__link{gap:6px;padding:6px 10px;font-size:.8125rem}.ng-site-navbar__menu-btn{display:none}}@media (width>=1100px){.ng-site-navbar__desktop{gap:4px;max-width:none}.ng-site-navbar__desktop .ng-site-navbar__link{gap:8px;padding:8px 12px;font-size:.875rem}}.ng-tab-bar{background:var(--sg-surface);border-top:1px solid var(--sg-border);flex-direction:row;flex-shrink:0;justify-content:space-between;align-items:stretch;gap:0;padding:8px 8px 10px;display:flex}.ng-tab-bar-home{background:var(--sg-navy);border-top:0}.ng-tab-item{appearance:none;min-height:52px;color:var(--sg-muted);cursor:pointer;background:0 0;border:0;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:4px;padding:4px 0;display:flex}.ng-tab-bar-home .ng-tab-item{color:#ffffff8c}.ng-tab-item-active,.ng-tab-bar-home .ng-tab-item-active{color:var(--sg-accent)}.ng-tab-icon{border-radius:11px;place-items:center;width:34px;height:34px;display:grid}.ng-tab-icon-active{background:var(--sg-accent);color:#fff}.ng-tab-label{font-size:11px;font-weight:700;line-height:1}.ng-daily{background:var(--sg-bg);flex-direction:column;flex:1;min-height:100%;display:flex}.ng-daily-body{flex-direction:column;flex:1;justify-content:center;align-items:center;gap:16px;padding:16px 24px 24px;display:flex}.ng-calendar{width:200px;margin-bottom:8px;padding-top:12px;position:relative}.ng-calendar-binders{z-index:3;pointer-events:none;justify-content:space-between;display:flex;position:absolute;top:0;left:42px;right:42px}.ng-calendar-binders span{background:0 0;border:3.5px solid #061022;border-bottom:0;border-radius:8px 8px 0 0;width:15px;height:24px}.ng-calendar-card{background:#fff;border-radius:36px;flex-direction:column;width:200px;height:200px;display:flex;overflow:hidden;box-shadow:0 8px 16px #0019502e}.ng-calendar-top{background:#001950;place-items:center;height:34%;display:grid;position:relative}.ng-calendar-holes{justify-content:space-between;display:flex;position:absolute;top:8px;left:42px;right:42px}.ng-calendar-holes i{background:#fff;border-radius:9px;width:17px;height:17px;box-shadow:inset 0 2px #0a193133}.ng-calendar-month{color:#fff;letter-spacing:3px;margin-top:12px;font-size:22px;font-weight:800}.ng-calendar-body{background:#fff;flex:1;place-items:center;display:grid}.ng-calendar-day{color:#001950;font-size:88px;font-weight:800;line-height:1}.ng-daily-caption{text-align:center;flex-direction:column;align-items:center;gap:4px;display:flex}.ng-daily-caption strong{color:var(--sg-fg);font-size:26px;font-weight:800}.ng-daily-caption span{color:var(--sg-muted);font-size:17px;font-weight:500}.ng-daily-done{color:var(--sg-success);margin-top:4px;font-size:13px;font-style:normal;font-weight:600}.ng-daily-actions{flex-direction:column;align-self:stretch;gap:16px;margin-top:8px;display:flex}.ng-daily-streak{background:var(--sg-surface);border:1.5px solid var(--sg-border);border-radius:16px;flex-direction:row;align-items:center;gap:14px;padding:16px 18px;display:flex}.ng-daily-flame{font-size:32px;line-height:36px}.ng-daily-streak-label{color:var(--sg-muted);font-size:14px;font-weight:600;display:block}.ng-daily-streak-value{color:var(--sg-fg);font-size:22px;font-weight:700;display:block}.ng-stats{background:var(--sg-bg);flex-direction:column;flex:1;min-height:100%;display:flex}.ng-stats-tabs{background:var(--sg-surface-elevated);border-radius:12px;gap:0;margin:8px 16px 0;padding:4px;display:flex}.ng-stats-tab{appearance:none;color:var(--sg-muted);cursor:pointer;background:0 0;border:0;border-radius:10px;flex:1;padding:10px;font-size:14px;font-weight:600}.ng-stats-tab-active{background:var(--sg-surface);color:var(--sg-accent);font-weight:700}.ng-stats-scroll{flex-direction:column;flex:1;gap:16px;padding:16px;display:flex;overflow-y:auto}.ng-stats-metrics{gap:16px;display:flex}.ng-stats-metric{background:var(--sg-surface-elevated);border-radius:16px;flex-direction:column;flex:1;gap:4px;padding:16px;display:flex}.ng-stats-metric span{color:var(--sg-muted);font-size:13px;font-weight:600}.ng-stats-metric strong{color:var(--sg-fg);font-size:28px;font-weight:800}.ng-stats-panel{background:var(--sg-surface);border:1.5px solid var(--sg-border);border-radius:16px;flex-direction:column;gap:16px;padding:16px;display:flex}.ng-stats-panel h2{color:var(--sg-fg);margin:0;font-size:16px;font-weight:700}.ng-stats-chart{align-items:flex-end;gap:4px;height:120px;display:flex}.ng-stats-chart-col{flex:1;align-items:flex-end;height:100%;display:flex}.ng-stats-chart-bar{background:var(--sg-accent);border-radius:4px;width:100%;min-height:4px}.ng-stats-donut-row{align-items:center;gap:24px;display:flex}.ng-stats-donut{border-radius:55px;flex-shrink:0;width:110px;height:110px;position:relative}.ng-stats-donut:after{content:"";background:var(--sg-surface);border-radius:50%;position:absolute;inset:28px}.ng-stats-donut-empty{background:var(--sg-border)}.ng-stats-legend{flex-direction:column;flex:1;gap:10px;display:flex}.ng-stats-legend-row{color:var(--sg-fg);align-items:center;gap:10px;font-size:13px;font-weight:600;display:flex}.ng-stats-legend-row i{border-radius:5px;width:10px;height:10px;display:block}.ng-stats-legend-row span{flex:1}.ng-stats-legend-row em{color:var(--sg-muted);font-style:normal;font-weight:700}.ng-stats-streak{background:var(--sg-accent);color:#fff;border-radius:16px;flex-direction:column;gap:4px;padding:20px;display:flex}.ng-stats-streak span{opacity:.85;font-weight:600}.ng-stats-streak strong{font-size:24px;font-weight:800}.ng-stats-history{background:var(--sg-surface);border:1.5px solid var(--sg-border);border-radius:16px;flex-direction:column;gap:12px;padding:16px;display:flex}.ng-stats-history h2{margin:0;font-size:18px;font-weight:700}.ng-stats-grid{flex-wrap:wrap;gap:10px;display:flex}.ng-stats-item{background:var(--sg-surface-elevated);border-radius:10px;flex-direction:column;gap:2px;width:calc(50% - 5px);padding:10px;display:flex}.ng-stats-item span{color:var(--sg-muted);font-size:12px;font-weight:600}.ng-stats-item strong{color:var(--sg-fg);font-size:16px;font-weight:700}.ng-shell-tab .ng-shell-body{align-items:stretch}.ng-shell-tab .ng-difficulty,.ng-shell-tab .ng-settings,.ng-shell-tab .ng-doc-page,.ng-shell-tab .ng-achievements,.ng-shell-tab .ng-stats,.ng-shell-tab .ng-daily{width:100%;margin-inline:auto}@media (width>=768px) and (width<=1199px){.ng-shell-tab .ng-home{width:100%;max-width:none}.ng-shell-tab .ng-home-safe{width:100%;max-width:520px;margin-inline:auto}.ng-shell-tab .ng-home-hero{padding:28px 24px 0}.ng-shell-tab .ng-home-actions{align-self:stretch;width:100%;max-width:none;padding:0 24px 20px}.ng-shell-tab .ng-difficulty,.ng-shell-tab .ng-settings,.ng-shell-tab .ng-doc-page,.ng-shell-tab .ng-achievements,.ng-shell-tab .ng-stats,.ng-shell-tab .ng-daily{max-width:560px}.ng-shell-tab .ng-diff-list,.ng-shell-tab .ng-settings-scroll,.ng-shell-tab .ng-achievements-list,.ng-shell-tab .ng-stats-scroll{padding-inline:20px}.ng-shell-tab .ng-game{width:100%;max-width:520px;margin-inline:auto;padding:12px 20px 20px}.ng-shell-tab .ng-game-column{max-width:100%}.ng-shell-tab .ng-play-area{flex-direction:column;align-items:stretch;gap:16px}.ng-shell-tab .ng-board-stack,.ng-shell-tab .ng-grid-wrap{width:100%;max-width:none}.ng-shell-tab .ng-game-sidebar{width:100%}.ng-shell-tab .ng-key{max-height:58px}.ng-shell-tab .ng-key-digit{font-size:24px}.ng-shell-tab .ng-win{align-items:center}.ng-shell-tab .ng-win-hero,.ng-shell-tab .ng-win-actions{width:100%;max-width:400px}.ng-shell-tab .ng-daily-body{max-width:420px;margin-inline:auto}.ng-shell-tab .ng-daily-actions{width:100%;max-width:none}}@media (width>=900px) and (width<=1199px){.ng-shell-tab .ng-game{justify-content:center;align-items:center;width:100%;max-width:none;height:100%;min-height:0;margin:0;padding:20px 28px 24px}.ng-shell-tab .ng-game-column{flex:0 auto;width:auto;max-width:min(900px,100%)}.ng-shell-tab .ng-controls-mobile,.ng-shell-tab .ng-game-header-new{display:none!important}.ng-shell-tab .ng-controls-desktop{flex-direction:column;gap:14px;width:100%;display:flex}.ng-shell-tab .ng-game-status{width:100%;margin-bottom:4px}.ng-shell-tab .ng-play-area{flex-direction:row;justify-content:center;align-items:flex-start;gap:28px;width:100%;margin-top:12px}.ng-shell-tab .ng-board-stack{flex:none;width:min(460px,100vh - 200px);max-width:460px}.ng-shell-tab.ng-shell--play .ng-play-area{justify-content:center;align-items:stretch;width:100%}.ng-shell-tab.ng-shell--play .ng-game-sidebar{align-self:stretch}.ng-shell-tab .ng-grid-wrap{width:100%;max-width:none}.ng-shell-tab .ng-game-sidebar{flex-shrink:0;align-self:center;gap:14px;width:236px}.ng-shell-tab .ng-tool-circle .ng-tool-icon{width:42px;height:42px}.ng-shell-tab .ng-numpad-grid .ng-key-digit{font-size:24px}.ng-shell-tab .ng-difficulty,.ng-shell-tab .ng-settings,.ng-shell-tab .ng-doc-page,.ng-shell-tab .ng-achievements,.ng-shell-tab .ng-stats,.ng-shell-tab .ng-daily{max-width:640px}.ng-shell-tab .ng-home-safe{max-width:560px}.ng-shell-tab.ng-shell--play .ng-board-stack{width:var(--ng-play-board-size);max-width:var(--ng-play-board-size)}}@media (width>=1200px){.ng-shell-tab .ng-home{width:100%;max-width:none}.ng-shell-tab .ng-home-safe{width:100%;max-width:720px;margin-inline:auto}.ng-shell-tab .ng-home-actions{align-self:center;width:100%;max-width:560px;padding:0 24px 24px}.ng-shell-tab .ng-home-hero{padding:40px 32px 0}.ng-shell-tab .ng-difficulty,.ng-shell-tab .ng-settings,.ng-shell-tab .ng-doc-page,.ng-shell-tab .ng-achievements,.ng-shell-tab .ng-stats,.ng-shell-tab .ng-daily{max-width:720px;padding-top:8px}.ng-shell--play .ng-play-page__panel .ng-settings,.ng-shell--play .ng-play-page__panel .ng-stats,.ng-shell--play .ng-play-page__panel .ng-achievements{max-width:720px}.ng-shell-tab .ng-diff-list,.ng-shell-tab .ng-settings-scroll,.ng-shell-tab .ng-achievements-list,.ng-shell-tab .ng-stats-scroll{padding-inline:24px}.ng-shell-tab .ng-game{justify-content:center;align-items:center;width:100%;max-width:none;height:100%;min-height:0;margin:0;padding:28px 40px 36px}.ng-shell-tab .ng-game-column{flex:0 auto;width:auto;max-width:min(1020px,100%)}.ng-shell-tab .ng-game-header{margin-bottom:4px}.ng-shell-tab .ng-controls-mobile,.ng-shell-tab .ng-game-header-new{display:none!important}.ng-shell-tab .ng-controls-desktop{flex-direction:column;gap:16px;width:100%;display:flex}.ng-shell-tab .ng-game-status{width:100%;margin-bottom:4px}.ng-shell-tab .ng-play-area{flex-direction:row;justify-content:center;align-items:flex-start;gap:36px;width:100%;margin-top:12px}.ng-shell-tab .ng-board-stack{flex:none;width:min(560px,100vh - 180px);max-width:560px}.ng-shell-tab.ng-shell--play .ng-play-area{justify-content:center;align-items:stretch;width:100%}.ng-shell-tab.ng-shell--play .ng-game-sidebar{align-self:stretch}.ng-shell-tab .ng-grid-wrap{width:100%;max-width:none}.ng-shell-tab .ng-game-sidebar{flex-shrink:0;align-self:center;gap:16px;width:268px}.ng-shell-tab .ng-tool-circle .ng-tool-icon{width:48px;height:48px}.ng-shell-tab .ng-numpad-grid{gap:12px}.ng-shell-tab .ng-numpad-grid .ng-key-digit{font-size:26px;line-height:1.1}.ng-shell-tab .ng-win{align-items:center}.ng-shell-tab .ng-win-hero,.ng-shell-tab .ng-win-actions{width:100%;max-width:400px}.ng-shell-tab .ng-daily-body{max-width:480px;margin-inline:auto}.ng-shell-tab.ng-shell--play .ng-board-stack{width:var(--ng-play-board-size);max-width:var(--ng-play-board-size)}}@media (width>=1440px){.ng-shell-tab .ng-game{padding:36px 48px 40px}.ng-shell-tab .ng-game-column{max-width:min(1080px,100%)}.ng-shell-tab .ng-board-stack{width:min(620px,100vh - 170px);max-width:620px}.ng-shell-tab .ng-game-sidebar{gap:18px;width:292px}.ng-shell-tab .ng-play-area{gap:44px}.ng-shell-tab .ng-tool-circle .ng-tool-icon{width:52px;height:52px}.ng-shell-tab .ng-numpad-grid .ng-key-digit{font-size:28px}.ng-shell-tab .ng-home-safe{max-width:840px}.ng-shell-tab.ng-shell--play .ng-board-stack{width:var(--ng-play-board-size);max-width:var(--ng-play-board-size)}}.ng-streak-celeb{z-index:100;background:var(--sg-bg);flex-direction:column;display:flex;position:fixed;inset:0}.ng-streak-celeb-inner{box-sizing:border-box;flex-direction:column;flex:1;justify-content:space-between;width:100%;max-width:480px;margin:0 auto;padding:24px 24px 20px;display:flex}.ng-streak-celeb-hero{flex-direction:column;flex:1;justify-content:center;align-items:center;gap:16px;padding-bottom:32px;display:flex}.ng-streak-celeb-flame{place-items:center;width:240px;height:240px;margin-bottom:8px;display:grid;position:relative}.ng-streak-celeb-flame-img{object-fit:contain;width:100%;height:100%;position:absolute;inset:0}.ng-streak-celeb-count{z-index:1;color:#fff;text-shadow:0 1px 2px #b4320059;font-variant-numeric:tabular-nums;margin-top:36px;font-weight:800;position:relative}.ng-streak-celeb-title{color:var(--sg-fg);text-align:center;margin:0;font-size:32px;font-weight:800}.ng-streak-celeb-subtitle{color:var(--sg-muted);text-align:center;margin:0 0 24px;font-size:18px;font-weight:500}.ng-streak-celeb-week{flex-direction:row;justify-content:space-between;align-items:center;width:100%;max-width:340px;padding:0 8px;display:flex}.ng-streak-celeb-day{flex-direction:column;flex:1;align-items:center;gap:8px;display:flex}.ng-streak-celeb-weekday{color:var(--sg-muted);text-transform:uppercase;font-size:14px;font-weight:500}.ng-streak-celeb-dot{background:var(--sg-surface);border:1.5px solid var(--sg-border);box-sizing:border-box;border-radius:16px;place-items:center;width:32px;height:32px;display:grid}.ng-streak-celeb-dot-done{background:#fff;border-color:#0000000f;box-shadow:0 1px 3px #00000014}[data-theme=dark] .ng-streak-celeb-dot-done{background:var(--sg-surface-elevated);border-color:var(--sg-border)}.ng-streak-celeb-dot-future{opacity:.55}.ng-streak-celeb-actions{padding-bottom:8px}.ng-site-footer{border-top:1px solid var(--sg-border);background:var(--sg-surface);color:var(--sg-fg);margin-top:auto}.ng-site-footer__inner{flex-direction:column;gap:24px;max-width:960px;margin:0 auto;padding:24px 20px 16px;display:flex}@media (width>=640px){.ng-site-footer__inner{flex-direction:row;justify-content:space-between;align-items:flex-start;gap:32px;padding:32px 24px 20px}}.ng-site-footer__brand{flex-direction:column;gap:8px;min-width:0;display:flex}.ng-site-footer__logo{color:inherit;align-items:center;gap:10px;width:fit-content;text-decoration:none;display:inline-flex}.ng-site-footer__logo-img{border-radius:10px;flex-shrink:0}.ng-site-footer__name{font-size:1.125rem;font-weight:800}.ng-site-footer__tagline{max-width:18rem;color:var(--sg-muted);margin:0;font-size:.875rem;line-height:1.5}.ng-site-footer__columns{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;width:100%;max-width:28rem;display:grid}@media (width>=640px){.ng-site-footer__columns{flex-shrink:0;width:auto}}.ng-site-footer__heading{letter-spacing:.08em;text-transform:uppercase;color:var(--sg-muted);margin:0 0 12px;font-size:.6875rem;font-weight:700}.ng-site-footer__links{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.ng-site-footer__links a{color:inherit;font-size:.875rem;font-weight:600;text-decoration:none;transition:color .15s}.ng-site-footer__links a:hover{color:var(--sg-accent)}.ng-site-footer__copy{padding:16px 20px calc(16px + env(safe-area-inset-bottom,0px));text-align:center;color:var(--sg-muted);border-top:1px solid var(--sg-border);margin:0;font-size:.75rem}@media (width>=640px){.ng-site-footer__copy{padding-block:20px;font-size:.8125rem}}.ng-doc-page{background:var(--sg-bg);flex-direction:column;flex:none;width:100%;height:auto;min-height:0;display:flex}.ng-doc-page__intro{color:var(--sg-muted);margin:0 16px 12px;font-size:14px;font-weight:500;line-height:1.45}.ng-doc-page__body{padding:0 16px 32px}.ng-doc-page__meta{color:var(--sg-muted);margin:16px 0 0;font-size:14px;font-weight:500;line-height:1.45}.ng-legal-block{flex-direction:column;gap:6px;margin-bottom:20px;display:flex}.ng-legal-block:last-child{margin-bottom:0}.ng-legal-heading{color:var(--sg-fg);margin:0;font-size:16px;font-weight:700;line-height:1.3}.ng-legal-body{color:var(--sg-muted);margin:0;font-size:14px;font-weight:500;line-height:1.5}.ng-cookie-actions{flex-direction:column;gap:10px;margin-top:20px;display:flex}.ng-cookie-saved{text-align:center;color:var(--sg-success,#16a34a);margin:0;font-size:14px;font-weight:600}.ng-inline-link{color:var(--sg-accent);font-weight:700;text-decoration:none}.ng-inline-link:hover{text-decoration:underline}.ng-contact-form{flex-direction:column;gap:16px;display:flex}.ng-contact-fields{padding:4px 0}.ng-field{border-bottom:1px solid var(--sg-border);flex-direction:column;gap:6px;padding:12px 16px;display:flex}.ng-field-last{border-bottom:0}.ng-field-label{letter-spacing:.04em;text-transform:uppercase;color:var(--sg-muted);font-size:12px;font-weight:700}.ng-field-input{appearance:none;box-sizing:border-box;border:1.5px solid var(--sg-border);background:var(--sg-bg);width:100%;color:var(--sg-fg);font:inherit;border-radius:12px;padding:12px 14px;font-size:16px;font-weight:600}.ng-field-input:focus{outline:2px solid var(--sg-accent);outline-offset:1px;border-color:var(--sg-accent)}.ng-field-input-error{border-color:var(--sg-destructive)}.ng-field-textarea{resize:vertical;min-height:8rem;font-weight:500;line-height:1.45}.ng-field-error{color:var(--sg-destructive);margin:0;font-size:13px;font-weight:600}.ng-contact-success{flex-direction:column;gap:8px;padding:20px 16px;display:flex}.ng-contact-success-title{color:var(--sg-fg);margin:0;font-size:18px;font-weight:700}.ng-turnstile-wrap,.ng-turnstile{min-height:65px}.ng-seo-nav{padding:12px 16px 0}.ng-seo-nav__list{flex-wrap:wrap;gap:8px;margin:0;padding:0;list-style:none;display:flex}.ng-seo-nav__link{border-radius:var(--sg-radius-lg);background:var(--sg-surface);border:1.5px solid var(--sg-border);color:var(--sg-fg);align-items:center;padding:6px 10px;font-size:12px;font-weight:700;text-decoration:none;display:inline-flex}.ng-seo-nav__link:hover{background:var(--sg-surface-elevated)}.ng-doc-page__meta--pad{margin-inline:16px}.ng-seo-section{flex-direction:column;gap:12px;margin-bottom:24px;display:flex}.ng-seo-section__title{color:var(--sg-fg);margin:0;font-size:18px;font-weight:700}.ng-seo-card-list{flex-direction:column;gap:10px;display:flex}.ng-seo-card{border-radius:var(--sg-radius-xl);border:1.5px solid var(--sg-border);background:var(--sg-surface);color:inherit;flex-direction:column;gap:4px;padding:14px 16px;text-decoration:none;display:flex}.ng-seo-card:hover{background:var(--sg-surface-elevated)}.ng-seo-card__title{color:var(--sg-fg);font-size:16px;font-weight:700}.ng-seo-card__desc{color:var(--sg-muted);font-size:13px;font-weight:500;line-height:1.45}.ng-seo-actions{flex-wrap:wrap;gap:10px;padding:0 16px 28px;display:flex}.ng-seo-actions .ng-btn{text-decoration:none}.ng-seo-rules{margin:0;padding:0;list-style:none}.ng-seo-date-list{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.ng-seo-date-list__link{border-radius:var(--sg-radius-lg);border:1.5px solid var(--sg-border);background:var(--sg-surface);color:var(--sg-fg);padding:12px 14px;font-size:14px;font-weight:600;text-decoration:none;display:block}.ng-seo-date-list__link:hover{background:var(--sg-surface-elevated)}.ng-seo-prose{color:var(--sg-muted);font-size:14px;font-weight:500;line-height:1.55}.ng-seo-prose h2,.ng-seo-prose h3{color:var(--sg-fg);margin:1.25em 0 .5em;font-weight:700;line-height:1.3}.ng-seo-prose p{margin:0 0 .85em}.ng-seo-prose ul,.ng-seo-prose ol{margin:0 0 .85em;padding-left:1.25em}.ng-seo-prose a{color:var(--sg-accent);font-weight:700}
