.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 Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/inter-cyrillic-ext-wght-normal.BOeWTOD4.woff2)format("woff2-variations");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/inter-cyrillic-wght-normal.DqGufNeO.woff2)format("woff2-variations");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/inter-greek-ext-wght-normal.DlzME5K_.woff2)format("woff2-variations");unicode-range:U+1F??}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/inter-greek-wght-normal.CkhJZR-_.woff2)format("woff2-variations");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/inter-vietnamese-wght-normal.CBcvBZtf.woff2)format("woff2-variations");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/inter-latin-ext-wght-normal.DO1Apj_S.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,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:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/inter-latin-wght-normal.Dx4kXJAl.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Newsreader Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/_astro/newsreader-vietnamese-opsz-normal.BjhtXyW2.woff2)format("woff2-variations");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Newsreader Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/_astro/newsreader-latin-ext-opsz-normal.BQn1nviT.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,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:Newsreader Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/_astro/newsreader-latin-opsz-normal.s-izfB6B.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;--stone-0:#fbfaf6;--stone-50:#f1eee8;--stone-100:#e5e0d6;--stone-150:#d7d1c6;--stone-200:#c2baad;--stone-300:#a89f91;--stone-400:#8c8376;--stone-500:#736b60;--stone-600:#534e47;--stone-700:#3e3a35;--stone-800:#241f1b;--stone-850:#1a1715;--stone-900:#141312;--stone-950:#121110;--spruce-50:#eaf0ee;--spruce-100:#d6e3df;--spruce-600:#2f5f56;--spruce-700:#244b44;--spruce-300:#93bfb4;--spruce-200:#b4d3cb;--spruce-900:#1f2d2a;--color-bg:var(--lightningcss-light,var(--stone-50))var(--lightningcss-dark,#1c1c1b);--color-surface:var(--lightningcss-light,var(--stone-0))var(--lightningcss-dark,#262624);--color-surface-sunken:var(--lightningcss-light,var(--stone-100))var(--lightningcss-dark,#30302e);--color-text:var(--lightningcss-light,var(--stone-800))var(--lightningcss-dark,#e6e4df);--color-text-strong:var(--lightningcss-light,var(--stone-950))var(--lightningcss-dark,#f4f3f0);--color-text-muted:var(--lightningcss-light,var(--stone-600))var(--lightningcss-dark,#b4afa6);--color-text-faint:var(--lightningcss-light,#5f5952)var(--lightningcss-dark,#a09990);--color-border:var(--lightningcss-light,var(--stone-150))var(--lightningcss-dark,#3a3a37);--color-border-strong:var(--lightningcss-light,var(--stone-200))var(--lightningcss-dark,#4f4f4b);--color-accent:var(--lightningcss-light,var(--spruce-600))var(--lightningcss-dark,var(--spruce-300));--color-accent-strong:var(--lightningcss-light,var(--spruce-700))var(--lightningcss-dark,var(--spruce-200));--color-accent-subtle:var(--lightningcss-light,var(--spruce-50))var(--lightningcss-dark,var(--spruce-900));--color-on-accent:var(--lightningcss-light,var(--stone-0))var(--lightningcss-dark,var(--stone-950));--color-danger:var(--lightningcss-light,#9b3a30)var(--lightningcss-dark,#eea195);--color-highlight:var(--lightningcss-light,var(--stone-150))var(--lightningcss-dark,#333330);--color-selection:var(--lightningcss-light,var(--spruce-100))var(--lightningcss-dark,#2c3d39);--color-shadow:var(--lightningcss-light,#242018)var(--lightningcss-dark,#000);--color-backdrop:var(--lightningcss-light,#12111047)var(--lightningcss-dark,#0000008c);--notion-gray:var(--lightningcss-light,#6b665f)var(--lightningcss-dark,#aaa49b);--notion-gray-bg:var(--lightningcss-light,#eceae6)var(--lightningcss-dark,#33312e);--notion-brown:var(--lightningcss-light,#7a5841)var(--lightningcss-dark,#cdab92);--notion-brown-bg:var(--lightningcss-light,#f1e6dd)var(--lightningcss-dark,#3d322a);--notion-orange:var(--lightningcss-light,#9a4c16)var(--lightningcss-dark,#e6a571);--notion-orange-bg:var(--lightningcss-light,#f8e6d5)var(--lightningcss-dark,#463222);--notion-yellow:var(--lightningcss-light,#7d5e0a)var(--lightningcss-dark,#d8bf72);--notion-yellow-bg:var(--lightningcss-light,#f6ecc8)var(--lightningcss-dark,#403920);--notion-green:var(--lightningcss-light,#356640)var(--lightningcss-dark,#93c49e);--notion-green-bg:var(--lightningcss-light,#e1ede2)var(--lightningcss-dark,#26392b);--notion-blue:var(--lightningcss-light,#2d5a82)var(--lightningcss-dark,#97bbe0);--notion-blue-bg:var(--lightningcss-light,#e0e9f2)var(--lightningcss-dark,#243443);--notion-purple:var(--lightningcss-light,#664a8c)var(--lightningcss-dark,#c0a9df);--notion-purple-bg:var(--lightningcss-light,#ebe4f3)var(--lightningcss-dark,#342b42);--notion-pink:var(--lightningcss-light,#93405f)var(--lightningcss-dark,#e3a3c0);--notion-pink-bg:var(--lightningcss-light,#f4e2ea)var(--lightningcss-dark,#402a35);--notion-red:var(--lightningcss-light,#a1372d)var(--lightningcss-dark,#ec978c);--notion-red-bg:var(--lightningcss-light,#f6e1dd)var(--lightningcss-dark,#432826);--notion-mark:var(--lightningcss-light,#f1e8cf)var(--lightningcss-dark,#474028);--tint-callout:38%;--tint-block:48%;--tint-text:78%;--font-display:"Newsreader Variable", "Iowan Old Style", Georgia, serif;--font-text:"Inter Variable", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-code:ui-monospace, "SF Mono", Menlo, Consolas, monospace;--text-2xs:.6875rem;--text-xs:.75rem;--text-sm:.875rem;--text-base:1rem;--text-read:1.0625rem;--text-lg:1.1875rem;--text-xl:1.4375rem;--text-2xl:1.75rem;--text-3xl:2.125rem;--text-4xl:clamp(2.125rem, 2.4vw + 1.4rem, 2.875rem);--leading-tight:1.12;--leading-snug:1.3;--leading-normal:1.5;--leading-read:1.72;--tracking-display:-.014em;--tracking-tight:-.006em;--tracking-normal:0;--tracking-caps:.07em;--weight-regular:400;--weight-medium:500;--weight-semibold:600;--weight-display:500;--weight-display-strong:560;--measure:68ch;--flow-block:1.15em;--flow-section:2.15em;--flow-subsection:1.75em;--flow-heading-gap:.55em;--flow-item:.5em;--flow-indent:1.35em;--spacing-0:0;--spacing-px:1px;--spacing-0-5:.125rem;--spacing-1:.25rem;--spacing-1-5:.375rem;--spacing-2:.5rem;--spacing-3:.75rem;--spacing-4:1rem;--spacing-5:1.25rem;--spacing-6:1.5rem;--spacing-8:2rem;--spacing-10:2.5rem;--spacing-12:3rem;--spacing-16:4rem;--spacing-20:5rem;--layout-content:68rem;--layout-reading:46rem;--layout-narrow:38rem;--layout-column:68rem;--layout-gutter:clamp(1rem, 3.5vw, 2rem);--layout-section:clamp(var(--spacing-8), 4vw, var(--spacing-12));--layout-header:3.5rem;--layout-card-min:17rem;--control-height:2.25rem;--control-height-touch:2.75rem;--radius-xs:4px;--radius-sm:6px;--radius-md:10px;--radius-lg:14px;--radius-full:999px;--border-width:1px;--border-accent-width:2px;--border:var(--border-width) solid var(--color-border);--border-strong:var(--border-width) solid var(--color-border-strong);--elevation-0:0 0 transparent;--elevation-1:0 1px 2px color-mix(in srgb, var(--color-shadow) 4%, transparent);--elevation-2:0 2px 4px color-mix(in srgb, var(--color-shadow) 4%, transparent), 0 12px 28px color-mix(in srgb, var(--color-shadow) 9%, transparent);--focus-ring:2px solid var(--color-accent);--focus-offset:2px;--duration-instant:.1s;--duration-fast:.16s;--duration-base:.24s;--duration-slow:.36s;--duration-reveal:.56s;--ease-standard:cubic-bezier(.2, 0, 0, 1);--ease-exit:cubic-bezier(.3, 0, .8, .15);--reveal-distance:8px;--reveal-stagger:50ms;--size-28:7rem;--size-32:8rem;--size-36:9rem;--size-44:11rem;--size-48:12rem;--size-52:13rem;--size-56:14rem;--size-64:16rem;--size-74:18.5rem;--size-76:19rem;--size-80:20rem;--size-88:22rem;--size-96:24rem;--size-112:28rem;--size-136:34rem;--size-152:38rem;--size-160:40rem;--size-168:42rem;--size-176:44rem;--size-192:48rem;--size-208:52rem;--rel-0-05:.05em;--rel-0-1:.1em;--rel-0-2:.2em;--rel-0-25:.25em;--rel-0-3:.3em;--rel-0-35:.35em;--rel-0-4:.4em;--rel-0-5:.5em;--rel-0-6:.6em;--rel-0-7:.7em;--rel-0-75:.75em;--rel-0-8:.8em;--rel-0-85:.85em;--rel-0-9:.9em;--rel-1:1em;--rel-1-1:1.1em;--rel-1-2:1.2em;--rel-1-4:1.4em;--rel-1-6:1.6em;--rel-1-8:1.8em;--rel-2-2:2.2em;--print-paper:#fff;--print-ink:#111;--print-muted:#444;--print-rule:#bbb;--print-wash:#f4f4f4;--print-text:11pt;--print-title:22pt}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial}}@media (pointer:coarse){:root{--control-height:var(--control-height-touch)}}:root[data-theme=light]{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}:root[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*,:before,:after{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:calc(var(--header-h) + var(--spacing-4));-webkit-text-size-adjust:100%}body{background:var(--bg);min-height:100vh;color:var(--ink);font:400 var(--text-read)/1.7 var(--font-sans);font-feature-settings:"cv11", "ss01";-webkit-font-smoothing:antialiased;flex-direction:column;margin:0;display:flex}main{flex:1}h1,h2,h3{margin:0 0 var(--space-2);font-family:var(--font-serif);font-weight:var(--title-weight);letter-spacing:var(--title-tracking);color:var(--ink-soft);font-variation-settings:"opsz" 72;text-wrap:balance;line-height:1.18}h1{font-size:var(--text-4xl)}h2{font-size:var(--text-2xl)}h3{font-size:var(--text-lg);letter-spacing:var(--tracking-display);line-height:1.28}p{margin:0 0 var(--space-2);text-wrap:pretty}img{max-width:100%;display:block}picture{display:contents}a{color:var(--accent);text-decoration-thickness:var(--spacing-px);text-underline-offset:var(--rel-0-2)}@media (hover:hover){:where(a):hover{color:var(--ink)}}:focus-visible{outline:var(--focus-ring);outline-offset:var(--focus-offset);border-radius:var(--radius-sm)}::selection{background:var(--accent-soft)}.skip-link{left:var(--space-2);top:calc(-1 * var(--spacing-16));z-index:100;padding:var(--spacing-2) var(--spacing-4);background:var(--surface);border-radius:var(--radius-sm);box-shadow:var(--shadow-md);position:absolute}.skip-link:focus{top:var(--space-1)}.container{width:min(100% - var(--spacing-12), var(--content));margin-inline:auto}.reading{width:min(100% - var(--spacing-12), var(--reading));margin-inline:auto}.section{padding-block:var(--space-5)}.section-head{justify-content:space-between;align-items:baseline;gap:var(--space-2);margin-bottom:var(--space-3);display:flex}.section-head h2{margin:0}.eyebrow{margin:0 0 var(--space-1);font-size:var(--text-xs);letter-spacing:var(--tracking-caps);text-transform:uppercase;color:var(--ink-muted);font-weight:500}.lede{font-size:var(--text-read);color:var(--ink-muted);max-width:var(--size-152);line-height:1.6}.muted{color:var(--ink-muted)}.page-head{padding-block:var(--space-4) var(--space-3)}.empty{padding:var(--space-4);text-align:center;color:var(--ink-muted);border:var(--border-width) dashed var(--line);border-radius:var(--radius)}.visually-hidden{width:var(--spacing-px);height:var(--spacing-px);clip-path:inset(50%);white-space:nowrap;position:absolute;overflow:hidden}@keyframes page-in{0%{opacity:0;transform:translateY(var(--spacing-2))}}::view-transition-old(root){animation:var(--dur-quick) var(--ease-out) both fade-out}::view-transition-new(root){animation:var(--dur-enter) var(--ease) both page-in}@keyframes fade-out{to{opacity:0}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition-duration:0s!important;transition-delay:0s!important;animation-duration:.01ms!important;animation-iteration-count:1!important}::view-transition-group(*){animation:none!important}::view-transition-old(*){animation:none!important}::view-transition-new(*){animation:none!important}}html,body,.nav-list,.ui-panel,.toc-narrow nav,dialog{overscroll-behavior:none}.prose .table-wrap,.prose pre{overscroll-behavior-x:none;overscroll-behavior-y:auto}:root{scrollbar-color:var(--scroll-thumb) transparent;--scroll-thumb:var(--color-border-strong)}.prose .table-wrap,.prose pre,.ui-panel,.nav-list{scrollbar-width:thin;scrollbar-color:var(--scroll-thumb) transparent}@media (pointer:coarse){:is(button,select,summary,.chip,input:not([type=checkbox],[type=radio],[type=hidden])){min-height:var(--control-h)}.chip{align-items:center;display:inline-flex}.toc-narrow summary{align-items:center}.reading-toggle{min-width:var(--control-h)}}.site-header{z-index:50;background:var(--bg);border-bottom:var(--border-width) solid transparent;transition:transform var(--dur-calm) var(--ease), border-color var(--dur-calm) var(--ease-out);will-change:transform;position:sticky;top:0}.site-header[data-scrolled]{border-bottom-color:var(--line)}.site-header[data-hidden]{transform:translateY(-100%)}.site-header:has(:focus-visible){transform:none}.header-inner{justify-content:space-between;align-items:center;gap:var(--space-2);height:var(--header-h);display:flex}.wordmark{align-items:center;gap:var(--spacing-2);padding-block:var(--spacing-2);font:450 var(--text-lg)/1 var(--font-serif);font-variation-settings:"opsz" 36;letter-spacing:var(--tracking-display);color:var(--ink);text-decoration:none;display:inline-flex}.wordmark-text{align-items:baseline;gap:var(--rel-0-3);display:inline-flex}.wordmark-text span{color:var(--ink-muted);transition:color var(--dur-hover) var(--ease);font-style:italic;font-weight:380}@media (hover:hover){.wordmark:hover .wordmark-text span{color:var(--accent)}}.logo-mark{flex:none;display:block}.logo-sq{fill:var(--logo-bg);stroke:var(--logo-edge);transition:fill var(--dur-hover) var(--ease)}.logo-ink{stroke:var(--accent)}.logo-soft{stroke:var(--logo-soft)}@media (hover:hover){.wordmark:hover .logo-sq{fill:var(--logo-bg-hover)}}.site-nav{align-items:center;gap:var(--spacing-1);display:flex}.theme-toggle{width:var(--control-h);height:var(--control-h);border-radius:var(--radius-sm);color:var(--ink-muted);cursor:pointer;transition:color var(--dur-hover) var(--ease);background:0 0;border:0;order:2;place-items:center;display:inline-grid}@media (hover:hover){.theme-toggle:hover{color:var(--ink)}}.theme-toggle svg{width:var(--spacing-5);height:var(--spacing-5)}.theme-toggle .theme-icon-sun,.theme-toggle[aria-pressed=true] .theme-icon-moon{display:none}.theme-toggle[aria-pressed=true] .theme-icon-sun{display:block}.nav-list{align-items:center;gap:var(--spacing-1);margin:0;padding:0;list-style:none;display:flex}.nav-list a,.nav-list button{min-height:var(--control-h);padding:0 var(--spacing-3);border-radius:var(--radius-sm);color:var(--ink-muted);font:450 var(--text-sm) var(--font-sans);letter-spacing:var(--tracking-normal);cursor:pointer;background:0 0;border:0;align-items:center;text-decoration:none;display:inline-flex;position:relative}.nav-list a[aria-current=page]{color:var(--ink)}.nav-list a[aria-current=page]:after{content:"";left:var(--spacing-3);right:var(--spacing-3);bottom:var(--spacing-2);height:var(--spacing-px);background:currentColor;position:absolute}.nav-toggle{align-items:center;gap:var(--spacing-2);min-height:var(--spacing-10);padding:0 var(--spacing-3);margin-right:calc(-1 * var(--spacing-3));border-radius:var(--radius-sm);color:var(--ink);font:450 var(--text-sm) var(--font-sans);cursor:pointer;background:0 0;border:0;display:none}.nav-toggle-icon{width:var(--spacing-4);height:var(--spacing-1-5);position:relative}.nav-toggle-icon:before,.nav-toggle-icon:after{content:"";width:100%;height:var(--spacing-px);transition:transform var(--dur-lift) var(--ease);background:currentColor;position:absolute;left:0}.nav-toggle-icon:before{top:0}.nav-toggle-icon:after{bottom:0}.nav-toggle[aria-expanded=true] .nav-toggle-icon:before{transform:translateY(var(--spacing-0-5)) rotate(45deg)}.nav-toggle[aria-expanded=true] .nav-toggle-icon:after{transform:translateY(calc(-1 * var(--spacing-0-5))) rotate(-45deg)}@media (width<=40rem){.nav-toggle{order:3;display:inline-flex}.theme-toggle{order:1}.nav-list{padding:var(--space-1) var(--spacing-6) var(--space-2);background:var(--bg);border-bottom:var(--border-width) solid var(--line);box-shadow:0 var(--spacing-3) var(--spacing-6) color-mix(in srgb, var(--shadow-rgb) 5%, transparent);flex-direction:column;align-items:stretch;gap:0;display:none;position:absolute;top:100%;left:0;right:0}.nav-list[data-open]{display:flex}.nav-list li+li{border-top:var(--border-width) solid var(--line)}.nav-list a,.nav-list button{width:100%;min-height:var(--spacing-12);font-size:var(--text-base);border-radius:0;padding:0}.nav-list a[aria-current=page]:after{width:var(--spacing-1-5);height:var(--spacing-1-5);border-radius:50%;inset:50% 0 auto auto;transform:translateY(-50%)}.nav-list form{width:100%}.wordmark{font-size:var(--text-lg)}}.site-footer{padding-block:var(--space-4);border-top:var(--border-width) solid var(--line);color:var(--ink-muted);font-size:var(--text-sm)}.footer-inner{justify-content:space-between;gap:var(--space-2);flex-wrap:wrap;display:flex}.site-footer p{margin:0}.site-footer a{color:var(--ink-muted)}@media (hover:hover){.site-footer a:hover{color:var(--ink)}}.btn{align-items:center;gap:var(--spacing-2);padding:var(--spacing-3) var(--spacing-6);border:var(--border-width) solid transparent;border-radius:var(--radius-sm);background:var(--ink);color:var(--bg);font:450 var(--text-base) var(--font-sans);cursor:pointer;text-decoration:none;display:inline-flex}.btn-ghost{color:var(--ink);border-color:var(--line);background:0 0}@media (hover:hover){.btn-ghost:hover{background:var(--surface)}}.chip{padding:var(--spacing-1) var(--spacing-2);border:var(--border-width) solid var(--line);border-radius:var(--radius-sm);color:var(--ink-muted);font-size:var(--meta-size);letter-spacing:var(--meta-tracking);text-transform:uppercase;background:0 0;font-weight:500;text-decoration:none;display:inline-block}@media (hover:hover){a.chip:hover{border-color:var(--line-strong);color:var(--ink)}}.grid{gap:var(--space-3);grid-template-columns:repeat(auto-fill, minmax(var(--size-74), 1fr));margin:0;padding:0;list-style:none;display:grid}.grid>li{flex-direction:column;display:flex}.grid>li>.card{flex:auto;height:auto}.card{border:var(--border-width) solid var(--line);border-radius:var(--radius);background:var(--surface);height:100%;box-shadow:var(--shadow-sm);flex-direction:column;display:flex;position:relative;overflow:hidden}.card:has(:is(h2,h3) a:focus-visible){background:var(--color-highlight);box-shadow:var(--shadow-sm), 0 0 0 var(--spacing-0-5) var(--bg), 0 0 0 var(--spacing-1) var(--accent)}.card-body :is(h2,h3) a:focus-visible{outline:none}.cover{aspect-ratio:16/10;background:var(--surface-tint);position:relative;overflow:hidden}.cover img{object-fit:cover;width:100%;height:100%}.cover-placeholder{background:radial-gradient(circle at 20% 25%, var(--color-accent-subtle) 0 38%, transparent 62%), radial-gradient(circle at 80% 80%, var(--color-surface) 0 35%, transparent 62%), var(--color-surface-sunken);width:100%;height:100%;color:var(--color-text-faint);place-items:center;display:grid}.cover-placeholder svg{width:var(--spacing-8);height:var(--spacing-8);opacity:.55}.card-body{gap:var(--spacing-2);padding:var(--space-3);flex-direction:column;flex:1;display:flex}.card-body :is(h2,h3){font-size:var(--text-lg);letter-spacing:var(--tracking-display);margin:0;line-height:1.28}.card-body :is(h2,h3) a{color:var(--ink-soft);text-decoration:none}.card-body :is(h2,h3) a:after{content:"";position:absolute;inset:0}.card-body p{color:var(--ink-muted);font-size:var(--text-sm);-webkit-line-clamp:3;line-clamp:3;-webkit-box-orient:vertical;margin:0;line-height:1.55;display:-webkit-box;overflow:hidden}.card-meta{justify-content:space-between;align-items:center;gap:var(--space-1);padding-top:var(--space-1);font-size:var(--meta-size);color:var(--ink-faint);margin-top:auto;display:flex}.card-meta .chip{z-index:1;position:relative}.category-card .card-body{padding:var(--space-3);min-height:var(--size-44)}.category-card .count{margin-top:auto}.subtopics{gap:var(--space-1);margin:var(--space-2) 0 0;flex-wrap:wrap;padding:0;list-style:none;display:flex}.subtopics .chip{padding:var(--spacing-1-5) var(--spacing-3)}.breadcrumb ol{gap:var(--spacing-1-5);font-size:var(--text-sm);color:var(--ink-muted);flex-wrap:wrap;margin:0;padding:0;list-style:none;display:flex}.breadcrumb li+li:before{content:"/";margin-right:var(--spacing-1-5);color:var(--line)}.breadcrumb a{color:var(--ink-muted);-webkit-text-decoration-color:var(--line-strong);text-decoration-color:var(--line-strong)}@media (hover:hover){.breadcrumb a:hover{color:var(--accent)}}.file-list{gap:var(--spacing-3);margin:0;padding:0;list-style:none;display:grid}.file-row{align-items:center;gap:var(--space-2);padding:var(--spacing-4) var(--spacing-5);border:var(--border-width) solid var(--line);border-radius:var(--radius);background:var(--surface);color:var(--ink);box-shadow:var(--shadow-sm);text-decoration:none;display:flex}.file-icon{width:var(--spacing-10);height:var(--spacing-10);border-radius:var(--radius-sm);background:var(--surface-tint);color:var(--ink-muted);font-size:var(--text-2xs);letter-spacing:var(--meta-tracking);flex:none;place-items:center;font-weight:600;display:grid}.file-name{overflow-wrap:anywhere;min-width:0;font-weight:400;font-size:var(--text-base);flex:1}.file-size{color:var(--ink-faint);font-size:var(--text-sm);font-variant-numeric:tabular-nums;white-space:nowrap}.file-action{color:var(--accent);font-weight:500;font-size:var(--text-sm)}.meta-label,.card-meta time,.note-meta time,.note-updated,.category-card .count{font-size:var(--meta-size);letter-spacing:var(--meta-tracking);text-transform:uppercase;font-variant-numeric:tabular-nums;color:var(--ink-faint);font-weight:500}.hero-actions{justify-content:center;gap:var(--space-2);flex-wrap:wrap;display:flex}.note{--reading:var(--layout-reading)}.note-header{padding-block:var(--space-4) var(--space-3)}.note-header h1{font-size:var(--text-4xl);margin-top:var(--space-2)}.note-meta{align-items:center;gap:var(--space-1) var(--space-2);color:var(--ink-faint);flex-wrap:wrap;display:flex}.note-cover{aspect-ratio:16/9;margin-bottom:var(--space-4);border:var(--border-width) solid var(--line);border-radius:var(--radius-lg);box-shadow:none;overflow:hidden}.note-cover img,.note-cover .cover-placeholder{object-fit:cover;width:100%;height:100%}.note-cover.has-image{--cover-max:min(var(--size-136), 70vh);aspect-ratio:auto;background:var(--surface);justify-content:center;display:flex}.note-cover.has-image img{width:min(100%, var(--cover-max) * var(--ar,1.6));height:auto;aspect-ratio:var(--ar,1.6);object-fit:contain}.note-body{padding-bottom:var(--space-5);font-size:var(--text-read);line-height:var(--leading-read)}.note-body>*{max-width:var(--measure)}.note-body>.prose{max-width:none}.note-body .prose>:is(p,ul,ol,h2,h3,h4,blockquote,details,.callout){max-width:var(--measure)}.note-body p{margin-bottom:var(--rel-1-1)}.note-body .lede{font-size:var(--text-read);color:var(--ink);line-height:var(--leading-read)}.note-body h2{font-size:var(--text-lg);margin:var(--rel-2-2) 0 var(--rel-0-8)}.note-body .file-list{font-size:var(--text-base);line-height:1.5}.draft-banner{padding:var(--spacing-3) var(--spacing-4);border-radius:var(--radius-sm);background:var(--notice-bg);color:var(--notice-ink)}.reading-time{font-size:var(--meta-size);letter-spacing:var(--meta-tracking);text-transform:uppercase;color:var(--ink-faint)}.note-meta time+.reading-time:before,.note-meta time+.note-updated:before,.note-updated+.reading-time:before{content:"·";margin-right:var(--space-2)}@media (width<=30rem){.note-meta time+.reading-time:before{content:none}}.toc-title{margin:0 0 var(--spacing-2);font-size:var(--meta-size);letter-spacing:var(--meta-tracking);text-transform:uppercase;color:var(--ink-faint)}.toc-list{font-size:var(--text-sm);margin:0;padding:0;line-height:1.45;list-style:none}.toc-list li{margin:0}.toc-list a{padding:var(--spacing-1) 0 var(--spacing-1) var(--spacing-3);border-left:var(--border-width) solid var(--line);color:var(--ink-muted);transition:color var(--dur) var(--ease-out), border-color var(--dur) var(--ease-out);text-decoration:none;display:block}@media (hover:hover){.toc-list a:hover{color:var(--ink)}}.toc-list a[aria-current=true]{color:var(--ink);border-left-color:var(--ink)}.toc-list .toc-l3 a{padding-left:var(--spacing-6)}.toc-list .toc-l4 a{padding-left:var(--spacing-10);font-size:var(--text-sm)}.toc-track{display:none}.toc-narrow{width:min(100% - var(--spacing-12), var(--reading));margin:0 auto var(--space-3);padding:var(--spacing-3) var(--spacing-4);border:var(--border-width) solid var(--line);border-radius:var(--radius-sm);background:var(--surface)}.toc-narrow summary{justify-content:space-between;gap:var(--space-2);cursor:pointer;font-size:var(--text-sm);color:var(--ink-soft);list-style:none;display:flex}.toc-narrow summary::-webkit-details-marker{display:none}.toc-narrow summary:after{content:"›";color:var(--ink-faint);transition:transform var(--dur-quick) var(--ease)}.toc-narrow[open] summary:after{transform:rotate(90deg)}.toc-narrow .toc-count{color:var(--ink-faint);font-size:var(--text-sm);margin-left:auto}.toc-narrow nav{margin-top:var(--spacing-3)}.toc-wide{display:none}@media (width>=80rem){.has-toc .note-layout{grid-template-columns:minmax(0, 1fr) minmax(0, var(--reading)) minmax(0, 1fr);align-items:start;display:grid}.has-toc .note-body{width:auto;min-width:0;margin-inline:var(--spacing-4);grid-area:1/2}.toc-wide{--toc-top:calc(var(--header-h) + var(--space-4));top:var(--toc-top);max-width:var(--size-48);max-height:calc(100vh - var(--toc-top) - var(--space-4));margin-left:clamp(var(--spacing-8), 4vw, var(--spacing-16));padding-block:var(--spacing-1) var(--spacing-4);transition:top var(--dur-calm) var(--ease);scrollbar-width:none;--fade-top:0;--fade-bottom:0;-webkit-mask-image:linear-gradient(to bottom, transparent 0, black var(--fade-top), black calc(100% - var(--fade-bottom)), transparent 100%);mask-image:linear-gradient(to bottom, transparent 0, black var(--fade-top), black calc(100% - var(--fade-bottom)), transparent 100%);grid-area:1/3;display:block;position:sticky;overflow-y:auto}.toc-wide::-webkit-scrollbar{display:none}.toc-wide:is([data-more=top],[data-more=both]){--fade-top:var(--spacing-10)}.toc-wide:is([data-more=bottom],[data-more=both]){--fade-bottom:var(--spacing-12)}.toc-wide[data-more]{overscroll-behavior:none}.toc-wide[data-fold] li.toc-sub:not(.toc-open){display:none}.toc-wide[data-fold] li.toc-open{animation:toc-in var(--dur-lift) var(--ease) both}html[data-nav-hidden] .toc-wide{--toc-top:var(--space-4)}.toc-wide .toc-list{font-size:var(--text-xs);position:relative}.toc-wide .toc-list a{color:var(--ink-faint);padding-block:var(--spacing-1);border-left-color:#0000}.toc-wide .toc-list a:hover,.toc-wide .toc-list a[aria-current=true]{color:var(--ink)}.toc-wide .toc-list a[aria-current=true]{border-left-color:var(--ink-muted)}.toc-wide .toc-track{left:0;top:var(--spacing-8);width:var(--spacing-px);background:var(--line);pointer-events:none;display:block;position:absolute;bottom:0}.toc-wide .toc-track:after{content:"";background:var(--line-strong);transform:scaleY(var(--progress,0));transform-origin:top;position:absolute;inset:0}.toc-narrow{display:none}}@keyframes toc-in{0%{opacity:0;transform:translateY(calc(-1 * var(--spacing-0-5)))}}.note-nav{gap:var(--space-2);margin-top:var(--space-5);padding-top:var(--space-3);border-top:var(--border-width) solid var(--line);grid-template-columns:1fr 1fr;display:grid}.note-nav-link{gap:var(--spacing-1);padding:var(--spacing-4) var(--spacing-4);border:var(--border-width) solid var(--line);border-radius:var(--radius-sm);background:var(--surface);color:var(--ink-soft);flex-direction:column;text-decoration:none;display:flex}.note-nav-link.is-next{text-align:right;grid-column:2}.note-nav-label{font-size:var(--meta-size);letter-spacing:var(--meta-tracking);text-transform:uppercase;color:var(--ink-faint)}.note-nav-label:before{content:"← "}.is-next .note-nav-label:before{content:""}.is-next .note-nav-label:after{content:" →"}.note-nav-title{font:400 var(--text-base)/1.35 var(--font-serif)}@media (width<=40rem){.note-nav{grid-template-columns:1fr}.note-nav-link.is-next{grid-column:1}}.page-stats{margin:var(--space-1) 0 0;font-size:var(--meta-size);letter-spacing:var(--meta-tracking);text-transform:uppercase;color:var(--ink-faint)}.page-section{padding-bottom:var(--space-5)}.section-title{margin:0 0 var(--space-2);font-size:var(--text-lg)}.section-count{margin-left:var(--rel-0-35);font:400 var(--meta-size)/1 var(--font-sans);letter-spacing:var(--meta-tracking);color:var(--ink-faint);vertical-align:middle}#notes{scroll-margin-top:var(--space-5)}.subject-guide{margin:0 0 var(--space-5)}.guide-banner{margin:0 0 var(--space-3);border:var(--border-width) solid var(--line);border-radius:var(--radius);background:var(--surface);overflow:hidden}.guide-banner img,.guide-banner .cover-placeholder{object-fit:contain;width:100%;height:auto;display:block}.guide-body{max-width:var(--measure)}.guide-body h2{margin:var(--spacing-1) 0 var(--space-2)}.guide-body .prose>:first-child{margin-top:0}.guide-links{gap:var(--space-1) var(--space-3);margin:var(--space-3) 0 0;flex-wrap:wrap;display:flex}.guide-links a{font-size:var(--meta-size);letter-spacing:var(--meta-tracking);text-transform:uppercase;text-underline-offset:var(--rel-0-25)}.section-title a{color:var(--ink);-webkit-text-decoration-color:var(--line-strong);text-decoration-color:var(--line-strong);text-underline-offset:var(--rel-0-2)}@media (hover:hover){.section-title a:hover{text-decoration-color:currentColor}}.subject-card .card-meta{color:var(--ink-faint)}.subject-card .cover{aspect-ratio:3}.subject-card .cover.is-banner img{object-position:left center}.card-arrow{width:var(--spacing-4);height:var(--spacing-4);fill:none;stroke:currentColor;stroke-width:1.5px;stroke-linecap:round;stroke-linejoin:round}.status-page{padding-block:var(--space-6) var(--space-5);text-align:center}.status-page h1{max-width:20ch;margin-inline:auto}.status-page .lede{margin-inline:auto;margin-bottom:var(--space-4)}.status-search{gap:var(--space-2);max-width:var(--size-112);margin:0 auto var(--space-4);align-items:center;display:flex}.status-search .search-field{flex:1}.status-links{justify-content:center;gap:var(--space-1) var(--space-3);flex-wrap:wrap;margin:0;padding:0;list-style:none;display:flex}.prose{max-width:var(--measure)}.prose>:first-child{margin-top:0}.prose p{margin:0 0 var(--rel-1-1)}.prose h2,.prose h3,.prose h4{font-family:var(--font-serif);font-weight:var(--title-weight);letter-spacing:var(--title-tracking);color:var(--ink-soft);line-height:1.3}.prose h2{font-size:var(--text-xl);margin:var(--rel-2-2) 0 var(--rel-0-7)}.prose h3{font-size:var(--text-lg);margin:var(--rel-1-8) 0 var(--rel-0-6)}.prose h4{font-size:var(--text-base);margin:var(--rel-1-6) 0 var(--rel-0-5);font-family:var(--font-sans);letter-spacing:0;font-weight:600}.prose a{color:var(--accent);-webkit-text-decoration-color:var(--line-strong);text-decoration-color:var(--line-strong);text-underline-offset:var(--rel-0-2)}@media (hover:hover){.prose a:hover{text-decoration-color:currentColor}}.prose strong{font-weight:600}.prose ul,.prose ol{margin:0 0 var(--rel-1-1);padding-left:var(--rel-1-4)}.prose li{margin:var(--rel-0-25) 0;padding-left:var(--rel-0-2)}.prose li>ul,.prose li>ol{margin:var(--rel-0-25) 0 var(--rel-0-4)}.prose li::marker{color:var(--ink-faint)}.prose ol>li::marker{font-variant-numeric:tabular-nums;font-size:var(--rel-0-9)}.prose .indent{padding-left:var(--rel-1-4)}.prose blockquote{margin:var(--rel-1-6) 0;padding:var(--rel-0-1) 0 var(--rel-0-1) var(--rel-1-1);border-left:var(--border-accent-width) solid var(--line-strong);font-family:var(--font-serif);font-size:var(--text-lg);color:var(--ink-muted);font-style:italic}.prose blockquote p:last-child{margin-bottom:0}.prose .callout{gap:var(--spacing-3);margin:var(--rel-1-6) 0;padding:var(--spacing-4) var(--spacing-4);border:var(--border-width) solid var(--line);border-radius:var(--radius-sm);background:var(--surface-tint);font-size:var(--text-base);line-height:1.6;display:flex}.prose .callout>div{flex:1;min-width:0}.prose :is(.callout>div,.column,blockquote)>:first-child{margin-top:0}.prose :is(.callout>div,details,.column,blockquote)>:last-child{margin-bottom:0}.prose .callout-icon{flex:none;line-height:1.6}.prose .callout-heading.callout-heading{gap:var(--rel-0-6);margin-inline:0;margin-bottom:var(--rel-0-6);padding:var(--rel-0-4) var(--rel-0-75);border-radius:var(--radius-sm);align-items:baseline;display:flex}.prose .callout-heading.callout-heading+*{margin-top:0}.prose .callout-heading .callout-icon{font-size:var(--rel-0-85);line-height:1}.prose .callout-heading{border:var(--border-width) solid var(--line);background:var(--surface-tint)}.prose .callout-blue{background:var(--tint-blue);border-color:var(--tint-blue-line)}.prose .callout-yellow,.prose .callout-orange{background:var(--tint-yellow);border-color:var(--tint-yellow-line)}.prose .callout-red,.prose .callout-pink{background:var(--tint-red);border-color:var(--tint-red-line)}.prose .callout-green{background:var(--tint-green);border-color:var(--tint-green-line)}.prose .callout-purple{background:var(--tint-purple);border-color:var(--tint-purple-line)}.prose code{padding:var(--rel-0-1) var(--rel-0-35);border-radius:var(--radius-xs);background:var(--surface-tint);font-family:var(--font-mono);font-size:var(--rel-0-85)}.prose figure{margin:var(--rel-1-8) 0}.prose .code pre{padding:var(--spacing-4) var(--spacing-5);border:var(--border-width) solid var(--line);border-radius:var(--radius-sm);background:var(--surface);margin:0;line-height:1.55;overflow-x:auto}.prose .code code{font-size:var(--text-sm);white-space:pre;background:0 0;padding:0}.prose .math{font-family:Iowan Old Style,Georgia,serif;font-style:italic;font-size:var(--rel-1);background:0 0}.prose .equation{margin:var(--rel-1-4) 0;text-align:center;color:var(--ink-soft)}.prose figcaption{margin-top:var(--spacing-2);font-size:var(--text-sm);color:var(--ink-faint);text-align:center;line-height:1.5}.prose .image img{border:var(--border-width) solid var(--line);border-radius:var(--radius);background:var(--surface-tint);width:100%;height:auto;display:block}.prose :is(.table-wrap,.code pre):focus-visible{outline:var(--focus-ring);outline-offset:var(--focus-offset)}.prose .table-wrap{margin:var(--rel-1-6) 0;border:var(--border-width) solid var(--line);border-radius:var(--radius-sm);background:var(--surface);overflow-x:auto}.prose table{border-collapse:collapse;width:100%;font-size:var(--text-base);line-height:1.5}.prose th,.prose td{padding:var(--spacing-2) var(--spacing-3);text-align:left;vertical-align:top;border-bottom:var(--border-width) solid var(--line)}.prose tr:last-child>*{border-bottom:0}.prose thead th{font-size:var(--meta-size);letter-spacing:var(--meta-tracking);text-transform:uppercase;color:var(--ink-faint);background:var(--bg);font-weight:500}.prose tbody th{font-weight:500}.prose details{margin:var(--rel-0-9) 0;padding:var(--spacing-2) var(--spacing-4);border:var(--border-width) solid var(--line);border-radius:var(--radius-sm);background:var(--surface)}.prose details[open]{padding-bottom:var(--spacing-1)}.prose summary{cursor:pointer;gap:var(--spacing-2);align-items:baseline;list-style:none;display:flex}.prose summary::-webkit-details-marker{display:none}.prose summary:before{content:"›";color:var(--ink-faint);transition:transform var(--dur-quick) var(--ease)}.prose details[open]>summary:before{transform:rotate(90deg)}.prose details[open]>summary{margin-bottom:var(--spacing-2)}.prose summary>:is(h2,h3,h4){margin:0;display:inline}.prose .todo-list{padding-left:0;list-style:none}.prose .todo{gap:var(--spacing-2);align-items:baseline;display:flex}.prose .todo-box{width:var(--spacing-4);height:var(--spacing-4);border:var(--border-accent-width) solid var(--line-strong);border-radius:var(--radius-xs);transform:translateY(var(--rel-0-1));flex:none}.prose .todo.is-done .todo-box{border-color:var(--accent);background:var(--accent);position:relative}.prose .todo.is-done .todo-box:after{content:"";background:var(--on-accent);-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M4 8.5l2.5 2.5L12 5.5' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center / var(--spacing-3) no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M4 8.5l2.5 2.5L12 5.5' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center / var(--spacing-3) no-repeat;position:absolute;inset:0}.prose .todo.is-done>span:last-child{color:var(--ink-faint);text-decoration:line-through;-webkit-text-decoration-color:var(--line-strong);text-decoration-color:var(--line-strong)}.prose hr{margin:var(--rel-2-2) auto;width:var(--spacing-16);border:0;border-top:var(--border-width) solid var(--line-strong)}.prose .file-card,.prose .bookmark{gap:var(--spacing-1-5) var(--spacing-3);margin:var(--rel-1-2) 0;padding:var(--spacing-3) var(--spacing-4);border:var(--border-width) solid var(--line);border-radius:var(--radius-sm);background:var(--surface);font-size:var(--text-base);flex-wrap:wrap;align-items:baseline;display:flex}.prose .file-kind{font-size:var(--meta-size);letter-spacing:var(--meta-tracking);text-transform:uppercase;color:var(--ink-faint)}.prose .file-note{font-size:var(--text-sm);color:var(--ink-muted);flex-basis:100%}.prose .bookmark a{overflow-wrap:anywhere}.prose .columns{grid-template-columns:repeat(auto-fit, minmax(var(--size-56), 1fr));gap:0 var(--spacing-6);display:grid}.prose .child-page a:before{content:"↳ ";color:var(--ink-faint)}.prose .n-color-gray{color:var(--n-gray)}.prose .n-color-brown{color:var(--n-brown)}.prose .n-color-orange{color:var(--n-orange)}.prose .n-color-yellow{color:var(--n-yellow)}.prose .n-color-green{color:var(--n-green)}.prose .n-color-blue{color:var(--n-blue)}.prose .n-color-purple{color:var(--n-purple)}.prose .n-color-pink{color:var(--n-pink)}.prose .n-color-red{color:var(--n-red)}.prose .n-bg-gray{background:var(--n-gray-bg)}.prose .n-bg-brown{background:var(--n-brown-bg)}.prose .n-bg-orange{background:var(--n-orange-bg)}.prose .n-bg-yellow{background:var(--n-yellow-bg)}.prose .n-bg-green{background:var(--n-green-bg)}.prose .n-bg-blue{background:var(--n-blue-bg)}.prose .n-bg-purple{background:var(--n-purple-bg)}.prose .n-bg-pink{background:var(--n-pink-bg)}.prose .n-bg-red{background:var(--n-red-bg)}.prose mark{color:inherit;padding:var(--rel-0-05) var(--rel-0-2);border-radius:var(--radius-xs);-webkit-box-decoration-break:clone;box-decoration-break:clone}.prose :is(p,h2,h3,h4,li,blockquote,details)[class*=n-bg-]{padding:var(--rel-0-2) var(--rel-0-5);margin-inline:calc(-1 * var(--rel-0-5));border-radius:var(--radius-sm)}.prose li[class*=n-bg-]{margin-inline:0}@media (prefers-reduced-motion:reduce){.prose summary:before{transition:none}}.prose .asset-missing{min-height:var(--size-32);border:var(--border-width) dashed var(--line-strong);border-radius:var(--radius);background:var(--surface-tint);color:var(--ink-faint);font-size:var(--text-sm);place-items:center;display:grid}.admin-main{width:min(100% - var(--spacing-12), var(--size-208));margin:var(--space-4) auto var(--space-5)}.admin-main h1{font-size:var(--text-3xl)}.admin-main form{margin-block:var(--space-3)}.admin-main label{font-weight:500;font-size:var(--text-base)}.admin-main :is(input:not([type=hidden],[type=checkbox],[type=file]),textarea,select){width:100%;max-width:100%;margin-top:var(--spacing-1)}.admin-main [role=alert]{padding:var(--spacing-3) var(--spacing-4);border-radius:var(--radius-sm);background:var(--alert-bg);color:var(--danger)}.admin-main table{border-collapse:collapse;background:var(--surface);border:var(--border-width) solid var(--line);border-radius:var(--radius);width:100%;box-shadow:var(--shadow-sm)}.admin-main caption{text-align:left;padding-bottom:var(--space-1);font-weight:600}.admin-main th,.admin-main td{padding:var(--spacing-3) var(--spacing-4);text-align:left;border-bottom:var(--border-width) solid var(--line)}.admin-main thead th{font-size:var(--text-xs);text-transform:uppercase;letter-spacing:var(--tracking-caps);color:var(--ink-muted)}.source-badge{padding:var(--spacing-0-5) var(--spacing-2);border:var(--border-width) solid var(--line);border-radius:var(--radius-pill);font-size:var(--meta-size);letter-spacing:var(--tracking-caps);color:var(--ink-faint);display:inline-block}.source-badge.is-notion{border-color:var(--line-strong);background:var(--surface-tint);color:var(--ink-muted)}.managed{margin:var(--space-3) 0;padding:var(--spacing-4) var(--spacing-5);border:var(--border-width) solid var(--line);border-radius:var(--radius);background:var(--surface)}.managed p:last-child{margin-bottom:0}.managed-meta,.sync-grid{gap:var(--spacing-2) var(--spacing-6);margin:var(--spacing-4) 0;grid-template-columns:max-content 1fr;display:grid}.managed-meta dt,.sync-grid dt{color:var(--ink-faint);font-size:var(--text-sm)}.managed-meta dd,.sync-grid dd{margin:0}.sync-panel{margin:var(--space-3) 0;padding:var(--spacing-5) var(--spacing-6);border:var(--border-width) solid var(--line);border-radius:var(--radius);background:var(--surface)}.sync-panel h2{margin-top:0}.sync-actions{gap:var(--spacing-2);margin-top:var(--spacing-4);flex-wrap:wrap;display:flex}.sync-actions form{margin:0}.sync-panel .hint,.muted{color:var(--ink-faint);font-size:var(--text-sm)}.pill{margin-right:var(--spacing-1-5);padding:var(--spacing-0-5) var(--spacing-2);border-radius:var(--radius-pill);background:var(--surface-tint);font-size:var(--text-sm);color:var(--ink-muted);display:inline-block}.pill.is-on{background:var(--ok-bg);color:var(--ok-ink)}.pill.is-warn{background:var(--notice-bg);color:var(--notice-ink)}.pill.is-bad{background:var(--tint-red);color:var(--text-red)}.sync-counts{width:auto;min-width:var(--size-80);margin-top:var(--spacing-4)}.sync-counts caption{text-align:left}.sync-counts td{text-align:right;font-variant-numeric:tabular-nums}.sync-error{color:var(--danger)}.sync-warnings{font-size:var(--text-sm);color:var(--ink-muted)}.sync-flash{padding:var(--spacing-2) var(--spacing-4);border-radius:var(--radius-sm);background:var(--surface-tint)}.storage-notice{padding:var(--spacing-3) var(--spacing-4);border:var(--border-width) solid var(--tint-yellow-line);border-radius:var(--radius-sm);background:var(--notice-bg);color:var(--notice-ink);font-size:var(--text-sm)}.ui-input,.ui-select,.tool select,.tool input:not([type=checkbox]),.admin-main :is(input:not([type=hidden],[type=checkbox],[type=file]),textarea,select){min-height:var(--control-h);padding:var(--spacing-2) var(--spacing-3);border:var(--border-width) solid var(--line);border-radius:var(--radius-sm);background-color:var(--surface);color:var(--ink);font:400 var(--text-sm)/1.4 var(--font-sans);transition:border-color var(--dur) var(--ease-out), box-shadow var(--dur) var(--ease-out)}@media (hover:hover){:is(.ui-input,.ui-select,.tool select,.tool input,.admin-main input,.admin-main textarea,.admin-main select):hover{border-color:var(--line-strong)}}:is(.ui-input,.ui-select,.tool select,.tool input,.admin-main input,.admin-main textarea,.admin-main select):focus-visible{border-color:var(--accent);box-shadow:0 0 0 var(--spacing-0-5) color-mix(in srgb, var(--accent) 16%, transparent);outline:none}.ui-select,.tool select,.admin-main select{appearance:none;padding-right:var(--spacing-8);background:var(--surface) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none' stroke='%235f5c67' stroke-width='1.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m4 6 4 4 4-4'/%3E%3C/svg%3E") no-repeat right var(--spacing-3) center / var(--spacing-4)}.ui-input[type=date]{font-variant-numeric:tabular-nums}.ui-input[type=date]::-webkit-calendar-picker-indicator{opacity:.45;cursor:pointer}.admin-main input[type=file]{font:400 var(--text-sm) var(--font-sans);color:var(--ink-muted)}.admin-main input[type=file]::file-selector-button{margin-right:var(--spacing-3);padding:var(--spacing-2) var(--spacing-4);border:var(--border-width) solid var(--line);border-radius:var(--radius-sm);background:var(--surface);color:var(--ink);font:450 var(--text-sm) var(--font-sans);cursor:pointer}.ui-field{gap:var(--spacing-1);display:grid}.ui-field>span,.ui-custom legend{font-size:var(--meta-size);letter-spacing:var(--meta-tracking);text-transform:uppercase;color:var(--ink-faint);font-weight:500}.btn-sm{padding:var(--spacing-2) var(--spacing-4);font-size:var(--text-sm)}.btn-quiet{color:var(--ink-muted);background:0 0;border-color:#0000}@media (hover:hover){.btn-quiet:hover{color:var(--ink)}}.ui-trigger{align-items:center;gap:var(--spacing-2);min-height:var(--control-h);padding:0 var(--spacing-3) 0 var(--spacing-4);border:var(--border-width) solid var(--line);border-radius:var(--radius-sm);background:var(--surface);color:var(--ink);font:400 var(--text-sm) var(--font-sans);cursor:pointer;transition:border-color var(--dur) var(--ease-out), background var(--dur) var(--ease-out);display:inline-flex}@media (hover:hover){.ui-trigger:hover{border-color:var(--line-strong)}}.ui-trigger-label{color:var(--ink-faint)}.ui-trigger-value{color:var(--ink);max-width:var(--size-64);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.ui-chevron{width:var(--spacing-3);height:var(--spacing-3);color:var(--ink-faint);transition:transform var(--dur) var(--ease)}.ui-trigger[aria-expanded=true]{border-color:var(--line-strong);background:var(--surface-tint)}.ui-trigger[aria-expanded=true] .ui-chevron{transform:rotate(180deg)}.ui-trigger[data-active]{border-color:color-mix(in srgb, var(--accent) 45%, var(--line));background:color-mix(in srgb, var(--accent-soft) 60%, var(--surface))}.ui-trigger[data-active] .ui-trigger-label{color:var(--ink-muted)}.ui-panel{min-width:var(--size-56);max-width:min(var(--size-88), calc(100vw - var(--spacing-6)));max-height:min(var(--size-96), calc(100vh - var(--spacing-6)));padding:var(--spacing-1-5);border:var(--border-width) solid var(--line);border-radius:var(--radius);background:var(--surface);color:var(--ink);box-shadow:var(--shadow-pop);opacity:0;transform:translateY(calc(-1 * var(--spacing-1)));transition:opacity var(--dur-quick) var(--ease), transform var(--dur-quick) var(--ease), overlay var(--dur-quick) allow-discrete, display var(--dur-quick) allow-discrete;margin:0;position:fixed;inset:auto;overflow:auto}.ui-panel:popover-open{opacity:1;transform:none}@starting-style{.ui-panel:popover-open{opacity:0;transform:translateY(calc(-1 * var(--spacing-1)))}}.ui-panel::backdrop{background:0 0}.ui-sheet-head{display:none}.ui-listbox{gap:var(--spacing-px);outline:none;display:grid}.ui-option{align-items:center;gap:var(--spacing-2);min-height:var(--spacing-8);padding:var(--spacing-1-5) var(--spacing-3) var(--spacing-1-5) calc(var(--spacing-2) + var(--depth,0) * var(--spacing-4));border-radius:var(--radius-sm);font-size:var(--text-sm);color:var(--ink-muted);cursor:pointer;-webkit-user-select:none;user-select:none;display:flex}.ui-option[style*=--depth]{font-size:var(--text-sm)}.ui-option .ui-check{visibility:hidden}.ui-option[aria-selected=true]{color:var(--ink)}.ui-option[aria-selected=true] .ui-check{visibility:visible}.ui-option.is-active{background:var(--surface-tint);color:var(--ink)}.ui-listbox:focus-visible .ui-option.is-active{box-shadow:inset 0 0 0 var(--spacing-px) var(--line-strong)}.ui-check{width:var(--spacing-4);height:var(--spacing-4);color:var(--accent);flex:none}.ui-switch{align-items:center;gap:var(--spacing-2);min-height:var(--control-h);padding:0 var(--spacing-2);border-radius:var(--radius-sm);color:var(--ink-muted);font:400 var(--text-sm) var(--font-sans);cursor:pointer;background:0 0;border:0;display:inline-flex}.ui-switch-track{width:var(--spacing-8);height:var(--spacing-4);border-radius:var(--radius-pill);background:var(--line-strong);transition:background var(--dur) var(--ease-out);position:relative}.ui-switch-thumb{top:var(--spacing-0-5);left:var(--spacing-0-5);width:calc(var(--spacing-4) - var(--spacing-1));height:calc(var(--spacing-4) - var(--spacing-1));background:var(--surface);box-shadow:0 var(--spacing-px) var(--spacing-0-5) color-mix(in srgb, var(--shadow-rgb) 20%, transparent);transition:transform var(--dur) var(--ease);border-radius:50%;position:absolute}.ui-switch[aria-checked=true]{color:var(--ink)}.ui-switch[aria-checked=true] .ui-switch-track{background:var(--accent)}.ui-switch[aria-checked=true] .ui-switch-thumb{transform:translateX(var(--spacing-3))}.ui-date{gap:var(--spacing-2);width:var(--size-76);max-width:100%;padding:var(--spacing-1-5);display:grid}.ui-segment{padding:var(--spacing-0-5);border-radius:var(--radius-sm);background:var(--surface-tint);grid-template-columns:1fr 1fr;display:grid}.ui-segment-btn{min-height:var(--spacing-8);border-radius:var(--radius-sm);color:var(--ink-muted);font:450 var(--text-sm) var(--font-sans);cursor:pointer;background:0 0;border:0}.ui-segment-btn[aria-pressed=true]{background:var(--surface);color:var(--ink);box-shadow:var(--shadow-sm), 0 0 0 var(--spacing-px) var(--line)}.ui-presets{gap:var(--spacing-px);display:grid}.ui-preset{align-items:center;gap:var(--spacing-2);min-height:var(--spacing-8);padding:0 var(--spacing-2);border-radius:var(--radius-sm);color:var(--ink-muted);font:400 var(--text-sm) var(--font-sans);text-align:left;cursor:pointer;background:0 0;border:0;display:flex}.ui-preset .ui-check{visibility:hidden}.ui-preset[aria-pressed=true]{color:var(--ink)}.ui-preset[aria-pressed=true] .ui-check{visibility:visible}.ui-custom{gap:var(--spacing-2);padding:var(--spacing-3) 0 0;border:0;border-top:var(--border-width) solid var(--line);grid-template-columns:1fr 1fr;margin:0;display:grid}.ui-custom legend{float:left;margin-bottom:var(--spacing-0-5);padding:var(--spacing-3) 0 0;grid-column:1/-1}.ui-custom .ui-input{width:100%;min-width:0;padding-inline:var(--spacing-2);font-size:var(--text-sm)}.ui-custom .btn{grid-column:1/-1;justify-content:center}.toolbar.ui-fallback{display:none}@media (scripting:none){.toolbar.ui-enhanced{display:none}.toolbar.ui-fallback{display:flex}}@media (width<=40rem){.ui-panel{width:100%;max-width:none;max-height:75vh;padding:var(--spacing-2) var(--spacing-3) calc(var(--spacing-4) + env(safe-area-inset-bottom));border-radius:var(--radius-lg) var(--radius-lg) 0 0;transform:translateY(var(--spacing-4));border-bottom:0;inset:auto 0 0}@starting-style{.ui-panel:popover-open{opacity:0;transform:translateY(var(--spacing-4))}}.ui-panel::backdrop{background:var(--backdrop)}.ui-sheet-head{top:calc(-1 * var(--spacing-2));z-index:1;margin:calc(-1 * var(--spacing-2)) calc(-1 * var(--spacing-3)) var(--spacing-1);padding:var(--spacing-3) var(--spacing-4);background:var(--surface);border-bottom:var(--border-width) solid var(--line);font:400 var(--text-read) var(--font-serif);justify-content:space-between;align-items:center;display:flex;position:sticky}.ui-sheet-done{min-height:var(--spacing-8);padding:0 var(--spacing-2);color:var(--accent);font:500 var(--text-sm) var(--font-sans);cursor:pointer;background:0 0;border:0}.ui-option,.ui-preset{min-height:var(--spacing-10);font-size:var(--text-base)}.ui-date{width:auto}.ui-trigger-value{max-width:var(--size-36)}}@media (prefers-reduced-motion:reduce){.ui-panel,.ui-chevron,.ui-switch-thumb,.ui-switch-track{transition:none}}.btn-danger{color:var(--danger)}@media (hover:hover){.btn-danger:hover{border-color:color-mix(in srgb, var(--danger) 40%, var(--line));background:color-mix(in srgb, var(--danger) 6%, var(--surface))}}.search{gap:var(--space-2);margin-bottom:var(--space-3);display:grid}.search-field{border-bottom:var(--border-width) solid var(--line-strong);transition:border-color var(--dur) var(--ease-out);align-items:center;display:flex;position:relative}.search-field:focus-within{border-color:var(--ink);box-shadow:0 var(--spacing-px) 0 var(--ink)}.search-icon{width:var(--spacing-5);height:var(--spacing-5);color:var(--ink-faint);flex:none}.search-field input{min-width:0;min-height:var(--spacing-12);padding:0 var(--spacing-3);color:var(--ink);font:400 var(--text-lg)/1.3 var(--font-serif);letter-spacing:var(--tracking-display);background:0 0;border:0;flex:1}.search-field input::placeholder{color:var(--ink-faint);opacity:1}.search-field input:focus{outline:none}.search-kbd{padding:var(--spacing-0-5) var(--spacing-2);border:var(--border-width) solid var(--line);border-radius:var(--radius-xs);color:var(--ink-faint);font:500 var(--text-xs) var(--font-sans)}.toolbar{align-items:end;gap:var(--space-1) var(--space-3);flex-wrap:wrap;display:flex}.toolbar.ui-enhanced{align-items:center;gap:var(--spacing-2)}.tool{gap:var(--spacing-1);border:0;min-width:0;margin:0;padding:0;display:grid}.tool>label,.tool>legend{font-size:var(--meta-size);letter-spacing:var(--meta-tracking);text-transform:uppercase;color:var(--ink-faint);padding:0;font-weight:500}.tool-range{align-items:center;column-gap:var(--spacing-1-5);grid-template-columns:auto auto auto auto}.tool-range legend{margin-bottom:var(--spacing-1);grid-column:1/-1}.tool-sep{color:var(--ink-faint)}.tool-check{align-items:center;gap:var(--spacing-2);min-height:var(--spacing-8);display:flex}.tool-check input{width:var(--spacing-4);height:var(--spacing-4);accent-color:var(--accent);margin:0}.tool-check label{font-size:var(--text-sm);color:var(--ink-muted)}.tool-sort{margin-left:auto}[data-search-form][data-enhanced] button[type=submit]{width:var(--spacing-px);height:var(--spacing-px);clip-path:inset(50%);position:absolute;overflow:hidden}.results-head{align-items:center;gap:var(--space-1) var(--space-2);margin-bottom:var(--space-3);padding-bottom:var(--space-2);border-bottom:var(--border-width) solid var(--line);flex-wrap:wrap;display:flex}.result-count{color:var(--ink-muted);font-size:var(--text-sm);font-variant-numeric:tabular-nums;margin:0}.active-filters{align-items:center;gap:var(--spacing-2);flex-wrap:wrap;display:flex}.active-filters ul{gap:var(--spacing-1-5);flex-wrap:wrap;margin:0;padding:0;list-style:none;display:flex}.chip-remove{align-items:center;gap:var(--spacing-1-5);text-transform:none;letter-spacing:var(--tracking-normal);font-size:var(--text-xs);display:inline-flex}.chip-remove span{color:var(--ink-faint);font-size:var(--text-base);line-height:1}.clear-all{font-size:var(--text-xs);color:var(--ink-muted)}mark{padding:0 var(--rel-0-1);border-radius:var(--radius-xs);background:var(--mark);color:var(--color-text-strong)}.pagination{align-items:center;gap:var(--space-2);margin-top:var(--space-4);padding-top:var(--space-2);border-top:var(--border-width) solid var(--line);grid-template-columns:1fr auto 1fr;display:grid}.pagination a{font-size:var(--text-sm);color:var(--ink-muted)}@media (hover:hover){.pagination a:hover{color:var(--ink)}}.pagination a[rel=next]{justify-self:end}.nav-search svg{width:var(--spacing-4);height:var(--spacing-4);margin-right:var(--spacing-1-5)}@media (width<=40rem){.tool-sort{margin-left:0}.search-kbd{display:none}@media (scripting:none){.toolbar.ui-fallback{gap:var(--space-2);grid-template-columns:1fr 1fr;display:grid}}.toolbar.ui-enhanced .tool-sort{margin-left:auto}.tool select,.tool input:not([type=checkbox]){width:100%;min-width:0}.tool-range{row-gap:var(--spacing-1-5);grid-column:1/-1;grid-template-columns:1fr 1fr}.tool-range select{grid-column:1/-1}.tool-sep{display:none}.tool-check{align-self:end}}.search-field input::-webkit-search-cancel-button{appearance:none}.tool-check label{text-transform:none;letter-spacing:0}.pagination,.results-head+.grid{margin-bottom:var(--space-5)}.reading-toggle{align-items:center;gap:var(--spacing-1-5);min-height:var(--spacing-8);padding:0 var(--spacing-3);border:var(--border-width) solid var(--line);border-radius:var(--radius-pill);color:var(--ink-muted);font:450 var(--text-xs) var(--font-sans);cursor:pointer;transition:color var(--dur-hover) var(--ease), border-color var(--dur-hover) var(--ease), background var(--dur-hover) var(--ease);background:0 0;margin-left:auto;display:inline-flex}@media (hover:hover){.reading-toggle:hover{color:var(--ink);border-color:var(--line-strong)}}.reading-toggle svg{width:var(--spacing-4);height:var(--spacing-4)}.reading-toggle[aria-pressed=true]{color:var(--ink);background:var(--surface-tint)}.reading-progress,.immersive-exit{display:none}html[data-immersive]:has(.note-body){scroll-padding-top:var(--space-3)}html[data-immersive]:has(.note-body) :is(.site-header,.site-footer,.toc,.breadcrumb,.note-cover,.note-nav,.skip-link){display:none}html[data-immersive]:has(.note-body) .note-header{padding-top:var(--space-6)}html[data-immersive]:has(.note-body) .reading{width:min(100% - var(--spacing-12), var(--size-192))}html[data-immersive]:has(.note-body) .has-toc .note-layout{display:block}html[data-immersive]:has(.note-body) .has-toc .note-body{margin-inline:auto}html[data-immersive]:has(.note-body) .note-body{font-size:var(--text-lg);line-height:1.75}html[data-immersive]:has(.note-body) .note-body .prose>:is(p,ul,ol,h2,h3,h4,blockquote,details,.callout),html[data-immersive]:has(.note-body) .note-body>*{max-width:66ch}html[data-immersive]:has(.note-body) .note-body>.prose{max-width:none}html[data-immersive]:has(.note-body) .note-body .lede{font-size:var(--text-lg)}html[data-immersive]:has(.note-body) .reading-progress{z-index:60;height:var(--spacing-0-5);background:var(--accent);transform:scaleX(var(--progress,0));transform-origin:0;display:block;position:fixed;inset:0 0 auto}html[data-immersive]:has(.note-body) .immersive-exit{top:var(--space-2);right:var(--space-2);z-index:60;align-items:center;gap:var(--spacing-2);min-height:var(--spacing-8);padding:0 var(--spacing-3);border:var(--border-width) solid var(--line);border-radius:var(--radius-pill);background:var(--bg);color:var(--ink-muted);font:450 var(--text-xs) var(--font-sans);cursor:pointer;transition:color var(--dur) var(--ease-out), border-color var(--dur) var(--ease-out);animation:fade-in var(--dur-enter) var(--ease) both;display:inline-flex;position:fixed}html[data-immersive]:has(.note-body) .immersive-exit:is(:hover,:focus-visible){color:var(--ink);border-color:var(--line-strong)}html[data-immersive]:has(.note-body) .immersive-exit kbd{padding:0 var(--spacing-1-5);border:var(--border-width) solid var(--line);border-radius:var(--radius-xs);font:500 var(--text-2xs) var(--font-sans);color:var(--ink-muted)}@keyframes fade-in{0%{opacity:0}}@media (width<=30rem){.reading-toggle span{width:var(--spacing-px);height:var(--spacing-px);clip:rect(0 0 0 0);white-space:nowrap;position:absolute;overflow:hidden}html[data-immersive]:has(.note-body) .immersive-exit span{display:none}}html:is(.vt-theme,.vt-reading) [data-astro-transition-scope]{view-transition-name:none!important}html.vt-theme::view-transition-group(root){animation:none}html.vt-theme::view-transition-old(root){mix-blend-mode:normal;animation:none}html.vt-theme::view-transition-new(root){animation:var(--dur-calm) var(--ease-standard) both fade-in;mix-blend-mode:normal}html.vt-reading::view-transition-old(root){animation:var(--dur-lift) var(--ease-out) both fade-out}html.vt-reading::view-transition-new(root){animation:var(--dur-enter) var(--ease) both fade-in}html.theme-switching *,html.theme-switching :before,html.theme-switching :after{transition:none!important}[data-reveal]{transition:opacity var(--dur-reveal) var(--ease), transform var(--dur-reveal) var(--ease);transition-delay:calc(var(--reveal-step,0) * var(--stagger))}.reveal-pending{opacity:0;transform:translate3d(0, var(--reveal-distance), 0)}@keyframes reveal-in{0%{opacity:0;transform:translate3d(0, var(--reveal-distance), 0)}}[data-reveal=hero]{animation:reveal-in var(--dur-reveal) var(--ease) calc(var(--reveal-step,0) * var(--stagger)) both}html[data-immersive] :is(.reveal-pending,[data-reveal]){opacity:1;transition:none;animation:none;transform:none}@media (prefers-reduced-motion:reduce){.reveal-pending{opacity:1;transform:none}[data-reveal]{transition:none;animation:none}}:root{--bg:var(--color-bg);--surface:var(--color-surface);--surface-tint:var(--color-surface-sunken);--ink:var(--color-text);--ink-soft:var(--color-text-strong);--ink-muted:var(--color-text-muted);--ink-faint:var(--color-text-faint);--line:var(--color-border);--line-strong:var(--color-border-strong);--accent:var(--color-accent);--accent-soft:var(--color-selection);--on-accent:var(--color-on-accent);--danger:var(--color-danger);--tint-blue:color-mix(in srgb, var(--notion-blue-bg) var(--tint-callout), var(--color-surface));--tint-blue-line:var(--color-border);--tint-yellow:color-mix(in srgb, var(--notion-yellow-bg) var(--tint-callout), var(--color-surface));--tint-yellow-line:var(--color-border);--tint-red:color-mix(in srgb, var(--notion-red-bg) var(--tint-callout), var(--color-surface));--tint-red-line:var(--color-border);--tint-green:color-mix(in srgb, var(--notion-green-bg) var(--tint-callout), var(--color-surface));--tint-green-line:var(--color-border);--tint-purple:color-mix(in srgb, var(--notion-purple-bg) var(--tint-callout), var(--color-surface));--tint-purple-line:var(--color-border);--text-red:var(--notion-red);--text-green:var(--notion-green);--text-yellow:var(--notion-yellow);--n-gray:color-mix(in srgb, var(--notion-gray) var(--tint-text), var(--color-text));--n-gray-bg:color-mix(in srgb, var(--notion-gray-bg) var(--tint-block), var(--color-surface));--n-brown:color-mix(in srgb, var(--notion-brown) var(--tint-text), var(--color-text));--n-brown-bg:color-mix(in srgb, var(--notion-brown-bg) var(--tint-block), var(--color-surface));--n-orange:color-mix(in srgb, var(--notion-orange) var(--tint-text), var(--color-text));--n-orange-bg:color-mix(in srgb, var(--notion-orange-bg) var(--tint-block), var(--color-surface));--n-yellow:color-mix(in srgb, var(--notion-yellow) var(--tint-text), var(--color-text));--n-yellow-bg:color-mix(in srgb, var(--notion-yellow-bg) var(--tint-block), var(--color-surface));--n-green:color-mix(in srgb, var(--notion-green) var(--tint-text), var(--color-text));--n-green-bg:color-mix(in srgb, var(--notion-green-bg) var(--tint-block), var(--color-surface));--n-blue:color-mix(in srgb, var(--notion-blue) var(--tint-text), var(--color-text));--n-blue-bg:color-mix(in srgb, var(--notion-blue-bg) var(--tint-block), var(--color-surface));--n-purple:color-mix(in srgb, var(--notion-purple) var(--tint-text), var(--color-text));--n-purple-bg:color-mix(in srgb, var(--notion-purple-bg) var(--tint-block), var(--color-surface));--n-pink:color-mix(in srgb, var(--notion-pink) var(--tint-text), var(--color-text));--n-pink-bg:color-mix(in srgb, var(--notion-pink-bg) var(--tint-block), var(--color-surface));--n-red:color-mix(in srgb, var(--notion-red) var(--tint-text), var(--color-text));--n-red-bg:color-mix(in srgb, var(--notion-red-bg) var(--tint-block), var(--color-surface));--mark:var(--notion-mark);--notice-bg:var(--notion-yellow-bg);--notice-ink:var(--notion-yellow);--alert-bg:var(--notion-red-bg);--ok-bg:var(--notion-green-bg);--ok-ink:var(--notion-green);--shadow-rgb:var(--color-shadow);--backdrop:var(--color-backdrop);--font-serif:var(--font-display);--font-sans:var(--font-text);--font-mono:var(--font-code);--title-weight:var(--weight-display);--title-tracking:var(--tracking-display);--meta-size:var(--text-2xs);--meta-tracking:var(--tracking-caps);--radius:var(--radius-md);--radius-pill:var(--radius-full);--shadow-sm:var(--elevation-0);--shadow-md:var(--elevation-1);--shadow-pop:var(--elevation-2);--logo-bg:var(--color-surface-sunken);--logo-bg-hover:var(--color-highlight);--logo-edge:var(--color-border-strong);--logo-soft:var(--color-text-faint);--space-1:var(--spacing-2);--space-2:var(--spacing-4);--space-3:var(--spacing-6);--space-4:var(--spacing-8);--space-5:var(--spacing-12);--space-6:var(--spacing-16);--content:var(--layout-content);--reading:var(--layout-reading);--header-h:var(--layout-header);--control-h:var(--control-height);--ease:var(--ease-standard);--ease-out:var(--ease-standard);--dur-quick:var(--duration-fast);--dur:var(--duration-fast);--dur-lift:var(--duration-base);--dur-hover:var(--duration-fast);--dur-calm:var(--duration-base);--dur-enter:var(--duration-slow);--dur-reveal:var(--duration-reveal);--stagger:var(--reveal-stagger)}:where(:root) body{font:var(--weight-regular) var(--text-base) / var(--leading-normal) var(--font-text)}:where(:root) :is(h1,h2,h3){margin:0 0 var(--spacing-3);font-weight:var(--weight-display);letter-spacing:var(--tracking-display);line-height:var(--leading-tight);font-variation-settings:normal;font-optical-sizing:auto}:where(:root) h1{font-size:var(--text-4xl);font-weight:var(--weight-display-strong);color:var(--color-text-strong);text-wrap:balance}:where(:root) h2{font-size:var(--text-2xl)}:where(:root) h3{font-size:var(--text-lg);line-height:var(--leading-snug);letter-spacing:var(--tracking-tight)}:where(:root) p{margin:0 0 var(--spacing-4)}:where(:root) ::selection{background:var(--color-selection)}:root .container{width:min(100% - 2 * var(--layout-gutter), var(--layout-content))}:root .page-head{padding-block:var(--spacing-8) var(--spacing-6)}:root .page-head .lede{margin:var(--spacing-3) 0 0}:root .page-head .hero-actions{margin-top:var(--spacing-5)}:root .home-intro{padding-block:var(--spacing-10) var(--spacing-8);text-align:center}:root .home-intro h1{max-width:16ch;margin-inline:auto}:root .home-intro .lede{max-width:var(--layout-narrow);margin-inline:auto}:root .home-intro .hero-actions{justify-content:center}:root .section{padding-block:var(--spacing-8);border-top:var(--border)}:root .section-head{margin-bottom:var(--spacing-4);align-items:baseline}:root .section-head h2{font-size:var(--text-2xl);color:var(--color-text-strong)}:root .section-head a{font-size:var(--text-sm);color:var(--color-text-muted);text-decoration:none}:root .section-head a:hover{color:var(--color-accent)}:root .eyebrow{margin-bottom:var(--spacing-2);font-size:var(--text-sm);font-weight:var(--weight-medium);letter-spacing:var(--tracking-normal);text-transform:none;color:var(--color-text-muted)}:root .lede{max-width:var(--layout-narrow);font-size:var(--text-lg);line-height:var(--leading-read);color:var(--color-text)}:root .site-header{border-bottom:var(--border-width) solid var(--color-border)}:root .site-header[data-scrolled]{border-bottom-color:var(--color-border-strong)}:root .wordmark{gap:var(--spacing-2);font:var(--weight-display) var(--text-lg) / 1 var(--font-display);letter-spacing:var(--tracking-tight)}:root .nav-list a,:root .nav-list button{padding:0 var(--spacing-3);font:var(--weight-medium) var(--text-sm) var(--font-text)}:root .site-footer{padding-block:var(--spacing-8);font-size:var(--text-sm)}:root .btn{min-height:var(--control-height);padding:0 var(--spacing-4);border-radius:var(--radius-sm);background:var(--color-text-strong);color:var(--color-bg);font:var(--weight-medium) var(--text-sm) var(--font-text);transition:background-color var(--duration-fast) var(--ease-standard), border-color var(--duration-fast) var(--ease-standard)}:root .btn:hover{background:var(--color-accent-strong)}:root .btn-ghost{color:var(--color-text);border:var(--border-strong);background:0 0}:root .btn-ghost:hover{background:var(--color-surface);border-color:var(--color-text-faint)}:root .chip{padding:var(--spacing-0-5) var(--spacing-2);border-radius:var(--radius-xs);font-size:var(--text-2xs)}:root .hero-actions{justify-content:flex-start;gap:var(--spacing-3)}:root .grid{gap:var(--spacing-6);grid-template-columns:repeat(2,minmax(0,1fr))}:root .card{border:var(--border);border-radius:var(--radius-md);background:var(--color-surface);box-shadow:var(--elevation-0);transition:background-color var(--duration-fast) var(--ease-standard), border-color var(--duration-fast) var(--ease-standard)}:root .card-body{gap:var(--spacing-3);padding:var(--spacing-6)}:root .card-body :is(h2,h3){font-size:var(--text-lg);line-height:var(--leading-snug);letter-spacing:var(--tracking-tight)}:root .card-body p{font-size:var(--text-base);line-height:var(--leading-read);-webkit-line-clamp:2;line-clamp:2}:root .card-meta{padding-top:var(--spacing-3);font-size:var(--text-2xs)}:root .category-card .card-body{min-height:0}:root .section-lede{max-width:var(--layout-narrow);margin:0 0 var(--spacing-5);color:var(--color-text);font-size:var(--text-base);line-height:var(--leading-read)}:root .section .exam-facts{margin-bottom:var(--spacing-6)}:root .paper-card .card-body p{-webkit-line-clamp:unset;line-clamp:unset;display:block;overflow:visible}:root .paper-card .about-weights{margin-top:var(--spacing-2)}:root .paper-card .count{margin-top:auto}:root .home-steps{gap:var(--spacing-5) var(--spacing-8);counter-reset:step;grid-template-columns:1fr 1fr;margin:0;padding:0;list-style:none;display:grid}:root .home-steps li{counter-increment:step}:root .home-steps h3{margin:0 0 var(--spacing-1);font-size:var(--text-base);font-weight:var(--weight-medium)}:root .home-steps h3:before{content:counter(step) ". ";color:var(--color-text-faint)}:root .home-steps p{color:var(--color-text-muted);font-size:var(--text-sm);line-height:var(--leading-read);margin:0}:root .home-author h2{margin:0 0 var(--spacing-2);font-size:var(--text-2xl);color:var(--color-text-strong)}:root .home-author>p:not(.eyebrow,.about-role,.home-disclaimer){max-width:var(--layout-narrow);margin:0 0 var(--spacing-3);color:var(--color-text);line-height:var(--leading-read)}:root .home-disclaimer{max-width:var(--layout-narrow);margin:var(--spacing-6) 0 0;font-size:var(--text-sm);line-height:var(--leading-read);color:var(--color-text-muted)}:root .about-postnominals{margin-left:var(--spacing-2);font:var(--weight-medium) var(--text-base) / var(--leading-tight) var(--font-text);letter-spacing:var(--tracking-normal);color:var(--color-text-muted);vertical-align:var(--rel-0-3)}:root .about-role{margin:0 0 var(--spacing-4);font-size:var(--text-base);line-height:var(--leading-read);color:var(--color-text-muted)}:root .about-facts{grid-template-columns:repeat(auto-fill, minmax(var(--size-48), 1fr));margin:var(--spacing-5) 0 0;border-top:var(--border);gap:0;display:grid}:root .about-facts>div{padding:var(--spacing-3) var(--spacing-4) var(--spacing-3) 0;border-bottom:var(--border)}:root .about-facts dt,:root .exam-facts dt{font-size:var(--text-2xs);letter-spacing:var(--tracking-caps);text-transform:uppercase;color:var(--color-text-faint)}:root .about-facts dd{margin:var(--spacing-1) 0 0;color:var(--color-text)}:root .exam-facts{gap:var(--spacing-4);grid-template-columns:repeat(4,minmax(0,1fr));margin:0;display:grid}:root .exam-facts>div{padding:var(--spacing-3) 0 0;border-top:var(--border)}:root .exam-facts dd{margin:var(--spacing-1) 0 0;font:var(--weight-display) var(--text-lg) / var(--leading-tight) var(--font-display);color:var(--color-text-strong)}:root .about-weights{border-collapse:collapse;width:100%;font-size:var(--text-sm)}:root .about-weights th,:root .about-weights td{padding:var(--spacing-2) 0;border-bottom:var(--border);font-weight:var(--weight-regular);text-align:left}:root .about-weights th{color:var(--color-text);background:linear-gradient(color-mix(in srgb, var(--color-accent) 45%, transparent) 0 0) 0 100% / calc(var(--share) / 40 * 100%) var(--spacing-0-5) no-repeat}:root .about-weights td{width:var(--spacing-20);text-align:right;font-variant-numeric:tabular-nums;color:var(--color-text-muted)}:root .about-note{margin:var(--spacing-3) 0 0;font-size:var(--text-sm);line-height:var(--leading-read);color:var(--color-text-faint)}:root .note{--reading:var(--layout-reading)}:root .note-header{padding-block:var(--spacing-10) var(--spacing-6)}:root .note-header h1{margin:var(--spacing-3) 0 var(--spacing-3)}:root .note-meta{gap:var(--spacing-2) var(--spacing-3)}:root .note-cover{margin-bottom:var(--spacing-8);border:var(--border);border-radius:var(--radius-lg)}:root .note-body{padding-bottom:var(--spacing-16);font-size:var(--text-read);line-height:var(--leading-read)}:root .note-body p{margin-bottom:var(--flow-block)}:root .toc-list{font-size:var(--text-sm);line-height:var(--leading-snug)}:root .toc-narrow,:root .note-nav-link{border-radius:var(--radius-md)}:root .prose p{margin:0 0 var(--flow-block)}:root .prose :is(h2,h3,h4){line-height:var(--leading-snug);color:var(--color-text-strong)}:root .prose h2{margin:var(--flow-section) 0 var(--flow-heading-gap);font-size:var(--text-xl)}:root .prose h3{margin:var(--flow-subsection) 0 var(--flow-heading-gap);font-size:var(--text-lg)}:root .prose h4{margin:var(--flow-subsection) 0 var(--flow-heading-gap);font:var(--weight-semibold) var(--text-base) / var(--leading-snug) var(--font-text);letter-spacing:var(--tracking-normal)}:root .prose :is(ul,ol){margin:0 0 var(--flow-block);padding-left:var(--flow-indent)}:root .prose li{margin:var(--flow-item) 0}:root .prose .indent{padding-left:var(--flow-indent)}:root .prose a{color:var(--color-accent);-webkit-text-decoration-color:var(--color-border-strong);text-decoration-color:var(--color-border-strong)}:root .prose strong{font-weight:var(--weight-semibold);color:var(--color-text-strong)}:root .prose blockquote{margin:var(--flow-subsection) 0;padding:0 0 0 var(--spacing-4);border-left:var(--border-accent-width) solid var(--color-border-strong);font-size:var(--text-lg)}:root .prose .callout{gap:var(--spacing-3);margin:var(--flow-subsection) 0;padding:var(--spacing-4) var(--spacing-5);border-radius:var(--radius-md);font-size:var(--text-base);line-height:var(--leading-read)}:root .prose .callout-heading.callout-heading{gap:var(--spacing-2);margin-bottom:var(--flow-heading-gap);padding:var(--spacing-2) var(--spacing-3);border-radius:var(--radius-sm)}:root .prose code{border-radius:var(--radius-xs);background:var(--color-surface-sunken)}:root .prose .code pre{border-radius:var(--radius-md)}:root .prose .table-wrap{margin:var(--flow-subsection) 0;border:var(--border);border-radius:var(--radius-md);background:var(--color-surface)}:root .prose table{font-size:var(--text-base);line-height:var(--leading-read)}:root .prose :is(th,td){padding:var(--spacing-3) var(--spacing-4);border-bottom:var(--border)}:root .prose thead th{font-size:var(--text-2xs);background:var(--color-surface-sunken);color:var(--color-text-muted)}:root .prose tbody th{font-weight:var(--weight-semibold);color:var(--color-text-strong)}@media (hover:hover){:root :is(.card,.file-row,.note-nav-link):hover{background:var(--color-highlight);border-color:var(--color-border-strong)}:root .nav-list :is(a,button):hover,:root .ui-preset:hover{background:var(--color-highlight);color:var(--color-text)}}:root .nav-list :is(a,button):focus-visible,:root .ui-preset:focus-visible{background:var(--color-highlight);color:var(--color-text)}:root :is(.file-row,.note-nav-link,.nav-list :is(a,button),.ui-preset){transition:background-color var(--duration-fast) var(--ease-standard), border-color var(--duration-fast) var(--ease-standard), color var(--duration-fast) var(--ease-standard)}:root .prose .callout-heading.callout-heading{background:0 0;border:0;border-radius:0;padding:0;display:block}:root .prose h2.callout-heading.callout-heading{margin:var(--flow-section) 0 var(--flow-heading-gap)}:root .prose :is(h3,h4).callout-heading.callout-heading{margin:var(--flow-subsection) 0 var(--flow-heading-gap)}:root .prose>.callout-heading.callout-heading:first-child{margin-top:0}:root .prose .callout-heading .callout-icon{display:none}:root .prose .callout-heading.callout-heading+*,:root .prose :is(h2,h3,h4)+:is(h2,h3,h4){margin-top:0}:root .prose .callout{border:var(--border)}:root .prose .callout-icon{font-size:var(--text-sm);line-height:var(--leading-read)}:root .prose :is(p,h2,h3,h4,li,blockquote,details)[class*=n-bg-]{margin-inline:calc(-1 * var(--spacing-2));padding:var(--spacing-1) var(--spacing-2);border-radius:var(--radius-sm)}:root .prose li[class*=n-bg-]{margin-inline:0}:root .prose :is(span,mark)[class*=n-bg-]{padding:0 var(--spacing-0-5);border-radius:var(--radius-xs)}@media (width<=40rem){:root .grid,:root .home-steps{grid-template-columns:1fr}:root .about-facts{grid-template-columns:1fr 1fr}}@media (width<=36rem){:root .exam-facts{grid-template-columns:repeat(2,minmax(0,1fr))}}:root .notes-library .search{margin-bottom:var(--spacing-8)}:root .notes-library .results-head{margin-bottom:var(--spacing-5)}@media print{:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}@page{margin:18mm 16mm}html{scroll-behavior:auto}body{background:var(--print-paper);color:var(--print-ink);font-size:var(--print-text);line-height:1.55}.site-header,.site-footer,.skip-link,.reading-toggle,.immersive-exit,.reading-progress,.breadcrumb,.toc,.note-nav,.theme-toggle,.nav-toggle,.hero-actions,.search-form,.ui-enhanced,.ui-fallback,.pagination,.draft-banner,.managed{display:none!important}main{padding:0}.container,.reading,.note-body,.has-toc .note-body{width:auto!important;max-width:none!important;margin:0!important}.has-toc .note-layout{display:block!important}.note-header{padding:0 0 6mm}.note-header h1{font-size:var(--print-title);color:var(--print-ink)}.note-meta,.reading-time,.note-meta time{color:var(--print-muted)}.note-cover{aspect-ratio:auto;border:0;max-height:70mm;margin-bottom:6mm}.note-cover .cover-placeholder{display:none}.note-body{font-size:var(--print-text);padding:0}h2,h3,h4{break-after:avoid;page-break-after:avoid;color:var(--print-ink)}p,li{orphans:3;widows:3}img,figure,table,pre,blockquote,.callout,.file-card,.bookmark{break-inside:avoid;page-break-inside:avoid}img{object-fit:contain;max-height:120mm;width:auto!important;max-width:100%!important;height:auto!important}.prose .image img{background:0 0;border:0}.prose details{border:0;padding:0}.prose details>:not(summary){display:block}a{color:var(--print-ink);text-decoration:underline}.note-body a[href^=http]:after,.note-body a[href^="/files/"]:after,.note-body a[href^="/posts/"]:after{content:" (" attr(href) ")";font-size:var(--rel-0-85);color:var(--print-muted);word-break:break-all}.prose table,.prose th,.prose td{border-color:var(--print-rule)}.prose .code pre,.prose code{background:var(--print-wash);color:var(--print-ink)}.file-list a:after{content:" (" attr(href) ")";font-size:var(--rel-0-85);color:var(--print-muted)}}@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(*){animation:none!important}::view-transition-old(*){animation:none!important}::view-transition-new(*){animation:none!important}[data-astro-transition-scope]{animation:none!important}}
