@font-face{font-family:Atkinson Hyperlegible Next;src:url(/fonts/atkinson-hyperlegible-next-var.woff2)format("woff2");font-weight:200 800;font-display:swap}@font-face{font-family:Barlow Condensed;src:url(/fonts/barlow-condensed-700.woff2)format("woff2");font-weight:700;font-display:swap}@font-face{font-family:Barlow Condensed;src:url(/fonts/barlow-condensed-800.woff2)format("woff2");font-weight:800;font-display:swap}:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;--paper:#f4f6fb;--surface:#fff;--ink:#16233c;--ink-2:#46546f;--ink-3:#5e6b84;--pen:#2b50c8;--pen-on-select:#1e3fa8;--line:#cdd5e4;--line-strong:#24344f;--tint:#e4eaf6;--same:#c8d5f0;--select:#f9d35c;--select-soft:#fbe7ae;--on-select:#16233c;--error:#b42318;--error-tint:#fde7e4;--error-on-select:#8a1c12;--panel:#16233c;--on-panel:#f4f6fb;--on-panel-2:#c3cde2;--focus:#2b50c8;--key-edge:#d3dae8;--scrim:#0e152466;--font-ui:"Atkinson Hyperlegible Next", -apple-system, system-ui, sans-serif;--font-num:"Barlow Condensed", "Atkinson Hyperlegible Next", -apple-system, system-ui, sans-serif;--stage:600px;--gutter:12px;--radius-key:12px;--radius-group:16px;--radius-sheet:22px;--ease:cubic-bezier(.2, .8, .2, 1)}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial;--paper:#0e1524;--surface:#162036;--ink:#e8edf7;--ink-2:#b5c0d6;--ink-3:#94a1bb;--pen:#8db0ff;--pen-on-select:#1e3fa8;--line:#2a3752;--line-strong:#8090ae;--tint:#1f2c47;--same:#2d4170;--select:#f2c14e;--select-soft:#5c4a22;--on-select:#16233c;--error:#ff8a7a;--error-tint:#3a1f25;--error-on-select:#8a1c12;--panel:#1f2c47;--on-panel:#e8edf7;--on-panel-2:#b5c0d6;--focus:#8db0ff;--key-edge:#0a101c;--scrim:#0000008c}}*,:before,:after{box-sizing:border-box}html,body{background:var(--paper);height:100%;color:var(--ink);font-family:var(--font-ui);-webkit-text-size-adjust:100%;-moz-text-size-adjust:100%;text-size-adjust:100%;overscroll-behavior:none;margin:0;font-size:16px;line-height:1.4}body{-webkit-tap-highlight-color:transparent;touch-action:manipulation;-webkit-font-smoothing:antialiased;position:fixed;inset:0;overflow:hidden}#root{height:100%}button{font:inherit;color:inherit;cursor:pointer;-webkit-tap-highlight-color:transparent;margin:0}button:disabled{cursor:default}:focus-visible{outline:3px solid var(--focus);outline-offset:2px}h1,h2,h3,p{margin:0}.sr-only{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.screen{height:100%;padding:env(safe-area-inset-top) env(safe-area-inset-right) env(safe-area-inset-bottom) env(safe-area-inset-left);flex-direction:column;display:flex}.button{background:var(--tint);min-height:50px;color:var(--ink);letter-spacing:.005em;border:0;border-radius:14px;padding:0 20px;font-size:17px;font-weight:650}.button:active{filter:brightness(.95)}.button--primary{background:var(--ink);color:var(--paper)}.button--small{min-height:44px;padding:0 16px;font-size:15px}.icon-button{background:var(--tint);width:44px;height:44px;color:var(--ink-2);border:0;border-radius:50%;flex:none;place-items:center;display:inline-grid}.text-button{min-height:44px;color:var(--pen);background:0 0;border:0;padding:0 4px;font-weight:650}.menu__scroll{overscroll-behavior:none;flex:1;width:100%;max-width:560px;min-height:0;margin:0 auto;padding:0 16px 28px;overflow-y:auto}.menu__header{justify-content:space-between;align-items:center;padding:16px 2px 18px 4px;display:flex}.wordmark{font-family:var(--font-num);letter-spacing:.01em;font-size:46px;font-weight:800;line-height:.9}.menu__header .icon-button{background:var(--surface);box-shadow:0 1px 0 var(--key-edge)}.notice{background:var(--tint);border-radius:14px;justify-content:space-between;align-items:center;gap:12px;margin-bottom:16px;padding:4px 8px 4px 16px;font-size:15px;display:flex}.resume{border-radius:var(--radius-sheet);background:var(--panel);color:var(--on-panel);gap:14px;padding:16px 16px 16px 18px;display:grid}.resume__title{font-family:var(--font-num);font-size:30px;font-weight:700;line-height:1}.resume__detail{color:var(--on-panel-2);margin-top:6px;font-size:15px}.resume__actions{grid-template-columns:1fr auto;gap:10px;display:grid}.resume .button--primary{background:var(--select);color:var(--on-select)}.resume .button--quiet{color:var(--on-panel);background:0 0;box-shadow:inset 0 0 0 1.5px #c3cde273}.menu__section{color:var(--ink-2);margin:24px 4px 10px;font-size:15px;font-weight:650}.levels{border-radius:var(--radius-group);background:var(--surface);box-shadow:0 1px 0 var(--key-edge);margin:0;padding:0;list-style:none;overflow:hidden}.level{position:relative}.level+.level:before{content:"";border-top:1px solid var(--line);position:absolute;top:0;left:18px;right:0}.level__button{text-align:left;background:0 0;border:0;grid-template-columns:1fr auto auto;align-items:center;gap:10px;width:100%;min-height:64px;padding:10px 12px 10px 18px;display:grid}.level__button:active{background:var(--tint)}.level__button:focus-visible{outline-offset:-3px;border-radius:var(--radius-group)}.level__name{font-family:var(--font-num);align-items:center;gap:8px;font-size:30px;font-weight:700;line-height:1;display:inline-flex}.level__meta{color:var(--ink-2);font-variant-numeric:tabular-nums;justify-items:end;gap:2px;font-size:14px;display:grid}.level__best{color:var(--ink-3);font-size:13px}.level__chevron{color:var(--ink-3)}.level--locked{grid-template-columns:1fr auto;align-items:center;gap:6px 16px;padding:14px 18px;display:grid}.level--locked .level__name{color:var(--ink-3)}.level__lock{margin-left:-1px}.level__count{color:var(--ink-2);font-variant-numeric:tabular-nums;font-size:14px;font-weight:650}.level__progress{justify-items:end;gap:6px;display:grid}.level__rule{color:var(--ink-2);grid-column:1/-1;font-size:15px}.meter{background:var(--tint);border-radius:3px;width:64px;height:6px;overflow:hidden}.meter__fill{background:var(--ink-3);border-radius:3px;height:100%;display:block}.game{-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}.game__bar{grid-template-columns:1fr auto 1fr;align-items:center;height:50px;padding:0 4px;display:grid}.game__title{font-family:var(--font-num);font-size:26px;font-weight:700;line-height:1}.bar-button{min-width:44px;min-height:44px;color:var(--pen);background:0 0;border:0;border-radius:12px;justify-self:start;align-items:center;gap:1px;padding:0 10px 0 4px;font-size:17px;display:inline-flex}.bar-button--icon{justify-content:center;justify-self:end;padding:0}.bar-button:disabled{opacity:.4}.game__status{height:var(--status-h);justify-content:space-between;align-items:center;padding:0 2px;display:flex}.clock{font-family:var(--font-num);font-variant-numeric:tabular-nums;font-size:24px;font-weight:700;line-height:1}.game__stats{color:var(--ink-2);gap:16px;font-size:14px;display:flex}.game__stats strong{color:var(--ink);font-variant-numeric:tabular-nums;font-weight:700}.game__stage{--status-h:38px;min-height:0;padding:0 var(--gutter);flex:1 1 0;justify-content:center;align-items:center;display:flex;container-type:size}.game__table{width:min(100cqw, 100cqh - var(--status-h), var(--stage))}.game__dock{width:min(100% - 2 * var(--gutter), var(--stage));flex:none;margin:0 auto;padding:12px 0 10px}.board{aspect-ratio:1;border:2px solid var(--line-strong);background:var(--surface);border-radius:10px;grid-template-rows:repeat(9,1fr);grid-template-columns:repeat(9,1fr);width:100%;display:grid;position:relative;overflow:hidden;container-type:inline-size}.board--loading{color:var(--ink-2);text-align:center;place-items:center;padding:24px;font-size:16px;display:grid}.cell{border:0;border-right:1px solid var(--line);border-bottom:1px solid var(--line);background:var(--surface);min-width:0;min-height:0;color:var(--ink);appearance:none;border-radius:0;place-items:center;padding:0;line-height:1;display:grid;position:relative}.cell:nth-child(9n){border-right:0}.cell:nth-child(n+73){border-bottom:0}.cell--box-right{border-right:2px solid var(--line-strong)}.cell--box-bottom{border-bottom:2px solid var(--line-strong)}.cell--unit{background:var(--tint)}.cell--same{background:var(--same)}.cell--selected{background:var(--select)}.cell--wrong{background:var(--error-tint)}.cell--wrong.cell--selected{background:var(--select)}.cell:focus-visible{outline:3px solid var(--focus);outline-offset:-3px;z-index:1}.digit{z-index:1;line-height:1;font-family:var(--font-num);font-size:7.55556cqi;font-weight:800;display:block;position:relative}.digit--given{color:var(--ink)}.digit--placed{color:var(--pen)}.cell--selected .digit--given{color:var(--on-select)}.cell--selected .digit--placed{color:var(--pen-on-select)}.cell--wrong .digit--placed{color:var(--error)}.cell--wrong.cell--selected .digit--placed{color:var(--error-on-select)}.cell--wrong:after{content:"";background:var(--error);border-radius:1px;height:2px;position:absolute;bottom:13%;left:32%;right:32%}.cell--wrong.cell--selected:after{background:var(--error-on-select)}.notes{z-index:1;grid-template-rows:repeat(3,1fr);grid-template-columns:repeat(3,1fr);width:100%;height:100%;padding:7%;display:grid;position:relative}.note{font-family:var(--font-ui);color:var(--ink-2);font-variant-numeric:tabular-nums;place-items:center;font-size:2.77778cqi;font-weight:600;display:grid}.note--match{background:var(--pen);color:var(--surface);border-radius:3px;font-weight:750}.cell--selected .note{color:var(--on-select)}.cell--revealed .digit{animation:reveal .42s var(--ease) both}@keyframes reveal{0%{opacity:0;transform:scale(.55)}to{opacity:1;transform:scale(1)}}.cell--flash-digit{animation:cell-ring .56s var(--ease) var(--digit-delay,0s) both}@keyframes cell-ring{0%{box-shadow:inset 0 0 0 0 color-mix(in srgb, var(--pen) 0%, transparent)}30%{box-shadow:inset 0 0 0 3px var(--pen)}75%{box-shadow:inset 0 0 0 2px var(--pen)}to{box-shadow:inset 0 0 0 0 color-mix(in srgb, var(--pen) 0%, transparent)}}.cell--flash-unit:before{content:"";z-index:0;background:var(--select-soft);animation:cell-sweep .62s var(--ease) var(--unit-delay,0s) both;position:absolute;inset:0}@keyframes cell-sweep{0%{opacity:0}30%{opacity:1}to{opacity:0}}.board--solved .cell{animation:.64s ease-out both solved-wave}@keyframes solved-wave{0%{background-color:var(--surface)}45%{background-color:var(--same)}to{background-color:var(--surface)}}.controls{gap:10px;display:grid}.tools{grid-template-columns:repeat(3,1fr);gap:8px;display:grid}.tool{border-radius:var(--radius-key);min-height:52px;color:var(--ink-2);background:0 0;border:0;flex-direction:column;justify-content:center;align-items:center;gap:4px;font-size:13px;font-weight:600;display:flex}.tool:active:not(:disabled){background:var(--tint)}.tool:disabled{opacity:.4}.tool__label{line-height:1}.tool__icon{display:inline-flex;position:relative}.tool__badge{background:var(--paper);border-radius:999px;padding:1px 5px 2px;font-size:10px;font-weight:700;line-height:1.2;position:absolute;top:-6px;left:19px;box-shadow:inset 0 0 0 1.25px}.tool--on{color:var(--pen)}.tool--on .tool__badge{background:var(--pen);color:var(--paper);box-shadow:none}.pad{grid-template-columns:repeat(5,1fr);gap:8px;display:grid}.key{border-radius:var(--radius-key);background:var(--surface);min-width:44px;height:clamp(48px,7.6dvh,66px);box-shadow:0 1.5px 0 var(--key-edge);color:var(--ink);border:0;flex-direction:column;justify-content:center;align-items:center;gap:1px;padding:0;display:flex}.key:active:not(:disabled){background:var(--tint);box-shadow:0 .5px 0 var(--key-edge);transform:translateY(1px)}.key__digit{font-family:var(--font-num);font-size:32px;font-weight:700;line-height:1}.key__count{color:var(--ink-3);font-variant-numeric:tabular-nums;font-size:11px;font-weight:600;line-height:1}.pad--notes .key__digit{font-family:var(--font-ui);color:var(--pen);font-size:25px;font-weight:500}.key--done{box-shadow:inset 0 0 0 1.5px var(--line);color:var(--pen);background:0 0}.key__check{margin-top:2px}.key--erase{color:var(--ink-2);gap:3px}.key--erase:disabled{opacity:.45}.win{text-align:center;animation:rise .36s var(--ease) both;gap:12px;display:grid}.win__title{font-family:var(--font-num);outline:none;font-size:42px;font-weight:800;line-height:1}.win__facts{grid-template-columns:1fr 1fr;margin:0;display:grid}.win__facts div+div{border-left:1px solid var(--line)}.win__facts dt{color:var(--ink-2);font-size:14px}.win__facts dd{margin:2px 0 0}.win__time{font-family:var(--font-num);font-variant-numeric:tabular-nums;font-size:34px;font-weight:700;line-height:1}.win__time--quiet{color:var(--ink-2)}.win__detail{color:var(--ink-2);font-size:15px}.win__unlock{background:var(--tint);color:var(--pen);border-radius:999px;justify-self:center;padding:7px 14px;font-size:15px;font-weight:650}.win__actions{grid-template-columns:1.4fr 1fr;gap:10px;margin-top:4px;display:grid}@keyframes rise{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}.sheet{border-radius:var(--radius-sheet) var(--radius-sheet) 0 0;background:var(--surface);width:100%;max-width:560px;max-height:90dvh;color:var(--ink);overscroll-behavior:contain;border:0;margin:auto auto 0;padding:0;box-shadow:0 -10px 40px #0e15242e}.sheet::backdrop{background:var(--scrim)}.sheet[open]{animation:sheet-in .24s var(--ease) both}@keyframes sheet-in{0%{opacity:0;transform:translateY(24px)}to{opacity:1;transform:none}}.sheet__body{overscroll-behavior:contain;max-height:90dvh;padding:10px 20px calc(22px + env(safe-area-inset-bottom));outline:none;overflow-y:auto}.sheet__header{justify-content:space-between;align-items:center;gap:12px;padding:6px 0 14px;display:flex}.sheet__title{font-family:var(--font-num);font-size:30px;font-weight:700;line-height:1.05}.sheet__section{color:var(--ink-2);margin:24px 0 6px;font-size:15px;font-weight:650}.sheet__note{color:var(--ink-2);margin-bottom:14px;font-size:16px}.sheet__actions{gap:10px;margin-top:8px;display:grid}.list-button{background:var(--tint);text-align:left;width:100%;min-height:64px;color:var(--ink);border:0;border-radius:14px;align-items:center;gap:14px;padding:12px 16px;display:flex}.list-button__title{font-size:17px;font-weight:650;display:block}.list-button__detail{color:var(--ink-2);font-size:14px;display:block}.choice-grid{grid-template-columns:repeat(3,1fr);gap:8px;display:grid}.choice{border-radius:var(--radius-key);background:var(--tint);min-height:52px;font-family:var(--font-num);border:0;font-size:22px;font-weight:700}.about__lead{max-width:46ch;font-size:17px;line-height:1.45}.about__facts{margin:16px 0 0}.about__facts div{border-top:1px solid var(--line);padding:12px 0}.about__facts dt{font-size:15px;font-weight:650}.about__facts dd{color:var(--ink-2);margin:3px 0 0;font-size:15px}.about__facts dd .button{margin-top:4px}.about__notes{margin:0;padding-left:20px}.about__notes li{color:var(--ink-2);margin:5px 0;font-size:15px;line-height:1.4}.about__version{color:var(--ink-3);margin-top:18px;font-size:13px}@media (width>=700px) and (height>=640px){:root{--stage:680px}.key{height:clamp(52px,6.4dvh,76px)}.sheet{border-radius:var(--radius-sheet);margin:auto}.sheet__body{padding-bottom:24px}.key__digit{font-size:36px}.wordmark{font-size:56px}}@media (orientation:landscape) and (width>=640px){.game{grid-template-rows:auto minmax(0,1fr);grid-template-columns:minmax(0,1fr) minmax(300px,400px);column-gap:8px;display:grid}.game__bar{grid-column:1/-1}.game__stage{grid-area:2/1;padding-bottom:12px}.game__dock{grid-area:2/2;align-self:center;width:100%;padding:0 16px 12px}}@media (width<=340px){:root{--gutter:8px}.pad,.tools{gap:6px}.key__digit{font-size:28px}.level__name{font-size:26px}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}
