﻿:root{--paper: #f4efe4;--paper-2: #e9e2d2;--ink: #1d1b17;--muted: #6e685b;--rule: #d6cdb9;--hl: rgba(255, 216, 61, 0.62);--accent: #c43e26;--shadow: 0 1px 2px rgba(29, 27, 23, 0.12), 0 18px 40px -16px rgba(29, 27, 23, 0.45);--display: "Instrument Serif", Georgia, serif;--body: "Newsreader", Georgia, serif;--mono: "JetBrains Mono", ui-monospace, monospace;--measure: 38rem;--wide: 64rem}@media (prefers-color-scheme: dark){:root{--paper: #14130f;--paper-2: #1f1d17;--ink: #ece6d7;--muted: #9b947f;--rule: #36322a;--hl: rgba(230, 190, 40, 0.3);--accent: #f0805f;--shadow: 0 1px 2px rgba(0, 0, 0, 0.5), 0 18px 40px -16px rgba(0, 0, 0, 0.9)}}*{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{margin:0;background:var(--paper);color:var(--ink);font:400 1.2rem/1.65 var(--body);font-optical-sizing:auto;text-rendering:optimizeLegibility}body::before{content:"";position:fixed;inset:0;pointer-events:none;opacity:.07;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");z-index:10}a{color:inherit;text-decoration-thickness:1px;text-underline-offset:.2em}a:hover{color:var(--accent)}main{padding:0 1rem}.kicker{font:500 .72rem/1.4 var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--muted);margin:0 0 .75rem}.kicker a{text-decoration:none}.site-header{max-width:var(--wide);margin:0 auto;padding:1.5rem 1rem;display:flex;justify-content:space-between;align-items:center}.site-header nav{display:flex;gap:1.25rem;font:500 .75rem var(--mono);text-transform:uppercase;letter-spacing:.1em}.site-header nav a{text-decoration:none;color:var(--muted)}.wordmark{--fold: 0.9rem;position:relative;display:inline-block;padding:.35rem 1.4rem .4rem .8rem;background:var(--ink);color:var(--paper);font:italic 400 1.3rem/1 var(--display);text-decoration:none;clip-path:polygon(0 0, calc(100% - var(--fold)) 0, 100% var(--fold), 100% 100%, 0 100%)}.wordmark::after{content:"";position:absolute;top:0;right:0;width:var(--fold);height:var(--fold);background:linear-gradient(225deg, rgba(0,0,0,0) 50%, #ffd83d 50%)}.wordmark:hover{color:var(--paper)}.intro{max-width:var(--wide);margin:3rem auto 3.5rem}.intro h1{font:400 clamp(3rem,8vw,6rem)/.95 var(--display);letter-spacing:-.02em;margin:0 0 1.25rem}.intro h1 em{color:var(--accent)}.intro .lede{max-width:32rem;color:var(--muted);margin:0}.shelf{list-style:none;padding:0;max-width:var(--wide);margin:0 auto 5rem;display:grid;grid-template-columns:repeat(auto-fill, minmax(12rem, 1fr));gap:3rem 2rem}.shelf a{text-decoration:none;display:block}.shelf h2{font:400 1.5rem/1.15 var(--display);margin:0 0 .2rem}.shelf .kicker{margin:1rem 0 .4rem}.shelf .byline{margin:0;color:var(--muted);font-style:italic;font-size:1rem}.shelf .shelf-take{margin:.6rem 0 0;font-size:1rem;line-height:1.45}.shelf-cover{--fold: 0px;position:relative;aspect-ratio:2/3;box-shadow:var(--shadow);transition:transform .4s cubic-bezier(.2, .7, .2, 1)}.shelf-cover img{display:block;width:100%;height:100%;object-fit:cover;clip-path:polygon(0 0, calc(100% - var(--fold)) 0, 100% var(--fold), 100% 100%, 0 100%);transition:clip-path .3s ease}.shelf-cover::after{content:"";position:absolute;top:0;right:0;width:var(--fold);height:var(--fold);background:linear-gradient(225deg, rgba(0,0,0,0) 50%, var(--paper-2) 50%);filter:drop-shadow(-2px 2px 2px rgba(0,0,0,.25));transition:width .3s ease,height .3s ease}.shelf a:hover .shelf-cover{--fold: 2.2rem;transform:translateY(-4px) rotate(-.6deg)}.genres{list-style:none;padding:0;max-width:var(--wide);margin:0 auto 5rem;display:flex;flex-wrap:wrap;gap:.75rem}.genres a{display:inline-block;padding:.5rem 1rem;border:1px solid var(--rule);border-radius:999px;text-decoration:none;font-family:var(--display)}.genres span{font:.75rem var(--mono);color:var(--muted)}.book-hero{max-width:var(--wide);margin:2rem auto 3rem;display:grid;grid-template-columns:minmax(0, 15rem) minmax(0, 1fr);gap:3.5rem;align-items:center}.book-hero h1{font:400 clamp(2.6rem,6vw,4.4rem)/1 var(--display);letter-spacing:-.02em;margin:0 0 1.25rem;text-wrap:balance}.book-title{font:600 1.05rem/1.3 var(--body);margin:0 0 .75rem}.book-title span{font-weight:400;font-style:italic;color:var(--muted)}.oneline{font-style:italic;font-size:1.35rem;line-height:1.45;margin:0 0 1.25rem;padding-left:1rem;border-left:3px solid var(--accent)}.stats{font:.75rem var(--mono);color:var(--muted);margin:0;letter-spacing:.04em}.flip{margin:0;aspect-ratio:2/3;perspective:1400px;outline:none}.flip-inner{position:relative;height:100%;transform-style:preserve-3d;transition:transform .9s cubic-bezier(.2, .7, .2, 1)}.flip-inner img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;backface-visibility:hidden;border-radius:2px 5px 5px 2px;box-shadow:var(--shadow)}.flip-inner .back{transform:rotateY(180deg)}.flip[tabindex]:hover .flip-inner,.flip[tabindex]:focus .flip-inner{transform:rotateY(180deg)}.flip-hint{font:.65rem var(--mono);color:var(--muted);text-transform:uppercase;letter-spacing:.1em;text-align:center;margin:1rem 0 0}.hmap{max-width:var(--measure);margin:0 auto 3.5rem;font:.68rem var(--mono);text-transform:uppercase;letter-spacing:.1em;color:var(--muted)}.hmap-head,.hmap-axis{display:flex;justify-content:space-between}.hmap-bar{position:relative;height:2.4rem;margin:.5rem 0;background:repeating-linear-gradient(90deg, var(--rule) 0 1px, rgba(0,0,0,0) 1px 10%),var(--paper-2);border-radius:3px}.hmap-bar i{position:absolute;top:15%;bottom:15%;width:4px;margin-left:-2px;background:var(--accent);border-radius:2px;opacity:.85}.prose{max-width:var(--measure);margin:0 auto 6rem;counter-reset:section}.prose>p:first-child::first-letter{float:left;font:400 6em/.78 var(--display);color:var(--accent);margin:.07em .12em 0 -.03em;padding:0 .04em;background:linear-gradient(rgba(0,0,0,0) 58%, var(--hl) 58%, var(--hl) 92%, rgba(0,0,0,0) 92%)}.prose h2{counter-increment:section;font:400 2.3rem/1.1 var(--display);letter-spacing:-.01em;margin:4rem 0 1.25rem;padding-top:1.5rem;border-top:1px solid var(--rule)}.prose h2::before{content:counter(section, decimal-leading-zero);display:block;font:500 .75rem var(--mono);color:var(--accent);letter-spacing:.1em;margin-bottom:.5rem}.prose ul{padding-left:1.2rem}.prose li{margin-bottom:.5rem}.prose li::marker{color:var(--accent)}.hl{margin:2rem 0}.hl blockquote{margin:0}.hl p{margin:0;font-size:1.3rem;line-height:1.6}.hl mark{color:inherit;padding:.08em .15em;border-radius:.6em .2em .5em .3em;-webkit-box-decoration-break:clone;box-decoration-break:clone;background:linear-gradient(100deg, rgba(0,0,0,0) .15em, var(--hl) .3em, var(--hl) calc(100% - .3em), rgba(0,0,0,0) calc(100% - .1em)) no-repeat 0 60%/100% 78%}.hl figcaption{font:.7rem var(--mono);color:var(--muted);margin-top:.6rem;letter-spacing:.08em}.hl figcaption::before{content:"— ";color:var(--accent)}@media (prefers-reduced-motion: no-preference){.js .hl mark{background-size:0% 78%;transition:background-size 1.1s cubic-bezier(.3, .6, .2, 1)}.js .hl mark.in{background-size:100% 78%}}.onequote{margin:4rem -2rem;padding:3rem 2rem;text-align:center;border-block:1px solid var(--rule)}.onequote blockquote{margin:0;font:italic 400 clamp(1.9rem,4.5vw,2.7rem)/1.2 var(--display);text-wrap:balance}.onequote blockquote::before{content:"“";display:block;font:400 5rem/.6 var(--display);color:var(--accent);margin-bottom:1rem}.onequote figcaption{font:.7rem var(--mono);color:var(--muted);margin-top:1rem;letter-spacing:.08em}.onequote-label{font:500 .7rem var(--mono);text-transform:uppercase;letter-spacing:.14em;color:var(--muted);margin:0 0 1.5rem}.verdict{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:var(--rule);border:1px solid var(--rule);margin:2rem 0}.verdict>div{background:var(--paper);padding:1.25rem 1.5rem}.verdict p{margin:0}.verdict .kicker{margin-bottom:.5rem}.verdict>div:first-child .kicker{color:var(--accent)}.site-footer{max-width:var(--wide);margin:0 auto;padding:2rem 1rem 3rem;border-top:1px solid var(--rule);font:.72rem var(--mono);color:var(--muted)}@media (max-width: 720px){body{font-size:1.1rem}.book-hero{grid-template-columns:1fr;gap:2rem}.covers{max-width:13rem;margin:0 auto}.onequote{margin-inline:0;padding-inline:0}.verdict{grid-template-columns:1fr}.shelf{grid-template-columns:repeat(2, minmax(0, 1fr));gap:2.5rem 1.25rem}}