/* duty.css — the duty screen. */
/* ── duty / FTL ── */
.opcard{border:1px solid rgba(61,155,255,.4);background:color-mix(in srgb,var(--flt) 7%,var(--surface));border-radius:16px;padding:16px;margin-bottom:14px}
.opcard.none{border-color:var(--line);background:var(--surface)}
.opcard .rt3{font-size:20px;font-weight:700;margin-bottom:2px}
.opcard .sm{color:var(--dim);font-size:12px;font-family:var(--mono);margin-bottom:14px}
.ops{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px}
.op{background:var(--raise);border:1px solid var(--line);border-radius:12px;padding:11px 13px}
.op .k{font-size:10px;color:var(--faint);text-transform:uppercase;letter-spacing:.7px}
.op .v{font-family:var(--mono);font-size:22px;font-weight:700;margin-top:2px;line-height:1.15}
.op .s{font-size:10px;color:var(--faint);font-family:var(--mono);margin-top:2px}
.op.hero{border-color:rgba(56,210,154,.45);background:color-mix(in srgb,var(--air) 9%,var(--raise))}
.op.hero .v{color:var(--air)}
.op.warn2{border-color:rgba(255,202,74,.45)}.op.warn2 .v{color:var(--trn)}
.gauge{margin-bottom:9px}
.gauge .gh{display:flex;align-items:baseline;gap:8px;font-size:12px;margin-bottom:4px}
.gauge .gh b{font-weight:650}
.gauge .gh .rem{margin-left:auto;font-family:var(--mono);font-size:11px;color:var(--dim)}
.bar{height:11px;border-radius:8px;background:var(--track);overflow:hidden;border:1px solid var(--line)}
.bar i{display:block;height:100%;background:var(--air);border-radius:8px}
/* A limit at 80%+ has to be impossible to miss — it is a safety figure, not decoration. */
.bar.g-warn i{background:var(--trn)}
:root:not([data-theme="light"]) .bar.g-warn i{box-shadow:0 0 12px rgba(255,202,74,.65)}
.bar.g-over i{background:var(--bad)}
:root:not([data-theme="light"]) .bar.g-over i{box-shadow:0 0 12px rgba(255,93,108,.7)}
.gauge.g-warn .gh b,.gauge.g-warn .gh .rem{color:var(--trn)}
.gauge.g-over .gh b,.gauge.g-over .gh .rem{color:var(--bad)}
.gauge .gh .tag2{font-size:10px;font-weight:800;letter-spacing:.6px;padding:1px 6px;border-radius:999px}
.gauge.g-warn .gh .tag2{background:rgba(255,202,74,.16);color:var(--trn)}
.gauge.g-over .gh .tag2{background:rgba(255,93,108,.16);color:var(--bad)}
/* Five lines of caveat sat open under every duty card and pushed the numbers a
   pilot reads mid-delay off the screen. Still one tap away, and still exact. */
.assume{font-size:11px;color:var(--faint);line-height:1.6;border:1px dashed var(--line);border-radius:12px;padding:10px 12px;margin-top:12px}
.restnote{font-size:12px;line-height:1.6;margin-top:12px;padding:10px 12px;border-radius:12px;
  border:1px solid rgba(255,202,74,.45);background:rgba(255,202,74,.08);color:var(--dim)}
.restnote b{color:var(--trn);font-weight:600}
.restnote div{margin-top:4px}
.restnote .rn2{color:var(--faint);font-size:11px;margin-top:6px}
.assume b{color:var(--dim);font-weight:600}
.assume summary{cursor:pointer;color:var(--dim);font-weight:600;list-style:none}
.assume summary::-webkit-details-marker{display:none}
.assume summary::before{content:'▸ ';color:var(--faint)}
.assume[open] summary::before{content:'▾ '}
.assume[open] summary{margin-bottom:6px}
.dutyrow{display:flex;align-items:center;gap:10px;padding:9px 13px;border:1px solid var(--line);border-radius:12px;background:var(--surface);margin-bottom:6px;flex-wrap:wrap}
.dutyrow .rt4{font-weight:600;min-width:120px}
.dutyrow .mono{font-family:var(--mono);font-size:11px;color:var(--faint)}
.dutyrow .fdp{margin-left:auto;font-family:var(--mono);font-size:12px;font-weight:650}
.dutyrow.tight .fdp{color:var(--trn)}
.dutyrow.bust .fdp{color:var(--bad)}
