@font-face{font-family:Reading Geist;src:url(/assets/fonts/sahil-geist.woff2) format("woff2");font-weight:100 900;font-style:normal;font-display:swap}
@font-face{font-family:Reading Mono;src:url(/assets/fonts/0a46d287b0f430c7.woff2) format("woff2");font-weight:400;font-style:normal;font-display:swap}

:root{color-scheme:dark;--reading-bg:#181818;--reading-surface:#1f1f1f;--reading-ink:#fff;--reading-muted:#9b9b9b;--reading-line:rgba(255,255,255,.12);--reading-ease:cubic-bezier(.32,.72,0,1)}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:32px}
body{margin:0;background:var(--reading-bg);color:var(--reading-ink);font-family:Reading Geist,sans-serif;font-size:16px;line-height:1.5;-webkit-font-smoothing:antialiased}
body::before{content:"";position:fixed;inset:0;z-index:5;opacity:.025;pointer-events:none;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Cpath filter='url(%23n)' opacity='.5' d='M0 0h180v180H0z'/%3E%3C/svg%3E")}
h1,h2,h3,p{margin:0}
a{color:inherit;text-decoration:none}
button,input,select{font:inherit}
button,a,input,select{-webkit-tap-highlight-color:transparent}
button{cursor:pointer;color:inherit}
button:disabled{cursor:default}
a,button{touch-action:manipulation}
button,select,input{border-radius:0}
button{border:0}
svg{width:20px;height:20px;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round;flex:none}
[hidden]{display:none!important}
:focus-visible{outline:2px solid #fff;outline-offset:5px}
::selection{color:#181818;background:#fff}
.reading-room{width:min(1200px,calc(100% - 96px));margin-inline:auto}
.reading-sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.reading-skip{position:fixed;z-index:10;left:24px;top:16px;transform:translateY(-160%);background:#fff;color:#181818;padding:12px 16px}
.reading-skip:focus{transform:translateY(0)}
.reading-hero{display:grid;grid-template-columns:1.1fr 1fr;align-items:center;gap:80px;padding:80px 0 96px}
.reading-kicker,.reading-label,.reading-hero__edition,.reading-section-number,.reading-book__number,.reading-book__meta,.reading-still-life__hint,.reading-book__open{font-family:Reading Mono,monospace;font-size:12px;line-height:16px;font-weight:400}
.reading-kicker{display:flex;align-items:center;gap:12px;color:var(--reading-muted)}
.reading-kicker__line{display:block;width:24px;height:1px;background:var(--reading-muted)}
.reading-hero h1{margin-top:24px;font-size:96px;font-weight:500;letter-spacing:-.065em;line-height:1;background:linear-gradient(90deg,#fff,#9b9b9b);background-clip:text;-webkit-background-clip:text;color:transparent}
.reading-hero__intro{margin-top:32px;font-size:18px;line-height:28px;color:var(--reading-muted)}
.reading-text-link{display:inline-flex;align-items:center;justify-content:space-between;gap:32px;padding:8px 0;font-size:14px;line-height:20px;font-weight:500;background:transparent;border-bottom:1px solid rgba(255,255,255,.4);transition:color 250ms var(--reading-ease),border-color 250ms var(--reading-ease)}
.reading-text-link span{display:inline-block;transition:transform 300ms var(--reading-ease)}
.reading-text-link:hover{color:var(--reading-muted);border-color:#fff}
.reading-text-link:hover span{transform:translate(2px,-2px)}
.reading-hero__copy>.reading-text-link{margin-top:32px}
.reading-hero__visual{min-width:0;animation:reading-arrive 900ms var(--reading-ease) both}
.reading-hero__edition{display:flex;justify-content:space-between;color:var(--reading-muted);text-transform:uppercase;letter-spacing:.08em;padding-bottom:16px}
.reading-still-life{position:relative;display:block;height:352px;isolation:isolate;perspective:1200px}
.reading-still-life::after{content:"";position:absolute;bottom:24px;left:-16px;right:-16px;height:8px;z-index:-1;background:#272727;box-shadow:0 16px 24px rgba(0,0,0,.4);border-top:1px solid rgba(255,255,255,.1)}
.reading-object{position:absolute;bottom:40px;width:38%;aspect-ratio:2/3;transform-origin:50% 100%;background:#272727;border-radius:2px 4px 4px 2px;box-shadow:4px 2px 1px rgba(255,255,255,.16),12px 12px 24px rgba(0,0,0,.5);transition:transform 700ms var(--reading-ease)}
.reading-object img,.reading-book__cover img,.reading-dialog__cover img{position:relative;display:block;width:100%;height:100%;object-fit:cover;border-radius:inherit}
.reading-object::after,.reading-book__cover::after,.reading-dialog__cover::after{content:"";position:absolute;inset:0;border-left:4px solid rgba(0,0,0,.16);border-radius:inherit;box-shadow:inset 1px 0 rgba(255,255,255,.4),inset -1px 0 rgba(0,0,0,.3);pointer-events:none}
.reading-cover-fallback{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;text-align:center;padding:16px;font-size:20px;line-height:28px;background:#313131;color:#fff;border-radius:inherit}
.reading-object--1{left:4%;transform:rotate(-13deg) scale(.84);z-index:1}
.reading-object--2{right:3%;transform:rotate(13deg) scale(.9);z-index:2}
.reading-object--3{left:32%;transform:rotate(-3deg);z-index:3}
.reading-still-life:hover .reading-object--1{transform:translateX(-8px) rotate(-17deg) scale(.84)}
.reading-still-life:hover .reading-object--2{transform:translateX(8px) rotate(17deg) scale(.9)}
.reading-still-life:hover .reading-object--3{transform:translateY(-8px) rotate(0)}
.reading-still-life__hint{position:absolute;right:0;bottom:-16px;color:var(--reading-muted);font-size:12px;line-height:16px;opacity:0;transition:opacity 300ms var(--reading-ease)}
.reading-still-life:hover .reading-still-life__hint{opacity:1}
.reading-latest{display:flex;flex-direction:column;gap:8px;padding-top:24px}
.reading-label{color:var(--reading-muted)}
.reading-latest>a{display:flex;align-items:center;gap:16px;font-size:14px;line-height:20px}
.reading-latest>a>span{color:var(--reading-muted)}
.reading-collection{padding-top:32px;border-top:1px solid var(--reading-line);scroll-margin-top:32px}
.reading-collection__heading{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-bottom:32px}
.reading-collection__heading>div:first-child{display:flex;align-items:baseline;gap:24px}
.reading-section-number{color:var(--reading-muted)}
.reading-collection h2{font-size:30px;line-height:36px;font-weight:400;letter-spacing:-.035em}
.reading-collection h2 sup{font-family:Reading Mono,monospace;font-size:12px;line-height:16px;letter-spacing:0;color:var(--reading-muted);vertical-align:top;margin-left:8px}
.reading-view{display:flex;padding:4px;background:#272727;border-radius:8px}
.reading-view button{display:flex;align-items:center;gap:8px;padding:8px 12px;background:transparent;color:var(--reading-muted);font-size:14px;line-height:20px;border-radius:4px;transition:background 250ms var(--reading-ease),color 250ms var(--reading-ease)}
.reading-view button[aria-pressed=true]{color:#fff;background:#181818;box-shadow:0 2px 4px rgba(0,0,0,.16)}
.reading-view button:hover{color:#fff}
.reading-view svg{width:16px;height:16px}
.reading-toolbar{display:flex;align-items:center;justify-content:space-between;gap:24px;border-top:1px solid var(--reading-line);border-bottom:1px solid var(--reading-line);min-height:80px}
.reading-filters{display:flex;gap:24px;align-items:center;flex-wrap:wrap}
.reading-filters button{position:relative;display:flex;align-items:center;gap:8px;min-height:48px;padding:8px 0;color:var(--reading-muted);background:transparent;font-size:14px;line-height:20px;white-space:nowrap;transition:color 250ms var(--reading-ease)}
.reading-filters button[aria-pressed=true],.reading-filters button:hover{color:#fff}
.reading-filters button[aria-pressed=true]::after{content:"";position:absolute;left:0;right:0;bottom:0;height:2px;background:#fff}
.reading-filters button>span:not(.reading-star){font-size:12px;line-height:16px;color:var(--reading-muted)}
.reading-search{display:flex;align-items:center;gap:8px;width:240px;color:var(--reading-muted)}
.reading-search input{min-width:0;width:100%;padding:12px 4px;border:0;background:transparent;color:#fff;font-size:14px;line-height:20px}
.reading-search input::placeholder{color:var(--reading-muted);opacity:1}
.reading-search svg{width:16px;height:16px}
.reading-catalog__bar{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:24px 0;color:var(--reading-muted);font-size:12px;line-height:16px}
.reading-catalog__bar select{color:var(--reading-muted);background:#181818;border:0;padding:8px 24px 8px 8px;font-size:12px;line-height:16px;cursor:pointer}
.reading-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:48px 32px}
.reading-book{min-width:0;display:flex;flex-direction:column}
.reading-book__link{display:block}
.reading-book__stage{position:relative;display:flex;align-items:flex-end;justify-content:center;aspect-ratio:1/.98;padding:40px 32px 32px;background:var(--reading-surface);border-radius:4px;isolation:isolate}
.reading-book__stage::after{content:"";position:absolute;left:0;right:0;bottom:16px;height:1px;background:rgba(255,255,255,.08);z-index:-1}
.reading-book__number{position:absolute;left:16px;top:16px;color:var(--reading-muted);font-size:12px;line-height:16px}
.reading-book__cover{position:relative;width:72%;aspect-ratio:2/3;border-radius:2px 4px 4px 2px;box-shadow:2px 0 1px rgba(255,255,255,.24),8px 8px 16px rgba(0,0,0,.48);transform:perspective(800px) rotateY(-8deg);transform-origin:0 50%;transition:transform 700ms var(--reading-ease),box-shadow 700ms var(--reading-ease)}
.reading-book__link:hover .reading-book__cover{transform:perspective(800px) rotateY(-18deg) rotateZ(-3deg) translateY(-8px);box-shadow:4px 2px 1px rgba(255,255,255,.2),16px 16px 24px rgba(0,0,0,.48)}
.reading-book__open{display:flex;justify-content:space-between;position:absolute;inset:auto 16px 8px;opacity:0;transform:translateY(4px);transition:opacity 250ms var(--reading-ease),transform 250ms var(--reading-ease)}
.reading-book__link:hover .reading-book__open,.reading-book__link:focus-visible .reading-book__open{opacity:1;transform:none}
.reading-book__copy{padding-top:16px}
.reading-book__subject{color:var(--reading-muted);font-family:Reading Mono,monospace;font-size:12px;line-height:16px;margin-bottom:8px}
.reading-book h3{font-size:20px;line-height:28px;letter-spacing:-.025em;font-weight:500;text-wrap:pretty}
.reading-book__author{color:var(--reading-muted);font-size:14px;line-height:20px;margin-top:4px}
.reading-book__meta{display:flex;justify-content:space-between;gap:8px;margin-top:auto;padding-top:24px;color:var(--reading-muted)}
.reading-star{color:#fff;font-size:12px}
.reading-rating-max{opacity:.7}
.reading-source{display:flex;justify-content:space-between;gap:24px;margin-top:48px;padding:24px 0;border-top:1px solid var(--reading-line);color:var(--reading-muted);font-size:12px;line-height:16px}
.reading-source p{display:flex;align-items:center;gap:8px}
.reading-source__dot{display:block;width:4px;height:4px;flex:none;background:var(--reading-muted);border-radius:50%}
.reading-source a{display:inline-flex;align-items:center;gap:12px;transition:color 250ms var(--reading-ease)}
.reading-source a:hover{color:#fff}
.reading-empty{padding:80px 24px;text-align:center}
.reading-empty h3{margin:16px 0;font-size:30px;line-height:36px;font-weight:400}
.reading-empty>p:not(.reading-label){color:var(--reading-muted)}
.reading-empty button{margin-top:24px}
.reading-spatial__intro{display:flex;justify-content:space-between;gap:16px;padding:0 0 24px;font-size:14px;line-height:20px}
.reading-spatial__intro span{color:var(--reading-muted)}
.reading-shelf-frame{display:block;width:100%;height:680px;border:1px solid var(--reading-line);background:#181818}
.reading-endnote{padding:96px 0;text-align:center;border-top:1px solid var(--reading-line);margin-top:32px}
.reading-endnote h2{margin:16px 0 24px;font-size:48px;line-height:1;font-weight:400;letter-spacing:-.045em;text-wrap:balance}
.reading-footer{display:flex;align-items:center;justify-content:space-between;gap:24px;min-height:96px;border-top:1px solid var(--reading-line);font-family:Reading Mono,monospace;font-size:12px;line-height:16px;color:var(--reading-muted)}
.reading-footer>a{display:flex;align-items:center;gap:12px;transition:color 250ms var(--reading-ease)}
.reading-footer>a:hover{color:#fff}
.reading-footer img{border-radius:50%}
.reading-footer__clock{display:flex;gap:12px;font-variant-numeric:tabular-nums}
.reading-dialog-open{overflow:hidden}
.reading-dialog{width:min(960px,calc(100% - 48px));max-width:none;max-height:calc(100dvh - 64px);padding:0;overflow:auto;border:1px solid var(--reading-line);border-radius:8px;background:#181818;color:#fff;box-shadow:0 24px 80px rgba(0,0,0,.48)}
.reading-dialog[open]{display:grid;grid-template-columns:40% 60%;animation:reading-arrive 300ms var(--reading-ease)}
.reading-dialog::backdrop{background:rgba(0,0,0,.72);backdrop-filter:blur(8px)}
.reading-dialog__close{position:sticky;z-index:2;grid-column:1/-1;justify-self:end;top:16px;right:16px;margin:16px 16px -56px auto;display:block;width:40px;height:40px;font-size:30px;line-height:36px;border-radius:50%;background:#272727;transition:background 250ms var(--reading-ease)}
.reading-dialog__close:hover{background:#313131}
.reading-dialog__art{display:flex;align-items:center;justify-content:center;flex-direction:column;gap:40px;padding:64px 48px;background:#1f1f1f}
.reading-dialog__cover{position:relative;width:min(100%,240px);aspect-ratio:2/3;box-shadow:4px 2px 1px rgba(255,255,255,.24),16px 16px 32px rgba(0,0,0,.5);transform:perspective(1000px) rotateY(-10deg) rotateZ(-3deg);border-radius:2px 4px 4px 2px}
.reading-dialog__art .reading-label{text-align:center}
.reading-dialog__content{min-width:0;padding:64px 40px 32px}
.reading-dialog h2{margin:16px 0 12px;font-size:30px;line-height:36px;letter-spacing:-.035em;font-weight:500;text-wrap:pretty}
.reading-dialog__author{font-size:16px;line-height:24px;color:var(--reading-muted)}
.reading-dialog__facts{display:grid;grid-template-columns:1.25fr 1fr 1fr;gap:16px;margin:32px 0;padding:24px 0;border-top:1px solid var(--reading-line);border-bottom:1px solid var(--reading-line)}
.reading-dialog__facts dt{font-family:Reading Mono,monospace;color:var(--reading-muted);font-size:12px;line-height:16px}
.reading-dialog__facts dd{margin:8px 0 0;font-size:14px;line-height:20px}
.reading-dialog__synopsis>p:last-child{font-size:16px;line-height:24px;margin-top:12px;color:var(--reading-muted);text-wrap:pretty}
.reading-dialog__link{display:flex;justify-content:space-between;gap:16px;margin-top:32px;border-radius:4px;background:#fff;color:#181818;font-size:16px;font-weight:600;line-height:24px;padding:12px 16px;transition:background 250ms var(--reading-ease)}
.reading-dialog__link:hover{background:#9b9b9b}
.reading-dialog__navigation{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-top:24px;font-family:Reading Mono,monospace;font-size:12px;line-height:16px;color:var(--reading-muted)}
.reading-dialog__navigation button{padding:12px 0;background:transparent;color:#fff;font-size:12px;line-height:16px}
.reading-dialog__navigation button:disabled{color:var(--reading-muted);opacity:.4}
button:active:not(:disabled),.reading-dialog__link:active{transform:translateY(1px)}
@keyframes reading-arrive{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}

@media(min-width:1500px){.reading-hero{padding-block:96px}.reading-hero h1{font-size:128px}.reading-still-life{height:400px}}
@media(max-width:1100px){.reading-hero{gap:48px}.reading-hero h1{font-size:72px}.reading-still-life{height:320px}.reading-filters{gap:16px}.reading-search{width:200px}.reading-grid{gap:40px 24px}.reading-book__stage{padding:40px 24px 32px}.reading-book__cover{width:80%}}
@media(max-width:900px){.reading-room{width:calc(100% - 64px)}.reading-hero{gap:32px;padding-block:64px 80px}.reading-hero h1{font-size:60px}.reading-hero__edition{font-size:12px;letter-spacing:0}.reading-still-life{height:272px}.reading-hero__intro{font-size:16px;line-height:24px}.reading-toolbar{align-items:flex-start;flex-direction:column;gap:8px;padding:8px 0 16px}.reading-search{width:100%}.reading-filters{gap:24px}.reading-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.reading-dialog__art{padding:48px 32px}.reading-dialog__content{padding:64px 32px 32px}.reading-spatial__intro{flex-direction:column}}
@media(max-width:640px){
  html{scroll-padding-top:16px}
  .reading-room{width:calc(100% - 40px)}
  .reading-hero{grid-template-columns:1fr;gap:32px;padding:32px 0 48px}
  .reading-hero h1{font-size:72px}
  .reading-hero__intro{font-size:18px;line-height:28px;margin-top:24px}
  .reading-hero__copy>.reading-text-link{margin-top:24px}
  .reading-hero__visual{width:min(100%,400px);margin-inline:auto}
  .reading-still-life{height:272px}
  .reading-still-life::after{left:0;right:0}
  .reading-object{width:32%}
  .reading-object--1{left:10%}.reading-object--2{right:9%}.reading-object--3{left:34%}
  .reading-latest{padding-top:16px}
  .reading-collection{padding-top:24px}
  .reading-collection__heading{gap:16px;margin-bottom:24px;align-items:flex-start;flex-direction:column}
  .reading-collection__heading>div:first-child{gap:16px}
  .reading-view{align-self:flex-start}
  .reading-filters{gap:0;justify-content:space-between;width:100%}
  .reading-filters button{font-size:12px;line-height:16px;gap:4px}
  .reading-catalog__bar{padding:16px 0;align-items:flex-start}
  .reading-catalog__bar>p{padding-top:8px}
  .reading-catalog__bar select{max-width:144px;padding-right:0}
  .reading-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:32px 16px}
  .reading-book__stage{aspect-ratio:3/4;padding:40px 16px 32px}
  .reading-book__cover{width:90%}
  .reading-book__number{top:12px;left:12px}
  .reading-book__subject{font-family:Reading Geist,sans-serif}
  .reading-book h3{font-size:18px;line-height:28px}
  .reading-book__author{font-size:14px;line-height:20px}
  .reading-book__meta{font-family:Reading Geist,sans-serif;padding-top:16px}
  .reading-book__open{display:none}
  .reading-source{flex-direction:column;gap:16px;margin-top:32px}
  .reading-endnote{padding:64px 0}
  .reading-endnote h2{font-size:36px;line-height:40px}
  .reading-footer{display:grid;grid-template-columns:1fr 1fr;min-height:96px;gap:16px;padding:24px 0}
  .reading-footer__clock{flex-direction:column;gap:4px;align-items:flex-end}
  .reading-footer>a:last-child{grid-column:1/-1;justify-self:center}
  .reading-shelf-frame{height:clamp(620px,calc(100dvh - 96px),800px)}
  .reading-dialog{width:calc(100% - 24px);max-height:calc(100dvh - 32px);border-radius:8px}
  .reading-dialog[open]{display:block}
  .reading-dialog__art{padding:40px 32px 32px;gap:24px}
  .reading-dialog__cover{width:144px}
  .reading-dialog__content{padding:32px 24px}
  .reading-dialog h2{font-size:24px;line-height:32px}
  .reading-dialog__facts{gap:12px}
}
@media(max-width:380px){.reading-hero h1{font-size:48px}.reading-still-life{height:240px}.reading-filters button>span:not(.reading-star){display:none}.reading-book__stage{padding:32px 12px 24px}.reading-book h3{font-size:16px;line-height:24px}}
@media(hover:none){.reading-still-life__hint{display:none}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}.reading-still-life:hover .reading-object--1{transform:rotate(-13deg) scale(.84)}.reading-still-life:hover .reading-object--2{transform:rotate(13deg) scale(.9)}.reading-still-life:hover .reading-object--3{transform:rotate(-3deg)}.reading-book__link:hover .reading-book__cover{transform:perspective(800px) rotateY(-8deg)}}

.reading-shelf-swap{position:relative;display:inline-flex;align-items:center;gap:8px;min-height:44px;max-width:100%;color:var(--reading-ink);font-family:Reading Mono,monospace;font-size:12px}
.reading-shelf-swap select{position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:pointer}
.reading-shelf-swap:focus-within{outline:2px solid var(--reading-ink);outline-offset:3px}
.reading-shelf-swap option{color:#eee;background:#171a1d;font-size:14px}
.reading-shelf-swap svg{flex-shrink:0}
.reading-shelf-swap svg{width:18px;height:18px;transition:transform 200ms var(--reading-ease)}
.reading-shelf-swap:hover svg{transform:rotate(180deg)}
@media(max-width:640px){.reading-catalog__bar{flex-wrap:wrap;gap:8px 16px}.reading-catalog__bar>p{order:3;flex-basis:100%;padding-top:0}.reading-catalog__bar>label[data-reading-controls]{margin-left:auto}}

/* Shared browsing tools keep the 3D shelf and covers equally easy to explore. */
.reading-toolbar { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:0 24px; align-items:center; padding:12px 0; position:relative; z-index:30; }
.reading-toolbar.is-shelf { margin-bottom:24px; min-height:68px; }
.reading-filters { grid-column:1/-1; margin-bottom:8px; }
.reading-search-wrap { position:relative; width:100%; max-width:520px; min-width:0; }
.reading-search-wrap .reading-search { width:100%; }
.reading-search input { font-size:16px; }
.reading-search-results { position:absolute; z-index:50; top:calc(100% + 8px); left:0; width:max(100%,280px); max-width:calc(100vw - 48px); max-height:320px; overflow:auto; overscroll-behavior:contain; background:#17191b; border:1px solid #42464a; border-radius:8px; }
.reading-search-results__count { padding:14px 16px 10px; color:#b5b8bc; font-size:12px; line-height:18px; }
.reading-search-results ul { margin:0; padding:0 6px 6px; list-style:none; }
.reading-search-results button { display:flex; flex-direction:column; gap:4px; text-align:left; width:100%; min-height:56px; padding:12px 10px; background:transparent; color:#f2f3f4; border-radius:4px; font-size:14px; line-height:20px; }
.reading-search-results button:hover,.reading-search-results button:focus-visible { background:#282c30; outline-offset:-2px; }
.reading-search-results small { color:#b5b8bc; font-size:12px; }
.reading-random { display:flex; align-items:center; gap:8px; min-height:44px; padding:8px 12px; border:1px solid var(--reading-line); border-radius:4px; background:transparent; color:var(--reading-ink); font-size:14px; white-space:nowrap; }
.reading-random:hover { border-color:#737373; background:#202020; }
.reading-random svg { width:18px; height:18px; }
.reading-random:disabled,.reading-search input:disabled { opacity:.45; cursor:default; }
[data-reading-frame] { transition:opacity 180ms var(--reading-ease); }
[data-reading-frame].is-changing { opacity:.35; pointer-events:none; }
.reading-collection-status:not(.reading-sr-only) { padding:12px 0; font-size:14px; line-height:20px; }
.reading-dialog__review { padding:24px 0; border-top:1px solid var(--reading-line); border-bottom:1px solid var(--reading-line); margin-bottom:24px; }
.reading-dialog__review h3 { font-size:16px; line-height:24px; font-weight:500; }
.reading-dialog__review p { margin:12px 0; white-space:pre-line; color:var(--reading-ink); font-size:16px; line-height:1.65; }
.reading-dialog__review a { color:var(--reading-muted); font-size:12px; line-height:20px; text-underline-offset:4px; }
.reading-shelf-swap__chevron { width:14px!important; height:14px!important; color:var(--reading-muted); }
@media(max-width:600px) { .reading-toolbar { gap:0 12px; } .reading-random { padding-inline:8px; font-size:12px; gap:6px; } .reading-search-results { max-width:calc(100vw - 40px); } }
@media(prefers-reduced-motion:reduce) { [data-reading-frame] { transition:none; } }

.reading-spatial__intro [data-reading-intro] { color:var(--reading-ink); }

.reading-recommendations { border-top:1px solid var(--reading-line); margin-top:32px; padding:72px 0 80px; }
.reading-recommendations__invitation { display:grid; grid-template-columns:1fr 1fr; align-items:end; gap:48px; margin-bottom:64px; }
.reading-recommendations__invitation .reading-label { color:var(--reading-muted); display:flex; gap:24px; }
.reading-recommendations h2 { margin-top:20px; font-size:56px; font-weight:400; line-height:1.05; letter-spacing:-.045em; }
.reading-recommendations__ask { max-width:360px; justify-self:end; padding-bottom:4px; }
.reading-recommendations__ask>p { color:var(--reading-muted); font-size:18px; line-height:28px; text-wrap:pretty; margin-bottom:24px; }
.reading-recommend-button { display:inline-flex; align-items:center; justify-content:space-between; gap:32px; min-height:48px; padding:12px 20px; border:1px solid transparent; border-radius:4px; color:#181818; background:#eeeae2; font-weight:500; font-size:14px; line-height:22px; transition:background 180ms var(--reading-ease); }
.reading-recommend-button:hover { background:#fff; }
.reading-recommend-button:disabled { opacity:.65; }
.reading-recommendations__heading { display:flex; align-items:baseline; justify-content:space-between; gap:16px; border-top:1px solid var(--reading-line); padding-top:24px; }
.reading-recommendations__heading h3 { font-size:20px; line-height:28px; letter-spacing:-.02em; font-weight:400; }
.reading-recommendations__heading>span { color:var(--reading-muted); }
.reading-recommendations__policy { max-width:620px; margin:8px 0 28px; font-size:14px; line-height:22px; color:var(--reading-muted); }
.reading-recommendations__empty { display:flex; align-items:center; gap:36px; padding:32px; background:rgba(255,255,255,.018); border:1px solid var(--reading-line); border-radius:4px; }
.reading-recommendations__space { flex:none; display:flex; flex-direction:column; align-items:center; justify-content:center; width:116px; height:146px; padding:16px; border:1px dashed rgba(255,255,255,.2); border-radius:2px 6px 6px 2px; color:var(--reading-muted); text-align:center; gap:14px; box-shadow:-4px 0 0 #242424; transform:rotate(-5deg); }
.reading-recommendations__space svg { width:28px; height:28px; stroke-width:1; }
.reading-recommendations__space span { font-family:Reading Mono,monospace; font-size:10px; line-height:16px; }
.reading-recommendations__empty h4 { margin:0 0 8px; font-size:18px; line-height:26px; font-weight:400; }
.reading-recommendations__empty p { font-size:14px; line-height:22px; color:var(--reading-muted); }
.reading-recommendations__empty button { margin-top:16px; }
.reading-recommendations__list { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:20px; }
.reading-recommendations__status { color:var(--reading-muted); font-size:14px; line-height:22px; }
.reading-recommendations__status p:not(:empty) { margin:20px 0 8px; }
.reading-recommendations__more { margin-top:28px; }
.book-recommendation { display:flex; flex-direction:column; min-width:0; padding:28px; border:1px solid var(--reading-line); border-radius:4px; }
.book-recommendation header { display:flex; align-items:center; gap:16px; }
.book-recommendation__icon { display:grid; place-items:center; flex:none; width:42px; height:54px; border:1px solid var(--reading-line); background:var(--reading-surface); color:var(--reading-muted); border-radius:2px 4px 4px 2px; }
.book-recommendation h4 { font-size:20px; line-height:26px; letter-spacing:-.025em; font-weight:500; margin:0 0 4px; overflow-wrap:anywhere; }
.book-recommendation header p { font-size:14px; line-height:22px; color:var(--reading-muted); overflow-wrap:anywhere; }
.book-recommendation blockquote { flex:1; margin:24px 0; font-size:16px; line-height:26px; white-space:pre-wrap; overflow-wrap:anywhere; color:#d4d4d4; }
.book-recommendation footer { display:flex; align-items:baseline; justify-content:space-between; gap:16px; padding-top:16px; border-top:1px solid var(--reading-line); font-size:12px; line-height:20px; color:var(--reading-muted); }
.book-recommendation footer strong { font-weight:400; color:var(--reading-ink); overflow-wrap:anywhere; }
.book-recommendation>header+footer { margin-top:24px; }
.book-recommendation footer a { flex:none; color:var(--reading-ink); text-underline-offset:4px; }
.book-recommendation footer a:hover { text-decoration:underline; }
.recommend-dialog { width:min(580px,calc(100% - 40px)); max-width:none; max-height:calc(100dvh - 48px); padding:36px; background:#1b1b1b; border:1px solid rgba(255,255,255,.18); border-radius:8px; color:var(--reading-ink); overscroll-behavior:contain; box-shadow:0 24px 80px rgba(0,0,0,.5); }
.recommend-dialog[open] { animation:reading-arrive 200ms var(--reading-ease); }
.recommend-dialog::backdrop { background:rgba(0,0,0,.72); backdrop-filter:blur(6px); }
.recommend-dialog__close { position:absolute; top:16px; right:16px; display:grid; place-items:center; width:40px; height:40px; background:transparent; color:var(--reading-muted); font-size:28px; line-height:1; border-radius:50%; }
.recommend-dialog__close:hover { color:#fff; background:var(--reading-surface); }
.recommend-dialog .reading-label { display:flex; align-items:center; gap:10px; color:var(--reading-muted); padding-right:32px; }
.recommend-dialog .reading-label svg { width:16px; height:16px; }
.recommend-dialog h2 { font-size:36px; font-weight:400; line-height:42px; letter-spacing:-.04em; margin:20px 0 8px; }
.recommend-dialog__intro { font-size:16px; line-height:24px; color:var(--reading-muted); margin-bottom:28px; }
.recommend-form__book { display:grid; grid-template-columns:1.25fr 1fr; gap:16px; }
.recommend-field { display:flex; flex-direction:column; gap:8px; margin-bottom:20px; min-width:0; }
.recommend-field label,.recommend-form__link summary { font-size:14px; line-height:20px; }
.recommend-field label span,.recommend-form__link summary span { color:var(--reading-muted); margin-left:6px; font-size:12px; }
.recommend-field input,.recommend-field textarea { width:100%; min-width:0; padding:12px; border:1px solid rgba(255,255,255,.17); border-radius:4px; font:inherit; font-size:16px; line-height:24px; background:#151515; color:#fff; transition:border-color 180ms var(--reading-ease); }
.recommend-field textarea { resize:vertical; min-height:120px; max-height:260px; }
.recommend-field input::placeholder,.recommend-field textarea::placeholder { color:#777; }
.recommend-field :is(input,textarea):focus { border-color:#ddd; outline:2px solid #eeeae2; outline-offset:2px; }
.recommend-field [aria-invalid=true] { border-color:#e3a094; }
.recommend-field__error,.recommend-form__status { color:#f1b3a8; font-size:13px; line-height:20px; }
.recommend-form__link { margin-bottom:24px; }
.recommend-form__link summary { cursor:pointer; color:var(--reading-muted); padding:4px 0; min-height:28px; }
.recommend-form__link[open] summary { margin-bottom:16px; }
.recommend-form__link .recommend-field { margin-bottom:0; }
.recommend-form__trap { position:absolute; width:1px; height:1px; overflow:hidden; clip-path:inset(50%); }
.recommend-form__privacy { font-size:12px; line-height:20px; color:var(--reading-muted); margin:0 0 20px; }
.recommend-form__status { margin-bottom:16px; }
.recommend-form__submit { width:100%; }
.recommend-success { padding:32px 0 4px; outline:none; }
.recommend-success__icon { display:grid; place-items:center; width:64px; height:76px; margin-bottom:28px; border:1px solid var(--reading-line); border-radius:2px 8px 8px 2px; background:var(--reading-surface); }
.recommend-success__icon svg { width:32px; height:32px; stroke-width:1; }
.recommend-success>p:not(.reading-label) { margin:16px 0 28px; font-size:16px; line-height:26px; color:var(--reading-muted); }
.recommend-success strong { font-weight:400; color:#fff; overflow-wrap:anywhere; }
@media(max-width:900px) { .reading-recommendations h2 { font-size:48px; } .reading-recommendations__ask>p { font-size:16px; line-height:24px; } }
@media(max-width:640px) {
  .reading-recommendations { padding:48px 0 56px; }
  .reading-recommendations__invitation { grid-template-columns:1fr; gap:24px; margin-bottom:40px; }
  .reading-recommendations h2 { font-size:44px; margin-top:16px; }
  .reading-recommendations__ask { justify-self:start; max-width:100%; }
  .reading-recommendations__heading { align-items:flex-start; gap:12px; }
  .reading-recommendations__heading>span { font-size:10px; line-height:28px; white-space:nowrap; }
  .reading-recommendations__empty { align-items:flex-start; gap:20px; padding:24px 20px; }
  .reading-recommendations__space { width:64px; height:90px; padding:8px; margin-top:4px; }
  .reading-recommendations__space span { display:none; }
  .reading-recommendations__empty h4 { font-size:16px; line-height:24px; }
  .reading-recommendations__list { grid-template-columns:1fr; }
  .book-recommendation { padding:24px; }
  .recommend-dialog { width:calc(100% - 24px); max-height:calc(100dvh - 24px); padding:28px 24px; }
  .recommend-dialog h2 { font-size:30px; line-height:36px; }
  .recommend-form__book { grid-template-columns:1fr; gap:0; }
}
