h2{margin:0 0 12px;font-size:19px;line-height:1.3}
h3{margin:20px 0 8px;font-size:14px;color:var(--muted);font-weight:600}
.chips{display:flex;flex-wrap:wrap;gap:8px;margin-top:16px!important}
.small{font-size:14px}
.nowrap{white-space:nowrap}
.r{text-align:right}
.btns{display:flex;flex-wrap:wrap;gap:8px}
.scen{margin:16px 0}
.hint{margin:12px 0 0;min-height:1.55em}
.hint:empty{display:none}
.play{display:grid;gap:16px;grid-template-columns:minmax(0,1fr);align-items:start}
.side{display:grid;gap:16px;min-width:0}
.block{margin-top:16px}
.clock{margin:0 0 12px;font-size:clamp(22px,4vw,30px);font-weight:700;line-height:1.2}
.facts{margin:0;display:grid;gap:0}
.facts div{display:flex;justify-content:space-between;gap:12px;padding:7px 0;border-bottom:1px solid var(--edge);font-size:14px}
.facts div:last-child{border-bottom:0}
.facts dt{color:var(--muted)}
.facts dd{margin:0;text-align:right;overflow-wrap:anywhere}
.fields{display:grid;gap:12px}
.field label{display:block;margin-bottom:4px}
.head-row{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;margin-bottom:12px}
.head-row h2{margin:0}
.inline-field{display:flex;align-items:center;gap:8px}
.inline-field select{width:auto}
.big{margin:0 0 8px;display:flex;align-items:baseline;gap:10px;flex-wrap:wrap}
.big b{font-size:40px;line-height:1.1}
.big span{color:var(--muted)}
.bar{height:10px;border-radius:999px;background:var(--bg2);border:1px solid var(--edge);overflow:hidden;margin:8px 0}
.bar span{display:block;height:100%;background:var(--brand)}
.cycle{list-style:none;margin:8px 0 0;padding:0;display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:6px}
.cycle li{border:1px solid var(--edge);border-radius:10px;padding:6px 2px;text-align:center;font-size:12px;line-height:1.3}
.cycle li span{display:block;color:var(--muted)}
.cycle li b{font-size:15px}
.cycle li.on{background:var(--chip);border-color:var(--chip-edge);color:var(--chip-ink)}
.cycle li.on span{color:var(--chip-ink)}
.quests{list-style:none;margin:0;padding:0;display:grid;gap:14px}
.quests p{margin:0}
.q-top{display:flex;justify-content:space-between;gap:12px;font-weight:600}
.q-n{white-space:nowrap}
.tag{display:inline-block;padding:0 7px;border:1px solid currentColor;border-radius:999px;font-size:12px;font-weight:600;line-height:1.5;vertical-align:1px}
.tag.warn{color:var(--warn)}
.tag.good{color:var(--good)}
tr.me td{background:var(--chip);color:var(--chip-ink);font-weight:700}
.log td{font-size:14px}
.log tr.warn .res{color:var(--warn)}
.log tr.bad .res{color:var(--bad)}
.log tr.good .res{color:var(--good)}
.code{margin:0;padding:14px;background:var(--bg2);border:1px solid var(--edge);border-radius:10px;font:13px/1.5 var(--mono);white-space:pre-wrap;overflow-wrap:anywhere}
@media (min-width:640px){.fields{grid-template-columns:repeat(3,minmax(0,1fr))}.fields .field:first-child{grid-column:1/-1}}
@media (min-width:960px){.play{grid-template-columns:minmax(0,1.1fr) minmax(0,1fr)}.play>.card{position:sticky;top:16px}.fields{grid-template-columns:1fr 1fr}}
@media (max-width:640px){.log thead{display:none}.log tr{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:2px 14px;padding:10px 0;border-bottom:1px solid var(--edge)}.log td{border:0;padding:0}.log td:first-child{grid-column:1/-1}.log td.num:not(:empty)::before{content:attr(data-k) " ";color:var(--muted)}}
@media (max-width:420px){.cycle li{font-size:12px}.cycle li b{font-size:14px}th,td{padding:8px 6px}}
