:root{--paper:#efe8da;--paper2:#f7f2e9;--ink:#171813;--red:#c9473d;--cobalt:#2559a7;--muted:#6f6d63;--rule:#d6cdbb}
@media (prefers-color-scheme:dark){:root{--paper:#16160f;--paper2:#1f1f17;--ink:#efe8da;--muted:#aaa69a;--rule:#3a392f;--cobalt:#8fb0ea;--red:#e4776d}}
*{box-sizing:border-box}html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--paper);color:var(--ink);font:400 17px/1.55 Jost,system-ui,sans-serif}
a{color:var(--cobalt)}a:focus-visible,button:focus-visible{outline:2px solid var(--red);outline-offset:3px}
.skip{position:absolute;left:-999px}.skip:focus{left:16px;top:8px;background:var(--paper2);padding:6px 10px}
.top{display:flex;justify-content:space-between;align-items:baseline;gap:16px;padding:18px clamp(16px,5vw,64px);border-bottom:1px solid var(--rule)}
.mark{font:600 20px/1 Lora,Georgia,serif;color:var(--ink);text-decoration:none}.mark small{font:500 12px Jost,sans-serif;letter-spacing:.18em;text-transform:uppercase;color:var(--muted)}
.hub{font-size:14px;color:var(--ink)}
main{max-width:1120px;margin:0 auto;padding:0 clamp(16px,5vw,64px)}
.intro{padding:56px 0 28px;max-width:760px}
.kicker{font:500 12px/1 Jost,sans-serif;letter-spacing:.2em;text-transform:uppercase;color:var(--red);margin:0 0 14px}
h1{font:600 clamp(32px,5.5vw,56px)/1.05 Lora,Georgia,serif;letter-spacing:-.01em;margin:0 0 16px;text-wrap:balance}
.lede{font-size:19px;color:var(--muted);margin:0}
.buybar{position:sticky;top:0;z-index:20;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px 16px;background:var(--red);color:#fff;padding:10px clamp(16px,5vw,64px);font-size:15px}
.buybar b{font-weight:600}
.buybar .buy{background:#fff;color:#171813;font-weight:600;text-decoration:none;padding:8px 16px;border-radius:999px;white-space:nowrap}
.btn.buybig{background:var(--red);color:#fff;font-size:18px;padding:14px 24px;margin-top:18px}
.grid{list-style:none;padding:0;margin:8px 0 40px;display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:20px}
.card{background:var(--paper2);border:1px solid var(--rule);padding:18px 18px 16px;display:flex;flex-direction:column;gap:6px;min-width:0}
.card h3{font:600 18px/1.3 Lora,Georgia,serif;margin:0;overflow-wrap:anywhere}.card h3 a{color:var(--ink);text-decoration-color:var(--rule)}
.meta{margin:0;font-size:13px;color:var(--muted)}.tag{display:inline-block;border:1px solid currentColor;border-radius:99px;padding:1px 9px;margin-right:6px;font-weight:500;color:var(--ink)}
.topic{margin:0;font-size:15px;color:var(--muted)}.host{margin:auto 0 0;font-size:13px;color:var(--muted)}
.yt{position:relative;display:block;width:100%;aspect-ratio:16/9;margin-top:6px;padding:0;border:0;background:#000;cursor:pointer;overflow:hidden}
.yt img{width:100%;height:100%;object-fit:cover;display:block;opacity:.92}
.play{position:absolute;left:50%;top:50%;width:64px;height:44px;transform:translate(-50%,-50%);background:var(--red);border-radius:10px}
.play:after{content:"";position:absolute;left:26px;top:13px;border-style:solid;border-width:9px 0 9px 15px;border-color:transparent transparent transparent #fff}
.yt iframe{width:100%;height:100%;border:0;display:block}
.out{margin:4px 0 0;font-size:14px}
.pn{display:flex;justify-content:space-between;gap:16px;border-top:1px solid var(--rule);padding:18px 0;margin-bottom:24px;font-size:15px}
.chapters{list-style:none;padding:0;margin:8px 0 40px;border-top:1px solid var(--rule)}
.chapters a{display:grid;grid-template-columns:48px 1fr auto;gap:12px;align-items:baseline;padding:16px 4px;border-bottom:1px solid var(--rule);color:var(--ink);text-decoration:none}
.chapters a:hover .t{color:var(--cobalt)}.n{font:500 14px Jost,sans-serif;color:var(--red)}.t{font:500 19px/1.3 Lora,Georgia,serif}.c{font-size:13px;color:var(--muted)}
.book{border:1px solid var(--rule);background:var(--paper2);padding:24px;margin:0 0 48px;max-width:760px}
.book h2{font:600 24px/1.2 Lora,Georgia,serif;margin:0 0 8px}.book p{margin:8px 0}
.btn{display:inline-block;background:var(--ink);color:var(--paper);padding:10px 18px;text-decoration:none;font-weight:500;margin:6px 0}
.foot{border-top:1px solid var(--rule);padding:24px clamp(16px,5vw,64px);font-size:14px;color:var(--muted)}
@media (max-width:560px){.grid{grid-template-columns:1fr}.chapters a{grid-template-columns:36px 1fr}.c{display:none}.top{flex-wrap:wrap}}
@media (prefers-reduced-motion:reduce){*{transition:none!important}}
