.books-page,.books-nav{font-family:"Inter Variable",Arial,sans-serif}
.books-nav{display:flex;align-items:center;justify-content:space-between;min-height:112px;gap:20px}
.books-hero{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);align-items:stretch;overflow:hidden;border-radius:var(--radius);background:#39304e;color:#fff3e8;box-shadow:var(--shadow);margin:20px 0 46px}
.books-hero .reading-room{min-height:410px}
.books-heading{padding:50px 40px 50px 20px;align-self:center}
.books-kicker{font-size:.8125rem;letter-spacing:.12em;text-transform:uppercase;color:#e3c8b8;margin:0 0 22px}
.books-heading h1{font-size:clamp(2.8rem,4.5vw,4.8rem);font-weight:600;line-height:1.02;letter-spacing:-.06em;margin:0 0 24px;text-wrap:balance}
.books-heading>p:not(.books-kicker){font-size:1rem;line-height:1.7;color:#e0d3df;margin:0}
.books-shelf-link{display:inline-flex;gap:28px;align-items:center;margin-top:30px;padding:12px 18px;border-radius:999px;border:1px solid #fff3;font-size:.875rem;min-height:44px}
.books-shelf-link:hover{background:#ffffff12}
.books-section-heading{display:flex;gap:20px;align-items:baseline;justify-content:space-between;margin-bottom:20px}
.books-section-heading h2{font-size:1.5rem;line-height:1.2;letter-spacing:-.04em;margin:0;font-weight:600}
.books-section-heading>span{color:var(--muted);font-size:.875rem;white-space:nowrap}
.books-ongoing{margin-bottom:42px}
.book-card{border:0;border-radius:var(--radius);background:var(--tile);box-shadow:var(--shadow);padding:28px;display:flex;flex-direction:column;min-width:0;gap:18px}
.book-card-head{display:flex;justify-content:space-between;align-items:center;gap:12px;color:var(--muted);font-size:.8125rem}
.book-status{border:1px solid var(--border);border-radius:999px;padding:5px 10px;font-size:.75rem}
.book-card h3{font-family:Georgia,"Times New Roman",serif;font-size:1.65rem;font-weight:400;letter-spacing:-.025em;line-height:1.18;margin:0;max-width:25ch;text-wrap:balance}
.book-author{font-size:.9375rem;line-height:1.5;color:var(--muted);margin:auto 0 0}
.book-edition{display:block;font-size:.8125rem;color:var(--muted);margin-top:9px;font-family:"Inter Variable",Arial,sans-serif;letter-spacing:0}
.book-card-ongoing{background:var(--side-bg);display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;padding:32px;gap:28px}
.book-card-ongoing .book-card-head{grid-column:1/-1;justify-content:flex-start;gap:18px}
.book-card-ongoing h3{font-size:2.5rem}.book-card-ongoing .book-status{border:0;background:var(--tile);color:var(--ink)}
.book-card-ongoing .book-author{margin:0;text-align:right}
.books-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.books-grid .book-card{min-height:230px}
.books-shelf{scroll-margin-top:24px}
@media(max-width:900px){.books-hero{grid-template-columns:1fr}.books-hero .reading-room{min-height:0;height:360px}.books-hero .room-stage{height:100%;width:auto;aspect-ratio:3/2}.books-heading{padding:26px 32px 32px}.books-heading h1{font-size:3rem}.books-heading>p br{display:none}.books-kicker{margin-bottom:14px}.books-shelf-link{margin-top:20px}.books-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:620px){.books-nav{min-height:88px}.books-hero{margin:10px 0 30px}.books-hero .reading-room{height:auto}.books-hero .room-stage{width:100%;height:auto}.books-heading{padding:22px 24px 28px}.books-heading h1{font-size:2.5rem;margin-bottom:14px}.books-heading>p:not(.books-kicker){font-size:1rem}.books-kicker{font-size:.75rem}.books-shelf-link{display:none}.books-section-heading{gap:10px;margin-bottom:14px}.books-section-heading h2{font-size:1.3rem}.books-ongoing{margin-bottom:30px}.book-card-ongoing{display:flex;align-items:stretch;padding:24px;gap:14px}.book-card-ongoing h3{font-size:2rem}.book-card-ongoing .book-author{text-align:left}.books-grid{grid-template-columns:1fr;gap:12px}.books-grid .book-card{min-height:0;padding:24px;gap:15px}.book-card h3{font-size:1.6rem}.book-card-head{font-size:.8125rem}}

/* Book cards share the portfolio's elevation, sibling fade, and weighted tilt. */
.books-grid-ongoing{grid-template-columns:1fr}
.books-grid-ongoing .book-card{min-height:0}
.book-open{border:0;background:none;color:inherit;padding:0;font:inherit;text-align:left;cursor:pointer;touch-action:manipulation}
.book-open::before{content:"";position:absolute;inset:0;z-index:5;border-radius:inherit}
.book-open:focus-visible{outline:0}
.book-card:has(.book-open:focus-visible){outline:3px solid var(--accent-text);outline-offset:5px;z-index:7;box-shadow:var(--shadow-raised)}



.book-dialog{width:min(680px,calc(100% - 40px));max-width:none;max-height:calc(100dvh - 48px);padding:0;border:0;border-radius:var(--radius);background:var(--tile);color:var(--ink);box-shadow:0 36px 100px rgba(20,16,12,.32);overflow:hidden;font-family:"Inter Variable",Arial,sans-serif}
.book-dialog::backdrop{background:rgba(30,25,22,.55)}
.book-dialog-shell{max-height:calc(100dvh - 48px);overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin}
.book-dialog-toolbar{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 18px 10px 40px;position:sticky;top:0;z-index:2;background:var(--tile)}
.book-dialog-toolbar>span{color:var(--muted);font-size:.75rem;letter-spacing:.08em;text-transform:uppercase}
.book-dialog-close{width:44px;height:44px;display:grid;place-items:center;flex:none;cursor:pointer;color:var(--ink);border:1px solid var(--border);border-radius:50%;background:var(--bar-bg);transition:background .2s}
.book-dialog-close:hover{background:var(--hover-bg)}
.book-dialog-content{padding:16px 40px 36px}
.book-detail-meta{display:flex;align-items:center;gap:12px;flex-wrap:wrap;font-size:.8125rem;color:var(--muted);margin-bottom:20px}
.book-detail h2{font-family:Georgia,"Times New Roman",serif;font-size:clamp(2rem,4vw,2.8rem);font-weight:400;line-height:1.12;letter-spacing:-.03em;text-wrap:balance;margin:0 0 14px}
.book-detail-author,.book-detail-edition{margin:0;color:var(--muted);font-size:.9375rem;line-height:1.5}
.book-detail-edition{margin-bottom:6px}
.book-detail section{margin-top:28px}
.book-detail h3{font-size:.8125rem;font-weight:600;letter-spacing:.045em;text-transform:uppercase;margin:0 0 12px;color:var(--muted)}
.book-detail section p{font-size:1rem;line-height:1.7;margin:0;color:var(--body-copy)}
.book-detail ul{list-style:none;counter-reset:takeaway;padding:0;margin:0;display:grid;gap:14px}
.book-detail li{counter-increment:takeaway;display:grid;grid-template-columns:28px 1fr;gap:12px;font-size:1rem;line-height:1.6;color:var(--body-copy)}
.book-detail li::before{content:counter(takeaway,decimal-leading-zero);font-size:.75rem;line-height:2.15;color:var(--accent-text);font-variant-numeric:tabular-nums}
.book-detail-actions{display:flex;align-items:center;gap:12px 22px;flex-wrap:wrap;margin-top:30px;padding-top:24px;border-top:1px solid var(--border)}
.book-buy{display:inline-flex;align-items:center;justify-content:center;gap:24px;min-height:48px;padding:12px 22px;border-radius:999px;background:var(--accent);color:var(--accent-ink);font-size:.9375rem;font-weight:600;transition:background .2s,box-shadow .2s}
.book-buy:hover{background:var(--accent-hover);box-shadow:0 6px 18px rgba(var(--accent-rgb),.2)}
.book-source{display:inline-flex;align-items:center;gap:8px;min-height:44px;color:var(--muted);font-size:.8125rem}
.book-source:hover{text-decoration:underline;text-underline-offset:4px;color:var(--ink)}
@media(max-width:620px){.book-dialog{width:calc(100% - 24px);max-height:calc(100dvh - 24px);border-radius:24px}.book-dialog-shell{max-height:calc(100dvh - 24px)}.book-dialog-toolbar{padding:12px 14px 8px 24px}.book-dialog-content{padding:14px 24px 26px}.book-detail-meta{margin-bottom:16px}.book-detail h2{font-size:2rem}.book-detail section{margin-top:24px}.book-detail-actions{gap:8px;margin-top:24px}.book-buy{width:100%}.book-source{margin:auto}}


[data-book-tone="blue"]{--book-accent-rgb:55,104,235;--book-accent-text:#315bbd}
[data-book-tone="violet"]{--book-accent-rgb:144,99,211;--book-accent-text:#7852ad}
[data-book-tone="rose"]{--book-accent-rgb:207,101,145;--book-accent-text:#ab4872}
[data-book-tone="amber"]{--book-accent-rgb:209,150,58;--book-accent-text:#946722}
[data-book-tone="teal"]{--book-accent-rgb:48,155,151;--book-accent-text:#287b79}
[data-book-tone="sage"]{--book-accent-rgb:130,161,89;--book-accent-text:#607d3f}

:root[data-theme="dark"] [data-book-tone="blue"]{--book-accent-rgb:133,174,255;--book-accent-text:#aec9ff}
:root[data-theme="dark"] [data-book-tone="violet"]{--book-accent-rgb:187,149,246;--book-accent-text:#cfb1fc}
:root[data-theme="dark"] [data-book-tone="rose"]{--book-accent-rgb:230,147,180;--book-accent-text:#f0b5ce}
:root[data-theme="dark"] [data-book-tone="amber"]{--book-accent-rgb:233,184,108;--book-accent-text:#f0cd96}
:root[data-theme="dark"] [data-book-tone="teal"]{--book-accent-rgb:111,202,194;--book-accent-text:#a0ddd7}
:root[data-theme="dark"] [data-book-tone="sage"]{--book-accent-rgb:172,196,133;--book-accent-text:#c9dda8}
@media(prefers-color-scheme:dark){
:root:not([data-theme="light"]) [data-book-tone="blue"]{--book-accent-rgb:133,174,255;--book-accent-text:#aec9ff}
:root:not([data-theme="light"]) [data-book-tone="violet"]{--book-accent-rgb:187,149,246;--book-accent-text:#cfb1fc}
:root:not([data-theme="light"]) [data-book-tone="rose"]{--book-accent-rgb:230,147,180;--book-accent-text:#f0b5ce}
:root:not([data-theme="light"]) [data-book-tone="amber"]{--book-accent-rgb:233,184,108;--book-accent-text:#f0cd96}
:root:not([data-theme="light"]) [data-book-tone="teal"]{--book-accent-rgb:111,202,194;--book-accent-text:#a0ddd7}
:root:not([data-theme="light"]) [data-book-tone="sage"]{--book-accent-rgb:172,196,133;--book-accent-text:#c9dda8}
}
/* Six seeded accent washes keep each book consistent across card and panel. */
.book-card,.book-dialog{isolation:isolate}


.book-dialog-toolbar{background:linear-gradient(105deg,rgba(var(--book-accent-rgb,var(--accent-rgb)),.09),transparent 80%),var(--tile)}



/* Original concept diagrams, keyed to each book's ideas rather than its cover. */
.book-graphic{margin:0 0 26px;overflow:hidden;border:1px solid rgba(var(--book-accent-rgb,var(--accent-rgb)),.1);border-radius:20px;background:linear-gradient(135deg,rgba(var(--book-accent-rgb,var(--accent-rgb)),.1),rgba(var(--book-accent-rgb,var(--accent-rgb)),.015) 72%),var(--tile);color:var(--book-accent-text,var(--accent-text))}
.book-graphic svg{display:block;width:100%;height:auto;aspect-ratio:600/220;overflow:visible}
.book-graphic text{fill:var(--body-copy);font-family:"Inter Variable",Arial,sans-serif;font-size:20px;font-weight:500;letter-spacing:.015em}
.book-graphic .diagram-strong{fill:var(--book-accent-text,var(--accent-text))}
.book-graphic .diagram-line{fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.book-graphic .diagram-faint{opacity:.3}
.book-graphic .diagram-node{fill:var(--tile);stroke:currentColor;stroke-width:1.8}
.book-graphic .diagram-fill{fill:currentColor;fill-opacity:.075;stroke:currentColor;stroke-width:1.8}
.book-graphic .diagram-dot{fill:currentColor}
@media(max-width:620px){.book-graphic{margin-bottom:22px;border-radius:16px}.book-graphic svg{min-height:150px}.book-graphic text{font-size:28px;letter-spacing:0}}
@media(prefers-reduced-motion:reduce){}
