.pricing-shell {padding:0!important}
.pricing-shell *, .pricing-shell *::before, .pricing-shell *::after {box-sizing:border-box}
.pricing-page {
  --pp-surface:#fff; --pp-soft:#f5f7fa; --pp-line:#dce2e9; --pp-ink:#18232e;
  --pp-muted:#586776; --pp-accent:#275ec2; --pp-accent-soft:#eff4fd;
  color:var(--pp-ink); max-width:1280px; margin:0 auto; padding:38px 28px 80px;
}
body.dark-theme .pricing-page {
  --pp-surface:#161a20; --pp-soft:#202630; --pp-line:#35404e; --pp-ink:#edf1f7;
  --pp-muted:#b0bccb; --pp-accent:#94b8ff; --pp-accent-soft:#202e46;
}
.pricing-page * {box-sizing:border-box}
.pricing-page [hidden] {display:none!important}
.pricing-hero {max-width:800px; margin:0 auto 32px; text-align:center}
.pricing-eyebrow {margin:0 0 12px; color:var(--pp-accent); font-size:13px; font-weight:700; letter-spacing:.04em}
.pricing-hero h1 {font-size:clamp(28px,3vw,42px); line-height:1.3; letter-spacing:-.045em; margin:0 0 16px; white-space:pre-line; word-break:keep-all}
.pricing-intro {font-size:16px; line-height:1.7; color:var(--pp-muted); margin:0}
.launch-notice {display:flex; gap:6px 12px; flex-wrap:wrap; align-items:baseline; justify-content:center; padding:16px 20px; border:1px solid var(--pp-line); border-radius:12px; background:var(--pp-soft); margin-bottom:28px; font-size:13px; line-height:1.7; color:var(--pp-muted); text-align:center}
.launch-notice strong {color:var(--pp-ink); white-space:nowrap}
.pricing-cards {display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:14px}
.pricing-card {padding:24px 20px; border:1px solid var(--pp-line); background:var(--pp-surface); border-radius:12px; min-width:0; display:flex; flex-direction:column}
.pricing-card.featured {border-color:var(--pp-accent); box-shadow:0 0 0 1px var(--pp-accent)}
.plan-heading {min-height:32px; display:flex; align-items:center; justify-content:space-between; gap:8px; flex-wrap:wrap}
.plan-heading h2 {font-size:21px; margin:0; letter-spacing:-.025em}
.plan-badge {color:var(--pp-accent); background:var(--pp-accent-soft); border-radius:4px; padding:4px 6px; font-size:11px; font-weight:600}
.plan-target {min-height:48px; color:var(--pp-muted); font-size:13px; line-height:1.6; margin:12px 0 22px}
.plan-price {display:flex; align-items:baseline; flex-wrap:wrap; gap:3px; margin:0; font-size:13px; color:var(--pp-muted)}
.plan-price strong {font-size:clamp(27px,2.6vw,36px); letter-spacing:-.055em; line-height:1.2; color:var(--pp-ink); font-variant-numeric:tabular-nums}
.plan-currency {font-size:18px; color:var(--pp-ink)}
.plan-credits {font-size:13px; color:var(--pp-accent); font-weight:600; margin:14px 0 22px}
.plan-cta {display:flex; justify-content:center; align-items:center; min-height:44px; width:100%; padding:10px 8px; background:var(--pp-ink); color:var(--pp-surface); border:1px solid var(--pp-ink); border-radius:6px; font-family:inherit; font-size:13px; font-weight:600; line-height:1.4; text-align:center; text-decoration:none}
.plan-cta:disabled {background:var(--pp-soft); color:var(--pp-muted); border-color:var(--pp-line); cursor:not-allowed}
.plan-cta[href]:hover {background:var(--pp-accent); border-color:var(--pp-accent)}
.plan-limits {margin:24px 0 0; padding-bottom:18px; border-bottom:1px solid var(--pp-line); font-size:12px}
.plan-limits>div {display:flex; align-items:baseline; justify-content:space-between; gap:8px; margin:0 0 12px}
.plan-limits>div:last-child {margin-bottom:0}
.plan-limits dt {color:var(--pp-muted)}
.plan-limits dd {margin:0; font-weight:600; text-align:right; white-space:nowrap}
.plan-features {list-style:none; padding:0; margin:18px 0 0; font-size:12px; line-height:1.7}
.plan-features li {position:relative; padding-left:16px; margin-top:8px}
.plan-features li:before {content:"✓"; position:absolute; left:0; color:var(--pp-accent)}
.pricing-note {font-size:12px; color:var(--pp-muted); line-height:1.8; margin:14px 0 0}
.common-features {display:flex; gap:20px; align-items:baseline; border-block:1px solid var(--pp-line); padding:22px 0; margin:30px 0}
.common-features h2 {font-size:14px; margin:0; white-space:nowrap}
.common-features p {margin:0; color:var(--pp-muted); font-size:13px; line-height:1.8}
.pricing-comparison {border:1px solid var(--pp-line); background:var(--pp-surface); border-radius:8px; overflow:hidden}
.pricing-comparison>summary {cursor:pointer; padding:19px 20px; font-size:15px; font-weight:600}
.pricing-comparison .pricing-note {padding:0 20px 18px; margin:0}
.comparison-scroll {overflow:auto; max-width:100%}
.comparison-table {width:100%; min-width:760px; border-collapse:collapse; font-size:13px; table-layout:fixed}
.comparison-table th,.comparison-table td {padding:14px 16px; border-top:1px solid var(--pp-line); text-align:center; line-height:1.5; overflow-wrap:anywhere}
.comparison-table th:first-child {width:28%; text-align:left}
.comparison-table thead {background:var(--pp-soft)}
.comparison-table tbody th {font-weight:500}
.comparison-table td[data-mode="closed"],.comparison-table td[data-mode="unused"] {color:var(--pp-muted)}
.comparison-table td[data-mode="credit"] {color:var(--pp-accent)}
.pricing-section {margin-top:48px}
.pricing-section h2 {font-size:23px; letter-spacing:-.03em; margin:0 0 10px}
.section-intro {color:var(--pp-muted); font-size:14px; line-height:1.8; margin:0}
.pack-header {display:flex; justify-content:space-between; gap:24px; align-items:end; margin-bottom:22px}
.pack-currency {display:flex; flex-direction:column; gap:8px; font-size:12px; color:var(--pp-muted)}
.pack-currency select {border:1px solid var(--pp-line); border-radius:6px; background:var(--pp-surface); color:var(--pp-ink); padding:10px; min-width:160px; min-height:44px; font:inherit}
.credit-packs {display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:0 24px}
.credit-pack {border-block-start:1px solid var(--pp-line); padding:20px 0}
.credit-pack h3 {margin:0 0 10px; font-size:14px; font-weight:500}
.credit-pack p {font-size:24px; font-weight:700; margin:0 0 10px; font-variant-numeric:tabular-nums; letter-spacing:-.03em}
.credit-pack span {color:var(--pp-muted); font-size:12px}
.credit-explainer {margin-top:24px; background:var(--pp-soft); padding:22px; border-radius:8px}
.credit-explainer h3 {font-size:16px; margin:0 0 10px}
.credit-explainer p {font-size:13px; color:var(--pp-muted); line-height:1.9; margin:8px 0 0}
.pricing-faq details {border-bottom:1px solid var(--pp-line); padding:0}
.pricing-faq summary {cursor:pointer; padding:20px 0; font-size:14px; font-weight:600; line-height:1.6}
.pricing-faq details p {font-size:14px; color:var(--pp-muted); line-height:1.9; max-width:850px; margin:0 0 20px}
.pricing-page :focus-visible {outline:2px solid var(--pp-accent); outline-offset:4px}
.pricing-guide-link, .pricing-guide-link:visited {display:inline-flex; align-items:center; justify-content:center; gap:10px; min-height:44px; margin-top:18px; padding:9px 16px; border:1px solid var(--pp-line); border-radius:24px; color:var(--pp-accent); background:var(--pp-surface); font-size:13px; font-weight:600; line-height:1.6; text-decoration:none}
.pricing-guide-link:hover {background:var(--pp-accent-soft); border-color:var(--pp-accent)}
.pricing-shell .header-content {justify-content:flex-end}
.pricing-shell .container {min-height:calc(100vh - 70px); margin-top:70px!important; padding-inline:20px}
.pricing-shell .service-summary {margin-top:0}
@media(max-width:1200px) {.pricing-cards{grid-template-columns:repeat(2,minmax(0,1fr))}.plan-target{min-height:42px}.plan-price strong{font-size:36px}}
@media(max-width:768px) {.pricing-shell .container{margin-top:54px!important;min-height:calc(100vh - 54px)}}
@media(max-width:640px) {
  .pricing-shell .container {padding:0}
  .pricing-page{padding:26px 16px 60px}.pricing-hero h1{font-size:28px}
  .pricing-cards{grid-template-columns:1fr;gap:16px}.pricing-card{padding:22px}
  .plan-target{min-height:0;margin-bottom:18px}.plan-limits,.plan-features{font-size:13px}
  .common-features{display:block}.common-features h2{margin-bottom:10px}
  .pack-header{align-items:stretch;flex-direction:column;gap:16px}
  .credit-packs{grid-template-columns:repeat(2,minmax(0,1fr));gap:0 16px}
  .credit-pack h3{font-size:12px}.credit-pack p{font-size:22px}.pricing-section{margin-top:36px}
}

