* { margin: 0; padding: 0; box-sizing: border-box; } body { font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, Cantarell, sans-serif; background: linear-gradient(135deg, #1e1e2e 0%, #2a2a3e 100%); color: #e0e0e0; overflow: hidden; } /* Title Bar */ .title-bar { -webkit-app-region: drag; background: rgba(0, 0, 0, 0.3); padding: 8px 12px; padding-left: 6px; display: flex; justify-content: space-between; align-items: center; border-bottom: 1px solid rgba(255, 255, 255, 0.05); height: 36px; } .title { color: #e0e0e0; font-family: 'Libre Baskerville', serif; font-size: 14px; font-weight: 400; letter-spacing: 0.5px; display: flex; align-items: center; gap: 8px; } .app-logo { width: 19px; height: 19px; border-radius: 6px; opacity: 0.8; } .controls { -webkit-app-region: no-drag; display: flex; gap: 8px; margin-right: -10px; } .control-btn { width: 28px; height: 28px; border: none; background: rgba(255, 255, 255, 0.05); color: #a0a0a0; border-radius: 6px; cursor: pointer; display: flex; align-items: center; justify-content: center; font-size: 16px; transition: all 0.2s ease; } .control-btn:hover { background: rgba(255, 255, 255, 0.1); color: #ffffff; } .close-btn:hover { background: #e74c3c; color: white; } #settings-app { width: 100%; min-height: 100vh; display: flex; flex-direction: column; } .settings-container { max-width: 600px; margin: 0 auto; padding: 24px; flex: 1; overflow-y: auto; max-height: calc(100vh - 36px); /* Account for title bar height */ } .settings-section { margin-bottom: 24px; } .settings-section h2 { font-size: 20px; font-weight: 700; margin-bottom: 20px; color: #e0e0e0; letter-spacing: 0.3px; } /* 2-Column Grid for Color Pickers */ .color-grid-2col { display: grid; grid-template-columns: repeat(2, 1fr); gap: 16px; margin-bottom: 16px; } .color-item { display: flex; flex-direction: column; align-items: center; gap: 8px; } .color-item label { font-size: 11px; font-weight: 600; text-transform: uppercase; letter-spacing: 0.5px; color: #a0a0a0; text-align: center; } .color-item input[type="color"] { width: 80px; height: 50px; border: 2px solid rgba(255, 255, 255, 0.2); border-radius: 8px; background: transparent; cursor: pointer; padding: 4px; transition: all 0.2s ease; } .color-item input[type="color"]:hover { border-color: rgba(255, 255, 255, 0.4); transform: translateY(-2px); box-shadow: 0 4px 12px rgba(0, 0, 0, 0.2); } .color-item input[type="color"]::-webkit-color-swatch-wrapper { padding: 0; } .color-item input[type="color"]::-webkit-color-swatch { border: none; border-radius: 6px; } /* Buttons */ .btn-secondary, .btn-danger, .btn-coffee { width: 100%; padding: 10px 16px; border-radius: 8px; font-size: 13px; font-weight: 600; cursor: pointer; transition: all 0.2s ease; border: none; display: flex; align-items: center; justify-content: center; gap: 8px; } .btn-secondary { background: rgba(255, 255, 255, 0.1); color: #e0e0e0; border: 1px solid rgba(255, 255, 255, 0.2); } .btn-secondary:hover { background: rgba(255, 255, 255, 0.15); transform: translateY(-1px); } .btn-danger { background: transparent; color: #ef4444; border: 1px solid rgba(239, 68, 68, 0.5); } .btn-danger:hover { background: rgba(239, 68, 68, 0.15); border-color: rgba(239, 68, 68, 0.7); } .btn-coffee { background: linear-gradient(135deg, #FFD700 0%, #FFA500 100%); color: #1a1a1a; } .btn-coffee:hover { transform: translateY(-2px); box-shadow: 0 6px 16px rgba(255, 165, 0, 0.4); } .btn-coffee svg { flex-shrink: 0; } /* Divider */ .divider { width: 100%; height: 1px; background: rgba(255, 255, 255, 0.15); margin: 24px 0; box-shadow: 0 1px 2px rgba(0, 0, 0, 0.1); } /* Disclaimer */ .disclaimer { font-size: 11px; color: #666; text-align: center; line-height: 1.5; } .disclaimer strong { color: #888; } /* Disclaimer spacing */ .disclaimer { margin-top: 16px; } /* Setting Groups */ .setting-group { margin-bottom: 24px; } .setting-group:last-child { margin-bottom: 0; } .setting-group h3 { font-size: 13px; font-weight: 600; margin-bottom: 8px; color: #e5e7eb; text-transform: uppercase; letter-spacing: 0.5px; } .setting-description { color: #9ca3af; font-size: 12px; margin-bottom: 12px; line-height: 1.4; } /* Radio Buttons */ .radio-group { display: flex; flex-direction: column; gap: 10px; margin-bottom: 20px; } .radio-item { display: flex; align-items: center; gap: 12px; padding: 12px; border-radius: 8px; border: 1px solid rgba(255, 255, 255, 0.1); cursor: pointer; transition: all 0.2s; background: rgba(255, 255, 255, 0.03); } .radio-item:hover { background: rgba(139, 92, 246, 0.1); border-color: rgba(139, 92, 246, 0.3); } .radio-item input[type="radio"] { width: 18px; height: 18px; cursor: pointer; margin: 0; flex-shrink: 0; accent-color: #8b5cf6; } .radio-content { display: flex; flex-direction: column; gap: 2px; } .radio-label { font-weight: 500; color: #e5e7eb; font-size: 13px; } .radio-sublabel { font-size: 11px; color: #9ca3af; } /* Slider */ .slider-container { display: flex; flex-direction: column; gap: 10px; margin-top: 12px; margin-bottom: 20px; } .slider-container input[type="range"] { width: 100%; height: 6px; border-radius: 3px; background: rgba(255, 255, 255, 0.1); outline: none; -webkit-appearance: none; } .slider-container input[type="range"]::-webkit-slider-thumb { -webkit-appearance: none; appearance: none; width: 18px; height: 18px; border-radius: 50%; background: #8b5cf6; cursor: pointer; transition: background 0.2s; } .slider-container input[type="range"]::-webkit-slider-thumb:hover { background: #a78bfa; } .slider-container input[type="range"]::-moz-range-thumb { width: 18px; height: 18px; border-radius: 50%; background: #8b5cf6; cursor: pointer; border: none; transition: background 0.2s; } .slider-container input[type="range"]::-moz-range-thumb:hover { background: #a78bfa; } .slider-value { text-align: center; font-size: 14px; color: #e5e7eb; } .slider-value span { font-weight: 600; color: #8b5cf6; font-size: 16px; } /* Toggle Switch */ .toggle-switch { display: flex; align-items: center; gap: 12px; cursor: pointer; } .toggle-switch input[type="checkbox"] { display: none; } .toggle-slider { position: relative; width: 48px; height: 24px; background: rgba(255, 255, 255, 0.1); border-radius: 12px; transition: background 0.3s; flex-shrink: 0; } .toggle-slider::before { content: ''; position: absolute; width: 20px; height: 20px; border-radius: 50%; background: #9ca3af; top: 2px; left: 2px; transition: all 0.3s; } .toggle-switch input[type="checkbox"]:checked + .toggle-slider { background: rgba(139, 92, 246, 0.3); } .toggle-switch input[type="checkbox"]:checked + .toggle-slider::before { background: #8b5cf6; transform: translateX(24px); } .toggle-label { font-size: 13px; color: #9ca3af; transition: color 0.3s; } .toggle-switch input[type="checkbox"]:checked ~ .toggle-label { color: #8b5cf6; } /* Custom Scrollbar */ .settings-container::-webkit-scrollbar { width: 8px; } .settings-container::-webkit-scrollbar-track { background: rgba(255, 255, 255, 0.05); border-radius: 4px; } .settings-container::-webkit-scrollbar-thumb { background: rgba(139, 92, 246, 0.3); border-radius: 4px; transition: background 0.3s; } .settings-container::-webkit-scrollbar-thumb:hover { background: rgba(139, 92, 246, 0.5); } /* Collapsible Sections */ .collapsible-section { margin-top: 20px; margin-bottom: 20px; } .collapsible-section:first-child { margin-top: 0; } /* Add extra space when a setting-group follows a collapsible-section */ .collapsible-section + .setting-group { margin-top: 28px; } .collapsible-header { width: 100%; display: flex; justify-content: space-between; align-items: center; padding: 12px 16px; background: rgba(255, 255, 255, 0.05); border: 1px solid rgba(255, 255, 255, 0.1); border-radius: 8px; cursor: pointer; transition: all 0.2s; color: #e5e7eb; font-size: 13px; font-weight: 600; } .collapsible-header:hover { background: rgba(139, 92, 246, 0.1); border-color: rgba(139, 92, 246, 0.3); } .collapsible-header span { text-transform: uppercase; letter-spacing: 0.5px; } .collapsible-header .chevron { transition: transform 0.3s ease; color: #9ca3af; } .collapsible-header.active .chevron { transform: rotate(180deg); } .collapsible-content { max-height: 0; overflow: hidden; transition: max-height 0.3s ease; padding: 0 16px; } .collapsible-content.active { max-height: 1000px; padding: 16px; padding-top: 16px; } /* Setting Item Spacing */ .setting-item { margin-bottom: 12px; } .setting-item:last-child { margin-bottom: 0; } .setting-item .setting-description { margin: 4px 0 0 60px; font-size: 11px; color: rgba(255, 255, 255, 0.5); line-height: 1.4; } /* Theme Grid */ .theme-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 16px; margin-bottom: 16px; } .theme-item { display: flex; flex-direction: column; align-items: center; gap: 8px; } .theme-item label { font-size: 11px; font-weight: 600; text-transform: uppercase; letter-spacing: 0.5px; color: #a0a0a0; text-align: center; } .theme-item input[type="color"] { width: 80px; height: 50px; border: 2px solid rgba(255, 255, 255, 0.2); border-radius: 8px; background: transparent; cursor: pointer; padding: 4px; transition: all 0.2s ease; } .theme-item input[type="color"]:hover { border-color: rgba(255, 255, 255, 0.4); transform: translateY(-2px); box-shadow: 0 4px 12px rgba(0, 0, 0, 0.2); } .theme-item input[type="color"]::-webkit-color-swatch-wrapper { padding: 0; } .theme-item input[type="color"]::-webkit-color-swatch { border: none; border-radius: 6px; }