@font-face{font-family:Montserrat Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/montserrat-cyrillic-ext-wght-normal-CO5hGrJv.woff2)format("woff2-variations");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Montserrat Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/montserrat-cyrillic-wght-normal-EAA9jha_.woff2)format("woff2-variations");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Montserrat Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/montserrat-vietnamese-wght-normal-k7S-YeeD.woff2)format("woff2-variations");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Montserrat Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/montserrat-latin-ext-wght-normal-BsZE-iaG.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Montserrat Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/montserrat-latin-wght-normal-l_AIctKy.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Hanken Grotesk Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/hanken-grotesk-cyrillic-ext-wght-normal-D_UHSL_T.woff2)format("woff2-variations");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Hanken Grotesk Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/hanken-grotesk-vietnamese-wght-normal-CHiFlh_0.woff2)format("woff2-variations");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Hanken Grotesk Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/hanken-grotesk-latin-ext-wght-normal-Dg-wlmqe.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Hanken Grotesk Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/hanken-grotesk-latin-wght-normal-CaVRRdDk.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--f-display:"Montserrat Variable", "Montserrat", system-ui, sans-serif;--f-ui:"Hanken Grotesk Variable", "Hanken Grotesk", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--f-reading:Georgia, "Iowan Old Style", "Palatino Linotype", serif;--logo-vert:#22653f;--logo-vert-2:#1a5233;--logo-or:#c99a2a;--grenat:#a3262d;--gutter:clamp(1rem, 3vw, 2.25rem);--header-h:4.25rem;--r-art:6px;--r-panel:14px;--r-pill:999px;--ease:cubic-bezier(.2, .7, .2, 1)}:root,:root[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--nuit:#0d1611;--papier:#1b271f;--ardoise:#1a2c22;--ardoise-2:#24392d;--ardoise-3:#2e4638;--text:#f5f1e6;--muted:#f5f1e6ad;--faint:#f5f1e680;--line:#f5f1e61f;--or:#e0b13e;--or-vif:#efc458;--or-txt:#e7bb4c;--vert:#3e9463;--logo-vert:#3e9463;--logo-or:#ddb03e;--danger:#e5575f;--ok:#3e9463}:root[data-theme=light]{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--nuit:#f6f1e4;--papier:#efe8d6;--ardoise:#e7dec7;--ardoise-2:#ddd2b6;--ardoise-3:#d2c5a5;--text:#14201a;--muted:#14201ab8;--faint:#14201a8c;--line:#14201a21;--or:#d6a531;--or-vif:#e4b748;--or-txt:#84600c;--vert:#22653f;--logo-vert:#17573a;--logo-or:#c99a2a;--danger:#a3262d;--ok:#22653f}:root{--read-light-bg:#fffdf8;--read-light-fg:#1b1b1b;--read-sepia-bg:#f4ecd8;--read-sepia-fg:#3b2f20;--read-dark-bg:#0d1611;--read-dark-fg:#e8e2d2}*,:before,:after{box-sizing:border-box}html,body{background:var(--nuit);min-height:100%;color:var(--text);font-family:var(--f-ui);-webkit-font-smoothing:antialiased;margin:0;font-size:16px;line-height:1.5}h1,h2,h3{font-family:var(--f-display);font-weight:600;line-height:1.2}:focus-visible{outline:2px solid var(--or);outline-offset:2px}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important}}.status-page{min-height:100vh;padding:2rem var(--gutter);text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:1.5rem;display:flex}.status-logo{width:min(340px,72vw);height:auto}.status-lead{max-width:34rem;color:var(--muted);margin:0}.status-card{border:1px solid var(--line);border-radius:var(--r-panel);background:var(--papier);text-align:left;width:min(28rem,100%);padding:1.25rem 1.5rem}.status-card h1{margin:0 0 .75rem;font-size:1.1rem}.status-list{margin:0;padding:0;list-style:none}.status-list li{border-top:1px solid var(--line);justify-content:space-between;gap:1rem;padding:.5rem 0;display:flex}.status-ok{color:var(--ok);font-weight:600}.status-bad{color:var(--danger);font-weight:600}.status-version{color:var(--faint);margin:.75rem 0 0;font-size:.85rem}.btn{border-radius:var(--r-pill);min-height:2.75rem;font:600 .95rem var(--f-ui);cursor:pointer;transition:background .2s var(--ease), border-color .2s var(--ease);border:1px solid #0000;justify-content:center;align-items:center;gap:.5rem;padding:0 1.25rem;text-decoration:none;display:inline-flex}.btn-primary{background:var(--or);color:#241900}.btn-primary:hover{background:var(--or-vif)}.btn-ghost{border-color:var(--line);color:var(--text);background:0 0}.btn-ghost:hover{border-color:var(--muted)}.login-page{min-height:100vh;padding:2rem var(--gutter);text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:1.5rem;display:flex}.login-logo{width:min(360px,74vw);height:auto}.login-lead{max-width:32rem;color:var(--muted);margin:0;font-size:1.05rem}.login-error{border:1px solid var(--danger);border-radius:var(--r-panel);max-width:32rem;color:var(--text);background:color-mix(in oklab, var(--danger) 12%, transparent);margin:0;padding:.75rem 1rem}.app-shell{min-height:100vh}.app-header{z-index:10;height:var(--header-h);padding:0 var(--gutter);border-bottom:1px solid var(--line);background:color-mix(in oklab, var(--nuit) 88%, transparent);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);justify-content:space-between;align-items:center;gap:1rem;display:flex;position:sticky;top:0}.app-brand-logo{width:auto;height:2.9rem;display:block}.app-user{align-items:center;gap:.75rem;display:flex}.app-user-name{font-weight:600}.app-user-role{border-radius:var(--r-pill);background:var(--ardoise-2);color:var(--or-txt);padding:.15rem .6rem;font-size:.8rem;font-weight:600}@media (width<=560px){.app-user-name,.app-user-role{display:none}}.app-main{max-width:72rem;padding:2.5rem var(--gutter) 4rem;margin:0 auto}.app-main h1{margin:0 0 1.5rem;font-size:clamp(1.6rem,3vw,2.2rem)}.panel{border:1px solid var(--line);border-radius:var(--r-panel);background:var(--papier);padding:1.5rem}.panel h2{margin:0 0 .5rem;font-size:1.15rem}.panel p{color:var(--muted);margin:0}.app-admin-links a{color:var(--or-txt)}.sr-only{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.skip-link{z-index:20;border-radius:var(--r-pill);background:var(--or);color:#241900;padding:.5rem 1rem;font-weight:600;position:absolute;top:-3rem;left:1rem}.skip-link:focus{top:.75rem}.app-main:focus{outline:none}a{color:var(--or-txt)}.muted{color:var(--muted)}.btn-small{min-height:2.25rem;padding:0 .9rem;font-size:.875rem}.btn:disabled{opacity:.55;cursor:not-allowed}.app-logout svg{flex:none;width:1.1rem;height:1.1rem}.link-button{color:var(--or-txt);font:inherit;cursor:pointer;background:0 0;border:0;padding:0;text-decoration:underline}.app-header{gap:clamp(.75rem,3vw,2rem)}.app-nav{gap:.25rem;margin-right:auto;display:flex}.app-nav a{border-radius:var(--r-pill);color:var(--muted);padding:.45rem .85rem;font-weight:600;text-decoration:none}.app-nav a:hover{color:var(--text)}.app-nav a[aria-current=page]{background:var(--ardoise-2);color:var(--text)}@media (width<=560px){.app-brand-logo{height:2.2rem}.app-nav a{padding:.4rem .55rem;font-size:.9rem}.app-logout{width:2.25rem;padding:0}.app-logout-text{display:none}}.notice{border-radius:var(--r-panel);border:1px solid var(--line);margin:0 0 1.25rem;padding:.75rem 1rem}.notice-error{border-color:var(--danger);background:color-mix(in oklab, var(--danger) 12%, transparent)}.empty-state{margin:1rem 0 2rem}.empty-state p+p{margin-top:.75rem}.catalog-head{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:1rem;display:flex}.app-main .catalog-head h1{margin-bottom:1rem}.catalog-count{color:var(--muted);margin:0}.catalog-tools{flex-wrap:wrap;align-items:center;gap:.75rem;margin-bottom:1.75rem;display:flex}.search-field{border:1px solid var(--line);border-radius:var(--r-pill);background:var(--papier);min-height:2.75rem;color:var(--muted);flex:18rem;align-items:center;gap:.5rem;padding:0 1rem;display:flex}.search-field:focus-within{border-color:var(--or)}.search-field svg{flex:none;width:1.1rem;height:1.1rem}.search-field input{min-width:0;color:var(--text);font:inherit;background:0 0;border:0;outline:none;flex:1}.select-field{color:var(--muted);align-items:center;gap:.5rem;font-size:.9rem;display:flex}select,.form input:not([type=checkbox]){border:1px solid var(--line);background:var(--papier);min-height:2.5rem;color:var(--text);font:inherit;border-radius:10px;padding:0 .75rem}.book-grid{grid-template-columns:repeat(auto-fill,minmax(9.5rem,1fr));gap:1.75rem 1.25rem;margin:0;padding:0;list-style:none;display:grid}@media (width<=480px){.book-grid{grid-template-columns:repeat(auto-fill,minmax(6.25rem,1fr));gap:1.25rem .75rem}}.book-tile{color:var(--text);flex-direction:column;gap:.2rem;text-decoration:none;display:flex}.book-tile .cover{transition:transform .25s var(--ease), box-shadow .25s var(--ease);margin-bottom:.5rem}.book-tile:hover .cover,.book-tile:focus-visible .cover{transform:translateY(-3px);box-shadow:0 14px 28px #00000059}.book-tile-title{-webkit-line-clamp:2;-webkit-box-orient:vertical;font-weight:600;line-height:1.3;display:-webkit-box;overflow:hidden}.book-tile-meta,.book-tile-series{white-space:nowrap;text-overflow:ellipsis;color:var(--muted);font-size:.85rem;overflow:hidden}.book-tile-series{color:var(--or-txt)}.cover{aspect-ratio:2/3;object-fit:cover;border-radius:var(--r-art);background:var(--ardoise);width:100%;display:block;box-shadow:0 6px 16px #00000040}.cover-fallback{color:#f5f1e6;background-image:linear-gradient(160deg,#ffffff1f,#0000 55%);flex-direction:column;justify-content:space-between;padding:12% 10%;display:flex;overflow:hidden}.cover-fallback-title{-webkit-line-clamp:5;font-family:var(--f-display);-webkit-box-orient:vertical;font-size:clamp(.8rem,1.1vw + .4rem,1.15rem);font-weight:600;line-height:1.2;display:-webkit-box;overflow:hidden}.cover-fallback-author{opacity:.85;font-size:.75rem}.grid-skeleton,.detail-skeleton{border-radius:var(--r-panel);background:linear-gradient(90deg, var(--papier), var(--ardoise), var(--papier));background-size:200% 100%;height:18rem;animation:1.4s linear infinite shimmer}@keyframes shimmer{to{background-position:-200% 0}}.load-more{justify-content:center;margin-top:2.5rem;display:flex}.breadcrumb{margin:0 0 1.25rem;font-size:.9rem}.breadcrumb a:before{content:"← "}.book-detail-grid{grid-template-columns:minmax(10rem,18rem) 1fr;align-items:start;gap:clamp(1.5rem,4vw,3.5rem);display:grid}@media (width<=720px){.book-detail-grid{grid-template-columns:1fr}.book-detail-cover{width:min(14rem,60vw);margin:0 auto}}.book-detail-cover .cover{box-shadow:0 18px 40px #0006}.app-main .book-detail h1{margin:0 0 .35rem}.book-subtitle{color:var(--muted);margin:0 0 .5rem;font-size:1.1rem}.book-authors{margin:0 0 .35rem;font-size:1.1rem}.book-authors a,.book-series a{text-decoration:none}.book-authors a:hover,.book-series a:hover{text-decoration:underline}.book-series{margin:0}.book-files{flex-direction:column;gap:.5rem;max-width:30rem;margin:1.5rem 0 .5rem;display:flex}.book-file{border:1px solid var(--line);border-radius:var(--r-panel);background:var(--papier);justify-content:space-between;align-items:center;gap:1rem;padding:.65rem .65rem .65rem 1rem;display:flex}.book-file-size{color:var(--muted);margin-left:.6rem;font-size:.875rem}.book-file-warning{color:var(--danger);font-size:.85rem;display:block}.book-reader-note{color:var(--faint);margin:0 0 1.5rem;font-size:.85rem}.book-description h2{margin:0 0 .5rem;font-size:1.05rem}.book-description p{max-width:44rem;color:var(--muted);font-family:var(--f-reading);margin:0 0 .9rem;font-size:1.05rem;line-height:1.65}.book-facts{border-top:1px solid var(--line);grid-template-columns:repeat(auto-fill,minmax(10rem,1fr));gap:.9rem 1.5rem;margin:1.5rem 0;padding:1.25rem 0 0;display:grid}.book-facts dt{color:var(--faint);text-transform:uppercase;letter-spacing:.04em;font-size:.8rem}.book-facts dd{overflow-wrap:anywhere;margin:.15rem 0 0}.book-genres{flex-wrap:wrap;gap:.4rem;margin:0;padding:0;list-style:none;display:flex}.book-genres li,.tag{border-radius:var(--r-pill);background:var(--ardoise-2);color:var(--muted);padding:.15rem .65rem;font-size:.8rem}.admin-section{margin-bottom:2.5rem}.admin-section h2{margin:0 0 1rem;font-size:1.2rem}.section-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;margin-bottom:1rem;display:flex}.section-head h2{margin:0}.section-head>.panel{flex-basis:100%}.library-list{flex-direction:column;gap:1rem;margin:1rem 0 0;padding:0;list-style:none;display:flex}.library-card[data-disabled]{opacity:.7}.library-card-head{flex-wrap:wrap;justify-content:space-between;gap:1rem;display:flex}.library-card h3{margin:0 0 .25rem;font-size:1.1rem}.panel .library-path{font-size:.875rem}.library-actions{flex-wrap:wrap;align-items:flex-start;gap:.5rem;display:flex}.library-stats{grid-template-columns:repeat(auto-fill,minmax(7.5rem,1fr));gap:.75rem;margin:1.25rem 0 0;display:grid}.library-stats dt{color:var(--faint);text-transform:uppercase;letter-spacing:.04em;font-size:.78rem}.library-stats dd{font-family:var(--f-display);margin:.1rem 0 0;font-size:1.15rem;font-weight:600}.library-stats dd[data-warn]{color:var(--or-txt)}.library-job{border-top:1px solid var(--line);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;margin-top:1rem;padding-top:1rem;display:flex}.library-job p{margin:0}.job-status{border-radius:var(--r-pill);background:var(--ardoise-2);padding:.1rem .55rem;font-size:.8rem;font-weight:600}.job-succeeded{color:var(--ok)}.job-failed{color:var(--danger)}.job-running,.job-queued{color:var(--or-txt)}.job-error{color:var(--danger);font-size:.875rem;display:block}.progress{border-radius:var(--r-pill);background:var(--ardoise);flex:14rem;min-width:10rem;height:1.75rem;position:relative;overflow:hidden}.progress-bar{background:color-mix(in oklab, var(--vert) 75%, transparent);height:100%;transition:width .4s var(--ease)}.progress-bar[data-indeterminate]{background:linear-gradient(90deg, transparent, var(--vert), transparent);background-repeat:no-repeat;background-size:50% 100%;animation:1.3s linear infinite sweep}@keyframes sweep{0%{background-position:-50% 0}to{background-position:150% 0}}.progress-text{align-items:center;padding:0 .85rem;font-size:.8rem;font-weight:600;display:flex;position:absolute;inset:0}.form{flex-direction:column;gap:1rem;max-width:40rem;display:flex}.form label{flex-direction:column;gap:.35rem;font-size:.9rem;font-weight:600;display:flex}.form label.checkbox,.checkbox{flex-direction:row;align-items:center;gap:.5rem;font-weight:400}.panel .form-help{font-size:.9rem}.input-row{gap:.5rem;display:flex}.input-row input{flex:1;min-width:0}.form-actions{flex-wrap:wrap;gap:.75rem;display:flex}.folder-picker{border:1px solid var(--line);background:var(--nuit);border-radius:10px}.folder-picker-head{border-bottom:1px solid var(--line);overflow-wrap:anywhere;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem;padding:.6rem .75rem;font-size:.9rem;display:flex}.folder-picker ul{max-height:16rem;margin:0;padding:.35rem;list-style:none;overflow-y:auto}.folder-picker li button{width:100%;color:var(--text);font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;border-radius:8px;align-items:center;gap:.5rem;padding:.45rem .6rem;display:flex}.folder-picker li button:hover{background:var(--ardoise)}.folder-picker-empty,.panel .folder-picker-note{color:var(--muted);padding:.5rem .75rem;font-size:.85rem}.job-log{margin-bottom:2.5rem}.job-log-head{flex-wrap:wrap;align-items:center;gap:1rem;margin-bottom:.75rem;display:flex}.job-log-head h2{margin:0 auto 0 0}.log-lines{max-height:24rem;margin:0;padding:0;font-size:.85rem;list-style:none;overflow-y:auto}.log-lines li{border-top:1px solid var(--line);grid-template-columns:5rem 1fr;gap:.15rem .75rem;padding:.35rem 0;display:grid}.log-lines time{color:var(--faint)}.log-lines code{color:var(--muted);overflow-wrap:anywhere;grid-column:2}.log-lines li[data-level=warning] span{color:var(--or-txt)}.log-lines li[data-level=error] span{color:var(--danger)}.table-wrap{overflow-x:auto}.job-table{border-collapse:collapse;width:100%;font-size:.9rem}.job-table th,.job-table td{border-bottom:1px solid var(--line);text-align:left;vertical-align:middle;padding:.6rem .75rem}.job-table th{color:var(--faint);text-transform:uppercase;letter-spacing:.04em;font-size:.8rem;font-weight:600}.book-actions{flex-wrap:wrap;gap:.6rem;margin:1.4rem 0 .75rem;display:flex}.favorite-toggle svg{fill:none;stroke:currentColor;stroke-width:2px;width:1.1rem;height:1.1rem}.favorite-toggle[aria-pressed=true]{border-color:var(--grenat)}.favorite-toggle[aria-pressed=true] svg{fill:var(--grenat);stroke:var(--grenat)}.book-progress{max-width:30rem;color:var(--muted);flex-wrap:wrap;align-items:center;gap:.5rem .9rem;margin-bottom:.5rem;font-size:.875rem;display:flex}.book-progress-bar,.mini-progress{border-radius:var(--r-pill);background:var(--ardoise-2);flex:8rem;height:6px;overflow:hidden}.book-progress-bar span,.mini-progress span{background:var(--vert);height:100%;display:block}.book-file-actions{flex-wrap:wrap;justify-content:flex-end;gap:.4rem;display:flex}.shelf-tabs{flex-wrap:wrap;gap:.35rem;margin:-.75rem 0 1.5rem;display:flex}.shelf-tabs button{border:1px solid var(--line);border-radius:var(--r-pill);color:var(--muted);font:600 .875rem var(--f-ui);cursor:pointer;background:0 0;padding:.35rem .9rem}.shelf-tabs button[aria-pressed=true]{background:var(--ardoise-2);color:var(--text);border-color:#0000}.current-shelf{margin-bottom:2.25rem}.current-shelf h2{margin:0 0 .9rem;font-size:1.1rem}.current-shelf ul{scroll-snap-type:x proximity;grid-auto-columns:minmax(15rem,18rem);grid-auto-flow:column;gap:.9rem;margin:0;padding:0 0 .5rem;list-style:none;display:grid;overflow-x:auto}.current-tile{border:1px solid var(--line);border-radius:var(--r-panel);background:var(--papier);color:var(--text);scroll-snap-align:start;grid-template-columns:4.2rem 1fr;align-items:center;gap:.85rem;padding:.6rem;text-decoration:none;display:grid}.current-tile:hover{border-color:var(--muted)}.current-tile .cover{box-shadow:none}.current-tile-body{flex-direction:column;gap:.25rem;min-width:0;display:flex}.mini-progress{flex:none;margin-top:.35rem}.library-options{flex-wrap:wrap;gap:.5rem 1.5rem;margin-top:1rem;font-size:.9rem;display:flex}.library-groups{flex-basis:100%}.library-groups label{flex-direction:column;gap:.35rem;font-weight:600;display:flex}.library-groups input{border:1px solid var(--line);background:var(--nuit);min-width:0;min-height:2.25rem;color:var(--text);font:inherit;border-radius:10px;flex:1;padding:0 .75rem;font-weight:400}.reader{--chrome-bg:color-mix(in oklab, currentColor 6%, transparent);--chrome-line:color-mix(in oklab, currentColor 14%, transparent);font-family:var(--f-ui);grid-template-rows:auto 1fr auto;display:grid;position:fixed;inset:0;overflow:hidden}.reader-loading{background:var(--nuit);position:fixed;inset:0}.reader-bar,.reader-foot{z-index:3;padding:.4rem max(.6rem, env(safe-area-inset-left)) .4rem max(.6rem, env(safe-area-inset-right));transition:transform .25s var(--ease), opacity .25s var(--ease);align-items:center;gap:.35rem;display:flex}.reader-bar{border-bottom:1px solid var(--chrome-line);padding-top:max(.4rem, env(safe-area-inset-top))}.reader-foot{padding:.5rem 1rem max(.6rem, env(safe-area-inset-bottom));border-top:1px solid var(--chrome-line);gap:.9rem}.reader-immersive .reader-bar{opacity:0;pointer-events:none;transform:translateY(-100%)}.reader-immersive .reader-foot{opacity:0;pointer-events:none;transform:translateY(100%)}.reader-immersive{grid-template-rows:0 1fr 0}.reader-title{flex-direction:column;flex:1;min-width:0;padding:0 .4rem;line-height:1.25;display:flex}.reader-title strong,.reader-title span{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.reader-title strong{font-family:var(--f-display);font-size:.95rem}.reader-title span{opacity:.7;font-size:.8rem}.reader-icon{width:2.5rem;height:2.5rem;color:inherit;cursor:pointer;background:0 0;border:0;border-radius:50%;flex:none;place-items:center;display:inline-grid}.reader-icon:hover,.reader-icon[aria-pressed=true]{background:var(--chrome-bg)}.reader-icon svg,.reader-turn svg{fill:none;stroke:currentColor;stroke-width:2px;stroke-linecap:round;stroke-linejoin:round;width:1.3rem;height:1.3rem}.reader-stage{min-height:0;position:relative;overflow:hidden}.epub-host,.epub-host .epub-view{width:100%;height:100%;display:block}.reader-turn{z-index:2;width:2.75rem;height:4.5rem;color:inherit;opacity:.35;cursor:pointer;background:0 0;border:0;border-radius:12px;place-items:center;display:grid;position:absolute;top:50%;transform:translateY(-50%)}.reader-turn:hover,.reader-turn:focus-visible{opacity:.9;background:var(--chrome-bg)}.reader-turn-prev{left:.25rem}.reader-turn-next{right:.25rem}@media (hover:none){.reader-turn,.reader-hide-mobile{display:none}}.reader-foot input[type=range]{accent-color:var(--logo-vert-2);flex:1}.reader-dark .reader-foot input[type=range]{accent-color:var(--or)}.reader-progress{text-align:right;font-variant-numeric:tabular-nums;min-width:4.5rem;font-size:.85rem}.reader-offline{opacity:.7}.reader-notice{z-index:5;border-radius:var(--r-pill);color:#f5f1e6;pointer-events:none;background:#0d1611e0;max-width:calc(100% - 2rem);padding:.6rem 1rem;font-size:.875rem;position:absolute;bottom:4.5rem;left:50%;transform:translate(-50%)}.reader-error{text-align:center;align-content:center;place-items:center;gap:1rem;height:100%;padding:2rem;display:grid}.reader-panel{z-index:6;border:1px solid var(--chrome-line);border-radius:var(--r-panel);background:inherit;background-color:var(--panel-bg);flex-direction:column;width:min(22rem,100% - 1rem);display:flex;position:absolute;top:3.4rem;bottom:3.6rem;right:.5rem;overflow:hidden;box-shadow:0 18px 50px #00000059}.reader-light{--panel-bg:#fffdf8}.reader-sepia{--panel-bg:#f4ecd8}.reader-dark{--panel-bg:#16221b}.reader-panel-head{border-bottom:1px solid var(--chrome-line);justify-content:space-between;align-items:center;padding:.5rem .5rem .5rem 1rem;display:flex}.reader-panel-head h2{margin:0;font-size:1rem}.reader-toc,.reader-bookmarks ul{margin:0;padding:.4rem;list-style:none;overflow-y:auto}.reader-toc button,.reader-bookmark-go{width:100%;color:inherit;font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;border-radius:8px;justify-content:space-between;gap:.75rem;padding:.55rem .6rem;display:flex}.reader-toc button:hover,.reader-bookmark-go:hover{background:var(--chrome-bg)}.reader-bookmarks{flex-direction:column;gap:.75rem;min-height:0;padding:.9rem;display:flex}.reader-bookmarks ul{padding:0}.reader-bookmarks li{align-items:center;display:flex}.reader-bookmark-go small{opacity:.65}.reader-settings{flex-direction:column;gap:1rem;padding:1rem;display:flex;overflow-y:auto}.reader-choice{border:0;margin:0;padding:0}.reader-choice legend{opacity:.75;margin-bottom:.4rem;font-size:.8rem;font-weight:600}.reader-choice div{flex-wrap:wrap;align-items:center;gap:.35rem;display:flex}.reader-choice button{border:1px solid var(--chrome-line);min-height:2.4rem;color:inherit;font:inherit;cursor:pointer;background:0 0;border-radius:10px;flex:auto;padding:0 .7rem;font-size:.875rem}.reader-choice button[aria-pressed=true]{background:var(--chrome-bg);border-color:currentColor;font-weight:700}.reader-choice output{text-align:center;font-variant-numeric:tabular-nums;min-width:4rem}.reader .btn-primary{color:#241900}.reader .muted{opacity:.7}.pdf-scroller{outline:none;flex-direction:column;align-items:center;gap:12px;height:100%;padding:12px 8px 24px;display:flex;overflow:auto}.pdf-page{background:#fff;flex:none;max-width:none;box-shadow:0 4px 18px #00000040}.pdf-page canvas{display:block}.reader-dark .pdf-page canvas{filter:invert(.9)hue-rotate(180deg)}.comic-view{-webkit-user-select:none;user-select:none;background:#111;justify-content:center;align-items:center;height:100%;display:flex;overflow:auto}.reader-light .comic-view,.reader-sepia .comic-view{background:#2a2a2a}.comic-page{object-fit:contain;display:block}.comic-view.fit-height .comic-page{max-width:100%;max-height:100%}.comic-view.fit-height.is-double .comic-page{max-width:50%}.comic-view.fit-width{align-items:flex-start}.comic-view.fit-width .comic-page{width:100%;height:auto}.comic-view.fit-width.is-double .comic-page{width:50%}
