/* ReignBridge automation demos: shared styles */
@font-face{font-family:"Libre Caslon Text";font-weight:400;font-display:swap;src:url(/assets/fonts/libre-caslon-text-latin-400-normal.woff2) format("woff2")}
@font-face{font-family:"IBM Plex Sans";font-weight:400;font-display:swap;src:url(/assets/fonts/ibm-plex-sans-latin-400-normal.woff2) format("woff2")}
@font-face{font-family:"IBM Plex Sans";font-weight:500;font-display:swap;src:url(/assets/fonts/ibm-plex-sans-latin-500-normal.woff2) format("woff2")}
@font-face{font-family:"IBM Plex Sans";font-weight:600;font-display:swap;src:url(/assets/fonts/ibm-plex-sans-latin-600-normal.woff2) format("woff2")}
@font-face{font-family:"IBM Plex Mono";font-weight:400;font-display:swap;src:url(/assets/fonts/ibm-plex-mono-latin-400-normal.woff2) format("woff2")}
@font-face{font-family:"IBM Plex Mono";font-weight:500;font-display:swap;src:url(/assets/fonts/ibm-plex-mono-latin-500-normal.woff2) format("woff2")}
:root{
  --bg:#f6f7fa; --surface:#ffffff; --sunk:#eef0f5; --ink:#141b2d; --muted:#535c71; --line:#dde1ea;
  --navy:#13254a; --navy-ink:#eef1f8; --gold:#8a6a22; --gold-bright:#d4ae5c; --gold-soft:#f3ead6;
  --risk:#b23b2e; --risk-soft:#f8e4e1; --ok:#2d6a4f; --ok-soft:#dff0e7; --info:#2e4470; --info-soft:#e3e8f3;
  --display:"Libre Caslon Text", Georgia, serif;
  --body:"IBM Plex Sans", system-ui, -apple-system, "Segoe UI", sans-serif;
  --mono:"IBM Plex Mono", ui-monospace, Menlo, Consolas, monospace;
  color-scheme:light;
}
*{box-sizing:border-box}
html,body{margin:0}
[hidden]{display:none!important}
body{background:var(--bg);color:var(--ink);font-family:var(--body);font-size:15px;line-height:1.55}
.wrap{max-width:1180px;margin:0 auto;padding-left:max(16px,env(safe-area-inset-left,0px));padding-right:max(16px,env(safe-area-inset-right,0px))}
.band{background:var(--navy);color:var(--navy-ink)}
.band .wrap{padding-block:22px 30px}
.top{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap}
.wordmark{font-family:var(--display);letter-spacing:.22em;font-size:.85rem;color:inherit;text-decoration:none}
.wordmark small{display:block;font-family:var(--body);letter-spacing:.32em;font-size:.58rem;opacity:.75;border-top:1px solid var(--gold-bright);padding-top:3px;margin-top:3px;width:max-content}
.concept{font-family:var(--mono);font-size:.7rem;letter-spacing:.06em;text-transform:uppercase;border:1px solid var(--gold-bright);color:var(--gold-bright);padding:4px 10px}
.kicker{font-family:var(--mono);font-size:.72rem;letter-spacing:.12em;text-transform:uppercase;color:var(--gold-bright);margin:26px 0 0}
h1{font-family:var(--display);font-weight:400;font-size:clamp(1.7rem,4vw,2.5rem);line-height:1.15;margin:8px 0 8px;text-wrap:balance}
.band p{margin:0;max-width:72ch;opacity:.88}
.compare{display:flex;gap:10px 28px;flex-wrap:wrap;margin-top:18px;font-family:var(--mono);font-size:.8rem}
.compare b{color:var(--gold-bright);font-weight:500}
.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--line);border:1px solid var(--line);margin-top:-14px;position:relative}
.stat{background:var(--surface);padding:14px 16px;min-width:0}
.stat span{display:block;font-family:var(--mono);font-size:.66rem;letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}
.stat b{font-family:var(--display);font-weight:400;font-size:1.7rem;font-variant-numeric:tabular-nums}
@media (max-width:640px){.stats{grid-template-columns:repeat(2,1fr)}}
.grid{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:20px;margin-top:24px;align-items:start}
@media (max-width:860px){.grid{grid-template-columns:1fr}}
.card{background:var(--surface);border:1px solid var(--line);min-width:0}
.card>header{display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap;padding:14px 18px;border-bottom:1px solid var(--line)}
.card>header h2{font-size:.95rem;font-weight:600;margin:0}
.lbl{font-family:var(--mono);font-size:.66rem;letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}
.scen{display:flex;flex-wrap:wrap;gap:6px;padding:14px 18px 0}
.scen button{font:inherit;font-size:.8rem;border:1px solid var(--line);background:var(--sunk);color:var(--ink);padding:5px 10px;cursor:pointer}
.scen button[aria-pressed="true"]{background:var(--navy);color:var(--navy-ink);border-color:var(--navy)}
.panel{padding:16px 18px 18px;display:grid;gap:12px}
.row2{display:grid;grid-template-columns:1fr 1fr;gap:12px}
@media (max-width:480px){.row2{grid-template-columns:1fr}}
label{display:grid;gap:4px;font-size:.8rem;font-weight:500}
input,select,textarea{font:inherit;font-size:.9rem;color:var(--ink);background:var(--bg);border:1px solid var(--line);padding:8px 10px;width:100%;min-width:0}
textarea{min-height:64px;resize:vertical}
fieldset{border:1px solid var(--line);padding:10px 12px;margin:0;display:grid;gap:6px;min-width:0}
legend{font-size:.8rem;font-weight:500;padding:0 4px}
.check{display:flex;gap:8px;align-items:center;font-weight:400;font-size:.86rem}
.check input{width:auto}
:focus-visible{outline:2px solid var(--gold-bright);outline-offset:2px}
.submit{font:inherit;font-weight:600;background:var(--navy);color:var(--navy-ink);border:0;padding:11px 16px;cursor:pointer}
.submit:disabled{opacity:.6;cursor:wait}
.fine{font-size:.76rem;color:var(--muted);margin:0}
.log{list-style:none;margin:0;padding:8px 18px 18px;display:grid}
.ev{display:grid;grid-template-columns:62px 1fr;gap:12px;padding:12px 0;border-bottom:1px solid var(--line)}
.ev:last-child{border-bottom:0}
.ev .t{font-family:var(--mono);font-size:.74rem;color:var(--muted);font-variant-numeric:tabular-nums;padding-top:2px}
.ev h3{font-size:.92rem;margin:0 0 2px;display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.ev p{margin:0;font-size:.86rem;color:var(--muted)}
.ev.enter{animation:in .35s ease-out}
@keyframes in{from{opacity:.2;transform:translateY(4px)}to{opacity:1;transform:none}}
@media (prefers-reduced-motion:reduce){.ev.enter{animation:none}}
.pill{font-family:var(--mono);font-size:.62rem;letter-spacing:.06em;text-transform:uppercase;padding:2px 7px;font-weight:500;white-space:nowrap}
.p-auto{background:var(--info-soft);color:var(--info)}
.p-human{background:var(--gold-soft);color:var(--gold)}
.p-ok{background:var(--ok-soft);color:var(--ok)}
.p-risk{background:var(--risk-soft);color:var(--risk)}
.mail{margin-top:8px;border:1px solid var(--line);background:var(--bg);font-size:.84rem}
.mail .mh{padding:8px 12px;border-bottom:1px solid var(--line);font-family:var(--mono);font-size:.72rem;color:var(--muted);display:grid;gap:2px}
.mail .mb{padding:10px 12px;white-space:pre-line;color:var(--ink)}
.mini{margin:8px 0 0;padding:0;list-style:none;display:grid;gap:4px;font-size:.84rem}
.mini li{display:flex;gap:8px;flex-wrap:wrap;align-items:center;justify-content:space-between;padding:6px 10px;background:var(--bg);border:1px solid var(--line)}
.mini li.hit{border-color:var(--risk);background:var(--risk-soft)}
.mini li.good{border-color:var(--ok);background:var(--ok-soft)}
.mini .num{font-family:var(--mono);font-variant-numeric:tabular-nums}
.actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:10px}
.actions button{font:inherit;font-size:.82rem;padding:7px 12px;cursor:pointer;border:1px solid var(--line);background:var(--surface);color:var(--ink)}
.actions button.primary{background:var(--navy);color:var(--navy-ink);border-color:var(--navy)}
.actions button:disabled{opacity:.45;cursor:default}
.elapsed{display:flex;gap:16px;flex-wrap:wrap;padding:12px 18px;border-top:1px solid var(--line);background:var(--sunk);font-family:var(--mono);font-size:.76rem}
.elapsed:empty{display:none}
.elapsed b{color:var(--ok);font-weight:500}
.lower{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:20px;margin-top:20px}
@media (max-width:860px){.lower{grid-template-columns:1fr}}
.rec{padding:14px 18px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 18px;font-size:.86rem}
.rec div{min-width:0;overflow-wrap:anywhere}
.rec div span{display:block;font-family:var(--mono);font-size:.64rem;letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}
.split{padding:14px 18px;display:grid;grid-template-columns:1fr 1fr;gap:16px;font-size:.86rem}
.split ul{margin:6px 0 0;padding-left:18px;display:grid;gap:4px}
@media (max-width:480px){.split,.rec{grid-template-columns:1fr}}
.how{margin-top:20px;padding:16px 18px;font-size:.88rem}
.how h2{font-size:.95rem;margin:0}
.how p{margin:6px 0 0;max-width:80ch;color:var(--muted)}
.tbl{overflow-x:auto}
table{border-collapse:collapse;width:100%;font-size:.84rem}
th,td{text-align:left;padding:9px 12px;border-bottom:1px solid var(--line);vertical-align:middle}
th{font-family:var(--mono);font-size:.64rem;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);font-weight:500;background:var(--bg)}
td.num{font-family:var(--mono);font-variant-numeric:tabular-nums;white-space:nowrap}
.bar{height:6px;background:var(--sunk);position:relative;min-width:60px}
.bar i{position:absolute;inset:0 auto 0 0;background:var(--ok)}
footer{margin:28px 0 40px;font-size:.78rem;color:var(--muted)}
.kicker{margin-top:32px}
.grid.wide{grid-template-columns:minmax(0,6fr) minmax(0,6fr)}
@media (max-width:860px){.grid.wide{grid-template-columns:1fr}}
td .pill{white-space:normal;display:inline-block}
