:root{--font-sans:"Adobe Clean", "Helvetica Neue", Helvetica, Arial, sans-serif;--font-mono:ui-monospace, Consolas, monospace;--color-black:#000;--color-surface:#f5f5f7;--color-near-black:#1d1d1f;--color-white:#fff;--color-blue:#0071e3;--color-blue-hover:#0077ed;--color-link:#06c;--color-link-dark:#2997ff;--color-text-primary:rgba(0,0,0,.8);--color-text-secondary:rgba(0,0,0,.48);--color-dark-surface-1:#272729;--color-dark-surface-2:#262628;--color-dark-surface-3:#28282a;--color-dark-surface-4:#2a2a2d;--color-dark-surface-5:#242426;--color-btn-active:#ededf2;--color-filter-bg:#fafafc;--color-filter-border:rgba(0,0,0,.04);--color-media-bg:rgba(210,210,215,.64);--color-media-bg-hover:rgba(210,210,215,.85);--color-media-bg-active:rgba(180,180,185,.7);--color-overlay:rgba(210,210,215,.64);--color-blue-active:#0062c3;--color-dark-hover:#2d2d2f;--color-dark-active:#3a3a3c;--color-filter-hover:#f0f0f2;--shadow-card:rgba(0,0,0,.22) 3px 5px 30px 0px;--color-focus:#0071e3;--radius-micro:5px;--radius-sm:8px;--radius-filter:11px;--radius-lg:12px;--radius-pill:980px;--radius-circle:50%;--font-size:16px;--line-height:24px;--font-size-sm:14px;--line-height-sm:20px;font-family:var(--font-sans);font-size:var(--font-size);line-height:var(--line-height);color:var(--color-near-black);background:var(--color-surface);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}*,:before,:after{box-sizing:border-box}html{height:100%;overflow:hidden}body{background:var(--color-surface);z-index:1;width:100%;height:100%;margin:0;position:fixed;overflow:hidden}#root{flex-direction:column;max-width:100%;height:100%;margin:0 auto;display:flex;overflow:hidden}h1,h2,h3,h4,h5,h6{font-family:var(--font-sans);color:var(--color-near-black);margin:0}h1{letter-spacing:-.28px;font-size:3.5rem;font-weight:700;line-height:1.07}h2{font-size:2.5rem;font-weight:700;line-height:1.1}h3{letter-spacing:.196px;font-size:1.75rem;font-weight:400;line-height:1.14}h4{letter-spacing:.231px;font-size:1.3125rem;font-weight:700;line-height:1.19}p{color:var(--color-text-primary);margin:0;font-size:1.0625rem;line-height:1.47}a{color:var(--color-link);letter-spacing:-.224px;font-size:.875rem;text-decoration:none}a:hover{text-decoration:none}code{font-family:var(--font-mono);border-radius:var(--radius-micro);color:var(--color-near-black);background:rgba(0,0,0,.06);padding:4px 8px;font-size:.9375rem;line-height:1.35}:root,[data-theme=light]{--theme-bg:var(--color-surface);--theme-bg-card:var(--color-white);--theme-surface:var(--color-white);--theme-text-primary:var(--color-near-black);--theme-text-secondary:var(--color-text-secondary);--theme-text-tertiary:rgba(0,0,0,.28);--theme-border:rgba(0,0,0,.08);--theme-nav-bg:rgba(255,255,255,.82);--theme-icon:var(--color-near-black);--theme-accent:var(--color-blue);--theme-accent-text:var(--color-white);--theme-input-bg:var(--color-filter-bg);--theme-input-border:var(--color-filter-border);--theme-shadow:var(--shadow-card);--theme-reader-bg:#fff;--theme-reader-text:#1d1d1f;--theme-subtle-bg:rgba(0,0,0,.04);--theme-subtle-bg-hover:rgba(0,0,0,.06);--theme-tab-active-bg:rgba(0,0,0,.08);--theme-context-menu-bg:#fff;--theme-context-menu-border:rgba(0,0,0,.1);--theme-skeleton-start:rgba(0,0,0,.04);--theme-skeleton-mid:rgba(0,0,0,.08)}[data-theme=dark]{--theme-bg:#000;--theme-bg-card:var(--color-dark-surface-1);--theme-surface:var(--color-dark-surface-2);--theme-text-primary:rgba(255,255,255,.92);--theme-text-secondary:rgba(255,255,255,.48);--theme-text-tertiary:rgba(255,255,255,.28);--theme-border:rgba(255,255,255,.08);--theme-nav-bg:rgba(0,0,0,.82);--theme-icon:rgba(255,255,255,.82);--theme-accent:#2997ff;--theme-accent-text:#fff;--theme-input-bg:var(--color-dark-surface-3);--theme-input-border:rgba(255,255,255,.06);--theme-shadow:rgba(0,0,0,.5) 3px 5px 30px 0px;--theme-reader-bg:#1c1c1e;--theme-reader-text:rgba(255,255,255,.88);--theme-subtle-bg:rgba(255,255,255,.06);--theme-subtle-bg-hover:rgba(255,255,255,.1);--theme-tab-active-bg:rgba(255,255,255,.1);--theme-context-menu-bg:var(--color-dark-surface-3);--theme-context-menu-border:rgba(255,255,255,.1);--theme-skeleton-start:rgba(255,255,255,.06);--theme-skeleton-mid:rgba(255,255,255,.12)}[data-theme=sepia]{--theme-bg:#f4efe6;--theme-bg-card:#faf6ef;--theme-surface:#faf6ef;--theme-text-primary:#3b2f1e;--theme-text-secondary:rgba(59,47,30,.52);--theme-text-tertiary:rgba(59,47,30,.32);--theme-border:rgba(59,47,30,.1);--theme-nav-bg:rgba(244,239,230,.88);--theme-icon:#5c4a32;--theme-accent:#8b5e3c;--theme-accent-text:#fff;--theme-input-bg:#f0e9de;--theme-input-border:rgba(59,47,30,.06);--theme-shadow:rgba(59,47,30,.15) 3px 5px 30px 0px;--theme-reader-bg:#f9f3e8;--theme-reader-text:#3b2f1e;--theme-subtle-bg:rgba(59,47,30,.04);--theme-subtle-bg-hover:rgba(59,47,30,.07);--theme-tab-active-bg:rgba(59,47,30,.08);--theme-context-menu-bg:#faf6ef;--theme-context-menu-border:rgba(59,47,30,.12);--theme-skeleton-start:rgba(59,47,30,.06);--theme-skeleton-mid:rgba(59,47,30,.1)}[data-theme=e-ink]{--theme-bg:#fff;--theme-bg-card:#f0f0f0;--theme-surface:#f0f0f0;--theme-text-primary:#000;--theme-text-secondary:#555;--theme-text-tertiary:#888;--theme-border:#bbb;--theme-nav-bg:#fff;--theme-icon:#000;--theme-accent:#000;--theme-accent-text:#fff;--theme-input-bg:#e8e8e8;--theme-input-border:#bbb;--theme-shadow:none;--theme-reader-bg:#fff;--theme-reader-text:#000;--theme-subtle-bg:rgba(0,0,0,.05);--theme-subtle-bg-hover:rgba(0,0,0,.08);--theme-tab-active-bg:rgba(0,0,0,.1);--theme-context-menu-bg:#fff;--theme-context-menu-border:#bbb;--theme-skeleton-start:rgba(0,0,0,.05);--theme-skeleton-mid:rgba(0,0,0,.1)}[data-theme=e-ink-color]{--theme-bg:#f5f3ef;--theme-bg-card:#edeae4;--theme-surface:#edeae4;--theme-text-primary:#1a1a1a;--theme-text-secondary:#666;--theme-text-tertiary:#999;--theme-border:#c8c4bc;--theme-nav-bg:#f5f3ef;--theme-icon:#2a2a2a;--theme-accent:#3a6ea8;--theme-accent-text:#fff;--theme-input-bg:#e5e2dc;--theme-input-border:#c0bdb6;--theme-shadow:rgba(0,0,0,.08) 2px 3px 12px 0px;--theme-reader-bg:#f7f5f1;--theme-reader-text:#1a1a1a;--theme-subtle-bg:rgba(0,0,0,.04);--theme-subtle-bg-hover:rgba(0,0,0,.07);--theme-tab-active-bg:rgba(0,0,0,.08);--theme-context-menu-bg:#edeae4;--theme-context-menu-border:#c8c4bc;--theme-skeleton-start:rgba(0,0,0,.04);--theme-skeleton-mid:rgba(0,0,0,.08)}.offline-banner{z-index:9999;color:#e2e8f0;background-color:#1e293b;border-bottom:1px solid #334155;align-items:center;gap:8px;padding:8px 16px;font-size:.875rem;font-weight:500;display:flex;position:fixed;top:0;left:0;right:0}.offline-banner__icon{color:#94a3b8;flex-shrink:0}.offline-banner__text{flex:1}.library-demo{color:#1e293b;max-width:680px;margin:0 auto;padding:24px 16px 48px;font-family:system-ui,sans-serif}.library-demo__header{margin-bottom:24px}.library-demo__title{margin:0 0 4px;font-size:1.5rem;font-weight:600}.library-demo__subtitle{color:#64748b;margin:0;font-size:.875rem}.library-demo__toolbar{flex-wrap:wrap;gap:8px;margin-bottom:16px;display:flex}.library-demo__import-btn{color:#fff;cursor:pointer;background:#0f172a;border:1px solid transparent;border-radius:4px;align-items:center;gap:6px;padding:6px 14px;font-size:.875rem;font-weight:500;display:inline-flex}.library-demo__import-btn[aria-busy=true]{opacity:.6;cursor:not-allowed}.library-demo__file-input{opacity:0;clip:rect(0 0 0 0);width:1px;height:1px;position:absolute;overflow:hidden}.library-demo__btn{cursor:pointer;color:#334155;background:#fff;border:1px solid #cbd5e1;border-radius:4px;padding:6px 12px;font-size:.875rem;font-weight:500}.library-demo__btn:disabled{opacity:.5;cursor:not-allowed}.library-demo__btn--demo{color:#0f172a;background:#f8fafc;border-color:#94a3b8}.library-demo__btn--demo:disabled{opacity:.5;cursor:not-allowed}.library-demo__error{color:#b91c1c;background:#fef2f2;border:1px solid #fecaca;border-radius:4px;margin-bottom:12px;padding:10px 12px;font-size:.875rem}.library-demo__info{color:#15803d;background:#f0fdf4;border:1px solid #bbf7d0;border-radius:4px;margin-bottom:12px;padding:8px 12px;font-size:.875rem}.library-demo__storage{color:#475569;background:#f8fafc;border:1px solid #e2e8f0;border-radius:4px;flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:16px;padding:8px 12px;font-size:.875rem;display:flex}.library-demo__storage-bar{background:#e2e8f0;border-radius:3px;flex:120px;height:6px;overflow:hidden}.library-demo__storage-fill{background:#0f172a;border-radius:3px;height:100%}.library-demo__storage-fill--warn{background:#dc2626}.library-demo__empty{text-align:center;color:#94a3b8;margin:0;padding:40px 0;font-size:.875rem}.library-demo__list{border:1px solid #e2e8f0;border-radius:4px;flex-direction:column;gap:1px;margin:0;padding:0;list-style:none;display:flex;overflow:hidden}.library-demo__book-card{background:#fff;border-bottom:1px solid #f1f5f9;align-items:center;gap:12px;padding:12px 14px;display:flex}.library-demo__book-card:last-child{border-bottom:none}.library-demo__book-info{flex:1;align-items:flex-start;gap:10px;min-width:0;display:flex}.library-demo__book-format{color:#475569;letter-spacing:.04em;background:#f1f5f9;border-radius:4px;flex-shrink:0;margin-top:2px;padding:2px 6px;font-size:.75rem;font-weight:600;display:inline-block}.library-demo__book-title{color:#1e293b;white-space:nowrap;text-overflow:ellipsis;margin:0 0 2px;font-size:.9375rem;font-weight:500;overflow:hidden}.library-demo__book-author{color:#64748b;margin:0 0 2px;font-size:.8125rem}.library-demo__book-meta{color:#94a3b8;margin:0;font-size:.75rem}.library-demo__delete-btn{cursor:pointer;color:#94a3b8;opacity:.7;background:0 0;border:none;border-radius:4px;flex-shrink:0;padding:4px 6px;font-size:1rem}.library-demo__delete-btn:hover{color:#dc2626;opacity:1;background:#fef2f2}.library-demo__delete-btn:disabled{cursor:not-allowed;opacity:.4}.btn{font-family:var(--font-sans);letter-spacing:normal;cursor:pointer;white-space:nowrap;border:1px solid transparent;outline:none;justify-content:center;align-items:center;gap:6px;font-size:17px;font-weight:400;line-height:1;text-decoration:none;display:inline-flex}.btn:focus-visible{outline:2px solid var(--color-focus);outline-offset:2px}.btn:disabled{opacity:.4;cursor:not-allowed;pointer-events:none}.btn--primary{background-color:var(--color-blue);color:var(--color-white);border-radius:var(--radius-sm);border-color:transparent;padding:8px 15px}.btn--primary:hover{background-color:var(--color-blue-hover)}.btn--primary:active{background-color:var(--color-blue-active);color:var(--color-white)}.btn--dark{background-color:var(--color-near-black);color:var(--color-white);border-radius:var(--radius-sm);border-color:transparent;padding:8px 15px}.btn--dark:hover{background-color:var(--color-dark-hover)}.btn--dark:active{background-color:var(--color-dark-active)}.btn--pill{color:var(--color-link);border-radius:var(--radius-pill);border:1px solid var(--color-link);background-color:transparent;padding:8px 16px;font-size:17px}.btn--pill:active{opacity:.7}.btn--pill-dark{color:var(--color-link-dark);border-radius:var(--radius-pill);border:1px solid var(--color-link-dark);background-color:transparent;padding:8px 16px;font-size:17px}.btn--pill-dark:hover{text-decoration:underline}.btn--pill-dark:active{opacity:.7}.btn--pill-white{color:var(--color-white);border-radius:var(--radius-pill);border:1px solid var(--color-white);background-color:transparent;padding:8px 16px;font-size:17px}.btn--pill-white:hover{text-decoration:underline}.btn--pill-white:active{opacity:.7}.btn--ghost{color:var(--theme-text-primary);border-radius:var(--radius-sm);background-color:transparent;border-color:transparent;padding:6px 12px;font-size:14px;font-weight:400}.btn--ghost>*+*{margin-left:6px}.btn--ghost:hover{background-color:var(--theme-subtle-bg);color:var(--theme-text-primary)}.btn--ghost:active{background-color:var(--theme-subtle-bg-hover)}.btn--filter{background-color:var(--color-filter-bg);color:var(--color-text-primary);border-radius:var(--radius-filter);border:3px solid var(--color-filter-border);height:36px;padding:0 14px;font-size:15px}.btn--filter:hover{background-color:var(--color-filter-hover)}.btn--filter:active{background-color:var(--color-btn-active)}.btn--media{background-color:var(--color-media-bg);color:var(--color-text-secondary);border-radius:var(--radius-circle);border:none;width:44px;height:44px;padding:0;font-size:17px}.btn--media:hover{background-color:var(--color-media-bg-hover)}.btn--media:active{background-color:var(--color-media-bg-active);transform:scale(.9)}.btn--media:focus-visible{background-color:var(--color-white);color:var(--color-near-black);outline:2px solid var(--color-focus);outline-offset:2px}.btn--lg{padding:10px 20px;font-size:18px}.btn--sm{padding:4px 8px;font-size:13px}.dm-backdrop{z-index:500;-webkit-backdrop-filter:blur(4px);background:rgba(0,0,0,.6);position:fixed;top:0;bottom:0;left:0;right:0}.dm-sheet{background:var(--theme-bg-card);flex-direction:column;display:flex;position:fixed;top:0;bottom:0;left:0;right:0}.dm-header{padding:16px 16px 12px;padding-top:calc(16px + env(safe-area-inset-top,0px));background:var(--theme-bg-card);border-bottom:1px solid var(--theme-border);z-index:1;flex-shrink:0;grid-template-columns:auto 1fr auto;align-items:center;gap:8px;display:grid}.dm-close-btn{background:var(--theme-subtle-bg);width:32px;height:32px;color:var(--theme-text-secondary);cursor:pointer;border:none;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;display:flex}.dm-close-btn:hover{background:var(--theme-subtle-bg-hover)}.dm-close-btn:active{background:var(--theme-subtle-bg)}.dm-title{color:var(--theme-text-primary);flex:1;margin:0;font-size:17px;font-weight:600}.dm-header-right{background:var(--theme-subtle-bg);border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;width:34px;height:34px;display:flex}.dm-content{-webkit-overflow-scrolling:touch;flex:1;padding:16px;overflow-y:auto}.dm-footer{padding:12px 16px;padding-bottom:calc(12px + env(safe-area-inset-bottom,0px));background:var(--theme-bg-card);border-top:1px solid var(--theme-border);z-index:1;flex-shrink:0;justify-content:flex-end;gap:8px;display:flex}.dd-backdrop{z-index:500;-webkit-backdrop-filter:blur(4px);background:rgba(0,0,0,.55);justify-content:center;align-items:center;display:flex;position:fixed;top:0;bottom:0;left:0;right:0}.dd-sheet{background:var(--theme-bg-card);border-radius:16px;flex-direction:column;width:100%;max-width:440px;max-height:calc(100vh - 120px);display:flex;overflow:hidden}.dd-header{border-bottom:1px solid var(--theme-border);grid-template-columns:auto 1fr auto;align-items:center;gap:8px;padding:16px 16px 12px;display:grid}.dd-close-btn{background:var(--theme-subtle-bg);width:30px;height:30px;color:var(--theme-text-secondary);cursor:pointer;border:none;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;display:flex}.dd-close-btn:hover{background:var(--theme-subtle-bg-hover)}.dd-close-btn:active{background:var(--theme-subtle-bg)}.dd-title{color:var(--theme-text-primary);flex:1;margin:0;font-size:16px;font-weight:600}.dd-header-right{background:var(--theme-subtle-bg);border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;width:34px;height:34px;display:flex}.dd-body{flex-direction:column;flex:1;gap:18px;min-height:0;padding:16px 16px 8px;display:flex;overflow-y:auto}.dd-footer{border-top:1px solid var(--theme-border);justify-content:flex-end;gap:8px;padding:16px;display:flex}.ui-fields{flex-direction:column;gap:20px;display:flex}.ui-field{flex-direction:column;gap:8px;display:flex}.ui-field__label{text-transform:uppercase;letter-spacing:.04em;color:var(--theme-text-secondary);font-size:12px;font-weight:600}.ui-text-input{background:var(--theme-input-bg);border:1.5px solid var(--theme-border);border-radius:8px;align-items:center;gap:0;height:42px;padding:0 10px;display:flex}.ui-text-input:focus-within{border-color:var(--theme-accent);background:var(--theme-input-bg)}.ui-text-input__icon{color:var(--theme-text-tertiary);flex-shrink:0;align-items:center;margin-right:8px;display:flex}.ui-text-input__field{min-width:0;color:var(--theme-text-primary);caret-color:var(--theme-text-primary);background:0 0;border:none;outline:none;flex:1;font-family:inherit;font-size:15px;font-weight:400}.ui-text-input__field::placeholder{color:var(--theme-text-tertiary)}.ui-text-input__field:disabled{opacity:.45;cursor:not-allowed}.ui-text-input__clear{background:var(--theme-subtle-bg-hover);width:20px;height:20px;color:var(--theme-text-secondary);cursor:pointer;border:none;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;margin-left:4px;padding:0;display:flex}.ui-text-input__clear:hover{background:var(--theme-tab-active-bg);color:var(--theme-text-primary)}.ui-text-input__clear:active{background:var(--theme-border)}.fd-input-wrap{align-items:center;display:flex;position:relative}.fd-input-icon{pointer-events:none;color:var(--theme-text-tertiary);display:flex;position:absolute;left:11px}.fd-input{background:var(--theme-input-bg);border:1px solid var(--theme-border);width:100%;color:var(--theme-text-primary);border-radius:10px;outline:none;padding:10px 36px 10px 34px;font-size:15px}.fd-input::placeholder{color:var(--theme-text-tertiary)}.fd-input:focus{border-color:var(--theme-accent)}.fd-input:disabled{opacity:.5;cursor:not-allowed}.fd-input-clear{background:var(--theme-subtle-bg-hover);width:22px;height:22px;color:var(--theme-text-secondary);cursor:pointer;border:none;border-radius:50%;justify-content:center;align-items:center;padding:0;display:flex;position:absolute;right:8px}.fd-input-clear:hover{background:var(--theme-tab-active-bg)}.fd-swatches{grid-template-columns:repeat(auto-fill,minmax(32px,1fr));gap:6px;display:grid}.fd-swatch{background-color:var(--swatch);cursor:pointer;color:#fff;border:2px solid transparent;border-radius:50%;justify-content:center;align-items:center;width:30px;height:30px;padding:0;display:flex}.fd-swatch:hover{transform:scale(1.12)}.fd-swatch:active{transform:scale(.95)}.fd-swatch:disabled{opacity:.4;cursor:not-allowed}.fd-swatch--active{border-color:var(--theme-text-primary);transform:scale(1.1)}.fd-icon-grid{grid-template-columns:repeat(auto-fill,minmax(42px,1fr));gap:6px;display:grid}.fd-icon-btn{border:1.5px solid var(--theme-border);background:var(--theme-subtle-bg);width:42px;height:42px;color:var(--theme-text-secondary);cursor:pointer;border-radius:10px;justify-content:center;align-items:center;padding:0;display:flex}.fd-icon-btn:hover{background:var(--theme-subtle-bg-hover);color:var(--theme-text-primary)}.fd-icon-btn:active{background:var(--theme-subtle-bg)}.fd-icon-btn:disabled{opacity:.4;cursor:not-allowed}.fd-icon-btn--active{background:var(--theme-tab-active-bg);border-color:currentColor}.fd-footer{padding:16px;padding-bottom:calc(16px + env(safe-area-inset-bottom,0px));border-top:1px solid var(--theme-border);gap:10px;margin-top:4px;display:flex}.fd-btn{cursor:pointer;border:none;border-radius:12px;flex:1;justify-content:center;align-items:center;gap:6px;height:44px;font-size:15px;font-weight:600;display:flex}.fd-btn:active{transform:scale(.97)}.fd-btn:disabled{opacity:.4;cursor:not-allowed}.fd-btn--cancel{background:var(--theme-subtle-bg);color:var(--theme-text-secondary);flex:none;padding:0 20px}.fd-btn--cancel:hover{background:var(--theme-subtle-bg-hover)}.fd-btn--submit{color:#fff;background:#007aff}.fd-btn--submit:hover:not(:disabled){opacity:.88}@keyframes fd-spin{to{transform:rotate(360deg)}}.fd-spinner{border:2px solid var(--theme-border);border-top-color:var(--theme-text-primary);border-radius:50%;width:18px;height:18px;animation:.6s linear infinite fd-spin;display:inline-block}.bd-input-wrap{align-items:center;display:flex;position:relative}.bd-input-icon{pointer-events:none;color:var(--theme-text-tertiary);display:flex;position:absolute;left:11px}.bd-input{background:var(--theme-input-bg);border:1px solid var(--theme-border);width:100%;color:var(--theme-text-primary);border-radius:10px;outline:none;padding:10px 36px 10px 34px;font-size:15px}.bd-input::placeholder{color:var(--theme-text-tertiary)}.bd-input:focus{border-color:var(--theme-accent);background:var(--theme-input-bg)}.bd-input:disabled{opacity:.5;cursor:not-allowed}.bd-input-clear{background:var(--theme-subtle-bg-hover);width:22px;height:22px;color:var(--theme-text-secondary);cursor:pointer;border:none;border-radius:50%;justify-content:center;align-items:center;padding:0;display:flex;position:absolute;right:8px}.bd-input-clear:hover{background:var(--theme-tab-active-bg)}.bd-dropzone{background:var(--theme-subtle-bg);border:1.5px dashed var(--theme-border);height:88px;color:var(--theme-text-secondary);cursor:pointer;user-select:none;border-radius:12px;flex-direction:column;justify-content:center;align-items:center;gap:8px;font-size:13px;display:flex}.bd-dropzone:hover{background:var(--theme-subtle-bg-hover);border-color:var(--theme-text-secondary);color:var(--theme-text-primary)}.bd-dropzone:active{background:var(--theme-tab-active-bg)}.bd-file-info{background:var(--theme-subtle-bg);border:1px solid var(--theme-border);border-radius:10px;align-items:center;gap:10px;padding:10px 12px;display:flex}.bd-file-ext{background:var(--theme-subtle-bg-hover);min-width:40px;color:var(--theme-text-secondary);letter-spacing:.04em;border-radius:6px;flex-direction:column;justify-content:center;align-items:center;gap:2px;padding:6px 4px;font-size:9px;font-weight:700;display:flex}.bd-file-name{color:var(--theme-text-primary);text-overflow:ellipsis;white-space:nowrap;flex:1;font-size:13px;overflow:hidden}.bd-file-size{color:var(--theme-text-tertiary);white-space:nowrap;font-size:11px}.bd-file-change{color:var(--theme-text-secondary);cursor:pointer;white-space:nowrap;background:0 0;border:none;border-radius:6px;padding:4px 6px;font-size:12px}.bd-file-change:hover{color:var(--theme-text-primary);background:var(--theme-subtle-bg)}.bd-file-change:disabled{opacity:.4;cursor:not-allowed}.bd-file-error{color:#ff453a;margin-top:6px;font-size:12px;display:block}.bd-replace-btn{background:var(--theme-subtle-bg);border:1px dashed var(--theme-border);color:var(--theme-text-secondary);cursor:pointer;border-radius:10px;justify-content:center;align-items:center;gap:6px;width:100%;padding:9px 14px;font-size:13px;display:inline-flex}.bd-replace-btn:hover{background:var(--theme-subtle-bg-hover);border-color:var(--theme-text-secondary);color:var(--theme-text-primary)}.bd-replace-btn:disabled{opacity:.4;cursor:not-allowed}.bd-spinner{border:2px solid var(--theme-border);border-top-color:var(--theme-text-primary);border-radius:50%;width:14px;height:14px;animation:.7s linear infinite bd-spin;display:inline-block}@keyframes bd-spin{to{transform:rotate(360deg)}}.asd-back-btn{width:32px;height:32px;color:var(--theme-text-primary);cursor:pointer;background:0 0;border:none;border-radius:6px;flex-shrink:0;justify-content:center;align-items:center;display:flex}.asd-back-btn:hover{background:var(--theme-subtle-bg-hover)}.asd-user-card{background:var(--theme-surface);border-radius:12px;align-items:center;gap:14px;margin:0 16px 16px;padding:14px 16px;display:flex}.asd-user-card__avatar{color:#fff;background:#6e4fce;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:44px;height:44px;font-size:18px;font-weight:600;display:flex}.asd-user-card__info{flex-direction:column;gap:2px;min-width:0;display:flex}.asd-user-card__name{color:var(--theme-text-primary);white-space:nowrap;text-overflow:ellipsis;font-size:15px;font-weight:600;overflow:hidden}.asd-user-card__email{color:var(--theme-text-secondary);white-space:nowrap;text-overflow:ellipsis;font-size:13px;overflow:hidden}.asd-section-label{color:var(--theme-text-secondary);letter-spacing:.3px;text-transform:uppercase;align-items:center;gap:6px;padding:0 20px 6px;font-size:12px;font-weight:500;display:flex}.asd-section{background:var(--theme-surface);border-radius:12px;margin:0 16px 16px;overflow:hidden}.asd-row{border:none;border-top:1px solid var(--theme-border);width:100%;color:var(--theme-text-primary);cursor:pointer;text-align:left;background:0 0;justify-content:space-between;align-items:center;padding:14px 16px;font-size:15px;display:flex}.asd-row:first-child{border-top:none}.asd-row:hover{background:var(--theme-subtle-bg)}.asd-row__label{flex:1}.asd-row__value{color:var(--theme-text-secondary);flex-shrink:0;align-items:center;gap:4px;font-size:14px;font-weight:500;display:flex}.asd-signout-btn{color:#d63f3f;cursor:pointer;background:rgba(214,63,63,.18);border:none;border-radius:10px;justify-content:center;align-items:center;gap:8px;width:calc(100% - 32px);margin:0 16px 16px;padding:14px;font-size:15px;font-weight:500;display:flex}.asd-signout-btn:hover{background:rgba(214,63,63,.28)}.asd-theme-list{background:var(--theme-surface);border-radius:12px;margin:0 16px 16px;overflow:hidden}.asd-theme-row{border:none;border-top:1px solid var(--theme-border);width:100%;color:var(--theme-text-primary);cursor:pointer;text-align:left;letter-spacing:.5px;background:0 0;justify-content:space-between;align-items:center;padding:14px 16px;font-size:14px;font-weight:500;display:flex}.asd-theme-row:first-child{border-top:none}.asd-theme-row:hover{background:var(--theme-subtle-bg)}.asd-theme-row--active{background:var(--theme-subtle-bg-hover);font-weight:600}.asd-theme-row__check{color:var(--theme-text-primary);align-items:center;display:flex}.lp{background-color:var(--theme-bg);height:100%;color:var(--theme-text-primary);flex-direction:column;font-family:Adobe Clean,Helvetica Neue,Helvetica,Arial,sans-serif;display:flex;overflow:hidden}.lp-topbar{z-index:100;background:var(--theme-nav-bg);-webkit-backdrop-filter:saturate(180%)blur(20px);border-bottom:1px solid var(--theme-border);align-items:center;height:52px;padding:0 24px;display:flex;position:sticky;top:0}.lp-topbar__brand{flex:none;align-items:center;display:flex}.lp-topbar__logo{background:0 0;justify-content:center;align-items:center;width:24px;height:24px;margin-right:8px;display:flex}.lp-topbar__app-name{color:var(--theme-text-primary);font-size:17px;font-weight:700}.lp-topbar__actions{align-items:center;margin-left:auto;display:flex}.lp-topbar__actions>*+*{margin-left:8px}.lp-topbar__user-btn{background:var(--theme-subtle-bg);width:36px;height:36px;color:var(--theme-text-primary);cursor:pointer;border:none;border-radius:50%;justify-content:center;align-items:center;display:flex}.lp-topbar__user-btn:hover{background:var(--theme-subtle-bg-hover)}.lp-topbar__user-btn:focus-visible{outline:2px solid var(--theme-accent);outline-offset:2px}.lp-btn{letter-spacing:-.224px;cursor:pointer;white-space:nowrap;border:none;border-radius:8px;align-items:center;padding:7px 14px;font-family:Adobe Clean,Helvetica Neue,Helvetica,Arial,sans-serif;font-size:14px;font-weight:400;display:inline-flex}.lp-btn>*+*{margin-left:6px}.lp-btn--primary{background:var(--theme-accent);color:var(--theme-accent-text)}.lp-btn--primary:hover{background:#0077ed}.lp-btn--primary:active{background:#0062c3}.lp-btn--ghost{background:var(--theme-subtle-bg);color:var(--theme-text-secondary);border:1px solid var(--theme-border)}.lp-btn--ghost:hover{background:var(--theme-subtle-bg-hover);color:var(--theme-text-primary)}@media (max-width:480px){.lp-btn__label{display:none}}.lp-icon-btn{width:30px;height:30px;color:var(--theme-text-secondary);cursor:pointer;background:0 0;border:none;border-radius:6px;flex-shrink:0;justify-content:center;align-items:center;display:flex}.lp-icon-btn:hover{background:var(--theme-subtle-bg);color:var(--theme-text-primary)}.lp-breadcrumbs{width:100%;max-width:720px;color:var(--theme-text-secondary);letter-spacing:-.12px;flex-wrap:wrap;align-items:center;margin:0 auto;padding:10px 24px 0;font-size:13px;display:flex}.lp-breadcrumbs>*+*{margin-left:2px}.lp-breadcrumbs__segment{align-items:center;display:flex}.lp-breadcrumbs__segment>*+*{margin-left:2px}.lp-breadcrumbs__sep{color:var(--theme-text-tertiary);flex-shrink:0}.lp-breadcrumbs__item{align-items:center;display:flex}.lp-breadcrumbs__item>*+*{margin-left:4px}.lp-breadcrumbs__item--link{color:var(--theme-accent);text-decoration:none}.lp-breadcrumbs__item--link:hover{text-decoration:underline}.lp-breadcrumbs__item--current{color:var(--theme-text-primary);font-weight:700}.lp-main{flex:1;width:100%;max-width:720px;min-height:0;margin:0 auto;padding:0 24px 48px;overflow-y:auto}.lp-tabs{border-bottom:1px solid var(--theme-border);margin-bottom:8px;padding:16px 0 8px;display:flex}.lp-tabs>*+*{margin-left:4px}.lp-tab{letter-spacing:-.12px;color:var(--theme-text-secondary);cursor:pointer;background:0 0;border:none;border-radius:980px;padding:6px 14px;font-family:Adobe Clean,Helvetica Neue,Helvetica,Arial,sans-serif;font-size:13px;font-weight:400}.lp-tab:hover{background:var(--theme-subtle-bg);color:var(--theme-text-primary)}.lp-tab--active{background:var(--theme-tab-active-bg);color:var(--theme-text-primary);font-weight:700}.lp-content{flex-direction:column;display:flex}.lp-section{padding:12px 0 4px}.lp-section__title{letter-spacing:-.12px;color:var(--theme-text-secondary);text-transform:uppercase;margin:0 0 4px;padding:0 4px;font-size:12px;font-weight:400}.lp-folder-list{background:var(--theme-bg-card);border-radius:12px;margin:0;padding:0;list-style:none;overflow:hidden}.lp-folder-row{border-bottom:1px solid var(--theme-border);align-items:center;padding:0 16px 0 0;display:flex}.lp-folder-row:last-child{border-bottom:none}.lp-folder-row:hover{background:var(--theme-subtle-bg)}.lp-folder-row__main{cursor:pointer;color:inherit;text-align:left;background:0 0;border:none;flex:1;align-items:center;min-width:0;padding:14px 16px;font-family:Adobe Clean,Helvetica Neue,Helvetica,Arial,sans-serif;display:flex}.lp-folder-row__main>*+*{margin-left:12px}.lp-folder-row__icon{flex-shrink:0;justify-content:center;align-items:center;display:flex}.lp-folder-row__name{letter-spacing:-.224px;color:var(--theme-text-primary);white-space:nowrap;text-overflow:ellipsis;flex:1;font-size:15px;font-weight:700;overflow:hidden}.lp-folder-row__arrow{color:var(--theme-text-secondary);flex-shrink:0}.lp-folder-row__count{color:var(--theme-text-secondary);letter-spacing:-.12px;font-size:13px}.lp-folder-row__menu-wrap{flex-shrink:0;position:relative}.lp-book-list{background:var(--theme-bg-card);border-radius:12px;margin:0;padding:0;list-style:none;overflow:hidden}.lp-book-row{border-bottom:1px solid var(--theme-border);align-items:stretch;display:flex}.lp-book-row:last-child{border-bottom:none}.lp-book-row__main{cursor:pointer;text-align:left;background:0 0;border:none;flex:1;align-items:flex-start;min-width:0;padding:14px 16px;display:flex}.lp-book-row__main>*+*{margin-left:12px}.lp-book-row__main:hover{background:var(--theme-subtle-bg)}.lp-book-row__cover{flex-shrink:0;margin-top:1px;font-size:24px;line-height:1}.lp-book-row__info{flex-direction:column;flex:1;min-width:0;display:flex}.lp-book-row__info>*+*{margin-top:3px}.lp-book-row__title{letter-spacing:-.224px;color:var(--theme-text-primary);flex-wrap:wrap;align-items:center;margin:0;font-size:15px;font-weight:700;display:flex}.lp-book-row__title>*+*{margin-left:8px}.lp-book-row__meta{color:var(--theme-text-secondary);letter-spacing:-.12px;flex-wrap:wrap;align-items:center;margin:0;font-size:13px;display:flex}.lp-book-row__meta>*+*{margin-left:5px}.lp-book-row__folder{font-size:13px;font-weight:400}.lp-book-row__format{letter-spacing:.5px;color:var(--theme-text-tertiary);background:var(--theme-subtle-bg);border-radius:4px;padding:1px 5px;font-size:11px;font-weight:700}.lp-book-row__side{flex-shrink:0;align-items:center;padding:0 8px 0 0;display:flex}.lp-book-row__side>*+*{margin-left:2px}.lp-book-row__menu-wrap{position:relative}.lp-progress{background:var(--theme-subtle-bg-hover);border-radius:2px;height:3px;margin-top:6px;overflow:hidden}.lp-progress__fill{background:var(--theme-accent);border-radius:2px;height:100%}.lp-badge{letter-spacing:.2px;border-radius:980px;padding:2px 7px;font-size:11px;font-weight:700;display:inline-block}.lp-badge--new{color:var(--theme-accent);background:rgba(0,113,227,.18)}.lp-badge--done{color:#34c759;background:rgba(52,199,89,.15)}.lp-context-menu{z-index:200;background:var(--theme-context-menu-bg);border:1px solid var(--theme-context-menu-border);min-width:150px;box-shadow:var(--theme-shadow);border-radius:10px;margin:0;padding:5px 0;list-style:none;position:absolute;top:calc(100% + 4px);right:0}.lp-context-menu li{letter-spacing:-.224px;color:var(--theme-text-primary);cursor:pointer;padding:9px 16px;font-size:14px}.lp-context-menu li:hover{background:var(--theme-subtle-bg)}.lp-context-menu__danger{border-top:1px solid var(--theme-border);margin-top:4px;color:#ff453a!important;padding-top:9px!important}.lp-dot{background:var(--theme-text-tertiary);border-radius:50%;flex-shrink:0;width:3px;height:3px;display:inline-block}.lp-empty{text-align:center;color:var(--theme-text-secondary);padding:32px 0;font-size:14px}.lp-importing{color:var(--theme-text-secondary);margin-left:8px;font-size:12px;font-weight:400;animation:1.2s ease-in-out infinite lp-pulse}@keyframes lp-pulse{0%,to{opacity:1}50%{opacity:.3}}@keyframes lp-shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}.lp-skeleton{background:linear-gradient(90deg, var(--theme-skeleton-start) 25%, var(--theme-skeleton-mid) 50%, var(--theme-skeleton-start) 75%);background-size:200% 100%;border-radius:6px;animation:1.4s ease-in-out infinite lp-shimmer;display:block}.lp-skeleton--cover{border-radius:8px;flex-shrink:0;width:36px;height:36px}.lp-skeleton--title{width:55%;height:14px;margin-bottom:6px}.lp-skeleton--meta{width:35%;height:11px}.lp-book-row--skeleton{pointer-events:none}.lp-state{text-align:center;flex-direction:column;align-items:center;padding:48px 24px;display:flex}.lp-state>*+*{margin-top:8px}.lp-state__icon{color:var(--theme-text-secondary);margin-bottom:4px}.lp-state__icon--error{color:#ff453a}.lp-state__title{color:var(--theme-text-primary);margin:0;font-size:16px;font-weight:600}.lp-state__hint{color:var(--theme-text-secondary);max-width:280px;margin:0 0 8px;font-size:13px}.demo-page{color:#1d1d1f;background-color:#f5f5f7;min-height:100vh;font-family:Adobe Clean,Helvetica Neue,Helvetica,Arial,sans-serif}.demo-section{max-width:980px;margin:0 auto;padding:64px 40px}.demo-section+.demo-section{border-top:1px solid rgba(0,0,0,.08)}.demo-section--dark{background-color:#000;max-width:100%;padding:64px}.demo-section--dark .demo-section__inner{max-width:980px;margin:0 auto}.demo-section__label{letter-spacing:.08em;text-transform:uppercase;color:rgba(0,0,0,.48);margin-bottom:8px;font-size:12px;font-weight:400}.demo-section--dark .demo-section__label{color:rgba(255,255,255,.48)}.demo-section__title{letter-spacing:.196px;color:#1d1d1f;margin-bottom:8px;font-size:28px;font-weight:700;line-height:1.14}.demo-section--dark .demo-section__title{color:#fff}.demo-section__desc{letter-spacing:-.224px;color:rgba(0,0,0,.8);margin-bottom:32px;font-size:14px;font-weight:400;line-height:1.43}.demo-section--dark .demo-section__desc{color:rgba(255,255,255,.72)}.demo-row{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.demo-header{-webkit-backdrop-filter:saturate(180%)blur(20px);z-index:100;background-color:rgba(0,0,0,.8);align-items:center;height:48px;padding:0 24px;display:flex;position:sticky;top:0}.demo-header__title{color:#fff;letter-spacing:-.224px;font-size:14px;font-weight:400}.demo-table{border-collapse:collapse;width:100%;margin-top:24px;font-size:14px}.demo-table th{text-align:left;text-transform:uppercase;letter-spacing:.08em;color:rgba(0,0,0,.48);border-bottom:1px solid rgba(0,0,0,.1);padding:8px 16px 8px 0;font-size:12px;font-weight:700}.demo-table td{vertical-align:middle;border-bottom:1px solid rgba(0,0,0,.06);padding:16px 16px 16px 0}.demo-table td:first-child{color:#1d1d1f;min-width:120px;font-weight:700}.demo-table td:nth-child(2){color:rgba(0,0,0,.8);min-width:200px;font-size:13px}.login-page{--color-bg-dark:#000;--color-bg-light:#f5f5f7;--color-surface:#fff;--color-surface-dark-1:#272729;--color-text-primary:#1d1d1f;--color-text-white:#fff;--color-text-secondary:rgba(0,0,0,.48);--color-text-tertiary:rgba(0,0,0,.28);--color-text-white-dim:rgba(255,255,255,.3);--color-blue:#0071e3;--color-blue-link:#06c;--color-blue-dark-bg:#2997ff;--color-btn-active:#ededf2;--color-btn-light:#fafafc;--color-border:rgba(0,0,0,.16);--color-border-hover:rgba(0,0,0,.22);--shadow-card:rgba(0,0,0,.22) 3px 5px 30px 0px;--shadow-card-dark:rgba(0,0,0,.5) 0 20px 60px;--color-error:#d93025;--color-error-bg:rgba(217,48,37,.07);--font-family:"Adobe Clean", "Helvetica Neue", Helvetica, Arial, sans-serif;min-height:100vh;background-color:var(--color-bg-dark);min-height:100svh;font-family:var(--font-family);flex-direction:column;justify-content:center;align-items:center;padding:24px 16px;display:flex}.login-card{background:var(--color-surface);box-shadow:var(--shadow-card-dark);border-radius:12px;flex-direction:column;align-items:center;gap:0;width:100%;max-width:360px;padding:52px 44px 44px;display:flex}.login-brand{flex-direction:column;align-items:center;gap:12px;margin-bottom:36px;display:flex}.login-logo{width:48px;height:48px}.login-title{color:var(--color-text-primary);letter-spacing:-.28px;margin:0;font-size:24px;font-weight:700;line-height:1.14}.login-subtitle{color:var(--color-text-secondary);letter-spacing:-.224px;text-align:center;margin:0;font-size:14px;font-weight:400;line-height:1.43}.login-error{width:100%;color:var(--color-error);letter-spacing:-.12px;text-align:center;background:var(--color-error-bg);box-sizing:border-box;border-radius:6px;margin:0 0 12px;padding:8px 12px;font-size:12px}.login-btn-google{background:var(--color-surface);width:100%;color:var(--color-text-primary);border:1.5px solid var(--color-border);font-family:var(--font-family);cursor:pointer;letter-spacing:-.224px;border-radius:8px;justify-content:center;align-items:center;gap:10px;padding:13px 20px;font-size:15px;font-weight:400;display:flex}.login-btn-google:hover:not(:disabled){background:var(--color-bg-light);border-color:var(--color-border-hover)}.login-btn-google:active:not(:disabled){background:var(--color-btn-active)}.login-btn-google:focus-visible{outline:2px solid var(--color-blue);outline-offset:2px}.login-btn-google:disabled{opacity:.5;cursor:not-allowed}.login-footer{color:var(--color-text-white-dim);letter-spacing:-.12px;text-align:center;margin-top:28px;font-size:12px}@media (max-width:480px){.login-card{padding:40px 28px 36px}}.rh-bar{border-bottom:1px solid var(--theme-border);background:var(--theme-reader-bg);flex-shrink:0;align-items:center;height:40px;padding:0 4px;display:flex}.rh-title{color:var(--theme-reader-text);white-space:nowrap;text-overflow:ellipsis;text-align:left;flex:1;min-width:0;padding:0 6px;font-size:13px;font-weight:700;overflow:hidden}.rh-right{flex-shrink:0;align-items:center;margin-left:auto;display:flex}.rh-right>*+*{margin-left:2px}.rh-page-label{color:var(--theme-text-secondary);white-space:nowrap;text-align:right;min-width:40px;font-size:12px}.rh-page-btn{cursor:pointer;background:0 0;border:none;border-radius:4px;padding:4px 6px}.rh-page-btn:active{background:var(--theme-subtle-bg)}.pvc-container{background:var(--theme-reader-bg);flex-direction:column;flex:1;min-height:0;display:flex;position:relative}.pvc-zoom-area{cursor:pointer;touch-action:none;flex-direction:column;flex:1;min-height:0;display:flex;overflow:hidden}.pvc-zoom-area--scroll{-webkit-overflow-scrolling:touch;touch-action:pan-y;cursor:default;overflow-y:auto}.pvc-inner{transform-origin:top;will-change:transform;flex-direction:column;flex:1;align-items:center;width:100%;min-height:0;display:flex}.pvc-inner canvas{width:100%;height:auto;display:block}.pvc-page-wrapper{line-height:1;position:relative}.pvc-text-layer{pointer-events:auto;user-select:text;position:absolute;top:0;left:0;overflow:hidden}.pvc-text-layer span{color:transparent;white-space:pre;cursor:text;transform-origin:0 0;position:absolute}.pvc-text-layer ::selection{color:transparent;background:rgba(0,100,255,.25)}.pvc-placeholder{background:0 0;flex:1;width:100%;min-height:400px}.pvc-scroll-list{flex-direction:column;align-items:center;width:100%;padding:8px 0;display:flex}.pvc-scroll-page{margin-bottom:8px;line-height:1;position:relative;box-shadow:0 1px 4px rgba(0,0,0,.12)}.pvc-scroll-page canvas{display:block}.pvc-error{color:rgba(0,0,0,.48);text-align:center;padding:40px 24px;font-size:14px}@media (prefers-color-scheme:dark){.pvc-error{color:rgba(255,255,255,.48)}}.pvc-zoom-reset{color:#fff;cursor:pointer;z-index:10;background:rgba(15,23,42,.75);border:none;border-radius:4px;padding:6px 12px;font-size:12px;font-weight:500;position:absolute;bottom:12px;right:12px}@media (prefers-color-scheme:dark){.pvc-zoom-reset{background:rgba(255,255,255,.2)}}.pvc-debug-toggle{color:rgba(255,255,255,.6);cursor:pointer;z-index:10;background:rgba(0,0,0,.4);border:none;border-radius:4px;padding:4px 8px;font-size:11px;font-weight:500;position:absolute;bottom:12px;left:12px}.ui-tabs{border-bottom:1.5px solid var(--theme-border);gap:4px;padding:0 16px;display:flex}.ui-tab{color:var(--theme-text-secondary);cursor:pointer;text-align:center;white-space:nowrap;background:0 0;border:none;flex:1;padding:10px 8px;font-family:inherit;font-size:14px;font-weight:500;position:relative}.ui-tab:after{content:"";background:0 0;height:2px;position:absolute;bottom:-1.5px;left:0;right:0}.ui-tab--active{color:var(--theme-text-primary)}.ui-tab--active:after{background:var(--theme-accent)}.prs-row{border-bottom:1px solid var(--theme-border);justify-content:space-between;align-items:center;padding:14px 0;display:flex}.prs-row:last-child{border-bottom:none}.prs-label{color:var(--theme-text-primary);flex-shrink:0;margin-right:12px;font-size:15px;font-weight:400}.prs-tabs{flex-shrink:0}.prs-toggle{color:var(--theme-text-primary);background:var(--theme-input-bg);border:3px solid var(--theme-input-border);cursor:pointer;text-align:center;border-radius:11px;flex-shrink:0;min-width:56px;padding:5px 14px;font-size:14px;font-weight:400}.prs-toggle--on{background:var(--theme-accent);color:var(--theme-accent-text);border-color:transparent}.ui-number-input{background:var(--theme-input-bg);border:1.5px solid var(--theme-border);border-radius:8px;align-items:center;height:42px;display:flex;overflow:hidden}.ui-number-input:focus-within{border-color:var(--theme-accent)}.ui-number-input--error{border-color:#ff3b30}.ui-number-input__step{width:42px;height:100%;color:var(--theme-text-secondary);cursor:pointer;background:0 0;border:none;flex-shrink:0;font-family:inherit;font-size:18px;font-weight:400}.ui-number-input__step:hover:not(:disabled){color:var(--theme-text-primary);background:var(--theme-subtle-bg)}.ui-number-input__step:active:not(:disabled){background:var(--theme-subtle-bg-hover)}.ui-number-input__step:disabled{opacity:.25;cursor:not-allowed}.ui-number-input__field{min-width:0;height:100%;color:var(--theme-text-primary);text-align:center;caret-color:var(--theme-text-primary);-webkit-appearance:textfield;appearance:textfield;background:0 0;border:none;outline:none;flex:1;font-family:inherit;font-size:15px;font-weight:400}.ui-number-input__field::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.ui-number-input__field::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.ui-number-input__field:disabled{opacity:.45;cursor:not-allowed}.pnd-tabs{border-bottom:1px solid rgba(255,255,255,.08);flex-shrink:0;display:flex}.pnd-tab{color:rgba(255,255,255,.45);cursor:pointer;background:0 0;border:none;border-bottom:2px solid transparent;flex:1;padding:12px 8px;font-size:14px;font-weight:500}.pnd-tab--active{color:#fff;border-bottom-color:#fff}.pnd-goto{flex-direction:column;gap:12px;padding:20px 0 4px;display:flex}.pnd-hint{color:rgba(255,255,255,.45);margin:0;font-size:13px}.pnd-input{color:#fff;text-align:center;box-sizing:border-box;-webkit-appearance:textfield;appearance:textfield;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.12);border-radius:8px;outline:none;width:100%;padding:10px 14px;font-size:22px;font-weight:500}.pnd-input::-webkit-outer-spin-button{-webkit-appearance:none}.pnd-input::-webkit-inner-spin-button{-webkit-appearance:none}.pnd-input:focus{background:rgba(255,255,255,.1);border-color:rgba(255,255,255,.35)}.pnd-input--error{border-color:#ff453a}.pnd-error{color:#ff453a;margin:0;font-size:12px}.pnd-toc{padding:8px 0}.pnd-empty{color:rgba(255,255,255,.35);text-align:center;margin:0;padding:32px 0;font-size:14px}.pnd-toc-list{margin:0;padding:0;list-style:none}.pnd-toc-btn{cursor:pointer;text-align:left;background:0 0;border:none;border-bottom:1px solid rgba(255,255,255,.06);justify-content:space-between;align-items:baseline;gap:8px;width:100%;padding:10px 4px;display:flex}.pnd-toc-btn--active .pnd-toc-title{color:#fff;font-weight:600}.pnd-toc-btn:active{background:rgba(255,255,255,.05)}.pnd-toc-title{color:rgba(255,255,255,.75);white-space:nowrap;text-overflow:ellipsis;flex:1;font-size:14px;overflow:hidden}.pnd-toc-page{color:rgba(255,255,255,.35);flex-shrink:0;font-size:12px}.prp-root{background:var(--theme-reader-bg);flex-direction:column;height:100vh;display:flex;overflow:hidden}.prp-loading{flex:1;min-height:0}.erh-bar{border-bottom:1px solid var(--theme-border);background:var(--theme-reader-bg);flex-shrink:0;align-items:center;height:40px;padding:0 4px;display:flex}.erh-title{color:var(--theme-text-secondary);font-size:var(--font-size-sm);white-space:nowrap;text-overflow:ellipsis;text-align:left;flex:1;min-width:0;padding:0 6px;overflow:hidden}.erh-right{flex-shrink:0;align-items:center;margin-left:auto;display:flex}.erh-page-label{color:var(--theme-text-secondary);white-space:nowrap;text-align:right;min-width:52px;font-size:12px}.erh-page-btn{cursor:pointer;background:0 0;border:none;border-radius:4px;padding:4px 6px}.erh-page-btn:active{background:var(--theme-subtle-bg)}.evc-outer{background:var(--theme-reader-bg);cursor:pointer;flex:1;justify-content:center;min-height:0;display:flex;overflow:hidden}.evc-container{background:var(--theme-reader-bg);border:1px solid var(--theme-border);cursor:default;border-width:0 1px;width:100%;max-width:1000px;height:100%;position:relative}.evc-overlay{z-index:10;position:absolute;top:0;bottom:0;left:0;right:0}.ers-preview-container{background:var(--theme-subtle-bg);border:1px solid var(--theme-border);border-radius:8px;justify-content:center;align-items:center;min-height:80px;margin-bottom:24px;padding:16px;display:flex}.ers-preview{color:var(--theme-text-primary);text-align:center}.ers-section{margin-bottom:24px}.ers-section-title{color:var(--theme-text-primary);margin-bottom:12px;font-size:15px;font-weight:500}.ers-font-grid{grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:8px;display:grid}.ers-font-btn{color:var(--theme-text-primary);background:var(--theme-input-bg);border:2px solid var(--theme-input-border);cursor:pointer;text-align:center;white-space:nowrap;text-overflow:ellipsis;border-radius:8px;padding:10px;font-size:14px;overflow:hidden}.ers-font-btn:active{background:var(--theme-subtle-bg-hover)}.ers-font-btn--active{background:var(--theme-accent);border-color:var(--theme-accent);color:var(--theme-accent-text)}.ers-row{border-bottom:1px solid var(--theme-border);justify-content:space-between;align-items:center;padding:14px 0;display:flex}.ers-row:last-child{border-bottom:none}.ers-label{color:var(--theme-text-primary);flex-shrink:0;margin-right:12px;font-size:15px;font-weight:400}.ers-size-row{align-items:center;gap:8px;display:flex}.ers-size-btn{color:var(--theme-text-primary);background:var(--theme-input-bg);border:3px solid var(--theme-input-border);cursor:pointer;border-radius:8px;padding:5px 12px;font-size:13px;font-weight:500}.ers-size-btn:active{background:var(--theme-subtle-bg-hover)}.ers-size-value{color:var(--theme-text-secondary);text-align:center;min-width:40px;font-size:14px;font-weight:400}.ers-spacing-group{flex-wrap:wrap;justify-content:flex-end;gap:6px;display:flex}.ers-spacing-btn{color:var(--theme-text-primary);background:var(--theme-input-bg);border:3px solid var(--theme-input-border);cursor:pointer;border-radius:8px;padding:5px 10px;font-size:13px;font-weight:400}.ers-spacing-btn--active{background:var(--theme-accent);color:var(--theme-accent-text);border-color:transparent}.etp-list{margin:0;padding:0;list-style:none}.etp-row{border-radius:6px;align-items:center;gap:4px;min-height:44px;display:flex}.etp-row:hover{background:var(--theme-subtle-bg)}.etp-row--active{background:rgba(0,113,227,.08)}.etp-row--active .etp-label-btn{color:var(--theme-accent);font-weight:600}.etp-expand-btn{cursor:pointer;width:20px;height:20px;color:var(--theme-text-secondary);background:0 0;border:none;border-radius:4px;flex-shrink:0;justify-content:center;align-items:center;padding:0;display:flex}.etp-expand-spacer{flex-shrink:0;width:20px;display:inline-block}.etp-label-btn{text-align:left;cursor:pointer;color:var(--theme-reader-text);-webkit-line-clamp:2;line-clamp:2;background:0 0;border:none;-webkit-box-orient:vertical;flex:1;padding:0;font-size:15px;font-weight:400;line-height:1.4;display:-webkit-box;overflow:hidden}.etp-empty{color:var(--theme-text-secondary);flex-direction:column;align-items:center;gap:12px;padding:40px 0;display:flex}.etp-empty p{margin:0;font-size:15px}.erp-root{background:var(--theme-reader-bg);flex-direction:column;height:100vh;display:flex;overflow:hidden}.erp-loading{flex:1;min-height:0}.rp-center{background:#fff;flex-direction:column;justify-content:center;align-items:center;gap:12px;min-height:100vh;padding:40px 24px;display:flex}@media (prefers-color-scheme:dark){.rp-center{background:#121212}}.rp-spinner{border:2px solid rgba(0,0,0,.12);border-top-color:#1d1d1f;border-radius:50%;width:24px;height:24px;animation:.7s linear infinite rp-spin}@media (prefers-color-scheme:dark){.rp-spinner{border-color:rgba(255,255,255,.8) rgba(255,255,255,.12) rgba(255,255,255,.12)}}@keyframes rp-spin{to{transform:rotate(360deg)}}.rp-label{color:rgba(0,0,0,.48);margin:0;font-size:13px}@media (prefers-color-scheme:dark){.rp-label{color:rgba(255,255,255,.48)}}.rp-progress-wrap{align-items:center;gap:8px;width:200px;display:flex}.rp-progress-bar{background:rgba(0,0,0,.08);border-radius:2px;flex:1;height:3px;overflow:hidden}@media (prefers-color-scheme:dark){.rp-progress-bar{background:rgba(255,255,255,.1)}}.rp-progress-fill{background:#1d1d1f;border-radius:2px;height:100%}@media (prefers-color-scheme:dark){.rp-progress-fill{background:rgba(255,255,255,.8)}}.rp-progress-pct{text-align:right;color:rgba(0,0,0,.48);min-width:32px;font-size:11px}@media (prefers-color-scheme:dark){.rp-progress-pct{color:rgba(255,255,255,.48)}}.rp-error-title{color:#1d1d1f;margin:0;font-size:18px;font-weight:600}@media (prefers-color-scheme:dark){.rp-error-title{color:#f5f5f7}}.rp-error-msg{color:rgba(0,0,0,.48);text-align:center;margin:0;font-size:13px}@media (prefers-color-scheme:dark){.rp-error-msg{color:rgba(255,255,255,.48)}}.rp-back-btn{color:#1d1d1f;cursor:pointer;background:#f5f5f7;border:none;border-radius:8px;margin-top:8px;padding:8px 16px;font-size:14px}@media (prefers-color-scheme:dark){.rp-back-btn{color:#f5f5f7;background:#272729}}.counter{color:var(--accent);background:var(--accent-bg);border:2px solid transparent;border-radius:5px;margin-bottom:24px;padding:5px 10px;font-size:16px;transition:border-color .3s}.counter:hover{border-color:var(--accent-border)}.counter:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.hero{position:relative}.hero .base{margin:0 auto;left:0;right:0}.hero .framework{margin:0 auto;left:0;right:0}.hero .vite{margin:0 auto;left:0;right:0}.hero .base{z-index:0;width:170px;position:relative}.hero .framework{position:absolute}.hero .vite{position:absolute}.hero .framework{z-index:1;height:28px;top:34px;transform:perspective(2000px)rotate(300deg)rotateX(44deg)rotateY(39deg)scale(1.4)}.hero .vite{z-index:0;width:auto;height:26px;top:107px;transform:perspective(2000px)rotate(300deg)rotateX(40deg)rotateY(39deg)scale(.8)}#center{flex-direction:column;flex-grow:1;place-content:center;place-items:center;gap:25px;display:flex}@media (max-width:1024px){#center{gap:18px;padding:32px 20px 24px}}#next-steps{border-top:1px solid var(--border);text-align:left;display:flex}#next-steps>div{flex:1 1 0;padding:32px}@media (max-width:1024px){#next-steps>div{padding:24px 20px}}#next-steps .icon{width:22px;height:22px;margin-bottom:16px}@media (max-width:1024px){#next-steps{text-align:center;flex-direction:column}}#docs{border-right:1px solid var(--border)}@media (max-width:1024px){#docs{border-right:none;border-bottom:1px solid var(--border)}}#next-steps ul{gap:8px;margin:32px 0 0;padding:0;list-style:none;display:flex}#next-steps ul .logo{height:18px}#next-steps ul a{color:var(--text-h);background:var(--social-bg);border-radius:6px;align-items:center;gap:8px;padding:6px 12px;font-size:16px;text-decoration:none;transition:box-shadow .3s;display:flex}#next-steps ul a:hover{box-shadow:var(--shadow)}#next-steps ul a .button-icon{width:18px;height:18px}@media (max-width:1024px){#next-steps ul{flex-wrap:wrap;justify-content:center;margin-top:20px}#next-steps ul li{flex:calc(50% - 8px)}#next-steps ul a{box-sizing:border-box;justify-content:center;width:100%}}#spacer{border-top:1px solid var(--border);height:88px}@media (max-width:1024px){#spacer{height:48px}}.ticks{width:100%;position:relative}.ticks:before{content:"";border:5px solid transparent;position:absolute;top:-4.5px}.ticks:after{content:"";border:5px solid transparent;position:absolute;top:-4.5px}.ticks:before{border-left-color:var(--border);left:0}.ticks:after{border-right-color:var(--border);right:0}
