/* ======================================================================
   K8s 资源计算器 · 独立设计（工程蓝图 / 图纸标注主题）
   浅色 = 蓝图浅靛 + 六边形网格 + 琥珀标注；深色 = 深海军蓝图纸
   ====================================================================== */
.kc{
  --ink:#123054; --sub:#4d6b8c; --faint:#8fa6c2;
  --bg:#eef4fb; --card:#ffffff; --card2:#e8f0f9; --line:#cfddec; --line2:#dde8f4;
  --pri:#0369a1; --pri-2:#0ea5e9; --pri-soft:#dcedf9; --pri-ink:#075985;
  --acc:#d97706; --acc-soft:#fdf1dd;
  --ok:#15803d; --ok-soft:#e3f4e8;
  --red:#b91c1c; --red-soft:#fbe9e9;
  --r:12px;
  --shadow:0 1px 2px rgba(18,48,84,.06),0 10px 26px rgba(3,105,161,.10);
  color:var(--ink);
  font-family:-apple-system,"PingFang SC","HarmonyOS Sans SC","Microsoft YaHei",system-ui,sans-serif;
  font-size:15px; line-height:1.75;
  background:
    linear-gradient(rgba(3,105,161,.06) 1px, transparent 1px),
    linear-gradient(90deg, rgba(3,105,161,.06) 1px, transparent 1px),
    radial-gradient(820px 400px at 92% -130px, rgba(14,165,233,.12), transparent 60%),
    var(--bg);
  background-size:22px 22px,22px 22px,auto,auto;
  padding:0 16px 56px;
}
:root[data-theme="dark"] .kc{
  --ink:#dcebf9; --sub:#93b0cc; --faint:#5f7d9c;
  --bg:#0b1626; --card:#122036; --card2:#152841; --line:#25405f; --line2:#1d3550;
  --pri:#38bdf8; --pri-2:#7dd3fc; --pri-soft:rgba(56,189,248,.14); --pri-ink:#bae6fd;
  --acc:#fbbf24; --acc-soft:rgba(251,191,36,.10);
  --ok:#4ade80; --ok-soft:rgba(74,222,128,.12);
  --red:#f87171; --red-soft:rgba(248,113,113,.12);
  --shadow:0 1px 2px rgba(0,0,0,.4),0 12px 30px rgba(0,0,0,.4);
}
.kc *{box-sizing:border-box;}
.kc b{font-weight:700;}
.kc-wrap{max-width:1140px;margin:0 auto;}
.kc input,.kc code,.kc pre{font-family:"JetBrains Mono",ui-monospace,SFMono-Regular,Consolas,"Courier New",monospace;}

