/* IoT and edge page */

/* Text inside the drawings */
.io-mono,.motion-svg .io-mono{font-family:var(--font-mono);font-size:14px;fill:var(--ink);text-anchor:start}
.motion-svg .io-mono.r{fill:#9F1239}
.motion-svg .io-mono.g{fill:#15803D}
#m-io-fault .io-mono{font-size:13px}
.motion-svg .tag .io-count{font-size:14px;font-weight:700}

/* Code samples and side cards */
.na-code{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-top:24px}
.na-code.two{grid-template-columns:repeat(2,minmax(0,1fr))}
.na-code .card{min-width:0;display:flex;flex-direction:column;gap:12px}
.na-code .card h3{font-size:var(--fs-h4);margin:0}
.na-code pre{margin:0;padding:14px 16px;background:var(--navy);color:#E2E8F0;border-radius:var(--radius);overflow:auto;font-size:.8rem;line-height:1.65}
.na-code pre code{font-size:inherit;color:inherit;background:none;padding:0}
.na-small{font-size:.92rem;color:var(--muted);margin:14px 0 0;max-width:75ch}
.na-code .na-small,.io-tool .na-small{margin:0}
.na-list{margin:0;padding-left:1.1rem;display:grid;gap:.5rem;font-size:.95rem}
.na-list b{color:var(--ink)}

/* Small tools */
.io-tool{display:flex;flex-direction:column;gap:14px;min-width:0}
#io-pick{margin-top:24px}
.io-tool h3{font-size:var(--fs-h4);margin:0}
.io-pick-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px 16px}
.io-pick-grid.two{grid-template-columns:repeat(2,minmax(0,1fr))}
.io-pick-grid label{display:flex;flex-direction:column;gap:6px;font-size:.85rem;font-weight:600;color:var(--ink);min-width:0}
.io-pick-grid select,.io-pick-grid input{font:inherit;font-weight:400;font-size:.95rem;color:var(--text);background:var(--surface);border:1px solid var(--line-strong);border-radius:10px;padding:.55rem .7rem;width:100%;min-width:0}
.io-pick-grid input[type=text]{font-family:var(--font-mono);font-size:.88rem}
.io-pick-grid select:focus-visible,.io-pick-grid input:focus-visible{outline:2px solid var(--orange);outline-offset:2px}
.io-result{margin:0;padding:12px 14px;border-radius:var(--radius);background:var(--surface-2);border-left:4px solid var(--cyan);font-size:.95rem;line-height:1.55;color:var(--text)}
.io-result.ok{border-left-color:#16A34A}
.io-result.no{border-left-color:#E11D48}
.io-result b{color:var(--ink)}

/* Segmentation matrix */
.io-matrix td.ok{color:#166534;font-weight:600;background:#F0FDF4}
.io-matrix td.no{color:#9F1239;background:#FFF1F2}

/* Fault finder: symptoms listed down the panel */
.motion-states.vertical{flex-direction:column;flex-wrap:nowrap;width:100%}
.motion-states.vertical button{display:flex;justify-content:space-between;align-items:center;gap:12px;text-align:left;white-space:normal;padding:.5rem .8rem}
.na-fault dl{margin:0;display:grid;grid-template-columns:96px 1fr;gap:6px 12px;font-size:.88rem}
.na-fault dt{font-size:.72rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--subtle);padding-top:2px}
.na-fault dd{margin:0;color:var(--text);line-height:1.5}

/* Fallbacks without the script */
.na-nojs{display:none}
.no-js .na-nojs{display:grid}
.no-js .na-jsonly{display:none}

@media (max-width:1000px){.na-code,.na-code.two{grid-template-columns:1fr}}
@media (max-width:700px){
  .io-pick-grid,.io-pick-grid.two{grid-template-columns:1fr}
  .na-fault dl{grid-template-columns:1fr;gap:2px}.na-fault dd{margin-bottom:8px}
}
.io-result .io-fit{display:block}
.io-result .io-fit+.io-fit{margin-top:8px}
#io-topic table code{font-size:.78rem}
#io-topic td:last-child,#io-topic th:last-child{min-width:10rem}
