/* Shared visual language for service, legal, account and payment pages. */
:root {
  --bg:#090d13; --bg-2:#0d131d; --surface:#101722; --surface-2:#151e2b;
  --surface-3:#1d2837; --text:#eef2f8; --muted:#a5afbe; --soft:#d7dfeb;
  --line:#26303d; --line-strong:#3a4656; --gold:#e3bd75; --gold-light:#e3bd75;
  --blue:#81baff; --cyan:#81baff; --shadow:0 16px 40px #0002; --radius:8px;
  --container:min(1180px,calc(100% - 64px));
  font-family:"Segoe UI",system-ui,sans-serif;
}
html { scroll-padding-top:104px; }
body { background:var(--bg); color:var(--text); font:16px/1.7 "Segoe UI",system-ui,sans-serif; overflow-x:visible; }
body::before { content:none; }
h1,h2,h3 { font-weight:600; letter-spacing:-.035em; hyphens:none; overflow-wrap:break-word; }
h1 { font-size:clamp(36px,4.5vw,62px); line-height:1.12; }
h2 { font-size:clamp(26px,3vw,40px); line-height:1.2; }
h3 { line-height:1.35; }
p { line-height:1.75; }
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible { outline:2px solid var(--gold); outline-offset:4px; }
.ui-header { position:sticky; top:0; z-index:60; border-bottom:1px solid var(--line); background:#090d13f5; backdrop-filter:blur(18px); }
.ui-header-inner { width:min(1180px,calc(100% - 64px)); margin:auto; min-height:84px; display:flex; align-items:center; gap:28px; }
.ui-brand { display:flex; align-items:center; gap:12px; flex-shrink:0; line-height:1.1; text-decoration:none; }
.ui-brand img { width:39px; height:39px; border-radius:4px; }
.ui-brand strong { display:block; font-size:16px; color:var(--text); font-weight:750; letter-spacing:.02em; }
.ui-brand small { display:block; color:var(--muted); font-size:9px; letter-spacing:.23em; margin-top:6px; }
.ui-nav { display:flex; align-items:center; gap:25px; margin-left:auto; font-size:13px; font-weight:600; }
.ui-nav>a { color:var(--muted); }
.ui-nav>a:hover { color:var(--text); }
.ui-nav .ui-cta { color:#171b22; background:var(--gold); border:1px solid var(--gold); border-radius:6px; padding:10px 16px; font-size:12px; }
.ui-nav .ui-cta:hover { background:#f1d29b; color:#171b22; }
.ui-lang { border-left:1px solid var(--line); padding-left:20px; font-size:11px; }
.ui-menu { display:none; margin-left:auto; background:transparent; border:1px solid var(--line); border-radius:5px; color:var(--text); padding:9px 13px; cursor:pointer; }
.ui-footer { width:min(1180px,calc(100% - 64px)); margin:0 auto; border-top:1px solid var(--line); padding:36px 0 24px; }
.ui-footer-main { display:flex; justify-content:space-between; align-items:center; gap:30px; }
.ui-footer-nav { display:flex; flex-wrap:wrap; gap:18px; font-size:12px; color:var(--muted); }
.ui-footer-bottom { display:flex; flex-wrap:wrap; justify-content:space-between; gap:15px; margin-top:30px; padding-top:20px; border-top:1px solid var(--line); color:var(--muted); font-size:11px; }
.ui-footer button { border:0; padding:0; background:none; color:inherit; font:inherit; cursor:pointer; }
.ui-footer a:hover,.ui-footer button:hover { color:var(--text); }
.page-main { padding-top:0; min-height:65vh; }
.section { padding:64px 0; }
.section::before,.section-heading::after,.hero::before,.hero::after { content:none; }
.section-dark,.section-muted { background:transparent; }
.section-inner { width:var(--container); }
.page-hero,.service-page-hero { padding-top:76px; }
.service-page-hero h1,.scc-demo-hero h1 { font-size:clamp(34px,3.8vw,52px); line-height:1.16; letter-spacing:-.04em; hyphens:none; }
.eyebrow { font-size:10px; font-weight:650; letter-spacing:.2em; color:var(--gold); text-transform:uppercase; }
.button { border-radius:6px; font-size:13px; font-weight:650; letter-spacing:0; padding:13px 22px; box-shadow:none; text-transform:none; }
.button-primary,.button-discord { color:#171b22; background:var(--gold); border:1px solid var(--gold); }
.button-primary:hover,.button-discord:hover { background:#f1d29b; }
.button-ghost,.button-subtle { border:1px solid var(--line-strong); background:transparent; color:var(--text); }
.button:hover { box-shadow:none; }
.service-card,.service-detail-panel,.service-topic-card,.panel,.info-card,.feature-card,.faq-item,.product-card,.contact-card,.trust-item { background:var(--surface); border:1px solid var(--line); box-shadow:none; border-radius:8px; }
.service-detail-panel,.service-topic-card { padding:28px; }
.service-detail-panel li,.service-topic-card p,.service-result-list li { font-size:15px; line-height:1.7; }
.service-icon,.trust-icon { background:#192536; border-color:#304158; color:var(--blue); box-shadow:none; }
.legal-content { width:min(840px,calc(100% - 64px)); max-width:840px; margin:auto; }
.legal-content h1 { font-size:clamp(36px,4.5vw,58px); margin-bottom:28px; }
.legal-content h2 { font-size:clamp(22px,2.3vw,29px); margin:40px 0 16px; line-height:1.3; }
.legal-content p,.legal-content li { font-size:16px; line-height:1.85; color:var(--muted); overflow-wrap:anywhere; }
.legal-content strong { color:var(--text); }
.legal-content a { color:var(--blue); }
.scc-demo-note,.scc-demo-shell,.scc-demo-panel,.scc-demo-stat,.scc-demo-log,.scc-demo-table-wrap,.scc-demo-gate-card,.scc-demo-call,.scc-demo-map-tile { background:var(--surface); box-shadow:none; border-color:var(--line); }
.scc-demo-sidebar { background:#0d141f; }
.scc-demo-topbar { background:var(--surface); }
.scc-demo-panel,.scc-demo-main { min-width:0; }
.scc-demo-table-wrap { overflow:auto; }
.cookie-banner { background:transparent; border:0; box-shadow:none; }
.cookie-banner-inner { background:#101722; border:1px solid var(--line); box-shadow:0 10px 45px #0007; border-radius:8px; }
.cookie-option { background:#0a111b; border-color:var(--line); }
.cookie-option strong { font-size:13px; font-weight:600; }
.cookie-option small { font-size:12px; font-weight:400; }
.payment-body { display:flex; flex-direction:column; min-height:100vh; }
.payment-body>.ui-header,.payment-body>.ui-footer { flex-shrink:0; }
.payment-shell { width:min(1180px,calc(100% - 64px)); padding:64px 0 72px; flex:1; }
.payment-card { background:var(--surface); box-shadow:none; border:1px solid var(--line); border-radius:10px; padding:32px; }
.payment-card h1,.payment-admin-actions h1 { font-size:clamp(32px,3.4vw,48px); line-height:1.15; letter-spacing:-.04em; overflow-wrap:anywhere; }
.payment-card h2 { font-size:clamp(24px,2.4vw,32px); line-height:1.25; }
.account-hero { max-width:820px; margin:15px auto 0; padding:48px; }
.account-hero>.payment-admin-action-links { justify-content:flex-start; margin-top:28px; }
.account-auth-card { width:min(100%,610px); margin:0 auto; padding:36px; }
.payment-form label { color:var(--soft); font-weight:600; font-size:14px; }
.payment-form input,.payment-form select,.payment-form textarea { font-size:16px; background:#0a111b; border-color:var(--line-strong); color:var(--text); border-radius:6px; min-width:0; }
.payment-form input:focus,.payment-form textarea:focus,.payment-form select:focus { border-color:var(--gold); }
.account-oauth-button { font-size:14px; font-weight:600; border-radius:6px; padding:12px; }
.account-oauth-discord { background:#192536; border-color:#3b506c; }
.account-oauth-google { background:#141e2b; border-color:var(--line-strong); }
.account-auth-divider { font-size:10px; font-weight:600; letter-spacing:.12em; }
.account-auth-switch { margin:24px 0 0; font-size:14px; }
.account-auth-switch a { color:var(--gold); text-decoration:underline; text-underline-offset:3px; }
.account-summary-card,.account-provider-card { background:var(--surface); box-shadow:none; border:1px solid var(--line); border-radius:8px; }
.account-summary-card span { color:var(--muted); font-weight:500; }
.account-summary-card strong { color:var(--text); font-weight:600; }
.payment-summary { top:108px; }
.payment-meta span { flex-wrap:wrap; }
.payment-warning { border-color:#826b40; }
.payment-error { border-color:#a45959; background:#2b1920; }
.payment-success { border-color:#41785e; background:#12271e; }
.payment-status { font-size:12px; font-weight:600; }
.payment-table { display:block; max-width:100%; overflow:auto; font-size:14px; }
.payment-table th { font-size:10px; font-weight:650; letter-spacing:.08em; color:var(--muted); }
.payment-grid>* { min-width:0; }
.payment-row-actions .button { padding:8px 12px; }
@media(max-width:1100px) {
  .ui-header-inner { min-height:72px; width:calc(100% - 36px); }
  .ui-menu { display:block; }
  .ui-nav { display:none; position:absolute; left:0; right:0; top:72px; padding:22px; background:#0e1520; border-bottom:1px solid var(--line); flex-direction:column; align-items:stretch; gap:18px; max-height:calc(100dvh - 72px); overflow:auto; }
  .ui-nav.is-open { display:flex; }
  .ui-lang { border:0; padding:0; }
  .ui-brand strong { font-size:14px; }
  .ui-brand small { font-size:8px; }
  .ui-brand img { width:34px; height:34px; }
}
@media(max-width:760px) {
  :root { --container:calc(100% - 36px); }
  .section { padding:42px 0; }
  .page-hero,.service-page-hero { padding-top:44px; }
  .legal-content { width:calc(100% - 36px); }
  .legal-content p,.legal-content li { font-size:15px; }
  .service-detail-panel,.service-topic-card { padding:22px; }
  .ui-footer { width:calc(100% - 36px); padding-top:28px; }
  .ui-footer-main { align-items:flex-start; flex-direction:column; gap:26px; }
  .ui-footer-nav { gap:14px; }
  .payment-shell { width:calc(100% - 36px); padding:32px 0 45px; }
  .payment-card,.account-hero,.account-auth-card { padding:24px; }
  .account-hero { margin-top:0; }
  .payment-grid,.account-summary-grid,.account-provider-grid,.payment-form-grid { grid-template-columns:1fr; }
  .payment-summary { position:static; }
  .payment-admin-actions,.payment-section-head { align-items:flex-start; flex-direction:column; }
  .payment-admin-action-links { justify-content:flex-start; }
  .payment-price { font-size:32px; }
  .payment-table { font-size:13px; }
}
@media(max-width:400px) { .account-oauth-actions { grid-template-columns:1fr; } .ui-brand small { letter-spacing:.12em; } }
@media(prefers-reduced-motion:reduce) { html{scroll-behavior:auto} *,*::before,*::after{animation:none!important;transition:none!important} }
