.rp-page { max-width:1280px; font-size:1rem; }
.rp-page * { box-sizing:border-box; }
.rp-page [hidden] { display:none !important; }
.rp-page a { color:var(--site-link,var(--site-text-strong,#eee)); text-underline-offset:3px; }
.rp-page p { line-height:1.65; }
.rp-header { display:flex; justify-content:space-between; align-items:center; gap:24px; margin-bottom:24px; }
.rp-header h1 { font-size:clamp(2rem,4vw,3rem); margin:16px 0 8px; }
.rp-header p { color:var(--econ-muted); margin:0; }
.rp-header nav { display:flex; flex-wrap:wrap; gap:16px; font-size:.9rem; }
.rp-header [aria-current] { font-weight:800; }
.rp-stats { display:grid; grid-template-columns:1fr 1fr 1.4fr; gap:16px; margin:20px 0; }
.rp-stats > div { border:1px solid var(--econ-border); background:var(--econ-panel); border-radius:12px; padding:20px; }
.rp-stats span { display:block; font-size:.875rem; color:var(--econ-muted); margin-bottom:9px; }
.rp-stats strong { font-size:1.7rem; line-height:1.3; overflow-wrap:anywhere; }
.rp-stats > div:last-child strong { font-size:1.2rem; }
.rp-panel { margin-bottom:22px; padding:clamp(18px,3vw,28px); min-width:0; }
.rp-heading { display:flex; flex-wrap:wrap; align-items:baseline; justify-content:space-between; gap:12px; }
.rp-heading > span, .rp-note { font-size:.875rem; color:var(--econ-muted); }
.rp-badge { border:1px solid var(--econ-border); border-radius:20px; padding:4px 10px; }
.rp-compass-layout { display:grid; grid-template-columns:minmax(260px,.85fr) minmax(0,1.15fr); gap:32px; }
.rp-chart-column { position:static; align-self:start; min-width:0; }
.rp-compass { width:100%; max-width:480px; height:auto; display:block; margin:auto; }
.rp-compass text { fill:currentColor; font-family:inherit; }
.rp-analysis h3 { font-size:1.6rem; line-height:1.3; margin:6px 0 14px; }
.rp-analysis { padding-top:24px; min-width:0; }
.rp-description { color:var(--econ-muted); font-size:.9375rem; }
.rp-timeline { border-top:1px solid var(--econ-border); margin-top:24px; padding-top:20px; }
.rp-timeline h3 { margin:0 0 8px; font-size:1.1rem; }
.rp-band { display:flex; height:14px; gap:2px; overflow:hidden; border-radius:4px; margin:20px 0 16px; }
.rp-band button { min-width:0; border:0; padding:0; border-radius:0; cursor:pointer; }
.rp-page input[type=range] { display:block; width:100%; height:36px; padding:0; margin:4px 0; background:transparent; accent-color:var(--site-text-strong,#eee); cursor:pointer; }
.rp-page input[type=range]::-webkit-slider-runnable-track { height:4px; border-radius:4px; background:var(--econ-muted); }
.rp-page input[type=range]::-webkit-slider-thumb { margin-top:-6px; }
.rp-page input[type=range]::-moz-range-track { height:4px; border-radius:4px; background:var(--econ-muted); }
.rp-controls { display:flex; justify-content:center; gap:10px; margin-top:16px; }
.rp-controls button { background:var(--econ-panel-strong); color:inherit; border:1px solid var(--econ-border); padding:10px 14px; border-radius:7px; font:inherit; cursor:pointer; }
.rp-controls button:disabled { opacity:.4; cursor:default; }
.rp-page button:focus-visible, .rp-page input:focus-visible, .rp-page summary:focus-visible { outline:2px solid currentColor; outline-offset:3px; }
.rp-table { width:100%; border-collapse:collapse; table-layout:fixed; font-size:.875rem; }
.rp-table th { font-weight:500; text-align:left; width:50%; overflow-wrap:anywhere; }
.rp-table td { text-align:right; font-variant-numeric:tabular-nums; width:20%; white-space:nowrap; }
.rp-table th,.rp-table td { border-bottom:1px solid var(--econ-border); padding:10px 5px; vertical-align:middle; }
.rp-table thead th { width:auto; color:var(--econ-muted); font-size:.8125rem; }
.rp-table .rp-chart-cell { width:30%; padding-right:10px; }
.rp-bar-track { display:block; height:10px; background:var(--econ-panel-strong); border-radius:3px; overflow:hidden; }
.rp-bar { display:block; height:100%; background:#c85b59; min-width:1px; }
.rp-pie-layout { display:grid; grid-template-columns:minmax(230px,.7fr) minmax(0,1.3fr); gap:24px; align-items:start; }
.rp-pie { width:100%; max-width:340px; height:auto; margin:20px auto; display:block; }
.rp-swatch { display:inline-block; width:11px; height:11px; margin-right:7px; border-radius:2px; }
.rp-ratings { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:20px; }
.rp-ratings .rp-panel { padding:18px; }
.rp-ratings .rp-table th { width:46%; }
.rp-ratings .rp-chart-cell { width:24%; }
.rp-ratings .rp-table td:last-child { width:30%; }
.rp-page details { font-size:.9375rem; line-height:1.65; }
.rp-page summary { cursor:pointer; font-weight:600; }
.rp-page details[open] > summary { margin-bottom:16px; }
@media(max-width:1000px) { .rp-ratings { grid-template-columns:1fr; } }
@media(max-width:760px) {
  .rp-header { align-items:flex-start; flex-direction:column; gap:16px; }
  .rp-stats { grid-template-columns:1fr 1fr; }
  .rp-stats > div:last-child { grid-column:1/-1; }
  .rp-compass-layout,.rp-pie-layout { grid-template-columns:1fr; gap:18px; }
  .rp-compass { max-width:420px; }
  .rp-analysis { padding-top:0; }
  .rp-table th { width:48%; }
  .rp-table .rp-chart-cell { width:22%; }
  .rp-table td:last-child { width:30%; }
}
@media(prefers-reduced-motion:reduce) { .rp-page * { scroll-behavior:auto; } }
