﻿/* ═══════════════════════════════════════════════════════════
   THEME VARIABLES
═══════════════════════════════════════════════════════════ */
:root{
  /* THEME: ember (default dark amber) */
  --bg:#0e0c0a;--bg2:#151210;--bg3:#1c1814;
  --sur:#221e19;--sur2:#2a2520;
  --br:rgba(180,140,80,0.15);--br2:rgba(180,140,80,0.28);--br3:rgba(180,140,80,0.07);
  --gold:#c8a45a;--gdim:#8a6e38;--gfaint:rgba(200,164,90,0.07);
  --tx:#e8e0d0;--txd:#9a9088;--txm:#5a5450;--txf:#302e2a;
  --ember:#c05830;--smoke:#7aaccc;--grn:#7abd8a;
  --serif:'Cormorant Garamond',Georgia,serif;
  --mono:'IBM Plex Mono',monospace;
  --cin:'Cinzel',serif;
  --sans:system-ui,-apple-system,sans-serif;
  --ms-font:'Times New Roman','Tinos',Times,serif;
  --ms-size:1.08rem;--ms-lh:2;--ms-width:680px;
  --sb-w:210px;--sb-collapsed:38px;--sb-transition:.22s cubic-bezier(.4,0,.2,1);
  --ui-scale:1;
  /* page view */
  --page-bg:#f7f4ef;--page-tx:#1a1612;--page-shadow:0 4px 40px rgba(0,0,0,.45);
}
/* THEME: midnight */
[data-theme="midnight"]{
  --bg:#080c14;--bg2:#0d1120;--bg3:#131828;
  --sur:#171e2e;--sur2:#1e2640;
  --br:rgba(100,140,220,0.15);--br2:rgba(100,140,220,0.28);--br3:rgba(100,140,220,0.07);
  --gold:#7aaccc;--gdim:#4a7a9e;--gfaint:rgba(100,160,210,0.07);
  --tx:#d0d8e8;--txd:#808898;--txm:#404858;--txf:#202838;
  --ember:#8080e0;--smoke:#c8a45a;--grn:#6abda8;
}
/* THEME: forest */
[data-theme="forest"]{
  --bg:#080e0a;--bg2:#0d1410;--bg3:#111a14;
  --sur:#161e18;--sur2:#1d2820;
  --br:rgba(100,180,100,0.15);--br2:rgba(100,180,100,0.28);--br3:rgba(100,180,100,0.07);
  --gold:#7abd8a;--gdim:#4a8a5a;--gfaint:rgba(100,180,100,0.07);
  --tx:#d0e0d0;--txd:#809080;--txm:#405040;--txf:#203020;
  --ember:#c08040;--smoke:#88bbcc;--grn:#aad8aa;
}
/* THEME: parchment (light) */
[data-theme="parchment"]{
  --bg:#f5f0e8;--bg2:#ede8de;--bg3:#e5dfd3;
  --sur:#ddd8cc;--sur2:#d5cfbf;
  --br:rgba(120,90,40,0.2);--br2:rgba(120,90,40,0.4);--br3:rgba(120,90,40,0.08);
  --gold:#8a6020;--gdim:#a07838;--gfaint:rgba(140,100,40,0.08);
  --tx:#2a2218;--txd:#6a5840;--txm:#9a8868;--txf:#c8b898;
  --ember:#a03820;--smoke:#305878;--grn:#306838;
  --page-bg:#fff8f0;--page-tx:#1a1208;--page-shadow:0 4px 40px rgba(0,0,0,.15);
}
/* THEME: slate (light cool) */
[data-theme="slate"]{
  --bg:#f0f2f5;--bg2:#e8ebf0;--bg3:#e0e4ea;
  --sur:#d8dce5;--sur2:#cdd2dd;
  --br:rgba(60,80,120,0.18);--br2:rgba(60,80,120,0.35);--br3:rgba(60,80,120,0.07);
  --gold:#3050a0;--gdim:#5070c0;--gfaint:rgba(60,100,200,0.07);
  --tx:#181c28;--txd:#505878;--txm:#9098b8;--txf:#c8ccdc;
  --ember:#c04040;--smoke:#205880;--grn:#208040;
  --page-bg:#ffffff;--page-tx:#181c28;--page-shadow:0 4px 40px rgba(0,0,0,.12);
}
/* THEME: steampunk (iron & brass) */
[data-theme="steampunk"]{
  --bg:#0f0d09;--bg2:#161209;--bg3:#1e180e;
  --sur:#261e12;--sur2:#302618;
  --br:rgba(184,138,42,0.18);--br2:rgba(184,138,42,0.35);--br3:rgba(184,138,42,0.08);
  --gold:#c8922a;--gdim:#8a6018;--gfaint:rgba(200,146,42,0.08);
  --tx:#e8dfc0;--txd:#a09070;--txm:#685e48;--txf:#38301e;
  --ember:#c04828;--smoke:#7090a8;--grn:#5a9878;
  --serif:'Rye','Times New Roman',serif;
  --cin:'Rye',serif;
  --sans:'Special Elite',monospace;
  --page-bg:#f5eeda;--page-tx:#1a1408;--page-shadow:0 4px 40px rgba(0,0,0,.65),0 0 0 1px rgba(184,138,42,.2);
}
/* THEME: sci (void & phosphor / operator console) */
[data-theme="sci"]{
  --bg:#05070c;--bg2:#0a0d15;--bg3:#11151f;
  --sur:#1a1f2d;--sur2:#232838;
  --br:rgba(126,232,250,0.12);--br2:rgba(126,232,250,0.28);--br3:rgba(126,232,250,0.06);
  --gold:#7ee8fa;--gdim:#2a8ea5;--gfaint:rgba(126,232,250,0.08);
  --tx:#eef1f7;--txd:#b8bfd0;--txm:#7a8298;--txf:#4a5167;
  --ember:#ff4fa8;--smoke:#7a8298;--grn:#b6f06c;
  --serif:'IBM Plex Mono','Courier New',monospace;
  --cin:'Space Grotesk',system-ui,sans-serif;
  --sans:'Space Grotesk',system-ui,sans-serif;
  --page-bg:#0d1117;--page-tx:#eef1f7;--page-shadow:0 4px 40px rgba(0,0,0,.85),0 0 0 1px rgba(126,232,250,.12);
}
/* THEME: darkmoonlight (moonlight backgrounds + daylight typography + white titles) */
[data-theme="darkmoonlight"]{
  --bg:#0d1117;--bg2:#161b22;--bg3:#21262d;
  --sur:#21262d;--sur2:#2d333b;
  --br:rgba(255,255,255,0.08);--br2:rgba(255,255,255,0.16);--br3:rgba(255,255,255,0.04);
  --gold:#3b82f6;--gdim:#6ba3f9;--gfaint:rgba(59,130,246,0.10);
  --tx:#e6edf3;--txd:#8b949e;--txm:#484f58;--txf:#0d1117;
  --ember:#f85149;--smoke:#a78bfa;--grn:#3fb950;
  --serif:'Geist',system-ui,-apple-system,sans-serif;
  --cin:'Geist',system-ui,-apple-system,sans-serif;
  --sans:'Geist',system-ui,-apple-system,sans-serif;
  --mono:'Newsreader',Georgia,serif;
  --panel-shadow:0 4px 20px rgba(0,0,0,.5),0 0 0 1px rgba(255,255,255,.07);
  --page-bg:#eef0f3;--page-tx:#0f1623;--page-shadow:0 4px 32px rgba(0,0,0,.6);
}
/* THEME: daylight (clean white + blue, Notion-style) */
[data-theme="daylight"]{
  --bg:#ffffff;--bg2:#eef0f3;--bg3:#e4e7eb;
  --sur:#ffffff;--sur2:#eef0f3;
  --br:rgba(0,0,0,0.13);--br2:rgba(0,0,0,0.22);--br3:rgba(0,0,0,0.06);
  --gold:#2563eb;--gdim:#5b8ef0;--gfaint:rgba(37,99,235,0.08);
  --tx:#0f1623;--txd:#374151;--txm:#9ca3af;--txf:#f3f4f6;
  --ember:#e53935;--smoke:#7c3aed;--grn:#16a34a;
  --serif:'Geist',system-ui,-apple-system,sans-serif;
  --cin:'Geist',system-ui,-apple-system,sans-serif;
  --sans:'Geist',system-ui,-apple-system,sans-serif;
  --mono:'Newsreader',Georgia,serif;
  --panel-shadow:0 4px 20px rgba(0,0,0,.12),0 0 0 1px rgba(0,0,0,.10);
  --page-bg:#ffffff;--page-tx:#0f1623;--page-shadow:0 1px 8px rgba(0,0,0,.08),0 0 0 1px rgba(0,0,0,.08);
}
/* DAYLIGHT + DARKMOONLIGHT — mono elements: Newsreader, sentence case, medium italic */
:is([data-theme="daylight"],[data-theme="darkmoonlight"]) .sb-tree-lbl,
:is([data-theme="daylight"],[data-theme="darkmoonlight"]) .sb-new-btn,
:is([data-theme="daylight"],[data-theme="darkmoonlight"]) .sf label,
:is([data-theme="daylight"],[data-theme="darkmoonlight"]) .rt-dd-lbl2,
:is([data-theme="daylight"],[data-theme="darkmoonlight"]) .confirm-cancel,
:is([data-theme="daylight"],[data-theme="darkmoonlight"]) .confirm-ok,
:is([data-theme="daylight"],[data-theme="darkmoonlight"]) .modal-ttl,
:is([data-theme="daylight"],[data-theme="darkmoonlight"]) .mopt-group-lbl,
:is([data-theme="daylight"],[data-theme="darkmoonlight"]) .mform label,
:is([data-theme="daylight"],[data-theme="darkmoonlight"]) .mform-chk span,
:is([data-theme="daylight"],[data-theme="darkmoonlight"]) .mbtn,
:is([data-theme="daylight"],[data-theme="darkmoonlight"]) .hdr-eye,
:is([data-theme="daylight"],[data-theme="darkmoonlight"]) .stat .lbl,
:is([data-theme="daylight"],[data-theme="darkmoonlight"]) .pc .lbl,
:is([data-theme="daylight"],[data-theme="darkmoonlight"]) .mbar-l span,
:is([data-theme="daylight"],[data-theme="darkmoonlight"]) .dbtn,
:is([data-theme="daylight"],[data-theme="darkmoonlight"]) .phase-section-hdr,
:is([data-theme="daylight"],[data-theme="darkmoonlight"]) .cht th,
:is([data-theme="daylight"],[data-theme="darkmoonlight"]) .acct-btn,
:is([data-theme="daylight"],[data-theme="darkmoonlight"]) .acct-email,
:is([data-theme="daylight"],[data-theme="darkmoonlight"]) .prefs-section-lbl,
:is([data-theme="daylight"],[data-theme="darkmoonlight"]) .prefs-title,
:is([data-theme="daylight"],[data-theme="darkmoonlight"]) .kb-group,
:is([data-theme="daylight"],[data-theme="darkmoonlight"]) .kb-restore-all,
:is([data-theme="daylight"],[data-theme="darkmoonlight"]) .st-btn,
:is([data-theme="daylight"],[data-theme="darkmoonlight"]) .st-select,
:is([data-theme="daylight"],[data-theme="darkmoonlight"]) .mst-draft-item,
:is([data-theme="daylight"],[data-theme="darkmoonlight"]) .mst-ann-struct,
:is([data-theme="daylight"],[data-theme="darkmoonlight"]) .mst-ann-scene,
:is([data-theme="daylight"],[data-theme="darkmoonlight"]) .mst-auto-btn,
:is([data-theme="daylight"],[data-theme="darkmoonlight"]) .mst-auto-loading,
:is([data-theme="daylight"],[data-theme="darkmoonlight"]) .mst-auto-empty,
:is([data-theme="daylight"],[data-theme="darkmoonlight"]) .mst-wc-btn,
:is([data-theme="daylight"],[data-theme="darkmoonlight"]) .ps-lbl{
  text-transform:none;
  letter-spacing:0.01em;
  font-style:italic;
  font-weight:500;
  font-size:10px;
}
:is([data-theme="daylight"],[data-theme="darkmoonlight"]) .acct-btn,
:is([data-theme="daylight"],[data-theme="darkmoonlight"]) .acct-email{font-size:.6875rem;}
:is([data-theme="daylight"],[data-theme="darkmoonlight"]) .prefs-section-lbl,
:is([data-theme="daylight"],[data-theme="darkmoonlight"]) .ps-lbl{font-size:.75rem;}
:is([data-theme="daylight"],[data-theme="darkmoonlight"]) .prefs-title{font-size:1rem;}
/* DAYLIGHT + DARKMOONLIGHT — H1/titles use Newsreader bold upright */
:is([data-theme="daylight"],[data-theme="darkmoonlight"]) .hdr h1,
:is([data-theme="daylight"],[data-theme="darkmoonlight"]) .setup-hdr,
:is([data-theme="daylight"],[data-theme="darkmoonlight"]) .ms-proj-title,
:is([data-theme="daylight"],[data-theme="darkmoonlight"]) .modal-ttl,
:is([data-theme="daylight"],[data-theme="darkmoonlight"]) .prefs-title,
:is([data-theme="daylight"],[data-theme="darkmoonlight"]) .compile-hdr-title,
:is([data-theme="daylight"],[data-theme="darkmoonlight"]) .ProseMirror h1{
  font-family:'Newsreader',Georgia,serif;
  font-style:normal;
  font-weight:700;
  letter-spacing:0;
}
[data-theme="daylight"] .compile-modal .st-select{background:#fff;}
/* DAYLIGHT — headings/titles: near-black, no letter-spacing */
[data-theme="daylight"] .hdr h1,
[data-theme="daylight"] .setup-hdr,
[data-theme="daylight"] .ms-proj-title,
[data-theme="daylight"] .stat .val,
[data-theme="daylight"] .pc .val,
[data-theme="daylight"] .ProseMirror h1,
[data-theme="daylight"] .on-node.type-act .on-title-inp,
[data-theme="daylight"] .cw-disp.has,
[data-theme="daylight"] .cw input{color:var(--tx);}
[data-theme="daylight"] .hdr-eye{color:var(--txd);letter-spacing:.04em;font-size:.875rem;}
[data-theme="daylight"] .hdr h1{letter-spacing:0;font-weight:700;font-size:2.4rem;}
[data-theme="daylight"] .hdr-sub{font-family:'Newsreader',Georgia,serif;font-size:1.25rem;font-style:italic;}
[data-theme="daylight"] .ms-proj-title{letter-spacing:0;font-weight:600;}
[data-theme="daylight"] .setup-hdr{letter-spacing:0;font-weight:600;}
/* DAYLIGHT — nav bar: cool neutral grey, all black tab text */
[data-theme="daylight"] #top-nav{background:#ffffff;border-bottom:1px solid rgba(0,0,0,.10);}
:is([data-theme="daylight"],[data-theme="darkmoonlight"]) .nt{font-family:var(--sans);font-size:calc(11px * var(--ui-scale,1));letter-spacing:.04em;font-weight:700;text-transform:none;}
[data-theme="daylight"] .nt{color:#111827;}
[data-theme="daylight"] .nt:hover{color:#0f1623;background:rgba(0,0,0,.05);border-radius:6px 6px 0 0;}
[data-theme="daylight"] .nt.on{color:var(--gold);border-bottom-color:var(--gold);}
[data-theme="darkmoonlight"] .nt{color:var(--txd);}
[data-theme="darkmoonlight"] .nt:hover{color:var(--tx);background:rgba(255,255,255,.05);border-radius:6px 6px 0 0;}
[data-theme="darkmoonlight"] .nt.on{color:var(--gold);border-bottom-color:var(--gold);}
[data-theme="daylight"] #sidebar{background:#ffffff;border-right:1px solid rgba(0,0,0,.10);}
[data-theme="daylight"] #section-nav-panel{background:#ffffff;border-right:1px solid rgba(0,0,0,.10);}
[data-theme="daylight"] .ms-topbar{background:#ffffff;border-bottom-color:rgba(0,0,0,.10);}
[data-theme="daylight"] #rte-toolbar{background:#ffffff;border-bottom-color:rgba(0,0,0,.10);}
[data-theme="daylight"] #ms-tools-panel{background:#ffffff;border-right-color:rgba(0,0,0,.10);}
/* DARKMOONLIGHT — structural overrides */
[data-theme="darkmoonlight"] #top-nav{background:#0d1117;border-bottom:1px solid rgba(255,255,255,.08);}
[data-theme="darkmoonlight"] #sidebar{background:#0d1117;border-right:1px solid rgba(255,255,255,.08);}
[data-theme="darkmoonlight"] #section-nav-panel{background:#0d1117;border-right:1px solid rgba(255,255,255,.08);}
[data-theme="darkmoonlight"] .ms-topbar{background:#0d1117;border-bottom-color:rgba(255,255,255,.08);}
[data-theme="darkmoonlight"] #rte-toolbar{background:#0d1117;border-bottom-color:rgba(255,255,255,.08);}
[data-theme="darkmoonlight"] #ms-tools-panel{background:#0d1117;border-right-color:rgba(255,255,255,.08);}
/* DARKMOONLIGHT — white titles/headers */
[data-theme="darkmoonlight"] .hdr h1,
[data-theme="darkmoonlight"] .setup-hdr,
[data-theme="darkmoonlight"] .ms-proj-title,
[data-theme="darkmoonlight"] .modal-ttl,
[data-theme="darkmoonlight"] .prefs-title,
[data-theme="darkmoonlight"] .ProseMirror h1{color:#ffffff;}
[data-theme="darkmoonlight"] .sb-proj:hover{background:rgba(255,255,255,.06);border-radius:6px;}
[data-theme="darkmoonlight"] .sb-tree-item:hover{background:rgba(255,255,255,.06);border-radius:6px;}
[data-theme="darkmoonlight"] .sb-new-btn{background:var(--gfaint);border:1px solid color-mix(in srgb,var(--gold) 35%,transparent);border-radius:8px;color:var(--gold);text-transform:none;letter-spacing:.01em;}
[data-theme="darkmoonlight"] .sb-new-btn:hover{background:var(--gold);border-color:var(--gold);color:#fff;}
[data-theme="darkmoonlight"] .tn-btn{border-radius:8px;}
[data-theme="darkmoonlight"] .tn-btn:hover{background:rgba(255,255,255,.08);}
[data-theme="darkmoonlight"] .mbtn{border-radius:8px;}
[data-theme="darkmoonlight"] .mbtn.prim{background:var(--gfaint);border-color:var(--gold);color:var(--gold);border-radius:8px;}
[data-theme="darkmoonlight"] .dbtn{border-radius:8px;}
[data-theme="darkmoonlight"] .on-node.type-act{border:1px solid rgba(255,255,255,.08);background:var(--bg2);border-radius:10px;box-shadow:none;margin-bottom:8px;}
[data-theme="darkmoonlight"] .on-node.type-act>.on-hbar{background:var(--bg2);border-radius:10px 10px 0 0;}
/* DARKMOONLIGHT — translucent stat cards like phase cards */
[data-theme="darkmoonlight"] .stat,[data-theme="darkmoonlight"] .pc{background:rgba(255,255,255,0.04);border:1px solid rgba(255,255,255,.10);border-radius:10px;box-shadow:0 1px 4px rgba(0,0,0,.3);}
[data-theme="darkmoonlight"] .pc:hover{background:rgba(255,255,255,.07);border-color:rgba(255,255,255,.18);}
/* DARKMOONLIGHT — white project names, character/setting titles */
[data-theme="darkmoonlight"] .sb-proj-name{color:#ffffff;}
[data-theme="darkmoonlight"] .entity-page-name,[data-theme="darkmoonlight"] .entity-section-title{color:#ffffff;}
:is([data-theme="daylight"],[data-theme="darkmoonlight"]) .sb-proj-name{letter-spacing:0;font-family:'Newsreader',Georgia,serif;font-weight:700;font-style:normal;font-size:.85rem;}
[data-theme="daylight"] .sb-proj-name{color:#374151;}
.sb-logo-img{display:none;height:23px;width:auto;flex-shrink:0;color:var(--gold);}
.sb-logomark{display:none;height:22px;width:auto;flex-shrink:0;cursor:pointer;color:var(--gold);}
:is([data-theme="daylight"],[data-theme="darkmoonlight"]) #sb-main-wordmark{display:none;}
:is([data-theme="daylight"],[data-theme="darkmoonlight"]) .sb-logo-img{display:block;}
:is([data-theme="daylight"],[data-theme="darkmoonlight"]) #sidebar.collapsed .sb-logo-img{display:none;}
:is([data-theme="daylight"],[data-theme="darkmoonlight"]) #sidebar.collapsed .sb-logomark{display:block;}
:is([data-theme="daylight"],[data-theme="darkmoonlight"]) #sidebar.collapsed .sb-top{padding-left:4px;padding-right:4px;justify-content:center;}
:is([data-theme="daylight"],[data-theme="darkmoonlight"]) .sb-wordmark{font-family:'Newsreader',Georgia,serif;font-size:.95rem;font-weight:700;letter-spacing:.01em;color:var(--gold);font-style:normal;text-transform:none;}
:is([data-theme="daylight"],[data-theme="darkmoonlight"]) .sb-tree-name{font-family:var(--sans);letter-spacing:0;}
:is([data-theme="daylight"],[data-theme="darkmoonlight"]) .sb-tree-item.type-act>.sb-tree-dot{color:var(--tx);}
:is([data-theme="daylight"],[data-theme="darkmoonlight"]) .sb-tree-item.type-act>.sb-tree-name{color:var(--tx);font-family:'Newsreader',Georgia,serif;font-weight:700;font-style:normal;font-size:1rem;letter-spacing:0;}
:is([data-theme="daylight"],[data-theme="darkmoonlight"]) .sb-tree-item.type-chapter>.sb-tree-dot{color:var(--gold);}
:is([data-theme="daylight"],[data-theme="darkmoonlight"]) .sb-tree-item.type-chapter .sb-tree-name{font-style:normal;color:var(--gold);font-weight:400!important;}
:is([data-theme="daylight"],[data-theme="darkmoonlight"]) .sb-tree-item.type-scene .sb-tree-name{color:var(--grn);font-family:'Newsreader',Georgia,serif;font-style:normal;font-weight:400!important;font-size:1rem;letter-spacing:0;}
[data-theme="daylight"] .sb-proj:hover{background:rgba(0,0,0,.06);border-radius:6px;}
[data-theme="daylight"] .sb-tree-item:hover{background:rgba(0,0,0,.06);border-radius:6px;}
[data-theme="daylight"] .sb-new-btn{background:var(--gfaint);border:1px solid color-mix(in srgb,var(--gold) 35%,transparent);border-radius:8px;color:var(--gold);text-transform:none;letter-spacing:.01em;}
[data-theme="daylight"] .sb-new-btn:hover{background:var(--gold);border-color:var(--gold);color:#fff;}
/* DAYLIGHT — icon buttons: rounded */
[data-theme="daylight"] .tn-btn{border-radius:8px;}
[data-theme="daylight"] .tn-btn:hover{background:rgba(0,0,0,.08);}
/* DAYLIGHT — panels/modals: white, rounded, proper shadow */
[data-theme="daylight"] .modal-box,
[data-theme="daylight"] #prefs-panel,
[data-theme="daylight"] #doc-settings-panel,
[data-theme="daylight"] #ambient-panel{background:#ffffff;box-shadow:var(--panel-shadow);border:1px solid rgba(0,0,0,.12);border-radius:12px;}
[data-theme="daylight"] #search-topbar,[data-theme="daylight"] #search-sidebar{background:#ffffff;border-color:rgba(0,0,0,.10);}
[data-theme="darkmoonlight"] #search-topbar,[data-theme="darkmoonlight"] #search-sidebar{background:#0d1117;border-color:rgba(255,255,255,.08);}
[data-theme="daylight"] .setup-overlay .setup-box{background:#ffffff;box-shadow:var(--panel-shadow);border:1px solid rgba(0,0,0,.12);border-radius:14px;}
/* DAYLIGHT — buttons: rounded */
[data-theme="daylight"] .mbtn{border-radius:8px;}
[data-theme="daylight"] .mbtn.prim{background:var(--gfaint);border-color:var(--gold);color:var(--gold);border-radius:8px;}
[data-theme="daylight"] .setup-btn{background:var(--gold);border-color:var(--gold);color:#fff;border-radius:8px;}
[data-theme="daylight"] .setup-btn:hover{background:#1d4ed8;opacity:1;}
[data-theme="daylight"] .dbtn{border-radius:8px;}
[data-theme="daylight"] .dbtn2{border-radius:8px;border-color:color-mix(in srgb,var(--gold) 30%,transparent);}
/* DAYLIGHT — front matter fields: white fill */
[data-theme="daylight"] .fm-field input,
[data-theme="daylight"] .fm-field textarea{background:#ffffff;border-color:rgba(0,0,0,.15);}
/* DAYLIGHT — amber hardcoded overrides */
[data-theme="daylight"] .mbar-fill{background:linear-gradient(90deg,#bfdbfe,var(--gold));}
[data-theme="daylight"] .msi.cur::before{box-shadow:0 0 5px rgba(37,99,235,.3);}
[data-theme="daylight"] .tl-badge-act{background:rgba(37,99,235,.1);color:var(--gold);}
[data-theme="daylight"] .badge-act{background:rgba(37,99,235,.1);color:var(--gold);}
[data-theme="daylight"] .dbtn2.t-act{border-color:rgba(37,99,235,.3);}
[data-theme="daylight"] .on-node.type-act .on-title-inp{letter-spacing:0;font-weight:600;}
/* DAYLIGHT — outline cards: white acts, blue chapters, green scenes */
/* Act: white card, only header has background */
[data-theme="daylight"] .on-node.type-act{border:1px solid rgba(0,0,0,.08);background:#ffffff;border-radius:10px;box-shadow:0 2px 12px rgba(0,0,0,.1);margin-bottom:8px;}
[data-theme="daylight"] .on-node.type-act>.on-hbar{background:#ffffff;border-radius:10px 10px 0 0;}
[data-theme="daylight"] .on-node.type-act>.on-hbar:hover{background:#f7f8fa;filter:none;}
[data-theme="daylight"] .on-node.type-act .on-title-inp{color:var(--tx);font-family:var(--sans);font-weight:600;letter-spacing:0;font-size:.92rem;}
[data-theme="daylight"] .badge-act{background:#eef0f3;color:var(--txd);}
/* Chapter: only header is blue-tinted, card body transparent */
[data-theme="daylight"] .on-node.type-chapter{border:1px solid transparent;background:transparent;border-radius:7px;}
[data-theme="daylight"] .on-node.type-chapter>.on-hbar{background:rgba(239,246,255,.9);border-radius:7px 7px 0 0;}
[data-theme="daylight"] .on-node.type-chapter>.on-hbar:hover{background:rgba(219,234,254,.7);filter:none;}
[data-theme="daylight"] .on-node.type-chapter .on-title-inp{color:var(--tx);font-family:var(--sans);font-style:normal;font-weight:500;letter-spacing:0;}
[data-theme="daylight"] .badge-chapter{background:rgba(37,99,235,.1);color:#2563eb;}
/* Scene: only header is green-tinted, card body transparent */
[data-theme="daylight"] .on-node.type-scene{border:1px solid transparent;background:transparent;border-radius:6px;}
[data-theme="daylight"] .on-node.type-scene>.on-hbar{background:rgba(236,253,245,.9);border-radius:6px 6px 0 0;}
[data-theme="daylight"] .on-node.type-scene>.on-hbar:hover{background:rgba(209,250,229,.7);filter:none;}
[data-theme="daylight"] .on-node.type-scene .on-title-inp{color:var(--tx);font-family:var(--sans);font-style:normal;letter-spacing:0;}
[data-theme="daylight"] .badge-scene{background:rgba(16,185,129,.1);color:var(--grn);}
/* Shared: clean inputs, no amber */
[data-theme="daylight"] .on-title-inp:focus{border-bottom:1px solid rgba(0,0,0,.15);}
[data-theme="daylight"] .on-sub-inp:focus{border-bottom:1px solid rgba(0,0,0,.12);}
[data-theme="daylight"] .on-body-ta,
[data-theme="daylight"] .entity-section-ta,
[data-theme="daylight"] .entity-field textarea,
[data-theme="daylight"] .entity-field input{font-family:'Newsreader',Georgia,serif;font-size:1rem;}
[data-theme="daylight"] .on-add-root{color:var(--txd);}
[data-theme="daylight"] .on-add-root:hover{color:var(--gold);}
/* Timeline inputs: transparent in daylight */
[data-theme="daylight"] .tl-unit-inp,[data-theme="daylight"] .tl-time-inp{background:transparent;}
/* Outline toolbar buttons: act=black, chapter=blue, scene=green */
[data-theme="daylight"] .dbtn2.t-act{border-color:rgba(0,0,0,.18);color:var(--tx);}
[data-theme="daylight"] .dbtn2.t-act:hover{background:rgba(0,0,0,.04);color:var(--tx);}
[data-theme="daylight"] .dbtn2.t-ch{border-color:rgba(37,99,235,.3);color:var(--gold);}
[data-theme="daylight"] .dbtn2.t-ch:hover{background:rgba(37,99,235,.05);color:var(--gold);}
[data-theme="daylight"] .dbtn2.t-sc{border-color:rgba(16,185,129,.3);color:var(--grn);}
[data-theme="daylight"] .dbtn2.t-sc:hover{background:rgba(16,185,129,.05);color:var(--grn);}
/* DAYLIGHT — progress stat cards: pop */
[data-theme="daylight"] .stat,[data-theme="daylight"] .pc{border:none;border-radius:10px;box-shadow:0 2px 12px rgba(0,0,0,.13);padding:1.8rem 1.2rem;min-height:148px;display:flex;flex-direction:column;align-items:center;justify-content:flex-start;}
[data-theme="daylight"] .stats{grid-template-columns:1fr 1fr 1fr minmax(25%,auto);}
[data-theme="daylight"] .pc{max-width:300px;}
[data-theme="daylight"] .pc:hover{background:rgba(0,0,0,.05);}
[data-theme="daylight"] .stat .val,[data-theme="daylight"] .pc .val{font-weight:700;font-size:2.1rem;flex:1;display:flex;align-items:center;justify-content:center;}
[data-theme="daylight"] .stat .lbl,[data-theme="daylight"] .pc .lbl{color:#374151;font-family:'Newsreader',Georgia,serif;font-style:italic;font-size:.75rem;text-transform:none;letter-spacing:.01em;font-weight:400;}
[data-theme="daylight"] .stat .sub,[data-theme="daylight"] .pc .sub{font-family:'Newsreader',Georgia,serif;font-style:italic;font-size:.75rem;color:#6b7280;}
[data-theme="daylight"] .pc .hint{font-family:var(--sans);letter-spacing:.01em;}
[data-theme="daylight"] .mbar{height:10px;border-radius:5px;}
/* DAYLIGHT — drafting sidebar (#ms-tools-panel): Geist for all non-title text, 10pt section headers */
[data-theme="daylight"] #ms-tools-panel .mst-draft-item,
[data-theme="daylight"] #ms-tools-panel .mst-ann-struct,
[data-theme="daylight"] #ms-tools-panel .mst-ann-scene,
[data-theme="daylight"] #ms-tools-panel .mst-ann-preview,
[data-theme="daylight"] #ms-tools-panel .mst-auto-btn,
[data-theme="daylight"] #ms-tools-panel .mst-auto-loading,
[data-theme="daylight"] #ms-tools-panel .mst-auto-empty,
[data-theme="daylight"] #ms-tools-panel .mst-wc-btn,
[data-theme="daylight"] #ms-tools-panel .sb-new-btn,
:is([data-theme="daylight"],[data-theme="darkmoonlight"]) #ms-tools-panel .sb-tree-lbl{font-family:var(--sans);font-style:normal;text-transform:none;}
:is([data-theme="daylight"],[data-theme="darkmoonlight"]) #ms-tools-panel .sb-tree-lbl{font-size:.833rem;letter-spacing:0;}
:is([data-theme="daylight"],[data-theme="darkmoonlight"]) #ms-tools-panel .mst-wc-label{font-size:.625rem;}
:is([data-theme="daylight"],[data-theme="darkmoonlight"]) #ms-tools-panel .mst-ann-struct{font-size:.625rem;letter-spacing:0;}
:is([data-theme="daylight"],[data-theme="darkmoonlight"]) #ms-tools-panel .mst-ann-scene{font-size:.625rem;}
:is([data-theme="daylight"],[data-theme="darkmoonlight"]) #ms-tools-panel .mst-ann-preview{font-size:.5625rem;}
/* DAYLIGHT + DARKMOONLIGHT — manuscript sidebar nav */
:is([data-theme="daylight"],[data-theme="darkmoonlight"]) .sb-ms-struct{font-family:var(--sans);font-size:1rem;letter-spacing:0;text-transform:none;}
:is([data-theme="daylight"],[data-theme="darkmoonlight"]) .sb-ms-struct.type-act{color:var(--tx);font-family:'Newsreader',Georgia,serif;font-weight:700;font-style:normal;font-size:1rem;letter-spacing:0;text-transform:none;}
:is([data-theme="daylight"],[data-theme="darkmoonlight"]) .sb-ms-struct.type-chapter{color:var(--gold);}
:is([data-theme="daylight"],[data-theme="darkmoonlight"]) .sb-ms-scene-name{font-family:'Newsreader',Georgia,serif;font-style:normal;font-weight:400!important;color:var(--grn);font-size:1rem;letter-spacing:0;}
:is([data-theme="daylight"],[data-theme="darkmoonlight"]) .sb-tree-name{font-size:1rem;}
:is([data-theme="daylight"],[data-theme="darkmoonlight"]) .sb-tree-item.type-chapter .sb-tree-name{font-size:.833rem;}
/* DAYLIGHT + DARKMOONLIGHT — bold sidebar text */
:is([data-theme="daylight"],[data-theme="darkmoonlight"]) #sidebar .sb-tree-lbl,
:is([data-theme="daylight"],[data-theme="darkmoonlight"]) #sidebar .sb-proj-name,
:is([data-theme="daylight"],[data-theme="darkmoonlight"]) #sidebar .sb-tree-name,
:is([data-theme="daylight"],[data-theme="darkmoonlight"]) #sidebar .sb-ms-struct,
:is([data-theme="daylight"],[data-theme="darkmoonlight"]) #sidebar .sb-ms-scene-name,
:is([data-theme="daylight"],[data-theme="darkmoonlight"]) #sidebar .scrap-nav-item-name,
:is([data-theme="daylight"],[data-theme="darkmoonlight"]) #section-nav-panel .section-nav-title{font-weight:600;}
#section-nav-panel .section-nav-item .sb-tree-name{font-family:var(--serif);font-style:italic;font-size:.78rem;}
[data-theme="daylight"] #section-nav-panel .section-nav-item .sb-tree-name{font-family:'Geist',system-ui,sans-serif!important;font-style:normal;font-weight:400;font-size:.833rem;}
[data-theme="daylight"] #section-nav-panel .section-nav-title{font-family:'Geist',system-ui,sans-serif!important;font-style:normal;font-weight:700;}
/* Progress page: chapters done blue, not purple */
[data-theme="daylight"] .stat .val.sm{color:var(--gold);}
/* Progress page add-phase buttons */
[data-theme="daylight"] .dbtn.add-prewrite{border-color:rgba(16,185,129,.35);color:var(--grn);}
[data-theme="daylight"] .dbtn.add-prewrite:hover{background:rgba(16,185,129,.05);}
[data-theme="daylight"] .dbtn.add-draft{border-color:color-mix(in srgb,var(--gold) 35%,transparent);color:var(--gold);}
[data-theme="daylight"] .dbtn.add-draft:hover{background:color-mix(in srgb,var(--gold) 5%,transparent);}
[data-theme="daylight"] .dbtn.add-revision{border-color:rgba(239,68,68,.35);color:var(--ember);}
[data-theme="daylight"] .dbtn.add-revision:hover{background:rgba(239,68,68,.05);}
/* DAYLIGHT — phase cards: white header, per-type border accent, black text */
[data-theme="daylight"] .pb-prewrite{border-color:rgba(16,185,129,.5)!important;}
[data-theme="daylight"] .pb-draft{border-color:rgba(37,99,235,.35)!important;}
[data-theme="daylight"] .pb-revision{border-color:rgba(239,68,68,.4)!important;}
[data-theme="daylight"] .ph{background:#ffffff!important;}
[data-theme="daylight"] .ph:hover{background:#f7f8fa!important;}
[data-theme="daylight"] .pb-prewrite .ph{background:rgba(16,185,129,.07)!important;}
[data-theme="daylight"] .pb-prewrite .ph:hover{background:rgba(16,185,129,.13)!important;}
[data-theme="daylight"] .pb-prewrite .pb-body{background:rgba(16,185,129,.04)!important;}
[data-theme="daylight"] .pb-draft .ph{background:rgba(239,246,255,.9)!important;}
[data-theme="daylight"] .pb-draft .ph:hover{background:rgba(219,234,254,.8)!important;}
[data-theme="daylight"] .pb-draft .pb-body{background:rgba(239,246,255,.4)!important;}
[data-theme="daylight"] .pb-revision .ph{background:rgba(239,68,68,.07)!important;}
[data-theme="daylight"] .pb-revision .ph:hover{background:rgba(239,68,68,.13)!important;}
[data-theme="daylight"] .pb-revision .pb-body{background:rgba(239,68,68,.04)!important;}
/* DAYLIGHT — phase inline edit panels */
[data-theme="daylight"] .ph-edit{border-top:1px solid rgba(0,0,0,.07);}
[data-theme="daylight"] .pb-draft .ph-edit{background:rgba(239,246,255,.7);border-top-color:rgba(37,99,235,.12);}
[data-theme="daylight"] .pb-prewrite .ph-edit{background:rgba(16,185,129,.06);border-top-color:rgba(16,185,129,.15);}
[data-theme="daylight"] .pb-revision .ph-edit{background:rgba(239,68,68,.05);border-top-color:rgba(239,68,68,.12);}
[data-theme="daylight"] .ph-ei{background:transparent;border:none;border-bottom:1px solid rgba(0,0,0,.18);border-radius:0;font-family:'Newsreader',Georgia,serif;font-size:.917rem;color:var(--tx);}
[data-theme="daylight"] .ph-ei:focus{border-bottom-color:rgba(0,0,0,.4);outline:none;}
/* DAYLIGHT — task inline edit rows */
[data-theme="daylight"] .ch-edit-cell{background:transparent;border-top:1px solid rgba(0,0,0,.05);}
[data-theme="daylight"] .pb-draft .ch-edit-cell{border-top-color:rgba(37,99,235,.08);}
[data-theme="daylight"] .pb-prewrite .ch-edit-cell{border-top-color:rgba(16,185,129,.1);}
[data-theme="daylight"] .pb-revision .ch-edit-cell{border-top-color:rgba(239,68,68,.08);}
[data-theme="daylight"] .ch-edit-cell .ch-ei{background:transparent!important;border:none!important;border-bottom:1px solid rgba(0,0,0,.18)!important;border-radius:0;font-family:'Newsreader',Georgia,serif!important;font-size:.917rem!important;color:var(--tx)!important;padding:5px 4px;}
[data-theme="daylight"] .ch-edit-cell .ch-ei:focus{border-bottom-color:rgba(0,0,0,.4)!important;outline:none;}
[data-theme="daylight"] .ph-badge{font-family:'Newsreader',Georgia,serif!important;font-size:.5625rem!important;font-style:normal;padding:2px 7px!important;border-radius:3px!important;letter-spacing:.01em!important;text-transform:none!important;}
[data-theme="daylight"] .ph-wt-inp{background:transparent!important;border-color:rgba(0,0,0,.15)!important;color:var(--tx)!important;}
[data-theme="daylight"] .ph-wt-inp:focus{border-color:rgba(0,0,0,.35)!important;outline:none;}
[data-theme="daylight"] .ph-cdd-trigger{background:transparent;border-color:rgba(0,0,0,.15);color:var(--tx);}
[data-theme="daylight"] .ph-cdd-trigger:hover,[data-theme="daylight"] .ph-cdd-trigger.open{border-color:rgba(0,0,0,.3);}
[data-theme="daylight"] .ph-cdd-panel{background:#fff;border-color:rgba(0,0,0,.12);box-shadow:0 4px 12px rgba(0,0,0,.1);}
[data-theme="daylight"] .ph-cdd-opt{color:#333;}
[data-theme="daylight"] .ph-cdd-opt:hover,[data-theme="daylight"] .ph-cdd-opt.sel{background:#f3f4f6;}
[data-theme="daylight"] .ph-block-name{color:rgba(0,0,0,.45);}
[data-theme="daylight"] .ph-block-name:hover{border-bottom-color:rgba(0,0,0,.15);}
[data-theme="daylight"] .ph-block-name:focus{border-bottom-color:rgba(0,0,0,.4);color:var(--tx);}
[data-theme="daylight"] .pb-prewrite .ph-badge{background:rgba(122,189,138,.15)!important;color:var(--grn)!important;}
[data-theme="daylight"] .pb-draft .ph-badge{background:rgba(37,99,235,.1)!important;color:#2563eb!important;}
[data-theme="daylight"] .pb-revision .ph-badge{background:rgba(239,68,68,.12)!important;color:var(--ember)!important;}
[data-theme="daylight"] .ph-ttl,[data-theme="daylight"] .ph-num,[data-theme="daylight"] .ph-wc,[data-theme="daylight"] .ph-wc strong,[data-theme="daylight"] .ph-pct{color:var(--tx);}
[data-theme="daylight"] .ph-ttl{font-weight:600;letter-spacing:0;}
[data-theme="daylight"] .ph-ttl-inp{font-weight:600;letter-spacing:0;}
[data-theme="daylight"] .mini{height:6px;border-radius:3px;background:#e2e8f0;}
[data-theme="daylight"] .minif{border-radius:3px;background:var(--gold);}
[data-theme="daylight"] .minif.done{background:var(--gold);}
[data-theme="daylight"] .ph-prog{width:90px;}
[data-theme="daylight"] .ms-goal-bar-wrap{height:6px;border-radius:3px;width:110px;}
[data-theme="daylight"] .ms-goal-bar-fill{border-radius:3px;}
[data-theme="daylight"] .ms-goal-text{font-size:.833rem;}
[data-theme="daylight"] .pb-body *{font-size:.75rem;}
[data-theme="daylight"] .hdr{border-bottom:none;}
/* DAYLIGHT — all mono-family text at 11pt */
[data-theme="daylight"] :is(
  .hdr-eye,.mbar-l span,.dlbl,
  .dbtn,.dbtn2,.mbtn,.confirm-cancel,.confirm-ok,
  .phase-section-hdr,.ph-num,.ph-wc,.ph-pct,.ph-ia,
  .cht th,.cn,.cpov,.ctgt,.cw,.cw input,.stsel,.ch-edit-btn,
  .add-ch-btn,.phn label,.mform label,.sf label,.sf-hint,
  .sb-tree-lbl,.sb-tree-dot,.sb-empty-note,.sb-new-btn,
  .ol-view-btn,.mopt-group-lbl,.mopt-sub,.rt-dd-lbl2,
  .nsd-item-meta,.tl-unit-lbl,.tl-unit-inp,.sb-tl-nav-time,
  .odraft-hdr-wc,.oact-badge,.oact-wc,.oact-pct,.oact-progtxt,
  .ochap-badge,.ochap-wc,.ochap-pct,.ochap-scene-wc,
  .oact-scene-wc,.odraft-empty,.odraft-toplevel-scene-wc
){font-size:.833rem;}
/* DAYLIGHT — outline draft section (progress page): clean white redesign */
[data-theme="daylight"] .odraft-hdr-title{color:var(--txd);letter-spacing:.04em;font-family:var(--sans);font-weight:600;}
[data-theme="daylight"] .odraft-hdr{border-bottom:1px solid var(--br);}
/* Act cards */
[data-theme="daylight"] .oact{border:1px solid #1B3A6F;border-radius:4px;background:#ffffff;}
[data-theme="daylight"] .oact-hd{background:#1B3A6F;}
[data-theme="daylight"] .oact-hd-top:hover{background:#1f4280;}
[data-theme="daylight"] .oact-hd-bar{padding:7px 32px 7px 44px;background:rgba(255,255,255,.15);}
[data-theme="daylight"] .oact-title{color:#ffffff;font-family:'Newsreader',Georgia,serif;font-weight:700;letter-spacing:0;}
[data-theme="daylight"] .oact-badge{background:rgba(255,255,255,.15);color:#ffffff;}
[data-theme="daylight"] .oact-chev{color:rgba(255,255,255,.7);}
[data-theme="daylight"] .oact-pct{color:rgba(255,255,255,.8);}
[data-theme="daylight"] .oact-wc{color:rgba(255,255,255,.8);}
[data-theme="daylight"] .oact-progtxt{color:rgba(255,255,255,.75);}
[data-theme="daylight"] .oact-progbar{background:rgba(255,255,255,.2);height:6px;border-radius:3px;}
[data-theme="daylight"] .oact-progbar-fill{background:rgba(255,255,255,.75);border-radius:3px;}
[data-theme="daylight"] .oact-body{background:rgba(27,58,111,.05);border-top:1px solid rgba(27,58,111,.15);}
[data-theme="daylight"] .oact-edit{background:rgba(27,58,111,.07);border-top:1px solid rgba(27,58,111,.15);}
[data-theme="daylight"] .oact-scene-row{border-bottom:1px solid rgba(27,58,111,.07);}
[data-theme="daylight"] .ochap-edit{background:rgba(27,58,111,.06);border-top:1px solid rgba(27,58,111,.1);}
[data-theme="daylight"] .oact-scene-title{font-style:normal;color:var(--txd);font-family:var(--sans);}
/* Chapter rows */
[data-theme="daylight"] .ochap{border-bottom:1px solid rgba(27,58,111,.1);background:transparent;}
[data-theme="daylight"] .ochap-hd:hover{background:rgba(27,58,111,.06);}
[data-theme="daylight"] .ochap-badge{background:rgba(27,58,111,.12);color:#1B3A6F;}
[data-theme="daylight"] .ochap-title{color:var(--tx);font-family:var(--sans);font-style:normal;font-weight:500;}
[data-theme="daylight"] .ochap-wc,[data-theme="daylight"] .ochap-pct{color:var(--txd);}
[data-theme="daylight"] .ochap-bar{background:rgba(27,58,111,.1);height:6px;border-radius:3px;max-width:80px;}
[data-theme="daylight"] .ochap-bar-fill{background:rgba(27,58,111,.45);border-radius:3px;}
[data-theme="daylight"] .ochap-scene-title{color:var(--grn);font-style:normal;font-family:var(--sans);}
[data-theme="daylight"] .ochap-scene-dot{color:var(--grn);}
[data-theme="daylight"] .oact-scene-title{color:var(--grn);font-style:normal;font-family:var(--sans);}
[data-theme="daylight"] .oact-scene-dot{color:var(--grn);}
/* Inputs */
[data-theme="daylight"] .odraft-target-inp,[data-theme="daylight"] .odraft-date-inp,
[data-theme="daylight"] .ochap-target-inp,[data-theme="daylight"] .ochap-date-inp{font-size:.917rem;font-family:'Newsreader',Georgia,serif;width:auto;}
[data-theme="daylight"] .odraft-target-inp:focus,[data-theme="daylight"] .odraft-date-inp:focus{color:var(--tx);border-bottom-color:var(--gold);}
[data-theme="daylight"] .ochap-target-inp:focus{color:var(--tx);border-bottom-color:var(--gold);}
/* DAYLIGHT — characters & setting page: black titles */
[data-theme="daylight"] .entity-page-name{color:var(--tx);font-family:'Newsreader',Georgia,serif;font-weight:700;font-style:normal;letter-spacing:0;}
[data-theme="daylight"] .entity-page-name:focus{border-bottom:1px dashed rgba(0,0,0,.2);}
[data-theme="daylight"] .entity-section-title{color:var(--tx);font-family:'Newsreader',Georgia,serif;font-weight:700;font-style:normal;letter-spacing:0;}
[data-theme="daylight"] .entity-section-title:focus{border-bottom:1px solid rgba(0,0,0,.15);}
[data-theme="daylight"] .entity-section-hd{background:#f7f8fa;}
[data-theme="daylight"] .entity-block{background:#ffffff;box-shadow:0 2px 12px rgba(0,0,0,.1);border:1px solid rgba(0,0,0,.08);border-radius:8px;margin-bottom:1rem;}
[data-theme="daylight"] .eblock-row{gap:1rem;margin-bottom:1rem;}
[data-theme="daylight"] .eblock-col{border-right:none;}
[data-theme="daylight"] .eblock-col .entity-block{margin-bottom:0;}
[data-theme="daylight"] .eblock-label-inp{font-family:'Newsreader',Georgia,serif;font-weight:700;font-style:normal;letter-spacing:0;}
[data-theme="daylight"] .eblock-field-lbl{text-transform:none;letter-spacing:.02em;}
[data-theme="daylight"] .entity-add-section{color:var(--gold);border-color:color-mix(in srgb,var(--gold) 35%,transparent);}
[data-theme="daylight"] .entity-add-section:hover{color:var(--gold);border-color:var(--gold);background:color-mix(in srgb,var(--gold) 5%,transparent);}
[data-theme="daylight"] .eblock-add-wrap.top .entity-add-section{color:var(--gold);border-color:color-mix(in srgb,var(--gold) 35%,transparent);}
[data-theme="daylight"] .entity-sketch-lbl{color:var(--txd);font-family:var(--sans);letter-spacing:.04em;}
[data-theme="daylight"] .entity-nav-title{font-family:var(--sans);letter-spacing:0;font-weight:600;}
/* DAYLIGHT — scrap pile: black titles, clean fonts */
[data-theme="daylight"] .scrap-detail-title{color:var(--tx);font-family:var(--sans);font-weight:700;}
[data-theme="daylight"] .scrap-item-title{color:var(--tx);font-family:var(--sans);}
[data-theme="daylight"] .scrap-nav-item-name{font-family:'Geist',system-ui,sans-serif!important;font-style:normal;font-weight:700;color:var(--txd);}
[data-theme="daylight"] #sb-images-nav .sb-tree-name{font-family:'Geist',system-ui,sans-serif!important;font-weight:700;font-style:normal;}
[data-theme="daylight"] .fm-v2-card-name{font-family:'Geist',system-ui,sans-serif!important;font-weight:700;font-style:normal;}
[data-theme="daylight"] .charts-lib-name{font-family:'Geist',system-ui,sans-serif!important;font-weight:700;font-style:normal;}
[data-theme="daylight"] .scrap-detail-prose{font-family:var(--sans);}
[data-theme="daylight"] .scrap-item-preview{font-family:var(--sans);font-style:normal;}
/* DAYLIGHT — sentence case for all buttons */
[data-theme="daylight"] .mbtn,
[data-theme="daylight"] .dbtn,
[data-theme="daylight"] .dbtn2,
[data-theme="daylight"] .view-btn,
[data-theme="daylight"] .ol-view-btn,
[data-theme="daylight"] .setup-btn,
[data-theme="daylight"] .confirm-cancel,
[data-theme="daylight"] .confirm-ok,
[data-theme="daylight"] .on-add-root,
[data-theme="daylight"] .sf label,
[data-theme="daylight"] .mform label,
[data-theme="daylight"] .mform-chk span{text-transform:none;letter-spacing:.01em;}
/* DAYLIGHT — sentence case for progress phase sections */
[data-theme="daylight"] .phase-section-hdr,
[data-theme="daylight"] .mbar-l span,
[data-theme="daylight"] .phn label,
[data-theme="daylight"] .add-ch-btn,
[data-theme="daylight"] .cht th,
[data-theme="daylight"] .mst{text-transform:none;letter-spacing:.02em;}
/* DAYLIGHT — sentence case for all badges/tags */
[data-theme="daylight"] .on-badge,
[data-theme="daylight"] .tl-badge,
[data-theme="daylight"] .oact-badge,
[data-theme="daylight"] .ochap-badge,
[data-theme="daylight"] .fm-badge{text-transform:capitalize;letter-spacing:.01em;}
/* DAYLIGHT — front matter panel chrome */
[data-theme="daylight"] .fm-v2-elements-pane{background:#ffffff;border-right-color:rgba(0,0,0,.10);}
[data-theme="daylight"] .fm-v2-canvas-toolbar{background:#ffffff;border-bottom-color:rgba(0,0,0,.10);}
[data-theme="daylight"] .fm-v2-canvas-scroll{background:#f2f2f2;}
[data-theme="daylight"] .fm-v2-insp-pane,[data-theme="daylight"] .fm-v2-inspector-pane,[data-theme="daylight"] .fm-v2-inspector-wrap,[data-theme="daylight"] .fm-v2-insp-hdr{background:#ffffff;border-left-color:rgba(0,0,0,.10);border-bottom-color:rgba(0,0,0,.10);border-color:rgba(0,0,0,.10);}
/* THEME: lavender (warm paper + indigo spark) */
[data-theme="modernsoft"]{
  --bg:#faf7f2;--bg2:#f4efe6;--bg3:#ece5d6;
  --sur:#e8e2d6;--sur2:#e0d9ca;
  --br:rgba(28,27,25,0.09);--br2:rgba(28,27,25,0.18);--br3:rgba(28,27,25,0.05);
  --gold:#5b54ff;--gdim:#8a82ff;--gfaint:rgba(91,84,255,0.08);
  --tx:#1c1b19;--txd:#57544c;--txm:#8a857a;--txf:#c5bfb4;
  --ember:#e0502a;--smoke:#3a88d4;--grn:#4fa86a;
  --serif:'Instrument Serif',Georgia,serif;
  --cin:'Instrument Serif',Georgia,serif;
  --sans:'Geist',system-ui,-apple-system,sans-serif;
  --mono:'Tinos',Georgia,serif;
  --page-bg:#ffffff;--page-tx:#1c1b19;--page-shadow:0 2px 20px rgba(0,0,0,.07),0 0 0 1px rgba(0,0,0,.04);
}

*{box-sizing:border-box;margin:0;padding:0;}
html,body{height:100%;overflow:hidden;}
html{font-size:calc(16px * var(--ui-scale,1));}
body{background:var(--bg);color:var(--tx);font-family:var(--serif);font-size:17px;line-height:1.65;display:flex;transition:background .3s,color .3s;}

/* ═══════════════════════════════════════
   SIDEBAR
═══════════════════════════════════════ */
#sidebar{
  width:var(--sb-w);flex-shrink:0;
  background:var(--bg2);border-right:1px solid var(--br);
  display:flex;flex-direction:column;
  transition:width var(--sb-transition),background .3s,border-color .3s;
  overflow:hidden;position:relative;z-index:10;
}
#sidebar.collapsed{width:var(--sb-collapsed);}
/* When collapsed: hide ALL content — nothing visible or selectable */
#sidebar.collapsed .sb-panel,
#sidebar.collapsed .sb-footer,
#sidebar.collapsed .sb-tree-lbl,
#sidebar.collapsed .sb-tree-item,
#sidebar.collapsed .sb-empty-note,
#sidebar.collapsed .sb-proj-name,
#sidebar.collapsed .sb-proj-del,
#sidebar.collapsed .sb-new-btn,
#sidebar.collapsed .sb-wordmark{
  opacity:0;
  pointer-events:none;
  user-select:none;
}
#sidebar.collapsed .sb-panel{overflow:hidden;}
#sb-expand-overlay{display:none;position:absolute;top:42px;left:0;right:0;bottom:0;cursor:pointer;align-items:center;justify-content:center;font-family:var(--mono);font-size:16px;color:var(--txm);z-index:5;transition:color .15s,background .15s;}
#sb-expand-overlay:hover{color:var(--gold);background:rgba(200,164,90,.04);}
#sidebar.collapsed #sb-expand-overlay{display:flex;}
#sidebar.collapsed #sb-toggle-btn{display:none;}

/* ── SECOND SIDEBAR: section nav for characters/setting ── */
#section-nav-panel{
  width:0;flex-shrink:0;overflow:hidden;
  background:var(--bg2);border-right:1px solid var(--br);
  display:flex;flex-direction:column;
  transition:width var(--sb-transition),background .3s,border-color .3s;
  position:relative;z-index:9;
}
#section-nav-panel.visible{width:200px;}
#section-nav-panel.visible.sn-collapsed{width:var(--sb-collapsed);}
#section-nav-panel.sn-collapsed #section-nav-list,
#section-nav-panel.sn-collapsed .sb-footer,
#section-nav-panel.sn-collapsed #section-nav-lbl,
#section-nav-panel.sn-collapsed .sb-new-btn{
  opacity:0;pointer-events:none;user-select:none;
}
#section-nav-panel .sb-top{
  justify-content:space-between;
  padding-top:8px;padding-bottom:7px;min-height:34px;
}
.sn-toggle{
  background:none;border:none;cursor:pointer;color:var(--txm);
  font-size:13px;padding:2px 3px;line-height:1;flex-shrink:0;
  transition:color .15s;font-family:var(--mono);
}
.sn-toggle:hover{color:var(--gold);}
#section-nav-panel.sn-collapsed .sn-toggle{transform:scaleX(-1);}
.sb-top{display:flex;align-items:center;justify-content:space-between;padding:11px 10px 10px 13px;border-bottom:1px solid var(--br3);flex-shrink:0;min-height:42px;}
.sb-wordmark{font-family:var(--cin);font-size:.72rem;letter-spacing:.18em;color:var(--gdim);text-transform:uppercase;white-space:nowrap;overflow:hidden;opacity:1;transition:opacity .12s .08s;}
#sidebar.collapsed .sb-wordmark{opacity:0;pointer-events:none;}
.sb-toggle{background:none;border:none;cursor:pointer;color:var(--txm);font-size:14px;padding:2px 3px;line-height:1;flex-shrink:0;transition:color .15s;font-family:var(--mono);}
.sb-toggle:hover{color:var(--gold);}
.sb-proj{display:flex;align-items:center;gap:9px;padding:7px 10px 7px 13px;cursor:pointer;border-left:2px solid transparent;transition:background .12s,border-color .12s;user-select:none;position:relative;min-height:34px;}
.sb-proj:hover{background:var(--sur);}
.sb-proj.active{background:var(--gfaint);border-left-color:var(--gold);}
.sb-proj.proj-dragging{opacity:.3;}
.sb-proj.proj-drag-over{box-shadow:inset 0 2px 0 var(--gold);}
.sb-proj-dot{width:7px;height:7px;border-radius:50%;background:var(--txf);flex-shrink:0;transition:background .15s;}
.sb-proj.active .sb-proj-dot{background:var(--gold);box-shadow:0 0 4px rgba(200,164,90,.4);}
.sb-proj-name{font-family:var(--cin);font-size:.8rem;letter-spacing:.03em;color:var(--txd);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;flex:1;opacity:1;transition:opacity .1s .08s;}
.sb-proj:hover .sb-proj-name{color:var(--tx);}
.sb-proj.active .sb-proj-name{color:var(--gold);}
#sidebar.collapsed .sb-proj{padding:7px 0;justify-content:center;}
#sidebar.collapsed .sb-proj-dot{width:8px;height:8px;}
.sb-proj-del{background:none;border:none;color:var(--txm);cursor:pointer;font-size:10px;opacity:0;padding:0 2px;transition:opacity .15s,color .15s;flex-shrink:0;}
.sb-proj:hover .sb-proj-del{opacity:.6;}
.sb-proj-del:hover{color:var(--ember);opacity:1 !important;}
.sb-footer{padding:8px 10px;border-top:1px solid var(--br3);flex-shrink:0;}
.sb-new-btn{width:100%;background:none;border:1px dashed rgba(180,140,80,.2);border-radius:3px;color:var(--txm);font-family:var(--mono);font-size:12px;letter-spacing:.05em;text-transform:uppercase;padding:10px 8px;cursor:pointer;transition:all .15s;white-space:nowrap;overflow:hidden;}
.sb-new-btn:hover{border-color:var(--gdim);color:var(--gdim);}
.sb-new-btn.sb-clr{background:var(--ember);color:#fff;border-color:var(--ember);}
.sb-new-btn.sb-clr:hover{background:color-mix(in srgb,var(--ember) 80%,#000);border-color:color-mix(in srgb,var(--ember) 80%,#000);}
[data-theme="daylight"] .sb-new-btn.sb-clr{background:color-mix(in srgb,var(--ember) 8%,transparent);border:1px solid color-mix(in srgb,var(--ember) 35%,transparent);color:var(--ember);}
[data-theme="daylight"] .sb-new-btn.sb-clr:hover{background:var(--ember);border-color:var(--ember);color:#fff;}
[data-theme="steampunk"] .sb-new-btn:hover,
[data-theme="modernsoft"] .sb-new-btn:hover,
[data-theme="sci"] .sb-new-btn:hover,
[data-theme="moonlight"] .sb-new-btn:hover{background:var(--gdim);color:#fff;}
[data-theme="steampunk"] #section-nav-add-btn,
[data-theme="modernsoft"] #section-nav-add-btn,
[data-theme="sci"] #section-nav-add-btn,
[data-theme="moonlight"] #section-nav-add-btn{background:var(--gdim);}
[data-theme="steampunk"] #section-nav-add-btn:hover,
[data-theme="modernsoft"] #section-nav-add-btn:hover,
[data-theme="sci"] #section-nav-add-btn:hover,
[data-theme="moonlight"] #section-nav-add-btn:hover{background:var(--gold);}
[data-theme="daylight"] #section-nav-add-btn{background:color-mix(in srgb,var(--gold) 6%,transparent);border-color:color-mix(in srgb,var(--gdim) 30%,transparent);color:var(--gdim);}
[data-theme="daylight"] #section-nav-add-btn:hover{background:var(--gdim);border-color:var(--gdim);color:#fff;}
#sidebar.collapsed .sb-new-btn{border:none;padding:6px 0;display:flex;align-items:center;justify-content:center;font-size:16px;letter-spacing:0;}
.sb-panel{display:none;flex:1;overflow-y:auto;overflow-x:hidden;flex-direction:column;}
.sb-panel.active{display:flex;}
.sb-tree-lbl{font-family:var(--mono);font-size:8px;letter-spacing:.18em;text-transform:uppercase;color:var(--txm);padding:16px 13px 4px;white-space:nowrap;opacity:1;transition:opacity .1s .08s;flex-shrink:0;}
.sb-tree-item{display:flex;align-items:center;gap:7px;padding:5px 10px 5px 13px;cursor:pointer;border-left:2px solid transparent;transition:background .1s,border-color .1s;user-select:none;}
.sb-tree-item:hover{background:var(--sur);}
.sb-tree-item.active{background:var(--gfaint);border-left-color:var(--gold);}
.sb-tree-item.depth-1{padding-left:22px;}
.sb-tree-item.depth-2{padding-left:31px;}
.sb-tree-dot{font-family:var(--mono);font-size:9px;color:var(--txd);flex-shrink:0;width:10px;text-align:center;}
.sb-tree-item.type-act>.sb-tree-dot{color:var(--gold);}
.sb-tree-item.type-chapter>.sb-tree-dot{color:var(--smoke);}
.sb-tree-item.type-scene>.sb-tree-dot{color:var(--grn);}
.sb-tree-name{font-family:var(--cin);font-size:.78rem;letter-spacing:.02em;color:var(--txd);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;flex:1;opacity:1;transition:opacity .1s .08s;}
.sb-tree-item:hover .sb-tree-name{color:var(--tx);}
.sb-pin-dot{font-size:9px;opacity:.65;flex-shrink:0;line-height:1;}
.sb-tree-item.active .sb-tree-name{color:var(--gold);}
.sb-tree-item.type-chapter .sb-tree-name{font-family:var(--serif);font-style:italic;font-size:.82rem;}
.sb-tree-item.type-scene .sb-tree-name{font-family:var(--mono);font-size:.7rem;color:var(--txd);}
.sb-empty-note{font-family:var(--mono);font-size:9px;color:var(--txm);padding:8px 13px;opacity:1;transition:opacity .1s;}

/* ═══════════════════════════════════════
   MAIN AREA
═══════════════════════════════════════ */
#main{flex:1;display:flex;flex-direction:column;overflow:hidden;min-width:0;transition:width .2s;}
#top-nav{display:flex;align-items:stretch;border-bottom:1px solid var(--br);background:var(--bg2);flex-shrink:0;overflow-x:auto;transition:background .3s,border-color .3s;}
#alpha-banner{display:none;align-items:center;gap:12px;padding:13px 18px;background:var(--gold);font-family:var(--mono);font-size:13px;color:#fff;letter-spacing:.02em;line-height:1.5;flex-shrink:0;}
#alpha-banner>span{flex:1;}
#alpha-banner strong{font-weight:700;color:#fff;}
#alpha-banner>button{background:none;border:none;color:rgba(255,255,255,.7);cursor:pointer;font-size:15px;padding:0 2px;flex-shrink:0;line-height:1;}
#alpha-banner>button:hover{color:#fff;}
.nt{font-family:var(--mono);font-size:calc(10px * var(--ui-scale,1));letter-spacing:.15em;text-transform:uppercase;padding:10px 20px;cursor:pointer;color:var(--txm);border-bottom:2px solid transparent;white-space:nowrap;user-select:none;transition:color .15s;}
.nt:hover{color:var(--tx);}
.nt.on{color:var(--gold);border-bottom-color:var(--gold);}
/* Add entity tab button */
.nt-add-entity{display:flex!important;align-items:center;justify-content:center;letter-spacing:0!important;text-transform:none!important;padding:0 10px!important;opacity:.45;transition:opacity .15s,color .15s;}
.nt-add-entity:hover{opacity:1;}
/* Custom entity tab picker */
.cet-picker-box{background:var(--sur);border:1px solid var(--br2);border-radius:8px;box-shadow:0 8px 32px rgba(0,0,0,.25);padding:12px;min-width:170px;}
.cet-picker-title{font-size:.72rem;color:var(--txm);text-transform:uppercase;letter-spacing:.1em;margin-bottom:8px;padding:0 4px;}
.cet-picker-list{display:flex;flex-direction:column;gap:2px;}
.cet-picker-opt{background:none;border:none;border-radius:5px;padding:7px 10px;text-align:left;cursor:pointer;color:var(--tx);font-size:.84rem;transition:background .1s;}
.cet-picker-opt:hover:not(:disabled){background:var(--bg3,var(--bg2));}
.cet-picker-opt:disabled{opacity:.35;cursor:default;}
.cet-picker-divider{height:1px;background:var(--br);margin:4px 0;}
.cet-picker-custom{color:var(--txm);}
.cet-picker-custom:hover{color:var(--tx)!important;}
/* Top nav action buttons (search, settings, account) */
.tn-actions{display:flex;align-items:center;gap:2px;margin-left:auto;padding:0 10px 0 0;flex-shrink:0;}
/* Nav mini search bar */
#nav-search-wrap{
  position:relative;display:flex;align-items:center;gap:0;
  padding:0 8px;align-self:stretch;cursor:pointer;
  color:var(--txm);border-radius:5px;transition:color .15s,background .15s;flex-shrink:0;
}
#nav-search-wrap:hover{color:var(--tx);background:var(--sur);}
#nav-search-wrap.nav-search-open{gap:6px;padding:0 10px 0 8px;cursor:default;background:none!important;}
#nav-search-inp{
  width:0;opacity:0;pointer-events:none;overflow:hidden;
  background:transparent;border:none;outline:none;
  font-family:var(--mono);font-size:calc(12px * var(--ui-scale,1));
  letter-spacing:.04em;color:var(--tx);
  transition:width .22s cubic-bezier(.4,0,.2,1),opacity .15s;
  white-space:nowrap;
}
#nav-search-wrap.nav-search-open #nav-search-inp{width:200px;opacity:1;pointer-events:auto;}
#nav-search-inp::placeholder{color:var(--txm);}
#nav-search-dropdown{
  position:fixed;
  min-width:300px;background:var(--bg2);
  border:1px solid var(--br);border-radius:6px;
  box-shadow:0 4px 20px rgba(0,0,0,.25);z-index:9999;overflow:hidden;
}
.nsd-item{
  display:flex;align-items:center;gap:9px;
  padding:8px 12px;cursor:pointer;transition:background .1s;
}
.nsd-item:hover{background:var(--sur);}
.nsd-item-icon{font-size:11px;color:var(--txm);flex-shrink:0;}
.nsd-item-body{min-width:0;}
.nsd-item-title{font-family:var(--cin);font-size:.83rem;color:var(--txd);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.nsd-item-meta{font-family:var(--mono);font-size:8px;color:var(--txm);margin-top:1px;}
.nsd-footer{
  padding:6px 12px;border-top:1px solid var(--br3);
  font-family:var(--mono);font-size:8px;letter-spacing:.1em;text-transform:uppercase;
  color:var(--txm);cursor:pointer;transition:color .12s;text-align:center;
}
.nsd-footer:hover{color:var(--tx);}
[data-theme="daylight"] #nav-search-dropdown{background:#fff;border-color:rgba(0,0,0,.12);}
[data-theme="darkmoonlight"] #nav-search-dropdown{background:#0d1117;border-color:rgba(255,255,255,.1);}
.tn-btn{
  display:flex;align-items:center;justify-content:center;
  width:30px;height:30px;border-radius:5px;
  background:none;border:none;cursor:pointer;
  color:var(--txm);transition:color .15s,background .15s;
  flex-shrink:0;
}
.tn-btn:hover{color:var(--tx);background:var(--sur);}
.tn-btn.active{color:var(--gold);background:var(--gfaint);}
/* AMBIENT PANEL */
#ambient-panel{background:var(--sur);border:1px solid var(--br2);border-radius:10px;padding:16px 18px;min-width:210px;box-shadow:0 8px 28px rgba(0,0,0,.6);}
.amb-row{display:flex;align-items:center;gap:8px;margin-bottom:10px;}
.amb-row:last-child{margin-bottom:0;}
.amb-lbl{font-size:11px;color:var(--txd);width:58px;flex-shrink:0;}
.amb-val{font-size:11px;color:var(--txd);width:22px;text-align:right;flex-shrink:0;}
.amb-slider{flex:1;-webkit-appearance:none;appearance:none;height:3px;border-radius:2px;background:var(--br2);outline:none;cursor:pointer;}
.amb-slider::-webkit-slider-thumb{-webkit-appearance:none;width:13px;height:13px;border-radius:50%;background:var(--gold);cursor:pointer;border:none;}
.amb-slider::-moz-range-thumb{width:13px;height:13px;border-radius:50%;background:var(--gold);cursor:pointer;border:none;}
.nt:hover{color:var(--txd);}
.nt.on{color:var(--gold);border-bottom-color:var(--gold);}
#tab-area{flex:1;overflow:hidden;position:relative;}
.tab-pane{display:none;height:100%;overflow-y:auto;}
.tab-pane.on{display:block;}
.wrap{max-width:880px;margin:0 auto;padding:2rem 2rem 5rem;}

/* ═══════════════════════════════════════
   NO-PROJECT STATE
═══════════════════════════════════════ */
#no-proj{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;gap:1.2rem;}
#no-proj .np-icon{font-family:var(--cin);font-size:2.5rem;color:var(--gdim);opacity:.3;}
#no-proj p{font-family:var(--mono);font-size:10px;letter-spacing:.15em;text-transform:uppercase;color:var(--txm);}

/* ═══════════════════════════════════════
   MODALS
═══════════════════════════════════════ */
#setup-overlay{display:none;position:fixed;inset:0;background:rgba(0,0,0,.7);z-index:500;align-items:center;justify-content:center;}
#setup-overlay.on{display:flex;}
.setup-box{background:var(--sur);border:1px solid var(--br2);border-radius:6px;width:92%;max-width:520px;overflow:hidden;max-height:92vh;overflow-y:auto;}
.setup-hdr{padding:18px 20px 14px;border-bottom:1px solid var(--br);font-family:var(--cin);font-size:1.1rem;color:var(--gold);letter-spacing:.06em;}
.setup-body{padding:18px 20px;}
.sf{margin-bottom:14px;}
.sf label{font-family:var(--mono);font-size:9px;letter-spacing:.14em;text-transform:uppercase;color:var(--txm);display:block;margin-bottom:5px;}
.sf input,.sf select{width:100%;background:var(--bg);border:1px solid var(--br);border-radius:3px;color:var(--tx);font-family:var(--serif);font-size:.98rem;padding:8px 11px;outline:none;}
.sf input:focus,.sf select:focus{border-color:var(--gdim);}
.sf select option{background:var(--bg);}
.sf-hint{font-family:var(--mono);font-size:9px;color:var(--txm);margin-top:4px;}
.sf-row{display:grid;grid-template-columns:1fr 1fr;gap:10px;}
.setup-actions{display:flex;gap:8px;margin-top:6px;}
.setup-btn{font-family:var(--cin);font-size:.85rem;letter-spacing:.08em;padding:10px 22px;border-radius:3px;cursor:pointer;border:1px solid var(--gdim);background:rgba(200,164,90,.09);color:var(--gold);transition:all .18s;}
.setup-btn:hover{background:rgba(200,164,90,.18);}
.setup-btn.sec{background:transparent;border-color:var(--br2);color:var(--txd);}
.setup-btn.sec:hover{border-color:var(--txm);color:var(--tx);}
.modal-wrap{display:none;position:fixed;inset:0;background:rgba(0,0,0,.65);z-index:400;align-items:center;justify-content:center;}
.modal-wrap.on{display:flex;}
/* Image lightbox */
#img-lightbox{position:fixed;inset:0;background:rgba(0,0,0,.9);z-index:5000;display:flex;flex-direction:row;}
#img-lb-left{flex:1;display:flex;align-items:center;justify-content:center;cursor:zoom-out;min-width:0;padding:24px;}
#img-lightbox-img{max-width:100%;max-height:90vh;border-radius:6px;box-shadow:0 16px 64px rgba(0,0,0,.8);object-fit:contain;cursor:default;}
#img-lb-panel{width:260px;flex-shrink:0;background:rgba(0,0,0,.55);border-left:1px solid rgba(255,255,255,.08);padding:20px;display:flex;flex-direction:column;gap:0;overflow-y:auto;}
#img-lb-close{background:none;border:none;color:rgba(255,255,255,.5);font-size:16px;cursor:pointer;padding:0;margin-bottom:18px;text-align:left;transition:color .15s;line-height:1;align-self:flex-start;}
#img-lb-close:hover{color:#fff;}
#img-lb-caption{font-family:var(--serif);font-size:1rem;font-weight:600;color:#fff;line-height:1.4;margin-bottom:14px;word-break:break-word;}
#img-lb-meta{display:flex;flex-direction:column;gap:8px;padding-bottom:16px;border-bottom:1px solid rgba(255,255,255,.1);}
.lb-meta-row{display:flex;flex-direction:column;gap:2px;}
.lb-meta-lbl{font-family:var(--mono);font-size:9px;letter-spacing:.12em;text-transform:uppercase;color:rgba(255,255,255,.35);}
.lb-meta-val{font-family:var(--mono);font-size:11px;color:rgba(255,255,255,.75);}
#img-lb-note-wrap{margin-top:16px;}
#img-lb-note-lbl{font-family:var(--mono);font-size:9px;letter-spacing:.12em;text-transform:uppercase;color:rgba(255,255,255,.35);margin-bottom:8px;}
#img-lb-note{font-family:var(--serif);font-size:.9rem;color:rgba(255,255,255,.8);line-height:1.65;white-space:pre-wrap;}
/* Image hover edit button */
#img-hover-btn{position:fixed;z-index:201;background:var(--bg2);border:1px solid var(--br);border-radius:5px;padding:3px 9px;font-family:var(--mono);font-size:10px;cursor:pointer;display:none;box-shadow:0 2px 8px rgba(0,0,0,.2);color:var(--tx);pointer-events:all;}
#img-hover-btn:hover{background:var(--br2);}
/* Image modal add row */
.img-add-row{display:flex;gap:6px;align-items:center;margin:8px 0 12px;}
.img-add-row input{flex:1;min-width:0;}
.img-upload-btn{flex-shrink:0;padding:0 12px;height:30px;font-family:var(--mono);font-size:11px;background:var(--bg2);border:1px solid var(--br);border-radius:5px;color:var(--txd);cursor:pointer;white-space:nowrap;}
.img-upload-btn:hover{background:var(--br2);}
/* Image library grid in modal */
.img-modal-lib-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;max-height:220px;overflow-y:auto;padding:2px;margin-bottom:12px;}
.img-lib-card{aspect-ratio:1;border-radius:6px;border:2px solid transparent;background:center/cover no-repeat var(--bg2);cursor:pointer;transition:border-color .12s;}
.img-lib-card:hover{border-color:var(--br2);}
.img-lib-card.selected{border-color:var(--ember);}
/* Image resize overlay */
#img-resize-overlay{position:fixed;pointer-events:none;z-index:200;border:2px solid var(--ember);box-sizing:border-box;display:none;}
.img-resize-tb{position:absolute;top:-34px;left:50%;transform:translateX(-50%);background:var(--bg2);border:1px solid var(--br);border-radius:6px;display:flex;gap:2px;padding:3px;pointer-events:all;white-space:nowrap;box-shadow:0 2px 8px rgba(0,0,0,.15);}
.img-resize-tb button{background:transparent;border:none;cursor:pointer;font-size:13px;padding:3px 7px;border-radius:3px;color:var(--tx);height:26px;display:inline-flex;align-items:center;}
.img-resize-tb button:hover{background:var(--br2);}
.img-resize-tb .img-resize-tb-sep{width:1px;background:var(--br);margin:3px 2px;}
.img-resize-hdl{position:absolute;width:10px;height:10px;background:var(--ember);border:1.5px solid white;border-radius:2px;pointer-events:all;}
.img-resize-hdl.nw{top:-5px;left:-5px;cursor:nw-resize;}
.img-resize-hdl.ne{top:-5px;right:-5px;cursor:ne-resize;}
.img-resize-hdl.sw{bottom:-5px;left:-5px;cursor:sw-resize;}
.img-resize-hdl.se{bottom:-5px;right:-5px;cursor:se-resize;}
/* Drop cap */
@supports (initial-letter:3){
  .ms-drop-cap::first-letter{initial-letter:3;font-weight:bold;margin-right:0.4em;}
}
@supports not (initial-letter:3){
  .ms-drop-cap::first-letter{float:left;font-size:calc(var(--ms-lh,1.9)*2.9em);line-height:1;margin-right:0.09em;font-weight:bold;}
}
/* Image modal extras */
.img-float-row{display:flex;gap:6px;margin:6px 0 12px;}
.img-float-btn{flex:1;padding:6px 2px;border:1px solid var(--br);background:var(--bg2);border-radius:5px;cursor:pointer;font-family:var(--mono);font-size:10px;color:var(--txd);transition:border-color .12s,color .12s;}
.img-float-btn.active{border-color:var(--ember);color:var(--ember);}
.img-float-btn:hover:not(.active){background:var(--br2);}
/* Format dropdown section label */
.rt-dd-lbl2{padding:5px 12px 2px;font-family:var(--mono);font-size:9px;color:var(--txm);letter-spacing:.08em;text-transform:uppercase;cursor:default;}
/* Confirm dialog */
.confirm-overlay{display:none;position:fixed;inset:0;background:rgba(0,0,0,.65);z-index:4000;align-items:center;justify-content:center;}
.confirm-box{background:var(--sur);border:1px solid var(--br2);border-radius:10px;padding:28px 28px 22px;max-width:360px;width:90%;box-shadow:0 12px 48px rgba(0,0,0,.7);}
.confirm-ttl{font-family:var(--cin);font-size:.95rem;letter-spacing:.05em;color:var(--gold);margin-bottom:10px;}
.confirm-msg{font-family:var(--mono);font-size:10.5px;color:var(--txd);line-height:1.65;margin-bottom:22px;}
.confirm-acts{display:flex;gap:8px;justify-content:flex-end;}
.confirm-cancel{background:none;border:1px solid var(--br2);border-radius:4px;padding:7px 16px;font-family:var(--mono);font-size:10px;letter-spacing:.08em;text-transform:uppercase;color:var(--txd);cursor:pointer;transition:all .15s;}
.confirm-cancel:hover{border-color:var(--gdim);color:var(--tx);}
.confirm-ok{border-radius:4px;padding:7px 16px;font-family:var(--mono);font-size:10px;letter-spacing:.08em;text-transform:uppercase;cursor:pointer;transition:all .15s;}
.confirm-ok.is-danger{border:1px solid var(--ember);background:transparent;color:var(--ember);}
.confirm-ok.is-danger:hover{background:var(--ember);color:#fff;}
.confirm-ok.is-action{border:1px solid var(--gold);background:transparent;color:var(--gold);}
.confirm-ok.is-action:hover{background:var(--gfaint);}
.modal{background:var(--sur);border:1px solid var(--br2);border-radius:6px;min-width:280px;max-width:560px;width:92%;max-height:92vh;overflow-y:auto;}
.modal-ttl{font-family:var(--mono);font-size:10px;letter-spacing:.15em;text-transform:uppercase;color:var(--gdim);padding:12px 16px 8px;border-bottom:1px solid var(--br);}
.mopt-group-lbl{padding:6px 16px 4px;font-family:var(--mono);font-size:8px;letter-spacing:.14em;text-transform:uppercase;color:var(--gdim);border-bottom:1px solid var(--br);margin-top:4px;}
.mopt-group-lbl:first-child{margin-top:0;}
.mopt{padding:11px 16px;cursor:pointer;border-bottom:1px solid rgba(180,140,80,.08);transition:background .1s;}
.mopt:last-child{border-bottom:none;}
.mopt:hover{background:var(--sur2);}
.mopt.sel{background:var(--gfaint);}
.mopt-name{font-family:var(--cin);font-size:.9rem;color:var(--tx);}
.mopt-sub{font-family:var(--mono);font-size:9px;color:var(--txm);margin-top:2px;}
.mform{padding:16px;}
.ps-lbl{font-size:.75rem;text-transform:uppercase;letter-spacing:.06em;color:var(--tx3);font-weight:600;display:block;}
.mform label{font-family:var(--mono);font-size:9px;letter-spacing:.12em;text-transform:uppercase;color:var(--txm);display:block;margin-bottom:4px;margin-top:10px;}
.mform label:first-child{margin-top:0;}
.mform input,.mform select,.mform textarea{width:100%;background:var(--bg3);border:1px solid var(--br);border-radius:3px;color:var(--tx);font-family:var(--serif);font-size:.95rem;padding:7px 10px;outline:none;}
.mform input:focus,.mform select:focus,.mform textarea:focus{border-color:var(--gdim);}
.mform select option{background:var(--bg3);}
.mform textarea{min-height:70px;resize:vertical;}
.mform-row{display:grid;grid-template-columns:1fr 1fr;gap:10px;}
.mform-row label{margin-top:0;}
.mform-chk{display:flex;align-items:center;gap:8px;margin:10px 0;}
.mform-chk input[type=checkbox]{width:auto;margin:0;}
.mform-chk span{font-family:var(--mono);font-size:9px;letter-spacing:.1em;text-transform:uppercase;color:var(--txm);}
.mbtnrow{display:flex;gap:8px;margin-top:14px;flex-wrap:wrap;}
.mbtn{font-family:var(--mono);font-size:10px;letter-spacing:.1em;text-transform:uppercase;padding:8px 14px;border-radius:3px;cursor:pointer;border:1px solid var(--br2);background:var(--sur);color:var(--gdim);transition:all .15s;}
.mbtn:hover{background:var(--sur2);color:var(--gold);}
.mbtn.prim{background:rgba(200,164,90,.1);border-color:var(--gdim);color:var(--gold);}
.mbtn.prim:hover{background:rgba(200,164,90,.18);}
.mbtn.dng{border-color:rgba(192,88,48,.3);color:var(--ember);}
.mbtn.dng:hover{background:rgba(192,88,48,.08);}

/* ═══════════════════════════════════════
   HEADER (progress)
═══════════════════════════════════════ */
.hdr{position:relative;text-align:center;margin-bottom:2rem;padding-bottom:1.5rem;border-bottom:1px solid var(--br);}
.hdr-eye{font-family:var(--mono);font-size:11px;letter-spacing:.2em;color:var(--gdim);text-transform:uppercase;margin-bottom:.5rem;}
.hdr h1{font-family:var(--cin);font-size:2rem;font-weight:400;color:var(--gold);letter-spacing:.08em;margin-bottom:.3rem;padding-top:14px;}
.hdr-sub{font-style:italic;font-size:1.05rem;color:var(--txd);font-weight:300;}
/* Customize button */
.hdr-cust-btn{position:absolute;top:0;right:0;background:none;border:1px solid var(--br2);border-radius:4px;color:var(--txd);cursor:pointer;font-family:var(--mono);font-size:9px;padding:3px 7px;opacity:0;transition:opacity .15s,color .15s,border-color .15s;z-index:2;}
.hdr:hover .hdr-cust-btn{opacity:1;}
.hdr-cust-btn:hover{color:var(--gold);border-color:var(--gdim);}
/* When a banner image is in front, push button below it */
.hdr.has-banner:not(.banner-behind) .hdr-cust-btn{top:206px;}
/* Header banner image — fixed height so object-position works predictably */
.hdr-banner{width:100%;height:200px;object-fit:cover;object-position:center 50%;border-radius:6px;margin-bottom:1.4rem;display:block;}
/* Behind-title mode */
.hdr.banner-behind{min-height:200px;border-radius:6px;border-bottom:none!important;padding:3rem 2rem!important;display:flex;flex-direction:column;align-items:center;justify-content:center;background-size:cover!important;overflow:hidden;}
.hdr.banner-behind::before{content:'';position:absolute;inset:0;border-radius:6px;background:rgba(0,0,0,.45);z-index:0;}
.hdr.banner-behind>*:not(.hdr-cust-btn){position:relative;z-index:1;}
.hdr.banner-behind h1{color:#fff!important;text-shadow:0 2px 16px rgba(0,0,0,.6);padding-top:0;}
.hdr.banner-behind .hdr-eye{color:rgba(255,255,255,.75)!important;text-shadow:0 1px 8px rgba(0,0,0,.5);}
.hdr.banner-behind .hdr-sub{color:rgba(255,255,255,.8)!important;text-shadow:0 1px 8px rgba(0,0,0,.4);}
.hdr.banner-behind [contenteditable]:focus{border-bottom-color:rgba(255,255,255,.35);}
.hdr.banner-behind .hdr-cust-btn{position:absolute;top:0;right:0;z-index:2;background:rgba(0,0,0,.4);border-color:rgba(255,255,255,.2);color:rgba(255,255,255,.65);opacity:0;}
.hdr.banner-behind:hover .hdr-cust-btn{opacity:1;}
.hdr.banner-behind .hdr-cust-btn:hover{color:#fff;}
/* Title border variants */
.hdr.tb-line h1::after{content:'';display:block;width:60px;height:1px;background:var(--txm);margin:.5rem auto 0;}
.hdr.tb-gold h1::after{content:'';display:block;width:60px;height:2px;background:var(--gold);margin:.5rem auto 0;}
.hdr.tb-dot h1::after{content:'✦';display:block;font-size:.9rem;color:var(--gdim);margin:.3rem auto 0;letter-spacing:.4em;}
.hdr.banner-behind.tb-line h1::after{background:rgba(255,255,255,.55);}
.hdr.banner-behind.tb-dot h1::after{color:rgba(255,255,255,.5);}
/* Position slider */
.prog-cust-slider{width:100%;accent-color:var(--gold);cursor:pointer;}
/* .charc backup dropdown */
.charc-export-pop{position:fixed;z-index:3000;background:var(--bg);border:1px solid var(--br2);border-radius:6px;box-shadow:0 4px 16px rgba(0,0,0,.35);overflow:hidden;min-width:220px;}
.charc-export-opt{display:block;width:100%;background:none;border:none;text-align:left;padding:9px 14px;font-family:var(--mono);font-size:10px;letter-spacing:.04em;color:var(--tx);cursor:pointer;transition:background .1s;}
.charc-export-opt:hover{background:var(--gfaint);}
.charc-export-opt:disabled{color:var(--txd);cursor:default;}
.charc-export-opt+.charc-export-opt{border-top:1px solid var(--br2);}
/* Customize popover */
.prog-cust-pop{position:fixed;z-index:3000;background:var(--bg2);border:1px solid var(--br2);border-radius:8px;box-shadow:0 8px 32px rgba(0,0,0,.5);width:300px;overflow:hidden;}
.prog-cust-hdr{display:flex;align-items:center;justify-content:space-between;padding:10px 12px;border-bottom:1px solid var(--br2);font-family:var(--mono);font-size:10px;letter-spacing:.1em;color:var(--txm);}
.prog-cust-close{background:none;border:none;color:var(--txd);cursor:pointer;font-size:14px;padding:0 2px;line-height:1;}
.prog-cust-close:hover{color:var(--tx);}
.prog-cust-sec{font-family:var(--mono);font-size:9px;letter-spacing:.15em;color:var(--gdim);padding:10px 12px 4px;text-transform:uppercase;}
.prog-cust-row{display:flex;align-items:center;gap:8px;padding:5px 12px;cursor:pointer;font-family:var(--mono);font-size:10px;color:var(--txm);}
.prog-cust-row:hover{color:var(--tx);}
.prog-cust-row input[type=checkbox]{accent-color:var(--gold);cursor:pointer;}
.prog-cust-img-grid{display:flex;gap:6px;padding:4px 12px 10px;flex-wrap:wrap;max-height:128px;overflow-y:auto;}
.prog-cust-img-opt{width:52px;height:52px;border-radius:4px;border:2px solid transparent;cursor:pointer;background:var(--sur) center/cover no-repeat;flex-shrink:0;display:flex;align-items:center;justify-content:center;font-family:var(--mono);font-size:9px;color:var(--txd);transition:border-color .12s;}
.prog-cust-img-opt:hover,.prog-cust-img-opt.active{border-color:var(--gold);}
.prog-cust-no-imgs{font-family:var(--mono);font-size:9px;color:var(--txd);padding:4px 0 6px;align-self:center;}
.prog-cust-border-row{display:flex;gap:6px;padding:4px 12px 12px;flex-wrap:wrap;}
.prog-cust-border-opt{background:none;border:1px solid var(--br2);border-radius:4px;color:var(--txm);cursor:pointer;font-family:var(--mono);font-size:9px;padding:4px 10px;transition:border-color .12s,color .12s;}
.prog-cust-border-opt:hover{border-color:var(--gdim);color:var(--tx);}
.prog-cust-border-opt.active{border-color:var(--gold);color:var(--gold);}
[contenteditable]{cursor:text;}
[contenteditable]:focus{outline:none;border-bottom:1px dashed var(--gdim);}
[contenteditable]:empty:before{content:attr(data-placeholder);color:var(--txm);font-style:italic;}

/* ═══════════════════════════════════════
   STATS / PROGRESS
═══════════════════════════════════════ */
.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:1.5rem;}
.stat{background:var(--sur);border:1px solid var(--br);border-radius:4px;padding:.9rem;text-align:center;}
.stat .lbl{font-family:var(--mono);font-size:10px;letter-spacing:.15em;text-transform:uppercase;color:var(--txm);margin-bottom:5px;}
.stat .val{font-family:var(--cin);font-size:1.4rem;color:var(--gold);}
.stat .val.em{color:var(--ember);}.stat .val.sm{color:var(--smoke);}.stat .val.gr{color:var(--grn);}
.stat .sub{font-size:11px;color:var(--txm);margin-top:2px;font-style:italic;}
.pc{background:var(--sur);border:1px solid var(--br);border-radius:4px;padding:.9rem;text-align:center;cursor:pointer;transition:border-color .15s,background .15s;}
.pc:hover{border-color:var(--gdim);background:var(--sur2);}
.pc .lbl{font-family:var(--mono);font-size:10px;letter-spacing:.15em;text-transform:uppercase;color:var(--txm);margin-bottom:5px;}
.pc .val{font-family:var(--cin);font-size:1.4rem;color:var(--gold);line-height:1.3;}
.pc .sub{font-size:11px;color:var(--txm);margin-top:2px;font-style:italic;}
.pc .hint{font-family:var(--mono);font-size:8px;letter-spacing:.1em;color:var(--txm);margin-top:5px;opacity:0;transition:opacity .15s;}
.pc:hover .hint{opacity:.7;}
.mbar-w{margin-bottom:1.5rem;}
.mbar-l{display:flex;justify-content:space-between;margin-bottom:6px;}
.mbar-l span{font-family:var(--mono);font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:var(--txm);}
.mbar-l span:last-child{color:var(--gdim);letter-spacing:0;text-transform:none;}
.mbar{height:5px;background:var(--sur2);border-radius:3px;overflow:hidden;border:1px solid rgba(180,140,80,.1);}
.mbar-fill{height:100%;background:linear-gradient(90deg,#7a3820,var(--gold));border-radius:3px;transition:width .8s;}
.dbar{display:flex;gap:8px;align-items:center;margin-bottom:1.5rem;flex-wrap:wrap;}
.dbtn{font-family:var(--mono);font-size:10px;letter-spacing:.1em;text-transform:uppercase;padding:6px 12px;border-radius:3px;cursor:pointer;border:1px solid var(--br2);background:var(--sur);color:var(--gdim);transition:all .15s;line-height:1;}
.dbtn:hover{background:var(--sur2);color:var(--gold);}
.dbtn.dng{border-color:rgba(192,88,48,.3);color:var(--ember);}
.dbtn.dng:hover{background:rgba(192,88,48,.08);}
.dbtn.add{border-color:rgba(122,189,138,.25);color:var(--grn);}
.dbtn.add:hover{background:rgba(122,189,138,.06);}
.dlbl{font-family:var(--mono);font-size:10px;color:var(--txm);flex:1;text-align:right;}
#slbl.sync-ind{flex:1;justify-content:flex-end;}
.phase-section-hdr{font-family:var(--mono);font-size:8.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--gdim);padding:8px 0 6px;margin-bottom:.5rem;border-bottom:1px solid var(--br);}
.phase-section-hdr-prewrite{color:rgba(122,189,138,.75);}
.phase-section-hdr-revision{color:rgba(192,88,48,.7);}
.phase-dh{cursor:grab;color:var(--txm);font-size:14px;opacity:.4;user-select:none;flex-shrink:0;padding-right:2px;}
.phase-dh:hover{opacity:.9;}
.phase-dragging{opacity:.3;}
.phase-drag-over{box-shadow:inset 0 2px 0 var(--gold)!important;}
.phase-drag-before{box-shadow:inset 0 2px 0 var(--gold)!important;}
.phase-drag-after{box-shadow:inset 0 -2px 0 var(--gold)!important;}
.pb{margin-bottom:1.2rem;border:1px solid var(--br);border-radius:4px;overflow:hidden;}
.ph{display:grid;grid-template-columns:auto 1fr auto auto auto auto;gap:14px;align-items:center;padding:12px 16px;cursor:pointer;background:var(--sur);transition:background .15s;user-select:none;}
.ph:hover{background:var(--sur2);}
.ph-num{font-family:var(--mono);font-size:10px;color:var(--gdim);letter-spacing:.1em;margin-bottom:2px;}
.ph-badge{font-family:var(--mono);font-size:8px;letter-spacing:.12em;text-transform:uppercase;padding:2px 6px;border-radius:2px;display:inline-block;flex-shrink:0;}
.ph-ttl{font-family:var(--cin);font-size:.94rem;color:var(--tx);letter-spacing:.04em;}
.ph-ttl-inp{font-family:var(--cin);font-size:.94rem;color:var(--tx);letter-spacing:.04em;background:transparent;border:none;border-bottom:1px solid transparent;padding:0;outline:none;flex:1;min-width:0;cursor:text;transition:border-color .15s;}
.ph-ttl-inp:hover{border-bottom-color:var(--br);}
.ph-ttl-inp:focus{border-bottom-color:var(--gdim);color:var(--txd);}
.ph-del-btn{background:none;border:none;cursor:pointer;font-size:10px;color:transparent;padding:2px 4px;line-height:1;flex-shrink:0;transition:color .15s;}
.ph:hover .ph-del-btn{color:var(--txm);}
.ph-del-btn:hover{color:var(--ember)!important;}
.ph-wc{font-family:var(--mono);font-size:11px;color:var(--txm);text-align:right;white-space:nowrap;display:flex;align-items:center;gap:3px;}
.ph-wc strong{color:var(--gdim);}
.ph-wc-sep{color:var(--txm);}
.ph-prog{display:flex;align-items:center;gap:5px;white-space:nowrap;}
.ph-pct{font-family:var(--mono);font-size:10px;color:var(--txm);}
.mini{height:3px;background:var(--bg3);border-radius:2px;overflow:hidden;margin-bottom:3px;}
.minif{height:100%;background:var(--gdim);border-radius:2px;}
.minif.done{background:#5a8060;}
.ph-pct{font-family:var(--mono);font-size:10px;color:var(--txm);text-align:right;}
.ph-iacts{display:flex;gap:2px;}
.ph-ia{background:transparent;border:none;cursor:pointer;font-size:11px;color:var(--txm);padding:3px 6px;border-radius:2px;transition:color .15s;font-family:var(--mono);}
.ph-ia:hover{color:var(--gold);}
.chev{color:var(--txm);font-size:12px;transition:transform .2s;}
.chev.on{transform:rotate(180deg);}
.pb-body{display:none;background:var(--bg2);border-top:1px solid var(--br);}
.pb-body.on{display:block;}
.pb-prewrite .ph{background:rgba(122,189,138,.06);}
.pb-prewrite .ph:hover{background:rgba(122,189,138,.11);}
.pb-prewrite .pb-body{background:rgba(122,189,138,.04);}
.pb-revision .ph{background:rgba(192,88,48,.06);}
.pb-revision .ph:hover{background:rgba(192,88,48,.11);}
.pb-revision .pb-body{background:rgba(192,88,48,.04);}
.pb-draft{border-color:color-mix(in srgb, var(--gold) 45%, transparent);}
.pb-draft .ph{background:color-mix(in srgb, var(--gold) 6%, transparent);}
.pb-draft .ph:hover{background:color-mix(in srgb, var(--gold) 11%, transparent);}
.pb-draft .pb-body{background:color-mix(in srgb, var(--gold) 4%, transparent);}
.cht{width:100%;border-collapse:collapse;}
.cht th{font-family:var(--mono);font-size:9px;letter-spacing:.12em;text-transform:uppercase;color:var(--txm);text-align:left;padding:7px 16px;border-bottom:1px solid rgba(180,140,80,.1);background:var(--bg);}
.cht th:nth-child(n+3){text-align:right;}
.chr{border-bottom:1px solid rgba(180,140,80,.06);transition:background .1s;}
.chr:hover{background:rgba(180,140,80,.02);}
.chr:last-child{border-bottom:none;}
.chr td{padding:9px 16px;vertical-align:middle;}
.cn{font-family:var(--mono);font-size:10px;color:var(--txm);white-space:nowrap;}
.ct{font-size:.9rem;color:var(--txd);font-style:italic;}
.cpov{font-family:var(--mono);font-size:10px;color:var(--txm);text-align:right;}
.ctgt{font-family:var(--mono);font-size:10px;color:var(--txm);text-align:right;}
.cw{font-family:var(--mono);font-size:11px;text-align:right;cursor:pointer;}
.cw-disp{color:var(--txm);}
.cw-disp.has{color:var(--gold);}
.cw input{background:transparent;border:none;border-bottom:1px solid var(--gdim);color:var(--gold);font-family:var(--mono);font-size:11px;width:70px;padding:1px 0;text-align:right;display:none;outline:none;}
.stsel{background:transparent;border:none;border-bottom:1px solid transparent;color:var(--txm);font-family:var(--mono);font-size:9px;letter-spacing:.05em;padding:1px 0;cursor:pointer;outline:none;-webkit-appearance:none;appearance:none;}
.stsel:hover,.stsel:focus{border-bottom-color:var(--gdim);color:var(--txd);}
.stsel option{background:var(--bg3);}
.ch-edit-btn{background:transparent;border:none;cursor:pointer;font-size:10px;color:var(--txm);padding:2px 5px;transition:color .15s;font-family:var(--mono);}
.ch-edit-btn:hover{color:var(--gold);}
/* Phase inline edit panel */
.ph-edit{display:none;flex-direction:column;gap:6px;padding:10px 16px 12px;border-top:1px solid var(--br);background:var(--bg2);}
.ph-edit.open{display:flex;}
.ph-ei{background:var(--bg);border:1px solid var(--br);border-radius:3px;color:var(--tx);font-family:var(--mono);font-size:11px;padding:6px 8px;outline:none;width:100%;box-sizing:border-box;transition:border-color .15s;}
.ph-ei:focus{border-color:var(--gdim);}
.ph-ei::placeholder{color:var(--txm);opacity:.6;}
.ph-ei-row{display:flex;align-items:center;gap:8px;}
.ph-ei-lbl{font-family:var(--mono);font-size:8px;letter-spacing:.12em;text-transform:uppercase;color:var(--txm);flex-shrink:0;min-width:52px;}
.ph-ei-btns{display:flex;gap:6px;margin-top:4px;}
/* Task inline edit row */
.ch-edit-row{display:none;}
.ch-edit-row.open{display:table-row;}
.ch-edit-cell{padding:6px 10px 8px;background:var(--bg2);border-bottom:1px solid var(--br);}
.ch-edit-cell .ch-ei{background:var(--bg);border:1px solid var(--br);border-radius:3px;color:var(--tx);font-family:var(--mono);font-size:11px;padding:5px 7px;outline:none;transition:border-color .15s;margin-right:6px;vertical-align:middle;}
.ch-edit-cell .ch-ei:focus{border-color:var(--gdim);}
.ch-edit-cell .ch-ei-num{width:90px;}
.ch-ei-lbl{font-family:var(--mono);font-size:8px;letter-spacing:.1em;text-transform:uppercase;color:var(--txm);white-space:nowrap;margin-right:4px;}
.ch-ei-lbl-gap{margin-left:16px;}
.ch-ei-btns{display:inline-flex;gap:6px;margin-left:16px;vertical-align:middle;}
.phn{padding:12px 16px;border-top:1px solid rgba(180,140,80,.08);}
.phn label{font-family:var(--mono);font-size:9px;letter-spacing:.15em;text-transform:uppercase;color:var(--txm);display:block;margin-bottom:5px;}
.phn textarea{width:100%;background:transparent;border:none;border-bottom:1px solid rgba(180,140,80,.12);color:var(--txd);font-family:var(--serif);font-size:.95rem;line-height:1.55;padding:4px 0;resize:none;outline:none;min-height:48px;}
.phn textarea:focus{border-bottom-color:var(--gdim);}
.phn textarea::placeholder{color:var(--txm);font-style:italic;}
.add-ch-row{padding:8px 16px;border-top:1px solid rgba(180,140,80,.06);}
.add-ch-btn{background:transparent;border:none;color:var(--txm);font-family:var(--mono);font-size:9px;letter-spacing:.1em;text-transform:uppercase;cursor:pointer;transition:color .15s;padding:0;}
.add-ch-btn:hover{color:var(--gdim);}
/* ── Phase blocks ── */
.ph-title-wrap{flex:1;min-width:0;display:flex;align-items:center;gap:8px;}
.ph-sub{font-family:var(--mono);font-size:9px;color:var(--txm);margin-top:2px;letter-spacing:.05em;}
.ph-prog-wrap{display:flex;align-items:center;gap:8px;margin-left:8px;}
.ph-complete-stamp{font-family:var(--mono);font-size:9px;color:var(--grn);letter-spacing:.1em;margin-left:4px;flex-shrink:0;}
.ph-done{opacity:.75;}
.ph-blocks{padding:10px 14px 0;}
.ph-block{margin-bottom:10px;border:1px solid rgba(180,140,80,.1);border-radius:5px;background:var(--bg);overflow:visible;}
.ph-block-hd{display:flex;align-items:center;justify-content:space-between;padding:6px 10px 5px;border-bottom:1px solid rgba(180,140,80,.08);}
.ph-block-lbl{font-family:var(--mono);font-size:9px;letter-spacing:.12em;text-transform:uppercase;color:var(--txm);}
.ph-block-name{font-family:var(--mono);font-size:9px;letter-spacing:.12em;text-transform:uppercase;color:var(--txm);background:transparent;border:none;border-bottom:1px solid transparent;padding:0;outline:none;cursor:text;flex:1;min-width:30px;transition:border-color .15s;}
.ph-block-name:hover{border-bottom-color:var(--br);}
.ph-block-name:focus{border-bottom-color:var(--gdim);color:var(--txd);}
.ph-block-count{color:var(--gdim);margin-left:4px;flex-shrink:0;font-family:var(--mono);font-size:9px;}
.ph-block-rm{background:none;border:none;cursor:pointer;font-size:9px;color:var(--txm);padding:0 2px;line-height:1;transition:color .15s;flex-shrink:0;}
.ph-block-rm:hover{color:var(--ember);}
/* Checklist block */
.ph-checklist{list-style:none;padding:6px 10px;margin:0;}
.ph-ci{display:flex;align-items:center;gap:6px;padding:4px 0;border-bottom:1px solid rgba(180,140,80,.05);}
.ph-ci:last-child{border-bottom:none;}
.ph-ci label{display:flex;align-items:center;gap:7px;flex:1;cursor:pointer;font-size:.9rem;color:var(--tx);line-height:1.3;}
.ph-ci input[type="checkbox"]{accent-color:var(--gold);width:13px;height:13px;flex-shrink:0;}
.ph-ci.done label span{text-decoration:line-through;color:var(--txm);}
.ph-ci-del{background:none;border:none;cursor:pointer;font-size:9px;color:transparent;padding:0 2px;line-height:1;transition:color .15s;flex-shrink:0;}
.ph-ci:hover .ph-ci-del{color:var(--txm);}
.ph-ci-del:hover{color:var(--ember)!important;}
.ph-ci-add-row{padding:5px 10px 8px;}
.ph-ci-inp{width:100%;background:transparent;border:none;border-bottom:1px solid rgba(180,140,80,.12);color:var(--txd);font-family:var(--serif);font-size:.88rem;padding:3px 0;outline:none;}
.ph-ci-inp:focus{border-bottom-color:var(--gdim);}
.ph-ci-inp::placeholder{color:var(--txm);font-style:italic;}
/* Word target block */
.ph-wt-body{padding:8px 10px 10px;}
.ph-wt-row{display:flex;align-items:center;gap:8px;margin-bottom:6px;}
.ph-wt-inp{width:100px;background:var(--bg2);border:1px solid var(--br);border-radius:3px;color:var(--tx);font-family:var(--mono);font-size:11px;padding:3px 6px;outline:none;}
.ph-wt-inp:focus{border-color:var(--gdim);}
.ph-wt-unit{font-family:var(--mono);font-size:10px;color:var(--txm);}
.ph-wt-sub{font-family:var(--mono);font-size:9px;color:var(--txm);margin-top:4px;}
.ph-wt-track-row{margin-bottom:6px;}
/* Custom dropdown (replaces native select to avoid OS blue highlight) */
.ph-cdd{position:relative;}
.ph-cdd-trigger{width:100%;background:var(--bg2);border:1px solid var(--br);border-radius:3px;color:var(--txd);font-family:var(--mono);font-size:10px;padding:3px 8px 3px 6px;outline:none;cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:4px;text-align:left;}
.ph-cdd-trigger:hover{border-color:var(--gdim);}
.ph-cdd-trigger.open{border-color:var(--gdim);}
.ph-cdd-val{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.ph-cdd-arrow{font-size:8px;color:var(--txm);flex-shrink:0;transition:transform .15s;}
.ph-cdd-trigger.open .ph-cdd-arrow{transform:rotate(180deg);}
.ph-cdd-panel{display:none;position:fixed;background:var(--sur);border:1px solid var(--br2);border-radius:4px;box-shadow:0 4px 14px rgba(0,0,0,.35);z-index:9000;max-height:200px;overflow-y:auto;}
.ph-cdd-panel.open{display:block;}
.ph-cdd-opt{font-family:var(--mono);font-size:10px;color:var(--txd);padding:5px 8px;cursor:pointer;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.ph-cdd-opt:hover{background:var(--bg3);}
.ph-cdd-opt.sel{background:var(--bg3);color:var(--tx);}
.ph-cdd-prefix{color:var(--txm);}
/* Note block */
.ph-note-area{width:100%;background:transparent;border:none;color:var(--txd);font-family:var(--serif);font-size:.92rem;line-height:1.55;padding:8px 10px;resize:none;outline:none;min-height:60px;display:block;box-sizing:border-box;}
.ph-note-area::placeholder{color:var(--txm);font-style:italic;}
/* Add block row */
.ph-add-block-row{display:flex;gap:6px;flex-wrap:wrap;padding:8px 14px 10px;border-top:1px solid rgba(180,140,80,.06);}
.ph-add-block-btn{font-family:var(--mono);font-size:9px;letter-spacing:.1em;text-transform:uppercase;padding:4px 9px;border-radius:3px;cursor:pointer;border:1px solid rgba(180,140,80,.2);background:transparent;color:var(--txm);transition:all .15s;}
.ph-add-block-btn:hover{border-color:var(--gdim);color:var(--gdim);}
/* Complete bar */
.ph-complete-bar{display:flex;align-items:center;justify-content:flex-end;gap:8px;padding:8px 14px;border-top:1px solid rgba(180,140,80,.06);}
.ph-complete-bar.done{background:rgba(122,189,138,.04);border-top-color:rgba(122,189,138,.12);}
.ph-complete-btn{font-family:var(--mono);font-size:9px;letter-spacing:.1em;text-transform:uppercase;padding:4px 10px;border-radius:3px;cursor:pointer;border:1px solid rgba(180,140,80,.2);background:transparent;color:var(--txm);transition:all .15s;}
.ph-complete-btn:hover{border-color:var(--grn);color:var(--grn);}
.ph-complete-date{font-family:var(--mono);font-size:9px;color:var(--grn);letter-spacing:.07em;flex:1;}
.ph-reopen-btn{font-family:var(--mono);font-size:9px;letter-spacing:.08em;padding:3px 8px;border-radius:3px;cursor:pointer;border:1px solid rgba(180,140,80,.15);background:transparent;color:var(--txm);transition:all .15s;}
.ph-reopen-btn:hover{color:var(--gdim);border-color:var(--gdim);}
/* Auto-prompt */
.ph-complete-prompt{display:flex;align-items:center;gap:8px;flex-wrap:wrap;padding:8px 14px;border-top:1px solid rgba(122,189,138,.18);background:rgba(122,189,138,.05);font-family:var(--mono);font-size:10px;color:var(--txd);}
/* ── Chronicle ── */
.msw{margin-top:2rem;padding-top:1.5rem;border-top:1px solid var(--br);}
.ms-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.2rem;}
.mst{font-family:var(--cin);font-size:.82rem;font-weight:400;letter-spacing:.12em;color:var(--gdim);text-transform:uppercase;}
.chr-empty{font-family:var(--mono);font-size:10px;color:var(--txm);font-style:italic;padding:4px 0;}
#chronicle-con{position:relative;padding-left:20px;}
#chronicle-con::before{content:'';position:absolute;left:5px;top:6px;bottom:6px;width:1px;background:rgba(180,140,80,.12);}
.chr-entry{position:relative;margin-bottom:12px;display:flex;align-items:flex-start;gap:10px;}
.chr-dot{position:absolute;left:-18px;top:5px;width:7px;height:7px;border-radius:50%;flex-shrink:0;}
.chr-info{display:flex;align-items:center;flex-wrap:wrap;gap:6px;flex:1;min-width:0;}
.chr-name{font-size:.88rem;color:var(--tx);}
.chr-type{font-family:var(--mono);font-size:8px;letter-spacing:.1em;text-transform:uppercase;}
.chr-date{font-family:var(--mono);font-size:9px;color:var(--txm);white-space:nowrap;}
.chr-stat{font-family:var(--mono);font-size:9px;color:var(--txm);background:var(--bg2);padding:1px 5px;border-radius:2px;}
.chr-del{background:none;border:none;cursor:pointer;font-size:9px;color:transparent;padding:0 2px;transition:color .15s;flex-shrink:0;}
.chr-entry:hover .chr-del{color:var(--txm);}
.chr-del:hover{color:var(--ember)!important;}

/* ═══════════════════════════════════════
   OUTLINE
═══════════════════════════════════════ */
.doc-toolbar{display:flex;gap:8px;align-items:center;margin-bottom:1.4rem;flex-wrap:wrap;}
.dbtn2{font-family:var(--mono);font-size:9px;letter-spacing:.1em;text-transform:uppercase;padding:6px 12px;border-radius:3px;cursor:pointer;border:1px solid var(--br2);background:var(--sur);color:var(--gdim);transition:all .15s;}
.dbtn2:hover{background:var(--sur2);color:var(--gold);}
.dbtn2.t-act{border-color:rgba(200,164,90,.3);color:var(--gold);}
.dbtn2.t-ch{border-color:rgba(122,170,204,.25);color:var(--smoke);}
.dbtn2.t-sc{border-color:rgba(122,189,138,.2);color:var(--grn);}
.dbtn2.t-we{border-color:rgba(192,88,48,.3);color:var(--ember);}
/* Outline/Timeline view toggle */
.ol-view-toggle{display:flex;gap:2px;background:var(--bg3);border-radius:5px;padding:2px;margin-left:auto;}
.ol-view-btn{background:transparent;border:none;border-radius:3px;padding:4px 14px;font-family:var(--mono);font-size:9px;letter-spacing:.08em;text-transform:uppercase;color:var(--txm);cursor:pointer;transition:all .15s;}
.ol-view-btn.active{background:var(--sur2);color:var(--tx);}
.ol-view-btn:not(.active):hover{color:var(--gdim);}
.tl-unit-ctrl{display:flex;align-items:center;gap:5px;padding-left:6px;border-left:1px solid var(--br2);}
.tl-unit-lbl{font-family:var(--mono);font-size:8px;color:var(--txm);text-transform:uppercase;letter-spacing:.08em;white-space:nowrap;}
.tl-unit-inp{width:58px;background:var(--bg3);border:1px solid var(--br2);border-radius:3px;padding:5px 7px;font-family:var(--mono);font-size:9px;color:var(--tx);outline:none;transition:border-color .12s;}
.tl-unit-inp:focus{border-color:var(--gold);}
/* Timeline sidebar nav */
.sb-tl-nav-item{display:flex;align-items:baseline;gap:6px;padding:4px 10px 4px 14px;cursor:pointer;transition:background .1s;user-select:none;}
.sb-tl-nav-item:hover{background:var(--sur);}
.sb-tl-nav-dot{font-family:var(--mono);font-size:10px;color:var(--gdim);flex-shrink:0;}
.sb-tl-nav-lbl{font-family:var(--serif);font-style:italic;font-size:.75rem;color:var(--txd);flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.sb-tl-nav-item:hover .sb-tl-nav-lbl{color:var(--tx);}
.sb-tl-nav-time{font-family:var(--mono);font-size:8px;color:var(--txm);white-space:nowrap;flex-shrink:0;}
/* Full-width pane when timeline active */
#pane-outline.tl-mode>.wrap{max-width:none;padding-left:0;padding-right:0;}
#pane-outline.tl-mode>.wrap>.hdr,
#pane-outline.tl-mode>.wrap>.doc-toolbar{max-width:880px;margin-left:auto;margin-right:auto;padding-left:2rem;padding-right:2rem;}
#pane-timeline>.wrap{max-width:none;padding-left:0;padding-right:0;padding-bottom:0;}
#pane-timeline>.wrap>.hdr,
#pane-timeline>.wrap>.doc-toolbar{max-width:880px;margin-left:auto;margin-right:auto;padding-left:2rem;padding-right:2rem;}
/* ── TIMELINE ──────────────────────── */
.tl-wrap{overflow-x:auto;overflow-y:auto;padding:8px 0 48px;min-height:260px;width:100%;}
.tl-inner{position:relative;}
.tl-rail-line{position:absolute;height:2px;background:linear-gradient(to right,transparent,var(--br2) 6%,var(--br2) 94%,transparent);}
.tl-axis-lbl{position:absolute;transform:translateX(-50%);font-family:var(--mono);font-size:8px;color:var(--txm);white-space:nowrap;letter-spacing:.04em;}
.tl-tick{position:absolute;width:1px;background:var(--br2);transform:translateX(-50%);opacity:.4;z-index:0;}
.tl-dot{position:absolute;width:10px;height:10px;border-radius:50%;background:var(--gold);transform:translate(-50%,-50%);border:2px solid var(--bg);z-index:1;}
.tl-dot-we{background:var(--ember);}
.tl-dot-ee{background:var(--smoke);}
.tl-axis-tick{position:absolute;width:1px;height:8px;background:var(--br2);transform:translateX(-50%);}
/* Brackets */
.tl-bracket{position:absolute;height:18px;border-top:2px solid;border-left:2px solid;border-right:2px solid;border-bottom:none;border-radius:2px 2px 0 0;box-sizing:border-box;}
.tl-bk-act{border-color:rgba(200,164,90,.5);background:rgba(200,164,90,.05);}
.tl-bk-chapter{border-color:rgba(255,255,255,.1);background:transparent;}
.tl-bk-lbl{display:block;font-family:var(--mono);font-size:8px;color:var(--txm);padding:2px 6px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
/* Cards */
.tl-card{position:absolute;background:var(--sur);border:1px solid var(--br2);border-radius:6px;padding:10px 12px;box-sizing:border-box;box-shadow:0 2px 12px rgba(0,0,0,.22);z-index:2;}
.tl-card-we{border-color:rgba(192,88,48,.4);border-style:dashed;}
.tl-card-hd{display:flex;align-items:center;gap:5px;margin-bottom:6px;}
.tl-badge{font-family:var(--mono);font-size:7px;text-transform:uppercase;letter-spacing:.07em;padding:2px 5px;border-radius:3px;flex-shrink:0;}
.tl-badge-scene{background:rgba(122,189,138,.2);color:var(--grn);}
.tl-badge-chapter{background:rgba(122,170,204,.15);color:var(--smoke);}
.tl-badge-act{background:rgba(200,164,90,.2);color:var(--gold);}
.tl-badge-we{background:transparent;border:1px solid rgba(192,88,48,.5);color:var(--ember);}
.tl-badge-ee{background:transparent;border:1px solid rgba(122,170,204,.4);color:var(--smoke);}
.tl-card-ee{border-color:rgba(122,170,204,.3);}
/* Entity section world event toggle */
.sec-we-btn{color:var(--txm);}
.sec-we-btn.active{color:var(--gold);}
.sec-we-day{display:flex;align-items:center;gap:4px;flex-shrink:0;margin-right:4px;}
.sec-we-lbl{font-family:var(--mono);font-size:8px;color:var(--txm);}
.sec-we-inp{width:52px;background:var(--bg3);border:1px solid var(--br);border-radius:3px;padding:2px 4px;font-family:var(--mono);font-size:9px;color:var(--tx);outline:none;}
.sec-we-inp:focus{border-color:var(--gold);}
.tl-flag-dot{width:7px;height:7px;border-radius:50%;flex-shrink:0;}
.tl-card-del{margin-left:auto;background:none;border:none;cursor:pointer;color:var(--txm);font-size:10px;padding:0 2px;flex-shrink:0;transition:color .12s;}
.tl-card-del:hover{color:var(--ember);}
.tl-card-title{font-family:var(--serif);font-size:.87rem;color:var(--tx);line-height:1.35;margin-bottom:3px;cursor:pointer;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.tl-card-title:hover{color:var(--gold);}
.tl-card-bc{font-family:var(--mono);font-size:7.5px;color:var(--txm);margin-bottom:4px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.tl-card-title-inp{width:100%;background:transparent;border:none;border-bottom:1px solid var(--br);outline:none;font-family:var(--serif);font-size:.87rem;color:var(--tx);margin-bottom:5px;padding:0 0 2px;box-sizing:border-box;}
.tl-card-title-inp:focus{border-bottom-color:var(--gold);}
.tl-time-row{display:flex;align-items:center;gap:5px;margin-top:5px;}
.tl-time-lbl{font-family:var(--mono);font-size:8px;color:var(--txm);flex-shrink:0;}
.tl-time-inp{width:62px;background:var(--bg3);border:1px solid var(--br);border-radius:3px;padding:2px 5px;font-family:var(--mono);font-size:9px;color:var(--tx);outline:none;}
.tl-time-inp:focus{border-color:var(--gold);}
.tl-card-ta{width:100%;background:transparent;border:none;outline:none;font-family:var(--serif);font-size:.83rem;color:var(--txd);resize:none;margin-top:5px;padding:0;box-sizing:border-box;line-height:1.5;}
.tl-card-ta::placeholder{color:var(--txm);font-style:italic;}
.on-node{border-radius:5px;margin-bottom:6px;overflow:hidden;}
.on-node.type-act{border:1px solid transparent;background:rgba(200,164,90,.03);}
.on-node.type-chapter{border:1px solid transparent;background:rgba(122,170,204,.03);}
.on-node.type-scene{border:1px solid transparent;background:rgba(122,189,138,.02);}
.on-node.drag-over{outline:2px solid var(--gold)!important;outline-offset:-2px;}
.on-node.drag-over-before{border-top:2px solid var(--gold)!important;}
.on-node.drag-over-nest{outline:2px dashed var(--grn)!important;outline-offset:-2px;background:rgba(122,189,138,.06)!important;}
.on-node.dragging{opacity:.35;border-style:dashed;}
.on-node.ol-focused{outline:2px solid var(--gold)!important;outline-offset:0;}
.on-hbar{display:flex;align-items:center;gap:6px;padding:10px 12px 9px;cursor:pointer;user-select:none;}
.on-node.type-act>.on-hbar{background:rgba(200,164,90,.06);}
.on-node.type-chapter>.on-hbar{background:rgba(122,170,204,.05);}
.on-node.type-scene>.on-hbar{background:rgba(122,189,138,.04);}
.on-hbar:hover{filter:brightness(1.08);}
.on-drag{cursor:grab;color:var(--txm);font-size:12px;padding:0 2px;flex-shrink:0;}
.on-drag:active{cursor:grabbing;}
.on-badge{font-family:var(--mono);font-size:8px;letter-spacing:.1em;text-transform:uppercase;padding:2px 6px;border-radius:2px;flex-shrink:0;}
.badge-act{background:rgba(200,164,90,.15);color:var(--gold);}
.badge-chapter{background:rgba(122,170,204,.12);color:var(--smoke);}
.badge-scene{background:rgba(122,189,138,.1);color:var(--grn);}
.on-chev{color:var(--txm);font-size:10px;transition:transform .2s;flex-shrink:0;}
.on-chev.closed{transform:rotate(-90deg);}
.on-chev.leaf{opacity:0;pointer-events:none;}
.on-title-inp{flex:1;background:transparent;border:none;outline:none;padding:0;min-width:0;}
.on-node.type-act .on-title-inp{font-family:var(--cin);font-size:.9rem;letter-spacing:.03em;color:var(--gold);}
.on-node.type-chapter .on-title-inp{font-family:var(--serif);font-size:.9rem;color:var(--tx);}
.on-node.type-scene .on-title-inp{font-family:var(--serif);font-size:.88rem;font-style:italic;color:var(--txd);}
.on-title-inp::placeholder{color:var(--txm);}
.on-title-inp:focus{border-bottom:1px solid rgba(180,140,80,.2);}
.on-sub-inp{font-family:var(--mono);font-size:9px;color:var(--txm);background:transparent;border:none;outline:none;width:120px;flex-shrink:0;padding:0;}
.on-sub-inp::placeholder{color:var(--txm);opacity:.3;}
.on-sub-inp:focus{border-bottom:1px solid rgba(180,140,80,.18);}
.on-tgt-inp{font-family:var(--mono);font-size:9px;color:var(--txm);background:transparent;border:none;outline:none;width:72px;flex-shrink:0;padding:0;text-align:right;}
.on-tgt-inp::placeholder{color:var(--txm);opacity:.3;}
.on-tgt-inp:focus{border-bottom:1px solid rgba(180,140,80,.18);}
.on-tgt-inp::-webkit-inner-spin-button,.on-tgt-inp::-webkit-outer-spin-button{-webkit-appearance:none;}
.on-acts{display:flex;gap:1px;margin-left:auto;flex-shrink:0;}
.on-ab{background:transparent;border:none;cursor:pointer;font-size:10px;color:var(--txm);padding:2px 5px;border-radius:2px;transition:color .15s;font-family:var(--mono);}
.on-ab:hover{color:var(--gold);}
.on-ab.del:hover{color:var(--ember);}
.on-collapse-btn{font-size:9px;opacity:.55;}
.on-collapse-btn:hover{opacity:1;color:var(--gdim)!important;}
/* Flag dot on outline/scene nodes */
.on-flag{display:inline-block;width:7px;height:7px;border-radius:50%;flex-shrink:0;border:1px solid rgba(0,0,0,.15);}
.on-flag-wrap{display:flex;align-items:center;gap:3px;flex-shrink:0;padding:0 2px;}
/* Flag picker in context menu */
.ctx-flags{display:flex;gap:5px;padding:5px 14px 5px;}
.ctx-flag-opt{width:16px;height:16px;border-radius:50%;cursor:pointer;border:2px solid transparent;transition:transform .12s,border-color .12s;flex-shrink:0;}
.ctx-flag-opt:hover{transform:scale(1.25);}
.ctx-flag-opt.sel{border-color:rgba(255,255,255,.6);}
/* Scene card flag */
.ms-scene-flag{display:inline-block;width:6px;height:6px;border-radius:50%;margin-left:4px;vertical-align:middle;border:1px solid rgba(0,0,0,.1);}
/* Word count / reading time tooltip */
.ctx-wc-info{padding:5px 14px 7px;font-family:var(--mono);font-size:9px;color:var(--txm);line-height:1.6;}
.on-body{padding:8px 12px 10px;}
.on-body.hidden{display:none;}
.on-body-ta{width:100%;background:transparent;border:none;outline:none;color:var(--txd);font-family:var(--serif);font-size:.95rem;line-height:1.75;resize:none;min-height:44px;padding:0;}
.on-body-ta:focus{color:var(--tx);}
.on-body-ta::placeholder{color:var(--txm);font-style:italic;}
.on-children{padding:6px 8px 8px 10px;display:flex;flex-direction:column;gap:5px;}
.on-children.hidden{display:none;}
.on-add-root{background:transparent;border:none;border-radius:2px;padding:2px 5px;cursor:pointer;color:var(--txm);font-family:var(--mono);font-size:10px;transition:color .15s;}
.on-add-root:hover{color:var(--gold);}

/* ═══════════════════════════════════════
   CHARACTERS / SETTING — entity page layout
═══════════════════════════════════════ */

/* The tab pane for chars/setting uses a 3-column layout:
   entity-nav (left) | section-nav (middle) | content (right) */
#pane-characters,#pane-setting{overflow:hidden;}
.entity-layout{
  display:flex;height:100%;overflow:hidden;
}

/* Left sidebar: entity list */
.entity-nav{
  width:190px;flex-shrink:0;
  border-right:1px solid var(--br);
  background:var(--bg2);
  display:flex;flex-direction:column;
  overflow:hidden;
  transition:background .3s,border-color .3s;
}
.entity-nav-hdr{
  display:flex;align-items:center;justify-content:space-between;
  padding:10px 12px 8px;border-bottom:1px solid var(--br3);flex-shrink:0;
}
.entity-nav-lbl{font-family:var(--mono);font-size:8px;letter-spacing:.18em;text-transform:uppercase;color:var(--txm);}
.entity-nav-add{background:none;border:none;cursor:pointer;font-family:var(--mono);font-size:11px;color:var(--txm);padding:2px 4px;transition:color .15s;line-height:1;}
.entity-nav-add:hover{color:var(--gold);}
.entity-nav-list{flex:1;overflow-y:auto;overflow-x:hidden;}
.entity-nav-item{
  display:flex;align-items:center;gap:7px;
  padding:8px 12px;cursor:pointer;
  border-left:2px solid transparent;
  transition:background .1s,border-color .1s;user-select:none;
}
.entity-nav-item:hover{background:var(--sur);}
.entity-nav-item.active{background:var(--gfaint);border-left-color:var(--gold);}
.entity-nav-dot{font-size:9px;color:var(--txm);flex-shrink:0;}
.entity-nav-item.active .entity-nav-dot{color:var(--gold);}
.entity-nav-title{font-family:var(--cin);font-size:.78rem;letter-spacing:.02em;color:var(--txd);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;flex:1;}
.entity-nav-item.active .entity-nav-title{color:var(--gold);}
.entity-nav-item:hover .entity-nav-title{color:var(--tx);}
.entity-nav-del{background:none;border:none;cursor:pointer;font-size:9px;color:var(--txm);padding:0 2px;opacity:0;transition:opacity .15s,color .15s;}
.entity-nav-item:hover .entity-nav-del{opacity:.5;}
.entity-nav-del:hover{color:var(--ember);opacity:1!important;}
.entity-nav-empty{font-family:var(--mono);font-size:9px;color:var(--txm);padding:12px;opacity:.5;text-align:center;}

/* Middle sidebar: section list for selected entity */
.section-nav{
  width:160px;flex-shrink:0;
  border-right:1px solid var(--br);
  background:var(--bg2);
  display:flex;flex-direction:column;
  overflow:hidden;
  transition:background .3s,border-color .3s;
}
.section-nav-hdr{
  display:flex;align-items:center;justify-content:space-between;
  padding:10px 12px 8px;border-bottom:1px solid var(--br3);flex-shrink:0;
}
.section-nav-lbl{font-family:var(--mono);font-size:8px;letter-spacing:.18em;text-transform:uppercase;color:var(--txm);}
.section-nav-add{background:none;border:none;cursor:pointer;font-family:var(--mono);font-size:11px;color:var(--txm);padding:2px 4px;transition:color .15s;line-height:1;}
.section-nav-add:hover{color:var(--gdim);}
.section-nav-list{flex:1;overflow-y:auto;overflow-x:hidden;}
.section-nav-item{
  display:flex;align-items:center;gap:6px;
  padding:7px 12px;cursor:pointer;
  border-left:2px solid transparent;
  transition:background .1s,border-color .1s;user-select:none;
}
.section-nav-item:hover{background:var(--sur);}
.section-nav-item.active{background:var(--gfaint);border-left-color:var(--smoke);}
.section-nav-dot{font-size:8px;color:var(--txm);flex-shrink:0;}
.section-nav-item.active .section-nav-dot{color:var(--smoke);}
.section-nav-title{font-family:var(--serif);font-style:italic;font-size:.8rem;color:var(--txd);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;flex:1;}
.section-nav-item.active .section-nav-title{color:var(--tx);}
.section-nav-del{background:none;border:none;cursor:pointer;font-size:9px;color:var(--txm);padding:0 2px;opacity:0;transition:opacity .15s,color .15s;}
.section-nav-item:hover .section-nav-del{opacity:.5;}
.section-nav-del:hover{color:var(--ember);opacity:1!important;}
.section-nav-empty{font-family:var(--mono);font-size:9px;color:var(--txm);padding:12px;opacity:.5;text-align:center;}
.section-nav-item.sn-dragging{opacity:.3;}
.section-nav-item.sn-drag-over{background:var(--gfaint);box-shadow:inset 0 2px 0 var(--gold);}
.sb-tree-dot.sn-block-icon{width:16px;display:flex;align-items:center;justify-content:center;color:var(--txd);}

/* Content area: the selected entity's page */
.entity-content{
  flex:1;overflow-y:auto;overflow-x:hidden;
  background:var(--bg);
  min-width:0;
}
/* ── Scrollbars ── */
::-webkit-scrollbar{width:5px;height:5px;}
::-webkit-scrollbar-track{background:transparent;}
::-webkit-scrollbar-thumb{background:var(--br2);border-radius:3px;}
::-webkit-scrollbar-thumb:hover{background:var(--gdim);}
::-webkit-scrollbar-corner{background:transparent;}
.ms-content-area::-webkit-scrollbar{width:10px;}

.entity-page{
  max-width:960px;margin:0 auto;padding:2.4rem 2.5rem 5rem;
}
/* Entity page header */
.entity-page-hdr{
  display:flex;align-items:flex-start;gap:16px;
  margin-bottom:2rem;padding-bottom:1.2rem;
  border-bottom:1px solid var(--br);
}
.entity-page-icon{
  width:48px;height:48px;
  display:flex;align-items:center;justify-content:center;
  font-size:2.4rem;flex-shrink:0;color:var(--txm);
  cursor:pointer;
}
.entity-page-icon:hover{opacity:.75;}
/* ── Generic color picker popup ── */
.color-picker-pop{position:fixed;z-index:7500;background:var(--bg2);border:1px solid var(--br2);border-radius:8px;padding:8px;box-shadow:0 8px 32px rgba(0,0,0,.5);width:338px;}
.cp-layout{display:flex;gap:0;align-items:flex-start;}
.cp-col-swatches{width:155px;flex-shrink:0;padding-right:8px;border-right:1px solid var(--br2);}
.cp-col-picker{flex:1;padding-left:8px;display:flex;flex-direction:column;gap:6px;min-width:0;}
.cp-group{margin-bottom:5px;}
.cp-group-lbl{font-family:var(--mono);font-size:8px;text-transform:uppercase;letter-spacing:.1em;color:var(--txm);margin-bottom:4px;}
.cp-swatches{display:flex;flex-wrap:wrap;gap:4px;}
.cp-swatch{width:18px;height:18px;border-radius:50%;cursor:pointer;border:2px solid transparent;flex-shrink:0;transition:border-color .12s;}
.cp-swatch:hover{border-color:rgba(255,255,255,.35);}
.cp-swatch.selected{border-color:rgba(255,255,255,.7);}
.cp-clear{background:var(--sur2);border:1px dashed var(--br2)!important;box-sizing:border-box;}
.cp-transparent{background:repeating-conic-gradient(#888 0% 25%,transparent 0% 50%) 0 0/8px 8px!important;border-radius:3px!important;}
.cp-theme-swatch,.cp-qf-swatch{border-radius:3px!important;}
/* SV gradient square */
.cp-sv-wrap{position:relative;width:100%;height:106px;border-radius:4px;cursor:crosshair;overflow:hidden;flex-shrink:0;}
.cp-sv-bg-white{position:absolute;inset:0;background:linear-gradient(to right,#fff,transparent);}
.cp-sv-bg-black{position:absolute;inset:0;background:linear-gradient(to bottom,transparent,#000);}
.cp-sv-cursor{position:absolute;width:10px;height:10px;border-radius:50%;border:2px solid #fff;box-shadow:0 0 2px rgba(0,0,0,.7);transform:translate(-50%,-50%);pointer-events:none;}
/* Hue slider */
.cp-hue-slider{-webkit-appearance:none;appearance:none;width:100%;height:10px;border-radius:5px;outline:none;cursor:pointer;background:linear-gradient(to right,#f00,#ff0,#0f0,#0ff,#00f,#f0f,#f00);flex-shrink:0;display:block;}
.cp-hue-slider::-webkit-slider-thumb{-webkit-appearance:none;width:14px;height:14px;border-radius:50%;background:#fff;border:2px solid rgba(0,0,0,.25);box-shadow:0 1px 3px rgba(0,0,0,.4);cursor:pointer;}
.cp-hue-slider::-moz-range-thumb{width:14px;height:14px;border-radius:50%;background:#fff;border:2px solid rgba(0,0,0,.25);box-shadow:0 1px 3px rgba(0,0,0,.4);cursor:pointer;border:none;}
.cp-hex-row{display:flex;align-items:center;gap:5px;}
.cp-hex-preview{width:16px;height:16px;border-radius:3px;flex-shrink:0;background:var(--sur2);border:1px solid var(--br2);}
.cp-hex-inp{flex:1;background:transparent;border:none;outline:none;font-family:var(--mono);font-size:9px;color:var(--tx);padding:0;min-width:0;}
.cp-hex-inp::placeholder{color:var(--txm);}
.cp-native-btn{background:none;border:1px solid var(--br2);border-radius:3px;color:var(--txm);cursor:pointer;padding:2px 4px;line-height:1;display:flex;align-items:center;flex-shrink:0;}
.cp-native-btn:hover{color:var(--tx);border-color:var(--txm);}
/* Hex row inside context menu flag picker */
.ctx-hex-row{display:flex;align-items:center;gap:5px;margin-top:6px;padding-top:5px;border-top:1px solid var(--br2);}
.ctx-hex-preview{width:14px;height:14px;border-radius:3px;flex-shrink:0;background:var(--sur2);border:1px solid var(--br2);}
.ctx-hex-inp{flex:1;background:transparent;border:none;outline:none;font-family:var(--mono);font-size:9px;color:var(--tx);padding:0;min-width:0;}
.ctx-hex-inp::placeholder{color:var(--txm);}
/* Scene color dot in outline */
.on-sc-color{width:12px;height:12px;border-radius:50%;border:1.5px solid var(--br2);cursor:pointer;flex-shrink:0;transition:border-color .12s;background:var(--sur2);}
.on-sc-color:hover{border-color:var(--gdim);}
.on-sc-color.has-color{border-color:transparent;}
.entity-page-meta{flex:1;min-width:0;}
.entity-page-name{
  font-family:var(--cin);font-size:1.5rem;letter-spacing:.04em;
  color:var(--gold);font-weight:400;margin-bottom:.2rem;
  background:transparent;border:none;outline:none;width:100%;
  padding:0;
}
.entity-page-name::placeholder{color:var(--txm);font-style:normal;}
.entity-page-name:focus{border-bottom:1px dashed var(--gdim);}
.entity-page-tag{
  font-family:var(--mono);font-size:9px;color:var(--txm);
  background:transparent;border:none;outline:none;width:100%;
  padding:0;letter-spacing:.05em;
}
.entity-page-tag::placeholder{color:var(--txm);opacity:.4;}
.entity-page-actions{display:flex;gap:6px;flex-shrink:0;}
.entity-page-action{
  background:none;border:1px solid var(--br2);border-radius:3px;
  color:var(--txm);cursor:pointer;font-family:var(--mono);font-size:9px;
  letter-spacing:.08em;text-transform:uppercase;padding:5px 10px;
  transition:all .15s;
}
.entity-page-action:hover{border-color:var(--gdim);color:var(--gdim);}
.entity-page-action.dng:hover{border-color:rgba(192,88,48,.4);color:var(--ember);}

/* ── Block system ── */
.entity-blocks{display:flex;flex-direction:column;}
.entity-block{position:relative;padding:14px 22px 14px 20px;border-bottom:1px solid var(--br3);}
.entity-block:first-child{border-top:1px solid var(--br3);}
.eblock-drag{position:absolute;left:0;top:16px;font-size:11px;color:var(--txm);cursor:grab;
  opacity:0;transition:opacity .15s;user-select:none;padding:2px 3px;line-height:1;}
.entity-block:hover .eblock-drag{opacity:.45;}
.entity-block.eb-dragging{opacity:.35;}
.entity-block.eb-drag-over{border-top:2px solid var(--gold);}

/* Fields block */
.eblock-fields-hdr{display:flex;align-items:center;gap:6px;margin-bottom:.75rem;padding-bottom:.4rem;border-bottom:1px solid var(--br);}
.eblock-label-inp{flex:1;background:transparent;border:none;outline:none;
  font-family:var(--cin);font-size:.82rem;letter-spacing:.08em;color:var(--gdim);padding:0;min-width:0;}
.eblock-label-inp::placeholder{color:var(--txm);}
.eblock-ctrl-btn{background:none;border:1px solid var(--br2);border-radius:2px;color:var(--txm);
  cursor:pointer;font-family:var(--mono);font-size:8px;letter-spacing:.08em;text-transform:uppercase;
  padding:3px 8px;transition:all .15s;flex-shrink:0;}
.eblock-ctrl-btn:hover{border-color:var(--gdim);color:var(--gdim);}
/* Chart block on entity pages */
.entity-block-chart .eblock-inner{padding:6px 0;}
.eblock-chart-pick-btn{display:block;width:100%;padding:28px 12px;background:none;border:2px dashed var(--br2);border-radius:6px;color:var(--txm);font-size:.8rem;cursor:pointer;text-align:center;transition:border-color .15s,color .15s;}
.eblock-chart-pick-btn:hover{border-color:var(--gold);color:var(--gold);}
.eblock-chart-preview{width:100%;overflow:hidden;border-radius:6px;}
.eblock-chart-preview .charc-asset{max-width:100%;overflow:hidden;}
.eblock-chart-preview .charc-composite-inner{width:100%;}
.eblock-chart-preview .charc-composite-child{min-width:0;flex:1;}
.eblock-chart-ctrls{display:flex;gap:6px;margin-top:8px;justify-content:flex-end;}
.eblock-fields-grid{display:grid;grid-template-columns:1fr 1fr;gap:1.4rem;}
@media(max-width:680px){.eblock-fields-grid{grid-template-columns:1fr;}}
.eblock-empty{color:var(--txm);font-family:var(--mono);font-size:.78rem;padding:10px 0;text-align:center;}
.entity-field{position:relative;margin-bottom:.6rem;}
.entity-field textarea{
  width:100%;background:var(--bg2);border:1px solid var(--br);border-radius:3px;
  color:var(--tx);font-family:var(--serif);font-size:.98rem;line-height:1.75;
  padding:8px 11px;outline:none;resize:none;min-height:60px;transition:border-color .15s;overflow:hidden;
}
[data-theme="daylight"] .entity-field textarea{background:#ffffff;}
.entity-field textarea:focus{border-color:var(--gdim);}
.entity-field textarea::placeholder{color:var(--txm);font-style:italic;}
.eblock-field-lbl{font-family:var(--mono);font-size:8px;letter-spacing:.13em;text-transform:uppercase;
  color:var(--txm);background:transparent;border:none;border-bottom:1px solid transparent;
  outline:none;width:100%;margin-bottom:4px;padding:0;cursor:text;display:block;}
.eblock-field-lbl:focus{border-bottom-color:var(--br2);}
.eblock-field-del{position:absolute;top:0;right:0;background:none;border:none;cursor:pointer;
  font-size:9px;color:var(--ember);opacity:0;transition:opacity .15s;padding:2px 4px;}

/* Image block */
.eblock-image-ph{display:flex;align-items:center;justify-content:center;
  min-height:80px;border:1px dashed var(--br2);border-radius:4px;}
.eblock-image-attach{display:inline-flex;align-items:center;gap:6px;background:none;border:none;
  cursor:pointer;color:var(--txm);font-family:var(--mono);font-size:9px;
  letter-spacing:.08em;text-transform:uppercase;transition:color .15s;}
.eblock-image-attach:hover{color:var(--gold);}
.eblock-img-resize{position:absolute;top:0;right:0;bottom:0;width:10px;cursor:col-resize;z-index:2;}
.eblock-img-resize::after{content:'';position:absolute;top:50%;right:50%;transform:translate(50%,-50%);
  width:2px;height:40px;background:var(--br2);border-radius:2px;transition:background .15s;}
.entity-img-card:hover .eblock-img-resize::after{background:var(--gold);}
.eblock-image-change{position:absolute;bottom:6px;right:6px;background:rgba(0,0,0,.55);border:none;
  border-radius:3px;color:#fff;cursor:pointer;padding:4px 6px;opacity:0;transition:opacity .15s;}
.entity-img-card:hover .eblock-image-change{opacity:1;}

/* Text block */
.eblock-text-hdr{display:flex;align-items:center;gap:6px;margin-bottom:.5rem;
  padding-bottom:.4rem;border-bottom:1px solid var(--br);}

/* Divider block */
.eblock-divider-line{height:1px;background:var(--br);margin:4px 0;}

/* Add block */
.eblock-add-wrap{position:relative;margin-top:.5rem;display:flex;justify-content:center;}
.eblock-picker{display:none;flex-direction:row;gap:4px;flex-wrap:wrap;
  background:var(--bg2);border:1px solid var(--br2);border-radius:4px;
  padding:6px;box-shadow:0 4px 20px rgba(0,0,0,.4);
  position:absolute;bottom:calc(100% + 4px);left:0;z-index:50;}
.eblock-picker.open{display:flex;}
.eblock-pick-opt{background:none;border:1px solid var(--br);border-radius:3px;color:var(--txd);
  cursor:pointer;font-family:var(--mono);font-size:9px;letter-spacing:.06em;
  padding:5px 12px;white-space:nowrap;transition:all .15s;}
.eblock-pick-opt:hover{border-color:var(--gdim);color:var(--gold);}
/* Column rows */
.eblock-row{display:flex;align-items:flex-start;}
.eblock-col{flex:1;min-width:0;border-right:1px solid var(--br3);}
.eblock-col:last-child{border-right:none;}
.eblock-col .entity-block{border-top:none!important;}
/* Side drag indicators */
.entity-block.eb-drag-left{box-shadow:inset 3px 0 0 var(--gold);}
.entity-block.eb-drag-right{box-shadow:inset -3px 0 0 var(--gold);}
/* Top add-block picker opens downward */
.eblock-add-wrap.top{margin-top:0;margin-bottom:.5rem;justify-content:flex-start;}
.eblock-add-wrap.top .eblock-picker{top:calc(100% + 4px);bottom:auto;}
.eblock-add-wrap.top .entity-add-section{font-size:10px;padding:6px 14px;width:auto;border-style:solid;border-color:rgba(180,140,80,.5);margin-top:0;}

/* Section block inside entity page */
.entity-section{
  border:1px solid var(--br);border-radius:4px;
  margin-bottom:1rem;overflow:hidden;
  background:var(--sur);
}
.entity-section.active-section{border-color:var(--gdim);}
.entity-section-hd{
  display:flex;align-items:center;gap:8px;
  padding:8px 12px;background:var(--bg3);
  border-bottom:1px solid var(--br3);
}
.entity-section-title{
  flex:1;background:transparent;border:none;outline:none;
  font-family:var(--cin);font-size:.88rem;letter-spacing:.03em;
  color:var(--gold);padding:0;min-width:0;
}
.entity-section-title::placeholder{color:var(--txm);}
.entity-section-title:focus{border-bottom:1px solid rgba(180,140,80,.25);}
.entity-section-acts{display:flex;gap:2px;margin-left:auto;flex-shrink:0;}
.entity-section-act{
  background:none;border:none;cursor:pointer;font-size:10px;
  color:var(--txm);padding:2px 5px;font-family:var(--mono);transition:color .15s;
}
.entity-section-act:hover{color:var(--gold);}
.entity-section-act.del:hover{color:var(--ember);}
.eblock-open-doc{font-size:12px;}
.entity-section-body{padding:10px 12px;overflow:hidden;}
.entity-section:hover .entity-section-body{overflow:auto;}
.entity-section-ta{
  width:100%;background:transparent;border:none;outline:none;
  color:var(--txd);font-family:var(--serif);font-size:.98rem;line-height:1.75;
  resize:none;min-height:60px;padding:0;overflow:hidden;
}
.entity-section-ta:focus{color:var(--tx);}
.entity-section-ta::placeholder{color:var(--txm);font-style:italic;}
.eblock-text-prose{
  width:100%;outline:none;min-height:60px;
  color:var(--txd);font-family:var(--serif);font-size:.98rem;line-height:1.75;
  word-wrap:break-word;
}
.eblock-text-prose:focus{color:var(--tx);}
.eblock-text-prose p{margin:0 0 .4em;}
.eblock-text-prose p:last-child{margin-bottom:0;}
.eblock-text-prose strong,.eblock-text-prose b{font-weight:700;}
.eblock-text-prose em,.eblock-text-prose i{font-style:italic;}
.eblock-text-prose u{text-decoration:underline;}
.eblock-text-prose h1,.eblock-text-prose h2,.eblock-text-prose h3{font-family:var(--serif);margin:.6em 0 .2em;line-height:1.3;}
.eblock-text-prose ul,.eblock-text-prose ol{padding-left:1.4em;margin:0 0 .4em;}
.eblock-text-prose img{max-width:100%;border-radius:3px;display:block;margin:.4em 0;}
.eblock-text-prose blockquote{border-left:2px solid var(--br3);margin:0 0 .4em;padding-left:.8em;color:var(--txm);}
.eblock-text-prose.is-empty::before{content:attr(data-placeholder);color:var(--txm);font-style:italic;pointer-events:none;display:block;}
.entity-add-section{
  display:flex;align-items:center;justify-content:center;gap:8px;width:auto;
  background:transparent;border:1px dashed rgba(180,140,80,.18);
  border-radius:4px;padding:6px 14px;cursor:pointer;color:var(--txm);
  font-family:var(--mono);font-size:10px;letter-spacing:.1em;text-transform:uppercase;
  transition:all .15s;margin-top:.5rem;
}
.entity-add-section:hover{border-color:var(--gdim);color:var(--gdim);}

/* Entity image card (shared) */
.entity-img-card{border:1px solid var(--br2);border-radius:6px;overflow:hidden;background:var(--sur);position:relative;}
.entity-img-card img{width:100%;display:block;object-fit:contain;}
/* Images tab grid cards */
.img-card{position:relative;border:1px solid var(--br2);border-radius:6px;overflow:hidden;background:var(--sur);transition:box-shadow .12s;}
.img-card-prev{height:130px;background:center/cover no-repeat;cursor:pointer;}
.img-card-foot{padding:6px 8px;display:flex;align-items:center;gap:4px;}
.img-card-name{font-family:var(--mono);font-size:8px;color:var(--txm);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex:1;cursor:text;}
.img-card-name:hover{color:var(--txd);}
.img-card-del{background:none;border:none;color:var(--txd);cursor:pointer;font-size:11px;padding:0 2px;flex-shrink:0;opacity:0;transition:opacity .15s;}
.img-card:hover .img-card-del{opacity:.6;}
.img-card-del:hover{color:var(--ember);opacity:1!important;}
.img-card.img-card-dragging{opacity:.35;}
.img-card.img-card-drag-over{box-shadow:inset 0 0 0 2px var(--gold);}
.entity-img-picker{position:fixed;z-index:2000;background:var(--bg2);border:1px solid var(--br2);border-radius:8px;box-shadow:0 8px 32px rgba(0,0,0,.5);min-width:240px;max-width:340px;}
.entity-img-pick-item{height:72px;border-radius:4px;cursor:pointer;border:2px solid transparent;background:center/cover no-repeat;transition:border-color .12s;}
.entity-img-pick-item:hover,.entity-img-pick-item.selected{border-color:var(--gold);}
.entity-img-pick-none{background:var(--bg3);display:flex;align-items:center;justify-content:center;}
.entity-img-pick-none::after{content:'✕';font-size:18px;color:var(--txm);}
/* Section-level image */
.entity-section-body.has-img{display:flex;gap:12px;align-items:flex-start;}
.entity-section-body.has-img .entity-section-ta{flex:1;min-width:0;}
.entity-section-img{width:200px;flex-shrink:0;}
.entity-section-img img{width:100%;display:block;border-radius:4px;object-fit:cover;}

/* Entity page empty state */
.entity-none{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;text-align:center;}
.entity-none h3{font-family:var(--cin);font-size:1.2rem;margin:0 0 8px;color:var(--tx);}
.entity-none p{font-size:.85rem;color:var(--txm);margin:0 0 20px;}
.entity-none-add-btn{width:auto;font-style:italic;}

/* Sketch section header and drag */
.entity-field{position:relative;margin-bottom:1rem;}
/* Section drag handle in header */
.entity-section-hd{cursor:grab;}
.entity-section-hd:active{cursor:grabbing;}
.entity-section.es-dragging{opacity:.3;outline:1px dashed var(--gdim);}
.entity-section.es-drag-over{outline:2px solid var(--gold);}
/* Section body should NOT be draggable */
.entity-section-body{cursor:default;}
.entity-section-body textarea{cursor:text;}
/* stat-btn: make the words-written stat look like a pc card */
.stat-btn{cursor:pointer;}
.stat-btn:hover{background:var(--gfaint) !important;}
[data-theme="daylight"] .stat-btn:hover{background:rgba(0,0,0,.05) !important;}
.stat-btn .hint{opacity:0;transition:opacity .15s;}
.stat-btn:hover .hint{opacity:.7;}


/* ═══════════════════════════════════════
   FRONT MATTER
═══════════════════════════════════════ */
.fm-section{margin-bottom:1.4rem;border:1px solid var(--br);border-radius:4px;overflow:hidden;}
.fm-section-hd{display:flex;align-items:center;gap:8px;padding:9px 14px 8px;background:rgba(0,0,0,.04);border-bottom:1px solid var(--br3);cursor:pointer;user-select:none;}
.fm-section-hd:hover{background:var(--sur);}
.fm-badge{font-family:var(--mono);font-size:8px;letter-spacing:.1em;text-transform:uppercase;padding:2px 6px;border-radius:2px;background:rgba(180,140,80,.1);color:var(--gdim);flex-shrink:0;}
.fm-title{font-family:var(--cin);font-size:.88rem;letter-spacing:.04em;color:var(--txd);flex:1;}
.fm-chev{color:var(--txm);font-size:10px;transition:transform .18s;flex-shrink:0;}
.fm-chev.closed{transform:rotate(-90deg);}
.fm-section-body{padding:14px 16px;}
.fm-section-body.hidden{display:none;}
.fm-field{margin-bottom:14px;}
.fm-field:last-child{margin-bottom:0;}
.fm-field label{font-family:var(--mono);font-size:9px;letter-spacing:.14em;text-transform:uppercase;color:var(--txm);display:block;margin-bottom:5px;}
.fm-field input,.fm-field textarea{width:100%;background:var(--bg3);border:1px solid var(--br);border-radius:3px;color:var(--tx);font-family:var(--serif);font-size:.98rem;padding:8px 11px;outline:none;}
.fm-field input:focus,.fm-field textarea:focus{border-color:var(--gdim);}
.fm-field textarea{resize:vertical;min-height:80px;line-height:1.7;}
.fm-field input::placeholder,.fm-field textarea::placeholder{color:var(--txm);font-style:italic;}

/* ═══════════════════════════════════════
   FM v2 — EDITOR SHELL
═══════════════════════════════════════ */
.fm-v2-editor-root{display:flex;flex-direction:column;height:100%;overflow:hidden;background:var(--bg2);}
.fm-v2-body-row{flex:1;display:flex;flex-direction:row;min-height:0;overflow:hidden;}

/* Left pane — element list (replaces pages pane in editor) */
.fm-v2-elements-pane{width:200px;flex-shrink:0;display:flex;flex-direction:column;border-right:1px solid var(--br);background:var(--bg2);overflow:hidden;transition:width var(--sb-transition),background .3s,border-color .3s;position:relative;}
.fm-v2-elements-pane.fm-ep-collapsed{width:var(--sb-collapsed);cursor:pointer;}
.fm-v2-elements-pane.fm-ep-collapsed:hover{border-right-color:var(--gdim);}
.fm-v2-elements-pane.fm-ep-collapsed #fm-v2-elements-list,
.fm-v2-elements-pane.fm-ep-collapsed .fm-v2-elements-footer{display:none;}
.fm-v2-elements-pane.fm-ep-collapsed .fm-v2-elements-title{display:none;}
.fm-v2-elements-pane.fm-ep-collapsed .fm-v2-elements-header{padding:11px 0;justify-content:center;border-bottom:none;flex:1;min-height:0;}
.fm-v2-elements-pane.fm-ep-collapsed .sn-toggle{transform:scaleX(-1);}
.fm-v2-elements-pane.fm-ep-collapsed .sb-resize-handle{display:none;}
.fm-v2-elements-header{display:flex;align-items:center;justify-content:space-between;padding:11px 10px 10px 13px;border-bottom:1px solid var(--br3);flex-shrink:0;min-height:42px;}
.fm-v2-elements-title{font-family:var(--mono);font-size:9px;letter-spacing:.14em;text-transform:uppercase;color:var(--txm);flex:1;}
.fm-v2-elements-list{flex:1;overflow-y:auto;padding:4px;}
.fm-v2-elements-footer{display:grid;grid-template-columns:repeat(4,1fr);gap:4px;padding:6px 8px;border-top:1px solid var(--br3);flex-shrink:0;}
.fm-v2-el-item{display:flex;align-items:center;gap:7px;padding:5px 8px;border-radius:5px;cursor:pointer;user-select:none;border:1px solid transparent;margin-bottom:2px;transition:background .1s,border-color .1s;}
.fm-v2-el-item:hover{background:var(--sur);}
.fm-v2-el-item.fm-v2-sel{background:var(--gfaint);border-color:var(--gdim);}
.fm-v2-el-item.fm-v2-el-dragging{opacity:.4;}
.fm-v2-el-drop-line{height:2px;background:var(--gold);border-radius:1px;margin:1px 4px;pointer-events:none;}
.fm-v2-el-item-icon{display:flex;align-items:center;justify-content:center;color:var(--txd);width:16px;height:16px;flex-shrink:0;}
.fm-v2-el-item-name{font-size:.74rem;color:var(--tx);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;flex:1;font-family:var(--serif);}
.fm-v2-el-empty{padding:16px 10px;font-size:.75rem;color:var(--txm);text-align:center;line-height:1.6;}

/* Left pane — page list (now in sidebar, styles kept for card rendering) */
.fm-v2-pages-pane{width:220px;flex-shrink:0;display:flex;flex-direction:column;border-right:1px solid var(--br);background:var(--bg2);overflow:hidden;}
.fm-v2-pages-header{display:flex;align-items:center;justify-content:space-between;padding:10px 12px;border-bottom:1px solid var(--br3);flex-shrink:0;}
.fm-v2-pages-title{font-family:var(--mono);font-size:9px;letter-spacing:.14em;text-transform:uppercase;color:var(--txm);}
.fm-v2-add-btn{font-family:var(--mono);font-size:9px;padding:4px 9px;border-radius:4px;background:var(--gfaint);color:var(--gold);border:1px solid var(--gdim);cursor:pointer;white-space:nowrap;}
.fm-v2-add-btn:hover{background:var(--sur);color:var(--tx);}
.fm-v2-pages-list{flex:1;overflow-y:auto;padding:6px;}
.fm-v2-pages-empty{padding:20px 12px;font-size:.78rem;color:var(--txm);text-align:center;line-height:1.6;}
.fm-v2-page-card{display:flex;align-items:center;gap:8px;padding:6px 8px;border-radius:6px;cursor:pointer;user-select:none;border:1px solid transparent;transition:background .1s,border-color .1s;margin-bottom:3px;}
.fm-v2-page-card:hover{background:var(--sur);}
.fm-v2-page-card.active{background:var(--gfaint);border-color:var(--gdim);}
.fm-v2-page-card.drag-over{border-color:var(--gold);background:rgba(200,164,90,.08);}
.fm-v2-page-card.dragging{opacity:.4;}
.fm-v2-card-thumb{width:36px;height:48px;flex-shrink:0;background:var(--bg3);border:1px solid var(--br);border-radius:2px;position:relative;display:flex;align-items:flex-start;justify-content:flex-end;padding:2px;}
.fm-v2-card-badge{font-family:var(--mono);font-size:7px;color:var(--txm);line-height:1;}
.fm-v2-card-info{flex:1;min-width:0;}
.fm-v2-card-name{font-size:.78rem;color:var(--tx);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-family:var(--serif);}
.fm-v2-card-type{font-family:var(--mono);font-size:7.5px;letter-spacing:.08em;text-transform:uppercase;color:var(--txm);margin-top:1px;}
.fm-v2-card-pos{font-family:var(--mono);font-size:7px;letter-spacing:.06em;text-transform:uppercase;margin-top:3px;padding:1px 5px;border-radius:2px;display:inline-block;width:fit-content;}
.fm-v2-card-pos-front{background:rgba(122,189,138,.18);color:var(--grn);}
.fm-v2-card-pos-back{background:rgba(122,170,204,.18);color:var(--smoke);}
.fm-v2-card-pos-body{background:var(--sur2);color:var(--txm);}
.fm-v2-section-hdr{font-family:var(--mono);font-size:8px;letter-spacing:.1em;text-transform:uppercase;color:var(--txm);padding:10px 8px 4px;opacity:.6;border-radius:4px;transition:background .12s,opacity .12s;}
.fm-v2-section-hdr:first-child{padding-top:4px;}
.fm-v2-section-hdr-drop{background:var(--gfaint)!important;opacity:1!important;outline:1px dashed var(--gdim);}

/* Center pane — canvas */
.fm-v2-canvas-toolbar{display:flex;align-items:center;gap:6px;padding:6px 12px;border-bottom:1px solid var(--br3);flex-shrink:0;background:var(--bg2);}
.fm-v2-nav-btn{width:26px;height:26px;border-radius:4px;border:1px solid var(--br);background:var(--bg3);color:var(--tx);cursor:pointer;font-size:13px;display:flex;align-items:center;justify-content:center;}
.fm-v2-nav-btn:hover:not(:disabled){background:var(--sur);}
.fm-v2-nav-btn:disabled{opacity:.35;cursor:default;}
.fm-v2-page-label{font-family:var(--mono);font-size:10px;color:var(--txm);min-width:90px;text-align:center;}
.fm-v2-canvas-spacer{flex:1;}
.fm-v2-zoom-sel{font-family:var(--mono);font-size:10px;padding:3px 6px;border-radius:4px;border:1px solid var(--br);background:var(--bg3);color:var(--tx);}
.fm-v2-canvas-scroll{flex:1;overflow:auto;display:flex;align-items:flex-start;justify-content:center;padding:32px 24px;background:#f2f2f2;min-width:0;}
[data-theme="moonlight"] .fm-v2-canvas-scroll,[data-theme="steampunk"] .fm-v2-canvas-scroll,[data-theme="sci"] .fm-v2-canvas-scroll{background:var(--bg);}
.fm-v2-page-mock{position:relative;box-shadow:0 1px 6px rgba(0,0,0,.18);border-radius:2px;flex-shrink:0;}
.fm-v2-page-frame{position:absolute;inset:0;overflow:hidden;}
.fm-v2-empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;align-self:stretch;width:100%;text-align:center;color:var(--txd);}
.fm-v2-empty-state h3{font-family:var(--cin);font-size:1.2rem;margin:0 0 8px;color:var(--tx);}
.fm-v2-empty-state p{font-size:.85rem;color:var(--txm);margin:0 0 20px;}
.fm-v2-empty-btns{display:flex;gap:10px;flex-wrap:wrap;justify-content:center;}

/* Right pane — inspector */
.fm-v2-inspector-wrap{width:300px;flex-shrink:0;position:relative;display:flex;flex-direction:column;transition:width var(--sb-transition);overflow:hidden;}
.fm-v2-insp-hdr{display:flex;align-items:center;justify-content:space-between;padding:11px 10px 10px 13px;border-bottom:1px solid var(--br3);flex-shrink:0;min-height:42px;background:var(--bg2);}
.fm-v2-insp-title{font-family:var(--mono);font-size:9px;letter-spacing:.14em;text-transform:uppercase;color:var(--txm);flex:1;}
.fm-v2-inspector-wrap.fm-insp-collapsed{width:var(--sb-collapsed);cursor:pointer;}
.fm-v2-inspector-wrap.fm-insp-collapsed:hover{border-left-color:var(--gdim);}
.fm-v2-inspector-wrap.fm-insp-collapsed .fm-v2-inspector-pane{display:none;}
.fm-v2-inspector-wrap.fm-insp-collapsed .fm-v2-insp-title{display:none;}
.fm-v2-inspector-wrap.fm-insp-collapsed .fm-v2-insp-hdr{padding:11px 0;justify-content:center;border-bottom:none;flex:1;min-height:0;}
.fm-v2-inspector-wrap.fm-insp-collapsed .sn-toggle{transform:scaleX(-1);}
.fm-v2-inspector-wrap.fm-insp-collapsed #fm-v2-insp-resize{display:none;}
.fm-v2-inspector-pane{flex:1;min-width:0;border-left:1px solid var(--br);background:var(--bg2);overflow-y:auto;display:flex;flex-direction:column;}
.fm-v2-insp-empty{padding:24px 16px;font-size:.8rem;color:var(--txm);text-align:center;}
.fm-v2-insp-section{border-bottom:1px solid var(--br3);}
.fm-v2-insp-hd{padding:8px 14px;font-family:var(--mono);font-size:9px;letter-spacing:.12em;text-transform:uppercase;color:var(--txm);display:flex;align-items:center;gap:6px;cursor:default;}
.fm-v2-insp-body{padding:6px 14px 10px;}
.fm-v2-insp-row{display:flex;align-items:center;gap:8px;margin-bottom:7px;}
.fm-v2-insp-row:last-child{margin-bottom:0;}
.fm-v2-insp-lbl{font-family:var(--mono);font-size:9px;letter-spacing:.1em;text-transform:uppercase;color:var(--txm);min-width:56px;flex-shrink:0;}
.fm-v2-insp-ctrl{flex:1;}
.fm-v2-insp-disabled{opacity:.45;pointer-events:none;}
.fm-v2-insp-coming{font-size:7px;opacity:.6;margin-left:auto;}
.fm-v2-insp-danger{padding:12px 14px;margin-top:auto;}
.fm-v2-insp-note{font-size:.75rem;color:var(--txm);font-style:italic;padding:2px 0 4px;}
.btn-danger{background:color-mix(in srgb,var(--ember) 10%,transparent);border:1px solid color-mix(in srgb,var(--ember) 40%,transparent);border-radius:3px;color:var(--ember);font-family:var(--mono);font-size:10px;letter-spacing:.06em;text-transform:uppercase;cursor:pointer;padding:8px 12px;width:100%;text-align:center;transition:all .15s;}
.btn-danger:hover{background:color-mix(in srgb,var(--ember) 22%,transparent);border-color:color-mix(in srgb,var(--ember) 70%,transparent);}

/* Toggle switch */
.fm-v2-toggle{display:inline-flex;align-items:center;cursor:pointer;flex-shrink:0;}
.fm-v2-toggle input{position:absolute;opacity:0;width:0;height:0;}
.fm-v2-toggle-track{width:28px;height:16px;border-radius:8px;background:var(--br2);transition:background .15s;position:relative;flex-shrink:0;}
.fm-v2-toggle-track::after{content:'';position:absolute;left:2px;top:2px;width:12px;height:12px;border-radius:50%;background:#fff;transition:transform .15s;}
.fm-v2-toggle input:checked+.fm-v2-toggle-track{background:var(--gold);}
.fm-v2-toggle input:checked+.fm-v2-toggle-track::after{transform:translateX(12px);}

/* Number input for margins */
.fm-v2-num-inp{width:70px;padding:3px 6px;border:1px solid var(--br);border-radius:3px;background:var(--bg3);color:var(--tx);font-family:var(--mono);font-size:10px;text-align:right;}
.fm-v2-num-inp:focus{outline:none;border-color:var(--gdim);}

/* Background controls */
.fm-v2-color-row{display:flex;align-items:center;gap:6px;}
.fm-v2-bg-swatch{width:20px;height:20px;border-radius:3px;border:1px solid rgba(128,128,128,.3);cursor:pointer;flex-shrink:0;}
.fm-v2-hex-inp{flex:1;padding:3px 6px;border:1px solid var(--br);border-radius:3px;background:var(--bg3);color:var(--tx);font-family:var(--mono);font-size:10px;}
.fm-v2-hex-inp:focus{outline:none;border-color:var(--gdim);}
.fm-v2-img-btn{padding:4px 10px;border-radius:4px;border:1px solid var(--br);background:var(--bg3);color:var(--tx);font-family:var(--mono);font-size:9px;cursor:pointer;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%;}
.fm-v2-img-btn:hover{background:var(--sur);}

/* ── FM v2: Mode B inspector (Phase E) ── */
.fm-v2-insp-unit{font-family:var(--mono);font-size:9px;color:var(--txm);flex-shrink:0;}
.fm-v2-insp-breadcrumb{display:flex;align-items:center;gap:8px;padding:8px 14px;border-bottom:1px solid var(--br3);background:var(--bg2);flex-shrink:0;}
.fm-v2-back-btn{background:none;border:none;color:var(--gdim);font-family:var(--mono);font-size:9px;letter-spacing:.08em;cursor:pointer;padding:2px 4px;border-radius:3px;}
.fm-v2-back-btn:hover{background:var(--bg3);color:var(--gold);}
.fm-v2-el-kind-label{font-family:var(--mono);font-size:9px;letter-spacing:.12em;text-transform:uppercase;color:var(--txm);margin-left:auto;}
.fm-v2-btn-group{display:inline-flex;border:1px solid var(--br);border-radius:4px;overflow:hidden;flex-shrink:0;}
.fm-v2-btn-grp-btn{padding:3px 7px;border:none;border-right:1px solid var(--br);background:var(--bg3);color:var(--tx);font-size:11px;cursor:pointer;line-height:1;}
.fm-v2-btn-grp-btn:last-child{border-right:none;}
.fm-v2-btn-grp-btn:hover{background:var(--sur);}
.fm-v2-btn-grp-btn.fm-v2-active{background:var(--gfaint);color:var(--gold);}
.fm-v2-orn-grid{display:flex;flex-wrap:wrap;gap:3px;padding:4px 0;}
.fm-v2-orn-btn{width:28px;height:28px;border:1px solid var(--br);border-radius:3px;background:var(--bg3);color:var(--tx);font-size:13px;cursor:pointer;display:flex;align-items:center;justify-content:center;padding:0;overflow:hidden;}
.fm-v2-orn-btn:hover{border-color:var(--gdim);}
.fm-v2-orn-btn.fm-v2-active{border-color:var(--gold);background:var(--gfaint);}
.fm-v2-orn-row{align-items:flex-start;}
.fm-v2-brd-picker{display:flex;flex-wrap:wrap;gap:5px;padding:2px 0;}
.fm-v2-brd-btn{display:flex;flex-direction:column;align-items:center;gap:3px;background:none;border:2px solid transparent;border-radius:5px;padding:4px 3px;cursor:pointer;transition:border-color .12s;}
.fm-v2-brd-btn:hover{border-color:var(--br2);}
.fm-v2-brd-btn.fm-v2-active{border-color:var(--gold);background:var(--gfaint);}
.fm-v2-brd-thumb{width:44px;height:58px;position:relative;overflow:hidden;background:#f7f4ef;border-radius:2px;}
.fm-v2-brd-thumb *{pointer-events:none;}
.dark .fm-v2-brd-thumb{background:#1e1b18;}
.fm-v2-brd-lbl{font-size:9px;color:var(--tx3);white-space:nowrap;}
.fm-v2-dstyle-btn{width:62px;height:24px;border:1px solid var(--br);border-radius:3px;background:var(--bg3);cursor:pointer;display:flex;align-items:center;justify-content:center;padding:0 4px;overflow:hidden;}
.fm-v2-dstyle-btn:hover{border-color:var(--gdim);}
.fm-v2-dstyle-btn.fm-v2-active{border-color:var(--gold);background:var(--gfaint);}
.fm-v2-add-el-row{display:grid;grid-template-columns:repeat(4,1fr);gap:4px;padding:6px 14px 10px;}
.fm-v2-add-el-btn{padding:5px 4px;border:1px solid var(--br);border-radius:4px;background:var(--bg3);color:var(--txd);cursor:pointer;display:flex;align-items:center;justify-content:center;position:relative;}
.fm-v2-add-el-btn:hover{border-color:var(--gdim);color:var(--gold);background:var(--gfaint);}
.fm-v2-add-el-border{color:transparent!important;}
.fm-v2-add-el-border::after{content:'';position:absolute;inset:3px;border:1.5px solid var(--txm);border-radius:2px;}
.fm-v2-add-el-border:hover::after{border-color:var(--gold);}
.fm-v2-el-actions{display:flex;gap:4px;padding:10px 14px;border-top:1px solid var(--br3);background:var(--bg2);margin-top:auto;flex-shrink:0;}
.fm-v2-el-act-btn{flex:1;padding:5px 4px;border:1px solid var(--br);border-radius:4px;background:var(--bg3);color:var(--txm);font-size:13px;cursor:pointer;text-align:center;}
.fm-v2-el-act-btn:hover:not(:disabled){border-color:var(--gdim);color:var(--tx);background:var(--sur);}
.fm-v2-el-act-btn:disabled{opacity:.35;cursor:not-allowed;}
.fm-v2-el-danger{color:var(--red,#c0392b);}
.fm-v2-el-danger:hover:not(:disabled){border-color:var(--red,#c0392b)!important;color:var(--red,#c0392b)!important;}
/* element selection ring */
.fm-v2-element.fm-v2-sel{outline:2px solid var(--gold);outline-offset:2px;}
/* anchor position grid */
.fm-v2-anchor-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:3px;}
.fm-v2-anchor-btn{padding:5px;border:1px solid var(--br);border-radius:3px;background:var(--bg3);color:var(--txm);font-size:12px;cursor:pointer;text-align:center;line-height:1;}
.fm-v2-anchor-btn:hover{border-color:var(--gdim);background:var(--sur);}
.fm-v2-anchor-btn.fm-v2-active{border-color:var(--gold);background:var(--gfaint);color:var(--gold);}

/* ── FM v2: template layouts ── */
.fmtpl{width:100%;height:100%;box-sizing:border-box;position:relative;overflow:hidden;}
.fm-clip-off .fmtpl,.fm-clip-off .fmtpl-slot{overflow:visible;}
.fmtpl-framed{outline:2px solid var(--br);}
.fmtpl-full-bleed{position:relative;width:100%;height:100%;}
/* Anchor groups — full-width, absolutely positioned by V (T/M/B) + H (L/C/R) */
.fm-v2-anchor-group{position:absolute;left:0;width:100%;display:flex;flex-direction:column;gap:6px;pointer-events:none;}
.fm-v2-anchor-group>*{pointer-events:auto;}
.fm-v2-anchor-T{top:0;}
.fm-v2-anchor-M{top:50%;transform:translateY(-50%);}
.fm-v2-anchor-B{bottom:0;}
.fm-v2-anchor-L{align-items:flex-start;}
.fm-v2-anchor-C{align-items:center;}
.fm-v2-anchor-R{align-items:flex-end;}
/* Free-position elements */
.fm-v2-free{cursor:move;}
.fm-v2-free:not(.fm-v2-mini){outline:1px dashed var(--gold);outline-offset:3px;}
/* Free-position toggle switch — reuses .fm-v2-toggle-track (::after thumb) */
.fm-v2-free-toggle{display:inline-flex;align-items:center;gap:5px;cursor:pointer;font-family:var(--mono);font-size:9px;color:var(--txm);font-weight:normal;}
.fm-v2-free-toggle input{position:absolute;opacity:0;width:0;height:0;}
.fm-v2-toggle-label{letter-spacing:.06em;}
.fm-v2-free-toggle input:checked+.fm-v2-toggle-track{background:var(--gold);}
.fm-v2-free-toggle input:checked+.fm-v2-toggle-track::after{transform:translateX(12px);}
.fmtpl-stack-2{height:100%;display:flex;flex-direction:column;}
.fmtpl-stack-2 .fmtpl-slot{flex:1;display:flex;flex-direction:column;gap:8px;align-items:stretch;overflow:hidden;}

/* ── FM v2: element base ── */
.fm-v2-element{position:relative;}
.fm-v2-text{word-wrap:break-word;cursor:default;}
.fm-v2-text p{margin:0;}
.fm-v2-text p+p{margin-top:var(--fm-para-sp,0.4em);}
.fm-v2-text.fm-v2-editing{outline:2px solid var(--gold);outline-offset:3px;cursor:text;}
.fm-v2-text:not(.fm-v2-mini):hover{outline:1px dashed var(--br2);outline-offset:2px;}
.fm-v2-text.fm-v2-editing:hover{outline:2px solid var(--gold);}
.fm-v2-image{display:flex;align-items:center;justify-content:center;}
.fm-v2-img-placeholder{border:2px dashed var(--br2);background:var(--bg3);width:80%;aspect-ratio:4/3;display:flex;align-items:center;justify-content:center;border-radius:2px;}
.fm-v2-img-ph-label{font-family:var(--mono);font-size:9px;color:var(--txm);text-align:center;padding:0 10px;}
.fm-v2-image:not(.fm-v2-mini):hover{outline:1px dashed var(--br2);outline-offset:2px;cursor:pointer;}
/* Chart element in FM canvas */
.fm-v2-chart{cursor:pointer;}
.fm-v2-chart:not(.fm-v2-mini):hover{outline:1px dashed var(--br2);outline-offset:2px;}
.fm-v2-chart .charc-asset{max-width:100%;overflow:hidden;}
.fm-v2-chart .charc-composite-inner{width:100%;}
.fm-v2-chart .charc-composite-child{min-width:0;flex:1;}
.fm-v2-chart-placeholder{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;padding:24px;border:2px dashed var(--br2);border-radius:4px;color:var(--txm);font-family:var(--mono);font-size:9px;text-align:center;min-height:60px;}
.fm-v2-chart-ph-icon{font-size:20px;opacity:.5;}
.fm-v2-chart-broken{padding:12px;border:1px solid var(--br2);border-radius:4px;color:var(--txm);font-size:9px;text-align:center;}
.fm-v2-chart-mini{display:flex;align-items:center;justify-content:center;background:var(--bg3);border-radius:2px;min-height:20px;font-size:10px;color:var(--txm);}
.fm-v2-insp-note{font-family:var(--mono);font-size:9px;color:var(--txm);padding:2px 0;}
.fm-v2-border{pointer-events:none;}
.fm-v2-border.fm-v2-sel{pointer-events:auto;}
.fm-v2-element.fm-v2-border.fm-v2-sel{outline:none;}
.fm-v2-border.fm-v2-sel::after{content:'';position:absolute;inset:-3px;outline:2px solid var(--gold);outline-offset:0;pointer-events:none;}

/* ── FM v2: mini thumbnail bars ── */
.fm-v2-mini-bar{height:3px;background:var(--br2);border-radius:1px;margin-bottom:3px;width:100%;}
.fm-v2-mini .fm-v2-mini-bar:first-child{background:var(--gdim);height:5px;}

/* Template picker overlay */
.fm-v2-template-picker{position:absolute;inset:0;background:rgba(0,0,0,.55);display:flex;align-items:center;justify-content:center;z-index:200;}
.fm-v2-picker-box{background:var(--sur);border:1px solid var(--br2);border-radius:10px;width:560px;max-height:70vh;display:flex;flex-direction:column;overflow:hidden;box-shadow:0 16px 48px rgba(0,0,0,.6);}
.fm-v2-picker-hd{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;border-bottom:1px solid var(--br3);font-family:var(--cin);font-size:1rem;color:var(--tx);flex-shrink:0;}
.fm-v2-picker-close{width:24px;height:24px;border-radius:4px;border:none;background:transparent;color:var(--txm);cursor:pointer;font-size:14px;}
.fm-v2-picker-close:hover{background:var(--bg3);}
.fm-v2-picker-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;padding:14px;overflow-y:auto;}
.fm-v2-picker-tile{display:flex;flex-direction:column;align-items:center;gap:6px;padding:10px 6px;border-radius:6px;border:1px solid var(--br);background:var(--bg3);cursor:pointer;transition:border-color .1s,background .1s;}
.fm-v2-picker-tile:hover{border-color:var(--gdim);background:var(--gfaint);}
.fm-v2-picker-thumb{width:52px;height:68px;background:var(--bg2);border:1px solid var(--br3);border-radius:2px;}
.fm-v2-picker-name{font-family:var(--mono);font-size:8px;letter-spacing:.08em;text-transform:uppercase;color:var(--txd);text-align:center;line-height:1.3;}

.sb-ms-struct{display:flex;align-items:center;gap:7px;padding:5px 13px 5px;font-family:var(--mono);font-size:8px;letter-spacing:.15em;text-transform:uppercase;cursor:pointer;border-left:2px solid transparent;transition:background .1s;user-select:none;}
.sb-ms-struct-dot{flex-shrink:0;width:10px;text-align:center;}
.sb-ms-struct-name{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.sb-ms-struct.type-act{color:var(--gold);padding-top:10px;}
.sb-ms-struct.type-chapter{color:var(--smoke);padding-left:20px;}
.sb-ms-struct:hover{background:var(--sur);}
.sb-ms-scene-item{display:flex;align-items:center;gap:6px;padding:5px 10px 5px 31px;cursor:pointer;border-left:2px solid transparent;transition:background .1s,border-color .1s;user-select:none;}
.sb-ms-scene-item:hover{background:var(--sur);}
.sb-ms-scene-item.active{background:var(--gfaint);border-left-color:var(--grn);}
.sb-ms-scene-item>.sb-tree-dot{color:var(--grn);}
.sb-ms-scene-name{font-family:var(--serif);font-style:italic;font-size:.75rem;color:var(--txd);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;flex:1;}
.sb-ms-scene-item:hover .sb-ms-scene-name{color:var(--tx);}
.sb-ms-scene-item.active .sb-ms-scene-name{color:var(--tx);}
/* Sidebar nav collapse chevron */
.sb-ms-chev{font-size:8px;color:var(--txm);cursor:pointer;flex-shrink:0;user-select:none;width:10px;text-align:center;transition:color .1s;}
.sb-ms-chev:hover{color:var(--tx);}
/* Sidebar scene drag-and-drop */
.sb-ms-drag-handle{font-family:var(--mono);font-size:10px;color:var(--txm);cursor:grab;opacity:0;flex-shrink:0;user-select:none;transition:opacity .1s;margin-right:-2px;}
.sb-ms-scene-item:hover .sb-ms-drag-handle{opacity:.45;}
.sb-ms-drag-handle:hover{opacity:.9!important;}
.sb-ms-scene-item.sb-ms-dragging{opacity:.35;}
.sb-ms-scene-item.sb-ms-drag-over{border-bottom:2px solid var(--grn);background:var(--gfaint);}
.sb-tree-item.sb-ms-drag-over{background:var(--gfaint);border-left-color:var(--grn);}

/* misc */
.empty-s{text-align:center;padding:3rem 1rem;}
.empty-s .ei{font-size:1.5rem;opacity:.18;margin-bottom:.6rem;}
.empty-s p{font-family:var(--mono);font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:var(--txm);margin-bottom:1rem;}
.savebar{position:fixed;bottom:1.2rem;right:1.4rem;background:var(--sur);border:1px solid var(--br2);border-radius:4px;padding:7px 14px;font-family:var(--mono);font-size:11px;color:var(--gdim);opacity:0;transition:opacity .3s;pointer-events:none;z-index:200;}
.savebar.on{opacity:1;}
.sw-update-bar{position:fixed;bottom:1.2rem;left:1.4rem;background:var(--sur);border:1px solid var(--br2);border-radius:4px;padding:8px 12px;font-family:var(--mono);font-size:11px;color:var(--txm);z-index:201;display:flex;align-items:center;gap:8px;box-shadow:0 2px 12px rgba(0,0,0,.25);}
.sw-update-btn{background:var(--gold);color:#1a1210;border:none;border-radius:3px;font-family:var(--mono);font-size:10px;letter-spacing:.05em;padding:4px 10px;cursor:pointer;transition:opacity .15s;flex-shrink:0;}
.sw-update-btn:hover{opacity:.85;}
.sw-update-dismiss{background:none;border:none;color:var(--txm);cursor:pointer;font-size:14px;padding:0 2px;line-height:1;transition:color .12s;flex-shrink:0;}
.sw-update-dismiss:hover{color:var(--tx);}

/* ══════════════════════════════════════════
   MANUSCRIPT — rich text editor
══════════════════════════════════════════ */
#pane-manuscript{background:var(--bg);}
#ms-wrap{max-width:100%;margin:0 auto;padding:0;min-height:100%;display:flex;flex-direction:column;height:100%;}

/* topbar */
.ms-topbar{
  display:flex;align-items:center;justify-content:space-between;
  padding:6px 20px;border-bottom:1px solid var(--br);
  background:var(--bg2);flex-shrink:0;gap:12px;flex-wrap:wrap;
  transition:background .3s,border-color .3s;
  position:relative;
}
#ms-goal-widget{display:flex;align-items:center;gap:8px;position:absolute;left:50%;transform:translateX(-50%);pointer-events:none;}
.ms-goal-bar-wrap{width:80px;height:4px;background:var(--br2);border-radius:2px;overflow:hidden;flex-shrink:0;}
.ms-goal-bar-fill{height:100%;width:0;background:var(--gold);border-radius:2px;transition:width .5s ease,background .4s;}
.ms-goal-text{font-family:var(--mono);font-size:9px;letter-spacing:.06em;color:var(--txm);white-space:nowrap;}
.ms-title-area{flex:1;min-width:0;}
.ms-proj-eye{display:none;}
.ms-proj-title{font-family:var(--cin);font-size:1.1rem;color:var(--gold);letter-spacing:.06em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}

/* RICH TEXT TOOLBAR */
.rte-toolbar{
  display:flex;align-items:center;
  border-bottom:1px solid var(--br);
  background:var(--bg2);flex-shrink:0;
  transition:background .3s;
  position:sticky;top:0;z-index:10;
}
.rte-toolbar-inner{
  flex:1;display:flex;align-items:center;gap:2px;flex-wrap:nowrap;overflow-x:auto;
  padding:5px var(--ref-panel-w,0px) 5px var(--sb-collapsed,38px);
  justify-content:safe center;
  transition:padding-left var(--sb-transition),padding-right var(--sb-transition);
}
#ms-wrap.ms-tools-open .rte-toolbar-inner{padding-left:var(--ms-tools-w,200px);}
.rt-wc{position:absolute;right:0;top:0;bottom:0;display:flex;align-items:center;}
.rte-toolbar.hidden{display:none;}
.rt-btn{
  font-family:var(--mono);font-size:13px;
  padding:0 7px;border-radius:5px;border:none;
  background:transparent;color:var(--txd);cursor:pointer;
  transition:all .12s;
  height:30px;min-width:26px;
  display:inline-flex;align-items:center;justify-content:center;
  flex-shrink:0;
}
.rt-btn:hover{background:var(--sur2);color:var(--tx);}
.rt-btn.active{background:var(--gfaint);color:var(--gold);border-bottom:1px solid var(--gdim);}
.rt-sep{width:1px;height:22px;background:var(--br2);margin:0 4px;flex-shrink:0;}
/* Checklist in prose */
.rte-checklist{list-style:none;padding-left:0;margin:4px 0;}
.rte-task-item{display:flex;align-items:baseline;gap:6px;padding:2px 0;}
.rte-task-cb{cursor:pointer;user-select:none;flex-shrink:0;font-size:1em;line-height:inherit;}
.rte-task-done{text-decoration:line-through;opacity:.5;}

/* ── FOCUS MODE ── */
/* When active, applied to #pane-manuscript */
#pane-manuscript.focus-mode .ms-topbar{display:none;}
#pane-manuscript.focus-mode .rte-toolbar{display:none;}
#pane-manuscript.focus-mode #top-nav{display:none;}
#pane-manuscript.focus-mode .ms-scene-hd{display:none !important;}
#pane-manuscript.focus-mode .ms-synopsis-toggle{display:none;}
#pane-manuscript.focus-mode .ms-synopsis-body{display:none;}
#pane-manuscript.focus-mode .ms-scene-drag{display:none;}
#pane-manuscript.focus-mode .ms-scene-separator .ms-sep-cut{display:none;}
#pane-manuscript.focus-mode .ms-scene-separator::before{opacity:.2;}
#pane-manuscript.focus-mode .ms-section-annotation{display:none;}
#pane-manuscript.focus-mode .ms-scene-list{padding:4rem 20px 8rem 42px;}
#pane-manuscript.focus-mode .ProseMirror{
  font-size:calc(var(--ms-size) * 1.05 / var(--ui-scale,1));
  line-height:var(--ms-lh);
}
/* Focus mode floating mini-toolbar — now at TOP */
#focus-mini-toolbar{
  position:fixed;top:0;left:50%;transform:translateX(-50%);
  display:none;
  align-items:center;gap:3px;
  background:var(--sur);border:1px solid var(--br2);
  border-radius:0 0 8px 8px;
  padding:6px 10px;
  box-shadow:0 4px 20px rgba(0,0,0,.35);
  z-index:400;
  backdrop-filter:blur(8px);
  transition:opacity .2s;
}
#focus-mini-toolbar.visible{display:flex;}
#focus-mini-toolbar .rt-sep{height:14px;}
#focus-exit-btn{
  font-family:var(--mono);font-size:8px;letter-spacing:.1em;text-transform:uppercase;
  background:none;border:1px solid var(--br2);border-radius:3px;
  color:var(--txm);padding:3px 9px;cursor:pointer;margin-left:6px;
  transition:all .15s;white-space:nowrap;
}
#focus-exit-btn:hover{border-color:var(--gdim);color:var(--gdim);}
/* wc in focus mode */
#focus-wc-display{
  font-family:var(--mono);font-size:9px;color:var(--txm);
  padding-left:8px;border-left:1px solid var(--br2);margin-left:4px;
  white-space:nowrap;
}
.rt-dd-wrap{position:relative;display:inline-block;}
.rt-dd-btn{display:inline-flex;align-items:center;gap:3px;background:transparent;border:none;border-radius:5px;color:var(--tx);font-family:var(--mono);font-size:12px;padding:0 7px;height:30px;cursor:pointer;outline:none;transition:background .12s;}
.rt-dd-btn:hover,.rt-dd-wrap.open .rt-dd-btn{background:rgba(0,0,0,.04);}
.rt-dd-lbl{white-space:nowrap;max-width:130px;overflow:hidden;text-overflow:ellipsis;}
.rt-dd-lbl svg{vertical-align:middle;}
.rt-dd-arr{font-size:8px;opacity:.5;flex-shrink:0;}
.rt-dd-panel{display:none;position:fixed;background:#fff;border:1px solid rgba(0,0,0,.12);border-radius:4px;box-shadow:0 2px 10px rgba(0,0,0,.12);z-index:2000;min-width:160px;padding:3px 0;}
.rt-dd-wrap.open .rt-dd-panel{display:block;}
.rt-dd-item{padding:5px 12px 5px 24px;font-size:12px;cursor:pointer;color:var(--tx);white-space:nowrap;position:relative;}
.rt-dd-item:hover{background:rgba(0,0,0,.04);}
.rt-dd-item::before{content:'';position:absolute;left:8px;top:50%;transform:translateY(-50%);font-size:10px;color:var(--gold);line-height:1;}
.rt-dd-item.rt-dd-chk::before{content:'✓';}
.rt-dd-divider{height:1px;background:rgba(0,0,0,.1);margin:3px 0;}
.rt-wc{font-family:var(--mono);font-size:10px;color:var(--txd);margin-left:auto;white-space:nowrap;}
.rt-char-panel{padding:8px;width:220px;}
.rt-char-section-lbl{font-family:var(--mono);font-size:8px;letter-spacing:.12em;text-transform:uppercase;color:var(--txm);padding:4px 2px 3px;}
.rt-char-grid{display:flex;flex-wrap:wrap;gap:2px;margin-bottom:6px;}
.rt-char-btn{font-size:14px;width:28px;height:28px;display:flex;align-items:center;justify-content:center;border:none;background:transparent;border-radius:3px;cursor:pointer;color:var(--tx);line-height:1;padding:0;transition:background .1s;}
.rt-char-btn:hover{background:rgba(0,0,0,.08);}
.rt-char-btn.emoji{font-size:16px;width:30px;height:30px;}

/* VIEW MODES */
.ms-content-area{flex:1;overflow-y:auto;position:relative;}
/* manuscript view */
.ms-content-area.view-manuscript{background:var(--bg);}
/* page view */
.ms-content-area.view-page{background:#f2f2f2;padding:40px 20px;}
[data-theme="parchment"] .ms-content-area.view-page{background:#f2f2f2;}
[data-theme="slate"] .ms-content-area.view-page{background:#f2f2f2;}
[data-theme="steampunk"] .ms-content-area.view-page{background:#2a1e0e;}
[data-theme="sci"] .ms-content-area.view-page{background:#030509;}
[data-theme="modernsoft"] .ms-content-area.view-page{background:#f2f2f2;}
[data-theme="daylight"] .ms-content-area.view-page{background:#f2f2f2;}
[data-theme="moonlight"] .ms-content-area.view-page{background:#1c1c1e;}

/* ── Document Editor ── */
.doc-editor-pane{display:flex;flex-direction:column;flex:1;overflow:hidden;min-height:0;}
.doc-editor-hdr{display:flex;align-items:center;gap:10px;padding:6px 12px;background:var(--gold);border-bottom:1px solid rgba(0,0,0,.08);flex-shrink:0;--tx:#fff;--txm:rgba(255,255,255,.7);--sur:rgba(255,255,255,.12);--sur2:rgba(255,255,255,.18);--gdim:rgba(255,255,255,.85);--br2:rgba(255,255,255,.3);--gfaint:rgba(255,255,255,.15);}
.doc-editor-hdr .view-btn:hover,.doc-editor-hdr .view-btn.active{color:#fff;border-color:rgba(255,255,255,.8);background:rgba(255,255,255,.15);}
.doc-icon-btn{background:none;border:none;cursor:pointer;color:var(--txm);padding:3px 4px;border-radius:3px;transition:color .15s,background .15s;display:flex;align-items:center;line-height:1;flex-shrink:0;}
.doc-icon-btn:hover{color:var(--tx);background:var(--sur);}
[data-theme="daylight"] .doc-name-inp{font-family:'Newsreader',Georgia,serif;font-weight:700;}
.doc-back-btn{background:none;border:none;cursor:pointer;font-family:var(--mono);font-size:.75rem;color:var(--txm);padding:3px 8px 3px 4px;border-radius:4px;transition:color .15s,background .15s;white-space:nowrap;}
.doc-back-btn:hover{color:var(--tx);background:var(--sur);}
.doc-name-inp{flex:1;background:none;border:none;outline:none;font-family:var(--serif);font-size:12px;color:var(--tx);min-width:0;text-align:center;}
.doc-name-inp::placeholder{color:var(--txm);}
.doc-editor-wc-lbl{font-family:var(--mono);font-size:.7rem;color:var(--txm);white-space:nowrap;min-width:80px;text-align:right;}
.doc-editor-scroll{flex:1;overflow-y:auto;overflow-x:hidden;background:var(--bg);padding:40px 20px;}
.doc-editor-paper{max-width:740px;margin:0 auto;background:var(--bg);border-radius:2px;}
.doc-editor-prose{outline:none;font-family:var(--serif);font-size:var(--ms-body-size,12pt);line-height:1.7;color:var(--tx);min-height:400px;padding:0 0 80px;}
.doc-editor-prose p{margin:0 0 .6em;}
.doc-editor-prose h1,.doc-editor-prose h2,.doc-editor-prose h3{font-family:var(--serif);color:var(--tx);margin:1.2em 0 .4em;}
.doc-editor-prose blockquote{border-left:3px solid var(--br3);margin:0 0 .6em 0;padding-left:1em;color:var(--txd);}
.doc-editor-prose ul,.doc-editor-prose ol{padding-left:1.6em;margin:0 0 .6em;}

/* column-width ruler */
#ms-ruler{position:relative;width:100%;height:14px;background:var(--bg2);flex-shrink:0;overflow:hidden;user-select:none;cursor:default;}
#ms-ruler-col{position:absolute;top:0;height:100%;background:var(--sur);border-left:1px solid var(--br);border-right:1px solid var(--br);}
.ms-ruler-handle{position:absolute;top:0;width:14px;height:100%;cursor:col-resize;display:flex;align-items:center;justify-content:center;}
.ms-ruler-handle::after{content:'';width:3px;height:7px;background:var(--txm);border-radius:2px;opacity:.5;}
#ms-ruler-hl{left:-7px;}
#ms-ruler-hr{right:-7px;}
.focus-mode #ms-ruler{display:none;}

/* scene list: show in writing, hide in page */
.ms-scene-list{display:block;max-width:var(--ms-col-width,960px);margin:0 auto;padding:3rem 20px 80px 42px;}
.ms-content-area.view-page .ms-scene-list{display:none;}

/* page outer: hide in writing, show in page */
.ms-page-outer{display:none;}
.ms-content-area.view-page .ms-page-outer{display:block;}

/* PAGE WRAPPER (legacy — now superseded by per-page .ms-page-break elements) */
.ms-page-wrapper{display:contents;}
.ms-content-area.view-manuscript .ms-page-wrapper{display:contents;}

/* PAGE BOXES */
.ms-page-box{background:#fff;box-shadow:0 2px 12px rgba(0,0,0,.25);margin:0 auto 32px;position:relative;box-sizing:border-box;}
[data-theme="daylight"] .ms-page-box,[data-theme="moonlight"] .ms-page-box{background:#fff;}
.ms-page-content{overflow:hidden;}
.ms-page-content .ms-scene-hd{display:none;}

/* PRINT */
@media print{
  body>*:not(#app){display:none!important;}
  #app>*:not(#main-panel){display:none!important;}
  #main-panel>*:not(.ms-panel){display:none!important;}
  .ms-panel>*:not(.ms-content-area){display:none!important;}
  .ms-content-area{overflow:visible!important;}
  .ms-content-area.view-page .ms-scene-list{display:none!important;}
  .ms-content-area.view-page .ms-page-outer{display:block!important;}
  .ms-page-box{box-shadow:none!important;margin:0!important;page-break-after:always;}
  .ms-page-box:last-child{page-break-after:auto;}
}

/* SCENE BLOCKS */
.ms-scene{position:relative;margin-bottom:0;}
.ms-scene-hd{
  display:flex;align-items:center;gap:10px;
  padding:0 0 6px;margin-bottom:4px;
}
.ms-scene-badge{font-family:var(--mono);font-size:8px;letter-spacing:.1em;text-transform:uppercase;padding:2px 6px;border-radius:2px;background:rgba(122,189,138,.08);color:var(--grn);flex-shrink:0;}
.ms-content-area.view-page .ms-scene-badge{background:rgba(0,0,0,.06);color:rgba(0,0,0,.4);}
.ms-scene-title-inp{flex:1;background:transparent;border:none;outline:none;font-family:var(--cin);font-size:1rem;letter-spacing:.04em;color:var(--txd);padding:0;min-width:0;}
.ms-scene-title-inp::placeholder{color:var(--txm);}
.ms-scene-title-inp:focus{color:var(--gold);border-bottom:1px solid rgba(180,140,80,.2);}
.ms-content-area.view-page .ms-scene-title-inp{color:#555040;}
[data-theme="daylight"] .ms-scene-title-inp{font-family:'Times New Roman','Tinos',Times,serif;font-weight:700;letter-spacing:0;}
.ms-scene-wc{font-family:var(--mono);font-size:10px;color:var(--txm);white-space:nowrap;flex-shrink:0;}
.ms-scene-del{background:none;border:none;cursor:pointer;font-family:var(--mono);font-size:10px;color:var(--txm);padding:2px 4px;transition:color .15s;opacity:0;}
.ms-scene:hover .ms-scene-del{opacity:.6;}
.ms-scene-del:hover{color:var(--ember);opacity:1 !important;}

/* Scene solo/focus mode */
.ms-scene-list.ms-scene-focused .ms-scene:not(.ms-solo){display:none!important;}
.ms-scene-list.ms-scene-focused .ms-scene-separator{display:none!important;}
.ms-scene-list.ms-scene-focused .ms-section-annotation{display:none!important;}
.ms-scene-list.ms-scene-focused .ms-scene-drag{display:none!important;}
.ms-scene-list.ms-scene-focused{padding-top:1.5rem;}
.ms-scene.ms-solo .ms-scene-hd{opacity:.5;transition:opacity .15s;}
.ms-scene.ms-solo:hover .ms-scene-hd{opacity:1;}
.ms-scene.ms-solo .ms-scene-hd::after{content:'ESC to exit focus';font-family:var(--mono);font-size:8px;letter-spacing:.1em;color:var(--txm);margin-left:auto;opacity:.6;}

/* scene separator */
.ms-scene-separator{position:relative;margin:1.8rem 0;height:28px;}
.ms-scene-separator::before{content:'';position:absolute;left:0;right:0;top:50%;border-top:1px solid rgba(180,140,80,.22);pointer-events:none;}
.ms-scene-separator::after{display:none;}
.ms-scene-sep-inner.ms-scene-sep-divider{font-family:var(--serif);font-size:.9rem;letter-spacing:.3em;color:var(--txm);}
.ms-content-area.view-page .ms-scene-separator{opacity:.3;}
.ms-add-zone-btn{font-family:var(--mono);font-size:10px;letter-spacing:.1em;text-transform:uppercase;color:var(--grn);background:var(--bg);border:1px solid rgba(122,189,138,.3);border-radius:3px;padding:5px 14px;cursor:pointer;transition:background .12s;}
.ms-sep-cut{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);z-index:1;background:var(--bg);padding:0 10px;display:inline-flex;gap:6px;opacity:0;pointer-events:none;transition:opacity .15s;}
.ms-scene-separator:hover .ms-sep-cut{opacity:1;pointer-events:auto;}
.ms-scene-end .ms-sep-cut{opacity:1;pointer-events:auto;}
.ms-add-zone-btn:hover{background:rgba(122,189,138,.08);}
.ms-add-img-btn{color:var(--smoke);border-color:rgba(122,170,204,.3);}
.ms-add-page-btn{color:var(--txm)!important;border-color:rgba(180,140,80,.25)!important;}
.ms-add-page-btn:hover{background:rgba(180,140,80,.08)!important;}
.ms-after-page-pill{display:flex;align-items:center;gap:8px;margin:4px 0;padding:6px 12px;background:var(--sur2);border:1px solid var(--br2);border-radius:4px;font-family:var(--mono);font-size:10px;color:var(--txm);}
.ms-after-page-pill span{flex:1;}
.ms-after-page-pill-rm{padding:1px 5px;font-size:10px;background:none;border:none;color:var(--txm);cursor:pointer;opacity:.5;transition:opacity .1s;}
.ms-after-page-pill-rm:hover{opacity:1;color:var(--red);}
.ap-fm-card{display:flex;flex-direction:column;align-items:center;gap:6px;padding:8px;border-radius:4px;cursor:pointer;transition:background .1s;}
.ap-fm-card:hover{background:var(--sur2);}
.ap-fm-mock{border:1px solid var(--br2);border-radius:2px;overflow:hidden;background:#fff;}
.ap-fm-card-lbl{font-family:var(--mono);font-size:9px;color:var(--txm);text-align:center;max-width:80px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
#ap-img-grid{display:flex;flex-wrap:wrap;gap:4px;}
.ms-add-img-btn:hover{background:rgba(122,170,204,.06);}
.ms-between-img{position:relative;text-align:center;margin:1.2rem 0 .4rem;display:flex;align-items:center;justify-content:center;}
.ms-between-img-el{max-width:100%;max-height:480px;object-fit:contain;border-radius:4px;display:block;}
.ms-between-img-rm{position:absolute;top:6px;right:6px;background:rgba(0,0,0,.55);border:none;color:#fff;border-radius:3px;padding:2px 6px;font-size:10px;cursor:pointer;opacity:0;transition:opacity .15s;}
.ms-between-img:hover .ms-between-img-rm{opacity:1;}
/* Inline charts/tables in prose */
.charc-inline-asset{position:relative;margin:1em 0;display:block;cursor:pointer;}
.charc-inline-asset[data-display="block"][data-align="center"]{display:flex;justify-content:center;}
.charc-inline-asset[data-display="block"][data-align="left"]{display:flex;justify-content:flex-start;}
.charc-inline-asset[data-display="block"][data-align="right"]{display:flex;justify-content:flex-end;}
.charc-inline-asset[data-display="block"][data-align="full"]{width:100%;}
.charc-inline-asset[data-display="block"][data-align="full"] .charc-inline-asset-content{display:block;width:100%;}
.charc-inline-asset[data-display="block"][data-align="full"] .charc-asset{width:100%;box-sizing:border-box;}
.charc-inline-asset[data-display="block"][data-align="full"] .charc-chart-svg{width:100%;height:auto;}
.charc-inline-asset[data-display="block"][data-align="full"] .charc-asset-table{width:100%;}
/* Composite cards in manuscript — fill width, children share space equally */
.charc-inline-asset .charc-composite-inner{width:100%;}
.charc-inline-asset .charc-composite-child{min-width:0;flex:1;}
.charc-inline-asset .charc-composite-child .charc-chart-svg{width:100%;height:auto;}
.charc-inline-asset .charc-composite-child .charc-asset-table{width:100%;}
.charc-inline-asset[data-display="inline-float"][data-align="left"]{float:left;max-width:50%;margin:0 1.2em 0.8em 0;display:block;}
.charc-inline-asset[data-display="inline-float"][data-align="right"]{float:right;max-width:50%;margin:0 0 0.8em 1.2em;display:block;}
.charc-inline-asset-content{display:inline-block;max-width:100%;}
.charc-inline-asset-caption{text-align:center;font-size:11px;color:var(--txm);margin-top:4px;font-style:italic;}
.charc-inline-asset-ctrls{position:absolute;top:4px;right:4px;display:flex;gap:4px;opacity:0;transition:opacity .15s;z-index:10;}
.charc-inline-asset:hover .charc-inline-asset-ctrls{opacity:1;}
.charc-inline-asset-btn{background:rgba(0,0,0,.55);border:none;color:#fff;border-radius:3px;padding:2px 7px;font-size:10px;cursor:pointer;font-family:var(--mono);}
.charc-inline-asset-btn:hover{background:rgba(0,0,0,.82);}
.charc-inline-asset-rm{background:rgba(140,40,40,.7);}
.charc-inline-asset-rm:hover{background:rgba(190,50,50,.9);}
.ProseMirror[contenteditable="false"] .charc-inline-asset-ctrls{display:none!important;}
#pane-manuscript.focus-mode .charc-inline-asset-ctrls{display:none;}
/* Between-scene chart/table assets */
.ms-add-chart-btn{color:var(--gold);border-color:rgba(200,164,90,.3);}
.ms-add-chart-btn:hover{background:rgba(200,164,90,.06);}
.ms-between-asset{position:relative;margin:1.4rem 0 .4rem;display:flex;justify-content:center;}
.ms-between-asset[data-align="left"]{justify-content:flex-start;}
.ms-between-asset[data-align="right"]{justify-content:flex-end;}
.ms-between-asset[data-align="full"]{display:block;}
.ms-between-asset-content{max-width:100%;}
.ms-between-asset-ctrls{position:absolute;top:6px;right:6px;display:flex;gap:4px;opacity:0;transition:opacity .15s;z-index:2;}
.ms-between-asset:hover .ms-between-asset-ctrls{opacity:1;}
.ms-between-asset-btn{background:rgba(0,0,0,.55);border:none;color:#fff;border-radius:3px;padding:2px 8px;font-size:10px;cursor:pointer;transition:background .12s;}
.ms-between-asset-btn:hover{background:rgba(0,0,0,.82);}
.ms-between-asset-rm{background:rgba(140,40,40,.7);}
.ms-between-asset-rm:hover{background:rgba(190,50,50,.9);}
.ms-between-asset-caption{text-align:center;font-size:.75rem;color:var(--txm);font-style:italic;margin-top:.4rem;font-family:var(--serif,serif);}
.charc-asset.broken{padding:12px 16px;background:var(--bg2);border:1px dashed var(--br);border-radius:6px;color:var(--txm);font-size:.82rem;font-family:var(--mono);}
#pane-manuscript.focus-mode .ms-between-asset-ctrls{display:none;}

/* ── RICH TEXT EDITOR AREA ── */
.rte-wrap{position:relative;}
.ProseMirror:focus{border-bottom:none;}
.ProseMirror{
  outline:none;
  font-family:var(--ms-font);
  font-size:calc(var(--ms-size) / var(--ui-scale,1));
  line-height:var(--ms-lh);
  color:var(--tx);
  min-height:90px;
  padding:.5rem 0 .6rem;
  letter-spacing:.01em;
  word-wrap:break-word;
}
.ProseMirror>p:last-child{margin-bottom:0;}
.ms-content-area.view-page .ProseMirror{
  color:var(--page-tx);
  min-height:60px;
}
.ProseMirror p{margin-bottom:.5em;}
.ProseMirror h1{font-family:var(--cin);font-size:1.6rem;color:var(--gold);letter-spacing:.06em;margin:1.2em 0 .4em;font-weight:400;}
.ProseMirror h2{font-family:var(--cin);font-size:1.25rem;color:var(--gold);letter-spacing:.04em;margin:1em 0 .35em;font-weight:400;}
.ProseMirror h3{font-family:var(--serif);font-size:1.1rem;color:var(--txd);font-style:italic;margin:.8em 0 .3em;}
.ProseMirror strong{font-weight:600;color:var(--tx);}
.ProseMirror em{font-style:italic;}
.ProseMirror u{text-decoration:underline;text-underline-offset:2px;}
.ProseMirror s{text-decoration:line-through;opacity:.6;}
.ProseMirror blockquote{border-left:3px solid var(--gdim);margin:.8em 0;padding:.3em 0 .3em 1.2em;color:var(--txd);font-style:italic;}
.ProseMirror hr{border:none;border-top:1px solid var(--br);margin:1.5em 0;}
.ProseMirror img{max-width:100%;border-radius:3px;margin:.4em 0;display:block;}
.ProseMirror .selected-image{outline:2px solid var(--gold);}
.ProseMirror p.is-editor-empty:first-child::before{content:attr(data-placeholder);color:var(--txm);font-style:italic;pointer-events:none;float:left;height:0;}
/* page view headings override */
.ms-content-area.view-page .ProseMirror h1{color:#3a2e18;}
.ms-content-area.view-page .ProseMirror h2{color:#3a2e18;}
.ms-content-area.view-page .ProseMirror h3{color:#555040;}
.ms-content-area.view-page .ProseMirror blockquote{border-color:#b8a878;}
.ms-content-area.view-page .ProseMirror strong{color:var(--page-tx);}

/* synopsis inline under scene header */
.ms-synopsis-body{padding:4px 0 12px 14px;border-left:2px solid rgba(180,140,80,.15);font-family:var(--serif);font-style:italic;font-size:.9rem;color:var(--txm);line-height:1.65;margin-bottom:4px;}
.ms-synopsis-body.hidden{display:none;}
.ms-synopsis-toggle{display:inline-flex;align-items:center;gap:5px;padding:0;margin-bottom:6px;cursor:pointer;user-select:none;background:transparent;border:none;opacity:.5;transition:opacity .15s;}
.ms-synopsis-toggle:hover{opacity:1;}
.ms-synopsis-lbl{font-family:var(--mono);font-size:8px;letter-spacing:.12em;text-transform:uppercase;color:var(--txm);}
.ms-synopsis-chev{font-family:var(--mono);font-size:9px;color:var(--txm);transition:transform .18s;}
.ms-synopsis-chev.closed{transform:rotate(-90deg);}

/* struct labels — now float to the left of the first scene */
.ms-struct-lbl{display:none;} /* hide old block labels entirely */

/* NEW: side annotation label that floats left of first scene in that section */
.ms-section-wrap{position:relative;}
.ms-section-annotation{
  position:absolute;
  left:-130px;top:4px;
  width:118px;text-align:right;
  pointer-events:none;
  user-select:none;
  display:flex;flex-direction:column;gap:0;
}
.ms-section-annotation .ann-title{
  font-family:var(--cin);font-size:.7rem;letter-spacing:.03em;
  line-height:1.3;word-wrap:break-word;white-space:normal;
  display:block;
}
/* Act-level annotation title */
.ms-section-annotation .ann-title.ann-act{
  color:var(--txm);opacity:.75;font-weight:600;
  padding-bottom:3px;
  border-bottom:1px solid rgba(180,140,80,.18);
  margin-bottom:3px;
}
/* Chapter-level annotation title */
.ms-section-annotation .ann-title.ann-chapter{
  color:var(--txm);opacity:.65;
  font-size:.65rem;
}
/* Single title with no sibling — no divider needed */
.ms-section-annotation .ann-title:only-child.ann-act{border-bottom:none;padding-bottom:0;margin-bottom:0;}
/* shift annotation further left when scene has a color bar in the gutter */
.ms-section-wrap.has-color-bar .ms-section-annotation{left:-154px;}
/* hide annotations in page view or when user pref is on */
.ms-content-area.view-page .ms-section-annotation,
.ms-content-area.hide-section-labels .ms-section-annotation{display:none;}

/* PAGE VIEW — discrete 8.5×11 page boxes */
.ms-page-break{
  background:var(--page-bg);color:var(--page-tx);
  width:816px;height:1056px;
  margin:0 auto 48px;
  padding:96px;
  box-shadow:var(--page-shadow);
  border-radius:2px;
  position:relative;
  box-sizing:border-box;
  overflow:hidden;
}
/* Page header / footer bands — positioned within margin space */
.ms-page-header,
.ms-page-footer{
  position:absolute;
  left:0;right:0;
  display:grid;
  grid-template-columns:1fr 1fr 1fr;
  align-items:center;
  padding-left:var(--mL);
  padding-right:var(--mR);
  font-family:var(--sans);
  font-size:9px;
  color:rgba(0,0,0,.35);
  pointer-events:none;
  user-select:none;
}
.ms-page-header{
  top:0;
  height:var(--mT);
}
.ms-page-footer{
  bottom:0;
  height:var(--mB);
}
.ms-page-header.ms-phf-rule{border-bottom:0.5px solid rgba(0,0,0,.12);}
.ms-page-footer.ms-phf-rule{border-top:0.5px solid rgba(0,0,0,.12);}
.ms-phf-zone{overflow:hidden;white-space:nowrap;text-overflow:ellipsis;}
.ms-phf-left{text-align:left;}
.ms-phf-center{text-align:center;}
.ms-phf-right{text-align:right;}
/* In page view, scenes render as plain content blocks inside a continuous flow */
.ms-page-content{
  font-family:var(--ms-font);
  font-size:calc(var(--ms-size) / var(--ui-scale,1));
  line-height:var(--ms-lh);
  color:var(--page-tx);
  word-wrap:break-word;
}
/* Scene separator in page view */
.ms-page-sep{
  text-align:center;color:rgba(0,0,0,.28);
  letter-spacing:.35em;margin:1.4em 0;font-size:.9em;
}
/* Struct heading in page view */
.ms-page-struct{
  font-family:var(--cin);font-size:1.4rem;letter-spacing:.08em;
  color:rgba(0,0,0,.6);font-weight:400;
  margin:2em 0 .8em;padding-bottom:.5em;
  border-bottom:1px solid rgba(0,0,0,.1);
}
.ms-page-struct.type-chapter{
  font-size:.82rem;letter-spacing:.06em;
  color:rgba(0,0,0,.5);margin-top:1.4em;border-bottom:none;
}
/* ProseMirror inside page view */
.ms-content-area.view-page .ProseMirror{
  color:var(--page-tx);
  min-height:0;
  padding:.25rem 0;
}
.ms-content-area.view-page .ms-scene-hd{display:none;}
/* Part title (half-title) page */
.ms-part-page{display:flex;flex-direction:column;align-items:center;justify-content:center;}
.ms-part-page-title{font-family:var(--serif);font-size:1.7rem;letter-spacing:.15em;text-transform:uppercase;color:var(--page-tx,#222);text-align:center;line-height:1.3;}

/* ── INLINE TEXT BOX ── */
.ms-textbox{box-sizing:border-box;position:relative;}
.ms-textbox-inner{outline:none;min-height:2em;font-family:inherit;font-size:inherit;}
.ms-textbox-inner:focus{outline:1px dashed rgba(128,128,128,.25);outline-offset:2px;border-radius:2px;}

/* ── TEXT BOX INSPECTOR (right sidebar) ── */
#ms-tb-inspector{width:200px;flex-shrink:0;border-left:1px solid var(--br);background:var(--bg2);overflow-y:auto;display:none;flex-direction:column;}
#ms-tb-inspector.mstb-open{display:flex;}
#pane-manuscript.focus-mode #ms-tb-inspector{display:none!important;}
#ms-tb-inspector::-webkit-scrollbar{width:10px;}
#ms-tb-inspector::-webkit-scrollbar-track{background:var(--bg2);}
#ms-tb-inspector::-webkit-scrollbar-thumb{background:var(--br2);border-radius:5px;border:3px solid var(--bg2);}
.mstb-hdr{display:flex;align-items:center;justify-content:space-between;padding:10px 12px 9px;border-bottom:1px solid var(--br);flex-shrink:0;}
.mstb-title{font-family:var(--mono);font-size:9px;letter-spacing:.1em;text-transform:uppercase;color:var(--txm);font-weight:600;}
.mstb-close{background:none;border:none;color:var(--txm);cursor:pointer;font-size:12px;padding:2px 5px;border-radius:3px;line-height:1;}
.mstb-close:hover{color:var(--tx);background:var(--br2);}
.mstb-sec{padding:10px 12px;border-bottom:1px solid var(--br3,var(--br));}
.mstb-sec-lbl{font-family:var(--mono);font-size:8px;letter-spacing:.1em;text-transform:uppercase;color:var(--txm);margin-bottom:7px;}
.mstb-float-row{display:flex;gap:3px;flex-wrap:wrap;}
.mstb-slider-row{display:flex;align-items:center;gap:6px;margin-top:4px;}
.mstb-slider-row input[type=range]{flex:1;min-width:0;accent-color:var(--gold);}
.mstb-lbl{font-family:var(--mono);font-size:9px;color:var(--txm);white-space:nowrap;flex-shrink:0;}
.mstb-val{font-family:var(--mono);font-size:9px;color:var(--txm);min-width:26px;text-align:right;flex-shrink:0;}
.mstb-swatches{display:flex;flex-wrap:wrap;gap:4px;margin-top:4px;}
.mstb-sides{display:flex;flex-direction:column;gap:5px;}
.mstb-side-row{display:flex;align-items:center;gap:6px;}
.mstb-side-k{font-family:var(--mono);font-size:8px;color:var(--txm);width:10px;text-align:center;flex-shrink:0;}
.mstb-side-row input[type=range]{flex:1;min-width:0;accent-color:var(--gold);}
.mstb-select{flex-shrink:0;}
.mstb-sec-del{border-bottom:none;}
.mstb-del-btn{width:100%;background:none;border:1px solid transparent;border-radius:4px;padding:6px 8px;color:var(--ember);font-family:var(--mono);font-size:9px;letter-spacing:.06em;cursor:pointer;text-align:center;}
.mstb-del-btn:hover{background:rgba(220,60,60,.08);border-color:var(--ember);}
[data-theme="daylight"] #ms-tb-inspector{background:#ffffff;border-left-color:rgba(0,0,0,.10);}
.mstb-clr-row{display:flex;align-items:center;gap:8px;margin-top:4px;}
.mstb-clr-btn{width:22px;height:22px;border-radius:4px;border:1.5px solid var(--br2);cursor:pointer;flex-shrink:0;background:var(--bg3);padding:0;}
.mstb-clr-btn[data-empty="true"]{background:repeating-conic-gradient(var(--br2) 0% 25%,var(--bg3) 0% 50%) 0 0/8px 8px;}
.mstb-clr-btn:hover{border-color:var(--gold);}
.mstb-clr-lbl{font-family:var(--mono);font-size:9px;color:var(--txm);}
.mstb-toggle-row{display:flex;align-items:center;gap:6px;}
#ms-inline-inspector{width:200px;flex-shrink:0;border-left:1px solid var(--br);background:var(--bg2);overflow-y:auto;display:none;flex-direction:column;}
#ms-inline-inspector.mstb-open{display:flex;}
#pane-manuscript.focus-mode #ms-inline-inspector{display:none!important;}
[data-theme="daylight"] #ms-inline-inspector{background:#ffffff;border-left-color:rgba(0,0,0,.10);}

/* Legacy ctx-toolbar (kept for any residual references) */
.ctx-tb-row{display:flex;align-items:center;gap:4px;flex-wrap:nowrap;white-space:nowrap;}
.ctx-tb-float-btn{
  background:none;border:1px solid var(--br2);border-radius:3px;
  padding:2px 6px;cursor:pointer;color:var(--txm);font-size:11px;
  transition:all .12s;
}
.ctx-tb-float-btn:hover,.ctx-tb-float-btn.active{background:var(--gfaint);color:var(--gold);border-color:var(--gold);}
.ctx-tb-sep{width:1px;height:16px;background:var(--br2);margin:0 5px;flex-shrink:0;}
.ctx-tb-spacer{flex:1;min-width:8px;}
.ctx-tb-tag{font-family:var(--mono);font-size:9px;color:var(--txm);letter-spacing:.08em;text-transform:uppercase;}
.ctx-tb-lbl{font-family:var(--mono);font-size:9px;color:var(--txm);letter-spacing:.05em;white-space:nowrap;margin-right:2px;}
.ctx-tb-side-lbl{font-family:var(--mono);font-size:8px;color:var(--txm);width:8px;text-align:center;flex-shrink:0;}
.ctx-tb-val{font-family:var(--mono);font-size:9px;color:var(--txm);min-width:20px;text-align:right;}
.ctx-tb-select{
  background:var(--bg2);border:1px solid var(--br);border-radius:3px;
  color:var(--txd);font-size:9px;padding:2px 4px;cursor:pointer;
}
.ctx-tb-del{
  background:none;border:1px solid transparent;border-radius:3px;
  padding:2px 6px;cursor:pointer;color:var(--ember);font-size:10px;
  transition:all .12s;margin-left:2px;
}
.ctx-tb-del:hover{background:rgba(220,60,60,.08);border-color:var(--ember);}
.ctx-tb-swatches{display:flex;gap:3px;align-items:center;}
.ctx-tb-swatch{
  width:16px;height:16px;border-radius:3px;border:1px solid rgba(128,128,128,.25);
  cursor:pointer;padding:0;flex-shrink:0;transition:transform .1s;
}
.ctx-tb-swatch:hover{transform:scale(1.2);}
.ctx-tb-swatch.active{outline:2px solid var(--gold);outline-offset:1px;}
.ctx-tb-swatch-none{
  background:linear-gradient(45deg,#ccc 25%,transparent 25%),
    linear-gradient(-45deg,#ccc 25%,transparent 25%),
    linear-gradient(45deg,transparent 75%,#ccc 75%),
    linear-gradient(-45deg,transparent 75%,#ccc 75%);
  background-size:8px 8px;
  background-position:0 0,0 4px,4px -4px,-4px 0;
  background-color:#fff;
}
#ctx-toolbar input[type=range]{width:70px;accent-color:var(--gold);}
.ctx-tb-short{width:46px!important;}

/* Chapter opening block */
.ms-chapter-opening{display:flex;flex-direction:column;justify-content:center;align-items:inherit;flex-shrink:0;}
.ms-chapter-num{font-family:var(--mono);font-size:.72rem;letter-spacing:.22em;text-transform:uppercase;color:rgba(0,0,0,.45);margin-bottom:.75rem;}
.ms-chapter-title{font-family:var(--serif);font-size:1.55rem;color:var(--page-tx,#222);line-height:1.25;font-weight:400;margin-bottom:.35rem;}
.ms-chapter-sub{font-family:var(--serif);font-size:.95rem;color:rgba(0,0,0,.5);font-style:italic;}

/* Scene add button on struct annotation */
.ms-struct-add-btn{
  font-family:var(--mono);font-size:8px;letter-spacing:.08em;text-transform:uppercase;
  background:none;border:1px solid rgba(122,189,138,.25);border-radius:2px;
  color:var(--grn);padding:2px 7px;cursor:pointer;
  opacity:0;transition:opacity .15s;flex-shrink:0;pointer-events:all;
  display:block;margin-top:5px;margin-left:auto;
}
.ms-section-wrap:hover .ms-struct-add-btn{opacity:1;}
.ms-struct-add-btn:hover{background:rgba(122,189,138,.08);}

.ms-toolbar-right{display:flex;align-items:center;gap:8px;flex-shrink:0;}
.view-btn{font-family:var(--mono);font-size:9px;letter-spacing:.1em;text-transform:uppercase;padding:5px 10px;border-radius:3px;cursor:pointer;border:1px solid var(--br2);background:var(--sur);color:var(--gdim);transition:all .15s;}
.view-btn:hover,.view-btn.active{background:var(--gfaint);border-color:var(--gdim);color:var(--gold);}

/* THEME PICKER */
.theme-picker{display:flex;gap:5px;align-items:center;}
.theme-dot{width:14px;height:14px;border-radius:50%;cursor:pointer;border:2px solid transparent;transition:transform .15s,border-color .15s;flex-shrink:0;}
.theme-dot:hover{transform:scale(1.2);}
.theme-dot.active{border-color:rgba(255,255,255,.6);}
.theme-dot[data-theme=""]{background:radial-gradient(circle,#c8a45a,#4a3010);}
.theme-dot[data-theme="midnight"]{background:radial-gradient(circle,#7aaccc,#080c14);}
.theme-dot[data-theme="forest"]{background:radial-gradient(circle,#7abd8a,#080e0a);}
.theme-dot[data-theme="parchment"]{background:radial-gradient(circle,#c8b068,#f5f0e8);}
.theme-dot[data-theme="slate"]{background:radial-gradient(circle,#3050a0,#f0f2f5);}
.theme-dot[data-theme="steampunk"]{background:radial-gradient(circle,#c8922a,#0f0d09);}
.theme-dot[data-theme="sci"]{background:radial-gradient(circle,#7ee8fa,#05070c);}
.theme-dot[data-theme="modernsoft"]{background:radial-gradient(circle,#5b54ff,#faf7f2);}

/* COMPILE MODAL */
.compile-modal{width:min(94vw,1400px);max-width:none;height:min(88vh,740px);overflow:hidden;display:flex;flex-direction:column;}
.compile-hdr{display:flex;align-items:center;justify-content:space-between;padding:18px 20px 16px;border-bottom:1px solid var(--br);flex-shrink:0;}
.compile-hdr-title{font-family:var(--cin);font-size:1.3rem;letter-spacing:.05em;color:var(--tx);}
.compile-close{background:none;border:none;cursor:pointer;color:var(--gdim);font-size:1rem;padding:2px 6px;line-height:1;}
.compile-close:hover{color:var(--tx);}
.compile-body{display:grid;grid-template-columns:1fr 1fr 1fr 240px;flex:1;overflow:hidden;min-height:0;}
.compile-col{display:flex;flex-direction:column;overflow:hidden;border-right:1px solid var(--br);}
.compile-col:last-child{border-right:none;}
.compile-col-opts{display:flex;flex-direction:column;gap:16px;padding:16px 18px 16px;overflow-y:auto;}
.compile-tree-hdr{display:flex;align-items:center;justify-content:space-between;padding:7px 14px 6px;border-bottom:1px solid var(--br);flex-shrink:0;}
.compile-tree-lbl{font-family:var(--mono);font-size:9px;letter-spacing:.06em;text-transform:uppercase;color:var(--txm);}
.compile-toggle-btn{background:none;border:none;cursor:pointer;font-family:var(--mono);font-size:10px;color:var(--gdim);padding:3px 6px;border-radius:3px;letter-spacing:.05em;}
.compile-toggle-btn:hover{color:var(--gold);background:var(--gfaint);}
.compile-section-list{flex:1;padding:8px 14px;overflow-y:auto;min-height:0;}
.compile-empty{padding:20px;font-family:var(--mono);font-size:11px;color:var(--txm);text-align:center;}
.compile-item{display:flex;align-items:center;gap:10px;padding:6px 0;border-bottom:1px solid rgba(180,140,80,.06);}
.compile-item:last-child{border-bottom:none;}
.compile-item input[type=checkbox]{width:auto;margin:0;accent-color:var(--gold);}
.compile-item-name{flex:1;font-size:.9rem;color:var(--txd);}
.compile-item-type{font-family:var(--mono);font-size:10px;color:var(--txm);letter-spacing:.08em;}
.compile-item.type-act .compile-item-name{font-family:var(--cin);color:var(--gold);}
.compile-item.type-chapter .compile-item-name{font-style:italic;}
.compile-entity-tab-row .compile-item-name{font-weight:600;color:var(--txd);}
.compile-entity-row .compile-item-name{color:var(--tx);}
.compile-fm-pos-back{color:var(--txm);}
.compile-fm-pos-body{color:var(--gold);}
.compile-modal .st-select{font-size:13px;padding:8px 10px;}
.compile-fmt-row{}
.compile-fmt-bottom{margin-top:auto;}
.compile-inc-list{display:flex;flex-direction:column;gap:10px;}
.compile-right-actions{padding-top:4px;}
.compile-export-full{width:100%;justify-content:center;padding:10px 14px;font-size:11px;}
.compile-export-full:hover{background:var(--gold)!important;border-color:var(--gold)!important;color:#fff!important;}
.compile-opt-lbl{font-family:var(--mono);font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--txm);margin-bottom:8px;}
.compile-chk-row{display:flex;gap:8px;align-items:center;font-family:var(--mono);font-size:12px;color:var(--txd);cursor:pointer;white-space:nowrap;}
.compile-chk-row input[type=checkbox]{accent-color:var(--gold);cursor:pointer;flex-shrink:0;}

/* IMAGE INSERT */
.img-upload-area{border:1px dashed rgba(180,140,80,.3);border-radius:4px;padding:20px;text-align:center;cursor:pointer;transition:border-color .15s,background .15s;margin:8px 0;}
.img-upload-area:hover{border-color:var(--gdim);background:rgba(200,164,90,.04);}
.img-upload-area p{font-family:var(--mono);font-size:10px;color:var(--txm);letter-spacing:.1em;text-transform:uppercase;}
.img-upload-area input{display:none;}

/* PHASE TYPE COLORS */
.pb.type-prewrite{border-color:rgba(122,189,138,.22);}
.pb.type-revision{border-color:rgba(192,88,48,.22);}

/* ── OUTLINE DRAFT SECTION ── */
.odraft-section{margin-bottom:1.8rem;}
.odraft-hdr{display:flex;align-items:center;gap:10px;margin-bottom:.8rem;padding-bottom:.5rem;border-bottom:1px solid var(--br);}
.odraft-hdr-title{font-family:var(--cin);font-size:.78rem;letter-spacing:.14em;text-transform:uppercase;color:var(--gdim);}
.odraft-hdr-wc{font-family:var(--mono);font-size:10px;color:var(--txm);margin-left:auto;}
.oact{border:1px solid rgba(200,164,90,.22);border-radius:5px;margin-bottom:.9rem;overflow:hidden;background:rgba(200,164,90,.02);}
.oact-hd{display:flex;flex-direction:column;background:rgba(200,164,90,.05);transition:background .15s;}
.oact-hd-top{display:flex;align-items:center;gap:10px;padding:17px 32px 12px 16px;cursor:pointer;user-select:none;}
.oact-hd-top:hover{background:rgba(200,164,90,.07);}
.oact-hd-bar{display:flex;align-items:center;gap:8px;padding:7px 32px 12px 44px;cursor:pointer;background:rgba(255,255,255,.05);}
.oact-hd-bar:hover .oact-progbar{opacity:.85;}
.oact-badge{font-family:var(--mono);font-size:8px;letter-spacing:.12em;text-transform:uppercase;padding:2px 6px;border-radius:2px;background:rgba(200,164,90,.18);color:var(--gold);flex-shrink:0;}
.oact-title{font-family:var(--cin);font-size:1.1rem;color:var(--txd);letter-spacing:.03em;flex:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;padding-left:5px;}
.oact-wc{font-family:var(--mono);font-size:10px;color:var(--txm);white-space:nowrap;}
.oact-pct{font-family:var(--mono);font-size:10px;color:var(--gdim);white-space:nowrap;min-width:36px;text-align:right;}
.oact-chev{color:var(--txm);font-size:11px;transition:transform .2s;flex-shrink:0;}
.oact-chev.open{transform:rotate(180deg);}
.oact-body{display:none;border-top:1px solid rgba(200,164,90,.12);}
.oact-body.open{display:block;}
.oact-edit{display:none;gap:8px;padding:7px 14px 9px;border-top:1px solid rgba(200,164,90,.12);}
.oact-edit.open{display:flex;align-items:center;flex-wrap:wrap;}
.ochap-edit{display:none;gap:8px;padding:5px 14px 7px 22px;border-top:1px solid rgba(122,170,204,.08);}
.ochap-edit.open{display:flex;align-items:center;flex-wrap:wrap;}
.oact-progbar{flex:1;height:4px;background:var(--bg3);border-radius:2px;overflow:hidden;}
.oact-progbar-fill{height:100%;background:linear-gradient(90deg,rgba(122,90,20,.6),var(--gold));border-radius:2px;transition:width .6s;}
.oact-progtxt{font-family:var(--mono);font-size:10px;color:var(--txm);white-space:nowrap;}
.ochap{border-bottom:1px solid rgba(122,170,204,.1);background:rgba(122,170,204,.015);}
.ochap:last-child{border-bottom:none;}
.ochap-hd{display:flex;align-items:center;gap:10px;padding:9px 14px 9px 22px;cursor:pointer;user-select:none;transition:background .12s;}
.ochap-hd:hover{background:rgba(122,170,204,.06);}
.ochap-badge{font-family:var(--mono);font-size:8px;letter-spacing:.1em;text-transform:uppercase;padding:2px 5px;border-radius:2px;background:rgba(122,170,204,.12);color:var(--smoke);flex-shrink:0;}
.ochap-title{font-family:var(--serif);font-size:.88rem;color:var(--txd);flex:1;font-style:italic;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.ochap-wc{font-family:var(--mono);font-size:10px;color:var(--txm);white-space:nowrap;}
.ochap-pct{font-family:var(--mono);font-size:10px;color:var(--txm);min-width:32px;text-align:right;}
.ochap-bar{height:2px;background:var(--bg3);border-radius:2px;overflow:hidden;flex:1;max-width:60px;}
.ochap-bar-fill{height:100%;background:var(--smoke);border-radius:2px;transition:width .5s;}
.ochap-chev{color:var(--txm);font-size:10px;transition:transform .18s;flex-shrink:0;}
.ochap-chev.open{transform:rotate(180deg);}
.ochap-body{display:none;padding:4px 0;}
.ochap-body.open{display:block;}
.ochap-scene{display:flex;align-items:center;gap:8px;padding:5px 14px 5px 36px;border-top:1px solid rgba(122,170,204,.05);}
.ochap-scene-dot{font-size:8px;color:var(--grn);flex-shrink:0;}
.ochap-scene-title{font-family:var(--serif);font-size:.82rem;font-style:italic;color:var(--txd);flex:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.ochap-scene-wc{font-family:var(--mono);font-size:10px;color:var(--txm);white-space:nowrap;}
.oact-scene-row{display:flex;align-items:center;gap:8px;padding:7px 14px 7px 24px;border-bottom:1px solid rgba(200,164,90,.06);}
.oact-scene-row:last-child{border-bottom:none;}
.oact-scene-dot{font-size:8px;color:var(--grn);flex-shrink:0;}
.oact-scene-title{font-family:var(--serif);font-size:.85rem;font-style:italic;color:var(--txd);flex:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.oact-scene-wc{font-family:var(--mono);font-size:10px;color:var(--txm);white-space:nowrap;}
.odraft-empty{font-family:var(--mono);font-size:10px;letter-spacing:.1em;text-transform:uppercase;color:var(--txm);text-align:center;padding:2rem 0;opacity:.5;}
.odraft-toplevel-scene{display:flex;align-items:center;gap:8px;padding:8px 14px;border:1px solid rgba(122,189,138,.15);border-radius:4px;margin-bottom:.5rem;background:rgba(122,189,138,.02);}
.odraft-toplevel-scene-dot{font-size:9px;color:var(--grn);}
.odraft-toplevel-scene-title{font-family:var(--serif);font-size:.88rem;font-style:italic;color:var(--txd);flex:1;}
.odraft-toplevel-scene-wc{font-family:var(--mono);font-size:10px;color:var(--txm);}
.manual-phases-hdr{display:flex;align-items:center;gap:10px;margin:1.8rem 0 .8rem;padding-top:1.4rem;border-top:1px solid var(--br);}
.manual-phases-lbl{font-family:var(--cin);font-size:.78rem;letter-spacing:.14em;text-transform:uppercase;color:var(--gdim);}

/* ── COLOR PICKER SWATCHES ── */
.rt-color-btn{
  position:relative;display:inline-flex;align-items:center;gap:3px;
  font-family:var(--mono);font-size:13px;padding:5px 7px;border-radius:5px;border:none;
  background:transparent;color:var(--txd);cursor:pointer;transition:all .12s;line-height:1;
}
.rt-color-btn:hover{background:var(--sur2);color:var(--tx);}
.rt-color-btn .color-swatch{width:10px;height:10px;border-radius:2px;border:1px solid rgba(255,255,255,.2);display:inline-block;flex-shrink:0;}
.rt-color-picker-wrap{position:relative;display:flex;align-items:center;}
.color-dropdown{
  display:none;position:fixed;z-index:2000;
  background:var(--sur);border:1px solid var(--br2);border-radius:5px;
  padding:8px;box-shadow:0 6px 24px rgba(0,0,0,.4);
  min-width:180px;
}
.color-dropdown.open{display:block;}
.color-dropdown-label{font-family:var(--mono);font-size:8px;letter-spacing:.14em;text-transform:uppercase;color:var(--txm);margin-bottom:5px;}
.color-swatches{display:flex;flex-wrap:wrap;gap:4px;margin-bottom:6px;}
.color-swatch-opt{width:18px;height:18px;border-radius:3px;cursor:pointer;border:2px solid transparent;transition:transform .12s,border-color .12s;}
.color-swatch-opt:hover{transform:scale(1.2);border-color:rgba(255,255,255,.5);}
.color-custom-row{display:flex;gap:5px;align-items:center;border-top:1px solid var(--br3);padding-top:6px;margin-top:2px;}
.color-custom-row input[type=color]{width:28px;height:22px;border:1px solid var(--br);border-radius:2px;cursor:pointer;background:none;padding:1px;}
.color-clear-btn{font-family:var(--mono);font-size:9px;color:var(--txm);background:none;border:1px solid var(--br2);border-radius:2px;padding:3px 7px;cursor:pointer;transition:color .12s;}
.color-clear-btn:hover{color:var(--gold);}

/* ── SCENE DRAG HANDLE ── */
.ms-scene-drag{
  position:absolute;left:-22px;top:0;height:100%;
  display:flex;align-items:flex-start;padding-top:2px;
  cursor:grab;color:var(--txm);font-size:13px;
  opacity:0;transition:opacity .15s;user-select:none;
  width:20px;justify-content:center;
}
.ms-scene-drag:active{cursor:grabbing;}
.ms-scene:hover .ms-scene-drag{opacity:.45;}
.ms-scene{position:relative;margin-bottom:0;}
.ms-scene.ms-dragging{opacity:.35;outline:2px dashed var(--gdim);}
.ms-scene.ms-drag-over{outline:2px solid var(--gold);}

/* ── ADD SCENE INSIDE STRUCT LABELS ── */
.ms-struct-add-btn{
  font-family:var(--mono);font-size:8px;letter-spacing:.08em;text-transform:uppercase;
  background:none;border:1px solid rgba(122,189,138,.25);border-radius:2px;
  color:var(--grn);padding:2px 7px;cursor:pointer;margin-left:auto;
  opacity:0;transition:opacity .15s;flex-shrink:0;
}
.ms-struct-lbl:hover .ms-struct-add-btn{opacity:1;}
.ms-struct-add-btn:hover{background:rgba(122,189,138,.08);}

/* ── PAGE VIEW — discrete page boxes ── */
.ms-page-outer{
  padding:48px 40px 100px;
  min-height:100%;
}
/* Facing pages: spread rows */
.ms-page-outer.facing{
  display:flex;
  flex-direction:column;
  align-items:center;
}
.ms-page-spread{
  display:flex;
  gap:0;
  margin:0 0 48px;
}
/* First spread: single centered page */
.ms-page-spread-first{
  justify-content:center;
}
/* Spine shadow: verso (left page) casts shadow rightward */
.ms-page-spread .ms-page-break:first-child{
  border-radius:2px 0 0 2px;
  box-shadow:var(--page-shadow),4px 0 10px rgba(0,0,0,.13);
}
/* Spine shadow: recto (right page) casts shadow leftward */
.ms-page-spread .ms-page-break:last-child{
  border-radius:0 2px 2px 2px;
  box-shadow:var(--page-shadow),-4px 0 10px rgba(0,0,0,.13);
}
/* When only one page in a spread (last page of odd-count doc), keep full radius */
.ms-page-spread .ms-page-break:only-child{
  border-radius:2px;
  box-shadow:var(--page-shadow);
}
.ms-page-paper{
  background:var(--page-bg);
  color:var(--page-tx);
  width:680px;
  margin:0 auto 32px;
  padding:72px 96px 96px;
  box-shadow:var(--page-shadow);
  border-radius:2px;
  position:relative;
  font-family:var(--ms-font);
  font-size:var(--ms-size);
  line-height:var(--ms-lh);
}
.ms-page-paper .ProseMirror{
  color:var(--page-tx);min-height:0;padding:.15rem 0;outline:none;
  font-family:var(--ms-font);font-size:calc(var(--ms-size) / var(--ui-scale,1));line-height:var(--ms-lh);
  word-wrap:break-word;
}
.ms-page-paper .ProseMirror p{margin-bottom:.5em;}
.ms-page-paper .ProseMirror strong{color:var(--page-tx);}
/* Prose blocks inside discrete page boxes */
.ms-page-break .ProseMirror{min-height:0;padding:.15rem 0;color:var(--page-tx);}
.ms-page-break .ProseMirror p{margin-bottom:.5em;}
.ms-page-break .ProseMirror strong{color:var(--page-tx);}
/* Continuation fragment — second half of a split paragraph; no leading indent */
.ms-page-break .ProseMirror p.para-fragment-cont{margin-top:0;text-indent:0;}
/* Paragraph-level wrapper in page view */
.ms-page-para{
  font-family:var(--ms-font);font-size:calc(var(--ms-size) / var(--ui-scale,1));line-height:var(--ms-lh);
  color:var(--page-tx);word-wrap:break-word;outline:none;
}
.ms-page-para p{margin-bottom:.5em;}
.ms-page-para strong{color:var(--page-tx);}
.ms-page-break-line{position:absolute;left:0;right:0;border-top:1.5px dashed rgba(0,0,0,.18);pointer-events:none;display:flex;align-items:flex-start;justify-content:center;}
.ms-page-break-line::after{content:attr(data-page);font-family:var(--mono);font-size:9px;color:rgba(0,0,0,.3);background:var(--page-bg);padding:0 10px;letter-spacing:.08em;transform:translateY(-50%);}
.ms-page-sep{text-align:center;color:rgba(0,0,0,.25);letter-spacing:.35em;margin:1.4em 0;font-size:.85em;font-family:var(--serif);}
.ms-page-struct{
  font-family:var(--cin);font-size:1.4rem;letter-spacing:.08em;
  color:rgba(0,0,0,.6);font-weight:400;
  margin:2.5em 0 1em;padding-bottom:.5em;
  border-bottom:1px solid rgba(0,0,0,.08);
}
.ms-page-struct.type-chapter{
  font-size:.82rem;letter-spacing:.06em;color:rgba(0,0,0,.5);
  margin-top:1.6em;border-bottom:none;padding-bottom:0;
}

/* ── PAGE MARGIN ANNOTATIONS ── */
.pa-lane{display:flex;align-items:flex-start;padding:1px 3px;box-sizing:border-box;}
.pa-plus{opacity:.18;font-size:13px;line-height:14px;width:14px;height:14px;display:flex;align-items:center;justify-content:center;cursor:pointer;color:rgba(0,0,0,.5);border-radius:2px;transition:opacity .12s,background .1s;flex-shrink:0;}
.pa-lane:hover .pa-plus,.pa-plus:hover{opacity:1;background:rgba(0,0,0,.07);}
.pa-note{font-size:8px;line-height:1.55;padding:0 4px;white-space:normal;word-break:break-word;display:block;box-sizing:border-box;cursor:pointer;opacity:0.82;transition:opacity .1s;font-family:var(--sans);}
.pa-note:hover{opacity:1;}
/* Popover */
.pa-popover{position:fixed;z-index:1200;background:var(--bg2);border:1px solid var(--br);border-radius:8px;box-shadow:0 4px 20px rgba(0,0,0,.18);padding:12px;width:220px;display:none;box-sizing:border-box;}
.pa-popover textarea{width:100%;box-sizing:border-box;background:var(--bg);border:1px solid var(--br);border-radius:5px;color:var(--tx);font-family:var(--sans);font-size:12px;padding:6px 8px;resize:vertical;min-height:72px;outline:none;line-height:1.5;display:block;}
.pa-popover-colors{display:flex;gap:6px;margin:8px 0 10px;}
.pa-popover-swatch{width:14px;height:14px;border-radius:50%;cursor:pointer;border:2px solid transparent;transition:border-color .1s;flex-shrink:0;outline:1px solid rgba(0,0,0,.15);}
.pa-popover-swatch.sel{border-color:var(--gold);outline-color:transparent;}
.pa-popover-row{display:flex;gap:4px;margin:6px 0 0;}
.pa-opt-btn{flex:1;padding:3px 2px;border-radius:3px;border:1px solid var(--br);background:var(--bg);color:var(--tx);cursor:pointer;font-size:10px;transition:background .1s,color .1s;}
.pa-opt-btn.sel{background:var(--gold);color:#fff;border-color:var(--gold);}
.pa-opt-btn:hover:not(.sel){background:var(--bg2);}
.pa-pad-row{align-items:center;}
.pa-pad-label{font-size:9px;color:var(--txm);display:flex;align-items:center;gap:3px;flex:1;}
.pa-pad-inp{width:44px;padding:2px 4px;border:1px solid var(--br);border-radius:3px;background:var(--bg);color:var(--tx);font-size:10px;font-family:var(--sans);}
.pa-font-sel{width:100%;padding:3px 5px;border:1px solid var(--br);border-radius:3px;background:var(--bg);color:var(--tx);font-size:10px;font-family:var(--sans);cursor:pointer;}
.pa-popover-btns{display:flex;gap:6px;margin-top:6px;}
.pa-popover-btns .ann-del{flex:1;font-size:11px;padding:5px 8px;}
.pa-popover-btns .btn{flex:1;font-size:11px;padding:5px 8px;background:var(--gold);color:#fff;border:none;border-radius:4px;cursor:pointer;}
.pa-popover-btns .btn:hover{opacity:.88;}

/* ── PROGRESS TAB — auto phases sync note ── */
.phase-auto-badge{font-family:var(--mono);font-size:8px;letter-spacing:.08em;background:rgba(122,189,138,.12);color:var(--grn);padding:2px 6px;border-radius:2px;margin-left:6px;}

/* Editable target + date fields inside act/chapter progress blocks */
.odraft-targets{
  display:flex;align-items:center;gap:8px;
  padding:0 14px 10px;
  border-top:1px solid rgba(180,140,80,.06);
}
.odraft-target-field{
  display:flex;align-items:center;gap:5px;flex:1;
}
.odraft-target-label{
  font-family:var(--mono);font-size:8px;letter-spacing:.12em;text-transform:uppercase;
  color:var(--txm);white-space:nowrap;flex-shrink:0;
}
.odraft-target-inp{
  background:transparent;border:none;border-bottom:1px solid var(--br2);
  color:var(--txd);font-family:var(--mono);font-size:10px;
  padding:1px 3px;outline:none;width:80px;transition:border-color .15s;
}
.odraft-target-inp:focus{border-bottom-color:var(--gdim);color:var(--gold);}
.odraft-target-inp::placeholder{color:var(--txm);opacity:.5;}
.odraft-date-inp{
  background:transparent;border:none;border-bottom:1px solid var(--br2);
  color:var(--txd);font-family:var(--mono);font-size:10px;
  padding:1px 3px;outline:none;width:100px;transition:border-color .15s;
}
.odraft-date-inp:focus{border-bottom-color:var(--gdim);color:var(--gold);}
.odraft-date-inp::placeholder{color:var(--txm);opacity:.5;}
/* Chapter target row */
.ochap-targets{
  display:flex;align-items:center;gap:8px;
  padding:5px 22px 5px;
  border-top:1px solid rgba(122,170,204,.06);
  background:rgba(122,170,204,.01);
}
.ochap-target-inp{
  background:transparent;border:none;border-bottom:1px solid var(--br2);
  color:var(--txd);font-family:var(--mono);font-size:9px;
  padding:1px 3px;outline:none;width:70px;transition:border-color .15s;
}
.ochap-target-inp:focus{border-bottom-color:var(--smoke);color:var(--smoke);}
.ochap-target-inp::placeholder{color:var(--txm);opacity:.4;}
.ochap-date-inp{
  background:transparent;border:none;border-bottom:1px solid var(--br2);
  color:var(--txd);font-family:var(--mono);font-size:9px;
  padding:1px 3px;outline:none;width:90px;transition:border-color .15s;
}
.ochap-date-inp:focus{border-bottom-color:var(--smoke);color:var(--smoke);}
.ochap-date-inp::placeholder{color:var(--txm);opacity:.4;}
.ochap-target-label{
  font-family:var(--mono);font-size:8px;letter-spacing:.1em;text-transform:uppercase;
  color:var(--txm);white-space:nowrap;flex-shrink:0;
}
/* ── SIDEBAR NAV DRAG & RENAME ── */
.sb-tree-item{position:relative;display:flex;align-items:center;gap:5px;}
.sb-nav-drag{
  position:absolute;left:2px;
  cursor:grab;color:var(--txm);font-size:10px;
  opacity:0;transition:opacity .12s;
  user-select:none;
}
.sb-nav-drag:active{cursor:grabbing;}
.sb-tree-item:hover .sb-nav-drag{opacity:.4;}
.sb-tree-item.sn-dragging{opacity:.3;}
.sb-tree-item.sn-drag-over-before{border-top:2px solid var(--gold);}
.sb-tree-item.sn-drag-over-after{border-bottom:2px solid var(--gold);}
.sb-tree-item.sn-drag-over-nest{outline:2px dashed var(--grn);outline-offset:-1px;background:rgba(122,189,138,.05);}
.sb-tree-item.en-dragging{opacity:.3;}
.sb-tree-item.en-drag-over{background:var(--gfaint);box-shadow:inset 0 2px 0 var(--gold);}
.sb-tree-item.en-drag-into{background:var(--gfaint);box-shadow:inset 0 0 0 1.5px var(--gold);border-radius:5px;}
.en-group-toggle{font-family:var(--mono);font-size:8px;color:var(--txd);flex-shrink:0;width:12px;text-align:center;cursor:pointer;opacity:.6;transition:opacity .1s;line-height:1;}
.en-group-toggle:hover{opacity:1;}
.sb-tree-item.en-group-row>.sb-tree-name{font-weight:500;color:var(--tx);}
.sb-tree-item.en-group-row.active>.sb-tree-name{color:var(--gold);}
.en-group-count{font-family:var(--mono);font-size:8px;color:var(--txm);background:var(--sur2);border-radius:8px;padding:1px 5px;flex-shrink:0;line-height:1.6;}
/* inline rename input inside sidebar items */
.sb-rename-inp{
  flex:1;background:var(--bg2);border:1px solid var(--gdim);border-radius:2px;
  color:var(--tx);font-family:inherit;font-size:inherit;
  padding:1px 5px;outline:none;min-width:0;
}
/* ms scene item flag dot */
.sb-ms-scene-item{position:relative;display:flex;align-items:center;gap:5px;}
.sb-ms-flag{display:inline-block;width:5px;height:5px;border-radius:50%;flex-shrink:0;margin-left:1px;}

#ctx-menu{user-select:none;}
.ctx-item{display:flex;align-items:center;gap:9px;padding:6px 14px;cursor:pointer;font-family:var(--mono);font-size:10px;letter-spacing:.05em;color:var(--txd);transition:background .1s,color .1s;white-space:nowrap;}
.ctx-item:hover{background:var(--gfaint);color:var(--tx);}
.ctx-item.danger:hover{background:rgba(192,88,48,.1);color:var(--ember);}
.ctx-item.disabled{opacity:.35;pointer-events:none;}
.ctx-sep{height:1px;background:var(--br3);margin:3px 0;}
.ctx-label{padding:4px 14px 2px;font-family:var(--mono);font-size:8px;letter-spacing:.18em;text-transform:uppercase;color:var(--txm);}
/* ── SCRAP PILE ── */
.scrap-empty{font-family:var(--mono);font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:var(--txm);text-align:center;padding:3rem 0;opacity:.4;}
/* ── SEARCH PANEL ── */
#search-panel{
  position:absolute;top:0;left:0;right:0;bottom:0;
  background:var(--bg);z-index:200;display:flex;flex-direction:column;
  overflow:hidden;transition:background .3s;
}
#search-topbar{
  display:flex;align-items:center;gap:10px;
  padding:0 16px;min-height:44px;flex-shrink:0;
  background:var(--bg2);border-bottom:1px solid var(--br);
  transition:background .3s,border-color .3s;
}
#search-topbar:focus-within svg{color:var(--gdim);}
#search-inp{
  flex:1;background:transparent;border:none;outline:none;
  font-family:var(--serif);font-size:1rem;color:var(--tx);
}
#search-inp::placeholder{color:var(--txm);}
#search-close{background:none;border:none;cursor:pointer;color:var(--txm);font-size:12px;padding:2px 6px;transition:color .15s;flex-shrink:0;}
#search-close:hover{color:var(--tx);}
#search-body{flex:1;display:flex;flex-direction:row;overflow:hidden;min-height:0;}
#search-sidebar{
  width:180px;flex-shrink:0;display:flex;flex-direction:column;
  background:var(--bg2);border-right:1px solid var(--br);
  overflow-y:auto;transition:background .3s,border-color .3s;
}
.search-sb-lbl{
  font-family:var(--mono);font-size:8px;letter-spacing:.2em;text-transform:uppercase;
  color:var(--txm);padding:14px 13px 5px;
}
.search-sb-item{
  display:flex;align-items:center;gap:8px;padding:5px 13px;
  cursor:pointer;font-family:var(--mono);font-size:9px;letter-spacing:.04em;
  color:var(--txm);user-select:none;transition:color .12s,background .12s;
}
.search-sb-item:hover{background:var(--sur);color:var(--txd);}
.search-sb-item input{display:none;}
.search-sb-item::before{
  content:'';display:inline-block;width:5px;height:5px;border-radius:50%;
  border:1px solid var(--br2);flex-shrink:0;transition:background .12s,border-color .12s;
}
.search-sb-item:has(input:checked){color:var(--tx);}
.search-sb-item:has(input:checked)::before{background:var(--gold);border-color:var(--gold);}
#search-results-wrap{flex:1;overflow-y:auto;padding:12px 16px;}
#search-results{}
.sr-empty{font-family:var(--mono);font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:var(--txm);text-align:center;padding:3rem 0;opacity:.4;}
.sr-section-lbl{font-family:var(--mono);font-size:8px;letter-spacing:.18em;text-transform:uppercase;color:var(--txm);padding:8px 0 4px;border-bottom:1px solid var(--br3);margin-bottom:6px;margin-top:12px;}
.sr-section-lbl:first-child{margin-top:0;}
.sr-item{
  display:flex;align-items:flex-start;gap:10px;
  padding:8px 10px;border-radius:4px;cursor:pointer;
  transition:background .1s;margin-bottom:2px;
  border:1px solid transparent;
}
.sr-item:hover{background:var(--sur);border-color:var(--br);}
.sr-item-icon{font-size:11px;color:var(--txm);flex-shrink:0;margin-top:1px;}
.sr-item-body{flex:1;min-width:0;}
.sr-item-title{font-family:var(--cin);font-size:.85rem;color:var(--txd);margin-bottom:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.sr-item-meta{font-family:var(--mono);font-size:9px;color:var(--txm);}
.sr-item-preview{font-family:var(--serif);font-size:.82rem;color:var(--txm);font-style:italic;margin-top:3px;overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;}
.sr-item-flag{display:inline-block;width:6px;height:6px;border-radius:50%;flex-shrink:0;margin-top:4px;border:1px solid rgba(0,0,0,.1);}
mark.sr-hl{background:rgba(200,164,90,.3);color:inherit;border-radius:2px;padding:0 1px;}
.sr-count{font-family:var(--mono);font-size:9px;color:var(--txm);padding:4px 0 8px;}

/* ── SETTINGS PANEL ── */
#prefs-panel,#doc-settings-panel{
  position:fixed;top:0;left:0;right:0;bottom:0;
  background:var(--bg);z-index:200;overflow-y:auto;
  transition:background .3s;
}
#prefs-inner,#doc-settings-inner{max-width:1100px;margin:0 auto;padding:2rem 2.5rem 4rem;}
/* Doc settings: controls are small toggles — remove the wide min-width from prefs */
#doc-settings-panel .prefs-row{align-items:center;}
#doc-settings-panel .prefs-col{min-width:0;}
#doc-settings-panel .prefs-row{overflow:hidden;}
#doc-settings-panel .prefs-row-control{min-width:0;max-width:100%;flex-shrink:1;flex-grow:0;}
#doc-settings-panel .st-select{width:100%;max-width:100%;box-sizing:border-box;}
/* Daylight: white/transparent inputs and selects */
[data-theme="daylight"] #doc-settings-panel .st-select,
[data-theme="daylight"] #doc-settings-panel .st-input,
[data-theme="daylight"] #doc-settings-panel .ps-zone-inp,
[data-theme="daylight"] #doc-settings-panel #ps-style-guide,
[data-theme="daylight"] #doc-settings-panel .ps-token-card{background:#fff!important;}
/* Zone inputs (header/footer left/center/right) */
.ps-zone-inp{
  width:100%;box-sizing:border-box;font-size:.82rem;padding:5px 7px;
  background:var(--bg2);border:1px solid var(--br);border-radius:5px;color:var(--tx);
}
.ps-zone-inp::placeholder{color:var(--txm);}
.ps-token{background:var(--br);padding:1px 5px;border-radius:3px;font-size:.72rem;cursor:grab;user-select:none;transition:opacity .1s;}
.ps-token:active{cursor:grabbing;opacity:.6;}
.ps-zone-inp.ps-drop-over{border-color:var(--gold)!important;box-shadow:0 0 0 2px color-mix(in srgb,var(--gold) 18%,transparent);}
.prefs-cols{display:grid;grid-template-columns:repeat(4,1fr);gap:0 1.8rem;align-items:start;}
#doc-settings-panel .prefs-cols{grid-template-columns:repeat(4,1fr);}
#prefs-panel .prefs-cols{grid-template-columns:repeat(3,1fr);}
#prefs-panel .prefs-advanced-cols{grid-template-columns:repeat(3,1fr);}
#prefs-panel .prefs-col .prefs-row{flex-direction:column;align-items:flex-start;gap:4px;}
#prefs-panel .prefs-col .prefs-row-control{min-width:0;width:100%;}
.prefs-col .prefs-section:last-child{border-bottom:none;padding-bottom:0;margin-bottom:0;}
.acct-divider{height:1px;background:var(--br);margin:8px 0;}
.prefs-tab-nav{display:flex;gap:0;border-bottom:1px solid var(--br);margin-bottom:1.8rem;}
.prefs-tab-btn{background:none;border:none;border-bottom:2px solid transparent;cursor:pointer;font-family:var(--mono);font-size:9px;letter-spacing:.15em;text-transform:uppercase;color:var(--gdim);padding:8px 18px 10px;margin-bottom:-1px;transition:color .15s,border-color .15s;}
.prefs-tab-btn:hover{color:var(--tx);}
.prefs-tab-btn.active{color:var(--gold);border-bottom-color:var(--gold);}
.prefs-hdr{display:flex;align-items:center;justify-content:space-between;margin-bottom:1.5rem;padding-bottom:1rem;border-bottom:1px solid var(--br);}
.prefs-title{font-family:var(--cin);font-size:1.4rem;letter-spacing:.06em;color:var(--gold);}
.prefs-close{background:none;border:1px solid var(--br2);border-radius:3px;cursor:pointer;color:var(--txm);font-size:11px;padding:4px 10px;transition:all .15s;}
.prefs-close:hover{border-color:var(--gdim);color:var(--tx);}
.prefs-section{margin-bottom:2rem;padding-bottom:1.5rem;border-bottom:1px solid var(--br3);}
.prefs-section:last-child{border-bottom:none;}
.prefs-section-lbl{font-family:var(--mono);font-size:9px;letter-spacing:.2em;text-transform:uppercase;color:var(--gdim);margin-bottom:1rem;}
.prefs-row{display:flex;align-items:center;gap:16px;margin-bottom:.9rem;}
.prefs-row-label{font-family:var(--serif);font-size:.92rem;color:var(--txd);flex:1;}
.prefs-row-control{flex-shrink:0;min-width:180px;}
kbd{display:inline-flex;align-items:center;justify-content:center;font-family:var(--mono);font-size:9px;padding:2px 6px;border:1px solid var(--br);border-bottom-width:2px;border-radius:3px;background:var(--bg2);color:var(--txm);white-space:nowrap;margin:0 1px;line-height:1.4;}
.kb-shortcuts{display:grid;grid-template-columns:1fr 1fr;gap:0 24px;}
.kb-group{grid-column:1/-1;font-family:var(--mono);font-size:9px;letter-spacing:.15em;text-transform:uppercase;color:var(--gdim);margin:10px 0 4px;border-top:1px solid var(--br);padding-top:8px;}
.kb-group:first-child{border-top:none;padding-top:0;margin-top:0;}
.kb-item{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:2px 8px;padding:4px 0;font-size:.82rem;color:var(--txd);}
.kb-item>span:last-child{display:flex;align-items:center;gap:0;flex-shrink:0;}
.kb-ctrl{display:flex;align-items:center;gap:4px;flex-shrink:0;}
.kb-rec-btn{display:inline-flex;align-items:center;gap:0;background:none;border:1px solid var(--br);border-radius:4px;padding:2px 5px;cursor:pointer;min-height:22px;min-width:32px;justify-content:center;transition:border-color .15s;}
.kb-rec-btn:hover{border-color:var(--gdim);}
.kb-rec-btn kbd{font-family:var(--mono);font-size:9px;color:var(--txd);background:none;border:none;padding:0;margin:0;}
.kb-recording .kb-rec-btn{border-color:var(--gold);background:var(--gfaint);animation:kb-pulse 1s ease infinite;}
@keyframes kb-pulse{0%,100%{opacity:1;}50%{opacity:.5;}}
.kb-rec-hint{font-family:var(--mono);font-size:9px;color:var(--gdim);letter-spacing:.04em;white-space:nowrap;}
.kb-rst{background:none;border:none;cursor:pointer;color:var(--txm);font-size:12px;padding:1px 3px;opacity:.45;line-height:1;transition:opacity .15s;}
.kb-rst:hover{opacity:1;}
.kb-restore-all{background:none;border:none;cursor:pointer;font-family:var(--mono);font-size:9px;letter-spacing:.08em;color:var(--txm);opacity:.5;padding:0;transition:opacity .15s;}
.kb-restore-all:hover{opacity:1;}
.kb-conflict{flex-basis:100%;font-family:var(--mono);font-size:9px;color:var(--ember);display:flex;align-items:center;gap:6px;padding:2px 0;}
.kb-conflict strong{font-weight:600;}
.kb-conflict-ok,.kb-conflict-cancel{background:none;border:1px solid currentColor;border-radius:3px;padding:1px 6px;cursor:pointer;font-family:var(--mono);font-size:9px;white-space:nowrap;}
.kb-conflict-ok{color:var(--ember);}
.kb-conflict-cancel{color:var(--txm);}
.st-select{width:100%;background:var(--bg2);border:1px solid var(--br);border-radius:3px;color:var(--tx);font-family:var(--mono);font-size:10px;padding:6px 10px;outline:none;cursor:pointer;transition:border-color .15s;}
.st-select:focus{border-color:var(--gdim);}
.st-input{background:var(--bg2);border:1px solid var(--br);border-radius:3px;color:var(--tx);font-family:var(--mono);font-size:10px;padding:6px 10px;outline:none;transition:border-color .15s;}
.st-input:focus{border-color:var(--gdim);}
.st-toggle{display:inline-flex;align-items:center;cursor:pointer;position:relative;}
.st-toggle input{position:absolute;opacity:0;width:0;height:0;}
.st-toggle-track{display:inline-block;width:34px;height:18px;background:var(--br2);border-radius:9px;transition:background .2s;position:relative;}
.st-toggle-track::after{content:'';position:absolute;top:3px;left:3px;width:12px;height:12px;border-radius:50%;background:#fff;transition:transform .2s;}
.st-toggle input:checked+.st-toggle-track{background:var(--gdim);}
.st-toggle input:checked+.st-toggle-track::after{transform:translateX(16px);}
.st-btn{font-family:var(--mono);font-size:9px;letter-spacing:.1em;text-transform:uppercase;background:var(--sur);border:1px solid var(--br2);border-radius:3px;color:var(--txm);padding:6px 14px;cursor:pointer;transition:all .15s;}
.st-btn:hover{border-color:var(--gdim);color:var(--gdim);}
.st-btn-dng{border-color:rgba(192,88,48,.3);color:var(--ember);}
.st-btn-dng:hover{background:rgba(192,88,48,.08);}
/* settings sub-label (hierarchy colours header) */
.st-sub-lbl{font-family:var(--mono);font-size:8px;letter-spacing:.12em;text-transform:uppercase;color:var(--txm);padding:14px 0 4px;margin-top:2px;border-top:1px solid var(--br);}
/* font chips */
.st-font-chips{display:flex;flex-wrap:wrap;gap:6px;padding-top:2px;}
.st-font-chip{padding:5px 13px;border-radius:20px;border:1.5px solid var(--br2);font-size:12px;cursor:pointer;transition:border-color .15s,background .15s,color .15s;color:var(--txd);background:transparent;line-height:1.4;}
.st-font-chip:hover{background:var(--bg2);color:var(--tx);}
.st-font-chip.active{border-color:var(--gold);color:var(--gold);background:var(--gfaint);}
/* accent swatches */
.st-accent-swatches{display:flex;flex-wrap:wrap;gap:7px;padding-top:4px;align-items:center;}
.st-accent-swatch{width:22px;height:22px;border-radius:50%;cursor:pointer;border:2px solid transparent;transition:transform .12s,border-color .15s;flex-shrink:0;outline:none;}
.st-accent-swatch:hover{transform:scale(1.15);}
.st-accent-swatch.active{border-color:var(--tx);}
.st-accent-swatch[data-key=""]{background:conic-gradient(#2563eb 0deg,#0d9488 90deg,#e11d48 180deg,#7c3aed 270deg,#2563eb 360deg);border:1.5px dashed var(--br2);}
.st-accent-swatch[data-key=""].active{border-color:var(--tx);}
.st-theme-grid{display:flex;gap:8px;flex-wrap:wrap;}
.st-theme-opt{
  display:flex;flex-direction:column;align-items:center;gap:5px;
  cursor:pointer;padding:8px 10px;border-radius:4px;
  border:1px solid var(--br);background:var(--sur);
  transition:all .15s;min-width:80px;
}
.st-theme-opt:hover{border-color:var(--gdim);}
.st-theme-opt.active{border-color:var(--gold);background:var(--gfaint);}
.st-theme-swatch{width:28px;height:28px;border-radius:50%;flex-shrink:0;}
.st-theme-name{font-family:var(--mono);font-size:8px;letter-spacing:.1em;text-transform:uppercase;color:var(--txm);}
.st-theme-opt.active .st-theme-name{color:var(--gold);}
.scrap-nav-group-lbl{font-family:var(--mono);font-size:7px;letter-spacing:.18em;text-transform:uppercase;color:var(--txm);padding:6px 10px 2px;opacity:.55;}
.scrap-nav-item{display:flex;align-items:center;gap:6px;padding:5px 10px;cursor:pointer;border-left:2px solid transparent;transition:background .1s;}
.scrap-nav-item:hover{background:var(--sur);}
.scrap-nav-item.active{background:var(--gfaint);border-left-color:var(--ember);}
.scrap-nav-item.scrap-dragging{opacity:.3;}
.scrap-nav-item.scrap-drag-over{background:var(--sur);box-shadow:inset 0 2px 0 var(--gold);}
.scrap-nav-item-icon{width:16px;height:14px;display:flex;align-items:center;justify-content:center;flex-shrink:0;color:var(--txd);}
.scrap-nav-item-name{font-family:var(--serif);font-size:.78rem;font-style:italic;color:var(--txd);flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.scrap-nav-item-ago{font-family:var(--mono);font-size:8px;color:var(--txm);flex-shrink:0;}
#scrap-body{padding:1.5rem 1rem 3rem;}
/* Scrap pile cards */
.scrap-pile-card{max-width:700px;margin:0 auto 2rem;padding:1.4rem 1.8rem 1rem;background:var(--sur);border:1px solid var(--br);border-radius:10px;box-shadow:0 2px 10px rgba(0,0,0,.08);}
.scrap-pile-card--active{border-left:3px solid var(--ember);padding-left:calc(1.8rem - 2px);}
[data-theme="daylight"] .scrap-pile-card{background:#ffffff;box-shadow:0 2px 12px rgba(0,0,0,.11);}
/* Scrap detail view */
.scrap-detail{max-width:700px;margin:0 auto;padding:2rem 2.5rem 4rem;}
#scrap-body .scrap-detail{margin-bottom:1rem;}
.scrap-detail-hdr{display:flex;align-items:flex-start;margin-bottom:.75rem;padding-bottom:.75rem;border-bottom:1px solid var(--br);}
.scrap-detail-icon{font-size:1.6rem;flex-shrink:0;opacity:.5;}
.scrap-detail-meta{flex:1;}
.scrap-detail-title{font-family:var(--cin);font-size:1.3rem;color:var(--gold);margin-bottom:4px;}
.scrap-detail-info{font-family:var(--mono);font-size:9px;color:var(--txm);margin-bottom:8px;}
.scrap-detail-acts{display:flex;gap:8px;}
.scrap-detail-restore{font-family:var(--mono);font-size:8px;letter-spacing:.08em;text-transform:uppercase;background:none;border:1px solid var(--br2);border-radius:2px;color:var(--txm);padding:4px 10px;cursor:pointer;transition:all .15s;}
.scrap-detail-restore:hover{border-color:var(--grn);color:var(--grn);}
.scrap-detail-del{font-family:var(--mono);font-size:8px;letter-spacing:.08em;text-transform:uppercase;background:none;border:1px solid rgba(192,88,48,.25);border-radius:2px;color:var(--ember);padding:4px 10px;cursor:pointer;transition:all .15s;}
.scrap-detail-del:hover{background:rgba(192,88,48,.1);}
.scrap-snippet{font-family:var(--serif);font-size:.88rem;line-height:1.7;color:var(--txd);opacity:.75;margin:0 0 .5rem;display:-webkit-box;-webkit-line-clamp:4;-webkit-box-orient:vertical;overflow:hidden;}
.scrap-expand-row{margin-bottom:1rem;}
.scrap-expand-btn{font-family:var(--mono);font-size:8px;letter-spacing:.1em;text-transform:uppercase;background:none;border:none;color:var(--txm);cursor:pointer;padding:0;transition:color .15s;}
.scrap-expand-btn:hover{color:var(--gold);}
.scrap-detail-content{background:var(--sur);border:1px solid var(--br);border-radius:4px;padding:16px 18px;margin-top:1rem;}
.scrap-detail-content-lbl{font-family:var(--mono);font-size:8px;letter-spacing:.15em;text-transform:uppercase;color:var(--txm);margin-bottom:8px;}
.scrap-detail-prose{font-family:var(--serif);font-size:.98rem;line-height:1.8;color:var(--txd);}
.scrap-detail-fields{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin-top:.5rem;}
.scrap-detail-field label{font-family:var(--mono);font-size:8px;letter-spacing:.12em;text-transform:uppercase;color:var(--txm);display:block;margin-bottom:4px;}
.scrap-detail-field p{font-family:var(--serif);font-size:.9rem;color:var(--txd);margin:0;line-height:1.65;}
.scrap-group{margin-bottom:1.2rem;}
.scrap-group-lbl{font-family:var(--mono);font-size:8px;letter-spacing:.18em;text-transform:uppercase;color:var(--txm);margin-bottom:.5rem;padding-bottom:.3rem;border-bottom:1px solid var(--br3);}
.scrap-item{display:flex;align-items:flex-start;gap:10px;border:1px solid var(--br);border-radius:4px;padding:10px 12px;margin-bottom:.5rem;background:var(--sur);}
.scrap-item-icon{font-size:1rem;flex-shrink:0;margin-top:1px;opacity:.6;}
.scrap-item-body{flex:1;min-width:0;}
.scrap-item-title{font-family:var(--cin);font-size:.88rem;color:var(--txd);margin-bottom:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.scrap-item-meta{font-family:var(--mono);font-size:9px;color:var(--txm);}
.scrap-item-preview{font-family:var(--serif);font-size:.82rem;color:var(--txm);font-style:italic;margin-top:4px;overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;}
.scrap-item-acts{display:flex;gap:5px;flex-shrink:0;margin-top:1px;}
.scrap-restore-btn{font-family:var(--mono);font-size:8px;letter-spacing:.08em;text-transform:uppercase;background:none;border:1px solid var(--br2);border-radius:2px;color:var(--txm);padding:3px 8px;cursor:pointer;transition:all .15s;}
.scrap-restore-btn:hover{border-color:var(--grn);color:var(--grn);}
.scrap-del-btn{font-family:var(--mono);font-size:8px;letter-spacing:.08em;text-transform:uppercase;background:none;border:1px solid rgba(192,88,48,.25);border-radius:2px;color:var(--ember);padding:3px 8px;cursor:pointer;transition:all .15s;}
.scrap-del-btn:hover{background:rgba(192,88,48,.1);}

/* ═══════════════════════════════════════════════════════════
   AUTH OVERLAY
═══════════════════════════════════════════════════════════ */
#auth-overlay{position:fixed;inset:0;background:var(--bg);z-index:2000;display:flex;align-items:center;justify-content:center;}
.auth-box{background:var(--sur);border:1px solid var(--br2);border-radius:12px;padding:36px;width:100%;max-width:380px;box-shadow:0 8px 48px rgba(0,0,0,.5);}
.auth-wordmark{font-family:var(--cin);font-size:1.4rem;letter-spacing:.2em;color:var(--gold);text-align:center;margin-bottom:28px;}
.auth-wm-img{display:none;height:52px;width:auto;margin:0 auto;}
[data-theme="daylight"] .auth-wm-img{display:block;}
.auth-tabs{display:flex;margin-bottom:24px;border-bottom:1px solid var(--br);}
.auth-tab{flex:1;background:none;border:none;border-bottom:2px solid transparent;padding:9px 0;font-family:var(--mono);font-size:10px;letter-spacing:.1em;text-transform:uppercase;color:var(--txd);cursor:pointer;transition:all .15s;margin-bottom:-1px;}
.auth-tab.active{color:var(--gold);border-bottom-color:var(--gold);}
.auth-tab:hover:not(.active){color:var(--tx);}
.auth-error{font-family:var(--mono);font-size:10px;color:var(--ember);min-height:18px;margin-bottom:6px;}
#auth-signin-form .setup-btn,#auth-register-form .setup-btn{width:100%;margin-top:4px;}

/* ═══════════════════════════════════════════════════════════
   ACCOUNT DROPDOWN
═══════════════════════════════════════════════════════════ */
#account-dropdown{position:absolute;top:calc(100% + 8px);right:0;background:var(--sur);border:1px solid var(--br2);border-radius:8px;padding:12px;min-width:210px;box-shadow:0 8px 28px rgba(0,0,0,.45);z-index:500;}
.acct-user{display:flex;align-items:center;gap:10px;padding-bottom:10px;border-bottom:1px solid var(--br);margin-bottom:10px;}
.acct-avatar{width:32px;height:32px;border-radius:50%;background:var(--gold);color:var(--bg);display:flex;align-items:center;justify-content:center;font-family:var(--cin);font-size:12px;font-weight:600;flex-shrink:0;overflow:hidden;}
.acct-name{font-family:var(--serif);font-size:13px;color:var(--tx);line-height:1.3;}
.acct-email{font-family:var(--mono);font-size:9px;color:var(--txd);margin-top:2px;}
/* Account switcher rows */
.acct-switch-row{display:flex;align-items:center;gap:9px;text-align:left;padding:6px 10px;}
.acct-switch-av{width:26px;height:26px;border-radius:50%;background:var(--sur2);color:var(--txm);display:flex;align-items:center;justify-content:center;font-family:var(--cin);font-size:11px;font-weight:600;flex-shrink:0;}
.acct-switch-info{display:flex;flex-direction:column;gap:1px;flex:1;min-width:0;overflow:hidden;}
.acct-switch-name{font-family:var(--serif);font-size:12px;color:var(--tx);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.acct-switch-email{font-family:var(--mono);font-size:9px;color:var(--txd);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.acct-btn{width:100%;background:none;border:1px solid var(--br2);border-radius:4px;padding:6px 10px;font-family:var(--mono);font-size:12px;letter-spacing:.07em;text-transform:uppercase;color:var(--txd);cursor:pointer;transition:all .15s;text-align:left;}
.acct-btn:hover{border-color:var(--ember);color:var(--ember);}
.acct-btn-dng{color:var(--ember);border-color:var(--ember);opacity:.7;}
.acct-btn-dng:hover{opacity:1;background:var(--gfaint);}

/* ═══════════════════════════════════════════════════════════════
   THEME: STEAMPUNK — STRUCTURAL OVERRIDES
   Iron & coal backgrounds. Brass gold lettering. Victorian slab
   type. Industrial panel borders. Gear watermark in sidebar.
═══════════════════════════════════════════════════════════════ */

/* Subtle rivet-dot texture on app chrome backgrounds */
[data-theme="steampunk"] body{
  background-image:radial-gradient(circle,rgba(184,138,42,0.035) 1px,transparent 1px);
  background-size:18px 18px;
}

/* Large faded gear watermark in sidebar */
[data-theme="steampunk"] #sidebar::before{
  content:'⚙';position:absolute;bottom:-20px;left:50%;
  transform:translateX(-50%);font-size:150px;line-height:1;
  color:rgba(184,138,42,0.06);pointer-events:none;z-index:0;
  user-select:none;
}
/* Small gear in footer */
[data-theme="steampunk"] .sb-footer::after{
  content:'⚙ ⚙';display:block;text-align:center;
  font-size:10px;color:rgba(184,138,42,0.2);margin-top:4px;
  letter-spacing:6px;pointer-events:none;
}

/* Wordmark — Rye slab, brass nameplate */
[data-theme="steampunk"] .sb-wordmark{font-family:'Rye',serif;font-size:.72rem;letter-spacing:.22em;text-transform:uppercase;text-shadow:0 1px 3px rgba(0,0,0,.7);}

/* Sidebar tree typography */
[data-theme="steampunk"] .sb-proj-name{font-family:'Rye',serif;font-size:.74rem;letter-spacing:.04em;}
[data-theme="steampunk"] .sb-tree-name{font-family:'Special Elite',monospace;font-size:.74rem;letter-spacing:.04em;}
[data-theme="steampunk"] .sb-tree-item.type-chapter .sb-tree-name{font-family:'Rye',serif;font-style:normal;font-size:.76rem;}
[data-theme="steampunk"] .sb-tree-item.type-scene .sb-tree-name{font-family:'Special Elite',monospace;font-size:.7rem;}
[data-theme="steampunk"] .sb-tree-lbl{font-family:'Special Elite',monospace;font-size:8px;letter-spacing:.14em;}
[data-theme="steampunk"] .sb-tree-item.type-act>.sb-tree-dot{color:var(--gold);}
[data-theme="steampunk"] .sb-tree-item.type-chapter>.sb-tree-dot{color:var(--smoke);}

/* Active item — thicker brass border */
[data-theme="steampunk"] .sb-proj.active{border-left-width:3px;}
[data-theme="steampunk"] .sb-tree-item.active{border-left-width:3px;}
[data-theme="steampunk"] .sb-proj.active .sb-proj-dot{box-shadow:0 0 6px rgba(200,146,42,.6);}

/* New project button — riveted plate */
[data-theme="steampunk"] .sb-new-btn{font-family:'Special Elite',monospace;text-transform:uppercase;letter-spacing:.1em;background:var(--gold);border:none;border-radius:0;color:#fff;}
[data-theme="steampunk"] .sb-new-btn:hover{background:var(--gdim);color:#fff;}

/* Top nav — industrial panel bar */
[data-theme="steampunk"] #top-nav{border-bottom:2px solid rgba(184,138,42,.25);background-image:repeating-linear-gradient(90deg,rgba(184,138,42,.015) 0px,rgba(184,138,42,.015) 1px,transparent 1px,transparent 36px);}
[data-theme="steampunk"] .nt{font-family:'Special Elite',monospace;font-size:calc(9px * var(--ui-scale,1));letter-spacing:.14em;text-transform:uppercase;}
[data-theme="steampunk"] .nt.on{border-bottom-width:3px;}

/* Modals — sharp industrial panel corners, double brass border */
[data-theme="steampunk"] .modal{border-radius:0;border-width:2px;box-shadow:0 0 0 4px rgba(184,138,42,.06),0 20px 60px rgba(0,0,0,.8);}
[data-theme="steampunk"] .setup-box{border-radius:0;border-width:2px;box-shadow:0 0 0 4px rgba(184,138,42,.06),0 20px 60px rgba(0,0,0,.8);}
[data-theme="steampunk"] .modal-ttl{font-family:'Special Elite',monospace;letter-spacing:.12em;border-bottom-width:2px;}
[data-theme="steampunk"] .setup-hdr{font-family:'Rye',serif;letter-spacing:.08em;border-bottom-width:2px;}
[data-theme="steampunk"] .mopt-name{font-family:'Rye',serif;letter-spacing:.04em;}
[data-theme="steampunk"] .sf label,[data-theme="steampunk"] .mform label,[data-theme="steampunk"] .mform-chk span{font-family:'Special Elite',monospace;font-size:9px;letter-spacing:.08em;}
[data-theme="steampunk"] .mbtn,[data-theme="steampunk"] .dbtn,[data-theme="steampunk"] .setup-btn,[data-theme="steampunk"] .view-btn{font-family:'Special Elite',monospace;letter-spacing:.08em;border-radius:0;}
[data-theme="steampunk"] .mbtn.prim,[data-theme="steampunk"] .setup-btn{box-shadow:inset 0 1px 0 rgba(255,255,255,.08),0 2px 0 rgba(0,0,0,.5);}

/* Stats and cards — square with inner shadow (gauge panel) */
[data-theme="steampunk"] .stat,[data-theme="steampunk"] .pc{border-radius:0;box-shadow:inset 0 0 20px rgba(0,0,0,.3),0 0 0 1px rgba(0,0,0,.5);}
[data-theme="steampunk"] .stat .val,[data-theme="steampunk"] .pc .val{font-family:'Rye',serif;}
[data-theme="steampunk"] .stat .lbl,[data-theme="steampunk"] .pc .lbl{font-family:'Special Elite',monospace;}
[data-theme="steampunk"] .scrap-item,[data-theme="steampunk"] .scrap-detail-content{border-radius:0;border-left-width:3px;}
[data-theme="steampunk"] .scrap-item-title{font-family:'Rye',serif;}
[data-theme="steampunk"] .scrap-detail-title{font-family:'Rye',serif;}

/* Project headers */
[data-theme="steampunk"] .hdr h1{font-family:'Rye',serif;letter-spacing:.06em;}
[data-theme="steampunk"] .hdr-eye{font-family:'Special Elite',monospace;}
[data-theme="steampunk"] .ph-ttl{font-family:'Rye',serif;letter-spacing:.04em;}
[data-theme="steampunk"] .ph-num{font-family:'Special Elite',monospace;}
[data-theme="steampunk"] .mst,[data-theme="steampunk"] .odraft-hdr-title,[data-theme="steampunk"] .manual-phases-lbl{font-family:'Special Elite',monospace;letter-spacing:.1em;text-transform:uppercase;}

/* Outline act blocks — brass-left-edged iron panels */
[data-theme="steampunk"] .oact{border-radius:0;border-left-width:3px;border-left-color:var(--gold);}
[data-theme="steampunk"] .oact-hd{background:rgba(184,138,42,.05);}
[data-theme="steampunk"] .oact-hd:hover{background:rgba(184,138,42,.1);}
[data-theme="steampunk"] .oact-badge{font-family:'Special Elite',monospace;letter-spacing:.06em;background:rgba(184,138,42,.15);border-radius:0;}
[data-theme="steampunk"] .oact-title{font-family:'Rye',serif;}
[data-theme="steampunk"] .oact-progbar-fill{background:linear-gradient(90deg,#6a2010,var(--gold));}
[data-theme="steampunk"] .ochap-badge{font-family:'Special Elite',monospace;border-radius:0;}
[data-theme="steampunk"] .ochap-bar-fill{background:var(--smoke);}

/* Progress bars — copper to brass */
[data-theme="steampunk"] .mbar-fill{background:linear-gradient(90deg,#6a2010,var(--gold));}
[data-theme="steampunk"] .minif{background:var(--gold);}
[data-theme="steampunk"] .mbar{border-radius:0;}

/* Scene separator — heavier brass rule */
[data-theme="steampunk"] .ms-scene-separator::before,[data-theme="steampunk"] .ms-scene-separator::after{border-top-color:rgba(184,138,42,.4);border-top-style:solid;}
[data-theme="steampunk"] .ms-scene-sep-inner{font-family:'Special Elite',monospace;letter-spacing:.2em;}

/* Auth overlay */
[data-theme="steampunk"] .auth-wordmark{font-family:'Rye',serif;letter-spacing:.18em;text-transform:uppercase;}
[data-theme="steampunk"] .auth-tab{font-family:'Special Elite',monospace;letter-spacing:.1em;}
[data-theme="steampunk"] .auth-box{border-radius:0;border-width:2px;box-shadow:0 0 0 4px rgba(184,138,42,.06),0 20px 60px rgba(0,0,0,.9);}

/* Compile modal */
[data-theme="steampunk"] .compile-item.type-act .compile-item-name{font-family:'Rye',serif;letter-spacing:.04em;}

/* Page view: manuscript on mahogany desk */
[data-theme="steampunk"] .ms-content-area.view-page .ProseMirror h1,
[data-theme="steampunk"] .ms-content-area.view-page .ProseMirror h2,
[data-theme="steampunk"] .ms-content-area.view-page .ProseMirror h3{font-family:'Rye',serif;color:#2a1808;}

/* Settings panel */
[data-theme="steampunk"] .st-btn,[data-theme="steampunk"] .st-select{font-family:'Special Elite',monospace;border-radius:0;}

/* Account dropdown */
[data-theme="steampunk"] .acct-btn{font-family:'Special Elite',monospace;letter-spacing:.08em;border-radius:0;}
[data-theme="steampunk"] .acct-avatar{font-family:'Rye',serif;}
[data-theme="steampunk"] #account-dropdown{border-radius:0;border-width:2px;}

/* ═══════════════════════════════════════════════════════════════
   THEME: MODERNSOFT — STRUCTURAL OVERRIDES
   Color-only themes use only the variable block above.
   Modernsoft also changes typography, shape, and type hierarchy.
═══════════════════════════════════════════════════════════════ */

/* Wordmark — italic editorial serif instead of all-caps Cinzel */
[data-theme="modernsoft"] .sb-wordmark{font-family:'Instrument Serif',serif;font-style:italic;font-size:1.125rem;letter-spacing:.03em;text-transform:none;}

/* Sidebar project + tree names — Tinos serif */
[data-theme="modernsoft"] .sb-proj-name{font-family:'Tinos',Georgia,serif;font-size:.84rem;font-style:italic;letter-spacing:.01em;}
[data-theme="modernsoft"] .sb-tree-name{font-family:'Tinos',Georgia,serif;font-size:.82rem;letter-spacing:.01em;}
[data-theme="modernsoft"] .sb-tree-item.type-act>.sb-tree-name{font-weight:700;}
[data-theme="modernsoft"] .sb-tree-item.type-chapter .sb-tree-name{font-family:'Tinos',Georgia,serif;font-style:italic;font-size:.82rem;}
[data-theme="modernsoft"] .sb-tree-item.type-scene .sb-tree-name{font-family:'Tinos',Georgia,serif;font-size:.77rem;font-style:normal;}
[data-theme="modernsoft"] .sb-tree-lbl{font-family:var(--sans);font-size:9px;letter-spacing:.05em;text-transform:uppercase;}
[data-theme="modernsoft"] .sb-new-btn{font-family:var(--sans);font-size:10px;text-transform:none;letter-spacing:.01em;background:var(--gold);border:none;border-radius:6px;color:#fff;}

/* Top nav tabs */
[data-theme="modernsoft"] .nt{font-family:'Tinos',Georgia,serif;font-size:calc(11.5px * var(--ui-scale,1));letter-spacing:.03em;text-transform:none;font-style:italic;}

/* Modals — rounder + sans labels */
[data-theme="modernsoft"] .modal{border-radius:14px;}
[data-theme="modernsoft"] .setup-box{border-radius:14px;}
[data-theme="modernsoft"] .modal-ttl{font-family:var(--sans);text-transform:none;letter-spacing:.04em;font-size:11px;}
[data-theme="modernsoft"] .setup-hdr{font-family:'Instrument Serif',serif;font-style:italic;font-weight:500;font-size:1.2rem;letter-spacing:.01em;}
[data-theme="modernsoft"] .mopt-name{font-family:'Instrument Serif',serif;font-style:italic;font-size:.96rem;}
[data-theme="modernsoft"] .sf label,[data-theme="modernsoft"] .mform label,[data-theme="modernsoft"] .mform-chk span{font-family:var(--sans);font-size:10px;letter-spacing:.03em;text-transform:none;}
[data-theme="modernsoft"] .mbtn,[data-theme="modernsoft"] .dbtn,[data-theme="modernsoft"] .setup-btn,[data-theme="modernsoft"] .view-btn{font-family:var(--sans);text-transform:none;letter-spacing:.01em;}
[data-theme="modernsoft"] .mbtn,[data-theme="modernsoft"] .dbtn,[data-theme="modernsoft"] .dbtn2,[data-theme="modernsoft"] .setup-btn{background:transparent;}
[data-theme="modernsoft"] .mbtn:hover,[data-theme="modernsoft"] .dbtn:hover,[data-theme="modernsoft"] .dbtn2:hover,[data-theme="modernsoft"] .setup-btn:hover{background:var(--gfaint);}
[data-theme="modernsoft"] .mbtn.prim,[data-theme="modernsoft"] .setup-btn.sec{background:transparent;}
[data-theme="modernsoft"] .mbtn.prim:hover,[data-theme="modernsoft"] .setup-btn.sec:hover{background:var(--gfaint);}

/* Auth overlay */
[data-theme="modernsoft"] .auth-wordmark{font-family:'Instrument Serif',serif;font-style:italic;letter-spacing:.04em;text-transform:none;}
[data-theme="modernsoft"] .auth-tab{font-family:var(--sans);text-transform:none;letter-spacing:.03em;}

/* Project header h1, phase titles, stat labels */
[data-theme="modernsoft"] .hdr h1{font-family:'Instrument Serif',serif;font-style:italic;font-weight:500;font-size:2.375rem;}
[data-theme="modernsoft"] .ph-ttl{font-family:'Instrument Serif',serif;font-style:italic;font-weight:500;letter-spacing:.01em;}
[data-theme="modernsoft"] .mst,[data-theme="modernsoft"] .odraft-hdr-title,[data-theme="modernsoft"] .manual-phases-lbl{font-family:'Instrument Serif',serif;font-style:italic;font-weight:500;letter-spacing:.01em;text-transform:none;}

/* Outline act blocks — indigo accent */
[data-theme="modernsoft"] .oact{border-color:rgba(91,84,255,.16);background:rgba(91,84,255,.02);border-radius:8px;}
[data-theme="modernsoft"] .oact-hd{background:rgba(91,84,255,.04);}
[data-theme="modernsoft"] .oact-hd:hover{background:rgba(91,84,255,.08);}
[data-theme="modernsoft"] .oact-badge{background:rgba(91,84,255,.12);color:var(--gold);}
[data-theme="modernsoft"] .oact-title{font-family:'Instrument Serif',serif;font-style:italic;font-weight:500;}
[data-theme="modernsoft"] .oact-progbar-fill{background:linear-gradient(90deg,var(--gdim),var(--gold));}
[data-theme="modernsoft"] .ochap-badge{background:rgba(91,84,255,.08);color:var(--gdim);}
[data-theme="modernsoft"] .ochap-bar-fill{background:var(--gold);}

/* Stat + project cards — rounder, subtle shadow, warm nav bg */
[data-theme="modernsoft"] .stat,[data-theme="modernsoft"] .pc{border-radius:10px;box-shadow:0 1px 3px rgba(0,0,0,.05);background:var(--bg);border-color:var(--br);}
[data-theme="modernsoft"] .scrap-item,[data-theme="modernsoft"] .scrap-detail-content{border-radius:8px;box-shadow:0 1px 2px rgba(0,0,0,.04);}
[data-theme="modernsoft"] .scrap-item-title{font-family:'Instrument Serif',serif;font-style:italic;}
[data-theme="modernsoft"] .scrap-detail-title{font-family:'Instrument Serif',serif;font-style:italic;}

/* Compile: act names */
[data-theme="modernsoft"] .compile-item.type-act .compile-item-name{font-family:'Instrument Serif',serif;font-style:italic;}

/* Progress bars */
[data-theme="modernsoft"] .mbar-fill{background:linear-gradient(90deg,var(--gdim),var(--gold));}
[data-theme="modernsoft"] .minif{background:var(--gdim);}

/* Page view headings */
[data-theme="modernsoft"] .ms-content-area.view-page .ProseMirror h1,
[data-theme="modernsoft"] .ms-content-area.view-page .ProseMirror h2,
[data-theme="modernsoft"] .ms-content-area.view-page .ProseMirror h3{font-family:'Instrument Serif',serif;font-style:italic;color:#2a2820;}

/* Settings panel */
[data-theme="modernsoft"] .st-btn,[data-theme="modernsoft"] .st-select,[data-theme="modernsoft"] .st-lbl{font-family:var(--sans);}

/* Account dropdown */
[data-theme="modernsoft"] #account-dropdown{background:var(--bg);border-color:var(--br2);}
[data-theme="modernsoft"] .acct-btn{font-family:var(--sans);text-transform:none;letter-spacing:.01em;font-size:11px;}

/* Lavender — phase block fill + hover animations */
[data-theme="modernsoft"] .ph{transition:background .2s ease,box-shadow .2s ease;}
[data-theme="modernsoft"] .ph:hover{background:rgba(91,84,255,.07)!important;box-shadow:inset 3px 0 0 var(--gold);}
[data-theme="modernsoft"] .pb-prewrite{border-color:rgba(79,168,106,.45)!important;}
[data-theme="modernsoft"] .pb-revision{border-color:rgba(224,80,42,.45)!important;}
[data-theme="modernsoft"] .pb-draft{border-color:color-mix(in srgb, var(--gold) 45%, transparent)!important;}
[data-theme="modernsoft"] .pb-draft .ph{background:color-mix(in srgb, var(--gold) 4%, transparent)!important;}
[data-theme="modernsoft"] .pb-draft .ph:hover{background:color-mix(in srgb, var(--gold) 9%, transparent)!important;}
[data-theme="modernsoft"] .pb-draft .pb-body{background:color-mix(in srgb, var(--gold) 2%, transparent);}
[data-theme="modernsoft"] .pb-prewrite .ph{background:rgba(79,168,106,.07)!important;}
[data-theme="modernsoft"] .pb-prewrite .ph:hover{background:rgba(79,168,106,.13)!important;}
[data-theme="modernsoft"] .pb-prewrite .pb-body{background:rgba(79,168,106,.04);}
[data-theme="modernsoft"] .pb-revision .ph{background:rgba(224,80,42,.07)!important;}
[data-theme="modernsoft"] .pb-revision .ph:hover{background:rgba(224,80,42,.13)!important;}
[data-theme="modernsoft"] .pb-revision .pb-body{background:rgba(224,80,42,.04);}
[data-theme="modernsoft"] .on-node.type-act .on-title-inp{font-family:'Instrument Serif',serif;font-style:italic;font-weight:500;}
[data-theme="modernsoft"] .ms-proj-title{font-family:'Instrument Serif',serif;font-style:italic;font-weight:500;}
/* Manuscript side nav — Tinos */
[data-theme="modernsoft"] .sb-ms-struct{font-family:'Tinos',Georgia,serif;font-size:10.4px;letter-spacing:.03em;text-transform:none;}
[data-theme="modernsoft"] #ms-tools-panel .mst-draft-item{font-family:'Tinos',Georgia,serif!important;font-size:.83rem!important;}
[data-theme="modernsoft"] #ms-tools-panel .mst-draft-item *{font-family:'Tinos',Georgia,serif!important;}
[data-theme="modernsoft"] .mst-ann-struct{font-family:'Tinos',Georgia,serif!important;font-size:.82rem!important;}
[data-theme="modernsoft"] .mst-ann-struct *{font-family:'Tinos',Georgia,serif!important;}
[data-theme="modernsoft"] #ms-tools-panel .sb-tree-lbl{font-family:'Tinos',Georgia,serif!important;}
[data-theme="modernsoft"] #sb-fm-nav .sb-tree-name{font-weight:700;}
[data-theme="modernsoft"] .scrap-nav-item-name{font-family:'Tinos',Georgia,serif!important;font-weight:700;font-style:normal;}

/* ══════════════════════════════════════════════════════════════════
   SCI (Void & Phosphor — Operator Console) structural overrides
══════════════════════════════════════════════════════════════════ */

/* Scanline texture on app chrome */
[data-theme="sci"] body{background-image:repeating-linear-gradient(0deg,rgba(126,232,250,0.018) 0px,rgba(126,232,250,0.018) 1px,transparent 1px,transparent 4px);}

/* Wordmark — uppercase geometric sans with phosphor tint */
[data-theme="sci"] .sb-wordmark{font-family:'Space Grotesk',system-ui,sans-serif;font-weight:600;font-style:normal;letter-spacing:.14em;text-transform:uppercase;font-size:.72rem;color:var(--gold);}

/* Sidebar tree names — IBM Plex Mono terminal feel */
[data-theme="sci"] .sb-proj-name{font-family:'Space Grotesk',sans-serif;font-size:.76rem;letter-spacing:.05em;text-transform:uppercase;}
[data-theme="sci"] .sb-tree-name{font-family:'IBM Plex Mono',monospace;font-size:.74rem;letter-spacing:.01em;}
[data-theme="sci"] .sb-tree-item.type-chapter .sb-tree-name{font-family:'IBM Plex Mono',monospace;font-weight:500;font-style:normal;font-size:.76rem;color:var(--gold);}
[data-theme="sci"] .sb-tree-item.type-scene .sb-tree-name{font-family:'IBM Plex Mono',monospace;font-size:.69rem;color:var(--txd);}
[data-theme="sci"] .sb-tree-lbl{font-family:'Space Grotesk',sans-serif;font-size:9px;letter-spacing:.08em;text-transform:uppercase;}
[data-theme="sci"] .sb-new-btn{font-family:'Space Grotesk',sans-serif;font-size:10px;letter-spacing:.04em;background:var(--gold);border:none;border-radius:0;color:#fff;}

/* Active item — phosphor left-edge glow */
[data-theme="sci"] .sb-tree-item.active{border-left:2px solid var(--gold);}
[data-theme="sci"] .sb-tree-item.active .sb-tree-name{color:var(--gold);text-shadow:0 0 10px rgba(126,232,250,0.5);}

/* Top nav bar — scan-stripe bottom border */
[data-theme="sci"] .nt-bar{border-bottom:1px solid rgba(126,232,250,0.18);background-image:repeating-linear-gradient(90deg,rgba(126,232,250,0.025) 0px,rgba(126,232,250,0.025) 1px,transparent 1px,transparent 80px);}
[data-theme="sci"] .nt{font-family:'Space Grotesk',sans-serif;font-size:calc(10px * var(--ui-scale,1));letter-spacing:.06em;text-transform:uppercase;}

/* Modals — sharp-cornered data panels */
[data-theme="sci"] .modal{border-radius:0;border:1px solid rgba(126,232,250,0.2);}
[data-theme="sci"] .setup-box{border-radius:0;border:1px solid rgba(126,232,250,0.2);}
[data-theme="sci"] .modal-ttl{font-family:'Space Grotesk',sans-serif;text-transform:uppercase;letter-spacing:.1em;font-size:10px;color:var(--gold);}
[data-theme="sci"] .setup-hdr{font-family:'Space Grotesk',sans-serif;font-style:normal;font-size:.95rem;letter-spacing:.07em;text-transform:uppercase;}
[data-theme="sci"] .mopt-name{font-family:'IBM Plex Mono',monospace;font-size:.87rem;}
[data-theme="sci"] .sf label,[data-theme="sci"] .mform label,[data-theme="sci"] .mform-chk span{font-family:'Space Grotesk',sans-serif;font-size:10px;letter-spacing:.05em;text-transform:uppercase;}
[data-theme="sci"] .mbtn,[data-theme="sci"] .dbtn,[data-theme="sci"] .setup-btn,[data-theme="sci"] .view-btn{font-family:'Space Grotesk',sans-serif;letter-spacing:.06em;text-transform:uppercase;border-radius:0;}

/* Auth overlay */
[data-theme="sci"] .auth-wordmark{font-family:'Space Grotesk',sans-serif;font-weight:600;letter-spacing:.16em;text-transform:uppercase;font-style:normal;color:var(--gold);}
[data-theme="sci"] .auth-tab{font-family:'Space Grotesk',sans-serif;letter-spacing:.06em;text-transform:uppercase;}
[data-theme="sci"] .auth-box{border-radius:0;border:1px solid rgba(126,232,250,0.18);}

/* Project header / phase titles */
[data-theme="sci"] .hdr h1{font-family:'Space Grotesk',sans-serif;font-weight:600;font-style:normal;letter-spacing:.04em;}
[data-theme="sci"] .ph-ttl{font-family:'Space Grotesk',sans-serif;font-style:normal;letter-spacing:.06em;text-transform:uppercase;}
[data-theme="sci"] .mst,[data-theme="sci"] .odraft-hdr-title,[data-theme="sci"] .manual-phases-lbl{font-family:'Space Grotesk',sans-serif;font-style:normal;letter-spacing:.04em;text-transform:uppercase;}

/* Outline act blocks — phosphor panel style */
[data-theme="sci"] .oact{border-color:rgba(126,232,250,0.15);background:rgba(126,232,250,0.02);border-radius:0;}
[data-theme="sci"] .oact-hd{background:rgba(126,232,250,0.03);}
[data-theme="sci"] .oact-hd:hover{background:rgba(126,232,250,0.06);}
[data-theme="sci"] .oact-badge{background:rgba(126,232,250,0.1);color:var(--gold);}
[data-theme="sci"] .oact-title{font-family:'Space Grotesk',sans-serif;font-style:normal;letter-spacing:.07em;text-transform:uppercase;font-size:.76rem;}
[data-theme="sci"] .oact-progbar-fill{background:linear-gradient(90deg,var(--gdim),var(--gold));box-shadow:0 0 6px rgba(126,232,250,0.4);}
[data-theme="sci"] .ochap-badge{background:rgba(126,232,250,0.06);color:var(--gdim);}
[data-theme="sci"] .ochap-bar-fill{background:var(--gold);box-shadow:0 0 4px rgba(126,232,250,0.35);}

/* Stat / project cards — data panel look */
[data-theme="sci"] .stat,[data-theme="sci"] .pc{border-radius:0;border:1px solid rgba(126,232,250,0.1);box-shadow:inset 0 0 20px rgba(0,0,0,.3);}
[data-theme="sci"] .scrap-item,[data-theme="sci"] .scrap-detail-content{border-radius:0;}
[data-theme="sci"] .scrap-item-title{font-family:'IBM Plex Mono',monospace;}
[data-theme="sci"] .scrap-detail-title{font-family:'IBM Plex Mono',monospace;}

/* Compile act names */
[data-theme="sci"] .compile-item.type-act .compile-item-name{font-family:'Space Grotesk',sans-serif;letter-spacing:.07em;text-transform:uppercase;font-size:.76rem;}

/* Progress bars — phosphor glow fill */
[data-theme="sci"] .mbar-fill{background:linear-gradient(90deg,var(--gdim),var(--gold));box-shadow:0 0 6px rgba(126,232,250,0.35);}
[data-theme="sci"] .minif{background:var(--gdim);}

/* Page view headings — uppercase phosphor */
[data-theme="sci"] .ms-content-area.view-page .ProseMirror h1,
[data-theme="sci"] .ms-content-area.view-page .ProseMirror h2,
[data-theme="sci"] .ms-content-area.view-page .ProseMirror h3{font-family:'Space Grotesk',sans-serif;font-style:normal;letter-spacing:.07em;text-transform:uppercase;color:var(--gold);text-shadow:0 0 14px rgba(126,232,250,0.4);}

/* Settings panel */
[data-theme="sci"] .st-btn,[data-theme="sci"] .st-select,[data-theme="sci"] .st-lbl{font-family:'Space Grotesk',sans-serif;}

/* Account dropdown */
[data-theme="sci"] .acct-btn{font-family:'Space Grotesk',sans-serif;text-transform:uppercase;letter-spacing:.05em;font-size:10px;}

/* Sidebar ::before — bracket watermark */
[data-theme="sci"] #sidebar{position:relative;}
[data-theme="sci"] #sidebar::before{content:'[ ]';position:absolute;bottom:24px;left:50%;transform:translateX(-50%);font-family:'IBM Plex Mono',monospace;font-size:72px;color:rgba(126,232,250,0.04);pointer-events:none;letter-spacing:.4em;line-height:1;z-index:0;}

/* Footer micro-label */
[data-theme="sci"] .sb-footer::after{content:'// CHARC.OS';font-family:'IBM Plex Mono',monospace;font-size:.58rem;color:var(--txf);letter-spacing:.1em;display:block;text-align:center;margin-top:4px;}

/* Text selection — phosphor highlight */
[data-theme="sci"] ::selection{background:rgba(126,232,250,0.18);color:#eef1f7;}

/* ═══════════════════════════════════════
   MS TOOLS PANEL (Drafts + Annotations)
═══════════════════════════════════════ */
#ms-body-row{flex:1;display:flex;flex-direction:row;overflow:hidden;min-height:0;}
#ms-tools-panel{width:200px;flex-shrink:0;overflow:hidden;background:var(--bg2);border-right:1px solid var(--br);display:flex;flex-direction:column;transition:width var(--sb-transition),background .3s,border-color .3s;position:relative;}
.mst-section{display:flex;flex-direction:column;overflow:hidden;flex-shrink:0;}
.mst-section-flex{flex:1;min-height:80px;}
.mst-resize-handle{height:7px;flex-shrink:0;cursor:ns-resize;position:relative;z-index:2;transition:background .15s;}
.mst-resize-handle::after{content:'';position:absolute;left:0;right:0;top:50%;margin-top:-.5px;height:1px;background:var(--br3);transition:background .15s;}
.mst-resize-handle:hover::after,.mst-resize-handle.active::after{background:var(--gdim);}
.mst-resize-handle.active{background:var(--gfaint);}
#ms-tools-panel.mst-collapsed{width:var(--sb-collapsed);}
#ms-tools-panel.mst-collapsed>*:not(.sb-top){display:none!important;}
#ms-tools-panel.mst-collapsed .sb-wordmark{display:none!important;}
#ms-tools-panel.mst-collapsed .sn-toggle{transform:scaleX(-1);}
#ms-tools-panel.mst-collapsed .sb-top{flex:1;min-height:0;justify-content:center;padding:0;border-bottom:none;}
#ms-tools-panel.mst-collapsed{cursor:pointer;}
#ms-tools-panel.mst-collapsed:hover{border-right-color:var(--gdim);}
#pane-manuscript.focus-mode #ms-tools-panel{display:none;}

.mst-draft-item{display:flex;align-items:center;gap:5px;padding:4px 8px;border-radius:3px;font-family:var(--mono);font-size:9px;color:var(--txm);transition:background .12s;}
.mst-draft-item:hover{background:rgba(255,255,255,.04);}
.mst-draft-item.active{color:var(--tx);background:rgba(255,255,255,.07);}
:is([data-theme="daylight"],[data-theme="darkmoonlight"]) .mst-draft-item.active{background:rgba(0,0,0,.06);}
.draft-status-badge{width:8px;height:8px;border-radius:2px;flex-shrink:0;cursor:pointer;border:1px solid rgba(255,255,255,.08);transition:transform .1s;}
.draft-status-badge:hover{transform:scale(1.35);}

.mst-ann-struct{padding:5px 8px 2px;font-family:var(--mono);font-size:8px;color:var(--txd);letter-spacing:.1em;text-transform:uppercase;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.mst-ann-scene{display:flex;align-items:center;gap:5px;padding:3px 8px 3px 14px;font-family:var(--mono);font-size:9px;color:var(--txm);cursor:default;border-left:2px solid var(--br);}
.mst-draft-dot{width:7px;height:7px;border-radius:50%;flex-shrink:0;cursor:pointer;border:1px solid rgba(255,255,255,.08);transition:transform .1s;}
.mst-draft-dot:hover{transform:scale(1.35);}
.mst-ann-badge{margin-left:auto;background:rgba(200,164,90,.15);border-radius:8px;padding:1px 5px;font-size:8px;color:var(--gold);flex-shrink:0;}

/* Annotation marks in editor */
.annotation-mark{border-bottom:2px solid rgba(200,164,90,.7);cursor:pointer;transition:background .12s;}
.annotation-mark:hover{background:rgba(200,164,90,.12);}

/* Annotation hover panel */
.ann-hover-panel{position:fixed;z-index:9999;background:var(--sur);border:1px solid var(--br);border-radius:8px;box-shadow:0 4px 16px rgba(0,0,0,.18);padding:4px;min-width:200px;max-width:320px;}
.ann-hover-item{display:flex;align-items:flex-start;gap:8px;padding:7px 9px;border-radius:6px;cursor:pointer;transition:background .12s;}
.ann-hover-item:hover{background:var(--br2);}
.ann-hover-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0;margin-top:4px;}
.ann-hover-body{flex:1;min-width:0;}
.ann-hover-anchor{font-family:var(--serif);font-size:.78rem;color:var(--txm);font-style:italic;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.ann-hover-text{font-family:var(--sans);font-size:.8rem;color:var(--tx);margin-top:2px;line-height:1.35;}

/* Annotation modal color swatches */
.ann-color-swatch{width:16px;height:16px;border-radius:50%;cursor:pointer;display:inline-block;border:2px solid transparent;transition:transform .12s,border-color .12s;flex-shrink:0;}
.ann-color-swatch:hover{transform:scale(1.2);}
.ann-color-swatch.selected{border-color:#fff;transform:scale(1.15);}

/* Draft view banner */
.draft-view-banner{background:rgba(90,138,200,.1);border-bottom:1px solid rgba(90,138,200,.25);padding:6px 16px;font-family:var(--mono);font-size:9px;color:#5a8ac8;letter-spacing:.05em;display:flex;align-items:center;gap:10px;flex-shrink:0;}
[data-theme="daylight"] .draft-view-banner{background:var(--acc,#2563eb);border-bottom-color:transparent;color:#fff;}
[data-theme="daylight"] .draft-view-back-btn{color:#fff;border-color:rgba(255,255,255,.5);}
[data-theme="daylight"] .draft-view-back-btn:hover{background:rgba(255,255,255,.2);}
.draft-view-back-btn{background:none;border:1px solid rgba(90,138,200,.4);border-radius:3px;padding:3px 10px;font-family:var(--mono);font-size:8px;color:#5a8ac8;cursor:pointer;letter-spacing:.06em;transition:background .12s;}
.draft-view-back-btn:hover{background:rgba(90,138,200,.15);}

/* Annotation items in sidebar */
.mst-ann-item{display:flex;align-items:flex-start;gap:5px;padding:3px 8px 3px 22px;cursor:pointer;transition:background .12s;}
.mst-ann-item:hover{background:rgba(255,255,255,.04);}
.mst-ann-dot{width:6px;height:6px;border-radius:50%;flex-shrink:0;margin-top:3px;}
.mst-ann-preview{font-family:var(--mono);font-size:8px;color:var(--txd);line-height:1.5;overflow:hidden;}
.mst-ann-preview em{color:var(--txm);font-style:normal;}
.mst-ann-by{color:var(--gdim);}

/* Annotation popover */
#annotation-popover{position:fixed;z-index:5000;background:var(--sur);border:1px solid var(--br2);border-radius:6px;padding:10px 12px;min-width:200px;max-width:280px;box-shadow:0 8px 28px rgba(0,0,0,.55);font-family:var(--mono);font-size:10px;color:var(--tx);display:none;}
#annotation-popover .ann-del{background:none;border:none;color:var(--ember);cursor:pointer;font-size:9px;font-family:var(--mono);padding:0;letter-spacing:.05em;}

/* Draft item view button */
.mst-view-btn{background:none;border:none;color:var(--txd);cursor:pointer;font-size:9px;padding:0 2px;flex-shrink:0;transition:color .12s;}
.mst-view-btn:hover{color:var(--gold);}
.mst-view-btn.active{color:#5a8ac8;}

/* Tour & signup reminder */
.tour-skip-btn{background:none;border:1px solid var(--br2);color:var(--txd);font-size:12px;padding:6px 12px;border-radius:5px;cursor:pointer;font-family:inherit;white-space:nowrap;}
.tour-skip-btn:hover{color:var(--txm);}
.tour-next-btn{background:var(--gdim);border:none;color:#1a1210;font-size:12px;font-weight:600;padding:6px 16px;border-radius:5px;cursor:pointer;font-family:inherit;white-space:nowrap;}
.tour-next-btn:hover{opacity:.88;}

/* ── Tour overlay + card ── */
#tour-overlay{position:fixed;inset:0;z-index:8000;pointer-events:none;transition:background .25s;}
#tour-card{position:fixed;z-index:8001;background:var(--sur);border:1px solid var(--br2);border-radius:10px;padding:18px 20px 14px;width:300px;box-shadow:0 12px 40px rgba(0,0,0,.7);transition:top .25s ease,left .25s ease,opacity .2s ease;}
#tour-card-step{font-family:var(--mono);font-size:8px;letter-spacing:.1em;text-transform:uppercase;color:var(--txm);margin-bottom:8px;}
#tour-card-title{font-family:var(--serif);font-size:1rem;color:var(--gold);margin-bottom:8px;line-height:1.3;}
#tour-card-body{font-family:var(--mono);font-size:10.5px;color:var(--txd);line-height:1.7;margin-bottom:14px;}
#tour-card-actions{display:flex;align-items:center;justify-content:space-between;}
#tour-btn-skip{background:none;border:none;font-family:var(--mono);font-size:9px;color:var(--txm);cursor:pointer;letter-spacing:.06em;padding:0;}
#tour-btn-skip:hover{color:var(--ember);}
#tour-btn-group{display:flex;gap:6px;}
#tour-btn-prev,#tour-btn-next{font-family:var(--mono);font-size:9px;letter-spacing:.06em;padding:5px 12px;border-radius:3px;cursor:pointer;border:1px solid var(--br2);background:none;color:var(--txd);transition:all .15s;}
#tour-btn-next{background:rgba(200,164,90,.12);border-color:rgba(200,164,90,.4);color:var(--gold);}
#tour-btn-prev:hover{color:var(--tx);}
#tour-btn-next:hover{background:rgba(200,164,90,.22);}
#tour-btn-next.tour-final{background:rgba(200,164,90,.25);border-color:var(--gold);color:var(--gold);padding:5px 16px;}

/* ── Tour prompt toast ── */
#tour-prompt{position:fixed;bottom:24px;left:50%;transform:translateX(-50%);background:var(--sur);border:1px solid var(--br2);border-radius:8px;padding:12px 18px;display:flex;align-items:center;gap:10px;box-shadow:0 8px 32px rgba(0,0,0,.6);z-index:7000;font-family:var(--mono);font-size:10.5px;color:var(--txd);white-space:nowrap;animation:tour-prompt-in .4s ease;}
@keyframes tour-prompt-in{from{opacity:0;transform:translateX(-50%) translateY(12px);}to{opacity:1;transform:translateX(-50%) translateY(0);}}
.tour-prompt-icon{color:var(--gold);font-size:12px;}
#tour-prompt-yes{background:rgba(200,164,90,.15);border:1px solid rgba(200,164,90,.4);border-radius:3px;padding:4px 12px;font-family:var(--mono);font-size:9px;letter-spacing:.08em;color:var(--gold);cursor:pointer;transition:background .15s;}
#tour-prompt-yes:hover{background:rgba(200,164,90,.25);}
#tour-prompt-skip{background:none;border:none;font-family:var(--mono);font-size:9px;color:var(--txm);cursor:pointer;letter-spacing:.06em;}
#tour-prompt-skip:hover{color:var(--tx);}

/* New project hint */
.np-hint-arrow{position:absolute;left:-8px;top:50%;transform:translateY(-50%);width:0;height:0;border-top:8px solid transparent;border-bottom:8px solid transparent;border-right:8px solid var(--gdim);}
.np-hint-body{background:var(--gdim);color:#1a1210;padding:9px 16px;border-radius:6px;font-size:12.5px;font-weight:600;font-family:inherit;white-space:nowrap;box-shadow:0 4px 16px rgba(0,0,0,.4);}
@keyframes npPulse{0%,100%{box-shadow:0 0 0 0 rgba(200,164,90,.5);}60%{box-shadow:0 0 0 8px rgba(200,164,90,0);}}

/* ── AUTO-SNAPSHOT PANEL ── */
.mst-auto-item{flex-direction:column;align-items:flex-start;gap:3px;padding:5px 6px;}
.mst-auto-lbl{display:flex;align-items:baseline;gap:0;font-size:11px;color:var(--txd);width:100%;}
.mst-auto-ts{font-family:var(--mono);font-size:10px;color:var(--txd);}
.mst-auto-wc{font-family:var(--mono);font-size:9px;color:var(--txm);}
.mst-auto-btns{display:flex;gap:4px;margin-top:2px;}
.mst-auto-btn{background:none;border:1px solid var(--br2);border-radius:2px;color:var(--txm);font-family:var(--mono);font-size:8px;letter-spacing:.06em;text-transform:uppercase;padding:2px 6px;cursor:pointer;transition:all .12s;}
.mst-auto-btn:hover{border-color:var(--gdim);color:var(--gdim);}
.mst-auto-restore:hover{border-color:var(--grn,#3fb950);color:var(--grn,#3fb950);}
.mst-auto-del{padding:2px 5px;flex-shrink:0;}
.mst-auto-del:hover{border-color:var(--ember);color:var(--ember);}
.mst-auto-loading,.mst-auto-empty{font-family:var(--mono);font-size:9px;color:var(--txm);padding:4px 6px;}
.mst-auto-budget{font-family:var(--mono);font-size:8px;color:var(--txm);padding:5px 6px 2px;opacity:.7;}

/* ── SYNC INDICATOR ── */
.sync-ind{display:inline-flex;align-items:center;gap:6px;font-size:12px;color:var(--tx);opacity:.75;padding:0 8px;user-select:none;cursor:default;flex-shrink:0;}
.sync-ind[data-state="idle"]{display:none;}
.sync-ind .sync-dot{width:7px;height:7px;border-radius:50%;background:var(--sync-color,var(--gold-dim,#a08030));flex-shrink:0;}
.sync-ind[data-state="syncing"] .sync-dot{animation:sync-pulse 1.2s ease-in-out infinite;}
@keyframes sync-pulse{0%,100%{opacity:.4;}50%{opacity:1;}}
.sync-ind .sync-label{font-family:var(--mono);font-size:10px;letter-spacing:.04em;white-space:nowrap;}
.sync-ind-global{position:fixed;bottom:1.2rem;right:1.4rem;z-index:199;background:var(--sur);border:1px solid var(--br2);border-radius:4px;padding:7px 14px;pointer-events:none;display:none;}
body.always-sync-status .sync-ind-global{display:inline-flex;}
body.always-sync-status .sync-ind-global[data-state="idle"]{display:none;}

/* ── SIDEBAR RESIZE HANDLE ── */
.sb-resize-handle{
  position:absolute;right:0;top:0;bottom:0;width:5px;
  cursor:col-resize;z-index:20;
}
.sb-resize-handle::after{
  content:'';position:absolute;right:0;top:0;bottom:0;width:2px;
  background:var(--gold);opacity:0;transition:opacity .15s;
}
.sb-resize-handle:hover::after{opacity:.35;}
/* Left-edge variant for right-side panels */
.sb-resize-handle-left{left:0;right:auto;}
.sb-resize-handle-left::after{left:0;right:auto;}
body.sb-resizing{cursor:col-resize !important;user-select:none !important;}
body.sb-resizing *{cursor:col-resize !important;}
/* Hide handle when collapsed — can't drag a collapsed sidebar wider */
#sidebar.collapsed .sb-resize-handle,
#ms-tools-panel.mst-collapsed .sb-resize-handle,
#section-nav-panel.sn-collapsed .sb-resize-handle{display:none;}

/* ═══════════════════════════════════════════════════════════════
   THEME: EMBER — manuscript nav overrides
═══════════════════════════════════════════════════════════════ */
[data-theme=""] .sb-ms-struct{font-size:11px;}
[data-theme=""] .sb-ms-struct.type-chapter{text-transform:none;letter-spacing:.06em;color:var(--txd);}
[data-theme=""] .sb-ms-scene-name{font-size:.83rem;}
/* Ember — hide entity block dividers */
[data-theme=""] .entity-block{border-top:none!important;border-bottom:none!important;}
[data-theme=""] .eblock-col{border-right:none;}
/* Ember — scrap pile clear button: translucent instead of solid fill */
[data-theme=""] .sb-new-btn.sb-clr{background:color-mix(in srgb,var(--ember) 12%,transparent);border-color:color-mix(in srgb,var(--ember) 45%,transparent);color:var(--ember);}
[data-theme=""] .sb-new-btn.sb-clr:hover{background:var(--ember);border-color:var(--ember);color:#fff;}

/* ═══════════════════════════════════════════════════════════════
   THEME: MOONLIGHT (dark mode, mirrors Daylight structure)
═══════════════════════════════════════════════════════════════ */
[data-theme="moonlight"]{
  --bg:#0d1117;--bg2:#161b22;--bg3:#21262d;
  --sur:#21262d;--sur2:#2d333b;
  --br:rgba(255,255,255,0.08);--br2:rgba(255,255,255,0.16);--br3:rgba(255,255,255,0.04);
  --gold:#60a5fa;--gdim:#93bbfc;--gfaint:rgba(96,165,250,0.08);
  --tx:#e6edf3;--txd:#8b949e;--txm:#484f58;--txf:#0d1117;
  --ember:#f85149;--smoke:#a78bfa;--grn:#3fb950;
  --serif:'Geist',system-ui,-apple-system,sans-serif;
  --cin:'Geist',system-ui,-apple-system,sans-serif;
  --sans:'Geist',system-ui,-apple-system,sans-serif;
  --panel-shadow:0 4px 20px rgba(0,0,0,.5),0 0 0 1px rgba(255,255,255,.07);
  --page-bg:#eef0f3;--page-tx:#0f1623;--page-shadow:0 4px 32px rgba(0,0,0,.6);
}
[data-theme="moonlight"] .hdr h1,
[data-theme="moonlight"] .setup-hdr,
[data-theme="moonlight"] .ms-proj-title,
[data-theme="moonlight"] .stat .val,
[data-theme="moonlight"] .pc .val,
[data-theme="moonlight"] .ProseMirror h1,
[data-theme="moonlight"] .on-node.type-act .on-title-inp,
[data-theme="moonlight"] .cw-disp.has,
[data-theme="moonlight"] .cw input{color:var(--tx);}
[data-theme="moonlight"] .hdr-eye{color:var(--txd);letter-spacing:.04em;}
[data-theme="moonlight"] .hdr h1{letter-spacing:0;font-weight:700;font-size:1.6rem;}
[data-theme="moonlight"] .ms-proj-title{letter-spacing:0;font-weight:600;}
[data-theme="moonlight"] .setup-hdr{letter-spacing:0;font-weight:600;}
[data-theme="moonlight"] #top-nav{background:#0d1117;border-bottom:1px solid rgba(255,255,255,.08);}
[data-theme="moonlight"] .nt{color:var(--txd);font-family:var(--sans);font-size:calc(11px * var(--ui-scale,1));letter-spacing:.04em;font-weight:700;text-transform:none;}
[data-theme="moonlight"] .nt:hover{color:var(--tx);background:rgba(255,255,255,.06);border-radius:6px 6px 0 0;}
[data-theme="moonlight"] .nt.on{color:var(--gold);border-bottom-color:var(--gold);}
[data-theme="moonlight"] #sidebar{background:#0d1117;border-right:1px solid rgba(255,255,255,.08);}
[data-theme="moonlight"] #section-nav-panel{background:#0d1117;border-right:1px solid rgba(255,255,255,.08);}
[data-theme="moonlight"] .ms-topbar{background:#0d1117;border-bottom-color:rgba(255,255,255,.08);}
[data-theme="moonlight"] #rte-toolbar{background:#0d1117;border-bottom-color:rgba(255,255,255,.08);}
[data-theme="moonlight"] #ms-tools-panel{background:#0d1117;border-right-color:rgba(255,255,255,.08);}
[data-theme="moonlight"] .sb-proj-name{color:var(--txd);letter-spacing:0;}
[data-theme="moonlight"] .sb-wordmark{font-family:var(--sans);font-weight:700;letter-spacing:.12em;}
[data-theme="moonlight"] .sb-tree-name{font-family:var(--sans);letter-spacing:0;}
[data-theme="moonlight"] .sb-tree-item.type-act>.sb-tree-dot{color:var(--tx);}
[data-theme="moonlight"] .sb-tree-item.type-act>.sb-tree-name{color:var(--tx);}
[data-theme="moonlight"] .sb-tree-item.type-chapter>.sb-tree-dot{color:var(--gold);}
[data-theme="moonlight"] .sb-tree-item.type-chapter .sb-tree-name{font-style:normal;color:var(--gold);}
[data-theme="moonlight"] .sb-tree-item.type-scene .sb-tree-name{color:var(--grn);}
[data-theme="moonlight"] .sb-proj:hover{background:rgba(255,255,255,.05);border-radius:6px;}
[data-theme="moonlight"] .sb-tree-item:hover{background:rgba(255,255,255,.05);border-radius:6px;}
[data-theme="moonlight"] .sb-new-btn{background:var(--gold);border:none;border-radius:8px;color:#fff;}
[data-theme="moonlight"] .tn-btn{border-radius:8px;}
[data-theme="moonlight"] .tn-btn:hover{background:rgba(255,255,255,.07);}
[data-theme="moonlight"] .modal-box,
[data-theme="moonlight"] #prefs-panel,
[data-theme="moonlight"] #doc-settings-panel,
[data-theme="moonlight"] #search-panel,
[data-theme="moonlight"] #ambient-panel{background:#0d1117;box-shadow:var(--panel-shadow);border:1px solid rgba(255,255,255,.1);border-radius:12px;}
[data-theme="moonlight"] .setup-overlay .setup-box{background:#21262d;box-shadow:var(--panel-shadow);border:1px solid rgba(255,255,255,.1);border-radius:14px;}
[data-theme="moonlight"] .mbtn{border-radius:8px;}
[data-theme="moonlight"] .mbtn.prim{background:var(--gfaint);border-color:var(--gold);color:var(--gold);border-radius:8px;}
[data-theme="moonlight"] .setup-btn{background:var(--gold);border-color:var(--gold);color:#0d1117;border-radius:8px;}
[data-theme="moonlight"] .setup-btn:hover{background:#93bbfc;opacity:1;}
[data-theme="moonlight"] .dbtn{border-radius:8px;}
[data-theme="moonlight"] .dbtn2{border-radius:8px;}
[data-theme="moonlight"] .mbar-fill{background:linear-gradient(90deg,rgba(96,165,250,.4),var(--gold));}
[data-theme="moonlight"] .msi.cur::before{box-shadow:0 0 5px rgba(96,165,250,.3);}
[data-theme="moonlight"] .stat,[data-theme="moonlight"] .pc{background:var(--bg);border-color:rgba(255,255,255,.08);}
[data-theme="moonlight"] .pc:hover{background:var(--bg2);}
[data-theme="moonlight"] .ph{background:var(--bg);}
[data-theme="moonlight"] .ph:hover{background:var(--bg2);}
[data-theme="moonlight"] .pb-body{background:var(--bg);}
[data-theme="moonlight"] .tl-badge-act{background:rgba(96,165,250,.1);color:var(--gold);}
[data-theme="moonlight"] .badge-act{background:rgba(96,165,250,.1);color:var(--gold);}
[data-theme="moonlight"] .on-node.type-act .on-title-inp{letter-spacing:0;font-weight:600;}
[data-theme="moonlight"] .on-node.type-act{border:1px solid rgba(255,255,255,.1);background:transparent;border-radius:10px;box-shadow:0 1px 4px rgba(0,0,0,.3);margin-bottom:8px;}
[data-theme="moonlight"] .on-node.type-act>.on-hbar{background:#21262d;border-radius:10px 10px 0 0;}
[data-theme="moonlight"] .on-node.type-act>.on-hbar:hover{background:#2d333b;filter:none;}
[data-theme="moonlight"] .on-node.type-act .on-title-inp{color:var(--tx);font-family:var(--sans);font-weight:600;letter-spacing:0;font-size:.92rem;}
[data-theme="moonlight"] .badge-act{background:#161b22;color:var(--txd);}
[data-theme="moonlight"] .on-node.type-chapter{border:1px solid rgba(96,165,250,.25);background:transparent;border-radius:7px;}
[data-theme="moonlight"] .on-node.type-chapter>.on-hbar{background:rgba(96,165,250,.06);border-radius:7px 7px 0 0;}
[data-theme="moonlight"] .on-node.type-chapter>.on-hbar:hover{background:rgba(96,165,250,.1);filter:none;}
[data-theme="moonlight"] .on-node.type-chapter .on-title-inp{color:var(--tx);font-family:var(--sans);font-style:normal;font-weight:500;letter-spacing:0;}
[data-theme="moonlight"] .badge-chapter{background:rgba(96,165,250,.12);color:var(--gold);}
[data-theme="moonlight"] .on-node.type-scene{border:1px solid rgba(63,185,80,.22);background:transparent;border-radius:6px;}
[data-theme="moonlight"] .on-node.type-scene>.on-hbar{background:rgba(63,185,80,.05);border-radius:6px 6px 0 0;}
[data-theme="moonlight"] .on-node.type-scene>.on-hbar:hover{background:rgba(63,185,80,.09);filter:none;}
[data-theme="moonlight"] .on-node.type-scene .on-title-inp{color:var(--tx);font-family:var(--sans);font-style:normal;letter-spacing:0;}
[data-theme="moonlight"] .badge-scene{background:rgba(63,185,80,.1);color:var(--grn);}
[data-theme="moonlight"] .on-title-inp:focus{border-bottom:1px solid rgba(255,255,255,.15);}
[data-theme="moonlight"] .on-sub-inp:focus{border-bottom:1px solid rgba(255,255,255,.12);}
[data-theme="moonlight"] .on-body-ta{font-family:var(--sans);}
[data-theme="moonlight"] .on-add-root{color:var(--txd);}
[data-theme="moonlight"] .on-add-root:hover{color:var(--gold);}
[data-theme="moonlight"] .dbtn2.t-act{border-color:rgba(255,255,255,.15);color:var(--tx);}
[data-theme="moonlight"] .dbtn2.t-act:hover{background:rgba(255,255,255,.05);color:var(--tx);}
[data-theme="moonlight"] .dbtn2.t-ch{border-color:rgba(96,165,250,.35);color:var(--gold);}
[data-theme="moonlight"] .dbtn2.t-ch:hover{background:rgba(96,165,250,.06);color:var(--gold);}
[data-theme="moonlight"] .dbtn2.t-sc{border-color:rgba(63,185,80,.3);color:var(--grn);}
[data-theme="moonlight"] .dbtn2.t-sc:hover{background:rgba(63,185,80,.05);color:var(--grn);}
[data-theme="moonlight"] .stat,[data-theme="moonlight"] .pc{border:1.5px solid rgba(255,255,255,.1);border-radius:10px;box-shadow:0 1px 4px rgba(0,0,0,.3);}
[data-theme="moonlight"] .pc:hover{border-color:rgba(255,255,255,.22);background:var(--sur2);}
[data-theme="moonlight"] .stat .val,[data-theme="moonlight"] .pc .val{font-weight:700;}
[data-theme="moonlight"] .stat .lbl,[data-theme="moonlight"] .pc .lbl{color:var(--txd);font-family:var(--sans);text-transform:none;letter-spacing:.02em;font-weight:500;}
[data-theme="moonlight"] .pc .hint{font-family:var(--sans);letter-spacing:.01em;}
[data-theme="moonlight"] .sb-ms-struct{font-family:var(--sans);font-size:.75rem;letter-spacing:0;text-transform:none;}
[data-theme="moonlight"] .sb-ms-struct.type-act{color:var(--tx);}
[data-theme="moonlight"] .sb-ms-struct.type-chapter{color:var(--gold);}
[data-theme="moonlight"] .sb-ms-scene-name{font-family:var(--sans);font-style:normal;color:var(--grn);}
[data-theme="moonlight"] .stat .val.sm{color:var(--gold);}
[data-theme="moonlight"] .dbtn.add-prewrite{border-color:rgba(63,185,80,.35);color:var(--grn);}
[data-theme="moonlight"] .dbtn.add-prewrite:hover{background:rgba(63,185,80,.06);}
[data-theme="moonlight"] .dbtn.add-draft{border-color:rgba(96,165,250,.35);color:var(--gold);}
[data-theme="moonlight"] .dbtn.add-draft:hover{background:rgba(96,165,250,.06);}
[data-theme="moonlight"] .dbtn.add-revision{border-color:rgba(248,81,73,.35);color:var(--ember);}
[data-theme="moonlight"] .dbtn.add-revision:hover{background:rgba(248,81,73,.06);}
[data-theme="moonlight"] .pb-prewrite{border-color:rgba(63,185,80,.5)!important;}
[data-theme="moonlight"] .pb-draft{border-color:color-mix(in srgb, var(--gold) 45%, transparent)!important;}
[data-theme="moonlight"] .pb-revision{border-color:rgba(248,81,73,.4)!important;}
[data-theme="moonlight"] .ph{background:#21262d!important;}
[data-theme="moonlight"] .ph:hover{background:#2d333b!important;}
[data-theme="moonlight"] .pb-prewrite .ph-badge{background:rgba(122,189,138,.12)!important;color:var(--grn)!important;}
[data-theme="moonlight"] .pb-draft .ph-badge{background:rgba(200,164,90,.12)!important;color:var(--gold)!important;}
[data-theme="moonlight"] .pb-revision .ph-badge{background:rgba(192,88,48,.12)!important;color:var(--ember)!important;}
[data-theme="moonlight"] .ph-ttl,[data-theme="moonlight"] .ph-num,[data-theme="moonlight"] .ph-wc,[data-theme="moonlight"] .ph-wc strong,[data-theme="moonlight"] .ph-pct{color:var(--tx);}
[data-theme="moonlight"] .ph-ttl{font-weight:600;letter-spacing:0;}
[data-theme="moonlight"] .odraft-hdr-title{color:var(--txd);letter-spacing:.04em;font-family:var(--sans);font-weight:600;}
[data-theme="moonlight"] .odraft-hdr{border-bottom:1px solid var(--br);}
[data-theme="moonlight"] .oact{border:1px solid rgba(255,255,255,.1);border-radius:10px;background:#21262d;box-shadow:0 1px 4px rgba(0,0,0,.25);}
[data-theme="moonlight"] .oact-hd{background:#21262d;border-radius:10px 10px 0 0;}
[data-theme="moonlight"] .oact-hd:hover{background:#2d333b;}
[data-theme="moonlight"] .oact-title{color:var(--tx);font-family:var(--sans);font-weight:600;letter-spacing:0;}
[data-theme="moonlight"] .oact-badge{background:#161b22;color:var(--txd);}
[data-theme="moonlight"] .oact-pct{color:var(--txd);}
[data-theme="moonlight"] .oact-wc{color:var(--txd);}
[data-theme="moonlight"] .oact-body{border-top:1px solid rgba(255,255,255,.07);}
[data-theme="moonlight"] .oact-progrow{padding:6px 14px 12px;}
[data-theme="moonlight"] .oact-progbar{background:#161b22;}
[data-theme="moonlight"] .oact-progbar-fill{background:var(--gold);}
[data-theme="moonlight"] .oact-progtxt{color:var(--txd);}
[data-theme="moonlight"] .oact-scene-row{border-bottom:1px solid rgba(255,255,255,.05);}
[data-theme="moonlight"] .ochap{border-bottom:1px solid rgba(255,255,255,.06);background:transparent;}
[data-theme="moonlight"] .ochap-hd:hover{background:rgba(255,255,255,.03);}
[data-theme="moonlight"] .ochap-badge{background:rgba(96,165,250,.1);color:var(--gold);}
[data-theme="moonlight"] .ochap-title{color:var(--gold);font-family:var(--sans);font-style:normal;font-weight:500;}
[data-theme="moonlight"] .ochap-wc,[data-theme="moonlight"] .ochap-pct{color:var(--txd);}
[data-theme="moonlight"] .ochap-bar{background:#161b22;}
[data-theme="moonlight"] .ochap-bar-fill{background:var(--gold);}
[data-theme="moonlight"] .ochap-scene-title{color:var(--grn);font-style:normal;font-family:var(--sans);}
[data-theme="moonlight"] .ochap-scene-dot{color:var(--grn);}
[data-theme="moonlight"] .oact-scene-title{color:var(--grn);font-style:normal;font-family:var(--sans);}
[data-theme="moonlight"] .oact-scene-dot{color:var(--grn);}
[data-theme="moonlight"] .odraft-target-inp:focus,[data-theme="moonlight"] .odraft-date-inp:focus{color:var(--tx);border-bottom-color:var(--gold);}
[data-theme="moonlight"] .ochap-target-inp:focus{color:var(--tx);border-bottom-color:var(--gold);}
[data-theme="moonlight"] .entity-page-name{color:var(--tx);font-family:var(--sans);font-weight:700;letter-spacing:0;}
[data-theme="moonlight"] .entity-page-name:focus{border-bottom:1px dashed rgba(255,255,255,.2);}
[data-theme="moonlight"] .entity-section-title{color:var(--tx);font-family:var(--sans);font-weight:600;letter-spacing:0;}
[data-theme="moonlight"] .entity-section-title:focus{border-bottom:1px solid rgba(255,255,255,.15);}
[data-theme="moonlight"] .entity-section-hd{background:#161b22;}
[data-theme="moonlight"] .entity-sketch-lbl{color:var(--txd);font-family:var(--sans);letter-spacing:.04em;}
[data-theme="moonlight"] .entity-nav-title{font-family:var(--sans);letter-spacing:0;}
[data-theme="moonlight"] .scrap-detail-title{color:var(--tx);font-family:var(--sans);font-weight:700;}
[data-theme="moonlight"] .scrap-item-title{color:var(--tx);font-family:var(--sans);}
[data-theme="moonlight"] .scrap-nav-item-name{font-family:var(--sans);font-style:normal;color:var(--txd);}
[data-theme="moonlight"] .scrap-detail-prose{font-family:var(--sans);}
[data-theme="moonlight"] .scrap-item-preview{font-family:var(--sans);font-style:normal;}
#sb-new-btn.np-pulse{animation:npPulse 1.8s ease-in-out infinite;}

/* ── Custom Appearance flat list ─────────────────────────── */
.ap-list{display:flex;flex-direction:column;}
.ap-group-lbl{font-family:var(--mono);font-size:8px;letter-spacing:.18em;text-transform:uppercase;color:var(--txm);padding:14px 0 5px;border-top:1px solid var(--br3);margin-top:4px;}
.ap-group-lbl:first-child{border-top:none;margin-top:0;padding-top:2px;}
.ap-row{display:flex;align-items:center;gap:10px;padding:4px 0;}
.ap-lbl{font-family:var(--serif);font-size:.88rem;color:var(--txd);flex:1;}
.ap-controls{display:flex;align-items:center;gap:6px;flex-shrink:0;}
.ap-controls .st-dd-wrap{width:140px;}
.ap-controls .st-dd-btn{font-size:10px;padding:5px 8px;}
.ap-size-sel{font-family:var(--mono);font-size:10px;color:var(--tx);background:var(--bg2);border:1px solid var(--br);border-radius:3px;padding:5px 4px;width:52px;cursor:pointer;outline:none;}
.ap-swatch{width:18px;height:18px;border-radius:50%;cursor:pointer;border:none;flex-shrink:0;transition:transform .12s,box-shadow .12s;}
.ap-swatch:hover{transform:scale(1.2);box-shadow:0 0 0 2px var(--gdim);}
/* ── Settings dropdowns ───────────────────────────────────── */
.st-dd-wrap{position:relative;display:block;width:100%;}
.st-dd-btn{display:flex;align-items:center;gap:6px;padding:6px 10px;border-radius:3px;border:1px solid var(--br);background:var(--bg2);cursor:pointer;font-size:10px;font-family:var(--mono);color:var(--tx);width:100%;transition:border-color .15s,color .15s;}
.st-dd-btn:hover{border-color:var(--gdim);}
.st-dd-dot{width:12px;height:12px;border-radius:50%;flex-shrink:0;}
.st-dd-lbl{flex:1;text-align:left;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.st-dd-arr{font-size:8px;color:var(--txm);}
.st-dd-panel{display:none;position:fixed;background:var(--sur);border:1px solid var(--br2);border-radius:8px;padding:10px;box-shadow:0 4px 20px rgba(0,0,0,.25);z-index:2500;min-width:180px;}
.st-dd-panel.open{display:block;}
.st-dd-swatch{width:22px;height:22px;border-radius:50%;border:2px solid transparent;cursor:pointer;flex-shrink:0;transition:border-color .12s,transform .12s;}
.st-dd-swatch:hover{transform:scale(1.15);}
.st-dd-swatch.active{border-color:var(--gold);}
.st-dd-swatches{display:flex;flex-wrap:wrap;gap:6px;padding:2px 0;}
.st-dd-chip{display:block;padding:7px 10px;border-radius:5px;cursor:pointer;font-size:12px;color:var(--txd);white-space:nowrap;transition:background .1s,color .1s;}
.st-dd-chip:hover{background:var(--bg2);color:var(--tx);}
.st-dd-chip.active{color:var(--gold);}
.st-dd-theme-grid{display:grid;grid-template-columns:1fr 1fr;gap:6px;}
.st-dd-theme-tile{display:flex;align-items:center;gap:7px;padding:7px 10px;border-radius:6px;border:1.5px solid transparent;cursor:pointer;font-size:12px;color:var(--txd);transition:border-color .12s,color .12s;background:var(--bg2);}
.st-dd-theme-tile:hover{border-color:var(--br2);color:var(--tx);}

/* ── DAYLIGHT — mobile header bar accent ── */
[data-theme="daylight"] #mobile-header{background:var(--gold);border-bottom-color:transparent;}
[data-theme="daylight"] #mob-menu-btn,
[data-theme="daylight"] #mob-acct-btn{color:rgba(255,255,255,.9);}
[data-theme="daylight"] #mob-menu-btn:active,
[data-theme="daylight"] #mob-acct-btn:active{color:#fff;background:rgba(255,255,255,.15);}
[data-theme="daylight"] #mob-title{color:#fff;}

/* ═══════════════════════════════════════════════════════════════
   MOBILE RESPONSIVE (≤ 768px)
═══════════════════════════════════════════════════════════════ */
#mobile-header,#mobile-backdrop{display:none;}
#mob-tb-row,#mob-tb-more{display:none;}

@media (max-width:768px){
  /* ── Mobile header bar ── */
  #mobile-header{
    display:flex;align-items:center;justify-content:space-between;
    position:fixed;top:0;left:0;right:0;height:48px;
    background:var(--bg2);border-bottom:1px solid var(--br);
    padding:0 6px;z-index:500;gap:4px;
  }
  #mob-menu-btn,#mob-acct-btn{
    background:none;border:none;cursor:pointer;color:var(--txd);
    padding:10px;display:flex;align-items:center;justify-content:center;
    min-width:44px;min-height:44px;border-radius:6px;flex-shrink:0;
    -webkit-tap-highlight-color:transparent;
  }
  #mob-menu-btn:active,#mob-acct-btn:active{color:var(--gold);}
  #mob-title{
    flex:1;text-align:center;font-family:var(--serif);
    font-size:.92rem;color:var(--tx);
    white-space:nowrap;overflow:hidden;text-overflow:ellipsis;padding:0 4px;
  }

  /* ── Backdrop ── */
  #mobile-backdrop{
    position:fixed;inset:0;background:rgba(0,0,0,.55);z-index:490;
    display:block;opacity:0;pointer-events:none;
    transition:opacity .25s;
  }
  body.mobile-nav-open #mobile-backdrop{opacity:1;pointer-events:auto;}
  body.mobile-nav-open{overflow:hidden;}

  /* ── Sidebar → left drawer ── */
  #sidebar{
    position:fixed!important;top:0;bottom:0;left:0;
    width:var(--sb-w)!important;
    transform:translateX(-100%);
    z-index:600;
    transition:transform .25s cubic-bezier(.4,0,.2,1);
    box-shadow:none;
  }
  body.mobile-nav-open #sidebar{transform:translateX(0);box-shadow:6px 0 32px rgba(0,0,0,.5);}
  /* Keep sidebar fully expanded — never collapsed on mobile */
  #sidebar.collapsed{width:var(--sb-w)!important;transform:translateX(-100%);}
  body.mobile-nav-open #sidebar.collapsed{transform:translateX(0);}
  #sidebar.collapsed .sb-panel,
  #sidebar.collapsed .sb-footer,
  #sidebar.collapsed .sb-tree-lbl,
  #sidebar.collapsed .sb-tree-item,
  #sidebar.collapsed .sb-empty-note,
  #sidebar.collapsed .sb-proj-name,
  #sidebar.collapsed .sb-proj-del,
  #sidebar.collapsed .sb-new-btn,
  #sidebar.collapsed .sb-wordmark{opacity:1!important;pointer-events:auto!important;user-select:auto!important;}
  .sb-toggle{display:none;}
  /* Show sidebar top bar even when collapsed */
  #sidebar.collapsed .sb-top{opacity:1!important;pointer-events:auto!important;}

  /* ── Hide desktop-only panels ── */
  #section-nav-panel,#ms-tools-panel{display:none!important;}

  /* ── Main area: full width, pushed below mobile header ── */
  #main{width:100%;padding-top:48px;}

  /* ── Tab nav: horizontal scroll strip ── */
  #top-nav{overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none;scroll-snap-type:x proximity;}
  #top-nav::-webkit-scrollbar{display:none;}
  .nt{padding:10px 14px;min-height:44px;display:flex;align-items:center;font-size:10px;}
  /* Utility buttons (search, help, settings, account) moved to mobile header */
  .tn-actions{display:none;}

  /* ── Wrap/content pane padding ── */
  .wrap{max-width:none!important;padding:14px 12px!important;}

  /* ── Progress page ── */
  .stats{grid-template-columns:1fr 1fr!important;}
  .oacts{flex-direction:column;gap:12px;}
  .oact{min-width:0;width:100%;}
  .oact-hd-top{padding:14px 16px 10px 12px;}
  .oact-hd-bar{padding:6px 16px 10px 28px;}
  .ochap{min-width:0;}
  /* Phase rows: trim to essential columns; hide word count & progress % */
  .ph{grid-template-columns:auto 1fr auto auto;gap:8px;padding:10px 12px;}
  .ph-wc,.ph-prog,.ph-del-btn{display:none;}

  /* ── Outline ── */
  .on-node{min-width:0;overflow:hidden;}
  .on-title-inp{font-size:.85rem;}

  /* ── Manuscript: hide topbar; replace toolbar with simplified mobile rows ── */
  .ms-topbar{display:none!important;}
  .rte-toolbar-inner{display:none!important;}
  #rte-toolbar .rt-wc{display:none;}
  /* Always hide the reference panel on mobile */
  #ref-panel{display:none!important;}

  /* ── RTE toolbar: column layout so expanded row drops below main row ── */
  #rte-toolbar{
    position:sticky;top:0;z-index:200;overflow:visible;height:auto;
    flex-direction:column;align-items:stretch;
  }
  #ms-wrap.ms-tools-open .rte-toolbar-inner{padding-left:6px;}

  /* ── Mobile simplified main row ── */
  #mob-tb-row{
    display:flex;align-items:center;
    padding:5px 8px;gap:3px;min-height:46px;
  }
  .mob-rte-flex{flex:1;}

  /* ── Mobile expanded row: full-width below main row ── */
  #mob-tb-more{display:none;padding:2px 8px 8px;border-top:1px solid var(--br3);}
  #mob-tb-more.open{display:block;}
  .mob-rte-row{display:flex;align-items:center;gap:1px;flex-wrap:wrap;padding:2px 0;}

  /* ── Mobile toolbar buttons & selects ── */
  .mob-rte-btn{
    background:none;border:none;cursor:pointer;color:var(--txd);
    font-family:var(--mono);font-size:13px;
    min-width:36px;min-height:36px;border-radius:5px;
    display:flex;align-items:center;justify-content:center;
    -webkit-tap-highlight-color:transparent;padding:0 5px;
    transition:background .12s,color .12s;
  }
  .mob-rte-btn:active,.mob-rte-btn.active{background:var(--gfaint);color:var(--gold);}
  .mob-rte-scene-btn{font-size:10px;letter-spacing:.03em;padding:0 8px;}
  .mob-rte-sel{
    height:34px;border:1px solid var(--br2);border-radius:4px;
    background:var(--bg3);color:var(--tx);
    font-family:var(--mono);font-size:10px;padding:0 4px;cursor:pointer;
  }
  #mob-font-sel{max-width:110px;}
  #mob-size-sel{width:50px;}
  .mob-rte-sep{width:1px;height:18px;background:var(--br2);flex-shrink:0;margin:0 3px;}
  #mob-tb-more-btn{font-size:17px;letter-spacing:.04em;min-width:40px;}
  #mob-tb-more-btn.active{color:var(--gold);}

  /* ── Manuscript: body row fills width ── */
  #ms-body-row{flex-direction:row;}
  .ms-content-area{min-width:0;flex:1;}
  .ProseMirror{padding:16px 14px;max-width:none;}

  /* ── Entity pages: single-column layout ── */
  .eblock-fields-grid{grid-template-columns:1fr!important;gap:.9rem;}
  /* Block rows collapse to a single column — no side-by-side layout on mobile */
  .eblock-row{flex-direction:column;}
  .eblock-col{width:100%;border-right:none;}

  /* ── Settings panel ── */
  .prefs-cols{flex-direction:column!important;}
  .prefs-col{min-width:0!important;width:100%!important;}
  .prefs-panel-inner,.prefs-body{padding:12px!important;}

  /* ── Modals: full width on small screens ── */
  .modal{width:calc(100vw - 32px)!important;max-height:80vh;overflow-y:auto;}
  .auth-box{width:calc(100vw - 32px)!important;}

  /* ── Tour card: full-width on mobile ── */
  #tour-card{width:calc(100vw - 32px)!important;left:16px!important;}
}
.st-dd-theme-tile.active{border-color:var(--gold);color:var(--tx);}

/* ── TOAST ── */
.toast-msg{position:fixed;bottom:32px;left:50%;transform:translateX(-50%) translateY(20px);background:var(--sur2);border:1px solid var(--br2);border-radius:6px;padding:9px 18px;font-family:var(--mono);font-size:11px;color:var(--txd);pointer-events:none;opacity:0;transition:opacity .2s,transform .2s;z-index:9000;white-space:nowrap;}
.toast-msg.toast-visible{opacity:1;transform:translateX(-50%) translateY(0);}
.toast-msg.toast-goal{background:var(--gold);border-color:var(--gold);color:#fff;font-size:14px;padding:13px 28px;border-radius:8px;box-shadow:0 4px 24px rgba(0,0,0,.35);}
.toast-msg.warning{background:var(--red,#c0392b);border-color:var(--red,#c0392b);color:#fff;}

/* ── JOIN SUCCESS ── */
#join-success-overlay.on{background:rgba(0,0,0,.65);}
.join-success-box{background:var(--sur);border:1px solid var(--br2);border-radius:12px;padding:40px 36px 32px;max-width:380px;width:90%;box-shadow:0 16px 64px rgba(0,0,0,.7);text-align:center;transform:scale(.94) translateY(10px);opacity:0;transition:transform .3s cubic-bezier(.2,.8,.3,1),opacity .3s;will-change:transform,opacity;}
#join-success-overlay.on .join-success-box{transform:scale(1) translateY(0);opacity:1;}
.join-success-mark{font-size:2rem;color:var(--gold);margin-bottom:16px;line-height:1;}
.join-success-hd{font-family:var(--cin);font-size:1.5rem;letter-spacing:.08em;color:var(--tx);margin-bottom:12px;}
.join-success-sub{font-family:var(--mono);font-size:11px;color:var(--txd);line-height:1.7;margin-bottom:28px;}
.join-success-proj{color:var(--gold);font-style:italic;}
.join-success-btn{background:var(--gold);border:none;border-radius:6px;padding:11px 28px;font-family:var(--mono);font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--bg);font-weight:700;cursor:pointer;transition:opacity .15s;}
.join-success-btn:hover{opacity:.85;}

/* ── SHARE PANEL ── */
.share-modal{background:var(--sur);border:1px solid var(--br2);border-radius:10px;width:520px;max-width:calc(100vw - 32px);box-shadow:0 12px 48px rgba(0,0,0,.6);}
.share-hdr{display:flex;align-items:center;justify-content:space-between;padding:16px 20px 12px;border-bottom:1px solid var(--br2);}
.share-title{font-size:.95rem;font-weight:600;color:var(--tx);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:400px;}
.share-close{background:none;border:none;cursor:pointer;color:var(--gdim);font-size:1rem;padding:2px 4px;line-height:1;}
.share-close:hover{color:var(--tx);}
.share-body{padding:16px 20px 20px;}
.share-section-lbl{font-size:.72rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--gdim);margin-bottom:8px;}
.share-invite-row-form{display:flex;gap:6px;align-items:center;}
.share-invite-input{flex:1;background:var(--bg);border:1px solid var(--br2);border-radius:5px;padding:7px 10px;color:var(--tx);font-size:.85rem;outline:none;}
.share-invite-input:focus{border-color:var(--gold);}
.share-invite-role-sel{background:var(--bg);border:1px solid var(--br2);border-radius:5px;padding:7px 8px;color:var(--tx);font-size:.82rem;cursor:pointer;}
.share-invite-send{background:var(--gold);border:none;border-radius:5px;padding:7px 14px;color:#fff;font-size:.82rem;font-weight:600;cursor:pointer;white-space:nowrap;}
.share-invite-send:hover{opacity:.88;}
.share-invite-send:disabled{opacity:.5;cursor:not-allowed;}
.share-invite-err{font-size:.8rem;color:var(--red,#c0392b);margin-top:5px;min-height:16px;}
.share-empty,.share-loading{font-size:.82rem;color:var(--gdim);padding:8px 0;}
/* Owner-only notice in doc settings */
#ps-owner-notice{background:var(--gfaint);border:1px solid var(--br);border-radius:6px;padding:10px 14px;margin:0 16px 16px;color:var(--txd);font-size:13px;}
/* Readonly state for doc settings panel (collaborators) */
#doc-settings-inner.ps-readonly input,
#doc-settings-inner.ps-readonly select,
#doc-settings-inner.ps-readonly textarea,
#doc-settings-inner.ps-readonly input[type="range"],
#doc-settings-inner.ps-readonly input[type="checkbox"]{pointer-events:none;opacity:.45;}
#doc-settings-inner.ps-readonly label.st-toggle{pointer-events:none;opacity:.45;}
/* Doc settings — project team list */
.ps-team-hdr{display:flex;align-items:center;justify-content:space-between;padding:1.4rem 0 .9rem;border-top:1px solid var(--br);margin-top:.5rem;}
.ps-team-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:10px;padding-bottom:1rem;}
.ps-team-card{display:flex;align-items:center;gap:10px;padding:10px 12px;background:var(--bg2);border:1px solid var(--br);border-radius:8px;min-width:0;}
.ps-team-avatar{width:36px;height:36px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-family:var(--sans);font-size:14px;font-weight:700;color:#fff;flex-shrink:0;letter-spacing:0;}
.ps-team-info{flex:1;min-width:0;}
.ps-team-name{font-family:var(--mono);font-size:10px;color:var(--tx);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-weight:500;}
.ps-team-role{font-family:var(--mono);font-size:9px;color:var(--txm);margin-top:2px;}
.ps-team-owner{color:var(--gold);font-weight:600;}
.ps-team-remove{background:none;border:none;cursor:pointer;color:var(--txm);font-size:12px;padding:2px 4px;border-radius:3px;transition:color .12s,background .12s;flex-shrink:0;line-height:1;}
.ps-team-remove:hover{color:var(--ember);background:rgba(220,38,38,.07);}
.ps-team-empty,.ps-team-loading{font-family:var(--mono);font-size:9px;color:var(--txm);padding:8px 0;}
/* Recently Deleted modal */
.rd-row{display:flex;align-items:center;gap:12px;padding:10px 0;border-bottom:1px solid var(--br);}
.rd-row:last-child{border-bottom:none;}
.rd-info{flex:1;min-width:0;}
.rd-title{font-size:.85rem;color:var(--tx);font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.rd-meta{font-size:.72rem;color:var(--txd);margin-top:2px;}
.rd-actions{display:flex;gap:6px;flex-shrink:0;}
.rd-btn{font-size:.72rem;padding:3px 9px;border-radius:4px;border:1px solid var(--br);cursor:pointer;font-family:inherit;background:var(--bg2);color:var(--tx);}
.rd-recover{border-color:var(--acc,#2563eb);color:var(--acc,#2563eb);}
.rd-recover:hover{background:var(--acc,#2563eb);color:#fff;}
.rd-purge:hover{background:#fee2e2;color:#b91c1c;border-color:#b91c1c;}
.rd-empty-msg{font-size:.82rem;color:var(--txd);padding:16px 0;text-align:center;}
.mb-tab{background:none;border:none;border-bottom:2px solid transparent;padding:8px 14px;margin-bottom:-1px;font-size:.8rem;font-family:inherit;color:var(--txd);cursor:pointer;transition:color .12s;}
.mb-tab.active{color:var(--acc,#2563eb);border-bottom-color:var(--acc,#2563eb);font-weight:500;}
.mb-tab:hover:not(.active){color:var(--tx);}
/* Drafting sidebar right-click context menu */
#ms-ctx-menu{position:fixed;z-index:9999;background:var(--sur);border:1px solid var(--br2);border-radius:6px;padding:4px 0;min-width:180px;box-shadow:0 4px 20px rgba(0,0,0,.2),0 0 0 1px rgba(0,0,0,.08);display:none;}
.ms-ctx-item{display:block;width:100%;background:none;border:none;padding:7px 14px;text-align:left;font-size:.82rem;color:var(--tx);cursor:pointer;white-space:nowrap;font-family:inherit;}
.ms-ctx-item:hover{background:var(--gfaint);color:var(--gold);}
/* Sidebar shared project badge */
.sb-proj-shared{display:flex;align-items:center;color:var(--gdim);margin-right:2px;opacity:.75;flex-shrink:0;}

/* ── CHANGES PANEL ── */
#changes-panel{display:none;flex-direction:column;}
.changes-overlay-bg{position:fixed;inset:0;background:transparent;z-index:2590;}
.changes-drawer{position:fixed;top:0;right:0;bottom:0;width:380px;max-width:100vw;background:var(--sur);border-left:1px solid var(--br2);z-index:2600;display:flex;flex-direction:column;transform:translateX(100%);transition:transform .25s cubic-bezier(.2,.8,.3,1);}
.changes-drawer.open{transform:translateX(0);}
.changes-hdr{display:flex;align-items:center;justify-content:space-between;padding:14px 16px 12px;border-bottom:1px solid var(--br2);flex-shrink:0;}
.changes-hdr-title{font-family:var(--cin);font-size:.9rem;letter-spacing:.08em;color:var(--tx);}
.changes-hdr-actions{display:flex;align-items:center;gap:4px;}
.changes-close{background:none;border:none;cursor:pointer;color:var(--gdim);font-size:1rem;padding:2px 6px;line-height:1;}
.changes-close:hover{color:var(--tx);}
.changes-clear-btn{background:none;border:1px solid var(--br2);border-radius:4px;cursor:pointer;color:var(--gdim);font-size:.75rem;padding:2px 8px;line-height:1.6;}
.changes-clear-btn:hover{color:var(--tx);border-color:var(--gdim);}
.changes-feed{flex:1;overflow-y:auto;padding:8px 0;}
.ch-empty,.ch-loading{padding:20px 16px;font-size:.82rem;color:var(--gdim);text-align:center;}
.ch-item{padding:10px 16px;border-bottom:1px solid var(--br2);position:relative;}
.ch-item.ch-unread{background:rgba(var(--gold-rgb,180,140,60),.06);}
.ch-item.ch-unread::before{content:'';position:absolute;left:0;top:0;bottom:0;width:3px;background:var(--gold);}
.ch-who{font-weight:600;color:var(--tx);font-size:.82rem;}
.ch-action{font-size:.8rem;color:var(--gdim);margin-left:4px;}
.ch-when{font-size:.75rem;color:var(--txd);margin-left:auto;float:right;}
.ch-name{font-size:.82rem;color:var(--tx);margin-top:3px;font-style:italic;}
.ch-change{font-size:.79rem;color:var(--gdim);margin-top:4px;line-height:1.5;}
.ch-before{color:var(--gdim);text-decoration:line-through;}
.ch-after{color:var(--grn);}
.ch-footer{margin-top:6px;display:flex;gap:6px;}
.ch-revert{background:none;border:1px solid var(--br2);border-radius:4px;padding:3px 10px;font-size:.75rem;color:var(--gdim);cursor:pointer;font-family:var(--mono);}
.ch-revert:hover{color:var(--tx);border-color:var(--tx);}
.ch-restore{background:none;border:1px solid var(--grn);border-radius:4px;padding:3px 10px;font-size:.75rem;color:var(--grn);cursor:pointer;font-family:var(--mono);}
.ch-restore:hover{opacity:.8;}
.ch-history-section{border-top:1px solid var(--br2);margin-top:4px;}
.ch-history-toggle{width:100%;background:none;border:none;padding:10px 16px;text-align:left;font-size:.78rem;color:var(--gdim);cursor:pointer;display:flex;align-items:center;gap:4px;}
.ch-history-toggle:hover{color:var(--tx);}
.ch-history-count{opacity:.7;}
.ch-history-arrow{margin-left:auto;font-size:.7rem;}
.ch-history-list{display:none;}
.ch-history-list.open{display:block;}
/* Changes badge on top nav button */
.tn-changes-wrap{position:relative;display:inline-flex;}
.changes-badge{position:absolute;top:-4px;right:-5px;background:var(--gold);color:var(--bg);border-radius:8px;font-size:.6rem;font-weight:700;min-width:14px;height:14px;padding:0 3px;display:flex;align-items:center;justify-content:center;line-height:1;font-family:var(--mono);pointer-events:none;}
/* Changes panel tabs */
.changes-tabs{display:flex;border-bottom:1px solid var(--br2);flex-shrink:0;}
.changes-tab{flex:1;background:none;border:none;border-bottom:2px solid transparent;padding:8px 0;font-size:.75rem;font-family:var(--mono);letter-spacing:.05em;color:var(--gdim);cursor:pointer;transition:color .15s,border-color .15s;margin-bottom:-1px;}
.changes-tab.active{color:var(--tx);border-bottom-color:var(--gold);}
.changes-tab:hover:not(.active){color:var(--tx);}
/* DAYLIGHT — changes panel */
[data-theme="daylight"] .changes-hdr-title{font-family:'Newsreader',Georgia,serif;font-weight:700;letter-spacing:0;}
[data-theme="daylight"] .ch-empty,[data-theme="daylight"] .ch-caught-up{color:#9ca3af;}
[data-theme="daylight"] .changes-tab{color:#9ca3af;}
[data-theme="daylight"] .changes-tab.active{color:var(--gold);border-bottom-color:var(--gold);}
[data-theme="daylight"] .changes-tab:hover:not(.active){color:var(--gold);}
[data-theme="daylight"] .ch-history-toggle{color:#9ca3af;}
[data-theme="daylight"] .ch-history-toggle:hover{color:var(--gold);}
/* Scene history timeline */
.ch-scene-history{padding-bottom:4px;}
.ch-sh-hdr{display:flex;flex-direction:column;gap:2px;padding:10px 16px 6px;}
.ch-sh-label{font-size:.65rem;text-transform:uppercase;letter-spacing:.08em;color:var(--gdim);font-weight:600;}
.ch-sh-scene-name{font-size:.8rem;color:var(--tx);font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.ch-sh-list{display:flex;flex-direction:column;}
.ch-sh-entry{display:flex;align-items:center;gap:8px;padding:5px 16px;cursor:pointer;transition:background .12s;}
.ch-sh-entry:hover{background:var(--hover);}
.ch-sh-checkpoint{border-left:2px solid var(--gold);padding-left:14px;}
.ch-sh-initial{opacity:.6;}
.ch-sh-section{border-bottom:1px solid var(--br2);}
.ch-sh-section:last-child{border-bottom:none;}
.ch-sh-section-hdr{display:flex;align-items:center;gap:8px;padding:7px 16px 5px;background:var(--sur);border-top:1px solid var(--br2);cursor:pointer;}
.ch-sh-section-hdr:hover{background:var(--hover);}
.ch-sh-section-body{display:flex;flex-direction:column;padding-bottom:4px;}
.ch-sh-hdr-wc{color:var(--tc3,#888);font-size:.78rem;margin-left:auto;}
.ch-sh-toggle{color:var(--tc3,#888);font-size:.72rem;margin-left:4px;}
.ch-sh-day-label{font-size:.75rem;font-weight:600;color:var(--gold);flex:1;letter-spacing:.02em;}
.ch-sh-time{font-size:.78rem;color:var(--tx);flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.ch-sh-author{font-size:.7rem;color:var(--gold);font-weight:600;white-space:nowrap;max-width:80px;overflow:hidden;text-overflow:ellipsis;}
.ch-sh-collab{border-left-color:var(--accent,#4a90d9);}
.ch-sh-wc{font-size:.72rem;color:var(--gdim);white-space:nowrap;font-family:var(--mono);}
.ch-sh-empty{padding:10px 16px;font-size:.8rem;color:var(--gdim);}
.ch-sh-loading-row{padding:8px 16px;font-size:.8rem;color:var(--gdim);}
.ch-sh-limit-footer{padding:6px 16px 10px;color:var(--gdim);}
.ch-sh-limit-label{font-size:.72rem;color:var(--gdim);}
.ch-sh-limit-hint{font-size:.72rem;color:var(--gdim);opacity:.7;}
/* Phase 5: Presence strip in changes panel */
.ch-presence-strip{display:flex;flex-direction:column;gap:4px;padding:8px 16px 6px;border-bottom:1px solid var(--br2);}
.ch-presence-chip{display:flex;align-items:center;gap:6px;padding:3px 0;}
.ch-presence-av{width:20px;height:20px;border-radius:50%;background:var(--pu-color);color:#fff;font-size:.65rem;font-weight:700;display:flex;align-items:center;justify-content:center;flex-shrink:0;}
.ch-presence-name{font-size:.78rem;color:var(--tx);font-weight:500;}
.ch-presence-loc{font-size:.72rem;color:var(--gdim);margin-left:2px;}
/* Phase 6: Merge history */
.ch-merge-history{border-bottom:1px solid var(--br2);padding-bottom:4px;}
.ch-mh-row{display:flex;align-items:center;gap:6px;padding:4px 16px;font-size:.72rem;flex-wrap:nowrap;overflow:hidden;}
.ch-mh-scene{flex:1;color:var(--tx);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0;}
.ch-mh-who{color:var(--gdim);white-space:nowrap;max-width:70px;overflow:hidden;text-overflow:ellipsis;}
.ch-mh-time{color:var(--gdim);white-space:nowrap;font-family:var(--mono);}
.ch-mh-type{font-size:.65rem;font-weight:700;white-space:nowrap;padding:1px 5px;border-radius:3px;}
.ch-mh-auto{background:rgba(63,185,80,.15);color:var(--grn,#3fb950);}
.ch-mh-mine{background:var(--sur2);color:var(--gdim);}
.ch-mh-theirs{background:rgba(200,164,74,.15);color:var(--gold);}
/* Conflict resolution overlay */
.cr-hdr{display:flex;align-items:flex-start;justify-content:space-between;padding:12px 20px;border-bottom:1px solid var(--br2);gap:12px;flex-shrink:0;background:var(--sur);}
.cr-hdr-left{display:flex;flex-direction:column;gap:2px;min-width:0;}
.cr-title{font-size:.65rem;text-transform:uppercase;letter-spacing:.08em;color:var(--red,#c0392b);font-weight:700;}
.cr-scene{font-size:.9rem;font-weight:600;color:var(--tx);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.cr-meta{font-size:.75rem;color:var(--gdim);}
.cr-hdr-right{display:flex;align-items:center;gap:8px;flex-shrink:0;padding-top:2px;}
.cr-skip-btn{font-size:.8rem;padding:5px 12px;background:none;border:1px solid var(--br2);border-radius:4px;cursor:pointer;color:var(--tx);}
.cr-skip-btn:hover{background:var(--hover);}
.cr-close-btn{font-size:1rem;padding:4px 8px;background:none;border:none;cursor:pointer;color:var(--gdim);line-height:1;}
.cr-close-btn:hover{color:var(--tx);}
.cr-cols{flex:1;display:flex;overflow:hidden;gap:1px;background:var(--br2);}
.cr-col{flex:1;display:flex;flex-direction:column;background:var(--bg);overflow:hidden;}
.cr-col-hdr{display:flex;align-items:center;justify-content:space-between;padding:8px 16px;border-bottom:1px solid var(--br2);background:var(--sur);flex-shrink:0;}
.cr-col-label{font-size:.75rem;font-weight:600;color:var(--gdim);}
.cr-col-label-remote{color:var(--gold);}
.cr-pick-btn{font-size:.78rem;padding:5px 14px;border:none;border-radius:4px;cursor:pointer;font-weight:600;}
.cr-pick-mine{background:var(--sur2);color:var(--tx);}
.cr-pick-mine:hover{background:var(--hover);}
.cr-pick-theirs{background:var(--gold);color:#fff;}
.cr-pick-theirs:hover{opacity:.85;}
.cr-col-body{flex:1;overflow-y:auto;padding:2rem 1.5rem;}
.cr-prose{max-width:640px;margin:0 auto;line-height:1.75;color:var(--tx);font-size:.9rem;}
.cr-prose ins.ms-cmp-diff-ins{background:rgba(63,185,80,.18);color:var(--tx);text-decoration:none;border-radius:2px;padding:0 1px;}
.cr-prose del.ms-cmp-diff-del{background:rgba(229,83,75,.15);color:var(--gdim);text-decoration:line-through;border-radius:2px;padding:0 1px;}
.cr-footer{display:flex;align-items:center;justify-content:space-between;padding:10px 20px;border-top:1px solid var(--br2);background:var(--sur);flex-shrink:0;}
.cr-counter{font-size:.78rem;color:var(--gdim);font-family:var(--mono);}
.cr-footer-actions{display:flex;gap:8px;}
.cr-all-btn{font-size:.75rem;padding:5px 12px;background:none;border:1px solid var(--br2);border-radius:4px;cursor:pointer;color:var(--gdim);}
.cr-all-btn:hover{background:var(--hover);color:var(--tx);}
.cr-all-theirs{border-color:var(--gold);color:var(--gold);}
.cr-all-theirs:hover{background:rgba(200,164,74,.08);}
/* Conflict notification bar */
.conflict-bar{position:fixed;top:0;left:0;right:0;z-index:3000;background:var(--red,#c0392b);color:#fff;display:flex;align-items:center;gap:12px;padding:8px 16px;font-size:.82rem;font-weight:500;}
.conflict-bar span{flex:1;}
.conflict-bar-btn{background:rgba(255,255,255,.2);border:1px solid rgba(255,255,255,.4);color:#fff;border-radius:4px;padding:4px 12px;font-size:.78rem;cursor:pointer;font-weight:600;}
.conflict-bar-btn:hover{background:rgba(255,255,255,.3);}
.conflict-bar-dismiss{background:none;border:none;color:rgba(255,255,255,.7);font-size:1rem;cursor:pointer;padding:2px 6px;line-height:1;}
.conflict-bar-dismiss:hover{color:#fff;}
/* History preview overlay */
#hist-preview-overlay{display:none;position:fixed;inset:0;z-index:3100;flex-direction:column;background:var(--bg);}
.hp-hdr{display:flex;align-items:flex-start;justify-content:space-between;padding:12px 20px;border-bottom:1px solid var(--br2);gap:12px;flex-shrink:0;background:var(--sur);}
.hp-hdr-left{display:flex;flex-direction:column;gap:2px;min-width:0;}
.hp-scene-title{font-size:.9rem;font-weight:600;color:var(--tx);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.hp-timestamp{font-size:.78rem;color:var(--gdim);}
.hp-wc{font-size:.72rem;color:var(--gdim);font-family:var(--mono);}
.hp-hdr-right{display:flex;align-items:center;gap:8px;flex-shrink:0;padding-top:2px;}
.hp-compare-btn{font-size:.8rem;padding:6px 14px;background:none;border:1px solid var(--br2);border-radius:4px;cursor:pointer;color:var(--tx);font-weight:500;}
.hp-compare-btn:hover{background:var(--hover);}
.hp-compare-btn:disabled{opacity:.38;cursor:default;}
.hp-restore-btn{font-size:.8rem;padding:6px 14px;background:var(--gold);color:#fff;border:none;border-radius:4px;cursor:pointer;font-weight:600;}
.hp-restore-btn:hover{opacity:.85;}
.hp-restore-btn:disabled{opacity:.38;cursor:default;}
.hp-close-btn{font-size:1rem;padding:4px 8px;background:none;border:none;cursor:pointer;color:var(--gdim);line-height:1;}
.hp-close-btn:hover{color:var(--tx);}
.hp-body{flex:1;overflow-y:auto;padding:2.5rem 1.5rem;display:flex;justify-content:center;}
.hp-content{max-width:680px;width:100%;line-height:1.7;color:var(--tx);user-select:text;pointer-events:none;}
.hp-content p{margin:0 0 1em;}
/* Manuscript activity items */
.ch-ms-group{padding:8px 0;}
.ch-ms-group-hdr{padding:6px 16px 4px;font-size:.72rem;font-weight:600;letter-spacing:.05em;text-transform:uppercase;color:var(--gdim);}
.ch-ms-scene{display:flex;align-items:center;gap:6px;padding:5px 16px;flex-wrap:wrap;border-bottom:1px solid var(--br2);}
.ch-ms-scene:last-child{border-bottom:none;}
.ch-ms-scene-name{flex:1;font-size:.82rem;color:var(--tx);min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.ch-ms-who{font-size:.75rem;color:var(--gdim);}
.ch-wh-row{cursor:pointer;}
.ch-wh-row:hover{background:var(--hover);}
.ch-wh-time{font-size:.75rem;color:var(--gdim);white-space:nowrap;}
.ch-delta{font-size:.75rem;font-family:var(--mono);white-space:nowrap;}
.ch-delta-pos{color:var(--grn);}
.ch-delta-neg{color:var(--red,#c0392b);}
.ch-view-btn{background:none;border:1px solid var(--br2);border-radius:4px;padding:2px 8px;font-size:.72rem;color:var(--gdim);cursor:pointer;white-space:nowrap;font-family:var(--mono);}
.ch-view-btn:hover{color:var(--tx);border-color:var(--tx);}
/* Compare view */
.cmp-hdr{display:flex;align-items:center;justify-content:space-between;padding:12px 20px;border-bottom:1px solid var(--br2);flex-shrink:0;background:var(--sur);}
.cmp-scene-title{font-family:var(--cin);font-size:.95rem;letter-spacing:.06em;color:var(--tx);}
.cmp-close{background:none;border:none;cursor:pointer;color:var(--gdim);font-size:1rem;padding:2px 6px;line-height:1;}
.cmp-close:hover{color:var(--tx);}
.cmp-body{flex:1;display:flex;overflow:hidden;min-height:0;}
.cmp-col{flex:1;display:flex;flex-direction:column;min-width:0;}
.cmp-col-hdr{padding:10px 20px 8px;border-bottom:1px solid var(--br2);background:var(--sur);display:flex;align-items:center;justify-content:space-between;flex-shrink:0;}
.cmp-col-label{font-size:.75rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--gdim);}
.cmp-col-wc{font-size:.72rem;color:var(--txd);font-family:var(--mono);}
.cmp-col-content{flex:1;overflow-y:auto;padding:20px 24px;font-family:var(--mono);font-size:.95rem;line-height:1.8;color:var(--tx);}
.cmp-col-content p{margin:0 0 1em;}
.cmp-divider{width:1px;background:var(--br2);flex-shrink:0;}
.cmp-footer{display:flex;align-items:center;justify-content:flex-end;gap:10px;padding:10px 20px;border-top:1px solid var(--br2);background:var(--sur);flex-shrink:0;}
.cmp-copy-btn{background:var(--gold);border:none;border-radius:5px;padding:8px 18px;color:#fff;font-size:.82rem;font-weight:600;cursor:pointer;}
.cmp-copy-btn:hover{opacity:.88;}
.cmp-cancel-btn{background:none;border:1px solid var(--br2);border-radius:5px;padding:8px 16px;color:var(--gdim);font-size:.82rem;cursor:pointer;}
.cmp-cancel-btn:hover{color:var(--tx);border-color:var(--tx);}
/* ── MANUSCRIPT COMPARE VIEW (.ms-cmp-*) ── */
.ms-compare-bar{display:flex;align-items:center;justify-content:space-between;padding:7px 16px;background:var(--sur);border-bottom:1px solid var(--br2);flex-shrink:0;gap:10px;}
.ms-compare-bar-label{font-family:var(--mono);font-size:.78rem;letter-spacing:.04em;color:var(--gdim);display:flex;align-items:center;gap:6px;}
.ms-compare-bar-snap{color:var(--tx);font-weight:600;font-style:normal;}
.ms-compare-exit{background:none;border:1px solid var(--br2);border-radius:4px;padding:3px 10px;font-size:.78rem;color:var(--txm);cursor:pointer;font-family:var(--mono);}
.ms-compare-exit:hover{color:var(--tx);border-color:var(--tx);}
.ms-compare-cols{display:flex;flex:1;overflow:hidden;min-height:0;}
.ms-compare-col{flex:1;display:flex;flex-direction:column;overflow:hidden;min-width:0;}
.ms-compare-col-hdr{padding:8px 20px 7px;border-bottom:1px solid var(--br3);background:var(--bg2);flex-shrink:0;display:flex;align-items:center;gap:8px;}
.ms-compare-col-hdr-label{font-family:var(--mono);font-size:.72rem;letter-spacing:.08em;text-transform:uppercase;color:var(--gdim);}
.ms-compare-col-hdr-wc{font-family:var(--mono);font-size:.7rem;color:var(--txd);}
.ms-compare-divider{width:1px;background:var(--br2);flex-shrink:0;}
.ms-compare-col-body{flex:1;overflow-y:auto;padding:0;}
.ms-cmp-scene-cell{padding:16px 24px;border-bottom:1px solid var(--br3);}
.ms-cmp-scene-cell.is-snapshot{background:var(--bg);color:var(--tx);font-family:var(--serif);font-size:1rem;line-height:1.8;}
.ms-cmp-scene-title{font-family:var(--mono);font-size:.7rem;color:var(--gdim);letter-spacing:.08em;text-transform:uppercase;margin-bottom:8px;}
.ms-cmp-ghost{color:var(--txd);font-size:.82rem;font-style:italic;padding:16px 24px;}
.ms-cmp-struct-label{padding:5px 24px 4px;font-family:var(--mono);font-size:.7rem;letter-spacing:.1em;text-transform:uppercase;color:var(--txd);border-bottom:1px solid var(--br3);background:var(--bg2);}
.ms-compare-diff-toggle{background:none;border:1px solid var(--br2);border-radius:4px;padding:3px 10px;font-size:.78rem;color:var(--txm);cursor:pointer;font-family:var(--mono);}
.ms-compare-diff-toggle:hover{color:var(--tx);border-color:var(--tx);}
.ms-compare-diff-toggle.active{background:var(--gfaint);border-color:var(--gdim);color:var(--gdim);}
.ms-cmp-diff-ins{background:var(--cmp-new-color,rgba(59,130,246,.15));border-radius:2px;}
.ms-cmp-diff-del{background:var(--cmp-old-color,rgba(245,158,11,.18));border-radius:2px;text-decoration:var(--cmp-old-td,none);opacity:var(--cmp-old-opacity,.75);display:var(--cmp-old-display,inline);}
/* ── GRADIENT BAR COMPONENT ── */
.gb-shape-row{display:flex;gap:3px;margin-bottom:7px;}
.gb-shape-btn{flex:1;padding:3px 0;border:1px solid var(--br2);border-radius:4px;background:var(--bg2);color:var(--txm);font-family:var(--mono);font-size:9px;letter-spacing:.06em;cursor:pointer;text-align:center;transition:all .1s;}
.gb-shape-btn.active{background:var(--sur);border-color:var(--gdim);color:var(--tx);}
.gb-sec-lbl{font-family:var(--mono);font-size:9px;letter-spacing:.1em;text-transform:uppercase;color:var(--txm);margin-bottom:4px;}
.gb-compass{display:grid;grid-template-columns:repeat(3,22px);gap:2px;margin-bottom:8px;}
.gb-compass-btn{width:22px;height:22px;border:1px solid var(--br2);border-radius:3px;background:var(--bg2);color:var(--txd);cursor:pointer;font-size:11px;display:flex;align-items:center;justify-content:center;transition:all .1s;padding:0;}
.gb-compass-btn.active{background:var(--sur);border-color:var(--gdim);color:var(--gold);}
.gb-compass-mid{width:22px;height:22px;background:none;border:none;color:var(--br2);font-size:10px;display:flex;align-items:center;justify-content:center;cursor:default;}
.gb-center-pick{width:80px;height:56px;border:1px solid var(--br2);border-radius:4px;position:relative;cursor:crosshair;margin-bottom:6px;
  background-color:var(--bg2);background-image:linear-gradient(var(--br3) 1px,transparent 1px),linear-gradient(90deg,var(--br3) 1px,transparent 1px);background-size:16px 16px;}
.gb-center-dot{position:absolute;width:8px;height:8px;border-radius:50%;background:var(--acc,#2563eb);border:1.5px solid #fff;transform:translate(-50%,-50%);pointer-events:none;box-shadow:0 1px 3px rgba(0,0,0,.3);}
.gb-wrap{margin:4px 0 16px;}
.gb-bar{height:16px;border-radius:3px;position:relative;
  background-color:#fff;
  background-image:linear-gradient(45deg,#ccc 25%,transparent 25%),linear-gradient(-45deg,#ccc 25%,transparent 25%),linear-gradient(45deg,transparent 75%,#ccc 75%),linear-gradient(-45deg,transparent 75%,#ccc 75%);
  background-size:6px 6px;background-position:0 0,0 3px,3px -3px,-3px 0;}
.gb-overlay{position:absolute;inset:0;border-radius:3px;}
.gb-htrack{position:relative;height:22px;margin-top:3px;}
.gb-handle{position:absolute;top:0;width:12px;height:18px;background:var(--bg2);border:1.5px solid var(--br2);border-radius:3px;cursor:ew-resize;transform:translateX(-50%);box-shadow:0 1px 4px rgba(0,0,0,.2);display:flex;align-items:center;justify-content:center;}
.gb-handle::before{content:'';display:block;width:2px;height:8px;background:var(--gdim);border-radius:1px;}
.gb-handle:hover{border-color:var(--gdim);}
.gb-lbl{position:absolute;top:20px;left:50%;transform:translateX(-50%);font-size:9px;font-family:var(--mono);color:var(--txm);white-space:nowrap;pointer-events:none;}
/* ── SHAPE RESIZE HANDLES ── */
.fm-shape-rh{position:absolute;width:8px;height:8px;background:#fff;border:1.5px solid var(--gold);border-radius:2px;transform:translate(-50%,-50%);z-index:10;pointer-events:all;box-shadow:0 1px 3px rgba(0,0,0,.25);}
.fm-shape-rh:hover{background:var(--gold);}
/* ── REFERENCE PANEL POPOVER ── */
#ref-panel-popover{
  position:fixed;top:48px;right:10px;width:300px;
  max-height:calc(100vh - 60px);display:flex;flex-direction:column;
  background:var(--bg2);border:1px solid var(--br);border-radius:8px;
  box-shadow:0 6px 24px rgba(0,0,0,.22);z-index:150;overflow:hidden;
}
.rpp-hdr{display:flex;align-items:center;gap:6px;padding:9px 10px 9px 13px;border-bottom:1px solid var(--br3);flex-shrink:0;cursor:grab;position:relative;}
.rpp-hdr:active{cursor:grabbing;}
.rpp-title{font-family:var(--mono);font-size:9px;letter-spacing:.14em;text-transform:uppercase;color:var(--txm);flex:1;}
.rpp-close{background:none;border:none;cursor:pointer;color:var(--txm);font-size:11px;padding:2px 4px;transition:color .15s;}
.rpp-close:hover{color:var(--tx);}
.rpp-resize{position:absolute;z-index:5;}
.rpp-resize-left{left:0;top:0;bottom:0;width:5px;cursor:col-resize;}
.rpp-resize-bottom{bottom:0;left:5px;right:14px;height:5px;cursor:row-resize;}
.rpp-resize-corner{bottom:0;right:0;width:14px;height:14px;cursor:se-resize;}
.rpp-resize-corner::after{content:'';position:absolute;bottom:3px;right:3px;width:6px;height:6px;border-right:2px solid var(--br2);border-bottom:2px solid var(--br2);border-radius:1px;}
[data-theme="daylight"] #ref-panel-popover{background:#fff;border-color:rgba(0,0,0,.12);}
[data-theme="darkmoonlight"] #ref-panel-popover{background:#0d1117;border-color:rgba(255,255,255,.08);}
/* Image card pin button */
.img-card-pin{background:none;border:none;cursor:pointer;font-size:10px;padding:0 2px;flex-shrink:0;opacity:0;transition:opacity .15s;}
.img-card:hover .img-card-pin{opacity:.5;}
.img-card-pin.pinned{opacity:1!important;color:var(--gold);}
.img-card-pin:hover{opacity:1!important;}
/* Image card note button */
.img-card-note{background:none;border:none;cursor:pointer;font-size:12px;padding:0 2px;flex-shrink:0;opacity:0;transition:opacity .15s;color:var(--txm);line-height:1;}
.img-card:hover .img-card-note{opacity:.5;}
.img-card-note.has-note{opacity:1!important;color:var(--gold);}
.img-card-note:hover{opacity:1!important;}
/* Image pane file drop zone */
#img-drop-area.drop-hover{border-color:var(--gold)!important;border-width:2px;}
.img-pane-drop-active #img-grid{outline:2px dashed var(--gold);outline-offset:6px;border-radius:6px;}
/* Image note popover */
.img-note-popover{position:fixed;z-index:3000;background:var(--bg2);border:1px solid var(--br2);border-radius:8px;box-shadow:0 8px 32px rgba(0,0,0,.5);padding:10px;width:214px;}
.img-note-ta{width:100%;box-sizing:border-box;background:var(--sur);border:1px solid var(--br2);border-radius:4px;color:var(--tx);font-family:var(--mono);font-size:10px;padding:6px 8px;resize:vertical;min-height:72px;outline:none;}
.img-note-ta:focus{border-color:var(--gold);}
.img-note-pop-foot{display:flex;gap:6px;margin-top:8px;justify-content:flex-end;}
/* Outline pin button */
.on-ab.pin:hover{color:var(--gold);}
/* ── REFERENCE PANEL ── */
#ref-panel{flex-shrink:0;display:flex;flex-direction:column;border-left:1px solid var(--br);background:var(--bg2);overflow:hidden;transition:width .15s;position:relative;min-width:36px;}
#ref-panel.ref-panel-collapsed{min-width:0!important;width:0!important;border-left:none;overflow:hidden;}
#ref-panel.ref-panel-collapsed *{display:none;}
[data-theme="daylight"] #ref-panel{background:#ffffff;border-left-color:rgba(0,0,0,.10);}
[data-theme="darkmoonlight"] #ref-panel{background:#0d1117;border-left-color:rgba(255,255,255,.08);}
.ref-panel-hdr{display:flex;align-items:center;justify-content:space-between;padding:11px 10px 10px 13px;border-bottom:1px solid var(--br3);flex-shrink:0;min-height:42px;position:relative;}
.ref-panel-wordmark{font-family:var(--mono);font-size:9px;letter-spacing:.14em;text-transform:uppercase;color:var(--txm);flex:1;}
.ref-panel-hdr-btns{display:flex;align-items:center;gap:4px;}
.ref-add-btn{background:none;border:1px solid var(--br2);border-radius:4px;color:var(--gdim);font-size:.9rem;width:22px;height:22px;cursor:pointer;display:flex;align-items:center;justify-content:center;line-height:1;}
.ref-add-btn:hover{color:var(--tx);border-color:var(--tx);}
.ref-note-btn{background:none;border:1px solid var(--br2);border-radius:4px;color:var(--gdim);font-size:.9rem;width:22px;height:22px;cursor:pointer;display:flex;align-items:center;justify-content:center;line-height:1;padding:0;transition:color .15s,border-color .15s;}
.ref-note-btn:hover{color:var(--tx);border-color:var(--tx);}
.ref-ctrl-btn{background:none;border:none;cursor:pointer;color:var(--txm);font-size:12px;padding:1px 3px;line-height:1;transition:color .15s;}
.ref-ctrl-btn:hover{color:var(--tx);}
#ref-panel.ref-panel-collapsed .ref-ctrl-btn{display:none;}
.ref-toggle-all-btn{background:none;border:1px solid var(--br2);border-radius:4px;color:var(--gdim);width:22px;height:22px;cursor:pointer;display:flex;align-items:center;justify-content:center;padding:0;transition:color .15s,border-color .15s;flex-shrink:0;}
.ref-toggle-all-btn:hover{color:var(--tx);border-color:var(--tx);}
.rta-arrow{font-size:.6rem;display:inline-block;transition:transform .18s;line-height:1;}
.ref-toggle-all-btn.all-expanded .rta-arrow{transform:rotate(180deg);}
#ref-panel.ref-panel-collapsed .ref-toggle-all-btn{display:none;}
/* Compare block */
.ref-compare-block{border:1px solid var(--br2);border-radius:6px;margin-bottom:8px;overflow:hidden;background:var(--bg);flex-shrink:0;}
.ref-compare-block.expanded{flex:1;display:flex;flex-direction:column;min-height:0;}
.ref-compare-hdr{display:flex;align-items:center;gap:6px;padding:6px 8px 6px 10px;background:var(--sur);border-bottom:1px solid transparent;flex-shrink:0;user-select:none;transition:background .1s;}
.ref-compare-block.expanded .ref-compare-hdr{border-bottom-color:var(--br3);}
.ref-compare-hdr:hover{background:var(--bg2);}
.ref-compare-icon{font-size:.8rem;color:var(--gdim);flex-shrink:0;}
.ref-compare-snap-name{flex:1;font-size:.78rem;color:var(--tx);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.ref-compare-diff-btn{background:none;border:1px solid var(--br2);border-radius:3px;font-size:.7rem;font-family:var(--mono);color:var(--txm);padding:1px 5px;cursor:pointer;flex-shrink:0;transition:color .12s,border-color .12s;}
.ref-compare-diff-btn:hover,.ref-compare-diff-btn.active{color:var(--gold);border-color:var(--gold);}
.ref-compare-close-btn{background:none;border:none;cursor:pointer;color:var(--txm);font-size:.8rem;padding:0 2px;line-height:1;flex-shrink:0;}
.ref-compare-close-btn:hover{color:var(--ember);}
.ref-compare-body{display:none;flex:1;flex-direction:column;min-height:0;}
.ref-compare-block.expanded .ref-compare-body{display:flex;}
.ref-compare-scene-label{font-size:.7rem;font-family:var(--mono);color:var(--txm);padding:4px 10px;border-bottom:1px solid var(--br3);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;flex-shrink:0;}
.ref-compare-prose{flex:1;padding:10px 12px;font-family:var(--ms-font);font-size:calc(var(--ms-size)/var(--ui-scale,1));line-height:var(--ms-lh,1.9);color:var(--tx);overflow-y:auto;min-height:0;}
.ref-compare-sep{height:1px;background:var(--br3);margin:4px 0 8px;flex-shrink:0;}
/* Note blocks */
.ref-note-title-inp{flex:1;background:none;border:none;outline:none;font-size:.78rem;color:var(--tx);min-width:0;padding:0;}
.ref-note-title-inp::placeholder{color:var(--txd);}
.ref-note-ta{width:100%;box-sizing:border-box;background:none;border:none;outline:none;resize:none;font-family:var(--sans);font-size:.82rem;line-height:1.6;color:var(--tx);padding:0;min-height:48px;overflow:hidden;}
.ref-note-ta::placeholder{color:var(--txd);}
.ref-block-note .ref-block-body{max-height:none;padding:8px 10px 10px;}
.ref-panel-body{flex:1;display:flex;flex-direction:column;overflow-y:auto;padding:6px 6px 12px;min-height:0;}
.ref-panel-empty{padding:20px 12px;text-align:center;color:var(--txd);font-size:.8rem;line-height:1.65;}
.ref-block{border:1px solid var(--br2);border-radius:6px;margin-bottom:8px;overflow:hidden;background:var(--bg);}
.ref-block-hdr{display:flex;align-items:center;gap:6px;padding:6px 8px 6px 10px;cursor:pointer;user-select:none;background:var(--sur);border-bottom:1px solid transparent;transition:background .1s;}
.ref-block.expanded .ref-block-hdr{border-bottom-color:var(--br3);}
.ref-block-hdr:hover{background:var(--bg2);}
.ref-block-type-icon{font-size:.75rem;color:var(--txd);flex-shrink:0;}
.ref-block-title{flex:1;font-size:.78rem;color:var(--tx);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.ref-block-chevron{font-size:.7rem;color:var(--txd);transition:transform .15s;flex-shrink:0;}
.ref-block.expanded .ref-block-chevron,.ref-compare-block.expanded .ref-block-chevron{transform:rotate(90deg);}
.ref-block-unpin{background:none;border:none;cursor:pointer;color:var(--txm);font-size:.8rem;padding:0 2px;line-height:1;flex-shrink:0;}
.ref-block-unpin:hover{color:var(--ember);}
.ref-block-body{display:none;padding:10px 12px;font-family:var(--serif);font-size:.88rem;line-height:1.75;color:var(--tx);max-height:320px;overflow-y:auto;}
.ref-block[data-type="image"] .ref-block-body{max-height:none;overflow:visible;padding:0;}
.ref-block.expanded .ref-block-body{display:block;}
.ref-block-body .eblock-text-prose{min-height:40px;font-size:.88rem;}
.ref-block-zoom{background:none;border:none;cursor:pointer;color:var(--txm);font-size:.85rem;padding:0 3px;line-height:1;flex-shrink:0;transition:color .12s;}
.ref-block-zoom:hover{color:var(--tx);}
.ref-focus-center{position:absolute;left:50%;transform:translateX(-50%);display:flex;align-items:center;gap:6px;pointer-events:auto;max-width:55%;}
.ref-focus-back-hdr{background:none;border:1px solid var(--br2);border-radius:4px;color:var(--gdim);width:22px;height:22px;cursor:pointer;display:flex;align-items:center;justify-content:center;padding:0;font-size:.85rem;line-height:1;transition:color .15s,border-color .15s;flex-shrink:0;}
.ref-focus-back-hdr:hover{color:var(--tx);border-color:var(--tx);}
.ref-focus-center-title{font-family:var(--serif);font-size:.88rem;color:var(--tx);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0;}
.ref-panel-body.ref-focused{padding:0;overflow:hidden;}
.ref-focus-scroll{flex:1;overflow-y:auto;padding:18px 16px 40px;}
.ref-focus-prose{outline:none;font-family:var(--serif);font-size:.9rem;line-height:1.75;color:var(--tx);min-height:200px;}
.ref-focus-prose p{margin:0 0 .5em;}
.ref-focus-prose p:last-child{margin-bottom:0;}
.ref-focus-prose strong,.ref-focus-prose b{font-weight:700;}
.ref-focus-prose em,.ref-focus-prose i{font-style:italic;}
.ref-focus-prose u{text-decoration:underline;}
.ref-focus-prose h1,.ref-focus-prose h2,.ref-focus-prose h3{font-family:var(--serif);margin:.6em 0 .2em;line-height:1.3;}
.ref-focus-prose ul,.ref-focus-prose ol{padding-left:1.4em;margin:0 0 .4em;}
.ref-focus-prose blockquote{border-left:2px solid var(--br3);margin:0 0 .4em;padding-left:.8em;color:var(--txm);}
.ref-focus-prose[data-placeholder]:empty::before{content:attr(data-placeholder);color:var(--txm);font-style:italic;pointer-events:none;display:block;}
.entity-page-action{background:none;border:1px solid var(--br2);border-radius:4px;padding:4px 10px;font-family:var(--mono);font-size:9px;color:var(--txd);cursor:pointer;transition:all .12s;}
.entity-page-action:hover{color:var(--tx);border-color:var(--tx);}
.entity-page-action.dng{border-color:rgba(192,88,48,.3);color:var(--ember);}
.entity-page-action.dng:hover{background:rgba(192,88,48,.08);}
/* Working copies list */
.wc-section-hdr{font-size:.72rem;font-weight:600;color:var(--gdim);text-transform:uppercase;letter-spacing:.06em;padding:12px 14px 6px;}
.wc-list{padding-bottom:4px;}
.wc-card{display:flex;align-items:center;justify-content:space-between;padding:9px 14px;border-bottom:1px solid var(--br2);}
.wc-card.wc-mine{background:color-mix(in srgb,var(--sur) 60%,transparent);}
.wc-label{font-size:.82rem;color:var(--tx);}
.wc-view-btn{font-size:.75rem;padding:3px 10px;border:1px solid var(--br2);border-radius:4px;background:none;color:var(--gdim);cursor:pointer;white-space:nowrap;}
.wc-view-btn:hover{color:var(--tx);border-color:var(--tx);}
.wc-activity-section{padding:8px 0 0;}
.wc-activity-hdr{font-size:.72rem;font-weight:600;color:var(--gdim);text-transform:uppercase;letter-spacing:.06em;padding:8px 14px 4px;}
/* Working copy view overlay */
#wc-view-overlay{background:var(--bg);}
.wcv-hdr{display:flex;align-items:center;justify-content:space-between;padding:13px 20px;border-bottom:1px solid var(--br2);flex-shrink:0;background:var(--sur);}
.wcv-hdr-left{display:flex;align-items:baseline;gap:12px;}
.wcv-title{font-size:.95rem;font-weight:600;color:var(--tx);}
.wcv-wc{font-size:.78rem;color:var(--gdim);}
.wcv-close{background:none;border:none;font-size:1rem;cursor:pointer;color:var(--gdim);padding:4px 8px;line-height:1;}
.wcv-body{flex:1;overflow-y:auto;padding:28px 32px;max-width:720px;margin:0 auto;width:100%;box-sizing:border-box;}
.wcv-scene{margin-bottom:36px;}
.wcv-scene-hdr{display:flex;align-items:baseline;gap:10px;margin-bottom:10px;padding-bottom:6px;border-bottom:1px solid var(--br2);}
.wcv-scene-title{font-size:.92rem;font-weight:600;color:var(--tx);}
.wcv-scene-wc{font-size:.74rem;color:var(--gdim);}
.wcv-cmp-btn{margin-left:auto;font-size:.72rem;padding:2px 8px;border:1px solid var(--br2);border-radius:4px;background:none;color:var(--ac,#2563eb);cursor:pointer;}
.wcv-cmp-btn:hover{opacity:.8;}
.wcv-scene-content{font-size:1rem;line-height:1.75;color:var(--tx);}
.wcv-scene-content p{margin:0 0 .75em;}
/* ms-tools-panel working copy cards */
.mst-wc-card{display:flex;align-items:center;gap:4px;padding:4px 8px;border-radius:4px;}
.mst-wc-card:hover{background:var(--bg2);}
.mst-wc-label{flex:1;font-size:.72rem;color:var(--txd);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.mst-wc-btn{flex-shrink:0;font-size:.68rem;padding:2px 7px;border:1px solid var(--br2);border-radius:3px;background:none;color:var(--gdim);cursor:pointer;font-family:var(--mono);}
.mst-wc-btn:hover{color:var(--gold);border-color:var(--br2);}
/* Live presence */
.presence-bar{display:flex;flex-wrap:wrap;gap:4px;padding:4px 12px 6px;border-bottom:1px solid var(--br3);}
.presence-chip{display:inline-flex;align-items:center;gap:5px;padding:2px 8px 2px 5px;border-radius:10px;font-size:11px;font-weight:500;border:1px solid;letter-spacing:.01em;white-space:nowrap;}
.presence-chip::before{content:'';display:inline-block;width:6px;height:6px;border-radius:50%;background:currentColor;flex-shrink:0;}
.presence-dot-nav{display:inline-block;width:7px;height:7px;border-radius:50%;margin-left:3px;flex-shrink:0;vertical-align:middle;opacity:.9;}

/* ═══ ASSETS (Charts tab) ═══ */
.charc-asset{display:block;margin:0;padding:0;box-sizing:border-box;}
.charc-asset figcaption,.charc-asset-caption{font-family:var(--mono);font-size:.75rem;color:var(--txm);text-align:center;margin-top:6px;padding:0 8px;}
.charc-asset.broken{display:flex;align-items:center;justify-content:center;min-height:48px;border:1px dashed var(--br2);border-radius:4px;color:var(--txm);font-family:var(--mono);font-size:.8rem;padding:12px;}
/* Table */
.charc-asset[data-kind="table"]{overflow-x:auto;}
.charc-asset-table{width:100%;border-collapse:collapse;font-size:.88rem;color:var(--tx);}
.charc-asset-table th,.charc-th{background:var(--bg2);color:var(--tx);font-weight:600;padding:6px 10px;border:1px solid var(--br);text-align:left;}
.charc-asset-table td{padding:5px 10px;border:1px solid var(--br);color:var(--tx);}
.charc-td-hcol{font-weight:600;background:var(--bg2);}
.charc-table-row-stripe{background:var(--bg3,var(--bg2));}
/* SVG charts */
.charc-asset[data-kind="chart"] svg,.charc-chart-svg{display:block;max-width:100%;height:auto;}
/* Surface variants */
.charc-asset-thumbnail,.charc-asset[data-surface="thumbnail"]{max-width:200px;max-height:120px;overflow:hidden;pointer-events:none;}
.charc-asset[data-surface="thumbnail"] .charc-asset-caption{display:none;}
.charc-asset[data-surface="editor"] td[data-edit="cell"]:hover,
.charc-asset[data-surface="editor"] th[data-coord]:hover{outline:1px solid var(--gold);cursor:text;}
/* Cell edit input — sized to cell so the row doesn't grow */
.charts-cell-inp{display:block;width:100%;box-sizing:border-box;border:none;outline:none;padding:0;margin:0;background:var(--gfaint);color:var(--tx);font:inherit;box-shadow:inset 0 0 0 2px var(--gold);}
/* + Add row / + Add col buttons */
.charc-add-col-btn{width:28px;text-align:center;font-weight:400!important;cursor:pointer;opacity:0;transition:opacity .12s,color .12s;border-color:transparent!important;background:none!important;color:var(--txm);padding:4px 6px!important;user-select:none;}
.charc-asset-table:hover .charc-add-col-btn{opacity:.5;}
.charc-add-col-btn:hover{opacity:1!important;color:var(--gold)!important;}
.charc-add-row-tr .charc-add-row-btn{border:none!important;border-top:1px dashed var(--br3)!important;background:none!important;color:var(--txm);font-size:.74rem;cursor:pointer;padding:3px 10px!important;text-align:left;opacity:0;transition:opacity .12s,color .12s;user-select:none;}
.charc-asset-table:hover .charc-add-row-btn{opacity:.5;}
.charc-add-row-btn:hover{opacity:1!important;color:var(--gold)!important;}

/* ═══ CHARTS TAB ═══ */
/* Fix: use .on so ID specificity doesn't override display:none on hidden tabs */
#pane-charts.on{display:flex;flex-direction:column;height:100%;overflow:hidden;}
.charts-toolbar{display:flex;align-items:center;justify-content:space-between;padding:6px 12px;border-bottom:1px solid var(--br);background:var(--bg2);flex-shrink:0;gap:8px;min-height:42px;}
.charts-tb-left,.charts-tb-right{display:flex;align-items:center;gap:6px;}
.charts-tb-btn{background:none;border:1px solid var(--br);border-radius:4px;color:var(--txm);font-size:.78rem;padding:3px 9px;cursor:pointer;transition:color .15s,border-color .15s;}
.charts-tb-btn:hover:not(:disabled){color:var(--tx);border-color:var(--tx);}
.charts-tb-btn:disabled{opacity:.3;cursor:default;}
.charts-tb-lbl{font-family:var(--mono);font-size:9px;color:var(--txd);text-transform:uppercase;letter-spacing:.1em;}
.charts-tb-sel{background:var(--bg);border:1px solid var(--br);border-radius:4px;color:var(--txm);font-family:var(--mono);font-size:10px;padding:3px 6px;cursor:pointer;outline:none;}
.charts-tb-hint{font-family:var(--mono);font-size:9px;color:var(--txd);}
.charts-body{display:flex;flex:1;overflow:hidden;}
.charts-left-col{flex:1;overflow:hidden;display:flex;flex-direction:column;}
/* Canvas */
.charts-canvas{flex:1;overflow:auto;display:flex;flex-direction:column;align-items:center;padding:32px 32px;gap:28px;background:#f2f2f2;}
[data-theme="moonlight"] .charts-canvas,[data-theme="steampunk"] .charts-canvas,[data-theme="sci"] .charts-canvas{background:var(--bg);}
.charts-canvas-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;width:100%;gap:0;color:var(--txm);font-size:.88rem;text-align:center;}
.charts-canvas-empty h3{font-family:var(--cin);font-size:1.2rem;margin:0 0 8px;color:var(--tx);}
.charts-canvas-empty p{font-size:.85rem;color:var(--txm);margin:0 0 20px;}
.charts-canvas-create-btn{font-style:italic;width:auto;}
.charts-canvas-section{max-width:1200px;min-width:240px;}
.charts-canvas-section-hdr{font-family:var(--mono);font-size:9px;text-transform:uppercase;letter-spacing:.12em;color:var(--txd);padding-bottom:8px;border-bottom:1px solid var(--br3);margin-bottom:12px;}
.charts-canvas-asset{max-width:100%;}
/* Card default: padding + shadow for editor-surface assets in the preview canvas */
.charts-canvas .charc-asset[data-surface="editor"]{background:var(--sur);border:1px solid var(--br);border-radius:8px;padding:20px 24px;box-shadow:0 4px 24px rgba(0,0,0,.35);}
[data-theme="daylight"] .charts-canvas .charc-asset[data-surface="editor"]{box-shadow:0 4px 24px rgba(0,0,0,.12);}
/* Composite panel group */
.charc-composite[data-surface="editor"]{background:var(--sur);border:1px solid var(--br);border-radius:8px;padding:20px 24px;box-shadow:0 4px 24px rgba(0,0,0,.35);}
[data-theme="daylight"] .charc-composite[data-surface="editor"]{box-shadow:0 4px 24px rgba(0,0,0,.12);}
.charc-composite-child{border-radius:4px;transition:outline .1s;}
.charc-composite-child:hover{outline:1px solid var(--br2);}
.charc-composite-child-active{outline:2px solid var(--gold)!important;}
/* Delete overlay button on composite panels in canvas */
.charc-composite-del{position:absolute;top:4px;right:4px;background:rgba(0,0,0,.55);border:none;border-radius:3px;color:#fff;font-size:10px;width:18px;height:18px;line-height:1;cursor:pointer;padding:0;display:none;align-items:center;justify-content:center;}
.charc-composite-child:hover .charc-composite-del{display:flex;}
.charc-composite-del:hover{background:var(--ember)!important;}
/* In charts canvas editor, composite children fill available space */
.charts-canvas .charc-composite-inner{width:100%;}
.charts-canvas .charc-composite-child{min-width:0;flex:1;}
/* Composite inspector */
.charts-composite-back-btn{display:block;width:100%;text-align:left;padding:6px 12px;background:none;border:none;border-bottom:1px solid var(--br);color:var(--gold);font-family:var(--mono);font-size:10px;cursor:pointer;letter-spacing:.04em;}
.charts-composite-back-btn:hover{background:var(--bg3);}
.charts-composite-panel-list{display:flex;flex-direction:column;gap:2px;margin-bottom:8px;}
.charts-composite-panel-item{display:flex;align-items:center;gap:6px;padding:5px 8px;border-radius:4px;cursor:pointer;border:1px solid transparent;transition:background .1s;}
.charts-composite-panel-item:hover{background:var(--bg3);}
.charts-composite-panel-item.active{background:var(--gfaint);border-color:var(--gold);color:var(--gold);}
.charts-composite-panel-icon{font-size:10px;flex-shrink:0;color:var(--txm);}
.charts-composite-panel-name{font-size:.75rem;flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.charts-composite-remove-btn{background:none;border:none;color:var(--txm);cursor:pointer;font-size:13px;padding:0 2px;flex-shrink:0;opacity:.5;transition:opacity .1s;}
.charts-composite-remove-btn:hover{opacity:1;color:var(--danger,#e55);}
.charts-composite-add-btn{display:block;width:100%;padding:5px 8px;background:none;border:1px dashed var(--br2);border-radius:4px;color:var(--txm);font-size:.75rem;cursor:pointer;text-align:center;transition:border-color .1s,color .1s;}
.charts-composite-add-btn:hover{border-color:var(--gold);color:var(--gold);}
/* Databar composite message */
.charts-db-msg{padding:16px;font-family:var(--mono);font-size:10px;color:var(--txm);text-align:center;opacity:.7;}
/* Inspector Insert into manuscript button */
.charts-insp-insert-btn{display:block;width:calc(100% - 24px);margin:12px 12px 4px;padding:8px 12px;background:var(--gold);border:none;border-radius:5px;color:#000;font-family:var(--mono);font-size:10px;font-weight:600;cursor:pointer;text-align:center;transition:opacity .15s;}
.charts-insp-insert-btn:hover{opacity:.85;}
/* Inspector Add panel button */
.charts-insp-add-panel-btn{display:block;width:calc(100% - 24px);margin:6px 12px 4px;padding:7px 12px;background:none;border:1px dashed var(--br2);border-radius:5px;color:var(--txm);font-family:var(--mono);font-size:10px;cursor:pointer;text-align:center;transition:border-color .15s,color .15s;}
.charts-insp-add-panel-btn:hover{border-color:var(--gold);color:var(--gold);}
/* Library list */
.charts-lib-empty{padding:12px 10px;font-size:.78rem;color:var(--txm);}
.charts-lib-item{display:flex;align-items:center;gap:6px;padding:5px 10px;cursor:pointer;border-radius:4px;transition:background .1s;}
.charts-lib-item:hover{background:var(--bg3,var(--bg2));}
.charts-lib-item.active{background:var(--gfaint);color:var(--gold);}
.charts-lib-item.charts-lib-pinned .charts-lib-icon{color:var(--gold)!important;font-weight:bold;}
.charts-lib-item.charts-lib-pinned .charts-lib-name{color:var(--gold)!important;}
.charts-lib-icon{width:16px;height:14px;display:flex;align-items:center;justify-content:center;flex-shrink:0;color:var(--txd);}
.charts-lib-name{flex:1;font-size:.82rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.charts-lib-pin{font-size:10px;flex-shrink:0;}
/* Context menu */
.ctx-menu{background:var(--bg2);border:1px solid var(--br);border-radius:6px;padding:4px;box-shadow:0 6px 20px rgba(0,0,0,.35);min-width:130px;}
.ctx-menu-item{display:block;width:100%;text-align:left;background:none;border:none;padding:6px 12px;font-size:.82rem;color:var(--tx);cursor:pointer;border-radius:4px;}
.ctx-menu-item:hover{background:var(--bg3,var(--bg));}
.ctx-menu-item.danger{color:#e05;}
.ctx-menu-item.danger:hover{background:rgba(221,0,85,.08);}
/* ── Right inspector ── */
.charts-insp-wrap{width:230px;flex-shrink:0;position:relative;display:flex;flex-direction:column;transition:width var(--sb-transition);overflow:hidden;border-left:1px solid var(--br);}
.charts-insp-hdr{display:flex;align-items:center;justify-content:space-between;padding:11px 10px 10px 13px;border-bottom:1px solid var(--br3);flex-shrink:0;min-height:42px;background:var(--bg2);}
.charts-insp-title{font-family:var(--mono);font-size:9px;letter-spacing:.14em;text-transform:uppercase;color:var(--txm);flex:1;}
.charts-insp-wrap.charts-insp-collapsed{width:var(--sb-collapsed);cursor:pointer;}
.charts-insp-wrap.charts-insp-collapsed:hover{border-left-color:var(--gdim);}
.charts-insp-wrap.charts-insp-collapsed .charts-inspector{display:none;}
.charts-insp-wrap.charts-insp-collapsed .charts-insp-title{display:none;}
.charts-insp-wrap.charts-insp-collapsed .charts-insp-hdr{padding:11px 0;justify-content:center;border-bottom:none;flex:1;min-height:0;}
.charts-insp-wrap.charts-insp-collapsed .sn-toggle{transform:scaleX(-1);}
.charts-insp-wrap.charts-insp-collapsed #charts-insp-resize{display:none;}
.charts-inspector{flex:1;min-width:0;background:var(--bg2);overflow-y:auto;display:flex;flex-direction:column;}
.charts-inspector::-webkit-scrollbar{width:16px;}
.charts-inspector::-webkit-scrollbar-track{background:var(--bg2);}
.charts-inspector::-webkit-scrollbar-thumb{background:var(--br2);border-radius:8px;border:4px solid var(--bg2);}
.charts-inspector::-webkit-scrollbar-thumb:hover{background:var(--txm);}
.charts-insp-empty{padding:20px 14px;font-size:.78rem;color:var(--txm);}
.charts-insp-title-row{padding:12px 12px 8px;}
.charts-insp-title-inp{width:100%;box-sizing:border-box;background:var(--bg);border:1px solid var(--br);border-radius:4px;color:var(--tx);font-size:.88rem;font-weight:600;padding:5px 8px;outline:none;}
.charts-insp-title-inp:focus{border-color:var(--gold);}
.charts-insp-modes{padding:4px 12px 10px;border-bottom:1px solid var(--br3);}
.charts-insp-modes-lbl{font-family:var(--mono);font-size:9px;text-transform:uppercase;letter-spacing:.1em;color:var(--txd);margin-bottom:6px;}
.charts-insp-mode-btns{display:grid;grid-template-columns:repeat(3,1fr);gap:4px;}
.charts-insp-mode-btn{background:var(--bg);border:1px solid var(--br);border-radius:4px;color:var(--txm);font-size:.72rem;padding:4px 2px;cursor:pointer;transition:all .15s;text-align:center;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.charts-insp-mode-btn:hover{border-color:var(--txm);color:var(--tx);}
.charts-insp-mode-btn.active{background:var(--gfaint);border-color:var(--gold);color:var(--gold);}
.charts-insp-section{border-top:1px solid var(--br3);}
.charts-insp-section-hdr{display:flex;align-items:center;justify-content:space-between;padding:8px 12px;cursor:pointer;font-family:var(--mono);font-size:10px;text-transform:uppercase;letter-spacing:.1em;color:var(--txm);user-select:none;}
.charts-insp-section-hdr:hover{color:var(--tx);}
.charts-insp-section-body{display:none;padding:4px 12px 10px;}
.charts-insp-section.open .charts-insp-section-body{display:block;}
.charts-insp-row{display:flex;align-items:center;gap:8px;padding:3px 0;}
.charts-insp-lbl{font-size:.74rem;color:var(--txm);flex:1;white-space:nowrap;}
.charts-insp-inp{background:var(--bg);border:1px solid var(--br);border-radius:3px;color:var(--tx);font-size:.78rem;padding:3px 6px;width:100%;outline:none;box-sizing:border-box;}
.charts-insp-inp:focus{border-color:var(--gold);}
.charts-insp-toggle{background:var(--bg);border:1px solid var(--br);border-radius:3px;color:var(--txm);font-size:.74rem;padding:2px 9px;cursor:pointer;transition:all .15s;}
.charts-insp-toggle.on{background:var(--gfaint);border-color:var(--gold);color:var(--gold);}
.charts-insp-color{width:34px;height:22px;padding:1px 2px;border:1px solid var(--br);border-radius:3px;cursor:pointer;background:none;}
.charts-insp-ta{width:100%;box-sizing:border-box;background:var(--bg);border:1px solid var(--br);border-radius:3px;color:var(--tx);font-size:.8rem;padding:4px 6px;resize:vertical;font-family:inherit;outline:none;}
.charts-insp-ta:focus{border-color:var(--gold);}
.charts-insp-info{font-size:.76rem;color:var(--txm);padding:3px 0;line-height:1.4;}
.charts-insp-linked{font-size:.74rem;color:var(--gold);padding-bottom:4px;}
.charts-insp-refresh-btn{display:block;width:100%;margin-top:6px;padding:5px 10px;background:var(--bg);border:1px solid var(--br);border-radius:4px;color:var(--txm);font-size:.78rem;cursor:pointer;text-align:left;transition:border-color .15s,color .15s;}
.charts-insp-refresh-btn:hover{border-color:var(--gold);color:var(--gold);}
/* ── Inspector sub-sections ── */
.charts-insp-subsec{margin-bottom:2px;}
.charts-insp-subsec-hdr{font-family:var(--mono);font-size:8px;text-transform:uppercase;letter-spacing:.12em;color:var(--gold);padding:6px 0 3px;border-bottom:1px solid var(--br3);margin-bottom:4px;}
.charts-insp-subsec-body{}
/* Color swatch control */
.charts-insp-swatch{width:26px;height:20px;border-radius:3px;border:1px solid var(--br2);cursor:pointer;flex-shrink:0;transition:border-color .12s;}
.charts-insp-swatch:hover{border-color:var(--txm);}
/* Slider */
.charts-insp-range-wrap{display:flex;align-items:center;gap:5px;flex:1;min-width:0;}
.charts-insp-range{flex:1;height:3px;accent-color:var(--gold);cursor:pointer;min-width:0;}
.charts-insp-range-val{font-family:var(--mono);font-size:9px;color:var(--txm);min-width:22px;text-align:right;flex-shrink:0;}
/* Segmented control */
.charts-insp-seg{display:flex;border:1px solid var(--br);border-radius:3px;overflow:hidden;flex-shrink:0;}
.charts-insp-seg-btn{flex:1;padding:2px 5px;border:none;border-right:1px solid var(--br);background:var(--bg);color:var(--txm);font-size:.68rem;cursor:pointer;transition:all .1s;white-space:nowrap;}
.charts-insp-seg-btn:last-child{border-right:none;}
.charts-insp-seg-btn:hover{color:var(--tx);}
.charts-insp-seg-btn.active{background:var(--gfaint);color:var(--gold);}
/* Font picker */
.charts-insp-font-wrap{flex:1;display:flex;flex-direction:column;gap:3px;min-width:0;}
.charts-insp-font-prev{font-size:.88rem;color:var(--txd);padding:2px 0;line-height:1.3;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
/* Column-layout row (for font rows) */
.charts-insp-row.charts-insp-row-col{flex-direction:column;align-items:flex-start;gap:3px;}
/* Per-side padding grid */
.charts-insp-pad-grid{display:grid;grid-template-columns:1fr 1fr;gap:3px 6px;flex:1;}
.charts-insp-pad-cell{display:flex;align-items:center;gap:3px;}
.charts-insp-pad-lbl{font-family:var(--mono);font-size:9px;color:var(--txm);width:9px;flex-shrink:0;}
.charts-insp-pad-inp{width:38px;background:var(--bg3);border:1px solid var(--br2);color:var(--tx);border-radius:3px;padding:2px 4px;font-family:var(--mono);font-size:10px;}
/* ── Chart template picker modal ── */
.ctp-overlay{position:fixed;inset:0;background:rgba(0,0,0,.6);z-index:3000;display:flex;align-items:center;justify-content:center;}
.ctp-modal{background:var(--bg2);border:1px solid var(--br);border-radius:10px;width:560px;max-width:94vw;max-height:88vh;overflow-y:auto;box-shadow:0 16px 48px rgba(0,0,0,.5);}
.ctp-header{display:flex;align-items:center;justify-content:space-between;padding:16px 20px 12px;border-bottom:1px solid var(--br3);}
.ctp-title{font-size:1rem;font-weight:600;color:var(--tx);}
.ctp-close{background:none;border:none;color:var(--txm);font-size:16px;cursor:pointer;padding:2px 6px;border-radius:4px;transition:color .15s;}
.ctp-close:hover{color:var(--tx);}
.ctp-section{padding:16px 20px 8px;}
.ctp-section-lbl{display:flex;align-items:baseline;gap:8px;font-family:var(--mono);font-size:9px;text-transform:uppercase;letter-spacing:.12em;color:var(--txd);margin-bottom:10px;}
.ctp-section-sub{font-size:.65rem;letter-spacing:0;text-transform:none;color:var(--txd);opacity:.7;font-family:var(--mono);}
.ctp-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:8px;margin-bottom:12px;}
.ctp-tile{display:flex;flex-direction:column;align-items:center;gap:4px;padding:12px 6px 10px;background:var(--bg);border:1px solid var(--br);border-radius:8px;cursor:pointer;transition:border-color .15s,background .15s;text-align:center;}
.ctp-tile:hover{border-color:var(--gold);background:var(--gfaint);}
.ctp-tile-blank{border-style:dashed;opacity:.8;}
.ctp-tile-blank:hover{opacity:1;}
.ctp-icon{font-size:20px;color:var(--txm);line-height:1;}
.ctp-tile-label{font-size:.76rem;font-weight:600;color:var(--tx);line-height:1.2;}
.ctp-tile-desc{font-family:var(--mono);font-size:.65rem;color:var(--txd);line-height:1.3;}

/* ═══ ASSET PICKER ═══ */
.ap-overlay{position:fixed;inset:0;background:rgba(0,0,0,.55);z-index:3000;display:flex;align-items:center;justify-content:center;}
.ap-modal{background:var(--bg2);border:1px solid var(--br);border-radius:10px;width:560px;max-width:calc(100vw - 32px);max-height:calc(100vh - 48px);display:flex;flex-direction:column;overflow:hidden;box-shadow:0 16px 48px rgba(0,0,0,.5);}
.ap-hdr{display:flex;align-items:center;justify-content:space-between;padding:14px 16px 10px;border-bottom:1px solid var(--br);flex-shrink:0;}
.ap-title{font-size:.92rem;font-weight:600;color:var(--tx);}
.ap-close{background:none;border:none;font-size:1rem;color:var(--txm);cursor:pointer;padding:2px 6px;line-height:1;}
.ap-close:hover{color:var(--tx);}
.ap-search{margin:10px 14px 0;padding:7px 10px;border:1px solid var(--br);border-radius:5px;background:var(--bg);color:var(--tx);font-size:.85rem;outline:none;flex-shrink:0;}
.ap-search:focus{border-color:var(--gold);}
.ap-grid{flex:1;overflow-y:auto;display:grid;grid-template-columns:repeat(auto-fill,minmax(130px,1fr));gap:10px;padding:14px;min-height:80px;}
.ap-empty{grid-column:1/-1;text-align:center;padding:24px;font-size:.82rem;color:var(--txm);}
.ap-tile{border:2px solid var(--br);border-radius:6px;overflow:hidden;cursor:pointer;background:var(--bg);transition:border-color .15s;}
.ap-tile:hover{border-color:var(--txm);}
.ap-tile.selected{border-color:var(--gold);}
.ap-tile-thumb{height:72px;overflow:hidden;display:flex;align-items:center;justify-content:center;background:var(--bg3,var(--bg));padding:4px;}
.ap-tile-thumb .charc-asset{pointer-events:none;max-width:100%;max-height:64px;}
.ap-tile-name{font-size:.76rem;font-weight:500;color:var(--tx);padding:5px 7px 2px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.ap-tile-preset{font-size:.67rem;color:var(--txm);font-family:var(--mono);padding:0 7px 6px;}
.ap-opts{padding:10px 14px 8px;border-top:1px solid var(--br);display:flex;flex-direction:column;gap:7px;flex-shrink:0;}
.ap-opts-row{display:flex;align-items:center;gap:10px;}
.ap-opts-lbl{font-size:.74rem;color:var(--txm);width:54px;flex-shrink:0;}
.ap-opts-btns{display:flex;gap:4px;}
.ap-opt-btn{padding:3px 10px;border:1px solid var(--br);border-radius:3px;background:var(--bg);color:var(--txm);font-size:.74rem;cursor:pointer;transition:all .12s;}
.ap-opt-btn:hover{color:var(--tx);}
.ap-opt-btn.active{border-color:var(--gold);background:var(--gfaint);color:var(--gold);}
.ap-caption-inp{flex:1;padding:3px 8px;border:1px solid var(--br);border-radius:3px;background:var(--bg);color:var(--tx);font-size:.8rem;outline:none;}
.ap-caption-inp:focus{border-color:var(--gold);}
.ap-footer{display:flex;justify-content:space-between;align-items:center;padding:10px 14px;border-top:1px solid var(--br);flex-shrink:0;}
.ap-cancel-btn{padding:6px 14px;border:1px solid var(--br);border-radius:5px;background:none;color:var(--txm);cursor:pointer;font-size:.82rem;}
.ap-cancel-btn:hover{color:var(--tx);}
.ap-insert-btn{padding:6px 18px;border:1px solid var(--gold);border-radius:5px;background:var(--gfaint);color:var(--gold);cursor:pointer;font-size:.82rem;font-weight:500;transition:all .15s;}
.ap-insert-btn:disabled{opacity:.3;cursor:default;}
.ap-insert-btn:not(:disabled):hover{background:var(--gold);color:var(--bg);}

/* ═══ CHARTS DATA BAR ═══ */
.charts-databar{flex-shrink:0;border-top:1px solid var(--br);background:var(--bg2);display:none;}
.charts-databar.open .charts-databar-body{display:block;}
.charts-databar-hdr{display:flex;align-items:center;gap:8px;padding:5px 12px;cursor:pointer;user-select:none;}
.charts-databar-hdr:hover{background:var(--bg3);}
.charts-databar-lbl{font-family:var(--mono);font-size:9px;letter-spacing:.1em;text-transform:uppercase;color:var(--txd);flex:1;}
.charts-databar-chev{font-size:10px;color:var(--txm);}
.charts-databar-paste-btn{font-family:var(--mono);font-size:9px;padding:2px 7px;border:1px solid var(--br);border-radius:3px;background:none;color:var(--txm);cursor:pointer;}
.charts-databar-paste-btn:hover{color:var(--gold);border-color:var(--gold);}
.charts-databar-body{max-height:260px;overflow-y:auto;display:flex;flex-direction:column;}
/* Panel sections (composite multi-chart mode) */
.charts-db-panel-sec{display:flex;flex-direction:column;border-top:1px solid var(--br3);}
.charts-db-panel-sec:first-child{border-top:none;}
.charts-db-panel-lbl{display:flex;align-items:center;justify-content:space-between;font-family:var(--mono);font-size:9px;text-transform:uppercase;letter-spacing:.1em;color:var(--gold);padding:5px 10px 3px;background:var(--bg2);flex-shrink:0;cursor:pointer;user-select:none;}
.charts-db-panel-lbl:hover{color:var(--tx);}
.charts-db-panel-del{background:none;border:none;color:var(--txm);cursor:pointer;font-size:9px;padding:0 1px;line-height:1;opacity:0;flex-shrink:0;}
.charts-db-panel-lbl:hover .charts-db-panel-del{opacity:.6;}
.charts-db-panel-del:hover{color:var(--ember)!important;opacity:1!important;}
.charts-db-panel-sec .charts-db-twocol{flex:none;height:150px;}
/* Two-column data footer layout */
.charts-db-twocol{display:flex;flex:1;min-height:0;overflow:hidden;}
.charts-db-col-left{flex:1;min-width:0;overflow:auto;}
.charts-db-col-right{width:260px;flex-shrink:0;border-left:1px solid var(--br3);overflow-y:auto;}
.charts-db-col-right .charts-dbo-sec:first-child{border-top:none;}
/* Data bar grid */
.charts-db-grid{border-collapse:collapse;font-size:.78rem;white-space:nowrap;}
.charts-db-grid th,.charts-db-grid td{border:1px solid var(--br3);padding:0;}
.charts-db-corner{width:28px;min-width:28px;background:var(--bg2);}
.charts-db-cat-hdr{background:var(--bg2);min-width:80px;position:relative;}
.charts-db-col-del{position:absolute;top:2px;right:2px;background:none;border:none;color:var(--txm);cursor:pointer;font-size:9px;line-height:1;padding:0 2px;opacity:0;}
.charts-db-cat-hdr:hover .charts-db-col-del{opacity:.7;}
.charts-db-col-del:hover{color:var(--ember)!important;opacity:1!important;}
.charts-db-add-col{background:var(--bg2);}
.charts-db-series-row{opacity:1;transition:opacity .1s;}
.charts-db-series-row.charts-db-hidden{opacity:.45;}
.charts-db-sw-cell,.charts-db-eye-cell,.charts-db-del-cell{width:26px;text-align:center;padding:2px!important;}
.charts-db-name-cell{min-width:90px;}
.charts-db-val-cell{min-width:70px;text-align:right;}
.charts-db-sw{width:16px!important;height:16px!important;border-radius:3px;cursor:pointer;display:inline-block;flex-shrink:0;}
.charts-db-eye,.charts-db-del{background:none;border:none;cursor:pointer;color:var(--txm);font-size:11px;padding:2px;line-height:1;}
.charts-db-eye:hover{color:var(--gold);}
.charts-db-del:hover:not(:disabled){color:var(--ember);}
.charts-db-del:disabled{opacity:.25;cursor:default;}
.charts-db-inp{width:100%;box-sizing:border-box;background:transparent;border:none;outline:none;color:var(--tx);font-family:var(--mono);font-size:.78rem;padding:4px 6px;}
.charts-db-val-inp{text-align:right;}
.charts-db-inp:focus{background:var(--gfaint);outline:1px solid var(--gold);}
.charts-db-footer{padding:4px 8px!important;background:var(--bg2);}
.charts-db-add-btn{background:none;border:1px solid var(--br);border-radius:3px;color:var(--txm);font-size:.74rem;padding:2px 8px;cursor:pointer;}
.charts-db-add-btn:hover{color:var(--gold);border-color:var(--gold);}
.charts-db-sym-bar{display:flex;flex-wrap:wrap;align-items:center;gap:3px;padding:5px 8px 4px;border-bottom:1px solid var(--br3);background:var(--bg2);}
.charts-db-sym-hint{font-size:.68rem;color:var(--txm);margin-right:4px;white-space:nowrap;}
.charts-db-sym-btn{background:var(--bg3,var(--bg2));border:1px solid var(--br);border-radius:3px;color:var(--tx);font-size:13px;width:24px;height:24px;line-height:1;cursor:pointer;padding:0;display:flex;align-items:center;justify-content:center;}
.charts-db-sym-btn:hover{border-color:var(--gold);color:var(--gold);}
.charts-db-palette-bar{display:flex;align-items:center;gap:6px;padding:4px 10px;border-bottom:1px solid var(--br3);}
.charts-db-pal-sel{background:var(--bg2);border:1px solid var(--br);border-radius:3px;color:var(--txm);font-size:.74rem;padding:2px 5px;cursor:pointer;outline:none;}
.charts-db-pal-sel:focus{border-color:var(--gold);}
.charts-db-color-cell{text-align:center;background:var(--bg2);min-width:80px;padding:3px 4px!important;}
.charts-db-pt-sw{width:14px;height:14px;border-radius:3px;cursor:pointer;display:inline-block;border:1px dashed var(--br2);background:transparent;transition:transform .1s;}
.charts-db-pt-sw:hover{transform:scale(1.2);}
/* Render opts / table style footer sections */
.charts-dbo-sec{border-top:1px solid var(--br3);padding:6px 12px 8px;}
.charts-dbo-sec-hdr{font-family:var(--mono);font-size:9px;letter-spacing:.1em;text-transform:uppercase;color:var(--txd);margin-bottom:5px;}
.charts-dbo-grid{display:flex;flex-wrap:wrap;gap:2px 20px;}
.charts-dbo-row{display:flex;align-items:center;gap:6px;min-height:24px;min-width:160px;}
.charts-dbo-lbl{font-size:.73rem;color:var(--txm);min-width:68px;flex-shrink:0;}
.charts-dbo-slider-wrap{display:flex;align-items:center;gap:5px;flex:1;min-width:100px;}
.charts-dbo-slider{flex:1;accent-color:var(--gold);cursor:pointer;height:2px;}
.charts-dbo-val{font-family:var(--mono);font-size:.7rem;color:var(--txd);min-width:30px;text-align:right;}
.charts-dbo-toggle{background:none;border:1px solid var(--br);border-radius:3px;color:var(--txm);font-size:.72rem;padding:2px 8px;cursor:pointer;min-width:36px;}
.charts-dbo-toggle.active{background:var(--gold);border-color:var(--gold);color:#000;}
.charts-dbo-toggle:hover:not(.active){border-color:var(--gold);color:var(--gold);}

/* ═══ DAYLIGHT: charts UI chrome ═══ */
[data-theme="daylight"] .charts-toolbar{background:#ffffff;border-bottom-color:rgba(0,0,0,.10);}
[data-theme="daylight"] .charts-tb-sel{background:#f8fafc;border-color:rgba(0,0,0,.13);}
[data-theme="daylight"] .charts-insp-wrap{background:#ffffff;border-left-color:rgba(0,0,0,.10);}
[data-theme="daylight"] .charts-insp-hdr{background:#ffffff;border-bottom-color:rgba(0,0,0,.10);}
[data-theme="daylight"] .charts-inspector{background:#ffffff;}
[data-theme="daylight"] .charts-inspector::-webkit-scrollbar-track{background:#ffffff;}
[data-theme="daylight"] .charts-inspector::-webkit-scrollbar-thumb{border-color:#ffffff;}
[data-theme="daylight"] .charts-databar{background:#ffffff;border-top-color:rgba(0,0,0,.10);}
[data-theme="daylight"] .charts-databar-hdr:hover{background:rgba(0,0,0,.04);}
[data-theme="daylight"] .charts-canvas{background:#f2f2f2;}
[data-theme="daylight"] .charts-db-corner,[data-theme="daylight"] .charts-db-cat-hdr,[data-theme="daylight"] .charts-db-add-col{background:#f5f6f8;}
[data-theme="daylight"] .charts-db-col-right{border-left-color:rgba(0,0,0,.10);}
[data-theme="daylight"] .charts-dbo-sec{border-top-color:rgba(0,0,0,.08);}

/* ═══ DAYLIGHT: table asset card style ═══ */
[data-theme="daylight"] .charc-asset[data-kind="table"]{background:var(--sur);border:1px solid var(--br);border-radius:10px;box-shadow:0 2px 12px rgba(0,0,0,.13);overflow:hidden;}
[data-theme="daylight"] .charc-asset-table th,[data-theme="daylight"] .charc-th{background:var(--gold)!important;color:#ffffff!important;border-color:var(--gold)!important;}
[data-theme="daylight"] .charc-asset-table td{background:var(--sur);border-color:var(--br);}

/* ═══ FIND & REPLACE PANEL ═══ */
.fnr-panel{position:fixed;top:58px;right:20px;z-index:920;background:var(--sur,var(--card));border:1px solid var(--br2);border-radius:8px;padding:12px 14px;width:320px;box-shadow:0 6px 24px rgba(0,0,0,.28);display:flex;flex-direction:column;gap:8px;}
.fnr-header{display:flex;align-items:center;justify-content:space-between;}
.fnr-title{font-size:10px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--txm);}
.fnr-close{background:none;border:none;color:var(--txm);cursor:pointer;font-size:14px;padding:2px 4px;line-height:1;border-radius:3px;}
.fnr-close:hover{color:var(--tx);background:var(--bg2);}
.fnr-find-row{display:flex;align-items:center;gap:4px;}
.fnr-replace-row{display:flex;align-items:center;gap:4px;}
.fnr-input{flex:1;height:26px;padding:0 8px;background:var(--bg2);border:1px solid var(--br2);border-radius:4px;color:var(--tx);font-family:inherit;font-size:12px;min-width:0;}
.fnr-input:focus{outline:none;border-color:var(--accent,var(--gold));}
.fnr-nav-btn,.fnr-action-btn{background:var(--bg2);border:1px solid var(--br2);border-radius:3px;color:var(--tx);cursor:pointer;font-size:12px;height:26px;padding:0 7px;flex-shrink:0;white-space:nowrap;}
.fnr-nav-btn:hover,.fnr-action-btn:hover{background:var(--bg3,var(--bg2));border-color:var(--br);}
.fnr-count{font-size:10px;color:var(--txm);min-width:56px;text-align:right;white-space:nowrap;flex-shrink:0;}
.fnr-opts{display:flex;gap:12px;}
.fnr-opt-label{display:flex;align-items:center;gap:4px;font-size:11px;color:var(--txm);cursor:pointer;user-select:none;}
.fnr-opt-label input{cursor:pointer;}
mark.fnr-hit{background:rgba(200,164,90,.28);border-radius:2px;padding:0 1px;color:inherit;}
mark.fnr-hit.active{background:rgba(200,164,90,.72);outline:1px solid rgba(200,164,90,.9);}
[data-theme="daylight"] .charc-table-row-stripe{background:var(--bg2)!important;}

/* ── QUICK SHARE MODAL ── */
.qs-overlay{position:fixed;inset:0;background:rgba(0,0,0,.6);z-index:5000;display:flex;align-items:center;justify-content:center;}
.qs-modal{background:var(--sur);border:1px solid var(--br2);border-radius:10px;width:480px;max-width:calc(100vw - 32px);box-shadow:0 12px 48px rgba(0,0,0,.55);}
.qs-hdr{display:flex;align-items:center;justify-content:space-between;padding:14px 18px 12px;border-bottom:1px solid var(--br2);}
.qs-title{font-size:.92rem;font-weight:600;color:var(--tx);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:380px;}
.qs-close{background:none;border:none;cursor:pointer;color:var(--gdim);font-size:1rem;padding:2px 4px;line-height:1;}
.qs-close:hover{color:var(--tx);}
.qs-body{padding:16px 18px 20px;display:flex;flex-direction:column;gap:12px;}
.qs-loading{font-size:.82rem;color:var(--gdim);}
.qs-sub{font-size:.85rem;color:var(--txd);line-height:1.55;}
.qs-row{display:flex;align-items:center;gap:10px;}
.qs-lbl{font-size:.8rem;color:var(--txd);flex-shrink:0;}
.qs-sel{background:var(--bg);border:1px solid var(--br2);border-radius:5px;padding:5px 8px;color:var(--tx);font-size:.83rem;cursor:pointer;}
.qs-note{font-size:.75rem;color:var(--gdim);line-height:1.4;}
.qs-actions{display:flex;justify-content:flex-end;}
.qs-btn-primary{background:var(--gold);border:none;border-radius:6px;padding:8px 18px;color:var(--bg);font-size:.82rem;font-weight:700;cursor:pointer;font-family:var(--mono);letter-spacing:.05em;}
.qs-btn-primary:hover{opacity:.88;}
.qs-btn-primary:disabled{opacity:.5;cursor:not-allowed;}
.qs-err{font-size:.8rem;color:var(--ember,#d97706);min-height:16px;}
.qs-link-wrap{display:flex;gap:6px;align-items:center;}
.qs-link-input{flex:1;background:var(--bg);border:1px solid var(--br2);border-radius:5px;padding:7px 10px;color:var(--txd);font-size:.78rem;outline:none;font-family:var(--mono);}
.qs-copy-btn{background:var(--gold);border:none;border-radius:5px;padding:7px 14px;color:var(--bg);font-size:.8rem;font-weight:700;cursor:pointer;white-space:nowrap;flex-shrink:0;}
.qs-copy-btn:hover{opacity:.88;}
.qs-expiry-row{display:flex;align-items:center;justify-content:space-between;}
.qs-expiry-lbl{font-size:.78rem;color:var(--txd);font-family:var(--mono);}
.qs-revoke-btn{background:none;border:1px solid var(--br2);border-radius:4px;padding:4px 10px;color:var(--txd);font-size:.75rem;cursor:pointer;font-family:var(--mono);}
.qs-revoke-btn:hover{border-color:var(--ember,#d97706);color:var(--ember,#d97706);}
.qs-revoke-btn:disabled{opacity:.5;cursor:not-allowed;}
.qs-img-row{display:flex;align-items:center;gap:7px;cursor:pointer;user-select:none;font-size:.83rem;color:var(--tx);}
.qs-img-row input[type="checkbox"]{accent-color:var(--gold);width:14px;height:14px;cursor:pointer;flex-shrink:0;}