/* Material 3 roles: use each foreground with its paired background. */
:root {
  color-scheme:light;
  --paper:var(--md-surface); --surface:var(--md-surface-container-lowest);
  --raised:var(--md-surface-container-low); --field:var(--md-surface-container-lowest);
  --ink:var(--md-on-surface); --muted:var(--md-on-surface-variant);
  --line:var(--md-outline-variant); --accent:var(--md-primary);
  --accent-soft:var(--md-primary-container); --on-accent:var(--md-on-primary);
  --on-accent-soft:var(--md-on-primary-container); --orange:var(--md-tertiary);
  --danger:var(--md-error); --danger-soft:var(--md-error-container);
  --warning:#765a00; --warning-soft:#ffdfa0; --poster-ground:var(--paper);
}
:root[data-theme="dark"] {color-scheme:dark;--warning:#f5be48;--warning-soft:#3e2e00;}
::selection {background:var(--accent-soft);color:var(--on-accent-soft);}
:is(button,a,input,textarea,select,summary):focus-visible {outline:2px solid var(--accent);outline-offset:4px;}
.brand,.hero h1 em {color:var(--accent);}
.button {background:var(--accent);border-color:var(--accent);color:var(--on-accent);}
.button:hover {background:color-mix(in srgb,var(--accent) 88%,var(--paper));border-color:var(--accent);color:var(--on-accent);}
.button.secondary {background:var(--raised);color:var(--accent);border-color:transparent;}
.button.secondary:hover {background:var(--accent-soft);color:var(--on-accent-soft);border-color:transparent;}
.button.green {background:var(--accent);color:var(--on-accent);}
.button.danger {background:transparent;color:var(--danger);border-color:transparent;}
.button.danger:hover {background:var(--danger-soft);color:var(--md-on-error-container);}
.skip-link {color:var(--on-accent);background:var(--accent);}
:is(.hero-description,.scene-caption,.trust-strip,.footer,.sidebar-nav a,.prose p,.prose li,.message-meta,.stat-caption,.data-table th) {color:var(--muted);}
:is(.pricing-card.seeker,.tabs button[aria-selected=true],.mandate-consent,.webhook-secret) {background:var(--raised);border-color:transparent;}
:is(.gateway-option:has(input:checked),.role-card:hover) {background:var(--accent-soft);color:var(--on-accent-soft);border-color:transparent;}
:is(.avatar,.conversation-avatar,.empty-icon,.icon-badge,.contact-icon,.billing-icon,.chat-welcome>span,.match-map-icon,.ai-locked>span) {background:var(--accent-soft);color:var(--on-accent-soft);}
:is(.sidebar-nav a:hover,.sidebar-nav button:hover,.conversation-item:hover) {background:var(--raised);color:var(--ink);}
:is(.sidebar-nav .active,.conversation-item.active) {background:var(--accent-soft);color:var(--on-accent-soft);}
:is(.input,.price-calculator input) {background:var(--field);color:var(--ink);border-color:var(--line);}
:is(.input::placeholder,.chat-composer textarea::placeholder) {color:var(--muted);opacity:.75;}
.input:focus {border-color:var(--accent);}
:is(.input[readonly],.input:disabled,.markdown code,.markdown pre,.code-box) {background:var(--raised);color:var(--ink);}
.notice,.status {background:var(--accent-soft);color:var(--on-accent-soft);border-color:var(--line);}
:is(.notice.warning,.environment-banner,.test-badge,.status.pending,.status.partially_refunded) {background:var(--warning-soft);color:var(--warning);}
:is(.notice.error,.status.failed,.status.banned,.status.refunded) {background:var(--danger-soft);color:var(--md-on-error-container);}
:is(.status.closed,.status.canceled,.status.cancelled,.status.expired,.status.deleted,.webhook-status.cancelled) {background:var(--raised);color:var(--muted);}
:is(.danger-text,.order-refund) {color:var(--danger);}
:is(.webhook-warning,.consent-label) {color:var(--warning);}
.consent-label.allowed {color:var(--accent);}
.dialog-backdrop {background:color-mix(in srgb,var(--ink) 45%,transparent);}
.dialog {background:var(--surface);box-shadow:0 20px 80px #0003;}
.toast {background:var(--ink);color:var(--paper);}
.toast.error {background:var(--danger);color:var(--md-error-container);}
.loader {border-color:var(--line);border-top-color:var(--accent);}
:is(.loading-line,.message-body) {background:var(--raised);}
.own .message-body {background:var(--accent-soft);color:var(--on-accent-soft);}
:is(.conversation-sidebar,.chat-privacy,.match-column,.match-map>article) {background:var(--raised);}
:is(.mandate-card,.webhook-card,.webhook-delivery) {background:var(--surface);}
.chat-scroll {scrollbar-color:var(--line) transparent;}
.ai-label {color:var(--accent);border-color:var(--line);}
:is(.unread-badge,.chat-new-message) {color:var(--on-accent);background:var(--accent);}
.match-map-platform {background:var(--accent-soft);}
.chart text {fill:var(--muted);}.chart .chart-grid,.chart .chart-zero {stroke:var(--line);}
.chart .chart-area {fill:var(--accent-soft);}.chart .chart-line {stroke:var(--accent);}.chart circle {fill:var(--accent);}
.home-flow .pricing-card {background:none;border:0;}
.theme-menu {position:relative;flex:none;}
.theme-menu>summary {display:grid;place-items:center;width:36px;height:36px;list-style:none;cursor:pointer;border:0;border-radius:50%;color:var(--accent);background:transparent;transition:background .15s;}
.theme-menu>summary::-webkit-details-marker {display:none;}
.theme-menu>summary>svg {width:21px;height:21px;}
.theme-menu>summary:hover,.theme-menu[open]>summary {background:var(--raised);}
.theme-panel {position:absolute;right:0;top:calc(100% + 9px);z-index:100;width:280px;padding:14px;border:1px solid var(--line);border-radius:16px;background:var(--surface);box-shadow:0 8px 32px #0002;}
.theme-menu[open] .theme-panel {animation:theme-appear .12s ease-out;}
.palette-options {display:flex;align-items:center;justify-content:space-between;gap:6px;}
.palette-swatch {display:grid;place-items:center;width:36px;height:36px;flex:none;border:0;padding:0;border-radius:50%;background:transparent;cursor:pointer;}
[data-palette-choice="neutral"] {--swatch:var(--palette-neutral);--swatch-ink:var(--palette-neutral-ink);}
[data-palette-choice="blue"] {--swatch:var(--palette-blue);--swatch-ink:var(--palette-blue-ink);}
[data-palette-choice="violet"] {--swatch:var(--palette-violet);--swatch-ink:var(--palette-violet-ink);}
[data-palette-choice="rose"] {--swatch:var(--palette-rose);--swatch-ink:var(--palette-rose-ink);}
[data-palette-choice="amber"] {--swatch:var(--palette-amber);--swatch-ink:var(--palette-amber-ink);}
[data-palette-choice="teal"] {--swatch:var(--palette-teal);--swatch-ink:var(--palette-teal-ink);}
.swatch-color {display:grid;place-items:center;width:25px;height:25px;border-radius:50%;background:var(--swatch);color:var(--swatch-ink);transition:box-shadow .15s,transform .15s;}
.swatch-color svg {width:14px;height:14px;opacity:0;stroke-width:2.5;}
.palette-swatch:hover .swatch-color {transform:scale(1.08);}
.palette-swatch[aria-pressed="true"] .swatch-color {box-shadow:0 0 0 2px var(--surface),0 0 0 4px var(--swatch);}
.palette-swatch[aria-pressed="true"] svg {opacity:1;}
.mode-options {display:flex;gap:3px;padding:3px;margin-top:14px;border-radius:10px;background:var(--raised);}
.mode-options button {display:grid;place-items:center;flex:1;min-height:32px;padding:6px;border:0;border-radius:7px;color:var(--muted);background:transparent;cursor:pointer;transition:background .15s,color .15s;}
.mode-options button>svg {width:17px;height:17px;}
.mode-options button[aria-pressed="true"] {background:var(--surface);color:var(--ink);box-shadow:0 1px 4px #0002;}
@keyframes theme-appear {from {opacity:0;transform:translateY(-4px);}to {opacity:1;transform:translateY(0);}}
@media(prefers-reduced-motion:reduce) {.theme-menu[open] .theme-panel {animation:none;}.swatch-color {transition:none;}}
@media(max-width:560px) {
  .site-header .brand-en {display:none;}
  .site-header {gap:10px;}.nav-right {gap:8px;}
  .theme-panel {right:-48px;width:min(280px,calc(100vw - 40px));}
}

/* Payment choices use the same neutral surfaces as the rest of the site. */
.payment-region-choice {border:0;padding:0;margin:0 0 24px;min-width:0}
.payment-region-choice legend {font-size:13px;font-weight:500;margin-bottom:10px;color:var(--muted)}
.payment-region-options {display:grid;grid-template-columns:1fr 1fr;gap:14px}
.payment-region-options label {position:relative;cursor:pointer}
.payment-region-options input {position:absolute;opacity:0;width:1px;height:1px}
.payment-region-options label>span {display:grid;grid-template-columns:20px 1fr;gap:5px 10px;padding:18px;border:0;border-radius:12px;background:var(--raised);transition:background .15s}
.payment-region-options svg {width:19px;height:19px;grid-row:1 / 3;color:var(--muted)}
.payment-region-options strong {font-size:15px;font-weight:500}
.payment-region-options small {font-size:11px;color:var(--muted);line-height:1.5}
.payment-region-options input:checked+span {background:var(--accent-soft);color:var(--on-accent-soft)}
.payment-region-options input:checked+span svg {color:var(--accent)}
.payment-region-options input:focus-visible+span {outline:2px solid var(--accent);outline-offset:3px}
.activation-total {background:none;padding:24px 0;margin:8px 0 20px;border:0;border-radius:0}
.activation-total .cost-row.total {border:0;padding:0;margin:0;align-items:center;gap:12px}
.activation-total strong {font-size:27px;white-space:nowrap;letter-spacing:-1px}
.activation-total .cost-row.total>span {font-size:13px;color:var(--muted)}
.payment-test-notice {display:flex;align-items:center;gap:8px;color:var(--muted);background:var(--raised);border-radius:8px;padding:10px 12px;font-size:12px;margin:12px 0}
.payment-test-notice svg {color:var(--accent);width:16px;height:16px;flex-shrink:0}
@media(max-width:420px){.activation-total strong{font-size:23px}.payment-region-options label>span{padding:11px;gap:3px 6px}.payment-region-options small{font-size:10px}}
