/* Shared foundation only. Variant layouts live in site-modules/<module>/vNN.css. */
:root { --sb-primary:#3166ed; --sb-secondary:#0da679; --sb-background:#f7f9fc; --sb-surface:#fff; --sb-text:#101828; --sb-muted:#66758b; --sb-border:#e0e7f0; --sb-font:Arial,"Microsoft YaHei","PingFang SC","Noto Sans SC",sans-serif; }
* { box-sizing:border-box; letter-spacing:0; }
html { scroll-behavior:smooth; }
body { margin:0; background:var(--sb-background); color:var(--sb-text); font-family:var(--sb-font); line-height:1.75; -webkit-font-smoothing:antialiased; }
a { color:inherit; text-decoration:none; }
a:hover { text-decoration:underline; }
:focus-visible { outline:3px solid var(--sb-secondary); outline-offset:4px; }
.sb-shell { width:min(1200px,calc(100% - 64px)); margin:0 auto; }
.sb-shell * { min-width:0; overflow-wrap:anywhere; }
.sb-template h1 { font-size:52px; line-height:1.18; margin:14px 0 20px; }
.sb-template h2 { font-size:clamp(28px,2.5vw,42px); font-weight:750; line-height:1.3; letter-spacing:-.025em; margin:14px 0; text-wrap:balance; }
.sb-template h3 { font-size:18px; line-height:1.45; margin:8px 0; }
.sb-template p { color:var(--sb-muted); margin:10px 0 16px; }
.sb-template pre { white-space:pre-wrap; font:inherit; }
.sb-template dl,.sb-template dd { margin:0; }
.sb-template figure { margin:0; }
.sb-template figcaption { margin-top:16px; font-size:14px; color:var(--sb-muted); }
.sb-template :is(p,span,small,code,footer,aside,nav):empty { display:none; }
.sb-template .sb-input-icon,.sb-template .sb-mark { flex-shrink:0; }
.sb-template .sb-item-copy { min-width:0; }
.sb-template .sb-item-copy h3 .sb-item-icon { display:inline-grid; vertical-align:middle; margin:0 12px 8px 0; }
.sb-header-tpl .sb-brand { flex-wrap:nowrap; flex-shrink:0; }
.sb-header-tpl .sb-brand strong { overflow-wrap:normal; }
.sb-footer-tpl .sb-footer-ruleline { display:none; }
.sb-button-secondary:hover { color:white; }
.sb-template blockquote { margin:20px 0; border-left:3px solid var(--sb-secondary); padding-left:20px; }
.sb-heading { margin-bottom:40px; }
.sb-heading p { max-width:760px; }
.sb-eyebrow,.sb-kicker { display:inline-flex; align-items:center; padding:4px 12px; border:1px solid color-mix(in srgb,var(--sb-primary) 15%,white); border-radius:30px; background:color-mix(in srgb,var(--sb-primary) 5%,white); font-size:11px; line-height:1.6; font-weight:600; color:var(--sb-primary); }
.sb-item-index { display:block; }
.sb-item-icon { display:grid;place-items:center;width:46px;height:46px;border:1px solid color-mix(in srgb,var(--sb-icon-color,var(--sb-primary)) 15%,white);border-radius:13px;background:var(--sb-icon-bg,#eff5ff);color:var(--sb-icon-color,var(--sb-primary));flex-shrink:0; }
.sb-icon-label { display:block;font-size:11px;color:var(--sb-muted);margin-top:8px; }
.sb-glyph { display:inline-block;width:22px;height:22px;flex-shrink:0;background:currentColor;mask:var(--sb-glyph-url,url(/assets/img/site-icons/document-text.svg)) center/contain no-repeat; }
.sb-glyph-brand { --sb-glyph-url:url(/assets/img/site-icons/shield-check.svg); }
.sb-glyph-image { --sb-glyph-url:url(/assets/img/site-icons/photo.svg); }
.sb-glyph-audio { --sb-glyph-url:url(/assets/img/site-icons/microphone.svg); }
.sb-glyph-feature { --sb-glyph-url:url(/assets/img/site-icons/squares-2x2.svg); }
.sb-item:nth-child(4n+2) .sb-glyph-feature { --sb-glyph-url:url(/assets/img/site-icons/cpu-chip.svg); }
.sb-item:nth-child(4n+3) .sb-glyph-feature { --sb-glyph-url:url(/assets/img/site-icons/language.svg); }
.sb-item:nth-child(4n+4) .sb-glyph-feature { --sb-glyph-url:url(/assets/img/site-icons/sparkles.svg); }
.sb-button,.sb-header-cta { display:inline-flex; align-items:center; justify-content:center; gap:10px; max-width:100%; min-height:44px; padding:11px 21px; border:1px solid var(--sb-primary); border-radius:9px; background:var(--sb-primary); color:#fff; font-size:14px; font-weight:600; text-align:center; box-shadow:0 4px 10px color-mix(in srgb,var(--sb-primary) 18%,transparent);transition:background .18s,box-shadow .18s; }
.sb-button:hover,.sb-header-cta:hover { background:color-mix(in srgb,var(--sb-primary) 88%,black);text-decoration:none;box-shadow:0 5px 14px color-mix(in srgb,var(--sb-primary) 24%,transparent); }
.sb-button-secondary { background:var(--sb-surface); color:var(--sb-primary); }
.sb-buttons,.sb-buttons>nav,.sb-buttons>ul,.sb-buttons>div { display:flex; flex-wrap:wrap; gap:12px; }
.sb-buttons { margin:24px 0 0; padding:0; list-style:none; }
.sb-buttons ul { list-style:none; margin:0; padding:0; }
.sb-input { padding:26px; border:1px solid var(--sb-border); background:var(--sb-surface); color:var(--sb-text); }
.sb-input footer { margin-top:18px; }
.sb-input-icon { display:grid; place-items:center; width:46px; height:46px; border:1px solid color-mix(in srgb,var(--sb-primary) 15%,white);border-radius:12px;background:color-mix(in srgb,var(--sb-primary) 6%,white); color:var(--sb-primary); font-weight:700; }
.sb-input-copy strong { font-size:20px; }
.sb-input-copy p { font-size:14px; }
.sb-item p,.sb-item dd { font-size:14px; }
.sb-item a { display:inline-block; margin-top:14px; color:var(--sb-primary); }
.sb-faq-item { padding:20px; border-bottom:1px solid var(--sb-border); break-inside:avoid; }
.sb-faq-item summary { cursor:pointer; font-weight:700; }
.sb-faq-item summary span { margin-right:12px; }
.sb-faq-item p { font-size:14px; }
.sb-poster-number { display:flex;align-items:center;justify-content:center;min-width:44px;min-height:44px;border-radius:12px;background:#eef5ff;font-size:16px;font-weight:700;color:var(--sb-primary); }
.sb-notice-copy,.sb-warning-strip,.sb-ledger-warning { margin:24px 0; padding:16px 20px; border-left:4px solid var(--sb-secondary); }
.sb-header-tpl { color:var(--sb-text); background:var(--sb-surface); border-bottom:1px solid var(--sb-border); }
.sb-header-tpl>.sb-shell { min-height:78px; align-items:center; gap:24px; padding-block:14px; }
.sb-brand { display:flex; align-items:center; flex-wrap:wrap; gap:10px; font-size:20px; }
.sb-brand small { font-size:11px; flex-basis:100%; }
.sb-mark { display:grid; place-items:center; width:36px; height:36px;border-radius:11px; background:var(--sb-primary); color:#fff; font-size:14px; }
.sb-nav { display:flex; flex-wrap:wrap; gap:20px; align-items:center; font-size:14px; }
.sb-nav a { padding:8px 0; }
.sb-header-label,.sb-live,.sb-dark-nav small { font-size:11px; }
.sb-footer-tpl { padding:38px 0; background:var(--sb-surface); color:var(--sb-text); }
.sb-footer-tpl nav { display:flex; flex-wrap:wrap; gap:16px; font-size:14px; }
.sb-footer-tpl p,.sb-footer-tpl small { color:var(--sb-muted); }
.sb-footer-tpl .sb-icp { width:min(1200px,calc(100% - 28px));margin:24px auto 0;padding-top:18px;border-top:1px solid var(--sb-border);text-align:center;font-size:13px;color:var(--sb-muted);overflow-wrap:anywhere; }
.sb-icp a { display:inline-block;padding:6px; }
.sb-mobile-menu { display:none; }
.sb-template code,.sb-template pre { font-family:var(--sb-font); }
.sb-heading>p { font-size:16px;line-height:1.9; }
.sb-nav a { color:#40516d;font-size:14px; }
.sb-nav a:hover { color:var(--sb-primary);text-decoration:none; }
.sb-template summary { min-height:28px; }
.sb-template .sb-faq-item summary>span[aria-hidden] { display:none; }
@media(max-width:900px) {
  .sb-nav { display:none; }
  .sb-mobile-menu { display:block; width:calc(100% - 44px); margin:0 auto; padding-bottom:12px; }
  .sb-mobile-menu summary { cursor:pointer; padding:10px 0; font-weight:700; }
  .sb-mobile-menu nav { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px; padding:10px 0; }
  .sb-mobile-menu a { padding:12px; border:1px solid var(--sb-border); overflow-wrap:anywhere; }
  .sb-template h1 { font-size:42px; }
}
@media(max-width:580px) {
  .sb-shell { width:calc(100% - 28px); }
  .sb-template h1 { font-size:34px; }
  .sb-template h2 { font-size:26px; }
  .sb-input { padding:20px; }
  .sb-template aside { margin-block:16px; }
  .sb-mobile-menu { width:calc(100% - 28px); }
  .sb-header-label,.sb-live,.sb-dark-nav small { display:none; }
  .sb-brand { font-size:18px; }
}
@media(prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } *,*::before,*::after { transition:none!important;animation:none!important; } }
