.app-shell[data-v-406f4e09]{min-height:100dvh}.boot-screen[data-v-406f4e09]{position:fixed;top:0;right:0;bottom:0;left:0;z-index:999;display:grid;place-items:center;padding:24px;background:color-mix(in srgb,var(--app-shell-color) 78%,white 22%);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}.boot-screen__panel[data-v-406f4e09]{width:min(420px,100%);display:grid;justify-items:center;gap:18px;padding:36px 28px;border:1px solid var(--border-color);border-radius:28px;background:color-mix(in srgb,var(--surface-color) 90%,white 10%);box-shadow:var(--surface-shadow);text-align:center}.boot-screen__logo[data-v-406f4e09]{width:56px;height:56px;border-radius:18px;-o-object-fit:cover;object-fit:cover}.boot-screen__title[data-v-406f4e09]{font-family:var(--font-display);font-size:24px;font-weight:700}.boot-screen__description[data-v-406f4e09]{margin:0;color:var(--text-secondary);line-height:1.7}.boot-fade-enter-active[data-v-406f4e09],.boot-fade-leave-active[data-v-406f4e09]{transition:opacity .18s ease}.boot-fade-enter-from[data-v-406f4e09],.boot-fade-leave-to[data-v-406f4e09]{opacity:0}.backend-switcher[data-v-9092c837],.backend-switcher__fields[data-v-9092c837]{display:grid;gap:16px}.backend-switcher__field[data-v-9092c837]{display:grid;gap:8px}.backend-switcher__field label[data-v-9092c837]{color:var(--text-secondary);font-size:13px;font-weight:600}.backend-switcher__radio-group[data-v-9092c837]{display:flex;flex-wrap:wrap;gap:10px}.backend-switcher__radio[data-v-9092c837]{display:inline-flex;align-items:center;padding:8px 14px;border:1px solid var(--border-color-soft);border-radius:var(--radius-md);background:#fff9;color:var(--text-secondary);font-size:13px;cursor:pointer;transition:all .16s ease}.backend-switcher__radio[data-v-9092c837]:hover{background:#fffc}.backend-switcher__radio--active[data-v-9092c837]{border-color:var(--primary-color);background:#f4a4b41f;color:var(--primary-color);font-weight:600}.backend-switcher__radio input[data-v-9092c837]{position:absolute;opacity:0}.backend-switcher__hint[data-v-9092c837]{margin-top:10px;color:var(--text-secondary);font-size:12px;line-height:1.7}.backend-switcher__footer[data-v-9092c837]{display:flex;justify-content:space-between;gap:12px;align-items:center;margin-top:16px}@media(max-width:640px){.backend-switcher__footer[data-v-9092c837]{flex-direction:column;align-items:stretch}}.app-layout[data-v-f8106a01]{min-height:100vh;background:transparent}.app-layout--immersive[data-v-f8106a01]{background:transparent}.app-layout__header[data-v-f8106a01]{position:sticky;top:0;z-index:10;display:flex;justify-content:space-between;gap:20px;align-items:center;padding:16px 24px;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:var(--surface-header-bg)}.app-layout__brand[data-v-f8106a01]{display:flex;align-items:center;gap:14px}.app-layout__logo[data-v-f8106a01]{width:48px;height:48px;border-radius:16px;-o-object-fit:cover;object-fit:cover;box-shadow:0 12px 24px #4a9fd947}.app-layout__title[data-v-f8106a01]{font-size:18px;font-weight:700}.app-layout__subtitle[data-v-f8106a01]{font-size:13px;color:var(--text-secondary)}.app-layout__actions[data-v-f8106a01]{display:flex;align-items:center;gap:18px}.app-layout__nav-actions[data-v-f8106a01]{display:flex;align-items:center;gap:8px;min-width:0;max-width:100%}.app-layout__user[data-v-f8106a01]{position:relative;display:flex;align-items:center}.app-layout__user-trigger[data-v-f8106a01]{display:flex;align-items:center;gap:8px;padding:6px 10px;border-radius:var(--radius-md);cursor:pointer;transition:background .16s ease}.app-layout__user-trigger[data-v-f8106a01]:hover{background:#ffffff0f}.app-layout__user-meta[data-v-f8106a01]{display:grid;gap:2px}.app-layout__user-chevron[data-v-f8106a01]{color:var(--text-secondary);transition:transform .2s ease;flex-shrink:0}.app-layout__user-chevron--open[data-v-f8106a01]{transform:rotate(180deg)}.app-layout__user-menu[data-v-f8106a01]{position:absolute;top:calc(100% + 6px);right:0;z-index:20;min-width:140px;padding:6px;border-radius:var(--radius-md);background:var(--surface-color);border:1px solid var(--border-color-soft);box-shadow:var(--shadow-modal);display:grid;gap:2px}.app-layout__user-menu-item[data-v-f8106a01]{width:100%;padding:8px 12px;border-radius:var(--radius-sm);text-align:left;font-size:14px;color:var(--text-primary);background:transparent;border:none;cursor:pointer;transition:background .12s ease}.app-layout__user-menu-item[data-v-f8106a01]:hover{background:var(--surface-panel-bg)}.app-layout__user-menu-item--danger[data-v-f8106a01]{color:#ef4444}.app-layout__user-menu-item--danger[data-v-f8106a01]:hover{background:#ef444414}.app-layout__content[data-v-f8106a01]{padding:24px}.app-layout__content--immersive[data-v-f8106a01]{padding:0}.app-layout__username[data-v-f8106a01]{max-width:min(240px,40vw);overflow:hidden;color:var(--text-secondary);font-size:14px;text-overflow:ellipsis;white-space:nowrap}.app-layout__backend[data-v-f8106a01]{max-width:min(280px,44vw);overflow:hidden;color:var(--text-secondary);font-size:12px;text-overflow:ellipsis;white-space:nowrap}.password-modal[data-v-f8106a01]{border-radius:var(--radius-xl)}.password-modal__title[data-v-f8106a01]{font-family:var(--font-display);font-size:22px;font-weight:700;margin-bottom:20px}.password-modal__fields[data-v-f8106a01]{display:grid;gap:14px;margin-bottom:24px}.password-modal__field[data-v-f8106a01]{display:grid;gap:6px}.password-modal__field span[data-v-f8106a01]{color:var(--text-secondary);font-size:13px;font-weight:600}.password-modal__actions[data-v-f8106a01]{display:flex;justify-content:flex-end;gap:10px}@media(max-width:780px){.app-layout__header[data-v-f8106a01]{display:grid;grid-template-columns:1fr auto;grid-template-areas:"brand user" "nav nav";gap:10px 16px;align-items:center}.app-layout__brand[data-v-f8106a01]{grid-area:brand}.app-layout__actions[data-v-f8106a01]{display:contents}.app-layout__nav-actions[data-v-f8106a01]{grid-area:nav;flex-wrap:wrap;width:100%}.app-layout__user[data-v-f8106a01]{grid-area:user;justify-self:end;align-self:center;width:auto}.app-layout__user-meta[data-v-f8106a01]{display:flex;align-items:center;gap:6px}.app-layout__backend[data-v-f8106a01]{display:none}.app-layout__username[data-v-f8106a01]{max-width:120px;font-size:13px}.app-layout__content[data-v-f8106a01]{padding:16px}.app-layout__content--immersive[data-v-f8106a01]{padding:0}}.catalog-drawer[data-v-d45d7356]{position:fixed;top:0;right:0;bottom:0;left:0;z-index:100}.catalog-drawer[data-v-d45d7356]:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:#00000059}.catalog-drawer__panel[data-v-d45d7356]{position:absolute;top:0;right:0;height:100%;overflow:hidden;display:flex;flex-direction:column;background:var(--surface-color);padding:20px;box-sizing:border-box}.catalog-drawer-enter-active[data-v-d45d7356],.catalog-drawer-leave-active[data-v-d45d7356]{transition:opacity .28s ease}.catalog-drawer-enter-from[data-v-d45d7356],.catalog-drawer-leave-to[data-v-d45d7356]{opacity:0}.catalog-drawer-enter-active .catalog-drawer__panel[data-v-d45d7356],.catalog-drawer-leave-active .catalog-drawer__panel[data-v-d45d7356]{transition:transform .28s ease}.catalog-drawer-enter-from .catalog-drawer__panel[data-v-d45d7356],.catalog-drawer-leave-to .catalog-drawer__panel[data-v-d45d7356]{transform:translate(100%)}.chapter-catalog-panel[data-v-d45d7356]{display:grid;gap:18px}.chapter-catalog-panel__summary[data-v-d45d7356]{display:grid;gap:10px;padding:18px 20px;border:1px solid var(--border-color-soft);border-radius:22px;background:radial-gradient(circle at top right,rgba(74,159,217,.16),transparent 34%),linear-gradient(135deg,var(--surface-raised),var(--surface-soft))}.chapter-catalog-panel__heading[data-v-d45d7356]{display:flex;justify-content:space-between;gap:12px;align-items:center}.chapter-catalog-panel__heading strong[data-v-d45d7356]{font-size:22px}.chapter-catalog-panel__count[data-v-d45d7356]{color:var(--text-secondary);font-size:13px;font-weight:600}.chapter-catalog-panel__book[data-v-d45d7356],.chapter-catalog-panel__hint[data-v-d45d7356]{margin:0}.chapter-catalog-panel__book[data-v-d45d7356]{font-size:16px;font-weight:600;line-height:1.6}.chapter-catalog-panel__hint[data-v-d45d7356]{color:var(--text-secondary);line-height:1.7}.chapter-catalog-panel__body[data-v-d45d7356]{max-height:min(62vh,560px);overflow:auto;padding-right:12px;scrollbar-width:auto}.chapter-catalog-panel__body[data-v-d45d7356]::-webkit-scrollbar{width:14px}.chapter-catalog-panel__body[data-v-d45d7356]::-webkit-scrollbar-thumb:vertical{min-height:48px}@media(hover:none){.chapter-catalog-panel__body[data-v-d45d7356]::-webkit-scrollbar{width:16px}}.chapter-catalog-panel__body[data-v-d45d7356]::-webkit-scrollbar-track{background:transparent}.chapter-catalog-panel__body[data-v-d45d7356]::-webkit-scrollbar-thumb{background:#4a9fd980;border-radius:999px}.chapter-catalog-panel__body[data-v-d45d7356]::-webkit-scrollbar-thumb:hover{background:#4a9fd9b3}.chapter-catalog-panel--drawer[data-v-d45d7356]{height:100%;grid-template-rows:auto 1fr}.chapter-catalog-panel--drawer .chapter-catalog-panel__body[data-v-d45d7356]{max-height:none}.chapter-catalog-panel__empty[data-v-d45d7356]{padding:28px 0}.chapter-catalog-list[data-v-d45d7356]{display:grid;gap:10px}.chapter-catalog-list__item[data-v-d45d7356]{width:100%;display:grid;gap:6px;padding:16px 18px;border:1px solid var(--border-color-soft);border-radius:18px;background:var(--surface-panel-bg);text-align:left;cursor:pointer;transition:transform .16s ease,box-shadow .16s ease,border-color .16s ease,background .16s ease}.chapter-catalog-list__item[data-v-d45d7356]:hover{transform:translateY(-1px);border-color:var(--border-color);box-shadow:var(--shadow-soft);background:var(--surface-panel-soft-bg)}.chapter-catalog-list__item[data-v-d45d7356]:focus-visible{outline:2px solid color-mix(in srgb,var(--accent-color) 72%,white 28%);outline-offset:2px}.chapter-catalog-list__index[data-v-d45d7356],.chapter-catalog-list__meta[data-v-d45d7356]{color:var(--text-secondary);font-size:13px}.chapter-catalog-list__title[data-v-d45d7356]{font-size:16px;line-height:1.65}@media(max-width:720px){.chapter-catalog-panel__summary[data-v-d45d7356]{padding:16px 18px}.chapter-catalog-panel__heading[data-v-d45d7356]{align-items:flex-start;flex-direction:column}.chapter-catalog-panel__body[data-v-d45d7356]{max-height:calc(100vh - 240px)}}.page-status-panel[data-v-2435ea09]{display:grid;justify-items:center;gap:14px;padding:clamp(28px,5vw,44px);border:1px solid var(--border-color);border-radius:28px;text-align:center;background:color-mix(in srgb,var(--surface-color) 94%,white 6%);box-shadow:var(--surface-shadow)}.page-status-panel__badge[data-v-2435ea09]{display:inline-flex;padding:6px 12px;border-radius:999px;font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.page-status-panel--empty .page-status-panel__badge[data-v-2435ea09]{background:#f4a4b429;color:var(--primary-color)}.page-status-panel--error .page-status-panel__badge[data-v-2435ea09]{background:#ff6b6b1f;color:#e05555}.page-status-panel__title[data-v-2435ea09]{margin:0;font-family:var(--font-display);font-size:clamp(26px,4vw,34px);line-height:1.15}.page-status-panel__description[data-v-2435ea09]{max-width:560px;margin:0;color:var(--text-secondary);line-height:1.8}.page-status-panel__actions[data-v-2435ea09]{display:flex;flex-wrap:wrap;justify-content:center;gap:12px}@media(max-width:640px){.page-status-panel__actions[data-v-2435ea09]{width:100%;display:grid;grid-template-columns:1fr}}.book-detail-page[data-v-3852aab7]{padding:24px 32px}.book-detail-page__container[data-v-3852aab7]{max-width:1400px;margin:0 auto;display:grid;gap:24px}.book-detail-page__topbar[data-v-3852aab7]{display:flex;justify-content:space-between;align-items:center;gap:16px}.book-detail-page__crumb[data-v-3852aab7]{color:var(--text-secondary);font-size:13px}.detail-hero[data-v-3852aab7]{display:grid;grid-template-columns:220px minmax(0,1fr);gap:24px;padding:clamp(24px,4vw,32px);border-radius:28px;background:radial-gradient(circle at top right,rgba(74,159,217,.18),transparent 26%),radial-gradient(circle at bottom left,rgba(244,164,180,.16),transparent 32%),color-mix(in srgb,var(--surface-color) 94%,white 6%);box-shadow:var(--surface-shadow)}.detail-hero__cover[data-v-3852aab7]{position:relative;display:grid;place-items:center;min-height:280px;border-radius:24px;background:linear-gradient(155deg,#4a9fd9eb,#f4a4b4eb),linear-gradient(180deg,rgba(255,255,255,.2),transparent);color:#fff;overflow:hidden}.detail-hero__cover--filled[data-v-3852aab7]{background:#ffffffb3}.detail-hero__cover-image[data-v-3852aab7]{width:100%;height:100%;-o-object-fit:cover;object-fit:cover;display:block}.detail-hero__cover-badge[data-v-3852aab7]{position:absolute;top:16px;left:16px;z-index:1;padding:6px 10px;border-radius:999px;background:#fff3;font-size:12px;font-weight:700;letter-spacing:.08em}.detail-hero__cover-letter[data-v-3852aab7]{position:relative;z-index:1;font-family:var(--font-display);font-size:72px;font-weight:700}.detail-hero__body[data-v-3852aab7]{display:grid;gap:18px;align-content:center}.detail-hero__eyebrow[data-v-3852aab7]{display:inline-flex;width:-moz-fit-content;width:fit-content;padding:6px 12px;border-radius:999px;background:#4a9fd929;color:var(--primary-color);font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.detail-hero__title[data-v-3852aab7]{margin:0;font-family:var(--font-display);font-size:clamp(30px,4vw,46px);line-height:1.08}.detail-hero__author[data-v-3852aab7]{margin:0;color:var(--text-secondary);font-size:18px}.detail-hero__description[data-v-3852aab7]{margin:0;color:var(--text-secondary);line-height:1.8;white-space:pre-wrap}.detail-hero__tags[data-v-3852aab7]{display:flex;flex-wrap:wrap;gap:10px}.detail-hero__actions[data-v-3852aab7]{display:flex;flex-wrap:wrap;gap:12px}.detail-grid[data-v-3852aab7]{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.detail-card[data-v-3852aab7]{border:1px solid var(--border-color-soft);border-radius:var(--radius-xl);background:var(--surface-raised);box-shadow:var(--shadow-soft);overflow:hidden}.detail-card--full[data-v-3852aab7]{grid-column:1 / -1}.detail-card__header[data-v-3852aab7]{padding:20px 24px;border-bottom:1px solid var(--border-color-soft)}.detail-card__heading[data-v-3852aab7]{font-weight:700;font-size:16px}.detail-card__body[data-v-3852aab7]{padding:20px 24px}.detail-info-grid[data-v-3852aab7]{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.detail-info-item[data-v-3852aab7]{padding:16px 20px;border-radius:18px;background:#ffffff8c}.detail-info-item--wide[data-v-3852aab7]{grid-column:1 / -1}.detail-info-item__label[data-v-3852aab7]{display:block;color:var(--text-secondary);font-size:12px;margin-bottom:6px}.detail-info-item__value[data-v-3852aab7]{display:block;line-height:1.6;word-break:break-word}.detail-info-item__value--pre[data-v-3852aab7]{white-space:pre-wrap}.detail-group-list[data-v-3852aab7]{margin-top:16px;padding:16px 20px;border-radius:18px;background:#ffffff8c}.detail-group-list__label[data-v-3852aab7]{display:block;margin-bottom:10px;color:var(--text-secondary);font-size:12px}.detail-group-list__tags[data-v-3852aab7]{display:flex;gap:8px;flex-wrap:wrap}.detail-file-path[data-v-3852aab7]{margin-top:16px;padding:16px 20px;border-radius:18px;background:#ffffff8c}.detail-file-path__label[data-v-3852aab7]{display:block;margin-bottom:10px;color:var(--text-secondary);font-size:12px}.detail-file-path code[data-v-3852aab7]{white-space:pre-wrap;word-break:break-all;color:var(--text-primary);font-size:14px}.detail-rule-card[data-v-3852aab7]{display:grid;gap:16px}.detail-rule-card__current span[data-v-3852aab7]{display:block;color:var(--text-secondary);font-size:12px;margin-bottom:6px}.detail-rule-card__current strong[data-v-3852aab7]{display:block;font-size:18px;margin-bottom:10px}.detail-rule-card__current p[data-v-3852aab7]{margin:0;color:var(--text-secondary);line-height:1.8;white-space:pre-wrap;word-break:break-word}.detail-rule-card__alert[data-v-3852aab7]{border-radius:16px}.detail-rule-card__actions[data-v-3852aab7]{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px}.metadata-modal[data-v-3852aab7]{border-radius:24px}.metadata-modal__layout[data-v-3852aab7]{display:grid;grid-template-columns:240px minmax(0,1fr);gap:20px}.metadata-modal__cover-panel[data-v-3852aab7]{display:grid;gap:14px}.metadata-modal__cover[data-v-3852aab7]{display:grid;place-items:center;min-height:280px;border-radius:22px;border:1px solid rgba(74,159,217,.22);background:linear-gradient(180deg,#f0f8ff,#e0e8f0);overflow:hidden;color:var(--text-secondary);cursor:pointer}.metadata-modal__cover--filled[data-v-3852aab7]{background:#ffffffb8}.metadata-modal__cover-image[data-v-3852aab7]{width:100%;height:100%;-o-object-fit:cover;object-fit:cover;display:block}.metadata-modal__cover-type[data-v-3852aab7]{font-size:12px;font-weight:700;letter-spacing:.08em;color:var(--primary-color)}.metadata-modal__cover-letter[data-v-3852aab7]{font-family:var(--font-display);font-size:68px;line-height:1}.metadata-modal__cover-text[data-v-3852aab7]{font-size:12px;color:var(--text-secondary)}.metadata-modal__cover-actions[data-v-3852aab7]{display:flex;gap:10px;flex-wrap:wrap}.metadata-modal__form[data-v-3852aab7]{display:grid;gap:16px}.metadata-modal__field[data-v-3852aab7]{display:grid;gap:8px}.metadata-modal__field span[data-v-3852aab7]{color:var(--text-secondary);font-size:13px;font-weight:600}.metadata-modal__textarea[data-v-3852aab7]{width:100%;min-height:120px;padding:10px 12px;border:1px solid var(--border-color-soft);border-radius:var(--radius-md);background:var(--surface-input-bg);color:var(--text-primary);font-family:inherit;font-size:14px;line-height:1.7;resize:vertical;outline:none;transition:border-color .16s ease}.metadata-modal__textarea[data-v-3852aab7]:focus{border-color:var(--accent-color)}.metadata-modal__footer[data-v-3852aab7]{width:100%;display:flex;justify-content:flex-end;gap:10px}@media(max-width:960px){.book-detail-page[data-v-3852aab7]{padding:20px 24px}.book-detail-page__container[data-v-3852aab7]{gap:20px}.detail-hero[data-v-3852aab7],.detail-grid[data-v-3852aab7],.metadata-modal__layout[data-v-3852aab7]{grid-template-columns:1fr}.detail-hero__cover[data-v-3852aab7]{min-height:220px}}@media(max-width:720px){.book-detail-page[data-v-3852aab7]{padding:16px}.book-detail-page__container[data-v-3852aab7]{gap:16px}.book-detail-page__topbar[data-v-3852aab7],.detail-hero__actions[data-v-3852aab7],.detail-rule-card__actions[data-v-3852aab7],.detail-info-grid[data-v-3852aab7],.metadata-modal__footer[data-v-3852aab7]{display:grid;grid-template-columns:1fr}.detail-info-item--wide[data-v-3852aab7]{grid-column:auto}.detail-card__header[data-v-3852aab7],.detail-card__body[data-v-3852aab7]{padding:16px 20px}}.group-manager__create[data-v-95dc0e61]{display:grid;gap:14px;margin-bottom:20px;padding:16px 18px;border-radius:18px;background:#ffffff8c}.group-manager__create p[data-v-95dc0e61]{margin:6px 0 0;color:var(--text-secondary);line-height:1.7}.group-manager__create-form[data-v-95dc0e61],.group-manager__edit-row[data-v-95dc0e61],.group-manager__actions[data-v-95dc0e61]{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.group-manager__create-form[data-v-95dc0e61] input,.group-manager__edit-row[data-v-95dc0e61] input{flex:1}.group-manager__list[data-v-95dc0e61]{display:grid;gap:12px}.group-manager__item[data-v-95dc0e61]{display:grid;gap:14px;padding:16px 18px;border:1px solid rgba(74,159,217,.1);border-radius:18px;background:#ffffffa3}.group-manager__meta[data-v-95dc0e61]{display:flex;justify-content:space-between;gap:16px;align-items:center}.group-manager__meta p[data-v-95dc0e61]{margin:6px 0 0;color:var(--text-secondary);font-size:13px}@media(max-width:720px){.group-manager__meta[data-v-95dc0e61],.group-manager__create-form[data-v-95dc0e61],.group-manager__edit-row[data-v-95dc0e61],.group-manager__actions[data-v-95dc0e61]{display:grid;grid-template-columns:1fr}}.group-selector__intro[data-v-56fb5fc1]{margin-bottom:16px;padding:16px 18px;border-radius:18px;background:#ffffff94}.group-selector__intro p[data-v-56fb5fc1]{margin:6px 0 0;color:var(--text-secondary);line-height:1.7}.group-selector__alert[data-v-56fb5fc1]{margin-bottom:16px;border-radius:16px}.group-selector__options[data-v-56fb5fc1]{display:grid;gap:12px}.group-selector__option[data-v-56fb5fc1]{display:flex;justify-content:space-between;gap:16px;align-items:center;padding:16px 18px;border:1px solid rgba(74,159,217,.1);border-radius:18px;background:#ffffffa3;cursor:pointer}.group-selector__option p[data-v-56fb5fc1]{margin:6px 0 0;color:var(--text-secondary);font-size:13px}.group-selector__checkbox[data-v-56fb5fc1]{width:18px;height:18px;accent-color:var(--primary-color);cursor:pointer;flex-shrink:0}.group-selector__footer[data-v-56fb5fc1]{display:flex;justify-content:flex-end;gap:12px;margin-top:16px}@media(max-width:720px){.group-selector__option[data-v-56fb5fc1],.group-selector__footer[data-v-56fb5fc1]{display:grid;grid-template-columns:1fr}}.bookshelf-page[data-v-9ef23301]{width:min(100%,1720px);margin:0 auto;display:grid;gap:var(--space-5)}.bookshelf-page__toolbar-panel[data-v-9ef23301]{display:grid;gap:var(--space-5);padding:clamp(18px,2.6vw,24px);border:1px solid var(--border-color-soft);border-radius:var(--radius-xl);background:radial-gradient(circle at top right,rgba(74,159,217,.1),transparent 28%),radial-gradient(circle at bottom left,rgba(244,164,180,.1),transparent 34%),var(--surface-raised);box-shadow:var(--shadow-soft)}.bookshelf-page__header[data-v-9ef23301]{display:flex;justify-content:space-between;gap:24px;align-items:center;padding-bottom:var(--space-4);border-bottom:1px solid var(--border-color-soft)}.bookshelf-page__title-block[data-v-9ef23301]{min-width:0;display:grid;gap:8px}.bookshelf-page__title-wrap[data-v-9ef23301]{display:flex;gap:10px;align-items:baseline}.bookshelf-page__title[data-v-9ef23301]{margin:0;font-size:var(--text-title-2);line-height:1.08}.bookshelf-page__count[data-v-9ef23301]{color:var(--text-secondary);font-size:16px;font-weight:600}.bookshelf-page__subtitle[data-v-9ef23301]{max-width:48ch;margin:0;color:var(--text-secondary);line-height:1.75}.bookshelf-page__header-actions[data-v-9ef23301]{display:flex;gap:10px;align-items:center;justify-content:flex-end;flex-wrap:nowrap;min-width:0;overflow-x:auto;overflow-y:hidden;padding-bottom:2px;scrollbar-width:none;-ms-overflow-style:none}.bookshelf-page__header-actions[data-v-9ef23301]::-webkit-scrollbar{display:none}.bookshelf-page__header-actions button[data-v-9ef23301]{border-radius:var(--radius-md);flex:0 0 auto;white-space:nowrap}.bookshelf-page__upload[data-v-9ef23301]{flex:0 0 auto;width:auto}.bookshelf-page__controls[data-v-9ef23301]{display:grid;gap:16px}.bookshelf-page__filter-bar[data-v-9ef23301]{display:grid;grid-template-columns:minmax(0,1fr) minmax(320px,520px);gap:var(--space-4);align-items:end;min-width:0}.bookshelf-page__tabs-wrap[data-v-9ef23301]{flex:1 1 auto;min-width:0;display:flex;align-items:center}.bookshelf-page__tabs[data-v-9ef23301]{flex:1 1 auto;min-width:0;display:flex;gap:10px;align-items:center;overflow-x:auto;overflow-y:hidden;padding:6px;border:1px solid var(--border-color-soft);border-radius:var(--radius-lg);background:#ffffff7a;scrollbar-width:none;-ms-overflow-style:none}.bookshelf-page__tabs[data-v-9ef23301]::-webkit-scrollbar{display:none}.bookshelf-page__tab[data-v-9ef23301]{flex:0 0 auto;min-height:var(--control-height-sm);padding:0 16px;border:1px solid transparent;border-radius:var(--radius-md);background:transparent;color:var(--text-secondary);font-size:14px;font-weight:600;line-height:1;white-space:nowrap;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;transition:background-color .18s ease,border-color .18s ease,color .18s ease,box-shadow .18s ease}.bookshelf-page__tab[data-v-9ef23301]:hover{color:var(--text-primary);background:#4a9fd91a}.bookshelf-page__tab--active[data-v-9ef23301]{color:var(--primary-color);background:#ffffffe6;border-color:#4a9fd959;box-shadow:inset 0 0 0 1px #4a9fd91a,0 6px 14px #4a9fd91a}.bookshelf-page__filter-actions[data-v-9ef23301]{min-width:0;display:grid;grid-template-columns:148px minmax(0,1fr);gap:var(--space-3);align-items:end}.bookshelf-page__sort[data-v-9ef23301]{width:100%}.bookshelf-page__search[data-v-9ef23301]{width:100%;min-width:0;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:var(--space-3);align-items:end}.bookshelf-page__search input[data-v-9ef23301]{min-width:0}.bookshelf-page__header-actions button[data-v-9ef23301],.bookshelf-page__filter-actions button[data-v-9ef23301],.bookshelf-page__filter-actions [data-radix-popper-content-wrapper][data-v-9ef23301],.bookshelf-page__filter-actions input[data-v-9ef23301]{border-radius:var(--radius-md)}.bookshelf-page__filter-actions [data-radix-popper-content-wrapper][data-v-9ef23301],.bookshelf-page__filter-actions input[data-v-9ef23301]{border-color:var(--border-color-soft);background:#ffffffb8}.bookshelf-page__search button[data-v-9ef23301]{min-width:88px;white-space:nowrap}.bookshelf-page__alert[data-v-9ef23301]{border-radius:14px}.bookshelf-page__empty[data-v-9ef23301]{padding:52px 24px;border:1px solid rgba(74,159,217,.18);border-radius:22px;background:#e8f4fcc7}.bookshelf-page__empty-tip[data-v-9ef23301]{color:var(--text-secondary);font-size:14px}.bookshelf-list[data-v-9ef23301]{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:20px;align-items:stretch}.bookshelf-list--loading[data-v-9ef23301]{align-items:stretch}.bookshelf-item[data-v-9ef23301]{min-width:0;height:100%;display:grid;grid-template-columns:68px minmax(0,1fr);gap:16px;align-items:start;padding:18px;border:1px solid var(--border-color-soft);border-radius:var(--radius-lg);background:#f8fcffd1;box-shadow:var(--shadow-soft);cursor:pointer;transition:border-color .18s ease,box-shadow .18s ease,transform .18s ease}.bookshelf-item[data-v-9ef23301]:hover{transform:translateY(-4px);border-color:#4a9fd959;box-shadow:var(--shadow-card)}.bookshelf-item--loading[data-v-9ef23301]{min-height:216px}.bookshelf-item__cover[data-v-9ef23301]{position:relative;display:grid;justify-items:center;align-content:center;gap:4px;width:68px;min-height:94px;padding:10px 8px;border:1px solid rgba(74,159,217,.22);border-radius:14px;background:linear-gradient(180deg,#f0f8ff,#e0e8f0);color:var(--text-secondary);overflow:hidden}.bookshelf-item__cover--filled[data-v-9ef23301]{padding:0;background:#ffffffb8}.bookshelf-item__cover--loading[data-v-9ef23301]{background:#fff5f7d1}.bookshelf-item__cover-image[data-v-9ef23301]{width:100%;height:100%;min-height:94px;-o-object-fit:cover;object-fit:cover;display:block}.bookshelf-item__cover-type[data-v-9ef23301]{font-size:10px;font-weight:700;letter-spacing:.08em;color:var(--primary-color)}.bookshelf-item__cover-letter[data-v-9ef23301]{font-family:var(--font-display);font-size:28px;line-height:1}.bookshelf-item__cover-text[data-v-9ef23301]{font-size:11px;color:var(--text-secondary)}.bookshelf-item__body[data-v-9ef23301]{min-width:0;height:100%;display:flex;flex-direction:column;gap:14px}.bookshelf-item__header-block[data-v-9ef23301]{min-width:0;display:grid;gap:10px}.bookshelf-item__title-row[data-v-9ef23301]{min-width:0;display:flex;gap:8px;align-items:start}.bookshelf-item__title[data-v-9ef23301]{flex:1;min-width:0;margin:0;font-size:18px;line-height:1.45;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden}.bookshelf-item__badge[data-v-9ef23301]{display:none}.bookshelf-item__status-row[data-v-9ef23301],.bookshelf-item__facts[data-v-9ef23301],.bookshelf-item__progress-head span[data-v-9ef23301]{color:var(--text-secondary)}.bookshelf-item__status-row[data-v-9ef23301]{display:flex;gap:8px 12px;flex-wrap:wrap;min-width:0;font-size:12px}.bookshelf-item__facts[data-v-9ef23301]{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 12px;font-size:13px}.bookshelf-item__facts span[data-v-9ef23301]{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.bookshelf-item__groups[data-v-9ef23301]{display:flex;gap:8px;flex-wrap:wrap}.bookshelf-item__footer[data-v-9ef23301]{margin-top:auto;display:grid;gap:12px}.bookshelf-item__progress[data-v-9ef23301]{display:grid;gap:8px}.bookshelf-item__progress-head[data-v-9ef23301]{display:flex;justify-content:space-between;gap:12px;align-items:baseline;font-size:12px}.bookshelf-item__progress-head strong[data-v-9ef23301]{color:var(--text-primary);font-size:13px}.bookshelf-item__actions[data-v-9ef23301]{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.bookshelf-item__action[data-v-9ef23301]{min-width:0}.bookshelf-item__action--primary[data-v-9ef23301]{font-weight:600}@media(max-width:1240px){.bookshelf-list[data-v-9ef23301]{grid-template-columns:repeat(auto-fill,minmax(300px,1fr))}.bookshelf-page__filter-actions[data-v-9ef23301]{grid-template-columns:140px minmax(0,1fr)}}@media(max-width:980px){.bookshelf-page[data-v-9ef23301]{gap:18px}.bookshelf-page__header[data-v-9ef23301]{flex-direction:column;align-items:stretch}.bookshelf-page__header-actions[data-v-9ef23301]{justify-content:flex-start;gap:8px}.bookshelf-page__upload[data-v-9ef23301]{width:auto}.bookshelf-page__filter-bar[data-v-9ef23301]{grid-template-columns:1fr;align-items:stretch;gap:12px}.bookshelf-page__filter-actions[data-v-9ef23301]{min-width:0;grid-template-columns:1fr}.bookshelf-page__sort[data-v-9ef23301],.bookshelf-page__search[data-v-9ef23301]{width:100%}.bookshelf-list[data-v-9ef23301]{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:16px}.bookshelf-item[data-v-9ef23301]{padding:16px}}@media(max-width:720px){.bookshelf-page[data-v-9ef23301]{gap:16px}.bookshelf-page__toolbar-panel[data-v-9ef23301]{padding:16px}.bookshelf-list[data-v-9ef23301]{grid-template-columns:1fr}.bookshelf-item[data-v-9ef23301]{grid-template-columns:62px minmax(0,1fr);gap:14px;padding:14px}.bookshelf-item__cover[data-v-9ef23301],.bookshelf-item__cover-image[data-v-9ef23301]{width:62px;min-height:88px}.bookshelf-item__title[data-v-9ef23301]{font-size:17px;-webkit-line-clamp:3}.bookshelf-item__facts[data-v-9ef23301]{grid-template-columns:1fr;display:none}.bookshelf-page__tabs[data-v-9ef23301]{gap:8px}.bookshelf-page__tab[data-v-9ef23301]{min-height:var(--control-height-sm);padding:0 14px}.bookshelf-page__header-actions[data-v-9ef23301]{gap:8px}.bookshelf-page__filter-actions[data-v-9ef23301]{gap:10px}.bookshelf-page__search[data-v-9ef23301]{grid-template-columns:1fr}}.bookshelf-progress[data-v-9ef23301]{width:100%;height:6px;border-radius:999px;background:#4a9fd92e;overflow:hidden}.bookshelf-progress__fill[data-v-9ef23301]{height:100%;border-radius:999px;background:var(--primary-color);transition:width .3s ease}.login-page[data-v-47abc0e1]{width:min(1100px,100%);margin:0 auto;min-height:100dvh;display:grid;align-items:center;padding:24px 0}.login-page__intro[data-v-47abc0e1],.login-page__card[data-v-47abc0e1]{height:100%;border-radius:28px}.login-page__intro[data-v-47abc0e1]{display:grid;gap:22px;padding:clamp(24px,5vw,40px);background:radial-gradient(circle at top right,rgba(74,159,217,.22),transparent 34%),radial-gradient(circle at bottom left,rgba(244,164,180,.12),transparent 30%),color-mix(in srgb,var(--surface-color) 94%,white 6%);box-shadow:var(--surface-shadow)}.login-page__eyebrow[data-v-47abc0e1]{display:inline-flex;width:-moz-fit-content;width:fit-content;padding:6px 12px;border-radius:999px;background:var(--primary-soft);color:var(--primary-color);font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.login-page__title[data-v-47abc0e1]{margin:0;font-family:var(--font-display);font-size:clamp(34px,5vw,54px);line-height:1.05}.login-page__description[data-v-47abc0e1],.login-page__form-subtitle[data-v-47abc0e1]{margin:0;color:var(--text-secondary);line-height:1.8}.login-page__form-title[data-v-47abc0e1]{margin:0 0 8px;font-family:var(--font-display);font-size:28px}.login-page__form-head[data-v-47abc0e1]{display:flex;justify-content:space-between;gap:16px;align-items:start}.login-page__card[data-v-47abc0e1]{background:color-mix(in srgb,var(--surface-color) 94%,white 6%);box-shadow:var(--surface-shadow)}.login-page__feature-list[data-v-47abc0e1]{display:grid;gap:12px}.login-page__feature-item[data-v-47abc0e1]{display:flex;align-items:center;gap:12px;color:var(--text-secondary);line-height:1.7}.login-page__feature-dot[data-v-47abc0e1]{width:10px;height:10px;flex:0 0 auto;border-radius:999px;background:linear-gradient(135deg,var(--primary-color),var(--accent-color));box-shadow:0 0 0 6px var(--primary-soft)}.login-page__error[data-v-47abc0e1]{border-radius:16px}.login-page__footnote[data-v-47abc0e1],.login-page__backend-summary[data-v-47abc0e1]{color:var(--text-secondary);font-size:13px;line-height:1.7}@media(max-width:1023px){.login-page[data-v-47abc0e1]{min-height:auto;padding:24px 0 40px}.login-page__form-head[data-v-47abc0e1]{flex-direction:column;align-items:stretch}}.reader-page[data-v-b764de0c]{--reader-font-size: 19px;--reader-line-height: 1.95;--reader-letter-spacing: 0px;--reader-paragraph-spacing: 1;--reader-content-width: 72ch;--reader-column-max: 960px;--reader-side-width: 192px;--reader-side-gap: clamp(18px, 2vw, 24px);--reader-page-gutter: clamp(18px, 2.2vw, 30px);--reader-column-width: min( var(--reader-column-max), calc( 100vw - (var(--reader-page-gutter) * 2) - (var(--reader-side-width) * 2) - (var(--reader-side-gap) * 2) ) );min-height:100dvh;padding:var(--reader-page-gutter);background:radial-gradient(circle at 14% 10%,rgba(74,159,217,.14),transparent 22%),radial-gradient(circle at 86% 16%,rgba(244,164,180,.12),transparent 24%),radial-gradient(circle at 50% 100%,rgba(255,255,255,.2),transparent 32%),var(--reader-page-bg);color:var(--reader-body)}.reader-page--light[data-v-b764de0c]{color-scheme:light;--reader-page-bg: linear-gradient(180deg, #D6ECFA 0%, #F0DEE8 100%);--reader-panel-bg: rgba(255, 255, 255, .74);--reader-panel-border: rgba(74, 159, 217, .18);--reader-panel-shadow: 0 24px 60px rgba(74, 159, 217, .12);--reader-paper-bg: linear-gradient(180deg, rgba(255, 255, 255, .9), rgba(232, 244, 252, .92)), linear-gradient(135deg, rgba(255, 255, 255, .3), rgba(255, 255, 255, 0));--reader-paper-border: rgba(74, 159, 217, .14);--reader-paper-shadow: 0 30px 80px rgba(74, 159, 217, .12);--reader-heading: #2D3A4A;--reader-body: #3D4A5A;--reader-muted: #7A8A9A;--reader-accent: #F4A4B4;--reader-progress-rail: rgba(74, 159, 217, .2);--reader-action-bg: rgba(255, 255, 255, .58);--reader-action-hover: rgba(255, 255, 255, .86);--reader-settings-bg: rgba(232, 244, 252, .56);--reader-settings-border: rgba(74, 159, 217, .12)}.reader-page--dark[data-v-b764de0c]{color-scheme:dark;background-color:#141426;background:var(--reader-page-bg);--reader-page-bg: #1A1A2E;--reader-panel-bg: rgba(37, 37, 64, .94);--reader-panel-border: transparent;--reader-panel-shadow: 0 24px 64px rgba(0, 0, 0, .38);--reader-paper-bg: #1E1E32;--reader-paper-border: transparent;--reader-paper-shadow: 0 34px 88px rgba(0, 0, 0, .42);--reader-heading: #FFF0F3;--reader-body: #D8D8E8;--reader-muted: #A0A0C0;--reader-accent: #FF8FAB;--reader-progress-rail: rgba(255, 255, 255, .12);--reader-action-bg: rgba(255, 255, 255, .04);--reader-action-hover: rgba(255, 255, 255, .08);--reader-settings-bg: rgba(255, 143, 171, .04);--reader-settings-border: transparent}.reader-page--dark .reader-progress-bar[data-v-b764de0c]{background:#ffffff1f}.reader-page--dark .reader-progress-bar__fill[data-v-b764de0c]{background:#fff}.reader-page--dark .reader-glass[data-v-b764de0c]{-webkit-backdrop-filter:none;backdrop-filter:none}.reader-shell[data-v-b764de0c]{position:relative}.reader-loading[data-v-b764de0c]{display:grid;grid-template-columns:var(--reader-side-width) minmax(0,var(--reader-column-width)) var(--reader-side-width);justify-content:center;gap:var(--reader-side-gap);align-items:start}.reader-loading__main[data-v-b764de0c]{display:grid;gap:20px}.reader-loading__panel[data-v-b764de0c],.reader-loading__paper[data-v-b764de0c]{padding:20px}.reader-glass[data-v-b764de0c]{border:1px solid var(--reader-panel-border);border-radius:28px;background:var(--reader-panel-bg);box-shadow:var(--reader-panel-shadow);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);-webkit-mask-image:-webkit-radial-gradient(white,black)}.reader-paper[data-v-b764de0c]{position:relative;overflow:hidden;width:min(100%,var(--reader-column-width));max-width:var(--reader-column-width);margin:0 auto;padding:clamp(28px,4vw,54px);border:1px solid var(--reader-paper-border);border-radius:34px;background:var(--reader-paper-bg);background-clip:padding-box;box-shadow:var(--reader-paper-shadow);transform:translateZ(0);-webkit-transform:translateZ(0)}.reader-page--light .reader-paper[data-v-b764de0c]:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(180deg,rgba(255,255,255,.12),transparent 18%),radial-gradient(circle at top right,rgba(255,255,255,.12),transparent 28%);pointer-events:none;transform:translateZ(0)}.reader-page__alert[data-v-b764de0c]{margin-bottom:22px;border-radius:18px}.reader-rail[data-v-b764de0c],.reader-float[data-v-b764de0c]{position:fixed;top:50%;z-index:24;transform:translateY(-50%)}.reader-rail[data-v-b764de0c]{left:calc(50% - (var(--reader-column-width) / 2) - var(--reader-side-width) - var(--reader-side-gap));width:var(--reader-side-width)}.reader-float[data-v-b764de0c]{left:calc(50% + (var(--reader-column-width) / 2) + var(--reader-side-gap));width:var(--reader-side-width)}.reader-rail__panel[data-v-b764de0c],.reader-float__panel[data-v-b764de0c]{width:100%;max-height:calc(100dvh - 48px);padding:16px;box-sizing:border-box;display:flex;flex-direction:column;gap:12px;overflow-x:hidden;overflow-y:auto}.reader-rail__panel[data-v-b764de0c],.reader-rail__brand[data-v-b764de0c],.reader-rail__actions[data-v-b764de0c],.reader-rail__action[data-v-b764de0c],.reader-float__panel[data-v-b764de0c],.reader-float__actions[data-v-b764de0c]{min-width:0}.reader-rail__brand[data-v-b764de0c]{display:grid;gap:6px}.reader-eyebrow[data-v-b764de0c]{display:inline-flex;width:-moz-fit-content;width:fit-content;max-width:100%;padding:6px 12px;border-radius:999px;background:color-mix(in srgb,var(--reader-accent) 16%,transparent);color:var(--reader-accent);font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.reader-rail__chapter[data-v-b764de0c]{color:var(--reader-heading);font-size:16px;line-height:1.5}.reader-rail__sync[data-v-b764de0c]{color:var(--reader-muted);font-size:12px}.reader-rail__actions[data-v-b764de0c],.reader-float__actions[data-v-b764de0c]{width:100%;display:flex;flex-direction:column;gap:10px}.reader-rail__action[data-v-b764de0c]{width:100%;max-width:100%;min-width:0;box-sizing:border-box;display:flex;flex-direction:column;align-items:flex-start;gap:6px;padding:12px 14px;border:1px solid transparent;border-radius:18px;background:var(--reader-action-bg);color:inherit;text-align:left;cursor:pointer;transition:transform .18s ease,background .18s ease,border-color .18s ease}.reader-rail__action[data-v-b764de0c]:hover{transform:translateY(-1px);background:var(--reader-action-hover);border-color:color-mix(in srgb,var(--reader-accent) 22%,transparent)}.reader-rail__action strong[data-v-b764de0c],.reader-rail__action span[data-v-b764de0c]{width:100%;max-width:100%;overflow-wrap:anywhere}.reader-rail__action strong[data-v-b764de0c]{color:var(--reader-heading);font-size:15px}.reader-rail__action span[data-v-b764de0c]{color:var(--reader-muted);font-size:12px;line-height:1.5}.reader-stage[data-v-b764de0c]{width:100%;min-width:0;display:grid;gap:24px;overscroll-behavior-x:none;touch-action:pan-y}.reader-stage__hero[data-v-b764de0c]{width:min(100%,var(--reader-column-width));max-width:var(--reader-column-width);margin:0 auto;display:grid;gap:14px;padding-top:20px}.reader-stage__header[data-v-b764de0c]{display:flex;justify-content:space-between;gap:24px;align-items:end}.reader-stage__chapter[data-v-b764de0c]{margin:0;color:var(--reader-muted);font-size:14px}.reader-stage__book[data-v-b764de0c]{margin:0 0 8px;color:var(--reader-muted);font-size:13px;letter-spacing:.04em;text-transform:uppercase}.reader-stage__title[data-v-b764de0c]{margin:10px 0 0;color:var(--reader-heading);font-family:var(--font-display);font-size:clamp(34px,5vw,62px);line-height:1.02}.reader-stage__stat[data-v-b764de0c]{min-width:160px;display:grid;gap:4px;justify-items:end}.reader-stage__stat span[data-v-b764de0c],.reader-stage__stat small[data-v-b764de0c],.reader-drawer__summary p[data-v-b764de0c],.reader-float__summary[data-v-b764de0c]{color:var(--reader-muted)}.reader-stage__stat strong[data-v-b764de0c]{color:var(--reader-heading);font-size:clamp(28px,4vw,40px);line-height:1}.reader-drawer__summary[data-v-b764de0c]{display:flex;justify-content:space-between;gap:16px;align-items:baseline}.reader-drawer__summary span[data-v-b764de0c],.reader-float__stat span[data-v-b764de0c]{color:var(--reader-muted);font-size:13px}.reader-drawer__summary strong[data-v-b764de0c],.reader-float__stat strong[data-v-b764de0c]{color:var(--reader-heading);font-size:28px;line-height:1}.reader-content[data-v-b764de0c]{position:relative;width:min(100%,var(--reader-content-width));max-width:100%;margin:0 auto;color:var(--reader-body);font-size:var(--reader-font-size);line-height:var(--reader-line-height);letter-spacing:var(--reader-letter-spacing);word-break:break-word;transition:opacity .18s ease}.reader-content__paragraph[data-v-b764de0c]{margin:0;text-indent:2em;white-space:pre-wrap;word-break:break-word}.reader-content__paragraph+.reader-content__paragraph[data-v-b764de0c]{margin-top:calc(var(--reader-font-size) * var(--reader-line-height) * var(--reader-paragraph-spacing))}.reader-content__paragraph+.reader-content__image-block[data-v-b764de0c],.reader-content__image-block+.reader-content__paragraph[data-v-b764de0c],.reader-content__image-block+.reader-content__image-block[data-v-b764de0c]{margin-top:calc(var(--reader-font-size) * var(--reader-line-height) * var(--reader-paragraph-spacing))}.reader-content__image-block[data-v-b764de0c]{margin:0}.reader-content__image[data-v-b764de0c]{display:block;width:auto;max-width:100%;max-height:min(72dvh,960px);margin:0 auto;border-radius:22px;-o-object-fit:contain;object-fit:contain;box-shadow:0 20px 48px #0000002e}.reader-content--dimmed[data-v-b764de0c]{opacity:.56}.reader-content--loading[data-v-b764de0c]{display:grid;gap:12px}.reader-paper__chapter-nav[data-v-b764de0c]{margin-top:28px;padding-top:18px;border-top:1px solid color-mix(in srgb,var(--reader-paper-border) 88%,transparent)}.reader-paper__chapter-actions[data-v-b764de0c]{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.reader-float__panel[data-v-b764de0c]{gap:16px}.reader-float__stat[data-v-b764de0c]{display:grid;gap:6px}.reader-float__summary[data-v-b764de0c]{display:grid;gap:4px;font-size:13px;line-height:1.7}.reader-drawer__summary[data-v-b764de0c]{display:grid;gap:8px}.reader-drawer__surface[data-v-b764de0c]{color:var(--reader-body);background:var(--reader-panel-bg);padding:20px;height:100%;display:flex;flex-direction:column;box-sizing:border-box}.reader-drawer__header[data-v-b764de0c]{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:18px}.reader-drawer__title[data-v-b764de0c]{color:var(--reader-heading);font-size:18px;font-weight:600}.reader-drawer__close[data-v-b764de0c]{display:inline-flex;padding:4px;border:none;border-radius:8px;background:transparent;color:var(--reader-muted);cursor:pointer;transition:background .18s ease,color .18s ease}.reader-drawer__close[data-v-b764de0c]:hover{background:var(--reader-action-bg);color:var(--reader-heading)}.reader-drawer__progress[data-v-b764de0c]{margin-top:18px}.reader-catalog__list[data-v-b764de0c]{display:grid;gap:10px;min-height:0;overflow-y:auto;padding-right:12px}.reader-catalog__list--drawer[data-v-b764de0c]{flex:1;min-height:0;margin-top:18px}.reader-catalog__list[data-v-b764de0c]{scrollbar-width:auto}.reader-page--light .reader-catalog__list[data-v-b764de0c]{scrollbar-color:rgba(74,159,217,.5) transparent}.reader-page--dark .reader-catalog__list[data-v-b764de0c]{scrollbar-color:rgba(255,255,255,.35) transparent}.reader-catalog__list[data-v-b764de0c]::-webkit-scrollbar{width:14px}.reader-catalog__list[data-v-b764de0c]::-webkit-scrollbar-thumb:vertical{min-height:48px}@media(hover:none){.reader-catalog__list[data-v-b764de0c]::-webkit-scrollbar{width:16px}}.reader-catalog__list[data-v-b764de0c]::-webkit-scrollbar-track{background:transparent}.reader-page--light .reader-catalog__list[data-v-b764de0c]::-webkit-scrollbar-thumb{background:#4a9fd980;border-radius:999px}.reader-page--light .reader-catalog__list[data-v-b764de0c]::-webkit-scrollbar-thumb:hover{background:#4a9fd9b3}.reader-page--dark .reader-catalog__list[data-v-b764de0c]::-webkit-scrollbar-thumb{background:#ffffff59;border-radius:999px}.reader-page--dark .reader-catalog__list[data-v-b764de0c]::-webkit-scrollbar-thumb:hover{background:#ffffff8c}.reader-catalog__item[data-v-b764de0c]{display:grid;gap:6px;padding:14px 16px;border:1px solid var(--reader-panel-border);border-radius:18px;background:transparent;color:inherit;text-align:left;cursor:pointer;transition:transform .18s ease,border-color .18s ease,background .18s ease}.reader-catalog__item[data-v-b764de0c]:hover{transform:translateY(-1px);border-color:color-mix(in srgb,var(--reader-accent) 24%,transparent);background:color-mix(in srgb,var(--reader-accent) 8%,transparent)}.reader-catalog__item--active[data-v-b764de0c]{border-color:color-mix(in srgb,var(--reader-accent) 28%,transparent);background:color-mix(in srgb,var(--reader-accent) 12%,transparent)}.reader-catalog__jump[data-v-b764de0c]{margin-top:16px;padding:14px 16px;border:1px solid var(--reader-panel-border);border-radius:16px;background:var(--reader-settings-bg)}.reader-catalog__jump-label[data-v-b764de0c]{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:10px}.reader-catalog__jump-label span[data-v-b764de0c]{color:var(--reader-muted);font-size:13px}.reader-catalog__jump-label strong[data-v-b764de0c]{color:var(--reader-heading);font-size:14px;font-weight:600}.reader-catalog__index[data-v-b764de0c]{color:var(--reader-muted);font-size:12px}.reader-catalog__title[data-v-b764de0c]{color:var(--reader-heading);line-height:1.6}.reader-settings[data-v-b764de0c]{display:grid;gap:16px;flex:1;min-height:0;overflow-y:auto}.reader-settings__group[data-v-b764de0c]{display:grid;gap:14px;padding:18px;border:1px solid var(--reader-panel-border);border-radius:22px;background:transparent}.reader-settings__label-row[data-v-b764de0c]{display:flex;justify-content:space-between;gap:12px;align-items:baseline}.reader-settings__theme-mode[data-v-b764de0c],.reader-settings__label-row span[data-v-b764de0c]{color:var(--reader-muted);font-size:13px}.reader-settings__label-row strong[data-v-b764de0c]{color:var(--reader-heading);font-size:16px}@media(max-width:1320px){.reader-page[data-v-b764de0c]{--reader-side-width: 184px;--reader-side-gap: 18px}}@media(max-width:1120px){.reader-page[data-v-b764de0c]{--reader-side-width: 168px}.reader-rail__panel[data-v-b764de0c],.reader-float__panel[data-v-b764de0c]{padding:14px}.reader-rail__action[data-v-b764de0c]{padding:11px 12px}}@media(max-width:980px){.reader-page[data-v-b764de0c]{--reader-column-width: 100%;padding:0}.reader-shell[data-v-b764de0c],.reader-loading[data-v-b764de0c]{grid-template-columns:1fr;gap:0}.reader-loading__panel--rail[data-v-b764de0c],.reader-loading__panel--float[data-v-b764de0c]{display:none}.reader-loading__main[data-v-b764de0c]{padding:18px}.reader-stage[data-v-b764de0c]{min-height:100dvh;gap:18px}.reader-stage__hero[data-v-b764de0c],.reader-paper[data-v-b764de0c]{width:auto;max-width:none}.reader-stage__hero[data-v-b764de0c]{padding:26px 18px 0}.reader-stage__header[data-v-b764de0c]{flex-direction:column;align-items:stretch}.reader-stage__stat[data-v-b764de0c]{display:none}.reader-paper[data-v-b764de0c]{margin:0 10px;padding:26px 20px 30px;border-radius:30px}.reader-float[data-v-b764de0c]{display:none}.reader-rail[data-v-b764de0c]{position:fixed;top:14px;left:14px;z-index:30;width:min(260px,calc(100vw - 28px));opacity:0;pointer-events:none;transform:translateY(-10px);transition:opacity .18s ease,transform .18s ease}.reader-rail--active[data-v-b764de0c]{opacity:1;pointer-events:auto;transform:translateY(0)}}@media(max-width:720px){.reader-stage__title[data-v-b764de0c]{font-size:clamp(30px,8vw,42px)}.reader-content[data-v-b764de0c]{width:var(--reader-content-width-mobile)}.reader-drawer__summary[data-v-b764de0c]{display:grid;gap:8px}}.reader-drawer[data-v-b764de0c]{position:fixed;top:0;right:0;bottom:0;left:0;z-index:100}.reader-drawer__backdrop[data-v-b764de0c]{position:absolute;top:0;right:0;bottom:0;left:0;background:#00000059}.reader-drawer__panel[data-v-b764de0c]{position:absolute;top:0;left:0;height:100%;overflow:hidden;display:flex;flex-direction:column;background:var(--reader-panel-bg)}.reader-drawer-enter-active[data-v-b764de0c],.reader-drawer-leave-active[data-v-b764de0c]{transition:opacity .28s ease}.reader-drawer-enter-from[data-v-b764de0c],.reader-drawer-leave-to[data-v-b764de0c]{opacity:0}.reader-drawer-enter-active .reader-drawer__panel[data-v-b764de0c],.reader-drawer-leave-active .reader-drawer__panel[data-v-b764de0c]{transition:transform .28s ease}.reader-drawer-enter-from .reader-drawer__panel[data-v-b764de0c],.reader-drawer-leave-to .reader-drawer__panel[data-v-b764de0c]{transform:translate(-100%)}.reader-progress-bar[data-v-b764de0c]{width:100%;height:6px;border-radius:999px;background:var(--reader-progress-rail);overflow:hidden}.reader-progress-bar__fill[data-v-b764de0c]{height:100%;border-radius:999px;background:var(--reader-accent);transition:width .3s ease}.reader-radio[data-v-b764de0c]{display:inline-flex;align-items:center;padding:8px 14px;border:1px solid var(--reader-panel-border);border-radius:14px;background:var(--reader-action-bg);color:var(--reader-muted);font-size:13px;cursor:pointer;transition:all .18s ease}.reader-radio[data-v-b764de0c]:hover{background:var(--reader-action-hover)}.reader-radio--active[data-v-b764de0c]{border-color:color-mix(in srgb,var(--reader-accent) 40%,transparent);background:color-mix(in srgb,var(--reader-accent) 14%,transparent);color:var(--reader-accent);font-weight:600}.reader-radio input[data-v-b764de0c]{position:absolute;opacity:0}.rule-page[data-v-8d24ea32]{width:min(100%,1720px);margin:0 auto;display:grid;gap:var(--space-5)}.rule-page__intro-stack[data-v-8d24ea32]{display:grid;gap:var(--space-3)}.rule-page[data-v-8d24ea32],.rule-page__intro-stack[data-v-8d24ea32],.rule-page__hero[data-v-8d24ea32],.rule-page__hero-copy[data-v-8d24ea32],.rule-page__hero-aside[data-v-8d24ea32],.rule-page__toolbar[data-v-8d24ea32],.rule-page__table-wrap[data-v-8d24ea32],.rule-test[data-v-8d24ea32],.rule-apply[data-v-8d24ea32],.rule-test__form[data-v-8d24ea32],.rule-test__result[data-v-8d24ea32],.rule-apply__form[data-v-8d24ea32],.rule-apply__result[data-v-8d24ea32],.rule-mobile-list[data-v-8d24ea32],.rule-mobile-card[data-v-8d24ea32],.rule-mobile-result-list[data-v-8d24ea32],.rule-mobile-result-card[data-v-8d24ea32]{min-width:0}.rule-page__hero[data-v-8d24ea32]{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(220px,.75fr);gap:24px;align-items:start;padding:clamp(20px,3vw,28px);border:1px solid var(--border-color-soft);border-radius:var(--radius-xl);background:radial-gradient(circle at top right,rgba(74,159,217,.14),transparent 28%),radial-gradient(circle at bottom left,rgba(244,164,180,.12),transparent 30%),var(--surface-raised);box-shadow:var(--shadow-soft)}.rule-page__hero-copy[data-v-8d24ea32]{min-width:0}.rule-page__hero-aside[data-v-8d24ea32]{display:flex;justify-content:flex-end}.rule-page__eyebrow[data-v-8d24ea32]{display:inline-flex;margin-bottom:12px;padding:6px 12px;border-radius:999px;background:#4a9fd929;color:var(--primary-color);font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.rule-page__title[data-v-8d24ea32]{margin:0;font-family:var(--font-display);font-size:clamp(28px,3.6vw,38px);line-height:1.12;overflow-wrap:anywhere}.rule-page__description[data-v-8d24ea32]{max-width:54ch;margin:12px 0 0;color:var(--text-secondary);line-height:1.75;overflow-wrap:anywhere}.rule-page__stats[data-v-8d24ea32]{display:grid;gap:10px;min-width:220px}.rule-page__stat[data-v-8d24ea32]{padding:14px 16px;border:1px solid var(--border-color-soft);border-radius:var(--radius-lg);background:#ffffffa3}.rule-page__stat span[data-v-8d24ea32]{display:block;color:var(--text-secondary);font-size:var(--text-caption)}.rule-page__stat strong[data-v-8d24ea32]{display:block;margin-top:4px;font-size:22px;line-height:1.1}.rule-page__toolbar[data-v-8d24ea32]{display:flex;justify-content:space-between;gap:12px;align-items:center;padding:14px 18px;border:1px solid var(--border-color-soft);border-radius:var(--radius-lg);background:#ffffffad;box-shadow:var(--shadow-soft)}.rule-page__toolbar-note[data-v-8d24ea32]{display:grid;gap:4px}.rule-page__toolbar-note span[data-v-8d24ea32]{color:var(--text-secondary);font-size:var(--text-caption)}.rule-page__toolbar-note strong[data-v-8d24ea32]{font-size:16px;line-height:1.45}.rule-page__toolbar-actions[data-v-8d24ea32]{display:flex;gap:12px;flex-wrap:wrap}.rule-page__alert[data-v-8d24ea32],.rule-test__alert[data-v-8d24ea32]{border-radius:18px}.rule-page__table-card[data-v-8d24ea32],.rule-page__apply-card[data-v-8d24ea32],.rule-page__test-card[data-v-8d24ea32]{border:1px solid var(--border-color-soft);border-radius:var(--radius-xl);background:var(--surface-raised);box-shadow:var(--shadow-soft)}.rule-page__card-title[data-v-8d24ea32]{font-weight:700}.rule-page__card-subtitle[data-v-8d24ea32]{color:var(--text-secondary);font-size:13px}.rule-page__table-wrap[data-v-8d24ea32],.rule-test__table-wrap[data-v-8d24ea32],.rule-apply__table-wrap[data-v-8d24ea32]{overflow-x:auto}.rule-mobile-list[data-v-8d24ea32],.rule-mobile-result-list[data-v-8d24ea32]{display:grid;gap:12px}.rule-mobile-card[data-v-8d24ea32],.rule-mobile-result-card[data-v-8d24ea32]{display:grid;gap:12px;padding:16px;border:1px solid var(--border-color-soft);border-radius:var(--radius-lg);background:#ffffff8f}.rule-mobile-card__header[data-v-8d24ea32],.rule-mobile-card__meta[data-v-8d24ea32],.rule-mobile-card__title-block[data-v-8d24ea32],.rule-mobile-card__section[data-v-8d24ea32],.rule-mobile-card__badges[data-v-8d24ea32],.rule-mobile-card__actions[data-v-8d24ea32]{display:grid;gap:8px}.rule-mobile-card__title[data-v-8d24ea32]{font-size:16px;line-height:1.5}.rule-mobile-card__time[data-v-8d24ea32],.rule-mobile-card__label[data-v-8d24ea32],.rule-mobile-card__value[data-v-8d24ea32],.rule-mobile-result-card__row span[data-v-8d24ea32],.rule-mobile-result-card__block span[data-v-8d24ea32]{color:var(--text-secondary);font-size:12px}.rule-mobile-card__description[data-v-8d24ea32]{margin:0;color:var(--text-primary);line-height:1.75}.rule-mobile-result-card__row[data-v-8d24ea32],.rule-mobile-result-card__block[data-v-8d24ea32]{display:grid;gap:6px}.rule-mobile-result-card__row strong[data-v-8d24ea32]{color:var(--text-primary);font-size:14px}.rule-code-block[data-v-8d24ea32]{display:block;width:100%;max-width:100%;min-width:0;padding:12px 14px;border:1px solid var(--border-color-soft);border-radius:var(--radius-md);background:#4a9fd914;color:var(--text-primary);font-family:SFMono-Regular,Consolas,Liberation Mono,Menlo,monospace;font-size:12px;line-height:1.7;white-space:pre;overflow-x:auto;overflow-y:hidden;box-sizing:border-box}.rule-form__intro[data-v-8d24ea32]{margin-bottom:16px;padding:14px 16px;border:1px solid var(--border-color-soft);border-radius:var(--radius-lg);background:#ffffff94}.rule-form__intro p[data-v-8d24ea32]{margin:0;color:var(--text-secondary);line-height:1.7}.rule-form-dialog[data-v-8d24ea32]{width:min(100%,42rem);max-height:calc(100dvh - 32px);overflow-y:auto}.rule-save-feedback[data-v-8d24ea32]{position:sticky;top:0;z-index:2;display:grid;gap:4px;margin-bottom:14px;padding:12px 14px;border:1px solid rgba(34,197,94,.22);border-radius:14px;background:color-mix(in srgb,var(--surface-color) 90%,#d6ecfa 10%);box-shadow:0 10px 24px #4a9fd929}.rule-save-feedback strong[data-v-8d24ea32]{font-size:14px;line-height:1.5}.rule-save-feedback p[data-v-8d24ea32]{margin:0;color:var(--text-secondary);font-size:12px;line-height:1.6}.rule-save-feedback-fade-enter-active[data-v-8d24ea32],.rule-save-feedback-fade-leave-active[data-v-8d24ea32]{transition:opacity .18s ease,transform .18s ease}.rule-save-feedback-fade-enter-from[data-v-8d24ea32],.rule-save-feedback-fade-leave-to[data-v-8d24ea32]{opacity:0;transform:translateY(-8px)}.rule-form__footer[data-v-8d24ea32]{display:flex;justify-content:flex-end;gap:12px;margin-top:20px}.rule-field__hint[data-v-8d24ea32]{display:grid;gap:10px;width:100%;margin-top:12px;color:var(--text-secondary);font-size:12px;line-height:1.7}.rule-table__primary[data-v-8d24ea32],.rule-table__secondary[data-v-8d24ea32]{display:grid;gap:8px}.rule-table__title[data-v-8d24ea32]{font-size:15px;line-height:1.5}.rule-table__badges[data-v-8d24ea32]{display:flex;flex-wrap:wrap;gap:8px}.rule-table__code[data-v-8d24ea32],.rule-test__match-cell[data-v-8d24ea32]{display:block;white-space:pre-wrap;word-break:break-word;color:var(--text-primary);font-size:12px;line-height:1.7}.rule-table__flags[data-v-8d24ea32],.rule-table__time[data-v-8d24ea32]{color:var(--text-secondary);font-size:12px}.rule-table__description[data-v-8d24ea32]{margin:0;color:var(--text-primary);line-height:1.7}.rule-test[data-v-8d24ea32],.rule-apply[data-v-8d24ea32]{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:20px}.rule-test__form[data-v-8d24ea32],.rule-test__result[data-v-8d24ea32],.rule-apply__form[data-v-8d24ea32],.rule-apply__result[data-v-8d24ea32]{padding:18px;border:1px solid var(--border-color-soft);border-radius:var(--radius-lg);background:#ffffff80}.rule-test__lead[data-v-8d24ea32],.rule-apply__lead[data-v-8d24ea32]{margin-bottom:18px}.rule-test__lead strong[data-v-8d24ea32],.rule-apply__lead strong[data-v-8d24ea32]{display:block;font-size:18px}.rule-test__lead p[data-v-8d24ea32],.rule-apply__lead p[data-v-8d24ea32]{margin:8px 0 0;color:var(--text-secondary);line-height:1.8}.rule-test__actions[data-v-8d24ea32],.rule-apply__actions[data-v-8d24ea32]{display:flex;flex-wrap:wrap;gap:12px}.rule-test__summary[data-v-8d24ea32],.rule-apply__summary[data-v-8d24ea32]{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-bottom:16px}.rule-test__summary-card[data-v-8d24ea32],.rule-apply__summary-card[data-v-8d24ea32]{padding:14px 16px;border:1px solid var(--border-color-soft);border-radius:var(--radius-md);background:#ffffffc7}.rule-test__summary-card span[data-v-8d24ea32],.rule-apply__summary-card span[data-v-8d24ea32]{display:block;color:var(--text-secondary);font-size:12px}.rule-test__summary-card strong[data-v-8d24ea32],.rule-apply__summary-card strong[data-v-8d24ea32]{display:block;margin-top:6px;font-size:22px}.rule-test__placeholder[data-v-8d24ea32],.rule-apply__placeholder[data-v-8d24ea32]{display:grid;gap:10px;align-content:start;min-height:100%;padding:12px 4px}.rule-test__placeholder strong[data-v-8d24ea32],.rule-apply__placeholder strong[data-v-8d24ea32]{font-size:18px}.rule-test__placeholder p[data-v-8d24ea32],.rule-apply__placeholder p[data-v-8d24ea32],.rule-apply__note[data-v-8d24ea32]{margin:0;color:var(--text-secondary);line-height:1.8}.rule-test__empty[data-v-8d24ea32]{padding:18px 0 4px}@media(max-width:960px){.rule-page__hero[data-v-8d24ea32],.rule-test[data-v-8d24ea32],.rule-apply[data-v-8d24ea32]{grid-template-columns:1fr;align-items:stretch}.rule-page__stats[data-v-8d24ea32]{min-width:0;grid-template-columns:repeat(3,minmax(0,1fr))}.rule-page__hero-aside[data-v-8d24ea32]{justify-content:stretch}.rule-page__toolbar[data-v-8d24ea32]{flex-direction:column;align-items:stretch}}@media(max-width:720px){.rule-form-dialog[data-v-8d24ea32]{width:calc(100vw - 24px);max-height:calc(100dvh - 24px);padding:16px;gap:14px}.rule-page__hero[data-v-8d24ea32],.rule-page__toolbar[data-v-8d24ea32]{padding:14px}.rule-page[data-v-8d24ea32]{gap:16px}.rule-page__title[data-v-8d24ea32]{font-size:clamp(24px,7vw,30px);line-height:1.2}.rule-page__description[data-v-8d24ea32]{max-width:none}.rule-page__stats[data-v-8d24ea32]{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.rule-test__summary[data-v-8d24ea32],.rule-apply__summary[data-v-8d24ea32]{grid-template-columns:1fr}.rule-page__hero-aside[data-v-8d24ea32]{justify-content:stretch}.rule-page__stat[data-v-8d24ea32],.rule-test__form[data-v-8d24ea32],.rule-test__result[data-v-8d24ea32],.rule-apply__form[data-v-8d24ea32],.rule-apply__result[data-v-8d24ea32],.rule-mobile-card[data-v-8d24ea32],.rule-mobile-result-card[data-v-8d24ea32]{padding:14px}.rule-page__stat[data-v-8d24ea32]{padding:12px 10px}.rule-page__stat span[data-v-8d24ea32]{font-size:11px;line-height:1.4}.rule-page__stat strong[data-v-8d24ea32]{font-size:18px}.rule-mobile-card__actions[data-v-8d24ea32]{grid-template-columns:1fr}.rule-page__toolbar-actions[data-v-8d24ea32],.rule-form__footer[data-v-8d24ea32],.rule-test__actions[data-v-8d24ea32],.rule-apply__actions[data-v-8d24ea32]{display:grid;grid-template-columns:1fr}.rule-page__card-subtitle[data-v-8d24ea32]{display:none}}.rule-page__card-header[data-v-8d24ea32]{display:flex;justify-content:space-between;align-items:center;padding:16px 20px;border-bottom:1px solid var(--border-color-soft)}.rule-form__fields[data-v-8d24ea32]{display:grid;gap:16px}.rule-form__field[data-v-8d24ea32]{display:grid;gap:8px}.rule-form__field label[data-v-8d24ea32]{color:var(--text-secondary);font-size:13px;font-weight:600}.rule-form__textarea[data-v-8d24ea32]{width:100%;padding:10px 12px;border:1px solid var(--border-color-soft);border-radius:var(--radius-md);background:#ffffffb8;color:var(--text-primary);font-family:inherit;font-size:14px;line-height:1.7;resize:vertical;outline:none;transition:border-color .16s ease}.rule-form__textarea[data-v-8d24ea32]:focus{border-color:var(--accent-color)}.rule-form__checkbox[data-v-8d24ea32]{width:16px;height:16px;accent-color:var(--primary-color);cursor:pointer}.rule-form__radio[data-v-8d24ea32]{display:inline-flex;align-items:center;padding:8px 14px;border:1px solid var(--border-color-soft);border-radius:var(--radius-md);background:#fff9;color:var(--text-secondary);font-size:13px;cursor:pointer;transition:all .16s ease}.rule-form__radio[data-v-8d24ea32]:hover{background:#fffc}.rule-form__radio--active[data-v-8d24ea32]{border-color:var(--primary-color);background:#4a9fd91f;color:var(--primary-color);font-weight:600}.rule-form__radio input[data-v-8d24ea32]{position:absolute;opacity:0}.rule-table[data-v-8d24ea32]{width:100%;border-collapse:collapse;border:1px solid var(--border-color-soft);border-radius:8px;overflow:hidden;font-size:14px}.rule-table th[data-v-8d24ea32],.rule-table td[data-v-8d24ea32]{padding:12px 16px;text-align:left;border-bottom:1px solid var(--border-color-soft);vertical-align:top}.rule-table th[data-v-8d24ea32]{background:var(--surface-soft, rgba(255, 245, 247, .56));font-weight:600;font-size:13px;color:var(--text-secondary)}.rule-table tbody tr[data-v-8d24ea32]:hover{background:#4a9fd924}.rule-table tbody tr:last-child td[data-v-8d24ea32]{border-bottom:none}.rule-table__pagination[data-v-8d24ea32]{display:flex;justify-content:center;align-items:center;gap:12px;margin-top:16px;padding:12px}.rule-table__page-info[data-v-8d24ea32]{color:var(--text-secondary);font-size:13px}.rule-result-table[data-v-8d24ea32]{width:100%;border-collapse:collapse;border:1px solid var(--border-color-soft);border-radius:8px;overflow:hidden;font-size:14px}.rule-result-table th[data-v-8d24ea32],.rule-result-table td[data-v-8d24ea32]{padding:10px 14px;text-align:left;border-bottom:1px solid var(--border-color-soft)}.rule-result-table th[data-v-8d24ea32]{background:var(--surface-soft, rgba(255, 245, 247, .56));font-weight:600;font-size:13px}.rule-result-table tbody tr:last-child td[data-v-8d24ea32]{border-bottom:none}.rule-form__label-row[data-v-8d24ea32]{display:flex;align-items:center;gap:8px;margin-bottom:8px}.rule-form__help-btn[data-v-8d24ea32]{width:22px;height:22px;padding:0;border-radius:999px;font-size:12px;font-weight:700;line-height:1;color:var(--text-secondary)}.rule-flags-group[data-v-8d24ea32]{display:flex;flex-wrap:wrap;gap:8px}.rule-flags-help[data-v-8d24ea32]{margin-top:10px;padding:12px 16px;border-radius:14px;background:var(--surface-soft, rgba(255, 245, 247, .56));border:1px solid var(--border-color-soft);display:grid;gap:8px}.rule-flags-help__item[data-v-8d24ea32]{display:flex;align-items:baseline;gap:10px;font-size:13px}.rule-flags-help__item code[data-v-8d24ea32]{padding:2px 8px;border-radius:6px;background:#4a9fd91f;color:var(--primary-color);font-size:12px;font-weight:600;white-space:nowrap}.rule-flags-help__item span[data-v-8d24ea32]{color:var(--text-secondary);line-height:1.5}@media(max-width:720px){.rule-form__fields[data-v-8d24ea32]{gap:14px}.rule-form__intro[data-v-8d24ea32]{margin-bottom:14px;padding:12px 14px}.rule-field__hint[data-v-8d24ea32]{gap:8px;margin-top:10px}}:root{color-scheme:light;font-family:var(--font-sans);--font-sans: "LXGW WenKai", "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", sans-serif;--font-display: "LXGW WenKai", "Palatino Linotype", "Times New Roman", "STSong", serif;--app-background: linear-gradient(180deg, #D6ECFA 0%, #F0DEE8 100%);--app-shell-color: #F0DEE8;--surface-color: #FFFFFF;--surface-shadow: 0 18px 48px rgba(74, 159, 217, .14);--surface-raised: color-mix(in srgb, var(--surface-color) 96%, #4A9FD9 4%);--surface-soft: color-mix(in srgb, var(--surface-color) 90%, #D6ECFA 10%);--surface-header-bg: rgba(255, 255, 255, .88);--surface-panel-bg: rgba(255, 255, 255, .72);--surface-panel-soft-bg: rgba(214, 236, 250, .56);--surface-card-bg: #FFFFFF;--surface-input-bg: rgba(214, 236, 250, .68);--surface-empty-bg: rgba(214, 236, 250, .78);--surface-stat-bg: rgba(214, 236, 250, .64);--surface-mobile-card-bg: rgba(255, 255, 255, .58);--surface-intro-bg: rgba(214, 236, 250, .6);--surface-test-bg: rgba(214, 236, 250, .52);--surface-tab-hover-bg: rgba(74, 159, 217, .1);--surface-tab-active-bg: rgba(255, 255, 255, .9);--surface-tab-active-border: rgba(74, 159, 217, .3);--surface-cover-bg: linear-gradient(180deg, #F0F8FF 0%, #E0E8F0 100%);--surface-cover-fill-bg: rgba(255, 255, 255, .72);--surface-cover-loading-bg: rgba(255, 255, 255, .82);--surface-code-bg: rgba(74, 159, 217, .08);--primary-color: #4A9FD9;--primary-soft: rgba(74, 159, 217, .18);--accent-color: #F4A4B4;--text-primary: #2D3A4A;--text-secondary: #5A6A7A;--border-color: rgba(74, 159, 217, .32);--border-color-soft: rgba(74, 159, 217, .18);--shadow-soft: 0 12px 30px rgba(74, 159, 217, .14);--shadow-card: 0 16px 40px rgba(74, 159, 217, .18);--shadow-modal: 0 24px 60px rgba(74, 159, 217, .14);--radius-sm: 10px;--radius-md: 16px;--radius-lg: 22px;--radius-xl: 28px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 20px;--space-6: 24px;--control-height-sm: 36px;--control-height-md: 40px;--control-height-lg: 46px;--text-title-1: clamp(30px, 4vw, 44px);--text-title-2: clamp(24px, 3vw, 34px);--text-body: 16px;--text-caption: 13px;--button-default-bg: #4A9FD9;--button-default-text: #ffffff;--button-default-hover: #3B8FD4;--button-destructive-bg: #dc2626;--button-destructive-hover: #b91c1c;--button-secondary-bg: #E0EFF8;--button-secondary-text: #2D3A4A;--button-secondary-hover: #D0E6F4;--button-secondary-border: rgba(74, 159, 217, .25);--button-ghost-text: #2D3A4A;--button-ghost-hover: #E0EFF8;--button-outline-border: #B0D4EC;--button-outline-bg: #ffffff;--button-outline-text: #2D3A4A;--button-outline-hover: #DDEEF8;--button-link-text: #2D3A4A;--button-link-bg: transparent;--button-link-hover-bg: transparent;--badge-default-bg: #4A9FD9;--badge-default-text: #ffffff;--badge-default-hover: #3B8FD4;--badge-secondary-bg: #E0EFF8;--badge-secondary-text: #2D3A4A;--badge-secondary-hover: #D0E6F4;--badge-destructive-bg: #fee2e2;--badge-destructive-text: #b91c1c;--badge-destructive-hover: #fecaca;--badge-outline-text: #2D3A4A;--badge-outline-border: #B0D4EC;--alert-default-bg: #DDEEF8;--alert-default-text: #2D3A4A;--alert-default-border: #B0D4EC;--alert-destructive-bg: #fef2f2;--alert-destructive-text: #b91c1c;--alert-destructive-border: #fecaca;--alert-info-bg: #D6ECFA;--alert-info-text: #2B7FC4;--alert-info-border: #8CC4E8;--alert-warning-bg: #fffbeb;--alert-warning-text: #b45309;--alert-warning-border: #fde68a;--alert-success-bg: #f0fdf4;--alert-success-text: #15803d;--alert-success-border: #bbf7d0;--slider-track-bg: rgba(74, 159, 217, .3);--slider-range-bg: #4A9FD9;--slider-thumb-bg: #ffffff;--slider-thumb-border: #B0D4EC;--dialog-bg: #ffffff;--dialog-border: #B0D4EC;--select-trigger-border: #B0D4EC;--select-content-bg: #ffffff;--select-content-border: #B0D4EC;--select-content-text: #2D3A4A;--select-item-focus-bg: #E0EFF8;--select-item-focus-text: #2D3A4A}body.app-theme--dark{color-scheme:dark;--app-background: radial-gradient(circle at top left, rgba(255, 143, 171, .1), transparent 25%), radial-gradient(circle at bottom right, rgba(184, 169, 255, .1), transparent 25%), linear-gradient(180deg, #1A1A2E 0%, #141426 100%);--app-shell-color: #1A1A2E;--surface-color: #252540;--surface-shadow: 0 18px 48px rgba(0, 0, 0, .4);--surface-raised: rgba(37, 37, 64, .92);--surface-soft: rgba(42, 42, 70, .78);--surface-header-bg: rgba(26, 26, 46, .92);--surface-panel-bg: rgba(255, 255, 255, .06);--surface-panel-soft-bg: rgba(255, 255, 255, .05);--surface-card-bg: rgba(37, 37, 64, .9);--surface-input-bg: rgba(255, 255, 255, .06);--surface-empty-bg: rgba(37, 37, 64, .9);--surface-stat-bg: rgba(255, 255, 255, .05);--surface-mobile-card-bg: rgba(255, 255, 255, .04);--surface-intro-bg: rgba(255, 255, 255, .05);--surface-test-bg: rgba(255, 255, 255, .04);--surface-tab-hover-bg: rgba(255, 143, 171, .08);--surface-tab-active-bg: rgba(255, 255, 255, .08);--surface-tab-active-border: rgba(255, 143, 171, .3);--surface-cover-bg: linear-gradient(180deg, #2E2E4D 0%, #1E1E38 100%);--surface-cover-fill-bg: rgba(255, 255, 255, .05);--surface-cover-loading-bg: rgba(255, 255, 255, .08);--surface-code-bg: rgba(255, 143, 171, .08);--primary-color: #FF8FAB;--primary-soft: rgba(255, 143, 171, .18);--accent-color: #B8A9FF;--text-primary: #FFF0F3;--text-secondary: #A0A0C0;--border-color: rgba(255, 143, 171, .18);--border-color-soft: rgba(255, 143, 171, .1);--shadow-soft: 0 12px 30px rgba(0, 0, 0, .35);--shadow-card: 0 16px 36px rgba(0, 0, 0, .42);--shadow-modal: 0 24px 60px rgba(0, 0, 0, .5);--button-default-bg: var(--primary-color);--button-default-text: var(--app-shell-color);--button-default-hover: #ff9eb8;--button-destructive-bg: #ef4444;--button-destructive-hover: #dc2626;--button-secondary-bg: rgba(255, 255, 255, .06);--button-secondary-text: var(--text-primary);--button-secondary-hover: rgba(255, 255, 255, .11);--button-secondary-border: rgba(255, 255, 255, .08);--button-ghost-text: var(--text-secondary);--button-ghost-hover: rgba(255, 255, 255, .06);--button-outline-border: rgba(255, 143, 171, .22);--button-outline-bg: transparent;--button-outline-text: var(--text-primary);--button-outline-hover: rgba(255, 143, 171, .08);--button-link-text: var(--primary-color);--button-link-bg: rgba(255, 143, 171, .08);--button-link-hover-bg: rgba(255, 143, 171, .14);--badge-default-bg: var(--primary-color);--badge-default-text: var(--app-shell-color);--badge-default-hover: #ff9eb8;--badge-secondary-bg: rgba(255, 255, 255, .08);--badge-secondary-text: var(--text-primary);--badge-secondary-hover: rgba(255, 255, 255, .13);--badge-destructive-bg: rgba(239, 68, 68, .18);--badge-destructive-text: #fca5a5;--badge-destructive-hover: rgba(239, 68, 68, .22);--badge-outline-text: var(--text-primary);--badge-outline-border: rgba(255, 143, 171, .25);--alert-default-bg: rgba(255, 255, 255, .05);--alert-default-text: var(--text-primary);--alert-default-border: rgba(255, 255, 255, .08);--alert-destructive-bg: rgba(239, 68, 68, .14);--alert-destructive-text: #fca5a5;--alert-destructive-border: rgba(239, 68, 68, .25);--alert-info-bg: rgba(59, 130, 246, .14);--alert-info-text: #93c5fd;--alert-info-border: rgba(59, 130, 246, .25);--alert-warning-bg: rgba(245, 158, 11, .14);--alert-warning-text: #fcd34d;--alert-warning-border: rgba(245, 158, 11, .25);--alert-success-bg: rgba(34, 197, 94, .14);--alert-success-text: #86efac;--alert-success-border: rgba(34, 197, 94, .25);--slider-track-bg: rgba(255, 255, 255, .12);--slider-range-bg: #ffffff;--slider-thumb-bg: #ffffff;--slider-thumb-border: rgba(255, 255, 255, .2);--dialog-bg: rgba(37, 37, 64, .96);--dialog-border: var(--border-color-soft);--select-trigger-border: var(--border-color-soft);--select-content-bg: rgba(37, 37, 64, .96);--select-content-border: var(--border-color-soft);--select-content-text: var(--text-primary);--select-item-focus-bg: rgba(255, 255, 255, .06);--select-item-focus-text: var(--text-primary)}body.app-theme--light{color-scheme:light}*{box-sizing:border-box}html,body{margin:0}html{background-color:#1a1a2e;min-height:100%;min-height:100dvh}body{background:var(--app-background);background-color:#1a1a2e;min-height:100%;min-height:100dvh;color:var(--text-primary);line-height:1.5;transition:background .18s ease,color .18s ease;padding-top:env(safe-area-inset-top);padding-bottom:env(safe-area-inset-bottom);padding-left:env(safe-area-inset-left);padding-right:env(safe-area-inset-right)}@media(display-mode:standalone){body{padding:0!important}}.book-detail-page__content{max-width:1400px;margin:0 auto;padding:24px 32px}@media(max-width:960px){.book-detail-page__content{padding:20px 24px}}@media(max-width:720px){.book-detail-page__content{padding:16px}}body,button,input,textarea,select{font:inherit}a{color:inherit;text-decoration:none}::-moz-selection{background:#4a9fd947}::selection{background:#4a9fd947}body.app-theme--dark ::-moz-selection{background:#ff8fab59}body.app-theme--dark ::selection{background:#ff8fab59}body.app-theme--dark .bookshelf-page__tabs{background:var(--surface-panel-soft-bg)}body.app-theme--dark .bookshelf-page__tab:hover{background:var(--surface-tab-hover-bg)}body.app-theme--dark .bookshelf-page__tab--active{background:var(--surface-tab-active-bg);border-color:var(--surface-tab-active-border);box-shadow:inset 0 0 0 1px #d68d5e14,0 6px 14px #0000003d}body.app-theme--dark .bookshelf-page__empty{border-color:var(--border-color-soft);background:var(--surface-empty-bg)}body.app-theme--dark .bookshelf-item{background:var(--surface-card-bg)}body.app-theme--dark .bookshelf-item__cover{border-color:var(--border-color-soft);background:var(--surface-cover-bg);color:var(--text-secondary)}body.app-theme--dark .bookshelf-item__cover--filled{background:var(--surface-cover-fill-bg)}body.app-theme--dark .bookshelf-item__cover--loading{background:var(--surface-cover-loading-bg)}body.app-theme--dark .rule-page__stat{background:var(--surface-stat-bg)}body.app-theme--dark .rule-page__toolbar{background:var(--surface-panel-bg)}body.app-theme--dark .rule-mobile-card,body.app-theme--dark .rule-mobile-result-card{background:var(--surface-mobile-card-bg)}body.app-theme--dark .rule-code-block{background:var(--surface-code-bg)}body.app-theme--dark .rule-form__intro{background:var(--surface-intro-bg)}body.app-theme--dark .rule-test__form,body.app-theme--dark .rule-test__result,body.app-theme--dark .rule-apply__form,body.app-theme--dark .rule-apply__result{background:var(--surface-test-bg)}body.app-theme--dark .detail-info-item,body.app-theme--dark .detail-group-list,body.app-theme--dark .detail-file-path{background:var(--surface-mobile-card-bg)}body.app-theme--dark .detail-hero__cover--filled,body.app-theme--dark .metadata-modal__cover--filled{background:var(--surface-cover-fill-bg)}body.app-theme--dark .metadata-modal__cover{border-color:var(--border-color-soft);background:var(--surface-cover-bg);color:var(--text-secondary)}body.app-theme--dark .bookshelf-page__filter-actions input{background:var(--surface-input-bg);color:var(--text-primary);border-color:var(--border-color-soft)}body.app-theme--dark .rule-table tbody tr:hover{background:#ff8fab0f}body.app-theme--dark .login-page__card{color:var(--text-primary)}body.app-theme--dark .login-page__card input{background:var(--surface-input-bg);border-color:var(--border-color-soft);color:var(--text-primary)}body.app-theme--dark .login-page__card input::-moz-placeholder{color:var(--text-secondary)}body.app-theme--dark .login-page__card input::placeholder{color:var(--text-secondary)}body.app-theme--dark .backend-switcher__radio{background:#ffffff0a;color:var(--text-secondary)}body.app-theme--dark .backend-switcher__radio:hover{background:#ffffff14}body.app-theme--dark .backend-switcher__radio--active{background:#ff8fab1a;color:var(--primary-color)}body.app-theme--dark .rule-form__textarea{background:var(--surface-input-bg);color:var(--text-primary)}body.app-theme--dark .rule-form__radio{background:#ffffff0a;color:var(--text-secondary)}body.app-theme--dark .rule-form__radio:hover{background:#ffffff14}body.app-theme--dark .rule-form__radio--active{background:#ff8fab1a;color:var(--primary-color)}body.app-theme--dark .group-manager__create{background:#ffffff0f}body.app-theme--dark .group-manager__item{background:#ffffff0a;border-color:#ffffff0f}*,:before,:after{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }::backdrop{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }*,:before,:after{box-sizing:border-box;border-width:0;border-style:solid;border-color:#e5e7eb}:before,:after{--tw-content: ""}html,:host{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;font-family:LXGW WenKai,PingFang SC,Hiragino Sans GB,Microsoft YaHei,sans-serif;font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent}body{margin:0;line-height:inherit}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-feature-settings:normal;font-variation-settings:normal;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-family:inherit;font-feature-settings:inherit;font-variation-settings:inherit;font-size:100%;font-weight:inherit;line-height:inherit;letter-spacing:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dl,dd,h1,h2,h3,h4,h5,h6,hr,figure,p,pre{margin:0}fieldset{margin:0;padding:0}legend{padding:0}ol,ul,menu{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}button,[role=button]{cursor:pointer}:disabled{cursor:default}img,svg,video,canvas,audio,iframe,embed,object{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]:where(:not([hidden=until-found])){display:none}.container{width:100%}@media(min-width:640px){.container{max-width:640px}}@media(min-width:768px){.container{max-width:768px}}@media(min-width:1024px){.container{max-width:1024px}}@media(min-width:1280px){.container{max-width:1280px}}@media(min-width:1536px){.container{max-width:1536px}}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}.collapse{visibility:collapse}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.sticky{position:sticky}.inset-0{top:0;right:0;bottom:0;left:0}.left-\[50\%\]{left:50%}.right-2{right:.5rem}.top-\[50\%\]{top:50%}.z-50{z-index:50}.mb-2{margin-bottom:.5rem}.mr-1{margin-right:.25rem}.mt-2{margin-top:.5rem}.block{display:block}.inline{display:inline}.flex{display:flex}.inline-flex{display:inline-flex}.table{display:table}.grid{display:grid}.contents{display:contents}.hidden{display:none}.h-1\.5{height:.375rem}.h-10{height:2.5rem}.h-12{height:3rem}.h-14{height:3.5rem}.h-20{height:5rem}.h-3\.5{height:.875rem}.h-4{height:1rem}.h-5{height:1.25rem}.h-8{height:2rem}.h-9{height:2.25rem}.h-\[1px\]{height:1px}.h-\[280px\]{height:280px}.h-full{height:100%}.max-h-96{max-height:24rem}.w-1\/2{width:50%}.w-20{width:5rem}.w-24{width:6rem}.w-3\.5{width:.875rem}.w-3\/4{width:75%}.w-32{width:8rem}.w-4{width:1rem}.w-8{width:2rem}.w-9{width:2.25rem}.w-\[1px\]{width:1px}.w-full{width:100%}.min-w-\[8rem\]{min-width:8rem}.max-w-2xl{max-width:42rem}.max-w-3xl{max-width:48rem}.max-w-lg{max-width:32rem}.max-w-md{max-width:28rem}.flex-shrink{flex-shrink:1}.shrink-0{flex-shrink:0}.grow{flex-grow:1}.border-collapse{border-collapse:collapse}.translate-x-\[-50\%\]{--tw-translate-x: -50%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.translate-y-\[-50\%\]{--tw-translate-y: -50%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}@keyframes pulse{50%{opacity:.5}}.animate-pulse{animation:pulse 2s cubic-bezier(.4,0,.6,1) infinite}@keyframes spin{to{transform:rotate(360deg)}}.animate-spin{animation:spin 1s linear infinite}.cursor-default{cursor:default}.cursor-pointer{cursor:pointer}.touch-none{touch-action:none}.select-none{-webkit-user-select:none;-moz-user-select:none;user-select:none}.resize{resize:both}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.items-center{align-items:center}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-1\.5{gap:.375rem}.gap-2{gap:.5rem}.gap-3{gap:.75rem}.gap-4{gap:1rem}.gap-6{gap:1.5rem}.space-y-1\.5>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.375rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.375rem * var(--tw-space-y-reverse))}.space-y-2>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.5rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.5rem * var(--tw-space-y-reverse))}.space-y-3>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.75rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.75rem * var(--tw-space-y-reverse))}.overflow-hidden{overflow:hidden}.whitespace-nowrap{white-space:nowrap}.rounded-2xl{border-radius:1rem}.rounded-3xl{border-radius:1.5rem}.rounded-full{border-radius:9999px}.rounded-lg{border-radius:8px}.rounded-md{border-radius:6px}.rounded-sm{border-radius:.125rem}.border{border-width:1px}.border-\[var\(--alert-default-border\)\]{border-color:var(--alert-default-border)}.border-\[var\(--alert-destructive-border\)\]{border-color:var(--alert-destructive-border)}.border-\[var\(--alert-info-border\)\]{border-color:var(--alert-info-border)}.border-\[var\(--alert-success-border\)\]{border-color:var(--alert-success-border)}.border-\[var\(--alert-warning-border\)\]{border-color:var(--alert-warning-border)}.border-\[var\(--badge-outline-border\)\]{border-color:var(--badge-outline-border)}.border-\[var\(--button-outline-border\)\]{border-color:var(--button-outline-border)}.border-\[var\(--button-secondary-border\)\]{border-color:var(--button-secondary-border)}.border-\[var\(--dialog-border\)\]{border-color:var(--dialog-border)}.border-\[var\(--select-content-border\)\]{border-color:var(--select-content-border)}.border-\[var\(--select-trigger-border\)\]{border-color:var(--select-trigger-border)}.border-\[var\(--slider-thumb-border\)\]{border-color:var(--slider-thumb-border)}.border-gray-200{--tw-border-opacity: 1;border-color:rgb(229 231 235 / var(--tw-border-opacity, 1))}.border-transparent{border-color:transparent}.bg-\[var\(--alert-default-bg\)\]{background-color:var(--alert-default-bg)}.bg-\[var\(--alert-destructive-bg\)\]{background-color:var(--alert-destructive-bg)}.bg-\[var\(--alert-info-bg\)\]{background-color:var(--alert-info-bg)}.bg-\[var\(--alert-success-bg\)\]{background-color:var(--alert-success-bg)}.bg-\[var\(--alert-warning-bg\)\]{background-color:var(--alert-warning-bg)}.bg-\[var\(--badge-default-bg\)\]{background-color:var(--badge-default-bg)}.bg-\[var\(--badge-destructive-bg\)\]{background-color:var(--badge-destructive-bg)}.bg-\[var\(--badge-secondary-bg\)\]{background-color:var(--badge-secondary-bg)}.bg-\[var\(--button-default-bg\)\]{background-color:var(--button-default-bg)}.bg-\[var\(--button-destructive-bg\)\]{background-color:var(--button-destructive-bg)}.bg-\[var\(--button-link-bg\)\]{background-color:var(--button-link-bg)}.bg-\[var\(--button-outline-bg\)\]{background-color:var(--button-outline-bg)}.bg-\[var\(--button-secondary-bg\)\]{background-color:var(--button-secondary-bg)}.bg-\[var\(--dialog-bg\)\]{background-color:var(--dialog-bg)}.bg-\[var\(--select-content-bg\)\]{background-color:var(--select-content-bg)}.bg-\[var\(--slider-range-bg\)\]{background-color:var(--slider-range-bg)}.bg-\[var\(--slider-thumb-bg\)\]{background-color:var(--slider-thumb-bg)}.bg-\[var\(--slider-track-bg\)\]{background-color:var(--slider-track-bg)}.bg-black\/30{background-color:#0000004d}.bg-gray-200{--tw-bg-opacity: 1;background-color:rgb(229 231 235 / var(--tw-bg-opacity, 1))}.bg-transparent{background-color:transparent}.bg-white{--tw-bg-opacity: 1;background-color:rgb(255 255 255 / var(--tw-bg-opacity, 1))}.p-1{padding:.25rem}.p-4{padding:1rem}.p-5{padding:1.25rem}.p-6{padding:1.5rem}.px-2\.5{padding-left:.625rem;padding-right:.625rem}.px-3{padding-left:.75rem;padding-right:.75rem}.px-4{padding-left:1rem;padding-right:1rem}.px-8{padding-left:2rem;padding-right:2rem}.py-0\.5{padding-top:.125rem;padding-bottom:.125rem}.py-1{padding-top:.25rem;padding-bottom:.25rem}.py-1\.5{padding-top:.375rem;padding-bottom:.375rem}.py-16{padding-top:4rem;padding-bottom:4rem}.py-2{padding-top:.5rem;padding-bottom:.5rem}.py-8{padding-top:2rem;padding-bottom:2rem}.pl-2{padding-left:.5rem}.pr-8{padding-right:2rem}.pt-0{padding-top:0}.pt-2{padding-top:.5rem}.pt-6{padding-top:1.5rem}.text-center{text-align:center}.text-lg{font-size:1.125rem;line-height:1.75rem}.text-sm{font-size:.875rem;line-height:1.25rem}.text-xs{font-size:.75rem;line-height:1rem}.font-medium{font-weight:500}.font-semibold{font-weight:600}.uppercase{text-transform:uppercase}.leading-none{line-height:1}.tracking-tight{letter-spacing:-.025em}.text-\[var\(--alert-default-text\)\]{color:var(--alert-default-text)}.text-\[var\(--alert-destructive-text\)\]{color:var(--alert-destructive-text)}.text-\[var\(--alert-info-text\)\]{color:var(--alert-info-text)}.text-\[var\(--alert-success-text\)\]{color:var(--alert-success-text)}.text-\[var\(--alert-warning-text\)\]{color:var(--alert-warning-text)}.text-\[var\(--badge-default-text\)\]{color:var(--badge-default-text)}.text-\[var\(--badge-destructive-text\)\]{color:var(--badge-destructive-text)}.text-\[var\(--badge-outline-text\)\]{color:var(--badge-outline-text)}.text-\[var\(--badge-secondary-text\)\]{color:var(--badge-secondary-text)}.text-\[var\(--button-default-text\)\]{color:var(--button-default-text)}.text-\[var\(--button-ghost-text\)\]{color:var(--button-ghost-text)}.text-\[var\(--button-link-text\)\]{color:var(--button-link-text)}.text-\[var\(--button-outline-text\)\]{color:var(--button-outline-text)}.text-\[var\(--button-secondary-text\)\]{color:var(--button-secondary-text)}.text-\[var\(--select-content-text\)\]{color:var(--select-content-text)}.text-\[var\(--text-primary\)\]{color:var(--text-primary)}.text-\[var\(--text-secondary\)\]{color:var(--text-secondary)}.text-gray-400{--tw-text-opacity: 1;color:rgb(156 163 175 / var(--tw-text-opacity, 1))}.text-gray-500{--tw-text-opacity: 1;color:rgb(107 114 128 / var(--tw-text-opacity, 1))}.text-gray-900{--tw-text-opacity: 1;color:rgb(17 24 39 / var(--tw-text-opacity, 1))}.text-red-600{--tw-text-opacity: 1;color:rgb(220 38 38 / var(--tw-text-opacity, 1))}.text-white{--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity, 1))}.underline-offset-4{text-underline-offset:4px}.opacity-25{opacity:.25}.opacity-50{opacity:.5}.opacity-75{opacity:.75}.shadow{--tw-shadow: 0 1px 3px 0 rgb(0 0 0 / .1), 0 1px 2px -1px rgb(0 0 0 / .1);--tw-shadow-colored: 0 1px 3px 0 var(--tw-shadow-color), 0 1px 2px -1px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-lg{--tw-shadow: 0 10px 15px -3px rgb(0 0 0 / .1), 0 4px 6px -4px rgb(0 0 0 / .1);--tw-shadow-colored: 0 10px 15px -3px var(--tw-shadow-color), 0 4px 6px -4px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-md{--tw-shadow: 0 4px 6px -1px rgb(0 0 0 / .1), 0 2px 4px -2px rgb(0 0 0 / .1);--tw-shadow-colored: 0 4px 6px -1px var(--tw-shadow-color), 0 2px 4px -2px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-none{--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-sm{--tw-shadow: 0 1px 2px 0 rgb(0 0 0 / .05);--tw-shadow-colored: 0 1px 2px 0 var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.outline-none{outline:2px solid transparent;outline-offset:2px}.outline{outline-style:solid}.ring-offset-white{--tw-ring-offset-color: #fff}.blur{--tw-blur: blur(8px);filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.backdrop-filter{-webkit-backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)}.transition{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-all{transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-colors{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.duration-200{transition-duration:.2s}.file\:border-0::file-selector-button{border-width:0px}.file\:bg-transparent::file-selector-button{background-color:transparent}.file\:text-sm::file-selector-button{font-size:.875rem;line-height:1.25rem}.file\:font-medium::file-selector-button{font-weight:500}.placeholder\:text-\[var\(--text-secondary\)\]::-moz-placeholder{color:var(--text-secondary)}.placeholder\:text-\[var\(--text-secondary\)\]::placeholder{color:var(--text-secondary)}.hover\:bg-\[var\(--badge-default-hover\)\]:hover{background-color:var(--badge-default-hover)}.hover\:bg-\[var\(--badge-destructive-hover\)\]:hover{background-color:var(--badge-destructive-hover)}.hover\:bg-\[var\(--badge-secondary-hover\)\]:hover{background-color:var(--badge-secondary-hover)}.hover\:bg-\[var\(--button-default-hover\)\]:hover{background-color:var(--button-default-hover)}.hover\:bg-\[var\(--button-destructive-hover\)\]:hover{background-color:var(--button-destructive-hover)}.hover\:bg-\[var\(--button-ghost-hover\)\]:hover{background-color:var(--button-ghost-hover)}.hover\:bg-\[var\(--button-link-hover-bg\)\]:hover{background-color:var(--button-link-hover-bg)}.hover\:bg-\[var\(--button-outline-hover\)\]:hover{background-color:var(--button-outline-hover)}.hover\:bg-\[var\(--button-secondary-hover\)\]:hover{background-color:var(--button-secondary-hover)}.hover\:bg-red-50:hover{--tw-bg-opacity: 1;background-color:rgb(254 242 242 / var(--tw-bg-opacity, 1))}.hover\:text-\[var\(--text-primary\)\]:hover{color:var(--text-primary)}.hover\:text-red-700:hover{--tw-text-opacity: 1;color:rgb(185 28 28 / var(--tw-text-opacity, 1))}.hover\:underline:hover{text-decoration-line:underline}.focus\:bg-\[var\(--select-item-focus-bg\)\]:focus{background-color:var(--select-item-focus-bg)}.focus\:text-\[var\(--select-item-focus-text\)\]:focus{color:var(--select-item-focus-text)}.focus\:outline-none:focus{outline:2px solid transparent;outline-offset:2px}.focus\:ring-1:focus{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.focus\:ring-2:focus{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.focus\:ring-gray-400:focus{--tw-ring-opacity: 1;--tw-ring-color: rgb(156 163 175 / var(--tw-ring-opacity, 1))}.focus\:ring-offset-2:focus{--tw-ring-offset-width: 2px}.focus-visible\:outline-none:focus-visible{outline:2px solid transparent;outline-offset:2px}.focus-visible\:ring-1:focus-visible{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.focus-visible\:ring-2:focus-visible{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.focus-visible\:ring-\[var\(--primary-color\)\]:focus-visible{--tw-ring-color: var(--primary-color)}.focus-visible\:ring-gray-400:focus-visible{--tw-ring-opacity: 1;--tw-ring-color: rgb(156 163 175 / var(--tw-ring-opacity, 1))}.focus-visible\:ring-offset-2:focus-visible{--tw-ring-offset-width: 2px}.disabled\:pointer-events-none:disabled{pointer-events:none}.disabled\:cursor-not-allowed:disabled{cursor:not-allowed}.disabled\:opacity-50:disabled{opacity:.5}.data-\[disabled\]\:pointer-events-none[data-disabled]{pointer-events:none}.data-\[state\=active\]\:bg-white[data-state=active]{--tw-bg-opacity: 1;background-color:rgb(255 255 255 / var(--tw-bg-opacity, 1))}.data-\[state\=active\]\:text-\[var\(--text-primary\)\][data-state=active]{color:var(--text-primary)}.data-\[disabled\]\:opacity-50[data-disabled]{opacity:.5}.data-\[state\=active\]\:shadow-sm[data-state=active]{--tw-shadow: 0 1px 2px 0 rgb(0 0 0 / .05);--tw-shadow-colored: 0 1px 2px 0 var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}@media(min-width:640px){.sm\:text-left{text-align:left}}@media(min-width:1024px){.lg\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}}
