@import url("https://fonts.googleapis.com/css2?family=JetBrains+Mono:wght@500;600&display=swap");.ls-root{--ls-emphasis:#1a1a1a;--ls-body:#393b3d;--ls-body-size:16px;--ls-title-3:19px;--ls-title-2:21px;--ls-title-1:27px;--ls-accent:#0369a1;--ls-accent-deep:#0c4a6e;--ls-navy:#075985;--ls-teal:#0e7490;--ls-accent-bright:#0ea5e9;--ls-hero-bg:linear-gradient(135deg,#0c4a6e,#0369a1 48%,#0ea5e9);--ls-radius:16px;--ls-ink:#0f2733;--ls-muted:#4a6572;--ls-line:#dbeafe;--ls-wash:#f0f9ff;--ls-wash-2:#e0f2fe;--ls-amber:#b45309;--ls-amber-wash:#fffbeb;--ls-amber-line:#fde68a;--ls-mono:"JetBrains Mono",ui-monospace,monospace;padding:12px;color:var(--ls-ink);container:lesson/inline-size}.ls-root,.ls-root .html-parser>:not(h1):not(h2):not(h3):not(h4):not(h5):not(h6){font-size:var(--ls-body-size);line-height:1.7}.ls-root *{box-sizing:border-box}.ls-root h1,.ls-root h2,.ls-root h3,.ls-root h4,.ls-root h5,.ls-root h6{margin:1.25em 0 .5em;color:var(--ls-emphasis);font-weight:700;line-height:1.3}.ls-root h1:first-child,.ls-root h2:first-child,.ls-root h3:first-child,.ls-root h4:first-child,.ls-root h5:first-child,.ls-root h6:first-child{margin-top:0}.ls-root h1{font-size:var(--ls-title-1)}.ls-root h2{font-size:var(--ls-title-2)}.ls-root h3,.ls-root h4,.ls-root h5,.ls-root h6{font-size:var(--ls-title-3)}.ls-root img{max-width:100%;height:auto}.ls-root p{margin:0 0 .573em}.ls-root li,.ls-root p{color:var(--ls-body)}.ls-root b,.ls-root strong{color:var(--ls-emphasis);font-weight:700}.ls-root sup{font-size:.72em}.ls-root ul,.ls-root ul li{list-style-type:disc}.ls-root ol,.ls-root ol li{list-style-type:decimal}.ls-root ol,.ls-root ul{padding-left:16px}.ls-root .callout ul,.ls-root .goals ul,.ls-root .steps{list-style:none;margin:0;padding-left:0}.ls-root .callout ul>li,.ls-root .goals ul>li,.ls-root .steps>li{list-style:none}.ls-root .hero{position:relative;overflow:hidden;margin:0 0 34px;padding:34px 34px 30px;border-radius:calc(var(--ls-radius)*1.375);color:#fff;background:var(--ls-hero-bg);box-shadow:0 20px 45px -22px rgba(3,105,161,.7)}.ls-root .hero:after{content:"";position:absolute;right:-60px;top:-60px;width:230px;height:230px;border-radius:50%;background:radial-gradient(circle,hsla(0,0%,100%,.22),transparent 68%)}.ls-root .hero h1{position:relative;z-index:1;margin:0;color:inherit;font-size:var(--ls-title-1);font-weight:800;line-height:1.2;letter-spacing:-.01em}.ls-root .hero p{position:relative;z-index:1;margin:12px 0 0;max-width:46ch;color:#e0f2fe}.ls-root .eyebrow{display:inline-flex;align-items:center;gap:8px;margin:0 0 12px;color:#bae6fd;font-size:11.84px;font-weight:700;letter-spacing:.16em;text-transform:uppercase}.ls-root .eyebrow:before{content:"";width:22px;height:2px;border-radius:2px;background:#7dd3fc}.ls-root h2.section{display:flex;align-items:center;gap:14px;margin:44px 0 18px;color:var(--ls-emphasis);font-size:var(--ls-title-2);line-height:1.3;font-weight:800;letter-spacing:-.01em}.ls-root h2.section .num{flex:none;display:grid;place-items:center;width:40px;height:40px;border-radius:12px;background:linear-gradient(135deg,var(--ls-accent),var(--ls-navy));color:#fff;font-size:14px;font-weight:800;box-shadow:0 8px 18px -8px rgba(2,132,199,.75)}.ls-root h3.sub{margin:32px 0 12px;padding-left:14px;border-left:4px solid var(--ls-accent-bright);font-size:var(--ls-title-3);line-height:1.4}.ls-root .lead-label,.ls-root h3.sub{color:var(--ls-emphasis);font-weight:700}.ls-root .lead-label{margin:20px 0 8px}.ls-root .card{margin:0 0 16px;padding:22px 24px;border:1px solid var(--ls-line);border-radius:var(--ls-radius);background:#fff;box-shadow:0 10px 26px -22px rgba(12,74,110,.5)}.ls-root .goals{padding:24px 26px;border:1px solid var(--ls-line);border-radius:calc(var(--ls-radius)*1.125);background:#fff;box-shadow:0 12px 30px -20px rgba(12,74,110,.35)}.ls-root .goals .lead{margin:0 0 14px;color:var(--ls-muted);font-weight:600}.ls-root .goals ul{display:grid;gap:12px}.ls-root .goals li{display:flex;align-items:flex-start;gap:13px}.ls-root .goals li svg{flex:none;width:20px;height:20px;margin-top:3px}.ls-root figure{margin:20px 0;text-align:center}.ls-root figure img{padding:10px;border:1px solid var(--ls-line);border-radius:14px;background:#fff;box-shadow:0 12px 30px -20px rgba(12,74,110,.5)}.ls-root .img-table{width:100%;max-width:270px}.ls-root .img-note{width:100%;max-width:159px}.ls-root .callout{position:relative;margin:22px 0;padding:20px 22px 18px;border:1px solid var(--ls-wash-2);border-radius:var(--ls-radius)}.ls-root .callout .tag{display:inline-flex;align-items:center;gap:8px;margin-bottom:8px;font-size:11.52px;font-weight:800;letter-spacing:.1em;text-transform:uppercase}.ls-root .callout p:last-child{margin-bottom:0}.ls-root .callout.def{border-left:5px solid var(--ls-accent);background:var(--ls-wash)}.ls-root .callout.def .tag{color:var(--ls-accent)}.ls-root .callout.note{border:1px solid var(--ls-amber-line);border-left:5px solid var(--ls-amber);background:var(--ls-amber-wash)}.ls-root .callout.note .tag{color:var(--ls-amber)}.ls-root .callout.note strong{color:#92400e}.ls-root .callout.note ul{margin:8px 0 0;padding-left:20px}.ls-root .callout.note li{margin:6px 0}.ls-root .callout.note .work{margin-top:10px;border-color:var(--ls-amber-line);background:#fffdf5}.ls-root .steps{counter-reset:st;margin:14px 0 4px}.ls-root .steps li{counter-increment:st;position:relative;margin:0 0 10px;padding:12px 16px 12px 56px;border:1px solid var(--ls-line);border-radius:12px;background:#fff}.ls-root .steps li:before{content:counter(st);position:absolute;left:12px;top:50%;transform:translateY(-50%);display:grid;place-items:center;width:32px;height:32px;border-radius:9px;background:var(--ls-wash-2);color:var(--ls-navy);font-family:var(--ls-mono);font-weight:800}.ls-root .steps li p{margin:0}.ls-root .example{margin:22px 0;padding:22px 24px;border:1px solid var(--ls-wash-2);border-radius:calc(var(--ls-radius)*1.125);background:linear-gradient(180deg,#f8fdff,#eef8ff);box-shadow:0 14px 34px -24px rgba(3,105,161,.55)}.ls-root .example .tag{display:inline-flex;align-items:center;gap:8px;margin-bottom:12px;color:var(--ls-accent);font-size:11.52px;font-weight:800;letter-spacing:.12em;text-transform:uppercase}.ls-root .given{display:flex;flex-wrap:wrap;gap:10px;margin:6px 0 4px}.ls-root .part-title{margin:18px 0 8px;color:var(--ls-emphasis);font-weight:700}.ls-root .work{padding:14px 16px;border:1px solid var(--ls-line);border-radius:12px;background:#fff;font-family:var(--ls-mono);overflow-x:auto}.ls-root .work .row{padding:3px 0;white-space:nowrap}.ls-root .work .row.eq:before{content:"=";margin-right:10px;color:var(--ls-accent);font-weight:700}.ls-root .work .row.result{margin-top:6px;padding-top:10px;border-top:1px dashed var(--ls-wash-2);color:var(--ls-accent-deep);font-weight:700}.ls-root .eqchip{display:inline-block;padding:4px 10px;border:1px solid var(--ls-wash-2);border-radius:8px;background:var(--ls-wash);color:var(--ls-accent-deep);font-family:var(--ls-mono);font-weight:600}@media (max-width:64rem){.ls-root .work{overflow-x:visible}.ls-root .work .row{white-space:normal;overflow-wrap:anywhere;line-height:1.55}.ls-root .work .row.eq{padding-left:1.1em;text-indent:-1.1em}.ls-root .hero{padding:28px 24px}.ls-root .eqchip{max-width:100%;overflow-wrap:anywhere}.ls-root .given{flex-direction:column;align-items:flex-start}}@media (max-width:35rem){.ls-root .callout,.ls-root .card,.ls-root .example,.ls-root .goals{padding:18px 16px}.ls-root .hero{padding:24px 20px}.ls-root h2.section{gap:10px;margin:32px 0 16px}.ls-root h2.section .num{width:34px;height:34px;border-radius:10px}.ls-root .steps li{padding:12px 14px 12px 46px}.ls-root .steps li:before{left:8px;width:28px;height:28px}.ls-root .work{padding:12px 14px}.ls-root figure img{padding:8px}}@media (min-width:48rem){.ls-root{padding:16px}}@media (min-width:64rem){.ls-root{padding:24px}}@media (min-width:80rem){.ls-root{padding:32px}}.ls-root>*{--ls-body-size:clamp(16px,calc(14.6667px + 0.3333cqi),18px);--ls-title-3:clamp(19px,calc(18.3333px + 0.1667cqi),20px);--ls-title-2:clamp(21px,calc(19px + 0.5cqi),24px);--ls-title-1:clamp(27px,calc(26.3333px + 0.1667cqi),28px);font-size:var(--ls-body-size)}@media (min-width:80rem) and (max-width:100rem){.ls-root>*{--ls-body-size:clamp(14px,calc(6px + 0.625vw),16px);--ls-title-3:clamp(16px,calc(8px + 0.625vw),18px);--ls-title-2:clamp(18px,calc(10px + 0.625vw),20px);--ls-title-1:clamp(22px,calc(14px + 0.625vw),24px)}}@media (min-width:100.0625rem){.ls-root>*{--ls-body-size:clamp(16px,calc(6px + 0.625vw),18px);--ls-title-3:clamp(18px,calc(8px + 0.625vw),20px);--ls-title-2:clamp(20px,1.25vw,24px);--ls-title-1:clamp(24px,calc(4px + 1.25vw),28px)}}@media (prefers-reduced-motion:no-preference){.ls-root .callout,.ls-root .card,.ls-root .example,.ls-root .goals,.ls-root .hero,.ls-root h2.section,.ls-root h3.sub{animation:ls-rise .5s ease both}}@keyframes ls-rise{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}.ls-root img{cursor:zoom-in}.ls-root img[data-no-zoom]{cursor:default}.ls-root .ls-zoom{position:fixed;inset:0;z-index:9999;display:flex;align-items:center;justify-content:center;padding:12px;background:rgba(15,23,42,.55);touch-action:pinch-zoom;backdrop-filter:blur(2px);cursor:zoom-out;overscroll-behavior:contain}.ls-root .ls-zoom img{width:100%;height:auto;max-height:100%;padding:12px;border:0;border-radius:12px;background:#fff;box-shadow:0 24px 48px -16px rgba(2,6,23,.45);cursor:zoom-out;-o-object-fit:contain;object-fit:contain}.ls-root .ls-zoom-close{position:absolute;top:12px;right:12px;width:40px;height:40px;display:flex;align-items:center;justify-content:center;padding:0;border:0;border-radius:999px;background:rgba(15,23,42,.55);color:#fff;font-size:24px;line-height:1;cursor:pointer}@media (prefers-reduced-motion:no-preference){.ls-root .ls-zoom{animation:ls-zoom-fade .15s ease-out both}}@keyframes ls-zoom-fade{0%{opacity:0}to{opacity:1}}.ls-root .ls-zoom-close{top:calc(12px + env(safe-area-inset-top, 0px));right:calc(12px + env(safe-area-inset-right, 0px));width:44px;height:44px}@media (min-width:48rem){.ls-root .ls-zoom{padding:32px}.ls-root .ls-zoom img{max-width:1280px}}