.pbtco {
  --pbtco-ink: #172321;
  --pbtco-muted: #566763;
  --pbtco-border: #d5e0dd;
  --pbtco-surface: #f5f9f8;
  --pbtco-accent: #087665;
  --pbtco-accent-dark: #064f45;
  --pbtco-accent-soft: #e7f5f1;
  --pbtco-danger: #8f241d;
  --pbtco-danger-soft: #fff1f0;
  --pbtco-warning: #754100;
  --pbtco-warning-soft: #fff4dc;
  color: var(--pbtco-ink);
  margin: 32px 0 40px;
}

.pbtco__intro h2 { font-size: clamp(22px, 4vw, 30px); margin: 12px 0; line-height: 1.35; }
.pbtco__quick > * + * { margin-top: 20px; }
.pbtco__check { display: flex; align-items: flex-start; gap: 12px; min-height: 48px; padding: 10px 0; line-height: 1.6; cursor: pointer; }
.pbtco__check input { flex: 0 0 22px; width: 22px; height: 22px; margin: 3px 0 0; accent-color: var(--pbtco-accent); }
.pbtco__full { margin-top: 24px; }
.pbtco__full > summary, .pbtco__quick-extra > summary { min-height: 48px; padding: 14px 10px; line-height: 1.5; cursor: pointer; font-weight: 650; }
.pbtco__full > summary { background: var(--pbtco-surface); border-radius: 10px; border: 1px solid var(--pbtco-border); }
.pbtco__quick-result { margin-top: 24px; padding-top: 24px; border-top: 2px solid var(--pbtco-accent); overflow-wrap: anywhere; }
.pbtco__quick-result h3 { font-size: clamp(24px, 5vw, 34px); color: var(--pbtco-accent-dark); line-height: 1.4; }
.pbtco__quick-verdict { background: var(--pbtco-accent-soft); padding: 16px; border-radius: 10px; font-weight: 700; }
.pbtco button.pbtco__button--secondary:hover,
.pbtco button.pbtco__button--secondary:focus,
.pbtco button.pbtco__button--secondary:active {
  color: #1e4b43;
  background: #edf4f1;
  border-color: #356e62;
}
.pbtco__quick-choices { display: grid; grid-template-columns: 1fr; gap: 12px; }
.pbtco__quick .pbtco__button { white-space: normal; height: auto; min-height: 50px; line-height: 1.5; max-width: 100%; }
.pbtco__quick .pbtco__next { margin-top: 16px; }
.pbtco__quick select { width: 100%; text-overflow: ellipsis; }
.pbtco__full summary:focus-visible, .pbtco__quick summary:focus-visible, .pbtco__check input:focus-visible { outline: 3px solid var(--pbtco-accent); outline-offset: 3px; }

.pbtco *,
.pbtco *::before,
.pbtco *::after {
  box-sizing: border-box;
}

.pbtco [hidden] {
  display: none !important;
}

.pbtco__intro,
.pbtco__form,
.pbtco__results {
  border: 1px solid var(--pbtco-border);
  border-radius: 18px;
}

