/* ==========================================================================
   4Search — help.css
   The Help Center (/help/...). Every class is hp-; the colours run through the
   --hp-* tokens, so the colour modes of app.css section 14 need only the token
   block at the end: hybrid and light share the base (light content), dark
   restates the tokens. The screenshots are always shown as captured.
   ========================================================================== */

/* ------------------------------------------------------------------ tokens */
.hp-page{
  --hp-ink:#0f1720;
  --hp-ink-2:#364152;
  --hp-ink-3:#637083;
  --hp-ink-4:#647083;
  --hp-line:#e1e7ef;
  --hp-line-2:#edf1f6;
  --hp-surface:#ffffff;
  --hp-surface-2:#f5f8fc;
  --hp-surface-3:#ebf1f8;
  --hp-page:#f1f5fa;
  --hp-accent:#1766c9;
  --hp-accent-ink:#0b4a96;
  --hp-accent-soft:#e7f0fd;
  --hp-ok:#0f766e;
  --hp-ok-soft:#e3f6f3;
  --hp-ok-line:#9ddfd5;
  --hp-tip:#1d4ed8;
  --hp-tip-soft:#e8efff;
  --hp-tip-line:#b8caf8;
  --hp-note:#475569;
  --hp-note-soft:#eef2f7;
  --hp-note-line:#cfd8e3;
  --hp-warn:#b45309;
  --hp-warn-soft:#fff4e2;
  --hp-warn-line:#f0cf9a;
  --hp-priv:#6d28d9;
  --hp-priv-soft:#f2ebfe;
  --hp-priv-line:#d3bdf6;
  --hp-pin:#d92d20;
  --hp-pin-line:#e8a800;
  --hp-code-bg:#eef2f7;
  --hp-radius:14px;
  --hp-radius-sm:10px;
  --hp-shadow:0 1px 2px rgba(16,24,40,.04), 0 2px 8px rgba(16,24,40,.05);
  --hp-shadow-up:0 2px 4px rgba(16,24,40,.06), 0 10px 24px rgba(16,24,40,.10);
}

