:root{color-scheme:light;--safe-top:env(safe-area-inset-top,0px);--safe-bottom:env(safe-area-inset-bottom,0px);--pad-bottom:20px;--bar-height:94px;--note-red:#92545e;--note-blue:#346da8;--canvas:#f2f2f7;--surface:#fff;--ink:#273246;--secondary:#717c8e;--muted:#6b7485;--blue:#2776df;--blue-strong:#1965cd;--blue-soft:#e8f0fc;--selection:#d6e7ff;--possible:#e1f2e7;--peer:#f2f6fc;--matching:#e1edff;--line:#e3e7ed;--box-line:#adb9ca;--red:#c24752;--red-soft:#ffedf0;--green:#42936e;--purple:#7c5cd6;--purple-soft:#efeafd;--hint:#c9860a;--hint-soft:#fdf2dc;--hint-strong:#8f5a00;--shadow:0 2px 5px #23395507,0 8px 24px #23395505;--font-title:32px;--font-card:20px;--font-body:17px;--font-secondary:15px;--font-caption:13px;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:20px;--space-6:24px;--space-7:28px;--space-8:32px;--radius-card-lg:20px;--radius-card:16px;--radius-board:10px;--radius-key:8px;--radius-sheet:20px}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){color-scheme:dark;--note-red:#d8adb3;--note-blue:#9ac5ff;--canvas:#0b0d11;--surface:#1b1e25;--ink:#e2e7ef;--secondary:#98a5b8;--muted:#98a5b8;--blue:#72a9ff;--blue-strong:#9ac2ff;--blue-soft:#263952;--selection:#2e527e;--possible:#294738;--peer:#283241;--matching:#304665;--line:#333d4c;--box-line:#637289;--red:#ffa0a9;--red-soft:#4a303d;--green:#7dc8a4;--purple:#b7a2ff;--purple-soft:#332a4d;--hint:#f2b84b;--hint-soft:#40361f;--hint-strong:#f2b84b;--shadow:0 3px 14px #00000012}}:root[data-theme=dark]{color-scheme:dark;--note-red:#d8adb3;--note-blue:#9ac5ff;--canvas:#0b0d11;--surface:#1b1e25;--ink:#e2e7ef;--secondary:#98a5b8;--muted:#98a5b8;--blue:#72a9ff;--blue-strong:#9ac2ff;--blue-soft:#263952;--selection:#2e527e;--possible:#294738;--peer:#283241;--matching:#304665;--line:#333d4c;--box-line:#637289;--red:#ffa0a9;--red-soft:#4a303d;--green:#7dc8a4;--purple:#b7a2ff;--purple-soft:#332a4d;--hint:#f2b84b;--hint-soft:#40361f;--hint-strong:#f2b84b;--shadow:0 3px 14px #00000012}*{box-sizing:border-box}html{min-height:100%;background:var(--canvas);-webkit-text-size-adjust:100%}body{margin:0;color:var(--ink);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:15px;-webkit-font-smoothing:antialiased}button{font:inherit;color:inherit;cursor:pointer;-webkit-tap-highlight-color:transparent;touch-action:manipulation;border:0;background:none;padding:0}button:disabled{cursor:default}button:focus-visible{outline:3px solid var(--blue);outline-offset:3px}button:not(:disabled,[data-pressable]):active{transform:scale(.96)}button{transition:transform .1s ease,background-color .12s ease,opacity .12s ease}button:where([data-pressable]){transition:background-color .12s ease,opacity .12s ease}svg{flex-shrink:0;display:inline-block;vertical-align:middle}h1,h2,h3,p{margin:0}.app{min-height:100svh;padding:var(--safe-top) max(20px,env(safe-area-inset-right)) max(var(--pad-bottom),var(--safe-bottom)) max(20px,env(safe-area-inset-left))}.app-bar{max-width:1040px;height:var(--bar-height);margin:0 auto;justify-content:space-between}.app-bar,.brand{display:flex;align-items:center}.brand{gap:11px;font-size:18px;font-weight:650;letter-spacing:-.5px}.app-mark{width:62px;height:62px;border-radius:15px;display:grid;grid-template-columns:repeat(3,1fr);gap:4px;padding:13px;background:linear-gradient(155deg,#3b3f8f,#232663 60%,#15173d);box-shadow:inset 0 1px 1px #ffffff40,0 2px 4px #15173d30}.app-mark i{display:block;border-radius:3px;background:#c7cbff47}.app-mark i:nth-child(5){background:#ffc94d;box-shadow:0 0 6px #ffc94dcc}.app-mark.small{width:29px;height:29px;padding:6px;gap:2px;border-radius:7px}.app-mark.small i{border-radius:1px}.app-mark.small i:nth-child(5){box-shadow:0 0 3px #ffc94dcc}.app-actions{display:flex;align-items:center;gap:18px}.icon-button{width:40px;height:40px;display:grid;place-items:center;border-radius:50%;color:var(--secondary)}.settings-button{background:var(--surface);box-shadow:0 1px 3px #23395508;border:1px solid var(--line)}.game-bar{width:100%;max-width:var(--play-size);height:var(--game-bar-height);margin:0 auto;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:8px}.game-bar-center{display:flex;align-items:center;justify-content:center;gap:14px;min-width:0}.game-bar-actions{display:flex;align-items:center;gap:4px}.game-bar .icon-button{width:40px;height:40px;background:none;border:0;box-shadow:none}.game-bar .icon-button:disabled{opacity:.4}.game-bar .difficulty-button{font-size:15px;font-weight:600;color:var(--ink)}.game-bar .difficulty-button>svg{color:var(--secondary)}.game-bar .clock{font-size:15px;color:var(--ink)}.game-bar{container:game-bar/inline-size}@container game-bar (max-width: 340px){.game-bar-center{gap:8px}.game-bar .time-controls{gap:4px}.game-bar .difficulty-button{gap:5px}.game-bar-actions{gap:2px}.game-bar .icon-button{width:36px;height:36px}.game-bar .icon-button:focus-visible{outline-offset:-3px}}@container game-bar (max-width: 297px){.game-bar .difficulty-button>.capitalize{display:none}}.app:has(>.game-bar:not(.lesson-hidden)){display:flex;flex-direction:column}.app:has(>.game-bar:not(.lesson-hidden))>.game.play{width:100%;margin-top:auto;margin-bottom:auto}:root{--game-width:444px;--play-cap:calc(var(--game-width) + 16px);--around-board:354px;--game-top:28px;--game-bar-height:56px;--above-play:var(--game-bar-height);--lesson-footer:0px;--play-floor:264px}:root:has(.lesson-bar){--above-play:calc(var(--bar-height) + var(--game-top));--lesson-footer:56px;--play-floor:184px}.game{max-width:var(--game-width);margin:var(--game-top) auto 0}:root{--play-size:max(var(--play-floor),min(var(--play-cap),calc(100svh - var(--around-board) - var(--above-play) - var(--lesson-footer) - var(--safe-top) - max(0px, var(--safe-bottom) - var(--pad-bottom)))))}.game.play{max-width:var(--play-size)}.difficulty-button{display:flex;align-items:center;gap:8px;color:var(--secondary);font-size:13px;font-weight:550;min-height:30px}.capitalize{text-transform:capitalize}.level-mark{display:flex;align-items:flex-end;gap:2px;height:13px}.level-mark i{width:3px;border-radius:1px;background:var(--line)}.level-mark i:first-child{height:4px}.level-mark i:nth-child(2){height:7px}.level-mark i:nth-child(3){height:10px}.level-mark i:nth-child(4){height:13px}.level-mark i.active{background:var(--blue)}.time-controls{display:flex;align-items:center;gap:9px;color:var(--secondary)}.clock{font-size:13px;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;letter-spacing:.3px}.pause-button{display:grid;place-items:center;height:30px;width:30px;border-radius:50%;background:var(--line)}.pause-button:disabled{opacity:.4}.board-wrap{--board-radius:var(--radius-board);--board-inner-radius:calc(var(--board-radius) - 1px);position:relative;border-radius:var(--board-radius);overflow:hidden;background:var(--surface);border:1px solid var(--box-line);box-shadow:var(--shadow);isolation:isolate}.board{width:100%;aspect-ratio:1;display:grid;grid-template-rows:repeat(9,1fr);user-select:none;-webkit-user-select:none}.board-row{display:grid;grid-template-columns:repeat(9,1fr);min-height:0}.board-row:not(:last-child){border-bottom:1px solid var(--line)}.board-row:nth-child(3),.board-row:nth-child(6){border-bottom:1.5px solid var(--box-line)}.cell-slot{position:relative;min-width:0;min-height:0}.cell-slot:not(:last-child){border-right:1px solid var(--line)}.cell-slot:nth-child(3),.cell-slot:nth-child(6){border-right:1.5px solid var(--box-line)}.cell{touch-action:pinch-zoom;-webkit-touch-callout:none;display:grid;place-items:center;position:relative;width:100%;height:100%;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;color:var(--ink);background:var(--surface);transition:background-color 80ms ease}.board-row:first-child .cell-slot:first-child .cell{border-top-left-radius:var(--board-inner-radius)}.board-row:first-child .cell-slot:last-child .cell{border-top-right-radius:var(--board-inner-radius)}.board-row:last-child .cell-slot:first-child .cell{border-bottom-left-radius:var(--board-inner-radius)}.board-row:last-child .cell-slot:last-child .cell{border-bottom-right-radius:var(--board-inner-radius)}.cell-number{position:relative;font-size:clamp(23px,6.4vw,29px);line-height:1;font-weight:460}.cell.entered{color:var(--blue-strong)}.cell.entered .cell-number{font-weight:430}.cell.related{background:var(--peer)}.cell.matching{background:var(--matching)}.cell.possible{background:var(--possible)}.cell.excluded-possible{background:var(--red-soft)}.cell.selected{background:var(--selection);z-index:1}.cell:focus-visible{outline:0;box-shadow:inset 0 0 0 2px var(--blue);z-index:2}.cell:not(:disabled):active{transform:none}.cell.conflict{color:var(--red);background:var(--red-soft)}.conflict-dot{width:3px;height:3px;border-radius:50%;background:var(--red);position:absolute;bottom:3px}.cell.rejecting{background:var(--red-soft)}.cell.rejecting .notes{visibility:hidden}.rejected-digit{position:absolute;inset:0;display:grid;place-items:center;font-size:clamp(23px,6.4vw,29px);line-height:1;font-weight:430;color:var(--red);pointer-events:none;animation:reject-shake .25s ease-in-out,reject-fade .8s ease-in forwards}.rejected-digit:after{content:"";position:absolute;left:50%;top:50%;width:1.15em;height:2px;margin:-1px 0 0 -.575em;border-radius:1px;background:currentColor;transform:rotate(45deg)}.rejection-source{position:absolute;inset:0;border-radius:inherit;box-shadow:inset 0 0 0 2px var(--red);pointer-events:none;animation:reject-pulse .8s ease-out forwards}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}@keyframes reject-shake{0%,to{transform:translateX(0)}20%,60%{transform:translateX(-4px)}40%,80%{transform:translateX(4px)}}@keyframes reject-fade{0%,55%{opacity:1}to{opacity:0}}@keyframes reject-pulse{0%{opacity:0}20%,60%{opacity:1}to{opacity:0}}.unit-celebration{position:absolute;inset:0;border-radius:inherit;background:var(--possible);opacity:0;pointer-events:none;animation:unit-sweep .52s ease-out both}.cell.selected .unit-celebration,.cell:focus-visible .unit-celebration{inset:2px}@keyframes unit-sweep{0%{opacity:0}30%{opacity:1}to{opacity:0}}.notes{display:grid;grid-template-columns:repeat(3,1fr);grid-template-rows:repeat(3,1fr);width:84%;height:84%;color:var(--secondary);font-size:clamp(8px,2.4vw,11px);line-height:1}.notes span{display:grid;place-items:center}.board-cover{position:absolute;inset:0;background:var(--surface);z-index:3;display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;padding:24px;gap:12px;animation:cover-in .16s ease-out}.board-cover h2{font-size:20px;font-weight:650;letter-spacing:-.4px}.board-cover p{color:var(--secondary);font-size:14px}.board-cover .primary-button{margin-top:10px}.pause-emblem{color:var(--blue);background:var(--blue-soft);width:62px;height:62px;border-radius:50%;display:grid;place-items:center;margin-bottom:5px}.spinner{height:27px;width:27px;border-radius:50%;border:2px solid var(--line);border-top-color:var(--blue);animation:spin .7s linear infinite;margin-bottom:8px}.progress-line{height:3px;margin:10px 3px 0;border-radius:3px;overflow:hidden}.progress-line span{display:block;height:100%;background:var(--blue);transform-origin:left;transition:transform .18s ease;opacity:.65}.number-pad{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;-webkit-user-select:none;user-select:none}.number-key{background:var(--canvas);border-radius:var(--radius-key);height:56px;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:4px;color:var(--blue-strong)}.number-key>span{font-size:27px;font-weight:430;line-height:1}.number-key:disabled{opacity:.42}.desktop-caption{text-align:center;font-size:11px;color:var(--secondary);margin:42px 0 5px;opacity:.8}.notice{display:flex;align-items:center;gap:8px;padding:12px;border-radius:9px;background:var(--blue-soft);font-size:12px;margin-top:15px}.notice button{padding:8px;margin-left:auto}.storage-warning{font-size:12px;line-height:1.5;color:var(--red);margin-top:12px}.completion{display:flex;align-items:center;gap:13px;padding:28px 0;animation:cover-in .22s ease}.completion h2{font-size:21px;letter-spacing:-.4px}.completion p{color:var(--secondary);font-size:12px;margin-top:4px}.completion .primary-button{margin-left:auto}.success-mark{width:45px;height:45px;display:grid;place-items:center;color:var(--green);background:color-mix(in srgb,var(--green) 12%,transparent);border-radius:50%}.is-complete{border-color:var(--green)}.primary-button{border-radius:10px;min-height:44px;display:inline-flex;justify-content:center;align-items:center;gap:8px;padding:0 18px;color:white;background:linear-gradient(#3584ed,#2471db);box-shadow:inset 0 1px 0 #ffffff20,0 2px 3px #2463aa1a;font-weight:600;font-size:14px}.full-width{width:100%}.text-button{min-height:42px;font-size:13px;font-weight:500;color:var(--secondary);margin-top:7px}.sheet{width:min(440px,calc(100vw - 32px));max-height:min(90svh,760px);padding:0;border:1px solid var(--line);border-radius:20px;background:var(--surface);color:var(--ink);box-shadow:0 25px 90px #15223930;overscroll-behavior:contain}.sheet::backdrop{background:#18233742;animation:cover-in .15s ease}.sheet-content{padding:32px;position:relative}.sheet-close{position:absolute;top:13px;right:13px;width:30px;height:30px;background:var(--canvas)}.sheet h2{font-size:24px;letter-spacing:-.7px;font-weight:680;margin:5px 22px 10px 0}.sheet-subtitle{font-size:14px;line-height:1.6;color:var(--secondary);margin-bottom:24px}.sheet-symbol{width:52px;height:52px;border-radius:14px;display:grid;place-items:center;color:var(--blue);background:var(--blue-soft);margin-bottom:20px}.sheet .app-mark{margin-bottom:22px}.difficulty-options{display:grid;grid-template-columns:repeat(4,1fr);padding:3px;border-radius:12px;background:color-mix(in srgb,var(--line) 70%,var(--canvas))}.difficulty-options button{display:flex;flex-direction:column;align-items:center;gap:8px;padding:12px 4px;border-radius:9px;font-size:13px;font-weight:550;color:var(--secondary);transition:background-color .2s ease,color .2s ease}.difficulty-options .chosen{background:var(--surface);color:var(--ink);box-shadow:0 1px 2px rgb(0 0 0/.12)}.level-note{font-size:13px;margin-top:12px}.level-note,.replacement-note{text-align:center;color:var(--secondary)}.replacement-note{font-size:12px;margin:21px 0 16px}.difficulty-options+.primary-button{margin-top:22px}.help-row h3,.install-instructions h3,.keyboard-help h3,.setting-section h3{font-size:14px;font-weight:600}.setting-section{margin-bottom:20px}.segmented{display:flex;background:var(--canvas);border-radius:9px;padding:3px;gap:3px;margin-top:10px}.segmented button{flex:1 1;min-height:36px;font-size:13px;border-radius:7px;color:var(--secondary)}.segmented .active{background:var(--surface);color:var(--ink);box-shadow:0 1px 5px #23395514}.setting-row{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:20px 0;border-top:1px solid var(--line)}.setting-row strong{font-size:14px;font-weight:550}.setting-row p{font-size:12px;color:var(--secondary);margin-top:5px}.switch{width:43px;height:26px;border-radius:20px;background:var(--box-line);padding:3px;flex-shrink:0;position:relative}.switch:before{content:"";position:absolute;inset:-9px 0}.switch span{display:block;width:20px;height:20px;border-radius:50%;background:white;box-shadow:0 1px 2px #0002;transition:transform .15s ease}.switch[aria-checked=true]{background:#2776df}.switch[aria-checked=true] span{transform:translateX(17px)}.privacy-note{font-size:12px;line-height:1.7;color:var(--secondary);margin:18px 0 22px}.help-row{display:flex;gap:15px;margin:23px 0}.help-row>svg{color:var(--blue);margin-top:2px}.help-row p,.install-instructions p,.keyboard-help p{font-size:13px;line-height:1.65;color:var(--secondary);margin-top:5px}.keyboard-help{padding:18px;background:var(--canvas);border-radius:10px;margin-bottom:24px}.keyboard-help h3{margin-bottom:12px}.keyboard-help p{font-size:11px}kbd{font-family:inherit;font-size:10px;background:var(--surface);border:1px solid var(--line);border-radius:4px;padding:2px 4px;margin-right:4px}.install-instructions h3:not(:first-child){margin-top:20px}@media (hover:hover){.number-key:not(:disabled):hover{background:var(--blue-soft)}.number-pad.mode-note .number-key:not(:disabled):hover{background:var(--selection)}.number-pad.mode-exclude .number-key:not(:disabled):hover{background:var(--red-soft)}.icon-button:not(:disabled):hover{background:var(--line)}}@media (min-width:601px) and (max-height:950px){:root{--bar-height:68px;--game-width:420px;--around-board:333px;--game-top:12px}.desktop-caption{margin-top:22px}}@media (max-width:600px){:root{--pad-bottom:10px}.app{padding-left:max(17px,env(safe-area-inset-left));padding-right:max(17px,env(safe-area-inset-right))}:root{--bar-height:66px}.brand{font-size:16px}.app-actions{gap:12px}.settings-button{width:34px;height:34px}:root{--around-board:283px;--game-top:19px}.number-key{border-radius:7px}.number-key>span{font-size:25px}.desktop-caption{display:none}.sheet{width:100%;max-width:100%;max-height:92svh;margin:auto 0 0;border-radius:22px 22px 0 0;border-bottom:0}.sheet-content{padding:31px 25px max(20px,env(safe-area-inset-bottom))}.sheet-handle{display:block;position:absolute;top:0;left:56px;right:56px;height:44px;touch-action:none;-webkit-user-select:none;user-select:none;cursor:grab}.sheet-handle:before{content:"";position:absolute;top:8px;left:calc(50% - 18px);width:36px;height:5px;border-radius:5px;background:var(--line)}.sheet-close{top:15px}.sheet h2{font-size:23px}.completion{gap:10px}.completion h2{font-size:19px}.completion p{font-size:11px}.completion .primary-button{font-size:12px;padding:0 12px}}@media (max-width:600px) and (max-height:760px){:root{--bar-height:53px;--game-width:354px;--around-board:248px;--game-top:8px}.progress-line{margin-top:7px}}@media (max-width:360px){.app{padding-left:12px;padding-right:12px}.cell-number,.number-key>span,.rejected-digit{font-size:23px}.sheet-content{padding-left:20px;padding-right:20px}}@media (max-width:600px) and (max-height:640px){.progress-line{margin-top:5px}}@media (display-mode:standalone){:root{--bar-height:60px}}@media (prefers-reduced-motion:reduce){*,:after,:before{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}.rejected-digit,.rejection-source,.unit-celebration{animation:none!important}.unit-celebration{opacity:1}}@keyframes spin{to{transform:rotate(1turn)}}@keyframes cover-in{0%{opacity:0}to{opacity:1}}.note-digit{opacity:0;transform:scale(.85)}.note-digit[data-visible=true]{opacity:1;transform:scale(1)}.notes[hidden]{display:none}.notes{color:var(--ink)}.note-generated{color:var(--note-blue)}.note-excluded{position:relative;color:var(--note-red)}.note-excluded:after{content:"";position:absolute;top:50%;left:50%;width:1.15em;height:1px;background:currentColor;transform:translate(-50%,-50%) rotate(-55deg);pointer-events:none}.puzzle-panel{padding:8px;border-radius:var(--radius-card-lg);background:var(--surface);box-shadow:0 1px 2px #0000000d}.puzzle-panel .board-wrap{box-shadow:none}.puzzle-panel:has(.lesson-prompt) .board-wrap{border-top-left-radius:0;border-top-right-radius:0}.puzzle-panel:has(.lesson-prompt) .board-row:first-child .cell-slot .cell{border-top-left-radius:0;border-top-right-radius:0}.digit-focus-bar{height:44px;display:flex;align-items:center;justify-content:space-between;border-radius:var(--radius-board);background:transparent}.digit-focus-bar[inert]>*{visibility:hidden}.digit-focus-label,.focus-button{display:flex;align-items:center;gap:11px;padding:0 14px;font-size:12px;font-weight:500;color:var(--ink)}.digit-focus-label,.focus-button{flex:1 1;min-width:0}.focus-button{height:100%;border-radius:inherit;text-align:left}.focus-button:disabled{color:var(--secondary)}.digit-focus-label>svg,.focus-button:not(:disabled)>svg{color:var(--blue)}.digit-focus-label strong,.focus-button strong{font-weight:650}.focus-indicator{width:14px;height:14px;margin:2px;border-radius:50%;background:var(--blue)}.focus-copy{display:flex;flex:1 1;align-items:center;justify-content:space-between;gap:8px}.focus-hint{color:var(--secondary);font-size:10px;font-weight:400;line-height:13px}.clear-focus-button{display:grid;place-items:center;flex-shrink:0;width:44px;height:43px;margin-right:0;border-radius:7px;color:var(--secondary)}@media (hover:hover){.clear-focus-button:hover,.focus-button:not(:disabled):hover{background:var(--peer)}}.notes .note-digit.note-focused{background:var(--blue-soft);color:var(--blue-strong);border-radius:3px;font-weight:750;box-shadow:inset 0 0 0 1px var(--blue)}.puzzle-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:24px 0}.puzzle-actions>:last-child:nth-child(odd){grid-column:1/-1}.puzzle-action{display:flex;align-items:center;justify-content:center;gap:9px;padding:12px 8px;min-height:64px;border:1px solid var(--line);border-radius:10px;background:color-mix(in srgb,var(--ink) 5%,var(--surface));font-size:13px;font-weight:550;color:var(--ink)}.puzzle-action.new-puzzle-action{background:var(--blue-soft);color:var(--blue-strong)}.puzzle-action:disabled{opacity:.45}.setting-copy{flex:1 1;min-width:0}.setting-row>svg{color:var(--secondary)}@media (max-width:380px){.puzzle-action{gap:6px;font-size:12px}.setting-row{gap:10px}}.number-key.digit-filtered{color:var(--secondary);background:transparent;opacity:.65}.note-controls{display:flex;flex-direction:column;align-items:stretch;gap:8px}.mode-switch{position:relative;flex:1 1;display:grid;grid-template-rows:repeat(3,1fr);padding:3px;border-radius:10px;background:var(--canvas)}.mode-option{position:relative;z-index:1;transition:color .22s ease;display:flex;align-items:center;justify-content:flex-start;gap:6px;min-height:42px;padding:0 12px;border-radius:8px;font-size:13px;font-weight:500;color:var(--secondary)}.mode-option:disabled{opacity:.4}.mode-indicator{position:absolute;top:3px;left:3px;right:3px;height:calc((100% - 6px) / 3);border-radius:8px;box-shadow:0 1px 2px rgb(0 0 0/.12);transition:transform .22s ease,background-color .22s ease}.mode-indicator-value{background:var(--surface)}.mode-indicator-note{transform:translateY(100%);background:var(--blue-soft)}.mode-indicator-exclude{transform:translateY(200%);background:var(--red-soft)}.mode-value[aria-pressed=true]{color:var(--blue)}.mode-note[aria-pressed=true]{color:var(--note-blue)}.mode-exclude[aria-pressed=true]{color:var(--note-red)}:is(.erase-control,.history-control){display:grid;place-items:center;min-height:44px;border-radius:10px;color:var(--secondary);background:var(--canvas)}:is(.erase-control,.history-control):disabled{opacity:.35}.edit-actions{display:grid;grid-template-columns:1fr 1.2fr 1fr;gap:6px}.edit-actions>*{min-width:0}.number-pad.mode-note .number-key{background:color-mix(in srgb,var(--blue-soft) 70%,var(--surface))}.number-pad.mode-note .number-key>span{color:var(--note-blue)}.number-pad.mode-exclude .number-key{background:color-mix(in srgb,var(--red-soft) 70%,var(--surface))}.number-pad.mode-exclude .number-key>span{position:relative;color:var(--note-red)}.number-pad.mode-exclude .number-key>span:after{content:"";position:absolute;left:50%;top:50%;width:1.1em;height:2px;margin:-1px 0 0 -.55em;background:currentColor;transform:rotate(45deg)}.secondary-puzzle-action{min-height:44px;background:transparent}.number-pad .number-key.digit-filtered{background:transparent;opacity:.65}.number-pad .number-key.digit-filtered>span{color:var(--secondary)}.number-pad .number-key.digit-finished{background:transparent}.number-pad .number-key.digit-finished>span{color:var(--secondary);opacity:.35}@media (hover:hover){.number-pad .number-key.digit-finished:hover{background:transparent}}.number-pad.mode-exclude .number-key,.number-pad.mode-note .number-key{display:grid;grid-template:repeat(3,1fr) /repeat(3,1fr);place-items:center;padding:6px 12px;gap:0}.number-pad.mode-exclude .number-key>span,.number-pad.mode-note .number-key>span{font-size:17px;line-height:1;font-weight:600}.number-pad.mode-exclude .number-key>span:after{height:1.5px;margin-top:-.75px}.digit-focus-bar.hint-strip{gap:8px;padding-left:12px;background:var(--hint-soft)}.hint-copy{display:flex;flex:1 1;min-width:0;align-items:center;gap:8px;font-size:13px;font-weight:650;color:var(--ink);white-space:nowrap}.hint-copy>span{overflow:hidden;text-overflow:ellipsis}.hint-copy>svg{flex-shrink:0;color:var(--hint)}.hint-action{flex-shrink:0;min-height:30px;padding:0 12px;border-radius:8px;background:var(--hint-strong);color:var(--surface);font-size:13px;font-weight:650}.cell.hint-area{background:color-mix(in srgb,var(--hint) 16%,var(--surface))}.cell.hint-mistake{background:var(--red-soft);box-shadow:inset 0 0 0 2px var(--red)}.cell.selected.hint-area{background:var(--selection)}.cell.hint-mistake:focus-visible:not(.selected){box-shadow:inset 0 0 0 2px var(--blue),inset 0 0 0 4px var(--red)}.board-wrap.walkthrough .cell:is(.selected,.related,.matching,.possible,.excluded-possible){background:var(--surface);box-shadow:none}.board-wrap.walkthrough .cell:focus-visible{box-shadow:none;outline:2px dashed var(--blue);outline-offset:-5px}.walk-ghost{position:absolute;inset:0;display:grid;place-items:center;font-size:clamp(23px,6.4vw,29px);line-height:1;font-weight:600;color:var(--hint-strong);pointer-events:none}.board-wrap.walkthrough .cell.walk-answer .notes{visibility:hidden}.play-side{display:contents}.controls-area{position:relative;display:grid;grid-template-columns:minmax(122px,36%) minmax(0,1fr);gap:10px;margin-top:12px;padding:10px;border-radius:var(--radius-card-lg);background:var(--surface);box-shadow:0 1px 2px #0000000d}@media (max-height:760px){.number-pad{gap:6px}.number-pad .number-key{height:48px}.controls-area{margin-top:8px}.note-controls{gap:6px}.mode-option{min-height:36px}:is(.erase-control,.history-control){min-height:36px}}.lesson-hidden{display:none!important}.lesson-bar{display:grid;grid-template-columns:1fr auto 1fr;align-items:center}.lesson-back{justify-self:start;display:inline-flex;align-items:center;gap:2px;min-height:44px;color:var(--blue-strong);font-weight:600;font-size:14px}.lesson-back svg{transform:rotate(90deg)}.lesson-title{display:flex;flex-direction:column;align-items:center;gap:6px;font-size:16px}.lesson-dots{display:inline-flex;gap:5px}.lesson-dots i{width:7px;height:7px;border-radius:50%;background:var(--line)}.lesson-dots i.done{background:var(--green)}.lesson-dots i.now{background:var(--hint)}.lesson-prompt{height:44px;display:flex;align-items:center;gap:8px;padding:0 12px;border:1px solid var(--box-line);border-bottom:0;border-radius:var(--radius-board) var(--radius-board) 0 0;background:var(--hint-soft);font-size:14px;font-weight:650;color:var(--ink)}.lesson-prompt>svg{flex-shrink:0;color:var(--hint)}.lesson-prompt.correct{background:color-mix(in srgb,var(--green) 16%,var(--surface))}.lesson-prompt.correct>svg{color:var(--green)}.lesson-prompt.wrong{background:var(--red-soft)}.lesson-prompt.wrong>svg{color:var(--red)}.lesson-footer{margin-top:12px}.lesson-done{position:absolute;top:0;left:0;right:0;min-height:100%;z-index:5;display:flex;flex-direction:column;align-items:center;gap:10px;padding:16px;border-radius:var(--radius-card-lg);background:color-mix(in srgb,var(--green) 12%,var(--surface));text-align:center}.lesson-done h2{margin:0;font-size:18px}.lesson-done p{margin:2px 0 0;color:var(--muted);font-size:14px}.app .note-controls[inert],.app .number-pad[inert]{opacity:.45}.learn-button{color:var(--ink)}.learn-count{font-size:12px;font-weight:500;color:var(--muted)}.learn-list{display:flex;flex-direction:column;gap:18px;padding-bottom:24px}.learn-band h2{margin:0 0 8px;font-size:12px;text-transform:uppercase;letter-spacing:.06em;color:var(--muted)}.learn-row{width:100%;min-height:62px;display:flex;align-items:center;gap:12px;padding:8px 12px 8px 8px;margin-bottom:8px;border-radius:14px;background:var(--surface);border:1px solid var(--line);text-align:left;font-size:15px;font-weight:600;color:var(--ink)}.learn-row>svg:last-child{transform:rotate(-90deg);color:var(--muted);flex-shrink:0}.learn-name{flex:1 1}.learn-check{display:grid;place-items:center;width:22px;height:22px;flex-shrink:0;border-radius:50%;background:var(--green);color:var(--surface)}.learn-check.empty{background:none}.learn-diagram{width:46px;height:46px;flex-shrink:0;padding:2px;border-radius:6px;background:var(--line)}.learn-diagram line{stroke:var(--box-line);stroke-width:.08}.learn-cell.empty{fill:var(--surface)}.learn-cell.filled{fill:color-mix(in srgb,var(--ink) 14%,var(--surface))}.learn-cell.area{fill:var(--hint-soft)}.learn-cell.pattern{fill:var(--hint)}.learn-cell.move{fill:var(--red)}.learn-cell.gold{fill:color-mix(in srgb,var(--hint) 55%,var(--surface))}.learn-cell.blue{fill:color-mix(in srgb,var(--blue) 45%,var(--surface))}@media (hover:hover){.learn-row:hover{border-color:var(--box-line)}}.learn-heading{margin:0;font-size:16px;font-weight:700}.home{display:flex;flex-direction:column;gap:14px;margin-top:4px;padding-bottom:24px}.home-hello{margin:0;font-size:15px;font-weight:600;color:var(--blue)}.home-title{margin:-8px 0 4px;font-size:28px;line-height:1.15;letter-spacing:-.8px;font-weight:720}.home-board rect{fill:var(--surface)}.home-board line{stroke:var(--box-line);stroke-width:.06}.home-board .thin line{stroke:var(--line);stroke-width:.03}.home-board text{font-size:.62px;text-anchor:middle;dominant-baseline:central;fill:var(--ink)}.home-board text.entered{fill:var(--blue-strong)}.home-hero{position:relative;display:flex;flex-direction:column;align-items:center;gap:14px;width:100%;padding:24px 0 34px;border-radius:24px;background:radial-gradient(circle at 50% 40%,color-mix(in srgb,var(--blue) 16%,var(--surface)),var(--surface) 70%);border:1px solid var(--line);box-shadow:var(--shadow);color:var(--ink)}.home-hero .home-board{transform:rotate(-3deg);border-radius:10px;box-shadow:0 10px 30px color-mix(in srgb,var(--blue) 18%,transparent);animation:home-float 5s ease-in-out infinite}.home-hero.quiet{padding:22px 0;margin-bottom:0}.home-hero.quiet .home-board{transform:rotate(3deg);animation:none}.home-hero:not(.quiet)+.home-levels{margin-top:16px}@keyframes home-float{50%{transform:translateY(-4px) rotate(-2deg)}}.home-meta{display:flex;align-items:center;gap:6px;font-size:13px;font-weight:500;color:var(--muted)}.home-eyebrow{display:inline-flex;align-items:center;gap:4px;font-weight:700}.home-eyebrow.solved{color:var(--green)}.home-go{position:absolute;bottom:-19px;display:inline-flex;align-items:center;gap:8px;padding:11px 26px;border-radius:99px;background:linear-gradient(#3584ed,#2471db);color:white;font-weight:650;box-shadow:0 6px 16px #2471db55}.level-easy{--level:var(--green);--level-soft:var(--possible)}.level-medium{--level:var(--blue);--level-soft:var(--blue-soft)}.level-hard{--level:var(--hint);--level-soft:var(--hint-soft)}.level-expert{--level:var(--purple);--level-soft:var(--purple-soft)}.level-tiles{display:grid;grid-template-columns:repeat(3,8px);gap:2px}.level-tiles i{width:8px;height:8px;border-radius:2px;background:color-mix(in srgb,var(--level) 22%,transparent)}.level-tiles i.on{background:var(--level)}.home-levels{display:grid;grid-template-columns:1fr 1fr;gap:10px}.home-level{display:grid;grid-template-columns:auto 1fr;column-gap:12px;align-items:center;padding:14px;border-radius:18px;background:var(--level-soft);border:1.5px solid transparent;text-align:left}.home-level .level-tiles{grid-row:span 2}.home-level strong{font-size:16px;color:var(--ink)}.home-level small{font-size:12px;font-weight:500;color:color-mix(in srgb,var(--level) 55%,var(--ink))}.home-chips{display:flex;gap:8px;flex-wrap:wrap}.home-chip{display:inline-flex;align-items:center;gap:6px;min-height:34px;padding:0 12px;border-radius:99px;background:var(--surface);border:1px solid var(--line);font-size:13px;font-weight:600;color:var(--secondary)}.home-chip svg{color:var(--green)}.home-all svg{color:var(--hint)}.home-lesson{display:flex;align-items:center;gap:14px;width:100%;padding:12px 14px;border-radius:18px;background:linear-gradient(120deg,var(--hint-soft),var(--surface));border:1px solid var(--line);text-align:left;color:var(--ink)}.home-lesson-copy{flex:1 1;display:flex;flex-direction:column;gap:2px}.home-lesson-copy small{font-size:12px;font-weight:600;color:var(--hint-strong)}.home-lesson-copy strong{font-size:16px}.home-install{display:flex;align-items:center;gap:14px;width:100%;padding:12px 14px;border-radius:18px;background:var(--blue-soft);border:1px solid var(--line);text-align:left;color:var(--ink)}.home-install strong{font-size:15px}.home-install small{order:2;font-size:12px;font-weight:600;color:var(--blue-strong)}.home-install>svg:last-child,.home-lesson>svg:last-child{flex-shrink:0;transform:rotate(-90deg);color:var(--muted)}.history{display:flex;flex-direction:column;gap:12px;padding-bottom:24px}.history-streak{align-self:flex-start;display:inline-flex;align-items:center;gap:6px;margin:0;padding:7px 12px;border-radius:99px;background:var(--hint-soft);color:var(--hint-strong);font-size:13px}.history-streak b{font-weight:700}.history-calendar{padding:14px;border-radius:20px;background:var(--surface);border:1px solid var(--line)}.history-month{display:flex;align-items:center;justify-content:space-between}.history-month h2{margin:0;font-size:17px}.history-month button{width:40px;height:40px;display:grid;place-items:center;border-radius:50%;color:var(--secondary)}.history-month button:first-child svg{transform:rotate(90deg)}.history-month button:last-child svg{transform:rotate(-90deg)}.history-month button[aria-disabled=true]{opacity:.3;cursor:default}.history-days,.history-week{display:grid;grid-template-columns:repeat(7,1fr);text-align:center}.history-week{margin:8px 0 4px;font-size:11px;font-weight:600;color:var(--muted)}.history-day{display:flex;flex-direction:column;align-items:center;gap:3px;min-height:40px;padding:5px 0;border-radius:10px;font-size:14px;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.history-day i{display:flex;gap:2px;height:6px}.history-more-dots{font-size:9px;line-height:6px;font-weight:800;color:var(--secondary)}.history-dot{width:6px;height:6px;border-radius:2px;background:var(--level)}.history-day.today>span{color:var(--blue-strong);font-weight:700}.history-day.future{opacity:.35}.history-day[aria-pressed=true]{background:var(--blue-soft);box-shadow:inset 0 0 0 1.5px var(--blue)}.history-levels{display:grid;grid-template-columns:1fr 1fr;gap:10px}.history-level{display:grid;grid-template-columns:auto 1fr;column-gap:12px;align-items:center;padding:14px;border-radius:18px;background:var(--level-soft)}.history-level .level-tiles{grid-row:span 2}.history-level:not(:has(em)) .level-tiles{grid-row:auto}.history-level-count{display:flex;align-items:baseline;gap:6px}.history-level-count b{font-size:26px;letter-spacing:-1px;color:var(--ink)}.history-level-count small{font-size:14px;font-weight:600;color:var(--ink)}.history-level em{font-style:normal;font-size:12px;font-weight:600;color:color-mix(in srgb,var(--level) 55%,var(--ink))}.history-heading{margin:8px 0 0;font-size:17px;letter-spacing:-.3px}.history-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}.history-row{display:flex;align-items:center;gap:12px;padding:8px 14px 8px 8px;border-radius:14px;background:var(--surface);border:1px solid var(--line);border-left:4px solid var(--level)}.history-pattern{flex-shrink:0;border-radius:6px}.history-pattern-bg{fill:var(--level-soft)}.history-pattern-given{fill:var(--level)}.history-pattern line{stroke:var(--surface);stroke-width:.12}.history-row-copy{flex:1 1;display:flex;flex-direction:column}.history-row-copy strong{font-size:15px}.history-row-copy small{font-size:12px;color:var(--muted)}.history-time{font-size:16px;font-weight:650;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.history-more{align-self:center;width:auto}.history-earlier{margin:4px 0 0;text-align:center;font-size:13px;color:var(--muted)}.home-hero.quiet:has(.home-replay){padding-bottom:34px}.home-hero:has(.home-replay)+.home-levels{margin-top:16px}.completion-actions{display:flex;align-items:center;gap:4px;margin-left:auto}.completion-actions button{white-space:nowrap}.replay-button{width:auto;display:inline-flex;align-items:center;gap:6px;min-height:44px;padding:0 12px}.replay{gap:14px;padding-bottom:24px}.replay,.replay-headline{display:flex;flex-direction:column}.replay-headline{gap:4px}.replay-headline .home-title{margin:0}.replay-hero{position:relative;display:flex;flex-direction:column;align-items:center;padding:14px 14px 32px;border-radius:24px;background:radial-gradient(circle at 50% 40%,color-mix(in srgb,var(--blue) 16%,var(--surface)),var(--surface) 70%);border:1px solid var(--line);box-shadow:var(--shadow)}.replay-hero .board-wrap{width:100%}.replay-board .cell{cursor:default}.replay-board .cell.changed{box-shadow:inset 0 0 0 2px var(--blue);background:var(--selection)}.replay-board .cell.wrong{color:var(--red);background:var(--red-soft)}.replay-board .cell.wrong.changed{box-shadow:inset 0 0 0 2px var(--red)}.replay-play{bottom:-19px}.replay-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:8px}.replay-stat{display:flex;flex-direction:column;padding:12px 14px;border-radius:18px;font-size:12px;font-weight:600}.replay-stat b{font-size:24px;letter-spacing:-1px;color:var(--ink);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.replay-stat.replay-numbers{background:var(--blue-soft);color:var(--blue-strong)}.replay-stat.replay-notes{background:var(--hint-soft);color:var(--hint-strong)}.replay-stat.replay-fixes{background:var(--red-soft);color:var(--red)}.replay-timeline{display:flex;flex-direction:column;gap:10px;padding:14px;border-radius:18px;background:var(--surface);border:1px solid var(--line)}.replay-ticks{display:block;width:100%;height:18px}.replay-ticks rect{fill:var(--line)}.replay-ticks rect.number.past{fill:var(--blue)}.replay-ticks rect.other.past{fill:var(--box-line)}.replay-ticks rect.note.past{fill:var(--hint)}.replay-ticks rect.fix{fill:color-mix(in srgb,var(--red) 35%,var(--line))}.replay-ticks rect.fix.past{fill:var(--red)}.replay-timeline input{width:100%;margin:0;accent-color:var(--blue)}.replay-row{display:flex;align-items:center;justify-content:space-between}.replay-count{font-size:13px;color:var(--muted);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.replay-speeds{display:flex;padding:2px;border-radius:99px;background:var(--canvas)}.replay-speeds button{min-width:36px;height:30px;border-radius:99px;font-size:12px;font-weight:700;color:var(--secondary)}.replay-speeds button[aria-pressed=true]{background:var(--surface);color:var(--ink);box-shadow:var(--shadow)}@media (hover:hover){.history-day:is(button):hover{background:var(--peer)}}@media (hover:hover){.home-level:hover{border-color:color-mix(in srgb,var(--level) 45%,transparent)}.home-chip.home-all:hover,.home-chip.home-solved-count:hover,.home-hero:not(.quiet):hover,.home-install:hover,.home-lesson:hover{border-color:var(--box-line)}}@media (prefers-reduced-motion:reduce){.home-hero .home-board{animation:none}}@media (min-aspect-ratio:5/4) and (min-height:500px) and (max-height:820px){:root{--board:max(200px,min(576px,calc(100vw - 388px - env(safe-area-inset-left, 0px) - env(safe-area-inset-right, 0px)),calc(100svh - 77px - var(--above-play) - var(--safe-top) - max(0px, var(--safe-bottom) - var(--pad-bottom)))));--side-width:calc(var(--board) + 28px + 320px)}.game-bar,.game.play{max-width:var(--side-width)}.game.play{display:grid;grid-template-columns:var(--board) 320px;column-gap:28px;align-items:start}.game.play>.puzzle-panel{grid-column:1;grid-row:1}.game.play>.progress-line{grid-column:1;grid-row:2}.game.play>.play-side{grid-column:2;grid-row:1/span 2;align-self:center;display:flex;flex-direction:column;gap:12px}.play-side>.controls-area,.play-side>.lesson-footer{margin-top:0}.play-side>.completion{flex-direction:column;text-align:center}.play-side .completion-actions{margin-left:0}.app:has(.game.play) .desktop-caption{display:none}}@media (max-height:629px) and (max-aspect-ratio:5628373634306277/4503599627370496),(min-width:601px) and (max-height:760px) and (max-aspect-ratio:5628373634306277/4503599627370496){:root{--game-bar-height:44px;--play-width:max(260px,min(var(--play-cap),calc(100svh - 228px - var(--game-bar-height) - var(--pad-bottom) - var(--safe-top) - max(0px, var(--safe-bottom) - var(--pad-bottom)))))}:root:has(.lesson-bar){--play-width:max(var(--play-floor),min(var(--play-cap),calc(100svh - 280px - var(--bar-height) - var(--pad-bottom) - var(--safe-top) - max(0px, var(--safe-bottom) - var(--pad-bottom)))))}.game-bar{max-width:var(--play-width)}.app:has(.game.play) .desktop-caption{display:none}.game.play{margin-top:0;max-width:var(--play-width)}.game.play .progress-line{margin-top:5px}.game.play :is(.digit-focus-bar,.lesson-prompt){height:36px;font-size:12px}.lesson-footer{margin-top:8px}.game.play .digit-focus-bar .clear-focus-button{width:36px;height:36px;min-height:0}}@media (max-height:499px) and (min-aspect-ratio:5/4){.game-bar,.game.play{max-width:var(--play-cap)}}.selection-outline{--outline:var(--blue);position:absolute;inset:-2px;z-index:3;pointer-events:none;border-radius:10px;border:2.5px solid var(--outline);box-shadow:0 0 0 4px color-mix(in srgb,var(--outline) 22%,transparent)}.cell-slot:has(>.cell:is(.conflict,.rejecting))>.selection-outline{--outline:var(--red)}.cell.selected:focus-visible:where(:not(.hint-mistake)){box-shadow:none}.selection-outline.group{inset:-1px;border-width:0;border-radius:0;box-shadow:none}.board-row:first-child .selection-outline{top:0}.board-row:last-child .selection-outline{bottom:0}.cell-slot:first-child>.selection-outline{left:0}.cell-slot:last-child>.selection-outline{right:0}.selection-outline.edge-top{border-top-width:2.5px}.selection-outline.edge-right{border-right-width:2.5px}.selection-outline.edge-bottom{border-bottom-width:2.5px}.selection-outline.edge-left{border-left-width:2.5px}.selection-outline.edge-top.edge-left{border-top-left-radius:10px}.selection-outline.edge-top.edge-right{border-top-right-radius:10px}.selection-outline.edge-bottom.edge-left{border-bottom-left-radius:10px}.selection-outline.edge-bottom.edge-right{border-bottom-right-radius:10px}.cell-number.placed{animation:number-placed .16s cubic-bezier(.2,.8,.2,1)}@keyframes number-placed{0%{transform:scale(.9)}}.board-wrap.walkthrough .cell:not(.walk-used)>*{opacity:.22}.board-wrap.walkthrough .notes{position:relative}.board-wrap.walkthrough .notes .note-digit{opacity:0}.board-wrap.walkthrough .cell[data-chip~="1"] .note-digit[data-digit="1"],.board-wrap.walkthrough .cell[data-chip~="2"] .note-digit[data-digit="2"],.board-wrap.walkthrough .cell[data-chip~="3"] .note-digit[data-digit="3"],.board-wrap.walkthrough .cell[data-chip~="4"] .note-digit[data-digit="4"],.board-wrap.walkthrough .cell[data-chip~="5"] .note-digit[data-digit="5"],.board-wrap.walkthrough .cell[data-chip~="6"] .note-digit[data-digit="6"],.board-wrap.walkthrough .cell[data-chip~="7"] .note-digit[data-digit="7"],.board-wrap.walkthrough .cell[data-chip~="8"] .note-digit[data-digit="8"],.board-wrap.walkthrough .cell[data-chip~="9"] .note-digit[data-digit="9"]{opacity:1;transform:scale(1.25);position:relative;z-index:1;border-radius:50%;font-weight:750;color:var(--ink);background:color-mix(in srgb,var(--ink) 13%,var(--surface));box-shadow:0 0 0 1.5px var(--surface)}.board-wrap.walkthrough .cell[data-strike~="1"] .note-digit[data-digit="1"],.board-wrap.walkthrough .cell[data-strike~="2"] .note-digit[data-digit="2"],.board-wrap.walkthrough .cell[data-strike~="3"] .note-digit[data-digit="3"],.board-wrap.walkthrough .cell[data-strike~="4"] .note-digit[data-digit="4"],.board-wrap.walkthrough .cell[data-strike~="5"] .note-digit[data-digit="5"],.board-wrap.walkthrough .cell[data-strike~="6"] .note-digit[data-digit="6"],.board-wrap.walkthrough .cell[data-strike~="7"] .note-digit[data-digit="7"],.board-wrap.walkthrough .cell[data-strike~="8"] .note-digit[data-digit="8"],.board-wrap.walkthrough .cell[data-strike~="9"] .note-digit[data-digit="9"]{opacity:1;transform:scale(1.25);position:relative;z-index:1;border-radius:50%;font-weight:750;color:var(--red);background:color-mix(in srgb,var(--red) 16%,var(--surface));box-shadow:0 0 0 1.5px var(--surface)}.board-wrap.walkthrough .cell[data-strike~="1"] .note-digit[data-digit="1"]:after,.board-wrap.walkthrough .cell[data-strike~="2"] .note-digit[data-digit="2"]:after,.board-wrap.walkthrough .cell[data-strike~="3"] .note-digit[data-digit="3"]:after,.board-wrap.walkthrough .cell[data-strike~="4"] .note-digit[data-digit="4"]:after,.board-wrap.walkthrough .cell[data-strike~="5"] .note-digit[data-digit="5"]:after,.board-wrap.walkthrough .cell[data-strike~="6"] .note-digit[data-digit="6"]:after,.board-wrap.walkthrough .cell[data-strike~="7"] .note-digit[data-digit="7"]:after,.board-wrap.walkthrough .cell[data-strike~="8"] .note-digit[data-digit="8"]:after,.board-wrap.walkthrough .cell[data-strike~="9"] .note-digit[data-digit="9"]:after{content:"";position:absolute;left:-2px;right:-2px;top:calc(50% - 1px);width:auto;height:2px;border-radius:1px;background:var(--red);transform:rotate(-45deg)}.board-wrap.walkthrough .cell:is(.walk-focus,.walk-target){z-index:2}.board-wrap.walkthrough .cell:is(.walk-focus,.walk-target):after{content:"";position:absolute;inset:-2px;border-radius:10px;border:2.5px solid var(--ink);pointer-events:none;z-index:2}.board-wrap.walkthrough .cell.walk-target:after{border-color:var(--red)}.board-wrap.walkthrough .board-row:first-child .cell:after{top:0}.board-wrap.walkthrough .board-row:last-child .cell:after{bottom:0}.board-wrap.walkthrough .cell-slot:first-child>.cell:after{left:0}.board-wrap.walkthrough .cell-slot:last-child>.cell:after{right:0}.board-wrap.walkthrough .cell:is(.walk-blue,.walk-gold):before{content:"";position:absolute;inset:3px;border-radius:9px;background:color-mix(in srgb,var(--blue) 26%,var(--surface))}.board-wrap.walkthrough .cell.walk-gold:before{background:color-mix(in srgb,var(--hint) 34%,var(--surface))}.board-wrap.walkthrough .cell:not(.walk-used):before{opacity:.22}.walk-links{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;z-index:3}.walk-links line{stroke:var(--ink);stroke-width:1.5px;stroke-linecap:round;opacity:.35}.walk-links line.current{stroke:var(--hint);stroke-width:2.5px;opacity:1}.walk-panel{position:absolute;inset:0 0 auto;min-height:100%;z-index:5;box-shadow:0 1px 2px #0000000d;display:flex;flex-direction:column;gap:10px;padding:14px 16px 12px;border-radius:var(--radius-card-lg);background:var(--surface)}.walk-progress{display:flex;gap:4px}.walk-progress i{flex:1 1;height:3px;border-radius:2px;background:var(--line);transition:background-color .2s ease}.walk-progress i.done{background:var(--hint)}.walk-eyebrow{font-size:13px;font-weight:600;color:var(--secondary);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.walk-panel p{flex:1 1 auto;min-height:0;overflow-y:auto;margin:0;font-size:18px;line-height:1.4;font-weight:550;letter-spacing:-.015em;color:var(--ink)}.walk-actions{display:flex;gap:10px;align-items:center}.walk-back{flex:none;width:44px;height:44px;border-radius:50%;display:grid;place-items:center;background:var(--canvas);color:var(--ink)}.walk-back:disabled{opacity:.3}.walk-learn,.walk-next{flex:1 1;height:44px;border-radius:999px;font-size:16px;font-weight:650}.walk-next{background:var(--ink);color:var(--surface)}.walk-next:disabled{opacity:.3}.walk-learn{background:var(--hint-soft);color:var(--hint-strong)}.walk-panel,.walk-panel p{transition-property:none}.walk-panel[data-fit=compact]{gap:6px;padding:10px 14px}.walk-panel[data-fit=compact] p{font-size:15px;line-height:1.35;font-weight:500}.walk-panel[data-fit=compact] .walk-eyebrow{display:none}.walk-panel[data-fit=compact] :is(.walk-back,.walk-next,.walk-learn){height:40px}.walk-panel[data-fit=compact] .walk-back{width:40px}@media (max-height:760px),(max-width:360px){.walk-panel{gap:8px;padding-top:12px}.walk-panel p{font-size:16px}}@media (max-width:360px){.walk-ghost{font-size:23px}}.walk-panel p.clipped:not([data-end]){-webkit-mask-image:linear-gradient(#000 calc(100% - 22px),transparent);mask-image:linear-gradient(#000 calc(100% - 22px),transparent)}.sheet{--ease-sheet:cubic-bezier(.32,.72,0,1)}.sheet[open]{animation:sheet-rise .42s var(--ease-sheet)}.sheet[data-closing]{animation:sheet-drop .26s cubic-bezier(.4,0,1,1) forwards;pointer-events:none}.sheet[data-closing]::backdrop{animation:cover-out .26s ease forwards}.sheet:not([data-dragging]){transition:translate .32s var(--ease-sheet)}.sheet[data-kind=restart]{width:min(300px,calc(100vw - 48px));margin:auto;border:0;border-radius:22px}.sheet[data-kind=restart][open]{animation:alert-in .24s cubic-bezier(.34,1.3,.64,1)}.sheet[data-kind=restart][data-closing]{animation:alert-out .16s ease forwards}.sheet[data-kind=restart] .sheet-content{padding:24px 20px 14px;text-align:center}.sheet[data-kind=restart] .sheet-symbol{margin-left:auto;margin-right:auto}.sheet[data-kind=restart] :is(.sheet-handle,.sheet-close){display:none}.sheet[data-kind=restart] h2{margin-right:0;font-size:20px}@media (min-width:601px){.sheet[open]{animation-name:card-rise}.sheet[data-closing]{animation-name:card-drop}}@media (max-width:600px) and (prefers-reduced-motion:no-preference){.app{transform-origin:50% 0;transition:scale .42s cubic-bezier(.32,.72,0,1),translate .42s cubic-bezier(.32,.72,0,1),border-radius .42s cubic-bezier(.32,.72,0,1),filter .42s ease}body:has(.sheet[open]:not([data-closing],[data-kind=restart])) .app{scale:.93;translate:0 22px;border-radius:22px;overflow:hidden;filter:brightness(.96);background:var(--canvas)}html{transition:background-color .42s ease}html:has(.sheet[open]:not([data-closing],[data-kind=restart])){background:#000}}@media (prefers-reduced-motion:reduce){.sheet[open]{animation:cover-in .15s ease!important}.sheet[data-closing]{animation:cover-out .15s ease forwards!important}}@keyframes sheet-rise{0%{transform:translateY(100%)}}@keyframes sheet-drop{to{transform:translateY(100%)}}@keyframes card-rise{0%{opacity:0;transform:translateY(28px)}}@keyframes card-drop{to{opacity:0;transform:translateY(28px)}}@keyframes alert-in{0%{opacity:0;transform:scale(.88)}}@keyframes alert-out{to{opacity:0;transform:scale(.95)}}@keyframes cover-out{to{opacity:0}}.swipe-under{z-index:0;overflow:hidden}.swipe-under,.swipe-under:after{position:fixed;inset:0;pointer-events:none}.swipe-under:after{content:"";background:#000;opacity:var(--swipe-dim,.12)}.app.swiping{position:relative;z-index:1;background:var(--canvas);box-shadow:-10px 0 30px #00000026;will-change:transform}.setting-group{margin-top:20px;border-radius:14px;background:color-mix(in srgb,var(--ink) 4%,var(--surface));padding:0 14px}.setting-group .setting-row{border-top:0;padding:14px 0}.group-row{display:flex;align-items:center;gap:14px;width:100%;min-height:50px;font-size:14px;font-weight:550;color:var(--ink)}.group-row+.group-row{border-top:1px solid var(--line)}.group-row>svg:first-child{color:var(--secondary)}.group-row>span{flex:1 1;text-align:left}.group-row>svg:last-child{transform:rotate(-90deg);color:var(--secondary)}.privacy-policy p{font-size:14px;line-height:1.6;color:var(--secondary);margin:6px 0 14px}.privacy-policy :is(h2,h3){font-size:14px;font-weight:600;color:var(--ink);margin-top:18px}.privacy-policy a{color:var(--blue)}.privacy-policy .privacy-updated{font-size:12px}.privacy-page{max-width:560px;margin:0 auto;padding-top:calc(var(--safe-top) + 20px)}.privacy-page .lesson-back{text-decoration:none}.privacy-page h1{font-size:30px;letter-spacing:-.6px;margin:18px 0 10px}.swipe-under{--above-play:var(--game-bar-height);--lesson-footer:0px;--play-floor:264px;--play-size:max(var(--play-floor),min(var(--play-cap),calc(100svh - var(--around-board) - var(--above-play) - var(--lesson-footer) - var(--safe-top) - max(0px, var(--safe-bottom) - var(--pad-bottom)))))}@media (max-height:629px) and (max-aspect-ratio:5628373634306277/4503599627370496),(min-width:601px) and (max-height:760px) and (max-aspect-ratio:5628373634306277/4503599627370496){.swipe-under{--play-width:max(260px,min(var(--play-cap),calc(100svh - 228px - var(--game-bar-height) - var(--pad-bottom) - var(--safe-top) - max(0px, var(--safe-bottom) - var(--pad-bottom)))))}}