.app-loading[data-v-43824686]{min-height:100vh;display:flex;align-items:center;justify-content:center;background:linear-gradient(180deg,#faf5ff,#fdf2f8,#fff7ed)}.app-loading-text[data-v-43824686]{font-size:1.15rem;font-weight:600;color:#7c3aed;margin:0}.app[data-v-43824686]{min-height:100vh;position:relative;overflow-x:hidden;padding-bottom:3rem}.deco[data-v-43824686]{position:fixed;font-size:1.8rem;opacity:.25;pointer-events:none;-webkit-user-select:none;user-select:none}.deco--book[data-v-43824686]{top:2rem;left:2rem}.deco--butterfly-l[data-v-43824686]{top:55%;left:1.5rem;font-size:1.4rem}.deco--butterfly-r[data-v-43824686]{top:40%;right:1.5rem}.deco--star-tl[data-v-43824686]{top:1rem;right:3rem;font-size:1.2rem}.header[data-v-43824686]{text-align:center;padding:3rem 1rem 1.5rem}.header-top[data-v-43824686]{display:flex;justify-content:flex-end;max-width:660px;margin:0 auto;padding:0 .25rem .5rem;min-height:2.25rem}.auth-bar[data-v-43824686]{display:flex;align-items:center;gap:.65rem;flex-wrap:wrap;justify-content:flex-end}.auth-user[data-v-43824686]{font-size:.85rem;font-weight:600;color:#a57cbe;max-width:14rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.auth-btn[data-v-43824686]{padding:.35rem 1rem;border-radius:50px;border:2px solid #7c3aed;background:#fff;color:#7c3aed;font-size:.85rem;font-weight:600;cursor:pointer;transition:background .15s,color .15s}.auth-btn[data-v-43824686]:hover{background:#f5f0ff}.app-title[data-v-43824686]{font-family:Pacifico,cursive;font-size:clamp(1.8rem,5vw,2.8rem);color:#7c3aed;line-height:1.2;margin-bottom:.5rem;letter-spacing:.01em}.app-subtitle[data-v-43824686]{font-size:1rem;color:#a57cbe;font-weight:600}.nav[data-v-43824686]{display:flex;justify-content:center;gap:.75rem;padding:.75rem 1rem 0}.nav-tab[data-v-43824686]{padding:.45rem 1.4rem;border-radius:50px;border:2px solid #7c3aed;color:#7c3aed;font-size:1rem;text-decoration:none;transition:background .15s,color .15s}.nav-tab[data-v-43824686]:hover{background:#f5f0ff}.nav-tab.router-link-active[data-v-43824686]{background:linear-gradient(90deg,#7c3aed,#ec4899);border-color:transparent;color:#fff}.main[data-v-43824686]{max-width:660px;margin:0 auto;padding:1.25rem 1.25rem 0}.footer[data-v-43824686]{display:flex;flex-direction:column;align-items:center;gap:.5rem;padding:2rem 1rem 1.5rem}.footer-decos[data-v-43824686]{display:flex;justify-content:center;gap:1.5rem;font-size:1.1rem;opacity:.45}.footer-decos span[data-v-43824686]{pointer-events:none;-webkit-user-select:none;user-select:none}.footer-link[data-v-43824686]{font-size:.8rem;font-weight:600;color:#a57cbe;text-decoration:none;letter-spacing:.02em;transition:color .15s}.footer-link[data-v-43824686]:hover{color:#7c3aed;text-decoration:underline}@media (max-width: 480px){.deco--butterfly-l[data-v-43824686],.deco--butterfly-r[data-v-43824686]{display:none}.header[data-v-43824686]{padding-top:1.5rem}}.home[data-v-705ca12a]{text-align:center;padding:1rem 0 2rem}.home-lead[data-v-705ca12a]{font-size:1.05rem;line-height:1.55;color:#5b4b6b;margin:0 0 1.5rem}.home-cta[data-v-705ca12a]{padding:.65rem 2rem;border-radius:50px;border:none;background:linear-gradient(90deg,#7c3aed,#ec4899);color:#fff;font-size:1rem;font-weight:700;cursor:pointer;box-shadow:0 4px 14px #7c3aed59;transition:transform .12s,box-shadow .12s}.home-cta[data-v-705ca12a]:hover{transform:translateY(-1px);box-shadow:0 6px 18px #7c3aed73}.dp-wrapper[data-v-1eba84b0]{position:relative}.dp-input[data-v-1eba84b0]{width:100%;padding:.75rem 1rem;border-radius:50px;border:2px solid #fde68a;background:#fffbeb;color:#4a2060;font-size:1rem;font-family:inherit;outline:none;cursor:pointer;-webkit-user-select:none;user-select:none;box-sizing:border-box;transition:border-color .2s,box-shadow .2s}.dp-input[data-v-1eba84b0]::placeholder{color:#c0a0d0}.dp-input[data-v-1eba84b0]:focus{border-color:#f59e0b;box-shadow:0 0 0 3px #f59e0b1f}.dp-popup[data-v-1eba84b0]{position:absolute;top:calc(100% + 8px);left:0;z-index:100;background:#fff;border-radius:16px;padding:1rem;box-shadow:0 8px 32px #7c3aed2e;min-width:272px}.dp-header[data-v-1eba84b0]{display:flex;align-items:center;justify-content:space-between;margin-bottom:.75rem}.dp-month-label[data-v-1eba84b0]{font-family:Pacifico,cursive;font-size:1rem;color:#7c3aed}.dp-nav[data-v-1eba84b0]{background:none;border:none;font-size:1.4rem;color:#7c3aed;cursor:pointer;line-height:1;padding:.1rem .4rem;border-radius:8px;transition:background .15s}.dp-nav[data-v-1eba84b0]:hover:not(:disabled){background:#f3e8ff}.dp-nav[data-v-1eba84b0]:disabled{color:#d1d5db;cursor:default}.dp-dow-row[data-v-1eba84b0]{display:grid;grid-template-columns:repeat(7,1fr);margin-bottom:.35rem}.dp-dow[data-v-1eba84b0]{text-align:center;font-size:.7rem;font-weight:700;color:#9ca3af;padding-bottom:.25rem}.dp-grid[data-v-1eba84b0]{display:grid;grid-template-columns:repeat(7,1fr);gap:2px}.dp-cell[data-v-1eba84b0]{position:relative;display:flex;align-items:center;justify-content:center;aspect-ratio:1;cursor:pointer;border-radius:50%;transition:background .12s}.dp-cell[data-v-1eba84b0]:hover:not(.dp-cell--empty):not(.dp-cell--disabled){background:#f3e8ff}.dp-cell--empty[data-v-1eba84b0]{cursor:default;pointer-events:none}.dp-cell--disabled[data-v-1eba84b0]{opacity:.3;cursor:default;pointer-events:none}.dp-cell-inner[data-v-1eba84b0]{font-size:.85rem;color:#4a2060;line-height:1}.dp-cell--selected[data-v-1eba84b0]{background:#7c3aed!important}.dp-cell--selected .dp-cell-inner[data-v-1eba84b0]{color:#fff;font-weight:700}.dp-today-dot[data-v-1eba84b0]{position:absolute;bottom:3px;left:50%;transform:translate(-50%);width:4px;height:4px;border-radius:50%;background:#ec4899}.dp-pop-enter-active[data-v-1eba84b0],.dp-pop-leave-active[data-v-1eba84b0]{transition:opacity .15s ease,transform .15s ease}.dp-pop-enter-from[data-v-1eba84b0],.dp-pop-leave-to[data-v-1eba84b0]{opacity:0;transform:translateY(-6px)}.chapter-picker[data-v-3fb7a1d9]{display:flex;flex-wrap:wrap;gap:.3rem}.chip[data-v-3fb7a1d9]{min-width:2rem;height:2rem;padding:0 .4rem;border-radius:50px;border:2px solid #c4b5fd;background:#faf5ff;color:#7c3aed;font-size:.78rem;font-weight:700;cursor:pointer;line-height:1;transition:background .15s,color .15s,border-color .15s}.chip[data-v-3fb7a1d9]:hover{border-color:#7c3aed;background:#ede9fe}.chip--selected[data-v-3fb7a1d9]{background:#7c3aed;border-color:#7c3aed;color:#fff}.chip--selected[data-v-3fb7a1d9]:hover{background:#6d28d9;border-color:#6d28d9}.form-card[data-v-dd11f334]{position:relative;background:#fff;border-radius:24px;padding:2rem 2.25rem 2.25rem;box-shadow:0 4px 32px #b464dc1a;max-width:600px;margin:0 auto}.star[data-v-dd11f334]{position:absolute;font-size:1.6rem;top:-1rem}.star-left[data-v-dd11f334]{left:-.5rem}.star-right[data-v-dd11f334]{right:-.5rem}.form-title[data-v-dd11f334]{font-family:Pacifico,cursive;font-size:1.6rem;color:#7c3aed;margin-bottom:1.5rem;display:flex;align-items:center;gap:.5rem}.title-icon[data-v-dd11f334]{font-size:1.4rem}.field[data-v-dd11f334]{margin-bottom:1.25rem}.field-hint[data-v-dd11f334]{font-size:.82rem;color:#7c6090;margin:0 0 .45rem;line-height:1.35}.label[data-v-dd11f334]{display:block;font-weight:700;font-size:.9rem;color:#4a2060;margin-bottom:.4rem}.label--pink[data-v-dd11f334]{color:#c0394b}.label--yellow[data-v-dd11f334]{color:#b06000}.input[data-v-dd11f334]{width:100%;padding:.75rem 1rem;border-radius:50px;border:2px solid transparent;font-size:1rem;outline:none;background:#fdf6ff;color:#4a2060;transition:border-color .2s,box-shadow .2s}.input[data-v-dd11f334]::placeholder{color:#c0a0d0}.input--purple[data-v-dd11f334]{border-color:#c4b5fd;background:#faf5ff}.input--purple[data-v-dd11f334]:focus{border-color:#7c3aed;box-shadow:0 0 0 3px #7c3aed1f}.input--readonly[data-v-dd11f334]{cursor:default;background:#f3f0f9;color:#5b4570}.input--readonly[data-v-dd11f334]:focus{border-color:#c4b5fd;box-shadow:none}.input--pink[data-v-dd11f334]{border-color:#fbcfe8;background:#fff0f6}.input--pink[data-v-dd11f334]:focus{border-color:#ec4899;box-shadow:0 0 0 3px #ec48991f}.input--yellow[data-v-dd11f334]{border-color:#fde68a;background:#fffbeb}.input--yellow[data-v-dd11f334]:focus{border-color:#f59e0b;box-shadow:0 0 0 3px #f59e0b1f}.submit-btn[data-v-dd11f334]{width:100%;margin-top:.5rem;padding:.9rem 1rem;border:none;border-radius:50px;background:linear-gradient(90deg,#7c3aed,#ec4899);color:#fff;font-size:1.15rem;letter-spacing:.03em;cursor:pointer;transition:opacity .2s,transform .15s}.submit-btn[data-v-dd11f334]:hover{opacity:.9;transform:translateY(-1px)}.submit-btn[data-v-dd11f334]:active{opacity:1;transform:translateY(0)}@media (max-width: 480px){.form-card[data-v-dd11f334]{padding:1.5rem 1.25rem}.star[data-v-dd11f334]{display:none}}.book-card[data-v-dca10db1]{display:flex;border-radius:16px;overflow:hidden;background:#fff;box-shadow:0 2px 16px #b464dc1a;transition:transform .2s,box-shadow .2s}.book-card[data-v-dca10db1]:hover{transform:translateY(-2px);box-shadow:0 6px 24px #b464dc2e}.book-spine[data-v-dca10db1]{width:10px;background:var(--accent);flex-shrink:0}.book-body[data-v-dca10db1]{position:relative;display:flex;align-items:stretch;gap:1rem;padding:1rem 1.35rem 1rem 1.1rem;flex:1}.book-cover-emoji[data-v-dca10db1]{font-size:2.2rem;flex-shrink:0;align-self:center}.book-info[data-v-dca10db1]{flex:1;min-width:0;align-self:center}.book-actions[data-v-dca10db1]{display:flex;flex-direction:column;justify-content:space-between;align-items:flex-end;align-self:stretch;flex-shrink:0;margin-left:auto;gap:.35rem}.book-actions--confirm[data-v-dca10db1]{justify-content:flex-start}.book-actions-row[data-v-dca10db1]{display:flex;flex-direction:row;align-items:center;gap:.35rem;margin-top:auto}.another-read-btn[data-v-dca10db1]{background:none;border:none;font-size:.85rem;cursor:pointer;padding:.25rem .4rem;border-radius:50%;line-height:1;flex-shrink:0;transition:background .15s}.another-read-btn[data-v-dca10db1]:hover{background:#e0f2fe}.book-title[data-v-dca10db1]{font-size:1.1rem;color:#4a2060;margin-bottom:.4rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.book-meta[data-v-dca10db1]{display:flex;flex-wrap:wrap;gap:.4rem}.meta-badge[data-v-dca10db1]{font-size:.78rem;font-weight:600;padding:.2rem .65rem;border-radius:50px}.meta-badge--pages[data-v-dca10db1]{background:#f0e6ff;color:#7c3aed}.meta-badge--date[data-v-dca10db1]{background:#fff7e6;color:#b06000}.meta-badge--chapters[data-v-dca10db1]{background:#e0f2fe;color:#0369a1}.edit-btn[data-v-dca10db1]{background:none;border:none;font-size:.85rem;cursor:pointer;padding:.25rem .4rem;border-radius:50%;line-height:1;flex-shrink:0;transition:background .15s}.edit-btn[data-v-dca10db1]:hover{background:#ede9fe}.remove-btn[data-v-dca10db1]{background:none;border:none;color:#d0a0c0;font-size:.85rem;cursor:pointer;padding:.25rem .4rem;border-radius:50%;line-height:1;flex-shrink:0;transition:background .15s,color .15s}.remove-btn[data-v-dca10db1]:hover{background:#ffe4ef;color:#ec4899}.remove-confirm[data-v-dca10db1]{display:flex;align-items:center;gap:.3rem;background:#fff;border-radius:50px;padding:.15rem .4rem .15rem .6rem;box-shadow:0 2px 8px #b464dc1f;flex-shrink:0}.remove-confirm-label[data-v-dca10db1]{font-size:.78rem;font-weight:600;color:#7c6090}.confirm-yes-btn[data-v-dca10db1],.confirm-no-btn[data-v-dca10db1]{font-size:.75rem;font-weight:700;padding:.15rem .55rem;border-radius:50px;cursor:pointer;border:2px solid transparent;transition:background .15s,color .15s}.confirm-yes-btn[data-v-dca10db1]{background:#ec4899;color:#fff;border-color:#ec4899}.confirm-yes-btn[data-v-dca10db1]:hover{background:#db2777;border-color:#db2777}.confirm-no-btn[data-v-dca10db1]{background:transparent;border-color:#c4b5fd;color:#7c3aed}.confirm-no-btn[data-v-dca10db1]:hover{background:#ede9fe}.edit-form[data-v-dca10db1]{flex:1;display:flex;flex-direction:column;gap:.45rem;min-width:0}.edit-input[data-v-dca10db1]{width:100%;padding:.4rem .75rem;border:2px solid #c4b5fd;border-radius:50px;font-size:.88rem;color:#4a2060;background:#faf5ff;outline:none;box-sizing:border-box;transition:border-color .15s}.edit-input[data-v-dca10db1]:focus{border-color:#7c3aed}.edit-input--pages[data-v-dca10db1]{width:50%}.edit-actions[data-v-dca10db1]{display:flex;gap:.4rem}.save-btn[data-v-dca10db1],.cancel-btn[data-v-dca10db1]{flex:1;padding:.3rem 0;border-radius:50px;font-size:.8rem;font-weight:700;cursor:pointer;border:2px solid transparent;transition:background .15s,color .15s,border-color .15s}.save-btn[data-v-dca10db1]{background:linear-gradient(90deg,#7c3aed,#ec4899);color:#fff}.save-btn[data-v-dca10db1]:hover{opacity:.88}.cancel-btn[data-v-dca10db1]{background:transparent;border-color:#c4b5fd;color:#7c3aed}.cancel-btn[data-v-dca10db1]:hover{background:#ede9fe}@media (max-width: 360px){.book-body[data-v-dca10db1]{padding:.7rem .9rem .7rem .75rem;gap:.6rem}}.pagination[data-v-7624367a]{display:flex;align-items:center;justify-content:center;gap:1rem}.pagination--top[data-v-7624367a]{margin-bottom:1.25rem}.pagination--bottom[data-v-7624367a]{margin-top:1.25rem}.page-btn[data-v-7624367a]{padding:.35rem 1rem;border-radius:50px;border:2px solid #7c3aed;background:transparent;color:#7c3aed;font-size:1rem;font-weight:700;cursor:pointer;transition:background .15s,color .15s}.page-btn[data-v-7624367a]:hover:not(:disabled){background:#f5f0ff}.page-btn[data-v-7624367a]:disabled{opacity:.35;cursor:default}.page-info[data-v-7624367a]{font-size:.85rem;font-weight:700;color:#a57cbe}.shelf[data-v-57a88d40]{max-width:600px;margin:0 auto}.shelf-title[data-v-57a88d40]{font-family:Pacifico,cursive;font-size:1.8rem;color:#7c3aed;margin-bottom:1.25rem;text-align:center}.error-msg[data-v-57a88d40]{text-align:center;color:#b91c1c;font-size:.9rem;font-weight:600;margin-bottom:1rem}.loading-msg[data-v-57a88d40]{text-align:center;color:#a57cbe;padding:2rem;font-weight:600}.empty-state[data-v-57a88d40]{text-align:center;padding:2.5rem 1rem;color:#a57cbe;font-size:1rem;font-weight:600}.empty-emoji[data-v-57a88d40]{font-size:3rem;margin-bottom:.75rem}.stats[data-v-57a88d40]{display:flex;gap:.75rem;justify-content:center;margin-bottom:1.25rem}.stat-pill[data-v-57a88d40]{background:#fff;border-radius:50px;padding:.45rem 1.1rem;display:flex;align-items:baseline;gap:.35rem;box-shadow:0 2px 12px #b464dc1a}.stat-value[data-v-57a88d40]{font-family:Pacifico,cursive;font-size:1.3rem;color:#7c3aed}.stat-label[data-v-57a88d40]{font-size:.8rem;font-weight:700;color:#a57cbe}.book-list[data-v-57a88d40]{display:flex;flex-direction:column;gap:.75rem}.book-list-enter-active[data-v-57a88d40]{transition:all .35s cubic-bezier(.34,1.56,.64,1)}.book-list-leave-active[data-v-57a88d40]{transition:all .2s ease}.book-list-enter-from[data-v-57a88d40]{opacity:0;transform:translateY(-16px) scale(.97)}.book-list-leave-to[data-v-57a88d40]{opacity:0;transform:translate(20px)}.add-bar[data-v-49440598]{display:flex;justify-content:center;margin-bottom:2rem}.add-btn[data-v-49440598]{padding:.6rem 2rem;border-radius:50px;border:none;background:linear-gradient(90deg,#7c3aed,#ec4899);color:#fff;font-size:1rem;font-weight:700;letter-spacing:.02em;cursor:pointer;transition:opacity .15s,transform .15s}.add-btn[data-v-49440598]:hover{opacity:.9;transform:translateY(-1px)}.book-dialog[data-v-49440598]{margin:auto;border:none;border-radius:24px;padding:0;max-width:min(660px,calc(100vw - 2rem));width:100%;box-shadow:0 8px 48px #7c3aed2e}.book-dialog[data-v-49440598]::backdrop{background:#4a206059;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.dialog-panel[data-v-49440598]{position:relative;padding:30px 0 28px}.colour-picker[data-v-e302e1ef]{display:flex;align-items:center;gap:.75rem}.colour-preview[data-v-e302e1ef]{position:relative;width:2.5rem;height:2.5rem;border-radius:50%;border:3px solid #e2c8f0;cursor:pointer;display:block;flex-shrink:0;transition:border-color .15s,box-shadow .15s;overflow:hidden}.colour-preview[data-v-e302e1ef]:hover{border-color:#7c3aed;box-shadow:0 0 0 3px #7c3aed26}.colour-input[data-v-e302e1ef]{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;opacity:0;cursor:pointer;border:none;padding:0}.colour-hex[data-v-e302e1ef]{font-size:.85rem;font-family:monospace;color:#7c6090;letter-spacing:.03em}.form-card[data-v-0b967c78]{position:relative;background:#fff;border-radius:24px;padding:2rem 2.25rem 2.25rem;box-shadow:0 4px 32px #b464dc1a;max-width:600px;margin:0 auto}.star[data-v-0b967c78]{position:absolute;font-size:1.6rem;top:-1rem}.star-left[data-v-0b967c78]{left:-.5rem}.star-right[data-v-0b967c78]{right:-.5rem}.form-title[data-v-0b967c78]{font-family:Pacifico,cursive;font-size:1.6rem;color:#7c3aed;margin-bottom:1.5rem;display:flex;align-items:center;gap:.5rem}.title-icon[data-v-0b967c78]{font-size:1.4rem}.field[data-v-0b967c78]{margin-bottom:1.25rem}.label[data-v-0b967c78]{display:block;font-weight:700;font-size:.9rem;color:#4a2060;margin-bottom:.5rem}.label--purple[data-v-0b967c78]{color:#4a2060}.label--pink[data-v-0b967c78]{color:#c0394b}.input[data-v-0b967c78]{width:100%;padding:.75rem 1rem;border-radius:50px;border:2px solid transparent;font-size:1rem;outline:none;background:#fdf6ff;color:#4a2060;transition:border-color .2s,box-shadow .2s}.input[data-v-0b967c78]::placeholder{color:#c0a0d0}.input--purple[data-v-0b967c78]{border-color:#c4b5fd;background:#faf5ff}.input--purple[data-v-0b967c78]:focus{border-color:#7c3aed;box-shadow:0 0 0 3px #7c3aed1f}.input--pink[data-v-0b967c78]{border-color:#fbcfe8;background:#fff0f6}.input--pink[data-v-0b967c78]:focus{border-color:#ec4899;box-shadow:0 0 0 3px #ec48991f}.submit-btn[data-v-0b967c78]{width:100%;margin-top:.5rem;padding:.9rem 1rem;border:none;border-radius:50px;background:linear-gradient(90deg,#7c3aed,#ec4899);color:#fff;font-size:1.15rem;letter-spacing:.03em;cursor:pointer;transition:opacity .2s,transform .15s}.submit-btn[data-v-0b967c78]:hover{opacity:.9;transform:translateY(-1px)}.submit-btn[data-v-0b967c78]:active{opacity:1;transform:translateY(0)}@media (max-width: 480px){.form-card[data-v-0b967c78]{padding:1.5rem 1.25rem}.star[data-v-0b967c78]{display:none}}.sheet-card[data-v-21becf0f]{position:relative;border-radius:16px;padding:1rem 1.25rem;box-shadow:0 2px 16px #b464dc1a;transition:transform .2s,box-shadow .2s}.sheet-card[data-v-21becf0f]:hover{transform:translateY(-2px);box-shadow:0 6px 24px #b464dc2e}.sheet-header[data-v-21becf0f]{display:flex;align-items:center;padding-right:4rem;margin-bottom:.6rem}.sheet-title[data-v-21becf0f]{font-size:1.05rem;color:#4a2060;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sheet-meta[data-v-21becf0f]{display:flex;align-items:center;gap:.75rem;margin-top:.35rem;justify-content:space-between}.active-control[data-v-21becf0f]{margin-left:auto}.sheet-rows[data-v-21becf0f]{font-size:.82rem;font-weight:600;color:#7c6090}.active-badge[data-v-21becf0f]{font-size:.78rem;font-weight:700;padding:.2rem .7rem;border-radius:50px;background:#d1fae5;color:#065f46}.set-active-btn[data-v-21becf0f]{font-size:.78rem;font-weight:700;padding:.2rem .7rem;border-radius:50px;border:2px solid #c4b5fd;background:transparent;color:#7c3aed;cursor:pointer;transition:background .15s,color .15s,border-color .15s}.set-active-btn[data-v-21becf0f]:hover{background:linear-gradient(90deg,#7c3aed,#ec4899);border-color:transparent;color:#fff}.colour-dot-row[data-v-21becf0f]{display:flex;align-items:center;gap:.4rem}.colour-dot[data-v-21becf0f]{width:1.1rem;height:1.1rem;border-radius:50%;display:inline-block;flex-shrink:0}.colour-hex[data-v-21becf0f]{font-size:.8rem;color:#7c6090;font-family:monospace}.edit-btn[data-v-21becf0f]{position:absolute;top:.6rem;right:2.4rem;background:none;border:none;font-size:.85rem;cursor:pointer;padding:.25rem .4rem;border-radius:50%;line-height:1;transition:background .15s}.edit-btn[data-v-21becf0f]:hover{background:#ede9fe}.remove-btn[data-v-21becf0f]{position:absolute;top:.6rem;right:.75rem;background:none;border:none;color:#d0a0c0;font-size:.85rem;cursor:pointer;padding:.25rem .4rem;border-radius:50%;line-height:1;transition:background .15s,color .15s}.remove-btn[data-v-21becf0f]:hover{background:#ffe4ef;color:#ec4899}.remove-btn--blocked[data-v-21becf0f]{cursor:not-allowed;opacity:.45}.remove-btn--blocked[data-v-21becf0f]:hover{background:none;color:#d0a0c0}.remove-confirm[data-v-21becf0f]{position:absolute;top:.5rem;right:.65rem;display:flex;align-items:center;gap:.3rem;background:#fff;border-radius:50px;padding:.15rem .4rem .15rem .6rem;box-shadow:0 2px 8px #b464dc1f}.remove-confirm-label[data-v-21becf0f]{font-size:.78rem;font-weight:600;color:#7c6090}.confirm-yes-btn[data-v-21becf0f],.confirm-no-btn[data-v-21becf0f]{font-size:.75rem;font-weight:700;padding:.15rem .55rem;border-radius:50px;cursor:pointer;border:2px solid transparent;transition:background .15s,color .15s}.confirm-yes-btn[data-v-21becf0f]{background:#ec4899;color:#fff;border-color:#ec4899}.confirm-yes-btn[data-v-21becf0f]:hover{background:#db2777;border-color:#db2777}.confirm-no-btn[data-v-21becf0f]{background:transparent;border-color:#c4b5fd;color:#7c3aed}.confirm-no-btn[data-v-21becf0f]:hover{background:#ede9fe}.edit-form[data-v-21becf0f]{display:flex;flex-direction:column;gap:.6rem;padding-top:.15rem}.edit-input[data-v-21becf0f]{width:100%;padding:.4rem .7rem;border:2px solid #c4b5fd;border-radius:50px;font-size:.9rem;color:#4a2060;background:#fff;outline:none;box-sizing:border-box;transition:border-color .15s}.edit-input[data-v-21becf0f]:focus{border-color:#7c3aed}.edit-input--rows[data-v-21becf0f]{width:50%}.edit-actions[data-v-21becf0f]{display:flex;gap:.5rem;margin-top:.2rem}.save-btn[data-v-21becf0f],.cancel-btn[data-v-21becf0f]{flex:1;padding:.35rem 0;border-radius:50px;font-size:.82rem;font-weight:700;cursor:pointer;border:2px solid transparent;transition:background .15s,color .15s,border-color .15s}.save-btn[data-v-21becf0f]{background:linear-gradient(90deg,#7c3aed,#ec4899);color:#fff}.save-btn[data-v-21becf0f]:hover{opacity:.88}.cancel-btn[data-v-21becf0f]{background:transparent;border-color:#c4b5fd;color:#7c3aed}.cancel-btn[data-v-21becf0f]:hover{background:#ede9fe}@media (max-width: 480px){.sheet-meta[data-v-21becf0f]{flex-wrap:wrap;gap:.4rem}}.sheet-list[data-v-37ecfb17]{max-width:600px;margin:0 auto}.list-header[data-v-37ecfb17]{display:flex;align-items:baseline;justify-content:space-between;margin-bottom:1rem}.list-title[data-v-37ecfb17]{font-family:Pacifico,cursive;font-size:1.5rem;color:#7c3aed}.list-summary[data-v-37ecfb17]{font-size:.85rem;font-weight:600;color:#a57cbe}.error-msg[data-v-37ecfb17]{text-align:center;color:#b91c1c;font-size:.9rem;font-weight:600;margin-bottom:.75rem}.loading-msg[data-v-37ecfb17]{text-align:center;color:#a57cbe;padding:2rem 0;font-weight:600}.empty-msg[data-v-37ecfb17]{text-align:center;color:#a57cbe;font-size:1rem;padding:2rem 0}.cards[data-v-37ecfb17]{display:flex;flex-direction:column;gap:.75rem}.sheet-row[data-v-37ecfb17]{display:flex;align-items:stretch;gap:.5rem}.sheet-card-wrap[data-v-37ecfb17]{flex:1;min-width:0}.sheet-drag-handle[data-v-37ecfb17]{flex-shrink:0;align-self:center;width:2rem;min-height:2.5rem;margin:0;padding:0;border:none;border-radius:8px;background:#ede9fe;color:#7c3aed;font-size:.85rem;font-weight:700;line-height:1;cursor:grab;touch-action:none;transition:background .15s}.sheet-drag-handle[data-v-37ecfb17]:hover{background:#ddd6fe}.sheet-drag-handle[data-v-37ecfb17]:active{cursor:grabbing}.sortable-ghost[data-v-37ecfb17]{opacity:.55}.divider[data-v-1fa1985c]{display:flex;align-items:center;gap:.75rem;margin:2rem 0;color:#e2c8f0}.divider[data-v-1fa1985c]:before,.divider[data-v-1fa1985c]:after{content:"";flex:1;height:1px;background:linear-gradient(90deg,transparent,#e2c8f0,transparent)}.divider-flower[data-v-1fa1985c]{font-size:1.3rem}.sheets-dashboard[data-v-07726967]{padding:1rem 0}.section-title[data-v-07726967]{font-family:Pacifico,cursive;color:#7c3aed;font-size:1.4rem;margin-bottom:1.5rem;text-align:center}.panels-grid[data-v-07726967]{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:1rem}.sheet-panel[data-v-07726967]{display:flex;justify-content:space-between;align-items:flex-start;gap:.75rem;border-radius:16px;padding:1.25rem 1.5rem;text-decoration:none;box-shadow:0 2px 16px #b464dc1a;transition:transform .2s,box-shadow .2s;cursor:pointer}.panel-main[data-v-07726967]{min-width:0;flex:1}.sheet-panel[data-v-07726967]:hover{transform:translateY(-3px);box-shadow:0 6px 24px #b464dc33}.panel-title[data-v-07726967]{font-family:Pacifico,cursive;font-size:1.1rem;color:#4a2060;margin-bottom:.6rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.panel-stat[data-v-07726967]{font-size:.95rem;font-weight:600;color:#7c6090;margin-bottom:.25rem}.panel-pages[data-v-07726967]{font-size:.85rem;color:#9370ae}.panel-medal[data-v-07726967]{flex-shrink:0;font-size:5.25rem;line-height:1;text-shadow:0 1px 2px rgba(0,0,0,.12)}.empty-state[data-v-07726967]{text-align:center;color:#a57cbe;padding:2rem}.empty-state a[data-v-07726967]{color:#7c3aed}.sheet-detail[data-v-fa1c0325]{padding:1rem 0}.back-link[data-v-fa1c0325]{display:inline-block;color:#7c3aed;font-size:.9rem;font-weight:600;text-decoration:none;margin-bottom:1.25rem;transition:color .15s}.back-link[data-v-fa1c0325]:hover{color:#ec4899;text-decoration:underline}.sheet-title[data-v-fa1c0325]{font-family:Pacifico,cursive;color:#7c3aed;font-size:1.4rem;margin-bottom:1.25rem;text-align:center}.loading-msg[data-v-fa1c0325]{text-align:center;color:#a57cbe;padding:2rem;font-weight:600}.not-found[data-v-fa1c0325]{text-align:center;color:#a57cbe;padding:2rem}.table-wrapper[data-v-fa1c0325]{border-radius:16px;overflow-x:auto;box-shadow:0 2px 16px #b464dc1a}@media (max-width: 480px){.books-table th[data-v-fa1c0325],.books-table td[data-v-fa1c0325]{padding:.5rem .6rem}}.books-table[data-v-fa1c0325]{width:100%;border-collapse:collapse;font-size:.9rem}.books-table th[data-v-fa1c0325]{padding:.75rem 1rem;text-align:left;font-weight:700;color:#4a2060;border-bottom:2px solid rgba(124,58,237,.15)}.books-table td[data-v-fa1c0325]{padding:.65rem 1rem;color:#4a2060;border-bottom:1px solid rgba(124,58,237,.08)}.books-table th.col-row-num[data-v-fa1c0325]{text-align:center}.col-row-num[data-v-fa1c0325]{width:2.5rem;text-align:center;font-size:.82rem;color:#7c6090}.books-table tbody tr:last-child td[data-v-fa1c0325]{border-bottom:none}.col-date[data-v-fa1c0325]{white-space:nowrap;font-size:.82rem;color:#7c6090}.books-table .col-pages[data-v-fa1c0325]{text-align:center}.col-chapters[data-v-fa1c0325]{font-size:.82rem;color:#7c6090}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html,body{min-height:100vh}body{font-family:Nunito,sans-serif;background:linear-gradient(160deg,#fde8f0,#f0e6ff,#fde8f0);min-height:100vh;color:#4a2060}#app{min-height:100vh}input,button{font-family:Nunito,sans-serif}
