:root{--bg:#14110f;--bg2:#1d1815;--card:#231d19;--line:#3a2f27;--text:#f3e9d8;--muted:#a89884;--amber:#e8a33d;--amber-d:#b9791a;--wood:#7a4a2a;--ok:#7fb069;--bad:#e0614f;--display:"Fraunces", Georgia, serif;--sans:"Manrope", system-ui, sans-serif}*{box-sizing:border-box}html{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}body{background:radial-gradient(1200px 600px at 80% -10%, #2a1d12 0%, transparent 60%), var(--bg);color:var(--text);font:400 16px/1.5 var(--sans);-webkit-tap-highlight-color:transparent;min-height:100dvh;margin:0}h1,h2,h3{font-family:var(--display);letter-spacing:-.01em;margin:0;font-weight:700}button,input{font:inherit;color:inherit}.wrap{max-width:880px;margin:0 auto;padding:20px 16px 64px}.top{justify-content:space-between;align-items:center;gap:12px;padding:8px 0 20px;display:flex}.brand{font-family:var(--display);align-items:center;gap:10px;font-size:28px;font-weight:700;display:flex}.brand svg{width:30px;height:30px}.chip{border:1px solid var(--line);background:var(--bg2);color:var(--muted);border-radius:999px;align-items:center;gap:8px;padding:6px 12px;font-size:13px;font-weight:600;display:inline-flex}.dot{background:var(--muted);border-radius:50%;width:8px;height:8px}.chip.on .dot{background:var(--ok);box-shadow:0 0 0 4px #7fb06922}.chip.warn .dot{background:var(--amber)}.card{background:var(--card);border:1px solid var(--line);border-radius:18px;padding:18px}.stack{gap:16px;display:grid}.hero{padding:24px 0 8px}.hero h1{font-size:clamp(32px,7vw,52px);line-height:1.05}.hero p{color:var(--muted);max-width:52ch;margin:10px 0 0}.rules{grid-template-columns:repeat(3,1fr);gap:10px;margin-top:18px;display:grid}.rule{background:var(--bg2);border:1px solid var(--line);color:var(--muted);border-radius:14px;padding:12px;font-size:13px}.rule b{color:var(--amber);font-family:var(--display);font-size:18px;display:block}label{color:var(--muted);margin:0 0 6px;font-size:13px;font-weight:600;display:block}.input{background:var(--bg);border:1px solid var(--line);border-radius:12px;outline:none;width:100%;padding:12px 14px}.input:focus-visible{border-color:var(--amber);box-shadow:0 0 0 3px #e8a33d33}.btn{appearance:none;border:1px solid var(--line);background:var(--bg2);cursor:pointer;border-radius:12px;min-height:44px;padding:10px 16px;font-weight:700;transition:transform .12s,background .15s}.btn:hover{background:#2a221d}.btn:active{transform:scale(.97)}.btn:focus-visible{outline:2px solid var(--amber);outline-offset:2px}.btn.primary{background:var(--amber);color:#1a1208;border-color:var(--amber)}.btn.primary:hover{background:#f0b255}.btn.danger{color:var(--bad)}.btn.sm{min-height:36px;padding:6px 12px;font-size:14px}.btn[disabled]{opacity:.5;cursor:not-allowed}.row{align-items:center;gap:10px;display:flex}.row.wrap2{flex-wrap:wrap}.grow{flex:1;min-width:0}.results{gap:8px;margin-top:10px;display:grid}.song{border:1px solid var(--line);background:var(--bg2);text-align:left;cursor:pointer;border-radius:12px;align-items:center;gap:12px;width:100%;padding:8px;display:flex}.song:hover,.song[aria-pressed=true]{border-color:var(--amber)}.song img{object-fit:cover;background:var(--bg);border-radius:8px;flex:none;width:72px;height:54px}.song .t{-webkit-line-clamp:2;-webkit-box-orient:vertical;font-weight:700;display:-webkit-box;overflow:hidden}.song .s{color:var(--muted);font-size:13px}.badge{color:var(--amber);white-space:nowrap;background:#e8a33d22;border-radius:999px;padding:3px 8px;font-size:12px;font-weight:700}.badge.prio{background:var(--amber);color:#1a1208}.pos{font-family:var(--display);text-align:center;width:36px;color:var(--amber);flex:none;font-size:22px}.list{gap:8px;display:grid}.item{background:var(--bg2);border:1px solid var(--line);border-radius:14px;align-items:center;gap:12px;padding:10px;display:flex}.item img{object-fit:cover;border-radius:8px;flex:none;width:56px;height:42px}.item .t{text-overflow:ellipsis;white-space:nowrap;font-weight:700;overflow:hidden}.item .s{color:var(--muted);font-size:13px}.empty{color:var(--muted);text-align:center;padding:18px}.status{border:1px solid var(--line);background:var(--bg2);border-radius:14px;padding:14px}.status.warn{border-color:var(--amber-d)}.status.bad{border-color:var(--bad)}.status h3{margin-bottom:4px;font-size:18px}.msg{color:var(--bad);margin-top:8px;font-size:14px}.sec-h{justify-content:space-between;align-items:baseline;margin-bottom:12px;display:flex}.sec-h h2{font-size:22px}.sec-h span{color:var(--muted);font-size:13px}.grid2{grid-template-columns:1fr 1fr;gap:16px;display:grid}.sr{clip:rect(0 0 0 0);width:1px;height:1px;position:absolute;overflow:hidden}@media (width<=720px){.rules,.grid2{grid-template-columns:1fr}}@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}body.overlay{background:0 0;min-height:0;overflow:hidden}.ov{gap:1.1vh;width:26vw;min-width:340px;font-size:clamp(14px,1.15vw,24px);display:grid;position:fixed;bottom:3vh;left:2.2vw}.ov-now{background:linear-gradient(135deg,#1d1815ee,#2a1d12ee);border:1px solid #e8a33d66;border-radius:1.2em;align-items:center;gap:.9em;padding:.9em;animation:.5s cubic-bezier(.2,.8,.2,1) rise;display:flex;box-shadow:0 1em 3em #0008}.ov-now img{object-fit:cover;border-radius:.6em;width:5.6em;height:4.2em}.ov-k{letter-spacing:.14em;text-transform:uppercase;color:var(--amber);font-size:.72em;font-weight:700}.ov-t{font-family:var(--display);-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:1.25em;font-weight:700;line-height:1.15;display:-webkit-box;overflow:hidden}.ov-u{color:var(--muted);font-size:.9em}.ov-next{background:#14110fd9;border:1px solid #3a2f27;border-radius:1em;gap:.5em;padding:.7em .9em;display:grid}.ov-next .r{align-items:center;gap:.7em;animation:.45s cubic-bezier(.2,.8,.2,1) backwards rise;display:flex}.ov-next .n{font-family:var(--display);color:var(--amber);text-align:center;width:1.3em;font-weight:700}.ov-next .tt{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;font-weight:700;overflow:hidden}.ov-next .uu{color:var(--muted);font-size:.85em}.ov-cta{text-align:center;color:var(--text);background:#14110fd9;border:1px dashed #e8a33d66;border-radius:999px;padding:.45em 1em;font-size:.8em}.ov-toast{background:var(--amber);color:#1a1208;border-radius:1em;padding:.8em 1.2em;font-size:clamp(14px,1.3vw,26px);font-weight:700;animation:.45s cubic-bezier(.2,1.2,.3,1) pop;position:fixed;top:4vh;right:2.2vw;box-shadow:0 1em 3em #0008}@keyframes rise{0%{opacity:0;transform:translateY(14px)scale(.98)}to{opacity:1;transform:none}}@keyframes pop{0%{opacity:0;transform:translate(30px)scale(.9)}to{opacity:1;transform:none}}
