:root{font-family:system-ui,"Microsoft YaHei",sans-serif;color:#e7edf4;background:#101a25;font-size:16px}*{box-sizing:border-box}body{margin:0}main{max-width:860px;margin:auto;padding:40px 24px}header,.row{display:flex;gap:12px;align-items:center}header{justify-content:space-between}.brand{font-size:13px;letter-spacing:2px;color:#8bcdbb}.badge{border:1px solid #4a6274;padding:5px 12px;border-radius:20px;font-size:12px}h1{font-size:clamp(28px,6vw,42px);margin:40px 0 8px;letter-spacing:-1px}.intro,p,footer{color:#adbecd;line-height:1.7}section{background:#192736;border:1px solid #304252;border-radius:12px;padding:24px;margin-top:20px}h2{font-size:19px;margin:0 0 16px}label{display:block;margin:12px 0 8px;color:#c9d7e2;font-size:14px}input,select,button{font:inherit;border-radius:7px;border:1px solid #4b6073;padding:12px;min-width:0}input,select{background:#101c29;color:#f0f5fa;width:100%}.row input{flex:1}.row button{flex-shrink:0}select{margin-top:4px}button{background:#2c4355;color:white;cursor:pointer}button:hover{background:#3b586d}button:disabled{opacity:.5;cursor:wait}.primary{background:#8bcdbb;color:#10231e;font-weight:700;width:100%;margin-top:20px}.odds{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.odds label{margin:0}.odds input{margin-top:8px}.muted{font-size:13px;font-weight:400;color:#9cafbe}.probability{border-left:2px solid #8bcdbb;padding:8px 14px}.probability strong{display:block;font-size:28px;margin-top:8px}.advice{background:#223648;border-radius:8px;margin-top:24px;padding:20px}.advice strong{color:#f0cf8b}li{line-height:1.8;color:#c2cfdb}dl{font-size:13px;overflow-wrap:anywhere}dt{color:#8ea6b9;margin-top:14px}dd{margin:5px 0;line-height:1.6}footer{font-size:13px;padding:24px 4px}#status,#progress,#fixture-info{font-size:14px}input:focus,button:focus,select:focus{outline:2px solid #8bcdbb;outline-offset:2px}@media(max-width:550px){main{padding:24px 16px}.row{flex-wrap:wrap}.row input{flex-basis:100%}.row button{width:100%}section{padding:18px}.odds{gap:10px}.probability{padding:6px}.probability strong{font-size:24px}}
.preview-choice{line-height:1.8}.preview-choice input{width:auto;margin-right:8px}table{width:100%;border-collapse:collapse;font-size:14px}th,td{text-align:left;padding:10px 4px;border-bottom:1px solid #304252}th{color:#8bcdbb}a{color:#8bcdbb}
main{max-width:1120px}.section-heading{display:flex;align-items:center;justify-content:space-between;gap:16px}.section-heading h2{margin:6px 0}.eyebrow{font-size:11px;letter-spacing:2px;color:#8bcdbb}.runtime-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:20px 0}.runtime-card{background:#101c29;padding:16px;border-radius:8px;min-width:0}.runtime-card span,.runtime-card small{display:block;color:#9cafbe;font-size:12px;line-height:1.6}.runtime-card strong{display:block;font-size:19px;margin:8px 0}.operation-tabs{display:flex;gap:8px;flex-wrap:wrap;border-bottom:1px solid #304252;padding-bottom:14px;margin:20px 0}.operation-tabs button[aria-selected=true]{background:#8bcdbb;color:#10231e}.log-filters{display:grid;grid-template-columns:1fr 1fr 2fr;gap:12px}.log-actions{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:12px 0}.log-actions label{margin:0}.log-actions input{width:auto}.table-scroll{overflow:auto;max-width:100%}.table-scroll table{min-width:650px}.table-scroll td{vertical-align:top;overflow-wrap:anywhere;max-width:350px;padding:12px 8px}.table-scroll th{white-space:nowrap}.table-scroll time{white-space:nowrap;font-size:12px}.log-level{padding:3px 7px;border-radius:5px;background:#263d4c;font-size:12px;white-space:nowrap}.log-level.warning{color:#f0cf8b;background:#453b26}.log-level.error{color:#ffb4b4;background:#512f37}details summary{cursor:pointer;color:#8bcdbb;font-size:13px}details dl{max-width:400px}.job-link{padding:0;border:0;background:none;font-size:11px;color:#8bcdbb;overflow-wrap:anywhere;text-align:left}.model-history,.summary-box{margin:16px 0;padding:16px;background:#101c29;border-radius:8px}.model-history h3,.summary-box h3{font-size:15px;overflow-wrap:anywhere}.model-history p{font-size:13px}#operations-status,#activity-status{font-size:13px}@media(max-width:700px){.runtime-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.log-filters{grid-template-columns:1fr 1fr}.log-filters label:last-child{grid-column:1/-1}.log-actions{align-items:flex-start;flex-direction:column}}
/* Task commands stay visible above the log tabs, including on narrow screens. */
.crossleague-table{overflow-x:auto}.crossleague-table table{min-width:540px}
.task-control-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(270px,1fr));gap:16px;margin:20px 0 12px}
.task-control-card{border:1px solid #304252;border-radius:12px;padding:20px;background:#132130}
.task-control-card h3{margin-top:0}.task-control-card p{min-height:3em;line-height:1.6;color:#adbecd}
.task-control-card strong{display:block;font-size:1.1rem}.task-control-card .row{gap:10px}
.task-control-card button:disabled{opacity:.45;cursor:not-allowed}
.task-control-card h4{margin-bottom:8px}.task-blockers{padding-left:20px;font-size:13px}.task-blockers li{margin-bottom:8px}
.acceptance-group{border-top:1px solid #304252;margin:20px 0;padding-top:12px}.acceptance-group>p{font-size:13px}
.acceptance-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:12px}
.acceptance-condition{background:#101c29;border:1px solid #304252;border-radius:9px;padding:16px;min-width:0}
.acceptance-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.acceptance-heading h4{margin:0;font-size:14px}
.acceptance-condition p{font-size:13px;margin-bottom:0;overflow-wrap:anywhere}.acceptance-badge{white-space:nowrap;border-radius:5px;font-size:12px;padding:3px 7px;background:#263d4c}
.acceptance-badge.passed{background:#183d35;color:#a0dfc5}.acceptance-badge.failed{background:#512f37;color:#ffb4b4}
.acceptance-badge.missing,.acceptance-badge.unknown{background:#453b26;color:#f0cf8b}
.manual-permission{margin-top:24px;padding:16px;background:#101c29;border-radius:9px}.manual-permission pre{white-space:pre-wrap;overflow-wrap:anywhere;font:13px/1.8 monospace;color:#c9d7e2}
@media(max-width:550px){.acceptance-grid{grid-template-columns:minmax(0,1fr)}}
