/* ── THE MODEL CHIP and its moving ring — ONE copy, loaded by Sessions & Accounts (sessions.html) and the
   dashboard's Terminals panel (dashboard.html). Moved here unchanged from public/sessions.html:76 and :85-109
   (L-panel1, Isaac 1 Oct 2026: "the same function that we have on the session and accounts … a motion and a tag
   on the model"), so the two pages can never drift apart. Lifted from the Master Roofing handovers board, scaled
   from a card to a chip. Two tiers, because a signal has to persist before the visual escalates:
     .warm  — a green outline fading in and out IN PLACE (30-60s of work)
     .strm  — a green arc travelling around the chip (60s+, confirmed) */
.model { display:inline-block; font-weight:800; font-size:11px; padding:2px 8px; border-radius:6px; white-space:nowrap; }
@property --sbrd { syntax:'<angle>'; initial-value:0deg; inherits:false; }
.model.warm, .model.strm { position:relative; }
.model.strm::after {
  content:''; position:absolute; inset:-2px; border-radius:8px; padding:2px; z-index:2; pointer-events:none;
  background:conic-gradient(from var(--sbrd), transparent 0deg 205deg, #3fb950 265deg, #7ee787 315deg, #3fb950 345deg, transparent 360deg);
  -webkit-mask:linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0);
          mask:linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0);
  -webkit-mask-composite:xor; mask-composite:exclude;
  animation:sstream 1.25s linear infinite;
}
@keyframes sstream { to { --sbrd:360deg; } }
.model.warm::after {
  content:''; position:absolute; inset:-2px; border-radius:8px; padding:2px; z-index:2; pointer-events:none;
  background:#3fb950;
  -webkit-mask:linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0);
          mask:linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0);
  -webkit-mask-composite:xor; mask-composite:exclude;
  animation:swarm 1.05s ease-in-out infinite;
}
@keyframes swarm { 0%,100%{opacity:.1} 50%{opacity:.85} }

/* L-panel1 additions, used only when the caller passes options (the Sessions page's chip is unchanged):
   the effort part of the label, a model that cannot run yet (dashed, no colour), a model mid hand-over. */
.model .eff { font-weight:600; opacity:.85; }
.model.wait { color:#7d8590 !important; background:transparent !important; border:1px dashed #4a4458 !important; font-weight:700; }
.model.hand { box-shadow:0 0 0 1px #bc8cff inset; }
