.report-root[data-v-a6a718ce]{gap:20px;display:grid}.report-range[data-v-a6a718ce]{flex-wrap:wrap;align-items:end;gap:10px;display:flex}.report-export[data-v-a6a718ce]{color:var(--muted);font-size:12px;text-decoration:underline}.report-presets[data-v-a6a718ce]{flex-wrap:wrap;gap:6px;width:100%;display:flex}.report-presets button[data-v-a6a718ce]{border:1px solid var(--line);color:var(--ink);cursor:pointer;background:#fff;padding:8px 10px;font-size:11px}.report-range label[data-v-a6a718ce]{color:var(--muted);gap:5px;font-size:11px;display:grid}.report-range input[data-v-a6a718ce]{border:1px solid var(--line);color:var(--ink);background:#fff;padding:8px}.report-apply[data-v-a6a718ce]{background:var(--ink);color:#fff;cursor:pointer;border:0;padding:10px 15px}.report-error[data-v-a6a718ce]{color:#b42318;font-size:12px}.report-muted[data-v-a6a718ce]{color:var(--muted);font-size:12px}.report-summary[data-v-a6a718ce]{grid-template-columns:repeat(4,1fr);gap:12px;display:grid}.report-summary article[data-v-a6a718ce]{border:1px solid var(--line);background:#fff;gap:12px;padding:20px;display:grid}.report-summary strong[data-v-a6a718ce]{letter-spacing:-.05em;font-size:26px}.report-summary span[data-v-a6a718ce]{color:var(--muted);font-size:11px}.report-columns[data-v-a6a718ce]{grid-template-columns:1fr 1fr;gap:16px;display:grid}.report-panel[data-v-a6a718ce]{border:1px solid var(--line);background:#fff;min-width:0;padding:24px}.report-panel h3[data-v-a6a718ce]{margin:0 0 14px;font-size:18px}.report-bars[data-v-a6a718ce]{gap:12px;max-height:400px;display:grid;overflow:auto}.report-bar-row[data-v-a6a718ce]{grid-template-columns:42px 1fr 35px;align-items:center;gap:10px;display:grid}.report-bar-row small[data-v-a6a718ce],.report-bar-row strong[data-v-a6a718ce]{font-size:11px}.report-bar-track[data-v-a6a718ce]{background:#eae8e0;border-radius:9px;height:8px;overflow:hidden}.report-bar-track span[data-v-a6a718ce]{border-radius:inherit;background:#558061;height:100%;display:block}.report-book-row[data-v-a6a718ce]{gap:6px;display:grid}.report-book-row>div[data-v-a6a718ce]:first-child{justify-content:space-between;gap:12px;display:flex}.report-book-row strong[data-v-a6a718ce]{text-overflow:ellipsis;white-space:nowrap;font-size:12px;overflow:hidden}.report-book-row small[data-v-a6a718ce]{color:var(--muted);flex:none;font-size:11px}.report-detail[data-v-a6a718ce]{border-top:1px solid var(--line);color:var(--muted);flex-wrap:wrap;gap:20px;padding-top:18px;font-size:11px;display:flex}@media (width<=900px){.report-summary[data-v-a6a718ce]{grid-template-columns:repeat(2,1fr)}.report-columns[data-v-a6a718ce]{grid-template-columns:1fr}}.reading-columns[data-v-8f2e05fd]{grid-template-columns:1fr 1fr;gap:16px;display:grid}.reading-panel[data-v-8f2e05fd]{border:1px solid var(--line);background:#fff;min-width:0;padding:25px}.reading-panel h3[data-v-8f2e05fd]{margin:0 0 18px;font-size:18px}.note-muted[data-v-8f2e05fd],.reading-panel small[data-v-8f2e05fd]{color:var(--muted);font-size:12px}.note-form[data-v-8f2e05fd]{align-content:start;gap:14px;display:grid}.note-form label[data-v-8f2e05fd]{text-transform:uppercase;letter-spacing:.06em;gap:7px;font-size:11px;font-weight:600;display:grid}.note-filters input[data-v-8f2e05fd],.note-filters select[data-v-8f2e05fd],.note-form input[data-v-8f2e05fd],.note-form select[data-v-8f2e05fd],.note-form textarea[data-v-8f2e05fd]{border:1px solid var(--line);width:100%;color:var(--ink);background:#fff;padding:11px 12px;font-size:13px}.note-row[data-v-8f2e05fd]{grid-template-columns:1fr 1fr;gap:12px;display:grid}.note-actions[data-v-8f2e05fd]{align-items:center;gap:15px;display:flex}.note-actions button[data-v-8f2e05fd]{color:var(--muted);cursor:pointer;background:0 0;border:0;padding:0;font-size:11px}.note-actions .note-primary[data-v-8f2e05fd]{background:var(--ink);color:#fff;padding:13px 18px;font-size:12px}.note-primary[data-v-8f2e05fd]:disabled{opacity:.5}.note-error[data-v-8f2e05fd]{color:#9a2d22;font-size:12px}.note-filters[data-v-8f2e05fd]{grid-template-columns:1fr 1fr;gap:8px;margin-bottom:15px;display:grid}.note-list[data-v-8f2e05fd]{max-height:700px;overflow-y:auto}.note-card[data-v-8f2e05fd]{border-top:1px solid var(--line);padding:18px 0}.note-meta[data-v-8f2e05fd]{justify-content:space-between;gap:10px;font-size:12px;display:flex}.note-meta span[data-v-8f2e05fd]{color:var(--muted)}blockquote[data-v-8f2e05fd]{white-space:pre-wrap;margin:14px 0;font-size:14px;line-height:1.6}.note-tags[data-v-8f2e05fd]{flex-wrap:wrap;gap:7px;margin-bottom:13px;display:flex}.note-tags button[data-v-8f2e05fd]{color:#48634c;cursor:pointer;background:#eef1e9;border:0;padding:4px 7px;font-size:10px}@media (width<=900px){.reading-columns[data-v-8f2e05fd]{grid-template-columns:1fr}}@media (width<=600px){.reading-panel[data-v-8f2e05fd]{padding:18px}.note-filters[data-v-8f2e05fd]{grid-template-columns:1fr}}.coach-panel[data-v-369ed3d9]{border:1px solid var(--line);background:#fff;margin-bottom:16px;padding:25px}.coach-panel h3[data-v-369ed3d9]{margin:0 0 16px;font-size:18px}.coach-list[data-v-369ed3d9]{grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:12px;display:grid}.coach-list article[data-v-369ed3d9]{border:1px solid var(--line);padding:15px}.coach-list span[data-v-369ed3d9],.coach-list strong[data-v-369ed3d9]{font-size:12px;display:block}.coach-list span[data-v-369ed3d9]{color:#558061;margin-top:6px}.coach-list p[data-v-369ed3d9]{color:var(--muted);font-size:11px;line-height:1.5}.coach-days[data-v-369ed3d9]{flex-wrap:wrap;gap:5px;display:flex}.coach-days span[data-v-369ed3d9]{background:#eef1e9;padding:5px;font-size:10px}.scenario-form[data-v-369ed3d9]{flex-wrap:wrap;align-items:end;gap:12px;display:flex}.scenario-form label[data-v-369ed3d9]{gap:5px;font-size:11px;display:grid}.scenario-form input[data-v-369ed3d9],.scenario-form select[data-v-369ed3d9]{border:1px solid var(--line);color:var(--ink);background:#fff;padding:8px}.scenario-result[data-v-369ed3d9]{margin-top:15px;font-size:12px}.plan-export[data-v-369ed3d9],.scenario-result p[data-v-369ed3d9]{color:var(--muted)}.plan-export[data-v-369ed3d9]{margin-bottom:13px;font-size:11px;text-decoration:underline;display:inline-block}.plan-columns[data-v-369ed3d9]{grid-template-columns:1fr 1fr;gap:16px;display:grid}.plan-panel[data-v-369ed3d9]{border:1px solid var(--line);background:#fff;min-width:0;padding:25px}.plan-panel h3[data-v-369ed3d9]{margin:0 0 18px;font-size:18px}.plan-form[data-v-369ed3d9]{align-content:start;gap:15px;display:grid}.plan-form label[data-v-369ed3d9]{text-transform:uppercase;letter-spacing:.06em;gap:7px;font-size:11px;font-weight:600;display:grid}.plan-form input[data-v-369ed3d9],.plan-form select[data-v-369ed3d9]{border:1px solid var(--line);color:var(--ink);background:#fff;width:100%;padding:11px 12px;font-size:13px}.plan-row[data-v-369ed3d9]{grid-template-columns:1fr 1fr;gap:12px;display:grid}.plan-form fieldset[data-v-369ed3d9]{border:0;margin:0;padding:0}.plan-form legend[data-v-369ed3d9]{text-transform:uppercase;margin-bottom:8px;font-size:11px}.weekdays[data-v-369ed3d9]{flex-wrap:wrap;gap:5px;display:flex}.weekdays label[data-v-369ed3d9]{border:1px solid var(--line);align-items:center;gap:3px;padding:7px 9px;display:flex}.weekdays input[data-v-369ed3d9]{width:auto}.plan-actions[data-v-369ed3d9]{align-items:center;gap:15px;margin-top:14px;display:flex}.plan-actions button[data-v-369ed3d9]{color:var(--muted);cursor:pointer;background:0 0;border:0;font-size:11px}.plan-actions .plan-primary[data-v-369ed3d9]{background:var(--ink);color:#fff;padding:13px 18px;font-size:12px}.plan-primary[data-v-369ed3d9]:disabled{opacity:.5}.plan-muted[data-v-369ed3d9]{color:var(--muted);font-size:12px}.negative[data-v-369ed3d9],.plan-error[data-v-369ed3d9]{color:#9a2d22}.positive[data-v-369ed3d9]{color:#406f4c}.plan-card[data-v-369ed3d9]{border-top:1px solid var(--line);padding:17px 0}.plan-card p[data-v-369ed3d9]{color:var(--muted);margin:8px 0;font-size:12px}.plan-card-title[data-v-369ed3d9]{justify-content:space-between;gap:10px;font-size:13px;display:flex}.plan-card-title span[data-v-369ed3d9]{color:var(--muted)}.plan-calendar[data-v-369ed3d9]{flex-wrap:wrap;gap:4px;margin-top:16px;display:flex}.plan-calendar span[data-v-369ed3d9]{background:#eae8e0;width:12px;height:12px}.plan-calendar .scheduled[data-v-369ed3d9]{background:#b4c6b1}.plan-calendar .read[data-v-369ed3d9]{background:#558061}.plan-calendar .missed[data-v-369ed3d9]{outline:1px solid #9a2d22}@media (width<=900px){.plan-columns[data-v-369ed3d9]{grid-template-columns:1fr}}@media (width<=600px){.plan-panel[data-v-369ed3d9]{padding:18px}}.data-columns[data-v-a6a96b86]{grid-template-columns:1fr 1fr;gap:16px;display:grid}.data-panel[data-v-a6a96b86]{border:1px solid var(--line);background:#fff;min-width:0;padding:25px}.data-panel h3[data-v-a6a96b86]{margin:0 0 16px;font-size:18px}.data-panel p[data-v-a6a96b86]{color:var(--muted);font-size:12px;line-height:1.6}.data-panel label[data-v-a6a96b86]{text-transform:uppercase;gap:7px;margin:15px 0;font-size:11px;display:grid}.data-panel input[data-v-a6a96b86],.data-panel select[data-v-a6a96b86]{border:1px solid var(--line);color:var(--ink);background:#fff;padding:11px}.data-primary[data-v-a6a96b86]{background:var(--ink);color:#fff;cursor:pointer;border:0;padding:13px 18px;font-size:12px;text-decoration:none;display:inline-block}.data-primary[data-v-a6a96b86]:disabled{opacity:.5}.data-panel .data-error[data-v-a6a96b86]{color:#9a2d22}.data-panel .data-success[data-v-a6a96b86]{color:#406f4c}.data-filename[data-v-a6a96b86]{word-break:break-all}.data-preview[data-v-a6a96b86]{border-top:1px solid var(--line);margin-top:20px;padding-top:17px}.data-preview h4[data-v-a6a96b86]{font-size:13px}.data-preview dl[data-v-a6a96b86]{gap:8px;display:grid}.data-preview dl div[data-v-a6a96b86]{justify-content:space-between;font-size:12px;display:flex}.data-preview dd[data-v-a6a96b86]{margin:0}.data-csv[data-v-a6a96b86]{margin-top:16px}.data-csv code[data-v-a6a96b86],.data-csv li[data-v-a6a96b86]{font-size:11px}.data-csv li[data-v-a6a96b86]{color:#9a2d22;margin-bottom:5px}@media (width<=900px){.data-columns[data-v-a6a96b86]{grid-template-columns:1fr}}@media (width<=600px){.data-panel[data-v-a6a96b86]{padding:18px}}.shelf-columns[data-v-97fbbdba]{grid-template-columns:1fr 1fr;gap:16px;display:grid}.shelf-panel[data-v-97fbbdba]{border:1px solid var(--line);background:#fff;min-width:0;padding:25px}.shelf-panel h3[data-v-97fbbdba]{margin:0 0 16px;font-size:18px}.shelf-form[data-v-97fbbdba]{align-content:start;gap:15px;display:grid}.shelf-form label[data-v-97fbbdba]{text-transform:uppercase;gap:7px;font-size:11px;font-weight:600;display:grid}.shelf-add select[data-v-97fbbdba],.shelf-form input[data-v-97fbbdba],.shelf-form textarea[data-v-97fbbdba]{border:1px solid var(--line);color:var(--ink);background:#fff;width:100%;padding:11px;font-size:13px}.shelf-form input[type=color][data-v-97fbbdba]{height:40px;padding:3px}.shelf-actions[data-v-97fbbdba]{gap:15px;margin-top:15px;display:flex}.shelf-actions button[data-v-97fbbdba],.shelf-card button[data-v-97fbbdba]{color:var(--muted);cursor:pointer;background:0 0;border:0;font-size:11px}.shelf-actions .shelf-primary[data-v-97fbbdba]{background:var(--ink);color:#fff;padding:13px 18px;font-size:12px}.shelf-error[data-v-97fbbdba]{color:#9a2d22;font-size:12px}.shelf-muted[data-v-97fbbdba]{color:var(--muted);font-size:12px}.shelf-card[data-v-97fbbdba]{border-top:1px solid var(--line);border-left:3px solid;margin:15px 0;padding:15px}.shelf-title[data-v-97fbbdba]{justify-content:space-between;gap:12px;font-size:13px;display:flex}.shelf-card p[data-v-97fbbdba],.shelf-title small[data-v-97fbbdba]{color:var(--muted);font-size:11px}.shelf-card ol[data-v-97fbbdba]{padding-left:22px}.shelf-card li[data-v-97fbbdba]{padding:7px 0;font-size:12px;display:list-item}.shelf-card li>span[data-v-97fbbdba]{vertical-align:middle;text-overflow:ellipsis;white-space:nowrap;max-width:55%;display:inline-block;overflow:hidden}.shelf-card li>div[data-v-97fbbdba]{float:right;gap:5px;display:flex}.shelf-add[data-v-97fbbdba]{gap:6px;margin-top:12px;display:flex}.shelf-add button[data-v-97fbbdba]{flex:none}@media (width<=900px){.shelf-columns[data-v-97fbbdba]{grid-template-columns:1fr}}@media (width<=600px){.shelf-panel[data-v-97fbbdba]{padding:18px}}.catalog-root[data-v-b750759e]{gap:16px;display:grid}.catalog-panel[data-v-b750759e]{border:1px solid var(--line);background:#fff;padding:25px}.catalog-panel h3[data-v-b750759e]{margin:0 0 14px;font-size:18px}.catalog-muted[data-v-b750759e]{color:var(--muted);font-size:12px}.recommendations[data-v-b750759e]{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:10px;margin-top:18px;display:grid}.recommendation[data-v-b750759e]{border:1px solid var(--line);gap:12px;padding:15px;display:flex}.recommendation-rank[data-v-b750759e]{color:#558061;font-size:25px}.catalog-book strong[data-v-b750759e],.recommendation strong[data-v-b750759e]{font-size:13px;display:block}.catalog-book small[data-v-b750759e],.recommendation small[data-v-b750759e]{color:var(--muted);margin-top:5px;font-size:11px;display:block}.recommendation p[data-v-b750759e]{color:var(--muted);font-size:11px;line-height:1.5}.catalog-filters[data-v-b750759e]{grid-template-columns:repeat(3,1fr);gap:12px;margin:20px 0;display:grid}.catalog-filters label[data-v-b750759e]{text-transform:uppercase;gap:6px;font-size:11px;display:grid}.catalog-filters input[data-v-b750759e],.catalog-filters select[data-v-b750759e]{border:1px solid var(--line);width:100%;color:var(--ink);background:#fff;padding:10px;font-size:12px}.catalog-filters .catalog-checkbox[data-v-b750759e]{align-items:center;gap:7px;display:flex}.catalog-checkbox input[data-v-b750759e]{width:auto}.catalog-actions[data-v-b750759e]{align-items:end;gap:10px;display:flex}.catalog-actions button[data-v-b750759e],.catalog-error button[data-v-b750759e]{color:var(--muted);cursor:pointer;background:0 0;border:0;font-size:11px}.catalog-actions .catalog-primary[data-v-b750759e]{background:var(--ink);color:#fff;padding:12px 15px}.catalog-error[data-v-b750759e]{color:#9a2d22;font-size:12px}.catalog-results[data-v-b750759e]{grid-template-columns:repeat(2,1fr);gap:10px;display:grid}.catalog-book[data-v-b750759e]{border-top:1px solid var(--line);padding:14px 0}.catalog-book>span[data-v-b750759e]{color:#558061;font-size:11px}.catalog-book p[data-v-b750759e]{color:var(--muted);margin:7px 0;font-size:11px}@media (width<=750px){.catalog-filters[data-v-b750759e]{grid-template-columns:repeat(2,1fr)}.catalog-results[data-v-b750759e]{grid-template-columns:1fr}}@media (width<=500px){.catalog-panel[data-v-b750759e]{padding:18px}.catalog-filters[data-v-b750759e]{grid-template-columns:1fr}}.across-search[data-v-b750759e]{gap:8px;display:flex}.across-search input[data-v-b750759e]{border:1px solid var(--line);color:var(--ink);background:#fff;flex:1;padding:10px}.across-search button[data-v-b750759e]{background:var(--ink);color:#fff;cursor:pointer;border:0;padding:10px 16px}.across-search button[data-v-b750759e]:disabled{opacity:.5}.across-search select[data-v-b750759e]{border:1px solid var(--line);color:var(--ink);background:#fff;padding:10px}.challenge-columns[data-v-c737f73d]{grid-template-columns:1fr 1fr;gap:16px;display:grid}.challenge-panel[data-v-c737f73d]{border:1px solid var(--line);background:#fff;min-width:0;padding:25px}.challenge-panel h3[data-v-c737f73d]{margin:0 0 16px;font-size:18px}.challenge-form[data-v-c737f73d]{align-content:start;gap:14px;display:grid}.challenge-form label[data-v-c737f73d]{text-transform:uppercase;gap:7px;font-size:11px;font-weight:600;display:grid}.challenge-form input[data-v-c737f73d],.challenge-form select[data-v-c737f73d]{border:1px solid var(--line);width:100%;color:var(--ink);background:#fff;padding:11px;font-size:13px}.challenge-row[data-v-c737f73d]{grid-template-columns:1fr 1fr;gap:12px;display:grid}.challenge-actions[data-v-c737f73d]{align-items:center;gap:15px;margin-top:13px;display:flex}.challenge-actions button[data-v-c737f73d]{color:var(--muted);cursor:pointer;background:0 0;border:0;padding:0;font-size:11px}.challenge-actions .challenge-primary[data-v-c737f73d]{background:var(--ink);color:#fff;padding:13px 18px;font-size:12px}.challenge-error[data-v-c737f73d]{color:#9a2d22;font-size:12px}.challenge-card p[data-v-c737f73d],.challenge-muted[data-v-c737f73d]{color:var(--muted);font-size:12px}.challenge-card[data-v-c737f73d]{border-top:1px solid var(--line);padding:17px 0}.challenge-title[data-v-c737f73d]{justify-content:space-between;gap:10px;font-size:13px;display:flex}.challenge-title span[data-v-c737f73d]{color:#558061;font-size:11px}.challenge-track[data-v-c737f73d]{background:#eae8e0;border-radius:10px;height:7px;overflow:hidden}.challenge-track span[data-v-c737f73d]{background:#558061;height:100%;display:block}@media (width<=900px){.challenge-columns[data-v-c737f73d]{grid-template-columns:1fr}}@media (width<=600px){.challenge-panel[data-v-c737f73d]{padding:18px}}.journal-columns[data-v-6dac4d42]{grid-template-columns:1fr 1fr;gap:16px;display:grid}.journal-panel[data-v-6dac4d42]{border:1px solid var(--line);background:#fff;min-width:0;padding:25px}.journal-panel h3[data-v-6dac4d42]{margin:0 0 16px;font-size:18px}.journal-form[data-v-6dac4d42]{align-content:start;gap:14px;display:grid}.journal-form label[data-v-6dac4d42]{text-transform:uppercase;gap:7px;font-size:11px;font-weight:600;display:grid}.journal-filters input[data-v-6dac4d42],.journal-filters select[data-v-6dac4d42],.journal-form input[data-v-6dac4d42],.journal-form select[data-v-6dac4d42],.journal-form textarea[data-v-6dac4d42]{border:1px solid var(--line);width:100%;color:var(--ink);background:#fff;padding:11px;font-size:13px}.journal-row[data-v-6dac4d42]{grid-template-columns:1fr 1fr;gap:12px;display:grid}.journal-actions[data-v-6dac4d42]{align-items:center;gap:15px;margin-top:13px;display:flex}.journal-actions button[data-v-6dac4d42]{color:var(--muted);cursor:pointer;background:0 0;border:0;padding:0;font-size:11px}.journal-actions .journal-primary[data-v-6dac4d42]{background:var(--ink);color:#fff;padding:13px 18px;font-size:12px}.journal-muted[data-v-6dac4d42]{color:var(--muted);font-size:12px}.journal-error[data-v-6dac4d42]{color:#9a2d22;font-size:12px}.journal-filters[data-v-6dac4d42]{grid-template-columns:1fr 1fr;gap:8px;display:grid}.journal-entry[data-v-6dac4d42]{border-top:1px solid var(--line);padding:17px 0}.journal-entry-title[data-v-6dac4d42]{justify-content:space-between;gap:10px;font-size:13px;display:flex}.journal-entry small[data-v-6dac4d42],.journal-entry-title span[data-v-6dac4d42]{color:var(--muted);font-size:11px}.journal-entry p[data-v-6dac4d42]{white-space:pre-wrap;font-size:13px;line-height:1.6}@media (width<=900px){.journal-columns[data-v-6dac4d42]{grid-template-columns:1fr}}@media (width<=600px){.journal-panel[data-v-6dac4d42]{padding:18px}.journal-filters[data-v-6dac4d42]{grid-template-columns:1fr}}.timeline-panel[data-v-7a585dea]{border:1px solid var(--line);background:#fff;padding:25px}.timeline-panel h3[data-v-7a585dea]{margin:0 0 12px;font-size:18px}.timeline-muted[data-v-7a585dea]{color:var(--muted);font-size:12px}.timeline-error[data-v-7a585dea]{color:#9a2d22;font-size:12px}.timeline-filters[data-v-7a585dea]{grid-template-columns:repeat(4,1fr);gap:10px;margin:20px 0;display:grid}.timeline-filters label[data-v-7a585dea]{text-transform:uppercase;gap:7px;font-size:11px;display:grid}.timeline-filters input[data-v-7a585dea],.timeline-filters select[data-v-7a585dea]{border:1px solid var(--line);width:100%;color:var(--ink);background:#fff;padding:10px;font-size:12px}.timeline-list[data-v-7a585dea]{margin:0;padding:0;list-style:none}.timeline-list li[data-v-7a585dea]{border-top:1px solid var(--line);grid-template-columns:95px 1fr;gap:18px;padding:16px 0;display:grid}.timeline-list time[data-v-7a585dea]{color:var(--muted);font-size:11px}.timeline-list small[data-v-7a585dea]{color:#558061;text-transform:uppercase;margin-bottom:6px;font-size:10px;display:block}.timeline-list strong[data-v-7a585dea]{font-size:13px}.timeline-list p[data-v-7a585dea]{white-space:pre-wrap;color:var(--muted);margin:8px 0;font-size:12px;line-height:1.5}.timeline-list span[data-v-7a585dea]{color:var(--muted);margin-right:12px;font-size:11px}.timeline-pagination[data-v-7a585dea]{align-items:center;gap:16px;margin-top:18px;font-size:12px;display:flex}.timeline-error button[data-v-7a585dea],.timeline-pagination button[data-v-7a585dea]{color:var(--ink);cursor:pointer;background:0 0;border:0}.timeline-pagination button[data-v-7a585dea]:disabled{opacity:.4}@media (width<=800px){.timeline-filters[data-v-7a585dea]{grid-template-columns:repeat(2,1fr)}}@media (width<=500px){.timeline-panel[data-v-7a585dea]{padding:18px}.timeline-filters[data-v-7a585dea],.timeline-list li[data-v-7a585dea]{grid-template-columns:1fr}.timeline-list li[data-v-7a585dea]{gap:5px}}.profile-root[data-v-2f2d601a]{gap:16px;display:grid}.profile-picker[data-v-2f2d601a]{text-transform:uppercase;gap:6px;max-width:350px;font-size:11px;display:grid}.profile-picker select[data-v-2f2d601a]{border:1px solid var(--line);color:var(--ink);background:#fff;padding:10px}.profile-muted[data-v-2f2d601a],.profile-panel small[data-v-2f2d601a]{color:var(--muted);font-size:12px}.profile-error[data-v-2f2d601a]{color:#9a2d22;font-size:12px}.profile-panel[data-v-2f2d601a]{border:1px solid var(--line);background:#fff;min-width:0;padding:25px}.profile-panel h3[data-v-2f2d601a]{margin:0 0 16px;font-size:18px}.profile-heading[data-v-2f2d601a]{justify-content:space-between;gap:20px;display:flex}.profile-heading h3[data-v-2f2d601a]{font-size:25px}.profile-heading>strong[data-v-2f2d601a]{font-size:28px}.profile-track[data-v-2f2d601a]{background:#eae8e0;border-radius:10px;height:9px;overflow:hidden}.profile-track span[data-v-2f2d601a]{background:#558061;height:100%;display:block}.profile-stats[data-v-2f2d601a]{grid-template-columns:repeat(5,1fr);gap:10px;display:grid}.profile-stats article[data-v-2f2d601a]{border:1px solid var(--line);background:#fff;gap:8px;padding:16px;display:grid}.profile-stats strong[data-v-2f2d601a]{font-size:22px}.profile-stats span[data-v-2f2d601a]{color:var(--muted);font-size:11px}.profile-columns[data-v-2f2d601a]{grid-template-columns:1fr 1fr;gap:16px;display:grid}.profile-month[data-v-2f2d601a]{grid-template-columns:65px 1fr 60px;align-items:center;gap:8px;margin:10px 0;font-size:11px;display:grid}.profile-month>div[data-v-2f2d601a]{background:#eae8e0;height:7px}.profile-month span[data-v-2f2d601a]{background:#558061;height:100%;display:block}.profile-calendar[data-v-2f2d601a]{grid-template-columns:repeat(12,1fr);gap:5px;display:grid}.profile-calendar span[data-v-2f2d601a]{aspect-ratio:1;background:#eae8e0}.profile-calendar .active[data-v-2f2d601a]{background:#a0bdaa}.profile-calendar .strong[data-v-2f2d601a]{background:#558061}.profile-entry[data-v-2f2d601a]{border-top:1px solid var(--line);padding:12px 0;font-size:12px}.profile-entry p[data-v-2f2d601a]{color:var(--muted);white-space:pre-wrap;font-size:12px;line-height:1.5}@media (width<=900px){.profile-stats[data-v-2f2d601a]{grid-template-columns:repeat(3,1fr)}.profile-columns[data-v-2f2d601a]{grid-template-columns:1fr}}@media (width<=600px){.profile-panel[data-v-2f2d601a]{padding:18px}.profile-stats[data-v-2f2d601a]{grid-template-columns:repeat(2,1fr)}}.milestone-panel[data-v-9f931449]{border:1px solid var(--line);background:#fff;padding:25px}.milestone-panel h3[data-v-9f931449]{margin:0 0 12px;font-size:18px}.milestone-panel h4[data-v-9f931449]{margin:25px 0 12px;font-size:14px}.milestone-card p[data-v-9f931449],.milestone-card small[data-v-9f931449],.milestone-muted[data-v-9f931449]{color:var(--muted);font-size:12px}.milestone-error[data-v-9f931449]{color:#9a2d22;font-size:12px}.milestone-grid[data-v-9f931449]{grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:10px;display:grid}.milestone-card[data-v-9f931449]{border:1px solid var(--line);gap:8px;padding:17px;display:grid}.milestone-card.open[data-v-9f931449]{background:#f7faf5;border-color:#a0bdaa}.milestone-card>span[data-v-9f931449]{color:#558061;font-size:20px}.milestone-card strong[data-v-9f931449]{font-size:13px}.milestone-card p[data-v-9f931449]{margin:0}.milestone-track[data-v-9f931449]{background:#eae8e0;height:6px;overflow:hidden}.milestone-track span[data-v-9f931449]{background:#558061;height:100%;display:block}@media (width<=600px){.milestone-panel[data-v-9f931449]{padding:18px}}.review-root[data-v-9ecc4149]{grid-template-columns:1fr 1fr;gap:16px;display:grid}.review-panel[data-v-9ecc4149]{border:1px solid var(--line);background:#fff;min-width:0;padding:25px}.review-panel h3[data-v-9ecc4149]{margin:0 0 15px;font-size:18px}.review-muted[data-v-9ecc4149],.review-upcoming p[data-v-9ecc4149]{color:var(--muted);font-size:12px}.review-error[data-v-9ecc4149]{color:#9a2d22;font-size:12px}.review-card[data-v-9ecc4149]{border-top:1px solid var(--line);padding:20px 0}.review-card small[data-v-9ecc4149]{color:var(--muted);font-size:11px}.review-prompt[data-v-9ecc4149]{font-size:14px}.review-card blockquote[data-v-9ecc4149]{white-space:pre-wrap;margin:22px 0;font-size:17px;line-height:1.6}.review-primary[data-v-9ecc4149]{background:var(--ink);color:#fff;cursor:pointer;border:0;padding:12px 17px;font-size:12px}.review-grades[data-v-9ecc4149]{flex-wrap:wrap;gap:7px;display:flex}.review-grades p[data-v-9ecc4149]{width:100%;font-size:12px}.review-grades button[data-v-9ecc4149]{border:1px solid var(--line);color:var(--ink);cursor:pointer;background:#fff;padding:10px 12px}.review-grades button[data-v-9ecc4149]:disabled{opacity:.5}.review-upcoming[data-v-9ecc4149]{border-top:1px solid var(--line);padding:14px 0}.review-upcoming strong[data-v-9ecc4149]{font-size:12px}.review-upcoming span[data-v-9ecc4149]{float:right;color:var(--muted);font-size:11px}@media (width<=900px){.review-root[data-v-9ecc4149]{grid-template-columns:1fr}}@media (width<=600px){.review-panel[data-v-9ecc4149]{padding:18px}}.reading-dashboard[data-v-9a4742f8]{border-top:1px solid var(--line);padding:46px 0 76px}.reading-heading[data-v-9a4742f8]{justify-content:space-between;align-items:end;gap:20px;margin-bottom:28px;display:flex}.reading-heading h2[data-v-9a4742f8]{letter-spacing:-.05em;margin:0;font-size:32px}.reading-tabs[data-v-9a4742f8]{flex-wrap:wrap;justify-content:flex-end;gap:6px;display:flex}.reading-tabs button[data-v-9a4742f8]{color:var(--muted);cursor:pointer;background:0 0;border:1px solid #0000;border-radius:6px;padding:9px 13px}.reading-tabs button.active[data-v-9a4742f8]{border-color:var(--line);color:var(--ink);background:#fff}.reading-stats[data-v-9a4742f8]{grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:22px;display:grid}.reading-stats div[data-v-9a4742f8]{border:1px solid var(--line);background:#fff;flex-direction:column;justify-content:space-between;min-height:110px;padding:20px;display:flex}.reading-stats strong[data-v-9a4742f8]{letter-spacing:-.06em;font-size:31px}.reading-muted[data-v-9a4742f8],.reading-stats span[data-v-9a4742f8]{color:var(--muted);font-size:12px}.reading-columns[data-v-9a4742f8]{grid-template-columns:1fr 1fr;gap:16px;display:grid}.reading-panel[data-v-9a4742f8]{border:1px solid var(--line);background:#fff;min-width:0;padding:25px}.reading-panel h3[data-v-9a4742f8]{letter-spacing:-.03em;margin:0 0 16px;font-size:18px}.goal-advice[data-v-9a4742f8]{margin-bottom:16px}.goal-suggestions[data-v-9a4742f8]{flex-wrap:wrap;gap:8px;display:flex}.goal-suggestions button[data-v-9a4742f8]{border:1px solid var(--line);text-align:left;cursor:pointer;background:#fff;gap:6px;padding:11px 14px;display:grid}.goal-suggestions strong[data-v-9a4742f8]{font-size:13px}.goal-suggestions small[data-v-9a4742f8]{color:var(--muted);font-size:10px}.reading-audit[data-v-9a4742f8]{margin-bottom:16px}.audit-items[data-v-9a4742f8]{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:10px;display:grid}.audit-items article[data-v-9a4742f8]{background:#f7faf5;border-left:3px solid #a0bdaa;padding:12px}.audit-items article.urgent[data-v-9a4742f8]{background:#fff5f0;border-color:#b42318}.audit-items article.attention[data-v-9a4742f8]{background:#fffaf0;border-color:#d5a54c}.audit-items strong[data-v-9a4742f8]{font-size:12px}.audit-items p[data-v-9a4742f8]{color:var(--muted);font-size:11px;line-height:1.5}.audit-items small[data-v-9a4742f8]{color:var(--muted);font-size:10px}.reading-panel>p[data-v-9a4742f8]{color:var(--muted);margin:0 0 17px;font-size:12px}.reading-panel small[data-v-9a4742f8]{color:var(--muted);font-size:11px}.activity-calendar[data-v-9a4742f8]{grid-template-columns:repeat(12,minmax(0,1fr));gap:5px;margin:22px 0;display:grid}.activity-day[data-v-9a4742f8]{aspect-ratio:1;background:#eae8e0;border-radius:2px}.activity-day.active[data-v-9a4742f8]{background:#a0bdaa}.activity-day.strong[data-v-9a4742f8]{background:#558061}.progress-list[data-v-9a4742f8]{gap:22px;display:grid}.progress-label[data-v-9a4742f8]{justify-content:space-between;gap:15px;font-size:13px;display:flex}.progress-label strong[data-v-9a4742f8]{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.progress-label span[data-v-9a4742f8]{flex:none}.progress-track[data-v-9a4742f8]{background:#eae8e0;border-radius:20px;height:7px;margin:10px 0;overflow:hidden}.progress-track span[data-v-9a4742f8]{border-radius:inherit;background:#558061;height:100%;display:block}.progress-item small[data-v-9a4742f8]{display:block}.reading-loading[data-v-9a4742f8]{color:var(--muted);font-size:12px}.reading-error[data-v-9a4742f8]{color:#9a2d22;background:#fff0ea;padding:12px 15px;font-size:12px}.reading-error button[data-v-9a4742f8]{color:inherit;cursor:pointer;background:0 0;border:0;text-decoration:underline}.reading-form[data-v-9a4742f8]{align-content:start;gap:14px;display:grid}.reading-form h3[data-v-9a4742f8]{margin-bottom:2px}.reading-form label[data-v-9a4742f8]{text-transform:uppercase;letter-spacing:.06em;gap:7px;font-size:11px;font-weight:600;display:grid}.reading-form label span[data-v-9a4742f8]{text-transform:none;letter-spacing:0;font-weight:400}.reading-form input[data-v-9a4742f8],.reading-form select[data-v-9a4742f8],.reading-form textarea[data-v-9a4742f8]{border:1px solid var(--line);width:100%;color:var(--ink);background:#fff;padding:11px 12px;font-size:13px}.reading-form-row[data-v-9a4742f8]{grid-template-columns:1fr 1fr;gap:12px;display:grid}.reading-form-actions[data-v-9a4742f8]{align-items:center;gap:18px;display:flex}.reading-timer[data-v-9a4742f8]{border:1px solid var(--line);flex-wrap:wrap;align-items:center;gap:10px;padding:10px;display:flex}.reading-timer strong[data-v-9a4742f8]{font-variant-numeric:tabular-nums;font-size:18px}.reading-timer button[data-v-9a4742f8]{color:var(--muted);cursor:pointer;background:0 0;border:0;font-size:11px}.reading-timer button[data-v-9a4742f8]:disabled{opacity:.5}.reading-primary[data-v-9a4742f8]{background:var(--ink);color:#fff;cursor:pointer;border:0;justify-self:start;min-height:42px;padding:0 17px}.reading-primary[data-v-9a4742f8]:disabled{opacity:.5;cursor:default}.reading-text-button[data-v-9a4742f8]{color:var(--muted);cursor:pointer;background:0 0;border:0;padding:0;font-size:11px}.reading-history[data-v-9a4742f8]{max-height:650px;overflow-y:auto}.reading-session[data-v-9a4742f8]{border-top:1px solid var(--line);justify-content:space-between;gap:15px;padding:16px 0;display:flex}.reading-session strong[data-v-9a4742f8]{font-size:13px}.reading-session p[data-v-9a4742f8]{color:var(--muted);margin:6px 0;font-size:11px}.reading-session small[data-v-9a4742f8]{white-space:pre-wrap;display:block}.reading-session-actions[data-v-9a4742f8]{flex:none;align-items:start;gap:10px;display:flex}.reading-session-actions button[data-v-9a4742f8]{color:var(--muted);cursor:pointer;background:0 0;border:0;padding:0;font-size:11px}.reading-session-actions button[data-v-9a4742f8]:hover,.reading-text-button[data-v-9a4742f8]:hover{color:var(--ink);text-decoration:underline}.goal-card[data-v-9a4742f8]{border-top:1px solid var(--line);padding:17px 0}.reading-export[data-v-9a4742f8]{color:var(--muted);text-underline-offset:3px;margin:-8px 0 14px;font-size:11px;text-decoration:underline;display:inline-block}.goal-card p[data-v-9a4742f8]{color:var(--muted);margin:0 0 5px;font-size:12px}.goal-card small[data-v-9a4742f8]{margin-bottom:12px;display:block}@media (width<=900px){.reading-stats[data-v-9a4742f8]{grid-template-columns:repeat(2,1fr)}.reading-columns[data-v-9a4742f8]{grid-template-columns:1fr}}@media (width<=600px){.reading-heading[data-v-9a4742f8]{flex-direction:column;align-items:start}.reading-tabs[data-v-9a4742f8]{justify-content:flex-start}.reading-stats[data-v-9a4742f8]{gap:8px}.reading-stats div[data-v-9a4742f8]{min-height:95px;padding:14px}.reading-stats strong[data-v-9a4742f8]{font-size:25px}.reading-panel[data-v-9a4742f8]{padding:18px}.reading-session[data-v-9a4742f8]{flex-direction:column}}:root{--ink:#111;--muted:#707070;--line:#e5e5e5;--paper:#fafafa;--white:#fff;--orange:#111;--serif:ui-serif,Georgia,serif;--sans:"Inter","Segoe UI",system-ui,sans-serif}*{box-sizing:border-box}html{background:var(--paper);color:var(--ink);font-family:var(--sans)}body{min-width:320px;margin:0}button,input,textarea{font:inherit}button{color:inherit}button:focus-visible,input:focus-visible,textarea:focus-visible{outline:2px solid var(--orange);outline-offset:3px}.auth-shell{place-items:center;min-height:100svh;padding:48px 24px;display:grid}.auth-loading .auth-brand{animation:1.2s ease-in-out infinite alternate auth-pulse}.auth-card{width:min(100%,430px)}.auth-brand{letter-spacing:-.02em;align-items:center;gap:10px;font-size:15px;font-weight:600;display:inline-flex}.auth-copy{margin:72px 0 36px}.auth-copy h1{letter-spacing:-.055em;margin:0;font-size:clamp(38px,6vw,52px);line-height:.98}.auth-copy>p:last-child{max-width:390px;color:var(--muted);margin:20px 0 0;font-size:14px;line-height:1.6}.auth-tabs{border:1px solid var(--line);background:#f3f3f3;border-radius:9px;grid-template-columns:1fr 1fr;padding:3px;display:grid}.auth-tabs button{height:36px;color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:6px;font-size:12px;font-weight:500}.auth-tabs button.active{background:var(--white);color:var(--ink);box-shadow:0 1px 2px #00000014}.auth-form{gap:18px;margin-top:24px;display:grid}.auth-form label{color:#4f4f4f;letter-spacing:.02em;gap:8px;font-size:11px;font-weight:600;display:grid}.auth-form input{border:1px solid var(--line);background:var(--white);width:100%;height:44px;color:var(--ink);letter-spacing:normal;border-radius:7px;padding:0 13px;font-size:14px;font-weight:400}.auth-form input:focus{border-color:#aaa;outline:none;box-shadow:0 0 0 3px #0000000f}.auth-form .submit-button{margin-top:2px}.auth-error{color:#b42318;margin:-4px 0 0;font-size:12px;line-height:1.45}.auth-note{color:var(--muted);text-align:center;margin:18px 0 0;font-size:11px;line-height:1.5}@keyframes auth-pulse{0%{opacity:.45}to{opacity:1}}.app-shell{min-height:100vh;overflow-x:hidden}.topbar{border-bottom:1px solid var(--line);z-index:10;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#fafafae6;height:64px;padding:0 max(24px,50vw - 600px);position:relative}.brand,.footer-brand,.topbar{align-items:center;display:flex}.brand,.footer-brand{letter-spacing:-.02em;gap:10px;font-size:15px;font-weight:600}.brand{cursor:pointer;background:0 0;border:0;padding:0}.brand-mark{background:var(--ink);color:#fff;border-radius:50%;flex:0 0 28px;justify-content:center;align-items:center;width:28px;height:28px;padding:0;display:inline-flex;position:relative}.brand-mark:before{box-sizing:border-box;border:1.5px solid;border-radius:1px 2px 2px 1px;width:13px}.brand-mark:after,.brand-mark:before{content:"";height:11px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.brand-mark:after{background:currentColor;width:1px}.header-actions{gap:12px;margin-left:auto}.account-menu,.header-actions{align-items:center;display:flex}.account-menu{gap:10px;min-width:0}.account-menu>span{max-width:190px;color:var(--muted);text-overflow:ellipsis;white-space:nowrap;font-size:11px;overflow:hidden}.account-menu button{border:1px solid var(--line);background:var(--white);cursor:pointer;border-radius:7px;height:32px;padding:0 10px;font-size:11px}.account-menu button:hover{background:#f3f3f3}.add-button{background:var(--ink);color:#fff;cursor:pointer;border:0;border-radius:7px;justify-content:center;align-items:center;min-height:36px;padding:0 14px;font-size:13px;font-weight:500;transition:background .2s;display:inline-flex}.add-button:hover{background:#333}.add-button span{margin-right:5px}main{max-width:1200px;margin:0 auto;padding:0 24px}.hero{padding:64px 0 48px}.eyebrow{letter-spacing:.12em;text-transform:uppercase;color:var(--muted);margin:0 0 15px;font-size:10px}.eyebrow,h1{font-weight:600}h1{letter-spacing:-.055em;max-width:720px;margin:0;font-size:clamp(42px,5vw,64px);line-height:1}.library{border-top:1px solid var(--line);padding-top:20px}.toolbar{justify-content:space-between;gap:30px}.tabs,.toolbar{align-items:center;display:flex}.tabs{scrollbar-width:none;gap:7px;overflow-x:auto}.tab{white-space:nowrap;color:var(--muted);cursor:pointer;background:0 0;border:1px solid #0000;border-radius:6px;padding:8px 11px;font-size:12px;transition:all .2s}.tab span{opacity:.65;margin-left:5px}.tab.active,.tab:hover{color:var(--ink)}.tab.active{border-color:var(--line);background:var(--white);box-shadow:0 1px 2px #00000008}.search{width:205px;color:var(--muted);border-bottom:1px solid #bbb9b0;align-items:center;gap:8px;padding:5px 0 8px;display:flex}.search span{font-size:20px;line-height:0;transform:rotate(-15deg)}.search input{background:0 0;border:0;outline:0;width:100%;font-size:13px}.search input::placeholder{color:#99978e}.section-heading{align-items:baseline;gap:10px;margin:38px 0 20px;display:flex}.section-heading h2{letter-spacing:-.035em;margin:0;font-size:21px;font-weight:600}.section-heading span{color:var(--muted);font-size:12px}.book-grid,.loading-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:30px 16px;padding-bottom:72px;display:grid}.book-card{min-width:0}.book-cover{aspect-ratio:4/5.05;color:var(--accent);border:1px solid #11111114;border-radius:4px;padding:13% 11%;transition:border-color .2s,box-shadow .2s;position:relative;overflow:hidden;box-shadow:0 2px 8px #00000009}.book-card:hover .book-cover{border-color:#1113;box-shadow:0 5px 18px #0001}.book-cover:after{content:"";pointer-events:none;background:linear-gradient(100deg,#00000014,#0000 9% 92%,#ffffff14);position:absolute;inset:0}.cover-rule{border-top:2px solid;width:22px;margin-bottom:25%;display:block}.cover-copy{z-index:1;flex-direction:column;gap:8px;display:flex;position:relative}.cover-copy small{text-transform:uppercase;letter-spacing:.13em;font-size:clamp(8px,.75vw,11px)}.cover-copy strong{letter-spacing:-.035em;max-width:95%;font-size:clamp(25px,2.45vw,41px);font-weight:500;line-height:.95}.cover-copy strong,.cover-monogram{font-family:var(--serif);font-style:italic}.cover-monogram{opacity:.1;font-size:clamp(140px,15vw,240px);line-height:1;position:absolute;bottom:-14%;right:-2%}.book-info{padding:17px 2px 0}.book-title-row{justify-content:space-between;gap:10px;display:flex}.book-title-row h3{letter-spacing:-.025em;white-space:nowrap;text-overflow:ellipsis;margin:0 0 5px;font-size:16px;font-weight:600;overflow:hidden}.book-title-row p{color:var(--muted);margin:0;font-size:12px}.status-dot{background:#b5b3aa;border-radius:50%;flex:0 0 7px;width:7px;height:7px;margin-top:6px}.status-dot.reading{background:#2671e5;box-shadow:0 0 0 3px #2671e51a}.status-dot.finished{background:#558061}.book-meta{height:34px;color:var(--muted);margin:19px 0 0;font-size:11px}.card-action{text-transform:uppercase;letter-spacing:.06em;cursor:pointer;background:0 0;border:1px solid #d0cec4;justify-content:space-between;align-items:center;width:100%;height:39px;margin-top:17px;padding:0 13px;font-size:11px;font-weight:600;transition:all .2s;display:flex}.card-action:hover{border-color:var(--ink);background:var(--ink);color:#fff}.card-action.quiet{height:auto;color:var(--muted);border:0;justify-content:flex-start;gap:7px;padding:0}.card-action.quiet:hover{color:var(--ink);background:0 0}.delete-action{color:#99958d;cursor:pointer;background:0 0;border:0;margin:16px 0 0;padding:0;font-size:10px}.delete-action:hover{color:#b42318;text-underline-offset:3px;text-decoration:underline}.rating-line{justify-content:space-between;align-items:center;margin-top:17px;display:flex}.rating-line small{color:var(--muted);font-size:10px}.stars{letter-spacing:2px;color:var(--ink);font-size:12px}.stars i{color:#ccc9be;font-style:normal}.review-preview{color:#636159;font-family:var(--serif);-webkit-line-clamp:2;-webkit-box-orient:vertical;height:39px;margin:12px 0 0;font-size:14px;font-style:italic;line-height:1.4;display:-webkit-box;overflow:hidden}.review-preview.empty{color:#999}.skeleton-card{aspect-ratio:3/4.6;background:linear-gradient(110deg,#e8e6df 25%,#f2f0e9 40%,#e8e6df 55%) 0 0/200% 100%;animation:1.3s linear infinite shine}@keyframes shine{to{background-position-x:-200%}}.empty-state{text-align:center;border:1px dashed #c9c7be;align-content:center;place-items:center;min-height:380px;margin-bottom:80px;padding:40px;display:grid}.empty-state.compact{min-height:320px}.empty-glyph{width:72px;height:88px;font-family:var(--serif);background:#e8e5dc;place-items:center;font-size:27px;font-style:italic;display:grid;transform:rotate(-4deg)}.empty-state h3{letter-spacing:-.04em;margin:25px 0 7px;font-size:24px;font-weight:500}.empty-state p{max-width:400px;color:var(--muted);margin:0 0 24px;font-size:13px;line-height:1.6}footer{border-top:1px solid var(--line);max-width:1200px;color:var(--muted);grid-template-columns:1fr 1fr 1fr;align-items:center;margin:0 auto;padding:24px;font-size:11px;display:grid}footer .footer-brand{color:var(--ink);font-size:15px}footer .brand-mark{flex-basis:24px;width:24px;height:24px}footer .brand-mark:before{width:11px;height:9px}footer .brand-mark:after{height:9px}footer p{text-align:center;font-family:var(--sans);font-size:12px;font-style:normal}footer>span{text-align:right}.modal-backdrop{z-index:50;-webkit-backdrop-filter:blur(7px);backdrop-filter:blur(7px);background:#1616127a;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.modal{background:var(--white);border:1px solid var(--line);border-radius:12px;width:min(100%,500px);max-height:calc(100vh - 40px);padding:36px;position:relative;overflow-y:auto;box-shadow:0 20px 60px #00000026}.modal-close{border:1px solid var(--line);cursor:pointer;background:#fff;border-radius:50%;justify-content:center;align-items:center;width:30px;height:30px;padding:0;font-size:0;display:inline-flex;position:absolute;top:18px;right:18px}.modal-close:after,.modal-close:before{content:"";background:currentColor;width:11px;height:1px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)rotate(45deg)}.modal-close:after{transform:translate(-50%,-50%)rotate(-45deg)}.modal h2{font-family:var(--sans);letter-spacing:-.04em;margin:0;font-size:32px;font-style:normal;font-weight:600}.modal-subtitle{color:var(--muted);margin:9px 0 30px;font-size:13px}.modal form{gap:19px;display:grid}.modal label,.modal legend{letter-spacing:.06em;text-transform:uppercase;gap:8px;font-size:11px;font-weight:600;display:grid}.modal input,.modal textarea{text-transform:none;letter-spacing:0;resize:vertical;background:0 0;border:1px solid #d4d2c8;border-radius:0;outline:0;width:100%;padding:13px 14px}.modal input:focus,.modal textarea:focus{border-color:var(--ink)}.field-row{grid-template-columns:1fr 1fr;gap:13px;display:grid}.modal fieldset{border:0;margin:0;padding:0}.modal legend{margin-bottom:9px}.segment-control{background:#eae8e0;grid-template-columns:1fr 1fr;padding:3px;display:grid}.segment-control button{cursor:pointer;background:0 0;border:0;padding:10px;font-size:12px}.segment-control button.active{background:var(--white);box-shadow:0 1px 5px #00000014}.submit-button{background:var(--ink);color:#fff;cursor:pointer;border:0;justify-content:space-between;align-items:center;min-height:49px;margin-top:5px;padding:0 18px;font-weight:500;display:flex}.submit-button:hover:not(:disabled){background:var(--orange)}.submit-button:disabled{opacity:.45;cursor:not-allowed}.delete-modal{max-width:410px}.delete-controls{grid-template-columns:1fr 1fr;gap:10px;margin-top:28px;display:grid}.cancel-button,.delete-confirm{border:1px solid var(--line);cursor:pointer;min-height:45px;font-size:12px;font-weight:600}.cancel-button{background:var(--white)}.cancel-button:hover:not(:disabled){background:#f2f2f2}.delete-confirm{color:#fff;background:#b42318;border-color:#b42318}.delete-confirm:hover:not(:disabled){background:#8f1c13}.cancel-button:disabled,.delete-confirm:disabled{opacity:.5;cursor:not-allowed}.add-button.secondary{border:1px solid var(--line);background:var(--white);color:var(--ink)}.add-button.secondary:hover{background:#f2f2f2}.rating-field{border-top:1px solid var(--line)!important;border-bottom:1px solid var(--line)!important;padding:17px 0!important}.rating-picker{align-items:center;display:flex}.rating-picker button{color:var(--ink);cursor:pointer;background:0 0;border:0;padding:0 3px;font-size:27px;line-height:1}.rating-picker span{margin-left:auto;font-size:14px;font-weight:600}.toast-message{z-index:80;background:var(--ink);color:#fff;border-radius:999px;align-items:center;gap:10px;padding:12px 18px;font-size:12px;display:flex;position:fixed;bottom:26px;left:50%;transform:translate(-50%);box-shadow:0 12px 40px #0003}.toast-message span{color:#8ac399}.toast-message.error span{color:#ff8d8d}.fade-enter-active,.fade-leave-active{transition:opacity .2s}.fade-enter-active .modal,.fade-leave-active .modal{transition:transform .25s,opacity .2s}.fade-enter-from,.fade-leave-to{opacity:0}.fade-enter-from .modal,.fade-leave-to .modal{transform:translateY(16px)scale(.98)}.toast-enter-active,.toast-leave-active{transition:all .25s}.toast-enter-from,.toast-leave-to{opacity:0;transform:translate(-50%,10px)}.mobile-add{display:none}@media (width<=1000px){.book-grid,.loading-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (width<=740px){.auth-shell{place-items:start center;padding:28px 20px 40px}.auth-copy{margin:60px 0 32px}.auth-copy h1{font-size:clamp(38px,12vw,48px)}.topbar{height:65px;padding:0 20px}.header-actions .add-button{display:none}.header-actions{gap:14px}.account-menu>span{display:none}main{padding:0 20px}.hero{padding:42px 0 36px}h1{max-width:440px;font-size:clamp(38px,12vw,50px);line-height:1.02}.toolbar{flex-direction:column;align-items:stretch;gap:16px}.tabs{width:calc(100vw - 20px);margin-right:-20px;padding-right:20px}.search{width:100%}.section-heading{margin-top:38px}.book-grid,.loading-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:28px 12px;padding-bottom:65px}.cover-copy strong{font-size:clamp(23px,7vw,35px)}.cover-copy small{font-size:8px}.book-info{padding-top:13px}.book-title-row h3{font-size:14px}.book-title-row p{font-size:11px}.card-action{padding:0 10px;font-size:9px}.review-preview{font-size:13px}footer{grid-template-columns:1fr 1fr;margin:0 20px;padding-left:0;padding-right:0}footer p{display:none}.modal{padding:36px 22px 26px}.modal h2{font-size:30px}.mobile-add{z-index:15;background:var(--ink);color:#fff;border:0;border-radius:50%;justify-content:center;align-items:center;width:48px;height:48px;padding:0;font-size:0;display:inline-flex;position:fixed;bottom:18px;right:18px;box-shadow:0 5px 18px #0000002e}.mobile-add:after,.mobile-add:before{content:"";background:currentColor;width:14px;height:1.5px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.mobile-add:after{transform:translate(-50%,-50%)rotate(90deg)}}@media (width<=420px){.book-grid,.loading-grid{grid-template-columns:1fr;gap:35px}.book-cover{aspect-ratio:4/4.8}.cover-copy strong{font-size:42px}.cover-copy small{font-size:10px}.cover-monogram{font-size:220px}}@media (prefers-reduced-motion:reduce){*,:after,:before{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
