@import url('https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&family=Noto+Sans+KR:wght@300;400;500;700&display=swap');

:root {
    --bg-color: #0f172a;
    --text-color: #f1f5f9;
    --header-bg: rgba(15, 23, 42, 0.5);
    --border-color: #1e293b;
    --card-bg: rgba(30, 41, 59, 0.6);
    --card-border: #1e293b;
    --input-bg: rgba(2, 6, 23, 0.4);
    --muted-text: #94a3b8;
    --highlight-text: #ffffff;
}

.light-theme {
    --bg-color: #f8fafc;
    --text-color: #1e293b;
    --header-bg: rgba(255, 255, 255, 0.8);
    --border-color: #e2e8f0;
    --card-bg: rgba(255, 255, 255, 0.9);
    --card-border: #cbd5e1;
    --input-bg: rgba(241, 245, 249, 1);
    --muted-text: #64748b;
    --highlight-text: #0f172a;
}

body {
    font-family: 'Inter', 'Noto Sans KR', sans-serif;
    background-color: var(--bg-color);
    color: var(--text-color);
    transition: background-color 0.3s ease, color 0.3s ease;
}

header {
    background-color: var(--header-bg) !important;
    border-color: var(--border-color) !important;
}

h1, h2, h3, .text-white {
    color: var(--highlight-text) !important;
}

p, span, div:not(.bg-indigo-600) {
    /* Selective text color application to avoid breaking colored badges */
}

.text-slate-400, .text-slate-500 {
    color: var(--muted-text) !important;
}

.bg-slate-900\/60, .bg-slate-900\/40, #partnership, #comments, #file-info-card, #processing-card, #result-card, #guide-card {
    background-color: var(--card-bg) !important;
    border-color: var(--card-border) !important;
}

.bg-slate-950\/40, .bg-slate-950\/30, .bg-slate-950\/50, #bitrate-select {
    background-color: var(--input-bg) !important;
    border-color: var(--card-border) !important;
}

#theme-toggle {
    background-color: var(--input-bg);
    border-color: var(--border-color);
}

.light-theme .dark-icon { display: none; }
.light-theme .light-icon { display: inline-block !important; }

@keyframes spin-slow {
    from { transform: rotate(0deg); }
    to { transform: rotate(360deg); }
}

.animate-spin-slow {
    animation: spin-slow 8s linear infinite;
}

/* Custom Scrollbar */
::-webkit-scrollbar {
    width: 8px;
}

::-webkit-scrollbar-track {
    background: var(--bg-color);
}

::-webkit-scrollbar-thumb {
    background: var(--border-color);
    border-radius: 10px;
}

/* Audio Player styling override */
audio::-webkit-media-controls-panel {
    background-color: var(--input-bg);
}

.light-theme audio::-webkit-media-controls-play-button,
.light-theme audio::-webkit-media-controls-current-time-display,
.light-theme audio::-webkit-media-controls-time-remaining-display,
.light-theme audio::-webkit-media-controls-mute-button,
.light-theme audio::-webkit-media-controls-volume-slider {
    filter: none;
}

#status-toast {
    position: fixed;
    bottom: 20px;
    left: 50%;
    transform: translateX(-50%);
    z-index: 100;
    width: 90%;
    max-width: 400px;
}