/* Go-Live Gate · demo-specific layout on top of app-base.css */
.title{font-size:34px;font-weight:700;letter-spacing:-.02em;margin:6px 0 10px}
.tabs{display:flex;gap:6px;margin:26px 0 22px;border-bottom:1px solid var(--line);flex-wrap:wrap}
.tabs [role=tab]{appearance:none;border:0;background:none;font:600 13px var(--sans);color:var(--cap);padding:10px 14px;cursor:pointer;border-bottom:2px solid transparent;margin-bottom:-1px}
.tabs [role=tab][aria-selected=true]{color:var(--ink);border-bottom-color:var(--accent)}
.tablede{max-width:82ch;color:var(--body);margin:0 0 18px}
.colhead{font-family:var(--mono);font-size:10.5px;text-transform:uppercase;letter-spacing:.08em;color:var(--cap);margin-bottom:10px}
.pnote{font-size:12px;color:var(--cap);margin:10px 0 0;max-width:70ch;line-height:1.5}

.commitbar{display:flex;justify-content:space-between;gap:12px;align-items:baseline;flex-wrap:wrap;background:var(--surface);border:1px solid var(--line);border-radius:8px;padding:10px 15px;margin-bottom:18px;font-size:12.5px;color:var(--body2)}
.commitbar .mono{font-size:10.5px;color:var(--accent)}

.gategrid{display:grid;grid-template-columns:1fr 1fr;gap:26px;align-items:start}
@media(max-width:960px){.gategrid{grid-template-columns:1fr}}
.slidebox{background:var(--surface);border:1px solid var(--line);border-radius:8px;padding:14px 16px}
.slidebox label{display:block;font-size:13px;color:var(--body2);margin-bottom:8px}
.slidebox label b{font-family:var(--mono);color:var(--ink)}
.slidebox input[type=range]{width:100%;accent-color:var(--accent)}
.tradeoff{margin-top:10px}
.tradeoff svg{display:block;width:100%;height:auto}

.crit{background:var(--surface);border:1px solid var(--line);border-radius:8px;padding:12px 15px;margin-bottom:9px}
.crit .chd{display:flex;gap:10px;align-items:baseline}
.crit .cid{font-family:var(--mono);font-size:10px;color:var(--cap);letter-spacing:.06em;white-space:nowrap}
.crit .ct2{flex:1;font-size:13px;font-weight:600;color:var(--ink);line-height:1.4}
.crit .st{font-family:var(--mono);font-size:11.5px;font-weight:600;white-space:nowrap}
.crit .st.ok{color:var(--ok)} .crit .st.bad{color:var(--danger)} .crit .st.na{color:var(--cap)}
.crit .dt{margin-top:6px;font-size:12px;color:var(--body);line-height:1.5}
.crit .dt .mono{font-size:11px}
.crit.pass{border-color:#9DC4AC} .crit.fail{border-color:#EAC8C4}

.signbox{background:var(--surface);border:1px solid var(--line);border-radius:8px;padding:14px 16px}
.signbox .locked{font-size:12.5px;color:var(--body2)}
.btn{appearance:none;border:1px solid var(--ink);background:var(--ink);color:#fff;font:600 12.5px var(--sans);padding:9px 16px;border-radius:6px;cursor:pointer}
.btn:hover{background:var(--accent);border-color:var(--accent)}
.btn:disabled{background:var(--wash);border-color:var(--line);color:var(--muted);cursor:not-allowed}
.cert{margin-top:12px;border:1px solid var(--ink);border-radius:8px;overflow:hidden}
.cert .ch{background:var(--ink);color:#fff;padding:9px 14px;font-size:12.5px;font-weight:600;display:flex;justify-content:space-between;gap:10px;flex-wrap:wrap}
.cert .ch .m{font-family:var(--mono);font-size:10px;opacity:.75;font-weight:400}
.cert .cb{padding:10px 14px;font-size:12.5px;color:var(--body2);line-height:1.6}
.cert .cb .mono{font-size:11px}

.driftbanner{padding:12px 16px;border-radius:8px;margin-bottom:16px;font-size:13px;line-height:1.55}
.driftbanner.bad{border-left:3px solid var(--danger);background:var(--block-bg);color:var(--body2)}
.driftbanner.na{border-left:3px solid var(--line);background:var(--wash);color:var(--body2)}
.mixrow{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin:14px 0}
@media(max-width:760px){.mixrow{grid-template-columns:1fr}}
.mixcard{background:var(--surface);border:1px solid var(--line);border-radius:8px;padding:12px 15px}
.mixcard .t{font-size:12.5px;font-weight:600;color:var(--ink);margin-bottom:8px}
.bar{display:grid;grid-template-columns:150px 1fr 46px;gap:8px;align-items:center;font-size:11.5px;color:var(--body2);padding:3px 0}
.bar .tr{height:9px;border-radius:5px;background:var(--wash);overflow:hidden}
.bar .tr i{display:block;height:100%;background:var(--accent);border-radius:5px}
.bar .tr i.warn{background:var(--warn)}
.bar .pc{font-family:var(--mono);font-size:10.5px;text-align:right}

.evtbl{border-collapse:collapse;width:100%;font-size:12px}
.evtbl th,.evtbl td{border-bottom:1px solid var(--line2);padding:7px 9px;text-align:left}
.evtbl th{font-family:var(--mono);font-size:10px;text-transform:uppercase;letter-spacing:.05em;color:var(--cap);font-weight:500}
.evtbl td{font-family:var(--mono);font-size:11px;color:var(--body2)}
.evtbl td.sans{font-family:var(--sans);font-size:12px}
.evh{font-family:var(--mono);font-size:10.5px;letter-spacing:.08em;text-transform:uppercase;color:var(--cap);margin:20px 0 10px}
.evbody{max-width:82ch;color:var(--body);font-size:14px}
.evbody h3{font-size:15px;color:var(--ink);margin:20px 0 8px}
.foot{margin-top:34px;font-family:var(--mono);font-size:11px;color:var(--cap)}
