:root {
    --primary: #ff6b9d;
    --primary-dark: #e91e63;
    --secondary: #9c27b0;
    --accent: #ff9800;
    --bg: #f8f9fa;
    --card: #fff;
    --text: #333;
    --text-secondary: #666;
    --text-light: #999;
    --border: #e8e8e8;
    --shadow: 0 2px 12px rgba(0,0,0,0.08);
    --radius: 12px;
    --header-height: 56px;
    --nav-height: 56px;
    --safe-bottom: env(safe-area-inset-bottom, 0);
}

[data-theme="dark"] {
    --bg: #121212;
    --card: #1e1e1e;
    --text: #e0e0e0;
    --text-secondary: #aaa;
    --text-light: #777;
    --border: #333;
    --shadow: 0 2px 12px rgba(0,0,0,0.3);
}

* { margin:0; padding:0; box-sizing:border-box; }
html { scroll-behavior:smooth; }
body {
    font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;
    background:var(--bg);
    color:var(--text);
    line-height:1.5;
    padding-bottom:calc(var(--nav-height) + var(--safe-bottom) + 20px);
    min-height:100vh;
}

a { color:inherit; text-decoration:none; }
img { max-width:100%; display:block; }
button,input,textarea,select {
    font-family:inherit; font-size:15px; border:none; outline:none;
}
button { cursor:pointer; }

/* Header */
.header {
    position:fixed; top:0; left:0; right:0; height:var(--header-height);
    background:linear-gradient(135deg, var(--primary) 0%, var(--secondary) 100%);
    color:#fff; z-index:1000; display:flex; align-items:center;
    padding:0 16px; box-shadow:0 2px 8px rgba(0,0,0,0.15);
}
.header .logo { font-size:20px; font-weight:bold; }
.header .search-btn {
    margin-left:auto; width:36px; height:36px; border-radius:50%;
    background:rgba(255,255,255,0.2); display:flex; align-items:center;
    justify-content:center; color:#fff; font-size:18px;
}

/* Search Panel */
.search-panel {
    position:fixed; top:0; left:0; right:0; bottom:0; background:var(--bg);
    z-index:1100; display:none; flex-direction:column;
}
.search-panel.active { display:flex; }
.search-panel .search-header {
    display:flex; align-items:center; padding:10px 16px;
    border-bottom:1px solid var(--border); gap:10px;
}
.search-panel input {
    flex:1; height:40px; background:var(--card); border-radius:20px;
    padding:0 16px; color:var(--text); border:1px solid var(--border);
}
.search-panel .close-search { font-size:24px; color:var(--text); }

/* Nav Dropdown */
.nav-dropdown {
    position:fixed; top:var(--header-height); left:0; right:0;
    background:var(--card); box-shadow:var(--shadow); z-index:999;
    display:none; padding:12px 16px; border-bottom:1px solid var(--border);
}
.nav-dropdown.active { display:block; }
.nav-dropdown a {
    display:flex; align-items:center; padding:12px 0;
    border-bottom:1px solid var(--border); color:var(--text);
    font-size:15px; gap:10px;
}
.nav-dropdown a:last-child { border-bottom:none; }
.nav-dropdown .icon { width:24px; text-align:center; }

/* Content */
.content { padding-top:calc(var(--header-height) + 12px); }
.container { padding:0 12px; }

/* Section Title */
.section-title {
    font-size:18px; font-weight:600; margin:16px 0 12px;
    display:flex; align-items:center; gap:8px;
}
.section-title::before {
    content:''; width:4px; height:18px;
    background:linear-gradient(180deg, var(--primary), var(--secondary));
    border-radius:2px;
}

