/* ── Dataset quick action row ─────────────────────────────────────── */

.dataset-clip-quick {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    flex-wrap: wrap;
}

.dataset-clip-checkbox-label {
    display: inline-flex;
    align-items: center;
    line-height: 1;
}

.dataset-clip-checkbox {
    width: 1rem;
    height: 1rem;
    accent-color: var(--accent);
    cursor: pointer;
}

.dataset-clip-label-chip {
    font-size: 0.68rem;
    font-weight: 700;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    padding: 0.15rem 0.5rem;
    border-radius: 999px;
    background: var(--accent-soft);
    color: var(--accent-deep);
    border: 1px solid var(--accent);
    line-height: 1.3;
}

.dataset-clip-actions {
    display: inline-flex;
    align-items: center;
    gap: 0.3rem;
    margin-left: auto;
    flex-shrink: 0;
}

.dataset-quick-play,
.dataset-quick-label-apply,
.dataset-quick-delete,
.dataset-quick-more,
.dataset-quick-trim {
    font-size: 0.7rem;
    font-weight: 600;
    padding: 0.25rem 0.55rem;
    border-radius: var(--radius-sm);
    border: 1px solid var(--border);
    background: var(--paper);
    color: var(--ink);
    cursor: pointer;
    font: inherit;
    line-height: 1.4;
    transition: background 0.12s ease, border-color 0.12s ease;
    white-space: nowrap;
}

.dataset-quick-label-select {
    font-size: 0.7rem;
    padding: 0.2rem 0.3rem;
    border-radius: var(--radius-sm);
    border: 1px solid var(--border);
    background: var(--paper);
    color: var(--ink);
    font: inherit;
    line-height: 1.4;
    max-width: 7rem;
    cursor: pointer;
}

.dataset-quick-play {
    font-size: 0.82rem;
    padding: 0.2rem 0.5rem;
}

.dataset-quick-play:hover,
.dataset-quick-label-apply:hover,
.dataset-quick-more:hover {
    background: var(--accent-soft);
    border-color: var(--accent);
}

.dataset-quick-label-apply.saved {
    background: var(--success);
    color: var(--paper);
    border-color: var(--success);
}

.dataset-quick-delete {
    color: var(--error);
}

.dataset-quick-delete:hover {
    background: var(--error);
    color: var(--paper);
    border-color: var(--error);
}

.dataset-quick-trim {
    color: var(--accent-olive);
}

.dataset-quick-trim:hover {
    background: var(--accent-olive);
    color: var(--paper);
    border-color: var(--accent-olive);
}

.dataset-clip-details {
    display: flex;
    flex-direction: column;
    gap: 0.6rem;
    padding-top: 0.6rem;
    border-top: 1px solid var(--border);
    margin-top: 0.4rem;
}

.dataset-clip-details[hidden] {
    display: none;
}

.dataset-clip.selected {
    border-color: var(--accent);
    background: var(--accent-soft);
}

/* ── Quick progress bar (dataset row) ─────────────────────────────── */

.dataset-quick-progress {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    flex-shrink: 0;
    min-width: 0;
}

.dataset-quick-progress[hidden] {
    display: none;
}

.dataset-quick-progress-track {
    display: inline-block;
    width: clamp(8rem, 16vw, 14rem);
    height: auto;
    padding: 0.5rem 0;
    border-radius: 999px;
    background: var(--border);
    overflow: hidden;
    vertical-align: middle;
    line-height: 0;
    cursor: pointer;
    touch-action: none;
    position: relative;
}

.dataset-quick-progress-track:focus-visible {
    outline: 2px solid var(--accent);
    outline-offset: 2px;
}

.dataset-quick-progress-track.dragging {
    cursor: ew-resize;
}

.dataset-quick-progress-fill {
    display: block;
    height: 0.55rem;
    width: 0%;
    border-radius: 999px;
    background: var(--accent);
}

.dataset-quick-progress-time {
    font-size: 0.7rem;
    font-weight: 500;
    color: var(--ink-muted);
    font-variant-numeric: tabular-nums;
    white-space: nowrap;
    line-height: 1;
}

.dataset-clip-custom-label {
    font-size: 0.8rem;
    padding: 0.35rem 0.55rem;
    border-radius: var(--radius-sm);
    border: 1px solid var(--border);
    background: var(--paper);
    color: var(--ink);
    font: inherit;
    width: 100%;
    margin-top: 0.2rem;
}

