/* Domain / port scanner */
.sc-wrap { padding-bottom: calc(40px + env(safe-area-inset-bottom, 0px)); }
.sc-bar { display: grid; grid-template-columns: 1fr auto; gap: 8px; align-items: stretch; margin-bottom: 12px; }
.sc-bar .input { font-family: var(--font-mono, ui-monospace, Consolas, monospace); }
.sc-opts { display: flex; flex-wrap: wrap; gap: 10px 16px; margin: 0 0 14px; font-size: .9rem; color: var(--text-dim); }
.sc-opts label { display: inline-flex; align-items: center; gap: 6px; cursor: pointer; user-select: none; }
.sc-ports { display: flex; flex-wrap: wrap; gap: 8px; margin: 0 0 14px; }
.sc-ports label { display: inline-flex; align-items: center; gap: 5px; padding: 6px 10px; border: 1px solid var(--line); border-radius: 999px; background: var(--panel-2); font-size: .82rem; cursor: pointer; }
.sc-ports label.on, .sc-ports label:has(input:checked) { border-color: color-mix(in srgb, var(--accent, #3de8ff) 45%, var(--line)); }
.sc-note { margin: 0 0 14px; font-size: .86rem; color: var(--text-dim); }
.sc-status { min-height: 1.4em; margin: 0 0 12px; font-size: .9rem; }
.sc-grid { display: grid; gap: 14px; }
.sc-card h3 { display: flex; justify-content: space-between; align-items: baseline; gap: 10px; margin: 0 0 8px; font-size: 1rem; }
.sc-card h3 span { font-weight: 500; font-size: .8rem; color: var(--text-dim); }
.sc-pre {
    margin: 0; padding: 10px 12px; border-radius: var(--radius-sm, 10px);
    border: 1px solid var(--line); background: var(--panel-2);
    max-height: min(42vh, 360px); overflow: auto; white-space: pre-wrap;
    font-family: var(--font-mono, ui-monospace, Consolas, monospace);
    font-size: .8rem; color: var(--text);
}
.sc-list { margin: 0; padding: 0; list-style: none; display: grid; gap: 4px; font-family: var(--font-mono, ui-monospace, Consolas, monospace); font-size: .82rem; }
.sc-list li { padding: 4px 8px; border-radius: 8px; background: var(--panel-2); border: 1px solid var(--line); word-break: break-all; }
.sc-open { color: var(--good, #3d8); }
.sc-closed { color: var(--text-dim); }
.sc-err { color: var(--bad, #e66); }
@media (max-width: 720px) {
    .sc-bar { grid-template-columns: 1fr; }
}
