
:root{
  --bg:#f7f8fb;--surface:#ffffff;--surface-2:#f3f5f8;--text:#18212f;--muted:#6f7a8a;
  --border:#e4e8ef;--accent:#2f6feb;--accent-soft:#eaf1ff;--shadow:0 18px 50px rgba(25,35,50,.08);
  --code:#0f1724;--code-text:#e9eef7;--mark:#ffe27a;--mark-active:#ffb13b;--mark-text:#342600;--mark-active-text:#241300;
  --tocw:300px;--zoom:1;
}
html[data-theme="dark"]{
  --bg:#0c111b;--surface:#121826;--surface-2:#171f2f;--text:#edf3fb;--muted:#9ca8b8;
  --border:#253044;--accent:#74a7ff;--accent-soft:#16233a;--shadow:0 18px 50px rgba(0,0,0,.30);
  --code:#070b12;--code-text:#e8eef7;--mark:#7a5b13;--mark-active:#d97706;--mark-text:#fff3c4;--mark-active-text:#fffaf0;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;background:var(--bg);color:var(--text);
  font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  min-height:100vh;
}
button,input,.btn{font:inherit}
button,.btn{
  border:1px solid var(--border);background:var(--surface);color:var(--text);
  border-radius:10px;padding:8px 10px;cursor:pointer;transition:.15s ease
}
button:hover,.btn:hover{background:var(--surface-2)}
.btn input{display:none}
.hidden{display:none!important}

