.king-shop {
  --shop-ink: #18243a; --shop-muted: #56647a; --shop-surface: #fff; --shop-soft: #f5f7fa;
  --shop-line: #dce2eb; --shop-accent: #2459c4; --shop-tint: #edf3ff; --shop-radius: 18px;
  color: var(--shop-ink); font-size: 15px; line-height: 1.7; isolation: isolate;
}
[data-theme="dark"] .king-shop {
  --shop-ink: #e7ecf5; --shop-muted: #b2bdd0; --shop-surface: #202735; --shop-soft: #181f2b;
  --shop-line: #3b465a; --shop-accent: #a4c1ff; --shop-tint: #263650;
}
#king-shop h2, #king-shop h3 {color: var(--shop-ink); margin: 0; padding: 0; border: 0; line-height: 1.35;}
#king-shop p {margin: 0;}
#king-shop a {text-decoration: none; border: 0;}
.king-shop button, .king-shop a { -webkit-tap-highlight-color: transparent; }
body:has(#king-shop) #waifu, body:has(#king-shop) #waifu-toggle {display: none!important;}
.king-shop button {font: inherit; cursor: pointer;}
.king-shop :is(a,button):focus-visible {outline: 3px solid var(--shop-accent); outline-offset: 4px;}
.shop-eyebrow {color: var(--shop-accent); font-size: 12px; font-weight: 700; letter-spacing: .08em;}
.shop-intro {padding: 16px 0 32px;}
#king-shop .shop-intro h2 {font-size: clamp(27px, 3.4vw, 40px); letter-spacing: -.04em; margin: 12px 0 18px;}
.shop-intro > p {color: var(--shop-muted);}
.shop-flow {display: flex; flex-wrap: wrap; gap: 10px 26px; margin-top: 26px; font-size: 13px; color: var(--shop-muted);}
.shop-flow b {color: var(--shop-accent); margin-right: 6px; font-variant-numeric: tabular-nums;}
.shop-nav {display: flex; flex-wrap: wrap; gap: 8px; padding: 16px 0; border-top: 1px solid var(--shop-line); border-bottom: 1px solid var(--shop-line); margin-bottom: 28px;}
#king-shop .shop-nav a {padding: 10px 14px; background: var(--shop-soft); border-radius: 8px; color: var(--shop-ink); font-size: 13px; font-weight: 600;}
#king-shop .shop-nav a:hover {background: var(--shop-tint); color: var(--shop-accent);}
.shop-nav span {color: var(--shop-accent); margin-left: 5px;}
.king-shop section[id] {scroll-margin-top: 90px;}
.shop-shared {display: grid; grid-template-columns: minmax(0,1fr) 240px; gap: 30px; padding: 32px; border: 1px solid var(--shop-line); border-top: 4px solid var(--shop-accent); border-radius: var(--shop-radius); background: var(--shop-soft);}
#king-shop .shop-shared h2 {font-size: clamp(22px,2.6vw,30px); margin: 14px 0;}
.shop-shared-subtitle, .shop-shared-note {color: var(--shop-muted);}
#king-shop .shop-shared-note {font-size: 12px; margin-top: 20px;}
.shop-shared-purchase {display: flex; flex-direction: column; align-items: stretch; justify-content: center; text-align: center; border-left: 1px solid var(--shop-line); padding-left: 28px; color: var(--shop-accent); font-size: 13px;}
.shop-infinity {font-size: 72px; line-height: 1; font-weight: 600;}
.shop-shared-purchase .shop-price {justify-content: center; margin: 15px 0;}
#king-shop .shop-billing-note {color: var(--shop-muted); font-size: 12px; margin: 18px 2px 42px;}
.shop-route {margin: 0 0 48px; --shop-accent:#2459c4; --shop-tint:#edf3ff;}
.shop-route-b {--shop-accent:#087456; --shop-tint:#eaf7f2;}
.shop-route-c {--shop-accent:#6741b5; --shop-tint:#f2eefb;}
[data-theme="dark"] .shop-route {--shop-accent:#a4c1ff; --shop-tint:#263650;}
[data-theme="dark"] .shop-route-b {--shop-accent:#7bd9b9; --shop-tint:#193b34;}
[data-theme="dark"] .shop-route-c {--shop-accent:#c5adff; --shop-tint:#342b49;}
.shop-route-header {display: flex; align-items: center; gap: 20px; margin-bottom: 22px;}
.shop-route-letter {flex: 0 0 64px; height: 76px; display: grid; place-items: center; border-radius: 12px; background: var(--shop-tint); color: var(--shop-accent); font: 700 46px/1 Georgia,serif;}
#king-shop .shop-route-header h2 {font-size: 26px; margin: 4px 0;}
.shop-route-header div > p:last-child {color: var(--shop-muted); font-size: 13px;}
.shop-plans {display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 14px;}
.shop-plan {display: flex; flex-direction: column; padding: 22px; border: 1px solid var(--shop-line); border-radius: 12px; background: var(--shop-surface);}
.shop-plan-top {display: flex; flex-wrap: wrap; gap: 8px; align-items: center; justify-content: space-between; font-size: 11px; color: var(--shop-muted); margin-bottom: 14px; min-height: 24px;}
.shop-badge {color: var(--shop-accent); background: var(--shop-tint); padding: 2px 7px; border-radius: 4px; font-weight: 700;}
#king-shop .shop-plan h3 {font-size: 19px;}
.shop-price {display: flex; align-items: baseline; gap: 4px; color: var(--shop-ink); margin: 18px 0;}
.shop-price > span {font-size: 17px; font-weight: 600;}
.shop-price strong {font-size: 39px; font-weight: 750; letter-spacing: -.05em; line-height: 1.2; font-variant-numeric: tabular-nums;}
.shop-price small {font-size: 12px; color: var(--shop-muted); font-weight: 400; margin-left: 3px;}
.shop-quota {display: flex; align-items: baseline; justify-content: space-between; gap: 8px; background: var(--shop-tint); color: var(--shop-accent); padding: 10px 12px; border-radius: 7px;}
.shop-quota strong {font-size: 24px; line-height: 1.3; letter-spacing: -.03em;}
.shop-quota small {font-size: 14px; margin-left: 3px;}
.shop-quota > span {font-size: 11px; white-space: nowrap;}
#king-shop .shop-period {font-size: 11px; color: var(--shop-muted); margin: 8px 0 4px;}
#king-shop .shop-features {list-style: none; padding: 0; margin: 15px 0 22px; font-size: 13px; color: var(--shop-muted);}
#king-shop .shop-features li {padding-left: 15px; margin: 6px 0; position: relative;}
.shop-features li::before {content: ""; width: 4px; height: 4px; border-radius: 50%; background: var(--shop-accent); position: absolute; top: .75em; left: 0;}
.shop-buy {display: flex; align-items: center; justify-content: space-between; gap: 8px; border: 1px solid var(--shop-accent); background: var(--shop-accent); color: #fff; border-radius: 8px; padding: 10px 14px; min-height: 44px; width: 100%; font-weight: 600; font-size: 13px; margin-top: auto;}
.shop-buy:hover {filter: brightness(.92);}
[data-theme="dark"] .shop-buy {color:#152033;}
.shop-buy span {font-size: 19px; font-weight: 400;}
.shop-service {margin-top: 14px; padding: 16px 20px; display: flex; align-items: baseline; gap: 18px; background: var(--shop-soft); border-radius: 8px; font-size: 12px; color: var(--shop-muted);}
.shop-service strong {color: var(--shop-accent); white-space: nowrap;}
.shop-section-title {margin-bottom: 20px;}
#king-shop .shop-section-title h2 {font-size: 25px; margin-top: 6px;}
.shop-extras-grid {display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 14px;}
.shop-extra {display: flex; flex-direction: column; padding: 22px; border: 1px solid var(--shop-line); border-radius: 12px;}
#king-shop .shop-extra h3 {font-size: 18px;}
#king-shop .shop-extra > p {color: var(--shop-muted); font-size: 13px; margin-bottom: 24px;}
.shop-extra .shop-price strong {font-size: 30px;}
.shop-extra .shop-buy {background: var(--shop-surface); color: var(--shop-accent);}
.shop-notes {display: grid; grid-template-columns: 1fr 1fr; gap: 28px; margin-top: 36px; padding: 26px 0; border-top: 1px solid var(--shop-line);}
#king-shop .shop-notes h3 {font-size: 15px; margin-bottom: 8px;}
.shop-notes p {color: var(--shop-muted); font-size: 12px;}
.shop-dialog {color: var(--shop-ink); background: var(--shop-surface); width: min(450px,calc(100vw - 28px)); max-height: calc(100dvh - 32px); box-sizing: border-box; padding: 28px; margin: auto; overflow-y: auto; border: 1px solid var(--shop-line); border-radius: 18px; box-shadow: 0 24px 80px #0004; text-align: center;}
.shop-dialog::backdrop {background: #0e172a99;}
.shop-dialog-close {position: absolute; top: 5px; right: 5px; width: 44px; height: 44px; border: 0; background: transparent; color: var(--shop-muted); font-size: 27px!important;}
#king-shop .shop-dialog h2 {font-size: 21px; margin: 12px 0 8px; padding-right: 10px;}
#shop-pay-description {color: var(--shop-muted); font-size: 12px;}
#king-shop .shop-pay-amount {font-size: 35px; font-weight: 750; color: var(--shop-accent); margin: 10px 0;}
#king-shop .shop-qr {display: block; max-width: 100%; width: 220px; height: auto; margin: 0 auto; border-radius: 6px;}
.shop-qr-wrap {padding: 10px; border-radius: 10px; background: #fff; margin: 12px 0 18px;}
#shop-pay-help, #shop-pay-consult {font-size: 12px; color: var(--shop-muted);}
.shop-dialog-actions {display: grid; grid-template-columns: 1fr 1fr; align-items: center; gap: 8px; margin-top: 18px;}
.shop-dialog-actions .shop-buy {justify-content: center; margin: 0;}
#king-shop .shop-dialog-actions a {font-size: 12px; color: var(--shop-accent); padding: 10px 4px;}
.shop-copy {background: transparent; border: 0; color: var(--shop-muted); text-decoration: underline; min-height: 44px; margin-top: 5px;}
.shop-feedback {font-size: 12px; color: var(--shop-muted);}
.king-shop [hidden] {display:none!important;}
@media(min-width:1250px) { .shop-route-b .shop-plans {grid-template-columns:repeat(3,minmax(0,1fr));} }
@media(max-width:760px) {
  .shop-plans,.shop-extras-grid {grid-template-columns:repeat(2,minmax(0,1fr));}
  .shop-shared {grid-template-columns:minmax(0,1fr) 190px; padding:22px; gap:20px;}
  .shop-shared-purchase {padding-left:18px;}
  .shop-plan {padding:18px;}
  .shop-service {display:block;} .shop-service strong {display:block; margin-bottom:5px;}
}
@media(max-width:500px) {
  .shop-intro {padding-top:4px;} .shop-flow {gap:8px 14px;font-size:11px;}
  .shop-nav {gap:6px;} #king-shop .shop-nav a {font-size:12px;padding:10px;}
  .shop-shared {grid-template-columns:1fr; padding:22px;}
  .shop-shared-purchase {border-left:0;border-top:1px solid var(--shop-line);padding:20px 0 0;}
  .shop-infinity {display:none;}
  .shop-plans,.shop-extras-grid {grid-template-columns:1fr;}
  .shop-plan {padding:22px;}
  .shop-plan .shop-price {margin:14px 0;}
  .shop-route-letter {flex-basis:50px;height:66px;font-size:38px;}
  .shop-route-header {gap:14px;}
  #king-shop .shop-route-header h2 {font-size:23px;}
  .shop-route-header .shop-eyebrow {font-size:10px;}
  .shop-notes {grid-template-columns:1fr;gap:20px;}
  .shop-dialog {padding:24px 20px;}
}
