/* Subtitles Overlay - Cinematic Style */ .subtitlesContainer { position: fixed; left: 0; right: 0; z-index: 100; pointer-events: none; padding: 1.5rem 3rem; display: flex; justify-content: center; } .positionTop { top: 2rem; } .positionCenter { top: 50%; transform: translateY(-50%); } .positionBottom { bottom: 4rem; } .subtitlesInner { max-width: 85%; display: flex; flex-direction: column; gap: 0.5rem; align-items: center; } .subtitleLine { font-family: var(--subtitle-font-family); font-size: var(--subtitle-font-size); font-weight: 400; line-height: 1.5; text-align: center; padding: 0.6rem 1.4rem; border-radius: 6px; background: var(--subtitle-bg); color: var(--subtitle-text); backdrop-filter: blur(12px); -webkit-backdrop-filter: blur(12px); box-shadow: 0 4px 24px rgba(0, 0, 0, 0.4), 0 0 0 1px rgba(255, 255, 255, 0.05); animation: slideIn 0.3s cubic-bezier(0.16, 1, 0.3, 1) forwards; transform-origin: center bottom; letter-spacing: 0.01em; } @keyframes slideIn { from { opacity: 0; transform: translateY(12px) scale(0.96); filter: blur(4px); } to { opacity: 1; transform: translateY(0) scale(1); filter: blur(0); } } .speaker { font-weight: 600; margin-right: 0.5em; text-transform: uppercase; font-size: 0.75em; letter-spacing: 0.08em; color: #4ECDC4; /* Teal accent */ } .speaker::after { content: ''; display: inline-block; width: 4px; height: 4px; background: currentColor; border-radius: 50%; margin-left: 0.6em; margin-right: 0.3em; vertical-align: middle; opacity: 0.6; } .text { font-weight: 400; text-shadow: 0 1px 2px rgba(0, 0, 0, 0.3); } /* Settings Panel Styles */ .settingsPanel { background: rgba(18, 18, 20, 0.95); border: 1px solid rgba(255, 255, 255, 0.08); border-radius: 12px; padding: 1.25rem; width: 320px; backdrop-filter: blur(20px); -webkit-backdrop-filter: blur(20px); box-shadow: 0 20px 60px rgba(0, 0, 0, 0.5), 0 0 0 1px rgba(255, 255, 255, 0.03) inset; } .settingsTitle { font-family: 'TWK Everett', sans-serif; font-size: 0.7rem; font-weight: 500; text-transform: uppercase; letter-spacing: 0.12em; color: rgba(255, 255, 255, 0.4); margin: 0 0 1rem 0; padding-bottom: 0.75rem; border-bottom: 1px solid rgba(255, 255, 255, 0.06); } .settingsRow { display: flex; align-items: center; justify-content: space-between; margin-bottom: 0.875rem; } .settingsRow:last-child { margin-bottom: 0; } .settingsLabel { font-family: 'TWK Everett', sans-serif; font-size: 0.85rem; font-weight: 400; color: rgba(255, 255, 255, 0.7); } .settingsControl { display: flex; align-items: center; gap: 0.5rem; } /* Toggle Switch */ .toggle { position: relative; width: 44px; height: 24px; background: rgba(255, 255, 255, 0.1); border-radius: 12px; cursor: pointer; transition: background 0.2s ease; } .toggle.active { background: #ff6352; } .toggleKnob { position: absolute; top: 2px; left: 2px; width: 20px; height: 20px; background: white; border-radius: 50%; transition: transform 0.2s cubic-bezier(0.16, 1, 0.3, 1); box-shadow: 0 2px 4px rgba(0, 0, 0, 0.2); } .toggle.active .toggleKnob { transform: translateX(20px); } /* Slider */ .slider { -webkit-appearance: none; appearance: none; width: 100px; height: 4px; background: rgba(255, 255, 255, 0.15); border-radius: 2px; outline: none; } .slider::-webkit-slider-thumb { -webkit-appearance: none; appearance: none; width: 16px; height: 16px; background: #ff6352; border-radius: 50%; cursor: pointer; box-shadow: 0 2px 8px rgba(255, 99, 82, 0.4); transition: transform 0.15s ease; } .slider::-webkit-slider-thumb:hover { transform: scale(1.15); } .sliderValue { font-family: 'TWK Everett', sans-serif; font-size: 0.75rem; color: rgba(255, 255, 255, 0.5); min-width: 2rem; text-align: right; } /* Select Dropdown */ .select { font-family: 'TWK Everett', sans-serif; font-size: 0.8rem; padding: 0.4rem 0.6rem; background: rgba(255, 255, 255, 0.08); border: 1px solid rgba(255, 255, 255, 0.1); border-radius: 6px; color: rgba(255, 255, 255, 0.8); cursor: pointer; outline: none; transition: all 0.15s ease; } .select:hover { background: rgba(255, 255, 255, 0.12); border-color: rgba(255, 255, 255, 0.15); } .select:focus { border-color: #ff6352; box-shadow: 0 0 0 2px rgba(255, 99, 82, 0.2); } /* Color Picker */ .colorPicker { width: 32px; height: 24px; border: none; border-radius: 4px; cursor: pointer; padding: 0; background: none; } .colorPicker::-webkit-color-swatch-wrapper { padding: 0; } .colorPicker::-webkit-color-swatch { border: 1px solid rgba(255, 255, 255, 0.15); border-radius: 4px; } /* Divider */ .settingsDivider { height: 1px; background: rgba(255, 255, 255, 0.06); margin: 1rem 0; } /* Responsive adjustments */ @media (max-width: 768px) { .subtitlesContainer { padding: 1rem 1.5rem; } .subtitlesInner { max-width: 95%; } .subtitleLine { font-size: calc(var(--subtitle-font-size) * 0.85); padding: 0.5rem 1rem; } }