/* Song List */
.song-list { display:flex; flex-direction:column; gap:12px; }
.song-card {
    background:var(--card); border-radius:var(--radius);
    box-shadow:var(--shadow); overflow:hidden; display:flex;
    padding:12px; gap:12px;
}
.song-card .cover {
    width:80px; height:80px; border-radius:8px;
    object-fit:cover; flex-shrink:0;
    background:linear-gradient(135deg, var(--primary), var(--secondary));
}
.song-card .cover .placeholder {
    width:100%; height:100%; display:flex; align-items:center;
    justify-content:center; color:#fff; font-size:28px;
}
.song-card .info { flex:1; min-width:0; }
.song-card .title {
    font-size:15px; font-weight:600; color:var(--text);
    overflow:hidden; text-overflow:ellipsis; white-space:nowrap;
}
.song-card .meta {
    font-size:13px; color:var(--text-secondary); margin-top:4px;
    overflow:hidden; text-overflow:ellipsis; white-space:nowrap;
}
.song-card .tags { margin-top:6px; display:flex; gap:6px; flex-wrap:wrap; }
.song-card .tag {
    font-size:11px; padding:2px 8px; border-radius:10px;
    background:rgba(255,107,157,0.1); color:var(--primary);
}
.song-card .stats {
    display:flex; align-items:center; gap:12px; margin-top:8px;
    font-size:12px; color:var(--text-light);
}
.song-card .stats span { display:flex; align-items:center; gap:4px; }
.song-card .play-btn {
    width:40px; height:40px; border-radius:50%;
    background:linear-gradient(135deg, var(--primary), var(--secondary));
    color:#fff; display:flex; align-items:center; justify-content:center;
    flex-shrink:0; align-self:center; font-size:16px;
}

/* Grid for PC */
@media (min-width:768px) {
    .song-grid { display:grid; grid-template-columns:repeat(2, 1fr); gap:16px; }
    .song-grid .song-card { flex-direction:column; padding:0 0 12px; }
    .song-grid .song-card .cover { width:100%; height:180px; border-radius:var(--radius) var(--radius) 0 0; }
    .song-grid .song-card .info { padding:0 12px; }
}

