/*! tailwindcss v4.2.1 | MIT License | https://tailwindcss.com */
@layer properties;
@layer theme, base, components, utilities;
@layer theme {
  :root, :host {
    --font-sans: ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji",
      "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
    --font-mono: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono",
      "Courier New", monospace;
    --spacing: 0.25rem;
    --default-font-family: var(--font-sans);
    --default-mono-font-family: var(--font-mono);
  }
}
@layer base {
  *, ::after, ::before, ::backdrop, ::file-selector-button {
    box-sizing: border-box;
    margin: 0;
    padding: 0;
    border: 0 solid;
  }
  html, :host {
    line-height: 1.5;
    -webkit-text-size-adjust: 100%;
    tab-size: 4;
    font-family: var(--default-font-family, ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");
    font-feature-settings: var(--default-font-feature-settings, normal);
    font-variation-settings: var(--default-font-variation-settings, normal);
    -webkit-tap-highlight-color: transparent;
  }
  hr {
    height: 0;
    color: inherit;
    border-top-width: 1px;
  }
  abbr:where([title]) {
    -webkit-text-decoration: underline dotted;
    text-decoration: underline dotted;
  }
  h1, h2, h3, h4, h5, h6 {
    font-size: inherit;
    font-weight: inherit;
  }
  a {
    color: inherit;
    -webkit-text-decoration: inherit;
    text-decoration: inherit;
  }
  b, strong {
    font-weight: bolder;
  }
  code, kbd, samp, pre {
    font-family: var(--default-mono-font-family, ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);
    font-feature-settings: var(--default-mono-font-feature-settings, normal);
    font-variation-settings: var(--default-mono-font-variation-settings, normal);
    font-size: 1em;
  }
  small {
    font-size: 80%;
  }
  sub, sup {
    font-size: 75%;
    line-height: 0;
    position: relative;
    vertical-align: baseline;
  }
  sub {
    bottom: -0.25em;
  }
  sup {
    top: -0.5em;
  }
  table {
    text-indent: 0;
    border-color: inherit;
    border-collapse: collapse;
  }
  :-moz-focusring {
    outline: auto;
  }
  progress {
    vertical-align: baseline;
  }
  summary {
    display: list-item;
  }
  ol, ul, menu {
    list-style: none;
  }
  img, svg, video, canvas, audio, iframe, embed, object {
    display: block;
    vertical-align: middle;
  }
  img, video {
    max-width: 100%;
    height: auto;
  }
  button, input, select, optgroup, textarea, ::file-selector-button {
    font: inherit;
    font-feature-settings: inherit;
    font-variation-settings: inherit;
    letter-spacing: inherit;
    color: inherit;
    border-radius: 0;
    background-color: transparent;
    opacity: 1;
  }
  :where(select:is([multiple], [size])) optgroup {
    font-weight: bolder;
  }
  :where(select:is([multiple], [size])) optgroup option {
    padding-inline-start: 20px;
  }
  ::file-selector-button {
    margin-inline-end: 4px;
  }
  ::placeholder {
    opacity: 1;
  }
  @supports (not (-webkit-appearance: -apple-pay-button))  or (contain-intrinsic-size: 1px) {
    ::placeholder {
      color: currentcolor;
      @supports (color: color-mix(in lab, red, red)) {
        color: color-mix(in oklab, currentcolor 50%, transparent);
      }
    }
  }
  textarea {
    resize: vertical;
  }
  ::-webkit-search-decoration {
    -webkit-appearance: none;
  }
  ::-webkit-date-and-time-value {
    min-height: 1lh;
    text-align: inherit;
  }
  ::-webkit-datetime-edit {
    display: inline-flex;
  }
  ::-webkit-datetime-edit-fields-wrapper {
    padding: 0;
  }
  ::-webkit-datetime-edit, ::-webkit-datetime-edit-year-field, ::-webkit-datetime-edit-month-field, ::-webkit-datetime-edit-day-field, ::-webkit-datetime-edit-hour-field, ::-webkit-datetime-edit-minute-field, ::-webkit-datetime-edit-second-field, ::-webkit-datetime-edit-millisecond-field, ::-webkit-datetime-edit-meridiem-field {
    padding-block: 0;
  }
  ::-webkit-calendar-picker-indicator {
    line-height: 1;
  }
  :-moz-ui-invalid {
    box-shadow: none;
  }
  button, input:where([type="button"], [type="reset"], [type="submit"]), ::file-selector-button {
    appearance: button;
  }
  ::-webkit-inner-spin-button, ::-webkit-outer-spin-button {
    height: auto;
  }
  [hidden]:where(:not([hidden="until-found"])) {
    display: none !important;
  }
}
@layer utilities {
  .visible {
    visibility: visible;
  }
  .absolute {
    position: absolute;
  }
  .fixed {
    position: fixed;
  }
  .relative {
    position: relative;
  }
  .start {
    inset-inline-start: var(--spacing);
  }
  .end {
    inset-inline-end: var(--spacing);
  }
  .container {
    width: 100%;
    @media (width >= 40rem) {
      max-width: 40rem;
    }
    @media (width >= 48rem) {
      max-width: 48rem;
    }
    @media (width >= 64rem) {
      max-width: 64rem;
    }
    @media (width >= 80rem) {
      max-width: 80rem;
    }
    @media (width >= 96rem) {
      max-width: 96rem;
    }
  }
  .hidden {
    display: none;
  }
  .transform {
    transform: var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,);
  }
  .resize {
    resize: both;
  }
  .filter {
    filter: var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,);
  }
}
: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;
  }
}
@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;
  }
}
.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);
  }
}
: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;
}
[hidden] {
  display: none !important;
}
.admin-account form {
  margin: 0;
}
.admin-account form button {
  background: none;
  border: 0;
  padding: 0;
  cursor: pointer;
}
.download-status {
  display: block;
  margin: 8px 0;
  font-size: 12px;
  color: var(--muted);
}
@property --tw-rotate-x {
  syntax: "*";
  inherits: false;
}
@property --tw-rotate-y {
  syntax: "*";
  inherits: false;
}
@property --tw-rotate-z {
  syntax: "*";
  inherits: false;
}
@property --tw-skew-x {
  syntax: "*";
  inherits: false;
}
@property --tw-skew-y {
  syntax: "*";
  inherits: false;
}
@property --tw-blur {
  syntax: "*";
  inherits: false;
}
@property --tw-brightness {
  syntax: "*";
  inherits: false;
}
@property --tw-contrast {
  syntax: "*";
  inherits: false;
}
@property --tw-grayscale {
  syntax: "*";
  inherits: false;
}
@property --tw-hue-rotate {
  syntax: "*";
  inherits: false;
}
@property --tw-invert {
  syntax: "*";
  inherits: false;
}
@property --tw-opacity {
  syntax: "*";
  inherits: false;
}
@property --tw-saturate {
  syntax: "*";
  inherits: false;
}
@property --tw-sepia {
  syntax: "*";
  inherits: false;
}
@property --tw-drop-shadow {
  syntax: "*";
  inherits: false;
}
@property --tw-drop-shadow-color {
  syntax: "*";
  inherits: false;
}
@property --tw-drop-shadow-alpha {
  syntax: "<percentage>";
  inherits: false;
  initial-value: 100%;
}
@property --tw-drop-shadow-size {
  syntax: "*";
  inherits: false;
}
@layer properties {
  @supports ((-webkit-hyphens: none) and (not (margin-trim: inline))) or ((-moz-orient: inline) and (not (color:rgb(from red r g b)))) {
    *, ::before, ::after, ::backdrop {
      --tw-rotate-x: initial;
      --tw-rotate-y: initial;
      --tw-rotate-z: initial;
      --tw-skew-x: initial;
      --tw-skew-y: initial;
      --tw-blur: initial;
      --tw-brightness: initial;
      --tw-contrast: initial;
      --tw-grayscale: initial;
      --tw-hue-rotate: initial;
      --tw-invert: initial;
      --tw-opacity: initial;
      --tw-saturate: initial;
      --tw-sepia: initial;
      --tw-drop-shadow: initial;
      --tw-drop-shadow-color: initial;
      --tw-drop-shadow-alpha: 100%;
      --tw-drop-shadow-size: initial;
    }
  }
}
