.bookshelf{--binding-grain:url('/images/book-cloth.jpg');width:min(880px,calc(100vw - 64px));margin:34px calc((100% - min(880px, (100vw - 64px)))/2) 52px}.bookshelf p{margin:0}.bookshelf-header{display:block;max-width:696px;margin:0 auto 35px;font-family:inherit;font-weight:400;text-transform:none}.bookshelf .bookshelf-eyebrow{display:flex;justify-content:space-between;gap:20px;margin-bottom:14px;color:var(--text-muted);font:10px var(--font-mono);letter-spacing:.025em}.bookshelf-eyebrow>span{opacity:.65}.bookshelf-header h1{margin:0;font:600 58px/.98 "Newsreader",var(--font-heading);letter-spacing:-.055em}.bookshelf-title-dot{color:var(--retro-red)}.bookshelf .bookshelf-header>p:last-child{margin-top:14px;color:var(--text-muted);font-size:13px}.shelf-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 0;border-top:1px solid var(--border)}.shelf-filters{display:flex;flex-wrap:wrap;gap:4px}.shelf-toolbar button{appearance:none;border:0;background:transparent;color:var(--text-muted);font:inherit;cursor:pointer}.shelf-filters button{display:flex;align-items:center;gap:6px;padding:7px 10px;font:11px var(--font-mono)}.shelf-filters button[aria-pressed="true"]{background:var(--text);color:var(--bg)}.shelf-filters button>span{font-size:9px;opacity:.65}.status-dot{display:inline-block;width:5px;height:5px;flex:0 0 auto}.status-reading{background:var(--retro-amber)}.status-read{background:var(--retro-green)}.status-next{background:var(--text-muted)}.shelf-arrows{display:flex;gap:5px}.shelf-arrows button{width:32px;height:32px;border:1px solid var(--border);font:18px var(--font-body)}.shelf-arrows button:disabled{opacity:.3;cursor:default}.shelf-arrows button:hover:not(:disabled){color:var(--text);border-color:var(--text-muted)}.shelf-toolbar button:focus-visible,.shelf-caption a:focus-visible{outline:2px solid var(--accent);outline-offset:4px}.shelf-viewport{position:relative;overflow-x:auto;overscroll-behavior-x:contain;scrollbar-width:thin;scrollbar-color:var(--border) transparent;padding:0 12px 16px;margin:0 -12px}.shelf-books{position:relative;display:flex;align-items:flex-end;justify-content:center;gap:4px;width:max-content;min-width:100%;height:358px;padding:0 16px 18px;margin:0;list-style:none;isolation:isolate}.shelf-books::after{content:"";position:absolute;z-index:-1;bottom:0;left:0;right:0;height:18px;border-top:2px solid #bba27a;background:repeating-linear-gradient(0deg,transparent,transparent 3px,rgba(31,22,13,.13) 4px),linear-gradient(#937451 0%,#65513a 30%,#745d42 75%,#44372a 100%);box-shadow:0 14px 14px -12px rgba(26,19,12,.55)}[data-theme="dark"] .shelf-books::after{border-top-color:#71654e;background:repeating-linear-gradient(0deg,transparent,transparent 3px,rgba(0,0,0,.2) 4px),linear-gradient(#645943,#393326 30%,#453c2d 80%,#25231c)}.shelf-book{position:relative;flex:0 0 var(--spine-width);height:var(--book-height);transition:flex-basis .42s cubic-bezier(.22,.8,.25,1),height .42s cubic-bezier(.22,.8,.25,1)}.shelf-book[hidden]{display:none}.shelf-book.is-selected{flex-basis:206px;height:315px}.book-object{position:relative;display:block;width:100%;height:100%;color:var(--book-ink);text-decoration:none;perspective:1100px;-webkit-tap-highlight-color:transparent}.book-object::before{content:"";position:absolute;top:-3px;left:3px;right:4px;height:5px;background:repeating-linear-gradient(0deg,#c6b997 0 1px,#e5dbc1 1px 2px);border:1px solid rgba(36,27,17,.25);border-radius:2px 2px 0 0;transform:skewX(-12deg);transition:opacity .2s}.book-object:focus-visible{outline:2px solid var(--accent);outline-offset:5px}.book-spine{position:absolute;inset:0 auto 0 0;width:var(--spine-width);overflow:hidden;border-radius:3px 2px 1px 0;background:linear-gradient(90deg,rgba(0,0,0,.36),transparent 24%,rgba(255,255,255,.10) 48%,rgba(0,0,0,.27)),var(--book-color);box-shadow:inset 1px 0 rgba(239,222,177,.27),inset -2px 0 rgba(0,0,0,.18),2px 2px 4px rgba(0,0,0,.3);transition:width .42s}.book-spine::before{content:"";position:absolute;inset:4px 2px;border-top:1px solid color-mix(in srgb,var(--book-ink) 28%,transparent);border-bottom:1px solid color-mix(in srgb,var(--book-ink) 28%,transparent);box-shadow:0 2px color-mix(in srgb,var(--book-ink) 10%,transparent)}.book-spine::after,.book-cover::after{content:"";position:absolute;inset:0;background-image:var(--binding-grain);background-size:170px;mix-blend-mode:multiply;opacity:.48;pointer-events:none}.spine-title{position:absolute;top:18px;left:50%;height:calc(100% - 80px);transform:translateX(-50%);writing-mode:vertical-rl;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font:600 15px/1 "Newsreader",var(--font-heading);letter-spacing:.015em;transition:opacity .2s}.spine-author{position:absolute;bottom:39px;left:0;width:100%;padding:0 1px;text-align:center;font:700 6px/1.2 Arial,sans-serif;letter-spacing:-.015em;opacity:.85;transition:opacity .2s}.spine-mark{position:absolute;bottom:12px;left:50%;transform:translateX(-50%);padding-top:5px;border-top:1px solid color-mix(in srgb,var(--book-ink) 45%,transparent);font:8px var(--font-mono);opacity:.7;transition:opacity .2s}.book-cover{position:absolute;top:0;left:13px;display:flex;flex-direction:column;width:193px;height:100%;overflow:hidden;border:1px solid rgba(34,25,13,.28);border-radius:1px 2px 3px 0;background:var(--book-color);color:var(--book-ink);opacity:0;transform:rotateY(78deg);transform-origin:left center;transition:transform .42s cubic-bezier(.22,.8,.25,1),opacity .2s;box-shadow:8px 5px 12px rgba(0,0,0,.2),inset -1px -1px rgba(239,217,166,.35)}.book-cover::before{content:"";position:absolute;z-index:1;inset:0;background:linear-gradient(90deg,rgba(0,0,0,.25),transparent 4%,rgba(244,226,182,.18) 5%,transparent 7%);box-shadow:inset 0 0 0 1px rgba(232,213,169,.12),inset 0 -3px 3px rgba(0,0,0,.09);pointer-events:none}.cover-author{display:block;flex:0 0 auto;padding:12px 11px 8px;font:700 9px/1.25 Arial,sans-serif;letter-spacing:.055em;text-transform:uppercase}.cover-art{position:relative;display:block;flex:1 1 0;min-height:70px;margin:0 10px;overflow:hidden;border:1px solid color-mix(in srgb,var(--book-ink) 35%,transparent)}.cover-art img{position:absolute;inset:0;width:100%;height:100%;display:block;object-fit:cover;object-position:center 38%;filter:saturate(.72) contrast(1.03)}.cover-type{position:relative;display:block;flex:0 0 auto;padding:10px 11px 10px}.cover-title{display:block;font:900 20px/.98 "Arial Black","Helvetica Neue",Arial,sans-serif;letter-spacing:-.045em;text-transform:uppercase;text-wrap:balance}[data-book="feynman"] .cover-title,[data-book="running"] .cover-title,[data-book="bourdain"] .cover-title,[data-book="wind-up-bird"] .cover-title{font-size:16px}.cover-colophon{display:flex;justify-content:space-between;gap:8px;margin-top:9px;padding-top:5px;border-top:1px solid color-mix(in srgb,var(--book-ink) 38%,transparent);font:6px/1 var(--font-mono);letter-spacing:.04em;text-transform:uppercase;opacity:.75}.shelf-book.is-selected .book-spine{width:16px}.shelf-book.is-selected .spine-title,.shelf-book.is-selected .spine-author,.shelf-book.is-selected .spine-mark{opacity:0}.shelf-book.is-selected .book-cover{transform:rotateY(-5deg);opacity:1}.shelf-caption{display:flex;justify-content:space-between;align-items:baseline;gap:12px;margin-top:8px;min-height:42px;padding-bottom:12px;border-bottom:1px solid var(--border)}.shelf-caption>div{display:flex;align-items:baseline;flex-wrap:wrap;gap:5px 10px}.shelf-caption-number{color:var(--text-muted);font:10px var(--font-mono)}.shelf-caption a{color:var(--text);font:600 22px/1.2 "Newsreader",var(--font-heading);text-decoration:none}.shelf-caption a:hover{text-decoration:underline;text-underline-offset:3px}.shelf-caption-author{color:var(--text-muted);font-size:11px}.shelf-caption>p{display:flex;align-items:center;gap:6px;color:var(--text-muted);font:10px var(--font-mono);white-space:nowrap}.bookshelf .shelf-hint{margin-top:20px;color:var(--text-muted);font:500 19px "Caveat",cursive;text-align:center}.bookshelf [hidden]{display:none!important}.bookshelf:not(.is-enhanced) .shelf-toolbar{display:none}@media (max-width:620px){.bookshelf{width:100%;margin:30px 0 48px}.bookshelf-header h1{font-size:47px}.bookshelf-header{margin-bottom:27px}.bookshelf-eyebrow{font-size:9px}.shelf-toolbar{gap:6px}.shelf-filters{gap:1px}.shelf-filters button{padding:7px 5px;font-size:10px;gap:4px}.shelf-arrows{gap:4px}.shelf-arrows button{width:28px;height:30px}.shelf-books{height:340px;justify-content:flex-start;padding-left:5px;padding-right:20px}.shelf-book.is-selected{flex-basis:194px;height:303px}.book-cover{width:181px}.shelf-caption-author{flex-basis:100%;padding-left:28px}.shelf-caption a{font-size:20px}.shelf-caption>p{padding-top:3px;font-size:9px}}@media (prefers-reduced-motion:reduce){.shelf-book,.book-spine,.book-cover,.spine-title,.spine-author,.spine-mark,.book-object::before{transition:none}}