:root{--plank-top-back:#d7d2ca;--plank-top-front:#f0ece7;--plank-lip-hi:#fdfcf9;--plank-lip:#dfdad3;--plank-lip-low:#d1cbc4;--plank-under:#c2bdb5;--plank-shadow:rgb(var(--shadow-color) / .14);--print-light:#f6f3ec;--print-dark:#1f1914}@supports (color:lab(0% 0 0)){:root{--plank-top-back:lab(84.3626% .986189 4.4714);--plank-top-front:lab(93.6432% .45979 3.01533);--plank-lip-hi:lab(98.8555% .130922 1.51824);--plank-lip:lab(87.2661% .772476 4.12748);--plank-lip-low:lab(82.0425% .987351 4.47216);--plank-under:lab(76.8167% 1.12703 4.43366);--print-light:lab(95.9801% .286937 3.81343);--print-dark:lab(9.49147% 2.39589 4.76522)}}.dark{--plank-top-back:#120f0c;--plank-top-front:#282520;--plank-lip-hi:#4b4741;--plank-lip:#2f2b26;--plank-lip-low:#25211d;--plank-under:#090705;--plank-shadow:#00000073}@supports (color:lab(0% 0 0)){.dark{--plank-top-back:lab(4.43784% .683397 1.8205);--plank-top-front:lab(14.7459% 1.11516 3.70294);--plank-lip-hi:lab(30.4158% 1.00966 4.11106);--plank-lip:lab(17.6463% 1.10626 3.69587);--plank-lip-low:lab(13.0009% 1.2317 3.66433);--plank-under:lab(1.98425% .355318 .923076)}}.shelf{flex-direction:column;gap:3.5rem;display:flex;container-type:inline-size}.shelf-row{--per-row:4;--gap-x:clamp(14px, 6cqi, 44px);--slot:calc((100cqi - (var(--per-row) - 1) * var(--gap-x)) / var(--per-row));--cover-height:min(calc(var(--slot) * 1.2), 176px);--depth:40px;--stand:20px;--front:9px;--overhang:12px;isolation:isolate;perspective:700px;perspective-origin:50% -30%;position:relative}@container (max-width:30rem){.shelf-row{--depth:30px;--stand:15px;--front:7px;--overhang:6px}}@supports (animation-timeline:view()){.shelf-row{animation:linear both shelf-eye;animation-timeline:view()}}@keyframes shelf-eye{0%{perspective-origin:50% -50vh}to{perspective-origin:50% calc(100% + 50vh)}}.shelf-scene{transform-style:preserve-3d;padding-bottom:calc(var(--front) + 10px);position:relative}.shelf-scene:before{content:"";z-index:-1;top:calc(var(--cover-height) - 18px);left:calc(var(--overhang) * -1 - 28px);right:calc(var(--overhang) * -1 - 28px);height:calc(18px + var(--front) + 30px);background:linear-gradient(transparent, var(--plank-shadow) 18px, var(--plank-shadow) calc(18px + var(--front)), transparent);position:absolute;-webkit-mask-image:linear-gradient(90deg,#0000,#000 44px calc(100% - 44px),#0000);mask-image:linear-gradient(90deg,#0000,#000 44px calc(100% - 44px),#0000)}.shelf-books{justify-content:center;align-items:flex-end;gap:var(--gap-x);height:var(--cover-height);transform:translateZ(var(--stand));margin:0;padding:0;list-style:none;display:flex;position:relative}.shelf-slot{width:var(--slot);flex:none;justify-content:center;align-items:flex-end;display:flex}.shelf-book{height:calc(var(--cover-height) * var(--h,1));aspect-ratio:var(--aspect);background:var(--tint);cursor:pointer;-webkit-tap-highlight-color:transparent;transition:translate var(--dur-slow) var(--ease-out), box-shadow var(--dur-slow) var(--ease-out);border:0;border-radius:2px 4px 4px 2px;padding:0;display:block;position:relative;overflow:hidden;box-shadow:0 1px 1px #0000001f,0 3px 6px -2px #0000002e,0 14px 22px -12px #00000073}.shelf-book:after{content:"";z-index:2;pointer-events:none;border-radius:inherit;background:linear-gradient(#ffffff29,#0000 22%),linear-gradient(90deg,#0000004d 0,#0000001a 1.2%,#ffffff4d 2.2%,#ffffff14 3.8%,#0000001f 5%,#0000 8%),linear-gradient(#0000 94%,#00000014);position:absolute;inset:0;box-shadow:inset 0 0 0 1px #00000012,inset 1px 0 #ffffff2e}@media (hover:hover){.shelf-book:hover{translate:0 -4px}}.shelf-book[aria-expanded=true]{translate:0 -14px;box-shadow:0 1px 1px #0000001a,0 10px 14px -6px #00000038,0 30px 34px -18px #00000080}.shelf-book:focus-visible{outline:2px solid var(--ring);outline-offset:3px}.book-cover-image{z-index:1;object-fit:cover}.book-print{--u:calc(var(--cover-height) * var(--h,1) * var(--aspect) / 100);padding:calc(12 * var(--u)) calc(10 * var(--u)) calc(10 * var(--u)) calc(13 * var(--u));text-align:left;color:var(--print-light);flex-direction:column;display:flex;position:absolute;inset:0}.book-print[data-ink=dark]{color:var(--print-dark)}.book-print-title{font-family:var(--font-display);font-size:calc(12 * var(--u));font-variation-settings:"SOFT" 100, "opsz" 72;letter-spacing:-.01em;text-wrap:balance;line-height:1.02}.book-print-author{font-family:var(--font-mono);font-size:calc(5.4 * var(--u));letter-spacing:.1em;text-transform:uppercase;opacity:.78;margin-top:auto}.book-print[data-layout=classic] .book-print-title:after{content:"";width:calc(22 * var(--u));height:1px;margin-top:calc(7 * var(--u));opacity:.5;background:currentColor;display:block}.book-print[data-layout=band]{justify-content:center}.book-print[data-layout=band] .book-print-title{margin:auto calc(-10 * var(--u)) 0 calc(-13 * var(--u));padding:calc(7 * var(--u)) calc(10 * var(--u)) calc(7 * var(--u)) calc(13 * var(--u));background:color-mix(in oklch, currentColor 16%, transparent)}.book-print-initial{margin:calc(-6 * var(--u)) 0 0 calc(-2 * var(--u));font-family:var(--font-display);font-size:calc(80 * var(--u));font-variation-settings:"SOFT" 100, "WONK" 1, "opsz" 144;opacity:.92;font-style:italic;line-height:.9}.book-print[data-layout=initial] .book-print-title{font-size:calc(9.5 * var(--u))}.book-print[data-layout=initial] .book-print-author{margin-top:auto}.shelf-plank{top:var(--cover-height);left:calc(var(--overhang) * -1);right:calc(var(--overhang) * -1);height:0;transform-style:preserve-3d;position:absolute}.shelf-plank>div{backface-visibility:hidden;position:absolute;left:0;right:0}.shelf-plank-top{height:var(--depth);transform-origin:top;background:linear-gradient(var(--plank-top-back), var(--plank-top-front));top:0;transform:rotateX(90deg)}.shelf-plank-front{height:calc(var(--front) + 1px);transform:translateZ(var(--depth));background:linear-gradient(var(--plank-lip-hi) 0 1px, var(--plank-lip) 1px, var(--plank-lip-low));border-radius:0 0 2px 2px;top:0}.shelf-plank-under{top:calc(var(--front) - var(--depth) + var(--stand) - 1px);height:calc(var(--depth) - var(--stand) + 1px);transform-origin:bottom;transform:translateZ(calc(var(--stand) - 1px)) rotateX(-90deg);background:var(--plank-under)}.shelf-plank-under-back{top:calc(var(--front) - var(--stand));height:var(--stand);transform-origin:bottom;background:var(--plank-under);transform:rotateX(-90deg)}.shelf-reflections{justify-content:center;gap:var(--gap-x);padding:var(--stand) var(--overhang) 0;display:flex}.shelf-reflections .shelf-slot{align-items:flex-start}.shelf-reflection{height:calc(var(--depth) - var(--stand));opacity:.32;transition:opacity var(--dur-slow) var(--ease-out);flex:none;position:relative;overflow:hidden;-webkit-mask-image:linear-gradient(#000,#0000);mask-image:linear-gradient(#000,#0000)}.shelf-reflection:before{content:"";height:calc(var(--cover-height) * var(--h,1));aspect-ratio:var(--aspect);display:block}.shelf-reflection[data-lifted]{opacity:.08}.shelf-mirror{width:100%;height:calc(var(--cover-height) * var(--h,1));background:var(--tint);filter:blur(.6px);position:absolute;top:0;left:0;transform:scaleY(-1)}.shelf-note{--offset:calc((100% - (var(--n) * var(--slot) + (var(--n) - 1) * var(--gap-x))) / 2);margin-top:var(--space-sm);padding:var(--space-sm) var(--space-md);border:var(--hairline) solid var(--rule);border-radius:var(--radius-sheet);background:var(--paper-raised);box-shadow:0 calc(1px * var(--light-source)) 2px -1px rgb(var(--shadow-color) / .1), 0 calc(8px * var(--light-source)) 20px -14px rgb(var(--shadow-color) / .22);animation:shelf-note-in var(--dur-base) var(--ease-out);position:relative}.shelf-note:before{content:"";top:-6.5px;left:calc(var(--offset) + (var(--i) + .5) * var(--slot) + var(--i) * var(--gap-x) - 6px);border-top:var(--hairline) solid var(--rule);border-left:var(--hairline) solid var(--rule);background:var(--paper-raised);width:12px;height:12px;position:absolute;rotate:45deg}.shelf-note>*{max-width:var(--measure)}@keyframes shelf-note-in{0%{opacity:0;translate:0 -4px}}@media (prefers-reduced-motion:reduce){.shelf-row,.shelf-note{animation:none}.shelf-book,.shelf-reflection{transition:none}}.shelf-link{color:inherit;text-decoration:none}.shelf-fan{--cover-height:22px;--h:1;width:18px;height:var(--cover-height);vertical-align:-.3em;margin-right:.4em;display:inline-block;position:relative}.shelf-fan-book{bottom:0;left:calc(50% - var(--cover-height) * var(--aspect) / 2);height:var(--cover-height);aspect-ratio:var(--aspect);background:var(--tint);transform-origin:50% 100%;translate:calc(var(--i) * 2px) 0;rotate:calc(var(--i) * 7deg);transition:translate var(--dur-slow) var(--ease-spring), rotate var(--dur-slow) var(--ease-spring), scale var(--dur-slow) var(--ease-spring);border-radius:1px 2px 2px 1px;position:absolute;overflow:hidden;box-shadow:0 1px 2px #00000040}.shelf-fan-book:nth-child(2){z-index:1}.shelf-link:is(:hover,:focus-visible) .shelf-fan{z-index:10}.shelf-link:is(:hover,:focus-visible) .shelf-fan-book{translate:calc(var(--i) * 24px) calc(-28px + var(--i) * var(--i) * 4px);rotate:calc(var(--i) * 9deg);scale:2.2}@media (prefers-reduced-motion:reduce){.shelf-fan-book{transition:none}}
