.tutorial-page{--teal:#147d76;--gold:#a76613;--red:#b74450;--violet:#7750ae}.tutorial-page main{max-width:1160px;margin:auto;padding:48px 36px}.tutorial-hero{max-width:850px}.tutorial-hero h1{font:normal clamp(38px,5vw,57px)/1.12 var(--serif);letter-spacing:-1.1px;margin:15px 0 22px}.tutorial-hero>p{max-width:720px;font-size:18px;color:var(--muted)}.tutorial-credit{font-size:14px!important;color:var(--blue)!important}.tutorial-index{display:flex;gap:8px;flex-wrap:wrap;margin:26px 0 35px}.tutorial-index a{min-width:0;border:1px solid var(--line);border-radius:5px;padding:8px 12px;font-size:14px;color:var(--ink)}.tutorial-index a:hover{border-color:var(--blue)}.tutorial-intro{padding:16px 20px;background:var(--pale);font-size:15px;margin:20px 0 38px;max-width:900px}.lesson{padding:38px 0 44px;border-top:1px solid var(--line);scroll-margin-top:82px}.lesson h2{font-size:34px;margin:12px 0}.lesson-lead{max-width:800px;font-size:17px;color:var(--muted);margin:12px 0 22px}.lesson-experiment{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(255px,1fr);border:1px solid var(--line);border-radius:8px;overflow:hidden;background:#fff}.visual{min-width:0;background:#f7f9fd;padding:12px 14px;display:flex;flex-direction:column;justify-content:center}.visual svg{width:100%;height:auto;display:block;max-height:360px}.visual-caption{font-size:14px;color:var(--muted);margin:0 10px 10px}.controls{padding:25px;border-left:1px solid var(--line);min-width:0}.controls label{display:block;font-size:15px;font-weight:600;margin:0 0 6px}.range-row{display:flex;justify-content:space-between;gap:12px;align-items:center}.range-row output{font-size:14px;color:var(--blue);font-variant-numeric:tabular-nums;white-space:nowrap}.controls input[type=range]{width:100%;accent-color:var(--blue);margin:8px 0 20px;cursor:pointer;height:22px}.controls .hint{font-size:14px;color:var(--muted);margin:0 0 16px}.button-row{display:flex;gap:8px;flex-wrap:wrap;margin:8px 0 17px}.tutorial-page button{font:500 14px/1.4 -apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;padding:9px 13px;cursor:pointer;border:1px solid #becae1;border-radius:5px;background:white;color:var(--blue);min-height:38px}.tutorial-page button.primary{background:var(--blue);border-color:var(--blue);color:white}.tutorial-page button:disabled{cursor:default;opacity:.6}.tutorial-page button:focus-visible,.controls input:focus-visible{outline:2px solid var(--blue);outline-offset:4px}.experiment-stats{border-top:1px solid var(--line);margin-top:18px;padding-top:12px}.stat-row{display:flex;justify-content:space-between;gap:14px;font-size:14px;line-height:1.5;margin:9px 0}.stat-row strong{font-variant-numeric:tabular-nums;text-align:right;white-space:nowrap}.lesson-insight{background:#eef4fc;border-left:3px solid var(--blue);padding:16px 20px;margin:18px 0;font-size:16px;line-height:1.75}.lesson-insight.warn{background:#fff7eb;border-color:var(--gold)}.lesson details{margin-top:16px}.lesson summary{font-size:16px}.lesson details p{max-width:850px;font-size:16px;line-height:1.8}.lesson .math{padding:12px 15px;background:#f7f9fd;margin:12px 0}.lesson .steps{padding-left:25px;max-width:860px}.lesson .steps li{padding-left:5px;margin:18px 0;font-size:16px}.lesson-links{font-size:14px;margin:20px 0 0}.tutorial-page .legend-row{display:flex;gap:15px;flex-wrap:wrap;padding:0 10px 10px;font-size:13px;color:var(--muted)}.legend-row span:before{content:'';display:inline-block;vertical-align:middle;width:17px;height:3px;margin-right:6px;background:var(--swatch)}.tutorial-sources{padding-top:25px;border-top:1px solid var(--line);font-size:15px}.tutorial-sources li{margin-bottom:12px}.tutorial-page footer{margin-top:30px}.tutorial-entry{padding:20px 23px;border:1px solid #bfcdef;background:#f3f6ff;margin:25px 0}.tutorial-entry h2{font:normal 23px var(--serif);margin:0 0 8px}.tutorial-entry p{font-size:15px;margin:8px 0}.tutorial-entry a{font-size:15px;font-weight:600}.technique-links{padding:14px 18px;background:#f1f5fc;margin:20px 0;font-size:14px}.technique-links a{display:inline-block;margin-right:14px}.tutorial-page svg text{font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;font-size:15px;fill:var(--muted)}.tutorial-page svg .plot-label{font-size:13px}.tutorial-page svg .svg-title{font-weight:600;fill:var(--ink)}@media(max-width:760px){.tutorial-page main{padding:30px 20px}.lesson-experiment{grid-template-columns:1fr}.controls{border-left:0;border-top:1px solid var(--line);padding:20px}.visual{padding:8px}.lesson h2{font-size:29px}.lesson{padding:28px 0}.tutorial-hero h1{font-size:39px}.tutorial-index a{font-size:13px;padding:7px 10px}.lesson-insight{padding:14px 16px}.controls input[type=range]{margin-bottom:14px}.visual svg{max-height:none}.tutorial-page header{gap:16px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}@media print{.controls,.tutorial-index{display:none}.lesson-experiment{display:block}.lesson{break-inside:avoid}.tutorial-page main{padding:0}.visual svg{max-height:300px}}

@media(max-width:650px){body:not(.tutorial-page):not(.derivation-page) header a[href="#conventions"]{display:none}body:not(.tutorial-page):not(.derivation-page) header{gap:14px}}

.theorem-visible{padding:18px 22px;background:#eef3fc;border-left:3px solid var(--blue);margin:20px 0;font-size:16px}.theorem-visible .math{background:transparent;margin:4px 0;padding:8px 0}.theorem-visible p{margin:6px 0 0;font-size:15px;color:var(--muted);max-width:760px}

.lesson-symbols{padding:16px 18px;margin:18px 0;background:#f0f4f8;border-left:3px solid #879bb5;font-size:14px;line-height:1.7}.lesson-symbols p{margin:6px 0 0}
