:root {
 --app-bg:#f6f7f9; --app-surface:#fff; --app-surface-muted:#f0f2f5; --app-surface-strong:#e6eaf0;
 --app-border:#e1e5eb; --app-border-strong:#bbc5d1; --app-text:#202c3c; --app-text-muted:#677487;
 --app-link:#3d5d9a; --app-link-hover:#263f73; --app-primary:#355b98; --app-primary-hover:#274878;
 --app-primary-text:#fff; --app-shadow:rgba(30,45,70,.05); --app-info-bg:#edf2fb; --app-info-text:#334f7a;
 --app-warning-bg:#fff4db; --app-warning-text:#725417; --app-success:#397154;
}
:root[data-theme="dark"] {
 --app-bg:#151b25; --app-surface:#1c2532; --app-surface-muted:#243040; --app-surface-strong:#303f52;
 --app-border:#354253; --app-border-strong:#53657c; --app-text:#e4eaf3; --app-text-muted:#a7b5c8;
 --app-link:#aac7fb; --app-link-hover:#d2e1ff; --app-primary:#aac7fb; --app-primary-hover:#c7d9fa;
 --app-primary-text:#18283f; --app-shadow:rgba(0,0,0,.15); --app-info-bg:#25364e; --app-info-text:#cedffc;
 --app-warning-bg:#423b29; --app-warning-text:#ecd69c; --app-success:#95cbb0;
}
body { font-family: "Segoe UI", system-ui, sans-serif; font-size:15px; line-height:1.65; display:block; }
h1,h2,h3 { color:var(--app-text); letter-spacing:-.035em; }
h1 { font-size:2.4rem; font-weight:650; } h2 { font-size:1.45rem; font-weight:650; }
a { text-underline-offset:4px; }
:focus-visible { outline:3px solid var(--app-primary); outline-offset:4px; }
.skip-link { position:fixed; left:20px; top:-80px; z-index:999; background:var(--app-surface); padding:12px; }
.skip-link:focus { top:12px; }
.workspace-sidebar { position:fixed; inset:0 auto 0 0; width:242px; padding:35px 22px 22px; background:var(--app-surface); border-right:1px solid var(--app-border); display:flex; flex-direction:column; z-index:100; }
.workspace-brand { display:flex; align-items:center; gap:12px; text-decoration:none; color:var(--app-text); font-size:19px; font-weight:650; letter-spacing:-.6px; margin-bottom:42px; }
.brand-mark { display:grid; place-items:center; width:40px; height:44px; background:#355b98; color:white; border-radius:12px 12px 12px 3px; font-family:Georgia,serif; font-size:28px; font-weight:400; }
.workspace-brand small { display:block; font-size:8px; letter-spacing:2.1px; color:var(--app-text-muted); margin-top:2px; }
.nav-caption { font-size:9px; font-weight:700; letter-spacing:1.8px; color:var(--app-text-muted); margin:22px 12px 10px; }
.workspace-nav a { display:flex; align-items:center; gap:12px; padding:10px 13px; margin:3px 0; border-radius:7px; color:var(--app-text-muted); text-decoration:none; font-size:13px; font-weight:500; }
.workspace-nav a > span { width:19px; text-align:center; font-size:20px; line-height:1; }
.workspace-nav a.active { background:var(--app-info-bg); color:var(--app-link); font-weight:650; }
.workspace-nav a:hover { background:var(--app-surface-muted); color:var(--app-text); }
.sidebar-bottom { margin-top:auto; padding:20px 12px 0; border-top:1px solid var(--app-border); color:var(--app-text-muted); font-size:12px; }
.theme-button { color:var(--app-text); background:var(--app-surface-muted); border:1px solid var(--app-border); padding:7px 13px; border-radius:6px; }
.workspace-main { margin-left:242px; min-height:100vh; display:flex; flex-direction:column; min-width:0; }
.workspace-topbar { height:76px; padding:0 44px; border-bottom:1px solid var(--app-border); display:flex; align-items:center; justify-content:space-between; font-size:12px; color:var(--app-text-muted); }
.topbar-note { font-size:11px; } .topbar-note span { margin-left:16px; color:var(--app-link); }
.workspace-content { padding:38px 44px 25px; width:100%; max-width:1540px; margin:0 auto; flex:1; min-width:0; }
.workspace-footer { padding:20px 44px; display:flex; justify-content:space-between; border-top:1px solid var(--app-border); font-size:10px; color:var(--app-text-muted); letter-spacing:.5px; }
.welcome-panel { display:flex; justify-content:space-between; align-items:center; min-height:325px; padding:38px 46px; border:1px solid var(--app-border); border-radius:12px; background:var(--app-surface); overflow:hidden; }
.eyebrow { font-size:9px; letter-spacing:2px; color:var(--app-text-muted); font-weight:700; margin-bottom:13px; }
.welcome-panel h1 { font-family:Georgia,"Times New Roman",serif; font-size:48px; line-height:1.12; font-weight:400; letter-spacing:-2px; margin-bottom:17px; }
.welcome-panel h1 em { color:var(--app-link); font-weight:400; }
.welcome-copy { font-size:13px; color:var(--app-text-muted); line-height:1.8; margin-bottom:22px; }
.welcome-art { display:flex; align-items:flex-end; height:220px; position:relative; padding:30px 20px 0; margin-left:30px; flex-shrink:0; border-bottom:2px solid var(--app-border); }
.book-spine { width:49px; height:164px; display:flex; align-items:center; justify-content:center; writing-mode:vertical-rl; letter-spacing:4px; font-family:Georgia,serif; font-size:12px; border-radius:5px 6px 0 0; border:1px solid rgba(0,0,0,.08); box-shadow:inset 5px 0 rgba(255,255,255,.25); }
.spine-one { background:#cad8d1; color:#355b49; transform:rotate(-13deg); transform-origin:bottom; margin-right:10px; height:150px; }
.spine-two { background:#d2ddf0; color:#345183; height:186px; } .spine-three { background:#e7c7ad; color:#715441; margin-left:5px; }
.art-spark { position:absolute; top:-10px; right:12px; font-size:37px; color:#ad895e; }
.btn { border-radius:6px; font-size:12px; font-weight:600; padding:10px 16px; }
.btn-sm { padding:5px 10px; font-size:11px; }
.section-heading { display:flex; justify-content:space-between; align-items:center; gap:18px; margin:34px 0 18px; }
.section-heading h2 { margin:0; font-size:20px; } .section-heading .eyebrow { margin-bottom:7px; }
.section-heading > a:not(.btn) { font-size:12px; text-decoration:none; white-space:nowrap; }
.count-pill { font-family:"Segoe UI",sans-serif; font-size:11px; border:1px solid var(--app-border); border-radius:20px; padding:3px 8px; margin-left:8px; vertical-align:middle; color:var(--app-text-muted); }
.library-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:20px; }
.content-card { display:flex; flex-direction:column; border:1px solid var(--app-border); border-radius:10px; overflow:hidden; background:var(--app-surface); color:var(--app-text); text-decoration:none; transition:transform .15s,border-color .15s; }
.content-card:hover { transform:translateY(-3px); border-color:var(--app-border-strong); color:var(--app-text); }
.content-art { height:105px; display:flex; align-items:center; justify-content:space-between; padding:22px 30px; }
.content-art > span { font:50px Georgia,serif; } .content-art small { font-size:10px; text-transform:uppercase; letter-spacing:3px; writing-mode:vertical-rl; }
.content-art.video-art { position:relative; height:auto; aspect-ratio:16 / 9; overflow:hidden; }
.video-thumbnail { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; }
.art-youtube { background:#ece0d7; color:#815b48; } .art-pdf { background:#dde6f2; color:#47638d; } .art-epub { background:#dde9df; color:#486952; } .art-article { background:#e7e2ee; color:#6c587e; }
.content-card-body { padding:19px 20px 14px; display:flex; flex-direction:column; flex:1; }
.card-meta { display:flex; justify-content:space-between; gap:5px; font-size:9px; color:var(--app-text-muted); margin-bottom:10px; }
.content-card h3 { font-size:16px; line-height:1.5; margin-bottom:8px; overflow-wrap:anywhere; }
.content-card p { font-size:11px; color:var(--app-text-muted); overflow-wrap:anywhere; }
.card-bottom { margin-top:auto; padding-top:12px; border-top:1px solid var(--app-border); display:flex; justify-content:space-between; font-size:10px; color:var(--app-link); }
.empty-panel { background:var(--app-surface); border:1px dashed var(--app-border-strong); border-radius:10px; padding:38px 24px; text-align:center; margin-top:20px; }
.empty-panel h2 { font-size:21px; } .empty-panel p { color:var(--app-text-muted); font-size:13px; }
.empty-symbol { display:block; font-size:30px; color:var(--app-link); margin-bottom:8px; }
.quiet-note { text-align:center; color:var(--app-text-muted); font-size:11px; padding:32px 0 7px; }
.quiet-note > span { padding-right:7px; }
.page-heading { margin:8px 0 30px; } .page-heading p { font-size:13px; } .page-heading .eyebrow { font-size:9px; }
.add-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:22px; }
.add-card { background:var(--app-surface); border:1px solid var(--app-border); padding:30px; border-radius:10px; color:var(--app-text); text-decoration:none; }
.add-card:hover { border-color:var(--app-link); color:var(--app-text); }
.source-icon { display:grid; place-items:center; width:54px; height:54px; border-radius:10px; margin-bottom:23px; font:28px Georgia,serif; }
.add-card h2 { font-size:21px; } .add-card p { color:var(--app-text-muted); font-size:13px; max-width:350px; }
.add-card strong { display:flex; justify-content:space-between; font-size:12px; color:var(--app-link); padding-top:17px; }
.library-filters { display:flex; align-items:flex-end; gap:14px; padding:20px; background:var(--app-surface); border:1px solid var(--app-border); border-radius:10px; margin-bottom:26px; }
.library-filters label { display:block; font-size:11px; margin-bottom:6px; color:var(--app-text-muted); }
.search-field { flex:1; } .library-filters > div { min-width:0; }
.form-control,.form-select { border-radius:6px; font-size:13px; min-height:40px; }
.results-label { font-size:12px; color:var(--app-text-muted); }
.library-pagination { display:flex; align-items:center; justify-content:center; gap:20px; margin:30px 0; font-size:12px; }
.card { border-radius:10px; box-shadow:none; } .table { font-size:13px; } .table th { font-size:11px; color:var(--app-text-muted); }
.summary-content,.transcript-reader { font-size:16px; line-height:1.9; }
@media (max-width:1150px) { .workspace-sidebar { width:210px; padding-inline:15px; } .workspace-main { margin-left:210px; } .workspace-content { padding:28px; } .workspace-topbar { padding-inline:28px; } .welcome-panel { padding:30px; } .welcome-panel h1 { font-size:40px; } .welcome-art { transform:scale(.85); margin-left:0; } .library-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } .library-filters { flex-wrap:wrap; } .search-field { flex-basis:100%; } }
@media (max-width:760px) { .workspace-sidebar { position:static; width:100%; padding:18px; border-right:0; border-bottom:1px solid var(--app-border); } .workspace-brand { margin-bottom:15px; } .workspace-nav { display:flex; flex-wrap:wrap; gap:4px; } .workspace-nav .nav-caption { display:none; } .workspace-nav a { font-size:11px; padding:7px 9px; margin:0; } .workspace-nav a > span { display:none; } .sidebar-bottom { display:flex; justify-content:space-between; align-items:center; padding:12px 0 0; margin-top:12px; } .sidebar-bottom p { margin:0; } .workspace-main { margin-left:0; } .workspace-topbar { height:48px; padding-inline:20px; } .topbar-note { display:none; } .workspace-content { padding:22px 18px; } .welcome-panel { padding:27px; min-height:0; } .welcome-art { display:none; } .welcome-panel h1 { font-size:38px; } .section-heading { align-items:flex-start; } .section-heading h2 { font-size:18px; } .section-heading > a:not(.btn) { font-size:10px; } .library-grid,.add-grid { grid-template-columns:1fr; } .content-art { height:90px; } .add-card { padding:24px; } .library-filters > div { flex:1 1 100%; } .page-heading { flex-wrap:wrap; } h1 { font-size:2rem; } .workspace-footer { padding-inline:18px; } }
@media (prefers-reduced-motion:reduce) { .content-card { transition:none; } }
.preview-notice { background:var(--app-info-bg); color:var(--app-info-text); padding:10px 15px; border-radius:6px; margin-bottom:22px; font-size:11px; }
.reader-back { display:inline-block; margin-bottom:22px; font-size:12px; text-decoration:none; }
.reader-paper { padding:36px; font-size:16px; line-height:1.95; }
.reader-paper h2 { font-family:Georgia,serif; font-size:26px; margin-bottom:22px; }
.reader-paper blockquote { border-left:3px solid var(--app-link); padding:8px 20px; margin:28px 0; font-family:Georgia,serif; font-size:20px; color:var(--app-link); }
.reader-summary { padding:25px; align-self:start; position:sticky; top:25px; }
.reader-summary h2 { font-size:20px; }.reader-summary p,.reader-summary li { font-size:13px; }.reader-summary li { margin-bottom:14px; }
.add-preview-form { max-width:680px; }.reader-paper .form-label { font-size:13px; }
@media (max-width:1100px) { .article-reader-layout,.pdf-reader-layout { grid-template-columns:1fr; }.reader-summary { position:static; } }
@media (max-width:760px) { .reader-paper { padding:23px; } }
.workspace-topbar { gap:16px; }.workspace-topbar > span:first-child { min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
#focus-toggle { flex-shrink:0; font-size:11px; }
.reading-focus .workspace-sidebar { display:none; }.reading-focus .workspace-main { margin-left:0; }
.reading-focus .workspace-content { max-width:1200px; }.reading-focus .workspace-topbar { position:sticky; top:0; z-index:50; background:var(--app-surface); }
.article-part-list { max-height:340px; overflow:auto; }.article-content-reader { border-radius:10px; }
.article-content-text,.epub-content-html { line-height:1.95; }.pdf-page-image[hidden] { display:none; }
.collection-tabs { display:flex; gap:12px; margin-bottom:22px; flex-wrap:wrap; }
.collection-tabs a { flex:1; min-width:180px; padding:15px 20px; border:1px solid var(--app-border); border-radius:9px; text-decoration:none; color:var(--app-text-muted); background:var(--app-surface); font-weight:600; }
.collection-tabs a span { display:block; font-size:11px; font-weight:400; margin-top:3px; }
.collection-tabs a.active { border-color:var(--app-link); background:var(--app-info-bg); color:var(--app-link); }
.content-card-main { display:flex; flex:1; flex-direction:column; color:inherit; text-decoration:none; }.content-card-main:hover { color:inherit; }
.book-facts { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; padding-top:12px; border-top:1px solid var(--app-border); margin-bottom:14px; }
.book-facts dt { font-size:10px; color:var(--app-text-muted); font-weight:400; }.book-facts dd { font-size:12px; color:var(--app-text); margin:3px 0 0; }
.book-state,.card-date,.article-card-meta { font-size:11px; }.book-state { color:var(--app-link)!important; }
.card-actions { display:flex; flex-wrap:wrap; justify-content:space-between; align-items:center; gap:8px; padding:12px 20px; border-top:1px solid var(--app-border); font-size:11px; }.card-actions a { text-decoration:none; }
.channel-card { display:flex; flex-direction:column; padding:24px; border:1px solid var(--app-border); border-radius:10px; background:var(--app-surface); min-width:0; }
.channel-card-top { display:flex; justify-content:space-between; gap:12px; align-items:start; }.channel-state { color:var(--app-text-muted); font-size:10px; }
.channel-card h2 { font-size:18px; overflow-wrap:anywhere; }.channel-card h2 a { color:var(--app-text); text-decoration:none; }.channel-card p { font-size:12px; }
.channel-actions { display:flex; flex-wrap:wrap; gap:8px; margin-top:auto; padding-top:15px; border-top:1px solid var(--app-border); }