.pbtco__intro {
  background: linear-gradient(135deg, #eef9f6 0%, #ffffff 78%);
  padding: 24px;
}

.pbtco__intro p:last-child {
  font-size: 18px;
  line-height: 1.7;
  margin: 8px 0 0;
}

.pbtco__eyebrow {
  color: var(--pbtco-accent-dark);
  font-size: 14px;
  font-weight: 750;
  letter-spacing: -0.01em;
  margin: 0;
}

.pbtco__form {
  background: #fff;
  margin-top: 16px;
  padding: 24px;
}

.pbtco__fieldset {
  border: 0;
  margin: 0;
  min-width: 0;
  padding: 0;
}

.pbtco__fieldset + .pbtco__fieldset {
  border-top: 1px solid var(--pbtco-border);
  margin-top: 28px;
  padding-top: 28px;
}

.pbtco__fieldset legend {
  color: var(--pbtco-ink);
  float: left;
  font-size: 19px;
  font-weight: 780;
  line-height: 1.4;
  margin: 0 0 18px;
  width: 100%;
}

.pbtco__fieldset legend + * {
  clear: both;
}

.pbtco__grid {
  display: grid;
  gap: 20px 18px;
  grid-template-columns: minmax(0, 1fr);
}

.pbtco__field {
  display: flex;
  flex-direction: column;
  font-size: 15px;
  font-weight: 700;
  gap: 8px;
  min-width: 0;
}

.pbtco__field small,
.pbtco__field-note,
.pbtco__advanced-intro {
  color: var(--pbtco-muted);
  font-size: 13px;
  font-weight: 400;
  line-height: 1.55;
}

.pbtco__field input,
.pbtco__field select {
  background: #fff;
  border: 1px solid #9eafab;
  border-radius: 10px;
  color: var(--pbtco-ink);
  font: inherit;
  font-size: 16px;
  font-weight: 620;
  height: 48px;
  line-height: 1;
  margin: 0;
  min-width: 0;
  padding: 0 13px;
  width: 100%;
}

.pbtco__field select {
  cursor: pointer;
}

.pbtco__control {
  align-items: center;
  display: flex;
  gap: 8px;
  min-width: 0;
}

.pbtco__control > span {
  color: var(--pbtco-muted);
  flex: 0 0 auto;
  font-size: 14px;
  font-weight: 650;
}

.pbtco__field input:focus,
.pbtco__field select:focus,
.pbtco__button:focus-visible,
.pbtco__advanced summary:focus-visible,
.pbtco__crossing-details summary:focus-visible,
.pbtco__details summary:focus-visible,
.pbtco__cta:focus-visible {
  border-color: var(--pbtco-accent-dark);
  outline: 3px solid #76cdbd;
  outline-offset: 2px;
}

.pbtco__field input[aria-invalid="true"],
.pbtco__field select[aria-invalid="true"] {
  background: #fffafa;
  border-color: var(--pbtco-danger);
}

.pbtco__field-error {
  color: var(--pbtco-danger) !important;
  font-weight: 700 !important;
  margin-top: -2px;
}

.pbtco__error-summary {
  background: var(--pbtco-danger-soft);
  border: 1px solid #d65b52;
  border-radius: 10px;
  color: #721b15;
  margin-bottom: 24px;
  padding: 16px 18px;
}

.pbtco__error-summary:focus {
  outline: 3px solid #a93830;
  outline-offset: 3px;
}

.pbtco__error-summary ul {
  margin: 8px 0 0 20px;
}

.pbtco__advanced {
  background: var(--pbtco-surface);
  border: 1px solid var(--pbtco-border);
  border-radius: 14px;
  margin-top: 28px;
  padding: 0 18px;
}

.pbtco__advanced > summary {
  color: var(--pbtco-accent-dark);
  cursor: pointer;
  font-size: 16px;
  font-weight: 750;
  margin: 0 -18px;
  padding: 17px 18px;
}

.pbtco__advanced[open] > summary {
  border-bottom: 1px solid var(--pbtco-border);
  margin-bottom: 18px;
}

.pbtco__advanced-intro,
.pbtco__field-note {
  margin: 0 0 18px;
}

.pbtco__fieldset--nested {
  padding-bottom: 20px;
}

.pbtco__fieldset--nested + .pbtco__fieldset--nested {
  border-top: 1px solid var(--pbtco-border);
  margin-top: 4px;
  padding-top: 24px;
}

.pbtco__exit-rule {
  background: #fff;
  border: 1px solid var(--pbtco-border);
  border-radius: 11px;
  margin: 0;
  min-width: 0;
  padding: 15px;
}

.pbtco__fieldset .pbtco__exit-rule > legend {
  float: none;
  font-size: 15px;
  font-weight: 750;
  line-height: 1.45;
  margin: 0 0 13px;
  padding: 0 4px;
  width: auto;
}

.pbtco__exit-rule .pbtco__field + .pbtco__field {
  margin-top: 16px;
}

.pbtco__actions {
  align-items: center;
  border-top: 1px solid var(--pbtco-border);
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 28px;
  padding-top: 24px;
}

.pbtco__button {
  appearance: none;
  background: var(--pbtco-accent);
  border: 1px solid var(--pbtco-accent);
  border-radius: 10px;
  color: #fff;
  cursor: pointer;
  font-size: 16px;
  font-weight: 760;
  min-height: 50px;
  padding: 12px 18px;
}

.pbtco__button:hover {
  background: var(--pbtco-accent-dark);
  border-color: var(--pbtco-accent-dark);
}

.pbtco__button--secondary {
  background: #fff;
  border-color: #899d98;
  color: var(--pbtco-ink);
}

.pbtco__button--secondary:hover {
  background: var(--pbtco-surface);
  border-color: #627772;
}

.pbtco__results {
  background: #fff;
  box-shadow: 0 16px 42px rgba(21, 52, 45, 0.09);
  margin-top: 20px;
  padding: 28px;
}

.pbtco__results:focus {
  outline: 3px solid var(--pbtco-accent-dark);
  outline-offset: 4px;
}

.pbtco__result-kicker {
  color: var(--pbtco-muted);
  font-size: 14px;
  font-weight: 700;
  margin: 0 0 5px;
}

.pbtco__verdict {
  color: var(--pbtco-accent-dark);
  font-size: clamp(26px, 5vw, 38px);
  letter-spacing: -0.035em;
  line-height: 1.24;
  margin: 0;
}

.pbtco__results[data-pbtco-state="conditional"] .pbtco__verdict {
  color: var(--pbtco-warning);
}

.pbtco__result-summary {
  color: var(--pbtco-muted);
  font-size: 15px;
  line-height: 1.65;
  margin: 9px 0 20px;
}

.pbtco__warning,
.pbtco__card-warning {
  background: var(--pbtco-warning-soft);
  border-left: 4px solid #b66a08;
  border-radius: 8px;
  color: var(--pbtco-warning);
  font-size: 14px;
  font-weight: 650;
  line-height: 1.6;
  padding: 12px 14px;
}

.pbtco__warning {
  margin: 0 0 18px;
}

.pbtco__cards {
  display: grid;
  gap: 12px;
  grid-template-columns: minmax(0, 1fr);
}

.pbtco__card {
  background: var(--pbtco-surface);
  border: 1px solid var(--pbtco-border);
  border-radius: 13px;
  min-width: 0;
  padding: 17px;
}

.pbtco__card--selected {
  border-color: var(--pbtco-accent);
  box-shadow: inset 0 0 0 1px var(--pbtco-accent);
}

.pbtco__card h3 {
  font-size: 18px;
  margin: 0 0 13px;
}

.pbtco__card h3 span {
  color: var(--pbtco-muted);
  font-size: 13px;
  font-weight: 550;
}

.pbtco__card > p:not(.pbtco__card-warning) {
  align-items: flex-start;
  display: flex;
  gap: 8px;
  justify-content: space-between;
  margin: 8px 0;
}

.pbtco__card > p > span {
  color: var(--pbtco-muted);
  font-size: 13px;
  line-height: 1.45;
}

.pbtco__card > p > strong {
  font-size: 15px;
  line-height: 1.45;
  text-align: right;
}

.pbtco__card-verdict {
  border-top: 1px solid var(--pbtco-border);
  color: var(--pbtco-accent-dark);
  display: block !important;
  font-size: 14px;
  font-weight: 750;
  line-height: 1.5;
  margin-top: 13px !important;
  padding-top: 12px;
}

.pbtco__card[data-pbtco-state="conditional"] .pbtco__card-verdict {
  color: var(--pbtco-warning);
}

.pbtco__card-warning {
  margin: 11px 0 0;
}

.pbtco__break-even,
.pbtco__details,
.pbtco__next {
  border-top: 1px solid var(--pbtco-border);
  margin-top: 24px;
  padding-top: 22px;
}

.pbtco__break-even h3,
.pbtco__next > strong {
  display: block;
  font-size: 18px;
  margin: 0 0 8px;
}

.pbtco__break-even p {
  color: var(--pbtco-muted);
  line-height: 1.6;
  margin: 0;
}

.pbtco__result-routes .pbtco__next p {
  line-height: 1.65;
  margin: 0 0 10px;
}

.pbtco__result-routes .pbtco__warning {
  margin: 10px 0;
}

.pbtco__break-even ul {
  margin: 10px 0 0 20px;
}

.pbtco__crossing-details {
  margin-top: 11px;
}

.pbtco__crossing-details > summary {
  color: var(--pbtco-accent-dark);
  cursor: pointer;
  font-size: 14px;
  font-weight: 750;
}

.pbtco__crossing-details > summary,
.pbtco__details > summary {
  align-items: center;
  color: var(--pbtco-accent-dark);
  cursor: pointer;
  display: flex;
  font-size: 15px;
  font-weight: 750;
  min-height: 44px;
  padding: 9px 2px;
}

.pbtco__crossing-details > summary {
  font-size: 14px;
}

.pbtco__breakdown {
  margin-top: 16px;
}

.pbtco__breakdown-intro {
  background: var(--pbtco-accent-soft);
  border-radius: 9px;
  color: #174f46;
  font-size: 13px;
  line-height: 1.6;
  margin: 0 0 18px;
  padding: 12px 14px;
}

.pbtco__breakdown-group + .pbtco__breakdown-group {
  margin-top: 22px;
}

.pbtco__breakdown-group h4 {
  font-size: 16px;
  margin: 0 0 8px;
}

.pbtco__breakdown-list {
  margin: 0;
}

.pbtco__breakdown-row {
  align-items: flex-start;
  border-bottom: 1px solid var(--pbtco-border);
  display: flex;
  gap: 14px;
  justify-content: space-between;
  padding: 10px 0;
}

.pbtco__breakdown-row dt,
.pbtco__breakdown-row dd {
  font-size: 14px;
  line-height: 1.5;
  margin: 0;
}

.pbtco__breakdown-row dt {
  color: var(--pbtco-muted);
  flex: 1 1 auto;
}

.pbtco__breakdown-row dd {
  flex: 0 1 56%;
  font-weight: 700;
  overflow-wrap: anywhere;
  text-align: right;
}

.pbtco__breakdown-row dd small {
  color: var(--pbtco-muted);
  display: block;
  font-size: 12px;
  font-weight: 400;
  margin-top: 2px;
}

.pbtco__breakdown-row--total {
  border-bottom: 0;
  color: var(--pbtco-ink);
  font-weight: 800;
  padding-top: 13px;
}

.pbtco__breakdown-row--total dt,
.pbtco__breakdown-row--total dd {
  color: inherit;
  font-size: 16px;
}

.pbtco__cta {
  align-items: center;
  border: 1px solid var(--pbtco-accent);
  border-radius: 10px;
  color: var(--pbtco-accent-dark);
  display: inline-flex;
  font-size: 15px;
  font-weight: 750;
  margin-top: 5px;
  min-height: 48px;
  padding: 11px 15px;
  text-decoration: none;
}

.pbtco__cta:hover {
  background: var(--pbtco-accent-soft);
}

.pbtco__notice {
  color: var(--pbtco-muted);
  font-size: 13px;
  line-height: 1.65;
  margin: 14px 4px 0;
}

.pbtco__ledger .pbtco__field {
  max-width: 720px;
}

.pbtco__ledger-card {
  background: linear-gradient(135deg, #f3faf8 0%, #fff 78%);
  border: 1px solid var(--pbtco-border);
  border-radius: 14px;
  margin-top: 18px;
  padding: 20px;
}

.pbtco__ledger-kicker {
  color: var(--pbtco-accent-dark);
  font-size: 13px;
  font-weight: 750;
  margin: 0 0 6px;
}

.pbtco__ledger-card h3 {
  font-size: 19px;
  line-height: 1.45;
  margin: 0 0 16px;
}

.pbtco__ledger-metrics {
  display: grid;
  gap: 10px;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  margin: 0;
}

.pbtco__ledger-metrics div {
  background: #fff;
  border: 1px solid var(--pbtco-border);
  border-radius: 10px;
  min-width: 0;
  padding: 12px;
}

.pbtco__ledger-metrics dt {
  color: var(--pbtco-muted);
  font-size: 12px;
  line-height: 1.4;
}

.pbtco__ledger-metrics dd {
  font-size: 17px;
  font-weight: 780;
  line-height: 1.4;
  margin: 4px 0 0;
  overflow-wrap: anywhere;
}

.pbtco__ledger-delta {
  background: var(--pbtco-warning-soft);
  border-radius: 10px;
  color: var(--pbtco-warning);
  font-weight: 700;
  line-height: 1.55;
  margin: 14px 0 0;
  padding: 12px 14px;
}

.pbtco__ledger-promo {
  margin: 14px 0 0;
  padding: 10px 12px;
  border-left: 4px solid #d97706;
  border-radius: 0 8px 8px 0;
  background: #fff7ed;
  color: #9a3412;
  font-weight: 700;
}

.pbtco__ledger-card[data-pbtco-ledger-state="equal"] .pbtco__ledger-delta,
.pbtco__ledger-card[data-pbtco-ledger-state="below"] .pbtco__ledger-delta {
  background: var(--pbtco-accent-soft);
  color: var(--pbtco-accent-dark);
}

.pbtco__ledger-note {
  color: var(--pbtco-muted);
  font-size: 13px;
  line-height: 1.6;
  margin: 12px 0 0;
}

.pbtco__ledger-actions {
  align-items: center;
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  margin-top: 14px;
}

.pbtco__ledger-actions a {
  color: var(--pbtco-accent-dark);
  font-size: 14px;
  font-weight: 700;
  text-underline-offset: 3px;
}

.pbtco__ledger-list {
  background: #fff;
  border: 1px solid var(--pbtco-border);
  border-radius: 14px;
  margin-top: 22px;
  padding: 0 18px;
}

.pbtco__ledger-list > summary {
  color: var(--pbtco-accent-dark);
  cursor: pointer;
  font-size: 16px;
  font-weight: 750;
  line-height: 1.5;
  margin: 0 -18px;
  min-height: 48px;
  padding: 14px 18px;
}

.pbtco__ledger-list[open] {
  padding-bottom: 18px;
}

.pbtco__ledger-list[open] > summary {
  border-bottom: 1px solid var(--pbtco-border);
  margin-bottom: 16px;
}

.pbtco__ledger-list > summary:focus-visible,
.pbtco__ledger-table-wrap:focus-visible {
  outline: 3px solid #76cdbd;
  outline-offset: 2px;
}

.pbtco__ledger-table-wrap {
  border: 1px solid var(--pbtco-border);
  border-radius: 10px;
  max-width: 100%;
  overflow-x: auto;
  overscroll-behavior-inline: contain;
  -webkit-overflow-scrolling: touch;
}

.pbtco__ledger-table {
  border-collapse: collapse;
  font-size: 13px;
  line-height: 1.5;
  margin: 0;
  min-width: 1120px;
  width: 100%;
}

.pbtco__ledger-table caption {
  color: var(--pbtco-muted);
  font-weight: 650;
  padding: 12px 14px;
  text-align: left;
}

.pbtco__ledger-table th,
.pbtco__ledger-table td {
  border-bottom: 1px solid var(--pbtco-border);
  padding: 11px 12px;
  text-align: left;
  vertical-align: top;
}

.pbtco__ledger-table thead th {
  background: var(--pbtco-surface);
  color: var(--pbtco-ink);
  font-weight: 750;
  white-space: nowrap;
}

.pbtco__ledger-table tbody th {
  color: var(--pbtco-accent-dark);
  min-width: 155px;
}

.pbtco__ledger-table tbody tr:last-child th,
.pbtco__ledger-table tbody tr:last-child td {
  border-bottom: 0;
}

.pbtco__ledger-table a {
  color: var(--pbtco-accent-dark);
  font-weight: 700;
  text-underline-offset: 3px;
}

.pbtco__official-comparison {
  background: #f8fbfa;
  border: 1px solid var(--pbtco-border);
  border-radius: 14px;
  margin-top: 20px;
  padding: 20px;
}

.pbtco__official-comparison h3 {
  font-size: 20px;
  line-height: 1.45;
  margin: 6px 0 8px;
}

.pbtco__official-comparison > p:not(.pbtco__result-kicker):not(.pbtco__warning) {
  line-height: 1.65;
  margin: 0;
}

.pbtco__official-comparison[data-pbtco-official-state="above"] {
  border-color: #e1b578;
}

.pbtco__official-comparison[data-pbtco-official-state="below"],
.pbtco__official-comparison[data-pbtco-official-state="equal"] {
  border-color: #9fcfc5;
}

@media (max-width: 560px) {
  .pbtco__ledger-metrics {
    grid-template-columns: minmax(0, 1fr);
  }

  .pbtco__ledger-actions {
    align-items: stretch;
    flex-direction: column;
  }

  .pbtco__ledger-actions .pbtco__button {
    width: 100%;
  }
}

@media (min-width: 640px) {
  .pbtco__grid--three,
  .pbtco__cards {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .pbtco__actions .pbtco__button {
    width: auto;
  }
}

@media (min-width: 900px) {
  .pbtco__grid--three,
  .pbtco__cards {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

@media (max-width: 639px) {
  .pbtco {
    margin: 24px 0 32px;
  }

  .pbtco__intro,
  .pbtco__form,
  .pbtco__results {
    border-radius: 14px;
    padding: 18px;
  }

  .pbtco__actions,
  .pbtco__button {
    width: 100%;
  }

  .pbtco__card > p:not(.pbtco__card-warning),
  .pbtco__breakdown-row {
    align-items: flex-start;
    flex-direction: column;
    gap: 3px;
  }

  .pbtco__card > p > strong,
  .pbtco__breakdown-row dd {
    flex-basis: auto;
    text-align: left;
  }
}

@media (prefers-reduced-motion: reduce) {
  .pbtco *,
  .pbtco *::before,
  .pbtco *::after {
    scroll-behavior: auto !important;
    transition: none !important;
  }
}

/* 저그형 대안 안의 '이미 호환 저그를 쓰는 경우' 보조 안내. 주 CTA보다 낮은 위계로 둔다. */
.pbtco__aside {
  margin-top: 18px;
  padding-top: 16px;
  border-top: 1px dashed var(--pbtco-border);
}
.pbtco__aside p { margin: 0 0 8px; }
.pbtco .pbtco__cta--secondary {
  background: transparent;
  color: var(--pbtco-accent-dark);
  border: 1px solid var(--pbtco-accent);
}
