@keyframes astroFadeInOut{0%{opacity:1}to{opacity:0}}@keyframes astroFadeIn{0%{opacity:0;mix-blend-mode:plus-lighter}to{opacity:1;mix-blend-mode:plus-lighter}}@keyframes astroFadeOut{0%{opacity:1;mix-blend-mode:plus-lighter}to{opacity:0;mix-blend-mode:plus-lighter}}@keyframes astroSlideFromRight{0%{transform:translate(100%)}}@keyframes astroSlideFromLeft{0%{transform:translate(-100%)}}@keyframes astroSlideToRight{to{transform:translate(100%)}}@keyframes astroSlideToLeft{to{transform:translate(-100%)}}@media (prefers-reduced-motion){::view-transition-group(*),::view-transition-old(*),::view-transition-new(*),[data-astro-transition-scope]{animation:none!important}}.astro-route-announcer{clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;top:0;left:0;overflow:hidden}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(/static/fonts/inter-var.woff2)format("woff2")}:root,html[data-theme=light],html[data-theme=dark]{--ease-out-soft:cubic-bezier(.2, .7, .2, 1);--ease-in-out:cubic-bezier(.77, 0, .175, 1);--ease-out:cubic-bezier(.23, 1, .32, 1);--ease-spring:cubic-bezier(.34, 1.56, .64, 1);--dur-quick:.14s;--dur-normal:.22s;--dur-slow:.36s}:root,html[data-theme=light]{--notion-bg:#fafafa;--notion-surface:#fff;--notion-ink:#18181b;--notion-muted:#4a4a52;--notion-faint:#67676d;--notion-dim:#c8c8cd;--notion-rule:#18181b14;--notion-tint:#18181b0d;--notion-tint-strong:#18181b0f;--notion-tint-hover:#18181b17;--notion-row-hover:#18181b08;--notion-row-focus:#18181b0f;--notion-code-bg:#f5f5f7;--notion-selection:#18181b1f;--notion-shadow:0 1px 2px #18181b0f, 0 4px 12px #18181b0f}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--notion-bg:#0f0f10;--notion-surface:#18181b;--notion-ink:#ececef;--notion-muted:#b0b0b8;--notion-faint:#8a8a92;--notion-dim:#3f3f46;--notion-rule:#ffffff14;--notion-tint:#ffffff0d;--notion-tint-strong:#ffffff24;--notion-tint-hover:#ffffff1a;--notion-row-hover:#ffffff0a;--notion-row-focus:#ffffff12;--notion-code-bg:#1c1c1f;--notion-selection:#ffffff24;--notion-shadow:0 1px 2px #0006, 0 4px 12px #0006}}html[data-theme=dark]{--notion-bg:#0f0f10;--notion-surface:#18181b;--notion-ink:#ececef;--notion-muted:#b0b0b8;--notion-faint:#8a8a92;--notion-dim:#3f3f46;--notion-rule:#ffffff14;--notion-tint:#ffffff0d;--notion-tint-strong:#ffffff24;--notion-tint-hover:#ffffff1a;--notion-row-hover:#ffffff0a;--notion-row-focus:#ffffff12;--notion-code-bg:#1c1c1f;--notion-selection:#ffffff24;--notion-shadow:0 1px 2px #0006, 0 4px 12px #0006}*,:before,:after{box-sizing:border-box}html,body{margin:0;padding:0}html{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizelegibility;background:var(--notion-bg)}body{background:var(--notion-bg);color:var(--notion-ink);font-feature-settings:"kern" 1, "cv11", "ss01";font-kerning:normal;font-variant-ligatures:contextual;min-height:100vh;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}a{color:inherit;text-decoration:none}::selection{background:var(--notion-selection);color:var(--notion-ink)}.cursor{background:var(--notion-faint);opacity:0;pointer-events:none;z-index:9999;will-change:transform, width, height, opacity, background;width:22px;height:22px;transition:width var(--dur-normal,.22s) var(--ease-out-soft,ease), height var(--dur-normal,.22s) var(--ease-out-soft,ease), margin var(--dur-normal,.22s) var(--ease-out-soft,ease), background var(--dur-quick,.14s) ease, opacity var(--dur-normal,.22s) ease;mix-blend-mode:multiply;border-radius:50%;margin:-11px 0 0 -11px;position:fixed;top:0;left:0;transform:translate(-100px,-100px)}html[data-theme=dark] .cursor{mix-blend-mode:screen}@media (pointer:fine) and (hover:hover){.cursor.visible{opacity:.55}html,body,*,:before,:after{cursor:none!important}input:not([type=button]):not([type=submit]),textarea,[contenteditable=true]{cursor:text!important}}.cursor.grow{background:var(--notion-tint-strong);width:40px;height:40px;margin:-20px 0 0 -20px}html[data-theme=dark] .cursor.grow{background:#ffffff38}.cursor.press{width:14px;height:14px;margin:-7px 0 0 -7px}.cursor.text{background:var(--notion-ink);border-radius:1px;width:2px;height:18px;margin:-9px 0 0 -1px}@media (pointer:coarse),(hover:none){.cursor{display:none!important}body{cursor:auto!important}}@media (prefers-reduced-motion:reduce){.cursor{transition:opacity var(--dur-normal,.22s) ease}}.nav-fade{z-index:40;pointer-events:none;background:linear-gradient(to bottom, var(--notion-bg) 0%, var(--notion-bg) 30%, color-mix(in srgb, var(--notion-bg) 60%, transparent) 70%, transparent 100%);background:linear-gradient(to bottom, var(--notion-bg), var(--notion-bg) 40%, transparent);height:132px;position:fixed;top:0;left:0;right:0}.page-nav{z-index:50;pointer-events:none;justify-content:space-between;align-items:flex-start;font-family:Inter,sans-serif;font-size:13px;font-weight:400;line-height:1.5;display:flex;position:fixed;top:22px;left:22px;right:22px}.page-nav .name{color:var(--notion-ink);pointer-events:auto;margin:-4px -8px;padding:4px 8px;font-weight:500;transition:color .16s}.page-nav .name .yr{color:var(--notion-faint);font-weight:400}.page-nav .links{text-align:right;color:var(--notion-faint);flex-direction:column;align-items:flex-end;gap:2px;display:flex}.page-nav .links a,.page-nav .links button{pointer-events:auto;color:var(--notion-faint);font:inherit;cursor:pointer;background:0 0;border:0;margin:-4px -8px;padding:4px 8px;transition:color .16s}.page-nav .links a:hover,.page-nav .links button:hover{color:var(--notion-ink)}.page-nav .links a[aria-current=page]{color:var(--notion-ink);font-weight:500}.skip-link{z-index:200;background:var(--notion-ink);color:var(--notion-bg);opacity:0;pointer-events:none;transition:opacity var(--dur-normal,.2s) var(--ease-out,ease), transform var(--dur-normal,.2s) var(--ease-out,ease);border-radius:8px;padding:10px 16px;font-family:Inter,sans-serif;font-size:13px;position:fixed;top:50%;left:50%;transform:translate(-50%,calc(-50% - 200px))}.skip-link:focus{opacity:1;pointer-events:auto;outline:1px solid var(--notion-bg);outline-offset:-3px;transform:translate(-50%,-50%)}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.theme-toggle{color:var(--notion-faint);opacity:.85;transition:transform var(--dur-quick,.14s) var(--ease-out-soft,ease), color var(--dur-quick,.16s) ease, opacity var(--dur-quick,.16s) ease;align-items:center;gap:6px;margin:6px -6px -6px;padding:6px;display:inline-flex}.theme-toggle:active{transform:scale(.9)}.page-nav .links button.theme-toggle:hover{color:var(--notion-ink);opacity:1}.theme-toggle svg{width:15px;height:15px;transition:transform var(--dur-slow) var(--ease-out-soft), opacity .2s ease;display:block}.theme-toggle.rotating svg{transform:rotate(180deg)}html[data-theme=dark] .theme-toggle .sun,html[data-theme=light] .theme-toggle .moon{display:none}.meta-link{color:var(--notion-faint);font-style:italic;text-decoration:none;transition:color .16s}.meta-link:hover{color:var(--notion-ink)}.meta-link:after{content:"";vertical-align:0;opacity:.55;background-color:currentColor;width:.6em;height:.6em;margin-left:4px;transition:transform .16s,opacity .16s;display:inline-block;mask-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 10 10' fill='none'><path d='M2.5 5h5M5 2.5L7.5 5 5 7.5' stroke='black' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'/></svg>");mask-position:50%;mask-size:contain;mask-repeat:no-repeat}.meta-link:hover:after{opacity:.85;transform:translate(1px)}.row.has-children,.bullet-cell,.caret,.write-row,.post-write-row{user-select:none}.page-body{max-width:720px;margin:0;padding:132px 32px 200px 96px}.page-back{color:var(--notion-faint);transition:color var(--dur-quick,.14s) ease;align-items:center;gap:8px;margin:0 0 24px;font-family:Inter,ui-sans-serif,system-ui,sans-serif;font-size:14px;font-weight:400;text-decoration:none;display:inline-flex}.page-back:hover{color:var(--notion-ink)}.page-back:after{content:none!important}.page-back .back-arrow{transition:transform var(--dur-quick,.14s) var(--ease-out-soft,ease);font-family:Inter,system-ui,sans-serif;font-size:16px;line-height:1;display:inline-block}.page-back:hover .back-arrow{transform:translate(-2px)}.page-body:focus,.page-body:focus-visible{outline:none}:where(html:not(.cascade-done) .page-body)>*{opacity:0;transition:opacity var(--dur-slow,.36s) ease, transform var(--dur-slow,.36s) cubic-bezier(.2, .7, .2, 1);transform:translateY(3px)}:where(html:not(.cascade-done) .page-body.entered)>*{opacity:1;transform:translateY(0)}@media (prefers-reduced-motion:reduce){:where(.page-body)>*{opacity:1;transition:none;transform:none}html,body{transition:none}}a[href^=http]:not([href*="://ryanbahadori.com"]):after{content:"";vertical-align:0;opacity:.5;background-color:currentColor;width:.62em;height:.62em;margin-left:2px;transition:opacity .16s,transform .16s;display:inline-block;mask-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 10 10' fill='none'><path d='M3.2 7L7 3.2M7 3.2H3.9M7 3.2V6.3' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/></svg>");mask-position:50%;mask-size:contain;mask-repeat:no-repeat}a[href^=http]:not([href*="://ryanbahadori.com"]):hover:after{opacity:.85;transform:translate(.5px,-.5px)}a[data-mention]:after,a[data-no-arrow]:after,.page-nav .links a:after,.page-nav .name:after{content:none!important}@media (width<=720px){.page-nav{font-size:12px;top:18px;left:18px;right:18px}.page-body{padding:108px 24px 160px 60px}}@media (pointer:coarse){.page-nav .links a,.page-nav .links button{margin:-8px -12px;padding:8px 12px}.theme-toggle{margin:-4px!important;padding:10px!important}.theme-toggle svg{width:18px;height:18px}.page-nav .name{margin:-8px;padding:8px}.bullet-cell:after{content:"";position:absolute;inset:-10px}.row{min-height:36px}}@keyframes caret-blink{0%{opacity:1}to{opacity:0}}.caret-blink{animation:1.1s cubic-bezier(.4,0,.6,1) infinite alternate caret-blink!important}@media (prefers-reduced-motion:reduce){.caret-blink{opacity:1!important;animation:none!important}}::view-transition-old(root){animation:.16s both page-fade-out}::view-transition-new(root){animation:.2s 80ms both page-fade-in}@keyframes page-fade-out{to{opacity:0}}@keyframes page-fade-in{0%{opacity:0}to{opacity:1}}::view-transition-old(page-nav),::view-transition-new(page-nav),::view-transition-old(nav-fade),::view-transition-new(nav-fade),::view-transition-old(cursor),::view-transition-new(cursor){animation:none}@media (prefers-reduced-motion:reduce){::view-transition-old(root),::view-transition-new(root){animation:none}}.label .count{color:var(--notion-faint);font-variant-numeric:tabular-nums;opacity:0;transition:opacity var(--dur-normal,.2s) ease 60ms, transform var(--dur-normal,.2s) ease 60ms;padding-left:10px;font-size:12px;display:inline-block;transform:translate(-2px)}.label .count:before{content:"· ";color:var(--notion-faint)}.node.has-children:not(.open)>.row>.label>.count{opacity:1;transform:translate(0)}
