
    html, body { overflow-x:hidden; }
    :root{ --link:#f2c14e; --link-hover:#ffe29a; --panel:rgba(255,255,255,0.06); --panel-border:rgba(255,255,255,0.10); --focus:#ffffff; }
    a{ color:var(--link); }
    a:hover{ color:var(--link-hover); }
    a:focus-visible{ outline:3px solid var(--focus); outline-offset:3px; border-radius:6px; }

    @media (max-width: 979px){
      header nav#menu{ display:none; width:100%; margin-top:10px; background:rgba(0,0,0,.22); border:1px solid var(--panel-border); border-radius:14px; padding:10px; }
      header.menu-open nav#menu{ display:flex; flex-direction:column; gap:6px; }
      header nav#menu a{ padding:10px 10px; border-radius:10px; }
    }
    @media (min-width: 980px){
      header .header-container{ flex-wrap:wrap; gap:12px 18px; }
      header .header-container nav{ display:flex; flex-wrap:wrap; gap:10px 14px; justify-content:flex-end; }
      header .header-container nav a{ white-space:nowrap; line-height:1.15; }
    }

    .breadcrumbs{ font-size:.95rem; opacity:.9; margin: 12px 0 0; }
    .breadcrumbs a{ text-decoration: underline; }
    .toc{ background: var(--panel); border:1px solid var(--panel-border); border-radius:14px; padding:16px 18px; margin: 18px 0 0; }
    .toc a{ text-decoration: underline; }
    .toc ul{ margin:10px 0 0 18px; }

    .notice{ background: var(--panel); border:1px solid var(--panel-border); border-radius:14px; padding:14px 16px; margin-top: 16px; }
    .notice strong{ display:block; margin-bottom:6px; }

    .wa-float{ position:fixed; right:18px; bottom:18px; width:56px; height:56px; border-radius:999px; display:flex; align-items:center; justify-content:center; z-index:9999; text-decoration:none; background:#25D366; box-shadow:0 10px 22px rgba(0,0,0,.18); transition:transform .18s ease, box-shadow .18s ease; }
    .wa-float:hover{ transform:translateY(-2px); box-shadow:0 14px 26px rgba(0,0,0,.22); }
    .wa-float svg{ width:28px; height:28px; fill:#fff; }
  