@font-face{font-family:Fraunces;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/167cd0713aa75522-s.40v7iydlhc_yt.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Fraunces;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/e455bcff747f0d5e-s.438h7bwt6ldsi.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Fraunces;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/791bf8c4bb753ed6-s.p.0rg7ym60g9xsl.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Fraunces Fallback;src:local(Times New Roman);ascent-override:84.71%;descent-override:22.09%;line-gap-override:0.0%;size-adjust:115.45%}.fraunces_559ed04a-module__m2XypG__className{font-family:Fraunces,Fraunces Fallback;font-style:normal}.fraunces_559ed04a-module__m2XypG__variable{--font-fraunces:"Fraunces", "Fraunces Fallback"}
@font-face{font-family:DM Sans;font-style:normal;font-weight:100 1000;font-display:swap;src:url(../media/c3cb240f9c892514-s.270md_-rr62el.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:DM Sans;font-style:normal;font-weight:100 1000;font-display:swap;src:url(../media/5c285b27cdda1fe8-s.p.0lsanbtneewqp.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:DM Sans Fallback;src:local(Arial);ascent-override:94.9%;descent-override:29.66%;line-gap-override:0.0%;size-adjust:104.53%}.dm_sans_34a85c05-module__gGo3DG__className{font-family:DM Sans,DM Sans Fallback;font-style:normal}.dm_sans_34a85c05-module__gGo3DG__variable{--font-dm-sans:"DM Sans", "DM Sans Fallback"}
@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:400;font-display:swap;src:url(../media/e390973e931a41c5-s.3zhtymus0wdqb.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:400;font-display:swap;src:url(../media/59b15b4bcd7b1eb5-s.3nkuoiize4urq.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:400;font-display:swap;src:url(../media/e532fa1b9921e1cd-s.1da667lu-u79a.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:400;font-display:swap;src:url(../media/2fe89d53234c61d4-s.1i05ju5aeyhye.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:400;font-display:swap;src:url(../media/99e609270109b47d-s.p.1dgcou5jor5q_.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:500;font-display:swap;src:url(../media/5e05ae5b48faa55e-s.31-2bzhq1gx_9.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:500;font-display:swap;src:url(../media/a7afbb44bec2bb18-s.3xauquyg2sixn.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:500;font-display:swap;src:url(../media/02263ebadd758ea4-s.2taws-qdxmzlf.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:500;font-display:swap;src:url(../media/68757d6cddeff913-s.0htwiiqufp3l9.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:500;font-display:swap;src:url(../media/effe91970fc4db64-s.p.28xcb7557rbh2.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:IBM Plex Mono Fallback;src:local(Arial);ascent-override:76.16%;descent-override:20.43%;line-gap-override:0.0%;size-adjust:134.59%}.ibm_plex_mono_17dc8d48-module__FK8goa__className{font-family:IBM Plex Mono,IBM Plex Mono Fallback;font-style:normal}.ibm_plex_mono_17dc8d48-module__FK8goa__variable{--font-plex-mono:"IBM Plex Mono", "IBM Plex Mono Fallback"}
:root{--brand-olive:#606e31;--brand-olive-secondary:#5f6d35;--brand-brown:#2c1b12;--brand-brown-wordmark:#301f13;--brand-orange:#c4581a;--brand-outline:#1d1d1b;--color-ink:#f1eee6;--color-ink-muted:#aaa69d;--color-ground:#171612;--color-ground-raised:#211f1a;--color-line:#f1eee62e;--color-accent:var(--brand-orange);--surface-primary:var(--color-ground-raised);--surface-secondary:#29271f;--surface-muted:#efede6;--text-primary:var(--color-ink);--text-muted:var(--color-ink-muted);--border-subtle:var(--color-line);--font-display:Georgia, "Times New Roman", serif;--font-body:Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--space-1:.5rem;--space-2:.75rem;--space-3:1rem;--space-4:1.5rem;--space-5:2rem;--space-6:3rem;--space-7:4.5rem;--space-8:6rem;--content-width:76rem;--radius-small:.25rem;--radius-medium:.75rem;--radius-large:1.25rem;--shadow-soft:0 1.5rem 4rem #0000002e;--text-xs:.75rem;--text-sm:.875rem;--text-base:1rem;--text-lg:1.125rem;--text-xl:1.5rem;--text-2xl:clamp(2rem, 5vw, 4rem)}*{box-sizing:border-box}html{background:var(--color-ground);color:var(--color-ink);font-family:var(--font-body);scroll-behavior:smooth}body{background:var(--color-ground);min-height:100vh;margin:0}a{color:inherit}button,input{font:inherit}::selection{background:var(--color-accent);color:var(--color-ground)}:focus-visible{outline:2px solid var(--color-accent);outline-offset:4px}.home-shell,.lab-shell{width:min(100% - 2rem, var(--content-width));margin-inline:auto}.public-header{justify-content:space-between;align-items:center;gap:var(--space-4);border-bottom:1px solid var(--border-subtle);min-height:5.5rem;display:flex}.brand-link{align-items:center;gap:var(--space-2);font-family:var(--font-display);font-size:var(--text-xl);text-decoration:none;display:inline-flex}.brand-link img{width:2rem;height:auto}.public-header nav{gap:var(--space-4);display:flex}.public-header nav a{color:var(--text-muted);font-size:var(--text-sm);text-decoration:none}.public-header nav a:hover{color:var(--text-primary)}.home-hero{flex-direction:column;justify-content:space-between;min-height:calc(100svh - 5.5rem);padding-block:clamp(2rem,6vw,5rem);display:flex}.home-hero__content{max-width:68rem;margin-block:auto}.home-hero__brand{align-items:center;gap:clamp(1.25rem,3vw,2.5rem);display:flex}.home-hero__symbol{flex:none;width:clamp(4.5rem,9vw,6.75rem);height:auto}.eyebrow{margin:0 0 var(--space-4);color:var(--color-ink-muted);letter-spacing:.18em;text-transform:uppercase;font-size:.75rem;font-weight:650}h1,h2,p{text-wrap:pretty}h1,h2{font-family:var(--font-display);font-weight:400}h1{letter-spacing:-.055em;text-transform:uppercase;margin:0;font-size:clamp(3.5rem,11vw,8.5rem);line-height:.85}.home-hero__statement{max-width:40rem;color:var(--color-ink-muted);margin:clamp(2rem,6vw,4rem) 0 0;font-size:clamp(1.15rem,2.6vw,1.75rem);line-height:1.45}.home-hero__status{justify-content:space-between;align-items:center;gap:var(--space-3);padding-top:var(--space-4);border-top:1px solid var(--color-line);color:var(--color-ink-muted);margin:0;font-size:.875rem;display:flex}.home-hero__status p{margin:0}.home-hero__status span{color:var(--text-muted);font-size:var(--text-xs);letter-spacing:.04em}.lab-shell{padding-block:var(--space-5) var(--space-7)}.lab-header,.lab-intro,.progress-probe__heading{justify-content:space-between;align-items:flex-start;gap:var(--space-4);display:flex}.lab-header{padding-bottom:var(--space-5);border-bottom:1px solid var(--color-line);align-items:center}.lab-header .eyebrow{margin:0}.text-link{font-family:var(--font-display);font-size:1.25rem;text-decoration:none}.text-link:hover{text-underline-offset:.3em;text-decoration:underline}.lab-intro{padding-block:clamp(3rem,8vw,7rem)}.lab-intro>div{max-width:52rem}.lab-intro h1{font-size:clamp(3rem,8vw,6.5rem)}.lab-intro p,.lab-notes p{max-width:43rem;margin:var(--space-5) 0 0;color:var(--color-ink-muted);font-size:1.05rem;line-height:1.7}.status-badge{border:1px solid var(--color-line);color:var(--color-ink-muted);letter-spacing:.12em;text-transform:uppercase;border-radius:999px;padding:.55rem .75rem;font-size:.7rem}.progress-probe{border:1px solid var(--color-line);background:var(--color-ground-raised);padding:clamp(1.5rem,4vw,3rem)}.progress-probe__heading h2,.lab-notes h2{margin:0;font-size:clamp(1.8rem,4vw,3rem)}.progress-probe__heading output{color:var(--color-ink);font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:1rem}.progress-probe label{margin-top:var(--space-6);justify-content:space-between;gap:var(--space-3);font-size:.875rem;display:flex}.progress-probe label span,.progress-probe__caption{color:var(--color-ink-muted)}.progress-probe input[type=range]{width:100%;margin:var(--space-4) 0 var(--space-2);accent-color:var(--color-accent)}.progress-probe__scale{color:var(--color-ink-muted);justify-content:space-between;font-size:.75rem;display:flex}.progress-probe__caption{margin:var(--space-5) 0 0;font-size:.8rem}.lab-notes{gap:var(--space-6);padding-block:var(--space-7);grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);display:grid}.lab-notes h2{grid-row:span 2}.lab-notes ol{color:var(--color-ink-muted);margin:0;padding-left:1.25rem;line-height:1.8}.lab-notes p{margin-top:0}.student-shell,.admin-shell{min-height:100svh}.student-sidebar,.admin-sidebar{width:17rem;padding:var(--space-4);flex-direction:column;display:flex;position:fixed;inset:0 auto 0 0}.student-sidebar{color:#202018;background:#e8e7df}.admin-sidebar{color:#20221f;background:#f4f5f1;border-right:1px solid #d8d9d4;width:16rem}.brand-link--compact{font-size:var(--text-lg)}.brand-link--compact img{width:1.75rem}.shell-module-list{margin-top:var(--space-6);flex-direction:column;flex:1;gap:.2rem;margin-bottom:0;padding:0;list-style:none;display:flex}.shell-module-list li{border-radius:var(--radius-small);color:#64655f;font-size:var(--text-sm);display:block}.student-sidebar .shell-module-list li{padding:.85rem 1rem}.admin-sidebar .shell-module-list li{padding:.52rem .75rem}.student-sidebar .shell-module-list li[data-current=true]{color:#202018;background:#d8d9ce;font-weight:650}.admin-sidebar .shell-module-list li[data-current=true]{color:#20221f;background:#e3e6df;font-weight:650}.shell-back-link{color:#64655f;font-size:var(--text-sm);text-underline-offset:.25em}.student-workspace,.admin-workspace{min-width:0;margin-left:17rem}.student-workspace{color:#25251e;background:#f7f6f1;min-height:100svh}.admin-workspace{color:#20221f;background:#eceeea;min-height:100svh;margin-left:16rem}.product-header{justify-content:space-between;align-items:center;gap:var(--space-4);min-height:5.5rem;padding:var(--space-3) clamp(1.25rem, 4vw, 4rem);border-bottom:1px solid #deddd5;display:flex}.product-header--admin{background:#f4f5f1db;border-bottom-color:#d8d9d4}.product-header button{border-radius:var(--radius-small);color:#888b84;cursor:not-allowed;background:#e2e4df;border:1px solid #c8cac4;min-height:2.5rem;padding:.65rem 1rem}.product-kicker,.product-context{margin:0}.product-kicker{color:#64655f;font-size:var(--text-xs);letter-spacing:.12em;text-transform:uppercase;font-weight:700}.product-context{color:#272821;font-family:var(--font-display);font-size:var(--text-lg);margin-top:.2rem}.shell-status{color:#66675f;font-size:var(--text-xs);border:1px solid #cccdc4;border-radius:999px;padding:.55rem .75rem}.product-page{width:min(100% - clamp(2.5rem,8vw,8rem),74rem);margin-inline:auto;padding-block:clamp(3rem,8vw,7rem)}.product-page h1,.product-page h2{color:inherit;text-transform:none}.product-page__heading{max-width:53rem}.product-page__heading h1{margin-top:var(--space-3);font-size:clamp(2.5rem,6vw,5.5rem);line-height:.98}.product-page__heading>p:last-child,.product-page__heading--admin>p{max-width:42rem;margin:var(--space-5) 0 0;color:#66675f;font-size:var(--text-lg);line-height:1.65}.student-grid{gap:var(--space-3);margin-top:var(--space-7);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.empty-panel{min-height:15rem;padding:var(--space-4);border-radius:var(--radius-medium);background:#eeede6;border:1px solid #deddd5;flex-direction:column;justify-content:space-between;display:flex}.empty-panel--primary{background:#dfe1d5;grid-row:span 2;min-height:31rem}.empty-panel__index{color:#8a8b83;font-family:var(--font-display);font-size:var(--text-xl)}.empty-panel h2{margin:var(--space-2) 0 0;font-size:clamp(1.6rem,3vw,2.5rem);line-height:1.05}.empty-panel p:last-child{max-width:30rem;margin:var(--space-3) 0 0;color:#686960;line-height:1.6}.product-page__heading--admin{align-items:end;gap:var(--space-6);grid-template-columns:minmax(0,1.5fr) minmax(18rem,.7fr);max-width:none;display:grid}.product-page__heading--admin h1{max-width:48rem;font-size:clamp(2.4rem,5vw,4.8rem)}.product-page__heading--admin>p{font-size:var(--text-base);margin-bottom:.35rem}.admin-empty-state{gap:var(--space-6);margin-top:var(--space-6);padding:var(--space-5);border-radius:var(--radius-small);box-shadow:var(--shadow-soft);background:#f5f6f2;border:1px solid #d3d5cf;grid-template-columns:minmax(0,1fr) minmax(18rem,.7fr);display:grid}.admin-empty-state h2{margin:var(--space-2) 0 0;font-family:var(--font-body);font-size:var(--text-xl);font-weight:650}.admin-empty-state>p{color:#666a63;margin:0;line-height:1.6}.module-groups{gap:var(--space-3);margin-top:var(--space-5);grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.module-groups article{padding:var(--space-4);background:#f5f6f2;border:1px solid #d3d5cf}.module-groups h2{margin:0 0 var(--space-4);font-family:var(--font-body);font-size:var(--text-sm);font-weight:700}.module-groups ul{margin:0;padding:0;list-style:none}.module-groups li{justify-content:space-between;align-items:center;gap:var(--space-2);color:#4e514c;min-height:2.6rem;font-size:var(--text-sm);border-top:1px solid #dedfd9;display:flex}.module-groups small{color:#898c86;font-size:var(--text-xs)}@media (max-width:44rem){.public-header{padding-block:var(--space-3);flex-direction:column;align-items:flex-start}.public-header nav{justify-content:space-between;width:100%}.home-hero{min-height:calc(100svh - 7.5rem)}.home-hero__status,.home-hero__brand{flex-direction:column;align-items:flex-start}.lab-header,.lab-intro,.progress-probe__heading,.lab-notes{display:block}.lab-header .eyebrow,.status-badge,.progress-probe__heading output{margin-top:var(--space-3);display:inline-block}.lab-intro p{margin-bottom:var(--space-4)}.progress-probe label{flex-direction:column}.lab-notes h2,.lab-notes ol{margin-bottom:var(--space-5)}.student-sidebar,.admin-sidebar{width:auto;padding:var(--space-3) var(--space-3) 0;position:static}.shell-module-list{margin-top:var(--space-3);padding-bottom:var(--space-2);scrollbar-width:none;flex-direction:row;overflow-x:auto}.shell-module-list::-webkit-scrollbar{display:none}.shell-module-list li{flex:none}.shell-back-link{display:none}.student-workspace,.admin-workspace{margin-left:0}.product-header{min-height:4.5rem;padding-inline:var(--space-3)}.product-page{width:min(100% - 2rem,74rem);padding-block:var(--space-6)}.product-page__heading h1,.product-page__heading--admin h1{font-size:clamp(2.5rem,12vw,4rem)}.student-grid,.product-page__heading--admin,.admin-empty-state,.module-groups{grid-template-columns:1fr}.empty-panel--primary{grid-row:auto;min-height:20rem}.product-page__heading--admin,.admin-empty-state{gap:var(--space-4)}.module-groups{gap:var(--space-2)}}@media (min-width:44.01rem) and (max-width:72rem){.admin-sidebar{width:13rem}.admin-workspace{margin-left:13rem}.admin-sidebar .shell-module-list li{font-size:var(--text-xs);padding-block:.42rem}.module-groups{grid-template-columns:1fr}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
