.menu-wrap.svelte-xor8bs{z-index:4;opacity:0;transition:opacity .15s var(--ease);position:absolute;top:.35rem;right:.35rem}.menu-wrap.open.svelte-xor8bs{z-index:20;opacity:1}@media (hover:none){.menu-wrap.svelte-xor8bs{opacity:1}}.icon-btn.svelte-xor8bs{background:color-mix(in srgb, var(--bg-elevated) 88%, transparent);-webkit-backdrop-filter:blur(6px);width:2.25rem;height:2.25rem;color:var(--text);border-radius:999px;place-items:center;display:grid}.icon-btn.svelte-xor8bs:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.menu.svelte-xor8bs{z-index:20;min-width:11rem;animation:svelte-xor8bs-pop .16s var(--ease);flex-direction:column;padding:.35rem;display:flex}@keyframes svelte-xor8bs-pop{0%{opacity:0;transform:translateY(-4px)}}.menu.svelte-xor8bs .item:where(.svelte-xor8bs){text-align:left;min-height:2.5rem;color:var(--text);white-space:nowrap;border-radius:6px;align-items:center;gap:.45rem;padding:0 .65rem;font-size:.85rem;display:flex}.menu.svelte-xor8bs .item:where(.svelte-xor8bs)>svg{color:var(--text-muted);flex:none}.menu.svelte-xor8bs .item.danger:where(.svelte-xor8bs)>svg{color:currentColor}.menu.svelte-xor8bs .item:where(.svelte-xor8bs):hover,.menu.svelte-xor8bs .item:where(.svelte-xor8bs):focus-visible{background:var(--accent-soft);outline:none}.menu.svelte-xor8bs .item.danger:where(.svelte-xor8bs){color:var(--danger)}.bc-slot{grid-row:span 2;grid-template-rows:subgrid;min-width:0;display:grid}.bc-stand{z-index:1;aspect-ratio:2/3;align-items:flex-end;display:flex;position:relative}.bc-book{border-radius:var(--radius-book);width:100%;height:100%;position:relative}.bc-cover{border-radius:inherit;width:100%;height:100%;box-shadow:0 1px 2px color-mix(in srgb, var(--shelf-shadow) 60%, transparent), 0 10px 20px -14px var(--shelf-shadow)}.bc-chip{border-radius:var(--radius-pill);background:color-mix(in srgb, var(--bg-elevated) 92%, transparent);color:var(--text-muted);white-space:nowrap;padding:.15rem .55rem;font-size:.7rem;position:absolute;bottom:.6rem;left:50%;transform:translate(-50%)}.bc-label{min-width:0;margin-top:1px;padding:1.4rem 0 .25rem}.bc-title{font-family:var(--font-serif);color:var(--text);-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;font-size:.92rem;line-height:1.4;display:-webkit-box;overflow:hidden}.bc-small{font-size:.76rem}.bc-status-line{color:var(--accent);margin-top:.4rem}.bc-bar{margin-top:.5rem}.shelf.video .bc-slot.svelte-a9tmc1{scroll-snap-align:start}.shelf.video .bc-stand.svelte-a9tmc1{aspect-ratio:16/9}.shelf.video .bc-book.svelte-a9tmc1{border-radius:var(--radius)}.shelf.video .bc-cover.svelte-a9tmc1:before{display:none}.shelf.video .cloth.svelte-a9tmc1{padding:.75rem 1rem}.shelf.video .cloth-title.svelte-a9tmc1{-webkit-line-clamp:2;line-clamp:2}.bc-book.svelte-a9tmc1{transition:transform var(--dur-slow) var(--ease)}.bc-cover.svelte-a9tmc1{background:var(--cloth);transition:box-shadow var(--dur-slow) var(--ease);position:relative;overflow:hidden}.bc-cover.svelte-a9tmc1:before{content:"";z-index:1;pointer-events:none;background:linear-gradient(90deg,#00000024,#ffffff14 60%,#0000);width:6%;position:absolute;inset:0 auto 0 0}.bc-cover.svelte-a9tmc1 img:where(.svelte-a9tmc1){object-fit:cover;width:100%;height:100%;display:block}.cloth.svelte-a9tmc1{text-align:center;color:#ffffffe6;flex-direction:column;justify-content:center;align-items:center;gap:.5rem;height:100%;padding:1rem .8rem 1rem 1rem;display:flex}.cloth-title.svelte-a9tmc1{font-family:var(--font-serif);-webkit-line-clamp:4;line-clamp:4;overflow-wrap:anywhere;-webkit-box-orient:vertical;font-size:clamp(.85rem,1.6vw,1rem);line-height:1.35;display:-webkit-box;overflow:hidden}.cloth-author.svelte-a9tmc1{opacity:.75;font-size:.7rem}.bc-chip.svelte-a9tmc1{z-index:2}.bc-chip.bad.svelte-a9tmc1{color:var(--danger)}.done.svelte-a9tmc1{z-index:2;background:var(--accent);width:1.5rem;height:1.5rem;color:var(--bg-elevated);box-shadow:0 0 0 2px var(--bg-elevated);border-radius:50%;place-items:center;display:grid;position:absolute;top:.5rem;right:.5rem}.cover-link.svelte-a9tmc1{z-index:3;border-radius:inherit;position:absolute;inset:0}.cover-link.svelte-a9tmc1:focus-visible{outline:2px solid var(--accent);outline-offset:3px}.bc-slot.svelte-a9tmc1:hover .bc-book:where(.svelte-a9tmc1),.bc-slot.svelte-a9tmc1:focus-within .bc-book:where(.svelte-a9tmc1){transform:translateY(-8px)rotate(-1.5deg)}.shelf.video .bc-slot.svelte-a9tmc1:hover .bc-book:where(.svelte-a9tmc1),.shelf.video .bc-slot.svelte-a9tmc1:focus-within .bc-book:where(.svelte-a9tmc1){transform:translateY(-4px)}.bc-slot.svelte-a9tmc1:hover .bc-cover:where(.svelte-a9tmc1){box-shadow:0 1px 2px color-mix(in srgb, var(--shelf-shadow) 60%, transparent), 0 16px 26px -16px var(--shelf-shadow)}.bc-slot.dim.svelte-a9tmc1 .bc-cover:where(.svelte-a9tmc1){filter:saturate(.4);opacity:.8}.author.svelte-a9tmc1{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.meta.svelte-a9tmc1{font-variant-numeric:tabular-nums;align-items:center;gap:.5rem;margin-top:.3rem;display:flex}.coverage.svelte-a9tmc1{color:var(--text-muted);font-variant-numeric:tabular-nums;margin-top:.2rem}.coverage.svelte-a9tmc1 strong:where(.svelte-a9tmc1){color:var(--accent);font-weight:600}.mini-bar.svelte-a9tmc1{flex:none;width:2.5rem}.error.svelte-a9tmc1{color:var(--danger);margin-top:.4rem;line-height:1.4}.warn.svelte-a9tmc1{margin-top:.4rem;line-height:1.4}.retry.svelte-a9tmc1{margin-top:.5rem;padding:.4em .85em;font-size:.8rem}.bc-slot.svelte-a9tmc1:hover .menu-wrap,.bc-slot.svelte-a9tmc1:focus-within .menu-wrap{opacity:1}@media (hover:none){.bc-slot.svelte-a9tmc1:hover .bc-book:where(.svelte-a9tmc1),.bc-slot.svelte-a9tmc1:focus-within .bc-book:where(.svelte-a9tmc1),.shelf.video .bc-slot.svelte-a9tmc1:hover .bc-book:where(.svelte-a9tmc1),.shelf.video .bc-slot.svelte-a9tmc1:focus-within .bc-book:where(.svelte-a9tmc1){transform:none}}@media (prefers-reduced-motion:reduce){.bc-slot.svelte-a9tmc1:hover .bc-book:where(.svelte-a9tmc1),.bc-slot.svelte-a9tmc1:focus-within .bc-book:where(.svelte-a9tmc1),.shelf.video .bc-slot.svelte-a9tmc1:hover .bc-book:where(.svelte-a9tmc1),.shelf.video .bc-slot.svelte-a9tmc1:focus-within .bc-book:where(.svelte-a9tmc1){transform:none}}.group-dialog.svelte-12gapj{width:min(26rem,100vw - 2rem);color:var(--text);padding:1.25rem}.group-dialog.svelte-12gapj::backdrop{background:#00000059}.group-dialog.svelte-12gapj h2:where(.svelte-12gapj){margin:0 0 .5rem;font-size:1.05rem}.error.svelte-12gapj{color:var(--danger);margin:.75rem 0 0;font-size:.85rem}.field.svelte-12gapj{gap:.35rem;margin:1rem 0;font-size:.9rem;display:grid}.name-input.svelte-12gapj{border:1px solid var(--border);border-radius:var(--radius);background:var(--bg-elevated);color:var(--text);font:inherit;padding:.5rem .65rem}.actions.svelte-12gapj{justify-content:flex-end;gap:.5rem;display:flex}.actions.svelte-12gapj .btn:where(.svelte-12gapj):disabled{opacity:.5}.move-dialog.svelte-1s45hp4{width:min(26rem,100vw - 2rem);color:var(--text);padding:1.25rem}.move-dialog.svelte-1s45hp4::backdrop{background:#00000059}.move-dialog.svelte-1s45hp4 h2:where(.svelte-1s45hp4){margin:0 0 .5rem;font-size:1.05rem}.move-field.svelte-1s45hp4{gap:.35rem;margin:1rem 0;font-size:.9rem;display:grid}.error.svelte-1s45hp4{color:var(--danger);margin:.75rem 0 0;font-size:.85rem}.move-actions.svelte-1s45hp4{justify-content:flex-end;gap:.5rem;display:flex}.move-actions.svelte-1s45hp4 .btn:where(.svelte-1s45hp4):disabled{opacity:.5}.group-edit-dialog.svelte-dfx69v{width:min(26rem,100vw - 2rem);padding:var(--space-5);color:var(--text);animation:svelte-dfx69v-pop var(--dur) var(--ease)}.group-edit-dialog.svelte-dfx69v::backdrop{background:#00000059}@keyframes svelte-dfx69v-pop{0%{opacity:0;transform:translateY(6px)scale(.98)}}.head.svelte-dfx69v{align-items:flex-start;gap:var(--space-3);display:flex}.head.svelte-dfx69v h2:where(.svelte-dfx69v){margin:.15rem 0 .25rem;font-size:1.05rem}.head.svelte-dfx69v p:where(.svelte-dfx69v){margin:0}.field.svelte-dfx69v{margin:var(--space-5) 0 0;gap:.35rem;font-size:.9rem;display:grid}.field-head.svelte-dfx69v{justify-content:space-between;align-items:baseline;display:flex}.count.svelte-dfx69v{font-variant-numeric:tabular-nums;font-size:.78rem}.count.full.svelte-dfx69v{color:var(--accent)}.name-input.svelte-dfx69v{border:1px solid var(--border);border-radius:var(--radius);background:var(--bg);color:var(--text);font:inherit;transition:border-color var(--dur) var(--ease), box-shadow var(--dur) var(--ease);padding:.6rem .75rem;font-size:1rem}.name-input.svelte-dfx69v:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft);outline:none}.name-input.invalid.svelte-dfx69v{border-color:var(--danger)}.error.svelte-dfx69v{margin:var(--space-2) 0 0;color:var(--danger);font-size:.85rem}.actions.svelte-dfx69v{justify-content:flex-end;gap:var(--space-2);margin-top:var(--space-5);display:flex}.actions.svelte-dfx69v .btn:where(.svelte-dfx69v):disabled{opacity:.5}.actions.svelte-dfx69v .btn.danger:where(.svelte-dfx69v){background:var(--danger);color:#fff}.icon-circle.danger.svelte-dfx69v{background:color-mix(in srgb, var(--danger) 14%, transparent);color:var(--danger);box-shadow:none}.skeleton.svelte-ndgpl5{background:linear-gradient(100deg, var(--accent-soft) 30%, var(--accent-tint) 50%, var(--accent-soft) 70%) 100% 0 / 300% 100%;animation:1.6s linear infinite svelte-ndgpl5-shimmer}@keyframes svelte-ndgpl5-shimmer{to{background-position:0 0}}.bc-title.svelte-ndgpl5{overflow-wrap:anywhere}@media (prefers-reduced-motion:reduce){.skeleton.svelte-ndgpl5{animation:none}}.head.svelte-18uebb6{justify-content:space-between;align-items:flex-end;gap:1rem;margin-bottom:2rem;display:flex}.head-main.svelte-18uebb6{flex:1;min-width:0}.title-row.svelte-18uebb6{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.5rem 1rem;display:flex}.sub.svelte-18uebb6{margin:.25rem 0 0;font-size:.82rem}.import.svelte-18uebb6{box-shadow:var(--shadow-accent);flex:none}.import.svelte-18uebb6 svg{transition:transform var(--dur-slow) var(--ease)}.spinner.svelte-18uebb6{border:2px solid color-mix(in srgb, currentColor 30%, transparent);border-top-color:currentColor;border-radius:50%;width:1em;height:1em;animation:.8s linear infinite svelte-18uebb6-spin}@keyframes svelte-18uebb6-spin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion:reduce){.spinner.svelte-18uebb6{animation:none}}.import.svelte-18uebb6:hover svg{transform:rotate(90deg)}.visually-hidden.svelte-18uebb6{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.continue.svelte-18uebb6{max-width:40rem;transition:transform var(--dur-slow) var(--ease), box-shadow var(--dur-slow) var(--ease);align-items:center;gap:clamp(1rem,3vw,1.75rem);margin:-.5rem 0 clamp(2rem,5vw,3rem);padding:clamp(1rem,2.5vw,1.4rem) clamp(1rem,3vw,1.75rem);display:flex}.continue.svelte-18uebb6:hover{box-shadow:var(--shadow), var(--shadow-lift);transform:translateY(-2px)}.continue.svelte-18uebb6:focus-visible{outline:2px solid var(--accent);outline-offset:3px}.continue-cover.svelte-18uebb6{aspect-ratio:2/3;border-radius:var(--radius-book);background:var(--cloth);width:clamp(3.75rem,9vw,4.75rem);box-shadow:0 8px 18px -10px var(--shelf-shadow);transition:transform var(--dur-slow) var(--ease);flex:none;overflow:hidden;transform:rotate(-4deg)}.continue-cover.video.svelte-18uebb6{aspect-ratio:16/9;border-radius:var(--radius);width:clamp(6.5rem,16vw,8.5rem);transform:rotate(-2deg)}.continue.svelte-18uebb6:hover .continue-cover:where(.svelte-18uebb6){transform:rotate(0)scale(1.04)}.continue-cover.svelte-18uebb6 img:where(.svelte-18uebb6){object-fit:cover;width:100%;height:100%;display:block}.continue-cloth.svelte-18uebb6{color:#ffffffe6;height:100%;font-family:var(--font-serif);text-align:center;place-items:center;padding:.3rem;font-size:.6rem;line-height:1.2;display:grid;overflow:hidden}.continue-body.svelte-18uebb6{flex:1;gap:.15rem;min-width:0;display:grid}.continue-title.svelte-18uebb6{font-family:var(--font-serif);text-overflow:ellipsis;white-space:nowrap;font-size:clamp(1.1rem,2.4vw,1.3rem);line-height:1.3;overflow:hidden}.continue-author.svelte-18uebb6{color:var(--text-muted);text-overflow:ellipsis;white-space:nowrap;font-size:.8rem;overflow:hidden}.continue-progress.svelte-18uebb6{align-items:center;gap:.65rem;margin-top:.55rem;display:flex}.continue-track.svelte-18uebb6{flex:1;max-width:14rem}.continue-pct.svelte-18uebb6{color:var(--text-muted);font-variant-numeric:tabular-nums;flex:none;font-size:.78rem}.continue.svelte-18uebb6:hover .continue-go:where(.svelte-18uebb6){transform:translate(3px)rotate(-8deg)}.bookcase.svelte-18uebb6{--gap:clamp(1.1rem, 3.5vw, 2.5rem)}.shelf.svelte-18uebb6{grid-template-columns:repeat(var(--cols), minmax(0, 1fr));column-gap:var(--gap);grid-template-rows:auto auto;margin:0 0 clamp(1.5rem,4vw,2.5rem);padding:0;list-style:none;display:grid;position:relative}.plank.svelte-18uebb6{grid-row:1/2;grid-column:1 / span var(--span,1);border-radius:var(--radius);background:linear-gradient(var(--accent-tint), color-mix(in srgb, var(--accent) 18%, var(--bg-elevated)));height:22px;box-shadow:inset 0 1px 0 color-mix(in srgb, var(--bg-elevated) 70%, transparent), 0 10px 18px -12px var(--shelf-shadow);pointer-events:none;position:absolute;bottom:-10px;left:-.9rem;right:-.9rem}.shelf.video.svelte-18uebb6 .plank:where(.svelte-18uebb6){display:none}.shelf.video.svelte-18uebb6{grid-template-columns:none;grid-auto-flow:column;grid-auto-columns:calc((100% - var(--gap) * (var(--cols) - 1)) / (var(--cols) + .3));overscroll-behavior-x:contain;scroll-snap-type:x mandatory;scrollbar-width:none;padding-top:6px;overflow-x:auto}.shelf.video.svelte-18uebb6::-webkit-scrollbar{display:none}.shelf.video.svelte-18uebb6[data-dragging],.shelf.video.svelte-18uebb6[data-dragging] *{cursor:grabbing;-webkit-user-select:none;user-select:none}.group.svelte-18uebb6+.group:where(.svelte-18uebb6){margin-top:clamp(.5rem,2vw,1.25rem)}.group-head.svelte-18uebb6{margin:0 0 1.1rem}.public-shelf.svelte-18uebb6{margin-top:var(--space-7)}.public-shelf.svelte-18uebb6 .section-title:where(.svelte-18uebb6){margin:0}.public-shelf.svelte-18uebb6 .sub:where(.svelte-18uebb6){margin-bottom:1.1rem}.public-grid.svelte-18uebb6{grid-template-columns:repeat(5,minmax(0,1fr));gap:clamp(1.25rem,3vw,2rem) clamp(.9rem,2.5vw,1.5rem);margin:0;padding:0;list-style:none;display:grid}@media (width<=900px){.public-grid.svelte-18uebb6{grid-template-columns:repeat(4,minmax(0,1fr))}}@media (width<=720px){.public-grid.svelte-18uebb6{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (width<=480px){.public-grid.svelte-18uebb6{grid-template-columns:repeat(2,minmax(0,1fr))}}.public-item.svelte-18uebb6{text-align:left;width:100%;color:inherit;gap:.3rem;display:grid}.public-item.svelte-18uebb6:focus-visible{outline:2px solid var(--accent);outline-offset:4px;border-radius:var(--radius)}.public-cover.svelte-18uebb6{aspect-ratio:2/3;border-radius:var(--radius);background:var(--cloth);box-shadow:0 1px 2px color-mix(in srgb, var(--shelf-shadow) 60%, transparent), 0 10px 20px -14px var(--shelf-shadow);transition:transform var(--dur-slow) var(--ease);margin-bottom:.45rem;display:block;overflow:hidden}.public-item.svelte-18uebb6:hover .public-cover:where(.svelte-18uebb6){transform:translateY(-3px)}.public-cover.svelte-18uebb6 img:where(.svelte-18uebb6){object-fit:cover;width:100%;height:100%;display:block}.public-cloth.svelte-18uebb6{color:#ffffffe6;height:100%;font-family:var(--font-serif);text-align:center;place-items:center;padding:.75rem;font-size:.85rem;display:grid}.public-name.svelte-18uebb6{font-family:var(--font-serif);-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;font-size:.92rem;line-height:1.4;display:-webkit-box;overflow:hidden}.public-meta.svelte-18uebb6{font-size:.76rem}.public-meta.coverage.svelte-18uebb6{color:var(--accent)}.group-btn.svelte-18uebb6{width:1.75rem;height:1.75rem;color:var(--text-muted);border-radius:999px;place-items:center;display:grid}.group-btn.svelte-18uebb6:hover,.group-btn.svelte-18uebb6:focus-visible{background:var(--accent-soft);color:var(--text);outline:none}.drag-overlay.svelte-18uebb6{z-index:50;background:color-mix(in srgb, var(--bg) 88%, transparent);border:1.5px dashed var(--accent);border-radius:var(--radius-lg);color:var(--accent);pointer-events:none;flex-direction:column;justify-content:center;align-items:center;gap:.75rem;margin:1rem;display:flex;position:fixed;inset:0}.drag-overlay.svelte-18uebb6 p:where(.svelte-18uebb6){font-family:var(--font-serif);margin:0;font-size:1.2rem}.drag-overlay.svelte-18uebb6 .drag-limit:where(.svelte-18uebb6){font-family:var(--font-sans);color:var(--text-muted);font-size:.85rem}
