/* codex-sw-result-modal-v1: окно результата, переписанное с нуля по образцу прода от 07.10.2026.
   Инъекция: stylesheet подключается отдельно, ничего глобального не переопределяет.
   Все селекторы в префиксе swr-, чтобы не задевать остальную страницу. */
:root {
  --swr-ink: rgba(255, 255, 255, .96);
  --swr-ink-2: rgba(255, 255, 255, .74);
  --swr-ink-3: rgba(255, 255, 255, .52);
  --swr-line: rgba(255, 255, 255, .14);
  --swr-line-2: rgba(255, 255, 255, .09);
  --swr-accent: #38bdf8;
  --swr-accent-2: #67ddb2;
  --swr-danger: #ff6b6b;
  --swr-radius: 26px;
}

/* ---------- каркас ---------- */
html body .swr-overlay {
  position: fixed;
  inset: 0;
  z-index: 10400;
  display: grid;
  place-items: center;
  padding: max(12px, env(safe-area-inset-top)) 12px max(12px, env(safe-area-inset-bottom));
  opacity: 0;
  visibility: hidden;
  transition: opacity .26s ease, visibility .26s ease;
  background: rgba(3, 8, 16, .62);
  -webkit-backdrop-filter: blur(6px) saturate(115%);
  backdrop-filter: blur(6px) saturate(115%);
}
html body .swr-overlay.is-open { opacity: 1; visibility: visible; }

html body.swr-lock { overflow: hidden; }

html body .swr-card {
  position: relative;
  width: min(96vw, 1000px);
  max-height: min(92dvh, 940px);
  overflow-y: auto;
  overscroll-behavior: contain;
  -webkit-overflow-scrolling: touch;
  padding: 26px 24px 24px;
  border-radius: var(--swr-radius);
  color: var(--swr-ink);
  background:
    radial-gradient(circle at top right, rgba(130, 183, 255, .12), transparent 30%),
    radial-gradient(circle at bottom left, rgba(103, 221, 178, .11), transparent 36%),
    linear-gradient(180deg, rgba(18, 31, 50, .94), rgba(8, 16, 28, .92));
  border: 1px solid var(--swr-line);
  box-shadow: 0 40px 90px rgba(0, 0, 0, .55), inset 0 1px 0 rgba(255, 255, 255, .08);
  transform: translateY(14px) scale(.985);
  opacity: 0;
  transition: transform .3s cubic-bezier(.2, .8, .2, 1), opacity .3s ease;
}
html body .swr-overlay.is-open .swr-card { transform: none; opacity: 1; }

html body .swr-brand {
  font-size: 11px;
  font-weight: 900;
  letter-spacing: .22em;
  color: var(--swr-ink-3);
  text-align: center;
  text-transform: uppercase;
}
html body .swr-close {
  position: absolute;
  top: 14px;
  right: 14px;
  width: 44px;
  height: 44px;
  display: grid;
  place-items: center;
  border-radius: 50%;
  border: 1px solid var(--swr-line);
  background: rgba(8, 16, 28, .7);
  color: var(--swr-ink);
  font-size: 24px;
  line-height: 1;
  cursor: pointer;
  transition: background .18s ease, transform .18s ease, border-color .18s ease;
}
html body .swr-close:hover { background: rgba(20, 34, 54, .9); transform: scale(1.06); }
html body .swr-close:focus-visible { outline: 3px solid var(--swr-accent); outline-offset: 2px; }

