/* Discovery and reading tools: quiet surfaces, clear hierarchy, generous targets. */
.skip-link{position:fixed;top:-70px;right:20px;z-index:100;background:var(--ink);color:var(--bg);padding:12px 18px;border-radius:8px}.skip-link:focus{top:12px}.initial-loading{min-height:60vh;display:grid;align-content:center;justify-items:center;gap:20px;color:var(--muted)}.loading-orbit{display:block;width:30px;height:30px;border:2px solid var(--line);border-top-color:var(--ink);border-radius:50%;animation:orbit 1s linear infinite}@keyframes orbit{to{rotate:360deg}}
.updates-nav{position:relative;border:0;background:transparent;overflow:visible}.updates-nav [data-new-count]{position:absolute;top:-3px;right:-4px;min-width:17px;height:17px;padding:0 4px;display:grid;place-items:center;border-radius:20px;background:var(--ink);color:var(--bg);font-size:9px;border:2px solid var(--bg);line-height:1}.header-inner{gap:35px}.header-tools{gap:11px}
.mood-section{margin-top:32px}.mood-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px}.mood-card{display:flex;align-items:center;gap:13px;border:1px solid var(--line);background:var(--surface);border-radius:13px;padding:20px 18px;text-align:right;min-width:0}.mood-card>span:nth-child(2){flex:1;min-width:0}.mood-card strong{display:block;font-size:14px;font-weight:600}.mood-card small{display:block;color:var(--muted);font-size:11px;margin-top:3px}.mood-icon{display:grid;place-items:center;border:1px solid var(--line);background:var(--soft);width:42px;height:42px;flex-shrink:0;border-radius:12px}.mood-card>svg{width:15px;color:var(--muted)}
.discover-toolbar,.discovery-toolbar{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin:5px 0 18px}.discovery-toolbar .sort-select{margin-right:auto;align-self:center;max-width:220px;background:var(--surface);border:1px solid var(--line);border-radius:8px;min-height:38px;padding:6px 11px;color:var(--ink)}.discovery-toolbar>.button{font-size:11px}.view-switch{display:flex;gap:4px;border:1px solid var(--line);padding:3px;border-radius:9px}.view-switch .icon-button{width:30px;height:30px;border:0;padding:7px;border-radius:5px;background:transparent;color:var(--muted)}.view-switch .icon-button.selected{background:var(--soft);color:var(--ink)}.count-bubble{display:inline-grid;place-items:center;min-width:21px;height:21px;border-radius:30px;background:var(--soft);color:var(--ink);font-size:10px;padding:0 5px}.chip.active .count-bubble{background:var(--bg);color:var(--ink)}
.advanced-filters{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:15px;background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:20px;margin-bottom:15px}.advanced-filters label{font-size:11px;color:var(--muted)}.advanced-filters input,.advanced-filters select{display:block;width:100%;min-width:0;height:41px;padding:7px 10px;background:var(--bg);color:var(--ink);border:1px solid var(--line);border-radius:7px;margin-top:7px;font-size:12px}.advanced-filters p{grid-column:1/-1;font-size:10px;color:var(--muted)}.catalog-result-line{display:flex;align-items:center;justify-content:space-between;color:var(--muted);font-size:11px;min-height:30px;margin-bottom:17px}.catalog-result-line .text-button{font-size:11px}
.card-copy{min-width:0}.list-description{display:none}.following-label{display:flex;align-items:center;gap:5px;font-size:10px;margin-top:9px;color:var(--muted)}.following-label svg{width:12px;height:12px}.catalog-list.book-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.catalog-list .book-card{display:flex;gap:17px;background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:14px;align-items:center;min-width:0}.catalog-list .card-cover-link{flex:0 0 85px;width:85px}.catalog-list .card-cover-link>.cover{height:127px;aspect-ratio:2/3}.catalog-list .card-favorite{left:12px;top:12px;width:28px;height:28px}.catalog-list .card-favorite svg{width:15px}.catalog-list .cover-chip,.catalog-list .card-overlay{display:none}.catalog-list .card-copy{flex:1;padding-left:20px}.catalog-list h3{font-size:16px;margin:0 0 4px}.catalog-list .book-meta{justify-content:flex-start;gap:15px;margin-top:8px}.catalog-list .list-description{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;color:var(--muted);font-size:11px;margin-top:6px}.follow-button.following{background:var(--soft);border-color:#62626d}.follow-button svg{width:17px}.chapter-read-toggle{border:0;background:transparent;width:32px;height:34px;padding:7px;color:var(--muted);margin-left:5px}.chapter-read-toggle.read{background:var(--soft);color:var(--ink)}.chapter-read-toggle svg{width:16px}.related-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px}.related-card{background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:15px;display:flex;align-items:center;gap:13px}.related-card>span{flex:1;min-width:0}.related-card strong{display:block;font-size:13px}.related-card small{display:block;color:var(--muted);font-size:10px;margin-top:4px}.related-card>svg{width:15px}.updates-toolbar{display:flex;align-items:center;justify-content:space-between;gap:15px;flex-wrap:wrap}.updates-toolbar .shelf-tabs{margin:0;display:flex}.check-filter{display:flex;align-items:center;gap:8px;font-size:12px;color:var(--muted);white-space:nowrap}.check-filter input{accent-color:#9999a7;width:16px;height:16px}.feed-hint{font-size:11px;color:var(--muted);margin:18px 0 25px}.already-read .update-cover{opacity:.65}.update-card em{display:block}
/* The page map is created on demand; closed maps load no extra images. */
.page-counter{background:var(--reader-ui);color:var(--reader-ink);border:1px solid var(--reader-border);padding:3px 10px;border-radius:7px;min-height:32px;min-width:64px;white-space:nowrap;font-variant-numeric:tabular-nums}.page-counter:after{content:' ⌃';opacity:.6}.page-explorer{position:absolute;z-index:12;bottom:65px;left:22px;right:22px;max-width:850px;margin:auto;max-height:min(68vh,680px);overflow:auto;overscroll-behavior:contain;border:1px solid var(--reader-border);background:var(--reader-ui);color:var(--reader-ink);padding:23px;border-radius:16px;box-shadow:0 15px 100px #0008}.page-explorer .drawer-heading{align-items:flex-start}.page-explorer .drawer-heading p{font-size:11px;opacity:.7}.page-explorer .icon-button{background:var(--reader-bg);color:var(--reader-ink);border-color:var(--reader-border)}.page-jump{display:flex;align-items:center;gap:10px;font-size:12px;margin:15px 0}.page-jump input{width:80px;background:var(--reader-bg);color:var(--reader-ink);border:1px solid var(--reader-border);border-radius:7px;padding:7px}.page-jump .button{background:var(--reader-bg);color:var(--reader-ink);border-color:var(--reader-border)}.page-thumbnails{display:grid;grid-template-columns:repeat(auto-fill,minmax(90px,1fr));gap:11px}.page-thumb{border:1px solid var(--reader-border);border-radius:9px;background:var(--reader-bg);color:var(--reader-ink);padding:5px;min-width:0}.page-thumb[aria-current=true]{border:2px solid var(--reader-ink);padding:4px}.page-thumb img,.page-thumb .cover{width:100%;height:120px;object-fit:cover;object-position:top;border-radius:5px}.page-thumb>span{display:block;font-size:10px;padding:5px 0}.page-thumb .cover{background-size:300% 200%}.imported-frame{position:relative;background:var(--reader-ui);padding:0!important;overflow:hidden}.imported-frame img{width:100%;height:auto}.page-load-error{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;background:var(--reader-ui);color:var(--reader-ink);text-align:center;padding:15px;font-size:12px}.page-load-error .button{background:var(--reader-bg);color:var(--reader-ink);border-color:var(--reader-border)}.reader-status{min-height:50vh;display:flex;flex-direction:column;gap:18px;align-items:center;justify-content:center;color:var(--reader-ink);font-size:13px;padding:20px;text-align:center}.reader-status .button{background:var(--reader-ui);color:var(--reader-ink);border-color:var(--reader-border)}.reader.focus .page-explorer{bottom:15px}
/* Publishing readiness and batch actions. */
.publish-readiness{padding:19px 22px;background:var(--surface);border:1px solid var(--line);border-radius:12px;margin-bottom:22px}.publish-readiness h2{font-size:16px;margin:0 0 12px}.readiness-items{display:flex;gap:10px;flex-wrap:wrap}.readiness-item{display:flex;align-items:center;gap:8px;background:var(--bg);border:1px solid var(--line);padding:7px 11px;border-radius:7px;font-size:11px;color:var(--muted)}.readiness-item.ready{color:var(--ink)}.readiness-item span{font-size:13px}.readiness-note{font-size:11px;color:var(--muted);margin-top:13px}.chapter-batch-bar{display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding:12px;background:var(--bg);border:1px solid var(--line);border-radius:9px;margin:15px 0}.chapter-batch-bar label{display:flex;align-items:center;gap:7px;font-size:11px}.chapter-batch-bar input,.chapter-select{accent-color:#b1b1c4;width:16px;height:16px}.chapter-batch-bar .button{min-height:32px;font-size:10px;padding:5px 10px}.chapter-batch-bar>span{font-size:11px;color:var(--muted);margin-left:auto}.admin-chapter-filters{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.admin-chapter-filters select{background:var(--bg);color:var(--ink);border:1px solid var(--line);padding:10px;border-radius:8px;font-size:11px}.batch-summary{padding:15px;background:var(--soft);border-radius:9px;margin:15px 0;font-size:13px}.chapter-select{flex-shrink:0;cursor:pointer}.admin-chapter-count{font-size:11px;color:var(--muted);padding-top:10px}
@media(max-width:1000px){.mood-card{padding:15px 13px;gap:10px}.mood-card strong{font-size:12px}.mood-card small{font-size:10px}.mood-icon{width:33px;height:36px}.mood-card>svg{display:none}.related-grid{grid-template-columns:1fr}.header-inner{gap:22px}.catalog-list h3{font-size:14px}}
@media(max-width:680px){.header-inner{height:72px;gap:12px}.header-tools{gap:6px;flex:0 0 auto;margin-right:auto}.header-tools .profile-avatar{width:35px;height:35px}.header-tools .icon-button{width:38px;height:38px}.home-intro{font-size:10px}.mood-grid{grid-template-columns:1fr;gap:9px}.mood-card{padding:12px 15px}.mood-card strong{font-size:13px}.mood-card>svg{display:block}.mood-icon{width:38px;height:38px}.mood-card small{font-size:10px}.mood-section{margin-top:25px}.advanced-filters{grid-template-columns:repeat(2,minmax(0,1fr));padding:15px;gap:12px}.advanced-filters select,.advanced-filters input{font-size:12px}.discovery-toolbar{gap:7px;margin-bottom:13px}.discovery-toolbar .sort-select{max-width:145px;min-height:38px;font-size:10px;flex:1;padding:5px 7px}.discovery-toolbar>.button{padding:7px 9px;font-size:10px;gap:5px}.discovery-toolbar>.button svg{width:14px}.view-switch{padding:2px;gap:0}.view-switch .icon-button{width:27px;height:28px}.catalog-list.book-grid{grid-template-columns:1fr;gap:10px}.catalog-list .book-card{gap:13px;padding:12px}.catalog-list .card-cover-link{flex-basis:72px;width:72px}.catalog-list .card-cover-link>.cover{height:108px}.catalog-list h3{font-size:14px}.catalog-list .book-english{font-size:8px}.catalog-list .list-description{font-size:10px}.catalog-result-line{margin-bottom:13px}.following-label{font-size:9px}.chapter-row .chapter-link{padding:14px 10px;gap:7px}.chapter-row .chapter-state{font-size:8px;max-width:46px}.chapter-read-toggle{width:28px;height:32px;margin-left:2px;padding:5px}.chapter-row>.chapter-share{margin-left:6px;width:27px}.chapter-row .chapter-copy small{font-size:9px}.detail-actions .button{flex:1 0 auto}.detail-actions .follow-button{flex:1 0 100%}.updates-toolbar .shelf-tabs{flex:1;overflow:visible}.updates-toolbar{gap:12px}.check-filter{font-size:10px}.feed-hint{font-size:10px}.page-explorer{bottom:65px;left:10px;right:10px;padding:17px;max-height:65vh}.page-thumbnails{grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}.page-thumb img,.page-thumb .cover{height:110px}.page-jump{font-size:11px;gap:8px}.page-jump input{width:65px}.page-counter{min-width:62px;padding:4px 6px}.publish-readiness{padding:15px}.readiness-items{gap:7px}.readiness-item{font-size:10px;padding:6px 8px}.admin-chapter-filters .chapter-search{flex:1 0 100%}.chapter-batch-bar{gap:8px;padding:10px}.chapter-batch-bar>span{margin-left:0}.chapter-batch-bar .button{flex:1}.chapter-batch-bar label{flex-basis:50%}.chapter-admin-copy{min-width:90px}}
@media(prefers-reduced-motion:reduce){.loading-orbit{animation:none}.page-explorer{animation:none}}

/* Compact navigation inspired by the supplied reference: search opens on demand. */
.header-tools .search-toggle{border:0;background:transparent}.header-tools .search-toggle:hover{background:var(--soft)}.search-toggle[aria-expanded=true]{background:var(--soft)}
.search-dialog{width:min(580px,calc(100% - 32px));max-height:calc(100dvh - 80px);margin:70px auto auto;padding:0;border:1px solid var(--line);border-radius:20px;background:var(--surface);color:var(--ink);box-shadow:0 24px 100px #0008;overflow:auto;overscroll-behavior:contain}.search-dialog::backdrop{background:#0009;backdrop-filter:blur(6px)}.search-dialog[open]{animation:dialog-in .2s ease-out}.search-panel-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:25px 26px 18px}.search-eyebrow{font-size:10px;color:var(--muted)}.search-panel-heading h2{font-size:23px;margin-top:3px}.search-panel-heading .icon-button{background:transparent;border-color:var(--line)}.search-panel-form{padding:0 26px}.search-panel-field{display:flex;align-items:center;gap:11px;min-height:53px;padding:8px 13px;background:var(--bg);border:1px solid var(--line);border-radius:11px}.search-panel-field:focus-within{border-color:#82828f;box-shadow:0 0 0 3px #9090a00f}.search-panel-field>svg{width:20px;color:var(--muted)}.search-panel-field input{width:100%;min-width:0;border:0;outline:0;background:transparent;color:var(--ink);font-size:16px;padding:0}.search-panel-field input::-webkit-search-cancel-button{display:none}.search-panel-field .icon-button{width:30px;height:30px;padding:0;background:var(--soft);border:0;font-size:20px}.search-hint{padding:12px 26px 0;color:var(--muted);font-size:11px}.search-suggestions{display:flex;gap:8px;flex-wrap:wrap;padding:18px 26px 10px}.search-suggestions .chip{font-size:11px}.search-result-status{padding:14px 26px 0;font-size:11px;color:var(--muted)}.search-result-status:empty{display:none}.search-results{padding:8px 17px 12px}.search-results:empty{display:none}.search-result{display:flex;gap:13px;align-items:center;padding:11px 10px;border-radius:10px;transition:background .18s ease}.search-result:hover,.search-result:focus-visible{background:var(--soft)}.search-result-cover{width:43px;height:60px;border-radius:6px;flex-shrink:0}.search-result>span{flex:1;min-width:0}.search-result strong{display:block;font-size:14px;overflow-wrap:anywhere}.search-result small{display:block;color:var(--muted);font-size:10px;margin-top:3px}.search-result>svg{width:16px;color:var(--muted)}.search-empty{padding:15px 10px 5px;color:var(--muted);font-size:12px}.search-panel-footer{border-top:1px solid var(--line);margin-top:10px;padding:16px 26px;display:flex;align-items:center;justify-content:space-between;gap:16px}.search-panel-footer .button{font-size:11px;padding:8px 13px;min-height:38px}.search-panel-footer>span{font-size:10px;color:var(--muted)}.search-panel-footer kbd{font-family:inherit;border:1px solid var(--line);padding:1px 5px;border-radius:4px;margin-right:5px}
@media(max-width:680px){.public-home{padding-top:16px}.public-home .home-intro{display:none}.search-dialog{width:calc(100% - 24px);margin:12px auto auto;max-height:calc(100dvh - 24px);border-radius:17px}.search-panel-heading{padding:20px 18px 15px}.search-panel-heading h2{font-size:21px}.search-panel-form{padding:0 18px}.search-panel-field{min-height:52px}.search-hint{padding:12px 18px 0;font-size:10px}.search-suggestions{padding:16px 18px 7px;gap:7px}.search-suggestions .chip{font-size:10px}.search-result-status{padding:14px 18px 0}.search-results{padding:7px 10px}.search-result{padding:10px 8px}.search-panel-footer{padding:15px 18px}.search-panel-footer>span{display:none}.search-panel-footer .button{width:100%}.mobile-nav button[aria-expanded=true]{background:var(--soft);color:var(--ink)}}
@media(max-width:360px){.header-inner{padding-left:14px;padding-right:14px;gap:8px}.header-tools{gap:3px}.header-tools .icon-button{width:35px;height:38px}.header-tools .profile-avatar{width:33px;height:33px}}
@media(prefers-reduced-motion:reduce){.search-dialog[open]{animation:none}.search-result{transition:none}}
