/* Main-site tokens matched to the MaxHai storefront. */
:root{--mx-panel:rgba(18,18,18,.96);--mx-border:rgba(255,255,255,.08);--mx-muted:rgba(255,255,255,.56);--mx-link:rgba(255,255,255,.78);--mx-mono:"SF Mono",Menlo,Monaco,Consolas,"Liberation Mono",monospace}
html{background:#000}body{overflow-x:hidden!important;overflow-y:auto!important}.app-layout{height:auto!important;min-height:100dvh;overflow:visible!important}.app-main-layout,.app-content{height:auto!important;overflow:visible!important}
body :focus-visible{outline:2px solid #fff!important;outline-offset:2px!important}
.mxh,.mxh *,.mx-footer,.mx-footer *{box-sizing:border-box}.mxh{position:sticky!important;top:0!important;z-index:50!important;width:100%!important;height:57px!important;min-height:57px!important;padding:0!important;line-height:normal!important;border:0!important;background:#000}.mxh-inner{max-width:1280px;height:57px;margin:auto;padding:0 24px;display:flex;align-items:center;gap:18px}.mxh-brand{display:grid;place-items:center;flex:none;width:40px;height:40px}.mxh-brand img{width:40px;height:40px;object-fit:contain}.mxh-nav{display:flex;align-items:center;gap:2px;min-width:0}.mxh-link{display:inline-flex;align-items:center;min-height:32px;padding:0 11px;border-radius:8px;color:var(--mx-link)!important;font-size:13px;font-weight:500;line-height:1;text-decoration:none!important;white-space:nowrap}.mxh-link:hover,.mxh-link.is-active{color:#fff!important;background:rgba(255,255,255,.055)}.mxh-actions{margin-left:auto;display:flex;align-items:center;gap:4px}.mxh-cta{display:inline-flex;align-items:center;gap:7px;height:34px;padding:0 15px 0 11px;border-radius:999px;background:#fff;color:#080808!important;font-size:13px;font-weight:600;text-decoration:none!important;white-space:nowrap}.mxh-cta:hover{background:rgba(255,255,255,.86)}.mxh-menu-button{display:none;place-items:center;width:44px;height:44px;border:0;border-radius:8px;background:transparent;color:var(--mx-link);cursor:pointer}.mxh-menu-button:hover{background:rgba(255,255,255,.055);color:#fff}
.mxh-drawer-layer[hidden]{display:none}.mxh-drawer-layer{position:fixed;inset:0;z-index:100}.mxh-backdrop{position:absolute;inset:0;width:100%;height:100%;border:0;background:rgba(0,0,0,.7)}.mxh-drawer{position:absolute;top:0;right:0;bottom:0;display:flex;flex-direction:column;width:min(84vw,320px);overflow-y:auto;overscroll-behavior:contain;padding:calc(20px + env(safe-area-inset-top)) 16px calc(20px + env(safe-area-inset-bottom));border-left:1px solid rgba(255,255,255,.18);background:#090909;box-shadow:-20px 0 60px rgba(0,0,0,.55);animation:mxhDrawerIn .22s cubic-bezier(.4,0,.2,1) both}@keyframes mxhDrawerIn{from{transform:translateX(100%)}to{transform:translateX(0)}}.mxh-drawer-close{display:grid;place-items:center;width:44px;height:44px;margin:0 0 8px auto;border:0;border-radius:10px;background:#18181b;color:#fff;cursor:pointer}.mxh-drawer .mxh-link{min-height:44px;font-size:15px}.mxh-drawer-cta{display:flex;align-items:center;justify-content:center;gap:8px;min-height:44px;margin-top:14px;border-radius:999px;background:#fff;color:#080808!important;font-size:14px;font-weight:500;text-decoration:none!important}
.mx-footer{width:100%;padding:64px 0;border-top:1px solid var(--mx-border);background:#000;color:#fff}.mx-footer .sf-footer-inner{width:100%;max-width:1280px;margin:auto;padding:0 24px}.mx-footer .sf-footer-grid{display:grid;grid-template-columns:2fr repeat(4,minmax(0,1fr));gap:40px}.mx-footer .sf-footer-brand{display:flex;flex-direction:column;align-items:flex-start}.mx-footer .sf-footer-logo{display:grid;place-items:center;width:40px;height:40px;margin:0 0 16px}.mx-footer .sf-footer-logo img{width:40px;height:40px;object-fit:contain}.mx-footer .sf-footer-brand p{margin:0 0 20px;color:var(--mx-muted);font-size:14px;line-height:22px}.mx-footer .sf-footer-copy{display:block;color:var(--mx-muted);font-size:12px;line-height:20px}.mx-footer h4{margin:0 0 16px;color:#fff;font-size:14px;font-weight:600}.mx-footer ul{margin:0;padding:0;list-style:none}.mx-footer li{margin:0}.mx-footer a:not(.sf-footer-logo){display:inline-block;padding:4px 0;border:0!important;color:var(--mx-link)!important;font-size:13px;line-height:20px;text-decoration:none!important}.mx-footer a:hover{color:#fff!important}
/* Shared page skeleton. Homepage hero and bento keep their own geometry. */
.sf-page:not(.sf-home-page){padding-top:36px!important}.app-content a.mx-follow-btn,.app-content .mx-follow-btn{color:#080808!important}
.tool-wrap{box-sizing:border-box;width:100%;max-width:860px;margin-inline:auto;padding:36px 24px 96px}.tool-kicker{color:var(--mx-muted)!important}.tool-h1{font-size:32px!important;line-height:40px!important;font-weight:500!important}.tool-card,.why>div{background:var(--mx-panel)!important;border:1px solid var(--mx-border)!important;border-radius:16px!important}.tool-input,.tool-select{min-height:44px;border-radius:12px!important}.tool-btn{min-height:44px!important;border-radius:999px!important}.tool-sub,.note,.muted,.tool-label{color:var(--mx-muted)!important}.tool-wrap a:not(.tool-btn){color:var(--mx-link)!important;text-decoration:none!important}.tool-wrap a:not(.tool-btn):hover{color:#fff!important}.code-out,.addr,.kv dd,.mb-cnt,.msg-time,.num,.dp-stat strong{font-family:var(--mx-mono)!important;font-variant-numeric:tabular-nums}
/* AI detail styles inherited from legacy pages. */
.dp{box-sizing:border-box;width:100%;max-width:1280px!important;padding:36px 24px 96px!important}.dp-h1,.dp h1{font-size:32px!important;line-height:40px!important;font-weight:500!important}.dp-meta,.dp-lead,.note{color:var(--mx-muted)}.dp a:not(.tool-btn){text-decoration:none}.dp .tool-btn{min-height:44px}.mapbox{font-variant-numeric:tabular-nums}
/* Contact cards share a consistent icon, copy, action rhythm. */
.sf-contact-hero .sf-container{max-width:860px}.sf-contact-heading h1{font-size:32px!important;line-height:40px!important;font-weight:500!important}.sf-contact-grid{align-items:stretch}.sf-contact-card{display:flex!important;flex-direction:column;align-items:stretch;background:var(--mx-panel)!important;border:1px solid var(--mx-border)!important;border-radius:16px!important}.sf-contact-card-preview{flex:none}.sf-contact-card-body,.sf-contact-doc-copy{flex:1}.sf-contact-card-body a,.sf-contact-doc-copy a{color:var(--mx-link)!important;text-decoration:none!important}.sf-contact-card-body a:hover,.sf-contact-doc-copy a:hover{color:#fff!important}.sf-contact-card .sf-contact-button{min-height:44px;border-radius:999px!important}
@media(max-width:1023px){.mxh{height:calc(57px + env(safe-area-inset-top))!important;padding-top:env(safe-area-inset-top)!important}.mxh-inner{padding-inline:16px}.mxh-nav,.mxh-desktop{display:none}.mxh-menu-button{display:grid}.mx-footer .sf-footer-grid{gap:32px}}
@media(max-width:767px){.mx-footer .sf-footer-inner{padding-inline:16px}.mx-footer .sf-footer-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:32px 24px}.mx-footer .sf-footer-brand{grid-column:1/-1}.mx-footer a:not(.sf-footer-logo){display:inline-flex;align-items:center;min-height:44px}.tool-wrap{padding:36px 16px 64px}.dp{padding:36px 16px 64px!important}.sf-page:not(.sf-home-page){padding-inline:16px!important}}
/* Remove the former fixed-header spacer. The sticky header occupies normal flow. */
.sf-page{margin-top:0!important}
.sf-contact-inner{padding-top:0!important}
.sf-contact-card-body p{white-space:normal!important;overflow:visible!important;text-overflow:clip!important}
.app-content .sf-page.sf-contact-page{margin-top:0!important}
.sf-contact-page .sf-container{max-width:860px!important}
.dp h2{font-size:22px;line-height:30px;font-weight:500}.dp .pr,.dp .pv,.dp .side-item>span:last-child:not(.side-name),.dp .num{font-family:var(--mx-mono);font-variant-numeric:tabular-nums}
@media(max-width:767px){.tool-input,.tool-select{min-height:48px}}
/* clip avoids an intermediate scroll container, so sticky tracks viewport scrolling. */
html,body{overflow-x:clip!important;overflow-y:visible!important}
.mxh{box-shadow:none!important}
/* Tool and contact subpages follow the same left-aligned page / section rhythm. */
.tool-wrap{max-width:1280px!important;margin:0 auto!important;padding-top:36px!important}
.mx-tool-head{max-width:860px;margin-bottom:64px}.mx-tool-head .tool-h1{margin:10px 0 12px!important}.mx-tool-head .tool-sub{margin:0!important;line-height:28px!important}
.mx-tool-section-title,.mx-contact-section-title{max-width:860px;margin:0 0 24px;color:#fff;font-size:22px;line-height:30px;font-weight:500}
.tool-wrap .tool-card{box-sizing:border-box;max-width:860px;margin:0 0 64px!important;padding:24px 28px!important}
.tool-wrap .why{max-width:860px;margin-bottom:64px}.tool-wrap .note{max-width:860px;margin-top:0}
.sf-contact-page .sf-contact-hero{padding-top:36px!important}.sf-contact-page .sf-contact-inner,.sf-contact-page .sf-contact-assurance>.sf-container{max-width:1280px!important;padding-inline:24px!important}
.sf-contact-page .sf-contact-heading{max-width:860px;margin:0 0 64px!important;text-align:left!important}.sf-contact-page .sf-contact-heading h1{margin:10px 0 12px!important}.sf-contact-page .sf-contact-heading p{margin:0!important;color:var(--mx-muted)!important;font-size:16px!important;line-height:28px!important}
.sf-contact-page .sf-hero-glow,.sf-contact-page .sf-hero-glow-2{display:none!important}
.sf-contact-page .mx-contact-section-title{max-width:none}.sf-contact-page .sf-contact-grid{margin-bottom:32px}.sf-contact-page .sf-contact-assurance-grid>.mx-contact-section-title{grid-column:1/-1;margin-bottom:8px}
.sf-contact-page .sf-contact-assurance{padding-top:64px!important}
@media(max-width:767px){.mx-tool-head{margin-bottom:48px}.mx-tool-section-title,.mx-contact-section-title{margin-bottom:16px}.tool-wrap .tool-card{margin-bottom:48px!important;padding:20px!important}.tool-wrap .why{margin-bottom:48px}.sf-contact-page .sf-contact-inner,.sf-contact-page .sf-contact-assurance>.sf-container{padding-inline:16px!important}.sf-contact-page .sf-contact-heading{margin-bottom:48px!important}}
.sf-contact-page .sf-contact-heading,.sf-contact-page .sf-contact-inner>.mx-contact-section-title{grid-column:1/-1}
html:has(.mx-document-page),body:has(.mx-document-page),.app-content:has(.mx-document-page){background:#000!important}
.sf-contact-page .sf-contact-grid>.mx-contact-section-title{grid-column:1/-1;margin:0 0 8px}
.sf-contact-page .sf-contact-alert{display:flex!important;align-self:start;max-width:430px;padding:16px 20px!important;border:1px solid var(--mx-border)!important;border-radius:16px!important;background:var(--mx-panel)!important}
@media(max-width:767px){.sf-contact-page .sf-contact-alert{max-width:none}}
/* Match the storefront's 720px star field on every main-site subpage. */
.app-content:has(.mx-document-page,.tool-wrap,.dp,.sf-contact-page){position:relative;isolation:isolate;background:#000!important}
.app-content:has(.mx-document-page,.tool-wrap,.dp,.sf-contact-page)::before{content:""!important;display:block!important;position:absolute!important;inset:0 0 auto!important;z-index:0!important;height:720px!important;pointer-events:none!important;background:linear-gradient(to bottom,rgba(0,0,0,.03),#000 100%),url('/star.jpg') center top / cover no-repeat!important}
.app-content:has(.mx-document-page,.tool-wrap,.dp,.sf-contact-page)>:not(.mxh){position:relative;z-index:1}
.sf-page:has(.tool-wrap,.dp){position:relative;isolation:isolate;background:#000!important;background-image:none!important}
.sf-page:has(.tool-wrap,.dp)::before{content:""!important;display:block!important;position:absolute!important;inset:0 0 auto!important;z-index:0!important;height:720px!important;pointer-events:none!important;background:linear-gradient(to bottom,rgba(0,0,0,.03),#000 100%),url('/star.jpg') center top / cover no-repeat!important}
.sf-page:has(.tool-wrap,.dp)>*{position:relative;z-index:1}
.app-content .sf-page.sf-contact-page{background:transparent!important;background-color:transparent!important}
.app-content .sf-page.sf-contact-page::before,.app-content .sf-page.sf-contact-page::after{display:none!important}
.app-content .sf-page.sf-contact-page .sf-contact-hero,.app-content .sf-page.sf-contact-page .sf-contact-assurance{background:transparent!important}
/* One 1280px content edge for page headings, cards, and footer. */
.sf-contact-page .sf-container{max-width:1280px!important}
.mx-tool-head,.mx-tool-section-title,.mx-contact-section-title{max-width:none}
.tool-wrap .tool-card,.tool-wrap .why,.tool-wrap .note{max-width:none}
.tool-wrap .bar{background:rgba(255,255,255,.08)!important}
.tool-wrap .bar i{background:rgba(255,255,255,.6)!important}
.sf-contact-page .sf-contact-alert{align-self:center!important;margin-top:0!important}
.app-content .sf-page.sf-contact-page .sf-contact-alert{align-self:center!important;margin:0!important}
.sf-contact-page .sf-contact-alert span{font-size:13px!important;line-height:20px!important}
.sf-contact-page .mx-contact-mobile-help{display:none}
.sf-contact-page .sf-contact-assurance-grid{align-items:stretch}
.sf-contact-page .sf-contact-assurance-item{min-height:100px!important;padding:20px!important;border-radius:16px!important}
.sf-contact-page .sf-contact-assurance-item::before{border-radius:16px!important}
@media(max-width:767px){.app-content .sf-page.sf-contact-page .sf-contact-inner{grid-template-areas:"heading" "cards" "support"!important;gap:32px!important}.app-content .sf-page.sf-contact-page .sf-contact-alert{display:none!important}.app-content .sf-page.sf-contact-page .sf-contact-heading .mx-contact-mobile-help{display:block;margin-top:12px!important;font-size:13px!important;line-height:20px!important}}

/* UI4: detail pages and tools share the same compact reading rhythm. */
.tool-wrap,.dp,.sf-contact-page{ text-wrap:pretty }
.mx-nowrap{white-space:nowrap}
.tool-wrap .tool-card{margin-bottom:48px!important;padding:20px 24px!important}
.tool-wrap .why{margin-bottom:48px}
.tool-wrap .why>div{padding:20px 24px}
.tool-wrap .tool-sub,.sf-contact-page .sf-contact-heading p{font-size:15px!important;line-height:1.6!important}
.tool-wrap:has(#out) .tool-row>div:has(.tool-select){flex:0 0 220px}
.tool-wrap:has(#out) .tool-select{height:40px;min-height:40px;padding-right:28px}
.tool-wrap:has(#out) #gen{height:40px;min-height:40px!important;padding:0 16px}
.tool-wrap:has(#out) #copyall{height:36px;min-height:36px!important;padding:0 16px;border:1px solid var(--mx-border)}
.tool-wrap:has(#out) .kv{grid-template-columns:96px minmax(0,1fr)}
.tool-wrap:has(#out) .kv dd{word-break:normal;overflow-wrap:anywhere}
.tool-wrap:has(#msgs) .tool-row .tool-btn,.tool-wrap:has(#msgs) .empty .tool-btn{height:36px;min-height:36px!important;padding:0 14px}
.tool-wrap:has(#msgs) .empty{box-sizing:border-box;padding:32px 24px;line-height:1.35}
.tool-wrap:has(#msgs) .note{font-size:13px;line-height:1.5}
.tool-wrap:has(#code) .code-out{font-size:32px;letter-spacing:.2em;color:#fff}
.tool-wrap:has(#code) #copy{height:36px;min-height:36px!important;padding:0 16px}
.tool-wrap:has(#code) .tool-row:has(#copy){margin-top:16px!important}

/* AI detail heading, navigation and data table. */
.dp-kicker{display:block;margin-bottom:10px;color:var(--mx-muted);font-size:12px;line-height:18px;letter-spacing:.12em}
.dp .dp-head{align-items:center;margin-bottom:12px}
.dp .dp-h1{font-size:36px!important;line-height:44px!important}
.dp .dp-intro{display:grid;grid-template-columns:minmax(0,1fr) 200px;gap:24px;align-items:start}
.dp .dp-lead{margin:0;max-width:none;font-size:15px;line-height:1.6}
.dp .dp-lead b{white-space:nowrap}
.dp .dp-badge{box-sizing:border-box;width:200px;margin:0;text-align:left}
.dp .side-item{box-sizing:border-box;height:40px;min-height:40px;padding:0 12px;gap:8px}
.dp .side-name{display:block;line-height:1.2}
.dp .side-name b{display:block;font-size:13px}
.dp .side-name small{display:none}
.dp .side-gap{flex:none;width:42px;margin-left:auto;text-align:right;font-size:12px}
.dp .side-logo{width:24px;height:24px}

/* Demo text remains legible as the animated content changes. */
.sf-xai-dialogue-row{box-sizing:border-box;max-width:calc(100% - 24px);padding:12px 14px}
.sf-xai-dialogue-row span{display:-webkit-box;overflow:hidden;white-space:normal;-webkit-box-orient:vertical;-webkit-line-clamp:2;text-overflow:ellipsis}
.sf-xai-code-viewport{overflow-x:auto!important}
.sf-xai-code-command{font-size:12px;white-space:nowrap}

/* Contact page: let content determine section and card height. */
.sf-contact-page .sf-contact-hero{min-height:0!important;padding-bottom:0!important}
.sf-contact-page .sf-contact-assurance{padding-top:48px!important}
.sf-contact-page .sf-contact-assurance-item{min-height:0!important;padding:16px 20px!important}
.sf-contact-page .sf-contact-assurance-item p{font-size:15px!important;line-height:1.6!important;text-wrap:pretty}

@media(max-width:860px){
  .dp .side-item{height:32px!important;min-height:32px!important;padding:0 10px!important}
  .dp .side{padding-right:28px!important;mask-image:linear-gradient(to right,#000 calc(100% - 28px),transparent);-webkit-mask-image:linear-gradient(to right,#000 calc(100% - 28px),transparent)}
}
@media(max-width:767px){
  .tool-wrap .tool-card{padding:16px!important;margin-bottom:48px!important}
  .tool-wrap:has(#out) .tool-row>div:has(.tool-select){flex:1 1 calc(50% - 6px);min-width:0}
  .tool-wrap:has(#out) #state{appearance:none;font-family:system-ui,sans-serif;font-size:12px;padding-left:8px;padding-right:28px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='2'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 9px center;background-size:14px}
  .tool-wrap:has(#out) .kv{grid-template-columns:minmax(0,1fr);gap:0;font-size:14px}
  .tool-wrap:has(#out) .kv dt{margin-top:10px}
  .tool-wrap:has(#out) .kv dd{margin-top:2px;white-space:nowrap;font-size:14px}
  .tool-wrap:has(#msgs) .tool-row:has(#regen){gap:8px}
  .tool-wrap:has(#msgs) .tool-row:has(#regen) .tool-btn{font-size:13px;white-space:nowrap}
  .dp .dp-h1{font-size:32px!important;line-height:40px!important}
  .dp .dp-intro{display:block}
  .dp .dp-badge{width:200px;margin-top:16px}
  .dp .dp-lead{padding-inline:4px}
  .dp .tbl-wrap{overflow:visible}
  .dp table.rt,.dp table.rt tbody{display:block;width:100%;min-width:0}
  .dp table.rt thead{display:none}
  .dp table.rt tr{display:grid;grid-template-columns:26px minmax(0,1fr) 92px 58px;align-items:center;border-top:1px solid rgba(255,255,255,.08);padding:8px 4px}
  .dp table.rt tr:first-child{border-top:0}
  .dp table.rt td{box-sizing:border-box;min-width:0;padding:4px 8px;border:0;font-size:12px;white-space:normal}
  .dp table.rt td:nth-child(1){grid-column:1;grid-row:1/3;padding-left:8px}
  .dp table.rt td:nth-child(2){grid-column:2;grid-row:1/3;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .dp table.rt td:nth-child(3){grid-column:3;grid-row:1;text-align:right;white-space:nowrap}
  .dp table.rt td:nth-child(4){grid-column:3;grid-row:2;text-align:right;white-space:nowrap;color:var(--mx-muted)}
  .dp table.rt td:nth-child(5){grid-column:4;grid-row:1/3;text-align:right;white-space:nowrap}
  .dp table.rt td:nth-child(6){grid-column:2/5;grid-row:3;color:var(--mx-muted)}
  .dp table.rt td:nth-child(6)::before{content:"风险："}
  .dp table.rt td:nth-child(7){grid-column:2/5;grid-row:4;color:var(--mx-muted)!important;overflow-wrap:anywhere}
  .dp table.rt td:nth-child(7)::before{content:"税费："}
  .mx-footer a:not(.sf-footer-logo){display:inline-block;min-height:0;padding:0;line-height:20px}
  .mx-footer .sf-footer-col ul{gap:12px}
  .mx-footer .sf-footer-grid{row-gap:32px}
  .sf-contact-page .sf-contact-inner,.sf-contact-page .sf-contact-assurance>.sf-container{padding-inline:0!important}
  .sf-contact-page .sf-contact-assurance-item{padding:16px!important}
}
