/* ======================================================================
   水龙头流量选择器 · 独立设计（水管工业仪表主题）
   浅色 = 钢青蓝 + 铜管橙 + 仪表白；深色 = 机房夜巡
   ====================================================================== */
.ffs{
  --ink:#182a33; --sub:#5d7684; --faint:#93aab6;
  --bg:#eef3f6; --card:#ffffff; --card2:#e7eef2; --line:#cfdde5; --line2:#dde8ee;
  --pri:#1f6f8b; --pri-2:#2f93b4; --pri-soft:#dcedf4; --pri-ink:#144f63;
  --copper:#c97b3d; --copper-soft:#f9e9d8;
  --aqua:#2a9d8f; --aqua-soft:#dff2ef;
  --red:#b42323; --red-soft:#fdecec;
  --r:12px;
  --shadow:0 1px 2px rgba(24,42,51,.06),0 12px 30px rgba(31,111,139,.10);
  color:var(--ink);
  font-family:"Segoe UI","PingFang SC","HarmonyOS Sans SC","Microsoft YaHei",-apple-system,sans-serif;
  font-size:15px; line-height:1.75;
  background:
    repeating-linear-gradient(0deg, transparent 0 46px, rgba(207,221,229,.4) 46px 47px),
    radial-gradient(820px 400px at 106% -120px, rgba(201,123,61,.10), transparent 60%),
    var(--bg);
  padding:0 16px 60px;
}
:root[data-theme="dark"] .ffs{
  --ink:#dbe8ef; --sub:#8fa9b6; --faint:#5c7684;
  --bg:#0d161b; --card:#152229; --card2:#1a2b33; --line:#28414d; --line2:#203540;
  --pri:#4fb3d1; --pri-2:#7cd2ea; --pri-soft:rgba(79,179,209,.13); --pri-ink:#9fe0f2;
  --copper:#e0a26a; --copper-soft:rgba(224,162,106,.12);
  --aqua:#5fd0be; --aqua-soft:rgba(95,208,190,.12);
  --red:#f87171; --red-soft:rgba(248,113,113,.12);
  --shadow:0 1px 2px rgba(0,0,0,.5),0 14px 34px rgba(0,0,0,.5);
}
.ffs *{box-sizing:border-box;}
.ffs b{font-weight:700;}
.ffs-wrap{max-width:1080px;margin:0 auto;}
.ffs-mono{font-family:"JetBrains Mono",ui-monospace,Consolas,monospace;font-weight:700;}