.dataset-clip-custom-label:focus {
    outline: 2px solid var(--accent);
    outline-offset: 1px;
}

/* ── Dataset action toolbar (sort + bulk) ─────────────────────────── */

.dataset-action-toolbar {
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
    padding: 0.5rem 0;
    border-top: 1px solid var(--border);
    border-bottom: 1px solid var(--border);
}

.dataset-action-row {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.8rem;
}

.dataset-action-row-primary {
    justify-content: space-between;
}

.dataset-action-row-bulk {
    justify-content: flex-start;
}

.dataset-sort-group {
    display: inline-flex;
    align-items: center;
    gap: 0.4rem;
}

.dataset-sort-label {
    font-size: 0.68rem;
    font-weight: 700;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: var(--ink-muted);
}

.dataset-sort-select {
    font-size: 0.78rem;
    padding: 0.3rem 0.6rem;
    border-radius: var(--radius-sm);
    border: 1px solid var(--border);
    background: var(--paper);
    color: var(--ink);
    font: inherit;
    cursor: pointer;
}

.dataset-sort-select:focus {
    outline: 2px solid var(--accent);
    outline-offset: 1px;
}

.dataset-bulk-group {
    display: inline-flex;
    align-items: center;
    gap: 0.4rem;
    flex-wrap: wrap;
}

.dataset-bulk-count {
    font-size: 0.72rem;
    color: var(--ink-muted);
    font-weight: 600;
    min-width: 5ch;
}

.dataset-bulk-btn {
    font-size: 0.7rem;
    font-weight: 600;
    padding: 0.25rem 0.55rem;
    border-radius: var(--radius-sm);
    border: 1px solid var(--border);
    background: var(--paper-muted);
    color: var(--ink-muted);
    cursor: pointer;
    font: inherit;
    transition: background 0.12s ease, border-color 0.12s ease;
}

.dataset-bulk-btn:hover {
    background: var(--accent-soft);
    border-color: var(--accent);
    color: var(--ink);
}

.dataset-bulk-actions {
    display: inline-flex;
    align-items: center;
    gap: 0.3rem;
}

.dataset-bulk-label-select {
    font-size: 0.76rem;
    padding: 0.25rem 0.5rem;
    border-radius: var(--radius-sm);
    border: 1px solid var(--border);
    background: var(--paper);
    color: var(--ink);
    font: inherit;
    cursor: pointer;
}

.dataset-bulk-label-select:disabled {
    opacity: 0.4;
    cursor: not-allowed;
}

.dataset-bulk-apply-btn {
    font-size: 0.7rem;
    font-weight: 700;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    padding: 0.25rem 0.6rem;
    border-radius: var(--radius-sm);
    border: 1px solid var(--accent);
    background: var(--accent);
    color: oklch(98% 0.01 276);
    cursor: pointer;
    font: inherit;
    transition: background 0.12s ease;
}

.dataset-bulk-apply-btn:hover:not(:disabled) {
    background: var(--accent-deep);
}

.dataset-bulk-apply-btn:disabled {
    opacity: 0.4;
    cursor: not-allowed;
}

.dataset-bulk-delete-btn {
    font-size: 0.7rem;
    font-weight: 700;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    padding: 0.25rem 0.6rem;
    border-radius: var(--radius-sm);
    border: 1px solid var(--error);
    background: transparent;
    color: var(--error);
    cursor: pointer;
    font: inherit;
    transition: background 0.12s ease;
}

.dataset-bulk-delete-btn:hover:not(:disabled) {
    background: var(--error);
    color: var(--paper);
}

.dataset-bulk-delete-btn:disabled {
    opacity: 0.4;
    cursor: not-allowed;
}

/* ── Scan group ─────────────────────────────────────────────────── */

.dataset-scan-group {
    display: inline-flex;
    align-items: center;
    gap: 0.4rem;
}

.dataset-scan-btn {
    font-size: 0.7rem;
    font-weight: 700;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    padding: 0.3rem 0.65rem;
    border-radius: var(--radius-sm);
    border: 1px solid var(--accent-olive);
    background: var(--accent-olive-soft);
    color: var(--accent-olive);
    cursor: pointer;
    font: inherit;
    transition: background 0.12s ease, border-color 0.12s ease, opacity 0.12s ease;
}

#scanKeywordBtn {
    display: inline-flex;
    flex-direction: column;
    align-items: center;
    line-height: 1.3;
    padding: 0.25rem 0.65rem;
    gap: 0.1rem;
}