.kc-hero{margin-top:22px;border:1.5px solid var(--pri);border-radius:var(--r);padding:22px 26px;background:var(--card);box-shadow:var(--shadow);position:relative;}
.kc-hero::before,.kc-hero::after{content:"+";position:absolute;font-size:20px;font-weight:900;color:var(--pri-2);line-height:1;}
.kc-hero::before{left:8px;top:2px;}
.kc-hero::after{right:8px;bottom:-4px;}
.kc-hero h1{margin:0 0 6px;font-size:clamp(22px,3.2vw,30px);font-weight:900;color:var(--pri-ink);line-height:1.3;}
.kc-hero p{margin:0;color:var(--sub);font-size:15px;max-width:820px;}
.kc-hero p em{font-style:normal;color:var(--acc);font-weight:700;}
.kc-badge{position:absolute;top:-12px;right:18px;background:var(--pri);color:#fff;font-size:11.5px;font-weight:800;letter-spacing:.08em;border-radius:999px;padding:3px 14px;}
:root[data-theme="dark"] .kc-badge{color:#082033;}

.kc-desk{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:18px;align-items:start;}
@media (max-width:940px){.kc-desk{grid-template-columns:1fr;}}
.kc-card{background:var(--card);border:1px solid var(--line);border-radius:var(--r);box-shadow:var(--shadow);padding:16px 18px;}
.kc-card h2{margin:0 0 12px;font-size:15px;font-weight:800;color:var(--pri-ink);display:flex;align-items:center;gap:8px;}
.kc-card h2 i{font-style:normal;width:22px;height:22px;border-radius:6px;background:var(--pri);color:#fff;display:inline-flex;align-items:center;justify-content:center;font-size:12px;font-weight:800;}
:root[data-theme="dark"] .kc-card h2 i{color:#082033;}
.kc-fs{display:grid;grid-template-columns:1fr 1fr;gap:10px 12px;}
@media (max-width:520px){.kc-fs{grid-template-columns:1fr;}}
.kc-field label{display:block;font-size:12.5px;font-weight:700;color:var(--sub);margin-bottom:4px;}
.kc-in{width:100%;padding:8px 11px;border-radius:9px;border:1px solid var(--line);background:var(--card2);color:var(--ink);font-size:13.5px;outline:none;}
.kc-in:focus{border-color:var(--pri-2);box-shadow:0 0 0 3px var(--pri-soft);}
.kc-sw{display:flex;align-items:center;gap:8px;margin-top:12px;font-size:13.5px;font-weight:700;color:var(--ink);cursor:pointer;}
.kc-sw input{width:17px;height:17px;accent-color:var(--pri);}

.kc-btns{display:flex;gap:8px;flex-wrap:wrap;margin-top:14px;}
.kc-btn{border:none;border-radius:10px;padding:9px 18px;font-size:14px;font-weight:800;cursor:pointer;}
.kc-btn-go{background:var(--pri);color:#fff;flex:1;}
:root[data-theme="dark"] .kc-btn-go{color:#082033;}
.kc-btn-go:hover{background:var(--pri-2);}
.kc-btn-ghost{background:var(--card2);color:var(--pri-ink);border:1px solid var(--line);}
.kc-btn-ghost:hover{border-color:var(--pri-2);}
.kc-msg{margin-top:10px;font-size:13px;min-height:20px;font-weight:600;}
.kc-msg.err{color:var(--red);}
.kc-msg.ok{color:var(--ok);}

.kc-checks{display:grid;gap:8px;margin-top:4px;}
.kc-chk{display:flex;gap:10px;align-items:flex-start;border:1px solid var(--line);border-radius:10px;padding:10px 12px;background:var(--card2);font-size:13.5px;}
.kc-chk .ic{font-weight:900;font-size:15px;line-height:1.5;}
.kc-chk.pass .ic{color:var(--ok);}
.kc-chk.warn .ic{color:var(--acc);}
.kc-chk.fail .ic{color:var(--red);}
.kc-chk b{color:var(--ink);}
.kc-chk span{color:var(--sub);}

.kc-yaml{margin-top:14px;background:var(--ink);color:#c9e6ff;border-radius:10px;padding:14px 16px;font-size:13px;line-height:1.7;overflow:auto;white-space:pre;min-height:120px;}
:root[data-theme="dark"] .kc-yaml{background:#060d18;color:#9fd8ff;border:1px solid var(--line);}
.kc-yaml .cm{color:#6b8db0;}

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

/* ---------- 深度面板：容量曲线与三档方案 ---------- */
.kc-deep{margin-top:18px;background:var(--card);border:1px solid var(--line);border-radius:var(--r);box-shadow:var(--shadow);padding:18px;min-width:0;}
.kc-deep-head h2{margin:0 0 4px;font-size:16px;font-weight:800;color:var(--pri-ink);}
.kc-deep-head p{margin:0 0 14px;font-size:12.5px;color:var(--sub);}
.kc-deep-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.15fr);gap:16px;align-items:start;}
.kc-deep-panel{min-width:0;}
.kc-deep-panel + .kc-deep-panel{border-left:1px solid var(--line2);padding-left:16px;}
.kc-deep-cap{font-size:12px;font-weight:700;color:var(--sub);margin:0 0 6px;}
.kc-deep-svg{width:100%;height:auto;display:block;background:var(--card2);border:1px solid var(--line);border-radius:10px;}
.kc-deep-svg text{font-family:ui-monospace,Consolas,monospace;}
.kc-deep-kpis{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-top:10px;}
.kc-deep-kpi{background:var(--card2);border:1px solid var(--line2);border-left:3px solid var(--pri);border-radius:9px;padding:8px 10px;min-width:0;}
.kc-deep-kpi span{display:block;font-size:11px;color:var(--sub);font-weight:700;}
.kc-deep-kpi b{display:block;font-size:15px;color:var(--pri-ink);font-family:ui-monospace,Consolas,monospace;}
.kc-deep-kpi i{display:block;font-style:normal;font-size:10.5px;color:var(--faint);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.kc-deep-tblwrap{overflow-x:auto;-webkit-overflow-scrolling:touch;min-width:0;}
.kc-deep-tbl{width:100%;border-collapse:collapse;font-size:12.5px;min-width:330px;}
.kc-deep-tbl th,.kc-deep-tbl td{padding:6px 7px;border-bottom:1px solid var(--line2);text-align:right;white-space:nowrap;color:var(--ink);}
.kc-deep-tbl th:first-child,.kc-deep-tbl td:first-child{text-align:left;}
.kc-deep-tbl thead th{color:var(--sub);font-size:11.5px;font-weight:700;}
.kc-deep-tbl tr.cur td{background:var(--pri-soft);}
.kc-deep-tbl td.warn{color:var(--acc);}
.kc-deep-tbl td.bad{color:var(--red);}
.kc-deep-empty{color:var(--faint);font-size:13px;padding:8px 0;}
@media (max-width:900px){
  .kc-deep-grid{grid-template-columns:1fr;}
  .kc-deep-panel + .kc-deep-panel{border-left:none;padding-left:0;border-top:1px solid var(--line2);padding-top:14px;}
  .kc-deep-kpis{grid-template-columns:repeat(2,minmax(0,1fr));}
}
