/* Orbit helper (assets/js/tools/orbit.js) */
.orb > .tl-card { margin: 0 0 1rem; }
.orb .orb-red { color: var(--card-red); }
.orb-mrow { display: flex; align-items: center; justify-content: space-between; gap: .5rem; }
.orb-mrow .tl-btn { min-width: 48px; font-size: 1.4rem; line-height: 1; }
.orb-mnum { display: grid; text-align: center; }
.orb-mnum strong { font-size: 1.8rem; line-height: 1.1; }
.orb-mnum span { font-size: 1.2rem; }
.orb-flag { font-weight: 700; text-align: center; }
.orb-att { margin: .5rem 0; }
.tl-btn.orb-small { min-height: 44px; padding: .2rem .7rem; font-size: .95rem; }
.tl-btn.orb-wide { width: 100%; text-align: left; }
.orb-vars { display: grid; gap: .5rem; margin: .5rem 0; }
.tl-btn.orb-reset { margin-top: .5rem; color: var(--card-red); }
.orb details summary, .orb-sig summary { cursor: pointer; min-height: 44px; display: flex; align-items: center; font-weight: 700; }
.orb-log table { width: 100%; border-collapse: collapse; font-variant-numeric: lining-nums tabular-nums; }
.orb-log th, .orb-log td { text-align: left; padding: .25rem .4rem; border-bottom: 1px solid var(--card-rule); }
.orb-status { display: flex; flex-wrap: wrap; justify-content: space-between; gap: .3rem 1rem; align-items: baseline; margin: .3rem 0 .6rem; font-size: 1.15rem; }
.orb-sum { font-variant-numeric: lining-nums tabular-nums; }
.orb-tiles { display: grid; grid-template-columns: repeat(auto-fill, minmax(10rem, 1fr)); gap: .5rem; }
.orb-tile {
  font: inherit; color: var(--card-ink); background: var(--card); text-align: left; cursor: pointer;
  display: grid; gap: .2rem; align-content: start; min-height: 44px;
  border: 2px solid var(--card-line); border-radius: 8px; padding: .45rem .6rem; line-height: 1.3;
}
.orb-tile[disabled] { cursor: default; background: var(--card); border-style: dashed; border-color: var(--card-rule); }
.orb-tile[disabled] .orb-code, .orb-tile[disabled] .orb-text, .orb-tile[disabled] .orb-dots { opacity: .5; }
.orb-tile-top { display: flex; justify-content: space-between; align-items: baseline; }
.orb-code { font-size: 1.5rem; font-weight: 800; font-family: "Suits", var(--serif); font-variant-numeric: lining-nums; }
.orb-inline { font-weight: 700; font-family: "Suits", var(--serif); font-style: normal; }
.orb-dots { letter-spacing: .1em; font-size: .9rem; white-space: nowrap; }
.orb-text { font-size: 1rem; }
.orb-why { font-size: .85rem; font-style: italic; color: var(--card-red); }
.orb-final { margin: .6rem 0; }
.orb-seat { border-top: 1px solid var(--card-rule); padding: .3rem 0; }
.orb-seat h4 { margin: .2rem 0; font-size: 1.1rem; }
.orb-seat ul { list-style: none; margin: 0; padding: 0; }
.orb-seat .tl-note { margin: 0; }
.orb-task { display: flex; flex-wrap: wrap; align-items: baseline; gap: .1rem .5rem; margin: .2rem 0; }
.orb-task .orb-code { font-size: 1.2rem; }
.orb-task .tl-btn { margin-left: auto; }
.orb-big .orb-seat h4 { font-size: 1.5rem; }
.orb-big .orb-task { font-size: 1.35rem; line-height: 1.3; margin: .4rem 0; }
.orb-big .orb-task .orb-code { font-size: 1.9rem; }
.orb-big .orb-task .orb-text { font-size: 1.35rem; font-weight: 600; }
.orb-big .orb-none h4 { font-size: 1.15rem; opacity: .7; }
.orb-sig ul { margin: .3rem 0; padding-left: 1.2rem; }
