:root{--paper:#f9f6f1;--paper-2:#f2eee6;--surface:#fff;--ink:#221811;--muted:#61564d;--faint:#90847a;--line:#2218111f;--line-2:#22181133;--accent:#b33830;--accent-2:#9a2a23;--accent-ink:#fff;--accent-soft:#b3383014;--good:#298646;--bad:#c5372f;--serif:"Fraunces", Georgia, "Times New Roman", serif;--sans:"Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--s1:8px;--s2:16px;--s3:24px;--s4:32px;--s5:48px;--s6:80px;--s7:120px;--r-sm:8px;--r-md:12px;--r-lg:16px;--ease:cubic-bezier(.16, 1, .3, 1);--ease-out:cubic-bezier(0, 0, .2, 1)}@supports (color:lab(0% 0 0)){:root{--paper:lab(97.1324% .224501 3.04743);--paper-2:lab(94.2476% .352293 4.58145);--surface:lab(100% 0 0);--ink:lab(9.46389% 3.74058 6.52272);--muted:lab(37.3153% 3.52804 6.77207);--faint:lab(55.8781% 3.47519 6.73016);--line:lab(9.46389% 3.74058 6.52272/.12);--line-2:lab(9.46389% 3.74058 6.52272/.2);--accent:lab(42.7705% 49.8809 34.4576);--accent-2:lab(35.8981% 46.8569 32.9544);--accent-soft:lab(42.7705% 49.8809 34.4576/.08);--good:lab(49.4309% -39.316 25.9959);--bad:lab(46.045% 56.2354 39.5994)}}*{box-sizing:border-box}html{background:var(--paper)}html,body{color:var(--ink);font-family:var(--sans);-webkit-font-smoothing:antialiased;margin:0;padding:0;overflow-x:hidden}a{color:inherit;text-decoration:none}::selection{background:var(--accent);color:#fff}.spotlight{z-index:-1;pointer-events:none;background:radial-gradient(40vw 40vw at var(--x,80%) var(--y,12%), var(--accent-soft), transparent 60%), radial-gradient(80vw 60vh at 82% -10%, var(--paper-2), transparent 60%);transition:background .2s;position:fixed;inset:0}.cin{opacity:0;filter:blur(8px);animation:cin 1s var(--ease) forwards;transform:translateY(22px)scale(.99)}@keyframes cin{to{opacity:1;filter:blur();transform:none}}.c1{animation-delay:.1s}.c2{animation-delay:.24s}.c3{animation-delay:.38s}.c4{animation-delay:.52s}.c5{animation-delay:.66s}.header{z-index:50;padding:var(--s3) var(--s5);-webkit-backdrop-filter:blur(12px)saturate(120%);backdrop-filter:blur(12px)saturate(120%);border-bottom:1px solid var(--line);background:#f9f6f1d9;background:lab(97.1324% .224501 3.04743/.85);justify-content:space-between;align-items:center;display:flex;position:sticky;top:0}.brand{font-family:var(--serif);letter-spacing:-.01em;align-items:center;gap:10px;font-size:22px;font-weight:600;display:flex}.brand-mark{border-radius:var(--r-sm);background:var(--accent);color:#fff;width:30px;height:30px;font-family:var(--serif);transition:transform .4s var(--ease);place-items:center;font-size:15px;font-weight:700;display:inline-grid}.brand:hover .brand-mark{transform:rotate(-6deg)}.brand-accent{color:var(--accent)}.nav{align-items:center;gap:30px;font-size:14px;font-weight:500;display:flex}.nav a{color:var(--muted);padding:4px 0;transition:color .2s;position:relative}.nav a:after{content:"";background:var(--accent);width:0;height:2px;transition:width .25s var(--ease-out);position:absolute;bottom:0;left:0}.nav a:hover{color:var(--ink)}.nav a:hover:after{width:100%}.main{max-width:1240px;padding:0 var(--s5) var(--s7);margin:0 auto}.footer{text-align:center;padding:var(--s6) 0 var(--s5);color:var(--faint);font-size:13px;font-family:var(--serif);font-style:italic}.hero{gap:var(--s6);padding:var(--s7) 0 var(--s6);grid-template-columns:1.15fr .85fr;align-items:center;display:grid}.hero-copy{min-width:0}.kicker{letter-spacing:.22em;text-transform:uppercase;color:var(--accent);margin-bottom:var(--s3);font-size:12px;font-weight:600}.hero-title{font-family:var(--serif);letter-spacing:-.03em;margin:0 0 var(--s4);font-size:clamp(46px,6.2vw,90px);font-weight:300;line-height:.98}.hero-title em{color:var(--accent);font-style:italic;font-weight:400}.hero-sub{color:var(--muted);max-width:42ch;margin:0 0 var(--s5);font-size:19px;line-height:1.55}.search-bar{border-radius:var(--r-md);background:var(--surface);border:1px solid var(--line);max-width:520px;transition:box-shadow .4s var(--ease), border-color .25s, transform .4s var(--ease);gap:8px;padding:7px;display:flex;box-shadow:0 18px 40px -28px #3c1e1473}.search-bar:focus-within{border-color:var(--accent);transform:translateY(-2px);box-shadow:0 30px 60px -28px #b3383080;box-shadow:0 30px 60px -28px lab(42.7705% 49.8809 34.4576/.5)}input[type=text]{min-width:0;color:var(--ink);font-size:16px;font-family:var(--sans);background:0 0;border:none;outline:none;flex:1;padding:14px 16px}input[type=text]::placeholder{color:var(--faint)}button{border-radius:var(--r-sm);background:var(--accent);color:var(--accent-ink);font-weight:600;font-family:var(--sans);cursor:pointer;transition:transform .6s var(--ease), filter .15s;border:none;padding:0 24px;font-size:14px;transform:translateY(0)}button:hover:not(:disabled){filter:brightness(1.08);transition:transform .16s var(--ease);transform:translateY(-2px)}button:active:not(:disabled){transition:transform 80ms;transform:scale(.96)}button.secondary{background:var(--surface);color:var(--ink);border:1px solid var(--line)}button:disabled{opacity:.5;cursor:not-allowed}button:focus-visible,a:focus-visible,.pill:focus-visible,.shelf-card:focus-visible,.featured:focus-visible{outline:2px solid var(--accent);outline-offset:3px}.pills{margin-top:var(--s4);flex-wrap:wrap;gap:8px;max-width:520px;display:flex}.pill{color:var(--muted);border:1px solid var(--line);background:var(--surface);cursor:pointer;transition:transform .2s var(--ease), color .2s, border-color .2s, box-shadow .2s;border-radius:999px;padding:7px 14px;font-size:13px}.pill:hover{color:var(--accent);border-color:var(--accent);transform:translateY(-3px);box-shadow:0 8px 18px -10px #b3383080;box-shadow:0 8px 18px -10px lab(42.7705% 49.8809 34.4576/.5)}.feature{perspective:1200px;justify-self:center;position:relative}.feature-wrap{transform-style:preserve-3d;transition:transform .8s var(--ease);will-change:transform;position:relative}.featured{border-radius:var(--r-sm);cursor:pointer;color:#fff;background:var(--ink);border:none;width:280px;height:420px;padding:0;animation:9s ease-in-out infinite drift;display:block;position:relative;overflow:hidden;transform:rotate(-3deg);box-shadow:-30px 40px 70px -30px #3c1e1480}@keyframes drift{0%,to{transform:rotate(-3deg)translateY(0)}50%{transform:rotate(-2deg)translateY(-14px)}}.featured-img{object-fit:cover;width:100%;height:100%;position:absolute;inset:0}.featured:before{content:"";z-index:1;background:linear-gradient(110deg,#ffffff2e,#0000 35%),linear-gradient(#0000 45%,#0000008c);background:linear-gradient(110deg,lab(100% 0 0/.18),#0000 35%),linear-gradient(#0000 45%,lab(0% 0 0/.55));position:absolute;inset:0}.featured:after{content:"";z-index:2;background:#00000038;background:lab(0% 0 0/.22);width:12px;position:absolute;top:0;bottom:0;left:0}.featured-beam{z-index:2;width:50%;height:200%;animation:beam 7s var(--ease) infinite;background:linear-gradient(90deg,#0000,#ffffff52,#0000);background:linear-gradient(90deg,#0000,lab(100% 0 0/.32),#0000);position:absolute;top:-50%;left:-40%}@keyframes beam{0%,60%{transform:rotate(18deg)translate(-120%)}to{transform:rotate(18deg)translate(420%)}}.featured-label{z-index:3;text-align:left;position:absolute;bottom:28px;left:26px;right:20px;transform:translateZ(50px)}.featured-kind{letter-spacing:.2em;text-transform:uppercase;opacity:.85;font-size:11px}.featured-title{font-family:var(--serif);text-shadow:0 2px 12px #00000073;margin-top:8px;font-size:28px;font-weight:600;line-height:1.1}.featured-author{font-family:var(--serif);opacity:.9;margin-top:8px;font-style:italic}.featured-tag{z-index:4;background:var(--ink);color:var(--paper);letter-spacing:.12em;text-transform:uppercase;border-radius:999px;padding:8px 14px;font-size:11px;position:absolute;top:-14px;right:-14px;transform:rotate(4deg)translateZ(70px)}.featured-fallback{background:linear-gradient(165deg,#7a2e2a,#2a0f0e);align-items:flex-end;display:flex}.feature-reflect{transform-origin:top;opacity:.16;filter:blur(3px);background:linear-gradient(165deg,#7a2e2a,#2a0f0e);width:280px;height:120px;position:absolute;top:100%;left:0;transform:scaleY(-1)rotate(-3deg);-webkit-mask-image:linear-gradient(#000,#0000 70%);mask-image:linear-gradient(#000,#0000 70%)}.section-head{border-bottom:1px solid var(--line);padding-bottom:var(--s2);margin:var(--s7) 0 var(--s5);justify-content:space-between;align-items:baseline;display:flex}.shelf-title{font-family:var(--serif);letter-spacing:-.015em;margin:0;font-size:30px;font-weight:500}.shelf-title .num{color:var(--faint);margin-left:10px;font-size:18px}.section-hint{color:var(--faint);font-size:13px}.shelf{margin-bottom:0}.shelf-row{gap:var(--s5);padding:6px 2px var(--s4);scrollbar-width:thin;display:flex;overflow-x:auto}.shelf-row::-webkit-scrollbar{height:6px}.shelf-row::-webkit-scrollbar-thumb{background:var(--line);border-radius:999px}.shelf-card{cursor:pointer;text-align:left;width:150px;color:var(--ink);box-shadow:none;background:0 0;border:none;flex:0 0 150px;padding:0}.shelf-card:hover{transform:none}.shelf-cover{object-fit:cover;border-radius:var(--r-sm);background:var(--paper-2);width:150px;height:225px;transition:transform .45s var(--ease), box-shadow .45s var(--ease);display:block;position:relative;box-shadow:0 24px 36px -22px #3c1e1473}.shelf-card:hover .shelf-cover{transform:translateY(-12px)rotate(-1.5deg)scale(1.03);box-shadow:0 40px 50px -22px #3c1e148c}.shelf-cover-fallback{font-family:var(--serif);color:#fff;background:linear-gradient(160deg,#8a4a2a,#3a1c10);justify-content:center;align-items:center;font-size:46px;font-weight:600;display:flex}.shelf-book-title{-webkit-line-clamp:2;-webkit-box-orient:vertical;margin-top:12px;font-size:13px;font-weight:600;line-height:1.3;display:-webkit-box;overflow:hidden}.shelf-book-author{color:var(--faint);font-size:12px;font-style:italic;font-family:var(--serif);white-space:nowrap;text-overflow:ellipsis;margin-top:3px;overflow:hidden}.results{margin-top:var(--s5)}.search-compact{margin:var(--s5) 0 var(--s2);max-width:620px}.results-head{font-family:var(--serif);margin:var(--s2) 0 var(--s4);letter-spacing:-.015em;font-size:28px;font-weight:500}.card{gap:var(--s3);padding:var(--s3);margin-bottom:var(--s2);border-radius:var(--r-lg);background:var(--surface);border:1px solid var(--line);transition:transform .3s var(--ease), border-color .2s, box-shadow .3s var(--ease);align-items:flex-start;display:flex;box-shadow:0 14px 36px -28px #3c1e1466}.reveal{opacity:0;filter:blur(6px);transition:opacity .8s var(--ease), transform .8s var(--ease), filter .8s var(--ease);transform:translateY(20px)scale(.985)}.reveal.in{opacity:1;filter:none;transform:none}.card:hover{border-color:var(--line-2);transform:translateY(-3px);box-shadow:0 26px 50px -28px #3c1e1473}.cover-wrap{flex:none}.cover{object-fit:cover;border-radius:6px;width:70px;height:104px;display:block;box-shadow:0 10px 24px -12px #3c1e1480}.cover-fallback{font-family:var(--serif);color:#fff;justify-content:center;align-items:center;font-size:28px;font-weight:700;display:flex}.card-body{flex:1;min-width:0}.title{font-family:var(--serif);margin-bottom:4px;font-size:18px;font-weight:600;line-height:1.25}.author{color:var(--muted);margin-bottom:12px;font-size:13px}.meta{flex-wrap:wrap;gap:8px;display:flex}.tag{background:var(--paper-2);border:1px solid var(--line);color:var(--muted);text-transform:uppercase;letter-spacing:.05em;border-radius:999px;padding:4px 10px;font-size:11px}.tag-src{background:var(--accent-soft);color:var(--accent);border-color:#b3383040;border-color:lab(42.7705% 49.8809 34.4576/.25)}.actions{flex-direction:column;align-items:stretch;gap:8px;min-width:156px;display:flex}.actions button{padding:12px 18px}.muted{color:var(--muted)}.error{color:var(--bad);margin:14px 0;font-size:14px}.status-sent{color:var(--good);text-align:center;font-size:13px;font-weight:600}.empty{color:var(--faint);padding:var(--s6) 0;text-align:center;font-family:var(--serif);font-size:18px;font-style:italic}.spinner{text-align:center;color:var(--muted);padding:var(--s6) 0;font-size:14px}.page-title{font-family:var(--serif);letter-spacing:-.02em;margin:var(--s6) 0 8px;font-size:clamp(34px,5vw,52px);font-weight:500}.page-lead{color:var(--muted);margin:0 0 var(--s4);font-size:15px}@media (max-width:900px){.hero{gap:var(--s5);padding:var(--s6) 0 var(--s5);grid-template-columns:1fr}.feature{justify-self:start}}@media (max-width:640px){.main{padding:0 var(--s3) var(--s6)}.header{padding:var(--s2) var(--s3)}.card{flex-wrap:wrap}.actions{flex-direction:row;min-width:100%}.featured{width:240px;height:360px}.feature-reflect{width:240px}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}.cin,.shelf-card,.reveal,.card{opacity:1!important;filter:none!important;transform:none!important}}
