/* Archive-only: static local artwork, shared Material color roles. */
.archive-records{padding:clamp(18px,3vw,32px)!important;--record-ink:color-mix(in srgb,var(--md-primary) 28%,white);--record-face:color-mix(in srgb,var(--md-primary) 22%,#14201c);text-align:left;color:var(--md-text)}
.archive-records [hidden]{display:none!important}
.archive-records *{box-sizing:border-box}
.archive-records a,.archive-records button{border:0;color:inherit}
.archive-records button{font:inherit;cursor:pointer}
.archive-records :is(button,a,summary,[role=button]):focus-visible{outline:3px solid var(--md-primary);outline-offset:3px}
.record-eyebrow{font-size:10px;letter-spacing:.18em;color:var(--md-muted)}
.record-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:12px}
.archive-records .record-heading h1{margin:0;font-size:28px;line-height:1.4;letter-spacing:-.03em}
.record-heading h1 span{display:block;font-weight:500;font-size:14px;letter-spacing:.12em;color:var(--md-primary);margin-top:6px}
.record-total{flex-shrink:0;font-size:12px;border:1px solid var(--md-outline);border-radius:999px;padding:5px 12px;color:var(--md-muted)}
.record-header{margin-bottom:24px}
.record-years{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:28px}
.record-years a{display:flex;gap:12px;align-items:center;min-height:44px;padding:8px 18px;border-radius:999px;background:var(--md-low)}
.record-years a span{font-size:17px;font-weight:650;font-variant-numeric:tabular-nums}
.record-years a small{font-size:11px;color:var(--md-muted)}
.record-years a[aria-current=true]{background:var(--md-tonal);color:var(--md-on-tonal)}
.record-years a[aria-current=true] small{color:inherit}
.record-all{display:inline-flex;align-items:center;min-height:44px;font-size:13px;margin-bottom:18px;color:var(--md-primary)!important}
.record-stage{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.05fr);gap:28px;align-items:start}
.record-player{position:sticky;top:24px;min-width:0}
.record-deck{position:relative;width:100%;max-width:440px;margin:0 auto;aspect-ratio:1;isolation:isolate}
.record-disc{display:block;width:100%;height:100%;overflow:visible}
.record-shadow{fill:var(--md-outline);opacity:.14}
.record-face{fill:#253a30;fill:var(--record-face)}
.record-rim{fill:none;stroke:var(--record-ink);stroke-width:.8;opacity:.3}
.record-grooves{fill:none;stroke:var(--record-ink);stroke-width:.7;opacity:.15}
.record-arm{fill:var(--md-container);stroke:var(--md-primary);stroke-width:3;stroke-linecap:round;stroke-linejoin:round;pointer-events:none}
.record-arm path:last-child{stroke-width:8}
.record-track{cursor:pointer;outline:none}
.record-track .track-hit{fill:none;stroke:transparent;stroke-width:68;pointer-events:stroke}
.record-track .track-line{fill:none;stroke:var(--record-ink);stroke-width:14;stroke-linecap:round;opacity:.2;pointer-events:none;transition:opacity .16s,stroke-width .16s}
.record-track text{font:500 11px system-ui,sans-serif;fill:var(--record-ink);text-anchor:middle;dominant-baseline:central;pointer-events:none}
.record-track[aria-pressed=true] .track-line{opacity:1;stroke-width:20}
.record-track:hover .track-line,.record-track:focus-visible .track-line{opacity:.8}
.record-track:focus-visible .track-line{stroke:var(--md-container);stroke-dasharray:3 5}
.record-label{position:absolute;left:29%;top:29%;width:42%;aspect-ratio:1;border-radius:50%;overflow:hidden;background:var(--md-tonal);color:var(--md-on-tonal);border:4px solid var(--md-container);box-shadow:0 0 0 1px var(--md-outline);pointer-events:none}
#record-label-art,#record-label-art svg{display:block;width:100%;height:100%}
.record-label .label-tone{fill:var(--md-tonal)}
.record-label .label-warm{fill:var(--md-tertiary-container)}
.record-label .label-ink{fill:var(--md-primary);opacity:.48}
.record-label .label-soft{fill:var(--md-secondary-container)}
.record-label .label-water{fill:var(--md-tonal)}
.label-landscape,.label-night{display:none}
:root[data-cover-style=landscape] .label-geometry{display:none}
:root[data-cover-style=landscape] .label-landscape{display:inline}
:root[data-theme=dark] .label-day{display:none}
:root[data-theme=dark] .label-night{display:inline}
.record-spindle{position:absolute;left:47%;top:47%;width:6%;aspect-ratio:1;border-radius:50%;background:var(--md-container);box-shadow:0 0 0 1px var(--md-outline)}
.record-label strong{position:absolute;left:0;right:0;top:57%;font-size:clamp(21px,2.8vw,34px);line-height:1.3;letter-spacing:.02em;text-align:center;color:var(--md-on-tonal);text-shadow:0 1px 5px var(--md-tonal)}
.record-label small{position:absolute;left:4%;right:4%;bottom:10%;text-align:center;font-size:9px;line-height:1.2;color:var(--md-on-tonal);background:var(--md-tonal);border-radius:10px;padding:2px}
.record-caption{display:flex;justify-content:space-between;align-items:center;margin:10px 14px;color:var(--md-muted);font-size:10px;letter-spacing:.14em;font-variant-numeric:tabular-nums}
.record-browse{display:flex;justify-content:space-between;gap:4px;align-items:center;margin-top:12px}
.record-browse button{width:44px;height:44px;border-radius:50%;background:var(--md-low);color:var(--md-primary)}
.record-library{min-width:0}
.record-preview{padding:14px;border:1px solid var(--md-outline);border-radius:22px;background:var(--md-low)}
.record-preview .article-cover{width:100%;aspect-ratio:800/240;border-radius:12px;overflow:hidden;background:var(--cover-bg)}
.record-preview .cover-ink-1{--cover-tone:var(--md-secondary-container);--cover-ink:var(--md-secondary);--cover-warm:var(--md-tonal)}
.record-preview .cover-ink-2{--cover-tone:var(--md-tertiary-container);--cover-ink:var(--md-tertiary);--cover-warm:var(--md-secondary-container)}
.record-meta{display:flex;gap:6px 10px;flex-wrap:wrap;font-size:10px;line-height:1.6;color:var(--md-muted);margin:12px 0 7px}
.record-meta #record-category{overflow-wrap:anywhere}
#record-locked{color:var(--md-primary)}
.archive-records #record-preview-title{font-size:18px;line-height:1.55;margin:0;overflow-wrap:anywhere;font-weight:650}
.record-read{display:flex;justify-content:space-between;align-items:center;min-height:44px;margin-top:10px;font-size:12px;color:var(--md-primary)!important}
.record-track-heading{display:flex;justify-content:space-between;align-items:center;gap:8px;margin-top:24px;margin-bottom:6px}
.archive-records .record-track-heading h2{font-size:12px;font-weight:600;margin:0}
.record-track-heading>span{font-size:10px;color:var(--md-muted);white-space:nowrap}
.archive-records .record-list{list-style:none;padding:0;margin:0;counter-reset:none}
.record-list li{margin:2px 0;display:flex;align-items:stretch;gap:2px;border-radius:14px;min-height:54px}
.record-list li[data-selected=true]{background:var(--md-tonal);color:var(--md-on-tonal)}
.record-list .record-select,.record-list .record-native{display:flex;align-items:center;gap:10px;flex:1;min-width:0;min-height:54px;text-align:left;background:transparent;padding:9px 8px;border-radius:14px;font-size:12px;line-height:1.5;overflow-wrap:anywhere}
.record-number{flex-shrink:0;width:22px;text-align:center;font-size:10px;color:var(--md-primary);font-variant-numeric:tabular-nums}
.record-list small{display:block;font-size:10px;line-height:1.6;color:var(--md-muted);font-weight:400}
.record-list li[data-selected=true] small{color:inherit;opacity:.8}
.record-open{display:flex;justify-content:center;align-items:center;flex:0 0 44px;min-height:44px;border-radius:12px;font-size:17px}
.record-open:hover,.record-browse button:hover{background:var(--md-tonal)}
.record-sides{display:flex;justify-content:space-between;gap:4px;align-items:center;margin-top:12px;font-size:11px}
.record-sides button,.record-error button{min-height:44px;padding:6px 10px;border-radius:999px;background:var(--md-low);color:var(--md-primary)}
.archive-records button:disabled{opacity:.4;cursor:default}
.record-status{font-size:12px;color:var(--md-muted);margin:12px 0 0;min-height:20px}
.record-error{display:flex;align-items:center;gap:12px;flex-wrap:wrap;font-size:12px;padding:12px;background:var(--md-low);border-radius:16px}
.record-error a{color:var(--md-primary)}
.record-index{margin-top:24px;border-top:1px solid var(--md-outline);font-size:12px}
.record-index summary{min-height:52px;cursor:pointer;padding:14px 0;color:var(--md-muted)}
.record-index summary span{float:right}
.record-index ol{list-style:none;margin:0;padding:0}
.record-index li{display:flex;gap:14px;align-items:baseline;margin:0;padding:8px 0;line-height:1.7}
.record-index time{font-size:10px;white-space:nowrap;color:var(--md-muted);font-variant-numeric:tabular-nums}
.record-index a{overflow-wrap:anywhere;min-height:28px}
.record-empty{padding:40px 12px;text-align:center;font-size:14px}
@media(max-width:700px){.record-stage{grid-template-columns:minmax(0,1fr);gap:24px}.record-player{position:static}.record-deck{max-width:340px}.record-caption,.record-browse{max-width:310px;margin-left:auto;margin-right:auto}.record-label strong{font-size:30px}.record-preview{padding:16px}.record-track-heading{margin-top:22px}}
@media(max-width:360px){.record-heading h1 span{font-size:12px;letter-spacing:.05em}.record-total{padding:5px 8px;font-size:10px}.record-label strong{font-size:25px}.record-label small{font-size:8px}.record-index li{gap:8px}}
@media(prefers-reduced-motion:reduce){.record-track .track-line{transition:none}}
@media(forced-colors:active){.record-face{fill:Canvas}.record-rim,.record-grooves,.record-arm{stroke:CanvasText}.record-track .track-line{stroke:LinkText}.record-track text{fill:CanvasText}.record-track[aria-pressed=true] .track-line{stroke:Highlight}.record-label{border:2px solid CanvasText}.record-list li[data-selected=true]{outline:2px solid Highlight}.record-label strong,.record-label small{background:Canvas;color:CanvasText}}
@media print{.record-player,.record-years,.record-preview,.record-list,.record-sides,.record-track-heading,.record-status,.record-error{display:none!important}.record-index>ol{display:block!important}.record-index summary{display:none}.record-index{border:0}.record-index a{color:#000}.record-index li{break-inside:avoid}}
