/*! tailwindcss v4.2.1 | 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-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}}}@layer theme{:root,:host{--font-sans:ui-sans-serif, system-ui, 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;--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%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif, system-ui, 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;-webkit-text-decoration:inherit;-webkit-text-decoration: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{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]){appearance:button}::file-selector-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{.sr-only{clip-path:inset(50%);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.absolute{position:absolute}.relative{position:relative}.static{position:static}.start{inset-inline-start:var(--spacing)}.end{inset-inline-end:var(--spacing)}.container{width:100%}@media (width>=40rem){.container{max-width:40rem}}@media (width>=48rem){.container{max-width:48rem}}@media (width>=64rem){.container{max-width:64rem}}@media (width>=80rem){.container{max-width:80rem}}@media (width>=96rem){.container{max-width:96rem}}.table{display:table}.p-1{padding:calc(var(--spacing) * 1)}.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)}}:root{--paper:#f6f2ea;--paper-deep:#ede6da;--card:#fffdf8;--ink:#18171b;--muted:#69636c;--line:#d9d0c5;--line-dark:#b9afa5;--magenta:#c51b5d;--magenta-dark:#8f1748;--magenta-soft:#f8dfe9;--blue:#1d6682;--blue-soft:#dcedf2;--green:#28734f;--green-soft:#dff0e7;--gold:#a36b16;--shadow:0 24px 70px #2a1f281a;--serif:"Iowan Old Style", "Palatino Linotype", Palatino, Georgia, serif;--sans:Inter, "Avenir Next", Avenir, "Helvetica Neue", Arial, sans-serif}*{box-sizing:border-box}html{background:var(--paper);color:var(--ink);scroll-behavior:smooth}body{background:radial-gradient(circle at 14% 10%, #c51b5d0b, transparent 30rem), var(--paper);color:var(--ink);font-family:var(--sans);text-rendering:optimizelegibility;margin:0;font-size:16px;line-height:1.6}button,input,textarea,select{color:inherit;font:inherit}button,a{-webkit-tap-highlight-color:transparent}button{border:0}a{color:inherit}:focus-visible{outline-offset:3px;outline:3px solid #1d66828c}::selection{background:var(--magenta-soft);color:var(--magenta-dark)}.sr-only{clip:rect(0, 0, 0, 0);clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.site-shell{min-height:100vh}.site-header{-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);z-index:50;background:#f6f2eaeb;border-bottom:1px solid #b9afa5bf;grid-template-columns:minmax(250px,1fr) auto minmax(220px,1fr);align-items:center;min-height:76px;padding:0 4.5vw;display:grid;position:sticky;top:0}.brand{cursor:pointer;text-align:left;background:0 0;justify-self:start;align-items:center;gap:13px;padding:6px 0;display:inline-flex}.brand>span:last-child{line-height:1.2;display:grid}.brand strong{letter-spacing:.18em;font-size:.78rem;font-weight:780}.brand small{color:var(--muted);font-family:var(--serif);font-size:.88rem}.logo-mark{border:1px solid var(--ink);font-family:var(--serif);justify-content:center;align-items:center;width:43px;height:43px;font-size:1.6rem;display:inline-flex;position:relative}.logo-mark:after{background:var(--magenta);content:"";width:16px;height:4px;position:absolute;top:-1px;right:-5px}.logo-vector{color:var(--magenta);font-family:var(--sans);font-size:.75rem;position:absolute;top:0;right:3px}.main-nav{justify-content:center;align-items:center;gap:2px;display:flex}.main-nav button{color:var(--muted);cursor:pointer;letter-spacing:.035em;background:0 0;border-bottom:2px solid #0000;padding:27px 17px 23px;font-size:.83rem;font-weight:670}.main-nav button:hover,.main-nav button.active{border-bottom-color:var(--magenta);color:var(--ink)}.header-progress{justify-self:end;align-items:center;gap:10px;display:flex}.header-progress>span{line-height:1.15;display:grid}.header-progress strong{font-size:.9rem}.header-progress small{color:var(--muted);font-size:.72rem}.menu-button{cursor:pointer;background:0 0;width:42px;height:42px;display:none}.menu-button span{background:var(--ink);width:22px;height:1px;margin:7px auto;display:block}.progress-ring{background:conic-gradient(var(--magenta) var(--progress), #c51b5d21 0);border-radius:50%;justify-content:center;align-items:center;display:flex;position:relative}.progress-ring:before{background:var(--paper);border-radius:inherit;content:"";position:absolute;inset:5px}.progress-ring>div{z-index:1;place-items:center;line-height:1.05;display:grid;position:relative}.progress-ring strong{font-family:var(--serif)}.progress-ring span{color:var(--muted)}.progress-ring-small{width:38px;height:38px}.progress-ring-small:before{inset:4px}.progress-ring-small strong{font-family:var(--sans);font-size:.68rem}.progress-ring-large{width:124px;height:124px}.progress-ring-large:before{inset:8px}.progress-ring-large strong{font-size:1.8rem}.progress-ring-large span{letter-spacing:.08em;text-transform:uppercase;margin-top:4px;font-size:.65rem}.pill{color:#514c52;letter-spacing:.08em;text-transform:uppercase;background:#18171b0e;border:1px solid #18171b17;border-radius:999px;align-items:center;padding:6px 9px 5px;font-size:.66rem;font-weight:740;line-height:1;display:inline-flex}.pill-magenta{background:var(--magenta-soft);color:var(--magenta-dark);border-color:#c51b5d26}.pill-blue{background:var(--blue-soft);color:var(--blue);border-color:#1d668226}.pill-green{background:var(--green-soft);color:var(--green);border-color:#28734f26}.eyebrow{color:var(--magenta-dark);letter-spacing:.2em;text-transform:uppercase;margin:0 0 12px;font-size:.7rem;font-weight:780}.primary-button,.secondary-button{cursor:pointer;border-radius:2px;justify-content:center;align-items:center;gap:18px;min-height:48px;padding:13px 19px;font-size:.83rem;font-weight:740;text-decoration:none;transition:transform .18s,background .18s,border-color .18s;display:inline-flex}.primary-button{background:var(--ink);color:#fff}.primary-button:hover{background:var(--magenta-dark);transform:translateY(-2px)}.primary-button:disabled{cursor:not-allowed;opacity:.58;transform:none}.secondary-button{border:1px solid var(--line-dark);color:var(--ink);background:0 0}.secondary-button:hover{background:var(--card);border-color:var(--ink);transform:translateY(-2px)}.text-button{cursor:pointer;background:0 0;padding:0}.hero{grid-template-columns:minmax(0,1.02fr) minmax(400px,.98fr);gap:clamp(50px,8vw,130px);max-width:1440px;min-height:calc(100vh - 76px);margin:0 auto;padding:clamp(70px,9vw,130px) 5vw 90px;display:grid;position:relative;overflow:hidden}.hero:before{content:"";pointer-events:none;background-image:linear-gradient(#18171b09 1px,#0000 1px),linear-gradient(90deg,#18171b09 1px,#0000 1px);background-size:42px 42px;height:100%;position:absolute;inset:0 0 auto 50%;-webkit-mask-image:linear-gradient(90deg,#0000,#000 25%);mask-image:linear-gradient(90deg,#0000,#000 25%)}.hero-copy{z-index:1;align-self:center;position:relative}.hero-copy>.pill{margin-bottom:35px}.hero h1{font-family:var(--serif);letter-spacing:-.055em;margin:0 0 35px;font-size:clamp(3.4rem,6.4vw,6.5rem);font-weight:450;line-height:.92}.hero h1 em{color:var(--magenta);font-weight:450}.hero-intro{color:#554f58;font-family:var(--serif);max-width:640px;margin:0 0 35px;font-size:clamp(1.1rem,1.5vw,1.35rem);line-height:1.55}.hero-intro strong{color:var(--ink);font-weight:650}.hero-actions{flex-wrap:wrap;gap:12px;display:flex}.hero-facts{border-top:1px solid var(--line);flex-wrap:wrap;gap:25px;margin-top:46px;padding-top:22px;display:flex}.hero-facts span{color:var(--muted);font-size:.76rem}.hero-facts strong{color:var(--ink);font-family:var(--serif);margin-right:5px;font-size:1.2rem}.hero-board{background:var(--card);border:1px solid var(--line-dark);box-shadow:var(--shadow);z-index:2;align-self:center;min-height:620px;padding:27px;position:relative;transform:rotate(1deg)}.hero-board:before{background:var(--magenta);content:"";height:5px;position:absolute;top:-6px;left:35px;right:-14px}.board-header{border-bottom:1px solid var(--line);color:var(--muted);letter-spacing:.09em;text-transform:uppercase;justify-content:space-between;align-items:center;padding-bottom:18px;font-size:.7rem;font-weight:700;display:flex}.live-dot{align-items:center;gap:7px;display:inline-flex}.live-dot:before{background:var(--green);content:"";border-radius:50%;width:7px;height:7px}.matrix-scene{border-bottom:1px solid var(--line);background:radial-gradient(circle,#c51b5d14,#0000 70%);justify-content:center;align-items:center;gap:25px;min-height:210px;display:flex}.matrix{border-left:2px solid var(--ink);border-right:2px solid var(--ink);font-family:var(--serif);grid-template-columns:repeat(2,1fr);gap:10px 24px;padding:11px 18px;font-size:1.8rem;line-height:1;display:grid;position:relative}.matrix:before,.matrix:after{border-bottom:2px solid var(--ink);border-top:2px solid var(--ink);content:"";position:absolute;inset:0 -2px}.matrix-arrow{color:var(--magenta);font-size:2rem}.eigen-stack{font-family:var(--serif);gap:6px;font-size:1.25rem;display:grid}.board-question{padding:25px 6px 20px}.board-question>span{font-family:var(--serif);font-size:1.1rem;font-weight:600}.answer-line{font-family:var(--serif);align-items:center;gap:11px;margin-top:17px;font-size:1.25rem;display:flex}.answer-line .blank{border:1px solid var(--line);color:var(--blue);background:#fbf7f2;flex:1;padding:10px 13px}.answer-line .check{background:var(--green-soft);color:var(--green);font-family:var(--sans);border-radius:50%;justify-content:center;align-items:center;width:30px;height:30px;font-size:.85rem;display:flex}.board-proof{border:1px solid var(--line);background:#f5f0e8;padding:20px}.proof-kicker{color:var(--magenta-dark);letter-spacing:.16em;text-transform:uppercase;font-size:.65rem;font-weight:800}.board-proof ol{counter-reset:proof;gap:7px;margin:13px 0 0;padding:0;list-style:none;display:grid}.board-proof li{align-items:center;gap:9px;font-size:.78rem;display:flex}.board-proof li:before{border:1px solid var(--line-dark);content:counter(proof);counter-increment:proof;border-radius:50%;justify-content:center;align-items:center;width:20px;height:20px;font-size:.6rem;display:flex}.board-proof li.done:before{background:var(--green);border-color:var(--green);color:#fff;content:"✓"}.board-caption{color:var(--muted);font-family:var(--serif);text-align:center;padding:22px 4px 0;font-size:.75rem;font-style:italic}.course-roadmap{background:var(--ink);color:#fff;padding:105px max(5vw,50vw - 720px)}.section-heading{justify-content:space-between;align-items:end;gap:50px;margin-bottom:45px;display:flex}.section-heading h2{font-family:var(--serif);letter-spacing:-.04em;margin:0;font-size:clamp(2.3rem,4vw,4.2rem);font-weight:460;line-height:1}.section-heading>p{color:#bbb5bb;max-width:480px;margin:0}.chapter-grid{border-left:1px solid #4a474d;grid-template-columns:repeat(3,1fr);display:grid}.chapter-card{color:#fff;cursor:pointer;text-align:left;background:0 0;border-bottom:1px solid #4a474d;border-right:1px solid #4a474d;min-height:345px;padding:30px;transition:background .18s;position:relative;overflow:hidden}.chapter-card:hover{background:#29272d}.chapter-card:after{background:var(--chapter-accent);content:"";transform-origin:0;width:100%;height:4px;transition:transform .18s;position:absolute;bottom:0;left:0;transform:scaleX(0)}.chapter-card:hover:after{transform:scaleX(1)}.chapter-number{color:#9e989f;font-family:var(--serif);font-size:.78rem}.chapter-line{background:var(--chapter-accent);width:38px;height:2px;margin:23px 0 46px;display:block}.chapter-card h3{font-family:var(--serif);margin:0 0 16px;font-size:1.7rem;font-weight:520;line-height:1.08}.chapter-card p{color:#aaa5ac;margin:0;font-size:.83rem;line-height:1.55}.chapter-card-footer{color:#8f8991;text-transform:uppercase;align-items:center;gap:13px;font-size:.66rem;display:flex;position:absolute;bottom:26px;left:30px;right:30px}.chapter-card-footer strong{color:#fff;margin-left:auto}.method-strip{grid-template-columns:repeat(3,1fr);max-width:1440px;margin:0 auto;padding:90px 5vw;display:grid}.method-strip>div{border-left:1px solid var(--line);min-height:190px;padding:0 45px}.method-strip>div:last-child{border-right:1px solid var(--line)}.method-number{color:var(--magenta);font-family:var(--serif);font-size:.8rem}.method-strip h3{font-family:var(--serif);margin:25px 0 10px;font-size:2rem;font-weight:500}.method-strip p{color:var(--muted);margin:0;font-size:.85rem}.course-layout{grid-template-columns:310px minmax(0,1fr);max-width:1600px;min-height:calc(100vh - 76px);margin:0 auto;display:grid}.chapter-rail{border-right:1px solid var(--line);padding:45px 26px 35px}.rail-heading{justify-content:space-between;align-items:baseline;margin-bottom:22px;display:flex}.rail-heading span{color:var(--muted);letter-spacing:.14em;text-transform:uppercase;font-size:.68rem;font-weight:750}.rail-heading strong{color:var(--magenta);font-family:var(--serif);font-size:2.2rem;font-weight:450}.chapter-selector{border-bottom:1px solid var(--line);grid-template-columns:repeat(7,1fr);margin-bottom:25px;padding-bottom:20px;display:grid}.chapter-selector button{color:var(--muted);cursor:pointer;background:0 0;border-radius:50%;justify-content:center;align-items:center;width:30px;height:30px;font-size:.75rem;display:flex}.chapter-selector button:hover,.chapter-selector button.active{background:var(--ink);color:#fff}.section-map{gap:4px;margin:0;padding:0;list-style:none;display:grid}.section-map button{color:var(--muted);cursor:pointer;text-align:left;background:0 0;border-left:2px solid #0000;grid-template-columns:28px 1fr auto;align-items:center;gap:10px;width:100%;padding:10px 8px;display:grid}.section-map button:hover,.section-map button.active{border-left-color:var(--magenta);color:var(--ink);background:#c51b5d0e}.section-map button>span:nth-child(2){font-size:.74rem;line-height:1.25;display:grid}.section-map button strong{color:var(--magenta-dark);letter-spacing:.08em;margin-bottom:3px;font-size:.61rem}.section-map button small{color:var(--gold);font-size:.56rem}.section-dot{border:1px solid var(--line-dark);font-family:var(--serif);border-radius:50%;justify-content:center;align-items:center;width:25px;height:25px;font-size:.68rem;display:flex}.section-map button.active .section-dot{background:var(--magenta);border-color:var(--magenta);color:#fff}.pdf-rail-link{border-top:1px solid var(--line);color:var(--muted);align-items:center;gap:10px;margin-top:28px;padding:22px 8px 0;font-size:.73rem;text-decoration:none;display:flex}.pdf-rail-link:hover{color:var(--magenta-dark)}.pdf-rail-link span{color:var(--magenta);font-size:1.2rem}.course-main{min-width:0;padding:55px clamp(35px,5vw,85px) 100px}.course-load-state{border:1px solid var(--line);flex-direction:column;align-items:flex-start;gap:10px;max-width:620px;margin-top:30px;padding:28px;display:flex}.course-load-state strong{font-family:var(--serif);font-size:1.35rem}.course-load-state span{color:var(--muted);font-size:.78rem}.course-load-state .primary-button{margin-top:8px}.chapter-hero{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:50px;padding-bottom:45px;display:flex;position:relative}.chapter-hero:after{background:var(--chapter-accent);content:"";width:90px;height:3px;position:absolute;bottom:-2px;left:0}.chapter-hero h1{font-family:var(--serif);letter-spacing:-.05em;margin:0 0 20px;font-size:clamp(3rem,5.5vw,5.4rem);font-weight:450;line-height:.98}.chapter-hero>div>p:last-child{color:var(--muted);font-family:var(--serif);max-width:650px;margin:0;font-size:1.04rem}.section-intro{justify-content:space-between;align-items:center;gap:35px;padding:45px 0 30px;display:flex}.section-intro>div{align-items:flex-start;gap:20px;display:flex}.section-index{color:var(--magenta);font-family:var(--serif);padding-top:3px;font-size:1.5rem}.section-intro h2{font-family:var(--serif);margin:0 0 8px;font-size:2rem;font-weight:520;line-height:1.1}.section-intro p:last-child{color:var(--muted);margin:0;font-size:.8rem}.section-progress-card{border:1px solid var(--line);background:#fffdf8b8;gap:10px;margin:0 0 24px;padding:14px 16px;display:grid}.section-progress-copy{align-items:baseline;gap:12px;display:flex}.section-progress-copy>span{color:var(--magenta-dark);letter-spacing:.1em;text-transform:uppercase;font-size:.66rem;font-weight:760}.section-progress-copy strong{font-family:var(--serif);font-size:.9rem}.section-progress-copy small{color:var(--muted);margin-left:auto;font-size:.68rem}.section-progress-track{background:var(--paper-deep);height:8px;overflow:hidden}.section-progress-track>span{background:var(--magenta);height:100%;transition:width .25s;display:block}.exercise-workspace .section-progress-card{margin:22px 0 0}.exercise-search{border-bottom:1px solid var(--line-dark);align-items:center;min-width:190px;max-width:230px;display:flex}.exercise-search input{background:0 0;border:0;outline:0;width:100%;min-width:0;padding:10px 0;font-size:.75rem}.exercise-search span:last-child{color:var(--magenta);font-size:1.1rem}.lesson-panel{background:var(--card);border:1px solid var(--line);grid-template-columns:minmax(0,1fr) minmax(0,1fr);margin:0 0 24px;display:grid}.lesson-explanation,.worked-example{padding:28px 30px}.lesson-explanation{border-right:1px solid var(--line)}.lesson-panel h3{font-family:var(--serif);margin:0 0 12px;font-size:1.35rem;font-weight:520}.lesson-panel p,.lesson-panel li{font-size:.76rem;line-height:1.65}.lesson-panel ul,.lesson-panel ol{margin:14px 0 0;padding-left:19px}.lesson-panel li+li{margin-top:7px}.worked-example>strong{font-family:var(--serif);font-size:1rem;font-weight:550;display:block}.example-conclusion{border-top:1px solid var(--line);color:var(--ink);margin:16px 0 0;padding-top:12px;font-weight:700}.lesson-panel>aside{background:var(--paper-deep);grid-column:1/-1;align-items:baseline;gap:16px;padding:12px 30px;display:flex}.lesson-panel>aside strong{color:var(--magenta-dark);text-transform:uppercase;flex:none;font-size:.68rem}.lesson-panel>aside p{margin:0}.lesson-cycle{background:var(--card);border:1px solid var(--line);grid-template-columns:repeat(4,1fr);margin-bottom:45px;display:grid}.lesson-cycle>div{border-right:1px solid var(--line);grid-template-columns:32px 1fr;align-items:center;gap:1px 12px;padding:16px;display:grid}.lesson-cycle>div:last-child{border-right:0}.lesson-cycle span{background:var(--paper-deep);font-family:var(--serif);border-radius:50%;grid-row:span 2;justify-content:center;align-items:center;width:29px;height:29px;display:flex}.lesson-cycle strong{font-size:.73rem}.lesson-cycle small{color:var(--muted);font-size:.62rem}.exercise-list-heading{justify-content:space-between;align-items:end;margin-bottom:17px;display:flex}.exercise-list-heading h3{font-family:var(--serif);margin:0;font-size:1.45rem;font-weight:530}.legend{color:var(--muted);flex-wrap:wrap;gap:14px;font-size:.62rem;display:flex}.legend span{align-items:center;gap:5px;display:flex}.legend i{border-radius:50%;width:7px;height:7px}.stack-dot{background:var(--blue)}.concept-dot{background:#827b7f}.lean-dot{background:var(--magenta)}.exercise-list{border-top:1px solid var(--line-dark)}.exercise-row{border-bottom:1px solid var(--line);cursor:pointer;text-align:left;background:0 0;grid-template-columns:40px minmax(0,1fr) auto 25px;align-items:center;gap:18px;width:100%;min-height:112px;padding:18px 9px;transition:background .15s,padding .15s;display:grid}.exercise-row:hover{background:var(--card);padding-left:16px;padding-right:16px}.exercise-row-number{color:var(--line-dark);font-family:var(--serif);font-size:.78rem}.exercise-row-copy{min-width:0;display:grid}.exercise-row-copy>span{gap:5px;margin-bottom:7px;display:flex}.exercise-row-copy>strong{font-family:var(--serif);font-size:1.04rem;font-weight:590;line-height:1.3}.exercise-row-copy>small{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;margin-top:4px;font-size:.71rem;overflow:hidden}.mastery{color:var(--line-dark);align-items:center;gap:7px;font-size:1rem;display:flex}.mastery small{min-width:80px;font-size:.6rem}.mastery-secure{color:var(--green)}.mastery-review-due{color:var(--gold)}.mastery-practising{color:var(--blue)}.row-arrow{color:var(--magenta);font-size:1.1rem}.empty-state{background:var(--card);color:var(--muted);text-align:center;padding:50px}.empty-state strong{color:var(--ink);font-family:var(--serif);font-size:1.3rem}.exercise-workspace{max-width:950px;margin:0 auto}.exercise-topline{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;padding-bottom:20px;display:flex}.back-button{color:var(--muted);font-size:.73rem}.back-button:hover{color:var(--magenta-dark)}.exercise-meta{align-items:center;gap:7px;display:flex}.exercise-meta>span:last-child{color:var(--muted);margin-left:7px;font-size:.67rem}.exercise-heading{padding:55px 0 35px}.exercise-heading>p{color:var(--magenta-dark);letter-spacing:.13em;text-transform:uppercase;margin:0 0 10px;font-size:.68rem;font-weight:750}.exercise-heading h1{font-family:var(--serif);letter-spacing:-.04em;margin:0 0 25px;font-size:clamp(2.6rem,5vw,4.5rem);font-weight:480;line-height:1}.learning-goal{border-left:3px solid var(--magenta);color:var(--muted);font-family:var(--serif);background:#c51b5d0f;padding:10px 14px;display:block}.learning-goal strong{color:var(--ink)}.problem-card{background:var(--card);border:1px solid var(--line-dark);font-family:var(--serif);min-height:190px;padding:38px 40px 35px 77px;font-size:clamp(1.12rem,1.7vw,1.35rem);line-height:1.65;position:relative;box-shadow:0 12px 40px #231b1f0f}.problem-number{background:var(--magenta);color:#fff;font-family:var(--sans);letter-spacing:.08em;justify-content:center;align-items:center;width:48px;height:44px;font-size:.58rem;font-weight:800;display:flex;position:absolute;top:0;left:0}.problem-card p{white-space:pre-line;margin:0}.book-link{color:var(--magenta-dark);font-family:var(--sans);margin-top:25px;font-size:.7rem;font-weight:700;display:inline-block}.answer-card{border-bottom:1px solid var(--line);padding:40px 0}.answer-editor{border:0;min-width:0;margin:0;padding:0}.choice-list{border:0;gap:9px;margin:0;padding:0;display:grid}.choice-list legend,.input-label,.input-stack>span{color:var(--muted);letter-spacing:.1em;text-transform:uppercase;margin-bottom:13px;font-size:.7rem;font-weight:760}.choice{background:var(--card);border:1px solid var(--line);cursor:pointer;grid-template-columns:auto 28px 1fr;align-items:center;gap:12px;min-height:55px;padding:10px 15px;display:grid}.choice:hover,.choice.selected{border-color:var(--magenta)}.choice.selected{background:#c51b5d0b}.choice input{accent-color:var(--magenta)}.choice-letter{border:1px solid var(--line-dark);font-family:var(--serif);border-radius:50%;justify-content:center;align-items:center;width:27px;height:27px;font-size:.72rem;display:flex}.choice.selected .choice-letter{background:var(--magenta);border-color:var(--magenta);color:#fff}.input-stack{display:grid}.number-answer{align-items:center;gap:10px;display:flex}.answer-input,.math-field{background:var(--card);border:1px solid var(--line-dark);font-family:var(--serif);border-radius:0;width:100%;min-height:55px;padding:12px 15px;font-size:1.15rem}.answer-input:focus,.math-field:focus-within{border-color:var(--blue);outline:0;box-shadow:0 0 0 3px #1d66821f}.written-answer{gap:14px;display:grid}.written-answer textarea{background:var(--card);border:1px solid var(--line-dark);font-family:var(--sans);resize:vertical;width:100%;min-height:170px;padding:14px 15px;line-height:1.6}.written-answer textarea:focus{border-color:var(--blue);outline:0;box-shadow:0 0 0 3px #1d66821f}.paper-answer{border:1px solid var(--line);cursor:pointer;background:#fffdf8a6;align-items:flex-start;gap:10px;padding:12px 14px;display:flex}.paper-answer input{accent-color:var(--magenta);margin-top:5px}.written-answer>p{color:var(--muted);margin:0;font-size:.78rem}.matrix-input{background:var(--ink);grid-template-columns:repeat(var(--matrix-columns), minmax(60px, 100px));gap:1px;width:max-content;padding:2px;display:grid}.matrix-input input{background:var(--card);font-family:var(--serif);text-align:center;border:0;max-width:100px;height:52px;font-size:1.1rem}.proof-builder{border:1px solid var(--line);background:#fffdf8a6;padding:25px}.proof-sequence{gap:8px;min-height:65px;margin:0 0 20px;padding:0;list-style:none;display:grid}.proof-sequence li{border-left:3px solid var(--magenta);font-family:var(--serif);background:#fff;grid-template-columns:26px 1fr auto;align-items:center;gap:12px;min-height:47px;padding:8px 12px;display:grid}.proof-sequence li>span{background:var(--magenta-soft);color:var(--magenta-dark);font-family:var(--sans);border-radius:50%;justify-content:center;align-items:center;width:24px;height:24px;font-size:.62rem;display:flex}.proof-sequence li button{color:var(--muted);cursor:pointer;background:0 0;font-size:1.1rem}.proof-sequence .empty-proof{border:1px dashed var(--line-dark);color:var(--muted);font-family:var(--sans);text-align:center;padding:20px;font-size:.74rem;display:block}.proof-options{flex-wrap:wrap;gap:8px;display:flex}.proof-options button{background:var(--paper-deep);border:1px solid var(--line);cursor:pointer;font-family:var(--serif);padding:9px 12px;font-size:.84rem}.proof-options button:hover{border-color:var(--magenta)}.answer-actions{gap:10px;margin-top:22px;display:flex}.next-exercise-button{min-width:190px}.result-message{border-left:3px solid;align-items:start;margin-top:18px;padding:13px 16px;display:grid}.result-message strong{font-family:var(--serif)}.result-message span{font-size:.74rem}.result-message.correct{background:var(--green-soft);border-color:var(--green);color:#1e593d}.result-message.incorrect{color:#733019;background:#f7e7df;border-color:#ae4b2b}.result-message.unavailable{border-color:var(--gold);color:#694715;background:#f5ecdf}.hint-card{background:#f5ecdf;border:1px solid #ddcdb8;grid-template-columns:130px 1fr auto;gap:20px;margin:30px 0;padding:25px;display:grid}.hint-card>div:first-child{display:grid}.hint-card span{color:var(--gold);letter-spacing:.1em;text-transform:uppercase;font-size:.62rem;font-weight:760}.hint-card strong{font-family:var(--serif)}.hint-card p{font-family:var(--serif);margin:0}.hint-dots{align-items:center;gap:4px;display:flex}.hint-dots span{background:#d9c7ab;border-radius:50%;width:6px;height:6px}.hint-dots span.filled{background:var(--gold)}.solution-card{border-bottom:1px solid var(--line);border-top:1px solid var(--line);margin-top:30px;padding:20px 0}.solution-card>summary{color:var(--muted);cursor:pointer;font-size:.75rem;font-weight:740}.solution-card>p{background:var(--card);border-left:3px solid var(--blue);font-family:var(--serif);margin:20px 0 0;padding:20px}.formalization{margin-top:18px}.formalization summary{color:var(--muted);cursor:pointer;font-size:.7rem}.formalization pre{color:#e8e2e7;background:#222126;padding:20px;font-size:.72rem;overflow-x:auto}.progress-page,.about-page{max-width:1320px;min-height:calc(100vh - 76px);margin:0 auto;padding:80px 5vw 110px}.progress-page>header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:40px;padding-bottom:55px;display:flex}.progress-page h1,.about-page h1{font-family:var(--serif);letter-spacing:-.055em;max-width:900px;margin:0 0 25px;font-size:clamp(3.3rem,6vw,6rem);font-weight:450;line-height:.95}.progress-page header p:last-child{color:var(--muted);max-width:650px;margin:0}.progress-summary{border-bottom:1px solid var(--line);grid-template-columns:repeat(4,1fr);display:grid}.progress-summary>div{border-right:1px solid var(--line);padding:35px 25px;display:grid}.progress-summary>div:first-child{padding-left:0}.progress-summary>div:last-child{border-right:0}.progress-summary span{color:var(--muted);letter-spacing:.1em;text-transform:uppercase;font-size:.67rem;font-weight:730}.progress-summary strong{font-family:var(--serif);margin:12px 0 6px;font-size:2.8rem;font-weight:450;line-height:1}.progress-summary small{color:var(--muted);font-size:.67rem}.chapter-progress-list{padding-top:70px}.chapter-progress-list .section-heading{color:var(--ink)}.chapter-progress-list>button{border-bottom:1px solid var(--line);cursor:pointer;text-align:left;background:0 0;grid-template-columns:40px minmax(180px,.7fr) minmax(180px,1fr) 50px 20px;align-items:center;gap:20px;width:100%;min-height:85px;display:grid}.chapter-progress-list>button:hover{background:var(--card)}.chapter-progress-list>button>span:nth-child(2){display:grid}.chapter-progress-list>button small{color:var(--muted);font-size:.65rem}.linear-progress{background:var(--paper-deep);height:4px;overflow:hidden}.linear-progress i{background:var(--magenta);height:100%;display:block}.progress-transfer{background:var(--ink);color:#fff;justify-content:space-between;align-items:center;gap:40px;margin-top:70px;padding:42px;display:flex}.progress-transfer h2{font-family:var(--serif);margin:0 0 10px;font-size:2rem;font-weight:500}.progress-transfer p:last-child{color:#aaa5ac;max-width:620px;margin:0;font-size:.8rem}.progress-transfer>div:last-child{flex-wrap:wrap;flex-shrink:0;gap:9px;display:flex}.progress-transfer .transfer-message{flex-basis:100%;max-width:360px}.progress-transfer .primary-button{background:var(--magenta)}.progress-transfer .secondary-button{color:#fff;border-color:#706a72}.about-page>section{border-bottom:1px solid var(--line);padding-bottom:60px}.about-page .lead{color:var(--muted);font-family:var(--serif);max-width:760px;font-size:1.2rem}.about-grid{grid-template-columns:repeat(3,1fr);display:grid}.about-grid article{border-bottom:1px solid var(--line);border-right:1px solid var(--line);min-height:290px;padding:45px 35px}.about-grid article:first-child{border-left:1px solid var(--line)}.about-grid article>span{color:var(--magenta);font-family:var(--serif);font-size:.8rem}.about-grid h2{font-family:var(--serif);margin:40px 0 13px;font-size:1.7rem;font-weight:520}.about-grid p{color:var(--muted);margin:0;font-size:.82rem}.license-panel{background:var(--card);border:1px solid var(--line);justify-content:space-between;align-items:center;gap:40px;margin-top:70px;padding:40px;display:flex}.license-panel h2{font-family:var(--serif);margin:0 0 10px;font-size:1.9rem;font-weight:500}.license-panel p{color:var(--muted);max-width:760px;margin:0}.site-footer{color:#8e8990;letter-spacing:.04em;background:#111014;justify-content:space-between;align-items:center;gap:25px;min-height:80px;padding:20px 5vw;font-size:.65rem;display:flex}.site-footer button{color:#c5bfc7;cursor:pointer;font-size:inherit;background:0 0}@media (width<=1100px){.site-header{grid-template-columns:minmax(220px,1fr) auto}.main-nav{display:none}.menu-button{grid-area:1/2;justify-self:end;display:block}.main-nav.open{background:var(--paper);border-bottom:1px solid var(--line);grid-column:1/-1;align-items:stretch;padding:10px 5vw 20px;display:grid;position:absolute;top:75px;left:0;right:0}.main-nav.open button{border-bottom:1px solid var(--line);text-align:left;padding:14px 0}.header-progress{display:none}.hero{grid-template-columns:1fr .9fr;gap:55px;padding-top:75px}.hero-board{min-height:560px}.chapter-grid{grid-template-columns:repeat(2,1fr)}.course-layout{grid-template-columns:255px minmax(0,1fr)}.chapter-rail{padding-left:18px;padding-right:18px}.course-main{padding-left:35px;padding-right:35px}.lesson-cycle{grid-template-columns:repeat(2,1fr)}.lesson-panel{display:block}.lesson-explanation{border-bottom:1px solid var(--line);border-right:0}.lesson-panel>aside{display:block}.lesson-panel>aside strong{margin-bottom:4px;display:block}.lesson-cycle>div:nth-child(2){border-right:0}.lesson-cycle>div:nth-child(-n+2){border-bottom:1px solid var(--line)}}@media (width<=800px){.site-header{min-height:68px;padding:0 18px}.brand small{display:none}.logo-mark{width:38px;height:38px}.main-nav.open{top:67px}.hero{min-height:auto;padding:65px 22px;display:block}.hero:before{display:none}.hero h1{font-size:clamp(3.5rem,15vw,5.2rem)}.hero-actions{align-items:stretch;display:grid}.hero-board{min-height:auto;margin-top:65px;padding:20px;transform:none}.matrix-scene{min-height:170px}.board-caption{display:none}.course-roadmap{padding:75px 22px}.section-heading{align-items:start;gap:20px;display:grid}.chapter-grid{display:block}.chapter-card{width:100%;min-height:310px}.method-strip{padding:65px 22px;display:block}.method-strip>div,.method-strip>div:last-child{border-bottom:1px solid var(--line);border-left:0;border-right:0;min-height:0;padding:35px 0}.course-layout{display:block}.chapter-rail{border-bottom:1px solid var(--line);border-right:0;padding:22px 18px}.rail-heading,.section-map,.pdf-rail-link{display:none}.chapter-selector{border:0;margin:0;padding:0}.chapter-selector button{width:36px;height:36px}.course-main{padding:35px 18px 80px}.chapter-hero{align-items:flex-start}.chapter-hero h1{font-size:3.4rem}.chapter-hero .progress-ring{flex-shrink:0;width:82px;height:82px}.chapter-hero .progress-ring strong{font-size:1.2rem}.chapter-hero .progress-ring span{display:none}.section-intro{align-items:stretch;display:grid}.section-progress-copy{align-items:start;gap:2px;display:grid}.section-progress-copy small{margin-left:0}.exercise-search{max-width:none}.exercise-list-heading{align-items:start;gap:15px;display:grid}.exercise-row{grid-template-columns:25px minmax(0,1fr) 20px;gap:10px;min-height:105px}.mastery{display:none}.exercise-row-copy>small{white-space:normal}.exercise-topline{align-items:start;gap:15px;display:grid}.exercise-meta{flex-wrap:wrap}.exercise-heading{padding-top:35px}.problem-card{padding:60px 22px 28px}.answer-actions{align-items:stretch;display:grid}.next-exercise-button{width:100%}.hint-card{grid-template-columns:1fr}.hint-dots{justify-content:start}.progress-page,.about-page{padding:60px 22px 85px}.progress-page>header{align-items:flex-start}.progress-page h1,.about-page h1{font-size:3.7rem}.progress-summary{grid-template-columns:repeat(2,1fr)}.progress-summary>div{border-bottom:1px solid var(--line)}.chapter-progress-list>button{grid-template-columns:30px minmax(0,1fr) 45px 18px}.chapter-progress-list .linear-progress{display:none}.progress-transfer,.license-panel{align-items:stretch;display:grid}.progress-transfer>div:last-child{display:grid}.about-grid{display:block}.about-grid article,.about-grid article:first-child{border-left:1px solid var(--line)}.site-footer{align-items:flex-start;display:grid}}@media (width<=480px){.hero h1,.progress-page h1,.about-page h1{font-size:3.05rem}.hero-facts{gap:15px}.matrix-scene{gap:13px}.matrix{gap:8px 17px;font-size:1.35rem}.eigen-stack{font-size:1rem}.chapter-hero{display:block}.chapter-hero .progress-ring{margin-top:25px}.lesson-cycle{display:block}.lesson-cycle>div{border-bottom:1px solid var(--line);border-right:0}.choice{grid-template-columns:auto 24px 1fr;padding-left:9px}.progress-page>header{display:block}.progress-page>header .progress-ring{margin-top:30px}.progress-summary{display:block}.progress-summary>div,.progress-summary>div:first-child{border-right:0;padding:25px 0}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important}}@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}