.dataset-scan-btn-label {
    /* inherits button font: uppercase, bold, olive */
}

.dataset-scan-btn:hover:not(:disabled) {
    background: var(--accent-olive);
    color: var(--paper);
}

.dataset-scan-btn:disabled {
    opacity: 0.5;
    cursor: wait;
}

.dataset-scan-label {
    font-size: 0.65rem;
    font-weight: 600;
    color: var(--ink-muted);
    text-transform: uppercase;
    letter-spacing: 0.04em;
    white-space: nowrap;
}

.dataset-scan-select {
    font-size: 0.7rem;
    padding: 0.25rem 0.4rem;
    border-radius: var(--radius-sm);
    border: 1px solid var(--border);
    background: var(--surface);
    color: var(--ink);
    font: inherit;
    cursor: pointer;
}

.dataset-scan-schedule {
    font-size: 0.58rem;
    font-weight: 500;
    letter-spacing: 0.02em;
    text-transform: none;
    color: var(--ink-muted);
    white-space: nowrap;
    cursor: help;
    padding: 0;
    transition: color 0.12s ease;
}

#scanKeywordBtn:hover .dataset-scan-schedule {
    color: var(--paper);
}

/* ── Speech training toast ──────────────────────────────────────── */

.speech-toast-region {
    position: fixed;
    right: max(1rem, env(safe-area-inset-right));
    bottom: max(1rem, env(safe-area-inset-bottom));
    z-index: 80;
    max-width: min(22rem, calc(100vw - 2rem));
    pointer-events: none;
}

.speech-toast {
    pointer-events: auto;
    display: flex;
    align-items: center;
    gap: 0.55rem;
    padding: 0.85rem 1.05rem;
    border-radius: var(--radius-md);
    border: 1px solid var(--border-strong);
    background: var(--paper-strong);
    box-shadow: var(--shadow);
    color: var(--ink);
    font-size: 0.82rem;
    font-weight: 650;
    line-height: 1.4;
    animation: speechToastIn 0.2s var(--ease-out-quart) both;
}

.speech-toast::before {
    content: '';
    flex-shrink: 0;
    display: block;
    width: 0.5rem;
    height: 0.5rem;
    border-radius: 50%;
    background: var(--accent-olive);
}

.speech-toast.error::before {
    background: var(--error);
}

.speech-toast.success::before {
    background: var(--accent);
}

.speech-toast-hiding {
    opacity: 0;
    transform: translateY(4px);
    transition: opacity 0.18s ease, transform 0.18s ease;
}

