/* Approved A: warm paper, olive ink, quiet rules. Existing functional IDs remain. */
.reading-assist-panel #reading-assist-content{position:relative}
.reading-assist-loading{position:absolute;inset:0;z-index:1;display:grid;place-items:center;padding:24px;background:var(--surface);color:var(--muted);font-size:16px;line-height:1.6;text-align:center;border-radius:0 0 10px 10px}
.reading-assist-loading[hidden]{display:none}
.desk-loop-entry{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:24px 28px;margin:0 0 32px;border:1px solid #cbd4bf;border-left:4px solid #3c563e;background:#e9eddf;border-radius:5px}.desk-loop-entry[hidden]{display:none}.desk-loop-entry p{font-size:11px;letter-spacing:.14em;color:#3c563e;margin:0 0 10px}.desk-loop-entry h2{font-size:23px;line-height:1.45;margin:0 0 8px}.desk-loop-entry span{font-size:14px;color:#525f50;line-height:1.6}.desk-loop-actions{display:flex;flex-direction:column;align-items:flex-start;gap:12px;flex-shrink:0}.desk-loop-actions a{min-height:44px;display:inline-flex;align-items:center}.desk-loop-actions .primary-button{padding:12px 20px;text-decoration:none;background:#3c563e;color:#fff;border-radius:4px}.desk-loop-actions .primary-button:hover{background:#2d432f}@media(max-width:700px){.desk-loop-entry{align-items:flex-start;flex-direction:column;padding:20px;gap:16px}.desk-loop-entry h2{font-size:21px}.desk-loop-actions{flex-direction:row;align-items:center;flex-wrap:wrap;gap:8px 20px}}
:root{color-scheme:light;--bg:#f5f3ed;--surface:#fffcf6;--surface-raised:#eeeee5;--ink:#242b25;--muted:#686f64;--primary:#3c563e;--primary-strong:#2d432f;--accent:#815138;--danger:#a53630;--focus:#b97540;--reader-bg:#f8f6ef;--reader-ink:#242b25;--reader-muted:#686f64;--reader-rule:#d9dcd0;--desk-line:#d9dcd0;--reader-max-width:680px}
html,body{background:var(--bg)}
button,input,textarea,select{font:inherit}
button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible,a:focus-visible{outline:2px solid var(--focus);outline-offset:3px}
.app-frame,.app-frame[data-active-view="reader"]{width:100%;max-width:none;min-height:100dvh;margin:0;background:var(--bg);box-shadow:none}
.app-header{height:88px;padding:20px 44px;margin-left:190px;border-bottom:1px solid var(--desk-line);background:var(--surface)}
.app-header .app-mark{position:fixed;top:27px;left:24px;z-index:25;color:var(--primary)}
.app-header .header-copy{flex:1}
.main-content{max-width:1400px;padding:38px 48px 60px;margin-left:190px}
.bottom-nav{top:0;left:0;bottom:0;width:190px;transform:none;padding:140px 20px 26px;display:flex;flex-direction:column;gap:8px;border-top:0;border-right:1px solid var(--desk-line);background:var(--surface);z-index:19}
.bottom-nav::before{content:"MIDGARD";position:absolute;left:70px;top:36px;color:var(--ink);font-size:12px;letter-spacing:.09em;font-weight:700}
.nav-button{flex:none;flex-direction:row;justify-content:flex-start;gap:12px;padding:12px;min-height:46px;font-size:14px;border-radius:4px}
.nav-button.is-active{color:var(--primary);background:#e5eadb;font-weight:650}
.welcome-block{padding:0;margin:0 0 30px}.welcome-block>p{font-size:10px;letter-spacing:.16em;color:var(--muted)}
.welcome-block h2{font:36px/1.4 var(--font-reading);letter-spacing:0;margin:10px 0}.welcome-block>span{font-size:13px;color:var(--muted)}
.desk-grid{display:grid;grid-template-columns:minmax(0,1fr) 245px;gap:32px}
.desk-book{display:grid;grid-template-columns:minmax(0,1fr) 180px;gap:24px;align-items:center;min-height:440px;padding:36px;background:#e5eadb;border-radius:5px}
.desk-cover{grid-column:2;grid-row:1;width:100%;height:auto;box-shadow:8px 12px 20px #35402c20;transform:rotate(2deg)}
.desk-book-copy{grid-column:1;grid-row:1;min-width:0}.desk-book-copy h3{font:clamp(28px,3.5vw,46px)/1.35 var(--font-reading);margin:24px 0 14px;white-space:nowrap}
.desk-book-copy>p:not(.desk-eyebrow){font-size:13px;line-height:1.9;color:var(--muted)}
.desk-eyebrow{font-size:11px;letter-spacing:.1em;color:var(--muted)}
.continue-panel{display:flex;flex-direction:column;gap:8px;width:100%;margin:24px 0 4px;padding:0;color:var(--ink);background:transparent;border:0;text-align:left;border-radius:0}
.continue-panel::before,.continue-panel::after{display:none}.continue-label{display:inline-block;align-self:flex-start;padding:12px 20px;margin-bottom:10px;background:var(--primary);color:#fffcf6;border-radius:3px;font-size:14px;letter-spacing:0}
#continue-book-title{font-size:11px;color:var(--muted);font-weight:400}#continue-chapter{font-size:12px;line-height:1.8;border-top:1px solid #c8d0bc;padding-top:10px;width:100%}
.text-button{color:var(--primary);min-height:40px}.secondary-button{background:transparent;color:var(--primary);border:1px solid var(--desk-line);border-radius:4px}.primary-button{color:#fffaf0;background:var(--primary);border-radius:4px}
.desk-section-line{display:flex;justify-content:space-between;gap:16px;align-items:center}.desk-section-line h3{font-size:15px;margin:0}.desk-section-line .text-button{font-size:12px;padding:6px 0}.desk-muted{font-size:12px;line-height:1.8;color:var(--muted)}
.desk-updates{padding:12px 0}.desk-revision{display:block;width:100%;padding:17px 0;border-bottom:1px solid var(--desk-line);text-align:left;background:none;font-size:13px;font-weight:600;line-height:1.7}.desk-revision small{display:block;margin-top:6px;font-size:11px;color:var(--muted);font-weight:400}.desk-updates-sub{margin-top:18px}
.desk-notes-link{display:flex;justify-content:space-between;align-items:center;width:100%;gap:12px;margin-top:18px;padding:16px 0;background:none;font-size:12px}.desk-notes-link strong{color:var(--primary);font-weight:500}
.desk-chapters{margin-top:34px}.desk-shortcuts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:24px}.desk-chapter{display:block;width:100%;padding:17px 0;border-bottom:1px solid var(--desk-line);background:none;text-align:left;font-size:13px;line-height:1.7}.desk-chapter:hover,.desk-revision:hover{color:var(--primary);background:#e5eadb66}
.desk-collections{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-top:32px}.desk-collection{display:flex;align-items:center;gap:18px;padding:24px 0;border-top:1px solid var(--desk-line);background:none;text-align:left}.desk-collection>span:nth-child(2){display:grid;gap:7px;flex:1}.desk-collection small,.desk-collection span span{color:var(--muted);font-size:11px}.desk-collection strong{font:18px/1.5 var(--font-reading)}.desk-collection-symbol{display:grid;place-items:center;flex:0 0 70px;height:84px;color:#665441;background:#e1ddd1;font:30px var(--font-reading)}.desk-music{background:#e8dcd0}.desk-collection b{font-weight:400}
.section-heading{padding:0;margin-bottom:30px}.section-heading h2{font:34px/1.4 var(--font-reading);letter-spacing:0}.section-heading p{color:var(--muted)}
#books-page{display:grid;grid-template-columns:300px minmax(0,1fr);column-gap:42px}#books-page>.section-heading,#books-page>.revision-alert{grid-column:1/-1}.book-shelf{display:block}.book-entry{display:block;padding:0 0 28px;border-bottom:1px solid var(--desk-line);margin-bottom:28px}.book-cover{width:130px;min-height:0;aspect-ratio:2/3;margin-bottom:20px}.book-meta h3{font:25px var(--font-reading)}.book-meta p{color:var(--muted);font-size:12px}.book-meta .secondary-button{margin-top:10px}.protected-book-entry{display:grid;grid-template-columns:72px 1fr;gap:18px}.protected-book-entry .book-cover{width:72px;margin:0}.protected-book-entry h3{font:20px var(--font-ui)}.protected-cover-type{font-size:8px}.protected-cover-lock{font-size:9px}.protected-book-cover{background:#e4e2d8;color:var(--ink)}
.desk-directory{min-width:0}.desk-search input,.desk-note-toolbar input,.desk-note-toolbar select,.desk-mode-label select{width:100%;padding:11px 12px;color:var(--ink);background:var(--surface);border:1px solid var(--desk-line);border-radius:4px}.desk-search{display:block;margin:20px 0 6px}.desk-directory-list{display:grid;grid-template-columns:1fr;min-width:0}.desk-directory-list .desk-chapter{padding:18px 8px}
.desk-note-toolbar{display:grid;grid-template-columns:1fr 130px auto;gap:12px;margin:24px 0}.desk-note-list{display:grid;grid-template-columns:1fr 1fr;gap:20px}.desk-note{padding:24px;background:var(--surface);border:1px solid var(--desk-line);border-radius:4px;min-width:0}.desk-note blockquote{margin:16px 0;padding-left:14px;border-left:2px solid #b7c1ab;font:16px/1.9 var(--font-reading);overflow-wrap:anywhere}.desk-note>p:not(.desk-eyebrow){font-size:13px;line-height:1.8;white-space:pre-wrap;overflow-wrap:anywhere}.desk-note .text-button{font-size:12px;margin-right:12px}#desk-note-status{font-size:13px;color:var(--muted)}.desk-note-more{grid-column:1/-1;justify-self:center;min-width:220px}
.mv-list{display:grid;grid-template-columns:1fr 1fr;gap:18px}.mv-row{padding:20px;border:1px solid var(--desk-line);background:var(--surface)}.mv-copy span{color:var(--muted)}.comic-episode{max-width:800px;margin:auto}.comic-episode-header{color:var(--ink);background:var(--surface)}.comic-version-status,.comic-episode-header>p{color:var(--muted)}.comic-page{margin:0}.comic-reader{gap:16px}
.reader-view{height:100dvh;overflow:hidden}.reader-view>.immersive-header{max-width:none;height:66px;position:relative;padding:8px 24px}.desk-reader-layout{display:grid;grid-template-columns:230px minmax(0,680px) 230px;justify-content:center;height:calc(100dvh - 122px - env(safe-area-inset-top) - env(safe-area-inset-bottom));max-width:1400px;margin:auto}.desk-reader-center{min-width:0;height:100%;overflow:hidden}.desk-reader-toc,.desk-reader-aside{padding:28px 22px;overflow-y:auto;color:var(--reader-muted)}.desk-reader-toc{border-right:1px solid var(--reader-rule)}.desk-reader-aside{border-left:1px solid var(--reader-rule)}.desk-reader-toc h2{font-size:14px;color:var(--reader-ink)}.desk-reader-toc .toc-button{display:block;padding:14px 4px;line-height:1.7;font-size:12px;background:none;border-bottom:1px solid var(--reader-rule);color:var(--reader-muted)}.desk-reader-toc .toc-button.is-current{color:var(--reader-ink);font-weight:700}.desk-reader-toc .text-button{font-size:11px}.desk-reader-aside h2{font:20px/1.7 var(--font-reading);color:var(--reader-ink)}.desk-reader-aside p{font-size:12px;line-height:2}.desk-reader-aside button{width:100%;font-size:12px}.desk-reader-aside hr{border:0;border-top:1px solid var(--reader-rule);margin:24px 0}.desk-mode-label{display:grid;gap:10px;margin:18px 0;font-size:12px}.desk-mode-label select{color:var(--reader-ink);background:var(--reader-bg);border-color:var(--reader-rule)}
.reader-scroll{height:100%}.reader-content{column-width:auto;column-count:auto;--reader-max-width:680px}.reader-footer{width:100%;max-width:1400px}.reader-view[data-reading-mode="scroll"] .reader-scroll{overflow-y:auto;overflow-x:hidden;overscroll-behavior:contain;scrollbar-gutter:stable}.reader-view[data-reading-mode="scroll"] .reader-scroll::after{display:none}.reader-view[data-reading-mode="scroll"] .reader-content{height:auto;min-height:100%;columns:auto;padding:46px 48px 80px}.reader-view[data-reading-mode="scroll"] .book-introduction,.reader-view[data-reading-mode="scroll"] .author-frontispiece{min-height:0;break-after:auto;padding:28px 0 48px;margin:0 0 38px;border-bottom:1px solid var(--reader-rule)}.reader-view[data-reading-mode="scroll"] .author-frontispiece .author-portrait{max-height:250px;object-fit:contain}.reader-view[data-reading-mode="scroll"] .reader-figure{max-height:none;break-inside:auto}.reader-view[data-reading-mode="scroll"] .reader-figure img{max-height:none}.reader-view[data-reading-mode="scroll"] .reader-content p{line-height:2;letter-spacing:.015em}.reader-view[data-reading-mode="scroll"] .reader-content p:first-of-type::first-letter{float:none;margin:0;font:inherit}.reader-view[data-reading-mode="pages"] .reader-content{column-width:calc(680px - 48px);column-count:1}
.desk-focus .desk-reader-toc,.desk-focus .desk-reader-aside{display:none}.desk-focus .desk-reader-layout{grid-template-columns:minmax(0,680px)}.desk-focus-exit{position:fixed;bottom:70px;right:24px;z-index:21;padding:10px 18px;border:1px solid var(--reader-rule);background:var(--reader-bg);color:var(--reader-ink)}
.sheet-dialog{width:min(calc(100% - 24px),680px);background:var(--surface);color:var(--ink);border:1px solid var(--desk-line);border-bottom:0;border-radius:10px 10px 0 0}.sheet-header{background:var(--surface)}.annotation-list-item,.annotation-thread-history,.version-row,.annotation-toolbar{background:var(--surface);color:var(--ink);border-color:var(--desk-line)}.annotation-list-quote,.annotation-list-note,.annotation-list-meta{color:var(--ink)}.annotation-field textarea,.annotation-toolbar input{color:var(--ink);background:var(--surface-raised)}.annotation-filters button,.theme-options button{color:var(--muted);background:var(--surface-raised)}.annotation-filters .is-selected,.theme-options .is-selected{color:var(--primary);background:#e5eadb}.annotation-compose-dialog .sheet-header{background:var(--surface)}
.login-view{max-width:480px;margin:auto;background:var(--bg)}.login-form input,.password-field{color:var(--ink);background:var(--surface)}.login-title{color:var(--ink)}.protected-book-view,.player-view{max-width:860px;margin:auto;background:var(--bg)}.protected-book-view .immersive-header,.player-view .immersive-header{background:var(--surface);color:var(--ink)}.environment-badge{right:12px;top:8px}html[data-midgard-environment="dev"] .app-header{padding-top:24px}html[data-midgard-environment="dev"] .reader-view>.immersive-header{padding-top:24px}.danger-button{color:var(--danger)}
@media(min-width:1800px){.main-content{margin-right:auto}.desk-book{min-height:470px}}
@media(max-width:1190px){.main-content{padding:32px;margin-left:160px}.bottom-nav{width:160px;padding-left:14px;padding-right:14px}.app-header{margin-left:160px}.desk-grid{grid-template-columns:minmax(0,1fr) 215px;gap:24px}.desk-book{grid-template-columns:minmax(0,1fr) 135px;padding:26px;gap:16px;min-height:400px}.desk-reader-layout{grid-template-columns:200px minmax(0,680px)}.desk-reader-aside{display:none}.desk-note-list{grid-template-columns:1fr}}
@media(max-width:900px){.desk-grid{grid-template-columns:1fr}.desk-book{grid-template-columns:minmax(0,1fr) 180px;min-height:360px}.desk-updates{border-top:1px solid var(--desk-line);display:block}.desk-revision{padding:12px 0}.desk-collections{grid-template-columns:1fr}.desk-reader-layout{grid-template-columns:minmax(0,680px)}.desk-reader-toc{display:none}#books-page{grid-template-columns:1fr}.book-entry{display:grid;grid-template-columns:110px 1fr;gap:24px}.book-cover{width:110px}.mv-list{grid-template-columns:1fr}.desk-focus-exit{display:none}}
@media(max-width:700px){.app-header{height:68px;margin:0;padding:14px 22px}.app-header .app-mark{position:static}.main-content{padding:26px 22px 96px;margin:0}.bottom-nav{top:auto;bottom:0;left:0;width:100%;min-height:calc(65px + env(safe-area-inset-bottom));padding:4px 8px env(safe-area-inset-bottom);display:grid;grid-template-columns:repeat(6,1fr);gap:0;border-right:0;border-top:1px solid var(--desk-line)}.bottom-nav::before,.bottom-nav::after{display:none}.nav-button{flex-direction:column;justify-content:center;gap:3px;font-size:11px;min-height:56px;padding:6px 2px}.nav-button.is-active{background:none}.welcome-block{margin-bottom:22px}.welcome-block h2{font-size:30px}.welcome-block>p{font-size:9px}.desk-book{grid-template-columns:minmax(0,1fr) 95px;min-height:315px;padding:22px 18px;gap:14px}.desk-book-copy h3{font-size:25px;margin:18px 0 12px}.desk-book-copy>p:not(.desk-eyebrow){font-size:11px}.desk-cover{align-self:start;margin-top:45px}.desk-eyebrow{font-size:10px}.continue-label{padding:11px 14px;font-size:13px}#continue-book-title{display:none}#continue-chapter{font-size:11px}.continue-panel{margin-top:18px}.desk-book-copy>.text-button{font-size:11px;padding:8px 0}.desk-shortcuts{grid-template-columns:1fr}.desk-chapter{font-size:12px}.desk-updates{padding-top:18px}.desk-collections{gap:0;margin-top:24px}.desk-collection{padding:20px 0}.desk-collection strong{font-size:16px}.section-heading h2{font-size:30px}.book-entry{grid-template-columns:90px 1fr;gap:18px}.book-cover{width:90px}.book-meta h3{font-size:22px}.book-meta .secondary-button{font-size:12px}.desk-note-toolbar{grid-template-columns:1fr 112px}.desk-note-toolbar>button{grid-column:1/-1;justify-self:end}.desk-section-line{flex-wrap:wrap;gap:6px}.desk-note{padding:20px}.desk-reader-layout{height:calc(100dvh - 122px - env(safe-area-inset-top) - env(safe-area-inset-bottom))}.reader-view>.immersive-header{padding:8px 10px}.reader-view[data-reading-mode="scroll"] .reader-content{padding:30px 24px 56px}.reader-view[data-reading-mode="pages"] .reader-content{column-width:calc(100vw - 48px);column-count:1}.reader-footer{padding-left:12px;padding-right:12px}.sheet-dialog{width:100%;max-height:85dvh}.annotation-compose-dialog{max-height:calc(100dvh - 12px)}.desk-note-toolbar input{min-width:0}.environment-badge{font-size:9px;padding:4px 7px;top:4px;right:8px}.desk-collection-symbol{flex-basis:55px;height:70px}}
@media(max-width:350px){.main-content{padding-left:16px;padding-right:16px}.desk-book{grid-template-columns:minmax(0,1fr) 70px;padding:18px 14px;gap:10px}.desk-book-copy h3{font-size:22px}.reader-view[data-reading-mode="scroll"] .reader-content{padding:26px 20px 50px}.reader-content-action span{display:none}.book-entry{grid-template-columns:74px 1fr;gap:14px}.book-cover{width:74px}.desk-note-toolbar{grid-template-columns:1fr}.desk-note-toolbar>button{grid-column:auto}.desk-collection strong{font-size:15px}}
.bottom-nav::before{display:none}.app-header .app-mark{font-size:12px;letter-spacing:.08em;top:25px;left:24px}#continue-chapter{color:var(--muted)}
.reader-view[data-theme="dark"]{--primary:#bdcdaa;--desk-line:var(--reader-rule)}
.desk-collection-thumb{width:70px;height:84px;object-fit:cover;object-position:top;flex:none}
@media(max-width:700px){.desk-collection-thumb{width:55px;height:70px}}
@media(max-width:900px){#books-page .book-shelf{display:contents}#books-page .book-entry{order:1}#books-page .desk-directory{order:2}#books-page .protected-book-entry{order:3;margin-top:32px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}

.mv-unavailable-label{display:block;color:var(--danger);font-size:12px;line-height:1.6;margin-top:5px}.mv-row:disabled{cursor:not-allowed;opacity:.7}

/* Project entry: existing desk styles remain unchanged. */
.desk-project-entry{margin-top:30px;padding:24px 0;border-top:1px solid var(--desk-line);display:flex;align-items:center;justify-content:space-between;gap:20px}.desk-project-entry p{font-size:12px;color:var(--muted);margin:0 0 7px}.desk-project-entry h3{font:23px/1.5 var(--font-reading);margin:0 0 7px}.desk-project-entry span{font-size:14px;color:var(--muted)}.desk-project-entry a{white-space:nowrap;text-decoration:none;padding:12px 16px;display:inline-block}@media(max-width:600px){.desk-project-entry{align-items:flex-start;flex-direction:column;gap:14px}}

.bottom-nav a.nav-button{text-decoration:none}.project-nav-link{white-space:nowrap}

.reading-selection-actions{display:flex;min-width:0;padding:4px;gap:2px;width:auto!important;border-radius:14px!important}.reading-selection-actions button{border:0;background:transparent;color:inherit;padding:9px 12px;min-height:40px;border-radius:9px}.reading-selection-actions button:hover{background:#e5eadb}.reading-selection-actions.annotation-selection-action--docked button{flex:1;min-width:0;min-height:44px;font-size:16px;font-weight:600}.reading-assist-panel{position:fixed;right:16px;top:90px;bottom:70px;width:min(420px,34vw);z-index:60;border:1px solid var(--desk-line);background:var(--surface);border-radius:10px;box-shadow:0 12px 36px #242b2515;display:flex;flex-direction:column}.reading-assist-panel[hidden]{display:none}.reading-assist-panel>header{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 16px;border-bottom:1px solid var(--desk-line)}.reading-assist-panel small{display:block;color:var(--muted);font-size:12px;margin-top:4px}.reading-assist-panel header button,.reading-note-dialog header button{border:0;background:transparent;font-size:26px;min-width:44px;min-height:44px}.reading-assist-panel #reading-assist-content{flex:1;min-height:0}.reading-assist-panel iframe{width:100%;height:100%;border:0;border-radius:0 0 10px 10px}.has-reading-assist .desk-reader-aside{visibility:hidden}.has-reading-assist{padding-right:140px}.reading-note-dialog{width:min(600px,94vw);padding:24px}.reading-note-dialog header{display:flex;justify-content:space-between;align-items:center}.reading-note-dialog textarea{width:100%;padding:12px}.reading-note-dialog blockquote{margin:16px 0;padding:12px;border-left:3px solid var(--primary);background:#e9eddf;white-space:pre-wrap}.reading-note-dialog article{border-bottom:1px solid var(--desk-line);padding:16px 0}.reading-note-dialog article p{white-space:pre-wrap}[data-reading-region]{user-select:text}@media(max-width:900px){.reading-assist-panel{inset:auto 8px 64px;width:auto;height:min(70dvh,660px)}.has-reading-assist{padding-right:0}#reading-assist-open{position:fixed;right:12px;bottom:78px;z-index:30;background:var(--surface);min-height:44px}.reading-assist-panel>header{padding:8px 12px}}

.reading-mobile-open{display:none}@media(max-width:900px){.reading-mobile-open{display:block;position:fixed;right:12px;bottom:74px;z-index:32;background:var(--surface);min-height:44px}}

/* Comic bookshelf and reader, scoped to the existing comic page. */
#comics-page{max-width:1360px;margin-inline:auto}
#comic-library .comics-heading{margin-bottom:30px}
#comic-library .comics-heading h2{font:36px/1.4 var(--font-reading);margin:8px 0}
#comic-library .comic-library-intro{color:var(--muted);font-size:14px;line-height:1.8}
#comic-library-status{font-size:13px;color:var(--muted);margin:0 0 20px}
.comic-library-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:36px 32px}
.comic-cover-card{display:flex;flex-direction:column;align-items:stretch;text-align:left;padding:0;background:none;color:var(--ink);border:0;min-width:0;cursor:pointer}
.comic-cover-image{display:block;position:relative;width:100%;aspect-ratio:2/3;background:#e5e8dc;overflow:hidden;border:1px solid #d1d6c8;box-shadow:4px 6px 0 #e0e2d7;transition:transform .15s,box-shadow .15s}
.comic-cover-image img{position:relative;width:100%;height:100%;object-fit:cover;object-position:top;display:block}
.comic-cover-placeholder{position:absolute;inset:0;display:grid;place-items:center;padding:22px;font:28px/1.6 var(--font-reading);color:var(--primary)}
.comic-cover-card:hover .comic-cover-image{transform:translateY(-3px);box-shadow:4px 9px 0 #d9decf}
.comic-cover-card:focus-visible{outline:2px solid var(--focus);outline-offset:7px}
.comic-cover-copy{display:flex;flex-direction:column;gap:8px;padding:20px 0 0}
.comic-cover-copy strong{font:600 21px/1.5 var(--font-reading)}
.comic-cover-copy>span{font-size:12px;color:var(--muted)}
.comic-cover-copy small{font:600 13px/1.6 var(--font-ui);color:var(--primary)}
#comic-workspace{border:1px solid var(--desk-line);background:var(--surface);scroll-margin-top:12px;min-width:0;position:relative}
#comic-workspace button{font:13px/1.5 var(--font-ui);min-height:44px;padding:9px 12px;color:var(--ink);background:transparent;border:1px solid var(--desk-line);border-radius:4px;cursor:pointer}
#comic-workspace button:hover{background:#e9edde}
#comic-workspace button:disabled{opacity:.4;cursor:default}
#comic-workspace button[aria-pressed=true],#comic-workspace button[aria-current=page]{color:#304c33;background:#e3ead8;border-color:#aabc98}
#comic-workspace button:focus-visible,#comic-workspace input:focus-visible{outline:2px solid var(--focus);outline-offset:2px}
.comic-reader-toolbar{display:flex;align-items:center;flex-wrap:wrap;gap:14px;padding:16px 18px;background:var(--surface);border-bottom:1px solid var(--desk-line);position:sticky;top:0;z-index:12}
#comic-back-library{border:0!important;white-space:nowrap;padding-left:0!important}
.comic-reader-heading{flex:1;min-width:140px}
.comic-reader-heading p{font-size:11px;color:var(--muted);margin:0 0 3px;line-height:1.5}
.comic-reader-heading h3{font:600 17px/1.6 var(--font-reading);margin:0 0 3px}
.comic-reader-tools{display:flex;flex-wrap:wrap;gap:6px}
.comic-workspace-body{display:grid;grid-template-columns:minmax(0,1fr) 235px;position:relative;min-width:0;min-height:0}
#comic-workspace[data-toc-open=false] .comic-workspace-body{grid-template-columns:minmax(0,1fr)}
#comic-workspace[data-toc-open=false] #comic-toc{display:none}
.comic-stage-area{min-width:0;min-height:0;background:#191d19;display:flex;flex-direction:column}
#comic-reader{padding:0;background:#191d19;min-width:0;touch-action:pan-y pinch-zoom;outline-offset:-3px}
#comic-workspace[data-mode=paged] #comic-reader{height:max(380px,calc(100dvh - 300px));max-height:900px;overflow:auto;overscroll-behavior:contain;scrollbar-width:thin}
#comic-workspace[data-mode=paged] .comic-page{margin:0!important;width:100%;height:100%;min-height:0;aspect-ratio:auto!important;background:#191d19;display:flex;align-items:center;justify-content:center;overflow:hidden}
#comic-workspace[data-mode=paged] .comic-page img{width:100%;height:100%;min-height:0;min-width:0;max-width:100%;max-height:100%;object-fit:contain}
#comic-workspace[data-mode=paged][data-fit=width] .comic-page{height:auto;min-height:100%;display:block;overflow:visible}
#comic-workspace[data-mode=paged][data-fit=width] .comic-page img{width:100%;height:auto;max-height:none}
#comic-workspace[data-mode=scroll] #comic-reader{height:auto;max-height:none;overflow:visible}
#comic-workspace[data-mode=scroll] .comic-page{max-width:1024px;margin-inline:auto}
#comic-workspace[data-mode=scroll] .comic-page+.comic-page{margin-top:12px}
#comic-workspace .comic-page img{user-select:none;-webkit-user-drag:none}
#comic-workspace .comic-load-status{top:25%;color:#828978;background:#fffefaed;margin:0 24px;border-radius:4px;font-size:14px;padding:18px}
#comic-end-mark{color:#d0d7c9;font-size:12px;text-align:center;line-height:1.6;min-height:30px;padding:6px 12px;margin:0}
.comic-toc{min-width:0;padding:16px 18px 22px;border-left:1px solid var(--desk-line);background:var(--surface);align-self:start;overflow:auto;position:sticky;top:105px;max-height:calc(100dvh - 130px)}
.comic-toc-heading{display:flex;align-items:center;justify-content:space-between;gap:12px}
.comic-toc-heading h3{font:600 18px/1.5 var(--font-reading);margin:0}
#comic-toc-close{border:0!important;font-size:23px!important;width:40px;padding:0!important}
#comic-episode-description{font-size:12px;line-height:1.8;color:var(--muted);margin:16px 0}
#comic-workspace .comic-chapter-button{display:block;text-align:left;width:100%;padding:13px 12px;margin:8px 0;border-radius:3px}
.comic-chapter-button strong{display:block;font-size:14px;line-height:1.8;font-weight:600}
.comic-chapter-button small{display:block;font-size:11px;color:var(--muted);margin-top:6px}
#comic-editions-block{margin-top:22px;border-top:1px solid var(--desk-line);padding-top:10px}
#comic-editions-block summary{font-size:12px;padding:10px 0;cursor:pointer}
#comic-editions-list{display:flex;gap:8px;flex-wrap:wrap;margin-top:8px}
.comic-toc-note{font-size:11px;color:var(--muted);line-height:1.8;margin-top:22px}
.comic-reader-footer{display:flex;align-items:center;gap:16px;padding:12px 18px;border-top:1px solid var(--desk-line);background:var(--surface)}
#comic-progress-text{white-space:nowrap;font:13px/1.5 var(--font-ui);color:var(--ink);min-width:65px;text-align:center}
#comic-page-slider{min-width:50px;width:100%;flex:1;accent-color:var(--primary);height:28px;cursor:pointer}
#comic-next-page,#comic-prev-page{white-space:nowrap}
#comic-workspace .comic-progress{margin:0;height:3px;display:block}
#comic-workspace .comic-progress>span{display:block;width:100%;height:3px;border-radius:0;background:#e5e8df}
#comic-workspace .comic-progress i{height:3px;background:var(--primary);border-radius:0}
.comic-reader-hint{margin:0;padding:8px 18px;font-size:11px;line-height:1.6;color:var(--muted);background:var(--surface)}
body.comic-fullscreen-active{overflow:hidden}
#comic-workspace.comic-fullscreen,#comic-workspace:fullscreen{position:fixed;inset:0;z-index:100;width:100%;height:100dvh;max-width:none;border:0;margin:0;display:flex;flex-direction:column;background:#191d19;overflow:hidden}
#comic-workspace.comic-fullscreen .comic-workspace-body,#comic-workspace:fullscreen .comic-workspace-body{flex:1;min-height:0;overflow:hidden}
#comic-workspace.comic-fullscreen #comic-reader,#comic-workspace:fullscreen #comic-reader{height:0;min-height:0;max-height:none;flex:1;overflow:auto}
#comic-workspace.comic-fullscreen .comic-toc,#comic-workspace:fullscreen .comic-toc{position:static;max-height:100%;overflow:auto;align-self:stretch}
#comic-workspace.comic-fullscreen .comic-reader-toolbar,#comic-workspace:fullscreen .comic-reader-toolbar{padding-top:max(10px,env(safe-area-inset-top));flex:none}
#comic-workspace.comic-fullscreen .comic-reader-hint,#comic-workspace:fullscreen .comic-reader-hint{padding-bottom:max(8px,env(safe-area-inset-bottom))}
@media(max-width:1100px){.comic-workspace-body{grid-template-columns:minmax(0,1fr) 200px}.comic-reader-tools{width:100%}.comic-reader-toolbar{gap:10px}.comic-reader-heading h3{font-size:16px}}
@media(max-width:900px){.comic-workspace-body{grid-template-columns:minmax(0,1fr)}.comic-toc{position:fixed;z-index:35;right:8px;top:120px;bottom:80px;width:min(285px,88%);max-height:none;box-shadow:-8px 0 24px #17201926}#comic-workspace.comic-fullscreen .comic-toc,#comic-workspace:fullscreen .comic-toc{position:absolute;right:0;top:0;bottom:0;max-height:100%}.comic-reader-footer{gap:9px;padding:10px 12px}}
@media(max-width:700px){.comic-library-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:28px 18px}#comic-library .comics-heading h2{font-size:30px}.comic-cover-copy{padding-top:14px;gap:6px}.comic-cover-copy strong{font-size:17px}.comic-cover-copy>span{font-size:11px}.comic-cover-copy small{font-size:12px}.comic-reader-toolbar{padding:12px;gap:8px}.comic-reader-heading{min-width:120px}.comic-reader-tools{gap:5px}#comic-workspace .comic-reader-tools button{padding:8px 10px;font-size:12px}.comic-reader-footer{gap:6px;flex-wrap:wrap}#comic-workspace .comic-reader-footer button{font-size:12px;padding:9px 10px}#comic-page-slider{order:4;flex-basis:100%;height:24px}#comic-next-page{margin-left:auto}#comic-progress-text{flex:1}#comic-workspace[data-mode=paged] #comic-reader{height:max(320px,calc(100dvh - 345px))}.comic-reader-hint{font-size:10px;padding:7px 12px}#comic-workspace.comic-fullscreen .comic-reader-tools,#comic-workspace:fullscreen .comic-reader-tools{flex-wrap:wrap}}
@media(prefers-reduced-motion:reduce){.comic-cover-image{transition:none}}

/* Use the available desktop canvas only while the comic reader is open. */
@media(min-width:701px){
  .main-content:has(#comics-page:not([hidden]) #comic-workspace:not([hidden])){
    max-width:none;
    padding:12px clamp(16px,1.5vw,48px);
  }
  #comics-page:has(#comic-workspace:not([hidden])){max-width:none;width:100%}
  #comic-workspace[data-mode=paged]:not(.comic-fullscreen):not(:fullscreen){
    display:flex;
    flex-direction:column;
    height:calc(100dvh - 24px);
    min-height:360px;
    overflow:hidden;
  }
  #comic-workspace[data-mode=paged]:not(.comic-fullscreen):not(:fullscreen) .comic-workspace-body{
    flex:1;
    min-height:0;
    overflow:hidden;
  }
  #comic-workspace[data-mode=paged]:not(.comic-fullscreen):not(:fullscreen) #comic-reader{
    flex:1;
    height:0;
    min-height:0;
    max-height:none;
  }
  #comic-workspace[data-mode=paged]:not(.comic-fullscreen):not(:fullscreen) .comic-toc{
    position:static;
    align-self:stretch;
    max-height:100%;
    overflow:auto;
  }
  #comic-workspace .comic-reader-toolbar,
  #comic-workspace .comic-reader-footer,
  #comic-workspace .comic-progress,
  #comic-workspace .comic-reader-hint{flex-shrink:0}
}
@media(min-width:901px){
  #comic-workspace .comic-workspace-body{grid-template-columns:minmax(0,1fr) clamp(235px,14vw,320px)}
  #comic-workspace[data-toc-open=false] .comic-workspace-body{grid-template-columns:minmax(0,1fr)}
}
@media(min-width:2200px){
  #comic-workspace button{font-size:16px;min-height:50px;padding:11px 16px}
  #comic-workspace .comic-reader-heading h3{font-size:22px}
  #comic-workspace .comic-reader-heading p{font-size:14px}
  #comic-workspace .comic-toc-heading h3{font-size:22px}
  #comic-workspace #comic-episode-description{font-size:14px}
  #comic-workspace .comic-chapter-button strong{font-size:17px}
  #comic-workspace .comic-chapter-button small,
  #comic-workspace .comic-toc-note,
  #comic-workspace #comic-editions-block summary{font-size:13px}
  #comic-workspace #comic-progress-text{font-size:16px}
  #comic-workspace .comic-reader-hint{font-size:13px}
}
/* The existing tablet directory remains a dismissible overlay. */
@media(min-width:701px) and (max-width:900px){
  #comic-workspace[data-mode=paged]:not(.comic-fullscreen):not(:fullscreen) .comic-toc{
    position:fixed;right:8px;top:120px;bottom:80px;max-height:none;
  }
}

/* This heading receives programmatic focus for orientation, not user input. */
#comic-workspace #comic-episode-title:focus {
  outline: none;
  box-shadow: none;
}
#open-content-request[hidden],.reading-mobile-open[hidden],.desk-reader-aside [hidden],[data-annotation-filter][hidden]{display:none!important}.book-meta .book-summary{line-height:1.8}

/* Wide screens: centre the content column in the space right of the nav instead of letting it hug the nav,
   and give very wide screens a wider column. Nav is 190px; the header lines up with the content edge. */
@media(min-width:1591px){:root{--main-max:1400px}.main-content{max-width:var(--main-max);margin-left:max(190px,calc(95px + (100% - var(--main-max))/2));margin-right:0}.app-header{padding-inline:max(44px,calc((100% - var(--main-max))/2 - 47px))}}
@media(min-width:2000px){:root{--main-max:1600px}}
@media(min-width:2400px){:root{--main-max:1800px}}
