@charset "UTF-8";@font-face{font-family:Atkinson Hyperlegible;src:url(/fonts/AtkinsonHyperlegible-Regular.woff2) format("woff2");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:Atkinson Hyperlegible;src:url(/fonts/AtkinsonHyperlegible-Italic.woff2) format("woff2");font-weight:400;font-style:italic;font-display:swap}@font-face{font-family:Atkinson Hyperlegible;src:url(/fonts/AtkinsonHyperlegible-Bold.woff2) format("woff2");font-weight:700;font-style:normal;font-display:swap}@font-face{font-family:Atkinson Hyperlegible;src:url(/fonts/AtkinsonHyperlegible-BoldItalic.woff2) format("woff2");font-weight:700;font-style:italic;font-display:swap}:root{--font-ui: "Atkinson Hyperlegible", system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;--font-serif: "Spectral", Georgia, "Times New Roman", serif;--bg: #f4efe4;--surface: #ffffff;--text: #1f2a38;--muted: #516073;--primary: #2d4a87;--accent: #b88a46;--logo-fill: #1b1e1f;--border: #e3d9c9;--selection: #2d4a8730;--link-visited: #5a4fa5;--surface-raised: color-mix(in oklab, var(--surface) 82%, var(--bg) 18%);--shadow: 0 1px 2px rgba(0, 0, 0, .06);--footer-bg: color-mix(in oklab, var(--surface) 80%, var(--bg) 20%);--radius: 12px;--notes-w: 320px;--handle-w: 10px;--reader-panel: var(--surface);--reader-panel-2: color-mix(in oklab, var(--surface) 92%, var(--bg) 8%);--reader-accent-0: color-mix(in oklab, var(--primary) 15%, var(--surface) 85%);--reader-accent-1: color-mix(in oklab, var(--primary) 35%, var(--surface) 65%);--reader-shadow: var(--shadow);--book-title-color: #1f2a38;--book-title-contrast: #f6f0e4}.h2-styles{font-size:clamp(1.3rem,1.1rem + 1.2vw,1.65rem)}.h3-styles{font-size:clamp(1.1rem,1rem + .6vw,1.3rem)}html[data-theme=oxbridge][data-mode=light]{--bg: #f4efe4;--surface: #ffffff;--surface-raised: #ede5d7;--text: #1f2a38;--muted: #516073;--primary: #2d4a87;--accent: #494032;--logo-fill: #1d242c;--border: #e3d9c9;--selection: #2d4a8730;--link-visited: #5a4fa5;--footer-bg: color-mix(in oklab, var(--surface) 78%, var(--bg) 22%);--reader-panel-2: color-mix(in oklab, var(--surface) 90%, var(--bg) 10%)}html[data-theme=oxbridge][data-mode=dark]{--bg: #0d1118;--surface: #131923;--surface-raised: #1c2431;--text: #ecf1f8;--muted: #9aa7b8;--primary: #89a8f8;--accent: #b7ad9d;--logo-fill: #f3f6fa;--border: #27303d;--selection: #89a8f830;--link-visited: #c3b5f4;--footer-bg: color-mix(in oklab, var(--surface) 60%, var(--bg) 40%);--reader-panel-2: color-mix(in oklab, var(--surface) 84%, var(--bg) 16%);--reader-accent-0: color-mix(in oklab, var(--primary) 32%, var(--surface) 68%);--reader-accent-1: color-mix(in oklab, var(--primary) 58%, var(--surface) 42%)}html[data-theme=bordeaux][data-mode=light]{--bg: #fffbf7;--surface: #ffffff;--surface-raised: #f6ece4;--text: #311c1e;--muted: #594246;--primary: #8c2f3d;--accent: #523f2f;--logo-fill: #201517;--border: #eadfd8;--selection: #8c2f3d30;--link-visited: #75528f;--footer-bg: color-mix(in oklab, var(--surface) 78%, var(--bg) 22%);--reader-panel-2: color-mix(in oklab, var(--surface) 90%, var(--bg) 10%)}html[data-theme=bordeaux][data-mode=dark]{--bg: #140f11;--surface: #1c1417;--surface-raised: #25191d;--text: #f3e9e7;--muted: #c2b4b6;--primary: #e38a99;--accent: #c8beaa;--logo-fill: #f6efed;--border: #352327;--selection: #e38a9930;--link-visited: #d8b6e9;--footer-bg: color-mix(in oklab, var(--surface) 60%, var(--bg) 40%);--reader-panel-2: color-mix(in oklab, var(--surface) 84%, var(--bg) 16%);--reader-accent-0: color-mix(in oklab, var(--primary) 34%, var(--surface) 66%);--reader-accent-1: color-mix(in oklab, var(--primary) 60%, var(--surface) 40%)}html[data-theme=stacks][data-mode=light]{--bg: #f4f8f3;--surface: #ffffff;--surface-raised: #ebf1ea;--text: #1c2923;--muted: #4b5d54;--primary: #2c5c42;--accent: #334925;--logo-fill: #18221c;--border: #dfe7de;--selection: #2c5c4230;--link-visited: #4f6292;--footer-bg: color-mix(in oklab, var(--surface) 78%, var(--bg) 22%);--reader-panel-2: color-mix(in oklab, var(--surface) 90%, var(--bg) 10%)}html[data-theme=stacks][data-mode=dark]{--bg: #101512;--surface: #161d19;--surface-raised: #202a24;--text: #e9efe9;--muted: #a8b4ad;--primary: #7fae94;--accent: #8eaf9c;--logo-fill: #f2f5f1;--border: #2b3730;--selection: #7fae9430;--link-visited: #b2c4e7;--footer-bg: color-mix(in oklab, var(--surface) 60%, var(--bg) 40%);--reader-panel-2: color-mix(in oklab, var(--surface) 84%, var(--bg) 16%);--reader-accent-0: color-mix(in oklab, var(--primary) 32%, var(--surface) 68%);--reader-accent-1: color-mix(in oklab, var(--primary) 56%, var(--surface) 44%)}html[data-theme=sepia][data-mode=light]{--bg: #f3e9d6;--surface: #f9f1e2;--surface-raised: #e7dcc7;--text: #3b2a18;--muted: #6f5b43;--primary: #7a5a28;--accent: #665134;--logo-fill: #2f2416;--border: #ddceb5;--selection: #7a5a2830;--link-visited: #74558a;--footer-bg: color-mix(in oklab, var(--surface) 80%, var(--bg) 20%);--reader-panel-2: color-mix(in oklab, var(--surface) 90%, var(--bg) 10%)}html[data-theme=sepia][data-mode=dark]{--bg: #1a1510;--surface: #221c15;--surface-raised: #2c231a;--text: #f1e1c7;--muted: #a69477;--primary: #b7883f;--accent: #d4b073;--logo-fill: #e7d6b8;--border: #4a3a24;--selection: #b7883f30;--link-visited: #d9c4f0;--footer-bg: color-mix(in oklab, var(--surface) 58%, var(--bg) 42%);--reader-panel-2: color-mix(in oklab, var(--surface) 84%, var(--bg) 16%);--reader-accent-0: color-mix(in oklab, var(--primary) 32%, var(--surface) 68%);--reader-accent-1: color-mix(in oklab, var(--primary) 56%, var(--surface) 44%)}html[data-mode=light]{--book-title-color: color-mix(in oklab, var(--text) 85%, black 15%);--book-title-contrast: color-mix(in oklab, white 92%, var(--surface) 8%)}html[data-mode=dark]{--book-title-color: color-mix(in oklab, var(--text) 92%, white 8%);--book-title-contrast: color-mix(in oklab, var(--text) 96%, white 4%)}::selection{background:var(--selection)}html,body{height:100%}body{margin:0;background:var(--bg);color:var(--text);font-family:var(--font-ui);font-size:18px;line-height:1.65;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}main{min-height:74vh}a{color:var(--primary);text-underline-offset:.18em;text-decoration-thickness:.08em}a:visited{color:var(--primary)}code,kbd{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,Liberation Mono,monospace;font-size:.95em}img[data-zoom]{cursor:zoom-in}.image-zoom-overlay{position:fixed;inset:0;background:#000000d9;display:flex;align-items:center;justify-content:center;z-index:9999;cursor:zoom-out}.image-zoom-clone{max-width:92vw;max-height:92vh;border-radius:calc(var(--radius) - 4px);box-shadow:0 0 30px #00000059}.blog-layout{display:grid;margin:0;padding:1rem;background:var(--bg);row-gap:clamp(16px,2.5vw,32px);column-gap:10px;padding-inline:clamp(8px,1.2vw,18px);grid-template-columns:clamp(240px,20vw,320px) minmax(0,1fr);grid-template-areas:"sidebar article"}.blog-layout iframe{margin:1rem auto;display:block;min-width:80%;min-height:16rem}.blog-article{min-width:0;max-width:100%;overflow-wrap:anywhere;background:color-mix(in oklab,var(--surface) 96%,var(--bg) 4%);border:1px solid color-mix(in oklab,var(--border) 70%,transparent 30%);border-radius:var(--radius);box-shadow:var(--shadow);padding:clamp(20px,3.5vw,36px)}.blog-hero{display:grid;gap:clamp(16px,3vw,24px)}.blog-hero.has-image{grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr);align-items:center}.blog-hero__image{margin:0}.blog-hero__image img{width:100%;height:auto;border-radius:calc(var(--radius) - 6px);object-fit:cover;border:1px solid color-mix(in oklab,var(--border) 70%,transparent 30%);box-shadow:inset 0 0 0 1px color-mix(in oklab,var(--surface) 70%,transparent 30%)}.blog-hero__text{display:grid;gap:.85rem}.blog-hero__eyebrow{font-size:.85rem;letter-spacing:.08em;text-transform:uppercase;color:color-mix(in oklab,var(--muted) 70%,var(--primary) 30%);margin:0}.blog-title{font-family:var(--font-serif);font-weight:700;font-size:clamp(1.9rem,1.4rem + 1.2vw,2.4rem);line-height:1.2;margin:0;color:var(--text)}.blog-meta{display:flex;flex-wrap:wrap;gap:.4em;align-items:center;font-size:.95rem;color:var(--muted)}.blog-meta span,.blog-meta time{display:inline-flex;align-items:center}.blog-meta span+span:before,.blog-meta span+time:before,.blog-meta time+span:before{content:"•";margin:0 .4em;color:color-mix(in oklab,var(--muted) 70%,transparent 30%)}.blog-summary{margin:0;font-size:1.05rem;line-height:1.6;color:color-mix(in oklab,var(--text) 85%,var(--muted) 15%)}.blog-prose{margin:1rem 0 0;font-family:var(--font-serif);font-size:clamp(1.03rem,.98rem + .3vw,1.12rem);line-height:1.7;color:var(--text);overflow-wrap:anywhere}.blog-prose :where(p,ul,ol,blockquote,figure){margin:0 0 1.4em}.blog-prose p{text-wrap:pretty}.blog-prose a{color:var(--primary);text-decoration:underline;text-decoration-thickness:1px;text-decoration-color:color-mix(in oklab,var(--primary) 50%,transparent)}.blog-prose a:hover{text-decoration-thickness:2px}.blog-prose h2,.blog-prose h3,.blog-prose h4{font-family:var(--font-serif);color:var(--text);line-height:1.3;margin:2.4rem 0 .8rem}.blog-prose h2{font-size:clamp(1.5rem,1.2rem + .8vw,1.9rem);border-bottom:1px solid color-mix(in oklab,var(--border),transparent 40%);padding-bottom:.4rem}.blog-prose h3{font-size:clamp(1.2rem,1.1rem + .6vw,1.6rem)}.blog-prose h4{font-size:clamp(1.12rem,1.05rem + .3vw,1.3rem)}.blog-prose ul,.blog-prose ol{padding-left:1.4rem}.blog-prose li+li{margin-top:.45rem}.blog-prose blockquote{background:color-mix(in oklab,var(--primary) 6%,var(--surface) 94%);border-left:4px solid color-mix(in oklab,var(--primary) 45%,var(--accent) 55%);padding:.3rem;border-radius:calc(var(--radius) / 1.8);color:color-mix(in oklab,var(--text) 80%,var(--muted) 20%);font-style:italic;box-shadow:inset 0 1px #fff6}.blog-prose code{font-family:Fira Mono,Consolas,Courier New,monospace;font-size:.95em;padding:.15em .35em}.code-wrap{position:relative}.blog-prose pre.astro-code{margin:1.6em 0;padding:1.25rem 1.4rem;border:none;overflow-x:auto}.astro-code .line:first-child{margin-left:-.4em}.copy-btn{position:absolute;top:.75rem;right:.75rem;border:1px solid color-mix(in oklab,var(--border) 60%,transparent 40%);border-radius:999px;padding:.3rem .75rem;font-size:.85rem;font-family:var(--font-ui);background:color-mix(in oklab,var(--surface) 88%,var(--primary) 12%);color:color-mix(in oklab,var(--text) 80%,var(--primary) 20%);cursor:pointer;transition:background .18s ease,border-color .18s ease,transform .18s ease}.copy-btn:hover,.copy-btn:focus-visible{border-color:color-mix(in oklab,var(--primary) 30%,var(--border));background:color-mix(in oklab,var(--surface) 78%,var(--primary) 22%);transform:translateY(-1px)}.blog-prose table{display:block;max-width:100%;width:100%;border-collapse:collapse;margin:1.8rem 0;font-size:.95em;background:color-mix(in oklab,var(--surface) 96%,var(--bg) 4%);border:1px solid color-mix(in oklab,var(--border) 70%,transparent 30%);border-radius:calc(var(--radius) - 4px);overflow:hidden;overflow-x:auto;table-layout:fixed;word-break:break-word}.blog-prose th,.blog-prose td{padding:.75rem 1rem;border-bottom:1px solid color-mix(in oklab,var(--border) 60%,transparent 40%);text-align:left}.blog-prose th{background:color-mix(in oklab,var(--surface) 85%,var(--primary) 15%);color:color-mix(in oklab,var(--text) 90%,var(--primary) 10%);font-weight:600}.blog-prose tr:nth-child(2n) td{background:color-mix(in oklab,var(--surface) 92%,var(--bg) 8%)}.blog-prose img{display:block;width:90%;margin:clamp(20px,3vw,32px) auto;border-radius:calc(var(--radius) - 4px);box-shadow:var(--shadow)}.blog-sidebar{grid-area:sidebar;display:grid;align-self:start;position:sticky;padding:clamp(8px,1.2vw,14px);border:1px solid color-mix(in oklab,var(--border) 70%,transparent 30%);background:var(--surface-raised);border-radius:var(--radius);box-shadow:var(--shadow)}.sidebar-heading{font-size:1.1em;letter-spacing:.04em;text-transform:uppercase;color:color-mix(in oklab,var(--muted) 70%,var(--primary) 30%);margin:0}.sidebar-list{list-style:none;display:grid;gap:.8rem;margin:0;padding:0}.sidebar-card{display:grid;grid-template-columns:1fr;grid-template-rows:auto 1fr;gap:.55rem;padding:.55rem;border-radius:var(--radius);border:1px solid color-mix(in oklab,var(--border) 70%,transparent 30%);background:var(--surface);box-shadow:var(--shadow);text-decoration:none;color:inherit;transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease}.sidebar-card:hover,.sidebar-card:focus-visible{transform:translateY(-2px);border-color:color-mix(in oklab,var(--primary) 25%,var(--border));box-shadow:0 12px 24px color-mix(in oklab,var(--primary) 12%,transparent)}.sidebar-card__thumb{width:100%;aspect-ratio:3/2;object-fit:cover;border-radius:calc(var(--radius) - 6px);border:1px solid color-mix(in oklab,var(--border) 70%,transparent 30%)}.sidebar-card__thumb.--fallback{display:flex;align-items:center;justify-content:center;width:100%;aspect-ratio:3/2;background:repeating-linear-gradient(135deg,color-mix(in oklab,var(--border) 80%,transparent) 0 10px,transparent 10px 20px)}.sidebar-card__body{display:grid;gap:.35rem}.sidebar-card__title{font-family:var(--font-serif);font-size:1rem;line-height:1.35;color:var(--text)}.sidebar-card__meta{font-size:.85rem;color:var(--muted)}@media(max-width:1024px){.blog-layout{grid-template-areas:"article" "sidebar";grid-template-columns:1fr}.blog-sidebar{position:static}.blog-hero.has-image{grid-template-columns:1fr}}@media(max-width:720px){.blog-layout{padding-inline:clamp(10px,4vw,18px);padding-block:clamp(20px,6vw,32px)}.blog-article{padding:clamp(18px,6vw,26px)}}
