:root{--orange:#FF6B35;--orange-dark:#E55A25;--orange-light:#FFF0EB;--blue:#0ABFBC;--blue-dark:#089A97;--blue-light:#E0F9F9;--green:#22C55E;--green-dark:#16A34A;--green-light:#DCFCE7;--red:#FF4757;--red-dark:#E63946;--red-light:#FFE5E7;--yellow:#FBBF24;--yellow-dark:#F59E0B;--yellow-light:#FEFCE8;--purple:#7C3AED;--purple-dark:#6D28D9;--purple-light:#F3E8FF;--teal:#14B8A6;--teal-dark:#0F9688;--teal-light:#CCFBF1;--navy:#1E3A8A;--navy-dark:#1E3070;--navy-light:#DBEAFE;--eel:#1A1A2E;--wolf:#64748B;--hare:#CBD5E1;--swan:#E2E8F0;--polar:#FFFEF7;--snow:#FFFFFF;--bg:var(--polar);--bg-card:var(--snow);--fg1:var(--eel);--fg2:var(--wolf);--fg-muted:var(--hare);--border:var(--swan);--cta:var(--orange);--cta-dark:var(--orange-dark);--radius-sm:8px;--radius-md:12px;--radius-lg:16px;--radius-xl:24px;--radius-pill:999px;--space-xs:4px;--space-sm:8px;--space-md:12px;--space-lg:16px;--space-xl:24px;--space-2xl:32px;--space-3xl:48px;--shadow-card:0 2px 8px rgba(0,0,0,0.08);--shadow-sm:0 1px 2px rgba(0,0,0,0.05);--shadow-md:0 4px 12px rgba(0,0,0,0.10);--shadow-lg:0 8px 24px rgba(0,0,0,0.12);--shadow-focus:0 0 0 3px rgba(10,191,188,0.4);--font-sans:"Nunito",-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;--font-brand:"Press Start 2P",monospace;--line-height-tight:1.1;--line-height-snug:1.3;--line-height-normal:1.5;--line-height-relaxed:1.7;--letter-spacing-tight:-0.01em;--letter-spacing-normal:0;--letter-spacing-wide:0.05em;--border-thin:1px;--border-default:2px;--border-thick:3px;--border-button:4px;--timing-fast:0.15s;--timing-default:0.2s;--timing-slow:0.3s;--timing-lazy:0.6s;--ease-default:cubic-bezier(0.4,0,0.2,1);--ease-bounce:cubic-bezier(0.34,1.56,0.64,1);--z-base:0;--z-raised:10;--z-sticky:100;--z-dropdown:200;--z-modal:1000;--z-toast:2000}.ws-brand{font-family:var(--font-brand);font-weight:400;font-size:1.5rem;line-height:1;letter-spacing:.02em;color:var(--orange);text-transform:none;display:inline-block;-webkit-font-smoothing:none;-moz-osx-font-smoothing:unset}.ws-brand--sm{font-size:1.25rem}.ws-brand--hero{font-size:2.5rem}.ws-brand--jumbo{font-size:3.5rem}.ws-brand--eel{color:var(--eel)}.ws-brand--teal{color:var(--blue)}.ws-btn{font-family:var(--font-sans);font-weight:800;font-size:1.1rem;border:none;border-radius:var(--radius-md);padding:var(--space-md) var(--space-2xl);cursor:pointer;transition:filter .15s;-webkit-user-select:none;-moz-user-select:none;user-select:none;color:var(--snow);background:var(--orange);border-bottom:4px solid var(--orange-dark);display:inline-block;text-decoration:none;line-height:1.2}.ws-btn:active{transform:translateY(3px);border-bottom-width:1px}.ws-btn--secondary{background:var(--blue);border-bottom-color:var(--blue-dark)}.ws-btn--ghost{background:transparent;color:var(--wolf);border-bottom:none;padding:var(--space-sm) var(--space-lg)}.ws-btn:disabled{background:var(--hare);border-bottom-color:#b0b8c4;cursor:not-allowed;transform:none}.ws-btn:hover:not(:disabled){filter:brightness(1.05)}.ws-btn--ghost:hover{background:var(--polar);color:var(--eel);filter:none}.ws-btn--outline{background:var(--snow);color:var(--eel);border:var(--border-default) solid var(--swan);border-bottom:var(--border-default) solid var(--swan);padding:9px 18px}.ws-btn--outline:hover{border-color:var(--blue);color:var(--blue-dark);filter:none}.ws-btn--outline:active{transform:translateY(1px)}.ws-btn--outline:disabled{opacity:.5;cursor:not-allowed;transform:none}.ws-btn--danger{background:var(--red);border-bottom-color:var(--red-dark)}.ws-btn--sm{font-size:.85rem;padding:var(--space-sm) var(--space-lg);border-bottom-width:3px}.ws-btn--sm:active{border-bottom-width:1px}.ws-btn--xs{font-size:.75rem;padding:6px 10px;border-bottom-width:2px}.ws-btn--option{padding:10px 18px}.ws-btn--compact-text,.ws-btn--option{font-size:.95rem}.ws-btn--full{width:100%;display:block}.ws-btn--start{align-self:flex-start}.ws-btn__icon{display:inline-flex;align-items:center}.ws-btn:focus-visible{outline:none;box-shadow:var(--shadow-focus)}.ws-card{background:var(--snow);border-radius:var(--radius-xl);box-shadow:var(--shadow-card);padding:var(--space-xl);border:2px solid transparent;transition:border-color .2s,transform .15s,opacity .2s}.ws-card--completed{border-color:var(--green);background:var(--green-light)}.ws-card--active{border-color:var(--blue)}.ws-card--locked{opacity:.5;background:var(--snow);border-color:transparent;cursor:not-allowed;filter:saturate(.6)}.ws-card--upgrade{border-color:var(--yellow);background:var(--yellow-light)}.ws-pixel{image-rendering:pixelated;image-rendering:-moz-crisp-edges;shape-rendering:crispEdges}body,html{font-family:var(--font-sans);font-weight:700;color:var(--eel);background:var(--polar);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.ws-h1,h1.ws{font-size:2rem;line-height:1.15;letter-spacing:-.01em}.ws-h1,.ws-h2,h1.ws,h2.ws{font-weight:900;color:var(--eel)}.ws-h2,h2.ws{font-size:1.5rem;line-height:1.2}.ws-h3,h3.ws{font-weight:800;font-size:1.1rem;line-height:1.3;color:var(--eel)}.ws-subtitle{font-weight:700}.ws-body,.ws-subtitle{font-size:1rem;color:var(--wolf)}.ws-body{font-weight:600;line-height:1.55}.ws-meta{font-weight:700;font-size:.8rem;color:var(--wolf)}.ws-tag{display:inline-block;background:var(--blue-light);color:var(--blue-dark);font-weight:700;font-size:.75rem;padding:4px 12px;border-radius:var(--radius-pill);text-transform:uppercase;letter-spacing:.5px}.ws-empty{text-align:center;padding:var(--space-2xl);background:var(--polar);border:2px dashed var(--swan);border-radius:var(--radius-lg)}.ws-empty__icon{font-size:1.6rem;color:var(--hare);margin-bottom:8px}.ws-empty__title{font-weight:900;color:var(--eel);margin-bottom:4px}.ws-empty__body{font-weight:700;color:var(--wolf);font-size:.88rem}.ws-input{width:100%;font-family:var(--font-sans);font-weight:700;font-size:1rem;color:var(--eel);background:var(--snow);border:2px solid var(--swan);border-radius:var(--radius-md);padding:12px 16px;outline:none;transition:border-color .15s,box-shadow .15s;box-sizing:border-box}.ws-input::placeholder{color:var(--wolf);font-weight:700}.ws-input:focus{border-color:var(--blue);box-shadow:var(--shadow-focus)}.ws-input:disabled{background:var(--swan);color:var(--wolf);cursor:not-allowed}.ws-field-reason{margin:0;margin-top:var(--space-xs);font-size:.8125rem;font-weight:700;color:var(--wolf);line-height:1.5}*,:after,:before{box-sizing:border-box}body,html{margin:0;padding:0}body{font-family:var(--font-sans);background:var(--polar);color:var(--eel);line-height:var(--line-height-normal);-webkit-font-smoothing:antialiased}:root{--content-width:1200px;--prose-width:760px}a:focus-visible,button:focus-visible{outline:none;box-shadow:var(--shadow-focus);border-radius:var(--radius-md)}@keyframes tokenPop{0%{transform:scale(0);opacity:0}50%{transform:scale(1.1)}to{transform:scale(1);opacity:1}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.4}}@keyframes fadeUp{0%{opacity:0;transform:translateY(24px)}to{opacity:1;transform:translateY(0)}}@keyframes mascotFloat{0%,to{transform:translateY(0)}50%{transform:translateY(-8px)}}@keyframes bump{0%{transform:scale(1)}50%{transform:scale(1.15)}to{transform:scale(1)}}.mascot-mood-bump{animation:bump .35s ease;display:inline-block}.scroll-reveal{opacity:0;transform:translateY(var(--space-xl));transition:opacity var(--timing-slow) var(--ease-default),transform var(--timing-slow) var(--ease-default)}.scroll-reveal.visible{opacity:1;transform:translateY(0)}@media (prefers-reduced-motion:reduce){.scroll-reveal{transform:none;opacity:1}}.site-nav-mobile,.site-nav-toggle{display:none}@media (max-width:768px){body:has([data-fs-mobile])>footer,body:has([data-fs-mobile])>header{display:none}}@media (max-width:800px){
  /* !important: Header.jsx sets inline `display: flex` on .site-nav, which
     beats a non-!important media-query rule. */.site-nav{display:none!important}.site-nav-toggle{display:inline-flex}.site-nav-mobile{display:flex;flex-direction:column}.big-idea-grid,.catalog-head,.course-nav,.curr-grid,.curr-head,.dash-grid,.demo-grid,.form-row,.hero-grid,.loop-grid,.module-row,.pilot-grid,.price-grid,.std-row,.trust-grid{grid-template-columns:1fr!important}.catalog-head .catalog-cta{text-align:left!important}}.standards-prose{font-family:Nunito,sans-serif;font-weight:600;font-size:var(--text-body);color:var(--navy);line-height:var(--line-height-relaxed)}.standards-prose h1{font-size:var(--text-h2);font-weight:900;margin:2.5em 0 .6em}.standards-prose h1,.standards-prose h2{line-height:var(--line-height-snug);color:var(--navy)}.standards-prose h2{font-size:clamp(20px,2.5vw,26px);font-weight:800;margin:2.2em 0 .5em;border-bottom:2px solid color-mix(in srgb,var(--navy) 10%,transparent);padding-bottom:.3em}.standards-prose h3{font-size:clamp(17px,2vw,20px);font-weight:800;margin:1.8em 0 .4em;color:var(--navy)}.standards-prose h4{font-size:var(--text-body);font-weight:800;margin:1.4em 0 .3em;color:var(--navy)}.standards-prose p{margin:0 0 1.1em}.standards-prose strong{font-weight:800;color:var(--navy)}.standards-prose em{font-style:italic;color:color-mix(in srgb,var(--navy) 75%,var(--wolf))}.standards-prose a{color:var(--teal);text-decoration:none;font-weight:700}.standards-prose a:hover{text-decoration:underline}.standards-prose ol,.standards-prose ul{margin:0 0 1.1em;padding-left:1.5em}.standards-prose li{margin-bottom:.4em}.standards-prose hr{border:none;border-top:1px solid color-mix(in srgb,var(--navy) 12%,transparent);margin:2.5em 0}.standards-prose blockquote{margin:1.2em 0;padding:1em 1.2em;border-left:4px solid var(--teal);background:color-mix(in srgb,var(--teal) 6%,white);border-radius:0 var(--radius-md) var(--radius-md) 0;font-style:italic;color:color-mix(in srgb,var(--navy) 80%,transparent)}.standards-prose table{width:100%;border-collapse:collapse;margin:1.5em 0;font-size:var(--text-small);overflow-x:auto;display:block}.standards-prose thead{background:color-mix(in srgb,var(--navy) 6%,white)}.standards-prose th{text-align:left;font-weight:800;padding:10px 12px;border-bottom:2px solid color-mix(in srgb,var(--navy) 14%,transparent);white-space:nowrap}.standards-prose td{padding:9px 12px;border-bottom:1px solid color-mix(in srgb,var(--navy) 8%,transparent);vertical-align:top}.standards-prose tr:last-child td{border-bottom:none}.standards-prose code{font-family:Courier New,Courier,monospace;font-size:.88em;background:color-mix(in srgb,var(--navy) 7%,white);padding:2px 5px;border-radius:3px}.standards-prose>h1:first-child{display:none}.standards-doc-card{display:block;background:var(--polar);border:1.5px solid color-mix(in srgb,var(--navy) 12%,transparent);border-radius:var(--radius-xl);padding:clamp(20px,3vw,32px);text-decoration:none;transition:border-color .15s,box-shadow .15s}.standards-doc-card:hover{border-color:var(--teal);box-shadow:var(--shadow-card)}@font-face{font-family:Nunito;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/abfec168c8990f67-s.woff2) format("woff2");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:Nunito;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/3131c862d4942660-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:Nunito;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/6a9c36ea9dc9b36b-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:Nunito;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/e1694c6cb47c173f-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,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:Nunito;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/ee40bb094c99a29a-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Nunito;font-style:normal;font-weight:700;font-display:swap;src:url(/_next/static/media/abfec168c8990f67-s.woff2) format("woff2");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:Nunito;font-style:normal;font-weight:700;font-display:swap;src:url(/_next/static/media/3131c862d4942660-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:Nunito;font-style:normal;font-weight:700;font-display:swap;src:url(/_next/static/media/6a9c36ea9dc9b36b-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:Nunito;font-style:normal;font-weight:700;font-display:swap;src:url(/_next/static/media/e1694c6cb47c173f-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,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:Nunito;font-style:normal;font-weight:700;font-display:swap;src:url(/_next/static/media/ee40bb094c99a29a-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Nunito;font-style:normal;font-weight:800;font-display:swap;src:url(/_next/static/media/abfec168c8990f67-s.woff2) format("woff2");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:Nunito;font-style:normal;font-weight:800;font-display:swap;src:url(/_next/static/media/3131c862d4942660-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:Nunito;font-style:normal;font-weight:800;font-display:swap;src:url(/_next/static/media/6a9c36ea9dc9b36b-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:Nunito;font-style:normal;font-weight:800;font-display:swap;src:url(/_next/static/media/e1694c6cb47c173f-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,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:Nunito;font-style:normal;font-weight:800;font-display:swap;src:url(/_next/static/media/ee40bb094c99a29a-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Nunito;font-style:normal;font-weight:900;font-display:swap;src:url(/_next/static/media/abfec168c8990f67-s.woff2) format("woff2");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:Nunito;font-style:normal;font-weight:900;font-display:swap;src:url(/_next/static/media/3131c862d4942660-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:Nunito;font-style:normal;font-weight:900;font-display:swap;src:url(/_next/static/media/6a9c36ea9dc9b36b-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:Nunito;font-style:normal;font-weight:900;font-display:swap;src:url(/_next/static/media/e1694c6cb47c173f-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,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:Nunito;font-style:normal;font-weight:900;font-display:swap;src:url(/_next/static/media/ee40bb094c99a29a-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Nunito Fallback;src:local("Arial");ascent-override:99.71%;descent-override:34.82%;line-gap-override:0.00%;size-adjust:101.39%}.__className_f1426c{font-family:Nunito,Nunito Fallback;font-style:normal}@font-face{font-family:Press Start\ 2P;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/dbbdd2d89d2ef0ef-s.woff2) format("woff2");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:Press Start\ 2P;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/a06229eb79a83cfc-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:Press Start\ 2P;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/c9e224327ce7933e-s.woff2) format("woff2");unicode-range:u+0370-0377,u+037a-037f,u+0384-038a,u+038c,u+038e-03a1,u+03a3-03ff}@font-face{font-family:Press Start\ 2P;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/d85064eaed4b8683-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,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:Press Start\ 2P;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/db234bd00cda6a96-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Press Start\ 2P Fallback;src:local("Arial");ascent-override:44.58%;descent-override:0.00%;line-gap-override:0.00%;size-adjust:224.32%}.__className_6d0c14{font-family:Press Start\ 2P,Press Start\ 2P Fallback;font-weight:400;font-style:normal}.__variable_6d0c14{--font-brand:"Press Start 2P","Press Start 2P Fallback"}