/* ───────────────────────────────────────────────────────────────
   Kireet Joshi · Collected Works — archival design layer (2026-10)
   Washi paper, sumi ink, a single vermilion seal. Hairlines, not boxes;
   space as structure (ma); type does the work.
   ─────────────────────────────────────────────────────────────── */
:root{
 --paper:#f3f0e8;--surface:#f8f6f0;--ink:#22211e;--muted:#6f6b62;--faint:#9b968b;--line:#dcd6c8;--line-strong:#c5bead;
 --accent:#2e3a36;--gold:#8c6a4a;--shu:#b4442c;--soft:#ebe6da;--highlight:#ece5d0;--word:#dccfa8;
 --display:'Cormorant Garamond','EB Garamond',Georgia,serif;--serif:'EB Garamond',Georgia,'Noto Serif Devanagari',serif;
 --ui:'Inter',system-ui,-apple-system,'Segoe UI',sans-serif;--reader-font:'EB Garamond',Georgia,'Noto Serif Devanagari',serif;
 --gutter:clamp(1.25rem,5vw,5rem);--ease:cubic-bezier(.2,.6,.2,1)
}
body.night,body[data-reader-theme=night]{--paper:#171716;--surface:#1e1e1c;--ink:#e6e1d6;--muted:#a7a196;--faint:#7c776d;--line:#33322e;--line-strong:#46443e;--accent:#d8d1c2;--gold:#c9a57c;--shu:#d26a52;--soft:#262623;--highlight:#2c2a24;--word:#4a4232;color-scheme:dark}
body[data-reader-theme=black]{--paper:#0f0f0f;--surface:#161616;--ink:#e4e0d7;--muted:#a19c92;--line:#2e2e2c;--shu:#d26a52;--highlight:#262420;--word:#463d2e}
body[data-reader-theme=sepia]{--shu:#9e3d27;--highlight:#e6d6b5;--word:#d4bd8c}
body[data-reader-theme=white]{--paper:#fdfdfb;--surface:#fff;--line:#e3e1db;--highlight:#f1ecdd}

html{scroll-padding-top:4.5rem}
body{font-family:var(--ui);font-size:15px;line-height:1.6;letter-spacing:.005em;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;font-feature-settings:'kern','liga'}
::selection{background:color-mix(in srgb,var(--shu) 22%,transparent)}
a{text-decoration-thickness:1px;text-underline-offset:.28em;text-decoration-color:var(--line-strong)}
a:hover{text-decoration-color:currentColor}
button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible{outline:1px solid var(--shu);outline-offset:4px}

/* ── Masthead ─────────────────────────────────────────── */
.masthead{position:sticky;top:0;z-index:20;padding:.9rem var(--gutter);gap:2.5rem;border-bottom:1px solid var(--line);background:color-mix(in srgb,var(--paper) 92%,transparent);backdrop-filter:saturate(1.1) blur(10px)}
.brand{gap:.95rem;font:400 1.32rem/1.1 var(--display);letter-spacing:.01em}
.brand small{font:500 9.5px/1.9 var(--ui);letter-spacing:.32em;color:var(--muted);margin-top:2px}
.seal{width:34px;height:34px;border:0;background:var(--shu);color:#f7efe6;font:500 .92rem/1 var(--display);letter-spacing:.02em;border-radius:2px;box-shadow:inset 0 0 0 2px color-mix(in srgb,#fff 18%,transparent)}
.masthead nav{gap:2.2rem;font-size:12.5px;letter-spacing:.12em;text-transform:uppercase}
.masthead nav a{position:relative;color:var(--muted);padding:.5rem 0;border:0!important}
.masthead nav a:hover{color:var(--ink)}
.masthead nav a.active{color:var(--ink)}
.masthead nav a.active:after{content:'';position:absolute;left:50%;bottom:-.25rem;width:4px;height:4px;margin-left:-2px;border-radius:50%;background:var(--shu)}
.masthead>.quiet{font-size:12px;letter-spacing:.08em;border:0;padding:.4rem 0;color:var(--muted);background:none}
.masthead>.quiet:hover{color:var(--ink);background:none}
.masthead>#readingSettings{margin-left:auto}

/* ── Buttons ──────────────────────────────────────────── */
.quiet{border:1px solid var(--line);border-radius:0;background:transparent;font:500 12.5px/1.2 var(--ui);letter-spacing:.04em;padding:.6rem .95rem;color:var(--ink);transition:border-color .2s var(--ease),background .2s var(--ease)}
.quiet:hover{background:transparent;border-color:var(--ink)}
.primary{border-radius:0;background:var(--ink);border:1px solid var(--ink);color:var(--paper);font:500 12.5px/1.2 var(--ui);letter-spacing:.08em;padding:.75rem 1.35rem;transition:opacity .2s}
.primary:hover{opacity:.86}
.primary span[aria-hidden]{font-size:.85em;margin-right:.35em}

/* ── Eyebrows & labels ────────────────────────────────── */
.eyebrow{font:500 10.5px/1.6 var(--ui);letter-spacing:.3em;color:var(--muted);text-transform:uppercase}
.meta{font:500 10.5px/1.6 var(--ui);letter-spacing:.16em;color:var(--faint)}
.date-label{color:var(--gold);letter-spacing:.04em;font-size:11.5px}

/* ── Collection home ──────────────────────────────────── */
.library-head{margin:5.5rem var(--gutter) 3rem;max-width:1280px;min-height:280px;padding-right:260px}
.library-head h1{font:300 clamp(2.8rem,5.4vw,5.2rem)/1.02 var(--display);letter-spacing:-.012em;margin:.8rem 0 1.4rem}
.intro{font:400 1.22rem/1.65 var(--serif);color:var(--muted);max-width:36em}
.stats{gap:2.6rem;margin-top:2.6rem;font:500 10.5px/1 var(--ui);letter-spacing:.2em;text-transform:uppercase;color:var(--faint)}
.stats span{display:flex;flex-direction:column-reverse;gap:.6rem}
.stats strong{font:300 2rem/1 var(--display);letter-spacing:0;color:var(--ink);padding:0;text-transform:none}
.listening-invitation{margin-top:2.2rem;font-size:13px}
.listening-invitation a{color:var(--muted)}
.archive-portrait{width:210px;top:0}
.archive-portrait img{height:270px;border:0;filter:grayscale(1) contrast(1.02);mix-blend-mode:multiply}
body.night .archive-portrait img,body[data-reader-theme=black] .archive-portrait img{mix-blend-mode:normal;filter:grayscale(1) invert(.88) contrast(.9)}
.archive-portrait figcaption{font:italic 400 13px/1.5 var(--display);letter-spacing:.04em;margin-top:.7rem}

.library-grid{max-width:1280px;grid-template-columns:200px minmax(0,1fr);gap:4.5rem;margin:3rem var(--gutter) 6rem;border-top:1px solid var(--line);padding-top:3rem}
.facet h2{font:500 10.5px/1.6 var(--ui);letter-spacing:.3em;color:var(--faint)}
.facet button{font-size:13.5px;padding:.5rem 0;color:var(--muted);transition:color .2s}
.facet button:hover{color:var(--ink)}
.facet button.on{font-weight:500;color:var(--ink)}
.facet button.on:before{content:'';display:inline-block;width:5px;height:5px;border-radius:50%;background:var(--shu);margin:0 .6rem .15rem -1rem;vertical-align:middle}
.facet .side-note{font:400 .98rem/1.7 var(--serif)}
.searchbox input{border:0;border-bottom:1px solid var(--line-strong);background:transparent;border-radius:0;padding:.9rem 0;font:400 1.25rem var(--serif);color:var(--ink)}
.searchbox input:focus{outline:none;border-bottom-color:var(--ink)}
.searchbox input::placeholder{color:var(--faint);font-style:italic}
.searchmode{font-size:12.5px}
.result-toolbar{border-bottom:1px solid var(--line);padding-bottom:1.2rem}
.tabs button{font-size:12px;letter-spacing:.14em;text-transform:uppercase;border:0;border-bottom:1px solid transparent;padding:.35rem 0;margin-right:1.2rem;border-radius:0}
.tabs button.on{border-bottom-color:var(--ink)}
.results-count{font-size:12px;letter-spacing:.06em}
.sort-control select,.discovery-controls select,.discovery-controls input[type=number]{border-radius:0;background:transparent}

.work{grid-template-columns:28px minmax(0,1fr) auto;gap:1.6rem;padding:2rem 0;border-bottom:1px solid var(--line)}
.spine{width:auto;min-height:0;border:0!important;font-size:0;display:flex;justify-content:center;padding-top:.55rem}
.spine:after{content:'';display:block;width:7px;height:7px;border:1px solid var(--faint);border-radius:50%}
.spine.book:after{width:1px;height:2.8rem;border:0;border-radius:0;background:var(--ink)}
.work h3{font:400 1.62rem/1.22 var(--display);font-variant-numeric:lining-nums;letter-spacing:0;margin:.35rem 0 .6rem}
.work h3 a{text-decoration:none;background:linear-gradient(currentColor,currentColor) 0 100%/0 1px no-repeat;transition:background-size .35s var(--ease)}
.work h3 a:hover{text-decoration:none;background-size:100% 1px}
.work .excerpt{font:400 1.02rem/1.7 var(--serif);color:var(--muted);max-width:44em}
.work-action{font-size:12px;letter-spacing:.06em;color:var(--muted);padding-top:1.6rem}
.work-action:hover{color:var(--ink)}
.sequence-note{font:italic 400 .98rem/1.6 var(--serif);color:var(--muted);border-left:1px solid var(--shu);padding-left:.9rem;margin:.5rem 0 .7rem;max-width:44em}
.active-filters button,.topic-tags button{border-radius:0;border:0;border-bottom:1px solid var(--line);background:none;color:var(--muted);padding:.15rem 0;margin-right:.6rem;font-size:11.5px;letter-spacing:.03em}
.topic-tags button:hover{background:none;color:var(--ink);border-bottom-color:var(--ink)}
.chronology-group{border-top:1px solid var(--line-strong)}
.chronology-group h2{font:400 1.7rem/1.3 var(--display)}

/* ── Reader ───────────────────────────────────────────── */
.reader-top{padding:1rem var(--gutter);font-size:12px;letter-spacing:.08em;color:var(--muted);border-bottom:1px solid var(--line)}
.reader-top a{text-decoration:none}
.reader-top a:hover{color:var(--ink)}
.reader-layout{grid-template-columns:230px minmax(0,var(--reader-measure)) 190px;gap:clamp(2rem,5vw,6rem);padding:4rem var(--gutter) 8rem}
.reading-header{border-bottom:1px solid var(--line);padding-bottom:2.2rem;margin-bottom:3rem}
.reading-header .eyebrow{color:var(--shu)}
.reading-header h1{font:300 clamp(2.3rem,4.2vw,3.7rem)/1.08 var(--display);letter-spacing:-.008em;margin:1rem 0 1.4rem;text-wrap:balance}
.reading-header .series{font:italic 400 1.15rem/1.5 var(--display);color:var(--muted)}
.reading-header .meta{margin-top:.4rem}
.reading-actions{gap:.7rem;margin:1.8rem 0 .8rem;align-items:center}
.reading-status{font-size:12.5px;line-height:1.6;color:var(--muted);max-width:40rem}
.audiobook-note{color:var(--faint)}

.contents{top:6rem;max-height:calc(100vh - 8rem);font-size:13px;padding-right:.5rem;scrollbar-width:thin;scrollbar-color:var(--line) transparent}
.contents h2,.reader-tools h2{font:500 10.5px/1.6 var(--ui);letter-spacing:.3em;color:var(--faint);margin:0 0 1.2rem}
.contents a{position:relative;padding:.42rem 0 .42rem .95rem;color:var(--muted);line-height:1.45;border-left:1px solid var(--line);transition:color .2s,border-color .2s}
.contents a:hover{color:var(--ink)}
.contents a.indent{padding-left:1.9rem;font-size:12.5px}
.contents a.current{color:var(--ink);border-left-color:var(--shu)}
.contents .toc-numerals{display:flex;flex-wrap:wrap;gap:0 .15rem;padding:.1rem 0 .55rem 1.9rem;border-left:1px solid var(--line)}
.contents .toc-numerals a{display:inline-block;border:0;padding:.15rem .45rem;font:400 13px/1.4 var(--display);letter-spacing:.04em;color:var(--faint)}
.contents .toc-numerals a:hover,.contents .toc-numerals a.current{color:var(--shu)}
.contents .toc-numerals a.current:after{content:'';position:absolute;left:50%;bottom:-.05rem;width:3px;height:3px;margin-left:-1.5px;border-radius:50%;background:var(--shu)}

.reader-tools{top:6rem;font-size:12.5px}
.reader-tools a{color:var(--muted);text-decoration:none;border-bottom:1px solid var(--line);padding-bottom:.15rem;display:inline-block}
.reader-tools a:hover{color:var(--ink);border-color:var(--ink)}
.reader-tools button,.reader-tools a{margin-bottom:.8rem}
.reader-tools .size-buttons .quiet{min-width:2.6rem}
.reader-tools label{display:flex;gap:.5rem;align-items:center;color:var(--muted)}
.reader-tools input[type=checkbox]{accent-color:var(--shu)}

.prose{font-family:var(--reader-font);hyphens:auto;-webkit-hyphens:auto;font-variant-numeric:oldstyle-nums;font-feature-settings:'kern','liga','onum'}
.prose h1,.prose h2,.prose h3,.prose h4{font-family:var(--display);font-weight:400;letter-spacing:.005em;hyphens:manual;text-wrap:balance}
.prose h1{font-size:1.75em;line-height:1.2;margin:3.2em 0 1.1em;font-weight:400}
.prose>h1:first-child{margin-top:0}
.prose h2{font-size:1.4em;line-height:1.3;margin:2.8em 0 1em}
.prose h3{font-size:1.18em;margin:2.2em 0 .8em;font-style:italic}
.prose h1:before{content:'';display:block;width:2.2rem;height:1px;background:var(--shu);margin:0 0 1.4rem}
.prose>h1:first-child:before{display:none}
.prose .numeral-heading{text-align:center;font:400 1.05em/1 var(--display);letter-spacing:.14em;color:var(--muted);margin:2.6em 0 1.6em;padding-left:.14em;font-style:normal}
.prose .numeral-heading:before{display:none}
.prose p{hyphenate-limit-chars:6 3 3}
.prose blockquote{border-left:1px solid var(--line-strong);padding:.1em 0 .1em 1.6em;margin:2em 0;color:var(--muted)}
.prose blockquote p:last-child:not(:first-child){font-size:.86em;font-style:normal;letter-spacing:.01em}
.prose a{text-decoration-color:var(--line-strong)}
.prose [id]:target{background:var(--highlight);outline:.4em solid var(--highlight)}
.ornamental-break{color:var(--faint);letter-spacing:1em;font-size:.8em;margin:2.6em 0}
.footnotes{border-top:1px solid var(--line);font-size:.88em;color:var(--muted);margin-top:4em;padding-top:1.4em}

/* listening on the reading text */
.prose .timed-sentence{transition:background-color .35s var(--ease),box-shadow .35s var(--ease);border-radius:0}
.prose .timed-sentence.current{background:transparent;box-shadow:-1.25rem 0 0 -1.14rem var(--shu)}
.prose .timed-word{cursor:pointer;border-radius:1px;transition:background-color .15s,color .15s}
.prose .timed-word:hover{background:var(--soft)}
.prose .timed-word.current{background:var(--word);color:var(--ink);box-shadow:0 0 0 .08em var(--word)}
.listening-text .timed-sentence:not(.current){transition:opacity .4s}
.reduce-motion .prose .timed-sentence,.reduce-motion .prose .timed-word{transition:none}

/* ── Player ───────────────────────────────────────────── */
.player{background:color-mix(in srgb,var(--surface) 94%,transparent);backdrop-filter:blur(10px);border-top:1px solid var(--line);box-shadow:none;padding:.85rem var(--gutter);gap:1.3rem}
.playing .eyebrow{font-size:9.5px;color:var(--shu);margin-bottom:.2rem}
.playing a{font:400 1.12rem var(--display)}
.player .quiet{border-color:transparent;font-variant-numeric:tabular-nums}
.player .quiet:hover{border-color:var(--line)}
.speed select{border-radius:0;background:transparent}

/* ── Editorial / series / study editions ──────────────── */
.editorial,.pathways{max-width:980px;margin:5rem auto 8rem;padding:0 var(--gutter)}
.editorial h1,.pathways h1{font:300 clamp(2.4rem,4.4vw,3.8rem)/1.08 var(--display);letter-spacing:-.01em;margin:.8rem 0 1.6rem;text-wrap:balance}
.editorial h2{font:400 1.7rem/1.3 var(--display);margin:3rem 0 1rem}
.editorial p,.editorial li{font:400 1.08rem/1.75 var(--serif)}
.edition-card{border-top:1px solid var(--line-strong)}
.edition-card .eyebrow{color:var(--shu)}
.edition-card h2,.featured-edition h2,.section-heading,.parallel-passages h2,.dossier-passage h3{font-family:var(--display);font-weight:400}
.edition-card p,.featured-edition p,.parallel-item p,.parallel-item>a{font-family:var(--serif)}
.featured-edition{background:var(--surface);color:var(--ink);border-top:1px solid var(--ink);border-bottom:1px solid var(--line)}
.featured-edition .eyebrow{color:var(--shu)}
.featured-edition .meta{color:var(--muted);font-family:var(--ui)}
.featured-edition .primary{background:var(--ink);color:var(--paper)}
.featured-edition ol{border-left:1px solid var(--line);font-family:var(--display)}
.curatorial,.transcript-notice{border-left:1px solid var(--shu);background:transparent}
.transcript-version select{border-radius:0;border-color:var(--line-strong);background:transparent}
.settings-dialog{border-radius:0;box-shadow:0 30px 80px #0002}
.settings-dialog h2{font:300 1.8rem var(--display)}
.settings-dialog .eyebrow{color:var(--shu)}
#readingProgress{height:1px}
#readingProgress span{background:var(--shu)}
.notice{border-radius:0;font-size:13px;letter-spacing:.02em}

footer{margin:0 var(--gutter);padding:2.4rem 0 3rem;font-size:10.5px;letter-spacing:.24em;text-transform:uppercase;color:var(--faint)}
footer a{text-decoration:none}

@media(min-width:1500px){.library-head,.library-grid{margin-left:auto;margin-right:auto}}
@media(max-width:1150px){.reader-layout{grid-template-columns:190px minmax(0,var(--reader-measure));gap:3rem}.masthead nav{gap:1.4rem}}
@media(max-width:760px){
 body{font-size:14.5px}
 .masthead{position:sticky;padding:.75rem 1.1rem;gap:.6rem}
 .masthead nav{gap:0;font-size:10.5px;letter-spacing:.1em}
 .brand{font-size:1.15rem}.seal{width:30px;height:30px}
 .library-head{margin:2.6rem 1.1rem 1.6rem;padding-right:100px;min-height:150px}
 .library-head h1{font-size:2.5rem}
 .stats{gap:1.4rem}.stats strong{font-size:1.5rem}
 .library-grid{margin:1.6rem 1.1rem 4rem;padding-top:1.4rem}
 .work{grid-template-columns:18px minmax(0,1fr);gap:.9rem;padding:1.5rem 0}
 .work h3{font-size:1.4rem}
 .reader-layout{padding:2rem 1.1rem 5rem}
 .contents{max-height:220px;border-bottom:1px solid var(--line);padding-bottom:1rem}
 .prose .timed-sentence.current{box-shadow:-.6rem 0 0 -.54rem var(--shu)}
 .editorial,.pathways{margin-top:2.6rem}
}
@media print{.prose h1:before{display:none}.prose .timed-word.current{background:none;box-shadow:none}}
.reading-header h1,.editorial h1,.pathways h1,.library-head h1,.stats strong,.chronology-group h2,.playing a,.prose h1,.prose h2,.prose h3{font-variant-numeric:lining-nums}
@media(max-width:760px){
 .masthead{position:static;flex-wrap:wrap}
 .masthead nav{order:3;width:100%;flex:none;display:flex;justify-content:flex-start;gap:1.3rem;overflow-x:auto;white-space:nowrap;scrollbar-width:none;padding-bottom:.2rem}
 .masthead nav::-webkit-scrollbar{display:none}
 .masthead nav a{flex:0 0 auto}
 .library-head{padding-right:96px}
 .archive-portrait{width:84px;top:0}
 .archive-portrait img{height:112px}
 .library-head .stats,.library-head .listening-invitation{margin-right:-96px}
 .facet button.on:before{display:none}
 .facet>div button{border-radius:0}
 .reader-top{gap:.4rem 1rem}
}

/* ── Narration following (rebuilt 2026-10, after the Bande Mataram web edition) ── */
:root{--hl:rgba(222,170,60,.32);--hl-strong:rgba(222,150,40,.55)}
body.night,body[data-reader-theme=night],body[data-reader-theme=black]{--hl:rgba(230,180,70,.25);--hl-strong:rgba(230,170,60,.45)}
body[data-reader-theme=contrast]{--hl:rgba(255,214,0,.45);--hl-strong:rgba(255,170,0,.75)}
::highlight(kj-phrase){background-color:var(--hl);color:inherit}
::highlight(kj-word){background-color:var(--hl-strong);color:inherit;text-decoration:underline;text-decoration-color:var(--shu);text-decoration-thickness:2px;text-underline-offset:3px}
.kj-listening{cursor:text}
.kj-no-highlight-api .kj-reading{background:var(--hl);border-radius:2px;box-shadow:0 0 0 .25em var(--hl)}
.prose .timed-sentence.current,.prose .timed-word.current{background:none;box-shadow:none}

.kj-resume{position:fixed;left:50%;bottom:96px;transform:translateX(-50%);z-index:61;border:1px solid var(--line);background:var(--surface);color:var(--ink);border-radius:999px;padding:.55rem 1.1rem;font:500 12.5px/1 var(--ui);letter-spacing:.04em;box-shadow:0 1px 2px rgba(40,30,10,.06),0 8px 30px rgba(40,30,10,.08);cursor:pointer}
.kj-resume span{color:var(--shu);margin-right:.35rem}
.kj-resume[hidden]{display:none}

/* the dock */
.player.dock{position:fixed;left:50%;right:auto;bottom:16px;transform:translateX(-50%);width:min(1120px,calc(100vw - 24px));display:flex;align-items:center;gap:.5rem;padding:.45rem .8rem .45rem .45rem;border:1px solid var(--line);border-radius:999px;background:color-mix(in srgb,var(--surface) 96%,transparent);backdrop-filter:blur(12px);box-shadow:0 1px 2px rgba(40,30,10,.06),0 10px 34px rgba(40,30,10,.10);font-family:var(--ui);z-index:60}
.player.dock[hidden]{display:none}
.dock svg{width:20px;height:20px;fill:currentColor;display:block}
.dk-play{flex:0 0 auto;width:44px;height:44px;border-radius:50%;border:0;background:var(--ink);color:var(--paper);display:grid;place-items:center;cursor:pointer}
.dk-play svg{width:22px;height:22px}
.dk-play .i-pause{display:none}.dk-play.is-playing .i-pause{display:inline}.dk-play.is-playing .i-play{display:none}
.dock .playing{flex:1 1 160px;min-width:0;max-width:300px;line-height:1.25;padding-left:.2rem}
.dock .playing a{display:block;font:400 1.05rem/1.25 var(--display);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;text-decoration:none;color:var(--ink)}
.dock .playing small{display:block;font-size:11px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.dock .dk-section:not(:empty):before{content:' · '}
.dk-nav{display:flex;align-items:center;gap:0}
.dk-ib{width:36px;height:36px;border:0;border-radius:50%;background:transparent;color:var(--ink);display:grid;place-items:center;cursor:pointer;padding:0}
.dk-ib:hover{background:var(--soft)}
.dk-ib:disabled{opacity:.3;cursor:default;background:none}
.dk-time{flex:1 1 200px;display:flex;align-items:center;gap:.55rem;font-size:11.5px;color:var(--muted);font-variant-numeric:tabular-nums;min-width:140px}
.dk-time input[type=range]{flex:1;-webkit-appearance:none;appearance:none;height:18px;background:transparent;cursor:pointer;--pct:0%}
.dk-time input[type=range]::-webkit-slider-runnable-track{height:2px;background:linear-gradient(to right,var(--shu) var(--pct),var(--line-strong) var(--pct))}
.dk-time input[type=range]::-moz-range-track{height:2px;background:var(--line-strong)}
.dk-time input[type=range]::-moz-range-progress{height:2px;background:var(--shu)}
.dk-time input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;width:11px;height:11px;border-radius:50%;background:var(--ink);margin-top:-4.5px}
.dk-time input[type=range]::-moz-range-thumb{width:11px;height:11px;border:0;border-radius:50%;background:var(--ink)}
.dock .speed{display:block}
.dock .speed select{appearance:none;-webkit-appearance:none;border:0;background:transparent;color:var(--muted);font:500 12px var(--ui);padding:.3rem;cursor:pointer;min-height:0}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
.dk-follow{display:flex;align-items:center;gap:.35rem;border:1px solid var(--line);border-radius:999px;background:transparent;color:var(--muted);padding:.35rem .7rem .35rem .5rem;font:500 11.5px var(--ui);letter-spacing:.04em;cursor:pointer}
.dk-follow svg{width:17px;height:17px}
.dk-follow[aria-pressed=true]{color:var(--ink);border-color:var(--ink)}
.dk-follow[aria-pressed=true] svg{color:var(--shu)}
.dk-follow.paused{border-style:dashed}
.dk-close{width:30px;height:30px;color:var(--muted)}
.dock audio{display:none}
body.has-player{padding-bottom:110px}
@media(max-width:900px){
 .player.dock{flex-wrap:wrap;border-radius:18px;row-gap:.2rem;padding:.5rem .6rem;bottom:8px}
 .dock .playing{flex:1 1 calc(100% - 100px);max-width:none;order:1}
 .dk-close{order:2}.dk-play{order:0}
 .dk-time{order:3;flex:1 1 100%}
 .dk-nav{order:4}
 .dock .speed{order:5;margin-left:auto}
 .dk-follow{order:6}
 body.has-player{padding-bottom:170px}
 .kj-resume{bottom:160px}
}
@media print{.player.dock,.kj-resume{display:none!important}}

/* ── Talk series as works ─────────────────────────────── */
.spine.series:after{width:7px;height:2.8rem;border:1px solid var(--faint);border-radius:4px;background:none}
.crumbs{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem;font-size:12px;letter-spacing:.06em;color:var(--muted)}
.crumbs a{text-decoration:none;color:var(--muted)}.crumbs a:hover{color:var(--ink)}
.crumbs span[aria-hidden]{color:var(--faint)}
.reader-top .crumbs{justify-content:center;flex:1;min-width:0}
.series-page{max-width:1040px;margin:3.5rem auto 8rem;padding:0 var(--gutter)}
.series-head{border-bottom:1px solid var(--line);padding:2rem 0 2.4rem;margin-bottom:2.4rem}
.series-head h1{font:300 clamp(2.4rem,4.6vw,4rem)/1.05 var(--display);margin:.8rem 0 .5rem;font-variant-numeric:lining-nums;text-wrap:balance}
.series-qualifier{font:italic 400 1.2rem/1.4 var(--display);color:var(--muted);margin:0 0 1.6rem}
.series-stats{display:flex;gap:2.2rem;font:500 10.5px/1 var(--ui);letter-spacing:.2em;text-transform:uppercase;color:var(--faint);margin:1.4rem 0 1.8rem}
.series-stats span{display:flex;flex-direction:column-reverse;gap:.55rem}
.series-stats strong{font:300 1.7rem/1 var(--display);color:var(--ink);letter-spacing:0;text-transform:none;font-variant-numeric:lining-nums}
.series-actions{display:flex;flex-wrap:wrap;gap:.8rem;align-items:center}
.series-actions a.primary,.series-actions a.quiet{text-decoration:none;display:inline-block}
.series-actions .new-series-link{margin:0 0 0 .6rem;font-size:13px}
.series-body{display:grid;grid-template-columns:44px minmax(0,1fr);gap:2rem}
.series-jump{position:sticky;top:6rem;align-self:start;display:flex;flex-direction:column;gap:.1rem;max-height:calc(100vh - 8rem);overflow:auto;scrollbar-width:none}
.series-jump a{font:400 12.5px/1.5 var(--display);color:var(--faint);text-decoration:none;text-align:center;font-variant-numeric:lining-nums}
.series-jump a:hover{color:var(--shu)}
.session-list{list-style:none;margin:0;padding:0}
.session-row{display:grid;grid-template-columns:3.2rem minmax(0,1fr);gap:1rem;padding:1.6rem 0;border-bottom:1px solid var(--line);scroll-margin-top:6rem}
.s-num{font:300 1.9rem/1 var(--display);color:var(--faint);font-variant-numeric:lining-nums;padding-top:.15rem}
.s-main h2{font:400 1.45rem/1.3 var(--display);margin:0 0 .45rem;font-variant-numeric:lining-nums}
.s-main h2 a{text-decoration:none}.s-main h2 a:hover{color:var(--shu)}
.s-label{display:block;font:500 10.5px/1.6 var(--ui);letter-spacing:.24em;text-transform:uppercase;color:var(--muted);margin-bottom:.15rem}
.s-outline{margin-top:.7rem}
.s-outline summary{cursor:pointer;font-size:12px;letter-spacing:.06em;color:var(--muted)}
.s-outline ol{list-style:none;padding:.5rem 0 0 0;margin:0;columns:2 18rem;column-gap:2.5rem}
.s-outline li{break-inside:avoid;padding:.18rem 0;font:400 .98rem/1.45 var(--serif)}
.s-outline li.lvl3,.s-outline li.lvl4{padding-left:1rem;font-size:.92rem}
.s-outline a{text-decoration:none;color:var(--ink)}.s-outline a:hover{color:var(--shu)}
.reading-header h1.series-title{font:300 clamp(2rem,3.6vw,3.1rem)/1.08 var(--display);margin-bottom:.6rem}
.reading-header h1.series-title a{text-decoration:none}.reading-header h1.series-title a:hover{color:var(--shu)}
.reading-header .session-title{font:400 clamp(1.35rem,2.2vw,1.75rem)/1.25 var(--display);margin:0 0 .8rem;font-variant-numeric:lining-nums;text-wrap:balance}
.session-pager{display:grid;grid-template-columns:1fr auto 1fr;gap:1rem;align-items:center;margin:1.6rem 0 .2rem;font-size:12.5px}
.session-pager.bottom{margin:4rem 0 1rem;padding-top:1.6rem;border-top:1px solid var(--line)}
.session-pager a{text-decoration:none;color:var(--muted);min-width:0}
.session-pager a span{display:block;color:var(--ink);letter-spacing:.04em}
.session-pager a small{display:block;font:italic 400 .98rem/1.35 var(--display);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.session-pager a:hover span{color:var(--shu)}
.session-pager .next{text-align:right}.session-pager .all{font-size:11px;letter-spacing:.14em;text-transform:uppercase;text-align:center}
.series-toc{margin:0 0 2rem;border-bottom:1px solid var(--line);padding-bottom:1rem}
.series-toc summary{cursor:pointer;display:flex;justify-content:space-between;align-items:baseline;gap:.5rem;font-size:12px;color:var(--muted);list-style:none}
.series-toc summary::-webkit-details-marker{display:none}
.series-toc summary .eyebrow{margin:0;color:var(--faint)}
.series-toc ol{list-style:none;margin:.8rem 0 0;padding:0;max-height:340px;overflow:auto;scrollbar-width:thin}
.series-toc li a{display:grid;grid-template-columns:1.8rem 1fr;gap:.3rem;padding:.3rem 0;border:0;font:400 12.5px/1.4 var(--ui);color:var(--muted)}
.series-toc li .n{font:400 13px/1.4 var(--display);color:var(--faint);font-variant-numeric:lining-nums}
.series-toc li.current a{color:var(--ink)}.series-toc li.current .n{color:var(--shu)}
.prose h1,.prose h2,.prose h3,.prose h4{cursor:pointer}
.prose h1:hover,.prose h2:hover,.prose h3:hover,.prose h4:hover{color:var(--shu)}
.kbd-help{border-top:1px solid var(--line);margin-top:1.4rem;padding-top:1rem;font-size:12px;color:var(--muted)}
.kbd-help summary{cursor:pointer}
kbd{font:500 10.5px var(--ui);border:1px solid var(--line-strong);border-radius:3px;padding:0 .3em;color:var(--ink)}
@media(max-width:760px){.series-body{display:block}.series-jump{display:none}.session-row{grid-template-columns:2.2rem minmax(0,1fr)}.s-outline ol{columns:1}.session-pager small{display:none}.reader-top .crumbs{justify-content:flex-start}}

/* ── Themes: the thematic index ───────────────────────── */
.themes-page{max-width:1080px;margin:3.5rem auto 8rem;padding:0 var(--gutter)}
.themes-head{padding:2rem 0 2.2rem;border-bottom:1px solid var(--line);margin-bottom:2.4rem}
.themes-head h1{font:300 clamp(2.4rem,4.6vw,4rem)/1.05 var(--display);margin:.8rem 0 1rem;text-wrap:balance}
.theme-search{display:flex;gap:.7rem;margin-top:1.8rem}
.theme-search input,.topic-tools input{flex:1;border:0;border-bottom:1px solid var(--line-strong);background:transparent;padding:.8rem 0;font:400 1.15rem var(--serif);color:var(--ink)}
.theme-search input:focus,.topic-tools input:focus{outline:none;border-bottom-color:var(--ink)}
.theme-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:2.6rem 3rem}
.theme-card{border-top:1px solid var(--line-strong);padding-top:1.2rem}
.theme-card h2{font:400 1.55rem/1.2 var(--display);margin:0 0 .5rem}
.theme-card h2 a,.sub-head h2 a{text-decoration:none}.theme-card h2 a:hover,.sub-head h2 a:hover{color:var(--shu)}
.theme-card>p{font:400 1rem/1.6 var(--serif);color:var(--muted);margin:0 0 .9rem}
.theme-card ul{list-style:none;margin:0;padding:0}
.theme-card li{display:flex;justify-content:space-between;gap:1rem;padding:.28rem 0;border-bottom:1px dotted var(--line);font-size:13px}
.theme-card li a{text-decoration:none;color:var(--ink)}.theme-card li a:hover{color:var(--shu)}
.theme-card li span{color:var(--faint);font-variant-numeric:tabular-nums}
.method-note{margin-top:3rem;font-size:12px;max-width:44rem}
.sub-stats{display:flex;gap:2rem;font:500 10.5px/1 var(--ui);letter-spacing:.2em;text-transform:uppercase;color:var(--faint);margin:1.2rem 0}
.sub-stats span{display:flex;flex-direction:column-reverse;gap:.5rem}.sub-stats strong{font:300 1.6rem/1 var(--display);color:var(--ink);letter-spacing:0;font-variant-numeric:lining-nums}
.topic-tools{display:flex;flex-wrap:wrap;gap:1rem 1.6rem;align-items:center;margin-top:1.4rem}
.topic-tools input{min-width:240px}
.section-label{font:500 10.5px/1.6 var(--ui);letter-spacing:.3em;text-transform:uppercase;color:var(--shu);margin:2.4rem 0 .4rem}
.ts-count{font-size:12px;letter-spacing:.06em;color:var(--muted);margin:1rem 0}
.ts-subs{display:flex;flex-wrap:wrap;gap:.4rem .6rem;margin-bottom:1.4rem}
.chip{display:inline-block;font-size:11.5px;letter-spacing:.02em;color:var(--muted);text-decoration:none;border-bottom:1px solid var(--line);padding:.1rem 0;margin-right:.7rem}
.chip:hover{color:var(--ink);border-bottom-color:var(--ink)}.chip b{font-weight:500;color:var(--shu);margin-left:.2rem}
.passage-card{padding:1.6rem 0;border-bottom:1px solid var(--line)}
.passage-card.picked .pc-head{font:italic 400 1.3rem/1.3 var(--display);margin:0 0 .5rem;color:var(--ink)}
.pc-src{display:flex;flex-wrap:wrap;gap:.3rem .8rem;align-items:baseline;margin:0 0 .6rem;font-size:12.5px}
.pc-src .kind{font:500 10px/1 var(--ui);letter-spacing:.2em;text-transform:uppercase;color:var(--faint)}
.pc-src a{font:400 1.05rem/1.3 var(--display);text-decoration:none;color:var(--ink)}.pc-src a:hover{color:var(--shu)}
.pc-src .path,.rel-item .path{font-style:italic;color:var(--muted)}
.pc-text{margin:0;padding:0 0 0 1.1rem;border-left:1px solid var(--line-strong);font:400 1.06rem/1.7 var(--serif);color:var(--ink)}
.picked .pc-text{border-left-color:var(--shu)}
.pc-foot{display:flex;flex-wrap:wrap;gap:.5rem 1.2rem;align-items:center;margin-top:.8rem;font-size:12px}
.pc-foot .read{color:var(--ink)}
.quiet.small{padding:.3rem .6rem;font-size:11.5px}
.pc-chips{margin-top:.6rem}
.pc-related{margin:1rem 0 0 1.1rem;padding-left:1rem;border-left:1px dotted var(--line-strong)}
.rel-item{padding:.7rem 0;border-bottom:1px dotted var(--line)}
.rel-item>a{font:400 1rem var(--display);text-decoration:none}.rel-item p{margin:.3rem 0;font:400 .95rem/1.6 var(--serif);color:var(--muted)}
.sub-block{padding:1.8rem 0;border-bottom:1px solid var(--line)}
.sub-head{display:flex;justify-content:space-between;align-items:baseline;gap:1rem}
.sub-head h2{font:400 1.5rem/1.25 var(--display);margin:0}
.sub-desc{font:400 1.02rem/1.65 var(--serif);color:var(--muted);max-width:46rem}
.sub-picks{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:.8rem 1.6rem;margin:1rem 0}
.mini-pick{text-decoration:none;border-left:1px solid var(--shu);padding-left:.8rem}
.mini-pick span{display:block;font:italic 400 1.05rem/1.35 var(--display);color:var(--ink)}
.mini-pick small{display:block;font-size:11.5px;color:var(--muted);margin-top:.2rem}
.sub-block .more{font-size:12.5px}
.work-themes{border-top:1px solid var(--line);margin-top:1.4rem;padding-top:1rem;font-size:12.5px}
.work-themes summary{cursor:pointer;color:var(--ink)}
.wt-sub{margin:.35rem 0}
.wt-btn{background:none;border:0;padding:.2rem 0;color:var(--muted);font:inherit;cursor:pointer;text-align:left;display:flex;justify-content:space-between;width:100%;gap:.6rem}
.wt-btn span{color:var(--faint)}.wt-btn:hover{color:var(--ink)}
.wt-list{padding:.2rem 0 .5rem .7rem;border-left:1px solid var(--line)}
.wt-list a{display:block;border:0!important;margin:.2rem 0!important;font-size:12px;line-height:1.35}
.wt-more{color:var(--shu)!important}
@media(max-width:760px){.theme-grid{grid-template-columns:1fr}.sub-head{flex-direction:column}}
.featured-edition .eyebrow{font:500 10.5px/1.6 var(--ui);letter-spacing:.3em}
.listening-invitation.continue a{color:var(--ink)}
@media(max-width:760px){.reader-top:has(.crumbs)>a:first-child{display:none}.reader-top .crumbs{flex:1 1 auto;justify-content:flex-start;font-size:11.5px}.series-toc ol{max-height:220px}}
.prose p.pullquote{margin:1.6rem 0 1.6rem 1.4rem;padding-left:1rem;border-left:2px solid var(--shu);font:italic 400 1.2rem/1.45 var(--display);color:var(--muted);text-indent:0}
.prose p.pullquote strong{font-weight:500}
