:root{--bg:#f6f5f1;--bg-soft:#efede7;--panel:#fbfaf7;--panel-2:#eceae4;--text:#202226;--muted:#666861;--muted-2:#8a8881;--line:#d6d3cb;--line-soft:#46484426;--green:#2d7a57;--green-2:#37875f;--cyan:#355f80;--purple:#76558f;--orange:#a86520;--red:#b7443a;--mono:"JetBrains Mono", "Cascadia Code", "SFMono-Regular", Consolas, monospace;--sans:Inter, "Segoe UI", "Microsoft YaHei", "PingFang SC", sans-serif;--nav-height:82px}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:calc(var(--nav-height) + 24px)}body{background:radial-gradient(circle at 16% 2%, #355f800e, transparent 24rem), radial-gradient(circle at 85% 18%, #2d7a570b, transparent 28rem), var(--bg);color:var(--text);font-family:var(--sans);-webkit-font-smoothing:antialiased;margin:0;overflow-x:hidden}a{color:inherit;text-decoration:none}button,input{font:inherit}button{color:inherit}::selection{background:var(--green);color:#fff}.skip-link{z-index:200;background:var(--green);color:#fff;padding:.75rem 1rem;position:fixed;top:-5rem;left:1rem}.skip-link:focus{top:1rem}.scroll-progress{z-index:180;background:#4648440f;width:100%;height:2px;position:fixed;top:0;left:0}.scroll-progress span{background:linear-gradient(90deg, var(--green), var(--cyan));height:100%;transition:width 80ms linear;display:block;box-shadow:0 0 12px #62f6a899}.top-nav{z-index:160;height:var(--nav-height);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);will-change:top;background:#f6f5f1e0;border-bottom:1px solid #46484424;transition:top .28s cubic-bezier(.22,1,.36,1),background-color .22s,border-color .22s,-webkit-backdrop-filter .22s,backdrop-filter .22s;position:fixed;inset:0 0 auto}.top-nav .nav-shell{transition:opacity .22s}.top-nav.nav-soft{-webkit-backdrop-filter:blur(24px)saturate(.82);backdrop-filter:blur(24px)saturate(.82);background:#f6f5f19e;border-color:#46484414}.top-nav.nav-soft .nav-shell{opacity:.68}.top-nav.nav-hidden{top:calc(-1 * var(--nav-height));pointer-events:none}.nav-shell{grid-template-columns:1fr auto 1fr;align-items:center;gap:2rem;width:min(1460px,100% - 80px);height:100%;margin-inline:auto;display:grid}.nav-brand{letter-spacing:-.02em;align-items:center;gap:.8rem;width:max-content;font-weight:750;display:inline-flex}.brand-prompt{color:var(--green);font:700 .9rem/1 var(--mono)}.nav-links{align-items:center;gap:clamp(1.25rem,2.5vw,2.75rem);display:flex}.nav-links a{color:#686a65;padding:1rem 0;font-size:.92rem;transition:color .18s;position:relative}.nav-links a:after{content:"";background:var(--green);height:1px;transition:right .18s;position:absolute;bottom:.55rem;left:0;right:100%}.nav-links a:hover,.nav-links a.active{color:#1d1f22}.nav-links a.active:after{right:0}.nav-tools{justify-self:end;align-items:center;gap:.65rem;display:flex}.command-focus,.language-pill,.github-pill{border:1px solid var(--line);color:#555852;height:36px;font:.67rem/1 var(--mono);background:#ffffff80;border-radius:7px;justify-content:center;align-items:center;transition:border-color .18s,color .18s,background .18s;display:inline-flex}.command-focus{cursor:pointer;gap:.4rem;padding:0 .75rem}.command-focus span{color:var(--green)}.language-pill{cursor:pointer;padding:0 .75rem}.github-pill{width:36px;font-weight:800}.command-focus:hover,.language-pill:hover,.github-pill:hover{border-color:var(--green);color:#1d1f22;background:#2d7a570e}main,.site-footer{width:min(1280px,100% - 96px);margin-inline:auto}.home-main{min-height:100vh}.standalone-main{min-height:calc(100vh - var(--nav-height));padding-top:var(--nav-height)}.route-section{min-height:calc(100vh - var(--nav-height))}.page-section{scroll-margin-top:calc(var(--nav-height) + 20px);position:relative}.scroll-rail{z-index:130;flex-direction:column;gap:.45rem;display:flex;position:fixed;top:50%;right:18px;transform:translateY(-50%)}.scroll-rail button{width:96px;color:var(--muted-2);cursor:pointer;text-align:left;background:0 0;border:0;grid-template-columns:22px 12px 1fr;align-items:center;gap:.4rem;padding:.2rem 0;display:grid;position:relative}.scroll-rail button span,.scroll-rail button strong{font:.54rem/1 var(--mono)}.scroll-rail button strong{opacity:0;transition:opacity .18s,transform .18s;transform:translate(6px)}.scroll-rail button i{border:1px solid var(--muted-2);background:var(--bg);border-radius:50%;width:5px;height:5px;transition:all .18s}.scroll-rail button:hover strong,.scroll-rail button.active strong{opacity:1;transform:none}.scroll-rail button.active{color:var(--green)}.scroll-rail button.active i{border-color:var(--green);background:var(--green);box-shadow:0 0 10px #62f6a899}.rail-line{background:var(--line);z-index:-1;width:1px;position:absolute;top:8px;bottom:8px;left:32px}.rail-line i{background:var(--green);width:100%;transition:height 80ms linear;display:block}.terminal-hero{min-height:100vh;padding:calc(var(--nav-height) + 46px) 0 60px;flex-direction:column;justify-content:center;display:flex}.hero-kicker{color:var(--muted-2);font:.6rem/1 var(--mono);letter-spacing:.11em;justify-content:space-between;margin-bottom:1rem;display:flex}.hero-kicker span:first-child{color:var(--green)}.terminal-window{width:min(1060px,100%);font-family:var(--mono);background:#fbfaf7f7;border:1px solid #d0cdc5;border-radius:10px;margin-inline:auto;overflow:hidden;box-shadow:0 28px 70px #39342b1f,inset 0 0 0 1px #ffffffb3}.terminal-titlebar{color:#777870;background:#eceae4;border-bottom:1px solid #d0cdc5;justify-content:center;align-items:center;height:48px;font-size:.7rem;display:flex;position:relative}.window-dots{gap:8px;display:flex;position:absolute;left:18px}.window-dots i{background:#ff5f56;border-radius:50%;width:11px;height:11px}.window-dots i:nth-child(2){background:#ffbd2e}.window-dots i:nth-child(3){background:#27c93f}.terminal-secure{color:var(--green-2);letter-spacing:.08em;font-size:.54rem;position:absolute;right:18px}.terminal-body{color:#2b2d31;cursor:text;min-height:530px;padding:clamp(1.5rem,3.5vw,2.8rem);font-size:clamp(.72rem,1.1vw,.86rem);line-height:1.75}.terminal-body p{margin:0}.boot-line{color:#8a8881;margin-bottom:1.25rem!important}.terminal-line{margin-top:.7rem}.prompt-user{color:var(--green)}.prompt-path{color:var(--cyan)}.whoami-output{border-left:1px solid var(--green);background:linear-gradient(90deg,#2d7a5712,#0000 68%);margin:.7rem 0 1.25rem;padding:1rem 1.2rem}.whoami-output p:first-child{color:#202226;font-size:clamp(1rem,2vw,1.35rem);font-weight:700}.whoami-output p:first-child span{color:var(--purple);font-size:.72em;font-weight:500}.whoami-output p:last-child{color:#6e706a;margin-top:.35rem}.directory-grid{grid-template-columns:repeat(4,1fr);gap:.5rem;margin:.8rem 0 1.2rem;display:grid}.directory-grid button{cursor:pointer;text-align:left;background:#f7f6f2;border:1px solid #d8d5ce;border-radius:5px;flex-direction:column;align-items:flex-start;gap:.22rem;padding:.7rem .8rem;transition:border-color .16s,transform .16s;display:flex}.directory-grid button:hover{border-color:var(--green);transform:translateY(-2px)}.directory-grid span{color:#8a8881;font-size:.55rem}.directory-grid strong{color:var(--cyan);font-size:.68rem}.terminal-history{min-height:84px;max-height:180px;overflow:hidden}.terminal-history>div{margin-top:.25rem}.terminal-success{color:var(--green-2);white-space:pre-line;padding-left:1rem}.terminal-error{color:var(--red);white-space:pre-line;padding-left:1rem}.terminal-form{align-items:center;gap:.5rem;margin-top:.55rem;display:flex}.terminal-form label{flex:none}.terminal-form input{color:#202226;min-width:0;caret-color:var(--green);font-family:var(--mono);background:0 0;border:0;outline:0;flex:1}.terminal-form input::placeholder{color:#aaa79f}.terminal-cursor{background:var(--green);width:8px;height:1.1em;animation:1s step-end infinite blink}@keyframes blink{50%{opacity:0}}.terminal-statusbar{color:#245d42;height:30px;font:.55rem/1 var(--mono);background:#deece4;border-top:1px solid #cbded3;align-items:center;gap:1.4rem;padding:0 1rem;display:flex}.terminal-statusbar span:last-child{margin-left:auto}.terminal-hint{color:var(--muted-2);font:.58rem/1.7 var(--mono);text-align:center;margin:1.4rem 0 0}.scroll-cue{color:var(--muted-2);font:.52rem/1 var(--mono);letter-spacing:.16em;cursor:pointer;background:0 0;border:0;flex-direction:column;align-self:center;align-items:center;gap:.65rem;margin-top:1.8rem;transition:opacity .24s,transform .24s;display:flex}.scroll-cue i{background:var(--line);width:1px;height:38px;display:block;position:relative;overflow:hidden}.scroll-cue i:after{content:"";background:var(--green);width:100%;height:100%;animation:1.6s ease-in-out infinite scroll-down;position:absolute;top:-100%;left:0}.scroll-cue.hidden{opacity:0;pointer-events:none;transform:translateY(8px)}@keyframes scroll-down{to{top:100%}}.content-section{border-top:1px solid var(--line-soft);min-height:76vh;padding:8.5rem 0}.section-index{color:var(--muted-2);font:.56rem/1 var(--mono);letter-spacing:.13em;align-items:center;gap:1rem;display:flex;position:absolute;top:3rem;left:0}.section-index span{color:var(--green)}.section-index p{margin:0}.section-heading{justify-content:space-between;align-items:end;gap:2rem;margin-bottom:3rem;display:flex}.section-heading.compact{margin:0;display:block}.section-eyebrow{color:var(--green);font:.6rem/1 var(--mono);letter-spacing:.15em;margin:0 0 1rem}.section-heading h1,.section-heading h2,.links-panel h1,.links-panel h2,.about-copy h1,.about-copy h2{letter-spacing:-.06em;margin:0;font-size:clamp(2.7rem,6vw,5.2rem);font-weight:650}.section-heading>p{max-width:390px;color:var(--muted);margin:0 0 .4rem;font-size:.9rem;line-height:1.8}.section-heading.compact>p{max-width:480px;color:var(--muted);margin:1.5rem 0 0;line-height:1.8}.post-grid{border-top:1px solid var(--line);border-left:1px solid var(--line);grid-template-columns:repeat(2,1fr);display:grid}.post-card{border-right:1px solid var(--line);border-bottom:1px solid var(--line);background:#0d11177a;flex-direction:column;min-height:330px;padding:2rem;transition:background .18s;display:flex}.post-card-top{color:var(--muted-2);font:.56rem/1 var(--mono);justify-content:space-between;display:flex}.card-meta{color:var(--green);font:.58rem/1.4 var(--mono);text-transform:uppercase;margin:3rem 0 .9rem}.post-card h3{letter-spacing:-.035em;margin:0;font-size:clamp(1.45rem,2.5vw,2.25rem)}.post-card>p:last-of-type{max-width:600px;color:var(--muted);margin:1rem 0 1.7rem;font-size:.85rem;line-height:1.75}.card-link{border-bottom:1px solid var(--green);width:max-content;color:var(--green);font:.65rem/1 var(--mono);margin-top:auto;padding-bottom:.35rem}.academic-layout{grid-template-columns:.85fr 1.15fr;align-items:start;gap:clamp(4rem,10vw,9rem);display:grid}.track-list{border-top:1px solid var(--line)}.track-list article{border-bottom:1px solid var(--line);grid-template-columns:50px 1fr auto;align-items:center;gap:1.4rem;padding:1.7rem 0;display:grid}.track-list>article>span{color:var(--green);font:.65rem/1 var(--mono)}.track-list h3{margin:0 0 .45rem;font-size:1.05rem}.track-list p{color:var(--muted);font:.68rem/1.5 var(--mono);margin:0}.track-list small{border:1px solid var(--line);color:var(--cyan);font:.55rem/1 var(--mono);padding:.42rem .58rem}.project-grid{grid-template-columns:repeat(3,1fr);gap:1rem;display:grid}.project-card{border:1px solid var(--line);background:linear-gradient(145deg,#11151dd9,#090a0fe6);flex-direction:column;min-height:390px;padding:1.8rem;transition:border-color .18s,transform .18s;display:flex}.project-card-head{color:var(--muted-2);font:.58rem/1 var(--mono);justify-content:space-between;display:flex}.project-card h3{letter-spacing:-.03em;margin:4.5rem 0 1rem;font-size:1.55rem}.project-card>p{color:var(--muted);margin:0;font-size:.84rem;line-height:1.75}.tag-row{flex-wrap:wrap;gap:.4rem;margin-top:1.8rem;display:flex}.tag-row span{border:1px solid var(--line);color:var(--muted);font:.52rem/1 var(--mono);padding:.35rem .48rem}.project-card>strong{color:var(--cyan);font:.6rem/1 var(--mono);margin-top:auto}.links-panel{grid-template-columns:.8fr 1.2fr;align-items:start;gap:clamp(4rem,10vw,9rem);display:grid}.links-panel>div:first-child>p:last-child{max-width:370px;color:var(--muted);line-height:1.8}.link-list{border-top:1px solid var(--line)}.link-list a{border-bottom:1px solid var(--line);grid-template-columns:42px 1fr 1fr 20px;align-items:center;gap:1rem;padding:1.7rem .2rem;transition:padding .18s,background .18s;display:grid}.link-list a:hover{background:#79c0ff09;padding-inline:.9rem}.link-list span{color:var(--green);font:.58rem/1 var(--mono)}.link-list strong{font-size:1.05rem}.link-list small{color:var(--muted);font:.56rem/1 var(--mono)}.link-list i{color:var(--cyan);font-style:normal}.about-grid{grid-template-columns:.9fr 1.1fr;align-items:center;gap:clamp(4rem,10vw,9rem);display:grid}.about-terminal-card{border:1px solid var(--line);background:#0d1117;border-radius:8px;overflow:hidden;box-shadow:0 30px 70px #0000004d}.about-terminal-card>div{border-bottom:1px solid var(--line);background:var(--panel-2);align-items:center;gap:.45rem;padding:.8rem 1rem;display:flex}.about-terminal-card i{background:var(--red);border-radius:50%;width:8px;height:8px}.about-terminal-card i:nth-child(2){background:var(--orange)}.about-terminal-card i:nth-child(3){background:var(--green-2)}.about-terminal-card span{color:var(--muted);font:.56rem/1 var(--mono);margin-left:.5rem}.about-terminal-card pre{color:var(--cyan);font:clamp(.66rem, 1.2vw, .8rem)/2 var(--mono);white-space:pre-wrap;margin:0;padding:clamp(1.5rem,4vw,3rem)}.about-copy>p:not(.section-eyebrow){max-width:650px;color:var(--muted);margin:1.4rem 0 0;line-height:1.9}.about-copy button{border:0;border-bottom:1px solid var(--green);color:var(--green);font:.67rem/1 var(--mono);cursor:pointer;background:0 0;margin-top:2rem;padding:.7rem 0}.about-home-link{color:#2d7a57;font:.67rem/1 var(--mono);border-bottom:1px solid #2d7a57;margin-top:2rem;padding:.7rem 0;display:inline-block}.site-footer{border-top:1px solid var(--line);justify-content:space-between;align-items:end;gap:2rem;padding:2.7rem 0 3.2rem;display:flex}.site-footer strong{font-size:.9rem}.site-footer p{color:var(--muted-2);font:.58rem/1.5 var(--mono);margin:.55rem 0 0}.content-section{clip-path:inset(0 -100vmax);color:#1d1f22;background:#f6f5f1;border-color:#d9d7d0;min-height:0;padding:8rem 0;box-shadow:0 0 0 100vmax #f6f5f1}.content-section+.content-section{border-top:1px solid #d9d7d0}.section-index{color:#8a8881}.section-index span,.section-eyebrow{color:#2d7a57}.section-heading{max-width:1040px;margin:0 auto 3.5rem}.section-heading h1,.section-heading h2,.links-panel h1,.links-panel h2,.about-copy h1,.about-copy h2{letter-spacing:-.055em;font-size:clamp(2.5rem,5vw,4.2rem);font-weight:620}.section-heading>p,.section-heading.compact>p,.links-panel>div:first-child>p:last-child,.about-copy>p:not(.section-eyebrow){color:#666861}.post-grid{border:0;border-top:1px solid #cfcdc6;width:min(100%,1040px);margin-inline:auto;display:block}.post-card{background:0 0;border:0;border-bottom:1px solid #cfcdc6;grid-template-rows:auto auto auto;grid-template-columns:130px minmax(0,1fr) 120px;column-gap:2rem;min-height:0;padding:2.4rem 0;display:grid}.post-card:hover{background:0 0}.post-card-top{color:#8a8881;flex-direction:column;grid-area:1/1/4;justify-content:flex-start;align-self:start;gap:.55rem;display:flex}.card-meta{color:#2d7a57;grid-area:1/2;margin:0 0 .75rem}.post-card h3{grid-area:2/2;margin:0;font-size:clamp(1.35rem,2.2vw,2rem)}.post-card h3 a{transition:color .16s}.post-card h3 a:hover{color:#2d7a57}.post-card>p:last-of-type{color:#666861;grid-area:3/2;margin:.8rem 0 0}.card-link{color:#1d1f22;border-color:#1d1f22;grid-area:1/3/4;place-self:center end;margin:0}.card-link:hover{color:#2d7a57;border-color:#2d7a57}.academic-section{min-height:0}.academic-layout{grid-template-columns:.8fr 1.2fr;gap:clamp(3rem,9vw,8rem);width:min(100%,1040px);margin-inline:auto}.track-list,.track-list article{border-color:#cfcdc6}.track-list>article>span{color:#2d7a57}.track-list p{color:#777870}.track-list small{color:#47698a;border-color:#cfcdc6}.curriculum-page{--roadmap-body-size:.875rem;--roadmap-meta-size:.875rem;--roadmap-title-size:1rem;padding-top:7.4rem}.curriculum-page>.section-index{font-size:var(--roadmap-meta-size)}.curriculum-shell{width:min(100%,1120px);margin-inline:auto}.curriculum-shell .section-eyebrow{font-size:var(--roadmap-meta-size)}.curriculum-intro{padding-bottom:5.5rem}.curriculum-title-row{justify-content:space-between;align-items:end;gap:3rem;display:flex}.curriculum-title-row h1{letter-spacing:-.07em;margin:0;font-size:clamp(3rem,7vw,6.4rem);font-weight:640;line-height:.96}.program-name{color:#4d504a;font:var(--roadmap-body-size)/1.7 var(--mono);letter-spacing:.02em;margin:1.35rem 0 0}.program-credit-target{border-left:1px solid #cfcdc6;flex:none;min-width:126px;padding-left:1.6rem}.program-credit-target strong{color:#2d7a57;font:500 2.8rem/1 var(--mono);letter-spacing:-.07em;display:block}.program-credit-target small{color:#777870;font:var(--roadmap-meta-size)/1.4 var(--mono);margin-top:.65rem;display:block}.curriculum-lead{color:#5f615c;max-width:760px;font-size:var(--roadmap-body-size);margin:3.5rem 0 3rem;line-height:1.95}.program-facts{border-top:1px solid #cfcdc6;border-bottom:1px solid #cfcdc6;grid-template-columns:.8fr .7fr 1.5fr .8fr;margin:0;display:grid}.program-facts>div{padding:1.4rem 1.2rem 1.4rem 0}.program-facts>div+div{border-left:1px solid #dedcd6;padding-left:1.2rem}.program-facts dt{color:#8a8881;font:var(--roadmap-meta-size)/1.2 var(--mono);letter-spacing:.06em;margin-bottom:.7rem}.program-facts dd{color:#30322f;font-size:var(--roadmap-body-size);margin:0;line-height:1.55}.curriculum-note{background:#efeee9;border-left:2px solid #2d7a57;grid-template-columns:64px 1fr;gap:1.2rem;margin-top:1.5rem;padding:1.15rem 1.3rem;display:grid}.curriculum-note span{color:#2d7a57;font:var(--roadmap-meta-size)/1.7 var(--mono)}.curriculum-note p{color:#666861;font-size:var(--roadmap-body-size);margin:0;line-height:1.75}.curriculum-years{border-top:1px solid #bdbbb4}.curriculum-year{border-bottom:1px solid #bdbbb4;grid-template-columns:175px minmax(0,1fr);gap:3rem;padding:4.7rem 0;display:grid}.year-heading{align-items:flex-start;gap:1rem;display:flex}.year-heading>span{color:#2d7a57;font:var(--roadmap-meta-size)/1 var(--mono);margin-top:.22rem}.year-heading p{color:#8a8881;font:var(--roadmap-meta-size)/1 var(--mono);letter-spacing:.08em;margin:0 0 .65rem}.year-heading h2{letter-spacing:-.02em;margin:0;font-size:1.15rem;font-weight:610}.semester-stack{min-width:0}.semester-panel{border-top:1px solid #cfcdc6}.semester-panel:last-child{border-bottom:1px solid #cfcdc6}.semester-panel summary{cursor:pointer;grid-template-columns:38px minmax(210px,1fr) auto 24px;align-items:center;gap:1.2rem;min-height:98px;padding:1.2rem .25rem;list-style:none;display:grid}.semester-panel summary::-webkit-details-marker{display:none}.semester-panel summary::marker{content:""}.semester-panel summary:hover .semester-heading strong{color:#2d7a57}.semester-index{color:#8a8881;font:var(--roadmap-meta-size)/1 var(--mono)}.semester-heading{gap:.55rem;display:grid}.semester-heading small{color:#777870;font:var(--roadmap-meta-size)/1.2 var(--mono)}.semester-heading strong{font-size:var(--roadmap-title-size);font-weight:610;transition:color .16s}.semester-metrics{justify-content:flex-end;align-items:center;gap:1rem;display:flex}.semester-metrics small{color:#777870;font:var(--roadmap-meta-size)/1.2 var(--mono);white-space:nowrap}.semester-toggle{color:#2d7a57;font:300 1.2rem/1 var(--sans);transition:transform .18s}.semester-panel[open] .semester-toggle{transform:rotate(45deg)}.semester-panel[open]>summary{border-bottom:1px solid #dedcd6}.course-list{margin:0;padding:0;list-style:none}.course-row{border-bottom:1px solid #e2e0da;grid-template-columns:108px minmax(0,1fr) auto;align-items:start;gap:1.5rem;padding:1.5rem .25rem;display:grid}.course-row:last-child{border-bottom:0}.course-code{color:#777870;font:var(--roadmap-meta-size)/1.5 var(--mono);overflow-wrap:anywhere;padding-top:.18rem}.course-copy h3{font-size:var(--roadmap-title-size);letter-spacing:-.01em;margin:0;font-weight:610}.course-copy p{color:#85847e;font-size:var(--roadmap-meta-size);margin:.52rem 0 0;line-height:1.55}.course-tags{flex-wrap:wrap;gap:.38rem;margin-top:.8rem;display:flex}.course-tags span{color:#777870;font:var(--roadmap-meta-size)/1 var(--mono);border:1px solid #dad8d1;padding:.29rem .42rem}.course-tags .nature-required{color:#2d7a57;border-color:#2d7a5759}.course-tags .nature-elective{color:#355f80;border-color:#355f804d}.course-tags .nature-unmarked{color:#8a6a43;border-style:dashed}.course-books{border-top:1px solid #e2e0da;margin-top:1.05rem;padding-top:.9rem}.course-books-label{color:#8a8881;font:var(--roadmap-meta-size)/1 var(--mono);letter-spacing:.08em;margin-bottom:.55rem;display:block}.course-book-list{gap:.45rem;display:grid}.course-book-link{background:#2d7a5706;border:1px solid #d8d6cf;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:1rem;padding:.75rem .85rem;transition:border-color .16s,background-color .16s;display:grid}.course-book-link:hover{background:#2d7a570e;border-color:#2d7a5773}.course-book-link>span{min-width:0}.course-book-link strong{font-size:var(--roadmap-meta-size);text-overflow:ellipsis;white-space:nowrap;font-weight:620;display:block;overflow:hidden}.course-book-link small{color:#85847e;font-size:var(--roadmap-meta-size);margin-top:.3rem;line-height:1.45;display:block}.course-book-link b{color:#2d7a57;font:500 var(--roadmap-meta-size)/1 var(--mono);white-space:nowrap}.course-numbers{text-align:right;gap:1.25rem;margin:0;display:flex}.course-numbers div{min-width:48px}.course-numbers dt{color:#999790;font:var(--roadmap-meta-size)/1 var(--mono);margin-bottom:.52rem}.course-numbers dd{color:#30322f;font:var(--roadmap-meta-size)/1 var(--mono);margin:0}.empty-semester{color:#85847e;font-size:var(--roadmap-body-size);margin:0;padding:1.8rem .25rem}.ability-section{grid-template-columns:.75fr 1.25fr;gap:clamp(3rem,8vw,7rem);padding-top:7rem;display:grid}.ability-heading h2{letter-spacing:-.055em;margin:0;font-size:clamp(2rem,4vw,3.3rem);font-weight:620}.ability-heading>p:last-child{color:#666861;max-width:390px;font-size:var(--roadmap-body-size);margin:1.5rem 0 0;line-height:1.8}.curriculum-shell .track-list>article>span,.curriculum-shell .track-list p,.curriculum-shell .track-list small{font-size:var(--roadmap-meta-size)}.curriculum-shell .track-list h3{font-size:var(--roadmap-title-size)}.papers-layout{grid-template-columns:.88fr 1.12fr;align-items:start;gap:clamp(3rem,8vw,7rem);width:min(100%,1040px);margin-inline:auto;display:grid}.papers-section{--papers-text-size:.875rem;--papers-title-size:1rem}.papers-section>.section-index,.papers-section .section-eyebrow,.papers-section .subsection-title span{font-size:var(--papers-text-size)}.subsection-title{border-bottom:1px solid #cfcdc6;justify-content:space-between;align-items:baseline;gap:1rem;padding-bottom:1rem;display:flex}.subsection-title span{color:#2d7a57;font-family:var(--mono);letter-spacing:.08em;line-height:1}.subsection-title strong{font-size:var(--papers-title-size)}.paper-queue>a{border-bottom:1px solid #cfcdc6;grid-template-columns:30px 1fr auto 18px;align-items:center;gap:1rem;padding:1.45rem 0;display:grid}.paper-queue>a>span{color:#2d7a57;font:var(--papers-text-size)/1 var(--mono)}.paper-queue h3{font-size:var(--papers-title-size);margin:0 0 .35rem;line-height:1.45}.paper-queue p{color:#777870;font:var(--papers-text-size)/1.4 var(--mono);margin:0}.paper-queue small{color:#777870;font-size:var(--papers-text-size);white-space:nowrap}.paper-queue i{color:#355f80;font-style:normal}.paper-feed-status{color:#777870;font:var(--papers-text-size)/1.4 var(--mono);justify-content:space-between;gap:1rem;margin:1rem 0 0;display:flex}.paper-feed-status span:first-child{color:#2d7a57}.paper-recommendations article{border-bottom:1px solid #cfcdc6;padding:1.45rem 0}.paper-meta{color:#777870;font:var(--papers-text-size)/1.3 var(--mono);justify-content:space-between;gap:1rem;display:flex}.paper-meta span{color:#2d7a57}.paper-recommendations h3{font-size:var(--papers-title-size);margin:.8rem 0 .7rem;line-height:1.45}.paper-recommendations h3 a:hover{color:#2d7a57}.paper-recommendations article>p{color:#666861;font-size:var(--papers-text-size);margin:0;line-height:1.75}.paper-recommendations article>small{color:#8a8881;font-size:var(--papers-text-size);margin-top:.8rem;line-height:1.5;display:block}.paper-feed-empty{color:#777870;font-size:var(--papers-text-size);border-bottom:1px solid #cfcdc6;margin:1.5rem 0 0;padding:1.5rem 0;line-height:1.7}.weekly-list{border-top:1px solid #cfcdc6;width:min(100%,1040px);margin-inline:auto}.weekly-list article{border-bottom:1px solid #cfcdc6;grid-template-columns:120px 1fr auto;align-items:start;gap:2rem;padding:2rem 0;display:grid}.weekly-list article>span{color:#2d7a57;font:.58rem/1.5 var(--mono)}.weekly-list h3{margin:0 0 .6rem;font-size:1.2rem}.weekly-list p{color:#666861;margin:0;font-size:.82rem;line-height:1.75}.weekly-list small{color:#47698a;font:.54rem/1 var(--mono);border:1px solid #cfcdc6;padding:.4rem .55rem}.project-grid{border-top:1px solid #cfcdc6;width:min(100%,1040px);margin-inline:auto;display:block}.project-card{background:0 0;border:0;border-bottom:1px solid #cfcdc6;grid-template-columns:90px minmax(190px,.85fr) 1.15fr auto;align-items:start;gap:.75rem 2rem;min-height:0;padding:2.25rem 0;display:grid}.project-card:hover{border-color:#cfcdc6;transform:none}.project-card-head{color:#8a8881;flex-direction:column;grid-area:1/1/3;justify-content:flex-start;gap:.65rem}.project-card-head small{color:#2d7a57}.project-card h3{grid-area:1/2;margin:0;font-size:1.35rem}.project-card>p{color:#666861;grid-area:1/3}.tag-row{grid-area:2/2/auto/4;margin-top:.45rem}.tag-row span{color:#777870;border-color:#d5d2ca}.project-card>strong{color:#47698a;grid-area:1/4/3;align-self:center}.links-panel{width:min(100%,1040px);margin-inline:auto}.link-list,.link-list a{border-color:#cfcdc6}.link-list a:hover{background:#2d7a570b}.link-list span{color:#2d7a57}.link-list small{color:#777870}.link-list i{color:#47698a}.about-grid{width:min(100%,1040px);margin-inline:auto}.about-terminal-card{box-shadow:none;background:#eeede8;border-color:#d2d0c9}.about-terminal-card>div{background:#e7e5df;border-color:#d2d0c9}.about-terminal-card span{color:#777870}.about-terminal-card pre{color:#355f80}.about-copy button{color:#2d7a57;border-color:#2d7a57}.article-page{color:#202226;background:#f7f6f2;min-height:100vh}.article-page .site-header.article-header{border-color:#d7d4cc;width:min(1080px,100% - 64px)}.article-page .article-header .brand-mark{color:#2d7a57;border-color:#2d7a57}.article-page .article-header .brand small,.article-page .article-header nav{color:#777870}.article-page .article-header nav a:hover{color:#2d7a57}.article-page .post-main{width:min(760px,100% - 64px);padding-top:5.5rem}.article-page .post-hero{border-color:#d7d4cc;padding-bottom:3.4rem}.article-page .post-back{color:#777870;margin-bottom:3.5rem}.article-page .post-back:hover,.article-page .post-hero .eyebrow{color:#2d7a57}.article-page .post-hero h1{max-width:760px;font-size:clamp(2.55rem,6vw,4.5rem);line-height:1.12}.article-page .post-summary{color:#666861}.article-page .post-content{color:#292b2f;max-width:690px;font-family:Noto Serif SC,Source Han Serif SC,Songti SC,SimSun,serif;font-size:1.08rem;line-height:2.05}.article-page .post-content h2,.article-page .post-content h3{font-family:var(--sans)}.article-page .post-content h2:before{color:#2d7a57}.article-page .post-content h3{color:#355f80}.article-page .post-content blockquote{color:#5f615c;background:#efeee9;border-color:#2d7a57}.article-page .post-content a{color:#355f80}.article-page .post-content code{color:#276746;background:#e8e6df}.article-page .post-content pre{color:#f4f4f1;background:#1b1e23;border-color:#d2d0c9}.article-page .post-content pre code{color:#d9f7e5}.article-page .post-content img{border-color:#d2d0c9}.article-page .post-content hr,.article-page .next-post{border-color:#d7d4cc}.article-page .next-post p{color:#777870}.article-page .next-post a{color:#355f80}.article-page .site-footer{border-color:#d7d4cc}.article-page .site-footer p{color:#777870}a:focus-visible,button:focus-visible,input:focus-visible{outline:2px solid var(--green);outline-offset:4px}.site-header.article-header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;width:min(1180px,100% - 64px);min-height:84px;margin-inline:auto;display:flex}.article-header .brand{align-items:center;gap:.8rem;display:inline-flex}.article-header .brand-mark{border:1px solid var(--green);width:36px;height:36px;color:var(--green);font:700 .65rem/1 var(--mono);place-items:center;display:grid}.article-header .brand strong,.article-header .brand small{display:block}.article-header .brand strong{font:700 .78rem/1.2 var(--mono);letter-spacing:.1em}.article-header .brand small{color:var(--muted);font:.52rem/1 var(--mono);margin-top:.25rem}.article-header nav{color:var(--muted);gap:2rem;font-size:.75rem;display:flex}.article-header nav a:hover{color:var(--green)}.post-main{width:min(940px,100% - 64px);margin-inline:auto;padding:clamp(4.5rem,10vw,8rem) 0 7rem}.post-hero{border-bottom:1px solid var(--line);padding-bottom:3.2rem}.post-back{color:var(--muted);font:.68rem/1 var(--mono);margin-bottom:4rem;display:inline-block}.post-back:hover{color:var(--green)}.post-hero .eyebrow{color:var(--green);font:.62rem/1.5 var(--mono);letter-spacing:.1em;margin:0 0 1.3rem}.post-hero h1{letter-spacing:-.05em;max-width:900px;margin:0;font-size:clamp(2.8rem,7vw,5.7rem);font-weight:650;line-height:1.08}.post-summary{max-width:720px;color:var(--muted);margin:2rem 0 0;font-size:1.02rem;line-height:1.85}.post-content{max-width:740px;margin:4rem auto 0;font-size:1.03rem;line-height:1.95}.post-content h2{letter-spacing:-.025em;margin:3.5rem 0 1.2rem;font-size:1.7rem}.post-content h2:before{content:"## ";color:var(--green);font-family:var(--mono)}.post-content h3{color:var(--cyan);margin-top:2.6rem}.post-content p{margin:0 0 1.6rem}.post-content ul,.post-content ol{padding-left:1.4rem}.post-content li{margin-bottom:.65rem}.post-content blockquote{border-left:2px solid var(--green);color:var(--muted);background:#62f6a80b;margin:2.5rem 0;padding:1rem 1.4rem}.post-content a{color:var(--cyan);text-underline-offset:.24em;text-decoration:underline}.post-content code{background:var(--panel-2);color:var(--green);font:.86em/1.5 var(--mono);padding:.15rem .35rem}.post-content pre{border:1px solid var(--line);background:#07090d;margin:2rem 0;padding:1.35rem;overflow-x:auto}.post-content pre code{background:0 0;padding:0}.post-content img{border:1px solid var(--line);max-width:100%;height:auto;margin:1.5rem 0}.post-content hr{border:0;border-top:1px solid var(--line);margin:3rem 0}.next-post{border-top:1px solid var(--line);justify-content:space-between;align-items:end;gap:2rem;margin-top:6rem;padding-top:2rem;display:flex}.next-post p{color:var(--muted);font:.62rem/1 var(--mono);letter-spacing:.12em;margin:0}.next-post a{max-width:590px;color:var(--cyan);text-align:right;font-size:clamp(1.35rem,3vw,2.2rem);font-weight:600}html[data-theme=dark]{--bg:#090a0f;--bg-soft:#0d1117;--panel:#11151d;--panel-2:#161b22;--text:#f1f3f5;--muted:#9aa2ac;--muted-2:#68727e;--line:#2a3039;--line-soft:#8b949e2b;--green:#62d99d;--green-2:#4bc07b;--cyan:#79b8e8;--purple:#b28bd3;--orange:#d18a43;--red:#e06b63}html[data-theme=dark] body{color:#f1f3f5;background:radial-gradient(circle at 16% 2%,#79b8e80e,#0000 24rem),radial-gradient(circle at 85% 18%,#62d99d0a,#0000 28rem),#090a0f}html[data-theme=dark] .top-nav{background:#090a0fe0;border-color:#8b949e21}html[data-theme=dark] .top-nav.nav-soft{background:#090a0f9e;border-color:#8b949e14}html[data-theme=dark] .nav-links a{color:#b9c0c9}html[data-theme=dark] .nav-links a:hover,html[data-theme=dark] .nav-links a.active{color:#fff}html[data-theme=dark] .command-focus,html[data-theme=dark] .language-pill,html[data-theme=dark] .github-pill{color:#c8ced7;background:#ffffff05}html[data-theme=dark] .command-focus:hover,html[data-theme=dark] .language-pill:hover,html[data-theme=dark] .github-pill:hover{color:#fff;background:#62d99d0e}html[data-theme=dark] .terminal-window{background:#0d1117f7;border-color:#30363d;box-shadow:0 35px 90px #0000006b}html[data-theme=dark] .terminal-titlebar{color:#9da7b3;background:#161b22;border-color:#30363d}html[data-theme=dark] .terminal-body{color:#d6dde5}html[data-theme=dark] .boot-line{color:#6e7681}html[data-theme=dark] .whoami-output{background:linear-gradient(90deg,#62d99d0e,#0000 68%)}html[data-theme=dark] .whoami-output p:first-child{color:#fff}html[data-theme=dark] .whoami-output p:last-child{color:#8b949e}html[data-theme=dark] .directory-grid button{background:#0d1117;border-color:#252b33}html[data-theme=dark] .directory-grid span{color:#6e7681}html[data-theme=dark] .terminal-form input{color:#fff}html[data-theme=dark] .terminal-form input::placeholder{color:#48515b}html[data-theme=dark] .terminal-statusbar{color:#eafff1;background:#1f6f4a;border-color:#27583f}html[data-theme=dark] .content-section{color:#edf0f3;background:#0d0f14;border-color:#282d35;box-shadow:0 0 0 100vmax #0d0f14}html[data-theme=dark] .content-section+.content-section,html[data-theme=dark] .post-grid,html[data-theme=dark] .post-card,html[data-theme=dark] .track-list,html[data-theme=dark] .track-list article,html[data-theme=dark] .project-grid,html[data-theme=dark] .project-card,html[data-theme=dark] .link-list,html[data-theme=dark] .link-list a,html[data-theme=dark] .subsection-title,html[data-theme=dark] .paper-queue>a,html[data-theme=dark] .paper-recommendations article,html[data-theme=dark] .weekly-list,html[data-theme=dark] .weekly-list article{border-color:#2a3039}html[data-theme=dark] .section-index,html[data-theme=dark] .section-heading>p,html[data-theme=dark] .section-heading.compact>p,html[data-theme=dark] .post-card-top,html[data-theme=dark] .post-card>p:last-of-type,html[data-theme=dark] .track-list p,html[data-theme=dark] .project-card-head,html[data-theme=dark] .project-card>p,html[data-theme=dark] .links-panel>div:first-child>p:last-child,html[data-theme=dark] .link-list small,html[data-theme=dark] .about-copy>p:not(.section-eyebrow),html[data-theme=dark] .paper-queue p,html[data-theme=dark] .paper-queue small,html[data-theme=dark] .paper-meta,html[data-theme=dark] .paper-feed-status,html[data-theme=dark] .paper-feed-empty,html[data-theme=dark] .paper-recommendations article>p,html[data-theme=dark] .paper-recommendations article>small,html[data-theme=dark] .weekly-list p{color:#939ba5}html[data-theme=dark] .card-link{color:#dfe4ea;border-color:#dfe4ea}html[data-theme=dark] .tag-row span,html[data-theme=dark] .track-list small,html[data-theme=dark] .weekly-list small{color:#79b8e8;border-color:#343b45}html[data-theme=dark] .link-list a:hover{background:#62d99d0a}html[data-theme=dark] .about-terminal-card{background:#0d1117;border-color:#30363d}html[data-theme=dark] .about-terminal-card>div{background:#161b22;border-color:#30363d}html[data-theme=dark] .about-terminal-card span{color:#8b949e}html[data-theme=dark] .about-terminal-card pre{color:#79b8e8}html[data-theme=dark] .program-name,html[data-theme=dark] .curriculum-lead,html[data-theme=dark] .curriculum-note p,html[data-theme=dark] .semester-heading small,html[data-theme=dark] .semester-metrics small,html[data-theme=dark] .course-code,html[data-theme=dark] .course-copy p,html[data-theme=dark] .course-tags span,html[data-theme=dark] .empty-semester,html[data-theme=dark] .ability-heading>p:last-child{color:#939ba5}html[data-theme=dark] .program-credit-target,html[data-theme=dark] .program-facts,html[data-theme=dark] .program-facts>div+div,html[data-theme=dark] .curriculum-years,html[data-theme=dark] .curriculum-year,html[data-theme=dark] .semester-panel,html[data-theme=dark] .semester-panel[open]>summary,html[data-theme=dark] .course-row,html[data-theme=dark] .course-tags span,html[data-theme=dark] .course-books{border-color:#2a3039}html[data-theme=dark] .course-book-link{background:#62d99d06;border-color:#303741}html[data-theme=dark] .course-book-link:hover{background:#62d99d0f;border-color:#62d99d6b}html[data-theme=dark] .course-books-label,html[data-theme=dark] .course-book-link small{color:#939ba5}html[data-theme=dark] .course-book-link b{color:#76dda6}html[data-theme=dark] .curriculum-note{background:#15191f}html[data-theme=dark] .program-facts dd,html[data-theme=dark] .course-numbers dd{color:#d9dde2}html[data-theme=dark] .program-facts dt,html[data-theme=dark] .program-credit-target small,html[data-theme=dark] .year-heading p,html[data-theme=dark] .semester-index,html[data-theme=dark] .course-numbers dt{color:#737c87}html[data-theme=dark] .course-tags .nature-required{color:#76dda6;border-color:#62d99d52}html[data-theme=dark] .course-tags .nature-elective{color:#79b8e8;border-color:#79b8e84d}html[data-theme=dark] .course-tags .nature-unmarked{color:#c79a67;border-color:#4b4235}html[data-theme=dark] .article-page{color:#edf0f3;background:#0d0f14}html[data-theme=dark] .article-page .site-header.article-header,html[data-theme=dark] .article-page .post-hero,html[data-theme=dark] .article-page .post-content hr,html[data-theme=dark] .article-page .next-post,html[data-theme=dark] .article-page .site-footer{border-color:#2a3039}html[data-theme=dark] .article-page .article-header .brand small,html[data-theme=dark] .article-page .article-header nav,html[data-theme=dark] .article-page .post-back,html[data-theme=dark] .article-page .post-summary,html[data-theme=dark] .article-page .site-footer p{color:#939ba5}html[data-theme=dark] .article-page .post-content{color:#d9dde2}html[data-theme=dark] .article-page .post-content blockquote{color:#aeb5be;background:#15191f;border-color:#62d99d}html[data-theme=dark] .article-page .post-content code{color:#76dda6;background:#1a2027}html[data-theme=dark] .article-page .post-content pre{background:#07090d;border-color:#30363d}html[data-theme=dark] .site-footer{border-color:#2a3039}@media (max-width:1100px){.nav-shell{grid-template-columns:auto 1fr auto;width:min(100% - 40px,1460px)}.nav-links{justify-self:center;gap:1.2rem}.command-focus{display:none}main,.site-footer{width:min(100% - 64px,1280px)}.scroll-rail{display:none}.directory-grid{grid-template-columns:repeat(3,1fr)}.project-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width:760px){:root{--nav-height:68px}.nav-shell{grid-template-columns:1fr auto;width:calc(100% - 30px)}.nav-brand{font-size:.86rem}.nav-links{z-index:170;border-top:1px solid var(--line);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#f6f5f1f5;justify-content:space-around;gap:0;height:58px;padding:0 .55rem;transition:transform .28s cubic-bezier(.22,1,.36,1);position:fixed;bottom:0;left:0;right:0}.top-nav.nav-hidden .nav-links{transform:translateY(calc(100% + 1px))}html[data-theme=dark] .nav-links{background:#090a0ff5;border-color:#2a3039}.nav-links a{font:.55rem/1 var(--mono);text-align:center;flex:1;padding:1.15rem .25rem}.nav-links a:after{bottom:.55rem;left:25%}.nav-links a.active:after{right:25%}.language-pill{display:none}main,.site-footer{width:min(100% - 30px,1280px)}.terminal-hero{min-height:100svh;padding-top:calc(var(--nav-height) + 34px);padding-bottom:84px}.hero-kicker{font-size:.48rem}.hero-kicker span:last-child{display:none}.terminal-window{border-radius:7px}.terminal-titlebar{height:42px;font-size:.56rem}.terminal-titlebar>span:nth-child(2){white-space:nowrap;text-overflow:ellipsis;max-width:52%;overflow:hidden}.terminal-secure{display:none}.window-dots{gap:6px;left:13px}.window-dots i{width:8px;height:8px}.terminal-body{min-height:490px;padding:1.15rem;font-size:.66rem}.whoami-output p:first-child{font-size:.96rem}.directory-grid{grid-template-columns:repeat(2,1fr)}.terminal-history{min-height:72px}.terminal-form{align-items:flex-start}.terminal-form input{font-size:.62rem}.terminal-form input::placeholder{color:#0000}.terminal-statusbar{white-space:nowrap;gap:.8rem;overflow:hidden}.terminal-statusbar span:nth-child(3){display:none}.content-section{min-height:auto;padding:7rem 0}.section-heading,.academic-layout,.links-panel,.about-grid{grid-template-columns:1fr}.section-heading{display:block}.section-heading>p{margin-top:1.3rem}.post-grid,.project-grid{display:block}.post-card{min-height:0;padding:2rem 0;display:block}.post-card-top{flex-direction:row;justify-content:space-between;margin-bottom:1.5rem}.card-meta{margin-bottom:.75rem}.post-card>p:last-of-type{margin-top:.8rem}.card-link{margin-top:1.4rem;display:inline-block}.academic-layout,.papers-layout,.links-panel,.about-grid{grid-template-columns:1fr;gap:3.5rem;display:grid}.project-card{min-height:0;padding:2rem 0;display:block}.project-card-head{flex-direction:row;justify-content:space-between;margin-bottom:1.5rem}.project-card h3{margin:0 0 .8rem}.project-card>p{margin:0}.project-card .tag-row{margin:1.2rem 0 1.5rem}.project-card>strong{display:inline-block}.link-list a{grid-template-columns:34px 1fr 20px}.link-list small{display:none}.track-list article{grid-template-columns:38px 1fr}.track-list small{display:none}.paper-queue>a{grid-template-columns:28px 1fr 18px}.paper-queue small{display:none}.paper-feed-status,.paper-meta{flex-direction:column;align-items:flex-start}.weekly-list article{grid-template-columns:1fr;gap:.85rem}.weekly-list small{width:max-content}.site-footer{flex-direction:column;align-items:flex-start;padding-bottom:6rem}.site-header.article-header,.post-main,.article-page .site-header.article-header,.article-page .post-main{width:min(100% - 30px,940px)}.article-header .brand small{display:none}.article-header nav{gap:1rem}.next-post{flex-direction:column;align-items:flex-start}.next-post a{text-align:left}}@media (max-width:900px){.program-facts{grid-template-columns:repeat(2,1fr)}.program-facts>div:nth-child(3){border-top:1px solid #dedcd6;border-left:0}.program-facts>div:nth-child(4){border-top:1px solid #dedcd6}html[data-theme=dark] .program-facts>div:nth-child(3),html[data-theme=dark] .program-facts>div:nth-child(4){border-color:#2a3039}.curriculum-year{grid-template-columns:1fr;gap:1.8rem}.semester-panel summary{grid-template-columns:32px minmax(180px,1fr) 24px}.semester-metrics{grid-column:2;justify-content:flex-start;margin-top:-.35rem}.semester-toggle{grid-area:1/3/3}.ability-section{grid-template-columns:1fr;gap:3rem}}@media (max-width:760px){.curriculum-page{padding-top:6.5rem}.curriculum-intro{padding-bottom:4.5rem}.curriculum-title-row{display:block}.curriculum-title-row h1{font-size:clamp(3rem,16vw,4.7rem)}.program-credit-target{border:0;align-items:baseline;gap:.85rem;margin-top:2.2rem;padding:0;display:flex}.program-credit-target strong{font-size:2rem}.program-credit-target small{margin:0}.curriculum-lead{margin:2.6rem 0 2.4rem}.program-facts{grid-template-columns:1fr}.program-facts>div{padding:1.05rem 0}.program-facts>div+div,.program-facts>div:nth-child(3),.program-facts>div:nth-child(4){border-top:1px solid #dedcd6;border-left:0;padding-left:0}html[data-theme=dark] .program-facts>div+div{border-color:#2a3039}.curriculum-note{grid-template-columns:1fr;gap:.55rem}.curriculum-year{padding:3.8rem 0}.semester-panel summary{grid-template-columns:28px minmax(0,1fr) 20px;gap:.75rem;min-height:94px}.semester-heading strong{font-size:var(--roadmap-title-size)}.semester-metrics{flex-wrap:wrap;gap:.55rem .85rem}.semester-toggle{justify-self:end}.course-row{grid-template-columns:1fr auto;gap:.9rem;padding:1.4rem .1rem}.course-code{grid-column:1/-1;padding:0}.course-numbers{grid-area:2/2;gap:.7rem}.course-copy{grid-area:2/1}.course-copy h3{font-size:var(--roadmap-title-size)}.course-numbers div{min-width:40px}.course-book-link{grid-template-columns:1fr;gap:.65rem}.course-book-link b{justify-self:start}.ability-section{padding-top:5.5rem}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
:root{--reading-body:1.0625rem;--reading-meta:1rem;--reading-caption:.875rem;--reading-subheading:1.125rem;--reading-muted:#63665f}html[data-theme=dark]{--reading-muted:#a6afba}body{font-size:var(--reading-body);line-height:1.75}.nav-shell{grid-template-columns:auto minmax(0,1fr) auto;gap:1.5rem}.nav-links{justify-self:center;gap:clamp(1rem,2vw,2rem)}.nav-links a{font-size:var(--reading-meta);line-height:1.5}.nav-brand{font-size:var(--reading-subheading)}.command-focus,.language-pill,.github-pill{height:auto;min-height:42px;font-size:var(--reading-caption);line-height:1.4}.github-pill{width:42px}.terminal-titlebar{font-size:var(--reading-caption);min-height:52px;line-height:1.5}.terminal-secure{font-size:var(--reading-caption)}.terminal-body{font-size:clamp(1.0625rem,1.3vw,1.125rem);line-height:1.85}.terminal-line,.terminal-history p{overflow-wrap:anywhere}.whoami-output p:first-child span{font-size:var(--reading-meta)}.directory-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:.75rem}.directory-grid button{min-width:0;padding:.85rem 1rem}.directory-grid span{font-size:var(--reading-caption);line-height:1.5}.directory-grid strong{font-size:var(--reading-body);overflow-wrap:anywhere;line-height:1.6}.terminal-history{overscroll-behavior-y:contain;max-height:22rem;overflow-y:auto}.terminal-form input{font-size:inherit;min-height:44px;line-height:1.85}.terminal-form{align-items:center}.terminal-statusbar{height:auto;min-height:38px;font-size:var(--reading-caption);flex-wrap:wrap;gap:.4rem 1.25rem;padding-block:.5rem;line-height:1.5}.hero-kicker,.terminal-hint,.scroll-cue{font-size:var(--reading-caption);letter-spacing:.04em;line-height:1.6}.terminal-titlebar,.boot-line,.directory-grid span,.whoami-output p:last-child,.terminal-hint,.hero-kicker,.terminal-form input::placeholder,html[data-theme=dark] .terminal-titlebar,html[data-theme=dark] .boot-line,html[data-theme=dark] .directory-grid span,html[data-theme=dark] .whoami-output p:last-child,html[data-theme=dark] .terminal-form input::placeholder{color:var(--reading-muted)}.curriculum-page{--roadmap-body-size:var(--reading-body);--roadmap-meta-size:var(--reading-meta);--roadmap-title-size:var(--reading-subheading)}.papers-section{--papers-text-size:var(--reading-body);--papers-title-size:var(--reading-subheading)}.section-index,.section-eyebrow,.post-card-top,.card-meta,.card-link,.project-card-head,.project-card-head small,.project-card>strong,.tag-row span,.track-list>article>span,.track-list small,.link-list span,.link-list small,.about-terminal-card span,.about-copy button,.about-home-link,.site-footer p,.weekly-list article>span,.weekly-list small,.article-header .brand small,.article-header nav,.post-back,.post-hero .eyebrow,.next-post p{font-size:var(--reading-meta);letter-spacing:.025em;line-height:1.6}.section-heading>p,.section-heading.compact>p,.post-card>p:last-of-type,.project-card>p,.weekly-list p,.track-list p,.links-panel>div:first-child>p:last-child,.about-copy>p:not(.section-eyebrow){font-size:var(--reading-body);line-height:1.85}.track-list h3,.link-list strong{font-size:var(--reading-subheading);line-height:1.65}.about-terminal-card pre{font-size:var(--reading-meta);overflow-wrap:anywhere;line-height:1.85}.site-footer strong,.article-header .brand strong{font-size:var(--reading-body)}.article-header .brand-mark{font-size:var(--reading-caption)}.post-summary{font-size:1.125rem;line-height:1.9}.post-content,.article-page .post-content{font-size:1.125rem;line-height:1.95}.post-content code{font-size:.95em}.post-content pre{font-size:1rem;line-height:1.8}.post-content pre code{font-size:inherit}.scroll-rail button span,.scroll-rail button strong{font-size:var(--reading-caption);line-height:1.5}.post-card{grid-template-columns:145px minmax(0,1fr) 125px;column-gap:1.5rem}.papers-layout{grid-template-columns:minmax(0,.88fr) minmax(0,1.12fr)}.paper-queue>a{grid-template-columns:30px minmax(0,1fr) auto 18px;gap:.75rem}.paper-queue h3,.paper-queue p,.paper-recommendations h3{overflow-wrap:anywhere}.paper-feed-status,.paper-meta,.semester-metrics{flex-wrap:wrap}.course-row{grid-template-columns:120px minmax(0,1fr) auto;gap:1.25rem}.course-copy{min-width:0}.course-copy h3{line-height:1.65}.course-tags span,.course-numbers dt,.course-numbers dd{line-height:1.45}.course-book-link strong{white-space:normal;overflow-wrap:anywhere}.course-book-link b{line-height:1.5}.project-card{grid-template-columns:100px minmax(0,.85fr) minmax(0,1.15fr) auto;gap:1rem 1.5rem}.tag-row{flex-wrap:wrap}.link-list a{grid-template-columns:42px minmax(0,1fr) minmax(0,1fr) 20px}.link-list strong,.link-list small{overflow-wrap:anywhere}.weekly-list article{grid-template-columns:130px minmax(0,1fr) auto}html :is(.post-card-top,.site-footer p,.course-code,.course-copy p,.course-numbers dt,.program-facts dt,.year-heading p,.paper-queue p,.paper-meta,.paper-feed-status,.link-list small),html[data-theme] :is(.post-card-top,.site-footer p,.course-code,.course-copy p,.course-numbers dt,.program-facts dt,.year-heading p,.paper-queue p,.paper-meta,.paper-feed-status,.link-list small){color:var(--reading-muted)}@media (max-width:1200px){.command-focus{display:none}.nav-shell{gap:1rem;width:calc(100% - 40px)}.nav-links{gap:1rem}.semester-panel summary{grid-template-columns:32px minmax(0,1fr) 24px}.semester-metrics{grid-column:2;justify-content:flex-start}.semester-toggle{grid-area:1/3/3}}@media (max-width:900px){.nav-tools .language-pill{display:none}.papers-layout{grid-template-columns:1fr;gap:3.5rem}}@media (max-width:760px){.top-nav,.top-nav.nav-soft{-webkit-backdrop-filter:none;backdrop-filter:none}.nav-shell{grid-template-columns:minmax(0,1fr) auto;width:calc(100% - 30px)}.nav-brand{font-size:1rem}.nav-links{justify-content:flex-start;justify-self:stretch;gap:.25rem;height:64px;overflow-x:auto}.nav-links a{font-size:var(--reading-caption);flex:1 0 auto;padding:1.15rem .65rem}.terminal-titlebar{min-height:48px}.terminal-titlebar>span:nth-child(2){max-width:68%;margin-left:2rem}.terminal-body{font-size:var(--reading-body);padding:1.1rem}.whoami-output{padding-inline:.85rem}.whoami-output p:first-child span{margin-top:.35rem;display:block}.directory-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.65rem}.directory-grid button{padding-inline:.75rem}.terminal-form{grid-template-columns:minmax(0,1fr) 8px;gap:.25rem .5rem;display:grid}.terminal-form label{grid-column:1/-1}.terminal-form input{width:100%;font-size:var(--reading-body)}.terminal-form input::placeholder{color:var(--reading-muted)}.terminal-statusbar{white-space:normal;gap:.4rem .8rem;overflow:visible}.terminal-hint{padding-inline:.5rem}.post-card,.project-card{display:block}.course-row{grid-template-columns:minmax(0,1fr)}.course-code{grid-column:1}.course-copy{grid-area:2/1}.course-numbers{text-align:left;grid-area:3/1;gap:2rem}.course-numbers dt{margin-bottom:.25rem}.paper-queue>a{grid-template-columns:28px minmax(0,1fr) 18px}.weekly-list article{grid-template-columns:1fr}.link-list a{grid-template-columns:34px minmax(0,1fr) 20px}.site-header.article-header{flex-wrap:wrap;gap:1rem;padding-block:1rem}}
