:root { --bg: #09111f; --bg-soft: rgba(12, 23, 44, 0.72); --panel: rgba(20, 33, 58, 0.88); --line: rgba(255, 255, 255, 0.1); --text: #eff6ff; --muted: #9fb3c8; --accent: #61d7b6; --accent-2: #f6b15f; --danger: #ff7b7b; --shadow: 0 24px 70px rgba(0, 0, 0, 0.35); } * { box-sizing: border-box; } body { margin: 0; min-height: 100vh; font-family: "Segoe UI", "PingFang SC", sans-serif; color: var(--text); background: radial-gradient(circle at top left, rgba(97, 215, 182, 0.22), transparent 30%), radial-gradient(circle at top right, rgba(246, 177, 95, 0.18), transparent 28%), linear-gradient(135deg, #08101d 0%, #0d1d35 54%, #10284c 100%); } .page-shell { display: grid; grid-template-columns: 340px 1fr; gap: 24px; padding: 24px; } .glass { backdrop-filter: blur(18px); background: var(--bg-soft); border: 1px solid var(--line); border-radius: 24px; box-shadow: var(--shadow); } .sidebar, .content { display: flex; flex-direction: column; gap: 20px; } .sidebar { padding: 24px; } .brand h1, .hero h2 { margin: 0; font-size: 2rem; } .eyebrow { margin: 0 0 10px; text-transform: uppercase; letter-spacing: 0.18em; font-size: 0.72rem; color: var(--accent); } .subtext { color: var(--muted); line-height: 1.6; } .panel, .hero, .library-panel, .queue-panel { padding: 20px; } .panel-head { display: flex; justify-content: space-between; align-items: center; gap: 16px; margin-bottom: 14px; } .panel-head h2 { margin: 0; font-size: 1.05rem; } .field { display: flex; flex-direction: column; gap: 8px; margin-bottom: 12px; color: var(--muted); font-size: 0.92rem; } input { width: 100%; border: 1px solid var(--line); background: rgba(255, 255, 255, 0.04); color: var(--text); border-radius: 14px; padding: 12px 14px; } button { border: 0; border-radius: 999px; padding: 11px 16px; cursor: pointer; transition: transform 0.18s ease, opacity 0.18s ease, background 0.18s ease; } button:hover { transform: translateY(-1px); } .primary-btn { background: linear-gradient(135deg, var(--accent), #2eb6f0); color: #072035; font-weight: 700; } .secondary-btn, .ghost-btn { background: rgba(255, 255, 255, 0.07); color: var(--text); } .secondary-btn.active, .ghost-btn.active { background: rgba(97, 215, 182, 0.18); color: var(--accent); } .content { min-width: 0; } .hero { display: flex; flex-direction: column; gap: 18px; } .hero-actions { display: flex; flex-wrap: wrap; gap: 12px; } audio { width: 100%; } .library-grid { display: grid; grid-template-columns: 1.1fr 1fr; gap: 24px; } .folder-tree, .queue-list, .playlist-list { display: flex; flex-direction: column; gap: 12px; max-height: 62vh; overflow: auto; padding-right: 4px; } .folder-node { border: 1px solid var(--line); border-radius: 18px; padding: 14px; background: rgba(255, 255, 255, 0.03); } .folder-node h3, .folder-node h4 { margin: 0 0 8px; } .folder-actions, .track-actions { display: flex; flex-wrap: wrap; gap: 8px; } .track-item, .playlist-item { display: flex; justify-content: space-between; gap: 12px; align-items: center; border: 1px solid var(--line); border-radius: 18px; padding: 14px; background: rgba(255, 255, 255, 0.03); } .track-name { display: block; margin-bottom: 5px; } .track-path { margin: 0; color: var(--muted); font-size: 0.88rem; word-break: break-all; } .playlist-item p { margin: 4px 0 0; color: var(--muted); } @media (max-width: 1080px) { .page-shell, .library-grid { grid-template-columns: 1fr; } .sidebar { order: 2; } }