/* ======================================================================
   食材替换查询表 · 独立设计（白瓷砖小厨房主题）
   浅色 = 瓷砖白 + 叶绿 + 胡萝卜橙；深色 = 夜厨不锈钢
   ====================================================================== */
.isb{
  --ink:#22301f; --sub:#6f7d63; --faint:#a4b098;
  --bg:#eef2ea; --card:#ffffff; --card2:#eef4e9; --line:#d5e0cc; --line2:#e4ecdb;
  --pri:#3e7d3a; --pri-2:#5aa054; --pri-soft:#e0f0dd; --pri-ink:#2c5c29;
  --carrot:#e07b39; --carrot-soft:#fbeadb;
  --berry:#b8405f; --berry-soft:#f9e2e8;
  --red:#b42323; --red-soft:#fdecec;
  --tile:#f6f9f3;
  --r:14px;
  --shadow:0 1px 2px rgba(34,48,31,.05),0 12px 28px rgba(62,125,58,.10);
  color:var(--ink);
  font-family:"PingFang SC","HarmonyOS Sans SC","Microsoft YaHei",-apple-system,sans-serif;
  font-size:15px; line-height:1.75;
  background:
    repeating-linear-gradient(90deg, rgba(213,224,204,.35) 0 1px, transparent 1px 64px),
    repeating-linear-gradient(0deg, rgba(213,224,204,.35) 0 1px, transparent 1px 64px),
    radial-gradient(760px 380px at -6% -120px, rgba(224,123,57,.08), transparent 60%),
    var(--bg);
  padding:0 16px 60px;
}
:root[data-theme="dark"] .isb{
  --ink:#dfe8d8; --sub:#9aab90; --faint:#66755e;
  --bg:#121612; --card:#1c231b; --card2:#232c21; --line:#33402f; --line2:#2a3527;
  --pri:#7dc474; --pri-2:#9ad892; --pri-soft:rgba(125,196,116,.13); --pri-ink:#b5e6ae;
  --carrot:#f09a5b; --carrot-soft:rgba(240,154,91,.12);
  --berry:#e88aa4; --berry-soft:rgba(232,138,164,.12);
  --red:#f87171; --red-soft:rgba(248,113,113,.12);
  --tile:#1a211a;
  --shadow:0 1px 2px rgba(0,0,0,.5),0 14px 32px rgba(0,0,0,.5);
}
.isb *{box-sizing:border-box;}
.isb b{font-weight:700;}
.isb-wrap{max-width:1100px;margin:0 auto;}
.isb-mono{font-family:"JetBrains Mono",ui-monospace,Consolas,monospace;font-weight:700;}

/* ---------- Hero：砧板与食材 ---------- */
.isb-hero{margin-top:22px;border:1px solid var(--line);border-radius:var(--r);box-shadow:var(--shadow);
  background:var(--card);padding:24px 26px;display:flex;gap:18px;align-items:center;flex-wrap:wrap;position:relative;overflow:hidden;}
.isb-hero::before{content:'';position:absolute;inset:auto -40px -60px auto;width:200px;height:200px;border-radius:50%;background:var(--carrot-soft);}
.isb-plate{width:88px;height:88px;flex:none;position:relative;z-index:2;}
.isb-hero-txt{flex:1;min-width:260px;position:relative;z-index:2;}
.isb-hero h1{margin:0 0 6px;font-size:clamp(23px,3.4vw,30px);font-weight:900;color:var(--pri-ink);}
.isb-hero p{margin:0;color:var(--sub);font-size:14.5px;max-width:680px;}
.isb-hero p em{font-style:normal;color:var(--carrot);font-weight:800;}

