.first-stage{max-width:1050px;margin:32px auto 56px}.stage-header{display:flex;align-items:flex-start;justify-content:space-between;gap:24px;margin-bottom:28px}.stage-header h1{font-size:var(--fs-h1);font-weight:700;line-height:var(--lh-tight);margin:12px 0;letter-spacing:-.7px}.stage-header p{line-height:1.8;color:var(--muted)}.stage-tools{display:flex;justify-content:space-between;align-items:end;gap:24px;margin-block:24px}.stage-tools label{display:grid;gap:8px;width:min(100%,600px);font-size:var(--fs-small)}.stage-tools>a{font-size:var(--fs-small);padding:10px 0;min-height:44px}.stage-card{padding:clamp(20px,4vw,40px);border:1px solid var(--line);border-radius:var(--r-card);background:var(--paper)}.stage-card :is(h1,h2){font-size:var(--fs-h1);font-weight:700;line-height:var(--lh-tight);margin:14px 0 22px;overflow-wrap:anywhere;-webkit-hyphens:auto;hyphens:auto}.stage-card :is(h1,h2):focus{outline:none}.stage-card :is(h1,h2) .stage-heading-qualifier{display:block;margin-top:8px;color:var(--muted);font-size:var(--fs-h3);font-weight:400;letter-spacing:normal}.stage-card h1 .term-badge{margin-left:.4rem;padding:.15rem .55rem;color:var(--muted);font-size:var(--fs-caption);letter-spacing:normal;vertical-align:middle}.stage-card .stage-subtitle{margin:-12px 0 22px;font-size:var(--fs-body)}.stage-card .stage-role{margin:-12px 0 22px;font-size:var(--fs-small)}.stage-card .stage-description{margin:-8px 0 24px;font-size:var(--fs-h3);max-width:62ch}.stage-card h3,.stage-card h2.stage-section-title{font-size:var(--fs-h3);font-weight:700;line-height:1.4;margin:20px 0 12px}.stage-card p{line-height:1.85}.stage-definition{font-size:var(--fs-h3)}.stage-card .definition-image{display:block;width:100%;height:auto;object-fit:contain;margin:24px 0;border-radius:var(--r-card)}.stage-word{display:inline;background:transparent;border:0;border-bottom:1px dashed var(--green);border-radius:var(--r-xs);padding:6px 1px;color:inherit;font:inherit;line-height:2.5;cursor:pointer;min-height:44px}.stage-word:hover{background:color-mix(in srgb,var(--green) 12%,transparent)}.stage-word:focus-visible,.stage-preparation button:focus-visible{outline:2px solid var(--green);outline-offset:3px}.stage-preparation{padding:20px;border:1px solid var(--line);background:color-mix(in srgb,var(--green) 5%,var(--paper));border-radius:var(--r-card)}.stage-preparation-list{display:flex;flex-wrap:wrap;gap:8px;padding-block:12px}.first-stage .grammar-term,.stage-return{display:inline-flex;align-items:center;justify-content:space-between;gap:10px;min-height:46px;padding:10px 14px;border:1px solid var(--line);border-radius:var(--r-control);background:var(--paper);color:var(--ink);text-align:left;font-size:var(--fs-small)}.first-stage .grammar-term:hover,.stage-return:hover{background:color-mix(in srgb,var(--green) 10%,var(--paper))}.stage-return{margin-bottom:24px;font-weight:600}.stage-header>a{flex-shrink:0}.stage-count{text-align:center}.stage-count strong{font-size:var(--fs-h2);line-height:var(--lh-tight)}.stage-practice{margin-top:24px;padding-top:18px;border-top:1px solid var(--line)}.stage-practice .support-mark,.stage-practice .next-button{width:100%;max-width:none}.stage-practice .next-button{position:static}.stage-practice .muted,.stage-boundary,.stage-save{font-size:var(--fs-small)}.stage-save{margin-block:18px}.stage-save:empty{margin:0}.stage-save svg{display:inline;vertical-align:-.15em;margin-inline-end:.4em}.stage-card .stage-explanation-label{display:table;max-width:100%;margin:20px 0 10px;padding:3px 9px;border:1px solid var(--line);border-radius:var(--r-xs);color:var(--muted);font-size:var(--fs-caption);font-weight:400}.stage-boundary{color:var(--muted);margin-top:24px}.stage-index{border:1px solid var(--line);border-radius:var(--r-card);margin-top:18px;padding:10px 18px}.stage-index summary,.stage-grounding summary{cursor:pointer;min-height:46px;align-content:center}.stage-course-pickers{display:flex;flex-wrap:wrap;align-items:end;gap:16px;margin-block:24px}.stage-course-pickers>label{display:grid;gap:8px;font-size:var(--fs-small)}.stage-grade-picker{flex:0 0 180px}.stage-wave-picker{flex:1 1 320px;max-width:600px}.stage-grade-start{margin:-8px 0 24px;padding:0 18px;border:1px solid var(--line);border-radius:var(--r-card);background:color-mix(in srgb,var(--green) 5%,var(--paper))}.stage-grade-start summary{cursor:pointer;min-height:46px;align-content:center}.stage-grade-start[open]{padding-bottom:8px}.stage-grade-start p{margin:0}.stage-grade-start ul{display:flex;flex-wrap:wrap;gap:0 20px;margin:4px 0 0;padding:0;list-style:none}.stage-grade-start a{display:inline-flex;align-items:center;min-height:44px}.wave-sentence-roles{margin:1.5rem 0;padding:1rem;border:1px solid var(--line);border-radius:1rem}.wave-sentence-roles figcaption{font-size:var(--fs-small);color:var(--muted);font-weight:400}.wave-sentence-roles>p{font-size:var(--fs-h3);line-height:2.4}.wave-role-word{font:inherit;color:inherit;background:transparent;border:0;padding:.15rem .1rem;min-height:44px}button.wave-role-word{cursor:pointer}.wave-role-word--subject{text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:.25em}.wave-role-word--predicate{text-decoration:underline double;text-underline-offset:.25em}.wave-role-word--main{text-decoration:underline;text-underline-offset:.25em}.sentence-unit.wave-phrase-unit{white-space:normal}.wave-role-word--phrase{text-decoration:underline dotted;text-underline-offset:.25em;-webkit-box-decoration-break:clone;box-decoration-break:clone}.wave-sentence-roles dl{display:grid;gap:.5rem;margin:0}.wave-sentence-roles dl>div{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.4fr);gap:1rem;align-items:center}.wave-sentence-roles dd{margin:0;font-size:var(--fs-small);color:var(--muted)}.wave-sentence-roles dd button{min-height:44px;text-align:left}.wave-symbol-demo{margin:1.5rem 0;padding:1rem;border:1px solid var(--line);border-radius:1rem}.wave-symbol-demo figcaption{color:var(--muted);font-size:var(--fs-small)}.wave-letter-names{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,9rem),1fr));gap:.75rem;margin-top:1rem}.wave-letter-names .wave-letter-pair{min-width:0}.wave-syllables{display:flex;flex-wrap:wrap;gap:.5rem;list-style:none;padding:0;margin:.75rem 0}.wave-syllables li{display:flex;flex-direction:column;align-items:center;gap:.3rem;min-width:3rem;padding:.5rem .75rem;border:1px solid var(--line);border-radius:.6rem;font-size:var(--fs-h3)}.wave-syllables li.is-stressed{border-color:var(--muted);font-weight:600}.wave-syllables small{font-size:var(--fs-caption);color:var(--muted);font-weight:400}.wave-symbol-word{margin-block:1.25rem}.wave-word-meaning{font-size:var(--fs-small);margin-block:.25rem .75rem;overflow-wrap:anywhere}.wave-symbol-word dl{display:grid;gap:.75rem}.wave-symbol-word dl>div{display:grid;gap:.4rem}.wave-symbol-word dt{color:var(--muted);font-size:var(--fs-small)}.wave-symbol-word dd{margin:0}.wave-symbol-tokens{display:flex;flex-wrap:wrap;gap:.35rem}.wave-symbol-tokens span{padding:.25rem .4rem;border:1px solid var(--line);border-radius:.35rem;font-size:var(--fs-body);white-space:nowrap}.wave-letter-pair>strong{display:block;margin-top:1rem;font-size:2rem;word-spacing:.5rem}.wave-alphabet{display:grid;grid-template-columns:repeat(auto-fit,minmax(40px,1fr));gap:.4rem;list-style:none;padding:0;margin:1rem 0}.wave-alphabet li{border:1px solid var(--line);border-radius:.4rem;text-align:center;padding:.5rem;font-size:var(--fs-body)}.wave-lookup-words{padding-left:1.5rem}.wave-lookup-words button{min-height:44px}.wave-comparisons,.wave-dictionary{margin:1.5rem 0;padding:1rem;border:1px solid var(--line);border-radius:1rem}.wave-comparisons figcaption,.wave-dictionary figcaption{font-size:var(--fs-small);color:var(--muted);font-weight:400}.wave-comparisons>section{margin-top:1.25rem;padding-top:.75rem;border-top:1px solid var(--line)}.wave-comparisons>section>p.muted{font-size:var(--fs-caption);margin-bottom:.25rem}.wave-comparisons>section>p:not(.muted):not(.stage-explanation-label){margin-top:0}.wave-comparisons summary{cursor:pointer;min-height:44px;align-content:center;font-size:var(--fs-small)}.wave-dictionary-meaning{font:inherit;font-size:var(--fs-small);color:var(--muted);border:0;background:transparent;padding:.5rem .15rem;min-height:44px;text-align:left;cursor:pointer;text-decoration:underline;text-underline-offset:.2em}.wave-dictionary ol{padding-left:1.25rem}.wave-morphemes{margin:1.5rem 0;padding:1rem;border:1px solid var(--line);border-radius:1rem}.wave-morphemes figcaption{font-size:var(--fs-small);font-weight:400;color:var(--muted)}.wave-morpheme-parts{display:flex;flex-wrap:wrap;align-items:stretch;gap:.5rem}.wave-morpheme{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.4rem;padding:.6rem;border:1px solid var(--line);border-radius:.5rem;background:transparent;color:inherit;min-height:44px;font:inherit}button.wave-morpheme{cursor:pointer}.wave-morpheme strong{font-size:var(--fs-h3);font-weight:600}.wave-morpheme span{font-size:var(--fs-caption);font-weight:400;color:var(--muted)}.wave-morpheme--unlabelled{border-color:transparent}.wave-paradigms{margin:1.5rem 0;padding:1rem;border:1px solid var(--line);border-radius:1rem}.wave-paradigms figcaption{font-size:var(--fs-small);color:var(--muted);font-weight:400}.wave-paradigm-row{border-top:1px solid var(--line);margin-top:.75rem}.wave-paradigm-row h3{margin:.5rem 0;font-size:var(--fs-small);font-weight:400;line-height:inherit}.wave-paradigm-row h3 button{font:inherit;color:var(--muted);min-height:44px;text-align:left}.wave-paradigm-row dl{display:grid;gap:.4rem}.wave-paradigm-row dl>div{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);gap:.5rem;align-items:center}.wave-paradigm-row dt{font-size:var(--fs-caption);color:var(--muted);overflow-wrap:anywhere}.wave-paradigm-row dd{margin:0}.wave-paradigm-row dd button{min-height:44px;font-size:var(--fs-body);overflow-wrap:anywhere;text-align:left}.wave-role-word--attribute{text-decoration:underline wavy;text-underline-offset:.3em}.wave-role-word--object{text-decoration:underline dashed;text-underline-offset:.3em}.wave-role-word--adverbial{background-image:repeating-linear-gradient(to right,currentColor 0 10px,transparent 10px 13px,currentColor 13px 15px,transparent 15px 18px);background-position:left bottom;background-size:100% 1px;background-repeat:no-repeat;-webkit-box-decoration-break:clone;box-decoration-break:clone}.wave-text-demo p{text-indent:1.25em;line-height:1.85}.wave-text-demo h2.stage-section-title{margin-top:0}.wave-text-demo h3{font:inherit;margin:0}.wave-text-result ol{list-style:decimal;padding-inline-start:1.5rem;margin-block:.75rem}.wave-text-result li{padding-inline-start:.2rem;margin-block:.5rem}.wave-text-result li::marker{color:var(--muted);font-size:.85em}.wave-calendar{margin-block:1.5rem;padding:1rem;border:1px solid var(--line);border-radius:1rem}.wave-calendar figcaption,.wave-calendar h2 small{font-size:var(--fs-small);font-weight:400;color:var(--muted)}.wave-calendar-months,.wave-calendar-days{display:grid;gap:.25rem;margin-block:1rem}.wave-calendar-months{grid-template-columns:repeat(6,minmax(0,1fr))}.wave-calendar-days{grid-template-columns:repeat(7,minmax(0,1fr))}.wave-calendar-months button,.wave-calendar-days button{min-width:0;min-height:44px;border:1px solid var(--line);border-radius:.3rem;background:transparent;color:var(--muted);font:inherit;font-size:var(--fs-small);padding:.15rem;cursor:pointer}.wave-calendar button.is-selected{color:var(--ink);background:var(--paper);border:2px solid var(--ink);font-weight:700}.wave-calendar button:focus-visible{outline:2px solid currentColor;outline-offset:2px}.wave-quantity-row{margin-block:1.25rem}.wave-quantity-row svg{display:block;width:min(100%,240px);height:auto;fill:currentColor}.wave-quantity-row p{margin-block:.5rem 0}.wave-quantity-row .unselected{fill:none;stroke:currentColor;stroke-width:1}.wave-quantity-row .selected{fill:currentColor;stroke:currentColor;stroke-width:1}.wave-transfer-sample{margin-block:1.25rem}.wave-transfer-lines{border-inline-start:2px solid currentColor;padding-inline-start:1rem;font-size:var(--fs-h3);line-height:1.8}.wave-transfer-lines>span{display:block;white-space:pre}.first-stage .stage-preparation .grammar-term.first-next{border-color:var(--green);font-weight:600}.stage-prior{margin-top:14px}.stage-prior-panel{margin-top:8px;padding:14px;border:1px solid var(--line);border-radius:var(--r-card);background:var(--paper)}.stage-prior-panel h3{margin:0 0 8px;font-size:var(--fs-body)}.stage-prior-groups{display:grid;gap:12px;margin:0 0 14px;max-height:40vh;overflow:auto;overscroll-behavior:contain;padding:2px}.stage-prior-groups:focus-visible{outline:3px solid var(--green);outline-offset:2px}.stage-prior-groups h4,.stage-prior-status summary{margin:0 0 6px;font-size:var(--fs-small);font-weight:600}.stage-prior-status summary{box-sizing:border-box;min-height:44px;padding-block:10px;cursor:pointer}.stage-prior-status p{margin:0}.stage-prior-list{list-style:none;margin:0 0 6px;padding:0;display:grid;gap:6px}.stage-prior-list li{padding:8px 12px;border:1px solid var(--line);border-radius:var(--r-control);font-size:var(--fs-small)}.stage-prior-panel .next-button{position:static;width:100%;max-width:none;margin-bottom:8px}.wave-text-visual{margin:1.5rem 0;padding:1rem;border:1px solid var(--line);border-radius:1rem;background:var(--paper)}.wave-text-visual figcaption{color:var(--muted);font-size:var(--fs-small);font-weight:400}.wave-text-visual__sentence{margin:.5rem 0 1rem;font-size:var(--fs-body);line-height:1.9;overflow-wrap:anywhere}.wave-text-visual__part{color:inherit;background:color-mix(in srgb,var(--green) 16%,transparent);border-bottom:2px solid var(--green);border-radius:.2rem;padding:0 .1rem;box-decoration-break:clone;-webkit-box-decoration-break:clone}.wave-text-visual__board{display:flex;flex-wrap:wrap;align-items:flex-start;gap:.75rem;min-width:0;container-type:inline-size}.wave-text-visual__row{display:flex;align-items:flex-start;gap:.5rem;min-width:0;max-width:100%}.wave-text-visual__sequence{display:flex;flex-wrap:wrap;align-items:flex-start;gap:.6rem;min-width:0;max-width:100%}.wave-text-visual__stack{display:inline-flex;flex-direction:column;align-items:center;gap:.3rem;min-width:0;max-width:100%}.wave-text-visual small{font-size:var(--fs-caption);color:var(--muted);font-weight:400;line-height:1.3}.wave-text-tile{display:inline-block;max-width:100%;padding:.35rem .6rem;border:1px solid var(--line);border-radius:.6rem;background:var(--canvas);font-size:var(--fs-h3);line-height:1.3;overflow-wrap:anywhere;text-align:center}.wave-text-tile--word,.wave-text-tile--name{border-color:var(--green);font-weight:600}.wave-text-tile--record{border-width:0 0 2px;border-radius:0;background:transparent;padding-inline:.25rem}.wave-text-tile--name{border-radius:var(--r-pill)}.wave-text-tile--meaning{font-size:var(--fs-body);text-align:left}.wave-text-tile--sign{min-width:3.5rem;font-size:2.2rem;font-weight:700;border-color:var(--green)}.wave-text-tile--sound{font-size:var(--fs-body)}.wave-text-visual__link{flex:0 0 1.25rem;border-top:2px solid var(--green);margin-top:1.2rem}.wave-text-visual__arrow{margin-top:.45rem;color:var(--green);font-size:var(--fs-h3);line-height:1}@container (max-width:24rem){.wave-text-visual__row--pair{flex-direction:column;align-items:flex-start}.wave-text-visual__row--pair .wave-text-visual__stack{align-items:flex-start}.wave-text-visual__row--pair .wave-text-visual__arrow{margin:0 0 0 1rem;transform:rotate(90deg)}}.wave-text-visual__tiles{display:flex;flex-wrap:wrap;gap:.5rem;list-style:none;margin:0;padding:0;min-width:0}.wave-text-visual__tiles li{display:flex;flex-direction:column;align-items:center;gap:.3rem}.wave-text-visual__tiles li.is-focus .wave-text-tile{border:2px solid var(--green);font-weight:700}.wave-text-visual__end span{display:inline-block;padding:.4rem .2rem .4rem .6rem;border-left:3px solid var(--muted);color:var(--muted);font-size:var(--fs-body);line-height:1.3}.wave-text-visual__end.is-focus span{border-left-color:var(--green);color:var(--ink)}.wave-text-visual>p.muted{margin:.9rem 0 0;font-size:var(--fs-small)}.wave-header{margin-bottom:14px}.wave-header .wave-status{margin:0;font-size:var(--fs-small)}.wave-header .eyebrow{margin:0 0 4px}.stage-course-pickers:has(>.stage-step-picker){display:grid;grid-template-columns:150px minmax(0,1fr) minmax(0,1.35fr);align-items:stretch;gap:12px;margin-block:0 20px}.stage-course-pickers:has(>.stage-step-picker)>label{grid-template-rows:auto 1fr;min-width:0;max-width:none;gap:6px;font-size:var(--fs-small);color:var(--muted)}.stage-course-pickers:has(>.stage-step-picker) .ui-select-trigger{height:100%;color:var(--ink)}.wave-view-switch{margin:16px 0 0;font-size:var(--fs-small)}.wave-view-switch a{display:inline-flex;align-items:center;min-height:44px;text-decoration:underline;text-underline-offset:4px}@media(max-width:960px){.stage-course-pickers:has(>.stage-step-picker){grid-template-columns:136px minmax(0,1fr)}.stage-course-pickers>.stage-step-picker{grid-column:1 / -1}}@media(max-width:600px){.stage-header,.stage-tools{flex-direction:column;align-items:stretch}.stage-header>a{align-self:flex-start}.stage-preparation{padding:14px}.stage-card .publisher-example li{font-size:var(--fs-body)}main.swipe-flow:has(>.stage-card){display:flex;flex-direction:column;margin-top:10px}.swipe-flow>:is(.stage-header,.stage-tools){display:contents}.swipe-flow>.stage-header h1{font-size:var(--fs-body);line-height:1.35;letter-spacing:-.2px;margin:0}.swipe-flow>.stage-card>.eyebrow:first-child{margin-top:0}.swipe-flow>.stage-header>div>p:not(.eyebrow){display:none}:is(.swipe-flow>.stage-tools>label,.swipe-flow>.stage-course-pickers>label){width:100%;margin-block:10px 12px;font-size:0;gap:0}.swipe-flow>.stage-course-pickers{flex-wrap:nowrap;align-items:stretch;gap:8px;margin-block:10px 0}.swipe-flow>.stage-course-pickers .ui-select-trigger{height:100%}.swipe-flow>.stage-course-pickers>label{margin:0;min-width:0}.swipe-flow>.stage-course-pickers>.stage-grade-picker{flex:0 0 136px}.stage-grade-picker .ui-select-trigger{white-space:nowrap}.swipe-flow>.stage-course-pickers>.stage-wave-picker{flex:1 1 auto}.swipe-flow>.stage-grade-start{margin:0 0 10px;padding:0 12px;font-size:var(--fs-small)}:is(.swipe-flow>.stage-tools>label,.swipe-flow>.stage-course-pickers>label)>*{font-size:var(--fs-body)}.swipe-flow>.stage-header>a,.swipe-flow>.stage-tools>a{order:1;align-self:flex-start}.swipe-flow>.stage-tools>a{margin-top:8px}.swipe-flow>.stage-index{order:2}.swipe-flow>.stage-card{margin-top:0}.first-stage:has(>.practice-dock){padding-bottom:180px}.stage-practice>:is(.support-mark,.undo-button,.next-button){display:none}.practice-dock .support-mark{position:static;flex:1;width:auto;min-height:56px;padding:8px 12px;gap:6px;border-radius:var(--r-card);box-shadow:none}.practice-dock .support-mark>span:first-child{justify-content:flex-start;gap:8px;font-size:var(--fs-body);white-space:nowrap}.practice-dock .support-mark svg{width:22px;height:22px}.practice-dock .support-bar-row{gap:10px}.swipe-flow>.stage-course-pickers:has(>.stage-step-picker){display:grid;gap:8px;margin-block:0 10px}.swipe-flow>.stage-course-pickers:has(>.stage-step-picker)>label{font-size:0;gap:0}.swipe-flow>.stage-course-pickers :is(.stage-grade-picker,.stage-wave-picker,.stage-step-picker) .ui-select-trigger>span:first-child{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.swipe-flow>.stage-course-pickers :is(.stage-wave-picker,.stage-step-picker) .ui-select-trigger .menu-label{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.swipe-flow>.stage-course-pickers .stage-step-picker .ui-select-trigger .menu-label-description{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.swipe-flow>.wave-view-switch{order:1;margin-top:8px}}@media(max-width:360px){.swipe-flow>.stage-course-pickers:has(>.stage-step-picker){grid-template-columns:112px minmax(0,1fr)}.swipe-flow>.stage-course-pickers .stage-grade-picker .ui-select-trigger{gap:6px;padding-inline:12px}}.word-comparisons{margin:28px 0;border-block:1px solid var(--line);padding:18px 0;line-height:1.75}.word-comparisons summary{cursor:pointer;font-weight:700;font-size:var(--fs-body)}.word-comparisons-intro,.word-comparisons-task{color:var(--muted);font-size:var(--fs-small)}.word-comparisons h3{font-size:var(--fs-h3);margin:6px 0 12px;font-weight:700}.word-comparisons section{margin-top:24px}.word-comparisons section>p{font-size:var(--fs-body);margin:12px 0}.word-comparisons ol{padding:0;margin:20px 0;list-style:none}.word-comparisons li{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:18px;border-top:1px solid var(--line);padding:16px 0}.word-comparisons li p{margin:0;font-size:var(--fs-body)}.word-comparisons li span{display:block;color:var(--muted);font-size:var(--fs-caption);margin-bottom:5px}@media(max-width:600px){.word-comparisons li{grid-template-columns:1fr;gap:12px}}.ui-select-trigger{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;min-width:0;min-height:48px;padding:11px 14px;border:1px solid var(--line);border-radius:var(--r-control);background:var(--paper);color:var(--ink);font:inherit;font-size:var(--fs-small);font-weight:500;text-align:left;box-shadow:0 1px 2px var(--shade-black-xs);cursor:pointer}.ui-select-trigger>span:first-child{min-width:0;flex:1;white-space:normal}.ui-select-trigger .menu-label,.ui-select-item .menu-label{display:flex;width:100%}.ui-select-trigger .menu-label-description,.ui-select-item .menu-label-description{font-size:var(--fs-caption)}.ui-select-item>span:first-child{min-width:0;flex:1}.ui-select-trigger svg{flex-shrink:0;color:var(--muted)}.ui-select-trigger:hover{border-color:var(--green)}.ui-select-trigger:focus-visible,.ui-select-trigger[data-state=open]{outline:3px solid color-mix(in srgb,var(--green) 30%,transparent);outline-offset:2px;border-color:var(--green)}.ui-select-trigger:disabled{opacity:.5;cursor:not-allowed}.ui-select-content{z-index:1000;width:var(--radix-select-trigger-width);max-width:calc(100vw - 24px);max-height:min(360px,var(--radix-select-content-available-height));overflow:hidden;border:1px solid var(--line);border-radius:var(--r-card);background:var(--paper);color:var(--ink);box-shadow:0 8px 28px var(--shade-black-md);font-family:inherit}.ui-select-viewport{padding:5px}.ui-select-item{position:relative;display:flex;align-items:center;min-height:44px;padding:10px 34px 10px 12px;border-radius:var(--r-control);font-size:var(--fs-small);cursor:default;outline:none;overflow-wrap:anywhere;-webkit-user-select:none;user-select:none}.ui-select-item[data-highlighted]{background:color-mix(in srgb,var(--green) 14%,var(--paper));color:var(--ink)}.ui-select-item[data-state=checked] .menu-label-word{font-weight:700}.ui-select-item[data-disabled]{opacity:.45;pointer-events:none}.ui-select-indicator{position:absolute;right:10px;display:flex;color:var(--green)}.ui-select-scroll{display:flex;align-items:center;justify-content:center;height:24px;color:var(--muted);background:var(--paper)}.language-selector .ui-select-trigger{max-width:28rem}.review-foundation-filter .ui-select-trigger{font-size:var(--fs-small)}.ui-search-select{width:var(--radix-popover-trigger-width);max-height:min(400px,var(--radix-popover-content-available-height))}.ui-search-select [cmdk-root]{display:flex;flex-direction:column;max-height:inherit}.ui-select-search{display:flex;align-items:center;gap:8px;padding:4px 8px 4px 12px;border-bottom:1px solid var(--line);color:var(--muted);flex-shrink:0}.ui-select-search>svg{flex-shrink:0}.ui-select-search input{width:100%;min-width:0;min-height:44px;padding:8px 0;border:0;border-radius:0;background:transparent;color:var(--ink);font:inherit;font-size:var(--fs-body);outline:none;box-shadow:none}.ui-select-search input::placeholder{color:var(--muted);opacity:1}.ui-select-search input:focus-visible{outline:none;box-shadow:none}:root[data-theme] .ui-select-search input{background:transparent;border:0}.ui-select-search:focus-within{box-shadow:inset 0 -2px var(--green)}.ui-select-search button{display:grid;place-items:center;flex-shrink:0;width:44px;height:44px;padding:0;border:0;border-radius:var(--r-xs);background:transparent;color:var(--muted);cursor:pointer}.ui-select-search button:focus-visible{outline:2px solid var(--green);outline-offset:-2px}.ui-search-select-list{min-height:0;overflow-y:auto;overscroll-behavior:contain;padding:5px;scroll-padding-block:5px}.ui-search-select .ui-select-item[data-selected=true]{background:color-mix(in srgb,var(--green) 14%,var(--paper));color:var(--ink)}.ui-search-select .ui-select-item[data-current=true] .menu-label-word{font-weight:700}.ui-search-select .ui-select-item[data-disabled=true]{opacity:.45;pointer-events:none}.ui-search-select .ui-select-item[data-disabled=false]{opacity:1;pointer-events:auto}.ui-select-sr{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}.ui-select-empty{margin:0;padding:18px 12px;font-size:var(--fs-small);color:var(--muted)}.account-form input:not([type=radio]):not([type=checkbox]),.review-search input{background:var(--paper);border:1px solid var(--line);border-radius:var(--r-control);box-shadow:0 1px 2px var(--shade-black-xs);transition:border-color .12s}.account-form input:focus-visible,.review-search input:focus-visible{border-color:var(--green);outline:3px solid color-mix(in srgb,var(--green) 30%,transparent);outline-offset:2px}.account-form input:is([type=checkbox],[type=radio]){-webkit-appearance:none;-moz-appearance:none;appearance:none;padding:0;width:20px;height:20px;min-height:20px;border:1px solid var(--line);border-radius:var(--r-xs);background:var(--paper);cursor:pointer}.account-form input[type=radio]{border-radius:50%}.account-form input:checked{background:var(--green);border-color:var(--green)}.account-form input[type=checkbox]:checked{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cpath fill='none' stroke='white' stroke-width='2.4' d='m4 10 4 4 8-8'/%3E%3C/svg%3E")}.account-form input[type=radio]:checked{box-shadow:inset 0 0 0 4px var(--paper)}.review-page{padding:28px 0 40px}.review-banner{padding:0 0 16px;border-bottom:1px solid var(--line)}.review-banner-bar{display:flex;justify-content:space-between;align-items:center;gap:16px}.review-banner h1{font-size:var(--fs-h1);font-weight:700;letter-spacing:-.8px;line-height:var(--lh-tight);margin:0}.review-banner-note{display:flex;align-items:center;gap:7px;color:var(--muted);font-size:var(--fs-small);margin:6px 0 0}.review-banner-note svg{flex-shrink:0}.review-return{display:inline-flex;align-items:center;gap:6px;flex-shrink:0;min-height:44px;padding:0 14px;border:1px solid var(--line);border-radius:var(--r-control);background:transparent;color:var(--ink);font-size:var(--fs-small);font-weight:700;white-space:nowrap}.review-return:hover{border-color:var(--ink);background:color-mix(in srgb,var(--ink) 6%,transparent)}.review-modules{margin-top:14px}.review-modules>summary{display:inline-flex;align-items:center;gap:6px;min-height:44px;cursor:pointer;list-style:none;color:var(--ink);font-size:var(--fs-small);font-weight:700}.review-modules>summary::-webkit-details-marker{display:none}.review-modules>summary svg{transition:transform .15s}.review-modules[open]>summary svg{transform:rotate(180deg)}.review-module-links{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:8px 40px;max-width:760px;padding:6px 0 4px}.review-module-group h2{margin:0 0 4px;color:var(--muted);font-size:var(--fs-caption);font-weight:700;letter-spacing:.4px;text-transform:uppercase}.review-module-group ul{list-style:none;margin:0;padding:0}.review-module-group li+li{border-top:1px solid var(--line)}.review-module-group a{display:flex;align-items:center;min-height:44px;color:var(--ink);font-size:var(--fs-body);text-decoration:none}.review-module-group a:hover{text-decoration:underline;text-underline-offset:4px}@media(prefers-reduced-motion:reduce){.review-modules>summary svg{transition:none}}.review-layout{display:grid;grid-template-columns:228px minmax(0,1fr);gap:34px;padding-top:28px;align-items:start}.review-sidebar{padding:2px 8px 12px 2px}.review-picker-toggle{display:none}.review-sections{display:grid;gap:5px;margin-bottom:18px}.review-sections button{border:1px solid var(--line);border-radius:var(--r-control);padding:11px 10px;min-height:44px;background:transparent;text-align:left;display:flex;justify-content:space-between;gap:8px;font-size:var(--fs-caption)}.review-sections button[aria-pressed=true]{background:var(--ink);color:var(--paper);border-color:var(--ink)}.review-search{display:flex;gap:8px;align-items:center;min-height:46px;padding:0 12px;border:1px solid var(--search-border);border-radius:var(--r-control);background:var(--surface-2);color:var(--muted);margin-bottom:14px}.review-search:focus-within{outline:2px solid var(--focus-color);outline-offset:2px}.review-search svg{flex-shrink:0}.review-search input,:root[data-theme=dark] .review-search input{width:100%;min-width:0;background:transparent;border:0;border-radius:0;padding:10px 0;font:inherit;font-size:var(--fs-small);color:var(--ink);outline:none;box-shadow:none;-webkit-appearance:none;-moz-appearance:none;appearance:none}.review-search input::placeholder{color:var(--muted);opacity:1}.review-word-list{display:grid;grid-template-columns:1fr 1fr;gap:6px}.review-word{display:flex;align-items:center;justify-content:space-between;gap:5px;border:1px solid transparent;border-radius:var(--r-control);background:var(--surface-2);padding:9px;min-height:46px;text-align:left}.review-word strong{font-size:var(--fs-h3);font-weight:700}.review-word:not(.review-support-word){flex-direction:column;align-items:flex-start;gap:2px}.review-word>span{font-size:var(--fs-caption);color:var(--muted);white-space:nowrap}.review-word[aria-current=true]{background:var(--surface-3);border-color:var(--ink)}.review-word:hover{border-color:var(--muted)}.review-support-word{grid-column:1/-1;font-size:var(--fs-small);align-items:flex-start;flex-direction:column}.review-support-word small{color:var(--muted);font-size:var(--fs-caption)}.review-foundation-filter{margin:0 0 18px}.review-foundation-filter label{display:block;font-size:var(--fs-caption);margin:12px 0 6px;font-weight:700}.review-foundation-filter select{width:100%;min-height:44px;padding:10px 6px;border:1px solid var(--line);border-radius:var(--r-control);color:var(--ink);background:var(--paper);font:inherit;font-size:var(--fs-caption)}.review-foundation-filter p,.review-foundation-group>p{color:var(--muted);font-size:var(--fs-caption)}.review-word-list.review-foundation-groups{display:block}.review-foundation-group+.review-foundation-group{margin-top:24px;padding-top:20px;border-top:1px solid var(--line)}.review-foundation-group summary{cursor:pointer;font-size:var(--fs-small);font-weight:700}.review-foundation-group summary small{display:block;margin:5px 0 0 16px;color:var(--muted);font-size:var(--fs-caption);font-weight:400}.review-foundation-group>div{display:grid;gap:6px}.review-foundation-group .review-support-word strong{font-size:var(--fs-body)}.review-foundation-role{color:var(--muted);font-size:var(--fs-small)}.review-content{min-width:0}.review-word-heading{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:20px}.review-flow-position{margin:0;color:var(--muted);font-size:var(--fs-small);white-space:nowrap}.review-word-heading .eyebrow{margin:0 0 5px}.review-word-heading h2{font-size:var(--fs-h1);line-height:var(--lh-tight);font-weight:700;letter-spacing:-1.6px;margin:0;overflow-wrap:anywhere}.review-content .stage-nav{gap:12px}.review-content .stage{border:0;background:transparent;border-bottom:3px solid transparent;padding:0 12px}.review-content .stage.active{border-bottom-color:var(--ink)}.review-definitions{align-content:flex-start;display:flex;flex-wrap:wrap;gap:8px;padding:22px 0 10px}.review-definition{display:flex;align-items:center;gap:8px;border:1px solid var(--line);background:transparent;border-radius:var(--r-control);padding:9px 10px;min-height:44px;font-size:var(--fs-caption);text-align:left}.review-definition .menu-label-word{font-weight:700}.review-definition[aria-current=true]{background:var(--ink);border-color:var(--ink);color:var(--paper)}.review-meaning h3,.review-reading h3{font-size:var(--fs-h3);line-height:1.3;font-weight:700;margin:20px 0 12px;letter-spacing:-.7px}.review-meaning-grid{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);gap:25px;align-items:start}.review-meaning .definition-image{aspect-ratio:8/5;object-fit:contain;height:auto;max-height:none}.review-meaning .publisher-example{margin-top:0}.review-meaning .publisher-example ol{padding-left:23px}.review-meaning .publisher-example li{font-size:var(--fs-body);margin-top:12px}.review-dependencies{border-left:3px solid var(--rule-strong);margin-top:24px;padding:0 0 0 16px}.review-dependencies h3{font-size:var(--fs-caption);color:var(--muted);font-weight:500;margin:0 0 4px}.review-dependencies>div{display:flex;flex-wrap:wrap;gap:5px 18px;font-size:var(--fs-small)}.review-reading{padding:8px 0 24px;max-width:70ch;font-size:var(--fs-body);line-height:1.8}.review-reading a{font-size:var(--fs-small);text-underline-offset:4px}.review-pagination{display:flex;justify-content:space-between;align-items:center;gap:10px;border-top:1px solid var(--line);padding-top:22px;margin-top:28px}.review-pagination button{display:flex;align-items:center;gap:8px;min-height:44px;border:1px solid var(--line);border-radius:var(--r-control);background:transparent;padding:10px 14px;font-size:var(--fs-small)}.review-pagination button:disabled{opacity:.4}.review-pagination>span{text-align:center;font-size:var(--fs-small)}.review-pagination small{display:block;margin-top:4px;font-size:var(--fs-caption);color:var(--muted)}.review-entry{display:flex;align-items:center;gap:7px;border:0;background:transparent;padding:12px 0;margin-left:auto;font-size:var(--fs-small);white-space:nowrap}.course-entry+.review-entry{margin-left:18px}.review-entry+.session-menu{margin-left:0}@media(max-width:1100px){.review-layout{grid-template-columns:190px minmax(0,1fr);gap:24px}.review-meaning-grid{display:block}.review-meaning .publisher-example{margin-top:20px}}@media(max-width:960px){.review-picker-toggle{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:48px;width:100%;border:1px solid var(--line);background:transparent;border-radius:var(--r-control);padding:12px;text-align:left;font-size:var(--fs-small)}.review-sidebar:not(.expanded) .review-sidebar-body{display:none}.review-sidebar.expanded .review-sidebar-body{padding-top:18px}.review-layout{display:block}.review-sidebar{position:static;max-height:none;overflow:visible;padding:0 0 22px;border-bottom:1px solid var(--line);margin-bottom:25px}.review-sections{display:flex}.review-sections button{flex:1;align-items:center}.review-word-list{display:flex;flex-wrap:wrap;padding:2px}.review-word{min-width:70px}.review-support-word{min-width:auto}.review-meaning-grid{display:grid}.review-entry{margin-left:auto}}@media(max-width:600px){.review-page{--review-gutter: 30px}.review-banner-note{align-items:flex-start}.review-banner-note svg{margin-top:2px}.review-return{padding:0 10px}.review-entry>span{display:none}.course-entry+.review-entry{margin-left:0}.review-entry{padding:12px 6px;min-width:44px;justify-content:center}.review-banner h1{letter-spacing:-.3px}.review-meaning-grid{display:block}.review-meaning .publisher-example{margin-top:20px}.review-content .stage-nav{gap:0}.review-content .stage{font-size:var(--fs-caption);padding:0 4px}.review-pagination button{padding:10px}.review-word-heading{align-items:flex-end;margin-bottom:12px}.review-word-heading h2{letter-spacing:-1px}.review-definitions{flex-wrap:nowrap;overflow-x:auto;overscroll-behavior-x:contain;scrollbar-width:none;margin:0 calc(-1 * var(--review-gutter));padding:16px var(--review-gutter) 8px;scroll-padding-inline:var(--review-gutter)}.review-definitions::-webkit-scrollbar{display:none}.review-definition{flex-shrink:0;white-space:nowrap}.review-pagination{position:sticky;bottom:0;z-index:2;margin:24px calc(-1 * var(--review-gutter)) 0;padding:10px var(--review-gutter) calc(10px + env(safe-area-inset-bottom));background:var(--canvas)}}@media(max-width:480px){.review-page{--review-gutter: 22px}}.music-page{max-width:44rem;margin:0 auto;padding:2rem 16px 4rem;color:var(--ink)}.music-page.music-wide{max-width:60rem}.music-eyebrow{margin:0 0 .5rem;font-size:var(--fs-caption);font-weight:700;letter-spacing:.1em;color:var(--muted)}.music-title{margin:0 0 1rem;font-size:var(--fs-h1);line-height:var(--lh-tight);font-weight:700}.music-lead{margin:0 0 1.75rem;font-size:var(--fs-body);color:var(--muted)}.music-subhead{margin:2.75rem 0 1rem;font-size:var(--fs-h3);font-weight:700}.music-muted{color:var(--muted);margin:0 0 1rem}.music-storage{margin-bottom:var(--sp-3)}.music-transfer{margin-block:var(--sp-4) 0;padding:var(--sp-4) var(--sp-5);background:var(--surface-2);border:1px solid var(--line);border-radius:var(--r-card)}.music-transfer+.music-lead{margin-top:var(--sp-5)}.music-transfer-title{margin:0;font-size:var(--fs-body);font-weight:700}.music-transfer-text{margin:0;font-size:var(--fs-small);color:var(--muted)}.music-transfer-actions{display:flex;gap:var(--sp-3);flex-wrap:wrap;margin-top:var(--sp-3)}@media(max-width:600px){.music-transfer .btn{flex:1 1 auto}}.music-small{font-size:var(--fs-small)}.music-row{display:flex;flex-wrap:wrap;align-items:center;gap:.75rem;margin:1rem 0}.music-bar{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.75rem 1rem;margin:1rem 0 1.25rem}.music-button{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;min-height:44px;padding:.55rem 1.1rem;border:1px solid var(--line);border-radius:var(--r-pill);background:transparent;color:var(--ink);font:inherit;font-weight:700;font-size:var(--fs-body);text-decoration:none;cursor:pointer}.music-button:hover:not(:disabled){border-color:var(--ink)}.music-button:disabled{opacity:.45;cursor:default}.music-button-primary{background:var(--green);border-color:var(--green);color:var(--paper)}.music-button-primary:hover:not(:disabled){border-color:var(--green);filter:brightness(1.08)}.music-button-quiet{border-color:transparent}.music-button:focus-visible,.music-option:focus-visible,.music-segment button:focus-visible,.music-song:focus-visible,.music-step a:focus-visible,.music-check input:focus-visible+span,.music-term:focus-visible{outline:3px solid var(--green);outline-offset:2px}.music-segment{display:inline-flex;padding:3px;border:1px solid var(--line);border-radius:var(--r-pill)}.music-segment button{min-height:44px;min-width:44px;padding:0 .9rem;border:0;border-radius:var(--r-pill);background:transparent;color:var(--muted);font:inherit;font-weight:700;font-size:var(--fs-small);cursor:pointer}.music-segment button[aria-pressed=true]{background:var(--green);color:var(--paper)}.music-check{display:inline-flex;align-items:center;gap:.5rem;min-height:44px;cursor:pointer;font-size:var(--fs-small);font-weight:600}.music-check input{width:1.15rem;height:1.15rem;accent-color:var(--green)}.music-steps{list-style:none;margin:0;padding:0;position:relative}.music-steps:before{content:"";position:absolute;left:21px;top:22px;bottom:22px;width:2px;background:var(--line)}.music-step a{position:relative;display:flex;align-items:center;gap:1rem;min-height:44px;padding:.35rem 0;color:var(--ink);text-decoration:none;border-radius:var(--r-card)}.music-step a:hover .music-step-term{text-decoration:underline;text-underline-offset:.2rem}.music-step-mark{flex:0 0 44px;display:grid;place-items:center;width:44px;height:44px;border-radius:50%;background:var(--paper);border:2px solid var(--line);font-weight:700;font-size:var(--fs-small)}.music-step.is-done .music-step-mark{background:var(--green);border-color:var(--green);color:var(--paper)}.music-step.is-current .music-step-mark{border-color:var(--green)}.music-step-term{font-weight:700;font-size:var(--fs-body)}.music-songs{list-style:none;margin:1rem 0 1.5rem;padding:0;display:grid;gap:.75rem;grid-template-columns:repeat(auto-fill,minmax(15rem,1fr))}.music-song{display:flex;flex-direction:column;gap:.25rem;height:100%;padding:1rem 1.1rem;border:1px solid var(--line);border-radius:var(--r-lg);background:var(--paper);color:var(--ink);text-decoration:none}.music-song:hover{border-color:var(--ink)}.music-song-title{font-weight:700;font-size:var(--fs-body)}.music-song-origin{color:var(--muted);font-size:var(--fs-small)}.music-song-meta{display:flex;align-items:center;justify-content:space-between;margin-top:.6rem}.music-level{display:inline-flex;gap:4px}.music-level span{width:9px;height:9px;border-radius:50%;border:1.5px solid var(--muted)}.music-level span.is-on{background:var(--green);border-color:var(--green)}.music-stars-small{letter-spacing:.1em;color:var(--line);font-size:1rem}.music-stars-small .is-on{color:var(--green)}.music-crumbs{display:flex;gap:.5rem;align-items:center;margin-bottom:1.5rem;font-size:var(--fs-small);color:var(--muted)}.music-crumbs a{color:inherit;text-underline-offset:.2rem}.music-figure{margin:0 0 1.5rem}.music-illustration{display:block;width:100%;height:auto;max-height:20rem;border-radius:var(--r-lg)}.music-picture{display:block;width:100%;height:auto;aspect-ratio:3 / 2;object-fit:cover;margin:0;border-radius:var(--r-card);background:var(--paper)}.music-diagram{margin:1.25rem auto 0;max-width:22rem;text-align:center}.music-diagram .music-illustration{max-height:none;border:1px solid var(--line);background:var(--paper);border-radius:var(--r-card)}.music-diagram figcaption{margin-top:.4rem;font-size:var(--fs-small);color:var(--muted)}.music-term{margin:0 0 .75rem;font-size:var(--fs-h1);line-height:var(--lh-tight);font-weight:700}.music-definition{margin:0 0 1rem;font-size:var(--fs-h3);font-weight:700}.music-explanation{margin:0;font-size:var(--fs-body);line-height:1.75;color:var(--muted)}.music-examples{list-style:none;margin:0;padding:0;border-top:1px solid var(--line)}.music-examples li{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.5rem 1rem;padding:.8rem 0;border-bottom:1px solid var(--line)}.music-listen{min-height:44px}.music-check-card{padding:var(--sp-4);border:1px solid var(--line);border-radius:var(--r-card);background:var(--paper)}.music-check-done{display:flex;gap:.5rem;align-items:center;margin:0 0 .6rem;color:var(--green);font-weight:600}.music-question{margin:0 0 1rem;font-size:var(--fs-body);font-weight:700}.music-options{display:grid;gap:.6rem;margin:1rem 0 0}.music-option{min-height:48px;padding:.7rem 1rem;border:1.5px solid var(--line);border-radius:var(--r-lg);background:transparent;color:var(--ink);font:inherit;font-weight:600;text-align:left;cursor:pointer}.music-option:hover:not(:disabled){border-color:var(--ink)}.music-option.is-wrong{opacity:.5;text-decoration:line-through}.music-option.is-right{border-color:var(--green);background:color-mix(in srgb,var(--green) 18%,transparent);opacity:1}.music-feedback{min-height:1.6em;margin:.9rem 0 0;font-weight:600;color:var(--muted)}.music-complete{color:var(--green)}.music-lesson-nav{display:flex;justify-content:space-between;gap:.75rem;flex-wrap:wrap;margin-top:2.5rem}.music-piano{position:relative;width:100%;margin:1rem auto;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none;touch-action:none;-webkit-tap-highlight-color:transparent;cursor:pointer}.music-piano-game{margin:0 auto}.music-key{position:absolute;top:0;box-sizing:border-box;display:flex;align-items:flex-end;justify-content:center;touch-action:none;transition:background-color .06s,transform .06s}.music-key.is-white{background:#fbfaf5;border:1px solid #aeb3a8;border-top:0;border-radius:0 0 var(--r-control) var(--r-control);color:#174b3b}.music-key.is-black{z-index:2;background:#1b2b24;border-radius:0 0 var(--r-xs) var(--r-xs);color:#f0ecdf;box-shadow:0 2px 4px #00000059}:root[data-theme=dark] .music-key.is-white{background:#f1eee3;border-color:#7f8a80}:root[data-theme=dark] .music-key.is-black{background:#141b17;box-shadow:0 2px 4px #0009}:root[data-theme=dark] .music-key.is-white.is-hint{background:color-mix(in srgb,#24734f 80%,#f1eee3);border-color:#8ac69c}:root[data-theme=dark] .music-key.is-white.is-down{background:#cfd3c8}:root[data-theme=dark] .music-key.is-white.is-hint.is-down{background:#24734f}.music-key.is-white.is-down{background:#d9ddd3;transform:translateY(2px)}.music-key.is-black.is-down{background:#3a4d43;transform:translateY(2px);box-shadow:none}.music-key.is-white.is-hint{background:color-mix(in srgb,var(--green) 75%,#fbfaf5);border-color:var(--green);color:#fff}.music-key.is-black.is-hint,.music-key.is-white.is-hint.is-down{background:var(--green)}.music-key-labels{display:flex;flex-direction:column;align-items:center;gap:2px;padding-bottom:6px;pointer-events:none;line-height:1}.music-key-name{font-size:.72rem;font-weight:800}.music-key-code{font-size:.68rem;font-weight:700;opacity:.65;min-width:1.3em;text-align:center;padding:2px 3px;border-radius:var(--r-xs);border:1px solid currentColor}.music-key.is-black .music-key-code{font-size:.6rem;border-color:transparent}.music-key.is-black .music-key-name{display:flex;flex-direction:column;align-items:center;gap:1px;font-size:.56rem;opacity:.9}.music-key-sharp{font-size:.7rem;line-height:.8}.music-key.is-black .music-key-labels{padding-bottom:5px}.music-piano{max-height:46vh}.music-stage-actions{display:none;position:absolute;z-index:2;top:4px;right:4px;gap:.35rem}.music-stage-actions .music-button{min-height:44px;padding:.2rem .8rem;font-size:var(--fs-small);background:color-mix(in srgb,var(--paper) 85%,transparent)}.music-turn-hint{margin:.5rem 0 0;text-align:center}@media(max-width:960px){.music-page .music-bleed{width:100vw;max-width:none!important;margin-left:calc(50% - 50vw);margin-right:0}body:has(.music-bleed){overflow-x:clip}.music-page .music-game-board.music-bleed{border-radius:0;border-inline:0}.music-page .music-bleed .music-piano{max-width:none!important;margin-inline:0}}.music-free-holder{width:100%}.music-bindings{margin-top:2rem;padding:1.25rem;border:1px solid var(--line);border-radius:var(--r-lg);background:var(--paper)}.music-bindings-head{display:flex;justify-content:space-between;align-items:center;gap:1rem}.music-bindings-head h2{margin:0;font-size:var(--fs-h3);font-weight:700}.music-game-bar{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem 1rem;margin:1rem 0}.music-game-hud{display:flex;flex-wrap:wrap;gap:.1rem .9rem;color:var(--muted);font-size:var(--fs-small)}.music-game-hud b{color:var(--ink)}.music-game-next{color:var(--green);font-weight:700;font-size:var(--fs-small)}.music-game-compact{display:flex;gap:.5rem;align-items:center;margin:.35rem 0}.music-game-compact .music-button{min-height:44px;padding:.2rem .9rem;font-size:var(--fs-small)}.music-hud-corner{position:absolute;z-index:2;top:6px;left:6px;display:flex;flex-direction:column;align-items:flex-start;gap:3px;pointer-events:none}.music-hud-corner>*{padding:2px 9px;border-radius:var(--r-pill);background:color-mix(in srgb,var(--paper) 86%,transparent);border:1px solid var(--line)}.music-settings-panel{position:absolute;top:0;right:0;bottom:0;left:0;z-index:4;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.6rem;padding:.75rem;overflow:auto;background:color-mix(in srgb,var(--paper) 96%,transparent)}.music-settings-panel .music-game-bar{margin:0;justify-content:center}.music-chase.is-slim{height:48px}.music-page:has(.music-game.is-running)>.music-crumbs,.music-page:has(.music-game.is-running)>.music-title,.music-page:has(.music-game.is-running)>.music-muted{display:none}.music-page:has(.music-game.is-running){min-height:calc(100dvh + 140px)}.music-key-strip{position:absolute;left:0;right:0;bottom:0;height:7px;border-radius:0 0 var(--r-control) var(--r-control);background:var(--note);pointer-events:none}.music-key-dot{position:absolute;left:50%;bottom:3px;width:9px;height:9px;margin-left:-4.5px;border-radius:50%;background:var(--note);box-shadow:0 0 0 1.5px #ffffff8c;pointer-events:none}.music-key.is-black .music-key-labels{padding-bottom:16px}.music-key.is-white .music-key-labels{padding-bottom:12px}.music-key.is-glow{box-shadow:0 0 0 3px color-mix(in srgb,var(--note, var(--green)) 65%,transparent),0 0 14px 2px var(--note, var(--green));z-index:3}.music-key.is-white.is-wrong{background:#e9a48c;border-color:var(--warm)}.music-key.is-black.is-wrong{background:var(--warm)}:root[data-theme=dark] .music-key.is-white.is-wrong{background:#e9a48c;border-color:#b8532f}:root[data-theme=dark] .music-key.is-black.is-wrong{background:#b8532f}.music-game-board{margin:0 auto;border:1px solid var(--line);border-radius:var(--r-lg);overflow:hidden;background:var(--paper)}.music-game-stage{position:relative;height:300px}.music-game-canvas{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;display:block}.music-overlay{position:absolute;top:0;right:0;bottom:0;left:0;z-index:3;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.5rem;padding:1.5rem;text-align:center;background:color-mix(in srgb,var(--paper) 88%,transparent)}.music-overlay .music-muted{max-width:28rem;margin:0}.music-overlay-title{margin:0;font-size:var(--fs-h2);line-height:var(--lh-tight);font-weight:700}.music-stars{margin:0;font-size:2.6rem;letter-spacing:.15em;color:var(--line)}.music-stars .is-on{color:var(--green)}.music-count{position:absolute;top:0;right:0;bottom:0;left:0;z-index:3;display:grid;place-items:center;font-size:6rem;font-weight:800;color:var(--green);opacity:.85;pointer-events:none}.music-game .music-row{justify-content:center}@media(prefers-reduced-motion:reduce){.music-key{transition:none}.music-key.is-down{transform:none}}.music-sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.music-chase{position:relative;height:72px;overflow:hidden;border-bottom:1px solid var(--line);background:color-mix(in srgb,var(--green) 7%,var(--paper))}.music-chase-ground{position:absolute;left:0;right:0;bottom:6px;height:3px;background:repeating-linear-gradient(90deg,var(--line) 0 14px,transparent 14px 24px);opacity:.8}.music-chase-actor{position:absolute;left:0;bottom:4px;transition:transform .45s ease-out,opacity .25s;will-change:transform;line-height:0}.music-chase-actor svg{display:block}.music-chase-house{transition:none;bottom:3px}.music-chase-hud{position:absolute;z-index:2;top:4px;left:8px;display:flex;align-items:center;gap:.6rem;font-size:.8rem;font-weight:700;pointer-events:none}.music-chase-hearts{display:inline-flex;gap:2px;font-size:1.1rem;line-height:1}.music-chase-hearts span{color:var(--line)}.music-chase-hearts span.is-on{color:#e0483e}.music-chase-streak{padding:1px 9px;border-radius:var(--r-pill);background:var(--green);color:var(--paper)}.music-chase-streak.is-boost{animation:music-pulse .5s ease-out}.music-chase-kotik,.music-chase-buka{transform-origin:50% 100%}.music-chase-kotik.is-run{animation:music-run .38s ease-in-out infinite}.music-chase-kotik.is-hop{animation:music-hop .38s ease-out}.music-chase-kotik.is-celebrate{animation:music-hop .6s ease-out infinite}.music-chase-kotik.is-pop{animation:music-pop .5s cubic-bezier(.3,1.6,.5,1)}.music-chase-buka.is-creep{animation:music-creep .5s ease-in-out infinite}.music-chase-buka.is-munch{animation:music-munch .22s ease-in-out 3}.music-chase-buka.is-hiccup{animation:music-hiccup .3s ease-out 3}.music-chase-buka{position:relative}.music-chase-belly{position:absolute;left:50%;top:52%;transform:translate(-50%,-50%);opacity:.8}.music-chase-bubble{position:absolute;z-index:3;top:3px;transform:translate(-50%);padding:1px 9px;border:1.5px solid var(--ink);border-radius:var(--r-card);background:var(--paper);color:var(--ink);font-size:.85rem;font-weight:700;white-space:nowrap;pointer-events:none;animation:music-bubble .25s ease-out}.music-chase-bubble.is-zzz{font-weight:700;opacity:.8;border-style:dashed}.music-chase-fly{position:absolute;left:0;bottom:0;z-index:2;font-size:1.3rem;line-height:1;font-weight:700;color:var(--green);pointer-events:none;animation:music-fly .55s ease-in forwards}.music-confetti{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none}.music-confetti span{position:absolute;top:-8px;width:7px;height:11px;border-radius:var(--r-xs);animation:music-confetti 2s ease-in infinite}.music-sticker{width:100%;height:auto;display:block}.music-stickers{list-style:none;margin:1rem 0 1.5rem;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(5.5rem,1fr));gap:1rem .75rem}.music-sticker-item{display:flex;flex-direction:column;align-items:center;gap:.3rem;text-align:center}.music-sticker-item .music-sticker{width:4.25rem}.music-sticker-name{font-size:var(--fs-caption);color:var(--muted);font-weight:600;line-height:1.25}@keyframes music-run{0%,to{transform:translateY(0) rotate(-2deg)}50%{transform:translateY(-3px) rotate(2deg)}}@keyframes music-hop{0%{transform:translateY(0)}40%{transform:translateY(-16px) scale(1.06)}to{transform:translateY(0)}}@keyframes music-pop{0%{transform:translateY(18px) scale(.2);opacity:0}to{transform:translateY(0) scale(1);opacity:1}}@keyframes music-creep{0%,to{transform:translateY(0) scaleY(1)}50%{transform:translateY(-2px) scaleY(1.04)}}@keyframes music-munch{0%,to{transform:scale(1)}50%{transform:scale(1.14,.9)}}@keyframes music-hiccup{0%,to{transform:translateY(0)}40%{transform:translateY(-7px) scale(1.05)}}@keyframes music-bubble{0%{transform:translate(-50%) scale(.6);opacity:0}to{transform:translate(-50%) scale(1);opacity:1}}@keyframes music-pulse{0%{transform:scale(1)}40%{transform:scale(1.3)}to{transform:scale(1)}}@keyframes music-fly{0%{transform:translate(var(--sx)) scale(1);opacity:1}to{transform:translate(var(--ex),-10px) scale(.4);opacity:.2}}@keyframes music-confetti{0%{transform:translateY(0) rotate(0);opacity:1}to{transform:translateY(84px) rotate(var(--rot));opacity:0}}@media(prefers-reduced-motion:reduce){.music-chase-actor{transition:none}.music-chase-kotik,.music-chase-buka,.music-chase-streak,.music-chase-bubble{animation:none!important}.music-chase-fly,.music-confetti{display:none}}@media(max-height:520px)and (orientation:landscape){.music-piano{max-height:40vh}.music-page:has(.music-game){padding-top:.5rem;padding-bottom:1rem}.music-page:has(.music-game)>.music-crumbs,.music-page:has(.music-game)>.music-title,.music-page:has(.music-game)>.music-muted{display:none}.music-game .music-game-bar{margin:.25rem 0;gap:0 .75rem}.music-game-bar .music-check{min-height:36px}.music-game .music-chase.is-slim{height:44px}.music-game-compact{display:none}.music-page:has(.music-game) .music-piano{max-height:34vh}.music-stage-actions{display:flex}.music-game .music-overlay{gap:.25rem;padding:.5rem}.music-game .music-overlay .music-muted{display:none}.music-game .music-overlay-title{font-size:var(--fs-h3)}.music-game .music-stars{font-size:1.6rem}.music-game .music-button{min-height:44px}.music-page:has(.music-free-holder)>.music-crumbs,.music-page:has(.music-free-holder)>.music-title{display:none}.music-page:has(.music-free-holder){padding-top:.5rem;padding-bottom:.25rem}.music-page:has(.music-free-holder) .music-bar{margin:.25rem 0}}.music-group{margin:18px 0 0}.music-group-title{margin:0 0 8px;font-size:var(--fs-body);font-weight:700;color:var(--ink)}.music-intro .music-subhead{margin-top:2rem}.music-intro .music-explanation{margin-bottom:.6rem}.music-intro-link{margin:0 0 1rem;font-weight:700}.music-intro-link a{color:var(--green);text-underline-offset:.2rem}.music-compare{display:flex;align-items:center;justify-content:center;gap:.75rem;margin:1rem 0;padding:1rem;border:1px solid var(--line);border-radius:var(--r-card);background:var(--paper)}.music-compare-side{display:flex;flex-direction:column;align-items:center;gap:.4rem;min-width:0;flex:1 1 0}.music-compare-name{font-size:var(--fs-caption);font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}.music-compare-arrow{font-size:1.6rem;color:var(--muted)}.music-letters{display:flex;gap:.3rem;font-size:2.6rem;font-weight:800;line-height:1}.music-mini-staff{display:block;width:100%;max-width:15rem;height:auto;overflow:visible}.music-listen-card .music-mini-staff{max-width:22rem;margin:0 auto .75rem}.music-mini-line{stroke:var(--ink);stroke-width:1;opacity:.7}.music-mini-clef{font-size:30px;fill:var(--ink)}.music-mini-note{opacity:.55;transition:opacity .15s}.music-mini-note.is-on{opacity:1}.music-listen-card{padding:var(--sp-4);border:1px solid var(--line);border-radius:var(--r-card);background:var(--paper);text-align:center}.music-topics{margin:0;padding-left:1.3rem;display:grid;gap:.8rem}.music-topic-title{display:block;font-weight:700}.music-topic-links{display:flex;flex-wrap:wrap;gap:.25rem .9rem;font-size:var(--fs-body)}.music-topic-links a{color:var(--green);text-underline-offset:.2rem}.music-how{margin:0;padding-left:1.3rem;color:var(--muted)}.music-intro-go{margin:2rem 0 0;text-align:center}.music-button-big{min-height:56px;padding:.6rem 1.6rem;font-size:var(--fs-h3);width:100%;max-width:24rem}@media(max-width:480px){.music-key-name{font-size:.68rem}.music-key.is-black .music-key-name{font-size:.55rem}.music-key-code{font-size:.58rem;padding:1px 2px}.music-page{padding-top:1.25rem}.music-chase{height:56px}.music-compare{flex-direction:column}.music-compare-arrow{transform:rotate(90deg)}}.music-level-block{margin:1.5rem 0 0}.music-level-title{margin:0 0 .25rem;font-size:var(--fs-body);font-weight:700;color:var(--ink)}.music-level-hint{margin:0 0 .25rem;font-size:var(--fs-small)}.music-game-tile{display:flex;flex-direction:column;gap:.15rem;margin:1.1rem 0 0;padding:var(--sp-4);border:1px solid var(--line);border-radius:var(--r-card);color:var(--ink);text-decoration:none}.music-game-tile:hover{border-color:var(--green)}.music-game-tile:focus-visible{outline:3px solid var(--green);outline-offset:2px}.music-ear-title{font-weight:700}.music-game-tile .music-muted{margin:0}.music-practice{display:flex;flex-wrap:wrap;gap:.6rem;margin:1.5rem 0 0}.music-aloud{display:flex;align-items:flex-start;gap:.6rem}.music-aloud>p{flex:1 1 auto;min-width:0}.music-speak{flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;padding:0;border:1px solid var(--line);border-radius:50%;background:var(--paper);color:var(--green);cursor:pointer}.music-speak:hover{border-color:var(--green)}.music-speak.is-speaking{background:var(--green);border-color:var(--green);color:var(--paper)}.music-speak:focus-visible{outline:3px solid var(--green);outline-offset:2px}.music-examples li{align-items:center}.music-try{margin:1.25rem 0 0;padding:1rem 0 .25rem}.music-try-head{display:flex;align-items:center;gap:.75rem;margin:0 0 .75rem}.music-try-title{margin:0}.music-try-line{margin:.15rem 0 0;font-size:var(--fs-body);line-height:1.4}.music-piano-try{width:100%;max-width:100%}.music-tiles{display:grid;grid-template-columns:repeat(auto-fit,minmax(14rem,1fr));gap:.75rem;margin:1.1rem 0 0}.music-tile{display:flex;align-items:center;gap:.8rem;min-height:64px;padding:var(--sp-4);border:1px solid var(--line);border-radius:var(--r-card);color:var(--ink);text-decoration:none;background:var(--paper)}.music-tile:hover{border-color:var(--green)}.music-tile:focus-visible{outline:3px solid var(--green);outline-offset:2px}.music-tile>svg{flex:0 0 auto;color:var(--green)}.music-tile-text{display:flex;flex-direction:column;gap:.1rem;min-width:0}.music-tile-title{font-weight:700;font-size:var(--fs-body)}.music-tile .music-muted{margin:0;font-size:var(--fs-small)}.music-games{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(15rem,1fr));gap:.75rem}.music-games .music-game-tile{margin:0;height:100%;box-sizing:border-box}.music-today{list-style:none;margin:1.25rem 0;padding:0;display:grid;gap:.8rem}.music-today-card{display:flex;align-items:center;gap:.9rem;min-height:84px;padding:var(--sp-4);border:1px solid var(--line);border-radius:var(--r-card);color:var(--ink);text-decoration:none;background:var(--paper)}.music-today-card:hover{border-color:var(--green)}.music-today-card:focus-visible{outline:3px solid var(--green);outline-offset:2px}.music-today-card.is-done{border-color:var(--green)}.music-today-num{flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:50%;background:var(--green);color:var(--paper);font-weight:700;font-size:var(--fs-h3)}.music-today-text{flex:1 1 auto;min-width:0;display:flex;flex-direction:column;gap:.15rem}.music-today-title{font-weight:700;font-size:var(--fs-h3);overflow-wrap:anywhere}.music-today-text .music-muted{margin:0}.music-today-kotik{flex:0 0 auto}.music-parents{margin:1.5rem 0 0;padding:.6rem .9rem;border:1px dashed var(--line);border-radius:var(--r-card);color:var(--muted)}.music-parents summary{cursor:pointer;font-weight:700;color:var(--ink);min-height:44px;display:flex;align-items:center}.music-parents summary:focus-visible{outline:3px solid var(--green);outline-offset:2px}.music-parents p{margin:.5rem 0 0}.music-cards-pick{display:inline-flex;align-items:center;gap:.5rem;min-height:44px;font-size:var(--fs-small);font-weight:600}.music-cards-pick select{min-height:44px;max-width:100%;padding:0 .6rem;border:1px solid var(--line);border-radius:var(--r-card);background:var(--paper);color:var(--ink);font:inherit;font-weight:700}.music-cards-pick select:focus-visible{outline:3px solid var(--green);outline-offset:2px}.music-cards-hint{flex:1 1 100%;margin:0}.music-cards-modes{flex-wrap:wrap;max-width:100%}.music-acc-cards,.music-ear-cards,.music-read-cards{list-style:none;margin:1.25rem 0 1.5rem;padding:0;display:grid;gap:.8rem}.music-acc-card,.music-ear-card,.music-read-card{display:grid;gap:.3rem;min-height:56px;padding:var(--sp-4);border:1px solid var(--line);border-radius:var(--r-card);background:var(--paper);color:var(--ink)}.music-acc-card,.music-read-card{width:100%;text-align:left;font:inherit;cursor:pointer}.music-ear-card{text-decoration:none}.music-acc-card:hover,.music-ear-card:hover,.music-read-card:hover:not(:disabled){border-color:var(--green)}.music-acc-card:focus-visible,.music-ear-card:focus-visible,.music-read-card:focus-visible{outline:3px solid var(--green);outline-offset:2px}.music-acc-card-title,.music-ear-card-title,.music-read-card-title{font-size:var(--fs-h3);font-weight:700}.music-acc-card-origin,.music-ear-card-q,.music-read-card-hint{color:var(--muted)}.music-ear-card-q,.music-read-card-hint{line-height:1.45}.music-acc-card-best,.music-ear-card-best,.music-read-card-best{font-size:var(--fs-small);font-weight:700;color:var(--muted)}.music-acc-stars,.music-ear-stars,.music-read-stars{color:#d9a21c;letter-spacing:.1em}.music-acc-bigstars,.music-ear-bigstars,.music-read-bigstars{margin:0;font-size:2.6rem;letter-spacing:.15em;color:#d9a21c}.music-acc-end,.music-ear-end,.music-read-end{display:grid;justify-items:center;text-align:center;gap:.25rem;margin:1rem 0 1.5rem}.music-acc-score,.music-ear-score,.music-read-score,.music-echo-score{margin:0;font-size:1.5rem;font-weight:700}.music-acc-actions,.music-ear-actions,.music-read-actions{display:flex;flex-wrap:wrap;gap:.7rem;justify-content:center}.music-ear-start,.music-echo-start{display:grid;justify-items:center;gap:1rem;margin:1.5rem 0}.music-acc-song,.music-ear-question,.music-echo-title{font-size:var(--fs-h2);line-height:var(--lh-tight);font-weight:700}.music-acc-kotik,.music-ear-kotik,.music-read-kotik,.music-echo-kotik{flex:none}.music-ear-dots,.music-read-dots{display:flex;gap:.25rem}.music-ear-dot,.music-read-dot{display:inline-grid;place-items:center;flex:1 1 0;max-width:1.9rem;aspect-ratio:1;border:1.5px solid var(--line);border-radius:50%;font-size:var(--fs-caption);font-weight:700;color:var(--muted)}.music-ear-dot.is-now,.music-read-dot.is-now{border-color:var(--ink);color:var(--ink)}.music-ear-dot.is-ok,.music-read-dot.is-ok{background:var(--green);border-color:var(--green);color:var(--paper)}.music-ear-dot.is-miss,.music-read-dot.is-miss{background:var(--warm);border-color:var(--warm);color:#fff}@keyframes music-hop{0%{transform:translateY(0)}40%{transform:translateY(-12px)}to{transform:translateY(0)}}.music-ear-kotik.is-happy,.music-read-kotik.is-happy{animation:music-hop .6s ease-out 1}@media(prefers-reduced-motion:reduce){.music-ear-kotik.is-happy,.music-read-kotik.is-happy{animation:none}}@media(max-width:600px){.music-cards-pick select{max-width:11.5rem}.music-acc-actions .music-button,.music-ear-actions .music-button,.music-read-actions .music-button,.music-echo-actions .music-button{flex:1 1 100%}.music-ear .music-button-big,.music-ear-listen .music-button-big,.music-echo .music-button-big{max-width:none}}:root[data-theme=dark] :is(.music-acc-stars,.music-acc-bigstars,.music-ear-stars,.music-ear-bigstars,.music-read-stars,.music-read-bigstars){color:#f0c24a}:root[data-theme=dark] :is(.music-ear-dot,.music-read-dot).is-miss{background:#c9654f;border-color:#c9654f}:root[data-theme=dark] :is(.music-acc-feedback,.music-ear-result).is-miss{border-color:#c9654f}:root[data-theme=dark] :is(.music-echo-msg,.music-compose-msg).is-oops{color:#e08a6f}.math-page{max-width:44rem;margin:0 auto;padding:var(--sp-5) var(--sp-4) var(--sp-6);color:var(--ink)}.math-title{margin:0 0 var(--sp-3);font-size:var(--fs-h1);line-height:var(--lh-tight);font-weight:700}.math-lead{margin:0 0 var(--sp-5);color:var(--muted)}.math-subhead{margin:var(--sp-6) 0 var(--sp-3);font-size:var(--fs-h3);font-weight:700}.math-muted{color:var(--muted);margin:0 0 var(--sp-3)}.math-small{font-size:var(--fs-small)}.math-row{display:flex;flex-wrap:wrap;align-items:center;gap:var(--sp-3);margin:var(--sp-4) 0 var(--sp-2)}.math-row .math-muted{margin:0}.math-grades{display:flex;flex-wrap:wrap;gap:var(--sp-2);margin:var(--sp-5) 0 var(--sp-2)}.math-grade{display:inline-flex;align-items:center;justify-content:center;min-height:44px;min-width:44px;padding:0 var(--sp-4);border:1.5px solid var(--line);border-radius:var(--r-pill);color:var(--ink);font-weight:700;text-decoration:none}.math-grade:hover{border-color:var(--ink)}.math-grade[aria-current=true]{background:var(--accent);border-color:var(--accent);color:var(--accent-ink)}.math-grade:focus-visible,.math-step a:focus-visible,.math-option:focus-visible,.math-term:focus-visible{outline:var(--focus-ring);outline-offset:2px}.math-steps{list-style:none;margin:0;padding:0}.math-step a{display:flex;align-items:center;gap:var(--sp-4);min-height:44px;padding:var(--sp-1) 0;color:var(--ink);text-decoration:none;border-radius:var(--r-card)}.math-step a:hover .math-step-term{text-decoration:underline;text-underline-offset:4px}.math-step-mark{flex:0 0 44px;display:grid;place-items:center;width:44px;height:44px;border-radius:50%;background:var(--surface);border:2px solid var(--line);font-weight:700;font-size:var(--fs-small)}.math-step.is-done .math-step-mark{background:var(--accent);border-color:var(--accent);color:var(--accent-ink)}.math-step.is-current .math-step-mark{border-color:var(--accent)}.math-step-term{font-weight:700}.math-soon{display:flex;flex-wrap:wrap;align-items:center;gap:var(--sp-2) var(--sp-3);margin:0}.math-soon .math-muted{margin:0}.math-badge{padding:var(--sp-1) var(--sp-3);border:1px solid var(--line);border-radius:var(--r-pill);color:var(--muted);font-size:var(--fs-caption);font-weight:700}.math-crumbs{display:flex;flex-wrap:wrap;gap:var(--sp-1) var(--sp-2);align-items:center;margin-bottom:var(--sp-4);font-size:var(--fs-small);color:var(--muted)}.math-crumbs a{color:inherit;text-underline-offset:4px}.math-figure{margin:0 0 var(--sp-5)}.math-picture{display:block;width:100%;height:auto;aspect-ratio:3 / 2;object-fit:cover;margin:0;border-radius:var(--r-card);background:var(--surface-warm)}.math-diagram{display:grid;place-items:center;padding:var(--sp-5) var(--sp-3);border:1px solid var(--line);border-radius:var(--r-card);background:var(--surface-warm)}.math-term{margin:0 0 var(--sp-3);font-size:var(--fs-h1);line-height:var(--lh-tight);font-weight:700}.math-definition{margin:0 0 var(--sp-3);font-size:var(--fs-h3);font-weight:700}.math-explanation{margin:0;line-height:1.75;color:var(--muted)}.math-gloss{margin:var(--sp-3) 0 0;display:grid;gap:var(--sp-2)}.math-gloss p{margin:0}.math-symbols-head{margin-top:var(--sp-5)}.math-symbols{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:var(--sp-3)}.math-symbol>div{display:grid;justify-items:center;gap:var(--sp-1);min-width:4.5rem;padding:var(--sp-2) var(--sp-3);border:2px solid var(--line);border-radius:var(--r-card);background:var(--surface)}.math-symbol-glyph{font-size:var(--fs-h2);font-weight:700;line-height:var(--lh-tight)}.math-symbol-glyph.is-dot{transform:scale(2.5)}.math-symbol-reading{font-size:var(--fs-small);color:var(--muted)}.math-speak-row{margin:var(--sp-3) 0 0}.math-examples{list-style:none;margin:0;padding:0;display:grid;gap:var(--sp-3)}.math-examples li{display:grid;gap:var(--sp-3)}.math-own{margin:0}.math-task{margin-top:var(--sp-3);display:grid;gap:var(--sp-3)}.math-aloud{display:flex;align-items:center;justify-content:space-between;gap:var(--sp-3)}.math-question{margin:0;font-weight:700}.math-options{display:grid;gap:var(--sp-3)}.math-option{min-height:56px;justify-content:flex-start;padding:var(--sp-3) var(--sp-4);border-color:var(--line);border-radius:var(--r-lg);font-size:var(--fs-h3)}.math-option.is-short{justify-content:center;font-size:var(--fs-h2)}.math-option.is-wrong{opacity:.5;text-decoration:line-through}.math-option.is-right{border-color:var(--accent);background:var(--surface-3);opacity:1}.math-feedback{min-height:1.6em;margin:0;font-weight:600;color:var(--muted)}.math-complete{margin-top:var(--sp-5);color:var(--accent);font-size:var(--fs-h3)}.math-check-done{display:flex;gap:var(--sp-2);align-items:center;margin:0 0 var(--sp-2);color:var(--accent);font-weight:600}.math-lesson-nav{display:flex;justify-content:space-between;flex-wrap:wrap;gap:var(--sp-3);margin-top:var(--sp-6)}.mf{display:grid;justify-items:center;max-width:100%;color:var(--ink)}.mf-groups{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:var(--sp-3);width:100%}.mf-slot{display:grid;justify-items:center;gap:var(--sp-1);flex:0 1 calc(var(--mf-cols) * 3.2rem + 1rem);min-width:0;max-width:100%}.mf.is-large .mf-slot{flex-basis:calc(var(--mf-cols) * 4.2rem + 1rem)}.mf-group-svg{display:block;width:100%;height:auto}.mf-tag{font-size:var(--fs-small);font-weight:700;color:var(--muted)}.mf-plate{fill:var(--surface);stroke:var(--line);stroke-width:2}.mf-plate.is-empty{fill:none;stroke:var(--muted);stroke-dasharray:6 6}.mf-body{fill:currentColor;stroke:var(--ink);stroke-width:1.5;stroke-linejoin:round}.mf-line{stroke:var(--ink);stroke-width:2;stroke-linecap:round;fill:none}.mf-leaf{fill:var(--accent);stroke:var(--ink);stroke-width:1.2}.mf-eye{fill:var(--ink)}.mf-center{fill:var(--surface);stroke:var(--ink);stroke-width:1.5}.mf-top{fill-opacity:.7}.mf-side{fill-opacity:.45}.mf-item-apple{color:var(--warm)}.mf-item-star{color:var(--accent-soft)}.mf-item-ball{color:var(--accent)}.mf-item-fish{color:var(--accent-mid)}.mf-item-flower{color:var(--warm)}.mf-item-cube{color:var(--accent-soft)}.mf-item-cup{color:var(--accent-mid)}.mf-gone{opacity:.4}.mf-cross{stroke:var(--ink);stroke-width:3;stroke-linecap:round;fill:none}.mf-sign{display:grid;place-items:center;min-width:44px;height:44px;font-size:var(--fs-h2);font-weight:700;color:var(--accent)}.mf-sign.is-unknown{border:2px dashed var(--accent);border-radius:var(--r-control)}.mf-row{display:flex;flex-wrap:wrap;justify-content:center;gap:var(--sp-2)}.mf-cell{display:grid;place-items:center;width:2.75rem;height:2.75rem;border:2px solid var(--line);border-radius:var(--r-control);background:var(--surface);font-size:var(--fs-h3);font-weight:700}.mf.is-large .mf-cell{width:3.25rem;height:3.25rem}.mf-cell.is-gap{border-color:var(--accent);border-style:dashed;background:var(--surface-3);color:var(--accent)}.mf-tree{display:grid;justify-items:center;width:100%;max-width:26rem}.mf-box{display:grid;justify-items:center;gap:var(--sp-1);padding:var(--sp-2) var(--sp-3);border:2px solid var(--line);border-radius:var(--r-card);background:var(--surface);font-size:var(--fs-h3);min-width:0}.mf-box b{font-size:var(--fs-h2);line-height:var(--lh-tight)}.mf-unknown{color:var(--accent)}.mf-whole{width:50%}.mf-whole .mf-group-svg{max-width:12rem}.mf-split{width:50%;height:1.5rem}.mf-split path{fill:none;stroke:var(--muted);stroke-width:2;vector-effect:non-scaling-stroke}.mf-pair{display:grid;grid-template-columns:1fr 1fr;gap:var(--sp-3);width:100%}.mf-part .mf-group-svg{max-width:9rem}.mf-shapes{display:flex;flex-wrap:wrap;justify-content:center;align-items:flex-end;gap:var(--sp-3);width:100%}.mf-shape{display:grid;justify-items:center;gap:var(--sp-1);flex:0 1 8.5rem;min-width:0}.mf.is-large .mf-shape{flex-basis:11rem}.mf-shape-svg{display:block;width:100%;height:auto}.mf-shapes--stack{flex-direction:column;align-items:center;gap:var(--sp-2)}.mf-shapes--stack .mf-shape{flex:none;width:100%;max-width:18rem}.mf-fig{fill:var(--surface-3);stroke:var(--ink);stroke-width:3;stroke-linejoin:round}.mf-stroke{fill:none;stroke:var(--ink);stroke-width:3;stroke-linecap:round;stroke-linejoin:round}.mf-dot{fill:var(--accent);stroke:var(--ink);stroke-width:1.5}.mf-ruler-svg{display:block;width:100%;max-width:26rem;height:auto}.mf.is-large .mf-ruler-svg{max-width:32rem}.mf-ruler-body{fill:var(--surface-warm);stroke:var(--ink);stroke-width:2}.mf-tick{fill:none;stroke:var(--ink);stroke-width:2;stroke-linecap:round}.mf-tick.is-half{stroke:var(--muted)}.mf-num{fill:var(--ink);font-weight:700}.mf-bar{fill:none;stroke:var(--accent);stroke-width:4;stroke-linecap:round}.mf-guide{fill:none;stroke:var(--accent);stroke-width:1.5;stroke-dasharray:3 3}.mf-diag{fill:none;stroke:var(--ink);stroke-width:1.8;stroke-dasharray:5 4;stroke-linecap:round}.mf-diag.is-fan{stroke-dasharray:none}.mf-height{fill:none;stroke:var(--accent);stroke-width:2.5;stroke-dasharray:5 4;stroke-linecap:round}.mf-pyth-edge{fill:none;stroke:var(--ink);stroke-width:1.6;stroke-linejoin:round}.mf-pyth-grid{fill:none;stroke:var(--ink);stroke-width:.7;opacity:.35}.mf-pyth-tri{fill:var(--surface-3);stroke:var(--ink);stroke-width:2.4;stroke-linejoin:round}.mf-pyth-num{paint-order:stroke;stroke:var(--surface);stroke-width:4px;stroke-linejoin:round}.mf-circ-disc{fill:var(--surface-3);stroke:var(--ink);stroke-width:2.4}.mf-circ-ring{fill:var(--surface);stroke:var(--accent);stroke-width:3}.mf-circ-outline{fill:none;stroke:var(--accent);stroke-width:3}.mf-motion-image{fill:var(--accent);fill-opacity:.3;stroke:var(--ink);stroke-width:2.4;stroke-linejoin:round}.mf-motion-axis{fill:none;stroke:var(--accent);stroke-width:2.6;stroke-dasharray:9 5;stroke-linecap:round}.mf-pascal-hl{fill:var(--accent);fill-opacity:.18;stroke:var(--ink);stroke-width:1.5}.mf-pascal-hl.is-result{fill-opacity:.45}.mf-pascal-link{fill:none;stroke:var(--ink);stroke-width:1.8;stroke-linecap:round}.mf-motion-link{fill:none;stroke:var(--ink);stroke-width:1.5;stroke-dasharray:1.5 4.5;stroke-linecap:round}.mf-sector-fill{fill:var(--accent);fill-opacity:.35;stroke:var(--ink);stroke-width:2.4;stroke-linejoin:round}.mf-circ-line{fill:none;stroke:var(--ink);stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round}.mf-circ-line.is-bold{stroke:var(--accent);stroke-width:5}.mf-circ-line.is-tick{stroke-width:2}.mf-quad-tint{fill:var(--accent);stroke:none;opacity:.22}.mf-arc{fill:none;stroke:var(--accent);stroke-width:2.5;stroke-linecap:round}.mf-tens-svg{display:block;width:100%;max-width:calc(var(--mf-tens-w, 240) / 240 * 22rem);height:auto}.mf-stick{fill:var(--warm);stroke:var(--ink);stroke-width:.8}.mf-band{fill:var(--accent);stroke:var(--ink);stroke-width:1.2}.mf-frame-svg{display:block;width:100%;max-width:15rem;height:auto}.mf--frame.is-two .mf-frame-svg{max-width:30rem}.mf-frame-box{fill:var(--surface);stroke:var(--ink);stroke-width:2.5}.mf-frame-grid{fill:none;stroke:var(--line);stroke-width:2}.mf-counter{fill:var(--warm);stroke:var(--ink);stroke-width:1.5}.mf-counter.is-added{fill:var(--accent)}.mf-cross.is-thin{stroke-width:2.5}.mf-coin-row{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:var(--sp-2)}.mf-coin{display:grid;place-items:center;border:3px solid var(--ink);border-radius:50%;font-weight:700;line-height:1}.mf-coin.is-rouble{width:3.5rem;height:3.5rem;background:var(--warm);color:var(--accent-ink);font-size:var(--fs-h3)}.mf-coin.is-kopeck{width:2.5rem;height:2.5rem;border-width:2px;background:var(--surface-3);color:var(--ink);font-size:var(--fs-small)}.mf-digits{font-size:var(--fs-display);font-weight:700;letter-spacing:.08em;line-height:var(--lh-tight);text-align:center;overflow-wrap:anywhere}.mf-digits.is-long{font-size:var(--fs-h2);letter-spacing:.02em}.mf-column{display:grid;grid-template-columns:repeat(calc(var(--mf-col-n, 2) + 1),.8em);align-items:center;font-family:ui-monospace,SF Mono,Menlo,Consolas,monospace;font-variant-numeric:tabular-nums;font-size:var(--fs-h1);font-weight:700;line-height:var(--lh-tight)}.mf.is-large .mf-column{font-size:var(--fs-display)}.mf-column.is-decimal{grid-template-columns:.8em repeat(var(--mf-dc-int, 1),.8em) .4em repeat(var(--mf-dc-frac, 1),.8em)}.mf-col-cell.is-comma{min-width:0}.mf-col-cell{display:grid;place-items:center;min-height:1.3em}.mf-col-cell.is-mark{min-height:.7em}.mf-col-cell.is-op{color:var(--accent)}.mf-col-dot{display:block;width:.35em;height:.35em;border-radius:50%;background:var(--accent)}.mf-col-rule{grid-column:1 / -1;height:0;border-top:3px solid var(--ink);margin:var(--sp-1) 0}.mf-col-answer{grid-column:2 / -1;display:grid;place-items:center;min-height:1.3em;border:2px dashed var(--accent);border-radius:var(--r-control);color:var(--accent)}.mf-col-cell.is-down{color:var(--accent)}.mf-ld{grid-template-columns:repeat(var(--mf-ld-n, 3),.8em) auto}.mf-ld-divisor,.mf-ld-quotient{display:block;padding-inline:.3em .1em;border-left:3px solid var(--ink);text-align:left;min-height:1.3em}.mf-ld-divisor{border-bottom:3px solid var(--ink)}.mf-ld-rule{height:0;border-top:3px solid var(--ink);margin:var(--sp-1) 0}.mf-equal-svg{display:block;width:100%;max-width:calc(var(--mf-w) * .07rem);height:auto;margin-inline:auto}.mf.is-large .mf-equal-svg{max-width:calc(var(--mf-w) * .09rem)}.mf-rect-svg{display:block;width:100%;max-width:20rem;height:auto}.mf.is-large .mf-rect-svg{max-width:26rem}.mf-area-fill{fill:var(--surface-3)}.mf-grid{fill:none;stroke:var(--muted);stroke-width:.7}.mf-area-edge{fill:none;stroke:var(--ink);stroke-width:2.5;stroke-linejoin:round}.mf-share-svg{display:block;width:100%;max-width:11rem;height:auto}.mf-share-svg.is-rect{max-width:17rem}.mf.is-large .mf-share-svg{max-width:14rem}.mf.is-large .mf-share-svg.is-rect{max-width:22rem}.mf-part{fill:var(--surface);stroke:var(--ink);stroke-width:2.5;stroke-linejoin:round}.mf-part.is-on{fill:var(--accent-soft)}.mf-disc{fill:var(--accent-soft);stroke:var(--ink);stroke-width:3}.mf-hundreds-svg{display:block;width:100%;max-width:calc(var(--mf-hundreds-w, 120) / 300 * 24rem);height:auto;margin-inline:auto}.mf.is-large .mf-hundreds-svg{max-width:calc(var(--mf-hundreds-w, 120) / 300 * 30rem)}.mf-flat{fill:var(--surface-3)}.mf-flat-edge{fill:none;stroke:var(--ink);stroke-width:1.5;stroke-linejoin:round}.mf-rod{fill:var(--warm);stroke:var(--ink);stroke-width:.8}.mf-cube{fill:var(--accent-soft);stroke:var(--ink);stroke-width:1}.mf-classes{display:grid;grid-template-columns:1fr 1fr;gap:var(--sp-3);width:100%;max-width:26rem}.mf-classes.is-single{grid-template-columns:1fr;max-width:13rem}.mf-class{display:grid;gap:var(--sp-1);min-width:0}.mf-class-title{font-size:var(--fs-small);font-weight:700;color:var(--accent);text-align:center}.mf-class-cells{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border:2px solid var(--ink);border-radius:var(--r-card);overflow:hidden;background:var(--surface)}.mf-class-head{padding:var(--sp-1) 0;font-size:.7rem;font-weight:600;line-height:var(--lh-tight);color:var(--muted);text-align:center;background:var(--surface-3);overflow-wrap:normal}.mf-class-cell{display:grid;place-items:center;min-height:2.6rem;font-size:var(--fs-h2);font-weight:700;font-variant-numeric:tabular-nums;border-top:1px solid var(--line)}.mf-class-cell+.mf-class-cell,.mf-class-head+.mf-class-head{border-left:1px solid var(--line)}.mf.is-large .mf-class-cell{min-height:3.2rem}.mf-road-svg{display:block;width:100%;max-width:22rem;height:auto;margin-inline:auto}.mf.is-large .mf-road-svg{max-width:28rem}.mf-road{fill:var(--surface-3);stroke:var(--ink);stroke-width:2.5}.mf-arrow{fill:none;stroke:var(--accent);stroke-width:3.5;stroke-linecap:round}.mf-arrow-head{fill:var(--accent);stroke:var(--accent);stroke-width:1;stroke-linejoin:round}.mf-meet-mark{fill:var(--accent-soft);stroke:var(--ink);stroke-width:2.5}.mf-ring{fill:none;stroke:var(--ink);stroke-width:3.5}.mf-clock-svg{display:block;width:100%;max-width:14rem;height:auto}.mf.is-large .mf-clock-svg{max-width:17rem}.mf-clock-face{fill:var(--surface);stroke:var(--ink);stroke-width:3}.mf-clock-tick{fill:none;stroke:var(--muted);stroke-width:1.5;stroke-linecap:round}.mf-clock-tick.is-hour{stroke:var(--ink);stroke-width:2.5}.mf-hand-hour{fill:none;stroke:var(--ink);stroke-width:7;stroke-linecap:round}.mf-hand-minute{fill:none;stroke:var(--accent);stroke-width:3.5;stroke-linecap:round}.mf-clock-pin{fill:var(--ink)}.mf-fraction{display:inline-grid;justify-items:center;font-size:var(--fs-display);font-weight:700;line-height:var(--lh-tight)}.mf-frac-num,.mf-frac-den{padding-inline:.25em}.mf-frac-bar{justify-self:stretch;height:0;margin-block:var(--sp-1);border-top:4px solid var(--ink);border-radius:var(--r-pill)}.mf-fracs{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:var(--sp-2) var(--sp-3);font-size:var(--fs-h2);font-weight:700;line-height:var(--lh-tight)}.mf-fracs-op{white-space:nowrap}.mf-fracs-op.is-chain{max-width:100%;text-align:center;white-space:normal}.mf-fracs-keep{white-space:nowrap}.mf-fracs-frac{display:inline-grid;justify-items:center;white-space:nowrap}.mf-fracs-num,.mf-fracs-den{padding-inline:var(--sp-1)}.mf-fracs-bar{justify-self:stretch;height:0;margin-block:var(--sp-1);border-top:3px solid var(--ink);border-radius:var(--r-pill)}.mf.is-large .mf-fracs{font-size:var(--fs-h1)}.mf-solid-svg{display:block;width:100%;max-width:14rem;height:auto}.mf.is-large .mf-solid-svg{max-width:18rem}.mf-wholes-svg{display:block;width:100%;max-width:calc(var(--mf-n, 1) * 7.5rem);height:auto}.mf.is-large .mf-wholes-svg{max-width:calc(var(--mf-n, 1) * 9.5rem)}.mf-strips-svg{display:block;width:100%;max-width:20rem;height:auto}.mf.is-large .mf-strips-svg{max-width:26rem}.mf-grid-svg{display:block;width:100%;max-width:12rem;height:auto}.mf.is-large .mf-grid-svg{max-width:16rem}.mf-grid-cell{fill:var(--surface);stroke:var(--ink-soft, var(--ink));stroke-width:.6}.mf-grid-cell.is-on{fill:var(--accent-soft)}.mf-area-svg{display:block;width:100%;max-width:12rem;height:auto}.mf.is-large .mf-area-svg{max-width:16rem}.mf-area-cell{fill:var(--surface);stroke:var(--ink-soft, var(--ink));stroke-width:.6}.mf-area-cell.is-row{fill:var(--surface-3)}.mf-area-cell.is-col{fill:var(--surface-warm)}.mf-area-cell.is-both{fill:var(--accent)}.mf-grid-frame{fill:none;stroke:var(--ink);stroke-width:2}.mf-tree-svg{display:block;width:100%;max-width:15rem;height:auto}.mf.is-large .mf-tree-svg{max-width:19rem}.mf-tree-line{stroke:var(--ink);stroke-width:2}.mf-tree-node{fill:var(--surface);stroke:var(--ink);stroke-width:2}.mf-tree-node.is-prime{fill:var(--accent-soft);stroke:var(--accent)}.mf-tree-num{fill:var(--ink);font-weight:700;font-variant-numeric:tabular-nums}.mf-mixed{display:inline-flex;align-items:center;gap:var(--sp-2)}.mf-mixed-whole{font-size:var(--fs-display);font-weight:700;line-height:var(--lh-tight)}.mf-solid-face{fill:var(--surface-3);stroke:var(--ink);stroke-width:2.5;stroke-linejoin:round}.mf-solid-face.is-top{fill:var(--surface)}.mf-solid-face.is-side{fill:var(--surface-2)}.mf-solid-face.is-on{fill:var(--accent-soft)}.mf-solid-hidden{fill:none;stroke:var(--muted);stroke-width:2;stroke-dasharray:5 4;stroke-linecap:round}.mf-solid-edge{fill:none;stroke:var(--ink);stroke-width:2.5;stroke-linecap:round}.mf-solid-mark{fill:none;stroke:var(--accent);stroke-width:7;stroke-linecap:round}.mf-geo-svg{display:block;width:100%;max-width:15rem;height:auto}.mf-geo-svg.is-wide{max-width:18rem}.mf.is-large .mf-geo-svg{max-width:20rem}.mf.is-large .mf-geo-svg.is-wide{max-width:24rem}.mf-letter{fill:var(--ink);font-weight:700}.mf-ghost{fill:none;stroke:var(--muted);stroke-width:2.5;stroke-dasharray:6 4;stroke-linecap:round;stroke-linejoin:round}.mf-move{fill:none;stroke:var(--accent);stroke-width:3;stroke-linecap:round;stroke-linejoin:round}.mf-net-face{fill:var(--surface-3)}.mf-net-edge{fill:none;stroke:var(--ink);stroke-width:2.5;stroke-linecap:round}.mf-net-fold{fill:none;stroke:var(--muted);stroke-width:2;stroke-dasharray:5 4;stroke-linecap:round}.mf-solid-face.mf-cube-cell{stroke-width:1.5}.mf-table{width:100%;max-width:26rem;border-collapse:collapse;font-size:var(--fs-body)}.mf-table th,.mf-table td{padding:var(--sp-2) var(--sp-3);border:2px solid var(--line);text-align:left}.mf-table thead th{background:var(--surface-3);font-weight:700}.mf-table tbody th{background:var(--surface-2);font-weight:600}.mf-table td{font-variant-numeric:tabular-nums;background:var(--surface)}.mf-bars-svg{display:block;width:100%;max-width:24rem;height:auto}.mf.is-large .mf-bars-svg{max-width:30rem}.mf-bars-bar{fill:var(--accent);stroke:var(--ink);stroke-width:1.5}.mf-bars-tick,.mf-bars-label{fill:var(--ink);font-size:12px;font-weight:600}.mf-pie-svg{display:block;width:100%;max-width:11rem;height:auto;margin:0 auto}.mf.is-large .mf-pie-svg{max-width:14rem}.mf-pie-slice{stroke:var(--ink);stroke-width:2;stroke-linejoin:round}.mf-pie-legend{list-style:none;margin:var(--sp-3) 0 0;padding:0;display:flex;flex-wrap:wrap;justify-content:center;gap:var(--sp-2) var(--sp-4)}.mf-pie-legend .mf-pie-item{display:flex;align-items:center;gap:var(--sp-2);font-weight:600}.mf-pie-key{flex:none;width:1rem;height:1rem;border:2px solid var(--ink);border-radius:50%}.mf-pie-value{font-variant-numeric:tabular-nums}.mf-pie-slice.is-k0,.mf-pie-key.is-k0{fill:var(--accent);background:var(--accent)}.mf-pie-slice.is-k1,.mf-pie-key.is-k1{fill:var(--warm);background:var(--warm)}.mf-pie-slice.is-k2,.mf-pie-key.is-k2{fill:var(--accent-soft);background:var(--accent-soft)}.mf-pie-slice.is-k3,.mf-pie-key.is-k3{fill:var(--surface-warm);background:var(--surface-warm)}.mf-pie-slice.is-k4,.mf-pie-key.is-k4{fill:var(--surface-3);background:var(--surface-3)}.mf-pie-slice.is-k5,.mf-pie-key.is-k5{fill:var(--accent-mid);background:var(--accent-mid)}.mf-numline-svg{display:block;width:100%;max-width:26rem;height:auto;margin:0 auto}.mf.is-large .mf-numline-svg{max-width:32rem}.mf-tick.is-zero{stroke-width:4.5}.mf-interval-svg,.mf-signs-svg{display:block;width:100%;max-width:26rem;height:auto;margin:0 auto}.mf.is-large .mf-interval-svg,.mf.is-large .mf-signs-svg{max-width:32rem}.mf-ival-band{fill:none;stroke:var(--accent-mid);stroke-width:6;stroke-linecap:butt}.mf-ival-tip{fill:var(--accent-mid)}.mf-ival-common{fill:none;stroke:var(--accent);stroke-width:9;stroke-linecap:butt;opacity:.55}.mf-dot-open{fill:var(--surface);stroke:var(--ink);stroke-width:2.5}.mf-lines-svg,.mf-symmetry-svg{display:block;width:100%;max-width:26rem;height:auto;margin:0 auto}.mf-plane-svg,.mf-rays-svg,.mf-tri-svg,.mf-quad-svg,.mf-pyth-svg,.mf-circ-svg,.mf-tree-svg,.mf-pascal-svg,.mf-transversal-svg{display:block;width:100%;max-width:18rem;height:auto;margin:0 auto}.mf.is-large .mf-lines-svg,.mf.is-large .mf-symmetry-svg{max-width:32rem}.mf.is-large .mf-plane-svg,.mf.is-large .mf-rays-svg,.mf.is-large .mf-tri-svg,.mf.is-large .mf-quad-svg,.mf.is-large .mf-pyth-svg,.mf.is-large .mf-circ-svg,.mf.is-large .mf-pascal-svg,.mf.is-large .mf-transversal-svg{max-width:22rem}.mf-tri-svg.is-twin,.mf.is-large .mf-tri-svg.is-twin{max-width:15rem}.mf-power{display:grid;justify-items:center;gap:var(--sp-3);max-width:100%}.mf-power-row{display:flex;flex-wrap:nowrap;justify-content:center;max-width:100%}.mf-power-title{font-size:var(--fs-h2);font-weight:700}.mf-power-item{display:inline-flex;align-items:center}.mf-power-dot{padding-inline:2px;font-size:var(--fs-h2);font-weight:700;color:var(--accent)}.mf-power-value{font-size:var(--fs-display);font-weight:700;line-height:var(--lh-tight);color:var(--accent)}.mf-area-model{display:grid;gap:var(--sp-2);width:100%;max-width:22rem;margin:0 auto;align-items:stretch}.mf-am-label{display:flex;align-items:center;justify-content:center;padding-inline:var(--sp-2);font-size:var(--fs-body);font-weight:700;color:var(--muted);text-align:center}.mf-am-cell{display:flex;align-items:center;justify-content:center;min-height:3.5rem;padding:var(--sp-2);border:2px solid var(--line);border-radius:var(--r-control);background:var(--surface-2);font-size:var(--fs-body);font-weight:700;text-align:center;white-space:nowrap}.mf.is-large .mf-area-model{max-width:30rem}.mf--comic{width:100%}.mf-comic{display:grid;grid-template-columns:minmax(0,1fr);gap:var(--sp-4);margin:0;padding:0;list-style:none}.mf-comic-frame{display:flex;flex-direction:column;gap:var(--sp-2);min-width:0}.mf-comic-pic{position:relative;display:block}.mf-comic-pic img{display:block;width:100%;height:auto;aspect-ratio:3 / 2;object-fit:cover;border:2px solid var(--line);border-radius:var(--r-control);background:var(--surface-warm)}.mf-comic-num{position:absolute;top:var(--sp-2);left:var(--sp-2);display:grid;place-items:center;min-width:1.75rem;height:1.75rem;padding:0 var(--sp-1);border-radius:var(--r-pill);background:var(--accent);color:var(--surface);font-size:var(--fs-small);font-weight:700;line-height:1}.mf-comic-caption{font-size:var(--fs-small);line-height:1.5;text-align:left;overflow-wrap:anywhere}.mf-comic-speak{margin:var(--sp-3) 0 0}@media(min-width:900px){.mf-comic{grid-template-columns:repeat(5,minmax(0,1fr));gap:var(--sp-2)}.mf-comic-caption{font-size:var(--fs-caption)}}.mf-system{display:grid;grid-template-columns:auto minmax(0,1fr);gap:var(--sp-2);align-items:stretch;width:fit-content;max-width:100%;margin:0 auto}.mf-system-brace{width:.9rem;min-height:4.5rem;height:100%;fill:none;stroke:var(--accent);stroke-width:3;stroke-linecap:round;stroke-linejoin:round}.mf-system-brace path{vector-effect:non-scaling-stroke}.mf-system-rows{display:flex;flex-direction:column;justify-content:center;gap:var(--sp-2)}.mf-system-row{display:block;text-align:left;font-size:var(--fs-h2);font-weight:700;line-height:var(--lh-tight);white-space:nowrap}.mf.is-large .mf-system-row{font-size:var(--fs-display)}.mf-sym-line{fill:none;stroke:var(--muted);stroke-width:2;stroke-dasharray:5 4;stroke-linecap:round}.mf-graph-line{fill:none;stroke:var(--accent);stroke-width:3;stroke-linecap:round}.mf-vec{fill:none;stroke:var(--ink);stroke-width:2.5;stroke-linecap:round}.mf-vec.is-dashed{stroke-dasharray:5 4}.mf-vec-head{fill:var(--ink);stroke:var(--ink);stroke-width:1;stroke-linejoin:round}.mf-vec-head.is-open{fill:none;stroke-width:2.5;stroke-linecap:round}.mf-vec-over{fill:none;stroke:var(--ink);stroke-width:1.3;stroke-linecap:round;stroke-linejoin:round}.mf-axis{fill:none;stroke:var(--ink);stroke-width:2.5;stroke-linecap:round;stroke-linejoin:round}@media(min-width:600px){.math-options{grid-template-columns:repeat(auto-fit,minmax(10rem,1fr))}}.math-nowrap{white-space:nowrap}.math-sup{position:static;top:auto;font-size:.75em;line-height:0;vertical-align:.45em}.landing{background:var(--paper);min-height:100vh}.landing-container{width:min(100% - 96px,1224px);margin-inline:auto}.landing a{text-decoration:none}.landing main:focus{outline:none}.landing-header{min-height:100px;display:flex;align-items:center;gap:36px;border-bottom:1px solid var(--line);position:relative;z-index:5}.landing-brand{display:inline-flex;min-height:44px;align-items:center;gap:10px;font-size:24px;font-weight:800;letter-spacing:-1px;white-space:nowrap}.landing-desktop-nav{display:flex;gap:27px;align-items:center;margin-left:auto}.landing-desktop-nav button,.landing-login,.landing-mobile-nav>a,.landing-mobile-nav>button{border:0;background:none;padding:12px 0;font-size:var(--fs-small);font-weight:600;min-height:44px}.landing-desktop-nav button:hover,.landing-login:hover,.landing-footer a:hover{color:var(--green);text-decoration:underline;text-underline-offset:5px}.landing-login{display:inline-flex;align-items:center;gap:9px;border-left:1px solid var(--line);padding-left:29px;white-space:nowrap}.landing-menu-toggle{display:none;border:0;background:none;padding:10px;margin-right:-10px;min-width:44px;min-height:44px}.landing-mobile-nav{position:absolute;top:calc(100% - 1px);inset-inline:0;background:var(--paper);box-shadow:0 16px 24px var(--shade-ink-sm);border:1px solid var(--line);padding:14px 24px;display:flex;flex-direction:column;align-items:stretch}.landing-mobile-nav>button,.landing-mobile-nav>a{text-align:left;font-size:var(--fs-body)}.landing-hero{display:grid;grid-template-columns:1.05fr 1fr;gap:64px;align-items:center;padding-block:48px 52px}.landing-kicker{text-transform:uppercase;letter-spacing:.1em;font-size:var(--fs-caption);font-weight:700;margin:0 0 22px;color:var(--muted)}.landing h1{font-size:var(--fs-display);font-weight:800;line-height:1.08;letter-spacing:-.065em;margin:0 0 26px}.landing h1 span{color:var(--warm)}.landing-hero-lead{font-size:var(--fs-h3);letter-spacing:-.6px;font-weight:600;margin:0 0 16px}.landing-hero-description{font-size:var(--fs-body);line-height:1.85;color:var(--muted);max-width:43ch;margin:0}.landing-hero-actions{display:flex;flex-wrap:wrap;align-items:center;gap:16px 24px;margin-top:30px}.landing-button{display:inline-flex;justify-content:center;align-items:center;gap:20px;background:var(--solid-bg);color:var(--solid-fg-paper);padding:17px 23px;border:1.5px solid var(--solid-bg);border-radius:var(--r-control);font-size:var(--fs-body);font-weight:700;min-height:56px;transition:background-color .18s,transform .18s}.landing-button:hover{background:var(--solid-hover);transform:translateY(-2px)}.landing-text-link{display:inline-flex;align-items:center;justify-content:flex-start;gap:9px;font-size:var(--fs-caption);font-weight:700;min-height:44px;border:none;background:none;padding:5px 0}.landing-text-link:hover{text-decoration:underline;text-underline-offset:5px}.landing-small-note{display:block;margin:13px 0 0;font-size:var(--fs-caption);color:var(--muted)}.landing-hero-visual{margin:0;background:var(--picture-bg);border-radius:var(--r-lg);overflow:hidden;border:1px solid var(--picture-border);box-shadow:0 20px 48px var(--shade-ink-xs)}.landing-hero-visual img{display:block;width:100%;height:auto;aspect-ratio:1.6;object-fit:cover}.landing-hero-visual figcaption{display:flex;flex-direction:column;gap:7px;padding:22px 24px 25px;font-size:var(--fs-body);letter-spacing:-.4px}.landing-hero-visual figcaption strong{color:var(--warm-on-light);font-weight:700}.landing-visual-caption{color:var(--muted);font-size:var(--fs-caption);letter-spacing:0}.landing-hero-visual.landing-mascot-visual{background:transparent;border:0;box-shadow:none;overflow:visible}.landing-hero-visual.landing-mascot-visual img{transform:scaleX(-1);height:465px;width:100%;aspect-ratio:auto;object-fit:contain}.landing-mascot-visual figcaption{text-align:center;padding:16px 0 0}.landing-brand .brand-mark{width:42px;height:42px}.landing-footer .brand-mark{width:32px;height:32px}.landing-start-mark{display:flex;justify-content:center}.landing-start-mark .brand-mark{width:72px;height:72px}.landing-principles{display:flex;justify-content:space-between;padding-block:25px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);gap:20px}.landing-principles span{display:flex;align-items:center;justify-content:center;gap:10px;font-size:var(--fs-small);font-weight:600;flex:1}.landing-principles span+span{border-left:1px solid var(--line)}.landing-section{padding-block:100px}.landing h2{font-size:var(--fs-h2);line-height:var(--lh-tight);font-weight:700;letter-spacing:-.05em;margin:0}.landing-section-heading{display:grid;grid-template-columns:1.1fr 1fr;column-gap:100px;align-items:end}.landing-section-heading .landing-kicker{grid-column:1 / -1;margin-bottom:19px}.landing-section-heading>p:last-child{font-size:var(--fs-body);color:var(--muted);line-height:1.85;margin:0 0 3px;max-width:49ch}.landing-grades{padding-block:72px 24px}.landing-grade-list{list-style:none;margin:40px 0 0;padding:0;display:grid;grid-template-columns:repeat(9,minmax(0,1fr));gap:10px}.landing-grade-list a{display:grid;justify-items:center;gap:2px;min-height:44px;padding:14px 6px;border:1px solid var(--line);border-radius:var(--r-control);background:var(--paper);color:var(--ink);font-size:var(--fs-small);text-decoration:none}.landing-grade-list a:hover{border-color:var(--green)}.landing-grade-list strong{font-size:var(--fs-h2);line-height:var(--lh-tight)}.landing-method-steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:48px;list-style:none;padding:0;margin:56px 0 0}.landing-method-steps li{border-top:1px solid var(--line);padding-top:21px}.landing-step-number{color:var(--warm);font-size:var(--fs-caption);font-weight:700}.landing h3{font-size:var(--fs-h3);font-weight:700;line-height:1.4;letter-spacing:-.6px;margin:21px 0 10px}.landing-method-steps p{font-size:var(--fs-small);line-height:1.85;color:var(--muted);margin:0}.landing-demo-section{background:var(--surface-2);padding-block:70px 32px;border-block:1px solid var(--line-faint);scroll-margin-top:22px}.landing-demo-heading{display:flex;gap:30px;align-items:flex-end;justify-content:space-between;margin-bottom:36px}.landing-demo-heading .landing-kicker{margin-bottom:16px}.landing-demo-heading h2{font-size:var(--fs-h2);line-height:var(--lh-tight)}.landing-demo-heading>p{font-size:var(--fs-caption);color:var(--muted);margin:0 0 3px}.landing-lesson-preview{display:grid;grid-template-columns:1.1fr 1fr;border:1px solid var(--line);border-radius:var(--r-lg);background:var(--paper);overflow:hidden}.landing-preview-meaning{min-width:0;padding:24px 30px 30px}.landing-preview-top{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:22px;font-size:var(--fs-caption);color:var(--muted)}.landing-preview-words{display:flex;gap:6px}.landing-preview-words button{min-width:48px;height:44px;min-height:44px;padding:0 10px;border:1px solid var(--line);background:transparent;border-radius:var(--r-xs);color:var(--ink);font-size:var(--fs-h3);font-weight:700}.landing-preview-words button:hover{background:var(--surface-3)}.landing-preview-words button[aria-pressed=true]{color:var(--paper);background:var(--ink);border-color:var(--ink)}.landing-preview-meaning>img{display:block;width:100%;height:auto;aspect-ratio:1.65;object-fit:cover;border-radius:var(--r-control);background:var(--picture-bg);outline:1px solid var(--img-outline)}.landing-preview-meaning h3{margin-top:22px;font-size:var(--fs-h3)}.landing-preview-definition{font-size:var(--fs-small);min-height:50px;margin:0}.landing-preview-examples{margin-top:20px}.landing-preview-examples>span{font-size:var(--fs-caption);color:var(--muted)}.landing-preview-examples ol{list-style:decimal;padding:0 0 0 19px;margin:7px 0 0}.landing-preview-examples li{font-size:var(--fs-small);padding-left:3px;margin-top:3px}.landing-preview-examples li::marker{color:var(--muted);font-size:var(--fs-caption)}.landing-preview-practice{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:42px 46px 34px;text-align:center;border-left:1px solid var(--line);min-width:0}.landing-preview-label{font-size:var(--fs-caption);color:var(--muted);text-transform:uppercase;letter-spacing:.1em;font-weight:700}.landing-preview-practice h3{font-size:var(--fs-h2);line-height:var(--lh-tight);letter-spacing:-1.2px;margin:16px 0 13px}.landing-preview-practice>p:not(.landing-preview-note){font-size:var(--fs-caption);color:var(--muted);max-width:34ch;margin:0}.landing-preview-count{display:flex;flex-direction:column;gap:0;margin:24px 0;font-variant-numeric:tabular-nums}.landing-preview-count strong{font-size:var(--fs-display);font-weight:800;line-height:var(--lh-tight);letter-spacing:-3px}.landing-preview-count>span{font-size:var(--fs-caption);color:var(--muted)}.landing-demo-mark{width:100%;border:1px solid var(--mark-border);border-radius:var(--r-control);padding:20px 18px;background:var(--mark-bg)}.landing-demo-mark:hover{background:var(--mark-bg-hover)}.landing-demo-mark>span:first-child{display:flex;align-items:center;justify-content:center;gap:8px;font-weight:700;font-size:var(--fs-body);letter-spacing:-.3px}.landing-demo-progress-row{display:flex;align-items:center;gap:12px;margin-top:20px;font-size:var(--fs-caption);font-weight:700}.landing-demo-progress-row>span:last-child{min-width:38px;text-align:right}.landing-demo-progress{display:block;height:8px;flex:1;background:var(--line);border-radius:var(--r-pill);overflow:hidden}.landing-demo-progress>span{display:block;height:100%;border-radius:inherit;background:var(--accent);transition:width .18s}.landing-demo-mark.is-filled{background:var(--reached-bg);border-color:var(--demo-filled-border);color:var(--reached-fg)}.landing-demo-mark.is-filled:hover{background:var(--accent-strong)}.landing-demo-mark.is-filled .landing-demo-progress{background:var(--overlay-light)}.landing-demo-mark.is-filled .landing-demo-progress>span{background:var(--progress-on)}.landing-demo-undo{display:inline-flex;align-items:center;justify-content:center;gap:7px;border:none;background:none;font-size:var(--fs-caption);min-height:44px;padding:10px;text-decoration:underline;text-underline-offset:4px;margin-top:3px}.landing-demo-undo:disabled{color:var(--muted);text-decoration:none;opacity:.65}.landing-preview-note{font-size:var(--fs-caption);color:var(--muted);margin:14px 0 16px}.landing-preview-practice>.landing-text-link{margin-top:auto;padding-top:12px}.landing-demo-disclaimer{font-size:var(--fs-caption);color:var(--muted);margin:18px 0 0;text-align:center}.landing-course-panel{background:var(--panel-bg);color:var(--panel-fg);border-radius:var(--r-lg);padding:54px 50px;display:grid;grid-template-columns:1.15fr 1fr;gap:65px}.landing-course-panel .landing-kicker{color:var(--on-panel-kicker)}.landing-course-panel h2{font-size:var(--fs-h2);line-height:var(--lh-tight)}.landing-course-copy>p:not(.landing-kicker){font-size:var(--fs-small);line-height:1.9;color:var(--on-panel-text);margin:24px 0 28px;max-width:46ch}.landing-button-light{background:var(--invert-bg);color:var(--invert-fg);border-color:var(--invert-bg)}.landing-button-light:hover{background:var(--invert-hover)}.landing-course-details{display:flex;flex-direction:column;justify-content:space-between;gap:32px;min-width:0}.landing-word-list{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:8px}.landing-word-list li{border:1px solid var(--overlay-light);border-radius:var(--r-xs);padding:7px 13px;font-size:var(--fs-body);font-weight:500;line-height:1.3}.landing-course-stats{margin:0;padding-top:24px;border-top:1px solid var(--overlay-light);display:grid;grid-template-columns:1fr 1fr 1.15fr;gap:16px}.landing-course-stats>div{display:flex;flex-direction:column-reverse;gap:6px;justify-content:flex-end}.landing-course-stats dt{font-size:var(--fs-caption);color:var(--on-panel-text)}.landing-course-stats dd{font-size:var(--fs-h1);font-weight:700;line-height:1;letter-spacing:-1.5px;margin:0}.landing-course-footnote{display:flex;justify-content:space-between;gap:20px;color:var(--muted);font-size:var(--fs-caption);padding:20px 0 0}.landing-format-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-top:43px}.landing-format-card{display:flex;flex-direction:column;align-items:flex-start;padding:36px;border-radius:var(--r-card);border:1px solid var(--line)}.landing-format-card h3{font-size:var(--fs-h3);margin:23px 0 15px}.landing-format-card>p{font-size:var(--fs-small);color:var(--muted);line-height:1.9;margin:0;max-width:51ch}.landing-format-card ul{list-style:none;margin:24px 0;padding:0}.landing-format-card li{display:flex;gap:9px;align-items:flex-start;font-size:var(--fs-caption);margin-top:8px}.landing-format-card li svg{flex-shrink:0;margin-top:2px}.landing-format-card>.landing-text-link{margin-top:auto}.landing-format-card.landing-music-card{flex-direction:row;align-items:center;justify-content:space-between;gap:var(--sp-4);margin-top:var(--sp-5);padding:var(--sp-4) var(--sp-5);color:var(--ink);text-decoration:none}.landing-music-card>span{display:grid;gap:var(--sp-1)}.landing-music-card strong{font-size:var(--fs-h3)}.landing-music-card>span>span{color:var(--muted);font-size:var(--fs-small)}.landing-music-card:hover{border-color:var(--green)}.landing-music-card:focus-visible{outline:var(--focus-ring);outline-offset:3px}.landing-format-teacher{background:var(--surface-2);border-color:var(--surface-2)}.landing-faq{display:grid;grid-template-columns:1fr 1.4fr;gap:80px}.landing-faq h2{font-size:var(--fs-h2);line-height:var(--lh-tight)}.landing-faq .landing-kicker{margin-bottom:17px}.landing-faq-list{border-top:1px solid var(--line)}.landing-faq details{border-bottom:1px solid var(--line)}.landing-faq summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:20px;min-height:76px;padding:20px 0;font-size:var(--fs-small);font-weight:700}.landing-faq summary::-webkit-details-marker{display:none}.landing-faq summary svg{flex-shrink:0}.landing-faq summary:hover{color:var(--green)}.landing-faq summary:focus-visible{outline:3px solid var(--focus-color);outline-offset:5px}.landing-faq details[open] summary svg{transform:rotate(180deg)}.landing-faq details p{color:var(--muted);font-size:var(--fs-small);line-height:1.9;margin:0;padding:0 30px 25px 0}.landing-start{text-align:center;padding-block:64px 78px;border-top:1px solid var(--line)}.landing-start>svg{margin-inline:auto}.landing-start .landing-kicker{margin-top:20px;margin-bottom:17px}.landing-start h2{font-size:var(--fs-h2);line-height:var(--lh-tight)}.landing-start>p:not(.landing-kicker){color:var(--muted);font-size:var(--fs-small);line-height:1.9;margin:23px 0 26px}.landing-start .landing-button{min-width:260px}.landing-footer{border-top:1px solid var(--line);display:flex;align-items:center;gap:24px;padding-block:31px 36px;font-size:var(--fs-caption);color:var(--muted)}.landing-footer .landing-brand{font-size:18px;color:var(--ink);letter-spacing:-.6px}.landing-footer p{margin:0}.landing-footer nav{display:flex;gap:25px;margin-left:auto}.landing-footer nav a{display:inline-flex;align-items:center;min-height:44px}@media(min-width:1440px){.landing-hero{padding-block:85px}}@media(max-width:1100px){.landing-container{width:calc(100% - 64px)}.landing-header{min-height:88px;gap:23px}.landing-brand{font-size:21px}.landing-desktop-nav{gap:19px}.landing-desktop-nav button,.landing-login{font-size:var(--fs-caption)}.landing-login{padding-left:20px}.landing-hero{gap:35px;padding-block:58px}.landing-hero-actions{gap:8px 17px;margin-top:24px}.landing-section{padding-block:80px}.landing-section-heading{column-gap:55px}.landing-method-steps{gap:30px}.landing-preview-practice{padding-inline:28px}.landing-course-panel{padding:40px 34px;gap:35px}.landing-word-list{gap:6px}.landing-word-list li{padding:6px 10px}.landing-format-card{padding:30px}.landing-faq{gap:45px}.landing-footer{gap:18px}}@media(max-width:960px){.landing-hero-visual.landing-mascot-visual img{height:330px}.landing-brand .brand-mark{width:34px;height:34px}.landing-grades{padding-block:48px 8px}.landing-grade-list{grid-template-columns:repeat(5,minmax(0,1fr));margin-top:24px}.landing-desktop-nav{display:none}.landing-login{margin-left:auto;border-left:0;padding-left:0;font-size:var(--fs-small)}.landing-menu-toggle{display:inline-flex;align-items:center;justify-content:center}.landing-hero{gap:30px}.landing-hero-visual img{aspect-ratio:1.05}.landing-hero-visual figcaption{padding:18px}.landing-principles span{font-size:var(--fs-caption)}.landing-section-heading{column-gap:35px}.landing-section-heading>p:last-child{font-size:var(--fs-small)}.landing-demo-heading{display:block}.landing-demo-heading>p{margin-top:16px}.landing-desktop-break{display:none}.landing-preview-meaning{padding:22px}.landing-preview-practice{padding:32px 22px 25px}.landing-demo-mark{padding-inline:12px}.landing-demo-mark>span:first-child{font-size:var(--fs-caption)}.landing-course-panel{grid-template-columns:1fr;gap:38px}.landing-course-copy>p:not(.landing-kicker){max-width:62ch}.landing-course-details{display:grid;grid-template-columns:1.2fr 1fr;align-items:end;gap:32px}.landing-course-stats{grid-template-columns:1fr 1fr;row-gap:23px}.landing-course-stats>div:last-child{grid-column:1 / -1}.landing-format-card{padding:26px}.landing-footer>p{display:none}.landing-container{width:calc(100% - 48px)}.landing-header{min-height:80px}.landing-hero{grid-template-columns:1fr;gap:38px;padding-block:46px 38px}.landing-hero-copy{max-width:560px}.landing-hero-description{max-width:51ch}.landing-hero-actions{margin-top:27px;gap:12px 24px}.landing-hero-visual{width:100%}.landing-hero-visual img{aspect-ratio:1.65}.landing-hero-visual figcaption{padding:18px 22px 21px}.landing-principles{padding-block:23px;gap:16px}.landing-principles span{flex-direction:column;text-align:center;gap:9px;padding-inline:5px}.landing-section{padding-block:64px}.landing-section-heading{display:block}.landing-section-heading>p:last-child{margin-top:21px}.landing-method-steps{grid-template-columns:1fr;gap:25px;margin-top:33px}.landing-method-steps li{display:grid;grid-template-columns:27px 1fr;gap:0 16px;padding-top:24px}.landing-step-number{grid-row:1 / 3;margin-top:3px}.landing-method-steps h3{margin:0 0 9px}.landing-demo-section{padding-block:48px 25px}.landing-demo-heading{margin-bottom:26px}.landing-lesson-preview{grid-template-columns:1fr}.landing-preview-meaning{padding:20px}.landing-preview-meaning>img{aspect-ratio:1.6}.landing-preview-top{margin-bottom:18px}.landing-preview-definition{min-height:0}.landing-preview-practice{border-left:0;border-top:1px solid var(--line);padding:30px 24px 27px}.landing-preview-practice h3 br{display:none}.landing-preview-practice>p:not(.landing-preview-note){max-width:40ch}.landing-preview-count{margin:17px 0 20px}.landing-demo-mark{max-width:390px;padding:21px 20px}.landing-demo-mark>span:first-child{font-size:var(--fs-body)}.landing-preview-practice>.landing-text-link{margin-top:0}.landing-demo-disclaimer{text-align:left}.landing-course-panel{padding:34px 27px;gap:34px}.landing-course-details{display:flex;align-items:stretch;gap:30px}.landing-word-list{gap:7px}.landing-word-list li{padding:6px 11px}.landing-course-stats{grid-template-columns:1fr 1fr 1.3fr;gap:16px}.landing-course-stats>div:last-child{grid-column:auto}.landing-course-footnote{flex-direction:column;gap:7px;padding-left:5px}.landing-format-grid{grid-template-columns:1fr;margin-top:30px;gap:17px}.landing-format-card{padding:29px}.landing-faq{display:block}.landing-faq-list{margin-top:28px}.landing-start{padding-block:48px 55px}.landing-footer{flex-wrap:wrap;column-gap:15px;row-gap:10px;padding-block:24px}.landing-footer .landing-brand{font-size:17px}.landing-footer nav{margin-left:0;order:1;width:100%;gap:22px}.landing-footer>span{margin-left:auto}}@media(max-width:480px){.landing-header{gap:15px}.landing-brand{font-size:20px;gap:7px}.landing-brand svg{width:25px}.landing-login{display:none}.landing-menu-toggle{margin-left:auto}.landing-preview-top{gap:8px}.landing-preview-words{gap:4px}.landing-preview-words button{min-width:44px;min-height:44px;padding-inline:7px}.landing-course-panel{padding-inline:23px}.landing-course-stats{gap:12px}.landing-demo-mark>span:first-child{font-size:var(--fs-small)}}.atelier-preview{display:flex;align-items:center;flex-wrap:wrap;gap:14px 24px;padding-block:20px;border-bottom:1px solid var(--line)}.atelier-preview-label{margin-right:auto}.atelier-preview-label span{display:block;font-size:var(--fs-small);font-weight:700}.atelier-preview-label small{display:block;font-size:var(--fs-caption);color:var(--muted);margin-top:4px}.motion-illustration{position:relative}.motion-illustration img{display:block;width:100%;height:auto}.landing-hero-visual.landing-mascot-visual .motion-illustration img{transform:none}.motion-illustration canvas{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:contain;opacity:0;pointer-events:none}.motion-illustration[data-ready=true] canvas{opacity:1}.motion-illustration[data-ready=true] img{opacity:0}.book-experiment{padding-block:68px;border-bottom:1px solid var(--line);scroll-margin-top:24px}.book-experiment header>p:last-child{color:var(--muted);line-height:1.8;font-size:var(--fs-body);margin:20px 0 28px}.book-experiment-comparison{display:grid;grid-template-columns:1fr 1fr;gap:24px}.book-experiment figure{margin:0;min-width:0}.book-experiment figure>img{display:block;width:100%;height:auto;aspect-ratio:1279 / 800;border-radius:var(--r-card)}.book-experiment figcaption{font-size:var(--fs-caption);color:var(--muted);margin-top:12px}.layered-scene{position:relative;overflow:hidden;border-radius:var(--r-card);background:var(--picture-bg)}.layered-scene-poster,.layered-scene-stack,.layered-scene-base,.layered-scene-foreground{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%}.layered-scene img{display:block;object-fit:contain}.layered-scene-stack{opacity:0}.layered-scene-stack>svg{position:absolute}.layered-scene [data-moving-layer]{position:absolute}.layered-scene [data-moving-layer] img{width:100%;height:100%}.layered-scene[data-ready=true] .layered-scene-stack{opacity:1}.layered-scene[data-ready=true] .layered-scene-poster{opacity:0}.book-experiment-controls{display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap;margin-top:22px}.book-experiment-controls>div{display:flex;gap:6px}.book-experiment-controls button{background:transparent;border:1px solid var(--line);border-radius:var(--r-control);min-height:44px;padding:10px 15px;font-size:var(--fs-caption)}.book-experiment-controls button[aria-pressed=true]{background:var(--ink);color:var(--paper);border-color:var(--ink)}.book-experiment-replay{display:inline-flex;gap:8px;align-items:center}@media(prefers-reduced-motion:reduce){.motion-illustration[data-ready=true] canvas{opacity:0}.motion-illustration[data-ready=true] img{opacity:1}.layered-scene[data-ready=true]:not([data-manual=true]) .layered-scene-stack{opacity:0}.layered-scene[data-ready=true]:not([data-manual=true]) .layered-scene-poster{opacity:1}}:root[data-theme=dark] .landing{color:var(--ink);color-scheme:dark}:root[data-theme=dark] .landing .landing-format-teacher{border-color:var(--line)}:root[data-theme=dark] .landing .landing-hero-visual.landing-mascot-visual{background:radial-gradient(ellipse at 50% 43%,var(--mascot-glow-a) 0%,var(--mascot-glow-b) 42%,transparent 70%)}@media(max-width:960px){.atelier-preview{gap:12px}.atelier-preview-label{width:100%}.book-experiment{padding-block:44px}.book-experiment-comparison{grid-template-columns:1fr;gap:24px}}.landing-desktop-nav>a{font-size:var(--fs-small);font-weight:600;min-height:44px;display:inline-flex;align-items:center}.landing-desktop-nav>a:hover{text-decoration:underline;text-underline-offset:5px}.editorial-heading{padding:68px 0 48px;max-width:950px}.editorial-heading h1{font-size:var(--fs-display);line-height:var(--lh-tight)}.editorial-heading h1 span{color:var(--warm)}.editorial-heading>p:not(.landing-kicker){max-width:65ch;font-size:var(--fs-body);line-height:1.85;color:var(--muted);margin:24px 0 0}.article-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:48px 30px;padding-bottom:36px}.article-card{min-width:0;display:flex;flex-direction:column;align-items:flex-start}.article-card-image{display:block;width:100%;overflow:hidden;border-radius:var(--r-control)}.article-card-image img{display:block;width:100%;height:auto;aspect-ratio:1.6;object-fit:cover;transition:transform .2s}.article-card-image:hover img{transform:scale(1.025)}.article-card-meta{display:flex;flex-wrap:wrap;gap:7px 12px;font-size:var(--fs-caption);color:var(--muted);margin:20px 0 12px}.article-card h2{font-size:var(--fs-h3);line-height:var(--lh-tight);letter-spacing:-.7px;margin:0 0 13px}.article-card h2 a:hover{text-decoration:underline;text-underline-offset:4px}.article-card>p{font-size:var(--fs-small);color:var(--muted);margin:0 0 15px}.article-card>.landing-text-link{margin-top:auto}.editorial-invite{display:flex;align-items:center;gap:25px;border-block:1px solid var(--line);padding:33px 0;margin:42px 0 60px}.editorial-invite>svg{flex-shrink:0}.editorial-invite h2{font-size:var(--fs-h2);line-height:var(--lh-tight);letter-spacing:-.8px}.editorial-invite p{font-size:var(--fs-small);color:var(--muted);margin:8px 0 0}.editorial-invite .landing-button{margin-left:auto;white-space:nowrap}.article-breadcrumb{display:flex;gap:10px;flex-wrap:wrap;font-size:var(--fs-caption);color:var(--muted);padding:28px 0}.article-breadcrumb a:hover{text-decoration:underline}.article-heading{max-width:910px;padding:26px 0 34px}.article-heading h1{font-size:var(--fs-h1);line-height:var(--lh-tight);letter-spacing:-.045em}.article-lead{font-size:var(--fs-h3);line-height:1.85;margin:25px 0;color:var(--muted);max-width:70ch}.article-byline{display:flex;flex-wrap:wrap;gap:9px 23px;font-size:var(--fs-caption);color:var(--muted)}.article-cover{margin:0 0 48px;max-width:100%}.article-cover img{display:block;width:100%;height:auto;max-height:430px;object-fit:cover;border-radius:var(--r-card)}.article-cover figcaption{font-size:var(--fs-caption);color:var(--muted);margin-top:12px}.article-reading-grid{display:grid;grid-template-columns:240px minmax(0,740px);gap:65px;align-items:start}.article-toc{position:sticky;top:28px;padding-block:8px 16px;border-top:1px solid var(--line);font-size:var(--fs-caption)}.article-toc>strong{display:block;margin:10px 0 15px;font-weight:700}.article-toc ol{list-style:decimal;margin:0;padding-left:17px}.article-toc li{padding-left:4px;margin-bottom:13px}.article-toc a{color:var(--muted)}.article-toc a:hover{text-decoration:underline;color:var(--ink)}.article-body{font-size:var(--fs-body);line-height:1.95;max-width:66ch}.article-body section{scroll-margin-top:30px}.article-body h2{font-size:var(--fs-h2);line-height:var(--lh-tight);margin:0 0 22px;letter-spacing:-.9px}.article-body p{margin:0 0 22px}.article-body section+section{margin-top:44px}.article-body .article-sources{border-top:1px solid var(--line);padding-top:28px}.article-sources h2{font-size:var(--fs-h3);line-height:var(--lh-tight)}.article-sources a{text-decoration:underline;text-underline-offset:4px;font-size:var(--fs-small)}.article-related{margin-top:65px;padding-top:40px;border-top:1px solid var(--line)}.article-related>h2{font-size:var(--fs-h2);line-height:var(--lh-tight);margin-bottom:30px}.article-grid-related{grid-template-columns:1fr 1fr;max-width:950px}.course-public-heading{max-width:1000px}.course-public-heading .landing-button{margin-top:28px}.course-public-overview{display:grid;grid-template-columns:1fr 1fr;gap:45px;align-items:center;padding-bottom:60px;border-bottom:1px solid var(--line)}.course-public-overview>img{display:block;width:100%;height:auto;border-radius:var(--r-card)}.course-public-overview h2{font-size:var(--fs-h2);line-height:var(--lh-tight)}.course-public-overview p:not(.landing-kicker){font-size:var(--fs-small);line-height:1.9;color:var(--muted);margin-top:18px}.public-course-program{padding:58px 0 0;max-width:1000px}.public-course-program>h2{font-size:var(--fs-h2);line-height:var(--lh-tight);margin-bottom:34px}.public-course-program h3{display:flex;gap:17px;font-size:var(--fs-h3)}.public-course-program h3>span{font-size:var(--fs-caption);color:var(--warm);align-self:center}.public-course-program ul{list-style:none;padding:0;margin:0 0 42px}.public-course-program li{display:grid;grid-template-columns:90px 1fr;gap:20px;padding:16px 0;border-bottom:1px solid var(--line)}.public-course-program li strong{font-size:var(--fs-h3)}.public-course-program li>span{font-size:var(--fs-small);color:var(--muted)}.public-course-note{font-size:var(--fs-small);color:var(--muted)}.not-found{min-height:60vh}.not-found>div{display:flex;gap:30px;align-items:center;margin-top:32px}@media(max-width:1100px){.article-grid{grid-template-columns:1fr 1fr}.article-reading-grid{grid-template-columns:190px minmax(0,1fr);gap:35px}.editorial-invite{flex-wrap:wrap}.editorial-invite .landing-button{margin-left:54px}}@media(max-width:960px){.editorial-heading{padding:45px 0 34px}.article-grid{grid-template-columns:1fr;gap:34px}.article-card-image img{max-height:300px}.editorial-invite{display:block;margin-bottom:40px}.editorial-invite>svg{margin-bottom:18px}.editorial-invite .landing-button{margin:22px 0 0;white-space:normal}.article-heading{padding-top:15px}.article-lead{font-size:var(--fs-body)}.article-cover{margin-bottom:30px}.article-cover img{aspect-ratio:1.5;max-height:none}.article-reading-grid{display:block}.article-toc{position:static;margin-bottom:35px}.article-toc ol{columns:1}.article-body{line-height:1.9}.article-related{margin-top:40px}.article-grid-related{grid-template-columns:1fr}.course-public-overview{grid-template-columns:1fr;gap:30px;padding-bottom:35px}.public-course-program{padding-top:40px}.public-course-program li{grid-template-columns:65px 1fr;gap:14px}.public-course-program li>span{font-size:var(--fs-caption)}.not-found>div{flex-wrap:wrap;gap:15px}}@font-face{font-family:Manrope;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/manrope-cyrillic-400-normal-BMzJvInZ.woff2) format("woff2"),url(/assets/manrope-cyrillic-400-normal-Dvx59UGC.woff) format("woff")}@font-face{font-family:Manrope;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/manrope-cyrillic-500-normal-B1OEZity.woff2) format("woff2"),url(/assets/manrope-cyrillic-500-normal-CNwnNrRC.woff) format("woff")}@font-face{font-family:Manrope;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/manrope-cyrillic-600-normal-DvRl3Mj-.woff2) format("woff2"),url(/assets/manrope-cyrillic-600-normal-It4mZcQk.woff) format("woff")}@font-face{font-family:Manrope;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/manrope-cyrillic-700-normal-Dw_fZAg2.woff2) format("woff2"),url(/assets/manrope-cyrillic-700-normal-7JNVKxyl.woff) format("woff")}@font-face{font-family:Manrope;font-style:normal;font-display:swap;font-weight:800;src:url(/assets/manrope-cyrillic-800-normal-AvdZ5mAV.woff2) format("woff2"),url(/assets/manrope-cyrillic-800-normal-BuEMjQU-.woff) format("woff")}@font-face{font-family:Manrope;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/manrope-latin-400-normal-PaqtzbVb.woff2) format("woff2"),url(/assets/manrope-latin-400-normal-8tf8FM3T.woff) format("woff")}@font-face{font-family:Manrope;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/manrope-latin-500-normal-BYYD-dBL.woff2) format("woff2"),url(/assets/manrope-latin-500-normal-DMZssgOp.woff) format("woff")}@font-face{font-family:Manrope;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/manrope-latin-600-normal-4f0koTD-.woff2) format("woff2"),url(/assets/manrope-latin-600-normal-BqgrALkZ.woff) format("woff")}@font-face{font-family:Manrope;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/manrope-latin-700-normal-BZp_XxE4.woff2) format("woff2"),url(/assets/manrope-latin-700-normal-DGRFkw-m.woff) format("woff")}@font-face{font-family:Manrope;font-style:normal;font-display:swap;font-weight:800;src:url(/assets/manrope-latin-800-normal-BfWYOv1c.woff2) format("woff2"),url(/assets/manrope-latin-800-normal-uHUdIJgA.woff) format("woff")}:root{--paper: #f8f5ec;--ink: #174b3b;--muted: #547064;--line: #c9cfc3;--green: #24734f;--freq-orange: #b4570a;--freq-green: #2a7a4f;--freq-teal: #12797f;--freq-blue: #2f62b3;--freq-purple: #7c4ab8;--canvas: #eeefea;--bg: var(--canvas);--surface: var(--paper);--surface-2: #e8eddf;--surface-3: #e0ebdc;--surface-warm: #ede4d1;--surface-danger: #f3e3d9;--surface-warn: #f2e4d5;--accent: var(--green);--accent-strong: #1c6443;--accent-mid: #547a5e;--accent-soft: #7b9e83;--accent-ink: #ffffff;--warm: #b8532f;--danger: #843c28;--focus-ring: 3px solid var(--accent);--focus-color: #b46a37;--field-bg: #fffcf4;--field-border: #a3b09f;--line-faint: #dae0d3;--rule-soft: #bdc9b6;--rule-warn: #bdc9b6;--rule-strong: #b0bba3;--rule-dashed: #b6c1ac;--selected-border: var(--accent-mid);--search-border: var(--line);--mark-bg: var(--surface-2);--mark-bg-hover: var(--surface-3);--mark-border: #9daf9d;--reached-bg: var(--accent);--reached-border: var(--accent);--reached-fg: #ffffff;--demo-filled-border: var(--green);--solid-bg: var(--ink);--solid-fg: #ffffff;--solid-fg-paper: var(--paper);--solid-hover: var(--accent-strong);--solid-active: var(--accent-strong);--invert-bg: var(--paper);--invert-fg: var(--ink);--invert-hover: var(--surface-3);--next-hover: var(--surface-2);--next-active: var(--surface-2);--btn-off-bg: transparent;--btn-off-fg: #8e9d90;--btn-off-border: #b8c1b3;--step-done-border: #d4e1cf;--step-done-fg: var(--green);--step-off-fg: #84948a;--undo-off-fg: #9ba69a;--note-fg: #6a7e70;--save-error: #995326;--scrim: #173f2e88;--panel-bg: var(--ink);--panel-fg: var(--paper);--img-outline: transparent;--picture-bg: #eee6d6;--picture-border: #dcd8c9;--warm-on-light: #a95330;--on-panel-kicker: #b8cbb9;--on-panel-text: #ccdacb;--overlay-light: #ffffff33;--progress-on: #d4e7c6;--mascot-glow-a: #bc987315;--mascot-glow-b: #bc987307;--shade-ink-xs: #174b3b0a;--shade-ink-sm: #174b3b14;--shade-ink-lg: #173f2e38;--shade-black-xs: #00000008;--shade-black-md: #00000024;--sp-1: 4px;--sp-2: 8px;--sp-3: 12px;--sp-4: 16px;--sp-5: 24px;--sp-6: 40px;--r-xs: 4px;--r-control: 10px;--r-card: 12px;--r-lg: 18px;--r-pill: 999px;--fs-caption: 12px;--fs-small: 14px;--fs-body: 16px;--fs-h3: clamp(18px, 2vw, 20px);--fs-h2: clamp(24px, 3vw, 32px);--fs-h1: clamp(30px, 4.5vw, 46px);--fs-display: clamp(42px, 5.1vw, 70px);--lh-tight: 1.2;--lh-body: 1.6;--shadow-1: 0 6px 28px #174b3b26;--ease: .18s}:root[data-theme=dark]{--canvas: #0f1d17;--paper: #15251f;--ink: #f0ecdf;--muted: #b3c3b6;--line: #43574a;--green: #8ac69c;--freq-orange: #f2a65a;--freq-green: #86c99a;--freq-teal: #5fc8cc;--freq-blue: #8db4f2;--freq-purple: #c4a3f2;--accent-ink: #15251f;--warm: #e4a377;--danger: #f1b99c;--surface-2: #1e3027;--surface-3: #2a4937;--surface-warm: #1e3027;--surface-danger: #462d27;--surface-warn: #43372a;--accent-strong: #408959;--accent-mid: #8ac69c;--accent-soft: #b9d6ae;--focus-color: #e4a377;--shadow-1: 0 6px 28px #00000040;--field-bg: #20362b;--field-border: #6e8b77;--line-faint: var(--line);--rule-soft: var(--line);--rule-warn: #8d785a;--rule-strong: #6b826b;--rule-dashed: #6b826b;--selected-border: #708d75;--search-border: #526d55;--mark-bg: #293e31;--mark-bg-hover: #334c3b;--mark-border: #79937e;--reached-bg: #38794f;--reached-border: #76b58a;--reached-fg: #fff6e7;--demo-filled-border: #79937e;--solid-bg: #b9d6ae;--solid-fg: #173629;--solid-fg-paper: #173629;--solid-hover: #c9e4c0;--solid-active: #a7c79b;--invert-bg: #b9d6ae;--invert-fg: #173629;--invert-hover: #c9e4c0;--next-hover: #2c4436;--next-active: #35513f;--btn-off-bg: #24372c;--btn-off-fg: #b3c3b6;--btn-off-border: #617563;--step-done-border: #526d55;--step-done-fg: #b9dfb9;--step-off-fg: #a3b3a5;--undo-off-fg: #9eafa1;--note-fg: #b3c3b6;--save-error: #efb18f;--scrim: #07140ec9;--panel-bg: #243e30;--panel-fg: var(--ink);--img-outline: #ffffff15}.landing{--muted: #526f60}:root[data-theme=dark] .landing{--muted: #b3c3b6}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--sp-2);min-height:48px;padding:0 var(--sp-4);border:1.5px solid var(--ink);border-radius:var(--r-control);background:transparent;color:var(--ink);font:inherit;font-size:var(--fs-body);font-weight:700;text-decoration:none;cursor:pointer;transition:background-color var(--ease),border-color var(--ease),color var(--ease)}.btn:hover:not(:disabled){background:var(--surface-2)}.btn:focus-visible{outline:var(--focus-ring);outline-offset:2px}.btn:disabled{opacity:.5;cursor:default}.btn--primary{min-height:56px;border-color:var(--accent);background:var(--accent);color:var(--accent-ink);font-size:var(--fs-body)}.btn--primary:hover:not(:disabled){background:var(--accent-strong);border-color:var(--accent-strong)}.btn--secondary{border-color:var(--line);background:transparent}.btn--quiet{min-height:44px;border:0;background:transparent}.btn--quiet:hover:not(:disabled){background:transparent;text-decoration:underline;text-underline-offset:4px}.btn--pill{min-height:44px;border-radius:var(--r-pill)}.btn--small{min-height:44px;font-size:var(--fs-small)}.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-card);padding:var(--sp-5)}.card--tight{padding:var(--sp-4)}.card--tinted{background:var(--surface-2)}.card--interactive{cursor:pointer}.card--interactive:hover{background:var(--surface-3)}.tile{display:grid;gap:var(--sp-1);min-height:56px;padding:var(--sp-4);background:var(--surface);border:1px solid var(--line);border-radius:var(--r-card)}.eyebrow{font-size:var(--fs-caption);font-weight:700;letter-spacing:.1em;color:var(--muted)}.progress-row{display:flex;align-items:center;gap:var(--sp-3)}.progress-row__track{display:block;flex:1;height:8px;border-radius:var(--r-pill);background:var(--line);overflow:hidden}.progress-row__fill{display:block;height:100%;border-radius:var(--r-pill);background:var(--accent);transition:width var(--ease)}.section-header{margin-bottom:var(--sp-4)}.freq-heading{display:flex;align-items:center;flex-wrap:wrap;column-gap:var(--sp-2)}.freq-heading>h1,.freq-heading>h2{min-width:0}.freq-badge-wrap{position:relative;display:inline-flex;vertical-align:middle;font-size:var(--fs-caption);font-weight:400;letter-spacing:normal;text-transform:none}.freq-badge-wrap[data-hue=orange]{--freq-color: var(--freq-orange)}.freq-badge-wrap[data-hue=green]{--freq-color: var(--freq-green)}.freq-badge-wrap[data-hue=teal]{--freq-color: var(--freq-teal)}.freq-badge-wrap[data-hue=blue]{--freq-color: var(--freq-blue)}.freq-badge-wrap[data-hue=purple]{--freq-color: var(--freq-purple)}.freq-badge{position:relative;display:inline-flex;width:2rem;height:2rem;padding:0;border:0;border-radius:var(--r-pill);background:transparent;color:var(--ink);cursor:pointer}.freq-badge:before{content:"";position:absolute;top:-.5rem;right:-.5rem;bottom:-.5rem;left:-.5rem}.freq-mark{margin-inline-start:var(--sp-1)}.freq-mark .freq-badge{width:1.25rem;height:1.25rem;cursor:inherit}.freq-mark .freq-badge:before{content:none}.freq-badge:focus-visible{outline:var(--focus-ring);outline-offset:2px}.freq-badge svg{width:100%;height:100%}.freq-badge-track{fill:var(--paper);stroke:var(--line);stroke-width:3}.freq-badge-arc{fill:none;stroke:var(--freq-color);stroke-width:3;stroke-linecap:round}.freq-badge-number{fill:currentColor;font-size:15px;font-weight:700}.freq-badge-tip{position:absolute;z-index:5;top:calc(100% + var(--sp-2));left:0;width:max-content;max-width:min(18rem,80vw);padding:var(--sp-2) var(--sp-3);border:1px solid var(--line);border-radius:var(--r-control);background:var(--paper);color:var(--ink);font-size:var(--fs-caption);line-height:1.4;text-align:left}/*! tailwindcss v4.3.3 | MIT License | https://tailwindcss.com */@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-ordinal:initial;--tw-slashed-zero:initial;--tw-numeric-figure:initial;--tw-numeric-spacing:initial;--tw-numeric-fraction:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-outline-style:solid;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial;--tw-ease:initial}}}@layer theme{:root,:host{--font-sans:-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--spacing:.25rem;--ease-in:cubic-bezier(.4, 0, 1, 1);--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4, 0, .2, 1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;-moz-tab-size:4;tab-size:4;line-height:1.5;font-family:var(--default-font-family,-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring:where(:not(iframe)){outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab,red,red)){::placeholder{color:color-mix(in oklab,currentcolor 50%,transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){-webkit-appearance:button;-moz-appearance:button;appearance:button}::file-selector-button{-webkit-appearance:button;-moz-appearance:button;appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.invisible{visibility:hidden}.visible{visibility:visible}.sr-only{clip-path:inset(50%);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.fixed{position:fixed}.relative{position:relative}.static{position:static}.isolate{isolation:isolate}.container{width:100%}@media(min-width:40rem){.container{max-width:40rem}}@media(min-width:48rem){.container{max-width:48rem}}@media(min-width:64rem){.container{max-width:64rem}}@media(min-width:80rem){.container{max-width:80rem}}@media(min-width:96rem){.container{max-width:96rem}}.m-6{margin:calc(var(--spacing) * 6)}.block{display:block}.contents{display:contents}.grid{display:grid}.hidden{display:none}.inline{display:inline}.table{display:table}.table-cell{display:table-cell}.h-22{height:calc(var(--spacing) * 22)}.h-54{height:calc(var(--spacing) * 54)}.grow{flex-grow:1}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.resize{resize:both}.flex-wrap{flex-wrap:wrap}.rounded{border-radius:.25rem}.italic{font-style:italic}.ordinal{--tw-ordinal:ordinal;font-variant-numeric:var(--tw-ordinal,) var(--tw-slashed-zero,) var(--tw-numeric-figure,) var(--tw-numeric-spacing,) var(--tw-numeric-fraction,)}.shadow{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a), 0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.ring{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.blur{--tw-blur:blur(8px);filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.invert{--tw-invert:invert(100%);filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.filter{filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.ease-in{--tw-ease:var(--ease-in);transition-timing-function:var(--ease-in)}.block-3{block-size:calc(var(--spacing) * 3)}}.grammar-usage{border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin:2rem 0;padding:1.25rem 0}.grammar-usage summary{cursor:pointer;font-weight:700}.grammar-usage p,.grammar-usage dd,.grammar-usage li{line-height:1.75}.grammar-usage-sentence{font-size:var(--fs-h3);font-weight:700}.grammar-usage dl>div{margin:1rem 0}.grammar-usage dt{font-weight:700}.grammar-usage dd{margin-left:1rem}.grammar-usage dd a{font-size:var(--fs-small);text-underline-offset:.2rem;display:block}.grammar-usage-note{border-left:3px solid var(--line);padding-left:1rem}.grammar-usage mark{background:var(--line);color:var(--ink);border-radius:var(--r-xs);padding:0 .15rem}.text-signs{border-top:1px solid var(--line);margin:1.5rem 0;padding:1rem 0}.text-signs summary{cursor:pointer;font-weight:700}.text-signs p{font-size:var(--fs-body)}.text-signs>div{flex-wrap:wrap;gap:.6rem;margin-top:1rem;display:flex}.text-signs a,.text-signs button{border:1px solid var(--line);border-radius:var(--r-control);color:inherit;font-size:var(--fs-small);background:0 0;align-items:center;gap:.6rem;padding:.65rem .8rem;text-decoration:none;display:inline-flex}.text-signs a:hover,.text-signs button:hover{border-color:var(--ink)}.text-signs span{min-width:1.25rem;font-size:var(--fs-h3);text-align:center;font-weight:700;display:inline-block}:root{color:var(--ink);background:var(--canvas);font-synthesis:none;font-family:Manrope,sans-serif;font-weight:500}*{box-sizing:border-box}body{min-width:320px;line-height:var(--lh-body);-webkit-font-smoothing:antialiased;margin:0}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit;cursor:pointer;color:inherit;transition:background-color .18s,color .18s,transform .12s}button:disabled{cursor:default}button:focus-visible,a:focus-visible{outline:3px solid var(--focus-color);outline-offset:5px}button:active:not(:disabled){transform:translateY(1px)}a{color:inherit}.app-shell{background:var(--paper);border-radius:var(--r-card) var(--r-card) 0 0;max-width:1392px;min-height:calc(100vh - 32px);box-shadow:0 2px 24px var(--shade-ink-xs);margin:32px auto 0;padding:0 42px}.masthead{border-bottom:1px solid var(--line);align-items:center;gap:22px;height:88px;display:flex}.brand{letter-spacing:-.9px;white-space:nowrap;align-items:center;gap:12px;font-size:26px;font-weight:800;display:flex}.brand-mark{object-fit:contain;flex:none;width:40px;height:40px;display:block}@media(max-width:480px){.brand .brand-mark{width:32px;height:32px}}.brand-divider{background:var(--line);width:1px;height:25px}.brand-subtitle{font-size:var(--fs-body);color:var(--muted)}.session-menu{margin-left:auto;position:relative}.session-button{font-size:var(--fs-body);background:0 0;border:0;align-items:center;gap:10px;padding:12px 0 12px 12px;display:flex}.mobile-menu{display:none}.session-details{z-index:10;background:var(--paper);border:1px solid var(--line);border-radius:var(--r-card);width:300px;box-shadow:0 12px 40px var(--shade-ink-sm);font-size:var(--fs-small);padding:24px;position:absolute;top:56px;right:0}.session-details p{margin:10px 0}.text-button{text-underline-offset:4px;align-items:center;gap:var(--sp-2);background:0 0;border:0;min-height:44px;padding:8px 0;text-decoration:underline;display:inline-flex}.stage-nav{border-bottom:1px solid var(--line);overscroll-behavior-x:contain;scrollbar-width:none;align-items:stretch;gap:42px;min-width:0;max-width:100%;height:60px;display:flex;overflow-x:auto}.stage-nav::-webkit-scrollbar{display:none}.stage-nav .stage{flex:none}.stage-nav .stage:focus-visible{outline-offset:-3px}.stage{font-size:var(--fs-body);white-space:nowrap;background:0 0;border:0;border-bottom:3px solid #0000;align-items:center;gap:7px;padding:0 18px;display:flex}.stage:disabled{opacity:.6}.stage.active{border-bottom:3px solid var(--ink);font-weight:700}.stage.later{color:var(--muted)}.stage.later svg{opacity:.65}.study-grid{grid-template-columns:minmax(0,1.12fr) minmax(0,.88fr);gap:40px;padding:40px 0 30px;display:grid}.definition-section{border-right:1px solid var(--line);min-width:0;padding-right:30px}.word-progress{border-bottom:1px solid var(--line);grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:18px 20px;margin-bottom:26px;padding-bottom:20px;display:grid}.studied-word{letter-spacing:-2px;font-size:64px;font-weight:800;line-height:1;display:block}.studied-word.long-word{letter-spacing:-1.5px;white-space:nowrap;font-size:44px}.definition-position{color:var(--muted);font-size:var(--fs-small);white-space:nowrap;font-variant-numeric:tabular-nums;align-items:baseline;gap:6px;margin:0 0 5px;display:flex}.definition-position strong{font-size:var(--fs-h3);color:var(--ink);font-weight:700}.definition-steps{overscroll-behavior-x:contain;scrollbar-width:thin;scrollbar-color:var(--line) transparent;grid-column:1/-1;justify-content:space-between;gap:8px;min-width:0;margin:-4px -3px -7px;padding:4px 3px 7px;display:flex;overflow-x:auto}.definition-step{border:1px solid var(--line);width:44px;height:44px;color:var(--ink);font-size:var(--fs-small);font-variant-numeric:tabular-nums;background:0 0;border-radius:50%;flex:0 0 44px;justify-content:center;align-items:center;padding:0;font-weight:600;display:flex}.definition-steps.short{justify-content:flex-start;gap:12px}.definition-step:not(:disabled):hover{background:var(--surface-3);border-color:var(--green)}.definition-step.selected,.definition-step.selected:hover{background:var(--solid-bg);border-color:var(--solid-bg);color:var(--solid-fg);box-shadow:0 0 0 3px var(--shade-ink-sm)}.definition-step.understood:not(.selected){background:var(--surface-3);border-color:var(--step-done-border);color:var(--step-done-fg)}.definition-step:disabled{background:var(--surface-2);color:var(--step-off-fg);opacity:1;border-color:#0000}.unclear-word-help{color:var(--muted);font-size:var(--fs-small);margin:-8px 0 24px}.unclear-word-help summary{min-height:44px;color:var(--ink);cursor:pointer;text-underline-offset:4px;align-content:center;text-decoration:underline}.unclear-word-help p{font-size:var(--fs-small);margin:10px 0}.unclear-word-help[open]{border-left:2px solid var(--line);padding:0 0 2px 14px}.reading-page>.unclear-word-help{margin-top:24px}.reading-page .reading-practice-note,.reading-page .reading-check{font-size:var(--fs-small);color:var(--muted)}.publisher-example .example-practice-note{font-size:var(--fs-small);color:var(--muted);margin:12px 0 0}.definition-title{font-size:var(--fs-h1);letter-spacing:-1.2px;line-height:var(--lh-tight);outline:none;margin:15px 0 12px;font-weight:700}.definition-text{font-size:var(--fs-body);max-width:62ch;margin:0 0 21px}.definition-image{aspect-ratio:1.5;object-fit:cover;border-radius:var(--r-lg);background:var(--surface-warm);width:100%;height:auto;display:block}.publisher-example{margin-top:20px}.publisher-example>span{color:var(--muted);font-size:var(--fs-small)}.publisher-example li{font-size:var(--fs-h3);margin:8px 0 0}.practice-section{text-align:center;flex-direction:column;align-items:stretch;min-width:0;padding-top:1px;display:flex}.practice-intro h2{font-size:var(--fs-h2);letter-spacing:-.7px;font-weight:700;line-height:var(--lh-tight);margin:0 0 9px}.practice-intro p{color:var(--muted);font-size:var(--fs-body);margin:0}.oral-counter{flex-direction:column;align-items:center;margin:24px 0 29px;display:flex}.counter-number{letter-spacing:-5px;font-variant-numeric:tabular-nums;font-size:114px;font-weight:800;line-height:1.06}.counter-label{font-size:var(--fs-body);color:var(--muted);margin-top:5px}.mark-button{background:var(--mark-bg);border:1.5px solid var(--mark-border);border-radius:var(--r-lg);width:100%;min-height:130px;box-shadow:0 3px 0 var(--shade-ink-xs);flex-direction:column;align-items:stretch;gap:25px;padding:26px 22px 20px;display:flex}@media(min-width:1440px){.mark-button{min-height:142px;padding-top:29px;padding-bottom:23px}}@media(max-width:1100px){.mark-button{padding:22px 16px 18px}}@media(max-width:960px){.mark-button{align-self:center;gap:21px;max-width:520px;min-height:116px;padding:23px 22px 19px}}@media(max-width:480px){.mark-button{border-radius:var(--r-card);min-height:109px;bottom:max(14px,env(safe-area-inset-bottom));z-index:8;width:calc(100% - 44px);box-shadow:var(--shadow-1);gap:22px;padding:21px 17px 17px;position:fixed;left:22px}}.mark-button:hover{background:var(--mark-bg-hover)}.mark-label{font-size:var(--fs-h3);letter-spacing:-.5px;justify-content:center;align-items:center;gap:12px;font-weight:700;display:flex}.mark-progress-row{align-items:center;gap:14px;display:flex}.progress-track{border-radius:var(--r-pill);background:var(--line);flex:1;height:8px;display:block;overflow:hidden}.progress-fill{border-radius:var(--r-pill);background:var(--accent);height:100%;transition:width .18s;display:block}.progress-label{font-size:var(--fs-small);text-align:right;min-width:49px;font-weight:700}.mark-button.target-reached{background:var(--reached-bg);color:var(--reached-fg);border-color:var(--reached-border)}.mark-button.target-reached:hover{background:var(--accent-strong)}.target-reached .progress-track{background:var(--overlay-light)}.target-reached .progress-fill{background:var(--progress-on)}.undo-button{font-size:var(--fs-small);text-underline-offset:4px;background:0 0;border:0;align-self:center;align-items:center;gap:7px;min-height:44px;margin-top:7px;padding:14px 12px;text-decoration:underline;display:flex}.undo-button:disabled{color:var(--undo-off-fg);text-decoration:none}.understanding-note{font-size:var(--fs-body);color:var(--muted);margin:22px 0 25px}.understanding-note span{font-size:var(--fs-caption);color:var(--note-fg)}.save-state{color:var(--muted);font-size:var(--fs-caption);justify-content:center;align-items:center;gap:8px;min-height:24px;margin:0 0 23px;display:flex}.save-error{color:var(--save-error)}.muted.save-error,.stage-save.save-error{color:#995326}.next-button{border:1.5px solid var(--ink);border-radius:var(--r-control);min-height:56px;font-size:var(--fs-body);background:0 0;justify-content:center;align-items:center;gap:18px;margin-top:auto;padding:13px 20px;font-weight:700;display:flex}.practice-section>.next-button{margin-top:10px}@media(min-width:960px)and (min-height:760px){.practice-section{align-self:start;position:sticky;top:24px}}.definition-section>:is(.word-comparisons,.grammar-usage,.text-signs){border:0;border-top:1px solid var(--line);margin:0;padding:18px 0}.definition-section>:not(:is(.word-comparisons,.grammar-usage,.text-signs))+:is(.word-comparisons,.grammar-usage,.text-signs){margin-top:28px}.definition-section>:is(.word-comparisons,.grammar-usage,.text-signs):last-child{border-bottom:1px solid var(--line)}.next-button:hover:not(:disabled){background:var(--next-hover)}.next-button:active:not(:disabled){background:var(--next-active)}.next-button:disabled{border-color:var(--btn-off-border);color:var(--btn-off-fg)}.help-button{min-height:44px;color:var(--muted);font-size:var(--fs-caption);background:0 0;border:0;justify-content:center;align-self:center;align-items:center;gap:6px;margin-top:10px;display:flex}.rotated{transform:rotate(180deg)}.help-panel{text-align:left;font-size:var(--fs-small);border-top:1px solid var(--line);padding:4px 0}.help-panel p{margin:14px 0}.app-footer{color:var(--muted);font-size:var(--fs-caption);border-top:1px solid var(--line-faint);justify-content:space-between;gap:15px;padding:19px 0 23px;display:flex}.muted{color:var(--muted)}.skip-link{background:var(--paper);z-index:20;padding:12px;position:fixed;top:-100px;left:16px}.skip-link:focus{top:12px}.completion{text-align:center;max-width:650px;margin:auto;padding:68px 0 50px}.completion>svg{color:var(--green)}.eyebrow{margin:20px 0 12px}.completion h1{font-size:var(--fs-h1);letter-spacing:-1px;line-height:var(--lh-tight);outline:none;margin:0 0 18px;font-weight:700}.completion-rows{margin:28px 0}.completion-rows button{text-align:left;border:0;border-bottom:1px solid var(--line);width:100%;min-height:62px;font-size:var(--fs-small);background:0 0;justify-content:space-between;align-items:center;gap:12px;display:flex}.completion-rows button>span:last-child{color:var(--muted);white-space:nowrap;align-items:center;gap:12px;display:flex}.completion .next-button{width:100%;margin:25px 0}.completion .save-state{font-size:var(--fs-caption)}@media(min-width:1440px){.study-grid{padding-top:42px}.definition-image{aspect-ratio:1.7}.understanding-note{margin-top:33px}.oral-counter{margin-top:35px;margin-bottom:34px}}@media(max-width:1100px){.app-shell{border-radius:0;min-height:100vh;margin-top:0;padding:0 30px}.brand{font-size:23px}.brand-subtitle{font-size:var(--fs-small)}.study-grid{gap:28px;padding-top:32px}.definition-section{padding-right:25px}.mark-label{gap:8px}.counter-number{font-size:97px}.understanding-note{margin:16px 0 20px}.stage-nav{gap:22px}}@media(max-width:960px){.app-shell{max-width:760px;padding:0 30px}.masthead{height:78px}.brand-divider,.brand-subtitle{display:none}.stage-nav{justify-content:space-between;gap:0;height:56px}.stage{font-size:var(--fs-small);padding:0 10px}.study-grid{padding-top:26px;display:block}.definition-section{border-right:0;padding-right:0}.definition-title{margin-top:8px}.definition-image{aspect-ratio:1.7;object-position:center;max-height:390px}.publisher-example{margin-top:14px}.practice-section{border-top:1px solid var(--line);margin-top:27px;padding-top:24px}.oral-counter{margin:21px 0}.counter-number{font-size:88px}.understanding-note{margin:16px 0 17px}.save-state{margin-bottom:18px}.next-button{align-self:center;width:100%;max-width:520px}.help-panel{align-self:center;max-width:520px}}@media(prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition:none!important}}@media(max-width:480px){body{background:var(--paper)}.app-shell{padding:0 22px}.masthead{gap:0;height:77px}.brand{letter-spacing:-.7px;gap:8px;font-size:20px}.brand svg{width:24px;height:24px}.desktop-user,.session-button>span{display:none}.mobile-menu{display:block}.session-button{padding:12px 0 12px 12px}.session-details{width:calc(100vw - 44px);max-width:320px;top:55px}.stage-nav{height:51px}.stage{font-size:var(--fs-caption);gap:5px;padding:0 6px}.stage.later svg{width:11px}.study-grid{padding-top:24px}.definition-title{letter-spacing:-.9px;margin:0 0 10px}.definition-text{margin-bottom:17px}.definition-image{aspect-ratio:1.55;border-radius:var(--r-control);max-height:none}.publisher-example{margin-top:12px}.publisher-example>span{font-size:var(--fs-caption)}.publisher-example li{font-size:var(--fs-body);margin-top:5px}.practice-section{margin-top:21px;padding-top:20px}.practice-intro h2{letter-spacing:-.5px;margin-bottom:7px}.practice-intro p{font-size:var(--fs-caption)}.oral-counter{margin:15px 0 19px}.counter-number{letter-spacing:-3px;font-size:72px}.counter-label{font-size:var(--fs-caption);margin-top:0}.mark-label{letter-spacing:-.6px;gap:9px}.mark-label svg{width:24px;height:24px}.progress-label{font-size:var(--fs-caption);min-width:43px}.undo-button{font-size:var(--fs-caption);min-height:44px;margin-top:4px;padding:10px}.understanding-note{font-size:var(--fs-caption);margin:11px 0 15px}.save-state{margin-bottom:18px}.next-button svg{width:21px}.app-footer{flex-direction:column;align-items:center;gap:5px;padding:15px 0 20px}.completion{padding-top:45px}.completion-rows button{font-size:var(--fs-caption)}.oral-counter{margin-bottom:15px}.app-footer{padding-bottom:calc(146px + env(safe-area-inset-bottom))}.next-button{margin-top:0}}.publisher-example .wave-document-example{white-space:pre-line}.publisher-example ol{margin:8px 0 0;padding-left:24px;list-style:decimal}.publisher-example li{padding-left:4px}.publisher-example li::marker{color:var(--muted);font-size:.8em}.course-context{min-height:45px;color:var(--muted);font-size:var(--fs-caption);justify-content:space-between;align-items:center;gap:12px;display:flex}.course-context strong{font-weight:600}.context-divider{opacity:.6;margin:0 8px}.course-context button{min-height:44px;font-size:var(--fs-caption);text-underline-offset:4px;white-space:nowrap;background:0 0;border:0;align-items:center;gap:7px;padding:0;text-decoration:underline;display:flex}.word-identity{flex-direction:column;align-items:flex-start;gap:5px;display:flex}.part-of-speech{font-size:var(--fs-caption);color:var(--muted);letter-spacing:.02em;font-weight:600}.section-intro{max-width:1120px;margin:0 auto;padding:32px 0 40px}.section-intro>.eyebrow{margin:4px 0 14px}.section-intro h1{font-size:var(--fs-h1);font-weight:800;line-height:var(--lh-tight);letter-spacing:-1.5px;outline:none;margin:0 0 18px}.intro-lead{font-size:var(--fs-h3);max-width:65ch;margin:0 0 32px}.intro-grid{grid-template-columns:1fr 1fr;gap:54px;display:grid}.intro-grid h2{font-size:var(--fs-h3);line-height:var(--lh-tight);letter-spacing:-.5px;margin:0 0 16px;font-weight:700}.intro-grid p{font-size:var(--fs-body);margin:0 0 16px;line-height:1.8}.intro-examples{margin:18px 0 24px;padding:0;list-style:none}.intro-examples li{font-size:var(--fs-h3);line-height:1.8}.intro-examples strong{font-weight:700}.intro-grid .intro-definition-note{color:var(--muted);font-size:var(--fs-body)}.intro-word-understanding{border-top:1px solid var(--line);margin-top:26px;padding-top:24px}.word-understanding-check{border-block:1px solid var(--line);margin:20px 0 26px;padding:18px 0}.word-understanding-check summary{cursor:pointer;font-weight:700}.word-understanding-check ul{margin:16px 0;padding-left:22px;list-style:outside}.word-understanding-check li+li{margin-top:8px}.word-understanding-check p{color:var(--muted)}.intro-procedure{border-left:1px solid var(--line);padding-left:40px}.intro-procedure ol{margin:0;padding-left:22px;list-style:decimal}.intro-procedure li{font-size:var(--fs-body);margin-bottom:20px;padding-left:6px}.intro-procedure li::marker{color:var(--muted);font-weight:700}.intro-procedure strong{margin-bottom:4px;font-weight:700;display:block}.intro-procedure span{color:var(--muted);font-size:var(--fs-small);display:block}.intro-start{border-top:1px solid var(--line);margin-top:28px;padding-top:26px}.intro-start .next-button{background:var(--solid-bg);border-color:var(--solid-bg);color:var(--solid-fg);width:fit-content;min-width:320px;font-size:var(--fs-body)}.intro-start .next-button:hover{background:var(--solid-hover)}.intro-start .next-button:active:not(:disabled){background:var(--solid-active)}.intro-start p{color:var(--muted);font-size:var(--fs-caption);margin:14px 0 0}@media(max-width:960px){.intro-grid{gap:30px}.intro-procedure{padding-left:26px}}@media(max-width:480px){.course-context{gap:8px}.course-context button{gap:4px}.context-divider{margin:0 4px}.section-intro{padding-top:20px;padding-bottom:22px}.section-intro h1{letter-spacing:-1px}.intro-lead{font-size:var(--fs-body);margin-bottom:26px}.intro-start .next-button{width:100%;min-width:0}.section-intro+.app-footer{padding-bottom:25px}.word-progress{column-gap:12px}.studied-word.long-word{letter-spacing:-1px}.definition-position{font-size:var(--fs-caption);gap:5px}.definition-position strong{font-size:var(--fs-body)}.word-identity .part-of-speech{font-size:var(--fs-caption)}}.concept-guide{border-block:1px solid var(--line);margin:18px 0;padding:16px 0;line-height:1.75}.concept-guide summary{cursor:pointer;font-weight:700;font-size:var(--fs-body)}.concept-guide h3{font-size:var(--fs-h3);margin:20px 0 10px;font-weight:700}.concept-guide p,.concept-guide li{font-size:var(--fs-small);margin:12px 0;line-height:1.8}.concept-guide ol{padding-left:22px;list-style:decimal}.menu-label{vertical-align:middle;text-align:left;align-items:baseline;gap:.5rem;min-width:0;max-width:100%;display:inline-flex}.menu-label-content{flex-direction:column;gap:2px;min-width:0;max-width:100%;display:inline-flex}.menu-label-heading{flex-wrap:wrap;align-items:baseline;gap:.4rem;min-width:0;display:inline-flex}.menu-label-word{overflow-wrap:anywhere;min-width:0;font-weight:600}.menu-label-description,.menu-label-meta,.menu-label-prefix{color:inherit;opacity:.78;letter-spacing:normal;text-transform:none;font-weight:400}.menu-label-description{overflow-wrap:anywhere;font-size:.88em;display:block}.menu-label-prefix{font-variant-numeric:tabular-nums;flex-shrink:0;font-size:.82em}.menu-label-meta{font-size:.78em}.term-badge{border:1px solid;flex-shrink:1;align-items:center;width:auto;max-width:100%;padding:.1rem .4rem;display:inline-flex}@supports (color:color-mix(in lab,red,red)){.term-badge{border:1px solid color-mix(in srgb,currentColor 16%,transparent)}}.term-badge{border-radius:var(--r-pill);color:inherit;font-size:var(--fs-caption);letter-spacing:normal;text-transform:none;white-space:normal;overflow-wrap:anywhere;background:0 0;font-weight:400;line-height:1.4;text-decoration:none}.menu-label .term-badge{color:inherit;opacity:.78}:is(h1,h2) .menu-label-word{font-weight:inherit}.word-card-label .term-badge{margin-left:.35rem}.learning-modules{border-top:1px solid var(--line);margin-top:3rem;padding-top:2rem}.learning-modules h2{font-size:var(--fs-h2);line-height:var(--lh-tight);margin-bottom:1rem;font-weight:700}.learning-modules>p{max-width:52rem;line-height:1.75}.learning-module-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;margin-top:1.5rem;display:grid}.learning-module-card{border:1px solid var(--line);border-radius:var(--r-card);padding:var(--sp-5);color:var(--ink);background:var(--paper);flex-direction:column;gap:1rem;text-decoration:none;display:flex}.learning-module-card h3{font-size:var(--fs-h3);font-weight:700}.learning-module-card>span:not(.eyebrow){color:var(--muted);font-size:var(--fs-small);margin-top:auto}.learning-module-card strong{justify-content:space-between;align-items:center;min-height:44px;display:flex}.learning-module-card:hover{border-color:var(--ink);background:var(--ink)}@supports (color:color-mix(in lab,red,red)){.learning-module-card:hover{background:color-mix(in srgb,var(--ink) 5%,var(--paper))}}.learning-module-card:focus-visible{outline:3px solid var(--ink);outline-offset:4px}.sr-only{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.swipe-flow{touch-action:pan-y pinch-zoom}.swipe-flow:not(:has(>.stage-card)),.swipe-flow>.stage-card{transition:transform .2s}.swipe-flow[data-flow-enter=next]:not(:has(>.stage-card)),.swipe-flow[data-flow-enter=next]>.stage-card{animation:.24s cubic-bezier(.2,.8,.3,1) flow-enter-next}.swipe-flow[data-flow-enter=previous]:not(:has(>.stage-card)),.swipe-flow[data-flow-enter=previous]>.stage-card{animation:.24s cubic-bezier(.2,.8,.3,1) flow-enter-previous}@keyframes flow-enter-next{0%{opacity:.4;transform:translate(100%)}}@keyframes flow-enter-previous{0%{opacity:.4;transform:translate(-100%)}}@media(prefers-reduced-motion:reduce){.swipe-flow,.swipe-flow>.stage-card,.swipe-flow[data-flow-enter],.swipe-flow[data-flow-enter]>.stage-card{transition:none;animation:none}}.practice-dock,.flow-hint-floating{display:none}@media(min-width:481px)and (max-width:600px){.study-grid{padding-bottom:calc(146px + env(safe-area-inset-bottom))}.desktop-user,.session-button>span{display:none}.mobile-menu{display:block}}.support-links .support-links-toggle{display:none}.mark-label-prep{overflow-wrap:anywhere}@media(max-width:600px){.intro-grid{grid-template-columns:1fr;gap:26px}.intro-procedure{border-left:0;border-top:1px solid var(--line);padding:24px 0 0}.intro-start{margin-top:12px}.learning-module-grid{grid-template-columns:1fr}.swipe-flow{overflow-x:clip}.study-grid{padding-bottom:16px}.practice-section>:is(.mark-button,.undo-button,.next-button){display:none}.practice-dock{left:12px;right:12px;bottom:max(10px,env(safe-area-inset-bottom));z-index:8;border:1px solid var(--line);border-radius:var(--r-lg);background:var(--paper);box-shadow:var(--shadow-1);gap:8px;padding:8px;display:grid;position:fixed}.practice-dock-row{gap:8px;display:flex}.practice-dock .mark-button{border-radius:var(--r-card);width:auto;max-width:none;min-height:64px;box-shadow:none;flex:1;gap:8px;padding:10px 14px;position:static}.practice-dock .mark-label{font-size:var(--fs-body);letter-spacing:-.3px;justify-content:flex-start;gap:8px}.practice-dock .mark-label svg{width:22px;height:22px}.practice-dock .mark-progress-row{gap:10px}.practice-dock .progress-label{min-width:0;font-size:var(--fs-caption)}.dock-undo{border:1px solid var(--line);border-radius:var(--r-card);min-height:48px;color:var(--ink);background:0 0;flex:0 0 48px;justify-content:center;align-items:center;display:inline-flex}.dock-undo:disabled{opacity:.45}.practice-dock .dock-confirm{width:100%;max-width:none;min-height:48px;font-size:var(--fs-body)}.flow-hint{color:var(--ink);font-size:var(--fs-small);text-align:center;margin:0;padding:2px 4px;line-height:1.4}.flow-hint-floating{left:12px;right:12px;bottom:max(14px,env(safe-area-inset-bottom));z-index:8;border:1px solid var(--line);border-radius:var(--r-lg);background:var(--paper);box-shadow:var(--shadow-1);padding:12px 14px;display:block;position:fixed}.support-links:not(.open)>div>button:not(.support-next,.support-links-toggle){display:none}.support-links .support-links-toggle{min-height:44px;color:var(--muted);font-size:var(--fs-small);align-items:center;gap:6px;padding:0;text-decoration:none;display:inline-flex}.word-progress{row-gap:12px;margin-bottom:16px;padding-bottom:12px}.word-identity{flex-direction:row;align-items:baseline;gap:8px}.studied-word{font-size:40px}.studied-word.long-word{font-size:30px}.definition-title{margin-bottom:8px}.support-links{margin-bottom:14px}.unclear-word-help{margin:-6px 0 14px}.practice-dock .mark-button{gap:6px;min-height:56px;padding:8px 12px}.practice-dock .mark-label{white-space:nowrap}.practice-dock .mark-label.mark-label-prep{white-space:normal;text-align:left}.practice-section{min-height:0}.definition-section>:is(.word-comparisons,.grammar-usage,.text-signs):last-child{border-bottom:0}body:not(:has(.practice-dock)) .app-footer{padding-bottom:calc(24px + env(safe-area-inset-bottom))}}.save-state:empty{min-height:0;margin:0}@media(max-width:360px){.practice-dock .mark-label{gap:6px}.dock-undo{flex-basis:44px}.app-shell{padding:0 16px}.brand{gap:6px;font-size:17px}}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-ordinal{syntax:"*";inherits:false}@property --tw-slashed-zero{syntax:"*";inherits:false}@property --tw-numeric-figure{syntax:"*";inherits:false}@property --tw-numeric-spacing{syntax:"*";inherits:false}@property --tw-numeric-fraction{syntax:"*";inherits:false}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-outline-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}@property --tw-ease{syntax:"*";inherits:false}.brand-button{border:0;padding:0;background:none;text-align:left;min-height:44px}.admin-account-status{display:flex;align-items:center;gap:12px;margin:24px 0 0;padding:16px 18px;border:1px solid var(--line);border-radius:var(--r-card);background:var(--surface-2)}.admin-account-status>div{display:grid;gap:4px;min-width:0}.admin-account-status strong{font-size:var(--fs-small)}.admin-account-status span{font-size:var(--fs-small);overflow-wrap:anywhere}.account-admin-label{color:var(--green);font-weight:700}.account-menu>button{display:block;width:100%;border:0;border-top:1px solid var(--line);min-height:44px;background:none;text-align:left;padding:10px 0}.account-menu>button:hover{color:var(--green);background:var(--surface-2)}.course-context>span{display:flex;align-items:center;flex-wrap:wrap}.course-context .catalog-link{display:inline-flex;font-weight:700}.learning-media{margin:0}.learning-media figcaption{font-size:var(--fs-small);color:var(--muted);margin:12px 0}.learning-media video{background:var(--surface-warm);object-fit:contain}.account-page{padding:40px 0 55px}.account-page h1,.reading-page h1{font-size:var(--fs-h1);font-weight:700;line-height:var(--lh-tight);letter-spacing:-1.4px;margin:10px 0 20px}.account-page h2,.reading-page h2{font-size:var(--fs-h2);font-weight:700;line-height:var(--lh-tight);margin:25px 0 14px}.account-page h3{font-size:var(--fs-h3);font-weight:700;margin:24px 0 12px}.account-page p,.reading-page p{line-height:1.8}.page-lead{color:var(--muted);max-width:65ch;font-size:var(--fs-body);margin:0 0 28px}.account-page .eyebrow{margin-bottom:14px}.auth-page{max-width:590px;margin:0 auto}.account-form{display:grid;gap:22px;padding-top:12px}.account-form label,.invitation-card label{display:grid;gap:8px;font-size:var(--fs-small);font-weight:700}input{font:inherit;color:var(--ink);min-height:49px;padding:12px 14px;border:1px solid var(--field-border);border-radius:var(--r-control);background:var(--field-bg);width:100%}input:focus-visible{outline:3px solid var(--focus-color);outline-offset:3px}input::placeholder{color:var(--muted)}.account-form small{font-size:var(--fs-caption);font-weight:400;color:var(--muted)}.account-form fieldset{padding:14px 18px;border:1px solid var(--line);border-radius:var(--r-control);display:flex;flex-wrap:wrap;gap:12px 24px}.account-form legend{font-size:var(--fs-small);padding:0 5px}.account-form .radio-label,.account-form .checkbox-label{display:flex;align-items:center;gap:10px;min-height:44px;font-size:var(--fs-small);font-weight:500}.account-form input[type=radio],.account-form input[type=checkbox]{width:20px;height:20px;min-height:20px;flex-shrink:0;accent-color:var(--ink)}.next-button.primary{background:var(--solid-bg);color:var(--solid-fg);border-color:var(--solid-bg)}.next-button.primary:hover{background:var(--solid-hover)}.next-button.primary:active:not(:disabled){background:var(--solid-active)}.next-button.primary:disabled{opacity:.5}.auth-links{display:flex;flex-wrap:wrap;justify-content:space-between;margin-top:20px;gap:16px}.form-error{padding:14px 18px;background:var(--surface-danger);color:var(--danger);border-radius:var(--r-control);overflow-wrap:anywhere}.notice,.sync-conflict{background:var(--surface-2);border:1px solid var(--rule-soft);border-radius:var(--r-control);padding:18px 22px}.sync-conflict{margin:22px 0;background:var(--surface-warn);border-color:var(--rule-warn)}.sync-conflict-title{font-weight:700;margin:0}.sync-conflict ul{list-style:disc;margin:10px 0;padding-left:1.3em}.button-row{display:flex;align-items:center;flex-wrap:wrap;gap:12px 26px}.button-row .next-button{width:auto;padding:14px 22px}.continue-card{width:100%;padding:var(--sp-5);background:var(--surface-3);border:1px solid var(--line);border-radius:var(--r-card);text-align:left;display:flex;align-items:center;justify-content:space-between}.continue-card span{color:var(--muted);font-size:var(--fs-small)}.continue-card strong{display:block;color:var(--ink);font-size:var(--fs-h2);line-height:var(--lh-tight);margin-top:7px}.catalog-chapter{margin-top:38px}.continue-card+.continue-card,.continue-card+.recommended-next,.page-lead+.continue-card{margin-top:14px}.catalog-section{margin-top:44px}.catalog-section>h2{margin-bottom:14px}.catalog-map-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px}.catalog-map-grid .continue-card{margin:0;padding:var(--sp-4) var(--sp-5);gap:12px;text-decoration:none;color:inherit}.catalog-map-grid .continue-card strong{font-size:var(--fs-h3);line-height:1.25}.catalog-map-grid .continue-card:hover{border-color:var(--accent-mid)}.grade-grid{display:grid;grid-template-columns:repeat(9,minmax(0,1fr));gap:10px}.grade-tile{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;min-height:56px;padding:8px 6px;background:var(--surface-2);border:1px solid var(--line);border-radius:var(--r-card);color:var(--ink);text-align:center;text-decoration:none;min-width:0}.grade-tile strong{font-size:var(--fs-body);font-weight:700;overflow-wrap:anywhere}.grade-tile span{font-size:var(--fs-caption);color:var(--muted)}.grade-tile:hover,.grade-tile[aria-current=true]{border-color:var(--accent-mid);background:var(--surface-3)}.grade-tile:focus-visible,.catalog-map-grid .continue-card:focus-visible{outline:3px solid var(--accent-mid);outline-offset:2px}.subject-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,240px),1fr));gap:var(--sp-3)}.catalog-section>.eyebrow{margin:0 0 var(--sp-3)}.subject-tile{align-items:flex-start;padding:var(--sp-3) var(--sp-4);text-align:left;border-radius:var(--r-card)}.subject-tile strong{font-size:var(--fs-h3)}.catalog-subject{margin-top:var(--sp-6);border-top:1px solid var(--line);padding-top:var(--sp-5)}.catalog-subject>.catalog-subject-title{margin:0;color:var(--muted);font-size:var(--fs-small);font-weight:700;letter-spacing:.08em;text-transform:uppercase}.catalog-subject>.catalog-section:first-of-type{margin-top:var(--sp-5)}.catalog-more{margin-top:var(--sp-5)}.catalog-more>summary{display:inline-flex;align-items:center;gap:var(--sp-3);min-height:48px;max-width:100%;padding:var(--sp-3) var(--sp-4);border:1px solid var(--ink);border-radius:var(--r-control);background:color-mix(in srgb,var(--ink) 5%,var(--paper));color:var(--ink);font-weight:700;line-height:1.4;list-style:none;cursor:pointer}.catalog-more>summary::-webkit-details-marker{display:none}.catalog-more>summary:hover{background:color-mix(in srgb,var(--ink) 10%,var(--paper))}.catalog-more>summary:focus-visible{outline:var(--focus-ring);outline-offset:4px}.catalog-more>summary svg{flex-shrink:0;transition:transform var(--ease)}.catalog-more[open]>summary svg{transform:rotate(180deg)}.catalog-chapter h3{display:flex;align-items:baseline;gap:16px}.catalog-chapter h3>span{font-size:var(--fs-small);color:var(--muted);font-weight:500}.word-cards{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:15px}.word-card{display:flex;flex-direction:column;align-items:flex-start;background:var(--surface-2);border:1px solid var(--line);border-radius:var(--r-card);padding:var(--sp-5);gap:13px;text-align:left;min-width:0}.word-card:hover,.word-card.current-word{border-color:var(--accent-mid);background:var(--surface-3)}.word-card strong{font-size:var(--fs-h2);line-height:var(--lh-tight);font-weight:700;letter-spacing:-1px}.word-card>span{font-size:var(--fs-caption);color:var(--muted);display:flex;align-items:center;gap:5px}.word-card .word-card-label{font-size:var(--fs-caption);text-transform:uppercase;letter-spacing:.08em}.word-card .word-card-track{display:block;width:100%;background:var(--line);height:8px;border-radius:var(--r-pill);overflow:hidden;margin-top:5px}.word-card-track>span{display:block;height:100%;background:var(--accent)}.course-notes{border-top:1px solid var(--line);margin-top:45px;padding-top:20px;max-width:80ch;color:var(--muted);font-size:var(--fs-small)}summary{cursor:pointer;min-height:44px;padding:12px 0}.reading-page{padding:42px 0 55px;max-width:760px;margin:0 auto}.reading-page .reading-lead{font-size:var(--fs-h3)}.reading-page section p{font-size:var(--fs-h3)}.reading-page .next-button{margin-top:35px;padding:15px 24px}.reading-page .muted{font-size:var(--fs-small);margin-top:24px}.page-heading{display:flex;align-items:flex-start;gap:35px;justify-content:space-between}.page-heading>.next-button{flex-shrink:0;width:auto;min-width:230px;font-size:var(--fs-body);padding:15px 20px;margin-top:22px}.page-heading h1{max-width:21ch}.invitation-card{padding:var(--sp-5);border:1px solid var(--line);border-radius:var(--r-card);background:var(--surface-2);margin:5px 0 25px}.invitation-card p,.invitation-card input{font-size:var(--fs-small)}.invitation-card .button-row{margin-top:12px}.monitor-status{display:flex;align-items:center;justify-content:space-between;gap:15px;color:var(--muted);font-size:var(--fs-caption);border-top:1px solid var(--line);padding:10px 0}.monitor-status>span{display:flex;align-items:center;gap:8px}.teacher-grid{display:grid;grid-template-columns:minmax(250px,.8fr) minmax(0,1.5fr);gap:28px;align-items:start}.student-list{display:grid;gap:12px}.student-card{border:1px solid var(--line);border-radius:var(--r-card);padding:var(--sp-4);display:flex;flex-direction:column;align-items:stretch;gap:10px;text-align:left;background:var(--surface-2)}.student-card.selected{border-color:var(--selected-border);background:var(--surface-3)}.student-card>strong{font-size:var(--fs-h3);font-weight:700}.student-card>span{font-size:var(--fs-small);color:var(--muted)}.student-card-bottom{display:flex;align-items:center;justify-content:space-between;gap:10px;border-top:1px solid var(--line);padding-top:12px;margin-top:4px}.student-card-bottom b{color:var(--ink);font-size:var(--fs-small)}.student-card-bottom>span{font-size:var(--fs-caption)}.monitor-detail{border:1px solid var(--line);border-radius:var(--r-card);padding:26px}.monitor-heading{display:flex;align-items:center;justify-content:space-between;gap:15px}.monitor-heading h2{margin:8px 0}.monitor-count{font-size:var(--fs-h1);font-weight:800;line-height:var(--lh-tight);text-align:center}.monitor-count small{display:block;font-weight:500;font-size:var(--fs-caption)}.monitor-detail>.muted{font-size:var(--fs-caption)}.monitor-detail .definition-image{max-height:300px;object-fit:contain}.monitor-detail>ol{list-style:decimal;padding-left:25px}.monitor-detail .monitor-steps{list-style:none;padding:0}.monitor-steps li{display:flex;justify-content:space-between;gap:15px;padding:12px 0;border-bottom:1px solid var(--line);font-size:var(--fs-small)}.monitor-steps li>span{display:flex;align-items:center;gap:8px}.empty-state{text-align:center;padding:35px 20px;border:1px dashed var(--rule-dashed);border-radius:var(--r-card);margin-top:15px}.empty-state p{font-size:var(--fs-small);max-width:47ch;margin:10px auto;color:var(--muted)}.connection-row{padding:18px 0;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:20px}.support-links{border-left:3px solid var(--rule-strong);padding:2px 0 3px 15px;margin:0 0 22px}.support-links p{margin:0 0 7px;font-size:var(--fs-caption);color:var(--muted)}.support-links>div{display:flex;gap:6px 15px;flex-wrap:wrap}.support-links button{max-width:100%;text-align:left;border:0;padding:3px 0;min-height:44px;background:none;text-decoration:underline;text-underline-offset:4px;display:inline-flex;align-items:center;gap:5px;font-size:var(--fs-small)}.support-dialog{position:fixed;top:0;right:0;bottom:0;left:0;margin:auto;max-width:680px;width:calc(100% - 36px);max-height:calc(100dvh - 36px);border:1px solid var(--rule-strong);border-radius:var(--r-lg);padding:25px 34px 30px;background:var(--paper);color:var(--ink);box-shadow:0 12px 100px var(--shade-ink-lg);overscroll-behavior:contain}.support-dialog::backdrop{background:var(--scrim);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.support-top{display:flex;justify-content:space-between;align-items:center;gap:18px;position:sticky;top:0;z-index:3;background:var(--paper);padding:5px 0;box-shadow:0 -18px 0 var(--paper)}.support-top button{border:0;background:none;padding:10px;min-height:44px;min-width:44px}.support-dialog h1{font-size:var(--fs-h1);line-height:var(--lh-tight);font-weight:700;letter-spacing:-1px;margin:13px 0 17px;outline:none}.support-meaning-title{font-size:var(--fs-h3);line-height:1.4;font-weight:700;margin:-8px 0 16px}.support-explanation{font-size:var(--fs-h3);line-height:1.8;margin:0 0 22px}.support-dialog .definition-image{max-height:250px;object-fit:contain}.support-dialog .publisher-example li{font-size:var(--fs-body)}.support-task{margin:26px 0 10px;font-size:var(--fs-small)}.support-count{text-align:center;color:var(--muted);font-size:var(--fs-small);margin:15px 0}.support-count b{font-size:var(--fs-h1);line-height:var(--lh-tight);color:var(--ink);font-weight:700;margin-right:8px}.support-mark{width:100%;padding:18px;background:var(--mark-bg);border:1px solid var(--mark-border);border-radius:var(--r-card);display:flex;flex-direction:column;gap:16px}.support-mark>span:first-child{display:flex;align-items:center;justify-content:center;gap:10px;font-size:var(--fs-h3);font-weight:700}.support-bar-row{display:flex;gap:15px;align-items:center;font-size:var(--fs-caption)}.support-mark.target-reached{background:var(--reached-bg);color:var(--reached-fg);border-color:var(--reached-border)}.support-save{text-align:center;font-size:var(--fs-caption);margin:8px 0 18px}.support-footnote{font-size:var(--fs-caption);color:var(--muted);margin:15px 0 0}.support-dialog .undo-button{margin-left:auto;margin-right:auto}.intro-start .gradient-note{margin:0 0 23px;max-width:70ch;font-size:var(--fs-body);color:var(--ink)}.recommended-next{display:flex;align-items:center;gap:8px;margin-top:20px;background:none;border:0;min-height:44px;text-align:left;font-size:var(--fs-body)}.route-note{color:var(--muted);font-size:var(--fs-small);margin-top:25px}.monitor-support{padding:15px;background:var(--surface-2);border-radius:var(--r-control);margin:15px 0}.completion .primary{margin-top:28px}.account-page+.app-footer,.reading-page+.app-footer{padding-bottom:25px}@media(max-width:1100px){.word-cards{grid-template-columns:repeat(4,minmax(0,1fr))}.page-heading{flex-direction:column;gap:0}.page-heading>.next-button{margin:0 0 25px}}@media(max-width:960px){.grade-grid{grid-template-columns:repeat(5,minmax(0,1fr))}.catalog-map-grid{grid-template-columns:1fr}.word-cards{grid-template-columns:repeat(3,minmax(0,1fr))}.teacher-grid{grid-template-columns:1fr}.student-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.student-card-bottom{flex-wrap:wrap}}.telegram-auth{border:1px solid var(--line);border-radius:var(--r-lg);background:var(--paper);padding:22px;margin:24px 0;max-width:540px}.auth-page .telegram-auth,.auth-page .auth-divider{max-width:none}.telegram-heading{display:flex;gap:14px;align-items:center}.telegram-icon{display:flex;align-items:center;justify-content:center;width:44px;height:44px;flex-shrink:0;border:1px solid var(--line);border-radius:var(--r-card);color:var(--green)}.telegram-heading h2{font-size:var(--fs-h3);line-height:var(--lh-tight);margin:0 0 3px;letter-spacing:-.3px}.telegram-heading p{font-size:var(--fs-small);margin:0;color:var(--muted)}.telegram-help,.telegram-role small{display:block;font-size:var(--fs-small);color:var(--muted);margin-bottom:0}.telegram-role{display:grid;gap:8px;margin:20px 0}.telegram-role label{font-size:var(--fs-small);font-weight:700}.telegram-auth .telegram-button{width:100%;min-height:48px;justify-content:center;margin-top:16px;border-color:var(--line)}.telegram-connected{display:flex;align-items:center;gap:8px;color:var(--green);font-weight:700;overflow-wrap:anywhere}.auth-divider{display:flex;align-items:center;gap:14px;max-width:540px;margin:24px 0;color:var(--muted);font-size:var(--fs-small)}.auth-divider:before,.auth-divider:after{content:"";height:1px;flex:1;background:var(--line)}@media(max-width:480px){.support-mark{position:sticky;bottom:0;z-index:2;box-shadow:var(--shadow-1)}.support-dialog{width:calc(100% - 20px);max-height:calc(100dvh - 20px);padding:16px 20px 24px}.support-explanation{font-size:var(--fs-body)}.support-dialog .definition-image{max-height:190px}.support-links button{min-height:44px;font-size:var(--fs-caption)}.support-links{padding-left:11px;margin-bottom:18px}.recommended-next{font-size:var(--fs-small);flex-wrap:wrap}.account-page{padding-top:26px;padding-bottom:30px}.account-page h1,.reading-page h1{letter-spacing:-.8px}.word-cards{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.word-card{padding:var(--sp-4);gap:10px}.catalog-chapter h3{font-size:var(--fs-h3);gap:10px}.catalog-chapter{margin-top:28px}.continue-card{padding:var(--sp-4)}.grade-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.catalog-section{margin-top:32px}.student-list{grid-template-columns:1fr}.monitor-detail,.invitation-card{padding:18px}.monitor-status{gap:8px}.button-row>.next-button{width:100%}.reading-page{padding-top:25px}.reading-page section p{font-size:var(--fs-body)}.reading-page .next-button{font-size:var(--fs-small);gap:12px}.stage-nav{gap:5px;justify-content:space-between}.sync-conflict{padding:16px;font-size:var(--fs-small)}.telegram-auth{padding:18px}}.support-links .support-count{color:var(--muted)}.support-links button.support-next{font-weight:600;text-decoration-thickness:2px}.support-next-tag{color:var(--muted);font-size:var(--fs-caption);font-weight:500;padding:1px 7px;border:1px solid var(--line);border-radius:var(--r-pill);text-decoration:none;white-space:nowrap}.subject-tile .subject-resume{min-height:44px;padding:0;font-size:var(--fs-small);color:var(--ink)}.grade-tile .grade-count{display:flex;align-items:center;justify-content:center;min-height:2.6em;line-height:1.3}:root{color:var(--ink);background:var(--canvas)}.theme-picker{display:inline-flex;flex:0 0 auto;align-items:center;gap:5px}.theme-switch{-moz-appearance:none;appearance:none;-webkit-appearance:none;position:relative;display:grid;grid-template-columns:repeat(2,36px);align-items:center;flex:0 0 80px;width:80px;min-width:80px;height:44px;min-height:44px;padding:3px;border:1px solid var(--line);border-radius:var(--r-lg);background:transparent;isolation:isolate}.theme-switch>svg{position:relative;z-index:1;display:block;justify-self:center;width:18px;height:18px;pointer-events:none}.theme-thumb{position:absolute;z-index:0;left:3px;top:3px;width:36px;height:36px;border-radius:50%;background:var(--ink);transition:transform .18s ease;pointer-events:none}.theme-switch[aria-checked=true] .theme-thumb{transform:translate(36px)}.theme-switch .theme-sun,.theme-switch[aria-checked=true] .theme-moon{color:var(--paper)}.theme-switch .theme-moon,.theme-switch[aria-checked=true] .theme-sun{color:var(--muted)}.theme-system{-moz-appearance:none;appearance:none;-webkit-appearance:none;flex:0 0 36px;width:36px;min-width:36px;min-height:44px;display:inline-flex;align-items:center;justify-content:center;padding:8px;border:0;border-radius:var(--r-control);background:transparent;color:var(--muted)}.theme-system>svg{display:block;flex-shrink:0;width:17px;height:17px}.theme-system[aria-pressed=true]{color:var(--ink)}.theme-system:hover{background:color-mix(in srgb,var(--ink) 8%,transparent)}.theme-menu-row{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px;padding-block:10px;border-bottom:1px solid var(--line);margin-bottom:8px}.workspace-theme+.session-menu{margin-left:0}.landing-header{gap:24px}:root[data-theme=dark]{color-scheme:dark}:root[data-theme=dark] :is(button,a,input,summary):focus-visible{outline-color:var(--focus-color)}:root[data-theme=dark] :is(.grade-tile:focus-visible,.catalog-map-grid .continue-card:focus-visible){outline-color:var(--accent-mid)}:root[data-theme=dark] .support-mark:hover{background:var(--mark-bg-hover)}:root[data-theme=dark] .support-mark.target-reached:hover{background:var(--accent-strong)}:root[data-theme=dark] .next-button{transition:transform .12s}:root[data-theme=dark] .next-button:disabled{background:var(--btn-off-bg);color:var(--btn-off-fg);border-color:var(--btn-off-border);opacity:1}:root[data-theme=dark] .review-word[aria-current=true]{border-color:var(--green)}:root[data-theme=dark] .telegram-auth .telegram-button{border-color:var(--ink)}:root[data-theme=dark] .save-error{color:var(--save-error)}:root[data-theme=dark] :is(.admin-account-status,.invitation-card,.monitor-support,.account-menu>button:hover){border-color:var(--line)}@media(max-width:1100px){.landing-header{gap:16px}.theme-picker{gap:0}}@media(max-width:960px){.workspace-theme,.landing-header .public-theme{display:none}}@media(prefers-reduced-motion:reduce){.theme-thumb{transition:none}}
