/* ======================================================================
   security.txt 生成器 · 独立设计（公文挂号信主题）
   浅色 = 米黄公文纸 + 藏青油墨 + 鎏金火漆印；深色 = 深夜档案室
   ====================================================================== */
.stg{
  --ink:#22303f; --sub:#5c6b7a; --faint:#9aa7b4;
  --bg:#f4f1e8; --card:#fffdf6; --card2:#f0ebdd; --line:#ddd5c2; --line2:#e8e2d2;
  --pri:#1e3a5f; --pri-2:#2f5b8f; --pri-soft:#e3ebf5; --pri-ink:#1c3fa5;
  --gold:#a16207; --gold-2:#ca8a04; --gold-soft:#faf0d7;
  --red:#b42323; --red-soft:#fbeaea;
  --r:12px;
  --shadow:0 1px 2px rgba(34,48,63,.06),0 12px 30px rgba(34,48,63,.08);
  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:
    repeating-linear-gradient(0deg, transparent 0 34px, rgba(30,58,95,.035) 34px 35px),
    radial-gradient(800px 360px at 92% -120px, rgba(161,98,7,.10), transparent 60%),
    var(--bg);
  padding:0 16px 56px;
}
:root[data-theme="dark"] .stg{
  --ink:#e7ecf2; --sub:#9aa8b6; --faint:#66747f;
  --bg:#12161c; --card:#1a2028; --card2:#202832; --line:#2d3844; --line2:#26303b;
  --pri:#8fb8e8; --pri-2:#b6d2f2; --pri-soft:rgba(143,184,232,.12); --pri-ink:#cfe4fa;
  --gold:#eab308; --gold-2:#facc15; --gold-soft:rgba(234,179,8,.10);
  --red:#f87171; --red-soft:rgba(248,113,113,.12);
  --shadow:0 1px 2px rgba(0,0,0,.4),0 12px 32px rgba(0,0,0,.4);
  background:
    repeating-linear-gradient(0deg, transparent 0 34px, rgba(143,184,232,.03) 34px 35px),
    var(--bg);
}
.stg *{box-sizing:border-box;}
.stg-wrap{max-width:1120px;margin:0 auto;}
.stg code,.stg pre,.stg textarea,.stg input{font-family:"JetBrains Mono",ui-monospace,SFMono-Regular,Consolas,monospace;}

/* ---------- 首屏：带火漆印的公文抬头 ---------- */
.stg-hero{
  margin-top:22px;position:relative;border:1px solid var(--line);border-radius:16px;
  background:var(--card);box-shadow:var(--shadow);padding:26px 28px 22px;overflow:hidden;
}
.stg-hero::before{
  content:"";position:absolute;left:0;top:0;bottom:0;width:6px;
  background:linear-gradient(180deg,var(--pri),var(--gold));
}
.stg-seal{
  position:absolute;right:26px;top:22px;width:74px;height:74px;border-radius:50%;
  border:2px dashed var(--gold);color:var(--gold);display:flex;align-items:center;justify-content:center;
  font-size:11px;font-weight:800;letter-spacing:.06em;text-align:center;line-height:1.3;
  transform:rotate(-12deg);background:var(--gold-soft);
}
.stg-kicker{font-size:12px;font-weight:800;letter-spacing:.14em;color:var(--gold);text-transform:uppercase;}
.stg-hero h1{margin:6px 0 8px;font-size:clamp(24px,3.6vw,32px);font-weight:900;color:var(--pri);}
.stg-hero p{margin:0;color:var(--sub);font-size:15px;max-width:780px;}
.stg-hero p b{color:var(--ink);}
.stg-chips{display:flex;gap:8px;flex-wrap:wrap;margin-top:14px;}
.stg-chip{font-size:12.5px;background:var(--card2);border:1px solid var(--line);border-radius:999px;padding:3px 12px;color:var(--sub);font-weight:600;}
.stg-chip b{color:var(--pri-ink);}

