:root{--font-serif: "Iowan Old Style", "Palatino Linotype", "Book Antiqua", Palatino, "Georgia", "Times New Roman", serif;--font-sans: system-ui, -apple-system, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;--font-mono: ui-monospace, SFMono-Regular, "SF Mono", Menlo, Consolas, "Liberation Mono", monospace;--step--1: clamp(.83rem, .79rem + .18vw, .94rem);--step-0: clamp(1rem, .95rem + .25vw, 1.15rem);--step-1: clamp(1.2rem, 1.11rem + .44vw, 1.5rem);--step-2: clamp(1.44rem, 1.29rem + .75vw, 1.95rem);--step-3: clamp(1.73rem, 1.5rem + 1.15vw, 2.55rem);--step-4: clamp(2.07rem, 1.72rem + 1.75vw, 3.3rem);--wrap: 68rem;--wrap-narrow: 40rem;--radius: 14px;--radius-sm: 9px;--gap: clamp(1rem, .6rem + 2vw, 2rem);--shadow: 0 1px 2px rgba(30, 22, 12, .06), 0 8px 24px rgba(30, 22, 12, .08);--shadow-hover: 0 2px 6px rgba(30, 22, 12, .1), 0 18px 42px rgba(30, 22, 12, .16)}:root,:root[data-theme=light]{--bg: #faf7f2;--bg-tint: #f3ede2;--surface: #fffdf9;--surface-2: #f6f0e6;--ink: #23201b;--ink-soft: #4b463d;--ink-faint: #857c6d;--line: #e6ddcd;--line-strong: #d8ccb6;--accent: #9a3f1f;--accent-soft: #b9683f;--accent-wash: #f3e3d6;--focus: #2f6fed}:root[data-theme=dark]{--bg: #14110e;--bg-tint: #1b1712;--surface: #1f1a15;--surface-2: #2a231b;--ink: #ece4d6;--ink-soft: #c3b8a6;--ink-faint: #8c8171;--line: #352c22;--line-strong: #463a2c;--accent: #e59b6b;--accent-soft: #f0b489;--accent-wash: #2c211a;--focus: #7aa2ff;--shadow: 0 1px 2px rgba(0, 0, 0, .4), 0 10px 30px rgba(0, 0, 0, .45);--shadow-hover: 0 2px 8px rgba(0, 0, 0, .5), 0 22px 48px rgba(0, 0, 0, .55)}*,*:before,*:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation-duration:.001ms!important;transition-duration:.001ms!important}}body{margin:0;min-height:100vh;display:flex;flex-direction:column;background:var(--bg);color:var(--ink);font-family:var(--font-sans);font-size:var(--step-0);line-height:1.6;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;background-image:radial-gradient(120% 80% at 50% -10%,var(--bg-tint) 0%,transparent 60%);background-attachment:fixed;transition:background-color .25s ease,color .25s ease}img{max-width:100%;height:auto;display:block}a{color:var(--accent);text-decoration-thickness:1px;text-underline-offset:2px}a:hover{color:var(--accent-soft)}:focus-visible{outline:3px solid var(--focus);outline-offset:3px;border-radius:3px}.wrap{width:100%;max-width:var(--wrap);margin-inline:auto;padding-inline:clamp(1rem,.4rem + 3vw,2.5rem)}.wrap-narrow{width:100%;max-width:var(--wrap-narrow);margin-inline:auto;padding-inline:clamp(1rem,.4rem + 3vw,2.5rem)}main{flex:1 0 auto}.skip-link{position:absolute;left:.75rem;top:-3rem;z-index:100;background:var(--accent);color:#fff;padding:.55rem .9rem;border-radius:0 0 var(--radius-sm) var(--radius-sm);transition:top .15s ease}.skip-link:focus{top:0;color:#fff}.site-header{position:sticky;top:0;z-index:20;background:color-mix(in srgb,var(--bg) 86%,transparent);backdrop-filter:saturate(140%) blur(10px);border-bottom:1px solid var(--line)}.header-inner{display:flex;align-items:center;justify-content:space-between;gap:1rem;min-height:3.75rem}.brand{display:inline-flex;align-items:center;gap:.55rem;color:var(--ink);text-decoration:none;font-weight:600;letter-spacing:.01em}.brand:hover{color:var(--ink)}.brand-mark{color:var(--accent);font-size:1.15em;line-height:1;transform:translateY(1px)}.brand-name{font-family:var(--font-serif);font-size:var(--step-1);font-weight:600}.theme-toggle{display:inline-grid;place-items:center;width:2.5rem;height:2.5rem;border-radius:999px;border:1px solid var(--line-strong);background:var(--surface);color:var(--ink-soft);cursor:pointer;font-size:1.1rem;line-height:1;transition:background-color .2s ease,color .2s ease,border-color .2s ease}.theme-toggle:hover{color:var(--accent);border-color:var(--accent)}.theme-icon{grid-area:1 / 1}:root[data-theme=light] .theme-icon--sun,:root[data-theme=dark] .theme-icon--moon{display:none}.hero{padding-block:clamp(2.75rem,1.5rem + 5vw,5.5rem) clamp(1.5rem,1rem + 2vw,3rem);text-align:center}.eyebrow{margin:0 0 .75rem;text-transform:uppercase;letter-spacing:.22em;font-size:var(--step--1);font-weight:600;color:var(--accent)}.hero-title{font-family:var(--font-serif);font-size:var(--step-4);line-height:1.05;font-weight:600;margin:0;letter-spacing:-.01em}.hero-tagline{max-width:40ch;margin:1rem auto 0;font-size:var(--step-1);color:var(--ink-soft);line-height:1.5}.hero-stats{margin-top:1.75rem;display:inline-flex;gap:.5rem 1.25rem;flex-wrap:wrap;justify-content:center;color:var(--ink-faint);font-size:var(--step--1);letter-spacing:.02em}.hero-stats .dot{color:var(--line-strong)}.genre-section{padding-block:clamp(1.25rem,.8rem + 1.5vw,2.25rem)}.genre-head{display:flex;align-items:baseline;justify-content:space-between;gap:1rem;padding-bottom:.85rem;margin-bottom:1.5rem;border-bottom:1px solid var(--line)}.genre-head h2{font-family:var(--font-serif);font-size:var(--step-2);font-weight:600;margin:0;scroll-margin-top:5rem}.genre-count{color:var(--ink-faint);font-size:var(--step--1);white-space:nowrap}.card-grid{display:grid;gap:var(--gap);grid-template-columns:repeat(auto-fill,minmax(min(100%,17rem),1fr))}.card{height:100%}.card-link{display:flex;flex-direction:column;height:100%;color:inherit;text-decoration:none;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);overflow:clip;box-shadow:var(--shadow);transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease}.card-link:hover{transform:translateY(-4px);box-shadow:var(--shadow-hover);border-color:var(--line-strong)}.card-cover{aspect-ratio:3 / 2;overflow:hidden;background:var(--surface-2);border-bottom:1px solid var(--line)}.card-cover img{width:100%;height:100%;object-fit:cover;transition:transform .4s ease}.card-link:hover .card-cover img{transform:scale(1.04)}.card-body{display:flex;flex-direction:column;gap:.5rem;padding:1.15rem 1.2rem 1.3rem;flex:1}.card-meta{display:flex;align-items:center;justify-content:space-between;gap:.75rem;font-size:var(--step--1);color:var(--ink-faint)}.card-title{font-family:var(--font-serif);font-size:var(--step-1);font-weight:600;line-height:1.2;margin:0;color:var(--ink)}.card-author{margin:-.15rem 0 0;font-size:var(--step--1);color:var(--ink-faint);font-style:italic}.card-blurb{margin:0;color:var(--ink-soft);font-size:var(--step-0);line-height:1.5}.card-cta{margin-top:auto;padding-top:.35rem;color:var(--accent);font-weight:600;font-size:var(--step--1);letter-spacing:.02em}.card-link:hover .card-cta{color:var(--accent-soft)}.genre-tag{display:inline-block;padding:.2em .66em;border-radius:999px;background:var(--accent-wash);color:var(--accent);font-size:.74em;font-weight:600;letter-spacing:.04em;text-transform:uppercase;white-space:nowrap}.story{padding-bottom:clamp(3rem,2rem + 4vw,6rem)}.story-header{padding-top:clamp(1.25rem,.8rem + 1.5vw,2.25rem)}.back-link{display:inline-block;margin-bottom:clamp(1.5rem,1rem + 2vw,2.5rem);font-size:var(--step--1);font-weight:600;text-decoration:none;color:var(--ink-faint)}.back-link:hover{color:var(--accent)}.story-hero{display:grid;grid-template-columns:minmax(0,15rem) 1fr;gap:clamp(1.5rem,1rem + 3vw,3rem);align-items:center}.story-cover{width:100%;aspect-ratio:2 / 3;object-fit:cover;border-radius:var(--radius);border:1px solid var(--line);box-shadow:var(--shadow)}.story-meta{display:flex;align-items:center;gap:.85rem;color:var(--ink-faint);font-size:var(--step--1);margin-bottom:.85rem}.story-title{font-family:var(--font-serif);font-size:var(--step-3);line-height:1.08;font-weight:600;letter-spacing:-.01em;margin:0}.story-author{margin:.6rem 0 0;font-style:italic;color:var(--ink-soft)}.story-blurb{margin:1rem 0 0;font-family:var(--font-serif);font-size:var(--step-1);line-height:1.5;color:var(--ink-soft)}.story-divider{max-width:var(--wrap-narrow);margin:clamp(2rem,1.4rem + 2.5vw,3.25rem) auto;padding-inline:clamp(1rem,.4rem + 3vw,2.5rem);color:var(--accent);text-align:center;letter-spacing:.6em;font-size:var(--step-1);user-select:none}.prose{font-family:var(--font-serif);font-size:var(--step-1);line-height:1.75;color:var(--ink);hanging-punctuation:first last}.prose>*+*{margin-top:1.35em}.prose p{margin:0;text-wrap:pretty}.prose p+p{margin-top:0;text-indent:1.6em}.prose h2,.prose h3,.prose h4{font-weight:600;line-height:1.2;letter-spacing:.01em;color:var(--ink)}.prose h2{font-size:var(--step-2);margin-top:2.5em;padding-top:1.4em;border-top:1px solid var(--line);text-align:center;text-transform:uppercase;letter-spacing:.12em;font-size:var(--step-1);color:var(--ink-soft)}.prose h2+p{text-indent:0}.prose h3{font-size:var(--step-1);margin-top:2em}.prose h3+p,.prose blockquote+p,.prose hr+p{text-indent:0}.prose blockquote{margin:1.6em 0;padding:.2em 0 .2em 1.4em;border-left:3px solid var(--accent);color:var(--ink-soft);font-style:italic}.prose blockquote p+p{text-indent:1.6em}.prose em{font-style:italic}.prose strong{font-weight:700}.prose a{text-decoration:underline}.prose hr{border:none;margin:2.4em auto;width:42%;text-align:center;color:var(--accent)}.prose hr:before{content:"❦";display:block;font-size:1.2em;letter-spacing:.4em}.prose ul,.prose ol{padding-left:1.4em}.prose li+li{margin-top:.4em}.prose code{font-family:var(--font-mono);font-size:.86em;background:var(--surface-2);padding:.1em .4em;border-radius:5px}.prose pre{overflow-x:auto;padding:1rem 1.15rem;border-radius:var(--radius-sm);border:1px solid var(--line);font-size:var(--step--1);line-height:1.5}.prose pre code{background:none;padding:0}.prose>p:first-of-type:first-letter{float:left;font-size:3.4em;line-height:.82;padding:.05em .09em 0 0;color:var(--accent);font-weight:600}.site-footer{border-top:1px solid var(--line);margin-top:clamp(2.5rem,1.5rem + 4vw,5rem);padding-block:2rem;color:var(--ink-faint);font-size:var(--step--1)}.footer-inner{display:flex;flex-wrap:wrap;gap:.5rem 1.25rem;align-items:center;justify-content:space-between}.footer-inner a{color:var(--ink-soft);text-decoration:none}.footer-inner a:hover{color:var(--accent)}.notfound{text-align:center;padding-block:clamp(3rem,2rem + 6vw,7rem)}.notfound h1{font-family:var(--font-serif);font-size:var(--step-4);margin:0 0 .5rem}.notfound p{color:var(--ink-soft);font-size:var(--step-1);margin:0 0 1.75rem}.btn{display:inline-block;padding:.7rem 1.4rem;border-radius:999px;background:var(--accent);color:#fff;font-weight:600;text-decoration:none;transition:background-color .2s ease,transform .15s ease}.btn:hover{color:#fff;transform:translateY(-1px);background:var(--accent-soft)}@media(max-width:40rem){.story-hero{grid-template-columns:1fr;text-align:center;justify-items:center}.story-cover{max-width:12rem}.story-meta{justify-content:center}}
