#regex-tester input[type="text"],
#regex-tester textarea,
#regex-tester pre {
    font: 0.875rem/1.5 ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;
}

#regex-tester textarea,
#regex-tester pre {
    width: 100%;
    padding: 10px 12px;
    background: var(--bg);
    border: 1px solid var(--border);
    border-radius: var(--radius);
    color: var(--text);
}

#regex-tester textarea {
    min-height: 160px;
    resize: vertical;
}

#regex-tester pre {
    margin: 8px 0 12px;
    max-height: 280px;
    overflow: auto;
    white-space: pre-wrap;
    overflow-wrap: anywhere;
}

#regex-tester .regex-help {
    margin: 0;
    color: var(--text-muted);
    font-size: 0.8rem;
}

#regex-tester h3 {
    margin: 12px 0 0;
    color: var(--text);
    font-size: 0.875rem;
}

#regex-tester-results > * + * {
    margin-top: 12px;
}

#regex-tester .regex-match {
    margin-bottom: 12px;
    padding-bottom: 8px;
    border-bottom: 1px solid var(--border);
}

#regex-tester .record-row {
    grid-template-columns: 80px minmax(0, 1fr);
    gap: 10px;
}

#regex-tester .record-content {
    white-space: pre-wrap;
}

#regex-tester mark {
    background: #58a6ff40;
    color: var(--text);
    border-bottom: 1px solid var(--accent);
}

#regex-tester-message {
    overflow-wrap: anywhere;
}

#regex-tester-message.regex-error {
    color: #ff8b8b;
}

#regex-tester button:disabled {
    opacity: 0.5;
    cursor: default;
}

#regex-tester input:focus-visible,
#regex-tester textarea:focus-visible,
#regex-tester pre:focus-visible,
#regex-tester button:focus-visible {
    outline: 2px solid var(--accent);
    outline-offset: 2px;
}