/* ---------- Hero：水滴仪表盘 ---------- */
.ffs-hero{margin-top:22px;border:1px solid var(--line);border-radius:var(--r);box-shadow:var(--shadow);
  background:linear-gradient(150deg,#123f52 0%,#1f6f8b 60%,#2a9d8f 120%);
  padding:26px 28px;display:flex;gap:20px;align-items:center;flex-wrap:wrap;position:relative;overflow:hidden;}
.ffs-hero::after{content:'';position:absolute;right:-60px;bottom:-90px;width:260px;height:260px;border-radius:50%;border:26px solid rgba(255,255,255,.06);}
.ffs-gauge{width:104px;height:104px;flex:none;position:relative;z-index:2;}
.ffs-hero-txt{flex:1;min-width:260px;position:relative;z-index:2;}
.ffs-hero h1{margin:0 0 6px;font-size:clamp(23px,3.4vw,30px);font-weight:900;color:#f2fbff;}
.ffs-hero p{margin:0;color:#a9d4e2;font-size:14.5px;max-width:660px;}
.ffs-hero p em{font-style:normal;color:#ffd9a8;font-weight:800;}

/* ---------- 模式 ---------- */
.ffs-tabs{display:flex;gap:8px;flex-wrap:wrap;margin-top:20px;}
.ffs-tab{border:1.5px solid var(--line);background:var(--card);color:var(--sub);border-radius:10px;padding:8px 16px;font-size:14px;font-weight:800;cursor:pointer;font-family:inherit;transition:all .15s;}
.ffs-tab:hover{border-color:var(--pri-2);color:var(--pri-ink);}
.ffs-tab.on{background:var(--pri);border-color:var(--pri);color:#fff;}
:root[data-theme="dark"] .ffs-tab.on{color:#08222c;}

/* ---------- 工作台 ---------- */
.ffs-desk{display:grid;grid-template-columns:360px 1fr;gap:18px;margin-top:16px;}
@media (max-width:920px){.ffs-desk{grid-template-columns:1fr;}}
.ffs-card{background:var(--card);border:1px solid var(--line);border-radius:var(--r);box-shadow:var(--shadow);padding:20px 22px;}
.ffs-card h2{margin:0 0 4px;font-size:16px;font-weight:900;}
.ffs-tip{font-size:12.5px;color:var(--sub);margin:0 0 14px;}
.ffs-field{margin-bottom:12px;}
.ffs-field label{display:block;font-size:13px;font-weight:700;color:var(--sub);margin-bottom:4px;}
.ffs-in,.ffs-sel{width:100%;border:1.5px solid var(--line);background:var(--card2);color:var(--ink);border-radius:10px;padding:9px 12px;font-size:14.5px;outline:none;font-family:inherit;}
.ffs-in:focus,.ffs-sel:focus{border-color:var(--pri-2);box-shadow:0 0 0 3px var(--pri-soft);}
.ffs-btn{border:none;border-radius:10px;padding:9px 18px;font-size:14px;font-weight:800;cursor:pointer;font-family:inherit;transition:all .15s;}
.ffs-btn-go{background:var(--pri);color:#fff;}
:root[data-theme="dark"] .ffs-btn-go{color:#08222c;}
.ffs-btn-go:hover{background:var(--pri-2);}
.ffs-btn-ghost{background:var(--card2);color:var(--pri-ink);border:1.5px solid var(--line);}
.ffs-btn-ghost:hover{border-color:var(--pri-2);}
.ffs-row{display:flex;gap:8px;flex-wrap:wrap;margin-top:6px;}
.ffs-msg{margin-top:10px;font-size:13px;min-height:20px;font-weight:700;}
.ffs-msg.err{color:var(--red);}
.ffs-msg.ok{color:var(--aqua);}

/* ---------- 结果 ---------- */
.ffs-out{min-height:220px;}
.ffs-table{width:100%;border-collapse:collapse;font-size:13.5px;}
.ffs-table th{font-size:12px;color:var(--sub);text-align:left;padding:6px 8px;border-bottom:2px solid var(--line);white-space:nowrap;}
.ffs-table td{padding:7px 8px;border-bottom:1px solid var(--line2);}
.ffs-table td b{color:var(--pri-ink);}
.ffs-bar{display:flex;align-items:center;gap:8px;}
.ffs-bar-t{flex:1;height:9px;border-radius:99px;background:var(--card2);border:1px solid var(--line2);overflow:hidden;}
.ffs-bar-f{height:100%;background:linear-gradient(90deg,var(--pri),var(--aqua));border-radius:99px;}
.ffs-big{display:flex;gap:12px;flex-wrap:wrap;margin-bottom:14px;}
.ffs-stat{flex:1;min-width:120px;background:var(--aqua-soft);border:1px solid var(--line2);border-radius:12px;padding:12px;text-align:center;}
.ffs-stat i{display:block;font-style:normal;font-size:12px;color:var(--sub);font-weight:700;}
.ffs-stat b{font-size:24px;color:var(--pri-ink);}
.ffs-stat u{text-decoration:none;font-size:12px;color:var(--faint);}
.ffs-advice{margin-top:12px;border-radius:10px;padding:10px 14px;font-size:14px;border:1px solid var(--line2);background:var(--card2);}
.ffs-advice.warn{background:var(--copper-soft);}
.ffs-advice.bad{background:var(--red-soft);}
.ffs-advice b{color:var(--pri-ink);}

/* ---------- FAQ ---------- */
.ffs-faq{margin-top:34px;background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:22px 26px;box-shadow:var(--shadow);}
.ffs-faq h2{margin:0 0 12px;font-size:19px;font-weight:900;}
.ffs-faq h3{margin:18px 0 6px;font-size:15.5px;font-weight:800;color:var(--pri-ink);}
.ffs-faq p{margin:0;color:var(--sub);font-size:14px;}
.ffs-faq p b{color:var(--ink);}
