/* Shared page structure: the footer reaches the viewport edge on short pages. */
html{min-height:100%}body{margin:0;min-height:100vh;min-height:100svh;display:flex;flex-direction:column}body>.topbar{flex-shrink:0}body>main{flex:1 0 auto;padding-bottom:40px}body>.site-footer{flex-shrink:0;margin:0;border-radius:0;padding:32px max(32px,calc((100% - 1440px)/2)) 24px;width:100%;max-width:none}
/* Voice and history pages retain the common header, with a quieter white canvas. */
body.listening-page{background:var(--surface)}.listening-page .page-intro{max-width:900px;margin-bottom:24px;padding-bottom:20px}.listening-page .page-intro h1{font-size:clamp(30px,3vw,42px)}.listening-page .page-intro p{max-width:68ch}.listening-page .voice-filters{max-width:760px;margin:20px 0;align-items:center}.listening-page .voice-filters label{flex-basis:420px}.listening-page [data-voice-count]{font-size:14px;color:var(--muted);white-space:nowrap}.voice-personal-link{margin:0;font-size:14px}
/* Short labels get short, consistently spaced cards. */
.voice-directory{grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:10px 16px;margin:0 0 32px}.voice-directory li{padding:12px 14px;background:var(--bg);border-radius:6px}.voice-directory small{margin-top:2px}.voice-directory a{font-size:16px;line-height:1.4;display:block;overflow-wrap:anywhere}.voice-readings{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:16px;margin:0 0 28px;align-items:start}.voice-reading{padding:18px;border:1px solid var(--line);border-radius:8px;background:var(--bg);min-width:0}.voice-reading h2{font-size:21px;line-height:1.3;margin:0 0 12px}.voice-reading ul{padding-left:18px;margin:0}.voice-reading li{margin:8px 0;font-size:14px;line-height:1.6}.voice-reading a{overflow-wrap:anywhere}.listening-page .voice-follow{background:var(--action);color:var(--surface)}
/* Narrator filter belongs with the existing filters, in the desktop rail. */
.explorer-page .filter-controls .listening-explorer-filter{grid-column:auto;margin:0}.explorer-page .listening-explorer-filter label{display:block}.explorer-page .listening-explorer-filter select{width:100%;max-width:100%;box-sizing:border-box}.explorer-page .filter-controls .listening-nav{display:flex;flex-direction:column;gap:8px;margin:0;grid-column:1/-1;font-size:14px}.explorer-page .filter-controls .listening-nav a{line-height:1.5}.explorer-page .workspace>.listening-nav{display:none}
/* A compact personal action, with secondary explanations behind disclosure. */
.listening-work .listening-panel{padding:0 18px;background:var(--surface);margin:20px 0;border-radius:8px}.listening-work .listening-panel>summary{font-size:16px;line-height:1.5;padding:14px 0;min-height:0;list-style-position:inside}.listening-work .listening-panel[open]>summary{margin:0 0 16px;border-bottom:1px solid var(--line)}.listening-work .listening-controls{align-items:center;gap:20px 36px;margin:0 0 16px}.listening-work .listening-controls p{margin:0 0 6px;font-size:14px}.listening-work .listening-stars{gap:4px}.listening-work .listening-stars button{font-size:23px;padding:6px;min-width:44px;min-height:44px}.listening-work .listening-stars button[data-rating="0"]{font-size:14px;padding:8px 12px;margin-left:8px}.listening-work .listening-panel details{margin:0 0 10px;max-width:720px}.listening-work .listening-panel details>summary{font-size:14px;line-height:1.5;min-height:0;padding:10px 0}.listening-work .listening-status:empty{display:none}.listening-work .listening-private-hint{margin:8px 0 16px;font-size:14px;color:var(--muted)}.listening-work .listening-storage-info{font-size:14px}.listening-work .listening-storage-info p{margin:8px 0;max-width:68ch}.listening-work .voice-discovery{background:var(--surface);padding:20px;border-radius:8px}.listening-work .voice-discovery h2{font-size:23px;line-height:1.3;margin-bottom:10px}.listening-work .voice-discovery>p{margin:0 0 16px;color:var(--muted);max-width:65ch}.listening-work .voice-book-list{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:10px;margin:0}.listening-work .voice-book-list li{padding:12px}.listening-work .edition-comparison{background:var(--surface);padding:12px 18px}.listening-work .edition-comparison>summary{font-size:16px;min-height:0;padding:8px 0}.listening-work .edition-comparison>p{max-width:70ch;font-size:14px}.listening-work .comparison-result p{font-size:14px;margin:8px 0}.listening-work .comparison-result{align-items:start}.listening-work .page-intro p{max-width:78ch!important}.listening-work .discovery-listening-hint{font-size:14px;color:var(--muted)}
@media(max-width:650px){body>main{padding-bottom:28px}body>.site-footer{padding:28px 16px 20px}.voice-directory{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.voice-directory li{padding:12px 10px}.voice-directory a{font-size:14px}.voice-directory small{font-size:13px}.voice-readings{grid-template-columns:1fr}.listening-page .voice-filters{gap:8px}.listening-page .voice-filters label{flex-basis:100%}.listening-work .listening-controls{align-items:start;flex-direction:column;gap:14px}.listening-work .listening-panel{padding:0 14px}.listening-work .voice-book-list{grid-template-columns:1fr}.listening-work .voice-discovery{padding:16px}.listening-work .comparison-result{grid-template-columns:1fr}}
@media(max-width:360px){.voice-directory{grid-template-columns:1fr}.listening-work .listening-stars{gap:2px}.listening-work .listening-stars button[data-rating="0"]{margin-left:0}}
/* Separate discovery from recommendations instead of stacking headings. */
.listening-work .related-discovery-title{margin:32px 0 18px;font-size:24px;line-height:1.35}.listening-work .voice-discovery{margin-bottom:32px}.listening-work .book-list{margin-top:0}
/* One small, consistent entry to the personal listening space. */
.topbar .personal-shortcut,.topbar .personal-shortcut:visited{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:44px;min-width:44px;padding:6px 10px;box-sizing:border-box;border:1px solid #66717a;border-radius:8px;color:#fff9ee;font-size:14px;font-weight:600;text-decoration:none;white-space:nowrap;background:#2b3a46}.topbar .personal-shortcut:hover,.topbar .personal-shortcut[aria-current=page]{border-color:#e1c393;color:#e1c393}.topbar .personal-shortcut svg{flex-shrink:0}
.personal-tabs{display:flex;flex-wrap:wrap;gap:8px;border-bottom:1px solid var(--line);padding-bottom:12px;margin-bottom:24px}.personal-tabs button{font:inherit;font-size:15px;font-weight:600;border:1px solid var(--line);border-radius:8px;padding:10px 14px;background:var(--bg);color:var(--ink);min-height:44px;cursor:pointer}.personal-tabs button[aria-selected=true]{background:var(--action);color:var(--surface);border-color:var(--action)}.personal-tabs span{font-size:13px;margin-left:6px;opacity:.85}.personal-panel[hidden]{display:none!important}.personal-panel-heading{display:flex;justify-content:space-between;gap:12px;align-items:center;flex-wrap:wrap;margin:0 0 18px}.personal-panel-heading h2{font-size:24px;line-height:1.35;margin:0}.personal-panel-heading>a{font-size:14px;min-height:44px;display:inline-flex;align-items:center}.personal-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:16px;align-items:start;margin-bottom:32px}.personal-cards .personal-entry{margin:0;padding:18px;border:1px solid var(--line);border-radius:8px;background:var(--bg);min-width:0}.personal-card-head{display:flex;gap:14px;align-items:start}.personal-card-head>div{min-width:0}.personal-card-head img{object-fit:contain;flex-shrink:0;border-radius:4px}.personal-entry h3{font-family:inherit;font-size:17px;line-height:1.45;margin:0 0 6px}.personal-entry h3 a{overflow-wrap:anywhere}.personal-entry .personal-author{font-size:14px;color:var(--muted);line-height:1.5;margin:0;white-space:normal}.personal-entry .personal-rating{font-size:14px;margin:14px 0 0}.personal-comment{border-top:1px solid var(--line);margin:14px 0 0;padding-top:12px}.personal-comment summary{font-size:14px;cursor:pointer}.personal-comment p{font-size:14px;line-height:1.65;margin:12px 0 0;white-space:pre-wrap;overflow-wrap:anywhere}.personal-empty{grid-column:1/-1;padding:32px 24px;border:1px dashed var(--line);border-radius:8px;background:var(--bg);text-align:center}.personal-empty p{max-width:48ch;margin:0 auto 16px;color:var(--muted)}.personal-empty-action{display:inline-block;min-height:44px;box-sizing:border-box;padding:10px 16px;border-radius:8px;background:var(--action);color:var(--surface)!important;text-decoration:none;font-weight:600}.personal-settings{border-top:1px solid var(--line);padding:18px 0;margin-top:16px;max-width:800px}.personal-settings summary{cursor:pointer;font-size:14px;font-weight:600}.personal-settings p{max-width:68ch;font-size:14px;color:var(--muted);line-height:1.65}.personal-delete{font:inherit;font-size:14px;border:1px solid var(--line);border-radius:6px;padding:10px 14px;background:var(--surface);color:var(--ink);min-height:44px;cursor:pointer}.listening-page [data-personal-status]:empty{display:none}.listening-page .personal-panel .voice-filters{margin:0 0 20px;max-width:600px}.personal-voice-cards{grid-template-columns:repeat(auto-fill,minmax(220px,1fr))}
@media(max-width:650px){.topbar .personal-shortcut{padding:6px;min-width:40px;min-height:40px}.topbar .personal-shortcut span{display:none}.topbar .header-actions{gap:6px}.topbar .theme-toggle{font-size:0;min-width:40px;min-height:40px;padding:6px}.topbar .theme-toggle:before{content:'◐';font-size:22px;line-height:1}.personal-tabs{gap:6px}.personal-tabs button{flex:1 1 100px;padding:10px 8px;font-size:14px}.personal-tabs span{margin-left:3px}.personal-cards{grid-template-columns:1fr;gap:12px}.personal-voice-cards{grid-template-columns:repeat(2,minmax(0,1fr))}.personal-panel-heading h2{font-size:22px}.personal-cards .personal-entry{padding:14px}.personal-entry h3{font-size:16px}.personal-empty{padding:24px 16px}.listening-work .related-discovery-title{font-size:22px;margin-top:28px}}
@media(max-width:380px){.topbar{grid-template-columns:minmax(0,1fr) auto!important}.topbar .header-actions{grid-column:1/-1!important;grid-row:2!important;justify-self:end}.has-mobile-menu .topbar .mobile-menu-toggle{grid-column:2!important;grid-row:1!important}.topbar .site-nav,.has-mobile-menu .topbar #mobile-site-nav{grid-row:3!important}.personal-voice-cards{grid-template-columns:1fr}}
/* Keep the catalogue's secondary content in a shared, centred reading column. */
.explorer-page .catalogue-context{max-width:900px;width:100%;margin:28px auto 20px}.explorer-page .launch-signup{max-width:760px;width:100%;margin:28px auto 32px}.explorer-page .launch-signup .notification-form{max-width:none;width:100%;margin:0;box-sizing:border-box}.explorer-page :is(.catalogue-context,.launch-signup,.library-panel,.shared-faq){min-width:0}.explorer-page .catalogue-context>summary{overflow-wrap:anywhere}
@media(max-width:650px){.explorer-page .catalogue-context{margin:20px auto}.explorer-page .launch-signup{margin:24px auto;width:100%}.explorer-page .launch-signup .notification-form{padding:18px 16px}.explorer-page .launch-signup .notification-interests{grid-template-columns:minmax(0,1fr)}.explorer-page .notification-form input[type=email]{width:100%;min-width:0}}
/* Desktop sections share the catalogue container's edges. */
.explorer-page .intro-personal{max-width:75ch;font-size:14px;line-height:1.65;margin:12px 0 0;color:var(--muted)}.explorer-page .intro-personal a{font-weight:600}.listening-page .page-intro .personal-browser-notice{font-size:14px;line-height:1.6;color:var(--muted);margin:12px 0 0}.explorer-page .free-listening-note .listening-philosophy{font-size:16px}
@media(min-width:901px){.explorer-page :is(.catalogue-context,.free-listening-note,.library-panel,.launch-signup,.shared-faq){max-width:1440px;width:100%;box-sizing:border-box;margin-left:auto;margin-right:auto}}
