:root{--paper:#faf7f0;--surface:#fff;--surface-2:#f3eee3;--ink:#22201b;--ink-soft:#4a463d;--muted:#7a7264;--border:#e6dfcf;--accent:#34435e;--accent-ink:#26324a;--brass:#a9852f;--good:#3e7c63;--danger:#b4462f;--on-accent:#faf7f0;--shadow:18px 30px 60px -30px #22201b59;--shadow-sm:6px 12px 26px -16px #22201b4d;--font-display:"Hoefler Text", "Palatino Linotype", Palatino, Georgia, "Times New Roman", serif;--font-read:"Iowan Old Style", "Palatino Linotype", Palatino, Georgia, serif;--font-ui:system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--t-xs:.78rem;--t-sm:.875rem;--t-base:1rem;--t-md:1.25rem;--t-lg:1.563rem;--t-xl:1.953rem;--t-2xl:2.441rem;--t-3xl:3.5rem;--s1:4px;--s2:8px;--s3:12px;--s4:16px;--s5:24px;--s6:32px;--s7:48px;--s8:64px;--s9:96px;--r-sm:8px;--r-md:14px;--r-lg:22px;--r-xl:30px;--ease:cubic-bezier(.2,.7,.2,1);--spring:cubic-bezier(.34,1.3,.5,1);--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial;--paper:#16150f;--surface:#201e17;--surface-2:#2a271f;--ink:#ede7d8;--ink-soft:#c9c2b2;--muted:#948c7c;--border:#322e24;--accent:#93a6cc;--accent-ink:#b7c4e0;--brass:#cba24a;--good:#6fb394;--danger:#e0876b;--on-accent:#16150f;--shadow:18px 30px 60px -28px #000000b3;--shadow-sm:6px 12px 26px -14px #0009}}:root[data-theme=light]{--paper:#faf7f0;--surface:#fff;--surface-2:#f3eee3;--ink:#22201b;--ink-soft:#4a463d;--muted:#7a7264;--border:#e6dfcf;--accent:#34435e;--accent-ink:#26324a;--brass:#a9852f;--good:#3e7c63;--danger:#b4462f;--on-accent:#faf7f0;--shadow:18px 30px 60px -30px #22201b59;--shadow-sm:6px 12px 26px -16px #22201b4d}:root[data-theme=dark]{--paper:#16150f;--surface:#201e17;--surface-2:#2a271f;--ink:#ede7d8;--ink-soft:#c9c2b2;--muted:#948c7c;--border:#322e24;--accent:#93a6cc;--accent-ink:#b7c4e0;--brass:#cba24a;--good:#6fb394;--danger:#e0876b;--on-accent:#16150f;--shadow:18px 30px 60px -28px #000000b3;--shadow-sm:6px 12px 26px -14px #0009}*{box-sizing:border-box}html,body,#root{height:100%}body{background:var(--paper);color:var(--ink);font-family:var(--font-ui);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;margin:0;line-height:1.6}a{color:var(--accent);text-decoration:none}button{color:inherit;cursor:pointer;font-family:inherit}:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:4px}h1,h2,h3,h4{font-family:var(--font-display);letter-spacing:-.02em;font-weight:600}.btn{justify-content:center;align-items:center;gap:var(--s2);font-size:var(--t-base);border:1px solid var(--border);background:var(--surface);color:var(--ink);white-space:nowrap;transition:transform .1s var(--ease), border-color .2s var(--ease), background .2s var(--ease);border-radius:999px;flex:none;padding:10px 18px;font-weight:500;display:inline-flex}.btn:active{transform:scale(.97)}.btn-primary{background:linear-gradient(155deg, var(--accent), var(--accent-ink));color:var(--on-accent);box-shadow:var(--shadow-sm);border-color:#0000}.btn-ghost{color:var(--ink-soft);background:0 0;border-color:#0000}.spinner{border:2px solid color-mix(in srgb, var(--muted) 40%, transparent);border-top-color:var(--accent);border-radius:50%;width:22px;height:22px;animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.center-screen{min-height:100%;padding:clamp(var(--s4), 5vw, var(--s6));padding-left:max(clamp(var(--s4), 5vw, var(--s6)), env(safe-area-inset-left,0px));padding-right:max(clamp(var(--s4), 5vw, var(--s6)), env(safe-area-inset-right,0px));text-align:center;place-items:center;display:grid}.center-screen>*{min-width:0;max-width:100%}@media (prefers-reduced-motion:reduce){*{transition-duration:.001ms!important;animation-duration:.001ms!important}}.brand-lockup{align-items:center;gap:var(--s3);font-family:var(--font-display);min-width:0;display:flex}.brand-lockup b{font-size:var(--t-md);letter-spacing:-.01em;white-space:nowrap;text-overflow:ellipsis;font-weight:600;overflow:hidden}.brand-glyph{background:linear-gradient(155deg, var(--accent), var(--accent-ink));width:32px;height:32px;color:var(--on-accent);box-shadow:var(--shadow-sm);font-size:16px;font-weight:700;font-family:var(--font-display);border-radius:9px;flex:none;place-items:center;padding-top:2px;line-height:1;display:grid}.btn-lg{font-size:var(--t-md);padding:13px 22px}.icon-btn{width:40px;height:40px;color:inherit;transition:background .2s var(--ease), transform .1s var(--ease);background:0 0;border:1px solid #0000;border-radius:50%;flex:none;place-items:center;padding:0;font-size:20px;display:grid}@media (hover:hover){.icon-btn:hover{background:color-mix(in srgb, currentColor 10%, transparent)}}.icon-btn:active{transform:scale(.92)}.section-label{font-size:var(--t-xs);letter-spacing:.1em;text-transform:uppercase;color:var(--brass);margin-bottom:var(--s3);font-weight:700}.muted{color:var(--muted)}.notice{padding:var(--s3) var(--s4);border-radius:var(--r-sm);margin-bottom:var(--s5);font-size:var(--t-sm)}.notice-error{background:color-mix(in srgb, #b4462f 15%, var(--surface));color:var(--ink);border:1px solid #b4462f66}.storage-note{gap:var(--s2);padding:var(--s3) var(--s4);margin-bottom:var(--s5);border-radius:var(--r-sm);font-size:var(--t-sm);background:color-mix(in srgb, var(--brass) 10%, var(--surface));border:1px solid color-mix(in srgb, var(--brass) 35%, transparent);flex-direction:column;display:flex}.storage-note b{font-weight:600}.storage-note small{color:var(--muted)}.storage-note .prog i{background:var(--brass)}.cover{box-shadow:var(--shadow-sm);object-fit:cover;border-radius:8px;display:block}.cover-md{flex:none;width:58px;height:86px}.cover-shelf{aspect-ratio:2/3;width:100%}.cover-fallback{color:#fff;align-content:end;padding:10px;display:grid;overflow:hidden}.cover-fallback-title{font-family:var(--font-display);text-shadow:0 1px 4px #0006;font-size:13px;line-height:1.15}.prog{background:var(--surface-2);height:5px;margin-top:var(--s2);border-radius:999px;overflow:hidden}.prog.prog-thin{height:3px;margin-top:var(--s2)}.prog i{background:var(--brass);height:100%;transition:width .3s var(--ease);border-radius:999px;display:block}.login-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);max-width:420px;padding:var(--s8) var(--s7);box-shadow:var(--shadow);align-items:center;gap:var(--s4);text-align:center;flex-direction:column;display:flex}.login-title{font-size:var(--t-xl);margin:var(--s3) 0 0;text-wrap:balance;line-height:1.1}.login-lede{color:var(--muted);margin:0 0 var(--s3);max-width:34ch}.empty{align-items:center;gap:var(--s3);flex-direction:column;max-width:380px;display:flex}.empty-mark{font-size:40px}.empty h2{font-size:var(--t-lg);margin:0}.empty p{color:var(--muted);margin:0 0 var(--s3)}.lib-page{flex-direction:column;min-height:100%;display:flex}.lib-topbar{z-index:20;justify-content:space-between;align-items:center;gap:var(--s4);padding:var(--s3) var(--s5);padding-top:calc(var(--s3) + env(safe-area-inset-top,0px));padding-left:max(var(--s5), env(safe-area-inset-left,0px));padding-right:max(var(--s5), env(safe-area-inset-right,0px));background:color-mix(in srgb, var(--paper) 72%, transparent);-webkit-backdrop-filter:blur(18px)saturate(160%);border-bottom:1px solid color-mix(in srgb, var(--border) 70%, transparent);display:flex;position:sticky;top:0}.lib-actions{align-items:center;gap:var(--s2);flex:none;display:flex}.lib-main{width:100%;max-width:1000px;padding:var(--s7) var(--s5) var(--s9);padding-left:max(var(--s5), env(safe-area-inset-left,0px));padding-right:max(var(--s5), env(safe-area-inset-right,0px));flex:1;margin:0 auto}.continue{margin-bottom:var(--s8)}.continue-card{text-align:left;gap:var(--s4);background:var(--surface);border:1px solid var(--border);border-radius:var(--r-md);width:100%;padding:var(--s4);box-shadow:var(--shadow-sm);transition:transform .12s var(--ease), box-shadow .2s var(--ease);align-items:center;display:flex}@media (hover:hover){.continue-card:hover{box-shadow:var(--shadow);transform:translateY(-2px)}}.continue-meta{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.continue-meta b{font-family:var(--font-display);font-size:var(--t-md);letter-spacing:-.01em;white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.continue-meta small{color:var(--muted);font-size:var(--t-sm)}.continue-meta .pct{font-size:var(--t-xs);color:var(--muted);margin-top:var(--s2);font-variant-numeric:tabular-nums}.shelf{gap:var(--s5);grid-template-columns:repeat(auto-fill,minmax(140px,1fr));display:grid}.shelf-item{transition:transform .12s var(--ease);min-width:0;position:relative}@media (hover:hover){.shelf-item:hover{transform:translateY(-3px)}}.shelf-open{text-align:left;gap:var(--s2);background:0 0;border:none;flex-direction:column;width:100%;padding:0;display:flex}.shelf-delete{color:#fff;opacity:0;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);width:28px;height:28px;transition:opacity .15s var(--ease), transform .15s var(--ease);background:#0a0a0c99;border:none;border-radius:50%;place-items:center;font-size:12px;line-height:1;display:grid;position:absolute;top:8px;right:8px;transform:scale(.85)}.shelf-item:hover .shelf-delete,.shelf-delete:focus-visible{opacity:1;transform:scale(1)}.shelf-delete:hover{background:#b4462f}@media (hover:none){.shelf-delete{opacity:1;background:#0a0a0c80;width:34px;height:34px;font-size:13px;transform:scale(1)}}.shelf-caption{flex-direction:column;display:flex}.shelf-caption b{font-family:var(--font-display);font-size:var(--t-sm);white-space:nowrap;text-overflow:ellipsis;font-weight:600;overflow:hidden}.shelf-caption small{color:var(--muted);font-size:var(--t-xs)}.pending .shelf-open{cursor:default}.shelf-item.pending:hover{transform:none}.cover-pending{background:linear-gradient(160deg, color-mix(in srgb, var(--muted) 22%, var(--surface)), color-mix(in srgb, var(--muted) 10%, var(--surface)));animation:pending-pulse 1.8s var(--ease) infinite}@keyframes pending-pulse{50%{opacity:.55}}.shelf-caption small.pending-error{color:color-mix(in srgb, #b4462f 65%, var(--ink))}.pending-actions{gap:var(--s2);margin-top:var(--s2);display:flex}.btn-sm{font-size:var(--t-xs);padding:4px 10px}.pending-failed .cover-pending{opacity:.5;animation:none}.prog-indeterminate{overflow:hidden}.prog-indeterminate i{width:40%;animation:prog-slide 1.2s var(--ease) infinite}@keyframes prog-slide{0%{transform:translate(-110%)}to{transform:translate(275%)}}@media (prefers-reduced-motion:reduce){.prog-indeterminate i{opacity:.6;width:100%}.cover-pending{opacity:.8}}.reader-page{transition:background .4s var(--ease), color .4s var(--ease);flex-direction:column;display:flex;position:fixed;inset:0;overflow:hidden}.viewer{width:100%;min-height:0;padding:44px 0 36px;padding-top:calc(44px + env(safe-area-inset-top,0px));padding-bottom:calc(36px + env(safe-area-inset-bottom,0px));flex:1}.viewer foliate-view{width:100%;height:100%;display:block}.reader-loading{position:absolute;inset:0}.reader-nav{z-index:25;cursor:pointer;-webkit-tap-highlight-color:transparent;height:96px;animation:reader-nav-in .22s var(--ease);background:0 0;border:0;justify-content:center;padding:0;display:flex;position:absolute;left:0;right:0}.reader-nav:before{content:"";z-index:-1;background:color-mix(in srgb, currentColor 6%, transparent);-webkit-backdrop-filter:blur(16px)saturate(150%);position:absolute;inset:0}.reader-nav.top{padding-top:50px;padding-top:calc(50px + env(safe-area-inset-top,0px));height:calc(96px + env(safe-area-inset-top,0px));align-items:flex-start;top:0}.reader-nav.bottom{padding-bottom:44px;padding-bottom:calc(44px + env(safe-area-inset-bottom,0px));height:calc(96px + env(safe-area-inset-bottom,0px));align-items:flex-end;bottom:0}.reader-nav.top:before{-webkit-mask-image:linear-gradient(#000 45%,#0000);mask-image:linear-gradient(#000 45%,#0000)}.reader-nav.bottom:before{-webkit-mask-image:linear-gradient(#0000,#000 55%);mask-image:linear-gradient(#0000,#000 55%)}.reader-nav .chip{background:color-mix(in srgb, currentColor 9%, transparent);width:44px;height:44px;transition:transform .12s var(--ease), background .12s var(--ease);border-radius:999px;place-items:center;display:grid}.reader-nav:hover .chip{background:color-mix(in srgb, currentColor 16%, transparent)}.reader-nav:active .chip{transform:scale(.9)}@keyframes reader-nav-in{0%{opacity:0}to{opacity:1}}.reader-bookmark{z-index:22;top:calc(64px + env(safe-area-inset-top,0px));right:max(18px, env(safe-area-inset-right,0px));cursor:pointer;width:26px;height:34px;color:color-mix(in srgb, currentColor 26%, transparent);transition:color .15s var(--ease), transform .1s var(--ease);-webkit-tap-highlight-color:transparent;background:0 0;border:0;place-items:start center;padding:0;display:grid;position:absolute}.reader-bookmark:hover{color:color-mix(in srgb, currentColor 50%, transparent)}.reader-bookmark.on{color:#a9852f}.reader-bookmark:active{transform:translateY(1px)scale(.96)}.ann-scrim{z-index:39;position:fixed;inset:0}.ann-pop{z-index:40;color:inherit;--pop-ink:14%;align-items:center;gap:var(--s2);max-width:min(360px, calc(100vw - var(--s4)));background:color-mix(in srgb, var(--rfg,#000) var(--pop-ink), var(--rbg,#faf7f0));border:1px solid color-mix(in srgb, var(--rfg,#000) 22%, transparent);animation:reader-nav-in .14s var(--ease);border-radius:999px;flex-wrap:wrap;justify-content:center;padding:6px 8px;display:flex;position:fixed;box-shadow:0 12px 34px #00000047}.reader-page[data-rtheme=dark] .ann-pop,.reader-page[data-rtheme=oled] .ann-pop{--pop-ink:22%}.ann-swatches{gap:6px;display:flex}.ann-swatch{cursor:pointer;width:26px;height:26px;transition:transform .1s var(--ease);border:2px solid #0000;border-radius:50%}.ann-swatch:hover{transform:scale(1.12)}.ann-swatch.on{border-color:color-mix(in srgb, currentColor 55%, transparent)}.ann-sep{background:color-mix(in srgb, var(--rfg,#000) 18%, transparent);align-self:stretch;width:1px;margin:2px}.ann-icon-btn{width:28px;height:28px;color:inherit;cursor:pointer;-webkit-tap-highlight-color:transparent;transition:background .12s var(--ease), transform .1s var(--ease);background:0 0;border:0;border-radius:50%;place-items:center;padding:0;display:grid}.ann-icon-btn:hover{background:color-mix(in srgb, var(--rfg,#000) 14%, transparent)}.ann-icon-btn:active{transform:scale(.92)}.ann-icon-btn.danger{color:var(--danger,#b4462f)}.reader-page[data-rtheme=dark] .ann-icon-btn.danger,.reader-page[data-rtheme=oled] .ann-icon-btn.danger{color:#e0876b}.ann-pop.menu{max-width:min(320px, calc(100vw - var(--s4)));border-radius:16px;flex-direction:column;align-items:stretch;gap:8px}.ann-pop.menu .ann-row{align-items:center;gap:var(--s2);flex-wrap:wrap;display:flex}.ann-note-text{font-size:var(--t-sm);opacity:.85;overscroll-behavior:contain;max-height:7.25em;padding:2px 4px;line-height:1.45;overflow:auto}.note-overlay{z-index:50;background:color-mix(in srgb, var(--rfg,#000) 20%, transparent);-webkit-backdrop-filter:blur(2px);animation:fade .2s var(--ease);justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.note-editor{z-index:51;width:min(520px,92vw);color:inherit;gap:var(--s3);padding:var(--s4);background:color-mix(in srgb, var(--rfg,#000) 10%, var(--rbg,#faf7f0));border:1px solid color-mix(in srgb, currentColor 16%, transparent);border-radius:18px;flex-direction:column;display:flex;position:relative;box-shadow:0 18px 50px #0006}.note-editor textarea{resize:vertical;width:100%;min-height:120px;font:inherit;font-size:var(--t-base);padding:var(--s3);border:1px solid color-mix(in srgb, currentColor 18%, transparent);background:color-mix(in srgb, currentColor 5%, transparent);color:inherit;border-radius:12px;line-height:1.5}.note-editor textarea:focus{outline:2px solid color-mix(in srgb, currentColor 30%, transparent);outline-offset:1px}.note-editor-actions{justify-content:flex-end;gap:var(--s2);display:flex}.notes-sheet{width:100%;max-width:560px;color:inherit;background:color-mix(in srgb, var(--rfg,#000) 7%, var(--rbg,#faf7f0));border-top:1px solid color-mix(in srgb, currentColor 12%, transparent);max-height:88dvh;animation:sheetup .32s var(--spring);border-radius:26px 26px 0 0;flex-direction:column;display:flex;overflow:hidden;box-shadow:0 -18px 44px -18px #00000073}.notes-head{padding:2px var(--s5) var(--s3);justify-content:space-between;align-items:center;display:flex}.notes-head h4{font-family:var(--font-display);font-size:var(--t-md);align-items:baseline;gap:var(--s2);margin:0;display:flex}.notes-count{font-family:var(--font-ui);font-size:var(--t-xs);opacity:.5;font-weight:500}.notes-filters{justify-content:space-between;align-items:center;gap:var(--s3);padding:0 var(--s5) var(--s3);border-bottom:1px solid color-mix(in srgb, currentColor 10%, transparent);flex-wrap:wrap;display:flex}.nf-seg{background:color-mix(in srgb, currentColor 7%, transparent);border-radius:999px;gap:3px;padding:3px;display:inline-flex}.nf-seg button{font-family:var(--font-ui);font-size:var(--t-sm);cursor:pointer;color:inherit;opacity:.6;transition:background .12s var(--ease), opacity .12s var(--ease);background:0 0;border:0;border-radius:999px;padding:6px 12px}.nf-seg button.on{background:color-mix(in srgb, currentColor 13%, transparent);opacity:1;font-weight:600}.notes-colors{gap:var(--s2);display:flex}.notes-colors .nc{cursor:pointer;opacity:.45;width:20px;height:20px;transition:opacity .12s var(--ease), transform .12s var(--ease);border:2px solid #0000;border-radius:50%}.notes-colors .nc:hover{opacity:.8}.notes-colors .nc.on{opacity:1;border-color:color-mix(in srgb, currentColor 55%, transparent);transform:scale(1.1)}.notes-list{padding:var(--s2) var(--s3) var(--s6);-webkit-overflow-scrolling:touch;padding-bottom:calc(var(--s6) + env(safe-area-inset-bottom,0px));overscroll-behavior:contain;overflow-y:auto}.note-group{margin-top:var(--s3)}.note-chapter{font-family:var(--font-ui);font-size:var(--t-xs);letter-spacing:.1em;text-transform:uppercase;opacity:.5;padding:var(--s2) var(--s2) var(--s1)}.note-item{gap:var(--s3);text-align:left;width:100%;padding:var(--s3) var(--s2);cursor:pointer;color:inherit;font:inherit;background:0 0;border:0;border-radius:12px;align-items:flex-start;display:flex}.note-item:hover{background:color-mix(in srgb, currentColor 6%, transparent)}.note-bar{border-radius:999px;flex:0 0 4px;align-self:stretch;min-height:22px}.note-ribbon{color:#a9852f;flex:none;padding-top:2px;display:flex}.note-ribbon svg{width:13px;height:19px}.note-body{flex-direction:column;gap:5px;min-width:0;display:flex}.note-excerpt{font-family:var(--font-read);font-size:var(--t-base);line-height:1.5}.note-excerpt.muted{opacity:.55;font-style:italic}.note-text{font-family:var(--font-ui);font-size:var(--t-sm);opacity:.8;padding-left:var(--s3);border-left:2px solid color-mix(in srgb, currentColor 22%, transparent);line-height:1.5}.note-meta{font-family:var(--font-ui);font-size:var(--t-xs);opacity:.5}.notes-empty{padding:var(--s7) var(--s5);text-align:center;opacity:.6;font-family:var(--font-read);line-height:1.6}.note-btn{font-family:var(--font-ui);font-size:var(--t-sm);cursor:pointer;color:inherit;border:1px solid color-mix(in srgb, currentColor 22%, transparent);transition:background .12s var(--ease);background:0 0;border-radius:999px;padding:8px 18px}.note-btn:hover{background:color-mix(in srgb, currentColor 8%, transparent)}.note-btn.primary{background:#a9852f4d;border-color:#a9852f73;font-weight:600}.note-btn.primary:hover{background:#a9852f6b}.reader-bar{z-index:30;align-items:center;gap:var(--s3);padding:var(--s3) var(--s4);padding-left:max(var(--s4), env(safe-area-inset-left,0px));padding-right:max(var(--s4), env(safe-area-inset-right,0px));background:color-mix(in srgb, currentColor 6%, transparent);-webkit-backdrop-filter:blur(16px)saturate(150%);color:inherit;transition:opacity .3s var(--ease), transform .3s var(--ease);display:flex;position:absolute;left:0;right:0}.reader-bar.top{border-bottom:1px solid color-mix(in srgb, currentColor 12%, transparent);padding-top:calc(var(--s3) + env(safe-area-inset-top,0px));top:0}.reader-bar.bottom{border-top:1px solid color-mix(in srgb, currentColor 12%, transparent);align-items:stretch;gap:var(--s2);font-size:var(--t-xs);font-variant-numeric:tabular-nums;padding-bottom:calc(var(--s3) + env(safe-area-inset-bottom,0px));flex-direction:column;bottom:0}.reader-bar.top.hidden{opacity:0;pointer-events:none;transform:translateY(-100%)}.reader-bar.bottom.hidden{opacity:0;pointer-events:none;transform:translateY(100%)}.reader-title{font-family:var(--font-display);font-size:var(--t-base);text-align:center;white-space:nowrap;text-overflow:ellipsis;opacity:.85;flex:1;overflow:hidden}.reader-bar-actions{gap:var(--s1);display:flex}.reader-bar .icon-btn{width:36px;height:36px;font-size:16px}.reader-progress{background:color-mix(in srgb, currentColor 15%, transparent);border-radius:999px;height:3px;overflow:hidden}.reader-progress i{opacity:.55;background:currentColor;height:100%;display:block}.sheet-overlay{z-index:50;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);animation:fade .2s var(--ease);background:#0a0a0c59;justify-content:center;align-items:flex-end;display:flex;position:fixed;inset:0}@keyframes fade{0%{opacity:0}}.sheet{background:color-mix(in srgb, var(--surface) 92%, transparent);-webkit-backdrop-filter:blur(24px)saturate(160%);width:100%;max-width:480px;color:var(--ink);border-top:1px solid color-mix(in srgb, #fff 25%, var(--border));padding:var(--s2) var(--s5) var(--s7);padding-bottom:calc(var(--s7) + env(safe-area-inset-bottom,0px));overscroll-behavior:contain;max-height:92dvh;animation:sheetup .32s var(--spring);border-radius:26px 26px 0 0;overflow-y:auto;box-shadow:0 -18px 40px -20px #0006}@keyframes sheetup{0%{transform:translateY(100%)}}.grabber{background:var(--muted);opacity:.4;width:38px;height:5px;margin:var(--s2) auto var(--s4);border-radius:999px}.sheet-head{margin-bottom:var(--s5);justify-content:space-between;align-items:center;display:flex}.sheet-head h4{font-size:var(--t-md);margin:0}.set-row{margin-bottom:var(--s5)}.set-label{font-size:var(--t-xs);letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin-bottom:var(--s3);font-weight:700}.theme-mini{gap:var(--s3);display:flex}.theme-mini .tm{border:1px solid var(--border);cursor:pointer;border-radius:12px;flex:1;height:46px}.theme-mini .tm.on{box-shadow:0 0 0 2px var(--accent);border-color:#0000}.seg{background:var(--surface-2);border:1px solid var(--border);border-radius:12px;gap:3px;padding:3px;display:flex}.seg button{text-align:center;font-size:var(--t-sm);color:var(--muted);transition:background .15s var(--ease), color .15s var(--ease);background:0 0;border:none;border-radius:9px;flex:1;padding:8px 4px;font-weight:500}.seg button.on{background:var(--surface);color:var(--ink);box-shadow:var(--shadow-sm);font-weight:600}.fs-row{align-items:center;gap:var(--s4);display:flex}.fs-row input[type=range]{accent-color:var(--accent);flex:1}.fs-a{color:var(--muted);font-size:14px}.fs-b{color:var(--muted);font-size:24px}.toc{overscroll-behavior:contain;flex-direction:column;max-height:55dvh;display:flex;overflow-y:auto}.toc-item{text-align:left;border:none;border-bottom:1px solid var(--border);padding:var(--s3) var(--s2);color:var(--ink);font-size:var(--t-base);font-family:var(--font-read);background:0 0}.toc-item:hover{background:var(--surface-2)}@media (width<=760px){.lib-main{padding-top:var(--s6);padding-bottom:var(--s8)}.continue{margin-bottom:var(--s7)}}@media (width<=560px){.lib-topbar{gap:var(--s2);padding-left:max(var(--s4), env(safe-area-inset-left,0px));padding-right:max(var(--s4), env(safe-area-inset-right,0px))}.brand-lockup{gap:var(--s2)}.brand-lockup b{font-size:var(--t-base)}.lib-topbar .btn-primary{width:42px;height:42px;font-size:var(--t-md);border-radius:50%;padding:0}.lib-topbar .btn-primary .btn-label{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.lib-topbar .btn-ghost:not(.icon-btn){font-size:var(--t-sm);padding:9px 12px}.lib-main{padding-top:var(--s5);padding-bottom:var(--s8);padding-left:max(var(--s4), env(safe-area-inset-left,0px));padding-right:max(var(--s4), env(safe-area-inset-right,0px))}.continue{margin-bottom:var(--s6)}.continue-card{padding:var(--s3);gap:var(--s3)}.cover-md{width:48px;height:72px}.continue-meta b{font-size:var(--t-base)}.shelf{gap:var(--s4);grid-template-columns:repeat(auto-fill,minmax(120px,1fr))}.login-card{width:100%;padding:var(--s6) var(--s5);gap:var(--s3)}.login-title{font-size:var(--t-lg)}.btn-lg{font-size:var(--t-base);padding:12px 18px}.empty-mark{font-size:34px}.sheet,.notes-head,.notes-filters{padding-left:var(--s4);padding-right:var(--s4)}.nf-seg{flex-wrap:wrap}.nf-seg button{font-size:var(--t-xs);padding:6px 10px}.notes-filters{gap:var(--s2)}}@media (pointer:coarse){.reader-bar .icon-btn{width:40px;height:40px}.ann-swatch{width:30px;height:30px}.notes-colors .nc{width:24px;height:24px}.toc-item{padding:var(--s4) var(--s2)}}@media (prefers-reduced-transparency:reduce){.lib-topbar,.reader-bar,.sheet{-webkit-backdrop-filter:none}.lib-topbar{background:var(--paper)}.sheet{background:var(--surface)}}
