:root{
  --v8-brand:#176d52;
  --v8-brand-dark:#0f513d;
  --v8-brand-soft:#edf7f2;
  --v8-text:#17211d;
  --v8-text-muted:#64748b;
  --v8-surface:#ffffff;
  --v8-background:#f5f7f5;
  --v8-border:#dbe5df;
  --v8-danger:#b42318;
  --v8-warning:#b45309;
  --v8-success:#166534;
  --v8-radius-sm:8px;
  --v8-radius-md:12px;
  --v8-radius-lg:18px;
  --v8-shadow:0 8px 24px rgba(23,109,82,.09);
  --v8-focus:0 0 0 3px rgba(23,109,82,.2);
}
button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{
  outline:2px solid var(--v8-brand);outline-offset:2px;box-shadow:var(--v8-focus)
}
/* 全站交互态与深色表面可读性底线。 */
[data-page].active,[data-tab].active,[data-nav].active,[aria-current="page"],[aria-selected="true"]{font-weight:700}
.v8-dark-surface,.v8-dark-surface>*,[data-v8-surface="dark"],[data-v8-surface="dark"]>*{color:#fff}
/* 新页面必须显式声明表面语义，避免依赖祖先颜色造成白底白字。 */
[data-v8-surface="light"]{background:var(--v8-surface);color:var(--v8-text)}
[data-v8-surface="dark"],.v8-dark-surface{background-color:var(--v8-brand-dark);color:#fff}
.v8-one-line-action{white-space:nowrap;word-break:keep-all;overflow-wrap:normal}
