:root{--app-sidebar-build: "loom-aligned-v2"}.app-layout-root{height:100vh;height:100dvh;display:flex;flex-direction:column;background:#fafafa}.app-layout-header{display:none;align-items:center;gap:var(--space-md, 1rem);padding:0 var(--space-xl, 2rem);height:56px;background:#fff;border-bottom:1px solid #e5e7eb;flex-shrink:0;z-index:100;font-family:Inter,Noto Sans SC,-apple-system,BlinkMacSystemFont,Segoe UI,PingFang SC,Hiragino Sans GB,Microsoft YaHei,sans-serif}.app-header-brand{display:flex;align-items:center;gap:var(--space-sm, .5rem);flex-shrink:0;padding:0;border:none;background:none;cursor:pointer;font:inherit;color:inherit}.app-header-brand h1{font-size:1.1rem;font-weight:700;color:var(--color-forest-dark, #1A3A2E)}.app-header-logo{width:36px;height:36px;object-fit:contain}.app-header-spacer{flex:1}.app-header-hamburger{display:flex;align-items:center;justify-content:center;width:36px;height:36px;padding:0;background:transparent;border:none;border-radius:6px;cursor:pointer;color:var(--color-ink-muted, #6b7280);transition:background .15s}.app-header-hamburger:hover{background:#0000000d}.app-sidebar-brand-section{padding:16px 16px 8px;flex-shrink:0;border-bottom:1px solid #e5e7eb;margin-bottom:4px}.app-sidebar-brand{display:flex;align-items:center;gap:8px;padding:0;border:none;background:none;cursor:pointer;font:inherit;color:inherit}.app-sidebar-brand:focus-visible{outline:2px solid var(--color-forest, #2D5A4A);outline-offset:2px;border-radius:4px}.app-sidebar-brand-logo{width:36px;height:36px;object-fit:contain;flex-shrink:0}.app-sidebar-brand-title{font-size:1.15rem;font-weight:700;color:var(--color-forest-dark, #1A3A2E);margin:0;font-family:Poppins,sans-serif}.app-sidebar-product-nav{display:flex;align-items:center;justify-content:center;gap:0;margin-top:6px}.app-sidebar-product-tab{position:relative;padding:4px 8px 6px;font-size:.8rem;font-weight:500;color:var(--color-ink-muted, #6b7280);text-decoration:none;transition:color .2s;font-family:Poppins,sans-serif}.app-sidebar-product-tab:first-child{padding-left:8px}.app-sidebar-product-tab:hover{color:var(--color-forest-dark, #2D5A4A)}.app-sidebar-product-tab.active{color:#374151;font-weight:600}.app-sidebar-product-tab.active:after{content:"";position:absolute;bottom:0;left:0;right:0;height:2.5px;background:linear-gradient(90deg,transparent 0%,var(--color-forest, #3A7F5E) 12%,var(--color-forest, #3A7F5E) 88%,transparent 100%);border-radius:2px}.app-sidebar.collapsed .app-sidebar-brand-section{padding:12px 8px 8px;display:flex;justify-content:center}.app-sidebar.collapsed .app-sidebar-brand{justify-content:center}.app-layout-body{flex:1;display:flex;overflow:hidden;position:relative}.app-layout-content{flex:1;overflow-y:auto;overflow-x:hidden;min-width:0}.app-sidebar{width:192px;flex-shrink:0;display:flex;flex-direction:column;background:#fff;border-right:1px solid #e5e7eb;overflow-y:auto;overflow-x:hidden;transition:width .2s ease;position:relative;font-family:Inter,Noto Sans SC,-apple-system,BlinkMacSystemFont,Segoe UI,PingFang SC,Hiragino Sans GB,Microsoft YaHei,sans-serif}.app-sidebar.collapsed{width:64px}.app-sidebar-nav{display:flex;flex-direction:column;flex:1;padding:12px 8px;gap:2px}.app-sidebar-search{margin-bottom:4px}.app-sidebar-search-wrap{position:relative}.app-sidebar-search-icon{position:absolute;left:10px;top:50%;transform:translateY(-50%);color:#9ca3af;pointer-events:none}.app-sidebar-search-input{width:100%;padding:6px 12px 6px 32px;font-size:.875rem;font-family:inherit;border:1px solid #e5e7eb;border-radius:8px;background:#f9fafb;color:#374151;outline:none;transition:border-color .15s,box-shadow .15s}.app-sidebar-search-input::placeholder{color:#9ca3af}.app-sidebar-search-input:focus{border-color:var(--color-forest, #2D5A4A);box-shadow:0 0 0 2px #2d5a4a1a}.app-sidebar-label{font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.125em;color:#9ca3af;padding:4px 12px 2px;white-space:nowrap;overflow:hidden}.app-sidebar-label-spaced{padding-top:12px}.app-sidebar.collapsed .app-sidebar-label{opacity:0;height:0;padding:0;overflow:hidden}.app-sidebar-item{display:flex;align-items:center;gap:10px;padding:8px 12px;border-radius:8px;font-size:.875rem;font-weight:400;color:#4b5563;text-decoration:none;transition:background .15s,color .15s;white-space:nowrap;overflow:hidden;cursor:pointer;border:none;background:transparent;width:100%;text-align:left;font-family:inherit}.app-sidebar-item:hover{background:#f3f4f6}.app-sidebar-item.active{background:#e0f0f0;color:#306f6f;font-weight:500}.app-sidebar-item-icon{display:flex;align-items:center;justify-content:center;width:16px;height:16px;flex-shrink:0}.app-sidebar-item-text{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.app-sidebar.collapsed .app-sidebar-item{justify-content:center;padding:8px}.app-sidebar.collapsed .app-sidebar-item-text{display:none}.app-sidebar-spacer{flex:1}.app-sidebar-bottom{padding:8px;border-top:1px solid #e5e7eb}.app-sidebar-user-trigger-wrap{position:relative}.app-sidebar-user-trigger{display:flex;align-items:center;gap:10px;width:100%;padding:8px 10px;border-radius:8px;border:none;background:transparent;cursor:pointer;transition:background .15s;overflow:hidden;font-family:inherit}.app-sidebar-user-trigger:hover{background:#0000000a}.app-sidebar-account-avatar{display:flex;align-items:center;justify-content:center;width:32px;height:32px;flex-shrink:0;border-radius:50%;background:#306f6f;overflow:hidden}.app-sidebar-avatar-initials{font-size:.7rem;font-weight:600;color:#fff;line-height:1;letter-spacing:.02em}.app-sidebar-user-trigger-info{flex:1;min-width:0;display:flex;flex-direction:column;text-align:left}.app-sidebar-user-trigger-name{font-size:.875rem;font-weight:600;color:#1f2937;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.app-sidebar-user-trigger-plan{font-size:.7rem;font-weight:500;color:var(--color-ink-muted, #6b7280);line-height:1.3}.app-sidebar-user-trigger-dots{flex-shrink:0;color:#9ca3af;opacity:0;transition:opacity .15s}.app-sidebar-user-trigger:hover .app-sidebar-user-trigger-dots{opacity:1}.app-sidebar.collapsed .app-sidebar-user-trigger{justify-content:center;padding:8px}.app-sidebar.collapsed .app-sidebar-user-trigger-info,.app-sidebar.collapsed .app-sidebar-user-trigger-dots{display:none}.app-sidebar-user-menu-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:55}.app-sidebar-user-menu{min-width:220px;background:#fff;border:1px solid #e5e7eb;border-radius:12px;box-shadow:0 8px 32px #0000001f;padding:4px 0;z-index:60;animation:userMenuFadeIn .15s ease}@keyframes userMenuFadeIn{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}.app-sidebar-menu-header{padding:10px 14px 6px}.app-sidebar-menu-email{font-size:.75rem;color:#6b7280;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;display:block}.app-sidebar-menu-divider{height:1px;background:#f3f4f6;margin:4px 8px}.app-sidebar-menu-item{display:flex;align-items:center;gap:10px;width:100%;padding:8px 14px;border:none;background:transparent;cursor:pointer;font-size:.875rem;font-weight:500;color:#374151;text-decoration:none;transition:background .12s;font-family:inherit}.app-sidebar-menu-item:hover{background:#f3f4f6}.app-sidebar-menu-item svg{flex-shrink:0}.app-sidebar-menu-item span{flex:1;text-align:left}.app-sidebar-menu-chevron{margin-left:auto;color:#9ca3af}.app-sidebar-menu-item-danger{color:#dc2626}.app-sidebar-menu-item-danger:hover{background:#fef2f2}.app-sidebar-menu-item-wrap{position:relative}.app-sidebar-lang-submenu{position:absolute;left:calc(100% + 4px);bottom:0;min-width:140px;background:#fff;border:1px solid #e5e7eb;border-radius:10px;box-shadow:0 8px 24px #0000001f;padding:4px 0;z-index:65}.app-sidebar-toggle{display:flex;align-items:center;justify-content:center;position:absolute;top:50%;transform:translateY(-50%);width:24px;height:24px;border-radius:50%;background:#fff;border:1px solid #e5e7eb;box-shadow:0 1px 3px #00000014;cursor:pointer;z-index:10;color:#9ca3af;transition:left .2s ease,color .15s,background .15s}.app-sidebar-toggle:hover{background:#f3f4f6;color:#374151}.app-sidebar-toggle svg{width:14px;height:14px}.app-sidebar-lang-item{display:flex;align-items:center;gap:8px;width:100%;padding:6px 12px;background:transparent;border:none;font-family:inherit;font-size:.875rem;color:#374151;cursor:pointer;text-align:left;transition:background .15s}.app-sidebar-lang-item:hover{background:#f3f4f6}.app-sidebar-lang-item.active{font-weight:600}.app-sidebar-lang-check{flex-shrink:0;color:var(--color-forest, #2D5A4A)}.app-sidebar-lang-spacer{display:inline-block;width:16px;flex-shrink:0}.app-sidebar-backdrop{display:none}@media (max-width: 1023px){.app-layout-header{display:flex;padding:0 var(--space-md, 1rem)}.app-sidebar-brand-section{display:none}.app-sidebar{position:fixed;top:56px;left:0;bottom:0;z-index:50;width:256px!important;transform:translate(-100%);transition:transform .2s ease;box-shadow:none}.app-sidebar.mobile-open{transform:translate(0);box-shadow:4px 0 24px #0000001a}.app-sidebar-backdrop{position:fixed;top:56px;left:0;right:0;bottom:0;background:#0006;z-index:40}.app-sidebar-backdrop.visible{display:block}.app-sidebar-toggle{display:none}.app-sidebar-user-menu{min-width:200px}.app-sidebar-lang-submenu{left:calc(100% + 2px);bottom:auto;top:0}}[data-auth-library-theme=dark] .app-layout-root{background:var(--reader-bg-deep, #1E394D)}[data-auth-library-theme=dark] .app-layout-header{background:var(--reader-bg-secondary, #2D5668);border-bottom-color:#f3f8fa1f}[data-auth-library-theme=dark] .app-header-brand h1{color:var(--reader-icon, #F3F8FA)}[data-auth-library-theme=dark] .app-header-hamburger{color:#f3f8fab3}[data-auth-library-theme=dark] .app-header-hamburger:hover{background:#f3f8fa14}[data-auth-library-theme=dark] .app-sidebar-brand-section{border-bottom-color:#f3f8fa14}[data-auth-library-theme=dark] .app-sidebar-brand-title{color:var(--reader-icon, #F3F8FA)}[data-auth-library-theme=dark] .app-sidebar-product-tab{color:#9ca3af}[data-auth-library-theme=dark] .app-sidebar-product-tab:hover{color:#d1d5db}[data-auth-library-theme=dark] .app-sidebar-product-tab.active{color:#fff}[data-auth-library-theme=dark] .app-sidebar-product-tab.active:after{background:linear-gradient(90deg,transparent 0%,var(--reader-accent, #5b8fc9) 12%,var(--reader-accent, #5b8fc9) 88%,transparent 100%)}[data-auth-library-theme=dark] .app-sidebar{background:var(--reader-bg-secondary, #2D5668);border-right-color:#f3f8fa14}[data-auth-library-theme=dark] .app-sidebar-search-icon{color:#6b7280}[data-auth-library-theme=dark] .app-sidebar-search-input{background:#37415180;border-color:#4b5563;color:#d1d5db}[data-auth-library-theme=dark] .app-sidebar-search-input::placeholder{color:#9ca3af}[data-auth-library-theme=dark] .app-sidebar-search-input:focus{border-color:var(--reader-accent, #5FB9B2);box-shadow:0 0 0 2px #5fb9b226}[data-auth-library-theme=dark] .app-sidebar-label{color:#6b7280}[data-auth-library-theme=dark] .app-sidebar-item{color:#9ca3af}[data-auth-library-theme=dark] .app-sidebar-item:hover{background:#374151}[data-auth-library-theme=dark] .app-sidebar-item.active{background:#3d8f8f33;color:#3d8f8f}[data-auth-library-theme=dark] .app-sidebar-bottom{border-top-color:#f3f8fa14}[data-auth-library-theme=dark] .app-sidebar-user-trigger:hover{background:#374151}[data-auth-library-theme=dark] .app-sidebar-user-trigger-name{color:#e5e5e5}[data-auth-library-theme=dark] .app-sidebar-user-trigger-dots{color:#6b7280}[data-auth-library-theme=dark] .app-sidebar-account-avatar{background:#306f6f66}[data-auth-library-theme=dark] .app-sidebar-user-trigger-plan{color:#9ca3af}[data-auth-library-theme=dark] .app-sidebar-toggle{background:var(--reader-bg-secondary, #2D5668);border-color:#374151;color:#9ca3af}[data-auth-library-theme=dark] .app-sidebar-toggle:hover{background:#374151;color:#d1d5db}[data-auth-library-theme=dark] .app-sidebar-user-menu{background:var(--reader-bg-secondary, #2D5668);border-color:#f3f8fa1f;box-shadow:0 8px 32px #0000004d}[data-auth-library-theme=dark] .app-sidebar-menu-email{color:#6b7280}[data-auth-library-theme=dark] .app-sidebar-menu-divider{background:#f3f8fa14}[data-auth-library-theme=dark] .app-sidebar-menu-item{color:#d1d5db}[data-auth-library-theme=dark] .app-sidebar-menu-item:hover{background:#4b5563}[data-auth-library-theme=dark] .app-sidebar-menu-item-danger{color:#f87171}[data-auth-library-theme=dark] .app-sidebar-menu-item-danger:hover{background:#f871711a}[data-auth-library-theme=dark] .app-sidebar-lang-submenu{background:var(--reader-bg-secondary, #2D5668);border-color:#f3f8fa1f}[data-auth-library-theme=dark] .app-sidebar-lang-item{color:#d1d5db}[data-auth-library-theme=dark] .app-sidebar-lang-item:hover{background:#4b5563}[data-auth-library-theme=dark] .app-sidebar-backdrop{background:#0009}.loading-screen{min-height:100vh;min-height:100dvh;display:flex;flex-direction:column;background:var(--color-paper)}.loading-toolbar{display:flex;align-items:center;gap:var(--space-md);padding:var(--space-sm) var(--space-md);background:var(--color-paper);border-bottom:1px solid rgba(45,90,74,.1)}.loading-back-btn{width:36px;height:36px;display:flex;align-items:center;justify-content:center;border-radius:var(--radius-sm);background:transparent;color:var(--color-ink);transition:background-color var(--transition-fast)}.loading-back-btn:hover{background:var(--color-paper-warm)}.loading-title{font-size:1rem;font-weight:500;font-family:var(--font-reading);color:var(--color-ink)}.loading-container{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--space-xl)}.loading-content{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--space-lg)}.loading-book{position:relative;width:64px;height:40px}.loading-book-svg{width:100%;height:100%;color:var(--color-ink-muted)}.loading-shimmer{position:absolute;bottom:0;left:0;right:0;height:3px;background:linear-gradient(90deg,transparent 0%,var(--color-forest) 50%,transparent 100%);background-size:200% 100%;animation:loadingShimmer 1.5s ease-in-out infinite}.loading-static-indicator{position:absolute;bottom:0;left:0;right:0;height:3px;background:var(--color-ink-muted)}@keyframes loadingShimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.loading-message{font-family:var(--font-reading);color:var(--color-ink-muted);font-size:.95rem;text-align:center}.signout-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:10002;display:flex;align-items:center;justify-content:center;background:#0000008c;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);animation:signout-fade-in .2s ease;pointer-events:auto}@keyframes signout-fade-in{0%{opacity:0}to{opacity:1}}.signout-modal{background:var(--bg-primary, #fff);border-radius:16px;padding:32px 28px 24px;max-width:360px;width:85vw;text-align:center;box-shadow:0 20px 60px #00000040;animation:signout-slide-up .25s ease}@keyframes signout-slide-up{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}.signout-spinner{display:flex;justify-content:center;margin-bottom:16px}.signout-spinner-ring{width:40px;height:40px;border-radius:50%;border:3px solid rgba(45,90,74,.15);border-top-color:#2d5a4a;animation:signout-spin .9s linear infinite}@keyframes signout-spin{to{transform:rotate(360deg)}}.signout-title{font-size:18px;font-weight:600;margin:0 0 10px;color:var(--text-primary, #1a1a1a)}.signout-message{font-size:14px;color:var(--text-secondary, #555);margin:0 0 4px;line-height:1.5}.signout-hint{font-size:13px;color:var(--text-tertiary, #888);margin:0}[data-auth-library-theme=dark] .signout-modal{background:#1e1e2e}[data-auth-library-theme=dark] .signout-title{color:#e5e7eb}[data-auth-library-theme=dark] .signout-message{color:#9ca3af}[data-auth-library-theme=dark] .signout-hint{color:#6b7280}[data-auth-library-theme=dark] .signout-spinner-ring{border-color:#3d8f8f33;border-top-color:#3d8f8f}@media (prefers-reduced-motion: reduce){.signout-overlay,.signout-modal{animation:none}.signout-spinner-ring{animation:signout-spin 2s linear infinite}}:root{--color-paper: #FAF7F2;--color-paper-warm: #F5F1E8;--color-outer-bg: #FAF7F2;--color-ink: #2C2416;--color-ink-light: #5C4D3C;--color-ink-muted: #8B7B68;--color-forest: #2D5A4A;--color-forest-light: #3D7A64;--color-forest-dark: #1A3A2E;--color-forest-rgb: 45, 90, 74;--color-amber: #C4956A;--color-amber-light: #E5C9A8;--reader-midnight: #28465F;--reader-aurora: #3E8C86;--reader-sky: #8CB4C7;--reader-breathing: #A7D4D1;--reader-icon: #F3F8FA;--reader-bg-deep: #1E394D;--reader-bg-secondary: #2D5668;--reader-hover: #4BA29C;--reader-accent: #5FB9B2;--reader-highlight: #9ED9D6;--highlight-yellow: rgba(255, 235, 120, .5);--highlight-green: rgba(144, 238, 144, .5);--highlight-blue: rgba(135, 206, 250, .5);--highlight-pink: rgba(255, 182, 193, .5);--highlight-orange: rgba(255, 200, 124, .5);--font-reading: "Literata", Georgia, "Times New Roman", serif;--font-ui: "Source Sans 3", -apple-system, BlinkMacSystemFont, "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", sans-serif;--space-xs: .25rem;--space-sm: .5rem;--space-md: 1rem;--space-lg: 1.5rem;--space-xl: 2rem;--space-2xl: 3rem;--shadow-sm: 0 1px 2px rgba(44, 36, 22, .05);--shadow-md: 0 4px 6px rgba(44, 36, 22, .07);--shadow-lg: 0 10px 25px rgba(44, 36, 22, .1);--shadow-book: 0 2px 8px rgba(44, 36, 22, .12), 0 0 1px rgba(44, 36, 22, .08);--radius-sm: 4px;--radius-md: 8px;--radius-lg: 12px;--transition-fast: .15s ease;--transition-normal: .25s ease;--transition-slow: .4s ease}[data-theme=parchment]{--color-paper: #F4EDE4;--color-paper-warm: #EDE5DB;--color-outer-bg: #E8DFD3;--color-ink: #2F2B26;--color-ink-light: #524D47;--color-ink-muted: #7D7770}[data-theme=sage]{--color-paper: #F1F6F2;--color-paper-warm: #E7EDE8;--color-outer-bg: #E3ECE5;--color-ink: #263238;--color-ink-light: #455A64;--color-ink-muted: #78909C}[data-theme=midnight]{--color-paper: #1B1F24;--color-paper-warm: #22262C;--color-outer-bg: #14171A;--color-ink: #D6DCE2;--color-ink-light: #A8B2BD;--color-ink-muted: #6B7785;--color-forest: #5BA88A;--color-forest-light: #7BC4A8;--color-forest-rgb: 91, 168, 138;--color-content-link: #8ED4B8;--color-content-link-hover: #B0E6D4}[data-theme=white]{--color-paper: #FFFFFF;--color-paper-warm: #F6F6F6;--color-outer-bg: #F4F4F4;--color-ink: #1A1A1A;--color-ink-light: #666666;--color-ink-muted: #999999;--color-forest: #145C45;--color-forest-light: #1C7A5C;--color-forest-dark: #0E4835;--color-forest-rgb: 20, 92, 69}[data-theme=slate]{--color-paper: #F2F4F6;--color-paper-warm: #E8EAEE;--color-outer-bg: #E5E7EB;--color-ink: #1F2933;--color-ink-light: #3E4C59;--color-ink-muted: #7B8794}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{font-size:16px;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;height:100%;background-color:var(--color-outer-bg);touch-action:manipulation}body{font-family:var(--font-ui);background-color:var(--color-outer-bg);color:var(--color-ink);line-height:1.6;min-height:100%;touch-action:manipulation}#root{min-height:100%;background-color:var(--color-outer-bg)}html[data-easeverse-reader]{overflow:hidden;overscroll-behavior:none}html[data-easeverse-reader] body{position:fixed;top:0;right:0;bottom:0;left:0;width:100%;height:100%;overflow:hidden;overscroll-behavior:none}h1,h2,h3,h4,h5,h6{font-family:var(--font-reading);font-weight:500;line-height:1.3;color:var(--color-ink)}h1{font-size:2rem}h2{font-size:1.5rem}h3{font-size:1.25rem}p{margin-bottom:var(--space-md)}a{color:var(--color-forest);text-decoration:none;transition:color var(--transition-fast)}a:hover{color:var(--color-forest-light)}button{font-family:var(--font-ui);font-size:.9rem;cursor:pointer;border:none;background:none;transition:all var(--transition-fast)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-sm);padding:var(--space-sm) var(--space-lg);border-radius:var(--radius-md);font-weight:500}.btn-primary{background:var(--color-forest);color:#fff}.btn-primary:hover{background:var(--color-forest-light)}.btn-secondary{background:var(--color-paper-warm);color:var(--color-ink);border:1px solid var(--color-ink-muted)}.btn-secondary:hover{background:var(--color-amber-light);border-color:var(--color-amber)}.btn-ghost{background:transparent;color:var(--color-ink-light)}.btn-ghost:hover{background:var(--color-paper-warm);color:var(--color-ink)}input,textarea{font-family:var(--font-ui);font-size:1rem;padding:var(--space-sm) var(--space-md);border:1px solid var(--color-ink-muted);border-radius:var(--radius-md);background:var(--color-paper);color:var(--color-ink);transition:border-color var(--transition-fast),box-shadow var(--transition-fast)}input:focus,textarea:focus{outline:none;border-color:var(--color-forest);box-shadow:0 0 0 3px rgba(var(--color-forest-rgb),.15)}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:var(--color-paper-warm)}::-webkit-scrollbar-thumb{background:var(--color-ink-muted);border-radius:4px}::-webkit-scrollbar-thumb:hover{background:var(--color-ink-light)}::selection{background:var(--highlight-yellow);color:var(--color-ink)}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}@keyframes spin{to{transform:rotate(360deg)}}.fade-in{animation:fadeIn var(--transition-normal) ease forwards}.slide-up{animation:slideUp var(--transition-normal) ease forwards}.text-center{text-align:center}.text-muted{color:var(--color-ink-muted)}.flex{display:flex}.flex-col{flex-direction:column}.items-center{align-items:center}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-sm{gap:var(--space-sm)}.gap-md{gap:var(--space-md)}.gap-lg{gap:var(--space-lg)}.w-full{width:100%}.h-full{height:100%}.p-md{padding:var(--space-md)}.p-lg{padding:var(--space-lg)}.p-xl{padding:var(--space-xl)}.mt-md{margin-top:var(--space-md)}.mt-lg{margin-top:var(--space-lg)}.mb-md{margin-bottom:var(--space-md)}.mb-lg{margin-bottom:var(--space-lg)}.library-container{--color-forest: #1e4976;--color-forest-light: #2a5a8f;--color-forest-dark: #153a5e;--color-forest-rgb: 30, 73, 118;--font-reading: "Literata", Georgia, "Times New Roman", serif;--font-ui: "Poppins", -apple-system, BlinkMacSystemFont, "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", sans-serif;font-family:var(--font-ui)}.auth-container,.sidebar{--color-forest: #4D845C;--color-forest-light: #5A9669;--color-forest-dark: #3B6847;--color-forest-rgb: 77, 132, 92;--font-reading: "Literata", Georgia, "Times New Roman", serif;--font-ui: "Poppins", -apple-system, BlinkMacSystemFont, "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", sans-serif;font-family:var(--font-ui)}[data-eink=true],[data-eink=true] *,[data-eink=true] *:before,[data-eink=true] *:after{animation-duration:0s!important;animation-delay:0s!important;transition-duration:0s!important;transition-delay:0s!important;scroll-behavior:auto!important}[data-eink=true]{--transition-fast: 0s;--transition-normal: 0s;--transition-slow: 0s;--shadow-sm: none;--shadow-md: none;--shadow-lg: none;--shadow-book: none}[data-eink=true]:not([data-theme=midnight]):not([data-auth-library-theme=dark]){--color-ink: #000000;--color-ink-light: #222222;--color-ink-muted: #555555;--color-paper: #FFFFFF;--color-paper-warm: #F5F5F5;--color-outer-bg: #FFFFFF}[data-eink=true][data-theme=midnight],[data-eink=true][data-auth-library-theme=dark]{--color-ink: #FFFFFF;--color-ink-light: #DDDDDD;--color-ink-muted: #AAAAAA;--color-paper: #000000;--color-paper-warm: #111111;--color-outer-bg: #000000}[data-eink=true] .auth-card,[data-eink=true] .book-card,[data-eink=true] .lens-bottom-sheet,[data-eink=true] .lang-dropdown-menu,[data-eink=true] .toolbar-panel,[data-eink=true] .toolbar-settings-dropdown,[data-eink=true] .sidebar{border:1px solid #999}[data-eink=true][data-theme=midnight] .auth-card,[data-eink=true][data-theme=midnight] .book-card,[data-eink=true][data-theme=midnight] .lens-bottom-sheet,[data-eink=true][data-theme=midnight] .lang-dropdown-menu,[data-eink=true][data-theme=midnight] .toolbar-panel,[data-eink=true][data-theme=midnight] .toolbar-settings-dropdown,[data-eink=true][data-theme=midnight] .sidebar,[data-eink=true][data-auth-library-theme=dark] .auth-card,[data-eink=true][data-auth-library-theme=dark] .book-card,[data-eink=true][data-auth-library-theme=dark] .lang-dropdown-menu,[data-eink=true][data-auth-library-theme=dark] .sidebar{border-color:#666}[data-eink=true] .goal-dialog-overlay,[data-eink=true] .reading-summary-toast,[data-eink=true] .library-overlay,[data-eink=true] .cloud-upload-overlay,[data-eink=true] .tag-popup-overlay,[data-eink=true] .stats-card-overlay{backdrop-filter:none!important;-webkit-backdrop-filter:none!important}[data-eink=true] *,[data-eink=true] *:before,[data-eink=true] *:after{backdrop-filter:none!important;-webkit-backdrop-filter:none!important;will-change:auto!important}[data-eink=true] .library-container{background:var(--color-paper)!important}[data-eink=true] .library-header{background:var(--color-paper)!important;border-bottom-color:#999!important}[data-eink=true] .book-card{box-shadow:none!important}[data-eink=true] .book-cover-placeholder,[data-eink=true] .curated-book-cover-placeholder{background:var(--color-paper-warm)!important;border:1px solid #999!important;box-shadow:none!important}[data-eink=true] .book-cover-placeholder.loading{animation:none!important;opacity:1!important;border-style:dashed!important}[data-eink=true] .loading-spinner,[data-eink=true] .cover-spinner,[data-eink=true] .btn-spinner,[data-eink=true] .book-cloud-btn.uploading svg,[data-eink=true] .cloud-selection-btn-uploading svg,[data-eink=true] .cloud-download-icon{animation:none!important}[data-eink=true] .loading-spinner,[data-eink=true] .cover-spinner{border-color:#999!important;border-top-color:#111!important}[data-eink=true] .dashboard-container{background:var(--color-paper)!important}[data-eink=true] .dashboard-card,[data-eink=true] .dashboard-top-card,[data-eink=true] .dashboard-trend-picker,[data-eink=true] .dashboard-words-popover,[data-eink=true] .dashboard-modal,[data-eink=true] .badges-modal{background:var(--color-paper)!important;border:1px solid #999!important;box-shadow:none!important}[data-eink=true][data-auth-library-theme=dark] .dashboard-card,[data-eink=true][data-auth-library-theme=dark] .dashboard-top-card,[data-eink=true][data-auth-library-theme=dark] .dashboard-trend-picker,[data-eink=true][data-auth-library-theme=dark] .dashboard-words-popover,[data-eink=true][data-auth-library-theme=dark] .dashboard-modal,[data-eink=true][data-auth-library-theme=dark] .badges-modal{border-color:#666!important}[data-eink=true] .dashboard-curve-current{filter:none!important}[data-eink=true] .dashboard-shimmer,[data-eink=true] .dashboard-trend-loading{animation:none!important;background:var(--color-paper-warm)!important;border:1px dashed #999!important}[data-eink=true] .dashboard-yearly-bar-fill,[data-eink=true] .dashboard-book-bar{background:var(--color-ink)!important}[data-eink=true] .dashboard-trend-lang-tag{background:var(--color-paper)!important;color:var(--color-ink)!important;border:1px solid #999}[data-eink=true] .lang-donut-chip.active,[data-eink=true] .dashboard-lang-chip.active{background:var(--color-ink)!important;border-color:var(--color-ink)!important;color:var(--color-paper)!important}[data-eink=true] .dashboard-lang-chip-dot,[data-eink=true] .dashboard-trend-legend-dot,[data-eink=true] .lang-donut-legend-dot{border:1px solid rgba(0,0,0,.3)}[data-eink=true][data-auth-library-theme=dark] .dashboard-lang-chip-dot,[data-eink=true][data-auth-library-theme=dark] .dashboard-trend-legend-dot,[data-eink=true][data-auth-library-theme=dark] .lang-donut-legend-dot{border-color:#ffffff73}[data-eink=true] .dashboard-stat-has-tip .dashboard-stat-tooltip{opacity:1!important}[data-eink=true] .badge-tile-tooltip{opacity:0!important;transition:none!important}[data-eink=true] .badge-tile[data-tip-open=true] .badge-tile-tooltip{opacity:1!important}[data-eink=true] .lang-progress-tick-tooltip{pointer-events:none}[data-eink=true] .lang-progress-tick[data-tip-open=true] .lang-progress-tick-tooltip{opacity:1!important}[data-eink=true] .highlight-toolbar,[data-eink=true] .highlight-bottom-sheet,[data-eink=true] .lens-bubble,[data-eink=true] .lens-panel,[data-eink=true] .lens-sheet,[data-eink=true] .epub-nav-back-btn,[data-eink=true] .chunk-status-toast,[data-eink=true] .chunk-cache-refreshed-banner,[data-eink=true] .mark-finished-tip,[data-eink=true] .mark-finished-confirm{box-shadow:none!important;border:1px solid #999!important}[data-eink=true][data-auth-library-theme=dark] .library-container{background:#000!important}[data-eink=true][data-auth-library-theme=dark] .library-header{background:#000!important;border-bottom-color:#666!important}[data-eink=true]{--highlight-yellow: #E0D080;--highlight-green: #90C090;--highlight-blue: #80B0D0;--highlight-pink: #D0A0A8;--highlight-orange: #D0B080;--eink-tap-min: 40px}[data-eink=true] .book-delete,[data-eink=true] .book-tag-btn,[data-eink=true] .book-cloud-btn,[data-eink=true] .toolbar-progress-hover,[data-eink=true] .toolbar-progress-chapter-arrow-wrap{opacity:1!important;pointer-events:auto!important}[data-eink=true] button:active,[data-eink=true] [role=button]:active,[data-eink=true] a:active{opacity:.65!important}[data-eink=true] .book-delete,[data-eink=true] .book-tag-btn,[data-eink=true] .book-cloud-btn,[data-eink=true] .loading-back-btn,[data-eink=true] .toolbar-toggle-btn,[data-eink=true] .toolbar-inline-btn,[data-eink=true] .toolbar-settings-font-btn,[data-eink=true] .toolbar-settings-theme-btn,[data-eink=true] .highlight-toolbar-note-btn,[data-eink=true] .highlight-toolbar-copy-btn,[data-eink=true] .highlight-toolbar-delete-btn,[data-eink=true] .highlight-toolbar-underline-btn,[data-eink=true] .lens-bubble-btn,[data-eink=true] .lens-panel-icon-btn,[data-eink=true] .lens-sheet-icon-btn,[data-eink=true] .lang-progress-arrow,[data-eink=true] .dashboard-trend-arrow,[data-eink=true] .badges-modal-close,[data-eink=true] .dashboard-modal-close{min-width:var(--eink-tap-min)!important;min-height:var(--eink-tap-min)!important}[data-eink=true] .dashboard-lang-chip{padding:8px 14px!important;min-height:var(--eink-tap-min)!important;font-size:.82rem!important}[data-eink=true] .dashboard-edit-btn{min-height:var(--eink-tap-min)!important;padding:8px 14px!important}[data-eink=true] .btn-icon-action{min-width:var(--eink-tap-min)!important;min-height:var(--eink-tap-min)!important}[data-eink=true] .grid-filter-dropdown button{min-height:var(--eink-tap-min)!important;padding:8px 14px!important}[data-eink=true] .btn-back{min-height:var(--eink-tap-min)!important;padding:8px 16px!important}[data-eink=true] .highlight-toolbar-color-btn{min-width:36px!important;min-height:36px!important}[data-eink=true] input[type=checkbox]{min-width:20px!important;min-height:20px!important}[data-eink=true] .toolbar-progress-chapter-bar-fill{background:var(--color-forest)!important}@media (prefers-reduced-motion: reduce){:root{--transition-fast: 0s;--transition-normal: 0s;--transition-slow: 0s}}
