/* Readable paper and night palettes. No inversion, network fonts or animation. */
:root{--paper:#fff;--surface:#f8faff;--ink:#192b42;--muted:#52657d;--line:#dbe3ef;--soft:#f1f5fb;--input:#fff;--accent:#255dba;--active:#e8f0ff;--active-ink:#173e7d;--focus:#1d5bc1;--mark:#fff0b8;--mark-ink:#544017;--cue:#f2f6fe;--error:#91412f;color-scheme:light}
:root[data-theme=dark]{--paper:#101926;--surface:#162236;--ink:#e6edf9;--muted:#b0c0d8;--line:#344865;--soft:#1f304a;--input:#0f1a2b;--accent:#9fc1ff;--active:#2b456f;--active-ink:#edf4ff;--focus:#a9cbff;--mark:#5a4a20;--mark-ink:#ffe5a3;--cue:#1f2d46;--error:#ffb6a3;color-scheme:dark}
html,body{background:var(--paper);color:var(--ink)}
main{width:100%}
.content{width:100%;max-width:none;position:static;transform:none!important}
.markdown-section .anchor span{color:inherit}
body{font-size:16px;line-height:1.75}
.markdown-section{max-width:900px;padding:38px 32px 70px;color:var(--ink)}
.markdown-section h1,.markdown-section h2,.markdown-section h3,.markdown-section strong{color:var(--ink)}
.markdown-section h1{font-size:38px;margin-top:26px}
.markdown-section a,.markdown-section a:hover{color:var(--accent)}
.markdown-section h1 a{color:var(--ink);text-decoration:none}
.intro{color:var(--muted);margin-bottom:24px}
.heading-row{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}
.eyebrow{color:var(--muted);font-size:10px;letter-spacing:2px}
.theme-control{display:flex;gap:8px;align-items:center;font-size:12px;color:var(--muted)}
.theme-control select{font:inherit;font-size:14px;min-height:44px;max-width:100%;padding:8px 10px;border:1px solid var(--line);border-radius:8px;background:var(--surface);color:var(--ink)}
#theme-status{font-size:12px;color:var(--error);margin:4px 0}
#theme-status:empty{display:none}
.studycard{background:var(--surface);border-color:var(--line);box-shadow:none;padding:24px 26px;scroll-margin:18px}
.cardmeta,.tags,.aliases,.source-meta,.original p,.local-record small,.local-record label,.personal-tools label,.local-record .local-schedule,small,footer,.toolbar p,.eyebrow{color:var(--muted)}
.cardmeta{letter-spacing:.6px}
button,summary,input,select,textarea{touch-action:manipulation}
/* Native option popups need their own foreground/background pair on Windows. */
select{color-scheme:inherit}
select option,select optgroup{color:var(--ink);background-color:var(--input);color-scheme:inherit}
select option:checked{color:var(--active-ink);background-color:var(--active)}
select option:disabled{color:var(--muted)}
@media(forced-colors:active){select option,select optgroup{color:CanvasText;background-color:Canvas}select option:checked{color:HighlightText;background-color:Highlight}}
button,input,.personal-tools select,.local-record textarea,.paste-backup textarea{background:var(--input);color:var(--ink);border-color:var(--line)}
button:hover{background:var(--soft);border-color:var(--accent)}
button[aria-pressed=true]{background:var(--active);color:var(--active-ink);border-color:var(--accent)}
input::placeholder,textarea::placeholder{color:var(--muted);opacity:1}
.toolbar{border-color:var(--line)}
.library-areas{padding:5px;border:1px solid var(--line);border-radius:11px;gap:5px;background:var(--soft)}
.library-areas button{flex:1;white-space:nowrap;background:transparent;border-color:transparent;font-size:13px;padding:8px}
.library-areas button[aria-pressed=true]{background:var(--surface);color:var(--ink);border-color:var(--line);box-shadow:0 1px 3px #0000000a}
.toolbar .views{gap:6px;margin:14px 0 18px}
.toolbar .views button{font-size:13px}
details,.related{border-color:var(--line)}
summary,.original summary,.candidate summary,.backup-panel>summary,#pending-categories>summary,.local-record>summary,.bundle-answer summary{color:var(--muted)}
.answer>summary{color:var(--accent);font-size:15px;font-weight:600;padding-block:10px}
details.answer>p,details.candidate>p,.bundle-answer>p,.reuse-snippets>p{color:var(--ink);font-size:20px;line-height:1.85;max-width:66ch;overflow-wrap:anywhere}
.answer h3,.bundle-answer h3{color:var(--accent)}
.note,.badge,.related button,#review-progress{background:var(--soft);color:var(--muted)}
.note{border-left-color:var(--accent)}
.cue{background:var(--cue);color:var(--ink);border-left-color:var(--accent)}
.related{color:var(--muted)}
.related button:hover{background:var(--active);color:var(--active-ink)}
.back-search{color:var(--accent);background:transparent;border-color:transparent;text-decoration:underline;text-underline-offset:3px;padding-left:0}
.markdown-section pre,.markdown-section pre>code,.markdown-section code{background:var(--soft);color:var(--ink);white-space:pre-wrap;overflow-wrap:anywhere}
mark{background:var(--mark);color:var(--mark-ink)}
.local-feedback p{color:var(--accent)}
.local-record .save-local-note,.local-record .review-once,#apply-import{background:var(--accent);color:var(--paper);border-color:var(--accent);font-weight:600}
.local-record .save-local-note:disabled{background:var(--soft);color:var(--muted);border-color:var(--line);opacity:1;cursor:default}
.local-record .note-status{font-size:12px;line-height:1.7;margin:5px 0 0;color:var(--muted)}
.local-record .note-status[data-state=draft],.local-record .note-status[data-state=saved]{color:var(--accent)}
.local-record .note-status[data-state=error]{color:var(--error)}
#empty{color:var(--muted);border-color:var(--accent);background:var(--surface)}
footer a{color:var(--accent)!important}
:focus-visible{outline:3px solid var(--focus);outline-offset:3px}
::selection{background:var(--active);color:var(--active-ink)}
@media(max-width:600px){
 .markdown-section{padding:24px 16px 50px}
 .heading-row{gap:8px}.eyebrow{font-size:9px;letter-spacing:1px}
 .theme-control{gap:5px}.theme-control select{font-size:16px;padding:7px}
 .markdown-section h1{font-size:30px;line-height:1.35;letter-spacing:-.8px;margin:22px 0 14px}
 .intro{font-size:14px;line-height:1.8;margin-bottom:18px}
 .studycard{padding:20px 16px;border-radius:12px}
 .markdown-section h2{font-size:20px;line-height:1.5}
 .answer>p,.candidate>p,.bundle-answer>p,.reuse-snippets>p{font-size:19px!important;line-height:1.85!important}
 .library-areas button{font-size:12px;padding-inline:5px}
 .toolbar .views button{padding:8px 10px;font-size:12px}
 .personal-tools select{font-size:16px}
 .paste-backup textarea{font-size:16px}
 .local-record .save-local-note{min-width:104px}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

/* Editorial list: titles first, secondary controls inside clear disclosures. */
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.header-actions{display:flex;gap:8px;align-items:center}
.theme-control select{border:0;background:transparent;font-size:13px}
.workspace-menu{position:relative;border:0;margin:0;padding:0;z-index:10}
.workspace-menu>summary{font-size:13px;padding:10px 4px;color:var(--accent)}
.workspace-menu nav{position:absolute;right:0;top:calc(100% + 7px);width:248px;max-width:calc(100vw - 36px);padding:10px;background:var(--surface);border:1px solid var(--line);border-radius:12px;box-shadow:0 10px 30px #0000001a}
.workspace-menu nav a,.workspace-current{display:flex;align-items:center;justify-content:space-between;min-height:44px;padding:8px 10px;font-size:14px;text-decoration:none;font-weight:400;border-radius:6px}
.workspace-menu nav a:hover,.workspace-menu nav a:focus-visible{background:var(--soft)}
.workspace-current{color:var(--muted);font-size:12px;border-bottom:1px solid var(--line);border-radius:0;margin-bottom:4px}
.workspace-menu nav small{font-size:11px;padding:8px 10px;line-height:1.7}
.workspace-admin{display:block;font-size:11px;color:var(--muted);padding:9px 10px 4px;border-top:1px solid var(--line);margin-top:4px}
.markdown-section h1{font-size:40px;font-weight:600;letter-spacing:-1px;margin:20px 0 8px}
.intro{margin-bottom:14px}
.backup-panel{margin-bottom:10px}
.backup-panel>summary{font-size:12px}
.toolbar{padding-top:18px;padding-bottom:24px;border-top:0}
.library-areas{padding:0;gap:22px;background:transparent;border:0;border-radius:0;margin-bottom:9px}
.library-areas button{flex:none;min-height:40px;border:0;border-radius:0;padding:6px 0;font-size:14px;color:var(--muted)}
.library-areas button[aria-pressed=true]{color:var(--ink);background:transparent;box-shadow:none;border-bottom:2px solid var(--accent)}
.toolbar .views{gap:6px;margin:0 0 20px;padding-bottom:12px;border-bottom:1px solid var(--line)}
.toolbar .views button{border:0;border-radius:6px;background:transparent;color:var(--muted);font-size:13px;padding:8px 12px}
.toolbar .views button[aria-pressed=true]{background:var(--active);color:var(--active-ink)}
.toolbar label{font-size:12px;color:var(--muted)}
#category-panel>summary{font-size:12px}
#results{font-size:12px;margin-bottom:8px}
.filterrow{display:flex;gap:12px;align-items:flex-start;justify-content:space-between;margin-top:8px}
.filterrow #category-panel{flex:1;min-width:0;margin-top:0}
.filterrow #results{flex:0 0 auto;max-width:50%;margin:10px 0 0;text-align:right;font-size:11px}
.filterrow:has(#category-panel[open]){flex-wrap:wrap}
.filterrow:has(#category-panel[open]) #category-panel{flex-basis:100%}
.filterrow:has(#category-panel[open]) #results{margin-top:0;text-align:left}
#hide-all{font-size:12px;background:transparent;border:0;color:var(--muted);padding:4px 0;text-decoration:underline;text-underline-offset:4px}
.secondary-views button{font-size:12px;padding:6px 10px;margin-top:8px}
.studycard{background:transparent;border:0;border-top:1px solid var(--line);border-radius:0;margin:0;padding:28px 0 24px}
.card-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}
.card-heading>div:first-child{min-width:0;flex:1}
.card-heading h2{font-size:23px;font-weight:600;line-height:1.5;margin:8px 0 12px}
.favorite-slot{flex:0 0 44px}
.favorite-slot .favorite{font-size:23px;line-height:1;min-width:44px;min-height:44px;padding:7px;border:0;background:transparent;color:var(--muted)}
.favorite-slot .favorite[aria-pressed=true]{color:var(--accent);background:var(--soft)}
.studycard>.answer,.studycard>.local-record,.studycard>.card-more{border:0;margin:0;padding:0}
.studycard>details>summary{min-height:44px}
.studycard>.answer>summary{font-weight:500;font-size:14px}
.studycard>.local-record>summary,.studycard>.card-more>summary{font-size:12px;color:var(--muted)}
.studycard>.local-record[open],.studycard>.card-more[open]{margin:8px 0 12px;padding:10px 16px 16px;border-radius:10px;background:var(--soft)}
.local-record[open] textarea{background:var(--input)}
.card-more .tags{margin:8px 0 14px}
.cue{background:transparent;border:0;padding:0;margin:0 0 6px;font-size:13px;color:var(--muted)}
.back-search{display:inline-flex;align-items:center;min-height:44px;margin-top:12px;font-size:12px}
.personal-tools{margin-bottom:14px;align-items:center}
.personal-tools label{margin:0}
.favorite-slot{flex:0 0 auto;display:flex;gap:2px}
.card-heading{display:block;position:relative}
.card-heading .cardmeta{padding-right:96px;min-height:34px}
.card-heading h2{margin-top:1px}
.favorite-slot{position:absolute;right:0;top:-8px}
.favorite-slot .copy-card{font-size:12px;min-width:44px;min-height:44px;padding:6px;border:0;background:transparent;color:var(--accent)}
.copy-options{margin:0;padding:0;border:0}
.copy-options>summary{font-size:12px;color:var(--muted);min-height:44px}
.copy-options[open]{padding:8px 12px 12px;background:var(--soft);border-radius:8px;margin-top:8px}
.copy-options p{font-size:12px;margin:5px 0 9px;line-height:1.7}
.copy-options button{font-size:12px;margin:4px 6px 0 0}
div.copy-options{border-top:1px solid var(--line);padding-top:10px;margin-top:12px}
#copy-category{background:var(--accent);color:var(--paper);border-color:var(--accent)}
#copy-status{font-size:12px;color:var(--accent);line-height:1.6}
#copy-status:empty{display:none}
#copy-dialog{width:min(760px,calc(100vw - 32px));max-height:calc(100dvh - 32px);padding:20px;border:1px solid var(--line);border-radius:14px;background:var(--surface);color:var(--ink);box-shadow:0 15px 60px #0004}
#copy-dialog::backdrop{background:#0008}
.copy-dialog-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}
.copy-dialog-heading h2{font-size:18px;margin:3px 0 12px;flex:1;min-width:0}
#copy-message{font-size:13px;line-height:1.7;color:var(--muted);margin:5px 0 14px}
#copy-text{display:block;resize:vertical;width:100%;height:50dvh;min-height:140px;max-height:60dvh;font:16px/1.7 Georgia,'Microsoft YaHei',serif;background:var(--input);color:var(--ink);border:1px solid var(--line);border-radius:8px;padding:12px}
.copy-dialog-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:14px}
@media(max-width:600px){.favorite-slot{gap:0}.favorite-slot .copy-card{padding:5px;min-width:40px}#copy-dialog{padding:16px}.copy-dialog-heading h2{font-size:17px}}

.topic-browser{margin:0 0 28px}
.browse-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding:4px 0 14px}
.browse-heading h2{font-size:20px;margin:0 0 4px}
.browse-heading p{font-size:12px;line-height:1.6;color:var(--muted);margin:0}
.browse-modes{display:flex;flex:0 0 auto;gap:4px}
.browse-modes button{font-size:12px;padding:8px 12px}
.map-controls{display:flex;gap:8px;margin-bottom:12px}
.map-controls select{width:100%;min-width:0;font:inherit;font-size:14px;min-height:44px;border:1px solid var(--line);border-radius:8px;padding:8px 12px;background:var(--input);color:var(--ink)}
.map-controls button{flex:0 0 auto;font-size:12px}
.map-layout{display:grid;grid-template-columns:minmax(0,1fr) 240px;overflow:hidden;border:1px solid var(--line);border-radius:16px;background:var(--surface)}
#topic-map{min-width:0;width:100%;min-height:430px;overflow:hidden;background:radial-gradient(ellipse at 45% 40%,var(--soft),var(--paper));touch-action:pan-y}
.topic-preview{padding:22px 20px;border-left:1px solid var(--line);background:var(--paper)}
#preview-kind{font-size:11px;color:var(--accent);line-height:1.7}
.topic-preview h3{font-size:19px;line-height:1.5;margin:12px 0}
.topic-preview p{font-size:14px;line-height:1.8;color:var(--muted);margin:0 0 18px;overflow-wrap:anywhere}
#open-preview{background:var(--accent);color:var(--paper);border-color:var(--accent);font-size:13px}
.topic-index{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;padding:2px}
.topic-entry{position:relative;display:flex;flex-direction:column;align-items:flex-start;gap:10px;min-width:0;min-height:146px;padding:17px;text-align:left;border:1px solid var(--line);border-radius:12px;background:var(--paper);transition:transform 180ms ease,box-shadow 180ms ease,border-color 180ms ease}
.topic-entry:hover,.topic-entry:focus-visible{transform:translateY(-3px);z-index:3;border-color:var(--accent);background:var(--surface);box-shadow:0 8px 24px #255dba14}
.topic-kind{font-size:10px;color:var(--accent);line-height:1.5}
.topic-title{font-size:15px;font-weight:600;line-height:1.55;color:var(--ink);overflow-wrap:anywhere}
.topic-keywords{font-size:11px;line-height:1.6;color:var(--muted);margin-top:auto;overflow-wrap:anywhere}
.topic-peek{visibility:hidden;opacity:0;position:absolute;left:-1px;right:-1px;top:calc(100% - 6px);padding:12px 17px;background:var(--surface);color:var(--muted);border:1px solid var(--accent);border-top:0;border-radius:0 0 12px 12px;font-size:12px;font-weight:400;line-height:1.8;box-shadow:0 12px 20px #255dba14;transition:opacity 160ms ease}
.topic-entry:hover .topic-peek,.topic-entry:focus-visible .topic-peek{visibility:visible;opacity:1}
.has-detail{max-width:840px}
.has-detail>.intro,.has-detail>#local-backup{display:none}
.has-detail>h1{font-size:22px;margin:12px 0 0;letter-spacing:0}
.toolbar.is-detail{padding:8px 0 16px}
.toolbar.is-detail>*:not(.detail-navigation):not(#copy-status){display:none!important}
.detail-navigation button{border:0;padding-left:0;background:transparent;color:var(--accent);font-size:13px}
.has-detail .studycard{padding-top:6px;border-top:0}
.has-detail .card-heading h2{font-size:25px;line-height:1.5}
.recall-keyword{font-weight:700;color:var(--accent)!important}
.recall-outline{padding:14px 16px;margin:20px 0;border-radius:10px;background:var(--soft);border-left:2px solid var(--accent)}
.recall-outline>div{font-size:12px;font-weight:600;color:var(--accent)}
.recall-outline small{display:inline;font-weight:400;font-size:10px;margin-left:7px;color:var(--muted)}
.recall-outline ol{display:flex;flex-wrap:wrap;gap:6px 0;padding:0;margin:8px 0 0;list-style:none}
.recall-outline li{font-size:12px;line-height:1.8;color:var(--muted)}
.recall-outline li:not(:last-child)::after{content:'→';display:inline-block;padding:0 7px;color:var(--accent)}
@media(max-width:700px){.topic-index{grid-template-columns:repeat(2,minmax(0,1fr))}.map-layout{grid-template-columns:1fr}.topic-preview{border-left:0;border-top:1px solid var(--line);padding:16px 18px}.topic-preview h3{font-size:18px;margin:6px 0 8px}.topic-preview p{margin-bottom:12px}#topic-map{min-height:310px}.map-controls select{font-size:16px}.topic-entry{min-height:138px;padding:14px;gap:7px}.topic-peek{padding:10px 14px}.browse-heading{gap:10px}.browse-heading h2{font-size:19px}.browse-modes button{padding:7px 9px}.has-detail .card-heading h2{font-size:23px}.has-detail>h1{font-size:21px}.recall-outline{padding:12px 14px}}
@media(max-width:359px){.topic-index{grid-template-columns:1fr}.topic-entry{min-height:110px}}
@media(hover:none){.topic-peek{display:none}.topic-entry:hover{transform:none;box-shadow:none}}
@media(prefers-reduced-motion:reduce){.topic-entry,.topic-peek{transition:none}.topic-entry:hover,.topic-entry:focus-visible{transform:none}.anchor{transition:none}}
@media(max-width:600px){
 .markdown-section{padding:20px 20px 48px}
 .markdown-section h1{font-size:34px;line-height:1.3;margin-top:16px}
 .markdown-section.has-detail>h1{font-size:21px;line-height:1.4;margin:12px 0 0;letter-spacing:0}
 .header-actions{gap:4px}.theme-control select{font-size:16px;padding-left:5px;padding-right:5px}
 .workspace-menu>summary{font-size:13px}
 .eyebrow{font-size:10px;letter-spacing:1.4px}
 .studycard{padding:24px 0 22px}
 .card-heading{gap:6px}.card-heading h2{font-size:20px;line-height:1.5;margin-bottom:9px}
 .toolbar .views{gap:0;justify-content:space-between}
 .toolbar .views button{font-size:12px;padding:7px 8px}
 .library-areas{gap:26px}
 .studycard>.local-record[open],.studycard>.card-more[open]{padding:8px 12px 14px}
}

/* Shared familiar/new collection and continuous reading. */
.has-detail .studycard{border-top:1px solid var(--line);padding-top:26px;margin-bottom:32px}.has-detail .studycard:first-of-type{border-top:0}.has-detail .studycard>.back-search{display:none!important}.continuous-nav{display:flex;gap:10px;flex-wrap:wrap;align-items:center;padding:16px 0;margin:16px 0 10px;border-top:1px solid var(--line)}.continuous-nav button{min-height:44px}.reading-count{font-size:12px;color:var(--muted);margin-right:auto}.familiar-phrases{font-size:12px!important;font-family:inherit!important;line-height:1.8!important;color:var(--accent)!important;margin:10px 0 0!important;overflow-wrap:anywhere}.familiar-phrases span{display:inline-block}.cue ul{padding-left:20px}.cue li{font-size:13px;line-height:1.8}.recall-outline{scroll-margin-top:20px}
