:root{color-scheme:light;--ink:#203b34;--muted:#63766d;--green:#176f58;--pale:#edf6f1;--line:#cedfd5;--blue:#2455ba;--orange:#a84b13;--paper:#fff;--bg:#f5f7f4}*{box-sizing:border-box}body{margin:0;color:var(--ink);background:var(--bg);font:17px/1.55 system-ui,-apple-system,"Segoe UI",sans-serif}a{color:var(--green);text-underline-offset:4px}button,input,textarea{font:inherit}button{min-height:46px;border:1px solid #b7ccbf;border-radius:10px;padding:10px 16px;background:white;color:var(--ink);cursor:pointer;line-height:1.3}button:hover:not(:disabled){background:var(--pale)}button:disabled{cursor:default;opacity:.65}.primary{color:white;background:var(--green);border-color:var(--green);font-weight:650}.primary:hover:not(:disabled){background:#125640}button:focus-visible,a:focus-visible,input:focus-visible,summary:focus-visible,[role=button]:focus-visible{outline:3px solid #d29823;outline-offset:4px}[hidden]{display:none!important}.skip{position:fixed;top:-100px;left:12px;z-index:3;background:white;padding:10px}.skip:focus{top:10px}.top,main,footer{max-width:1420px;margin:auto}.top{padding:24px 36px;display:flex;justify-content:space-between;align-items:center;gap:20px;border-bottom:1px solid var(--line)}.brand{font-size:25px;font-weight:800;text-decoration:none;letter-spacing:-.5px}.top>a:last-child{font-size:14px}main{padding:34px 36px 50px}.intro{max-width:990px;margin-bottom:28px}.eyebrow{text-transform:uppercase;letter-spacing:.1em;font-size:12px;font-weight:750;color:var(--green);margin:0 0 8px}h1{font-size:clamp(28px,3.8vw,43px);line-height:1.16;letter-spacing:-1.1px;margin:10px 0 14px}h2{font-size:26px;line-height:1.25;letter-spacing:-.4px;margin:18px 0}p{margin:12px 0}.problem{padding:20px 26px;border-left:4px solid var(--green);background:white;border-radius:0 14px 14px 0;font-size:29px;overflow-x:auto}.legend{display:flex;gap:22px;flex-wrap:wrap;font-size:13px}.base-key{color:var(--blue)}.arg-key{color:var(--orange)}.layout{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(0,1fr);gap:28px;align-items:start}.lesson,.notebook-panel{min-width:0;background:white;border:1px solid var(--line);border-radius:18px;padding:28px}.progress-head{display:flex;justify-content:space-between;gap:12px;font-size:13px;font-weight:650;color:var(--muted)}progress{display:block;width:100%;height:7px;margin:13px 0 26px;border:0;border-radius:10px;overflow:hidden;accent-color:var(--green)}progress::-webkit-progress-bar{background:var(--pale)}progress::-webkit-progress-value{background:var(--green)}.formula{margin:16px 0;padding:15px;background:var(--pale);border-radius:10px;overflow-x:auto;font-size:22px;text-align:center}.formula math{max-width:none}math{font-family:"Cambria Math","STIX Two Math",serif}fieldset{border:0;padding:0;margin:24px 0;min-width:0}legend{font-weight:650;margin-bottom:12px}.options{display:grid;gap:10px}.option{display:flex;align-items:center;gap:12px;border:1px solid var(--line);border-radius:12px;padding:13px 14px;cursor:pointer;min-width:0}.option:has(input:checked){border-color:var(--green);background:var(--pale);box-shadow:0 0 0 1px var(--green)}.option input{width:20px;height:20px;accent-color:var(--green);flex:none}.option .option-content{min-width:0;overflow-x:auto;padding:3px}.option math{font-size:21px}.number-fields{display:flex;gap:15px;flex-wrap:wrap}.number-field{display:flex;flex-direction:column;gap:8px;flex:1 1 130px;max-width:100%}.number-field input{border:1px solid #9db9ab;border-radius:8px;padding:11px 13px;width:100%;min-width:0;max-width:220px}.actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:21px}.bottom-actions{display:flex;justify-content:space-between;gap:12px;border-top:1px solid var(--line);padding-top:22px;margin-top:26px}.bottom-actions button{font-size:13px;background:transparent}.notice,.hint{background:#fff5df;border:1px solid #e9d4a3;border-radius:12px;padding:15px 18px;margin:14px 0}.feedback{padding:13px 16px;margin-top:16px;border-radius:10px}.feedback.good{background:#e6f4e8;color:#135a38}.feedback.wrong{background:#fff0e8;color:#8b371a}.feedback:empty{display:none}.small{font-size:13px}.muted{color:var(--muted)}.notebook-panel{background:#fbfcfa;padding:24px}.notebook-head h2{margin:6px 0;font-size:23px}.notebook-head p{font-size:14px;color:var(--muted)}#notebook{list-style:none;padding:0;margin:0}#notebook li{padding:18px 0;border-top:1px solid var(--line)}#notebook h3{font-size:15px;margin:0 0 8px}#notebook p{font-size:14px;margin:8px 0}#notebook .formula{font-size:18px;padding:12px;margin:9px 0;background:white;border:1px solid var(--line)}#saved-domain .formula{font-size:19px}.axis-block{margin:18px 0;border:1px solid var(--line);border-radius:12px;padding:12px 8px;background:#fff}.axis-block h3{font-size:14px;margin:3px 6px 8px}.axis-scroll{overflow-x:auto;padding:4px 0}.axis-scroll svg{width:100%;min-width:480px;display:block}.axis-scroll svg.small-axis{min-width:280px}.axis-help{font-size:13px;color:var(--muted);margin:8px}.axis-selection{font-size:15px;background:var(--pale);padding:10px 12px;border-radius:8px;margin-top:10px}.axis-segment,.axis-point{cursor:pointer}.axis-segment:focus-visible .hit,.axis-point:focus-visible .hit{stroke:#d29823;stroke-width:3;fill:#fff5dd}.system{display:flex;align-items:center;justify-content:center;gap:8px}.system-brace{font:normal 94px/1 serif;transform:scaleX(.65);transform-origin:right}.system-rows{display:flex;flex-direction:column;gap:13px;align-items:flex-start;text-align:left;padding:7px 0}.system-rows math{display:block}.hint .formula{background:#fffaf0}.practice{display:inline-block;margin-top:18px;font-weight:650}textarea{width:100%;max-width:100%;border:1px solid var(--line);border-radius:8px;padding:12px;margin-top:12px}summary{cursor:pointer}footer{padding:25px 36px;display:flex;justify-content:space-between;gap:16px;border-top:1px solid var(--line);font-size:13px;color:var(--muted)}.notebook-panel li:last-child{animation:arrive .35s ease-out}@keyframes arrive{from{opacity:.3;transform:translateY(8px)}to{opacity:1;transform:none}}@media(prefers-reduced-motion:reduce){*{animation:none!important;scroll-behavior:auto!important}}@media(max-width:920px){.layout{grid-template-columns:1fr}.notebook-panel{max-height:none}.intro{max-width:none}}@media(max-width:520px){body{font-size:16px}.top{padding:18px 16px;align-items:flex-start}.top>a:last-child{max-width:150px;text-align:right}.brand{font-size:23px}main{padding:24px 14px}.lesson,.notebook-panel{padding:20px 16px;border-radius:14px}.problem{font-size:25px;padding:18px 12px}h2{font-size:23px}.legend{gap:8px 20px}.formula{font-size:20px;padding:12px 8px}.option{padding:10px;gap:8px}.option math{font-size:20px}.bottom-actions{flex-wrap:wrap}footer{padding:20px 16px;flex-wrap:wrap}.system{justify-content:flex-start}.system-brace{font-size:84px}.axis-help{margin:8px 4px}}

.scroll-note{font-size:13px;border-left:3px solid #bc8d36;background:#fff7e6;padding:10px 12px}.scrollable-formula{scrollbar-width:thin;scrollbar-color:#729d87 #e9f1ed}.scrollable-formula:focus-visible{outline:2px solid #d29823;outline-offset:2px}

/* Reference rows and the editable axis share one horizontal scroll position. */
.axis-stack{width:100%}.axis-stack svg,.axis-stack svg.small-axis{min-width:0;width:100%}
.axis-stack>.axis-help{position:sticky;left:0;width:260px;max-width:100%;background:#fff;z-index:1}
