/* testing-safety-alert — 红/琥珀 警示风 · 白底高对比 */
.tpl-testing-safety-alert{
  --ts-bg:#fffaf7;
  --ts-ink:#14141a;
  --ts-ink2:#4a4955;
  --ts-muted:#8a8892;
  --ts-line:rgba(20,20,26,.08);
  --ts-red:#e0314a;
  --ts-red-soft:#ffecee;
  --ts-amber:#d97706;
  --ts-amber-soft:#fff5e6;
  --ts-green:#067647;
  --ts-green-soft:#e8f8ee;
  background:var(--ts-bg);
  color:var(--ts-ink);
  font-family:'Inter','Noto Sans SC','PingFang SC',-apple-system,sans-serif;
}
.tpl-testing-safety-alert .slide{background:var(--ts-bg);color:var(--ts-ink);padding:64px 84px}
.tpl-testing-safety-alert .ts-stripe{position:absolute;top:0;left:0;right:0;height:14px;background:repeating-linear-gradient(45deg,var(--ts-red) 0 18px,#111318 18px 36px)}
.tpl-testing-safety-alert .ts-stripe-b{position:absolute;bottom:0;left:0;right:0;height:6px;background:repeating-linear-gradient(45deg,var(--ts-red) 0 10px,#111318 10px 20px);opacity:.6}
.tpl-testing-safety-alert .ts-chrome{display:flex;justify-content:space-between;align-items:center;margin:22px 0 16px}
.tpl-testing-safety-alert .ts-alert-tag{display:inline-flex;align-items:center;gap:10px;padding:8px 18px;border-radius:10px;font-size:13px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;background:var(--ts-red);color:#fff;box-shadow:0 6px 18px rgba(224,49,74,.28)}
.tpl-testing-safety-alert .ts-alert-tag::before{content:'⚠';font-size:16px}
.tpl-testing-safety-alert .ts-alert-tag.amber{background:var(--ts-amber);box-shadow:0 6px 18px rgba(217,119,6,.25)}
.tpl-testing-safety-alert .ts-alert-tag.green{background:var(--ts-green);box-shadow:0 6px 18px rgba(6,118,71,.22)}
.tpl-testing-safety-alert .ts-alert-tag.green::before{content:'✓'}
.tpl-testing-safety-alert .ts-page{font-size:13px;color:var(--ts-muted);letter-spacing:.15em;font-weight:700}
.tpl-testing-safety-alert .ts-kicker{font-size:15px;font-weight:700;color:var(--ts-red);letter-spacing:.06em;margin-bottom:10px;text-transform:uppercase}
.tpl-testing-safety-alert .ts-h1{font-size:88px;font-weight:900;line-height:1.04;letter-spacing:-2px;margin:10px 0 16px;color:var(--ts-ink)}
.tpl-testing-safety-alert .ts-h1 .red{color:var(--ts-red)}
.tpl-testing-safety-alert .ts-h1 .strike{position:relative;display:inline-block}
.tpl-testing-safety-alert .ts-h1 .strike::after{content:'';position:absolute;left:-4%;right:-4%;top:50%;height:10px;background:var(--ts-red);transform:skewX(-12deg);opacity:.85}
.tpl-testing-safety-alert .ts-h2{font-size:54px;font-weight:900;line-height:1.1;letter-spacing:-1px;margin:0 0 14px}
.tpl-testing-safety-alert .ts-sub{font-size:22px;line-height:1.5;color:var(--ts-ink2);max-width:880px;margin-top:10px}
.tpl-testing-safety-alert .ts-highlight-red{display:inline-block;padding:4px 14px;background:var(--ts-red);color:#fff;border-radius:8px;font-weight:800}
.tpl-testing-safety-alert .ts-highlight-amber{display:inline-block;padding:4px 14px;background:var(--ts-amber-soft);color:var(--ts-amber);border-radius:8px;font-weight:800;border:1px solid rgba(217,119,6,.2)}
.tpl-testing-safety-alert .ts-highlight-green{display:inline-block;padding:4px 14px;background:var(--ts-green-soft);color:var(--ts-green);border-radius:8px;font-weight:800;border:1px solid rgba(6,118,71,.2)}
.tpl-testing-safety-alert .ts-alert-box{border:2px solid var(--ts-red);border-radius:18px;padding:26px 30px;background:linear-gradient(180deg,#fff 0%,var(--ts-red-soft) 100%);box-shadow:0 14px 36px rgba(224,49,74,.14);margin-top:24px;position:relative}
.tpl-testing-safety-alert .ts-alert-box::before{content:'';position:absolute;top:-11px;left:24px;width:22px;height:22px;background:var(--ts-red);border-radius:50%;box-shadow:0 0 0 6px rgba(224,49,74,.2)}
.tpl-testing-safety-alert .ts-alert-box.amber{border-color:var(--ts-amber);background:linear-gradient(180deg,#fff 0%,var(--ts-amber-soft) 100%);box-shadow:0 14px 36px rgba(217,119,6,.14)}
.tpl-testing-safety-alert .ts-alert-box.amber::before{background:var(--ts-amber);box-shadow:0 0 0 6px rgba(217,119,6,.2)}
.tpl-testing-safety-alert .ts-alert-box.green{border-color:var(--ts-green);background:linear-gradient(180deg,#fff 0%,var(--ts-green-soft) 100%);box-shadow:0 14px 36px rgba(6,118,71,.14)}
.tpl-testing-safety-alert .ts-alert-box.green::before{background:var(--ts-green);box-shadow:0 0 0 6px rgba(6,118,71,.2)}
.tpl-testing-safety-alert .ts-alert-box h3{font-size:34px;font-weight:900;margin:0 0 10px}
.tpl-testing-safety-alert .ts-alert-box p{font-size:17px;line-height:1.6;color:var(--ts-ink2);margin:0}
.tpl-testing-safety-alert .ts-grid-2{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-top:20px}
.tpl-testing-safety-alert .ts-grid-3{display:grid;grid-template-columns:1fr 1fr 1fr;gap:16px;margin-top:20px}
.tpl-testing-safety-alert .ts-card{border:1px solid var(--ts-line);border-radius:16px;padding:22px 24px;background:#fff;box-shadow:0 6px 20px rgba(17,19,24,.04)}
.tpl-testing-safety-alert .ts-card .lbl{font-size:12px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:var(--ts-muted);margin-bottom:8px}
.tpl-testing-safety-alert .ts-card h4{font-size:26px;font-weight:900;line-height:1.2;margin-bottom:8px}
.tpl-testing-safety-alert .ts-card p{font-size:14px;color:var(--ts-ink2);line-height:1.55}
.tpl-testing-safety-alert .ts-checklist{display:flex;flex-direction:column;gap:12px;margin-top:20px;max-width:880px}
.tpl-testing-safety-alert .ts-check{display:flex;gap:16px;align-items:flex-start;padding:16px 20px;border:1px solid var(--ts-line);border-radius:14px;background:#fff}
.tpl-testing-safety-alert .ts-check .box{flex:0 0 32px;height:32px;border-radius:8px;border:2px solid var(--ts-red);display:grid;place-items:center;font-weight:900;color:var(--ts-red);background:var(--ts-red-soft)}
.tpl-testing-safety-alert .ts-check.ok .box{border-color:var(--ts-green);color:var(--ts-green);background:var(--ts-green-soft)}
.tpl-testing-safety-alert .ts-check .txt{font-size:18px;line-height:1.5;font-weight:600}
.tpl-testing-safety-alert .ts-codebox{background:#141418;color:#fff5ea;border-radius:14px;padding:22px 26px;font-family:'JetBrains Mono',monospace;font-size:14px;line-height:1.85;margin-top:20px;border-left:6px solid var(--ts-red)}
.tpl-testing-safety-alert .ts-codebox .cm{color:#7a756d}
.tpl-testing-safety-alert .ts-codebox .kw{color:#ffb38a}
.tpl-testing-safety-alert .ts-codebox .st{color:#b3e6c2}
.tpl-testing-safety-alert .ts-codebox .bad{color:#ff9aa8;font-weight:700}
.tpl-testing-safety-alert .ts-footer{position:absolute;left:84px;right:84px;bottom:36px;display:flex;justify-content:space-between;font-size:12px;color:var(--ts-muted);letter-spacing:.1em}

/* Business failure laws deck */
.fail-deck .slide{background:radial-gradient(circle at 8% 8%,rgba(224,49,74,.08),transparent 28%),#fffaf4;}
.fail-deck .risk-bars{display:flex;flex-direction:column;gap:9px;margin-top:18px;max-width:1040px;}
.fail-deck .risk-bars div{display:grid;grid-template-columns:190px 1fr;gap:14px;align-items:center;}
.fail-deck .risk-bars span{font-size:17px;font-weight:900;color:var(--ts-ink);}
.fail-deck .risk-bars b{display:block;background:linear-gradient(90deg,var(--ts-red),var(--ts-amber));color:#fff;border-radius:10px;padding:9px 13px;font-size:15px;box-shadow:0 8px 18px rgba(224,49,74,.16);}
.fail-deck .single-grid,.fail-deck .asset-grid,.fail-deck .cost-grid,.fail-deck .effort-grid,.fail-deck .question-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-top:26px;}
.fail-deck .single-grid span,.fail-deck .asset-grid span,.fail-deck .cost-grid div,.fail-deck .effort-grid div,.fail-deck .question-grid div{background:#141418;color:#fff;border-radius:14px;padding:20px 14px;font-size:20px;font-weight:900;text-align:center;box-shadow:0 10px 22px rgba(17,19,24,.12);display:flex;align-items:center;justify-content:center;min-height:78px;}
.fail-deck .time-mismatch,.fail-deck .funnel-compare{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-top:24px;}
.fail-deck .time-mismatch div,.fail-deck .funnel-compare div{background:#fff;border:1px solid var(--ts-line);border-radius:16px;padding:26px;box-shadow:0 8px 22px rgba(17,19,24,.05);}
.fail-deck .time-mismatch b,.fail-deck .funnel-compare b{display:block;font-size:30px;font-weight:900;color:var(--ts-red);margin-bottom:10px;}
.fail-deck .time-mismatch span,.fail-deck .funnel-compare span{font-size:18px;color:var(--ts-ink2);line-height:1.55;}
.fail-deck .big-code{font-size:21px;line-height:1.7;}
.fail-deck .mismatch-grid,.fail-deck .veto-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:18px;margin-top:26px;}
.fail-deck .veto-grid{grid-template-columns:repeat(5,1fr);}
.fail-deck .mismatch-grid div,.fail-deck .veto-grid div{background:#fff;border:1px solid var(--ts-line);border-top:6px solid var(--ts-red);border-radius:16px;padding:22px;box-shadow:0 8px 22px rgba(17,19,24,.05);}
.fail-deck .mismatch-grid b,.fail-deck .veto-grid b{display:block;font-size:25px;font-weight:900;color:var(--ts-red);margin-bottom:8px;}
.fail-deck .mismatch-grid span,.fail-deck .veto-grid span{font-size:15px;color:var(--ts-ink2);line-height:1.55;}
.fail-deck .veto-grid div{min-height:180px;}
.fail-deck .question-grid{grid-template-columns:repeat(4,1fr);}
.fail-deck .question-grid div{background:#fff;color:var(--ts-ink);border:2px solid var(--ts-red);font-size:24px;}
.fail-deck .final-code{font-size:30px;line-height:1.75;}
@media (max-width:900px){
  .fail-deck .ts-h1{font-size:52px;}
  .fail-deck .risk-bars div{grid-template-columns:1fr;}
  .fail-deck .single-grid,.fail-deck .asset-grid,.fail-deck .cost-grid,.fail-deck .effort-grid,.fail-deck .question-grid,.fail-deck .time-mismatch,.fail-deck .funnel-compare,.fail-deck .mismatch-grid,.fail-deck .veto-grid{grid-template-columns:1fr;}
}
