/* Global Reach API — Global Reach One. Loaded with loadtest.css, whose form, preview, estimate,
   confirmation and table styles it shares; only what is particular to this page is here. */

textarea {
    width: 100%;
    font: inherit;
    font-size: 13px;
    padding: 8px 10px;
    border: 1px solid var(--border);
    border-radius: 8px;
    background: var(--surface);
    color: var(--ink);
    resize: vertical;
    box-sizing: border-box;
}

.preview .term.bad code { color: var(--bad); }

.tbl.nc { width: 100%; }
.tbl.nc td { vertical-align: top; }
.tbl.nc .nc-q { font-size: 11.5px; color: var(--ink-2); word-break: break-word; }
.tbl.nc .nc-file { font-size: 11px; color: var(--ink-3); word-break: break-all; }
.tbl.nc .nc-step { color: var(--ink-2); font-size: 12.5px; }
.tbl.nc .nc-ok { color: var(--good); font-size: 12.5px; font-weight: 600; }
.tbl.nc .nc-err { color: var(--bad); font-size: 12.5px; }
.tbl.nc .nc-act { width: 1%; white-space: nowrap; text-align: right; }
.tbl.nc tr.nc-searching .nc-step::before,
.tbl.nc tr.nc-opening .nc-step::before,
.tbl.nc tr.nc-assembling .nc-step::before {
    content: "";
    display: inline-block;
    width: 8px;
    height: 8px;
    margin-right: 7px;
    border-radius: 50%;
    background: var(--accent);
    animation: nc-pulse 1.2s ease-in-out infinite;
}

@keyframes nc-pulse { 50% { opacity: .25; } }

@media (prefers-reduced-motion: reduce) {
    .tbl.nc tr .nc-step::before { animation: none; }
}

/* SerpApi reference line under a name's progress */
.tbl.nc .nc-ref { margin-top: 6px; font-size: 12px; color: var(--ink-2); line-height: 1.45; padding-left: 8px; border-left: 3px solid var(--rule, #dfe3e8); }
.tbl.nc .nc-ref b { color: var(--ink); }
.tbl.nc .nc-ref-close { border-left-color: var(--good); }
.tbl.nc .nc-ref-mid { border-left-color: #c98a00; }
.tbl.nc .nc-ref-far, .tbl.nc .nc-ref-err { border-left-color: var(--bad); }