/* ---------- шапка ---------- */
html body .swr-header { text-align: center; margin: 6px 0 16px; padding: 0 44px; }
html body .swr-header h1 {
  margin: 0 0 6px;
  font-size: clamp(22px, 3.4vw, 32px);
  font-weight: 800;
  line-height: 1.15;
  color: var(--swr-ink);
}
html body .swr-header p { margin: 0; font-size: 14px; line-height: 1.45; color: var(--swr-ink-2); }
html body .swr-header .swr-file {
  margin-top: 10px;
  display: inline-block;
  max-width: 100%;
  padding: 6px 14px;
  border-radius: 999px;
  border: 1px solid var(--swr-line-2);
  background: rgba(255, 255, 255, .05);
  font-size: 13px;
  color: var(--swr-ink-2);
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

/* ---------- органы листания модалок ---------- */
html body .swr-pager {
  position: sticky;
  top: -26px;
  z-index: 6;
  margin: -8px 0 14px;
  padding: 10px 10px 12px;
  border-radius: 20px;
  border: 1px solid rgba(56, 189, 248, .26);
  background: linear-gradient(160deg, rgba(16, 30, 50, .96), rgba(9, 18, 32, .94));
  box-shadow: 0 18px 40px rgba(3, 10, 20, .45);
  -webkit-backdrop-filter: blur(12px);
  backdrop-filter: blur(12px);
}
html body .swr-pager[hidden] { display: none !important; }
html body .swr-pager__row { display: flex; align-items: center; gap: 10px; }
html body .swr-pager__btn {
  flex: 0 0 auto;
  width: 62px;
  height: 62px;
  display: grid;
  place-items: center;
  border-radius: 20px;
  border: 1px solid rgba(56, 189, 248, .38);
  background: linear-gradient(180deg, rgba(56, 189, 248, .26), rgba(56, 189, 248, .12));
  color: #eaf7ff;
  font-size: 34px;
  line-height: 1;
  font-weight: 700;
  cursor: pointer;
  box-shadow: 0 12px 26px rgba(8, 20, 36, .5), inset 0 1px 0 rgba(255, 255, 255, .18);
  transition: transform .16s ease, box-shadow .16s ease, opacity .16s ease;
  -webkit-tap-highlight-color: transparent;
}
html body .swr-pager__btn:hover:not(:disabled) { transform: translateY(-2px); box-shadow: 0 18px 34px rgba(8, 20, 36, .6); }
html body .swr-pager__btn:active:not(:disabled) { transform: translateY(0) scale(.97); }
html body .swr-pager__btn:disabled { opacity: .3; cursor: default; box-shadow: none; }
html body .swr-pager__btn:focus-visible { outline: 3px solid var(--swr-accent-2); outline-offset: 3px; }

html body .swr-pager__mid { flex: 1 1 auto; min-width: 0; text-align: center; }
html body .swr-pager__count {
  display: block;
  font-size: clamp(15px, 2.2vw, 19px);
  font-weight: 800;
  color: var(--swr-ink);
  letter-spacing: .01em;
}
html body .swr-pager__count em { font-style: normal; color: var(--swr-accent); }
html body .swr-pager__hint {
  display: block;
  margin-top: 3px;
  font-size: 12px;
  line-height: 1.35;
  color: var(--swr-ink-3);
}
html body .swr-pager__hint b { color: var(--swr-accent-2); font-weight: 700; }

html body .swr-dots {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 8px;
  margin-top: 10px;
}
html body .swr-dot {
  position: relative;
  min-width: 46px;
  height: 34px;
  padding: 0 10px;
  display: grid;
  place-items: center;
  border-radius: 12px;
  border: 1px solid var(--swr-line);
  background: rgba(255, 255, 255, .05);
  color: var(--swr-ink-3);
  font-size: 12px;
  font-weight: 700;
  cursor: pointer;
  transition: all .16s ease;
}
html body .swr-dot:hover { color: var(--swr-ink); border-color: rgba(56, 189, 248, .5); }
html body .swr-dot:focus-visible { outline: 2px solid var(--swr-accent); outline-offset: 2px; }
html body .swr-dot.is-now {
  color: #04121f;
  background: linear-gradient(180deg, #7dd3fc, #38bdf8);
  border-color: #7dd3fc;
  box-shadow: 0 10px 22px rgba(56, 189, 248, .32);
}
html body .swr-dot.is-fresh { animation: swrPulse 1.5s ease-in-out infinite; border-color: var(--swr-accent-2); color: var(--swr-accent-2); }
html body .swr-dot.is-fresh::after {
  content: "новый";
  position: absolute;
  top: -9px;
  right: -6px;
  padding: 1px 6px;
  border-radius: 999px;
  font-size: 10px;
  font-weight: 800;
  color: #04121f;
  background: var(--swr-accent-2);
}
html body .swr-dot.is-error { color: var(--swr-danger); border-color: rgba(255, 107, 107, .5); }
html body .swr-dot.is-busy::after {
  content: "";
  position: absolute;
  inset: auto 8px 3px;
  height: 3px;
  border-radius: 2px;
  background: linear-gradient(90deg, transparent, var(--swr-accent), transparent);
  animation: swrSlide 1.1s linear infinite;
}
@keyframes swrPulse {
  0%, 100% { box-shadow: 0 0 0 0 rgba(103, 221, 178, .42); }
  50% { box-shadow: 0 0 0 8px rgba(103, 221, 178, 0); }
}
@keyframes swrSlide { 0% { transform: translateX(-40%); } 100% { transform: translateX(40%); } }

/* ---------- прирост и оценка ---------- */
html body .swr-impact {
  display: grid;
  gap: 14px;
  grid-template-columns: minmax(0, 1fr) auto;
  grid-template-areas: "feedback score" "metrics metrics";
  align-items: center;
  margin: 0 0 18px;
  padding: 16px 18px;
  border-radius: 20px;
  border: 1px solid rgba(103, 221, 178, .22);
  background: linear-gradient(150deg, rgba(103, 221, 178, .10), rgba(8, 18, 30, .5));
}
html body .swr-impact__feedback { grid-area: feedback; text-align: left; }
html body .swr-impact__eyebrow { margin: 0 0 4px; font-size: 11px; font-weight: 800; letter-spacing: .14em; text-transform: uppercase; color: var(--swr-ink-3); }
html body .swr-impact__stars { display: flex; gap: 6px; margin: 6px 0 4px; }
html body .swr-star {
  width: 46px;
  height: 46px;
  display: grid;
  place-items: center;
  border-radius: 14px;
  border: 1px solid var(--swr-line);
  background: rgba(255, 255, 255, .05);
  color: rgba(255, 255, 255, .34);
  font-size: 24px;
  cursor: pointer;
  transition: all .16s ease;
  -webkit-tap-highlight-color: transparent;
}
html body .swr-star:hover { transform: translateY(-2px); color: #ffd66b; border-color: rgba(255, 214, 107, .5); }
html body .swr-star:focus-visible { outline: 2px solid #ffd66b; outline-offset: 2px; }
html body .swr-star.is-on { color: #ffd66b; border-color: rgba(255, 214, 107, .7); background: rgba(255, 214, 107, .14); }
html body .swr-impact__status { margin: 0; font-size: 12px; color: var(--swr-ink-3); }

html body .swr-growth {
  grid-area: score;
  position: relative;
  width: 150px;
  padding: 14px 12px 12px;
  border-radius: 18px;
  border: 1px solid rgba(56, 189, 248, .34);
  background: rgba(56, 189, 248, .10);
  color: var(--swr-ink);
  text-align: center;
  cursor: pointer;
  transition: transform .16s ease, box-shadow .16s ease;
}
html body .swr-growth:hover { transform: translateY(-2px); box-shadow: 0 16px 32px rgba(8, 20, 36, .48); }
html body .swr-growth small { display: block; font-size: 11px; color: var(--swr-ink-3); margin-bottom: 4px; }
html body .swr-growth strong { display: block; font-size: 34px; font-weight: 900; line-height: 1; color: var(--swr-accent); }
html body .swr-growth em { display: block; margin-top: 8px; font-size: 10px; line-height: 1.3; font-style: normal; color: var(--swr-ink-3); }
html body .swr-growth svg { position: absolute; top: 8px; right: 8px; width: 22px; height: 22px; fill: none; stroke: var(--swr-accent-2); stroke-width: 4; stroke-linecap: round; stroke-linejoin: round; opacity: .7; }

html body .swr-metrics { grid-area: metrics; display: grid; gap: 8px; grid-template-columns: repeat(2, minmax(0, 1fr)); }
html body .swr-metric {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 10px;
  padding: 10px 14px;
  border-radius: 14px;
  border: 1px solid var(--swr-line-2);
  background: rgba(255, 255, 255, .04);
  font-size: 13px;
  color: var(--swr-ink-2);
}
html body .swr-metric b { font-size: 16px; font-weight: 800; color: var(--swr-ink); }
html body .swr-metric.is-output { border-color: rgba(103, 221, 178, .32); background: rgba(103, 221, 178, .10); }
html body .swr-metric.is-output b { color: var(--swr-accent-2); }
html body .swr-metric.is-wide { grid-column: 1 / -1; color: var(--swr-ink-3); font-size: 12px; }

/* ---------- загрузка ---------- */
html body .swr-loading {
  display: grid;
  gap: 8px;
  place-items: center;
  padding: 26px 18px;
  border-radius: 18px;
  border: 1px solid var(--swr-line-2);
  background: rgba(255, 255, 255, .04);
  text-align: center;
}
html body .swr-loading[hidden] { display: none; }
html body .swr-loading strong { font-size: 17px; }
html body .swr-loading div { font-size: 13px; color: var(--swr-ink-3); }
html body .swr-loading i {
  width: min(320px, 70vw);
  height: 6px;
  border-radius: 999px;
  background: rgba(255, 255, 255, .10);
  overflow: hidden;
}
html body .swr-loading i::after {
  content: "";
  display: block;
  width: 40%;
  height: 100%;
  border-radius: inherit;
  background: linear-gradient(90deg, var(--swr-accent), var(--swr-accent-2));
  animation: swrSlide 1.2s ease-in-out infinite;
}

/* ---------- сетка плееров ---------- */
html body .swr-grid { display: grid; gap: 14px; grid-template-columns: minmax(0, 1.32fr) minmax(0, .68fr); align-items: start; }
html body .swr-col { display: grid; gap: 14px; align-content: start; min-width: 0; }

html body .swr-audio {
  padding: 16px 16px 14px;
  border-radius: 20px;
  border: 1px solid var(--swr-line);
  background: linear-gradient(180deg, rgba(255, 255, 255, .06), rgba(255, 255, 255, .02));
}
html body .swr-audio.is-result { border-color: rgba(103, 221, 178, .3); background: linear-gradient(180deg, rgba(103, 221, 178, .10), rgba(255, 255, 255, .02)); }
html body .swr-audio__top { display: flex; align-items: center; justify-content: space-between; gap: 10px; flex-wrap: wrap; margin-bottom: 12px; }
html body .swr-audio__pill {
  padding: 7px 13px;
  border-radius: 999px;
  border: 1px solid var(--swr-line);
  background: rgba(8, 16, 28, .55);
  font-size: 12px;
  font-weight: 800;
  letter-spacing: .04em;
  text-transform: uppercase;
  color: var(--swr-ink-2);
}
html body .swr-audio.is-result .swr-audio__pill { color: var(--swr-accent-2); border-color: rgba(103, 221, 178, .4); }
html body .swr-audio__meta { display: flex; gap: 8px; flex-wrap: wrap; align-items: center; }
html body .swr-badge {
  padding: 5px 10px;
  border-radius: 10px;
  font-size: 11px;
  font-weight: 800;
  border: 1px solid var(--swr-line-2);
  background: rgba(255, 255, 255, .05);
  color: var(--swr-ink-2);
}
html body .swr-badge.is-good { color: var(--swr-accent-2); border-color: rgba(103, 221, 178, .4); background: rgba(103, 221, 178, .12); }

html body .swr-player { display: grid; gap: 10px; grid-template-columns: 58px minmax(0, 1fr); align-items: center; }
html body .swr-play {
  width: 58px;
  height: 58px;
  display: grid;
  place-items: center;
  border-radius: 50%;
  border: 1px solid rgba(56, 189, 248, .4);
  background: linear-gradient(180deg, rgba(56, 189, 248, .3), rgba(56, 189, 248, .14));
  color: #eaf7ff;
  font-size: 24px;
  cursor: pointer;
  box-shadow: 0 12px 26px rgba(8, 20, 36, .5);
  transition: transform .16s ease, box-shadow .16s ease, opacity .16s ease;
  -webkit-tap-highlight-color: transparent;
}
html body .swr-play:hover:not(:disabled) { transform: scale(1.06); }
html body .swr-play:active:not(:disabled) { transform: scale(.96); }
html body .swr-play:disabled { opacity: .45; cursor: default; }
html body .swr-play:focus-visible { outline: 3px solid var(--swr-accent-2); outline-offset: 3px; }

html body .swr-stage {
  position: relative;
  height: 92px;
  border-radius: 16px;
  overflow: hidden;
  border: 1px solid var(--swr-line-2);
  background: rgba(4, 10, 18, .55);
  cursor: pointer;
}
html body .swr-stage canvas { display: block; width: 100%; height: 100%; }
html body .swr-stage__loader {
  position: absolute;
  inset: auto 10px 8px;
  font-size: 11px;
  color: var(--swr-ink-3);
}
html body .swr-stage__weight {
  position: absolute;
  top: 8px;
  right: 8px;
  padding: 5px 10px;
  border-radius: 10px;
  border: 1px solid var(--swr-line-2);
  background: rgba(4, 10, 18, .8);
  text-align: right;
}
html body .swr-stage__weight small { display: block; font-size: 9px; letter-spacing: .08em; text-transform: uppercase; color: var(--swr-ink-3); }
html body .swr-stage__weight strong { font-size: 13px; color: var(--swr-ink); }
html body .swr-cursor {
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  width: 2px;
  background: linear-gradient(180deg, #fff, var(--swr-accent));
  box-shadow: 0 0 12px rgba(56, 189, 248, .8);
  pointer-events: none;
  opacity: 0;
  transition: opacity .2s ease;
}
html body .swr-stage.is-live .swr-cursor { opacity: 1; }
html body .swr-times { display: flex; justify-content: space-between; gap: 8px; font-size: 11px; color: var(--swr-ink-3); grid-column: 2; }
html body .swr-times b { color: var(--swr-ink-2); font-weight: 700; }

/* ---------- польза ---------- */
html body .swr-benefits {
  display: grid;
  gap: 8px;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  padding: 14px;
  border-radius: 18px;
  border: 1px solid var(--swr-line-2);
  background: rgba(255, 255, 255, .04);
}
html body .swr-benefits__head { grid-column: 1 / -1; font-size: 11px; font-weight: 800; letter-spacing: .14em; text-transform: uppercase; color: var(--swr-ink-3); }
html body .swr-benefit { display: grid; gap: 4px; justify-items: center; text-align: center; padding: 8px 6px; border-radius: 12px; }
html body .swr-benefit i { font-style: normal; font-size: 20px; color: var(--swr-accent-2); }
html body .swr-benefit b { font-size: 12px; color: var(--swr-ink); }
html body .swr-benefit small { font-size: 10px; line-height: 1.25; color: var(--swr-ink-3); }

/* ---------- покупка ---------- */
html body .swr-offer {
  display: grid;
  gap: 14px;
  padding: 18px;
  border-radius: 22px;
  border: 1px solid rgba(56, 189, 248, .3);
  background: linear-gradient(160deg, rgba(56, 189, 248, .12), rgba(8, 18, 30, .6));
}
html body .swr-offer__copy { text-align: center; }
html body .swr-offer__eyebrow { font-size: 11px; font-weight: 800; letter-spacing: .14em; text-transform: uppercase; color: var(--swr-accent); }
html body .swr-offer h2 { margin: 6px 0 4px; font-size: clamp(18px, 2.6vw, 24px); font-weight: 800; }
html body .swr-offer p { margin: 0; font-size: 13px; color: var(--swr-ink-2); }
html body .swr-offer__price { text-align: center; font-size: 40px; font-weight: 900; color: var(--swr-ink); letter-spacing: -.02em; }

html body .swr-pay {
  position: relative;
  display: grid;
  gap: 12px;
  padding: 16px;
  border-radius: 20px;
  border: 1px solid rgba(255, 255, 255, .2);
  background: linear-gradient(180deg, rgba(255, 255, 255, .12), rgba(255, 255, 255, .04));
  color: var(--swr-ink);
  text-decoration: none;
  cursor: pointer;
  overflow: hidden;
  transition: transform .16s ease, box-shadow .16s ease, border-color .16s ease;
}
html body .swr-pay:hover { transform: translateY(-2px); border-color: rgba(125, 211, 252, .6); box-shadow: 0 22px 44px rgba(8, 20, 36, .55); }
html body .swr-pay:focus-visible { outline: 3px solid var(--swr-accent); outline-offset: 3px; }
html body .swr-pay[aria-disabled="true"] { opacity: .6; pointer-events: none; }
html body .swr-pay__row { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
html body .swr-pay__copy { display: grid; gap: 3px; }
html body .swr-pay__copy small { font-size: 10px; letter-spacing: .14em; text-transform: uppercase; color: var(--swr-ink-3); }
html body .swr-pay__copy strong { font-size: 18px; font-weight: 800; }
html body .swr-pay__copy em { font-style: normal; font-size: 12px; color: var(--swr-ink-3); }
html body .swr-pay__panel { display: flex; align-items: center; gap: 10px; padding: 8px 12px; border-radius: 14px; background: rgba(4, 10, 18, .55); border: 1px solid var(--swr-line-2); }
html body .swr-pay__price { display: grid; text-align: center; }
html body .swr-pay__price strong { font-size: 19px; font-weight: 900; }
html body .swr-pay__price small { font-size: 9px; letter-spacing: .08em; text-transform: uppercase; color: var(--swr-accent-2); }
html body .swr-pay__shield { width: 24px; height: 24px; fill: none; stroke: var(--swr-accent-2); stroke-width: 1.6; }
html body .swr-pay__arrow { font-size: 26px; color: var(--swr-accent); }
html body .swr-pay__trust { display: grid; gap: 6px; grid-template-columns: repeat(3, minmax(0, 1fr)); padding-top: 10px; border-top: 1px solid var(--swr-line-2); }
html body .swr-pay__trust span { display: grid; justify-items: center; gap: 1px; font-size: 10px; color: var(--swr-ink-3); text-align: center; }
html body .swr-pay__trust b { color: var(--swr-ink-2); font-size: 11px; }

html body .swr-why {
  display: block;
  width: 100%;
  padding: 12px 16px;
  border-radius: 14px;
  border: 1px solid var(--swr-line);
  background: rgba(255, 255, 255, .05);
  color: var(--swr-ink-2);
  font-size: 13px;
  font-weight: 700;
  cursor: pointer;
  text-align: center;
  transition: background .16s ease, color .16s ease;
}
html body .swr-why:hover { background: rgba(255, 255, 255, .1); color: var(--swr-ink); }
html body .swr-why:focus-visible { outline: 2px solid var(--swr-accent); outline-offset: 2px; }

html body .swr-trust {
  display: grid;
  gap: 10px;
  padding: 14px;
  border-radius: 16px;
  border: 1px solid rgba(103, 221, 178, .26);
  background: rgba(103, 221, 178, .08);
}
html body .swr-trust__main { display: flex; gap: 10px; align-items: flex-start; }
html body .swr-trust__main > span { flex: 0 0 auto; width: 26px; height: 26px; display: grid; place-items: center; border-radius: 50%; background: rgba(103, 221, 178, .22); color: var(--swr-accent-2); font-weight: 900; }
html body .swr-trust__main b { display: block; font-size: 13px; }
html body .swr-trust__main small { font-size: 11px; line-height: 1.35; color: var(--swr-ink-3); }
html body .swr-trust__chips { display: flex; flex-wrap: wrap; gap: 6px; }
html body .swr-trust__chips span { padding: 4px 9px; border-radius: 999px; border: 1px solid var(--swr-line-2); font-size: 10px; color: var(--swr-ink-3); }
html body .swr-safe { text-align: center; font-size: 11px; color: var(--swr-ink-3); }

html body .swr-note {
  margin: 14px 0 0;
  text-align: center;
  font-size: 13px;
  font-weight: 700;
  color: var(--swr-accent-2);
}

/* ---------- диалоги ---------- */
html body .swr-dialog {
  position: fixed;
  inset: 0;
  z-index: 10420;
  display: grid;
  place-items: center;
  padding: 16px;
  background: rgba(3, 8, 16, .7);
  -webkit-backdrop-filter: blur(6px);
  backdrop-filter: blur(6px);
}
html body .swr-dialog[hidden] { display: none; }
html body .swr-dialog__card {
  position: relative;
  width: min(94vw, 520px);
  max-height: 86dvh;
  overflow-y: auto;
  padding: 24px 22px;
  border-radius: 22px;
  border: 1px solid var(--swr-line);
  background: linear-gradient(180deg, rgba(18, 31, 50, .98), rgba(8, 16, 28, .98));
  box-shadow: 0 30px 70px rgba(0, 0, 0, .6);
}
html body .swr-dialog h3 { margin: 0 0 8px; font-size: 20px; }
html body .swr-dialog p { margin: 0 0 10px; font-size: 13px; line-height: 1.5; color: var(--swr-ink-2); }
html body .swr-dialog textarea {
  width: 100%;
  min-height: 110px;
  padding: 12px;
  border-radius: 14px;
  border: 1px solid var(--swr-line);
  background: rgba(4, 10, 18, .6);
  color: var(--swr-ink);
  font: inherit;
  font-size: 14px;
  resize: vertical;
}
html body .swr-dialog__actions { display: flex; gap: 10px; margin-top: 14px; }
html body .swr-btn {
  flex: 1 1 auto;
  padding: 13px 16px;
  border-radius: 14px;
  border: 1px solid var(--swr-line);
  background: rgba(255, 255, 255, .07);
  color: var(--swr-ink);
  font-size: 14px;
  font-weight: 800;
  cursor: pointer;
  transition: background .16s ease, transform .16s ease;
}
html body .swr-btn:hover { background: rgba(255, 255, 255, .14); }
html body .swr-btn:active { transform: scale(.98); }
html body .swr-btn:focus-visible { outline: 2px solid var(--swr-accent); outline-offset: 2px; }
html body .swr-btn.is-primary { background: linear-gradient(180deg, #7dd3fc, #38bdf8); color: #04121f; border-color: #7dd3fc; }

/* ---------- адаптив ---------- */
@media (max-width: 900px) {
  html body .swr-card { padding: 20px 16px 20px; }
  html body .swr-grid { grid-template-columns: minmax(0, 1fr); }
  html body .swr-impact { grid-template-columns: minmax(0, 1fr); grid-template-areas: "feedback" "score" "metrics"; justify-items: stretch; }
  html body .swr-growth { width: 100%; }
  html body .swr-benefits { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  html body .swr-header { padding: 0 38px; }
}
@media (max-width: 620px) {
  html body .swr-overlay { padding: 0; align-items: stretch; }
  html body .swr-card { width: 100%; max-height: 100dvh; height: 100dvh; border-radius: 0; padding: 16px 12px 22px; }
  html body .swr-header { padding: 0 44px 0 4px; }
  html body .swr-header h1 { font-size: 21px; }
  html body .swr-pager { top: -16px; padding: 8px 8px 10px; border-radius: 16px; }
  html body .swr-pager__btn { width: 56px; height: 56px; font-size: 30px; border-radius: 16px; }
  html body .swr-pager__count { font-size: 15px; }
  html body .swr-dot { min-width: 38px; height: 30px; font-size: 11px; }
  html body .swr-metrics { grid-template-columns: minmax(0, 1fr); }
  html body .swr-star { width: 42px; height: 42px; font-size: 21px; }
  html body .swr-player { grid-template-columns: 50px minmax(0, 1fr); }
  html body .swr-play { width: 50px; height: 50px; font-size: 21px; }
  html body .swr-stage { height: 76px; }
  html body .swr-pay__trust { grid-template-columns: minmax(0, 1fr); gap: 4px; }
  html body .swr-pay__row { flex-direction: column; align-items: stretch; }
  html body .swr-offer__price { font-size: 34px; }
}
@media (max-width: 380px) {
  html body .swr-benefits { grid-template-columns: minmax(0, 1fr); }
}

@media (prefers-reduced-motion: reduce) {
  html body .swr-overlay, html body .swr-card, html body .swr-pager__btn, html body .swr-pay, html body .swr-growth { transition: none; }
  html body .swr-dot.is-fresh, html body .swr-dot.is-busy::after, html body .swr-loading i::after { animation: none; }
}