/*! tailwindcss v4.3.3 | MIT License | https://tailwindcss.com */
@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial}}}@layer theme{:root,:host{--font-sans:"PingFang SC", "HarmonyOS Sans SC", "Microsoft YaHei", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--font-mono:"JetBrains Mono", "Cascadia Code", Consolas, Monaco, ui-monospace, monospace;--color-violet-500:#7c5cff;--radius-xl:1rem;--radius-2xl:1.25rem;--radius-3xl:1.75rem;--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono);--color-brand-50:#eef4ff;--color-brand-200:#bcd5ff;--color-brand-300:#8ebbff;--color-brand-400:#5b96ff;--color-brand-500:#165dff;--color-brand-600:#0f4fe0;--color-ink-900:#0b1220;--color-ink-100:#f0f1f5;--color-success:#00b42a;--color-success-bg:#e8f8ec;--color-warning:#ff7d00;--color-warning-bg:#fff3e8;--color-danger:#f53f3f;--color-danger-bg:#fce8e8;--color-info:#3491fa;--color-info-bg:#e8f0ff;--color-surface:#f4f6fb;--color-surface-2:#fff;--color-surface-3:#fafbfd;--color-text:#1d2129;--color-text-soft:#4e5969;--color-text-mute:#5f6b7a;--color-line:#e7e9f0;--color-line-2:#f0f1f5;--shadow-soft:0 1px 2px #1018280a, 0 8px 24px -12px #1018281f;--shadow-lift:0 2px 4px #1018280d, 0 18px 42px -18px #10182838;--shadow-glow:0 18px 48px -18px #165dff8c}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring:where(:not(iframe)){outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}body{font-family:var(--font-sans);background:var(--color-surface);color:var(--color-text);-webkit-font-smoothing:antialiased;line-height:1.7}h1,h2,h3,h4{letter-spacing:-.01em;line-height:1.25}a{color:var(--color-brand-500);text-decoration:none}a:hover{text-decoration:none}code{font-family:var(--font-mono);background:var(--color-ink-100);border:1px solid var(--color-line);word-break:break-all;border-radius:.375rem;padding:.1em .45em;font-size:.86em}.dark code{border-color:var(--color-line);background:#0d1626}pre{color:#d6e6f5;background:#0d1626;border-radius:.75rem;padding:14px 16px;font-size:.82rem;line-height:1.65;overflow-x:auto}pre code{color:inherit;background:0 0;border:none;padding:0}::selection{background:var(--color-brand-200);color:var(--color-ink-900)}}@layer components{.wrap{max-width:1120px;margin-inline:auto;padding:28px 22px 80px}.wrap-narrow{max-width:840px;margin-inline:auto;padding:28px 22px 80px}.wrap-wide{max-width:1600px;margin-inline:auto;padding:28px 32px 80px}.nav{z-index:30;background:#ffffffd1;position:sticky;top:0}@supports (color:color-mix(in lab, red, red)){.nav{background:color-mix(in srgb, var(--color-surface-2) 82%, transparent)}}.nav{-webkit-backdrop-filter:saturate(180%)blur(14px);backdrop-filter:saturate(180%)blur(14px);border-bottom:1px solid var(--color-line)}.nav .inner{justify-content:space-between;align-items:center;max-width:1120px;height:62px;margin-inline:auto;padding:0 22px;display:flex}.logo{color:var(--color-text);letter-spacing:-.02em;align-items:center;gap:10px;font-size:19px;font-weight:800;display:flex}.logo img{object-fit:contain;border-radius:8px;width:auto;max-width:180px;height:30px;display:block}.logo #brandName{white-space:nowrap;line-height:1}.logo .dot{background:linear-gradient(135deg, var(--color-brand-500), var(--color-violet-500));border-radius:4px;width:11px;height:11px;box-shadow:0 0 0 4px #165dff24}@supports (color:color-mix(in lab, red, red)){.logo .dot{box-shadow:0 0 0 4px color-mix(in srgb, var(--color-brand-500) 14%, transparent)}}.nav-links{align-items:center;gap:22px;font-size:14px;display:flex}.nav-links a,.nav-links button{color:var(--color-text-soft);cursor:pointer;font-size:14px;font-family:var(--font-sans);background:0 0;border:none;transition:color .18s}.nav-links a:hover,.nav-links button:hover{color:var(--color-brand-500)}.nav-links .theme-toggle{border:1px solid var(--color-line);background:var(--color-surface-2);width:36px;height:36px;color:var(--color-text-soft);cursor:pointer;border-radius:10px;justify-content:center;align-items:center;transition:all .18s;display:inline-flex}.nav-links .theme-toggle:hover{border-color:var(--color-brand-400);color:var(--color-brand-500)}header.top{color:#fff;background:linear-gradient(135deg,#0c3fb3 0%,#165dff 46%,#7c5cff 100%);padding:30px 22px;position:relative;overflow:hidden}header.top:after{content:"";pointer-events:none;background:radial-gradient(60% 120% at 88% -20%,#ffffff47,#0000 60%);position:absolute;inset:0}header.top .inner{z-index:1;max-width:1120px;margin-inline:auto;position:relative}header.top a{color:#ffffffdb}header.top a:hover{color:#fff}header.top h1{margin:8px 0 0;font-size:26px;font-weight:700}.btn{background:linear-gradient(135deg, var(--color-brand-500), var(--color-brand-600));color:#fff;cursor:pointer;font-size:15px;font-weight:600;font-family:var(--font-sans);border:none;border-radius:12px;justify-content:center;align-items:center;gap:8px;padding:12px 26px;transition:transform .16s,box-shadow .16s,filter .16s;display:inline-flex;box-shadow:0 8px 20px -10px #165dffb3}.btn:hover{filter:brightness(1.05);color:#fff;transform:translateY(-1px)}.btn:active{transform:translateY(0)}.btn.ghost{box-shadow:none;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#ffffff29;border:1px solid #ffffff59}.btn.ghost:hover{background:#ffffff47}.btn.small{box-shadow:none;border-radius:10px;padding:8px 16px;font-size:13px;font-weight:600}.btn.line{background:var(--color-surface-2);color:var(--color-brand-500);border:1px solid var(--color-line);box-shadow:none}.btn.line:hover{border-color:var(--color-brand-400)}.card{background:var(--color-surface-2);border:1px solid var(--color-line);border-radius:var(--radius-xl);box-shadow:var(--shadow-soft);padding:22px;transition:box-shadow .2s,border-color .2s,transform .2s}.card h3{margin-bottom:6px;font-size:16px;font-weight:700}.card p{color:var(--color-text-soft);font-size:13.5px}.grid{grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:18px;display:grid}.feature{text-align:center;flex-direction:column;align-items:center;display:flex}.feature .ico{aspect-ratio:1;width:100%;color:var(--color-brand-500);background:linear-gradient(135deg, var(--color-brand-50), #7c5cff24);border-radius:22px;justify-content:center;align-items:center;margin-bottom:16px;font-size:clamp(28px,4vw,40px);font-weight:800;display:flex}@supports (color:color-mix(in lab, red, red)){.feature .ico{background:linear-gradient(135deg, var(--color-brand-50), color-mix(in srgb, var(--color-violet-500) 14%, transparent))}}.feature .ico{border:1px solid #5b96ff4d}@supports (color:color-mix(in lab, red, red)){.feature .ico{border:1px solid color-mix(in srgb, var(--color-brand-400) 30%, transparent)}}.feature .ico{flex:none}.feature h3{margin-bottom:8px}.feature p{flex:auto}.ability-swiper{width:100%;padding:26px 0 62px}.ability-swiper .swiper-slide{height:auto}.ability-swiper .card{flex-direction:column;justify-content:center;height:100%;min-height:240px;display:flex}.ability-swiper .swiper-slide-active .card{box-shadow:var(--shadow-lift)}.ability-swiper .swiper-pagination-bullet-active{background:var(--color-brand-500)}.ability-swiper .swiper-button-prev,.ability-swiper .swiper-button-next{color:var(--color-brand-500)}@media (max-width:620px){.ability-swiper .card{min-height:220px}}.hero{color:#fff;border-radius:var(--radius-3xl);box-shadow:var(--shadow-glow);background:linear-gradient(135deg,#0b2f8f 0%,#165dff 46%,#7c5cff 100%);margin-bottom:26px;padding:56px 44px;position:relative;overflow:hidden}.hero:before{content:"";opacity:.5;background-image:radial-gradient(#ffffff38 1px,#0000 1px);background-size:22px 22px;position:absolute;inset:0;-webkit-mask-image:linear-gradient(#000,#0000 78%);mask-image:linear-gradient(#000,#0000 78%)}.hero:after{content:"";pointer-events:none;background:radial-gradient(circle,#ffffff52,#0000 62%);border-radius:50%;width:460px;height:460px;position:absolute;top:-180px;right:-140px}.hero>*{z-index:1;position:relative}.hero-full{border-radius:0;flex-direction:column;justify-content:center;width:100%;min-height:clamp(420px,52vw,660px);margin:0;padding:clamp(28px,5vw,72px) clamp(24px,7vw,140px);display:flex}.hero-slides{z-index:0;pointer-events:none;position:absolute;inset:0}.hero-slide{opacity:.55;background-position:50%;background-size:cover;position:absolute;inset:0}.hero-fx-slide .hero-slide,.hero-fx-slide .hero-slide.next{transform:translate(100%)}.hero-fx-slide .hero-slide.prev{transform:translate(-100%)}.hero-fx-slide .hero-slide.active{transform:translate(0)}.hero.hero-anim .hero-fx-slide .hero-slide.active,.hero.hero-anim .hero-fx-slide .hero-slide.prev{transition:transform .8s cubic-bezier(.4,0,.2,1)}.hero-fx-fade .hero-slide{opacity:0;transition:opacity .8s}.hero-fx-fade .hero-slide.active{opacity:.55}.hero-fx-zoom .hero-slide{opacity:0;transition:opacity .8s,transform .8s;transform:scale(1.08)}.hero-fx-zoom .hero-slide.active{opacity:.55;transform:scale(1)}.hero-caption{z-index:1;color:#ffffffeb;background:#0000003d;border-radius:999px;margin-top:14px;padding:4px 12px;font-size:13px;display:inline-block;position:relative}.hero-caption.show,.hero-tx{animation:.5s both heroCapIn}@keyframes heroCapIn{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}.hero-dots{z-index:1;gap:8px;margin-top:12px;display:flex;position:relative}.hero-dot{cursor:pointer;background:#ffffff6b;border:none;border-radius:50%;width:8px;height:8px;padding:0;transition:width .2s,background .2s}.hero-dot.active{background:#fff;border-radius:4px;width:22px}.hero-arrow{z-index:2;color:#fff;cursor:pointer;background:#00000038;border:1px solid #ffffff73;border-radius:50%;justify-content:center;align-items:center;width:42px;height:42px;transition:background .2s;display:none;position:absolute;top:50%;transform:translateY(-50%)}.hero-arrow:hover{background:#00000073}.hero-arrow.prev{left:18px}.hero-arrow.next{right:18px}@media (max-width:720px){.hero-arrow{display:none!important}}.hero.has-photo .hero-bg{opacity:.18}.hero h1{margin-bottom:12px;font-size:clamp(26px,3.4vw,40px);font-weight:800}.hero p{opacity:.95;max-width:680px;font-size:15.5px}.hero .cta{flex-wrap:wrap;gap:12px;margin-top:26px;display:flex}.hero-img{object-fit:cover;border:2px solid #ffffff40;border-radius:18px;max-width:300px;max-height:220px;position:absolute;top:50%;right:26px;transform:translateY(-50%);box-shadow:0 30px 60px -20px #0000008c}.hero-bg,.hero-blobs,.hero-particles{z-index:0;pointer-events:none;position:absolute;inset:0}.hero-bg{opacity:.5;background:linear-gradient(120deg,#0b2f8f,#165dff,#7c5cff,#0b2f8f) 0 0/300% 300%;animation:18s ease-in-out infinite heroGradient}.hero-blobs{overflow:hidden}.hero-blobs i{filter:blur(46px);opacity:.5;border-radius:50%;animation:16s ease-in-out infinite blobFloat;display:block;position:absolute}.hero-blobs i:first-child{background:radial-gradient(circle,#3f7bff,#0000 65%);width:320px;height:320px;animation-delay:-4s;top:6%;left:6%}.hero-blobs i:nth-child(2){background:radial-gradient(circle,#a06bff,#0000 65%);width:260px;height:260px;animation-delay:-10s;bottom:2%;right:8%}.hero-blobs i:nth-child(3){opacity:.4;background:radial-gradient(circle,#2fd6f0,#0000 65%);width:200px;height:200px;animation-delay:-13s;top:-40px;left:42%}.hero-particles:before{content:"";background-image:radial-gradient(#ffffff8c 1.2px,#0000 1.2px);background-size:34px 34px;animation:20s linear infinite particleRise;position:absolute;inset:-46px}@keyframes heroGradient{0%{background-position:0%}50%{background-position:100%}to{background-position:0%}}@keyframes blobFloat{0%,to{transform:translate(0)scale(1)}33%{transform:translate(42px,-30px)scale(1.08)}66%{transform:translate(-30px,26px)scale(.96)}}@keyframes particleRise{0%{transform:translateY(0)}to{transform:translateY(34px)}}@media (prefers-reduced-motion:reduce){.hero-bg,.hero-blobs i,.hero-particles:before{animation:none!important}.hero-slide{transition:none!important}}.feature .ico svg{width:44%;height:44%}.card-ico{object-fit:contain;width:100%;height:100%}.stats{grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:14px;margin:20px 0 6px;display:grid}.stat{background:var(--color-surface-2);border:1px solid var(--color-line);border-radius:var(--radius-xl);text-align:center;box-shadow:var(--shadow-soft);padding:18px}.stat .v{background:linear-gradient(135deg, var(--color-brand-500), var(--color-violet-500));color:#0000;-webkit-background-clip:text;background-clip:text;font-size:21px;font-weight:800}.stat .l{color:var(--color-text-soft);margin-top:4px;font-size:12px}.sec-title{margin:30px 0 14px;font-size:21px;font-weight:800}.steps{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:16px;margin-bottom:10px;display:grid}.step{background:var(--color-surface-2);border:1px solid var(--color-line);border-radius:var(--radius-xl);box-shadow:var(--shadow-soft);padding:20px}.step .num{background:linear-gradient(135deg, var(--color-brand-500), var(--color-violet-500));color:#fff;border-radius:50%;justify-content:center;align-items:center;width:30px;height:30px;margin-bottom:12px;font-weight:700;display:flex}.step h4,.step h3{margin:0 0 6px;font-size:15px;font-weight:700}.step p{color:var(--color-text-soft);margin:0;font-size:12.5px;line-height:1.7}.faq{gap:10px;margin-bottom:10px;display:grid}.faq-item{background:var(--color-surface-2);border:1px solid var(--color-line);border-radius:var(--radius-xl);padding:15px 18px;font-size:14px}.faq-item summary{cursor:pointer;justify-content:space-between;align-items:center;gap:12px;font-weight:600;list-style:none;display:flex}.faq-item summary::-webkit-details-marker{display:none}.faq-item summary:after{content:"▾";color:var(--color-text-mute);transition:transform .2s}.faq-item[open] summary:after{transform:rotate(180deg)}.faq-item p{color:var(--color-text-soft);margin:10px 0 0;font-size:13px}.field{margin:15px 0}.field label{color:var(--color-text-soft);margin-bottom:7px;font-size:13px;font-weight:500;display:block}.field input{border:1px solid var(--color-line);width:100%;font-size:14px;font-family:var(--font-sans);background:var(--color-surface-2);color:var(--color-text);border-radius:11px;padding:11px 14px;transition:border-color .16s,box-shadow .16s}.field input:focus{border-color:var(--color-brand-500);outline:none;box-shadow:0 0 0 4px #165dff24}@supports (color:color-mix(in lab, red, red)){.field input:focus{box-shadow:0 0 0 4px color-mix(in srgb, var(--color-brand-500) 14%, transparent)}}.input-with-eye{align-items:center;display:flex;position:relative}.input-with-eye input{padding-right:40px}.eye-btn{cursor:pointer;color:var(--color-text-mute);-webkit-user-select:none;user-select:none;opacity:.85;line-height:0;position:absolute;right:12px}.eye-btn:hover{opacity:1}.msg{color:var(--color-danger);margin:10px 0;font-size:13.5px}.msg.ok{color:var(--color-success);background:var(--color-success-bg);border:1px solid #00b42a4d}@supports (color:color-mix(in lab, red, red)){.msg.ok{border:1px solid color-mix(in srgb, var(--color-success) 30%, transparent)}}.msg.ok{word-break:break-all;border-radius:11px;padding:10px 12px}.msg.is-success{color:var(--color-success);background:var(--color-success-bg);border:1px solid #00b42a4d}@supports (color:color-mix(in lab, red, red)){.msg.is-success{border:1px solid color-mix(in srgb, var(--color-success) 30%, transparent)}}.msg.is-success{word-break:break-all;border-radius:11px;padding:10px 12px}.msg.is-warning{color:var(--color-warning);background:var(--color-warning-bg);border:1px solid #ff7d004d}@supports (color:color-mix(in lab, red, red)){.msg.is-warning{border:1px solid color-mix(in srgb, var(--color-warning) 30%, transparent)}}.msg.is-warning{word-break:break-all;border-radius:11px;padding:10px 12px}.msg.is-info{color:var(--color-info);background:var(--color-info-bg);border:1px solid #3491fa4d}@supports (color:color-mix(in lab, red, red)){.msg.is-info{border:1px solid color-mix(in srgb, var(--color-info) 30%, transparent)}}.msg.is-info{word-break:break-all;border-radius:11px;padding:10px 12px}.msg.is-danger{color:var(--color-danger);background:var(--color-danger-bg);border:1px solid #f53f3f4d}@supports (color:color-mix(in lab, red, red)){.msg.is-danger{border:1px solid color-mix(in srgb, var(--color-danger) 30%, transparent)}}.msg.is-danger{word-break:break-all;border-radius:11px;padding:10px 12px}.toast-wrap{z-index:9999;pointer-events:none;flex-direction:column;gap:10px;max-width:min(92vw,380px);display:flex;position:fixed;top:18px;right:18px}.toast{pointer-events:auto;background:var(--color-surface-2);border:1px solid var(--color-line);box-shadow:var(--shadow-lift);color:var(--color-text);border-radius:12px;align-items:flex-start;gap:10px;padding:12px 14px;font-size:13.5px;line-height:1.6;animation:.35s cubic-bezier(.16,.84,.44,1) both toastIn;display:flex}.toast.out{animation:.4s both toastOut}.toast .toast-ico{color:#fff;border-radius:50%;flex:none;justify-content:center;align-items:center;width:18px;height:18px;margin-top:2px;font-size:12px;font-weight:800;display:flex}.toast.is-success .toast-ico{background:var(--color-success)}.toast.is-warning .toast-ico{background:var(--color-warning)}.toast.is-danger .toast-ico{background:var(--color-danger)}.toast.is-info .toast-ico{background:var(--color-info)}.toast.is-success{border-color:#00b42a66}@supports (color:color-mix(in lab, red, red)){.toast.is-success{border-color:color-mix(in srgb, var(--color-success) 40%, transparent)}}.toast.is-warning{border-color:#ff7d0066}@supports (color:color-mix(in lab, red, red)){.toast.is-warning{border-color:color-mix(in srgb, var(--color-warning) 40%, transparent)}}.toast.is-danger{border-color:#f53f3f66}@supports (color:color-mix(in lab, red, red)){.toast.is-danger{border-color:color-mix(in srgb, var(--color-danger) 40%, transparent)}}.toast.is-info{border-color:#3491fa66}@supports (color:color-mix(in lab, red, red)){.toast.is-info{border-color:color-mix(in srgb, var(--color-info) 40%, transparent)}}@keyframes toastIn{0%{opacity:0;transform:translate(24px)}to{opacity:1;transform:none}}@keyframes toastOut{0%{opacity:1;transform:none}to{opacity:0;transform:translate(24px)}}.login-box,.card.login{max-width:430px;margin:44px auto}table{border-collapse:separate;border-spacing:0;width:100%;margin-top:10px;font-size:13.5px}th,td{border-bottom:1px solid var(--color-line);text-align:left;padding:11px 12px}th{color:var(--color-text-mute);text-transform:none;background:var(--color-surface-3);font-size:12.5px;font-weight:600}thead th:first-child{border-top-left-radius:10px}thead th:last-child{border-top-right-radius:10px}tbody tr{transition:background .15s}tbody tr:hover td{background:#165dff0a}@supports (color:color-mix(in lab, red, red)){tbody tr:hover td{background:color-mix(in srgb, var(--color-brand-500) 4%, transparent)}}.hero-user{color:#fff;border-radius:var(--radius-2xl);box-shadow:var(--shadow-glow);background:linear-gradient(135deg,#0b2f8f 0%,#165dff 50%,#7c5cff 100%);margin-bottom:18px;padding:26px 28px;position:relative;overflow:hidden}.hero-user:after{content:"";background:radial-gradient(circle,#ffffff47,#0000 60%);border-radius:50%;width:340px;height:340px;position:absolute;top:-150px;right:-110px}.hero-user>*{z-index:1;position:relative}.kpis{flex-wrap:wrap;gap:14px;margin-top:16px;display:flex}.kpi{border-radius:var(--radius-xl);text-align:center;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#ffffff29;border:1px solid #ffffff38;min-width:148px;padding:13px 20px}.kpi .v{font-size:22px;font-weight:800}.kpi .l{opacity:.9;font-size:12px}.tabs{flex-wrap:wrap;gap:8px;margin-bottom:16px;display:flex}.tab{background:var(--color-surface-2);border:1px solid var(--color-line);color:var(--color-text-soft);cursor:pointer;font-size:14px;font-family:var(--font-sans);border-radius:11px;padding:9px 18px;font-weight:500;transition:all .16s}.tab:hover{border-color:var(--color-brand-400);color:var(--color-brand-500)}.tab:focus{outline:none}.tab.active{background:linear-gradient(135deg, var(--color-brand-500), var(--color-brand-600));color:#fff;border-color:#0000;box-shadow:0 8px 18px -10px #165dffcc}.tab.active:hover{color:#fff}.badge{border-radius:999px;align-items:center;padding:2px 11px;font-size:12px;font-weight:600;display:inline-flex}.b-ok{background:var(--color-success-bg);color:var(--color-success)}.b-off{background:var(--color-ink-100);color:var(--color-text-mute)}.tag{background:var(--color-success-bg);color:var(--color-success);border-radius:999px;padding:2px 11px;font-size:12px;font-weight:600;display:inline-block}.plans{grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:16px;display:grid}.plan{border:1px solid var(--color-line);border-radius:var(--radius-2xl);background:var(--color-surface-2);box-shadow:var(--shadow-soft);padding:20px;transition:all .2s}.plan:hover{border-color:var(--color-brand-300);box-shadow:var(--shadow-lift);transform:translateY(-2px)}.plan .pname{color:var(--color-brand-500);font-weight:700}.plan .pprice{margin:8px 0;font-size:26px;font-weight:800}.plan .pprice small{color:var(--color-text-mute);font-size:12px;font-weight:400}.row{justify-content:space-between;align-items:center;gap:12px;display:flex}.mut{color:var(--color-text-mute);font-size:13px}.small{font-size:12.5px}.link{color:var(--color-brand-500)}.badge-pill{background:#165dff1f;border-radius:999px;align-items:center;gap:6px;padding:4px 12px;font-size:12px;font-weight:600;display:inline-flex}@supports (color:color-mix(in lab, red, red)){.badge-pill{background:color-mix(in srgb, var(--color-brand-500) 12%, transparent)}}.badge-pill{color:var(--color-brand-500)}.tok-key{vertical-align:middle;white-space:nowrap;text-overflow:ellipsis;max-width:220px;font-size:12px;display:inline-block;overflow:hidden}.tok-copy{white-space:nowrap;margin-left:6px;font-size:12px}.upload-preview{border:1.5px dashed var(--color-line);background:var(--color-surface-3);width:168px;height:112px;color:var(--color-text-mute);text-align:center;cursor:pointer;border-radius:12px;flex:none;justify-content:center;align-items:center;font-size:12px;line-height:1.4;transition:border-color .18s,box-shadow .18s;display:flex;position:relative;overflow:hidden}.upload-preview:hover{border-color:var(--color-brand-400);box-shadow:0 0 0 3px #165dff1a}@supports (color:color-mix(in lab, red, red)){.upload-preview:hover{box-shadow:0 0 0 3px color-mix(in srgb, var(--color-brand-500) 10%, transparent)}}.upload-preview.has-img{border-style:solid;border-color:var(--color-line-2)}.upload-preview img{object-fit:cover;width:100%;height:100%;display:block}.upload-preview .up-hint{pointer-events:none;word-break:break-all;padding:6px 8px}.dash{grid-template-columns:232px minmax(0,1fr);align-items:start;gap:22px;display:grid}.dash-side{background:var(--color-surface-2);border:1px solid var(--color-line);border-radius:var(--radius-2xl);box-shadow:var(--shadow-soft);padding:16px;position:sticky;top:78px}.dash-brand{border-bottom:1px solid var(--color-line);align-items:center;gap:9px;margin-bottom:12px;padding:4px 8px 14px;font-size:15px;font-weight:800;display:flex}.dash-brand .dot{background:linear-gradient(135deg, var(--color-brand-500), var(--color-violet-500));border-radius:4px;width:10px;height:10px}.dash-nav{flex-direction:column;gap:4px;display:flex}.dash-nav .tab{text-align:left;width:100%;color:var(--color-text-soft);box-shadow:none;background:0 0;border:none;border-radius:10px;justify-content:flex-start;align-items:center;padding:10px 12px;font-size:14px;display:flex}.dash-nav .tab:hover{background:#165dff17}@supports (color:color-mix(in lab, red, red)){.dash-nav .tab:hover{background:color-mix(in srgb, var(--color-brand-500) 9%, transparent)}}.dash-nav .tab:hover{color:var(--color-brand-500);border:none}.dash-nav .tab.active{background:linear-gradient(135deg, var(--color-brand-500), var(--color-brand-600));color:#fff;box-shadow:0 10px 22px -12px #165dffe6}.dash-nav .tab.active:hover{color:#fff}.dash-side-foot{border-top:1px solid var(--color-line);flex-direction:column;gap:6px;margin-top:14px;padding-top:12px;font-size:13px;display:flex}.dash-main{min-width:0}.dash-top{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-bottom:16px;display:flex}.dash-title{font-size:20px;font-weight:800}.dash-tools{align-items:center;gap:8px;display:flex}.dash-body .card{margin-bottom:16px}.site-tabs{margin-bottom:14px}.site-grid{grid-template-columns:repeat(auto-fit,minmax(340px,1fr));align-items:start;gap:16px;display:grid}.site-subpanel .card,.site-grid .card{margin-bottom:0}.site-save{z-index:2;background:var(--color-surface);border-top:1px solid var(--color-line);align-items:center;gap:8px;margin:16px 0 20px;padding:12px 0;display:flex;position:sticky;bottom:8px}@media (max-width:720px){.site-grid{grid-template-columns:1fr}}.stat-cards{grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:16px;margin-bottom:20px;display:grid}.stat-card{background:var(--color-surface-2);border:1px solid var(--color-line);border-radius:var(--radius-2xl);box-shadow:var(--shadow-soft);padding:18px 20px}.stat-card .sc-l{color:var(--color-text-mute);font-size:12.5px}.stat-card .sc-v{margin-top:6px;font-size:26px;font-weight:800}footer.site{text-align:center;max-width:1120px;color:var(--color-text-mute);border-top:1px solid var(--color-line);margin:44px auto 26px;padding:22px;font-size:13px}footer.site a{color:var(--color-text-soft);margin:0 10px}footer.site a:hover{color:var(--color-brand-500)}.dl-card{background:var(--color-surface-2);border:1px solid var(--color-line);border-radius:var(--radius-2xl);max-width:820px;box-shadow:var(--shadow-soft);margin:26px auto;padding:28px 32px}.dl-card h2{margin:0 0 4px;font-size:23px;font-weight:800}.ver{color:var(--color-text-mute);margin-bottom:18px;font-size:13px}.btn.secondary{background:var(--color-brand-50);color:var(--color-brand-500);border:1px solid #5b96ff66}@supports (color:color-mix(in lab, red, red)){.btn.secondary{border:1px solid color-mix(in srgb, var(--color-brand-400) 40%, transparent)}}.btn.secondary{box-shadow:none;padding:10px 20px;font-size:14px}.btn.secondary.active{background:linear-gradient(135deg, var(--color-brand-500), var(--color-brand-600));color:#fff;border-color:#0000}}@layer utilities{.visible{visibility:visible}.static{position:static}.container{width:100%}@media (min-width:40rem){.container{max-width:40rem}}@media (min-width:48rem){.container{max-width:48rem}}@media (min-width:64rem){.container{max-width:64rem}}@media (min-width:80rem){.container{max-width:80rem}}@media (min-width:96rem){.container{max-width:96rem}}.block{display:block}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline{display:inline}.inline-block{display:inline-block}.table{display:table}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.resize{resize:both}.backface-hidden{backface-visibility:hidden}.glass{background:#ffffffb8}@supports (color:color-mix(in lab, red, red)){.glass{background:color-mix(in srgb, var(--color-surface-2) 72%, transparent)}}.glass{-webkit-backdrop-filter:saturate(180%)blur(12px);backdrop-filter:saturate(180%)blur(12px);border:1px solid #e7e9f0cc}@supports (color:color-mix(in lab, red, red)){.glass{border:1px solid color-mix(in srgb, var(--color-line) 80%, transparent)}}.text-gradient{background:linear-gradient(135deg, var(--color-brand-500), var(--color-violet-500));color:#0000;-webkit-background-clip:text;background-clip:text}.ring-brand{box-shadow:0 0 0 4px #165dff29}@supports (color:color-mix(in lab, red, red)){.ring-brand{box-shadow:0 0 0 4px color-mix(in srgb, var(--color-brand-500) 16%, transparent)}}.animate-rise{animation:.6s cubic-bezier(.16,.84,.44,1) both rise}.animate-fade{animation:.5s both fade}.reveal{opacity:0;transition:opacity .6s,transform .6s cubic-bezier(.16,.84,.44,1);transform:translateY(14px)}.reveal.in{opacity:1;transform:none}}.dark{--color-surface:#0a0f1c;--color-surface-2:#111827;--color-surface-3:#0f1726;--color-text:#e6ebf4;--color-text-soft:#aab4c5;--color-text-mute:#7b869a;--color-line:#1f2a3d;--color-line-2:#172033;--color-brand-50:#12203f;--color-brand-100:#16294f;--color-ink-800:#e6ebf4;--color-ink-700:#cdd6e6;--color-ink-600:#aab4c5}:root{--primary:var(--color-brand-500);--primary-light:var(--color-brand-400);--primary-bg:var(--color-brand-50);--success:var(--color-success);--success-bg:var(--color-success-bg);--warning:var(--color-warning);--warning-bg:var(--color-warning-bg);--danger:var(--color-danger);--danger-bg:var(--color-danger-bg);--info:var(--color-info);--info-bg:var(--color-info-bg);--bg-primary:var(--color-surface);--bg-secondary:var(--color-surface-2);--bg-tertiary:var(--color-surface-3);--text:var(--color-text);--text-primary:var(--color-text);--text-secondary:var(--color-text-soft);--text-tertiary:var(--color-text-mute);--border:var(--color-line);--border-light:var(--color-line-2);--radius:.75rem;--radius-lg:1rem;--font:var(--font-sans);--mut:var(--color-text-mute)}@keyframes rise{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:none}}@keyframes fade{0%{opacity:0}to{opacity:1}}@media (max-width:1180px){.hero-img{display:none!important}}@media (max-width:900px){.dash{grid-template-columns:1fr}.dash-side{position:static}.dash-nav{flex-flow:wrap}.dash-nav .tab{width:auto}}@media (max-width:620px){.wrap-wide{padding-inline:18px}}@media (max-width:820px){.nav .inner{flex-wrap:wrap;row-gap:4px;height:auto;min-height:56px;padding:8px 16px}.nav-links{flex-wrap:wrap;gap:14px;font-size:13px}}.brand-top{letter-spacing:.02em;opacity:.92;margin-bottom:3px;font-size:13px;font-weight:800}.nav-toggle{cursor:pointer;color:var(--color-text);background:0 0;border:none;align-items:center;padding:4px;display:none}@media (max-width:760px){.nav-toggle{display:inline-flex}.nav-links{border-top:1px solid var(--color-line);flex-direction:column;align-items:flex-start;gap:12px;width:100%;margin-top:6px;padding:12px 0 6px;display:none}.nav-links.open{display:flex}}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}

/* ==================== P1 三产品门户 ==================== */
html { scroll-behavior: smooth; }
#products { scroll-margin-top: 82px; }

/* 导航下拉 */
.nav-drop { position: relative; display: flex; align-items: center; }
.nav-drop-trigger { display: inline-flex; align-items: center; gap: 4px; }
.nav-drop-menu {
  position: absolute; top: calc(100% + 12px); left: 50%; transform: translate(-50%, 6px);
  min-width: 236px; padding: 8px; border-radius: 14px;
  background: var(--color-surface-2); border: 1px solid var(--color-line);
  box-shadow: var(--shadow-lift); opacity: 0; visibility: hidden; transition: .18s ease; z-index: 40;
}
.nav-drop:hover .nav-drop-menu, .nav-drop:focus-within .nav-drop-menu { opacity: 1; visibility: visible; transform: translate(-50%, 0); }
.nav-drop-menu a { display: flex; align-items: center; gap: 10px; padding: 10px; border-radius: 10px; color: var(--color-text); }
.nav-drop-menu a:hover { background: var(--color-surface-3); color: var(--color-text); }
.nd-icon { width: 22px; height: 22px; border-radius: 7px; object-fit: cover; flex: 0 0 auto; background: #fff; box-shadow: 0 2px 7px rgba(11,18,32,.14); }
.nav-drop-menu b { display: block; font-size: 13.5px; font-weight: 700; }
.nav-drop-menu small { display: block; color: var(--color-text-mute); font-size: 12px; margin-top: 1px; }

/* 首页 Hero */
.home-hero.hero-full { min-height: 0; padding: clamp(34px, 5vw, 64px) clamp(22px, 6vw, 80px) clamp(30px, 4vw, 52px); background: linear-gradient(125deg, #071a4d 0%, #0e3bb8 42%, #165dff 70%, #7c5cff 100%); }
.home-hero::before { opacity: .3; }
.home-hero::after { width: 620px; height: 620px; top: -300px; right: -180px; opacity: .5; }
.hero-inner { max-width: 1120px; width: 100%; margin: 0 auto; }
.hero-badge { background: rgba(255,255,255,.16); color: #fff; border: 1px solid rgba(255,255,255,.28); -webkit-backdrop-filter: blur(6px); backdrop-filter: blur(6px); }
.home-hero h1 { max-width: 780px; font-size: clamp(32px, 9.6vw, 48px); line-height: 1.12; letter-spacing: -.02em; text-wrap: balance; }
.home-hero #siteHeroSub { max-width: 660px; opacity: .92; font-size: clamp(14px, 1.4vw, 16px); }
.hero-trust { display: flex; flex-wrap: wrap; gap: 14px 32px; margin-top: 34px; padding-top: 22px; border-top: 1px solid rgba(255,255,255,.18); max-width: 780px; }
.hero-trust > div { display: flex; align-items: baseline; gap: 7px; }
.hero-trust b { font-size: 19px; font-weight: 800; letter-spacing: -.02em; }
.hero-trust span { font-size: 12.5px; color: rgba(255,255,255,.78); }
.home-hero .hero-dots { margin-top: 18px; }
.home-hero .hero-dots:empty { display: none; }

/* 区块标题 */
.sec-head { margin: 48px 0 18px; }
.sec-head .eyebrow { display: inline-block; font-size: 12px; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; color: var(--color-brand-500); margin-bottom: 8px; }
.sec-head h2 { font-size: clamp(22px, 2.4vw, 28px); font-weight: 800; letter-spacing: -.02em; margin: 0 0 6px; }
.sec-head p { color: var(--color-text-soft); font-size: 14px; margin: 0; max-width: 720px; line-height: 1.7; }

/* 产品卡 */
.product-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; }
.product-card {
  position: relative; padding: 24px; border-radius: 20px; display: flex; flex-direction: column;
  background: var(--color-surface-2); border: 1px solid var(--color-line); box-shadow: var(--shadow-soft);
  transition: transform .2s, box-shadow .2s, border-color .2s; overflow: hidden;
}
.product-card::before { content: ""; position: absolute; inset: 0 0 auto 0; height: 3px; background: linear-gradient(90deg, var(--pc), var(--pc2)); }
.product-card:hover { transform: translateY(-3px); box-shadow: var(--shadow-lift); border-color: color-mix(in srgb, var(--pc) 40%, var(--color-line)); }
.pc-head { display: flex; align-items: center; justify-content: space-between; margin-bottom: 14px; }
.pc-mark { width: 44px; height: 44px; border-radius: 13px; object-fit: cover; flex: 0 0 auto; background: #fff; box-shadow: 0 10px 22px -10px var(--pc); }
.pc-badge { font-size: 11.5px; font-weight: 700; color: var(--pc); background: color-mix(in srgb, var(--pc) 10%, transparent); border: 1px solid color-mix(in srgb, var(--pc) 22%, transparent); border-radius: 999px; padding: 4px 10px; }
.product-card h3 { font-size: 19px; font-weight: 800; letter-spacing: -.01em; margin: 0; }
.pc-role { font-size: 12.5px; color: var(--color-text-mute); margin: 3px 0 12px; }
.pc-desc { font-size: 13.5px; line-height: 1.7; color: var(--color-text-soft); margin: 0 0 14px; }
.pc-list { list-style: none; margin: 0 0 20px; padding: 0; display: grid; gap: 8px; }
.pc-list li { position: relative; padding-left: 20px; font-size: 12.8px; color: var(--color-text-soft); }
.pc-list li::before { content: ""; position: absolute; left: 2px; top: 6px; width: 8px; height: 8px; border-radius: 50%; background: color-mix(in srgb, var(--pc) 55%, var(--color-surface-2)); box-shadow: 0 0 0 3px color-mix(in srgb, var(--pc) 12%, transparent); }
.pc-foot { margin-top: auto; display: flex; gap: 8px; }
.pc-foot .btn { flex: 1; }
.btn.disabled { opacity: .55; pointer-events: none; }

/* 平台能力 */
.cap-grid { grid-template-columns: repeat(3, 1fr); }
.cap { text-align: left; align-items: flex-start; padding: 22px; }
.cap .ico { width: 46px; height: 46px; border-radius: 14px; margin-bottom: 14px; background: linear-gradient(135deg, var(--color-brand-50), color-mix(in srgb, var(--color-violet-500) 12%, transparent)); }
.cap h3 { font-size: 15.5px; margin-bottom: 5px; }
.cap p { font-size: 12.8px; line-height: 1.65; margin: 0; }

/* 业务链 */
.flow-grid { display: grid; grid-template-columns: 1fr auto 1fr auto 1fr; gap: 10px; align-items: stretch; }
.flow-card { position: relative; display: flex; flex-direction: column; padding: 22px; border-radius: 18px; border: 1px solid var(--color-line); background: var(--color-surface-2); box-shadow: var(--shadow-soft); transition: .2s; color: var(--color-text); }
.flow-card:hover { transform: translateY(-2px); box-shadow: var(--shadow-lift); border-color: color-mix(in srgb, var(--pc) 40%, var(--color-line)); }
.flow-step { font-family: var(--font-mono); font-size: 12px; font-weight: 700; color: var(--pc); letter-spacing: .08em; }
.flow-role { font-size: 12px; color: var(--color-text-mute); margin: 10px 0 6px; }
.flow-card h3 { font-size: 16px; font-weight: 800; margin: 0 0 6px; }
.flow-card p { font-size: 12.8px; line-height: 1.65; color: var(--color-text-soft); margin: 0 0 16px; }
.flow-more { margin-top: auto; font-size: 12.5px; font-weight: 700; color: var(--pc); }
.flow-arrow { display: flex; align-items: center; justify-content: center; color: var(--color-text-mute); font-size: 20px; padding: 0 2px; }

/* 底部 CTA */
.cta-band { display: flex; align-items: center; justify-content: space-between; gap: 24px; padding: 32px 34px; border-radius: 22px; border: 1px solid var(--color-line); background: linear-gradient(120deg, var(--color-brand-50), color-mix(in srgb, var(--color-violet-500) 10%, var(--color-surface-2))); box-shadow: var(--shadow-soft); }
.cta-band h2 { font-size: clamp(19px, 2.2vw, 24px); font-weight: 800; margin: 0 0 6px; letter-spacing: -.01em; }
.cta-band p { font-size: 13.5px; color: var(--color-text-soft); margin: 0; line-height: 1.7; max-width: 620px; }
.cta-band-actions { display: flex; gap: 10px; flex: 0 0 auto; }
.cta-band-actions .btn.line { background: var(--color-surface-2); }

/* 产品页 */
.prod-wrap { max-width: 1120px; margin: 0 auto; padding: 26px 22px 80px; }
.prod-crumb { font-size: 12.5px; color: var(--color-text-mute); margin: 2px 0 16px; }
.prod-crumb a { color: var(--color-text-soft); }
.prod-crumb a:hover { color: var(--color-brand-500); }
.prod-hero { position: relative; overflow: hidden; border-radius: 26px; padding: clamp(28px, 4vw, 52px); color: #fff; background: linear-gradient(135deg, var(--pc) 0%, var(--pc2) 100%); box-shadow: 0 24px 60px -28px var(--pc); }
.prod-hero::after { content: ""; position: absolute; width: 460px; height: 460px; right: -160px; top: -220px; border-radius: 50%; background: radial-gradient(circle, rgba(255,255,255,.34), transparent 62%); pointer-events: none; }
.prod-hero > * { position: relative; z-index: 1; }
.prod-hero .prod-kicker { display: inline-flex; align-items: center; gap: 8px; font-size: 12px; font-weight: 700; letter-spacing: .06em; background: rgba(255,255,255,.18); border: 1px solid rgba(255,255,255,.3); padding: 5px 12px; border-radius: 999px; }
.prod-hero h1 { font-size: clamp(28px, 4vw, 46px); font-weight: 800; letter-spacing: -.03em; margin: 16px 0 8px; line-height: 1.08; }
.prod-hero .prod-role { font-size: 13px; opacity: .86; }
.prod-hero .prod-tag { font-size: clamp(14px, 1.6vw, 17px); opacity: .95; max-width: 660px; margin: 14px 0 0; line-height: 1.65; }
.prod-hero .prod-actions { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 26px; }
.prod-hero .btn { background: #fff; color: var(--pc); box-shadow: 0 14px 30px -14px rgba(0,0,0,.5); }
.prod-hero .btn.ghost { background: rgba(255,255,255,.14); color: #fff; border: 1px solid rgba(255,255,255,.36); box-shadow: none; }
.prod-hero .prod-meta { display: flex; flex-wrap: wrap; gap: 10px 26px; margin-top: 26px; padding-top: 20px; border-top: 1px solid rgba(255,255,255,.22); font-size: 12.5px; opacity: .9; }
.prod-hero .prod-meta b { font-weight: 800; }

/* 产品页 Hero 主视觉：截图窗口 + 吉祥物 + 浮标 */
.prod-hero.has-visual { display: flex; align-items: center; min-height: 404px; }
.prod-hero.has-visual::before { content: ""; position: absolute; inset: 0; pointer-events: none; opacity: .5; background-image: radial-gradient(rgba(255,255,255,.3) 1px, transparent 1px); background-size: 22px 22px; -webkit-mask-image: linear-gradient(100deg, transparent 0%, #000 34%, #000 62%, transparent 92%); mask-image: linear-gradient(100deg, transparent 0%, #000 34%, #000 62%, transparent 92%); }
.prod-hero .hero-copy { position: relative; z-index: 3; max-width: 540px; }
.prod-hero .hero-visual { position: absolute; z-index: 2; right: 0; top: 0; bottom: 0; width: 46%; pointer-events: none; }
.prod-hero .hv-glow { position: absolute; right: 6%; top: 50%; width: 430px; height: 430px; transform: translateY(-50%); border-radius: 50%; background: radial-gradient(circle, rgba(255,255,255,.42), transparent 62%); filter: blur(6px); }
.prod-hero .hv-window { position: absolute; right: 70px; top: 50%; width: 340px; margin: 0; transform: translateY(-50%) rotate(-2.6deg); border-radius: 14px; overflow: hidden; background: #fff; border: 1px solid rgba(255,255,255,.55); box-shadow: 0 34px 60px -22px rgba(3,14,44,.6), 0 2px 0 rgba(255,255,255,.5) inset; }
.prod-hero .hv-bar { display: flex; align-items: center; gap: 5px; height: 26px; padding: 0 10px; background: linear-gradient(180deg, #fbfcff, #eef2f9); border-bottom: 1px solid #e3e9f3; }
.prod-hero .hv-bar i { display: block; width: 7px; height: 7px; border-radius: 50%; background: #d6dce8; }
.prod-hero .hv-bar i:first-child { background: #ffb4b4; }
.prod-hero .hv-bar span { margin-left: 8px; font-size: 10px; color: #7b869a; letter-spacing: .02em; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.prod-hero .hv-window img { display: block; width: 100%; height: auto; }
.prod-hero .hv-window::after { content: ""; position: absolute; inset: 0; pointer-events: none; background: linear-gradient(112deg, rgba(255,255,255,.34) 0%, rgba(255,255,255,0) 42%); }
.prod-hero .hv-mascot { position: absolute; right: -4px; bottom: -24px; height: 404px; width: auto; filter: drop-shadow(0 26px 26px rgba(4,16,44,.34)); }
.prod-hero .hv-mascot.flip { transform: scaleX(-1); }
.prod-hero .hv-chip { position: absolute; display: flex; align-items: center; gap: 8px; white-space: nowrap; padding: 8px 12px; border-radius: 13px; font-size: 12px; font-weight: 600; color: #fff; background: rgba(9,24,66,.42); border: 1px solid rgba(255,255,255,.34); -webkit-backdrop-filter: blur(10px) saturate(150%); backdrop-filter: blur(10px) saturate(150%); box-shadow: 0 16px 30px -18px rgba(2,10,30,.7); }
.prod-hero .hv-chip b { font-size: 15px; font-weight: 800; letter-spacing: -.02em; }
.prod-hero .hv-chip small { font-size: 11.5px; font-weight: 500; opacity: .85; }
.prod-hero .hv-chip .ico { display: grid; place-items: center; width: 20px; height: 20px; border-radius: 50%; background: rgba(255,255,255,.9); color: #0f9d58; font-size: 11px; font-weight: 800; }
.prod-hero .hv-chip-a { left: 24px; top: 26px; }
.prod-hero .hv-chip-b { left: 46px; bottom: 22px; }
@media (max-width: 980px) {
  .prod-hero.has-visual { display: block; min-height: 0; }
  .prod-hero .hero-copy { max-width: none; }
  .prod-hero .hero-visual { display: none; }
}

.prod-section { margin-top: 42px; }
.prod-section > h2 { font-size: clamp(20px, 2.2vw, 26px); font-weight: 800; letter-spacing: -.02em; margin: 0 0 6px; }
.prod-section > .sub { color: var(--color-text-soft); font-size: 14px; margin: 0 0 18px; }
.prod-features { display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; }
.prod-feature { padding: 22px; border-radius: 18px; border: 1px solid var(--color-line); background: var(--color-surface-2); box-shadow: var(--shadow-soft); }
.prod-feature .ico { width: 44px; height: 44px; border-radius: 13px; display: flex; align-items: center; justify-content: center; color: var(--pc); background: color-mix(in srgb, var(--pc) 10%, var(--color-surface-2)); margin-bottom: 14px; }
.prod-feature h3 { font-size: 15.5px; font-weight: 700; margin: 0 0 6px; }
.prod-feature p { font-size: 12.9px; line-height: 1.7; color: var(--color-text-soft); margin: 0; }
.prod-flow { display: grid; grid-template-columns: repeat(4, 1fr); gap: 14px; }
.prod-flow-item { position: relative; padding: 20px; border-radius: 16px; border: 1px solid var(--color-line); background: var(--color-surface-2); }
.prod-flow-item .n { font-family: var(--font-mono); font-size: 12px; font-weight: 700; color: var(--pc); }
.prod-flow-item h3 { font-size: 14.5px; margin: 10px 0 5px; }
.prod-flow-item p { font-size: 12.6px; color: var(--color-text-soft); line-height: 1.65; margin: 0; }
.prod-dl { display: grid; grid-template-columns: 1.5fr .9fr; gap: 16px; }
.prod-dl-card { padding: 24px; border-radius: 20px; border: 1px solid var(--color-line); background: var(--color-surface-2); box-shadow: var(--shadow-soft); }
.prod-dl-card h3 { font-size: 17px; margin: 0 0 4px; }
.prod-dl-card .mut { font-size: 12.5px; }
.dl-big-btn { display: inline-flex; align-items: center; gap: 8px; margin-top: 16px; }
.dl-meta { display: grid; gap: 10px; margin-top: 16px; }
.dl-meta-row { display: flex; justify-content: space-between; gap: 16px; font-size: 12.8px; padding: 7px 0; border-bottom: 1px dashed var(--color-line); }
.dl-meta-row span:first-child { color: var(--color-text-mute); }
.dl-meta-row span:last-child { color: var(--color-text); text-align: right; word-break: break-all; }
.sha { font-family: var(--font-mono); font-size: 11px; color: var(--color-text-mute); word-break: break-all; line-height: 1.6; }
.prod-plan { padding: 24px; border-radius: 20px; border: 1px solid var(--color-line); background: linear-gradient(150deg, color-mix(in srgb, var(--pc) 8%, var(--color-surface-2)), var(--color-surface-2)); }
.prod-plan h3 { margin: 0 0 8px; font-size: 16px; }
.prod-plan .price { font-size: 26px; font-weight: 800; letter-spacing: -.02em; }
.prod-plan .price small { font-size: 12px; font-weight: 600; color: var(--color-text-mute); }
.prod-plan ul { margin: 14px 0 18px; padding-left: 18px; color: var(--color-text-soft); font-size: 12.8px; line-height: 1.9; }
.prod-faq { display: grid; gap: 10px; }
.prod-faq .faq-item { padding: 18px 20px; }
.prod-faq h4 { font-size: 14px; margin: 0 0 6px; }
.prod-faq p { font-size: 12.9px; line-height: 1.7; color: var(--color-text-soft); margin: 0; }
.related-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 14px; }
.related-card { display: flex; align-items: center; gap: 14px; padding: 18px; border-radius: 16px; border: 1px solid var(--color-line); background: var(--color-surface-2); transition: .2s; }
.related-card:hover { transform: translateY(-2px); box-shadow: var(--shadow-lift); border-color: color-mix(in srgb, var(--pc) 40%, var(--color-line)); }
.related-card .m { width: 38px; height: 38px; border-radius: 11px; object-fit: cover; flex: 0 0 auto; background: #fff; box-shadow: 0 4px 10px -4px var(--pc); }
.related-card b { display: block; font-size: 14px; }
.related-card small { color: var(--color-text-mute); font-size: 12px; }
.related-card .go { margin-left: auto; color: var(--color-text-mute); }

/* 下载中心 */
.dl-wrap { max-width: 1120px; margin: 0 auto; padding: 26px 22px 80px; }
.dl-head { margin: 4px 0 20px; }
.dl-head h1 { font-size: clamp(26px, 3.4vw, 38px); font-weight: 800; letter-spacing: -.03em; margin: 0 0 6px; }
.dl-head p { color: var(--color-text-soft); font-size: 14px; margin: 0; }
.dl-tabs { display: flex; flex-wrap: wrap; gap: 8px; margin: 20px 0 18px; min-height: 38px; }
.dl-tab { display: inline-flex; align-items: center; gap: 8px; padding: 9px 16px; border-radius: 999px; border: 1px solid var(--color-line); background: var(--color-surface-2); color: var(--color-text-soft); font-size: 13px; font-weight: 600; cursor: pointer; transition: .18s; }
.dl-tab .dot { width: 18px; height: 18px; border-radius: 5px; object-fit: cover; flex: 0 0 auto; background: #fff; box-shadow: 0 1px 3px rgba(0,0,0,.14); }
.dl-tab:hover { border-color: var(--color-brand-200); color: var(--color-text); }
.dl-tab.active { background: var(--color-text); border-color: var(--color-text); color: var(--color-surface-2); }
.dl-panel { border: 1px solid var(--color-line); border-radius: 22px; background: var(--color-surface-2); box-shadow: var(--shadow-soft); padding: clamp(20px, 3vw, 30px); }
.dl-top { display: flex; flex-wrap: wrap; align-items: flex-start; justify-content: space-between; gap: 18px; }
.dl-title { display: flex; gap: 14px; align-items: center; }
.dl-title .m { width: 50px; height: 50px; border-radius: 15px; object-fit: cover; flex: 0 0 auto; background: #fff; box-shadow: 0 12px 26px -12px var(--tc); }
.dl-title h2 { font-size: 21px; font-weight: 800; margin: 0; }
.dl-title .role { font-size: 12.5px; color: var(--color-text-mute); margin-top: 2px; }
.dl-ver { text-align: right; }
.dl-ver b { font-size: 18px; font-weight: 800; }
.dl-ver .state { display: inline-block; margin-top: 4px; font-size: 12px; padding: 3px 9px; border-radius: 999px; background: var(--color-success-bg); color: var(--color-success); font-weight: 700; }
.dl-ver .state.soon { background: var(--color-warning-bg); color: var(--color-warning); }
.dl-info { display: grid; grid-template-columns: 1.35fr .85fr; gap: 18px; margin-top: 22px; }
.dl-notes { padding: 18px; border-radius: 16px; background: var(--color-surface-3); border: 1px solid var(--color-line); }
.dl-notes h3 { font-size: 14px; margin: 0 0 8px; }
.dl-notes p { font-size: 12.9px; line-height: 1.75; color: var(--color-text-soft); margin: 0; white-space: pre-line; }
.dl-side { display: grid; gap: 10px; align-content: start; }
.dl-side .btn { width: 100%; }
.dl-side .btn.disabled { opacity: .5; pointer-events: none; }
.dl-side .btn.line { background: var(--color-surface-2); }
.dl-facts { display: grid; gap: 8px; margin-top: 12px; }
.dl-facts div { display: flex; justify-content: space-between; font-size: 12.6px; gap: 12px; }
.dl-facts span:first-child { color: var(--color-text-mute); }
.dl-facts span:last-child { text-align: right; }
.dl-sha { margin-top: 14px; padding: 12px 14px; border-radius: 12px; background: var(--color-surface-3); border: 1px dashed var(--color-line); }
.dl-sha .l { font-size: 11.5px; color: var(--color-text-mute); margin-bottom: 4px; }
.dl-history { margin-top: 22px; overflow-x: auto; }
.dl-history h3 { font-size: 14px; margin: 0 0 10px; }
.dl-history table { width: 100%; border-collapse: collapse; font-size: 12.8px; min-width: 520px; }
.dl-history th { text-align: left; color: var(--color-text-mute); font-weight: 600; padding: 8px 6px; border-bottom: 1px solid var(--color-line); }
.dl-history td { padding: 9px 6px; border-bottom: 1px solid var(--color-line-2); color: var(--color-text-soft); }
.dl-history tr:last-child td { border-bottom: 0; }
.dl-empty { text-align: center; padding: 40px 20px; }
.dl-empty .big { font-size: 44px; line-height: 1; margin-bottom: 14px; }
.dl-empty h3 { font-size: 18px; margin: 0 0 6px; }
.dl-empty p { color: var(--color-text-soft); font-size: 13px; margin: 0 auto 18px; max-width: 460px; line-height: 1.7; }
.dl-foot { margin-top: 18px; font-size: 12.5px; color: var(--color-text-mute); line-height: 1.7; }
.dl-foot a { color: var(--color-brand-500); }

@media (max-width: 980px) {
  .product-grid { grid-template-columns: repeat(2, 1fr); }
  .cap-grid { grid-template-columns: repeat(2, 1fr); }
  .flow-grid { grid-template-columns: 1fr; gap: 12px; }
  .flow-arrow { transform: rotate(90deg); padding: 2px 0; }
  .prod-features { grid-template-columns: repeat(2, 1fr); }
  .prod-flow { grid-template-columns: repeat(2, 1fr); }
  .prod-dl { grid-template-columns: 1fr; }
  .dl-info { grid-template-columns: 1fr; }
}
@media (max-width: 760px) {
  .nav-drop { width: 100%; display: block; }
  .nav-drop-menu { position: static; transform: none; opacity: 1; visibility: visible; box-shadow: none; border: none; background: transparent; padding: 0 0 0 8px; min-width: 0; }
  .nav-drop-menu a { padding: 7px 8px; }
}
@media (max-width: 620px) {
  .product-grid { grid-template-columns: 1fr; }
  .cap-grid { grid-template-columns: 1fr; }
  .cta-band { flex-direction: column; align-items: flex-start; padding: 24px; }
  .cta-band-actions { width: 100%; }
  .cta-band-actions .btn { flex: 1; }
  .hero-trust { gap: 12px 20px; }
  .hero-trust b { font-size: 17px; }
  .home-hero.hero-full { padding: 34px 20px 30px; }
  .prod-features, .prod-flow, .related-grid { grid-template-columns: 1fr; }
  .prod-wrap, .dl-wrap { padding-inline: 16px; }
  .dl-top { flex-direction: column; }
  .dl-ver { text-align: left; }
}

/* 补充：通用 eyebrow / 下载页脚注 */
.eyebrow { display: inline-block; font-size: 12px; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; color: var(--color-brand-500); margin-bottom: 8px; }
.dl-foot { margin-top: 28px; padding: 24px 26px; border-radius: 20px; border: 1px solid var(--color-line); background: var(--color-surface-2); }
.dl-foot h3 { font-size: 15px; margin: 0 0 8px; }
.dl-foot h3 + h3, .dl-foot p + h3, .dl-foot pre + h3 { margin-top: 22px; }
.dl-foot ol { padding-left: 20px; color: var(--color-text-soft); font-size: 13px; line-height: 1.9; margin: 0 0 16px; }
.dl-foot p { color: var(--color-text-soft); font-size: 13px; line-height: 1.7; margin: 0 0 10px; }
.dl-foot pre { background: var(--color-surface-3); border: 1px solid var(--color-line); border-radius: 12px; padding: 12px 14px; overflow: auto; margin: 0 0 12px; }
.dl-foot code { font-family: var(--font-mono); font-size: 12px; color: var(--color-text); }
.copy-sha { margin-top: 8px; background: none; border: 0; color: var(--color-brand-500); font-size: 12px; cursor: pointer; padding: 0; }
.copy-sha:hover { text-decoration: underline; }
.dl-tab small { font-size: 10.5px; opacity: .72; }
.dl-side .btn.disabled { display: flex; align-items: center; justify-content: center; }
.dl-side .btn.line { display: flex; }

/* Hero 右侧产品浮卡（桌面端） */
.hero-show { position: absolute; z-index: 1; right: max(48px, calc((100vw - 1180px) / 2)); top: 50%; transform: translateY(-50%); width: 360px; height: 300px; display: none; pointer-events: none; }
.hs-card { position: absolute; display: flex; align-items: center; gap: 13px; width: 300px; padding: 14px 16px; border-radius: 16px; background: rgba(255,255,255,.12); border: 1px solid rgba(255,255,255,.24); box-shadow: 0 24px 50px -24px rgba(0,0,0,.55); -webkit-backdrop-filter: blur(10px); backdrop-filter: blur(10px); color: #fff; animation: hsFloat 7s ease-in-out infinite; }
.hs-card b { display: block; font-size: 14px; font-weight: 800; }
.hs-card small { display: block; font-size: 11.5px; color: rgba(255,255,255,.78); margin-top: 2px; }
.hs-mark { width: 40px; height: 40px; border-radius: 12px; object-fit: cover; flex: 0 0 auto; background: #fff; border: 1px solid rgba(255,255,255,.26); box-shadow: 0 8px 20px -10px rgba(0,0,0,.55); }
.hs-zb { top: 6px; left: 0; transform: rotate(-4deg); animation-delay: -1s; }
.hs-zb .hs-mark { background: linear-gradient(135deg, #2f6bff, #00c2ff); }
.hs-tb { top: 96px; left: 52px; transform: rotate(2deg); animation-delay: -3.4s; }
.hs-tb .hs-mark { background: linear-gradient(135deg, #7a5cff, #b45cff); }
.hs-pb { top: 186px; left: 14px; transform: rotate(-2deg); animation-delay: -5.6s; }
.hs-pb .hs-mark { background: linear-gradient(135deg, #0ea5e9, #22d3ee); }
@keyframes hsFloat { 0%, 100% { translate: 0 0; } 50% { translate: 0 -6px; } }
@media (prefers-reduced-motion: reduce) { .hs-card { animation: none; } }
@media (min-width: 1180px) {
  .hero-show { display: block; }
  .home-hero h1 { max-width: 640px; }
  .home-hero #siteHeroSub { max-width: 580px; }
  .hero-trust { max-width: 640px; }
}
@media (max-width: 980px) {
  .dl-info { grid-template-columns: 1fr; }
  .dl-side { order: -1; }
}

/* 平板端：第三张产品卡居中，避免 2 列网格留空 */
@media (min-width: 621px) and (max-width: 980px) {
  .product-grid > .product-card:nth-child(3) { grid-column: 1 / -1; width: calc(50% - 11px); justify-self: center; }
}

/* 中等宽度导航：收紧间距，隐藏用户名，避免登录后溢出 */
@media (max-width: 980px) {
  .nav-links { gap: 14px; }
  #navUser { display: none !important; }
}

/* 锚点跳转避开吸顶导航 */
#products, #download, #pricing, #plans, #help { scroll-margin-top: 80px; }
/* 页脚对比度：正文用 soft，达到 WCAG AA */
footer.site p { color: var(--color-text-soft); }

/* WCAG AA：产品页 / 下载中心辅助文字与状态色 */
.prod-crumb { color: var(--color-text-soft); }
.prod-crumb a { color: var(--color-text-soft); text-decoration: underline; text-underline-offset: 2px; }
.prod-crumb a:hover { color: var(--color-brand-500); }
.prod-flow-item .n { color: #6a4be0; }
.prod-dl-card p.mut, .prod-dl-card .dl-meta-row > span, .prod-dl-card .dl-sha .l,
.prod-dl-card .dl-sha .sha, .prod-dl-card .dl-history th,
.prod-dl-card .related-card small, .related-card small { color: var(--color-text-soft); }
.dl-top .role, .dl-notes .dl-facts span, .dl-side .dl-facts span,
.dl-sha .l, .dl-sha .sha, .dl-history th, .dl-foot h3, .dl-foot p, .dl-foot ol { color: var(--color-text-soft); }
.dl-tab small { color: var(--color-text-soft); opacity: 1; }
.dl-ver .state, .dl-history .tag { color: #007a1e; background: #e6f6ea; }
.dl-ver .state.soon { color: #9a5b00; background: #fff4e0; }

/* 平板端下载页保留双栏；仅手机端把下载按钮提到前面 */
@media (min-width: 681px) and (max-width: 980px) {
  .dl-info { grid-template-columns: 1.35fr .85fr; }
  .dl-side { order: 0; }
}

/* 未发布产品：中性禁用态，避免与主按钮抢视觉 */
.product-card .pc-dl.disabled {
  background: var(--color-surface-3);
  color: var(--color-text-soft);
  box-shadow: inset 0 0 0 1px var(--color-line);
  opacity: 1;
}

/* 首页真实界面 */
.showcase { border: 1px solid var(--color-line); border-radius: 24px; background: var(--color-surface-2); box-shadow: var(--shadow-soft); overflow: hidden; }
.showcase-tabs { display: flex; flex-wrap: wrap; gap: 8px; padding: 10px; background: var(--color-surface-3); border-bottom: 1px solid var(--color-line); }
.showcase-tab { display: inline-flex; align-items: center; gap: 8px; padding: 9px 14px; border-radius: 999px; border: 1px solid transparent; background: transparent; color: var(--color-text-soft); font: inherit; font-size: 13px; font-weight: 700; cursor: pointer; transition: .18s; }
.showcase-tab img { width: 22px; height: 22px; border-radius: 7px; object-fit: cover; background: #fff; }
.showcase-tab:hover { color: var(--color-text); background: var(--color-surface-2); }
.showcase-tab.active { color: var(--color-brand-500); background: var(--color-surface-2); border-color: color-mix(in srgb, var(--color-brand-500) 22%, var(--color-line)); box-shadow: 0 6px 18px -12px color-mix(in srgb, var(--color-brand-500) 60%, transparent); }
.showcase-panel { display: none; grid-template-columns: minmax(0, 1.6fr) minmax(280px, .8fr); align-items: stretch; }
.showcase-panel.active { display: grid; }
.showcase-shot { position: relative; margin: 0; min-width: 0; background: #0b1220; overflow: hidden; }
.showcase-shot img { display: block; width: 100%; height: 100%; min-height: 100%; aspect-ratio: 16/9; object-fit: cover; }
.showcase-shot figcaption { position: absolute; left: 16px; bottom: 14px; max-width: calc(100% - 32px); padding: 7px 12px; border-radius: 999px; background: rgba(11,18,32,.78); color: #fff; font-size: 12px; font-weight: 600; line-height: 1.35; -webkit-backdrop-filter: blur(6px); backdrop-filter: blur(6px); }
.showcase-copy { display: flex; flex-direction: column; justify-content: center; padding: 30px 32px; }
.showcase-kicker { color: var(--sc, var(--color-brand-500)); font-size: 12px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.showcase-copy h3 { font-size: clamp(19px, 2vw, 24px); font-weight: 800; letter-spacing: -.02em; margin: 9px 0 8px; }
.showcase-copy p { color: var(--color-text-soft); font-size: 13.5px; line-height: 1.75; margin: 0; }
.showcase-points { list-style: none; margin: 18px 0 20px; padding: 0; display: grid; gap: 8px; }
.showcase-points li { position: relative; padding-left: 18px; color: var(--color-text-soft); font-size: 12.8px; line-height: 1.5; }
.showcase-points li::before { content: ""; position: absolute; left: 1px; top: 6px; width: 7px; height: 7px; border-radius: 50%; background: var(--sc, var(--color-brand-500)); box-shadow: 0 0 0 3px color-mix(in srgb, var(--sc, var(--color-brand-500)) 13%, transparent); }
.showcase-points b { color: var(--color-text); font-weight: 800; }
.showcase-copy .btn { align-self: flex-start; }

/* 首页品牌 CTA */
.brand-cta { display: grid; grid-template-columns: 280px minmax(0, 1fr); gap: 32px; align-items: center; padding: 30px 36px; border-radius: 26px; border: 1px solid var(--color-line); background: radial-gradient(120% 160% at 0% 0%, color-mix(in srgb, var(--color-brand-500) 10%, transparent), transparent 58%), var(--color-surface-2); box-shadow: var(--shadow-soft); }
.brand-cta-art { position: relative; border-radius: 24px; padding: 10px; background: #fff; box-shadow: 0 18px 40px -24px color-mix(in srgb, var(--color-brand-500) 55%, transparent), inset 0 0 0 1px rgba(22,93,255,.08); }
.brand-cta-art img { display: block; width: 100%; height: auto; aspect-ratio: 1; object-fit: cover; border-radius: 18px; }
.brand-cta-note { position: absolute; left: 22px; bottom: 20px; padding: 6px 10px; border-radius: 999px; background: rgba(11,18,32,.76); color: #fff; font-size: 11px; font-weight: 700; letter-spacing: .04em; }
.brand-cta-copy .eyebrow { display: inline-block; color: var(--color-brand-500); font-size: 12px; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; margin-bottom: 8px; }
.brand-cta-copy h2 { font-size: clamp(20px, 2.5vw, 27px); font-weight: 800; letter-spacing: -.02em; margin: 0 0 8px; }
.brand-cta-copy p { color: var(--color-text-soft); font-size: 13.5px; line-height: 1.75; margin: 0; max-width: 620px; }
.brand-cta-copy .cta-band-actions { margin-top: 18px; }

/* 产品页界面预览 */
.shot-gallery { display: grid; grid-template-columns: minmax(0, 1.7fr) minmax(220px, .62fr); gap: 14px; align-items: start; }
.shot-main { min-width: 0; border: 1px solid var(--color-line); border-radius: 18px; background: var(--color-surface-2); overflow: hidden; box-shadow: var(--shadow-soft); }
.shot-open { position: relative; display: block; width: 100%; padding: 0; border: 0; background: #0b1220; cursor: zoom-in; }
.shot-open img { display: block; width: 100%; aspect-ratio: 16/9; object-fit: cover; }
.shot-open::after { content: "点击查看大图"; position: absolute; right: 12px; bottom: 12px; padding: 5px 10px; border-radius: 999px; background: rgba(11,18,32,.76); color: #fff; font-size: 11.5px; font-weight: 600; opacity: 0; transform: translateY(3px); transition: .18s; }
.shot-open:hover::after, .shot-open:focus-visible::after { opacity: 1; transform: none; }
.shot-caption { display: flex; flex-wrap: wrap; align-items: baseline; gap: 4px 10px; padding: 12px 16px 14px; }
.shot-caption b { font-size: 13.5px; }
.shot-caption span { color: var(--color-text-soft); font-size: 12.2px; }
.shot-thumbs { display: grid; gap: 9px; max-height: 470px; overflow: auto; padding-right: 2px; scrollbar-width: thin; }
.shot-thumb { display: grid; grid-template-columns: 92px minmax(0, 1fr); gap: 10px; align-items: center; width: 100%; padding: 6px; border: 1px solid var(--color-line); border-radius: 12px; background: var(--color-surface-2); color: var(--color-text); font: inherit; text-align: left; cursor: pointer; transition: .18s; }
.shot-thumb img { display: block; width: 92px; aspect-ratio: 16/9; object-fit: cover; border-radius: 7px; background: #e9edf5; }
.shot-thumb span { font-size: 12px; line-height: 1.4; color: var(--color-text-soft); }
.shot-thumb:hover { border-color: color-mix(in srgb, var(--pc) 42%, var(--color-line)); }
.shot-thumb.active { border-color: var(--pc); box-shadow: 0 0 0 2px color-mix(in srgb, var(--pc) 16%, transparent); }
.shot-thumb.active span { color: var(--color-text); font-weight: 600; }
.shot-dialog { position: fixed; inset: 0; margin: auto; width: min(1120px, 94vw); max-width: 94vw; max-height: 92vh; padding: 0; border: 0; border-radius: 18px; background: #0b1220; color: #fff; box-shadow: 0 30px 90px -30px rgba(0,0,0,.8); }
.shot-dialog::backdrop { background: rgba(5,10,20,.74); -webkit-backdrop-filter: blur(4px); backdrop-filter: blur(4px); }
.shot-dialog-bar { display: flex; align-items: center; justify-content: space-between; gap: 14px; padding: 11px 14px; border-bottom: 1px solid rgba(255,255,255,.12); }
.shot-dialog-bar b { font-size: 13px; font-weight: 700; }
.shot-close { width: 34px; height: 34px; border-radius: 50%; border: 1px solid rgba(255,255,255,.2); background: rgba(255,255,255,.08); color: #fff; font-size: 20px; line-height: 1; cursor: pointer; }
.shot-close:hover { background: rgba(255,255,255,.16); }
.shot-dialog img { display: block; width: 100%; max-height: calc(92vh - 58px); object-fit: contain; background: #0b1220; }

/* 帮助中心品牌形象 */
.help-hero { display: grid; grid-template-columns: minmax(0, 1fr) 170px; align-items: center; gap: 24px; }
.help-hero-art { justify-self: end; display: grid; place-items: center; width: 160px; height: 220px; border-radius: 24px; background: linear-gradient(160deg, #fff, #eef4ff); box-shadow: 0 18px 38px -22px rgba(11,18,32,.45); }
.help-hero-art img { display: block; width: auto; height: 206px; filter: drop-shadow(0 10px 12px rgba(22,93,255,.16)); }

/* 页脚链接：保证 24px 触控目标，同时保持行内排版 */
footer.site a { display: inline-flex; align-items: center; min-height: 24px; padding: 0 4px; margin: 0 6px; }

/* 产品页 / 套餐页数据加载完成前先隐藏页脚，避免动态内容把页脚推下造成的 CLS */
body.prod-loading footer.site,
body.plans-loading footer.site,
body.plans-loading #plansNote,
body.download-loading .dl-foot,
body.download-loading footer.site { display: none; }

/* 正文中的文字链保持可识别（不仅依赖颜色） */
main p a,
main li a { text-decoration: underline; text-underline-offset: 2px; }

@media (max-width: 980px) {
  .showcase-panel { grid-template-columns: 1fr; }
  .showcase-copy { padding: 24px 26px 28px; }
  .shot-gallery { grid-template-columns: 1fr; }
  .shot-thumbs { grid-template-columns: repeat(3, minmax(180px, 1fr)); max-height: none; overflow-x: auto; padding-bottom: 3px; }
}
@media (max-width: 760px) {
  .brand-cta { grid-template-columns: 200px minmax(0, 1fr); gap: 22px; padding: 24px; }
  .brand-cta-note { left: 16px; bottom: 15px; }
  .help-hero { grid-template-columns: minmax(0, 1fr) 130px; }
  .help-hero-art { width: 122px; height: 170px; }
  .help-hero-art img { height: 158px; }
}
@media (max-width: 620px) {
  .showcase-tabs { flex-wrap: nowrap; overflow-x: auto; scrollbar-width: none; }
  .showcase-tabs::-webkit-scrollbar { display: none; }
  .showcase-tab { flex: 0 0 auto; }
  .showcase-copy { padding: 22px 20px 24px; }
  .showcase-points { margin: 15px 0 18px; }
  .showcase-shot figcaption { left: 10px; bottom: 10px; font-size: 11px; }
  .brand-cta { grid-template-columns: 1fr; padding: 20px; }
  .brand-cta-art { width: min(220px, 66%); }
  .brand-cta-copy h2 { font-size: 21px; }
  .brand-cta-copy .cta-band-actions { flex-wrap: wrap; }
  .brand-cta-copy .cta-band-actions .btn { flex: 1 1 140px; }
  .shot-thumbs { grid-template-columns: 1fr; }
  .shot-thumb { grid-template-columns: 108px minmax(0, 1fr); }
  .shot-thumb img { width: 108px; }
  .help-hero { grid-template-columns: 1fr; }
  .help-hero-art { justify-self: start; width: 104px; height: 140px; }
  .help-hero-art img { height: 128px; }
  .home-hero h1 { max-width: 9em; word-break: keep-all; }
}

/* 登录：双栏品牌卡（右侧表单保持 400px，移动端回落单栏） */
#view-login { display: none; }
html.auth-login #view-home { display: none !important; }
html.auth-login #view-login { display: block !important; }
.login-shell {
  width: 100%;
  max-width: 920px;
  margin: 44px auto;
  padding: 0;
  display: grid;
  grid-template-columns: 392px minmax(0, 1fr);
  overflow: hidden;
  border-radius: 26px;
}
.login-side {
  position: relative;
  isolation: isolate;
  display: flex;
  flex-direction: column;
  align-items: center;
  min-height: 554px;
  padding: 30px 30px 0;
  color: #fff;
  overflow: hidden;
  background:
    image-set(url('/media/mascot-login-point-288-fade-20261021.webp?v=20261021v') 1x, url('/media/mascot-login-point-576-fade-20261021.webp?v=20261021v') 2x) center bottom / 272px 340px no-repeat,
    radial-gradient(120% 70% at 15% 0%, rgba(255,255,255,.22) 0%, rgba(255,255,255,0) 52%),
    linear-gradient(150deg, #071a4d 0%, #123fbe 54%, #7c5cff 100%);
}
.login-side::before,
.login-side::after {
  content: "";
  position: absolute;
  z-index: 0;
  border-radius: 50%;
  pointer-events: none;
}
.login-side::before {
  width: 280px;
  height: 280px;
  top: -158px;
  right: -104px;
  border: 1px solid rgba(255,255,255,.22);
  box-shadow: 0 0 0 42px rgba(255,255,255,.035);
}
.login-side::after {
  width: 230px;
  height: 230px;
  bottom: -128px;
  left: -102px;
  background: rgba(255,255,255,.08);
  filter: blur(2px);
}
.login-side-brand {
  position: relative;
  z-index: 1;
  align-self: flex-start;
  display: flex;
  align-items: center;
  gap: 10px;
  font-size: 18px;
  font-weight: 800;
  letter-spacing: -.015em;
  line-height: 1;
}
.login-side-brand img {
  width: 30px;
  height: 30px;
  border-radius: 9px;
  object-fit: cover;
  box-shadow: 0 8px 18px -8px rgba(0,0,0,.55);
}
.login-side-copy {
  position: relative;
  z-index: 1;
  align-self: flex-start;
  margin-top: 30px;
}
.login-side-copy h2 {
  margin: 0;
  color: #fff;
  font-size: 27px;
  font-weight: 800;
  line-height: 1.22;
  letter-spacing: -.025em;
}
.login-side-copy p {
  margin: 10px 0 0;
  color: rgba(255,255,255,.76);
  font-size: 13px;
  line-height: 1.8;
}
.login-pane {
  display: flex;
  flex-direction: column;
  justify-content: center;
  min-width: 0;
  padding: 36px 40px 32px;
}
.login-pane > .tabs,
.login-pane > #loginForm,
.login-pane > #registerForm,
.login-pane > #phoneForm {
  width: 100%;
  max-width: 400px;
  margin-left: auto;
  margin-right: auto;
}
.login-mobile-brand { display: none; }
.login-mobile-name {
  color: var(--color-text);
  font-size: 20px;
  font-weight: 800;
  line-height: 1.2;
}
.login-mobile-sub {
  margin-top: 2px;
  color: var(--color-text-mute);
  font-size: 12px;
}
@media (max-width: 920px) {
  .login-shell {
    display: block;
    max-width: 430px;
    border-radius: 22px;
  }
  .login-side { display: none; }
  .login-pane { padding: 30px 26px 28px; }
  .login-mobile-brand {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 12px;
    margin-bottom: 20px;
    text-align: left;
  }
  .login-mobile-brand img {
    width: 48px;
    height: 48px;
    border-radius: 14px;
    object-fit: cover;
    box-shadow: 0 10px 22px -10px rgba(22,93,255,.7);
  }
}
@media (max-width: 380px) {
  .login-pane { padding: 26px 18px 24px; }
  .login-pane .captcha-row { flex-wrap: wrap; }
  .login-pane .captcha-row > .btn.small { flex: 1 0 100%; }
}

/* ===== 2026-10 视觉增强：下载中心 / 套餐页 / 产品页收口 CTA / 首页产品卡截图 ===== */

/* 下载中心头部角色 */
.dl-head { display: flex; align-items: center; justify-content: space-between; gap: 28px; }
.dl-head-copy { min-width: 0; }
.dl-head-art {
  position: relative;
  flex: 0 0 208px;
  height: 186px;
  border-radius: 26px;
  display: flex;
  align-items: flex-end;
  justify-content: center;
  background:
    radial-gradient(110% 90% at 70% 0%, color-mix(in srgb, var(--color-brand-500) 12%, var(--color-surface-2)), transparent 62%),
    linear-gradient(155deg, color-mix(in srgb, var(--color-brand-500) 10%, var(--color-surface-2)), var(--color-surface-2));
  border: 1px solid color-mix(in srgb, var(--color-brand-500) 16%, var(--color-line));
  box-shadow: var(--shadow-soft), 0 18px 40px -30px color-mix(in srgb, var(--color-brand-500) 60%, transparent);
}
.dl-head-art::before {
  content: "";
  position: absolute;
  width: 124px;
  height: 124px;
  right: -34px;
  top: -42px;
  border-radius: 50%;
  background: radial-gradient(circle, color-mix(in srgb, var(--color-brand-500) 18%, transparent), transparent 68%);
}
.dl-head-art::after {
  content: "";
  position: absolute;
  left: 26px;
  right: 26px;
  bottom: 15px;
  height: 10px;
  border-radius: 50%;
  background: radial-gradient(ellipse, rgba(11, 18, 32, .18), transparent 70%);
  filter: blur(4px);
}
.dl-head-art img {
  position: relative;
  z-index: 1;
  height: 204px;
  width: auto;
  margin-bottom: -8px;
  filter: drop-shadow(0 14px 18px rgba(11, 18, 32, .18));
}

/* 套餐页头部角色 */
header.top .top-art {
  position: absolute;
  right: 0;
  bottom: -30px;
  height: 150px;
  display: flex;
  align-items: flex-end;
  pointer-events: none;
}
header.top .top-art img {
  height: 150px;
  width: auto;
  filter: drop-shadow(0 12px 16px rgba(3, 12, 40, .28));
}

/* 产品页收口 CTA */
.prod-cta {
  margin-top: 42px;
  grid-template-columns: 240px minmax(0, 1fr);
  background:
    radial-gradient(120% 130% at 0% 0%, color-mix(in srgb, var(--pc) 14%, transparent), transparent 55%),
    linear-gradient(135deg, color-mix(in srgb, var(--pc) 7%, var(--color-surface-2)), var(--color-surface-2) 62%);
  border-color: color-mix(in srgb, var(--pc) 18%, var(--color-line));
}
.prod-cta .brand-cta-art {
  background:
    radial-gradient(90% 70% at 50% 30%, color-mix(in srgb, var(--pc) 18%, #fff), transparent 70%),
    linear-gradient(160deg, #fff, color-mix(in srgb, var(--pc) 12%, #fff));
  box-shadow: 0 18px 40px -24px color-mix(in srgb, var(--pc) 60%, transparent), inset 0 0 0 1px rgba(255, 255, 255, .6);
}
.prod-cta .brand-cta-art img {
  position: relative;
  z-index: 1;
  width: auto;
  max-width: 100%;
  height: 230px;
  margin: 0 auto;
  aspect-ratio: auto;
  object-fit: contain;
  border-radius: 0;
}
.prod-cta .brand-cta-copy .eyebrow { color: var(--pc); }
.prod-cta-note { margin-top: 12px !important; font-size: 12px !important; color: var(--color-text-mute) !important; }

/* 下载页 / 产品页空态 */
.dl-empty .empty-art {
  display: block;
  height: 160px;
  width: auto;
  margin: 0 auto 10px;
  filter: drop-shadow(0 10px 14px rgba(11, 18, 32, .12));
}

/* 产品页“即将发布”卡 */
.dl-soon { display: flex; align-items: center; gap: 20px; }
.dl-soon-copy { min-width: 0; }
.dl-soon-copy p { max-width: 520px; }
.dl-soon-actions { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 14px; }
.dl-soon-art { flex: 0 0 auto; height: 158px; width: auto; filter: drop-shadow(0 14px 18px rgba(11, 18, 32, .16)); }

/* 首页产品卡截图条 */
.pc-shot {
  position: relative;
  display: block;
  margin: 0 0 16px;
  border-radius: 12px;
  overflow: hidden;
  border: 1px solid var(--color-line);
  background: var(--color-surface-3);
  box-shadow: 0 8px 20px -18px color-mix(in srgb, var(--pc) 55%, transparent);
}
.pc-shot img {
  display: block;
  width: 100%;
  height: 150px;
  object-fit: cover;
  object-position: top center;
  transition: transform .55s cubic-bezier(.16, .84, .44, 1);
}
.pc-shot::after {
  content: "";
  position: absolute;
  inset: auto 0 0;
  height: 34px;
  background: linear-gradient(rgba(11, 18, 32, 0), rgba(11, 18, 32, .16));
  pointer-events: none;
}
.product-card:hover .pc-shot img { transform: scale(1.035); }

@media (max-width: 760px) {
  .dl-head { gap: 18px; }
  .dl-head-art { flex-basis: 160px; height: 150px; border-radius: 22px; }
  .dl-head-art img { height: 164px; }
  .prod-cta { grid-template-columns: 180px minmax(0, 1fr); gap: 22px; padding: 24px; }
  .prod-cta .brand-cta-art img { height: 180px; }
  header.top .top-art { height: 110px; }
  header.top .top-art img { height: 110px; }
}
@media (max-width: 620px) {
  .dl-head-art { display: none; }
  .prod-cta { grid-template-columns: 1fr; padding: 20px; }
  .prod-cta .brand-cta-art { width: min(180px, 56%); }
  .prod-cta .brand-cta-art img { height: 190px; }
  .dl-soon-art { display: none; }
  .pc-shot img { height: 138px; }
}
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  .reveal { opacity: 1; transform: none; transition: none; }
  .pc-shot img { transition: none; }
  .product-card:hover .pc-shot img { transform: none; }
}
