.qb-type-switch .btn-check:checked + .btn {
    font-weight: 600;
}
.qb-points-pill {
    font-variant-numeric: tabular-nums;
}
.qb-written-panel {
    border-radius: 12px;
    border: 1px dashed rgba(13, 110, 253, 0.35);
    background: linear-gradient(160deg, rgba(13, 110, 253, 0.04) 0%, #fff 50%);
}
.qb-keywords-table {
    margin-bottom: 0;
    background: var(--hx-surface, #fff);
    width: 100%;
    max-width: 100%;
    table-layout: fixed;
}
.qb-keywords-table th,
.qb-keywords-table td {
    vertical-align: middle;
}
.qb-kw-label-col,
.qb-keywords-table td:first-child {
    width: 8.5rem;
    min-width: 8.5rem;
    white-space: nowrap;
}
.qb-kw-words-col,
.qb-kw-words-cell {
    width: auto;
    overflow: hidden;
}
.qb-kw-label-text {
    font-size: 0.875rem;
    font-weight: 600;
    color: var(--hx-ink-2, #334155);
    white-space: nowrap;
}
.qb-kw-row-inner {
    width: 100%;
    max-width: 100%;
}
.qb-kw-values-wrap {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 0.5rem;
    width: 100%;
    max-width: 100%;
}
.qb-kw-word-group {
    display: flex;
    align-items: center;
    gap: 0.25rem;
    width: 100%;
    max-width: 100%;
}
.qb-kw-word-group .qb-kw-value {
    min-width: 12rem;
    width: 100%;
    max-width: 35rem;
    flex: 1 1 auto;
}
.qb-kw-add,
.qb-kw-remove-word {
    flex-shrink: 0;
    padding-left: 0.45rem;
    padding-right: 0.45rem;
}
.qb-kw-add {
    color: #198754;
    border-color: #198754;
}
.qb-kw-add:hover {
    color: #fff;
    background-color: #198754;
    border-color: #198754;
}
.qb-kw-remove-word {
    color: #dc3545;
    border-color: #dc3545;
}
.qb-kw-remove-word:hover {
    color: #fff;
    background-color: #dc3545;
    border-color: #dc3545;
}
.qb-card-written .qb-keyword-chip {
    font-size: 0.75rem;
    margin: 0.15rem;
}
.qb-image-panel {
    border-radius: 12px;
    border: 1px dashed rgba(13, 110, 253, 0.35);
    background: linear-gradient(160deg, rgba(13, 110, 253, 0.04) 0%, #fff 50%);
}
.qb-image-preview-wrap {
    max-width: 100%;
    max-height: 22rem;
    overflow: auto;
    border: 1px solid #dee2e6;
    border-radius: 8px;
    padding: 0.5rem;
    background: #f8f9fa;
}
.qb-image-preview-wrap img {
    max-width: 100%;
    width: auto;
    height: auto;
    object-fit: contain;
    display: block;
}
.qb-card-thumb {
    width: 4.5rem;
    height: 4.5rem;
    object-fit: contain;
    background: #f8f9fa;
    border: 1px solid #e9ecef;
    border-radius: 6px;
    flex-shrink: 0;
}
