/* Rapid Review's website, design H (dev/landing/handover.md).
   Every page loads this: the fonts, the design system's tokens and the rules
   of its components the pages use (generated, between the markers below),
   then the site's own: the frame, the header's menu without script, the
   motion controls and the footer. A page adds its own stylesheet:
   home.css, or detail.css for the detail pages. */

/* Fonts: self-hosted, as in rapid-review-app (public/fonts). */
@font-face { font-family: "Instrument Sans"; font-style: normal; font-display: swap; font-weight: 400 700; src: url(fonts/instrument-sans-latin-ext.woff2) format("woff2"); unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF; }
@font-face { font-family: "Instrument Sans"; font-style: normal; font-display: swap; font-weight: 400 700; src: url(fonts/instrument-sans-latin.woff2) format("woff2"); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
@font-face { font-family: "JetBrains Mono"; font-style: normal; font-display: swap; font-weight: 400 500; src: url(fonts/jetbrains-mono-latin-ext.woff2) format("woff2"); unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF; }
@font-face { font-family: "JetBrains Mono"; font-style: normal; font-display: swap; font-weight: 400 500; src: url(fonts/jetbrains-mono-latin.woff2) format("woff2"); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }

/* design-system:start: generated by scripts/design-css.ts from the design system
   (dev/landing/reference/ds, version 1793371466-0bbe, 30 Oct 2026); do not edit. A change to
   these rules belongs in the design system first. */
:root { color-scheme: light dark; --bg: #F5F6F7; --surface: #FFFFFF; --surface-2: #F0F1F3; --line: #E2E4E8; --line-strong: #CDD1D7; --text: #14161A; --text-2: #454B54; --text-3: #646B76; --code: #F6F7F9; --mark: #FFF1C2; --scrim: rgba(15, 17, 20, 0.45); --accent: #1F2328; --accent-soft: #EEF0F2; --on-accent: #FFFFFF; --signal: #0527FC; --signal-soft: #EBEEFF; --on-signal: #FFFFFF; --highlight: #D3FA37; --on-highlight: #14161A; --highlight-soft: #F1FBC6; --on-crit: #FFFFFF; --link-deco: #CDD1D7; --brand-mark: #FF0090; --brand-ui: #0527FC; --logo-ink: #000000; --logo-paper: #FFFFFF; --sev-critical: #CF222E; --sev-major: #BC4C00; --sev-minor: #9A6700; --sev-refactor: #8250DF; --sev-none: #59636E; --on-severity: #FFFFFF; --crit: #CF222E; --crit-soft: #FFEBE9; --major: #BC4C00; --major-soft: #FFF1E5; --minor: #9A6700; --minor-soft: #FFF8C5; --refactor: #8250DF; --refactor-soft: #FBEFFF; --fixed: #13795B; --fixed-soft: #E7F5EF; --viz-1: #0527FC; --viz-2: #3094FF; --viz-3: #001C4D; --viz-muted: #878E99; --stream-teal: #1FA391; --stream-blue: #3E63DD; --stream-violet: #7A5AE0; --stream-amber: #E58A00; --stream-coral: #E2583A; --stream-gold: #C99A06; --stream-neon-cyan: #00A8C7; --stream-neon-pink: #E01BB5; --stream-neon-lime: #4DAE00; --stream-neon-violet: #7A3BF0; --switch-knob: #FFFFFF; --shadow-pressed-sm: 0 1px 2px rgba(0, 0, 0, 0.08); --shadow-pressed: 0 1px 2px rgba(0, 0, 0, 0.1); --shadow-knob: 0 1px 2px rgba(0, 0, 0, 0.2); --shadow-tooltip: 0 6px 20px rgba(0, 0, 0, 0.12); --shadow-drawer: 0 12px 40px rgba(0, 0, 0, 0.25); --shadow-showcase: 0 12px 32px rgba(20, 22, 26, 0.06); --ring-selected: 0 0 0 1px #0527FC; }
:root { --space-2: 2px; --space-4: 4px; --space-6: 6px; --space-8: 8px; --space-10: 10px; --space-12: 12px; --space-14: 14px; --space-16: 16px; --space-18: 18px; --space-20: 20px; --space-22: 22px; --space-24: 24px; --space-32: 32px; --space-40: 40px; --space-64: 64px; --radius-2: 2px; --radius-3: 3px; --radius-4: 4px; --radius-6: 6px; --radius-7: 7px; --radius-8: 8px; --radius-9: 9px; --radius-10: 10px; --radius-12: 12px; --radius-pill: 9999px; --control-28: 28px; --control-30: 30px; --control-32: 32px; --control-34: 34px; --control-36: 36px; --control-40: 40px; --control-44: 44px; --control-48: 48px; --sidebar: 232px; --content: 1240px; --content-narrow: 1040px; --bar-max: 16px; --font-sans: "Instrument Sans", ui-sans-serif, system-ui, -apple-system, "Segoe UI", sans-serif; --font-mono: "JetBrains Mono", ui-monospace, SFMono-Regular, Menlo, monospace; }
@media (prefers-color-scheme: dark) {
  :root:not([data-theme="light"]) { --bg: #0F1114; --surface: #16191D; --surface-2: #1D2126; --line: #282D33; --line-strong: #383E46; --text: #E9EBEE; --text-2: #B4BAC3; --text-3: #8D949E; --code: #121418; --mark: #3A3220; --scrim: rgba(15, 17, 20, 0.45); --accent: #E9EBEE; --accent-soft: #262A30; --on-accent: #0F1114; --signal: #3094FF; --signal-soft: #001C4D; --on-signal: #0F1114; --highlight: #D3FA37; --on-highlight: #14161A; --highlight-soft: #2A3311; --on-crit: #0F1114; --link-deco: #383E46; --brand-mark: #FF0090; --brand-ui: #3094FF; --logo-ink: #FFFFFF; --logo-paper: #000000; --sev-critical: #CF222E; --sev-major: #BC4C00; --sev-minor: #9A6700; --sev-refactor: #8250DF; --sev-none: #59636E; --on-severity: #FFFFFF; --crit: #F85149; --crit-soft: #3A1D1F; --major: #F5A35B; --major-soft: #3A2A18; --minor: #D29922; --minor-soft: #3A3218; --refactor: #AB7DF8; --refactor-soft: #2C2443; --fixed: #5CCB9C; --fixed-soft: #17312A; --viz-1: #3094FF; --viz-2: #9EECFF; --viz-3: #1A61FE; --viz-muted: #737B86; --stream-teal: #2DD4BF; --stream-blue: #6B8AF5; --stream-violet: #A78BFA; --stream-amber: #FBBF24; --stream-coral: #FF8A65; --stream-gold: #FDE047; --stream-neon-cyan: #22EEFF; --stream-neon-pink: #FF4FD8; --stream-neon-lime: #B8FF3A; --stream-neon-violet: #A47BFF; --switch-knob: #FFFFFF; --shadow-pressed-sm: 0 1px 2px rgba(0, 0, 0, 0.08); --shadow-pressed: 0 1px 2px rgba(0, 0, 0, 0.1); --shadow-knob: 0 1px 2px rgba(0, 0, 0, 0.2); --shadow-tooltip: 0 6px 20px rgba(0, 0, 0, 0.12); --shadow-drawer: 0 12px 40px rgba(0, 0, 0, 0.25); --shadow-showcase: 0 12px 32px rgba(20, 22, 26, 0.06); --ring-selected: 0 0 0 1px #3094FF; }
}
:root[data-theme="light"] { color-scheme: light; }
:root[data-theme="dark"] { --bg: #0F1114; --surface: #16191D; --surface-2: #1D2126; --line: #282D33; --line-strong: #383E46; --text: #E9EBEE; --text-2: #B4BAC3; --text-3: #8D949E; --code: #121418; --mark: #3A3220; --scrim: rgba(15, 17, 20, 0.45); --accent: #E9EBEE; --accent-soft: #262A30; --on-accent: #0F1114; --signal: #3094FF; --signal-soft: #001C4D; --on-signal: #0F1114; --highlight: #D3FA37; --on-highlight: #14161A; --highlight-soft: #2A3311; --on-crit: #0F1114; --link-deco: #383E46; --brand-mark: #FF0090; --brand-ui: #3094FF; --logo-ink: #FFFFFF; --logo-paper: #000000; --sev-critical: #CF222E; --sev-major: #BC4C00; --sev-minor: #9A6700; --sev-refactor: #8250DF; --sev-none: #59636E; --on-severity: #FFFFFF; --crit: #F85149; --crit-soft: #3A1D1F; --major: #F5A35B; --major-soft: #3A2A18; --minor: #D29922; --minor-soft: #3A3218; --refactor: #AB7DF8; --refactor-soft: #2C2443; --fixed: #5CCB9C; --fixed-soft: #17312A; --viz-1: #3094FF; --viz-2: #9EECFF; --viz-3: #1A61FE; --viz-muted: #737B86; --stream-teal: #2DD4BF; --stream-blue: #6B8AF5; --stream-violet: #A78BFA; --stream-amber: #FBBF24; --stream-coral: #FF8A65; --stream-gold: #FDE047; --stream-neon-cyan: #22EEFF; --stream-neon-pink: #FF4FD8; --stream-neon-lime: #B8FF3A; --stream-neon-violet: #A47BFF; --switch-knob: #FFFFFF; --shadow-pressed-sm: 0 1px 2px rgba(0, 0, 0, 0.08); --shadow-pressed: 0 1px 2px rgba(0, 0, 0, 0.1); --shadow-knob: 0 1px 2px rgba(0, 0, 0, 0.2); --shadow-tooltip: 0 6px 20px rgba(0, 0, 0, 0.12); --shadow-drawer: 0 12px 40px rgba(0, 0, 0, 0.25); --shadow-showcase: 0 12px 32px rgba(20, 22, 26, 0.06); --ring-selected: 0 0 0 1px #3094FF; }
:root[data-theme="dark"] { color-scheme: dark; }
.rr-app { background: var(--bg); color: var(--text); font-family: var(--font-sans); font-size: 14px; line-height: 1.5; -webkit-font-smoothing: antialiased; }
.rr-app :focus-visible { outline: 2px solid var(--accent); outline-offset: 2px; }
.rr-sr { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
.rr-num { font-variant-numeric: tabular-nums; }
.rr-icon { flex: none; display: inline-block; vertical-align: middle; }
.rr-logo { display: inline-flex; align-items: center; gap: var(--space-10); color: var(--text); text-decoration: none; }
.rr-logo-sm { gap: var(--space-8); }
.rr-logo-name { font-weight: 600; letter-spacing: -0.01em; }
.rr-logo-tile { fill: var(--logo-ink); }
.rr-logo-diamonds { fill: var(--logo-paper); }
.rr-avatar { flex: none; box-sizing: border-box; display: inline-flex; align-items: center; justify-content: center; border-radius: var(--radius-pill); background: var(--surface-2); border: 1px solid var(--line); font-size: 12px; font-weight: 600; color: var(--text-2); }
.rr-btn { box-sizing: border-box; display: inline-flex; align-items: center; justify-content: center; gap: var(--space-8); height: var(--control-36); padding: 0 var(--space-14); border-radius: var(--radius-8); border: 1px solid transparent; font: inherit; font-size: 14px; font-weight: 500; line-height: 1; text-decoration: none; white-space: nowrap; cursor: pointer; }
.rr-btn-primary { border: 0; background: var(--accent); color: var(--on-accent); font-weight: 600; }
.rr-btn-secondary { border-color: var(--line-strong); background: var(--surface); color: var(--text); }
.rr-btn-ghost { border: 0; background: transparent; color: var(--text-2); padding: 0 var(--space-12); }
.rr-btn-30 { height: var(--control-30); padding: 0 var(--space-12); font-size: 13px; }
.rr-btn-32 { height: var(--control-32); padding: 0 var(--space-12); font-size: 13px; }
.rr-btn-block { display: flex; width: 100%; }
.rr-btn-icon { padding: 0; width: var(--control-44); height: var(--control-44); }
.rr-btn:disabled, .rr-btn[aria-disabled="true"] { opacity: 0.45; cursor: default; }
.rr-link { color: var(--accent); font-weight: 500; text-decoration: underline; text-decoration-color: var(--link-deco); text-underline-offset: 3px; }
.rr-sev { display: inline-flex; align-items: center; gap: var(--space-6); height: 22px; padding: 0 var(--space-8); border-radius: var(--radius-6); color: var(--on-severity); font-size: 12px; font-weight: 600; line-height: 1; white-space: nowrap; }
.rr-sev-inline { padding: 0 7px; margin-right: var(--space-6); vertical-align: 1px; }
.rr-sev-major { background: var(--sev-major); }
.rr-pill { flex: none; display: inline-flex; align-items: center; gap: var(--space-6); height: 24px; padding: 0 var(--space-10); border-radius: var(--radius-pill); background: var(--surface-2); color: var(--text); font-size: 12px; font-weight: 600; line-height: 1; white-space: nowrap; text-decoration: none; }
.rr-pill-22 { height: 22px; padding: 0 9px; }
.rr-pill-fixed { background: var(--fixed-soft); color: var(--fixed); }
.rr-tag { display: inline-flex; align-items: center; height: 20px; padding: 0 7px; box-sizing: border-box; border-radius: var(--radius-pill); border: 1px solid var(--line-strong); font-size: 11px; font-weight: 500; line-height: 1; color: var(--text-2); white-space: nowrap; }
.rr-tag-18 { height: 18px; padding: 0 var(--space-6); }
.rr-tag-soft { border: 0; padding: 0 var(--space-8); background: var(--surface-2); font-weight: 600; }
.rr-code { display: inline-flex; align-items: center; height: 26px; padding: 0 var(--space-8); box-sizing: border-box; border-radius: var(--radius-6); background: var(--code); border: 1px solid var(--line); font-family: var(--font-mono); font-size: 12px; color: var(--text-2); }
.rr-code-24 { height: 24px; }
.rr-tile { display: flex; flex-direction: column; gap: var(--space-6); padding: var(--space-16) var(--space-18); border: 1px solid var(--line); border-radius: var(--radius-12); background: var(--surface); }
.rr-tile-head { display: flex; align-items: center; justify-content: space-between; gap: var(--space-8); }
.rr-tile-label { font-size: 13px; font-weight: 500; color: var(--text-2); }
.rr-tile-info { display: inline-flex; color: var(--text-3); }
.rr-tile-value { display: flex; align-items: baseline; gap: var(--space-8); }
.rr-tile-number { font-size: 28px; line-height: 1.15; font-weight: 600; letter-spacing: -0.02em; }
.rr-tile-unit { font-size: 14px; color: var(--text-2); }
.rr-tile-detail { font-size: 13px; color: var(--text-3); }
.rr-tiles { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(300px, 100%), 1fr)); gap: var(--space-12); }
.rr-table-wrap { border: 1px solid var(--line); border-radius: var(--radius-12); background: var(--surface); overflow-x: auto; }
.rr-table { width: 100%; border-collapse: collapse; font-size: 14px; }
.rr-table thead tr { background: var(--surface-2); }
.rr-table th { padding: 9px var(--space-16); font-size: 12px; font-weight: 500; color: var(--text-3); text-align: left; border-bottom: 1px solid var(--line); }
.rr-table td { padding: var(--space-12) var(--space-16); border-bottom: 1px solid var(--line); vertical-align: top; }
.rr-defs { display: flex; flex-direction: column; gap: var(--space-12); padding-top: var(--space-8); }
.rr-defs-title { margin: 0; font-size: 15px; font-weight: 600; }
.rr-defs dl { margin: 0; display: grid; grid-template-columns: repeat(auto-fit, minmax(min(320px, 100%), 1fr)); gap: var(--space-14) var(--space-32); font-size: 13px; line-height: 1.55; }
.rr-defs dt { font-weight: 600; color: var(--text); }
.rr-defs dd { margin: var(--space-2) 0 0; color: var(--text-2); }
.rr-notice { display: flex; align-items: flex-start; gap: var(--space-10); padding: var(--space-12) var(--space-16); border-radius: var(--radius-10); font-size: 14px; line-height: 1.5; color: var(--text); }
.rr-notice-success { background: var(--fixed-soft); }
.rr-notice-warning { background: var(--major-soft); }
.rr-notice-danger { background: var(--crit-soft); }
.rr-notice-icon { margin-top: 3px; }
.rr-notice-warning .rr-notice-icon, .rr-notice-danger .rr-notice-icon { margin-top: 2px; }
.rr-notice-success .rr-notice-icon { color: var(--fixed); }
.rr-notice-warning .rr-notice-icon { color: var(--major); }
.rr-notice-danger .rr-notice-icon { color: var(--crit); }
.rr-notice-text { flex: 1 1 auto; min-width: 0; overflow-wrap: anywhere; }
.rr-notice strong { font-weight: 600; }
.rr-notice-actions { flex: none; display: flex; align-items: center; gap: var(--space-8); align-self: center; }
.rr-btn-danger { border: 0; background: var(--crit); color: var(--on-crit); font-weight: 600; }
.rr-table tbody th, .rr-table tfoot th { padding: var(--space-12) var(--space-16); font-size: 14px; font-weight: 500; color: var(--text); vertical-align: top; }
.rr-table tbody + tbody > tr:first-child > * { border-top: 1px solid var(--line-strong); }
.rr-table tfoot td, .rr-table tfoot th { background: var(--surface-2); font-weight: 600; border-bottom: 0; }
.rr-avatar-28 { width: 28px; height: 28px; }
.rr-btn-44 { height: var(--control-44); }
.rr-theme { display: inline-flex; align-items: center; gap: var(--space-2); margin: 0; padding: var(--space-2); border: 1px solid var(--line); border-radius: var(--radius-8); background: var(--surface); }
.rr-theme button { position: relative; display: inline-flex; align-items: center; justify-content: center; width: 26px; height: 26px; padding: 0; border: 0; border-radius: var(--radius-6); background: transparent; color: var(--text-3); cursor: pointer; }
.rr-theme button:hover { color: var(--text); }
.rr-theme button[aria-pressed="true"] { background: var(--surface-2); color: var(--text); }
.rr-theme button:focus-visible { outline: 2px solid var(--accent); outline-offset: 1px; }
.rr-thread { position: relative; display: flex; flex-direction: column; gap: var(--space-12); }
.rr-thread::before { content: ""; position: absolute; left: 13px; top: var(--space-8); bottom: var(--space-8); width: 2px; background: var(--line); }
.rr-tcomment { position: relative; display: grid; grid-template-columns: 28px minmax(0, 1fr); gap: var(--space-12); align-items: start; }
.rr-tcomment-avatar { position: relative; z-index: 1; display: inline-flex; width: 28px; height: 28px; }
.rr-tcomment-avatar .rr-logo { gap: 0; }
.rr-tcomment-box { min-width: 0; border: 1px solid var(--line); border-radius: var(--radius-10); background: var(--surface); overflow: hidden; }
.rr-tcomment-head { display: flex; flex-wrap: wrap; align-items: center; gap: var(--space-4) var(--space-8); padding: var(--space-8) var(--space-14); background: var(--surface-2); border-bottom: 1px solid var(--line); font-size: 13px; line-height: 1.4; }
.rr-tcomment-author { font-weight: 600; color: var(--text); }
.rr-tcomment-action, .rr-tcomment-at { color: var(--text-3); }
.rr-tcomment-resolved { margin-left: auto; }
.rr-tcomment-body { display: flex; flex-direction: column; gap: var(--space-10); padding: var(--space-12) var(--space-14); font-size: 14px; line-height: 1.6; color: var(--text); overflow-wrap: anywhere; }
.rr-tcomment-body p { margin: 0; }
.rr-tcomment-body p strong { font-weight: 600; }
.rr-tcomment-body p code { font-family: var(--font-mono); font-size: 12.5px; padding: 0 var(--space-4); border: 1px solid var(--line); border-radius: var(--radius-6); background: var(--code); }
.rr-tevent { position: relative; display: grid; grid-template-columns: 28px minmax(0, 1fr); column-gap: var(--space-12); align-items: center; font-size: 13px; line-height: 1.5; color: var(--text-2); }
.rr-tevent-mark { position: relative; z-index: 1; justify-self: center; display: inline-flex; align-items: center; justify-content: center; width: 24px; height: 24px; border-radius: var(--radius-pill); border: 1px solid var(--line); background: var(--surface-2); color: var(--text-2); }
.rr-tevent-actor { font-weight: 600; color: var(--text); }
.rr-tevent-sha { font-family: var(--font-mono); font-size: 12px; font-weight: 500; color: var(--accent); }
.rr-tevent-at { margin-left: var(--space-8); color: var(--text-3); }
.rr-checkrow { position: relative; display: grid; grid-template-columns: 28px minmax(0, 1fr); column-gap: var(--space-12); align-items: center; font-size: 13px; line-height: 1.5; }
.rr-checkrow-mark { position: relative; z-index: 1; justify-self: center; display: inline-flex; align-items: center; justify-content: center; width: 24px; height: 24px; border-radius: var(--radius-pill); border: 1px solid var(--line); background: var(--surface); color: var(--text-3); }
.rr-checkrow.is-success .rr-checkrow-mark { border-color: var(--fixed); background: var(--fixed); color: var(--surface); }
.rr-checkrow.is-running .rr-checkrow-mark { border-color: var(--major); background: var(--major-soft); color: var(--major); }
.rr-checkrow-box { min-width: 0; display: flex; flex-wrap: wrap; align-items: center; gap: var(--space-4) var(--space-8); padding: var(--space-8) var(--space-12); border: 1px solid var(--line); border-radius: var(--radius-8); background: var(--surface); }
.rr-checkrow-name { font-family: var(--font-mono); font-size: 12px; font-weight: 500; color: var(--text); }
.rr-checkrow-title { color: var(--text-2); }
.rr-checkrow-link { margin-left: auto; font-size: 13px; font-weight: 500; color: var(--accent); }
.rr-diff { position: relative; border: 1px solid var(--line); border-radius: var(--radius-10); overflow: hidden; background: var(--surface); }
.rr-diff-head { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: var(--space-4) var(--space-12); padding: var(--space-8) var(--space-12); background: var(--surface-2); border-bottom: 1px solid var(--line); font-size: 12px; color: var(--text-2); }
.rr-diff-file { display: inline-flex; align-items: center; gap: var(--space-6); min-width: 0; }
.rr-diff-file .rr-icon { color: var(--text-3); }
.rr-diff-file code { font-family: var(--font-mono); color: var(--text); overflow-wrap: anywhere; }
.rr-diff-adds { color: var(--fixed); font-weight: 600; }
.rr-diff-dels { color: var(--crit); font-weight: 600; }
.rr-diff-scroll { overflow-x: auto; }
.rr-diff-table { width: 100%; border-collapse: collapse; font-family: var(--font-mono); font-size: 12px; line-height: 1.75; color: var(--text); }
.rr-diff-table td { padding: 0; vertical-align: top; }
.rr-diff-table .rr-diff-no { width: 44px; min-width: 44px; box-sizing: border-box; padding: 0 var(--space-8); text-align: right; color: var(--text-3); white-space: nowrap; user-select: none; }
.rr-diff-table .rr-diff-code { padding: 0 var(--space-12) 0 var(--space-4); white-space: pre; }
.rr-diff-sign { display: inline-block; width: 16px; color: var(--text-3); user-select: none; }
.rr-diff-line.is-add td { background: var(--fixed-soft); }
.rr-diff-line.is-del td { background: var(--crit-soft); }
.rr-diff-line.is-add .rr-diff-sign { color: var(--fixed); }
.rr-diff-line.is-del .rr-diff-sign { color: var(--crit); }
.rr-diff-line.is-hunk td { background: var(--surface-2); color: var(--text-3); }
.rr-diff-thread { display: flex; flex-direction: column; gap: var(--space-10); padding: var(--space-12); border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); background: var(--bg); }
.rr-diff-thread:last-child { border-bottom: 0; }
.rr-thread > .rr-diff, .rr-thread > div > .rr-diff { margin-left: 40px; }
@media (max-width: 480px) {
  .rr-thread > .rr-diff, .rr-thread > div > .rr-diff { margin-left: 0; }
  .rr-diff-thread { padding: var(--space-10) var(--space-8); }
}
.rr-suggest { border: 1px solid var(--line); border-radius: var(--radius-8); overflow: hidden; }
.rr-suggest-head { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: var(--space-8); padding: var(--space-6) var(--space-6) var(--space-6) var(--space-12); background: var(--surface-2); border-bottom: 1px solid var(--line); font-size: 12px; font-weight: 500; color: var(--text-2); }
.rr-suggest-code { margin: 0; padding: var(--space-6) 0; background: var(--code); font-family: var(--font-mono); font-size: 12px; line-height: 1.7; overflow-x: auto; }
.rr-suggest-line { display: block; padding: 0 var(--space-12); white-space: pre; color: var(--text); }
.rr-suggest-line.is-add { background: var(--fixed-soft); }
.rr-suggest-line.is-del { background: var(--crit-soft); }
.rr-suggest-sign { display: inline-block; width: 16px; user-select: none; }
.rr-suggest-line.is-add .rr-suggest-sign { color: var(--fixed); }
.rr-suggest-line.is-del .rr-suggest-sign { color: var(--crit); }
.rr-summary { display: flex; flex-direction: column; gap: var(--space-10); font-size: 14px; line-height: 1.6; }
.rr-summary-headline { margin: 0; }
.rr-summary-headline strong { font-weight: 600; }
.rr-summary-text { color: var(--text-2); }
.rr-summary-text p { margin: 0; }
.rr-summary-sections { display: flex; flex-direction: column; border-top: 1px solid var(--line); }
.rr-summary-section { border-bottom: 1px solid var(--line); }
.rr-summary-section summary { cursor: pointer; padding: var(--space-8) 0; font-size: 13px; font-weight: 500; color: var(--text); }
.rr-summary-body { padding: 0 0 var(--space-10); font-size: 13px; color: var(--text-2); }
.rr-replay { margin: 0; display: flex; flex-direction: column; gap: var(--space-14); padding: var(--space-18) var(--space-18) var(--space-10); border: 1px solid var(--line); border-radius: var(--radius-12); background: var(--bg); color: var(--text); font-family: var(--font-sans); }
.rr-replay-head { display: flex; flex-wrap: wrap; align-items: center; gap: var(--space-6) var(--space-10); font-size: 15px; font-weight: 600; line-height: 1.4; }
.rr-replay-number { font-weight: 400; color: var(--text-3); }
.rr-replay-explain { color: var(--text-2); }
.rr-replay-swap { display: grid; }
.rr-replay-swap > * { grid-area: 1 / 1; }
.rr-replay-running { opacity: 0; }
.rr-replay-foot { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: var(--space-8); padding-top: var(--space-8); border-top: 1px solid var(--line); font-size: 12px; color: var(--text-3); }
.rr-replay .rr-replay-step, .rr-replay .rr-replay-running, .rr-replay .rr-replay-done { animation-duration: 16s; animation-timing-function: cubic-bezier(0.2, 0, 0, 1); animation-iteration-count: infinite; animation-fill-mode: both; }
.rr-replay .rr-replay-s1 { animation-name: rr-replay-1; }
.rr-replay .rr-replay-running { animation-name: rr-replay-running; }
.rr-replay .rr-replay-done { animation-name: rr-replay-done; }
.rr-replay .rr-replay-s3 { animation-name: rr-replay-3; }
.rr-replay .rr-replay-s4 { animation-name: rr-replay-4; }
.rr-replay .rr-replay-s5 { animation-name: rr-replay-5; }
.rr-replay .rr-replay-s6 { animation-name: rr-replay-6; }
.rr-replay .rr-check-spin { transform-origin: 50% 50%; animation: rr-replay-spin 1.1s linear infinite; }
.rr-replay.is-still *, .rr-replay.is-still { animation: none !important; }
@media (prefers-reduced-motion: reduce) {
  .rr-replay *, .rr-replay { animation: none !important; }
  .rr-replay-pause { display: none; }
}
@media (max-width: 480px) {
  .rr-replay { padding: var(--space-14) var(--space-12) var(--space-10); }
  .rr-tcomment-resolved { margin-left: 0; }
}
.rr-streams { position: absolute; inset: 0; overflow: hidden; pointer-events: none; }
.rr-streams > svg { position: absolute; inset: 0; width: 100%; height: 100%; display: block; }
.rr-streams path { fill: none; stroke-linecap: round; }
.rr-streams.is-neon { --rr-trail: 0.34; --rr-pulse: 1; }
.rr-streams.is-mono { --rr-trail: 0.16; --rr-pulse: 0.55; }
.rr-streams-trail { opacity: var(--rr-trail); }
.rr-streams-pulse { opacity: var(--rr-pulse); stroke-dasharray: 12 88; animation-name: rr-streams-run; animation-timing-function: linear; animation-iteration-count: infinite; animation-fill-mode: both; }
.rr-streams-pulse.is-double { stroke-dasharray: 7 43; }
.rr-sc-ink { stroke: var(--text); }
.rr-sc-ink-2 { stroke: var(--text-3); }
.rr-sc-neon-cyan { stroke: var(--stream-neon-cyan); }
.rr-sc-neon-pink { stroke: var(--stream-neon-pink); }
.rr-sc-neon-lime { stroke: var(--stream-neon-lime); }
.rr-sc-neon-violet { stroke: var(--stream-neon-violet); }
.rr-streams-glow { filter: blur(3px); }
.rr-streams-glow .rr-streams-pulse { opacity: 0.7; stroke-width: 4; }
.rr-sv1 { animation-duration: 1.1s; }
.rr-sv2 { animation-duration: 1.4s; }
.rr-sv3 { animation-duration: 1.75s; }
.rr-sv4 { animation-duration: 2.1s; }
.rr-sv5 { animation-duration: 2.6s; }
.rr-sd0 { animation-delay: 0s; }
.rr-sd1 { animation-delay: -0.3s; }
.rr-sd2 { animation-delay: -0.6s; }
.rr-sd3 { animation-delay: -0.9s; }
.rr-sd4 { animation-delay: -1.2s; }
.rr-sd5 { animation-delay: -1.5s; }
.rr-sd6 { animation-delay: -1.8s; }
.rr-sd7 { animation-delay: -2.1s; }
.rr-streams.is-still .rr-streams-pulse, .rr-streams.is-still .rr-streams-glow { display: none; }
.rr-streams.is-still .rr-streams-trail { opacity: calc(var(--rr-trail) * 1.5); }
.rr-streams-pause { position: absolute; right: var(--space-12); bottom: var(--space-12); pointer-events: auto; background: var(--surface); }
@media (prefers-reduced-motion: reduce) {
  .rr-streams .rr-streams-pulse, .rr-streams .rr-streams-glow { display: none; }
  .rr-streams .rr-streams-trail { opacity: calc(var(--rr-trail) * 1.5); }
  .rr-streams-pause { display: none; }
}
.rr-ticker { margin: 0; display: flex; flex-direction: column; gap: var(--space-12); padding: var(--space-16) var(--space-16) var(--space-8); border: 1px solid var(--line); border-radius: var(--radius-12); background: var(--surface); color: var(--text); font-family: var(--font-sans); font-size: 13px; line-height: 1.5; }
.rr-ticker-head { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: var(--space-8); }
.rr-ticker-name { font-family: var(--font-mono); font-size: 12px; color: var(--text-2); }
.rr-ticker-slot { position: relative; height: 56px; border: 1px solid var(--line); border-radius: var(--radius-8); background: var(--bg); overflow: hidden; }
.rr-ticker-item { position: absolute; inset: 0; display: flex; align-items: center; justify-content: space-between; gap: var(--space-12); padding: 0 var(--space-14); }
.rr-ticker-commit { display: inline-flex; align-items: center; gap: var(--space-8); min-width: 0; color: var(--text-3); }
.rr-ticker-commit code { font-family: var(--font-mono); font-size: 12.5px; color: var(--text); }
.rr-ticker-at { color: var(--text-3); }
.rr-ticker-state { display: grid; justify-items: end; min-width: 0; }
.rr-ticker-run, .rr-ticker-done { grid-area: 1 / 1; display: inline-flex; align-items: center; gap: var(--space-6); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; max-width: 100%; }
.rr-ticker-run { color: var(--major); }
.rr-ticker-done { color: var(--text); }
.rr-ticker-done .rr-icon { flex: none; }
.rr-ticker-done.is-success .rr-icon { color: var(--fixed); }
.rr-ticker-done.is-skipped .rr-icon { color: var(--text-3); }
.rr-ticker-pips { display: flex; flex-wrap: wrap; align-items: center; gap: var(--space-6); }
.rr-ticker-pips-label { margin-right: var(--space-4); font-size: 12px; color: var(--text-3); }
.rr-ticker-pip { display: inline-flex; align-items: center; justify-content: center; width: 20px; height: 20px; border-radius: var(--radius-pill); border: 1px solid var(--line); background: var(--surface); color: var(--text-3); }
.rr-ticker-pip.is-success { border-color: var(--fixed); background: var(--fixed); color: var(--surface); }
.rr-ticker-foot { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: var(--space-8); padding-top: var(--space-8); border-top: 1px solid var(--line); font-size: 12px; color: var(--text-3); }
.rr-ticker .rr-ticker-item, .rr-ticker .rr-ticker-run, .rr-ticker .rr-ticker-done { animation-duration: 12s; animation-timing-function: cubic-bezier(0.2, 0, 0, 1); animation-iteration-count: infinite; animation-fill-mode: both; }
.rr-ticker .rr-ticker-item { animation-name: rr-ticker-item; }
.rr-ticker .rr-ticker-run { animation-name: rr-ticker-run; }
.rr-ticker .rr-ticker-done { animation-name: rr-ticker-done; }
.rr-ticker .rr-ticker-i2, .rr-ticker .rr-ticker-i2 .rr-ticker-run, .rr-ticker .rr-ticker-i2 .rr-ticker-done { animation-delay: 3s; }
.rr-ticker .rr-ticker-i3, .rr-ticker .rr-ticker-i3 .rr-ticker-run, .rr-ticker .rr-ticker-i3 .rr-ticker-done { animation-delay: 6s; }
.rr-ticker .rr-ticker-i4, .rr-ticker .rr-ticker-i4 .rr-ticker-run, .rr-ticker .rr-ticker-i4 .rr-ticker-done { animation-delay: 9s; }
.rr-ticker .rr-ticker-p1, .rr-ticker .rr-ticker-p2, .rr-ticker .rr-ticker-p3, .rr-ticker .rr-ticker-p4 { animation-duration: 12s; animation-timing-function: cubic-bezier(0.2, 0, 0, 1); animation-iteration-count: infinite; animation-fill-mode: both; }
.rr-ticker .rr-ticker-p1 { animation-name: rr-ticker-p1; }
.rr-ticker .rr-ticker-p2 { animation-name: rr-ticker-p2; }
.rr-ticker .rr-ticker-p3 { animation-name: rr-ticker-p3; }
.rr-ticker .rr-ticker-p4 { animation-name: rr-ticker-p4; }
.rr-ticker.is-still *, .rr-ticker.is-still { animation: none !important; }
.rr-ticker.is-still .rr-ticker-item { opacity: 0; }
.rr-ticker.is-still .rr-ticker-item:last-child { opacity: 1; }
.rr-ticker.is-still .rr-ticker-run { opacity: 0; }
@media (prefers-reduced-motion: reduce) {
  .rr-ticker *, .rr-ticker { animation: none !important; }
  .rr-ticker .rr-ticker-item { opacity: 0; }
  .rr-ticker .rr-ticker-item:last-child { opacity: 1; }
  .rr-ticker .rr-ticker-run { opacity: 0; }
  .rr-ticker-pause { display: none; }
}
.rr-ticker .rr-check-spin { transform-origin: 50% 50%; animation: rr-replay-spin 1.1s linear infinite; }
.rr-site { position: relative; z-index: 20; background: var(--bg); color: var(--text); font-family: var(--font-sans); }
.rr-site-bar { position: relative; z-index: 2; max-width: 1416px; margin: 0 auto; padding: var(--space-12) clamp(16px, 3vw, 28px); display: flex; align-items: center; justify-content: space-between; gap: var(--space-12) var(--space-32); background: var(--bg); }
.rr-site-start { display: flex; align-items: center; gap: var(--space-40); min-width: 0; }
.rr-site-links { display: flex; flex-wrap: wrap; gap: var(--space-6) 26px; font-size: 14px; }
.rr-site-links a { color: var(--text); text-decoration: none; }
.rr-site-links a:hover { color: var(--text-2); }
.rr-site-links a[aria-current="page"] { font-weight: 600; text-decoration: underline; text-decoration-color: var(--signal); text-decoration-thickness: 2px; text-underline-offset: 6px; }
.rr-site-end { display: flex; align-items: center; gap: var(--space-8); }
.rr-site-menu { display: none; }
.rr-site-sheet { position: absolute; left: 0; right: 0; top: 100%; z-index: 2; padding: var(--space-4) clamp(16px, 3vw, 28px) var(--space-24); background: var(--bg); border-bottom: 1px solid var(--line); opacity: 0; visibility: hidden; transform: translateY(-8px); transition: opacity 200ms cubic-bezier(0.2, 0, 0, 1), transform 240ms cubic-bezier(0.2, 0, 0, 1), visibility 0s linear 240ms; }
.rr-site-sheet-links { display: flex; flex-direction: column; }
.rr-site-sheet-links a { display: flex; align-items: center; justify-content: space-between; gap: var(--space-12); min-height: var(--control-48); padding: var(--space-6) var(--space-2); border-bottom: 1px solid var(--line); color: var(--text); font-size: 18px; font-weight: 500; text-decoration: none; }
.rr-site-sheet-links a .rr-icon { color: var(--text-3); }
.rr-site-sheet-links a[aria-current="page"] { font-weight: 600; }
.rr-site-sheet-actions { display: flex; flex-direction: column; gap: var(--space-10); margin-top: var(--space-20); }
@media (max-width: 860px) {
  .rr-site-links, .rr-site-signin { display: none; }
  .rr-site-menu { display: inline-flex; }
}
@media (max-width: 520px) {
  .rr-site-cta { display: none; }
}
@media (min-width: 861px) {
  .rr-site-sheet { display: none; }
}
@media (prefers-reduced-motion: reduce) {
  .rr-site-sheet { transition: none; }
}
.rr-motion-toggle { position: absolute; inset: 0; margin: 0; opacity: 0; cursor: pointer; }
.rr-motion:has(.rr-motion-toggle:focus-visible) { outline: 2px solid var(--accent); outline-offset: 2px; }
.rr-motion-play { display: none; }
.rr-motion:has(.rr-motion-toggle:checked) .rr-motion-pause { display: none; }
.rr-motion:has(.rr-motion-toggle:checked) .rr-motion-play { display: inline-block; }
@media (prefers-color-scheme: dark) {
  :root:where(:not([data-theme="light"])) .rr-streams.is-neon { --rr-trail: 0.3; --rr-pulse: 1; }
}
:root:where([data-theme="dark"]) .rr-streams.is-neon { --rr-trail: 0.3; --rr-pulse: 1; }
@keyframes rr-replay-1 { 0% { opacity: 0; transform: translateY(6px); } 3%, 93% { opacity: 1; transform: none; } 97%, 100% { opacity: 0; transform: none; } }
@keyframes rr-replay-running { 0%, 7% { opacity: 0; transform: translateY(6px); } 10%, 23% { opacity: 1; transform: none; } 25%, 100% { opacity: 0; transform: none; } }
@keyframes rr-replay-done { 0%, 23% { opacity: 0; } 25%, 93% { opacity: 1; } 97%, 100% { opacity: 0; } }
@keyframes rr-replay-3 { 0%, 27% { opacity: 0; transform: translateY(8px); } 31%, 93% { opacity: 1; transform: none; } 97%, 100% { opacity: 0; transform: none; } }
@keyframes rr-replay-4 { 0%, 49% { opacity: 0; transform: translateY(6px); } 52%, 93% { opacity: 1; transform: none; } 97%, 100% { opacity: 0; transform: none; } }
@keyframes rr-replay-5 { 0%, 61% { opacity: 0; transform: translateY(6px); } 65%, 93% { opacity: 1; transform: none; } 97%, 100% { opacity: 0; transform: none; } }
@keyframes rr-replay-6 { 0%, 71% { opacity: 0; transform: translateY(6px); } 74%, 93% { opacity: 1; transform: none; } 97%, 100% { opacity: 0; transform: none; } }
@keyframes rr-replay-spin { to { transform: rotate(360deg); } }
@keyframes rr-streams-run { from { stroke-dashoffset: 100; } to { stroke-dashoffset: 0; } }
@keyframes rr-ticker-item { 0% { opacity: 0; transform: translateY(8px); } 2% { opacity: 1; transform: none; } 23% { opacity: 1; transform: none; } 25%, 100% { opacity: 0; transform: translateY(-8px); } }
@keyframes rr-ticker-run { 0%, 9% { opacity: 1; } 11%, 100% { opacity: 0; } }
@keyframes rr-ticker-done { 0%, 10% { opacity: 0; transform: translateY(4px); } 12.5%, 100% { opacity: 1; transform: none; } }
@keyframes rr-ticker-p1 { 0%, 11% { opacity: 0; transform: scale(0.6); } 13%, 96% { opacity: 1; transform: none; } 99%, 100% { opacity: 0; } }
@keyframes rr-ticker-p2 { 0%, 36% { opacity: 0; transform: scale(0.6); } 38%, 96% { opacity: 1; transform: none; } 99%, 100% { opacity: 0; } }
@keyframes rr-ticker-p3 { 0%, 61% { opacity: 0; transform: scale(0.6); } 63%, 96% { opacity: 1; transform: none; } 99%, 100% { opacity: 0; } }
@keyframes rr-ticker-p4 { 0%, 86% { opacity: 0; transform: scale(0.6); } 88%, 96% { opacity: 1; transform: none; } 99%, 100% { opacity: 0; } }
/* design-system:end */

/* The frame: the page's ground, as the design's boards set it. */
*, *::before, *::after { box-sizing: border-box; }
html, body { margin: 0; }
body { background: var(--bg); }
.site { min-height: 100vh; min-height: 100dvh; display: flex; flex-direction: column; font-size: 16px; line-height: 1.55; }
.site > main { flex: 1 0 auto; }
code { font-family: var(--font-mono); }

/* The logo's name: the bundle sets its size inline (NAME_SIZE); here it is a class. */
.rr-logo-name-13 { font-size: 13px; }
.rr-logo-name-15 { font-size: 15px; }
.rr-logo-name-16 { font-size: 16px; }
.rr-logo-name-17 { font-size: 17px; }

/* A control drawn in a scene, such as Commit suggestion: it looks like a button and is not one. */
.rr-btn-drawn { cursor: default; }

/* The header's menu, as a popover (handover, section 2.2): the sheet opens under the bar,
   its ::backdrop is the scrim, and the button swaps its icon while it is open. */
.rr-site { --rr-site-bar: 60px; }
.rr-site-sheet[popover] { display: none; position: absolute; inset: var(--rr-site-bar) 0 auto 0; width: auto; max-width: none; height: auto; margin: 0; border: 0; border-bottom: 1px solid var(--line); padding: var(--space-4) clamp(16px, 3vw, 28px) var(--space-24); background: var(--bg); color: var(--text); font-family: var(--font-sans); opacity: 1; visibility: visible; transform: none; transition: opacity 240ms cubic-bezier(0.2, 0, 0, 1), transform 240ms cubic-bezier(0.2, 0, 0, 1); }
@media (max-width: 860px) { .rr-site-sheet[popover]:popover-open { display: block; } }
@starting-style { .rr-site-sheet[popover]:popover-open { opacity: 0; transform: translateY(-8px); } }
.rr-site-sheet::backdrop { inset: var(--rr-site-bar) 0 0 0; background: var(--scrim); }
.rr-site-menu-close { display: none; }
.rr-site:has(.rr-site-sheet:popover-open) .rr-site-menu-open { display: none; }
.rr-site:has(.rr-site-sheet:popover-open) .rr-site-menu-close { display: inline-block; }
.rr-site-sheet :focus-visible { outline: 2px solid var(--accent); outline-offset: 2px; }
@media (max-width: 860px) { .rr-site { --rr-site-bar: 68px; } }
/* A browser without popovers keeps the sheet hidden and the header's links in the bar. */
@supports not selector(:popover-open) {
  @media (max-width: 860px) {
    .rr-site-links { display: flex; }
    .rr-site-signin { display: inline-flex; }
    .rr-site-menu { display: none; }
  }
  .rr-site-bar { flex-wrap: wrap; }
}
@media (prefers-reduced-motion: reduce) { .rr-site-sheet[popover] { transition: none; } }

/* Pausing motion without script (handover, section 2.2): a checkbox in a ghost button's look,
   checked meaning paused. It shows the pause mark, and the play mark once paused. */
/* :where() keeps this at no specificity, so a placement the design system gives (the streams' bottom right) wins. */
:where(.rr-motion) { position: relative; }
.rr-motion { color: var(--text-2); }
.rr-motion-toggle { position: absolute; inset: 0; margin: 0; opacity: 0; cursor: pointer; }
.rr-motion:has(.rr-motion-toggle:focus-visible) { outline: 2px solid var(--accent); outline-offset: 2px; }
.rr-motion-play { display: none; }
.rr-motion:has(.rr-motion-toggle:checked) .rr-motion-pause { display: none; }
.rr-motion:has(.rr-motion-toggle:checked) .rr-motion-play { display: inline-block; }
.rr-streams:has(.rr-motion-toggle:checked) * { animation-play-state: paused; }
.rr-replay:has(.rr-motion-toggle:checked), .rr-replay:has(.rr-motion-toggle:checked) * { animation-play-state: paused !important; }
.rr-ticker:has(.rr-motion-toggle:checked), .rr-ticker:has(.rr-motion-toggle:checked) * { animation-play-state: paused !important; }

/* Moving streams in layers (src/site/scenes.ts, lightStreams): the pulses on a layer of their
   own, the only one drawn again as they run, and over them the design's masks as fades into
   the ground. Reduced motion has no pulses, so it needs no layer for them. */
.rr-streams-moving { will-change: transform; }
.rr-streams-fade stop { stop-color: var(--bg); }
@media (prefers-reduced-motion: reduce) { .rr-streams > .rr-streams-moving { display: none; } }

/* The footer (handover, section 3). */
.site-foot { margin-top: 72px; border-top: 1px solid var(--line); background: var(--surface); }
.site-foot-inner { max-width: 1240px; margin: 0 auto; padding: 48px clamp(16px, 4vw, 40px) 28px; display: flex; flex-direction: column; gap: 44px; }
.site-foot-cols { display: flex; flex-wrap: wrap; gap: 28px 24px; font-size: 14px; }
.site-foot-brand { flex: 1 1 220px; }
.site-foot-col { flex: 1 1 150px; display: flex; flex-direction: column; gap: 8px; }
.site-foot-col:last-child { flex-basis: 200px; }
.site-foot-label { color: var(--text-3); }
.site-foot-col a { color: var(--text); text-decoration: none; }
.site-foot-col a:hover { color: var(--text-2); }
.site-foot-legal { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 16px; font-size: 12px; color: var(--text-3); }
.site-foot-choices { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; }

/* The cookie question (src/site/chrome.ts, consentQuestion): at the foot of the window until it is
   answered, with both answers alike; the answer in the footer beside the theme. */
.site-consent { position: fixed; z-index: 20; right: 16px; bottom: 16px; left: 16px; max-width: 440px; margin: 0 0 0 auto; display: flex; flex-direction: column; gap: 12px; padding: 16px; border: 1px solid var(--line); border-radius: var(--radius-8); background: var(--surface); box-shadow: var(--shadow-drawer); font-size: 14px; line-height: 1.5; color: var(--text-2); }
.site-consent-text { margin: 0; }
.site-consent-text strong { color: var(--text); font-weight: 600; }
.site-consent-actions { display: flex; gap: 8px; }
.site-consent-actions .rr-btn { flex: 1 1 0; }
.site-consent-switch-label { padding: 0 var(--space-4); }
.rr-theme.site-consent-switch button { width: auto; padding: 0 var(--space-6); font: inherit; font-size: 12px; }
/* While the question is asked, the footer leaves room for it, so nothing stays under it. */
.site:has(> .site-consent) .site-foot-inner { padding-bottom: 220px; }
