@layer reset,base,layout,components,utilities;@font-face{font-family:Atkinson Hyperlegible Next;font-style:normal;font-weight:200 800;font-display:swap;src:url(/fonts/atkinson-hyperlegible-next-latin.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Atkinson Hyperlegible Next;font-style:normal;font-weight:200 800;font-display:swap;src:url(/fonts/atkinson-hyperlegible-next-latin-ext.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,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:Atkinson Hyperlegible Next;font-style:italic;font-weight:200 800;font-display:swap;src:url(/fonts/atkinson-hyperlegible-next-italic-latin.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Atkinson Hyperlegible Next;font-style:italic;font-weight:200 800;font-display:swap;src:url(/fonts/atkinson-hyperlegible-next-italic-latin-ext.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,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:Atkinson Hyperlegible Mono;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/atkinson-hyperlegible-mono-latin.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Atkinson Hyperlegible Mono;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/atkinson-hyperlegible-mono-latin-ext.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,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:"Young Serif";font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/young-serif-latin.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:"Young Serif";font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/young-serif-latin-ext.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,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}:root{color-scheme:light dark;--font-family-sans: "Atkinson Hyperlegible Next", system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--font-family-serif: "Young Serif", Georgia, "Iowan Old Style", "Times New Roman", serif;--font-family-mono: "Atkinson Hyperlegible Mono", ui-monospace, "SF Mono", Menlo, Consolas, monospace;--color-bg: #fdf9f0;--color-surface: #fff;--color-line: #e6dfd0;--color-line-strong: #8a8f9c;--color-tag-bg: #efe7d8;--color-quote-bg: #f6f0e3;--color-text-heading: #18284a;--color-text-body: #33405c;--color-text-muted: #616777;--color-text-disabled: #a3a7b1;--color-accent: #e99845;--color-button-bg: #18284a;--color-button-bg-hover: #4f6d96;--color-button-fg: #fdf9f0;--color-link: #18284a;--color-link-hover: #4f6d96;--color-focus-ring: #4f6d96;--color-selection-bg: #c9d8e8;--color-status-error: #b4472f;--color-status-success: #2f7a5c;--color-whale-body: #18284a;--color-whale-pleat: #e99845;--color-whale-backing: var(--color-bg);--color-wave-band-1: #dbe6f1;--color-wave-band-2: #c9d8e8;--color-wave-band-3: #a9c1db;--color-wave-band-4: #7f9fc3;--color-wave-band-5: #4f6d96;--color-wave-base: #18284a;--color-wave-text-heading: #fdf9f0;--color-wave-text-body: #c9d8e8;--color-wave-link-hover: #e99845;--color-wave-focus-ring: #e99845;--color-media-edge: rgb(24 40 74 / 14%);--color-scrim: rgb(32 30 34 / 24%);--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 24px;--space-6: 32px;--space-7: 48px;--space-8: 64px;--space-9: 96px;--space-10: 128px;--radius-s: 4px;--radius-m: 12px;--radius-pill: 999px;--stroke-hairline: 1px;--stroke-accent-rule: 3px;--page-margin: 20px;--page-max-width: 1200px;--reading-width: 540px;--list-width: 640px;--grid-gap: var(--space-4);--component-padding: var(--space-4);--logo-height: 52px;--tap-min: 44px;--cover-width: 80px;--rhythm-h1-below: var(--space-5);--rhythm-h2-above: var(--space-6);--rhythm-h2-below: var(--space-4);--rhythm-h3-above: var(--space-6);--rhythm-h3-below: var(--space-2);--rhythm-paragraph: var(--space-5);--rhythm-quote: var(--space-6);--type-display-size: 44px;--type-display-line-height: 52px;--type-display-tracking: -1.5px;--type-h1-size: 34px;--type-h1-line-height: 40px;--type-h1-tracking: -1px;--type-h2-size: 26px;--type-h2-line-height: 32px;--type-h2-tracking: -.5px;--type-h3-size: 22px;--type-h3-line-height: 28px;--type-h3-tracking: -.25px;--type-body-l-size: 18px;--type-body-l-line-height: 28px;--type-body-size: 16px;--type-body-line-height: 26px;--type-small-size: 14px;--type-small-line-height: 20px;--type-ui-size: 14px;--type-ui-line-height: 20px;--type-tag-size: 13px;--type-tag-line-height: 20px;--type-mono-size: 13px;--type-mono-line-height: 20px;--duration-theme: .24s;--ease-standard: cubic-bezier(.2, .8, .2, 1);--duration-sheet-in: .28s;--duration-sheet-out: .2s;--ease-sheet: cubic-bezier(.32, .72, 0, 1);@media(width>=600px){--page-margin: var(--space-6);--grid-gap: var(--space-5);--component-padding: var(--space-5);--logo-height: 64px;--cover-width: 128px;--rhythm-h2-above: var(--space-7);--type-display-size: 52px;--type-display-line-height: 60px;--type-h1-size: 42px;--type-h1-line-height: 48px;--type-h2-size: 28px;--type-h2-line-height: 36px;--type-h3-size: 24px;--type-h3-line-height: 32px;--type-body-l-size: 20px;--type-body-l-line-height: 32px;--type-body-size: 17px;--type-body-line-height: 28px;--type-small-size: 15px;--type-small-line-height: 24px;--type-ui-size: 15px}@media(width>=1024px){--page-margin: var(--space-8);--grid-gap: var(--space-6);--type-display-size: 64px;--type-display-line-height: 72px;--type-h1-size: 48px;--type-h1-line-height: 56px;--type-h2-size: 32px;--type-h2-line-height: 40px}@media(prefers-color-scheme:dark){--color-bg: #201e22;--color-surface: #2a282d;--color-line: #3a373e;--color-line-strong: #7a747f;--color-tag-bg: #34313a;--color-quote-bg: #29272c;--color-text-heading: #f2e9d8;--color-text-body: #ddd4c4;--color-text-muted: #a59d90;--color-text-disabled: #6e6a73;--color-button-bg: #e99845;--color-button-bg-hover: #f6cfa3;--color-button-fg: #201e22;--color-link: #f2e9d8;--color-link-hover: #e99845;--color-focus-ring: #e99845;--color-selection-bg: #283a5a;--color-status-error: #ec8a73;--color-status-success: #74c19c;--color-whale-body: #f2e9d8;--color-wave-band-1: #262b35;--color-wave-band-2: #2a3242;--color-wave-band-3: #2d3a51;--color-wave-band-4: #283a5a;--color-wave-band-5: #2f4262;--color-wave-base: #1e2a44;--color-wave-text-heading: #f2e9d8;--color-wave-text-body: #b4bfd2;--color-media-edge: rgb(242 233 216 / 14%);--color-scrim: rgb(0 0 0 / 50%)}}@layer reset{*,*:before,*:after{box-sizing:border-box}*{margin:0}html{-webkit-text-size-adjust:none;text-size-adjust:none}body{min-height:100vh;-webkit-font-smoothing:antialiased}img,svg{display:block;max-width:100%}img{height:auto}input,button{font:inherit;color:inherit}ol[role=list],ul[role=list]{list-style:none;padding:0}table{border-collapse:collapse}[hidden]{display:none!important}}@layer base{html{background:var(--color-bg);color:var(--color-text-body);font-family:var(--font-family-sans);font-size:var(--type-body-size);line-height:var(--type-body-line-height);font-synthesis-weight:none;text-rendering:optimizelegibility}body{display:flex;flex-direction:column}main{flex:1;padding:var(--space-6) var(--page-margin) var(--space-9);&:focus{outline:none}}::selection{background:var(--color-selection-bg)}h1,h2,h3,.display{color:var(--color-text-heading);font-family:var(--font-family-serif);font-weight:400;text-wrap:balance}.display{font-size:var(--type-display-size);line-height:var(--type-display-line-height);letter-spacing:var(--type-display-tracking)}h1{font-size:var(--type-h1-size);line-height:var(--type-h1-line-height);letter-spacing:var(--type-h1-tracking)}h2{font-size:var(--type-h2-size);line-height:var(--type-h2-line-height);letter-spacing:var(--type-h2-tracking)}h3{font-size:var(--type-h3-size);line-height:var(--type-h3-line-height);letter-spacing:var(--type-h3-tracking)}cite{font-style:inherit}em,i{font-style:italic}strong,b{color:var(--color-text-heading);font-weight:600}small,.note{color:var(--color-text-muted)}.overline{color:var(--color-text-muted);font-family:var(--font-family-sans);font-size:var(--type-tag-size);font-weight:600;line-height:var(--type-tag-line-height);letter-spacing:.08em;text-transform:uppercase}a{color:var(--color-link);text-decoration-line:underline;text-decoration-thickness:1px;text-underline-offset:.15em;transition:color var(--duration-theme);&:hover{color:var(--color-link-hover)}}:focus-visible{outline:2px solid var(--color-focus-ring);outline-offset:2px;border-radius:2px}.prose{>*+*{margin-top:var(--rhythm-paragraph)}>h2{margin-top:var(--rhythm-h2-above)}>h3{margin-top:var(--rhythm-h3-above)}>:is(h2,h3)+*{margin-top:var(--rhythm-h3-below)}>h2+*{margin-top:var(--rhythm-h2-below)}ul,ol{padding-left:1.25em}li+li{margin-top:var(--space-2)}li::marker{color:var(--color-text-muted)}blockquote{margin-block:var(--rhythm-quote);padding:var(--space-5);background:var(--color-quote-bg);border-left:var(--stroke-accent-rule) solid var(--color-accent);border-radius:0 var(--radius-s) var(--radius-s) 0;>*+*{margin-top:var(--rhythm-paragraph)}}hr{border:0;border-top:var(--stroke-hairline) solid var(--color-line);margin-block:var(--space-7)}img{border-radius:var(--radius-s)}iframe{max-width:100%}code{font-family:var(--font-family-mono);font-size:.875em}}.lede,.intro>p:first-child{font-size:var(--type-body-l-size);line-height:var(--type-body-l-line-height)}}@layer utilities{.visually-hidden{position:absolute!important;width:1px!important;height:1px!important;overflow:hidden!important;clip-path:inset(50%)!important;white-space:nowrap!important}}@layer layout{.skip-link{position:absolute;top:var(--space-2);left:var(--space-2);z-index:10;padding:var(--space-2) var(--space-4);border-radius:var(--radius-m);background:var(--color-button-bg);color:var(--color-button-fg);font-size:var(--type-ui-size);font-weight:500;line-height:var(--type-ui-line-height);text-decoration:none;transform:translateY(-200%);&:focus{transform:none}}.site-header-bar{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:var(--space-2) var(--space-4);max-width:var(--page-max-width);margin-inline:auto;padding:var(--space-4) var(--page-margin)}.site-title{font-size:inherit;line-height:inherit}.site-logo{position:relative;display:block;border-radius:var(--radius-s);.logo{width:auto;height:var(--logo-height)}}.logo-whale-body{fill:var(--color-whale-body)}.logo-whale-pleat{fill:var(--color-whale-pleat)}.logo-wordmark{fill:var(--color-text-heading)}.site-nav ul,.footer-nav ul{display:flex;flex-wrap:wrap;gap:0 var(--space-2)}.nav-link{position:relative;display:inline-flex;flex-direction:column;justify-content:center;gap:var(--space-1);min-height:var(--tap-min);padding-inline:var(--space-2);color:var(--color-text-body);font-size:var(--type-ui-size);font-weight:500;line-height:var(--type-ui-line-height);text-decoration:none;&:hover{color:var(--color-text-heading);text-decoration-line:underline}&[aria-current]{color:var(--color-text-heading);&:after{content:"";position:absolute;inset-inline:var(--space-2);bottom:8px;height:2px;border-radius:1px;background:var(--color-accent)}}&[aria-current]:hover{text-decoration-line:none}}.column{max-width:var(--reading-width);margin-inline:auto}.column-list{max-width:var(--list-width);>.prose,>.term-header{max-width:var(--reading-width)}}.site-footer{--footer-sea: 300px;--footer-extra: 400px;position:relative;height:calc(var(--footer-sea) + var(--footer-extra));overflow:hidden;background:linear-gradient(to top,var(--color-wave-base) calc(var(--footer-extra) + var(--space-4)),var(--color-bg) 0);@media(width>=600px){--footer-sea: 360px;--footer-extra: 460px}}.sea{position:absolute;inset:0}.waves{position:absolute;top:0;left:-16px;max-width:none}.waves-wide{display:none;@media(width>=600px){display:block}}.waves-narrow{@media(width>=600px){display:none}}.whale-spot{position:absolute;--scale: 1;.whale{width:calc(var(--whale-width) * var(--scale));height:auto}}.whale-spot-peek{--whale-width: 270px;.whale{transform-origin:50% 100%}left:45.6%;bottom:calc(100% - 184.5px);--scale: .714;@media(width>=600px){left:59.7%;bottom:calc(100% - 212.3px);--scale: .85}@media(width>=1024px){--scale: 1}}.whale-spot-breach{--whale-width: 143px;.whale{transform-origin:50% 100%}left:59%;bottom:calc(100% - 199.8px);--scale: .833;@media(width>=600px){left:69%;bottom:calc(100% - 222.1px);--scale: .85}@media(width>=1024px){--scale: 1}}.whale-spot-tail{--whale-width: 118px;left:13.8%;bottom:calc(100% - 200.2px);--scale: .714;@media(width>=600px){left:20.1%;bottom:calc(100% - 222.2px);--scale: .85}@media(width>=1024px){--scale: 1}.whale{transform-origin:50% 100%}}@media(prefers-reduced-motion:no-preference){.waves{animation:wave-drift var(--drift-duration) ease-in-out infinite alternate,wave-bob var(--bob-duration) ease-in-out infinite alternate}.wave-1{--drift: 10px;--drift-duration: 9s;--bob: 4px;--bob-duration: 3.7s}.wave-2{--drift: -10px;--drift-duration: 8s;--bob: -4px;--bob-duration: 4.3s}.wave-3{--drift: 10px;--drift-duration: 10s;--bob: 3px;--bob-duration: 3.4s}.wave-4{--drift: -10px;--drift-duration: 7.5s;--bob: -3px;--bob-duration: 4.6s}.wave-5{--drift: 10px;--drift-duration: 8.5s;--bob: 3px;--bob-duration: 3.9s}.wave-base{--drift: -8px;--drift-duration: 9.5s;--bob: -2px;--bob-duration: 4.1s}.whale-spot-peek .whale{animation:whale-bob 4s ease-in-out 3}@supports (animation-timeline: view()){.site-footer{view-timeline:--footer block}.whale-spot .whale,.whale-spot-peek .whale{animation:whale-rise linear both;animation-timeline:--footer;animation-range:entry 230px entry 100%}.whale-spot-tail .whale{animation-name:whale-tail-sink}.whale-spot-breach .whale{animation-name:whale-breach}.whale-spot-peek .whale{animation-name:whale-peek}}}@keyframes wave-drift{0%{transform:translate(calc(-1 * var(--drift)))}to{transform:translate(var(--drift))}}@keyframes wave-bob{0%{translate:0 calc(-1 * var(--bob))}to{translate:0 var(--bob)}}@keyframes whale-bob{50%{transform:translateY(-3px)}}@keyframes whale-rise{0%{transform:translateY(28px)}}@keyframes whale-peek{0%{transform:translateY(110%)}55%,to{transform:translateY(-12px) scale(1.18)}}@keyframes whale-breach{0%{transform:translateY(110%) rotate(-14deg)}70%{transform:translateY(0) rotate(4deg)}}@keyframes whale-tail-sink{0%{transform:rotate(3deg)}to{transform:translateY(28px) rotate(-3deg)}}.site-footer-bar{position:absolute;inset-inline:0;bottom:calc(15px + var(--footer-extra));display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:0 var(--space-4);max-width:var(--page-max-width);margin-inline:auto;padding-inline:var(--page-margin);@media(width>=600px){bottom:calc(26px + var(--footer-extra))}}.site-domain{color:var(--color-wave-text-heading);font-size:var(--type-ui-size);font-weight:500;line-height:var(--type-ui-line-height)}.footer-nav{ul{gap:0 var(--space-1);@media(width>=600px){gap:0 var(--space-2)}}.nav-link{color:var(--color-wave-text-body);&:hover{color:var(--color-wave-link-hover)}&[aria-current]{color:var(--color-wave-text-heading)}&:focus-visible{outline-color:var(--color-wave-focus-ring)}}}}@layer components{.rating{--star-size: 16px;--star-step: calc(var(--star-size) + 4px);--rating: 0;display:inline-block;flex:none;width:calc(5 * var(--star-step) - 4px);height:var(--star-size);overflow:hidden;background:linear-gradient(to right,var(--color-accent) calc(var(--rating) * var(--star-step) - 2px),var(--color-line) 0);color:transparent;font-size:0;vertical-align:middle;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 16'%3E%3Cpath d='M7.06 2.5C7.39 1.64 8.61 1.64 8.94 2.5L9.74 4.66C9.88 5.04 10.24 5.29 10.64 5.31L12.94 5.41C13.86 5.45 14.24 6.62 13.52 7.19L11.71 8.63C11.4 8.88 11.27 9.29 11.37 9.68L11.99 11.89C12.23 12.79 11.24 13.51 10.47 13L8.55 11.73C8.22 11.5 7.78 11.5 7.45 11.73L5.53 13C4.76 13.51 3.77 12.79 4.01 11.89L4.63 9.68C4.73 9.29 4.6 8.88 4.29 8.63L2.48 7.19C1.76 6.62 2.14 5.45 3.06 5.41L5.36 5.31C5.76 5.29 6.12 5.04 6.26 4.66L7.06 2.5Z'/%3E%3C/svg%3E") 0 50% / var(--star-step) var(--star-size) repeat-x;&[data-rating="1"]{--rating: 1}&[data-rating="2"]{--rating: 2}&[data-rating="3"]{--rating: 3}&[data-rating="4"]{--rating: 4}&[data-rating="5"]{--rating: 5}&[data-rating="0"]{display:none}@media(forced-colors:active){forced-color-adjust:none}}.rating-large{--star-size: 20px}.rating-none{color:var(--color-text-muted);font-family:var(--font-family-mono);font-size:var(--type-mono-size);line-height:var(--type-mono-line-height)}.tags{display:flex;flex-wrap:wrap;gap:var(--space-2);a{display:block;padding:var(--space-1) var(--space-3);border-radius:var(--radius-pill);background:var(--color-tag-bg);color:var(--color-text-muted);font-size:var(--type-tag-size);font-weight:500;line-height:var(--type-tag-line-height);text-decoration:none;&:hover{background:var(--color-line);color:var(--color-text-heading)}}}.cover{flex:none;width:var(--cover-width);border-radius:var(--radius-s);background-color:var(--img-bg, var(--color-tag-bg));outline:var(--stroke-hairline) solid var(--color-media-edge);outline-offset:calc(-1 * var(--stroke-hairline))}.cover-missing{display:block;aspect-ratio:2 / 3}.cover-grid{display:grid;flex:none;grid-template-columns:1fr 1fr;gap:var(--space-1);width:var(--cover-width);.cover{width:100%;aspect-ratio:2 / 3;object-fit:cover}}.read-more{display:inline-flex;align-items:center;gap:var(--space-1);color:var(--color-link);font-size:var(--type-ui-size);font-weight:500;line-height:var(--type-ui-line-height);@media(prefers-reduced-motion:no-preference){.arrow{transition:transform .15s var(--ease-standard)}}&:hover .arrow{transform:translate(2px)}}.byline{color:var(--color-text-muted);font-size:var(--type-small-size);line-height:var(--type-small-line-height)}.summary{font-size:var(--type-small-size);line-height:var(--type-small-line-height)}.row-link{color:var(--color-text-heading);text-decoration-line:none;&:after{content:"";position:absolute;inset:0}&:focus-visible{outline:none}}:is(.review-row,.compact-row,.digest-card):has(.row-link:hover){.row-link{color:var(--color-text-heading);text-decoration-line:underline}.read-more .arrow{transform:translate(2px)}}.review-list{border-top:var(--stroke-hairline) solid transparent}.review-row{position:relative;display:flex;align-items:flex-start;gap:var(--component-padding);padding-block:var(--space-5);border-bottom:var(--stroke-hairline) solid var(--color-line);&:has(.row-link:focus-visible){outline:2px solid var(--color-focus-ring);outline-offset:var(--space-3);border-radius:var(--radius-s)}:is(.tags a,.series-books a,.read-more,.byline a,.rating-link){position:relative;z-index:1}}.rating-link{display:inline-flex;border-radius:2px;&:hover .rating{opacity:.7}}.byline a{color:inherit;text-decoration-color:var(--color-line-strong);&:hover{color:var(--color-text-heading);text-decoration-color:currentColor}}.review-row-body{display:flex;flex:1;flex-direction:column;align-items:flex-start;gap:var(--space-3);min-width:0}.review-row-heading{display:flex;flex-direction:column;gap:var(--space-1);min-width:0;max-width:100%}:is(.review-row-heading,.compact-title,.series-books,.review-header-text){overflow-wrap:anywhere;hyphens:auto}.review-row-title{font-size:var(--type-h3-size);line-height:var(--type-h3-line-height);letter-spacing:var(--type-h3-tracking)}.series-books{display:flex;flex-direction:column;gap:var(--space-1);li{display:flex;align-items:baseline;gap:var(--space-2);font-size:var(--type-small-size);line-height:var(--type-small-line-height)}.rating{display:flex;align-items:center;height:var(--type-small-line-height);@media(width<600px){--star-size: 12px}}.series-book-title{flex:1;min-width:0}a{color:var(--color-text-body);text-decoration-line:none;&:hover{color:var(--color-text-heading);text-decoration-line:underline}}}.review-group+.review-group{margin-top:var(--rhythm-h2-above)}.group-header{display:flex;flex-wrap:wrap;align-items:baseline;gap:var(--space-1) var(--space-4);padding-bottom:var(--space-1);border-bottom:var(--stroke-hairline) solid var(--color-line)}.group-stats,.term-summary{color:var(--color-text-muted);font-family:var(--font-family-mono);font-size:var(--type-mono-size);line-height:var(--type-mono-line-height)}.compact-list{display:flex;flex-direction:column;padding-top:var(--space-2)}.compact-row{position:relative;display:flex;align-items:flex-start;gap:var(--space-3);padding-block:var(--space-1) var(--space-2);&:has(.row-link:focus-visible){outline:2px solid var(--color-focus-ring);outline-offset:var(--space-1);border-radius:var(--radius-s)}:is(.compact-year a,.byline a){position:relative;z-index:1}}.compact-rating{order:-1}.compact-rating,.compact-year{display:flex;flex:none;align-items:center;min-width:96px;height:var(--type-body-line-height)}.compact-year{min-width:0;color:var(--color-text-muted);font-family:var(--font-family-mono);font-size:var(--type-mono-size);a{color:inherit}}.compact-title{.byline{line-height:max(24px,var(--type-small-line-height))}display:flex;flex:1;flex-direction:column;min-width:0;@media(width>=600px){flex-flow:row wrap;align-items:baseline;gap:var(--space-1) var(--space-2)}}.breadcrumb{margin-bottom:var(--space-5);font-family:var(--font-family-mono);font-size:var(--type-mono-size);line-height:var(--type-mono-line-height);ol{display:flex;flex-wrap:wrap;gap:var(--space-1) var(--space-2)}li+li:before{content:"\203a" / "";margin-right:var(--space-2);color:var(--color-text-muted)}a{color:var(--color-text-muted);text-decoration-line:none;&:hover{color:var(--color-text-heading);text-decoration-line:underline}}[aria-current]{color:var(--color-text-body)}}.review-header{display:flex;align-items:flex-start;gap:var(--component-padding)}.review-header-text{display:flex;flex:1;flex-direction:column;gap:var(--space-2);min-width:0;.rating{order:-1}.subtitle{color:var(--color-text-muted);font-size:var(--type-body-l-size);line-height:var(--type-body-l-line-height)}}.review{>*+*{margin-top:var(--rhythm-paragraph)}>:is(.series-entries,.series-review,.listen){margin-top:var(--space-7)}>:is(.details,.related){margin-top:var(--space-9)}>.prose:not(:has(>:nth-child(2)))+.details{margin-top:var(--space-6)}>.prose>p:only-child{font-size:var(--type-body-l-size);line-height:var(--type-body-l-line-height)}.related h2,.series-entries h2{margin-bottom:var(--rhythm-h2-below)}.series-review h2{margin-bottom:var(--rhythm-h2-below);font-size:var(--type-h3-size);line-height:var(--type-h3-line-height);letter-spacing:var(--type-h3-tracking);a{color:inherit;text-decoration-line:none;&:hover{text-decoration-line:underline}}}.prose cite{font-style:italic}&.series>.prose>p:first-child{font-size:var(--type-body-l-size);line-height:var(--type-body-l-line-height)}}.listen h2{margin-bottom:var(--rhythm-h2-below)}:is(.spotify-embed,.bandcamp-embed){display:block;width:100%;border:0;border-radius:var(--radius-m)}.spotify-embed{min-height:360px}.details{width:100%;border-bottom:var(--stroke-hairline) solid var(--color-line);tr{border-top:var(--stroke-hairline) solid var(--color-line)}th,td{padding-block:var(--space-3);text-align:left;vertical-align:baseline}th{width:96px;padding-right:var(--space-4);color:var(--color-text-muted);font-family:var(--font-family-mono);font-size:var(--type-mono-size);font-weight:400;line-height:var(--type-mono-line-height);text-transform:lowercase}td{font-size:var(--type-small-size);line-height:var(--type-small-line-height)}.details-rating td,.details-rating th{vertical-align:middle}}.external-links{display:flex;flex-wrap:wrap;gap:0 var(--space-2);li+li:before{content:"\b7" / "";margin-right:var(--space-2);color:var(--color-text-muted)}}.cover-gallery{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--space-5) var(--space-3);@media(width>=600px){grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--space-6) var(--space-2)}}.gallery-item{position:relative;display:flex;flex-direction:column;gap:var(--space-2);border-radius:var(--radius-s);text-decoration-line:none;.cover{width:100%;aspect-ratio:2 / 3;object-fit:cover}.rating{--star-size: 12px}}.term-header{margin-bottom:var(--space-7);h1{margin-top:var(--space-1)}.term-summary{margin-top:var(--space-2)}}.column-list{>h1{margin-bottom:var(--rhythm-h1-below)}>.prose,>.intro,>.related-tags{margin-bottom:var(--space-7)}>.related-tags{margin-top:calc(-1 * var(--space-6))}>.related-tags+.related-tags{margin-top:calc(-1 * var(--space-5))}}.highlights>h2{margin-bottom:var(--rhythm-h2-below)}.page,.digest,.taxonomy{>h1{margin-bottom:var(--rhythm-h1-below)}}.past-issues{margin-top:var(--space-7);>h2{margin-bottom:var(--rhythm-h2-below)}}.digest-cards{display:grid;gap:var(--grid-gap);@media(width>=600px){grid-template-columns:repeat(2,minmax(0,1fr))}}.digest-card{position:relative;height:100%;overflow:hidden;border:var(--stroke-hairline) solid var(--color-line);border-radius:var(--radius-m);background:var(--color-surface);&:has(.row-link:focus-visible){outline:2px solid var(--color-focus-ring);outline-offset:var(--space-1)}.read-more{position:relative;z-index:1}}.digest-card-image{width:100%;aspect-ratio:16 / 9;object-fit:cover;border-bottom:var(--stroke-hairline) solid var(--color-media-edge)}.digest-card-body{display:flex;flex-direction:column;align-items:flex-start;gap:var(--space-2);padding:var(--component-padding)}.prose p:has(+#mc-embedded-subscribe-form){padding:var(--space-5) var(--space-5) 0;border:var(--stroke-hairline) solid var(--color-line);border-bottom:0;border-radius:var(--radius-m) var(--radius-m) 0 0;background:var(--color-surface);font-size:var(--type-small-size);line-height:var(--type-small-line-height)}#mc-embedded-subscribe-form{display:flex;flex-direction:column;gap:var(--space-3);padding:var(--space-5);border:var(--stroke-hairline) solid var(--color-line);border-radius:var(--radius-m);background:var(--color-surface);p:has(+&)+&{margin-top:0;padding-top:var(--space-3);border-top:0;border-radius:0 0 var(--radius-m) var(--radius-m)}label{display:flex;flex-direction:column;gap:var(--space-2);color:var(--color-text-muted);font-size:var(--type-ui-size);font-weight:500;line-height:var(--type-ui-line-height)}input[type=email]{height:56px;padding-inline:var(--space-4);border:var(--stroke-hairline) solid var(--color-line-strong);border-radius:var(--radius-m);background:var(--color-bg);color:var(--color-text-body);font-size:var(--type-body-size);font-weight:400;&::placeholder{color:var(--color-text-muted)}&:focus-visible{outline-offset:0;border-color:var(--color-focus-ring)}}input[type=submit]{height:52px}}.button,#mc-embedded-subscribe-form input[type=submit]{display:inline-flex;align-items:center;justify-content:center;min-height:var(--tap-min);padding-inline:var(--space-5);border:0;border-radius:var(--radius-m);background:var(--color-button-bg);color:var(--color-button-fg);font-size:var(--type-ui-size);font-weight:500;line-height:var(--type-ui-line-height);text-decoration-line:none;cursor:pointer;transition:background-color var(--duration-theme);&:hover{background:var(--color-button-bg-hover);color:var(--color-button-fg)}}.ratings{width:100%;margin-block:var(--space-7) var(--space-5);border-bottom:var(--stroke-hairline) solid var(--color-line);caption{margin-bottom:var(--rhythm-h2-below);color:var(--color-text-heading);font-family:var(--font-family-serif);font-size:var(--type-h2-size);line-height:var(--type-h2-line-height);letter-spacing:var(--type-h2-tracking);text-align:left;text-wrap:balance}tr{border-top:var(--stroke-hairline) solid var(--color-line)}th,td{padding-block:var(--space-3);text-align:left;vertical-align:middle}th{width:112px;padding-right:var(--space-4);font-weight:400}td{color:var(--color-text-muted);font-size:var(--type-small-size);line-height:var(--type-small-line-height)}.rating[data-rating="0"]{display:inline;width:auto;height:auto;background:none;color:var(--color-text-muted);font-family:var(--font-family-mono);font-size:var(--type-mono-size);line-height:var(--type-mono-line-height);text-decoration-line:none;mask:none;&:before{content:"not rated"}}}.taxonomy{ul{padding:0;list-style:none}li{padding-block:var(--space-1)}ul ul{padding-left:var(--space-5)}.tag-tree-level-0>li{padding-block:var(--space-2)}.taxonomy-count{margin-left:var(--space-1);color:var(--color-text-muted);font-family:var(--font-family-mono);font-size:var(--type-mono-size)}}.place-areas ul{display:flex;flex-wrap:wrap;gap:var(--space-2) var(--space-4);margin-bottom:var(--space-7)}.whale-body{fill:var(--color-whale-body)}.whale-pleat{fill:var(--color-whale-pleat)}.not-found{display:flex;flex-direction:column;align-items:center;gap:var(--space-5);padding-top:var(--space-8);text-align:center;.whale{width:240px;height:auto}}.not-found-actions{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:var(--space-3) var(--space-5);a:not(.button){font-size:var(--type-ui-size);font-weight:500}}:root:has(.sheet[open]){overflow:hidden}.sheet{width:100%;max-width:none;height:100dvh;max-height:none;margin:0 0 0 auto;padding:0;overflow:hidden;border:0;background:var(--color-bg);color:inherit;opacity:0;transition-property:opacity,translate,display,overlay;transition-duration:var(--duration-sheet-out);transition-timing-function:var(--ease-sheet);transition-behavior:allow-discrete;@media(prefers-reduced-motion:no-preference){opacity:1;translate:100% 0}@media(width>=600px){width:640px;max-width:100%;border-left:var(--stroke-hairline) solid var(--color-line)}&[open]{opacity:1;translate:0;transition-duration:var(--duration-sheet-in)}&::backdrop{background:var(--color-scrim);opacity:0;transition-property:opacity,display,overlay;transition-duration:var(--duration-sheet-out);transition-timing-function:var(--ease-sheet);transition-behavior:allow-discrete}&[open]::backdrop{opacity:1;transition-duration:var(--duration-sheet-in)}@starting-style{&[open]{opacity:0;@media(prefers-reduced-motion:no-preference){opacity:1;translate:100% 0}}&[open]::backdrop{opacity:0}}&:focus-visible{outline:none}}.sheet-panel{height:100%;overflow-y:auto;overscroll-behavior:contain}.sheet-bar{position:sticky;top:0;z-index:2;display:flex;align-items:center;justify-content:space-between;padding-inline:var(--space-2);border-bottom:var(--stroke-hairline) solid var(--color-line);background:var(--color-bg);@media(width>=600px){justify-content:flex-end;padding-inline:var(--space-5)}@supports (animation-timeline: scroll()){border-bottom-color:transparent;animation:sheet-bar-rule linear both;animation-timeline:scroll();animation-range:0 var(--space-4)}button{display:inline-flex;align-items:center;justify-content:center;min-width:var(--tap-min);min-height:var(--tap-min);padding:0;border:0;border-radius:var(--radius-s);background:none;color:var(--color-text-heading);cursor:pointer;&:hover{color:var(--color-link-hover)}&:focus-visible{outline:2px solid var(--color-focus-ring);outline-offset:-2px}}svg{flex:none;width:44px;padding:14px;height:auto}.sheet-back{.arrow{scale:-1 1}@media(width>=600px){display:none}}.sheet-close{@media(width<600px){display:none}}}.sheet-content{padding:var(--space-6) var(--page-margin) var(--space-9);@media(width>=600px){padding-inline:var(--space-7)}h1:focus{outline:none}}@keyframes sheet-bar-rule{0%{border-bottom-color:transparent}to{border-bottom-color:var(--color-line)}}.sheet-placeholder-header{display:flex;gap:var(--component-padding);>div{display:flex;flex:1;flex-direction:column;gap:var(--space-3)}}.sheet-placeholder-text{display:flex;flex-direction:column;gap:var(--space-3);margin-top:var(--space-6);span:last-child{width:60%}}:is(.sheet-placeholder-header,.sheet-placeholder-text) span{display:block;height:var(--type-body-size);border-radius:var(--radius-s);background:var(--color-tag-bg);@media(prefers-reduced-motion:no-preference){background:linear-gradient(100deg,transparent 30%,var(--color-quote-bg) 50%,transparent 70%) var(--color-tag-bg);background-size:300% 100%;animation:sheet-shimmer 1.4s linear infinite}}.sheet-placeholder-header{.sheet-placeholder-cover{flex:none;width:var(--cover-width);height:calc(var(--cover-width) * 1.5)}.sheet-placeholder-rating{width:96px}.sheet-placeholder-title{width:80%;height:var(--type-h1-line-height)}.sheet-placeholder-byline{width:40%}}@keyframes sheet-shimmer{0%{background-position:100% 0}to{background-position:0 0}}}
