/* 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 .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); }
