/* Lingxi Themes: Dark mode + Card size variants + Folder system + Misc */

/* ── Card size variants ── */

/* compact: list rows — source · title · date (hover actions pin to top-right) */
.card-banner{display:none;}
.cards-grid.size-compact{grid-template-columns:1fr;gap:6px;}
.cards-grid.size-compact .card{overflow:hidden;border-radius:var(--radius-md);background:var(--ink-50);border-color:var(--ink-300);box-shadow:var(--shadow-xs);}
.cards-grid.size-compact .card-banner{height:3px;background:rgba(61,107,78,.42);display:block;width:100%;}
.cards-grid.size-compact .card:hover,.cards-grid.size-compact .card:focus-within{transform:none;border-color:var(--accent);box-shadow:var(--shadow-md);}
.cards-grid.size-compact .card:hover .card-banner,.cards-grid.size-compact .card:focus-within .card-banner{background:var(--accent);}
.cards-grid.size-compact .card-img-wrap{display:none;}
/* video player spans full width below the list row */
.cards-grid.size-compact .card-video-player{width:100%;}
/* right column is a 2-row grid: row 1 meta line, row 2 chips */
.cards-grid.size-compact .card-right{display:grid;grid-template-rows:auto auto;min-width:0;}
/* body stacks top + chips vertically inside card-right; chips own their bottom padding */
.cards-grid.size-compact .card-body{display:flex;flex-direction:column;align-items:stretch;gap:0;min-width:0;padding:9px 12px 0;}
.cards-grid.size-compact .card-top{display:flex;flex-direction:row;align-items:center;gap:10px;flex:0 1 auto;min-width:0;width:100%;}
.cards-grid.size-compact .card-meta{display:flex;align-items:center;gap:6px;flex:0 0 auto;min-width:0;}
.cards-grid.size-compact .csrc{font-size:11px;padding:0 8px 0 0;background:transparent;border:none;gap:3px;white-space:nowrap;flex-shrink:0;color:var(--text2);font-weight:600;line-height:22px;}
.cards-grid.size-compact .csrc-label{max-width:90px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;line-height:22px;}
.cards-grid.size-compact .card-title{flex:0 1 auto;min-width:0;max-width:100%;font-size:var(--fs-sm);font-weight:500;line-height:22px;height:22px;display:flex;align-items:center;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;padding:0 0 0 4px;color:var(--text);}
.cards-grid.size-compact .card-date-inline{margin-left:auto;flex-shrink:0;font-size:11px;color:var(--text3);white-space:nowrap;padding-left:12px;line-height:22px;display:flex;align-items:center;}
/* chips: own row inside .card-right */
.cards-grid.size-compact .card-chips{display:flex;flex-wrap:wrap;align-items:center;gap:4px;padding:0 12px 9px;border-top:1px dashed var(--ink-100);min-height:0;}
.cards-grid.size-compact .card-chips:empty{display:none;}
.cards-grid.size-compact .card-chips .card-tags{display:contents;}
.cards-grid.size-compact .tag{font-size:10px;padding:1px 7px;}
.cards-grid.size-compact .card-folder{font-size:10px;padding:1px 7px;}
/* hide unused */
.cards-grid.size-compact .card-desc{display:none;}
.cards-grid.size-compact .card-ai{display:none;}
.cards-grid.size-compact .card-ai-loading{display:none;}
/* compact hides the always-visible note list/add-row, but keeps .card-note-compose available for inline editing */
.cards-grid.size-compact .card-notes-list,
.cards-grid.size-compact .card-notes-toggle,
.cards-grid.size-compact .card-note-add-row{display:none;}
.cards-grid.size-compact .card-note-area{border-top:none;padding:0;}
.cards-grid.size-compact .card-note-compose{border-top:1px dashed var(--ink-100);}
/* compact card-actions pill: tighten vertical offset for shorter cards */
.cards-grid.size-compact .card-actions{top:5px;right:6px;padding:1px;gap:0;}

