:root{--ink: #1a2b1a;--paper: #d4e26a;--paper-2: #c8d65a;--accent: #1a4d6e;--accent-2: #2f7a9b;--accent-3: #3d6e5f;--accent-tint: rgba(26, 77, 110, .18);--hair: rgba(26, 43, 26, .12);--hair-strong: rgba(26, 43, 26, .22);--muted: rgba(26, 43, 26, .6);--font-sans: "DM Sans", ui-sans-serif, system-ui, sans-serif;--font-serif: "DM Sans", ui-sans-serif, system-ui, sans-serif;--font-slab: "DM Sans", ui-sans-serif, system-ui, sans-serif;--font-mono: "JetBrains Mono", ui-monospace, monospace;--pad-screen: 24px;--gap-card: 12px;--ease-out-expo: cubic-bezier(.16, 1, .3, 1);--ease-out-quart: cubic-bezier(.25, 1, .5, 1)}[data-density=compact]{--pad-screen: 16px;--gap-card: 8px}[data-density=comfy]{--pad-screen: 36px;--gap-card: 16px}*,*:before,*:after{box-sizing:border-box}html,body{margin:0;padding:0;background:var(--paper);color:var(--ink);scroll-behavior:smooth}body{font-family:var(--font-sans);font-size:16px;line-height:1.4;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;transition:background-color 2s ease}button{font-family:inherit}input,textarea{font-family:inherit;color:inherit}a{color:inherit;text-decoration:none;cursor:pointer}::selection{background:var(--ink);color:var(--paper)}:focus{outline:none}:focus-visible{outline:2px solid var(--ink);outline-offset:2px}.chamfer{clip-path:polygon(4px 0%,0% 4px,0% calc(100% - 4px),4px 100%,calc(100% - 4px) 100%,100% calc(100% - 4px),100% 4px,calc(100% - 4px) 0%)}.landing-cta-card{flex:1 1 280px;min-width:260px;max-width:320px;background:transparent;border:1px solid var(--hair);padding:16px 18px;display:grid;grid-template-columns:1fr auto;grid-template-rows:auto auto auto;column-gap:14px;row-gap:4px;align-items:center;cursor:pointer;font-family:inherit;color:var(--ink);text-align:left;transition:border-color .22s var(--ease-out-quart),background .22s var(--ease-out-quart),transform .26s var(--ease-out-expo)}.landing-cta-card:hover{border-color:var(--ink);background:var(--paper-2);transform:translateY(-1px)}.landing-cta-card:active{transform:translateY(0)}.landing-cta-card:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-color:var(--ink)}.landing-cta-card .cta-kicker{grid-column:1;grid-row:1;font-family:var(--font-mono);font-size:10px;letter-spacing:.2em;text-transform:uppercase;color:var(--muted);transition:color .2s}.landing-cta-card:hover .cta-kicker{color:var(--accent)}.landing-cta-card .cta-title{grid-column:1;grid-row:2;font-size:17px;font-weight:600;line-height:1.25;letter-spacing:-.01em}.landing-cta-card .cta-sub{grid-column:1;grid-row:3;margin-top:4px;font-size:12px;color:var(--muted);line-height:1.4}.landing-cta-card .cta-arrow{grid-column:2;grid-row:1 / span 3;font-size:22px;color:var(--muted);align-self:center;display:inline-block;transition:transform .26s var(--ease-out-expo),color .2s}.landing-cta-card:hover .cta-arrow{transform:translate(6px);color:var(--ink)}@media (prefers-reduced-motion: reduce){.landing-cta-card,.landing-cta-card .cta-arrow,.landing-cta-card .cta-kicker{transition:none}.landing-cta-card:hover,.landing-cta-card:hover .cta-arrow{transform:none}}.landing-feature-card{background:var(--paper);border:1px solid var(--hair);padding:18px 18px 20px;display:flex;flex-direction:column;gap:6px;transition:border-color .22s var(--ease-out-quart),background .22s var(--ease-out-quart),transform .26s var(--ease-out-expo)}.landing-feature-card:hover{border-color:var(--ink);background:var(--paper-2);transform:translateY(-1px)}.landing-feature-card .cta-kicker{font-family:var(--font-mono);font-size:10px;letter-spacing:.2em;text-transform:uppercase}.landing-feature-card .feature-card-title{font-family:var(--font-sans);font-size:16px;font-weight:700;letter-spacing:-.01em;line-height:1.25;margin:2px 0 4px;color:var(--ink)}.landing-feature-card .feature-card-sub{font-size:13px;color:var(--muted);line-height:1.5;margin:0}@media (prefers-reduced-motion: reduce){.landing-feature-card{transition:none}.landing-feature-card:hover{transform:none}}.disclosure{transition:background-color .18s var(--ease-out-quart)}.disclosure summary{list-style:none;cursor:pointer;-webkit-user-select:none;user-select:none}.disclosure summary::-webkit-details-marker{display:none}.disclosure summary:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}.disclosure summary:hover .chev{color:var(--ink)}.disclosure .chev{transition:transform .2s var(--ease-out-quart),color .12s ease;color:var(--muted);flex-shrink:0;display:inline-flex}.disclosure[open] .chev{transform:rotate(180deg)}.disclosure .reveal{animation:disclosure-reveal .22s var(--ease-out-quart) both}.feedback-md>:first-child{margin-top:0}.feedback-md>:last-child{margin-bottom:0}.feedback-md p{margin:0 0 8px}.feedback-md p:last-of-type{margin-bottom:0}@keyframes disclosure-reveal{0%{opacity:0;transform:translateY(-2px)}to{opacity:1;transform:none}}@media (prefers-reduced-motion: reduce){.disclosure .chev,.disclosure .reveal{transition:none;animation:none}}.upgrade-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#1a2b1a9e;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);display:flex;align-items:center;justify-content:center;padding:20px;z-index:1000;animation:upgrade-fade .22s var(--ease-out-quart) both}.upgrade-card{position:relative;max-width:480px;width:100%;padding:28px 26px 24px;animation:upgrade-rise .32s var(--ease-out-expo) both;box-shadow:0 20px 60px #00000038;max-height:calc(100vh - 40px);overflow-y:auto}@keyframes upgrade-fade{0%{opacity:0}to{opacity:1}}@keyframes upgrade-rise{0%{opacity:0;transform:translateY(16px) scale(.98)}to{opacity:1;transform:none}}@media (prefers-reduced-motion: reduce){.upgrade-backdrop,.upgrade-card{animation:none}}@media (max-width: 480px){.upgrade-backdrop{padding:12px;align-items:flex-end}.upgrade-card{padding:22px 18px 18px}}@keyframes reveal-up{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}@keyframes page-enter{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}.reveal{animation:reveal-up .7s var(--ease-out-expo) both}.reveal-1{animation-delay:60ms}.reveal-2{animation-delay:.14s}.reveal-3{animation-delay:.22s}.reveal-4{animation-delay:.3s}.reveal-5{animation-delay:.38s}.page-enter{animation:page-enter .36s var(--ease-out-expo) both}.stagger-children>*{animation:reveal-up .6s var(--ease-out-expo) both}.stagger-children>*:nth-child(1){animation-delay:60ms}.stagger-children>*:nth-child(2){animation-delay:.12s}.stagger-children>*:nth-child(3){animation-delay:.18s}.stagger-children>*:nth-child(4){animation-delay:.24s}.stagger-children>*:nth-child(5){animation-delay:.3s}.stagger-children>*:nth-child(6){animation-delay:.36s}.stagger-children>*:nth-child(7){animation-delay:.42s}.stagger-children>*:nth-child(8){animation-delay:.48s}.stagger-children>*:nth-child(n+9){animation-delay:.52s}.lift{transition:transform .28s var(--ease-out-expo),border-color .2s}.lift:hover{transform:translateY(-2px);border-color:var(--ink)}.lift:active{transform:translateY(0)}.btn-press{transition:transform .12s var(--ease-out-quart),background .2s,color .2s}.btn-press:active{transform:scale(.98)}.arrow-nudge{display:inline-block;transition:transform .28s var(--ease-out-expo)}.lift:hover .arrow-nudge,.btn-press:hover .arrow-nudge{transform:translate(4px)}.course-card{position:relative;overflow:hidden}.course-card:before{content:"";position:absolute;left:0;top:0;bottom:0;width:0;background:var(--accent);transition:width .24s var(--ease-out-expo)}.course-card:hover:before{width:4px}.course-card .card-title{transition:transform .28s var(--ease-out-expo)}.course-card:hover .card-title{transform:translate(6px)}.type-caret{display:inline-block;width:.55em;height:.85em;margin-left:2px;vertical-align:-.07em;background:var(--ink);animation:caret-blink .9s steps(2,end) infinite}@keyframes caret-blink{0%,50%{opacity:1}50.01%,to{opacity:0}}.hero-stage{position:relative;width:100%;max-width:560px;min-height:clamp(220px,36vh,320px);display:grid;grid-template-columns:1fr;grid-template-rows:1fr;place-items:center}.hero-stage>*{grid-column:1;grid-row:1;width:100%;display:flex;flex-direction:column;align-items:center}.scribe-trigger{background:transparent;border:none;padding:0;cursor:pointer;font-family:inherit;color:var(--ink);display:flex;flex-direction:column;align-items:center;gap:16px;opacity:1;transform:scale(1);transition:opacity .28s ease-out,transform .32s cubic-bezier(.16,1,.3,1);animation:scribe-breathe 3.6s ease-in-out infinite}.scribe-trigger:hover{animation-play-state:paused;transform:scale(1.04)}.scribe-trigger:active{transform:scale(.98)}.scribe-trigger[data-active=false]{opacity:0;transform:scale(.78);pointer-events:none;animation:none}.scribe-hint{font-family:var(--font-mono);font-size:12px;letter-spacing:.18em;text-transform:uppercase;color:var(--muted);transition:color .2s}.scribe-trigger:hover .scribe-hint{color:var(--ink)}@keyframes scribe-breathe{0%,to{opacity:.85}50%{opacity:1}}.search-form{opacity:0;transform:scale(.94);pointer-events:none;transition:opacity .32s ease-out .1s,transform .36s cubic-bezier(.16,1,.3,1) .1s}.search-form[data-active=true]{opacity:1;transform:scale(1);pointer-events:auto}.responsive-pad{padding:24px 20px}@media (min-width: 600px){.responsive-pad{padding:32px}}@media (min-width: 900px){.responsive-pad{padding:40px 48px}}.markdown-body p{margin:0 0 12px}.markdown-body p:last-child{margin-bottom:0}.markdown-body strong{font-weight:700}.markdown-body em{font-style:italic}.markdown-body code{font-family:var(--font-mono);font-size:.92em;background:var(--paper-2);padding:1px 5px}.markdown-body pre{background:var(--paper-2);border:1px solid var(--hair-strong);padding:10px 12px;overflow-x:auto;font-size:13px}.markdown-body ul,.markdown-body ol{margin:0 0 12px 20px}.markdown-body li{margin:2px 0}.markdown-body h1,.markdown-body h2,.markdown-body h3{font-weight:700;letter-spacing:-.01em;margin:20px 0 8px}.markdown-body h1{font-size:22px}.markdown-body h2{font-size:19px}.markdown-body h3{font-size:17px}.markdown-body blockquote{margin:0 0 12px;padding:4px 0 4px 14px;border-left:2px solid var(--ink)}.markdown-body .katex-display{margin:10px 0;overflow-x:auto}img,svg{max-width:100%}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}.print-host{position:absolute;left:-9999px;top:0;width:0;height:0;overflow:hidden}@media print{#root{display:none!important}.print-host{position:static!important;left:auto!important;top:auto!important;width:auto!important;height:auto!important;overflow:visible!important;background:#fff!important}.print-doc{color:#000;background:#fff;font-family:DM Sans,system-ui,sans-serif;font-size:11pt;line-height:1.55;padding:.6in .7in;max-width:none}.print-doc .markdown-body{color:#000}.print-doc h1{font-size:18pt;margin:0 0 4pt}.print-doc .print-meta{font-size:9pt;color:#555;margin-bottom:14pt;padding-bottom:8pt;border-bottom:1px solid #000}.print-doc .print-footer{margin-top:18pt;padding-top:8pt;border-top:1px solid #ccc;font-size:8pt;color:#777;text-align:center}.print-doc .markdown-body p,.print-doc .markdown-body li,.print-doc .markdown-body .katex-display{page-break-inside:avoid}.print-doc .katex{font-size:1.05em}.exam-doc{color:#000;background:#fff;font-family:DM Sans,system-ui,sans-serif;font-size:12pt;line-height:1.55;padding:.6in .7in}.exam-doc .exam-header{text-align:center;border-bottom:2px solid #000;padding-bottom:14pt;margin-bottom:18pt}.exam-doc .exam-course{font-size:10pt;letter-spacing:.18em;text-transform:uppercase;color:#444;margin-bottom:4pt}.exam-doc .exam-title{font-size:24pt;font-weight:700;margin:0 0 10pt;letter-spacing:-.02em}.exam-doc .exam-meta{font-size:11pt;color:#222;margin-bottom:8pt}.exam-doc .exam-instructions{font-size:10pt;color:#444;font-style:italic}.exam-doc .exam-problem{page-break-inside:avoid;margin-bottom:14pt;border-top:1px solid #999;padding-top:10pt}.exam-doc .exam-problem:first-of-type{border-top:none;padding-top:0}.exam-doc .exam-problem-label{font-size:11pt;font-weight:700;letter-spacing:.04em}.exam-doc .exam-problem-topic{font-size:9pt;color:#666;letter-spacing:.1em;text-transform:uppercase;margin-bottom:6pt}.exam-doc .exam-problem-body{color:#000;font-size:12pt}.exam-doc .exam-problem-body .katex{font-size:1.05em}.exam-doc .exam-workspace{min-height:3in;border-bottom:1px dashed #ccc;margin-top:8pt}.exam-doc .print-footer{margin-top:24pt;padding-top:8pt;border-top:1px solid #ccc;font-size:8pt;color:#777;text-align:center}.homework-doc{color:#000;background:#fff;font-family:DM Sans,system-ui,sans-serif;font-size:12pt;line-height:1.55;padding:.6in .7in}.homework-doc .homework-header{border-bottom:1.5px solid #000;padding-bottom:10pt;margin-bottom:16pt}.homework-doc .homework-title{font-size:22pt;font-weight:700;margin:0 0 4pt;letter-spacing:-.02em}.homework-doc .homework-meta{font-size:10pt;color:#666;letter-spacing:.04em}.homework-doc .homework-body{color:#000;font-size:12pt}.homework-doc .homework-body p,.homework-doc .homework-body li,.homework-doc .homework-body .katex-display{page-break-inside:avoid}.homework-doc .homework-body .katex{font-size:1.05em}.homework-doc .homework-body h1{font-size:14pt;margin:14pt 0 6pt}.homework-doc .homework-body h2{font-size:13pt;margin:12pt 0 6pt}.homework-doc .homework-body h3{font-size:12pt;margin:10pt 0 4pt}.homework-doc .print-footer{margin-top:24pt;padding-top:8pt;border-top:1px solid #ccc;font-size:8pt;color:#777;text-align:center}}
