/* Disclaimer and footer render before (and without) the app bundle, so their styles are inline. One calm strip on
         every screen (the owner's call, after comparing Screener and Finology): the headline, one line of the text and
         "Read full disclaimer", which opens the whole of it in place (the script below; without it, all of it shows). */
      :root { --dc-bg: #f6f5fe; --dc-border: #e6e4f5; --dc-icon: #6d28d9; --dc-text: #1e1b4b; --dc-text-2: #4b4a63; --dc-link: #4338ca; }
      @media (prefers-color-scheme: dark) { :root:not([data-theme="light"]) { --dc-bg: #11111c; --dc-border: #2a2a3a; --dc-icon: #a78bfa; --dc-text: #ededf5; --dc-text-2: #b7b6cb; --dc-link: #c4b5fd; } }
      :root[data-theme="dark"] { --dc-bg: #11111c; --dc-border: #2a2a3a; --dc-icon: #a78bfa; --dc-text: #ededf5; --dc-text-2: #b7b6cb; --dc-link: #c4b5fd; }
      .disclaimer-banner { background: linear-gradient(90deg, #4f46e5, #7c3aed 55%, #9333ea) top / 100% 2px no-repeat, var(--dc-bg); border-bottom: 1px solid var(--dc-border); color: var(--dc-text); font: 12px/1.45 ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif; scroll-margin-top: 0; }
      .disclaimer-banner .dc-wrap { max-width: 1440px; margin: 0 auto; padding: 6px max(24px, env(safe-area-inset-right)) 6px max(24px, env(safe-area-inset-left)); display: grid; grid-template-columns: 16px 1fr; gap: 10px; align-items: start; }
      .disclaimer-banner svg { width: 16px; height: 16px; fill: var(--dc-icon); margin-top: 1px; }
      .disclaimer-banner .dc-wrap > div { display: flex; flex-wrap: wrap; align-items: baseline; gap: 0 12px; min-width: 0; }
      .disclaimer-banner h2 { margin: 0; font-size: 12px; line-height: 1.45; font-weight: 600; color: var(--dc-text); }
      .disclaimer-banner p { margin: 0; color: var(--dc-text-2); max-width: 1180px; flex-basis: 100%; order: 2; }
      .disclaimer-banner p strong { color: var(--dc-text); font-weight: 600; }
      .disclaimer-banner.dc-clamp:not(.dc-open) .disc-body { display: -webkit-box; -webkit-line-clamp: 1; -webkit-box-orient: vertical; overflow: hidden; }
      .disclaimer-banner.dc-clamp .disc-more { display: inline-flex; }
      @media (max-width: 640px) {
        .disclaimer-banner .dc-wrap { padding: 6px max(16px, env(safe-area-inset-right)) 6px max(16px, env(safe-area-inset-left)); gap: 8px; }
        /* Phones (home review; the owner chose one line): until opened, the line is the headline's
           "Not investment advice or research." with "Disclaimer ›", which opens the whole headline and text. The markup
           stays verbatim (screen readers read the full headline; the short clause is drawn, with empty alt text). The
           banner itself is never hidden and has no dismiss. */
        .disclaimer-banner.dc-clamp:not(.dc-open) .dc-wrap { align-items: center; }
        .disclaimer-banner.dc-clamp:not(.dc-open) .dc-wrap > div { flex-wrap: nowrap; align-items: center; }
        .disclaimer-banner.dc-clamp:not(.dc-open) .disc-body { display: none; }
        .disclaimer-banner.dc-clamp:not(.dc-open) h2 { flex: 1 1 auto; min-width: 0; font-size: 0; line-height: 0; }
        .disclaimer-banner.dc-clamp:not(.dc-open) h2::before { content: "Not investment advice or research."; content: "Not investment advice or research." / ""; display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-size: 12px; line-height: 1.45; font-weight: 600; }
        .disclaimer-banner.dc-clamp:not(.dc-open) .disc-more { order: 3; flex: none; min-height: 32px; }
      }
      .disc-more { display: none; order: 1; align-items: center; min-height: 24px; margin: 0; padding: 0; border: 0; background: none; color: var(--dc-link); font: inherit; font-size: 12px; font-weight: 600; text-decoration: underline; text-underline-offset: 2px; cursor: pointer; }
:root { --bg: #f6f6f7; --surface: #fff; --surface-2: #f4f4f5; --border: #e4e4e7; --text: #18181b; --text-2: #52525b; --accent: #4338ca; --accent-fill: #4f46e5; --on-accent: #fff; --warn: #a16207; --border-strong: #d4d4d8; --surface-3: #ececef; --accent-text: #4338ca; --accent-soft: #eef2ff; --warn-soft: #fffbeb; --warn-border: #f3d27a; color-scheme: light; }
      @media (prefers-color-scheme: dark) { :root:not([data-theme="light"]) { --bg: #0b0b0d; --surface: #131316; --surface-2: #1a1a1e; --border: #26262b; --text: #ededef; --text-2: #a1a1aa; --accent: #a5b4fc; --warn: #fbbf24; --border-strong: #34343b; --surface-3: #232329; --accent-text: #a5b4fc; --accent-soft: rgba(129, 140, 248, .14); --warn-soft: #1f1a0c; --warn-border: #5c4813; color-scheme: dark; } }
      :root[data-theme="dark"] { --bg: #0b0b0d; --surface: #131316; --surface-2: #1a1a1e; --border: #26262b; --text: #ededef; --text-2: #a1a1aa; --accent: #a5b4fc; --warn: #fbbf24; --border-strong: #34343b; --surface-3: #232329; --accent-text: #a5b4fc; --accent-soft: rgba(129, 140, 248, .14); --warn-soft: #1f1a0c; --warn-border: #5c4813; color-scheme: dark; }
      * { box-sizing: border-box; }
      body { margin: 0; background: var(--bg); color: var(--text); font-variant-numeric: normal; font: 16px/1.6 ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif; }
      a { color: var(--accent); }
      .crumbs, .fw-nav, .article { max-width: 820px; margin: 0 auto; padding-left: max(24px, env(safe-area-inset-left)); padding-right: max(24px, env(safe-area-inset-right)); }
      .article { overflow-wrap: break-word; }
      /*
       * Header, market strip and footer: the app's (src/styles.css, src/marketGate.css), value for value, so they keep
       * their size and colours between the app and these pages. Change both together.
       */
      .site-head { background: var(--surface); border-bottom: 1px solid var(--border); font-size: 14px; line-height: 1.5; }
      .shell { max-width: 1440px; margin: 0 auto; padding: 0 max(24px, env(safe-area-inset-right)) 0 max(24px, env(safe-area-inset-left)); }
      .site-head .shell { display: flex; flex-wrap: wrap; align-items: center; gap: 16px; min-height: 56px; }
      .site-head .brand { display: flex; align-items: center; gap: 8px; color: var(--text); font-size: 16px; font-weight: 650; letter-spacing: -.01em; text-decoration: none; }
      .site-head .brand img { display: block; width: 28px; height: 28px; }
      .site-head .brand-text { display: flex; flex-direction: column; line-height: 1.15; }
      .site-head .byline { font-size: 11px; font-weight: 500; letter-spacing: 0; color: var(--text-2); }
      @media (max-width: 400px) { .site-head .byline { display: none; } }
      .site-head .spacer { flex: 1; }
      .site-head .head-dev { display: inline-flex; align-items: center; height: 32px; padding: 0 8px; color: var(--text-2); font-weight: 600; text-decoration: none; }
      .site-head .head-dev:hover { color: var(--text); }
      @media (max-width: 640px) { .site-head .head-dev { display: none; } }
      html.session-hint .site-head .head-dev { display: none; }
      .site-head .btn { display: inline-flex; align-items: center; gap: 6px; height: 32px; padding: 0 12px; border-radius: 6px; border: 1px solid var(--border-strong); background: var(--surface); color: var(--text); font-size: 13px; font-weight: 550; line-height: 1; text-decoration: none; white-space: nowrap; }
      .site-head .btn:hover { background: var(--surface-2); }
      .site-head .btn.primary { background: var(--accent-fill); border-color: var(--accent-fill); color: var(--on-accent); }
      .site-head .contribute svg { color: var(--accent-text); }
      @media (max-width: 640px) { .site-head .contribute { width: 44px; padding: 0; justify-content: center; } .site-head .contribute-text { display: none; } }
      .site-head .iconbtn { display: inline-grid; place-items: center; width: 32px; height: 32px; padding: 0; border-radius: 6px; border: 1px solid var(--border-strong); background: var(--surface); color: var(--text-2); cursor: pointer; }
      .site-head .iconbtn:hover { background: var(--surface-2); color: var(--text); }
      .site-head .iconbtn .sun { display: none; }
      :root[data-theme="dark"] .site-head .iconbtn .sun { display: block; }
      :root[data-theme="dark"] .site-head .iconbtn .moon { display: none; }
      @media (prefers-color-scheme: dark) { :root:not([data-theme="light"]) .site-head .iconbtn .sun { display: block; } :root:not([data-theme="light"]) .site-head .iconbtn .moon { display: none; } }
      .mkt-bar[data-market-bar] { border-bottom: 1px solid var(--border); background: var(--surface-2); color: var(--text-2); font-size: 12px; line-height: 1.45; }
      .mkt-bar[data-market-bar].is-window { background: var(--warn-soft); border-bottom-color: var(--warn-border); color: var(--text); }
      [data-market-bar] .shell { display: flex; flex-wrap: wrap; align-items: center; gap: 4px 12px; padding-top: 6px; padding-bottom: 6px; }
      [data-market-bar] .mkt-badge { flex: 0 0 auto; padding: 0 8px; border-radius: 999px; background: var(--surface-3); color: var(--text-2); font-size: 11px; font-weight: 650; line-height: 20px; letter-spacing: .04em; text-transform: uppercase; }
      [data-market-bar].is-window .mkt-badge { background: var(--warn); color: var(--surface); }
      [data-market-bar] .mkt-text { flex: 1 1 280px; }
      [data-market-bar] .mkt-short { display: none; }
      [data-market-bar] .mkt-actions { display: inline-flex; flex-wrap: wrap; gap: 0 12px; }
      [data-market-bar] .mkt-link { font-weight: 600; color: var(--accent-text); text-underline-offset: 2px; }
      [data-market-bar] .mkt-clock { flex: 0 0 auto; color: var(--text-2); font-variant-numeric: tabular-nums; }
      [data-market-bar] .mkt-clock time { color: var(--text); font-weight: 600; }
      .site-foot { border-top: 1px solid var(--border); margin-top: 32px; background: var(--bg); line-height: 1.5; }
      /* Two fixed rows (footer review): the warning line and the link groups, then under a hairline © (always left) and the sources (right). */
      .site-foot .shell { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 24px 48px; align-items: start; padding-top: 32px; padding-bottom: 24px; font-size: 12px; color: var(--text-2); }
      .site-foot .legal-nav { justify-self: end; }
      .foot-bottom { grid-column: 1 / -1; display: flex; flex-wrap: wrap; align-items: baseline; gap: 8px 24px; padding-top: 16px; border-top: 1px solid var(--border); }
      .foot-bottom .legal-src { margin-left: auto; text-align: right; }
      @media (max-width: 1023px) { .site-foot .shell { grid-template-columns: minmax(0, 1fr); } .site-foot .legal-nav { justify-self: start; } }
      /* The warning line starts level with the link groups' headings, its icon beside the first line when it wraps. */
      .legal-line { display: inline-flex; align-items: flex-start; gap: 6px; }
      .legal-line svg { fill: var(--warn); flex: none; margin-top: 2px; }
      .site-foot a { color: var(--text-2); font-weight: 600; }
      .legal-nav { display: grid; grid-template-columns: repeat(4, max-content); gap: 0 48px; }
      .fgrp ul { list-style: none; margin: 0; padding: 0; }
      .fgrp-h { margin: 0 0 4px; font-size: 11px; font-weight: 600; letter-spacing: .04em; text-transform: uppercase; color: var(--text-2); }
      .fgrp a { display: inline-flex; align-items: center; gap: 4px; min-height: 32px; text-decoration: none; }
      .fgrp a:hover, .fgrp a:focus-visible { text-decoration: underline; }
      .fgrp a[target="_blank"]::after { content: "↗"; content: "↗" / ""; font-size: 11px; opacity: .7; }
      .fw-nav ul { list-style: none; display: flex; flex-wrap: wrap; gap: 4px 16px; margin: 8px 0 0; padding: 0; font-size: 15px; }
      .fw-nav a { font-weight: 600; }
      .fw-nav a[aria-current] { color: var(--text); text-decoration: none; }
      /* The app's stylesheet (loaded for its header) also styles .btn: these keep the article's own size. */
      .article .btn { height: auto; white-space: normal; cursor: pointer; }
      /* Same as the app's content-page buttons (styles.css .signin-public .btn): 40px, 14px semibold, the strong border. */
      .article .btn { display: inline-flex; align-items: center; gap: 6px; min-height: 40px; padding: 0 16px; border-radius: 6px; border: 1px solid var(--border-strong); background: var(--surface); color: var(--text); font-weight: 600; font-size: 14px; text-decoration: none; }
      @media (max-width: 640px) { .article .btn { min-height: 44px; } }
      /* The Support button is one component on every page: the app's size (32px, 13px; 44px on phones), not the article's. */
      .article .btn.support-act { min-height: 32px; padding: 0 12px; font-size: 13px; font-weight: 550; }
      @media (max-width: 640px) { .article .btn.support-act { min-height: 44px; font-size: 14px; } }
      .article .btn.primary { background: var(--accent-fill); border-color: var(--accent-fill); color: var(--on-accent); }
      .crumbs ol { list-style: none; display: flex; flex-wrap: wrap; gap: 6px; margin: 8px 0 0; padding: 0; font-size: 14px; color: var(--text-2); }
      .crumbs li + li::before { content: "›"; margin-right: 6px; }
      .article h1 { font-size: 32px; line-height: 1.2; margin: 16px 0 8px; letter-spacing: -.01em; }
      .article h2 { font-size: 22px; line-height: 1.3; margin: 32px 0 8px; }
      .article .updated, .muted { color: var(--text-2); font-size: 14px; }
      .article .lede { font-size: 18px; }
      .table-wrap { overflow-x: auto; overscroll-behavior-x: contain; }
      .table-wrap:focus-visible { outline: 2px solid var(--accent); outline-offset: 2px; }
      table { border-collapse: separate; border-spacing: 0; width: 100%; font-size: 15px; background: var(--surface); border-top: 1px solid var(--border); border-left: 1px solid var(--border); }
      th, td { border-right: 1px solid var(--border); border-bottom: 1px solid var(--border); padding: 8px 10px; text-align: left; vertical-align: top; }
      thead th { background: var(--surface-2); }
      .table-wrap tr > :first-child { position: sticky; left: 0; z-index: 1; background: var(--surface); }
      .table-wrap thead th { position: sticky; top: 0; z-index: 2; }
      .table-wrap thead tr > :first-child { background: var(--surface-2); z-index: 3; }
      .table-wrap.tall { max-height: 75vh; max-height: 75dvh; overflow: auto; overscroll-behavior: contain; scroll-padding-top: 40px; }
      table.esm-list, table.counts { font-size: 14px; }
      table.esm-list td, table.esm-list th { padding: 4px 8px; }
      table.esm-list td:first-child { font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace; white-space: nowrap; }
      table.esm-list td:nth-child(n + 3) { white-space: nowrap; }
      table.esm-list tbody tr:nth-child(even) td { background: var(--surface-2); }
      table.counts { width: auto; min-width: 320px; }
      table.counts td:not(:first-child) { text-align: right; font-variant-numeric: tabular-nums; }
      caption { text-align: left; color: var(--text-2); font-size: 13px; padding: 4px 0; }
      .table-wrap caption { position: sticky; left: 0; max-width: calc(100vw - 32px); }
      .asof { font-size: 15px; }
      .unavailable { background: var(--surface); border: 1px solid var(--border); border-left: 4px solid var(--warn); border-radius: 6px; padding: 12px 16px; }
      .list-cta { margin: 16px 0; }
      .example { background: var(--surface); border: 1px solid var(--border); border-left: 4px solid var(--warn); border-radius: 6px; padding: 12px 16px; }
      .faq dt { font-weight: 650; margin-top: 16px; }
      .faq dd { margin: 4px 0 0; }
      .cta { margin: 32px 0; padding: 20px; background: var(--surface); border: 1px solid var(--border); border-radius: 10px; }
      .cta p { margin: 0 0 12px; }
      .cta .actions { display: flex; flex-wrap: wrap; gap: 8px; }
      .guide-links { list-style: none; padding: 0; margin: 8px 0 0; display: grid; grid-template-columns: none; gap: 8px; }
      .guide-links li { display: flex; flex-direction: column; gap: 0; font-size: inherit; color: inherit; }
      .guide-links a { font-weight: 600; font-size: inherit; color: var(--accent); }
      .guide-links span { color: var(--text-2); font-size: 14px; }
      .nia { font-size: 14px; color: var(--text-2); border-top: 1px solid var(--border); padding-top: 16px; }
      @media (max-width: 640px) {
        .crumbs, .fw-nav, .article { padding-left: max(16px, env(safe-area-inset-left)); padding-right: max(16px, env(safe-area-inset-right)); }
        .fw-nav a { display: inline-flex; align-items: center; min-height: 44px; white-space: nowrap; }
        .fw-nav ul { flex-wrap: nowrap; overflow-x: auto; scrollbar-width: none; -webkit-overflow-scrolling: touch; }
        .fw-nav ul::-webkit-scrollbar { display: none; }
        .article h1 { font-size: 26px; }
        .article .lede { font-size: 16px; }
        /* The section nav scrolls sideways: the fade says there is more. */
        .fw-nav ul { -webkit-mask-image: linear-gradient(90deg, #000 88%, transparent); mask-image: linear-gradient(90deg, #000 88%, transparent); }
        .table-wrap.tall { max-height: 60vh; max-height: 60dvh; }
        .guide-links { gap: 0; }
        .guide-links span { display: none; }
        .jump a { display: inline-flex; align-items: center; min-height: 44px; }
        .article .btn { display: inline-flex; align-items: center; min-height: 44px; }
        .shell { padding: 0 max(16px, env(safe-area-inset-right)) 0 max(16px, env(safe-area-inset-left)); }
        .site-head .shell { min-height: 48px; gap: 2px 8px; padding-top: 8px; padding-bottom: 8px; }
        .site-head .brand { min-width: 0; }
        .site-head .btn { height: 44px; font-size: 14px; }
        .site-head .iconbtn { width: auto; min-width: 44px; height: 44px; }
        .site-head .iconbtn { width: 44px; }
        .site-head .shell { flex-wrap: nowrap; }
        [data-market-bar] .mkt-long { display: none; }
        [data-market-bar] .mkt-short { display: inline; }
        [data-market-bar] .mkt-text { flex: 1 1 auto; }
        [data-market-bar] .mkt-clock { margin-left: auto; }
        [data-market-bar] .mkt-link { display: inline-flex; align-items: center; min-height: 32px; }
        [data-market-bar] .shell { flex-wrap: nowrap; }
        [data-market-bar] .mkt-text { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
        [data-market-bar] .mkt-signup, [data-market-bar] .mkt-clock, [data-market-bar] .mc-countdown { display: none; }
        [data-market-bar] .mkt-actions { flex: 0 0 auto; }
        .site-foot .shell { padding-bottom: calc(24px + env(safe-area-inset-bottom)); }
        .foot-bottom { flex-direction: column; align-items: flex-start; gap: 0; padding-top: 8px; }
        .foot-bottom .legal-src { margin-left: 0; text-align: left; }
        .crumbs a, .guide-links a, .site-foot a { display: inline-flex; align-items: center; min-height: 44px; }
        .site-foot .legal-line a { display: block; padding: 4px 0; }
        .site-foot .legal-line svg { margin-top: 6px; }
        .site-foot .legal-nav { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px 12px; width: 100%; }
        .fgrp a { min-height: 44px; }
        .crumbs li { display: inline-flex; align-items: center; }
        .article p a, .article li a, .jump a, table.esm-list td a { padding: 6px 0; }
        table { font-size: 14px; }
        th, td { padding: 6px 8px; }
      }
      /* Small phones (360px): the header stays one row. */
      @media (max-width: 380px) {
        .site-head .shell { gap: 6px; }
        .site-head .brand { font-size: 15px; gap: 6px; }
        .site-head .btn { padding: 0 10px; }
        .site-head .iconbtn, .site-head .contribute { width: 40px; min-width: 40px; height: 40px; }
      }
      /* ---------- Content pages in the brand look (page audit): legal, support, guides and lists ----------
         The tokens live here too: these pages load no app CSS. */
      :root { --rp-ink: #0f0f1a; --rp-a1: #4f46e5; --rp-a2: #7c3aed; --rp-a3: #9333ea; --rp-grad: linear-gradient(135deg, var(--rp-a1), var(--rp-a2) 55%, var(--rp-a3)); --rp-solid: linear-gradient(135deg, #4f46e5, #6d28d9); --cp-glow: radial-gradient(60% 90% at 85% 0%, rgba(124,58,237,.16), transparent 70%), radial-gradient(40% 60% at 0% 40%, rgba(79,70,229,.08), transparent 70%); --rp-band: #f1f0fb; --rp-card: #fff; --rp-line: #e6e4f5; --rp-tint: #eef2ff; --rp-tint-fg: #4338ca; }
      @media (prefers-color-scheme: dark) { :root:not([data-theme="light"]) { --rp-ink: #ededef; --rp-a1: #818cf8; --rp-a2: #a78bfa; --rp-a3: #c084fc; --cp-glow: radial-gradient(60% 90% at 85% 0%, rgba(129,140,248,.20), transparent 70%), radial-gradient(40% 60% at 0% 40%, rgba(129,140,248,.08), transparent 70%); --rp-band: #121220; --rp-card: #16161c; --rp-line: #2a2a3a; --rp-tint: rgba(129,140,248,.14); --rp-tint-fg: #a5b4fc; } }
      :root[data-theme="dark"] { --rp-ink: #ededef; --rp-a1: #818cf8; --rp-a2: #a78bfa; --rp-a3: #c084fc; --cp-glow: radial-gradient(60% 90% at 85% 0%, rgba(129,140,248,.20), transparent 70%), radial-gradient(40% 60% at 0% 40%, rgba(129,140,248,.08), transparent 70%); --rp-band: #121220; --rp-card: #16161c; --rp-line: #2a2a3a; --rp-tint: rgba(129,140,248,.14); --rp-tint-fg: #a5b4fc; }
      html, body { overflow-x: clip; }
      /* The app stylesheet makes body a flex column, which shrank these to their content (and let the nav push a phone page to 820px). */
      .crumbs, .fw-nav, .article { width: 100%; box-sizing: border-box; }
      .article p, .article li { line-height: 1.7; }
      .cp-hero { margin: 0 calc(50% - 50vw) 8px; padding: 36px calc(50vw - 50%) 24px; background: var(--cp-glow); border-bottom: 1px solid var(--rp-line); }
      .cp-eyebrow { display: inline-block; font-size: 12px; font-weight: 650; line-height: 1; letter-spacing: .08em; text-transform: uppercase; color: var(--rp-tint-fg); background: var(--rp-tint); padding: 6px 10px; border-radius: 999px; }
      .cp-hero h1 { font-size: clamp(28px, 4.4vw, 42px); line-height: 1.12; letter-spacing: -.025em; color: var(--rp-ink); margin: 12px 0 10px; }
      .cp-hero h1::after { content: ""; display: block; width: 48px; height: 4px; margin-top: 14px; border-radius: 4px; background: var(--rp-grad); }
      .cp-pill, .article .cp-pill { display: inline-flex; align-items: center; gap: 6px; margin: 4px 0 0; padding: 4px 10px; border-radius: 999px; border: 1px solid var(--rp-line); background: var(--rp-card); color: var(--text-2); font-size: 13px; }
      .cp-pill::before { content: ""; width: 6px; height: 6px; border-radius: 50%; background: var(--rp-grad); }
      .article h2 { position: relative; padding-left: 14px; color: var(--rp-ink); letter-spacing: -.015em; scroll-margin-top: 16px; }
      .article h2::before { content: ""; position: absolute; left: 0; top: .22em; bottom: .22em; width: 4px; border-radius: 4px; background: var(--rp-grad); }
      .article li::marker { color: var(--rp-a2); }
      .table-wrap { border: 1px solid var(--rp-line); border-radius: 12px; background: var(--rp-card); }
      .example { border: 1px solid var(--rp-line); border-left: 4px solid var(--rp-a2); border-radius: 12px; background: var(--rp-tint); }
      .fw-nav ul { gap: 8px; }
      .fw-nav a { display: inline-flex; align-items: center; min-height: 32px; padding: 0 12px; border-radius: 999px; border: 1px solid var(--rp-line); background: var(--rp-card); color: var(--text-2); font-size: 14px; font-weight: 550; text-decoration: none; white-space: nowrap; }
      .fw-nav a:hover { border-color: var(--rp-a1); color: var(--rp-ink); }
      .fw-nav a[aria-current] { background: var(--rp-tint); color: var(--rp-tint-fg); border-color: transparent; }
      /* Section row (section-nav review): four links and More on one line; More is a <details> panel; list variants a switch. */
      .fw-nav { position: relative; z-index: 5; }
      .fw-nav > ul { flex-wrap: nowrap; gap: 8px; overflow: visible; }
      .fw-nav a, .fw-more > summary { height: 32px; min-height: 0; }
      .fw-s { display: none; }
      .fw-more { position: relative; }
      .fw-more > summary { list-style: none; display: inline-flex; align-items: center; gap: 0; padding: 0 12px; border-radius: 999px; border: 1px solid var(--rp-line); background: var(--rp-card); color: var(--text-2); font-size: 14px; font-weight: 550; cursor: pointer; white-space: nowrap; }
      .fw-more > summary::-webkit-details-marker { display: none; }
      .fw-more > summary::after { content: "▾"; font-size: 11px; opacity: .7; margin-left: 6px; }
      .fw-more > summary[aria-current] { background: var(--rp-tint); color: var(--rp-tint-fg); border-color: transparent; }
      .fw-more[open] > summary { border-color: var(--rp-a1); color: var(--rp-ink); }
      .fw-more > ul { position: absolute; top: calc(100% + 6px); left: 0; min-width: 240px; margin: 0; padding: 6px; list-style: none; border: 1px solid var(--border); border-radius: 12px; background: var(--surface); box-shadow: 0 8px 24px rgb(0 0 0 / .08); display: grid; }
      .fw-more > ul a { display: flex; align-items: center; height: 40px; padding: 0 10px; border: 0; border-radius: 8px; background: transparent; color: var(--text); white-space: nowrap; }
      .fw-more > ul a:hover { background: var(--rp-tint); }
      .fw-more > ul a[aria-current] { background: var(--rp-tint); color: var(--rp-tint-fg); }
      .fw-views { display: flex; align-items: center; justify-content: flex-start; gap: 0; width: 100%; max-width: 820px; margin: 10px auto 0; padding-left: max(24px, env(safe-area-inset-left)); padding-right: max(24px, env(safe-area-inset-right)); box-sizing: border-box; font-size: 13px; flex-wrap: wrap; row-gap: 6px; }
      .fw-views-l { color: var(--text-3); margin-right: 8px; font-weight: 600; }
      .fw-views a { display: inline-flex; align-items: center; height: 28px; padding: 0 12px; border: 1px solid var(--rp-line); margin-left: -1px; color: var(--text-2); text-decoration: none; background: var(--rp-card); font-weight: 550; }
      .fw-views a:first-of-type { border-radius: 8px 0 0 8px; margin-left: 0; }
      .fw-views a:last-of-type { border-radius: 0 8px 8px 0; }
      .fw-views a[aria-current] { background: var(--rp-tint); color: var(--rp-tint-fg); position: relative; z-index: 1; }
      @media (max-width: 600px) {
        .fw-nav > ul { gap: 6px; overflow: visible; -webkit-mask-image: none; mask-image: none; }
        .fw-nav > ul > li > a, .fw-nav .fw-more > summary { height: 40px; min-height: 0; padding: 0 12px; font-size: 13px; }
        .fw-l { display: none; }
        .fw-s { display: inline; }
        .fw-more { position: static; }
        .fw-more > ul { left: max(16px, env(safe-area-inset-left)); right: max(16px, env(safe-area-inset-right)); min-width: 0; }
        .fw-more > ul a { height: 44px; }
        .fw-views { padding-left: max(16px, env(safe-area-inset-left)); padding-right: max(16px, env(safe-area-inset-right)); }
        .fw-views a { height: 32px; padding: 0 10px; }
      }
      .cta { border: 2px solid transparent; border-radius: 16px; background: linear-gradient(var(--rp-card), var(--rp-card)) padding-box, var(--rp-grad) border-box; }
      .article .btn.primary, .article .cp-btn { background: var(--rp-solid); border: 0; color: #fff; border-radius: 10px; box-shadow: 0 8px 20px -6px rgba(79,70,229,.5); }
      .cp-toc ol { list-style: none; display: flex; flex-wrap: wrap; gap: 8px; margin: 20px 0 8px; padding: 0; counter-reset: toc; }
      .cp-toc li { counter-increment: toc; }
      .cp-toc a { display: inline-flex; align-items: center; gap: 6px; min-height: 32px; padding: 0 12px; border-radius: 999px; background: var(--rp-tint); color: var(--rp-tint-fg); font-size: 13px; font-weight: 600; text-decoration: none; }
      .cp-toc a::before { content: counter(toc); font-weight: 750; opacity: .7; }
      .legal-page { counter-reset: sec; }
      .cp-sec { counter-increment: sec; margin: 16px 0; padding: 20px 24px; border: 1px solid var(--rp-line); border-radius: 14px; background: var(--rp-card); scroll-margin-top: 16px; }
      .cp-sec h2 { display: flex; align-items: center; gap: 12px; margin: 0 0 8px; padding: 0; font-size: 19px; }
      .cp-sec h2::before { content: counter(sec); position: static; display: grid; place-items: center; flex: 0 0 28px; width: 28px; height: 28px; border-radius: 50%; background: var(--rp-solid); color: #fff; font-size: 13px; font-weight: 700; }
      .cp-sec p:last-child { margin-bottom: 0; }
      .cp-glance { list-style: none; margin: 24px 0 4px; padding: 0; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; }
      .cp-glance li { line-height: 1.5; padding: 16px; border: 1px solid var(--rp-line); border-radius: 14px; background: var(--rp-card); box-shadow: inset 0 3px 0 var(--rp-a2); }
      .cp-glance b { display: block; color: var(--rp-ink); font-size: 15px; margin-bottom: 4px; }
      .cp-glance span { font-size: 13px; line-height: 1.5; color: var(--text-2); }
      .cp-note { margin: 0 0 8px; font-size: 13px; color: var(--text-2); }
      .cp-cards { list-style: none; padding: 0; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
      .cp-cards li { padding: 16px; border: 1px solid var(--rp-line); border-radius: 14px; background: var(--rp-card); }
      @media (max-width: 760px) { .cp-glance { grid-template-columns: repeat(2, minmax(0, 1fr)); } .cp-cards { grid-template-columns: minmax(0, 1fr); } }
      @media (max-width: 640px) { .cp-hero { padding-top: 28px; padding-bottom: 20px; } .cp-sec { padding: 16px; } .fw-nav a { min-height: 44px; } }
.site-head .iconbtn, .mkt-clock { display: none; }
.status-line { margin: 4px 0 16px; display: flex; flex-wrap: wrap; gap: 8px; }
      .pill { display: inline-block; padding: 2px 12px; border-radius: 999px; border: 1px solid var(--border); background: var(--surface); font-size: 14px; font-weight: 650; }
      .pill.live { border-color: var(--warn); color: var(--warn); }
      .cta.top { margin: 16px 0 24px; }
      .data-links { list-style: none; padding: 0; margin: 8px 0 0; display: flex; flex-wrap: wrap; gap: 8px 20px; }
      .data-links a { font-weight: 600; }
      table.names td:first-child { font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace; white-space: nowrap; }
      .tabs { display: flex; flex-wrap: wrap; gap: 4px 8px; margin: 24px 0 0; border-bottom: 1px solid var(--border); }
      .tabs [role="tab"] { display: inline-flex; align-items: center; min-height: 44px; padding: 8px 14px; margin-bottom: -1px; font-size: 16px; font-weight: 650; color: var(--text-2); text-decoration: none; border: 1px solid transparent; border-bottom-width: 3px; border-radius: 6px 6px 0 0; }
      .tabs [role="tab"][aria-selected="true"] { color: var(--text); background: var(--surface); border-color: var(--border) var(--border) var(--accent-fill); }
      .tabs [role="tab"]:focus-visible, [role="tabpanel"]:focus-visible { outline: 2px solid var(--accent); outline-offset: 2px; }
      [role="tabpanel"] { padding-top: 4px; }
      [role="tabpanel"][hidden] { display: none; }
      [role="tabpanel"] h2 { margin-top: 16px; }
      @media (max-width: 640px) { .data-links a { display: inline-flex; align-items: center; min-height: 44px; } .tabs [role="tab"] { flex: 1 1 auto; justify-content: center; padding: 8px 10px; } }
.jump { display: flex; flex-wrap: wrap; gap: 4px 12px; font-weight: 650; }
      .muted { color: var(--text-2); font-size: 14px; }
      table small { font-weight: 400; color: var(--text-2); }
