:root{font-family:Inter,ui-sans-serif,system-ui,-apple-system,'Segoe UI',sans-serif;color:#f7f5ff;background:#10101b;font-synthesis:none}*{box-sizing:border-box}body{margin:0;min-height:100vh;background:radial-gradient(ellipse at 50% 0%,#2c1b48 0%,#10101b 48%)}a{color:inherit;text-decoration:none}.top{max-width:1160px;margin:auto;padding:24px 20px;display:flex;justify-content:space-between;align-items:center}.brand{font-weight:900;letter-spacing:1px;color:#e4b4ff;font-size:21px}nav{display:flex;gap:22px;font-size:14px;color:#c6bed4}nav a:hover{color:white}main{max-width:1160px;margin:0 auto;padding:12px 20px 80px}.hero{text-align:center;padding:65px 0 55px}.eyebrow{font-size:12px;font-weight:800;letter-spacing:2px;color:#c69bff}.hero h1{font-size:clamp(40px,6vw,72px);letter-spacing:-2.5px;line-height:1.1;margin:17px 0}.hero h1 em{font-style:normal;color:#d49aff}.hero p{color:#b6afc4;font-size:18px;max-width:540px;margin:auto}.layout{display:grid;grid-template-columns: minmax(280px, .85fr) minmax(0,1.35fr);gap:24px;align-items:start}.panel{background:#1c1a2c;border:1px solid #373047;border-radius:22px;padding:28px;box-shadow:0 15px 40px #0002}h1,h2,p{margin-top:0}h2{font-size:22px;margin-bottom:8px}.muted{color:#aaa4ba;font-size:14px;line-height:1.6}label{display:block;color:#ded8ec;font-size:13px;font-weight:650;margin:22px 0 0}input{display:block;width:100%;margin-top:9px;padding:15px 14px;border:1px solid #494158;border-radius:11px;background:#131320;color:white;font:inherit;outline:none}input:focus{border-color:#bd83f5;box-shadow:0 0 0 3px #ad70f326}button,.download{cursor:pointer;font:inherit;border-radius:11px;border:0;font-weight:750}button:disabled{opacity:.45;cursor:default}.primary{display:block;background:linear-gradient(110deg,#a96af1,#ec75bd);color:#160f25;padding:16px 20px;text-align:center;width:100%;margin-top:26px}.primary:hover{filter:brightness(1.08)}.panel-head{display:flex;justify-content:space-between;gap:12px;align-items:start}.count{background:#3a2a4c;border-radius:20px;padding:8px 12px;font-size:12px;white-space:nowrap;color:#e5caff}.wish-list{margin-top:16px}.wish{display:flex;gap:12px;align-items:center;border-top:1px solid #373044;padding:16px 0}.music-icon{background:#352644;color:#e7b4ff;border-radius:12px;min-width:44px;height:44px;display:grid;place-items:center;font-size:25px}.song{min-width:0;flex:1;display:flex;flex-direction:column;gap:4px}.song strong{overflow-wrap:anywhere}.song span,.song small{font-size:12px;color:#a9a1b7;overflow-wrap:anywhere}.song small{color:#c4a1e8}.vote{background:#352744;color:#e8bbff;padding:10px 12px;white-space:nowrap}.played{opacity:.55}.empty{text-align:center;padding:40px 5px;color:#b2a9c1}.notice{padding:14px 18px;border-radius:12px;margin:14px 0;background:#342b46}.notice.success{color:#b9f3d0}.notice.error{color:#ffb5bf}.notice.info{color:#e9c5ff}.login{max-width:430px;margin:90px auto;text-align:center}.login form{text-align:left}.big-icon{font-size:50px;margin-bottom:16px}.dj-head{display:flex;align-items:center;justify-content:space-between;gap:15px;margin:35px 0}.dj-head h1{margin:12px 0;font-size:clamp(28px,4vw,42px)}.secondary{background:#332d42;color:#eee1fa;border:1px solid #50425e;padding:12px 15px}.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-bottom:24px}.stat{background:#1d1b2d;border:1px solid #373047;border-radius:18px;padding:23px;display:flex;flex-direction:column;gap:5px}.stat strong{font-size:32px;color:#ddb0ff}.stat span{font-size:13px;color:#aaa3b8}.dj-layout{grid-template-columns:minmax(0,1.6fr) minmax(260px,.8fr)}.actions{display:flex;flex-direction:column;gap:6px}.small{font-size:12px;padding:8px 10px;white-space:nowrap}.danger{background:#4a2739;color:#ffb8c5}.qr-panel{text-align:center}.qr-panel h2,.qr-panel .muted{text-align:left}.qr{display:block;width:min(230px,100%);margin:25px auto;background:white;border-radius:14px;padding:12px}.url{overflow-wrap:anywhere;color:#dbb4ff;font-size:13px}.download{font-size:14px}.hint{font-size:12px;color:#9f96ad;line-height:1.6;margin-top:22px}footer{text-align:center;color:#746d83;font-size:12px;padding:25px}@media(max-width:750px){.layout,.dj-layout{grid-template-columns:1fr}.hero{padding:35px 0}.panel{padding:21px}.top{padding:18px 20px}.stats{gap:8px}.stat{padding:15px}.stat strong{font-size:25px}.stat span{font-size:11px}.wish{flex-wrap:wrap}.actions{flex-direction:row;width:100%;justify-content:flex-end}.dj-head{align-items:start}}
