:root{color-scheme:dark;--bg:#07111c;--bg-soft:#0d1b2a;--panel:#0c1623d1;--text:#eaf2ff;--muted:#a8b7cf;--line:#b4cdff2e;--accent:#7cb3ff;--accent-2:#88f0d7;--shadow:0 24px 80px #00000059}html{color:var(--text);scroll-behavior:smooth;background:radial-gradient(circle at top,#7cb3ff2e,#0000 34%),linear-gradient(#09111a 0%,#07111c 48%,#050a12 100%);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}body{background:0 0;min-height:100vh;margin:0}a{color:inherit;text-decoration:none}.eyebrow{text-transform:uppercase;letter-spacing:.2em;color:var(--accent-2);font-size:.78rem}.home,.class-page{min-height:100vh}.course-nav{z-index:20;backdrop-filter:blur(18px);background:#07111ce0;border-bottom:1px solid #b4cdff1f;padding:.75rem clamp(1rem,4vw,3rem);position:sticky;top:0}.course-nav__inner{justify-content:space-between;align-items:center;gap:1rem;max-width:112rem;margin:0 auto;display:flex}.course-nav__brand{align-items:center;gap:.7rem;min-width:max-content;display:inline-flex}.course-nav__mark{border:1px solid var(--accent-2);width:2.25rem;height:2.25rem;color:var(--accent-2);letter-spacing:.08em;border-radius:.6rem;place-items:center;font-size:.65rem;font-weight:700;display:grid}.course-nav__name{color:var(--text);letter-spacing:.04em;font-size:.76rem;line-height:1.1}.course-nav__links{background:#ffffff09;border:1px solid #b4cdff1f;border-radius:.75rem;align-items:center;gap:.2rem;padding:.25rem;display:flex}.course-nav__links a{color:var(--muted);white-space:nowrap;border:1px solid #0000;border-radius:.5rem;padding:.5rem .8rem;font-size:.85rem;transition:color .18s,background .18s,border-color .18s;display:block}.course-nav__links a:hover,.course-nav__links a:focus-visible,.course-nav__links a.active{color:var(--text);background:#7cb3ff1f;border-color:#7cb3ff38}.cover{min-height:100vh;padding:2rem clamp(1rem,4vw,3rem) 3rem;position:relative;overflow:clip}.cover__grid,.hero__ambient{background-image:linear-gradient(var(--line) 1px, transparent 1px), linear-gradient(90deg, var(--line) 1px, transparent 1px);opacity:.35;pointer-events:none;background-size:84px 84px;position:absolute;inset:0;mask-image:radial-gradient(circle,#000 10%,#0000 72%)}.cover__content,.unit-card,.timeline__intro,.bridge__panel,.bridge__question,.hero__copy{backdrop-filter:blur(18px);background:var(--panel);box-shadow:var(--shadow);border:1px solid #ffffff14}.cover__content{border-radius:1.5rem;max-width:44rem;padding:clamp(1.25rem,3vw,2rem)}.cover h1,.hero h1{letter-spacing:-.04em;margin:.4rem 0 1rem;font-size:clamp(3rem,9vw,6.5rem);line-height:.95}.lede,.hero p,.bridge p,.timeline__intro p,.detail,.answer{color:var(--muted);line-height:1.65}.units{grid-template-columns:repeat(auto-fit,minmax(16rem,1fr));gap:1rem;margin-top:2rem;display:grid}.unit-card{border-radius:1.25rem;padding:1.25rem}.unit-card__meta{color:var(--muted);justify-content:space-between;font-size:.9rem;display:flex}.class-list{gap:.2rem;margin:1rem 0 0;padding:0;list-style:none;display:grid}.class-list li>span,.class-list li>a{border-radius:.6rem;grid-template-columns:2.2rem minmax(0,1fr) auto;align-items:center;gap:.7rem;padding:.55rem .65rem;display:grid}.class-list a{transition:background .18s,color .18s}.class-list a:hover,.class-list a:focus-visible{background:#7cb3ff1a}.class-number{color:var(--accent);font-variant-numeric:tabular-nums}.class-title{text-align:left;min-width:0}.class-list li.locked{opacity:.55}.class-list em{color:var(--accent-2);white-space:nowrap;font-size:.9rem;font-style:normal}.hero{align-items:start;min-height:min(58vh,38rem);padding:clamp(2rem,6vh,4.5rem) clamp(1rem,4vw,3rem) 2rem;display:grid;position:relative}.architecture-page .hero{padding-bottom:2rem}.hero__copy{border-radius:1.5rem;max-width:46rem;padding:clamp(1.5rem,3.5vw,2.5rem)}.timeline,.bridge{padding:3.5rem clamp(1rem,4vw,3rem)}.timeline{grid-template-columns:minmax(0,1fr) minmax(0,1.3fr);gap:2rem;display:grid;position:relative}.timeline__intro{border-radius:1.4rem;align-self:start;padding:1.5rem;position:sticky;top:1.5rem}.timeline__intro,.timeline__stage,.timeline__cards{grid-row:1}.timeline__intro{grid-column:1}.timeline__stage,.timeline__cards{grid-column:2}.timeline__stage{z-index:0;pointer-events:none;position:relative}.timeline__line{background:#ffffff14;width:2px;position:absolute;top:0;bottom:0;left:1rem}.timeline__line-fill{background:linear-gradient(180deg, var(--accent-2), var(--accent));position:absolute;inset:0;transform:scaleY(0)}.timeline__cards{z-index:1;flex-direction:column;gap:2rem;padding-left:2.5rem;display:flex}.timeline-card{box-sizing:border-box;background:#080f18e6;border:1px solid #ffffff1a;border-radius:1.4rem;min-width:0;padding:1.4rem 1.4rem 1.5rem 2rem;display:block;position:relative;overflow:hidden}.timeline-card--civil{border-color:#88f0d773}.timeline-card h3,.bridge h2{margin:.35rem 0 .7rem;font-size:clamp(1.45rem,3vw,2.2rem)}.timeline-card__header{color:var(--muted);justify-content:space-between;font-size:.85rem;display:flex}.timeline-card p{margin:.65rem 0 0}.timeline-card__image{object-fit:cover;background:#0b1725;border:1px solid #7cb3ff2e;border-radius:.9rem;width:100%;height:clamp(10rem,18vw,14rem);margin-top:1.35rem;display:block}.summary{color:var(--text)}.notes{color:#ffd78c}.bridge{grid-template-columns:repeat(auto-fit,minmax(18rem,1fr));gap:1rem;display:grid}.bridge__panel,.bridge__question{border-radius:1.4rem;padding:1.5rem}.bridge__tags{flex-wrap:wrap;gap:.6rem;margin:1rem 0 0;padding:0;list-style:none;display:flex}.bridge__tags li{border:1px solid #ffffff1f;border-radius:999px;padding:.5rem .8rem}.question{color:var(--text);margin:0;font-size:clamp(1.7rem,4vw,3rem);line-height:1.05}.architecture-section,.architecture-explorer,.lesson-close{padding:3.5rem clamp(1rem,4vw,3rem)}.architecture-page>.architecture-section:first-of-type{padding-top:2.5rem}.section-heading{max-width:52rem}.section-heading h2,.architecture-explorer h2,.lesson-close h2{letter-spacing:-.04em;max-width:18ch;margin:.45rem 0 1rem;font-size:clamp(2rem,5vw,4.2rem);line-height:1}.section-heading p:not(.eyebrow){max-width:42rem;color:var(--muted);line-height:1.7}.idea-grid,.workflow-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:.8rem;max-width:112rem;margin:2rem auto 0;display:grid}.idea-card,.workflow-grid article{background:#0c16239e;border:1px solid #ffffff1a;border-radius:1rem;min-width:0;padding:1.25rem}.idea-card h3,.workflow-grid h3{margin:0;font-size:1.1rem}.idea-card p,.workflow-grid p{color:var(--muted);margin:.7rem 0 0;line-height:1.55}.model-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;max-width:72rem;margin:2rem auto 0;display:grid}.model-card{background:linear-gradient(135deg,#1c3753b8,#0c1623b8);border:1px solid #7cb3ff33;border-radius:1.2rem;padding:clamp(1.25rem,3vw,2rem)}.model-card:last-child{background:linear-gradient(135deg,#123f40a6,#0c1623b8);border-color:#88f0d738}.model-card__label{color:var(--accent-2);letter-spacing:.14em;text-transform:uppercase;font-size:.74rem}.model-card h3{margin:.65rem 0 .5rem;font-size:clamp(1.4rem,3vw,2rem)}.model-card p{max-width:34rem;color:var(--muted);margin:0;line-height:1.65}.architecture-explorer{background:#09142080;grid-template-columns:minmax(15rem,.7fr) minmax(0,1.3fr);align-items:start;gap:2rem;display:grid}.architecture-explorer__intro{position:sticky;top:5.5rem}.architecture-map{align-items:stretch;gap:.45rem;min-width:0;display:flex}.architecture-node{min-width:0;color:var(--muted);text-align:left;cursor:pointer;background:#0c1623b8;border:1px solid #ffffff1f;border-radius:.9rem;flex:1 1 0;gap:.45rem;padding:1rem;transition:color .18s,border-color .18s,background .18s,transform .18s;display:grid;position:relative}.architecture-node:hover,.architecture-node:focus-visible,.architecture-node.active{color:var(--text);border-color:var(--accent);background:#28496980;transform:translateY(-.2rem)}.architecture-node__index{letter-spacing:.12em;color:var(--accent-2);font-size:.72rem}.architecture-node strong{font-size:.95rem}.architecture-node__arrow{z-index:2;color:var(--accent-2);position:absolute;top:50%;right:-.65rem;transform:translateY(-50%)}.architecture-detail{border-left:3px solid var(--accent);background:#07111cd6;border-radius:0 1rem 1rem 0;grid-column:2;padding:1.5rem}.architecture-detail--mint{border-color:var(--accent-2)}.architecture-detail--gold{border-color:#ffd78c}.architecture-detail--coral{border-color:#ff9d82}.architecture-detail h3{margin:.4rem 0 .7rem;font-size:clamp(1.6rem,3vw,2.5rem)}.architecture-detail p{max-width:48rem;color:var(--muted);line-height:1.65}.architecture-detail__civil{color:var(--text)!important}.architecture-section--dark{background:#0309108f}.workflow-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.workflow-grid article>span{color:var(--accent-2);letter-spacing:.12em;font-size:.78rem}.lesson-close{text-align:center;max-width:70rem;margin:0 auto}.lesson-close h2{max-width:22ch;margin-left:auto;margin-right:auto}.lesson-close>p:not(.eyebrow){color:var(--muted);line-height:1.65}.text-link{color:var(--accent-2);gap:.5rem;margin-top:1rem;display:inline-flex}.reveal{height:100vh}.reveal h1,.reveal h2{letter-spacing:-.04em}@media (width<=900px){.timeline{grid-template-columns:1fr;gap:1.5rem}.timeline__intro,.timeline__stage,.timeline__cards{grid-area:auto/1}.timeline__intro{position:relative;top:auto}.timeline__stage{display:none}.timeline__cards{gap:1.25rem;padding-left:0}.timeline-card__image{height:clamp(9rem,42vw,13rem)}.architecture-section,.architecture-explorer,.lesson-close{padding-top:3.5rem;padding-bottom:3.5rem}.architecture-page>.architecture-section:first-of-type{padding-top:2rem}.architecture-explorer{grid-template-columns:1fr}.architecture-explorer__intro{position:relative;top:auto}.architecture-detail{grid-column:1}.idea-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.architecture-map{padding-bottom:.5rem;overflow-x:auto}.architecture-node{flex:0 0 8.5rem}}@media (width<=600px){.course-nav{padding:.65rem 1rem}.course-nav__name{display:none}.course-nav__links a{padding:.45rem .55rem;font-size:.78rem}.class-list li>span,.class-list li>a{grid-template-columns:2rem minmax(0,1fr)}.class-list em{grid-column:2;margin-top:-.3rem}.idea-grid,.workflow-grid,.model-grid{grid-template-columns:1fr}.architecture-node{flex-basis:7.5rem}.hero,.architecture-page .hero{min-height:auto;padding-top:2rem;padding-bottom:2rem}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{scroll-behavior:auto!important;transition-duration:.001ms!important;animation-duration:.001ms!important;animation-iteration-count:1!important}}
