/* Accessibility toolbox (batch 2) — dark overlay, high contrast, zoom-safe. */
#gp-toolbar[data-lang]{ position: fixed; z-index: 2147483000; right: 12px; top: 12px;
  background: #fff; border: 1px solid #06182b; border-radius: 10px; box-shadow: 0 6px 22px rgba(0,0,0,.18);
  padding: 6px; display: flex; gap: 4px; font-family: inherit; font-size: 14px; line-height: 1; }
#gp-toolbar button{ border: 0; background: #eef2f6; color: #06182b; border-radius: 7px; min-width: 34px;
  height: 32px; cursor: pointer; font: inherit; font-weight: 700; padding: 0 6px; }
#gp-toolbar button:hover, #gp-toolbar button:focus-visible{ background: #06182b; color: #fff; outline: 2px solid #ffb300; }
#gp-toolbar .gp-tb-contrast{ font-size: 11px; letter-spacing: .2px; }
#gp-toolbar .gp-tb-sep{ width: 1px; background: #c6d0da; margin: 2px 2px; }
/* Mobile: 顶栏与右上角汉堡菜单重叠会拦截触摸，把无障碍工具栏移到左下（不遮挡导航/下拉/客服 FAB） */
@media (max-width: 640px){
  #gp-toolbar[data-lang]{ right: auto; left: 12px; bottom: 12px; top: auto; max-width: calc(100vw - 24px); }
}

body.gp-bigtext{ font-size: 1.15rem !important; }
body.gp-bigtext p, body.gp-bigtext li{ line-height: 1.6 !important; }
body.gp-bigtext h1{ font-size: 2.1rem !important; }
body.gp-bigtext h2{ font-size: 1.7rem !important; }
body.gp-bigtext h3{ font-size: 1.35rem !important; }

body.gp-contrast{ filter: contrast(1.15) saturate(1.25); }
body.gp-contrast *{ text-shadow: none !important; }
/* high-contrast ink-on-paper interpretation */
body.gp-contrast{ background: #f6f3e9 !important; color: #111 !important; }

body.gp-zoom200{ zoom: 2; }
/* guard: avoid layout-shattering horizontal overflow when page is zoomed */
body.gp-zoom200, body.gp-bigtext{ overflow-x: hidden; }
body.gp-zoom200 #gp-toolbar, body.gp-zoom200 #gp-chat-fab, body.gp-zoom200 #gp-chat-root{
  /* fixed UI stays at normal size & stays reachable; avoids blowing up fixed widgets */
  zoom: 0.5; }
/* 200% zoom: force fluid, no horizontal overflow from fixed toolbars */
@media (max-width: 720px){
  body.gp-zoom200 #gp-toolbar, body.gp-zoom200 #gp-chat-fab, body.gp-zoom200 #gp-chat-root{ transform: scale(1.28); transform-origin: bottom right; }
}
/* respect OS reduced-motion */
@media (prefers-reduced-motion: reduce){
  *{ animation: none !important; transition: none !important; scroll-behavior: auto !important; }
  #gp-chat-root *, #gp-chat-root{ transition: none !important; }
}
#gp-skip-link{ position: absolute; left: -9999px; top: -9999px; }
#gp-skip-link:focus{ left: 8px; top: 8px; position: fixed; z-index: 2147483999; background:#06182b; color:#fff; padding:10px 14px; }