/* Ops runbook. Terminal-calm dark by default; [data-theme="light"] gives the binder copy. */
:root{
  color-scheme:only dark;
  --scheme-default:dark;
  --bg:light-dark(#FFFFFF,#0C1117);
  --panel:light-dark(#F6F8FA,#161B22);
  --code:light-dark(#F0F2F5,#0A0E13);
  --ink:light-dark(#0C1117,#E6EDF3);
  --muted:light-dark(#57606A,#8B949E);
  --line:light-dark(#D8DEE4,#30363D);
  --ok:light-dark(#15803D,#22C55E);
  --ok-bg:light-dark(#ECFDF3,rgba(34,197,94,.10));
  --bad:light-dark(#B91C1C,#F85149);
  --bad-bg:light-dark(#FEF2F2,rgba(248,81,73,.09));
  --accent:light-dark(#0969DA,#58A6FF);
  --sans:system-ui,-apple-system,"Segoe UI",sans-serif;
  --mono:ui-monospace,SFMono-Regular,Menlo,monospace;
}
:root[data-theme="light"]{color-scheme:only light}
:root[data-theme="dark"]{color-scheme:only dark}
*{box-sizing:border-box}
body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--sans);font-size:15px;line-height:1.6;-webkit-font-smoothing:antialiased;text-wrap:pretty}
.wrap{max-width:860px;margin:0 auto;padding:40px 24px 72px}
.head{padding-bottom:18px;border-bottom:1px solid var(--line)}
.kicker{font-family:var(--mono);font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);margin:0 0 12px}
h1{font-size:25px;font-weight:660;letter-spacing:-.022em;margin:0 0 14px;line-height:1.2}
.hmeta{display:flex;flex-wrap:wrap;gap:8px 14px;align-items:center;font-size:12.5px;color:var(--muted)}
.pill{display:inline-block;font-size:11px;font-weight:650;letter-spacing:.06em;padding:4px 9px;border-radius:6px;background:var(--panel);border:1px solid var(--line);color:var(--ink)}
.pill.warn{border-color:var(--bad);color:var(--bad);background:var(--bad-bg)}
h2{font-size:11.5px;font-weight:700;letter-spacing:.13em;text-transform:uppercase;color:var(--muted);margin:34px 0 14px}
.panel{background:var(--panel);border:1px solid var(--line);border-radius:8px;padding:20px 22px}
ul.pre{margin:0;padding:0;list-style:none;display:grid;gap:11px;font-size:14.5px}
ul.pre li{display:grid;grid-template-columns:18px minmax(0,1fr);gap:11px}
ul.pre .box{width:14px;height:14px;border:1.5px solid var(--muted);border-radius:3px;margin-top:4px}
ul.pre code{font-family:var(--mono);font-size:13px;background:var(--code);padding:1px 5px;border-radius:4px;border:1px solid var(--line)}
.phase{margin-top:14px}
.phase>h3{font-size:17px;font-weight:650;letter-spacing:-.014em;margin:0 0 4px;display:flex;align-items:baseline;gap:12px}
.phase>h3 b{font-family:var(--mono);font-size:12px;color:var(--accent);font-weight:600}
.phase>.pdesc{margin:0 0 18px;font-size:13.5px;color:var(--muted)}
.step{display:grid;grid-template-columns:30px minmax(0,1fr);gap:14px;padding-bottom:22px}
.sbody{min-width:0}
.snum{font-family:var(--mono);font-size:12.5px;color:var(--muted);padding-top:3px}
.sbody b{display:block;font-size:15.5px;font-weight:600;letter-spacing:-.008em;margin-bottom:10px;line-height:1.4}
pre{margin:0;background:var(--code);border:1px solid var(--line);border-radius:8px;padding:14px 16px;overflow-x:auto;font-family:var(--mono);font-size:13.5px;line-height:1.6;color:var(--ink)}
pre .c{color:var(--muted)}
pre .fl{color:var(--accent)}
pre .st{color:var(--ok)}
.expect{margin:9px 0 0;font-family:var(--mono);font-size:12.5px;color:var(--muted);line-height:1.55;padding-left:2px}
.expect span{color:var(--ok)}
.verify{margin:4px 0 26px;background:var(--ok-bg);border:1px solid var(--ok);border-radius:8px;padding:16px 18px}
.verify h4{font-size:11px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--ok);margin:0 0 10px}
.verify ul{margin:0;padding:0;list-style:none;display:grid;gap:8px;font-size:14px}
.verify li{display:grid;grid-template-columns:16px minmax(0,1fr);gap:10px}
.verify li::before{content:"\2713";color:var(--ok);font-size:12px;line-height:1.5}
.verify code{font-family:var(--mono);font-size:12.5px;background:var(--code);padding:1px 5px;border-radius:4px;border:1px solid var(--line)}
.rollback{border:1px solid var(--bad);border-radius:8px;background:var(--bad-bg);padding:22px 24px;margin-top:14px}
.rollback h2{color:var(--bad);margin:0 0 8px}
.rollback .warnline{margin:0 0 18px;font-size:14px;color:var(--ink)}
.rollback .snum{color:var(--bad)}
.esc{background:var(--panel);border:1px solid var(--line);border-radius:8px;padding:20px 22px}
.esc ol{margin:0;padding:0;list-style:none;counter-reset:e;display:grid;gap:12px}
.esc li{counter-increment:e;display:grid;grid-template-columns:26px minmax(0,1fr);gap:12px;font-size:14.5px}
.esc li::before{content:counter(e);font-family:var(--mono);font-size:11.5px;color:var(--accent);border:1px solid var(--line);border-radius:50%;width:22px;height:22px;display:grid;place-content:center;margin-top:2px}
.esc b{font-weight:650}
.esc span{display:block;font-size:13px;color:var(--muted);margin-top:2px}
.esc .handle{font-family:var(--mono);font-size:13px;color:var(--accent)}
@media (max-width:600px){
  .wrap{padding:26px 15px 48px}
  h1{font-size:21px}
  .step{grid-template-columns:minmax(0,1fr);gap:6px}
  .snum{padding-top:0}
  pre{font-size:12.5px}
}
@media print{
  @page{margin:16mm}
  :root{color-scheme:only light}
  body{background:#fff;color:#000;-webkit-print-color-adjust:exact;print-color-adjust:exact;font-size:10pt}
  .wrap{padding:0;max-width:none}
  pre{background:#F4F4F5;border-color:#D4D4D8;color:#000}
  .step,.verify,.phase,.rollback,.esc{break-inside:avoid}
}
