*,:before,:after{box-sizing:border-box;margin:0;padding:0}:root{--orange-500:#e8772e;--orange-400:#f09142;--orange-300:#f5a960;--orange-200:#fcd4a8;--orange-100:#fef0e0;--blue-600:#2c5aa0;--blue-500:#3b7dd8;--blue-400:#5a9ae6;--blue-300:#8dc0f0;--blue-200:#c4dff6;--blue-100:#e8f1fb;--cream:#fdf8f0;--cream-dark:#f5ece0;--warm-white:#fefcf9;--gray-900:#1a1a1a;--gray-800:#2d2d2d;--gray-700:#444;--gray-600:#555;--gray-500:#777;--gray-400:#999;--gray-300:#bbb;--gray-200:#ddd;--gray-100:#eee;--green-600:#2d8f47;--green-500:#3aaa5b;--green-400:#5cc47a;--green-300:#a3e0b4;--green-200:#d4f0dd;--red-600:#c0392b;--red-500:#e04232;--red-400:#e8685b;--red-300:#f0a09a;--red-200:#f8d4d0;--yellow-400:#f4c542;--yellow-300:#f7d76e;--font-heading:"Trebuchet MS","Lucida Grande","Lucida Sans Unicode",sans-serif;--font-body:Verdana,Geneva,Tahoma,sans-serif;--font-mono:"Courier New",Courier,monospace;--container-width:960px;--border-radius:6px;--border-radius-lg:10px;--shadow-sm:0 1px 3px #0000001a;--shadow-md:0 2px 8px #0000001f;--shadow-lg:0 4px 16px #00000026;--shadow-inset:inset 0 1px 3px #00000014}html{-webkit-font-smoothing:antialiased;font-size:14px}body{font-family:var(--font-body);background:var(--cream);background-image:linear-gradient(180deg,var(--cream-dark)0%,var(--cream)200px);color:var(--gray-800);min-height:100vh;line-height:1.5}a{color:var(--blue-500);text-decoration:none}a:hover{color:var(--blue-600);text-decoration:underline}.container{max-width:var(--container-width);margin:0 auto;padding:0 20px}.site-header{background:linear-gradient(180deg,#fff 0%,var(--cream-dark)100%);border-bottom:1px solid var(--gray-200);box-shadow:var(--shadow-sm);z-index:100;position:sticky;top:0}.navbar{max-width:var(--container-width);justify-content:space-between;align-items:center;height:56px;margin:0 auto;padding:0 20px;display:flex}.navbar-brand{font-family:var(--font-heading);color:var(--orange-500);align-items:center;gap:8px;font-size:1.35rem;font-weight:700;text-decoration:none;display:flex}.navbar-brand:hover{color:var(--orange-400);text-decoration:none}.navbar-brand .brand-icon{font-size:1.5rem}.navbar-nav{align-items:center;gap:2px;list-style:none;display:flex}.navbar-nav a{color:var(--gray-700);border-radius:var(--border-radius);padding:8px 14px;font-size:.93rem;font-weight:600;text-decoration:none;transition:background .15s,color .15s;display:block}.navbar-nav a:hover{background:var(--orange-100);color:var(--orange-500);text-decoration:none}.navbar-nav a.active{background:var(--orange-500);color:#fff}.navbar-user{align-items:center;gap:12px;display:flex}.navbar-user .username{color:var(--gray-700);font-size:.9rem;font-weight:600}.btn{font-family:var(--font-body);border-radius:var(--border-radius);cursor:pointer;border:1px solid #0000;justify-content:center;align-items:center;gap:6px;padding:8px 18px;font-size:.9rem;font-weight:600;line-height:1.4;text-decoration:none;transition:all .2s;display:inline-flex}.btn-primary{background:linear-gradient(180deg,var(--orange-400)0%,var(--orange-500)100%);color:#fff;box-shadow:0 1px 0 #fff3 inset,var(--shadow-sm);text-shadow:0 1px 1px #0003;border-color:#c96520}.btn-primary:hover{background:linear-gradient(180deg,var(--orange-500)0%,#d06828 100%);color:#fff;box-shadow:0 1px 0 #fff3 inset,var(--shadow-md);text-decoration:none}.btn-secondary{background:linear-gradient(180deg,#fff 0%,var(--gray-100)100%);color:var(--gray-700);border-color:var(--gray-300);box-shadow:0 1px 0 #fffc inset,var(--shadow-sm)}.btn-secondary:hover{background:linear-gradient(180deg,var(--gray-100)0%,var(--gray-200)100%);color:var(--gray-800);text-decoration:none}.btn-blue{background:linear-gradient(180deg,var(--blue-400)0%,var(--blue-500)100%);color:#fff;box-shadow:0 1px 0 #fff3 inset,var(--shadow-sm);text-shadow:0 1px 1px #0003;border-color:#2a5d9e}.btn-blue:hover{background:linear-gradient(180deg,var(--blue-500)0%,var(--blue-600)100%);color:#fff;text-decoration:none}.btn-sm{padding:5px 12px;font-size:.82rem}.btn-danger{background:linear-gradient(180deg,var(--red-400)0%,var(--red-500)100%);color:#fff;box-shadow:0 1px 0 #fff3 inset,var(--shadow-sm);text-shadow:0 1px 1px #0003;border-color:#a83228}.btn-danger:hover{background:linear-gradient(180deg,var(--red-500)0%,var(--red-600)100%);color:#fff;text-decoration:none}.card{border:1px solid var(--gray-200);border-radius:var(--border-radius-lg);box-shadow:var(--shadow-sm);background:#fff;overflow:hidden}.card-header{background:linear-gradient(180deg,var(--cream)0%,var(--cream-dark)100%);border-bottom:1px solid var(--gray-200);font-family:var(--font-heading);color:var(--gray-800);padding:12px 20px;font-size:1.05rem;font-weight:700}.card-body{padding:20px}.form-group{margin-bottom:16px}.form-group label{color:var(--gray-700);margin-bottom:6px;font-size:.9rem;font-weight:600;display:block}.form-input{width:100%;font-family:var(--font-body);border:1px solid var(--gray-300);border-radius:var(--border-radius);box-shadow:var(--shadow-inset);color:var(--gray-800);background:#fff;padding:9px 12px;font-size:.9rem;transition:border-color .2s,box-shadow .2s}.form-input:focus{border-color:var(--blue-400);box-shadow:var(--shadow-inset),0 0 0 3px var(--blue-200);outline:none}textarea.form-input{resize:vertical;min-height:80px}.page-header{margin:24px 0 20px}.page-title{font-family:var(--font-heading);color:var(--gray-900);margin-bottom:6px;font-size:1.65rem;font-weight:700}.page-subtitle{color:var(--gray-500);font-size:.95rem}.table-wrapper{overflow-x:auto}table{border-collapse:collapse;width:100%;font-size:.9rem}thead th{background:linear-gradient(180deg,var(--cream)0%,var(--cream-dark)100%);border:1px solid var(--gray-200);text-align:left;color:var(--gray-700);text-transform:uppercase;letter-spacing:.3px;padding:10px 14px;font-size:.85rem;font-weight:600}tbody td{border:1px solid var(--gray-200);background:#fff;padding:10px 14px}tbody tr:nth-child(2n) td{background:var(--warm-white)}tbody tr:hover td{background:var(--orange-100)}.rating-row{border-bottom:1px solid var(--gray-100);align-items:center;gap:12px;padding:10px 0;display:flex}.rating-row:last-child{border-bottom:none}.track-number{width:28px;color:var(--gray-400);text-align:right;flex-shrink:0;font-size:.85rem;font-weight:600}.track-title{color:var(--gray-800);flex:1;min-width:0;font-weight:600}.rating-buttons{flex-shrink:0;gap:3px;display:flex}.rating-btn{width:34px;height:34px;font-family:var(--font-body);border:1px solid var(--gray-300);background:linear-gradient(180deg,#fff 0%,var(--gray-100)100%);color:var(--gray-600);cursor:pointer;border-radius:4px;justify-content:center;align-items:center;font-size:.82rem;font-weight:700;transition:all .15s;display:flex}.rating-btn:hover{border-color:var(--gray-400);box-shadow:var(--shadow-sm);transform:translateY(-1px)}.rating-btn.selected[data-score="-3"]{color:#fff;background:linear-gradient(#e04232 0%,#c0392b 100%);border-color:#a33025}.rating-btn.selected[data-score="-2"]{color:#fff;background:linear-gradient(#e8685b 0%,#d9534f 100%);border-color:#b8453e}.rating-btn.selected[data-score="-1"]{color:#fff;background:linear-gradient(#f0a09a 0%,#e88a83 100%);border-color:#c9726b}.rating-btn.selected[data-score="0"]{background:linear-gradient(180deg,var(--gray-300)0%,var(--gray-400)100%);color:#fff;border-color:var(--gray-500)}.rating-btn.selected[data-score="1"]{color:#fff;background:linear-gradient(#a3e0b4 0%,#7dd498 100%);border-color:#5bb877}.rating-btn.selected[data-score="2"]{color:#fff;background:linear-gradient(#5cc47a 0%,#3aaa5b 100%);border-color:#2d8f47}.rating-btn.selected[data-score="3"]{color:#fff;background:linear-gradient(#3aaa5b 0%,#2d8f47 100%);border-color:#207038}.rating-avg{color:var(--gray-500);text-align:center;flex-shrink:0;width:52px;font-size:.82rem}.rating-avg .avg-value{color:var(--gray-700);font-weight:700}.album-hero{align-items:flex-start;gap:28px;margin-bottom:28px;display:flex}.album-cover{border-radius:var(--border-radius-lg);border:1px solid var(--gray-200);width:260px;height:260px;box-shadow:var(--shadow-lg);object-fit:cover;background:var(--gray-200);flex-shrink:0}.album-cover-placeholder{border-radius:var(--border-radius-lg);border:1px solid var(--gray-200);width:260px;height:260px;box-shadow:var(--shadow-lg);background:linear-gradient(135deg,var(--orange-200)0%,var(--blue-200)100%);flex-shrink:0;justify-content:center;align-items:center;font-size:4rem;display:flex}.album-info h1{font-family:var(--font-heading);color:var(--gray-900);margin-bottom:4px;font-size:1.85rem;line-height:1.2}.album-info .artist{color:var(--gray-600);margin-bottom:12px;font-size:1.15rem}.album-info .date-badge{background:var(--orange-100);color:var(--orange-500);border:1px solid var(--orange-200);border-radius:20px;align-items:center;gap:6px;padding:5px 12px;font-size:.82rem;font-weight:600;display:inline-flex}.album-stats{gap:20px;margin-top:16px;display:flex}.stat-box{text-align:center;background:var(--cream);border:1px solid var(--gray-200);border-radius:var(--border-radius);padding:10px 16px}.stat-box .stat-value{color:var(--gray-900);font-size:1.3rem;font-weight:700;font-family:var(--font-heading)}.stat-box .stat-label{color:var(--gray-500);text-transform:uppercase;letter-spacing:.3px;font-size:.75rem}.score-badge{border:1px solid #0000;border-radius:13px;justify-content:center;align-items:center;min-width:36px;height:26px;padding:0 8px;font-size:.82rem;font-weight:700;display:inline-flex}.score-badge.positive{background:var(--green-200);color:var(--green-600);border-color:var(--green-300)}.score-badge.negative{background:var(--red-200);color:var(--red-600);border-color:var(--red-300)}.score-badge.neutral{background:var(--gray-100);color:var(--gray-600);border-color:var(--gray-200)}.ranking-item{border-bottom:1px solid var(--gray-100);align-items:center;gap:16px;padding:14px 20px;transition:background .15s;display:flex}.ranking-item:hover{background:var(--orange-100)}.ranking-position{width:36px;height:36px;color:var(--gray-500);background:var(--cream);border:1px solid var(--gray-200);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:1rem;font-weight:700;display:flex}.ranking-position.top-3{background:linear-gradient(180deg,var(--yellow-300)0%,var(--yellow-400)100%);color:#fff;text-shadow:0 1px 1px #0003;border-color:#d4a82e}.ranking-cover{object-fit:cover;border:1px solid var(--gray-200);background:var(--gray-200);border-radius:4px;flex-shrink:0;width:48px;height:48px}.ranking-info{flex:1;min-width:0}.ranking-info .title{color:var(--gray-800);white-space:nowrap;text-overflow:ellipsis;font-weight:600;overflow:hidden}.ranking-info .subtitle{color:var(--gray-500);font-size:.85rem}.ranking-score{text-align:right;flex-shrink:0}.ranking-score .score-value{font-size:1.1rem;font-weight:700;font-family:var(--font-heading)}.ranking-score .score-detail{color:var(--gray-400);font-size:.78rem}.suggestion-card{border-bottom:1px solid var(--gray-100);align-items:center;gap:16px;padding:16px 20px;display:flex}.suggestion-card:last-child{border-bottom:none}.suggestion-info{flex:1}.suggestion-info .title{color:var(--gray-800);font-weight:600}.suggestion-info .artist{color:var(--gray-500);font-size:.88rem}.suggestion-info .reason{color:var(--gray-600);margin-top:4px;font-size:.85rem;font-style:italic}.suggestion-info .meta{color:var(--gray-400);margin-top:4px;font-size:.78rem}.vote-btn{border:1px solid var(--gray-300);border-radius:var(--border-radius);background:linear-gradient(180deg,#fff 0%,var(--gray-100)100%);cursor:pointer;flex-direction:column;align-items:center;gap:2px;min-width:52px;padding:8px 14px;transition:all .15s;display:flex}.vote-btn:hover{border-color:var(--blue-400);background:var(--blue-100)}.vote-btn.voted{border-color:var(--blue-500);background:linear-gradient(180deg,var(--blue-400)0%,var(--blue-500)100%);color:#fff}.vote-btn .vote-icon{font-size:1.1rem}.vote-btn .vote-label{text-transform:uppercase;font-size:.7rem;font-weight:600}.tabs{border-bottom:2px solid var(--gray-200);gap:2px;margin-bottom:20px;display:flex}.tab{color:var(--gray-500);border-radius:var(--border-radius)var(--border-radius)0 0;cursor:pointer;font-size:.9rem;font-weight:600;font-family:var(--font-body);background:0 0;border:1px solid #0000;border-bottom:none;padding:10px 20px;text-decoration:none;transition:all .15s}.tab:hover{color:var(--gray-700);background:var(--cream);text-decoration:none}.tab.active{color:var(--orange-500);border-color:var(--gray-200);background:#fff;border-bottom-color:#fff;margin-bottom:-2px}.auth-container{max-width:400px;margin:60px auto}.auth-container .card-header{text-align:center;font-size:1.2rem}.auth-footer{text-align:center;color:var(--gray-500);margin-top:16px;font-size:.88rem}.alert{border-radius:var(--border-radius);border:1px solid #0000;margin-bottom:16px;padding:12px 18px;font-size:.9rem}.alert-error{background:var(--red-200);color:var(--red-600);border-color:var(--red-300)}.alert-success{background:var(--green-200);color:var(--green-600);border-color:var(--green-300)}.alert-info{background:var(--blue-100);color:var(--blue-600);border-color:var(--blue-200)}.admin-suggestion{border-bottom:1px solid var(--gray-100);align-items:center;gap:16px;padding:14px 20px;display:flex}.admin-suggestion .vote-count{background:var(--blue-100);color:var(--blue-600);border:1px solid var(--blue-200);white-space:nowrap;border-radius:12px;padding:4px 12px;font-size:.88rem;font-weight:700}.admin-actions{flex-shrink:0;gap:6px;display:flex}.admin-table{border-collapse:collapse;font-size:.88rem}.admin-table th{padding:8px 12px;font-size:.78rem}.admin-table td{vertical-align:middle;padding:10px 12px}.admin-filter-bar{align-items:center;gap:12px;margin-bottom:14px;display:flex}.pagination{border-top:1px solid var(--gray-100);justify-content:center;align-items:center;gap:12px;margin-top:14px;padding-top:14px;display:flex}.pagination-info{color:var(--gray-500);text-align:center;min-width:100px;font-size:.82rem;font-weight:600}.album-search{position:relative}.search-input-wrapper{align-items:center;display:flex;position:relative}.search-input-wrapper .search-icon{z-index:1;pointer-events:none;font-size:.9rem;position:absolute;left:12px}.search-input-wrapper .search-spinner{font-size:.85rem;position:absolute;right:12px}.search-results{border:1px solid var(--gray-300);border-radius:0 0 var(--border-radius)var(--border-radius);box-shadow:var(--shadow-md);z-index:50;background:#fff;border-top:none;max-height:320px;position:absolute;top:100%;left:0;right:0;overflow-y:auto}.search-result-item{text-align:left;border:none;border-bottom:1px solid var(--gray-100);cursor:pointer;width:100%;font-family:var(--font-body);background:#fff;padding:10px 14px;transition:background .1s;display:block}.search-result-item:hover{background:var(--orange-100)}.search-result-item:last-child{border-bottom:none}.search-result-item .result-title{color:var(--gray-800);font-size:.92rem;font-weight:600}.search-result-item .result-meta{color:var(--gray-500);margin-top:2px;font-size:.82rem}.search-result-item .result-year{color:var(--gray-400)}.search-result-item .result-type{background:var(--gray-100);color:var(--gray-500);text-transform:uppercase;border-radius:3px;margin-left:6px;padding:1px 6px;font-size:.72rem;font-weight:600;display:inline-block}.search-no-results{text-align:center;color:var(--gray-400);padding:16px;font-size:.88rem}.selected-album-card{background:var(--green-200);border:1px solid var(--green-300);border-radius:var(--border-radius);justify-content:space-between;align-items:center;padding:12px 16px;display:flex}.selected-album-title{color:var(--gray-800);font-size:.95rem;font-weight:700}.selected-album-artist{color:var(--gray-600);font-size:.85rem}.selected-album-year{color:var(--gray-400)}.site-footer{border-top:1px solid var(--gray-200);text-align:center;color:var(--gray-400);margin-top:48px;padding:20px 0;font-size:.82rem}.empty-state{text-align:center;color:var(--gray-400);padding:48px 20px}.empty-state .empty-icon{margin-bottom:12px;font-size:3rem}.empty-state p{margin-bottom:16px;font-size:1rem}.text-muted{color:var(--gray-500)}.text-small{font-size:.85rem}.mt-1{margin-top:8px}.mt-2{margin-top:16px}.mt-3{margin-top:24px}.mb-1{margin-bottom:8px}.mb-2{margin-bottom:16px}.mb-3{margin-bottom:24px}.no-album{text-align:center;padding:64px 20px}.no-album .icon{margin-bottom:16px;font-size:4rem}.no-album h2{font-family:var(--font-heading);color:var(--gray-700);margin-bottom:8px;font-size:1.5rem}.no-album p{color:var(--gray-500);margin-bottom:20px}.track-field{align-items:center;gap:10px;margin-bottom:8px;display:flex}.track-field .track-num{width:28px;color:var(--gray-400);text-align:right;flex-shrink:0;font-weight:600}.track-field .form-input{flex:1}.track-field .remove-track{color:var(--red-400);cursor:pointer;background:0 0;border:none;padding:4px;font-size:1.2rem}.track-field .remove-track:hover{color:var(--red-600)}.login-prompt{background:var(--blue-100);border:1px solid var(--blue-200);border-radius:var(--border-radius);color:var(--blue-600);align-items:center;gap:12px;margin-bottom:16px;padding:14px 20px;font-size:.9rem;display:flex}.login-prompt .prompt-icon{font-size:1.2rem}.status-badge{text-transform:uppercase;letter-spacing:.3px;border-radius:10px;padding:2px 10px;font-size:.75rem;font-weight:700;display:inline-block}.status-badge.pending{background:var(--yellow-300);color:#7a6200}.status-badge.approved{background:var(--green-200);color:var(--green-600)}.status-badge.rejected{background:var(--red-200);color:var(--red-600)}.status-badge.featured{background:var(--orange-200);color:var(--orange-500)}.homepage-album-section{border-bottom:2px solid var(--gray-200);margin-bottom:40px;padding-bottom:40px}.homepage-album-section:last-child{border-bottom:none;margin-bottom:0;padding-bottom:0}.album-grid{grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:20px;display:grid}.album-card-link{color:inherit;text-decoration:none}.album-card{border:1px solid var(--gray-200);border-radius:var(--border-radius);background:#fff;transition:transform .15s,box-shadow .15s;overflow:hidden}.album-card:hover{box-shadow:var(--shadow-lg);transform:translateY(-3px)}.album-card-cover{aspect-ratio:1;background:var(--gray-100);width:100%;position:relative;overflow:hidden}.album-card-cover img{object-fit:cover;width:100%;height:100%}.album-card-placeholder{background:var(--gray-100);justify-content:center;align-items:center;width:100%;height:100%;font-size:3rem;display:flex}.album-card-badge{text-transform:uppercase;letter-spacing:.3px;border-radius:10px;padding:3px 10px;font-size:.72rem;font-weight:700;position:absolute;top:8px;right:8px}.album-card-badge.voting-open{background:var(--green-200);color:var(--green-600);border:1px solid var(--green-300)}.album-card-badge.voting-closed{background:var(--gray-200);color:var(--gray-500);border:1px solid var(--gray-300)}.album-card-info{padding:12px 14px}.album-card-title{font-family:var(--font-heading);color:var(--gray-800);white-space:nowrap;text-overflow:ellipsis;font-size:.95rem;font-weight:700;line-height:1.3;overflow:hidden}.album-card-artist{color:var(--gray-500);white-space:nowrap;text-overflow:ellipsis;margin-top:2px;font-size:.85rem;overflow:hidden}.album-card-stats{align-items:center;gap:10px;margin-top:8px;font-size:.82rem;display:flex}.album-card-stats .positive{color:var(--green-600);font-weight:700}.album-card-stats .negative{color:var(--red-600);font-weight:700}.album-card-stats .neutral{color:var(--gray-400);font-weight:700}.album-card-raters{color:var(--gray-400)}.alert.alert-info{background:var(--blue-100);border:1px solid var(--blue-200);color:var(--blue-600);border-radius:var(--border-radius);margin-bottom:16px;padding:12px 16px;font-size:.9rem}.navbar-toggle{border:1px solid var(--gray-300);border-radius:var(--border-radius);cursor:pointer;color:var(--gray-700);background:0 0;padding:4px 10px;font-size:1.3rem;line-height:1;display:none}.navbar-collapse{align-items:center;gap:8px;display:flex}@media (max-width:768px){.navbar-toggle{display:block}.navbar-collapse{border-bottom:1px solid var(--gray-200);box-shadow:var(--shadow-md);z-index:99;background:#fff;flex-direction:column;gap:12px;padding:12px 20px;display:none;position:absolute;top:56px;left:0;right:0}.navbar-collapse.open{display:flex}.navbar-nav{flex-direction:column;gap:0;width:100%}.navbar-nav li{width:100%}.navbar-nav a{border-radius:var(--border-radius);width:100%;padding:10px 14px;display:block}.navbar-user{border-top:1px solid var(--gray-100);justify-content:center;width:100%;padding-top:8px}.container{padding:0 14px}.album-hero{text-align:center;flex-direction:column;align-items:center;gap:16px}.album-cover,.album-cover-placeholder{width:200px;height:200px}.album-info{width:100%}.album-info h1{font-size:1.4rem}.album-info .artist{font-size:1rem}.album-info .date-badge{margin:0 auto}.album-stats{justify-content:center}.rating-row{flex-wrap:wrap;gap:8px;padding:12px 0}.track-title{min-width:calc(100% - 44px);font-size:.9rem}.rating-buttons{justify-content:flex-start;gap:4px;width:100%}.rating-btn{width:36px;height:36px;font-size:.85rem}.rating-avg{margin-left:auto}.page-title{font-size:1.3rem}.page-subtitle{font-size:.88rem}.table-wrapper{-webkit-overflow-scrolling:touch;overflow-x:auto}table{min-width:600px}.tabs{-webkit-overflow-scrolling:touch;flex-wrap:nowrap;overflow-x:auto}.tab{white-space:nowrap;flex-shrink:0;padding:8px 14px;font-size:.82rem}.ranking-item{gap:10px;padding:10px 14px}.ranking-cover{width:40px;height:40px}.ranking-info .title{font-size:.9rem}.suggestion-card{flex-direction:column;align-items:flex-start;gap:10px}.admin-filter-bar{flex-wrap:wrap}.admin-suggestion{flex-direction:column;align-items:flex-start;gap:10px}.admin-actions{width:100%}.auth-container{margin:30px auto}.homepage-album-section{margin-bottom:24px;padding-bottom:24px}.site-footer{margin-top:24px;font-size:.78rem}}@media (max-width:480px){html{font-size:13px}.navbar-brand{font-size:1.1rem}.navbar-brand .brand-icon{font-size:1.2rem}.album-cover,.album-cover-placeholder{width:160px;height:160px}.album-info h1{font-size:1.2rem}.album-stats{flex-wrap:wrap;gap:8px}.stat-box{flex:1;min-width:70px;padding:8px 12px}.stat-box .stat-value{font-size:1.1rem}.rating-btn{width:32px;height:32px;font-size:.78rem}.card-header{padding:10px 14px;font-size:.95rem}.card-body{padding:14px}.ranking-position{width:28px;height:28px;font-size:.85rem}.ranking-cover{width:36px;height:36px}.login-prompt{text-align:center;flex-direction:column;gap:8px}}
