.reserve-page { color: #1d1d1f; background: #fff; font-family: "SF Pro Text", "Noto Sans KR", "Helvetica Neue", Arial, sans-serif; }
.reserve-inner { width: min(1120px, calc(100% - 64px)); margin-inline: auto; }
.reserve-hero { padding-block: 84px 56px; }
.reserve-source { margin: 0 0 20px; font-size: 14px; }
.reserve-page a { color: #0066cc; text-underline-offset: 4px; }
.reserve-page a:hover { text-decoration: underline; }
.reserve-page h1 { max-width: 960px; margin: 0; font-size: clamp(36px, 4.6vw, 64px); font-weight: 600; line-height: 1.12; letter-spacing: -0.035em; text-wrap: balance; }
.reserve-intro { max-width: 740px; margin: 24px 0; font-size: 21px; line-height: 1.6; color: #55555b; word-break: keep-all; }
.reserve-section { padding-block: 72px; }
.reserve-overview, .reserve-comparison { background: #f5f5f7; }
.reserve-page h2 { font-size: clamp(26px, 3vw, 38px); line-height: 1.2; letter-spacing: -0.025em; font-weight: 600; margin: 0 0 18px; text-wrap: balance; }
.reserve-page h3 { font-size: 19px; font-weight: 600; line-height: 1.45; margin: 0 0 12px; }
.reserve-lead { max-width: 760px; font-size: 17px; line-height: 1.7; color: #55555b; margin: 0 0 30px; }
.reserve-caption { font-size: 13px; line-height: 1.7; color: #636369; margin: 12px 0 0; }
.reserve-group-summary { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 28px; margin: 40px 0 20px; }
.reserve-group { --reserve-color: #125a89; }
.reserve-group--traditional { --reserve-color: #80c3dd; }
.reserve-group--nontraditional { --reserve-color: #d8803c; }
.reserve-dot { display: inline-block; width: 10px; height: 10px; border-radius: 50%; background: var(--reserve-color); margin-right: 8px; }
.reserve-group h3 { font-size: 15px; }
.reserve-group-values { display: flex; align-items: baseline; gap: 14px; margin: 0; font-size: 24px; font-variant-numeric: tabular-nums; }
.reserve-group-values > span:first-child { color: #636369; }
.reserve-group-values strong { font-size: 38px; font-weight: 600; letter-spacing: -0.035em; }
.reserve-arrow { font-size: 20px; color: #86868b; }
.reserve-chart { width: 100%; height: 430px; min-width: 0; }
.reserve-chart--overview { height: 380px; }
.reserve-toggle { display: inline-flex; gap: 10px; align-items: center; min-height: 44px; font-size: 15px; cursor: pointer; }
.reserve-toggle input { width: 18px; height: 18px; accent-color: #0071e3; }
.reserve-ranking { display: grid; grid-template-columns: 1fr 1.7fr; gap: 60px; margin-top: 40px; align-items: start; }
.reserve-total { padding-top: 38px; }
.reserve-total strong { font-size: clamp(28px, 3vw, 42px); font-weight: 600; letter-spacing: -0.025em; }
.reserve-table-wrap { min-width: 0; overflow-x: auto; }
.reserve-table { border-collapse: collapse; width: 100%; font-size: 14px; font-variant-numeric: tabular-nums; }
.reserve-table caption { text-align: left; font-size: 19px; font-weight: 600; margin-bottom: 16px; }
.reserve-table th, .reserve-table td { padding: 12px 10px; border-bottom: 1px solid #dcdce0; text-align: right; white-space: nowrap; }
.reserve-table th:first-child { text-align: left; padding-left: 0; }
.reserve-table thead th { font-weight: 500; color: #636369; font-size: 12px; }
.reserve-table tbody th { font-weight: 500; }
.reserve-code { font-size: 11px; color: #636369; margin-left: 6px; }
.reserve-controls { display: flex; gap: 22px; flex-wrap: wrap; }
.reserve-controls label { display: flex; flex-direction: column; gap: 8px; font-size: 13px; color: #55555b; }
.reserve-controls select { border: 1px solid #86868b; border-radius: 8px; background: #fff; color: #1d1d1f; padding: 10px 36px 10px 14px; font: inherit; font-size: 16px; min-height: 46px; }
.reserve-range { margin: 28px 0 0; font-size: 17px; font-weight: 600; }
.reserve-compare-layout { display: grid; grid-template-columns: 1fr 1fr; gap: 32px; align-items: center; }
.reserve-chart--changes { height: 430px; }
.reserve-change-table { font-size: 13px; }
.reserve-change-table td:last-child { font-weight: 600; }
.reserve-methods { display: grid; grid-template-columns: 1fr 1fr; gap: 36px 60px; margin-top: 36px; }
.reserve-methods p, .reserve-claim p { font-size: 15px; line-height: 1.85; color: #55555b; margin: 0; word-break: keep-all; }
.reserve-imputed { margin: 28px 0; color: #636369; font-size: 14px; line-height: 1.6; }
.reserve-claim { padding: 28px 32px; background: #f5f5f7; border-radius: 12px; margin: 40px 0; }
.reserve-claim a { display: inline-block; margin-top: 16px; font-size: 14px; }
.reserve-sources-title { margin-top: 36px !important; }
.reserve-sources { padding-left: 20px; font-size: 14px; line-height: 2; }
.reserve-download { display: inline-block; margin: 24px 0; padding: 12px 20px; border: 1px solid #0066cc; border-radius: 999px; font-size: 14px; }
.reserve-data summary { padding: 18px 0; cursor: pointer; font-weight: 600; }
.reserve-data .reserve-table-wrap { max-height: 540px; margin-top: 16px; }
.reserve-data thead { position: sticky; top: 0; background: #fff; }
.reserve-page :focus-visible { outline: 3px solid #0071e3; outline-offset: 4px; }
@media (max-width: 760px) {
  .reserve-inner { width: calc(100% - 36px); }
  .reserve-hero { padding-block: 48px 36px; }
  .reserve-intro { font-size: 18px; }
  .reserve-section { padding-block: 46px; }
  .reserve-group-summary { gap: 20px; grid-template-columns: 1fr; margin-block: 28px 12px; }
  .reserve-group { display: grid; grid-template-columns: 1fr auto; align-items: center; }
  .reserve-group h3 { margin: 0; font-size: 14px; }
  .reserve-group-values { gap: 10px; font-size: 18px; }
  .reserve-group-values strong { font-size: 28px; }
  .reserve-group .reserve-caption { grid-column: 1 / -1; font-size: 11px; margin-top: 2px; }
  .reserve-chart { height: 390px; }
  .reserve-chart--overview { height: 300px; }
  .reserve-ranking, .reserve-compare-layout, .reserve-methods { grid-template-columns: 1fr; gap: 28px; }
  .reserve-ranking { margin-top: 12px; }
  .reserve-total { padding-top: 0; }
  .reserve-chart--changes { height: 350px; }
  .reserve-controls { gap: 14px; }
  .reserve-controls label { flex: 1; min-width: 0; }
  .reserve-controls select { width: 100%; font-size: 14px; padding-inline: 10px 24px; }
  .reserve-claim { padding: 24px; }
  .reserve-table { font-size: 12px; }
  .reserve-table td, .reserve-table th { padding-inline: 7px; }
}
.reserve-page:lang(ja) .reserve-intro,
.reserve-page:lang(ja) .reserve-methods p,
.reserve-page:lang(ja) .reserve-claim p { word-break: normal; }
.reserve-attribution { border-bottom: 1px solid #e5e5e7; }
.reserve-attribution-composition { display: grid; grid-template-columns: 1fr 1fr; gap: 48px; align-items: center; margin: 42px 0; }
.reserve-composition-insight { font-size: 23px; line-height: 1.6; font-weight: 500; text-wrap: pretty; }
.reserve-composition-bar { display: flex; height: 44px; margin-top: 24px; border-radius: 5px; overflow: hidden; }
.reserve-composition-segment { flex-basis: 0; min-width: 0; overflow: hidden; display: flex; align-items: center; justify-content: center; color: #fff; font-size: 12px; font-weight: 600; }
.reserve-currency--OTHC { background: #636369; }
.reserve-currency--CNY { background: #bc573a; }
.reserve-currency--AUD { background: #527a96; }
.reserve-currency--CAD { background: #9b692b; }
.reserve-currency--CHF { background: #a34880; }
.reserve-currency-dot { display: inline-block; width: 9px; height: 9px; border-radius: 50%; margin-right: 8px; }
.reserve-composition-table thead th { white-space: normal; }
.reserve-growth-bridge { background: #f5f5f7; padding: 32px; border-radius: 12px; margin: 36px 0 48px; }
.reserve-growth-periods { display: grid; grid-template-columns: 1fr 1fr; gap: 32px; margin: 28px 0; }
.reserve-growth-period { border-top: 3px solid #d8803c; padding-top: 18px; }
.reserve-growth-period--early { border-top: 3px dashed #86868b; }
.reserve-growth-period > p:first-child { font-size: 14px; margin: 0 0 12px; }
.reserve-growth-period > strong { font-size: 36px; font-weight: 600; letter-spacing: -0.025em; }
.reserve-bound { font-size: 18px; line-height: 1.7; margin: 28px 0 14px; font-weight: 500; text-wrap: pretty; }
.reserve-bound-method summary { cursor: pointer; font-size: 14px; padding: 8px 0; }
.reserve-attribution-compare-title { font-size: 26px !important; }
.reserve-contribution-controls { display: flex; align-items: end; flex-wrap: wrap; gap: 20px 28px; }
.reserve-contribution-controls > .reserve-caption { margin-bottom: 10px; }
.reserve-contribution-total { margin: 0 0 0 auto; }
.reserve-contribution-total span { display: block; color: #636369; font-size: 13px; }
.reserve-contribution-total strong { font-size: 32px; font-weight: 600; font-variant-numeric: tabular-nums; }
.reserve-chart--contribution { height: 320px; margin-top: 24px; }
.reserve-contribution-table td:nth-child(4) { font-weight: 600; }
.reserve-other-explainer { margin-top: 36px; border-left: 3px solid #636369; padding: 8px 0 8px 24px; max-width: 880px; }
.reserve-other-explainer p { font-size: 15px; color: #55555b; line-height: 1.8; margin: 0 0 14px; }
.reserve-other-explainer a { font-size: 14px; }
@media (max-width: 760px) {
  .reserve-attribution-composition { grid-template-columns: 1fr; gap: 24px; margin-block: 28px; }
  .reserve-composition-insight { font-size: 20px; }
  .reserve-growth-bridge { padding: 24px 18px; }
  .reserve-growth-periods { grid-template-columns: 1fr; gap: 24px; }
  .reserve-growth-period > strong { font-size: 30px; }
  .reserve-bound { font-size: 16px; }
  .reserve-contribution-total { margin-left: 0; width: 100%; }
  .reserve-attribution-compare-title { font-size: 23px !important; }
  .reserve-chart--contribution { height: 310px; }
  .reserve-contribution-table thead th { white-space: normal; }
  .reserve-other-explainer { padding-left: 16px; }
}
