@font-face{font-family:Outfit;src:url(/assets/Outfit-Variable-vXxiUg8D.ttf)format("truetype");font-style:normal;font-weight:100 900;font-display:swap}@font-face{font-family:JetBrains Mono;src:url(/assets/JetBrainsMono-Variable--VKQJH3W.ttf)format("truetype");font-style:normal;font-weight:100 800;font-display:swap}@font-face{font-family:Patrick Hand;src:url(/assets/PatrickHand-Regular-CyLOmwMC.ttf)format("truetype");font-style:normal;font-weight:400;font-display:swap}:root{--af-bone:#fffdf7;--af-bone-2:#f6f3ea;--af-ash:#eaeaea;--af-ink:#0b1929;--af-carbon:#29292b;--af-blue:#1d57f5;--af-blue-light:#8fb0ff;--af-slate:#717174;--af-hairline:#dcd9d0;--surface-base:var(--af-bone);--surface-card:var(--af-bone-2);--surface-neutral:var(--af-ash);--text-heading:var(--af-ink);--text-body:var(--af-carbon);--text-label:var(--af-slate);--accent:var(--af-blue);--accent-on-dark:var(--af-blue-light);--surface-active:var(--af-blue);--text-on-accent:var(--af-bone);--highlight-on-accent:#fffdf785;--rule-on-accent:#fffdf775;--border:var(--af-hairline);--border-strong:var(--af-slate);--bone:var(--surface-base);--bone2:var(--surface-card);--ink:var(--text-heading);--carbon:var(--text-body);--blue:var(--accent);--slate:var(--text-label);--line:var(--border);--font-display:Outfit, Inter, system-ui, sans-serif;--font-mono:"JetBrains Mono", ui-monospace, monospace;--font-hand:"Patrick Hand", cursive;--weight-display-regular:400;--weight-display-bold:600;--weight-mono-regular:400;--weight-mono-bold:700;--weight-hand-regular:400;--tracking-display-tight:-.045em;--tracking-display-body:-.02em;--tracking-mono-normal:0em;--tracking-mono-open:.06em;--size-display-xl:64px;--lh-display-xl:1.02;--size-display-lg:46px;--lh-display-lg:1.05;--size-display-md:30px;--lh-display-md:1.1;--size-body:15.5px;--lh-body:1.6;--size-mono-lg:24px;--size-mono-md:15px;--size-mono-sm:12px;--size-hand-lg:34px;--lh-hand-lg:1.3;--size-hand-md:19px;--lh-hand-md:1.4;--wordmark-tracking:-.045em;--wordmark-caret-width:.06em;--wordmark-caret-height:.72em;--wordmark-caret-gap:.16em;--wordmark-clearspace:.703em;--radius-none:0px;--radius-card:28px;--border-hairline:1px;--border-accent:2px;--elevation-card-floating:inset 1px 1px 0 var(--highlight-on-accent), 2px 3px 0 #0b192938, 14px 24px 38px #0b192933;--elevation-card-material-active:inset 1px 1px 0 var(--highlight-on-accent), inset -28px -24px 48px #0b19291a, 2px 3px 0 #0b192938, 14px 24px 38px #0b192933;--session-card-highlight:var(--highlight-on-accent);--elevation-session-card:var(--elevation-card-material-active);--caret-blink-hard:1.06s;--caret-blink-soft:2.4s;--ease-standard:cubic-bezier(.4, 0, .2, 1);--ease-af-reveal:cubic-bezier(.19, 1, .22, 1);--ease-af-move:cubic-bezier(.77, 0, .175, 1);--motion-feedback:.14s;--motion-state:.24s;--motion-reveal:.56s;--motion-statement:.64s;--motion-exit:.42s;--motion-stagger:90ms;--motion-distance:18px}@keyframes af-caret-blink{0%,47%{opacity:1}48%,95%{opacity:0}96%,to{opacity:1}}@keyframes af-caret-breathe{0%,38%{opacity:1}62%,88%{opacity:.06}to{opacity:1}}@keyframes af-reveal-up{0%{opacity:0;transform:translate3d(0, var(--motion-distance), 0)}to{opacity:1;transform:translate(0,0)}}@keyframes af-reveal-ring{0%{opacity:0;transform:scale(.96)}to{opacity:1;transform:scale(1)}}.af-motion-enter{animation:af-reveal-up var(--motion-reveal) var(--ease-af-reveal) both}.af-motion-statement{animation:af-reveal-up var(--motion-statement) var(--ease-af-reveal) both}.af-motion-sequence>*{animation:af-reveal-up var(--motion-reveal) var(--ease-af-reveal) both;animation-delay:calc(var(--af-order,0) * var(--motion-stagger))}.af-motion-rings>*{animation:af-reveal-ring var(--motion-statement) var(--ease-af-reveal) both;animation-delay:calc(var(--af-order,0) * .12s);transform-origin:50%}.af-motion-notebook [data-motion-part=image]{animation:af-reveal-up var(--motion-statement) var(--ease-af-reveal) both}.af-motion-notebook [data-motion-part=writing]{animation:af-reveal-up var(--motion-reveal) var(--ease-af-reveal) both;animation-delay:.14s}.af-motion-state{transition:transform var(--motion-state) var(--ease-af-reveal), opacity var(--motion-state) var(--ease-af-reveal), background-color var(--motion-state) ease, color var(--motion-state) ease}.af-motion-progress{transform-origin:0;transition:transform 1s linear}@media (prefers-reduced-motion:reduce){.af-caret{opacity:1!important;animation:none!important}.af-motion-enter,.af-motion-statement,.af-motion-sequence>*,.af-motion-rings>*,.af-motion-notebook [data-motion-part]{opacity:1!important;animation:none!important;transform:none!important}.af-motion-state,.af-motion-progress{transition-duration:.01ms!important}}
