:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--bg:#f7f6f2;--surface:#fff;--surface-2:#f0eee8;--ink:#1d1d1f;--ink-2:#5d5c61;--ink-3:#8a8990;--line:#e4e1d9;--shadow:0 1px 2px #0000000d, 0 4px 16px #0000000d;--accent:#0f8b8d;--accent-ink:#fff;--accent-soft:#dff2f1;--accent-text:#0b6d6f;--lv0:#e7e4dc;--lv1:#f7cf6e;--lv2:#f2bb4a;--lv3:#a8dcb4;--lv4:#5dbb7e;--lv5:#23864b;--lv-ink:#1d1d1f;--lv5-ink:#fff;--good:#2f9e5b;--good-soft:#e1f4e7;--warm:#b97a12;--warm-soft:#fdf1d8;--radius:18px;--radius-sm:12px;--font:system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif}:root[data-accent=violet]{--accent:#6d4fd8;--accent-soft:#ece7fd;--accent-text:#5a3ec4}:root[data-accent=coral]{--accent:#dd5b48;--accent-soft:#fde9e5;--accent-text:#b8412f}:root[data-accent=blue]{--accent:#2f6fe0;--accent-soft:#e3edfd;--accent-text:#2459b8}:root[data-accent=green]{--accent:#2f9e5b;--accent-soft:#e1f4e7;--accent-text:#23794a}:root[data-accent=amber]{--accent:#c47c12;--accent-soft:#fcefd6;--accent-text:#93600e}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#141416;--surface:#1e1e21;--surface-2:#28282c;--ink:#f2f1ee;--ink-2:#b4b3ad;--ink-3:#85847f;--line:#34343a;--shadow:0 1px 2px #0006;--accent:#3cc5c0;--accent-ink:#0b1f1f;--accent-soft:#173b3a;--accent-text:#6fdcd7;--lv0:#2c2c31;--lv1:#8a6a1f;--lv2:#a97f22;--lv3:#2f6b45;--lv4:#3c9a5f;--lv5:#63d08e;--lv-ink:#f2f1ee;--lv5-ink:#0d2416;--good:#5fd08a;--good-soft:#1b3826;--warm:#f0b04a;--warm-soft:#3a2c12}:root:not([data-theme=light])[data-accent=violet]{--accent:#a590ff;--accent-ink:#1a1233;--accent-soft:#2c2448;--accent-text:#c2b4ff}:root:not([data-theme=light])[data-accent=coral]{--accent:#ff8f7d;--accent-ink:#2d110c;--accent-soft:#42221d;--accent-text:#ffb1a4}:root:not([data-theme=light])[data-accent=blue]{--accent:#7ea9ff;--accent-ink:#0d1a33;--accent-soft:#1d2a45;--accent-text:#a7c4ff}:root:not([data-theme=light])[data-accent=green]{--accent:#5fd08a;--accent-ink:#0d2416;--accent-soft:#1b3826;--accent-text:#8fe0ad}:root:not([data-theme=light])[data-accent=amber]{--accent:#f0b04a;--accent-ink:#2b1d05;--accent-soft:#3a2c12;--accent-text:#f6c877}}*,:before,:after{box-sizing:border-box}html,body{background:var(--bg);color:var(--ink);font-family:var(--font);-webkit-font-smoothing:antialiased;-webkit-tap-highlight-color:transparent;margin:0;font-size:16px;line-height:1.45}body{min-height:100dvh}button,input,select{font:inherit;color:inherit}button{cursor:pointer;touch-action:manipulation}h1,h2,h3{text-wrap:balance;margin:0;line-height:1.2}p{margin:0}.num{font-variant-numeric:tabular-nums}.muted{color:var(--ink-2)}.small{font-size:.875rem}.visually-hidden{clip:rect(0 0 0 0);width:1px;height:1px;position:absolute;overflow:hidden}.screen{max-width:480px;min-height:100dvh;padding:max(16px, env(safe-area-inset-top)) 16px max(20px, env(safe-area-inset-bottom));flex-direction:column;gap:16px;margin:0 auto;display:flex}.stack{flex-direction:column;gap:12px;display:flex}.row{align-items:center;gap:12px;display:flex}.spread{justify-content:space-between}.grow{flex:1}.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);padding:16px}.card h2{margin-bottom:4px;font-size:1.05rem}.btn{border:1px solid var(--line);background:var(--surface);border-radius:14px;justify-content:center;align-items:center;gap:8px;min-height:48px;padding:10px 18px;font-weight:600;text-decoration:none;transition:transform 80ms,background .15s;display:inline-flex}.btn:active{transform:scale(.98)}.btn:disabled{opacity:.5;cursor:default}.btn-primary{background:var(--accent);color:var(--accent-ink);border-color:#0000}.btn-soft{background:var(--accent-soft);color:var(--accent-text);border-color:#0000}.btn-ghost{color:var(--ink-2);background:0 0;border-color:#0000}.btn-big{border-radius:var(--radius);width:100%;min-height:64px;font-size:1.15rem}.btn-danger{color:#b23b2a;background:0 0;border-color:currentColor}.icon-btn{width:44px;height:44px;color:var(--ink-2);background:0 0;border:none;border-radius:50%;place-items:center;font-size:1.3rem;display:inline-grid}.link{color:var(--accent-text);background:0 0;border:none;padding:8px 0;font-weight:600;text-decoration:none}label.field{flex-direction:column;gap:6px;font-size:.95rem;font-weight:600;display:flex}.input{border:1px solid var(--line);background:var(--surface);border-radius:12px;min-height:48px;padding:10px 14px;font-weight:400}.input:focus-visible,.btn:focus-visible,.icon-btn:focus-visible,.chip:focus-visible{outline:3px solid var(--accent);outline-offset:2px}.chips{flex-wrap:wrap;gap:8px;display:flex}.chip{border:1px solid var(--line);background:var(--surface);border-radius:999px;min-height:40px;padding:8px 14px;font-size:.92rem}.chip[aria-pressed=true]{background:var(--accent-soft);border-color:var(--accent);color:var(--accent-text);font-weight:600}.error-text{color:#b23b2a;font-size:.92rem}@media (prefers-color-scheme:dark){.error-text,.btn-danger{color:#ff8f7d}}.avatar{background:var(--accent-soft);border:none;border-radius:50%;flex:none;place-items:center;width:48px;height:48px;font-size:1.6rem;display:grid}.avatar-lg{width:72px;height:72px;font-size:2.4rem}.hero{flex-direction:column;gap:10px;display:flex}.hero .note{text-align:center;color:var(--ink-2);font-size:.92rem}.stat-row{grid-template-columns:1fr 1fr;gap:12px;display:grid}.stat{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:14px}.stat .value{font-variant-numeric:tabular-nums;font-size:1.7rem;font-weight:700;line-height:1.1}.stat .value small{color:var(--ink-3);font-size:1rem;font-weight:600}.stat .label{color:var(--ink-2);margin-top:2px;font-size:.85rem}.week-dots{gap:5px;margin-top:8px;display:flex}.week-dots span{background:var(--lv0);border-radius:50%;width:14px;height:14px}.week-dots span.on{background:var(--accent)}.sync{text-align:center;color:var(--ink-3);margin-top:auto;font-size:.8rem}.banner{border-radius:var(--radius-sm);background:var(--accent-soft);color:var(--accent-text);text-align:start;border:none;width:100%;padding:12px 14px;font-weight:600}.factmap{-webkit-user-select:none;user-select:none;gap:2px;width:100%;display:grid}.factmap .hd{color:var(--ink-3);aspect-ratio:1;place-items:center;font-size:clamp(.75rem,3.4vw,.95rem);font-weight:700;display:grid}.factmap .cell{aspect-ratio:1;letter-spacing:-.02em;font-variant-numeric:tabular-nums;color:var(--lv-ink);background:var(--lv0);border:none;border-radius:6px;place-items:center;padding:0;font-size:clamp(.72rem,3.6vw,1.05rem);font-weight:700;transition:background .4s;display:grid}.factmap .cell.l1{background:var(--lv1)}.factmap .cell.l2{background:var(--lv2)}.factmap .cell.l3{background:var(--lv3)}.factmap .cell.l4{background:var(--lv4)}.factmap .cell.l5{background:var(--lv5);color:var(--lv5-ink)}.factmap .cell.locked{opacity:.35}.factmap .cell.pop{animation:.6s pop}.factmap.compact{gap:2px;max-width:220px;margin-inline:auto}.factmap.compact .cell{border-radius:3px;font-size:0}.factmap.compact .hd{display:none}@keyframes pop{0%{transform:scale(1)}40%{transform:scale(1.35)}to{transform:scale(1)}}.legend{color:var(--ink-2);flex-wrap:wrap;gap:6px 14px;font-size:.82rem;display:flex}.legend span{align-items:center;gap:6px;display:inline-flex}.legend i{border-radius:3px;width:12px;height:12px;display:inline-block}.practice{max-width:480px;height:100dvh;padding:max(8px, env(safe-area-inset-top)) 16px max(12px, env(safe-area-inset-bottom));flex-direction:column;margin:0 auto;display:flex}.practice-top{align-items:center;gap:8px;min-height:48px;display:flex}.progress{background:var(--surface-2);border-radius:999px;flex:1;height:8px;overflow:hidden}.progress>div{background:var(--accent);border-radius:999px;height:100%;transition:width .4s}.question-area{flex-direction:column;flex:1;justify-content:safe center;align-items:center;gap:14px;min-height:0;padding:8px 0;display:flex;overflow-y:auto}.question{font-variant-numeric:tabular-nums;letter-spacing:-.02em;white-space:nowrap;font-size:clamp(3rem,17vw,5.2rem);font-weight:700;line-height:1}.question .times{color:var(--ink-3);padding:0 .12em;font-weight:500}.answer-box{font-variant-numeric:tabular-nums;text-align:center;border-bottom:4px solid var(--line);min-width:3.2ch;min-height:1.35em;padding:0 .35em;font-size:clamp(2.4rem,13vw,3.8rem);font-weight:700;line-height:1.3;transition:border-color .15s,color .15s}.answer-box.active{border-color:var(--accent)}.answer-box.good{border-color:var(--good);color:var(--good)}.answer-box.neutral{border-color:var(--accent);color:var(--accent-text)}.hint-row{justify-content:center;gap:8px;min-height:48px;display:flex}.numpad{grid-template-columns:repeat(3,1fr);gap:8px;padding-top:8px;display:grid}.numpad button{border:1px solid var(--line);background:var(--surface);font-variant-numeric:tabular-nums;min-height:clamp(52px,8.5dvh,68px);box-shadow:0 1px 0 var(--line);border-radius:16px;font-size:1.6rem;font-weight:600}.numpad button:active{background:var(--surface-2);transform:scale(.97)}.numpad button.enter{background:var(--accent);color:var(--accent-ink);border-color:#0000}.numpad button:disabled{opacity:.4}.panel{flex-direction:column;flex:1;justify-content:center;gap:14px;padding:8px 0;display:flex;overflow-y:auto}.panel .kicker{letter-spacing:.06em;text-transform:uppercase;color:var(--accent-text);font-size:.85rem;font-weight:700}.panel .fact{font-variant-numeric:tabular-nums;font-size:clamp(2.2rem,11vw,3.2rem);font-weight:700}.strategy-text{font-size:1.12rem;line-height:1.5}.sheet-backdrop{z-index:20;background:#00000059;justify-content:center;align-items:flex-end;animation:.15s fade;display:flex;position:fixed;inset:0}.sheet{background:var(--surface);width:100%;max-width:520px;max-height:85dvh;padding:20px 16px max(20px, env(safe-area-inset-bottom));border-radius:22px 22px 0 0;flex-direction:column;gap:14px;animation:.2s rise;display:flex;overflow-y:auto}@media (width>=700px){.sheet-backdrop{align-items:center;padding:24px}.sheet{border-radius:22px;max-height:calc(100dvh - 48px);padding-bottom:20px}}@keyframes fade{0%{opacity:0}}@keyframes rise{0%{opacity:.6;transform:translateY(30px)}}.big-number{font-variant-numeric:tabular-nums;font-size:2.4rem;font-weight:700;line-height:1}.feelings{grid-template-columns:repeat(3,1fr);gap:10px;display:grid}.feelings button{border-radius:var(--radius);border:1px solid var(--line);background:var(--surface);flex-direction:column;justify-content:center;align-items:center;gap:4px;min-height:84px;font-size:.9rem;font-weight:600;display:flex}.feelings button span{font-size:2rem}.feelings button[aria-pressed=true]{border-color:var(--accent);background:var(--accent-soft)}.avatar-grid{grid-template-columns:repeat(6,minmax(0,1fr));gap:8px;display:grid}.avatar-grid button{aspect-ratio:1;background:var(--surface-2);border:2px solid #0000;border-radius:14px;min-width:0;padding:0;font-size:1.7rem}.avatar-grid button[aria-pressed=true]{border-color:var(--accent);background:var(--accent-soft)}.swatches{flex-wrap:wrap;gap:12px;display:flex}.swatches button{border:3px solid var(--surface);width:48px;height:48px;box-shadow:0 0 0 2px var(--line);border-radius:50%}.swatches button[aria-pressed=true]{box-shadow:0 0 0 3px var(--ink)}.parent{max-width:980px;padding:max(16px, env(safe-area-inset-top)) 16px 40px;flex-direction:column;gap:16px;margin:0 auto;display:flex}.parent-header{justify-content:space-between;align-items:center;gap:12px;min-height:48px;display:flex}.parent-header h1{font-size:1.35rem}.grid-2{grid-template-columns:1fr;gap:16px;display:grid}@media (width>=760px){.grid-2{grid-template-columns:1fr 1fr}}.tiles{grid-template-columns:repeat(2,1fr);gap:12px;display:grid}@media (width>=760px){.tiles{grid-template-columns:repeat(4,1fr)}}.child-card{text-align:start;cursor:pointer;align-items:center;gap:14px;width:100%;display:flex}.list{flex-direction:column;display:flex}.list>*{border-bottom:1px solid var(--line);padding:10px 0}.list>:last-child{border-bottom:none}.code-display{letter-spacing:.18em;font-variant-numeric:tabular-nums;text-align:center;border-radius:var(--radius-sm);background:var(--accent-soft);color:var(--accent-text);padding:12px;font-size:2.6rem;font-weight:700}.segmented{flex-wrap:wrap;gap:6px;display:flex}.chart{width:100%;height:auto;display:block}.chart text{fill:var(--ink-3);font-size:11px;font-family:var(--font)}.chart .bar{fill:var(--accent)}.chart .bar-empty{fill:var(--surface-2)}.chart .grid-line{stroke:var(--line);stroke-width:1px}.chart .line{fill:none;stroke:var(--accent);stroke-width:2px}.chart .pt{fill:var(--accent);stroke:var(--surface);stroke-width:2px}.chart .val{fill:var(--ink-2);font-weight:600}.emoji-row{flex-wrap:wrap;gap:6px;font-size:1.5rem;display:flex}.pill{background:var(--surface-2);color:var(--ink-2);border-radius:999px;padding:2px 10px;font-size:.8rem;font-weight:600;display:inline-block}.pill.warm{background:var(--warm-soft);color:var(--warm)}.pill.good{background:var(--good-soft);color:var(--good)}table.simple{border-collapse:collapse;width:100%;font-size:.92rem}table.simple td,table.simple th{text-align:start;border-bottom:1px solid var(--line);font-variant-numeric:tabular-nums;padding:8px 4px}table.simple th{color:var(--ink-3);font-size:.8rem;font-weight:600}@media (prefers-reduced-motion:reduce){*,:before,:after{transition:none!important;animation:none!important}}.guide{flex-direction:column;flex:1;gap:10px;min-height:0;display:flex}.guide-head{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:12px;display:flex}.guide-head .kicker{letter-spacing:.06em;text-transform:uppercase;color:var(--accent-text);font-size:.85rem;font-weight:700}.guide-fact{font-size:1.6rem;font-weight:700}.guide-body{flex-direction:column;flex:1;gap:12px;min-height:0;padding-bottom:4px;display:flex;overflow-y:auto}.guide-list{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.guide-list li{border-inline-start:3px solid var(--line);flex-direction:column;gap:2px;padding-inline-start:12px;font-size:.95rem;display:flex}.guide-list li.done{border-color:var(--good)}.guide-list li strong{font-size:1.05rem}.guide-step{border-radius:var(--radius);background:var(--surface);border:1px solid var(--line);flex-direction:column;gap:12px;padding:14px;display:flex}.guide-text{font-size:1.15rem;line-height:1.45}.guide-expr{text-align:center;white-space:nowrap;font-size:2rem;font-weight:700}.guide-input{border-bottom:4px solid var(--accent);min-width:2.4ch;color:var(--accent-text);padding:0 .2em;display:inline-block}.guide-input.good{border-color:var(--good);color:var(--good)}.guide-note{border-radius:var(--radius-sm);background:var(--warm-soft);color:var(--ink);padding:10px 12px;font-size:.98rem}.numpad.compact{gap:6px;padding-top:4px}.numpad.compact button{border-radius:14px;min-height:clamp(44px,6.5dvh,56px);font-size:1.4rem}.guide-done-row{flex-wrap:wrap;gap:6px;display:flex}.guide-done-row .pill{padding:4px 10px;font-size:.95rem}.bar-model{flex:none;justify-content:center;gap:4px;width:100%;display:flex}.bar-model .seg{font-variant-numeric:tabular-nums;background:var(--accent);min-width:0;height:40px;color:var(--accent-ink);border-radius:8px;flex:0 46px;place-items:center;font-size:1.05rem;font-weight:700;transition:background-color .9s,color .9s,opacity .9s,transform .9s;display:grid;position:relative}.bar-model.compact .seg{flex-basis:34px;height:30px;font-size:.9rem}.bar-model .seg-b{background:var(--lv1);color:var(--lv-ink)}.bar-model .seg-faded{background:var(--surface-2);color:var(--ink-3);transform:scale(.9)}.bar-model .seg-removed{color:var(--ink-3);outline:2px dashed var(--ink-3);outline-offset:-2px;background:0 0}.bar-model .seg-removed:after{content:"";background:var(--ink-2);border-radius:2px;height:3px;animation:1s .4s both strike;position:absolute;inset:50% 6px auto;transform:rotate(-35deg)scaleX(1)}.bar-model .seg.enter{animation:seg-in .84s cubic-bezier(.3, 1.4, .5, 1) var(--d) both}@keyframes seg-in{0%{opacity:0;transform:translateY(-14px)scale(.4)}}@keyframes strike{0%{transform:rotate(-35deg)scaleX(0)}}.swap{vertical-align:baseline;display:inline-grid}.swap>span{text-align:center;grid-area:1/1}.swap-old{color:var(--ink-3);animation:1s 1s both swap-out}.swap-new{color:var(--accent-text);animation:1s cubic-bezier(.3,1.4,.5,1) 1.7s both swap-in}@keyframes swap-out{to{opacity:0;transform:translateY(-.7em)scale(.6)}}@keyframes swap-in{0%{opacity:0;transform:translateY(.7em)scale(.6)}}.answer-box.good,.guide-input.good{animation:.35s correct-pop}@keyframes correct-pop{40%{transform:scale(1.18)}}.trick{flex-direction:column;align-items:center;gap:10px;width:100%;padding:8px 0 4px;display:flex}.trick-row{--slot:.72em;font-size:min(3.4rem, calc((min(100vw, 480px) - 72px) / (var(--slots) * .72)));font-variant-numeric:tabular-nums;width:calc(var(--slots) * var(--slot));height:calc((1 + var(--above) + var(--below)) * 1.1em);font-weight:700;position:relative}.trick-token{left:0;top:calc(var(--above) * 1.1em);width:var(--slot);text-align:center;transform:translate(calc(var(--x) * var(--slot)), calc(var(--y) * 1.1em)) scale(var(--s));line-height:1.1;transition:transform 1.2s cubic-bezier(.4,0,.2,1),opacity .8s,color .2s;position:absolute}.trick-token.sym{color:var(--ink-3);font-weight:500}.trick-token.lit{color:var(--accent-text)}.trick-caption{text-align:center;text-wrap:balance;min-height:2.9em;font-size:1.12rem;font-weight:600}.playback-btn{min-width:10.5em}@media (width<=480px){.card.map-card{padding:10px}}.turnaround{flex-direction:column;align-items:center;gap:10px;width:100%;padding:8px 0 4px;display:flex}.turnaround-stage{place-items:center;display:grid}.turnaround-grid{gap:3px;transition:transform 2.4s cubic-bezier(.45,0,.25,1);display:grid}.turnaround-grid.turned{transform:rotate(90deg)}.turnaround-grid span{background:var(--accent);border-radius:4px}.turnaround-caption{text-align:center;min-height:1.5em;font-size:1.15rem;font-weight:600}.turnaround-eq{text-align:center;min-height:1.3em;font-size:1.6rem;font-weight:700}.answer-box{display:inline-block}.question-missing{justify-content:center;align-items:baseline;font-size:clamp(2.3rem,11.5vw,4rem);display:flex}.question-missing .answer-box{min-width:1.5ch;min-height:1.2em;padding:0 .15em;font-size:1em;line-height:1.15}.icon-btn-sm{vertical-align:middle;width:36px;height:36px;margin-inline-start:6px;font-size:1.05rem}.pairs-grid{grid-template-columns:repeat(3,1fr);gap:10px;display:grid}.pair-card{border-radius:var(--radius-sm);border:2px solid var(--line);background:var(--surface);font-variant-numeric:tabular-nums;white-space:nowrap;min-height:72px;font-size:1.35rem;font-weight:700;transition:background .4s,border-color .2s,opacity .6s,transform .2s}.pair-card.product{background:var(--accent-soft);color:var(--accent-text);border-color:#0000}.pair-card.selected{border-color:var(--accent);transform:scale(1.04)}.pair-card.matched{background:var(--good-soft);color:var(--good);opacity:.75;border-color:#0000;animation:.6s pair-pop}@keyframes pair-pop{40%{transform:scale(1.07)}}.pair-card.matched:before{content:"✓ "}.pair-card.nope{animation:.8s wiggle}@keyframes wiggle{20%{transform:translate(-4px)}40%{transform:translate(4px)}60%{transform:translate(-3px)}80%{transform:translate(2px)}}.row-picker{grid-template-columns:repeat(3,1fr);gap:10px;display:grid}.row-choice{border-radius:var(--radius-sm);border:1px solid var(--line);background:var(--surface);flex-direction:column;justify-content:center;align-items:center;gap:8px;min-height:76px;font-size:1.5rem;font-weight:700;display:flex}.row-choice-bar{background:var(--lv0);border-radius:999px;width:60%;height:6px;overflow:hidden}.row-choice-bar i{background:var(--lv4);height:100%;display:block}.row-tiles{gap:6px;padding:6px 0;display:grid}.row-tile{aspect-ratio:1/1.05;background:var(--lv0);border-radius:10px;flex-direction:column;justify-content:center;align-items:center;gap:2px;transition:background .5s;display:flex;position:relative}.row-tile small{color:var(--ink-3);font-size:.72rem;font-weight:600}.row-tile strong{min-height:1.1em;font-size:1.15rem;line-height:1.1}.row-tile.current{outline:3px solid var(--accent);outline-offset:-1px}.row-tile.filled{background:var(--lv3);color:var(--lv-ink)}.row-tile.filled small{color:var(--lv-ink);opacity:.7}.row-tile.pop{animation:.6s pop}.row-tiles.pattern .row-tile{animation:row-light 1.4s ease calc(var(--i) * 1.4s) 1 both}.row-plus{background:var(--accent);color:var(--accent-ink);animation:fade-in .6s ease calc(var(--i) * 1.4s) both;border-radius:999px;padding:1px 5px;font-size:.72rem;font-style:normal;font-weight:700;position:absolute;inset-block-start:-8px;inset-inline-start:-6px}@keyframes row-light{0%{background:var(--lv3)}40%{background:var(--lv5);color:var(--lv5-ink);transform:scale(1.08)}to{background:var(--lv4)}}@keyframes fade-in{0%{opacity:0;transform:translateY(4px)}}.question-row{font-size:clamp(2.6rem,14vw,4rem)}.lesson-step{align-items:center}.lesson-step .guide-text{align-self:stretch}.lesson-count{color:var(--ink-2);font-size:1.3rem;font-weight:600}.lp-groups{flex-wrap:wrap;justify-content:center;gap:10px;display:flex}.lp-plate{background:var(--surface-2);border:3px solid var(--line);grid-template-columns:repeat(var(--cols), auto);border-radius:50%;place-content:center;gap:0 2px;width:100px;height:100px;font-size:1.2rem;line-height:1.15;display:grid}.lp-plate.enter{animation:seg-in 1.4s cubic-bezier(.3, 1.4, .5, 1) var(--d) both}.lp-array-stage{place-items:center;min-height:140px;display:grid}.lp-array{gap:5px;transition:transform 2.4s cubic-bezier(.45,0,.25,1);display:grid}.lp-array.turned{transform:rotate(90deg)}.lp-array span{background:var(--accent);border-radius:6px;width:30px;height:30px}.lp-array span.enter{animation:seg-in 1.2s cubic-bezier(.3, 1.4, .5, 1) var(--d) both}.lp-line{width:100%;max-width:340px;height:auto;overflow:visible}.lp-axis,.lp-tick{stroke:var(--ink-3);stroke-width:2px;stroke-linecap:round}.lp-label{fill:var(--ink);text-anchor:middle;font-size:15px;font-weight:700;font-family:var(--font)}.lp-label.unknown{fill:var(--accent-text)}.lp-hop{fill:none;stroke:var(--accent);stroke-width:3px;stroke-linecap:round}.lp-hop.new{stroke-dasharray:1;stroke-dashoffset:1px;animation:1.8s .3s forwards draw-hop}.lp-hop-label{fill:var(--accent-text);text-anchor:middle;font-size:13px;font-weight:700;font-family:var(--font)}.lp-dot{fill:var(--accent)}.lp-dot.new,.lp-label.unknown{animation:.6s 2s both fade-in}@keyframes draw-hop{to{stroke-dashoffset:0}}.lesson-path{flex-wrap:wrap;gap:8px;margin:0;padding:0;list-style:none;display:flex}.lesson-path .chip.done{background:var(--good-soft);color:var(--good);border-color:#0000;font-weight:600}.lesson-path .chip:disabled{opacity:.5}[dir=rtl] .flip-rtl{display:inline-block;transform:scaleX(-1)}[dir=rtl] .kicker,[dir=rtl] .guide-head .kicker,[dir=rtl] .panel .kicker{letter-spacing:0;text-transform:none}.question-words{white-space:normal;text-wrap:balance;letter-spacing:0;text-align:center;font-size:clamp(2rem,10vw,3rem);font-weight:700;line-height:1.3}.words-show{flex-direction:column;align-items:center;gap:10px;width:100%;padding:8px 0 4px;display:flex}.words-digits{gap:.08em;font-size:4rem;font-weight:700;line-height:1.1;display:flex}.words-digits span{color:var(--ink-3);transition:color .8s,transform .8s}.words-digits span.said{color:var(--ink)}.words-digits span.lit{color:var(--accent-text);transform:translateY(-.08em)scale(1.12)}.words-row{gap:.35em;min-height:1.5em;margin:0;font-size:1.9rem;font-weight:700;display:flex}.words-row span{opacity:0;transition:opacity 1s,transform 1s,color .6s;transform:translateY(.4em)}.words-row span.in{opacity:1;transform:none}.words-row span.lit{color:var(--accent-text)}.answer-words{color:var(--good);min-height:1.4em;font-size:1.5rem;font-weight:700}.voice-summary{cursor:pointer;padding:8px 0;font-weight:600}.voice-list{flex-direction:column;margin:8px 0 0;padding:0;list-style:none;display:flex}.voice-list li{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:8px;padding:6px 0;display:flex}.voice-label{align-items:baseline;gap:10px;font-size:1.05rem;display:flex}.voice-label strong{min-width:2.2em}.btn-small{border-radius:10px;min-height:38px;padding:6px 12px;font-size:.9rem}.door-brand{text-align:center;align-items:center;gap:8px;margin:24px 0 8px}.age-grid{grid-template-columns:repeat(4,1fr);gap:10px;display:grid}.age-grid .btn{min-height:64px;padding:8px 4px;font-size:1.4rem}.age-grid .btn[aria-pressed=true]{background:var(--accent);color:#fff}.turnstile{justify-content:center;display:flex}.turnstile:empty{display:none}.swatch{vertical-align:-2px;border:1px solid #0000000f;border-radius:4px;flex:none;width:14px;height:14px;margin-inline-end:8px;display:inline-block}.help ul,.help-keys{flex-direction:column;gap:6px;margin:0;padding-inline-start:20px;display:flex}.help li,.help-keys li{line-height:1.5}.help-keys{gap:12px;padding:0;list-style:none}.help-keys li{align-items:flex-start;display:flex}.help-keys .swatch{margin-top:4px}.help-contents{flex-wrap:wrap;gap:8px;display:flex}.help-contents a{background:var(--surface-2);color:var(--ink-2);border-radius:999px;padding:6px 12px;font-size:.85rem;font-weight:600;text-decoration:none}.help section{scroll-margin-top:12px}.info-btn{color:var(--ink-3);margin-inline-start:0}.help-keys strong.block{display:block}.help .sum{white-space:nowrap;unicode-bidi:isolate}.install-steps{counter-reset:step;flex-direction:column;gap:14px;margin:0;padding:0;list-style:none;display:flex}.install-steps li{counter-increment:step;align-items:flex-start;gap:12px;line-height:1.5;display:flex}.install-steps li:before{content:counter(step);width:24px;color:var(--ink-3);text-align:center;flex:none;padding-top:8px;font-weight:700}.step-icon{background:var(--accent-soft);width:40px;height:40px;color:var(--accent-text);border-radius:12px;flex:none;place-items:center;display:inline-grid}.install-steps li>span:last-child{padding-top:7px}
