@import"https://fonts.googleapis.com/css2?family=Instrument+Serif:ital@0;1&family=Inter+Tight:wght@300;400;500;600&family=JetBrains+Mono:wght@300;400;500&display=swap";.filter-select[data-v-5578beeb]{background:transparent;color:var(--ink-2);font-family:var(--mono);font-size:11px;letter-spacing:.04em;padding:6px 24px 6px 10px;border:1px solid var(--rule);border-radius:var(--radius-sm);cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6' viewBox='0 0 10 6'%3E%3Cpath fill='%238a8d93' d='M0 0l5 6 5-6z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 8px center;background-size:8px}.filter-select[data-v-5578beeb]:hover:not(:disabled){border-color:var(--rule-2);color:var(--ink)}.filter-select[data-v-5578beeb]:focus{outline:none;border-color:var(--rule-2)}.filter-select[data-v-5578beeb]:disabled{opacity:.4;cursor:not-allowed}.filter-select option[data-v-5578beeb]{background:var(--surface);color:var(--ink)}.library-info[data-v-520c6300]{margin-top:40px;padding-top:20px;border-top:1px solid var(--rule)}.library-info dl[data-v-520c6300]{display:grid;grid-template-columns:max-content 1fr;gap:4px 22px;margin:0}.library-info dt[data-v-520c6300]{font-family:var(--mono);font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);padding-top:2px}.library-info dd[data-v-520c6300]{margin:0;font-family:var(--mono);font-size:12px;color:var(--ink-2);letter-spacing:.02em}:root{--bg: #17181a;--surface: #1d1f22;--surface-2: #24262a;--rule: #2c2e33;--rule-2: #383a40;--ink: #e9e7e2;--ink-2: #c4c2bd;--muted: #8a8d93;--muted-2: #5e6167;--accent: oklch(.76 .13 72);--accent-ink: oklch(.98 .02 72);--accent-dim: oklch(.45 .08 72);--serif: "Instrument Serif", "Times New Roman", serif;--sans: "Inter Tight", system-ui, sans-serif;--mono: "JetBrains Mono", ui-monospace, monospace;--radius: 6px;--radius-sm: 3px}*{box-sizing:border-box}html,body{margin:0;padding:0;background:var(--bg);color:var(--ink);font-family:var(--sans);font-size:14px;line-height:1.45;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-feature-settings:"ss01","cv11"}body{min-height:100vh;background-image:radial-gradient(circle at 0% 0%,rgba(255,255,255,.015),transparent 40%),url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='120' height='120'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 0.06  0 0 0 0 0.06  0 0 0 0 0.06  0 0 0 0.3 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}button{font:inherit;color:inherit;background:none;border:0;padding:0;cursor:pointer;-webkit-tap-highlight-color:transparent}input{font:inherit;color:inherit}::selection{background:var(--accent);color:#1a1509}.serif{font-family:var(--serif);font-weight:400;letter-spacing:-.005em}.mono{font-family:var(--mono);font-weight:400}.mono-xs{font-family:var(--mono);font-size:10.5px;letter-spacing:.04em;text-transform:uppercase;color:var(--muted)}.eyebrow{font-family:var(--mono);font-size:10.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}.num{font-variant-numeric:tabular-nums}.app{display:grid;grid-template-columns:260px 1fr;grid-template-rows:1fr auto;height:100vh;overflow:hidden}.sidebar{grid-row:1 / 3;border-right:1px solid var(--rule);background:var(--bg);display:flex;flex-direction:column;min-height:0}.main{grid-column:2;grid-row:1;overflow-y:auto;min-height:0;scrollbar-width:thin;scrollbar-color:var(--rule-2) transparent}.main::-webkit-scrollbar{width:10px}.main::-webkit-scrollbar-thumb{background:var(--rule-2);border-radius:10px;border:3px solid var(--bg)}.mini-wrap{grid-column:2;grid-row:2;border-top:1px solid var(--rule);background:var(--bg)}.brand{padding:18px 18px 12px;display:flex;align-items:baseline;gap:8px;border-bottom:1px solid var(--rule)}.brand .logo{font-family:var(--serif);font-size:22px;letter-spacing:-.01em}.brand .logo em{font-style:italic;color:var(--accent);font-weight:400}.brand .build{margin-left:auto;font-family:var(--mono);font-size:10px;color:var(--muted-2);letter-spacing:.08em}.nav-section{padding:14px 12px 6px}.nav-section-title{font-family:var(--mono);font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted-2);padding:0 6px 6px}.nav-item{display:flex;align-items:center;gap:10px;padding:7px 8px;border-radius:var(--radius-sm);color:var(--ink-2);width:100%;text-align:left;cursor:pointer;font-size:13.5px}.nav-item:hover{background:var(--surface);color:var(--ink)}.nav-item.active{background:var(--surface-2);color:var(--ink)}.nav-item .count{margin-left:auto;font-family:var(--mono);font-size:11px;color:var(--muted)}.nav-item svg{width:15px;height:15px;flex-shrink:0}.btn svg{width:14px;height:14px;flex-shrink:0}.nav-item.active .count{color:var(--ink-2)}.sidebar-search{padding:8px 12px 4px}.sidebar-search input{width:100%;background:var(--surface);border:1px solid var(--rule);border-radius:var(--radius-sm);padding:7px 10px;color:var(--ink);outline:none;font-size:13px}.sidebar-search input:focus{border-color:var(--rule-2)}.sidebar-search input::placeholder{color:var(--muted-2)}.artist-list{flex:1;overflow-y:auto;padding:4px 8px 12px;scrollbar-width:thin;scrollbar-color:var(--rule-2) transparent}.artist-row{display:flex;align-items:center;gap:10px;padding:6px;border-radius:var(--radius-sm);cursor:pointer;width:100%;text-align:left;color:var(--ink-2)}.artist-row:hover{background:var(--surface);color:var(--ink)}.artist-row.active{background:var(--surface-2);color:var(--ink)}.artist-row .mini-tile{width:28px;height:28px;flex-shrink:0;border-radius:var(--radius-sm);display:grid;place-items:center;font-family:var(--serif);font-size:14px;letter-spacing:-.02em}.artist-row .name{flex:1;font-size:13.5px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.artist-row .count{font-family:var(--mono);font-size:11px;color:var(--muted)}.sidebar-footer{border-top:1px solid var(--rule);padding:10px 12px;display:flex;gap:4px}.sidebar-footer .nav-item{padding:6px 8px;font-size:13px}.view-pad{padding:28px 36px 40px;max-width:1400px}.view-header{display:flex;align-items:flex-end;gap:24px;padding-bottom:20px;margin-bottom:24px;border-bottom:1px solid var(--rule)}.view-title{font-family:var(--serif);font-size:40px;line-height:1;letter-spacing:-.01em;margin:0}.view-title em{font-style:italic}.view-sub{font-family:var(--mono);font-size:11.5px;color:var(--muted);letter-spacing:.06em}.view-controls{margin-left:auto;display:flex;gap:6px;align-items:center}.pill{font-family:var(--mono);font-size:11px;letter-spacing:.06em;text-transform:uppercase;padding:6px 10px;border:1px solid var(--rule);border-radius:var(--radius-sm);color:var(--muted);background:transparent;cursor:pointer;white-space:nowrap}.pill:hover{color:var(--ink);border-color:var(--rule-2)}.pill.active{color:var(--ink);border-color:var(--rule-2);background:var(--surface)}.pill-group{display:inline-flex;border:1px solid var(--rule);border-radius:var(--radius-sm)}.pill-group .pill{border:0;border-radius:0;border-right:1px solid var(--rule)}.pill-group .pill:last-child{border-right:0}.artist-section{margin-bottom:36px}.artist-section-header{display:flex;align-items:baseline;gap:14px;padding-bottom:12px;margin-bottom:16px;border-bottom:1px solid var(--rule)}.artist-section-header .name{font-family:var(--serif);font-size:26px;letter-spacing:-.01em}.artist-section-header .bio{font-family:var(--mono);font-size:11px;color:var(--muted);letter-spacing:.04em}.artist-section-header .count{margin-left:auto;font-family:var(--mono);font-size:11px;color:var(--muted);letter-spacing:.08em;text-transform:uppercase}.concert-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:20px 20px}.concert-card{display:flex;flex-direction:column;gap:10px;cursor:pointer;text-align:left;color:inherit;position:relative}.concert-card:hover .cover-tile{border-color:var(--rule-2)}.concert-card:hover .card-title{color:var(--accent)}.cover-tile{aspect-ratio:1 / 1;border-radius:var(--radius);border:1px solid var(--rule);padding:14px;display:flex;flex-direction:column;position:relative;overflow:hidden;transition:border-color .14s}.cover-tile .cover-img{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:cover;z-index:0}.cover-tile .cover-scrim{position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(180deg,#00000059,#000000b8);z-index:0}.cover-tile>*:not(.cover-img):not(.cover-scrim){position:relative;z-index:1}.cover-tile:after{content:"";position:absolute;top:8px;right:8px;bottom:8px;left:8px;border:1px solid currentColor;opacity:.15;pointer-events:none;border-radius:2px;z-index:1}.mini-cover{position:relative;overflow:hidden}.mini-cover img{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:cover}.artist-row .mini-tile img{width:100%;height:100%;object-fit:cover;border-radius:inherit}.loading-state{padding:60px 40px;text-align:center;color:var(--muted);font-family:var(--mono);font-size:12px;letter-spacing:.1em;text-transform:uppercase}.cover-tile .c-artist{font-family:var(--serif);font-size:22px;line-height:1.05;letter-spacing:-.01em;margin-bottom:auto}.cover-tile .c-meta{font-family:var(--mono);font-size:10px;letter-spacing:.08em;text-transform:uppercase;opacity:.75}.cover-tile .c-date{font-family:var(--mono);font-size:13px;letter-spacing:.04em;margin-top:4px}.cover-tile .c-venue{font-family:var(--serif);font-style:italic;font-size:15px;line-height:1.2;margin-top:10px;opacity:.85}.cover-tile .c-rule{width:36px;height:1px;margin:10px 0;background:currentColor;opacity:.35}.offline-badge{position:absolute;top:10px;right:10px;width:18px;height:18px;border-radius:50%;background:#0000004d;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:grid;place-items:center;color:var(--accent);font-size:11px;z-index:1}.card-meta-row{display:flex;flex-direction:column;gap:2px;padding:0 2px}.card-date{font-family:var(--mono);font-size:11px;color:var(--muted);letter-spacing:.04em}.card-title{font-family:var(--serif);font-size:17px;line-height:1.2;transition:color .14s;letter-spacing:-.005em}.card-title em{font-style:italic}.card-sub{font-family:var(--mono);font-size:10.5px;color:var(--muted);letter-spacing:.03em}.detail-grid{display:grid;grid-template-columns:340px 1fr;gap:40px;align-items:start}.detail-cover{position:sticky;top:0}.detail-cover .cover-tile{aspect-ratio:1;padding:22px}.detail-cover .cover-tile .c-artist{font-size:34px}.detail-cover .cover-tile .c-venue{font-size:20px}.detail-cover .cover-tile .c-date{font-size:15px}.detail-actions{margin-top:16px;display:flex;flex-direction:column;gap:8px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;padding:11px 16px;border-radius:var(--radius);border:1px solid var(--rule-2);font-family:var(--sans);font-size:13px;font-weight:500;letter-spacing:.01em;color:var(--ink);cursor:pointer;background:var(--surface);transition:background .12s,border-color .12s}.btn:hover{background:var(--surface-2);border-color:var(--rule-2)}.btn.primary{background:var(--accent);color:#1a1509;border-color:var(--accent)}.btn.primary:hover{background:#f8b65d}.btn.ghost{background:transparent;border-color:var(--rule);color:var(--ink-2)}.btn.ghost:hover{color:var(--ink);border-color:var(--rule-2)}.btn .glyph{font-size:14px}.btn.full{width:100%}.detail-main{min-width:0}.detail-title{font-family:var(--serif);font-size:54px;line-height:1;letter-spacing:-.015em;margin:0 0 6px}.detail-title em{font-style:italic}.detail-subline{font-family:var(--serif);font-size:22px;font-style:italic;color:var(--ink-2);margin-bottom:22px}.meta-dl{display:grid;grid-template-columns:max-content 1fr;gap:6px 22px;padding:16px 0;border-top:1px solid var(--rule);border-bottom:1px solid var(--rule);margin-bottom:20px}.meta-dl dt{font-family:var(--mono);font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);padding-top:2px}.meta-dl dd{margin:0;font-family:var(--mono);font-size:12px;color:var(--ink-2);letter-spacing:.02em}.notes{background:var(--surface);border:1px solid var(--rule);border-radius:var(--radius);padding:14px 16px;margin-bottom:24px;font-family:var(--serif);font-style:italic;font-size:16px;line-height:1.55;color:var(--ink-2);position:relative}.notes:before{content:"NOTE";position:absolute;top:-7px;left:12px;font-family:var(--mono);font-style:normal;font-size:9.5px;letter-spacing:.14em;background:var(--bg);padding:0 6px;color:var(--muted)}.tracklist-header{display:flex;align-items:baseline;gap:14px;margin-bottom:12px}.tracklist-header .title{font-family:var(--serif);font-size:22px;letter-spacing:-.005em}.tracklist-header .count{font-family:var(--mono);font-size:11px;color:var(--muted);letter-spacing:.06em;text-transform:uppercase}.tracklist-header .total{margin-left:auto;font-family:var(--mono);font-size:11px;color:var(--muted)}.tracklist{column-count:2;column-gap:28px}.tracklist .track-row{break-inside:avoid}.track-row{display:grid;grid-template-columns:28px 1fr max-content;gap:12px;padding:9px 6px 9px 2px;border-bottom:1px solid var(--rule);cursor:pointer;align-items:baseline;color:inherit;text-align:left;width:100%}.track-row:hover{background:var(--surface)}.track-row:hover .t-title{color:var(--accent)}.track-row .t-n{font-family:var(--mono);font-size:11px;color:var(--muted);text-align:right}.track-row .t-title{font-family:var(--serif);font-size:17px;line-height:1.2;letter-spacing:-.005em;transition:color .12s;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.track-row .t-dur{font-family:var(--mono);font-size:11px;color:var(--muted)}.track-row.playing .t-title,.track-row.playing .t-n{color:var(--accent)}.mini{display:grid;grid-template-columns:300px 1fr 220px;align-items:center;height:72px;padding:0 20px;gap:20px}.mini-now{display:flex;align-items:center;gap:12px;min-width:0;cursor:pointer}.mini-now:hover .mini-title{color:var(--accent)}.mini-cover{width:44px;height:44px;flex-shrink:0;border-radius:var(--radius-sm);display:flex;flex-direction:column;justify-content:center;align-items:center;font-family:var(--serif);font-size:12px;padding:4px;overflow:hidden;text-align:center;line-height:1;letter-spacing:-.01em}.mini-text{min-width:0;display:flex;flex-direction:column;gap:1px}.mini-title{font-family:var(--serif);font-size:14px;line-height:1.2;transition:color .12s;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mini-sub{font-family:var(--mono);font-size:10.5px;color:var(--muted);letter-spacing:.04em;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mini-center{display:flex;flex-direction:column;align-items:center;gap:6px}.mini-controls{display:flex;align-items:center;gap:18px}.mini-progress{width:100%;max-width:520px;display:flex;align-items:center;gap:10px;font-family:var(--mono);font-size:10.5px;color:var(--muted)}.mini-bar{flex:1;height:2px;background:var(--rule);border-radius:1px;position:relative;overflow:hidden}.mini-bar .fill{position:absolute;inset:0 auto 0 0;background:var(--accent)}.mini-bar .tick{position:absolute;top:0;bottom:0;width:1px;background:var(--muted-2);opacity:.6}.ctl{width:32px;height:32px;border-radius:50%;display:grid;place-items:center;color:var(--ink-2);transition:color .12s,background .12s}.ctl:hover{color:var(--ink);background:var(--surface)}.ctl svg{width:18px;height:18px}.ctl.play{background:var(--ink);color:var(--bg);width:36px;height:36px}.ctl.play:hover{background:var(--accent)}.ctl.play svg{width:14px;height:14px}.mini-right{display:flex;align-items:center;justify-content:flex-end;gap:14px}.mini-time{font-family:var(--mono);font-size:11px;color:var(--muted);letter-spacing:.02em}.player-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#0a0b0c8c;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);z-index:40;opacity:0;pointer-events:none;transition:opacity .2s ease}.player-backdrop.open{opacity:1;pointer-events:auto}.player{position:fixed;top:0;right:0;bottom:0;width:100%;max-width:620px;background:var(--bg);border-left:1px solid var(--rule);z-index:50;transform:translate(100%);transition:transform .26s cubic-bezier(.22,.9,.3,1);display:flex;flex-direction:column;min-height:0}.player.open{transform:translate(0)}.player-top{display:flex;align-items:center;justify-content:space-between;padding:14px 22px;border-bottom:1px solid var(--rule);flex-shrink:0}.player-top .label{font-family:var(--mono);font-size:10.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--muted)}.player-top .close{width:30px;height:30px;border-radius:var(--radius-sm);display:grid;place-items:center;color:var(--muted)}.player-top .close:hover{background:var(--surface);color:var(--ink)}.player-body{flex:1;overflow-y:auto;padding:28px 40px 24px;min-height:0}.player-hero{display:grid;grid-template-columns:180px 1fr;gap:24px;align-items:start;margin-bottom:22px}.player-hero .cover-tile{aspect-ratio:1}.player-hero .cover-tile .c-artist{font-size:20px}.player-hero .cover-tile .c-venue{font-size:13px}.player-hero .cover-tile .c-date{font-size:11px}.player-title{font-family:var(--serif);font-size:40px;line-height:1;letter-spacing:-.015em;margin:0 0 4px}.player-title em{font-style:italic}.player-artist{font-family:var(--serif);font-style:italic;font-size:18px;color:var(--ink-2);margin-bottom:6px}.player-venue{font-family:var(--mono);font-size:11px;color:var(--muted);letter-spacing:.06em;margin-bottom:10px;line-height:1.5}.player-format{font-family:var(--mono);font-size:10px;color:var(--muted-2);letter-spacing:.08em;padding-top:10px;border-top:1px solid var(--rule)}.tl-wrap{margin:20px 0 22px}.tl-head{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:10px}.tl-head .now{font-family:var(--mono);font-size:12px;color:var(--ink);letter-spacing:.02em}.tl-head .tot{font-family:var(--mono);font-size:12px;color:var(--muted)}.tl-head .tracknum{font-family:var(--mono);font-size:10.5px;color:var(--muted);letter-spacing:.08em;text-transform:uppercase}.tl-segments{display:flex;gap:2px;height:22px;width:100%;cursor:pointer;align-items:stretch;position:relative}.tl-seg{flex-grow:1;background:var(--rule);border-radius:2px;position:relative;overflow:hidden;transition:background .12s}.tl-seg:hover{background:var(--rule-2)}.tl-seg.played{background:var(--accent-dim)}.tl-seg.current{background:var(--rule-2)}.tl-seg.current .tl-fill{position:absolute;left:0;top:0;bottom:0;background:var(--accent)}.tl-seg-label{position:absolute;bottom:-18px;left:0;font-family:var(--mono);font-size:9px;color:var(--muted-2);letter-spacing:.04em;white-space:nowrap}.tl-seg.current .tl-seg-label{color:var(--accent)}.tl-ruler{position:relative;height:36px;cursor:pointer}.tl-ruler .rail{position:absolute;left:0;right:0;top:17px;height:2px;background:var(--rule);border-radius:1px}.tl-ruler .played{position:absolute;left:0;top:17px;height:2px;background:var(--accent);border-radius:1px}.tl-ruler .tick{position:absolute;top:10px;bottom:10px;width:1px;background:var(--muted-2)}.tl-ruler .tick.past{background:var(--accent);opacity:.55}.tl-ruler .tick.current{background:var(--accent);top:4px;bottom:4px;width:2px;box-shadow:0 0 0 3px #0006}.tl-ruler .head{position:absolute;top:13px;width:10px;height:10px;border-radius:50%;background:var(--accent);transform:translate(-5px);box-shadow:0 0 0 3px #17181a}.tl-type{cursor:pointer}.tl-type-row{display:flex;justify-content:space-between;gap:4px;padding:4px 0 6px;font-family:var(--mono);font-size:12px;letter-spacing:.04em;border-bottom:1px solid var(--rule);color:var(--muted-2);overflow:hidden}.tl-type-row .n{transition:color .12s}.tl-type-row .n.past{color:var(--muted)}.tl-type-row .n.current{color:var(--accent);font-weight:500}.tl-type-bar{margin-top:6px;height:2px;background:var(--rule);position:relative;border-radius:1px}.tl-type-bar .fill{position:absolute;inset:0 auto 0 0;background:var(--accent);border-radius:1px}.player-controls{display:flex;align-items:center;justify-content:center;gap:14px;margin:22px 0}.pctl{width:40px;height:40px;border-radius:50%;display:grid;place-items:center;color:var(--ink-2);transition:color .12s,background .12s}.pctl:hover{color:var(--ink);background:var(--surface)}.pctl svg{width:20px;height:20px}.pctl.play{background:var(--ink);color:var(--bg);width:54px;height:54px}.pctl.play:hover{background:var(--accent)}.pctl.play svg{width:20px;height:20px}.pctl.skip-tag{font-family:var(--mono);font-size:9.5px;letter-spacing:.06em}.p-tracks{border-top:1px solid var(--rule);padding-top:16px;margin-top:4px}.p-tracks-head{display:flex;align-items:baseline;gap:10px;margin-bottom:8px}.p-tracks-head .t{font-family:var(--mono);font-size:10px;color:var(--muted);letter-spacing:.14em;text-transform:uppercase}.p-track{display:grid;grid-template-columns:20px 12px 1fr max-content;gap:10px;padding:7px 0;border-bottom:1px dashed var(--rule);font-family:var(--sans);font-size:13px;color:var(--ink-2);align-items:baseline;cursor:pointer;width:100%;text-align:left}.p-track:hover{color:var(--ink)}.p-track .n{font-family:var(--mono);font-size:10.5px;color:var(--muted);text-align:right}.p-track .marker{font-family:var(--mono);color:var(--muted-2);font-size:10.5px;text-align:center}.p-track.playing .marker,.p-track.playing{color:var(--accent)}.p-track .title{font-family:var(--serif);font-size:16px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.p-track .dur{font-family:var(--mono);font-size:10.5px;color:var(--muted)}.tl-variants{display:inline-flex;border:1px solid var(--rule);border-radius:var(--radius-sm);padding:2px;gap:0;margin-left:auto}.tl-variants button{padding:4px 8px;font-family:var(--mono);font-size:10px;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);border-radius:2px}.tl-variants button.active{color:var(--ink);background:var(--surface)}.two-col{display:grid;grid-template-columns:1fr 1fr;gap:24px}.stat{background:var(--surface);border:1px solid var(--rule);border-radius:var(--radius);padding:18px 20px}.stat .label{font-family:var(--mono);font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);margin-bottom:6px}.stat .value{font-family:var(--serif);font-size:32px;line-height:1;letter-spacing:-.01em}.stat .value .unit{font-family:var(--mono);font-size:14px;color:var(--muted);margin-left:4px;letter-spacing:.04em}.storage-bar{width:100%;height:6px;background:var(--rule);border-radius:3px;margin-top:14px;overflow:hidden}.storage-bar .fill{height:100%;background:var(--accent)}.offline-list{display:flex;flex-direction:column;gap:2px;margin-top:22px}.offline-row{display:grid;grid-template-columns:48px 1fr max-content max-content;gap:16px;align-items:center;padding:12px 0;border-bottom:1px solid var(--rule)}.offline-row .mini-tile{width:48px;height:48px;border-radius:var(--radius-sm);display:grid;place-items:center;font-family:var(--serif);font-size:16px}.offline-row .info .title{font-family:var(--serif);font-size:17px;letter-spacing:-.005em}.offline-row .info .sub{font-family:var(--mono);font-size:10.5px;color:var(--muted);letter-spacing:.04em}.offline-row .size{font-family:var(--mono);font-size:12px;color:var(--muted)}.offline-row .rm{color:var(--muted)}.offline-row .rm:hover{color:var(--accent)}.setting-row{display:grid;grid-template-columns:1fr max-content;padding:18px 0;border-bottom:1px solid var(--rule);gap:20px;align-items:center}.setting-row .label-group .label{font-family:var(--serif);font-size:18px;margin-bottom:3px}.setting-row .label-group .desc{font-family:var(--sans);font-size:12.5px;color:var(--muted)}.toggle{width:40px;height:22px;border-radius:11px;background:var(--rule);position:relative;cursor:pointer;transition:background .12s}.toggle:after{content:"";position:absolute;left:2px;top:2px;width:18px;height:18px;border-radius:50%;background:var(--ink-2);transition:left .12s,background .12s}.toggle.on{background:var(--accent)}.toggle.on:after{left:20px;background:#1a1509}.help-fab{position:absolute;top:22px;right:30px;font-family:var(--mono);font-size:10.5px;color:var(--muted-2);letter-spacing:.14em;text-transform:uppercase;padding:4px 8px;border:1px solid var(--rule);border-radius:var(--radius-sm);cursor:pointer}.help-fab:hover{color:var(--ink);border-color:var(--rule-2)}.help-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0a0b0cb8;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);z-index:80;display:grid;place-items:center;opacity:0;pointer-events:none;transition:opacity .16s}.help-overlay.open{opacity:1;pointer-events:auto}.help-card{background:var(--surface);border:1px solid var(--rule);border-radius:var(--radius);padding:26px 30px;width:380px;max-width:90vw}.help-card h3{font-family:var(--serif);font-size:26px;margin:0 0 16px}.help-row{display:grid;grid-template-columns:90px 1fr;gap:14px;padding:8px 0;border-bottom:1px solid var(--rule);font-size:13px}.help-row:last-child{border:0}.kbd{font-family:var(--mono);font-size:11px;color:var(--ink);background:var(--bg);border:1px solid var(--rule-2);border-radius:3px;padding:2px 6px;display:inline-block;min-width:22px;text-align:center}.tweaks-panel{position:fixed;right:16px;bottom:96px;width:280px;background:var(--surface);border:1px solid var(--rule-2);border-radius:var(--radius);padding:14px 16px 16px;z-index:70;box-shadow:0 20px 60px -20px #0009}.tweaks-panel h4{margin:0 0 14px;font-family:var(--serif);font-size:18px;display:flex;align-items:center;gap:8px}.tweaks-panel h4 .dot{width:6px;height:6px;border-radius:50%;background:var(--accent)}.tweak-group{margin-bottom:14px}.tweak-group .label{font-family:var(--mono);font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);margin-bottom:6px}.tweak-row{display:flex;gap:4px}.tweak-row button{flex:1;padding:6px 8px;border:1px solid var(--rule);border-radius:var(--radius-sm);font-family:var(--mono);font-size:10.5px;letter-spacing:.05em;color:var(--muted);text-transform:uppercase}.tweak-row button.on{color:var(--ink);border-color:var(--rule-2);background:var(--bg)}.tweak-swatch-row{display:flex;gap:8px}.tweak-swatch{width:28px;height:28px;border-radius:50%;border:2px solid transparent;cursor:pointer}.tweak-swatch.on{border-color:var(--ink)}.topbar{display:none}.topbar-btn{width:36px;height:36px;border:1px solid var(--rule);border-radius:var(--radius-sm);display:grid;place-items:center;color:var(--ink-2);background:transparent;cursor:pointer}.topbar-btn:hover{color:var(--ink)}.topbar-logo{font-family:var(--serif);font-size:20px;letter-spacing:-.01em}.topbar-logo em{font-style:italic;color:var(--accent);font-weight:400}@media (max-width: 900px){.app{grid-template-columns:1fr;grid-template-rows:auto auto 1fr auto}.topbar{grid-column:1;grid-row:1;display:flex;align-items:center;gap:12px;padding:10px 14px;border-bottom:1px solid var(--rule);background:var(--bg)}.sidebar{grid-column:1;grid-row:2;border-right:0;border-bottom:1px solid var(--rule);max-height:60vh;display:none}.sidebar.open-mobile{display:flex}.sidebar .brand{display:none}.main{grid-column:1;grid-row:3}.mini-wrap{grid-column:1;grid-row:4}.view-pad{padding:20px 18px 32px}.view-header{flex-wrap:wrap;gap:10px}.view-title{font-size:30px}.detail-grid{grid-template-columns:1fr;gap:22px}.detail-cover{position:static;max-width:320px}.detail-title{font-size:38px}.tracklist{grid-template-columns:1fr}.mini{grid-template-columns:1fr auto;gap:12px;padding:0 14px;height:64px}.mini-progress{display:none}.mini-right{gap:8px}.mini-time{display:none}.player{max-width:100%}.player-body{padding:22px 18px}.player-hero{grid-template-columns:120px 1fr;gap:16px}.player-hero .cover-tile .c-artist{font-size:16px}.player-title{font-size:30px}.two-col{grid-template-columns:1fr}.concert-grid{grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:14px}}@media (max-width: 768px){.help-fab{display:none}}.artist-list::-webkit-scrollbar{width:8px}.artist-list::-webkit-scrollbar-thumb{background:var(--rule);border-radius:8px}.player-body::-webkit-scrollbar{width:10px}.player-body::-webkit-scrollbar-thumb{background:var(--rule-2);border-radius:10px;border:3px solid var(--bg)}
