@font-face{font-family:Nunito;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/nunito-latin-400-normal-r8SDr6Up.woff2)format("woff2"),url(/assets/nunito-latin-400-normal-DKg4f3fz.woff)format("woff")}@font-face{font-family:Nunito;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/nunito-latin-600-normal-Br8yIETf.woff2)format("woff2"),url(/assets/nunito-latin-600-normal-Cd0eNu1l.woff)format("woff")}@font-face{font-family:Nunito;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/nunito-latin-700-normal-Dort48En.woff2)format("woff2"),url(/assets/nunito-latin-700-normal-OcDqTBcA.woff)format("woff")}@font-face{font-family:Nunito;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/nunito-cyrillic-400-normal-xAOo5cBP.woff2)format("woff2"),url(/assets/nunito-cyrillic-400-normal-D1j0u8EH.woff)format("woff")}@font-face{font-family:Nunito;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/nunito-cyrillic-600-normal-DJGQ2h05.woff2)format("woff2"),url(/assets/nunito-cyrillic-600-normal-BUjmtIuu.woff)format("woff")}@font-face{font-family:Nunito;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/nunito-cyrillic-700-normal-DP36NgGt.woff2)format("woff2"),url(/assets/nunito-cyrillic-700-normal-DfHRUDv-.woff)format("woff")}:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--bg:#f4f6fa;--cell:#fff;--peer:#eaf0fc;--same:#dce6fb;--selected:#cfddfb;--ink:#1b2433;--user:#2352bd;--note:#566175;--error:#b3261e;--accent:#2456c7;--on-accent:#fff;--line-thick:#1b2433;--line-thin:#d3dae6;--scrim:color-mix(in srgb, var(--ink) 28%, transparent);--shadow:0 8px 28px color-mix(in srgb, var(--ink) 20%, transparent)}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#11161f;--cell:#1a212d;--peer:#222c3d;--same:#293754;--selected:#2f4775;--ink:#e8edf5;--user:#a9c6ff;--note:#a9b4c4;--error:#ff9c8f;--accent:#8db2ff;--on-accent:#0e1a33;--line-thick:#e8edf5;--line-thin:#3a4557;--scrim:color-mix(in srgb, var(--bg) 72%, transparent);--shadow:0 8px 28px #00000073}}:root[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#11161f;--cell:#1a212d;--peer:#222c3d;--same:#293754;--selected:#2f4775;--ink:#e8edf5;--user:#a9c6ff;--note:#a9b4c4;--error:#ff9c8f;--accent:#8db2ff;--on-accent:#0e1a33;--line-thick:#e8edf5;--line-thin:#3a4557;--scrim:color-mix(in srgb, var(--bg) 72%, transparent);--shadow:0 8px 28px #00000073}:root{--s1:4px;--s2:8px;--s3:12px;--s4:16px;--s6:24px;--s8:32px;--r-sm:8px;--r-md:12px;--r-lg:12px;--r-pill:999px;--ease:.18s ease-out}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;background:var(--bg)}body{background:var(--bg);color:var(--ink);touch-action:manipulation;-webkit-tap-highlight-color:transparent;margin:0;font-family:Nunito,system-ui,-apple-system,Segoe UI,sans-serif;font-size:16px;line-height:1.4}#root{min-height:100dvh}h1,h2,p,dl,dd,ol{margin:0}button,input{font:inherit;color:inherit}button{cursor:pointer;touch-action:manipulation}button:disabled{cursor:default}:focus-visible{outline:3px solid var(--accent);outline-offset:2px}.sr-only{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.icon{flex:none}.btn{justify-content:center;align-items:center;gap:var(--s2);min-height:48px;padding:0 var(--s6);border:1.5px solid var(--line-thin);border-radius:var(--r-lg);background:var(--cell);color:var(--ink);transition:transform var(--ease), opacity var(--ease);font-size:17px;font-weight:700;display:inline-flex}.btn:active:not(:disabled){transform:scale(.98)}.btn:disabled{opacity:.6}.btn-primary{border-color:var(--accent);background:var(--accent);color:var(--on-accent)}.btn-wide{width:100%}.icon-btn{border-radius:var(--r-pill);width:44px;height:44px;color:var(--ink);background:0 0;border:0;place-items:center;padding:0;display:inline-grid}.icon-btn:active{background:var(--peer)}.home{min-height:100dvh;padding:calc(var(--s4) + env(safe-area-inset-top,0px)) var(--s4) calc(var(--s4) + env(safe-area-inset-bottom,0px));place-items:center;display:grid;position:relative}.home-top{gap:var(--s1);top:calc(var(--s2) + env(safe-area-inset-top,0px));right:calc(var(--s2) + env(safe-area-inset-right,0px));display:flex;position:absolute}.lang-btn{letter-spacing:.04em;font-size:14px;font-weight:700}.home-body{align-items:center;gap:var(--s4);flex-direction:column;width:min(100%,360px);display:flex}.home-title{letter-spacing:.01em;font-size:28px;font-weight:700;line-height:1.2}.logo{width:72px;height:72px}@media (height>=700px){.logo{width:96px;height:96px}}.logo-cell{fill:var(--ink)}.logo-center{fill:var(--accent)}.level input,.seg input{opacity:0;cursor:pointer;width:100%;height:100%;margin:0;position:absolute;inset:0}.level input:checked+span,.seg input:checked+span{border-color:var(--accent);background:var(--selected);color:var(--ink)}.home-actions .btn-primary{min-height:56px;font-size:18px}.level input:focus-visible+span,.seg input:focus-visible+span{outline:3px solid var(--accent);outline-offset:2px}.home-actions{gap:var(--s3);flex-direction:column;width:100%;display:flex}.resume{align-items:center;gap:var(--s1);flex-direction:column;display:flex}.resume-caption{color:var(--note);font-size:15px}.notice{align-items:center;gap:var(--s2);padding:var(--s3) var(--s4);border:1.5px solid var(--line-thin);border-radius:var(--r-lg);background:var(--cell);text-align:center;flex-direction:column;font-size:15px;display:flex}@media (height<=640px){.home-body{gap:var(--s3)}.home-title{font-size:24px}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition:none!important;animation:none!important}}.levels{gap:var(--s1);grid-template-columns:repeat(4,minmax(0,1fr));width:100%;display:grid}@media (width>=360px){.levels{gap:var(--s2)}}.level{display:block;position:relative}.level input+span{border:1px solid var(--line-thin);border-radius:var(--r-lg);background:var(--cell);min-height:48px;transition:transform var(--ease);justify-content:center;align-items:center;font-size:clamp(13px,4.05vw,16px);font-weight:700;display:flex}.level input:checked+span{border-width:2px}.game{--gutter:12px;--head:clamp(48px, calc(48px + (100dvh - 568px) * .15), 56px);--tools:clamp(48px, calc(48px + (100dvh - 568px) * .05), 56px);--safe-y:calc(env(safe-area-inset-top,0px) + env(safe-area-inset-bottom,0px));--area:clamp(128px, calc(144px + (100dvh - 568px) * .25), 220px);--chrome:calc(var(--head) + var(--tools) + 3 * var(--s2) + 2 * var(--s2) + var(--safe-y));--board:min(calc(100vw - 2 * var(--gutter)), max(288px, min(calc(100dvh - var(--chrome) - var(--area)), 560px)));--cell-size:calc(var(--board) / 9);--key:min(72px, calc((var(--area) - var(--s2)) / 2));grid-template-columns:var(--board);grid-template-rows:calc(var(--head) + var(--s2)) calc(var(--tools) + var(--s2)) calc(var(--board) + var(--s2)) var(--area) 1fr;min-height:100dvh;padding:calc(var(--s2) + env(safe-area-inset-top,0px)) var(--gutter) calc(var(--s2) + env(safe-area-inset-bottom,0px));grid-template-areas:"header""tools""board""keys"".";justify-content:center;display:grid}@media (width>=700px) and (orientation:landscape) and (height<=547px){.game{--gutter:24px;--area:168px;--side:380px;--tools:56px;--board:min(calc(100dvh - var(--head) - 3 * var(--s6) - var(--safe-y)), calc(100vw - var(--side) - 3 * var(--gutter)), 640px);grid-template-columns:var(--board) var(--side);grid-template-rows:calc(var(--head) + var(--s2)) auto calc(var(--tools) + var(--s2)) var(--area) auto;column-gap:var(--s6);grid-template-areas:"header.""board.""board tools""board keys""board.";align-content:center}}.game-header{grid-area:header;grid-template-columns:44px 1fr 44px;align-self:start;align-items:center;display:grid}.game-header>.icon-btn{color:var(--accent)}.game-title{flex-direction:column;align-items:center;min-width:0;display:flex}.game-level{font-size:18px;font-weight:700;line-height:22px}.game-time{--row:calc(var(--head) - 22px);align-items:center;gap:var(--s2);height:var(--row);display:flex}.time-text{font-variant-numeric:tabular-nums;font-size:16px;font-weight:600}.time-sep{background:var(--line-thin);width:1px;height:16px}.pause-btn{margin:calc((var(--row) - 44px) / 2) calc(-1 * var(--s2)) calc((var(--row) - 44px) / 2) calc(-1 * var(--s1));color:var(--accent)}.game-tools{height:var(--tools);grid-area:tools;align-self:start}.toolbar{gap:var(--s2);grid-template-columns:repeat(3,1fr);height:100%;display:grid}.tool{padding:var(--s1) var(--s1);border:1px solid var(--line-thin);border-radius:var(--r-lg);background:var(--cell);color:var(--accent);transition:transform var(--ease);flex-direction:column;justify-content:center;align-items:center;gap:0;font-size:14px;font-weight:700;line-height:1.2;display:flex}.tool:active:not(:disabled){transform:scale(.97)}.tool:disabled{opacity:.4}.tool[aria-pressed=true],.tool[aria-expanded=true]{border:2px solid var(--accent);background:var(--selected);color:var(--ink)}.tool[aria-pressed=true] .icon{color:var(--accent)}.board-wrap{width:var(--board);height:var(--board);grid-area:board;align-self:start}.board{width:var(--board);height:var(--board);border:2px solid var(--line-thick);border-radius:var(--r-lg);background:var(--cell);-webkit-user-select:none;user-select:none;grid-template-rows:repeat(9,1fr);display:grid;overflow:hidden}.board[data-pulse=a]{animation:.22s ease-out pulse-a}.board[data-pulse=b]{animation:.22s ease-out pulse-b}@keyframes pulse-a{50%{transform:scale(1.012)}}@keyframes pulse-b{50%{transform:scale(1.012)}}.board-row{grid-template-columns:repeat(9,1fr);display:grid}.cell{border-right:1px solid var(--line-thin);border-bottom:1px solid var(--line-thin);background:var(--cell);cursor:pointer;place-items:center;min-width:0;display:grid;position:relative}.cell[data-col="2"],.cell[data-col="5"]{border-right:2px solid var(--line-thick)}.cell[data-row="2"],.cell[data-row="5"]{border-bottom:2px solid var(--line-thick)}.cell[data-col="8"]{border-right:0}.cell[data-row="8"]{border-bottom:0}.cell:before{content:"";pointer-events:none;border-radius:50%;position:absolute;inset:max(2px,6%)}.cell>*{position:relative}.cell.is-same:before,.cell.is-hinted:before{background:var(--same)}.cell.is-selected:before,.cell.is-target:before{background:var(--selected);box-shadow:inset 0 0 0 2px var(--accent)}.cell:focus-visible{outline:3px solid var(--ink);outline-offset:-3px}.digit{font-size:clamp(24px, calc(var(--cell-size) * .7), 44px);line-height:1}.digit-given{color:var(--ink);font-weight:600}.digit-user{color:var(--user);font-weight:600}.is-error .digit{color:var(--error);-webkit-text-decoration:underline wavy var(--error) 2px;text-decoration:underline wavy var(--error) 2px;text-underline-offset:calc(var(--cell-size) * .06);-webkit-text-decoration-skip-ink:none;text-decoration-skip-ink:none}@media (width<=359px),(height<=640px){.is-error .digit{text-underline-offset:1px;text-decoration-thickness:1.5px;transform:translateY(-2px)}}.notes{width:100%;height:100%;color:var(--note);font-size:max(9px, calc(var(--cell-size) * .3));grid-template:repeat(3,1fr)/repeat(3,1fr);padding:1px;font-weight:400;line-height:1;display:grid}.notes span{place-items:center;display:grid}.notes span:before{content:attr(data-note)}.is-selected .notes,.is-target .notes,.is-hinted .notes{color:var(--ink)}.paused{place-content:center;justify-items:center;gap:var(--s3);padding:var(--s4);text-align:center;grid-template-rows:none}.paused-title{font-size:24px;font-weight:700}.paused-text{color:var(--note)}.game-keys{grid-area:keys;position:relative}.keypad{--d:min(var(--key), calc((var(--board) - 4 * var(--s2)) / 5));grid-template-columns:repeat(5, var(--d));grid-template-rows:repeat(2, var(--d));justify-content:center;gap:var(--s2);height:calc(2 * var(--d) + var(--s2));display:grid}.key{border:1px solid var(--line-thin);border-radius:var(--r-pill);background:var(--cell);width:100%;min-width:44px;height:100%;min-height:44px;color:var(--ink);transition:transform var(--ease), opacity var(--ease);flex-direction:column;justify-content:center;align-items:center;gap:2px;padding:0;font-size:26px;font-weight:600;line-height:1;display:flex;position:relative}.key:active:not(:disabled){transform:scale(.96)}.key:disabled{opacity:.35}.key-left:before{content:attr(data-left)}.key-left{color:var(--note);font-size:12px;font-weight:600;line-height:1}.hint-panel{z-index:5;gap:var(--s2);padding:var(--s3);border:1.5px solid var(--line-thin);border-radius:var(--r-lg);background:var(--cell);box-shadow:var(--shadow);animation:panel-in var(--ease);flex-direction:column;display:flex;position:absolute;inset:0}@keyframes panel-in{0%{opacity:0;transform:translateY(8px)}}.hint-head{flex:none;align-items:center;min-height:44px;padding-right:44px;display:flex}.hint-title{font-size:17px;font-weight:700;line-height:1.2}.hint-close{top:var(--s1);right:var(--s1);position:absolute}.hint-body{background:linear-gradient(var(--cell) 30%, transparent) center top / 100% 20px no-repeat local, linear-gradient(transparent, var(--cell) 70%) center bottom / 100% 20px no-repeat local, linear-gradient(color-mix(in srgb, var(--ink) 22%, transparent), transparent) center top / 100% 10px no-repeat scroll, linear-gradient(transparent, color-mix(in srgb, var(--ink) 22%, transparent)) center bottom / 100% 10px no-repeat scroll;flex:1;min-height:0;font-size:15px;line-height:1.35;overflow-y:auto}.hint-steps{gap:var(--s2);flex-direction:column;padding:0;list-style:none;display:flex}.hint-steps li{flex-direction:column;display:flex}.hint-steps strong{font-weight:700}.hint-actions{gap:var(--s2);flex:none;display:flex}.hint-actions .btn{min-height:44px;padding:0 var(--s2);flex:1;font-size:16px}@media (height<=640px){.hint-panel{gap:var(--s1);padding:var(--s2) var(--s3)}.hint-head{min-height:28px}.hint-body{font-size:14px;line-height:18px}.hint-panel[data-mode=explain] .hint-actions{order:-1;padding-right:40px}.hint-panel[data-mode=explain][data-single=true] .hint-head{display:none}}@media (width>=700px) and (orientation:landscape) and (height<=547px){.keypad{--d:min(var(--key), calc((var(--side) - 4 * var(--s2)) / 5))}.hint-panel{height:auto;min-height:240px;max-height:420px;inset:0 0 auto}.hint-body{max-height:320px}}.overlay{z-index:50;background:var(--scrim);animation:fade-in var(--ease);justify-content:center;display:flex;position:fixed;inset:0}.overlay-modal{padding:var(--s4);align-items:center}.overlay-sheet{align-items:flex-end}@keyframes fade-in{0%{opacity:0}}@keyframes sheet-in{0%{opacity:0;transform:translateY(24px)}}.dialog{gap:var(--s4);width:100%;max-height:100%;padding:var(--s6);background:var(--cell);color:var(--ink);border:1px solid var(--line-thin);box-shadow:var(--shadow);animation:sheet-in var(--ease);flex-direction:column;display:flex;position:relative;overflow-y:auto}.dialog-modal{border-radius:var(--r-lg);max-width:400px}.dialog-sheet{border-radius:var(--r-lg) var(--r-lg) 0 0;max-width:520px;padding-bottom:calc(var(--s6) + env(safe-area-inset-bottom,0px))}.dialog-title{padding-right:48px;font-size:22px;font-weight:700;line-height:1.2}.dialog-modal .dialog-title{padding-right:0}.dialog-text{color:var(--note)}.dialog-actions{gap:var(--s3);flex-direction:column;display:flex}.dialog-close{top:var(--s3);right:var(--s3);position:absolute}.field{border:0;min-width:0;margin:0;padding:0}.field legend{margin-bottom:var(--s2);color:var(--note);padding:0;font-size:15px;font-weight:600}.segmented{gap:var(--s1);padding:var(--s1);border-radius:var(--r-lg);background:var(--peer);display:flex}.seg{flex:1;position:relative}.seg input+span{min-height:44px;padding:0 var(--s2);border-radius:var(--r-md);text-align:center;border:2px solid #0000;place-items:center;font-size:15px;font-weight:700;line-height:1.15;display:grid}.switch-row{justify-content:space-between;align-items:center;gap:var(--s4);min-height:48px;font-weight:600;display:flex;position:relative}.switch-row input{opacity:0;cursor:pointer;width:100%;height:100%;margin:0;position:absolute;inset:0}.switch-track{border:1.5px solid var(--line-thick);border-radius:var(--r-pill);background:var(--cell);flex:none;width:52px;height:30px;position:relative}.switch-track:after{content:"";border-radius:var(--r-pill);background:var(--line-thick);width:21px;height:21px;transition:transform var(--ease);position:absolute;top:3px;left:3px}.switch-row input:checked+.switch-track{border-color:var(--accent);background:var(--accent)}.switch-row input:checked+.switch-track:after{background:var(--on-accent);transform:translate(22px)}.switch-row input:focus-visible+.switch-track{outline:3px solid var(--accent);outline-offset:2px}@media (width>=700px) and (orientation:landscape){.overlay-sheet{padding:var(--s4);align-items:center}.dialog-sheet{max-width:520px;padding-bottom:var(--s6);border-radius:var(--r-lg);animation:fade-in var(--ease)}}.win{align-items:center;gap:var(--s4);text-align:center;flex-direction:column;display:flex}.win .dialog-actions{width:100%}.dialog:has(.win) .dialog-title{font-size:28px}.win-mark{animation:.2s ease-out 1.15s backwards mark-in;display:grid}@keyframes mark-in{0%{opacity:0;transform:scale(.7)}}.win-stats{justify-content:center;gap:var(--s8);display:flex}.win-stats div{flex-direction:column;align-items:center;display:flex}.win-stats dt{color:var(--note);font-size:14px}.win-stats dd{font-variant-numeric:tabular-nums;font-size:26px;font-weight:700}.dialog:has(.win) .dialog-title{text-align:center;padding-right:0}.overlay:has(.win){animation:fade-in var(--ease) 1.1s backwards}.petals{z-index:60;pointer-events:none;position:fixed;inset:0}.petal{background:var(--accent);opacity:0;border-radius:50%/62% 62% 38% 38%;width:28px;height:52px;margin:-26px 0 0 -14px;animation:1.4s ease-out forwards petal;position:absolute;top:50%;left:50%}.petal:nth-child(2n){background:var(--selected)}@keyframes petal{0%{opacity:0;transform:rotate(var(--a)) translateY(0) scale(.3)}30%{opacity:1}to{opacity:0;transform:rotate(calc(var(--a) + 40deg)) translateY(calc(-1 * min(34vmin, 190px))) scale(1.1)}}@media (prefers-reduced-motion:reduce){.petals{display:none}}