.pricing-controls {display:flex; justify-content:space-between; align-items:end; flex-wrap:wrap; gap:18px}
.billing-options {display:flex; flex-wrap:wrap; gap:4px; border:0; margin:0; padding:0; min-width:0}
.billing-options legend {font-size:12px; color:var(--pp-muted); margin-bottom:8px}
.billing-options label {display:flex; align-items:center; gap:8px; min-height:44px; padding:10px 12px; border:1px solid var(--pp-line); border-radius:6px; font-size:13px; cursor:pointer; background:var(--pp-surface)}
.billing-options label:has(input:checked) {border-color:var(--pp-accent); background:var(--pp-accent-soft)}
.billing-options input {margin:0; accent-color:var(--pp-accent)}
.billing-options small {color:var(--pp-accent); font-size:11px}
.billing-explanation {margin:12px 0 22px}
.plan-original {min-height:20px; margin:0 0 8px; display:flex; flex-wrap:wrap; gap:8px; font-size:12px; line-height:1.6}
.plan-original del {color:var(--pp-muted)}
.plan-original span {color:var(--pp-accent); font-weight:600}
.plan-billing {min-height:38px; font-size:12px; line-height:1.6; color:var(--pp-muted); margin:10px 0 0}
@media(max-width:640px) {.pricing-controls{align-items:stretch;flex-direction:column}.pricing-controls .pack-currency{max-width:180px}.billing-options label{padding:10px}.plan-original{min-height:0}.plan-billing{min-height:0}}
