:root{--paper:#fcfaf7;--ink:#242321;--muted:#686560;--red:#bd2738;--line:#ded9d1;--navy:#242321;--navy2:#34312d;--mint:#a31f30;--accent:#bd2738;--bg:#fcfaf7;--border:#ded9d1;--white:#fffefa}
body{background:var(--paper);color:var(--ink);font-family:Arial,Helvetica,sans-serif}
a{color:#9b2433}button,input{font-family:inherit}a,button,summary{touch-action:manipulation}:focus-visible{outline:3px solid #bd2738;outline-offset:4px}
.app-head{background:#fcfaf7f5;box-shadow:none;backdrop-filter:blur(16px);border-bottom:1px solid var(--line)}.topbar{max-width:1600px;padding:18px 36px;gap:22px}.brand{gap:18px;font-size:14px;letter-spacing:.015em}.brand-mark{background:none;color:var(--ink);padding:0 20px 0 0;border-right:1px solid var(--line);border-radius:0;font-size:26px;letter-spacing:-1.5px;font-weight:800}.brand-mark i{color:var(--red);font-style:normal}.brand small{font:9px/1.6 'Courier New',monospace;letter-spacing:.05em;text-transform:uppercase}.topbar a.external{border:0;padding:0;font:11px 'Courier New',monospace;color:var(--muted)}.inlinebtn{border-color:var(--line);border-radius:30px;font-size:11px;padding:9px 14px;background:transparent;color:var(--ink)}.inlinebtn:hover{background:#f3ede5}
.layout{max-width:1600px;grid-template-columns:215px minmax(0,1fr)}.sidebar{padding:28px 18px;top:79px;height:calc(100vh - 79px)}.sidebar h3{font:9px 'Courier New',monospace;letter-spacing:.12em;color:var(--muted);padding-left:12px;margin-top:28px}.sidebar a{font-size:12px;border-radius:3px;padding:11px 12px;margin:3px 0;font-weight:500;color:#56534f}.sidebar a:hover{background:#f1ece5;color:var(--ink)}.sidebar a.active{background:#f4e7e7;color:#a32232;border-left:2px solid var(--red)}.sidebar small{font:9px 'Courier New',monospace;color:#817b73}.main{padding:35px clamp(22px,3.3vw,58px) 70px}
.hero{border-radius:0;padding:0;background:none;color:var(--ink);margin-bottom:0}.hero-mast{display:flex;justify-content:space-between;gap:20px;padding-bottom:24px;font:9px/1.7 'Courier New',monospace;letter-spacing:.1em;color:#77726c;text-transform:uppercase}.hero-mast span:last-child{text-align:right}.hero-main{display:grid;grid-template-columns:1.05fr 1fr;gap:10px;align-items:center;min-height:425px}.hero .eyebrow{color:var(--red);font:10px 'Courier New',monospace;letter-spacing:.1em}.hero h1{font-size:clamp(42px,4.5vw,76px);font-weight:500;line-height:1.02;letter-spacing:-.06em;margin:23px 0 24px;max-width:650px}.hero h1 em{font-family:Georgia,'Times New Roman',serif;font-weight:400;color:var(--red);letter-spacing:-.055em}.hero p{color:var(--muted);font-size:14px;line-height:1.8;max-width:400px;margin:0 0 23px}.hero-actions{display:flex;gap:10px;flex-wrap:wrap}.hero-actions a{font-size:12px;font-weight:600;padding:13px 17px;text-decoration:none;border:1px solid var(--line);border-radius:2px;color:var(--ink)}.hero-actions a:first-child{color:white;background:var(--red);border-color:var(--red)}.hero-actions a:hover{transform:translateY(-2px);box-shadow:0 4px 14px #271f1510}
.field-studio{margin:0;min-width:0;position:relative;padding:15px 0 0}.field-studio:before{content:'';position:absolute;inset:20px 0 65px;background:radial-gradient(ellipse,#bf273807,transparent 70%);pointer-events:none}.field-toolbar{display:flex;gap:4px;justify-content:center;position:relative}.field-toolbar button{border:1px solid transparent;background:transparent;font:10px 'Courier New',monospace;padding:8px 10px;color:var(--muted);border-radius:20px}.field-toolbar button[aria-pressed=true]{border-color:#d8cbc7;color:var(--red);background:#fffdfa}.field-toolbar button:hover{background:#f4e8e5}.field-stage svg{width:100%;height:auto;display:block;overflow:visible}.field-stage[hidden]{display:none}.field-studio figcaption{font:10px/1.6 'Courier New',monospace;color:var(--muted);text-align:center;max-width:340px;margin:-7px auto 10px}.field-meta{display:flex;justify-content:space-between;border-top:1px solid var(--line);padding:12px 0;color:#8d7774;font:8px 'Courier New',monospace;letter-spacing:.08em}.field-path{stroke-dasharray:5 3;animation:field-flow 12s linear infinite}@keyframes field-flow{to{stroke-dashoffset:-96}}.charge-halo{animation:charge-breathe 5s ease-in-out infinite;transform-origin:center}@keyframes charge-breathe{50%{opacity:.4}}
.hero-stats{border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:19px 0;margin-top:30px;gap:0;display:grid;grid-template-columns:repeat(4,1fr)}.hero-stats div{border-top:0;min-width:0;padding:0 22px;border-right:1px solid var(--line)}.hero-stats div:first-child{padding-left:0}.hero-stats div:last-child{border:0}.hero-stats strong{font:30px Georgia,serif;color:var(--ink);margin-bottom:7px}.hero-stats small{font:9px 'Courier New',monospace;color:var(--muted)}
.notice{border:0;border-left:2px solid #c8bfb2;background:#f3f0e9;color:#625d55;border-radius:0;font-size:12px;padding:14px 18px;margin:23px 0 30px}.collection-heading{display:flex;justify-content:space-between;align-items:baseline;margin:38px 0 18px;gap:20px}.collection-heading h2{font-size:27px;font-weight:500;letter-spacing:-.04em;margin:0}.collection-heading span{font:9px 'Courier New',monospace;color:var(--muted);text-transform:uppercase;letter-spacing:.05em}.callouts{grid-template-columns:repeat(3,1fr);gap:13px;margin:0}.callouts a{border-radius:3px;background:#fffefa;padding:23px 20px;position:relative;min-height:220px;transition:border-color .2s,transform .2s,box-shadow .2s;overflow:hidden}.callouts a:hover{border-color:var(--red);transform:translateY(-4px);box-shadow:0 12px 28px #3d28200a}.callouts .card-number{font:9px 'Courier New',monospace;letter-spacing:.12em;color:var(--muted);margin:0 0 17px;display:block}.course-symbol{height:52px;margin-bottom:13px;color:var(--red)}.course-symbol svg{height:100%;width:85px;stroke:currentColor;fill:none;stroke-width:1.4}.callouts strong{font-size:18px;letter-spacing:-.025em;font-weight:500}.callouts span{font-size:11px;line-height:1.6;max-width:210px}.card-arrow{position:absolute;right:17px;top:17px;font-size:18px;color:#9d9187}.callouts a:last-child{background:#f5f0e8}
.section-top{border-bottom:1px solid var(--line);padding-bottom:25px}.kicker,.problem-kicker{font:10px 'Courier New',monospace;color:var(--red);letter-spacing:.1em}.section-top h2{font-size:clamp(30px,4vw,51px);font-weight:500;letter-spacing:-.045em}.section-top p{font-size:14px;line-height:1.7}.problem{border-radius:4px;box-shadow:none;padding:26px 28px;background:#fffefa}.problem h3{font-size:24px;letter-spacing:-.025em;font-weight:500}.problem-statement{background:#f6f3ee;border-color:#e6e0d6;border-radius:3px;line-height:1.85}.problem-statement>b:first-child{color:#827669}.solution summary{color:var(--red)}.steps li::marker{color:var(--red)}.answer{background:#f3eee5;color:#39342e;border-radius:3px;border-left:2px solid #b68c63}.answer small{color:#876546}.problem figure{background:#f6f3ee!important;border-radius:3px!important}.problem svg{filter:grayscale(.6)}.mathline{background:#f2eee8;color:#4c4136}.metric,.topic-grid article,.note-card,.download-card,.embedded-shell,.practice-list{border-radius:3px;background:#fffefa;box-shadow:none}.download-card:hover{background:#f7f0e8;border-color:#b78c73}.icn{background:#f5e6e5;color:var(--red);border-radius:3px}.download-card .arrow{color:var(--red)}.note-card h3,.topic-grid h3{font-weight:500}.practice-row{padding:15px 18px}.practice-n b{color:#8e2431}.practice-n span{color:#6d6760}.search{background:#fffefa;border-radius:2px;border-color:var(--line)}.site-footer{font:10px/1.8 'Courier New',monospace;color:#77716a;border-color:var(--line);margin-top:48px}.source-warning{background:#f7f0e5}.embedded-caption{background:#f4f0e9;color:#676059}.mobile-nav{background:var(--paper);border-color:var(--line)}.mobile-nav button{border-radius:3px;background:transparent;color:#625b54}.mobile-nav button.active{background:#f4e5e4;color:var(--red);border-color:#dcc4c1}
@media(min-width:1500px){.hero h1{font-size:78px}.hero-main{min-height:480px}}
@media(max-width:1100px){.layout{grid-template-columns:185px minmax(0,1fr)}.main{padding:30px 25px}.hero-main{grid-template-columns:1fr 0.9fr}.hero h1{font-size:48px}.hero-stats div{padding:0 12px}.callouts{grid-template-columns:repeat(2,1fr)}.topbar{padding:16px 24px}.topbar a.external{display:none}}
@media(max-width:750px){.layout{display:block}.topbar{padding:14px 16px;gap:10px}.brand{gap:10px;font-size:11px}.brand-mark{font-size:21px;padding-right:10px}.brand small{font-size:7px;max-width:180px}.topbar .inlinebtn{font-size:9px;padding:8px 10px;max-width:100px}.main{padding:24px 20px 45px}.hero-mast{font-size:8px;padding-bottom:15px}.hero-main{grid-template-columns:1fr;min-height:0}.hero h1{font-size:clamp(48px,12vw,72px);margin:18px 0 22px}.hero p{font-size:13px;max-width:340px}.field-studio{margin-top:14px}.field-stage svg{max-height:300px}.hero-stats{margin-top:13px;padding:18px 0;row-gap:23px;grid-template-columns:repeat(2,1fr)}.hero-stats div:nth-child(3){padding-left:0}.hero-stats div:nth-child(2){border:0}.hero-stats strong{font-size:26px}.hero-stats small{font-size:8px}.collection-heading h2{font-size:25px}.collection-heading span{font-size:8px;text-align:right}.callouts{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.callouts a{padding:18px 15px;min-height:214px}.callouts strong{font-size:16px;line-height:1.3}.callouts span{font-size:10px}.course-symbol{height:44px}.problem{padding:23px 17px}.section-top{padding-bottom:20px}.mobile-nav{top:78px}.hero-actions a{font-size:11px}}
@media(max-width:350px){.callouts{grid-template-columns:1fr}.brand small{display:none}}
@media(prefers-reduced-motion:reduce){.field-path,.charge-halo{animation:none}*{scroll-behavior:auto!important;transition:none!important}}
.field-meta{align-items:center;flex-wrap:wrap;gap:10px}.field-meta button{font:9px 'Courier New',monospace;border:0;border-bottom:1px solid #b3a39b;padding:3px 0;background:transparent;color:#78645b;cursor:pointer}.motion-paused .field-path,.motion-paused .charge-halo{animation-play-state:paused}
.brand-mark{border:0;padding:0 12px 0 0;line-height:0}.brand-mark img{display:block;width:142px;height:auto;max-width:none}.assignment-geometry svg text{fill:#5b4d44;stroke:none}.sidebar{padding-top:15px}.sidebar a{padding-top:9px;padding-bottom:9px}@media(max-width:750px){.brand-mark{padding-right:4px}.brand-mark img{width:102px}.brand{gap:5px}.topbar{padding:10px 12px}.brand>span:nth-child(2){font-size:10px}.brand small{font-size:6px}.mobile-nav{top:70px}.topbar .inlinebtn{max-width:88px;font-size:8px;padding:7px 9px}}@media(max-width:350px){.brand-mark img{width:87px}.topbar .inlinebtn{max-width:74px}}
