:root{--bg-void: #0a0a0c;--bg-base: #121214;--bg-elevated: #1a1a1d;--bg-hover: #242428;--bg-active: #2a2a2f;--accent: #3ddc84;--accent-dim: #2a9d5c;--text-primary: #f5f5f2;--text-secondary: #a3a3a8;--text-tertiary: #6e6e74;--border-subtle: #232326;--error: #e0574f;--radius-sm: 4px;--radius-md: 8px;--font-ui: "Manrope", -apple-system, BlinkMacSystemFont, sans-serif;--font-mono: "Space Mono", monospace}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{background:var(--bg-void);color:var(--text-primary);font-family:var(--font-ui);-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button{font-family:inherit;cursor:pointer}input,select{font-family:inherit}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-thumb{background:var(--bg-hover);border-radius:8px}::-webkit-scrollbar-track{background:transparent}.app-shell{display:grid;grid-template-columns:240px 1fr;height:100vh}.sidebar{background:var(--bg-void);border-right:1px solid var(--border-subtle);padding:24px 12px;display:flex;flex-direction:column}.brand{display:flex;align-items:center;gap:10px;padding:0 12px 28px}.brand-mark{width:30px;height:30px;border-radius:8px;background:var(--accent);color:#06140b;font-weight:800;font-family:var(--font-mono);display:flex;align-items:center;justify-content:center;font-size:16px}.brand-name{font-weight:800;font-size:17px;letter-spacing:-.01em}.nav{display:flex;flex-direction:column;gap:2px}.nav-item{display:flex;align-items:center;gap:14px;padding:10px 12px;border-radius:var(--radius-sm);color:var(--text-secondary);font-weight:600;font-size:14.5px;transition:background .12s,color .12s}.nav-item svg{width:20px;height:20px;flex-shrink:0}.nav-item:hover,.nav-item.active{color:var(--text-primary);background:var(--bg-elevated)}.nav-item.active svg{color:var(--accent)}.sidebar-footer{margin-top:auto;padding:12px;color:var(--text-tertiary);font-size:12px}.main-content{overflow-y:auto;background:linear-gradient(180deg,#17181a 0%,var(--bg-base) 320px)}.page{padding:32px 40px 40px;max-width:900px}.page-header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:24px;flex-wrap:wrap}.page-header h1{font-size:28px;margin:0;letter-spacing:-.02em}.page-loading,.no-results{padding:40px 0;color:var(--text-secondary)}.primary-btn{background:var(--accent);color:#06140b;border:none;border-radius:999px;padding:11px 26px;font-weight:700;font-size:14px;transition:transform .1s,background .15s}.primary-btn:hover{transform:scale(1.03);background:#4fe895}.primary-btn:disabled{opacity:.6;cursor:default;transform:none}.ghost-btn{background:transparent;border:1px solid var(--border-subtle);color:var(--text-secondary);border-radius:999px;padding:8px 18px;font-weight:600;font-size:13px}.ghost-btn:hover{color:var(--text-primary);border-color:var(--text-tertiary)}.ghost-btn.small{padding:5px 14px;font-size:12px}.error-banner{background:#e0574f1f;border:1px solid rgba(224,87,79,.35);color:#f4a9a4;padding:10px 16px;border-radius:var(--radius-sm);font-size:13.5px;margin-bottom:16px}.success-banner{background:#3ddc841f;border:1px solid rgba(61,220,132,.35);color:var(--accent);padding:10px 16px;border-radius:var(--radius-sm);font-size:13.5px;margin-top:4px}.search-input-wrap{display:flex;align-items:center;gap:10px;background:var(--bg-elevated);border-radius:999px;padding:12px 18px;max-width:480px;margin-bottom:28px}.search-input-wrap svg{width:18px;height:18px;color:var(--text-secondary);flex-shrink:0}.search-input{background:none;border:none;outline:none;color:var(--text-primary);font-size:15px;width:100%}.artist-results{display:flex;flex-direction:column;gap:2px}.artist-result-row{display:flex;align-items:center;gap:16px;padding:10px 12px;border-radius:var(--radius-sm);background:none;border:none;color:inherit;text-align:left;width:100%}.artist-result-row:hover{background:var(--bg-elevated)}.artist-avatar{width:44px;height:44px;border-radius:50%;background:var(--bg-active);display:flex;align-items:center;justify-content:center;color:var(--text-tertiary);flex-shrink:0}.artist-avatar svg{width:22px;height:22px}.artist-row-name{font-weight:700;font-size:15px}.artist-row-count{font-size:12.5px;color:var(--text-secondary)}.toggle-row{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--text-secondary);white-space:nowrap}.album-list{display:flex;flex-direction:column;gap:2px;margin-bottom:24px}.cover-img{border-radius:4px;object-fit:cover;flex-shrink:0}.cover-placeholder{border-radius:4px;background:var(--bg-active);display:flex;align-items:center;justify-content:center;color:var(--text-tertiary);flex-shrink:0}.cover-placeholder svg{width:45%;height:45%}.album-row{border-radius:var(--radius-sm)}.album-row.expanded{background:var(--bg-elevated)}.album-row-main{display:flex;align-items:center;gap:12px;padding:8px 10px}.album-row:not(.expanded):hover .album-row-main{background:var(--bg-elevated);border-radius:var(--radius-sm)}.expand-btn{background:none;border:none;color:var(--text-tertiary);width:22px;height:22px;display:flex;align-items:center;justify-content:center;flex-shrink:0;padding:0}.expand-btn:hover{color:var(--text-primary)}.album-row-info{flex:1;min-width:0;cursor:pointer}.album-row-title{font-weight:700;font-size:14.5px}.album-row-meta{font-size:12.5px;color:var(--text-secondary);margin-top:2px}.tracklist{padding:4px 10px 16px 80px;display:flex;flex-direction:column;gap:1px}.tracklist-row{display:grid;grid-template-columns:28px 1fr auto;gap:10px;align-items:center;padding:5px 8px;border-radius:var(--radius-sm);font-size:13px}.tracklist-row:hover{background:var(--bg-hover)}.tracklist-num{font-family:var(--font-mono);color:var(--text-tertiary);font-size:12px}.tracklist-length{font-family:var(--font-mono);color:var(--text-secondary);font-size:11.5px}.tracklist-loading{padding:8px;color:var(--text-tertiary);font-size:13px}.tracklist-note{padding:8px;margin-top:4px;color:var(--text-tertiary);font-size:11.5px;font-style:italic}.request-list{display:flex;flex-direction:column;gap:2px}.request-row{display:flex;align-items:center;gap:16px;padding:12px;border-radius:var(--radius-sm)}.request-row:hover{background:var(--bg-elevated)}.request-row-info{flex:1;min-width:0}.request-row-title{font-weight:700;font-size:14.5px}.request-row-artist{font-size:12.5px;color:var(--text-secondary)}.request-row-message{font-size:11.5px;color:var(--error);margin-top:3px}.request-row-status{display:flex;align-items:center;gap:10px;flex-shrink:0}.status-badge{font-size:11.5px;font-weight:700;padding:5px 12px;border-radius:999px;white-space:nowrap}.status-pending{background:#a3a3a826;color:var(--text-secondary)}.status-monitored{background:#3ddc8426;color:var(--accent)}.status-error{background:#e0574f26;color:#f4a9a4}.settings-page{max-width:640px}.settings-section{background:var(--bg-elevated);border-radius:var(--radius-md);padding:24px;margin-bottom:20px}.settings-section h2{font-size:17px;margin:0 0 6px}.settings-hint{font-size:13px;color:var(--text-secondary);margin:0 0 18px;line-height:1.5}.settings-form{display:flex;flex-direction:column;gap:14px}.settings-form label{display:flex;flex-direction:column;gap:6px;font-size:13px;font-weight:600;color:var(--text-secondary)}.settings-form input,.settings-form select{background:var(--bg-active);border:1px solid var(--border-subtle);border-radius:var(--radius-sm);padding:10px 12px;color:var(--text-primary);font-size:14px;outline:none}.settings-form input:focus,.settings-form select:focus{border-color:var(--accent)}.settings-form button{align-self:flex-start;margin-top:4px}@media (max-width: 768px){.app-shell{grid-template-columns:1fr;grid-template-rows:auto 1fr}.sidebar{flex-direction:row;align-items:center;padding:12px 16px;border-right:none;border-bottom:1px solid var(--border-subtle)}.brand{padding:0;margin-right:20px}.nav{flex-direction:row}.nav-item span,.sidebar-footer{display:none}.page{padding:20px 16px 90px}.request-bar{left:0;padding:14px 16px;flex-direction:column;align-items:stretch;gap:10px}.request-bar .primary-btn{width:100%}}
