/*
Theme Name: Snelcontract
Description: Bare theme for snelcontract.nl. The pages are built by the Snelcontract plugin.
Author: Moonlight Multimedia
Version: 1.0
Text Domain: snelcontract
*/
* {
  box-sizing: border-box;
}

body {
  margin: 0;
  font: 18px/1.65 system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
  color: #17202a;
  background: #f6f8f9;
}

a {
  color: #1b43a0;
  text-underline-offset: 3px;
}

h1 {
  font-size: clamp(1.6rem, 4vw, 2.3rem);
  line-height: 1.2;
  margin: 0.4em 0 0.5em;
}

h2 {
  font-size: 1.3rem;
  margin: 1.8em 0 0.5em;
}

h3 {
  font-size: 1.05rem;
  margin: 1.2em 0 0.2em;
}

.screen-reader-text {
  position: absolute;
  width: 1px;
  height: 1px;
  overflow: hidden;
  clip: rect(0 0 0 0);
  white-space: nowrap;
}

.site-header {
  background: #fff;
  border-bottom: 1px solid #dde3e8;
}

.site-header__inner, .site-footer__inner, .sc-wrap {
  max-width: 1120px;
  margin: 0 auto;
  padding: 0 20px;
}

.site-header__inner {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 8px 24px;
  min-height: 60px;
}

.site-logo {
  font-weight: 800;
  font-size: 1.25rem;
  color: #2457c5;
  text-decoration: none;
}
.site-logo span {
  color: #17202a;
}

.site-nav {
  display: flex;
  flex-wrap: wrap;
  gap: 4px 18px;
}
.site-nav a {
  color: #17202a;
  text-decoration: none;
  font-weight: 600;
}
.site-nav a:hover {
  color: #2457c5;
}

.site-main {
  padding: 12px 0 48px;
  min-height: 60vh;
}

.site-footer {
  background: #fff;
  border-top: 1px solid #dde3e8;
  padding: 24px 0;
  font-size: 0.85rem;
  color: #5f6b76;
}
.site-footer a {
  color: inherit;
}

.site-footer__inner {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  gap: 8px 24px;
}

.breadcrumbs {
  font-size: 0.85rem;
  margin: 12px 0 0;
}
.breadcrumbs ol {
  display: flex;
  flex-wrap: wrap;
  list-style: none;
  margin: 0;
  padding: 0;
}
.breadcrumbs li + li::before {
  content: "›";
  margin: 0 8px;
  color: #5f6b76;
}
.breadcrumbs a {
  color: #5f6b76;
}

.sc-lead {
  font-size: 1.1rem;
  color: #5f6b76;
}

.sc-muted {
  color: #5f6b76;
  font-size: 0.9rem;
}

.sc-hero {
  padding: 32px 0 8px;
}

.sc-search {
  display: flex;
  gap: 8px;
  margin: 16px 0;
}
.sc-search input {
  flex: 1;
  min-width: 0;
  padding: 14px 16px;
  border: 1px solid #dde3e8;
  border-radius: 10px;
  font: inherit;
}
.sc-search button {
  padding: 0 22px;
  border: 0;
  border-radius: 10px;
  background: #2457c5;
  color: #fff;
  font: inherit;
  font-weight: 700;
  cursor: pointer;
}
.sc-search button:hover {
  background: #1b43a0;
}

.sc-cols {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  gap: 12px;
  margin: 20px 0;
}

.sc-card {
  display: block;
  padding: 18px;
  background: #fff;
  border: 1px solid #dde3e8;
  border-radius: 10px;
  text-decoration: none;
  color: #17202a;
}
.sc-card strong {
  display: block;
  font-size: 1.1rem;
  color: #1b43a0;
}
.sc-card span {
  color: #5f6b76;
  font-size: 0.9rem;
}
.sc-card:hover {
  border-color: #2457c5;
}

.sc-answer {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px 14px;
  padding: 16px;
  background: #fff;
  border: 1px solid #dde3e8;
  border-radius: 10px;
}
.sc-answer p {
  margin: 0;
  flex: 1 1 260px;
}

.sc-badge {
  display: inline-block;
  padding: 2px 10px;
  border-radius: 99px;
  font-size: 0.8rem;
  font-weight: 700;
  white-space: nowrap;
  background: #e8edf1;
  color: #17202a;
}
.sc-badge--vergoed {
  background: #d8e0f3;
  color: #0b245e;
}
.sc-badge--voorwaarden {
  background: #fdf0cc;
  color: #6b4b00;
}
.sc-badge--aanvullend {
  background: #dfe9fb;
  color: #1c3f80;
}
.sc-badge--niet {
  background: #fbdcdc;
  color: #8a1c1c;
}

.sc-list {
  list-style: none;
  margin: 0;
  padding: 0;
}
.sc-list li {
  padding: 10px 0;
  border-bottom: 1px solid #dde3e8;
}

.sc-links {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  list-style: none;
  padding: 0;
  margin: 0;
}
.sc-links a {
  display: block;
  padding: 6px 12px;
  background: #fff;
  border: 1px solid #dde3e8;
  border-radius: 99px;
  text-decoration: none;
}
.sc-links a:hover {
  border-color: #2457c5;
}

.sc-table-wrap {
  overflow-x: auto;
}

.sc-table {
  width: 100%;
  border-collapse: collapse;
  background: #fff;
  border: 1px solid #dde3e8;
}
.sc-table th, .sc-table td {
  text-align: left;
  padding: 10px 12px;
  border-bottom: 1px solid #dde3e8;
}
.sc-table th {
  background: #f6f8f9;
}

.sc-pager {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin: 24px 0;
}

.sc-split {
  margin: 20px 0;
  padding: 16px;
  background: #fff;
  border: 1px solid #dde3e8;
  border-radius: 10px;
}
.sc-split figcaption {
  font-weight: 700;
  margin-bottom: 10px;
}

.sc-bar {
  display: flex;
  height: 28px;
  border-radius: 99px;
  overflow: hidden;
  background: #e8edf1;
}
.sc-bar--mini {
  display: flex;
  width: 110px;
  height: 10px;
}

.sc-bar__seg {
  display: flex;
  align-items: center;
  justify-content: center;
  color: #fff;
  font-size: 0.8rem;
  font-weight: 700;
  min-width: 0;
}
.sc-bar__seg--covered {
  background: #1c44a0;
}
.sc-bar__seg--own {
  background: #e8873a;
}

.sc-split__legend {
  display: flex;
  flex-wrap: wrap;
  gap: 6px 22px;
  list-style: none;
  margin: 10px 0 0;
  padding: 0;
  font-size: 0.9rem;
}
.sc-split__legend li::before {
  content: "";
  display: inline-block;
  width: 10px;
  height: 10px;
  border-radius: 50%;
  margin-right: 6px;
  background: #5f6b76;
}
.sc-split__legend .sc-split__covered::before {
  background: #1c44a0;
}
.sc-split__legend .sc-split__own::before {
  background: #e8873a;
}

.sc-col-bar {
  width: 130px;
}

.sc-quote {
  margin: 12px 0;
  padding: 12px 16px;
  background: #fff;
  border-left: 4px solid #2457c5;
  border-radius: 0 10px 10px 0;
  font-size: 0.92rem;
}
.sc-quote p {
  margin: 0 0 6px;
}
.sc-quote footer {
  color: #5f6b76;
  font-size: 0.82rem;
}

h1 {
  font-size: clamp(2rem, 5vw, 3.2rem);
  letter-spacing: -0.02em;
}

h2 {
  font-size: 1.6rem;
  margin: 2.2em 0 0.6em;
}

.sc-eyebrow {
  margin: 0;
  color: #2457c5;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  font-size: 0.85rem;
}

.sc-hero {
  margin: 8px 0 0;
  padding: 28px 0 16px;
  text-align: center;
}
.sc-hero h1 {
  font-size: clamp(2rem, 5vw, 3rem);
  line-height: 1.05;
  margin: 0.1em 0 0.2em;
}
.sc-hero .sc-lead {
  max-width: 40em;
  margin: 0 auto 18px;
  font-size: 1.1rem;
}

.sc-search {
  position: relative;
}

.sc-search--big {
  max-width: 820px;
  margin: 0 auto 18px;
}
.sc-search--big input {
  height: 56px;
  padding: 0 24px;
  font-size: 1.15rem;
  border: 2px solid #dde3e8;
  border-radius: 99px;
  box-shadow: 0 10px 30px rgba(11, 122, 117, 0.12);
}
.sc-search--big input:focus {
  outline: none;
  border-color: #2457c5;
  box-shadow: 0 10px 34px rgba(11, 122, 117, 0.25);
}
.sc-search--big button {
  height: 56px;
  padding: 0 28px;
  border-radius: 99px;
  font-size: 1.05rem;
}

.sc-suggest {
  position: absolute;
  z-index: 20;
  top: calc(100% + 8px);
  left: 0;
  right: 0;
  text-align: left;
  background: #fff;
  border: 1px solid #dde3e8;
  border-radius: 18px;
  box-shadow: 0 18px 48px rgba(23, 32, 42, 0.18);
  overflow: hidden;
}
.sc-suggest[hidden] {
  display: none;
}

.sc-suggest__item {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 4px 14px;
  padding: 14px 22px;
  text-decoration: none;
  color: #17202a;
  border-bottom: 1px solid #dde3e8;
}
.sc-suggest__item:hover, .sc-suggest__item.is-active {
  background: #eef1f7;
}

.sc-suggest__name {
  font-weight: 700;
  font-size: 1.1rem;
}

.sc-suggest__meta {
  color: #5f6b76;
  font-size: 0.9rem;
  flex: 1;
}

.sc-suggest__all, .sc-suggest__empty {
  display: block;
  margin: 0;
  padding: 14px 22px;
  color: #1b43a0;
  font-weight: 700;
  text-decoration: none;
}

.sc-filters {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  gap: 12px 24px;
  margin: 8px 0 18px;
}

.sc-chips {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}
.sc-chips button {
  padding: 8px 18px;
  border: 1px solid #dde3e8;
  border-radius: 99px;
  background: #fff;
  font: inherit;
  font-size: 0.95rem;
  cursor: pointer;
  color: #17202a;
}
.sc-chips button:hover {
  border-color: #2457c5;
}
.sc-chips button.is-active {
  background: #2457c5;
  border-color: #2457c5;
  color: #fff;
}

.sc-insurer-pick {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  font-weight: 600;
  font-size: 0.95rem;
}
.sc-insurer-pick select {
  padding: 9px 14px;
  border: 1px solid #dde3e8;
  border-radius: 99px;
  background: #fff;
  font: inherit;
}

.sc-insurer-pick--item {
  display: flex;
  margin: 18px 0;
  padding: 16px 20px;
  background: #fff;
  border: 1px solid #dde3e8;
  border-radius: 10px;
}

.sc-popular {
  margin-top: 26px;
  color: #5f6b76;
}
.sc-popular span {
  margin-right: 6px;
}
.sc-popular a {
  display: inline-block;
  margin: 4px 4px;
  padding: 6px 14px;
  background: #fff;
  border: 1px solid #dde3e8;
  border-radius: 99px;
  text-decoration: none;
  color: #17202a;
}
.sc-popular a:hover {
  border-color: #2457c5;
}

.sc-stats {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
  gap: 16px;
  margin: 24px 0;
}

.sc-stat {
  display: block;
  padding: 22px;
  background: #fff;
  border: 1px solid #dde3e8;
  border-radius: 16px;
  text-decoration: none;
  color: #17202a;
  text-align: center;
}
.sc-stat strong {
  display: block;
  font-size: 2.8rem;
  line-height: 1.1;
  color: #2457c5;
}
.sc-stat span {
  color: #5f6b76;
  text-transform: capitalize;
}
.sc-stat:hover {
  border-color: #2457c5;
}

.sc-stats--small .sc-stat strong {
  font-size: 2.2rem;
}

.sc-tiles {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(230px, 1fr));
  gap: 14px;
}

