@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:100 700;font-stretch:100%;font-display:swap;src:url(../media/7fea77d1d19108bf-s.2e4y-bhazgt_v.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 Sans;font-style:normal;font-weight:100 700;font-stretch:100%;font-display:swap;src:url(../media/1bcd0e671759a44c-s.3o0_l_yqebdng.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:100 700;font-stretch:100%;font-display:swap;src:url(../media/e15f58668ad64cb8-s.2mglm451ism6l.woff2)format("woff2");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:100 700;font-stretch:100%;font-display:swap;src:url(../media/90c51ce8fb754fe8-s.3bjsqkuy1d2v8.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 Sans;font-style:normal;font-weight:100 700;font-stretch:100%;font-display:swap;src:url(../media/57215795b8570f5c-s.0xluf1kzv7x5w.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-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:100 700;font-stretch:100%;font-display:swap;src:url(../media/03fc1b4a8d284b5e-s.p.45487z7p3r8wm.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 Sans Fallback;src:local(Arial);ascent-override:101.32%;descent-override:27.18%;line-gap-override:0.0%;size-adjust:101.17%}.ibm_plex_sans_ea743a43-module__h-Oe-q__className{font-family:IBM Plex Sans,IBM Plex Sans Fallback;font-style:normal}.ibm_plex_sans_ea743a43-module__h-Oe-q__variable{--font-plex-sans:"IBM Plex Sans", "IBM Plex Sans Fallback"}
@font-face{font-family:IBM Plex Serif;font-style:italic;font-weight:400;font-display:swap;src:url(../media/b6a3ba25a63ffdc2-s.1ib4r813-spcj.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 Serif;font-style:italic;font-weight:400;font-display:swap;src:url(../media/c46d9efd5b21dbaa-s.3praxtgqonyo3.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:IBM Plex Serif;font-style:italic;font-weight:400;font-display:swap;src:url(../media/6308822089fd3411-s.3dc025aot6ph6.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 Serif;font-style:italic;font-weight:400;font-display:swap;src:url(../media/ff4d9f8b7294524b-s.1qviq1uelgk7o.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-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:IBM Plex Serif;font-style:italic;font-weight:400;font-display:swap;src:url(../media/0e64cfb82a47c250-s.p.0-yskm9fkitk1.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 Serif;font-style:italic;font-weight:500;font-display:swap;src:url(../media/79d9db89a59a83fa-s.1m4ich8w-7qza.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 Serif;font-style:italic;font-weight:500;font-display:swap;src:url(../media/11705a6cc6a37f59-s.1a-pi5lumgj-h.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:IBM Plex Serif;font-style:italic;font-weight:500;font-display:swap;src:url(../media/221a7ef2b9efbaad-s.3rjy-tlygn757.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 Serif;font-style:italic;font-weight:500;font-display:swap;src:url(../media/730055c84ed23e9d-s.0zbvsbehl229l.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-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:IBM Plex Serif;font-style:italic;font-weight:500;font-display:swap;src:url(../media/b02a479d288d97d4-s.p.1w7o6te1grk4n.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 Serif Fallback;src:local(Times New Roman);ascent-override:88.04%;descent-override:23.62%;line-gap-override:0.0%;size-adjust:116.43%}.ibm_plex_serif_506d308f-module__WBVara__className{font-family:IBM Plex Serif,IBM Plex Serif Fallback;font-style:italic}.ibm_plex_serif_506d308f-module__WBVara__variable{--font-plex-serif:"IBM Plex Serif", "IBM Plex Serif 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-20C4,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-20C4,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_6a49ad5e-module__fo1kJa__className{font-family:IBM Plex Mono,IBM Plex Mono Fallback;font-style:normal}.ibm_plex_mono_6a49ad5e-module__fo1kJa__variable{--font-plex-mono:"IBM Plex Mono", "IBM Plex Mono Fallback"}
:root{--paper:#fbfcfd;--surface:#fff;--ink:#172843;--muted:#55657a;--teal:#276f75;--line:#dce4e9;--soft:#edf3f5;--panel:#172843;--panel-ink:#f3f7fa;--panel-muted:#b7c6d6;--panel-line:#ffffff26;--panel-accent:#9dd8d2;--cta-bg:#172843;--cta-fg:#fff;--cta-hover:#294666;--focus:#268c96;--good:#1f6b4f;--good-bg:#e7f3ed;--warn:#8a5a14;--warn-bg:#fbf1e1;--font:var(--font-plex-sans), system-ui, sans-serif;--mono:var(--font-plex-mono), ui-monospace, monospace;--serif:var(--font-plex-serif), Georgia, serif;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}[data-theme=dark]{--paper:#0c1726;--surface:#122236;--ink:#e7eef5;--muted:#a6b5c6;--teal:#8fd1ca;--line:#263b52;--soft:#16293e;--panel:#16293e;--panel-ink:#e7eef5;--panel-muted:#a6b5c6;--panel-line:#ffffff1f;--panel-accent:#9dd8d2;--cta-bg:#9dd8d2;--cta-fg:#0c1726;--cta-hover:#b8e5e0;--focus:#9dd8d2;--good:#8fd6b4;--good-bg:#133a2e;--warn:#f0c47e;--warn-bg:#3a2c14;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*{box-sizing:border-box}html{background:var(--paper);scroll-behavior:smooth;scroll-padding-top:96px}body{background:var(--paper);color:var(--ink);font:1rem/1.6 var(--font);-webkit-font-smoothing:antialiased;margin:0}h1,h2,h3,p{margin-top:0}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit;cursor:pointer;touch-action:manipulation}a,button{-webkit-tap-highlight-color:transparent}:is(a,button,[tabindex]):focus-visible{outline:3px solid var(--focus);outline-offset:4px;border-radius:4px}h3[tabindex="-1"]:focus{outline:none}img{max-width:100%;height:auto;display:block}code,pre{font-family:var(--mono)}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.text-balance{text-wrap:balance}.text-pretty{text-wrap:pretty}.mono{font-family:var(--mono)}.wrap{width:min(1240px,100% - 96px);margin-inline:auto}.eyebrow{font:500 .8125rem/1.5 var(--mono);letter-spacing:.08em;color:var(--teal);margin-bottom:20px}h1{letter-spacing:-.055em;margin-bottom:28px;font-size:clamp(2.6rem,5vw,4.9rem);font-weight:500;line-height:1.04}h1 em{font-family:var(--serif);color:var(--teal);letter-spacing:-.045em;font-weight:400;display:block}h2{letter-spacing:-.04em;margin-bottom:0;font-size:clamp(2rem,3.4vw,3.2rem);font-weight:500;line-height:1.12}h2 em{font-family:var(--serif);color:var(--teal);font-weight:400}.button{border:1px solid var(--ink);text-align:center;background:var(--surface);border-radius:6px;justify-content:center;align-items:center;gap:12px;min-height:46px;padding:12px 22px;font-size:.95rem;font-weight:500;line-height:1.3;transition:background .2s,transform .2s;display:inline-flex}.button:hover{transform:translateY(-1px)}.navy{background:var(--cta-bg);color:var(--cta-fg);border-color:var(--cta-bg)}.navy:hover{background:var(--cta-hover)}.text-link{text-align:left;min-height:44px;color:var(--ink);text-decoration:underline;-webkit-text-decoration-color:var(--line);text-decoration-color:var(--line);text-underline-offset:5px;background:0 0;border:0;align-items:center;gap:10px;padding:8px 0;font-size:.95rem;font-weight:500;text-decoration-thickness:1px;display:inline-flex}.text-link:hover{color:var(--teal);text-decoration-color:currentColor}.skip{background:var(--cta-bg);color:var(--cta-fg);z-index:60;border-radius:6px;padding:12px 16px;position:absolute;top:-100px;left:12px}.skip:focus{top:12px}.site-header{z-index:20;background:color-mix(in srgb, var(--paper) 94%, transparent);border-bottom:1px solid var(--line);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);position:sticky;top:0}.header-inner{align-items:center;gap:24px;min-height:80px;display:flex}.brand{flex-shrink:0;align-items:center;gap:11px;font-size:1.22rem;font-weight:600;line-height:1.15;display:flex}.brand small{font:500 .625rem/1.5 var(--font);letter-spacing:.23em;margin-bottom:2px;display:block}.brand-mark{background:var(--panel);width:41px;height:41px;color:var(--panel-ink);letter-spacing:-.06em;border-radius:9px;justify-content:center;align-items:center;font-size:1.6rem;font-weight:600;display:flex;position:relative}[data-theme=dark] .brand-mark{border:1px solid var(--line)}.brand-mark span{color:var(--panel-accent);font-size:1.7rem;line-height:1;position:absolute;bottom:4px;right:6px}.main-nav{color:var(--muted);gap:28px;margin-left:auto;font-size:.92rem;display:flex}.main-nav a:hover{color:var(--teal)}.header-cta{padding:10px 16px;font-size:.875rem}.theme-toggle{background:var(--soft);border:1px solid var(--line);white-space:nowrap;border-radius:7px;flex-shrink:0;justify-content:center;align-items:center;gap:8px;min-width:44px;min-height:44px;padding:8px 11px;font-size:.82rem;display:inline-flex}.theme-moon,.theme-sun{font-size:1.2rem;line-height:1}.theme-sun,[data-theme=dark] .theme-moon{display:none}[data-theme=dark] .theme-sun{display:inline}.menu-toggle,.mobile-menu[hidden]{display:none}.hero{grid-template-columns:1.05fr .95fr;align-items:center;gap:64px;padding-block:72px 80px;display:grid}.hero .eyebrow{align-items:center;gap:12px;font-size:.75rem;display:flex}.rule{background:var(--teal);flex-shrink:0;width:28px;height:1px}.hero-description{color:var(--ink);max-width:34em;margin-bottom:16px;font-size:1.2rem;line-height:1.6}.hero-positioning{color:var(--muted);max-width:36em;margin-bottom:32px;font-size:1.02rem;line-height:1.65}.hero-actions{flex-wrap:wrap;align-items:center;gap:16px 28px;display:flex}.hero-note{border-top:1px solid var(--line);color:var(--muted);margin:28px 0 0;padding-top:20px;font-size:.9rem}.illustrative-label{font:500 .75rem/1.4 var(--mono);letter-spacing:.04em;color:var(--muted);display:inline-block}.question-panel{background:var(--panel);color:var(--panel-ink);border-radius:14px;padding:26px 28px 28px;box-shadow:0 28px 65px #1a38571f}[data-theme=dark] .question-panel{border:1px solid var(--line)}.qp-top{border-bottom:1px solid var(--panel-line);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;padding-bottom:18px;display:flex}.qp-heading{font:500 .8125rem/1.5 var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--panel-accent)}.question-panel .illustrative-label{color:var(--panel-muted)}.qp-tabs,.challenge-tabs{flex-wrap:wrap;gap:8px;display:flex}.qp-tabs{margin-top:20px}.qp-tabs [role=tab]{min-height:44px;color:var(--panel-ink);background:0 0;border:1px solid #5d7089;border-radius:999px;padding:8px 16px;font-size:.9rem}.qp-tabs [role=tab][aria-selected=true]{background:var(--panel-accent);border-color:var(--panel-accent);color:#102333}.qp-body{margin-top:22px}.qp-quote{font:400 clamp(1.3rem, 2vw, 1.6rem) / 1.35 var(--serif);min-height:4.1em;margin-bottom:20px;font-style:italic}.qp-visual{border:1px solid var(--panel-line);background:#ffffff0d;border-radius:10px;align-content:center;min-height:210px;margin-bottom:22px;padding:16px;display:grid}.panel-button{background:var(--panel-ink);color:#172843;border-color:var(--panel-ink)}[data-theme=dark] .panel-button{background:var(--panel-accent);border-color:var(--panel-accent);color:#0c1726}.v-log{border-collapse:collapse;width:100%;font:.875rem/1.4 var(--mono)}.v-log th{text-align:left;letter-spacing:.06em;text-transform:uppercase;opacity:.75;padding:0 10px 8px;font-size:.75rem;font-weight:500}.v-log td{border-top:1px solid;border-top-color:color-mix(in srgb, currentColor 18%, transparent);padding:7px 10px}.v-log td:first-child{opacity:.8;width:5.5em}.v-log tr.flagged td{color:var(--warn);font-weight:500}.oc-visual .v-log tr.flagged td:last-child:after{content:""}.question-panel .v-log tr.flagged td{color:#f0c47e}.v-log tr.flagged td:last-child:after{content:"  ← unusual time";opacity:.85;font-weight:400}.v-trace{gap:12px;display:grid}.v-trace pre{white-space:pre-wrap;margin:0;font-size:.875rem;line-height:1.5}.v-trace table{border-collapse:collapse;font:.875rem var(--mono);width:100%}.v-trace th,.v-trace td{border:1px solid var(--line);text-align:center;padding:6px 10px}.v-trace th{text-align:left;color:var(--muted);width:30%;font-weight:500}.v-stages{counter-reset:stage;grid-template-columns:repeat(4,1fr);gap:6px;margin:0;padding:0;list-style:none;display:grid}.v-stages li{border:1px dashed var(--accent,var(--teal));text-align:center;border-radius:8px;place-items:center;min-height:56px;padding:10px 8px;font-size:.8125rem;line-height:1.3;display:grid;position:relative}.v-graph{margin:0}.v-graph svg{width:100%;max-height:150px;display:block}.v-graph .axis{stroke:var(--muted);stroke-width:1px}.v-graph .guide{stroke:var(--muted);stroke-dasharray:3 3;stroke-width:1px}.v-graph .curve{fill:none;stroke:var(--accent,var(--teal));stroke-width:2.25px;stroke-linejoin:round}.v-graph .peak{fill:var(--accent,var(--teal))}.v-graph .label{font:11px var(--mono);fill:var(--muted)}.v-graph figcaption{color:var(--muted);font-size:.875rem}.v-code-tabs{font:.75rem var(--mono);color:var(--muted);gap:4px;margin-bottom:8px;display:flex}.v-code-tabs span{border-radius:4px;padding:3px 8px}.v-code-tabs .active{background:var(--surface);color:var(--ink);border:1px solid var(--line)}.v-code pre{margin:0;font-size:.8125rem;line-height:1.55;overflow-x:auto}.v-code .comment{color:var(--muted)}.v-flow{align-items:stretch;gap:6px;display:flex}.v-flow>div{border:1px solid var(--line);background:var(--surface);text-align:center;border-radius:8px;flex:1;align-content:center;gap:2px;padding:10px 8px;display:grid}.v-flow .decision{border-color:var(--accent,var(--teal))}.v-flow small{font:500 .6875rem var(--mono);letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}.v-flow span{font:.8125rem/1.35 var(--mono)}.v-flow i{color:var(--muted);align-self:center;font-style:normal}.v-sketch{gap:10px;margin:0;padding:0;list-style:none;display:grid}.v-sketch li{border:1px dashed;border-color:color-mix(in srgb, currentColor 40%, transparent);font:italic 1.05rem/1.4 var(--serif);border-radius:8px;padding:10px 14px}.v-sketch li:nth-child(2){margin-left:16px}.v-sketch li:nth-child(3){margin-left:32px}.v-rect{margin:0}.v-rect svg{width:100%;max-height:180px;display:block}.v-rect .shape{fill:none;stroke:currentColor;stroke-width:1.5px}.v-rect .label{font:13px var(--mono);fill:currentColor}.v-rect .strong{font-family:var(--serif);font-size:16px;font-style:italic}.offerings{border-top:1px solid var(--line);background:var(--soft);padding-block:88px}.section-heading{flex-wrap:wrap;justify-content:space-between;align-items:end;gap:24px 64px;margin-bottom:40px;display:flex}.section-heading>div{max-width:760px}.section-lead{max-width:34em;color:var(--muted);margin:0;font-size:1.05rem;line-height:1.65}.catalog-toolbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;margin-bottom:24px;display:flex}.filters{flex-wrap:wrap;gap:8px;display:flex}.filters button{border:1px solid var(--line);background:var(--surface);border-radius:999px;min-height:44px;padding:8px 16px;font-size:.9rem}.filters button.active{background:var(--cta-bg);color:var(--cta-fg);border-color:var(--cta-bg)}.results-count{font:.875rem var(--mono);color:var(--muted)}.offering-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;display:grid}.offering-card{--accent:var(--teal);--tint:#edf6f6;background:var(--surface);border:1px solid var(--line);border-radius:12px;flex-direction:column;min-width:0;padding:26px;display:flex}.offering-card[data-offering=cs-lab]{--accent:#43608f;--tint:#eef2f9}.offering-card[data-offering=design-studio]{--accent:#2f6f5c;--tint:#eef5f1}.offering-card[data-offering=mathematics-studio]{--accent:#2a5f7a;--tint:#ecf3f7}.offering-card[data-offering=cs-studio]{--accent:#3d5a80;--tint:#eff2f8}.offering-card[data-offering=csp-lab]{--accent:#356b6f;--tint:#edf4f4}[data-theme=dark] .offering-card{--accent:#8fd1ca;--tint:#16293e}[data-theme=dark] .offering-card[data-offering=cs-lab],[data-theme=dark] .offering-card[data-offering=cs-studio]{--accent:#a9c0e6}[data-theme=dark] .offering-card[data-offering=design-studio]{--accent:#9ed3b9}[data-theme=dark] .offering-card[data-offering=mathematics-studio]{--accent:#9cc9e0}.oc-head{border-bottom:1px solid var(--line);margin-bottom:18px;padding-bottom:14px}.oc-name{letter-spacing:-.025em;color:var(--accent);margin-bottom:4px;font-size:1.45rem;font-weight:600}.oc-descriptor{font:.8125rem/1.45 var(--mono);color:var(--muted);margin:0}.oc-headline{font:italic 400 1.35rem/1.3 var(--serif);margin-bottom:12px}.oc-desc{color:var(--muted);margin-bottom:20px;font-size:.975rem;line-height:1.6}.oc-visual{background:var(--tint);border-radius:10px;align-content:center;gap:8px;min-height:168px;margin-bottom:20px;padding:16px;display:grid}.oc-visual .illustrative-label{justify-self:end}.oc-visual .v-trace th,.oc-visual .v-trace td{background:var(--surface)}.oc-highlights{gap:8px;margin:0 0 24px;padding:0;font-size:.925rem;line-height:1.5;list-style:none;display:grid}.oc-highlights li{padding-left:20px;position:relative}.oc-highlights li:before{content:"";background:var(--accent);width:8px;height:2px;position:absolute;top:.62em;left:2px}.oc-footer{border-top:1px solid var(--line);gap:14px;margin-top:auto;padding-top:18px;display:grid}.oc-actions{flex-wrap:wrap;align-items:center;gap:8px 22px;display:flex}.badge{border:1px solid #0000;border-radius:999px;justify-self:start;align-items:center;gap:8px;padding:5px 11px;font-size:.8125rem;font-weight:500;line-height:1.35;display:inline-flex}.badge:before{content:"";background:currentColor;border-radius:50%;flex-shrink:0;width:7px;height:7px}.badge[data-tone=available]{background:var(--good-bg);color:var(--good)}.badge[data-tone=pilot]{background:var(--soft);color:var(--teal);border-color:color-mix(in srgb, var(--teal) 35%, transparent)}.badge[data-tone=development]{background:var(--warn-bg);color:var(--warn)}dialog.modal{border:1px solid var(--line);background:var(--surface);width:min(760px,100% - 32px);max-height:90dvh;color:var(--ink);border-radius:14px;padding:28px 36px 34px;overflow:auto;box-shadow:0 30px 90px #10233840}dialog.modal::backdrop{-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#152843a8}[data-theme=dark] dialog.modal::backdrop{background:#030a14c9}body:has(dialog[open]){overflow:hidden}.dialog-top{justify-content:space-between;align-items:center;gap:20px;margin-bottom:20px;display:flex}.dialog-top .eyebrow{margin:0}.close{border:1px solid var(--line);background:var(--soft);border-radius:6px;flex-shrink:0;width:44px;height:44px;font-size:1.5rem;line-height:1}.detail h2{margin-bottom:6px;font-size:clamp(1.9rem,4vw,2.5rem)}.detail-tag{font:.8125rem/1.45 var(--mono);color:var(--muted);margin-bottom:8px}.detail-headline{font:italic 400 1.3rem/1.35 var(--serif);color:var(--teal);margin-bottom:16px}.detail-intro{margin:20px 0 0;font-size:1.02rem;line-height:1.65}.detail-subhead{margin:26px 0 12px;font-size:1.05rem;font-weight:500}.detail-figure{margin-top:22px}.routes{grid-template-columns:1fr 1fr;gap:14px;margin:24px 0 0;padding:0;list-style:none;display:grid}.routes li{background:var(--soft);border:1px solid var(--line);border-radius:10px;padding:18px}.routes h3{margin-bottom:6px;font-size:1.02rem;font-weight:600}.routes p{color:var(--muted);margin:0;font-size:.925rem;line-height:1.55}.detail-example{border:1px solid var(--line);background:var(--soft);border-radius:10px;gap:12px;margin-top:24px;padding:20px;display:grid}.detail-example .eyebrow{margin:0}.detail-example p{margin:0;line-height:1.6}.detail-example-q{font:italic 1.15rem/1.4 var(--serif)}.detail-shot{margin:24px 0 0}.detail-shot img{border:1px solid var(--line);border-radius:8px}.detail-shot figcaption{color:var(--muted);margin-top:8px;font-size:.875rem}.notes{gap:12px;margin:24px 0 0;display:grid}.notes>div{border-top:1px solid var(--line);grid-template-columns:170px 1fr;gap:16px;padding-top:12px;display:grid}.notes dt{font:500 .8125rem/1.6 var(--mono);color:var(--teal)}.notes dd{margin:0;font-size:.95rem;line-height:1.6}.detail-actions{flex-wrap:wrap;align-items:center;gap:12px 24px;margin-top:28px;display:flex}.theme-list{color:var(--muted);grid-template-columns:1fr 1fr;gap:10px 24px;margin:0;padding-left:20px;display:grid}.theme-list li::marker{color:var(--teal)}.try-section{padding-block:88px}.try-layout{grid-template-columns:.8fr 1.2fr;align-items:start;gap:56px;display:grid}.try-copy p:not(.eyebrow){color:var(--muted);margin:20px 0 24px;font-size:1.02rem;line-height:1.65}.challenge-tabs [role=tab]{border:1px solid var(--line);background:var(--surface);border-radius:999px;min-height:44px;padding:8px 18px;font-size:.925rem}.challenge-tabs [role=tab][aria-selected=true]{background:var(--cta-bg);color:var(--cta-fg);border-color:var(--cta-bg)}.try-copy .sample-note,.sample-note{color:var(--muted);margin:18px 0 0;font-size:.875rem}.challenge-surface{background:var(--surface);border:1px solid var(--line);border-radius:14px;min-width:0;padding:28px 30px 30px}.challenge-kicker{font:500 .75rem/1.5 var(--mono);letter-spacing:.05em;color:var(--muted);border-bottom:1px solid var(--line);flex-wrap:wrap;justify-content:space-between;gap:8px 16px;margin-bottom:20px;padding-bottom:14px;display:flex}.challenge-kicker span:first-child{color:var(--teal)}.challenge-surface h3{letter-spacing:-.03em;margin-bottom:8px;font-size:clamp(1.5rem,2.4vw,1.9rem);font-weight:500;line-height:1.2}.challenge-prompt{color:var(--muted);margin-bottom:18px;font-size:1.05rem}.challenge-visual{background:var(--soft);color:var(--ink);border-radius:10px;margin-bottom:20px;padding:16px}.code-sample{margin:0;font-size:.9rem;line-height:1.6;overflow-x:auto}.answer-options{gap:10px;display:grid}.answer-options button{text-align:left;border:1px solid var(--line);background:var(--surface);border-radius:8px;min-height:48px;padding:12px 16px;font-size:.975rem;line-height:1.45}.answer-options button:hover:not([aria-disabled=true]){border-color:var(--teal)}.answer-options button[aria-disabled=true]{cursor:default}.answer-options button.chosen{border-color:var(--ink);box-shadow:inset 0 0 0 1px var(--ink)}.answer-options button[data-correct=true]{background:var(--good-bg);border-color:var(--good);color:var(--ink)}.answer-options button[data-correct=true]:after{content:"";border:solid var(--good);border-width:0 2px 2px 0;width:5px;height:10px;margin-left:10px;display:inline-block;transform:translateY(-2px)rotate(45deg)}.hint{margin-top:12px}.hint p{border-left:3px solid var(--teal);background:var(--soft);border-radius:0 8px 8px 0;margin:0;padding:12px 16px;line-height:1.55}.feedback:not(:empty){border:1px solid var(--line);background:var(--soft);border-radius:10px;margin-top:18px;padding:18px 20px}.feedback strong{margin-bottom:6px;font-weight:600;display:block}.feedback p{margin:0 0 14px;line-height:1.6}.feedback-actions{flex-wrap:wrap;align-items:center;gap:8px 22px;display:flex}.teaching{border-top:1px solid var(--line);background:var(--soft);padding-block:88px}.principles{border-top:1px solid var(--line);grid-template-columns:repeat(3,1fr);gap:32px;margin:0 0 40px;padding:28px 0 0;list-style:none;display:grid}.principle-verb{font:italic 400 1.6rem/1 var(--serif);color:var(--teal);margin-bottom:12px;display:block}.principles h3{margin-bottom:6px;font-size:1.2rem;font-weight:500}.principles p{color:var(--muted);margin:0;line-height:1.6}.sequences{grid-template-columns:1fr 1fr;gap:20px;display:grid}.sequences article{background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:26px}.sequence-tag{font:500 .8125rem/1.5 var(--mono);color:var(--teal);margin-bottom:10px}.sequences h3{letter-spacing:-.02em;margin-bottom:8px;font-size:1.5rem;font-weight:500}.sequence-question{font:italic 1.1rem/1.45 var(--serif);color:var(--muted);margin-bottom:18px}.sequences dl{gap:10px;margin:0 0 12px;display:grid}.sequences dl>div{border-top:1px solid var(--line);grid-template-columns:140px 1fr;gap:14px;padding-top:10px;display:grid}.sequences dt{font:500 .8125rem/1.6 var(--mono);color:var(--muted)}.sequences dd{margin:0;font-size:.95rem;line-height:1.55}.sequences code{background:var(--soft);border-radius:4px;padding:1px 5px;font-size:.875em}.more{border-top:1px solid var(--line);padding-block:88px}.subject-list{border-top:1px solid var(--line);grid-template-columns:1fr 1fr;margin:0;padding:0;list-style:none;display:grid}.subject-list li{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:16px 24px;padding:22px 0;display:flex}.subject-list li:nth-child(odd){padding-right:32px}.subject-list li:nth-child(2n){border-left:1px solid var(--line);padding-left:32px}.subject-list h3{margin-bottom:4px;font-size:1.2rem;font-weight:500}.subject-list p{color:var(--muted);margin:0;line-height:1.5}.subject-list .text-link{flex-shrink:0}.contact-section{background:var(--panel);color:var(--panel-ink);padding-block:88px}.contact-section h2 em,.contact-section .eyebrow{color:var(--panel-accent)}.contact-section .section-lead{color:var(--panel-muted);margin-top:20px}.contact-layout{grid-template-columns:1fr 1fr;align-items:center;gap:56px;display:grid}.contact-card{background:var(--surface);color:var(--ink);border:1px solid var(--line);border-radius:14px;padding:30px}.contact-card h3{margin-bottom:8px;font-size:1.3rem;font-weight:500}.contact-card>p{color:var(--muted);line-height:1.6}.contact-email{font:italic 1.6rem/1.3 var(--serif);color:var(--teal);overflow-wrap:anywhere;margin:4px 0 20px;display:inline-block}.contact-email:hover{text-decoration:underline}.contact-actions{flex-wrap:wrap;align-items:center;gap:10px 24px;display:flex}.contact-note{margin:18px 0 0;font-size:.875rem}.site-footer{padding-block:44px 28px}.footer-main{flex-wrap:wrap;align-items:center;gap:20px 30px;display:flex}.footer-main>p{color:var(--muted);margin:0;font-size:.9rem}.footer-main nav{flex-wrap:wrap;gap:4px 24px;margin-left:auto;font-size:.9rem;display:flex}.footer-main nav a{padding-block:10px}.footer-main nav a:hover{color:var(--teal)}.footer-bottom{border-top:1px solid var(--line);color:var(--muted);justify-content:space-between;align-items:start;gap:16px 24px;margin-top:28px;padding-top:20px;font-size:.8125rem;line-height:1.55;display:flex}.footer-bottom p{max-width:620px;margin:0}.footer-bottom>span,.footer-bottom>a{white-space:nowrap}@media (max-width:1180px){.main-nav{gap:20px}.theme-label{display:none}.offering-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:1020px){.main-nav,.header-cta{display:none}.theme-toggle{margin-left:auto}.menu-toggle{border:1px solid var(--line);background:0 0;border-radius:6px;align-items:center;gap:14px;min-height:44px;padding:8px 14px;font-size:.9rem;display:flex}.menu-toggle span{font-size:1.2rem}.mobile-menu{border-top:1px solid var(--line);padding:8px 24px 20px;display:grid}.mobile-menu a{border-bottom:1px solid var(--line);padding:12px 4px;font-size:1rem}.hero{grid-template-columns:1fr;gap:44px;padding-block:52px 64px}.try-layout,.contact-layout{grid-template-columns:1fr;gap:32px}}@media (max-width:760px){.wrap{width:calc(100% - 40px)}.header-inner{gap:12px;min-height:68px}.hero .eyebrow{align-items:start;font-size:.6875rem}.hero .eyebrow .rule{margin-top:.7em}.hero-description{font-size:1.08rem}.offerings,.try-section,.teaching,.more,.contact-section{padding-block:60px}.offering-grid,.sequences,.principles,.routes,.theme-list{grid-template-columns:1fr}.principles{gap:24px}.subject-list{grid-template-columns:1fr}.subject-list li:nth-child(n){border-left:0;padding-inline:0}.question-panel,.challenge-surface{padding:22px 20px}.offering-card,.sequences article,.contact-card{padding:22px}.qp-quote{min-height:0}dialog.modal{padding:20px 20px 26px}.notes>div,.sequences dl>div{grid-template-columns:1fr;gap:4px}.footer-main nav{width:100%;margin-left:0}.footer-bottom{flex-wrap:wrap}.footer-bottom p{order:3;width:100%}}@media (max-width:480px){.subject-list li{flex-direction:column;align-items:start;gap:6px}.v-stages{grid-template-columns:1fr 1fr}.v-flow{flex-direction:column}.v-flow i{transform:rotate(90deg)}.v-log tr.flagged td:last-child:after{content:""}.oc-actions .button,.feedback-actions .button,.detail-actions .button,.hero-actions .button,.contact-actions .button{width:100%}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition:none!important;animation:none!important}}
