/* Shared appearance and identity across every page. */
.topbar .brand{color:#fff;text-decoration:none;flex-shrink:0;font-size:28px;letter-spacing:-1px;line-height:1.2}.topbar{flex-wrap:wrap;gap:14px}.theme-toggle{border:1px solid #60708a;border-radius:8px;padding:9px 12px;min-height:44px;background:#263248;color:#f4f7ff;font-size:14px;font-weight:600;white-space:nowrap}.theme-toggle:hover{background:#34445e}.theme-toggle[aria-pressed=true]{border-color:#c7f36b}.header-actions{flex-wrap:wrap;gap:12px}.locale-switch button[aria-pressed=true]{color:#141d2c}.footer-nav{flex-wrap:wrap}.topbar:focus-within{overflow:visible}
html[data-theme=dark]{--ink:#e9edf5;--muted:#b3bfd0;--line:#3a475a;--bg:#101722;color-scheme:dark;background:var(--bg);color:var(--ink)}
html[data-theme=dark] body{background:#101722;color:#e9edf5}
html[data-theme=dark] .topbar{background:#141d2c}
html[data-theme=dark] :is(.site-nav,.book,.guide-card,.mood-card,.subscription-panel,.empty,.seo-discovery,.book-list li,.detail-offers article){background:#1b2534;border-color:#3a475a;color:#e9edf5;box-shadow:none}
html[data-theme=dark] :is(.settings-platform,.access-methods,.shelf-editor,.book summary,.language){background:#243145;color:#e9edf5;border-color:#40516a}
html[data-theme=dark] :is(.book summary:hover,.book details[open] summary){background:#2b3b52}
html[data-theme=dark] :is(input,select,textarea,.search-field,.book-notes,.shelf-remove,.save){background:#182233;color:#e9edf5;border-color:#52647d}
html[data-theme=dark] input::placeholder,html[data-theme=dark] textarea::placeholder{color:#aab9cd;opacity:1}
html[data-theme=dark] :is(.eyebrow,.guide-step,.platforms,.edition-status,.mood-why,.mood-note){color:#bac8da}
html[data-theme=dark] :is(.site-nav a,.footer-nav a,.reset,.mood-refresh,.tabs button){color:#e9edf5}
html[data-theme=dark] :is(.settings-platform a,.platform-check a,.seo-discovery a,.book-list a,.seo-links a,.detail-offers a,.breadcrumbs a,.guide-card a,.page-cta){color:#a5cdff}
html[data-theme=dark] :is(.mood-panel,.library-panel,.library-offer){background:#1c3040;border-color:#405b70;color:#e9edf5}
html[data-theme=dark] :is(.library-panel a,.library-offer strong,.library-offer .loan-access,.source-note .network-label){color:#a5cdff}
html[data-theme=dark] :is(.settings-status,.access-personal.available){color:#c7f36b}
html[data-theme=dark] :is(.access-personal.caution,.edition-status.overseas){color:#ffd08b}
html[data-theme=dark] .edition-status.overseas{background:#44331f}
html[data-theme=dark] :is(.primary,.storytel-link,.shelf-primary,.mood-compare,.show-more,.mood-refresh){background:#304562;color:#f4f7ff;border-color:#607a9e}
html[data-theme=dark] :is(.primary,.storytel-link,.shelf-primary,.mood-compare,.show-more):hover{background:#415e84}
html[data-theme=dark] .save[aria-pressed=true]{background:#c7f36b;color:#141d2c;border-color:#c7f36b}
html[data-theme=dark] .companion-teaser{background:#17263a;border:1px solid #40516a;color:#fff}
html[data-theme=dark] .toast{background:#304562;color:white}
html[data-theme=dark] .skip{background:#1b2534;color:white}
html[data-theme=dark] :is(button,a,input,select,textarea,summary):focus-visible{outline-color:#9dcbff}
@media(max-width:650px){.topbar .brand{font-size:25px}.topbar .pilot{display:none}.header-actions{gap:8px}.theme-toggle{padding:8px;font-size:13px}.topbar{padding:14px 18px}.brand-icon{display:none}}
@media(max-width:400px){.topbar{justify-content:center}.header-actions{justify-content:center;width:100%}}
html[data-theme=dark] .spotlight-panel{background:#1b2534;border-color:#3a475a}
html[data-theme=dark] .collection-buttons button{background:#243145;color:#e9edf5;border-color:#52647d}
html[data-theme=dark] .collection-buttons button[aria-pressed=true]{background:#c7f36b;color:#141d2c;border-color:#c7f36b}
html[data-theme=dark] .spotlight-label{color:#bbdaa4}
html[data-theme=dark] .page-cta{background:#304562;color:#f4f7ff}
html[data-theme=dark] .tabs span:not([id$="-label"]){background:#243145;color:#e9edf5}
html[data-theme=dark] .tabs button[aria-selected=true] span:not([id$="-label"]){background:#c7f36b;color:#141d2c}
/* Contrast fixes for pale control surfaces and nested components. */
html[data-theme=dark] .select-field,html[data-theme=dark] .select-field select{background:#182233;color:#e9edf5;border-color:#52647d}
html[data-theme=dark] .select-field label{color:#b3bfd0}
html[data-theme=dark] .contact-pending{background:#243145;color:#a5cdff}
html[data-theme=dark] .cover-wrap{background:#243145;color:#e9edf5}
html[data-theme=dark] .library-offer .save{background:#182233;color:#e9edf5}
html[data-theme=dark] .library-offer .save[aria-pressed=true]{background:#c7f36b;color:#141d2c}
html[data-theme=dark] .mood-header .eyebrow{color:#bac8da}
html[data-theme=dark] .search-field input{background:transparent;color:#e9edf5}
/* A compact exploration surface, with more information on demand. */
.section-nav{display:flex;align-items:center;gap:8px;flex-wrap:wrap;position:sticky;top:0;z-index:8;margin:0 0 22px;padding:12px;background:#f3f5f8;border:1px solid #dfe4ea;border-radius:12px;box-shadow:0 4px 16px #1017220a}.section-nav>span{font-size:13px;font-weight:700;color:#52617a;margin-right:8px}.section-nav a{padding:10px 12px;min-height:44px;border-radius:8px;color:#263248;text-decoration:none;font-size:14px;font-weight:600;background:#fff}.section-nav a:hover{background:#e1e8f2}.section-nav a:focus-visible{outline:3px solid #3574d3}.section-nav~form,#subscriptions,#mood-panel,#library-panel,#catalogue,#seo-discovery{scroll-margin-top:120px}.companion-open{background:#eaf4d5;color:#1c3025;border:1px solid #a6c574;border-radius:30px;padding:10px 16px;font-size:14px;font-weight:700;min-height:44px}.site-nav{align-items:center;justify-content:flex-start}.site-nav .companion-open{margin-right:auto}.companion-dialog{padding:0;border:1px solid #4d5b70;border-radius:18px;max-width:960px;width:calc(100% - 32px);max-height:85dvh;overflow:auto;background:#141d2c;color:#fff;box-shadow:0 24px 90px #0008}.companion-dialog::backdrop{background:#0a1424b8;backdrop-filter:blur(3px)}.dialog-toolbar{display:flex;justify-content:flex-end;padding:12px 18px 0}.companion-close{padding:10px 16px;min-height:44px;border:1px solid #708198;border-radius:8px;background:#263248;color:#fff;font-size:14px;font-weight:600}.companion-dialog .companion-teaser{margin:0;border:0;background:#141d2c;color:#fff}.companion-dialog .companion-lead{grid-template-columns:1fr}.companion-dialog .companion-features{grid-template-columns:repeat(2,minmax(0,1fr))}.companion-dialog .companion-status{font-size:14px;line-height:1.65;color:#d5dfed}.mood-panel>summary{cursor:pointer;font-size:17px;font-weight:700;list-style-position:inside;min-height:44px}.mood-panel>summary small{display:block;font-size:14px;font-weight:400;margin:8px 0 0;line-height:1.6;color:#526146}.mood-body{padding-top:24px}.mood-panel:not([open]){padding:18px 22px;border-radius:12px;margin:18px 0}.future-languages{margin:28px 0;padding:22px;border:1px solid var(--line);border-radius:12px;background:#fff}.future-languages h2{margin:0 0 12px;font-size:21px}.future-languages p{line-height:1.7;color:var(--muted);margin:0}html[data-theme=dark] .section-nav{background:#101722;border-color:#3a475a}html[data-theme=dark] .section-nav>span{color:#b3bfd0}html[data-theme=dark] .section-nav a{background:#243145;color:#e9edf5}html[data-theme=dark] .section-nav a:hover{background:#34465f}html[data-theme=dark] .future-languages{background:#1b2534}html[data-theme=dark] .mood-panel>summary small{color:#bac8da}html[data-theme=dark] .companion-open{background:#c7f36b;color:#141d2c}html[data-theme=dark] .companion-dialog .companion-teaser{background:#141d2c;color:#fff}
@media(max-width:650px){.section-nav{flex-wrap:nowrap;overflow-x:auto;border-radius:8px;padding:8px;gap:6px}.section-nav>span{display:none}.section-nav a{white-space:nowrap;padding:10px}.section-nav~form,#subscriptions,#mood-panel,#library-panel,#catalogue,#seo-discovery{scroll-margin-top:90px}.site-nav{gap:14px}.site-nav .companion-open{margin-right:0;width:100%}.companion-dialog .companion-features{grid-template-columns:1fr}.companion-dialog{width:calc(100% - 20px);max-height:90dvh}}
body:has(.companion-dialog[open]){overflow:hidden}
/* Keep the dismissal available while the mobile announcement scrolls. */
.companion-dialog .dialog-toolbar{position:sticky;top:0;z-index:2;background:#141d2c;padding-bottom:10px}
@media(max-width:650px){.library-panel{min-width:0}.library-panel>div,.library-panel details{min-width:0;max-width:100%}.companion-dialog .companion-teaser{padding:18px}.guide-card,.detail-offers article,.book-info{overflow-wrap:anywhere}.settings-platform{min-width:0}.section-nav{max-width:100%}}
/* Separate library and edition actions, even with long provider names. */
.edition-actions{display:flex;flex-wrap:wrap;gap:10px;align-items:stretch;clear:both;margin:16px 0}.edition-actions>*{display:flex!important;align-items:center;justify-content:center;white-space:normal;overflow-wrap:anywhere;text-align:center;min-height:44px;margin:0!important;line-height:1.45;max-width:100%}.edition-actions .storytel-link{flex:1 1 180px}.edition-actions .save{flex:0 1 auto;min-width:120px}.library-offer>img{display:block;object-fit:contain;margin:12px 0}.book-info{min-width:0}.book h2,.edition-title,.voice,.detail-offers h3{overflow-wrap:anywhere}.mood-panel>summary{padding-right:12px}.shared-faq{margin:32px 0;padding:24px;border:1px solid var(--line);border-radius:16px;background:#fff}.shared-faq h2{font-size:24px;margin:0 0 18px}.shared-faq details{border-top:1px solid var(--line);padding:16px 0}.shared-faq summary{cursor:pointer;font-size:16px;font-weight:650;line-height:1.55;min-height:44px}.shared-faq p{font-size:16px;line-height:1.75}.shared-faq .seo-links{display:flex;flex-wrap:wrap;gap:12px;margin-bottom:22px}.notification-form{display:grid;gap:14px;margin:24px 0 0;padding:24px;border:1px solid #cad6b7;border-radius:14px;background:#f3f8e9;color:#263248;font-size:16px}.notification-form h3,.notification-form p{margin:0;line-height:1.65}.notification-form label{display:grid;gap:8px;font-weight:600;font-size:14px;line-height:1.6}.notification-form :is(input[type=email],select){width:100%;min-width:0;min-height:48px;padding:12px;border:1px solid #80926c;border-radius:8px;background:white;color:#263248;font:inherit}.notification-form .notification-consent{display:flex;align-items:flex-start;gap:10px;font-weight:400}.notification-consent input{width:20px;height:20px;flex-shrink:0;margin:2px 0}.notification-form .notification-privacy{font-size:14px;color:#526146}.notification-form .primary{justify-self:start;min-height:48px;padding:12px 20px;white-space:normal}.notification-form button:disabled{opacity:.65;cursor:wait}.notification-form .notification-trap{display:none}.notification-withdraw{color:#244d83;overflow-wrap:anywhere}.notification-withdraw[hidden]{display:none}.companion-dialog .notification-form{margin:24px 0 0;background:#243145;color:#f4f7ff;border-color:#52647d}.companion-dialog .notification-form :is(input[type=email],select){background:#182233;color:#f4f7ff;border-color:#708198}.companion-dialog .notification-privacy{color:#bac8da}.companion-dialog .notification-withdraw{color:#a5cdff}.companion-dialog .notification-form .primary{background:#c7f36b;color:#141d2c}.companion-dialog .notification-form input::placeholder{color:#bac8da}html[data-theme=dark] .notification-form{background:#243145;color:#e9edf5;border-color:#52647d}html[data-theme=dark] .notification-privacy{color:#bac8da}html[data-theme=dark] .notification-withdraw{color:#a5cdff}
@media(max-width:650px){.edition-actions>*{flex:1 1 100%!important}.notification-form,.shared-faq{padding:18px}.shared-faq h2{font-size:21px}.notification-form .primary{width:100%}.detail-offers{grid-template-columns:1fr}.detail-offers article{min-width:0}}
/* Explorer: search first, optional controls second, aligned catalogue cards. */
#filters{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;align-items:start;margin-bottom:16px}
#filters .search-field{width:100%;min-width:0;min-height:54px}
.criteria-panel{position:relative;min-width:0}
.criteria-panel>summary{cursor:pointer;list-style:none;display:flex;align-items:center;justify-content:center;min-height:54px;padding:0 22px;border:1px solid #bcc8d8;border-radius:10px;background:#fff;font-weight:700;color:#263248}
.criteria-panel>summary::after{content:'⌄';margin-left:12px}.criteria-panel[open]>summary::after{content:'⌃'}
#filters:has(.criteria-panel[open]){grid-template-columns:1fr}
.criteria-panel[open]>summary{width:max-content;margin-bottom:12px}
#filters .filter-controls{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;padding:20px;border:1px solid var(--line);border-radius:12px;background:#fff}
#filters .select-field{min-width:0;width:100%}#filters select{width:100%;min-height:44px}.criteria-panel .reset{grid-column:1/-1;justify-self:start}
.intro{margin-bottom:24px;gap:32px;align-items:start}.intro h1{font-size:clamp(30px,3vw,42px);line-height:1.15;max-width:690px}.intro-copy{max-width:670px;line-height:1.65}.source-note{max-width:310px;font-size:12px}.source-note strong{font-size:14px}
.subscription-panel{margin-bottom:10px}.subscription-panel>summary{padding:13px 18px;font-size:15px;min-height:48px}.subscription-summary{font-size:12px}
.mood-panel:not([open]){padding:13px 18px;margin:0 0 22px;background:#fff;border:1px solid var(--line)}.mood-panel>summary{font-size:15px;min-height:24px}.mood-panel>summary small{font-size:12px;margin:4px 0 0;color:var(--muted)}
.grid{align-items:stretch}.book{display:flex;flex-direction:column;min-width:0}.book-main{min-height:214px}.book-info{min-width:0}.book h2,.book h3{overflow-wrap:anywhere}.book>.spotlight-source{min-height:70px;box-sizing:border-box;margin-top:0;margin-bottom:0}.book>details{margin-top:auto}.grid:has(.book>details[open]){align-items:start}
.library-offer{display:flex;flex-direction:column;flex:1;min-width:0}.loan-summary{display:grid;grid-template-columns:minmax(0,1fr) 76px;gap:16px;align-items:start;min-height:112px}.library-offer .loan-summary img{float:none;margin:0;width:76px;height:100px;object-fit:contain}.loan-copy p{margin:8px 0 0}.library-offer .loan-access{min-height:92px;margin:12px 0}.library-actions{margin-top:auto}.library-offer .verification{min-height:100px;margin-bottom:0}.library-offer .storytel-link,.library-offer .save{white-space:normal;text-align:center;overflow-wrap:anywhere}
html[data-theme=dark] :is(.criteria-panel>summary,#filters .filter-controls,.mood-panel:not([open])){background:#1b2534;color:#e9edf5;border-color:#52647d}
@media(max-width:1100px){.book-main{min-height:214px}.source-note{display:none}}
@media(max-width:650px){#filters{gap:8px}.criteria-panel>summary{padding:0 14px}#filters .filter-controls{grid-template-columns:1fr 1fr;padding:16px;gap:14px}.intro h1{font-size:30px}.intro{margin-bottom:20px}.book-main{min-height:0}.book>.spotlight-source,.library-offer .loan-access,.library-offer .verification{min-height:0}.subscription-panel>summary{display:flex;flex-direction:column;align-items:start;gap:4px}.subscription-summary{margin-left:0}.loan-summary{min-height:0}.grid:has(.book>details[open]){align-items:stretch}}
@media(max-width:390px){#filters .filter-controls{grid-template-columns:1fr}}
/* Mood Picker retains a distinctive accent in both themes. */
#mood-panel{background:#f0f8df;border:1px solid #b7cf88;border-left:4px solid #7ca534;color:#25351d}
#mood-panel>summary{position:relative;padding-left:32px;min-height:44px}
#mood-panel .mood-icon{position:absolute;left:0;top:0;color:#648a25;font-size:22px;line-height:1.2}
#mood-panel>summary small{color:#50613f;font-size:14px}
#mood-panel>summary:focus-visible{outline:3px solid #648a25;outline-offset:6px;border-radius:4px}
html[data-theme=dark] #mood-panel{background:#253522;color:#eff8e6;border-color:#627c4d;border-left-color:#c7f36b}
html[data-theme=dark] #mood-panel .mood-icon{color:#c7f36b}
html[data-theme=dark] #mood-panel>summary small{color:#cadbbd}
/* An editorial shelf: coloured surround, white cards and a warm brand accent. */
#catalogue{background:#e8eef4;padding:22px;border:1px solid #d4dfe9;border-radius:18px;margin:12px 0 30px}
#books .book{background:#fff;border:1px solid #cdd9e4;box-shadow:0 5px 16px #192c4510;border-radius:12px}
#books .book-main{border-top:3px solid #eaa54e}
#books .book h2{font-family:Georgia,'Times New Roman',serif;font-size:21px;line-height:1.3;font-weight:700;letter-spacing:0}
#books .book h2 a{color:#182c43;text-decoration:none}#books .book h2 a:hover{text-decoration:underline;text-underline-offset:4px}
#books .book summary{background:#f0f5fa;border-top:1px solid #dce6ef;color:#253e5b}
#books .book summary:hover,#books .book details[open]>summary{background:#e2edf6}
html[data-theme=dark] #catalogue{background:#121d2b;border-color:#3a4b60}
html[data-theme=dark] #books .book{background:#1b293a;border-color:#42566e;box-shadow:none}
html[data-theme=dark] #books .book h2 a{color:#f2f5fa}
html[data-theme=dark] #books .book summary{background:#26394e;color:#e9edf5;border-color:#42566e}
html[data-theme=dark] #books .book summary:hover,html[data-theme=dark] #books .book details[open]>summary{background:#324b66}
@media(max-width:650px){#catalogue{padding:12px;border-radius:14px}#books .book h2{font-size:20px}}

/* The tagline belongs to the brand, leaving theme and language together. */
.brand-lockup{display:flex;flex-direction:column;align-items:flex-start;gap:4px;min-width:0}.topbar .brand-lockup .pilot{border:0;border-radius:0;padding:0;background:transparent;color:#cbd5e5;font-size:14px;line-height:1.3;white-space:nowrap}
@media(max-width:650px){.topbar .brand-lockup .pilot{display:none}}

.access-badge{display:inline-flex;max-width:100%;padding:5px 9px;border-radius:6px;background:#e5edf7;color:#203a5b;font-size:14px;font-weight:700;line-height:1.4}.suggest-missing-book{display:inline-block;margin-top:18px;color:#255b99;text-underline-offset:3px}html[data-theme=dark] .access-badge{background:#30435d;color:#eaf1fb}html[data-theme=dark] .suggest-missing-book{color:#bcdcff}.catalogue-proof{flex-wrap:wrap}

/* Keep empty-search actions separate and editorial links consistent. */
#empty .suggest-missing-book{display:block;width:fit-content;max-width:100%;margin:16px auto 0;line-height:1.5;padding:4px 8px} .editorial-links{display:flex;flex-wrap:wrap;gap:10px 24px;margin-top:12px}.editorial-links a{line-height:1.5}
@media(max-width:600px){.editorial-links{flex-direction:column;align-items:flex-start;gap:12px}#empty .suggest-missing-book{margin-top:14px}}

/* Provider guide: consistent spacing, compact summaries and stacked mobile content. */
.platform-page{overflow-wrap:anywhere}.platform-checked{font-size:14px;color:var(--muted);line-height:1.6}.platform-jump,.platform-sources{display:flex;flex-wrap:wrap;gap:12px 22px;margin:20px 0}.platform-jump a,.platform-sources a,.platform-page a{color:#245985;text-underline-offset:3px}.platform-models,.platform-access-note{padding:24px;margin:28px 0;background:#eaf0f6;border:1px solid var(--line);border-radius:16px}.platform-model-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px 28px}.platform-model-grid h3{margin:0 0 8px}.platform-model-grid p{margin:0;line-height:1.65}.platform-guide-list{display:grid;gap:14px}.platform-guide{background:#fff;border:1px solid var(--line);border-radius:14px;overflow:hidden;scroll-margin-top:20px}.platform-guide summary{display:grid;grid-template-columns:minmax(150px,1fr) minmax(0,2fr);gap:20px;padding:22px;cursor:pointer;list-style:none;align-items:start}.platform-guide summary::-webkit-details-marker{display:none}.platform-guide-name{font-weight:800;font-size:20px}.platform-guide-name:after{content:'+';float:right;margin-left:12px;color:#58718f}.platform-guide[open] .platform-guide-name:after{content:'−'}.platform-state{display:block;width:fit-content;font-size:14px;line-height:1.5;font-weight:600;margin-top:8px;padding:3px 8px;border-radius:6px;background:#e5efdc;color:#375523}.platform-state.pending{background:#f5eada;color:#70512a}.platform-guide-overview{display:grid;gap:8px;font-size:16px;line-height:1.5}.platform-guide-overview>span{color:var(--muted)}.platform-guide-body{padding:0 22px 22px;border-top:1px solid var(--line)}.platform-guide-body p,.platform-access-note p{line-height:1.7}.platform-guide-body li{margin:10px 0}.platform-guide summary:hover{background:#eef3f8}.platform-guide summary:focus-visible{outline:3px solid #3574d3;outline-offset:-4px}html[data-theme=dark] :is(.platform-guide,.platform-models,.platform-access-note){background:#1b293a;color:#e9edf5;border-color:#40516a}html[data-theme=dark] .platform-guide summary:hover{background:#26374c}html[data-theme=dark] .platform-page a{color:#bcdcff}html[data-theme=dark] .platform-state{background:#314530;color:#d7edc6}html[data-theme=dark] .platform-state.pending{background:#483a28;color:#ffe0ad}html[data-theme=dark] .platform-guide-name:after{color:#bcdcff}@media(max-width:650px){.platform-model-grid{grid-template-columns:1fr;gap:20px}.platform-models,.platform-access-note{padding:20px}.platform-guide summary{grid-template-columns:1fr;gap:14px;padding:20px}.platform-guide-body{padding:0 20px 20px}.platform-jump{gap:14px 20px}.platform-page .page-intro h1{font-size:clamp(28px,7vw,40px);line-height:1.2}}

.platform-request{margin:28px 0;padding:24px;border:1px solid var(--line);border-radius:14px;background:#edf3f8}.platform-request p{line-height:1.7;max-width:70ch}.platform-request>a{display:inline-flex;align-items:center;min-height:44px;overflow-wrap:anywhere}.platform-guide summary>span,.platform-model-grid>div{min-width:0}html[data-theme=dark] .platform-request{background:#1b293a;border-color:#40516a}@media(max-width:650px){.site-nav{gap:4px 12px;padding:10px 20px;align-items:center}.site-nav>a{display:inline-flex;align-items:center;min-height:44px;max-width:100%;line-height:1.4}.platform-jump a,.platform-sources a{display:inline-flex;align-items:center;min-height:44px;max-width:100%;line-height:1.5}.platform-jump,.platform-sources{gap:4px 16px}.platform-request{padding:20px}.platform-guide-body .platform-sources{flex-direction:column;align-items:flex-start}}
