/* Compact editorial styling: reduce empty layout space while preserving reading comfort. */
:root { --mv-page:1360px; --mv-space:clamp(12px,2vw,24px); --mv-radius:14px; --mv-shadow:0 2px 8px #29213d05; }
header > div:first-child { height:56px; padding-inline:var(--mv-space); gap:12px; }
header a[href='/'] > div:first-child { width:30px; height:30px; border-radius:10px; }
header a[href='/'] > div:last-child > span:first-child { font-size:13px; letter-spacing:.14em; }
header a[href='/'] > div:last-child > span:last-child { font-size:7px; margin-top:3px; }
header button { min-height:32px; border-radius:9px; }
header nav[aria-label='Primary'] a { padding:7px 10px; font-size:12px; }
#moonverse-navigation-drawer { padding:12px max(16px,calc((100vw - 1312px)/2)); max-height:calc(100dvh - 58px); }
#moonverse-navigation-drawer > .grid { gap:6px; }
#moonverse-navigation-drawer a,#moonverse-navigation-drawer > button { min-height:36px; padding-block:8px; font-size:12px; }
#root main:not([data-reader='true']) { padding:16px var(--mv-space) 20px; }
main > div:not(.mv-home) h1 { font-size:clamp(22px,2.3vw,29px); line-height:1.25; }
main nav[aria-label='Breadcrumb'] { margin-bottom:8px; font-size:11px; }
main nav[aria-label='Breadcrumb'] a { min-height:24px; }
main :where([class~='rounded-3xl']) { border-radius:16px; }
main :where([class~='rounded-2xl']) { border-radius:12px; }
main :where([class~='p-6']) { padding:18px; }
main :where([class~='p-8']) { padding:20px; }
main :where([class~='gap-6']) { gap:16px; }
main :where([class~='gap-8']) { gap:20px; }
main :where([class~='mb-6']) { margin-bottom:16px; }
main :where([class~='mb-8']) { margin-bottom:20px; }
main[data-route='/stories'] > div,main[data-route='/library'] > div,main[data-route='/discover'] > div { max-width:none; padding-inline:0; padding-bottom:16px; }
main[data-route='/settings'] > div,main[data-route='/profile'] > div { padding-inline:0; }
main:not([data-reader='true']) :where(input:not([type='range']):not([type='checkbox']):not([type='radio']),select) { min-height:36px; font-size:13px; }
main:not([data-reader='true']) :where(button):not([role='switch']):not(.mv-icon-button) { min-height:32px; }
main[data-route='/settings'] [role='tablist'] { padding:3px; gap:4px; border-radius:10px; }
main[data-route='/settings'] [role='tab'] { padding:7px 12px; font-size:12px; }
/* Homepage: shorter masthead, a purposeful feature card, and a denser discovery feed. */
.mv-home { gap:24px; }
.mv-welcome { align-items:center; gap:16px; padding:0; }
.mv-welcome h1 { margin-top:5px; font-size:clamp(24px,2.5vw,34px); }
.mv-welcome .mv-eyebrow { font-size:9px; letter-spacing:.11em; }
.mv-welcome-note { font-size:11px; line-height:1.6; }
.mv-feature-layout { grid-template-columns:minmax(0,1fr) 220px; gap:12px; margin-top:-8px; }
.mv-feature { min-height:250px; grid-template-columns:minmax(0,1fr) 176px; }
.mv-feature-copy { padding:20px 0 16px 22px; }
.mv-feature-kicker { gap:8px; margin-bottom:10px; }
.mv-feature h2 { font-size:clamp(22px,2vw,28px); line-height:1.3; }
.mv-feature-author { margin-top:7px!important; font-size:11px; }
.mv-feature-synopsis { margin-top:8px!important; font-size:12px; line-height:1.7; -webkit-line-clamp:2; }
.mv-feature-actions { margin-top:14px; gap:14px; }
.mv-button { min-height:34px; padding:7px 12px; font-size:11px; border-radius:8px; }
.mv-feature-pagination { padding-top:10px; }
.mv-feature-pagination > div { gap:4px; }
.mv-icon-button { width:30px; height:30px; min-height:30px!important; font-size:14px; }
.mv-text-link { min-height:30px; font-size:11px; }
.mv-feature-art { padding:22px 12px; }
.mv-feature-cover { width:112px; }
.mv-art-caption { font-size:8px; margin-top:20px; letter-spacing:.1em; }
.mv-art-star { top:14px; right:20px; font-size:20px; }
.mv-orbit { width:210px; height:210px; }
.mv-orbit-two { width:270px; height:270px; }
.mv-ritual { padding:20px; border-radius:14px; }
.mv-ritual-symbol { font-size:30px; margin-bottom:12px; }
.mv-ritual .mv-eyebrow { font-size:8px; }
.mv-ritual h2 { font-size:20px; margin-top:7px; }
.mv-ritual > p:not(.mv-eyebrow) { font-size:11px; line-height:1.65; margin:10px 0 14px; }
.mv-ritual .mv-button { font-size:10px; }
.mv-ritual .mv-text-link { margin-top:4px; min-height:24px; }
.mv-genres { gap:8px; margin-top:-12px; }
.mv-genre { padding:10px 12px; gap:9px; border-radius:10px; }
.mv-genre-symbol { font-size:22px; width:22px; }
.mv-genre strong { font-size:11px; }
.mv-genre > span:nth-child(2) > span { font-size:9px; margin-top:3px; }
.mv-section-heading { margin-bottom:12px; gap:12px; align-items:center; }
.mv-section-heading h2 { margin-top:4px; font-size:20px; }
.mv-section-heading .mv-eyebrow { font-size:8px; }
.mv-section-description { font-size:11px; margin-top:4px!important; }
.mv-story-rail { gap:12px; grid-auto-columns:calc((100% - 60px)/6); padding-bottom:8px; }
.mv-story-card { border-radius:10px; }
.mv-story-card > .book-spine { aspect-ratio:3/4; }
.mv-story-card > div:last-child { padding:9px 10px; gap:7px; }
.mv-story-card > div:last-child > div:first-child > a { font-size:12px; line-height:1.4; min-height:2.8em; }
.mv-story-card > div:last-child > div:first-child > p { font-size:10px; }
.mv-story-card > div:last-child > div:last-child { padding-top:5px; font-size:10px; }
.mv-filter-tabs { margin:-2px 0 10px; gap:4px; }
.mv-filter { min-height:30px!important; padding:5px 12px; border-radius:7px; font-size:11px; }
.mv-release-grid { gap:8px; }
.mv-release { padding:12px; gap:10px; border-radius:10px; }
.mv-release h3 { font-size:12px; line-height:1.5; margin:3px 0; -webkit-line-clamp:1; }
.mv-release-meta { font-size:10px; }
.mv-collection-grid { gap:10px; }
.mv-collection { display:grid; grid-template-columns:76px minmax(0,1fr); gap:5px 12px; padding:12px; border-radius:12px; align-items:start; }
.mv-collection-art { grid-column:1; grid-row:1/5; width:76px; height:118px; margin:0; border-radius:7px; overflow:hidden; }
.mv-collection-art img { width:45px; height:68px; margin:0 -14px; flex-shrink:0; }
.mv-collection h3 { font-family:inherit; font-weight:650; font-size:13px; line-height:1.4; margin:0; }
.mv-collection > .mv-eyebrow { font-size:8px; letter-spacing:.07em; }
.mv-collection > p { font-size:11px; line-height:1.6; margin:0; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; }
.mv-collection > .mv-text-link { font-size:10px; margin:0; min-height:25px; }
.mv-themes { padding:18px; border-radius:12px; gap:20px; }
.mv-themes h2 { font-size:19px; width:200px; margin-top:6px; }
.mv-theme-links { gap:7px; }
.mv-theme-link { padding:7px 11px; font-size:10px; }
.mv-footer { margin-top:8px; }
.mv-footer-inner { padding:20px var(--mv-space) 14px; gap:16px; }
.mv-footer-brand > a { font-size:12px; }
.mv-footer-brand p { margin-top:6px; font-size:11px; line-height:1.6; white-space:normal; }
.mv-footer nav { font-size:11px; gap:10px 18px; }
.mv-footer-bottom { padding-top:12px; gap:16px; font-size:9px; }
/* Library: remove nested containers and replace cover showcases with useful, compact tiles. */
.mv-library { display:flex; flex-direction:column; gap:10px; }
.mv-library > * { margin-block:0!important; }
.mv-library > section:first-of-type { padding:10px 0; border:0; border-radius:0; background:transparent; box-shadow:none; }
.mv-library > section:first-of-type::after { display:none; }
.mv-library > section:first-of-type h1 { font-size:25px; }
.mv-library > section:first-of-type p { font-size:11px; }
.mv-library > div.grid.grid-cols-3 { width:fit-content; max-width:100%; padding:3px; border-radius:9px; gap:3px; }
.mv-library > div.grid.grid-cols-3 button { padding:6px 12px; font-size:11px; }
.mv-library > div.grid.grid-cols-3 button[class*='bg-indigo-600'] { background:var(--primary); }
.mv-library > div:has(.mv-library-collection-grid) > div > .grid.grid-cols-3 { width:fit-content; max-width:100%; }
.mv-library h2 { font-size:14px; }
.mv-library-collection-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(min(100%,310px),1fr)); gap:10px; }
.mv-library-collection { display:grid; grid-template-columns:62px minmax(0,1fr); align-items:start; gap:12px; min-width:0; padding:12px; border:1px solid var(--border); background:var(--card); border-radius:12px; box-shadow:0 2px 4px #30244603; transition:border-color .15s,box-shadow .15s; }
.mv-library-collection:hover { border-color:color-mix(in srgb,var(--primary) 55%,var(--border)); box-shadow:0 3px 12px #30244608; }
main button.mv-library-covers { position:relative; width:62px; height:88px; min-height:88px; padding:0; margin-top:2px; border:0; background:transparent; cursor:pointer; overflow:visible; }
.mv-library-covers img { position:absolute; left:calc(var(--cover-index)*6px); top:calc(var(--cover-index)*4px); width:48px; height:72px; object-fit:cover; border-radius:4px; border:1px solid var(--border); box-shadow:1px 3px 6px #0002; z-index:calc(3 - var(--cover-index)); }
.mv-library-covers > span { display:grid; place-items:center; width:54px; height:76px; color:var(--primary); font-size:28px; background:var(--muted); border-radius:7px; }
.mv-library-collection-info { min-width:0; }
.mv-library-collection-meta { display:flex; align-items:center; gap:8px; color:var(--muted-foreground); font-size:10px; line-height:1.5; margin-bottom:4px; }
main button.mv-visibility { min-height:24px; min-width:0; padding:2px 7px; font-size:9px; font-weight:600; color:var(--primary); background:color-mix(in srgb,var(--primary) 7%,transparent); border:1px solid color-mix(in srgb,var(--primary) 17%,transparent); border-radius:5px; cursor:pointer; }
.mv-shared-label { color:var(--primary); font-size:9px; }
main button.mv-library-title { display:block; min-height:0; min-width:0; width:100%; padding:0; margin:0; text-align:left; border:0; background:transparent; cursor:pointer; color:var(--foreground); }
.mv-library-title h3 { font-size:13px; line-height:1.45; font-weight:700; letter-spacing:-.02em; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; }
.mv-library-title:hover { color:var(--primary); }
.mv-library-summary { font-size:11px; line-height:1.6; color:var(--muted-foreground); display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; margin:4px 0 0; }
.mv-library-curator { font-size:10px; color:var(--muted-foreground); margin-top:4px; }
.mv-library-collection-actions { display:flex; align-items:center; gap:5px; margin-top:7px; border-top:1px solid color-mix(in srgb,var(--border) 70%,transparent); padding-top:4px; }
main button.mv-library-open { color:var(--primary); font-size:10px; font-weight:650; min-height:28px; padding:0; margin-right:auto; background:transparent; border:0; cursor:pointer; }
main button.mv-library-icon { min-width:28px; min-height:28px; width:28px; height:28px; display:grid; place-items:center; color:var(--muted-foreground); background:transparent; padding:5px; border:0; border-radius:6px; cursor:pointer; }
main button.mv-library-icon:hover { background:var(--muted); color:var(--primary); }
main button.mv-library-icon.mv-remove:hover { color:var(--destructive); }
/* Compact dialogs and secondary page surfaces. Reader prose keeps its own preferences. */
[role='dialog'][aria-modal='true'] > div { border-radius:16px; }
[role='dialog']:not([data-mv-panel]) :where([class~='p-6']) { padding:20px; }
[role='dialog']:not([data-mv-panel]) :where([class~='space-y-6']) { row-gap:16px; }
.mv-preview-notice { padding:9px 12px; margin-bottom:14px; font-size:11px; border-radius:9px; }
@media(min-width:760px) and (max-width:1023px) {
 .mv-feature-layout { grid-template-columns:minmax(0,1fr) 192px; }
 .mv-feature { grid-template-columns:minmax(0,1fr) 142px; }
 .mv-ritual { display:flex; flex-direction:column; align-items:flex-start; padding:16px; gap:0; }
 .mv-ritual-symbol { display:block; }
 .mv-ritual h2 { font-family:var(--mv-serif); font-size:18px; font-weight:400; margin-top:7px; }
 .mv-ritual > p:not(.mv-eyebrow) { display:block; margin:8px 0 12px; font-size:10px; }
 .mv-ritual .mv-button { margin-top:auto; }
 .mv-ritual .mv-text-link { margin-top:4px; align-self:center; }
 .mv-feature-cover { width:96px; }
 .mv-story-rail { grid-auto-columns:calc((100% - 48px)/5); }
 .mv-collection-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media(max-width:759px) {
 header > div:first-child { height:52px; padding-inline:12px; gap:8px; }
 header button { min-height:32px; }
 #root main:not([data-reader='true']) { padding-top:12px; }
 .mv-home { gap:20px; }
 .mv-welcome { padding:0; }
 .mv-welcome h1 { font-size:27px; line-height:1.25; margin-top:5px; }
 .mv-welcome h1 em { display:inline; }
 .mv-feature-layout { grid-template-columns:minmax(0,1fr); gap:10px; margin-top:-6px; }
 .mv-feature { grid-template-columns:minmax(0,1fr) 138px; min-height:222px; }
 .mv-feature-copy { padding:16px 0 12px 16px; }
 .mv-feature h2 { font-size:22px; }
 .mv-feature-kicker { margin-bottom:8px; }
 .mv-feature-kicker .mv-eyebrow { font-size:8px; }
 .mv-feature-author { margin-top:5px!important; font-size:10px; }
 .mv-feature-synopsis { font-size:11px; -webkit-line-clamp:2; line-height:1.65; margin-top:7px!important; }
 .mv-feature-art { padding:22px 8px; justify-content:center; }
 .mv-feature-cover { width:90px; }
 .mv-art-star { top:12px; right:20px; font-size:16px; }
 .mv-art-caption { display:none; }
 .mv-feature-pagination { padding-top:8px; }
 .mv-feature-actions { margin-top:10px; }
 .mv-feature-actions .mv-button { font-size:10px; padding:7px 10px; }
 .mv-ritual { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:3px 10px; padding:11px 14px; align-items:center; }
 .mv-ritual-symbol,.mv-ritual > p:not(.mv-eyebrow),.mv-ritual .mv-text-link { display:none; }
 .mv-ritual .mv-eyebrow { grid-column:1; grid-row:1; font-size:8px; }
 .mv-ritual h2 { grid-column:1; grid-row:2; font:600 12px/1.5 var(--font-sans); margin:0; }
 .mv-ritual .mv-button { grid-column:2; grid-row:1/3; padding:7px 9px; min-height:34px; margin:0; font-size:9px; width:auto; }
 .mv-genres { grid-template-columns:repeat(2,minmax(0,1fr)); gap:6px; margin-top:-10px; }
 .mv-genre { padding:9px 10px; min-height:42px; gap:8px; border-radius:9px; }
 .mv-genre > span:nth-child(2) > span { display:none; }
 .mv-genre strong { font-size:11px; }
 .mv-genre-symbol { width:20px; font-size:20px; }
 .mv-section-heading { margin-bottom:10px; gap:10px; }
 .mv-section-heading h2 { font-size:18px; }
 .mv-section-heading > .mv-text-link,.mv-heading-actions .mv-text-link { font-size:10px; }
 .mv-section-description { display:none; }
 .mv-story-rail { grid-auto-columns:calc((100% - 20px)/3.15); gap:10px; }
 .mv-release-grid { grid-template-columns:minmax(0,1fr); }
 .mv-release { padding:10px 12px; }
 .mv-collection-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
 .mv-collection { grid-template-columns:56px minmax(0,1fr); gap:5px 9px; padding:10px; }
 .mv-collection-art { width:56px; height:112px; }
 .mv-collection-art img { width:40px; height:60px; }
 .mv-collection h3 { font-size:12px; }
 .mv-collection > p { font-size:10px; }
 .mv-themes { padding:14px; gap:12px; }
 .mv-themes h2 { font-size:18px; width:auto; }
 .mv-footer { padding-bottom:66px; }
 .mv-footer-inner { padding-top:16px; gap:12px; }
 .mv-footer-bottom { padding-top:10px; gap:12px; }
 .mv-library > section:first-of-type { padding:5px 0; align-items:flex-start; }
 .mv-library > section:first-of-type h1 { font-size:23px; }
 .mv-library > section:first-of-type > div:last-child { padding:5px 7px; font-size:10px; gap:6px; }
 .mv-library > section:first-of-type p { max-width:38ch; font-size:10px; }
 .mv-library > div.grid.grid-cols-3 { width:100%; }
 .mv-library > div.grid.grid-cols-3 button { padding:5px 7px; font-size:10px; }
 .mv-library-collection-grid { grid-template-columns:repeat(auto-fill,minmax(min(100%,285px),1fr)); }
 nav[aria-label='Mobile'] { padding-top:2px; padding-bottom:max(5px,env(safe-area-inset-bottom)); }
 nav[aria-label='Mobile'] a { min-height:45px; }
}
@media(max-width:479px) {
 .mv-welcome h1 { font-size:25px; }
 .mv-welcome h1 em { display:block; font-size:.88em; }
 .mv-feature { grid-template-columns:minmax(0,1fr) 94px; min-height:0; }
 .mv-feature h2 { font-size:20px; }
 .mv-feature-copy { padding-left:14px; }
 .mv-feature-cover { width:66px; }
 .mv-feature-art { padding:18px 6px 18px 0; }
 .mv-orbit { width:145px; height:145px; top:auto; }
 .mv-orbit-two { width:190px; height:190px; top:auto; }
 .mv-feature-kicker .mv-pill { display:none; }
 .mv-feature-pagination .mv-icon-button { width:28px; height:28px; min-height:28px!important; }
 .mv-story-rail { grid-auto-columns:calc((100% - 10px)/2.35); }
 .mv-collection-grid { grid-template-columns:minmax(0,1fr); }
 .mv-collection { grid-template-columns:64px minmax(0,1fr); }
 .mv-collection-art { width:64px; height:108px; }
 .mv-library > section:first-of-type { flex-wrap:wrap; gap:6px; }
 .mv-library > section:first-of-type > div:last-child { border:0; padding:0; background:none; }
 .mv-library .mv-library-collection-grid { grid-template-columns:minmax(0,1fr); }
 .mv-library-collection { gap:10px; padding:11px; }
 .mv-library > div.grid.grid-cols-3 button { gap:4px; }
}
@media(pointer:coarse) {
 header button { min-height:36px; }
 .mv-button { min-height:38px; }
 .mv-library-collection-actions { padding-block:2px; }
 main button.mv-library-icon { width:34px; height:34px; min-height:34px; }
 main button.mv-library-open { min-height:34px; }
 main button.mv-visibility { min-height:28px; padding-inline:9px; }
 main button.mv-library-title { min-height:28px; }
 nav[aria-label='Mobile'] a { min-height:48px; }
}
/* These text actions intentionally use their own compact sizes instead of toolbar minima. */
main[data-route='/library'] .mv-library-collection button.mv-library-title { min-height:24px; }
main[data-route='/library'] .mv-library-collection button.mv-visibility { min-height:24px; }
main[data-route='/library'] .mv-library-collection button.mv-library-open,main[data-route='/library'] .mv-library-collection button.mv-library-icon { min-height:28px; }
.mv-library > div:has(> .mv-library-collection-grid) { padding-top:8px; }
.mv-library > div > div:has(> .mv-library-collection-grid) { margin-top:12px; padding-top:10px; }
@media(pointer:coarse) { main[data-route='/library'] .mv-library-collection button.mv-visibility { min-height:28px; } main[data-route='/library'] .mv-library-collection button.mv-library-open,main[data-route='/library'] .mv-library-collection button.mv-library-icon { min-height:34px; } main[data-route='/library'] .mv-library-collection button.mv-library-title { min-height:28px; } }
.mv-library { gap:8px; position:relative; }
.mv-library > section:first-of-type { padding-block:3px 5px; }
.mv-library > div:has(> div > .mv-library-collection-grid) { display:flex; flex-direction:column; gap:12px; }
.mv-library > div:has(> div > .mv-library-collection-grid) > * { margin-block:0!important; }
.mv-library > div > div:has(> .mv-library-collection-grid) { display:flex; flex-direction:column; gap:8px; }
.mv-library > div > div:has(> .mv-library-collection-grid) > * { margin-block:0!important; }
.mv-library > div > div:has(> .mv-library-collection-grid) > div:first-child { gap:8px; }
.mv-library > div > div:has(> .mv-library-collection-grid) > div:first-child p { font-size:11px; line-height:1.5; }
@media(min-width:900px) {
 .mv-library { display:grid; grid-template-columns:minmax(0,1fr) auto; align-items:center; gap:10px 16px; }
 .mv-library > nav { grid-column:1/-1; }
 .mv-library > section:first-of-type { grid-column:1; min-width:0; }
 .mv-library > section:first-of-type > div:last-child { position:absolute; right:0; top:2px; padding:0; border:0; background:none; font-size:10px; }
 .mv-library > div.grid.grid-cols-3 { grid-column:2; }
 .mv-library > div:not(.grid) { grid-column:1/-1; }
}
/* Shared cover fans become thumbnail previews rather than oversized showcases. */
.mv-book-stack[data-stack-size='sm'] { height:80px; }
.mv-book-stack[data-stack-size='sm'] [role='button'] { width:40px; }
.mv-book-stack[data-stack-size='md'] { height:120px; }
.mv-book-stack[data-stack-size='md'] [role='button'] { width:64px; }
.mv-book-stack[data-stack-size='lg'] { height:160px; }
.mv-book-stack[data-stack-size='lg'] [role='button'] { width:88px; }
.mv-book-stack [aria-label^='Previous story'],.mv-book-stack [aria-label^='Next story'] { width:26px; min-width:26px; min-height:26px!important; height:26px; }
.mv-book-stack [role='button']:focus-visible { outline-offset:2px!important; }
.mv-discovery-card { padding:12px; gap:10px; border-radius:12px; }
.mv-discovery-card > div:first-child { display:grid; grid-template-columns:100px minmax(0,1fr); align-items:start; gap:12px; }
.mv-discovery-card > div:first-child > * { margin-block:0!important; }
.mv-discovery-card .mv-book-stack { width:100px; height:130px; overflow:hidden; border:0; padding:0; }
.mv-discovery-card .mv-book-stack [role='button'] { width:50px; }
.mv-discovery-card .mv-book-stack [class*='top-2'] { display:none; }
.mv-discovery-card h3 { font-size:13px; line-height:1.45; }
.mv-discovery-card > div:last-child { padding-top:8px; }
@media(min-width:900px) { main[data-route='/discover'] > div > div.grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; } }
@media(max-width:639px) {
 .mv-discovery-card > div:first-child { grid-template-columns:80px minmax(0,1fr); gap:10px; }
 .mv-discovery-card .mv-book-stack { width:80px; height:120px; }
 .mv-discovery-card .mv-book-stack [role='button'] { width:44px; }
}
.mv-library-heading { margin:0; font-size:13px; line-height:1.45; font-weight:700; letter-spacing:-.02em; }
.mv-library-heading .mv-library-title { font:inherit; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; }
@media(min-width:760px) { .mv-ritual { position:relative; } .mv-ritual-symbol { position:absolute; right:16px; top:14px; font-size:25px; margin:0; } .mv-ritual .mv-eyebrow { padding-right:24px; } .mv-ritual h2 { font-size:18px; margin-top:10px; } .mv-ritual > p:not(.mv-eyebrow) { display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; } }
/* Reading-directory layout inspired by the reference's catalog and update structure. */
:root { --mv-page:1280px; }
header > div:first-child { height:50px; }
#root main:not([data-reader='true']) { padding-top:12px; padding-bottom:16px; }
.mv-index { display:flex; flex-direction:column; gap:16px; }
.mv-index h1,.mv-index h2,.mv-index h3,.mv-index p { margin:0; }
.mv-index-section-head { display:flex; align-items:center; justify-content:space-between; gap:12px; margin-bottom:10px; min-width:0; }
.mv-index-heading { display:flex; align-items:baseline; gap:12px; min-width:0; }
.mv-index .mv-index-heading h1 { font-size:20px; line-height:1.3; font-weight:750; letter-spacing:-.03em; }
.mv-index-heading > span { font-size:11px; color:var(--muted-foreground); }
.mv-index-section-head > h2,.mv-index-tags h2 { font-size:15px; font-weight:750; letter-spacing:-.02em; }
.mv-index-tools { display:flex; align-items:center; gap:12px; flex-shrink:0; }
.mv-index-link { display:inline-flex; align-items:center; min-height:28px; font-size:11px; color:var(--primary); font-weight:600; }
main .mv-index-daily { min-height:28px!important; padding:5px 9px; border:1px solid var(--border); background:var(--card); border-radius:6px; color:var(--primary); font-size:10px; font-weight:600; cursor:pointer; }
.mv-index-feature-grid { display:grid; grid-template-columns:repeat(7,minmax(0,1fr)); gap:12px; }
.mv-index-book { min-width:0; display:block; }
.mv-index-cover { height:clamp(140px,14vw,176px); border-radius:7px; position:relative; overflow:hidden; background:var(--muted); border:1px solid var(--border); }
.mv-index-cover img { height:100%; width:100%; object-fit:cover; transition:transform .2s; }
.mv-index-book:hover img { transform:scale(1.03); }
.mv-index-chapters { position:absolute; bottom:5px; right:5px; color:white; font-size:9px; line-height:1.5; background:#161225d9; padding:2px 5px; border-radius:4px; }
.mv-index-adult { position:absolute; top:5px; left:5px; color:white; font-size:9px; background:#a62646; padding:2px 4px; border-radius:4px; }
.mv-index-book h2 { font-size:12px; line-height:1.45; font-weight:650; margin-top:7px; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; min-height:2.9em; }
.mv-index-book:hover h2 { color:var(--primary); }
.mv-index-book-meta { display:flex; justify-content:space-between; gap:6px; color:var(--muted-foreground); font-size:10px; margin-top:4px; }
.mv-index-genres { display:flex; flex-wrap:wrap; gap:6px; padding:9px 0; border-block:1px solid var(--border); }
.mv-index-genre { display:inline-flex; align-items:center; justify-content:center; min-height:27px; padding:4px 9px; border-radius:5px; border:1px solid var(--border); background:var(--card); color:var(--muted-foreground); font-size:10px; font-weight:500; }
.mv-index-genre:hover { color:var(--primary); border-color:var(--primary); }
.mv-index-columns { display:grid; grid-template-columns:minmax(0,1fr) 280px; gap:20px; align-items:start; }
.mv-index-filters { display:flex; gap:3px; }
main .mv-index-filters button { min-height:27px!important; padding:4px 9px; color:var(--muted-foreground); background:transparent; border-radius:5px; font-size:10px; cursor:pointer; }
.mv-index-filters button.is-active { background:var(--primary); color:var(--primary-foreground); }
.mv-index-update-list { border-top:1px solid var(--border); }
.mv-index-update { display:flex; align-items:center; gap:10px; padding:8px 3px; border-bottom:1px solid var(--border); min-width:0; }
.mv-index-update:hover { background:color-mix(in srgb,var(--primary) 4%,transparent); }
.mv-index-update > img { width:27px; height:36px; object-fit:cover; border-radius:3px; flex-shrink:0; }
.mv-index-update-copy { display:flex; flex-direction:column; min-width:0; flex:1; gap:2px; }
.mv-index-update-copy strong { font-size:12px; line-height:1.45; font-weight:650; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.mv-index-update-copy > span { font-size:11px; line-height:1.45; color:var(--muted-foreground); overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.mv-index-update-data { display:flex; align-items:center; gap:14px; font-size:10px; color:var(--muted-foreground); white-space:nowrap; }
.mv-index-update-data > span:first-child { width:80px; text-align:right; }
.mv-index-update-data > span:last-child { width:58px; text-align:right; }
.mv-index-price { color:var(--primary); }
.mv-index-free { color:var(--muted-foreground); }
.mv-index-popular { padding:0 0 0 16px; border-left:1px solid var(--border); }
.mv-index-popular ol { list-style:none; padding:0; margin:0; }
.mv-index-popular li > a { display:flex; gap:8px; align-items:center; padding:8px 0; border-bottom:1px solid var(--border); }
.mv-index-rank { color:var(--primary); font-size:11px; font-weight:750; width:18px; flex-shrink:0; }
.mv-index-popular li img { width:26px; height:36px; object-fit:cover; border-radius:3px; flex-shrink:0; }
.mv-index-popular-copy { min-width:0; }
.mv-index-popular-copy > strong { font-size:11px; font-weight:650; line-height:1.45; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; }
.mv-index-popular-copy > span { display:block; color:var(--muted-foreground); font-size:9px; margin-top:3px; }
.mv-index-collection-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:10px; }
.mv-index-collection { display:flex; gap:12px; padding:12px; border:1px solid var(--border); background:var(--card); border-radius:8px; min-width:0; }
.mv-index-mini-covers { width:47px; height:64px; position:relative; flex-shrink:0; }
.mv-index-mini-covers img { width:36px; height:48px; object-fit:cover; position:absolute; top:calc(var(--index)*4px); left:calc(var(--index)*5px); z-index:calc(3 - var(--index)); border-radius:3px; box-shadow:1px 2px 4px #0003; }
.mv-index-collection > div:last-child { min-width:0; }
.mv-index-collection h3 { font-size:12px; font-weight:650; line-height:1.5; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; }
.mv-index-collection p { font-size:10px; line-height:1.6; color:var(--muted-foreground); margin-top:4px; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; }
.mv-index-collection > div:last-child > span { display:block; font-size:9px; color:var(--primary); margin-top:5px; }
.mv-index-tags { display:flex; align-items:center; gap:16px; padding-top:10px; border-top:1px solid var(--border); }
.mv-index-tags > div { display:flex; flex-wrap:wrap; gap:6px; }
.mv-index-empty { padding:16px 0; font-size:12px; color:var(--muted-foreground); }
/* Series information becomes an information header instead of a large display card. */
main .mv-story-page { max-width:none; padding:0 0 16px; display:flex; flex-direction:column; gap:12px; }
.mv-story-page > * { margin-block:0!important; }
.mv-story-overview { border-radius:10px; box-shadow:none; }
.mv-story-overview > .absolute { opacity:.3; }
.mv-story-masthead { padding:14px; gap:16px; flex-direction:row; }
.mv-story-masthead .mv-story-cover { width:108px; margin:0; border-radius:6px; box-shadow:0 2px 7px #0002; }
.mv-story-info { display:flex; flex-direction:column; gap:7px; }
.mv-story-info > * { margin-block:0!important; }
.mv-story-page .mv-story-overview h1 { font-size:24px; line-height:1.3; letter-spacing:-.035em; }
.mv-story-info > div > p { font-size:11px; }
.mv-story-stats { display:flex; flex-wrap:wrap; gap:6px 16px; padding:7px 0; border-width:1px 0; }
.mv-story-stats > div { display:flex; align-items:baseline; gap:5px; padding:0; border:0!important; border-radius:0; background:transparent!important; box-shadow:none; overflow:visible; }
.mv-story-stats > div > * { margin-block:0!important; }
.mv-story-stats > div > span { font-size:9px!important; font-weight:500; letter-spacing:0; text-transform:none; }
.mv-story-stats svg { display:none; }
.mv-story-stats strong,.mv-story-stats > div > div { font-size:11px; }
.mv-story-info > div:has(> svg) { padding:5px 8px; border-radius:5px; font-size:10px; }
.mv-story-actions { padding-top:1px; gap:5px; }
.mv-story-actions > :where(a,button),.mv-story-actions > div > button { padding:6px 10px; min-height:30px!important; border-radius:6px; font-size:11px; }
.mv-story-actions > a { flex:0 1 auto; }
.mv-story-relations { padding-top:5px; }
.mv-story-relations > summary { cursor:pointer; font-size:10px; color:var(--muted-foreground); min-height:24px; list-style:disclosure-closed inside; }
.mv-story-relations[open] > summary { list-style-type:disclosure-open; margin-bottom:6px; }
.mv-story-relations > summary > svg { display:none; }
.mv-story-page > .grid { gap:12px; }
.mv-story-page .mv-story-synopsis,.mv-story-page .mv-story-chapters { padding:12px; border-radius:9px; }
.mv-story-synopsis > div:first-child { padding-bottom:6px; }
.mv-story-synopsis > div:first-child > span { display:none; }
.mv-story-synopsis > div:first-child > div > div { display:none; }
.mv-story-synopsis > div:first-child h3 { font-size:12px; text-transform:none; }
.mv-story-synopsis > * + * { margin-top:8px!important; }
.mv-story-synopsis .whitespace-pre-line { font-size:12px; line-height:1.65; }
.mv-story-extra { padding-top:7px; border-top:1px solid var(--border); }
.mv-story-extra > summary { cursor:pointer; font-size:11px; color:var(--primary); font-weight:600; min-height:25px; }
.mv-story-extra > div { margin-top:10px; }
.mv-story-chapters > * + * { margin-top:8px!important; }
.mv-story-chapters [id^='chapter-'] > a > div,.mv-story-chapters [id^='chapter-'] > button > div { min-height:30px; padding-block:5px; border-radius:4px; }
.mv-story-chapters .space-y-1\.5 > * + * { margin-top:3px; }
.mv-story-page details > summary:focus-visible { outline:2px solid var(--primary); outline-offset:3px; border-radius:4px; }
@media(min-width:1024px) { .mv-story-page > .grid { grid-template-columns:minmax(0,1fr) 280px; } .mv-story-page > .grid > div { grid-column:auto; } }
@media(max-width:959px) {
 .mv-index-feature-grid { grid-auto-flow:column; grid-template-columns:none; grid-auto-columns:calc((100% - 48px)/5.2); overflow-x:auto; gap:10px; padding-bottom:6px; scrollbar-width:thin; scroll-snap-type:x mandatory; }
 .mv-index-book { scroll-snap-align:start; }
 .mv-index-cover { height:160px; }
 .mv-index-columns { grid-template-columns:minmax(0,1fr) 240px; gap:14px; }
 .mv-index-update-data { flex-direction:column; gap:3px; align-items:flex-end; }
 .mv-index-update-data > span { width:auto!important; }
 .mv-index-heading > span { display:none; }
 .mv-index-collection-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media(max-width:699px) {
 .mv-index { gap:12px; }
 .mv-index-section-head { gap:8px; margin-bottom:8px; }
 .mv-index .mv-index-heading h1 { font-size:18px; }
 .mv-index-tools { gap:6px; }
 .mv-index-tools > .mv-index-link { display:none; }
 .mv-index-feature-grid { grid-auto-columns:calc((100% - 24px)/3.2); gap:8px; }
 .mv-index-cover { height:138px; }
 .mv-index-book h2 { font-size:11px; }
 .mv-index-book-meta { font-size:9px; }
 .mv-index-columns { grid-template-columns:minmax(0,1fr); gap:16px; }
 .mv-index-popular { border-left:0; padding-left:0; }
 .mv-index-popular ol { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:0 14px; }
 .mv-index-update { padding-block:7px; gap:8px; }
 .mv-index-update-copy strong { font-size:11px; }
 .mv-index-update-copy > span { font-size:10px; }
 .mv-index-update-data { font-size:9px; }
 .mv-index-collection-grid { grid-template-columns:minmax(0,1fr); }
 .mv-index-tags { flex-direction:column; align-items:flex-start; gap:8px; }
 .mv-index-section-head > h2,.mv-index-tags h2 { font-size:14px; }
 .mv-story-masthead { padding:11px; gap:11px; }
 .mv-story-masthead .mv-story-cover { width:76px; }
 .mv-story-page .mv-story-overview h1 { font-size:20px; }
 .mv-story-stats { gap:4px 10px; }
 .mv-story-stats > div > span { font-size:9px!important; }
 .mv-story-stats strong { font-size:10px; }
 .mv-story-info > div:has(> svg) { font-size:9px; }
 .mv-story-actions { margin-left:-87px!important; padding-top:6px; }
 .mv-story-actions > :where(a,button),.mv-story-actions > div > button { font-size:10px; padding-inline:8px; }
 .mv-story-relations { margin-left:-87px!important; }
 .mv-story-extra > summary { font-size:10px; }
 .mv-library > section:first-of-type p { display:none; }
 .mv-library > section:first-of-type { padding-block:0; }
 .mv-library > section:first-of-type > div:last-child { font-size:9px; }
}
@media(max-width:379px) { .mv-index-feature-grid { grid-auto-columns:calc((100% - 20px)/2.65); } .mv-index-cover { height:128px; } .mv-story-page .mv-story-overview h1 { font-size:18px; } .mv-story-masthead .mv-story-cover { width:62px; } .mv-story-actions,.mv-story-relations { margin-left:-73px!important; } }
@media(pointer:coarse) { main .mv-index-daily,main .mv-index-filters button { min-height:34px!important; } .mv-index-genre { min-height:32px; } .mv-story-actions > :where(a,button),.mv-story-actions > div > button { min-height:36px!important; } .mv-story-extra > summary,.mv-story-relations > summary { min-height:32px; } }
.mv-story-synopsis .line-clamp-3 { display:-webkit-box; -webkit-line-clamp:3; -webkit-box-orient:vertical; overflow:hidden; }
@media(min-width:1024px) { .mv-story-page > .grid > aside { grid-column:auto; min-width:0; } }
.mv-story-synopsis .line-clamp-2 { display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; }
main .mv-story-synopsis button.mv-story-synopsis-more { min-height:24px!important; padding-top:0; font-size:10px; }
.mv-story-synopsis > * + * { margin-top:6px!important; }
.mv-story-chapters > div[class~='bg-primary/10'] { display:none; }
@media(min-width:760px) {
 .mv-story-chapters select[aria-label='Filter by volume'] { max-width:170px; }
}
@media(pointer:coarse) { main .mv-story-synopsis button.mv-story-synopsis-more { min-height:30px!important; } }

/* Two clean synopsis lines remain readable beside the expansion control. */
.mv-story-synopsis .bg-gradient-to-t.pointer-events-none { display:none; }

main button.mv-library-title { min-height:24px; }

/* Keep all reading actions together on phones, with named icon controls. */
@media(max-width:479px) {
 .mv-story-actions { display:grid; grid-template-columns:minmax(0,1.25fr) minmax(0,1fr) repeat(3,30px); gap:5px; }
 .mv-story-actions > a:first-child,.mv-story-actions > div { min-width:0; }
 .mv-story-actions > a,.mv-story-actions > button { justify-content:center; padding-inline:5px; }
 .mv-story-actions > a[title*='EPUB'] span { display:none; }
 .mv-story-actions > div > button { padding-inline:5px; gap:3px; }
}
