/* SG 加密 API 页面样式
   卡片/标题/按钮配方直接取自 jdidc.cn 的 home.css（feature-card / home-product-card /
   home-product-action / hero-cta-primary / home-section-kicker / environment-group） */
:root{
  --primary:#0b63e6;
  --primary-hover:#0758d9;
  --primary-deep:#064db9;
  --accent:#48d3ff;
  --bg:#f8fbff;
  --bg-soft:#f2f7fc;
  --card:#ffffff;
  --border:#dce6f1;
  --border-soft:#e8eef6;
  --text:#0f172a;
  --muted:#667085;
  --radius:16px;
  --radius-sm:8px;
}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
body{font-family:'Microsoft YaHei','PingFang SC',system-ui,-apple-system,sans-serif;background:var(--bg);color:var(--text);min-height:100vh;line-height:1.7;font-size:14px;-webkit-font-smoothing:antialiased}
a{color:var(--primary);text-decoration:none}

/* ========== 顶部导航 ========== */
.nav{position:sticky;top:0;z-index:100;background:rgba(255,255,255,.78);backdrop-filter:blur(18px) saturate(1.5);border-bottom:1px solid var(--border-soft)}
.nav::before{content:'';position:absolute;left:0;right:0;top:0;height:2px;background:linear-gradient(90deg,var(--primary),var(--accent))}
.nav-inner{width:min(1360px,calc(100% - 32px));margin:0 auto;height:64px;display:flex;align-items:center;justify-content:space-between}
.logo{font-size:19px;font-weight:800;letter-spacing:-.3px;color:var(--text)}
.logo span{color:var(--primary)}
.nav-links{display:flex;align-items:center;gap:6px}
.nav-links a{position:relative;display:inline-flex;align-items:center;height:42px;padding:0 16px;border-radius:999px;font-size:14px;font-weight:500;color:var(--muted);transition:color .2s,background-color .2s,box-shadow .2s}
.nav-links a::after{content:'';position:absolute;left:16px;right:16px;bottom:6px;height:2px;border-radius:2px;background:linear-gradient(90deg,var(--primary),var(--accent));transform:scaleX(0);transform-origin:left;transition:transform .25s}
.nav-links a:hover{color:var(--primary)}
.nav-links a:hover::after{transform:scaleX(1)}
/* 当前版本 —— 对应他们导航右侧的注册按钮 */
.nav-links a.active{color:#fff;font-weight:600;background:var(--primary);box-shadow:0 10px 24px rgba(0,82,217,.2)}
.nav-links a.active::after{display:none}

/* ========== Hero（背景取自 .feature-zone） ========== */
.hero{
  background:
    radial-gradient(780px 320px at 8% 8%, rgba(26,117,255,.08), transparent 72%),
    radial-gradient(720px 300px at 92% 100%, rgba(72,207,255,.08), transparent 72%),
    linear-gradient(180deg,#f8fbff 0%,#f2f7fc 100%);
  border-bottom:1px solid var(--border-soft);
}
.hero-inner{width:min(1360px,calc(100% - 32px));margin:0 auto;padding:76px 0 80px}
/* .hero-tag 原样 */
.hero-tag{display:inline-flex;align-items:center;gap:8px;padding:8px 14px;border-radius:999px;background:rgba(255,255,255,.7);border:1px solid rgba(0,82,217,.12);backdrop-filter:blur(8px);box-shadow:0 12px 24px rgba(15,23,42,.06);color:var(--primary-hover);font-size:12px;font-weight:700;letter-spacing:.04em;margin-bottom:22px}
/* .hero-title 原样（他们家标题字体 YouSheBiaoTiHei 我们没有，回退雅黑加粗） */
.hero-title{font-size:clamp(34px,5vw,64px);line-height:1.04;letter-spacing:0;color:var(--text);font-weight:800;margin-bottom:14px}
.hero-title span{color:var(--primary)}
/* .hero-desc 原样 */
.hero-desc{font-size:clamp(14px,1.45vw,18px);line-height:1.8;color:#4e5969;max-width:620px;margin-bottom:24px}
.hero-actions{max-width:720px}
.ep-body{display:flex;align-items:center;background:#fff;border:1px solid var(--border);border-radius:12px;overflow:hidden;height:52px;box-shadow:0 10px 28px rgba(23,48,80,.055)}
.ep-method{padding:0 18px;height:100%;display:flex;align-items:center;font-size:11px;font-weight:700;letter-spacing:.6px;color:#fff;background:linear-gradient(135deg,#0d5eff 0%,#0b49d9 100%);flex-shrink:0}
.ep-url{flex:1;padding:0 18px;font-family:"SF Mono","Fira Code",Consolas,monospace;font-size:13px;color:#475569;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.ep-btn{padding:0 18px;height:100%;display:flex;align-items:center;border:none;border-left:1px solid var(--border-soft);background:#fff;color:var(--muted);cursor:pointer;transition:all .2s}
.ep-btn:hover{background:var(--bg-soft);color:var(--primary)}
.hero-notes{margin-top:18px;display:flex;flex-wrap:wrap;gap:8px 24px;font-size:13px;color:var(--muted)}
.hero-notes span::before{content:'';display:inline-block;width:6px;height:6px;border-radius:50%;background:var(--primary);margin-right:8px;vertical-align:2px}

/* ========== 通用区块 ========== */
.wrap{width:min(1360px,calc(100% - 32px));margin:0 auto}
.section{padding-top:76px;scroll-margin-top:76px}
/* .home-section-kicker 原样 */
.sec-label{display:inline-flex;align-items:center;gap:8px;color:var(--primary-hover);font-size:12px;line-height:1;font-weight:750;letter-spacing:.12em}
.sec-label::before{content:'';width:22px;height:2px;border-radius:999px;background:linear-gradient(90deg,#0b63e6,#55c8ff)}
/* .feature-heading h2 原样 */
.sec-title{margin:14px 0 12px;color:#101828;font-size:34px;line-height:1.25;font-weight:760;letter-spacing:-.035em}
/* .feature-heading p 原样 */
.sec-desc{margin:0;color:var(--muted);font-size:15px;line-height:1.8;max-width:760px}

/* ========== 面板卡片（.environment-group 配方） ========== */
.card{
  position:relative;
  background:rgba(255,255,255,.92);
  border:1px solid var(--border);
  border-radius:16px;
  box-shadow:0 12px 30px rgba(24,49,82,.055);
}

/* ========== 表单 ========== */
.form-card{margin-top:22px;overflow:hidden}
.form-row{display:flex;align-items:center;border-bottom:1px solid var(--border-soft);min-height:60px}
.form-row:last-child{border-bottom:none}
.form-label{width:150px;padding:15px 22px;font-size:13px;font-weight:600;color:#344054;background:var(--bg-soft);border-right:1px solid var(--border-soft);align-self:stretch;display:flex;align-items:center;flex-shrink:0}
.form-value{flex:1;padding:13px 22px;display:flex;align-items:center;flex-wrap:wrap;gap:8px;min-width:0}
.form-value input[type="text"]{flex:1;max-width:430px;min-width:180px;height:40px;padding:0 14px;border:1px solid var(--border);border-radius:var(--radius-sm);font-size:13px;font-family:inherit;color:var(--text);background:#fff;outline:none;transition:border-color .2s,box-shadow .2s}
.form-value input[type="text"]:focus{border-color:var(--primary);box-shadow:0 0 0 3px rgba(11,99,230,.1)}
/* 文件选择：隐藏原生按钮外观，改成和整站一致的胶囊按钮 */
.form-value input[type="file"]{font-size:13px;color:var(--muted);max-width:100%}
.form-value input[type="file"]::-webkit-file-upload-button{padding:8px 18px;margin-right:14px;border:1px solid var(--primary);border-radius:999px;background:#fff;color:var(--primary);font-size:13px;font-weight:600;font-family:inherit;cursor:pointer;transition:background-color .18s}
.form-value input[type="file"]::-webkit-file-upload-button:hover{background:#eef4fd}
.form-value input[type="file"]::file-selector-button{padding:8px 18px;margin-right:14px;border:1px solid var(--primary);border-radius:999px;background:#fff;color:var(--primary);font-size:13px;font-weight:600;font-family:inherit;cursor:pointer;transition:background-color .18s}
.form-value input[type="file"]::file-selector-button:hover{background:#eef4fd}

/* 限制类型：自定义下拉 + 组合输入（单位 + 数字 / 日期） */
.s-drop{display:inline-block}
.s-drop-btn{display:inline-flex;align-items:center;justify-content:space-between;gap:28px;min-width:146px;height:40px;padding:0 14px;border:1px solid var(--border);border-radius:var(--radius-sm);background:#fff;font-size:13px;font-family:inherit;color:#344054;cursor:pointer;transition:border-color .2s,box-shadow .2s}
.s-drop-btn:hover{border-color:#b9cbe4}
.s-drop.open .s-drop-btn{border-color:var(--primary);box-shadow:0 0 0 3px rgba(11,99,230,.1)}
.s-chev{color:#98a2b3;flex-shrink:0;transition:transform .2s}
.s-drop.open .s-chev{transform:rotate(180deg)}
.s-drop-menu{position:absolute;left:0;right:0;top:calc(100% + 6px);z-index:60;display:none;padding:6px 0;overflow:hidden;border:1px solid var(--border);border-radius:12px;background:#fff;box-shadow:0 18px 40px rgba(24,49,82,.14)}
.s-drop.open .s-drop-menu{display:block;animation:dropIn .16s ease-out}
@keyframes dropIn{from{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}
.s-drop-group{padding:8px 16px 4px;font-size:11px;color:#98a2b3;letter-spacing:.02em}
.s-drop-item{display:flex;align-items:center;justify-content:space-between;gap:24px;height:40px;padding:0 16px;font-size:13px;color:#475569;cursor:pointer;transition:background-color .15s,color .15s}
.s-drop-item:hover{background:var(--bg-soft);color:var(--text)}
.s-drop-item.on{background:#eef4fd;color:var(--primary);font-weight:600;box-shadow:inset 2px 0 0 var(--primary)}
.s-check{opacity:0;color:var(--primary);flex-shrink:0}
.s-drop-item.on .s-check{opacity:1}
.limit-wrap{position:relative;display:flex;align-items:center;gap:8px;width:430px;max-width:100%}
.limit-wrap .s-drop{flex-shrink:0}
.limit-wrap .limit-group{flex:1;min-width:0}
.limit-group{display:inline-flex;align-items:stretch;overflow:hidden;border:1px solid var(--border);border-radius:var(--radius-sm);background:#fff;transition:border-color .2s,box-shadow .2s}
.limit-group:focus-within{border-color:var(--primary);box-shadow:0 0 0 3px rgba(11,99,230,.1)}
.limit-group .limit-unit{height:40px;padding:0 10px;border:none;border-right:1px solid var(--border);border-radius:0;background:var(--bg-soft);font-size:13px;font-family:inherit;color:#344054;outline:none;cursor:pointer}
#apiForm .limit-group input{height:40px;padding:0 14px;border:none;border-radius:0;outline:none;font-size:13px;font-family:inherit;color:var(--text);background:#fff;box-shadow:none}
#apiForm .limit-group input:focus{box-shadow:none;border:none}
#apiForm .limit-group input[type="number"]{flex:1;width:100%;max-width:none;min-width:0}
#apiForm .limit-group input[type="number"]::-webkit-outer-spin-button,
#apiForm .limit-group input[type="number"]::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}
#apiForm .limit-group input[type="number"]{-moz-appearance:textfield}
#apiForm .limit-group input.youxiao{flex:1;width:100%;max-width:none;min-width:0}

.v-btn,.p-btn{display:inline-flex;align-items:center;justify-content:center;min-width:54px;height:34px;padding:0 14px;border-radius:var(--radius-sm);font-size:12px;font-weight:600;cursor:pointer;user-select:none;background:#fff;border:1px solid var(--border);color:var(--muted);font-family:inherit;transition:all .18s}
.v-btn:hover,.p-btn:hover{border-color:var(--primary);color:var(--primary)}
.v-btn.checked,.p-btn.on{background:var(--primary);border-color:var(--primary);color:#fff;box-shadow:0 6px 14px rgba(11,99,230,.25)}
.hint-t{font-size:11px;color:#98a2b3;margin-left:4px}

.submit-bar{display:flex;align-items:center;gap:16px;padding:18px 22px;background:var(--bg-soft)}
/* .hero-cta-primary 原样 */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;height:48px;padding:0 22px;border-radius:999px;border:none;color:#fff;font-size:14px;font-weight:600;font-family:inherit;cursor:pointer;background:linear-gradient(135deg,#0d5eff 0%,#0b49d9 100%);box-shadow:0 14px 28px rgba(13,94,255,.28);transition:transform .2s ease,box-shadow .2s ease,background-color .2s ease,color .2s ease}
.btn:hover{transform:translateY(-1px)}
.btn:disabled{background:#c9d4e8;box-shadow:none;transform:none;cursor:not-allowed}
.file-hint{font-size:12px;color:#98a2b3}
.spinner{display:none;width:16px;height:16px;border:2px solid rgba(255,255,255,.35);border-top-color:#fff;border-radius:50%;animation:spin .6s linear infinite}
@keyframes spin{to{transform:rotate(360deg)}}

/* ========== 结果 ========== */
.result{display:none;margin-top:18px}
.result.show{display:block;animation:fadeIn .25s ease-out}
@keyframes fadeIn{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}
.result .card{padding:22px 26px}
.result .meta{display:flex;align-items:center;gap:8px;font-size:12px;color:var(--muted);margin-bottom:12px}
/* .home-product-badge 配方（静态色值等价 color-mix 结果） */
.badge{display:inline-flex;align-items:center;height:25px;padding:0 9px;font-size:11px;font-weight:700;color:var(--primary);border:1px solid #bad3f8;background:#eef4fd}
.badge.err{color:#dc2626;border-color:#f5c6c6;background:#fdf0f0}
.badge.warn{color:#d97706;border-color:#f2d9a8;background:#fdf6e8}
/* 加密失败文件提醒 */
.alert-err{display:none;margin-bottom:14px;padding:14px 16px;border:1px solid #fecaca;border-radius:12px;background:#fef2f2}
.alert-err.show{display:block;animation:fadeIn .25s ease-out}
.alert-err .ae-head{display:flex;align-items:center;gap:8px;color:#b91c1c;font-size:14px;font-weight:700}
.alert-err .ae-head svg{flex-shrink:0}
.alert-err .ae-stats{margin-top:12px;display:flex;gap:10px}
.alert-err .ae-stat{flex:1;padding:9px 12px;border:1px solid #fecaca;border-radius:10px;background:#fff;text-align:center}
.alert-err .ae-stat span{display:block;font-size:11px;color:#b91c1c;opacity:.8}
.alert-err .ae-stat strong{display:block;font-size:20px;font-weight:800;line-height:1.35;color:#b91c1c}
.alert-err .ae-stat.is-total{border-color:#e5e7eb}
.alert-err .ae-stat.is-total span{color:#667085;opacity:1}
.alert-err .ae-stat.is-total strong{color:#344054}
.alert-err .ae-stat.is-ok{border-color:#bbf7d0;background:#f0fdf4}
.alert-err .ae-stat.is-ok span,.alert-err .ae-stat.is-ok strong{color:#15803d}
.alert-err .ae-list{margin-top:10px;display:flex;flex-wrap:wrap;gap:6px}
.alert-err .ae-list span{font-family:"SF Mono","Fira Code",Consolas,monospace;font-size:12px;color:#b91c1c;background:#fff;border:1px solid #fecaca;border-radius:6px;padding:3px 8px}
.alert-err .ae-list span.is-broken{border-style:dashed;background:#fff7f7}
.alert-err .ae-tip{margin-top:9px;font-size:12px;color:#b91c1c;opacity:.85;line-height:1.7}
.result pre{background:var(--bg-soft);border:1px solid var(--border-soft);border-radius:12px;padding:18px;font-family:"SF Mono","Fira Code",Consolas,monospace;font-size:12px;color:#334155;overflow:auto;white-space:pre-wrap;line-height:1.65;max-height:400px}
/* .home-product-action 原样（含扫光） */
.dl-links{display:flex;flex-wrap:wrap;gap:10px;margin-top:14px}
.dl-links a{position:relative;overflow:hidden;display:inline-flex;align-items:center;justify-content:center;gap:8px;min-width:98px;height:38px;padding:0 14px;color:#fff;font-size:12px;font-weight:700;background:linear-gradient(135deg,#0d6bff 0%,#0846cf 100%);border:1px solid transparent;box-shadow:0 8px 18px rgba(11,99,230,.22);transition:background-color .2s ease,transform .2s ease}
.dl-links a::after{content:'';position:absolute;top:0;bottom:0;left:-70%;width:44%;background:linear-gradient(105deg,transparent,rgba(255,255,255,.32),transparent);transform:skewX(-18deg);transition:left .5s ease;pointer-events:none}
.dl-links a:hover{background:var(--primary-deep);transform:translateX(2px)}
.dl-links a:hover::after{left:130%}

/* ========== 特性卡（.feature-card 原样，用于使用步骤） ========== */
.steps{margin-top:22px;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}
.step{
  --feature-accent:#0b63e6;
  position:relative;display:flex;flex-direction:column;min-width:0;
  padding:18px 20px 20px;overflow:hidden;
  background:rgba(255,255,255,.92);
  border:1px solid #dce7f3;
  border-radius:16px;
  box-shadow:0 14px 34px rgba(19,45,80,.07),inset 0 1px 0 #fff;
  transition:transform .26s ease,box-shadow .26s ease,border-color .26s ease;
}
.step::before{content:'';position:absolute;inset:0 0 auto;height:2px;background:linear-gradient(90deg,transparent,var(--feature-accent),transparent);opacity:.55}
.step:hover{transform:translateY(-6px);border-color:#bed5f1;box-shadow:0 26px 54px rgba(19,54,97,.13),0 16px 40px rgba(11,99,230,.09),inset 0 1px 0 #fff}
.step:hover .illus-icon{transform:translateY(-4px) scale(1.035)}
/* 悬停时右上角淡入的角标 —— .feature-card::after 原样 */
.step::after{content:'';position:absolute;top:10px;right:10px;width:14px;height:14px;border-top:2px solid var(--feature-accent,#0b63e6);border-right:2px solid var(--feature-accent,#0b63e6);border-top-right-radius:6px;opacity:0;transform:translate(-4px,4px);transition:opacity .25s ease,transform .25s ease;pointer-events:none}
.step:hover::after{opacity:.55;transform:translate(0,0)}
/* 每张卡各自的强调色 —— 对应他们的 .feature-card.feature-cyan / -violet / -indigo */
.step:nth-child(2){--feature-accent:#6957d9}
.step:nth-child(3){--feature-accent:#0798bd}
.step:nth-child(4){--feature-accent:#3154b9}
/* 卡头 —— .feature-card-head / -badge / -index 原样 */
.step-head{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:14px}
.step-badge{color:var(--feature-accent);font-size:12px;font-weight:700;letter-spacing:.04em}
.step-index{color:#c4ceda;font-size:12px;font-weight:750;letter-spacing:.12em}
/* 动效插画区 —— .feature-illustration 原样（网格底 + 脉冲光晕 + 旋转虚线环） */
.illus{position:relative;display:grid;place-items:center;height:112px;margin-bottom:18px;overflow:hidden;border:1px solid #e3ebf5;border-radius:12px;
  background:
    linear-gradient(rgba(111,142,180,.07) 1px, transparent 1px),
    linear-gradient(90deg, rgba(111,142,180,.07) 1px, transparent 1px),
    radial-gradient(circle at 50% 50%, rgba(11,99,230,.13), rgba(255,255,255,.78) 62%);
  background-size:18px 18px,18px 18px,100% 100%}
.illus::before,.illus::after{content:'';position:absolute;border:1px solid rgba(11,99,230,.13);border-radius:50%}
.illus::before{width:94px;height:94px;animation:illus-halo 3.4s ease-in-out infinite}
.illus::after{width:72px;height:72px;border-style:dashed;animation:illus-orbit 9s linear infinite}
.step:nth-child(2) .illus::before,.step:nth-child(2) .illus::after{animation-delay:-.8s}
.step:nth-child(3) .illus::before,.step:nth-child(3) .illus::after{animation-delay:-1.6s}
.step:nth-child(4) .illus::before,.step:nth-child(4) .illus::after{animation-delay:-2.4s}
.illus-icon{position:relative;z-index:1;width:82px;height:82px;color:var(--feature-accent);filter:drop-shadow(0 10px 13px rgba(22,71,133,.14));transition:transform .26s ease}
/* 图标内部动效 */
.fx-float{transform-box:fill-box;transform-origin:center;animation:fx-float 2.6s ease-in-out infinite}
.fx-pulse{transform-box:fill-box;transform-origin:center;animation:fx-pulse 1.8s ease-in-out infinite}
.fx-spin{transform-box:view-box;transform-origin:24px 24px;animation:fx-spin 5.8s linear infinite}
@keyframes illus-halo{0%,100%{transform:scale(.92);opacity:.45}50%{transform:scale(1.08);opacity:.9}}
@keyframes illus-orbit{to{transform:rotate(360deg)}}
@keyframes fx-float{0%,100%{transform:translateY(2px)}50%{transform:translateY(-4px)}}
@keyframes fx-pulse{0%,100%{transform:scale(.72);opacity:.58}50%{transform:scale(1.25);opacity:1}}
@keyframes fx-spin{to{transform:rotate(360deg)}}

.step h4{margin:0 0 8px;color:#111827;font-size:20px;line-height:1.35;font-weight:730}
.step p{flex:1;margin:0;color:#687588;font-size:13px;line-height:1.75}
.step{min-height:330px}

/* ========== 文档 ========== */
.docs-sub{margin-top:8px;font-size:15px;color:var(--muted)}
.docs h3{margin:34px 0 14px;color:#101828;font-size:19px;line-height:1.35;font-weight:720}
.docs h3:first-of-type{margin-top:26px}
.table-wrap{overflow:hidden;border:1px solid var(--border);border-radius:16px;background:rgba(255,255,255,.92);box-shadow:0 12px 30px rgba(24,49,82,.055)}
table{width:100%;border-collapse:collapse;font-size:13px}
th{padding:12px 18px;text-align:left;font-weight:600;font-size:12px;color:var(--muted);background:var(--bg-soft);border-bottom:1px solid #e7edf5}
td{padding:12px 18px;border-bottom:1px solid #e9eef5;color:#475569;vertical-align:top}
tr:last-child td{border-bottom:none}
td:first-child{color:var(--text);font-weight:500}
td code{white-space:nowrap}
code{font-family:"SF Mono","Fira Code",Consolas,monospace;font-size:12px;padding:3px 7px;background:#eef4fd;border-radius:6px;color:var(--primary)}
pre.code{background:#fff;border:1px solid var(--border);border-radius:16px;padding:20px 22px;overflow-x:auto;margin:0;line-height:1.75;box-shadow:0 12px 30px rgba(24,49,82,.055)}
pre.code code{background:none;padding:0;color:#334155;font-size:13px}
.lang-tabs{display:flex;gap:8px;margin-bottom:14px;flex-wrap:wrap}
.lang-btn{display:inline-flex;align-items:center;justify-content:center;height:36px;padding:0 18px;border-radius:999px;font-size:12px;font-weight:600;cursor:pointer;background:#fff;border:1px solid var(--border);color:var(--muted);font-family:inherit;transition:all .18s}
.lang-btn:hover{border-color:var(--primary);color:var(--primary)}
.lang-btn.active{background:linear-gradient(135deg,#0d6bff 0%,#0846cf 100%);border-color:transparent;color:#fff;box-shadow:0 8px 18px rgba(11,99,230,.26)}

/* ========== 页脚 ========== */
.footer{margin-top:88px;background:#fff;border-top:1px solid var(--border-soft)}
.footer-inner{width:min(1360px,calc(100% - 32px));margin:0 auto;padding:30px 0;display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;font-size:13px;color:var(--muted)}

/* 复制提示：吸附在接口地址框正上方（绿色成功态） */
.ep-wrap{position:relative}
.toast{position:absolute;right:18px;bottom:calc(100% + 12px);z-index:10;padding:9px 16px;border-radius:10px;background:#18b875;color:#fff;font-size:13px;font-weight:600;white-space:nowrap;pointer-events:none;opacity:0;transform:translateY(8px);transition:opacity .25s ease,transform .25s ease;box-shadow:0 10px 24px rgba(24,184,117,.28)}
.toast.show{opacity:1;transform:translateY(0)}
.toast.is-err{background:#dc2626;box-shadow:0 10px 24px rgba(220,38,38,.28)}

@media(max-width:1100px){
  .steps{grid-template-columns:repeat(2,minmax(0,1fr))}
  .hero-inner{padding:56px 0 60px}
  .section{padding-top:64px}
}
@media(max-width:768px){
  .sec-title{font-size:26px}
  .form-row{flex-direction:column;align-items:stretch}
  .form-label{width:auto;padding:10px 18px;border-right:none;border-bottom:1px solid var(--border-soft)}
  .nav-links a{padding:0 12px;font-size:13px}
  .nav-links a::after{left:12px;right:12px}
  .footer-inner{padding:24px 0}
}
@media(max-width:640px){
  .steps{grid-template-columns:1fr}
  .step{min-height:0}
}
/* 无障碍：跟随系统减弱动效 */
@media (prefers-reduced-motion: reduce){
  .illus::before,.illus::after,.illus-icon *,.dl-links a::after{animation:none !important}
}
