.ebook-shell{--ebook-sidebar-width:240px;--ebook-sidebar-collapsed:0px;--ebook-prose-measure:65ch;--ebook-prose-gutter:clamp(16px,4vw,48px);--ebook-topbar-height:48px;--ebook-bottomsheet-peek:56px;--ebook-ui-sm:0.75rem;--ebook-ui-md:0.875rem;--ebook-body:1.125rem;--ebook-heading-3:1.25rem;--ebook-heading-2:1.5rem;--ebook-heading-1:2rem;--ebook-ui-sm-ls:0.04em;--ebook-prose-block:1.5em;--ebook-leading-prose:1.7;--ebook-leading-ui:1.4;--ebook-prose-section:3em;--ebook-toc-row-pad:8px 12px;--ebook-bar-inline:16px;--ebook-chrome-gap:16px;--ebook-sidebar-duration:180ms;--ebook-sidebar-ease:cubic-bezier(0.32,0.72,0,1);--ebook-fade-scroll:120ms;--ebook-bg:#ffffff;--ebook-bg-elevated:#f1f5f9;--ebook-bg-accent:#f8fafc;--ebook-bg-hover:#e2e8f0;--ebook-bg-muted:#cbd5e1;--ebook-accent:#2563eb;--ebook-accent-hover:#1d4ed8;--ebook-accent-2:#22c55e;--ebook-text:#0f172a;--ebook-text-dim:#475569;--ebook-border:#e2e8f0;--ebook-focus-ring:var(--ebook-accent);color-scheme:light}.dark .ebook-shell{--ebook-bg:#030712;--ebook-bg-elevated:#1f2937;--ebook-bg-accent:#1f2937;--ebook-bg-hover:#374151;--ebook-bg-muted:#4b5563;--ebook-accent:#3b82f6;--ebook-accent-hover:#2563eb;--ebook-accent-2:#22c55e;--ebook-text:#f3f4f6;--ebook-text-dim:#9ca3af;--ebook-border:#374151;color-scheme:dark}@media (prefers-reduced-motion:reduce){.ebook-shell{--ebook-sidebar-duration:0ms;--ebook-fade-scroll:0ms}.ebook-shell *{transition-duration:0s!important;animation:none!important}.ebook-dashboard-pill{opacity:1!important}}.ebook-shell :focus-visible{outline:2px solid var(--ebook-focus-ring);outline-offset:2px}.ebook-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}.ebook-shell{display:grid;grid-template-columns:var(--ebook-sidebar-width) 1fr;grid-template-rows:var(--ebook-topbar-height) 1fr;height:calc(100dvh - var(--ebook-site-header-height, 0px));min-height:0;background:var(--ebook-bg);color:var(--ebook-text);font-family:var(--font-inter,"Inter"),system-ui,-apple-system,"Segoe UI",sans-serif;font-size:var(--ebook-ui-md);line-height:var(--ebook-leading-ui)}.ebook-shell.ebook-empty{grid-template-columns:0 1fr}.ebook-shell.ebook-sidebar-collapsed{grid-template-columns:var(--ebook-sidebar-collapsed) 1fr}.ebook-topbar{grid-row:1;grid-column:1/-1;display:flex;align-items:center;gap:var(--ebook-bar-inline);padding-inline:var(--ebook-bar-inline);min-width:0;background:color-mix(in srgb,var(--ebook-bg-accent) 92%,transparent);border-bottom:1px solid var(--ebook-border);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);position:relative;z-index:10}.ebook-sidebar-toggle{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;border:none;border-radius:8px;background:transparent;color:var(--ebook-text-dim);cursor:pointer;transition:background .1s;flex-shrink:0}.ebook-sidebar-toggle:hover{background:var(--ebook-bg-hover)}.ebook-chevron{transition:rotate var(--ebook-sidebar-duration) var(--ebook-sidebar-ease)}.ebook-sidebar-collapsed .ebook-chevron{rotate:180deg}.ebook-crumbs{display:flex;min-width:0;flex:1}.ebook-crumbs ol{display:flex;align-items:center;gap:6px;min-width:0;list-style:none;margin:0;padding:0;font-size:var(--ebook-ui-sm);letter-spacing:var(--ebook-ui-sm-ls);color:var(--ebook-text-dim);white-space:nowrap}.ebook-crumbs li{display:contents}.ebook-crumbs a{color:var(--ebook-text-dim);text-decoration:none;padding:6px 4px;border-radius:4px}.ebook-crumbs a:hover{color:var(--ebook-text);background:var(--ebook-bg-hover)}.ebook-crumbs [aria-current=location]{color:var(--ebook-accent-2)}.ebook-crumb-book{max-width:none;flex-shrink:1;min-width:8ch}.ebook-crumb-book,.ebook-crumb-mid{overflow:hidden;text-overflow:ellipsis}.ebook-crumb-mid{max-width:18ch;min-width:0}.ebook-progress-wrap{position:absolute;left:0;right:0;bottom:-1px;height:2px;background:transparent}.ebook-progress-fill{height:100%;width:var(--ebook-progress,0);background:var(--ebook-accent-2);transition:width var(--ebook-sidebar-duration) var(--ebook-sidebar-ease)}.ebook-progress-label{font-size:var(--ebook-ui-sm);color:var(--ebook-text-dim);margin-inline-start:12px;flex-shrink:0}.ebook-controls{display:flex;align-items:center;gap:8px;flex-shrink:0}.ebook-controls input[type=range],.ebook-controls select{font-size:var(--ebook-ui-sm);min-height:28px}.ebook-btn-icon{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;border:none;border-radius:8px;background:transparent;color:var(--ebook-text-dim);cursor:pointer;transition:background .1s,color .1s}.ebook-btn-icon:hover:not(:disabled){background:var(--ebook-bg-hover);color:var(--ebook-text)}.ebook-btn-icon:disabled{opacity:.4;cursor:not-allowed}.ebook-sidebar{grid-row:2;grid-column:1;overflow:hidden auto;background:color-mix(in srgb,var(--ebook-bg-elevated) 92%,transparent);border-inline-end:1px solid color-mix(in srgb,var(--ebook-bg-elevated) 40%,transparent);min-width:0;transition:none}.ebook-sidebar-collapsed .ebook-sidebar{visibility:hidden}.ebook-toc{padding:8px 4px 80px}.ebook-toc ul{list-style:none;margin:0;padding:0}.ebook-toc-row{display:block;width:calc(100% - 8px);margin:1px 4px;padding:var(--ebook-toc-row-pad);min-height:36px;font-size:var(--ebook-ui-md);color:var(--ebook-text-dim);text-decoration:none;border-radius:6px;transition:background .1s;position:relative;text-align:start;border:none;background:transparent;cursor:pointer}.ebook-toc-row:hover{background:var(--ebook-bg-hover)}.ebook-toc-row[aria-current=true]{background:var(--ebook-bg-muted);color:var(--ebook-text);box-shadow:inset 2px 0 0 var(--ebook-accent-2)}.ebook-toc-row:focus-visible{z-index:1}.ebook-toc-dot{position:absolute;inset-inline-end:10px;top:50%;translate:0 -50%;width:6px;height:6px;border-radius:50%;background:color-mix(in srgb,var(--ebook-text-dim) 30%,transparent)}.ebook-toc-dot.done{background:var(--ebook-accent-2)}.ebook-ad{display:flex;justify-content:center;padding:16px}.ebook-sidebar .ebook-ad{padding:12px 4px 16px}.ebook-main{grid-row:2;grid-column:2;overflow-y:auto;min-width:0;position:relative;background:var(--ebook-bg);scroll-behavior:smooth}@media (prefers-reduced-motion:reduce){.ebook-main{scroll-behavior:auto}}.ebook-prose{max-inline-size:var(--ebook-prose-measure);margin-inline:auto;padding-inline:var(--ebook-prose-gutter);padding-block:32px 160px;font-size:var(--ebook-body);line-height:var(--ebook-leading-prose);color:var(--ebook-text)}.ebook-prose .ebook-chapter-title,.ebook-prose h1{font-size:var(--ebook-heading-1);line-height:1.2;font-weight:700;margin-block:0 32px}.ebook-prose h2{font-size:var(--ebook-heading-2);line-height:1.25;font-weight:650;margin-block:var(--ebook-prose-section) .5em}.ebook-prose h3{font-size:var(--ebook-heading-3);line-height:1.3;font-weight:600;margin-block:2em .5em}.ebook-prose p,.ebook-prose ul{margin-block:0 var(--ebook-prose-block)}.ebook-prose ul{list-style:disc outside;padding-left:1.25rem}.ebook-prose li{margin-block:.35em}.ebook-prose blockquote{margin:0 0 var(--ebook-prose-block);padding-inline-start:12px;border-inline-start:2px solid var(--ebook-bg-muted);color:var(--ebook-text-dim)}.ebook-prose img{max-width:100%;height:auto;border-radius:8px;border:1px solid var(--ebook-border);display:block;margin-block:var(--ebook-prose-block)}.ebook-prose figure{margin:0 0 var(--ebook-prose-block)}.ebook-prose figcaption{font-size:var(--ebook-ui-md);color:var(--ebook-text-dim);text-align:center}.ebook-prose .ebook-tts-active,.ebook-prose [aria-current=true]{background:color-mix(in srgb,var(--ebook-accent) 12%,transparent);border-radius:4px;padding-inline:4px;margin-inline:-4px}.ebook-dashboard-pill{position:fixed;right:var(--ebook-chrome-gap);bottom:var(--ebook-chrome-gap);z-index:20;display:inline-flex;align-items:center;gap:8px;padding:10px 16px;min-height:44px;border:1px solid var(--ebook-border);border-radius:999px;background:color-mix(in srgb,var(--ebook-bg-accent) 88%,transparent);color:var(--ebook-text);text-decoration:none;font-size:var(--ebook-ui-md);transition:opacity var(--ebook-fade-scroll) linear,background .1s;box-shadow:0 4px 16px rgb(0 0 0/.35)}.ebook-dashboard-pill:hover{background:var(--ebook-bg-hover)}.ebook-dashboard-pill.scrolling{opacity:.4}@media (max-width:767px){.ebook-dashboard-pill{bottom:calc(var(--ebook-bottomsheet-peek) + var(--ebook-chrome-gap))}}.ebook-empty-wrap{grid-row:2;grid-column:1/-1;display:grid;place-items:center;overflow-y:auto;background:var(--ebook-bg);padding:32px}.ebook-empty-card{inline-size:min(var(--ebook-prose-measure),90%);background:color-mix(in srgb,var(--ebook-bg-elevated) 92%,transparent);border:1px solid var(--ebook-border);border-radius:12px;padding:32px;text-align:center}.ebook-empty-card h1{font-size:var(--ebook-heading-2);line-height:1.25;font-weight:650;margin:0 0 8px}.ebook-empty-card p{font-size:var(--ebook-ui-md);color:var(--ebook-text-dim);margin:0 0 24px}.ebook-first-chapter{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 16px;min-height:44px;border-radius:8px;background:var(--ebook-bg-muted);color:var(--ebook-text);text-decoration:none;font-weight:500;transition:background .1s}.ebook-first-chapter:hover{background:var(--ebook-bg-hover)}.ebook-sheet{position:fixed;left:0;right:0;bottom:0;z-index:30;display:none;flex-direction:column;max-height:80vh;border-radius:12px 12px 0 0;background:color-mix(in srgb,var(--ebook-bg-elevated) 96%,transparent);border-top:1px solid var(--ebook-border);box-shadow:0 -4px 24px rgb(0 0 0/.25)}.ebook-sheet-open{display:flex}.ebook-sheet-handle{width:100%;height:var(--ebook-bottomsheet-peek);border:none;background:transparent;cursor:pointer;color:var(--ebook-text-dim)}.ebook-sheet-handle:before{content:"";display:block;margin:8px auto 0;width:36px;height:4px;border-radius:2px;background:var(--ebook-bg-muted)}.ebook-sheet-body{overflow-y:auto;padding:8px 4px 24px}.ebook-sheet-label{font-size:var(--ebook-ui-sm);color:var(--ebook-text-dim);margin-top:2px;text-align:center}.ebook-sheet-backdrop{position:fixed;inset:0;z-index:25;background:rgb(0 0 0/.35);display:none}.ebook-sheet-backdrop.ebook-active,.ebook-sheet-open~.ebook-sheet-backdrop{display:block}@media (min-width:768px){.ebook-sheet,.ebook-sheet-backdrop{display:none!important}}@media (max-width:767px){.ebook-shell{grid-template-rows:var(--ebook-topbar-height) 1fr}.ebook-shell,.ebook-shell:not(.ebook-sidebar-collapsed){grid-template-columns:0 1fr}.ebook-crumb-mid,.ebook-sidebar{display:none}.ebook-controls{gap:4px}.ebook-controls select{max-width:80px}}.ebook-live{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}.ebook-tabs{display:inline-flex;align-items:stretch;gap:4px;padding:4px;border-radius:10px;background:color-mix(in srgb,var(--ebook-bg-elevated) 92%,transparent);border:1px solid var(--ebook-border)}.ebook-tab{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:44px;padding:8px 16px;border-radius:8px;border:none;background:transparent;color:var(--ebook-text-dim);font-size:var(--ebook-ui-md);font-weight:500;cursor:pointer;text-decoration:none;transition:background .12s,color .12s}.ebook-tab:hover{background:var(--ebook-bg-hover);color:var(--ebook-text)}.ebook-tab[aria-selected=true]{background:var(--ebook-bg);color:var(--ebook-text);box-shadow:0 1px 2px rgb(0 0 0/.1)}.ebook-tab:focus-visible{z-index:1}.ebook-tab-panel{min-height:calc(100dvh - var(--ebook-site-header-height, 0px) - 140px)}.ebook-toast{position:fixed;left:50%;bottom:calc(var(--ebook-chrome-gap) * 2 + 44px);transform:translateX(-50%);z-index:40;display:inline-flex;align-items:center;gap:12px;padding:12px 16px;border-radius:10px;background:var(--ebook-bg-elevated);border:1px solid var(--ebook-border);box-shadow:0 4px 24px rgb(0 0 0/.25)}.ebook-toast button{font-size:var(--ebook-ui-sm);padding:6px 10px;border-radius:6px;border:1px solid var(--ebook-border);background:var(--ebook-bg);color:var(--ebook-text);cursor:pointer}.ebook-toast button:hover{background:var(--ebook-bg-hover)}@media (max-width:767px){.ebook-toast{bottom:calc(var(--ebook-bottomsheet-peek) + var(--ebook-chrome-gap) * 2 + 44px);left:var(--ebook-chrome-gap);right:var(--ebook-chrome-gap);transform:none;flex-wrap:wrap}}.ebook-loading{min-height:60vh;display:flex;align-items:flex-start;justify-content:center}.ebook-skeleton{padding:32px 20px;max-width:720px;margin:0 auto;width:100%}.ebook-skeleton-line{height:14px;border-radius:7px;background:color-mix(in srgb,var(--ebook-text-dim,#999) 16%,transparent);margin-bottom:14px;animation:ebook-skel-pulse 1.4s ease-in-out infinite}.ebook-skeleton-title{height:28px;width:60%;margin-bottom:22px}@keyframes ebook-skel-pulse{0%,to{opacity:1}50%{opacity:.4}}@media (prefers-reduced-motion:reduce){.ebook-skeleton-line{animation:none}}