/* ct.css : the contraction timer, shared by the course and the "now" screen. */
/* Contraction timer */
.ct-wrap{background:#fff;border:1px solid #E0E8D8;border-radius:16px;padding:1rem .9rem;margin:1rem 0}
.ct-wrap h4{margin:0 0 .7rem;text-align:center;color:var(--green);font-size:1rem}
.ct-rule{display:flex;gap:.4rem;align-items:center;justify-content:center;flex-wrap:wrap;margin-bottom:.9rem;font-size:.8rem;color:#666}
.ct-rule-btn{font:inherit;font-size:.8rem;font-weight:700;padding:.35rem .8rem;border-radius:999px;cursor:pointer;
  border:1px solid #D5E0CA;background:#F7FAF4;color:#4A5A42;transition:.15s}
.ct-rule-btn.is-on{background:var(--green);border-color:var(--green);color:#fff}
.ct-rule-btn:focus-visible{outline:2px solid var(--gold);outline-offset:2px}
.ct-clock{font-size:3.1rem;font-weight:900;text-align:center;color:var(--green);
  font-variant-numeric:tabular-nums;font-family:ui-monospace,Menlo,monospace;line-height:1.05;margin:.2rem 0}
.ct-clock.is-live{color:#C62828}
.ct-sub{text-align:center;font-size:.82rem;color:#777;margin-bottom:.8rem;min-height:1.2em}
.ct-sub.is-warn{color:#C62828;font-weight:700}
.ct-main{display:block;width:100%;padding:1.05rem;border:none;border-radius:16px;cursor:pointer;
  font:inherit;font-size:1.08rem;font-weight:800;color:#fff;background:var(--green);
  box-shadow:0 4px 14px rgba(45,80,22,.22);transition:.15s;-webkit-tap-highlight-color:transparent}
.ct-main.is-end{background:#C62828;box-shadow:0 4px 14px rgba(198,40,40,.24)}
.ct-main:active{transform:scale(.985)}
.ct-main:focus-visible{outline:3px solid var(--gold);outline-offset:2px}
.ct-crit{display:grid;grid-template-columns:1fr 1fr 1fr;gap:.4rem;margin:.9rem 0 .6rem}
.ct-chip{background:#F5F7F2;border:1px solid #E2E9DA;border-radius:11px;padding:.5rem .35rem;text-align:center}
.ct-chip.is-ok{background:#EDF7E8;border-color:#BBD9A8}
.ct-chip-i{display:block;font-size:.9rem;font-weight:900;color:#B9C4B0;line-height:1}
.ct-chip.is-ok .ct-chip-i{color:#3E7D22}
.ct-chip-l{display:block;font-size:.67rem;color:#6B7A63;font-weight:700;margin:.2rem 0 .1rem;line-height:1.25}
.ct-chip-v{display:block;font-size:.82rem;font-weight:800;color:#2E3A28;font-variant-numeric:tabular-nums}
.ct-verdict{border-radius:12px;padding:.7rem .8rem;margin-bottom:.7rem;font-size:.86rem;line-height:1.45}
.ct-verdict strong{display:block;margin-bottom:.15rem;font-size:.92rem}
.ct-verdict.is-few{background:#F5F7F2;color:#5A6B52;border:1px solid #E2E9DA}
.ct-verdict.is-watch{background:#FFF8E6;color:#7A5A05;border:1px solid #F0DFA8}
.ct-verdict.is-go{background:#FDECEA;color:#9E2B1B;border:1px solid #F2C2B8}
.ct-an{margin-bottom:.7rem}
.ct-an.is-on{border-radius:12px;padding:.75rem .85rem;background:#F1F6ED;border:1px solid #D6E5CA}
.ct-an.is-warn{background:#FDECEA;border-color:#F2C2B8}
.ct-an-head{font-size:.9rem;font-weight:800;color:#2F5220;margin-bottom:.4rem;line-height:1.4}
.ct-an.is-warn .ct-an-head{color:#9E2B1B}
.ct-trend{display:inline-block;margin-inline-start:.4rem;font-size:.7rem;font-weight:700;
  padding:.1rem .45rem;border-radius:999px;background:#fff;border:1px solid #CFDCC3;color:#5A6B4B;vertical-align:middle}
.ct-trend-building{border-color:#E8B67A;color:#8A5A16}
.ct-trend-easing{border-color:#B6C9D6;color:#4A6B7A}
.ct-an-do{margin:0;padding-inline-start:1.15rem;display:grid;gap:.25rem}
.ct-an-do li{font-size:.83rem;line-height:1.5;color:#3F4F36}
.ct-an.is-warn .ct-an-do li{color:#7A2A1C}
.ct-stats{font-size:.75rem;color:#8A9682;text-align:center;margin-bottom:.4rem}
.ct-log{max-height:230px;overflow-y:auto;background:#FAFBF8;border:1px solid #ECF1E7;border-radius:11px;padding:.35rem}
.ct-empty{color:#A8B3A0;font-size:.84rem;text-align:center;padding:.9rem}
.ct-row{display:grid;grid-template-columns:1.7rem 3.1rem 1fr auto 1.7rem;gap:.35rem;align-items:center;
  padding:.4rem .3rem;border-bottom:1px solid #F0F4EC;font-size:.79rem;color:#4A5A42}
.ct-row:last-child{border-bottom:none}
.ct-n{color:#A8B3A0;font-weight:700;font-variant-numeric:tabular-nums}
.ct-time{font-variant-numeric:tabular-nums;color:#6B7A63;font-weight:600}
.ct-dur{font-weight:700;color:#2E3A28}
.ct-gap{color:#8A9682;white-space:nowrap}
.ct-del{border:none;background:none;color:#C4CDBD;cursor:pointer;font-size:.9rem;line-height:1;padding:.2rem}
.ct-del:hover,.ct-del:focus-visible{color:#C62828}
.ct-del:focus-visible{outline:2px solid var(--gold);outline-offset:1px;border-radius:4px}
.ct-reset{display:block;margin:.7rem auto 0;padding:.45rem 1.1rem;border-radius:999px;border:1px solid #DDE5D5;
  background:#fff;color:#6B7A63;font:inherit;font-size:.8rem;font-weight:700;cursor:pointer}
.ct-reset:focus-visible{outline:2px solid var(--gold);outline-offset:2px}
.ct-warn{margin-top:.9rem;background:#FDECEA;border:1px solid #F2C2B8;border-radius:11px;
  padding:.65rem .75rem;font-size:.8rem;line-height:1.5;color:#8C2B1D}
.ct-note{margin-top:.5rem;font-size:.73rem;color:#98A390;text-align:center;line-height:1.45}
@media (max-width:380px){.ct-crit{grid-template-columns:1fr}.ct-clock{font-size:2.6rem}}
