:root{color-scheme:light;--bg:#f5f3ec;--bg-elevated:#fbfaf6;--surface:rgba(255,255,255,0.72);--surface-solid:#fffefb;--surface-muted:#ece9df;--ink:#17201b;--ink-secondary:#59625d;--ink-tertiary:#7c847f;--line:rgba(31,49,40,0.14);--line-strong:rgba(31,49,40,0.24);--accent:#1f4d3e;--accent-hover:#173e32;--accent-soft:#dbe9e2;--gold:#d5a93e;--danger:#a84338;--shadow-sm:0 1px 2px rgba(22,31,26,0.05),0 8px 28px rgba(22,31,26,0.06);--shadow-lg:0 28px 80px rgba(19,37,29,0.16),0 8px 24px rgba(19,37,29,0.08);--radius-sm:10px;--radius-md:16px;--radius-lg:24px;--page-width:1240px;--system-font:-apple-system,BlinkMacSystemFont,"SF Pro Text","SF Pro Display","Segoe UI",sans-serif}@media (prefers-color-scheme:dark){:root{color-scheme:dark;--bg:#121713;--bg-elevated:#171e19;--surface:rgba(28,37,31,0.78);--surface-solid:#1c251f;--surface-muted:#252f29;--ink:#eef3ef;--ink-secondary:#b6c1ba;--ink-tertiary:#8f9b94;--line:rgba(224,239,229,0.14);--line-strong:rgba(224,239,229,0.24);--accent:#82b9a1;--accent-hover:#9bceb8;--accent-soft:#243d32;--gold:#e0bd62;--danger:#ed9187;--shadow-sm:0 1px 2px rgba(0,0,0,0.18),0 8px 28px rgba(0,0,0,0.22);--shadow-lg:0 28px 80px rgba(0,0,0,0.34),0 8px 24px rgba(0,0,0,0.24)}}*{box-sizing:border-box}html{scroll-behavior:smooth;background:var(--bg)}body{margin:0;min-height:100vh;background:radial-gradient(circle at 10% -10%,color-mix(in srgb,var(--accent-soft) 65%,transparent),transparent 38rem),var(--bg);color:var(--ink);font-family:var(--system-font);font-size:16px;line-height:1.5;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}button,input,select,textarea{font:inherit}a,button{-webkit-tap-highlight-color:transparent}a{text-decoration:none}a,button{color:inherit}img{max-width:100%}::selection{background:color-mix(in srgb,var(--gold) 45%,transparent)}:focus-visible{outline:3px solid color-mix(in srgb,var(--accent) 48%,transparent);outline-offset:3px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.site-header{position:sticky;top:0;z-index:80;padding:max(10px,env(safe-area-inset-top)) 20px 10px;background:color-mix(in srgb,var(--bg) 76%,transparent);backdrop-filter:blur(24px) saturate(160%);-webkit-backdrop-filter:blur(24px) saturate(160%)}.site-header:after{content:"";position:absolute;left:6%;right:6%;bottom:0;height:1px;background:linear-gradient(90deg,transparent,var(--line),transparent)}.site-header__inner{max-width:var(--page-width);margin:0 auto;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;min-height:46px}.wordmark{justify-self:start;display:inline-flex;align-items:center;gap:10px;font-weight:720;letter-spacing:-.025em}.wordmark__mark{display:grid;place-items:center;width:30px;height:30px;border-radius:9px;background:var(--accent);color:#fff;font-family:Georgia,serif;font-size:17px;box-shadow:inset 0 1px rgba(255,255,255,.25)}.site-nav{display:flex;align-items:center;gap:4px;padding:4px;border:1px solid var(--line);border-radius:14px;background:var(--surface);box-shadow:var(--shadow-sm)}.site-nav__link{display:inline-flex;align-items:center;gap:7px;min-height:36px;padding:0 13px;border-radius:10px;color:var(--ink-secondary);font-size:14px;font-weight:590;transition:background .15s ease,color .15s ease,transform .1s ease}.site-nav__link:active{transform:scale(.97)}.site-nav__link[data-active]{background:var(--surface-solid);color:var(--ink);box-shadow:0 1px 5px rgba(20,35,27,.08)}.site-header__inner>.icon-button{justify-self:end}.icon-button{display:inline-grid;place-items:center;width:38px;height:38px;padding:0;border:1px solid var(--line);border-radius:11px;background:var(--surface);cursor:pointer;transition:transform .1s ease,background .15s ease,border-color .15s ease}.icon-button:hover{background:var(--surface-solid);border-color:var(--line-strong)}.icon-button:active{transform:scale(.94)}.icon-button:disabled{opacity:.35;cursor:not-allowed}.icon-button--danger{color:var(--danger)}.button{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:42px;padding:0 17px;border:1px solid transparent;border-radius:12px;font-weight:650;font-size:14px;cursor:pointer;transition:transform .1s ease,background .15s ease,border-color .15s ease,color .15s ease}.button:active{transform:scale(.975)}.button:disabled{opacity:.55;cursor:wait}.button--primary{color:#fff;background:var(--accent);box-shadow:0 8px 24px color-mix(in srgb,var(--accent) 22%,transparent)}.button--primary:hover{background:var(--accent-hover)}.button--secondary{color:var(--ink);background:var(--surface);border-color:var(--line)}.button--secondary:hover{background:var(--surface-solid);border-color:var(--line-strong)}.button--ghost{color:var(--ink-secondary);background:transparent}.button--ghost:hover{background:var(--surface-muted);color:var(--ink)}.button--large{min-height:50px;padding-inline:21px;border-radius:14px;font-size:15px}.button--small{min-height:36px;padding-inline:13px;border-radius:10px;font-size:13px}.eyebrow{margin:0 0 8px;color:var(--accent);font-size:12px;line-height:1.2;font-weight:760;letter-spacing:.12em;text-transform:uppercase}.page-shell{width:min(calc(100% - 40px),var(--page-width));margin:0 auto;padding:58px 0 96px}.page-intro{max-width:720px;margin-bottom:38px}.page-intro--compact{margin-bottom:26px}.admin-heading h1,.page-intro h1,.prose-page h1{margin:0;font-size:clamp(38px,6vw,64px);line-height:1.02;letter-spacing:-.045em;font-weight:760}.admin-heading p,.page-intro p:not(.eyebrow){color:var(--ink-secondary);font-size:18px;line-height:1.55}.hero{width:min(calc(100% - 40px),var(--page-width));min-height:650px;margin:0 auto;padding:88px 0 68px;display:grid;grid-template-columns:1.02fr .98fr;align-items:center;gap:60px}.hero__content{max-width:660px}.hero h1{margin:0;max-width:720px;font-size:clamp(54px,7.4vw,100px);line-height:.93;letter-spacing:-.065em;font-weight:760}.hero__lede{max-width:610px;margin:28px 0 0;color:var(--ink-secondary);font-size:clamp(17px,2vw,20px);line-height:1.58}.hero__actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:34px}.hero__visual{position:relative;min-height:520px;border-radius:42px;background:linear-gradient(145deg,color-mix(in srgb,var(--accent-soft) 82%,var(--surface-solid)),var(--surface-muted));overflow:hidden;box-shadow:inset 0 0 0 1px var(--line),var(--shadow-lg);isolation:isolate}.hero__visual:before{width:480px;height:480px;top:-160px;right:-120px;background:color-mix(in srgb,var(--gold) 26%,transparent);filter:blur(2px)}.hero__visual:after,.hero__visual:before{content:"";position:absolute;border-radius:50%}.hero__visual:after{inset:auto -20% -38% 5%;height:55%;background:color-mix(in srgb,var(--accent) 16%,transparent);filter:blur(30px)}.floating-book{position:absolute;z-index:2;width:205px;aspect-ratio:.68;padding:28px 24px;display:flex;flex-direction:column;justify-content:space-between;border-radius:7px 16px 16px 7px;color:#f7f4e9;box-shadow:22px 30px 50px rgba(17,36,27,.22),inset 4px 0 rgba(255,255,255,.13);transform:rotate(-8deg)}.floating-book span{font-size:11px;letter-spacing:.15em;text-transform:uppercase;opacity:.72}.floating-book strong{font-family:Georgia,serif;font-size:31px;line-height:1.02;font-weight:500}.floating-book--one{top:82px;left:72px;background:#1e4a3c}.floating-book--two{top:145px;right:55px;background:#8a503f;transform:rotate(7deg)}.hero-note,.hero-offline{position:absolute;z-index:4;display:flex;align-items:center;gap:9px;padding:12px 15px;border:1px solid rgba(255,255,255,.48);border-radius:14px;background:rgba(255,255,255,.72);color:#1c2a23;backdrop-filter:blur(18px) saturate(150%);box-shadow:0 12px 36px rgba(18,38,28,.16);font-weight:630;font-size:13px}.hero-note{left:42px;bottom:62px}.hero-offline{right:38px;bottom:34px}.promise-strip{width:min(calc(100% - 40px),var(--page-width));margin:0 auto;display:grid;grid-template-columns:repeat(3,1fr);border-block:1px solid var(--line)}.promise-strip>div{display:flex;align-items:center;justify-content:center;gap:13px;padding:24px;color:var(--accent)}.promise-strip>div+div{border-left:1px solid var(--line)}.promise-strip span{display:grid;color:var(--ink-secondary);font-size:13px}.promise-strip strong{color:var(--ink);font-size:14px}.catalog-section{scroll-margin-top:88px}.section-heading{display:flex;align-items:end;justify-content:space-between;gap:24px}.section-heading h2{margin:0;font-size:clamp(34px,4vw,52px);line-height:1.05;letter-spacing:-.045em}.search-field{width:min(360px,100%);display:flex;align-items:center;gap:9px;min-height:46px;padding:0 14px;border:1px solid var(--line);border-radius:14px;background:var(--surface);color:var(--ink-tertiary);box-shadow:var(--shadow-sm)}.search-field:focus-within{border-color:color-mix(in srgb,var(--accent) 50%,var(--line));background:var(--surface-solid)}.search-field input{width:100%;border:0;outline:0;background:transparent;color:var(--ink)}.category-row{display:flex;gap:8px;overflow-x:auto;padding:24px 1px 26px;scrollbar-width:none}.category-row::-webkit-scrollbar{display:none}.category-chip{flex:0 0 auto;min-height:36px;padding:0 14px;border:1px solid var(--line);border-radius:999px;background:var(--surface);color:var(--ink-secondary);cursor:pointer;font-size:13px;font-weight:620;transition:transform .1s ease,background .15s ease,color .15s ease}.category-chip:active{transform:scale(.96)}.category-chip[data-active]{background:var(--accent);border-color:var(--accent);color:#fff}.demo-note{padding:10px 13px;border:1px solid color-mix(in srgb,var(--gold) 36%,var(--line));border-radius:11px;background:color-mix(in srgb,var(--gold) 10%,transparent);color:var(--ink-secondary);font-size:13px}.book-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:34px 22px}.book-card{min-width:0}.book-card__cover-link{display:block;transition:transform .25s cubic-bezier(.2,.8,.2,1)}.book-card__cover-link:hover{transform:translateY(-5px)}.book-cover{position:relative;width:100%;aspect-ratio:.69;overflow:hidden;border-radius:8px 18px 18px 8px;background:var(--surface-muted);box-shadow:10px 18px 38px rgba(24,39,31,.15),inset 3px 0 rgba(255,255,255,.22)}.book-cover__image{width:100%;height:100%;display:block;object-fit:cover}.book-cover--fallback{display:flex;flex-direction:column;justify-content:flex-end;gap:20px;padding:24px;color:#f6f1e5;background:linear-gradient(145deg,#254f42,#18382f)}.book-cover--fallback:after{content:"";position:absolute;inset:7% 7% auto auto;width:44%;aspect-ratio:1;border:1px solid rgba(255,255,255,.15);border-radius:50%}.book-cover--fallback span{position:relative;z-index:1;font-family:Georgia,serif;font-size:clamp(19px,2.2vw,28px);line-height:1.08}.book-card__body{padding:16px 4px 0}.book-card__meta{display:flex;align-items:center;gap:7px;color:var(--ink-tertiary);font-size:11px;font-weight:670;letter-spacing:.06em;text-transform:uppercase}.book-card h3{margin:7px 0 2px;font-size:18px;line-height:1.25;letter-spacing:-.02em}.book-card__author{margin:0;color:var(--ink-secondary);font-size:14px}.book-card__actions{min-height:36px;margin-top:12px;display:flex;align-items:center;justify-content:space-between;border-top:1px solid var(--line);padding-top:10px}.book-card__download{display:inline-flex;align-items:center;gap:6px;color:var(--ink-tertiary);font-size:12px}.book-card__open{display:grid;place-items:center;width:30px;height:30px;border-radius:50%;background:var(--surface-muted);color:var(--accent)}.book-card-skeleton,.local-book-skeleton{min-height:390px;border-radius:18px;background:linear-gradient(100deg,var(--surface-muted) 15%,var(--surface-solid) 35%,var(--surface-muted) 55%);background-size:220% 100%;animation:shimmer 1.6s linear infinite}.storage-card{display:flex;align-items:center;gap:15px;padding:17px;border:1px solid var(--line);border-radius:17px;background:var(--surface);box-shadow:var(--shadow-sm)}.storage-card__icon{display:grid;place-items:center;flex:0 0 auto;width:42px;height:42px;border-radius:13px;color:var(--accent);background:var(--accent-soft)}.storage-card__content{flex:1;min-width:0}.storage-card__topline{display:flex;justify-content:space-between;gap:12px;font-size:13px}.storage-card p,.storage-card__topline span{color:var(--ink-secondary)}.storage-card p{margin:6px 0 0;font-size:12px}.download-progress,.storage-meter,.upload-meter{height:5px;margin-top:9px;overflow:hidden;border-radius:999px;background:var(--surface-muted)}.download-progress span,.storage-meter span,.upload-meter span{display:block;height:100%;border-radius:inherit;background:var(--accent);transition:width .18s ease-out}.library-summary{display:flex;justify-content:space-between;margin:30px 0 14px;color:var(--ink-secondary);font-size:14px}.library-summary strong{color:var(--ink)}.local-list{display:grid;gap:14px}.local-book{position:relative;display:grid;grid-template-columns:108px 1fr auto;gap:20px;align-items:center;min-height:164px;padding:16px;border:1px solid var(--line);border-radius:20px;background:var(--surface);box-shadow:var(--shadow-sm)}.local-book__cover .book-cover{height:132px}.local-book__content h2{margin:0;font-size:21px;letter-spacing:-.025em}.local-book__content>p:not(.eyebrow){margin:2px 0 10px;color:var(--ink-secondary)}.local-book__progress{display:flex;align-items:center;gap:12px;max-width:490px}.local-book__progress>div{flex:1;height:5px;overflow:hidden;border-radius:999px;background:var(--surface-muted)}.local-book__progress>div span{display:block;height:100%;background:var(--accent);border-radius:inherit}.local-book__progress>span{color:var(--ink-tertiary);font-size:12px}.local-book__actions{display:flex;gap:6px;margin-top:13px}.local-book__more{align-self:start}.empty-state{display:grid;place-items:center;text-align:center;min-height:270px;padding:36px;border:1px dashed var(--line-strong);border-radius:22px;background:color-mix(in srgb,var(--surface) 62%,transparent)}.empty-state h2,.empty-state h3{margin:12px 0 4px}.empty-state p{max-width:480px;margin:0 0 18px;color:var(--ink-secondary)}.empty-state--large{min-height:420px}.empty-state--large>div{display:grid;place-items:center;width:58px;height:58px;border-radius:18px;background:var(--accent-soft);color:var(--accent)}.download-screen{min-height:100vh;display:grid;grid-template-rows:auto 1fr;padding:max(24px,env(safe-area-inset-top)) 26px max(26px,env(safe-area-inset-bottom))}.back-link{display:inline-flex;align-items:center;gap:7px;width:fit-content;color:var(--ink-secondary);font-size:14px;font-weight:620}.download-card{place-self:center;width:min(100%,560px);padding:clamp(30px,5vw,52px);border:1px solid var(--line);border-radius:30px;background:var(--surface);box-shadow:var(--shadow-lg);text-align:center}.download-card__icon{display:grid;place-items:center;width:64px;height:64px;margin:0 auto 22px;border-radius:20px;color:var(--accent);background:var(--accent-soft)}.download-card h1{margin:0;font-size:clamp(34px,6vw,52px);line-height:1.02;letter-spacing:-.045em}.download-card__author{color:var(--accent);font-weight:650}.download-card>p:not(.eyebrow):not(.download-card__author):not(.download-card__privacy):not(.form-error){color:var(--ink-secondary)}.download-card__facts{display:flex;justify-content:center;flex-wrap:wrap;gap:8px;margin:24px 0}.download-card__facts span{padding:7px 10px;border-radius:999px;background:var(--surface-muted);color:var(--ink-secondary);font-size:12px}.download-card .button{width:100%}.download-card__privacy{display:flex;align-items:center;justify-content:center;gap:6px;margin:16px 0 0;color:var(--ink-tertiary);font-size:12px}.reader-shell{height:100dvh;overflow:hidden;background:#d8d6cf;color:#17201b}.reader-topbar{position:relative;z-index:30;min-height:64px;padding:max(10px,env(safe-area-inset-top)) 14px 10px;display:grid;grid-template-columns:auto minmax(160px,1fr) auto;align-items:center;gap:12px;border-bottom:1px solid rgba(24,35,29,.12);background:rgba(250,249,245,.84);backdrop-filter:blur(24px) saturate(170%)}.reader-title{min-width:0;display:grid;justify-items:start}.reader-title span,.reader-title strong{overflow:hidden;white-space:nowrap;text-overflow:ellipsis;max-width:100%}.reader-title strong{font-size:14px}.reader-title span{color:#667069;font-size:11px}.reader-tools{display:flex;align-items:center;gap:3px;padding:4px;border:1px solid rgba(24,35,29,.12);border-radius:13px;background:rgba(255,255,255,.66);box-shadow:0 4px 18px rgba(20,32,26,.08)}.reader-tool{min-height:34px;padding:0 9px;display:inline-flex;align-items:center;gap:6px;border:0;border-radius:9px;background:transparent;color:#5f6963;cursor:pointer;font-size:12px;font-weight:620}.reader-tool:hover{background:rgba(31,77,62,.08);color:#1f4d3e}.reader-tool:active{transform:scale(.96)}.reader-tool[data-active]{background:#1f4d3e;color:#fff}.reader-tool--icon-only span{display:none}.reader-tools__divider{width:1px;height:22px;margin:0 3px;background:rgba(24,35,29,.12)}.reader-body{height:calc(100dvh - 64px);display:grid;grid-template-columns:minmax(0,1fr)}.reader-body[data-sidebar-open]{grid-template-columns:minmax(0,1fr) 310px}.extend-pdf-viewer{min-width:0;height:100%;display:flex;flex-direction:column;overflow:hidden;background:#d8d6cf}.extend-pdf-toolbar{position:relative;z-index:30;min-height:50px;padding:6px 12px;display:flex;align-items:center;gap:10px;border-bottom:1px solid rgba(24,35,29,.12);background:rgba(242,241,236,.92);backdrop-filter:blur(18px)}.extend-pdf-toolbar__group{display:inline-flex;align-items:center;gap:3px}.extend-pdf-toolbar__spacer{flex:1}.extend-pdf-toolbar .icon-button{width:34px;height:34px;border-color:rgba(24,35,29,.11);background:rgba(255,255,255,.58)}.extend-pdf-toolbar .icon-button[data-active]{background:#dbe7df;color:#1f4d3e}.page-control{height:34px;display:inline-flex;align-items:center;gap:4px;padding:0 9px;border:1px solid rgba(24,35,29,.11);border-radius:10px;background:rgba(255,255,255,.58);color:#6a746e;font-size:12px}.page-control input{width:36px;border:0;outline:0;background:transparent;color:#1d2721;text-align:right;font-weight:670}.zoom-label{min-width:48px;color:#5e6862;font-size:12px;text-align:center}.extend-pdf-workspace{min-width:0;min-height:0;flex:1;display:grid;grid-template-columns:minmax(0,1fr);overflow:hidden}.extend-pdf-workspace[data-thumbnails-open]{grid-template-columns:144px minmax(0,1fr)}.extend-pdf-thumbnails{position:relative;min-height:0;overflow:hidden;border-right:1px solid rgba(24,35,29,.12);background:#efeee9}.extend-pdf-thumbnail{position:absolute;left:0;width:100%;display:flex;flex-direction:column;align-items:center;justify-content:space-between;gap:4px;padding:8px;border:0;background:transparent;color:#68736c;cursor:pointer}.extend-pdf-thumbnail:hover,.extend-pdf-thumbnail[data-active]{background:#e0e6e0;color:#1f4d3e}.extend-pdf-thumbnail__image{display:grid;place-items:center;overflow:hidden;border:1px solid rgba(24,35,29,.14);border-radius:4px;background:#fff;box-shadow:0 4px 12px rgba(16,25,20,.12)}.extend-pdf-thumbnail__image canvas,.extend-pdf-thumbnail__image img{max-width:100%;max-height:100%;object-fit:contain}.extend-pdf-scroll{min-width:0;min-height:0;overscroll-behavior:contain;scroll-padding-top:22px;background:#d8d6cf}.extend-pdf-pages{min-width:100%}.extend-pdf-page{position:relative;overflow:hidden;background:#fff;box-shadow:0 4px 12px rgba(16,25,20,.14),0 20px 55px rgba(16,25,20,.13);touch-action:pan-x pan-y}.reader-pdf--highlight .extend-pdf-page,.reader-pdf--note .extend-pdf-page,.reader-pdf--pen .extend-pdf-page{touch-action:none}.reader-pdf--highlight .extend-pdf-page,.reader-pdf--pen .extend-pdf-page{cursor:crosshair}.reader-pdf--note .extend-pdf-page{cursor:copy}.extend-pdf-page__paper{background:#fff;pointer-events:none}.extend-pdf-page__paper,.extend-pdf-render-layer,.extend-pdf-search-layer,.extend-pdf-tiling-layer{position:absolute;inset:0}.extend-pdf-render-layer,.extend-pdf-search-layer,.extend-pdf-tiling-layer{pointer-events:none}.extend-pdf-page canvas{display:block}.extend-pdf-search{position:relative;display:inline-flex}.extend-pdf-search__panel{position:absolute;top:calc(100% + 8px);right:0;width:min(340px,calc(100vw - 32px));min-height:44px;padding:5px;display:flex;align-items:center;gap:4px;border:1px solid rgba(24,35,29,.14);border-radius:12px;background:#fff;box-shadow:0 16px 38px rgba(16,25,20,.18)}.extend-pdf-search__panel input{min-width:0;flex:1;height:34px;padding:0 9px;border:0;outline:0;background:transparent;color:#1d2721}.extend-pdf-search__count{min-width:38px;color:#6a746e;font-size:11px;text-align:center}.extend-pdf-selection-menu-wrapper{z-index:40}.extend-pdf-selection-menu{position:absolute;left:0;display:flex;gap:2px;padding:4px;border:1px solid rgba(24,35,29,.14);border-radius:10px;background:#fff;box-shadow:0 12px 30px rgba(16,25,20,.2);pointer-events:auto}.extend-pdf-selection-menu button{min-height:30px;padding:0 10px;border:0;border-radius:7px;background:transparent;color:#1d2721;font:inherit;font-size:12px;cursor:pointer}.extend-pdf-selection-menu button:hover{background:#edf2ee;color:#1f4d3e}.pdf-state,.reader-loading{min-height:100%;display:grid;place-items:center;align-content:center;gap:10px;color:#5e6862}.pdf-state p,.reader-loading p{margin:0}.pdf-state--error{color:#8c3c34}.spinner{width:20px;height:20px;border:2px solid color-mix(in srgb,currentColor 22%,transparent);border-top-color:currentcolor;border-radius:50%;animation:spin .8s linear infinite}.annotation-layer{position:absolute;inset:0;z-index:12;pointer-events:none}.annotation-highlight{position:absolute;z-index:2;padding:0;border:0;pointer-events:auto;mix-blend-mode:multiply;cursor:pointer}.annotation-highlight[data-erasing]{outline:2px dashed #b8453a;outline-offset:2px;display:grid;place-items:center;color:#8d2c25}.annotation-note{position:absolute;z-index:3;width:25px;height:25px;transform:translate(-50%,-50%);display:grid;place-items:center;padding:0;border:1px solid rgba(116,78,14,.28);border-radius:50% 50% 50% 8px;background:#f3c950;color:#3c3219;pointer-events:auto;cursor:pointer;box-shadow:0 5px 12px rgba(63,50,19,.22)}.annotation-note[data-erasing]{background:#c94f43;color:#fff}.annotation-drawing{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;overflow:visible}.notes-sidebar{min-width:0;overflow-y:auto;padding:18px;border-left:1px solid rgba(24,35,29,.12);background:#f6f5f1;color:#18221c}.notes-sidebar__header{display:flex;align-items:center;justify-content:space-between;padding-bottom:14px;border-bottom:1px solid rgba(24,35,29,.1)}.notes-sidebar__header h2{margin:0;font-size:23px;letter-spacing:-.03em}.notes-sidebar__header>span{min-width:28px;height:28px;display:grid;place-items:center;border-radius:50%;background:#e4e6e1;font-size:12px;font-weight:680}.notes-sidebar section{margin-top:22px}.notes-sidebar section h3{display:flex;align-items:center;gap:7px;margin:0 0 10px;font-size:13px}.notes-list{display:grid;gap:8px}.note-card{display:grid;grid-template-columns:1fr auto;border:1px solid rgba(24,35,29,.1);border-radius:12px;background:#fff;overflow:hidden}.note-card__body{padding:11px;border:0;background:transparent;text-align:left;cursor:pointer}.note-card__body span{color:#728078;font-size:10px;font-weight:700;letter-spacing:.06em;text-transform:uppercase}.note-card__body p{margin:3px 0 0;color:#2c3731;font-size:12px;line-height:1.4}.note-card__delete{align-self:start;width:34px;height:34px;margin:5px;display:grid;place-items:center;border:0;border-radius:9px;background:transparent;color:#8c3c34;cursor:pointer}.note-card__delete:hover{background:#f3e5e3}.sidebar-empty{margin:0;color:#7b857f;font-size:12px}.comment-dialog{width:min(calc(100% - 32px),470px);padding:0;border:1px solid var(--line);border-radius:22px;background:var(--surface-solid);color:var(--ink);box-shadow:var(--shadow-lg)}.comment-dialog::backdrop{background:rgba(12,18,14,.42);backdrop-filter:blur(7px)}.comment-dialog form{padding:26px}.comment-dialog h2{margin:0 0 16px;font-size:28px;letter-spacing:-.035em}.comment-dialog textarea{width:100%;resize:vertical;padding:13px;border:1px solid var(--line);border-radius:13px;background:var(--bg-elevated);color:var(--ink);outline:0}.comment-dialog textarea:focus{border-color:var(--accent)}.dialog-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:16px}.admin-lock-screen{min-height:100vh;display:grid;place-items:center;padding:24px}.admin-lock-card{width:min(100%,460px);padding:40px;border:1px solid var(--line);border-radius:28px;background:var(--surface);box-shadow:var(--shadow-lg)}.admin-lock-card__icon{width:54px;height:54px;display:grid;place-items:center;margin-bottom:22px;border-radius:17px;background:var(--accent-soft);color:var(--accent)}.admin-lock-card h1{margin:0;font-size:40px;line-height:1.05;letter-spacing:-.045em}.admin-lock-card>p:not(.eyebrow){color:var(--ink-secondary)}.admin-lock-card form{display:grid;gap:14px;margin-top:24px}.admin-heading{display:flex;align-items:end;justify-content:space-between;gap:24px;margin-bottom:30px}.admin-heading h1{font-size:clamp(42px,6vw,66px)}.admin-heading p:not(.eyebrow){margin:12px 0 0;max-width:600px;font-size:16px}.admin-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:24px}.admin-stats article{padding:20px;border:1px solid var(--line);border-radius:18px;background:var(--surface);box-shadow:var(--shadow-sm)}.admin-stats span{display:block;color:var(--ink-secondary);font-size:12px}.admin-stats strong{display:block;margin-top:4px;font-size:28px;letter-spacing:-.04em}.admin-section{margin-top:16px;padding:24px;border:1px solid var(--line);border-radius:22px;background:var(--surface);box-shadow:var(--shadow-sm)}.admin-section__heading{display:flex;align-items:center;justify-content:space-between;margin-bottom:18px}.admin-section h2{margin:0;font-size:28px;letter-spacing:-.035em}.book-form{display:grid;gap:15px}.form-grid{display:grid;gap:12px}.form-grid--two{grid-template-columns:repeat(2,minmax(0,1fr))}.field{display:grid;gap:6px}.field>span,.file-field>span{color:var(--ink-secondary);font-size:12px;font-weight:670}.admin-table select,.field input,.field select,.field textarea{width:100%;min-height:43px;padding:9px 11px;border:1px solid var(--line);border-radius:11px;background:var(--bg-elevated);color:var(--ink);outline:none}.field textarea{min-height:100px;resize:vertical}.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--accent);box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 12%,transparent)}.field--small{width:150px}.file-field{min-height:112px;display:grid;align-content:center;gap:6px;padding:15px;border:1px dashed var(--line-strong);border-radius:15px;background:color-mix(in srgb,var(--surface-muted) 45%,transparent)}.file-field input{max-width:100%}.file-field small{color:var(--ink-tertiary)}.form-row{display:flex;align-items:end;gap:14px}.form-row .button{margin-left:auto}.checkbox-field{min-height:43px;display:inline-flex;align-items:center;gap:8px;color:var(--ink-secondary);font-size:13px}.checkbox-field input{width:18px;height:18px;accent-color:var(--accent)}.form-error{padding:10px 12px;border:1px solid color-mix(in srgb,var(--danger) 35%,transparent);border-radius:11px;background:color-mix(in srgb,var(--danger) 8%,transparent);color:var(--danger);font-size:13px}.admin-table-wrap{overflow-x:auto}.admin-table{width:100%;border-collapse:collapse;font-size:13px}@media (max-width:760px){.extend-pdf-toolbar{gap:5px;padding-inline:7px}.extend-pdf-toolbar__group{gap:1px}.extend-pdf-workspace[data-thumbnails-open]{grid-template-columns:112px minmax(0,1fr)}.reader-body[data-sidebar-open]{grid-template-columns:minmax(0,1fr)}.notes-sidebar{position:fixed;z-index:50;inset:64px 0 0 auto;width:min(88vw,340px);box-shadow:-18px 0 44px rgba(16,25,20,.18)}}.admin-table th{padding:10px 12px;color:var(--ink-tertiary);text-align:left;font-size:11px;letter-spacing:.06em;text-transform:uppercase}.admin-table td,.admin-table th{border-bottom:1px solid var(--line)}.admin-table td{padding:13px 12px;color:var(--ink-secondary)}.admin-table td:first-child{min-width:260px}.admin-table td span,.admin-table td strong{display:block}.admin-table td strong{color:var(--ink)}.admin-table td span{font-size:12px}.admin-table select{min-width:120px;min-height:36px;padding:6px 8px}.table-loading{padding:40px;text-align:center;color:var(--ink-secondary)}.prose-page{max-width:820px}.prose-page h1{max-width:760px}.prose-page__lead{margin:26px 0 56px;color:var(--ink-secondary);font-size:22px;line-height:1.55}.prose-page section{padding:26px 0;border-top:1px solid var(--line)}.prose-page section h2{margin:0;font-size:25px;letter-spacing:-.03em}.prose-page section p{color:var(--ink-secondary);font-size:17px;line-height:1.7}.simple-state{min-height:70vh;display:grid;justify-items:center;align-content:center;padding:30px;text-align:center}.simple-state h1{margin:0;font-size:clamp(38px,6vw,68px);line-height:1;letter-spacing:-.05em}.simple-state p:not(.eyebrow){color:var(--ink-secondary)}.site-footer{width:min(calc(100% - 40px),var(--page-width));margin:0 auto;padding:28px 0 max(34px,env(safe-area-inset-bottom));display:flex;justify-content:space-between;border-top:1px solid var(--line);color:var(--ink-tertiary);font-size:12px}.embedpdf-annotation-layer{position:absolute;inset:0;z-index:12}.pdf-annotation-tools{display:flex;align-items:center;gap:6px}.pdf-annotation-colors,.pdf-annotation-history,.pdf-annotation-properties,.pdf-annotation-tools__modes{display:inline-flex;align-items:center;gap:4px}.pdf-annotation-text-action,.pdf-annotation-tool{min-height:32px;display:inline-flex;align-items:center;justify-content:center;gap:5px;padding:0 8px;border:1px solid rgba(24,35,29,.11);border-radius:9px;background:rgba(255,255,255,.58);color:#536058;font:inherit;font-size:11px;cursor:pointer}.pdf-annotation-text-action:hover,.pdf-annotation-tool:hover{background:#e5ebe6;color:#1f4d3e}.pdf-annotation-tool[data-active]{border-color:#1f4d3e;background:#1f4d3e;color:#fff}.pdf-annotation-text-action:disabled,.pdf-annotation-tool:disabled{opacity:.42;cursor:not-allowed}.pdf-annotation-tool--danger:not(:disabled){color:#923b33}.pdf-annotation-properties{padding-left:7px;border-left:1px solid rgba(24,35,29,.12)}.pdf-annotation-color{width:20px;height:20px;padding:0;border:2px solid #fff;border-radius:50%;outline:1px solid rgba(24,35,29,.18);cursor:pointer;box-shadow:0 1px 3px rgba(16,25,20,.14)}.pdf-annotation-color[data-active]{outline:2px solid #1f4d3e;outline-offset:1px}.pdf-annotation-opacity{display:inline-flex;align-items:center;gap:5px;color:#647068;font-size:10px}.pdf-annotation-opacity input{width:72px;accent-color:#1f4d3e}.pdf-annotation-history{padding-left:7px;border-left:1px solid rgba(24,35,29,.12)}.pdf-annotation-menu-wrapper{z-index:60}.pdf-annotation-menu{position:absolute;left:0;min-width:230px;display:grid;gap:10px;padding:10px;border:1px solid rgba(24,35,29,.16);border-radius:13px;background:#fff;color:#1d2721;box-shadow:0 16px 38px rgba(16,25,20,.2);pointer-events:auto}.pdf-annotation-menu__colors{display:flex;align-items:center;gap:7px}.pdf-annotation-menu__opacity{display:grid;gap:5px;color:#657068;font-size:11px}.pdf-annotation-menu__opacity input{width:100%;accent-color:#1f4d3e}.pdf-annotation-menu__comment{min-height:70px;resize:vertical;padding:8px;border:1px solid rgba(24,35,29,.14);border-radius:9px;background:#f7f7f4;color:#1d2721;font:inherit;font-size:12px}.pdf-annotation-menu__delete{min-height:30px;border:0;border-radius:8px;background:#f7e8e6;color:#8d2f27;font:inherit;font-size:12px;cursor:pointer}.note-card__color{width:9px;height:9px;display:inline-block;margin-right:6px;border-radius:50%;vertical-align:1px;box-shadow:0 0 0 1px rgba(24,35,29,.12)}@keyframes spin{to{transform:rotate(1turn)}}@keyframes shimmer{to{background-position-x:-120%}}@media (max-width:1020px){.hero{grid-template-columns:1fr;padding-top:58px}.hero__visual{min-height:470px}.book-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.pdf-annotation-tool span,.reader-tool span{display:none}.reader-tool{width:34px;padding:0;justify-content:center}.pdf-annotation-tool{width:32px;padding:0}.reader-body[data-sidebar-open]{grid-template-columns:minmax(0,1fr) 275px}}@media (max-width:760px){.site-header{padding-inline:12px}.site-header__inner{grid-template-columns:auto 1fr auto}.wordmark>span:last-child{display:none}.site-nav{justify-self:center}.site-nav__link{width:38px;padding:0;justify-content:center}.site-nav__link span{display:none}.hero{width:min(calc(100% - 28px),var(--page-width));min-height:auto;padding:48px 0;gap:38px}.hero__visual{min-height:400px;border-radius:28px}.floating-book{width:155px;padding:20px}.floating-book strong{font-size:24px}.floating-book--one{left:34px;top:65px}.floating-book--two{right:30px;top:120px}.hero-note{left:20px;bottom:45px}.hero-offline{right:20px;bottom:18px}.promise-strip{grid-template-columns:1fr}.promise-strip>div{justify-content:flex-start}.promise-strip>div+div{border-left:0;border-top:1px solid var(--line)}.page-shell{width:min(calc(100% - 28px),var(--page-width));padding-top:42px}.section-heading{align-items:stretch;flex-direction:column}.search-field{width:100%}.book-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:28px 14px}.book-card__body{padding-top:12px}.book-card h3{font-size:16px}.book-card__download{display:none}.storage-card{align-items:flex-start;flex-wrap:wrap}.storage-card__content{min-width:calc(100% - 60px)}.local-book{grid-template-columns:84px 1fr;gap:14px;align-items:start}.local-book__cover .book-cover{height:112px}.local-book__more{display:none}.local-book__actions{flex-wrap:wrap}.local-book__progress{display:grid;gap:6px}.reader-topbar{grid-template-columns:auto 1fr}.reader-title{display:none}.reader-tools{justify-self:end;max-width:calc(100vw - 72px);overflow-x:auto;scrollbar-width:none}.reader-body[data-sidebar-open]{grid-template-columns:minmax(0,1fr)}.notes-sidebar{position:fixed;z-index:50;right:0;top:64px;bottom:0;width:min(88vw,330px);box-shadow:-18px 0 50px rgba(17,29,22,.2)}.extend-pdf-toolbar{overflow-x:auto}.pdf-annotation-tools{min-width:max-content}.admin-heading{align-items:start;flex-direction:column}.admin-stats,.form-grid--two{grid-template-columns:1fr}.form-row{align-items:stretch;flex-direction:column}.form-row .button{margin-left:0}.field--small{width:100%}.site-footer{flex-direction:column;gap:5px}}@media (max-width:430px){body{font-size:15px}.hero h1{font-size:51px}.hero__actions{display:grid}.hero__visual{min-height:350px}.floating-book{width:132px}.floating-book strong{font-size:20px}.book-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.book-card__meta{font-size:9px}.download-card{padding:28px 20px;border-radius:24px}.pdf-annotation-opacity,.pdf-annotation-text-action,.reader-tool:nth-of-type(5),.reader-tools__divider{display:none}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:after,:before{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}@media (prefers-reduced-transparency:reduce){.extend-pdf-toolbar,.hero-note,.hero-offline,.reader-topbar,.site-header{backdrop-filter:none;-webkit-backdrop-filter:none;background:var(--surface-solid)}}@media (prefers-contrast:more){:root{--line:currentColor;--line-strong:currentColor}.admin-section,.book-card,.button,.icon-button,.local-book{border-width:2px}}.extend-pdf-selection-menu-wrapper{z-index:100!important;pointer-events:auto!important;cursor:default!important;user-select:none;-webkit-user-select:none}.extend-pdf-selection-menu{z-index:101;isolation:isolate}.extend-pdf-selection-menu,.extend-pdf-selection-menu button{pointer-events:auto!important;touch-action:manipulation;user-select:none;-webkit-user-select:none}.extend-pdf-selection-menu button{position:relative;z-index:1;cursor:pointer!important}.extend-pdf-selection-menu button:disabled{cursor:wait!important}.bulk-import-intro{display:flex;align-items:center;justify-content:space-between;gap:16px}.bulk-import-format p,.bulk-import-intro p{margin:0;color:var(--ink-secondary);font-size:13px}.bulk-import-json{min-height:340px!important;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace!important;font-size:12px!important;line-height:1.55}.bulk-import-format{padding:12px 14px;border:1px solid var(--line);border-radius:12px;background:var(--surface-muted)}.bulk-import-format summary{cursor:pointer;font-weight:680}.bulk-import-format[open]{display:grid;gap:8px}.bulk-import-results{display:grid;gap:10px;padding:14px;border:1px solid var(--line);border-radius:14px;background:var(--surface-muted)}.bulk-import-results ul{max-height:320px;margin:0;padding:0;display:grid;gap:6px;overflow-y:auto;list-style:none}.bulk-import-results li{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;padding:8px 10px;border-radius:9px;background:var(--surface-solid)}.bulk-import-results li[data-status=error] small{color:var(--danger)}.extend-pdf-viewer[data-zen] .extend-pdf-toolbar,.pdf-mobile-dock,.pdf-mobile-dock-trigger,.pdf-zen-exit{display:none}.reader-shell[data-zen] .reader-body{height:100dvh}.reader-shell[data-zen] .extend-pdf-viewer,.reader-shell[data-zen] .extend-pdf-workspace{height:100%}@media (max-width:760px){.reader-shell .extend-pdf-toolbar,.reader-shell .reader-topbar{display:none}.reader-body{height:100dvh}.extend-pdf-workspace[data-thumbnails-open],.reader-body[data-sidebar-open]{grid-template-columns:minmax(0,1fr)}.extend-pdf-thumbnails{display:none}.extend-pdf-scroll{scroll-padding-top:10px}.notes-sidebar{position:fixed;z-index:130;inset:0 0 0 auto;width:min(90vw,350px);padding-top:max(18px,env(safe-area-inset-top))}.pdf-mobile-dock-trigger{position:fixed;z-index:140;right:max(10px,env(safe-area-inset-right));top:50%;width:46px;height:58px;display:grid;place-items:center;padding:0;border:1px solid rgba(255,255,255,.48);border-radius:18px 5px 5px 18px;background:rgba(20,29,24,.82);color:#fff;box-shadow:0 14px 34px rgba(10,18,13,.28);backdrop-filter:blur(18px) saturate(145%);transform:translateY(-50%);cursor:pointer}.pdf-mobile-dock-trigger span{writing-mode:vertical-rl;letter-spacing:2px}.pdf-mobile-dock{position:fixed;z-index:145;right:max(8px,env(safe-area-inset-right));top:50%;width:78px;max-height:calc(100dvh - 24px);display:flex;flex-direction:column;align-items:stretch;gap:3px;padding:7px;overflow-y:auto;border:1px solid rgba(255,255,255,.44);border-radius:24px 8px 8px 24px;background:rgba(248,248,244,.9);box-shadow:0 22px 54px rgba(10,18,13,.3);backdrop-filter:blur(24px) saturate(160%);transform:translateY(-50%);overscroll-behavior:contain;scrollbar-width:none}.pdf-mobile-dock::-webkit-scrollbar{display:none}.pdf-mobile-dock__item{width:100%;min-height:48px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;padding:5px 3px;border:0;border-radius:15px;background:transparent;color:#536058;cursor:pointer;touch-action:manipulation}.pdf-mobile-dock__item strong{font-size:9px;line-height:1.1;font-weight:720}.pdf-mobile-dock__item:active,.pdf-mobile-dock__item[data-active]{background:#1f4d3e;color:#fff}.pdf-mobile-dock__symbol{font-size:20px;line-height:1}.pdf-mobile-dock__colors{display:grid;grid-template-columns:repeat(2,16px);justify-content:center;gap:5px;padding:6px 0}.pdf-mobile-dock__colors button{width:16px;height:16px;padding:0;border:2px solid #fff;border-radius:50%;outline:1px solid rgba(24,35,29,.22)}.pdf-mobile-dock__colors button[data-active]{outline:2px solid #1f4d3e;outline-offset:1px}.pdf-mobile-dock__close{width:42px;height:42px;margin:3px auto 0;display:grid;place-items:center;padding:0;border:0;border-radius:50%;background:#17201b;color:#fff;cursor:pointer}.extend-pdf-search--mobile{display:contents}.extend-pdf-search--mobile .extend-pdf-search__panel{position:fixed;z-index:160;top:max(10px,env(safe-area-inset-top));left:10px;right:10px;width:auto;max-width:none}.pdf-zen-exit{position:fixed;z-index:170;top:max(10px,env(safe-area-inset-top));right:max(10px,env(safe-area-inset-right));min-height:42px;display:inline-flex;align-items:center;justify-content:center;padding:0 15px;border:1px solid rgba(255,255,255,.35);border-radius:999px;background:rgba(18,25,21,.82);color:#fff;box-shadow:0 12px 30px rgba(10,18,13,.24);backdrop-filter:blur(16px);cursor:pointer}.reader-shell[data-zen],.reader-shell[data-zen] .extend-pdf-scroll,.reader-shell[data-zen] .extend-pdf-viewer,.reader-shell[data-zen] .extend-pdf-workspace,.reader-shell[data-zen] .reader-body{height:100dvh}.reader-shell[data-zen] .extend-pdf-scroll{background:#d8d6cf}.bulk-import-intro{align-items:stretch;flex-direction:column}.bulk-import-results li{grid-template-columns:1fr}}.notes-sidebar-backdrop,.notes-sidebar__close{display:none}.notes-sidebar__actions{display:flex;align-items:center;gap:8px}.notes-sidebar__count{min-width:28px;height:28px;display:grid;place-items:center;border-radius:50%;background:#e4e6e1;font-size:12px;font-weight:680}.pwa-install-prompt{position:fixed;z-index:220;left:50%;bottom:max(18px,env(safe-area-inset-bottom));width:min(calc(100% - 32px),560px);display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:12px;padding:14px 16px;border:1px solid var(--line-strong);border-radius:18px;background:color-mix(in srgb,var(--surface-solid) 92%,transparent);color:var(--ink);box-shadow:var(--shadow-lg);backdrop-filter:blur(22px) saturate(155%);-webkit-backdrop-filter:blur(22px) saturate(155%);transform:translateX(-50%)}.pwa-install-prompt__dismiss{position:absolute;top:5px;right:7px;width:28px;height:28px;padding:0;border:0;border-radius:50%;background:transparent;color:var(--ink-secondary);font-size:22px;line-height:1;cursor:pointer}.pwa-install-prompt__mark{width:42px;height:42px;display:grid;place-items:center;border-radius:13px;background:var(--accent);color:#fff;font-family:Georgia,serif;font-size:22px}.pwa-install-prompt__copy{min-width:0;display:grid;gap:2px;padding-right:12px}.pwa-install-prompt__copy strong{font-size:14px}.pwa-install-prompt__copy span{color:var(--ink-secondary);font-size:12px;line-height:1.4}@media (max-width:760px){.reader-shell{height:100vh;height:100dvh;overflow:hidden}.reader-body{min-height:0;height:100%;overflow:hidden}.extend-pdf-viewer,.extend-pdf-workspace{min-height:0}.extend-pdf-scroll{height:100%;min-height:0;overflow-x:auto!important;overflow-y:auto!important;-webkit-overflow-scrolling:touch;overscroll-behavior:contain}.extend-pdf-page,.extend-pdf-pages,.extend-pdf-scroll{touch-action:pan-x pan-y pinch-zoom}.reader-body[data-sidebar-open] .extend-pdf-scroll{overflow:hidden!important}.notes-sidebar-backdrop{position:fixed;z-index:125;inset:0;display:block;padding:0;border:0;background:rgba(8,14,10,.38);backdrop-filter:blur(3px);-webkit-backdrop-filter:blur(3px)}.notes-sidebar{-webkit-overflow-scrolling:touch;overscroll-behavior:contain;animation:notes-drawer-enter .18s ease-out}.notes-sidebar__close{width:36px;height:36px;display:grid;place-items:center;padding:0;border:1px solid rgba(24,35,29,.12);border-radius:11px;background:#fff;color:#334038;cursor:pointer}.pwa-install-prompt{left:12px;right:12px;bottom:max(12px,env(safe-area-inset-bottom));width:auto;grid-template-columns:auto minmax(0,1fr);padding:13px 42px 13px 13px;transform:none}.pwa-install-prompt>.button{grid-column:1/-1;width:100%}}@keyframes notes-drawer-enter{0%{opacity:0;transform:translateX(24px)}to{opacity:1;transform:translateX(0)}}