/* Scene "monitor" — support status board */
.mn { position: absolute; inset: 0; display: grid; grid-template-rows: auto auto auto minmax(0, 1fr); gap: 12px; padding: 16px; font-size: 13px; }
.mn-head { display: flex; align-items: center; justify-content: space-between; gap: 10px; }
.mn-site { font-size: 12px; color: var(--muted); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.mn-site::before { content: ""; display: inline-block; width: 7px; height: 7px; margin-right: 8px; border-radius: 50%; background: var(--mint); box-shadow: 0 0 8px var(--mint); vertical-align: 1px; }
.mn-overall { flex: none; transition: all 0.4s var(--ease); }
.mn-chart { position: relative; height: 64px; border-radius: 10px; border: 1px solid var(--line); background: rgba(5, 10, 28, 0.55); overflow: hidden; }
.mn-chart svg { position: absolute; inset: 18px 0 0; width: 100%; height: calc(100% - 18px); }
.mn-chart-k { position: absolute; left: 10px; top: 6px; font-size: 10px; letter-spacing: 0.08em; text-transform: uppercase; color: var(--dim); }
.mn-line { fill: none; stroke: var(--cyan); stroke-width: 1.2; vector-effect: non-scaling-stroke; filter: drop-shadow(0 0 4px rgba(70, 225, 255, 0.7)); }
.mn-area { fill: rgba(70, 225, 255, 0.08); }
.mn-rows { display: grid; grid-template-columns: 1fr 1fr; gap: 6px; }
.mn-row { display: flex; align-items: center; justify-content: space-between; gap: 8px; padding: 7px 10px; border-radius: 8px; border: 1px solid var(--line); background: rgba(140, 165, 255, 0.04); transition: border-color 0.4s, background 0.4s; min-width: 0; }
.mn-row.is-warn { border-color: rgba(255, 190, 92, 0.5); background: rgba(255, 190, 92, 0.07); }
.mn-k { font-size: 12px; color: var(--muted); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.mn-s { flex: none; height: 20px; font-size: 9.5px; transition: all 0.35s var(--ease); }
.mn-s.is-run { color: var(--cyan); border-color: rgba(70, 225, 255, 0.45); }
.mn-log { display: flex; flex-direction: column; gap: 6px; overflow: hidden; border-top: 1px dashed var(--line-2); padding-top: 10px; }
.mn-entry { display: flex; align-items: flex-start; gap: 9px; font-size: 11.5px; line-height: 1.45; color: var(--muted); opacity: 0; transform: translateY(-6px); transition: opacity 0.45s var(--ease), transform 0.5s var(--ease), color 0.4s; }
.mn-entry.is-in { opacity: 1; transform: none; }
.mn-entry i { flex: none; width: 8px; height: 8px; margin-top: 5px; border-radius: 50%; background: var(--mint); }
.mn-entry.is-warn { color: var(--text); }
.mn-entry.is-warn i { background: var(--amber); box-shadow: 0 0 10px var(--amber); animation: pulse 1.4s infinite; }
@media (max-width: 560px) {
  .mn { padding: 12px; gap: 10px; }
  .mn-chart { height: 52px; }
  .mn-row { padding: 6px 8px; }
  .mn-k { font-size: 11px; }
  .mn-s { font-size: 8.5px; padding: 0 5px; }
}
