body:has([data-tone]){--t-void:#0a0b0c;--t-deep:#0f1113;--t-surface:#15181b;--t-raised:#1d2125;--t-edge:#2a2f34;--t-paper:#f1efea;--t-dim:#f1efeaad;--t-mute:#f1efea70;--t-faint:#f1efea24;--t-copper:#e0a24a;--t-copper-dim:#e0a24a66;--t-signal:#59ddd2;--t-signal-dim:#59ddd261;--t-signal-glow:#59ddd224;--t-hot:#ff6a45;--t-line:#f1efea1c;--t-line-strong:#f1efea33;--t-grid:#f1efea0a;--t-sans:var(--font-archivo,"Archivo"), "Helvetica Neue", arial, sans-serif;--t-mono:var(--font-plex-mono,"IBM Plex Mono"), ui-monospace, "SFMono-Regular", menlo, monospace;--t-display:clamp(3.2rem, 8.4vw, 7.5rem);--t-h1:clamp(2.4rem, 5.2vw, 4.25rem);--t-h2:clamp(1.8rem, 3.4vw, 2.9rem);--t-h3:clamp(1.25rem, 1.8vw, 1.6rem);--t-lede:clamp(1.1rem, 1.35vw, 1.35rem);--t-body:clamp(1rem, .94rem + .28vw, 1.125rem);--t-small:.875rem;--t-label:.6875rem;--t-gutter:clamp(1.25rem, 4.5vw, 5rem);--t-shell:112rem;--t-measure:54ch;--t-band:clamp(3rem, 5.5vw, 5.5rem);background:var(--t-void);color:var(--t-paper);font-family:var(--t-sans);font-size:var(--t-body);--at-bg:var(--t-void);--at-bg-alt:var(--t-surface);--at-bg-elevated:var(--t-raised);--at-border:var(--t-line);--at-divider:var(--t-line);--at-text:var(--t-paper);--at-text-secondary:var(--t-dim);--at-text-muted:var(--t-mute);--at-heading:var(--t-paper);--at-accent:var(--t-signal);--at-link:var(--t-signal);--at-link-hover:var(--t-paper);--at-font-mono:var(--t-mono);--at-nav-height:4rem;line-height:1.6;display:block}body:has([data-tone]):after{display:none}.at-main[data-tone]{max-width:none;min-height:0;margin:0;padding:0;display:block}@media (width<640px){.at-main[data-tone]>img,.at-main[data-tone] :where(p,figure)>img{width:auto;max-width:100%;margin-inline:0}}body:has([data-tone]) .at-nav{z-index:100;background:color-mix(in srgb, var(--t-void) 82%, transparent);backdrop-filter:blur(14px)saturate(1.2);border-block-end:1px solid #0000;transition:background .25s,border-color .25s;display:block;position:sticky;top:0}body:has([data-tone]) .at-nav[data-scrolled]{background:color-mix(in srgb, var(--t-void) 94%, transparent);border-block-end-color:var(--t-line)}body:has([data-tone]) .at-nav-inner{max-width:var(--t-shell);padding-block:.85rem;padding-inline:var(--t-gutter);flex-wrap:nowrap;align-items:center;gap:clamp(.75rem,2vw,2rem);margin-inline:auto;display:flex}body:has([data-tone]) .at-nav-brand{flex:none;margin-inline-end:auto;font-weight:400;transform:none}body:has([data-tone]) .at-nav-wordmark{font-family:var(--t-mono);font-size:var(--t-label);letter-spacing:.16em;text-transform:uppercase;color:var(--t-paper);white-space:nowrap;align-items:center;gap:.6rem;font-weight:500;display:flex}body:has([data-tone]) .at-nav-wordmark:before{content:"";background:var(--t-signal);width:.4rem;height:.4rem;box-shadow:0 0 8px var(--t-signal-dim);border-radius:50%;flex:none}body:has([data-tone]) .at-nav-wordmark:after{content:" · " var(--course-title,"");color:var(--t-dim);font-weight:400}@media (width<52rem){body:has([data-tone]) .at-nav-wordmark:after{content:none}}body:has([data-tone]) .at-nav-links{gap:clamp(.5rem,1.6vw,1.5rem)}body:has([data-tone]) .at-nav-links a{font-family:var(--t-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--t-dim);border-block-end:1px solid #0000;padding-block:.4rem;font-size:.75rem;text-decoration:none}body:has([data-tone]) .at-nav-links a:hover{color:var(--t-paper)}body:has([data-tone]) .at-nav-links a[aria-current=page]{color:var(--t-signal);border-block-end-color:var(--t-signal)}body:has([data-tone]) .at-icon-button{border-color:var(--t-line);color:var(--t-dim);flex:none;width:2.1rem;height:2.1rem}body:has([data-tone]) .at-icon-button:hover{color:var(--t-paper);border-color:var(--t-line-strong)}@media (width<46rem){body:has([data-tone]) .at-nav-links-wrapper{background:var(--t-deep)}}body:has([data-tone]) .at-footer{background:var(--t-void);border-block-start:1px solid var(--t-line);color:var(--t-dim);display:block}body:has([data-tone]) .at-footer :where(.at-footer-inner,.at-footer-ack,.at-footer-legal,.at-footer-band-inner){max-width:var(--t-shell);padding-inline:var(--t-gutter);margin-inline:auto}body:has([data-tone]) .at-footer-band{background:var(--t-void);border-block-end:1px solid var(--t-line);padding-block:1.5rem}body:has([data-tone]) .at-footer-band-logo{opacity:.7;filter:grayscale();height:1.75rem}body:has([data-tone]) .at-footer-acknowledgement h2{font-family:var(--t-mono);font-size:var(--t-label);letter-spacing:.18em;text-transform:uppercase;color:var(--t-mute)}body:has([data-tone]) .at-footer-acknowledgement p{max-width:60ch;font-size:var(--t-small)}body:has([data-tone]) .at-footer :where(h2,h3,.at-footer-name){font-family:var(--t-sans);color:var(--t-paper)}body:has([data-tone]) .at-footer :where(a,li,p,small){color:var(--t-dim)}body:has([data-tone]) .at-footer a:hover{color:var(--t-signal)}body:has([data-tone]) .at-footer-legal>span[aria-hidden]:first-child{display:none}[data-tone] .t-shell{max-width:var(--t-shell);padding-inline:var(--t-gutter);margin-inline:auto}[data-tone] .t-bleed{width:100%;padding-inline:var(--t-gutter)}[data-tone] .t-grid{grid-template-columns:repeat(12,minmax(0,1fr));column-gap:clamp(1rem,2vw,2rem);display:grid}@media (width<60rem){[data-tone] .t-grid{grid-template-columns:repeat(6,minmax(0,1fr))}[data-tone] .t-grid>*{grid-column:1/-1}}[data-tone] .t-band{padding-block:var(--t-band)}[data-tone] .t-measure{max-width:var(--t-measure)}[data-tone] .t-graticule{z-index:0;pointer-events:none;background-image:linear-gradient(to right, var(--t-grid) 1px, transparent 1px), linear-gradient(to bottom, var(--t-grid) 1px, transparent 1px);background-size:5.5rem 5.5rem;position:fixed;inset:0;mask-image:radial-gradient(120% 90% at 50% 0,#000 0%,#0000 78%)}[data-tone] .t-layer{z-index:1;position:relative}[data-tone] :where(h1,h2,h3,h4,h5,h6){font-family:var(--t-sans);color:var(--t-paper);text-wrap:balance;margin:0}[data-tone] .t-display{font-size:var(--t-display);letter-spacing:-.035em;text-wrap:balance;font-weight:800;line-height:.92}[data-tone] .t-h1{font-size:var(--t-h1);letter-spacing:-.03em;font-weight:700;line-height:1}[data-tone] .t-h2{font-size:var(--t-h2);letter-spacing:-.022em;font-weight:700;line-height:1.06}[data-tone] .t-h3{font-size:var(--t-h3);letter-spacing:-.012em;font-weight:600;line-height:1.2}[data-tone] .t-lede{font-size:var(--t-lede);color:var(--t-dim);text-wrap:pretty;font-weight:400;line-height:1.5}[data-tone] .t-body{font-size:var(--t-body);color:var(--t-dim);text-wrap:pretty;line-height:1.65}[data-tone] .t-body strong,[data-tone] .t-lede strong{color:var(--t-paper);font-weight:600}[data-tone] .t-body em{color:var(--t-paper);font-style:italic}[data-tone] .t-label{font-family:var(--t-mono);font-size:var(--t-label);letter-spacing:.18em;text-transform:uppercase;color:var(--t-mute);font-weight:500;display:block}[data-tone] .t-label--signal{color:var(--t-signal)}[data-tone] .t-label--copper{color:var(--t-copper)}[data-tone] .t-num{font-family:var(--t-mono);font-variant-numeric:tabular-nums lining-nums}[data-tone] .t-rule{border-block-start:1px solid var(--t-line);align-items:center;gap:1rem;padding-block-start:.85rem;display:flex}[data-tone] .t-rule:after{content:"";flex:1}[data-tone] a{color:inherit}[data-tone] .t-link{font-family:var(--t-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--t-signal);border-block-end:1px solid var(--t-signal-dim);align-items:center;gap:.55rem;padding-block:.3rem;font-size:.75rem;text-decoration:none;transition:border-color .2s,color .2s;display:inline-flex}[data-tone] .t-link:hover{color:var(--t-paper);border-block-end-color:var(--t-paper)}[data-tone] .t-link .t-arrow{transition:transform .2s}[data-tone] .t-link:hover .t-arrow{transform:translate(.25rem)}[data-tone] :focus-visible,body:has([data-tone]) :where(.at-nav,.at-footer) :focus-visible{outline:2px solid var(--t-signal);outline-offset:3px;box-shadow:none;border-radius:2px}@media (prefers-reduced-motion:no-preference){[data-tone] .t-enter{opacity:0;transition:opacity .7s cubic-bezier(.2,.7,.3,1),transform .7s cubic-bezier(.2,.7,.3,1);transition-delay:var(--t-delay,0s);transform:translateY(1.25rem)}[data-tone] .t-enter[data-shown]{opacity:1;transform:none}}
