@font-face{font-family:EB Garamond;font-style:normal;font-display:swap;font-weight:400;src:url("../fonts/eb-garamond-latin-400-normal-BVFDQYWK.woff2") format("woff2"),url("../fonts/eb-garamond-latin-400-normal-KTP4KJXO.woff") format("woff")}@font-face{font-family:EB Garamond;font-style:normal;font-display:swap;font-weight:500;src:url("../fonts/eb-garamond-latin-500-normal-I4QRW4OQ.woff2") format("woff2"),url("../fonts/eb-garamond-latin-500-normal-GRQC6ZTE.woff") format("woff")}@font-face{font-family:EB Garamond;font-style:normal;font-display:swap;font-weight:600;src:url("../fonts/eb-garamond-latin-600-normal-XUM6TVKZ.woff2") format("woff2"),url("../fonts/eb-garamond-latin-600-normal-52UF7JLZ.woff") format("woff")}@font-face{font-family:EB Garamond;font-style:normal;font-display:swap;font-weight:700;src:url("../fonts/eb-garamond-latin-700-normal-52TJUJRB.woff2") format("woff2"),url("../fonts/eb-garamond-latin-700-normal-MBWVRGP5.woff") format("woff")}@font-face{font-family:EB Garamond;font-style:italic;font-display:swap;font-weight:400;src:url("../fonts/eb-garamond-latin-400-italic-S77UGTKV.woff2") format("woff2"),url("../fonts/eb-garamond-latin-400-italic-KP3O76LJ.woff") format("woff")}@font-face{font-family:EB Garamond;font-style:italic;font-display:swap;font-weight:500;src:url("../fonts/eb-garamond-latin-500-italic-DK7ARYQY.woff2") format("woff2"),url("../fonts/eb-garamond-latin-500-italic-JIVYTKMB.woff") format("woff")}@font-face{font-family:Poppins;font-style:normal;font-display:swap;font-weight:300;src:url("../fonts/poppins-latin-300-normal-YBCVDBLX.woff2") format("woff2"),url("../fonts/poppins-latin-300-normal-LGPMPPUP.woff") format("woff")}@font-face{font-family:Poppins;font-style:normal;font-display:swap;font-weight:400;src:url("../fonts/poppins-latin-400-normal-SFWTNBQB.woff2") format("woff2"),url("../fonts/poppins-latin-400-normal-ZPTYLX7I.woff") format("woff")}@font-face{font-family:Poppins;font-style:normal;font-display:swap;font-weight:500;src:url("../fonts/poppins-latin-500-normal-O53RGPUQ.woff2") format("woff2"),url("../fonts/poppins-latin-500-normal-7WHJNQSB.woff") format("woff")}@font-face{font-family:Poppins;font-style:normal;font-display:swap;font-weight:600;src:url("../fonts/poppins-latin-600-normal-3BUSBBSI.woff2") format("woff2"),url("../fonts/poppins-latin-600-normal-YBYM6FEI.woff") format("woff")}@font-face{font-family:Poppins;font-style:normal;font-display:swap;font-weight:700;src:url("../fonts/poppins-latin-700-normal-TKEB4KWA.woff2") format("woff2"),url("../fonts/poppins-latin-700-normal-ZA622GRH.woff") format("woff")}@font-face{font-family:Roboto Mono;font-style:normal;font-display:swap;font-weight:400;src:url("../fonts/roboto-mono-latin-400-normal-DHEUV3WG.woff2") format("woff2"),url("../fonts/roboto-mono-latin-400-normal-GEG7Y6WK.woff") format("woff")}@font-face{font-family:Roboto Mono;font-style:normal;font-display:swap;font-weight:500;src:url("../fonts/roboto-mono-latin-500-normal-7UWZR6OE.woff2") format("woff2"),url("../fonts/roboto-mono-latin-500-normal-T2GCQU2Q.woff") format("woff")}@font-face{font-family:Syne;font-style:normal;font-display:swap;font-weight:500;src:url("../fonts/syne-latin-500-normal-KGKLDJHV.woff2") format("woff2"),url("../fonts/syne-latin-500-normal-H6S4GXWS.woff") format("woff")}@font-face{font-family:Syne;font-style:normal;font-display:swap;font-weight:600;src:url("../fonts/syne-latin-600-normal-HBXTOGEW.woff2") format("woff2"),url("../fonts/syne-latin-600-normal-5LFNXGE5.woff") format("woff")}@font-face{font-family:Syne;font-style:normal;font-display:swap;font-weight:700;src:url("../fonts/syne-latin-700-normal-YPX6LSOK.woff2") format("woff2"),url("../fonts/syne-latin-700-normal-AKQAMC3F.woff") format("woff")}@font-face{font-family:Syne;font-style:normal;font-display:swap;font-weight:800;src:url("../fonts/syne-latin-800-normal-IACWSEYH.woff2") format("woff2"),url("../fonts/syne-latin-800-normal-QXEFEV2A.woff") format("woff")}:root{--bg-color: #0c0c0f;--bg-gradient: radial-gradient( ellipse at 50% 30%, #171822 0%, #0e0e12 50%, #070709 100% );--surface-glass: rgba(22, 22, 26, .88);--surface-glass-solid: #16161a;--surface-border: rgba(255, 255, 255, .08);--surface-border-hover: rgba(255, 255, 255, .16);--ambient-color: rgba(166, 124, 82, .24);--text-main: #f5f5f7;--text-muted: #a1a1a6;--text-dim: #8a8a90;--accent: #a67c52;--on-accent: #1a1208;--accent-hover: #c49666;--accent-glow: rgba(166, 124, 82, .28);--accent-subtle: rgba(166, 124, 82, .12);--accent-dim: rgba(166, 124, 82, .22);--accent-electric: #d6d7fd;--accent-electric-glow: rgba(214, 215, 253, .18);--color-amber: #d4af37;--color-emerald: #2ecc71;--success: #2ecc71;--danger: #e74c3c;--space-2xs: 4px;--space-xs: 8px;--space-sm: 12px;--space-md: 16px;--space-lg: 24px;--space-xl: 32px;--space-2xl: 48px;--space-3xl: 72px;--radius-sm: 8px;--radius-md: 14px;--radius-lg: 24px;--radius-xl: 32px;--radius-full: 9999px;--blur-glass: 14px;--shadow-sm: 0 2px 8px rgba(0, 0, 0, .3), 0 0 0 1px rgba(255, 255, 255, .05);--shadow-md: 0 10px 30px -10px rgba(0, 0, 0, .45), 0 0 0 1px rgba(255, 255, 255, .07);--shadow-lg: 0 20px 45px -12px rgba(0, 0, 0, .6), 0 0 0 1px rgba(255, 255, 255, .09);--shadow-xl: 0 30px 70px -15px rgba(0, 0, 0, .75), 0 0 0 1px rgba(255, 255, 255, .12);--font-display: "Syne", "Bebas Neue", -apple-system, sans-serif;--font-serif: "EB Garamond", "Cormorant Garamond", Georgia, serif;--font-sans: "Poppins", "Outfit", "Inter", system-ui, -apple-system, sans-serif;--font-mono: "Roboto Mono", monospace;--fb-font-ui: var(--font-sans);--fb-font-display: var(--font-display);--fb-table: var(--bg-color);--fb-ink: var(--text-main);--fb-muted: var(--text-muted);--fb-accent: var(--accent);--fb-bar: var(--surface-glass);--ease-editorial: cubic-bezier(.23, 1, .32, 1);--ease-out-editorial: cubic-bezier(.23, 1, .32, 1);--ease-in-out-editorial: cubic-bezier(.77, 0, .175, 1);--ease-spring: cubic-bezier(.16, 1, .3, 1);--ease-spring-subtle: cubic-bezier(.32, .72, 0, 1);--duration-micro: .12s;--duration-fast: .14s;--duration-ui: .24s;--duration-view: .38s;--duration-hero: .8s;--duration-normal: .24s;--duration-slow: .38s;--duration-slower: .5s;--ease-out-expo: cubic-bezier(.16, 1, .3, 1);--thumbnails-height: clamp(200px, 30vh, 260px)}button,input,select,textarea{font-family:inherit}.skip-link{position:fixed;inset-block-start:8px;inset-inline-start:8px;z-index:1000;padding:10px 14px;border-radius:var(--radius-sm);background:var(--surface-glass-solid);color:var(--text-main);transform:translateY(-160%)}.skip-link:focus{transform:translateY(0)}#primary-content:focus{outline:none}@media (prefers-color-scheme: light){:root:not(.theme-dark){--bg-color: #fafafa;--bg-gradient: radial-gradient( ellipse at 50% 30%, #ffffff 0%, #f4f4f6 55%, #e9e9ed 100% );--surface-glass: rgba(255, 255, 255, .88);--surface-glass-solid: #ffffff;--surface-border: rgba(0, 0, 0, .08);--surface-border-hover: rgba(0, 0, 0, .15);--text-main: #1c1d1f;--text-muted: #444444;--text-dim: #737373;--accent: #916840;--on-accent: #ffffff;--accent-hover: #75512e;--accent-glow: rgba(145, 104, 64, .22);--accent-subtle: rgba(145, 104, 64, .08);--accent-dim: rgba(145, 104, 64, .14);--shadow-sm: 0 2px 6px rgba(0, 0, 0, .05), 0 0 0 1px rgba(0, 0, 0, .05);--shadow-md: 0 10px 25px -8px rgba(0, 0, 0, .08), 0 0 0 1px rgba(0, 0, 0, .06);--shadow-lg: 0 18px 40px -10px rgba(0, 0, 0, .12), 0 0 0 1px rgba(0, 0, 0, .08);--shadow-xl: 0 28px 60px -12px rgba(0, 0, 0, .16), 0 0 0 1px rgba(0, 0, 0, .1)}}body.theme-light,html.theme-light,:root.theme-light{--bg-color: #fafafa;--bg-gradient: radial-gradient( ellipse at 50% 30%, #ffffff 0%, #f4f4f6 55%, #e9e9ed 100% );--surface-glass: rgba(255, 255, 255, .88);--surface-glass-solid: #ffffff;--surface-border: rgba(0, 0, 0, .08);--surface-border-hover: rgba(0, 0, 0, .15);--text-main: #1c1d1f;--text-muted: #444444;--text-dim: #737373;--accent: #916840;--on-accent: #ffffff;--accent-hover: #75512e;--accent-glow: rgba(145, 104, 64, .22);--accent-subtle: rgba(145, 104, 64, .08);--accent-dim: rgba(145, 104, 64, .14);--shadow-sm: 0 2px 6px rgba(0, 0, 0, .05), 0 0 0 1px rgba(0, 0, 0, .05);--shadow-md: 0 10px 25px -8px rgba(0, 0, 0, .08), 0 0 0 1px rgba(0, 0, 0, .06);--shadow-lg: 0 18px 40px -10px rgba(0, 0, 0, .12), 0 0 0 1px rgba(0, 0, 0, .08);--shadow-xl: 0 28px 60px -12px rgba(0, 0, 0, .16), 0 0 0 1px rgba(0, 0, 0, .1)}body.theme-dark,html.theme-dark,:root.theme-dark{--bg-color: #0c0c0f;--bg-gradient: radial-gradient( ellipse at 50% 30%, #171822 0%, #0e0e12 50%, #070709 100% );--surface-glass: rgba(22, 22, 26, .88);--surface-glass-solid: #16161a;--surface-border: rgba(255, 255, 255, .08);--surface-border-hover: rgba(255, 255, 255, .16);--text-main: #f5f5f7;--text-muted: #a1a1a6;--text-dim: #8a8a90;--accent: #a67c52;--on-accent: #1a1208;--accent-hover: #c49666;--accent-glow: rgba(166, 124, 82, .28);--accent-subtle: rgba(166, 124, 82, .12);--accent-dim: rgba(166, 124, 82, .22);--shadow-sm: 0 2px 8px rgba(0, 0, 0, .3), 0 0 0 1px rgba(255, 255, 255, .05);--shadow-md: 0 10px 30px -10px rgba(0, 0, 0, .45), 0 0 0 1px rgba(255, 255, 255, .07);--shadow-lg: 0 20px 45px -12px rgba(0, 0, 0, .6), 0 0 0 1px rgba(255, 255, 255, .09);--shadow-xl: 0 30px 70px -15px rgba(0, 0, 0, .75), 0 0 0 1px rgba(255, 255, 255, .12)}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:#7d7d7d38;border-radius:var(--radius-full);border:2px solid transparent;background-clip:padding-box;transition:background-color var(--duration-fast) ease}::-webkit-scrollbar-thumb:hover{background:var(--accent)}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}[hidden]{display:none!important}body,html{width:100vw;height:100vh;height:100dvh;overflow:hidden;position:fixed;top:0;left:0;background:var(--bg-gradient);background-color:var(--bg-color);font-family:var(--font-sans);color:var(--text-main);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility;transition:background-color var(--duration-view) var(--ease-editorial),color var(--duration-view) var(--ease-editorial)}@keyframes fadeInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideInLeft{0%{opacity:0;transform:translate(-30px)}to{opacity:1;transform:translate(0)}}@keyframes slideInUp{0%{opacity:0;transform:translate(-50%,100%)}to{opacity:1;transform:translate(-50%)}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}@keyframes spin{to{transform:rotate(360deg)}}@keyframes breathe{0%,to{transform:scale(1);opacity:.6}50%{transform:scale(1.05);opacity:1}}.bg-ambient{position:absolute;top:50%;left:50%;width:100vw;height:100vh;background:radial-gradient(circle at 50% 40%,var(--ambient-color) 0%,transparent 60%),radial-gradient(circle at 20% 25%,rgba(99,102,241,.15) 0%,transparent 50%),radial-gradient(circle at 80% 75%,rgba(168,85,247,.12) 0%,transparent 50%);pointer-events:none;z-index:0;transition:background var(--duration-slower) var(--ease-out-expo);filter:blur(60px);animation:breathe 10s ease-in-out infinite alternate}.autoflip-progress{position:fixed;top:0;left:0;height:3px;width:0%;background:linear-gradient(90deg,var(--accent) 0%,var(--accent-hover) 50%,var(--accent-electric) 100%);box-shadow:0 0 12px var(--accent-glow);z-index:1000;pointer-events:none;opacity:0;transition:opacity var(--duration-fast) ease}.autoflip-progress.active{opacity:1}#loading-screen{position:absolute;top:0;left:0;width:100%;height:100%;background:var(--bg-gradient);background-color:var(--bg-color);z-index:100;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--space-lg);transition:opacity var(--duration-slower) var(--ease-out-expo)}#loading-screen .loader-brand{font-size:clamp(1.2rem,3vw,1.6rem);font-weight:700;letter-spacing:-.02em;color:var(--text-main);animation:fadeInUp .6s var(--ease-out-expo) both}#loading-screen .loader-sub{font-size:.85rem;color:var(--text-muted);max-width:min(32rem,calc(100vw - 48px));text-align:center;animation:fadeInUp .6s var(--ease-out-expo) .1s both}.loader-error-message,.loader-error-hint{display:block}.loader-error-message{margin-bottom:var(--space-md);color:var(--text-muted);font-size:.9rem;overflow-wrap:anywhere}.loader-error-hint{font-size:.82rem;opacity:.8}.loader-error-hint code{padding:2px 6px;border-radius:4px;background:var(--accent-subtle);color:var(--text-main)}.loader-retry{display:block;margin:var(--space-lg) auto 0;padding:9px 16px;border:0;border-radius:10px;background:var(--accent);color:var(--on-accent);font:inherit;font-weight:650;cursor:pointer}.spinner{width:40px;height:40px;position:relative;animation:fadeIn .4s ease both}.spinner:before{content:"";position:absolute;inset:0;border:3px solid var(--surface-border);border-top-color:var(--accent);border-radius:50%;animation:spin .8s linear infinite}.spinner:after{content:"";position:absolute;inset:6px;border:2px solid transparent;border-top-color:var(--accent-hover);border-radius:50%;animation:spin 1.2s linear infinite reverse}#canvas-container{width:100vw;height:100vh;height:100dvh;position:fixed;top:0;left:0;z-index:1;display:flex;align-items:center;justify-content:center;overflow:hidden;perspective:1400px;animation:fadeIn .5s ease .2s both;touch-action:pan-y pinch-zoom}#canvas-container.drawer-inset{height:calc(100dvh - var(--thumbnails-height))}.book-wrapper{--book-scale: 1;--book-pan-x: 0px;--book-pan-y: 0px;position:relative;display:flex;align-items:center;justify-content:center;box-shadow:0 2px 4px #0003,0 8px 16px #00000026,0 24px 48px #0003,0 48px 96px #00000040;border-radius:3px;transform-style:preserve-3d;transform:translate(var(--book-pan-x),var(--book-pan-y)) scale(var(--book-scale));transition:transform var(--duration-normal) var(--ease-spring),box-shadow var(--duration-slow) ease;margin:auto;will-change:transform;animation:fadeIn .4s var(--ease-out-expo) .2s both}.book-wrapper.is-panning{transition:none!important}.book-wrapper:before,.book-wrapper:after{content:"";position:absolute;top:3px;bottom:3px;width:6px;border-radius:2px;z-index:-1;pointer-events:none}.book-wrapper:before{left:-7px;background:linear-gradient(to right,#00000026,#c8c8d299,#dcdce6cc 60%,#f0f0f5);box-shadow:inset -1px 0 3px #00000026;transform:rotateY(-86deg);transform-origin:right center}.book-wrapper:after{right:-7px;background:linear-gradient(to left,#00000026,#c8c8d299,#dcdce6cc 60%,#f0f0f5);box-shadow:inset 1px 0 3px #00000026;transform:rotateY(86deg);transform-origin:left center}.book-wrapper.zoomed-in{--book-scale: 1.45;box-shadow:0 4px 8px #00000040,0 16px 32px #0003,0 32px 64px #00000040,0 64px 128px #0000004d}.stf__parent{overflow:visible!important;margin:0 auto}.page-item{position:relative;overflow:hidden}.page-item:after{content:"";position:absolute;top:0;left:0;width:100%;height:100%;pointer-events:none;background:linear-gradient(to right,#0000001a,#0000 3.5% 96.5%,#0000001a)}:root{--bar-h: 52px;--bar-gutter: 12px;--toolbar-w: 200px}.header-bar,.toolbar,.more-sheet,.page-popover,.page-jump-field{--ink-hover: rgba(125, 125, 125, .12);--ink-press: rgba(125, 125, 125, .2);--hairline: rgba(125, 125, 125, .22);--glass: var(--surface-glass);--track: rgba(125, 125, 125, .28)}@supports (color: color-mix(in srgb,red 50%,blue)){.header-bar,.toolbar,.more-sheet,.page-popover,.page-jump-field{--ink-hover: color-mix(in srgb, var(--text-main) 7%, transparent);--ink-press: color-mix(in srgb, var(--text-main) 13%, transparent);--hairline: color-mix(in srgb, var(--text-main) 11%, transparent);--glass: color-mix(in srgb, var(--surface-glass-solid) 80%, transparent);--track: color-mix(in srgb, var(--text-main) 18%, transparent)}}.bar-btn{position:relative;display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;min-width:44px;height:44px;padding:0;border:0;border-radius:12px;background:transparent;color:var(--text-muted);font:500 13.5px/1 var(--font-sans);text-decoration:none;cursor:pointer;-webkit-tap-highlight-color:transparent;transition:color var(--duration-fast) ease}.bar-btn:before{content:"";position:absolute;inset:4px;border-radius:10px;background:transparent;transition:background-color var(--duration-fast) ease}.bar-btn>*{position:relative}.bar-btn svg,.more-item .ico{width:20px;height:20px;flex:none;fill:none;stroke:currentColor;stroke-width:1.75;stroke-linecap:round;stroke-linejoin:round}.bar-btn:hover{color:var(--text-main)}.bar-btn:hover:before{background:var(--ink-hover)}.bar-btn:active:before{background:var(--ink-press)}.bar-btn[aria-expanded=true],.bar-btn[aria-pressed=true]{color:var(--accent)}.bar-btn[aria-expanded=true]:after,.bar-btn[aria-pressed=true]:after{content:"";position:absolute;left:50%;bottom:4px;width:14px;height:2px;margin-left:-7px;border-radius:2px;background:var(--accent)}.bar-btn:disabled{opacity:.32;cursor:default}.bar-btn:disabled:before{background:transparent}.bar-btn--text{gap:6px;padding:0 14px 0 12px}.bar-btn--text:before{inset:4px 2px}.bar-label{font-weight:500}.ico-on{display:none}[aria-pressed=true]>.ico-on{display:block}[aria-pressed=true]>.ico-off{display:none}.header-bar{--bar-side: 156px;position:fixed;top:0;left:0;right:0;z-index:10;display:grid;grid-template-columns:var(--bar-side) minmax(0,1fr) var(--bar-side);align-items:center;column-gap:8px;height:calc(var(--bar-h) + env(safe-area-inset-top,0px));padding:env(safe-area-inset-top,0px) max(var(--bar-gutter),env(safe-area-inset-right,0px)) 0 max(var(--bar-gutter),env(safe-area-inset-left,0px));background:var(--glass);backdrop-filter:blur(12px) saturate(1.4);-webkit-backdrop-filter:blur(12px) saturate(1.4);border-bottom:1px solid var(--hairline);transition:opacity .18s ease,visibility 0s linear 0s}@supports not (backdrop-filter: blur(12px)){.header-bar,.toolbar{background:var(--surface-glass-solid)}}.bar-start,.bar-end{display:flex;align-items:center;min-width:0}.bar-start{justify-self:start}.bar-end{justify-self:end;gap:2px}.header-bar h1{min-width:0;margin:0;font:600 16px/1.2 var(--font-display);letter-spacing:0;text-transform:none;text-align:center;color:var(--text-main);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.mobile-search-trigger{display:inline-flex}.search-box{display:none;position:relative;align-items:center;gap:8px;width:clamp(180px,14vw,224px);height:36px;margin-inline:4px;padding:0 12px;border:1px solid transparent;border-radius:var(--radius-full);background:var(--ink-hover);transition:background-color var(--duration-fast) ease,border-color var(--duration-fast) ease}.search-box:hover{background:var(--ink-press)}.search-box:focus-within{border-color:var(--accent)}.search-box:has(input:focus-visible){border-color:transparent;outline:2px solid var(--accent);outline-offset:2px}.search-box>svg{width:16px;height:16px;flex:none;fill:none;stroke:var(--text-dim);stroke-width:1.75;stroke-linecap:round;stroke-linejoin:round}.search-box input{flex:1;min-width:0;height:100%;border:0;outline:0;background:transparent;color:var(--text-main);font:400 13px/1 var(--font-sans)}.search-box input::placeholder{color:var(--text-dim)}.search-results-dropdown{position:absolute;top:calc(100% + 8px);right:0;width:min(340px,calc(100vw - 24px));background:var(--surface-glass-solid);border:1px solid var(--hairline);border-radius:var(--radius-md);box-shadow:var(--shadow-lg);max-height:min(320px,50dvh);overflow-y:auto;display:none;flex-direction:column;z-index:30;animation:fadeInUp .2s var(--ease-out-expo)}.search-results-dropdown.show{display:flex}.search-result-item{padding:var(--space-sm) var(--space-md);font-size:.8rem;cursor:pointer;border-bottom:1px solid var(--surface-border);display:flex;justify-content:space-between;align-items:center;gap:var(--space-sm);transition:background var(--duration-fast) ease}.search-result-item:last-child{border-bottom:none}.search-result-item:hover,.search-result-item.active{background:var(--accent-subtle)}.btn-icon-sm{background:#7d7d7d1a;border:1px solid transparent;color:var(--text-main);min-width:44px;min-height:44px;border-radius:var(--radius-full);display:flex;align-items:center;justify-content:center;cursor:pointer;font-weight:700;font-size:.85rem;font-family:var(--font-sans);transition:background-color var(--duration-normal) var(--ease-spring),color var(--duration-normal) var(--ease-spring),transform var(--duration-normal) var(--ease-spring),box-shadow var(--duration-normal) var(--ease-spring);flex-shrink:0}.btn-icon-sm:hover{background:var(--accent);color:#fff;transform:scale(1.08);box-shadow:var(--shadow-sm)}.btn-icon-sm.active{background:var(--accent);color:#fff;box-shadow:var(--shadow-sm)}.toolbar{position:fixed;left:0;right:0;bottom:max(14px,env(safe-area-inset-bottom,0px));z-index:10;width:fit-content;max-width:calc(100% - (2*max(var(--bar-gutter),env(safe-area-inset-left,0px),env(safe-area-inset-right,0px))));height:48px;margin-inline:auto;padding:2px;display:flex;align-items:center;gap:2px;background:var(--glass);backdrop-filter:blur(12px) saturate(1.4);-webkit-backdrop-filter:blur(12px) saturate(1.4);border:1px solid var(--hairline);border-radius:var(--radius-full);box-shadow:0 8px 24px -16px #0000008c;transition:opacity .18s ease,visibility 0s linear 0s}.toolbar-sep{width:1px;height:20px;margin-inline:4px;background:var(--hairline)}.page-jump{--caret-w: 0px;position:relative;display:inline-flex;align-items:center;justify-content:center;gap:2px;height:44px;min-width:calc(var(--indicator-ch, 9) * 1ch + 20px + var(--caret-w));padding:0 10px;border:0;border-radius:22px;background:transparent;color:var(--text-main);font:500 13px/1 var(--font-sans);font-variant-numeric:tabular-nums;white-space:nowrap;cursor:pointer;-webkit-tap-highlight-color:transparent;transition:background-color var(--duration-fast) ease}.page-jump:hover{background:var(--ink-hover)}.page-jump[aria-expanded=true]{color:var(--accent)}.page-indicator{font-variant-numeric:tabular-nums}.page-jump-caret{width:14px;height:14px;flex:none;margin-inline-start:2px;fill:none;stroke:var(--text-dim);stroke-width:2;stroke-linecap:round;stroke-linejoin:round;transition:transform var(--duration-fast) ease}.page-jump[aria-expanded=true] .page-jump-caret{stroke:var(--accent);transform:rotate(180deg)}.page-popover{display:contents}.slider-container{--slider-fill: 0%;--slider-ratio: 0;position:relative;display:flex;align-items:center;width:200px;height:44px;margin-inline:4px 6px}.slider-container input[type=range]{-webkit-appearance:none;appearance:none;width:100%;height:44px;margin:0;background:transparent;cursor:pointer;outline:none}.slider-container input[type=range]::-webkit-slider-runnable-track{height:4px;border-radius:2px;background:linear-gradient(to right,var(--accent) var(--slider-fill),var(--track) var(--slider-fill))}.slider-container input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;width:16px;height:16px;margin-top:-6px;border-radius:50%;border:2px solid var(--surface-glass-solid);background:var(--accent);box-shadow:0 0 0 1px var(--hairline);cursor:pointer;transition:transform var(--duration-fast) var(--ease-spring)}.slider-container input[type=range]:hover::-webkit-slider-thumb,.slider-container input[type=range]:active::-webkit-slider-thumb{transform:scale(1.2)}.slider-container input[type=range]:focus-visible::-webkit-slider-thumb{outline:2px solid var(--accent);outline-offset:2px}.slider-container input[type=range]::-moz-range-track{height:4px;border-radius:2px;background:var(--track)}.slider-container input[type=range]::-moz-range-progress{height:4px;border-radius:2px;background:var(--accent)}.slider-container input[type=range]::-moz-range-thumb{width:12px;height:12px;border-radius:50%;border:2px solid var(--surface-glass-solid);background:var(--accent);cursor:pointer}.slider-container input[type=range]:focus-visible::-moz-range-thumb{outline:2px solid var(--accent);outline-offset:2px}.slider-tooltip{position:absolute;bottom:calc(100% + 4px);left:calc(8px + (100% - 16px) * var(--slider-ratio));transform:translate(-50%) translateY(4px);padding:6px 10px;border:1px solid var(--hairline);border-radius:var(--radius-sm);background:var(--surface-glass-solid);color:var(--text-main);font:500 11.5px/1 var(--font-sans);white-space:nowrap;opacity:0;pointer-events:none;transition:opacity var(--duration-fast) ease,transform var(--duration-fast) ease}.slider-container:hover .slider-tooltip,.slider-container:has(input:active) .slider-tooltip{opacity:1;transform:translate(-50%) translateY(0)}.page-jump-field{display:none;align-items:center;gap:10px;color:var(--text-muted);font:400 13px/1 var(--font-sans)}.page-jump-field input{width:64px;height:36px;padding:0 8px;border:1px solid var(--hairline);border-radius:10px;background:var(--ink-hover);color:var(--text-main);font:500 14px/1 var(--font-sans);font-variant-numeric:tabular-nums;text-align:center;-moz-appearance:textfield;appearance:textfield}.page-jump-field input::-webkit-outer-spin-button,.page-jump-field input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.page-jump-field input:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.toolbar.is-jump-open .page-jump-field{position:absolute;bottom:calc(100% + 10px);left:50%;transform:translate(-50%);display:flex;padding:10px 14px;border:1px solid var(--hairline);border-radius:14px;background:var(--surface-glass-solid);box-shadow:var(--shadow-lg);white-space:nowrap}@media (max-width: 1023px),(max-height: 480px){.page-jump{--caret-w: 18px}.page-popover{position:absolute;bottom:calc(100% + 10px);left:50%;z-index:2;display:none;flex-direction:column;gap:6px;width:min(320px,calc(100vw - 24px));padding:6px 16px 14px;transform:translate(-50%);border:1px solid var(--hairline);border-radius:16px;background:var(--surface-glass-solid);box-shadow:var(--shadow-lg)}.toolbar.is-jump-open .page-popover{display:flex}.page-popover .slider-container{width:100%;margin:0}.page-popover .slider-tooltip{display:none}.toolbar.is-jump-open .page-jump-field,.page-jump-field{position:static;display:flex;justify-content:center;padding:0;border:0;border-radius:0;background:transparent;box-shadow:none;transform:none}}@media (min-width: 1024px) and (min-height: 481px){.page-jump-caret{display:none}}.embed-only{display:none}body.mode-embed .embed-only{display:inline-flex}body.mode-embed .toolbar-sep.embed-only{display:block}body.mode-embed .header-bar,body.mode-embed .more-sheet,body.mode-embed .more-scrim{display:none!important}.bars-hidden .header-bar,.bars-hidden .toolbar{opacity:0;visibility:hidden;pointer-events:none;transition:opacity .4s ease,visibility 0s linear .4s}.more-scrim{position:fixed;inset:0;z-index:45;background:transparent;visibility:hidden;opacity:0;transition:opacity .24s ease,visibility 0s linear .24s}.more-scrim.open{visibility:visible;opacity:1;transition:opacity .24s ease}.more-sheet{position:fixed;top:0;right:0;bottom:0;z-index:50;display:flex;flex-direction:column;width:min(340px,100vw);padding:env(safe-area-inset-top,0px) env(safe-area-inset-right,0px) env(safe-area-inset-bottom,0px) 0;background:var(--surface-glass-solid);border-left:1px solid var(--hairline);box-shadow:-24px 0 48px -32px #0000008c;transform:translate(100%);visibility:hidden;opacity:0;transition:transform .3s var(--ease-out-expo),opacity .2s ease,visibility 0s linear .3s}.more-sheet.open{transform:none;visibility:visible;opacity:1;transition-delay:0s}.more-grip{display:none}.more-header{display:flex;align-items:center;justify-content:space-between;min-height:56px;padding:4px 8px 0 20px}.more-title{margin:0;font:600 16px/1.2 var(--font-display);color:var(--text-main)}.more-body{flex:1;min-height:0;padding:0 8px 16px;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin}.more-group+.more-group{margin-top:4px;border-top:1px solid var(--hairline)}.more-group-title{margin:0;padding:14px 12px 6px;color:var(--text-dim);font:500 12px/1 var(--font-sans);letter-spacing:.02em}.more-item{position:relative;display:flex;align-items:center;gap:14px;width:100%;min-height:44px;padding:0 12px;border:0;border-radius:12px;background:transparent;color:var(--text-main);font:500 14px/1.25 var(--font-sans);text-align:start;cursor:pointer;-webkit-tap-highlight-color:transparent;transition:background-color var(--duration-fast) ease}.more-item .ico{color:var(--text-muted);transition:color var(--duration-fast) ease}.more-item:hover{background:var(--ink-hover)}.more-item:active{background:var(--ink-press)}.more-item:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}.more-item[aria-pressed=true] .ico,.more-item[aria-expanded=true] .ico{color:var(--accent)}#btn-bookmark[aria-pressed=true] .ico-bookmark{fill:currentColor}.more-label{flex:1;min-width:0}.more-kbd{color:var(--text-dim);font:500 11px/1 var(--font-mono);white-space:nowrap}.more-item:not([aria-pressed]) .more-kbd{margin-inline-end:48px}.more-state{color:var(--accent);font:500 12px/1 var(--font-sans)}.more-state.is-update{color:var(--text-main)}.more-switch{position:relative;flex:none;width:34px;height:20px;border:1.5px solid var(--text-dim);border-radius:10px;transition:border-color var(--duration-fast) ease}.more-switch:after{content:"";position:absolute;top:50%;left:3px;width:11px;height:11px;margin-top:-5.5px;border-radius:50%;background:var(--text-dim);transition:transform .18s var(--ease-out-expo),background-color var(--duration-fast) ease}.more-item[aria-pressed=true] .more-switch{border-color:var(--accent)}.more-item[aria-pressed=true] .more-switch:after{transform:translate(14px);background:var(--accent)}@media (max-width: 767px){.more-scrim{background:#00000080}.more-sheet{top:auto;left:0;width:auto;max-height:min(88dvh,700px);padding:0 env(safe-area-inset-right,0px) env(safe-area-inset-bottom,0px) env(safe-area-inset-left,0px);border-left:0;border-top:1px solid var(--hairline);border-radius:20px 20px 0 0;box-shadow:0 -24px 48px -28px #0009;transform:translateY(100%)}.more-grip{display:block;flex:none;width:36px;height:4px;margin:8px auto 0;border-radius:2px;background:var(--track)}.more-header{min-height:48px;padding-top:0}}@media (max-width: 767px),(pointer: coarse){.more-kbd{display:none}}@media (max-width: 767px){.header-bar{grid-template-columns:44px 44px minmax(0,1fr) 44px 44px;column-gap:0;padding-inline:max(4px,env(safe-area-inset-left,0px)) max(4px,env(safe-area-inset-right,0px))}.bar-start,.bar-end{display:contents}.header-bar>*,.bar-start>*,.bar-end>*{grid-row:1}#btn-back-library{grid-column:1;padding:0}#btn-toc{grid-column:2}.header-bar h1{grid-column:3;padding-inline:6px;font-size:15px}#btn-mobile-search{grid-column:4}#btn-more{grid-column:5}.bar-label{display:none}}@media (max-width: 1099px),(max-height: 480px){.search-box.mobile-open{position:absolute;top:calc(100% + 8px);right:max(var(--bar-gutter),env(safe-area-inset-right,0px));z-index:30;display:flex;width:min(380px,calc(100vw - 24px));height:48px;margin:0;padding:0 14px;border:1px solid var(--hairline);border-radius:14px;background:var(--surface-glass-solid);box-shadow:var(--shadow-lg)}.search-box.mobile-open .search-results-dropdown{width:100%}}@media (max-width: 767px){.search-box.mobile-open{left:max(8px,env(safe-area-inset-left,0px));right:max(8px,env(safe-area-inset-right,0px));width:auto}.search-box.mobile-open input{font-size:16px}}@media (min-width: 1100px){.header-bar{--bar-side: 340px}.mobile-search-trigger{display:none}.search-box{display:flex}}@media (max-height: 480px){:root{--bar-h: 48px}.header-bar{display:flex;gap:2px;padding-inline:max(8px,env(safe-area-inset-left,0px)) max(8px,env(safe-area-inset-right,0px))}.bar-start,.bar-end{display:contents}#btn-back-library{order:0;padding:0}#btn-toc{order:1}.header-bar h1{order:2;flex:1;padding-inline:8px;font-size:14.5px;text-align:start}#btn-mobile-search{order:3;display:inline-flex}.search-box:not(.mobile-open){display:none}#btn-more{order:5;margin-inline-start:calc(var(--toolbar-w) + 4px)}.bar-label{display:none}body:not(.mode-embed) .toolbar{top:env(safe-area-inset-top,0px);bottom:auto;left:auto;right:calc(max(8px,env(safe-area-inset-right,0px)) + 46px);width:auto;height:var(--bar-h);margin:0;padding:0;border:0;border-radius:0;background:transparent;backdrop-filter:none;-webkit-backdrop-filter:none;box-shadow:none}.page-popover{top:calc(100% + 8px);bottom:auto}}@media (prefers-reduced-motion: reduce){.header-bar,.toolbar{transition-duration:.12s,0s}.bars-hidden .header-bar,.bars-hidden .toolbar{transition-duration:.12s,0s;transition-delay:0s,.12s}.more-sheet,.more-scrim{transform:none;transition-property:opacity,visibility;transition-duration:.12s}.more-switch:after,.page-jump-caret,.slider-container input[type=range]::-webkit-slider-thumb{transition:none}}.toast-notification{position:fixed;top:calc(var(--bar-h) + env(safe-area-inset-top,0px) + 12px);left:50%;transform:translate(-50%) translateY(-16px);background:var(--surface-glass-solid, #16161a);color:var(--text-main, #ffffff);border:1px solid var(--surface-border, rgba(255, 255, 255, .12));padding:var(--space-sm) var(--space-lg);border-radius:var(--radius-full);font-size:.85rem;font-weight:600;box-shadow:var(--shadow-xl);z-index:10000;opacity:0;pointer-events:none;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);transition:opacity var(--duration-normal) var(--ease-spring),transform var(--duration-normal) var(--ease-spring)}.toast-notification.show{opacity:1;transform:translate(-50%) translateY(0)}body.mode-embed .toast-notification{top:calc(env(safe-area-inset-top,0px) + 16px)}.modal-overlay{position:absolute;top:0;left:0;width:100vw;height:100vh;background:#0009;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);z-index:60;display:flex;align-items:center;justify-content:center;visibility:hidden;opacity:0;transition:opacity var(--duration-normal) ease}.modal-overlay.open{visibility:visible;opacity:1}.modal-card{background:var(--surface-glass);backdrop-filter:blur(28px) saturate(1.3);-webkit-backdrop-filter:blur(28px) saturate(1.3);border:1px solid var(--surface-border);border-radius:var(--radius-lg);width:clamp(320px,50vw,440px);max-width:90vw;padding:var(--space-lg);box-shadow:var(--shadow-xl);transform:scale(.95);transition:transform var(--duration-normal) var(--ease-spring)}.modal-overlay.open .modal-card{transform:scale(1)}.modal-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--space-md);padding-bottom:var(--space-sm);border-bottom:1px solid var(--surface-border)}.modal-header h3{font-size:1.05rem;font-weight:700;letter-spacing:-.01em}.shortcuts-grid{display:flex;flex-direction:column;gap:var(--space-sm)}.shortcut-item{display:flex;align-items:center;justify-content:space-between;font-size:.85rem;color:var(--text-muted)}kbd{background:var(--accent-subtle);border:1px solid var(--surface-border);border-radius:6px;padding:2px 8px;font-family:var(--font-mono);font-size:.75rem;font-weight:600;color:var(--accent);min-width:28px;text-align:center}.toc-drawer{position:absolute;top:0;left:0;width:clamp(240px,35vw,300px);height:100vh;background:var(--surface-glass);backdrop-filter:blur(28px) saturate(1.3);-webkit-backdrop-filter:blur(28px) saturate(1.3);border-right:1px solid var(--surface-border);z-index:40;visibility:hidden;opacity:0;transform:translate(-100%);transition:opacity var(--duration-slow) var(--ease-out-expo),transform var(--duration-slow) var(--ease-out-expo);padding:var(--space-lg);display:flex;flex-direction:column;gap:var(--space-md);box-shadow:var(--shadow-xl)}.toc-drawer.open{visibility:visible;opacity:1;transform:translate(0)}.toc-header{display:flex;align-items:center;justify-content:space-between;gap:var(--space-xs);font-size:.95rem;font-weight:700;border-bottom:1px solid var(--surface-border);padding-bottom:var(--space-sm)}.toc-tabs{display:flex;gap:var(--space-xs);background:#7d7d7d14;padding:3px;border-radius:var(--radius-full)}.toc-tab{background:transparent;border:none;color:var(--text-muted);font-size:.78rem;font-weight:600;padding:4px 10px;border-radius:var(--radius-full);cursor:pointer;transition:all var(--duration-fast) ease}.toc-tab:hover{color:var(--text-main)}.toc-tab.active{background:var(--accent);color:var(--on-accent)}.toc-list{display:flex;flex-direction:column;gap:var(--space-xs);overflow-y:auto;flex:1;scrollbar-width:thin;scrollbar-color:var(--surface-border) transparent}.toc-item{padding:var(--space-sm) var(--space-md);background:#7d7d7d0d;border-radius:var(--radius-sm);font-size:.85rem;font-weight:500;cursor:pointer;display:flex;align-items:center;justify-content:space-between;transition:background-color var(--duration-normal) ease,color var(--duration-normal) ease,transform var(--duration-normal) ease;color:var(--text-muted);width:100%;min-height:44px;border:0;text-align:start;font-family:inherit}.toc-item:hover{background:var(--accent-subtle);color:var(--accent);transform:translate(4px)}.bookmark-row{display:grid;grid-template-columns:minmax(0,1fr) 44px;gap:var(--space-xs);align-items:center}.thumbnails-overlay{position:fixed;top:0;left:0;width:100vw;height:100vh;background:#00000080;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);z-index:25;visibility:hidden;opacity:0;pointer-events:none;transition:opacity var(--duration-slow) ease}.thumbnails-overlay.open{visibility:visible;opacity:1;pointer-events:auto}.thumbnails-drawer{position:fixed;bottom:0;left:0;width:100%;height:var(--thumbnails-height);background:var(--surface-glass);backdrop-filter:blur(28px) saturate(1.3);-webkit-backdrop-filter:blur(28px) saturate(1.3);border-top:1px solid var(--surface-border);z-index:30;visibility:hidden;opacity:0;pointer-events:none;transform:translateY(100%);transition:opacity var(--duration-slow) var(--ease-out-expo),transform var(--duration-slow) var(--ease-out-expo);padding:var(--space-md) max(var(--space-lg),env(safe-area-inset-right)) max(var(--space-md),env(safe-area-inset-bottom)) max(var(--space-lg),env(safe-area-inset-left));display:flex;flex-direction:column;gap:var(--space-sm);box-shadow:0 -10px 40px #0000004d}.thumbnails-drawer.open{visibility:visible;opacity:1;pointer-events:auto;transform:translateY(0)}.thumbnails-header{display:flex;align-items:center;justify-content:space-between;font-size:.88rem;font-weight:700;color:var(--text-main);padding-bottom:var(--space-xs);border-bottom:1px solid var(--surface-border)}.btn-close{background:transparent;border:none;color:var(--text-muted);font-size:1.4rem;line-height:1;cursor:pointer;width:44px;height:44px;border-radius:var(--radius-full);display:flex;align-items:center;justify-content:center;transition:background-color var(--duration-normal) ease,color var(--duration-normal) ease}.btn-close:hover{background:#ef444426;color:var(--danger)}.thumbnails-grid{display:flex;gap:clamp(10px,2vw,18px);overflow-x:auto;height:clamp(120px,20vh,170px);align-items:center;padding-bottom:var(--space-xs);scrollbar-width:thin;scrollbar-color:var(--surface-border) transparent}.thumbnails-grid::-webkit-scrollbar{height:4px}.thumbnails-grid::-webkit-scrollbar-thumb{background:var(--surface-border);border-radius:2px}.thumb-item{flex:0 0 auto;height:clamp(110px,18vh,150px);display:flex;flex-direction:column;align-items:center;gap:var(--space-xs);cursor:pointer;border-radius:var(--radius-sm);padding:var(--space-xs);transition:background-color var(--duration-normal) var(--ease-spring),border-color var(--duration-normal) var(--ease-spring),transform var(--duration-normal) var(--ease-spring);border:2px solid transparent;background:#7d7d7d08;color:inherit;font-family:inherit}.thumb-item:hover{transform:translateY(-6px) scale(1.02);background:#7d7d7d1a}.thumb-item.active{border-color:var(--accent);box-shadow:var(--shadow-md);background:var(--accent-subtle)}.thumb-item img{height:clamp(85px,14vh,115px);border-radius:4px;object-fit:contain;transition:transform var(--duration-normal) ease}.thumb-item:hover img{transform:scale(1.03)}.thumb-item span{font-size:.7rem;font-weight:600;color:var(--text-dim);font-variant-numeric:tabular-nums}.thumb-item.active span{color:var(--accent)}@media (max-width: 600px){.toc-drawer{width:85vw}}@media print{.header-bar,.toolbar,.more-sheet,.more-scrim,.toc-drawer,.thumbnails-drawer,.bg-ambient,.toast-notification,.modal-overlay{display:none!important}}@media (prefers-reduced-motion: reduce){.bg-ambient,.autoflip-progress,.spinner,.library-hero{animation:none}.book-card,.collection-card,.thumb-item,.btn-icon-sm,.toc-item,.modal-overlay,.thumbnails-drawer{transition-property:color,background-color,border-color,visibility;transition-duration:.12s}.book-card:hover,.collection-card:hover,.thumb-item:hover,.btn-icon-sm:hover,.toc-item:hover{transform:none}}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}button:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.library-view{--accent: #c8a96e;--accent-hover: #dbbf88;--accent-dim: rgba(200, 169, 110, .25);--accent-subtle: rgba(200, 169, 110, .08);--card-bg: rgba(255, 255, 255, .02);--card-border: rgba(255, 255, 255, .07);--card-hover-border: rgba(200, 169, 110, .35);position:fixed;inset:0;overflow-y:auto;overflow-x:hidden;background:var(--bg-gradient);background-color:var(--bg-color);z-index:100;padding:0 0 100px;box-sizing:border-box;scrollbar-width:thin;scrollbar-color:rgba(255,255,255,.15) transparent;transition:background var(--duration-view) var(--ease-editorial),color var(--duration-view) var(--ease-editorial)}.library-view::-webkit-scrollbar{width:6px}.library-view::-webkit-scrollbar-thumb{background:#ffffff26;border-radius:9999px}.library-container{max-width:1360px;margin:0 auto;padding:0 clamp(20px,4vw,56px);display:flex;flex-direction:column}.library-nav{position:sticky;top:0;z-index:50;display:flex;align-items:center;justify-content:space-between;gap:20px;padding:16px clamp(20px,4vw,56px);margin-left:calc(-1*clamp(20px,4vw,56px));margin-right:calc(-1*clamp(20px,4vw,56px));background:var(--surface-glass, rgba(10, 12, 18, .85));backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px);border-bottom:1px solid var(--surface-border, rgba(255, 255, 255, .08));margin-bottom:clamp(28px,4vh,48px);transition:background var(--duration-view) ease,border-color var(--duration-view) ease}body.theme-light .library-view,html.theme-light .library-view{--accent: #76501d;--accent-hover: #5f3f15;--accent-dim: rgba(118, 80, 29, .2);--accent-subtle: rgba(118, 80, 29, .08);--card-bg: #ffffff;--card-border: rgba(0, 0, 0, .07);--card-hover-border: rgba(145, 104, 64, .45);scrollbar-color:rgba(0,0,0,.15) transparent}body.theme-light .library-nav{background:#fafafaeb;border-bottom:1px solid rgba(0,0,0,.08)}body.theme-light .library-nav-search input{background:#00000008;border:1px solid rgba(0,0,0,.1);color:var(--text-main)}body.theme-light .library-nav-search svg{color:var(--text-muted)}body.theme-light .btn-icon-sm{background:#00000008;border:1px solid rgba(0,0,0,.08);color:var(--text-muted)}body.theme-light .btn-icon-sm:hover{background:#0000000f;border-color:#00000026;color:var(--text-main)}body.theme-light .btn-breadcrumb{background:#00000008;border:1px solid rgba(0,0,0,.08)}body.theme-light .section-header{border-bottom:1px solid rgba(0,0,0,.06)}body.theme-light .section-count{background:#0000000f;color:var(--text-dim)}body.theme-light .collection-card{background:#fff;border:1px solid rgba(0,0,0,.07);box-shadow:0 4px 18px #0000000a}body.theme-light .collection-card:hover,body.theme-light .collection-card:focus-visible{background:#fff;border-color:var(--card-hover-border);box-shadow:0 16px 36px -10px #0000001a,0 0 0 1px var(--card-hover-border)}body.theme-light .collection-card-footer{border-top:1px solid rgba(0,0,0,.06)}body.theme-light .collection-count-pill{background:#0000000d}body.theme-light .collection-hero{border-bottom:1px solid rgba(0,0,0,.06)}body.theme-light .pill-btn{background:#00000008;border:1px solid rgba(0,0,0,.08);color:var(--text-muted)}body.theme-light .pill-btn:hover{background:#0000000f;border-color:#0000001f;color:var(--text-main)}body.theme-light .pill-btn.active{background:var(--accent);color:#fff;border-color:var(--accent)}body.theme-light .card-badge{background:#0000000d;color:var(--text-muted)}body.theme-light .stack-layer{box-shadow:0 8px 20px #0000001a,0 0 0 1px #00000014;background:#f0f0f4}.library-brand{display:inline-flex;align-items:center;gap:10px;color:var(--text-main);text-decoration:none;font-family:var(--font-display);font-size:1.15rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;transition:opacity var(--duration-fast) ease}.library-brand:hover{opacity:.85}.library-brand svg{color:var(--accent)}.library-nav-search{position:relative;display:flex;align-items:center;flex:1;max-width:460px}.library-nav-search svg{position:absolute;left:12px;color:var(--text-dim);pointer-events:none}.library-nav-search input{width:100%;padding:9px 32px 9px 36px;background:#ffffff0a;border:1px solid rgba(255,255,255,.09);border-radius:var(--radius-sm);color:var(--text-main);font-family:var(--font-sans);font-size:.86rem;transition:all var(--duration-fast) ease;box-sizing:border-box}.library-nav-search input:focus{outline:none;border-color:var(--accent);background:#ffffff14;box-shadow:0 0 0 3px var(--accent-subtle)}.btn-clear-search{position:absolute;inset-inline-end:0;width:44px;height:44px;align-items:center;justify-content:center;padding:0;border:0;border-radius:var(--radius-sm);background:transparent;color:var(--text-muted);font:inherit;font-size:1.2rem;cursor:pointer;transition:background-color var(--duration-fast) ease,color var(--duration-fast) ease}.btn-clear-search:hover,.btn-clear-search:focus-visible{background:var(--accent-subtle);color:var(--accent-hover)}.library-nav-actions{display:flex;align-items:center;gap:10px}.btn-icon-sm{min-width:44px;min-height:44px;border-radius:var(--radius-sm);background:#ffffff0a;border:1px solid rgba(255,255,255,.08);color:var(--text-muted);display:inline-flex;align-items:center;justify-content:center;cursor:pointer;transition:background-color var(--duration-fast) var(--ease-spring),border-color var(--duration-fast) var(--ease-spring),color var(--duration-fast) var(--ease-spring),transform var(--duration-fast) var(--ease-spring)}.offline-card{max-width:520px}.offline-status{min-height:1.5em;color:var(--text-muted)}.offline-card progress{width:100%;height:10px;accent-color:var(--accent)}.offline-actions{display:flex;flex-wrap:wrap;gap:var(--space-sm);margin-block-start:var(--space-lg)}.btn-primary,.btn-secondary{min-height:44px;padding-inline:var(--space-md);border-radius:var(--radius-sm);border:1px solid var(--surface-border);font:600 .9rem/1 var(--font-sans);cursor:pointer}.btn-primary{background:var(--accent);border-color:var(--accent);color:var(--on-accent)}.btn-secondary{background:var(--surface-glass-solid);color:var(--text-main)}.btn-icon-sm:hover{color:var(--text-main);background:#ffffff14;border-color:#ffffff29;transform:translateY(-1px)}.btn-icon-sm svg{width:18px;height:18px;fill:currentColor}.library-breadcrumbs{display:flex;align-items:center;gap:10px;font-family:var(--font-sans);font-size:.85rem;margin-bottom:24px}.btn-breadcrumb{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;border-radius:var(--radius-sm);background:#ffffff0d;border:1px solid rgba(255,255,255,.08);color:var(--text-muted);font-family:var(--font-sans);font-size:.84rem;font-weight:500;cursor:pointer;transition:all var(--duration-fast) ease}.btn-breadcrumb:hover{color:var(--text-main);background:#ffffff17;border-color:#ffffff26}.breadcrumb-sep{color:var(--text-dim)}.breadcrumb-current{color:var(--text-main);font-weight:600}.library-hero{text-align:left;padding:8px 0 clamp(24px,4vh,48px)}.library-hero-title{font-family:var(--font-display);font-size:clamp(2.4rem,4.8vw,3.6rem);font-weight:700;letter-spacing:.02em;color:var(--text-main);line-height:1.12;margin:0 0 12px}.library-hero-subtitle{font-family:var(--font-serif);font-size:clamp(1.05rem,1.8vw,1.25rem);font-style:italic;font-weight:400;line-height:1.65;color:var(--text-muted);max-width:680px;margin:0}.library-section{margin-bottom:clamp(40px,6vh,64px)}.section-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:24px;padding-bottom:12px;border-bottom:1px solid rgba(255,255,255,.06)}.section-title-wrap{display:flex;align-items:center;gap:12px}.section-title{font-family:var(--font-sans);font-size:1.25rem;font-weight:600;color:var(--text-main);letter-spacing:-.01em;margin:0}.section-count{font-family:var(--font-sans);font-size:.76rem;font-weight:600;color:var(--text-dim);padding:3px 10px;border-radius:9999px;background:#ffffff0f}.library-collections-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(360px,1fr));gap:28px}@media (min-width: 1080px){.library-collections-grid{grid-template-columns:repeat(auto-fill,minmax(480px,1fr))}}.collection-card{display:grid;grid-template-columns:140px 1fr;gap:24px;padding:24px;background:var(--card-bg);border:1px solid var(--card-border);border-radius:16px;cursor:pointer;transition:all .3s cubic-bezier(.16,1,.3,1);outline:none;position:relative;overflow:hidden}a.collection-card,a.book-card{color:inherit;text-decoration:none}@media (max-width: 480px){.collection-card{grid-template-columns:minmax(96px,36%) minmax(0,1fr);align-items:start;padding:16px;gap:16px}.collection-stack-wrap{width:100%;max-width:132px;margin:4px 0 0}.collection-info{min-width:0}.collection-card-footer{align-items:flex-start;flex-direction:column;gap:10px}}@media (min-width: 600px){.collection-card{grid-template-columns:175px 1fr;padding:30px;gap:30px}}.collection-card:hover,.collection-card:focus-visible{border-color:var(--accent, rgba(200, 169, 110, .45));background:#ffffff0d;transform:translateY(-5px);box-shadow:0 24px 50px -15px #000000a6,0 0 0 1px var(--accent-subtle, rgba(200, 169, 110, .25)),0 0 32px var(--accent-glow, rgba(166, 124, 82, .18))}.collection-stack-wrap{position:relative;display:flex;align-items:center;justify-content:center;perspective:1000px}.collection-stack{position:relative;width:100%;aspect-ratio:1 / 1.44;transform-style:preserve-3d}.stack-layer{position:absolute;inset:0;border-radius:5px 9px 9px 5px;overflow:hidden;box-shadow:-6px 12px 28px -4px #0009,0 0 0 1px #ffffff1f,inset 0 0 0 1px #ffffff1a;transition:transform .45s cubic-bezier(.23,1,.32,1),box-shadow .45s cubic-bezier(.23,1,.32,1),opacity .45s cubic-bezier(.23,1,.32,1);background:#11141d}.stack-layer img{width:100%;height:100%;object-fit:cover;display:block}.stack-layer-1{z-index:3;transform:rotate(0) translateY(0);box-shadow:-8px 14px 30px #0000008c,0 0 0 1px #ffffff24}.stack-layer-2{z-index:2;transform:rotate(-5deg) translateY(4px) translate(-8px);opacity:.92;box-shadow:-6px 10px 22px #00000080,0 0 0 1px #ffffff14}.stack-layer-3{z-index:1;transform:rotate(5deg) translateY(8px) translate(8px);opacity:.82;box-shadow:-4px 8px 18px #00000073,0 0 0 1px #ffffff0f}.collection-card:hover .stack-layer-1,.collection-card:focus-visible .stack-layer-1{transform:rotate(-2deg) translateY(-6px) scale(1.02);box-shadow:-12px 20px 40px #000000a6,0 0 0 1px var(--accent-subtle)}.collection-card:hover .stack-layer-2,.collection-card:focus-visible .stack-layer-2{transform:rotate(-11deg) translateY(2px) translate(-18px) scale(.98);opacity:.96;box-shadow:-10px 16px 32px #0000008c}.collection-card:hover .stack-layer-3,.collection-card:focus-visible .stack-layer-3{transform:rotate(11deg) translateY(6px) translate(18px) scale(.96);opacity:.9;box-shadow:8px 16px 32px #0000008c}.collection-info{display:flex;flex-direction:column;justify-content:space-between}.collection-kicker{font-family:var(--font-sans);font-size:.7rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--accent);margin-bottom:6px}.collection-card-title{font-family:var(--font-serif);font-size:clamp(1.25rem,2.4vw,1.5rem);font-weight:600;color:var(--text-main);line-height:1.25;margin:0 0 6px;letter-spacing:-.01em}.collection-card-subtitle{font-family:var(--font-sans);font-size:.86rem;font-weight:500;color:var(--text-muted);margin:0 0 10px}.collection-card-desc{font-family:var(--font-sans);font-size:.84rem;line-height:1.55;color:var(--text-dim);margin:0 0 16px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.collection-card-footer{display:flex;align-items:center;justify-content:space-between;padding-top:14px;border-top:1px solid rgba(255,255,255,.06)}.collection-count-pill{font-family:var(--font-sans);font-size:.78rem;font-weight:600;color:var(--text-main);padding:4px 10px;border-radius:9999px;background:#ffffff12}.collection-cta{display:inline-flex;align-items:center;gap:6px;font-family:var(--font-sans);font-size:.82rem;font-weight:600;color:var(--accent);transition:gap .2s ease}.collection-card:hover .collection-cta{gap:9px}.collection-hero{display:flex;flex-direction:column;gap:16px;margin-bottom:32px;padding-bottom:24px;border-bottom:1px solid rgba(255,255,255,.08)}.collection-title{font-family:var(--font-serif);font-size:clamp(2rem,4vw,2.8rem);font-weight:500;color:var(--text-main);margin:0 0 8px;letter-spacing:-.015em}.collection-subtitle{font-family:var(--font-sans);font-size:1.05rem;font-weight:400;color:var(--text-muted);margin:0 0 10px}.collection-desc{font-family:var(--font-sans);font-size:.92rem;line-height:1.6;color:var(--text-dim);max-width:720px;margin:0}.collection-controls-bar{margin-bottom:36px}.library-pills{display:flex;align-items:center;gap:8px;overflow-x:auto;scrollbar-width:none;-ms-overflow-style:none;padding:4px 0}.library-pills::-webkit-scrollbar{display:none}.pill-btn{display:inline-flex;align-items:center;gap:8px;padding:8px 16px;border-radius:9999px;background:#ffffff0a;border:1px solid rgba(255,255,255,.08);color:var(--text-muted);font-family:var(--font-sans);font-size:.84rem;font-weight:500;cursor:pointer;white-space:nowrap;transition:all .2s ease}.pill-btn:hover{color:var(--text-main);background:#ffffff14}.pill-btn.active{background:var(--accent-dim);border-color:var(--accent);color:#fff;font-weight:600}.pill-count{font-size:.72rem;padding:1px 6px;border-radius:9999px;background:#ffffff1a;color:var(--text-dim)}.pill-btn.active .pill-count{background:#0000004d;color:#fff}.library-books-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:36px 24px}@media (min-width: 640px){.library-books-grid{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:44px 28px}}@media (min-width: 1024px){.library-books-grid{grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:52px 32px}}.book-card{display:flex;flex-direction:column;cursor:pointer;outline:none;position:relative;border-radius:18px;padding:18px 16px 20px;background:#ffffff06;border:1px solid rgba(255,255,255,.07);box-shadow:0 6px 20px #00000040;transition:transform .4s cubic-bezier(.23,1,.32,1),background .4s cubic-bezier(.23,1,.32,1),border-color .4s cubic-bezier(.23,1,.32,1),box-shadow .4s cubic-bezier(.23,1,.32,1)}.book-card:hover,.book-card:focus-visible{background:#ffffff0e;border-color:var(--accent, rgba(200, 169, 110, .45));transform:translateY(-6px);box-shadow:0 24px 48px -12px #000000a6,0 0 0 1px var(--accent-subtle, rgba(200, 169, 110, .25)),0 0 28px var(--accent-glow, rgba(166, 124, 82, .2))}body.theme-light .book-card{background:#fff;border:1px solid rgba(0,0,0,.07);box-shadow:0 6px 20px #0000000a,0 1px 3px #00000005}body.theme-light .book-card:hover,body.theme-light .book-card:focus-visible{background:#fff;border-color:var(--accent, rgba(145, 104, 64, .5));box-shadow:0 20px 42px -10px #91684029,0 0 0 1px var(--accent, rgba(145, 104, 64, .35))}.book-cover-stage{position:relative;perspective:1200px;perspective-origin:50% 50%;margin-bottom:16px;padding:8px 12px 14px 8px;height:240px;display:flex;align-items:center;justify-content:center}.book-cover-stage:after{content:"";position:absolute;left:6%;right:6%;bottom:-6px;height:22px;border-radius:50%;background:radial-gradient(ellipse at center,rgba(0,0,0,.75) 0%,rgba(0,0,0,.25) 55%,transparent 75%);filter:blur(10px);opacity:.75;pointer-events:none;transition:all .45s cubic-bezier(.23,1,.32,1);transform:rotateX(60deg) scale(.92)}.book-card-landscape .book-cover-stage:after{left:3%;right:3%;bottom:12px;height:22px;transform:rotateX(60deg) scale(.98)}body.theme-light .book-cover-stage:after{opacity:.4;background:radial-gradient(ellipse at center,rgba(80,50,20,.6) 0%,rgba(80,50,20,.15) 55%,transparent 75%)}.book-card:hover .book-cover-stage:after,.book-card:focus-visible .book-cover-stage:after{opacity:.55;transform:rotateX(60deg) scale(1.1) translateY(8px);filter:blur(14px)}.book-cover-3d{position:relative;width:100%;height:auto;max-width:175px;max-height:220px;border-radius:3px 8px 8px 3px;background:#0f1118;overflow:visible;box-shadow:-10px 18px 32px -4px #0000008c,-2px 0 8px #0000004d,inset 0 0 0 1px #ffffff1f;transform-style:preserve-3d;transform:rotateY(-7deg) rotateX(1.8deg);transition:transform .45s cubic-bezier(.23,1,.32,1),box-shadow .45s cubic-bezier(.23,1,.32,1)}.book-card-landscape .book-cover-3d{max-width:225px;max-height:155px;transform:rotateY(-5deg) rotateX(1.4deg)}body.theme-light .book-cover-3d{background:#fff;box-shadow:-8px 16px 28px -4px #0000002e,-2px 0 6px #00000014,inset 0 0 0 1px #00000014}.book-card:hover .book-cover-3d,.book-card:focus-visible .book-cover-3d{transform:rotateY(-2deg) rotateX(0) translateY(-8px) scale(1.025);box-shadow:-12px 24px 44px #00000073,0 0 30px var(--accent-glow, rgba(166, 124, 82, .3))}.book-spine-shadow{position:absolute;top:0;left:0;bottom:0;width:14px;background:linear-gradient(to right,rgba(0,0,0,.55) 0%,rgba(255,255,255,.2) 25%,rgba(0,0,0,.18) 55%,transparent 100%);border-radius:3px 0 0 3px;z-index:5;pointer-events:none}.book-cover-img{width:100%;height:100%;object-fit:contain;border-radius:3px 8px 8px 3px;display:block;z-index:1}.book-cover-shine{position:absolute;inset:0;border-radius:3px 8px 8px 3px;background:linear-gradient(125deg,rgba(255,255,255,.18) 0%,rgba(255,255,255,.04) 40%,transparent 60%);pointer-events:none;opacity:.6;transition:opacity .35s ease;z-index:4}.book-card:hover .book-cover-shine{opacity:.95}.book-3d-badge{position:absolute;top:12px;right:12px;background:#0c0e14e6;color:#eab308;border:1px solid rgba(234,179,8,.55);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);font-family:var(--font-sans);font-size:.66rem;font-weight:700;letter-spacing:.12em;padding:4px 9px;border-radius:20px;text-transform:uppercase;z-index:6;box-shadow:0 4px 14px #00000080,inset 0 1px #ffffff26}body.theme-light .book-3d-badge{background:#ffffffeb;color:#a16207;border:1px solid rgba(161,98,7,.45);box-shadow:0 4px 12px #0000001f}.book-action-pill{position:absolute;bottom:16px;left:50%;transform:translate(-50%) translateY(12px);display:inline-flex;align-items:center;gap:8px;padding:9px 20px;border-radius:9999px;background:linear-gradient(135deg,#a67c52f2,#c49666f2);border:1px solid rgba(255,255,255,.35);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);font-family:var(--font-sans);font-size:.78rem;font-weight:600;color:#fff;opacity:0;pointer-events:none;white-space:nowrap;transition:all .32s cubic-bezier(.23,1,.32,1);z-index:7;box-shadow:0 10px 28px #a67c5273,0 0 0 1px #fff3}.book-card:hover .book-action-pill,.book-card:focus-visible .book-action-pill{opacity:1;transform:translate(-50%) translateY(0)}.book-card-body{display:flex;flex-direction:column;gap:6px;padding:8px 4px 0;margin-top:4px}.book-card-category{font-family:var(--font-sans);font-size:.68rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--accent)}.book-card-title{font-family:var(--font-serif);font-size:1.22rem;font-weight:600;line-height:1.32;color:var(--text-main);margin:0;min-height:2.6em;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;letter-spacing:-.015em;transition:color var(--duration-fast) ease}.book-card:hover .book-card-title{color:var(--accent-hover)}.book-card-meta{display:flex;align-items:center;flex-wrap:wrap;gap:7px;font-family:var(--font-sans);font-size:.8rem;color:var(--text-muted);margin-top:2px}.book-card-meta .meta-author{color:var(--text-muted);font-style:italic;font-weight:400}.book-card-meta .meta-sep{color:var(--text-dim);opacity:.6}.book-card-meta .meta-pages{color:var(--text-dim);font-weight:500}.book-card-meta .meta-tag{color:var(--accent);font-weight:600;font-size:.72rem;background:var(--accent-subtle, rgba(166, 124, 82, .14));padding:2px 8px;border-radius:6px;border:1px solid var(--accent-dim, rgba(166, 124, 82, .25))}.library-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:64px 24px;background:#ffffff05;border:1px dashed rgba(255,255,255,.12);border-radius:16px;margin:32px 0}.empty-icon{margin-bottom:14px;color:var(--accent)}.empty-title{font-family:var(--font-serif);font-size:1.35rem;font-weight:500;color:var(--text-main);margin:0 0 8px}.empty-desc{font-family:var(--font-sans);font-size:.88rem;color:var(--text-muted);max-width:420px;margin:0 0 20px}.btn-reset-filters{min-height:44px;padding:8px 20px;background:var(--accent-subtle);border:1px solid var(--accent);border-radius:9999px;color:var(--accent);font-family:var(--font-sans);font-size:.82rem;font-weight:600;cursor:pointer;transition:all .2s ease}.btn-reset-filters:hover{background:var(--accent);color:#0c0e14}.btn-reset-filters:disabled{opacity:.6;cursor:progress}.library-hero-title:focus{outline:none}.library-cover-fallback{display:flex;align-items:center;justify-content:center;width:100%;height:100%;border-radius:inherit;background:linear-gradient(160deg,#1d2230,#0f1118);color:#ffffff4d}.library-cover-fallback svg{width:32px;height:32px}body.theme-light .library-view{--accent: #76501d;--accent-hover: #5f3f15;--accent-dim: rgba(118, 80, 29, .18);--accent-subtle: rgba(118, 80, 29, .08);--card-bg: rgba(0, 0, 0, .02);--card-border: rgba(0, 0, 0, .08);--card-hover-border: rgba(158, 117, 38, .4);--bg-gradient: radial-gradient( ellipse at 50% 10%, #ffffff 0%, #f7f5f0 60%, #ece8dd 100% )}body.theme-light .library-nav{background:#ffffffd9;border-bottom-color:#00000014}body.theme-light .library-nav-search input{background:#0000000a;border-color:#0000001a;color:#11141d}body.theme-light .btn-icon-sm{background:#0000000a;border-color:#00000014;color:#4b5563}body.theme-light .btn-icon-sm.active{background:var(--accent);color:#fff;box-shadow:var(--shadow-sm)}body.theme-light .book-cover-3d{box-shadow:0 12px 28px -10px #0000002e,0 0 0 1px #00000014}body.theme-light .book-card-title{color:#11141d}body.theme-light .book-card-meta{color:#4b5563}body.theme-light .book-card-meta .meta-sep{color:#0003}@media (max-width: 600px){.library-container{padding-inline:16px}.library-nav{grid-template-columns:minmax(0,1fr) auto;display:grid;gap:12px;padding:12px 16px;margin-inline:-16px}.library-nav-search{grid-column:1 / -1;width:100%;max-width:none}.library-nav-search input{min-height:44px;font-size:1rem}.library-nav-actions{gap:8px}}
