@font-face{font-family:Epilogue;font-style:normal;font-weight:400 700;font-display:swap;src:url(/_astro/Epilogue-latin.MVOT3GW0.woff2)format("woff2");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:Epilogue;font-style:normal;font-weight:400 700;font-display:swap;src:url(/_astro/Epilogue-latin-ext.C4Oof-kt.woff2)format("woff2");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-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Epilogue;font-style:italic;font-weight:400 700;font-display:swap;src:url(/_astro/Epilogue-Italic-latin.BqQ8GQzT.woff2)format("woff2");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:Epilogue;font-style:italic;font-weight:400 700;font-display:swap;src:url(/_astro/Epilogue-Italic-latin-ext.ytx1tu9Q.woff2)format("woff2");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-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Fragment Mono;font-style:normal;font-weight:400;font-display:swap;src:url(/_astro/FragmentMono-Regular-latin.BzNzkxRK.woff2)format("woff2");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:Fragment Mono;font-style:normal;font-weight:400;font-display:swap;src:url(/_astro/FragmentMono-Regular-latin-ext.B2bFhxhM.woff2)format("woff2");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-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Fragment Mono;font-style:italic;font-weight:400;font-display:swap;src:url(/_astro/FragmentMono-Italic-latin.DT74_5Yx.woff2)format("woff2");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:Fragment Mono;font-style:italic;font-weight:400;font-display:swap;src:url(/_astro/FragmentMono-Italic-latin-ext.YLLM4dwk.woff2)format("woff2");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-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Epilogue Fallback;src:local(Arial),local(Helvetica),local(Liberation Sans);size-adjust:113.03%;ascent-override:69.9%;descent-override:20.79%;line-gap-override:0.0%}:root{--le-night:#23261a;--le-fog:#e4e6e0;--le-paper:#f4f5f1;--le-olive:#4b5320;--le-moss:#a9b65e;--le-rust:#b5562b;--le-slate:#5b5f52;--le-olive-2:#6e7a3a;--le-olive-3:#8c9a4a;--le-line:#b0b49d;--le-hairline:#4b532066;--le-series-1:#4b5320;--le-series-2:#6e7a3a;--le-series-3:#8c9a4a;--le-series-4:#a9b65e;--le-font-text:"Epilogue", "Epilogue Fallback", Arial, system-ui, -apple-system, "Segoe UI", Helvetica, sans-serif;--le-font-mono:"Fragment Mono", "Courier New", ui-monospace, Menlo, Consolas, monospace}:root[data-theme=dark],.le-dark{--le-series-1:#a9b65e;--le-series-2:#8c9a4a;--le-series-3:#6e7a3a;--le-series-4:#e4e6e0}:root{--le-font-text:"Epilogue", "Epilogue Fallback", Arial, system-ui, -apple-system, "Segoe UI", Helvetica, sans-serif;--le-font-mono:"Fragment Mono", "Courier New", ui-monospace, Menlo, Consolas, monospace;--le-type-display-xl-size:clamp(2.25rem, 1.326rem + 3.944vw, 4.875rem);--le-type-display-size:clamp(2rem, 1.472rem + 2.254vw, 3.5rem);--le-type-number-size:clamp(2.375rem, 1.803rem + 2.441vw, 4rem);--le-type-h1-size:clamp(1.75rem, 1.442rem + 1.315vw, 2.625rem);--le-type-h2-size:clamp(1.375rem, 1.155rem + .939vw, 2rem);--le-type-h3-size:clamp(1.188rem, 1.077rem + .4695vw, 1.5rem);--le-type-h4-size:clamp(1.062rem, .9965rem + .2817vw, 1.25rem);--le-type-h5-size:1rem;--le-type-h6-size:.9375rem;--le-type-body-l-size:clamp(1.062rem, 1.018rem + .1878vw, 1.188rem);--le-type-body-size:1rem;--le-type-body-s-size:.875rem;--le-type-caption-size:clamp(.75rem, .728rem + .0939vw, .8125rem);--le-type-ui-size:.9375rem;--le-type-button-size:.9375rem;--le-type-reference-size:.75rem;--le-type-label-size:clamp(.6875rem, .6655rem + .0939vw, .75rem);--le-type-code-size:clamp(.8125rem, .7905rem + .0939vw, .875rem)}.le-display-xl{font-family:var(--le-font-text);font-weight:700;font-size:var(--le-type-display-xl-size);letter-spacing:-.04em;font-variant-numeric:lining-nums proportional-nums;text-wrap:balance;line-height:1}.le-display{font-family:var(--le-font-text);font-weight:700;font-size:var(--le-type-display-size);letter-spacing:-.035em;font-variant-numeric:lining-nums proportional-nums;text-wrap:balance;line-height:1.04}.le-number{font-family:var(--le-font-text);font-weight:700;font-size:var(--le-type-number-size);letter-spacing:-.04em;font-variant-numeric:lining-nums proportional-nums;line-height:.95}.le-h1{font-family:var(--le-font-text);font-weight:700;font-size:var(--le-type-h1-size);letter-spacing:-.03em;font-variant-numeric:lining-nums proportional-nums;text-wrap:balance;line-height:1.08}.le-h2{font-family:var(--le-font-text);font-weight:700;font-size:var(--le-type-h2-size);letter-spacing:-.025em;font-variant-numeric:lining-nums proportional-nums;text-wrap:balance;line-height:1.15}.le-h3{font-family:var(--le-font-text);font-weight:600;font-size:var(--le-type-h3-size);letter-spacing:-.015em;font-variant-numeric:lining-nums proportional-nums;text-wrap:balance;line-height:1.25}.le-h4{font-family:var(--le-font-text);font-weight:600;font-size:var(--le-type-h4-size);letter-spacing:-.01em;font-variant-numeric:lining-nums proportional-nums;text-wrap:balance;line-height:1.3}.le-h5{font-family:var(--le-font-text);font-weight:600;font-size:var(--le-type-h5-size);letter-spacing:0;font-variant-numeric:lining-nums proportional-nums;text-wrap:balance;line-height:1.4}.le-h6{font-family:var(--le-font-text);font-weight:600;font-size:var(--le-type-h6-size);letter-spacing:0;font-variant-numeric:lining-nums proportional-nums;text-wrap:balance;line-height:1.45}.le-body-l{font-family:var(--le-font-text);font-weight:400;font-size:var(--le-type-body-l-size);letter-spacing:0;font-variant-numeric:lining-nums proportional-nums;text-wrap:pretty;line-height:1.55}.le-body{font-family:var(--le-font-text);font-weight:400;font-size:var(--le-type-body-size);letter-spacing:0;font-variant-numeric:lining-nums proportional-nums;text-wrap:pretty;line-height:1.5625}.le-body-s{font-family:var(--le-font-text);font-weight:400;font-size:var(--le-type-body-s-size);letter-spacing:0;font-variant-numeric:lining-nums proportional-nums;text-wrap:pretty;line-height:1.5}.le-caption{font-family:var(--le-font-text);font-weight:400;font-size:var(--le-type-caption-size);letter-spacing:0;font-variant-numeric:lining-nums proportional-nums;line-height:1.45}.le-ui{font-family:var(--le-font-text);font-weight:500;font-size:var(--le-type-ui-size);letter-spacing:0;font-variant-numeric:lining-nums proportional-nums;line-height:1.3}.le-button{font-family:var(--le-font-text);font-weight:600;font-size:var(--le-type-button-size);letter-spacing:0;font-variant-numeric:lining-nums proportional-nums;line-height:1}.le-reference{font-family:var(--le-font-mono);font-weight:400;font-size:var(--le-type-reference-size);letter-spacing:0;font-variant-numeric:tabular-nums;line-height:1.45}.le-label{font-family:var(--le-font-mono);font-weight:400;font-size:var(--le-type-label-size);letter-spacing:.02em;font-variant-numeric:tabular-nums;line-height:1.3}.le-code{font-family:var(--le-font-mono);font-weight:400;font-size:var(--le-type-code-size);letter-spacing:0;font-variant-numeric:tabular-nums;line-height:1.55}.le-prose{max-width:66ch}.le-prose p+p{margin-top:.75em}.le-tabular,table{font-variant-numeric:tabular-nums lining-nums}:root{--le-space-0:0rem;--le-space-4:.25rem;--le-space-8:.5rem;--le-space-12:.75rem;--le-space-16:1rem;--le-space-20:1.25rem;--le-space-24:1.5rem;--le-space-32:2rem;--le-space-40:2.5rem;--le-space-48:3rem;--le-space-64:4rem;--le-space-80:5rem;--le-space-96:6rem;--le-space-128:8rem;--le-space-160:10rem;--le-radius:2px;--le-radius-print:0;--le-stroke-hairline:1px;--le-stroke-icon:1.25px;--le-stroke-focus:2px;--le-shadow:none;--le-max-page:1440px;--le-max-content:1280px;--le-max-reading:66ch;--le-grid-columns:4;--le-grid-gutter:16px;--le-grid-margin:24px;--le-section:64px}@media (width>=640px){:root{--le-grid-columns:8;--le-grid-gutter:24px;--le-grid-margin:40px;--le-section:96px}}@media (width>=1024px){:root{--le-grid-columns:12;--le-grid-gutter:24px;--le-grid-margin:64px;--le-section:128px}}@media (width>=1280px){:root{--le-grid-columns:12;--le-grid-gutter:32px;--le-grid-margin:96px;--le-section:160px}}.le-container{max-width:calc(var(--le-max-content) + 2 * var(--le-grid-margin));padding-inline:var(--le-grid-margin);margin-inline:auto}.le-grid{grid-template-columns:repeat(var(--le-grid-columns), minmax(0, 1fr));column-gap:var(--le-grid-gutter);display:grid}.le-section{padding-block:var(--le-section)}.le-rule{border:0;border-top:var(--le-stroke-hairline) solid var(--le-hairline)}@media print{:root{--le-radius:0}}:root{--le-duration-instant:.1s;--le-duration-quick:.18s;--le-duration-base:.28s;--le-duration-slow:.48s;--le-duration-reveal:.7s;--le-duration-logo:1.6s;--le-ease:cubic-bezier(.3, 0, .2, 1)}@keyframes le-fade{0%{opacity:0}}@keyframes le-rise{0%{opacity:0;transform:translateY(8px)}}@keyframes le-leave{to{opacity:0}}.le-arrive{animation:le-rise var(--le-duration-base) var(--le-ease) both}.le-fade-in{animation:le-fade var(--le-duration-base) var(--le-ease) both}.le-fade-out{animation:le-leave var(--le-duration-quick) var(--le-ease) both}.le-page-in{animation:le-fade var(--le-duration-slow) var(--le-ease) both}.le-interactive{transition:color var(--le-duration-instant) var(--le-ease), background-color var(--le-duration-instant) var(--le-ease), border-color var(--le-duration-instant) var(--le-ease)}@keyframes le-summit-pulse{0%,to{opacity:0}50%{opacity:1}}.le-loader{opacity:0;animation:le-summit-pulse 1.2s var(--le-ease) .4s infinite}@media (prefers-reduced-motion:reduce){:root{--le-duration-reveal:0s;--le-duration-logo:0s}@keyframes le-rise{0%{opacity:0}}}:root{--bg:var(--le-paper);--surface:var(--le-fog);--fg:var(--le-night);--muted:var(--le-slate);--rule:var(--le-line);--accent:var(--le-olive);--accent-soft:color-mix(in srgb, var(--le-moss) 28%, transparent);--hot:color-mix(in srgb, var(--le-rust) 78%, var(--le-night));--focus:var(--le-rust);color-scheme:light}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--bg:var(--le-night);--surface:color-mix(in srgb, var(--le-night) 86%, var(--le-fog));--fg:var(--le-fog);--muted:var(--le-line);--rule:color-mix(in srgb, var(--le-fog) 22%, transparent);--accent:var(--le-moss);--accent-soft:color-mix(in srgb, var(--le-moss) 18%, transparent);--hot:color-mix(in srgb, var(--le-rust) 70%, var(--le-fog));color-scheme:dark}}:root[data-theme=dark]{--bg:var(--le-night);--surface:color-mix(in srgb, var(--le-night) 86%, var(--le-fog));--fg:var(--le-fog);--muted:var(--le-line);--rule:color-mix(in srgb, var(--le-fog) 22%, transparent);--accent:var(--le-moss);--accent-soft:color-mix(in srgb, var(--le-moss) 18%, transparent);--hot:color-mix(in srgb, var(--le-rust) 70%, var(--le-fog));color-scheme:dark}*,:before,:after{box-sizing:border-box}[hidden]{display:none!important}.visually-hidden{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}html{-webkit-text-size-adjust:100%;scroll-padding-top:5rem}body{background:var(--bg);color:var(--fg);font-family:var(--le-font-text);font-size:var(--le-type-body-size);text-rendering:optimizelegibility;margin:0;line-height:1.5625}a{color:inherit;text-decoration-color:color-mix(in srgb, currentColor 40%, transparent);text-underline-offset:.18em}a:hover{text-decoration-color:var(--accent)}:focus-visible{outline:var(--le-stroke-focus) solid var(--focus);outline-offset:2px}.skip{position:absolute;left:-999px}.skip:focus{left:var(--le-space-16);top:var(--le-space-16);background:var(--bg);padding:var(--le-space-8) var(--le-space-12);z-index:10}.wrap{max-width:var(--le-max-content);margin-inline:auto;padding-inline:clamp(16px,4vw,48px)}.site-header{z-index:5;background:color-mix(in srgb, var(--bg) 92%, transparent);backdrop-filter:blur(8px);border-bottom:1px solid var(--rule);position:sticky;top:0}.header-row{align-items:center;gap:var(--le-space-16);min-height:56px;display:flex}.wordmark{letter-spacing:-.02em;white-space:nowrap;font-size:1.0625rem;font-weight:700;text-decoration:none}.wordmark span{color:var(--accent)}.site-header nav{scrollbar-width:none;margin-inline-start:auto;overflow-x:auto}.site-header nav ul{gap:2px;margin:0;padding:0;list-style:none;display:flex}.site-header nav a{border-radius:var(--le-radius);font-size:var(--le-type-ui-size);color:var(--muted);padding:10px 12px;font-weight:500;text-decoration:none;display:block}.site-header nav a:hover{color:var(--fg);background:var(--accent-soft)}.site-header nav a[aria-current=page]{color:var(--fg);box-shadow:inset 0 -2px 0 var(--accent)}.theme-toggle{border:1px solid var(--rule);border-radius:var(--le-radius);width:40px;height:40px;color:var(--fg);cursor:pointer;background:0 0;flex:none;place-items:center;display:grid}.theme-toggle:hover{background:var(--accent-soft)}@media (width<=640px){.header-row{flex-wrap:wrap;gap:0;padding-block:6px}.site-header nav{flex-basis:100%;order:3;margin-inline:-8px}.site-header nav ul{flex-wrap:wrap}.site-header nav a{padding:8px}.theme-toggle{margin-inline-start:auto}}main{min-height:70vh}.site-footer{border-top:1px solid var(--rule);margin-top:var(--le-space-96);padding-block:var(--le-space-32);color:var(--muted);font-size:var(--le-type-body-s-size)}.site-footer .wrap{justify-content:space-between;align-items:center;gap:var(--le-space-12);flex-wrap:wrap;display:flex}.site-footer p{margin:0}.sign-out{min-height:36px;padding:0 var(--le-space-12);font:inherit;color:var(--muted);border:1px solid var(--rule);border-radius:var(--le-radius);cursor:pointer;background:0 0}.sign-out:hover{color:var(--fg);border-color:var(--accent)}.eyebrow{font-family:var(--le-font-mono);font-size:var(--le-type-label-size);letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin:0 0 var(--le-space-12)}.page-title{font-size:var(--le-type-display-size);letter-spacing:-.035em;margin:0 0 var(--le-space-16);text-wrap:balance;font-weight:700;line-height:1.04}.lede{font-size:var(--le-type-body-l-size);color:var(--muted);text-wrap:pretty;max-width:60ch;margin:0;line-height:1.55}.section{padding-block:var(--le-space-48)}.section+.section{border-top:1px solid var(--rule)}.section-head{justify-content:space-between;align-items:baseline;gap:var(--le-space-16);margin-bottom:var(--le-space-24);display:flex}.section-head h2{font-size:var(--le-type-h3-size);letter-spacing:-.015em;margin:0}.section-head a{font-size:var(--le-type-ui-size);color:var(--muted)}.hero{padding-block:var(--le-space-64) var(--le-space-32)}.badge{font-family:var(--le-font-mono);font-size:var(--le-type-label-size);letter-spacing:.04em;text-transform:uppercase;border:1px solid var(--rule);border-radius:var(--le-radius);color:var(--muted);white-space:nowrap;align-items:center;gap:4px;padding:3px 7px;display:inline-flex}.badge[data-status=favorite]{color:var(--hot);border-color:color-mix(in srgb, var(--hot) 45%, transparent)}.badge[data-status=loved]{color:var(--accent);border-color:color-mix(in srgb, var(--accent) 45%, transparent)}.book-grid{gap:var(--le-space-16);grid-template-columns:repeat(auto-fill,minmax(min(100%,300px),1fr));margin:0;padding:0;list-style:none;display:grid}.book-card{gap:var(--le-space-8);height:100%;padding:var(--le-space-20);border:1px solid var(--rule);border-radius:var(--le-radius);background:var(--bg);transition:border-color var(--le-duration-quick,.15s) var(--le-ease,ease);flex-direction:column;display:flex;position:relative}.book-card:hover{border-color:var(--accent)}.book-card h3{font-size:var(--le-type-h4-size);letter-spacing:-.01em;margin:0;line-height:1.25}.book-card h3 a{text-decoration:none}.book-card h3 a:after{content:"";position:absolute;inset:0}.book-card .authors{color:var(--muted);font-size:var(--le-type-body-s-size);margin:0}.book-card .one-line{font-size:var(--le-type-body-s-size);margin:var(--le-space-4) 0 0;flex:1}.book-card .meta{align-items:center;gap:var(--le-space-8);margin-top:var(--le-space-8);font-size:var(--le-type-caption-size);color:var(--muted);flex-wrap:wrap;display:flex}.book-card.planned{background:0 0;border-style:dashed}.book-card.planned h3{color:var(--muted)}.meter{background:var(--rule);height:3px;margin-top:var(--le-space-8);border-radius:2px;overflow:hidden}.meter span{height:100%;width:var(--pct,0%);background:var(--accent);transition:width .3s;display:block}.theme-grid{gap:var(--le-space-16);grid-template-columns:repeat(auto-fill,minmax(min(100%,260px),1fr));margin:0;padding:0;list-style:none;display:grid}.theme-tile{gap:var(--le-space-8);padding:var(--le-space-20);border-top:2px solid var(--accent);background:var(--surface);border-radius:var(--le-radius);flex-direction:column;height:100%;display:flex;position:relative}.theme-tile h3{font-size:var(--le-type-h5-size);margin:0;line-height:1.3}.theme-tile h3 a{text-decoration:none}.theme-tile h3 a:after{content:"";position:absolute;inset:0}.theme-tile p{font-size:var(--le-type-body-s-size);color:var(--muted);flex:1;margin:0}.theme-tile .count{font-family:var(--le-font-mono);font-size:var(--le-type-label-size);color:var(--muted)}.theme-tile:hover{background:var(--accent-soft)}.filters{gap:var(--le-space-8);margin-bottom:var(--le-space-24);flex-wrap:wrap;align-items:center;display:flex}.filters input[type=search]{min-height:44px;padding:0 var(--le-space-12);font:inherit;color:inherit;background:var(--bg);border:1px solid var(--rule);border-radius:var(--le-radius);flex:260px}.chip{min-height:36px;padding:0 var(--le-space-12);font:inherit;font-size:var(--le-type-ui-size);color:var(--muted);border:1px solid var(--rule);cursor:pointer;background:0 0;border-radius:999px}.chip:hover{color:var(--fg);border-color:var(--accent)}.chip[aria-pressed=true]{color:var(--bg);background:var(--fg);border-color:var(--fg)}.empty{color:var(--muted);padding:var(--le-space-32) 0}.button{justify-content:center;align-items:center;gap:var(--le-space-8);min-height:44px;padding:0 var(--le-space-20);font:inherit;font-size:var(--le-type-button-size);color:var(--bg);background:var(--fg);border:1px solid var(--fg);border-radius:var(--le-radius);cursor:pointer;font-weight:600;text-decoration:none;display:inline-flex}.button:hover{background:var(--accent);border-color:var(--accent)}.button.ghost{color:var(--fg);border-color:var(--rule);background:0 0}.button.ghost:hover{border-color:var(--accent);background:var(--accent-soft)}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}