/* ---------- 检索台 ---------- */
.isb-desk{margin-top:18px;background:var(--card);border:1px solid var(--line);border-radius:var(--r);box-shadow:var(--shadow);padding:16px 18px;}
.isb-search{display:flex;gap:10px;flex-wrap:wrap;align-items:center;}
.isb-in{flex:1;min-width:200px;border:1.5px solid var(--line);background:var(--tile);color:var(--ink);border-radius:10px;padding:9px 13px;font-size:14.5px;outline:none;}
.isb-in:focus{border-color:var(--pri-2);box-shadow:0 0 0 3px var(--pri-soft);}
.isb-qty{width:110px;border:1.5px solid var(--line);background:var(--tile);color:var(--ink);border-radius:10px;padding:9px 12px;font-size:14.5px;outline:none;text-align:center;}
.isb-qty:focus{border-color:var(--carrot);box-shadow:0 0 0 3px var(--carrot-soft);}
.isb-qty-lab{font-size:13px;color:var(--sub);font-weight:700;white-space:nowrap;}
.isb-btn{border:1.5px solid var(--line);background:var(--card2);color:var(--pri-ink);border-radius:10px;padding:8px 16px;font-size:14px;font-weight:800;cursor:pointer;font-family:inherit;transition:all .15s;}
.isb-btn:hover{border-color:var(--pri-2);}
.isb-btn-go{background:var(--pri);border-color:var(--pri);color:#fff;}
:root[data-theme="dark"] .isb-btn-go{color:#12240f;}
.isb-cats{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px;}
.isb-cat{border:1px solid var(--line);background:transparent;color:var(--sub);border-radius:999px;padding:4px 14px;font-size:13px;cursor:pointer;font-weight:700;font-family:inherit;transition:all .15s;}
.isb-cat:hover{color:var(--pri-ink);}
.isb-cat.on{background:var(--carrot);border-color:var(--carrot);color:#fff;}
:root[data-theme="dark"] .isb-cat.on{color:#2b1305;}
.isb-msg{margin-top:10px;font-size:13px;min-height:20px;font-weight:700;}
.isb-msg.err{color:var(--red);}
.isb-msg.ok{color:var(--pri);}
.isb-count{font-size:13px;color:var(--sub);margin-top:8px;}
.isb-count b{color:var(--pri-ink);}

/* ---------- 替换卡片 ---------- */
.isb-list{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:16px;}
@media (max-width:880px){.isb-list{grid-template-columns:1fr;}}
.isb-item{background:var(--card);border:1px solid var(--line);border-radius:var(--r);box-shadow:var(--shadow);padding:15px 17px;}
.isb-item h3{margin:0 0 8px;font-size:15.5px;font-weight:900;display:flex;align-items:center;gap:8px;flex-wrap:wrap;}
.isb-tag{font-size:11px;background:var(--pri-soft);color:var(--pri-ink);border-radius:6px;padding:1px 8px;font-weight:800;}
.isb-arrow{display:flex;align-items:center;gap:10px;flex-wrap:wrap;font-size:14px;}
.isb-old{background:var(--berry-soft);color:var(--berry);border-radius:8px;padding:3px 10px;font-weight:800;}
.isb-new{background:var(--carrot-soft);color:#9a4d18;border-radius:8px;padding:3px 10px;font-weight:800;}
:root[data-theme="dark"] .isb-new{color:var(--carrot);}
.isb-conv{margin-top:10px;background:var(--tile);border:1px dashed var(--line);border-radius:10px;padding:9px 12px;font-size:13.5px;color:var(--ink);}
.isb-conv b{color:var(--pri-ink);}
.isb-note{margin-top:8px;font-size:12.5px;color:var(--sub);}
.isb-note.warn::before{content:'⚠ ';color:var(--red);font-weight:800;}
.isb-acts{margin-top:10px;display:flex;gap:8px;}
.isb-mini{font-size:12.5px;border:1px solid var(--line);background:var(--card2);color:var(--pri-ink);border-radius:8px;padding:4px 12px;cursor:pointer;font-weight:700;font-family:inherit;}
.isb-mini:hover{border-color:var(--pri-2);}
.isb-empty{grid-column:1/-1;text-align:center;color:var(--sub);padding:40px 0;}

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