/* ============================================================ Volume Booster — Popup Styles Aesthetik: dunkles "Audio-Studio"-Panel, warmer Amber-Akzent, prägnante Typografie, taktile Buttons. ============================================================ */ @import url('https://fonts.googleapis.com/css2?family=Sora:wght@400;600;700&family=DM+Mono:wght@400;500&display=swap'); :root { --bg: #15171c; --panel: #1d2027; --panel-2: #23272f; --line: #2f343d; --text: #e8e6e1; --text-dim: #8b8f99; --accent: #ff9d2f; --accent-dk: #e07d12; --accent-gl: rgba(255, 157, 47, 0.18); --danger: #ff5d5d; --radius: 14px; } * { margin: 0; padding: 0; box-sizing: border-box; } body { width: 320px; font-family: 'Sora', sans-serif; background: radial-gradient(120% 80% at 50% -10%, #232730 0%, var(--bg) 60%); color: var(--text); -webkit-font-smoothing: antialiased; user-select: none; } .app { padding: 18px 18px 16px; display: flex; flex-direction: column; gap: 16px; } /* ---------- Kopf ---------- */ .head { display: flex; align-items: center; justify-content: space-between; } .brand { display: flex; align-items: center; gap: 11px; } .brand-ico { width: 34px; height: 34px; color: var(--accent); padding: 7px; background: var(--accent-gl); border-radius: 10px; flex-shrink: 0; } .brand-text { display: flex; flex-direction: column; line-height: 1.25; } .brand-name { font-weight: 700; font-size: 14px; letter-spacing: .2px; } .brand-site { font-size: 11px; color: var(--text-dim); max-width: 150px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; } .badge { font-family: 'DM Mono', monospace; font-size: 12px; font-weight: 500; padding: 5px 9px; border-radius: 8px; background: var(--panel-2); border: 1px solid var(--line); color: var(--text-dim); transition: all .2s ease; } .badge.boosting { color: var(--accent); border-color: var(--accent-dk); background: var(--accent-gl); } /* ---------- Großer Wert ---------- */ .readout { display: flex; align-items: baseline; justify-content: center; gap: 4px; padding: 6px 0 2px; } .readout-value { font-family: 'DM Mono', monospace; font-size: 54px; font-weight: 500; letter-spacing: -1px; line-height: 1; background: linear-gradient(180deg, #fff, #cfcdc7); -webkit-background-clip: text; -webkit-text-fill-color: transparent; transition: color .15s; } .readout.boosting .readout-value { background: linear-gradient(180deg, #ffd9a0, var(--accent)); -webkit-background-clip: text; } .readout-unit { font-size: 20px; color: var(--text-dim); font-weight: 600; } /* ---------- Slider ---------- */ .slider-wrap { padding: 0 2px; } input[type="range"] { -webkit-appearance: none; width: 100%; height: 8px; border-radius: 6px; background: var(--panel-2); border: 1px solid var(--line); outline: none; cursor: pointer; } input[type="range"]::-webkit-slider-thumb { -webkit-appearance: none; width: 22px; height: 22px; border-radius: 50%; background: radial-gradient(circle at 35% 30%, #ffce8f, var(--accent) 70%); border: 2px solid #1a1c22; box-shadow: 0 0 0 1px var(--accent-dk), 0 4px 10px rgba(0,0,0,.5); transition: transform .12s ease; } input[type="range"]::-webkit-slider-thumb:active { transform: scale(1.18); } .ticks { display: flex; justify-content: space-between; margin-top: 7px; font-family: 'DM Mono', monospace; font-size: 10px; color: var(--text-dim); } /* ---------- Steuerknöpfe ---------- */ .controls { display: grid; grid-template-columns: 1fr 1fr 1fr; gap: 10px; } .ctrl { height: 50px; border-radius: var(--radius); border: 1px solid var(--line); background: linear-gradient(180deg, var(--panel-2), var(--panel)); color: var(--text); display: flex; align-items: center; justify-content: center; cursor: pointer; transition: transform .1s ease, border-color .15s, background .15s; } .ctrl svg { width: 22px; height: 22px; } .ctrl:hover { border-color: var(--accent-dk); } .ctrl:active { transform: translateY(2px) scale(.97); } .ctrl-mute { color: var(--text-dim); } .ctrl-mute.active { color: var(--danger); border-color: var(--danger); background: rgba(255, 93, 93, .12); } /* ---------- Presets ---------- */ .presets { display: grid; grid-template-columns: repeat(4, 1fr); gap: 8px; } .preset { font-family: 'DM Mono', monospace; font-size: 11px; font-weight: 500; padding: 8px 4px; border-radius: 10px; border: 1px solid var(--line); background: var(--panel); color: var(--text-dim); cursor: pointer; display: flex; flex-direction: column; align-items: center; gap: 3px; transition: all .15s ease; } .preset svg { width: 14px; height: 14px; } .preset:hover { color: var(--text); border-color: #3c424d; } .preset.active { color: var(--accent); border-color: var(--accent-dk); background: var(--accent-gl); } /* ---------- Hinweis ---------- */ .note { font-size: 10.5px; color: var(--text-dim); text-align: center; line-height: 1.5; padding-top: 2px; } .note.error { color: var(--danger); }