/* Player Bar */
.player-bar {
    position:fixed; bottom:calc(var(--nav-height) + var(--safe-bottom));
    left:0; right:0; background:var(--card); border-top:1px solid var(--border);
    padding:8px 16px; display:none; align-items:center; gap:10px; z-index:900;
}
.player-bar.active { display:flex; }
.player-bar .p-cover { width:40px; height:40px; border-radius:6px; background:var(--primary); }
.player-bar .p-info { flex:1; min-width:0; }
.player-bar .p-title { font-size:13px; font-weight:500; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.player-bar .p-artist { font-size:11px; color:var(--text-light); }
.player-bar .p-ctrl { display:flex; gap:12px; }
.player-bar .p-ctrl button {
    width:36px; height:36px; border-radius:50%; background:var(--bg);
    display:flex; align-items:center; justify-content:center;
    color:var(--primary); font-size:14px;
}

/* Bottom Nav */
.bottom-nav {
    position:fixed; bottom:0; left:0; right:0; height:var(--nav-height);
    background:var(--card); border-top:1px solid var(--border);
    display:flex; justify-content:space-around; align-items:center;
    z-index:1000; padding-bottom:var(--safe-bottom);
}
.bottom-nav a {
    display:flex; flex-direction:column; align-items:center;
    gap:2px; color:var(--text-light); font-size:11px; padding:4px 12px;
}
.bottom-nav a.active { color:var(--primary); }
.bottom-nav a .icon { font-size:20px; }

/* Forms */
.form-group { margin-bottom:16px; }
.form-group label { display:block; font-size:14px; margin-bottom:6px; color:var(--text-secondary); }
.form-group input, .form-group textarea, .form-group select {
    width:100%; padding:12px 16px; border-radius:var(--radius);
    background:var(--card); border:1px solid var(--border);
    color:var(--text); font-size:15px;
}
.form-group input:focus, .form-group textarea:focus {
    border-color:var(--primary);
}
.btn {
    display:block; width:100%; padding:14px; border-radius:var(--radius);
    background:linear-gradient(135deg, var(--primary), var(--secondary));
    color:#fff; font-size:16px; font-weight:500; text-align:center;
    border:none; cursor:pointer;
}
.btn-secondary {
    background:var(--card); color:var(--primary); border:1px solid var(--primary);
}
.btn-sm {
    padding:6px 14px; font-size:13px; display:inline-block; width:auto;
}
.btn-row { display:flex; gap:10px; }
.btn-row .btn { flex:1; }

/* Auth pages */
.auth-page { min-height:100vh; display:flex; flex-direction:column; }
.auth-page .auth-header {
    padding:40px 20px 20px; text-align:center;
    background:linear-gradient(135deg, var(--primary) 0%, var(--secondary) 100%);
    color:#fff; border-radius:0 0 30px 30px;
}
.auth-page .auth-header h1 { font-size:28px; margin-bottom:8px; }
.auth-page .auth-header p { opacity:0.9; font-size:14px; }
.auth-page .auth-body { padding:24px 16px; flex:1; }
.auth-page .auth-footer {
    text-align:center; padding:20px; font-size:13px; color:var(--text-light);
}
.auth-page .auth-footer a { color:var(--primary); }

/* Profile */
.profile-header {
    background:linear-gradient(135deg, var(--primary) 0%, var(--secondary) 100%);
    color:#fff; padding:20px 16px 30px; text-align:center;
    border-radius:0 0 24px 24px;
}
.profile-header .avatar {
    width:80px; height:80px; border-radius:50%;
    border:3px solid rgba(255,255,255,0.3); margin:0 auto 12px;
    background:#fff; object-fit:cover;
}
.profile-header .name { font-size:20px; font-weight:600; }
.profile-header .points {
    display:inline-block; margin-top:8px; padding:4px 16px;
    background:rgba(255,255,255,0.2); border-radius:20px;
    font-size:14px;
}
.profile-stats {
    display:flex; justify-content:space-around; padding:16px;
    background:var(--card); margin:-16px 12px 16px;
    border-radius:var(--radius); box-shadow:var(--shadow);
    position:relative; z-index:1;
}
.profile-stats .stat { text-align:center; }
.profile-stats .stat .num { font-size:20px; font-weight:600; color:var(--primary); }
.profile-stats .stat .label { font-size:12px; color:var(--text-light); }

/* Menu Grid */
.menu-grid {
    display:grid; grid-template-columns:repeat(4, 1fr); gap:12px;
    padding:0 12px; margin-bottom:16px;
}
.menu-grid .menu-item {
    display:flex; flex-direction:column; align-items:center;
    gap:6px; padding:12px 4px; background:var(--card);
    border-radius:var(--radius); box-shadow:var(--shadow);
}
.menu-grid .menu-item .icon {
    width:44px; height:44px; border-radius:12px;
    display:flex; align-items:center; justify-content:center;
    font-size:22px;
}
.menu-grid .menu-item .icon.pink { background:rgba(255,107,157,0.1); color:var(--primary); }
.menu-grid .menu-item .icon.purple { background:rgba(156,39,176,0.1); color:var(--secondary); }
.menu-grid .menu-item .icon.orange { background:rgba(255,152,0,0.1); color:var(--accent); }
.menu-grid .menu-item .icon.blue { background:rgba(33,150,243,0.1); color:#2196f3; }
.menu-grid .menu-item .label { font-size:12px; color:var(--text); }

/* Song Detail */
.song-detail .detail-cover {
    width:200px; height:200px; border-radius:16px; margin:20px auto;
    box-shadow:0 8px 32px rgba(0,0,0,0.2);
    background:linear-gradient(135deg, var(--primary), var(--secondary));
    display:flex; align-items:center; justify-content:center;
    color:#fff; font-size:64px;
}
.song-detail .detail-info { text-align:center; padding:0 20px; }
.song-detail .detail-title { font-size:22px; font-weight:600; }
.song-detail .detail-meta { color:var(--text-secondary); margin-top:8px; font-size:14px; }
.song-detail .detail-actions {
    display:flex; justify-content:center; gap:16px; margin:20px 0;
}
.song-detail .detail-actions button {
    padding:10px 24px; border-radius:24px; font-size:14px;
    display:flex; align-items:center; gap:6px;
}
.song-detail .detail-actions .btn-play {
    background:linear-gradient(135deg, var(--primary), var(--secondary));
    color:#fff;
}
.song-detail .detail-actions .btn-fav,
.song-detail .detail-actions .btn-down {
    background:var(--card); border:1px solid var(--border);
    color:var(--text);
}
.song-detail .detail-actions .btn-fav.active { color:var(--primary); border-color:var(--primary); }

/* Comments */
.comment-list { padding:0 12px; }
.comment-item {
    display:flex; gap:10px; padding:12px 0;
    border-bottom:1px solid var(--border);
}
.comment-item .c-avatar {
    width:36px; height:36px; border-radius:50%; background:var(--primary);
    flex-shrink:0; object-fit:cover;
}
.comment-item .c-body { flex:1; }
.comment-item .c-name { font-size:13px; font-weight:500; }
.comment-item .c-time { font-size:11px; color:var(--text-light); }
.comment-item .c-text { font-size:14px; margin-top:4px; color:var(--text-secondary); }

/* Upload area */
.upload-area {
    border:2px dashed var(--border); border-radius:var(--radius);
    padding:40px 20px; text-align:center; margin:16px 0;
    background:var(--card);
}
.upload-area .upload-icon { font-size:48px; color:var(--primary); margin-bottom:12px; }
.upload-area p { color:var(--text-secondary); font-size:14px; }
.upload-area input[type="file"] { display:none; }

/* Help items */
.help-list { display:flex; flex-direction:column; gap:12px; padding:0 12px; }
.help-card {
    background:var(--card); border-radius:var(--radius);
    box-shadow:var(--shadow); padding:16px;
}
.help-card .help-title { font-size:16px; font-weight:500; }
.help-card .help-meta {
    display:flex; gap:12px; margin-top:8px; font-size:12px; color:var(--text-light);
}
.help-card .help-status {
    display:inline-block; padding:2px 8px; border-radius:10px;
    font-size:11px; margin-top:8px;
}
.help-card .help-status.pending { background:rgba(255,152,0,0.1); color:var(--accent); }
.help-card .help-status.solved { background:rgba(76,175,80,0.1); color:#4caf50; }

/* Admin */
.admin-header {
    background:linear-gradient(135deg, var(--primary), var(--secondary));
    color:#fff; padding:16px; display:flex; align-items:center; gap:12px;
}
.admin-header h1 { font-size:18px; }
.admin-header a { color:#fff; font-size:20px; }
.admin-nav {
    display:flex; overflow-x:auto; gap:8px; padding:12px;
    background:var(--card); border-bottom:1px solid var(--border);
}
.admin-nav a {
    white-space:nowrap; padding:8px 16px; border-radius:20px;
    font-size:13px; color:var(--text-secondary); background:var(--bg);
}
.admin-nav a.active { background:var(--primary); color:#fff; }
.admin-content { padding:16px; }
.admin-table { width:100%; border-collapse:collapse; font-size:13px; }
.admin-table th, .admin-table td { padding:10px 8px; text-align:left; border-bottom:1px solid var(--border); }
.admin-table th { color:var(--text-light); font-weight:500; }
.admin-table tr:hover { background:rgba(0,0,0,0.02); }
.admin-table .actions { display:flex; gap:6px; }
.admin-table .actions a, .admin-table .actions button {
    padding:4px 10px; border-radius:6px; font-size:12px;
    background:var(--bg); color:var(--text); border:1px solid var(--border);
}

/* Invite poster */
.poster-preview {
    width:280px; margin:20px auto; border-radius:16px; overflow:hidden;
    box-shadow:var(--shadow); background:var(--card);
}
.poster-preview .poster-top {
    background:linear-gradient(135deg, var(--primary), var(--secondary));
    color:#fff; padding:30px 20px; text-align:center;
}
.poster-preview .poster-top h3 { font-size:22px; margin-bottom:8px; }
.poster-preview .poster-top .code {
    font-size:32px; font-weight:bold; letter-spacing:4px;
    background:rgba(255,255,255,0.2); padding:8px 16px; border-radius:8px;
    display:inline-block; margin-top:8px;
}
.poster-preview .poster-bottom { padding:20px; text-align:center; }
.poster-preview .poster-bottom p { color:var(--text-secondary); font-size:13px; }

/* Points log */
.points-log { padding:0 12px; }
.log-item {
    display:flex; justify-content:space-between; align-items:center;
    padding:12px 0; border-bottom:1px solid var(--border);
}
.log-item .log-info .log-type { font-size:14px; }
.log-item .log-info .log-time { font-size:12px; color:var(--text-light); }
.log-item .log-points { font-size:16px; font-weight:600; }
.log-item .log-points.plus { color:#4caf50; }
.log-item .log-points.minus { color:#f44336; }

/* User page */
.user-page .user-header {
    background:linear-gradient(135deg, var(--primary), var(--secondary));
    color:#fff; padding:30px 16px; text-align:center;
    border-radius:0 0 24px 24px;
}
.user-page .user-header .avatar {
    width:80px; height:80px; border-radius:50%; border:3px solid rgba(255,255,255,0.3);
    margin:0 auto 12px; background:#fff; object-fit:cover;
}
.user-page .tabs {
    display:flex; justify-content:center; gap:20px; padding:16px;
    border-bottom:1px solid var(--border);
}
.user-page .tabs a {
    padding:8px 0; font-size:15px; color:var(--text-light);
    border-bottom:2px solid transparent;
}
.user-page .tabs a.active { color:var(--primary); border-color:var(--primary); }

/* Toast */
.toast {
    position:fixed; top:70px; left:50%; transform:translateX(-50%);
    background:rgba(0,0,0,0.8); color:#fff; padding:10px 20px;
    border-radius:20px; font-size:14px; z-index:2000;
    display:none;
}
.toast.show { display:block; animation:fadeIn 0.3s; }
@keyframes fadeIn { from { opacity:0; transform:translateX(-50%) translateY(-10px); } to { opacity:1; transform:translateX(-50%) translateY(0); } }

/* Loading */
.loading {
    text-align:center; padding:40px; color:var(--text-light);
}

/* Empty */
.empty {
    text-align:center; padding:60px 20px; color:var(--text-light);
}
.empty .empty-icon { font-size:64px; margin-bottom:12px; }

/* Signin btn */
.signin-btn {
    position:fixed; top:70px; right:16px; z-index:500;
    background:linear-gradient(135deg, var(--accent), #ff5722);
    color:#fff; padding:8px 16px; border-radius:20px;
    font-size:13px; font-weight:500; box-shadow:var(--shadow);
    display:flex; align-items:center; gap:6px;
}
.signin-btn.done { background:#4caf50; }

/* Card list for favorites/uploads */
.card-list { display:flex; flex-direction:column; gap:12px; padding:0 12px; }

/* Pagination */
.pagination {
    display:flex; justify-content:center; gap:8px; padding:20px 12px;
}
.pagination a, .pagination span {
    padding:8px 14px; border-radius:8px; font-size:14px;
    background:var(--card); border:1px solid var(--border);
    color:var(--text);
}
.pagination a.active, .pagination span.current {
    background:var(--primary); color:#fff; border-color:var(--primary);
}

/* Captcha row */
.captcha-row { display:flex; gap:10px; }
.captcha-row input { flex:1; }
.captcha-row img { height:44px; border-radius:var(--radius); cursor:pointer; }

/* Theme toggle */
.theme-toggle {
    position:fixed; bottom:calc(var(--nav-height) + var(--safe-bottom) + 60px);
    right:16px; width:48px; height:48px; border-radius:50%;
    background:var(--card); box-shadow:var(--shadow);
    display:flex; align-items:center; justify-content:center;
    font-size:20px; z-index:800; border:1px solid var(--border);
    color:var(--text);
}

/* Modal */
.modal {
    position:fixed; top:0; left:0; right:0; bottom:0;
    background:rgba(0,0,0,0.5); z-index:2000;
    display:none; align-items:flex-end; justify-content:center;
    backdrop-filter:blur(4px);
}
.modal.active { display:flex; }
.modal-content {
    background:var(--card); width:100%; max-width:480px;
    border-radius:20px 20px 0 0; max-height:85vh; overflow-y:auto;
    animation:slideUp 0.3s ease;
}
@keyframes slideUp {
    from { transform:translateY(100%); }
    to { transform:translateY(0); }
}
.modal-header {
    display:flex; align-items:center; justify-content:space-between;
    padding:16px 20px; border-bottom:1px solid var(--border);
    position:sticky; top:0; background:var(--card); z-index:1;
}
.modal-header h3 { font-size:17px; font-weight:600; }
.modal-close {
    width:32px; height:32px; border-radius:50%; background:var(--bg);
    display:flex; align-items:center; justify-content:center;
    font-size:16px; color:var(--text-light);
}
.modal-body { padding:20px; }

/* APP style song cards */
.song-card {
    background:var(--card); border-radius:16px;
    box-shadow:0 1px 6px rgba(0,0,0,0.04);
    overflow:hidden; display:flex; padding:14px; gap:14px;
    transition:transform 0.15s, box-shadow 0.15s;
}
.song-card:active {
    transform:scale(0.98);
    box-shadow:0 1px 3px rgba(0,0,0,0.06);
}
.song-card .cover {
    width:72px; height:72px; border-radius:12px;
    flex-shrink:0; background:linear-gradient(135deg, var(--primary), var(--secondary));
    display:flex; align-items:center; justify-content:center;
}
.song-card .cover .placeholder {
    font-size:28px; color:#fff;
}
.song-card .title { font-size:15px; font-weight:600; }
.song-card .meta { font-size:13px; color:var(--text-light); margin-top:4px; }
.song-card .tags { margin-top:6px; }
.song-card .tag {
    font-size:11px; padding:3px 10px; border-radius:20px;
    background:rgba(255,107,157,0.08); color:var(--primary);
}
.song-card .stats { font-size:12px; color:var(--text-light); margin-top:8px; }
.song-card .play-btn {
    width:40px; height:40px; border-radius:50%;
    background:var(--bg); color:var(--primary);
    display:flex; align-items:center; justify-content:center;
    flex-shrink:0; align-self:center; font-size:16px;
    border:1px solid var(--border);
}

/* Grid for PC */
@media (min-width:768px) {
    .song-grid { display:grid; grid-template-columns:repeat(2, 1fr); gap:16px; }
    .song-grid .song-card { flex-direction:column; padding:0; }
    .song-grid .song-card .cover { width:100%; height:160px; border-radius:16px 16px 0 0; }
    .song-grid .song-card .info { padding:12px 14px; }
    .song-grid .song-card .play-btn { display:none; }
}

/* Upload page APP style */
.upload-area {
    border:2px dashed var(--border); border-radius:20px;
    padding:50px 20px; text-align:center; margin:16px 0;
    background:var(--card); transition:border-color 0.2s;
}
.upload-area:active { border-color:var(--primary); }
.upload-area .upload-icon { font-size:56px; margin-bottom:12px; }

/* Help page APP style */
.help-card {
    background:var(--card); border-radius:16px;
    box-shadow:0 1px 6px rgba(0,0,0,0.04); padding:16px;
    transition:transform 0.15s;
}
.help-card:active { transform:scale(0.98); }
.help-card .help-title { font-size:16px; font-weight:600; line-height:1.4; }

/* Profile menu */
.menu-grid .menu-item {
    background:var(--card); border-radius:16px;
    box-shadow:0 1px 6px rgba(0,0,0,0.04);
    padding:16px 4px; transition:transform 0.15s;
}
.menu-grid .menu-item:active { transform:scale(0.95); }

/* Section title */
.section-title {
    font-size:17px; font-weight:700; margin:20px 12px 14px;
}
.section-title::before {
    content:''; width:4px; height:16px;
    background:linear-gradient(180deg, var(--primary), var(--secondary));
    border-radius:2px; display:inline-block; margin-right:8px;
    vertical-align:middle;
}

/* Bottom nav */
.bottom-nav {
    background:var(--card); border-top:1px solid var(--border);
    backdrop-filter:blur(10px);
}
.bottom-nav a { padding:6px 0; }
.bottom-nav a .icon { font-size:22px; margin-bottom:2px; }
.bottom-nav a.active { color:var(--primary); font-weight:600; }

/* Player bar */
.player-bar {
    background:var(--card); border-top:1px solid var(--border);
    backdrop-filter:blur(10px);
}

/* Hot tags */
.hot-tags {
    display:flex; gap:8px; padding:12px; overflow-x:auto;
    -webkit-overflow-scrolling:touch; scrollbar-width:none;
}
.hot-tags::-webkit-scrollbar { display:none; }
.hot-tags a {
    white-space:nowrap; padding:6px 14px; border-radius:20px;
    background:var(--card); border:1px solid var(--border);
    font-size:13px; color:var(--text-secondary);
}
.hot-tags a:active { background:rgba(255,107,157,0.1); color:var(--primary); border-color:var(--primary); }

/* Pagination */
.pagination {
    padding:20px 12px;
}
.pagination a, .pagination span {
    min-width:36px; text-align:center; padding:8px 12px;
}

/* Song detail */
.song-detail .detail-cover {
    width:180px; height:180px; border-radius:20px;
}
.song-detail .detail-actions button {
    border-radius:24px; padding:10px 20px;
}

/* Comment */
.comment-item { padding:14px 0; }

/* Auth */
.auth-page .auth-header {
    border-radius:0 0 32px 32px; padding:50px 20px 30px;
}
.auth-page .auth-header h1 { font-size:32px; }

/* Form */
.form-group input, .form-group textarea, .form-group select {
    border-radius:14px; padding:14px 16px;
}
.btn {
    border-radius:14px; padding:14px;
}

/* Empty */
.empty { padding:60px 20px; }
.empty .empty-icon { font-size:56px; }

/* Admin table */
.admin-table th, .admin-table td { padding:12px 10px; }