/* medium: 3-column grid, vertical card with top image */
.cards-grid.size-medium{grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:var(--sp-4);}
.cards-grid.size-medium .card{flex-direction:column;position:relative;}
.cards-grid.size-medium .card-right{flex:1;min-width:0;display:flex;flex-direction:column;}
.cards-grid.size-medium .card-img-wrap{width:100%;height:140px;flex-shrink:0;border-radius:var(--radius-md) var(--radius-md) 0 0;overflow:hidden;}
.cards-grid.size-medium .card-img{width:100%;height:140px;object-fit:cover;border-radius:0;}
.cards-grid.size-medium .card-ph{width:100%;height:140px;border-radius:var(--radius-md) var(--radius-md) 0 0;}
.cards-grid.size-medium .card-body{padding:var(--sp-3) var(--sp-3) var(--sp-3);gap:7px;}
.cards-grid.size-medium .card-title{font-size:var(--fs-base);-webkit-line-clamp:2;line-height:1.45;min-height:calc(var(--fs-base) * 1.45 * 2);}
.cards-grid.size-medium .card-desc{display:none;}
.cards-grid.size-medium .card-ai-loading{display:none;}
.cards-grid.size-medium .card-tags{padding-top:0;}

/* large: single column, 220px image strip on left */
.cards-grid.size-large{grid-template-columns:1fr;}
.cards-grid.size-large .card{flex-direction:row;position:relative;}
.cards-grid.size-large .card-right{flex:1;min-width:0;display:flex;flex-direction:column;}
.cards-grid.size-large .card-img-wrap{width:220px;min-height:160px;max-height:260px;flex-shrink:0;border-radius:var(--radius-md) 0 0 var(--radius-md);overflow:hidden;align-self:stretch;background:var(--bg);display:flex;align-items:center;justify-content:center;}
.cards-grid.size-large .card-img{width:100%;height:100%;min-height:160px;max-height:260px;flex-shrink:0;object-fit:contain;border-radius:0;}
.cards-grid.size-large .card-ph{width:220px;min-height:160px;align-self:stretch;flex-shrink:0;border-radius:var(--radius-md) 0 0 var(--radius-md);}
.cards-grid.size-large .card-body{padding:var(--sp-5);gap:10px;}
.cards-grid.size-large .card-title{font-size:var(--fs-lg);-webkit-line-clamp:3;}
.size-btns{display:inline-flex;background:#F5F6F8;border-radius:var(--radius-sm);padding:3px;border:1px solid var(--border);}
.size-btn{background:none;border:none;font-size:var(--fs-sm);color:var(--text2);padding:4px 10px;border-radius:var(--radius-xs);cursor:pointer;font-family:inherit;transition:all .15s;}
.size-btn.active{background:white;color:var(--text);box-shadow:0 1px 3px rgba(0,0,0,.08);font-weight:600;}
[data-theme="dark"] .size-btns{background:var(--card);}
[data-theme="dark"] .size-btn.active{background:var(--bg);}

/* ── Folder system ── */
.folder-tree{padding-left:0;}
.folder-row{display:flex;align-items:center;gap:5px;padding:5px 8px;border-radius:var(--radius-xs);cursor:pointer;font-size:var(--fs-sm);color:var(--text2);transition:all .15s;}
.folder-row:hover{background:#F5F6F8;color:var(--text);}
.folder-row.active{background:var(--accent-bg);color:var(--accent);font-weight:600;}
.folder-children{margin-left:14px;border-left:1px dashed var(--border);padding-left:6px;}
.folder-empty{font-size:var(--fs-xs);color:var(--text3);padding:6px 8px;font-style:italic;}
.folder-add{display:flex;align-items:center;gap:4px;padding:4px 8px;font-size:var(--fs-xs);color:var(--text3);cursor:pointer;border-radius:var(--radius-xs);transition:color .12s;}
.folder-add:hover{color:var(--accent);}

/* ── Tag management ── */
.tag-manage{display:flex;flex-wrap:wrap;gap:5px;padding:5px 0;}
.tag-manage-pill{display:inline-flex;align-items:center;gap:3px;padding:2px 8px;font-size:var(--fs-xs);background:#F5F6F8;border:1px solid var(--border);border-radius:var(--radius-pill);color:var(--text2);cursor:pointer;transition:all .12s;}
.tag-manage-pill:hover{background:var(--accent-bg);color:var(--accent);border-color:rgba(61,107,78,.3);}
.tag-manage-pill .del-tag{color:var(--text3);font-size:9px;padding:0 2px;opacity:0;transition:opacity .1s;}
.tag-manage-pill:hover .del-tag{opacity:1;}

/* ── Folder toggle arrow ── */
.nav-folder-toggle{font-size:9px;color:var(--text3);flex-shrink:0;transition:transform .15s;display:inline-flex;align-items:center;padding:0 3px 0 0;cursor:pointer;line-height:1;user-select:none;}

/* ── Folder badge on card ── */
.card-folder{display:inline-flex;align-items:center;gap:3px;font-size:var(--fs-xs);color:var(--text3);background:#F5F6F8;border-radius:var(--radius-pill);padding:1px 7px;font-weight:500;cursor:pointer;transition:background .1s,color .1s;border:1px solid var(--border);}
.card-folder:hover{background:var(--accent-bg);color:var(--accent);border-color:rgba(61,107,78,.3);}

/* ── Tag rename inline ── */
.tag-rename-input{font-size:var(--fs-xs);padding:2px 6px;border:1px solid var(--accent);border-radius:var(--radius-xs);outline:none;font-family:inherit;}

/* ── Source badge (weakened) ── */
.csrc{font-size:var(--fs-xs);font-weight:500;color:var(--text3);display:inline-flex;align-items:center;gap:3px;padding:1px 6px;border-radius:var(--radius-pill);background:transparent;border:1px solid var(--border);}

/* ── Modal folder select ── */
.folder-select{display:flex;flex-wrap:wrap;gap:5px;padding:5px 0;}
.folder-opt{padding:var(--sp-1) var(--sp-3);border:1.5px solid var(--border);border-radius:var(--radius-pill);font-size:var(--fs-sm);font-weight:500;cursor:pointer;background:white;color:var(--text2);transition:all .15s;font-family:inherit;}
.folder-opt:hover{background:var(--accent-bg);color:var(--accent);border-color:rgba(61,107,78,.3);}
.folder-opt.selected{background:var(--accent);color:white;border-color:var(--accent);}
.folder-opt-new{padding:var(--sp-1) var(--sp-3);border:1.5px dashed var(--border);border-radius:var(--radius-pill);font-size:var(--fs-sm);cursor:pointer;background:transparent;color:var(--text3);transition:all .15s;font-family:inherit;}
.folder-opt-new:hover{color:var(--accent);border-color:var(--accent);}

/* ── Emoji picker ── */
.emoji-picker-pop{position:absolute;background:var(--card);border:1px solid var(--border);border-radius:var(--radius-sm);padding:6px;display:grid;grid-template-columns:repeat(8,1fr);gap:2px;box-shadow:var(--shadow-md);z-index:300;max-width:280px;}
.emoji-picker-pop button{background:none;border:none;font-size:18px;cursor:pointer;padding:var(--sp-1);border-radius:var(--radius-xs);transition:background .1s;line-height:1;}
.emoji-picker-pop button:hover{background:var(--accent-bg);}

/* ── Speech mic button ── */
.speech-mic{background:none;border:1px solid var(--border);color:var(--text2);width:32px;height:32px;border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:var(--fs-md);transition:all .15s;flex-shrink:0;}
.speech-mic:hover{background:var(--accent-bg);color:var(--accent);border-color:rgba(61,107,78,.3);}
.speech-mic.recording{background:var(--red);color:white;border-color:var(--red);animation:pulse 1.2s ease-in-out infinite;}
@keyframes pulse{0%,100%{opacity:1;}50%{opacity:.7;}}

/* ── Unified Compose Box ── */
.compose-box{position:relative;background:var(--card);border-radius:var(--radius-md);border:1.5px solid var(--border);padding:var(--sp-4) var(--sp-4) var(--sp-3);box-shadow:var(--shadow-xs);margin-bottom:var(--sp-5);transition:border-color .2s,box-shadow .2s;display:none;}
.compose-box.show{display:block;}
.compose-box:focus-within{border-color:var(--accent);box-shadow:0 0 0 3px rgba(61,107,78,.08);}
.compose-tabs{display:flex;gap:0;background:#F5F6F8;border-radius:var(--radius-sm);padding:3px;margin-bottom:var(--sp-3);border:1px solid var(--border);}
[data-theme="dark"] .compose-tabs{background:var(--card);}
.compose-tab{flex:1;padding:7px;border:none;background:none;border-radius:var(--radius-xs);font-size:var(--fs-sm);font-weight:500;cursor:pointer;color:var(--text2);transition:all .15s;font-family:inherit;}
.compose-tab.active{background:white;color:var(--text);box-shadow:0 1px 3px rgba(0,0,0,.08);font-weight:600;}
.compose-shortcuts{display:grid;grid-template-columns:repeat(2,minmax(0,360px));justify-content:start;gap:12px;margin-bottom:var(--sp-3);}
.compose-shortcut{position:relative;display:flex;align-items:center;gap:12px;padding:12px 14px;min-height:68px;background:var(--bg);border:1.5px solid var(--border);border-radius:var(--radius);cursor:pointer;transition:transform .15s,box-shadow .15s,border-color .15s,background .15s;text-align:left;font-family:inherit;color:var(--text);overflow:hidden;}
.compose-shortcut:hover{background:var(--card);border-color:var(--ink-300);box-shadow:var(--shadow-xs);transform:translateY(-1px);}
.compose-shortcut:active{transform:translateY(0);box-shadow:none;}
.compose-shortcut:focus-visible{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px rgba(61,107,78,.15);}
.compose-shortcut-ico{width:38px;height:38px;border-radius:10px;display:flex;align-items:center;justify-content:center;font-size:18px;flex-shrink:0;background:var(--accent-light);border:1px solid var(--border);color:var(--text2);transition:color .15s,background .15s,border-color .15s;}
.compose-shortcut-ico svg{width:18px;height:18px;}
.compose-shortcut:hover .compose-shortcut-ico{color:var(--accent);background:var(--accent-bg);border-color:rgba(61,107,78,.25);}
.compose-shortcut-body{display:flex;flex-direction:column;gap:2px;min-width:0;flex:1;}
.compose-shortcut-title{font-size:var(--fs-md);font-weight:600;line-height:1.3;color:var(--text);display:flex;align-items:center;gap:8px;}
.compose-shortcut-sub{font-size:var(--fs-xs);color:var(--text3);line-height:1.35;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.compose-shortcut-kbd{font-family:"SF Mono",ui-monospace,Menlo,monospace;font-size:10px;font-weight:500;color:rgba(255,255,255,.85);background:rgba(255,255,255,.18);border:1px solid rgba(255,255,255,.28);border-radius:4px;padding:1px 5px;line-height:1.4;letter-spacing:.2px;flex-shrink:0;}
.compose-shortcut-arrow{width:16px;height:16px;color:rgba(255,255,255,.7);flex-shrink:0;opacity:.85;transition:transform .18s,opacity .15s,color .15s;margin-left:auto;}
.compose-shortcut:hover .compose-shortcut-arrow{opacity:1;transform:translateX(2px);}
.compose-shortcut:not(.primary) .compose-shortcut-arrow{color:var(--text3);}
.compose-shortcut:not(.primary):hover .compose-shortcut-arrow{color:var(--accent);}

/* primary variant — softened accent gradient */
.compose-shortcut.primary{background:var(--accent-grad);border-color:transparent;color:white;box-shadow:0 2px 8px rgba(61,107,78,.18);}
.compose-shortcut.primary:hover{background:var(--accent-grad);border-color:transparent;color:white;box-shadow:0 6px 18px rgba(61,107,78,.24);transform:translateY(-1px);}
.compose-shortcut.primary:focus-visible{box-shadow:0 0 0 3px rgba(61,107,78,.25),0 2px 8px rgba(61,107,78,.18);}
.compose-shortcut.primary .compose-shortcut-ico{background:rgba(255,255,255,.18);border-color:rgba(255,255,255,.25);color:white;}
.compose-shortcut.primary:hover .compose-shortcut-ico{background:rgba(255,255,255,.28);color:white;}
.compose-shortcut.primary .compose-shortcut-title{color:white;}
.compose-shortcut.primary .compose-shortcut-sub{color:rgba(255,255,255,.78);}
.compose-shortcut.primary .compose-shortcut-kbd{background:rgba(0,0,0,.18);border-color:rgba(255,255,255,.18);color:rgba(255,255,255,.9);}
.compose-shortcut.primary .compose-shortcut-arrow{color:rgba(255,255,255,.85);}

/* shortcut-driven open: hide entire tab row + float ✕ on box top-right */
.compose-box[data-from-shortcut="1"] .compose-tabs{display:none;}
.compose-box[data-from-shortcut="1"] .compose-compose-collapse{position:absolute;top:6px;right:8px;background:transparent;font-size:16px;color:var(--text3);padding:2px 6px;border-radius:var(--radius-xs);}
.compose-box[data-from-shortcut="1"] .compose-compose-collapse:hover{background:var(--ink-100);color:var(--text);}
.compose-compose-collapse{background:none;border:none;font-size:var(--fs-base);color:var(--text3);cursor:pointer;padding:var(--sp-1) 8px;border-radius:var(--radius-sm);font-family:inherit;transition:all .15s;line-height:1;flex-shrink:0;margin-left:2px;}
.compose-compose-collapse:hover{color:var(--text);}
.compose-tab-extra{background:none;border:none;font-size:var(--fs-sm);font-weight:500;color:var(--accent);cursor:pointer;padding:7px 10px;border-radius:var(--radius-xs);font-family:inherit;transition:background .15s;flex-shrink:0;white-space:nowrap;}
.compose-tab-extra:hover{background:var(--accent-bg);}
.compose-tab-extra .extra-short{display:none;}
@media(max-width:620px){
  .compose-shortcuts{grid-template-columns:1fr;gap:10px}
  .compose-shortcut{min-height:56px;padding:11px 13px;gap:10px}
  .compose-shortcut-ico{width:32px;height:32px}
  .compose-shortcut-ico svg{width:16px;height:16px}
  .compose-shortcut-arrow{display:none;}
  .compose-shortcut-kbd{display:none;}
  .compose-tabs{gap:2px;padding:2px}
  .compose-tab{padding:6px 4px;font-size:11px;letter-spacing:-.2px}
  .compose-tab-extra{padding:6px 6px;font-size:11px}
  .compose-tab-extra .extra-full{display:none;}
  .compose-tab-extra .extra-short{display:inline;}
  .compose-compose-collapse{padding:6px 4px}
}

/* ── Formatting toolbar ── */
.fmt-toolbar{display:flex;align-items:center;gap:2px;padding:5px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg);margin-bottom:5px;}
.fmt-btn{background:none;border:none;font-size:var(--fs-sm);color:var(--text2);cursor:pointer;padding:4px 8px;border-radius:var(--radius-xs);font-family:inherit;transition:all .12s;min-width:24px;}
.fmt-btn:hover{background:var(--accent-bg);color:var(--accent);}
.fmt-btn.active{background:var(--accent);color:white;}
.fmt-sep{width:1px;height:18px;background:var(--border);margin:0 4px;}

/* ── Contenteditable editor ── */
.compose-editor{min-height:80px;max-height:300px;padding:8px 10px;font-size:var(--fs-md);line-height:1.65;color:var(--text);font-family:inherit;outline:none;border:1.5px solid var(--border);border-radius:var(--radius-sm);background:var(--card);transition:border-color .18s;overflow-y:auto;word-break:break-word;}
.compose-editor:focus{border-color:var(--accent);box-shadow:0 0 0 3px rgba(61,107,78,.08);}
.compose-editor:empty::before{content:attr(data-placeholder);color:var(--text3);font-style:italic;pointer-events:none;}
.compose-editor img{max-width:100%;border-radius:var(--radius-xs);}
.compose-editor ol,.compose-editor ul{padding-left:20px;}

/* ── Rich HTML display in note cards ── */
.note-card-html{font-size:var(--fs-base);color:var(--text2);line-height:1.7;word-break:break-word;}
.note-card-html img{max-width:100%;border-radius:var(--radius-xs);margin:4px 0;}
.note-card-html p{margin:4px 0;}
.note-card-html ol,.note-card-html ul{padding-left:20px;}
.note-card-html h1,.note-card-html h2,.note-card-html h3{font-weight:600;color:var(--text);margin:8px 0 4px;}
.note-card-html h1{font-size:var(--fs-lg);}
.note-card-html h2{font-size:var(--fs-md);}
.note-card-html h3{font-size:var(--fs-base);}
.note-card-html blockquote{border-left:2px solid var(--accent);padding-left:10px;color:var(--text2);margin:6px 0;font-style:italic;}
.note-card-html code{font-family:"SF Mono",Consolas,monospace;background:var(--bg);padding:1px 5px;border-radius:var(--radius-xs);font-size:12px;color:var(--accent);}
.note-card-html pre{background:var(--bg);padding:8px 10px;border-radius:var(--radius-xs);overflow-x:auto;margin:6px 0;}
.note-card-html pre code{background:none;padding:0;color:var(--text);}
.note-edit-ta ol,.note-edit-ta ul{padding-left:20px;}

/* ── Dark mode ── */
[data-theme="dark"]{
  --bg:#1A1B1F;--card:#23252B;--panel:#23252B;
  --ink-50:#23252B;--ink-100:#2E3138;--ink-300:#3D4047;--ink-500:#7A7C82;--ink-700:#A8A89E;--ink-900:#E8E5DC;
  --border:var(--ink-100);
  --text:var(--ink-900);--text2:var(--ink-700);--text3:var(--ink-500);
  --accent:#6B9579;--accent-hover:#82AC90;--accent-bg:#1F2A23;--accent-light:#1F2A23;
  --shadow-xs:0 1px 0 rgba(0,0,0,.5);
  --shadow:0 1px 0 rgba(0,0,0,.5);
  --shadow-md:0 4px 10px rgba(0,0,0,.5),0 1px 0 rgba(0,0,0,.4);
  --shadow-lg:0 8px 24px rgba(0,0,0,.6);
  --ph-a:#1F2A23;--ph-b:#19221C;
  color-scheme:dark;
}
[data-theme="dark"] .card.love-1{background:#1F2A23;box-shadow:inset 0 3px 0 0 #6A9A7C;}
[data-theme="dark"] .card.love-2{background:#2A2118;box-shadow:inset 0 3px 0 0 #C97A45;}
[data-theme="dark"] .card.love-3{background:#2A1820;box-shadow:inset 0 3px 0 0 #C0485E;}
[data-theme="dark"] .compose-tabs{background:var(--card);}
[data-theme="dark"] .sidebar{background:#1F2024;}
[data-theme="dark"] .modal,[data-theme="dark"] .confirm-box{background:var(--card);}
[data-theme="dark"] #search{background:var(--card);color:var(--text);}
[data-theme="dark"] .sort-select{background:var(--card);color:var(--text);}
[data-theme="dark"] .finput,[data-theme="dark"] .ftarea,[data-theme="dark"] .fsel{background:var(--card);color:var(--text);}
[data-theme="dark"] .modal-tags-wrap{background:var(--card)!important;border-color:var(--border)!important;}
[data-theme="dark"] .card-note-ta{background:#1F2024;color:var(--text);}
[data-theme="dark"] .card-note-area:hover{background:#26282F;}
[data-theme="dark"] .qa-input{background:var(--card);color:var(--text);}
[data-theme="dark"] .nc-ta,[data-theme="dark"] .nc-title{color:var(--text);}
[data-theme="dark"] .note-edit-ta,[data-theme="dark"] .note-edit-title{color:var(--text);}
[data-theme="dark"] .qa-title-edit{color:var(--text);}
[data-theme="dark"] .qa-cover{background:var(--border);}
[data-theme="dark"] .qa-tags-chips{background:var(--card);border-color:var(--border);}
[data-theme="dark"] .toast{background:#2E3138;}
[data-theme="dark"] .mtab.active{background:#2E3138;}
[data-theme="dark"] .modal-tabs{background:var(--card);border-color:var(--border);}
[data-theme="dark"] .review-banner{filter:brightness(.5) saturate(.7);}
[data-theme="dark"] .btn-rv{background:rgba(255,255,255,.06);border-color:rgba(255,255,255,.1);color:var(--text2);}
[data-theme="dark"] .btn-rv:hover{background:rgba(255,255,255,.12);border-color:var(--accent);color:var(--accent);}
[data-theme="dark"] .card-ai{background:var(--accent-bg);}
[data-theme="dark"] .nc-tag-dropdown,[data-theme="dark"] .love-picker-popup{background:var(--card);}
[data-theme="dark"] .emoji-picker-pop{background:var(--card);}
[data-theme="dark"] .quick-add-box,[data-theme="dark"] .notes-compose{background:var(--card);}
[data-theme="dark"] .qa-preview{background:var(--card);}
[data-theme="dark"] .btn-sfoot{background:transparent;color:var(--text2);border-color:var(--border);}
[data-theme="dark"] .btn-sfoot:hover{background:var(--border);color:var(--text);}
[data-theme="dark"] .folder-row:hover,[data-theme="dark"] .nav-item:hover{background:#26282F;color:var(--text);}
[data-theme="dark"] .stag:hover,[data-theme="dark"] .nav-folder:hover{background:var(--accent-bg);color:var(--accent);}
[data-theme="dark"] .stag-actions button:hover{background:rgba(255,255,255,.08);color:var(--text);}
[data-theme="dark"] .nav-folder-menu button:hover{background:rgba(255,255,255,.08);color:var(--text);}
[data-theme="dark"] .nav-add-folder:hover{background:rgba(255,255,255,.04);}
[data-theme="dark"] .sfoot-user:hover{background:#26282F;}
[data-theme="dark"] .sfoot-user-name:hover{background:#26282F;color:var(--text);}
[data-theme="dark"] .tag-manage-pill{background:#26282F;color:var(--text2);}
[data-theme="dark"] .card-folder{background:#26282F;color:var(--text3);}
[data-theme="dark"] .card-ph-init{color:var(--ink-900);}
[data-theme="dark"] .btn-sfoot:hover{background:#26282F;color:var(--text);}
[data-theme="dark"] .btn-confirm-no{background:#26282F;color:var(--text2);}
[data-theme="dark"] .btn-confirm-no:hover{background:var(--ink-300);}
[data-theme="dark"] .btn-close{background:#26282F;}
[data-theme="dark"] .btn-close:hover{background:var(--ink-300);}
[data-theme="dark"] .modal-tabs{background:#26282F;}
[data-theme="dark"] .btn-cancel{background:#26282F;color:var(--text2);}
[data-theme="dark"] .btn-cancel:hover{background:var(--ink-300);}
[data-theme="dark"] .btn-note-cancel:hover{background:var(--ink-300);}
[data-theme="dark"] .size-btns{background:var(--card);}
[data-theme="dark"] .size-btn.active{background:var(--bg);color:var(--text);}
[data-theme="dark"] .compose-tab.active{background:var(--bg);color:var(--text);}
[data-theme="dark"] .love-opt:hover{background:#26282F;}
[data-theme="dark"] .user-widget:hover{background:#26282F;}
[data-theme="dark"] .ca:hover{background:#26282F;color:var(--text);}
[data-theme="dark"] .card-foot,[data-theme="dark"] .note-card-foot{background:var(--bg);}
[data-theme="dark"] .folder-row{color:var(--text2);}
[data-theme="dark"] .compose-shortcut{background:var(--bg);border-color:var(--border);}
[data-theme="dark"] .compose-shortcut:hover{background:var(--card);border-color:var(--ink-300);}
[data-theme="dark"] .compose-shortcut-ico{background:var(--card);color:var(--text2);}
[data-theme="dark"] .compose-shortcut:hover .compose-shortcut-ico{color:var(--accent);background:var(--accent-bg);}
[data-theme="dark"] .settings-status-row{background:var(--card);}
[data-theme="dark"] .settings-radio:hover{background:var(--card);}
[data-theme="dark"] .settings-nav-item:hover{background:rgba(255,255,255,.05);}
[data-theme="dark"] .card-ph{filter:brightness(.4) saturate(.65);}

/* ── Mobile polish (≤768px) ── */
@media(max-width:768px){
  .cards-grid.size-medium{grid-template-columns:repeat(2,1fr);}
  .cards-grid.size-large{grid-template-columns:1fr;}
  .card-body{padding:var(--sp-3);gap:8px;}
  .card-title{font-size:var(--fs-base);-webkit-line-clamp:2;}
  .card-desc{-webkit-line-clamp:2;}
  .card-ai-text{-webkit-line-clamp:2;}
  .card-ai{padding:7px 10px;}
  .card-meta{gap:4px;}
  .card-date-inline{font-size:10px;padding-left:6px;}
  .cards-grid.size-large .card-img-wrap,.cards-grid.size-large .card-img{height:88px;width:120px;min-height:0;max-height:88px;}
  .cards-grid.size-large .card-ph{height:88px;width:120px;min-height:0;}
}

/* ── User widget ── */
.user-widget{display:flex;align-items:center;gap:8px;padding:6px 8px;border-radius:var(--radius-sm);cursor:pointer;transition:background .15s;font-size:var(--fs-sm);}
.user-widget:hover{background:#F5F6F8;}
.user-avatar{width:24px;height:24px;border-radius:50%;background:var(--accent-bg);display:flex;align-items:center;justify-content:center;font-size:var(--fs-sm);flex-shrink:0;color:var(--accent);}
.user-name{font-weight:500;color:var(--text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex:1;}

/* ── User management modal ── */
.user-list{display:flex;flex-direction:column;gap:5px;margin:var(--sp-3) 0;}
.user-item{display:flex;align-items:center;gap:10px;padding:10px 12px;background:var(--bg);border:1px solid var(--border);border-radius:var(--radius-sm);}
.user-item-avatar{width:32px;height:32px;border-radius:50%;background:var(--accent-bg);display:flex;align-items:center;justify-content:center;font-size:14px;font-weight:700;color:var(--accent);flex-shrink:0;border:1.5px solid rgba(61,107,78,.2);}
.user-item-info{flex:1;min-width:0;}
.user-item-name{font-weight:600;font-size:var(--fs-base);color:var(--text);}
.user-item-meta{font-size:var(--fs-xs);color:var(--text3);}
.user-item-actions{display:flex;gap:5px;flex-shrink:0;}
.user-emoji-grid{display:grid;grid-template-columns:repeat(8,1fr);gap:5px;margin:var(--sp-3) 0;max-height:200px;overflow-y:auto;}
.user-emoji-grid button{background:none;border:1.5px solid var(--border);border-radius:var(--radius-xs);padding:var(--sp-1);font-size:18px;cursor:pointer;transition:all .1s;line-height:1;}
.user-emoji-grid button:hover{border-color:var(--accent);background:var(--accent-bg);}
