:root{--md3-color-primary:#000;--md3-color-primary-variant:#333;--md3-color-primary-rgb:0, 0, 0;--md3-color-secondary:gray;--md3-color-background:#fff;--md3-color-surface:#f5f5f5;--md3-color-surface-variant:#e7e0ec;--md3-color-outline:#79747e;--md3-color-error:#b00020;--md3-color-on-primary:#fff;--md3-color-on-secondary:#000;--md3-color-on-background:#000;--md3-color-on-surface:#000;--md3-color-on-surface-variant:#49454f;--md3-color-on-error:#fff;--layout-max-width:1600px;--layout-gutter:24px;--layout-gutter-mobile:16px;--workspace-gap:24px;--workspace-gap-tight:16px;--workspace-radius:28px;--workspace-radius-md:22px;--workspace-border:rgba(var(--md3-color-primary-rgb), .08);--workspace-border-strong:rgba(var(--md3-color-primary-rgb), .16);--workspace-shadow-soft:0 16px 38px #0f172a14;--workspace-shadow:0 24px 56px #0f172a1f}.dark-theme{--md3-color-primary:#fff;--md3-color-primary-variant:#ccc;--md3-color-primary-rgb:255, 255, 255;--md3-color-secondary:#a9a9a9;--md3-color-background:#121212;--md3-color-surface:#1e1e1e;--md3-color-surface-variant:#49454f;--md3-color-outline:#938f99;--md3-color-error:#cf6679;--md3-color-on-primary:#000;--md3-color-on-secondary:#000;--md3-color-on-background:#e0e0e0;--md3-color-on-surface:#e0e0e0;--md3-color-on-surface-variant:#cac4d0;--md3-color-on-error:#000;--workspace-border:rgba(var(--md3-color-primary-rgb), .12);--workspace-border-strong:rgba(var(--md3-color-primary-rgb), .22);--workspace-shadow-soft:0 18px 42px #00000057;--workspace-shadow:0 26px 64px #00000070}*{box-sizing:border-box}html,body,#app{min-height:100%}body{background:radial-gradient(circle at top, rgba(var(--md3-color-primary-rgb), .05) 0%, transparent 28%), var(--md3-color-background);min-height:100vh;color:var(--md3-color-on-background);text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;margin:0;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;line-height:1.6;transition:background-color .3s,color .3s}button,input,textarea,select{font:inherit}button{appearance:none}a{color:inherit}.app-header[data-v-fcc81808]{width:min(100%, var(--layout-max-width));padding:10px var(--layout-gutter) 8px;justify-content:center;margin:0 auto;display:flex}.app-header__controls[data-v-fcc81808]{align-items:center;gap:8px;display:flex}.app-header__divider[data-v-fcc81808]{background:var(--workspace-border-strong);flex-shrink:0;width:1px;height:28px}.app-header__tabs[data-v-fcc81808],.app-header__actions[data-v-fcc81808]{flex-wrap:wrap;gap:8px;display:flex}.app-header__tab[data-v-fcc81808],.header-btn[data-v-fcc81808]{border:1px solid var(--workspace-border-strong);background:color-mix(in srgb, var(--md3-color-surface) 92%, transparent);color:var(--md3-color-on-surface);cursor:pointer;border-radius:999px;padding:8px 14px;font-size:13px;font-weight:600;transition:transform .2s,background-color .2s,border-color .2s,box-shadow .2s,color .2s;box-shadow:0 8px 20px #0f172a0f}.app-header__tab.is-active[data-v-fcc81808],.header-btn--primary[data-v-fcc81808]{background:var(--md3-color-primary);color:var(--md3-color-on-primary);border-color:var(--md3-color-primary);box-shadow:0 14px 32px rgba(var(--md3-color-primary-rgb), .18)}.app-header__tab[data-v-fcc81808]:hover,.header-btn[data-v-fcc81808]:hover{border-color:var(--workspace-border-strong);transform:translateY(-1px)}@media (width<=900px){.app-header[data-v-fcc81808]{padding:10px var(--layout-gutter-mobile) 8px}.app-header__controls[data-v-fcc81808]{flex-wrap:wrap;justify-content:center}}@media (width<=640px){.app-header[data-v-fcc81808]{padding-top:8px}.app-header__tab[data-v-fcc81808],.header-btn[data-v-fcc81808]{padding:7px 12px;font-size:12px}}.app-shell[data-v-49a405d7]{--shell-sidebar-expanded-width:320px;--shell-sidebar-collapsed-width:88px;--shell-sidebar-width:var(--shell-sidebar-expanded-width);--shell-preview-width:320px;--shell-header-height:56px;--shell-panel-gap:18px;--shell-panel-top:calc(var(--shell-header-height) + 10px);--shell-panel-bottom-gap:18px;background:var(--md3-color-background);min-height:100vh;color:var(--md3-color-on-background);flex-direction:column;display:flex}.app-shell__body[data-v-49a405d7]{width:100%;padding:18px var(--layout-gutter) var(--layout-gutter);box-sizing:border-box;flex:1;position:relative}.app-shell__body--sidebar-collapsed[data-v-49a405d7]{--shell-sidebar-width:var(--shell-sidebar-collapsed-width)}.app-shell__sidebar[data-v-49a405d7],.app-shell__main[data-v-49a405d7],.app-shell__preview[data-v-49a405d7]{min-width:0}.app-shell__sidebar[data-v-49a405d7],.app-shell__preview[data-v-49a405d7]{top:var(--shell-panel-top);bottom:var(--shell-panel-bottom-gap);z-index:35;position:fixed}.app-shell__sidebar[data-v-49a405d7]{left:var(--layout-gutter);width:var(--shell-sidebar-width);transition:width .22s;overflow:hidden}.app-shell__main[data-v-49a405d7]{gap:var(--workspace-gap-tight);max-width:calc(100vw - var(--shell-sidebar-width) - (var(--layout-gutter) * 2) - var(--shell-panel-gap));margin-left:calc(var(--shell-sidebar-width) + var(--layout-gutter) + var(--shell-panel-gap));flex-direction:column;flex:1;padding-top:8px;display:flex}.app-shell__body--with-preview .app-shell__main[data-v-49a405d7]{max-width:calc(100vw - var(--shell-sidebar-width) - var(--shell-preview-width) - (var(--layout-gutter) * 2) - (var(--shell-panel-gap) * 2));margin-right:calc(var(--shell-preview-width) + var(--layout-gutter) + var(--shell-panel-gap))}.app-shell__preview[data-v-49a405d7]{right:var(--layout-gutter);width:var(--shell-preview-width);z-index:40;transition:opacity .28s,transform .28s,visibility .28s,box-shadow .28s}.app-shell__preview--hidden[data-v-49a405d7]{visibility:hidden;pointer-events:none;opacity:0;transform:translate(14px)scale(.98)}.app-shell__footer[data-v-49a405d7]{padding:20px var(--layout-gutter) 24px;color:var(--md3-color-on-surface-variant);background:var(--md3-color-background);margin-top:20px;margin-left:calc(var(--shell-sidebar-expanded-width) + var(--layout-gutter) + var(--shell-panel-gap));max-width:calc(100vw - var(--shell-sidebar-expanded-width) - (var(--layout-gutter) * 2) - var(--shell-panel-gap));justify-content:center;font-size:15px;display:flex}.app-shell__footer--sidebar-collapsed[data-v-49a405d7]{margin-left:calc(var(--shell-sidebar-collapsed-width) + var(--layout-gutter) + var(--shell-panel-gap));max-width:calc(100vw - var(--shell-sidebar-collapsed-width) - (var(--layout-gutter) * 2) - var(--shell-panel-gap))}@media (width<=1560px){.app-shell[data-v-49a405d7]{--shell-preview-width:296px}}@media (width<=1460px){.app-shell__body--with-preview .app-shell__main[data-v-49a405d7]{max-width:calc(100vw - var(--shell-sidebar-width) - (var(--layout-gutter) * 2) - var(--shell-panel-gap))}}@media (width<=900px){.app-shell[data-v-49a405d7]{--shell-header-height:0px;--shell-panel-top:0px;--shell-panel-bottom-gap:0px}.app-shell__body[data-v-49a405d7],.app-shell__body--with-preview[data-v-49a405d7],.app-shell__body--sidebar-collapsed[data-v-49a405d7],.app-shell__body--with-preview.app-shell__body--sidebar-collapsed[data-v-49a405d7]{padding:14px var(--layout-gutter-mobile) var(--layout-gutter-mobile);flex-direction:column;gap:14px;display:flex}.app-shell__sidebar[data-v-49a405d7],.app-shell__main[data-v-49a405d7]{width:100%;max-width:none;max-height:none;margin:0;position:static}.app-shell__main[data-v-49a405d7]{padding-top:0}.app-shell__preview[data-v-49a405d7],.app-shell__preview--hidden[data-v-49a405d7]{display:none}.app-shell__footer[data-v-49a405d7]{width:100%;max-width:none;margin:20px 0 0;padding:12px 0 16px;font-size:12px}}@media (width<=640px){.app-shell__body[data-v-49a405d7],.app-shell__body--with-preview[data-v-49a405d7],.app-shell__body--sidebar-collapsed[data-v-49a405d7],.app-shell__body--with-preview.app-shell__body--sidebar-collapsed[data-v-49a405d7]{padding:12px var(--layout-gutter-mobile) 20px}.app-shell__footer[data-v-49a405d7]{padding:8px 0 12px;font-size:11px}}.filter-sidebar[data-v-b4b124de]{border-radius:var(--workspace-radius);background:linear-gradient(180deg, rgba(var(--md3-color-primary-rgb), .08) 0%, rgba(var(--md3-color-primary-rgb), .02) 22%, color-mix(in srgb, var(--md3-color-surface) 96%, transparent) 100%);border:1px solid var(--workspace-border);width:100%;height:100%;min-height:100%;box-shadow:var(--workspace-shadow);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);flex-direction:column;gap:16px;padding:18px;transition:width .22s,padding .22s,border-radius .22s,box-shadow .22s,transform .22s;display:flex;overflow:hidden}.filter-sidebar--collapsed[data-v-b4b124de]{align-items:center;gap:14px;padding:18px 14px}.filter-sidebar__section[data-v-b4b124de]{flex-direction:column;flex-shrink:0;gap:6px;width:100%;display:flex}.filter-sidebar__header[data-v-b4b124de]{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.filter-sidebar__header-main[data-v-b4b124de]{min-width:0}.filter-sidebar--collapsed .filter-sidebar__header[data-v-b4b124de]{flex-direction:column;align-items:center;width:100%}.filter-sidebar--collapsed .filter-sidebar__header-main[data-v-b4b124de]{flex-direction:column;align-items:center;gap:8px;display:flex}.filter-sidebar__label[data-v-b4b124de]{color:var(--md3-color-secondary);letter-spacing:.14em;text-transform:uppercase;margin:0;font-size:12px;font-weight:600}.filter-sidebar__title[data-v-b4b124de]{color:var(--md3-color-on-surface);margin:0;font-size:22px;line-height:1.15}.filter-sidebar--collapsed .filter-sidebar__title[data-v-b4b124de]{writing-mode:vertical-rl;text-orientation:mixed;letter-spacing:.08em;font-size:18px}.filter-sidebar__summary[data-v-b4b124de]{color:var(--md3-color-on-surface-variant);margin:6px 0 0;font-size:13px;line-height:1.6}.filter-sidebar__toggle[data-v-b4b124de]{border:1px solid var(--workspace-border-strong);background:rgba(var(--md3-color-primary-rgb), .06);color:var(--md3-color-on-surface);cursor:pointer;border-radius:999px;flex-shrink:0;justify-content:center;align-items:center;padding:8px 12px;font-size:13px;transition:background-color .2s,border-color .2s,transform .2s;display:inline-flex}.filter-sidebar__toggle[data-v-b4b124de]:hover{background:rgba(var(--md3-color-primary-rgb), .12);transform:translateY(-1px)}.filter-sidebar--collapsed .filter-sidebar__toggle[data-v-b4b124de]{writing-mode:vertical-rl;text-orientation:mixed;min-height:116px;padding:12px 8px}.filter-sidebar__content[data-v-b4b124de]{overscroll-behavior:contain;flex-direction:column;flex:auto;gap:14px;min-height:0;padding-right:4px;display:flex;overflow-y:auto}@media (width<=900px){.filter-sidebar[data-v-b4b124de],.filter-sidebar--collapsed[data-v-b4b124de]{border-radius:var(--workspace-radius-md);-webkit-backdrop-filter:none;backdrop-filter:none;align-items:stretch;gap:14px;height:auto;min-height:0;padding:18px}.filter-sidebar__header[data-v-b4b124de],.filter-sidebar--collapsed .filter-sidebar__header[data-v-b4b124de]{flex-direction:row;align-items:flex-start}.filter-sidebar--collapsed .filter-sidebar__header-main[data-v-b4b124de]{display:block}.filter-sidebar--collapsed .filter-sidebar__title[data-v-b4b124de],.filter-sidebar--collapsed .filter-sidebar__toggle[data-v-b4b124de]{writing-mode:initial;text-orientation:initial;min-height:0}.filter-sidebar__summary[data-v-b4b124de]{margin-top:8px}.filter-sidebar__content[data-v-b4b124de]{padding-right:0;overflow:visible}}.preview-panel[data-v-cbc1e607]{border-radius:var(--workspace-radius);background:linear-gradient(180deg, rgba(var(--md3-color-primary-rgb), .08) 0%, rgba(var(--md3-color-primary-rgb), .02) 22%, color-mix(in srgb, var(--md3-color-surface) 96%, transparent) 100%);border:1px solid var(--workspace-border);width:100%;box-shadow:var(--workspace-shadow);min-height:320px;max-height:calc(100vh - var(--shell-panel-top) - var(--shell-panel-bottom-gap));-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);flex-direction:column;gap:18px;padding:22px;display:flex;overflow:hidden}.preview-panel--empty[data-v-cbc1e607]{justify-content:center}.preview-panel__empty-copy[data-v-cbc1e607]{flex-direction:column;gap:10px;display:flex}.preview-panel__empty-text[data-v-cbc1e607]{color:var(--md3-color-on-surface-variant);margin:0;line-height:1.7}.preview-panel__cover-wrap[data-v-cbc1e607]{justify-content:center;display:flex}.preview-panel__cover[data-v-cbc1e607]{object-fit:cover;border-radius:18px;width:min(220px,100%);box-shadow:0 16px 34px #0003}.preview-panel__content[data-v-cbc1e607]{flex-direction:column;gap:10px;display:flex}.preview-panel__eyebrow[data-v-cbc1e607],.preview-panel__meta[data-v-cbc1e607]{color:var(--md3-color-on-surface-variant);margin:0}.preview-panel__eyebrow[data-v-cbc1e607]{letter-spacing:.14em;text-transform:uppercase;font-size:11px;font-weight:600}.preview-panel__tags[data-v-cbc1e607]{flex-wrap:wrap;gap:8px;display:flex}.preview-panel__tag[data-v-cbc1e607]{background:rgba(var(--md3-color-primary-rgb), .08);border:1px solid rgba(var(--md3-color-primary-rgb), .1);color:var(--md3-color-on-surface);border-radius:999px;align-items:center;gap:5px;padding:5px 10px;font-size:12px;font-weight:600;display:inline-flex}.preview-panel__tag--ongoing[data-v-cbc1e607]{color:#159b59;background:#26de811f;border-color:#26de813d}.preview-panel__tag--completed[data-v-cbc1e607]{color:#355fc7;background:#4b7bec1f;border-color:#4b7bec38}.preview-panel__title[data-v-cbc1e607],.preview-panel__reason[data-v-cbc1e607],.preview-panel__desc[data-v-cbc1e607]{margin:0}.preview-panel__title[data-v-cbc1e607]{font-size:24px;line-height:1.2}.preview-panel__reason[data-v-cbc1e607]{color:var(--md3-color-primary);font-weight:600}.preview-panel__desc[data-v-cbc1e607]{color:var(--md3-color-on-surface);-webkit-line-clamp:6;line-clamp:6;-webkit-box-orient:vertical;line-height:1.7;display:-webkit-box;overflow:hidden}.preview-panel__actions[data-v-cbc1e607]{flex-direction:column;gap:10px;margin-top:6px;display:flex}.preview-panel__link[data-v-cbc1e607]{border:1px solid var(--workspace-border-strong);background:rgba(var(--md3-color-primary-rgb), .06);color:var(--md3-color-on-surface);cursor:pointer;border-radius:999px;padding:10px 14px;font-size:14px;transition:background-color .2s,border-color .2s,transform .2s}.preview-panel__link[data-v-cbc1e607]:hover{transform:translateY(-1px)}.preview-panel__link[data-v-cbc1e607]{background:var(--md3-color-primary);border-color:var(--md3-color-primary);color:var(--md3-color-on-primary)}@media (width>=901px){.preview-panel[data-v-cbc1e607]{position:relative}.preview-panel[data-v-cbc1e607]:before{content:"";background:linear-gradient(180deg, transparent 0%, var(--workspace-border-strong) 18%, var(--workspace-border-strong) 82%, transparent 100%);opacity:.8;width:1px;position:absolute;top:26px;bottom:26px;left:-14px}}@media (width<=1200px){.preview-panel[data-v-cbc1e607]{min-height:auto}}@media (width<=900px){.preview-panel[data-v-cbc1e607]{-webkit-backdrop-filter:none;backdrop-filter:none;border-radius:20px;padding:16px}.preview-panel__cover[data-v-cbc1e607]{width:min(180px,100%)}.preview-panel__tag[data-v-cbc1e607]{padding:5px 9px;font-size:11px}}.rank-card-list[data-v-bd718fc3]{background:0 0;flex-direction:column;gap:18px;width:100%;margin:0 auto;padding:0;display:flex}.rank-card[data-v-bd718fc3]{background:color-mix(in srgb, var(--md3-color-surface) 96%, transparent);box-shadow:var(--workspace-shadow-soft);border:1px solid var(--workspace-border);isolation:isolate;border-radius:24px;align-items:stretch;gap:22px;min-height:208px;padding:22px;transition:transform .25s,box-shadow .25s,border-color .25s;display:flex;position:relative;overflow:hidden}.rank-card[data-v-bd718fc3]:hover{box-shadow:var(--workspace-shadow);border-color:var(--workspace-border-strong);transform:translateY(-2px)}.rank-card:hover .book-cover[data-v-bd718fc3]{transform:scale(1.02)translateZ(0)}.rank-badge[data-v-bd718fc3]{z-index:2;will-change:transform;border-radius:50%;justify-content:center;align-items:center;width:34px;height:34px;transition:transform .25s;display:flex;position:absolute;top:16px;left:16px}.rank-badge.rank-1[data-v-bd718fc3],.rank-badge.rank-2[data-v-bd718fc3],.rank-badge.rank-3[data-v-bd718fc3]{width:38px;height:38px}.rank-badge-inner[data-v-bd718fc3]{background:rgba(var(--md3-color-primary-rgb), .92);width:100%;height:100%;color:var(--md3-color-on-primary);border:1px solid #ffffff4d;border-radius:50%;flex-direction:column;justify-content:center;align-items:center;display:flex;position:relative;box-shadow:0 8px 16px #0f172a24}.rank-card:hover .rank-badge[data-v-bd718fc3]{transform:scale(1.04)}.rank-number[data-v-bd718fc3]{margin-top:2px;font-size:18px;font-weight:800;line-height:1;display:block}.rank-badge.rank-1 .rank-number[data-v-bd718fc3]{font-size:20px}.rank-glow[data-v-bd718fc3]{z-index:0;pointer-events:none;border-radius:50%;position:absolute;inset:-8px}.rank-badge.rank-1 .rank-glow[data-v-bd718fc3]{background:radial-gradient(circle,#f6d87b59 0%,#0000 70%)}.rank-badge.rank-2 .rank-glow[data-v-bd718fc3]{background:radial-gradient(circle,#c6ccd74d 0%,#0000 70%)}.rank-badge.rank-3 .rank-glow[data-v-bd718fc3]{background:radial-gradient(circle,#bf7c554d 0%,#0000 70%)}.shine-effect[data-v-bd718fc3]{pointer-events:none;z-index:1;background:linear-gradient(105deg,#0000 40%,#ffffff0f 45%,#ffffff1a 50%,#ffffff0f 55%,#0000 60%);border-radius:24px;animation:6s ease-in-out infinite shine-sweep-bd718fc3;position:absolute;inset:0;overflow:hidden}@keyframes shine-sweep-bd718fc3{0%{transform:translate(-100%)}to{transform:translate(100%)}}.decorative-border[data-v-bd718fc3]{pointer-events:none;z-index:1;border-radius:24px 0 0 24px;width:4px;position:absolute;top:0;bottom:0;left:0}.decorative-border.rank-1[data-v-bd718fc3]{background:linear-gradient(#f6d87b,#dba44b)}.decorative-border.rank-2[data-v-bd718fc3]{background:linear-gradient(#c6ccd7,#a0a8b8)}.decorative-border.rank-3[data-v-bd718fc3]{background:linear-gradient(#e7b89c,#bf7c55)}.rank-badge.rank-1 .rank-badge-inner[data-v-bd718fc3]{color:#3d2a00;background:linear-gradient(135deg,#f6d87b 0%,#dba44b 100%)}.rank-badge.rank-2 .rank-badge-inner[data-v-bd718fc3]{color:#27303f;background:linear-gradient(135deg,#f3f4f7 0%,#c6ccd7 100%)}.rank-badge.rank-3 .rank-badge-inner[data-v-bd718fc3]{color:#402215;background:linear-gradient(135deg,#e7b89c 0%,#bf7c55 100%)}.book-cover-wrapper[data-v-bd718fc3]{background:linear-gradient(180deg, var(--md3-color-surface-variant) 0%, var(--md3-color-surface) 100%);border:1px solid rgba(var(--md3-color-primary-rgb), .08);border-radius:18px;flex-shrink:0;width:134px;height:184px;margin:0;position:relative;overflow:hidden;box-shadow:0 12px 26px #0f172a24}.book-cover[data-v-bd718fc3]{object-fit:cover;cursor:pointer;will-change:transform;backface-visibility:hidden;width:100%;height:100%;transition:transform .35s;display:block}.cover-overlay[data-v-bd718fc3]{pointer-events:none;opacity:0;background:linear-gradient(#0000 0%,#0f172a47 100%);height:44%;transition:opacity .25s;position:absolute;inset:auto 0 0}.book-cover-wrapper:hover .cover-overlay[data-v-bd718fc3]{opacity:1}.book-info[data-v-bd718fc3]{flex-direction:column;flex:1;gap:10px;min-width:0;padding:2px 0 0;display:flex;overflow:hidden}.info-header[data-v-bd718fc3]{justify-content:space-between;align-items:flex-start;gap:14px;display:flex}.title-stack[data-v-bd718fc3]{flex-direction:column;flex:1;gap:8px;min-width:0;display:flex}.book-title[data-v-bd718fc3]{color:var(--md3-color-on-surface);-webkit-line-clamp:2;line-clamp:2;cursor:pointer;-webkit-box-orient:vertical;flex:1;margin:0;font-size:22px;font-weight:700;line-height:1.3;transition:color .2s;display:-webkit-box;overflow:hidden}.book-title[data-v-bd718fc3]:hover{color:var(--md3-color-primary)}.book-author[data-v-bd718fc3]{color:var(--md3-color-on-surface-variant);text-overflow:ellipsis;white-space:nowrap;flex:1;align-items:center;gap:6px;margin:0;font-size:14px;display:flex;overflow:hidden}.author-icon[data-v-bd718fc3]{opacity:.72;flex-shrink:0}.word-count[data-v-bd718fc3]{color:var(--md3-color-on-surface);background:color-mix(in srgb, var(--md3-color-surface-variant) 72%, transparent);border:1px solid rgba(var(--md3-color-primary-rgb), .1);border-radius:999px;flex-shrink:0;align-items:center;gap:5px;padding:7px 11px;font-size:12px;font-weight:600;display:inline-flex}.book-desc-wrapper[data-v-bd718fc3]{flex-direction:column;align-items:flex-end;gap:5px;display:flex;position:relative}.book-desc[data-v-bd718fc3]{width:100%;color:var(--md3-color-on-surface-variant);-webkit-line-clamp:3;line-clamp:3;text-overflow:ellipsis;background:color-mix(in srgb, var(--md3-color-surface-variant) 48%, transparent);border:1px solid rgba(var(--md3-color-primary-rgb), .06);border-radius:14px;-webkit-box-orient:vertical;padding:10px 12px;font-size:13px;line-height:1.68;display:-webkit-box;overflow:hidden}.book-desc.expanded[data-v-bd718fc3]{-webkit-line-clamp:unset;line-clamp:unset;max-height:none}.toggle-desc-btn[data-v-bd718fc3]{color:var(--md3-color-primary);cursor:pointer;background:0 0;border:0;align-self:flex-end;align-items:center;gap:4px;padding:0;font-size:12px;font-weight:600;transition:opacity .2s;display:inline-flex}.toggle-desc-btn[data-v-bd718fc3]:hover{opacity:.72}.toggle-icon[data-v-bd718fc3]{transition:transform .25s}.toggle-icon.rotated[data-v-bd718fc3]{transform:rotate(180deg)}.book-meta[data-v-bd718fc3]{flex-wrap:wrap;order:2;gap:8px;display:flex}.book-meta span[data-v-bd718fc3]{border:1px solid #0000;border-radius:999px;align-items:center;gap:5px;padding:5px 10px;font-size:12px;font-weight:600;display:inline-flex}.tag-gradient[data-v-bd718fc3]{background:rgba(var(--md3-color-primary-rgb), .08);color:var(--md3-color-on-surface);border-color:rgba(var(--md3-color-primary-rgb), .1)}.status[data-v-bd718fc3]{background:var(--md3-color-surface-variant);color:var(--md3-color-on-surface-variant)}.status-ongoing[data-v-bd718fc3]{color:#159b59;background:#26de811f;border-color:#26de813d}.status-completed[data-v-bd718fc3]{color:#355fc7;background:#4b7bec1f;border-color:#4b7bec38}.reading-time[data-v-bd718fc3]{color:var(--md3-color-on-surface);background:linear-gradient(135deg, rgba(var(--md3-color-primary-rgb), .07) 0%, rgba(var(--md3-color-primary-rgb), .1) 100%);border:1px solid rgba(var(--md3-color-primary-rgb), .08);border-radius:16px;order:3;align-items:center;gap:10px;width:fit-content;margin-top:auto;padding:10px 12px;font-size:15px;font-weight:700;display:inline-flex}.time-icon-wrapper[data-v-bd718fc3]{background:var(--md3-color-primary);width:32px;height:32px;color:var(--md3-color-on-primary);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;display:flex}.time-icon-wrapper .icon[data-v-bd718fc3]{width:16px;height:16px}.time-text[data-v-bd718fc3]{letter-spacing:.2px;font-size:14px;font-weight:700}.empty-state[data-v-bd718fc3]{text-align:center;color:var(--md3-color-on-surface-variant);background:color-mix(in srgb, var(--md3-color-surface) 96%, transparent);border:1px dashed var(--workspace-border-strong);border-radius:24px;flex-direction:column;justify-content:center;align-items:center;gap:16px;padding:72px 20px;font-size:16px;display:flex}@media (width<=900px){.rank-card[data-v-bd718fc3]{border-radius:20px;gap:16px;min-height:186px;padding:18px}.book-cover-wrapper[data-v-bd718fc3]{border-radius:16px;width:112px;height:152px}.book-title[data-v-bd718fc3]{font-size:20px}.info-header[data-v-bd718fc3]{gap:10px}.title-stack[data-v-bd718fc3]{gap:6px}}@media (width<=640px){.rank-card[data-v-bd718fc3]{border-radius:18px;grid-template-columns:88px minmax(0,1fr);align-items:start;gap:12px;min-height:0;padding:14px;display:grid}.book-cover-wrapper[data-v-bd718fc3]{border-radius:14px;width:88px;height:120px}.rank-badge[data-v-bd718fc3]{width:30px;height:30px;top:10px;left:10px}.rank-number[data-v-bd718fc3]{font-size:14px}.book-info[data-v-bd718fc3]{gap:8px;padding-top:0}.info-header[data-v-bd718fc3]{flex-direction:column;align-items:flex-start;gap:8px}.title-stack[data-v-bd718fc3]{gap:4px;width:100%}.book-title[data-v-bd718fc3]{font-size:16px;line-height:1.3}.book-author[data-v-bd718fc3]{width:100%;font-size:12px}.word-count[data-v-bd718fc3],.book-meta span[data-v-bd718fc3]{padding:5px 9px;font-size:11px}.book-desc[data-v-bd718fc3]{-webkit-line-clamp:2;line-clamp:2;padding:8px 10px;font-size:12px;line-height:1.65}.toggle-desc-btn[data-v-bd718fc3]{font-size:11px}.reading-time[data-v-bd718fc3]{border-radius:14px;justify-content:space-between;width:100%;padding:9px 11px}.time-icon-wrapper[data-v-bd718fc3]{width:26px;height:26px}.time-text[data-v-bd718fc3]{font-size:12px}}@media (width<=480px){.rank-card[data-v-bd718fc3]{grid-template-columns:76px minmax(0,1fr);gap:10px;padding:12px}.book-cover-wrapper[data-v-bd718fc3]{border-radius:12px;width:76px;height:108px}.book-title[data-v-bd718fc3]{font-size:15px}.book-meta[data-v-bd718fc3]{gap:6px}.book-meta span[data-v-bd718fc3]{padding:4px 8px;font-size:10px}}.dark-theme .book-cover-wrapper[data-v-bd718fc3]{box-shadow:0 12px 30px #0000004d}.dark-theme .tag-gradient[data-v-bd718fc3]{color:var(--md3-color-on-surface)}.dark-theme .status-ongoing[data-v-bd718fc3]{color:#6ce4a8}.dark-theme .status-completed[data-v-bd718fc3]{color:#8ab1ff}.chart-container[data-v-ca11befb]{border-radius:var(--workspace-radius);background:color-mix(in srgb, var(--md3-color-surface) 96%, transparent);border:1px solid var(--workspace-border);min-height:420px;box-shadow:var(--workspace-shadow-soft);flex-direction:column;gap:16px;padding:24px 26px;display:flex}.chart-container__header[data-v-ca11befb]{flex-direction:column;gap:6px;display:flex}.chart-container__eyebrow[data-v-ca11befb]{letter-spacing:.14em;text-transform:uppercase;color:var(--md3-color-on-surface-variant);margin:0;font-size:11px;font-weight:600}.chart-container h2[data-v-ca11befb]{color:var(--md3-color-on-surface);margin:0;font-size:clamp(24px,2.8vw,30px);line-height:1.1}.chart-container__body[data-v-ca11befb]{min-height:320px;position:relative}.chart-container canvas[data-v-ca11befb]{min-height:320px;width:100%!important;height:100%!important}.chart-container__canvas--hidden[data-v-ca11befb]{opacity:0;pointer-events:none}.chart-container__state[data-v-ca11befb]{text-align:center;color:var(--md3-color-on-surface-variant);background:color-mix(in srgb, var(--md3-color-surface) 88%, transparent);border-radius:16px;justify-content:center;align-items:center;padding:24px;display:flex;position:absolute;inset:0}.chart-container__state--error[data-v-ca11befb]{color:var(--md3-color-error)}@media (width<=900px){.chart-container[data-v-ca11befb]{border-radius:var(--workspace-radius-md);min-height:360px;padding:20px}.chart-container__body[data-v-ca11befb],.chart-container canvas[data-v-ca11befb]{min-height:280px}}.workspace-card[data-v-761c0c87]{gap:var(--workspace-gap-tight);flex-direction:column;display:flex}.workspace-card__header[data-v-761c0c87]{border-radius:var(--workspace-radius);background:linear-gradient(145deg, rgba(var(--md3-color-primary-rgb), .06) 0%, var(--md3-color-surface) 54%, var(--md3-color-surface-variant) 100%);border:1px solid var(--workspace-border);box-shadow:var(--workspace-shadow-soft);padding:24px 26px;display:flex}.workspace-card__intro[data-v-761c0c87]{flex-direction:column;gap:10px;width:100%;min-width:0;display:flex}.workspace-card__title-row[data-v-761c0c87]{justify-content:space-between;align-items:center;gap:16px;display:flex}.workspace-card__eyebrow[data-v-761c0c87],.workspace-card__summary[data-v-761c0c87]{color:var(--md3-color-on-surface-variant);margin:0}.workspace-card__eyebrow[data-v-761c0c87]{letter-spacing:.14em;text-transform:uppercase;font-size:11px;font-weight:600}.workspace-card__title[data-v-761c0c87]{color:var(--md3-color-on-surface);margin:0;font-size:clamp(24px,2.8vw,32px);line-height:1.12}.workspace-card__summary[data-v-761c0c87]{max-width:760px;line-height:1.7}.workspace-card__count[data-v-761c0c87]{background:rgba(var(--md3-color-primary-rgb), .1);border:1px solid rgba(var(--md3-color-primary-rgb), .16);color:var(--md3-color-on-surface);white-space:nowrap;border-radius:999px;flex-shrink:0;justify-content:center;align-items:center;padding:8px 13px;font-size:13px;font-weight:700;display:inline-flex}.workspace-card__content[data-v-761c0c87]{gap:var(--workspace-gap-tight);flex-direction:column;display:flex}[data-v-761c0c87] .chart-container,[data-v-761c0c87] .rank-card-list{width:100%}@media (width<=900px){.workspace-card__header[data-v-761c0c87]{border-radius:var(--workspace-radius-md);padding:22px 20px}.workspace-card__title-row[data-v-761c0c87]{flex-direction:column;align-items:flex-start}.workspace-card__summary[data-v-761c0c87]{font-size:14px;line-height:1.65}}@media (width<=640px){.workspace-card[data-v-761c0c87]{gap:12px}.workspace-card__header[data-v-761c0c87]{padding:18px 16px}.workspace-card__intro[data-v-761c0c87]{gap:8px}.workspace-card__title[data-v-761c0c87]{font-size:22px}.workspace-card__count[data-v-761c0c87]{padding:7px 11px;font-size:12px}.workspace-card__summary[data-v-761c0c87]{font-size:13px;line-height:1.6}}.workspace-card[data-v-5c396a8a]{gap:var(--workspace-gap-tight);flex-direction:column;display:flex}.workspace-card__header[data-v-5c396a8a]{border-radius:var(--workspace-radius);background:linear-gradient(145deg, rgba(var(--md3-color-primary-rgb), .06) 0%, var(--md3-color-surface) 54%, var(--md3-color-surface-variant) 100%);border:1px solid var(--workspace-border);box-shadow:var(--workspace-shadow-soft);justify-content:space-between;gap:18px;padding:24px 26px;display:flex}.workspace-card__intro[data-v-5c396a8a]{flex-direction:column;gap:10px;min-width:0;display:flex}.workspace-card__eyebrow[data-v-5c396a8a],.workspace-card__summary[data-v-5c396a8a],.recommend-card__author[data-v-5c396a8a],.recommend-card__meta[data-v-5c396a8a]{color:var(--md3-color-on-surface-variant);margin:0}.workspace-card__eyebrow[data-v-5c396a8a]{letter-spacing:.14em;text-transform:uppercase;font-size:11px;font-weight:600}.workspace-card__title[data-v-5c396a8a]{color:var(--md3-color-on-surface);margin:0;font-size:clamp(24px,2.8vw,32px);line-height:1.12}.workspace-card__summary[data-v-5c396a8a]{max-width:760px;line-height:1.7}.workspace-card__actions[data-v-5c396a8a]{flex-wrap:wrap;place-content:flex-start flex-end;gap:10px;display:flex}.workspace-btn[data-v-5c396a8a]{border:1px solid var(--workspace-border-strong);background:color-mix(in srgb, var(--md3-color-surface) 92%, transparent);color:var(--md3-color-on-surface);cursor:pointer;border-radius:999px;padding:10px 16px;font-size:14px;font-weight:600;transition:transform .2s,background-color .2s,border-color .2s,box-shadow .2s,color .2s;box-shadow:0 8px 20px #0f172a0f}.workspace-btn[data-v-5c396a8a]:hover{transform:translateY(-1px)}.workspace-btn--primary[data-v-5c396a8a]{background:var(--md3-color-primary);color:var(--md3-color-on-primary);border-color:var(--md3-color-primary);box-shadow:0 14px 32px rgba(var(--md3-color-primary-rgb), .18)}.workspace-btn--tonal[data-v-5c396a8a]{background:rgba(var(--md3-color-primary-rgb), .08);border-color:rgba(var(--md3-color-primary-rgb), .14)}.recommend-grid[data-v-5c396a8a]{flex-direction:column;gap:18px;display:flex}.recommend-card[data-v-5c396a8a]{background:color-mix(in srgb, var(--md3-color-surface) 96%, transparent);border:1px solid var(--workspace-border);box-shadow:var(--workspace-shadow-soft);isolation:isolate;border-radius:24px;align-items:stretch;gap:22px;min-height:208px;padding:22px;transition:transform .25s,box-shadow .25s,border-color .25s;display:flex;position:relative;overflow:hidden}.recommend-card[data-v-5c396a8a]:hover{box-shadow:var(--workspace-shadow);border-color:var(--workspace-border-strong);transform:translateY(-2px)}.recommend-card__cover-wrap[data-v-5c396a8a]{flex-shrink:0;position:relative}.recommend-card__cover[data-v-5c396a8a]{object-fit:cover;cursor:pointer;border:1px solid rgba(var(--md3-color-primary-rgb), .08);border-radius:18px;width:134px;height:184px;box-shadow:0 12px 26px #0f172a24}.recommend-badge[data-v-5c396a8a]{z-index:2;will-change:transform;border-radius:50%;justify-content:center;align-items:center;width:34px;height:34px;transition:transform .25s;display:flex;position:absolute;top:16px;left:16px}.recommend-badge.rank-1[data-v-5c396a8a],.recommend-badge.rank-2[data-v-5c396a8a],.recommend-badge.rank-3[data-v-5c396a8a]{width:38px;height:38px}.recommend-badge-inner[data-v-5c396a8a]{background:rgba(var(--md3-color-primary-rgb), .92);width:100%;height:100%;color:var(--md3-color-on-primary);border:1px solid #ffffff4d;border-radius:50%;flex-direction:column;justify-content:center;align-items:center;display:flex;position:relative;box-shadow:0 8px 16px #0f172a24}.recommend-card:hover .recommend-badge[data-v-5c396a8a]{transform:scale(1.04)}.recommend-badge-number[data-v-5c396a8a]{margin-top:2px;font-size:18px;font-weight:800;line-height:1;display:block}.recommend-badge.rank-1 .recommend-badge-number[data-v-5c396a8a]{font-size:20px}.recommend-badge-glow[data-v-5c396a8a]{z-index:0;pointer-events:none;border-radius:50%;position:absolute;inset:-8px}.recommend-badge.rank-1 .recommend-badge-glow[data-v-5c396a8a]{background:radial-gradient(circle,#f6d87b59 0%,#0000 70%)}.recommend-badge.rank-2 .recommend-badge-glow[data-v-5c396a8a]{background:radial-gradient(circle,#c6ccd74d 0%,#0000 70%)}.recommend-badge.rank-3 .recommend-badge-glow[data-v-5c396a8a]{background:radial-gradient(circle,#bf7c554d 0%,#0000 70%)}.recommend-badge.rank-1 .recommend-badge-inner[data-v-5c396a8a]{color:#3d2a00;background:linear-gradient(135deg,#f6d87b 0%,#dba44b 100%)}.recommend-badge.rank-2 .recommend-badge-inner[data-v-5c396a8a]{color:#27303f;background:linear-gradient(135deg,#f3f4f7 0%,#c6ccd7 100%)}.recommend-badge.rank-3 .recommend-badge-inner[data-v-5c396a8a]{color:#402215;background:linear-gradient(135deg,#e7b89c 0%,#bf7c55 100%)}.recommend-shine[data-v-5c396a8a]{pointer-events:none;z-index:1;background:linear-gradient(105deg,#0000 40%,#ffffff0f 45%,#ffffff1a 50%,#ffffff0f 55%,#0000 60%);border-radius:24px;animation:6s ease-in-out infinite recommend-shine-sweep-5c396a8a;position:absolute;inset:0;overflow:hidden}@keyframes recommend-shine-sweep-5c396a8a{0%{transform:translate(-100%)}to{transform:translate(100%)}}.recommend-decorative-border[data-v-5c396a8a]{pointer-events:none;z-index:1;border-radius:24px 0 0 24px;width:4px;position:absolute;top:0;bottom:0;left:0}.recommend-decorative-border.rank-1[data-v-5c396a8a]{background:linear-gradient(#f6d87b,#dba44b)}.recommend-decorative-border.rank-2[data-v-5c396a8a]{background:linear-gradient(#c6ccd7,#a0a8b8)}.recommend-decorative-border.rank-3[data-v-5c396a8a]{background:linear-gradient(#e7b89c,#bf7c55)}.recommend-card__body[data-v-5c396a8a]{flex-direction:column;gap:9px;min-width:0;display:flex}.recommend-card__title-row[data-v-5c396a8a]{justify-content:space-between;align-items:flex-start;gap:14px;display:flex}.recommend-card__title-stack[data-v-5c396a8a]{flex-direction:column;flex:1;gap:8px;min-width:0;display:flex}.recommend-card__title[data-v-5c396a8a],.recommend-card__reason[data-v-5c396a8a]{margin:0}.recommend-card__title[data-v-5c396a8a]{color:var(--md3-color-on-surface);cursor:pointer;font-size:22px;line-height:1.3}.recommend-card__title[data-v-5c396a8a]:hover{color:var(--md3-color-primary)}.recommend-card__badge[data-v-5c396a8a]{white-space:nowrap;color:var(--md3-color-on-surface);background:rgba(var(--md3-color-primary-rgb), .08);border:1px solid rgba(var(--md3-color-primary-rgb), .12);border-radius:999px;align-items:center;padding:4px 10px;font-size:11px;font-weight:700;display:inline-flex}.recommend-card__author[data-v-5c396a8a]{text-overflow:ellipsis;white-space:nowrap;align-items:center;gap:6px;margin:0;font-size:14px;display:flex;overflow:hidden}.recommend-card__author-icon[data-v-5c396a8a]{opacity:.72;flex-shrink:0}.recommend-card__word-count[data-v-5c396a8a]{color:var(--md3-color-on-surface);background:color-mix(in srgb, var(--md3-color-surface-variant) 72%, transparent);border:1px solid rgba(var(--md3-color-primary-rgb), .1);border-radius:999px;flex-shrink:0;align-items:center;gap:5px;padding:7px 11px;font-size:12px;font-weight:600;display:inline-flex}.recommend-card__desc-wrapper[data-v-5c396a8a]{flex-direction:column;align-items:flex-end;gap:5px;display:flex;position:relative}.recommend-card__desc[data-v-5c396a8a]{width:100%;color:var(--md3-color-on-surface-variant);-webkit-line-clamp:3;line-clamp:3;text-overflow:ellipsis;background:color-mix(in srgb, var(--md3-color-surface-variant) 48%, transparent);border:1px solid rgba(var(--md3-color-primary-rgb), .06);border-radius:14px;-webkit-box-orient:vertical;padding:10px 12px;font-size:13px;line-height:1.68;display:-webkit-box;overflow:hidden}.recommend-card__desc.expanded[data-v-5c396a8a]{-webkit-line-clamp:unset;line-clamp:unset;max-height:none}.recommend-card__toggle-desc[data-v-5c396a8a]{color:var(--md3-color-primary);cursor:pointer;background:0 0;border:0;align-items:center;gap:4px;padding:0;font-size:12px;font-weight:600;transition:opacity .2s;display:inline-flex}.recommend-card__toggle-desc[data-v-5c396a8a]:hover{opacity:.72}.recommend-card__toggle-icon[data-v-5c396a8a]{transition:transform .25s}.recommend-card__toggle-icon.rotated[data-v-5c396a8a]{transform:rotate(180deg)}.recommend-card__meta-tags[data-v-5c396a8a],.recommend-card__tags[data-v-5c396a8a]{flex-wrap:wrap;gap:8px;display:flex}.recommend-card__meta-tag[data-v-5c396a8a],.recommend-card__tag[data-v-5c396a8a]{border-radius:999px;align-items:center;gap:5px;padding:5px 10px;font-size:12px;font-weight:600;display:inline-flex}.recommend-card__meta-tag[data-v-5c396a8a]{background:rgba(var(--md3-color-primary-rgb), .08);border:1px solid rgba(var(--md3-color-primary-rgb), .1);color:var(--md3-color-on-surface)}.recommend-card__meta-tag--ongoing[data-v-5c396a8a]{color:#159b59;background:#26de811f;border-color:#26de813d}.recommend-card__meta-tag--completed[data-v-5c396a8a]{color:#355fc7;background:#4b7bec1f;border-color:#4b7bec38}.recommend-card__reason[data-v-5c396a8a]{color:var(--md3-color-primary);font-weight:600;line-height:1.6}.recommend-card__tag[data-v-5c396a8a]{background:rgba(var(--md3-color-primary-rgb), .08);border:1px solid rgba(var(--md3-color-primary-rgb), .1);color:var(--md3-color-on-surface)}.workspace-card__empty[data-v-5c396a8a]{border-radius:var(--workspace-radius);background:color-mix(in srgb, var(--md3-color-surface) 96%, transparent);border:1px dashed var(--workspace-border-strong);color:var(--md3-color-on-surface-variant);text-align:center;padding:48px 20px}@media (width<=900px){.workspace-card__header[data-v-5c396a8a]{border-radius:var(--workspace-radius-md);flex-direction:column;align-items:flex-start;padding:22px 20px}.workspace-card__actions[data-v-5c396a8a]{justify-content:flex-start}.recommend-card[data-v-5c396a8a]{gap:16px;min-height:186px;padding:18px}.recommend-card__cover[data-v-5c396a8a]{border-radius:16px;width:112px;height:152px}}@media (width<=640px){.workspace-card[data-v-5c396a8a]{gap:12px}.workspace-card__header[data-v-5c396a8a]{padding:18px 16px}.workspace-card__intro[data-v-5c396a8a]{gap:8px}.workspace-card__title[data-v-5c396a8a]{font-size:22px}.workspace-card__summary[data-v-5c396a8a]{font-size:13px;line-height:1.6}.workspace-card__actions[data-v-5c396a8a]{gap:8px}.workspace-btn[data-v-5c396a8a]{padding:9px 13px;font-size:13px}.recommend-card[data-v-5c396a8a]{border-radius:18px;gap:12px;padding:14px}.recommend-card__cover[data-v-5c396a8a]{border-radius:14px;width:92px;height:126px}.recommend-card__title[data-v-5c396a8a]{font-size:18px}.recommend-card__author[data-v-5c396a8a],.recommend-card__reason[data-v-5c396a8a]{font-size:13px}.recommend-card__meta-tag[data-v-5c396a8a],.recommend-card__tag[data-v-5c396a8a]{padding:5px 9px;font-size:11px}}.filter-block[data-v-6009df5e]{flex-direction:column;gap:8px;display:flex}.filter-block+.filter-block[data-v-6009df5e]{border-top:1px solid #7f7f7f29;padding-top:2px}.filter-block__label[data-v-6009df5e]{letter-spacing:.08em;text-transform:uppercase;color:var(--md3-color-on-surface-variant);margin:0;font-size:12px}.chip-group[data-v-6009df5e]{flex-wrap:wrap;gap:8px;display:flex}.chip[data-v-6009df5e]{border:1px solid var(--md3-color-outline);background:var(--md3-color-surface-variant);color:var(--md3-color-on-surface);cursor:pointer;border-radius:999px;padding:7px 12px;font-size:13px;line-height:1.25}.chip--selected[data-v-6009df5e]{background:var(--md3-color-primary);border-color:var(--md3-color-primary);color:var(--md3-color-on-primary)}.sidebar-input[data-v-6009df5e]{border:1px solid var(--md3-color-outline);background:var(--md3-color-background);width:100%;color:var(--md3-color-on-background);box-sizing:border-box;border-radius:14px;padding:10px 12px;font-size:14px}.sidebar-input[data-v-6009df5e]:focus{border-color:var(--md3-color-primary);outline:none}.record-links[data-v-6009df5e]{flex-wrap:nowrap;justify-content:center;align-items:center;gap:2px;display:flex}.record-link[data-v-6009df5e]{color:var(--md3-color-on-surface-variant);white-space:nowrap;border-radius:4px;padding:4px 6px;text-decoration:none;transition:color .2s,background .2s}.record-link[data-v-6009df5e]:hover{color:var(--md3-color-primary);background:rgba(var(--md3-color-primary-rgb), .08)}.record-separator[data-v-6009df5e]{color:var(--md3-color-outline)}@media (width<=640px){.record-link[data-v-6009df5e]{padding:2px 4px}}
