﻿.chart-page{color:#dcdcf0}.chart-page [hidden]{display:none !important}.chart-flash{max-width:960px;margin:1em auto 0;padding:0.7em 1em;border-radius:8px;font-size:0.92em;background:rgba(34,197,94,0.12);border:1px solid rgba(34,197,94,0.3);color:#86efac}.chart-flash--alert{background:rgba(248,113,113,0.12);border-color:rgba(248,113,113,0.3);color:#fca5a5}.chart-panel{max-width:960px;margin:1.5em auto 0;padding:0 20px}.chart-filter{background:#171726;border:1px solid rgba(255,255,255,0.08);border-radius:12px}.chart-summary{display:flex;align-items:center;gap:1em;padding:0.95em 1.2em;cursor:pointer;list-style:none;user-select:none}.chart-summary::-webkit-details-marker{display:none}.chart-summary-text{flex:1;font-weight:600;color:#e6e6fa}.chart-summary-edit{color:#b57bee;font-size:0.85em;font-weight:600;white-space:nowrap}.chart-summary-edit::after{content:" ▾"}.chart-filter[open] .chart-summary-edit::after{content:" ▴"}.chart-filter[open] .chart-summary{border-bottom:1px solid rgba(255,255,255,0.06)}.chart-form{display:flex;flex-direction:column;gap:1.4em;padding:1.3em 1.2em 1.2em}.chart-row{display:flex;flex-wrap:wrap;align-items:center;gap:0.6em 0.8em}.chart-row--fields{gap:1.2em 2em;align-items:flex-end}.chart-row-text{color:#8a8aa8}.chart-field{display:flex;flex-direction:column;gap:0.4em}.chart-field-label{color:#8a8aa8;font-size:0.78em;font-weight:600;letter-spacing:0.06em;text-transform:uppercase}.chart-range{display:flex;align-items:center;gap:0.4em;color:#6f6f8f}.chart-sort{display:flex;gap:0.4em}.chart-sort .field-input{width:auto}.dir-toggle{background:rgba(0,0,0,0.3);border:1px solid rgba(255,255,255,0.1);border-radius:8px;color:#dcdcf0;padding:0.45em 0.8em;font-size:0.9em;cursor:pointer;white-space:nowrap}.dir-toggle:hover{border-color:rgba(168,85,247,0.5)}.chart-help{margin:0.5em 0 0;color:#6f6f8f;font-size:0.85em}.chart-actions{display:flex;flex-wrap:wrap;align-items:center;gap:0.7em;padding-top:1.1em;border-top:1px solid rgba(255,255,255,0.06)}.chart-update{font-size:0.95em;padding:0.6em 1.4em}.save-search{display:flex;gap:0.4em}.save-search .field-input{width:200px}.chart-reset{margin-left:auto;color:#8a8aa8;font-size:0.85em}.chart-reset:hover{color:#dcdcf0}.year-picker{position:relative}.pill-btn{background:#6d28d9;color:#fff;border:none;border-radius:8px;padding:0.5em 1em;font-size:0.95em;font-weight:700;cursor:pointer;transition:background 0.15s}.pill-btn::after{content:" ▾";font-size:0.8em}.pill-btn:hover{background:#5b21b6}.year-popover{position:absolute;top:calc(100% + 8px);left:0;z-index:40;width:460px;max-width:calc(100vw - 32px);background:#11111c;border:1px solid rgba(255,255,255,0.1);border-radius:12px;box-shadow:0 16px 40px rgba(0,0,0,0.55);overflow:hidden}.year-modes{display:flex;flex-direction:column}.year-mode{display:flex;align-items:center;gap:0.9em;padding:0.75em 1.1em;background:none;border:none;border-bottom:1px solid rgba(255,255,255,0.06);color:#dcdcf0;text-align:left;font-size:0.95em;cursor:pointer}.year-mode:hover{background:rgba(255,255,255,0.04)}.year-mode strong{display:block;font-weight:600}.year-mode small{display:block;color:#8a8aa8;font-size:0.82em;margin-top:0.1em}.year-mode-dot{flex-shrink:0;width:16px;height:16px;border-radius:50%;border:2px solid #8a8aa8;box-sizing:border-box}.year-mode[aria-pressed="true"] .year-mode-dot{border-color:#b57bee;background:radial-gradient(#b57bee 45%, transparent 50%)}.year-hint{margin:0;padding:0.8em 1.1em;color:#a8a8c4;font-size:0.85em;background:rgba(0,0,0,0.25)}.year-grid{padding:0.5em}.year-row{display:grid;grid-template-columns:1.6fr repeat(10, 1fr)}.year-decade,.year-cell{background:none;border:1px solid rgba(255,255,255,0.04);color:#a8a8c4;padding:0.45em 0;font-size:0.8em;cursor:pointer;font-variant-numeric:tabular-nums}.year-decade{font-weight:700;color:#8a8aa8}.year-decade:hover,.year-cell:hover{background:rgba(168,85,247,0.18);color:#fff}.year-cell--future{border:1px solid transparent}.year-row:first-child .year-cell{font-size:0.72em}.year-decade.year-cell--selected,.year-cell.year-cell--selected{background:#6d28d9;color:#fff}.year-more{display:block;width:100%;margin-top:0.3em;background:rgba(255,255,255,0.03);border:none;color:#8a8aa8;padding:0.4em;cursor:pointer}.year-more:hover{color:#fff}.year-popover-foot{display:flex;justify-content:center;padding:0.3em 0 0.9em}.tag-filter{display:flex;flex-direction:column;gap:1em}.tag-group-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:0.5em}.match-all{display:flex;align-items:center;gap:0.4em;color:#a8a8c4;font-size:0.85em;font-weight:600;cursor:pointer}.match-all input{accent-color:#6d28d9}.chip-list{display:flex;flex-wrap:wrap;gap:0.5em}.tag-chip{display:inline-flex;align-items:center;gap:0.35em;padding:0.35em 0.45em 0.35em 0.85em;border-radius:8px;background:#6d28d9;color:#fff;font-size:0.92em;font-weight:600}[data-tag-filter-target="excludeList"] .tag-chip{background:#9f1239}.tag-chip-remove{display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px;border:none;border-radius:50%;background:rgba(255,255,255,0.9);color:#1a1a2b;font-size:0.95em;font-weight:700;line-height:1;cursor:pointer}.tag-chip-remove:hover{background:#fff}.tag-search{position:relative}.tag-search-input{width:100%;box-sizing:border-box;background:rgba(0,0,0,0.3);border:1px solid rgba(255,255,255,0.1);border-radius:8px;color:#dcdcf0;padding:0.7em 2.6em 0.7em 0.9em;font-size:1em;outline:none}.tag-search-input:focus{border-color:rgba(168,85,247,0.6)}.tag-search-clear{position:absolute;top:50%;right:0.6em;transform:translateY(-50%);width:22px;height:22px;border:none;border-radius:50%;background:#dcdcf0;color:#11111c;font-weight:700;line-height:1;cursor:pointer}.tag-suggestions{position:absolute;top:calc(100% + 4px);left:0;right:0;z-index:30;max-height:420px;overflow-y:auto;background:#11111c;border:1px solid rgba(255,255,255,0.1);border-radius:10px;box-shadow:0 16px 40px rgba(0,0,0,0.55)}.tag-suggestion{padding:0.9em 1.1em;border-bottom:1px solid rgba(255,255,255,0.06)}.tag-suggestion:last-child{border-bottom:none}.tag-suggestion--active{background:rgba(168,85,247,0.08)}.tag-suggestion-name{font-size:1.1em;font-weight:600;color:#f0f0ff}.tag-suggestion-meta{margin-top:0.25em;color:#8a8aa8;font-size:0.75em;letter-spacing:0.06em;text-transform:uppercase}.tag-suggestion-actions{display:flex;gap:0.5em;margin-top:0.7em}.tag-suggestion-btn{background:rgba(255,255,255,0.12);border:none;border-radius:7px;color:#f0f0ff;padding:0.45em 1em;font-size:0.9em;font-weight:700;cursor:pointer}.tag-suggestion-btn:hover{background:rgba(255,255,255,0.2)}.tag-suggestion-btn--selected{background:#6d28d9}.tag-suggestion-btn--selected:hover{background:#5b21b6}.tag-suggestions-empty{padding:0.9em 1.1em;color:#8a8aa8;font-size:0.9em}.chart-empty{text-align:center;color:#8a8aa8;margin:3em 0}.albums-grid{display:grid;grid-template-columns:repeat(3, 1fr);gap:1em;margin:2em auto;padding:0 20px}@media (min-width: 600px){.albums-grid{grid-template-columns:repeat(4, 1fr)}}@media (min-width: 1000px){.albums-grid{grid-template-columns:repeat(6, 1fr)}}.album-card{background:#222;border-radius:10px;box-shadow:0 2px 8px rgba(0,0,0,0.08);overflow:hidden;display:flex;flex-direction:column;align-items:center}.chart-pagination{display:flex;justify-content:center;gap:1em;margin:2em 0}.chart-pagination .btn-ghost{text-decoration:none}.chart-footer{display:flex;flex-direction:column;align-items:center;gap:0.2em;margin:1em 0 3em;padding:0 20px;text-align:center}@media (max-width: 600px){.chart-summary{flex-direction:column;align-items:flex-start;gap:0.3em}.chart-reset{margin-left:0}.save-search .field-input{width:150px}.chart-row--years{position:relative}.year-picker{position:static}}.album-details-container{display:flex;flex-direction:column;align-items:center;margin-top:2em}.album-details-title{text-align:center;font-size:2em;margin-bottom:1em}.album-details-cover{width:250px;height:250px;object-fit:cover;border-radius:12px;margin-bottom:1em}.album-details-tags{margin-bottom:1em}.album-details-scrobbles{font-size:1.1em;margin-top:1em}.album-show{max-width:960px;margin:2.5em auto 4em;padding:0 1.5em;color:#dcdcf0}.album-hero{display:flex;gap:3em;align-items:flex-start;margin-bottom:3em}.album-cover-wrap{flex-shrink:0}.album-cover{width:260px;height:260px;object-fit:cover;border-radius:16px;box-shadow:0 24px 64px rgba(0,0,0,0.75);display:block}.album-hero-info{flex:1;display:flex;flex-direction:column;gap:1.1em;padding-top:0.25em}.album-name{font-size:2.6em;font-weight:800;margin:0;color:#fff;line-height:1.1}.album-meta-row{display:flex;flex-wrap:wrap;align-items:center;gap:0.5em;font-size:1em}.meta-sep{color:#444}.album-artist-link{color:#b57bee;font-weight:600;text-decoration:none}.album-artist-link:hover{color:#d8aaff}.album-year-link{color:#8888aa;text-decoration:none}.album-year-link:hover{color:#dcdcf0}.album-scrobbles{color:#8888aa}.album-rating-row{display:flex;align-items:center;gap:0.75em;flex-wrap:wrap}.rating-badge{background:linear-gradient(135deg, #6d28d9, #a855f7);color:#fff;font-size:1.5em;font-weight:700;border-radius:10px;padding:0.1em 0.6em;min-width:2.2em;text-align:center;line-height:1.5}.album-tags-row{display:flex;flex-wrap:wrap;gap:0.4em}.tag-pill{background:rgba(168,85,247,0.1);color:#b57bee;border:1px solid rgba(168,85,247,0.28);border-radius:20px;padding:0.22em 0.8em;font-size:0.82em;text-decoration:none;transition:background 0.15s, color 0.15s}.tag-pill:hover{background:rgba(168,85,247,0.22);color:#ddb6ff}.album-cards{display:grid;grid-template-columns:1fr 1fr;gap:1.25em}.album-cards .card:first-child{grid-column:1 / -1}.card{background:rgba(255,255,255,0.04);border:1px solid rgba(255,255,255,0.08);border-radius:14px;padding:1.5em}.card-heading{font-size:0.7em;font-weight:700;text-transform:uppercase;letter-spacing:0.12em;color:#8888aa;margin:0 0 1.1em}.card-subsection{margin-top:1.4em}.field-label{display:block;font-size:0.82em;color:#8888aa;margin-bottom:0.4em}.field-input,.field-textarea{width:100%;background:rgba(0,0,0,0.3);border:1px solid rgba(255,255,255,0.1);border-radius:8px;color:#dcdcf0;padding:0.55em 0.8em;font-size:0.93em;font-family:inherit;box-sizing:border-box;outline:none;transition:border-color 0.15s}.field-input:focus,.field-textarea:focus{border-color:rgba(168,85,247,0.5)}.field-textarea{resize:vertical;min-height:76px}.num-input{width:80px;background:rgba(0,0,0,0.3);border:1px solid rgba(255,255,255,0.1);border-radius:8px;color:#dcdcf0;padding:0.45em 0.6em;font-size:0.95em;outline:none}.num-input:focus{border-color:rgba(168,85,247,0.5)}.btn-save{display:inline-block;background:#6d28d9;color:#fff;border:none;border-radius:7px;padding:0.45em 1.1em;font-size:0.85em;font-weight:600;cursor:pointer;margin-top:0.65em;transition:background 0.15s;text-decoration:none}.btn-save:hover{background:#5b21b6}.btn-save.inline-btn{margin-top:0}.btn-ghost{background:transparent;color:#b57bee;border:1px solid rgba(168,85,247,0.32);border-radius:7px;padding:0.42em 0.9em;font-size:0.85em;font-weight:600;cursor:pointer;transition:background 0.15s, color 0.15s}.btn-ghost:hover{background:rgba(168,85,247,0.14);color:#ddb6ff}.btn-outline{display:inline-block;color:#b57bee;border:1px solid rgba(168,85,247,0.32);border-radius:8px;padding:0.45em 1.1em;font-size:0.88em;font-weight:600;text-decoration:none;transition:background 0.15s, color 0.15s}.btn-outline:hover{background:rgba(168,85,247,0.14);color:#ddb6ff}.history-table{width:100%;border-collapse:collapse;margin-top:1.25em;font-size:0.88em;color:#dcdcf0}.history-table th{text-align:left;padding:0.35em 0.6em;color:#8888aa;border-bottom:1px solid rgba(255,255,255,0.08);font-weight:600}.history-table td{padding:0.45em 0.6em;border-bottom:1px solid rgba(255,255,255,0.04)}.btn-delete{background:transparent;color:#f87171;border:1px solid rgba(248,113,113,0.22);border-radius:5px;padding:0.15em 0.5em;font-size:0.9em;cursor:pointer;line-height:1;transition:background 0.15s}.btn-delete:hover{background:rgba(248,113,113,0.12)}.inline-form{display:flex;align-items:center;gap:0.6em;flex-wrap:wrap}@media (max-width: 640px){.album-hero{flex-direction:column;gap:1.5em;align-items:center;text-align:center}.album-cover{width:200px;height:200px}.album-name{font-size:1.9em}.album-tags-row,.album-meta-row,.album-rating-row{justify-content:center}.album-cards{grid-template-columns:1fr}.album-cards .card:first-child{grid-column:auto}}.artist-show{max-width:1100px;margin:2.5em auto 4em;padding:0 1.5em;color:#dcdcf0}.artist-hero{margin-bottom:3em;display:flex;flex-direction:column;gap:1em}.artist-name{font-size:3.4em;font-weight:800;color:#fff;margin:0;line-height:1.05}.artist-stats{display:flex;align-items:center;gap:0.5em;color:#8888aa;font-size:1em}.artist-section{margin-bottom:3em}.section-heading{font-size:0.7em;font-weight:700;text-transform:uppercase;letter-spacing:0.12em;color:#8888aa;margin:0 0 1.25em}.artist-albums-grid{display:grid;grid-template-columns:repeat(auto-fill, minmax(140px, 1fr));gap:1rem}.artist-album-card{background:rgba(255,255,255,0.05);border:1px solid rgba(255,255,255,0.07);border-radius:10px;overflow:hidden;aspect-ratio:2 / 3.2;display:flex;flex-direction:column;transition:background 0.15s, transform 0.15s}.artist-album-card:hover{background:rgba(255,255,255,0.09);transform:translateY(-3px)}.artist-bio{color:#9898b8;line-height:1.75;font-size:0.95em}@media (max-width: 600px){.artist-name{font-size:2.4em}.artist-albums-grid{grid-template-columns:repeat(auto-fill, minmax(120px, 1fr))}}.header-nav{background:rgba(33,56,133,0.15);border-bottom:1px solid rgba(255,255,255,0.07);width:100%;display:flex;flex-direction:column;padding:0;font-size:16px;box-sizing:border-box;margin-bottom:10px}.header-nav-main{display:flex;align-items:center;justify-content:flex-start;gap:8px;padding:12px 16px;flex-wrap:nowrap}.btn-menu{display:none;flex-direction:column;background:rgba(255,255,255,0.05);border:1px solid rgba(255,255,255,0.07);border-radius:8px;padding:0.6em 0.8em;cursor:pointer;transition:background 0.15s, border-color 0.15s;margin-left:auto;gap:5px;align-items:center}.btn-menu:hover{background:rgba(255,255,255,0.12);border-color:rgba(255,255,255,0.15)}.btn-menu span{width:24px;height:2px;background:#e0e0ff;border-radius:1px;transition:all 0.3s}@media (min-width: 1024px){.header-nav-main{justify-content:center;gap:8px;padding:12px 16px}.btn-menu{display:none !important}.header-nav-dropdown{display:flex !important;flex-direction:row;flex-wrap:wrap;justify-content:center;gap:8px;padding:12px 16px;border-top:1px solid rgba(255,255,255,0.07);visibility:visible !important;opacity:1 !important;max-height:none !important}}@media (max-width: 1023px){.header-nav-main{justify-content:space-between}.btn-primary{flex:0 1 auto}.btn-menu{display:flex}.header-nav-dropdown{display:flex;flex-direction:column;max-height:0;overflow:hidden;visibility:hidden;opacity:0;transition:max-height 0.3s, opacity 0.3s, visibility 0.3s}.header-nav-dropdown.active{max-height:500px;visibility:visible;opacity:1;padding:8px 16px 12px 16px}.btn-dropdown{width:100%}}.header-nav .btn{color:#e0e0ff;background:rgba(255,255,255,0.05);border:1px solid rgba(255,255,255,0.07);border-radius:8px;font-weight:600;font-size:0.95em;text-decoration:none;padding:0.6em 1.2em;text-align:center;white-space:nowrap;transition:background 0.15s, color 0.15s, transform 0.15s, border-color 0.15s;cursor:pointer}.header-nav .btn:hover{background:rgba(255,255,255,0.12);color:#ffffff;border-color:rgba(255,255,255,0.15);transform:translateY(-2px)}.saved-lists{position:relative}.saved-lists>summary{list-style:none;display:block}.saved-lists>summary::-webkit-details-marker{display:none}.saved-lists-menu{position:absolute;top:calc(100% + 6px);left:0;z-index:50;min-width:220px;max-height:70vh;overflow-y:auto;padding:6px;background:#1a1a2b;border:1px solid rgba(255,255,255,0.1);border-radius:10px;box-shadow:0 12px 32px rgba(0,0,0,0.45)}.saved-lists-item{display:flex;align-items:center;border-radius:6px}.saved-lists-item:hover{background:rgba(255,255,255,0.06)}.saved-lists-link{flex:1;padding:0.55em 0.75em;color:#e0e0ff;text-decoration:none;white-space:nowrap}.saved-lists-item form{margin:0}.saved-lists-delete{background:none;border:none;color:#6f6f8f;font-size:1.1em;padding:0.3em 0.6em;cursor:pointer;border-radius:6px}.saved-lists-delete:hover{color:#f87171;background:rgba(248,113,113,0.12)}.saved-lists-empty{margin:0;padding:0.6em 0.75em;color:#8a8aa8;font-size:0.88em}.home-container{display:flex;flex-direction:column;align-items:center;margin-top:1em}.home-title{text-align:center;font-size:2.5em;margin-bottom:1em;color:#fff}.refresh-btn{background:linear-gradient(90deg, #007bff 0%, #0056b3 100%);color:#fff;border:none;border-radius:25px;padding:0.75em 2em;font-size:1.2em;font-weight:bold;cursor:pointer;box-shadow:0 2px 8px rgba(0,0,0,0.08);transition:background 0.2s, transform 0.2s;margin-bottom:1.5em}.refresh-btn:hover{background:linear-gradient(90deg, #0056b3 0%, #007bff 100%);transform:translateY(-2px) scale(1.03)}.refresh-notification{margin-top:1em;color:#28a745;font-weight:bold;display:none;text-align:center}.scrobbles-grid{display:grid;grid-template-columns:repeat(3, 1fr);gap:1em;margin:2em auto;padding:0 20px}@media (min-width: 600px){.scrobbles-grid{grid-template-columns:repeat(4, 1fr)}}@media (min-width: 1000px){.scrobbles-grid{grid-template-columns:repeat(6, 1fr)}}.scrobble-card{background:rgba(255,255,255,0.05);border:1px solid rgba(255,255,255,0.07);border-radius:12px;overflow:hidden;aspect-ratio:2 / 3.2;width:100%;font-size:clamp(0.9em, 2vw, 1.2em);display:flex;flex-direction:column;align-items:center;text-decoration:none;color:inherit;transition:background 0.15s, transform 0.15s}.scrobble-card:hover{background:rgba(255,255,255,0.09);transform:translateY(-3px)}.scrobble-cover{width:100%;aspect-ratio:1 / 1;object-fit:cover;display:block}.scrobble-cover-fallback{background:rgba(255,255,255,0.06);width:100%;aspect-ratio:1 / 1}.scrobble-info{padding:1em;width:100%;text-align:center;display:block;margin-top:0;flex:1 1 0;display:flex;flex-direction:column;justify-content:center;align-items:center}.scrobble-artist{color:#fff;font-weight:700;font-size:0.78em;margin-bottom:0.3em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;width:100%;text-align:center}.scrobble-album{color:#8888aa;margin-bottom:0.3em;font-size:0.68em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;width:100%;text-align:center}.scrobble-track{color:#b57bee;font-size:0.65em;word-break:break-word;text-align:center}.home-pagination{display:flex;justify-content:center;align-items:center;gap:1em;margin:2em 0}.pagination-btn{color:#dcdcf0;text-decoration:none;padding:0.45em 1.1em;background:rgba(255,255,255,0.07);border:1px solid rgba(255,255,255,0.1);border-radius:8px;font-size:0.9em;transition:background 0.15s}.pagination-btn:hover{background:rgba(255,255,255,0.13)}.pagination-page{color:#8888aa;font-size:0.9em}body{background:#0f0f17;font-family:Arial, sans-serif;color:#333;margin:0;padding:0}
