/* Shared presentation only. No account, library, document or market state. */
html:root:root{
  --neutral-bg:#181818;--neutral-sidebar:#121212;--neutral-surface:#202020;
  --neutral-input:#262626;--neutral-hover:#2c2c2c;--neutral-border:#333333;
  --neutral-text:#ececec;--neutral-muted:#a3a3a3;--neutral-primary:#f4f4f4;
  --neutral-on-primary:#171717;--neutral-focus:#bcb1ee;--neutral-brand:#a99bd8;
  --neutral-success:#a5d6b0;--neutral-warning:#dfc18b;--neutral-danger:#f0a9a0;
  --bg:var(--neutral-bg);--surface:var(--neutral-surface);--surface-2:var(--neutral-input);
  --white:var(--neutral-surface);--ink:var(--neutral-text);--ink-2:var(--neutral-text);
  --muted:var(--neutral-muted);--muted-2:var(--neutral-muted);--border:var(--neutral-border);
  --accent:var(--neutral-primary);--accent-h:#fff;--accent-hover:#fff;--accent-dark:var(--neutral-text);
  --accent-soft:var(--neutral-hover);--accent-pale:var(--neutral-hover);
  --accent-border:var(--neutral-border);--accent-b:var(--neutral-border);
  --sidebar-bg:var(--neutral-sidebar);--admin-navy:var(--neutral-sidebar);
  --ok:var(--neutral-success);--ok-bg:rgba(165,214,176,.09);
  --success:var(--neutral-success);--success-soft:var(--ok-bg);
  --warn:var(--neutral-warning);--warning:var(--neutral-warning);--warn-bg:rgba(223,193,139,.09);--warning-soft:var(--warn-bg);
  --danger:var(--neutral-danger);--danger-bg:rgba(240,169,160,.09);--dup:var(--neutral-warning);--dup-bg:var(--warn-bg);
  --shadow:none;--shadow-sm:none;--shadow-lg:0 12px 32px rgba(0,0,0,.22);
  --cm-int-bg:var(--neutral-bg);--cm-int-surface:var(--neutral-surface);
  --cm-int-surface-raised:var(--neutral-input);--cm-int-surface-selected:var(--neutral-hover);
  --cm-int-text:var(--neutral-text);--cm-int-text-subtle:var(--neutral-text);--cm-int-text-muted:var(--neutral-muted);
  --cm-int-divider:var(--neutral-border);--cm-int-divider-strong:#737373;
  --cm-int-accent:var(--neutral-primary);--cm-int-accent-hover:var(--neutral-text);
  --cm-int-accent-soft:var(--neutral-hover);--cm-int-accent-ink:var(--neutral-text);
  --cm-int-success:var(--neutral-success);--cm-int-danger:var(--neutral-danger);--cm-int-warning:var(--neutral-warning);
  --cm-int-shadow:var(--shadow-lg);
  --account-bg:var(--neutral-bg);--account-surface:var(--neutral-surface);--account-surface-2:var(--neutral-input);
  --account-border:var(--neutral-border);--account-text:var(--neutral-text);--account-muted:var(--neutral-muted);
  --account-accent:var(--neutral-text);--account-accent-strong:#8a8a8a;--account-accent-soft:var(--neutral-hover);
  --account-success:var(--neutral-success);--account-warn:var(--neutral-warning);--account-danger:var(--neutral-danger);--account-track:#363636;
  --dashboard-bg:var(--neutral-bg);--dashboard-surface:var(--neutral-surface);--dashboard-surface-2:var(--neutral-input);
  --dashboard-border:var(--neutral-border);--dashboard-text:var(--neutral-text);--dashboard-text-2:var(--neutral-text);
  --dashboard-muted:var(--neutral-muted);--dashboard-accent:#c4c4c4;--dashboard-accent-strong:#a3a3a3;
  --dashboard-warn:var(--neutral-warning);--dashboard-neutral:#a3a3a3;--dashboard-neutral-dark:#686868;--dashboard-track:#363636;
  color-scheme:dark;background:var(--neutral-bg);
}
html:root:root body{background:var(--neutral-bg);color:var(--neutral-text);font-family:"Segoe UI",system-ui,-apple-system,"Microsoft YaHei",sans-serif;font-size:15px;line-height:1.6}
html:root:root ::selection{background:#4d4a56;color:var(--neutral-text)}
html:root:root :focus-visible{outline:2px solid var(--neutral-focus);outline-offset:3px}

/* Older page-specific sidebar selectors have higher specificity, including IDs. */
html:root :is(.cm-shell-sidebar,.cm-shell-mobile-appbar){background:var(--neutral-sidebar)!important;color:var(--neutral-text)!important;border-color:var(--neutral-border)!important;box-shadow:none!important}
html:root :is(.cm-shell-logo-row,.cm-shell-footer){border-color:var(--neutral-border)!important}
html:root :is(.cm-shell-logo-name,.cm-shell-username){color:var(--neutral-text)!important}
html:root :is(.cm-shell-plan,.cm-shell-compliance,.cm-shell-nav-section-label){color:var(--neutral-muted)!important}
html:root .cm-shell-nav-item{color:var(--neutral-muted)!important}
html:root .cm-shell-nav-item:hover,html:root .cm-shell-nav-item.active{background:var(--neutral-hover)!important;color:var(--neutral-text)!important;box-shadow:none!important}
html:root .cm-shell-nav-item.active svg{color:var(--neutral-text)!important}
/* One navigation type scale across pages and both workspace languages. */
html:root .cm-shell-sidebar,html:root .cm-shell-mobile-brand{font-family:inherit!important}
html:root .cm-shell-logo{padding:20px 24px 16px!important;gap:10px!important}
html:root .cm-shell-nav{padding:12px!important;gap:20px!important}
html:root .cm-shell-nav-section{padding:0!important;gap:2px}
html:root .cm-shell-nav-section-label{margin:0 12px 6px;font-size:11px;font-weight:500;line-height:1.4;letter-spacing:.02em}
html:root .cm-shell-nav-item{font-size:14px!important;font-weight:400!important;line-height:1.5;letter-spacing:0;min-height:42px!important;padding:10px 12px!important;gap:10px!important}
html:root .cm-shell-nav-item.active{font-weight:500!important}
html:root .cm-shell-nav-item svg{width:17px!important;height:17px!important}
html:root .cm-shell-footer{padding:12px!important}
html:root .cm-shell-user{padding:10px 12px!important;gap:10px!important;margin-bottom:4px!important}
html:root .cm-shell-logo-name{font-size:16px!important;font-weight:600!important}
html:root .cm-shell-username{font-size:13px!important;font-weight:500!important}
html:root .cm-shell-plan{font-size:12px!important;font-weight:400;line-height:1.4}
html:root :is(.cm-shell-logout,.cm-feedback-sidebar-entry){font-size:13px!important;font-weight:400!important;padding:10px 12px!important}
html:root .cm-feedback-sidebar-entry{margin:0 0 8px!important}
html:root .cm-shell-logo-mark{background:var(--neutral-brand)!important;color:#1b1823!important;box-shadow:none!important}
html:root :is(.cm-shell-avatar,.int-header-avatar,.profile-avatar,.library-topbar-avatar){background:#363636!important;color:var(--neutral-text)!important;box-shadow:none!important}
html:root :is(.cm-shell-logout,.cm-feedback-sidebar-entry,.cm-shell-mobile-menu,.cm-shell-drawer-close){background:transparent!important;color:var(--neutral-muted)!important;border-color:var(--neutral-border)!important;box-shadow:none!important}
html:root :is(.cm-shell-logout,.cm-feedback-sidebar-entry):hover{background:var(--neutral-hover)!important;color:var(--neutral-text)!important}

/* Keep sizes, placement, visibility and event handlers owned by each page. */
html:root:root :is(.btn,.csg-btn,.wai-btn,.topnav-btn){box-shadow:none;border-radius:8px;font-size:14px;font-weight:500}
html:root :is(.btn-primary,.csg-btn-primary,.wai-btn-primary,.topnav-btn.primary,.cm-feedback-submit){background:var(--neutral-primary)!important;border-color:var(--neutral-primary)!important;color:var(--neutral-on-primary)!important;box-shadow:none!important}
html:root :is(.btn-primary,.csg-btn-primary,.wai-btn-primary,.topnav-btn.primary,.cm-feedback-submit):hover{background:#fff!important;border-color:#fff!important}
html:root .wai-btn-primary img{filter:grayscale(1) brightness(.25)}
html:root :is(.btn-danger,.topnav-btn.danger){background:var(--danger-bg)!important;color:var(--neutral-danger)!important;border-color:rgba(240,169,160,.35)!important}
html:root :is(.btn,.csg-btn,.wai-btn,.topnav-btn,.cm-feedback-submit):disabled{opacity:.45;cursor:not-allowed}
html:root :is(.btn-secondary,.btn-outline,.btn-outline-accent){background:var(--neutral-input);color:var(--neutral-text);border-color:var(--neutral-border)}
html:root :is(.btn-secondary,.btn-outline,.btn-outline-accent):hover{background:var(--neutral-hover);border-color:#737373}

html:root:root :is(input,select,textarea){color-scheme:dark;accent-color:var(--neutral-focus)}
html:root :is(.cm-shell-main,.shell,.modal,.payment-modal,.cm-feedback-dialog,.csg-main) :is(input,select,textarea){background:var(--neutral-input)!important;color:var(--neutral-text)!important;border-color:var(--neutral-border)!important}
html:root :is(input,select,textarea):focus-visible{outline:2px solid var(--neutral-focus)!important;outline-offset:2px;border-color:var(--neutral-focus)!important;box-shadow:none!important}
html:root:root :is(input,textarea)::placeholder{color:var(--neutral-muted)!important;opacity:1}

html:root :is(.modal,.payment-modal,.cm-feedback-dialog,.csg-dialog){background:var(--neutral-surface)!important;color:var(--neutral-text)!important;border-color:var(--neutral-border)!important;box-shadow:var(--shadow-lg)!important}
html:root :is(.modal-overlay,.payment-modal-backdrop,.cm-feedback-overlay){background:rgba(0,0,0,.65);backdrop-filter:none}
html:root :is(.cm-feedback-note,.cm-feedback-close){background:var(--neutral-input)!important;color:var(--neutral-text)!important;border-color:var(--neutral-border)!important}
html:root .cm-feedback-form label{color:var(--neutral-text)}
html:root .cm-feedback-status{color:var(--neutral-muted)}
html:root .cm-feedback-status.ok{color:var(--neutral-success)}
html:root .cm-feedback-status.err{color:var(--neutral-danger)}

html:root:root #lib-count-badge{color:var(--neutral-text)!important}
html:root:root .lib-card.selected{background:var(--neutral-hover);border-color:#8a8a8a;box-shadow:none}
html:root:root .lib-card:hover{background:var(--neutral-hover);border-color:#737373}
html:root:root :is(.row-icon-btn,.lib-icon-btn){background:var(--neutral-input);color:var(--neutral-muted);border-color:var(--neutral-border)}
html:root:root :is(.row-icon-btn,.lib-icon-btn):hover{background:var(--neutral-hover);color:var(--neutral-text);border-color:#737373}
html:root:root :is(.row-icon-btn,.lib-icon-btn).danger:hover{background:var(--danger-bg);color:var(--neutral-danger);border-color:var(--neutral-danger)}
html:root:root .workflow-step.done .workflow-step-index{background:#525252!important;color:var(--neutral-text)!important;border-color:#8a8a8a}
html:root:root .workflow-step-state{background:var(--neutral-hover)!important;color:var(--neutral-text)!important}
html:root:root .workflow-step.warn .workflow-step-state{background:var(--warn-bg)!important;color:var(--neutral-warning)!important}
html:root:root .status-badge.ok{background:var(--ok-bg);color:var(--neutral-success)}
html:root:root :is(.status-badge.dup,.status-badge.err){background:var(--warn-bg);color:var(--neutral-warning)}
html:root:root :is(.csg-tag,.csg-save-btn.saved){background:#363636;color:var(--neutral-text)}
html:root:root .plan-badge{border-color:var(--neutral-border)}
html:root:root .create-library-method:hover,html:root:root .create-library-method:focus-visible{background:var(--neutral-hover)!important;border-color:#8a8a8a!important;box-shadow:none}
html:root:root :is(.create-library-method-icon,.create-library-plan){background:var(--neutral-hover);color:var(--neutral-text);border-color:var(--neutral-border)}
html:root:root :is(.topnav-logo,.access-logo){background:var(--neutral-brand);color:#1b1823;box-shadow:none}
html:root:root .shell .choice-examples b.preferred-source{background:var(--neutral-primary);color:var(--neutral-on-primary)}
html:root:root :is(.access-action,.route-actions [data-guide],.guide-start a,.step-link,.next-step,.back-to-sources){background:var(--neutral-primary);color:var(--neutral-on-primary);border-color:var(--neutral-primary);box-shadow:none}
html:root:root :is(span.step,.step-num),html:root:root .route-card.recommended::before{background:var(--neutral-primary);color:var(--neutral-on-primary)}

html:root :is(.style-saved-card.selected,.style-row.selected,.csg-my-card.selected,.csg-catalog-row.selected,.comparison-card.current,.purchase-card.selected){background:var(--neutral-hover)!important;border-color:#8a8a8a!important;box-shadow:none!important}
html:root :is(.tag,.csg-tag,.plan-badge,.quota-icon){background:var(--neutral-hover);color:var(--neutral-text);border-color:var(--neutral-border)}
html:root :is(#citation-styles-workbench .tag,.cn-account-editor summary,#word-web-onboarding summary,.hero .badge,.download-meta code,.steps code){color:var(--neutral-text)!important}
html:root :is(.pagination .active,.page-btn.active,.tab.active,.step-list button.active){background:var(--neutral-hover)!important;color:var(--neutral-text)!important;border-color:#8a8a8a!important}
html:root .comparison-card.current{border-color:#8a8a8a}
html:root :is(.entitlement-status.active,.badge.ok){color:var(--neutral-success);background:var(--ok-bg)}
html:root :is(.toast,.app-toast){background:var(--neutral-surface);color:var(--neutral-text);border-color:var(--neutral-border);box-shadow:var(--shadow-lg)}
/* Quiet surfaces carry information; borders are reserved for controls and selection. */
html:root:root :is(.int-stat-card,.int-insights-card,.account-plan-card,.profile-invite,.quota-card,.plugin-card,.plugin-panel){border-color:transparent;box-shadow:none}
html:root:root :is(.int-dashboard-header,.cm-shell-logo-row,.cm-shell-footer){border-color:transparent!important}
html:root:root .int-welcome h1{font-weight:550}
html:root:root .int-card-kicker{color:var(--neutral-muted);font-weight:500;letter-spacing:.04em}
/* Colour belongs to the data, while the workspace surfaces stay neutral. */
html:root:root #international-dashboard{
  --dashboard-accent:#b5abfc;--dashboard-accent-strong:#968ae0;
  --dashboard-library:#8fd0b1;--dashboard-reference:#8db7e8;
  --dashboard-neutral:var(--dashboard-reference);--dashboard-neutral-dark:#595d6c;
}
html:root:root .int-recommendation-card .int-stat-value{color:var(--dashboard-accent)}
html:root:root #int-library-count{color:var(--dashboard-library)}
html:root:root .int-library-readiness{--dashboard-accent:var(--dashboard-library)}
html:root:root #int-reference-count{color:var(--dashboard-reference)}
html:root:root .int-stat-value.attention{color:var(--dashboard-warn)}
html:root:root #account-dashboard #refresh-btn{background:transparent!important;color:var(--neutral-muted)!important;border-color:transparent!important}
html:root:root #account-dashboard #refresh-btn:hover{background:var(--neutral-hover)!important;color:var(--neutral-text)!important}
/* Mainland correction only: keep the approved international palette unchanged. */
html:root:root[lang="zh-CN"]:not([data-market="international"]){
  --neutral-bg:#121212;--neutral-surface:#171717;--neutral-input:#1c1c1c;
  --neutral-hover:#242424;--neutral-border:#2b2b2b;
  --account-track:#2b2b2b;--dashboard-track:#2b2b2b;
}
/* Avoid a grey panel around another grey panel on the account page. */
html:root:root[lang="zh-CN"]:not([data-market="international"]) #account-dashboard :is(.account-plan-card,.membership-panel,.plan-comparison){
  background:transparent;border-color:transparent;box-shadow:none;
}
html:root:root[lang="zh-CN"]:not([data-market="international"]) #account-dashboard :is(.quota-card,.comparison-card){
  background:var(--neutral-surface);
}
/* Footer stays in the page's own scrolling content, never above its controls. */
html:root .cm-shell-site-footer{display:flex;flex-wrap:wrap;align-items:baseline;gap:6px 20px;flex:0 0 auto;max-width:100%;margin:24px 0 0;padding:16px 0 0;border-top:1px solid var(--neutral-border);background:transparent;color:var(--neutral-muted);font-family:inherit;font-size:12px;font-weight:400;line-height:1.6;overflow-wrap:anywhere}
@media(max-width:720px){html:root .cm-shell-nav-item{min-height:44px!important}html:root .cm-shell-site-footer{flex-direction:column;align-items:flex-start;gap:6px}}
@media(prefers-reduced-motion:reduce){html:root :is(.btn,.csg-btn,.wai-btn,.cm-shell-nav-item){transition:none}}
