:root{color-scheme:dark;font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;--bg: #13110f;--panel: #1b1815;--panel-2: #24201b;--line: #36302a;--text: #f3efe7;--muted: #aca497;--quiet: #7a7368;--accent: #ffb454;--accent-dark: #e39a3c;--fav: #ff7a6b;color:var(--text);background:var(--bg)}*{box-sizing:border-box}html,body{margin:0;min-height:100%;background:var(--bg)}a{color:inherit;text-decoration:none}button,input,textarea{font:inherit;color:inherit}h1{margin:0 0 18px;font-family:Georgia,Times New Roman,serif;font-size:clamp(1.8rem,4vw,2.7rem);font-weight:500;line-height:1.08}h2{display:flex;align-items:center;gap:8px;margin:0;font-size:1rem;font-weight:650}p{margin:0}.app-shell{display:grid;grid-template-columns:236px 1fr;min-height:100vh}.sidebar{position:sticky;top:0;display:flex;flex-direction:column;gap:4px;height:100vh;padding:22px 14px;border-right:1px solid var(--line);background:#100e0c}.brand-row{display:flex;align-items:center;justify-content:space-between;margin-bottom:22px}.brand{display:flex;align-items:center;gap:11px}.brand strong{display:block;font-family:Georgia,serif;font-size:1.15rem;font-weight:500}.brand small{display:block;color:var(--quiet);font-size:.62rem;letter-spacing:.12em;text-transform:uppercase}.brand-mark{display:grid;width:36px;height:36px;place-items:center;border-radius:50%;background:var(--accent);color:#17130d}.nav-list{display:grid;gap:2px}.nav-link{display:flex;align-items:center;gap:12px;padding:11px 12px;border-radius:4px;color:#a39b8e;font-size:.88rem}.nav-link:hover{color:var(--text);background:#1a1714}.nav-link--active{color:var(--text);background:#231f1a}.nav-link--active svg{color:var(--accent)}.nav-button{width:100%;margin-top:auto;border:0;background:transparent;cursor:pointer;text-align:left}.icon-button{display:grid;width:38px;height:38px;place-items:center;border:0;background:transparent;cursor:pointer}.mobile-only,.mobile-header,.scrim{display:none}.app-main{min-width:0}.page{display:grid;gap:22px;max-width:920px;padding:44px 40px 80px}.eyebrow{color:var(--accent);font-size:.68rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase}.muted{color:var(--muted);font-size:.9rem;line-height:1.5}.error{color:var(--fav);font-size:.85rem}.link{justify-self:start;border:0;background:none;color:var(--accent);cursor:pointer;font-size:.85rem;text-decoration:underline}.plain{padding:0;border:0;background:none;cursor:pointer;text-align:left}.search-form{display:flex;align-items:center;gap:10px;padding:6px 6px 6px 16px;background:#f1ece2;color:#1a1611}.search-form input{flex:1;min-width:0;height:44px;border:0;background:transparent;color:#1a1611;outline:none}.search-form input::placeholder{color:#7d766a}.button{display:inline-flex;min-height:40px;align-items:center;justify-content:center;gap:8px;padding:9px 15px;border:1px solid transparent;cursor:pointer;font-size:.8rem;font-weight:650}.button:disabled{opacity:.45;cursor:default}.button.primary{background:var(--accent);color:#17130d}.button.primary:hover:not(:disabled){background:var(--accent-dark)}.button.secondary{border-color:#4a4239;background:transparent}.button.secondary:hover:not(:disabled){border-color:#7d7365}.button.fav{background:var(--fav);color:#1c0f0d}.button.play{justify-self:start;border-color:#1db954;color:#1db954;background:transparent}.button.play:hover{background:#1db954;color:#0c1a10}.filters{display:flex;flex-wrap:wrap;gap:6px}.pill{padding:7px 12px;border:1px solid #40392f;border-radius:999px;background:transparent;color:var(--muted);cursor:pointer;font-size:.8rem}.pill:hover{border-color:#867b6a;color:var(--text)}.pill--on{border-color:var(--accent);background:var(--accent);color:#17130d;font-weight:650}.button.full{width:100%}.row{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.row--end{flex-wrap:nowrap;margin-left:auto}.section-head{display:flex;align-items:baseline;justify-content:space-between;gap:14px;margin-bottom:14px}.section-head span{color:var(--quiet);font-size:.8rem}.task-list{display:grid;gap:12px}.task-card{display:flex;gap:18px;padding:18px;border:1px solid var(--line);background:var(--panel)}.task-body{display:grid;gap:8px;align-content:start;min-width:0}.album-title{font-family:Georgia,serif;font-size:1.12rem;line-height:1.25}.album-meta{color:var(--muted);font-size:.84rem}.reason{padding-left:12px;border-left:2px solid var(--accent);color:#d8d0c2;font-size:.9rem;line-height:1.5}.note{color:#c9c1b3;font-size:.84rem;font-style:italic;line-height:1.45}.counters{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.counter{display:grid;gap:2px;padding:18px;border:1px solid var(--line);background:var(--panel)}.counter strong{font-family:Georgia,serif;font-size:2rem;font-weight:500}.counter span{color:var(--muted);font-size:.8rem}.cover{display:grid;flex:none;place-items:center;overflow:hidden;background:var(--panel-2);color:var(--quiet)}.cover img{width:100%;height:100%;object-fit:cover}.cover--sm{width:56px;height:56px}.cover--md{width:112px;height:112px}.cover--lg{width:240px;height:240px}.album-list{display:grid}.album-row{display:flex;align-items:center;gap:14px;padding:12px 0;border-bottom:1px solid #272320}.album-row-body{display:grid;gap:3px;min-width:0}.album-row .album-title{font-size:1rem;overflow:hidden;text-overflow:ellipsis}.chip{display:grid;width:36px;height:36px;flex:none;place-items:center;border:1px solid #40392f;border-radius:50%;background:transparent;color:var(--muted);cursor:pointer}.chip:hover:not(:disabled){border-color:#867b6a;color:var(--text)}.chip:disabled{opacity:.3;cursor:default}.chip--on{border-color:var(--accent);background:var(--accent);color:#17130d}.chip--fav{border-color:var(--fav);background:var(--fav);color:#1c0f0d}.album-hero{display:flex;gap:28px;align-items:flex-start}.album-hero>div:last-child{display:grid;gap:12px;min-width:0}.album-hero h1{margin:0}.hero-artist{font-size:1.15rem}.hero-artist a{border-bottom:1px solid #5a5145}.detail{display:grid;gap:12px;padding-top:22px;border-top:1px solid var(--line)}.ratings{display:flex;flex-wrap:wrap;gap:6px}.rating{min-width:44px;height:38px;border:1px solid #40392f;background:transparent;cursor:pointer;font-size:.85rem}.rating:hover{border-color:#867b6a}.rating--on{border-color:var(--accent);background:var(--accent);color:#17130d;font-weight:700}textarea,.detail input,.manual input{width:100%;padding:11px 13px;border:1px solid #40392f;background:var(--panel);line-height:1.5;resize:vertical}textarea:focus,input:focus{border-color:var(--accent);outline:none}.criteria{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.86rem}.manual{display:grid;gap:10px;max-width:460px;padding:20px;border:1px solid var(--line);background:var(--panel)}.empty{display:grid;gap:6px;justify-items:center;padding:40px 20px;border:1px dashed var(--line);color:var(--muted);text-align:center}.empty strong{color:var(--text);font-family:Georgia,serif;font-size:1.1rem;font-weight:500}.empty p{max-width:380px;font-size:.86rem;line-height:1.5}.login-screen{display:grid;min-height:100vh;place-items:center;padding:24px}.login-card{display:grid;gap:10px;width:min(340px,100%);padding:32px 28px;border:1px solid var(--line);background:var(--panel)}.login-card h1{margin:6px 0 0;font-size:1.6rem}.login-card>p{margin-bottom:14px;color:var(--muted);font-size:.85rem}.login-card label{color:var(--muted);font-size:.75rem}.login-card input{min-height:42px;padding:9px 12px;border:1px solid #4a4239;background:var(--bg);font-size:1rem}@media(max-width:760px){.app-shell{grid-template-columns:1fr}.sidebar{position:fixed;z-index:30;left:0;width:264px;transform:translate(-100%);transition:transform .2s ease}.sidebar--open{transform:none}.scrim{display:block;position:fixed;top:0;right:0;bottom:0;left:0;z-index:20;border:0;background:#0009}.mobile-only{display:grid}.mobile-header{display:flex;align-items:center;justify-content:space-between;position:sticky;top:0;z-index:10;padding:8px 12px;border-bottom:1px solid var(--line);background:#100e0c}.mobile-logo{font-family:Georgia,serif;font-size:1.1rem}.page{padding:24px 16px 70px}.album-hero{flex-direction:column}.cover--lg{width:100%;max-width:300px;height:auto;aspect-ratio:1}.task-card{gap:14px;padding:14px}.cover--md{width:84px;height:84px}.album-row{flex-wrap:wrap}.row--end{width:100%;justify-content:flex-end}.search-form .button{padding:9px 12px}}
