
.fig-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(200px, 1fr)); gap: .8rem; }
.fig-card { display: flex; flex-direction: column; border: 1px solid #e0e0e0; border-radius: 4px; padding: .4rem;
  text-decoration: none; font-size: .7rem; color: inherit; background: #fff; }
.fig-card img { width: 100%; height: 130px; object-fit: contain; background: #fafafa; }
.fig-card span { margin-top: .3rem; }
.ms-fig { margin: .5rem 0 1rem; }
.ms { width: 100%; max-width: 640px; height: auto; font-family: inherit; }
.ms-frame { fill: #fafafa; stroke: #c5c5c5; }
.ms-time { fill: #26a69a; fill-opacity: .14; stroke: #26a69a; stroke-dasharray: 4 3; }
.ms-val { fill: #3f51b5; stroke: #3f51b5; stroke-opacity: .5; }
.ms-acc { fill: none; stroke: #e65100; stroke-width: 1.5; stroke-dasharray: 5 3; }
.ms-zero { stroke: #616161; stroke-width: .8; }
.ms-tick { font-size: 10px; fill: #616161; }
.ms-lab { font-size: 11px; fill: #424242; }
.ms-legend { font-size: .7rem; color: #555; margin-top: .25rem; }
.ms-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)); gap: .5rem; }
.ms-grid svg { max-width: 340px; }
.ms-key { display: inline-block; width: .9em; height: .9em; vertical-align: -.1em; border-radius: 2px; }
.ms-key-time { background: rgba(38,166,154,.25); border: 1px dashed #26a69a; }
.ms-key-val { background: rgba(63,81,181,.5); }
.ms-key-acc { border: 1.5px dashed #e65100; }
.md-typeset td:first-child code { white-space: nowrap; word-break: normal; overflow-wrap: normal; }
.tc { margin: .6rem 0 1.2rem; font-size: .7rem; }
.tc-row { display: grid; grid-template-columns: 12rem minmax(0, 1fr); gap: .2rem 1rem; align-items: start; padding: .45rem 0;
  border-top: 1px solid var(--md-default-fg-color--lightest); }
.tc-row > .tc-txt { grid-column: 2; }
.tc-head { border-top: none; padding-bottom: 0; color: var(--md-default-fg-color--light); font-size: .62rem; }
@media (max-width: 40rem) { .tc-row { grid-template-columns: 1fr; } .tc-row > .tc-txt { grid-column: 1; } }
.tc-node { font-weight: 700; position: relative; padding-left: 1rem; }
.tc-route .tc-row > .tc-txt { grid-column: 2; }
.tc-node::before { content: ""; position: absolute; left: .2rem; top: .35rem; width: .5rem; height: .5rem; border-radius: 50%;
  background: var(--md-accent-fg-color); }
.tc-row:not(.tc-head):not(:last-child) .tc-node::after { content: ""; position: absolute; left: .42rem; top: .9rem; height: calc(100% + .5rem);
  border-left: 2px solid var(--md-default-fg-color--lightest); }
.tc-bar { width: 100%; max-width: 18rem; height: auto; display: block; margin-top: .2rem; }
.tc-tick { stroke: var(--md-default-fg-color--lightest); stroke-width: 1; }
.tc-off { fill: var(--md-accent-fg-color); fill-opacity: .25; stroke: var(--md-accent-fg-color); stroke-width: 1; }
.tc-res { fill: var(--md-accent-fg-color); stroke: var(--md-accent-fg-color); stroke-width: 1; }
.tc-na, .tc-ax { fill: var(--md-default-fg-color--light); font-size: 9px; text-anchor: middle; }
.tc-meta { margin-bottom: .15rem; }
.tc-kind { text-transform: uppercase; letter-spacing: .04em; font-size: .58rem; font-weight: 700; color: var(--md-default-fg-color--light); }
.tc-st { font-size: .58rem; padding: 0 .3rem; border-radius: .2rem; border: 1px solid var(--md-default-fg-color--lighter); }
.tc-measured { border-style: solid; }
.tc-estimated, .tc-assumed { border-style: dashed; }
.tc-rng { font-weight: 600; }
