:root{--cs-font-sans:"Noticia Text", Georgia, "Times New Roman", serif;--cs-bg:#faf9f7;--cs-surface:#fff;--cs-text:#1a1a1a;--cs-text-muted:#6b7280;--cs-border:#e5e5e5;--cs-input-border:#d1d5db;--cs-accent:#6366a0;--cs-accent-hover:#555888;--cs-accent-soft:#f0f0f6;--cs-link:#7a7db3;--cs-danger:#b91c1c;--cs-danger-bg:#fef2f2;--cs-danger-border:#fecaca;--cs-star:#f59e0b;--cs-radius-card:12px;--cs-radius-control:8px;--cs-shadow-soft:0 1px 4px #0000000a;--cs-shadow-hover:0 4px 16px #0000001a;--cs-cover-radius:4px;--cs-cover-ratio:2 / 3;--cs-grid-min:200px;--cs-grid-max:1fr;--cs-space-section:1.5rem;--cs-nav-padding-y:.75rem;--cs-nav-padding-x:1.5rem;--cs-main-padding-y:2rem;--cs-main-padding-x:1.5rem;--cs-section-heading:1.35rem;--cs-page-title:1.85rem}body[data-density=compact]{--cs-grid-min:160px;--cs-space-section:.65rem;--cs-radius-card:8px;--cs-nav-padding-y:.35rem;--cs-nav-padding-x:.75rem;--cs-main-padding-y:.85rem;--cs-main-padding-x:.75rem;--cs-section-heading:1.05rem;--cs-page-title:1.4rem}body[data-density=regular]{--cs-grid-min:200px;--cs-space-section:1.5rem;--cs-radius-card:12px;--cs-nav-padding-y:.75rem;--cs-nav-padding-x:1.5rem;--cs-main-padding-y:2rem;--cs-main-padding-x:1.5rem;--cs-section-heading:1.35rem;--cs-page-title:1.85rem}body[data-density=large]{--cs-grid-min:300px;--cs-grid-max:360px;--cs-space-section:2.5rem;--cs-radius-card:16px;--cs-radius-control:10px;--cs-nav-padding-y:1.1rem;--cs-nav-padding-x:2rem;--cs-main-padding-y:3rem;--cs-main-padding-x:2rem;--cs-section-heading:1.85rem;--cs-page-title:2.75rem;--cs-cover-ratio:2 / 3;letter-spacing:.005em;line-height:1.55}*,:before,:after{box-sizing:border-box}.user-menu.svelte-1d76zbb{position:relative}.user-menu-trigger.svelte-1d76zbb{border:1px solid var(--cs-border);background:var(--cs-surface);cursor:pointer;font:inherit;color:var(--cs-text);border-radius:999px;align-items:center;gap:.5rem;max-width:min(220px,48vw);padding:.25rem .6rem .25rem .25rem;transition:box-shadow .15s,border-color .15s;display:inline-flex}.user-menu-trigger.svelte-1d76zbb:hover{box-shadow:var(--cs-shadow-soft);border-color:#d1d5db}.user-menu-trigger.svelte-1d76zbb:focus-visible{border-color:var(--cs-accent);outline:none;box-shadow:0 0 0 3px #4f46e526}.user-menu-avatar.svelte-1d76zbb{object-fit:cover;border:1px solid var(--cs-border);border-radius:50%;flex-shrink:0;width:32px;height:32px}.user-menu-avatar-fallback.svelte-1d76zbb{background:linear-gradient(135deg, var(--cs-accent-soft) 0%, #e8eafd 100%);color:var(--cs-accent);letter-spacing:-.02em;justify-content:center;align-items:center;font-size:.72rem;font-weight:700;display:flex}.user-menu-label.svelte-1d76zbb{min-width:0;color:var(--cs-text);text-overflow:ellipsis;white-space:nowrap;text-align:left;flex:1;font-size:.85rem;font-weight:600;line-height:1.25;overflow:hidden}.user-menu-chevron.svelte-1d76zbb{color:var(--cs-text-muted);flex-shrink:0;transition:transform .15s;display:flex}.user-menu-chevron.open.svelte-1d76zbb{transform:rotate(180deg)}.user-menu-panel.svelte-1d76zbb{border-radius:var(--cs-radius-control);background:var(--cs-surface);border:1px solid var(--cs-border);z-index:140;min-width:14rem;padding:.35rem;position:absolute;top:calc(100% + 6px);right:0;box-shadow:0 10px 32px #0f172a1f}.user-menu-identity.svelte-1d76zbb{color:var(--cs-text-muted);word-break:break-word;border-bottom:1px solid var(--cs-border);margin:0 0 .3rem;padding:.5rem .65rem .4rem;font-size:.75rem;line-height:1.35}.user-menu-link.svelte-1d76zbb{color:var(--cs-text);border-radius:6px;align-items:center;padding:.52rem .65rem;font-size:.85rem;font-weight:500;text-decoration:none;transition:background .12s;display:flex}.user-menu-link.svelte-1d76zbb:hover,.user-menu-link.svelte-1d76zbb:focus-visible{background:var(--cs-accent-soft);outline:none}.user-menu-logout.svelte-1d76zbb{color:var(--cs-danger);font-weight:600}.user-menu-logout.svelte-1d76zbb:hover,.user-menu-logout.svelte-1d76zbb:focus-visible{background:var(--cs-danger-bg)}body{font-family:var(--cs-font-sans);background:var(--cs-bg);color:var(--cs-text);margin:0}.app-nav.svelte-12qhfyh{padding:var(--cs-nav-padding-y) var(--cs-nav-padding-x);background:var(--cs-surface);border-bottom:1px solid var(--cs-border);z-index:100;justify-content:space-between;align-items:center;gap:.75rem;display:flex;position:sticky;top:0}.brand.svelte-12qhfyh{color:var(--cs-text);letter-spacing:-.01em;font-size:1.15rem;font-weight:700;text-decoration:none}.brand.svelte-12qhfyh:hover{color:var(--cs-accent)}.nav-links.svelte-12qhfyh{align-items:center;gap:.65rem;display:flex}.add-book-btn.svelte-12qhfyh{color:#fff;background:var(--cs-accent);height:2.5rem;box-shadow:var(--cs-shadow-soft);border:1px solid color-mix(in srgb, var(--cs-accent-hover) 35%, transparent);border-radius:999px;align-items:center;gap:.4rem;padding:0 1.05rem;font-size:.88rem;font-weight:700;text-decoration:none;transition:transform .12s,background .12s,box-shadow .12s;display:inline-flex}.add-icon.svelte-12qhfyh{transition:transform .35s cubic-bezier(.34,1.4,.64,1);display:inline-flex}.add-book-btn.svelte-12qhfyh:hover .add-icon:where(.svelte-12qhfyh){transform:rotate(90deg)}.add-book-btn.svelte-12qhfyh:hover{background:var(--cs-accent-hover);box-shadow:var(--cs-shadow-hover);transform:translateY(-1px)scale(1.02)}.add-book-btn.svelte-12qhfyh:focus-visible{box-shadow:0 0 0 3px color-mix(in srgb, var(--cs-accent) 32%, transparent);outline:none}.app-main.svelte-12qhfyh{max-width:1200px;padding:var(--cs-main-padding-y) var(--cs-main-padding-x);margin:0 auto}.add-book-fab.svelte-12qhfyh{z-index:130;background:var(--cs-accent);color:#fff;cursor:pointer;border:none;border-radius:50%;justify-content:center;align-items:center;width:3.35rem;height:3.35rem;text-decoration:none;transition:transform .15s,background .15s;display:none;position:fixed;bottom:1.15rem;right:1.15rem;box-shadow:0 8px 28px #0f172a38}.add-book-fab.svelte-12qhfyh:hover{background:var(--cs-accent-hover);transform:scale(1.06)}.add-book-fab.svelte-12qhfyh:hover .add-icon:where(.svelte-12qhfyh){transform:rotate(90deg)}@media (width<=640px){.add-book-btn.svelte-12qhfyh{display:none}.add-book-fab.svelte-12qhfyh{display:flex}}
