Gate launch until library restoration completes, make playback context-aware with opt-in shuffle and ordered album/artist queues, and show Heavy Rotation only after meaningful repeat listens.

Hop-State: A_06FNQ6AXS34K9AR7VB49SNR
Hop-Proposal: R_06FNQ6AARMBP75PB7NYVYC8
Hop-Task: T_06FNQ3V4MZHA2TBQB6RT1V0
Hop-Attempt: AT_06FNQ3V4MZRVJ31NQZ8K7DG
This commit is contained in:
2026-07-13 06:10:05 -07:00
committed by Hop
parent f3b1d85936
commit c858762a4a
9 changed files with 320 additions and 52 deletions
+5
View File
@@ -36,6 +36,11 @@ button:disabled { cursor: wait; opacity: 0.65; }
.skip-link:focus { transform: translateY(0); }
.app-shell { display: grid; grid-template-columns: 218px minmax(0, 1fr); height: 100vh; background: var(--canvas); }
.app-bootstrap { position: relative; display: grid; width: 100vw; height: 100vh; place-items: center; align-content: center; gap: 7px; color: var(--muted); background: var(--canvas); }
.app-bootstrap .brand { position: absolute; top: 25px; left: 16px; padding: 0 8px; color: var(--ink); }
.app-bootstrap .library-status-icon { margin: 0 0 13px; }
.app-bootstrap > strong { color: var(--ink); font-size: 0.92rem; font-weight: 600; }
.app-bootstrap > span { color: var(--faint); font-size: 0.7rem; }
.sidebar { position: relative; z-index: 30; display: flex; height: calc(100vh - var(--player-height)); flex-direction: column; min-width: 0; padding: 25px 16px 16px; border-right: 1px solid var(--line); background: oklch(0.15 0.009 275); }
.brand { display: flex; align-items: center; gap: 10px; padding: 0 8px 33px; font-size: 1.06rem; font-weight: 700; letter-spacing: -0.03em; }