.ctt-card { padding: 20px 24px; display: flex; flex-direction: column; gap: 14px; }

.ctt-top { display: grid; grid-template-columns: 1fr 200px; gap: 14px; }
@media (max-width: 700px) { .ctt-top { grid-template-columns: 1fr; } }

.ctt-label { font-size: .78rem; font-weight: 700; color: var(--txt-2); display: flex; align-items: center; gap: 6px; margin-bottom: 6px; }
.ctt-label i { color: var(--brand); }

.ctt-input-wrap { display: flex; flex-direction: column; }
.ctt-textarea {
    width: 100%; box-sizing: border-box; height: 200px; resize: vertical;
    border: 1.5px solid var(--border); border-radius: 10px;
    padding: 12px 14px; font-family: 'SFMono-Regular', Consolas, monospace;
    font-size: .82rem; line-height: 1.6; color: var(--txt);
    background: var(--surface); transition: border-color .2s;
}
.ctt-textarea:focus { outline: none; border-color: var(--brand); }

.ctt-options { display: flex; flex-direction: column; gap: 8px; align-items: center; }
.ctt-opt {
    display: flex; align-items: center; gap: 8px;
    font-size: .78rem; color: var(--txt-2); cursor: pointer;
}
.ctt-opt input[type=checkbox] { accent-color: var(--brand); width: 14px; height: 14px; }
.ctt-opt select {
    flex: 1; border: 1px solid var(--border); border-radius: 6px;
    background: var(--surface); color: var(--txt);
    padding: 4px 8px; font-size: .78rem;
}
.ctt-opt select:focus { outline: none; border-color: var(--brand); }

.ctt-error {
    display: none; padding: 10px 14px; border-radius: 8px;
    background: #fff1f2; border: 1px solid #fca5a5;
    color: #b91c1c; font-size: .8rem;
}

.ctt-result-header {
    display: flex; align-items: center; justify-content: space-between;
    margin-bottom: 8px;
}
.ctt-info { font-size: .76rem; color: var(--txt-3); font-weight: 600; }
.ctt-copy-html-btn {
    display: inline-flex; align-items: center; gap: 5px;
    background: var(--surface); border: 1px solid var(--border);
    border-radius: 7px; padding: 5px 12px;
    font-size: .74rem; font-weight: 600; color: var(--txt-2);
    cursor: pointer; transition: background .15s, border-color .15s;
}
.ctt-copy-html-btn:hover { background: var(--brand); color: #fff; border-color: var(--brand); }

.ctt-result { display: flex; flex-direction: column; gap: 8px; }

.ctt-table-wrap {
    overflow-x: auto; overflow-y: auto;
    max-height: calc(100vh - 340px);
    border: 1.5px solid var(--border);
    border-radius: 10px; background: var(--surface);
}
.ctt-table {
    width: 100%; border-collapse: collapse;
    font-size: .82rem; color: var(--txt);
}
.ctt-table th {
    background: var(--brand); color: #fff;
    padding: 9px 14px; text-align: left;
    font-size: .78rem; font-weight: 700;
    white-space: nowrap; cursor: pointer; user-select: none;
    position: sticky; top: 0; z-index: 2;
}
.ctt-table th:hover { background: rgba(99,102,241,.85); }
.ctt-table th .ctt-sort-icon { margin-left: 5px; opacity: .6; font-size: .65rem; }
.ctt-table td { padding: 8px 14px; border-bottom: 1px solid var(--border); vertical-align: top; }
.ctt-table tr:last-child td { border-bottom: none; }
.ctt-table.ctt-striped tbody tr:nth-child(even) td { background: var(--page-bg); }
.ctt-table tbody tr:hover td { background: rgba(99,102,241,.05); }
