:root { --bg-1: #081c15; --bg-2: #1b4332; --panel: rgba(216, 243, 220, 0.12); --panel-border: rgba(216, 243, 220, 0.35); --text: #f1faee; --muted: #cde6d0; --accent: #95d5b2; --accent-2: #74c69d; --danger: #e63946; --danger-2: #c1121f; } * { box-sizing: border-box; } body { margin: 0; min-height: 100vh; color: var(--text); font-family: "Avenir Next", "Segoe UI", sans-serif; background: radial-gradient(circle at top right, #2d6a4f 0%, var(--bg-2) 35%, var(--bg-1) 100%); display: flex; flex-direction: column; align-items: center; padding: 20px; } .app { width: 100%; max-width: 680px; display: flex; flex-direction: column; gap: 16px; min-width: 0; } h1 { margin: 0; font-size: clamp(2rem, 4vw, 2.8rem); letter-spacing: 0.02em; } header { display: grid; gap: 4px; } header p { margin: 0; color: var(--muted); } .card { backdrop-filter: blur(6px); background: var(--panel); border: 1px solid var(--panel-border); border-radius: 18px; padding: 18px; display: flex; flex-direction: column; gap: 12px; min-width: 0; } label { font-weight: 600; } select, input, button { width: 100%; border: 1px solid rgba(241, 250, 238, 0.25); border-radius: 10px; padding: 10px; font: inherit; } select, input { background: rgba(0, 0, 0, 0.2); color: var(--text); } input::placeholder { color: var(--muted); opacity: 0.7; } button { cursor: pointer; color: #052e16; font-weight: 700; background: linear-gradient(180deg, var(--accent), var(--accent-2)); } button:hover { filter: brightness(1.05); } button:disabled { opacity: 0.5; cursor: not-allowed; } .btn-danger { color: #fff; background: linear-gradient(180deg, var(--danger), var(--danger-2)); flex-shrink: 0; width: auto; padding: 8px 14px; } .hint { margin: 0; color: var(--muted); font-size: 0.95rem; } #manage-list { display: flex; flex-direction: column; gap: 10px; } .track-item { display: flex; align-items: center; gap: 10px; min-width: 0; } .track-item--col { flex-direction: column; align-items: stretch; gap: 6px; } .track-row { display: flex; align-items: center; gap: 10px; min-width: 0; } .track-skip { display: flex; align-items: center; gap: 8px; } .skip-label { font-weight: normal; font-size: 0.875rem; color: var(--muted); white-space: nowrap; } .skip-input { width: 70px; flex-shrink: 0; } .skip-unit { color: var(--muted); font-size: 0.875rem; white-space: nowrap; } .btn-save { width: auto; padding: 6px 12px; font-size: 0.875rem; } .track-title { flex: 1; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; } .track-item button { flex-shrink: 0; width: auto; padding: 8px 14px; } .track-source { flex-shrink: 0; font-size: 0.85rem; color: #4a90e2; text-decoration: none; padding: 4px 8px; } .track-source:hover { text-decoration: underline; }