/* ============================================================
   DouParse 首页样式 · 第 1 段 / 共 3 段
   内容：全局变量 & Reset、头部导航、公告条 & 互推飘带
   ============================================================ */

/* ========== 全局变量 & Reset ========== */
:root{
  --bg:#0b0d12; --bg-2:#12151d; --card:#161a24; --card-2:#1c2130;
  --text:#e8ecf3; --text-dim:#8b93a7; --line:rgba(255,255,255,.10);
  --brand:#7c3aed; --brand-2:#ec4899; --cyan:#22d3ee;
  --ok:#22c55e; --warn:#f59e0b; --err:#ef4444;
  --radius:14px; --radius-lg:18px;
  --shadow:0 10px 30px rgba(0,0,0,.45);
  --max:1100px;
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{
  font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","PingFang SC","Hiragino Sans GB","Microsoft YaHei",sans-serif;
  background:var(--bg);color:var(--text);line-height:1.6;
  min-height:100vh;overflow-x:hidden;
}
a{color:inherit;text-decoration:none}
img{max-width:100%;display:block}
button{font:inherit;cursor:pointer;border:none;background:none;color:inherit}
input,textarea,select{font:inherit}
code{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;
  background:rgba(255,255,255,.08);padding:1px 6px;border-radius:5px;font-size:.92em}
kbd{background:rgba(255,255,255,.1);border:1px solid var(--line);border-radius:5px;
  padding:1px 6px;font-size:11.5px;font-family:inherit}
.hidden{display:none !important}
.wrap{max-width:var(--max);margin:0 auto;padding:0 20px}

/* ========== 头部导航 ========== */
.site-header{
  position:sticky;top:0;z-index:100;
  background:rgba(11,13,18,.85);backdrop-filter:blur(12px);
  -webkit-backdrop-filter:blur(12px);
  border-bottom:1px solid var(--line);
}
.site-header .wrap{display:flex;align-items:center;gap:16px;height:62px}
.brand{display:flex;align-items:center;gap:8px;font-weight:800;font-size:17px;white-space:nowrap}
.brand .logo{font-size:22px}
.brand .name em{font-style:normal;
  background:linear-gradient(90deg,var(--brand),var(--brand-2));
  -webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}
.nav{display:flex;align-items:center;gap:4px;flex:1;overflow:visible}
.nav>a,.nav-more-btn{
  padding:7px 11px;border-radius:9px;font-size:14px;color:var(--text-dim);
  transition:background .15s,color .15s;white-space:nowrap;
}
.nav>a:hover,.nav-more-btn:hover{background:rgba(255,255,255,.06);color:var(--text)}
.nav-plat{font-size:13.5px}
.nav-more{position:relative}
.nav-more-panel{
  position:absolute;top:calc(100% + 8px);right:0;width:320px;
  background:var(--card);border:1px solid var(--line);border-radius:var(--radius);
  box-shadow:var(--shadow);padding:8px;display:none;
  max-height:70vh;overflow-y:auto;z-index:101;
}
.nav-more:hover .nav-more-panel,.nav-more:focus-within .nav-more-panel{display:block}
.nav-more-item{display:flex;gap:10px;padding:9px 10px;border-radius:9px;align-items:flex-start}
.nav-more-item:hover{background:rgba(255,255,255,.06)}
.nav-more-emoji{font-size:18px;line-height:1.4}
.nav-more-item b{display:block;font-size:13.5px}
.nav-more-item small{display:block;font-size:11.5px;color:var(--text-dim)}
.lang-btn{padding:6px 12px;border-radius:9px;font-size:13px;background:rgba(255,255,255,.06)}
.lang-btn:hover{background:rgba(255,255,255,.12)}
.nav-acct{padding:7px 14px;border-radius:9px;font-size:13.5px;font-weight:600;
  background:linear-gradient(90deg,var(--brand),var(--brand-2));color:#fff;white-space:nowrap}

/* ========== 公告条 / 互推飘带 ========== */
.notice-bar{background:rgba(124,58,237,.16);border-bottom:1px solid var(--line);
  padding:10px 16px;text-align:center;font-size:13.5px}

.xr-ribbon{position:relative;overflow:hidden;margin:0;padding:10px 16px;
  display:flex;align-items:stretch;justify-content:center;gap:12px;flex-wrap:wrap;
  background:linear-gradient(90deg,rgba(124,58,237,.20),rgba(236,72,153,.16) 50%,rgba(34,211,238,.18));
  border-bottom:1px solid rgba(255,255,255,.10)}
.xr-ribbon::after{content:"";position:absolute;top:0;left:-40%;width:40%;height:100%;
  background:linear-gradient(100deg,transparent,rgba(255,255,255,.14),transparent);
  animation:xr-sheen 4.5s ease-in-out infinite;pointer-events:none}
@keyframes xr-sheen{0%{left:-40%}60%,100%{left:120%}}
.xr-chip{position:relative;display:flex;flex-direction:column;gap:2px;align-items:flex-start;
  padding:8px 18px;border-radius:12px;text-decoration:none;color:#fff;
  background:linear-gradient(100deg,var(--xa,#7c3aed),var(--xb,#ec4899));
  box-shadow:0 4px 14px rgba(0,0,0,.35);transition:transform .16s,filter .16s}
.xr-chip:hover{transform:translateY(-1px) scale(1.02);filter:brightness(1.12)}
.xr-r1{display:flex;align-items:center;gap:7px;font-size:14px;font-weight:800;letter-spacing:.2px}
.xr-ic{font-size:15px}
.xr-ds{font-size:11.5px;font-weight:500;opacity:.92;letter-spacing:.2px}
.xr-ar{opacity:.85;font-size:12px;margin-left:2px}
.xr-b{font-style:normal;font-size:9px;font-weight:800;padding:1px 5px;border-radius:5px;
  background:rgba(0,0,0,.28);letter-spacing:.4px}
.xr-b.new{background:#22c55e}
.xr-b.hot{background:#ff4d4f}
@media (prefers-reduced-motion:reduce){.xr-ribbon::after{animation:none}}
.hero{padding:52px 0 32px;text-align:center}
.hero h1{font-size:clamp(22px,3.4vw,34px);font-weight:900;line-height:1.3;letter-spacing:.3px}
.hero .subtitle{margin-top:14px;font-size:15px;color:var(--text-dim);
  max-width:760px;margin-left:auto;margin-right:auto}
.hero-tags{margin-top:8px;font-size:13px;color:var(--text-dim);opacity:.85}

.parse-box{max-width:760px;margin:26px auto 0;text-align:left}
.parse-box textarea{
  width:100%;background:var(--card);border:1px solid var(--line);border-radius:var(--radius);
  padding:14px 16px;color:var(--text);font-size:14.5px;line-height:1.7;resize:vertical;
  transition:border-color .15s,box-shadow .15s;
}
.parse-box textarea:focus{outline:none;border-color:rgba(124,58,237,.6);
  box-shadow:0 0 0 3px rgba(124,58,237,.18)}
.parse-actions{display:flex;gap:10px;margin-top:12px;justify-content:flex-end}

.btn{
  display:inline-flex;align-items:center;gap:6px;padding:10px 18px;border-radius:11px;
  font-size:14px;font-weight:600;transition:transform .12s,filter .12s,background .15s;
  background:rgba(255,255,255,.08);color:var(--text);white-space:nowrap;cursor:pointer;
}
.btn:hover{filter:brightness(1.15);transform:translateY(-1px)}
.btn.primary{background:linear-gradient(90deg,var(--brand),var(--brand-2));color:#fff}
.btn.ghost{background:rgba(255,255,255,.06)}
.btn[disabled]{opacity:.5;pointer-events:none}

.status{margin-top:14px;font-size:13.5px;color:var(--text-dim);min-height:20px;text-align:center}
.status.ok{color:var(--ok)} .status.err{color:var(--err)}
.ext-hint{margin-top:12px;padding:10px 14px;border-radius:11px;background:rgba(245,158,11,.12);
  border:1px solid rgba(245,158,11,.3);font-size:13px;color:#fcd34d;text-align:left}

/* 批量提示 */
.batch-tip{max-width:760px;margin:18px auto 0;text-align:left;background:var(--card);
  border:1px solid var(--line);border-radius:var(--radius);padding:12px 16px;font-size:13.5px}
.batch-tip summary{cursor:pointer;color:var(--text-dim);font-weight:600}
.batch-tip-body{margin-top:10px;color:var(--text-dim);line-height:1.8}
.batch-tip-body ol{margin:8px 0 8px 20px}
.batch-tip-note{margin-top:6px;font-size:12.5px;opacity:.8}

.bookmark-hint{margin-top:18px;font-size:12.5px;color:var(--text-dim);text-align:center}
.pwa-install{margin-top:16px;padding:9px 18px;border-radius:11px;font-size:13.5px;
  background:rgba(34,211,238,.14);border:1px solid rgba(34,211,238,.3);color:#a5f3fc;cursor:pointer}
.pwa-install:hover{filter:brightness(1.15)}

/* ========== 结果区 ========== */
.result{padding:20px 0 8px}
.result-card{max-width:900px;margin:0 auto;background:var(--card);border:1px solid var(--line);
  border-radius:var(--radius-lg);padding:20px;box-shadow:var(--shadow)}
.video-block,.image-block,.product-block{margin-bottom:16px}

/* 视频块 */
.cover-preview{width:100%;max-height:420px;object-fit:cover;border-radius:12px;
  background:#000;min-height:180px}
.cover-tip{margin-top:8px;font-size:12.5px;color:var(--text-dim);text-align:center}

.quality-bar{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px}
.quality-bar button{padding:6px 14px;border-radius:9px;font-size:13px;
  background:rgba(255,255,255,.06);border:1px solid var(--line);color:var(--text-dim);cursor:pointer}
.quality-bar button.active{background:linear-gradient(90deg,var(--brand),var(--brand-2));
  color:#fff;border-color:transparent}

/* 通用 meta */
.meta .author{display:flex;gap:10px;align-items:center;margin-bottom:10px}
.meta .avatar{width:42px;height:42px;border-radius:50%;background:var(--card-2);object-fit:cover}
.meta .nick{font-weight:700;font-size:14.5px}
.meta .uid{font-size:12px;color:var(--text-dim)}
.meta .desc{margin:10px 0;font-size:14px;color:var(--text);line-height:1.7;
  white-space:pre-wrap;word-break:break-word}
.meta .stats{display:flex;gap:16px;flex-wrap:wrap;font-size:12.5px;color:var(--text-dim);margin-bottom:12px}
.meta .stats b{color:var(--text);font-weight:600}
.meta .btns{display:flex;gap:10px;flex-wrap:wrap}

/* 图集网格 */
.image-block{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:10px}
.image-block .img-item{position:relative;border-radius:10px;overflow:hidden;
  background:var(--card-2);aspect-ratio:1}
.image-block .img-item img{width:100%;height:100%;object-fit:cover}
.image-block .img-item a{position:absolute;inset:auto 0 0 0;padding:5px;font-size:11.5px;
  text-align:center;background:rgba(0,0,0,.55);color:#fff;opacity:0;transition:opacity .15s}
.image-block .img-item:hover a{opacity:1}

/* 商品素材 */
.product-head{display:flex;gap:10px;align-items:center;margin-bottom:12px;flex-wrap:wrap}
.product-badge{padding:3px 10px;border-radius:8px;font-size:12px;font-weight:700;
  background:linear-gradient(90deg,#ea580c,#facc15);color:#111}
.product-shop{font-size:13px;color:var(--text-dim)}
.product-videos{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));
  gap:12px;margin-bottom:16px}
.product-videos .pv-item{border-radius:10px;overflow:hidden;background:var(--card-2)}
.product-videos .pv-item img{width:100%;aspect-ratio:1;object-fit:cover}
.product-videos .pv-item a{display:block;padding:8px;text-align:center;font-size:12.5px;
  background:rgba(255,255,255,.06);color:var(--text)}
.product-gallery .pg-title{font-size:13px;color:var(--text-dim);margin:10px 0 8px}
.pg-main,.pg-detail{display:grid;grid-template-columns:repeat(auto-fill,minmax(110px,1fr));gap:8px}
.pg-main img,.pg-detail img{width:100%;aspect-ratio:1;object-fit:cover;
  border-radius:8px;background:var(--card-2)}

/* 结果下方家族互推 */
.xp-wrap{max-width:900px;margin:26px auto 0;padding:20px 18px 22px;border-radius:18px;
  background:linear-gradient(135deg,rgba(124,58,237,.16),rgba(236,72,153,.12) 50%,rgba(34,211,238,.14));
  border:1px solid rgba(255,255,255,.14);position:relative;overflow:hidden}
.xp-grid{position:relative;display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:12px}
.xp-card{position:relative;display:flex;align-items:center;gap:14px;padding:16px 18px;
  border-radius:14px;background:rgba(11,13,18,.55);border:1px solid rgba(255,255,255,.14);
  color:inherit;text-decoration:none;transition:transform .2s,border-color .2s,box-shadow .2s}
.xp-card:hover{transform:translateY(-3px);border-color:rgba(236,72,153,.55);
  box-shadow:0 12px 32px rgba(124,58,237,.3)}
.xp-ic{flex:none;width:46px;height:46px;border-radius:12px;display:grid;place-items:center;
  font-size:24px;background:linear-gradient(135deg,var(--xa,#7c3aed),var(--xb,#ec4899));
  box-shadow:0 6px 16px rgba(0,0,0,.4)}
.xp-body{flex:1;min-width:0}
.xp-name{display:flex;align-items:center;gap:7px;font-size:16px;font-weight:800}
.xp-tag{display:block;margin-top:3px;font-size:13px;color:var(--text-dim)}
.xp-go{flex:none;font-size:12px;font-weight:700;padding:6px 13px;border-radius:999px;
  color:#fff;background:linear-gradient(90deg,#7c3aed,#ec4899);white-space:nowrap}
.xp-hot,.xp-new{padding:1px 7px;border-radius:6px;color:#fff;font-size:10px;
  font-weight:700;line-height:1.7;letter-spacing:.5px;flex:none}
.xp-hot{background:#ff4d4f}
.xp-new{background:#22c55e}

/* ========== 平台跑马灯 ========== */
.mq{padding:34px 0 28px;border-top:1px solid var(--line);
  border-bottom:1px solid var(--line);margin-top:20px}
.mq-title{font-size:18px;font-weight:800;text-align:center;margin-bottom:22px}
.mq-viewport{overflow:hidden;
  -webkit-mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent);
  mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent)}
.mq-track{display:flex;gap:12px;width:max-content;animation:mq-scroll 40s linear infinite}
.mq:hover .mq-track{animation-play-state:paused}
@keyframes mq-scroll{from{transform:translateX(0)}to{transform:translateX(-50%)}}
.mq-card{display:flex;flex-direction:column;align-items:center;gap:6px;padding:12px 20px;
  border-radius:12px;background:var(--card);border:1px solid var(--line);
  min-width:104px;transition:border-color .15s}
.mq-card:hover{border-color:rgba(236,72,153,.5)}
.mq-ic{font-size:22px}
.mq-name{font-size:12.5px;color:var(--text-dim)}
.mq-note{text-align:center;font-size:12px;color:var(--text-dim);margin-top:16px}
@media (prefers-reduced-motion:reduce){.mq-track{animation:none}}

/* ========== 小程序区 ========== */
.miniapp{padding:40px 0}
.miniapp-card{display:grid;grid-template-columns:1.4fr .8fr;gap:28px;align-items:center;
  background:linear-gradient(135deg,rgba(124,58,237,.14),rgba(34,211,238,.10));
  border:1px solid var(--line);border-radius:var(--radius-lg);padding:26px}
.miniapp-info h2{font-size:20px;margin-bottom:12px}
.miniapp-info p{font-size:14px;color:var(--text-dim);line-height:1.8}
.miniapp-chips{display:flex;gap:8px;flex-wrap:wrap;margin-top:14px}
.miniapp-chips span{padding:4px 12px;border-radius:20px;font-size:12px;background:rgba(255,255,255,.08)}
.miniapp-qr{text-align:center}
.miniapp-qr img{width:180px;height:180px;margin:0 auto;border-radius:12px;
  border:1px solid var(--line);background:#fff;padding:6px}
.qr-cap{margin-top:10px;font-size:13px;font-weight:600}
.qr-hint{font-size:11.5px;color:var(--text-dim);margin-top:4px}
.miniapp-open{margin-top:12px;width:100%;padding:10px;border-radius:11px;font-size:13.5px;
  background:linear-gradient(90deg,var(--brand),var(--brand-2));color:#fff;font-weight:600;cursor:pointer}

/* ========== 功能网格 / 平台矩阵（共用） ========== */
.features{padding:44px 0}
.features h2{font-size:22px;font-weight:800;text-align:center;margin-bottom:26px}
.features .grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:16px}
.card{display:block;background:var(--card);border:1px solid var(--line);border-radius:var(--radius);
  padding:20px;transition:transform .15s,border-color .15s}
.card:hover{transform:translateY(-2px);border-color:rgba(236,72,153,.4)}
.card .ic{font-size:26px}
.card h3{font-size:15.5px;margin:10px 0 6px}
.card p{font-size:13px;color:var(--text-dim);line-height:1.7}
/* ============================================================
   DouParse 首页样式 · 第 3 段 / 共 3 段
   内容：FAQ、延伸阅读、反馈、热门搜索、页脚、
         悬浮按钮组、历史抽屉、全部弹窗、响应式断点
   ============================================================ */

/* ========== FAQ ========== */
.faq{padding:40px 0;border-top:1px solid var(--line)}
.faq h2{font-size:22px;font-weight:800;text-align:center;margin-bottom:24px}
.faq details{max-width:860px;margin:0 auto 10px;background:var(--card);
  border:1px solid var(--line);border-radius:var(--radius);padding:14px 18px}
.faq details[open]{border-color:rgba(124,58,237,.4)}
.faq summary{cursor:pointer;font-weight:600;font-size:14.5px;list-style:none}
.faq summary::-webkit-details-marker{display:none}
.faq summary::before{content:"▸ ";color:var(--text-dim)}
.faq details[open] summary::before{content:"▾ "}
.faq details p{margin-top:10px;font-size:13.5px;color:var(--text-dim);line-height:1.8}
.faq details a{color:#a5b4fc;text-decoration:underline}

/* ========== 延伸阅读 / 声明 ========== */
.guides{padding:36px 0}
.guides-grid{display:grid;grid-template-columns:1.4fr 1fr;gap:18px}
.guide-card{background:var(--card);border:1px solid var(--line);
  border-radius:var(--radius-lg);padding:22px}
.guide-card h3{font-size:16px;margin-bottom:14px}
.guide-row{display:block;padding:10px 0;border-bottom:1px dashed var(--line)}
.guide-row:last-child{border:none}
.guide-t{display:block;font-weight:600;font-size:14px}
.guide-d{display:block;font-size:12.5px;color:var(--text-dim);margin-top:3px}
.guide-notice{background:rgba(245,158,11,.08);border-color:rgba(245,158,11,.25)}
.guide-notice p{font-size:13px;color:var(--text-dim);line-height:1.8}
.guide-links{margin-top:10px;font-size:12.5px}
.guide-links a{color:#a5b4fc;text-decoration:underline}

/* ========== 反馈区 ========== */
.site-feedback{padding:32px 0;border-top:1px solid var(--line)}
.fbk-card{display:grid;grid-template-columns:1.5fr 1fr;gap:24px;align-items:center;
  background:linear-gradient(135deg,rgba(124,58,237,.14),rgba(236,72,153,.10));
  border:1px solid var(--line);border-radius:var(--radius-lg);padding:24px}
.fbk-main h3{font-size:18px;margin-bottom:8px}
.fbk-lead{font-size:13.5px;color:var(--text-dim);line-height:1.7}
.fbk-chips{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px}
.fbk-chips span{padding:4px 12px;border-radius:20px;font-size:12px;background:rgba(255,255,255,.08)}
.fbk-acts{display:flex;flex-direction:column;gap:10px}
.fbk-btn{padding:11px;border-radius:11px;font-size:14px;font-weight:600;
  background:linear-gradient(90deg,var(--brand),var(--brand-2));color:#fff;cursor:pointer}
.fbk-btn.ghost{background:rgba(255,255,255,.08);color:var(--text)}
.fbk-btn:hover{filter:brightness(1.15)}
.fbk-note{font-size:11.5px;color:var(--text-dim);text-align:center}
.fbk-biz{text-align:center;margin-top:16px;font-size:12.5px;color:var(--text-dim)}
.fbk-biz a{color:#a5b4fc}
.fbk-sep{margin:0 8px;opacity:.5}

/* ========== 热门搜索 ========== */
.hotwords{padding:36px 0;border-top:1px solid var(--line)}
.hotwords h2{font-size:18px;font-weight:800;margin-bottom:10px}
.hotwords-lead{font-size:13px;color:var(--text-dim);line-height:1.8;margin-bottom:16px}
.hw-collapse summary{cursor:pointer;font-size:13px;color:#a5b4fc;margin-bottom:14px}
.hotword-cloud{display:flex;flex-wrap:wrap;gap:8px}
.hotword-cloud a{padding:5px 12px;border-radius:20px;font-size:12.5px;color:var(--text-dim);
  background:rgba(255,255,255,.06);border:1px solid var(--line);
  transition:color .15s,border-color .15s}
.hotword-cloud a:hover{color:var(--text);border-color:rgba(236,72,153,.5)}

/* ========== 页脚 ========== */
.site-footer{border-top:1px solid var(--line);padding:40px 0 0;margin-top:20px;background:var(--bg-2)}
.footer-cols{display:grid;grid-template-columns:2fr 1fr 1fr auto;gap:32px}
.footer-group h4{font-size:14px;margin-bottom:12px;font-weight:700}
.footer-group ul{list-style:none;display:flex;flex-direction:column;gap:7px}
.footer-group a{font-size:12.5px;color:var(--text-dim);transition:color .15s}
.footer-group a:hover{color:var(--text)}
.footer-guides{display:grid !important;grid-template-columns:1fr 1fr;gap:6px 16px}
.footer-friends-apply{margin-top:8px;font-size:12px}
.footer-copy{text-align:center;font-size:12px;color:var(--text-dim);
  padding:26px 16px 6px;border-top:1px solid var(--line);margin-top:26px}
.page-icp{text-align:center;padding:0 16px 20px;font-size:12px;line-height:2;opacity:.55}
.page-icp a{color:inherit;text-decoration:none}

/* ========== 悬浮按钮组 ========== */
.sfab-wrap{position:fixed;right:18px;z-index:200;display:flex;flex-direction:column;gap:10px}
#api-fab-wrap{bottom:200px}
#miniapp-fab-wrap{bottom:150px}
#hist-fab-wrap{bottom:100px}

.fb-fab{position:fixed;right:18px;bottom:44px;z-index:200;padding:11px 16px;border-radius:30px;
  background:linear-gradient(90deg,var(--brand),var(--brand-2));color:#fff;
  font-size:13.5px;font-weight:600;box-shadow:var(--shadow);
  display:flex;align-items:center;gap:6px;cursor:pointer}
.fb-fab:hover{filter:brightness(1.1)}
.fb-fab-badge{background:var(--err);border-radius:10px;padding:0 6px;font-size:11px;
  min-width:18px;text-align:center}

.sfab-bubble{display:flex;align-items:center;gap:6px;padding:9px 14px;border-radius:30px;
  background:var(--card);border:1px solid var(--line);font-size:12.5px;
  box-shadow:var(--shadow);cursor:pointer}
.sfab-bubble:hover{background:var(--card-2)}
.sfab-ic{font-size:15px}
.sfab-badge{background:var(--err);border-radius:10px;padding:0 5px;font-size:10.5px}

.sfab-panel{position:fixed;right:18px;bottom:250px;width:300px;background:var(--card);
  border:1px solid var(--line);border-radius:var(--radius-lg);padding:18px;
  box-shadow:var(--shadow);z-index:201}
.sfab-hd{font-weight:800;font-size:15px;margin-bottom:12px}
.sfab-x{position:absolute;top:10px;right:12px;font-size:14px;color:var(--text-dim);cursor:pointer}
.sfab-sec{text-align:center}
.sfab-cap{font-size:12px;color:var(--text-dim);margin-top:8px}
.sfab-tip{font-size:11.5px;color:var(--text-dim);margin-top:10px;line-height:1.7}
.sfab-api-pre{background:#000;border-radius:8px;padding:10px;font-size:11.5px;
  overflow-x:auto;margin:10px 0;color:#a5f3fc;white-space:pre-wrap;word-break:break-all}
.sfab-api-btns{display:flex;gap:6px;flex-wrap:wrap}
.sfab-api-btns .btn{padding:6px 11px;font-size:12px}
.qr-dl{display:inline-block}
.qr-dl img{width:160px;height:160px;margin:0 auto;border-radius:10px;
  background:#fff;padding:5px;border:1px solid var(--line)}

/* 结果跳转按钮 */
.result-jump{position:fixed;right:18px;bottom:90px;z-index:210;padding:11px 18px;
  border-radius:30px;background:var(--ok);color:#04120a;font-size:13.5px;font-weight:700;
  box-shadow:var(--shadow);cursor:pointer}
.result-jump:hover{filter:brightness(1.1)}

/* 历史抽屉 */
.hist-drawer{position:fixed;inset:0;z-index:300}
.hist-drawer-mask{position:absolute;inset:0;background:rgba(0,0,0,.55)}
.hist-drawer-panel{position:absolute;top:0;right:0;bottom:0;width:min(380px,90vw);
  background:var(--card);border-left:1px solid var(--line);padding:20px;
  overflow-y:auto;box-shadow:var(--shadow)}
.hist-drawer-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}
.history-title{font-weight:800}
.hist-drawer-actions{display:flex;gap:10px;align-items:center}
.history-clear{font-size:12px;color:var(--text-dim);cursor:pointer}
.hist-drawer-x{font-size:15px;color:var(--text-dim);cursor:pointer}
.history-list{list-style:none;display:flex;flex-direction:column;gap:8px}
.history-list li{padding:10px;border-radius:9px;background:var(--card-2);
  font-size:12.5px;word-break:break-all}
.hist-empty{font-size:13px;color:var(--text-dim);text-align:center;margin-top:30px}

/* ========== 弹窗公共 ========== */
.fb-modal,.um-modal,.fbq{position:fixed;inset:0;z-index:400;display:flex;
  align-items:center;justify-content:center;padding:16px}
.fb-modal-mask,.um-mask,.fbq-mask{position:absolute;inset:0;
  background:rgba(0,0,0,.65);backdrop-filter:blur(3px)}
.fb-modal-card,.um-card{position:relative;width:min(480px,100%);background:var(--card);
  border:1px solid var(--line);border-radius:var(--radius-lg);padding:24px;
  box-shadow:var(--shadow);max-height:90vh;overflow-y:auto}
.fb-modal-x,.um-x{position:absolute;top:12px;right:14px;font-size:15px;
  color:var(--text-dim);cursor:pointer}
.fb-modal-card h3,.um-card h3{font-size:18px;margin-bottom:10px}
.fb-sub{font-size:13px;color:var(--text-dim);line-height:1.7;margin-bottom:14px}
.fb-msg{font-size:12px;color:var(--text-dim)}
.fb-msg.ok{color:var(--ok)} .fb-msg.err{color:var(--err)}

/* 反馈弹窗 */
.fb-tabs{display:flex;gap:6px;margin-bottom:14px;border-bottom:1px solid var(--line);padding-bottom:8px}
.fb-tab{padding:6px 14px;border-radius:8px;font-size:13px;color:var(--text-dim);cursor:pointer}
.fb-tab.active{background:rgba(255,255,255,.08);color:var(--text)}
.fb-badge{background:var(--err);border-radius:10px;padding:0 5px;font-size:10.5px;margin-left:4px}
.fb-form{display:flex;flex-direction:column;gap:10px}
.fb-content,.fb-contact{width:100%;background:var(--bg-2);border:1px solid var(--line);
  border-radius:10px;padding:10px 12px;color:var(--text);font-size:13.5px}
.fb-content:focus,.fb-contact:focus{outline:none;border-color:rgba(124,58,237,.6)}
.fb-actions{display:flex;align-items:center;gap:12px}
.fb-add-row{display:flex;gap:8px;margin-top:12px}
.fb-add-row input{flex:1;background:var(--bg-2);border:1px solid var(--line);
  border-radius:9px;padding:9px 12px;color:var(--text);font-size:13.5px}
.fb-wx{display:flex;gap:12px;align-items:center;margin-top:18px;padding-top:14px;
  border-top:1px solid var(--line)}
.fb-wx-qr{width:78px;height:78px;border-radius:10px;background:#fff;padding:4px;cursor:pointer}
.fb-wx-txt{display:flex;flex-direction:column;gap:3px;font-size:12px;color:var(--text-dim)}
.fb-wx-txt b{color:var(--text);font-size:13px}
.fb-wx-zoom{color:#a5b4fc;cursor:pointer}
.fb-wx-alt{font-size:11px;opacity:.8}

/* 二维码放大浮层 */
.fbq-card{position:relative;background:var(--card);border:1px solid var(--line);
  border-radius:var(--radius-lg);padding:20px;text-align:center;box-shadow:var(--shadow)}
.fbq-img{width:min(320px,80vw);height:auto;border-radius:12px;background:#fff;padding:8px}
.fbq-cap{margin-top:12px;font-size:13px;color:var(--text-dim)}
.fbq-x{position:absolute;top:8px;right:12px;font-size:16px;color:var(--text-dim);cursor:pointer}

/* 额度用尽弹窗 */
.um-quota{display:flex;align-items:center;gap:5px;margin-bottom:14px}
.um-pip{width:22px;height:6px;border-radius:3px;background:var(--err)}
.um-quota-txt{font-size:12px;color:var(--text-dim);margin-left:6px}
.um-lead{font-size:13.5px;color:var(--text-dim);line-height:1.7;margin-bottom:12px}
.um-promo{margin-bottom:12px;padding:10px 12px;border-radius:10px;
  background:rgba(236,72,153,.14);border:1px solid rgba(236,72,153,.3);font-size:12.5px}
.um-perks{list-style:none;display:flex;flex-direction:column;gap:10px;margin:14px 0}
.um-perks li{display:flex;gap:10px;font-size:13px;line-height:1.6}
.um-ic{font-size:16px}
.um-free{display:flex;align-items:center;gap:12px;padding:12px;border-radius:11px;
  background:rgba(34,197,94,.12);border:1px solid rgba(34,197,94,.3);margin:12px 0}
.um-free-txt{flex:1;display:flex;flex-direction:column;gap:2px}
.um-free-t{font-size:13.5px;font-weight:700}
.um-free-s{font-size:11.5px;color:var(--text-dim)}
.um-free-btn{padding:8px 16px;border-radius:9px;font-size:13px;font-weight:600;
  background:var(--ok);color:#04120a;cursor:pointer}
.um-cta{display:block;text-align:center;padding:13px;border-radius:12px;font-size:15px;
  font-weight:700;background:linear-gradient(90deg,var(--brand),var(--brand-2));
  color:#fff;margin:14px 0}
.um-cta:hover{filter:brightness(1.1)}
.wx-hook{display:flex;gap:12px;align-items:center;padding:12px;border-radius:11px;
  background:rgba(255,255,255,.05);border:1px solid var(--line);margin-bottom:12px}
.wx-hook img{width:64px;height:64px;border-radius:9px;background:#fff;padding:4px;cursor:pointer}
.wx-txt{flex:1;font-size:12px;color:var(--text-dim);line-height:1.5}
.wx-txt b{color:var(--text)}
.wx-cap{display:block;font-size:11px;opacity:.8;margin-top:2px}
.wx-open{padding:7px 12px;border-radius:9px;font-size:12px;background:rgba(255,255,255,.08);cursor:pointer}
.um-trust{text-align:center;font-size:11.5px;color:var(--text-dim);margin:8px 0}
.um-later{display:block;width:100%;text-align:center;padding:9px;font-size:12.5px;
  color:var(--text-dim);cursor:pointer}
.um-msg{display:block;text-align:center;font-size:12px;color:var(--text-dim);margin-top:6px}

/* 联系我们弹窗 */
.contact-email-row{display:flex;gap:10px;align-items:center;margin-top:10px}
.contact-email{flex:1;padding:10px 12px;border-radius:10px;background:var(--bg-2);
  border:1px solid var(--line);font-size:13.5px;word-break:break-all}
.contact-copy{padding:10px 16px;border-radius:10px;font-size:13px}

/* ========== 响应式断点 ========== */
@media (max-width:900px){
  .footer-cols{grid-template-columns:1fr 1fr;gap:24px}
  .miniapp-card{grid-template-columns:1fr;text-align:center}
  .miniapp-qr{order:-1}
  .guides-grid{grid-template-columns:1fr}
  .fbk-card{grid-template-columns:1fr}
  #api-fab-wrap,#miniapp-fab-wrap,#hist-fab-wrap{display:none}
}
@media (max-width:720px){
  .site-header .wrap{height:56px;gap:8px}
  .brand .name em{display:none}
  .nav>a:not(.nav-acct),.nav-more,.lang-btn{display:none}
  .nav-acct{margin-left:auto}
  .hero{padding:36px 0 24px}
  .parse-actions{flex-direction:column}
  .parse-actions .btn{width:100%;justify-content:center}
  .features .grid{grid-template-columns:1fr 1fr}
  .footer-cols{grid-template-columns:1fr}
  .footer-guides{grid-template-columns:1fr}
  .result-card{padding:14px}
  .fb-fab{right:12px;bottom:12px;padding:10px 14px;font-size:12.5px}
  .sfab-panel{right:12px;bottom:200px;width:calc(100vw - 24px);max-width:340px}
  .fb-modal-card,.um-card{padding:18px}
  .xr-ribbon{display:none}
}
@media (max-width:480px){
  .hero h1{font-size:20px}
  .hero .subtitle{font-size:13.5px}
  .features .grid{grid-template-columns:1fr}
  .image-block{grid-template-columns:repeat(auto-fill,minmax(120px,1fr))}
  .meta .btns .btn{flex:1;justify-content:center}
}
@media (prefers-reduced-motion:reduce){
  *{animation-duration:.01ms !important;animation-iteration-count:1 !important;
    transition-duration:.01ms !important;scroll-behavior:auto !important}
}