/* -------------------------------------------------------------------- page */
.hp-main{ background:var(--hp-page); flex:1; color:var(--hp-ink); }
.hp-main:focus{ outline:none; }
.hp-wrap{ max-width:1240px; margin:0 auto; padding:0 20px; }
.hp-narrow{ max-width:760px; padding-top:40px; padding-bottom:60px; }
.hp-narrow-l{ max-width:820px; }
.hp-skip{ position:absolute; left:-9999px; top:8px; z-index:2000; background:#fff; color:#0b4a96; padding:10px 14px; border-radius:8px; font-weight:700; }
.hp-skip:focus{ left:12px; }
.hp-visually-hidden{ position:absolute!important; width:1px; height:1px; overflow:hidden; clip:rect(0 0 0 0); white-space:nowrap; }
.hp-main a{ color:var(--hp-accent); }
.hp-main a:hover{ color:var(--hp-accent-ink); }
.hp-main :focus-visible{ outline:3px solid #f6a609; outline-offset:2px; border-radius:4px; }
.hp-h1{ font-size:clamp(1.65rem, 3.2vw, 2.15rem); font-weight:780; letter-spacing:-.025em; line-height:1.2; color:var(--hp-ink); margin:0 0 6px; }
.hp-h2{ font-size:1.45rem; font-weight:750; letter-spacing:-.018em; color:var(--hp-ink); margin:0 0 14px; line-height:1.25; }
.hp-h2-s{ font-size:1.15rem; margin-bottom:12px; }
.hp-lede{ font-size:1.075rem; color:var(--hp-ink-2); line-height:1.6; margin:0 0 4px; max-width:720px; }
.hp-block{ padding:34px 0 6px; }
.hp-page-head{ padding:22px 0 14px; }

/* ----------------------------------------------------------------- the bar */
.hp-bar{ border-top:1px solid rgba(255,255,255,.08); }
.hp-bar-in{ display:flex; align-items:center; gap:14px 22px; flex-wrap:wrap; padding-top:10px; padding-bottom:10px; }
.hp-bar-title{ display:inline-flex; align-items:center; gap:9px; font-weight:750; font-size:1.05rem; letter-spacing:-.01em; color:#fff; text-decoration:none; white-space:nowrap; }
.hp-bar-title:hover{ color:#fff; opacity:.9; }
.hp-bar-ico{ width:28px; height:28px; border-radius:9px; background:rgba(255,255,255,.14); display:inline-flex; align-items:center; justify-content:center; }
.hp-bar-ico .ico{ width:17px; height:17px; }
.hp-bar .hp-search{ flex:1 1 320px; max-width:560px; min-width:220px; }
.hp-bar-links{ display:flex; gap:4px 18px; margin-left:auto; flex-wrap:wrap; }
.hp-bar-links a{ color:rgba(255,255,255,.86); text-decoration:none; font-size:.92rem; font-weight:600; padding:4px 0; border-bottom:2px solid transparent; }
.hp-bar-links a:hover, .hp-bar-links a[aria-current]{ color:#fff; border-bottom-color:rgba(255,255,255,.7); }

/* ------------------------------------------------------------------ search */
.hp-search{ margin:0; position:relative; }
.hp-search-box{
  position:relative; display:flex; align-items:center; gap:6px;
  background:#fff; border:1px solid #dfe5ec; border-radius:14px; padding:4px 5px 4px 12px;
  box-shadow:0 2px 10px rgba(9,14,22,.12); transition:box-shadow .2s ease, border-color .2s ease;
}
.hp-search-box:focus-within{ border-color:var(--accent, #1abc9c); box-shadow:0 0 0 3px rgba(26,188,156,.24), 0 8px 24px rgba(9,14,22,.14); }
.hp-search-ico{ color:#7a8391; display:inline-flex; }
.hp-search-ico .ico{ width:18px; height:18px; }
.hp-search-input{ flex:1; min-width:0; border:0!important; outline:0!important; background:transparent!important; box-shadow:none!important; font-size:16px; color:#0f1720; padding:8px 4px; font-family:inherit; -webkit-appearance:none; appearance:none; }
.hp-search-input::placeholder{ color:#8b94a3; }
.hp-search-input::-webkit-search-cancel-button{ -webkit-appearance:none; }
.hp-search-btn{ flex-shrink:0; border:0; border-radius:10px; background:#1766c9; color:#fff; font-weight:700; font-size:.95rem; padding:9px 16px; cursor:pointer; display:inline-flex; align-items:center; gap:6px; }
.hp-search-btn:hover{ background:#0b4a96; }
.hp-search-btn-i{ display:none; }
.hp-search-btn-i .ico{ width:18px; height:18px; }
.hp-search-lg .hp-search-box{ padding:6px 7px 6px 18px; border-radius:18px; box-shadow:0 10px 34px rgba(5,10,18,.28); }
.hp-search-lg .hp-search-ico .ico{ width:22px; height:22px; }
.hp-search-lg .hp-search-input{ font-size:1.12rem; padding:13px 6px; }
.hp-search-lg .hp-search-btn{ padding:13px 24px; border-radius:13px; font-size:1.02rem; }
.hp-suggest{ position:absolute; left:0; right:0; top:calc(100% + 8px); z-index:1200; background:#fff; border:1px solid #dfe5ec; border-radius:14px; box-shadow:0 18px 44px rgba(9,14,22,.30); overflow:hidden; text-align:left; }
.hp-sug{ display:flex; flex-direction:column; gap:1px; padding:10px 16px; color:#0f1720!important; text-decoration:none; border-top:1px solid #eef1f5; cursor:pointer; }
.hp-sug:first-child{ border-top:0; }
.hp-sug.is-active, .hp-sug:hover{ background:#eef4fc; }
.hp-sug-t{ font-weight:650; font-size:.98rem; line-height:1.3; }
.hp-sug-s{ font-size:.82rem; color:#637083; line-height:1.35; }
.hp-sug-k{ font-size:.7rem; font-weight:750; text-transform:uppercase; letter-spacing:.06em; color:#1766c9; margin-right:6px; }
.hp-sug-all{ background:#f6f8fb; font-weight:650; font-size:.9rem; color:#1766c9!important; }
.hp-sug-none{ padding:12px 16px; color:#637083; font-size:.92rem; }

/* -------------------------------------------------------------------- hero */
.hp-hero{ background-color:var(--search-bg, #232F3E); background-image:var(--site-chrome-gradient); color:var(--fs-chrome-ink, #fff); }
.hp-hero-in{ padding-top:46px; padding-bottom:50px; text-align:center; }
.hp-eyebrow{ font-size:.78rem; font-weight:750; letter-spacing:.12em; text-transform:uppercase; opacity:.78; margin:0 0 10px; }
.hp-hero-h{ font-size:clamp(2rem, 5vw, 2.9rem); font-weight:800; letter-spacing:-.03em; line-height:1.1; margin:0 0 10px; color:inherit; }
.hp-hero-sub{ font-size:1.12rem; opacity:.86; margin:0 auto 24px; max-width:640px; line-height:1.5; }
.hp-hero .hp-search{ max-width:700px; margin:0 auto; }
.hp-pop{ margin:16px 0 0; display:flex; flex-wrap:wrap; gap:8px; justify-content:center; align-items:center; font-size:.92rem; }
.hp-pop-l{ opacity:.78; margin-right:2px; }
.hp-pop-a{ display:inline-block; padding:5px 12px; border-radius:999px; background:rgba(255,255,255,.12); border:1px solid rgba(255,255,255,.18); color:inherit!important; text-decoration:none; font-weight:600; }
.hp-pop-a:hover{ background:rgba(255,255,255,.22); }
.hp-searchp .hp-pop{ justify-content:flex-start; }
.hp-searchp .hp-pop-a{ background:var(--hp-accent-soft); border-color:transparent; color:var(--hp-accent)!important; }

/* ------------------------------------------------------------------- cards */
.hp-cards{ display:grid; gap:14px; }
.hp-cards-3{ grid-template-columns:repeat(3, minmax(0, 1fr)); }
.hp-cards-2{ grid-template-columns:repeat(2, minmax(0, 1fr)); }
.hp-card{
  display:flex; flex-direction:column; gap:6px; padding:16px 18px; border:1px solid var(--hp-line); border-radius:var(--hp-radius);
  background:var(--hp-surface); color:var(--hp-ink)!important; text-decoration:none!important; box-shadow:var(--hp-shadow);
  transition:transform .15s ease, box-shadow .15s ease, border-color .15s ease;
}
.hp-card:hover{ transform:translateY(-2px); box-shadow:var(--hp-shadow-up); border-color:var(--hp-accent); }
.hp-card-kicker{ font-size:.72rem; font-weight:750; letter-spacing:.07em; text-transform:uppercase; color:var(--hp-accent); }
.hp-card-title{ font-size:1.05rem; font-weight:700; line-height:1.3; letter-spacing:-.01em; }
.hp-card-text{ font-size:.92rem; color:var(--hp-ink-3); line-height:1.5; }
.hp-card-meta{ font-size:.8rem; color:var(--hp-ink-4); margin-top:auto; padding-top:4px; }
.hp-card-plain .hp-card-title{ font-size:1.02rem; }
.hp-group-h{ font-size:.78rem; font-weight:750; letter-spacing:.1em; text-transform:uppercase; color:var(--hp-ink-3); margin:22px 0 10px; }
.hp-secs{ display:grid; grid-template-columns:repeat(3, minmax(0, 1fr)); gap:14px; }
.hp-sec{
  display:flex; gap:14px; padding:16px 18px; border:1px solid var(--hp-line); border-radius:var(--hp-radius); background:var(--hp-surface);
  color:var(--hp-ink)!important; text-decoration:none!important; box-shadow:var(--hp-shadow);
  transition:transform .15s ease, box-shadow .15s ease, border-color .15s ease;
}
.hp-sec:hover{ transform:translateY(-2px); box-shadow:var(--hp-shadow-up); border-color:var(--hp-accent); }
.hp-sec.is-away{ opacity:.86; }
.hp-sec-ico{ flex:0 0 44px; height:44px; border-radius:12px; background:var(--hp-accent-soft); color:var(--hp-accent); display:inline-flex; align-items:center; justify-content:center; }
.hp-sec-ico .ico{ width:22px; height:22px; }
.hp-sec-body{ display:flex; flex-direction:column; gap:3px; min-width:0; }
.hp-sec-title{ font-weight:720; font-size:1.05rem; letter-spacing:-.01em; }
.hp-sec-text{ font-size:.9rem; color:var(--hp-ink-3); line-height:1.5; }
.hp-sec-n{ font-size:.8rem; color:var(--hp-ink-4); margin-top:2px; }
.hp-tag{ display:inline-block; font-size:.7rem; font-weight:700; padding:1px 8px; border-radius:999px; background:var(--hp-warn-soft); color:var(--hp-warn); margin-left:6px; vertical-align:middle; }
.hp-goals{ display:grid; grid-template-columns:repeat(3, minmax(0, 1fr)); gap:12px; }
.hp-goal{ display:flex; gap:13px; align-items:flex-start; padding:14px 16px; border-radius:var(--hp-radius); border:1px solid var(--hp-line); background:var(--hp-surface); color:var(--hp-ink)!important; text-decoration:none!important; transition:border-color .15s ease, background .15s ease; }
.hp-goal:hover{ border-color:var(--hp-accent); background:var(--hp-accent-soft); }
.hp-goal-ico{ flex:0 0 38px; height:38px; border-radius:50%; background:var(--hp-ok-soft); color:var(--hp-ok); display:inline-flex; align-items:center; justify-content:center; }
.hp-goal-ico .ico{ width:19px; height:19px; }
.hp-goal-body{ display:flex; flex-direction:column; gap:2px; }
.hp-goal-title{ font-weight:700; }
.hp-goal-text{ font-size:.9rem; color:var(--hp-ink-3); line-height:1.45; }
.hp-home{ padding-bottom:56px; }
.hp-more{ margin:16px 0 0; font-size:.95rem; color:var(--hp-ink-3); }

/* ------------------------------------------------------------------ layout */
.hp-layout{ display:grid; gap:40px; padding-top:26px; padding-bottom:56px; align-items:start; }
.hp-layout-2{ grid-template-columns:260px minmax(0, 1fr); }
.hp-layout-3{ grid-template-columns:260px minmax(0, 1fr) 224px; }
.hp-content{ min-width:0; max-width:860px; }
.hp-article{ min-width:0; max-width:800px; }
.hp-side, .hp-toc{ position:sticky; top:16px; max-height:calc(100vh - 32px); overflow:auto; scrollbar-width:thin; }
.hp-side-sum{ display:none; }
.hp-side-g{ font-size:.72rem; font-weight:750; letter-spacing:.1em; text-transform:uppercase; color:var(--hp-ink-4); margin:16px 0 6px 10px; }
.hp-side-g:first-child{ margin-top:0; }
.hp-side-l, .hp-side-sub{ list-style:none; margin:0; padding:0; }
.hp-side-a{ display:flex; align-items:center; gap:9px; padding:7px 10px; border-radius:9px; color:var(--hp-ink-2)!important; text-decoration:none!important; font-size:.94rem; font-weight:600; }
.hp-side-a:hover{ background:var(--hp-surface-3); }
.hp-side-a[aria-current]{ background:var(--hp-accent-soft); color:var(--hp-accent)!important; }
.hp-side-ico{ display:inline-flex; color:var(--hp-ink-4); }
.hp-side-ico .ico{ width:17px; height:17px; }
.is-open > .hp-side-a .hp-side-ico{ color:var(--hp-accent); }
.hp-side-sub{ margin:2px 0 8px 18px; padding-left:14px; border-left:2px solid var(--hp-line); }
.hp-side-sub a{ display:block; padding:5px 8px; font-size:.88rem; line-height:1.35; color:var(--hp-ink-3)!important; text-decoration:none!important; border-radius:7px; }
.hp-side-sub a:hover{ color:var(--hp-ink)!important; background:var(--hp-surface-3); }
.hp-side-sub a.is-current{ color:var(--hp-accent)!important; font-weight:700; background:var(--hp-accent-soft); }

/* breadcrumbs */
.hp-crumbs ol{ list-style:none; margin:0 0 14px; padding:0; display:flex; flex-wrap:wrap; gap:2px 0; font-size:.86rem; color:var(--hp-ink-3); }
.hp-crumbs li{ display:inline-flex; align-items:center; }
.hp-crumbs li:not(:last-child)::after{ content:"›"; margin:0 8px; color:var(--hp-ink-4); }
.hp-crumbs a{ text-decoration:none; }
.hp-crumbs a:hover{ text-decoration:underline; }
.hp-crumbs [aria-current]{ color:var(--hp-ink-2); }

/* section page */
.hp-sec-head{ display:flex; gap:16px; align-items:flex-start; margin:4px 0 20px; }
.hp-sec-head-ico{ flex:0 0 54px; height:54px; border-radius:15px; background:var(--hp-accent-soft); color:var(--hp-accent); display:inline-flex; align-items:center; justify-content:center; }
.hp-sec-head-ico .ico{ width:28px; height:28px; }
.hp-feature{ display:flex; flex-direction:column; gap:4px; padding:20px 22px; border-radius:var(--hp-radius); background:linear-gradient(135deg, var(--hp-accent-soft), var(--hp-surface)); border:1px solid var(--hp-tip-line); color:var(--hp-ink)!important; text-decoration:none!important; margin-bottom:26px; box-shadow:var(--hp-shadow); transition:transform .15s ease, box-shadow .15s ease; }
.hp-feature:hover{ transform:translateY(-2px); box-shadow:var(--hp-shadow-up); }
.hp-feature-k{ font-size:.72rem; font-weight:750; letter-spacing:.09em; text-transform:uppercase; color:var(--hp-accent); }
.hp-feature-t{ font-size:1.25rem; font-weight:750; letter-spacing:-.015em; }
.hp-feature-s{ color:var(--hp-ink-2); line-height:1.55; max-width:640px; }
.hp-feature-m{ font-size:.82rem; color:var(--hp-ink-3); margin-top:2px; }
.hp-guides{ list-style:none; margin:0; padding:0; display:grid; gap:10px; }
.hp-guide-a{ display:flex; flex-direction:column; gap:3px; padding:14px 18px; border:1px solid var(--hp-line); border-radius:12px; background:var(--hp-surface); color:var(--hp-ink)!important; text-decoration:none!important; transition:border-color .15s ease, box-shadow .15s ease; }
.hp-guide-a:hover{ border-color:var(--hp-accent); box-shadow:var(--hp-shadow); }
.hp-guide-t{ font-weight:700; font-size:1.02rem; letter-spacing:-.008em; }
.hp-guide-s{ color:var(--hp-ink-3); font-size:.93rem; line-height:1.5; }
.hp-guide-m{ font-size:.8rem; color:var(--hp-ink-4); }

/* ----------------------------------------------------------------- article */
.hp-art-head{ margin-bottom:14px; }
.hp-meta{ display:flex; flex-wrap:wrap; gap:4px 0; margin:6px 0 0; font-size:.86rem; color:var(--hp-ink-3); }
.hp-meta span:not(:last-child)::after{ content:"·"; margin:0 9px; color:var(--hp-ink-4); }
.hp-banner{ padding:12px 16px; border-radius:12px; border:1px solid var(--hp-warn-line); background:var(--hp-warn-soft); font-size:.94rem; line-height:1.55; margin:14px 0 20px; color:var(--hp-ink); }
.hp-banner a{ font-weight:650; }
.hp-body{ font-size:1.02rem; line-height:1.72; color:var(--hp-ink-2); overflow-wrap:break-word; }
.hp-body > p:first-child{ font-size:1.16rem; line-height:1.6; color:var(--hp-ink); }
.hp-body p{ margin:0 0 1em; }
.hp-body h2{ position:relative; font-size:1.5rem; font-weight:760; letter-spacing:-.02em; color:var(--hp-ink); margin:2.1em 0 .6em; line-height:1.25; scroll-margin-top:16px; }
.hp-body h3{ position:relative; font-size:1.18rem; font-weight:720; letter-spacing:-.012em; color:var(--hp-ink); margin:1.7em 0 .5em; line-height:1.3; scroll-margin-top:16px; }
.hp-body h4{ position:relative; font-size:1.02rem; font-weight:720; color:var(--hp-ink); margin:1.4em 0 .4em; scroll-margin-top:16px; }
.hp-body ul, .hp-body ol{ padding-left:1.35em; margin:0 0 1.1em; }
.hp-body li{ margin:.3em 0; }
.hp-body li > p{ margin:0 0 .6em; }
.hp-body li > ul, .hp-body li > ol{ margin:.4em 0 .2em; }
.hp-body strong{ color:var(--hp-ink); font-weight:700; }
.hp-body code{ font-family:ui-monospace, SFMono-Regular, Menlo, Consolas, monospace; font-size:.88em; background:var(--hp-code-bg); border:1px solid var(--hp-line); border-radius:6px; padding:1px 6px; color:var(--hp-ink); word-break:break-word; }
.hp-body kbd{ font-family:ui-monospace, SFMono-Regular, Menlo, Consolas, monospace; font-size:.84em; background:var(--hp-surface); border:1px solid var(--hp-line); border-bottom-width:2px; border-radius:6px; padding:1px 7px; color:var(--hp-ink); }
.hp-body pre.hp-code{ background:var(--hp-code-bg); border:1px solid var(--hp-line); border-radius:12px; padding:14px 16px; overflow:auto; font-size:.88rem; line-height:1.55; margin:0 0 1.2em; }
.hp-body pre.hp-code code{ background:none; border:0; padding:0; }
.hp-body blockquote{ margin:0 0 1.2em; padding:4px 18px; border-left:4px solid var(--hp-line); color:var(--hp-ink-3); }
.hp-body hr{ border:0; border-top:1px solid var(--hp-line); margin:2em 0; }
.hp-body a.hp-ext::after, .hp-main a[data-away]::after{ content:"↗"; font-size:.78em; margin-left:2px; opacity:.7; }
.hp-anchor{ position:absolute; left:-1.15em; top:0; width:1em; text-align:center; opacity:0; text-decoration:none!important; color:var(--hp-ink-4)!important; font-weight:600; transition:opacity .12s ease; }
.hp-body h2:hover .hp-anchor, .hp-body h3:hover .hp-anchor, .hp-body h4:hover .hp-anchor, .hp-anchor:focus, .hp-term-t:hover .hp-anchor{ opacity:1; }
.hp-table{ overflow-x:auto; margin:0 0 1.3em; border:1px solid var(--hp-line); border-radius:12px; background:var(--hp-surface); }
.hp-table table{ border-collapse:collapse; width:100%; font-size:.93rem; line-height:1.5; }
.hp-table th, .hp-table td{ padding:10px 14px; text-align:left; vertical-align:top; border-bottom:1px solid var(--hp-line-2); }
.hp-table thead th{ background:var(--hp-surface-2); font-size:.78rem; font-weight:750; letter-spacing:.04em; text-transform:uppercase; color:var(--hp-ink-3); border-bottom:1px solid var(--hp-line); white-space:nowrap; }
.hp-table tbody tr:last-child th, .hp-table tbody tr:last-child td{ border-bottom:0; }
.hp-table tbody th{ font-weight:700; color:var(--hp-ink); }
.hp-cta{ margin:0 0 1.2em; }
.hp-btn{ display:inline-flex; align-items:center; gap:8px; padding:10px 18px; border-radius:11px; background:var(--hp-accent); color:#fff!important; font-weight:680; text-decoration:none!important; border:1px solid transparent; cursor:pointer; font-size:.95rem; }
.hp-btn:hover{ background:var(--hp-accent-ink); color:#fff!important; }
.hp-btn-ghost{ background:transparent; color:var(--hp-accent)!important; border-color:var(--hp-line); }
.hp-btn-ghost:hover{ background:var(--hp-accent-soft); color:var(--hp-accent-ink)!important; }

/* callouts */
.hp-callout{ margin:1.4em 0; padding:14px 18px; border-radius:14px; border:1px solid var(--hp-note-line); border-left-width:5px; background:var(--hp-note-soft); }
.hp-callout-h{ font-size:.74rem; font-weight:780; letter-spacing:.09em; text-transform:uppercase; margin:0 0 6px; color:var(--hp-note); }
.hp-callout-b > :last-child{ margin-bottom:0; }
.hp-callout-b p{ margin:0 0 .7em; }
.hp-value{ background:linear-gradient(135deg, var(--hp-ok-soft), var(--hp-surface)); border-color:var(--hp-ok-line); font-size:1.04rem; padding:18px 22px; }
.hp-value .hp-callout-h{ color:var(--hp-ok); }
.hp-tip{ background:var(--hp-tip-soft); border-color:var(--hp-tip-line); }
.hp-tip .hp-callout-h{ color:var(--hp-tip); }
.hp-warning{ background:var(--hp-warn-soft); border-color:var(--hp-warn-line); }
.hp-warning .hp-callout-h{ color:var(--hp-warn); }
.hp-privacy{ background:var(--hp-priv-soft); border-color:var(--hp-priv-line); }
.hp-privacy .hp-callout-h{ color:var(--hp-priv); }
.hp-try{ margin:1.4em 0; padding:16px 20px; border-radius:14px; border:1px dashed var(--hp-accent); background:var(--hp-accent-soft); }
.hp-try-h{ font-size:.74rem; font-weight:780; letter-spacing:.09em; text-transform:uppercase; color:var(--hp-accent); margin:0 0 8px; }
.hp-try ul{ margin:0; padding-left:1.2em; }
.hp-try > :last-child{ margin-bottom:0; }

/* steps */
.hp-steps{ margin:1.4em 0; }
.hp-steps > ol{ list-style:none; counter-reset:hp-step; margin:0; padding:0; }
.hp-steps > ol > li{ counter-increment:hp-step; position:relative; padding:2px 0 26px 54px; margin:0; min-height:36px; }
.hp-steps > ol > li::before{ content:counter(hp-step); position:absolute; left:0; top:0; width:36px; height:36px; border-radius:50%; background:var(--hp-accent); color:#fff; font-weight:750; display:flex; align-items:center; justify-content:center; box-shadow:0 0 0 5px var(--hp-page); }
.hp-steps > ol > li::after{ content:""; position:absolute; left:17px; top:40px; bottom:4px; width:2px; background:var(--hp-line); }
.hp-steps > ol > li:last-child{ padding-bottom:6px; }
.hp-steps > ol > li:last-child::after{ display:none; }
.hp-steps li > p:first-child{ margin-top:0; }
.hp-steps li .hp-shot{ margin:14px 0 6px; }

/* screenshots */
.hp-shot{ margin:1.6em 0; }
.hp-shot-frame{ position:relative; border:1px solid var(--hp-line); border-radius:12px; box-shadow:var(--hp-shadow); background:#fff; line-height:0; cursor:zoom-in; }
.hp-shot-frame img{ display:block; width:100%; height:auto; border-radius:11px; }
.hp-pins{ list-style:none; margin:0; padding:0; position:absolute; inset:0; pointer-events:none; }
.hp-pins li{ position:absolute; border:2px solid var(--hp-pin-line); background:rgba(255,196,0,.10); border-radius:7px; }
.hp-pins li b{ position:absolute; left:-10px; top:-10px; min-width:22px; height:22px; padding:0 5px; border-radius:11px; background:var(--hp-pin); color:#fff; font:700 12px/18px var(--font-sans, system-ui, sans-serif); text-align:center; border:2px solid #fff; box-shadow:0 1px 3px rgba(0,0,0,.4); box-sizing:border-box; }
.hp-shot figcaption{ margin-top:10px; font-size:.93rem; line-height:1.55; color:var(--hp-ink-2); }
.hp-shot-cap{ margin:0 0 8px; }
.hp-key{ list-style:none; margin:0; padding:0; display:grid; gap:7px 22px; grid-template-columns:repeat(auto-fit, minmax(240px, 1fr)); }
.hp-key li{ display:flex; gap:9px; align-items:flex-start; margin:0; }
.hp-key b{ flex:0 0 22px; height:22px; border-radius:11px; background:var(--hp-pin); color:#fff; font:700 12px/22px var(--font-sans, system-ui, sans-serif); text-align:center; margin-top:1px; }
.hp-shot.pins-off .hp-pins{ display:none; }
.hp-shot-tools{ display:flex; gap:8px; margin-top:8px; }
.hp-shot-tool{ border:1px solid var(--hp-line); background:var(--hp-surface); color:var(--hp-ink-3); border-radius:8px; font-size:.78rem; font-weight:650; padding:4px 10px; cursor:pointer; }
.hp-shot-tool:hover{ color:var(--hp-accent); border-color:var(--hp-accent); }
.hp-shot--phone{ max-width:360px; margin-left:auto; margin-right:auto; }
.hp-shot--phone .hp-shot-frame{ border:9px solid #151a21; border-radius:34px; overflow:hidden; background:#151a21; }
.hp-shot--phone .hp-shot-frame img{ border-radius:0; }
.hp-lightbox{ border:0; padding:0; background:transparent; max-width:min(1500px, 96vw); max-height:94vh; overflow:visible; }
.hp-lightbox::backdrop{ background:rgba(8,12,18,.82); }
.hp-lb-in{ position:relative; background:#0f1720; border-radius:14px; padding:12px; max-height:92vh; overflow:auto; }
.hp-lb-fig{ position:relative; line-height:0; }
.hp-lb-fig img{ display:block; max-width:100%; height:auto; border-radius:8px; }
.hp-lb-cap{ color:#dbe4ee; font-size:.95rem; line-height:1.5; margin:10px 4px 2px; }
.hp-lb-bar{ display:flex; justify-content:flex-end; gap:8px; margin-bottom:8px; }
.hp-lb-btn{ border:1px solid #2a3542; background:#1a222d; color:#dbe4ee; border-radius:9px; font-weight:650; font-size:.85rem; padding:6px 12px; cursor:pointer; }
.hp-lb-btn:hover{ border-color:#79b8ff; color:#fff; }

/* questions (FAQ) */
.hp-faq{ margin-top:2.4em; }
.hp-faq > h2{ position:relative; }
.hp-q{ border:1px solid var(--hp-line); border-radius:12px; background:var(--hp-surface); margin:0 0 10px; scroll-margin-top:16px; }
.hp-q > summary{ position:relative; display:block; list-style:none; cursor:pointer; padding:14px 46px 14px 18px; font-weight:680; color:var(--hp-ink); line-height:1.4; border-radius:12px; }
.hp-q > summary::-webkit-details-marker{ display:none; }
.hp-q > summary::after{ content:""; position:absolute; right:20px; top:50%; width:8px; height:8px; border-right:2px solid var(--hp-ink-3); border-bottom:2px solid var(--hp-ink-3); transform:translateY(-70%) rotate(45deg); transition:transform .15s ease; }
.hp-q[open] > summary::after{ transform:translateY(-25%) rotate(-135deg); }
.hp-q > summary:hover{ background:var(--hp-surface-2); }
.hp-q[open]{ border-color:var(--hp-tip-line); box-shadow:var(--hp-shadow); }
.hp-q-a{ padding:0 18px 6px; font-size:.98rem; line-height:1.65; color:var(--hp-ink-2); }
.hp-q-a > :first-child{ margin-top:0; }
.hp-q-more{ font-size:.88rem; color:var(--hp-ink-3); }
.hp-faqp .hp-chips{ margin:4px 0 18px; }
.hp-faq-tools{ display:flex; gap:10px; margin:4px 0 14px; flex-wrap:wrap; }
.hp-faq-tools[hidden]{ display:none; }
.hp-faq-filter{ flex:1 1 280px; max-width:520px; border:1px solid var(--hp-line); background:var(--hp-surface); color:var(--hp-ink); border-radius:11px; padding:10px 14px; font-size:1rem; }
.hp-faq-sec{ margin:0 0 26px; }
.hp-faq-none{ padding:14px 16px; border-radius:12px; background:var(--hp-surface-2); border:1px solid var(--hp-line); }
.hp-chips{ display:flex; flex-wrap:wrap; gap:8px; }
.hp-chips a{ display:inline-flex; align-items:center; gap:7px; padding:6px 13px; border-radius:999px; background:var(--hp-surface); border:1px solid var(--hp-line); color:var(--hp-ink-2)!important; font-weight:620; font-size:.9rem; text-decoration:none!important; }
.hp-chips a:hover{ border-color:var(--hp-accent); color:var(--hp-accent)!important; }
.hp-chips a span{ font-size:.75rem; color:var(--hp-ink-4); font-weight:700; }
.hp-chips-az a{ min-width:38px; justify-content:center; }

/* contents (right column and the phone version) */
.hp-toc-h{ font-size:.72rem; font-weight:750; letter-spacing:.1em; text-transform:uppercase; color:var(--hp-ink-4); margin:0 0 8px; }
.hp-toc-nav ol{ list-style:none; margin:0; padding:0; border-left:2px solid var(--hp-line); }
.hp-toc-nav li a{ display:block; padding:4px 0 4px 14px; margin-left:-2px; border-left:2px solid transparent; color:var(--hp-ink-3)!important; font-size:.86rem; line-height:1.4; text-decoration:none!important; }
.hp-toc-nav li a:hover{ color:var(--hp-ink)!important; }
.hp-toc-nav li.is-active a{ color:var(--hp-accent)!important; border-left-color:var(--hp-accent); font-weight:680; }
.hp-toc-l3 a{ padding-left:28px!important; font-size:.82rem!important; }
.hp-toc-m{ display:none; margin:0 0 18px; border:1px solid var(--hp-line); border-radius:12px; background:var(--hp-surface); }
.hp-toc-m > summary{ cursor:pointer; padding:11px 16px; font-weight:700; font-size:.92rem; color:var(--hp-ink-2); }
.hp-toc-m ol{ list-style:none; margin:0; padding:0 16px 12px; }
.hp-toc-m li a{ display:block; padding:5px 0; font-size:.92rem; }
.hp-toc-m .hp-toc-l3 a{ padding-left:16px!important; }

/* end of an article */
.hp-related{ margin-top:2.6em; padding-top:6px; }
.hp-pn{ display:grid; grid-template-columns:1fr 1fr; gap:14px; margin:2.2em 0 1.4em; }
.hp-pn-a{ display:flex; flex-direction:column; gap:3px; padding:14px 18px; border:1px solid var(--hp-line); border-radius:13px; background:var(--hp-surface); text-decoration:none!important; color:var(--hp-ink)!important; }
.hp-pn-a:hover{ border-color:var(--hp-accent); }
.hp-pn-next{ text-align:right; grid-column:2; }
.hp-pn-k{ font-size:.72rem; font-weight:750; letter-spacing:.09em; text-transform:uppercase; color:var(--hp-ink-4); }
.hp-pn-t{ font-weight:680; line-height:1.35; }
.hp-feedback{ padding:16px 18px; border-radius:13px; background:var(--hp-surface-2); border:1px solid var(--hp-line); font-size:.93rem; color:var(--hp-ink-2); }
.hp-feedback p{ margin:0; }

/* ------------------------------------------------------ glossary, search */
.hp-gl-sec{ display:grid; grid-template-columns:56px minmax(0, 1fr); gap:6px 18px; padding:18px 0; border-top:1px solid var(--hp-line); }
.hp-gl-l{ font-size:2rem; font-weight:800; color:var(--hp-accent); margin:0; line-height:1; }
.hp-gl-list{ display:grid; gap:20px; max-width:760px; }
.hp-term{ scroll-margin-top:16px; }
.hp-term-t{ position:relative; font-size:1.12rem; font-weight:720; margin:0 0 3px; color:var(--hp-ink); }
.hp-term .hp-anchor{ left:-1.1em; }
.hp-term-aka{ font-size:.85rem; color:var(--hp-ink-4); margin:0 0 4px; }
.hp-term-d p{ margin:0 0 .6em; color:var(--hp-ink-2); line-height:1.65; }
.hp-term-more{ margin:0; font-size:.9rem; }
.hp-dym{ font-size:1rem; margin:6px 0 16px; }
.hp-results{ list-style:none; margin:0; padding:0; max-width:820px; display:grid; gap:6px; }
.hp-result{ padding:14px 0; border-bottom:1px solid var(--hp-line); }
.hp-result-path{ display:flex; gap:10px; align-items:center; margin:0 0 3px; font-size:.82rem; color:var(--hp-ink-3); }
.hp-badge{ display:inline-block; font-size:.68rem; font-weight:780; letter-spacing:.07em; text-transform:uppercase; padding:2px 8px; border-radius:999px; background:var(--hp-accent-soft); color:var(--hp-accent); }
.hp-badge-question{ background:var(--hp-ok-soft); color:var(--hp-ok); }
.hp-badge-term{ background:var(--hp-priv-soft); color:var(--hp-priv); }
.hp-result-t{ font-size:1.18rem; font-weight:700; margin:0 0 4px; letter-spacing:-.01em; line-height:1.3; }
.hp-result-t a{ text-decoration:none; }
.hp-result-t a:hover{ text-decoration:underline; }
.hp-result-s{ margin:0; color:var(--hp-ink-2); line-height:1.6; font-size:.96rem; }
.hp-result mark, .hp-sug mark{ background:rgba(246,166,9,.3); color:inherit; padding:0 1px; border-radius:3px; }
.hp-list{ padding-left:1.25em; line-height:1.7; color:var(--hp-ink-2); }

/* ------------------------------------------------------------ small screens */
@media (max-width:980px){
  .hp-cards-3, .hp-secs, .hp-goals{ grid-template-columns:repeat(2, minmax(0, 1fr)); }
}
@media (max-width:1180px){
  .hp-layout-3{ grid-template-columns:240px minmax(0, 1fr); }
  .hp-toc{ display:none; }
  .hp-toc-m{ display:block; }
}
@media (max-width:860px){
  .hp-layout-2, .hp-layout-3{ grid-template-columns:minmax(0, 1fr); gap:22px; }
  .hp-side{ position:static; max-height:none; order:3; }
  .hp-side-sum{ display:flex; align-items:center; justify-content:space-between; cursor:pointer; padding:12px 16px; border:1px solid var(--hp-line); border-radius:12px; background:var(--hp-surface); font-weight:700; color:var(--hp-ink-2); }
  .hp-side-sum .ico{ width:18px; height:18px; }
  .hp-side-nav{ padding-top:10px; }
  .hp-bar-in{ gap:8px 14px; }
  .hp-bar-links{ margin-left:auto; gap:4px 14px; }
  .hp-bar-links a{ font-size:.88rem; }
  .hp-bar .hp-search{ flex:1 1 100%; max-width:none; order:3; }
  .hp-gl-sec{ grid-template-columns:1fr; }
  .hp-body h2 .hp-anchor, .hp-body h3 .hp-anchor{ display:none; }
}
@media (max-width:640px){
  .hp-cards-3, .hp-cards-2, .hp-secs, .hp-goals{ grid-template-columns:minmax(0, 1fr); }
}
@media (max-width:420px){
  .hp-bar-title{ font-size:.98rem; gap:7px; }
  .hp-bar-links{ gap:4px 10px; }
  .hp-bar-links a{ font-size:.84rem; }
}
@media (max-width:560px){
  .hp-wrap{ padding:0 14px; }
  .hp-hero-in{ padding-top:30px; padding-bottom:34px; }
  .hp-search-lg .hp-search-btn-t{ display:none; }
  .hp-search-lg .hp-search-btn-i{ display:inline-flex; }
  .hp-search-lg .hp-search-btn{ padding:13px 15px; }
  .hp-steps > ol > li{ padding-left:48px; }
  .hp-steps > ol > li::before{ width:32px; height:32px; }
  .hp-steps > ol > li::after{ left:15px; top:36px; }
  .hp-pn{ grid-template-columns:1fr; }
  .hp-pn-next{ grid-column:1; }
  .hp-key{ grid-template-columns:1fr; }
  .hp-pins li b{ left:-8px; top:-8px; min-width:19px; height:19px; font-size:11px; line-height:15px; }
}

@media (prefers-reduced-motion:reduce){
  .hp-card, .hp-sec, .hp-feature, .hp-goal, .hp-guide-a, .hp-q > summary::after, .hp-search-box{ transition:none!important; }
  .hp-card:hover, .hp-sec:hover, .hp-feature:hover{ transform:none!important; }
}

/* --------------------------------------------------------------------- print */
@media print{
  #search-header, footer, .hp-side, .hp-toc, .hp-toc-m, .hp-feedback, .hp-pn, .hp-bar, .hp-shot-tools, .hp-skip, nav[aria-label="Primary navigation"]{ display:none!important; }
  .hp-main{ background:#fff; }
  .hp-layout{ display:block; padding:0; }
  .hp-q{ break-inside:avoid; }
  .hp-q > summary::after{ display:none; }
  .hp-body a::after{ content:" (" attr(href) ")"; font-size:.8em; color:#555; }
  .hp-shot{ break-inside:avoid; }
}

/* --------------------------------------------------------------------------
   Colour modes (app.css section 14). Hybrid and light read the base tokens.
   -------------------------------------------------------------------------- */
html[data-fs-theme="light"] .hp-bar{ border-top-color:var(--fs-chrome-line); }
html[data-fs-theme="light"] .hp-bar-title, html[data-fs-theme="light"] .hp-bar-title:hover{ color:var(--fs-chrome-ink); }
html[data-fs-theme="light"] .hp-bar-ico{ background:rgba(15,23,42,.08); }
html[data-fs-theme="light"] .hp-bar-links a{ color:var(--fs-chrome-ink-2); }
html[data-fs-theme="light"] .hp-bar-links a:hover, html[data-fs-theme="light"] .hp-bar-links a[aria-current]{ color:var(--fs-chrome-ink); border-bottom-color:var(--fs-chrome-ink); }
html[data-fs-theme="light"] .hp-pop-a{ background:rgba(15,23,42,.06); border-color:rgba(15,23,42,.12); }
html[data-fs-theme="light"] .hp-pop-a:hover{ background:rgba(15,23,42,.12); }
html[data-fs-theme="light"] .hp-hero{ border-bottom:1px solid var(--fs-chrome-line); }

html[data-fs-theme="dark"] .hp-page{
  --hp-ink:#dbe4ee;
  --hp-ink-2:#b9c5d2;
  --hp-ink-3:#8fa2b8;
  --hp-ink-4:#8394a8;
  --hp-line:#232e3b;
  --hp-line-2:#1d2631;
  --hp-surface:#161d26;
  --hp-surface-2:#1a222d;
  --hp-surface-3:#232e3c;
  --hp-page:#10151c;
  --hp-accent:#79b8ff;
  --hp-accent-ink:#a3ccff;
  --hp-accent-soft:#172a44;
  --hp-ok:#5eead4;
  --hp-ok-soft:#0f2d2a;
  --hp-ok-line:#17504a;
  --hp-tip:#93b4ff;
  --hp-tip-soft:#16233f;
  --hp-tip-line:#27407a;
  --hp-note:#a3b1c2;
  --hp-note-soft:#1a222d;
  --hp-note-line:#2a3542;
  --hp-warn:#f6b24a;
  --hp-warn-soft:#2e2312;
  --hp-warn-line:#5a4318;
  --hp-priv:#c4a5ff;
  --hp-priv-soft:#241a3a;
  --hp-priv-line:#43307a;
  --hp-code-bg:#1d2631;
  --hp-shadow:0 1px 2px rgba(0,0,0,.3), 0 2px 8px rgba(0,0,0,.25);
  --hp-shadow-up:0 2px 4px rgba(0,0,0,.4), 0 10px 24px rgba(0,0,0,.45);
}
html[data-fs-theme="dark"] .hp-main{ background:var(--hp-page); }
html[data-fs-theme="dark"] .hp-search-box{ background:#1a222d; border-color:#2a3542; box-shadow:0 2px 10px rgba(0,0,0,.4); }
html[data-fs-theme="dark"] .hp-search-input{ color:#dbe4ee; }
html[data-fs-theme="dark"] .hp-search-input::placeholder{ color:#6f7e90; }
html[data-fs-theme="dark"] .hp-search-ico{ color:#8fa2b8; }
html[data-fs-theme="dark"] .hp-search-btn{ background:#2f6fd0; }
html[data-fs-theme="dark"] .hp-search-btn:hover{ background:#3a7fe6; }
html[data-fs-theme="dark"] .hp-suggest{ background:#1a222d; border-color:#2a3542; box-shadow:0 18px 44px rgba(0,0,0,.6); }
html[data-fs-theme="dark"] .hp-sug{ color:#dbe4ee!important; border-top-color:#232e3b; }
html[data-fs-theme="dark"] .hp-sug.is-active, html[data-fs-theme="dark"] .hp-sug:hover{ background:#232e3c; }
html[data-fs-theme="dark"] .hp-sug-s{ color:#8fa2b8; }
html[data-fs-theme="dark"] .hp-sug-k, html[data-fs-theme="dark"] .hp-sug-all{ color:#79b8ff!important; }
html[data-fs-theme="dark"] .hp-sug-all{ background:#161d26; }
html[data-fs-theme="dark"] .hp-sug-none{ color:#8fa2b8; }
html[data-fs-theme="dark"] .hp-shot-frame{ border-color:#2a3542; }
html[data-fs-theme="dark"] .hp-steps > ol > li::before{ background:#2f6fd0; box-shadow:0 0 0 5px var(--hp-page); color:#fff; }
html[data-fs-theme="dark"] .hp-btn{ background:#2f6fd0; }
html[data-fs-theme="dark"] .hp-btn:hover{ background:#3a7fe6; }
html[data-fs-theme="dark"] .hp-btn-ghost{ background:transparent; color:var(--hp-accent)!important; }
html[data-fs-theme="dark"] .hp-skip{ background:#161d26; color:#79b8ff; }
