/**
 * Region configurator page — load after css/style.css and css/rry-tool-pages.css.
 * --cfg-* tokens intentionally alias --app-* from body.map-page for clarity in this file.
 */
      /* Tokens bridge map design system (style.css body.map-page) → config UI */
      :root.config-page {
        color-scheme: light;
      }

      body.config-body.map-page {
        font-family: var(--cfg-font-body);
        color: var(--cfg-text);
        --cfg-font-body: var(--app-font-body, "Figtree", system-ui, sans-serif);
        --cfg-font-display: var(
          --app-font-display,
          "Figtree",
          system-ui,
          sans-serif
        );
        --cfg-bg: var(--app-bg, #f6f5f2);
        --cfg-bg-subtle: #eeedea;
        --cfg-surface: rgba(255, 255, 255, 0.92);
        --cfg-surface-hover: rgba(250, 250, 249, 0.98);
        --cfg-secondary: rgba(252, 251, 248, 0.88);
        --cfg-text: var(--app-text, #1a1917);
        --cfg-text-muted: var(--app-text-muted, #57534e);
        --cfg-accent: var(--app-accent, #d4a017);
        --cfg-accent-hover: var(--app-accent-hover, #b88a14);
        --cfg-border: var(--app-border, #e7e5e4);
        --cfg-shadow: var(--app-shadow, 0 1px 3px rgba(26, 25, 23, 0.06));
        --cfg-shadow-lg: var(
          --app-shadow-lg,
          0 4px 20px rgba(26, 25, 23, 0.08)
        );
        --cfg-shadow-hover: 0 12px 36px rgba(26, 25, 23, 0.1);
        --cfg-radius: var(--app-radius, 10px);
        --cfg-radius-sm: var(--app-radius-sm, 6px);
        --cfg-radius-lg: 12px;
        --cfg-space-xs: 0.35rem;
        --cfg-space-sm: 0.55rem;
        --cfg-space-md: 0.85rem;
        --cfg-space-lg: 1.1rem;
        --cfg-ease: var(--app-ease, 0.25s ease);
        background: var(--cfg-bg);
        background-image:
          radial-gradient(
            ellipse 100% 60% at 50% -10%,
            rgba(212, 160, 23, 0.06),
            transparent
          ),
          linear-gradient(180deg, var(--cfg-bg) 0%, var(--cfg-bg-subtle) 100%);
      }

      /* Hero header — glass panel; padding/gaps match stats header */
      .config-header {
        position: relative;
        /* Sit above #policy-cli-row / .config-card so the location dropdown can overflow */
        z-index: 50;
        display: flex;
        flex-direction: column;
        align-items: center;
        gap: 1.25rem;
        margin-bottom: 2.25rem;
        padding: 1.25rem 1.25rem 1.5rem;
        border-radius: calc(var(--cfg-radius) + 2px);
        border: 1px solid var(--cfg-border);
        background: linear-gradient(
          165deg,
          rgba(255, 255, 255, 0.96) 0%,
          rgba(252, 251, 248, 0.9) 55%,
          rgba(255, 253, 248, 0.88) 100%
        );
        box-shadow:
          0 1px 0 rgba(255, 255, 255, 0.78) inset,
          var(--cfg-shadow-lg);
        animation: rty-reveal var(--app-reveal-duration, 0.4s) var(--cfg-ease)
          0.04s both;
      }
      .config-header.rty-chrome-accent-bar {
        --rty-accent-bar-radius: calc(var(--cfg-radius) + 2px);
      }
      .config-header-top {
        display: flex;
        align-items: center;
        justify-content: space-between;
        width: 100%;
        gap: 1rem;
      }
      .config-header h1 {
        margin: 0;
        min-width: 0;
        font-family: var(--cfg-font-display);
        font-size: 1.75rem;
        font-weight: 700;
        letter-spacing: -0.02em;
        color: var(--cfg-text);
        line-height: 1.3;
        text-align: left;
      }

      .config-header-desc {
        margin: 0.5rem 0 0;
        font-size: 0.9375rem;
        line-height: 1.55;
        color: var(--cfg-text-muted);
        text-align: left;
      }

      .config-header-docs {
        margin: 0.45rem 0 0;
        display: flex;
        flex-direction: column;
        align-items: flex-start;
        gap: 0.3rem;
        text-align: left;
      }

      .config-header-docs-primary {
        margin: 0;
        font-size: 0.8125rem;
        line-height: 1.45;
        color: var(--cfg-text-muted);
      }

      .config-header-docs-secondary {
        margin: 0;
        font-size: 0.6875rem;
        line-height: 1.4;
        color: var(--cfg-text-muted);
      }

      .config-header-docs-secondary code {
        font-size: 0.9em;
      }

      .config-header-doc-link {
        color: var(--cfg-accent);
        font-weight: 600;
        text-decoration: none;
      }

      .config-header-doc-link:hover {
        text-decoration: underline;
      }

      .config-header-links {
        display: flex;
        align-items: center;
        gap: 0.5rem;
        flex-shrink: 0;
      }

      .config-header-search {
        width: 100%;
        margin-top: var(--cfg-space-xs);
      }

      .config-header-search h2 {
        margin: 0 0 var(--cfg-space-sm);
        font-family: var(--cfg-font-display);
        font-size: 0.8125rem;
        font-weight: 700;
        text-transform: uppercase;
        letter-spacing: 0.06em;
        color: var(--cfg-text);
      }

      .config-policy-cli-row {
        display: flex;
        flex-direction: column;
        gap: var(--cfg-space-md);
        margin-bottom: var(--cfg-space-md);
        min-width: 0;
        animation: rty-reveal var(--app-reveal-duration, 0.4s) var(--cfg-ease)
          0.1s both;
      }

      .config-cli-results-stack {
        display: flex;
        flex-direction: column;
        gap: var(--cfg-space-md);
        min-width: 0;
      }

      @media (min-width: 900px) {
        .config-policy-cli-row {
          flex-direction: row;
          align-items: flex-start;
        }
        .config-policy-cli-row > #policy-card,
        .config-policy-cli-row > .config-cli-results-stack {
          flex: 1;
          min-width: 0;
        }
        .config-policy-cli-row > #policy-card,
        .config-policy-cli-row > .config-cli-results-stack > .config-card {
          margin-bottom: 0;
        }
      }

      /* Header nav pills: a.rty-back-link (css/rry-tool-pages.css) */

      /* Same footprint as stats .stats-download-btn (third header control) */
      .config-map-btn {
        position: relative;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        width: 2.25rem;
        height: 2.25rem;
        flex-shrink: 0;
        touch-action: manipulation;
        padding: 0;
        background: linear-gradient(
          180deg,
          rgba(255, 255, 255, 0.95) 0%,
          rgba(252, 251, 248, 0.9) 100%
        );
        border: 1px solid var(--cfg-border);
        border-radius: var(--cfg-radius);
        box-shadow:
          0 1px 0 rgba(255, 255, 255, 0.7) inset,
          var(--cfg-shadow);
        color: var(--cfg-accent);
        text-decoration: none;
        transition:
          box-shadow var(--cfg-ease),
          transform 0.15s ease,
          color 0.15s ease,
          border-color var(--cfg-ease);
      }
      .config-map-btn:hover {
        box-shadow:
          0 1px 0 rgba(255, 255, 255, 0.78) inset,
          var(--cfg-shadow-lg);
        transform: translateY(-1px);
        color: var(--cfg-accent-hover);
        border-color: rgba(212, 160, 23, 0.25);
      }
      .config-map-btn svg {
        width: 1.15rem;
        height: 1.15rem;
      }

      .config-card {
        position: relative;
        overflow: hidden;
        background: linear-gradient(
          180deg,
          rgba(255, 255, 255, 0.97) 0%,
          rgba(252, 251, 248, 0.94) 100%
        );
        backdrop-filter: blur(12px) saturate(1.08);
        -webkit-backdrop-filter: blur(12px) saturate(1.08);
        border-radius: var(--cfg-radius);
        border: 1px solid var(--cfg-border);
        box-shadow:
          0 1px 0 rgba(255, 255, 255, 0.72) inset,
          var(--cfg-shadow);
        padding: var(--cfg-space-md) var(--cfg-space-lg);
        margin-bottom: var(--cfg-space-md);
        transition:
          box-shadow var(--cfg-ease),
          border-color var(--cfg-ease),
          transform var(--cfg-ease);
      }

      .config-card::before {
        content: "";
        position: absolute;
        top: 0;
        left: 0;
        right: 0;
        height: 2px;
        border-radius: var(--cfg-radius) var(--cfg-radius) 0 0;
        background: linear-gradient(
          90deg,
          rgba(212, 160, 23, 0.5) 0%,
          rgba(212, 160, 23, 0.1) 45%,
          rgba(88, 101, 242, 0.15) 100%
        );
        opacity: 0.85;
        pointer-events: none;
      }

      .config-card:hover {
        box-shadow:
          0 1px 0 rgba(255, 255, 255, 0.78) inset,
          var(--cfg-shadow-lg);
        border-color: rgba(212, 160, 23, 0.22);
      }

      .config-card h2 {
        margin: 0 0 var(--cfg-space-sm);
        font-family: var(--cfg-font-display);
        font-size: 0.8125rem;
        font-weight: 700;
        text-transform: uppercase;
        letter-spacing: 0.06em;
        color: var(--cfg-text);
      }

      .config-card-desc {
        font-size: 0.8125rem;
        color: var(--cfg-text-muted);
        margin: 0 0 var(--cfg-space-md);
        line-height: 1.45;
        min-width: 0;
        overflow-wrap: anywhere;
        word-wrap: break-word;
      }

      .config-card-desc-tip {
        display: block;
        margin-top: 0.35rem;
        font-style: italic;
      }

      .search-wrap {
        position: relative;
        z-index: 1;
      }

      .search-input {
        width: 100%;
        padding: 0.65rem 0.9rem 0.65rem 2.45rem;
        font-size: 1rem;
        font-family: inherit;
        border: 1px solid var(--cfg-border);
        border-radius: var(--cfg-radius);
        background: rgba(255, 255, 255, 0.88);
        box-sizing: border-box;
        transition:
          border-color var(--cfg-ease),
          box-shadow var(--cfg-ease),
          background var(--cfg-ease);
      }

      .search-input:hover {
        border-color: rgba(212, 160, 23, 0.28);
        background: rgba(255, 255, 255, 0.95);
      }

      .search-input:focus {
        outline: none;
        border-color: var(--cfg-accent);
        box-shadow:
          0 0 0 2px rgba(212, 160, 23, 0.18),
          0 2px 12px rgba(26, 25, 23, 0.06);
        background: #fff;
      }

      .search-icon {
        position: absolute;
        left: 0.9rem;
        top: 50%;
        transform: translateY(-50%);
        color: var(--cfg-text-muted);
        width: 1.25rem;
        height: 1.25rem;
        pointer-events: none;
      }

      .search-icon svg {
        width: 100%;
        height: 100%;
      }

      .search-dropdown {
        position: absolute;
        top: 100%;
        left: 0;
        right: 0;
        margin-top: 6px;
        max-height: min(42dvh, 280px);
        overflow-y: auto;
        overflow-x: hidden;
        background: linear-gradient(
          180deg,
          rgba(255, 255, 255, 0.98) 0%,
          rgba(252, 251, 248, 0.95) 100%
        );
        backdrop-filter: blur(12px) saturate(1.08);
        -webkit-backdrop-filter: blur(12px) saturate(1.08);
        border: 1px solid var(--cfg-border);
        border-radius: var(--cfg-radius);
        box-shadow:
          0 1px 0 rgba(255, 255, 255, 0.75) inset,
          var(--cfg-shadow-lg);
        z-index: 200;
      }

      .search-dropdown::before {
        content: "";
        display: block;
        height: 2px;
        margin: 0;
        border-radius: var(--cfg-radius) var(--cfg-radius) 0 0;
        background: linear-gradient(
          90deg,
          rgba(212, 160, 23, 0.55) 0%,
          rgba(212, 160, 23, 0.12) 40%,
          rgba(88, 101, 242, 0.2) 100%
        );
      }

      .search-dropdown-item {
        padding: 0.55rem 0.85rem;
        cursor: pointer;
        font-size: 0.95rem;
        border-bottom: 1px solid rgba(26, 25, 23, 0.06);
        transition: background var(--cfg-ease);
      }

      .search-dropdown-item:last-child {
        border-bottom: none;
        border-radius: 0 0 var(--cfg-radius) var(--cfg-radius);
      }

      .search-dropdown-item:hover,
      .search-dropdown-item.active {
        background: rgba(212, 160, 23, 0.09);
      }

      .search-dropdown-place {
        font-weight: 500;
      }
      .search-dropdown-code {
        font-family: "Consolas", "Monaco", "Courier New", monospace;
        font-size: 0.75rem;
        color: var(--cfg-accent);
      }
      .search-dropdown-item small {
        display: block;
        color: var(--cfg-text-muted);
        font-size: 0.8rem;
        margin-top: 0.2rem;
      }

      .result-section {
        display: none;
      }

      .result-section.visible {
        display: block;
      }

      .result-grid {
        display: grid;
        grid-template-columns: repeat(auto-fill, minmax(140px, 1fr));
        gap: 0.6rem;
      }

      .result-item {
        padding: 0.6rem 0.75rem;
        background: var(--cfg-secondary);
        border-radius: var(--cfg-radius-sm);
        border: 1px solid var(--cfg-border);
        font-variant-numeric: tabular-nums;
      }

      .result-item-hero {
        grid-column: 1 / -1;
        background: linear-gradient(
          135deg,
          rgba(212, 160, 23, 0.1),
          rgba(212, 160, 23, 0.03)
        );
        border-color: rgba(212, 160, 23, 0.35);
        padding: 0.85rem 1rem;
      }

      .result-item-hero .result-item-value {
        font-size: 1.1rem;
      }

      .result-item-label {
        display: block;
        font-size: 0.7rem;
        text-transform: uppercase;
        letter-spacing: 0.05em;
        color: var(--cfg-text-muted);
        margin-bottom: 0.25rem;
      }

      .result-item-value {
        font-family: "Consolas", "Monaco", "Courier New", monospace;
        font-size: 0.9rem;
        font-weight: 600;
        color: var(--cfg-accent);
      }

      .result-item:not(.result-item-hero) .result-item-value {
        color: var(--cfg-text);
      }

      .result-found-stack {
        display: flex;
        flex-direction: column;
        gap: var(--cfg-space-sm);
      }

      .result-codes-section {
        display: flex;
        flex-direction: column;
        gap: 0.28rem;
      }

      .result-codes-section .result-block-heading {
        margin-bottom: 0;
      }

      .result-block-heading {
        margin: 0 0 0.5rem;
        font-family: var(--cfg-font-display);
        font-size: 0.95rem;
        font-weight: 600;
        color: var(--cfg-text);
      }

      .result-neighbors-details {
        margin-top: 0;
        border: 1px solid var(--cfg-border);
        border-radius: var(--cfg-radius-sm);
        background: var(--cfg-surface);
        overflow: hidden;
      }

      .result-neighbors-details > summary {
        list-style-position: outside;
        cursor: pointer;
        padding: 0.55rem 0.75rem;
        font-family: var(--cfg-font-display);
        font-size: 0.95rem;
        font-weight: 600;
        color: var(--cfg-text);
        user-select: none;
        -webkit-tap-highlight-color: transparent;
      }

      .result-neighbors-details > summary::-webkit-details-marker {
        color: var(--cfg-accent);
      }

      .result-neighbors-details[open] > summary {
        border-bottom: 1px solid var(--cfg-border);
        background: var(--cfg-secondary);
      }

      .result-neighbors-details .result-neighbors-list {
        max-height: min(48vh, 280px);
        overflow-y: auto;
        padding: 0.5rem 0.65rem 0.65rem;
        -webkit-overflow-scrolling: touch;
      }

      .result-neighbors-list {
        display: flex;
        flex-direction: column;
        gap: 0.65rem;
      }

      .result-neighbor-card {
        padding: 0.75rem 0.85rem;
        background: var(--cfg-secondary);
        border: 1px solid var(--cfg-border);
        border-radius: var(--cfg-radius-sm);
      }

      .result-neighbor-title {
        margin: 0;
        font-size: 0.88rem;
        font-weight: 600;
        color: var(--cfg-text);
      }

      .result-neighbor-distance {
        font-size: 0.78rem;
        font-weight: 500;
        color: var(--cfg-text-muted);
      }

      .result-code-inline {
        font-family: "Consolas", "Monaco", "Courier New", monospace;
        font-weight: 600;
        color: var(--cfg-accent);
      }

      .result-muted-note {
        margin: 0;
        font-size: 0.85rem;
        color: var(--cfg-text-muted);
      }

      /* Found codes card — dense compact layout */
      #result-card.config-card {
        padding: 0.4rem 0.5rem 0.5rem;
        margin-bottom: var(--cfg-space-sm);
      }
      #result-card > h2 {
        margin: 0 0 0.15rem;
        font-size: 0.78rem;
        letter-spacing: 0.055em;
      }
      #result-card .result-found-stack {
        gap: 0.3rem;
      }
      #result-card .result-codes-section {
        gap: 0.15rem;
      }
      #result-card .result-codes-section .result-grid {
        margin-top: 0;
      }
      #result-card .result-grid {
        grid-template-columns: repeat(auto-fill, minmax(102px, 1fr));
        gap: 0.28rem;
      }
      #result-card .result-item {
        padding: 0.32rem 0.42rem;
        border-radius: 5px;
      }
      #result-card .result-item-hero {
        padding: 0.42rem 0.5rem;
      }
      #result-card .result-item-hero .result-item-value {
        font-size: 0.88rem;
      }
      #result-card .result-item-label {
        font-size: 0.58rem;
        margin-bottom: 0.06rem;
        letter-spacing: 0.035em;
      }
      #result-card .result-item-value {
        font-size: 0.7rem;
        font-weight: 600;
        line-height: 1.25;
      }
      #result-card .result-block-heading {
        margin: 0;
        font-size: 0.68rem;
        font-weight: 700;
        text-transform: uppercase;
        letter-spacing: 0.045em;
        color: var(--cfg-text-muted);
        line-height: 1.2;
      }
      #result-card .result-neighbors-list {
        gap: 0.28rem;
      }
      #result-card .result-neighbor-card {
        padding: 0.35rem 0.42rem;
        border-radius: 5px;
      }
      #result-card .result-neighbor-title {
        font-size: 0.72rem;
        font-weight: 600;
        line-height: 1.25;
      }
      #result-card .result-neighbor-distance {
        font-size: 0.62rem;
      }
      #result-card .result-muted-note {
        font-size: 0.68rem;
        line-height: 1.32;
      }

      #result-card .result-neighbors-details > summary {
        font-size: 0.66rem;
        font-weight: 700;
        text-transform: uppercase;
        letter-spacing: 0.035em;
        color: var(--cfg-text-muted);
        padding: 0.3rem 0.42rem;
      }

      #result-card .result-neighbors-details[open] > summary {
        color: var(--cfg-text);
      }

      #result-card .result-neighbors-details .result-neighbors-list {
        max-height: min(38dvh, 200px);
        padding: 0.3rem 0.38rem 0.42rem;
      }

      #result-card .result-neighbors-details > .result-muted-note {
        margin: 0;
        padding: 0.32rem 0.45rem 0.45rem;
        line-height: 1.32;
      }

      /* CLI card — match result card density when visible */
      #commands-card.config-card {
        padding: 0.55rem 0.65rem 0.65rem;
        margin-bottom: 0;
      }
      #commands-card > h2 {
        margin-bottom: 0.25rem;
      }
      #commands-card .config-card-desc {
        margin-bottom: 0.45rem;
        font-size: 0.78rem;
        line-height: 1.4;
      }
      #commands-card .commands-block {
        padding: 0.55rem 0.65rem;
        margin: 0;
      }
      #commands-card .copy-btn {
        margin-top: 0.45rem;
        min-height: 2.5rem;
      }

      .commands-block {
        font-family:
          ui-monospace, "Cascadia Code", "Consolas", "Monaco", monospace;
        font-size: clamp(0.72rem, 2.8vw, 0.8rem);
        line-height: 1.55;
        background: linear-gradient(
          165deg,
          #1c1b19 0%,
          #141312 48%,
          #1a1816 100%
        );
        color: #eceae6;
        padding: var(--cfg-space-md) var(--cfg-space-lg);
        border-radius: var(--cfg-radius-sm);
        overflow-x: auto;
        white-space: pre;
        border: 1px solid rgba(212, 160, 23, 0.12);
        box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.04);
        -webkit-overflow-scrolling: touch;
      }

      .commands-block .comment {
        color: #6a9955;
      }

      .copy-btn {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        gap: 0.35rem;
        margin-top: var(--cfg-space-sm);
        padding: 0.5rem 1rem;
        min-height: 2.75rem;
        width: 100%;
        max-width: 20rem;
        font-size: 0.875rem;
        font-family: inherit;
        font-weight: 600;
        color: var(--cfg-accent);
        background: var(--cfg-surface);
        border: 1px solid var(--cfg-border);
        border-radius: var(--cfg-radius-sm);
        cursor: pointer;
        box-shadow: var(--cfg-shadow);
        transition: all 0.2s ease;
        touch-action: manipulation;
      }

      .copy-btn:hover {
        background: var(--cfg-accent);
        color: #fff;
        border-color: var(--cfg-accent);
        transform: translateY(-1px);
        box-shadow: var(--cfg-shadow-lg);
      }

      .copy-btn.copied {
        border-color: var(--app-success, #15803d);
        color: var(--app-success, #15803d);
        background: rgba(21, 128, 61, 0.08);
      }

      .config-footer {
        margin-top: var(--cfg-space-lg);
        padding-top: var(--cfg-space-md);
        border-top: 1px solid var(--cfg-border);
        text-align: center;
      }

      .config-footer h3 {
        margin: 0 0 var(--cfg-space-xs);
        font-family: var(--cfg-font-display);
        font-size: 1rem;
        font-weight: 600;
      }

      .config-footer-desc {
        margin: 0 0 var(--cfg-space-sm);
        font-size: 0.8125rem;
        color: var(--cfg-text-muted);
        line-height: 1.45;
        padding: 0 0.25rem;
      }

      .config-footer-desc a {
        color: var(--cfg-accent);
        text-decoration: none;
      }

      .config-footer-desc a:hover {
        text-decoration: underline;
      }

      .config-footer-map-link {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        gap: 0.35rem;
        margin-bottom: var(--cfg-space-sm);
        padding: 0.45rem 0.9rem;
        min-height: 2.5rem;
        font-size: 0.8125rem;
        touch-action: manipulation;
        font-weight: 600;
        color: var(--cfg-accent);
        text-decoration: none;
        background: var(--cfg-surface);
        border: 1px solid var(--cfg-border);
        border-radius: var(--cfg-radius-sm);
        box-shadow: var(--cfg-shadow);
        transition: all 0.2s ease;
      }

      .config-footer-map-link:hover {
        color: var(--cfg-accent-hover);
        box-shadow: var(--cfg-shadow-lg);
        transform: translateY(-1px);
      }

      .config-footer-embed {
        border-radius: var(--cfg-radius);
        border: 1px solid var(--cfg-border);
        overflow: hidden;
        box-shadow: var(--cfg-shadow);
      }

      .config-footer-iframe {
        display: block;
        width: 100%;
        height: min(48dvh, 360px);
        min-height: 220px;
        border: none;
      }

      .policy-section {
        display: none;
        margin-bottom: var(--cfg-space-md);
      }

      .policy-section.visible {
        display: block;
      }

      .policy-masters {
        display: flex;
        flex-direction: column;
        gap: var(--cfg-space-sm);
        margin-top: var(--cfg-space-md);
        margin-bottom: 0;
        padding: var(--cfg-space-md);
        background: var(--cfg-secondary);
        border-radius: var(--cfg-radius-sm);
        border: 1px solid var(--cfg-border);
      }

      .policy-quick-actions {
        margin-bottom: var(--cfg-space-sm);
        padding: var(--cfg-space-sm) var(--cfg-space-md);
        background: var(--cfg-secondary);
        border-radius: var(--cfg-radius-sm);
        border: 1px solid var(--cfg-border);
      }

      .policy-quick-actions-title {
        margin: 0 0 0.28rem;
        font-family: var(--cfg-font-display);
        font-size: 0.7rem;
        font-weight: 700;
        text-transform: uppercase;
        letter-spacing: 0.045em;
        color: var(--cfg-text-muted);
        line-height: 1.2;
      }

      .policy-quick-actions .policy-global-actions {
        padding: 0;
        border: none;
        background: transparent;
        gap: 0.26rem 0.42rem;
      }

      .policy-quick-actions .policy-global-btn {
        font-size: 0.66rem;
        padding: 0.26rem 0.48rem;
        border-radius: 5px;
      }

      .policy-master {
        display: flex;
        align-items: flex-start;
        gap: 0.5rem;
        font-size: 0.9rem;
        cursor: pointer;
        color: var(--cfg-text);
      }

      .policy-master input {
        margin-top: 0.2rem;
        flex-shrink: 0;
      }

      .policy-master code {
        font-size: 0.8rem;
        padding: 0.1em 0.35em;
        border-radius: 4px;
        background: var(--cfg-bg-subtle);
      }

      .policy-grids-container {
        display: flex;
        flex-direction: column;
        gap: var(--cfg-space-md);
      }

      .policy-subsection {
        border: 1px solid var(--cfg-border);
        border-radius: var(--cfg-radius-sm);
        padding: var(--cfg-space-md);
        background: var(--cfg-secondary);
      }

      .policy-subhead {
        display: flex;
        flex-wrap: wrap;
        align-items: flex-start;
        justify-content: space-between;
        gap: 0.5rem 1rem;
        margin-bottom: 0.65rem;
      }

      .policy-subhead--empty {
        margin-bottom: 0.35rem;
      }

      .policy-subtitle {
        margin: 0;
        flex: 1 1 12rem;
        font-size: 0.78rem;
        font-weight: 700;
        text-transform: uppercase;
        letter-spacing: 0.05em;
        color: var(--cfg-text-muted);
      }

      .policy-head-clear-wrap {
        display: flex;
        align-items: flex-end;
        justify-content: flex-start;
        min-width: 0;
      }

      .policy-global-actions {
        display: flex;
        flex-wrap: wrap;
        align-items: center;
        gap: 0.4rem 0.55rem;
        padding: var(--cfg-space-sm) var(--cfg-space-md);
        background: var(--cfg-secondary);
        border-radius: var(--cfg-radius-sm);
        border: 1px solid var(--cfg-border);
      }

      .policy-global-btn {
        font-family: var(--cfg-font-body);
        font-size: 0.72rem;
        font-weight: 600;
        padding: 0.35rem 0.6rem;
        border-radius: 6px;
        border: 1px solid var(--cfg-border);
        background: var(--cfg-surface);
        color: var(--cfg-text-muted);
        cursor: pointer;
        transition:
          background 0.15s ease,
          color 0.15s ease,
          border-color 0.15s ease;
        touch-action: manipulation;
      }

      .policy-global-btn:hover {
        background: var(--cfg-surface-hover);
        color: var(--cfg-text);
        border-color: var(--cfg-accent);
      }

      .policy-global-btn--clear {
        border-style: dashed;
      }

      .policy-global-btn:focus-visible {
        outline: 2px solid var(--cfg-accent);
        outline-offset: 2px;
      }

      .policy-table-head {
        display: grid;
        grid-template-columns: minmax(0, 1fr) auto minmax(3.25rem, auto) minmax(
            3.25rem,
            auto
          );
        gap: 0.5rem 0.75rem;
        align-items: end;
        padding: 0 0 0.35rem;
        border-bottom: 1px solid var(--cfg-border);
        margin-bottom: 0.35rem;
      }

      .policy-head-clear-link {
        font-size: 0.68rem;
        font-weight: 600;
        padding: 0 0.2rem 0.2rem 0;
        margin: 0;
        border: none;
        background: transparent;
        color: var(--cfg-text-muted);
        cursor: pointer;
        text-decoration: underline;
        text-underline-offset: 2px;
        white-space: nowrap;
        font-family: var(--cfg-font-body);
        line-height: 1.2;
      }

      .policy-head-clear-link:hover {
        color: var(--cfg-accent);
      }

      .policy-head-clear-link:focus-visible {
        outline: 2px solid var(--cfg-accent);
        outline-offset: 2px;
        border-radius: 2px;
      }

      .policy-row-clear-slot {
        min-width: 0;
      }

      .policy-head-scope {
        font-size: 0.7rem;
        font-weight: 700;
        text-transform: uppercase;
        letter-spacing: 0.05em;
        color: var(--cfg-text-muted);
        padding-bottom: 0.15rem;
      }

      .policy-head-col {
        display: flex;
        flex-direction: column;
        align-items: center;
        gap: 0.3rem;
        min-width: 0;
      }

      .policy-head-label {
        font-size: 0.7rem;
        font-weight: 700;
        text-transform: uppercase;
        letter-spacing: 0.05em;
        color: var(--cfg-text-muted);
        line-height: 1.2;
        text-align: center;
      }

      .policy-scope-master-allow,
      .policy-scope-master-deny {
        width: 1.15rem;
        height: 1.15rem;
        cursor: pointer;
        flex-shrink: 0;
      }

      .policy-row {
        display: grid;
        grid-template-columns: minmax(0, 1fr) auto minmax(3.25rem, auto) minmax(
            3.25rem,
            auto
          );
        gap: 0.5rem 0.75rem;
        align-items: center;
        padding: 0.35rem 0;
        border-bottom: 1px solid rgba(231, 229, 224, 0.85);
      }

      .policy-row:last-child {
        border-bottom: none;
      }

      .policy-row-label {
        font-size: 0.88rem;
        line-height: 1.35;
        word-break: break-word;
      }

      .policy-cell {
        display: flex;
        align-items: center;
        justify-content: center;
        min-height: 1.75rem;
      }

      .policy-cell input.policy-allow,
      .policy-cell input.policy-deny {
        cursor: pointer;
        width: 1.1rem;
        height: 1.1rem;
        flex-shrink: 0;
        margin: 0;
      }

      .policy-cell input.policy-allow:disabled,
      .policy-cell input.policy-deny:disabled,
      .policy-scope-master-allow:disabled,
      .policy-scope-master-deny:disabled {
        opacity: 0.42;
        cursor: not-allowed;
      }

      .policy-subsection-note {
        margin: -0.15rem 0 0.55rem;
        font-size: 0.82rem;
        line-height: 1.45;
        color: var(--cfg-text-muted);
        max-width: 52rem;
      }

      .policy-home-override-wrap {
        margin-top: 0.65rem;
        padding-top: 0.65rem;
        border-top: 1px solid rgba(231, 229, 224, 0.85);
      }

      .policy-home-override-label {
        display: flex;
        align-items: center;
        gap: 0.45rem;
        font-size: 0.88rem;
        font-weight: 600;
        cursor: pointer;
      }

      .policy-home-override {
        width: 1.1rem;
        height: 1.1rem;
        flex-shrink: 0;
        cursor: pointer;
      }

      .policy-home-override-hint {
        margin: 0.35rem 0 0.5rem;
        font-size: 0.8rem;
        line-height: 1.4;
        color: var(--cfg-text-muted);
      }

      .policy-home-override-select-label {
        display: block;
        font-size: 0.72rem;
        font-weight: 700;
        text-transform: uppercase;
        letter-spacing: 0.05em;
        color: var(--cfg-text-muted);
        margin-bottom: 0.25rem;
      }

      .policy-home-override-select {
        width: 100%;
        max-width: 20rem;
        font-size: 0.88rem;
        padding: 0.35rem 0.5rem;
        border-radius: 4px;
        border: 1px solid var(--cfg-border);
        background: var(--cfg-bg, #fff);
        color: inherit;
        font-family: var(--cfg-font-body);
      }

      .policy-home-override-select:disabled {
        opacity: 0.45;
        cursor: not-allowed;
      }

      .policy-empty {
        margin: 0.25rem 0 0;
        font-size: 0.85rem;
      }

      @media (min-width: 901px) {
        .config-footer-iframe {
          height: min(52vh, 420px);
        }
        .copy-btn {
          width: auto;
        }
      }

      @media (max-width: 640px) {
        .config-header {
          flex-direction: column;
          align-items: stretch;
          text-align: center;
        }
        .config-header-top {
          flex-direction: column;
          align-items: stretch;
          gap: 0.75rem;
        }
        .config-header-top .config-header-links {
          order: -1;
          align-self: center;
          flex-wrap: wrap;
          justify-content: center;
        }
        .config-header-top h1 {
          text-align: center;
          font-size: clamp(1.15rem, 4.5vw, 1.65rem);
          overflow-wrap: anywhere;
          word-break: break-word;
        }
        .config-header-desc {
          text-align: left;
        }
        .rty-page-wrap.rty-page-wrap--stack {
          padding-top: max(1.25rem, env(safe-area-inset-top, 0px));
          padding-bottom: max(3rem, env(safe-area-inset-bottom, 0px));
        }
        .policy-grids-container {
          min-width: 0;
        }
        .config-footer-iframe {
          height: min(42dvh, 320px);
          min-height: 200px;
        }
        #result-card .result-grid {
          grid-template-columns: repeat(auto-fill, minmax(92px, 1fr));
          gap: 0.24rem;
        }
        #result-card .result-item {
          padding: 0.3rem 0.38rem;
        }
      }

      @media (max-width: 560px) {
        .policy-table-head {
          grid-template-columns:
            minmax(0, 1fr) auto minmax(2.75rem, 1fr)
            minmax(2.75rem, 1fr);
          gap: 0.35rem 0.5rem;
        }
        .policy-head-label {
          font-size: 0.62rem;
        }
        .policy-head-clear-link {
          font-size: 0.62rem;
          padding-right: 0.1rem;
        }
        .policy-row {
          grid-template-columns:
            minmax(0, 1fr) auto minmax(2.75rem, 1fr)
            minmax(2.75rem, 1fr);
          gap: 0.35rem 0.5rem;
          padding: 0.45rem 0;
        }
        .policy-row-label {
          font-size: 0.8rem;
        }
        .policy-cell {
          min-height: 2rem;
        }
      }

      @media (max-width: 480px) {
        .rty-page-wrap.rty-page-wrap--stack {
          padding-left: max(0.65rem, env(safe-area-inset-left, 0px));
          padding-right: max(0.65rem, env(safe-area-inset-right, 0px));
        }
        .config-header {
          padding: 1rem 0.85rem 1.15rem;
        }
        a.rty-back-link {
          padding: 0.5rem 0.75rem;
          font-size: 0.8125rem;
          min-height: 2.75rem;
          touch-action: manipulation;
        }
        .config-card {
          padding: var(--cfg-space-sm) var(--cfg-space-md);
        }
        .config-footer-iframe {
          height: min(38dvh, 280px);
          min-height: 180px;
        }
      }

      @media (max-height: 460px) and (orientation: landscape) {
        .rty-page-wrap.rty-page-wrap--stack {
          padding-top: max(0.5rem, env(safe-area-inset-top, 0px));
        }
        .config-header {
          margin-bottom: 1rem;
          padding: 0.65rem 0.85rem;
        }
      }

