:root{--paper:#f5f5f5;--ink:#202321;--muted:#686c68;--line:#d5d7d2;--pad:clamp(1.25rem,4vw,2.5rem)}
*{box-sizing:border-box}
body{margin:0;background:var(--paper);color:var(--ink);font-family:Verdana,Geneva,sans-serif;-webkit-font-smoothing:antialiased}
a{color:inherit;text-underline-offset:4px}
a:focus-visible{outline:2px solid #8b4a2d;outline-offset:7px}
.site-nav{position:absolute;top:var(--pad);right:var(--pad);z-index:10;text-align:right;font-size:10px;line-height:1.8}
.site-nav a{display:block;padding:2px 5px;margin-bottom:2px;text-decoration:none}
.site-nav a:hover{text-decoration:underline}
.site-nav a[aria-current]{background:var(--ink);color:var(--paper)}
.archive{max-width:1140px;margin:0 auto;padding:114px 40px 26px}
.archive-header{text-align:center}
.eyebrow{font:10px/1.8 'Courier New',monospace;letter-spacing:1.4px}
.archive-header .eyebrow{color:var(--muted);margin:0 0 19px}
.archive-header h1{font-size:clamp(32px,4vw,46px);font-weight:400;letter-spacing:-2px;margin:0 0 20px}
.archive-header>p:last-child{font-size:12px;line-height:1.8;color:var(--muted);margin:0}
.shelf{display:grid;grid-template-columns:repeat(2,300px);justify-content:center;gap:100px;margin:66px auto 0;position:relative}
.shelf:before{content:"";position:absolute;top:382px;left:50%;transform:translateX(-50%);width:min(100vw,1000px);height:35px;background:linear-gradient(#e0e1dc88,#f5f5f500);border-top:1px solid #dddeda;pointer-events:none}
.book-entry{min-width:0;position:relative}
.book-link{display:block;width:100%;height:400px;perspective:1300px;position:relative;outline-offset:12px;text-decoration:none;-webkit-tap-highlight-color:transparent}
.book-link:after{content:"";position:absolute;z-index:-1;left:23px;right:4px;bottom:13px;height:24px;border-radius:50%;background:#191d194d;filter:blur(14px);transform:skewX(-30deg);transition:opacity .5s}
.book{--cloth:#254939;--foil:#e9e2c8;--depth:42px;position:absolute;width:266px;height:356px;left:26px;top:14px;transform-style:preserve-3d;transform:rotateX(4deg) rotateY(-27deg) rotateZ(-2deg);transition:transform .7s cubic-bezier(.2,.7,.2,1)}
.book-rust{--cloth:#9e482e;--foil:#f6e5ca;transform:rotateX(4deg) rotateY(-27deg) rotateZ(2deg)}
.book-front,.book-back,.book-spine{position:absolute;background-color:var(--cloth);color:var(--foil);background-image:repeating-linear-gradient(0deg,#ffffff09 0px,#ffffff09 1px,transparent 1px,transparent 3px),repeating-linear-gradient(90deg,#00000013 0px,#00000013 1px,transparent 1px,transparent 3px);border:1px solid #ffffff25}
.book-front{inset:0;border-radius:2px 5px 5px 2px;transform:translateZ(21px);transform-origin:left center;backface-visibility:hidden;box-shadow:inset 4px 0 8px #0005,inset 10px 0 3px #fff1,inset -1px 0 2px #fff3,1px 1px 2px #0003;display:flex;flex-direction:column;padding:25px 24px 25px 30px;transition:transform .65s cubic-bezier(.2,.7,.2,1)}
.book-front:after{content:"";position:absolute;inset:9px;border:1px solid #f7efd015;border-left:0;pointer-events:none}
.book-back{inset:0;transform:translateZ(-21px);border-radius:3px;box-shadow:8px 6px 16px #0002}
.book-spine{width:42px;height:356px;left:-21px;top:0;transform:rotateY(-90deg);display:flex;align-items:center;padding:18px 0;flex-direction:column;border-radius:3px;box-shadow:inset 4px 0 8px #fff1,inset -4px 0 7px #0003}
.spine-number{font:10px/1 'Courier New',monospace;border-top:1px solid currentColor;padding-top:8px;width:24px;text-align:center}
.spine-title{writing-mode:vertical-rl;white-space:nowrap;max-height:261px;overflow:hidden;text-overflow:ellipsis;font-size:11px;letter-spacing:.1px;margin-top:16px}
.spine-author{font:10px 'Courier New',monospace;margin-top:auto;border-bottom:1px solid currentColor;padding-bottom:8px}
.book-pages{position:absolute;width:38px;right:-18px;top:5px;bottom:5px;transform:rotateY(90deg);background:repeating-linear-gradient(90deg,#e3dfd2 0px,#f8f4e9 1px,#f8f4e9 3px,#c8c6b9 4px);border:1px solid #c9c5b8}
.book-top{position:absolute;left:4px;right:3px;height:38px;top:-14px;transform:rotateX(90deg);background:repeating-linear-gradient(0deg,#e0dbcd 0px,#f8f4e9 1px,#f8f4e9 3px,#c8c6b9 4px)}
.cover-meta,.cover-bottom{display:flex;justify-content:space-between;gap:8px;font:8px/1.5 'Courier New',monospace;letter-spacing:1px}
.cover-meta{padding-bottom:15px;border-bottom:1px solid #f7efd065}
.cover-title{font-family:Georgia,'Times New Roman',serif;font-size:27px;line-height:1.12;letter-spacing:-.5px;margin-top:26px;text-shadow:0 1px 1px #0005}
.cover-symbol{height:59px;width:88px;margin:18px auto 15px;stroke:currentColor;stroke-width:1.2;opacity:.85}
.bike-symbol{width:105px}
.cover-bottom{margin-top:auto;padding-top:13px;border-top:1px solid #f7efd065;font-size:8px;letter-spacing:.6px}
.book-caption{display:grid;grid-template-columns:1fr auto;gap:0 15px;padding:21px 10px 0}
.book-caption>time,.book-caption>span{font:10px/1.8 'Courier New',monospace;letter-spacing:.7px;color:var(--muted)}
.book-caption h2{grid-column:1/-1;margin:12px 0 15px;font-size:13px;font-weight:400;line-height:1.7;max-width:280px}
.book-caption h2 a{text-decoration:none}
.book-caption h2 a:hover{text-decoration:underline}
.read-link{grid-column:1/-1;display:flex;justify-content:space-between;align-items:center;border-top:1px solid var(--line);padding-top:13px;text-decoration:none;font-size:10px;color:var(--muted)}
.read-link:hover{color:var(--ink)}
.read-link span{font-size:15px}
.archive-footer{margin:65px 0 0;display:flex;justify-content:space-between;border-top:1px dotted #b8b8b8;padding-top:20px;font-size:10px;color:var(--muted)}
.archive-footer a{text-decoration:none}
@media(hover:hover){.book-link:hover .book{transform:translateY(-13px) rotateX(2deg) rotateY(-12deg) rotateZ(0)}.book-link:hover .book-front{transform:translateZ(21px) rotateY(-8deg)}}
.book-link:focus-visible .book{transform:translateY(-10px) rotateX(0) rotateY(-12deg) rotateZ(0)}
.book-link.is-opening .book{transform:translateY(-8px) rotateY(0) rotateZ(0) scale(1.025)}
.book-link.is-opening .book-front{transform:translateZ(21px) rotateY(-65deg)}
.reading{max-width:800px;margin:0 auto;padding:96px 40px 70px}
.back-link{display:inline-block;font-size:11px;text-decoration:none;margin-bottom:38px;color:var(--muted)}
.back-link:hover{text-decoration:underline}
.article-cover{margin:0 0 38px}
.article-cover img{display:block;width:100%;height:auto}
.article-header .eyebrow{color:var(--muted);letter-spacing:.8px}
.eyebrow span{padding:0 8px}
.article-header h1{font-family:Georgia,'Times New Roman',serif;font-size:clamp(32px,4.3vw,48px);font-weight:400;line-height:1.16;letter-spacing:-1.3px;margin:18px 0 24px}
.byline{font-size:12px;margin:0 0 42px;color:var(--muted)}
.article-body{font-family:Georgia,'Times New Roman',serif;font-size:19px;line-height:1.75}
.article-body p{margin:0 0 1.5em}
.article-body figure{margin:32px 0 40px}
.article-body img{display:block;width:100%;height:auto}
.article-body figcaption{font:12px/1.65 Verdana,Geneva,sans-serif;text-align:center;color:var(--muted);padding:13px 6px 0}
.article-footer{border-top:1px solid var(--line);padding-top:24px;margin-top:60px;font-size:11px;line-height:1.8;color:var(--muted)}
.article-footer>a{display:inline-block;margin-top:25px;text-decoration:none}
.coming-soon{min-height:calc(100svh - 180px);display:flex;flex-direction:column;justify-content:center}
.coming-soon .article-header{max-width:610px}
.coming-soon>p{font-size:14px;line-height:1.8;color:var(--muted);margin:0}
@media(max-width:720px){.archive{padding:110px 24px 24px}.shelf{grid-template-columns:repeat(2,minmax(0,1fr));gap:26px;margin-top:47px}.book-link{height:280px}.book{transform:scale(.66) rotateX(4deg) rotateY(-24deg) rotateZ(-2deg);transform-origin:top left;left:22px;top:20px}.book-rust{transform:scale(.66) rotateX(4deg) rotateY(-24deg) rotateZ(2deg)}.book-link:focus-visible .book,.book-link.is-opening .book{transform:scale(.66) rotateY(-8deg)}.shelf:before{top:261px}.book-link:after{bottom:15px;left:10px;right:0;height:16px}.book-caption{padding:10px 0 0}.book-caption h2{font-size:11px;line-height:1.7}.book-caption>time,.book-caption>span{font-size:9px;letter-spacing:0}.archive-footer{margin-top:44px}.reading{padding:95px 24px 48px}.article-body{font-size:18px;line-height:1.7}.article-header h1{font-size:36px}.article-cover{margin-bottom:26px}}
@media(max-width:430px){.archive{padding-left:18px;padding-right:18px}.shelf{gap:24px}.book-link{height:242px}.book{transform:scale(.55) rotateX(4deg) rotateY(-24deg) rotateZ(-2deg);left:13px}.book-rust{transform:scale(.55) rotateX(4deg) rotateY(-24deg) rotateZ(2deg)}.book-link:focus-visible .book,.book-link.is-opening .book{transform:scale(.55) rotateY(-8deg)}.shelf:before{top:222px}.archive-header>p:last-child{max-width:255px;margin:auto}.book-caption h2{min-height:56px}.article-header h1{font-size:32px}.eyebrow{font-size:9px;letter-spacing:.8px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}