/* ---------- 工作台 ---------- */
.stg-desk{display:grid;grid-template-columns:1.05fr .95fr;gap:18px;margin-top:20px;}
@media (max-width:940px){.stg-desk{grid-template-columns:1fr;}}
.stg-card{background:var(--card);border:1px solid var(--line);border-radius:var(--r);box-shadow:var(--shadow);padding:18px 18px 16px;}
.stg-card h2{margin:0 0 12px;font-size:16px;font-weight:800;display:flex;align-items:center;gap:8px;color:var(--pri);}
.stg-card h2 .stg-num{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;border-radius:6px;background:var(--gold);color:#fff;font-size:12px;font-weight:800;}
:root[data-theme="dark"] .stg-card h2 .stg-num{color:#241a04;}
.stg-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;}
@media (max-width:600px){.stg-grid{grid-template-columns:1fr;}}
.stg-field{display:flex;flex-direction:column;gap:3px;}
.stg-field.full{grid-column:1/-1;}
.stg-field label{font-size:12.5px;font-weight:700;color:var(--sub);}
.stg-field label i{font-style:normal;color:var(--red);margin-left:2px;}
.stg-field input{
  width:100%;padding:8px 11px;border-radius:9px;border:1px solid var(--line);
  background:var(--card2);color:var(--ink);font-size:13px;outline:none;transition:border-color .15s;
}
.stg-field input:focus{border-color:var(--pri-2);box-shadow:0 0 0 3px var(--pri-soft);}
.stg-row{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin-top:14px;}
.stg-btn{border:none;border-radius:10px;padding:9px 18px;font-size:14px;font-weight:800;cursor:pointer;transition:all .15s;}
.stg-btn-go{background:var(--pri);color:#fff;}
:root[data-theme="dark"] .stg-btn-go{color:#0b1520;}
.stg-btn-go:hover{background:var(--pri-2);}
.stg-btn-ghost{background:var(--card2);color:var(--pri-ink);border:1px solid var(--line);}
.stg-btn-ghost:hover{border-color:var(--gold-2);}
.stg-msg{margin-top:10px;font-size:13px;font-weight:700;padding:8px 12px;border-radius:9px;min-height:20px;}
.stg-msg:empty{padding:0;min-height:0;}
.stg-msg.err{background:var(--red-soft);color:var(--red);}
.stg-msg.ok{background:var(--pri-soft);color:var(--pri-ink);}
.stg-msg.warn{background:var(--gold-soft);color:var(--gold);}
.stg-out{
  width:100%;min-height:250px;border-radius:10px;border:1px solid var(--line);
  background:var(--card2);color:var(--ink);padding:12px 14px;font-size:13px;line-height:1.8;
  overflow:auto;white-space:pre;margin:0;
}
.stg-stats{display:flex;gap:10px;flex-wrap:wrap;margin-top:10px;}
.stg-stat{font-size:12.5px;color:var(--sub);background:var(--card2);border:1px solid var(--line2);border-radius:8px;padding:4px 10px;}
.stg-stat b{color:var(--pri-ink);}

/* ---------- 部署指引 ---------- */
.stg-deploy{margin-top:18px;}
.stg-tabs{display:flex;gap:8px;margin-bottom:10px;}
.stg-tab{border:1px solid var(--line);background:var(--card2);color:var(--sub);border-radius:999px;padding:5px 16px;font-size:13px;cursor:pointer;font-weight:700;}
.stg-tab.on{background:var(--gold);border-color:var(--gold);color:#fff;}
:root[data-theme="dark"] .stg-tab.on{color:#241a04;}
.stg-pre{background:#101823;color:#c9d7e8;border-radius:10px;padding:14px 16px;font-size:12.5px;line-height:1.75;overflow:auto;white-space:pre;margin:0;}
.stg-note{font-size:13px;color:var(--sub);margin:10px 0 0;}
.stg-note b{color:var(--gold);}

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

/* ---------- 扩展：场景预设 · 多格式导出 · 流程图 ---------- */
.stgx-panel{margin-top:18px;}
.stgx-lead{margin:0 0 4px;color:var(--sub);font-size:13.5px;}
.stgx-presets{display:flex;flex-wrap:wrap;gap:8px;margin:12px 0 4px;}
.stgx-p{border:1px solid var(--line);background:var(--card2);color:var(--sub);border-radius:9px;padding:6px 12px;font-size:12.5px;font-weight:700;cursor:pointer;transition:all .15s;}
.stgx-p:hover{border-color:var(--gold-2);color:var(--pri-ink);}
.stgx-p.on{background:var(--gold);border-color:var(--gold);color:#fff;}
:root[data-theme="dark"] .stgx-p.on{color:#241a04;}
.stgx-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px;}
.stgx-btn{border:1px solid var(--line);background:var(--card2);color:var(--pri-ink);border-radius:10px;padding:8px 15px;font-size:13px;font-weight:800;cursor:pointer;}
.stgx-btn:hover{border-color:var(--gold-2);}
.stgx-btn-ghost{background:transparent;}
.stgx-msg{font-size:13px;font-weight:700;padding:6px 0;min-height:16px;color:var(--sub);}
.stgx-msg:empty{min-height:0;}
.stgx-msg.err{color:var(--red);}
.stgx-msg.ok{color:var(--pri-ink);}
.stgx-h3{margin:16px 0 8px;font-size:14px;font-weight:800;color:var(--pri-ink);}
.stgx-flow{overflow-x:auto;background:var(--card2);border:1px solid var(--line2);border-radius:10px;padding:8px 10px;}
.stgx-flow svg{display:block;width:100%;min-width:540px;height:auto;}
.stgx-flow text{font-family:inherit;}
@media (max-width:600px){.stgx-flow{padding:6px;}}
