/* Respect hidden fields even when component styles set display. */
[hidden] { display: none !important; }


:root {
  color-scheme: light;
  --foreground-rgb: 25, 28, 30;
  --surface-rgb: 250, 250, 248;
  --raised-rgb: 255, 255, 253;
  --white-rgb: 255, 255, 255;
  --shade-rgb: 231, 232, 230;
  --accent-rgb: 215, 25, 32;
  --input-bg: #ffffff;
  --inverse-bg: #1a1d1f;
  --inverse-ink: #ffffff;
  --action: #d71920;
  --ink: #1a1d1f;
  --muted: #6d7377;
  --night: #efefec;
  --panel: rgba(var(--surface-rgb), 0.9);
  --panel-solid: #f8f8f5;
  --line: rgba(var(--foreground-rgb), 0.18);
  --lime: #d71920;
  --lime-soft: rgba(var(--accent-rgb), 0.08);
  --cyan: #8c9498;
  --blue: #c9cdcf;
  --warning: #a71219;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; background: var(--night); }
body {
  margin: 0;
  background:
    radial-gradient(ellipse 72% 46% at 82% -4%, rgba(var(--white-rgb), 0.98) 0%, rgba(var(--white-rgb), 0.54) 44%, transparent 76%),
    radial-gradient(ellipse 56% 40% at 8% 54%, rgba(122, 130, 135, 0.14) 0%, transparent 72%),
    conic-gradient(from 218deg at 72% 17%, transparent 0deg, rgba(var(--accent-rgb), 0.055) 18deg, transparent 46deg, rgba(45, 50, 53, 0.055) 83deg, transparent 122deg),
    linear-gradient(142deg, #f6f6f3 0%, #e5e7e5 46%, #f2f2ef 76%, #e8e9e7 100%);
  background-attachment: fixed;
  color: var(--ink);
  color-scheme: inherit;
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  font-feature-settings: "tnum" 1, "ss01" 1;
}
button, input, select { font: inherit; }
button, a, input, select, summary { -webkit-tap-highlight-color: transparent; }
a { color: inherit; text-decoration: none; }
button { color: inherit; }
::selection { background: var(--lime); color: #ffffff; }
:focus-visible { outline: 2px solid var(--lime); outline-offset: 3px; }

.label-with-help { align-items: center; display: inline-flex; gap: 6px; min-width: 0; }
.heading-with-help { align-items: center; display: flex; gap: 12px; }
.help-tip { align-items: center; display: inline-flex; flex: 0 0 auto; gap: 3px; line-height: 1; vertical-align: middle; }
.help-tip-trigger {
  align-items: center;
  appearance: none;
  background: rgba(var(--white-rgb), 0.72);
  border: 1px solid rgba(77, 84, 88, 0.38);
  border-radius: 50%;
  color: var(--text-secondary, #5d6468);
  cursor: help;
  display: inline-flex;
  font-family: ui-monospace, SFMono-Regular, Menlo, monospace;
  font-size: 12px;
  font-weight: 650;
  height: 19px;
  justify-content: center;
  line-height: 1;
  padding: 0;
  transition: background 150ms ease, border-color 150ms ease, box-shadow 150ms ease, color 150ms ease, transform 150ms ease;
  width: 19px;
}
.help-tip-trigger:hover, .help-tip-trigger[aria-expanded="true"] {
  background: var(--lime);
  border-color: var(--lime);
  box-shadow: 0 5px 14px rgba(145, 16, 22, 0.18);
  color: #ffffff;
  transform: translateY(-1px);
}
.help-tip-trigger:focus-visible { outline: 2px solid var(--lime); outline-offset: 2px; }
.help-tip-bubble {
  background: rgba(25, 28, 30, 0.98);
  border-top: 2px solid var(--lime);
  box-shadow: 0 16px 42px rgba(20, 23, 25, 0.24);
  color: #ffffff;
  display: block;
  font-size: 12px;
  font-weight: 450;
  letter-spacing: 0;
  line-height: 1.5;
  padding: 12px 14px;
  pointer-events: none;
  position: fixed;
  text-align: left;
  text-transform: none;
  transform: var(--tooltip-shift);
  z-index: 1000;
}
.help-tip-edit-trigger {
  align-items: center;
  background: rgba(var(--white-rgb), 0.84);
  border: 1px solid rgba(var(--accent-rgb), 0.42);
  color: var(--lime);
  cursor: pointer;
  display: inline-flex;
  height: 19px;
  justify-content: center;
  padding: 0;
  transition: background 150ms ease, border-color 150ms ease, box-shadow 150ms ease, color 150ms ease, transform 150ms ease;
  width: 19px;
}
.help-tip-edit-trigger svg, .inline-help-admin-bar button svg {
  fill: none;
  height: 12px;
  stroke: currentColor;
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-width: 1.8;
  width: 12px;
}
.help-tip-edit-trigger:hover, .help-tip-edit-trigger:focus-visible {
  background: var(--lime);
  border-color: var(--lime);
  box-shadow: 0 5px 14px rgba(145, 16, 22, 0.18);
  color: #ffffff;
  transform: translateY(-1px);
}
.help-tip.is-admin-placeholder .help-tip-edit-trigger {
  background: rgba(var(--accent-rgb), 0.06);
  border-style: dashed;
  opacity: 0.82;
}
.help-tip-editor-backdrop {
  align-items: center;
  background: rgba(24, 27, 29, 0.56);
  display: flex;
  inset: 0;
  justify-content: center;
  padding: 24px;
  position: fixed;
  z-index: 1200;
}
.help-tip-editor {
  background: var(--panel-solid);
  border: 1px solid rgba(var(--accent-rgb), 0.36);
  box-shadow: 0 28px 90px rgba(20, 23, 25, 0.32);
  max-height: calc(100dvh - 48px);
  overflow-y: auto;
  padding: 28px;
  position: relative;
  width: min(580px, 100%);
}
.help-tip-editor::before {
  background: var(--lime);
  content: "";
  height: 2px;
  left: -1px;
  position: absolute;
  top: -1px;
  width: 64px;
}
.help-tip-editor > header { align-items: flex-start; display: flex; gap: 22px; justify-content: space-between; }
.help-tip-editor > header span { color: var(--lime); font-size: 10px; font-weight: 680; letter-spacing: 0.13em; text-transform: uppercase; }
.help-tip-editor > header h2 { font-size: 25px; font-weight: 620; letter-spacing: -0.035em; line-height: 1.15; margin: 10px 0 0; }
.help-tip-editor > header > button { background: transparent; border: 0; color: var(--muted); cursor: pointer; font-size: 28px; line-height: 1; padding: 0; transition: color 150ms ease, transform 150ms ease; }
.help-tip-editor > header > button:hover { color: var(--lime); transform: rotate(8deg); }
.help-tip-editor-status { align-items: center; display: flex; gap: 10px; margin-top: 22px; }
.help-tip-editor-status > span { background: rgba(var(--foreground-rgb), 0.06); color: var(--text-secondary, #555d61); font-size: 11px; padding: 6px 8px; }
.help-tip-editor-status > span.is-hidden { background: rgba(var(--accent-rgb), 0.07); color: var(--text-warning, #8b1016); }
.help-tip-editor-status > span.is-deleted { background: #8b1016; color: #ffffff; }
.help-tip-editor-status code { color: var(--text-muted, #858b8f); font-size: 11px; overflow-wrap: anywhere; }
.help-tip-editor > p { color: var(--muted); font-size: 13px; line-height: 1.55; margin: 16px 0 22px; }
.help-tip-editor form > label { display: flex; flex-direction: column; gap: 8px; }
.help-tip-editor form > label > span { color: var(--muted); font-size: 12px; }
.help-tip-editor textarea {
  background: var(--input-bg);
  border: 1px solid var(--line);
  color: var(--ink);
  font: inherit;
  font-size: 15px;
  line-height: 1.55;
  min-height: 156px;
  outline: 0;
  padding: 13px 14px;
  resize: vertical;
  transition: border-color 160ms ease, box-shadow 160ms ease;
  width: 100%;
}
.help-tip-editor textarea:focus { border-color: rgba(var(--accent-rgb), 0.58); box-shadow: 0 0 0 3px rgba(var(--accent-rgb), 0.08); }
.help-tip-editor-meta { color: var(--muted); display: flex; font-size: 11px; justify-content: space-between; margin-top: 8px; }
.help-tip-editor-meta code { color: var(--lime); }
.help-tip-editor-error, .help-tip-editor-message { font-size: 12px; line-height: 1.5; margin: 13px 0 0; }
.help-tip-editor-error { color: var(--warning); }
.help-tip-editor-message { color: var(--text-secondary, #4d565a); }
.help-tip-editor-actions { display: flex; flex-wrap: wrap; gap: 9px; margin-top: 20px; }
.help-tip-editor-actions button, .help-tip-delete-confirm button {
  background: transparent;
  border: 1px solid var(--line);
  cursor: pointer;
  font-size: 13px;
  min-height: 42px;
  padding: 10px 14px;
  transition: background 160ms ease, border-color 160ms ease, box-shadow 160ms ease, color 160ms ease, transform 160ms ease;
}
.help-tip-editor-actions button:disabled, .help-tip-delete-confirm button:disabled { cursor: not-allowed; opacity: 0.38; }
.help-tip-editor-actions .help-tip-editor-save { background: var(--lime); border-color: var(--lime); color: #ffffff; font-weight: 680; }
.help-tip-editor-actions .help-tip-editor-delete { border-color: rgba(167, 18, 25, 0.34); color: var(--warning); }
.help-tip-editor-actions .help-tip-editor-reset { color: var(--text-secondary, #555d61); }
.help-tip-delete-confirm { background: rgba(167, 18, 25, 0.06); border: 1px solid rgba(167, 18, 25, 0.24); margin-top: 15px; padding: 14px; }
.help-tip-delete-confirm p { color: var(--text-warning, #7f161c); font-size: 12px; line-height: 1.5; margin: 0; }
.help-tip-delete-confirm > div { display: flex; gap: 8px; margin-top: 11px; }
.help-tip-delete-confirm button:first-child { background: #8b1016; border-color: #8b1016; color: #ffffff; }

.inline-help-admin-bar {
  align-items: center;
  background: rgba(var(--surface-rgb), 0.94);
  border: 1px solid var(--line);
  display: flex;
  justify-content: space-between;
  margin: 16px auto 0;
  max-width: 1480px;
  min-height: 62px;
  padding: 10px 12px 10px 18px;
  position: relative;
  transition: background 180ms ease, border-color 180ms ease, box-shadow 180ms ease;
  width: calc(100% - 64px);
  z-index: 20;
}
.inline-help-admin-bar.is-active { background: rgba(var(--raised-rgb), 0.98); border-color: rgba(var(--accent-rgb), 0.46); box-shadow: 0 10px 28px rgba(35, 39, 41, 0.07); }
.inline-help-admin-bar > div > span { color: var(--lime); font-size: 9px; font-weight: 680; letter-spacing: 0.12em; text-transform: uppercase; }
.inline-help-admin-bar p { color: var(--muted); font-size: 12px; margin: 5px 0 0; }
.inline-help-admin-bar > button { align-items: center; background: var(--inverse-bg); border: 0; color: #ffffff; cursor: pointer; display: inline-flex; font-size: 12px; font-weight: 650; gap: 9px; min-height: 40px; padding: 10px 14px; transition: background 160ms ease, box-shadow 160ms ease, transform 160ms ease; }
.inline-help-admin-bar > button[aria-pressed="true"] { background: var(--lime); }
.inline-help-admin-bar button svg { height: 15px; width: 15px; }

.site-shell { min-height: 100vh; overflow-x: clip; overflow-y: visible; position: relative; }
.site-shell::before {
  background:
    linear-gradient(146deg, rgba(var(--white-rgb), 0.7) 0 31%, rgba(166, 171, 174, 0.12) 31% 48%, transparent 48%),
    linear-gradient(32deg, transparent 0 54%, rgba(var(--accent-rgb), 0.075) 54% 56%, rgba(var(--white-rgb), 0.32) 56% 72%, transparent 72%);
  clip-path: polygon(26% 0, 100% 0, 100% 73%, 68% 88%, 28% 72%, 0 39%);
  content: "";
  filter: drop-shadow(-28px 32px 44px rgba(33, 38, 41, 0.08));
  height: 900px;
  pointer-events: none;
  position: absolute;
  right: -16%;
  top: 92px;
  width: 70%;
  z-index: 0;
}
.site-shell::after {
  background: radial-gradient(ellipse at center, rgba(var(--white-rgb), 0.55), rgba(96, 104, 108, 0.045) 48%, transparent 72%);
  border: 1px solid rgba(45, 50, 53, 0.055);
  border-radius: 50%;
  content: "";
  height: 760px;
  left: -340px;
  pointer-events: none;
  position: absolute;
  top: 980px;
  transform: rotate(-18deg);
  width: 1080px;
  z-index: 0;
}
.ambient {
  border-radius: 0;
  filter: none;
  opacity: 0.6;
  pointer-events: none;
  position: absolute;
  z-index: 0;
}
.ambient-one { background: conic-gradient(from 238deg, transparent 0 38%, rgba(var(--accent-rgb), 0.12) 38% 39%, rgba(var(--white-rgb), 0.2) 39% 63%, transparent 63%); clip-path: polygon(50% 0, 100% 31%, 83% 100%, 16% 82%, 0 24%); height: 720px; right: -160px; top: 70px; width: 720px; }
.ambient-two { background: linear-gradient(132deg, transparent 0 44%, rgba(62, 68, 72, 0.075) 44% 63%, rgba(var(--white-rgb), 0.42) 63% 77%, transparent 77%); clip-path: polygon(0 25%, 68% 0, 100% 69%, 37% 100%); height: 680px; left: -240px; top: 1140px; transform: rotate(8deg); width: 680px; }

.topbar, .hero, .workspace, .calculator, .calculator-return, .method, .about-hero, .about-metrics, .about-section, footer {
  margin-inline: auto;
  max-width: 1480px;
  position: relative;
  width: calc(100% - 64px);
  z-index: 1;
}
.topbar {
  align-items: center;
  border-bottom: 1px solid var(--line);
  display: flex;
  height: 92px;
  justify-content: space-between;
}
.topbar::after {
  background: var(--lime);
  bottom: -1px;
  content: "";
  height: 2px;
  left: 0;
  position: absolute;
  width: 58px;
}
.brand-cluster { align-items: center; display: flex; gap: 18px; min-width: 0; }
.brand { align-items: center; display: inline-flex; gap: 15px; transition: color 170ms ease, transform 170ms ease; }
.brand-mark { font-size: 29px; font-weight: 800; letter-spacing: -0.08em; line-height: 1; }
.brand-caption {
  border-left: 1px solid var(--line);
  color: var(--muted);
  font-size: 10px;
  letter-spacing: 0.16em;
  line-height: 1.35;
  max-width: 64px;
  padding-left: 15px;
  text-transform: uppercase;
}
.brand-separator { background: var(--line); height: 36px; width: 1px; }
.rir-logo { display: block; height: auto; object-fit: contain; }
.rir-logo-header { width: 176px; }
.rir-logo-link { display: inline-flex; transition: filter 180ms ease, opacity 180ms ease, transform 180ms ease; }
.topnav { align-items: center; display: flex; gap: 36px; }
.topnav a { color: var(--text-secondary, #555b5f); font-size: 13px; transition: color 160ms ease, transform 160ms ease, border-color 160ms ease, background 160ms ease; }
.topnav a:hover, .topnav a[aria-current="page"] { color: var(--lime); transform: translateY(-1px); }
.topnav a:last-child { border: 1px solid var(--line); border-radius: 0; color: var(--ink); padding: 10px 16px; }

.hero {
  align-items: center;
  display: grid;
  gap: 90px;
  grid-template-columns: minmax(0, 1.05fr) minmax(430px, 0.95fr);
  min-height: 720px;
  padding-block: 90px 112px;
}
.eyebrow {
  align-items: center;
  color: var(--text-secondary, #62686c);
  display: flex;
  font-size: 11px;
  font-weight: 650;
  gap: 10px;
  letter-spacing: 0.16em;
  margin: 0 0 26px;
  text-transform: uppercase;
}
.eyebrow span { background: var(--lime); height: 2px; width: 24px; }
.hero h1, .section-heading h2 { font-weight: 620; letter-spacing: -0.055em; margin: 0; }
.hero h1 { font-size: clamp(58px, 6.7vw, 108px); line-height: 0.91; max-width: 900px; }
.hero h1 em { color: var(--lime); font-style: normal; }
.hero-lead { color: var(--text-secondary, #555c60); font-size: clamp(17px, 1.45vw, 21px); line-height: 1.62; margin: 38px 0 0; max-width: 660px; }
.hero-actions { align-items: center; display: flex; gap: 28px; margin-top: 42px; }
.primary-button {
  align-items: center;
  background: var(--lime);
  clip-path: polygon(0 0, calc(100% - 13px) 0, 100% 13px, 100% 100%, 0 100%);
  color: #ffffff;
  display: inline-flex;
  font-size: 14px;
  font-weight: 720;
  gap: 36px;
  justify-content: space-between;
  min-width: 226px;
  padding: 17px 18px;
  transition: box-shadow 180ms ease, transform 180ms ease;
}
.primary-button:hover { box-shadow: 0 12px 28px rgba(145, 16, 22, 0.2); transform: translateY(-2px); }
.primary-button span { font-size: 20px; line-height: 0; }
.text-link { border-bottom: 1px solid rgba(var(--foreground-rgb), 0.34); color: var(--text-strong, #25292c); font-size: 14px; padding-bottom: 4px; transition: border-color 170ms ease, color 170ms ease, transform 170ms ease; }

.hero-signal {
  align-items: center;
  aspect-ratio: 1;
  display: flex;
  justify-content: center;
  justify-self: end;
  max-width: 560px;
  position: relative;
  width: 100%;
}
.hero-signal::before, .signal-orbit { border: 1px solid rgba(var(--foreground-rgb), 0.16); border-radius: 50%; inset: 8%; position: absolute; }
.hero-signal::before { animation: orbit-reverse 32s linear infinite; border-style: dashed; content: ""; inset: 0; }
.signal-orbit { animation: orbit-spin 18s linear infinite; }
.signal-orbit::before, .signal-orbit::after {
  background: var(--lime);
  border-radius: 50%;
  box-shadow: 0 0 20px rgba(var(--accent-rgb), 0.35);
  content: "";
  height: 7px;
  position: absolute;
  width: 7px;
}
.signal-orbit::before { right: 13%; top: 7%; }
.signal-orbit::after { bottom: 10%; left: 12%; }
.signal-card {
  align-items: center;
  background: linear-gradient(145deg, rgba(var(--raised-rgb), 0.98), rgba(var(--shade-rgb), 0.96));
  border: 1px solid rgba(var(--accent-rgb), 0.36);
  border-radius: 50%;
  box-shadow: 0 25px 80px rgba(35, 39, 41, 0.1);
  display: flex;
  flex-direction: column;
  height: 61%;
  justify-content: center;
  position: relative;
  width: 61%;
  transition: border-color 220ms ease, box-shadow 220ms ease, transform 220ms ease;
}
.signal-card::after { border: 1px dashed rgba(var(--accent-rgb), 0.2); border-radius: 50%; content: ""; inset: 13px; position: absolute; }
.signal-label { color: var(--muted); font-size: 10px; letter-spacing: 0.12em; text-transform: uppercase; }
.signal-card strong { color: var(--lime); font-size: clamp(68px, 7vw, 105px); font-weight: 620; letter-spacing: -0.08em; line-height: 1; margin: 12px 0 0; }
.signal-scale { color: var(--text-muted, #747b7f); font-size: 12px; margin-bottom: 24px; }
.signal-stat {
  backdrop-filter: blur(12px);
  background: rgba(var(--surface-rgb), 0.84);
  border: 1px solid var(--line);
  display: flex;
  flex-direction: column;
  min-width: 132px;
  padding: 16px 18px;
  position: absolute;
  transition: background 180ms ease, border-color 180ms ease, box-shadow 180ms ease, transform 180ms ease;
}
.signal-stat strong { font-size: 26px; font-weight: 600; }
.signal-stat > .metric-label { color: var(--muted); font-size: 11px; margin-top: 3px; }
.signal-label-line { justify-content: center; }
.signal-label-line .help-tip-trigger, .metric-label .help-tip-trigger { height: 17px; width: 17px; }
.signal-stat-left { bottom: 23%; left: 0; }
.signal-stat-right { right: -2%; top: 22%; }
.segment-meter { display: grid; gap: 4px; grid-template-columns: repeat(10, 1fr); height: 10px; max-width: 230px; width: 78%; }
.segment-meter i { background: rgba(var(--foreground-rgb), 0.13); display: block; overflow: hidden; position: relative; }
.segment-meter i::after { background: var(--lime); content: ""; height: 100%; left: 0; position: absolute; top: 0; width: var(--fill); }
.segment-meter.compact { height: 6px; margin-top: 13px; width: 100%; }

.workspace { padding-block: 110px 120px; }
.workspace::before, .calculator::before, .method::before { background: var(--line); content: ""; height: 1px; left: 0; position: absolute; right: 0; top: 0; }
.section-heading { align-items: end; display: flex; justify-content: space-between; margin-bottom: 58px; }
.section-heading .eyebrow { margin-bottom: 17px; }
.section-heading h2 { font-size: clamp(42px, 4.8vw, 70px); line-height: 1; }
.section-heading > p { color: var(--text-secondary, #63696d); font-size: 15px; line-height: 1.65; margin: 0; max-width: 480px; }
.workspace-grid { align-items: start; display: grid; gap: 22px; grid-template-columns: 350px minmax(0, 1fr); }
.filters {
  align-self: start;
  background: rgba(var(--surface-rgb), 0.94);
  border: 1px solid var(--line);
  height: auto;
  max-height: none;
  overflow: visible;
  padding: 24px;
  position: relative;
  top: auto;
}
.filters::before, .summary-card::before, .event-card::before, .personal-result::before {
  background: var(--lime);
  content: "";
  height: 1px;
  left: -1px;
  position: absolute;
  top: -1px;
  width: 48px;
}
.filters-mobile-head { display: none; }
.filter-heading { align-items: center; display: grid; gap: 9px; grid-template-columns: 27px minmax(0, 1fr) auto auto; }
.filter-heading > span { color: var(--lime); font-family: ui-monospace, SFMono-Regular, Menlo, monospace; font-size: 10px; }
.filter-heading h3 { font-size: 17px; font-weight: 600; margin: 0; }
.filter-heading em { background: var(--lime-soft); border: 1px solid rgba(var(--accent-rgb), 0.22); border-radius: 0; color: var(--lime); font-size: 10px; font-style: normal; padding: 4px 8px; }
.filter-actions { display: flex; gap: 8px; justify-content: flex-end; margin: 17px 0 13px; }
.filter-actions button { background: transparent; border: 0; color: var(--muted); cursor: pointer; font-size: 11px; padding: 3px 0 3px 12px; }
.filter-actions button:hover { color: var(--lime); }
.factor-list, .event-filter-list { display: flex; flex-direction: column; }
.check-row {
  align-items: center;
  border-top: 1px solid rgba(var(--foreground-rgb), 0.08);
  color: var(--text-strong, #34393c);
  cursor: pointer;
  display: grid;
  font-size: 12px;
  gap: 9px;
  grid-template-columns: 16px 24px 1fr;
  line-height: 1.35;
  min-height: 39px;
  padding-block: 8px;
  transition: background 150ms ease, color 150ms ease, padding 150ms ease;
}
.factor-option { grid-template-columns: 16px 24px minmax(0, 1fr) auto; }
.check-row > .help-tip { justify-self: end; }
.check-row input { height: 1px; opacity: 0; position: absolute; width: 1px; }
.custom-check { border: 1px solid rgba(var(--foreground-rgb), 0.38); display: block; height: 15px; position: relative; transition: background 150ms ease, border-color 150ms ease, box-shadow 150ms ease, transform 150ms ease; width: 15px; }
.check-row input:checked + .custom-check { background: var(--lime); border-color: var(--lime); }
.check-row input:checked + .custom-check::after { border-bottom: 1.5px solid #ffffff; border-right: 1.5px solid #ffffff; content: ""; height: 7px; left: 4px; position: absolute; top: 1px; transform: rotate(42deg); width: 4px; }
.check-row:has(input:focus-visible) .custom-check { outline: 2px solid var(--lime); outline-offset: 2px; }
.check-index { color: var(--text-muted, #8b9296); font-family: ui-monospace, SFMono-Regular, Menlo, monospace; font-size: 9px; }
.filter-divider { background: var(--line); height: 1px; margin: 25px -24px 23px; }
.search-field { align-items: center; background: rgba(var(--white-rgb), 0.62); border: 1px solid var(--line); display: flex; gap: 8px; margin: 8px 0 10px; padding: 0 11px; transition: background 160ms ease, border-color 160ms ease, box-shadow 160ms ease; }
.search-field > span { color: var(--lime); font-size: 19px; }
.search-field input { background: transparent; border: 0; color: var(--ink); font-size: 12px; height: 40px; min-width: 0; outline: 0; width: 100%; }
.search-field input::placeholder { color: var(--text-muted, #92989b); }
.event-filter-list { max-height: none; overflow: visible; padding-right: 0; }
.base-filter-option { grid-template-columns: 16px minmax(0, 1fr); align-items: start; font-size: 14px; padding-block: 12px 6px; }
.base-filter-option .custom-check { margin-top: 2px; }
.base-filter-hint { color: var(--muted); font-size: 12px; line-height: 1.55; margin: 0 0 16px 25px; }
.event-option { grid-template-columns: 16px minmax(0, 1fr) auto; }
.reset-button, .apply-mobile, .mobile-filter-button { border: 0; cursor: pointer; }
.reset-button { background: transparent; border-top: 1px solid var(--line); color: var(--text-secondary, #6d7478); font-size: 12px; margin-top: 13px; padding: 17px 0 0; text-align: left; width: 100%; }
.reset-button:hover { color: var(--lime); }
.apply-mobile, .mobile-filter-button { display: none; }

.results-panel { min-width: 0; }
.summary-card {
  align-items: center;
  background: radial-gradient(circle at 75% 20%, rgba(var(--accent-rgb), 0.08), transparent 38%), linear-gradient(130deg, rgba(var(--raised-rgb), 0.96), rgba(var(--shade-rgb), 0.94));
  border: 1px solid rgba(var(--accent-rgb), 0.28);
  display: grid;
  gap: 30px;
  grid-template-columns: 1fr auto minmax(250px, 0.72fr);
  min-height: 178px;
  overflow: hidden;
  padding: 30px 34px;
  position: relative;
  transition: background 190ms ease, border-color 190ms ease, box-shadow 190ms ease, opacity 120ms ease, transform 190ms ease;
}
.summary-card::after { border: 1px solid rgba(var(--foreground-rgb), 0.08); border-radius: 50%; content: ""; height: 260px; pointer-events: none; position: absolute; right: -80px; top: -150px; width: 260px; }
.summary-card.is-loading { opacity: 0.72; }
.summary-kicker, .event-code { color: var(--lime); font-family: ui-monospace, SFMono-Regular, Menlo, monospace; font-size: 9px; letter-spacing: 0.12em; text-transform: uppercase; }
.summary-kicker-line, .event-code-line { position: relative; z-index: 1; }
.summary-card p { color: var(--text-secondary, #454b4f); font-size: 17px; line-height: 1.4; margin: 12px 0 0; }
.summary-score { align-items: end; display: flex; gap: 9px; }
.summary-score strong { color: var(--lime); font-size: clamp(54px, 6vw, 86px); font-weight: 620; letter-spacing: -0.07em; line-height: 0.9; }
.summary-score span { color: var(--muted); font-size: 13px; padding-bottom: 7px; }
.summary-meter { align-items: flex-end; display: flex; flex-direction: column; gap: 11px; }
.summary-meter .segment-meter { max-width: none; width: 100%; }
.summary-meter > span { color: var(--muted); font-size: 10px; }
.error-banner { background: rgba(167, 18, 25, 0.08); border: 1px solid rgba(167, 18, 25, 0.3); color: var(--text-warning, #8b1016); font-size: 12px; margin-top: 12px; padding: 12px 14px; }
.error-page-shell { align-items: center; display: flex; justify-content: center; min-height: 100vh; padding: 32px; }
.error-page-card { background: rgba(var(--surface-rgb), 0.96); border: 1px solid var(--line); max-width: 680px; padding: clamp(28px, 6vw, 64px); width: 100%; }
.error-page-card h1 { font-size: clamp(34px, 6vw, 62px); letter-spacing: -0.055em; line-height: 1; margin: 0; }
.error-page-card > p:not(.eyebrow) { color: var(--muted); line-height: 1.65; margin: 24px 0; }
.error-page-card .primary-button { border: 0; cursor: pointer; }
.result-controls { align-items: center; color: var(--muted); display: flex; font-size: 11px; justify-content: space-between; margin: 27px 0 12px; }
.result-controls label { align-items: center; display: flex; gap: 10px; }
.result-controls select { background: var(--panel-solid); border: 1px solid var(--line); color: var(--ink); font-size: 11px; height: 36px; padding: 0 30px 0 10px; transition: background 160ms ease, border-color 160ms ease, box-shadow 160ms ease; }
.event-cards { display: flex; flex-direction: column; gap: 8px; }
.event-card {
  align-items: center;
  background: rgba(var(--surface-rgb), 0.82);
  border: 1px solid rgba(var(--foreground-rgb), 0.12);
  display: grid;
  gap: 24px;
  grid-template-columns: 48px minmax(0, 1fr) 220px;
  min-height: 108px;
  padding: 20px 24px;
  position: relative;
  transition: background 170ms ease, border-color 170ms ease, transform 170ms ease;
}
.event-card:hover { background: rgba(var(--raised-rgb), 0.98); border-color: rgba(var(--accent-rgb), 0.32); transform: translateX(3px); }
.event-order { align-items: center; display: flex; gap: 7px; }
.event-rank { color: var(--text-muted, #8b9296); font-family: ui-monospace, SFMono-Regular, Menlo, monospace; font-size: 14px; }
.event-main h3 { font-size: 16px; font-weight: 580; line-height: 1.35; margin: 6px 0 9px; }
.event-meta { align-items: center; color: var(--muted); display: flex; font-size: 10px; gap: 15px; }
.event-meta > span + span { align-items: center; display: flex; gap: 6px; }
.event-meta > span + span::before { background: currentColor; border-radius: 50%; content: ""; height: 5px; width: 5px; }
.status-ok { color: var(--text-secondary, #596267); }
.status-warn { color: var(--warning); }
.event-score { justify-self: stretch; }
.event-score-value { align-items: end; display: flex; gap: 5px; }
.event-score-value strong { color: var(--lime); font-size: 35px; font-weight: 580; letter-spacing: -0.055em; line-height: 1; }
.event-score-value > span:not(.help-tip) { color: var(--text-muted, #81888c); font-size: 10px; padding-bottom: 3px; }
.event-score-value .help-tip { margin: 0 0 1px 3px; }
.empty-state { align-items: center; border: 1px dashed rgba(var(--foreground-rgb), 0.2); display: flex; flex-direction: column; min-height: 250px; padding: 46px; text-align: center; }
.empty-state > span { color: var(--lime); font-family: ui-monospace, SFMono-Regular, Menlo, monospace; font-size: 12px; }
.empty-state h3 { font-size: 22px; margin: 13px 0 6px; }
.empty-state p { color: var(--muted); font-size: 13px; margin: 0; }

.calculator { padding-block: 112px 125px; }
.calculator-page-shell .calculator { padding-top: 92px; }
.calculator-return { padding-top: 34px; }
.calculator-return a { color: var(--muted); font-size: 12px; }
.calculator-return a:hover { color: var(--lime); }
.calculator-formula-note { border-left: 2px solid var(--lime); color: var(--text-secondary, #454b4f); font-size: 12px; line-height: 1.5; margin: -27px 0 50px; padding: 2px 0 2px 14px; }
.calculator-method-cards { margin: -24px 0 30px; }
.calculator-guide { display: grid; gap: 1px; grid-template-columns: repeat(3, 1fr); margin: -24px 0 30px; }
.calculator-guide article { align-items: flex-start; background: rgba(var(--surface-rgb), 0.78); border: 1px solid var(--line); display: grid; gap: 15px; grid-template-columns: 28px 1fr; min-height: 110px; padding: 20px; transition: background 170ms ease, border-color 170ms ease, box-shadow 170ms ease, transform 170ms ease; }
.calculator-guide article > span { color: var(--lime); font-family: ui-monospace, SFMono-Regular, Menlo, monospace; font-size: 10px; padding-top: 2px; }
.calculator-guide strong { font-size: 13px; font-weight: 650; }
.calculator-guide p { color: var(--muted); font-size: 11px; line-height: 1.5; margin: 7px 0 0; }
.calculator-event { display: flex; gap: 12px; margin-bottom: 22px; }
.calculator-event label { display: flex; flex-direction: column; gap: 8px; min-width: min(430px, 100%); }
.calculator-event label + label { min-width: min(320px, 100%); }
.calculator-event label > span, .calculator-select > span { color: var(--muted); font-size: 9px; letter-spacing: 0.12em; text-transform: uppercase; }
.calculator-event select, .calculator-event input, .calculator-select select {
  background: rgba(var(--surface-rgb), 0.94);
  border: 1px solid var(--line);
  border-radius: 0;
  color: var(--ink);
  height: 46px;
  outline: 0;
  padding-inline: 13px;
  transition: background 160ms ease, border-color 160ms ease, box-shadow 160ms ease, transform 160ms ease;
}
.calculator-event input::placeholder { color: var(--text-muted, #92989b); }
.calculator-layout { align-items: start; display: grid; gap: 22px; grid-template-columns: minmax(0, 1.25fr) minmax(360px, 0.75fr); }
.calculator-inputs { border: 1px solid var(--line); transition: background 180ms ease, border-color 180ms ease, box-shadow 180ms ease; }
.calculator-head, .calculator-row { display: grid; grid-template-columns: minmax(240px, 1fr) repeat(3, 92px); }
.calculator-head { background: rgba(var(--foreground-rgb), 0.035); color: var(--muted); font-size: 9px; letter-spacing: 0.11em; padding: 12px 16px; text-transform: uppercase; }
.calculator-head > span:not(:first-child) { justify-content: center; text-align: center; }
.calculator-row { align-items: center; border-top: 1px solid rgba(var(--foreground-rgb), 0.1); min-height: 66px; padding: 9px 16px; position: relative; transition: background 150ms ease, border-color 150ms ease; will-change: transform; }
.calculator-row > div { align-items: center; display: grid; gap: 10px; grid-template-columns: 34px minmax(0, 1fr); padding-right: 12px; }
.calculator-row > div > span { color: var(--lime); font-family: ui-monospace, SFMono-Regular, Menlo, monospace; font-size: 9px; }
.calculator-row strong { font-size: 12px; font-weight: 520; line-height: 1.35; }
.calculator-select { align-items: center; display: flex; justify-content: center; }
.calculator-select > span { display: none; }
.calculator-select select { height: 38px; padding-inline: 11px; width: 66px; }
.calculator-select select:has(option[value="0"]:checked) { color: var(--muted); }
.personal-result {
  background: radial-gradient(circle at 90% 0%, rgba(var(--accent-rgb), 0.08), transparent 37%), rgba(var(--surface-rgb), 0.96);
  border: 1px solid rgba(var(--accent-rgb), 0.28);
  padding: 30px;
  position: sticky;
  top: 24px;
  transition: background 180ms ease, border-color 180ms ease, box-shadow 180ms ease, transform 180ms ease;
}
.personal-result > p:not(.summary-kicker) { color: var(--muted); font-size: 12px; margin: 17px 0 28px; }
.personal-result b { color: var(--ink); font-weight: 600; }
.personal-score { align-items: end; display: flex; gap: 9px; margin-top: 18px; }
.personal-score strong { color: var(--lime); font-size: clamp(62px, 6vw, 88px); font-weight: 620; letter-spacing: -0.075em; line-height: 0.9; }
.personal-score span { color: var(--muted); font-size: 12px; padding-bottom: 7px; }
.profile-legend { align-items: center; border-bottom: 1px solid var(--line); color: var(--muted); display: flex; font-size: 9px; gap: 18px; letter-spacing: 0.08em; margin-bottom: 15px; padding-bottom: 10px; text-transform: uppercase; }
.factor-profile { display: flex; flex-direction: column; gap: 12px; }
.profile-row > div { align-items: baseline; display: flex; gap: 8px; justify-content: space-between; }
.profile-row span { color: var(--text-strong, #3e4447); font-size: 10px; }
.profile-row em { color: var(--text-muted, #7c8387); font-size: 9px; font-style: normal; text-align: right; }
.profile-row > i { background: rgba(var(--foreground-rgb), 0.09); display: block; height: 4px; margin-top: 6px; overflow: hidden; }
.profile-row > i span { background: linear-gradient(90deg, #9da2a5, var(--lime)); display: block; height: 100%; }
.calculator-honeypot { height: 1px; left: -10000px; overflow: hidden; position: absolute; top: auto; width: 1px; }
.calculator-send-panel { border-top: 1px solid var(--line); margin-top: 26px; padding-top: 22px; }
.calculator-send { border: 0; cursor: pointer; gap: 18px; min-width: 0; width: 100%; }
.calculator-send:disabled { cursor: not-allowed; filter: grayscale(0.55); opacity: 0.58; transform: none; }
.calculator-send-caption, .calculator-send-message, .calculator-send-note { font-size: 10px !important; line-height: 1.55; margin: 11px 0 0 !important; }
.calculator-send-caption { color: var(--muted); }
.calculator-send-message.is-success { color: var(--text-secondary, #4d565a) !important; }
.calculator-send-message.is-error, .calculator-send-note { color: var(--warning) !important; }
.calculator-send-note { border-top: 1px solid var(--line); margin-top: 26px !important; padding-top: 18px; }
.calculator-empty-result { border-bottom: 1px solid var(--line); min-height: 300px; padding: 48px 0 32px; }
.calculator-empty-result > span { color: var(--lime); font-family: ui-monospace, SFMono-Regular, Menlo, monospace; font-size: 11px; }
.calculator-empty-result h3 { font-size: 24px; font-weight: 620; margin: 20px 0 10px; }
.calculator-empty-result p { color: var(--muted); font-size: 12px; line-height: 1.6; margin: 0; max-width: 330px; }
.completion-track { background: rgba(var(--foreground-rgb), 0.1); height: 4px; margin-top: 34px; overflow: hidden; }
.completion-track span { background: var(--lime); display: block; height: 100%; transition: width 180ms ease; }
.calculator-reset { background: transparent; border: 0; border-bottom: 1px solid var(--line); color: var(--muted); cursor: pointer; font-size: 11px; margin-top: 24px; padding: 0 0 5px; }
.calculator-reset:hover { color: var(--lime); }

.method { padding-block: 112px 125px; }
.method-grid { display: grid; gap: 1px; grid-template-columns: repeat(3, 1fr); }
.method-grid article { background: rgba(var(--surface-rgb), 0.78); border: 1px solid var(--line); min-height: 230px; padding: 30px; transition: background 180ms ease, border-color 180ms ease, box-shadow 180ms ease, transform 180ms ease; }
.method-grid article > span { color: var(--lime); font-family: ui-monospace, SFMono-Regular, Menlo, monospace; font-size: 10px; }
.method-grid h3 { font-size: 20px; font-weight: 580; margin: 56px 0 13px; }
.method-grid p { color: var(--muted); font-size: 13px; line-height: 1.65; margin: 0; max-width: 320px; }
.formula-details { border-bottom: 1px solid var(--line); margin-top: 28px; }
.formula-details summary { align-items: center; cursor: pointer; display: flex; font-size: 14px; justify-content: space-between; list-style: none; padding: 20px 0; }
.formula-details summary::-webkit-details-marker { display: none; }
.formula-details summary span { color: var(--lime); font-size: 22px; transition: transform 180ms ease; }
.formula-details[open] summary span { transform: rotate(45deg); }
.formula-grid { display: grid; gap: 8px; grid-template-columns: repeat(2, 1fr); padding-bottom: 26px; }
.formula-grid code { background: rgba(var(--raised-rgb), 0.7); border: 1px solid rgba(var(--foreground-rgb), 0.12); color: var(--text-strong, #343a3d); font-family: ui-monospace, SFMono-Regular, Menlo, monospace; font-size: 12px; padding: 15px; }

.about-hero {
  align-items: end;
  display: grid;
  gap: 74px;
  grid-template-columns: minmax(0, 1.15fr) minmax(340px, 0.58fr);
  min-height: 610px;
  padding-block: 92px 104px;
}
.about-hero h1 { font-size: clamp(62px, 7vw, 108px); font-weight: 620; letter-spacing: -0.065em; line-height: 0.91; margin: 0; }
.about-lead { color: var(--text-secondary, #555c60); font-size: clamp(17px, 1.45vw, 21px); line-height: 1.62; margin: 34px 0 0; max-width: 720px; }
.about-actions { align-items: center; display: flex; gap: 28px; margin-top: 39px; }
.about-definition {
  background: radial-gradient(circle at 100% 0%, rgba(var(--accent-rgb), 0.1), transparent 42%), rgba(var(--surface-rgb), 0.9);
  border: 1px solid rgba(var(--accent-rgb), 0.28);
  padding: 31px;
  position: relative;
  transition: background 180ms ease, border-color 180ms ease, box-shadow 180ms ease, transform 180ms ease;
}
.about-definition::before { background: var(--lime); content: ""; height: 2px; left: -1px; position: absolute; top: -1px; width: 58px; }
.about-definition > span { color: var(--lime); font-family: ui-monospace, SFMono-Regular, Menlo, monospace; font-size: 10px; letter-spacing: 0.12em; text-transform: uppercase; }
.about-definition strong { display: block; font-size: 23px; font-weight: 620; letter-spacing: -0.025em; line-height: 1.22; margin-top: 42px; }
.about-definition p { color: var(--muted); font-size: 13px; line-height: 1.67; margin: 16px 0 0; }

.about-metrics { border-bottom: 1px solid var(--line); border-top: 1px solid var(--line); display: grid; grid-template-columns: repeat(4, 1fr); }
.about-metrics article { background: rgba(var(--surface-rgb), 0.42); min-height: 132px; padding: 25px; transition: background 170ms ease, box-shadow 170ms ease, transform 170ms ease; }
.about-metrics article + article { border-left: 1px solid var(--line); }
.about-metrics article > span { color: var(--muted); display: inline-flex; font-size: 10px; letter-spacing: 0.1em; text-transform: uppercase; }
.about-metrics strong { color: var(--lime); display: block; font-size: 39px; font-weight: 610; letter-spacing: -0.055em; margin-top: 22px; }

.about-section { padding-block: 112px 124px; }
.about-section::before { background: var(--line); content: ""; height: 1px; left: 0; position: absolute; right: 0; top: 0; }
.about-method-grid article { min-height: 220px; }
.about-method-grid h3 { margin-top: 24px; }
.about-method-grid p { font-size: 14px; max-width: none; }
.about-method-grid p + p { margin-top: 14px; }
.about-method-grid .method-question { color: var(--text-strong, #343a3d); font-weight: 600; }
.about-factor-grid { display: grid; gap: 1px; grid-template-columns: repeat(2, minmax(0, 1fr)); list-style: none; margin: 0; padding: 0; }
.about-factor-grid li { align-items: center; background: rgba(var(--surface-rgb), 0.74); border: 1px solid var(--line); display: grid; gap: 17px; grid-template-columns: 36px minmax(0, 1fr); min-height: 82px; padding: 18px 22px; transition: background 170ms ease, border-color 170ms ease, box-shadow 170ms ease, transform 170ms ease; }
.about-factor-grid li > span { color: var(--lime); font-family: ui-monospace, SFMono-Regular, Menlo, monospace; font-size: 10px; }
.about-factor-grid strong { font-size: 14px; font-weight: 560; line-height: 1.4; }

.formula-story { display: grid; gap: 10px; }
.formula-story article { background: rgba(var(--surface-rgb), 0.82); border: 1px solid rgba(var(--foreground-rgb), 0.13); display: grid; gap: 20px; grid-template-columns: minmax(210px, 0.38fr) minmax(300px, 0.72fr) minmax(280px, 0.9fr); padding: 25px; transition: background 180ms ease, border-color 180ms ease, box-shadow 180ms ease, transform 180ms ease; }
.formula-story article > span { color: var(--lime); font-family: ui-monospace, SFMono-Regular, Menlo, monospace; font-size: 10px; letter-spacing: 0.08em; line-height: 1.5; text-transform: uppercase; }
.formula-story code { align-self: center; background: rgba(var(--white-rgb), 0.68); border-left: 2px solid var(--lime); color: var(--text-strong, #343a3d); font-family: ui-monospace, SFMono-Regular, Menlo, monospace; font-size: 12px; line-height: 1.55; overflow-wrap: anywhere; padding: 13px 15px; }
.formula-story p { align-self: center; color: var(--muted); font-size: 12px; line-height: 1.62; margin: 0; }
.formula-pair { display: grid; gap: 7px; }
.formula-pair code { display: block; }

.reading-grid { display: grid; gap: 1px; grid-template-columns: repeat(3, 1fr); }
.reading-grid article { background: rgba(var(--surface-rgb), 0.76); border: 1px solid var(--line); min-height: 145px; padding: 25px; transition: background 170ms ease, border-color 170ms ease, box-shadow 170ms ease, transform 170ms ease; }
.reading-grid strong { font-size: 16px; font-weight: 610; }
.reading-grid p { color: var(--muted); font-size: 12px; line-height: 1.58; margin: 28px 0 0; }

.floating-calculator-button {
  align-items: center;
  background: var(--lime);
  bottom: calc(24px + env(safe-area-inset-bottom));
  box-shadow: 0 16px 42px rgba(113, 16, 21, 0.22);
  clip-path: polygon(0 0, calc(100% - 13px) 0, 100% 13px, 100% 100%, 0 100%);
  color: #ffffff;
  display: flex;
  font-size: 13px;
  font-weight: 720;
  gap: 28px;
  justify-content: space-between;
  min-width: 238px;
  padding: 16px 18px;
  position: fixed;
  right: 24px;
  transition: background 180ms ease, box-shadow 180ms ease, transform 180ms ease;
  z-index: 35;
}
.floating-calculator-button b { font-size: 18px; font-weight: 500; line-height: 1; }

@keyframes orbit-spin {
  to { transform: rotate(360deg); }
}
@keyframes orbit-reverse {
  to { transform: rotate(-360deg); }
}

footer { align-items: center; border-top: 1px solid var(--line); color: var(--muted); display: grid; font-size: 11px; gap: 34px; grid-template-columns: auto minmax(260px, 1fr) auto; min-height: 164px; }
footer p { margin: 7px 0 0; }
footer > a, .footer-links a { color: var(--ink); }
.footer-branding { align-items: center; display: flex; gap: 25px; }
.rir-logo-footer { width: 72px; }
.footer-copy { line-height: 1.55; max-width: 650px; }
.footer-copy strong { color: var(--ink); font-size: 12px; font-weight: 620; }
.footer-admin-link { align-items: center; color: var(--muted); display: inline-flex; font-size: 0.75rem; margin-top: 6px; min-height: 24px; }
.footer-admin-link:hover, .footer-admin-link:focus-visible { color: var(--ink); text-decoration: underline; text-underline-offset: 3px; }
.footer-links { display: flex; gap: 24px; }
.filter-backdrop { display: none; }

.filter-actions button, .reset-button, .apply-mobile, .mobile-filter-button, .filters-mobile-head button, .calculator-return a, .calculator-reset, .footer-links a {
  transition: background 160ms ease, border-color 160ms ease, box-shadow 160ms ease, color 160ms ease, opacity 160ms ease, transform 160ms ease;
}
.search-field:focus-within, .calculator-event label:focus-within select, .calculator-event label:focus-within input, .calculator-select:focus-within select, .result-controls label:focus-within select, .admin-confirm-field:focus-within input {
  background: var(--input-bg);
  border-color: rgba(var(--accent-rgb), 0.58);
  box-shadow: 0 0 0 3px rgba(var(--accent-rgb), 0.08);
}
.calculator-event select:focus-visible, .calculator-event input:focus-visible, .calculator-select select:focus-visible, .result-controls select:focus-visible, .admin-confirm-field input:focus-visible, .search-field input:focus-visible {
  outline: 0;
}

@media (hover: hover) and (pointer: fine) {
  .brand:hover { color: var(--lime); transform: translateY(-1px); }
  .rir-logo-link:hover { filter: contrast(1.04); opacity: 0.78; transform: translateY(-2px); }
  .text-link:hover, .footer-links a:hover, .calculator-return a:hover { border-color: var(--lime); color: var(--lime); transform: translateY(-1px); }
  .primary-button:hover, .primary-button:focus-visible, .floating-calculator-button:hover, .floating-calculator-button:focus-visible { box-shadow: 0 17px 38px rgba(145, 16, 22, 0.26); transform: translateY(-3px); }
  .primary-button:active, .floating-calculator-button:active { box-shadow: 0 8px 20px rgba(145, 16, 22, 0.2); transform: translateY(0) scale(0.985); }
  .filter-actions button:hover, .reset-button:hover, .calculator-reset:hover, .filters-mobile-head button:hover { color: var(--lime); transform: translateY(-1px); }
  .check-row:hover { background: rgba(var(--accent-rgb), 0.045); color: var(--ink); padding-left: 4px; }
  .check-row:hover .custom-check { border-color: var(--lime); box-shadow: 0 0 0 3px rgba(var(--accent-rgb), 0.07); transform: scale(1.06); }
  .search-field:hover, .result-controls select:hover, .calculator-event select:hover, .calculator-event input:hover, .calculator-select select:hover, .admin-confirm-field input:hover, .admin-percent-input:hover { background: var(--input-bg); border-color: rgba(var(--accent-rgb), 0.42); }
  .event-card:hover { background: rgba(var(--raised-rgb), 0.98); border-color: rgba(var(--accent-rgb), 0.32); box-shadow: 0 11px 28px rgba(34, 39, 42, 0.055); transform: translateX(3px); }
  .signal-card:hover { border-color: rgba(var(--accent-rgb), 0.58); box-shadow: 0 32px 90px rgba(35, 39, 41, 0.15); transform: scale(1.018); }
  .signal-stat:hover { background: rgba(var(--raised-rgb), 0.96); border-color: rgba(var(--accent-rgb), 0.28); box-shadow: 0 12px 28px rgba(35, 39, 41, 0.08); transform: translateY(-3px); }
  .summary-card:hover, .calculator-guide article:hover, .personal-result:hover, .method-grid article:hover, .about-definition:hover, .about-metrics article:hover, .about-factor-grid li:hover, .formula-story article:hover, .reading-grid article:hover, .admin-warning:hover, .admin-step:hover, .admin-preview-stats > div:hover, .admin-success:hover {
    background-color: rgba(var(--raised-rgb), 0.96);
    border-color: rgba(var(--accent-rgb), 0.3);
    box-shadow: 0 12px 32px rgba(35, 39, 41, 0.065);
    transform: translateY(-2px);
  }
  .calculator-inputs:hover { background: rgba(var(--raised-rgb), 0.5); border-color: rgba(var(--accent-rgb), 0.24); box-shadow: 0 12px 32px rgba(35, 39, 41, 0.045); }
  .calculator-row:hover { background: rgba(var(--accent-rgb), 0.035); border-color: rgba(var(--accent-rgb), 0.18); }
  .mobile-filter-button:hover, .apply-mobile:hover { box-shadow: 0 12px 30px rgba(145, 16, 22, 0.25); }
  .admin-help-row:hover { background: rgba(var(--accent-rgb), 0.025); border-color: rgba(var(--accent-rgb), 0.22); transform: translateX(2px); }
  .admin-help-actions button:hover:not(:disabled) { border-color: rgba(var(--accent-rgb), 0.46); box-shadow: 0 8px 18px rgba(35, 39, 41, 0.07); transform: translateY(-1px); }
  .admin-help-save:hover:not(:disabled) { box-shadow: 0 9px 20px rgba(145, 16, 22, 0.2); }
  .inline-help-admin-bar > button:hover { box-shadow: 0 10px 24px rgba(35, 39, 41, 0.18); transform: translateY(-2px); }
  .help-tip-editor-actions button:hover:not(:disabled), .help-tip-delete-confirm button:hover:not(:disabled) { border-color: rgba(var(--accent-rgb), 0.48); box-shadow: 0 7px 18px rgba(35, 39, 41, 0.07); transform: translateY(-1px); }
  .help-tip-editor-actions .help-tip-editor-save:hover:not(:disabled) { box-shadow: 0 9px 20px rgba(145, 16, 22, 0.2); }
}

.admin-shell { min-height: 100vh; padding-bottom: 100px; }
.admin-page { margin-inline: auto; max-width: 1040px; position: relative; width: calc(100% - 64px); z-index: 1; }
.admin-heading { padding: 88px 0 48px; }
.admin-heading h1 { font-size: clamp(48px, 6vw, 82px); font-weight: 620; letter-spacing: -0.06em; line-height: 0.95; margin: 0; max-width: 880px; }
.admin-heading > p:not(.eyebrow) { color: var(--muted); font-size: 15px; line-height: 1.65; margin: 28px 0 0; max-width: 620px; }
.admin-inline-help-link { align-items: center; border-bottom: 1px solid var(--line); color: var(--ink); display: inline-flex; font-size: 13px; gap: 28px; margin-top: 22px; padding-bottom: 7px; transition: border-color 160ms ease, color 160ms ease, transform 160ms ease; }
.admin-inline-help-link:hover { border-color: var(--lime); color: var(--lime); transform: translateY(-1px); }
.admin-account { align-items: center; display: flex; gap: 14px; }
.admin-account > span { color: var(--muted); font-size: 9px; letter-spacing: 0.12em; text-transform: uppercase; }
.admin-account strong { font-size: 12px; font-weight: 580; }
.admin-account .text-link { font-size: 11px; margin-left: 8px; }
.admin-uploader { display: grid; gap: 18px; grid-template-columns: minmax(0, 1fr) 280px; }
.admin-warning { background: rgba(167, 18, 25, 0.07); border: 1px solid rgba(167, 18, 25, 0.3); grid-column: 2; grid-row: 2; padding: 24px; }
.admin-warning strong { color: var(--text-warning, #8b1016); display: block; font-size: 13px; }
.admin-warning p { color: var(--text-warning, #765a5d); font-size: 11px; line-height: 1.65; margin: 12px 0 0; }
.admin-upload-form { display: flex; flex-direction: column; gap: 16px; grid-column: 1; grid-row: 2 / span 4; }
.admin-step { background: rgba(var(--surface-rgb), 0.94); border: 1px solid var(--line); padding: 28px; }
.admin-step .filter-heading { margin-bottom: 22px; }
.admin-step .filter-heading h2 { font-size: 18px; font-weight: 580; }
.admin-formula { grid-column: 2; grid-row: 3; }
.admin-telegram { grid-column: 2; grid-row: 4; }
.admin-formula-copy { color: var(--muted); font-size: 11px; line-height: 1.55; margin: -6px 0 20px; }
.admin-formula-fields { display: grid; gap: 12px; grid-template-columns: repeat(2, minmax(0, 1fr)); }
.admin-formula-fields > label { display: flex; flex-direction: column; gap: 8px; }
.admin-formula-fields > label > span:first-child { color: var(--muted); font-size: 9px; letter-spacing: 0.08em; text-transform: uppercase; }
.admin-percent-input { align-items: center; background: var(--input-bg); border: 1px solid var(--line); display: flex; height: 46px; }
.admin-percent-input:has(input:focus-visible) { border-color: var(--lime); outline: 1px solid var(--lime); }
.admin-percent-input input { appearance: textfield; background: transparent; border: 0; color: var(--ink); font-size: 20px; font-weight: 620; height: 100%; min-width: 0; outline: 0; padding: 0 8px 0 12px; width: 100%; }
.admin-percent-input input::-webkit-inner-spin-button, .admin-percent-input input::-webkit-outer-spin-button { appearance: none; margin: 0; }
.admin-percent-input em { color: var(--muted); font-size: 11px; font-style: normal; padding-right: 10px; }
.admin-formula-sum { align-items: center; border-bottom: 1px solid var(--line); display: flex; justify-content: space-between; margin-top: 18px; padding-bottom: 13px; }
.admin-formula-sum span { color: var(--muted); font-size: 10px; text-transform: uppercase; }
.admin-formula-sum strong { font-size: 20px; font-weight: 620; }
.admin-formula-sum.is-valid strong { color: var(--text-secondary, #4d565a); }
.admin-formula-sum.is-invalid strong, .admin-formula-error { color: var(--warning); }
.admin-formula-error, .admin-formula-success { font-size: 10px; line-height: 1.5; margin: 12px 0 0; }
.admin-formula-success { color: var(--text-secondary, #4d565a); }
.admin-formula-submit { border: 0; cursor: pointer; margin-top: 18px; min-width: 0; width: 100%; }
.admin-formula-submit:disabled { cursor: not-allowed; filter: grayscale(0.7); opacity: 0.35; transform: none; }
.admin-telegram-status { align-items: center; background: var(--input-bg); border: 1px solid var(--line); display: flex; gap: 9px; justify-content: space-between; padding: 12px; }
.admin-telegram-status span { color: var(--text-secondary, #4d565a); font-size: 9px; letter-spacing: 0.08em; text-transform: uppercase; }
.admin-telegram-status strong { font-size: 12px; font-weight: 620; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.admin-telegram-empty { color: var(--muted); font-size: 11px; margin: 0; }
.admin-telegram-pairing { display: flex; flex-direction: column; gap: 9px; margin-top: 18px; }
.admin-telegram-link, .admin-telegram-check { border: 0; cursor: pointer; font-size: 10px; justify-content: space-between; min-width: 0; padding-inline: 15px; text-align: left; width: 100%; }
.admin-telegram-check { background: var(--inverse-bg); }
.admin-telegram-check:disabled { cursor: wait; opacity: 0.45; transform: none; }
.admin-help-manager { grid-column: 1 / -1; padding: 32px; }
.admin-help-copy { color: var(--muted); font-size: 14px; line-height: 1.6; margin: -7px 0 22px; max-width: 720px; }
.admin-help-copy b { color: var(--lime); font-family: ui-monospace, SFMono-Regular, Menlo, monospace; }
.admin-help-search { align-items: center; background: var(--input-bg); border: 1px solid var(--line); display: flex; height: 48px; margin-bottom: 28px; max-width: 460px; padding-inline: 14px; transition: border-color 160ms ease, box-shadow 160ms ease; }
.admin-help-search:focus-within { border-color: rgba(var(--accent-rgb), 0.58); box-shadow: 0 0 0 3px rgba(var(--accent-rgb), 0.08); }
.admin-help-search > span { color: var(--lime); font-size: 19px; }
.admin-help-search input { background: transparent; border: 0; color: var(--ink); font-size: 15px; height: 100%; min-width: 0; outline: 0; padding-inline: 11px; width: 100%; }
.admin-help-search input::placeholder { color: var(--text-muted, #92989b); }
.admin-help-groups { display: flex; flex-direction: column; gap: 30px; }
.admin-help-group-heading { align-items: center; border-bottom: 1px solid var(--line); display: flex; justify-content: space-between; margin-bottom: 10px; padding-bottom: 10px; }
.admin-help-group-heading h3 { font-size: 15px; font-weight: 620; margin: 0; }
.admin-help-group-heading span { color: var(--muted); font-family: ui-monospace, SFMono-Regular, Menlo, monospace; font-size: 12px; }
.admin-help-list { display: flex; flex-direction: column; }
.admin-help-row { border-bottom: 1px solid rgba(var(--foreground-rgb), 0.11); transition: background 170ms ease, border-color 170ms ease, box-shadow 170ms ease, transform 170ms ease; }
.admin-help-row:first-child { border-top: 1px solid rgba(var(--foreground-rgb), 0.11); }
.admin-help-row[open] { background: rgba(var(--raised-rgb), 0.82); border-color: rgba(var(--accent-rgb), 0.24); box-shadow: 0 10px 28px rgba(35, 39, 41, 0.05); }
.admin-help-row.is-disabled { background: rgba(var(--foreground-rgb), 0.025); }
.admin-help-row summary { align-items: center; cursor: pointer; display: grid; gap: 18px; grid-template-columns: minmax(0, 1fr) auto 18px; list-style: none; min-height: 68px; padding: 14px 16px; }
.admin-help-row summary::-webkit-details-marker { display: none; }
.admin-help-row summary::after { color: var(--lime); content: "+"; font-size: 20px; line-height: 1; text-align: center; transition: transform 180ms ease; }
.admin-help-row[open] summary::after { transform: rotate(45deg); }
.admin-help-row summary > span { display: flex; flex-direction: column; gap: 5px; min-width: 0; }
.admin-help-row summary strong { font-size: 14px; font-weight: 610; }
.admin-help-row summary small { color: var(--text-muted, #858b8f); font-family: ui-monospace, SFMono-Regular, Menlo, monospace; font-size: 11px; overflow-wrap: anywhere; }
.admin-help-row summary > em { background: rgba(var(--foreground-rgb), 0.055); color: var(--text-secondary, #5f666a); font-size: 11px; font-style: normal; padding: 7px 9px; }
.admin-help-row summary > em.is-off { background: rgba(167, 18, 25, 0.08); color: var(--warning); }
.admin-help-editor { border-top: 1px solid rgba(var(--foreground-rgb), 0.08); padding: 18px 16px 20px; }
.admin-help-editor > label { display: flex; flex-direction: column; gap: 8px; }
.admin-help-editor > label > span { color: var(--muted); font-size: 12px; }
.admin-help-editor textarea { background: var(--input-bg); border: 1px solid var(--line); color: var(--ink); font-size: 15px; line-height: 1.55; min-height: 104px; outline: 0; padding: 13px 14px; resize: vertical; transition: border-color 160ms ease, box-shadow 160ms ease; width: 100%; }
.admin-help-editor textarea:focus { border-color: rgba(var(--accent-rgb), 0.58); box-shadow: 0 0 0 3px rgba(var(--accent-rgb), 0.08); }
.admin-help-meta { color: var(--muted); display: flex; font-size: 11px; justify-content: space-between; margin-top: 8px; }
.admin-help-meta code { color: var(--lime); font-size: 11px; }
.admin-help-error, .admin-help-message { font-size: 12px; line-height: 1.5; margin: 12px 0 0; }
.admin-help-error { color: var(--warning); }
.admin-help-message { color: var(--text-secondary, #4d565a); }
.admin-help-actions { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 17px; }
.admin-help-actions button { border: 1px solid var(--line); cursor: pointer; font-size: 13px; min-height: 42px; padding: 10px 14px; transition: background 160ms ease, border-color 160ms ease, box-shadow 160ms ease, color 160ms ease, transform 160ms ease; }
.admin-help-actions button:disabled { cursor: not-allowed; opacity: 0.38; transform: none; }
.admin-help-save { background: var(--lime); border-color: var(--lime) !important; color: #ffffff; font-weight: 680; }
.admin-help-delete { background: rgba(167, 18, 25, 0.05); color: var(--warning); }
.admin-help-reset { background: transparent; color: var(--text-secondary, #555d61); }
.admin-help-empty { border: 1px dashed var(--line); color: var(--muted); font-size: 14px; padding: 34px; text-align: center; }
.admin-file-field { align-items: center; border: 1px dashed rgba(var(--accent-rgb), 0.32); cursor: pointer; display: flex; flex-direction: column; justify-content: center; min-height: 190px; padding: 26px; text-align: center; transition: background 160ms ease, border-color 160ms ease; }
.admin-file-field:hover { background: var(--lime-soft); border-color: var(--lime); }
.admin-file-field input { height: 1px; opacity: 0; position: absolute; width: 1px; }
.admin-file-field:has(input:focus-visible) { outline: 2px solid var(--lime); outline-offset: 3px; }
.admin-file-icon { color: var(--lime); font-size: 34px; line-height: 1; }
.admin-file-field strong { font-size: 15px; margin-top: 13px; }
.admin-file-field small { color: var(--muted); font-size: 10px; margin-top: 8px; }
.admin-validation { padding: 18px 20px; }
.admin-validation strong { display: block; font-size: 12px; }
.admin-validation ul { line-height: 1.55; margin: 10px 0 0; padding-left: 18px; }
.admin-validation-warning { background: rgba(var(--foreground-rgb), 0.05); border: 1px solid rgba(var(--foreground-rgb), 0.2); color: var(--text-secondary, #454b4f); font-size: 11px; }
.admin-preview-stats { display: grid; gap: 1px; grid-template-columns: repeat(2, 1fr); margin: 0; }
.admin-preview-stats > div { background: rgba(var(--foreground-rgb), 0.03); border: 1px solid rgba(var(--foreground-rgb), 0.1); min-height: 92px; padding: 17px; }
.admin-preview-stats dt { color: var(--muted); font-size: 9px; letter-spacing: 0.1em; text-transform: uppercase; }
.admin-preview-stats dd { color: var(--lime); font-size: 25px; font-weight: 620; letter-spacing: -0.04em; margin: 11px 0 0; overflow-wrap: anywhere; }
.admin-preview-stats > div:last-child dd { color: var(--ink); font-family: ui-monospace, SFMono-Regular, Menlo, monospace; font-size: 11px; letter-spacing: 0; }
.admin-confirm-field { display: flex; flex-direction: column; gap: 11px; }
.admin-confirm-field > span { color: var(--muted); font-size: 11px; line-height: 1.5; }
.admin-confirm-field > span strong { color: var(--lime); font-family: ui-monospace, SFMono-Regular, Menlo, monospace; }
.admin-confirm-field input { background: var(--input-bg); border: 1px solid var(--line); color: var(--ink); height: 48px; letter-spacing: 0.1em; outline: 0; padding-inline: 14px; text-transform: uppercase; }
.admin-submit { border: 0; cursor: pointer; margin-top: 18px; width: 100%; }
.admin-submit:disabled { cursor: not-allowed; filter: grayscale(0.7); opacity: 0.35; transform: none; }
.admin-success { background: radial-gradient(circle at 100% 0%, rgba(var(--accent-rgb), 0.09), transparent 38%), rgba(var(--surface-rgb), 0.96); border: 1px solid rgba(var(--accent-rgb), 0.3); grid-column: 2; grid-row: 5; padding: 24px; }
.admin-success h2 { font-size: 24px; letter-spacing: -0.035em; margin: 0; }
.admin-success > p:not(.eyebrow) { color: var(--muted); font-size: 11px; line-height: 1.6; }
.admin-success .hero-actions { align-items: stretch; flex-direction: column; gap: 16px; margin-top: 22px; }
.admin-success .primary-button { min-width: 0; }
.admin-success .text-link { align-self: flex-start; font-size: 11px; }
.admin-data-history, .admin-submissions { grid-column: 1 / -1; }
.admin-history-list { display: flex; flex-direction: column; gap: 9px; }
.admin-history-item { align-items: center; background: var(--input-bg); border: 1px solid var(--line); display: grid; gap: 24px; grid-template-columns: minmax(0, 1fr) auto; padding: 17px 18px; }
.admin-history-item.is-active { background: rgba(var(--accent-rgb), 0.045); border-color: rgba(var(--accent-rgb), 0.32); }
.admin-history-main { display: flex; flex-direction: column; gap: 5px; min-width: 0; }
.admin-history-main > span { color: var(--lime); font-size: 9px; letter-spacing: 0.08em; text-transform: uppercase; }
.admin-history-main > strong { font-family: ui-monospace, SFMono-Regular, Menlo, monospace; font-size: 13px; font-weight: 620; overflow-wrap: anywhere; }
.admin-history-main > small { color: var(--muted); font-size: 10px; line-height: 1.5; }
.admin-history-actions { align-items: center; display: flex; gap: 18px; }
.admin-history-actions .text-link { font-size: 11px; white-space: nowrap; }
.admin-history-actions button { background: transparent; border: 1px solid var(--line); color: var(--ink); cursor: pointer; font-size: 11px; min-height: 38px; padding: 8px 12px; }
.admin-history-actions button:disabled { cursor: wait; opacity: 0.45; }
.admin-submission-stats { display: grid; gap: 1px; grid-template-columns: repeat(3, minmax(0, 1fr)); margin: 0 0 16px; }
.admin-submission-stats > div { background: rgba(var(--foreground-rgb), 0.03); border: 1px solid rgba(var(--foreground-rgb), 0.1); padding: 16px; }
.admin-submission-stats dt { color: var(--muted); font-size: 9px; letter-spacing: 0.08em; text-transform: uppercase; }
.admin-submission-stats dd { color: var(--lime); font-size: 24px; font-weight: 620; margin: 9px 0 0; }
.admin-submission-last { color: var(--muted); font-size: 10px; line-height: 1.5; margin: 9px 0 0; }
.admin-submission-download { margin-top: 19px; min-width: 0; width: fit-content; }

@media (max-width: 1120px) {
  .rir-logo-header { width: 142px; }
  .topnav { gap: 22px; }
  .hero { gap: 40px; grid-template-columns: minmax(0, 1fr) minmax(380px, 0.8fr); }
  .workspace-grid { grid-template-columns: 310px minmax(0, 1fr); }
  .summary-card { grid-template-columns: 1fr auto; }
  .summary-meter { align-items: flex-start; grid-column: 1 / -1; }
  .event-card { grid-template-columns: 38px minmax(0, 1fr) 180px; }
  .admin-uploader { grid-template-columns: minmax(0, 1fr) 250px; }
  .admin-formula-fields { grid-template-columns: 1fr; }
  .about-hero { gap: 42px; grid-template-columns: minmax(0, 1fr) minmax(320px, 0.62fr); }
}

@media (max-width: 900px) {
  .topbar, .hero, .workspace, .calculator, .calculator-return, .method, .about-hero, .about-metrics, .about-section, footer, .inline-help-admin-bar { width: calc(100% - 36px); }
  .workspace { z-index: auto; }
  .topnav a:not(:last-child) { display: none; }
  .rir-logo-header { width: 156px; }
  .hero { grid-template-columns: 1fr; min-height: auto; padding-block: 74px 95px; }
  .hero-signal { justify-self: center; max-width: 520px; }
  .section-heading { align-items: flex-start; flex-direction: column; gap: 24px; }
  .workspace-grid { grid-template-columns: 1fr; }
  .mobile-filter-button {
    background: var(--lime);
    bottom: calc(16px + env(safe-area-inset-bottom));
    color: #ffffff;
    display: block;
    font-size: 13px;
    font-weight: 700;
    left: 50%;
    padding: 15px 24px;
    position: fixed;
    transform: translateX(-50%);
    width: min(330px, calc(100% - 32px));
    z-index: 35;
  }
  .filters {
    align-self: auto;
    background: var(--panel-solid);
    bottom: 0;
    height: 100dvh;
    left: 0;
    max-height: 100dvh;
    overscroll-behavior: contain;
    overflow-y: auto;
    padding: 22px 22px calc(22px + env(safe-area-inset-bottom));
    position: fixed;
    top: 0;
    transform: translateX(-105%);
    transition: transform 220ms ease;
    width: min(420px, 92vw);
    -webkit-overflow-scrolling: touch;
    z-index: 50;
  }
  .filters-open { transform: translateX(0); }
  .filters-mobile-head { align-items: center; border-bottom: 1px solid var(--line); display: flex; justify-content: space-between; margin: -4px 0 24px; padding-bottom: 18px; }
  .filters-mobile-head button { background: transparent; border: 0; color: var(--lime); font-size: 28px; }
  .event-filter-list { max-height: none; }
  .apply-mobile { background: var(--lime); color: #ffffff; display: block; font-size: 13px; font-weight: 700; margin-top: 18px; padding: 14px; width: 100%; }
  .filter-backdrop { background: rgba(24, 27, 29, 0.5); border: 0; display: block; inset: 0; position: fixed; z-index: 45; }
  .method-grid { grid-template-columns: 1fr; }
  .method-grid article { min-height: 190px; }
  .method-grid h3 { margin-top: 38px; }
  .calculator-layout { grid-template-columns: 1fr; }
  .calculator-guide { grid-template-columns: 1fr; }
  .calculator-guide article { min-height: auto; }
  .personal-result { position: static; }
  .about-hero { align-items: start; gap: 42px; grid-template-columns: 1fr; min-height: auto; padding-block: 78px 92px; }
  .about-definition { max-width: 620px; }
  .about-metrics { grid-template-columns: repeat(2, 1fr); }
  .about-metrics article:nth-child(3) { border-left: 0; border-top: 1px solid var(--line); }
  .about-metrics article:nth-child(4) { border-top: 1px solid var(--line); }
  .formula-story article { grid-template-columns: 1fr; }
  .reading-grid { grid-template-columns: 1fr; }
  .reading-grid article { min-height: auto; }
  .floating-calculator-button { bottom: calc(16px + env(safe-area-inset-bottom)); right: 16px; }
  .index-page-shell .floating-calculator-button { bottom: calc(80px + env(safe-area-inset-bottom)); }
  .index-page-shell footer { padding-bottom: calc(146px + env(safe-area-inset-bottom)); }
}

@media (max-width: 620px) {
  .inline-help-admin-bar { align-items: stretch; flex-direction: column; gap: 12px; padding: 14px; }
  .inline-help-admin-bar > button { justify-content: center; width: 100%; }
  .help-tip-editor-backdrop { align-items: flex-end; padding: 0; }
  .help-tip-editor { border-bottom: 0; max-height: 92dvh; padding: 24px 20px calc(24px + env(safe-area-inset-bottom)); width: 100%; }
  .help-tip-editor > header h2 { font-size: 22px; }
  .help-tip-editor-actions { align-items: stretch; flex-direction: column; }
  .help-tip-editor-actions button { width: 100%; }
  .help-tip-editor-actions .help-tip-editor-delete { margin-left: 0; }
  .help-tip-editor-meta { align-items: flex-start; flex-direction: column; gap: 5px; }
  .help-tip-delete-confirm > div { flex-direction: column; }
  .topbar { height: 76px; }
  .topnav { display: none; }
  .brand-caption { display: none; }
  .brand-cluster { gap: 12px; }
  .brand-separator { height: 28px; }
  .rir-logo-header { width: 136px; }
  .hero { padding-block: 64px 82px; }
  .hero h1 { font-size: clamp(48px, 15vw, 70px); }
  .hero-lead { font-size: 16px; }
  .hero-actions { align-items: flex-start; flex-direction: column; }
  .primary-button { width: 100%; }
  .hero-signal { margin-top: 10px; }
  .signal-card { height: 67%; width: 67%; }
  .signal-card strong { font-size: 60px; }
  .signal-stat { min-width: 112px; padding: 12px; }
  .signal-stat strong { font-size: 21px; }
  .workspace, .calculator, .method { padding-block: 82px; }
  .about-section { padding-block: 82px; }
  .calculator-page-shell .calculator { padding-top: 68px; }
  .calculator-return { padding-top: 25px; }
  .section-heading { margin-bottom: 38px; }
  .section-heading h2 { font-size: 44px; }
  .section-heading > p { font-size: 14px; }
  .summary-card { gap: 24px; grid-template-columns: 1fr; padding: 24px; }
  .summary-score { justify-content: flex-start; }
  .summary-meter { grid-column: auto; }
  .result-controls { align-items: flex-end; flex-wrap: wrap; gap: 8px; }
  .result-controls > label > span { display: inline-flex; }
  .event-card { gap: 14px; grid-template-columns: 30px minmax(0, 1fr); padding: 18px 16px; }
  .event-score { grid-column: 2; max-width: 210px; }
  .event-main h3 { font-size: 15px; }
  .event-meta { align-items: flex-start; flex-direction: column; gap: 5px; }
  .formula-grid { grid-template-columns: 1fr; }
  .about-hero h1 { font-size: clamp(50px, 15vw, 72px); }
  .about-actions { align-items: flex-start; flex-direction: column; }
  .about-definition { padding: 25px; }
  .about-definition strong { font-size: 21px; margin-top: 34px; }
  .about-metrics article { min-height: 112px; padding: 18px; }
  .about-metrics strong { font-size: 32px; }
  .about-factor-grid { grid-template-columns: 1fr; }
  .formula-story article { padding: 20px; }
  .formula-story code { font-size: 11px; }
  .calculator-event { flex-direction: column; }
  .calculator-head { display: none; }
  .calculator-row { gap: 8px; grid-template-columns: repeat(3, 1fr); padding-block: 14px; }
  .calculator-row > div { grid-column: 1 / -1; padding-bottom: 5px; }
  .calculator-select { align-items: stretch; flex-direction: column; gap: 6px; }
  .calculator-select > span { display: inline-flex; }
  .calculator-select select { width: 100%; }
  .personal-result { padding: 24px; }
  .profile-row > div { align-items: flex-start; flex-direction: column; gap: 3px; }
  .profile-row em { text-align: left; }
  .admin-page { width: calc(100% - 36px); }
  .admin-topbar { align-items: flex-start; height: auto; padding-block: 22px; }
  .admin-account { align-items: flex-end; flex-direction: column; gap: 4px; }
  .admin-account > span { display: none; }
  .admin-account .text-link { margin: 5px 0 0; }
  .admin-heading { padding-top: 64px; }
  .admin-uploader { display: flex; flex-direction: column; }
  .admin-warning { order: -1; }
  .admin-formula { order: -1; }
  .admin-telegram { order: -1; }
  .admin-upload-form { order: 0; }
  .admin-success { order: 1; }
  .admin-data-history { order: 2; }
  .admin-submissions { order: 3; }
  .admin-help-manager { order: 2; padding: 22px; }
  .admin-help-row summary { gap: 10px; grid-template-columns: minmax(0, 1fr) 18px; }
  .admin-help-row summary > em { grid-column: 1; justify-self: start; }
  .admin-help-row summary::after { grid-column: 2; grid-row: 1 / span 2; }
  .admin-help-actions { align-items: stretch; flex-direction: column; }
  .admin-help-actions button { width: 100%; }
  .admin-help-meta { align-items: flex-start; flex-direction: column; gap: 5px; }
  .admin-preview-stats { grid-template-columns: 1fr; }
  .admin-history-item { align-items: stretch; grid-template-columns: 1fr; }
  .admin-history-actions { flex-wrap: wrap; justify-content: space-between; }
  .admin-submission-stats { grid-template-columns: 1fr; }
  .admin-submission-download { width: 100%; }
  footer { align-items: flex-start; display: flex; flex-direction: column; gap: 18px; justify-content: center; padding-block: 34px 88px; }
  .index-page-shell footer { padding-bottom: calc(146px + env(safe-area-inset-bottom)); }
  .footer-branding { gap: 20px; }
}

@media (pointer: coarse) {
  .help-tip-edit-trigger {
    height: 40px;
    margin-block: -10px;
    width: 40px;
  }
  .help-tip-edit-trigger svg { height: 16px; width: 16px; }
}

/* Custom cursors are opt-in; the native pointer remains the default. */
@media (any-hover: hover) and (any-pointer: fine) and (forced-colors: none) {
  html[data-cringe-cursor="on"],
  html[data-cringe-cursor="on"] body {
    cursor: url("/evi-cursor.svg") 2 1, url("/evi-cursor.png") 2 1, auto;
  }
  html[data-cringe-cursor="on"] :is(
    a, button:not(:disabled):not(.help-tip-trigger), summary,
    select:not(:disabled), label[for], input[type="checkbox"]:not(:disabled),
    input[type="radio"]:not(:disabled), input[type="range"]:not(:disabled),
    input[type="file"]:not(:disabled), .check-row, .cursor-toggle, [role="button"]
  ) {
    cursor: url("/evi-cursor-action.svg") 7 2, url("/evi-cursor-action.png") 7 2, pointer;
  }
  html[data-cringe-cursor="on"] :is(
    input:not([type="checkbox"]):not([type="radio"]):not([type="range"]):not([type="file"]),
    textarea, [contenteditable="true"]
  ) { cursor: text; }
  html[data-cringe-cursor="on"] button.help-tip-trigger:not(:disabled) {
    cursor: url("/evi-cursor-help.svg") 12 19, url("/evi-cursor-help.png") 12 19, help;
  }
  html[data-cringe-cursor="on"] :is(button:disabled, input:disabled, select:disabled) {
    cursor: not-allowed;
  }
}

.cursor-toggle { align-items: center; display: flex; gap: 9px; width: fit-content; min-height: 36px; margin-top: 8px; color: var(--ink); cursor: pointer; font-size: 12px; }
.cursor-toggle input { accent-color: var(--lime); width: 16px; height: 16px; margin: 0; cursor: pointer; }
.cursor-toggle input:focus-visible { outline: 2px solid var(--lime); outline-offset: 4px; }
.calculator-captcha { margin-bottom: 16px; min-width: 0; }
.calculator-captcha .smartcaptcha-widget { min-width: 0; width: 100%; }
.calculator-captcha-note { font-size: 12px; line-height: 1.5; margin: 0 0 10px; }
.calculator-captcha-retry { border: 1px solid var(--line); background: transparent; color: var(--ink); padding: 8px 12px; cursor: pointer; }

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { animation-duration: 0.01ms !important; animation-iteration-count: 1 !important; scroll-behavior: auto !important; transition-duration: 0.01ms !important; }
}

.slice-pdf-panel { margin-top: 24px; padding: 24px 0; border-top: 1px solid var(--line, #ddd); }
.slice-pdf-panel p { font-size: 14px; line-height: 1.5; margin: 12px 0 0; }
.slice-pdf-panel button:disabled { opacity: .5; cursor: default; }
@media (max-width: 600px) { .slice-pdf-panel .primary-button { width: 100%; justify-content: space-between; } }

/* Catalog width follows its panel, including narrow and split-screen windows. */
.admin-uploader > * { min-width: 0; }
.catalog-editor { container-type: inline-size; grid-column: 1 / -1; grid-row: 1; min-width: 0; padding: clamp(16px, 3vw, 28px); }
.catalog-editor .filter-heading { grid-template-columns: 20px minmax(0, 1fr); }
.catalog-editor .filter-heading h2 { font-size: clamp(20px, 2.5vw, 26px); line-height: 1.25; margin: 0; }
.catalog-editor p { color: var(--muted); font-size: 14px; line-height: 1.65; overflow-wrap: anywhere; }
.catalog-editor fieldset { border: 0; padding: 0; margin: 0; min-width: 0; }
.catalog-columns { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 28px; }
.catalog-columns > div { min-width: 0; }
.catalog-columns h3 { font-size: 17px; font-weight: 620; margin: 14px 0; }
.catalog-list { max-height: min(340px, 50dvh); overflow-y: auto; overscroll-behavior: contain; scrollbar-gutter: stable; padding: 0; list-style: none; border-top: 1px solid var(--line); }
.catalog-list li { display: flex; align-items: center; gap: 12px; padding: 10px 0; border-bottom: 1px solid var(--line); font-size: 14px; line-height: 1.5; }
.catalog-list li > span { display: grid; grid-template-columns: 40px minmax(0, 1fr); gap: 8px; flex: 1; min-width: 0; overflow-wrap: anywhere; }
.catalog-list small { color: var(--muted); font-size: 12px; padding-top: 2px; }
.catalog-list button { flex: 0 0 auto; background: transparent; border: 1px solid var(--line); padding: 8px; min-height: 44px; font-size: 12px; }
.catalog-list button:hover { border-color: var(--lime); color: var(--lime); }
.catalog-editor label { display: grid; gap: 8px; font-size: 14px; min-width: 0; }
.catalog-editor input { width: 100%; min-width: 0; padding: 12px; border: 1px solid var(--line); background: var(--input-bg); color: var(--ink); font-size: 16px; }
.catalog-editor button { min-width: 0; max-width: 100%; white-space: normal; overflow-wrap: anywhere; line-height: 1.45; }
.catalog-editor .reset-button { min-height: 44px; padding: 12px 0; }
.catalog-actions { display: flex; flex-wrap: wrap; align-items: stretch; gap: 12px; margin: 20px 0; }
.catalog-actions > button { flex: 1 1 190px; justify-content: center; text-align: center; }
.catalog-actions .reset-button { width: auto; margin: 0; border: 1px solid var(--line); padding: 12px; }
.catalog-editor button:disabled { opacity: .5; cursor: default; }
@container (max-width: 640px) {
  .catalog-columns { grid-template-columns: minmax(0, 1fr); gap: 24px; }
  .catalog-actions { flex-direction: column; }
  .catalog-actions > button { flex: auto; width: 100%; }
}
@media (max-width: 900px) {
  .admin-uploader { display: flex; flex-direction: column; }
  .admin-uploader > * { order: 0; }
  .admin-uploader > .catalog-editor { order: -1; }
  .admin-page { width: calc(100% - 36px); }
}

/* Shared theme applies to every route, overlay and form control. */
:root[data-theme="dark"] {
  color-scheme: dark;
  --foreground-rgb: 225, 231, 236;
  --surface-rgb: 29, 33, 38;
  --raised-rgb: 38, 43, 49;
  --white-rgb: 35, 40, 46;
  --shade-rgb: 24, 28, 33;
  --accent-rgb: 255, 107, 112;
  --ink: #edf0f3;
  --muted: #acb4bd;
  --night: #111418;
  --panel: rgba(29, 33, 38, .9);
  --panel-solid: #1d2126;
  --line: rgba(225, 231, 236, .2);
  --lime: #ff6b70;
  --lime-soft: rgba(255, 107, 112, .1);
  --cyan: #b0bac2;
  --blue: #63717d;
  --warning: #ff969b;
  --input-bg: #15191e;
  --inverse-bg: #dce2e8;
  --inverse-ink: #171b20;
  --action: #c91e2c;
  --text-strong: #e0e5e9;
  --text-secondary: #c0c7ce;
  --text-muted: #acb4bd;
  --text-warning: #ffb1b5;
}
:root[data-theme="dark"] body {
  background: radial-gradient(ellipse 72% 46% at 82% -4%, rgba(93, 105, 122, .18), transparent 76%),
    radial-gradient(ellipse 56% 40% at 8% 54%, rgba(113, 35, 45, .1), transparent 72%),
    linear-gradient(142deg, #14181d 0%, #101317 46%, #171b20 100%);
  background-attachment: fixed;
}
:root[data-theme="dark"] .site-shell::before, :root[data-theme="dark"] .site-shell::after { opacity: .3; }
:root[data-theme="dark"] .ambient { opacity: .25; }
:root[data-theme="dark"] .rir-logo { filter: invert(1); }
.primary-button, .floating-calculator-button, .apply-mobile, .mobile-filter-button,
.help-tip-trigger:hover, .help-tip-trigger[aria-expanded="true"],
.help-tip-edit-trigger:hover, .help-tip-edit-trigger:focus-visible,
.help-tip-editor-actions .help-tip-editor-save, .admin-help-save,
.check-row input:checked + .custom-check { background: var(--action); }
::selection { background: var(--action); }
.inline-help-admin-bar > button, .admin-telegram-check { background: var(--inverse-bg); color: var(--inverse-ink); }
.inline-help-admin-bar > button[aria-pressed="true"] { background: var(--action); color: #ffffff; }

.topbar { gap: 24px; }
.topbar-actions { display: flex; align-items: center; justify-content: flex-end; gap: 24px; min-width: 0; }
.theme-toggle { align-items: center; display: inline-flex; flex: 0 0 auto; gap: 9px; min-width: 44px; min-height: 44px; padding: 10px 12px; border: 1px solid var(--line); background: var(--panel); color: var(--ink); font-size: 12px; line-height: 1; white-space: nowrap; }
.theme-toggle:hover { border-color: var(--lime); background: var(--panel-solid); }
.theme-toggle svg { width: 19px; height: 19px; fill: none; stroke: currentColor; stroke-width: 1.6; stroke-linecap: round; stroke-linejoin: round; }
.theme-toggle .theme-icon-sun, .theme-toggle .theme-label-light { display: none; }
:root[data-theme="dark"] .theme-toggle .theme-icon-moon, :root[data-theme="dark"] .theme-toggle .theme-label-dark { display: none; }
:root[data-theme="dark"] .theme-toggle .theme-icon-sun, :root[data-theme="dark"] .theme-toggle .theme-label-light { display: block; }
.admin-account { min-width: 0; flex-wrap: wrap; justify-content: flex-end; }
.admin-account strong { min-width: 0; overflow-wrap: anywhere; }
.error-theme-control { display: flex; justify-content: flex-end; margin-bottom: 24px; }
@media (max-width: 1280px) {
  .theme-toggle span { display: none !important; }
  .topbar, .topbar-actions { gap: 16px; }
}
@media (max-width: 1120px) {
  .brand-caption { display: none; }
  .topnav { gap: 16px; }
}
@media (max-width: 620px) {
  .topbar, .topbar-actions { gap: 12px; }
  .admin-topbar { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: center; row-gap: 18px; }
  .admin-topbar .topbar-actions { display: contents; }
  .admin-topbar .theme-toggle { grid-column: 2; grid-row: 1; }
  .admin-topbar .admin-account { grid-column: 1 / -1; grid-row: 2; flex-direction: row; align-items: center; justify-content: flex-start; gap: 12px; }
  .admin-account .text-link { margin: 0 0 0 auto; }
  .catalog-columns { grid-template-columns: minmax(0, 1fr); }
}
@media (max-width: 359px) {
  .rir-logo-header { width: 116px; }
  .brand-cluster { gap: 8px; }
}

.catalog-list .catalog-remove-button { color: var(--warning); font-size: 14px; }
.catalog-removal-notice { margin-top: 20px; padding: 18px; border: 1px solid var(--warning); background: var(--lime-soft); overflow-wrap: anywhere; }
.catalog-removal-notice > strong { color: var(--warning); font-size: 16px; }
.catalog-removal-notice ul { padding-left: 20px; font-size: 14px; line-height: 1.6; }
.catalog-removal-notice p { margin-bottom: 0; }
.catalog-confirm-dialog { color: var(--ink); background: var(--panel-solid); border: 1px solid var(--warning); border-top: 4px solid var(--action); padding: clamp(20px, 4vw, 32px); width: min(560px, calc(100% - 32px)); max-height: calc(100dvh - 32px); overflow-y: auto; overscroll-behavior: contain; margin: auto; box-shadow: 0 24px 80px rgba(0, 0, 0, .3); overflow-wrap: anywhere; }
.catalog-confirm-dialog::backdrop { background: rgba(12, 15, 18, .7); }
.catalog-confirm-dialog .catalog-danger-kicker { color: var(--warning); font-size: 14px; font-weight: 720; margin: 0 0 16px; }
.catalog-confirm-dialog h2 { margin: 0 0 20px; font-size: 28px; line-height: 1.2; }
.catalog-confirm-dialog #catalog-confirm-description p, .catalog-confirm-dialog li { color: var(--ink); font-size: 16px; line-height: 1.6; }
.catalog-confirm-dialog ul { padding-left: 22px; }
.catalog-confirm-actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 26px; }
.catalog-confirm-actions button { flex: 1 1 180px; border: 1px solid var(--line); background: var(--input-bg); color: var(--ink); min-width: 0; min-height: 46px; padding: 12px 16px; font-size: 14px; line-height: 1.45; white-space: normal; }
.catalog-confirm-actions .catalog-danger-button { background: var(--action); color: #ffffff; border-color: var(--action); }
.catalog-confirm-actions button:hover { border-color: var(--warning); }

.catalog-list li { flex-wrap: wrap; }
.catalog-list li > span { flex: 1 1 180px; }
.catalog-row-actions { display: flex; flex: 0 0 auto; flex-wrap: wrap; gap: 8px; margin-left: auto; max-width: 100%; }
.catalog-row-actions .catalog-visibility-button { color: var(--ink); font-size: 14px; }
.catalog-item-hidden { background: rgba(var(--foreground-rgb), .035); }
.catalog-hidden-badge { display: block; width: fit-content; margin-top: 6px; padding: 2px 6px; border: 1px dashed var(--line); color: var(--muted); font-size: 12px; font-style: normal; }
.catalog-visibility-notice { border: 1px solid var(--line); background: var(--lime-soft); padding: 18px; margin-top: 20px; overflow-wrap: anywhere; }
.catalog-visibility-notice strong { font-size: 16px; }
.catalog-visibility-notice ul { padding-left: 20px; font-size: 14px; line-height: 1.6; }
.catalog-visibility-notice p { margin-bottom: 0; }

/* FastAPI port additions */
.flash { margin: 16px 0; padding: 12px 14px; border: 1px solid var(--line); background: rgba(var(--white-rgb), .72); font-size: 13px; }
.flash.error { border-color: rgba(167,18,25,.4); color: var(--warning); background: rgba(167,18,25,.05); }
.flash.success { border-color: rgba(44,112,70,.32); color: #28613f; background: rgba(44,112,70,.06); }
.login-shell { min-height: 100dvh; display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(420px, .9fr); background: var(--night); }
.login-visual { position: relative; overflow: hidden; padding: clamp(30px,6vw,80px); display:flex; flex-direction:column; justify-content:space-between; background: #1a1d1f; color:#fff; }
.login-visual::after { content:""; position:absolute; width:520px; height:520px; right:-110px; bottom:-180px; border:1px solid rgba(255,255,255,.16); border-radius:50%; box-shadow:0 0 0 80px rgba(255,255,255,.025),0 0 0 160px rgba(215,25,32,.04); }
.login-brand { position:relative; z-index:1; }
.login-brand .brand-mark { color:#fff; }
.login-visual h1 { position:relative; z-index:1; margin:0; font-size:clamp(58px,8vw,118px); line-height:.88; letter-spacing:-.07em; font-weight:680; }
.login-visual h1 em { color:#d71920; font-style:normal; }
.login-panel { display:flex; align-items:center; justify-content:center; padding:40px; background:var(--panel-solid); }
.login-card { width:min(440px,100%); }
.login-card .eyebrow { margin-bottom:10px; }
.login-card h2 { margin:0 0 28px; font-size:44px; letter-spacing:-.05em; }
.login-form { display:grid; gap:16px; }
.login-form label { display:grid; gap:7px; color:var(--muted); font-size:12px; }
.login-form input { width:100%; border:1px solid var(--line); background:var(--input-bg); color:var(--ink); min-height:52px; padding:0 14px; outline:0; }
.login-form input:focus { border-color:var(--lime); box-shadow:0 0 0 3px rgba(var(--accent-rgb),.08); }
.login-submit { justify-content:center; width:100%; margin-top:5px; }
.admin-simple-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:22px; margin-top:28px; }
.admin-card { background:var(--panel-solid); border:1px solid var(--line); padding:26px; position:relative; }
.admin-card::before { content:""; position:absolute; top:-1px; left:-1px; width:58px; height:2px; background:var(--lime); }
.admin-card h2 { margin:0 0 8px; font-size:24px; letter-spacing:-.035em; }
.admin-card > p { color:var(--muted); font-size:13px; line-height:1.55; }
.admin-field { display:grid; gap:7px; margin-top:14px; }
.admin-field > span { color:var(--muted); font-size:12px; }
.admin-field input, .admin-field select { width:100%; min-height:46px; padding:0 12px; border:1px solid var(--line); background:var(--input-bg); color:var(--ink); }
.admin-actions { display:flex; flex-wrap:wrap; gap:10px; margin-top:18px; align-items:center; }
.admin-meta-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:10px; margin-top:18px; }
.admin-meta-grid div { border:1px solid var(--line); padding:14px; }
.admin-meta-grid span { display:block; color:var(--muted); font-size:10px; text-transform:uppercase; letter-spacing:.08em; }
.admin-meta-grid strong { display:block; margin-top:6px; font-size:22px; }
.admin-catalog-list { display:grid; gap:7px; max-height:420px; overflow:auto; padding-right:6px; margin-top:14px; }
.admin-catalog-row { display:grid; grid-template-columns:auto 70px 1fr; gap:10px; align-items:center; border-bottom:1px solid var(--line); padding:9px 0; font-size:13px; }
.admin-catalog-row input { width:17px; height:17px; accent-color:var(--lime); }
.admin-version-table { width:100%; border-collapse:collapse; margin-top:12px; font-size:12px; }
.admin-version-table th,.admin-version-table td { padding:10px 8px; border-bottom:1px solid var(--line); text-align:left; vertical-align:middle; }
.admin-version-table th { color:var(--muted); font-weight:600; }
.admin-account-fastapi { display:flex; align-items:center; gap:10px; font-size:12px; color:var(--muted); }
.admin-account-fastapi strong { color:var(--ink); }
.admin-logout { border:0; background:transparent; color:var(--lime); cursor:pointer; padding:0; }
.calculator-save-disabled-note { margin-top:14px; padding:12px 14px; border-left:2px solid var(--lime); background:rgba(var(--accent-rgb),.05); color:var(--muted); font-size:12px; line-height:1.5; }
.result-loading { opacity:.55; pointer-events:none; }
.theme-toggle-fastapi { align-items:center; display:inline-flex; min-height:38px; padding:0 12px; border:1px solid var(--line); background:rgba(var(--surface-rgb),.72); cursor:pointer; font-size:12px; }
html[data-theme="dark"] .flash.success { color:#a8ddb9; }
html[data-theme="dark"] .login-panel { background:var(--panel-solid); }
@media (max-width: 900px) {
  .login-shell { grid-template-columns:1fr; }
  .login-visual { min-height:240px; padding:28px 22px; }
  .login-visual h1 { font-size:58px; }
  .login-panel { padding:34px 20px 46px; }
  .admin-simple-grid { grid-template-columns:1fr; }
  .admin-meta-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
}

/* EVI feature patch v2 */
.help-tip-fastapi {
  align-items:center; justify-content:center; display:inline-flex; flex:0 0 19px;
  width:19px; height:19px; padding:0; border:1px solid rgba(77,84,88,.38); border-radius:50%;
  background:rgba(var(--white-rgb),.74); color:var(--muted); cursor:help; font:650 12px/1 ui-monospace,SFMono-Regular,Menlo,monospace;
  vertical-align:middle; transition:.15s ease;
}
.help-tip-fastapi:hover,.help-tip-fastapi:focus-visible { background:var(--lime); border-color:var(--lime); color:#fff; transform:translateY(-1px); }
.help-tip-fastapi.is-disabled { display:none; }
.help-edit-mode-fastapi .help-tip-fastapi.is-disabled { display:inline-flex; opacity:.48; border-style:dashed; }
.help-edit-mode-fastapi .help-tip-fastapi { cursor:pointer; box-shadow:0 0 0 2px rgba(var(--accent-rgb),.08); }
.help-tip-bubble-fastapi { position:fixed; z-index:1500; padding:11px 13px; background:rgba(24,27,29,.98); color:#fff; border-top:2px solid var(--lime); box-shadow:0 14px 38px rgba(0,0,0,.22); font-size:12px; line-height:1.5; pointer-events:none; }
.help-edit-toggle-fastapi { min-height:38px; padding:0 12px; border:1px solid rgba(var(--accent-rgb),.4); background:transparent; color:var(--lime); cursor:pointer; font-size:12px; white-space:nowrap; }
.help-edit-toggle-fastapi[aria-pressed="true"] { background:var(--lime); color:#fff; border-color:var(--lime); }
.topnav-admin-link { color:var(--lime)!important; }
.help-editor-overlay-fastapi { position:fixed; inset:0; z-index:1800; display:grid; place-items:center; padding:20px; background:rgba(12,15,18,.62); backdrop-filter:blur(5px); }
.help-editor-overlay-fastapi[hidden] { display:none; }
.help-editor-fastapi { position:relative; width:min(620px,100%); max-height:calc(100dvh - 40px); overflow:auto; padding:28px; background:var(--panel-solid); color:var(--ink); border:1px solid var(--line); box-shadow:0 28px 90px rgba(0,0,0,.3); }
.help-editor-fastapi h2 { margin:8px 0 4px; font-size:28px; }
.help-editor-fastapi code { color:var(--lime); font-size:11px; }
.help-editor-fastapi label { display:grid; gap:8px; margin-top:20px; }
.help-editor-fastapi label>span { color:var(--muted); font-size:12px; }
.help-editor-fastapi textarea { width:100%; min-height:170px; padding:13px; border:1px solid var(--line); background:var(--input-bg); color:var(--ink); resize:vertical; font:inherit; line-height:1.55; }
.help-editor-close-fastapi { position:absolute; right:18px; top:16px; border:0; background:transparent; color:var(--muted); font-size:28px; cursor:pointer; }
.help-editor-status-fastapi { margin-top:12px; color:var(--muted); font-size:12px; }
.help-editor-status-fastapi.is-error { color:var(--warning); }
.help-editor-actions-fastapi { display:flex; gap:9px; flex-wrap:wrap; margin-top:18px; }

.evi-pdf-action { display:flex; align-items:center; gap:8px; margin-left:auto; }
.evi-pdf-button:disabled { opacity:.55; cursor:wait; }
.evi-honeypot { position:absolute!important; left:-10000px!important; width:1px!important; height:1px!important; opacity:0!important; pointer-events:none!important; }
.calculator-send-box { margin-top:18px; padding-top:18px; border-top:1px solid var(--line); }
.calculator-send-box>p { margin:0 0 10px; color:var(--ink); font-size:13px; }
.calculator-send-button { width:100%; justify-content:center; border:0; }
.calculator-send-button:disabled { opacity:.48; cursor:not-allowed; transform:none; }
.calculator-send-box small { display:block; margin-top:9px; color:var(--muted); font-size:10px; line-height:1.5; }
.calculator-send-status { margin-top:10px; padding:10px 12px; border:1px solid var(--line); font-size:11px; line-height:1.5; }
.calculator-send-status.is-success { color:#28613f; background:rgba(44,112,70,.06); border-color:rgba(44,112,70,.28); }
.calculator-send-status.is-error { color:var(--warning); background:rgba(167,18,25,.05); border-color:rgba(167,18,25,.32); }

.admin-heading-links { display:flex; gap:16px; flex-wrap:wrap; }
.admin-small-note { margin-top:14px!important; color:var(--muted); font-size:11px!important; line-height:1.5; }
.admin-actions .is-muted { opacity:.55; }
.admin-upload-status,.admin-catalog-message { margin-top:14px; padding:11px 13px; border:1px solid var(--line); background:rgba(var(--foreground-rgb),.03); color:var(--muted); font-size:12px; line-height:1.5; }
.admin-upload-status.is-error,.admin-catalog-message.is-error { border-color:rgba(167,18,25,.35); color:var(--warning); background:rgba(167,18,25,.05); }
.admin-upload-preview { margin-top:18px; padding:18px; border:1px solid rgba(var(--accent-rgb),.35); background:rgba(var(--accent-rgb),.035); }
.admin-preview-head { display:flex; justify-content:space-between; gap:18px; align-items:flex-start; }
.admin-preview-head span { color:var(--lime); font-size:10px; text-transform:uppercase; letter-spacing:.1em; }
.admin-preview-head h3 { margin:5px 0 0; font-size:16px; }
.admin-preview-head>strong { font-size:22px; }
.admin-preview-warnings { margin-top:12px; color:var(--warning); font-size:11px; line-height:1.5; }
.admin-preview-warnings p { margin:4px 0; }
.admin-card-heading-row { display:flex; align-items:flex-start; justify-content:space-between; gap:20px; }
.admin-card-heading-row h2 { margin:0 0 8px; }
.admin-card-heading-row p { margin:0; color:var(--muted); font-size:13px; }
.admin-draft-state { padding:6px 8px; background:rgba(var(--foreground-rgb),.05); color:var(--muted); font-size:10px; white-space:nowrap; }
.admin-catalog-columns { display:grid; grid-template-columns:1fr 1fr; gap:22px; margin-top:22px; }
.admin-subhead { display:flex; justify-content:space-between; align-items:center; gap:12px; padding-bottom:9px; border-bottom:1px solid var(--line); }
.admin-editor-list { display:grid; gap:7px; margin-top:10px; max-height:610px; overflow:auto; padding-right:5px; }
.admin-editor-row { display:grid; grid-template-columns:34px minmax(0,1fr) auto 30px; gap:10px; align-items:center; padding:10px; border:1px solid var(--line); background:rgba(var(--surface-rgb),.45); }
.admin-editor-order { color:var(--muted); font:600 10px/1 ui-monospace,SFMono-Regular,monospace; }
.admin-editor-main { min-width:0; display:grid; gap:5px; }
.admin-editor-main code { color:var(--lime); font-size:10px; }
.admin-editor-main input { width:100%; min-height:36px; padding:0 8px; border:1px solid var(--line); background:var(--input-bg); color:var(--ink); }
.admin-editor-main input[readonly] { border-color:transparent; padding-left:0; background:transparent; font-weight:620; }
.admin-editor-main small { color:var(--muted); font-size:9px; }
.admin-editor-visible { display:grid; justify-items:center; gap:3px; color:var(--muted); font-size:9px; }
.admin-editor-visible input { width:17px; height:17px; accent-color:var(--lime); }
.admin-editor-remove { width:28px; height:28px; border:1px solid var(--line); background:transparent; color:var(--muted); cursor:pointer; font-size:18px; }
.admin-editor-remove:hover { color:var(--warning); border-color:rgba(167,18,25,.35); }
.admin-catalog-change-summary { margin-top:16px; color:var(--muted); font-size:12px; }

@media (max-width: 960px) {
  .help-edit-toggle-fastapi { font-size:0; width:38px; padding:0; }
  .help-edit-toggle-fastapi::after { content:"?"; font-size:14px; }
  .admin-catalog-columns { grid-template-columns:1fr; }
  .admin-card-heading-row { flex-direction:column; }
  .evi-pdf-action { margin-left:0; }
}
@media (max-width: 620px) {
  .admin-editor-row { grid-template-columns:28px minmax(0,1fr) 28px; }
  .admin-editor-visible { grid-column:2; justify-items:start; grid-auto-flow:column; justify-content:start; }
  .admin-editor-remove { grid-column:3; grid-row:1; }
}