/* top chrome */
.appbar{
  position:sticky;top:0;z-index:50;height:58px;
  display:flex;align-items:center;gap:12px;padding:0 14px;
  background:color-mix(in srgb,var(--surface) 92%,transparent);
  backdrop-filter:blur(14px);border-bottom:1px solid var(--border)
}
.brand{display:flex;align-items:center;gap:9px;min-width:0}
.brand-badge{
  width:32px;height:32px;border-radius:9px;display:grid;place-items:center;
  background:linear-gradient(135deg,#3478f6,#7a5cf5);color:white;font-weight:800;font-size:12px
}
.brand-copy{min-width:0}.brand-title{font-weight:720;font-size:14px}.brand-file{font-size:11px;color:var(--muted);max-width:280px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.searchbar{
  margin-left:auto;display:flex;align-items:center;gap:6px;
  width:min(440px,38vw)
}
.searchbox{
  flex:1;height:36px;display:flex;align-items:center;gap:7px;padding:0 10px;
  border:1px solid var(--border);border-radius:10px;background:var(--surface-2)
}
.searchbox input{border:0;outline:0;background:transparent;color:var(--text);width:100%;min-width:80px}
.search-count{font-size:11px;color:var(--muted);white-space:nowrap;font-variant-numeric:tabular-nums}
.navbtn{height:36px;min-width:36px;padding:0;display:grid;place-items:center}
.app-actions{display:flex;align-items:center;gap:6px}
.iconbtn{
  width:36px;height:36px;padding:0;display:grid;place-items:center;
  border-radius:10px;font-size:15px
}
.open-btn{height:36px;padding:0 12px;display:flex;align-items:center;font-weight:650;background:var(--text);color:var(--surface);border-color:transparent}
html[data-theme="dark"] .open-btn{background:#edf3fb;color:#111827}

/* TOC rail + panel */
.toc-rail{
  position:fixed;left:0;top:58px;bottom:0;width:18px;z-index:40;
  display:flex;align-items:flex-start;justify-content:center;
  background:transparent
}
.toc-rail::after{
  content:"";margin-top:16px;width:3px;height:46px;border-radius:4px;
  background:color-mix(in srgb,var(--muted) 50%,transparent);opacity:.45
}
.toc-panel{
  position:fixed;left:8px;top:70px;bottom:12px;width:var(--tocw);z-index:45;
  border:1px solid var(--border);border-radius:14px;background:var(--surface);
  box-shadow:var(--shadow);overflow:hidden;
  transform:translateX(calc(-100% - 18px));opacity:0;pointer-events:none;
  transition:transform .18s ease,opacity .18s ease
}
body.toc-hover .toc-panel,body.toc-pinned .toc-panel{
  transform:translateX(0);opacity:1;pointer-events:auto
}
.toc-head{
  height:52px;padding:0 12px 0 14px;display:flex;align-items:center;gap:8px;
  border-bottom:1px solid var(--border)
}
.toc-title{font-weight:700;font-size:13px}.toc-spacer{flex:1}
.pin{
  width:30px;height:30px;border:0;background:transparent;color:var(--muted);padding:0;display:grid;place-items:center
}
.pin:hover{background:var(--surface-2);color:var(--text)}
body.toc-pinned .pin{color:var(--accent);background:var(--accent-soft)}
.file-card{margin:12px;padding:11px;border:1px solid var(--border);border-radius:10px;background:var(--surface-2)}
.file-name{font-weight:650;font-size:12px;word-break:break-word}.file-meta{font-size:11px;color:var(--muted);margin-top:4px}
.toc-list{height:calc(100% - 128px);overflow:auto;padding:4px 8px 14px}
.toc-list a{
  display:block;padding:6px 8px;border-radius:7px;color:var(--muted);
  text-decoration:none;font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis
}
.toc-list a:hover{background:var(--surface-2);color:var(--text)}
.toc-list a.active{
  background:var(--accent-soft);
  color:var(--accent);
  font-weight:700;
  position:relative;
}
.toc-list a.active::before{
  content:"";
  position:absolute;
  left:2px;
  top:7px;
  bottom:7px;
  width:3px;
  border-radius:3px;
  background:var(--accent);
}
.toc-list a.l2{padding-left:18px}.toc-list a.l3{padding-left:28px}.toc-list a.l4{padding-left:38px}

/* layout behavior */
.stage{
  min-height:calc(100vh - 58px);
  padding:24px clamp(16px,2vw,38px) 70px;
  transition:padding-left .18s ease
}
body.toc-pinned .stage{padding-left:calc(var(--tocw) + 24px)}
.reader-shell{
  width:100%;
  max-width:1600px;
  margin:0 auto
}
body.toc-pinned .reader-shell{
  max-width:min(1600px,calc(100vw - var(--tocw) - 68px))
}
.reader{
  width:100%;
  background:var(--surface);border:1px solid var(--border);border-radius:16px;
  box-shadow:var(--shadow);
  padding:clamp(30px,3vw,52px) clamp(28px,4vw,68px);
  min-height:72vh
}
@media(min-width:1700px){
  .reader-shell{max-width:calc(100vw - 96px)}
  body.toc-pinned .reader-shell{max-width:calc(100vw - var(--tocw) - 78px)}
}
@media(min-width:2200px){
  .reader-shell{max-width:1900px}
  body.toc-pinned .reader-shell{max-width:min(1900px,calc(100vw - var(--tocw) - 90px))}
}
#out{zoom:var(--zoom)}
.footer{font-size:11px;color:var(--muted);text-align:center;margin:14px auto 0}
.empty{
  max-width:760px;margin:9vh auto 0;background:var(--surface);border:1px solid var(--border);
  border-radius:18px;box-shadow:var(--shadow);padding:46px 34px;text-align:center
}
.empty h1{font-size:28px;margin:8px 0}.empty p{color:var(--muted)}
.dropzone{margin-top:26px;border:1.5px dashed var(--border);border-radius:14px;padding:28px;background:var(--surface-2)}
body.drag .dropzone{border-color:var(--accent);background:var(--accent-soft)}

/* markdown */
.md{font-size:16px;line-height:1.72;word-wrap:break-word}
.md>*:first-child{margin-top:0}
.md h1,.md h2,.md h3,.md h4,.md h5,.md h6{
  line-height:1.24;
  margin:1.7em 0 .68em;
  letter-spacing:-.025em;
  scroll-margin-top:var(--anchor-offset,82px)
}
.md h1{font-size:2.08em}.md h2{font-size:1.50em;border-bottom:1px solid var(--border);padding-bottom:.34em}.md h3{font-size:1.23em}.md h4{font-size:1.08em}
.md p{margin:0 0 1em}.md a{color:var(--accent);text-decoration:none}.md a:hover{text-decoration:underline}.md strong{font-weight:760}
.md hr{border:0;height:1px;background:var(--border);margin:28px 0}.md ul,.md ol{padding-left:1.55em}.md li{margin:.2em 0}
.md blockquote{margin:1.05em 0;padding:.75em 1em;border-left:3px solid var(--accent);background:var(--accent-soft);color:var(--muted);border-radius:0 9px 9px 0}
.md code{font:86% "SFMono-Regular",Consolas,Menlo,monospace;background:var(--surface-2);border:1px solid var(--border);padding:.15em .35em;border-radius:5px}
.md table{border-collapse:separate;border-spacing:0;width:100%;display:block;overflow:auto;margin:1.15em 0;border:1px solid var(--border);border-radius:9px}
.md th,.md td{border-right:1px solid var(--border);border-bottom:1px solid var(--border);padding:8px 11px;text-align:left;vertical-align:top}
.md th{background:var(--surface-2);font-weight:700}.md th:last-child,.md td:last-child{border-right:0}.md tr:last-child td{border-bottom:0}
.md details{margin:1em 0;border:1px solid var(--border);border-radius:10px;background:var(--surface-2);overflow:hidden}
.md details>summary{cursor:pointer;padding:10px 13px;font-weight:650;list-style-position:inside}
.md details[open]>summary{border-bottom:1px solid var(--border);background:color-mix(in srgb,var(--surface-2) 65%,var(--surface))}
.md .details-body{padding:12px 14px 3px;background:var(--surface)}
.md mark[data-search]{background:var(--mark);color:var(--mark-text)!important;padding:0 2px;border-radius:3px;font-weight:700;box-decoration-break:clone;-webkit-box-decoration-break:clone}.md mark[data-search].active{background:var(--mark-active);color:var(--mark-active-text)!important;outline:2px solid color-mix(in srgb,var(--mark-active) 62%,var(--text));outline-offset:1px}
.md img{max-width:100%;border-radius:9px}

/* code blocks */
.code-card{margin:1em 0;border:1px solid #263449;border-radius:11px;overflow:hidden;background:var(--code)}
.code-toolbar{height:38px;display:flex;align-items:center;gap:8px;padding:0 9px;border-bottom:1px solid #263449;background:#111927}
.code-lang{font:11px ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;color:#8fa0b8;text-transform:lowercase}
.code-tools{margin-left:auto;display:flex;gap:6px}
.code-tools button{border:1px solid #334155;background:#182235;color:#e5edf7;font-size:10px;padding:5px 8px;border-radius:6px}
.md pre{margin:0;padding:18px 20px;border:0;background:var(--code);color:var(--code-text);overflow-x:auto;overflow-y:hidden;tab-size:2}
.md pre code{display:block;width:max-content;min-width:100%;white-space:pre;background:transparent!important;border:0!important;padding:0!important;color:var(--code-text)!important;font:13px/1.65 "SFMono-Regular",Consolas,Menlo,monospace}
.code-card.wrapped pre{overflow-x:hidden}.code-card.wrapped pre code{width:auto;min-width:0;white-space:pre-wrap;overflow-wrap:anywhere;word-break:break-word}
/* Keep code/table chrome close to the actual content on wide displays. */
.code-card,.table-card{
  width:fit-content;
  max-width:100%;
  min-width:min(680px,100%);
  margin-right:auto;
}
.code-card pre{max-width:100%}
.code-card ::selection{background:#315a8b;color:#fff}
html:not([data-theme="dark"]) .code-card ::selection{background:#b8d7ff;color:#0b1422}


/* floating document controls */
.doc-fab{
  position:fixed;right:18px;bottom:18px;z-index:35;display:flex;align-items:center;gap:4px;
  padding:5px;border:1px solid var(--border);border-radius:12px;background:color-mix(in srgb,var(--surface) 94%,transparent);
  backdrop-filter:blur(10px);box-shadow:var(--shadow)
}
.doc-fab button{width:32px;height:32px;padding:0;display:grid;place-items:center;border:0;box-shadow:none;background:transparent}
.doc-fab .zoom-label{width:48px;font-size:11px;color:var(--muted);text-align:center}

/* mermaid */
.mermaid-card{margin:1.1em 0;border:1px solid var(--border);border-radius:11px;background:var(--surface-2);overflow:hidden}
.mermaid-head{min-height:40px;padding:6px 9px 6px 12px;border-bottom:1px solid var(--border);display:flex;align-items:center;gap:8px;font-size:11px;color:var(--muted)}
.mermaid-head .mermaid-title{font-weight:650;color:var(--text)}
.mermaid-head .mermaid-spacer{flex:1}
.mermaid-expand{border:1px solid var(--border);background:var(--surface);color:var(--text);padding:5px 8px;border-radius:7px;font-size:10px}
.mermaid-body{padding:18px;min-width:560px;overflow:auto;text-align:center;cursor:zoom-in}
.mermaid-body svg{max-width:100%;height:auto}
.mermaid-fallback{text-align:left;white-space:pre-wrap;font:13px ui-monospace,monospace}

.mermaid-modal{position:fixed;inset:0;z-index:1000;display:none;flex-direction:column;background:color-mix(in srgb,var(--bg) 94%,transparent);backdrop-filter:blur(12px)}
.mermaid-modal.open{display:flex}
.mermaid-modal-bar{height:58px;flex:0 0 58px;display:flex;align-items:center;gap:8px;padding:0 14px;border-bottom:1px solid var(--border);background:var(--surface)}
.mermaid-modal-title{font-weight:700;font-size:13px}.mermaid-modal-spacer{flex:1}
.mermaid-modal-bar button{width:34px;height:34px;padding:0;display:grid;place-items:center}
.mermaid-modal-zoom{min-width:52px;text-align:center;font-size:11px;color:var(--muted)}
.mermaid-modal-canvas{flex:1;overflow:auto;padding:32px;display:flex;align-items:flex-start;justify-content:center}
.mermaid-modal-content{width:max-content;min-width:0;margin:0 auto;background:var(--surface);border:1px solid var(--border);border-radius:12px;box-shadow:var(--shadow);padding:20px}
.mermaid-modal-content svg{display:block;max-width:none!important;max-height:none!important;height:auto!important}

@media(max-width:980px){
  body.toc-pinned .stage{padding-left:18px}
  .toc-panel{width:min(88vw,320px)}
  .stage{padding:18px 12px 60px}
  .reader{padding:30px 22px}
  .brand-file{max-width:150px}
  .searchbar{width:min(360px,42vw)}
}
@media(max-width:720px){
  .appbar{height:auto;min-height:58px;flex-wrap:wrap;padding:9px 10px}
  .searchbar{order:3;width:100%;max-width:none}
  .app-actions .optional{display:none}
  .stage{padding-top:14px}
  .reader{padding:23px 15px}
  .doc-fab{right:10px;bottom:10px}
}

.drop-overlay{
  position:fixed;inset:58px 0 0 0;z-index:900;display:none;
  align-items:center;justify-content:center;pointer-events:none;
  background:color-mix(in srgb,var(--accent) 8%,transparent);
  backdrop-filter:blur(3px)
}
body.drag .drop-overlay{display:flex}
.drop-overlay-card{
  padding:28px 38px;border:2px dashed var(--accent);border-radius:16px;
  background:var(--surface);box-shadow:var(--shadow);text-align:center
}
.drop-overlay-card strong{display:block;font-size:18px;margin-bottom:5px}
.drop-overlay-card span{font-size:12px;color:var(--muted)}


.docs-strip{
  position:sticky;
  top:58px;
  z-index:32;
  display:none;
  align-items:center;
  gap:6px;
  min-height:42px;
  padding:5px 12px;
  overflow-x:auto;
  background:color-mix(in srgb,var(--surface) 94%,transparent);
  backdrop-filter:blur(12px);
  border-bottom:1px solid var(--border);
  scrollbar-width:thin
}
body.has-docs .docs-strip{display:flex}
.doc-tab{
  flex:0 0 auto;
  max-width:260px;
  height:30px;
  display:flex;
  align-items:center;
  gap:7px;
  padding:0 9px;
  border:1px solid transparent;
  border-radius:8px;
  background:transparent;
  color:var(--muted);
  cursor:pointer;
  box-shadow:none
}
.doc-tab:hover{background:var(--surface-2);color:var(--text)}
.doc-tab.active{
  background:var(--surface);
  border-color:var(--border);
  color:var(--text)
}
.doc-tab-name{
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
  font-size:12px
}
.doc-tab-close{
  width:18px;
  height:18px;
  border:0;
  padding:0;
  border-radius:5px;
  display:grid;
  place-items:center;
  background:transparent;
  color:var(--muted);
  font-size:12px
}
.doc-tab-close:hover{background:var(--surface-2);color:var(--text)}
.docs-count{
  flex:0 0 auto;
  font-size:11px;
  color:var(--muted);
  padding:0 5px
}
body.has-docs .toc-rail{top:100px}
body.has-docs .toc-panel{top:112px}
body.has-docs .stage{
  min-height:calc(100vh - 100px);
  padding-top:28px
}



.loading-overlay{
  position:fixed;
  inset:0;
  z-index:2000;
  display:none;
  align-items:center;
  justify-content:center;
  background:color-mix(in srgb,var(--bg) 72%,transparent);
  backdrop-filter:blur(7px);
}
.loading-overlay.show{display:flex}
.loading-card{
  width:min(420px,calc(100vw - 36px));
  padding:22px 22px 18px;
  border:1px solid var(--border);
  border-radius:16px;
  background:var(--surface);
  box-shadow:0 22px 70px rgba(15,23,42,.18);
}
.loading-row{
  display:flex;
  align-items:center;
  gap:13px;
}
.loading-spinner{
  width:24px;
  height:24px;
  flex:0 0 24px;
  border:3px solid var(--border);
  border-top-color:var(--accent);
  border-radius:50%;
  animation:mdspin .75s linear infinite;
}
@keyframes mdspin{to{transform:rotate(360deg)}}
.loading-title{
  font-weight:720;
  font-size:14px;
  color:var(--text);
}
.loading-subtitle{
  margin-top:3px;
  font-size:12px;
  color:var(--muted);
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
.loading-progress{
  height:5px;
  margin-top:16px;
  border-radius:999px;
  background:var(--surface-2);
  overflow:hidden;
}
.loading-progress-bar{
  width:0%;
  height:100%;
  border-radius:999px;
  background:var(--accent);
  transition:width .18s ease;
}
.loading-footer{
  display:flex;
  justify-content:space-between;
  gap:12px;
  margin-top:8px;
  color:var(--muted);
  font-size:10px;
}


body.switching-doc .reader-shell,
body.switching-doc .footer{
  visibility:hidden;
}

.session-restore{
  position:fixed;
  inset:0;
  z-index:2100;
  display:none;
  align-items:center;
  justify-content:center;
  padding:20px;
  background:color-mix(in srgb,var(--bg) 76%,transparent);
  backdrop-filter:blur(9px);
}
.session-restore.show{display:flex}
.session-card{
  width:min(520px,calc(100vw - 32px));
  border:1px solid var(--border);
  border-radius:18px;
  background:var(--surface);
  box-shadow:0 24px 80px rgba(15,23,42,.22);
  overflow:hidden;
}
.session-card-head{
  display:flex;
  align-items:flex-start;
  gap:13px;
  padding:20px 20px 14px;
}
.session-icon{
  width:38px;height:38px;flex:0 0 38px;
  display:grid;place-items:center;
  border-radius:11px;
  background:var(--accent-soft);
  color:var(--accent);
  font-size:18px;
}
.session-title{font-weight:760;font-size:15px;color:var(--text)}
.session-desc{margin-top:4px;font-size:12px;line-height:1.5;color:var(--muted)}
.session-summary{
  margin:0 20px;
  padding:11px 12px;
  border:1px solid var(--border);
  border-radius:10px;
  background:var(--surface-2);
  font-size:12px;
  color:var(--muted);
}
.session-files{
  max-height:150px;
  overflow:auto;
  margin:10px 20px 0;
  padding:0;
  list-style:none;
}
.session-files li{
  display:flex;
  align-items:center;
  gap:8px;
  padding:6px 2px;
  font-size:11px;
  color:var(--muted);
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
.session-files li::before{
  content:"MD";
  flex:0 0 auto;
  font-size:9px;
  font-weight:800;
  color:var(--accent);
  border:1px solid var(--border);
  border-radius:5px;
  padding:2px 4px;
}
.session-actions{
  display:flex;
  justify-content:flex-end;
  gap:8px;
  padding:16px 20px 20px;
}
.session-actions button{min-width:96px}
.session-actions .restore-primary{
  background:var(--accent);
  color:#fff;
  border-color:transparent;
}


/* ===== Workspace Pro ===== */
.appbar{gap:10px}.app-actions{flex-wrap:nowrap}.pro-action{font-size:13px}
@media(max-width:1250px){.brand-file{max-width:150px}.searchbar{width:min(330px,30vw)}.pro-action:nth-of-type(n+5){display:none}}
.breadcrumb-bar{position:sticky;top:100px;z-index:31;height:38px;display:none;align-items:center;gap:8px;padding:0 clamp(18px,3vw,48px);background:color-mix(in srgb,var(--bg) 94%,transparent);backdrop-filter:blur(10px);border-bottom:1px solid var(--border)}
body.has-docs .breadcrumb-bar{display:flex}.breadcrumb-path{min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:11px;color:var(--muted)}.breadcrumb-path b{color:var(--text)}.breadcrumb-spacer{flex:1}.reading-label{font-size:10px;color:var(--muted);white-space:nowrap}
.reading-progress{position:fixed;left:0;right:0;top:137px;height:2px;z-index:33;pointer-events:none}.reading-progress>div{width:0;height:100%;background:var(--accent);transition:width .08s linear}
body.has-docs .toc-rail{top:138px}body.has-docs .toc-panel{top:148px}.stage{padding-top:26px}
.stage-grid{display:block;width:100%}body.split-mode .stage-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(360px,1fr);gap:18px;align-items:start}body.split-mode .reader-shell{max-width:none!important;margin:0}body.split-mode.toc-pinned .reader-shell{max-width:none!important}
.split-pane{min-width:0;position:sticky;top:154px;height:calc(100vh - 172px);border:1px solid var(--border);border-radius:16px;background:var(--surface);box-shadow:var(--shadow);overflow:hidden}.split-toolbar{height:44px;display:flex;align-items:center;gap:8px;padding:0 10px;border-bottom:1px solid var(--border)}.split-label{font-size:11px;font-weight:700}.split-toolbar select{flex:1;min-width:0;height:30px;border:1px solid var(--border);border-radius:8px;background:var(--surface-2);color:var(--text);padding:0 8px}.split-toolbar button{height:30px}.split-scroll{height:calc(100% - 44px);overflow:auto}.split-reader{border:0;border-radius:0;box-shadow:none;min-height:100%;padding:28px 34px}.split-reader .md{font-size:14px}.hidden{display:none!important}
.panel-backdrop{position:fixed;inset:0;z-index:1500;background:rgba(10,15,25,.28);backdrop-filter:blur(2px);display:none}.panel-backdrop.show{display:block}.docs-drawer{position:fixed;right:0;top:0;bottom:0;width:min(390px,92vw);z-index:1510;background:var(--surface);border-left:1px solid var(--border);box-shadow:-18px 0 60px rgba(0,0,0,.16);transform:translateX(105%);transition:transform .18s ease;display:flex;flex-direction:column}.docs-drawer.open{transform:translateX(0)}.drawer-head{height:58px;display:flex;align-items:center;gap:8px;padding:0 14px;border-bottom:1px solid var(--border)}.drawer-spacer{flex:1}.drawer-tools{display:flex;gap:8px;padding:10px}.drawer-tools input{flex:1;min-width:0;height:34px;border:1px solid var(--border);border-radius:9px;background:var(--surface-2);color:var(--text);padding:0 10px}.drawer-list{flex:1;overflow:auto;padding:0 8px 10px}.drawer-doc{display:flex;align-items:center;gap:8px;padding:8px;border:1px solid transparent;border-radius:9px;cursor:pointer}.drawer-doc:hover{background:var(--surface-2)}.drawer-doc.active{border-color:var(--border);background:var(--accent-soft)}.drawer-doc.dragging{opacity:.45}.drawer-doc-name{flex:1;min-width:0;font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.drawer-doc button{width:28px;height:28px;padding:0}.drawer-foot{display:flex;gap:8px;padding:10px;border-top:1px solid var(--border)}.drawer-foot button:last-child{margin-left:auto}
.doc-tab[draggable="true"]{cursor:grab}.doc-tab.dragging{opacity:.45}.doc-pin{width:18px;height:18px;padding:0;border:0;background:transparent;color:var(--muted);display:grid;place-items:center}.doc-tab.pinned .doc-pin{color:var(--accent)}
.pro-modal{position:fixed;inset:0;z-index:1800;display:none;align-items:flex-start;justify-content:center;padding:8vh 18px 18px;background:rgba(10,15,25,.28);backdrop-filter:blur(5px)}.pro-modal.open{display:flex}.pro-dialog{width:min(720px,96vw);max-height:82vh;display:flex;flex-direction:column;background:var(--surface);border:1px solid var(--border);border-radius:16px;box-shadow:0 26px 90px rgba(0,0,0,.24);overflow:hidden}.pro-dialog-head{height:52px;display:flex;align-items:center;gap:8px;padding:0 14px;border-bottom:1px solid var(--border)}.pro-dialog-head span{flex:1}.primary-btn{background:var(--accent)!important;color:white!important;border-color:transparent!important}.pro-empty{padding:28px;text-align:center;color:var(--muted);font-size:12px}
.global-search-input,.workspace-save{display:flex;align-items:center;gap:8px;padding:12px 14px;border-bottom:1px solid var(--border)}.global-search-input input,.workspace-save input{flex:1;height:38px;border:1px solid var(--border);border-radius:9px;background:var(--surface-2);color:var(--text);padding:0 10px}.global-search-input span:last-child{font-size:10px;color:var(--muted)}.global-results,.workspace-list{overflow:auto;min-height:220px}.global-result{padding:10px 14px;border-bottom:1px solid var(--border);cursor:pointer}.global-result:hover{background:var(--surface-2)}.global-result-title{font-size:11px;font-weight:700;color:var(--text)}.global-result-path{font-size:10px;color:var(--accent);margin:2px 0}.global-result-snippet{font-size:11px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.workspace-item{display:flex;align-items:center;gap:8px;padding:11px 14px;border-bottom:1px solid var(--border)}.workspace-item-copy{flex:1;min-width:0}.workspace-item-name{font-size:12px;font-weight:700}.workspace-item-meta{font-size:10px;color:var(--muted);margin-top:2px}
.command-dialog{width:min(660px,95vw);margin-top:3vh}.command-input-wrap{height:54px;display:flex;align-items:center;gap:10px;padding:0 14px;border-bottom:1px solid var(--border)}.command-input-wrap input{flex:1;border:0;outline:0;background:transparent;color:var(--text);font-size:14px}.command-results{overflow:auto;max-height:460px;padding:6px}.command-item{display:flex;align-items:center;gap:10px;padding:9px 10px;border-radius:8px;cursor:pointer;font-size:12px}.command-item:hover,.command-item.selected{background:var(--surface-2)}.command-key{margin-left:auto;font-size:9px;color:var(--muted);border:1px solid var(--border);border-radius:5px;padding:2px 5px}
.note-dialog textarea{margin:14px;min-height:180px;resize:vertical;border:1px solid var(--border);border-radius:10px;background:var(--surface-2);color:var(--text);padding:12px;line-height:1.5}.note-actions{display:flex;gap:8px;padding:0 14px 14px}.note-actions span{flex:1}.section-tools{display:inline-flex;vertical-align:middle;margin-left:8px;gap:4px;opacity:.28;transition:opacity .15s}.md h1:hover .section-tools,.md h2:hover .section-tools,.md h3:hover .section-tools,.md h4:hover .section-tools,.section-tools.has-state{opacity:1}.section-tools button{width:24px;height:24px;padding:0;border-radius:6px;font-size:11px}.bookmark-on{color:#d69e00!important;background:#fff6d8!important}.section-note-display{margin:-.35em 0 1em;padding:7px 10px;border-left:3px solid var(--accent);border-radius:0 7px 7px 0;background:var(--accent-soft);font-size:11px;color:var(--muted)}
.code-line{display:block;position:relative;padding-left:3.2em;min-height:1.45em}.code-line::before{content:attr(data-ln);position:absolute;left:0;width:2.4em;text-align:right;color:#637083;user-select:none}.tok-key{color:#93c5fd}.tok-str{color:#a7f3d0}.tok-num{color:#fcd34d}.tok-comment{color:#7c8aa0;font-style:italic}.tok-bool{color:#f9a8d4}.code-toolbar .code-tools{flex-wrap:wrap}.code-collapsed pre{max-height:360px;overflow:hidden;position:relative}.code-collapsed pre::after{content:"";position:absolute;left:0;right:0;bottom:0;height:70px;background:linear-gradient(transparent,var(--code))}.code-full-pre{margin:0;overflow:auto;padding:18px;background:var(--code);color:var(--code-text);min-height:50vh;max-height:calc(90vh - 54px)}.code-dialog-full{width:min(1200px,97vw);max-height:92vh}
.table-card{margin:1.2em 0;border:1px solid var(--border);border-radius:11px;overflow:hidden;background:var(--surface)}.table-tools{height:36px;display:flex;align-items:center;justify-content:flex-end;gap:6px;padding:0 8px;border-bottom:1px solid var(--border);background:var(--surface-2)}.table-tools button{height:26px;padding:0 8px;font-size:10px}.table-scroll{overflow:auto;max-width:100%;width:100%}.table-scroll table{display:table;overflow:visible;width:max-content;min-width:0;max-width:none;margin:0;border:0;border-radius:0;table-layout:auto}.table-scroll th,.table-scroll td{max-width:520px;overflow-wrap:anywhere}.table-scroll thead th{position:sticky;top:0;z-index:2;background:var(--surface-2);cursor:pointer}.table-dialog-full{width:min(1400px,98vw);max-height:92vh}.table-full-content{overflow:auto;padding:12px}.table-full-content table{display:table;width:max-content;min-width:100%;overflow:visible}
.mermaid-minimap{position:fixed;right:20px;bottom:20px;width:210px;height:130px;padding:6px;border:1px solid var(--border);border-radius:10px;background:color-mix(in srgb,var(--surface) 92%,transparent);box-shadow:var(--shadow);overflow:hidden;opacity:.9;pointer-events:none}.mermaid-minimap svg{width:100%!important;height:100%!important;max-width:100%!important;max-height:100%!important}.mermaid-modal-canvas.dragging{cursor:grabbing}.mermaid-modal-canvas{cursor:grab}.mermaid-modal-bar button{width:auto;min-width:34px;padding:0 8px;font-size:10px}
.empty-actions-pro{display:flex;justify-content:center;gap:8px;margin-top:14px}.recent-workspaces{margin-top:18px;display:flex;flex-wrap:wrap;justify-content:center;gap:6px}.recent-workspace-chip{font-size:10px;padding:6px 9px;border:1px solid var(--border);border-radius:999px;background:var(--surface-2);cursor:pointer}
@media(max-width:900px){body.split-mode .stage-grid{display:block}.split-pane{position:fixed;inset:110px 8px 8px;z-index:100}.breadcrumb-bar{padding:0 16px}.reading-label{display:none}}


.drawer-bookmarks-wrap{border-top:1px solid var(--border);max-height:240px;display:flex;flex-direction:column}.drawer-section-title{padding:9px 12px 4px;font-size:10px;text-transform:uppercase;letter-spacing:.08em;font-weight:800;color:var(--muted)}.drawer-bookmarks{overflow:auto;padding:3px 8px 9px}.drawer-bookmark{padding:7px 8px;border-radius:8px;cursor:pointer}.drawer-bookmark:hover{background:var(--surface-2)}.drawer-bookmark-title{font-size:11px;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.drawer-bookmark-doc,.drawer-muted{font-size:9px;color:var(--muted);margin-top:2px}.drawer-muted{padding:6px 8px}.recent-block{margin-top:14px}.recent-title{font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.08em;color:var(--muted)}.mermaid-select-box{position:absolute;display:none;border:1.5px dashed var(--accent);background:color-mix(in srgb,var(--accent-soft) 45%,transparent);pointer-events:none;z-index:20}.mermaid-modal-canvas.selecting{cursor:crosshair}.code-tools button[data-copy-selection]{display:none}.code-card:focus-within .code-tools button[data-copy-selection]{display:inline-flex}


/* Instant professional theme switching: colors fade slightly, layout never reloads. */
.appbar,.docs-strip,.toc-panel,.toc-rail,.reader-shell,.footer,
.drawer,.modal-card,.session-card,.loading-card,.mermaid-card,.code-card,
.table-card,.split-pane,.workspace-card,button,input,select,textarea{
  transition:background-color .14s ease,border-color .14s ease,color .14s ease,box-shadow .14s ease;
}
@media (prefers-reduced-motion:reduce){
  .appbar,.docs-strip,.toc-panel,.toc-rail,.reader-shell,.footer,
  .drawer,.modal-card,.session-card,.loading-card,.mermaid-card,.code-card,
  .table-card,.split-pane,.workspace-card,button,input,select,textarea{
    transition:none!important;
  }
}



/* ================================================================
   Professional UI Refresh — v19
   Visual-only layer. Existing IDs, dimensions and interaction logic
   are intentionally preserved so navigation/session behavior remains.
   ================================================================ */
:root{
  --bg:#f5f7fa;
  --surface:#ffffff;
  --surface-2:#f6f8fb;
  --surface-3:#eef2f7;
  --text:#172033;
  --muted:#718096;
  --border:#e2e7ef;
  --border-strong:#d5dce7;
  --accent:#4169e1;
  --accent-hover:#3158cc;
  --accent-soft:#eef3ff;
  --danger:#d14343;
  --shadow:0 10px 30px rgba(31,42,68,.065),0 1px 2px rgba(31,42,68,.04);
  --shadow-lg:0 24px 70px rgba(22,31,49,.14),0 6px 18px rgba(22,31,49,.06);
  --ring:0 0 0 3px rgba(65,105,225,.13);
  --code:#101827;
  --code-text:#e9eef7;
}
html[data-theme="dark"]{
  --bg:#0b1018;
  --surface:#111823;
  --surface-2:#161f2c;
  --surface-3:#1c2736;
  --text:#edf2f9;
  --muted:#94a1b4;
  --border:#253143;
  --border-strong:#314057;
  --accent:#79a3ff;
  --accent-hover:#92b4ff;
  --accent-soft:#172642;
  --danger:#ff7b7b;
  --shadow:0 12px 34px rgba(0,0,0,.24),0 1px 1px rgba(255,255,255,.02) inset;
  --shadow-lg:0 28px 90px rgba(0,0,0,.42),0 1px 0 rgba(255,255,255,.025) inset;
  --ring:0 0 0 3px rgba(121,163,255,.16);
  --code:#080e18;
  --code-text:#e8eef7;
}

html{background:var(--bg)}
body{
  background:
    radial-gradient(circle at 13% -18%,color-mix(in srgb,var(--accent) 5%,transparent),transparent 32rem),
    var(--bg);
  color:var(--text);
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
}
::selection{background:color-mix(in srgb,var(--accent) 22%,transparent);color:var(--text)}

/* Accessible focus treatment */
button:focus-visible,.btn:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,a:focus-visible{
  outline:none!important;
  box-shadow:var(--ring)!important;
  border-color:color-mix(in srgb,var(--accent) 62%,var(--border))!important;
}
button:disabled{opacity:.38;cursor:default;filter:saturate(.55)}

/* Primary application chrome */
.appbar{
  padding:0 16px;
  gap:14px;
  background:color-mix(in srgb,var(--surface) 94%,transparent);
  border-bottom:1px solid color-mix(in srgb,var(--border) 88%,transparent);
  box-shadow:0 1px 0 rgba(255,255,255,.45),0 4px 16px rgba(28,39,60,.025);
  backdrop-filter:blur(18px) saturate(150%);
}
html[data-theme="dark"] .appbar{box-shadow:0 1px 0 rgba(255,255,255,.025)}
.brand{gap:10px;min-width:188px}
.brand-badge{
  width:34px;height:34px;border-radius:10px;
  background:linear-gradient(145deg,#5277ed,#3658c9 62%,#2947ab);
  box-shadow:0 5px 14px rgba(57,86,190,.22),inset 0 1px 0 rgba(255,255,255,.25);
  letter-spacing:-.04em;font-size:11px;
}
.brand-title{font-weight:760;font-size:13px;letter-spacing:-.012em}
.brand-file{margin-top:1px;font-size:10.5px;color:var(--muted)}

.searchbar{gap:5px}
.searchbox{
  height:36px;border-radius:9px;padding:0 10px;
  background:color-mix(in srgb,var(--surface-2) 90%,var(--surface));
  border-color:var(--border);
  transition:border-color .14s ease,background-color .14s ease,box-shadow .14s ease;
}
.searchbox:focus-within{background:var(--surface);border-color:color-mix(in srgb,var(--accent) 58%,var(--border));box-shadow:var(--ring)}
.searchbox>span:first-child{color:var(--muted);font-size:15px;transform:translateY(-1px)}
.searchbox input{font-size:12px;letter-spacing:.005em}
.searchbox input::placeholder,.drawer-tools input::placeholder,.global-search-input input::placeholder,.workspace-save input::placeholder,.command-input-wrap input::placeholder,textarea::placeholder{color:color-mix(in srgb,var(--muted) 80%,transparent)}
.search-count{padding-left:6px;font-size:10px}

button,.btn{
  border-radius:9px;border-color:var(--border);font-weight:550;
  box-shadow:0 1px 1px rgba(24,34,52,.025);
}
button:hover,.btn:hover{border-color:var(--border-strong);background:var(--surface-2)}
button:active,.btn:active{transform:translateY(1px)}
.iconbtn,.navbtn{
  border-color:transparent;background:transparent;box-shadow:none;color:var(--muted);
}
.iconbtn:hover,.navbtn:hover{background:var(--surface-2);border-color:var(--border);color:var(--text)}
.open-btn{
  border-radius:9px;padding:0 14px;
  background:var(--accent)!important;color:#fff!important;
  border-color:var(--accent)!important;
  box-shadow:0 4px 12px color-mix(in srgb,var(--accent) 22%,transparent)!important;
}
.open-btn:hover{background:var(--accent-hover)!important;border-color:var(--accent-hover)!important}
html[data-theme="dark"] .open-btn{background:var(--accent)!important;color:#07101f!important}
.app-actions{gap:3px}
.app-actions .open-btn{margin-left:4px}

/* Document tabs */
.docs-strip{
  gap:3px;padding:5px 14px;
  background:color-mix(in srgb,var(--surface) 93%,transparent);
  border-bottom-color:var(--border);
  box-shadow:0 3px 12px rgba(28,39,60,.025);
  backdrop-filter:blur(16px) saturate(145%);
}
.docs-count{
  padding:0 9px 0 2px;font-size:9.5px;font-weight:700;letter-spacing:.045em;
  text-transform:uppercase;color:var(--muted);opacity:.82;
}
.doc-tab{
  position:relative;height:31px;max-width:270px;padding:0 8px 0 9px;gap:6px;
  border-radius:8px;color:var(--muted);
  transition:background-color .12s ease,border-color .12s ease,color .12s ease;
}
.doc-tab:hover{background:var(--surface-2);border-color:transparent;color:var(--text)}
.doc-tab.active{
  background:var(--surface);border-color:var(--border);color:var(--text);
  box-shadow:0 1px 3px rgba(24,34,52,.05);
}
.doc-tab.active::after{
  content:"";position:absolute;left:11px;right:11px;bottom:-6px;height:2px;border-radius:2px;background:var(--accent);
}
.doc-tab-name{font-size:11px;font-weight:560}
.doc-tab-close,.doc-pin{opacity:.55;transition:opacity .12s ease,background-color .12s ease,color .12s ease}
.doc-tab:hover .doc-tab-close,.doc-tab:hover .doc-pin,.doc-tab.active .doc-tab-close,.doc-tab.active .doc-pin{opacity:1}
.doc-tab-close:hover{background:var(--surface-3);color:var(--text)}

/* Breadcrumb + reading progress */
.breadcrumb-bar{
  padding:0 clamp(18px,3vw,48px);
  background:color-mix(in srgb,var(--bg) 91%,transparent);
  border-bottom-color:color-mix(in srgb,var(--border) 75%,transparent);
  backdrop-filter:blur(14px);
}
.breadcrumb-path{font-size:10.5px;letter-spacing:.005em}
.breadcrumb-path b{font-weight:650}
.reading-label{font-variant-numeric:tabular-nums;font-size:9.5px}
.reading-progress{height:2px;background:transparent}
.reading-progress>div{box-shadow:0 0 8px color-mix(in srgb,var(--accent) 35%,transparent)}

/* Content canvas */
.stage{padding-left:clamp(18px,2.1vw,42px);padding-right:clamp(18px,2.1vw,42px);padding-bottom:76px}
.reader{
  border-color:var(--border);
  border-radius:14px;
  box-shadow:var(--shadow);
  padding:clamp(34px,3.3vw,56px) clamp(30px,4.2vw,72px);
}
.md{font-size:15.5px;line-height:1.74;color:color-mix(in srgb,var(--text) 96%,transparent)}
.md p{margin-bottom:1.05em}
.md h1,.md h2,.md h3,.md h4,.md h5,.md h6{color:var(--text);font-weight:740;letter-spacing:-.028em}
.md h1{font-size:2.04em;margin-top:1.2em}
.md h2{font-size:1.48em;padding-bottom:.38em;border-bottom-color:var(--border)}
.md h3{font-size:1.20em}.md h4{font-size:1.06em}
.md a{font-weight:540;text-underline-offset:2px}
.md code{background:var(--surface-2);border-color:var(--border);border-radius:5px}
.md blockquote{border-left-width:3px;padding:.8em 1.05em;background:color-mix(in srgb,var(--accent-soft) 75%,var(--surface));color:color-mix(in srgb,var(--text) 72%,var(--muted))}
.md details{border-radius:9px;background:var(--surface-2)}
.md details>summary{padding:11px 13px;font-size:.94em}
.md details[open]>summary{background:color-mix(in srgb,var(--surface-2) 70%,var(--surface))}

/* TOC */
.toc-rail{width:20px}
.toc-rail::after{width:2px;height:52px;background:var(--border-strong);opacity:.8}
.toc-panel{
  left:10px;border-radius:12px;border-color:var(--border);
  box-shadow:var(--shadow-lg);
}
.toc-head{height:50px;padding:0 11px 0 14px;background:color-mix(in srgb,var(--surface) 96%,var(--surface-2))}
.toc-title{font-size:11px;letter-spacing:.055em;text-transform:uppercase;color:var(--muted);font-weight:760}
.file-card{margin:10px 10px 8px;padding:10px 11px;border-radius:9px;background:var(--surface-2)}
.file-name{font-size:11.5px;font-weight:680}.file-meta{font-size:9.5px;line-height:1.45}
.toc-list{padding:3px 7px 14px}
.toc-list a{font-size:11px;padding:6px 9px;border-radius:7px;line-height:1.35}
.toc-list a.active{background:var(--accent-soft);color:var(--accent);font-weight:650}
.toc-list a.active::before{left:2px;width:2px;top:6px;bottom:6px}
.pin{border-radius:7px}

/* Landing experience */
.empty{
  max-width:860px;margin:7.5vh auto 0;padding:54px 52px 46px;
  border-radius:18px;border-color:var(--border);
  box-shadow:var(--shadow);
  background:
    radial-gradient(circle at 50% -15%,color-mix(in srgb,var(--accent) 8%,transparent),transparent 18rem),
    var(--surface);
}
.empty-mark{
  width:58px;height:58px;margin:0 auto 17px;border-radius:16px;display:grid;place-items:center;
  background:linear-gradient(145deg,#5277ed,#3658c9 66%,#2947ab);color:#fff;
  box-shadow:0 12px 26px rgba(53,80,179,.24),inset 0 1px 0 rgba(255,255,255,.3);
}
.empty-mark span{font-size:15px;font-weight:820;letter-spacing:-.045em}
.empty-kicker{font-size:9.5px;font-weight:780;letter-spacing:.15em;color:var(--accent);margin-bottom:9px}
.empty h1{font-size:31px;letter-spacing:-.035em;margin:5px 0 10px;font-weight:760}
.empty>p{max-width:620px;margin:0 auto;color:var(--muted);font-size:13px;line-height:1.65}
.dropzone{
  position:relative;margin:29px auto 0;max-width:690px;padding:29px 26px 27px;
  border:1px dashed var(--border-strong);border-radius:13px;
  background:color-mix(in srgb,var(--surface-2) 78%,var(--surface));
  transition:border-color .14s ease,background-color .14s ease,box-shadow .14s ease;
}
.dropzone:hover{border-color:color-mix(in srgb,var(--accent) 42%,var(--border));background:var(--surface-2)}
.dropzone strong{font-size:12.5px;font-weight:680}.dropzone p{margin:8px 0;color:var(--muted);font-size:10px;text-transform:uppercase;letter-spacing:.08em}
.empty-actions-pro{margin-top:13px}.empty-actions-pro button{font-size:10.5px;padding:7px 10px;background:transparent;color:var(--muted)}
.recent-block{margin-top:22px}.recent-title{font-size:9px;letter-spacing:.11em}
.recent-workspaces{margin-top:9px}
.recent-workspace-chip{padding:6px 10px;background:var(--surface-2);border-color:var(--border);font-size:10px;color:var(--muted)}
.recent-workspace-chip:hover{color:var(--text);background:var(--surface-3)}

/* Drawer */
.panel-backdrop{background:rgba(8,13,22,.32);backdrop-filter:blur(4px)}
.docs-drawer{width:min(410px,92vw);border-left-color:var(--border);box-shadow:-28px 0 80px rgba(8,13,22,.18)}
.drawer-head{padding:0 16px}.drawer-head strong{font-size:13px;letter-spacing:-.01em}
.drawer-head button,.drawer-foot button,.drawer-tools button{font-size:10.5px}
.drawer-tools{padding:12px 11px 9px}.drawer-tools input{height:36px;background:var(--surface-2);font-size:11px}
.drawer-list{padding:4px 8px 12px}
.drawer-doc{padding:8px 9px;border-radius:8px}
.drawer-doc.active{border-color:color-mix(in srgb,var(--accent) 28%,var(--border));background:var(--accent-soft)}
.drawer-doc-name{font-size:11.5px;font-weight:550}
.drawer-section-title{padding-top:11px;font-size:9px;letter-spacing:.11em}
.drawer-bookmark{border-radius:7px}.drawer-foot{padding:11px}

/* Dialogs + command palette */
.pro-modal{background:rgba(7,11,19,.38);backdrop-filter:blur(7px)}
.pro-dialog{
  border-radius:14px;border-color:var(--border);
  box-shadow:var(--shadow-lg);
}
.pro-dialog-head{height:50px;padding:0 15px}.pro-dialog-head strong{font-size:12.5px}.pro-dialog-head button{height:30px;font-size:10.5px}
.global-search-input,.workspace-save{padding:12px 15px;background:color-mix(in srgb,var(--surface-2) 45%,var(--surface))}
.global-search-input input,.workspace-save input{height:37px;border-radius:8px;font-size:11.5px}
.global-result{padding:11px 15px}.global-result:hover{background:var(--surface-2)}
.global-result-title{font-size:11.5px}.global-result-path{font-size:9.5px}.global-result-snippet{font-size:10.5px;line-height:1.45}
.workspace-item{padding:12px 15px}.workspace-item-name{font-size:11.5px}.workspace-item-meta{font-size:9.5px}
.command-dialog{border-radius:15px}
.command-input-wrap{height:56px;padding:0 16px}.command-input-wrap>span{font-size:18px;color:var(--accent)}
.command-input-wrap input{font-size:13px}.command-results{padding:7px}
.command-item{padding:9px 11px;border-radius:8px;font-size:11.5px}.command-key{background:var(--surface-2);font-size:8.5px}
.note-dialog textarea{background:var(--surface-2);font-size:12px;outline:none}

/* Session restore + loading */
.session-card,.loading-card{border-radius:15px;border-color:var(--border);box-shadow:var(--shadow-lg)}
.session-card-head{padding:22px 22px 15px}.session-icon{border-radius:10px;font-weight:700}
.session-title{font-size:14px}.session-desc{font-size:11px;line-height:1.55}
.session-summary{margin:0 22px;padding:10px 11px;border-radius:8px;font-size:10.5px}
.session-files{margin-left:22px;margin-right:22px}.session-files li{font-size:10.5px}
.session-actions{padding:16px 22px 20px}.session-actions button{font-size:11px}
.loading-card{padding:23px 23px 18px}.loading-title{font-size:13.5px}.loading-subtitle{font-size:11px}.loading-footer{font-size:9.5px}
.loading-progress{height:4px;background:var(--surface-3)}
.loading-spinner{width:22px;height:22px;flex-basis:22px;border-width:2px}

/* Code + tables */
.code-card{border-radius:10px;border-color:#263449;box-shadow:0 4px 14px rgba(8,14,24,.05)}
.code-toolbar{height:37px;padding:0 9px;background:#121b29}
.code-tools button{height:25px;padding:0 7px;background:#182335;border-color:#2d3c52;font-size:9px}
.code-lang{font-size:9.5px;letter-spacing:.04em}
.md pre{padding:18px 20px}.md pre code{font-size:12.5px;line-height:1.65}
.table-card{border-radius:10px;box-shadow:0 3px 12px rgba(24,34,52,.035)}
.table-tools{height:35px}.table-tools button{font-size:9px}
.md th,.md td{padding:8px 11px;font-size:.93em}
.md th{font-size:.88em;letter-spacing:.005em}

/* Mermaid */
.mermaid-card{border-radius:10px;background:color-mix(in srgb,var(--surface-2) 70%,var(--surface));box-shadow:0 3px 14px rgba(24,34,52,.03)}
.mermaid-head{min-height:39px;padding-left:11px}.mermaid-head .mermaid-title{font-size:10.5px}.mermaid-expand{font-size:9px}
.mermaid-modal-bar{background:color-mix(in srgb,var(--surface) 96%,transparent);backdrop-filter:blur(14px)}
.mermaid-modal-content{border-radius:11px;box-shadow:var(--shadow-lg)}
.mermaid-minimap{border-radius:9px;box-shadow:var(--shadow)}

/* Split pane */
.split-pane{border-radius:14px;box-shadow:var(--shadow)}
.split-toolbar{background:color-mix(in srgb,var(--surface-2) 55%,var(--surface));padding:0 11px}
.split-label{font-size:10px;letter-spacing:.035em;text-transform:uppercase;color:var(--muted)}
.split-toolbar select{border-radius:7px;font-size:10.5px}
.split-reader{padding:30px 36px}

/* Floating zoom control */
.doc-fab{
  right:20px;bottom:18px;padding:4px;border-radius:10px;
  border-color:var(--border);box-shadow:var(--shadow-lg);
  background:color-mix(in srgb,var(--surface) 94%,transparent);
}
.doc-fab button{border-radius:7px;color:var(--muted)}
.doc-fab button:hover{background:var(--surface-2);color:var(--text)}
.doc-fab .zoom-label{font-size:9.5px;font-variant-numeric:tabular-nums}
.footer{font-size:9.5px;opacity:.78}

/* Scrollbars */
*{scrollbar-width:thin;scrollbar-color:color-mix(in srgb,var(--muted) 36%,transparent) transparent}
*::-webkit-scrollbar{width:9px;height:9px}
*::-webkit-scrollbar-track{background:transparent}
*::-webkit-scrollbar-thumb{background:color-mix(in srgb,var(--muted) 30%,transparent);border:3px solid transparent;background-clip:padding-box;border-radius:999px}
*::-webkit-scrollbar-thumb:hover{background:color-mix(in srgb,var(--muted) 48%,transparent);border:2px solid transparent;background-clip:padding-box}

/* Responsive refinement without changing sticky bar heights */
@media(max-width:1250px){
  .brand{min-width:160px}.appbar{gap:9px;padding-left:12px;padding-right:12px}
  .app-actions{gap:1px}.iconbtn{width:34px}.open-btn{padding-left:11px;padding-right:11px}
}
@media(max-width:900px){
  .empty{padding:42px 24px 36px}.empty h1{font-size:27px}.reader{border-radius:12px}
  .doc-tab.active::after{display:none}
}
@media(max-width:720px){
  .brand{min-width:0}.brand-badge{width:32px;height:32px}
  .empty{margin-top:4vh;padding:38px 18px 30px;border-radius:14px}.empty>p{font-size:12px}.dropzone{padding:24px 15px}
}
@media(prefers-reduced-motion:reduce){
  *,*::before,*::after{scroll-behavior:auto!important;animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important}
}



/* Final chrome cleanup */
body:not(.has-docs) .searchbar,
body:not(.has-docs) #navBack,
body:not(.has-docs) #navForward,
body:not(.has-docs) #docManagerBtn,
body:not(.has-docs) #globalSearchBtn,
body:not(.has-docs) #splitBtn,
body:not(.has-docs) #detailsToggle,
body:not(.has-docs) #copyAll{display:none!important}
body:not(.has-docs) .app-actions{margin-left:auto}
.toc-rail{display:none}
body.has-docs .toc-rail{display:flex}
.app-actions{
  padding:2px;
  border:1px solid var(--border);
  border-radius:11px;
  background:color-mix(in srgb,var(--surface-2) 74%,var(--surface));
}
.app-actions .iconbtn{width:32px;height:32px;border-radius:8px}
.app-actions .open-btn{height:32px;border-radius:8px;margin-left:3px;padding:0 13px}
.md>p,.md>ul,.md>ol,.md>blockquote{max-width:1180px}


/* ===== v20 split workspace ===== */
:root{--split-left:50%}
body.split-mode{--tocw:270px}
body.split-mode .stage{padding-left:clamp(10px,1vw,18px);padding-right:clamp(10px,1vw,18px)}
body.split-mode.toc-pinned .stage{padding-left:calc(var(--tocw) + 12px)}
body.split-mode .stage-grid{display:grid;grid-template-columns:minmax(0,var(--split-left)) 12px minmax(0,calc(100% - var(--split-left) - 12px));gap:0;align-items:start}
body.split-mode .reader-shell{max-width:none!important;margin:0;min-width:0}
body.split-mode .reader{padding-left:clamp(22px,2.1vw,38px);padding-right:clamp(22px,2.1vw,38px)}
body.split-mode .split-reader{padding:24px clamp(20px,2vw,34px)}
.split-divider{display:none;position:sticky;top:154px;height:calc(100vh - 172px);z-index:7;cursor:col-resize;touch-action:none;user-select:none;align-items:center;justify-content:center}
body.split-mode .split-divider{display:flex}
.split-divider::before{content:"";width:2px;height:100%;border-radius:2px;background:var(--border-strong);transition:width .12s ease,background-color .12s ease}
.split-divider:hover::before,.split-divider.dragging::before{width:4px;background:var(--accent)}
.split-ratio{position:absolute;top:10px;left:50%;transform:translateX(-50%);min-width:48px;height:24px;display:flex;align-items:center;justify-content:center;padding:0 7px;border:1px solid var(--border);border-radius:999px;background:color-mix(in srgb,var(--surface) 96%,transparent);box-shadow:var(--shadow);color:var(--muted);font-size:9px;font-weight:700;font-variant-numeric:tabular-nums;letter-spacing:.02em;white-space:nowrap;pointer-events:none}
.split-divider.dragging .split-ratio{color:var(--accent);border-color:color-mix(in srgb,var(--accent) 35%,var(--border))}
.split-toolbar{height:40px}.split-scroll{height:calc(100% - 40px)}
.split-size-control{display:flex;align-items:center;gap:4px;flex:0 0 auto}.split-size-control button{width:28px;min-width:28px;padding:0;font-size:10px}.split-percent{min-width:38px;text-align:center;color:var(--muted);font-size:9px;font-weight:700;font-variant-numeric:tabular-nums}
@media(max-width:900px){body.split-mode .stage-grid{display:block}.split-divider{display:none!important}.split-pane{position:fixed;inset:110px 8px 8px;z-index:100}}


/* v21 professional application menu */
.main-menu-trigger{
  flex:0 0 auto;height:36px;display:flex;align-items:center;gap:8px;padding:0 11px 0 10px;
  border:1px solid var(--border);border-radius:9px;background:var(--surface);color:var(--text);
  font-size:11.5px;font-weight:650;box-shadow:0 1px 2px rgba(24,34,52,.035)
}
.main-menu-trigger:hover{background:var(--surface-2);border-color:var(--border-strong)}
.main-menu-trigger-icon{width:16px;height:14px;display:flex;flex-direction:column;justify-content:space-between}
.main-menu-trigger-icon i{display:block;width:16px;height:1.5px;border-radius:2px;background:currentColor;opacity:.8}
.main-menu-trigger-label{line-height:1}
.appbar .brand{min-width:178px}
.appbar .searchbar{margin-left:auto;width:min(520px,42vw)}
.appbar .app-actions{margin-left:0;padding:0;border:0;background:transparent;border-radius:0}
.appbar .app-actions .open-btn{margin-left:0}
.appbar .open-btn{white-space:nowrap;padding:0 15px}

.main-menu-backdrop{
  position:fixed;inset:0;z-index:118;background:rgba(12,18,30,.28);backdrop-filter:blur(2px);
  opacity:0;pointer-events:none;transition:opacity .18s ease
}
.main-menu{
  position:fixed;left:0;top:0;bottom:0;z-index:120;width:min(340px,calc(100vw - 20px));
  display:flex;flex-direction:column;background:var(--surface);border-right:1px solid var(--border);
  box-shadow:22px 0 60px rgba(20,30,48,.16);transform:translateX(calc(-100% - 18px));
  transition:transform .2s cubic-bezier(.2,.7,.2,1);overflow:hidden
}
html[data-theme="dark"] .main-menu{box-shadow:22px 0 70px rgba(0,0,0,.42)}
body.main-menu-open{overflow:hidden}
body.main-menu-open .main-menu{transform:translateX(0)}
body.main-menu-open .main-menu-backdrop{opacity:1;pointer-events:auto}
body.main-menu-open .toc-panel,body.main-menu-open .toc-rail{pointer-events:none}
.main-menu-head{height:66px;display:flex;align-items:center;gap:10px;padding:0 14px;border-bottom:1px solid var(--border);flex:0 0 auto}
.main-menu-brandmark{width:34px;height:34px;border-radius:10px;display:grid;place-items:center;background:linear-gradient(145deg,#5277ed,#3658c9 62%,#2947ab);color:#fff;font-size:10px;font-weight:820;box-shadow:0 5px 14px rgba(57,86,190,.2)}
.main-menu-head-copy{min-width:0;display:flex;flex-direction:column;gap:1px}.main-menu-head-copy strong{font-size:12.5px;letter-spacing:-.01em}.main-menu-head-copy span{font-size:9.5px;color:var(--muted)}
.main-menu-close{margin-left:auto;width:32px;height:32px;padding:0;border-color:transparent;background:transparent;color:var(--muted);font-size:21px;font-weight:300;line-height:1}.main-menu-close:hover{background:var(--surface-2);border-color:var(--border);color:var(--text)}
.main-menu-current{margin:12px 12px 4px;padding:11px 12px;border:1px solid var(--border);border-radius:11px;background:color-mix(in srgb,var(--surface-2) 76%,var(--surface));flex:0 0 auto}
.main-menu-current-label{font-size:8.5px;font-weight:780;letter-spacing:.08em;color:var(--muted)}
.main-menu-current-file{margin-top:5px;font-size:11.5px;font-weight:680;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:var(--text)}
.main-menu-current-meta{margin-top:3px;font-size:9.5px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.main-menu-scroll{flex:1;min-height:0;overflow:auto;padding:5px 8px 12px;scrollbar-width:thin}
.main-menu-section{padding:8px 0}.main-menu-section+.main-menu-section{border-top:1px solid color-mix(in srgb,var(--border) 72%,transparent)}
.main-menu-section-title{padding:0 9px 6px;font-size:8.5px;font-weight:800;letter-spacing:.085em;text-transform:uppercase;color:var(--muted)}
.menu-item{
  width:100%;min-height:52px;display:grid;grid-template-columns:34px minmax(0,1fr) auto;align-items:center;gap:8px;
  padding:6px 8px;border:0;border-radius:9px;background:transparent;text-align:left;box-shadow:none;color:var(--text)
}
.menu-item:hover{background:var(--surface-2);border:0;transform:none}
.menu-item:active{transform:none;background:var(--surface-3)}
.menu-item:disabled{opacity:.42;pointer-events:none}
.menu-item-icon{width:30px;height:30px;display:grid;place-items:center;border:1px solid var(--border);border-radius:8px;background:var(--surface);color:var(--muted);font-size:14px;font-weight:600}
.menu-item:hover .menu-item-icon{color:var(--accent);border-color:color-mix(in srgb,var(--accent) 24%,var(--border));background:var(--accent-soft)}
.menu-item-copy{min-width:0;display:flex;flex-direction:column;gap:2px}.menu-item-copy b{font-size:11.5px;font-weight:650;line-height:1.2}.menu-item-copy small{font-size:9.5px;font-weight:450;color:var(--muted);line-height:1.25;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.menu-key{font-size:8px;color:var(--muted);border:1px solid var(--border);border-radius:5px;padding:3px 5px;background:var(--surface);white-space:nowrap;font-weight:600}
.menu-state{min-width:36px;text-align:center;font-size:8.5px;font-weight:720;color:var(--muted);border-radius:999px;padding:4px 6px;background:var(--surface-2);white-space:nowrap}
.menu-state.active{color:var(--accent);background:var(--accent-soft)}
.menu-chevron{color:var(--muted);font-size:18px;font-weight:300;padding-right:3px}
.main-menu-foot{height:44px;display:flex;align-items:center;justify-content:space-between;gap:10px;padding:0 14px;border-top:1px solid var(--border);font-size:8.5px;color:var(--muted);flex:0 0 auto}

/* Keep the full menu structure understandable even before a document is open. */
body:not(.has-docs) .main-menu #navBack,
body:not(.has-docs) .main-menu #navForward,
body:not(.has-docs) .main-menu #docManagerBtn,
body:not(.has-docs) .main-menu #globalSearchBtn,
body:not(.has-docs) .main-menu #splitBtn,
body:not(.has-docs) .main-menu #tocMenuBtn,
body:not(.has-docs) .main-menu #detailsToggle,
body:not(.has-docs) .main-menu #copyAll{display:grid!important;opacity:.42;pointer-events:none}

@media(max-width:980px){
  .appbar .brand-copy{display:none}.appbar .brand{min-width:auto}.appbar .searchbar{width:min(470px,50vw)}
  .appbar .open-btn{padding:0 12px}.appbar .open-btn{font-size:11px}
}
@media(max-width:720px){
  .main-menu-trigger{width:36px;padding:0;justify-content:center}.main-menu-trigger-label{display:none}
  .appbar .brand{display:none}.appbar .searchbar{width:auto;flex:1;margin-left:0}
  .appbar .open-btn{font-size:0;width:38px;padding:0;justify-content:center}.appbar .open-btn::before{content:"+";font-size:20px;font-weight:450}
}


/* v22 — real desktop application menu ----------------------------------- */
.appbar{
  gap:10px;
  padding:0 12px;
  overflow:visible;
}
.compact-brand{
  flex:0 0 auto;
  min-width:154px!important;
  padding-right:10px;
  border-right:1px solid color-mix(in srgb,var(--border) 82%,transparent);
}
.compact-brand .brand-badge{width:30px;height:30px;border-radius:8px}
.compact-brand .brand-title{font-size:13px;font-weight:735;line-height:1.1}
.compact-brand .brand-file{max-width:128px;font-size:9.5px;margin-top:2px}

.app-menubar{
  height:100%;
  display:flex;
  align-items:center;
  gap:1px;
  flex:0 0 auto;
  position:relative;
  z-index:170;
}
.menu-group{position:relative;height:100%;display:flex;align-items:center}
.menu-root{
  height:32px;
  padding:0 10px;
  border:0;
  border-radius:6px;
  background:transparent;
  color:var(--text);
  box-shadow:none;
  font-size:11.5px;
  font-weight:590;
  letter-spacing:0;
}
.menu-root:hover,.menu-root.open{
  border:0;
  background:var(--surface-2);
  color:var(--text);
  transform:none;
}
.menu-root:focus-visible{outline:2px solid color-mix(in srgb,var(--accent) 52%,transparent);outline-offset:1px}
.menu-dropdown{
  position:absolute;
  top:calc(50% + 22px);
  left:0;
  z-index:180;
  display:none;
  min-width:266px;
  padding:5px;
  border:1px solid var(--border-strong);
  border-radius:9px;
  background:var(--surface);
  box-shadow:0 14px 42px rgba(20,30,48,.16),0 2px 8px rgba(20,30,48,.08);
}
html[data-theme="dark"] .menu-dropdown{box-shadow:0 18px 48px rgba(0,0,0,.42),0 2px 8px rgba(0,0,0,.28)}
.menu-dropdown.open{display:block}
.menu-command{
  width:100%;
  height:34px;
  display:grid;
  grid-template-columns:18px minmax(0,1fr) auto;
  align-items:center;
  gap:8px;
  padding:0 9px;
  border:0;
  border-radius:6px;
  background:transparent;
  color:var(--text);
  box-shadow:none;
  text-align:left;
  font-size:11.5px;
  font-weight:500;
}
.menu-command:hover,.menu-command:focus-visible{
  border:0;
  background:var(--accent-soft);
  color:var(--text);
  transform:none;
  outline:none;
}
.menu-command:disabled{opacity:.38;pointer-events:none}
.menu-mark{
  width:18px;
  text-align:center;
  color:var(--accent);
  font-size:12px;
  font-weight:800;
}
.menu-label{min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.menu-shortcut{
  color:var(--muted);
  font-size:10px;
  font-weight:500;
  white-space:nowrap;
  text-align:right;
  font-variant-numeric:tabular-nums;
}
.menu-separator{height:1px;margin:5px 7px;background:var(--border)}

.appbar .searchbar{
  margin-left:auto!important;
  width:min(470px,36vw)!important;
  gap:4px;
}
.appbar .searchbox{height:34px;border-radius:8px;background:var(--surface-2)}
.search-glyph{font-size:13px;color:var(--muted)}
.search-nav{height:34px;min-width:auto;padding:0 9px;border-radius:8px;font-size:10px;font-weight:600;color:var(--muted)}
.search-nav:hover{color:var(--text)}
.search-nav-narrow{display:none}
.appbar .open-btn{height:34px;padding:0 13px;border-radius:8px;font-size:11px;white-space:nowrap}

/* v21 drawer is removed from the DOM; keep these hidden if old markup ever appears. */
.main-menu,.main-menu-backdrop,.main-menu-trigger{display:none!important}
body.main-menu-open{overflow:auto!important}

/* Menu remains useful at narrower desktop widths without turning back into an icon wall. */
@media(max-width:1120px){
  .compact-brand{min-width:auto!important}.compact-brand .brand-copy{display:none}
  .compact-brand{padding-right:8px}
  .menu-root{padding:0 8px}
  .appbar .searchbar{width:min(390px,35vw)!important}
  .search-nav-wide{display:none}.search-nav-narrow{display:inline}
  .search-nav{width:32px;padding:0}
}
@media(max-width:820px){
  .compact-brand{display:none}
  .app-menubar{gap:0}
  .menu-root{font-size:10.5px;padding:0 7px}
  .appbar .searchbar{flex:1;width:auto!important;min-width:140px}
  .appbar .open-btn{padding:0 10px}
}
@media(max-width:620px){
  .menu-root[data-menu="navigateMenu"]{display:none}
  .menu-root{padding:0 6px}
  .appbar{gap:5px;padding:0 7px}
  .appbar .open-btn{font-size:0;width:34px;padding:0;justify-content:center}
  .appbar .open-btn::before{content:"+";font-size:18px;font-weight:500}
}


/* ===== v23 compact chrome / reclaimed reading space ===== */
:root{--chrome-bottom:100px}

/* The breadcrumb/status strip is intentionally removed. Only the 2px progress line remains. */
.breadcrumb-bar{display:none!important}
.reading-progress{
  position:fixed!important;
  left:0;right:0;
  top:var(--chrome-bottom)!important;
  height:2px!important;
  z-index:45!important;
  display:none;
  pointer-events:none;
  background:color-mix(in srgb,var(--border) 52%,transparent)!important;
}
body.has-docs .reading-progress{display:block}
.reading-progress>div{
  height:100%;
  background:var(--accent);
  box-shadow:0 0 7px color-mix(in srgb,var(--accent) 28%,transparent);
}

/* Reclaim the 38px breadcrumb row throughout the workspace. */
body.has-docs .toc-rail{top:calc(var(--chrome-bottom) + 2px)!important}
body.has-docs .toc-panel{top:calc(var(--chrome-bottom) + 10px)!important}
.stage{padding-top:18px!important}
.split-pane,
.split-divider{
  top:calc(var(--chrome-bottom) + 14px)!important;
  height:calc(100vh - var(--chrome-bottom) - 30px)!important;
}
@media(max-width:900px){
  body.split-mode .split-pane{inset:calc(var(--chrome-bottom) + 8px) 8px 8px!important;height:auto!important}
}

/* Reading position lives in the floating control instead of consuming a full row. */
.doc-fab{gap:3px}
.reading-status{
  min-width:118px;
  padding:0 8px;
  color:var(--muted);
  font-size:9.5px;
  font-weight:650;
  font-variant-numeric:tabular-nums;
  letter-spacing:.005em;
  white-space:nowrap;
  text-align:center;
}
.fab-separator{width:1px;height:20px;background:var(--border);margin:0 2px}
@media(max-width:760px){
  .reading-status{min-width:auto;max-width:92px;padding:0 5px;font-size:9px}
}
@media(max-width:520px){
  .reading-status,.fab-separator{display:none}
}

/* Explicit, always-visible appearance control. */
.theme-quick{
  height:32px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:6px;
  padding:0 10px;
  border:1px solid var(--border);
  border-radius:8px;
  background:transparent;
  color:var(--muted);
  box-shadow:none;
  font-size:10.5px;
  font-weight:650;
  white-space:nowrap;
}
.theme-quick:hover{background:var(--surface-2);color:var(--text);border-color:var(--border-strong);transform:none}
.theme-quick-icon{font-size:13px;line-height:1}
.theme-quick-label{line-height:1}
html[data-theme="dark"] .theme-quick{color:var(--text)}
@media(max-width:760px){.theme-quick-label{display:none}.theme-quick{width:32px;padding:0}}


/* v24 — single professional application dropdown */
.single-app-menu{height:100%;display:flex;align-items:center}
.single-menu-group{height:100%;display:flex;align-items:center}
.app-menu-button{
  height:34px;
  padding:0 11px 0 12px;
  display:inline-flex;
  align-items:center;
  gap:7px;
  border:1px solid transparent;
  border-radius:8px;
  font-size:11.5px;
  font-weight:650;
  color:var(--text);
}
.app-menu-button:hover,.app-menu-button.open{
  background:var(--surface-2);
  border-color:var(--border);
}
.app-menu-chevron{font-size:11px;color:var(--muted);transform:translateY(-1px)}
.app-menu-button.open .app-menu-chevron{transform:rotate(180deg) translateY(1px)}
.app-menu-dropdown{
  top:calc(50% + 23px);
  left:0;
  width:320px;
  min-width:320px;
  padding:8px;
  border-radius:12px;
  border:1px solid var(--border-strong);
  background:var(--surface);
  box-shadow:0 18px 52px rgba(20,30,48,.17),0 3px 10px rgba(20,30,48,.08);
}
html[data-theme="dark"] .app-menu-dropdown{box-shadow:0 22px 58px rgba(0,0,0,.46),0 3px 10px rgba(0,0,0,.28)}
.menu-section-label{
  padding:8px 10px 5px;
  color:var(--muted);
  font-size:9.5px;
  font-weight:750;
  letter-spacing:.08em;
  text-transform:uppercase;
  user-select:none;
}
.menu-section-separator{height:1px;margin:7px 8px 4px;background:var(--border)}
.app-menu-dropdown .menu-command{
  grid-template-columns:minmax(0,1fr) auto;
  min-height:36px;
  height:36px;
  padding:0 10px;
  border-radius:7px;
  gap:14px;
  font-size:11.5px;
}
.app-menu-dropdown .menu-command:hover,.app-menu-dropdown .menu-command:focus-visible{
  background:var(--surface-2);
}
.app-menu-dropdown .menu-label{font-weight:550}
.app-menu-dropdown .menu-shortcut{
  max-width:125px;
  overflow:hidden;
  text-overflow:ellipsis;
  color:var(--muted);
  font-size:9.5px;
}
.app-menu-dropdown .menu-state{
  padding:2px 6px;
  border-radius:999px;
  background:var(--surface-2);
  border:1px solid var(--border);
  font-weight:650;
}
.app-menu-dropdown .menu-command[aria-checked="true"] .menu-label::before{
  content:"✓";
  display:inline-block;
  width:16px;
  margin-right:2px;
  color:var(--accent);
  font-weight:800;
}
.app-menu-dropdown .menu-command[aria-checked="false"] .menu-label::before{
  content:"";
  display:inline-block;
  width:16px;
  margin-right:2px;
}
@media(max-width:840px){
  .app-menu-button{width:38px;padding:0;justify-content:center;font-size:0}
  .app-menu-button::before{content:"Menu";font-size:0}
  .app-menu-button .app-menu-chevron{font-size:14px}
  .app-menu-dropdown{width:min(320px,calc(100vw - 18px));min-width:0}
}


.docs-quick{
  height:34px;
  display:inline-flex;
  align-items:center;
  gap:7px;
  padding:0 10px;
  border:1px solid var(--border);
  border-radius:8px;
  background:var(--surface);
  color:var(--text);
  font-size:10.5px;
  font-weight:650;
  white-space:nowrap;
}
.docs-quick:hover{background:var(--surface-2);border-color:color-mix(in srgb,var(--border) 72%,var(--text))}
.docs-quick-count{
  min-width:19px;
  height:19px;
  padding:0 5px;
  display:inline-grid;
  place-items:center;
  border-radius:999px;
  background:var(--surface-2);
  color:var(--muted);
  font-size:9.5px;
  font-weight:750;
  font-variant-numeric:tabular-nums;
}
.search-nav:disabled{
  opacity:.42;
  cursor:default;
  background:transparent;
  color:var(--muted);
}
.search-nav:disabled:hover{background:transparent;color:var(--muted)}
@media(max-width:980px){
  .docs-quick-label{display:none}
  .docs-quick{width:34px;padding:0;justify-content:center}
  .docs-quick-count{background:transparent;padding:0;min-width:0}
}
@media(max-width:720px){.docs-quick{display:none}}


/* ===== v28 professional reliability + advanced workspace ===== */
:root{--reader-font:16px;--reader-max:1600px;--code-font:13px;--motion-scale:1}
.md{font-size:var(--reader-font)}
.reader-shell{max-width:var(--reader-max)!important}
.code-card pre,.code-card code,.code-full-pre{font-size:var(--code-font)!important}
html[data-contrast="high"]{--border:#8b95a5;--muted:#4b5563}
html[data-theme="dark"][data-contrast="high"]{--border:#8190a6;--muted:#c5cfdb}
html[data-reduced-motion="true"] *,@media (prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;animation-duration:.001ms!important;transition-duration:.001ms!important}}

.toc-tools-v28{display:flex;gap:6px;padding:8px 10px;border-bottom:1px solid var(--border);background:color-mix(in srgb,var(--surface-2) 55%,var(--surface))}
.toc-tools-v28 input{min-width:0;flex:1;height:30px;border:1px solid var(--border);border-radius:8px;background:var(--surface);color:var(--text);padding:0 8px;font-size:11px}
.toc-tools-v28 select,.toc-tools-v28 button{height:30px;padding:0 7px;border-radius:8px;font-size:10px}
.toc-panel:has(.toc-tools-v28) .toc-list{height:calc(100% - 175px)}
.toc-list a.toc-filtered{display:none}.toc-list.compact a.l3,.toc-list.compact a.l4,.toc-list.compact a.l5,.toc-list.compact a.l6{display:none}

.tab-overflow-btn{height:28px;padding:0 9px;border-radius:8px;flex:0 0 auto;font-size:11px;display:none}.tab-overflow-btn.show{display:block}
.context-menu-v28,.tab-overflow-menu-v28{position:fixed;z-index:2600;min-width:220px;padding:6px;border:1px solid var(--border);border-radius:11px;background:var(--surface);box-shadow:0 18px 55px rgba(0,0,0,.18);display:none}
.context-menu-v28.show,.tab-overflow-menu-v28.show{display:block}
.ctx-item{width:100%;height:32px;border:0;border-radius:7px;background:transparent;text-align:left;padding:0 9px;display:flex;align-items:center;justify-content:space-between;font-size:12px}.ctx-item:hover{background:var(--surface-2)}.ctx-item.danger{color:#c2413b}.ctx-sep{height:1px;background:var(--border);margin:5px 3px}
.doc-tab[draggable="true"]{cursor:grab}.doc-tab.tab-dragging{opacity:.45}.doc-tab.pinned::before{content:"•";color:var(--accent);font-size:18px;line-height:0}

.toast-stack-v28{position:fixed;right:18px;top:76px;z-index:3000;display:flex;flex-direction:column;gap:8px;pointer-events:none}.toast-v28{min-width:240px;max-width:420px;padding:10px 12px;border:1px solid var(--border);border-radius:11px;background:var(--surface);box-shadow:var(--shadow);font-size:12px;color:var(--text);display:flex;gap:9px;align-items:flex-start;pointer-events:auto;animation:v28toast .18s ease}.toast-v28.success{border-left:3px solid #2f9e64}.toast-v28.warning{border-left:3px solid #d69e00}.toast-v28.error{border-left:3px solid #d64545}.toast-v28 .toast-x{margin-left:auto;border:0;padding:0 4px;background:transparent;color:var(--muted)}@keyframes v28toast{from{opacity:0;transform:translateY(-5px)}to{opacity:1;transform:none}}

.settings-dialog-v28{width:min(760px,calc(100vw - 30px));max-height:88vh;overflow:auto}.settings-grid-v28{display:grid;grid-template-columns:1fr 1fr;gap:12px;padding:16px}.setting-card-v28{border:1px solid var(--border);border-radius:12px;padding:12px;background:var(--surface-2)}.setting-card-v28 label{display:block;font-size:11px;font-weight:700;margin-bottom:7px}.setting-card-v28 input[type="range"],.setting-card-v28 select{width:100%}.setting-row-v28{display:flex;align-items:center;justify-content:space-between;gap:10px}.setting-help-v28{font-size:10px;color:var(--muted);margin-top:5px}.preset-row-v28{display:grid;grid-template-columns:repeat(4,1fr);gap:7px;padding:0 16px 16px}.preset-row-v28 button{font-size:11px}.storage-row-v28{padding:0 16px 16px;display:flex;gap:8px;align-items:center;flex-wrap:wrap}.storage-usage-v28{font-size:11px;color:var(--muted);margin-right:auto}

.perf-grid-v28{display:grid;grid-template-columns:repeat(3,1fr);gap:9px;padding:16px}.perf-card-v28{padding:12px;border:1px solid var(--border);border-radius:11px;background:var(--surface-2)}.perf-value-v28{font-size:20px;font-weight:760}.perf-label-v28{font-size:10px;color:var(--muted);margin-top:3px}.perf-errors-v28{padding:0 16px 16px;max-height:220px;overflow:auto}.perf-error-v28{padding:8px;border-bottom:1px solid var(--border);font-size:10px;color:var(--muted)}

.history-list-v28{max-height:62vh;overflow:auto;padding:8px 12px 14px}.history-item-v28{display:flex;align-items:center;gap:9px;padding:8px;border-radius:8px;cursor:pointer}.history-item-v28:hover{background:var(--surface-2)}.history-item-v28 .hdoc{font-weight:650;font-size:11px}.history-item-v28 .hsec{font-size:10px;color:var(--muted)}

.compare-dialog-v28{width:min(96vw,1500px);height:min(88vh,920px)}.compare-controls-v28{display:flex;gap:8px;padding:10px 12px;border-bottom:1px solid var(--border);align-items:center}.compare-controls-v28 select{flex:1;min-width:0;height:32px;border:1px solid var(--border);border-radius:8px;background:var(--surface-2);color:var(--text)}.compare-body-v28{display:grid;grid-template-columns:1fr 1fr;height:calc(100% - 102px);min-height:420px}.compare-pane-v28{overflow:auto;font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:11px;line-height:1.5}.compare-pane-v28:first-child{border-right:1px solid var(--border)}.diff-line-v28{display:flex;min-height:22px;border-bottom:1px solid color-mix(in srgb,var(--border) 60%,transparent)}.diff-ln-v28{width:48px;flex:0 0 48px;text-align:right;padding:2px 8px;color:var(--muted);user-select:none}.diff-text-v28{padding:2px 8px;white-space:pre-wrap;word-break:break-word}.diff-add-v28{background:color-mix(in srgb,#34a853 13%,transparent)}.diff-del-v28{background:color-mix(in srgb,#e5484d 13%,transparent)}.diff-change-v28{background:color-mix(in srgb,#d69e00 12%,transparent)}

.mermaid-inline-tools-v28{display:flex;gap:5px;margin-left:6px}.mermaid-inline-tools-v28 button{height:28px;padding:0 8px;font-size:10px}.mermaid-export-select{height:32px;border:1px solid var(--border);border-radius:8px;background:var(--surface);color:var(--text);padding:0 5px}.mermaid:not(:has(svg)):not(.mermaid-fallback){min-height:90px;display:grid;place-items:center;color:var(--muted);font-size:11px}.mermaid:not(:has(svg)):not(.mermaid-fallback)::after{content:"Diagram queued…"}.mermaid-minimap.mini-hidden{display:none!important}
.v28-render-stage{position:fixed!important;left:-100000px!important;top:0!important;width:1200px!important;visibility:hidden!important;pointer-events:none!important;contain:layout style paint}

#fileChangeModalV28{z-index:3200}.file-change-dialog-v28{width:min(520px,calc(100vw - 28px))}.file-change-body-v28{padding:16px;font-size:12px;line-height:1.5}.file-change-actions-v28{padding:0 16px 16px;display:flex;justify-content:flex-end;gap:8px}

.current-doc-identity-v28{display:none;font-size:11px;color:var(--muted);max-width:260px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}@media(min-width:1350px){body.has-docs .current-doc-identity-v28{display:block}}

@media(max-width:760px){.settings-grid-v28{grid-template-columns:1fr}.preset-row-v28{grid-template-columns:1fr 1fr}.perf-grid-v28{grid-template-columns:1fr 1fr}.compare-body-v28{grid-template-columns:1fr}.compare-pane-v28:first-child{border-right:0;border-bottom:1px solid var(--border)}}


/* v29 fast-open: Mermaid may render after the document is already usable */
.mermaid.mermaid-rendering{position:relative;min-height:120px}
.mermaid.mermaid-rendering::after{
  content:"Rendering diagram…";
  position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);
  padding:7px 11px;border:1px solid var(--border);border-radius:999px;
  background:color-mix(in srgb,var(--surface) 94%,transparent);
  color:var(--muted);font-size:11px;font-weight:650;box-shadow:0 6px 20px rgba(15,23,42,.08)
}


/* ===== v31 production privacy ===== */
.privacy-quick-v31{height:32px;display:flex;align-items:center;gap:6px;padding:0 10px;border:1px solid var(--border);border-radius:8px;background:var(--surface);color:var(--muted);font-size:11px;font-weight:700;cursor:pointer;white-space:nowrap}
.privacy-quick-v31:hover{background:var(--surface-2);color:var(--text)}
.privacy-quick-v31.remember{color:var(--accent);border-color:color-mix(in srgb,var(--accent) 28%,var(--border));background:color-mix(in srgb,var(--accent) 7%,var(--surface))}
.privacy-lock-v31{font-size:10px}.privacy-start-v31{width:min(690px,100%);display:flex;align-items:center;justify-content:space-between;gap:18px;margin:2px auto 18px;padding:12px 14px;border:1px solid var(--border);border-radius:12px;background:color-mix(in srgb,var(--surface) 94%,transparent);text-align:left}.privacy-start-v31 div{display:flex;flex-direction:column;gap:3px}.privacy-start-v31 strong{font-size:12px}.privacy-start-v31 span{font-size:11px;color:var(--muted);line-height:1.4}.privacy-start-v31 button,.footer-privacy-v31{font-size:11px;white-space:nowrap}.footer-privacy-v31{border:0;background:transparent;color:var(--accent);padding:0 3px;cursor:pointer}.privacy-dialog-v31{width:min(720px,calc(100vw - 30px))}.privacy-hero-v31{display:flex;align-items:center;gap:14px;padding:4px 2px 18px}.privacy-shield-v31{width:46px;height:46px;display:grid;place-items:center;border-radius:13px;background:var(--accent);color:white;font-size:13px;font-weight:850;box-shadow:0 8px 24px color-mix(in srgb,var(--accent) 22%,transparent)}.privacy-hero-v31 strong{font-size:15px}.privacy-hero-v31 p{margin:4px 0 0;color:var(--muted);font-size:12px;line-height:1.5}.privacy-mode-grid-v31{display:grid;grid-template-columns:1fr 1fr;gap:10px}.privacy-mode-v31{position:relative;display:flex;flex-direction:column;align-items:flex-start;gap:6px;min-height:122px;padding:15px;border:1px solid var(--border);border-radius:13px;background:var(--surface);text-align:left;cursor:pointer}.privacy-mode-v31:hover{background:var(--surface-2)}.privacy-mode-v31.active{border-color:var(--accent);box-shadow:0 0 0 2px color-mix(in srgb,var(--accent) 13%,transparent)}.privacy-mode-v31 strong{font-size:13px;color:var(--text)}.privacy-mode-v31 span{font-size:11px;line-height:1.5;color:var(--muted)}.privacy-mode-v31 em{font-style:normal;font-size:9px;font-weight:800;text-transform:uppercase;letter-spacing:.06em;color:var(--accent);margin-top:auto}.privacy-facts-v31{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:14px}.privacy-facts-v31>div{padding:11px 12px;border:1px solid var(--border);border-radius:10px;background:var(--surface-2)}.privacy-facts-v31 strong{display:block;font-size:10px;text-transform:uppercase;letter-spacing:.05em;margin-bottom:4px}.privacy-facts-v31 span{font-size:10px;line-height:1.45;color:var(--muted)}.privacy-actions-v31{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:10px;margin-top:16px}.danger-action-v31{color:#b42318!important;border-color:color-mix(in srgb,#b42318 35%,var(--border))!important}.danger-action-v31:hover{background:color-mix(in srgb,#b42318 8%,var(--surface))!important}.privacy-setting-v31{border-color:color-mix(in srgb,var(--accent) 18%,var(--border))}.private-mode-v31 .recent-block,.private-mode-v31 #emptyRestoreSession,.private-mode-v31 #emptyWorkspaces{opacity:.5}.privacy-disabled-note-v31{font-size:11px;color:var(--muted);padding:10px 2px}.privacy-storage-note-v31{font-size:10px;color:var(--muted);margin-left:8px}
@media(max-width:760px){.privacy-mode-grid-v31,.privacy-facts-v31{grid-template-columns:1fr}.privacy-start-v31{align-items:flex-start;flex-direction:column}.privacy-quick-v31 #privacyQuickLabelV31{display:none}.privacy-quick-v31{padding:0 8px}}




/* ===== v33 polished settings + workspace switching UX ===== */
:root{--v33-control-h:38px}
.pro-modal.open{animation:v33FadeIn .14s ease-out}
.pro-modal.open>.pro-dialog{animation:v33DialogIn .17s cubic-bezier(.2,.8,.2,1)}
@keyframes v33FadeIn{from{opacity:0}to{opacity:1}}
@keyframes v33DialogIn{from{opacity:.6;transform:translateY(8px) scale(.992)}to{opacity:1;transform:none}}
html[data-reduced-motion="true"] .pro-modal.open,html[data-reduced-motion="true"] .pro-modal.open>.pro-dialog{animation:none}

/* More consistent dialog chrome across the app. */
.pro-dialog-head{flex:0 0 auto;background:color-mix(in srgb,var(--surface) 96%,var(--surface-2));position:relative;z-index:2}
.pro-dialog-head>button:last-child,[data-v28-close],[data-close-modal],[data-v31-close]{border-radius:9px;min-width:32px;padding:0 9px}
.pro-dialog button{transition:background .13s ease,border-color .13s ease,color .13s ease,box-shadow .13s ease}
.pro-dialog input,.pro-dialog select,.pro-dialog textarea{transition:border-color .13s ease,box-shadow .13s ease,background .13s ease}
.pro-dialog input:focus,.pro-dialog select:focus,.pro-dialog textarea:focus{border-color:color-mix(in srgb,var(--accent) 62%,var(--border));box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 12%,transparent);outline:none}

/* Quick workspace access beside Documents. */
.workspace-quick-v33{height:32px;display:flex;align-items:center;gap:7px;padding:0 10px;border:1px solid var(--border);border-radius:8px;background:var(--surface);color:var(--muted);font-size:11px;font-weight:700;white-space:nowrap;cursor:pointer;max-width:168px}
.workspace-quick-v33:hover{background:var(--surface-2);color:var(--text);border-color:var(--border-strong)}
.workspace-quick-v33.active{color:var(--accent);border-color:color-mix(in srgb,var(--accent) 28%,var(--border));background:color-mix(in srgb,var(--accent) 6%,var(--surface))}
.workspace-quick-v33 .workspace-quick-state{font-size:9px;font-weight:750;padding:2px 6px;border-radius:999px;background:var(--surface-2);color:var(--muted);max-width:78px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.workspace-quick-v33.active .workspace-quick-state{background:var(--accent-soft);color:var(--accent)}
@media(max-width:1120px){.workspace-quick-v33 .workspace-quick-label{display:none}.workspace-quick-v33{max-width:82px;padding:0 8px}}
@media(max-width:860px){.workspace-quick-v33{display:none}}

/* Settings: application-style navigation rather than a grid of cards. */
.settings-dialog-v33{width:min(900px,calc(100vw - 30px));height:min(720px,88vh);max-height:88vh;overflow:hidden}
.settings-head-v33{height:auto;min-height:64px;padding:11px 16px}
.settings-head-copy-v33{display:flex;flex-direction:column;gap:2px;min-width:0}
.settings-head-copy-v33 strong{font-size:14px!important;letter-spacing:-.015em}
.settings-head-copy-v33 small{font-size:10.5px;color:var(--muted);font-weight:500}
.settings-shell-v33{display:grid;grid-template-columns:190px minmax(0,1fr);min-height:0;flex:1;overflow:hidden}
.settings-nav-v33{padding:12px;border-right:1px solid var(--border);background:color-mix(in srgb,var(--surface-2) 55%,var(--surface));overflow:auto}
.settings-nav-title-v33{padding:4px 8px 8px;font-size:9px;font-weight:850;text-transform:uppercase;letter-spacing:.09em;color:var(--muted)}
.settings-nav-btn-v33{width:100%;height:38px;display:flex;align-items:center;gap:9px;padding:0 10px;margin:1px 0;border:1px solid transparent;border-radius:9px;background:transparent;color:var(--muted);font-size:11.5px;font-weight:650;text-align:left;cursor:pointer}
.settings-nav-btn-v33:hover{background:var(--surface);color:var(--text)}
.settings-nav-btn-v33.active{background:var(--surface);border-color:var(--border);color:var(--text);box-shadow:0 1px 2px rgba(0,0,0,.04)}
.settings-nav-dot-v33{width:7px;height:7px;border-radius:50%;background:var(--border-strong);flex:0 0 auto}
.settings-nav-btn-v33.active .settings-nav-dot-v33{background:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}
.settings-main-v33{min-width:0;overflow:auto;padding:20px 22px 28px;scrollbar-gutter:stable}
.settings-panel-v33{display:none;max-width:660px;margin:0 auto}
.settings-panel-v33.active{display:block;animation:v33PanelIn .12s ease-out}
@keyframes v33PanelIn{from{opacity:.45;transform:translateY(3px)}to{opacity:1;transform:none}}
.settings-section-head-v33{margin-bottom:15px}
.settings-section-head-v33 h3{margin:0;font-size:17px;letter-spacing:-.025em;color:var(--text)}
.settings-section-head-v33 p{margin:5px 0 0;font-size:11px;line-height:1.5;color:var(--muted)}
.settings-group-v33{border:1px solid var(--border);border-radius:13px;background:var(--surface);overflow:hidden;margin-bottom:14px}
.setting-line-v33{display:grid;grid-template-columns:minmax(0,1fr) minmax(180px,300px);align-items:center;gap:18px;padding:13px 14px;border-bottom:1px solid var(--border)}
.setting-line-v33:last-child{border-bottom:0}
.setting-copy-v33{min-width:0}
.setting-title-v33{font-size:11.5px;font-weight:750;color:var(--text)}
.setting-help-v33{margin-top:3px;font-size:10px;line-height:1.45;color:var(--muted)}
.setting-control-v33{display:flex;align-items:center;justify-content:flex-end;gap:9px;min-width:0}
.setting-control-v33 select{width:min(100%,250px);height:var(--v33-control-h);border:1px solid var(--border);border-radius:9px;background:var(--surface-2);color:var(--text);padding:0 34px 0 10px;font-size:11px}
.range-wrap-v33{width:100%;display:grid;grid-template-columns:minmax(100px,1fr) auto;align-items:center;gap:10px}
.range-wrap-v33 input[type="range"]{width:100%;accent-color:var(--accent)}
.setting-value-v33{min-width:52px;height:28px;display:inline-flex;align-items:center;justify-content:center;padding:0 8px;border:1px solid var(--border);border-radius:8px;background:var(--surface-2);font-size:10px;font-weight:750;color:var(--text);font-variant-numeric:tabular-nums}
/* Accessible native checkbox styled as a switch. */
.switch-v33{appearance:none!important;-webkit-appearance:none!important;width:38px!important;height:22px!important;min-width:38px;border-radius:999px!important;border:1px solid var(--border-strong)!important;background:var(--surface-3)!important;position:relative;cursor:pointer;transition:.16s ease;box-shadow:none!important}
.switch-v33::after{content:"";position:absolute;width:16px;height:16px;left:2px;top:2px;border-radius:50%;background:var(--surface);box-shadow:0 1px 4px rgba(0,0,0,.22);transition:transform .16s ease}
.switch-v33:checked{background:var(--accent)!important;border-color:var(--accent)!important}
.switch-v33:checked::after{transform:translateX(16px);background:white}
.switch-v33:focus-visible{outline:2px solid color-mix(in srgb,var(--accent) 50%,transparent);outline-offset:2px}
.preset-grid-v33{display:grid;grid-template-columns:repeat(2,1fr);gap:8px}
.preset-card-v33{min-height:74px;padding:11px 12px;border:1px solid var(--border);border-radius:11px;background:var(--surface);text-align:left;display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:3px}
.preset-card-v33:hover{border-color:color-mix(in srgb,var(--accent) 30%,var(--border));background:var(--surface-2)}
.preset-card-v33 strong{font-size:11px;color:var(--text)}
.preset-card-v33 span{font-size:9.5px;line-height:1.4;color:var(--muted)}
.storage-summary-v33{display:flex;align-items:center;gap:13px;padding:14px;border:1px solid var(--border);border-radius:12px;background:var(--surface-2);margin-bottom:12px}
.storage-icon-v33{width:38px;height:38px;display:grid;place-items:center;border-radius:10px;background:var(--accent-soft);color:var(--accent);font-size:11px;font-weight:850}
.storage-summary-v33 strong{display:block;font-size:11.5px}.storage-summary-v33 span{display:block;font-size:10px;color:var(--muted);margin-top:3px}
.storage-actions-v33{display:flex;gap:8px;flex-wrap:wrap}
.settings-footer-v33{height:58px;display:flex;align-items:center;gap:8px;padding:0 16px;border-top:1px solid var(--border);background:color-mix(in srgb,var(--surface) 96%,var(--surface-2));flex:0 0 auto}
.settings-footer-v33 .footer-spacer-v33{flex:1}
.settings-footer-v33 button{height:34px}
.settings-footer-v33 .danger-lite-v33{color:var(--muted)}
@media(max-width:760px){.settings-dialog-v33{height:92vh}.settings-shell-v33{grid-template-columns:1fr}.settings-nav-v33{display:flex;gap:5px;border-right:0;border-bottom:1px solid var(--border);padding:8px;overflow:auto}.settings-nav-title-v33{display:none}.settings-nav-btn-v33{width:auto;flex:0 0 auto;padding:0 10px}.settings-nav-dot-v33{display:none}.settings-main-v33{padding:16px}.setting-line-v33{grid-template-columns:1fr;gap:9px}.setting-control-v33{justify-content:flex-start}.setting-control-v33 select{width:100%;max-width:none}.preset-grid-v33{grid-template-columns:1fr 1fr}}

/* Workspace manager: clear current context + quick switching. */
.workspace-dialog-v33{width:min(820px,calc(100vw - 30px));height:min(690px,86vh);max-height:86vh;overflow:hidden}
.workspace-head-v33{height:auto;min-height:64px;padding:11px 16px}
.workspace-head-copy-v33{display:flex;flex-direction:column;gap:2px}.workspace-head-copy-v33 strong{font-size:14px!important}.workspace-head-copy-v33 small{font-size:10.5px;color:var(--muted)}
.workspace-current-v33{display:flex;align-items:center;gap:13px;padding:14px 16px;border-bottom:1px solid var(--border);background:linear-gradient(180deg,color-mix(in srgb,var(--accent) 5%,var(--surface)),var(--surface))}
.workspace-current-icon-v33{width:38px;height:38px;display:grid;place-items:center;border:1px solid color-mix(in srgb,var(--accent) 24%,var(--border));border-radius:11px;background:var(--accent-soft);color:var(--accent);font-size:10px;font-weight:850;letter-spacing:.04em}
.workspace-current-copy-v33{flex:1;min-width:0}.workspace-current-eyebrow-v33{font-size:8.5px;text-transform:uppercase;letter-spacing:.1em;font-weight:850;color:var(--muted)}
.workspace-current-name-v33{margin-top:2px;font-size:12.5px;font-weight:780;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.workspace-current-meta-v33{margin-top:2px;font-size:9.5px;color:var(--muted)}
.workspace-current-actions-v33{display:flex;gap:7px}.workspace-current-actions-v33 button{height:34px;font-size:10.5px}
.workspace-toolbar-v33{display:flex;align-items:center;gap:8px;padding:11px 16px;border-bottom:1px solid var(--border);background:color-mix(in srgb,var(--surface-2) 42%,var(--surface))}
.workspace-filter-wrap-v33{position:relative;flex:1;min-width:0}.workspace-filter-wrap-v33 input{width:100%;height:36px;border:1px solid var(--border);border-radius:9px;background:var(--surface);color:var(--text);padding:0 10px 0 30px;font-size:11px}.workspace-filter-wrap-v33::before{content:"⌕";position:absolute;left:10px;top:50%;transform:translateY(-50%);font-size:13px;color:var(--muted);pointer-events:none}
.workspace-save-v33{display:none;align-items:center;gap:8px;padding:11px 16px;border-bottom:1px solid var(--border);background:var(--accent-soft)}
.workspace-save-v33.show{display:flex}.workspace-save-v33 input{flex:1;height:36px;border:1px solid color-mix(in srgb,var(--accent) 26%,var(--border));border-radius:9px;background:var(--surface);color:var(--text);padding:0 10px;font-size:11px}
.workspace-section-head-v33{display:flex;align-items:center;gap:8px;padding:12px 16px 7px;font-size:9px;font-weight:850;text-transform:uppercase;letter-spacing:.09em;color:var(--muted)}
.workspace-section-head-v33 span:last-child{margin-left:auto;font-size:9px;text-transform:none;letter-spacing:0;font-weight:650}
.workspace-list-v33{flex:1;min-height:0;overflow:auto;padding:0 10px 12px}
.workspace-card-v33{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px;padding:12px;margin:4px 0;border:1px solid transparent;border-radius:11px;background:transparent}
.workspace-card-v33:hover{background:var(--surface-2);border-color:var(--border)}
.workspace-card-v33.current{background:color-mix(in srgb,var(--accent) 6%,var(--surface));border-color:color-mix(in srgb,var(--accent) 28%,var(--border))}
.workspace-card-copy-v33{min-width:0}.workspace-card-title-row-v33{display:flex;align-items:center;gap:7px;min-width:0}.workspace-card-name-v33{font-size:11.5px;font-weight:760;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.workspace-badge-v33{font-size:8px;font-weight:850;text-transform:uppercase;letter-spacing:.06em;color:var(--accent);background:var(--accent-soft);padding:3px 6px;border-radius:999px;flex:0 0 auto}.workspace-card-meta-v33{margin-top:4px;font-size:9.5px;color:var(--muted)}
.workspace-card-actions-v33{display:flex;align-items:center;gap:6px}.workspace-card-actions-v33 button{height:31px;font-size:10px;padding:0 10px}.workspace-delete-v33{width:31px;padding:0!important;color:var(--muted)}.workspace-delete-v33:hover{color:#b42318!important;background:color-mix(in srgb,#b42318 7%,var(--surface))!important}
.workspace-empty-v33{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:220px;padding:28px;text-align:center;color:var(--muted)}.workspace-empty-v33 strong{font-size:12px;color:var(--text);margin-bottom:4px}.workspace-empty-v33 span{font-size:10.5px;line-height:1.5;max-width:380px}
.workspace-dirty-dot-v33{display:inline-block;width:6px;height:6px;border-radius:50%;background:#f59e0b;margin-left:5px;vertical-align:1px}

/* Workspace switch confirmation. */
.workspace-switch-dialog-v33{width:min(470px,calc(100vw - 30px))}
.workspace-switch-body-v33{padding:18px 18px 8px}.workspace-switch-body-v33 h3{margin:0;font-size:14px}.workspace-switch-body-v33 p{margin:7px 0 0;font-size:11px;line-height:1.55;color:var(--muted)}
.workspace-switch-actions-v33{display:flex;gap:8px;justify-content:flex-end;padding:14px 18px 18px}.workspace-switch-actions-v33 button{height:34px}.workspace-switch-actions-v33 .switch-without-v33{margin-right:auto;color:var(--muted)}

@media(max-width:650px){.workspace-current-v33{align-items:flex-start;flex-wrap:wrap}.workspace-current-actions-v33{width:100%}.workspace-current-actions-v33 button{flex:1}.workspace-card-v33{grid-template-columns:1fr}.workspace-card-actions-v33{justify-content:flex-end}.workspace-toolbar-v33{flex-wrap:wrap}.workspace-toolbar-v33>button{flex:1}.workspace-save-v33{flex-wrap:wrap}.workspace-save-v33 input{flex-basis:100%}}


/* ===== v34 table sizing + polished privacy ===== */
/* Keep table controls close to the actual table instead of stretching the
   card to an arbitrary minimum width. Wide tables still scroll safely. */
.table-card{
  display:inline-block!important;
  vertical-align:top;
  width:auto!important;
  min-width:0!important;
  max-width:100%!important;
  margin-right:auto!important;
  overflow:hidden;
}
.table-card .table-scroll{
  width:auto!important;
  min-width:0!important;
  max-width:100%!important;
  overflow:auto;
}
.table-card .table-scroll table{
  display:table!important;
  width:max-content!important;
  min-width:0!important;
  max-width:none!important;
  margin:0!important;
}

/* Privacy is a compact application preference sheet rather than a grid of
   oversized promotional cards. */
.privacy-dialog-v34{
  width:min(780px,calc(100vw - 30px))!important;
  max-height:min(760px,90vh);
  display:flex;
  flex-direction:column;
  overflow:hidden;
  border-radius:16px;
}
.privacy-head-v34{
  min-height:64px;
  padding:11px 14px 11px 18px!important;
  border-bottom:1px solid var(--border);
}
.privacy-head-copy-v34{display:flex;flex-direction:column;gap:2px;min-width:0}
.privacy-head-copy-v34 strong{font-size:14px!important;letter-spacing:-.015em}
.privacy-head-copy-v34 small{font-size:10.5px;color:var(--muted);font-weight:500}
.privacy-body-v34{padding:18px;overflow:auto;scrollbar-gutter:stable}
.privacy-summary-v34{
  display:flex;align-items:center;gap:13px;
  padding:14px 15px;
  border:1px solid var(--border);
  border-radius:13px;
  background:linear-gradient(135deg,color-mix(in srgb,var(--accent) 7%,var(--surface)),var(--surface));
}
.privacy-shield-v34{width:42px!important;height:42px!important;flex:0 0 42px;border-radius:11px!important;font-size:11px!important;box-shadow:none!important}
.privacy-summary-copy-v34{min-width:0;flex:1}
.privacy-status-row-v34{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.privacy-status-row-v34 strong{font-size:13px}
.privacy-status-chip-v34{
  display:inline-flex;align-items:center;height:21px;padding:0 8px;border-radius:999px;
  background:var(--accent-soft);color:var(--accent);font-size:9px;font-weight:800;letter-spacing:.025em
}
.privacy-summary-v34 p{margin:4px 0 0;font-size:10.5px;line-height:1.5;color:var(--muted)}
.privacy-section-v34{margin-top:18px}
.privacy-section-head-v34{display:flex;align-items:end;justify-content:space-between;margin:0 2px 8px}
.privacy-section-head-v34>div{display:flex;flex-direction:column;gap:2px}
.privacy-section-head-v34 strong{font-size:11px;color:var(--text);letter-spacing:.01em}
.privacy-section-head-v34 span{font-size:9.5px;line-height:1.4;color:var(--muted)}
.privacy-mode-grid-v34{gap:8px!important}
.privacy-mode-v34{
  min-height:0!important;
  display:grid!important;
  grid-template-columns:18px minmax(0,1fr)!important;
  grid-template-rows:auto auto!important;
  column-gap:10px!important;
  row-gap:6px!important;
  padding:13px 14px!important;
  border-radius:11px!important;
  background:var(--surface)!important;
  text-align:left!important;
}
.privacy-mode-v34:hover{border-color:var(--border-strong)!important;background:var(--surface-2)!important}
.privacy-mode-v34.active{
  border-color:color-mix(in srgb,var(--accent) 70%,var(--border))!important;
  background:color-mix(in srgb,var(--accent) 5%,var(--surface))!important;
  box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 9%,transparent)!important;
}
.privacy-mode-radio-v34{
  grid-row:1;grid-column:1;width:16px;height:16px;margin-top:1px;border:1.5px solid var(--border-strong);border-radius:50%;background:var(--surface);position:relative
}
.privacy-mode-v34.active .privacy-mode-radio-v34{border-color:var(--accent)}
.privacy-mode-v34.active .privacy-mode-radio-v34::after{content:"";position:absolute;inset:3px;border-radius:50%;background:var(--accent)}
.privacy-mode-copy-v34{grid-column:2;grid-row:1;display:flex!important;flex-direction:column;gap:3px!important;min-width:0}
.privacy-mode-copy-v34 strong{font-size:11.5px!important}
.privacy-mode-copy-v34 span{font-size:9.8px!important;line-height:1.45!important;color:var(--muted)!important}
.privacy-mode-v34 em{grid-column:2;grid-row:2;margin:0!important;font-size:8.5px!important;letter-spacing:.04em!important;text-transform:none!important;color:var(--muted)!important;font-weight:700!important}
.privacy-mode-v34.active em{color:var(--accent)!important}
.privacy-facts-v34{display:grid!important;grid-template-columns:1fr 1fr!important;gap:8px!important;margin-top:0!important}
.privacy-facts-v34>div{padding:0!important;border:0!important;background:transparent!important;border-radius:0!important}
.privacy-fact-v34{
  display:grid!important;grid-template-columns:24px minmax(0,1fr);gap:9px;align-items:start;
  padding:11px 12px!important;border:1px solid var(--border)!important;border-radius:10px!important;background:var(--surface-2)!important
}
.privacy-fact-icon-v34{
  width:22px;height:22px;border-radius:7px;display:grid;place-items:center;
  background:var(--surface);border:1px solid var(--border);color:var(--accent);font-size:10px;font-weight:900
}
.privacy-fact-v34>div{min-width:0}
.privacy-fact-v34 strong{margin:0 0 2px!important;font-size:9.5px!important;letter-spacing:.025em!important}
.privacy-fact-v34 span{font-size:9.4px!important;line-height:1.45!important;color:var(--muted)!important}
.privacy-fact-v34 code{font-size:9px;padding:.08em .3em;border-radius:4px}
.privacy-footer-v34{
  flex:0 0 auto;
  display:grid!important;
  grid-template-columns:auto minmax(0,1fr) auto!important;
  align-items:center!important;
  gap:10px!important;
  margin:0!important;
  padding:12px 16px!important;
  border-top:1px solid var(--border);
  background:color-mix(in srgb,var(--surface) 96%,var(--surface-2));
}
.privacy-clear-v34,.privacy-done-v34{height:34px;padding:0 12px!important;font-size:10.5px!important;border-radius:8px!important}
.privacy-done-v34{min-width:72px}
.privacy-footer-note-v34{font-size:9.5px;color:var(--muted);text-align:right}
@media(max-width:680px){
  .privacy-facts-v34,.privacy-mode-grid-v34{grid-template-columns:1fr!important}
  .privacy-footer-v34{grid-template-columns:1fr auto!important}
  .privacy-footer-note-v34{display:none}
  .privacy-body-v34{padding:14px}
}

/* ===== v35 privacy sheet robustness ===== */
.privacy-head-v34{display:flex!important;align-items:center!important;gap:12px!important}
.privacy-head-copy-v34{flex:1!important;min-width:0!important}
.privacy-head-v34>button{flex:0 0 auto!important}
.privacy-summary-v34{flex:0 0 auto}
.privacy-section-head-v34>div{min-width:0}
.privacy-section-head-v34 strong,.privacy-section-head-v34 span{display:block}
.privacy-mode-copy-v34 strong,.privacy-mode-copy-v34 span,.privacy-fact-v34 strong,.privacy-fact-v34 span{display:block}
.privacy-mode-v34{overflow:hidden}
.privacy-mode-v34 em{font-style:normal}
.privacy-footer-v34{min-height:58px}
@media(max-width:520px){
  .privacy-dialog-v34{width:calc(100vw - 16px)!important;max-height:94vh}
  .privacy-head-v34{padding:10px 12px!important}
  .privacy-body-v34{padding:12px}
  .privacy-summary-v34{align-items:flex-start;padding:12px}
  .privacy-status-row-v34{align-items:flex-start}
}


/* v36 - strict Markdown input + professional PDF export */
.pdf-export-dialog-v36{width:min(640px,calc(100vw - 28px));overflow:hidden}
.pdf-export-body-v36{padding:18px}
.pdf-export-intro-v36{display:flex;align-items:flex-start;gap:12px;padding:13px 14px;border:1px solid var(--border);border-radius:11px;background:var(--surface-2);margin-bottom:15px}
.pdf-export-icon-v36{width:38px;height:38px;flex:0 0 38px;display:grid;place-items:center;border-radius:10px;background:var(--accent-soft);color:var(--accent);font-size:10px;font-weight:850;letter-spacing:.04em}
.pdf-export-copy-v36{min-width:0}.pdf-export-copy-v36 strong{display:block;font-size:12.5px;color:var(--text);margin-bottom:3px}.pdf-export-copy-v36 span{display:block;color:var(--muted);font-size:10.5px;line-height:1.5;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.pdf-export-grid-v36{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.pdf-export-field-v36{padding:12px;border:1px solid var(--border);border-radius:10px;background:var(--surface)}
.pdf-export-field-v36>label{display:block;font-size:10.5px;font-weight:750;color:var(--text);margin-bottom:7px}
.pdf-export-field-v36 select{width:100%;height:34px;border:1px solid var(--border-strong);border-radius:7px;background:var(--surface-2);color:var(--text);padding:0 9px;font-size:11px;outline:none}
.pdf-export-field-v36 select:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}
.pdf-export-check-v36{display:flex;align-items:flex-start;gap:9px;cursor:pointer}.pdf-export-check-v36 input{margin-top:2px;accent-color:var(--accent)}.pdf-export-check-copy-v36 strong{display:block;font-size:10.5px;color:var(--text)}.pdf-export-check-copy-v36 span{display:block;margin-top:2px;font-size:9.5px;line-height:1.45;color:var(--muted)}
.pdf-export-note-v36{margin-top:12px;padding:10px 12px;border-radius:9px;background:color-mix(in srgb,var(--accent-soft) 55%,var(--surface));color:var(--muted);font-size:10px;line-height:1.5}.pdf-export-note-v36 strong{color:var(--text)}
.pdf-export-actions-v36{display:flex;justify-content:flex-end;gap:8px;padding:14px 18px 17px;border-top:1px solid var(--border);background:color-mix(in srgb,var(--surface-2) 45%,var(--surface))}
.pdf-export-actions-v36 button{height:34px;padding:0 13px}.pdf-export-actions-v36 .primary-btn{min-width:142px}
.supported-formats-v36{margin-top:8px!important;font-size:9.5px!important;color:var(--muted)!important}.supported-formats-v36 code{font:inherit;color:var(--text);background:var(--surface-2);border:1px solid var(--border);border-radius:5px;padding:2px 5px}
#pdfExportHeaderV36{display:none}
@media(max-width:620px){.pdf-export-grid-v36{grid-template-columns:1fr}}

@media print{
  html,body{background:#fff!important;color:#172033!important;overflow:visible!important;height:auto!important;min-height:0!important}
  body.pdf-exporting-v36{margin:0!important;padding:0!important;-webkit-print-color-adjust:exact!important;print-color-adjust:exact!important}
  body.pdf-exporting-v36 .appbar,
  body.pdf-exporting-v36 .docs-strip,
  body.pdf-exporting-v36 .reading-progress,
  body.pdf-exporting-v36 .toc-rail,
  body.pdf-exporting-v36 .toc-panel,
  body.pdf-exporting-v36 .split-divider,
  body.pdf-exporting-v36 .split-pane,
  body.pdf-exporting-v36 .footer,
  body.pdf-exporting-v36 .doc-fab,
  body.pdf-exporting-v36 .zoom-control,
  body.pdf-exporting-v36 .panel-backdrop,
  body.pdf-exporting-v36 .docs-drawer,
  body.pdf-exporting-v36 .pro-modal,
  body.pdf-exporting-v36 .toast-stack-v28,
  body.pdf-exporting-v36 .context-menu-v28,
  body.pdf-exporting-v36 .tab-overflow-menu-v28,
  body.pdf-exporting-v36 .mermaid-modal,
  body.pdf-exporting-v36 #empty{display:none!important}
  body.pdf-exporting-v36 .stage{display:block!important;position:static!important;margin:0!important;padding:0!important;min-height:0!important;width:auto!important;max-width:none!important}
  body.pdf-exporting-v36 .stage-grid{display:block!important;position:static!important;margin:0!important;padding:0!important;width:auto!important;max-width:none!important;grid-template-columns:none!important}
  body.pdf-exporting-v36 .reader-shell{display:block!important;position:static!important;margin:0!important;padding:0!important;width:auto!important;max-width:none!important;min-width:0!important;border:0!important;border-radius:0!important;box-shadow:none!important;background:#fff!important}
  body.pdf-exporting-v36 #reader{display:block!important;position:static!important;margin:0!important;padding:0!important;width:auto!important;max-width:none!important;min-height:0!important;border:0!important;border-radius:0!important;box-shadow:none!important;background:#fff!important}
  body.pdf-exporting-v36 #out{zoom:1!important;max-width:none!important;width:auto!important;margin:0!important;padding:0!important;background:#fff!important;color:#172033!important}
  body.pdf-exporting-v36 .md{font-size:11pt!important;line-height:1.55!important;color:#172033!important;background:#fff!important}
  body.pdf-exporting-v36 .pdf-duplicate-title-v36{display:none!important}
  body.pdf-exporting-v36 .md h1,body.pdf-exporting-v36 .md h2,body.pdf-exporting-v36 .md h3,body.pdf-exporting-v36 .md h4,body.pdf-exporting-v36 .md h5,body.pdf-exporting-v36 .md h6{color:#111827!important;break-after:avoid-page;page-break-after:avoid;margin-top:1.25em!important}
  body.pdf-exporting-v36 .md h1{font-size:24pt!important}body.pdf-exporting-v36 .md h2{font-size:18pt!important}body.pdf-exporting-v36 .md h3{font-size:14pt!important}
  body.pdf-exporting-v36 .section-tools,body.pdf-exporting-v36 .section-note-display,body.pdf-exporting-v36 .table-tools,body.pdf-exporting-v36 .code-tools,body.pdf-exporting-v36 .mermaid-inline-tools-v28,body.pdf-exporting-v36 .mermaid-head button{display:none!important}
  body.pdf-exporting-v36 mark[data-search]{background:transparent!important;color:inherit!important;padding:0!important;outline:0!important;font-weight:inherit!important}
  body.pdf-exporting-v36 .table-card{display:block!important;width:100%!important;max-width:100%!important;margin:11pt 0!important;border:1px solid #d7dde8!important;border-radius:6px!important;box-shadow:none!important;overflow:visible!important;break-inside:auto}
  body.pdf-exporting-v36 .table-scroll{overflow:visible!important;width:100%!important;max-width:100%!important}
  body.pdf-exporting-v36 .md table{width:100%!important;max-width:100%!important;border-collapse:collapse!important;font-size:9.5pt!important;table-layout:auto!important}
  body.pdf-exporting-v36 .md thead{display:table-header-group}body.pdf-exporting-v36 .md tr{break-inside:avoid-page;page-break-inside:avoid}
  body.pdf-exporting-v36 .md th{background:#f2f5f9!important;color:#172033!important;font-weight:750!important}body.pdf-exporting-v36 .md th,body.pdf-exporting-v36 .md td{border-color:#cfd6e2!important;padding:6pt 7pt!important;color:#172033!important}
  body.pdf-exporting-v36 .code-card{display:block!important;width:100%!important;max-width:100%!important;margin:11pt 0!important;border:1px solid #d7dde8!important;border-radius:6px!important;box-shadow:none!important;background:#f6f8fb!important;overflow:hidden!important;break-inside:auto}
  body.pdf-exporting-v36 .code-toolbar{height:auto!important;min-height:0!important;padding:5pt 8pt!important;background:#edf1f6!important;border-color:#d7dde8!important}.pdf-exporting-v36 .code-lang{color:#556274!important;font-size:8.5pt!important}
  body.pdf-exporting-v36 .md pre{overflow:visible!important;white-space:pre-wrap!important;word-break:break-word!important;padding:9pt 10pt!important;background:#f6f8fb!important;color:#111827!important}.pdf-exporting-v36 .md pre code,.pdf-exporting-v36 .md pre code *{color:#111827!important;background:transparent!important;text-shadow:none!important;font-size:9pt!important;line-height:1.5!important}
  body.pdf-exporting-v36 .mermaid-card{width:100%!important;max-width:100%!important;margin:12pt 0!important;border:1px solid #d7dde8!important;border-radius:6px!important;box-shadow:none!important;background:#fff!important;overflow:visible!important;break-inside:avoid-page;page-break-inside:avoid}
  body.pdf-exporting-v36 .mermaid-head{background:#f7f9fc!important;border-color:#d7dde8!important;color:#172033!important;padding:6pt 8pt!important}.pdf-exporting-v36 .mermaid{overflow:visible!important;background:#fff!important}.pdf-exporting-v36 .mermaid svg{display:block!important;max-width:100%!important;width:100%!important;height:auto!important;margin:0 auto!important}
  body.pdf-exporting-v36 .md details{border:1px solid #d7dde8!important;background:#fff!important;break-inside:auto}.pdf-exporting-v36 .md details>summary{background:#f7f9fc!important;color:#172033!important;border-color:#d7dde8!important}
  body.pdf-exporting-v36 .md blockquote{border-left-color:#9aa8bb!important;color:#344054!important;background:#f8fafc!important}
  body.pdf-exporting-v36 .md a{color:#174ea6!important;text-decoration:underline!important}.pdf-exporting-v36 .md img{max-width:100%!important;height:auto!important;break-inside:avoid-page}
  body.pdf-exporting-v36 #pdfExportHeaderV36{display:block!important;margin:0 0 18pt;padding:0 0 12pt;border-bottom:1px solid #d7dde8;color:#172033}
  body.pdf-exporting-v36 #pdfExportHeaderV36 .pdf-print-title-v36{font-size:23pt;font-weight:800;letter-spacing:-.02em;line-height:1.15;color:#111827}
  body.pdf-exporting-v36 #pdfExportHeaderV36 .pdf-print-meta-v36{margin-top:5pt;font-size:8.5pt;color:#667085}
}


/* ===== v37 responsive reading canvas ===== */
/* Auto is the production default: the reader uses the width that actually
   exists after viewport margins and a per-document pinned TOC are accounted for. */
html[data-reader-width="auto"] .reader-shell{
  width:100%!important;
  max-width:none!important;
  margin-left:0!important;
  margin-right:0!important;
}
html[data-reader-width="auto"] .stage{
  padding-left:clamp(12px,1.25vw,26px);
  padding-right:clamp(12px,1.25vw,26px);
}
html[data-reader-width="auto"] body.toc-pinned .stage{
  padding-left:calc(var(--tocw) + clamp(12px,1.25vw,24px));
}
html[data-reader-width="auto"] .reader{
  padding-left:clamp(22px,2.35vw,46px);
  padding-right:clamp(22px,2.35vw,46px);
}
html[data-reader-width="auto"] .md{
  width:100%;
  max-width:none;
}

/* Content-fit remains best for small lookup tables. Dense/long technical
   tables are promoted to the available document width so text stops wrapping
   while hundreds of pixels sit unused beside the table. */
.table-card.table-adaptive-wide-v37{
  display:block!important;
  width:100%!important;
  max-width:100%!important;
  margin-right:0!important;
}
.table-card.table-adaptive-wide-v37 .table-scroll{
  display:block!important;
  width:100%!important;
  max-width:100%!important;
}
.table-card.table-adaptive-wide-v37 .table-scroll table{
  display:table!important;
  width:100%!important;
  min-width:100%!important;
  max-width:none!important;
  table-layout:auto!important;
}
.table-card.table-adaptive-wide-v37 .table-scroll th,
.table-card.table-adaptive-wide-v37 .table-scroll td{
  max-width:clamp(560px,46vw,980px)!important;
  overflow-wrap:anywhere;
  word-break:normal;
}

/* Let normal text and structured blocks reflow with the actual reader width. */
html[data-reader-width="auto"] .md p,
html[data-reader-width="auto"] .md li,
html[data-reader-width="auto"] .md blockquote,
html[data-reader-width="auto"] .md details{
  max-width:none;
}

/* In split view each pane is already its own responsive viewport; remove
   redundant outer padding so both documents get the maximum useful width. */
html[data-reader-width="auto"] body.split-mode .stage{
  padding-left:clamp(8px,.8vw,16px)!important;
  padding-right:clamp(8px,.8vw,16px)!important;
}
html[data-reader-width="auto"] body.split-mode.toc-pinned .stage{
  padding-left:calc(var(--tocw) + clamp(8px,.8vw,16px))!important;
}
html[data-reader-width="auto"] body.split-mode .reader{
  padding-left:clamp(18px,1.7vw,32px)!important;
  padding-right:clamp(18px,1.7vw,32px)!important;
}

/* Manual-width control is visibly secondary while auto-fit is active. */
#setWidthV28:disabled{opacity:.42;cursor:not-allowed}

@media(max-width:900px){
  html[data-reader-width="auto"] .stage{padding-left:8px;padding-right:8px}
  html[data-reader-width="auto"] body.toc-pinned .stage{padding-left:8px}
  html[data-reader-width="auto"] .reader{padding-left:18px;padding-right:18px;border-radius:10px}
  .table-card.table-adaptive-wide-v37{width:100%!important}
}




/* v38: PDF export uses a dedicated paper palette, independent of app theme. */
@media print{
  body.pdf-exporting-v36{
    color-scheme:light!important;
    --bg:#ffffff!important;
    --surface:#ffffff!important;
    --surface-2:#f3f6fa!important;
    --text:#172033!important;
    --muted:#5f6b7c!important;
    --border:#cfd6e2!important;
    --accent:#174ea6!important;
    --accent-soft:#eef4ff!important;
    --code:#f6f8fb!important;
    --code-text:#111827!important;
    --mark:transparent!important;
    --mark-active:transparent!important;
    background:#fff!important;
    color:#172033!important;
  }
  body.pdf-exporting-v36 #reader,
  body.pdf-exporting-v36 #out,
  body.pdf-exporting-v36 .md,
  body.pdf-exporting-v36 .md p,
  body.pdf-exporting-v36 .md li,
  body.pdf-exporting-v36 .md td,
  body.pdf-exporting-v36 .md th,
  body.pdf-exporting-v36 .md summary,
  body.pdf-exporting-v36 .md strong,
  body.pdf-exporting-v36 .md em{
    color:#172033!important;
  }
  /* Inline code is the main dark-theme print failure: make it paper-safe. */
  body.pdf-exporting-v36 .md code{
    color:#172033!important;
    background:#eef2f7!important;
    border:1px solid #cbd5e1!important;
    box-shadow:none!important;
    text-shadow:none!important;
  }
  body.pdf-exporting-v36 .md pre,
  body.pdf-exporting-v36 .code-card,
  body.pdf-exporting-v36 .code-full-pre{
    background:#f7f9fc!important;
    color:#111827!important;
    border-color:#cfd6e2!important;
  }
  body.pdf-exporting-v36 .code-toolbar{
    background:#eef2f7!important;
    color:#475467!important;
    border-color:#cfd6e2!important;
  }
  body.pdf-exporting-v36 .code-lang{color:#475467!important}
  body.pdf-exporting-v36 .md pre code,
  body.pdf-exporting-v36 .md pre code *,
  body.pdf-exporting-v36 .code-full-pre,
  body.pdf-exporting-v36 .code-full-pre *{
    color:#111827!important;
    background:transparent!important;
    border:0!important;
    box-shadow:none!important;
    text-shadow:none!important;
  }
  body.pdf-exporting-v36 .tok-key,
  body.pdf-exporting-v36 .tok-str,
  body.pdf-exporting-v36 .tok-num,
  body.pdf-exporting-v36 .tok-comment,
  body.pdf-exporting-v36 .tok-bool{
    color:#111827!important;
  }
  body.pdf-exporting-v36 .code-line::before{color:#667085!important}
  body.pdf-exporting-v36 .code-collapsed pre::after{display:none!important}

  body.pdf-exporting-v36 .table-card,
  body.pdf-exporting-v36 .table-scroll,
  body.pdf-exporting-v36 .md table,
  body.pdf-exporting-v36 .md tbody,
  body.pdf-exporting-v36 .md tr,
  body.pdf-exporting-v36 .md td{
    background:#fff!important;
  }
  body.pdf-exporting-v36 .md th{
    background:#eef2f7!important;
    color:#172033!important;
  }
  body.pdf-exporting-v36 .md th,
  body.pdf-exporting-v36 .md td{
    border-color:#cfd6e2!important;
  }
  body.pdf-exporting-v36 .md details,
  body.pdf-exporting-v36 .details-body{background:#fff!important;color:#172033!important}
  body.pdf-exporting-v36 .md details>summary{background:#f4f7fb!important;color:#172033!important}
  body.pdf-exporting-v36 .md blockquote{background:#f8fafc!important;color:#344054!important}
  body.pdf-exporting-v36 mark[data-search],
  body.pdf-exporting-v36 mark[data-search].active{
    color:inherit!important;background:transparent!important;outline:0!important;box-shadow:none!important
  }
  body.pdf-exporting-v36 ::selection{background:transparent!important;color:inherit!important}
}


/* ===== v40 professional first-run privacy onboarding ===== */
.first-run-privacy-v39{
  z-index:3200!important;
  padding:24px!important;
  align-items:center!important;
  background:rgba(8,12,20,.62)!important;
  backdrop-filter:blur(18px) saturate(.92)!important;
}
.first-run-privacy-dialog-v39{
  width:min(760px,calc(100vw - 32px))!important;
  max-height:min(760px,calc(100vh - 32px))!important;
  border:1px solid color-mix(in srgb,var(--border) 82%,transparent)!important;
  border-radius:20px!important;
  background:var(--surface)!important;
  box-shadow:0 34px 120px rgba(0,0,0,.34)!important;
  overflow:hidden!important;
}
.first-run-privacy-head-v39{
  padding:24px 26px 20px!important;
  text-align:left!important;
  border-bottom:1px solid var(--border);
  background:linear-gradient(180deg,color-mix(in srgb,var(--accent) 4%,var(--surface)),var(--surface));
}
.first-run-brandline-v40{display:flex;align-items:flex-start;gap:14px}
.first-run-privacy-logo-v39{
  width:44px;height:44px;flex:0 0 44px;margin:0!important;
  display:grid;place-items:center;border-radius:12px;
  background:linear-gradient(145deg,#2f6feb,#6b7cff);color:#fff;
  font-weight:850;font-size:13px;letter-spacing:.02em;
  box-shadow:0 8px 22px color-mix(in srgb,var(--accent) 24%,transparent)
}
.first-run-head-copy-v40{min-width:0;flex:1}
.first-run-eyebrow-v40{
  display:inline-flex;align-items:center;height:22px;padding:0 8px;margin-bottom:7px;
  border:1px solid color-mix(in srgb,var(--accent) 22%,var(--border));border-radius:999px;
  background:color-mix(in srgb,var(--accent) 7%,var(--surface));color:var(--accent);
  font-size:9px;font-weight:800;letter-spacing:.08em;text-transform:uppercase
}
.first-run-privacy-head-v39 h2{
  margin:0!important;font-size:21px!important;line-height:1.2!important;
  letter-spacing:-.03em!important;color:var(--text)!important
}
.first-run-privacy-head-v39 p{
  max-width:590px!important;margin:7px 0 0!important;color:var(--muted)!important;
  font-size:11.5px!important;line-height:1.55!important
}
.first-run-trust-v40{
  display:flex;align-items:center;gap:8px;margin-top:14px;padding:9px 11px;
  border:1px solid var(--border);border-radius:10px;background:var(--surface-2);
  color:var(--muted);font-size:10.5px;line-height:1.35
}
.first-run-trust-dot-v40{width:7px;height:7px;flex:0 0 7px;border-radius:50%;background:#22a06b;box-shadow:0 0 0 3px rgba(34,160,107,.11)}
.first-run-trust-v40 strong{color:var(--text);font-weight:720}
.first-run-privacy-body-v39{padding:20px 26px 6px!important}
.first-run-section-label-v40{margin:0 0 9px;color:var(--muted);font-size:10px;font-weight:780;letter-spacing:.055em;text-transform:uppercase}
.first-run-choice-grid-v39{display:grid!important;grid-template-columns:1fr!important;gap:10px!important}
.first-run-choice-v39{
  position:relative;min-height:0!important;display:grid!important;
  grid-template-columns:22px minmax(0,1fr) auto;align-items:center;column-gap:13px;
  padding:15px 16px!important;border:1px solid var(--border)!important;border-radius:13px!important;
  appearance:none!important;-webkit-appearance:none!important;background-color:var(--surface)!important;background-image:none!important;color:var(--text)!important;text-align:left!important;cursor:pointer;
  transition:border-color .14s ease,background .14s ease,box-shadow .14s ease,transform .14s ease!important
}
.first-run-choice-v39:hover{border-color:color-mix(in srgb,var(--accent) 34%,var(--border))!important;background:color-mix(in srgb,var(--accent) 2.5%,var(--surface))!important;transform:none!important}
.first-run-choice-v39:focus-visible{outline:none!important;border-color:var(--accent)!important;box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 13%,transparent)!important}
.first-run-choice-v39.selected{
  border-color:var(--accent)!important;
  background:color-mix(in srgb,var(--accent) 5%,var(--surface))!important;
  box-shadow:0 0 0 2px color-mix(in srgb,var(--accent) 11%,transparent)!important
}
.first-run-radio-v39{
  width:18px;height:18px;position:relative;flex:0 0 18px;border:1.5px solid var(--border-strong,var(--border));
  border-radius:50%;background:var(--surface);grid-column:1;grid-row:1 / span 2
}
.first-run-choice-v39.selected .first-run-radio-v39{border-color:var(--accent)!important}
.first-run-choice-v39.selected .first-run-radio-v39::after{content:"";position:absolute;inset:4px;border-radius:50%;background:var(--accent)}
.first-run-choice-content-v40{grid-column:2;min-width:0}
.first-run-choice-top-v39{display:flex!important;align-items:center!important;gap:8px!important;min-width:0}
.first-run-choice-v39 strong{font-size:12.5px!important;color:var(--text)!important;font-weight:760!important}
.first-run-choice-sub-v40{margin-top:4px;color:var(--muted);font-size:10.5px;line-height:1.45}
.first-run-choice-meta-v40{display:flex;flex-wrap:wrap;gap:6px 10px;margin-top:8px;color:var(--muted);font-size:9.5px}
.first-run-choice-meta-v40 span{display:inline-flex;align-items:center;gap:5px}
.first-run-choice-meta-v40 span::before{content:"";width:4px;height:4px;border-radius:50%;background:color-mix(in srgb,var(--muted) 65%,transparent)}
.first-run-choice-badge-v39{
  grid-column:3;grid-row:1 / span 2;align-self:center;margin:0!important;padding:5px 8px!important;
  border-radius:999px;border:1px solid var(--border);background:var(--surface-2);
  font-size:8.5px!important;font-weight:800!important;letter-spacing:.04em!important;text-transform:uppercase;
  white-space:nowrap;color:var(--muted)!important
}
.first-run-choice-v39.selected .first-run-choice-badge-v39{border-color:color-mix(in srgb,var(--accent) 28%,var(--border));background:color-mix(in srgb,var(--accent) 8%,var(--surface));color:var(--accent)!important}
.first-run-privacy-note-v39{
  display:flex!important;align-items:flex-start!important;gap:8px!important;margin:12px 0 0!important;padding:0!important;
  border:0!important;background:transparent!important;color:var(--muted)!important;font-size:9.5px!important;line-height:1.45!important
}
.first-run-privacy-note-v39 strong{color:var(--text)!important;font-weight:680}
.first-run-note-icon-v40{width:16px;height:16px;flex:0 0 16px;display:grid;place-items:center;border-radius:50%;background:var(--surface-2);border:1px solid var(--border);font-size:9px;color:var(--muted)}
.first-run-privacy-footer-v39{
  display:flex!important;align-items:center!important;justify-content:space-between!important;gap:18px!important;
  padding:16px 26px 22px!important;border-top:1px solid var(--border);
  background:color-mix(in srgb,var(--surface) 97%,var(--surface-2))
}
.first-run-footer-copy-v40{font-size:9.5px!important;line-height:1.45!important;color:var(--muted)!important;max-width:470px}
.first-run-continue-v39{
  height:38px!important;min-width:126px!important;padding:0 18px!important;border-radius:10px!important;
  font-size:11px!important;font-weight:760!important;box-shadow:0 7px 20px color-mix(in srgb,var(--accent) 22%,transparent)!important
}
.first-run-continue-v39:disabled{opacity:.42!important;cursor:not-allowed!important;box-shadow:none!important}
body.first-run-privacy-lock-v39{overflow:hidden!important}
html[data-theme="dark"] .first-run-choice-v39{background:#111823!important;border-color:#314057!important;color:#edf2f9!important}
html[data-theme="dark"] .first-run-choice-v39:hover{background:#141d29!important;border-color:#466080!important}
html[data-theme="dark"] .first-run-choice-v39.selected{background:#14213a!important;border-color:#79a3ff!important;box-shadow:0 0 0 2px rgba(121,163,255,.16)!important}
html[data-theme="dark"] .first-run-radio-v39{background:#111823!important;border-color:#465771!important}
html[data-theme="dark"] .first-run-choice-badge-v39{background:#161f2c!important;border-color:#314057!important;color:#9eacc0!important}
html[data-theme="dark"] .first-run-choice-v39.selected .first-run-choice-badge-v39{background:#172642!important;border-color:#365581!important;color:#8fb4ff!important}

@media(max-width:680px){
  .first-run-privacy-v39{padding:10px!important}
  .first-run-privacy-dialog-v39{width:min(100%,520px)!important;max-height:calc(100vh - 20px)!important;border-radius:16px!important}
  .first-run-privacy-head-v39{padding:18px 17px 15px!important}
  .first-run-brandline-v40{gap:11px}
  .first-run-privacy-logo-v39{width:38px;height:38px;flex-basis:38px;border-radius:10px}
  .first-run-privacy-head-v39 h2{font-size:18px!important}
  .first-run-trust-v40{margin-top:11px}
  .first-run-privacy-body-v39{padding:15px 17px 4px!important}
  .first-run-choice-v39{grid-template-columns:20px minmax(0,1fr)!important;padding:13px!important}
  .first-run-choice-badge-v39{grid-column:2!important;grid-row:3!important;justify-self:start;margin-top:8px!important}
  .first-run-radio-v39{grid-row:1 / span 3!important}
  .first-run-privacy-footer-v39{padding:14px 17px 17px!important;align-items:stretch!important;flex-direction:column!important;gap:10px!important}
  .first-run-continue-v39{width:100%!important}
}


/* Deployment policy: data-allow-remember="false" removes persistent storage options */
html[data-allow-remember="false"] #privacyRememberV31,
html[data-allow-remember="false"] #firstRunRememberV39{display:none!important}

/* Remote images are shown as links unless data-remote-images="allow" */
.md a.remote-image-link{display:inline-flex;align-items:center;gap:.35em;padding:.15em .55em;border:1px dashed currentColor;border-radius:6px;font-size:.92em;text-decoration:none;opacity:.85}
.md a.remote-image-link:hover{opacity:1}

/* Compact header: show a menu icon instead of a lone chevron, and keep the logo badge */
@media(max-width:840px){
  .app-menu-button .app-menu-chevron{display:none}
  .app-menu-button::before{content:"\2630";font-size:18px;line-height:1}
}
@media(max-width:980px){
  .appbar .brand{display:flex!important;min-width:auto!important}
  .appbar .brand-copy{display:none}
}

/* First-run storage dialog must fit short/mobile screens: header and Continue stay
   visible, the choices scroll. dvh excludes the mobile browser's address bar. */
.first-run-privacy-v39.open{align-items:center!important;padding:max(10px,env(safe-area-inset-top)) 10px max(10px,env(safe-area-inset-bottom))!important}
.first-run-privacy-dialog-v39{max-height:calc(100vh - 20px)!important;max-height:calc(100dvh - 20px)!important}
.first-run-privacy-head-v39,.first-run-privacy-footer-v39{flex:0 0 auto}
.first-run-privacy-body-v39{flex:1 1 auto;min-height:0;overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch}
@media(max-height:620px){
  /* Very short screens: let the whole dialog scroll instead of squeezing the choices. */
  .first-run-privacy-dialog-v39{overflow-y:auto!important}
  .first-run-privacy-body-v39{flex:0 0 auto;overflow:visible}
}

/* Dialogs with a pinned footer: the body scrolls so the action buttons stay reachable. */
.privacy-head-v34,.privacy-footer-v34,.pdf-export-actions-v36{flex:0 0 auto}
.privacy-body-v34,.pdf-export-body-v36{flex:1 1 auto;min-height:0;overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch}
/* Phones and short windows: use the real visible height (dvh excludes browser bars). */
@media(max-width:760px),(max-height:700px){
  .pro-modal{padding:10px!important}
  .pro-dialog{max-height:calc(100vh - 20px)!important;max-height:calc(100dvh - 20px)!important}
}

/* Main menu scrolls instead of running off short or mobile screens. */
.app-menu-dropdown{max-height:calc(100vh - 64px);max-height:calc(100dvh - 64px);overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch}
