:root{--bg: #13111c;--surface: #1e1b2e;--surface-2: #2a2640;--text: #ece9f5;--muted: #9a93b8;--primary: #8b6dff;--primary-text: #ffffff;--error: #ff6b81;--border: #322d4a}*{box-sizing:border-box}html,body,#root{margin:0;height:100%}body{background:var(--bg);color:var(--text);font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif;-webkit-font-smoothing:antialiased}.app{display:flex;flex-direction:column;height:100dvh}.content{flex:1;overflow-y:auto;padding-bottom:16px}.header{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;background:var(--surface);border-bottom:1px solid var(--border);padding-top:max(12px,env(safe-area-inset-top))}.child-switcher{background:var(--surface-2);color:var(--text);border:1px solid var(--border);border-radius:999px;padding:8px 14px;font-size:16px;font-weight:600}.year-bookmark{display:flex;align-items:center;gap:8px}.year-value{font-size:20px;font-weight:700;min-width:56px;text-align:center}.year-step{width:40px;height:40px;border-radius:12px;border:1px solid var(--border);background:var(--surface-2);color:var(--text);font-size:22px}.list{padding:12px}.section-title{margin:8px 4px 12px;font-size:20px}.section-subtitle{margin:20px 4px 8px;font-size:15px;color:var(--muted)}.song-card{display:flex;align-items:center;justify-content:space-between;gap:12px;background:var(--surface);border:1px solid var(--border);border-radius:16px;padding:14px 16px;margin-bottom:10px}.song-card.done{opacity:.85}.album-art{width:48px;height:48px;border-radius:8px;object-fit:cover;flex-shrink:0;background:var(--border)}.song-info{min-width:0;flex:1}.song-title{font-size:17px;font-weight:600}.song-artist{font-size:14px;color:var(--muted)}.song-meta{font-size:13px;color:var(--muted);margin-top:4px}.song-actions{display:flex;gap:8px}button{cursor:pointer;font-family:inherit}.primary{background:var(--primary);color:var(--primary-text);border:none;border-radius:12px;padding:12px 18px;font-size:16px;font-weight:600;white-space:nowrap}.play-btn{min-width:92px}.ghost{background:var(--surface-2);color:var(--text);border:1px solid var(--border);border-radius:12px;padding:10px 14px;font-size:15px}.ghost.danger{color:#e5484d;border-color:#e5484d55}.row{display:flex;gap:10px;margin-bottom:12px;align-items:flex-end}.field{display:flex;flex-direction:column;gap:4px;font-size:13px;color:var(--muted);flex:1}input,select.sort{background:var(--surface-2);color:var(--text);border:1px solid var(--border);border-radius:12px;padding:12px 14px;font-size:16px}.search{flex:1}.status{color:var(--primary);padding:0 4px 8px}.tabbar{display:flex;border-top:1px solid var(--border);background:var(--surface);padding-bottom:env(safe-area-inset-bottom)}.tab{flex:1;background:none;border:none;color:var(--muted);padding:10px 0 12px;display:flex;flex-direction:column;align-items:center;gap:2px;font-size:12px}.tab.active{color:var(--text)}.tab-icon{font-size:22px}.center{height:100dvh;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px}.muted{color:var(--muted)}.error{color:var(--error)}.pad{padding:16px 4px}
