.import-btn[data-astro-cid-hdiza2e6]{display:flex;align-items:center;gap:var(--space-1);padding:var(--space-1) var(--space-3);border:1px solid var(--border);border-radius:var(--radius);background:var(--bg-card);color:var(--text-secondary);font-family:var(--font-mono);font-size:12px;letter-spacing:.06em;cursor:pointer;transition:all .15s ease;height:32px}.import-btn[data-astro-cid-hdiza2e6]:hover{color:var(--accent-blue);border-color:var(--accent-blue);background:var(--bg-surface)}.meta-editor-overlay[data-astro-cid-jvlrhxjo]{position:fixed;inset:0;background:#0009;display:flex;align-items:center;justify-content:center;z-index:3000}.meta-editor[data-astro-cid-jvlrhxjo]{background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius);width:360px;max-width:90vw}.meta-editor-header[data-astro-cid-jvlrhxjo]{display:flex;align-items:center;justify-content:space-between;padding:var(--space-3) var(--space-4);border-bottom:1px solid var(--border)}.meta-editor-title[data-astro-cid-jvlrhxjo]{font-family:var(--font-mono);font-size:12px;letter-spacing:.06em;color:var(--text-secondary);text-transform:lowercase}.meta-editor-close[data-astro-cid-jvlrhxjo]{display:flex;align-items:center;justify-content:center;width:24px;height:24px;border:1px solid var(--border);border-radius:var(--radius);background:transparent;color:var(--text-muted);cursor:pointer;font-size:12px;transition:all .15s ease}.meta-editor-close[data-astro-cid-jvlrhxjo]:hover{color:var(--accent-red);border-color:var(--accent-red)}.meta-editor-body[data-astro-cid-jvlrhxjo]{padding:var(--space-4);display:flex;flex-direction:column;gap:var(--space-4)}.meta-field[data-astro-cid-jvlrhxjo]{display:flex;flex-direction:column;gap:var(--space-1)}.meta-label[data-astro-cid-jvlrhxjo]{font-family:var(--font-mono);font-size:10px;letter-spacing:.06em;color:var(--text-muted);text-transform:lowercase}.meta-input[data-astro-cid-jvlrhxjo]{width:100%;padding:var(--space-2);border:1px solid var(--border);border-radius:var(--radius);background:var(--bg-card);color:var(--text-primary);font-family:var(--font-sans);font-size:13px;outline:none;transition:all .15s ease;resize:vertical}.meta-input[data-astro-cid-jvlrhxjo]:focus{border-color:var(--accent-blue)}.meta-textarea[data-astro-cid-jvlrhxjo]{min-height:60px}.meta-editor-actions[data-astro-cid-jvlrhxjo]{display:flex;justify-content:space-between;padding:var(--space-3) var(--space-4);border-top:1px solid var(--border)}.meta-btn[data-astro-cid-jvlrhxjo]{padding:var(--space-1) var(--space-4);border:1px solid var(--border);border-radius:var(--radius);background:var(--bg-card);color:var(--text-primary);font-family:var(--font-mono);font-size:12px;letter-spacing:.06em;cursor:pointer;transition:all .15s ease}.meta-btn[data-astro-cid-jvlrhxjo]:hover{border-color:var(--border-strong)}.meta-btn--primary[data-astro-cid-jvlrhxjo]{border-color:var(--accent-blue);color:var(--accent-blue)}.meta-btn--danger[data-astro-cid-jvlrhxjo]{color:var(--accent-red);border-color:transparent}.meta-btn--danger[data-astro-cid-jvlrhxjo]:hover{border-color:var(--accent-red)}.gs-backdrop[data-astro-cid-omnkmagp]{display:none;position:fixed;inset:0;background:#00000080;z-index:3999}.gs-panel[data-astro-cid-omnkmagp]{position:fixed;top:0;right:0;bottom:0;width:360px;max-width:90vw;background:#181a1f;border-left:1px solid var(--border,#30363d);z-index:4000;display:none;flex-direction:column;transform:translate(100%);transition:transform .25s cubic-bezier(.4,0,.2,1);box-shadow:-4px 0 24px #0006}.gs-panel[data-astro-cid-omnkmagp].open{transform:translate(0)}.gs-backdrop[data-astro-cid-omnkmagp].show,.gs-panel[data-astro-cid-omnkmagp].open{display:block}.gs-panel[data-astro-cid-omnkmagp].open{display:flex}.gs-drag-handle[data-astro-cid-omnkmagp]{display:none;width:32px;height:4px;margin:8px auto 0;border-radius:2px;background:#fff3}.gs-header[data-astro-cid-omnkmagp]{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;border-bottom:1px solid var(--border,#30363d)}.gs-title[data-astro-cid-omnkmagp]{font-size:15px;font-weight:600;color:#e5e7eb}.gs-close[data-astro-cid-omnkmagp]{display:flex;align-items:center;justify-content:center;width:28px;height:28px;border:none;border-radius:5px;background:transparent;color:#6b7280;cursor:pointer;font-size:14px;transition:background .15s,color .15s}.gs-close[data-astro-cid-omnkmagp]:hover{background:#ffffff14;color:#e5e7eb}.gs-tabs[data-astro-cid-omnkmagp]{display:flex;border-bottom:1px solid var(--border,#30363d);padding:0 16px;flex-shrink:0}.gs-tab[data-astro-cid-omnkmagp]{padding:8px 14px;border:none;background:transparent;color:#6b7280;font-size:13px;cursor:pointer;border-bottom:2px solid transparent;transition:all .15s;font-family:inherit}.gs-tab[data-astro-cid-omnkmagp]:hover{color:#e5e7eb}.gs-tab[data-astro-cid-omnkmagp].active{color:#60a5fa;border-bottom-color:#60a5fa}.gs-body[data-astro-cid-omnkmagp]{flex:1;overflow-y:auto;padding:16px}.gs-body[data-astro-cid-omnkmagp]::-webkit-scrollbar{width:6px}.gs-body[data-astro-cid-omnkmagp]::-webkit-scrollbar-thumb{background:#ffffff1f;border-radius:3px}.gs-section[data-astro-cid-omnkmagp]{margin-bottom:20px}.gs-section-title[data-astro-cid-omnkmagp]{display:block;font-size:11px;font-family:var(--font-mono,monospace);letter-spacing:.06em;color:#6b7280;text-transform:uppercase;margin-bottom:8px;padding-bottom:6px;border-bottom:1px solid rgba(255,255,255,.06)}.gs-row[data-astro-cid-omnkmagp]{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}.gs-label[data-astro-cid-omnkmagp]{font-size:13px;color:#9ca3af}.gs-desc[data-astro-cid-omnkmagp]{font-size:11px;color:#4b5563;margin-top:4px;line-height:1.5}.gs-hint[data-astro-cid-omnkmagp]{font-size:10px;color:#4b5563;margin-top:4px;font-family:var(--font-mono,monospace)}.gs-theme-grid[data-astro-cid-omnkmagp]{display:flex;gap:6px}.gs-theme-swatch[data-astro-cid-omnkmagp]{display:flex;align-items:center;gap:4px;padding:6px 10px;border:1px solid var(--border,#30363d);border-radius:5px;background:#ffffff0a;color:#9ca3af;cursor:pointer;font-size:12px;font-family:inherit;transition:all .15s}.gs-theme-swatch[data-astro-cid-omnkmagp]:hover{border-color:#4b5563}.gs-theme-swatch[data-astro-cid-omnkmagp].active{border-color:#60a5fa;color:#60a5fa}.gs-swatch-color[data-astro-cid-omnkmagp]{width:16px;height:16px;border-radius:3px;display:block;flex-shrink:0}.gs-textarea[data-astro-cid-omnkmagp]{width:100%;padding:8px 10px;border:1px solid var(--border,#30363d);border-radius:5px;background:#ffffff0a;color:#e5e7eb;font-family:var(--font-mono,monospace);font-size:12px;line-height:1.6;resize:vertical;outline:none}.gs-textarea[data-astro-cid-omnkmagp]:focus{border-color:#60a5fa}.gs-textarea[data-astro-cid-omnkmagp]::placeholder{color:#374151}.gs-input-num[data-astro-cid-omnkmagp]{width:80px;padding:4px 8px;border:1px solid var(--border,#30363d);border-radius:4px;background:#ffffff0a;color:#e5e7eb;font-family:var(--font-mono,monospace);font-size:12px;outline:none;text-align:center}.gs-input-num[data-astro-cid-omnkmagp]:focus{border-color:#60a5fa}.gs-btn-group[data-astro-cid-omnkmagp]{display:flex;gap:2px;background:#ffffff0a;border:1px solid var(--border,#30363d);border-radius:5px;padding:2px}.gs-btn-opt[data-astro-cid-omnkmagp]{padding:4px 16px;border:1px solid transparent;border-radius:3px;background:transparent;color:#9ca3af;cursor:pointer;font-size:13px;font-family:inherit;transition:all .15s}.gs-btn-opt[data-astro-cid-omnkmagp]:hover{color:#e5e7eb}.gs-btn-opt[data-astro-cid-omnkmagp].active{background:#1f2937;border-color:#60a5fa;color:#60a5fa}.gs-toggle[data-astro-cid-omnkmagp]{position:relative;display:inline-block;width:36px;height:20px;cursor:pointer}.gs-toggle[data-astro-cid-omnkmagp] input[data-astro-cid-omnkmagp]{opacity:0;width:0;height:0}.gs-toggle-slider[data-astro-cid-omnkmagp]{position:absolute;inset:0;background:#ffffff0f;border:1px solid var(--border,#30363d);border-radius:10px;transition:all .15s}.gs-toggle-slider[data-astro-cid-omnkmagp]:after{content:"";position:absolute;top:2px;left:2px;width:14px;height:14px;border-radius:50%;background:#6b7280;transition:all .15s}.gs-toggle[data-astro-cid-omnkmagp] input[data-astro-cid-omnkmagp]:checked+.gs-toggle-slider[data-astro-cid-omnkmagp]{background:#2563eb;border-color:#2563eb}.gs-toggle[data-astro-cid-omnkmagp] input[data-astro-cid-omnkmagp]:checked+.gs-toggle-slider[data-astro-cid-omnkmagp]:after{background:#fff;transform:translate(16px)}.gs-about[data-astro-cid-omnkmagp]{font-size:13px;color:#9ca3af;line-height:1.8}.gs-about-meta[data-astro-cid-omnkmagp]{display:flex;gap:16px;margin-top:12px;font-family:var(--font-mono,monospace);font-size:10px;color:#4b5563}.gs-footer[data-astro-cid-omnkmagp]{padding:12px 16px;border-top:1px solid var(--border,#30363d);flex-shrink:0}.gs-btn[data-astro-cid-omnkmagp]{width:100%;padding:8px;border:1px solid var(--border,#30363d);border-radius:5px;background:transparent;color:#9ca3af;font-family:var(--font-mono,monospace);font-size:12px;letter-spacing:.06em;cursor:pointer;transition:all .15s}.gs-btn[data-astro-cid-omnkmagp]:hover{border-color:#4b5563;color:#e5e7eb}.gs-btn--primary[data-astro-cid-omnkmagp]{border-color:#2563eb;color:#60a5fa}.gs-btn--primary[data-astro-cid-omnkmagp]:hover{background:#2563eb1a}@media(max-width:768px){.gs-panel[data-astro-cid-omnkmagp]{width:85vw}.gs-drag-handle[data-astro-cid-omnkmagp]{display:block}}.app{display:flex;flex-direction:column;min-height:100vh;min-height:100dvh;background:var(--bg-base)}.topbar{display:flex;align-items:center;justify-content:space-between;height:44px;padding:0 var(--space-4);background:var(--bg-surface);border-bottom:1px solid var(--border);position:sticky;top:0;z-index:100}.topbar-logo{display:flex;align-items:center;gap:var(--space-2);color:var(--text-primary);text-decoration:none;font-family:var(--font-mono);font-size:16px;letter-spacing:.06em}.topbar-brand{color:var(--accent-blue)}.topbar-actions{display:flex;align-items:center;gap:var(--space-2)}.theme-toggle{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border:1px solid var(--border);border-radius:var(--radius);background:var(--bg-card);color:var(--text-secondary);cursor:pointer;transition:all .15s ease}.theme-toggle:hover{border-color:var(--accent-amber);color:var(--accent-amber)}.theme-toggle .theme-icon-light{display:none}.theme-toggle .theme-icon-dark,[data-theme=light] .theme-toggle .theme-icon-light{display:block}[data-theme=light] .theme-toggle .theme-icon-dark{display:none}.drop-overlay{position:fixed;inset:0;background:#000000b3;z-index:2000;display:flex;align-items:center;justify-content:center}.drop-hint{display:flex;flex-direction:column;align-items:center;gap:var(--space-4);color:var(--accent-blue);font-family:var(--font-mono);font-size:16px;letter-spacing:.06em}.shelf{flex:1;padding:var(--space-6);max-width:1200px;margin:0 auto;width:100%}.shelf-section{margin-bottom:var(--space-8)}.shelf-heading{font-family:var(--font-mono);font-size:13px;letter-spacing:.06em;color:var(--text-secondary);text-transform:lowercase;margin-bottom:var(--space-4)}.shelf-grid{display:grid;gap:var(--space-4);grid-template-columns:repeat(auto-fill,minmax(160px,1fr))}[data-shelf-size=small] .shelf-grid{grid-template-columns:repeat(auto-fill,minmax(120px,1fr))}[data-shelf-size=small] .book-title{font-size:12px}[data-shelf-size=small] .book-info{padding:var(--space-2);gap:2px}[data-shelf-size=small] .book-cover-letter{font-size:32px}[data-shelf-size=small] .book-meta,[data-shelf-size=small] .book-progress-text{font-size:9px}[data-shelf-size=medium] .shelf-grid{grid-template-columns:repeat(auto-fill,minmax(160px,1fr))}[data-shelf-size=large] .shelf-grid{grid-template-columns:repeat(auto-fill,minmax(220px,1fr))}[data-shelf-size=large] .book-title{font-size:16px}[data-shelf-size=large] .book-info{padding:var(--space-4);gap:var(--space-2)}[data-shelf-size=large] .book-cover-letter{font-size:64px}[data-shelf-size=large] .book-meta,[data-shelf-size=large] .book-progress-text{font-size:12px}.shelf-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--space-4);padding:var(--space-8);color:var(--text-muted);text-align:center}.shelf-empty-text{font-family:var(--font-mono);font-size:14px;letter-spacing:.06em}.shelf-empty-hint{font-family:var(--font-mono);font-size:11px;opacity:.5}.reader-toast{position:fixed;top:52px;left:50%;transform:translate(-50%) translateY(-10px);padding:var(--space-2) var(--space-4);background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius);font-family:var(--font-mono);font-size:12px;letter-spacing:.06em;color:var(--text-primary);z-index:4000;opacity:0;transition:all .2s ease;pointer-events:none}.reader-toast--visible{opacity:1;transform:translate(-50%) translateY(0)}.reader-toast--error{border-color:var(--accent-red);color:var(--accent-red)}.reader-toast--success{border-color:var(--accent-green);color:var(--accent-green)}.book-card{border:1px solid var(--border);border-radius:var(--radius);background:var(--bg-card);overflow:hidden;transition:all .15s ease;contain:layout style}.book-card:hover{transform:translateY(-4px);box-shadow:0 8px 24px #0000004d;border-color:var(--border-strong)}.book-card-link{text-decoration:none;color:inherit;display:flex;flex-direction:column}.book-cover{width:100%;aspect-ratio:3 / 2;overflow:hidden;background:var(--bg-surface)}.book-cover img{width:100%;height:100%;object-fit:cover}.book-cover-placeholder{width:100%;height:100%;display:flex;align-items:center;justify-content:center}.book-cover-letter{font-family:var(--font-serif);font-size:48px;color:#ffffff80;user-select:none}.book-info{padding:var(--space-3);display:flex;flex-direction:column;gap:var(--space-1)}.book-title{font-size:14px;font-weight:600;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.book-meta{display:flex;align-items:center;justify-content:space-between;font-family:var(--font-mono);font-size:10px;color:var(--text-muted);letter-spacing:.06em}.book-format{padding:1px var(--space-1);border:1px solid var(--border);border-radius:calc(var(--radius) - 2px);font-size:9px}.book-progress{display:flex;align-items:center;gap:var(--space-2);margin-top:var(--space-1)}.book-progress-bar{flex:1;height:3px;background:var(--border);border-radius:2px;overflow:hidden}.book-progress-fill{height:100%;background:var(--accent-green);border-radius:2px;transition:width .3s ease}.book-progress-text{font-family:var(--font-mono);font-size:10px;color:var(--text-muted);letter-spacing:.06em}