.sc-tile {
  display: block;
  padding: 18px 20px;
  background: linear-gradient(135deg, #fff, #eef1f7);
  border: 1px solid #dde3e8;
  border-radius: 14px;
  text-decoration: none;
  color: #17202a;
}
.sc-tile strong {
  display: block;
  color: #1b43a0;
}
.sc-tile span {
  color: #5f6b76;
  font-size: 0.9rem;
}
.sc-tile:hover {
  border-color: #2457c5;
  transform: translateY(-2px);
}

.sc-steps {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
  gap: 16px;
  list-style: none;
  margin: 0;
  padding: 0;
  counter-reset: step;
}
.sc-steps li {
  position: relative;
  padding: 22px 22px 22px 70px;
  background: #fff;
  border: 1px solid #dde3e8;
  border-radius: 16px;
  counter-increment: step;
}
.sc-steps li::before {
  content: counter(step);
  position: absolute;
  left: 20px;
  top: 20px;
  width: 36px;
  height: 36px;
  border-radius: 50%;
  background: #2457c5;
  color: #fff;
  font-weight: 800;
  display: flex;
  align-items: center;
  justify-content: center;
}
.sc-steps li strong {
  display: block;
  font-size: 1.1rem;
}
.sc-steps li span {
  color: #5f6b76;
}

.sc-results {
  display: grid;
  gap: 10px;
}

.sc-result {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 6px 16px;
  padding: 16px 20px;
  background: #fff;
  border: 1px solid #dde3e8;
  border-radius: 14px;
  text-decoration: none;
  color: #17202a;
}
.sc-result:hover {
  border-color: #2457c5;
}

.sc-result__name {
  font-weight: 700;
  font-size: 1.15rem;
}

.sc-result__meta {
  color: #5f6b76;
  flex: 1;
  font-size: 0.92rem;
}

.sc-filterbar {
  display: flex;
  flex-wrap: wrap;
  gap: 12px 20px;
  align-items: center;
  margin: 16px 0;
}

.sc-filter {
  flex: 1 1 280px;
  padding: 14px 20px;
  border: 2px solid #dde3e8;
  border-radius: 99px;
  font: inherit;
}
.sc-filter:focus {
  outline: none;
  border-color: #2457c5;
}

.sc-list li[hidden] {
  display: none;
}

.sc-list.is-empty::after {
  content: "Niets gevonden in deze lijst.";
  display: block;
  padding: 18px 0;
  color: #5f6b76;
}

.sc-list--cols {
  columns: 2 320px;
  column-gap: 32px;
}
.sc-list--cols li {
  break-inside: avoid;
}

.sc-btn {
  display: inline-block;
  padding: 12px 26px;
  border: 0;
  border-radius: 99px;
  background: #2457c5;
  color: #fff;
  font: inherit;
  font-weight: 700;
  text-decoration: none;
  cursor: pointer;
}
.sc-btn:hover {
  background: #1b43a0;
}

.sc-answer {
  padding: 22px;
  font-size: 1.15rem;
}

.sc-badge {
  font-size: 0.85rem;
  padding: 3px 12px;
}

.sc-table--rank td:first-child {
  font-weight: 800;
  color: #2457c5;
  width: 40px;
}

.sc-grade {
  display: inline-flex;
  align-items: center;
  gap: 12px;
}
.sc-grade strong {
  font-size: 1.3rem;
  min-width: 2.2em;
}

.sc-history {
  display: flex;
  align-items: flex-end;
  gap: 14px;
  height: 180px;
  padding: 12px 16px;
  background: #fff;
  border: 1px solid #dde3e8;
  border-radius: 14px;
}

.sc-history__col {
  flex: 1;
  max-width: 90px;
  height: 100%;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  align-items: center;
  gap: 4px;
}

.sc-history__bar {
  width: 100%;
  background: linear-gradient(180deg, #2457c5, #7d98d8);
  border-radius: 8px 8px 0 0;
  min-height: 4px;
}

.sc-history__val {
  font-weight: 800;
  font-size: 0.95rem;
}

.sc-history__year {
  color: #5f6b76;
  font-size: 0.85rem;
}

.sc-compare-form {
  display: flex;
  flex-wrap: wrap;
  gap: 16px;
  align-items: flex-end;
}
.sc-compare-form label {
  display: flex;
  flex-direction: column;
  gap: 6px;
  font-weight: 600;
  flex: 1 1 240px;
}
.sc-compare-form select {
  padding: 14px 16px;
  border: 2px solid #dde3e8;
  border-radius: 14px;
  font: inherit;
  background: #fff;
}

.sc-versus {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
  gap: 20px;
  margin: 24px 0;
}

.sc-versus__col {
  padding: 22px;
  background: #fff;
  border: 1px solid #dde3e8;
  border-radius: 18px;
}
.sc-versus__col h2 {
  margin-top: 0;
}

.sc-versus__score {
  margin: 0;
  font-size: 3.6rem;
  font-weight: 800;
  color: #2457c5;
  line-height: 1;
}
.sc-versus__score span {
  display: block;
  font-size: 0.9rem;
  font-weight: 400;
  color: #5f6b76;
}

@media (max-width: 600px) {
  .sc-search--big input, .sc-search--big button {
    height: 52px;
    font-size: 1rem;
  }
  .sc-search--big button {
    padding: 0 20px;
  }
  .sc-hero {
    padding-top: 20px;
  }
}
.site-header {
  position: sticky;
  top: 0;
  z-index: 50;
  background: #fff;
  border-bottom: 1px solid #dde3e8;
}

.site-header__inner {
  position: relative;
  min-height: 68px;
  flex-wrap: nowrap;
}

.site-logo {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  color: #2457c5;
}

.site-logo__mark {
  flex: none;
}

.site-logo__text {
  font-weight: 800;
  font-size: 1.35rem;
  letter-spacing: -0.02em;
  color: #17202a;
}
.site-logo__text span {
  color: #2457c5;
}

.site-nav {
  align-items: center;
  gap: 2px;
}
.site-nav a {
  padding: 9px 14px;
  border-radius: 99px;
  font-weight: 600;
  font-size: 0.98rem;
  color: #17202a;
}
.site-nav a:hover {
  background: #eef1f7;
  color: #1b43a0;
}
.site-nav .site-nav__cta {
  margin-left: 8px;
  background: #2457c5;
  color: #fff;
}
.site-nav .site-nav__cta:hover {
  background: #1b43a0;
  color: #fff;
}

.menu-toggle {
  display: none;
  width: 44px;
  height: 44px;
  margin-right: -10px;
  padding: 0;
  border: 0;
  background: none;
  color: #2457c5;
  cursor: pointer;
  align-items: center;
  justify-content: center;
}

.site-nav__head, .site-nav-overlay {
  display: none;
}

.site-footer {
  margin-top: 48px;
  padding: 0;
  background: #0f2a2a;
  color: #b9cccb;
  font-size: 0.95rem;
  border-top: 0;
}
.site-footer a {
  color: #e7f2f1;
  text-decoration: none;
}
.site-footer a:hover {
  color: #fff;
  text-decoration: underline;
}

.site-footer__inner {
  max-width: 1120px;
  margin: 0 auto;
  padding: 48px 20px 32px;
  display: grid;
  grid-template-columns: 1.4fr 1fr 1fr 1fr;
  gap: 32px 36px;
}

.site-footer__brand p {
  margin: 12px 0 0;
  max-width: 28em;
  line-height: 1.6;
}

.site-footer .site-logo--footer {
  color: #2c4fa1;
}
.site-footer .site-logo--footer:hover {
  color: #2c4fa1;
  text-decoration: none;
}
.site-footer .site-logo--footer .site-logo__text {
  color: #fff;
}
.site-footer .site-logo--footer .site-logo__text span {
  color: #7d98d8;
}

.site-footer__col {
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.site-footer__col h2 {
  margin: 0 0 6px;
  font-size: 0.8rem;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: #7d98d8;
}

.site-footer__bottom {
  border-top: 1px solid rgba(255, 255, 255, 0.12);
}

.site-footer__bottom-inner {
  max-width: 1120px;
  margin: 0 auto;
  padding: 16px 20px;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  gap: 6px 24px;
  font-size: 0.85rem;
  color: #8aa3a2;
}

@media (max-width: 860px) {
  .menu-toggle {
    display: inline-flex;
  }
  .site-nav {
    position: fixed;
    top: 0;
    right: 0;
    bottom: 0;
    z-index: 2;
    width: 80vw;
    max-width: 340px;
    flex-direction: column;
    flex-wrap: nowrap;
    align-items: stretch;
    gap: 0;
    background: #fff;
    transform: translateX(100%);
    visibility: hidden;
    transition: transform 0.2s ease-out, visibility 0s linear 0.2s;
    overflow-y: auto;
    overscroll-behavior: contain;
    padding: 0 12px calc(18px + env(safe-area-inset-bottom));
  }
  .site-nav a {
    padding: 14px 12px;
    font-size: 1.08rem;
    border-radius: 12px;
  }
  .site-nav .site-nav__cta {
    margin: 12px 0 0;
    text-align: center;
  }
  .menu-open .site-nav {
    transform: translateX(0);
    visibility: visible;
    transition: transform 0.2s ease-out;
    box-shadow: -8px 0 24px rgba(0, 0, 0, 0.3);
  }
  .site-nav__head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    height: 68px;
    margin: 0 -12px 8px;
    padding: 0 8px 0 20px;
    background: #2457c5;
    color: #fff;
    font-weight: 700;
  }
  .site-nav__close {
    position: relative;
    width: 44px;
    height: 44px;
    border: 0;
    background: none;
    cursor: pointer;
  }
  .site-nav__close::before, .site-nav__close::after {
    content: "";
    position: absolute;
    left: 11px;
    top: 21px;
    width: 22px;
    height: 2px;
    background: #fff;
    border-radius: 2px;
  }
  .site-nav__close::before {
    transform: rotate(45deg);
  }
  .site-nav__close::after {
    transform: rotate(-45deg);
  }
  .site-nav-overlay {
    display: block;
    position: fixed;
    inset: 0;
    z-index: 1;
    background: rgba(0, 0, 0, 0.45);
    opacity: 0;
    pointer-events: none;
    transition: opacity 0.2s ease-out;
  }
  .menu-open .site-nav-overlay {
    opacity: 1;
    pointer-events: auto;
  }
  html:has(body.menu-open) {
    overflow: hidden;
  }
  .site-footer__inner {
    grid-template-columns: 1fr 1fr;
  }
  .site-footer__inner .site-footer__brand {
    grid-column: 1/-1;
  }
}
.sc-answer__line {
  color: #5f6b76;
  font-size: 0.95rem;
  font-weight: 400;
}

.sc-table--packages th[scope=row] {
  width: 28%;
  font-weight: 700;
  background: #fff;
}
.sc-table--packages th[scope=row] span {
  display: block;
  font-weight: 400;
  font-size: 0.8rem;
}
.sc-table--packages td:nth-child(2) {
  line-height: 1.5;
}
.sc-table--packages td:last-child {
  width: 1%;
  white-space: nowrap;
}
.sc-table--packages tr.is-none td, .sc-table--packages tr.is-none th {
  color: #5f6b76;
}

.sc-table tr.is-current td {
  background: #eef1f7;
  font-weight: 600;
}

.sc-table td .sc-muted {
  display: inline;
}

@media (prefers-color-scheme: dark) {
  :root:not([data-theme=light]) {
    color-scheme: dark;
    --fg: #e6edef;
    --card: #172023;
    --line: #2b3a3f;
    --muted: #95a6ab;
    --accent: #6d8bd2;
  }
  :root:not([data-theme=light]) body {
    background: #0e1517;
    color: #e6edef;
  }
  :root:not([data-theme=light]) a {
    color: #6d8bd2;
  }
  :root:not([data-theme=light]) .sc-muted, :root:not([data-theme=light]) .sc-lead, :root:not([data-theme=light]) .breadcrumbs a, :root:not([data-theme=light]) .sc-popular, :root:not([data-theme=light]) .sc-suggest__meta, :root:not([data-theme=light]) .sc-result__meta, :root:not([data-theme=light]) .sc-card span, :root:not([data-theme=light]) .sc-tile span, :root:not([data-theme=light]) .sc-stat span, :root:not([data-theme=light]) .sc-steps li span, :root:not([data-theme=light]) .sc-history__year, :root:not([data-theme=light]) .sc-versus__score span, :root:not([data-theme=light]) .sc-quote footer, :root:not([data-theme=light]) .sc-answer__line {
    color: #95a6ab;
  }
  :root:not([data-theme=light]) .breadcrumbs li + li::before {
    color: #95a6ab;
  }
  :root:not([data-theme=light]) .site-header {
    background: #172023;
    border-bottom-color: #2b3a3f;
  }
  :root:not([data-theme=light]) .site-logo {
    color: #2c4fa1;
  }
  :root:not([data-theme=light]) .site-logo span {
    color: #e6edef;
  }
  :root:not([data-theme=light]) .site-logo__text {
    color: #e6edef;
  }
  :root:not([data-theme=light]) .site-logo__text span {
    color: #6d8bd2;
  }
  :root:not([data-theme=light]) .site-nav a {
    color: #e6edef;
  }
  :root:not([data-theme=light]) .site-nav a:hover {
    background: #1d292d;
    color: #6d8bd2;
  }
  :root:not([data-theme=light]) .site-nav .site-nav__cta {
    background: #2c4fa1;
    color: #050e21;
  }
  :root:not([data-theme=light]) .site-nav .site-nav__cta:hover {
    background: #6d8bd2;
    color: #050e21;
  }
  :root:not([data-theme=light]) .menu-toggle {
    color: #6d8bd2;
  }
  :root:not([data-theme=light]) .site-footer {
    background: #0a1011;
  }
  :root:not([data-theme=light]) .sc-card, :root:not([data-theme=light]) .sc-answer, :root:not([data-theme=light]) .sc-links a, :root:not([data-theme=light]) .sc-split, :root:not([data-theme=light]) .sc-quote, :root:not([data-theme=light]) .sc-stat, :root:not([data-theme=light]) .sc-steps li, :root:not([data-theme=light]) .sc-result, :root:not([data-theme=light]) .sc-history, :root:not([data-theme=light]) .sc-versus__col, :root:not([data-theme=light]) .sc-insurer-pick--item, :root:not([data-theme=light]) .sc-popular a, :root:not([data-theme=light]) .sc-chips button, :root:not([data-theme=light]) .sc-table, :root:not([data-theme=light]) .sc-suggest {
    background: #172023;
    border-color: #2b3a3f;
    color: #e6edef;
  }
  :root:not([data-theme=light]) .sc-card strong, :root:not([data-theme=light]) .sc-tile strong {
    color: #6d8bd2;
  }
  :root:not([data-theme=light]) .sc-tile {
    background: linear-gradient(135deg, #172023, #1d292d);
    border-color: #2b3a3f;
    color: #e6edef;
  }
  :root:not([data-theme=light]) .sc-stat strong, :root:not([data-theme=light]) .sc-versus__score, :root:not([data-theme=light]) .sc-table--rank td:first-child, :root:not([data-theme=light]) .sc-eyebrow {
    color: #6d8bd2;
  }
  :root:not([data-theme=light]) .sc-links a:hover, :root:not([data-theme=light]) .sc-card:hover, :root:not([data-theme=light]) .sc-tile:hover, :root:not([data-theme=light]) .sc-result:hover, :root:not([data-theme=light]) .sc-stat:hover, :root:not([data-theme=light]) .sc-popular a:hover, :root:not([data-theme=light]) .sc-chips button:hover {
    border-color: #6d8bd2;
  }
  :root:not([data-theme=light]) .sc-chips button {
    color: #e6edef;
  }
  :root:not([data-theme=light]) .sc-chips button.is-active {
    background: #2c4fa1;
    border-color: #2c4fa1;
    color: #050e21;
  }
  :root:not([data-theme=light]) .sc-list li {
    border-bottom-color: #2b3a3f;
  }
  :root:not([data-theme=light]) .sc-popular a {
    color: #e6edef;
  }
  :root:not([data-theme=light]) .sc-search input, :root:not([data-theme=light]) .sc-filter, :root:not([data-theme=light]) .sc-insurer-pick select, :root:not([data-theme=light]) .sc-compare-form select {
    background: #172023;
    color: #e6edef;
    border-color: #2b3a3f;
  }
  :root:not([data-theme=light]) .sc-search input::placeholder, :root:not([data-theme=light]) .sc-filter::placeholder, :root:not([data-theme=light]) .sc-insurer-pick select::placeholder, :root:not([data-theme=light]) .sc-compare-form select::placeholder {
    color: #95a6ab;
  }
  :root:not([data-theme=light]) .sc-search input:focus, :root:not([data-theme=light]) .sc-filter:focus, :root:not([data-theme=light]) .sc-insurer-pick select:focus, :root:not([data-theme=light]) .sc-compare-form select:focus {
    border-color: #6d8bd2;
  }
  :root:not([data-theme=light]) .sc-search--big input {
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.45);
  }
  :root:not([data-theme=light]) .sc-search--big input:focus {
    box-shadow: 0 10px 34px rgba(109, 139, 210, 0.25);
  }
  :root:not([data-theme=light]) .sc-search button, :root:not([data-theme=light]) .sc-btn {
    background: #2c4fa1;
    color: #050e21;
  }
  :root:not([data-theme=light]) .sc-search button:hover, :root:not([data-theme=light]) .sc-btn:hover {
    background: #6d8bd2;
  }
  :root:not([data-theme=light]) .sc-suggest {
    box-shadow: 0 18px 48px rgba(0, 0, 0, 0.6);
  }
  :root:not([data-theme=light]) .sc-suggest__item {
    color: #e6edef;
    border-bottom-color: #2b3a3f;
  }
  :root:not([data-theme=light]) .sc-suggest__item:hover, :root:not([data-theme=light]) .sc-suggest__item.is-active {
    background: #1d292d;
  }
  :root:not([data-theme=light]) .sc-suggest__all, :root:not([data-theme=light]) .sc-suggest__empty {
    color: #6d8bd2;
  }
  :root:not([data-theme=light]) .sc-table th, :root:not([data-theme=light]) .sc-table td {
    border-bottom-color: #2b3a3f;
  }
  :root:not([data-theme=light]) .sc-table th {
    background: #1d292d;
  }
  :root:not([data-theme=light]) .sc-table--packages th[scope=row] {
    background: #172023;
  }
  :root:not([data-theme=light]) .sc-table tr.is-current td {
    background: #161e31;
  }
  :root:not([data-theme=light]) .sc-table--packages tr.is-none td, :root:not([data-theme=light]) .sc-table--packages tr.is-none th {
    color: #95a6ab;
  }
  :root:not([data-theme=light]) .sc-bar {
    background: #26343a;
  }
  :root:not([data-theme=light]) .sc-history__bar {
    background: linear-gradient(180deg, #2c4fa1, #1c6f69);
  }
  :root:not([data-theme=light]) .sc-badge {
    background: #26343a;
    color: #e6edef;
  }
  :root:not([data-theme=light]) .sc-badge--vergoed {
    background: #131f3b;
    color: #7d9be2;
  }
  :root:not([data-theme=light]) .sc-badge--voorwaarden {
    background: #3b3010;
    color: #f1cc6a;
  }
  :root:not([data-theme=light]) .sc-badge--aanvullend {
    background: #17294d;
    color: #a9c4f5;
  }
  :root:not([data-theme=light]) .sc-badge--niet {
    background: #44181a;
    color: #f5a3a3;
  }
}
@media (prefers-color-scheme: dark) and (max-width: 860px) {
  :root:not([data-theme=light]) .site-nav {
    background: #172023;
  }
  :root:not([data-theme=light]) .site-nav__head {
    background: #132552;
  }
}
:root[data-theme=dark] {
  color-scheme: dark;
  --fg: #e6edef;
  --card: #172023;
  --line: #2b3a3f;
  --muted: #95a6ab;
  --accent: #6d8bd2;
}
:root[data-theme=dark] body {
  background: #0e1517;
  color: #e6edef;
}
:root[data-theme=dark] a {
  color: #6d8bd2;
}
:root[data-theme=dark] .sc-muted, :root[data-theme=dark] .sc-lead, :root[data-theme=dark] .breadcrumbs a, :root[data-theme=dark] .sc-popular, :root[data-theme=dark] .sc-suggest__meta, :root[data-theme=dark] .sc-result__meta, :root[data-theme=dark] .sc-card span, :root[data-theme=dark] .sc-tile span, :root[data-theme=dark] .sc-stat span, :root[data-theme=dark] .sc-steps li span, :root[data-theme=dark] .sc-history__year, :root[data-theme=dark] .sc-versus__score span, :root[data-theme=dark] .sc-quote footer, :root[data-theme=dark] .sc-answer__line {
  color: #95a6ab;
}
:root[data-theme=dark] .breadcrumbs li + li::before {
  color: #95a6ab;
}
:root[data-theme=dark] .site-header {
  background: #172023;
  border-bottom-color: #2b3a3f;
}
:root[data-theme=dark] .site-logo {
  color: #2c4fa1;
}
:root[data-theme=dark] .site-logo span {
  color: #e6edef;
}
:root[data-theme=dark] .site-logo__text {
  color: #e6edef;
}
:root[data-theme=dark] .site-logo__text span {
  color: #6d8bd2;
}
:root[data-theme=dark] .site-nav a {
  color: #e6edef;
}
:root[data-theme=dark] .site-nav a:hover {
  background: #1d292d;
  color: #6d8bd2;
}
:root[data-theme=dark] .site-nav .site-nav__cta {
  background: #2c4fa1;
  color: #050e21;
}
:root[data-theme=dark] .site-nav .site-nav__cta:hover {
  background: #6d8bd2;
  color: #050e21;
}
:root[data-theme=dark] .menu-toggle {
  color: #6d8bd2;
}
:root[data-theme=dark] .site-footer {
  background: #0a1011;
}
:root[data-theme=dark] .sc-card, :root[data-theme=dark] .sc-answer, :root[data-theme=dark] .sc-links a, :root[data-theme=dark] .sc-split, :root[data-theme=dark] .sc-quote, :root[data-theme=dark] .sc-stat, :root[data-theme=dark] .sc-steps li, :root[data-theme=dark] .sc-result, :root[data-theme=dark] .sc-history, :root[data-theme=dark] .sc-versus__col, :root[data-theme=dark] .sc-insurer-pick--item, :root[data-theme=dark] .sc-popular a, :root[data-theme=dark] .sc-chips button, :root[data-theme=dark] .sc-table, :root[data-theme=dark] .sc-suggest {
  background: #172023;
  border-color: #2b3a3f;
  color: #e6edef;
}
:root[data-theme=dark] .sc-card strong, :root[data-theme=dark] .sc-tile strong {
  color: #6d8bd2;
}
:root[data-theme=dark] .sc-tile {
  background: linear-gradient(135deg, #172023, #1d292d);
  border-color: #2b3a3f;
  color: #e6edef;
}
:root[data-theme=dark] .sc-stat strong, :root[data-theme=dark] .sc-versus__score, :root[data-theme=dark] .sc-table--rank td:first-child, :root[data-theme=dark] .sc-eyebrow {
  color: #6d8bd2;
}
:root[data-theme=dark] .sc-links a:hover, :root[data-theme=dark] .sc-card:hover, :root[data-theme=dark] .sc-tile:hover, :root[data-theme=dark] .sc-result:hover, :root[data-theme=dark] .sc-stat:hover, :root[data-theme=dark] .sc-popular a:hover, :root[data-theme=dark] .sc-chips button:hover {
  border-color: #6d8bd2;
}
:root[data-theme=dark] .sc-chips button {
  color: #e6edef;
}
:root[data-theme=dark] .sc-chips button.is-active {
  background: #2c4fa1;
  border-color: #2c4fa1;
  color: #050e21;
}
:root[data-theme=dark] .sc-list li {
  border-bottom-color: #2b3a3f;
}
:root[data-theme=dark] .sc-popular a {
  color: #e6edef;
}
:root[data-theme=dark] .sc-search input, :root[data-theme=dark] .sc-filter, :root[data-theme=dark] .sc-insurer-pick select, :root[data-theme=dark] .sc-compare-form select {
  background: #172023;
  color: #e6edef;
  border-color: #2b3a3f;
}
:root[data-theme=dark] .sc-search input::placeholder, :root[data-theme=dark] .sc-filter::placeholder, :root[data-theme=dark] .sc-insurer-pick select::placeholder, :root[data-theme=dark] .sc-compare-form select::placeholder {
  color: #95a6ab;
}
:root[data-theme=dark] .sc-search input:focus, :root[data-theme=dark] .sc-filter:focus, :root[data-theme=dark] .sc-insurer-pick select:focus, :root[data-theme=dark] .sc-compare-form select:focus {
  border-color: #6d8bd2;
}
:root[data-theme=dark] .sc-search--big input {
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.45);
}
:root[data-theme=dark] .sc-search--big input:focus {
  box-shadow: 0 10px 34px rgba(109, 139, 210, 0.25);
}
:root[data-theme=dark] .sc-search button, :root[data-theme=dark] .sc-btn {
  background: #2c4fa1;
  color: #050e21;
}
:root[data-theme=dark] .sc-search button:hover, :root[data-theme=dark] .sc-btn:hover {
  background: #6d8bd2;
}
:root[data-theme=dark] .sc-suggest {
  box-shadow: 0 18px 48px rgba(0, 0, 0, 0.6);
}
:root[data-theme=dark] .sc-suggest__item {
  color: #e6edef;
  border-bottom-color: #2b3a3f;
}
:root[data-theme=dark] .sc-suggest__item:hover, :root[data-theme=dark] .sc-suggest__item.is-active {
  background: #1d292d;
}
:root[data-theme=dark] .sc-suggest__all, :root[data-theme=dark] .sc-suggest__empty {
  color: #6d8bd2;
}
:root[data-theme=dark] .sc-table th, :root[data-theme=dark] .sc-table td {
  border-bottom-color: #2b3a3f;
}
:root[data-theme=dark] .sc-table th {
  background: #1d292d;
}
:root[data-theme=dark] .sc-table--packages th[scope=row] {
  background: #172023;
}
:root[data-theme=dark] .sc-table tr.is-current td {
  background: #161e31;
}
:root[data-theme=dark] .sc-table--packages tr.is-none td, :root[data-theme=dark] .sc-table--packages tr.is-none th {
  color: #95a6ab;
}
:root[data-theme=dark] .sc-bar {
  background: #26343a;
}
:root[data-theme=dark] .sc-history__bar {
  background: linear-gradient(180deg, #2c4fa1, #1c6f69);
}
:root[data-theme=dark] .sc-badge {
  background: #26343a;
  color: #e6edef;
}
:root[data-theme=dark] .sc-badge--vergoed {
  background: #131f3b;
  color: #7d9be2;
}
:root[data-theme=dark] .sc-badge--voorwaarden {
  background: #3b3010;
  color: #f1cc6a;
}
:root[data-theme=dark] .sc-badge--aanvullend {
  background: #17294d;
  color: #a9c4f5;
}
:root[data-theme=dark] .sc-badge--niet {
  background: #44181a;
  color: #f5a3a3;
}
@media (max-width: 860px) {
  :root[data-theme=dark] .site-nav {
    background: #172023;
  }
  :root[data-theme=dark] .site-nav__head {
    background: #132552;
  }
}

.theme-toggle {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  height: 36px;
  padding: 0 14px;
  border: 1px solid rgba(255, 255, 255, 0.22);
  border-radius: 999px;
  background: none;
  color: #d6e4e3;
  font: inherit;
  font-size: 0.85rem;
  cursor: pointer;
}
.theme-toggle:hover {
  background: rgba(255, 255, 255, 0.1);
  color: #fff;
}
.theme-toggle svg {
  display: block;
  width: 18px;
  height: 18px;
}

.sc-badge--part {
  background: #dfe4f1;
  color: #152b5e;
}

.sc-list--plain {
  margin-top: 8px;
}
.sc-list--plain li {
  border-bottom: 0;
  padding: 4px 0;
}

.sc-table--facts th[scope=row] {
  width: 38%;
  font-weight: 600;
  background: #fff;
}

.sc-table--measures td:first-child, .sc-table--rank td:nth-child(2) {
  font-weight: 600;
}

.sc-table tr[hidden] {
  display: none;
}

.sc-table tr.is-none td {
  color: #5f6b76;
}

.sc-table tfoot th, .sc-table tfoot td {
  font-weight: 800;
  background: #f6f8f9;
  border-top: 2px solid #dde3e8;
}

.sc-quick, .sc-calc__inputs {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-end;
  gap: 12px 20px;
  margin: 16px 0;
  padding: 16px 20px;
  background: #fff;
  border: 1px solid #dde3e8;
  border-radius: 10px;
}
.sc-quick label, .sc-calc__inputs label {
  display: flex;
  flex-direction: column;
  gap: 4px;
  font-weight: 600;
  font-size: 0.9rem;
}
.sc-quick input, .sc-quick select, .sc-calc__inputs input, .sc-calc__inputs select {
  padding: 10px 12px;
  border: 1px solid #dde3e8;
  border-radius: 8px;
  font: inherit;
  font-weight: 400;
  min-width: 0;
  width: 160px;
  background: #fff;
  color: #17202a;
}

.sc-quick__out {
  flex: 1 1 100%;
  margin: 0;
  font-weight: 600;
  color: #1b43a0;
}

.sc-calc .sc-quick__out {
  margin-top: 12px;
  padding: 16px 20px;
  background: #fff;
  border: 1px solid #dde3e8;
  border-radius: 10px;
}

.sc-table--calc td:first-child, .sc-table--calc th:first-child {
  width: 1%;
}

@media (prefers-color-scheme: dark) {
  :root:not([data-theme=light]) .sc-badge--part {
    background: #161e31;
    color: #8da6e2;
  }
  :root:not([data-theme=light]) .sc-table--facts th[scope=row] {
    background: #172023;
  }
  :root:not([data-theme=light]) .sc-table tfoot th, :root:not([data-theme=light]) .sc-table tfoot td {
    background: #1d292d;
    border-top-color: #2b3a3f;
  }
  :root:not([data-theme=light]) .sc-quick, :root:not([data-theme=light]) .sc-calc__inputs, :root:not([data-theme=light]) .sc-calc .sc-quick__out {
    background: #172023;
    border-color: #2b3a3f;
  }
  :root:not([data-theme=light]) .sc-quick input, :root:not([data-theme=light]) .sc-quick select, :root:not([data-theme=light]) .sc-calc__inputs input, :root:not([data-theme=light]) .sc-calc__inputs select {
    background: #0e1517;
    color: #e6edef;
    border-color: #2b3a3f;
  }
  :root:not([data-theme=light]) .sc-quick__out {
    color: #6d8bd2;
  }
}
:root[data-theme=dark] .sc-badge--part {
  background: #161e31;
  color: #8da6e2;
}
:root[data-theme=dark] .sc-table--facts th[scope=row] {
  background: #172023;
}
:root[data-theme=dark] .sc-table tfoot th, :root[data-theme=dark] .sc-table tfoot td {
  background: #1d292d;
  border-top-color: #2b3a3f;
}
:root[data-theme=dark] .sc-quick, :root[data-theme=dark] .sc-calc__inputs, :root[data-theme=dark] .sc-calc .sc-quick__out {
  background: #172023;
  border-color: #2b3a3f;
}
:root[data-theme=dark] .sc-quick input, :root[data-theme=dark] .sc-quick select, :root[data-theme=dark] .sc-calc__inputs input, :root[data-theme=dark] .sc-calc__inputs select {
  background: #0e1517;
  color: #e6edef;
  border-color: #2b3a3f;
}
:root[data-theme=dark] .sc-quick__out {
  color: #6d8bd2;
}

.sc-hero2 {
  padding: 18px 0 22px;
  margin-bottom: 0;
}
.sc-hero2 h1 {
  font-size: clamp(1.6rem, 3.6vw, 2.2rem);
  line-height: 1.15;
  margin: 0.15em 0 0.3em;
}
.sc-hero2 .sc-lead {
  font-size: 1rem;
  line-height: 1.5;
  margin: 0 0 4px;
  max-width: 38em;
}
.sc-hero2 .sc-search--big {
  margin: 14px 0 8px;
  max-width: none;
}
.sc-hero2 .sc-search--big input, .sc-hero2 .sc-search--big button {
  height: 48px;
}
.sc-hero2 .sc-popular {
  margin: 4px 0 0;
  font-size: 0.9rem;
  text-align: left;
}

.sc-hero2__grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 16px 36px;
  align-items: center;
}

.sc-hero2__text {
  text-align: left;
}

.sc-hero2__card {
  background: #fff;
  color: #17202a;
  border: 1px solid #dde3e8;
  border-radius: 16px;
  padding: 14px 18px;
  box-shadow: 0 8px 24px rgba(15, 23, 42, 0.08);
}
.sc-hero2__card .sc-btn {
  margin-top: 8px;
  padding: 9px 20px;
  width: 100%;
  text-align: center;
  font-size: 0.92rem;
}

.sc-hero2__card-title {
  margin: 0 0 4px;
  font-size: 0.92rem;
  font-weight: 800;
  color: #1b43a0;
}

.sc-hero2__list {
  list-style: none;
  margin: 0;
  padding: 0;
}
.sc-hero2__list li + li {
  border-top: 1px solid #dde3e8;
}
.sc-hero2__list a {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  gap: 12px;
  padding: 7px 0;
  font-size: 0.93rem;
  text-decoration: none;
  color: #17202a;
}
.sc-hero2__list a:hover span {
  color: #2457c5;
}
.sc-hero2__list span {
  font-weight: 600;
}
.sc-hero2__list strong {
  color: #1b43a0;
  white-space: nowrap;
  font-size: 0.95rem;
}
.sc-hero2__list small {
  font-weight: 400;
  color: #5f6b76;
}

@media (min-width: 900px) {
  .sc-hero2__grid {
    grid-template-columns: 1.25fr 1fr;
  }
}
.sc-btn--light {
  background: #2457c5;
  color: #fff;
}

.sc-btn--ghost {
  background: transparent;
  color: #1b43a0;
  border: 2px solid #2457c5;
  padding: 10px 24px;
}
.sc-btn--ghost:hover {
  background: #eef1f7;
  color: #1b43a0;
}

.sc-h2 {
  margin: 2em 0 0.5em;
  font-size: 1.6rem;
}

.sc-lead--tight {
  margin-top: 0;
}

.sc-more {
  margin: 10px 0 0;
  font-weight: 600;
}

.sc-cols--tools {
  grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
}

.sc-tiles {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(210px, 1fr));
  gap: 14px;
  margin: 14px 0;
}

.sc-topic {
  display: flex;
  flex-direction: column;
  gap: 4px;
  padding: 20px;
  background: #fff;
  border: 1px solid #dde3e8;
  border-radius: 16px;
  text-decoration: none;
  color: #17202a;
  transition: transform 0.12s, box-shadow 0.12s, border-color 0.12s;
}
.sc-topic:hover {
  transform: translateY(-2px);
  border-color: #2457c5;
  box-shadow: 0 10px 26px rgba(21, 43, 94, 0.13);
}
.sc-topic .sc-icon {
  width: 38px;
  height: 38px;
  padding: 8px;
  border-radius: 12px;
  background: #e4e9f5;
  color: #1b43a0;
  margin-bottom: 6px;
  box-sizing: content-box;
}
.sc-topic strong {
  font-size: 1.12rem;
  color: #1b43a0;
}
.sc-topic span {
  color: #5f6b76;
  font-size: 0.92rem;
}
.sc-topic em {
  font-style: normal;
  font-size: 0.82rem;
  color: #2457c5;
  font-weight: 700;
  margin-top: 4px;
}

.sc-feature {
  display: grid;
  grid-template-columns: 1fr;
  gap: 22px;
  margin: 36px 0;
  padding: 28px;
  background: linear-gradient(135deg, #eef1f7, #dfe4f1);
  border: 1px solid #cad3e8;
  border-radius: 20px;
}
.sc-feature h2 {
  margin: 0.2em 0 0.4em;
}
.sc-feature p {
  margin: 0.4em 0;
}

@media (min-width: 800px) {
  .sc-feature {
    grid-template-columns: 1.1fr 1fr;
    align-items: center;
  }
}
.sc-lbl {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 58px;
  padding: 7px 12px;
  border-radius: 9px;
  background: var(--lbl, #1d397c);
  color: var(--lblt, #fff);
  font-weight: 800;
  font-size: 0.98rem;
  text-decoration: none;
  line-height: 1;
  box-shadow: inset 0 -2px 0 rgba(0, 0, 0, 0.15);
}
.sc-lbl:hover {
  filter: brightness(1.08);
  color: var(--lblt, #fff);
}

.sc-scale {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  align-items: center;
}

.sc-scale--page {
  margin: 14px 0 22px;
}

.sc-ladder {
  display: grid;
  gap: 6px;
  margin: 14px 0 6px;
}

.sc-ladder__row {
  display: grid;
  grid-template-columns: 74px 1fr minmax(120px, 190px);
  gap: 12px;
  align-items: center;
  padding: 6px 10px;
  border-radius: 12px;
  text-decoration: none;
  color: #17202a;
  background: #fff;
  border: 1px solid #dde3e8;
}
.sc-ladder__row:hover {
  border-color: #2457c5;
}

.sc-ladder__bar {
  display: block;
  height: 14px;
  border-radius: 99px;
  background: #eceff1;
  overflow: hidden;
}
.sc-ladder__bar i {
  display: block;
  height: 100%;
  border-radius: 99px;
  background: var(--lbl);
}

.sc-ladder__range {
  font-size: 0.88rem;
  color: #5f6b76;
  text-align: right;
}

@media (max-width: 560px) {
  .sc-ladder__row {
    grid-template-columns: 66px 1fr;
  }
  .sc-ladder__range {
    grid-column: 1/-1;
    text-align: left;
  }
}
.sc-note {
  margin: 16px 0;
  padding: 14px 18px;
  background: #fff7e0;
  border: 1px solid #f0dc9b;
  border-left: 5px solid #e0a01e;
  border-radius: 10px;
  font-size: 0.95rem;
  color: #4d3b05;
}
.sc-note a {
  color: #4d3b05;
}

.sc-guidelist {
  list-style: none;
  margin: 14px 0;
  padding: 0;
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
  gap: 12px;
}
.sc-guidelist a {
  display: flex;
  gap: 14px;
  align-items: flex-start;
  padding: 16px;
  background: #fff;
  border: 1px solid #dde3e8;
  border-radius: 14px;
  text-decoration: none;
  color: #17202a;
}
.sc-guidelist a:hover {
  border-color: #2457c5;
}
.sc-guidelist .sc-icon {
  flex: none;
  color: #2457c5;
  margin-top: 2px;
}
.sc-guidelist strong {
  display: block;
  color: #1b43a0;
}
.sc-guidelist em {
  display: block;
  font-style: normal;
  color: #5f6b76;
  font-size: 0.9rem;
  margin-top: 2px;
}

.sc-toolout {
  margin-top: 18px;
  padding: 18px 20px;
  background: #fff;
  border: 1px solid #dde3e8;
  border-radius: 10px;
}

.sc-result__list {
  margin: 0;
  display: grid;
  gap: 0;
}
.sc-result__list > div {
  display: flex;
  justify-content: space-between;
  gap: 16px;
  padding: 9px 0;
  border-bottom: 1px solid #dde3e8;
}
.sc-result__list > div:last-child {
  border-bottom: 0;
}
.sc-result__list dt {
  color: #5f6b76;
}
.sc-result__list dd {
  margin: 0;
  font-weight: 700;
  text-align: right;
}
.sc-result__list .is-key dd {
  color: #1b43a0;
  font-size: 1.15rem;
}
.sc-result__list .is-key dt {
  color: #17202a;
  font-weight: 600;
}

.sc-tool__measures {
  margin: 14px 0;
  padding: 14px 18px;
  border: 1px solid #dde3e8;
  border-radius: 10px;
  background: #fff;
}
.sc-tool__measures legend {
  font-weight: 700;
  padding: 0 6px;
}

.sc-check {
  display: block;
  padding: 4px 0;
  cursor: pointer;
}

.sc-table--versus th[scope=row] {
  width: 18%;
  font-weight: 700;
  background: #fff;
}

.sc-table--versus td {
  vertical-align: top;
}

.sc-table--labels td:nth-child(2) {
  white-space: nowrap;
}

.sc-pager {
  gap: 12px;
}

@media (min-width: 861px) {
  .site-nav a {
    padding: 9px 11px;
    font-size: 0.94rem;
  }
  .site-nav .site-nav__cta {
    margin-left: 4px;
  }
}
@media (prefers-color-scheme: dark) {
  :root:not([data-theme=light]) .sc-lbl, :root:not([data-theme=light]) .sc-lbl:hover {
    color: var(--lblt, #fff);
  }
  :root:not([data-theme=light]) .sc-hero2__card {
    background: #172023;
    color: #e6edef;
    border-color: #2b3a3f;
    box-shadow: none;
  }
  :root:not([data-theme=light]) .sc-hero2__card-title, :root:not([data-theme=light]) .sc-hero2__list strong {
    color: #6d8bd2;
  }
  :root:not([data-theme=light]) .sc-hero2__list li + li {
    border-top-color: #2b3a3f;
  }
  :root:not([data-theme=light]) .sc-hero2__list a {
    color: #e6edef;
  }
  :root:not([data-theme=light]) .sc-hero2__list small {
    color: #95a6ab;
  }
  :root:not([data-theme=light]) .sc-topic, :root:not([data-theme=light]) .sc-guidelist a, :root:not([data-theme=light]) .sc-ladder__row, :root:not([data-theme=light]) .sc-toolout, :root:not([data-theme=light]) .sc-tool__measures {
    background: #172023;
    border-color: #2b3a3f;
    color: #e6edef;
  }
  :root:not([data-theme=light]) .sc-topic strong, :root:not([data-theme=light]) .sc-guidelist strong {
    color: #6d8bd2;
  }
  :root:not([data-theme=light]) .sc-topic em {
    color: #6d8bd2;
  }
  :root:not([data-theme=light]) .sc-topic .sc-icon {
    background: #161e31;
    color: #6d8bd2;
  }
  :root:not([data-theme=light]) .sc-topic:hover, :root:not([data-theme=light]) .sc-guidelist a:hover, :root:not([data-theme=light]) .sc-ladder__row:hover {
    border-color: #6d8bd2;
  }
  :root:not([data-theme=light]) .sc-guidelist .sc-icon {
    color: #6d8bd2;
  }
  :root:not([data-theme=light]) .sc-feature {
    background: linear-gradient(135deg, #141926, #161e31);
    border-color: #232c41;
  }
  :root:not([data-theme=light]) .sc-btn--ghost {
    color: #6d8bd2;
    border-color: #2c4fa1;
    background: transparent;
  }
  :root:not([data-theme=light]) .sc-btn--ghost:hover {
    background: #161e31;
    color: #6d8bd2;
  }
  :root:not([data-theme=light]) .sc-ladder__bar {
    background: #26343a;
  }
  :root:not([data-theme=light]) .sc-ladder__range {
    color: #95a6ab;
  }
  :root:not([data-theme=light]) .sc-note {
    background: #35290a;
    border-color: #6b5313;
    color: #f1dfa0;
  }
  :root:not([data-theme=light]) .sc-note a {
    color: #f1dfa0;
  }
  :root:not([data-theme=light]) .sc-result__list dt {
    color: #95a6ab;
  }
  :root:not([data-theme=light]) .sc-result__list > div {
    border-bottom-color: #2b3a3f;
  }
  :root:not([data-theme=light]) .sc-result__list .is-key dd {
    color: #6d8bd2;
  }
  :root:not([data-theme=light]) .sc-result__list .is-key dt {
    color: #e6edef;
  }
  :root:not([data-theme=light]) .sc-table--versus th[scope=row] {
    background: #172023;
  }
}
:root[data-theme=dark] .sc-lbl, :root[data-theme=dark] .sc-lbl:hover {
  color: var(--lblt, #fff);
}
:root[data-theme=dark] .sc-hero2__card {
  background: #172023;
  color: #e6edef;
  border-color: #2b3a3f;
  box-shadow: none;
}
:root[data-theme=dark] .sc-hero2__card-title, :root[data-theme=dark] .sc-hero2__list strong {
  color: #6d8bd2;
}
:root[data-theme=dark] .sc-hero2__list li + li {
  border-top-color: #2b3a3f;
}
:root[data-theme=dark] .sc-hero2__list a {
  color: #e6edef;
}
:root[data-theme=dark] .sc-hero2__list small {
  color: #95a6ab;
}
:root[data-theme=dark] .sc-topic, :root[data-theme=dark] .sc-guidelist a, :root[data-theme=dark] .sc-ladder__row, :root[data-theme=dark] .sc-toolout, :root[data-theme=dark] .sc-tool__measures {
  background: #172023;
  border-color: #2b3a3f;
  color: #e6edef;
}
:root[data-theme=dark] .sc-topic strong, :root[data-theme=dark] .sc-guidelist strong {
  color: #6d8bd2;
}
:root[data-theme=dark] .sc-topic em {
  color: #6d8bd2;
}
:root[data-theme=dark] .sc-topic .sc-icon {
  background: #161e31;
  color: #6d8bd2;
}
:root[data-theme=dark] .sc-topic:hover, :root[data-theme=dark] .sc-guidelist a:hover, :root[data-theme=dark] .sc-ladder__row:hover {
  border-color: #6d8bd2;
}
:root[data-theme=dark] .sc-guidelist .sc-icon {
  color: #6d8bd2;
}
:root[data-theme=dark] .sc-feature {
  background: linear-gradient(135deg, #141926, #161e31);
  border-color: #232c41;
}
:root[data-theme=dark] .sc-btn--ghost {
  color: #6d8bd2;
  border-color: #2c4fa1;
  background: transparent;
}
:root[data-theme=dark] .sc-btn--ghost:hover {
  background: #161e31;
  color: #6d8bd2;
}
:root[data-theme=dark] .sc-ladder__bar {
  background: #26343a;
}
:root[data-theme=dark] .sc-ladder__range {
  color: #95a6ab;
}
:root[data-theme=dark] .sc-note {
  background: #35290a;
  border-color: #6b5313;
  color: #f1dfa0;
}
:root[data-theme=dark] .sc-note a {
  color: #f1dfa0;
}
:root[data-theme=dark] .sc-result__list dt {
  color: #95a6ab;
}
:root[data-theme=dark] .sc-result__list > div {
  border-bottom-color: #2b3a3f;
}
:root[data-theme=dark] .sc-result__list .is-key dd {
  color: #6d8bd2;
}
:root[data-theme=dark] .sc-result__list .is-key dt {
  color: #e6edef;
}
:root[data-theme=dark] .sc-table--versus th[scope=row] {
  background: #172023;
}

.sc-posts {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
  gap: 16px;
  margin: 18px 0;
}

.sc-post-card a {
  display: flex;
  flex-direction: column;
  height: 100%;
  overflow: hidden;
  background: #fff;
  border: 1px solid #dde3e8;
  border-radius: 14px;
  text-decoration: none;
  color: #17202a;
  transition: border-color 0.12s, box-shadow 0.12s;
}
.sc-post-card a:hover {
  border-color: #2457c5;
  box-shadow: 0 10px 26px rgba(0, 0, 0, 0.08);
}
.sc-post-card a img {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 16/9;
  object-fit: cover;
}
.sc-post-card a strong {
  display: block;
  font-size: 1.12rem;
  line-height: 1.3;
  color: #1b43a0;
  margin: 2px 0 6px;
}
.sc-post-card a time {
  color: #5f6b76;
  font-size: 0.82rem;
}
.sc-post-card a .sc-post-card__body > span {
  display: block;
  color: #5f6b76;
  font-size: 0.93rem;
  line-height: 1.5;
}

.sc-post-card__body {
  display: block;
  padding: 16px 18px 18px;
}

.sc-article {
  max-width: 760px;
}

.sc-article__meta {
  margin: -0.2em 0 1em;
  color: #5f6b76;
  font-size: 0.9rem;
}

.sc-article__hero {
  display: block;
  width: 100%;
  height: auto;
  border-radius: 14px;
  margin: 0 0 1.2em;
}

.sc-article__body {
  font-size: 1.05rem;
  line-height: 1.75;
}
.sc-article__body h2 {
  margin: 1.6em 0 0.5em;
}
.sc-article__body h3 {
  margin: 1.3em 0 0.4em;
}
.sc-article__body img, .sc-article__body video, .sc-article__body iframe {
  max-width: 100%;
  height: auto;
  border-radius: 10px;
}
.sc-article__body figure {
  margin: 1.2em 0;
}
.sc-article__body figcaption {
  color: #5f6b76;
  font-size: 0.88rem;
}
.sc-article__body blockquote {
  margin: 1.2em 0;
  padding: 0.4em 1.2em;
  border-left: 4px solid #2457c5;
  background: #fff;
  border-radius: 0 10px 10px 0;
}
.sc-article__body table {
  width: 100%;
  border-collapse: collapse;
  display: block;
  overflow-x: auto;
}
.sc-article__body table th, .sc-article__body table td {
  padding: 8px 10px;
  border: 1px solid #dde3e8;
  text-align: left;
}
.sc-article__body table th {
  background: #f6f8f9;
}
.sc-article__body ul, .sc-article__body ol {
  padding-left: 1.3em;
}
.sc-article__body ul li, .sc-article__body ol li {
  margin: 0.25em 0;
}

@media (prefers-color-scheme: dark) {
  :root:not([data-theme=light]) .sc-post-card a {
    background: #172023;
    border-color: #2b3a3f;
    color: #e6edef;
  }
  :root:not([data-theme=light]) .sc-post-card a:hover {
    border-color: #6d8bd2;
  }
  :root:not([data-theme=light]) .sc-post-card a strong {
    color: #6d8bd2;
  }
  :root:not([data-theme=light]) .sc-post-card a time, :root:not([data-theme=light]) .sc-post-card a .sc-post-card__body > span {
    color: #95a6ab;
  }
  :root:not([data-theme=light]) .sc-article__meta, :root:not([data-theme=light]) .sc-article__body figcaption {
    color: #95a6ab;
  }
  :root:not([data-theme=light]) .sc-article__body blockquote {
    background: #172023;
    border-left-color: #6d8bd2;
  }
  :root:not([data-theme=light]) .sc-article__body table th, :root:not([data-theme=light]) .sc-article__body table td {
    border-color: #2b3a3f;
  }
  :root:not([data-theme=light]) .sc-article__body table th {
    background: #1d292d;
  }
}
:root[data-theme=dark] .sc-post-card a {
  background: #172023;
  border-color: #2b3a3f;
  color: #e6edef;
}
:root[data-theme=dark] .sc-post-card a:hover {
  border-color: #6d8bd2;
}
:root[data-theme=dark] .sc-post-card a strong {
  color: #6d8bd2;
}
:root[data-theme=dark] .sc-post-card a time, :root[data-theme=dark] .sc-post-card a .sc-post-card__body > span {
  color: #95a6ab;
}
:root[data-theme=dark] .sc-article__meta, :root[data-theme=dark] .sc-article__body figcaption {
  color: #95a6ab;
}
:root[data-theme=dark] .sc-article__body blockquote {
  background: #172023;
  border-left-color: #6d8bd2;
}
:root[data-theme=dark] .sc-article__body table th, :root[data-theme=dark] .sc-article__body table td {
  border-color: #2b3a3f;
}
:root[data-theme=dark] .sc-article__body table th {
  background: #1d292d;
}

.sc-hero2 .sc-search--big {
  margin: 14px 0 10px;
}
.sc-hero2 .sc-search--big input {
  height: 44px;
  padding: 0 18px;
  font-size: 1rem;
  border-width: 1px;
  box-shadow: none !important;
}
.sc-hero2 .sc-search--big input:focus {
  box-shadow: 0 0 0 3px rgba(29, 57, 124, 0.25) !important;
}
.sc-hero2 .sc-search--big button {
  height: 44px;
  padding: 0 20px;
  font-size: 0.98rem;
}
.sc-hero2 .sc-popular {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px;
  margin: 6px 0 0;
  font-size: 0.85rem;
}
.sc-hero2 .sc-popular span {
  flex: 0 0 100%;
  margin: 0 0 2px;
}
.sc-hero2 .sc-popular a {
  margin: 0;
  padding: 5px 12px;
  font-size: 0.85rem;
}

:root {
  --fg: #17202a;
  --card: #fff;
  --line: #dde3e8;
  --muted: #5f6b76;
  --accent: #2457c5;
}

.theme-toggle svg {
  display: none;
}

html:not([data-pref]) .theme-toggle .tt-system, html[data-pref=system] .theme-toggle .tt-system, html[data-pref=light] .theme-toggle .tt-light, html[data-pref=dark] .theme-toggle .tt-dark {
  display: block;
}

.theme-toggle[aria-expanded=true] {
  background: rgba(255, 255, 255, 0.14);
  color: #fff;
}

.cs {
  position: relative;
  display: inline-block;
  max-width: 100%;
  vertical-align: middle;
}

.cs-native {
  visibility: hidden;
  pointer-events: none;
}
.cs-native:focus-visible {
  outline: none;
}

.cs-trigger {
  position: absolute;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  width: 100%;
  margin: 0;
  font: inherit;
  text-align: left;
  cursor: pointer;
  background-clip: padding-box;
}
.cs-trigger .cs-value {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.cs-trigger .cs-arrow {
  position: absolute;
  top: 50%;
  right: 12px;
  width: 16px;
  height: 16px;
  margin-top: -8px;
  fill: none;
  stroke: currentColor;
  stroke-width: 2.4;
  stroke-linecap: round;
  stroke-linejoin: round;
  opacity: 0.7;
  transition: transform 0.2s ease;
}
.cs-trigger:hover:not(:disabled) {
  filter: brightness(0.97);
}
.cs-trigger:focus-visible, .cs-trigger[aria-expanded=true] {
  outline: 2px solid var(--accent);
  outline-offset: 2px;
}
.cs-trigger[aria-expanded=true] .cs-arrow {
  transform: rotate(180deg);
}
.cs-trigger:disabled {
  opacity: 0.6;
  cursor: not-allowed;
}

.cs-list {
  position: fixed;
  z-index: 3000;
  display: flex;
  flex-direction: column;
  overflow: hidden;
  color: var(--fg);
  background: var(--card);
  border: 1px solid var(--line);
  border-radius: 16px;
  box-shadow: 0 12px 32px -8px rgba(15, 23, 42, 0.28);
  opacity: 0;
  visibility: hidden;
  transform: translateY(-6px);
  transition: opacity 0.14s ease, transform 0.14s ease, visibility 0s linear 0.14s;
}
.cs-list.open {
  opacity: 1;
  visibility: visible;
  transform: none;
  transition: opacity 0.14s ease, transform 0.14s ease, visibility 0s;
}
.cs-list .cs-head {
  display: none;
}
.cs-list .cs-items {
  overflow-y: auto;
  padding: 6px;
  overscroll-behavior: contain;
  scroll-padding: 8px;
}
.cs-list .cs-group {
  padding: 10px 12px 4px;
  font-size: 0.7rem;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--muted);
}
.cs-list .cs-option {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 10px 12px;
  font-size: 0.92rem;
  cursor: pointer;
  border-radius: 10px;
}
.cs-list .cs-option svg {
  flex: none;
  width: 18px;
  height: 18px;
  fill: none;
  stroke: var(--accent);
  stroke-width: 2.6;
  stroke-linecap: round;
  stroke-linejoin: round;
  opacity: 0;
}
.cs-list .cs-option.active, .cs-list .cs-option:focus-visible {
  background: color-mix(in srgb, var(--fg) 7%, transparent);
  outline: none;
}
.cs-list .cs-option.selected {
  font-weight: 700;
  color: var(--accent);
}
.cs-list .cs-option.selected svg {
  opacity: 1;
}
.cs-list .cs-option.disabled {
  opacity: 0.45;
  cursor: not-allowed;
}

.theme-list .cs-option .cs-opt-label {
  display: flex;
  align-items: center;
  gap: 12px;
}
.theme-list .cs-option svg.ti {
  width: 20px;
  height: 20px;
  stroke: currentColor;
  stroke-width: 2;
  opacity: 1;
}

.cs-backdrop {
  display: none;
}

@media (max-width: 700px) {
  .cs-backdrop {
    display: block;
    position: fixed;
    inset: 0;
    z-index: 2999;
    background: rgba(0, 0, 0, 0.5);
    opacity: 0;
    pointer-events: none;
    transition: opacity 0.25s ease;
  }
  .cs-backdrop.open {
    opacity: 1;
    pointer-events: auto;
  }
  body.cs-sheet-open {
    overflow: hidden;
  }
  .cs-list {
    left: 0 !important;
    right: 0;
    bottom: 0 !important;
    top: auto !important;
    min-width: 0 !important;
    max-height: 78dvh !important;
    border: 0;
    border-radius: 26px 26px 0 0;
    box-shadow: 0 -8px 30px rgba(0, 0, 0, 0.3);
    opacity: 1;
    transform: translateY(100%);
    transition: transform 0.28s cubic-bezier(0.2, 0.8, 0.2, 1), visibility 0s linear 0.28s;
  }
  .cs-list.open {
    transform: none;
    transition: transform 0.28s cubic-bezier(0.2, 0.8, 0.2, 1), visibility 0s;
  }
  .cs-list::before {
    content: "";
    align-self: center;
    flex: none;
    width: 40px;
    height: 5px;
    margin: 10px 0 0;
    background: var(--line);
    border-radius: 5px;
  }
  .cs-list .cs-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding: 10px 12px 6px 22px;
    flex: none;
  }
  .cs-list .cs-title {
    font-size: 1.05rem;
    font-weight: 800;
  }
  .cs-list .cs-close {
    display: grid;
    place-items: center;
    width: 40px;
    height: 40px;
    color: var(--muted);
    cursor: pointer;
    background: color-mix(in srgb, var(--fg) 7%, transparent);
    border: 0;
    border-radius: 50%;
  }
  .cs-list .cs-close svg {
    width: 20px;
    height: 20px;
    fill: none;
    stroke: currentColor;
    stroke-width: 2.2;
    stroke-linecap: round;
    opacity: 1;
  }
  .cs-list .cs-items {
    padding: 4px 12px calc(16px + env(safe-area-inset-bottom, 0px));
  }
  .cs-list .cs-option {
    padding: 15px 14px;
    font-size: 1rem;
    border-radius: 14px;
  }
  .cs-list .cs-option.active {
    background: none;
  }
  .cs-list .cs-option.selected {
    background: color-mix(in srgb, var(--accent) 14%, transparent);
  }
}
@media (prefers-reduced-motion: reduce) {
  .cs-list, .cs-backdrop {
    transition: none !important;
  }
}
@media (max-width: 860px) {
  .site-header__inner {
    column-gap: 2px;
  }
  .menu-toggle {
    margin-right: -6px;
  }
}
@media (max-width: 640px) {
  .sc-tiles {
    grid-template-columns: 1fr 1fr;
    gap: 10px;
  }
  .sc-topic {
    padding: 14px;
  }
  .sc-topic strong {
    font-size: 1rem;
  }
  .sc-topic span {
    font-size: 0.85rem;
  }
  .sc-topic .sc-icon {
    width: 30px;
    height: 30px;
    padding: 6px;
  }
}
@media (prefers-color-scheme: dark) {
  :root:not([data-theme=light]) .cs-list {
    box-shadow: 0 12px 32px -8px rgba(0, 0, 0, 0.6);
  }
}
:root[data-theme=dark] .cs-list {
  box-shadow: 0 12px 32px -8px rgba(0, 0, 0, 0.6);
}

@media (max-width: 700px) {
  .sc-table-wrap {
    margin-left: -4px;
    margin-right: -4px;
  }
  .sc-table {
    font-size: 0.92rem;
  }
  .sc-table th, .sc-table td {
    padding: 9px 10px;
  }
  .sc-table td:first-child, .sc-table tbody th:first-child {
    position: sticky;
    left: 0;
    z-index: 1;
    width: 1%;
    max-width: 170px;
    background: var(--card);
    box-shadow: 1px 0 0 var(--line);
  }
  .sc-table thead th:first-child {
    position: sticky;
    left: 0;
    z-index: 2;
  }
}
.sc-table th.is-sortable {
  cursor: pointer;
  user-select: none;
  white-space: nowrap;
  padding-right: 22px;
  position: relative;
}
.sc-table th.is-sortable::after {
  content: "↕";
  position: absolute;
  right: 7px;
  top: 50%;
  transform: translateY(-50%);
  font-size: 0.8em;
  opacity: 0.35;
}
.sc-table th.is-sortable[aria-sort=ascending]::after {
  content: "▲";
  opacity: 0.9;
  font-size: 0.65em;
}
.sc-table th.is-sortable[aria-sort=descending]::after {
  content: "▼";
  opacity: 0.9;
  font-size: 0.65em;
}
.sc-table th.is-sortable:hover {
  background: color-mix(in srgb, var(--fg) 6%, transparent);
}
.sc-table th.is-sortable:focus-visible {
  outline: 2px solid var(--accent);
  outline-offset: -2px;
}

.sc-answer {
  flex-direction: column;
  align-items: flex-start;
}
.sc-answer p {
  flex: none;
  width: 100%;
}

.sc-suggest__name {
  color: #17202a;
}

@media (prefers-color-scheme: dark) {
  :root:not([data-theme=light]) .sc-suggest__name {
    color: #e6edef;
  }
}
:root[data-theme=dark] .sc-suggest__name {
  color: #e6edef;
}

@media (max-width: 700px) {
  .cs {
    display: block;
    width: 100%;
  }
  .cs .cs-native {
    width: 100%;
  }
  .sc-suggest__item {
    flex-direction: column;
    align-items: flex-start;
  }
}
.sc-guidelist li {
  display: flex;
}
.sc-guidelist a {
  flex: 1;
}

.sc-tool .cs {
  display: block;
  width: 100%;
  max-width: 520px;
}
.sc-tool .cs .cs-native {
  width: 100%;
}

.sc-calc__inputs label:has(.cs) {
  flex: 1 1 320px;
  max-width: 520px;
}

.sc-calc__inputs:has(.sc-fieldgroup) {
  display: block;
  padding: 0;
  border: 0;
  background: none;
}

.sc-fieldgroup {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(230px, 1fr));
  gap: 14px 20px;
  align-items: end;
  margin: 0 0 14px;
  padding: 12px 20px 18px;
  background: #fff;
  border: 1px solid #dde3e8;
  border-radius: 10px;
}
.sc-fieldgroup legend {
  padding: 0 6px;
  font-weight: 800;
  font-size: 0.95rem;
  color: #1b43a0;
}
.sc-fieldgroup label {
  display: flex;
  flex-direction: column;
  gap: 6px;
  margin: 0;
  max-width: none;
}
.sc-fieldgroup input, .sc-fieldgroup .cs {
  width: 100%;
  max-width: none;
}
.sc-fieldgroup input {
  height: 46px;
  box-sizing: border-box;
}

@media (prefers-color-scheme: dark) {
  :root:not([data-theme=light]) .sc-fieldgroup {
    background: #172023;
    border-color: #2b3a3f;
  }
  :root:not([data-theme=light]) .sc-fieldgroup legend {
    color: #6d8bd2;
  }
}
:root[data-theme=dark] .sc-fieldgroup {
  background: #172023;
  border-color: #2b3a3f;
}
:root[data-theme=dark] .sc-fieldgroup legend {
  color: #6d8bd2;
}

.sc-toolout.is-report {
  padding: 0;
  overflow: hidden;
  border: 2px solid #2457c5;
}
.sc-toolout.is-report .sc-report__head {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 12px;
  padding: 14px 20px;
  background: #2457c5;
  color: #fff;
  font-weight: 800;
  font-size: 1.05rem;
}
.sc-toolout.is-report .sc-report__date {
  font-weight: 500;
  font-size: 0.85rem;
  opacity: 0.9;
}
.sc-toolout.is-report .sc-result__list {
  padding: 6px 20px 0;
}
.sc-toolout.is-report .sc-result__list .is-key dd {
  font-size: 1.6rem;
  color: #1b43a0;
}
.sc-toolout.is-report > p.sc-muted {
  margin: 0;
  padding: 12px 20px 4px;
}
.sc-toolout.is-report .sc-share {
  margin: 0;
  padding: 12px 20px 18px;
}

@media (prefers-color-scheme: dark) {
  :root:not([data-theme=light]) .sc-toolout.is-report {
    border-color: #6d8bd2;
  }
  :root:not([data-theme=light]) .sc-toolout.is-report .sc-report__head {
    background: #132552;
  }
  :root:not([data-theme=light]) .sc-toolout.is-report .sc-result__list .is-key dd {
    color: #6d8bd2;
  }
}
:root[data-theme=dark] .sc-toolout.is-report {
  border-color: #6d8bd2;
}
:root[data-theme=dark] .sc-toolout.is-report .sc-report__head {
  background: #132552;
}
:root[data-theme=dark] .sc-toolout.is-report .sc-result__list .is-key dd {
  color: #6d8bd2;
}

.cs-hidden {
  display: none !important;
}

.cs-list .cs-search {
  flex: none;
  padding: 8px 8px 0;
}
.cs-list .cs-search input {
  width: 100%;
  height: 40px;
  box-sizing: border-box;
  padding: 0 12px;
  font: inherit;
  font-size: 0.92rem;
  color: var(--fg);
  background: transparent;
  border: 1px solid var(--line);
  border-radius: 10px;
}
.cs-list .cs-search input:focus {
  outline: 2px solid var(--accent);
  outline-offset: -1px;
}

.cs-list .cs-empty {
  padding: 14px 12px;
  color: var(--muted);
  font-size: 0.9rem;
}

@media (max-width: 700px) {
  .cs-list .cs-search {
    padding: 0 12px 4px;
  }
  .cs-list .cs-search input {
    height: 46px;
    font-size: 1rem;
    border-radius: 14px;
  }
}
.sc-planner {
  margin: 18px 0 28px;
  padding: 18px;
  background: #fff;
  border: 1px solid #dde3e8;
  border-radius: 18px;
}

.erp-h {
  margin: 18px 0 6px;
  font-size: 1.35rem;
}

.erp-h3 {
  margin: 20px 0 8px;
  font-size: 1.05rem;
}

.erp-tabs, .erp-subtabs {
  display: flex;
  gap: 4px;
  padding: 5px;
  background: #eeeff2;
  border-radius: 14px;
  overflow-x: auto;
  scrollbar-width: none;
}

.erp-subtabs {
  margin: 12px 0;
}

.erp-tab {
  flex: none;
  padding: 9px 14px;
  border: 0;
  border-radius: 10px;
  background: none;
  color: #5f6b76;
  font: inherit;
  font-weight: 600;
  cursor: pointer;
  white-space: nowrap;
}
.erp-tab.is-on {
  background: #fff;
  color: #17202a;
  box-shadow: 0 1px 4px rgba(15, 23, 42, 0.12);
}

.erp-search {
  position: relative;
  margin: 12px 0;
}
.erp-search input {
  width: 100%;
  height: 50px;
  box-sizing: border-box;
  padding: 0 16px;
  font: inherit;
  font-size: 1.02rem;
  border: 1px solid #dde3e8;
  border-radius: 12px;
  background: #fff;
  color: #17202a;
}

.erp-suggest {
  position: absolute;
  z-index: 10;
  left: 0;
  right: 0;
  margin: 4px 0 0;
  padding: 4px;
  list-style: none;
  background: #fff;
  border: 1px solid #dde3e8;
  border-radius: 12px;
  box-shadow: 0 12px 30px rgba(15, 23, 42, 0.15);
}
.erp-suggest li {
  padding: 11px 12px;
  border-radius: 8px;
  cursor: pointer;
}
.erp-suggest li:hover {
  background: #eef0f6;
}

.erp-progress {
  margin: 14px 0;
  padding: 16px;
  border: 1px solid #dde3e8;
  border-radius: 14px;
  background: #fafbfc;
}

.erp-progress__title {
  margin: 12px 0 8px;
  font-weight: 700;
}

.erp-bar {
  height: 5px;
  background: #e3e6ec;
  border-radius: 4px;
  overflow: hidden;
}
.erp-bar span {
  display: block;
  height: 100%;
  width: 0;
  background: #2457c5;
  transition: width 0.4s ease;
}

.erp-step {
  display: flex;
  gap: 12px;
  align-items: center;
  padding: 10px;
  border-radius: 12px;
  opacity: 0.45;
  transition: background 0.3s, opacity 0.3s;
}
.erp-step__icon {
  flex: none;
  display: grid;
  place-items: center;
  width: 34px;
  height: 34px;
  border-radius: 50%;
  border: 2px solid #dde3e8;
  font-weight: 800;
}
.erp-step__text {
  display: flex;
  flex-direction: column;
}
.erp-step__text strong {
  font-size: 0.98rem;
}
.erp-step__text span {
  font-size: 0.85rem;
  color: #5f6b76;
}
.erp-step.is-run {
  opacity: 1;
  background: #e7eaf3;
}
.erp-step.is-run .erp-step__icon {
  border-color: #2457c5;
  border-top-color: transparent;
  animation: erp-spin 0.8s linear infinite;
}
.erp-step.is-ok {
  opacity: 1;
  background: #f1f3f8;
}
.erp-step.is-ok .erp-step__icon {
  border-color: #2c50a3;
  color: #2c50a3;
  background: #d8e0f1;
}
.erp-step.is-fail {
  opacity: 1;
}
.erp-step.is-fail .erp-step__icon {
  border-color: #c2410c;
  color: #c2410c;
}

@keyframes erp-spin {
  to {
    transform: rotate(360deg);
  }
}
.erp-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
  gap: 14px 18px;
  margin: 8px 0 14px;
}

.erp-field {
  display: flex;
  flex-direction: column;
  gap: 6px;
  font-weight: 600;
  font-size: 0.92rem;
}
.erp-field input, .erp-field select {
  height: 46px;
  box-sizing: border-box;
  padding: 0 12px;
  font: inherit;
  border: 1px solid #dde3e8;
  border-radius: 10px;
  background: #fff;
  color: #17202a;
}
.erp-field .cs {
  width: 100%;
}

.erp-cards {
  display: grid;
  gap: 12px;
  margin: 12px 0;
}
.erp-cards--6 {
  grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
}
.erp-cards--3 {
  grid-template-columns: repeat(auto-fit, minmax(160px, 1fr));
}
.erp-cards--list {
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
}

.erp-card {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 6px;
  min-height: 92px;
  padding: 14px 10px;
  text-align: center;
  font: inherit;
  color: #17202a;
  background: #f4f5f7;
  border: 2px solid #dde3e8;
  border-radius: 14px;
  cursor: pointer;
}
.erp-card:hover {
  border-color: #2457c5;
}
.erp-card.is-on {
  background: #d5dced;
  border-color: #2457c5;
}
.erp-card--big {
  min-height: 120px;
}
.erp-card--big.is-on {
  background: #2457c5;
  color: #fff;
  border-color: #2457c5;
}
.erp-card--big.is-on .erp-card__sub {
  color: #e8ecf5;
}
.erp-card__icon {
  color: #1b43a0;
  line-height: 0;
}
.erp-card__name {
  font-weight: 700;
}
.erp-card__sub {
  font-size: 0.82rem;
  color: #5f6b76;
}

.erp-checks {
  display: flex;
  flex-wrap: wrap;
  gap: 10px 28px;
  margin: 14px 0;
}

.erp-check {
  display: flex;
  align-items: center;
  gap: 8px;
  cursor: pointer;
}
.erp-check input {
  width: 20px;
  height: 20px;
  accent-color: #2457c5;
}

.erp-toggle {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  padding: 16px 18px;
  border: 1px solid #dde3e8;
  border-radius: 14px;
  cursor: pointer;
}
.erp-toggle strong {
  display: block;
}
.erp-toggle span {
  font-size: 0.88rem;
  color: #5f6b76;
}
.erp-toggle input {
  width: 22px;
  height: 22px;
  accent-color: #2457c5;
}

.erp-two {
  display: grid;
  grid-template-columns: 1fr;
  gap: 10px 36px;
}
@media (min-width: 800px) {
  .erp-two {
    grid-template-columns: 1fr 1fr;
  }
}

.erp-compass {
  position: relative;
  width: 100%;
  max-width: 280px;
  aspect-ratio: 1;
  margin: 10px auto;
  border: 2px solid #dde3e8;
  border-radius: 50%;
}
.erp-compass__mid {
  position: absolute;
  inset: 0;
  display: grid;
  place-items: center;
  font-weight: 700;
  color: #1b43a0;
}
.erp-compass .erp-dir {
  position: absolute;
  width: 44px;
  height: 44px;
  margin: -22px 0 0 -22px;
  border: 2px solid #dde3e8;
  border-radius: 50%;
  background: #fff;
  font: inherit;
  font-size: 0.8rem;
  font-weight: 700;
  color: #17202a;
  cursor: pointer;
}
.erp-compass .erp-dir.is-on {
  background: #2457c5;
  border-color: #2457c5;
  color: #fff;
}

.erp-next {
  margin-top: 18px;
  width: 100%;
  text-align: center;
}

.erp-measures {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(190px, 1fr));
  gap: 12px;
}

.erp-measure {
  display: flex;
  flex-direction: column;
  gap: 8px;
  padding: 14px;
  border: 1px solid #dde3e8;
  border-radius: 14px;
}
.erp-measure strong {
  text-align: center;
}

.erp-chip {
  padding: 9px 10px;
  font: inherit;
  font-size: 0.85rem;
  color: #17202a;
  background: #f4f5f7;
  border: 2px solid #dde3e8;
  border-radius: 12px;
  cursor: pointer;
}
.erp-chip.is-on {
  background: #d5dced;
  border-color: #2457c5;
  font-weight: 700;
}

.erp-tiles {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(210px, 1fr));
  gap: 12px;
  margin: 18px 0;
}

.erp-tile {
  display: flex;
  flex-direction: column;
  gap: 4px;
  padding: 16px;
  background: #f4f5f7;
  border: 1px solid #dde3e8;
  border-radius: 14px;
}
.erp-tile__t {
  font-weight: 600;
  color: #5f6b76;
  font-size: 0.9rem;
}
.erp-tile strong {
  font-size: 1.5rem;
}
.erp-tile__s {
  font-size: 0.82rem;
  color: #5f6b76;
}
.erp-tile--now {
  grid-column: 1/-1;
}
.erp-tile--good {
  background: #e1e6f1;
}
.erp-tile--good strong {
  color: #143176;
}
.erp-tile--leaf {
  background: #e4e8f3;
}
.erp-tile--leaf strong {
  color: #1a387f;
}
.erp-tile--sun {
  background: #fdf3da;
}

.erp-now {
  display: flex;
  flex-wrap: wrap;
  gap: 8px 36px;
}
.erp-now div {
  display: flex;
  flex-direction: column;
}
.erp-now strong {
  font-size: 1.4rem;
}
.erp-now span {
  font-size: 0.85rem;
  color: #5f6b76;
}

.erp-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 8px;
}

@media (max-width: 640px) {
  .sc-planner {
    padding: 12px;
  }
  .erp-tab {
    padding: 8px 10px;
    font-size: 0.9rem;
  }
}
@media (prefers-color-scheme: dark) {
  :root:not([data-theme=light]) .sc-planner, :root:not([data-theme=light]) .erp-measure, :root:not([data-theme=light]) .erp-toggle, :root:not([data-theme=light]) .erp-suggest, :root:not([data-theme=light]) .erp-progress {
    background: #172023;
    border-color: #2b3a3f;
  }
  :root:not([data-theme=light]) .erp-tabs, :root:not([data-theme=light]) .erp-subtabs {
    background: #0e1517;
  }
  :root:not([data-theme=light]) .erp-tab.is-on {
    background: #1d292d;
    color: #e6edef;
  }
  :root:not([data-theme=light]) .erp-card, :root:not([data-theme=light]) .erp-chip, :root:not([data-theme=light]) .erp-tile {
    background: #1d292d;
    border-color: #2b3a3f;
    color: #e6edef;
  }
  :root:not([data-theme=light]) .erp-card.is-on, :root:not([data-theme=light]) .erp-chip.is-on {
    background: #1c2a4b;
    border-color: #6d8bd2;
  }
  :root:not([data-theme=light]) .erp-card--big.is-on {
    background: #132552;
  }
  :root:not([data-theme=light]) .erp-tile--good {
    background: #16213b;
  }
  :root:not([data-theme=light]) .erp-tile--good strong {
    color: #6c8fdf;
  }
  :root:not([data-theme=light]) .erp-tile--leaf {
    background: #172034;
  }
  :root:not([data-theme=light]) .erp-tile--sun {
    background: #3a3014;
  }
  :root:not([data-theme=light]) .erp-search input, :root:not([data-theme=light]) .erp-field input, :root:not([data-theme=light]) .erp-field select {
    background: #0e1517;
    border-color: #2b3a3f;
    color: #e6edef;
  }
  :root:not([data-theme=light]) .erp-suggest li:hover {
    background: #1d292d;
  }
  :root:not([data-theme=light]) .erp-step.is-run {
    background: #16213b;
  }
  :root:not([data-theme=light]) .erp-step.is-ok {
    background: #151b28;
  }
  :root:not([data-theme=light]) .erp-dir {
    background: #1d292d;
    color: #e6edef;
    border-color: #2b3a3f;
  }
  :root:not([data-theme=light]) .erp-compass {
    border-color: #2b3a3f;
  }
  :root:not([data-theme=light]) .erp-compass__mid {
    color: #6d8bd2;
  }
  :root:not([data-theme=light]) .erp-tile__t, :root:not([data-theme=light]) .erp-tile__s, :root:not([data-theme=light]) .erp-card__sub {
    color: #95a6ab;
  }
}
:root[data-theme=dark] .sc-planner, :root[data-theme=dark] .erp-measure, :root[data-theme=dark] .erp-toggle, :root[data-theme=dark] .erp-suggest, :root[data-theme=dark] .erp-progress {
  background: #172023;
  border-color: #2b3a3f;
}
:root[data-theme=dark] .erp-tabs, :root[data-theme=dark] .erp-subtabs {
  background: #0e1517;
}
:root[data-theme=dark] .erp-tab.is-on {
  background: #1d292d;
  color: #e6edef;
}
:root[data-theme=dark] .erp-card, :root[data-theme=dark] .erp-chip, :root[data-theme=dark] .erp-tile {
  background: #1d292d;
  border-color: #2b3a3f;
  color: #e6edef;
}
:root[data-theme=dark] .erp-card.is-on, :root[data-theme=dark] .erp-chip.is-on {
  background: #1c2a4b;
  border-color: #6d8bd2;
}
:root[data-theme=dark] .erp-card--big.is-on {
  background: #132552;
}
:root[data-theme=dark] .erp-tile--good {
  background: #16213b;
}
:root[data-theme=dark] .erp-tile--good strong {
  color: #6c8fdf;
}
:root[data-theme=dark] .erp-tile--leaf {
  background: #172034;
}
:root[data-theme=dark] .erp-tile--sun {
  background: #3a3014;
}
:root[data-theme=dark] .erp-search input, :root[data-theme=dark] .erp-field input, :root[data-theme=dark] .erp-field select {
  background: #0e1517;
  border-color: #2b3a3f;
  color: #e6edef;
}
:root[data-theme=dark] .erp-suggest li:hover {
  background: #1d292d;
}
:root[data-theme=dark] .erp-step.is-run {
  background: #16213b;
}
:root[data-theme=dark] .erp-step.is-ok {
  background: #151b28;
}
:root[data-theme=dark] .erp-dir {
  background: #1d292d;
  color: #e6edef;
  border-color: #2b3a3f;
}
:root[data-theme=dark] .erp-compass {
  border-color: #2b3a3f;
}
:root[data-theme=dark] .erp-compass__mid {
  color: #6d8bd2;
}
:root[data-theme=dark] .erp-tile__t, :root[data-theme=dark] .erp-tile__s, :root[data-theme=dark] .erp-card__sub {
  color: #95a6ab;
}

.sc-planner {
  padding: 0;
  border: 0;
  background: none;
}

.erp-body {
  padding: 20px;
  background: #fff;
  border: 1px solid #dde3e8;
  border-radius: 10px;
  min-width: 0;
}

.erp-stepper {
  display: flex;
  gap: 0;
  margin: 0 0 18px;
  padding: 0;
  background: none;
  overflow-x: auto;
  scrollbar-width: none;
}

.erp-stepper__item {
  position: relative;
  flex: 1 0 auto;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 6px;
  min-width: 84px;
  padding: 0 4px;
  border: 0;
  background: none;
  color: #5f6b76;
  font: inherit;
  font-size: 0.85rem;
  font-weight: 600;
  cursor: pointer;
}
.erp-stepper__item::before {
  content: "";
  position: absolute;
  top: 17px;
  left: -50%;
  width: 100%;
  height: 3px;
  background: #dde3e8;
  z-index: 0;
}
.erp-stepper__item:first-child::before {
  display: none;
}
.erp-stepper__item.is-done::before, .erp-stepper__item.is-on::before {
  background: #2457c5;
}
.erp-stepper__item .erp-stepper__num {
  position: relative;
  z-index: 1;
  display: grid;
  place-items: center;
  width: 36px;
  height: 36px;
  border-radius: 50%;
  background: #fff;
  border: 3px solid #dde3e8;
  color: #5f6b76;
  font-weight: 800;
}
.erp-stepper__item.is-done .erp-stepper__num {
  background: #2457c5;
  border-color: #2457c5;
  color: #fff;
}
.erp-stepper__item.is-on {
  color: #17202a;
}
.erp-stepper__item.is-on .erp-stepper__num {
  border-color: #2457c5;
  color: #1b43a0;
  box-shadow: 0 0 0 4px rgba(29, 57, 124, 0.15);
}

.erp-layout {
  display: grid;
  grid-template-columns: 1fr;
  gap: 20px;
  align-items: start;
}
@media (min-width: 960px) {
  .erp-layout {
    grid-template-columns: minmax(0, 1fr) 310px;
  }
}

.erp-aside {
  position: sticky;
  top: 84px;
  padding: 18px 20px;
  background: #fff;
  border: 1px solid #dde3e8;
  border-top: 4px solid #2457c5;
  border-radius: 10px;
}
.erp-aside[hidden] {
  display: none;
}
.erp-aside__title {
  margin: 0 0 12px;
  font-weight: 800;
  color: #1b43a0;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  font-size: 0.78rem;
}
.erp-aside__label {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 14px;
  margin: 4px 0 6px;
}
.erp-aside__arrow {
  font-size: 1.6rem;
  color: #5f6b76;
}
.erp-aside__cap {
  margin: 0 0 14px;
  text-align: center;
  font-size: 0.8rem;
  color: #5f6b76;
}
.erp-aside__pick {
  display: flex;
  gap: 6px;
  margin-bottom: 14px;
}
.erp-aside__row {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  gap: 10px;
  padding: 9px 0;
  border-top: 1px solid #dde3e8;
  font-size: 0.92rem;
}
.erp-aside__row strong {
  font-size: 1.05rem;
  text-align: right;
}
.erp-aside__go {
  width: 100%;
  margin-top: 12px;
  text-align: center;
}

.erp-badge {
  display: grid;
  place-items: center;
  min-width: 64px;
  height: 64px;
  padding: 0 10px;
  border-radius: 12px;
  background: #f4f5f7;
  border: 2px solid #dde3e8;
  font-size: 1.6rem;
  font-weight: 800;
  color: #17202a;
}
.erp-badge--new {
  background: #2457c5;
  border-color: #2457c5;
  color: #fff;
}

.erp-pill {
  flex: 1;
  padding: 8px 4px;
  font: inherit;
  font-size: 0.8rem;
  font-weight: 700;
  color: #17202a;
  background: #fff;
  border: 2px solid transparent;
  border-radius: 999px;
  cursor: pointer;
}
.erp-pill.is-on {
  background: #2457c5;
  color: #fff;
}

@media (max-width: 959px) {
  .erp-aside {
    position: static;
  }
  .erp-stepper__item {
    min-width: 64px;
    font-size: 0.72rem;
  }
}
@media (prefers-color-scheme: dark) {
  :root:not([data-theme=light]) .erp-body {
    background: #172023;
    border-color: #2b3a3f;
  }
  :root:not([data-theme=light]) .erp-stepper__item .erp-stepper__num {
    background: #172023;
    border-color: #2b3a3f;
  }
  :root:not([data-theme=light]) .erp-stepper__item.is-done .erp-stepper__num {
    background: #6d8bd2;
    border-color: #6d8bd2;
    color: #0b0f1a;
  }
  :root:not([data-theme=light]) .erp-stepper__item.is-on {
    color: #e6edef;
  }
  :root:not([data-theme=light]) .erp-stepper__item.is-on .erp-stepper__num {
    color: #6d8bd2;
    border-color: #6d8bd2;
  }
  :root:not([data-theme=light]) .erp-aside {
    background: #172023;
    border-color: #2b3a3f;
  }
  :root:not([data-theme=light]) .erp-aside__row {
    border-top-color: #2b3a3f;
  }
  :root:not([data-theme=light]) .erp-aside__title {
    color: #6d8bd2;
  }
  :root:not([data-theme=light]) .erp-badge {
    background: #1d292d;
    color: #e6edef;
    border-color: #2b3a3f;
  }
  :root:not([data-theme=light]) .erp-badge--new {
    background: #132552;
    border-color: #6d8bd2;
    color: #fff;
  }
  :root:not([data-theme=light]) .erp-pill {
    background: #1d292d;
    color: #e6edef;
  }
  :root:not([data-theme=light]) .erp-pill.is-on {
    background: #132552;
    color: #fff;
  }
}
:root[data-theme=dark] .erp-body {
  background: #172023;
  border-color: #2b3a3f;
}
:root[data-theme=dark] .erp-stepper__item .erp-stepper__num {
  background: #172023;
  border-color: #2b3a3f;
}
:root[data-theme=dark] .erp-stepper__item.is-done .erp-stepper__num {
  background: #6d8bd2;
  border-color: #6d8bd2;
  color: #0b0f1a;
}
:root[data-theme=dark] .erp-stepper__item.is-on {
  color: #e6edef;
}
:root[data-theme=dark] .erp-stepper__item.is-on .erp-stepper__num {
  color: #6d8bd2;
  border-color: #6d8bd2;
}
:root[data-theme=dark] .erp-aside {
  background: #172023;
  border-color: #2b3a3f;
}
:root[data-theme=dark] .erp-aside__row {
  border-top-color: #2b3a3f;
}
:root[data-theme=dark] .erp-aside__title {
  color: #6d8bd2;
}
:root[data-theme=dark] .erp-badge {
  background: #1d292d;
  color: #e6edef;
  border-color: #2b3a3f;
}
:root[data-theme=dark] .erp-badge--new {
  background: #132552;
  border-color: #6d8bd2;
  color: #fff;
}
:root[data-theme=dark] .erp-pill {
  background: #1d292d;
  color: #e6edef;
}
:root[data-theme=dark] .erp-pill.is-on {
  background: #132552;
  color: #fff;
}

.erp-house {
  position: relative;
  margin: 4px 0 8px;
}
.erp-house__label {
  position: absolute;
  top: 0;
  left: 0;
  display: flex;
  align-items: center;
  gap: 6px;
}

.erp-badge--sm {
  min-width: 38px;
  height: 38px;
  font-size: 1.1rem;
  border-radius: 10px;
}

.erp-legend {
  margin: 6px 0 10px;
  padding: 0;
  list-style: none;
}
.erp-legend li {
  position: relative;
  padding: 5px 0 5px 22px;
  font-size: 0.88rem;
}
.erp-legend li::before {
  content: "✓";
  position: absolute;
  left: 0;
  color: #2457c5;
  font-weight: 800;
}

.hs {
  display: block;
  width: 100%;
  height: auto;
}

.hs-ground {
  fill: #dee3ee;
}

.hs-wall {
  fill: #efe3cf;
  stroke: #cdbd9f;
  stroke-width: 1.5;
}

.hs-roof {
  fill: #c9684a;
}

.hs-door {
  fill: #6b4a33;
}

.hs-knob {
  fill: #f2d28c;
}

.hs-ins {
  fill: #5db7d6;
}

.hs-ins-line {
  fill: #5db7d6;
}

.hs-roof-ins {
  fill: none;
  stroke: #5db7d6;
  stroke-linejoin: round;
  opacity: 0.9;
}

.hs-chimney {
  fill: #a9553b;
}

.hs-smoke {
  fill: #b9c2c9;
  opacity: 0.8;
}

.hs-glass {
  fill: #bfe4f3;
  stroke: #4a87a6;
  stroke-width: 1.2;
}

.hs-glass--3 {
  fill: #a9d8ee;
}

.hs-glass--2 {
  fill: #b6dff0;
}

.hs-panel {
  fill: #1f3b73;
  stroke: #8fb0e6;
  stroke-width: 0.8;
}
.hs-panel--new {
  stroke: #2c50a3;
  stroke-width: 2;
}

.hs-pump rect {
  fill: #e9eef2;
  stroke: #8a98a6;
  stroke-width: 1.5;
}
.hs-pump circle, .hs-pump path {
  fill: none;
  stroke: #5c6b7a;
  stroke-width: 1.5;
}

.hs-pipe {
  stroke: #2c50a3;
  stroke-width: 2;
  fill: none;
  stroke-dasharray: 4 3;
}

@media (prefers-color-scheme: dark) {
  :root:not([data-theme=light]) .hs-ground {
    fill: #1a1f2c;
  }
  :root:not([data-theme=light]) .hs-wall {
    fill: #3a3326;
    stroke: #5a4f3a;
  }
  :root:not([data-theme=light]) .hs-roof {
    fill: #8a4630;
  }
  :root:not([data-theme=light]) .hs-glass {
    fill: #27475a;
    stroke: #6fb2d4;
  }
  :root:not([data-theme=light]) .hs-pump rect {
    fill: #26323a;
    stroke: #6a7885;
  }
  :root:not([data-theme=light]) .hs-pump circle, :root:not([data-theme=light]) .hs-pump path {
    stroke: #9bb0c2;
  }
  :root:not([data-theme=light]) .hs-smoke {
    fill: #5a656e;
  }
}
:root[data-theme=dark] .hs-ground {
  fill: #1a1f2c;
}
:root[data-theme=dark] .hs-wall {
  fill: #3a3326;
  stroke: #5a4f3a;
}
:root[data-theme=dark] .hs-roof {
  fill: #8a4630;
}
:root[data-theme=dark] .hs-glass {
  fill: #27475a;
  stroke: #6fb2d4;
}
:root[data-theme=dark] .hs-pump rect {
  fill: #26323a;
  stroke: #6a7885;
}
:root[data-theme=dark] .hs-pump circle, :root[data-theme=dark] .hs-pump path {
  stroke: #9bb0c2;
}
:root[data-theme=dark] .hs-smoke {
  fill: #5a656e;
}

.erp-rhead {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 10px 20px;
}
.erp-rhead .erp-h {
  margin: 0;
}

.erp-seg {
  display: flex;
  gap: 4px;
  padding: 4px;
  background: #eeeff2;
  border-radius: 12px;
}

.erp-seg__btn {
  display: flex;
  flex-direction: column;
  align-items: center;
  padding: 6px 12px;
  border: 0;
  border-radius: 9px;
  background: none;
  font: inherit;
  font-weight: 700;
  font-size: 0.86rem;
  color: #17202a;
  cursor: pointer;
}
.erp-seg__btn small {
  font-weight: 500;
  font-size: 0.72rem;
  color: #5f6b76;
}
.erp-seg__btn.is-on {
  background: #2457c5;
  color: #fff;
}
.erp-seg__btn.is-on small {
  color: #e3e8f3;
}

.erp-tiles--compact {
  grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
  gap: 8px;
  margin: 12px 0;
}
.erp-tiles--compact .erp-tile {
  padding: 10px 12px;
  gap: 2px;
}
.erp-tiles--compact .erp-tile strong {
  font-size: 1.2rem;
}
.erp-tiles--compact .erp-tile__t {
  font-size: 0.78rem;
}
.erp-tiles--compact .erp-tile__s {
  font-size: 0.72rem;
}

.erp-measures--compact {
  grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
  gap: 8px;
}
.erp-measures--compact .erp-measure {
  padding: 10px;
  gap: 6px;
}
.erp-measures--compact .erp-measure strong {
  font-size: 0.9rem;
}
.erp-measures--compact .erp-chip {
  padding: 6px 8px;
  font-size: 0.78rem;
  border-width: 1.5px;
}

.erp-h3 {
  margin-top: 12px;
}

@media (prefers-color-scheme: dark) {
  :root:not([data-theme=light]) .erp-seg {
    background: #0e1517;
  }
  :root:not([data-theme=light]) .erp-seg__btn {
    color: #e6edef;
  }
  :root:not([data-theme=light]) .erp-seg__btn small {
    color: #95a6ab;
  }
  :root:not([data-theme=light]) .erp-seg__btn.is-on {
    background: #132552;
    color: #fff;
  }
}
:root[data-theme=dark] .erp-seg {
  background: #0e1517;
}
:root[data-theme=dark] .erp-seg__btn {
  color: #e6edef;
}
:root[data-theme=dark] .erp-seg__btn small {
  color: #95a6ab;
}
:root[data-theme=dark] .erp-seg__btn.is-on {
  background: #132552;
  color: #fff;
}

.hs-ground {
  fill: #d9deeb;
}

.hs-wl {
  fill: #f1e6d2;
  stroke: #d4c4a6;
  stroke-width: 1;
  stroke-linejoin: round;
}

.hs-wr {
  fill: #dccdb2;
  stroke: #c4b393;
  stroke-width: 1;
  stroke-linejoin: round;
}

.hs-rf {
  fill: #cf6c4d;
  stroke: #b95a3d;
  stroke-width: 1;
  stroke-linejoin: round;
}

.hs-ins-stroke {
  stroke: #5db7d6 !important;
}

.hs-slab-l {
  fill: #7cc6df;
}

.hs-slab-r {
  fill: #4fa5c4;
}

.hs-chimney-l {
  fill: #b45f45;
}

.hs-chimney-r {
  fill: #94452f;
}

.hs-chimney-t {
  fill: #d9805f;
}

.hs-smoke {
  fill: #b9c2c9;
  opacity: 0.85;
}

.hs-door {
  fill: #6b4a33;
}

.hs-glass {
  fill: #bfe4f3;
  stroke: #4a87a6;
  stroke-width: 0.9;
  stroke-linejoin: round;
}

.hs-glass--2 {
  fill: #b0dbee;
}

.hs-glass--3 {
  fill: #9fd1e9;
}

.hs-panel {
  fill: #20407d;
  stroke: #9bb8ee;
  stroke-width: 0.8;
  stroke-linejoin: round;
}
.hs-panel--new {
  stroke: #2c50a3;
  stroke-width: 2;
}

.hs-pump-l {
  fill: #eef2f5;
  stroke: #8a98a6;
  stroke-width: 1;
}

.hs-pump-r {
  fill: #d5dde4;
  stroke: #8a98a6;
  stroke-width: 1;
}

.hs-pump-t {
  fill: #f8fafb;
  stroke: #8a98a6;
  stroke-width: 1;
}

.hs-fan {
  fill: #aab6c2;
  stroke: #5c6b7a;
  stroke-width: 1.2;
}

.hs-pipe {
  stroke: #2c50a3;
  stroke-width: 2;
  fill: none;
  stroke-dasharray: 4 3;
}

@media (prefers-color-scheme: dark) {
  :root:not([data-theme=light]) .hs-ground {
    fill: #1a1f2c;
  }
  :root:not([data-theme=light]) .hs-wl {
    fill: #4a4231;
    stroke: #6a5d44;
  }
  :root:not([data-theme=light]) .hs-wr {
    fill: #382f22;
    stroke: #55493a;
  }
  :root:not([data-theme=light]) .hs-rf {
    fill: #8f4630;
    stroke: #7a3a27;
  }
  :root:not([data-theme=light]) .hs-glass {
    fill: #2c5068;
    stroke: #6fb2d4;
  }
  :root:not([data-theme=light]) .hs-pump-l {
    fill: #34414b;
  }
  :root:not([data-theme=light]) .hs-pump-r {
    fill: #27323a;
  }
  :root:not([data-theme=light]) .hs-pump-t {
    fill: #3f4e5a;
  }
  :root:not([data-theme=light]) .hs-smoke {
    fill: #5a656e;
  }
}
:root[data-theme=dark] .hs-ground {
  fill: #1a1f2c;
}
:root[data-theme=dark] .hs-wl {
  fill: #4a4231;
  stroke: #6a5d44;
}
:root[data-theme=dark] .hs-wr {
  fill: #382f22;
  stroke: #55493a;
}
:root[data-theme=dark] .hs-rf {
  fill: #8f4630;
  stroke: #7a3a27;
}
:root[data-theme=dark] .hs-glass {
  fill: #2c5068;
  stroke: #6fb2d4;
}
:root[data-theme=dark] .hs-pump-l {
  fill: #34414b;
}
:root[data-theme=dark] .hs-pump-r {
  fill: #27323a;
}
:root[data-theme=dark] .hs-pump-t {
  fill: #3f4e5a;
}
:root[data-theme=dark] .hs-smoke {
  fill: #5a656e;
}

.erp-house__label {
  position: static !important;
  margin-bottom: 6px;
}

@media (prefers-color-scheme: dark) {
  :root:not([data-theme=light]) .sc-planner {
    background: none;
    border: 0;
  }
  :root:not([data-theme=light]) .erp-stepper__item .erp-stepper__num {
    background: #0e1517;
  }
}
:root[data-theme=dark] .sc-planner {
  background: none;
  border: 0;
}
:root[data-theme=dark] .erp-stepper__item .erp-stepper__num {
  background: #0e1517;
}

.hs-ground {
  fill: #d9deeb;
}

.hs-street {
  fill: #b9bec3;
}

.hs-l-brick {
  fill: #c97d5d;
}

.hs-r-brick {
  fill: #a5614a;
}

.hs-l-plaster {
  fill: #f2e9da;
}

.hs-r-plaster {
  fill: #ddd0ba;
}

.hs-l-sand {
  fill: #e6cf9d;
}

.hs-r-sand {
  fill: #c9b37f;
}

.hs-l-conc {
  fill: #dadde0;
}

.hs-r-conc {
  fill: #bfc4c9;
}

.hs-l, .hs-r {
  stroke: rgba(0, 0, 0, 0.12);
  stroke-width: 0.8;
  stroke-linejoin: round;
}

.hs-tile {
  fill: #6c615a;
  stroke: #574d47;
  stroke-width: 1;
  stroke-linejoin: round;
}

.hs-tl {
  stroke: rgba(255, 255, 255, 0.16);
  stroke-width: 1;
}

.hs-verge {
  stroke: #4b423d;
  stroke-width: 2;
  stroke-linecap: round;
}

.hs-flat {
  fill: #e3e6e8;
  stroke: #b6bcc1;
  stroke-width: 0.8;
}

.hs-flat-f {
  fill: #c3c8cc;
}

.hs-flat-s {
  fill: #a9afb5;
}

.hs-n {
  opacity: 0.55;
}

.hs-ins-stroke {
  stroke: #5db7d6 !important;
}

.hs-slab-l {
  fill: #7cc6df;
}

.hs-slab-r {
  fill: #4fa5c4;
}

.hs-unit {
  fill: rgba(44, 80, 163, 0.28);
  stroke: #2c50a3;
  stroke-width: 1.5;
  stroke-linejoin: round;
}

.hs-door {
  fill: #5b4332;
  stroke: #fff;
  stroke-width: 1;
  stroke-linejoin: round;
}

.hs-gdoor {
  fill: #9aa3aa;
  stroke: #7c868e;
  stroke-width: 1;
}

.hs-glass {
  fill: #bfe4f3;
  stroke: #fff;
  stroke-width: 1.2;
  stroke-linejoin: round;
}

.hs-glass--2 {
  fill: #acd9ee;
}

.hs-glass--3 {
  fill: #98cde8;
}

.hs-balc {
  fill: #eceff1;
  stroke: #b6bcc1;
  stroke-width: 0.8;
}

.hs-balc-f {
  fill: #b9bfc4;
}

.hs-rail {
  fill: rgba(191, 228, 243, 0.55);
  stroke: #7aa9bf;
  stroke-width: 0.8;
}

.hs-chimney-l {
  fill: #b45f45;
}

.hs-chimney-r {
  fill: #94452f;
}

.hs-chimney-t {
  fill: #d9805f;
}

.hs-smoke {
  fill: #b9c2c9;
  opacity: 0.85;
}

.hs-panel {
  fill: #20407d;
  stroke: #9bb8ee;
  stroke-width: 0.8;
  stroke-linejoin: round;
}
.hs-panel--new {
  stroke: #2c50a3;
  stroke-width: 2;
}

.hs-pump-l {
  fill: #eef2f5;
  stroke: #8a98a6;
  stroke-width: 1;
}

.hs-pump-r {
  fill: #d5dde4;
  stroke: #8a98a6;
  stroke-width: 1;
}

.hs-pump-t {
  fill: #f8fafb;
  stroke: #8a98a6;
  stroke-width: 1;
}

.hs-fan {
  fill: #dfe6ec;
  stroke: #5c6b7a;
  stroke-width: 1.2;
}

.hs-fan-x {
  stroke: #5c6b7a;
  stroke-width: 1.2;
  fill: none;
}

.hs-pipe {
  stroke: #2c50a3;
  stroke-width: 2;
  fill: none;
  stroke-dasharray: 4 3;
}

@media (prefers-color-scheme: dark) {
  :root:not([data-theme=light]) .hs-ground {
    fill: #1a1f2c;
  }
  :root:not([data-theme=light]) .hs-street {
    fill: #2b3238;
  }
  :root:not([data-theme=light]) .hs-l-brick {
    fill: #8e553e;
  }
  :root:not([data-theme=light]) .hs-r-brick {
    fill: #733f2d;
  }
  :root:not([data-theme=light]) .hs-l-plaster {
    fill: #5b5547;
  }
  :root:not([data-theme=light]) .hs-r-plaster {
    fill: #463f33;
  }
  :root:not([data-theme=light]) .hs-l-sand {
    fill: #7a6b49;
  }
  :root:not([data-theme=light]) .hs-r-sand {
    fill: #615537;
  }
  :root:not([data-theme=light]) .hs-l-conc {
    fill: #4d555b;
  }
  :root:not([data-theme=light]) .hs-r-conc {
    fill: #3b4248;
  }
  :root:not([data-theme=light]) .hs-tile {
    fill: #3f3a37;
    stroke: #2f2b29;
  }
  :root:not([data-theme=light]) .hs-flat {
    fill: #59636a;
  }
  :root:not([data-theme=light]) .hs-flat-f {
    fill: #444d53;
  }
  :root:not([data-theme=light]) .hs-flat-s {
    fill: #373f44;
  }
  :root:not([data-theme=light]) .hs-glass {
    fill: #2f566e;
    stroke: #8cc4de;
  }
  :root:not([data-theme=light]) .hs-balc {
    fill: #59636a;
  }
  :root:not([data-theme=light]) .hs-balc-f {
    fill: #3f484e;
  }
  :root:not([data-theme=light]) .hs-door {
    fill: #3a2c21;
    stroke: #cfd8de;
  }
  :root:not([data-theme=light]) .hs-pump-l {
    fill: #34414b;
  }
  :root:not([data-theme=light]) .hs-pump-r {
    fill: #27323a;
  }
  :root:not([data-theme=light]) .hs-pump-t {
    fill: #3f4e5a;
  }
  :root:not([data-theme=light]) .hs-fan {
    fill: #46535e;
  }
  :root:not([data-theme=light]) .hs-smoke {
    fill: #5a656e;
  }
}
:root[data-theme=dark] .hs-ground {
  fill: #1a1f2c;
}
:root[data-theme=dark] .hs-street {
  fill: #2b3238;
}
:root[data-theme=dark] .hs-l-brick {
  fill: #8e553e;
}
:root[data-theme=dark] .hs-r-brick {
  fill: #733f2d;
}
:root[data-theme=dark] .hs-l-plaster {
  fill: #5b5547;
}
:root[data-theme=dark] .hs-r-plaster {
  fill: #463f33;
}
:root[data-theme=dark] .hs-l-sand {
  fill: #7a6b49;
}
:root[data-theme=dark] .hs-r-sand {
  fill: #615537;
}
:root[data-theme=dark] .hs-l-conc {
  fill: #4d555b;
}
:root[data-theme=dark] .hs-r-conc {
  fill: #3b4248;
}
:root[data-theme=dark] .hs-tile {
  fill: #3f3a37;
  stroke: #2f2b29;
}
:root[data-theme=dark] .hs-flat {
  fill: #59636a;
}
:root[data-theme=dark] .hs-flat-f {
  fill: #444d53;
}
:root[data-theme=dark] .hs-flat-s {
  fill: #373f44;
}
:root[data-theme=dark] .hs-glass {
  fill: #2f566e;
  stroke: #8cc4de;
}
:root[data-theme=dark] .hs-balc {
  fill: #59636a;
}
:root[data-theme=dark] .hs-balc-f {
  fill: #3f484e;
}
:root[data-theme=dark] .hs-door {
  fill: #3a2c21;
  stroke: #cfd8de;
}
:root[data-theme=dark] .hs-pump-l {
  fill: #34414b;
}
:root[data-theme=dark] .hs-pump-r {
  fill: #27323a;
}
:root[data-theme=dark] .hs-pump-t {
  fill: #3f4e5a;
}
:root[data-theme=dark] .hs-fan {
  fill: #46535e;
}
:root[data-theme=dark] .hs-smoke {
  fill: #5a656e;
}

.hs-n {
  opacity: 0.82;
}

.hs-tile-b {
  fill: #5d534c;
}

@media (prefers-color-scheme: dark) {
  :root:not([data-theme=light]) .hs-tile-b {
    fill: #34302d;
  }
}
:root[data-theme=dark] .hs-tile-b {
  fill: #34302d;
}

.erp-stepper {
  padding: 8px 8px 4px;
  margin-left: -8px;
  margin-right: -8px;
}

@media (prefers-color-scheme: dark) {
  :root:not([data-theme=light]) .erp-stepper__item::before {
    background: #2b3a3f;
  }
  :root:not([data-theme=light]) .erp-stepper__item.is-done::before, :root:not([data-theme=light]) .erp-stepper__item.is-on::before {
    background: #6d8bd2;
  }
}
:root[data-theme=dark] .erp-stepper__item::before {
  background: #2b3a3f;
}
:root[data-theme=dark] .erp-stepper__item.is-done::before, :root[data-theme=dark] .erp-stepper__item.is-on::before {
  background: #6d8bd2;
}

.erp-compass__mid {
  inset: 24%;
  font-size: 0.82rem;
  line-height: 1.3;
  text-align: center;
}

@media (prefers-color-scheme: dark) {
  :root:not([data-theme=light]) .erp-compass .erp-dir.is-on {
    background: #1d397c;
    border-color: #6d8bd2;
    color: #fff;
  }
}
:root[data-theme=dark] .erp-compass .erp-dir.is-on {
  background: #1d397c;
  border-color: #6d8bd2;
  color: #fff;
}

.sc-btn--wa {
  background: #1c47ab;
}
.sc-btn--wa:hover {
  background: #14388d;
}

@keyframes hs-puff {
  0% {
    opacity: 0;
    transform: translate(0, 0) scale(0.5);
  }
  15% {
    opacity: 0.85;
  }
  100% {
    opacity: 0;
    transform: translate(9px, -34px) scale(1.8);
  }
}
@keyframes hs-blink {
  0%, 60%, 100% {
    opacity: 1;
  }
  70%, 90% {
    opacity: 0.15;
  }
}
@keyframes hs-spin {
  to {
    transform: rotate(360deg);
  }
}
.hs-smoke {
  opacity: 0;
  transform-box: fill-box;
  transform-origin: center;
  animation: hs-puff 3.3s ease-out infinite;
}

.hs-led {
  fill: #3365da;
  filter: drop-shadow(0 0 2px #3365da);
  animation: hs-blink 2.4s ease-in-out infinite;
}

.hs-fan-spin {
  transform-box: fill-box;
  transform-origin: center;
  animation: hs-spin 2.4s linear infinite;
}

@media (prefers-reduced-motion: reduce) {
  .hs-smoke {
    animation: none;
    opacity: 0.6;
  }
  .hs-led, .hs-fan-spin {
    animation: none;
  }
}
@media (prefers-color-scheme: dark) {
  :root:not([data-theme=light]) .hs-ground {
    fill: #242d41;
  }
  :root:not([data-theme=light]) .hs-street {
    fill: #353d44;
  }
  :root:not([data-theme=light]) .hs-l-brick {
    fill: #bd7254;
  }
  :root:not([data-theme=light]) .hs-r-brick {
    fill: #96543f;
  }
  :root:not([data-theme=light]) .hs-l-plaster {
    fill: #d8cfbd;
  }
  :root:not([data-theme=light]) .hs-r-plaster {
    fill: #b9ae98;
  }
  :root:not([data-theme=light]) .hs-l-sand {
    fill: #d2bb8b;
  }
  :root:not([data-theme=light]) .hs-r-sand {
    fill: #ae9867;
  }
  :root:not([data-theme=light]) .hs-l-conc {
    fill: #b4bac0;
  }
  :root:not([data-theme=light]) .hs-r-conc {
    fill: #959ca3;
  }
  :root:not([data-theme=light]) .hs-tile {
    fill: #655c56;
    stroke: #4c4540;
  }
  :root:not([data-theme=light]) .hs-tile-b {
    fill: #4f4742;
  }
  :root:not([data-theme=light]) .hs-flat {
    fill: #98a2a9;
  }
  :root:not([data-theme=light]) .hs-flat-f {
    fill: #7f8990;
  }
  :root:not([data-theme=light]) .hs-flat-s {
    fill: #6c757c;
  }
  :root:not([data-theme=light]) .hs-glass {
    fill: #ffd27a;
    stroke: #fff3cf;
    filter: drop-shadow(0 0 3px rgba(255, 205, 110, 0.85));
  }
  :root:not([data-theme=light]) .hs-glass--2 {
    fill: #ffdb8f;
  }
  :root:not([data-theme=light]) .hs-glass--3 {
    fill: #ffe5a8;
  }
  :root:not([data-theme=light]) .hs-door {
    fill: #4a3727;
    stroke: #e8dcc6;
  }
  :root:not([data-theme=light]) .hs-balc {
    fill: #98a2a9;
  }
  :root:not([data-theme=light]) .hs-balc-f {
    fill: #78838a;
  }
  :root:not([data-theme=light]) .hs-pump-l {
    fill: #4b5a66;
  }
  :root:not([data-theme=light]) .hs-pump-r {
    fill: #3a4752;
  }
  :root:not([data-theme=light]) .hs-pump-t {
    fill: #5a6a77;
  }
  :root:not([data-theme=light]) .hs-fan {
    fill: #6b7b88;
    stroke: #cfd9e1;
  }
  :root:not([data-theme=light]) .hs-fan-x {
    stroke: #cfd9e1;
  }
  :root:not([data-theme=light]) .hs-smoke {
    fill: #9aa7b1;
  }
}
:root[data-theme=dark] .hs-ground {
  fill: #242d41;
}
:root[data-theme=dark] .hs-street {
  fill: #353d44;
}
:root[data-theme=dark] .hs-l-brick {
  fill: #bd7254;
}
:root[data-theme=dark] .hs-r-brick {
  fill: #96543f;
}
:root[data-theme=dark] .hs-l-plaster {
  fill: #d8cfbd;
}
:root[data-theme=dark] .hs-r-plaster {
  fill: #b9ae98;
}
:root[data-theme=dark] .hs-l-sand {
  fill: #d2bb8b;
}
:root[data-theme=dark] .hs-r-sand {
  fill: #ae9867;
}
:root[data-theme=dark] .hs-l-conc {
  fill: #b4bac0;
}
:root[data-theme=dark] .hs-r-conc {
  fill: #959ca3;
}
:root[data-theme=dark] .hs-tile {
  fill: #655c56;
  stroke: #4c4540;
}
:root[data-theme=dark] .hs-tile-b {
  fill: #4f4742;
}
:root[data-theme=dark] .hs-flat {
  fill: #98a2a9;
}
:root[data-theme=dark] .hs-flat-f {
  fill: #7f8990;
}
:root[data-theme=dark] .hs-flat-s {
  fill: #6c757c;
}
:root[data-theme=dark] .hs-glass {
  fill: #ffd27a;
  stroke: #fff3cf;
  filter: drop-shadow(0 0 3px rgba(255, 205, 110, 0.85));
}
:root[data-theme=dark] .hs-glass--2 {
  fill: #ffdb8f;
}
:root[data-theme=dark] .hs-glass--3 {
  fill: #ffe5a8;
}
:root[data-theme=dark] .hs-door {
  fill: #4a3727;
  stroke: #e8dcc6;
}
:root[data-theme=dark] .hs-balc {
  fill: #98a2a9;
}
:root[data-theme=dark] .hs-balc-f {
  fill: #78838a;
}
:root[data-theme=dark] .hs-pump-l {
  fill: #4b5a66;
}
:root[data-theme=dark] .hs-pump-r {
  fill: #3a4752;
}
:root[data-theme=dark] .hs-pump-t {
  fill: #5a6a77;
}
:root[data-theme=dark] .hs-fan {
  fill: #6b7b88;
  stroke: #cfd9e1;
}
:root[data-theme=dark] .hs-fan-x {
  stroke: #cfd9e1;
}
:root[data-theme=dark] .hs-smoke {
  fill: #9aa7b1;
}

@keyframes hs-drive {
  0% {
    opacity: 0;
    transform: translate(0, 0);
  }
  6% {
    opacity: 1;
  }
  94% {
    opacity: 1;
  }
  100% {
    opacity: 0;
    transform: translate(var(--dx), var(--dy));
  }
}
.hs-car {
  opacity: 0;
  animation: hs-drive 15s linear infinite;
}

.hs-cw {
  fill: #23282c;
}

.hs-cb-l {
  fill: #d94f45;
}

.hs-cb-r {
  fill: #b13b33;
}

.hs-cb-t {
  fill: #e8685d;
}

.hs-cc-l {
  fill: #bfe4f3;
}

.hs-cc-r {
  fill: #9fcce0;
}

.hs-car--b .hs-cb-l {
  fill: #3b78d8;
}
.hs-car--b .hs-cb-r {
  fill: #2c5fb0;
}
.hs-car--b .hs-cb-t {
  fill: #5a93ea;
}

@media (prefers-reduced-motion: reduce) {
  .hs-car {
    animation: none;
    opacity: 1;
  }
}
@media (prefers-color-scheme: dark) {
  :root:not([data-theme=light]) .hs-cc-l {
    fill: #ffd27a;
  }
  :root:not([data-theme=light]) .hs-cc-r {
    fill: #e7b85f;
  }
  :root:not([data-theme=light]) .hs-cw {
    fill: #0f1215;
  }
}
:root[data-theme=dark] .hs-cc-l {
  fill: #ffd27a;
}
:root[data-theme=dark] .hs-cc-r {
  fill: #e7b85f;
}
:root[data-theme=dark] .hs-cw {
  fill: #0f1215;
}

.erp-actions {
  gap: 8px;
  margin-top: 6px;
}
.erp-actions .sc-btn {
  padding: 8px 16px;
  font-size: 0.88rem;
  line-height: 1.2;
  min-height: 0;
  border-width: 2px;
}

.sc-planner-form {
  position: relative;
  display: flex;
  gap: 8px;
  margin: 14px 0 8px;
}
.sc-planner-form input {
  flex: 1;
  min-width: 0;
  height: 52px;
  padding: 0 18px;
  font: inherit;
  font-size: 1rem;
  color: #17202a;
  background: #fff;
  border: 1px solid #dde3e8;
  border-radius: 999px;
}
.sc-planner-form button {
  flex: none;
  height: 52px;
  padding: 0 24px;
  font: inherit;
  font-weight: 800;
  color: #fff;
  background: #2457c5;
  border: 0;
  border-radius: 999px;
  cursor: pointer;
}
.sc-planner-form button:hover {
  background: #1b43a0;
}

.sc-hero2__steps {
  display: flex;
  flex-wrap: wrap;
  gap: 6px 18px;
  margin: 0 0 10px;
  font-size: 0.88rem;
  font-weight: 700;
  color: #1b43a0;
}

.sc-hero2__card--house .hs {
  margin: -4px auto 6px;
  max-width: 340px;
}
.sc-hero2__card--house .sc-hero2__card-title {
  margin-top: 0;
}

.sc-steps3 {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
  gap: 12px;
  margin: 10px 0 28px;
}
.sc-steps3 a {
  position: relative;
  display: flex;
  flex-direction: column;
  gap: 6px;
  padding: 18px 18px 18px 64px;
  color: #17202a;
  text-decoration: none;
  background: #fff;
  border: 1px solid #dde3e8;
  border-radius: 14px;
}
.sc-steps3 a:hover {
  border-color: #2457c5;
}
.sc-steps3 b {
  position: absolute;
  left: 16px;
  top: 16px;
  display: grid;
  place-items: center;
  width: 36px;
  height: 36px;
  color: #fff;
  background: #2457c5;
  border-radius: 50%;
}
.sc-steps3 strong {
  font-size: 1.05rem;
}
.sc-steps3 span {
  font-size: 0.9rem;
  color: #5f6b76;
}

@media (max-width: 560px) {
  .sc-planner-form {
    flex-direction: column;
  }
  .sc-planner-form input, .sc-planner-form button {
    width: 100%;
  }
}
@media (prefers-color-scheme: dark) {
  :root:not([data-theme=light]) .sc-planner-form input {
    background: #0e1517;
    color: #e6edef;
    border-color: #2b3a3f;
  }
  :root:not([data-theme=light]) .sc-hero2__steps {
    color: #6d8bd2;
  }
  :root:not([data-theme=light]) .sc-steps3 a {
    background: #172023;
    border-color: #2b3a3f;
    color: #e6edef;
  }
  :root:not([data-theme=light]) .sc-steps3 span {
    color: #95a6ab;
  }
  :root:not([data-theme=light]) .sc-steps3 b {
    background: #1d397c;
  }
}
:root[data-theme=dark] .sc-planner-form input {
  background: #0e1517;
  color: #e6edef;
  border-color: #2b3a3f;
}
:root[data-theme=dark] .sc-hero2__steps {
  color: #6d8bd2;
}
:root[data-theme=dark] .sc-steps3 a {
  background: #172023;
  border-color: #2b3a3f;
  color: #e6edef;
}
:root[data-theme=dark] .sc-steps3 span {
  color: #95a6ab;
}
:root[data-theme=dark] .sc-steps3 b {
  background: #1d397c;
}

.erp-arrow {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: #5f6b76;
  line-height: 0;
}

.erp-arrowline {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  line-height: 1.1;
}

.erp-aside__label .erp-arrow svg {
  width: 26px;
  height: 26px;
}

@media (prefers-color-scheme: dark) {
  :root:not([data-theme=light]) .erp-arrow {
    color: #95a6ab;
  }
}
:root[data-theme=dark] .erp-arrow {
  color: #95a6ab;
}

@media (max-width: 560px) {
  .sc-planner-form input {
    flex: none;
    height: 52px;
  }
  .sc-planner-form button {
    height: 50px;
  }
}
:is(p, div):has(> .sc-btn ~ .sc-btn) {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}

.erp-cards {
  gap: 8px;
  margin: 10px 0;
}
.erp-cards--6 {
  grid-template-columns: repeat(auto-fit, minmax(104px, 1fr));
}
.erp-cards--3 {
  grid-template-columns: repeat(auto-fit, minmax(120px, 1fr));
}
.erp-cards--list {
  grid-template-columns: repeat(auto-fit, minmax(190px, 1fr));
}

.erp-card {
  min-height: 0;
  padding: 10px 6px;
  gap: 4px;
  border-width: 1.5px;
  border-radius: 12px;
  font-size: 0.86rem;
  line-height: 1.25;
}

.erp-card__icon svg {
  width: 28px;
  height: 28px;
}

.erp-card__name {
  font-weight: 700;
}

.erp-card__sub {
  font-size: 0.74rem;
}

.erp-card--big {
  padding: 10px 8px;
}

.erp-next {
  padding: 11px 18px;
  font-size: 0.95rem;
  margin-top: 14px;
}

.erp-check {
  font-size: 0.92rem;
}
.erp-check input {
  width: 18px;
  height: 18px;
}

.erp-aside__go {
  padding: 11px 18px;
  font-size: 0.95rem;
}

.erp-card {
  font-size: 0.8rem;
  font-weight: 500;
}

.erp-card__name {
  font-weight: 600;
  font-size: 0.8rem;
}

.erp-card__sub {
  font-size: 0.7rem;
  font-weight: 400;
}

.erp-chip {
  font-size: 0.74rem;
  font-weight: 500;
}
.erp-chip.is-on {
  font-weight: 600;
}

.erp-pill {
  font-size: 0.74rem;
  font-weight: 600;
}

.erp-seg__btn {
  font-size: 0.8rem;
  font-weight: 600;
}
.erp-seg__btn small {
  font-size: 0.68rem;
  font-weight: 400;
}

.erp-dir {
  font-size: 0.74rem;
  font-weight: 600;
}

.erp-next, .erp-aside__go {
  font-size: 0.88rem;
  font-weight: 600;
  padding: 10px 16px;
}

.erp-actions .sc-btn {
  font-size: 0.82rem;
  font-weight: 600;
  padding: 7px 14px;
}

.erp-stepper__item {
  font-size: 0.78rem;
  font-weight: 500;
}
.erp-stepper__item.is-on {
  font-weight: 600;
}

.erp-check {
  font-size: 0.88rem;
}

.erp-suggest__hint {
  color: #5f6b76;
  font-size: 0.9rem;
  cursor: default;
}
.erp-suggest__hint:hover {
  background: none !important;
}

.sc-planner-form .erp-suggest {
  top: 58px;
  left: 0;
  right: 0;
  z-index: 30;
}
.sc-planner-form .erp-suggest li.is-active {
  background: #eef0f6;
}

@media (prefers-color-scheme: dark) {
  :root:not([data-theme=light]) .sc-planner-form .erp-suggest li.is-active {
    background: #1d292d;
  }
}
:root[data-theme=dark] .sc-planner-form .erp-suggest li.is-active {
  background: #1d292d;
}

.erp-score {
  margin: 12px 0 4px;
  padding: 12px 14px;
  background: #f4f5f7;
  border: 1px solid #dde3e8;
  border-radius: 12px;
}
.erp-score__line {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  gap: 10px;
  font-size: 0.88rem;
  color: #5f6b76;
}
.erp-score__line strong {
  color: #17202a;
  font-size: 0.95rem;
}
.erp-score__bar {
  height: 8px;
  margin-top: 8px;
  background: #dfe1e7;
  border-radius: 99px;
  overflow: hidden;
}
.erp-score__bar span {
  display: block;
  height: 100%;
  border-radius: 99px;
  transition: width 0.3s;
}
.erp-score__bar span.is-low {
  background: #d9622b;
}
.erp-score__bar span.is-mid {
  background: #e0a62a;
}
.erp-score__bar span.is-high {
  background: #2c50a3;
}

.erp-how {
  margin: 4px 0 8px;
  padding: 10px 12px;
  font-size: 0.86rem;
  line-height: 1.45;
  color: #17202a;
  background: #fff8e1;
  border-left: 4px solid #e0a62a;
  border-radius: 6px;
}

.erp-cards--list {
  grid-template-columns: 1fr;
}
.erp-cards--list .erp-card {
  align-items: flex-start;
  text-align: left;
  padding: 11px 14px;
}
.erp-cards--list .erp-card__name {
  font-size: 0.92rem;
}
.erp-cards--list .erp-card__sub {
  font-size: 0.8rem;
  line-height: 1.4;
}

@media (prefers-color-scheme: dark) {
  :root:not([data-theme=light]) .erp-score {
    background: #1d292d;
    border-color: #2b3a3f;
  }
  :root:not([data-theme=light]) .erp-score strong {
    color: #e6edef;
  }
  :root:not([data-theme=light]) .erp-score__line {
    color: #95a6ab;
  }
  :root:not([data-theme=light]) .erp-score__bar {
    background: #0e1517;
  }
  :root:not([data-theme=light]) .erp-how {
    background: #2e2a18;
    color: #e6edef;
    border-left-color: #c8962a;
  }
}
:root[data-theme=dark] .erp-score {
  background: #1d292d;
  border-color: #2b3a3f;
}
:root[data-theme=dark] .erp-score strong {
  color: #e6edef;
}
:root[data-theme=dark] .erp-score__line {
  color: #95a6ab;
}
:root[data-theme=dark] .erp-score__bar {
  background: #0e1517;
}
:root[data-theme=dark] .erp-how {
  background: #2e2a18;
  color: #e6edef;
  border-left-color: #c8962a;
}

.erp-profiles {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
  gap: 8px;
  margin: 10px 0;
}
.erp-profiles .erp-profile {
  display: flex;
  flex-direction: column;
  gap: 2px;
  align-items: flex-start;
  padding: 9px 12px;
  font: inherit;
  text-align: left;
  color: #17202a;
  background: #fff;
  border: 1.5px solid #dde3e8;
  border-radius: 12px;
  cursor: pointer;
}
.erp-profiles .erp-profile strong {
  font-size: 0.85rem;
  font-weight: 600;
}
.erp-profiles .erp-profile span {
  font-size: 0.74rem;
  color: #5f6b76;
  line-height: 1.3;
}
.erp-profiles .erp-profile:hover {
  border-color: #2457c5;
}
.erp-profiles .erp-profile.is-on {
  background: #d5dced;
  border-color: #2457c5;
}

.erp-fit {
  margin: 8px 0;
  padding: 10px 12px;
  background: #eaf3fb;
  border-left: 4px solid #3a86c8;
  border-radius: 6px;
}
.erp-fit p {
  margin: 0 0 8px;
  font-size: 0.84rem;
  line-height: 1.45;
}
.erp-fit__btn {
  padding: 6px 12px;
  font: inherit;
  font-size: 0.8rem;
  font-weight: 600;
  color: #fff;
  background: #3a86c8;
  border: 0;
  border-radius: 999px;
  cursor: pointer;
}

@media (prefers-color-scheme: dark) {
  :root:not([data-theme=light]) .erp-profiles .erp-profile {
    background: #1d292d;
    color: #e6edef;
    border-color: #2b3a3f;
  }
  :root:not([data-theme=light]) .erp-profiles .erp-profile span {
    color: #95a6ab;
  }
  :root:not([data-theme=light]) .erp-profiles .erp-profile.is-on {
    background: #1c2a4b;
    border-color: #6d8bd2;
  }
  :root:not([data-theme=light]) .erp-fit {
    background: #1a2c3d;
    color: #e6edef;
  }
}
:root[data-theme=dark] .erp-profiles .erp-profile {
  background: #1d292d;
  color: #e6edef;
  border-color: #2b3a3f;
}
:root[data-theme=dark] .erp-profiles .erp-profile span {
  color: #95a6ab;
}
:root[data-theme=dark] .erp-profiles .erp-profile.is-on {
  background: #1c2a4b;
  border-color: #6d8bd2;
}
:root[data-theme=dark] .erp-fit {
  background: #1a2c3d;
  color: #e6edef;
}

.erp-cards--list .erp-card {
  display: grid;
  grid-template-columns: 84px 1fr;
  gap: 4px 14px;
  align-items: center;
  text-align: left;
}

.erp-cards--list .erp-card__icon {
  grid-row: 1;
  line-height: 0;
}
.erp-cards--list .erp-card__icon svg {
  display: block;
  width: 84px;
  height: 46px;
  border-radius: 6px;
}

.erp-card__text {
  display: flex;
  flex-direction: column;
  gap: 3px;
  min-width: 0;
}

.ly {
  stroke: rgba(0, 0, 0, 0.18);
  stroke-width: 0.6;
}

.ly-brick {
  fill: #c97d5d;
}

.ly-block {
  fill: #bfc4c9;
}

.ly-plaster {
  fill: #efe3cf;
}

.ly-air {
  fill: #f6f8fa;
}

.ly-ins {
  fill: #5db7d6;
}

.ly-render {
  fill: #eadfce;
}

.ly-tile {
  fill: #8a5a44;
}

.ly-board {
  fill: #cfd3d6;
}

.ly-wood {
  fill: #b88a5a;
}

.ly-screed {
  fill: #bdb7ad;
}

.ly-pane {
  fill: #7fb6d0;
}

.ly-gap {
  fill: #eef7fb;
}

.ly-gas {
  fill: #ced6e8;
}

.ly-coat {
  fill: #e3c96a;
}

.ly-room {
  fill: #f6f8fa;
  stroke: #9aa5ae;
  stroke-width: 1.5;
}

.ly-draft {
  stroke: #d9622b;
  stroke-width: 2;
  stroke-linecap: round;
  stroke-dasharray: 3 3;
  fill: none;
}

.ly-fan {
  fill: #fff;
  stroke: #5c6b7a;
  stroke-width: 1.4;
}

.ly-fan-x {
  stroke: #5c6b7a;
  stroke-width: 1.4;
  fill: none;
}

.erp-advice {
  margin: 12px 0;
  padding: 12px;
  background: #f1f3f8;
  border: 1px solid #ced5e6;
  border-radius: 12px;
}
.erp-advice__title {
  margin: 0 0 8px;
  font-weight: 800;
  font-size: 0.82rem;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  color: #1b43a0;
}
.erp-advice__row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  width: 100%;
  margin-top: 6px;
  padding: 9px 12px;
  font: inherit;
  text-align: left;
  color: #17202a;
  background: #fff;
  border: 1.5px solid #dde3e8;
  border-radius: 10px;
  cursor: pointer;
}
.erp-advice__row:hover {
  border-color: #2457c5;
}
.erp-advice__row.is-best {
  border-color: #2457c5;
  background: #fff;
  box-shadow: 0 0 0 2px rgba(29, 57, 124, 0.12);
}
.erp-advice__name {
  display: flex;
  flex-direction: column;
  gap: 2px;
}
.erp-advice__name strong {
  font-size: 0.88rem;
  font-weight: 600;
}
.erp-advice__name small {
  font-size: 0.76rem;
  color: #5f6b76;
  line-height: 1.35;
}
.erp-advice__go {
  flex: none;
  padding: 4px 10px;
  font-size: 0.76rem;
  font-weight: 600;
  color: #fff;
  background: #2457c5;
  border-radius: 999px;
}

@media (prefers-color-scheme: dark) {
  :root:not([data-theme=light]) .erp-advice {
    background: #151b28;
    border-color: #232c41;
  }
  :root:not([data-theme=light]) .erp-advice__title {
    color: #6d8bd2;
  }
  :root:not([data-theme=light]) .erp-advice__row {
    background: #1d292d;
    border-color: #2b3a3f;
    color: #e6edef;
  }
  :root:not([data-theme=light]) .erp-advice__row small {
    color: #95a6ab;
  }
  :root:not([data-theme=light]) .erp-advice__row.is-best {
    border-color: #6d8bd2;
  }
  :root:not([data-theme=light]) .ly-air {
    fill: #2a343a;
  }
  :root:not([data-theme=light]) .ly-gap {
    fill: #223038;
  }
  :root:not([data-theme=light]) .ly-room {
    fill: #2a343a;
    stroke: #6a7885;
  }
  :root:not([data-theme=light]) .ly-fan {
    fill: #2a343a;
  }
}
:root[data-theme=dark] .erp-advice {
  background: #151b28;
  border-color: #232c41;
}
:root[data-theme=dark] .erp-advice__title {
  color: #6d8bd2;
}
:root[data-theme=dark] .erp-advice__row {
  background: #1d292d;
  border-color: #2b3a3f;
  color: #e6edef;
}
:root[data-theme=dark] .erp-advice__row small {
  color: #95a6ab;
}
:root[data-theme=dark] .erp-advice__row.is-best {
  border-color: #6d8bd2;
}
:root[data-theme=dark] .ly-air {
  fill: #2a343a;
}
:root[data-theme=dark] .ly-gap {
  fill: #223038;
}
:root[data-theme=dark] .ly-room {
  fill: #2a343a;
  stroke: #6a7885;
}
:root[data-theme=dark] .ly-fan {
  fill: #2a343a;
}

.erp-cards--list .erp-card {
  grid-template-columns: 1fr;
  gap: 6px;
  align-items: start;
}

.erp-cards--list .erp-card__icon {
  width: 100%;
}
.erp-cards--list .erp-card__icon svg {
  width: 100%;
  height: auto;
  max-width: 360px;
  border-radius: 0;
}

.ly-text {
  font-size: 9.5px;
  fill: #5c6b7a;
  font-family: inherit;
}

.ly-text--side {
  font-size: 9px;
  font-style: italic;
}

.ly-flow {
  fill: none;
  stroke: #9aa5ae;
  stroke-width: 1.2;
  stroke-linecap: round;
  stroke-linejoin: round;
}

@media (prefers-color-scheme: dark) {
  :root:not([data-theme=light]) .ly-text {
    fill: #b3c0cb;
  }
  :root:not([data-theme=light]) .ly-flow {
    stroke: #7d8b97;
  }
}
:root[data-theme=dark] .ly-text {
  fill: #b3c0cb;
}
:root[data-theme=dark] .ly-flow {
  stroke: #7d8b97;
}

.sc-reno {
  padding: 0;
}

.rn-top, .rn-main {
  padding: 18px 20px;
  background: #fff;
  border: 1px solid #dde3e8;
  border-radius: 10px;
}

.rn-top {
  margin-bottom: 14px;
}

.rn-h {
  margin: 0 0 6px;
  font-size: 1.25rem;
}

.rn-note {
  margin: 6px 0 10px;
}

.rn-search {
  position: relative;
  margin: 8px 0;
}
.rn-search input {
  width: 100%;
  height: 48px;
  box-sizing: border-box;
  padding: 0 16px;
  font: inherit;
  color: #17202a;
  background: #fff;
  border: 1px solid #dde3e8;
  border-radius: 12px;
}

.rn-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(190px, 1fr));
  gap: 12px 16px;
  margin: 8px 0 4px;
}

.rn-field {
  display: flex;
  flex-direction: column;
  gap: 6px;
  font-weight: 600;
  font-size: 0.9rem;
}
.rn-field input {
  height: 44px;
  box-sizing: border-box;
  padding: 0 12px;
  font: inherit;
  color: #17202a;
  background: #fff;
  border: 1px solid #dde3e8;
  border-radius: 10px;
}

.rn-seg {
  display: flex;
  gap: 4px;
  padding: 4px;
  background: #eeeff2;
  border-radius: 12px;
}
.rn-seg__btn {
  flex: 1;
  padding: 9px 6px;
  font: inherit;
  font-size: 0.86rem;
  font-weight: 600;
  color: #17202a;
  background: none;
  border: 0;
  border-radius: 9px;
  cursor: pointer;
}
.rn-seg__btn.is-on {
  background: #2457c5;
  color: #fff;
}

.rn-warn {
  margin: 10px 0 0;
  padding: 10px 12px;
  font-size: 0.86rem;
  line-height: 1.45;
  background: #fff3e0;
  border-left: 4px solid #e08a2a;
  border-radius: 6px;
}

.rn-layout {
  display: grid;
  grid-template-columns: 1fr;
  gap: 16px;
  align-items: start;
}
@media (min-width: 960px) {
  .rn-layout {
    grid-template-columns: minmax(0, 1fr) 320px;
  }
}

.rn-cat {
  margin: 14px 0;
}
.rn-cat__h {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  gap: 10px;
  margin: 0 0 6px;
  padding-bottom: 6px;
  font-size: 1rem;
  border-bottom: 2px solid #dde3e8;
}
.rn-cat__h small {
  font-size: 0.8rem;
  font-weight: 600;
  color: #5f6b76;
}

.rn-item {
  padding: 10px 0;
  border-bottom: 1px solid #dde3e8;
}
.rn-item.is-on {
  background: linear-gradient(90deg, rgba(29, 57, 124, 0.06), transparent);
}
.rn-item__main {
  display: flex;
  gap: 10px;
  align-items: flex-start;
  cursor: pointer;
}
.rn-item__main input {
  margin-top: 3px;
  width: 18px;
  height: 18px;
  accent-color: #2457c5;
}
.rn-item__name {
  display: flex;
  flex-direction: column;
  gap: 2px;
}
.rn-item__name strong {
  font-size: 0.92rem;
  font-weight: 600;
}
.rn-item__name small {
  font-size: 0.8rem;
  color: #5f6b76;
}
.rn-item__wait {
  margin: 4px 0 0 28px;
  font-size: 0.78rem;
  color: #9a5b12;
}

.rn-chips {
  display: flex;
  gap: 6px;
  margin: 6px 0 0 28px;
}

.rn-chip {
  padding: 4px 10px;
  font: inherit;
  font-size: 0.76rem;
  font-weight: 500;
  color: #17202a;
  background: #f4f5f7;
  border: 1.5px solid #dde3e8;
  border-radius: 999px;
  cursor: pointer;
}
.rn-chip.is-on {
  font-weight: 700;
}
.rn-chip.is-on.rn-chip--good {
  background: #d5dced;
  border-color: #2c50a3;
}
.rn-chip.is-on.rn-chip--fair {
  background: #fdf0cf;
  border-color: #e0a62a;
}
.rn-chip.is-on.rn-chip--bad {
  background: #fbdcd0;
  border-color: #d9622b;
}

.rn-aside {
  position: sticky;
  top: 84px;
  padding: 18px 20px;
  background: #fff;
  border: 1px solid #dde3e8;
  border-top: 4px solid #2457c5;
  border-radius: 10px;
}
@media (max-width: 959px) {
  .rn-aside {
    position: static;
  }
}
.rn-aside__title {
  margin: 0 0 10px;
  font-weight: 800;
  font-size: 0.78rem;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: #1b43a0;
}
.rn-aside__total {
  display: flex;
  flex-direction: column;
  gap: 2px;
  margin-bottom: 10px;
}
.rn-aside__total small {
  color: #5f6b76;
  font-size: 0.8rem;
}
.rn-aside__total strong {
  font-size: 1.4rem;
}
.rn-aside__row {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  gap: 10px;
  padding: 9px 0;
  border-top: 1px solid #dde3e8;
}
.rn-aside__row span {
  display: flex;
  flex-direction: column;
}
.rn-aside__row span strong {
  font-size: 0.9rem;
}
.rn-aside__row span small {
  font-size: 0.72rem;
  color: #5f6b76;
}
.rn-aside__row em {
  font-style: normal;
  font-weight: 700;
  font-size: 0.92rem;
  text-align: right;
}
.rn-aside__row--now strong {
  color: #c2410c;
}
.rn-aside__row--soon strong {
  color: #a16207;
}
.rn-aside__row--later strong {
  color: #142d67;
}
.rn-aside__weeks {
  margin: 10px 0;
  font-size: 0.86rem;
}
.rn-aside__weeks small {
  color: #5f6b76;
  font-size: 0.78rem;
}
.rn-aside__note {
  margin: 10px 0 0;
  font-size: 0.74rem;
}

@media (prefers-color-scheme: dark) {
  :root:not([data-theme=light]) .rn-top, :root:not([data-theme=light]) .rn-main, :root:not([data-theme=light]) .rn-aside {
    background: #172023;
    border-color: #2b3a3f;
  }
  :root:not([data-theme=light]) .rn-search input, :root:not([data-theme=light]) .rn-field input {
    background: #0e1517;
    color: #e6edef;
    border-color: #2b3a3f;
  }
  :root:not([data-theme=light]) .rn-seg {
    background: #0e1517;
  }
  :root:not([data-theme=light]) .rn-seg__btn {
    color: #e6edef;
  }
  :root:not([data-theme=light]) .rn-seg__btn.is-on {
    background: #132552;
    color: #fff;
  }
  :root:not([data-theme=light]) .rn-chip {
    background: #1d292d;
    border-color: #2b3a3f;
    color: #e6edef;
  }
  :root:not([data-theme=light]) .rn-chip.is-on.rn-chip--good {
    background: #1c2a4b;
  }
  :root:not([data-theme=light]) .rn-chip.is-on.rn-chip--fair {
    background: #4a3d12;
  }
  :root:not([data-theme=light]) .rn-chip.is-on.rn-chip--bad {
    background: #55261a;
  }
  :root:not([data-theme=light]) .rn-warn {
    background: #3a2d14;
    color: #e6edef;
  }
  :root:not([data-theme=light]) .rn-cat__h, :root:not([data-theme=light]) .rn-item, :root:not([data-theme=light]) .rn-aside__row {
    border-color: #2b3a3f;
  }
  :root:not([data-theme=light]) .rn-item__wait {
    color: #e0b070;
  }
}
:root[data-theme=dark] .rn-top, :root[data-theme=dark] .rn-main, :root[data-theme=dark] .rn-aside {
  background: #172023;
  border-color: #2b3a3f;
}
:root[data-theme=dark] .rn-search input, :root[data-theme=dark] .rn-field input {
  background: #0e1517;
  color: #e6edef;
  border-color: #2b3a3f;
}
:root[data-theme=dark] .rn-seg {
  background: #0e1517;
}
:root[data-theme=dark] .rn-seg__btn {
  color: #e6edef;
}
:root[data-theme=dark] .rn-seg__btn.is-on {
  background: #132552;
  color: #fff;
}
:root[data-theme=dark] .rn-chip {
  background: #1d292d;
  border-color: #2b3a3f;
  color: #e6edef;
}
:root[data-theme=dark] .rn-chip.is-on.rn-chip--good {
  background: #1c2a4b;
}
:root[data-theme=dark] .rn-chip.is-on.rn-chip--fair {
  background: #4a3d12;
}
:root[data-theme=dark] .rn-chip.is-on.rn-chip--bad {
  background: #55261a;
}
:root[data-theme=dark] .rn-warn {
  background: #3a2d14;
  color: #e6edef;
}
:root[data-theme=dark] .rn-cat__h, :root[data-theme=dark] .rn-item, :root[data-theme=dark] .rn-aside__row {
  border-color: #2b3a3f;
}
:root[data-theme=dark] .rn-item__wait {
  color: #e0b070;
}

.erp-cards--list {
  gap: 6px;
}
.erp-cards--list .erp-card {
  gap: 3px;
  padding: 8px 12px;
}
.erp-cards--list .erp-card__icon svg {
  max-width: 300px;
}
.erp-cards--list .erp-card__name {
  font-size: 0.88rem;
}
.erp-cards--list .erp-card__sub {
  font-size: 0.76rem;
  line-height: 1.35;
}

.ly-text {
  font-size: 9px;
}

@media (min-width: 900px) {
  .sc-hero2__grid {
    grid-template-columns: minmax(0, 1fr) 400px;
  }
  .sc-hero2__card--house .hs {
    max-width: 300px;
  }
}
.sc-lbl {
  white-space: nowrap;
  flex-shrink: 0;
}

.cookie-consent {
  position: fixed;
  right: 16px;
  bottom: 16px;
  z-index: 1000;
  width: min(380px, 100vw - 32px);
  padding: 16px 18px;
  background: #1b43a0;
  color: #fff;
  border-top: 4px solid rgb(38.5939577548%, 54.4909534629%, 88.7785912648%);
  border-radius: 12px;
  box-shadow: 0 10px 32px rgba(0, 0, 0, 0.3);
  font-size: 14px;
  line-height: 1.5;
}
.cookie-consent[hidden] {
  display: none;
}
.cookie-consent__inner {
  display: flex;
  flex-direction: column;
  gap: 12px;
}
.cookie-consent__text {
  margin: 0;
}
.cookie-consent__actions {
  display: flex;
  gap: 10px;
}
.cookie-consent__accept, .cookie-consent__decline {
  flex: 1;
  padding: 9px 16px;
  border: 2px solid #fff;
  border-radius: 99px;
  font: inherit;
  font-weight: 700;
  cursor: pointer;
}
.cookie-consent__accept {
  background: #fff;
  color: #1b43a0;
}
.cookie-consent__accept:hover {
  background: #e8edf1;
}
.cookie-consent__decline {
  background: transparent;
  color: #fff;
}
.cookie-consent__decline:hover {
  background: rgba(255, 255, 255, 0.12);
}

.ad-slot {
  display: flow-root;
  clear: both;
  max-width: 1120px;
  margin: 16px auto;
  padding: 0 20px;
  text-align: center;
  overflow: hidden;
}
.ad-slot:has(ins[data-ad-status=unfilled]) {
  display: none;
}

.ad-slot--bottom {
  margin: 32px auto 0;
}

.ad-slot--nav {
  display: none;
}
@media (min-width: 800px) {
  .ad-slot--nav {
    display: block;
  }
}
.ad-slot--nav ins.adsbygoogle {
  display: block !important;
  margin: 0 auto !important;
  overflow: hidden;
  width: 728px !important;
  height: 90px !important;
  max-width: 100%;
}

.link-tips {
  margin: 40px 0 0;
}

.link-tips__inner {
  max-width: 1120px;
  margin: 0 auto;
  padding: 0 20px;
}

.link-tips__title {
  margin: 0 0 14px;
  font-size: 1.3rem;
}

.link-tips__list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
  gap: 10px;
}
.link-tips__list a {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  height: 100%;
  padding: 14px 16px;
  background: #fff;
  border: 1px solid #dde3e8;
  border-radius: 12px;
  color: #1b43a0;
  font-weight: 600;
  text-decoration: none;
  transition: border-color 0.15s, transform 0.15s;
}
.link-tips__list a::after {
  content: "";
  flex: none;
  width: 8px;
  height: 8px;
  border-right: 2px solid currentColor;
  border-top: 2px solid currentColor;
  transform: rotate(45deg);
  opacity: 0.6;
}
.link-tips__list a:hover, .link-tips__list a:focus-visible {
  border-color: #2457c5;
  transform: translateY(-2px);
}

@media (prefers-color-scheme: dark) {
  :root:not([data-theme=light]) .link-tips__list a {
    background: #172023;
    border-color: #2b3a3f;
    color: #6d8bd2;
  }
  :root:not([data-theme=light]) .link-tips__list a:hover, :root:not([data-theme=light]) .link-tips__list a:focus-visible {
    border-color: #6d8bd2;
  }
}
:root[data-theme=dark] .link-tips__list a {
  background: #172023;
  border-color: #2b3a3f;
  color: #6d8bd2;
}
:root[data-theme=dark] .link-tips__list a:hover, :root[data-theme=dark] .link-tips__list a:focus-visible {
  border-color: #6d8bd2;
}

.breadcrumbs {
  display: flex;
  flex-wrap: nowrap;
  align-items: center;
  margin: 14px 0 0;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
  scrollbar-width: none;
  -ms-overflow-style: none;
  color: #5f6b76;
}
.breadcrumbs::-webkit-scrollbar {
  display: none;
}
.breadcrumbs > * {
  flex-shrink: 0;
  white-space: nowrap;
}
.breadcrumbs a {
  color: #5f6b76;
  text-decoration: none;
}
.breadcrumbs a:hover {
  color: #1b43a0;
  text-decoration: underline;
}
.breadcrumbs__home {
  display: inline-flex;
  align-items: center;
  color: #2457c5 !important;
}
.breadcrumbs__home:hover {
  color: #1b43a0 !important;
}
.breadcrumbs__separator {
  display: inline-block;
  width: 6px;
  height: 6px;
  margin: 0 8px;
  border-right: 2px solid currentColor;
  border-bottom: 2px solid currentColor;
  transform: rotate(-45deg);
  opacity: 0.6;
}
.breadcrumbs__current {
  color: #17202a;
  font-weight: 600;
}
.breadcrumbs.has-scroll-left {
  -webkit-mask-image: linear-gradient(to right, transparent 0, #000 40px);
  mask-image: linear-gradient(to right, transparent 0, #000 40px);
}
.breadcrumbs.has-scroll-right {
  -webkit-mask-image: linear-gradient(to right, #000 calc(100% - 40px), transparent 100%);
  mask-image: linear-gradient(to right, #000 calc(100% - 40px), transparent 100%);
}
.breadcrumbs.has-scroll-left.has-scroll-right {
  -webkit-mask-image: linear-gradient(to right, transparent 0, #000 40px, #000 calc(100% - 40px), transparent 100%);
  mask-image: linear-gradient(to right, transparent 0, #000 40px, #000 calc(100% - 40px), transparent 100%);
}

@media (prefers-color-scheme: dark) {
  :root:not([data-theme=light]) .breadcrumbs__current {
    color: #e6edef;
  }
  :root:not([data-theme=light]) .breadcrumbs__home, :root:not([data-theme=light]) .breadcrumbs__home:hover {
    color: #6d8bd2 !important;
  }
  :root:not([data-theme=light]) .breadcrumbs a:hover {
    color: #6d8bd2;
  }
}
:root[data-theme=dark] .breadcrumbs__current {
  color: #e6edef;
}
:root[data-theme=dark] .breadcrumbs__home, :root[data-theme=dark] .breadcrumbs__home:hover {
  color: #6d8bd2 !important;
}
:root[data-theme=dark] .breadcrumbs a:hover {
  color: #6d8bd2;
}

.post-meta {
  display: inline-block;
  margin: 0 0 14px;
  padding: 3px 12px;
  background: #e8edf1;
  border-radius: 99px;
  color: #5f6b76;
  font-size: 0.8rem;
  line-height: 1.5;
}

@media (prefers-color-scheme: dark) {
  :root:not([data-theme=light]) .post-meta {
    background: #1d292d;
    color: #95a6ab;
  }
}
:root[data-theme=dark] .post-meta {
  background: #1d292d;
  color: #95a6ab;
}

.zv-article__meta:has(.editor-chip), .sc-article__meta:has(.editor-chip), .fg-article__meta:has(.editor-chip) {
  display: inline-flex;
  vertical-align: top;
  margin: 0 8px 14px 0;
  line-height: 0;
}

.editor-chip {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 3px 12px 3px 3px;
  background: #e8edf1;
  border-radius: 99px;
  color: #17202a;
  font-size: 0.8rem;
  font-weight: 600;
  line-height: 1.4;
}

.editor-chip__img {
  flex: none;
  width: 24px;
  height: 24px;
  border-radius: 50%;
  object-fit: cover;
  object-position: top;
}

.editor-chip__img--initial {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: rgba(128, 128, 128, 0.25);
  font-size: 0.7rem;
  font-weight: 700;
}

@media (min-width: 640px) {
  .zv-article__meta, .sc-article__meta, .fg-article__meta {
    display: inline-block;
    vertical-align: top;
    margin: 0 8px 14px 0;
    line-height: 30px;
  }
}
.zv-article__meta:has(.editor-chip) + .post-meta, .sc-article__meta:has(.editor-chip) + .post-meta, .fg-article__meta:has(.editor-chip) + .post-meta {
  vertical-align: top;
  margin: 0 8px 14px 0;
  padding-top: 0;
  padding-bottom: 0;
  line-height: 30px;
}

.editor-chip {
  vertical-align: top;
}

@media (prefers-color-scheme: dark) {
  :root:not([data-theme=light]) .editor-chip {
    background: #1d292d;
    color: #e6edef;
  }
}
:root[data-theme=dark] .editor-chip {
  background: #1d292d;
  color: #e6edef;
}

.editor-card {
  display: flex;
  align-items: center;
  gap: 16px;
  margin: 32px 0 8px;
  padding: 16px 18px;
  background: #fff;
  border: 1px solid #dde3e8;
  border-radius: 16px;
  color: #17202a;
}

.editor-card__img {
  flex: none;
  width: 56px;
  height: 56px;
  border-radius: 50%;
  object-fit: cover;
  object-position: top;
}

.editor-card__img--initial {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: rgba(128, 128, 128, 0.22);
  font-size: 1.2rem;
  font-weight: 700;
}

.editor-card__name {
  margin: 0 0 4px;
  font-weight: 700;
  font-size: 1.02rem;
}

.editor-card__bio {
  margin: 0;
  color: #5f6b76;
  font-size: 0.9rem;
  line-height: 1.5;
}

@media (prefers-color-scheme: dark) {
  :root:not([data-theme=light]) .editor-card {
    background: #172023;
    border-color: #2b3a3f;
    color: #e6edef;
  }
  :root:not([data-theme=light]) .editor-card__bio {
    color: #95a6ab;
  }
}
:root[data-theme=dark] .editor-card {
  background: #172023;
  border-color: #2b3a3f;
  color: #e6edef;
}
:root[data-theme=dark] .editor-card__bio {
  color: #95a6ab;
}

@media (max-width: 480px) {
  .editor-card {
    align-items: flex-start;
    gap: 12px;
    padding: 14px;
  }
  .editor-card__img {
    width: 48px;
    height: 48px;
  }
}
.editor-card {
  display: block;
}

.editor-card__top {
  display: flex;
  align-items: center;
  gap: 16px;
}

.editor-card__img {
  width: 72px;
  height: 72px;
}

.editor-card__img--initial {
  font-size: 1.6rem;
}

.editor-card__label {
  display: block;
  margin: 0 0 2px;
  color: #5f6b76;
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.editor-card__more {
  margin: 14px 0 0;
  padding: 12px 0 0;
  border-top: 1px solid #dde3e8;
  font-size: 0.9rem;
}

.editor-card__more p {
  margin: 0 0 6px;
  font-weight: 650;
}

.editor-card__more ul {
  margin: 0;
  padding: 0 0 0 18px;
}

.editor-card__more li {
  margin: 0 0 4px;
}

@media (prefers-color-scheme: dark) {
  :root:not([data-theme=light]) .editor-card__label {
    color: #95a6ab;
  }
  :root:not([data-theme=light]) .editor-card__more {
    border-top-color: #2b3a3f;
  }
}
:root[data-theme=dark] .editor-card__label {
  color: #95a6ab;
}
:root[data-theme=dark] .editor-card__more {
  border-top-color: #2b3a3f;
}

@media (max-width: 480px) {
  .editor-card__top {
    align-items: flex-start;
    gap: 12px;
  }
  .editor-card__img {
    width: 56px;
    height: 56px;
  }
}
.sc-prose {
  max-width: 760px;
}
.sc-prose p {
  margin: 0 0 1em;
}

.sc-gen {
  display: grid;
  grid-template-columns: 1fr;
  gap: 8px 32px;
  margin: 12px 0 8px;
  align-items: start;
}

@media (min-width: 980px) {
  .sc-gen {
    grid-template-columns: minmax(300px, 390px) 1fr;
  }
  .sc-gen__side {
    position: sticky;
    top: 84px;
    max-height: calc(100vh - 100px);
    overflow-y: auto;
    padding-right: 6px;
  }
}
.sc-gen h2 {
  margin: 0.6em 0 0.5em;
  font-size: 1.15rem;
}

.sc-fg {
  margin: 0 0 14px;
  padding: 12px 14px 14px;
  background: #fff;
  border: 1px solid #dde3e8;
  border-radius: 10px;
  min-width: 0;
}
.sc-fg legend {
  padding: 0 6px;
  font-weight: 800;
  font-size: 0.95rem;
  color: #1b43a0;
}

.sc-fg__grid {
  display: grid;
  gap: 10px;
}

.sc-field {
  display: flex;
  flex-direction: column;
  gap: 3px;
  min-width: 0;
}
.sc-field label {
  font-weight: 600;
  font-size: 0.9rem;
}
.sc-field input, .sc-field select, .sc-field textarea {
  width: 100%;
  padding: 9px 11px;
  border: 1px solid #dde3e8;
  border-radius: 8px;
  font: inherit;
  font-size: 0.95rem;
  background: #fff;
  color: #17202a;
}
.sc-field input:focus, .sc-field select:focus, .sc-field textarea:focus {
  outline: 2px solid rgba(36, 87, 197, 0.35);
  border-color: #2457c5;
}
.sc-field small {
  color: #5f6b76;
  font-size: 0.8rem;
  line-height: 1.35;
}

.sc-field--check label {
  display: flex;
  gap: 8px;
  align-items: flex-start;
  font-weight: 600;
}
.sc-field--check label input {
  width: auto;
  margin-top: 4px;
}

.sc-gen__bar {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px 10px;
  margin: 0 0 14px;
}
.sc-gen__bar .sc-btn {
  padding: 10px 20px;
  font-size: 0.95rem;
}
.sc-gen__bar .sc-btn--ghost {
  padding: 8px 18px;
}

.sc-link-btn {
  padding: 6px 4px;
  border: 0;
  background: none;
  color: #5f6b76;
  font: inherit;
  font-size: 0.9rem;
  text-decoration: underline;
  cursor: pointer;
}
.sc-link-btn:hover {
  color: #1b43a0;
}

.sc-gen__msg {
  flex: 1 1 100%;
  min-height: 1.2em;
  font-size: 0.9rem;
  color: #1b43a0;
  font-weight: 600;
}

.sc-doc {
  padding: clamp(18px, 4vw, 44px);
  background: #fff;
  color: #17202a;
  border: 1px solid #dde3e8;
  border-radius: 6px;
  box-shadow: 0 8px 28px rgba(15, 23, 42, 0.08);
  font: 16px/1.6 Georgia, "Times New Roman", serif;
}
.sc-doc p {
  margin: 0 0 0.7em;
}
.sc-doc ul {
  margin: 0 0 0.7em;
  padding-left: 1.3em;
}
.sc-doc ol {
  margin: 0;
  padding: 0;
}
.sc-doc li[hidden], .sc-doc p[hidden], .sc-doc div[hidden] {
  display: none;
}

.sc-doc__title {
  margin: 0 0 1.4em !important;
  text-align: center;
  font-weight: 700;
  font-size: 1.25rem;
  letter-spacing: 0.04em;
}

.sc-doc__h {
  margin: 1.1em 0 0.25em !important;
  font-weight: 700;
}

.sc-doc__parties {
  list-style: decimal;
  margin: 0 0 0.8em 1.4em !important;
}
.sc-doc__parties li {
  margin-bottom: 0.6em;
}

.sc-doc__clauses {
  list-style: none;
  counter-reset: art;
}

.sc-doc__clause {
  counter-increment: art;
}
.sc-doc__clause > .sc-doc__h::before {
  content: "Artikel " counter(art) ". ";
}

.sc-doc__sign-line {
  margin-top: 1.8em !important;
}

.sc-doc__sign {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
  gap: 12px 40px;
  margin-top: 8px;
}
.sc-doc__sign p {
  margin: 0;
}

.sc-doc__sign-role {
  font-weight: 700;
}

.sc-doc__sign-space {
  height: 56px;
  border-bottom: 1px solid #17202a;
  margin-bottom: 4px !important;
}

.sc-ph {
  background: rgba(36, 87, 197, 0.08);
  border-radius: 3px;
  padding: 0 2px;
}
.sc-ph.is-empty {
  background: #fff3cd;
  color: #6b5300;
  font-family: system-ui, -apple-system, "Segoe UI", sans-serif;
  font-size: 0.85em;
}

@media print {
  body * {
    visibility: hidden !important;
  }
  .sc-doc, .sc-doc * {
    visibility: visible !important;
  }
  .sc-doc {
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    padding: 0;
    border: 0;
    box-shadow: none;
  }
  .sc-ph, .sc-ph.is-empty {
    background: none;
    color: #000;
    font: inherit;
  }
  .sc-ph.is-empty {
    color: transparent;
    border-bottom: 1px dotted #000;
    min-width: 120px;
    display: inline-block;
  }
}
@media (prefers-color-scheme: dark) {
  :root:not([data-theme=light]) .sc-fg {
    background: #172023;
    border-color: #2b3a3f;
  }
  :root:not([data-theme=light]) .sc-fg legend {
    color: #6d8bd2;
  }
  :root:not([data-theme=light]) .sc-field input, :root:not([data-theme=light]) .sc-field select, :root:not([data-theme=light]) .sc-field textarea {
    background: #1d292d;
    border-color: #2b3a3f;
    color: #e6edef;
  }
  :root:not([data-theme=light]) .sc-field small, :root:not([data-theme=light]) .sc-link-btn, :root:not([data-theme=light]) .sc-gen__msg {
    color: #95a6ab;
  }
  :root:not([data-theme=light]) .sc-link-btn:hover {
    color: #6d8bd2;
  }
  :root:not([data-theme=light]) .sc-doc {
    box-shadow: none;
  }
}
:root[data-theme=dark] .sc-fg {
  background: #172023;
  border-color: #2b3a3f;
}
:root[data-theme=dark] .sc-fg legend {
  color: #6d8bd2;
}
:root[data-theme=dark] .sc-field input, :root[data-theme=dark] .sc-field select, :root[data-theme=dark] .sc-field textarea {
  background: #1d292d;
  border-color: #2b3a3f;
  color: #e6edef;
}
:root[data-theme=dark] .sc-field small, :root[data-theme=dark] .sc-link-btn, :root[data-theme=dark] .sc-gen__msg {
  color: #95a6ab;
}
:root[data-theme=dark] .sc-link-btn:hover {
  color: #6d8bd2;
}
:root[data-theme=dark] .sc-doc {
  box-shadow: none;
}