@keyframes speechToastIn {
    from {
        opacity: 0;
        transform: translateY(8px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

/* ── Speech toast progress variant ──────────────────────────────── */

.speech-toast.progress {
    align-items: flex-start;
}

.speech-toast-body {
    flex: 1;
    min-width: 0;
    display: flex;
    flex-direction: column;
    gap: 0.3rem;
}

.speech-toast-title {
    font-weight: 650;
    color: var(--ink);
}

.speech-toast-progress {
    width: 100%;
    height: 0.35rem;
    border-radius: 999px;
    border: none;
    background: var(--border);
    accent-color: var(--accent-olive);
}
.speech-toast-progress::-webkit-progress-bar {
    border-radius: 999px;
    background: var(--border);
}
.speech-toast-progress::-webkit-progress-value {
    border-radius: 999px;
    background: var(--accent-olive);
}
.speech-toast-progress::-moz-progress-bar {
    border-radius: 999px;
    background: var(--accent-olive);
}

.speech-toast-detail {
    font-size: 0.72rem;
    font-weight: 600;
    color: var(--ink-muted);
}

/* ── Confidence chip ────────────────────────────────────────────── */

.dataset-clip-conf-chip {
    font-size: 0.62rem;
    font-weight: 700;
    padding: 0.1rem 0.35rem;
    border-radius: 999px;
    background: var(--accent-olive-soft);
    color: var(--accent-olive);
    border: 1px solid var(--accent-olive);
    line-height: 1.3;
    white-space: nowrap;
}

/* ── Dataset mobile adjustments ──────────────────────────────────── */

@media (max-width: 768px) {
    .dataset-clip-quick {
        gap: 0.35rem;
    }

    .dataset-clip-actions {
        gap: 0.2rem;
    }

    .dataset-quick-progress-track {
        width: clamp(6rem, 28vw, 12rem);
        padding: 0.6rem 0;
        height: auto;
    }

    .dataset-quick-progress-fill {
        height: 0.5rem;
    }

    .dataset-quick-progress-time {
        font-size: 0.65rem;
    }

    .dataset-quick-play,
    .dataset-quick-label-apply,
    .dataset-quick-delete,
    .dataset-quick-more,
    .dataset-quick-trim {
        font-size: 0.65rem;
        padding: 0.2rem 0.4rem;
    }

    .dataset-quick-label-select {
        font-size: 0.65rem;
        max-width: 5.5rem;
    }

    .dataset-action-toolbar {
        flex-direction: column;
        align-items: stretch;
        gap: 0.5rem;
    }

    .dataset-action-row {
        flex-direction: column;
        align-items: stretch;
        gap: 0.5rem;
    }

    .dataset-action-row .dataset-sort-group,
    .dataset-action-row .dataset-scan-group,
    .dataset-action-row .dataset-bulk-group {
        width: 100%;
    }

    .dataset-bulk-group {
        justify-content: flex-start;
    }
}

/* Keep the late dataset rules inside the same scribbly system. */
.dataset-sidebar,
.dataset-main,
.dataset-action-toolbar,
.dataset-clip,
.dataset-clip-card,
.dataset-empty,
.dataset-pagination {
    position: relative;
}

.dataset-sidebar,
.dataset-main,
.dataset-action-toolbar,
.dataset-clip {
    background:
        var(--scribble-paper),
        linear-gradient(180deg, var(--paper-soft), var(--paper-muted));
    border: 3px solid var(--border-strong);
    border-radius: 18px 14px 22px 16px;
    box-shadow: var(--shadow-sm);
}

.dataset-user-item,
.dataset-clip-label-select,
.dataset-clip-transcript,
.dataset-clip-notes,
.dataset-quick-play,
.dataset-quick-label-apply,
.dataset-quick-delete,
.dataset-quick-more,
.dataset-quick-trim,
.dataset-quick-label-select,
.pagination-btn,
.dataset-save-btn {
    border: 2px solid var(--border-strong);
    border-radius: 10px 14px 11px 15px;
    box-shadow: 0.16rem 0.16rem 0 var(--ink-faint);
}

.dataset-main-title,
.dataset-sidebar-title {
    font-family: "DynaPuff", "Comic Sans MS", "Atkinson Hyperlegible", system-ui, sans-serif;
    letter-spacing: 0;
    text-transform: none;
}

.dataset-save-btn,
.dataset-quick-label-apply.saved {
    background: var(--accent);
    color: oklch(98% 0.018 95);
}

/* ── Scribbly Refinement Pass ───────────────────────────────────── */

.control-room-dot.playing {
    background: var(--scribble-blue);
    box-shadow: 0 0 0 5px oklch(60% 0.17 244 / 0.18);
}

.control-room-dot.playing + .control-room-equalizer span,
.dot-playing .control-room-equalizer span {
    background: var(--accent-amber);
}

.control-room-progress-track {
    border: 2px solid var(--border);
    background:
        repeating-linear-gradient(
            -12deg,
            oklch(20% 0.045 255 / 0.09) 0 5px,
            transparent 5px 10px
        ),
        oklch(99.8% 0.001 270 / 0.76);
}

.control-room-progress-fill {
    background:
        repeating-linear-gradient(
            -18deg,
            var(--accent) 0 8px,
            var(--accent-amber) 8px 16px,
            var(--scribble-blue) 16px 24px
        );
}

.control-room-progress-fill::after {
    background: linear-gradient(90deg, oklch(99% 0.002 270 / 0.28), transparent, oklch(99% 0.002 270 / 0.22));
    opacity: 0.45;
}

.system-monitor-dropdown,
.voice-members-dropdown {
    z-index: 220;
    border-width: 3px;
    box-shadow: 0.3rem 0.3rem 0 var(--ink-faint);
}

.filter-select option,
.guild-selector option,
.dataset-label-filter-select option,
.dataset-sort-select option,
.dataset-bulk-label-select option,
.dataset-quick-label-select option,
.dataset-scan-select option {
    background-color: oklch(99.8% 0.001 270);
    color: var(--ink);
    font-family: "Atkinson Hyperlegible", "Segoe UI", system-ui, sans-serif;
    font-weight: 700;
}

html.theme-dark .filter-select option,
html.theme-dark .guild-selector option,
html.theme-dark .dataset-label-filter-select option,
html.theme-dark .dataset-sort-select option,
html.theme-dark .dataset-bulk-label-select option,
html.theme-dark .dataset-quick-label-select option,
html.theme-dark .dataset-scan-select option {
    background-color: var(--panel-dark);
    color: var(--ink);
}

.web-upload-dialog,
.web-tts-dialog,
.sound-rename-dialog,
.sound-list-dialog,
.sound-similar-dialog,
.sound-event-dialog,
.login-modal-card,
.voice-members-card {
    border: 4px solid var(--border-strong);
    border-radius: 20px 16px 26px 18px;
    background:
        var(--scribble-paper),
        linear-gradient(180deg, var(--paper-soft), var(--paper-muted));
    box-shadow: 0.5rem 0.5rem 0 var(--ink-faint);
}

.web-upload-title,
.login-modal-title,
.voice-members-title {
    font-family: "DynaPuff", "Comic Sans MS", "Atkinson Hyperlegible", system-ui, sans-serif;
    letter-spacing: 0;
}

.web-upload-dialog input,
.web-upload-dialog textarea,
.web-upload-dialog select,
.web-tts-dialog input,
.web-tts-dialog textarea,
.web-tts-dialog select,
.sound-options-dialog input,
.sound-options-dialog select {
    border: 2px solid var(--border-strong);
    border-radius: 10px 14px 11px 15px;
    background:
        var(--scribble-paper),
        var(--paper-soft);
    box-shadow: inset 0 0 0 2px oklch(60% 0.17 244 / 0.04);
}

.browser-sound-player-dialog {
    background:
        linear-gradient(135deg, oklch(97% 0.018 82), oklch(94.5% 0.026 82)),
        var(--paper);
}

.browser-sound-player {
    background:
        linear-gradient(135deg, oklch(96.5% 0.028 70), oklch(94.8% 0.03 118)),
        var(--paper);
}

html.theme-dark .browser-sound-player-dialog {
    background:
        linear-gradient(135deg, var(--panel-dark-soft), var(--panel-dark)),
        var(--paper);
}

html.theme-dark .browser-sound-player {
    background:
        linear-gradient(135deg, oklch(23% 0.04 32), oklch(22% 0.034 126)),
        var(--panel-dark-soft);
}

.web-upload-submit,
.web-upload-cancel,
.web-upload-modal-close,
.web-tts-submit,
.sound-options-submit,
.login-modal-close,
.login-modal-login:not(.auth-button),
.voice-members-close {
    border: 2px solid var(--border-strong);
    border-radius: 10px 14px 11px 15px;
    box-shadow: 0.18rem 0.18rem 0 var(--ink-faint);
}

body.page-dataset {
    overflow-x: hidden;
}

.dataset-shell {
    width: min(1500px, calc(100% - 2rem));
    grid-template-columns: minmax(15rem, 18rem) minmax(0, 1fr);
    gap: 1rem;
}

.dataset-sidebar,
.dataset-main,
.dataset-action-toolbar,
.dataset-clip {
    background:
        var(--scribble-paper),
        linear-gradient(180deg, var(--paper-soft), var(--paper-muted));
}

.dataset-main {
    padding: 0.8rem;
}

.dataset-main::after,
.dataset-sidebar::after {
    inset: 0.35rem;
}

.dataset-toolbar {
    align-items: flex-start;
}

.dataset-toolbar-left {
    flex: 1 1 24rem;
    min-width: 0;
}

.dataset-toolbar-right {
    flex: 0 1 16rem;
    min-width: min(16rem, 100%);
}

.dataset-main-title {
    flex: 1 1 auto;
    min-width: 14rem;
    font-family: "Atkinson Hyperlegible", "Segoe UI", system-ui, sans-serif;
    font-size: 1.02rem;
    font-weight: 900;
    line-height: 1.2;
    overflow-wrap: anywhere;
}

.dataset-sidebar-title {
    font-family: "Atkinson Hyperlegible", "Segoe UI", system-ui, sans-serif;
    font-size: 0.76rem;
    font-weight: 900;
    letter-spacing: 0.04em;
    text-transform: uppercase;
}

.dataset-action-toolbar {
    padding: 0.75rem;
    border: 3px solid var(--border-strong);
}

.dataset-action-row {
    align-items: center;
    gap: 0.55rem;
}

.dataset-action-row-primary {
    justify-content: space-between;
}

.dataset-sort-group,
.dataset-bulk-group,
.dataset-scan-group {
    min-width: 0;
}

.dataset-scan-group {
    margin-left: auto;
    flex-wrap: wrap;
    justify-content: flex-end;
}

.dataset-label-filter-select,
.dataset-sort-select,
.dataset-bulk-label-select,
.dataset-quick-label-select,
.dataset-scan-select,
.dataset-search {
    background:
        var(--scribble-paper),
        var(--paper-soft);
    border: 2px solid var(--border-strong);
    border-radius: 10px 14px 11px 15px;
}

.dataset-scan-btn,
.dataset-bulk-btn,
.dataset-bulk-apply-btn,
.dataset-bulk-delete-btn,
.dataset-quick-play,
.dataset-quick-label-apply,
.dataset-quick-delete,
.dataset-quick-more,
.dataset-quick-trim,
.dataset-save-btn {
    border: 2px solid var(--border-strong);
    border-radius: 10px 14px 11px 15px;
    box-shadow: 0.16rem 0.16rem 0 var(--ink-faint);
}

.dataset-scan-btn {
    background: var(--paper-soft);
    color: var(--accent-deep);
}

.dataset-scan-btn:hover:not(:disabled) {
    background: var(--accent-amber);
    color: var(--ink);
}

.dataset-scan-schedule,
#scanKeywordBtn:hover .dataset-scan-schedule {
    color: var(--ink-muted);
}

.dataset-user-item.active {
    background: oklch(69% 0.17 355 / 0.15);
    border-color: var(--accent);
}

html.theme-dark .dataset-sidebar,
html.theme-dark .dataset-main,
html.theme-dark .dataset-action-toolbar,
html.theme-dark .dataset-clip,
html.theme-dark .dataset-empty,
html.theme-dark .dataset-pagination {
    background:
        var(--scribble-paper),
        linear-gradient(180deg, var(--paper-soft), var(--paper-muted));
}

html.theme-dark .dataset-label-filter-select,
html.theme-dark .dataset-sort-select,
html.theme-dark .dataset-bulk-label-select,
html.theme-dark .dataset-quick-label-select,
html.theme-dark .dataset-scan-select,
html.theme-dark .dataset-search,
html.theme-dark .dataset-clip-label-select,
html.theme-dark .dataset-clip-transcript,
html.theme-dark .dataset-clip-notes,
html.theme-dark .dataset-clip-custom-label,
html.theme-dark .dataset-quick-play,
html.theme-dark .dataset-quick-label-apply,
html.theme-dark .dataset-quick-delete,
html.theme-dark .dataset-quick-more,
html.theme-dark .dataset-quick-trim,
html.theme-dark .pagination-btn {
    background:
        var(--scribble-paper),
        var(--panel-dark-soft);
    color: var(--ink);
}

html.theme-dark .dataset-scan-btn {
    background:
        var(--scribble-paper),
        var(--panel-dark-soft);
    color: var(--accent-amber);
}

html.theme-dark .dataset-scan-btn:hover:not(:disabled) {
    background: var(--accent-amber);
    color: var(--panel-dark);
}

html.theme-dark .dataset-user-item.active {
    background: var(--accent-soft);
    border-color: var(--accent);
}

html.theme-dark .dataset-clip.selected {
    background: var(--accent-soft);
}

html.theme-dark .action-badge {
    box-shadow: 2px 2px 0 oklch(5% 0.01 164 / 0.48), var(--button-cartoon-highlight);
}

html.theme-dark .action-badge.play,
html.theme-dark .action-badge.favorite,
html.theme-dark .action-badge.join,
html.theme-dark .action-badge.keyword,
html.theme-dark .time-btn.active,
html.theme-dark .dataset-action-btn.primary {
    border-color: rgb(18, 22, 20);
    color: rgb(18, 22, 20);
    border-color: oklch(11.5% 0.006 270);
    color: oklch(11.5% 0.006 270);
}

html.theme-dark .action-badge.keyword {
    background: oklch(72% 0.08 70);
}

html.theme-dark .action-badge.other {
    background: oklch(55% 0.02 250 / 0.45);
}

@media (max-width: 768px) {
    .dataset-shell {
        width: min(100%, calc(100% - 1rem));
        grid-template-columns: 1fr;
    }

    .dataset-toolbar-right,
    .dataset-search {
        width: 100%;
    }
}
