.fg{--fg-display:var(--font-geist),ui-sans-serif,system-ui,sans-serif;--fg-sans:var(--font-geist),ui-sans-serif,system-ui,sans-serif;--fg-mono:var(--font-geist-mono),ui-monospace,SFMono-Regular,Menlo,monospace;--fg-t-small:0.8125rem;--fg-t-label:0.6875rem;--fg-gap:clamp(1rem,0.5rem + 2vw,2.5rem);--fg-shadow-1:0 1px 2px rgb(16 24 40/0.05);--fg-shadow-2:var(--shadow-card);--fg-shadow-3:0 24px 60px -28px rgb(16 24 40/0.35);--fg-dur:160ms;--fg-dur-slow:520ms;--fg-ease:cubic-bezier(0.2,0.7,0.2,1);--fg-ink:hsl(var(--foreground));--fg-muted:hsl(var(--muted-foreground));--fg-line:hsl(var(--border));--fg-surface:hsl(var(--card));--fg-sunk:hsl(var(--muted)/0.55);--fg-accent:hsl(var(--primary));--fg-on-accent:hsl(var(--primary-foreground));--fg-accent-soft:hsl(var(--primary)/0.1);--fg-amber:hsl(var(--amber));--fg-warm:hsl(var(--warm));--fg-signal:hsl(var(--signal));--fg-signal-soft:hsl(var(--signal)/0.1);--fg-signal-line:hsl(var(--signal)/0.45);--fg-blue:hsl(var(--blue));--fg-violet:hsl(var(--violet));--fg-ok:hsl(var(--success));--fg-ok-soft:hsl(var(--success)/0.12);--fg-bad:hsl(var(--danger));--fg-bad-soft:hsl(var(--danger)/0.12);--fg-night:#0f1218;--fg-night-ink:#eef1f5;--fg-night-muted:#a5aebb;--fg-night-line:#272d38;--fg-night-accent:#9fb1ff;--fg-night-signal:#3ddcf0;font-family:var(--fg-sans);color:var(--fg-ink);background:hsl(var(--background));transition:background-color .25s,color .25s}.dark .fg{--fg-night:#0a0d12;--fg-night-line:#232934;--fg-sunk:hsl(var(--muted)/0.4);--fg-shadow-1:0 1px 0 rgb(255 255 255/0.03) inset;--fg-shadow-3:0 24px 60px -28px rgb(0 0 0/0.8)}.fg :where(h1,h2,h3){font-family:var(--fg-display);font-weight:600;letter-spacing:-.025em;text-wrap:balance;margin:0}.fg :where(p){margin:0;text-wrap:pretty}.fg :where(ul,ol){list-style:none;margin:0;padding:0}.fg-label{font-family:var(--fg-mono);font-size:var(--fg-t-label);font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--fg-muted)}.fg-btn{display:inline-flex;align-items:center;justify-content:center;gap:.45rem;min-height:2.5rem;padding:0 1.1rem;border-radius:var(--fg-r);font:600 .875rem/1 var(--fg-sans);border:1px solid transparent;cursor:pointer;text-decoration:none;transition:transform var(--fg-dur) var(--fg-ease),background-color var(--fg-dur),border-color var(--fg-dur),color var(--fg-dur)}.fg-btn:active{transform:translateY(1px) scale(.985)}.fg-btn[aria-disabled=true],.fg-btn[disabled]{opacity:.45;cursor:not-allowed;filter:saturate(.6);pointer-events:none}.fg-btn[data-loading]{pointer-events:none;opacity:.85}.fg-btn[data-loading]:before{content:"";width:.95em;height:.95em;border-radius:50%;border:2px solid;border-right:2px solid transparent;animation:fg-spin .7s linear infinite}@keyframes fg-spin{to{transform:rotate(1turn)}}.fg-btn-solid{background:var(--fg-accent);color:var(--fg-on-accent);box-shadow:0 1px 0 hsl(0 0% 100%/.2) inset,var(--fg-shadow-1)}.fg-btn-solid:hover{filter:brightness(1.08)}.fg-btn-solid:active{filter:brightness(.93)}.fg-btn-ghost{border-color:hsl(var(--foreground)/.2);color:var(--fg-ink);background:transparent}.fg-btn-ghost:hover:not([disabled]){border-color:var(--fg-signal-line);background:var(--fg-signal-soft);color:var(--fg-ink)}.fg-btn-ghost:active:not([disabled]){background:hsl(var(--signal)/.18)}.fg-link{display:inline-flex;align-items:center;min-height:1.5rem;gap:.35rem;font-size:.875rem;font-weight:600;color:var(--fg-accent);text-decoration:none;white-space:nowrap}.fg-link svg{transition:transform var(--fg-dur) var(--fg-ease)}.fg-link:hover{text-decoration:underline;text-underline-offset:4px}.fg :focus-visible{outline:2px solid var(--fg-signal);outline-offset:3px;border-radius:4px;box-shadow:0 0 0 5px var(--fg-signal-soft)}@media (prefers-reduced-motion:reduce){.fg *,.fg :after,.fg :before{animation:none!important;transition-duration:.01ms!important}}.fg-faq{border-top:1px solid color-mix(in srgb,var(--fg-ink) 55%,transparent)}.fg-faq details{border-bottom:1px solid var(--fg-line)}.fg-faq summary{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding-block:1.25rem;cursor:pointer;list-style:none;font-family:var(--fg-display);letter-spacing:-.015em;font-size:1.0625rem;line-height:1.35;transition:color var(--fg-dur)}.fg-faq summary::-webkit-details-marker{display:none}.fg-faq summary:hover{color:var(--fg-accent)}.fg-faq-icon{position:relative;flex:none;width:1.25rem;height:1.25rem}.fg-faq-icon:after,.fg-faq-icon:before{content:"";position:absolute;left:0;right:0;top:50%;height:2px;margin-top:-1px;background:currentColor;transition:transform .25s var(--fg-ease)}.fg-faq-icon:after{transform:rotate(90deg)}.fg-faq details[open] .fg-faq-icon:after{transform:rotate(0)}.fg-faq details p{padding:0 2.5rem 1.4rem 0;max-width:60ch;color:var(--fg-muted);animation:fg-fade .3s var(--fg-ease)}.fg-cm{display:grid;gap:var(--fg-gap)}@media (min-width:1024px){.fg-cm{grid-template-columns:minmax(0,1fr) 21rem;align-items:stretch}.fg-cm-all{grid-column:1/-1}}.fg-cm-stage{position:relative;height:clamp(24rem,42vw,33rem);border:1px solid var(--fg-line);border-radius:var(--fg-r-lg);overflow:hidden;background:var(--fg-surface);box-shadow:var(--fg-shadow-2);background-image:radial-gradient(var(--fg-line) 1px,transparent 1px);background-size:22px 22px}.fg-cm-canvas{position:absolute;inset:0;width:100%;height:100%;display:block}.fg-cm-label{position:absolute;left:0;top:0;z-index:1;opacity:0;will-change:transform,opacity;padding:.18rem .5rem;border:1px solid var(--fg-line);border-radius:999px;background:hsl(var(--background)/.82);color:var(--fg-ink);font:500 .75rem/1.2 var(--fg-sans);white-space:nowrap;cursor:pointer;transition:opacity .2s}.fg-cm-label:hover{border-color:var(--fg-accent)}.fg-cm-hint{position:absolute;left:.9rem;bottom:.8rem;z-index:2;display:flex;align-items:center;gap:.4rem;font:500 .6875rem/1 var(--fg-mono);color:var(--fg-muted);pointer-events:none}.fg-cm-fail{position:absolute;inset:0;display:grid;place-items:center;padding:2rem;text-align:center;color:var(--fg-muted)}.fg-cm-side{display:flex;flex-direction:column;gap:.45rem;padding:1.25rem;border:1px solid var(--fg-line);border-radius:var(--fg-r-lg);background:var(--fg-surface);box-shadow:var(--fg-shadow-2);animation:fg-fade .3s var(--fg-ease)}.fg-cm-side h3{font-size:1.375rem;line-height:1.2;margin-top:.15rem}.fg-cm-meta{font-family:var(--fg-mono);font-size:var(--fg-t-small);color:var(--fg-accent);font-weight:600}.fg-cm-blurb{color:var(--fg-muted)}.fg-cm-sub{margin-top:.75rem}.fg-cm-links-list{display:grid;margin-top:.1rem}.fg-cm-links-list button{width:100%;display:grid;gap:.3rem;padding:.5rem .1rem;border:0;border-bottom:1px solid var(--fg-line);background:transparent;color:var(--fg-ink);font:500 .875rem/1.2 var(--fg-sans);text-align:left;cursor:pointer;transition:color var(--fg-dur)}.fg-cm-links-list button:hover{color:var(--fg-accent)}.fg-cm-links-list i{display:block;height:3px;width:var(--w);border-radius:2px;background:var(--fg-accent);opacity:.55}.fg-cm-all button{display:inline-flex;align-items:center;gap:.4rem;padding:.3rem .65rem;border:1px solid var(--fg-line);border-radius:999px;background:transparent;color:var(--fg-ink);font:500 .8125rem/1.2 var(--fg-sans);cursor:pointer;transition:border-color var(--fg-dur),background-color var(--fg-dur),color var(--fg-dur)}.fg-cm-all button:hover{border-color:var(--fg-accent)}.fg-cm-all ul{display:flex;flex-wrap:wrap;gap:.4rem;margin-top:.6rem}.fg-cm-all button b{font-family:var(--fg-mono);font-weight:500;font-size:.6875rem;color:var(--fg-muted)}.fg-cm-all button[aria-pressed=true]{background:var(--fg-signal);border-color:var(--fg-signal);color:hsl(var(--background))}.fg-cm-all button[aria-pressed=true] b{color:inherit;opacity:.7}.fg-cm-links{display:flex;flex-wrap:wrap;align-items:center;gap:.75rem 1.25rem;margin-top:auto;padding-top:1rem}.fg-body{overflow-x:clip}.fg-wrap{width:100%;max-width:1440px;margin-inline:auto;padding-inline:1rem}@media (min-width:640px){.fg-wrap{padding-inline:1.5rem}}@media (min-width:1024px){.fg-wrap{padding-inline:2rem}}.fg-section{scroll-margin-top:4rem}.fg-head{justify-content:space-between;gap:1rem 2rem}.fg-cta,.fg-head{display:flex;flex-wrap:wrap}.fg-cta{align-items:center;gap:.9rem 1.5rem}.fg-start-grid{display:grid;gap:clamp(2rem,5vw,3rem)}@media (min-width:900px){.fg-start-grid{grid-template-columns:minmax(0,5fr) minmax(0,6fr);gap:clamp(3rem,8vw,7rem);align-items:start}}.fg-start .fg-cta{margin-top:1.75rem}.ca{display:grid;gap:2.25rem}@media (min-width:1100px){.ca{grid-template-columns:13rem minmax(0,1fr);gap:3.5rem;align-items:start}}.tc{display:grid}.tc-pips{display:flex;flex-wrap:wrap}.tc-pips li{display:inline-flex;align-items:center;gap:.55rem;font-size:.875rem;color:var(--fg-muted)}.tc-pips li>span:first-child{display:grid;place-items:center;width:1.6rem;height:1.6rem;border-radius:50%;border:1px solid hsl(var(--foreground)/.3);font:600 .6875rem var(--fg-mono)}.tc-pips em{font-style:normal}.tc-pips li[data-s=now]{color:var(--fg-ink);font-weight:600}.tc-pips li[data-s=now]>span:first-child{background:var(--fg-ink);color:hsl(var(--background));border-color:transparent}.tc-pips li[data-s=right]>span:first-child{background:var(--fg-ok-soft);border-color:var(--fg-ok);color:var(--fg-ok)}.tc-pips li[data-s=wrong]>span:first-child{background:var(--fg-bad-soft);border-color:var(--fg-bad);color:var(--fg-bad)}.tc-sheet{padding-top:2rem}.tc-q{display:grid}@media (min-width:1000px){.tc-q{grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:4.5rem;align-items:start}}.tc-kind{font:600 .6875rem var(--fg-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--fg-muted)}.tc-main h3,.tc-result h3{margin-top:.8rem;font-size:clamp(1.375rem,1.1rem + 1.1vw,1.875rem);line-height:1.2;letter-spacing:-.025em;max-width:34ch;outline:none}.tc-opts{display:grid;margin:1.75rem 0 0;padding:0;border:0;min-width:0}.tc-opts label{display:grid;gap:.6rem;border-bottom:1px solid var(--fg-line);cursor:pointer;line-height:1.45}.tc-opts kbd{display:grid;place-items:center;width:1.5rem;height:1.5rem;border:1px solid hsl(var(--foreground)/.3);border-radius:50%;font:600 .6875rem var(--fg-mono);color:var(--fg-muted)}.tc-opts label[data-picked]{opacity:.7}.tc-opts label[data-state=right]{box-shadow:inset 3px 0 0 var(--fg-ok);padding-left:.75rem}.tc-opts label[data-state=right] kbd{background:var(--fg-ok);border-color:var(--fg-ok);color:#fff}.tc-opts label[data-state=wrong]{box-shadow:inset 3px 0 0 var(--fg-bad);padding-left:.75rem}.tc-opts label[data-state=wrong] kbd{background:var(--fg-bad);border-color:var(--fg-bad);color:#fff}.tc-opts label[data-dim]{opacity:.5;cursor:default}.tc-err{margin-top:1rem;color:var(--fg-bad);font-size:.9375rem}.tc-why[data-r=right]{border-color:var(--fg-ok)}.tc-why[data-r=wrong]{border-color:var(--fg-bad)}.tc-why p+p{margin-top:.6rem;color:var(--fg-muted);font-size:.9375rem;line-height:1.55}.tc-why .fg-btn{margin-top:1.1rem}.tc-result h3 span{color:var(--fg-accent)}.tc-lede{margin-top:.8rem;max-width:52ch;color:var(--fg-muted);font-size:var(--fg-t-lead)}.tc-next{margin:1.75rem 0;border-top:1px solid var(--fg-line);max-width:46rem}.tc-next li{border-bottom:1px solid var(--fg-line)}.tc-next a{display:grid;grid-template-columns:1.75rem minmax(0,1fr) auto;align-items:center;gap:0 .9rem;padding:.9rem .5rem;color:inherit;text-decoration:none}.tc-next a span{display:grid;place-items:center;width:1.5rem;height:1.5rem;border-radius:50%;border:1px solid var(--fg-line)}.tc-next a span[data-s=right]{background:var(--fg-ok-soft);border-color:var(--fg-ok);color:var(--fg-ok)}.tc-next a span[data-s=wrong]{background:var(--fg-bad-soft);border-color:var(--fg-bad);color:var(--fg-bad)}.tc-next b{font-weight:600}.tc-next small{grid-column:2;font-size:.8125rem;color:var(--fg-muted)}.tc-next a svg{grid-column:3;grid-row:1/span 2;color:var(--fg-muted)}.tc-next a:hover b{text-decoration:underline;text-underline-offset:3px}.tc-more ul{margin-top:.9rem}.tc-more a{color:inherit;text-decoration:none}.tc-more b{font-weight:600}.tc-more small{display:block;font-size:.8125rem;color:var(--fg-muted)}@keyframes fg-fade{0%{opacity:0;transform:translateY(-4px)}}.fg-mapbox{margin-top:clamp(1.5rem,3vw,2.5rem);padding-top:clamp(1.25rem,2.5vw,2rem);border-top:1px solid var(--fg-line)}.fg-start-sub{margin-top:1rem;max-width:40ch;font-size:var(--fg-t-lead);color:var(--fg-muted);line-height:1.5}.fg-hero{background-color:hsl(var(--background));background-size:22px 22px}@media (min-width:1000px){.fg-hero-grid{grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:clamp(3rem,5vw,5rem)}}.fg-lead{margin-top:1.25rem;max-width:44ch;font-size:clamp(1.0625rem,1rem + .3vw,1.1875rem);line-height:1.6;color:var(--fg-muted)}.fg-btn-lg{min-height:3rem;padding:0 1.35rem;font-size:.9375rem}@media (max-width:559px){.fg-hero .fg-btn-lg{width:100%;padding-block:.6rem;text-align:center;text-wrap:balance;line-height:1.25}}@media (min-width:1000px){.cf{grid-template-columns:minmax(0,6fr) minmax(0,5fr);gap:clamp(2.5rem,5vw,4.5rem);align-items:start}}.cf-stages{border-top:1px solid hsl(var(--foreground)/.2)}.cf-stage{gap:.6rem 1.5rem;border-bottom:1px solid var(--fg-line)}@media (min-width:640px){.cf-stage{grid-template-columns:minmax(0,2fr) minmax(0,3fr)}}.cf-stage-head{grid-template-columns:2rem minmax(0,1fr);gap:.5rem}.cf-n{padding-top:.2rem}.cf-stage h3{line-height:1.3;letter-spacing:-.015em}.cf-courses{display:grid}.cf-courses button{display:grid;gap:.1rem;width:100%;border:1px solid transparent;background:none;text-align:left;color:inherit;font:inherit;cursor:pointer;transition:background var(--fg-dur),border-color var(--fg-dur)}.cf-courses b{font-size:.9375rem;font-weight:600;line-height:1.35}.cf-courses small{font:500 .75rem var(--fg-mono);color:var(--fg-muted)}.cf-inline{margin:.5rem 0 .75rem}.cf-side{display:none}@media (min-width:1000px){.cf-side{display:block;position:sticky;top:5.5rem}.cf-inline{display:none}}.cf-panel{padding:clamp(1.25rem,2.5vw,1.75rem);border:1px solid var(--fg-line);background:hsl(var(--card))}.cf-meta{color:var(--fg-muted)}.cf-title{font:600 clamp(1.375rem,1.1rem + .8vw,1.75rem)/1.15 var(--fg-display)}.cf-sum{line-height:1.55;color:var(--fg-muted)}.cf-k{margin-top:1.4rem}.cf-out{display:grid;gap:.45rem;margin-top:.6rem}.cf-out li{position:relative;font-size:.9375rem;line-height:1.45}.cf-out li:before{position:absolute;left:0;top:.62em;width:.5rem;height:2px;background:var(--fg-signal)}.cf-lessons{margin-top:.5rem;border-top:1px solid var(--fg-line)}.cf-lessons li{border-bottom:1px solid var(--fg-line)}.cf-lessons a{display:grid;grid-template-columns:1.5rem minmax(0,1fr) auto;align-items:baseline;gap:.6rem;padding:.6rem .5rem;color:inherit;text-decoration:none}.cf-lessons span{font:600 .6875rem var(--fg-mono);color:var(--fg-muted)}.cf-lessons b{font-size:.9375rem;font-weight:500;line-height:1.4}.cf-lessons small{font:500 .75rem var(--fg-mono);color:var(--fg-muted);white-space:nowrap}.cf-more{font-size:.8125rem}.cf-act{display:flex;flex-wrap:wrap;align-items:center;gap:.75rem 1.5rem;margin-top:1.5rem}@media (prefers-reduced-motion:reduce){.cf-courses button{transition:none}}.fg{--fg-t-hero:clamp(2.5rem,1.55rem + 3.1vw,3.75rem);--fg-t-h2:clamp(1.75rem,1.3rem + 1.5vw,2.5rem);--fg-t-h3:1.125rem;--fg-t-lead:clamp(1.0625rem,1rem + 0.25vw,1.125rem);--fg-t-body:1rem;--fg-section:clamp(4rem,2.75rem + 4vw,6rem);--fg-r:12px;--fg-r-lg:16px;--fg-card-shadow:0 1px 2px rgb(16 24 40/0.04),0 8px 24px -14px rgb(16 24 40/0.14);--fg-card-shadow-hover:0 1px 2px rgb(16 24 40/0.05),0 18px 36px -18px rgb(16 24 40/0.24);font-size:var(--fg-t-body);line-height:1.6}.dark .fg{--fg-card-shadow:0 1px 0 rgb(255 255 255/0.03) inset,0 12px 28px -16px rgb(0 0 0/0.7);--fg-card-shadow-hover:0 1px 0 rgb(255 255 255/0.04) inset,0 20px 40px -18px rgb(0 0 0/0.85)}.fg .fg-btn{min-height:2.75rem;padding:0 1.25rem;border-radius:999px;font-size:.875rem;font-weight:600;letter-spacing:-.005em}.fg .fg-btn-lg{min-height:2.875rem;padding:0 1.4rem;font-size:.9375rem}.fg .fg-btn-solid{box-shadow:0 10px 24px -12px hsl(var(--primary)/.7)}.fg .fg-btn-solid:hover{filter:none;background:hsl(var(--primary)/.9)}.fg .fg-btn-ghost{background:hsl(var(--card));border:1px solid hsl(var(--border));color:var(--fg-ink);box-shadow:0 1px 2px rgb(16 24 40/.05)}.fg .fg-btn-ghost:hover:not([disabled]){border-color:hsl(var(--foreground)/.25);background:hsl(var(--card))}.fg .fg-label{font:600 .75rem/1.4 var(--fg-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--fg-accent)}.fg-section{padding-block:var(--fg-section)}.fg-head{align-items:flex-end;margin-bottom:clamp(1.75rem,3vw,2.5rem)}.fg-head h2{font-size:var(--fg-t-h2);line-height:1.12;letter-spacing:-.03em}.fg-head p:not(.fg-head-links){margin-top:.6rem;max-width:58ch;font-size:var(--fg-t-lead);line-height:1.6;color:var(--fg-muted)}.fg-sunk{background:hsl(var(--muted)/.7);border-block:1px solid hsl(var(--border)/.8)}.fg-hero{position:relative;padding-block:clamp(3rem,2rem + 4vw,5.5rem) clamp(3.5rem,2.5rem + 4vw,6rem);border-bottom:1px solid hsl(var(--border)/.8);background:hsl(var(--background));background-image:none;isolation:isolate}.fg-hero:before{content:"";position:absolute;inset:0;z-index:-1;background-image:linear-gradient(hsl(var(--foreground)/.045) 1px,transparent 1px),linear-gradient(90deg,hsl(var(--foreground)/.045) 1px,transparent 1px);background-size:44px 44px;-webkit-mask-image:radial-gradient(ellipse 70% 60% at 70% 35%,#000 20%,transparent 75%);mask-image:radial-gradient(ellipse 70% 60% at 70% 35%,#000 20%,transparent 75%)}.fg-hero-grid{display:grid;gap:clamp(2.5rem,5vw,4rem);align-items:center}@media (min-width:1080px){.fg-hero-grid{grid-template-columns:minmax(0,11fr) minmax(0,12fr);gap:clamp(3rem,5vw,5rem)}}.fg-pill{display:inline-flex;align-items:center;gap:.5rem;padding:.35rem .8rem;border:1px solid hsl(var(--primary)/.22);border-radius:999px;background:hsl(var(--card));font-size:.8125rem;font-weight:500;color:var(--fg-ink);box-shadow:0 1px 2px rgb(16 24 40/.05)}.fg-pill-dot{width:.4rem;height:.4rem;border-radius:999px;background:hsl(var(--primary));box-shadow:0 0 0 3px hsl(var(--primary)/.15)}.fg-hero h1{margin-top:1.25rem;max-width:15ch;font-size:var(--fg-t-hero);line-height:1.04;letter-spacing:-.04em;font-weight:650}.fg-hero .fg-lead{margin-top:1.25rem;max-width:46ch;font-size:var(--fg-t-lead);line-height:1.65;color:var(--fg-muted)}.fg-hero .fg-cta{margin-top:2rem;gap:.75rem}@media (max-width:479px){.fg-hero .fg-cta .fg-btn{width:100%}}.cf-stage:last-child{border-bottom:0}.cf-n{font:600 .75rem var(--fg-mono);color:var(--fg-accent)}.cf-stage h3{font-size:1.0625rem;font-weight:600}.cf-courses button{border-radius:10px}.cf-panel{border-radius:var(--fg-r-lg);border-color:hsl(var(--border));box-shadow:var(--fg-card-shadow)}.cf-title{font-size:clamp(1.375rem,1.15rem + .6vw,1.625rem);font-weight:600;letter-spacing:-.025em}.fg-start{background:hsl(var(--background))}.fg-start-grid{align-items:start}@media (min-width:960px){.fg-start-grid{grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:clamp(3rem,6vw,5rem)}}.fg-start h2{font-size:var(--fg-t-h2);line-height:1.12;letter-spacing:-.03em;max-width:18ch}.fg-faq{overflow:hidden;padding:0 1.25rem;border:1px solid hsl(var(--border));border-radius:var(--fg-r-lg);background:hsl(var(--card));box-shadow:var(--fg-card-shadow)}.fg-faq details:last-child{border-bottom:0}.fg-faq summary{font-weight:600}.tc-sheet{border-top-color:hsl(var(--border));border:1px solid hsl(var(--border));background:hsl(var(--card));box-shadow:var(--fg-card-shadow)}.tc-main h3{font-weight:600;letter-spacing:-.025em}.tc-tools{padding-top:0;border-top:0}.tc-more a{border:1px solid hsl(var(--border));border-radius:12px;background:hsl(var(--card));box-shadow:0 1px 2px rgb(16 24 40/.04);transition:border-color var(--fg-dur),box-shadow var(--fg-dur),transform var(--fg-dur)}.fg-dark{--background:224 52% 5%;--foreground:220 33% 96%;--card:224 42% 9%;--muted:224 34% 12%;--muted-foreground:219 20% 72%;--border:223 30% 19%;--primary:221 100% 72%;--primary-foreground:225 60% 8%;--signal:190 90% 58%;--fg-ink:hsl(var(--foreground));--fg-muted:hsl(var(--muted-foreground));--fg-line:hsl(var(--border));--fg-surface:hsl(var(--card));--fg-accent:hsl(var(--primary));--fg-on-accent:hsl(var(--primary-foreground));--fg-accent-soft:hsl(var(--primary)/0.12);--fg-signal:hsl(var(--signal));--fg-card-shadow:0 1px 0 rgb(255 255 255/0.04) inset,0 24px 48px -28px rgb(0 0 0/0.9);color-scheme:dark;color:var(--fg-ink);background:radial-gradient(1100px 620px at 78% 18%,rgb(82 137 255/.16),transparent 62%),radial-gradient(700px 480px at 8% 92%,rgb(34 211 238/.07),transparent 60%),hsl(var(--background));border-color:transparent}.fg-dark .fg-btn-solid{background:#155eef;color:#fff;box-shadow:0 12px 30px -12px rgb(21 94 239/.85)}.fg-dark .fg-btn-solid:hover{background:#2d6ff2}.fg-dark .fg-btn-ghost{background:rgb(255 255 255/.04);border-color:rgb(255 255 255/.16);color:var(--fg-ink);box-shadow:none}.fg-dark .fg-btn-ghost:hover:not([disabled]){background:rgb(255 255 255/.08);border-color:rgb(255 255 255/.3)}.fg-dark .fg-head h2{color:#fff}.fg-hero.fg-dark{border-bottom:0}.fg-hero.fg-dark:before{opacity:.55}.fg-dark .fg-pill{background:rgb(255 255 255/.05);border-color:rgb(255 255 255/.14);color:var(--fg-ink);box-shadow:none}.fg-dark .fg-pill-dot{background:#22d3ee;box-shadow:0 0 0 3px rgb(34 211 238/.18)}.fg-hero.fg-dark h1{color:#fff;font-size:clamp(2.5rem,1.4rem + 3.6vw,4.25rem);line-height:1.02}.fg-hero-em{color:#a9c1ff}.fg-hero.fg-dark .fg-lead{color:var(--fg-muted);max-width:42ch}@media (min-width:1080px){.fg-hero.fg-dark .fg-hero-grid{grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:2rem}}.rs{min-width:0}.rs,.rs-stage{position:relative}.rs-stage{height:clamp(360px,44vw,600px)}.rs-stage canvas{position:absolute;inset:0;width:100%!important;height:100%!important}.rs-labels{position:absolute;inset:0;pointer-events:none}.rs-node{padding:.15rem .5rem;border:1px solid rgb(255 255 255/.12);border-radius:6px;background:rgb(6 10 20/.78);font:500 .6875rem/1.4 var(--fg-mono);color:#d6e2fb;white-space:nowrap}.rs-floor{font:600 .625rem/1 var(--fg-mono);letter-spacing:.16em;text-transform:uppercase;color:#6f84ad;white-space:nowrap}.rs-tabs{position:absolute;z-index:2;top:.25rem;right:0;display:inline-flex;gap:.25rem;padding:.25rem;border:1px solid rgb(255 255 255/.12);border-radius:999px;background:rgb(6 10 20/.7)}.rs-tabs button{min-height:2rem;padding:0 .85rem;border:0;border-radius:999px;background:transparent;color:var(--fg-muted);font-size:.8125rem;font-weight:600;cursor:pointer;transition:background var(--fg-dur),color var(--fg-dur)}.rs-tabs button:hover{color:#fff}.rs-tabs button[aria-pressed=true]{background:#fff;color:#0b1222}.rs-trace{position:relative;z-index:2;margin-top:.75rem;padding:.9rem 1rem;border:1px solid rgb(255 255 255/.1);border-radius:14px;background:rgb(6 10 20/.88);font:400 .75rem/1.55 var(--fg-mono);color:var(--fg-muted);min-height:13.5rem}@media (min-width:1080px){.rs-trace{position:absolute;left:0;bottom:1.25rem;width:min(25rem,62%);margin:0}}.rs-trace-head{display:flex;align-items:center;padding-bottom:.6rem;margin-bottom:.5rem;border-bottom:1px solid rgb(255 255 255/.08);color:#fff;font-weight:600}.rs-dot{width:.45rem;height:.45rem;border-radius:999px;background:#22d3ee;box-shadow:0 0 0 3px rgb(34 211 238/.2)}.rs-trace ol{display:grid;gap:.3rem}.rs-trace li{display:grid;grid-template-columns:1.6rem 6.5rem minmax(0,1fr);gap:.4rem;animation:rs-in .35s var(--fg-ease) both}.rs-hop{color:#4f6290}.rs-to,.rs-to a{color:#a9c1ff;font-weight:600;text-decoration:none}.rs-to a:hover{text-decoration:underline}.rs-text{color:#b9c5de}.rs-trace li[data-failed] .rs-text,.rs-trace li[data-failed] .rs-to{color:#ff8a8a}.rs-cursor{display:inline-block;width:.5rem;height:.95rem;background:#22d3ee;animation:rs-blink 1s steps(2) infinite}@keyframes rs-in{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:none}}@keyframes rs-blink{50%{opacity:.25}}@media (max-width:520px){.rs-trace li{grid-template-columns:1.4rem minmax(0,1fr)}.rs-text{grid-column:2}.rs-tabs{position:static;margin-bottom:.5rem}.rs{margin-top:1.25rem}}@media (prefers-reduced-motion:reduce){.rs-cursor,.rs-trace li{animation:none}}.cs{display:grid;gap:1.25rem}@media (min-width:1000px){.cs{grid-template-columns:15rem minmax(0,1fr);gap:2rem;align-items:start}}.cs-list{display:flex;gap:.4rem;overflow-x:auto;scrollbar-width:none}@media (min-width:1000px){.cs-list{flex-direction:column;overflow:visible}}.cs-list button{gap:.7rem;min-height:3rem;border:1px solid transparent;border-radius:12px;background:transparent;color:var(--fg-muted);font-size:.9375rem;font-weight:600;text-align:left;cursor:pointer}.cs-panel{display:grid;gap:clamp(1.25rem,3vw,2.5rem);padding:clamp(1.25rem,3vw,2rem);border:1px solid rgb(255 255 255/.1);border-radius:22px;background:linear-gradient(180deg,rgb(255 255 255/.04),rgb(255 255 255/.015));animation:cs-in .45s var(--fg-ease) both}@media (min-width:720px){.cs-panel{grid-template-columns:minmax(0,17rem) minmax(0,1fr);align-items:center}}@keyframes cs-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}.cs-body h3{color:#fff}.cs-topics{display:flex;flex-wrap:wrap;gap:.4rem;margin:1.25rem 0 1.5rem}.cs-topics a{display:inline-flex;align-items:center;min-height:1.75rem;padding:0 .7rem;border:1px solid rgb(255 255 255/.14);border-radius:999px;font-size:.8125rem;color:#cdd8f0;text-decoration:none}.cs-topics a:hover{border-color:#6e9bff;color:#fff}@media (prefers-reduced-motion:reduce){.cs-panel{animation:none}}.fg-start.fg-dark h2{color:#fff}.fg-start.fg-dark .fg-start-sub{color:var(--fg-muted)}.fg-dark .fg-faq{background:rgb(255 255 255/.03);border-color:rgb(255 255 255/.1);box-shadow:none}.fg-dark .fg-faq details{border-color:rgb(255 255 255/.08)}.fg-dark .fg-faq summary{color:#fff}.fg-dark .fg-faq details p{color:var(--fg-muted)}@media (max-width:639px){.rs-node{font-size:.5625rem;padding:.05rem .35rem}.rs-floor{display:none}.rs-stage{height:340px}}@media (min-width:1080px){.fg-hero.fg-dark .fg-hero-grid{grid-template-columns:minmax(0,5fr) minmax(0,7fr);grid-template-areas:"copy scene" "trace scene";grid-template-rows:auto 1fr;gap:2.25rem 2.5rem;align-items:start}.fg-hero.fg-dark .fg-hero-copy{grid-area:copy}.fg-hero.fg-dark .rs{display:contents}.fg-hero.fg-dark .rs-stage{grid-area:scene;height:clamp(560px,46vw,660px)}.fg-hero.fg-dark .rs-tabs{grid-area:scene;justify-self:end;align-self:start;position:relative;top:0}.fg-hero.fg-dark .rs-trace{grid-area:trace;position:static;width:auto;max-width:30rem;margin:0}}.rs-poster{-o-object-fit:contain;object-fit:contain}.rs-run{position:absolute;z-index:2;left:50%;bottom:1rem;transform:translateX(-50%);display:inline-flex;align-items:center;gap:.45rem;min-height:2.5rem;padding:0 1rem;border:1px solid rgb(255 255 255/.18);border-radius:999px;background:rgb(6 10 20/.82);color:#fff;font-size:.875rem;font-weight:600;cursor:pointer}.rs-run:hover{border-color:#6e9bff}.rs-path{position:absolute;inset:0;z-index:1;width:100%;height:100%;pointer-events:none}.rs-arc{fill:none;stroke:#8fc2ff;stroke-width:5}.rs-arc[data-failed]{stroke:#ff6b6b}.rs-hit{transform-box:fill-box;transform-origin:center;opacity:.6;animation:rs-hit .55s var(--fg-ease) both}@keyframes rs-hit{0%{opacity:1;transform:scale(.35)}50%{opacity:1;transform:scale(1.2)}}@media (prefers-reduced-motion:reduce){.rs-hit{animation:none}}@media (max-width:767px){.rs-run{display:none}}.rs-stage:has(.rs-poster){overflow:hidden;border:1px solid rgb(255 255 255/.08);border-radius:18px;background:#070c18}@media (min-width:1080px){.fg-hero.fg-dark .fg-hero-grid{grid-template-columns:minmax(0,13fr) minmax(0,7fr);gap:2.25rem clamp(2rem,3.2vw,3.5rem)}.fg-hero.fg-dark h1{max-width:20ch;font-size:clamp(3rem,1rem + 3.4vw,4.25rem)}.fg-hero.fg-dark .fg-lead{max-width:56ch}.fg-hero.fg-dark .rs-stage{align-self:stretch;height:auto;min-height:34rem}.fg-hero.fg-dark .rs-tabs{justify-self:center}.fg-hero.fg-dark .rs-trace{max-width:46rem;min-height:12.5rem}.fg-hero.fg-dark .rs-trace li{grid-template-columns:1.75rem 8rem minmax(0,1fr)}}.cf-courses{gap:.3rem}.cf-courses button small{grid-column:1;display:flex;flex-wrap:wrap;align-items:center;gap:.1rem .45rem;font:500 .8125rem/1.45 var(--fg-sans);font-variant-numeric:tabular-nums;color:var(--fg-muted)}.cf-chev{grid-column:2;color:var(--fg-muted);opacity:0;transition:opacity var(--fg-dur),transform var(--fg-dur)}.cf-courses button:focus-visible .cf-chev,.cf-courses button:hover .cf-chev{opacity:1}.cf-courses li[data-on]>button .cf-chev{opacity:1;color:var(--fg-accent)}@media (max-width:999px){.cf-chev{opacity:1;transform:rotate(90deg)}.cf-courses li[data-on]>button .cf-chev{transform:rotate(-90deg)}}.cf-courses button:focus-visible,.cf-lessons a:focus-visible{outline:2px solid var(--fg-accent);outline-offset:2px}.cf-bars{display:inline-flex;align-items:flex-end;gap:2px;height:.75rem;margin-right:.1rem}.cf-bars i{width:3px;border-radius:1px;background:hsl(var(--foreground)/.18)}.cf-bars i:first-child{height:45%}.cf-bars i:nth-child(2){height:72%}.cf-bars i:nth-child(3){height:100%}.cf-bars[data-n="1"] i:first-child,.cf-bars[data-n="2"] i:nth-child(-n+2),.cf-bars[data-n="3"] i{background:var(--fg-accent)}.cf-title{margin-top:0}.cf-meta{display:flex;flex-wrap:wrap;gap:.75rem 2.25rem;margin:1rem 0 0;padding:.9rem 0;border-block:1px solid var(--fg-line);font:inherit;letter-spacing:0;text-transform:none}.cf-meta dt{font-size:.75rem;font-weight:500;color:var(--fg-muted)}.cf-meta dd{display:flex;align-items:center;gap:.4rem;margin:.15rem 0 0;font-size:.9375rem;font-weight:600;color:var(--fg-ink);font-variant-numeric:tabular-nums}.cf-sum{margin-top:1rem}.cf-k{font:600 .8125rem/1.3 var(--fg-sans);letter-spacing:-.005em;text-transform:none;color:var(--fg-ink)}.cf-out li{display:grid;grid-template-columns:1rem minmax(0,1fr);gap:.6rem;padding-left:0;color:var(--fg-muted)}.cf-out li:before{content:none}.cf-out svg{margin-top:.15rem;color:var(--fg-ok)}.ti{display:grid;gap:0 clamp(1.5rem,3vw,3rem);align-items:start}@media (min-width:860px){.ti{grid-template-columns:repeat(2,minmax(0,1fr))}}.ti-col{min-width:0;border-top:1px solid var(--fg-line)}@media (max-width:859px){.ti-col+.ti-col{border-top:0}}.ti-item{border-bottom:1px solid var(--fg-line);transition:background var(--fg-dur)}.ti-item summary{display:grid;grid-template-columns:minmax(0,1fr) auto 2rem;align-items:center;gap:.75rem;min-height:3.75rem;padding:.6rem .75rem;cursor:pointer;list-style:none;transition:color var(--fg-dur)}.ti-item summary::-webkit-details-marker{display:none}.ti-item summary b{font-size:1.0625rem;font-weight:600;letter-spacing:-.015em;line-height:1.3}.ti-item summary small{font-size:.8125rem;color:var(--fg-muted);font-variant-numeric:tabular-nums;white-space:nowrap}.ti-icon{display:grid;place-items:center;width:2rem;height:2rem;border:1px solid var(--fg-line);border-radius:50%;background:hsl(var(--card));color:var(--fg-muted);transition:transform .22s var(--fg-ease),color var(--fg-dur),border-color var(--fg-dur),background var(--fg-dur)}.ti-item summary:focus-visible{outline:2px solid var(--tone);outline-offset:-2px}.ti-item[open]{background:linear-gradient(135deg,color-mix(in srgb,var(--tone) 8%,hsl(var(--card))),hsl(var(--card)) 55%);box-shadow:0 0 0 1px color-mix(in srgb,var(--tone) 35%,transparent),0 22px 40px -28px color-mix(in srgb,var(--tone) 70%,#000);border-radius:12px;border-bottom-color:transparent}.ti-item[open] .ti-icon{transform:rotate(180deg)}.ti-body{padding:0 .75rem 1.25rem;animation:fg-fade .25s var(--fg-ease)}.ti-blurb{color:var(--fg-muted);font-size:.9375rem;line-height:1.55}.ti-lessons{counter-reset:ti;margin-top:.9rem;border-top:1px solid var(--fg-line)}.ti-lessons li{counter-increment:ti;border-bottom:1px solid var(--fg-line)}.ti-lessons a{display:grid;grid-template-columns:1.5rem minmax(0,1fr);padding:.65rem .5rem;color:inherit;text-decoration:none}.ti-lessons a:after{content:counter(ti);grid-column:1;grid-row:1/span 2;padding-top:.2rem;font:600 .75rem var(--fg-mono)}.ti-lessons b{font-size:.9375rem;font-weight:500;line-height:1.4}.ti-lessons small{margin-top:.1rem;font-size:.8125rem;color:var(--fg-muted)}.ti-lessons a:focus-visible,.ti-next a:focus-visible{outline:2px solid var(--tone);outline-offset:2px;border-radius:4px}.ti-next{display:flex;flex-wrap:wrap;align-items:center;gap:.75rem 1.25rem;margin-top:1.1rem}.ti-next .fg-link{white-space:normal}@media (prefers-reduced-motion:reduce){.ti-icon{transition:none}.ti-body{animation:none}}.fg-practice{background:hsl(var(--primary)/.05);border-block:1px solid hsl(var(--primary)/.1)}.tc{gap:0}.tc-pips{gap:.5rem 1.5rem;padding:.85rem clamp(1.25rem,3vw,2.25rem);border:1px solid hsl(var(--border));border-bottom:0;border-radius:var(--fg-r-lg) var(--fg-r-lg) 0 0;background:hsl(var(--card))}.tc-sheet{margin-top:0;padding:0;border-top:1px solid hsl(var(--border));border-radius:0 0 var(--fg-r-lg) var(--fg-r-lg);overflow:hidden}.tc-q{gap:0}@media (min-width:900px){.tc-q{grid-template-columns:minmax(0,3fr) minmax(0,2fr)}}.tc-main{padding:clamp(1.25rem,3vw,2.25rem)}.tc-opts{gap:.6rem;margin-top:1.5rem;border-top:0}.tc-opts label{grid-template-columns:1.75rem minmax(0,1fr);align-items:center;padding:.8rem 1rem;border:1px solid hsl(var(--border));border-radius:12px;background:hsl(var(--card));transition:border-color var(--fg-dur),background var(--fg-dur),opacity var(--fg-dur)}.tc-opts label:hover{border-color:hsl(var(--primary)/.55)}fieldset[disabled] .wash:before{display:none}.tc-opts label[data-state=right],.tc-opts label[data-state=wrong]{padding-left:1rem;box-shadow:none}.tc-opts label[data-state=right]{border-color:var(--fg-ok);background:var(--fg-ok-soft)}.tc-opts label[data-state=wrong]{border-color:var(--fg-bad);background:var(--fg-bad-soft)}.tc-opts label:has(:focus-visible){outline:2px solid var(--fg-accent);outline-offset:2px}fieldset[disabled] label:hover{border-color:hsl(var(--border));background:hsl(var(--card))}fieldset[disabled] label[data-state=right]:hover{border-color:var(--fg-ok);background:var(--fg-ok-soft)}fieldset[disabled] label[data-state=wrong]:hover{border-color:var(--fg-bad);background:var(--fg-bad-soft)}.tc-aside{display:flex;flex-direction:column;gap:1.5rem;justify-content:space-between;padding:clamp(1.25rem,3vw,2.25rem);border-top:1px solid hsl(var(--border));background:hsl(var(--muted)/.45)}@media (min-width:900px){.tc-aside{border-top:0;border-left:1px solid hsl(var(--border))}}.tc-note{display:flex;gap:.65rem;max-width:none;padding-left:0;border-left:0;font-size:1rem;line-height:1.5;color:var(--fg-ink)}.tc-note svg{flex:none;margin-top:.1rem;color:var(--fg-accent)}.tc-why{max-width:none;padding-left:0;border-left:0}.tc-verdict{display:flex;align-items:center;gap:.5rem;font-size:1.125rem}.tc-verdict b{font-weight:650;letter-spacing:-.015em}.tc-why[data-r=right] .tc-verdict{color:var(--fg-ok)}.tc-why[data-r=wrong] .tc-verdict{color:var(--fg-bad)}.tc-why .tc-answer{color:var(--fg-ink)}.tc-full{align-self:flex-start;font-size:.875rem;font-weight:600;line-height:1.5;color:var(--fg-accent);text-decoration:none}.tc-full svg{display:inline-block;margin-left:.25rem;vertical-align:-.2em}.tc-full:hover{text-decoration:underline;text-underline-offset:3px}.tc-full:focus-visible,.tc-more a:focus-visible{outline:2px solid var(--fg-accent);outline-offset:2px;border-radius:4px}.tc-result{padding:clamp(1.25rem,3vw,2.25rem)}.tc-tools{margin-top:clamp(2rem,4vw,3rem)}.tc-tools-h{margin-bottom:.9rem;font-size:1.25rem;font-weight:600;letter-spacing:-.02em}.tc-more a{display:grid;grid-template-columns:2.5rem minmax(0,1fr);-moz-column-gap:.85rem;column-gap:.85rem;align-items:center}.tc-ico{grid-row:1/span 2;display:grid;place-items:center;width:2.5rem;height:2.5rem;border-radius:10px}.tc-more b{align-self:end}.tc-more small{align-self:start}.fg-faq-h{padding:1.1rem 0 .35rem;font-size:.8125rem;font-weight:600;letter-spacing:0;color:var(--fg-muted)}.fg-dark .fg-faq summary{--wash:#a9c1ff;min-height:3.5rem;margin-inline:-1.25rem;padding:.95rem 1.25rem;font-size:1rem}.fg-dark .fg-faq summary:hover{color:#a9c1ff}.fg-dark .fg-faq summary:focus-visible{outline:2px solid #a9c1ff;outline-offset:-2px;border-radius:6px}.fg-dark .fg-faq-icon{width:.95rem;height:.95rem;color:#a9c1ff}.fg-dark .fg-faq-icon:after,.fg-dark .fg-faq-icon:before{height:1.5px}.fg-dark .fg-faq details:last-of-type{border-bottom:0}.tc-q{align-items:stretch}.rs-poster-tall{display:none}@media (max-width:639px),(min-width:1080px){.rs-poster-wide{display:none}.rs-poster-tall{display:block}}@media (min-width:1080px){.rs-stage[data-pending]{overflow:visible;border:0;background:none}.rs-stage[data-pending] .rs-poster{display:none}}@media (max-width:639px){.rs-stage{height:auto;aspect-ratio:4/5}}.ti-item[open]{margin-bottom:.5rem}@media (max-width:1079px){.fg-hero.fg-dark .fg-hero-grid{grid-template-columns:minmax(0,1fr);gap:2rem}.fg-hero.fg-dark .fg-hero-copy{padding-top:0}.fg-hero.fg-dark h1{max-width:20ch}.fg-hero.fg-dark .fg-lead{max-width:60ch}}.fg-hero.fg-dark .rs-trace,.rs-trace{min-height:0}.rs-trace-body{display:grid}.rs-trace-body>*{grid-area:1/1;min-width:0}.rs-sizer{display:grid;gap:.3rem;visibility:hidden}.rs-sizer,.rs-trace ol{align-content:start}.rs-line{display:grid;grid-template-columns:1.6rem 6.5rem minmax(0,1fr);gap:.4rem}@media (min-width:1080px){.fg-hero.fg-dark .rs-line{grid-template-columns:1.75rem 8rem minmax(0,1fr)}}@media (max-width:520px){.rs-line{grid-template-columns:1.4rem minmax(0,1fr)}.rs-line .rs-text{grid-column:2}}.fg-hero.fg-dark{padding-block:clamp(3rem,2rem + 4vw,5.5rem) clamp(2.5rem,2rem + 2vw,3.5rem)}.fg-hero.fg-dark h1{max-width:none;text-wrap:balance}.fg-hero-em{display:block}.rs-again:focus-visible,.rs-run:focus-visible,.rs-tabs button:focus-visible{outline:2px solid #a9c1ff;outline-offset:2px}@media (min-width:1080px){.fg-hero.fg-dark .fg-hero-grid{grid-template-columns:minmax(0,57fr) minmax(0,43fr);gap:2.25rem clamp(2rem,3.2vw,3.5rem)}.fg-hero.fg-dark h1{font-size:clamp(3rem,1rem + 3.2vw,4.25rem);line-height:1.04}.fg-hero.fg-dark .fg-lead{max-width:54ch}.fg-hero.fg-dark .rs-stage{min-height:38rem}.fg-hero.fg-dark .rs-trace{max-width:none}}.cf,.cs,.fg-mapbox.fg-dark,.pe{grid-template-columns:minmax(0,1fr)}.cf-rail,.cs-list,.fg-cm-all,.fg-cm-side,.fg-cm-stage,.pe-tabs{min-width:0}@media (max-width:1023px){.fg-cm{grid-template-columns:minmax(0,1fr)}}.fg-numbers{padding-block:clamp(3rem,2rem + 3vw,4.5rem) 0}.nb{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(.5rem,1.5vw,1rem);margin:0;padding:0;list-style:none}@media (min-width:1000px){.nb{grid-template-columns:repeat(4,minmax(0,1fr))}}.nb a{position:relative;display:block;height:100%;padding:clamp(.9rem,1.6vw,1.25rem);border:1px solid hsl(var(--border));border-radius:var(--fg-r-lg);background:hsl(var(--card));color:inherit;text-decoration:none;transition:border-color var(--fg-dur),transform var(--fg-dur) var(--fg-ease),box-shadow var(--fg-dur)}.nb a:focus-visible{outline:2px solid var(--tone);outline-offset:2px}.nb-ico{display:grid;place-items:center;width:2.25rem;height:2.25rem;border-radius:10px;background:color-mix(in srgb,var(--tone) 12%,transparent);color:var(--tone)}.nb-go{position:absolute;top:1rem;right:1rem;color:hsl(var(--muted-foreground));opacity:0;transition:opacity var(--fg-dur),transform var(--fg-dur)}.nb a:focus-visible .nb-go,.nb a:hover .nb-go{opacity:1;transform:translate(1px,-1px)}.nb b{display:block;margin-top:.7rem;font-size:clamp(1.75rem,1.3rem + 1.6vw,2.5rem);font-weight:650;line-height:1.05;letter-spacing:-.035em;font-variant-numeric:tabular-nums}.nb-label{font-size:.9375rem;font-weight:600}.nb small,.nb-label{display:block;margin-top:.2rem}.nb small{font-size:.8125rem;line-height:1.45;color:hsl(var(--muted-foreground))}@media (prefers-reduced-motion:reduce){.nb-go{transition:none}}.iso{display:block;width:100%;height:100%}.pe{display:grid}.pe-tabs{display:flex;gap:.75rem;padding:1.25rem 1rem 1.5rem;margin-inline:-1rem;scroll-padding-inline:1rem;overflow-x:auto;scroll-snap-type:x proximity;scrollbar-width:thin}@media (min-width:1180px){.pe-tabs{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:1rem;padding-inline:0;margin-inline:0;overflow:visible}}.pe-tabs button{position:relative;flex:none;width:8.5rem;padding:0;border:0;background:none;color:inherit;text-align:left;font:inherit;cursor:pointer;scroll-snap-align:start}@media (min-width:1180px){.pe-tabs button{width:auto}}.pe-cover{position:relative;display:block;aspect-ratio:2/3;overflow:hidden;border-radius:12px;background:#0b1222;box-shadow:0 1px 2px rgb(16 24 40/.08),0 16px 28px -20px rgb(16 24 40/.5);outline:3px solid transparent;outline-offset:3px;transform-origin:50% 100%;transition:transform .35s var(--fg-ease),box-shadow .35s var(--fg-ease),outline-color .2s,filter .25s}.pe-cover img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover}.pe-tabs button:focus-visible{outline:none}.pe-tabs button:focus-visible .pe-cover{outline-color:hsl(var(--primary));outline-style:dashed}.pe-tabs small{display:block;margin-top:.6rem;font-size:.8125rem;font-weight:600;line-height:1.3;color:hsl(var(--foreground))}.pe-tabs em{display:block;font-style:normal;font-size:.75rem;color:hsl(var(--muted-foreground))}.pe-panel{display:grid;gap:clamp(1.25rem,3vw,2.5rem);padding:clamp(1.25rem,2.5vw,2rem);border:1px solid hsl(var(--border));border-top:3px solid var(--tone);border-radius:var(--fg-r-lg);background:hsl(var(--card));box-shadow:var(--fg-card-shadow);animation:cs-in .3s var(--fg-ease) both}@media (min-width:900px){.pe-panel{grid-template-columns:minmax(0,4fr) minmax(0,7fr)}}.pe-chip{display:inline-block;padding:.15rem .6rem;border-radius:999px;background:color-mix(in srgb,var(--tone) 12%,transparent);color:var(--tone);font-size:.8125rem;font-weight:600}.pe-intro h3{margin-top:.6rem;font-size:clamp(1.5rem,1.2rem + 1vw,2rem);font-weight:600;letter-spacing:-.03em;line-height:1.15}.pe-sum{margin:.6rem 0 1.25rem;color:hsl(var(--muted-foreground));line-height:1.55}.pe-route{position:relative;margin:0;padding:0;list-style:none}.pe-route:before{content:"";position:absolute;left:.9375rem;top:1.25rem;bottom:1.25rem;width:2px;background:color-mix(in srgb,var(--tone) 28%,hsl(var(--border)))}.pe-route>li>button{grid-template-columns:1.875rem minmax(0,1fr) 1rem;align-items:center;gap:.75rem;width:100%;min-height:2.75rem;padding:.35rem 0;border:0;background:none;color:inherit;font:inherit;text-align:left;cursor:pointer}.pe-n,.pe-route>li>button{position:relative;display:grid}.pe-n{place-items:center;width:1.875rem;height:1.875rem;border:2px solid color-mix(in srgb,var(--tone) 45%,hsl(var(--border)));border-radius:50%;background:hsl(var(--card));color:hsl(var(--foreground));font:600 .75rem var(--fg-mono);transition:background var(--fg-dur),color var(--fg-dur),border-color var(--fg-dur)}.pe-route>li>button b{font-size:.9375rem;font-weight:600;letter-spacing:-.01em;line-height:1.3}.pe-route>li>button svg{color:hsl(var(--muted-foreground));transition:transform .2s var(--fg-ease)}.pe-route>li>button{padding-right:.5rem;border-radius:8px}.pe-route>li>button:hover b{color:var(--tone-ink)}.pe-route>li>button:hover .pe-n{background:var(--tone);border-color:var(--tone);color:var(--tone-on)}.pe-route>li>button:focus-visible{outline:2px solid var(--tone);outline-offset:2px;border-radius:6px}.pe-route>li[data-open] .pe-n{background:var(--tone);border-color:var(--tone);color:hsl(var(--card))}.pe-route>li[data-open]>button svg{transform:rotate(180deg)}.pe-step{position:relative;padding:.1rem 0 .75rem 2.625rem;animation:fg-fade .25s var(--fg-ease)}.pe-step[hidden]{display:none}.pe-step p{font-size:.9375rem;line-height:1.5;color:hsl(var(--muted-foreground))}.pe-step ul{display:grid;gap:.1rem;margin:.4rem 0 0;padding:0;list-style:none}.pe-step a{display:grid;grid-template-columns:1rem minmax(0,1fr) auto;align-items:center;gap:.55rem;min-height:2.25rem;padding:.2rem .5rem;margin-inline:-.5rem;border-radius:8px;color:inherit;text-decoration:none;font-size:.9375rem;line-height:1.3}.pe-step a svg{color:var(--tone)}.pe-step a small{font-size:.75rem;color:hsl(var(--muted-foreground));white-space:nowrap}.pe-step a:focus-visible{outline:2px solid var(--tone);outline-offset:1px}@media (max-width:480px){.pe-step a{grid-template-columns:1rem minmax(0,1fr)}.pe-step a small{grid-column:2}}@media (prefers-reduced-motion:reduce){.pe-panel,.pe-step{animation:none}.pe-route>li>button svg{transition:none}}.cf{display:grid;gap:1rem}@media (min-width:1100px){.cf{grid-template-columns:13.5rem minmax(0,1fr) minmax(0,1.1fr);gap:1.25rem;align-items:start}}.cf-rail ol{display:flex;gap:.4rem;margin:0;padding:.15rem;list-style:none;overflow-x:auto;scroll-snap-type:x proximity;scrollbar-width:none}@media (min-width:1100px){.cf-rail ol{flex-direction:column;overflow:visible}}.cf-rail li{flex:none}.cf-rail button{display:grid;grid-template-columns:1.5rem minmax(0,1fr);-moz-column-gap:.5rem;column-gap:.5rem;align-items:center;width:100%;min-height:3rem;padding:.55rem .8rem;border:1px solid transparent;border-radius:12px;background:transparent;color:inherit;font:inherit;text-align:left;white-space:nowrap;cursor:pointer;scroll-snap-align:start;transition:background var(--fg-dur),border-color var(--fg-dur)}.cf-rail .cf-n{grid-row:1/span 2;display:grid;place-items:center;width:1.5rem;height:1.5rem;padding:0;border-radius:50%;font:600 .6875rem var(--fg-mono)}.cf-rail b{font-size:.9375rem;font-weight:600;letter-spacing:-.01em;line-height:1.25}.cf-rail small{font-size:.75rem;line-height:1.3;color:hsl(var(--muted-foreground))}.cf-rail button:focus-visible{outline:2px solid hsl(var(--primary));outline-offset:2px}.cf-stages{margin:0;padding:clamp(.75rem,1.5vw,1.25rem);border:1px solid hsl(var(--border));border-radius:var(--fg-r-lg);background:hsl(var(--card));box-shadow:var(--fg-card-shadow);list-style:none}.cf-stage{display:block;padding:0;border:0}.cf-stage[hidden]{display:none}@media (min-width:640px){.cf-stage{grid-template-columns:none}}.cf-stage-head{display:block;padding:.25rem .75rem .75rem;margin:0;border-bottom:1px solid hsl(var(--border))}.cf-stage-head h3{font-size:1.125rem;font-weight:600;letter-spacing:-.015em}.cf-stage-head p{margin-top:.15rem;font-size:.875rem;line-height:1.5;color:hsl(var(--muted-foreground))}.cf-courses{margin-top:.5rem}.cf-courses button{grid-template-columns:minmax(0,1fr) auto;-moz-column-gap:.75rem;column-gap:.75rem;align-items:center;padding:.75rem}.cf-courses button b{grid-column:1;font-size:1rem;letter-spacing:-.01em}.cf-learn{grid-column:1;margin-top:.15rem;font-size:.875rem;line-height:1.45;color:var(--fg-muted)}.cf-courses li[data-on]>button .cf-learn{color:var(--fg-ink)}.cf-chev{grid-row:1/span 3}.cf-courses button small{margin-top:.35rem}.cf-bars[data-n="1"] i:first-child{background:var(--tone-emerald)}.cf-bars[data-n="2"] i:nth-child(-n+2){background:var(--tone-blue)}.cf-bars[data-n="3"] i{background:var(--tone-violet)}.cf-side{top:5rem}@media (min-width:1000px) and (max-width:1099px){.cf-side{display:none}.cf-inline{display:block}}.cf-more{display:inline-flex;align-items:center;min-height:2.25rem;margin-top:.3rem;padding:0;border:0;background:none;color:hsl(var(--primary));font:600 .875rem var(--fg-sans);cursor:pointer}.cf-more:hover{text-decoration:underline;text-underline-offset:3px}.cf-more:focus-visible{outline:2px solid hsl(var(--primary));outline-offset:2px;border-radius:4px}.fg-head h2{max-width:36ch}.ti{margin-top:.9rem}.ti-name{display:flex;flex-wrap:wrap;align-items:baseline;gap:.1rem .6rem;min-width:0;transition:transform .25s var(--fg-ease)}.ti-name em{padding:.05rem .5rem;border-radius:999px;background:color-mix(in srgb,var(--tone) 10%,transparent);color:var(--tone-ink);font-style:normal;font-size:.75rem;font-weight:600}.fg-mapbox.fg-dark{margin-top:0;padding:clamp(1rem,2.5vw,2rem);border:0;border-radius:20px;overflow:hidden;gap:clamp(1rem,2vw,1.5rem)}.fg-map-toggle svg{transition:transform .22s var(--fg-ease)}.fg-map-toggle[aria-expanded=true] svg{transform:rotate(180deg)}.fg-map-toggle:focus-visible{outline:2px solid #a9c1ff;outline-offset:2px}.fg-map-preview{display:block;width:100%;height:100%}.fg-map-still{display:grid;gap:1rem}.fg-map-still .fg-map-preview{height:clamp(24rem,42vw,33rem)}.fg-map-fold ul,.fg-map-still ul{display:flex;flex-wrap:wrap;gap:.35rem;margin:0;padding:0;list-style:none}.fg-map-fold a,.fg-map-still a{display:inline-flex;align-items:center;min-height:2rem;padding:0 .7rem;border:1px solid rgb(255 255 255/.14);border-radius:999px;font-size:.8125rem;color:#cdd8f0;text-decoration:none}.fg-map-fold{display:grid;grid-template-columns:clamp(11rem,20vw,17rem) minmax(0,1fr);border:1px solid rgb(255 255 255/.1);border-radius:18px;background:rgb(255 255 255/.025);overflow:hidden;animation:cs-in .35s var(--fg-ease)}.fg-map-fold ul{align-content:center;padding:clamp(.9rem,2vw,1.25rem)}.fg-map-fold a{--wash:#5b8cff}.fg-map-fold a:hover{border-color:rgb(255 255 255/.32);color:#fff}.fg-map-fold a:focus-visible{outline:2px solid #a9c1ff;outline-offset:2px}.fg-map-mini{position:relative;min-height:7.5rem;padding:0;border:0;border-right:1px solid rgb(255 255 255/.1);background:none;cursor:pointer}.fg-map-mini .fg-map-preview{position:absolute;inset:0;transition:transform .45s var(--fg-ease)}.fg-map-mini .fg-map-bonds{stroke-width:2}.fg-map-mini:hover .fg-map-preview{transform:scale(1.08)}@media (max-width:640px){.fg-map-fold{grid-template-columns:minmax(0,1fr)}.fg-map-mini{border-right:0;border-bottom:1px solid rgb(255 255 255/.1)}.fg-map-fold li:nth-child(n+13){display:none}}@media (prefers-reduced-motion:reduce){.fg-map-fold{animation:none}.fg-map-mini .fg-map-preview{transition:none}.fg-map-mini:hover .fg-map-preview{transform:none}}.fg-map-bonds{fill:none;stroke:#3a5288;stroke-width:1;opacity:.75}.fg-mapbox .fg-cm-stage{background:rgb(255 255 255/.025);border-color:rgb(255 255 255/.1);box-shadow:none}.fg-mapbox .fg-cm-stage:focus-visible{outline:2px solid #a9c1ff;outline-offset:2px}.fg-mapbox .fg-cm-side{background:rgb(255 255 255/.025);border-color:rgb(255 255 255/.1);box-shadow:none}.fg-mapbox .fg-cm-side h3{color:#fff}.fg-mapbox .fg-cm-stage .fg-map-preview{position:absolute;inset:0}.fg-mapbox .fg-cm-fail{position:absolute;left:.75rem;right:.75rem;bottom:.75rem;z-index:2;margin:0;padding:.5rem .75rem;border-radius:10px;background:rgb(6 10 20/.85);font-size:.8125rem;line-height:1.45;color:#cdd8f0}.fg-mapbox .fg-cm-all button[aria-pressed=true]{background:#155eef;border-color:#155eef;color:#fff}.fg-mapbox .fg-cm-all button:focus-visible,.fg-mapbox .fg-cm-links-list button:focus-visible{outline:2px solid #a9c1ff;outline-offset:2px}@media (max-width:859px){.fg-mapbox .fg-cm-all ul{flex-wrap:nowrap;overflow-x:auto;padding-bottom:.4rem;scrollbar-width:thin}.fg-mapbox .fg-cm-all li{flex:none}}@media (max-width:520px){.fg-cm-hint{display:none}}@media (prefers-reduced-motion:reduce){.fg-map-toggle svg{transition:none}}.cs-list button{flex:none;width:min(15rem,72vw);padding:.7rem .9rem;white-space:normal}@media (min-width:1000px){.cs{grid-template-columns:17rem minmax(0,1fr)}.cs-list button{width:100%}}.cs-list button b{display:block;font-size:.9375rem;font-weight:600;line-height:1.3;letter-spacing:-.01em}.cs-list button small{display:block;margin-top:.15rem;font:500 .75rem var(--fg-sans)}.cs-list button:focus-visible{outline:2px solid #a9c1ff;outline-offset:2px}.cs-kicker{font:600 .8125rem var(--fg-sans);letter-spacing:0;text-transform:none}.cs-body h3{font-size:clamp(1.375rem,1.1rem + 1vw,1.875rem);line-height:1.2;letter-spacing:-.025em}.cs-hardlist{display:grid;gap:.6rem;margin:1.1rem 0 0;padding:0;list-style:none}.cs-hardlist li{padding-left:.85rem;border-left:2px solid rgb(255 255 255/.14);font-size:.9375rem;line-height:1.55;color:#b9c5de}.cs-hardlist li:first-child{border-left-color:#22d3ee}.cs-hardlist b{color:#fff;font-weight:600}.tc-note{align-items:flex-start}.tc-note p+p{margin-top:.35rem;font-size:.9375rem;color:var(--fg-muted)}.tc-note b{font-weight:600}.fg-start.fg-dark{background:radial-gradient(1000px 560px at 88% -10%,rgb(82 137 255/.17),transparent 68%),hsl(224 52% 5%);padding-bottom:calc(clamp(3.5rem, 2.5rem + 3vw, 5rem) + 1.75rem)}.fg-link:hover{color:hsl(var(--primary-hover))}.fg-dark .fg-link:hover{color:#c7d7ff}.fg-dark{--tone-on:#0b1220;--tone-blue:#60a5fa;--tone-emerald:#34d399;--tone-teal:#2dd4bf;--tone-violet:#a78bfa;--tone-rose:#fb7185;--tone-orange:#fb923c;--tone-amber:#fbbf24}.rs-trace-head{justify-content:space-between;gap:.75rem}.rs-trace-head p{display:flex;align-items:center;gap:.5rem;min-width:0;margin:0}.rs-again{display:inline-flex;flex:none;align-items:center;gap:.35rem;min-height:1.75rem;padding:0 .65rem;border:1px solid rgb(255 255 255/.18);border-radius:999px;background:transparent;color:#d6e2fb;font:500 .8125rem/1 var(--fg-sans);cursor:pointer;transition:border-color var(--fg-dur),color var(--fg-dur)}.rs-again:hover{border-color:#6e9bff;color:#fff}.rs-text{font-family:var(--fg-sans);font-size:.875rem;line-height:1.5}.rs-node{font-size:.75rem}.rs-floor{font-size:.6875rem}@media (prefers-reduced-motion:reduce){.rs-again{transition:none}}.cd{margin:0;padding:1rem;border:1px solid rgb(255 255 255/.08);border-radius:16px;background:rgb(6 10 20/.55)}.cd-flow{display:grid;gap:1.35rem;margin:0;padding:0;list-style:none}.cd-flow li{position:relative;display:flex;flex-wrap:wrap;justify-content:center;gap:.4rem}.cd-flow li+li:before{content:"";position:absolute;left:50%;top:-1.15rem;height:.8rem;border-left:1.5px solid rgb(255 255 255/.28)}.cd-flow li+li:after{content:"";position:absolute;left:calc(50% - .21rem);top:-.5rem;border:.21rem solid transparent;border-top:.3rem solid rgb(255 255 255/.45);border-bottom:0}.cd [data-kind]{--k:#a5b4fc}.cd [data-kind=client]{--k:#94a3b8}.cd [data-kind=edge]{--k:#60a5fa}.cd [data-kind=queue]{--k:#fbbf24}.cd [data-kind=data]{--k:#34d399}.cd-node{display:inline-flex;align-items:center;min-height:2.25rem;padding:.35rem .7rem;border:1px solid color-mix(in srgb,var(--k) 55%,transparent);border-radius:9px;background:color-mix(in srgb,var(--k) 12%,transparent);color:#eef2fb;font-size:.8125rem;font-weight:600;line-height:1.25;text-align:center}.cd-key{display:flex;flex-wrap:wrap;justify-content:center;gap:.25rem .8rem;margin:1rem 0 0;padding:0;list-style:none;font-size:.75rem;color:#aebbd6}.cd-key li{display:inline-flex;align-items:center;gap:.35rem}.cd-key li:before{content:"";width:.5rem;height:.5rem;border-radius:50%;background:var(--k)}.cd figcaption{margin-top:.7rem;padding-top:.7rem;border-top:1px solid rgb(255 255 255/.08);font-size:.8125rem;line-height:1.45;color:#b9c5de;text-align:center}@media (max-width:1099px){.cf-rail ol{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));overflow:visible}.cf-rail button{padding:.5rem .6rem;white-space:normal}}@media (min-width:640px) and (max-width:1099px){.cf-rail ol{grid-template-columns:repeat(3,minmax(0,1fr))}}.fg-mapbox .fg-cm-all button[aria-pressed=true] b{color:#fff;opacity:1}.cf-lessons span,.cf-rail .cf-n,.fg-cm-all button b,.fg-cm-hint,.tc-kind,.tc-opts kbd,.tc-pips li>span[aria-hidden]{font-size:.75rem}.tc-full{display:inline-flex;align-items:center;gap:.35rem;min-height:1.75rem}.bm{fill:var(--c)}.dark .bm,.fg-dark .bm{fill:var(--cd,var(--c))}.lr{--lr-sky:linear-gradient(180deg,#060a13,#0a1222 18%,#13203f 34%,#1f3259 44%,#33497a 52%,#5a75a8 60%,#8ea5d1 68%,#b9c9e8 78%,#d5dff2 90%,#e3e9f6);padding-block:clamp(2rem,1.5rem + 2.5vw,3.25rem);border-bottom:1px solid hsl(var(--border));background:radial-gradient(700px 480px at 8% -4rem,rgb(34 211 238/.07),transparent 60%),var(--lr-sky);color:hsl(var(--foreground));overflow:hidden}.dark .lr{--lr-sky:linear-gradient(180deg,#060a13,#0a1222 20%,#121e3a 38%,#1a2a4e 56%,#1a2847 78%,#17233f)}.lr-head{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:.25rem 1.5rem;margin-bottom:clamp(1.25rem,1rem + 1vw,2rem)}.lr-head h2{font-size:clamp(1.25rem,1.05rem + .8vw,1.75rem);font-weight:650;line-height:1.2;letter-spacing:-.025em;color:#fff}.lr-head p{font-size:.9375rem;color:#dbe4f5}.lr-lane{display:flex;overflow:hidden;padding-block:.3rem;-webkit-mask-image:linear-gradient(90deg,transparent,#000 4%,#000 96%,transparent);mask-image:linear-gradient(90deg,transparent,#000 4%,#000 96%,transparent)}.lr-lane-products{--lr-cell:max(16.5rem,calc(100vw / 6));--lr-time:70s}.lr-lane-tech{--lr-cell:max(13.25rem,calc(100vw / 10));--lr-time:95s}.lr-wire{position:relative;display:block;height:1.1rem}.lr-wire:before{right:0;top:calc(50% - .5px);height:1px;background:linear-gradient(90deg,transparent,rgb(255 255 255/.4) 12%,rgb(255 255 255/.4) 88%,transparent)}.lr-wire:after,.lr-wire:before{content:"";position:absolute;left:0}.lr-wire:after{top:calc(50% - 1px);width:18vw;height:2px;border-radius:2px;background:linear-gradient(90deg,transparent,#fff);box-shadow:0 0 10px 1px rgb(255 255 255/.5);animation:lr-request 7s linear infinite}@keyframes lr-request{0%{transform:translateX(-20vw)}to{transform:translateX(100vw)}}.lr-row{display:flex;flex:none;margin:0;padding:0;list-style:none;animation:lr-slide var(--lr-time) linear infinite}.lr-lane-tech .lr-row{animation-direction:reverse}.lr-lane:focus-within .lr-row,.lr-lane:hover .lr-row{animation-play-state:paused}@keyframes lr-slide{to{transform:translateX(-100%)}}.lr-row li{flex:none;display:flex;width:var(--lr-cell);padding-inline:.35rem}.lr-chip{--chip:var(--c);position:relative;isolation:isolate;overflow:hidden;display:flex;align-items:center;gap:.7rem;width:100%;min-height:4rem;padding:.55rem 1.9rem .55rem .55rem;border:1px solid transparent;border-radius:16px;background:#fff;color:#111827;box-shadow:0 1px 2px rgb(10 20 50/.16),0 14px 26px -16px rgb(10 20 50/.55);text-decoration:none;transition:border-color var(--fg-dur),box-shadow var(--fg-dur),transform var(--fg-dur)}.dark .lr-chip{--chip:var(--cd,var(--c));border-color:hsl(var(--border));background:hsl(var(--card));color:hsl(var(--foreground))}.dark .lr-text small{color:hsl(var(--muted-foreground))}.lr-chip:before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,color-mix(in srgb,var(--chip) 22%,transparent),transparent 85%);transform:translateX(-101%);transition:transform .4s var(--fg-ease)}.lr-chip:after{content:"\2192"/"";position:absolute;right:.75rem;top:50%;margin-top:-.65em;color:var(--chip);font-weight:600;opacity:0;transform:translateX(-.5rem);transition:opacity .2s,transform .3s var(--fg-ease)}.lr-chip:focus-visible,.lr-chip:hover{border-color:color-mix(in srgb,var(--chip) 65%,hsl(var(--border)));box-shadow:0 12px 26px -16px color-mix(in srgb,var(--chip) 80%,transparent);transform:translateY(-2px)}.lr-chip:focus-visible:after,.lr-chip:focus-visible:before,.lr-chip:hover:after,.lr-chip:hover:before{transform:none}.lr-chip:focus-visible:after,.lr-chip:hover:after{opacity:1}.lr-chip:active{transform:none}.lr-chip:focus-visible .lr-tile,.lr-chip:hover .lr-tile{transform:rotate(-5deg) scale(1.06);box-shadow:0 0 0 2px var(--chip),0 8px 16px -8px var(--chip)}.lr-lane:has(.lr-chip:hover,.lr-chip:focus-visible) .lr-chip:not(:hover,:focus-visible) .lr-tile{filter:grayscale(1);opacity:.7}.cs-list button:focus-visible .cs-tile,.cs-list button:hover .cs-tile{transform:rotate(-5deg) scale(1.04)}.lr-chip:focus-visible{outline:2px solid hsl(var(--primary));outline-offset:-2px}.cs-tile,.lr-tile{display:grid;flex:none;place-items:center;width:2.75rem;height:2.75rem;border-radius:12px;background:#fff;box-shadow:0 0 0 1px rgb(16 24 40/.08),0 2px 6px -2px rgb(16 24 40/.25);transition:transform .3s var(--fg-ease),box-shadow .25s,filter .25s,opacity .25s}.lr-tile{background:color-mix(in srgb,var(--c) 11%,#fff);box-shadow:none}.dark .lr-tile{background:#fff}.cs-tile .bm,.dark .lr-tile .bm,.fg-dark .cs-tile .bm,.lr-tile .bm{width:1.625rem;height:1.625rem;fill:var(--c)}.cs-tile .bm[data-wordmark],.dark .lr-tile .bm[data-wordmark],.fg-dark .cs-tile .bm[data-wordmark],.lr-tile .bm[data-wordmark]{width:2.25rem;height:1rem}.lr-text{display:grid;min-width:0;gap:.05rem}.lr-text b{font-size:.9375rem;font-weight:650;line-height:1.25;letter-spacing:-.01em}.lr-text small{font-size:.75rem;line-height:1.3;color:#475569}@media (prefers-reduced-motion:reduce){.lr-lane{-webkit-mask-image:none;mask-image:none}.lr-row{flex:1 1 auto;flex-wrap:wrap;justify-content:center;gap:.35rem 0;padding-inline:.75rem;animation:none}.lr-row[aria-hidden=true]{display:none}.lr-row li{width:min(16.5rem,100%)}.cs-tile,.lr-chip,.lr-chip:after,.lr-chip:before,.lr-tile{transition:none}.lr-wire:after{display:none}.cs-list button:focus-visible .cs-tile,.cs-list button:hover .cs-tile,.lr-chip:focus-visible,.lr-chip:focus-visible .lr-tile,.lr-chip:hover,.lr-chip:hover .lr-tile{transform:none}}.nb a:focus-visible .nb-ico,.nb a:hover .nb-ico,.tc-more a:focus-visible .tc-ico,.tc-more a:hover .tc-ico{background:var(--tone);color:var(--tone-on)}.nb a:focus-visible .nb-go,.nb a:focus-visible .nb-label,.nb a:focus-visible b,.nb a:hover .nb-go,.nb a:hover .nb-label,.nb a:hover b,.tc-more a:focus-visible b,.tc-more a:hover b{color:var(--tone-ink)}.nb-ico,.tc-ico{transition:background-color .25s,color .25s}@media (prefers-reduced-motion:reduce){.nb-ico,.tc-ico{transition:none}}.fg-mapbox{display:grid;grid-template-columns:minmax(0,1fr);gap:clamp(1rem,2vw,1.5rem);margin:0;padding:0;border:0}#topics .fg-head{margin-bottom:clamp(1rem,2vw,1.5rem)}.fg-map-acts{display:flex;flex-wrap:wrap;align-items:center;gap:.75rem 1.25rem}.fg-map-note{margin:0;color:var(--fg-muted);line-height:1.5}.cs-list button{display:grid;grid-template-columns:2.75rem minmax(0,1fr);-moz-column-gap:.75rem;column-gap:.75rem;align-items:center;transition:background-color var(--fg-dur),border-color var(--fg-dur),color var(--fg-dur)}.cs-tab-text{display:block;min-width:0}.cs-list button{--wash:var(--cd)}.cs-list button:hover{border-color:rgb(255 255 255/.22);color:#fff}.cs-list button[aria-selected=true]{border-color:color-mix(in srgb,var(--cd) 65%,transparent);color:#fff}.cs-list button[aria-selected=true] small{color:#cdd8f0}.cs-list button small{font-size:.8125rem;color:#aebbd6}.cs-panel{grid-template-columns:minmax(0,1fr);align-items:start}.cs-kicker{display:flex;align-items:center;gap:.65rem;font-size:1rem;font-weight:650;color:#fff}.cs-body h3{margin-top:.75rem}@media (min-width:860px){.cs-panel{grid-template-columns:minmax(0,22rem) minmax(0,1fr);gap:clamp(1.5rem,3vw,2.5rem)}}.cs[data-seen] .cd-node{animation:cd-lit .8s var(--fg-ease) calc(var(--i) * .3s) both}.cs[data-seen] .cd-flow li+li:before{transform-origin:top;animation:cd-line .3s linear calc(var(--i) * .3s - .2s) both}.cs[data-seen] .cd-flow li+li:after{animation:cd-tip .2s linear calc(var(--i) * .3s - .05s) both}@keyframes cd-lit{0%{opacity:.3;transform:scale(.96)}40%{opacity:1;transform:scale(1.05);box-shadow:0 0 0 3px color-mix(in srgb,var(--k) 35%,transparent),0 0 24px -2px var(--k)}to{opacity:1;transform:none;box-shadow:none}}@keyframes cd-line{0%{transform:scaleY(0)}}@keyframes cd-tip{0%{opacity:0}}@media (prefers-reduced-motion:reduce){.cs-list button{transition:none}.cs[data-seen] .cd-flow li+li:after,.cs[data-seen] .cd-flow li+li:before,.cs[data-seen] .cd-node{animation:none}}.tc-build{display:grid;gap:.875rem;align-items:stretch}@media (min-width:900px){.tc-build{grid-template-columns:minmax(0,3fr) minmax(0,2fr)}}.tc-builder{position:relative;display:grid;grid-template-columns:2.5rem minmax(0,1fr);-moz-column-gap:.85rem;column-gap:.85rem;align-content:start;align-items:center;overflow:hidden;padding:clamp(1.25rem,2.5vw,1.75rem);border:1px solid hsl(var(--border));border-radius:16px;background:hsl(var(--card));box-shadow:var(--fg-card-shadow)}.tc-builder:before{content:"";position:absolute;inset:0 0 auto;height:4px;background:linear-gradient(90deg,var(--tone-blue),var(--tone-violet),var(--tone-rose),var(--tone-amber))}.tc-builder h4{margin:0;font-size:1.25rem;font-weight:650;letter-spacing:-.02em}.tc-builder .fg-btn,.tc-builder p,.tc-builder ul{grid-column:1/-1}.tc-builder p{margin:.75rem 0 0;max-width:56ch;font-size:1rem;line-height:1.55;color:hsl(var(--muted-foreground))}.tc-builder ul{display:grid;gap:.4rem;margin:.85rem 0 1.25rem;padding:0;list-style:none;font-size:.9375rem;line-height:1.45}.tc-builder li{display:grid;grid-template-columns:1rem minmax(0,1fr);gap:.5rem}.tc-builder li svg{margin-top:.2rem;color:var(--tone)}.tc-builder .fg-btn{justify-self:start}@media (max-width:479px){.tc-builder .fg-btn{justify-self:stretch;justify-content:center}}.tc-ico{background:color-mix(in srgb,var(--tone,hsl(var(--primary))) 14%,transparent);color:var(--tone,hsl(var(--primary)))}.tc-more{display:flex;flex-direction:column;min-width:0}.tc-more>p{margin:0 0 .6rem;font-size:.9375rem;font-weight:600;color:hsl(var(--muted-foreground))}.tc-more ul{display:grid;flex:1;grid-template-columns:minmax(0,1fr);grid-auto-rows:1fr;gap:.6rem;margin:0;padding:0;list-style:none}.tc-more a{position:relative;height:100%;padding:.8rem .9rem}.cf-rail .cf-n{background:color-mix(in srgb,var(--tone) 14%,transparent);color:var(--tone)}.cf-rail button:focus-visible{outline-color:var(--tone)}.cf-rail button[aria-pressed=true]{border-color:var(--tone);background:var(--tone);color:var(--tone-on);box-shadow:0 10px 24px -14px var(--tone)}.cf-rail button[aria-pressed=true] b,.cf-rail button[aria-pressed=true] small{color:var(--tone-on)}.cf-rail button[aria-pressed=true] .cf-n{background:color-mix(in srgb,var(--tone-on) 22%,transparent);color:var(--tone-on)}.cf-courses li[data-on]>button{border-color:color-mix(in srgb,var(--tone) 40%,transparent)}.cf-courses button:hover b,.cf-courses li[data-on]>button b,.cf-lessons a:hover b{color:var(--tone-ink)}.cf-courses button:hover .cf-chev{color:var(--tone-ink);transform:translateX(2px)}.pe-cover:after{content:"";position:absolute;inset:0;background:linear-gradient(115deg,transparent 35%,rgb(255 255 255/.42) 50%,transparent 65%);transform:translateX(-130%);pointer-events:none}.pe-tabs:has(button:hover) button:not(:hover,[aria-selected=true]) .pe-cover{filter:saturate(.6) brightness(.92)}.pe-tabs button:focus-visible .pe-cover,.pe-tabs button:hover .pe-cover{transform:perspective(900px) translateY(-8px) rotateX(6deg);box-shadow:0 28px 34px -20px color-mix(in srgb,var(--tone) 80%,#000)}.pe-tabs button:hover .pe-cover:after{transform:translateX(130%);transition:transform .75s var(--fg-ease)}.pe-tabs button[aria-selected=true] .pe-cover{outline-color:var(--tone);transform:translateY(-6px);box-shadow:0 0 0 8px color-mix(in srgb,var(--tone) 16%,transparent),0 28px 38px -18px color-mix(in srgb,var(--tone) 85%,#000)}.pe-tabs button[aria-selected=true] small{display:inline-block;padding:.1rem .55rem;border-radius:999px;background:var(--tone);color:var(--tone-on)}.pe-tabs button[aria-selected=true]:after{content:"";position:absolute;left:calc(50% - 9px);bottom:-1.5rem;border-left:9px solid transparent;border-right:9px solid transparent;border-top:0;border-bottom:9px solid transparent;border-bottom-color:var(--tone)}@media (prefers-reduced-motion:reduce){.pe-cover{transition:none}.pe-cover:after{display:none}.pe-tabs button:focus-visible .pe-cover,.pe-tabs button:hover .pe-cover,.pe-tabs button[aria-selected=true] .pe-cover{transform:none}}.ti-item[open] summary{border-radius:12px 12px 0 0}.ti-item summary:hover .ti-name{transform:translateX(.35rem)}.ti-item summary:hover b,.ti-item[open] summary b,.ti-lessons a:hover b,.ti-next .fg-link{color:var(--tone-ink)}.ti-item summary:hover .ti-icon,.ti-item[open] .ti-icon{border-color:var(--tone);background:var(--tone);color:var(--tone-on)}.ti-lessons a:after{color:var(--tone-ink)}.ti-next .fg-btn-solid{background:var(--tone);color:var(--tone-on);box-shadow:0 12px 24px -14px var(--tone)}.ti-next .fg-btn-solid:hover{background:color-mix(in srgb,var(--tone) 88%,#000)}@media (prefers-reduced-motion:reduce){.ti-name{transition:none}.ti-item summary:hover .ti-name{transform:none}}