:root{--bg:#15110e;--wood:#1f1813;--wood-2:#2a211a;--roll:#1c1713;--cream:#efe6d6;--muted:#a4978a;--faint:#6f6358;--brass:#c9a45c;--brass-hi:#f3d08a;--serif:"Fraunces", Georgia, serif;--mono:"JetBrains Mono", ui-monospace, monospace;--sans:system-ui, -apple-system, "Segoe UI", sans-serif}*{box-sizing:border-box}html,body{margin:0}body{background:radial-gradient(1200px 600px at 20% -10%, #c9a45c14, transparent 60%), radial-gradient(900px 500px at 110% 10%, #86bfb70d, transparent 60%), var(--bg);color:var(--cream);font-family:var(--sans);-webkit-font-smoothing:antialiased;min-height:100vh}button{font:inherit;color:inherit;cursor:pointer}.page{max-width:1240px;margin:0 auto;padding:22px 32px 40px}.top{justify-content:space-between;align-items:center;gap:24px;min-height:52px;display:flex}.brand{font-family:var(--serif);letter-spacing:.2px;background:0 0;border:0;align-items:center;gap:12px;padding:0;font-size:22px;font-weight:650;display:flex}.search{flex:1;gap:10px;max-width:520px;display:flex}.search input{min-width:0;color:var(--cream);font-family:var(--mono);background:#1b1511;border:1px solid #c9a45c4d;border-radius:10px;outline:none;flex:1;padding:11px 14px;font-size:14px}.search input:focus{border-color:var(--brass-hi);box-shadow:0 0 0 3px #f3d08a1f}.search input::placeholder{color:var(--faint)}.search button{white-space:nowrap;color:var(--brass-hi);background:#c9a45c1f;border:1px solid #c9a45c80;border-radius:10px;padding:0 16px;font-size:14px;font-weight:600}.search button:disabled{opacity:.45;cursor:default}.status{font-family:var(--mono);color:var(--brass);margin:14px 0 0;font-size:13px}.error{color:#f0c9c9;background:#e3a0a014;border-left:2px solid #e3a0a0;border-radius:0 6px 6px 0;margin:14px 0 0;padding:10px 14px;font-size:14px}.home{padding:72px 0 24px}.home h1{font-family:var(--serif);letter-spacing:-.5px;max-width:900px;margin:0;font-size:clamp(34px,5vw,58px);font-weight:500;line-height:1.05}.home h1 em{color:var(--brass-hi);font-style:italic;font-weight:500}.lede{color:var(--muted);max-width:640px;margin:22px 0 44px;font-size:18px;line-height:1.6}.presets{grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:18px;display:grid}.preset{text-align:left;background:linear-gradient(180deg, var(--wood-2), var(--wood));border:1px solid #c9a45c38;border-radius:14px;flex-direction:column;align-items:flex-start;gap:6px;padding:22px 22px 20px;transition:transform .25s,border-color .25s;display:flex;position:relative;box-shadow:inset 0 1px #ffebc80d,0 12px 30px #00000059}.preset:hover{border-color:#f3d08a8c;transform:translateY(-3px)}.preset .repo{font-family:var(--serif);font-size:24px;font-weight:650}.preset .span{font-family:var(--mono);color:var(--brass);font-size:12px}.preset .counts{color:var(--muted);font-size:14px}.preset .lead{color:var(--cream);margin-top:8px;font-size:14px}.preset .go{color:var(--brass-hi);letter-spacing:.3px;margin-top:14px;font-size:13px}.player{padding:30px 0 10px}.songhead{justify-content:space-between;align-items:flex-end;margin-bottom:16px;display:flex}.songhead h2{font-family:var(--serif);margin:0;font-size:34px;font-weight:650}.songhead h2 a{color:var(--cream);text-decoration:none}.songhead h2 a:hover{color:var(--brass-hi)}.songhead p{color:var(--muted);margin:6px 0 0;font-size:14px}.box{background:var(--roll);border:1px solid #c9a45c47;border-radius:16px;overflow:hidden;box-shadow:inset 0 0 0 1px #0006,0 24px 60px #00000073}.roll{width:100%;display:block}.box{position:relative}.endcard{background:linear-gradient(90deg,#15110ef7 0%,#15110eeb 55%,#15110ebf 100%);flex-direction:column;justify-content:center;padding:34px 44px;animation:.6s fade-in;display:flex;position:absolute;inset:0}.endcard .kicker{font-family:var(--mono);letter-spacing:1.5px;text-transform:uppercase;color:var(--brass);margin:0;font-size:12px}.endcard h3{font-family:var(--serif);margin:6px 0 22px;font-size:32px;font-weight:650}.endcard dl{grid-template-columns:repeat(4,minmax(0,1fr));gap:18px;max-width:900px;margin:0 0 26px;display:grid}.endcard dl div{border-top:1px solid #c9a45c4d;padding-top:10px}.endcard dt{color:var(--muted);font-size:12px}.endcard dd{font-family:var(--serif);color:var(--cream);margin:4px 0 0;font-size:22px}.endcard dd small{font-family:var(--mono);color:var(--brass);margin-top:2px;font-size:12px;display:block}.endcard .actions{flex-wrap:wrap;gap:10px;display:flex}.endcard .actions button{color:var(--cream);background:0 0;border:1px solid #c9a45c73;border-radius:10px;padding:10px 16px;font-size:14px;font-weight:600}.endcard .actions .primary{background:var(--brass);border-color:var(--brass);color:#1b140d}@keyframes fade-in{0%{opacity:0}to{opacity:1}}.ghost{width:40px;height:40px;color:var(--brass-hi);background:0 0;border:1px solid #c9a45c59;border-radius:50%;flex:none;place-items:center;display:grid}.ghost.speed{font-family:var(--mono);font-size:13px;font-weight:600}.ticker{min-height:46px;font-family:var(--mono);color:var(--muted);white-space:nowrap;background:#17120f;border-top:1px solid #c9a45c2e;align-items:center;gap:14px;padding:13px 18px;font-size:13px;animation:.35s tick-in;display:flex;overflow:hidden}.ticker.idle{color:var(--faint);animation:none}.ticker .dot{border-radius:50%;flex:none;width:8px;height:8px}.ticker .sha{color:var(--brass)}.ticker .who{color:var(--cream);font-weight:600}.ticker .msg{color:var(--cream);text-overflow:ellipsis;overflow:hidden}@keyframes tick-in{0%{opacity:.35;transform:translateY(2px)}to{opacity:1;transform:none}}.transport{align-items:center;gap:18px;margin-top:18px;display:flex}.play{background:radial-gradient(circle at 35% 30%, var(--brass-hi), var(--brass) 60%, #9a7a3e);color:#1b140d;border:0;border-radius:50%;flex:none;place-items:center;width:56px;height:56px;transition:transform .15s;display:grid;box-shadow:0 8px 22px #c9a45c47}.play:hover{transform:scale(1.05)}.play:disabled{opacity:.5;cursor:wait}.progress{flex:1;align-items:center;gap:14px;display:flex}.progress .track{background:#efe6d61a;border-radius:2px;flex:1;height:4px;overflow:hidden}.progress .fill{background:linear-gradient(90deg, var(--brass), var(--brass-hi));width:0;height:100%}.progress .month{font-family:var(--mono);color:var(--cream);min-width:72px;font-size:13px}.hint{font-family:var(--mono);color:var(--faint);text-align:right;min-width:120px;font-size:12px}.foot{color:var(--faint);margin-top:56px;font-size:12px}@media (width<=720px){.page{padding:16px}.home{padding-top:40px}.transport,.top{flex-wrap:wrap}.search{flex-basis:100%;max-width:none}.endcard{padding:20px}.endcard dl{grid-template-columns:repeat(2,minmax(0,1fr))}}
