:root{--color-primary: #d85b94;--color-on-primary: #ffffff;--color-surface: #ffffff;--color-bg: #f3f3f1;--color-ink: #182e5c;--color-text: #3e3a39;--color-muted: #8c8c8c;--header-bg: #ffffff;--header-fg: #182e5c;--radius: 8px;--font-family: "Noto Sans JP", system-ui, -apple-system, sans-serif;--border-subtle: #e3e1dc}body{margin:0;font-family:var(--font-family);color:var(--color-text);background:var(--color-bg)}.checkout-shell{max-width:480px;margin:0 auto;padding:24px 16px}.checkout-header{background:var(--header-bg);color:var(--header-fg)}.checkout-header-minimal{border-bottom:3px solid var(--color-primary)}.checkout-header-banded{box-shadow:0 2px 8px #182e5c40}.checkout-header-inner{max-width:1120px;margin:0 auto;padding:14px 24px;display:flex;align-items:center;gap:24px;flex-wrap:wrap}.checkout-logo{font-weight:800;font-size:1.125rem;letter-spacing:.02em;color:inherit}.checkout-header-minimal .checkout-logo{color:var(--color-primary)}.checkout-header-tools{margin-left:auto}.progress-steps{display:flex;align-items:center;gap:0;list-style:none;margin:0;padding:0;flex:1;min-width:280px;justify-content:center}.progress-step{display:flex;align-items:center;gap:8px;font-size:.8125rem;white-space:nowrap}.progress-step+.progress-step:before{content:"";display:block;width:28px;height:2px;margin:0 10px;background:currentColor;opacity:.25}.progress-step-marker{display:inline-flex;align-items:center;justify-content:center;width:26px;height:26px;border-radius:50%;font-size:.8125rem;font-weight:700;border:2px solid currentColor;opacity:.55;flex:none}.progress-step-label{opacity:.65}.progress-step-done .progress-step-marker{opacity:1;border-color:transparent;background:var(--color-ink);color:var(--color-on-primary)}.checkout-header-banded .progress-step-done .progress-step-marker{background:#ffffff47;color:var(--header-fg)}.progress-step-done .progress-step-label{opacity:.85}.progress-step-active .progress-step-marker{opacity:1;border-color:transparent;background:var(--color-primary);color:var(--color-on-primary)}.progress-step-active .progress-step-label{opacity:1;font-weight:700}.checkout-layout{max-width:1120px;margin:0 auto;padding:24px;display:grid;grid-template-columns:2fr 1fr;gap:24px;align-items:start}.payment-pane{background:var(--color-surface);border:1px solid var(--border-subtle);border-radius:var(--radius);padding:24px}.summary-pane{position:sticky;top:24px}.order-summary{background:var(--color-surface);border:1px solid var(--border-subtle);border-radius:var(--radius);padding:20px}.order-summary-title{margin:0 0 16px;font-size:1rem;font-weight:700;color:var(--color-ink)}.order-item{display:flex;flex-direction:column;gap:12px}.order-item-image{width:100%;aspect-ratio:16 / 10;object-fit:cover;border-radius:calc(var(--radius) - 2px);display:block}.order-item-body{display:flex;flex-direction:column;gap:6px}.order-item-name{margin:0;font-weight:700;color:var(--color-ink)}.order-item-description{margin:0;font-size:.875rem;color:var(--color-muted);line-height:1.6}.order-item-meta{margin:0;font-size:.875rem}.order-total-row{display:flex;justify-content:space-between;align-items:baseline;gap:12px;margin:16px 0 0;padding-top:16px;border-top:1px solid var(--border-subtle)}.order-total-row dt{font-size:.875rem;color:var(--color-muted)}.order-total-row dd{margin:0}.order-total{font-size:1.375rem;font-weight:800;color:var(--color-ink);font-variant-numeric:tabular-nums}.checkout-controls{display:flex;align-items:flex-start;gap:16px;flex-wrap:wrap;margin-bottom:16px}.select-control{-moz-appearance:none;appearance:none;-webkit-appearance:none;font:inherit;font-size:.9375rem;color:var(--color-text);background-color:var(--color-surface);border:1px solid var(--border-subtle);border-radius:calc(var(--radius) - 2px);padding:9px 34px 9px 12px;min-width:7.5rem;cursor:pointer;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'><path d='M1 1l5 5 5-5' fill='none' stroke='%238c8c8c' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/></svg>");background-repeat:no-repeat;background-position:right 12px center;transition:border-color .15s ease,box-shadow .15s ease}.select-control:hover:not(:disabled){border-color:var(--color-primary)}.select-control:focus-visible{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px #d85b9440}.select-control:disabled{opacity:.6;cursor:not-allowed}.currency-selector{display:flex;flex-direction:column;gap:6px}.currency-selector>label{font-size:.8125rem;font-weight:600;color:var(--color-ink)}.language-selector{display:inline-flex;align-items:center}.pay-button{background:var(--color-primary);color:var(--color-on-primary);border:none;border-radius:var(--radius);padding:12px 16px;width:100%;cursor:pointer;display:inline-block;box-sizing:border-box;text-align:center;text-decoration:none;font-weight:700}.pay-button:disabled{opacity:.6;cursor:not-allowed}.error-panel{color:#b00020}@media(max-width:860px){.checkout-layout{grid-template-columns:1fr;padding:16px;gap:16px}.summary-pane{position:static;order:-1}.payment-pane{padding:16px}.checkout-header-inner{padding:12px 16px;gap:12px}.progress-steps{order:3;flex-basis:100%;justify-content:space-between;min-width:0}.progress-step:not(.progress-step-active) .progress-step-label{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.progress-step+.progress-step:before{width:16px;margin:0 4px}}
