#dnssec .dnssec-status {
    display: flex;
    align-items: center;
    gap: 8px;
    margin-bottom: 16px;
    font-weight: 600;
}

#dnssec .dnssec-status::before {
    content: "";
    width: 8px;
    height: 8px;
    flex: 0 0 8px;
    border-radius: 50%;
    background: var(--text-muted);
}

#dnssec .dnssec-status.validated {
    color: var(--success);
}

#dnssec .dnssec-status.validated::before {
    background: var(--success);
}

#dnssec .dnssec-status.unsigned,
#dnssec .dnssec-status.indeterminate {
    color: var(--text-muted);
}

#dnssec .dnssec-status.unsigned::before,
#dnssec .dnssec-status.indeterminate::before {
    background: var(--text-muted);
}

#dnssec .dnssec-status.broken {
    color: #f85149;
}

#dnssec .dnssec-status.broken::before {
    background: #f85149;
}

#dnssec .dnssec-validation {
    margin-bottom: 20px;
    padding-bottom: 16px;
    border-bottom: 1px solid var(--border);
}

#dnssec .dnssec-validation-row {
    display: grid;
    grid-template-columns: 150px minmax(0, 1fr);
    gap: 12px;
    margin-bottom: 8px;
    align-items: start;
}

#dnssec .dnssec-validation-row:last-child {
    margin-bottom: 0;
}

#dnssec .dnssec-validation-label {
    color: var(--text);
    font-weight: 600;
}

#dnssec .dnssec-validation-result {
    min-width: 0;
    overflow-wrap: anywhere;
}

#dnssec .dnssec-validation-result.valid {
    color: var(--success);
}

#dnssec .dnssec-validation-result.broken {
    color: #f85149;
}

#dnssec .dnssec-validation-result.indeterminate,
#dnssec .dnssec-validation-result.not_applicable {
    color: var(--text-muted);
}

#dnssec .dnssec-validation-detail {
    margin-top: 3px;
    color: var(--text-muted);
    font-size: 0.8rem;
}

#dnssec .record-list-label {
    margin-bottom: 12px;
    color: var(--text-muted);
    font-family: Inter, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
    font-size: 0.7rem;
    font-weight: 600;
    letter-spacing: 0.08em;
}

#dnssec .record-list {
    --tooltip-space: 32px;

    position: relative;
    box-sizing: border-box;
    margin-top: calc(-1 * var(--tooltip-space));
    padding-top: var(--tooltip-space);
}

#dnssec .record-wrapper {
    margin-bottom: 16px;
}

#dnssec .record-wrapper:last-child {
    margin-bottom: 0;
}

#dnssec .record-type {
    font-weight: 600;
}

#dnssec .record-content {
    word-break: break-word;
}

#dnssec .dnssec-empty {
    color: var(--text-muted);
}

#dnssec .dnssec-error {
    color: #f85149;
}

#dnssec .tool-summary {
    margin-top: 16px;
    padding-top: 12px;
    border-top: 1px solid var(--border);
    color: var(--text-muted);
    font-size: 0.8rem;
}

#dnssec .dnssec-record-value {
    position: relative;
    width: fit-content;
    max-width: 100%;
    padding: 1px 5px;
    margin-left: -5px;
    margin-bottom: 6px;
    border-radius: 4px;
    cursor: copy;
    transition:
        background 120ms ease-out,
        color 120ms ease-out;
}

#dnssec .dnssec-record-value:last-child {
    margin-bottom: 0;
}

#dnssec .dnssec-record-value:hover {
    background: var(--surface-hover);
    color: var(--text);
}

#dnssec .dnssec-record-value::after {
    content: "Copied";
    position: absolute;
    left: calc(100% + 8px);
    top: 50%;
    padding: 2px 6px;
    background: var(--surface-hover);
    border: 1px solid var(--border);
    border-radius: 4px;
    color: var(--success);
    font-size: 0.72rem;
    line-height: 1.3;
    white-space: nowrap;
    pointer-events: none;
    opacity: 0;
    transform: translateY(-50%);
    transition: opacity 120ms ease-out;
}

#dnssec .dnssec-record-value.copied::after {
    opacity: 1;
}
