:root{--bg:#07040f;--panel:#120a24cc;--line:#2d1b55;--txt:#ece6ff;--mut:#9a8cc0;--pink:#ff2bd6;--cyan:#22e6ff;--lime:#b6ff3b;--amber:#ffb020;font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,sans-serif}*{box-sizing:border-box}body{color:var(--txt);background:var(--bg);background-image:radial-gradient(1200px 600px at 10% -10%,#4b0f7a55,#0000),radial-gradient(900px 500px at 110% 10%,#00b3ff33,#0000),radial-gradient(800px 600px at 50% 120%,#ff2bd633,#0000);min-height:100vh;margin:0}button{font:inherit;cursor:pointer;color:var(--txt);border:0;border-radius:10px}input{font:inherit;color:var(--txt);border:1px solid var(--line);background:#0b0618;border-radius:10px;width:100%;padding:10px 12px}input:focus{outline:2px solid var(--pink);border-color:#0000}header{border-bottom:1px solid var(--line);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);z-index:5;background:#07040fcc;justify-content:space-between;align-items:center;padding:14px 24px;display:flex;position:sticky;top:0}.logo{letter-spacing:.12em;background:linear-gradient(90deg,var(--pink),var(--cyan));color:#0000;filter:drop-shadow(0 0 12px #ff2bd666);-webkit-background-clip:text;font-size:22px;font-weight:900}.logo span{margin-left:8px;font-weight:300}.tag{color:var(--mut);letter-spacing:.2em;font-size:11px}nav{gap:8px;display:flex}.ghost{border:1px solid var(--line);background:#1a1033;padding:8px 12px}.ghost:hover{border-color:var(--pink)}.ghost b{color:var(--cyan)}.sm{padding:5px 9px;font-size:12px}.danger:hover{color:#ff8da1;border-color:#ff4d6d}.primary{background:linear-gradient(90deg,var(--pink),#8b3dff);padding:10px 16px;font-weight:700;box-shadow:0 0 20px #ff2bd655}.primary:disabled{opacity:.45;cursor:not-allowed}main{grid-template-columns:340px 1fr 300px;gap:18px;max-width:1500px;margin:auto;padding:18px 24px;display:grid}@media (width<=1100px){main{grid-template-columns:1fr}}.card{background:var(--panel);border:1px solid var(--line);border-radius:16px;margin-bottom:16px;padding:16px;box-shadow:0 10px 40px #0008}h2{letter-spacing:.18em;text-transform:uppercase;color:var(--cyan);margin:0 0 12px;font-size:13px}h3{margin:18px 0 6px;font-size:14px}.muted{color:var(--mut)}.small{font-size:12px}.row{flex-wrap:wrap;gap:8px;margin-top:10px;display:flex}.tabs3,.seg3,.srcTabs{gap:6px;margin:10px 0;display:flex}.tabs3 button,.seg3 button,.srcTabs button{border:1px solid var(--line);background:#160d2c;flex:1;padding:9px 6px;font-size:13px}.tabs3 .on,.seg3 .on,.srcTabs .on{border-color:var(--pink);background:linear-gradient(#ff2bd633,#8b3dff33);box-shadow:inset 0 0 14px #ff2bd644}.srcTabs button{padding:12px;font-size:15px;font-weight:700}.qres{max-height:300px;margin-top:8px;overflow:auto}.pick{cursor:pointer;border-radius:10px;padding:8px}.pick:hover{background:#ffffff0d}.trk .tt{flex-direction:column;display:flex}.trk .tt span{color:var(--mut);font-size:13px}.chips{flex-wrap:wrap;gap:5px;margin-top:5px;display:flex}.chip{background:#ffffff12;border:1px solid #ffffff1a;border-radius:99px;padding:2px 8px;font-size:11px}.chip.key{color:#000;background:hsl(calc(var(--h,0)*1deg),90%,65%);font-weight:800}.chip.g{color:var(--lime)}.chip.e{color:var(--amber)}.chip.ai{color:var(--amber);border-color:var(--amber);background:#ffb02022}.nowT{background:linear-gradient(135deg,#ff2bd61f,#22e6ff14);border:1px solid #ff2bd655;border-radius:12px;padding:12px}.nowT b{font-size:18px}.wheel{width:100%;max-width:300px;margin:auto;display:block}.seg{fill:hsl(var(--h),55%,22%);stroke:#07040f;stroke-width:2px;transition:all .3s}.seg.ok{fill:hsl(var(--h),85%,50%)}.seg.boost{fill:hsl(var(--h),60%,35%)}.seg.cur{fill:#fff;filter:drop-shadow(0 0 8px #fff)}.wl{fill:#fffa;text-anchor:middle;pointer-events:none;font-size:11px;font-weight:700}.wl.cur,.wl.ok{fill:#000}.hub{fill:#0b0618;stroke:var(--pink);stroke-width:2px}.hubt{fill:#fff;text-anchor:middle;font-size:22px;font-weight:900}.hubs{fill:var(--mut);text-anchor:middle;letter-spacing:.2em;font-size:9px}.legend{color:var(--mut);justify-content:center;align-items:center;gap:10px;margin-top:6px;font-size:11px;display:flex}.l{border-radius:3px;width:10px;height:10px;display:inline-block}.l.cur{background:#fff}.l.ok{background:var(--pink)}.l.boost{background:#6b3a8a}.controls{grid-template-columns:1fr 1fr;align-items:center;gap:10px 18px;display:grid}.controls .seg3{grid-column:1/-1;margin:0}.tol{font-size:13px}.tol input{accent-color:var(--pink);padding:0}.chk{align-items:center;gap:8px;font-size:13px;display:flex}.chk input{width:auto;accent-color:var(--pink)}.rec{background:var(--panel);border:1px solid var(--line);animation:.4s both in;animation-delay:var(--d);border-radius:16px;grid-template-columns:56px 1fr auto;align-items:start;gap:14px;margin-bottom:10px;padding:14px;display:grid}.rec:hover{border-color:#ff2bd688;box-shadow:0 0 24px #ff2bd622}@keyframes in{0%{opacity:0;transform:translateY(8px)}}.score{background:conic-gradient(var(--pink) calc(var(--p)*1%),#2a1a48 0);border-radius:50%;place-items:center;width:56px;height:56px;font-size:18px;font-weight:900;display:grid;position:relative}.score:before{content:"";background:#120a24;border-radius:50%;position:absolute;inset:5px}.score{isolation:isolate}.score:before{z-index:-1}.reasons{color:#cfc3f2;margin:8px 0 0;padding-left:18px;font-size:12.5px}.reasons li{margin:2px 0}.aiwhy{color:var(--amber)}.tip{color:var(--cyan);border-left:3px solid var(--cyan);background:#22e6ff0f;border-radius:6px;margin-top:8px;padding:6px 10px;font-size:12px}.play{border:1px solid var(--pink);white-space:nowrap;background:#1a1033;padding:8px 12px;font-weight:700}.play:hover{background:var(--pink);color:#000}.empty{text-align:center;border:1px dashed var(--line);color:var(--mut);border-radius:16px;padding:50px 20px}.link{color:var(--pink);cursor:pointer;background:0 0;padding:0;text-decoration:underline}.eq{justify-content:center;align-items:flex-end;gap:5px;height:40px;display:flex}.eq i{background:linear-gradient(var(--pink),var(--cyan));border-radius:3px;width:8px;animation:1s ease-in-out infinite alternate eq}.eq i:nth-child(2){animation-delay:.2s}.eq i:nth-child(3){animation-delay:.4s}.eq i:nth-child(4){animation-delay:.1s}.eq i:nth-child(5){animation-delay:.3s}@keyframes eq{0%{height:6px}to{height:40px}}.aibar{flex-wrap:wrap;align-items:center;gap:12px;margin-bottom:12px;display:flex}.err{color:#ff8da1}#hist ol{max-height:420px;margin:0;padding-left:22px;font-size:13px;overflow:auto}#hist li{margin:5px 0}#hist span{color:var(--mut)}#hist em{color:var(--cyan);font-size:11px;font-style:normal}.promo{background:linear-gradient(135deg,#ff2bd633,#22e6ff22);font-size:13px}.promo a{color:var(--cyan);margin-top:6px;display:block}.manual{grid-template-columns:1fr 1fr;gap:8px;margin-bottom:10px;display:grid}.lstat{margin:10px 0;font-size:13px}#viz{width:100%}.modal{z-index:20;background:#000a;place-items:center;display:grid;position:fixed;inset:0}.hidden{display:none}.mbox{border:1px solid var(--pink);background:#120a24;border-radius:18px;width:min(640px,94vw);max-height:90vh;padding:22px;position:relative;overflow:auto}.mbox label{color:var(--mut);margin:6px 0;font-size:12px;display:block}.x{background:0 0;font-size:18px;position:absolute;top:10px;right:12px}.drop{border:2px dashed var(--line);text-align:center;border-radius:14px;padding:24px}.drop.over{border-color:var(--pink);background:#ff2bd611}.how{font-size:13px;line-height:1.6}code{background:#ffffff14;border-radius:5px;padding:1px 5px}.toast{border:1px solid var(--cyan);z-index:30;background:#1a1033;border-radius:12px;padding:10px 18px;transition:all .3s;position:fixed;bottom:20px;left:50%;transform:translate(-50%)translateY(80px)}.toast.show{transform:translate(-50%)}footer{text-align:center;color:var(--mut);padding:20px;font-size:12px}.ai{color:var(--amber)}.chip.det{color:var(--lime);border-color:var(--lime);background:#b6ff3b1a}.sect{letter-spacing:.15em;text-transform:uppercase;color:var(--mut);margin:14px 0 8px;font-size:12px}.outside{background:var(--panel);border:1px solid var(--line);border-radius:12px;margin-bottom:8px;padding:10px 14px}.planner h2{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.chip.warn{color:var(--amber);border-color:var(--amber);background:#ffb02022}.chip.okc{color:var(--lime);border-color:var(--lime);background:#b6ff3b1a}.chip.pv{color:var(--cyan);border-color:var(--cyan);letter-spacing:.08em;background:#22e6ff22;font-weight:800}.padd{margin:8px 0;position:relative}.pqres{z-index:5;border:1px solid var(--line);background:#0b0618;border-radius:10px;max-height:260px;position:absolute;top:100%;left:0;right:0;overflow:auto}.pqres:empty{display:none}.pqres .pick{cursor:pointer;padding:8px 10px;font-size:13px}.pqres .pick:hover{background:#ff2bd622}.echart{margin:6px 0 8px}.energy{width:100%;height:90px;display:block}.energy .grid{stroke:#ffffff14}.energy text{fill:var(--mut);font-size:8px}.energy circle{fill:#fff;stroke:#ff2e88;stroke-width:2px}.plist{max-height:520px;margin:6px 0;padding:0;list-style:none;overflow:auto}.pitem{border:1px solid var(--line);background:#0b061899;border-radius:10px;grid-template-columns:auto auto minmax(0,1fr) auto;align-items:center;gap:8px;padding:7px 8px;font-size:13px;display:grid}.pitem .tt{flex-direction:column;min-width:0;display:flex}.pitem .tt b,.pitem .tt span{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.pitem .tt span{color:var(--mut);font-size:12px}.pitem.drag{opacity:.4}.pitem.over{outline:2px dashed var(--pink)}.grip{cursor:grab;color:var(--mut);letter-spacing:-2px}.pn{color:var(--mut);text-align:right;width:16px;font-size:11px}.pbtn button{color:var(--mut);background:0 0;padding:2px 4px;font-size:11px}.pbtn button:hover{color:var(--pink)}.pitem .chips{flex-wrap:wrap;grid-area:2/3/auto/5;gap:4px;display:flex}.pitem .pbtn{white-space:nowrap;grid-area:1/4}.pitem .grip,.pitem .pn{grid-row:1/3}.ptrans{border-left:2px solid var(--lime);justify-content:space-between;align-items:center;gap:6px;margin:3px 0 3px 22px;padding:3px 0 3px 10px;font-size:11px;display:flex}.ptrans.warn{border-color:var(--amber)}.ptrans.bad{border-color:#ff4d6d}.tflags{flex-wrap:wrap;gap:4px;display:flex}.flag{background:#ffffff0d;border-radius:6px;padding:1px 6px}.flag.good{color:var(--lime)}.flag.warn{color:var(--amber);background:#ffb0201a}.flag.bad{color:#ff6b86;background:#ff4d6d1f}.hear{white-space:nowrap;background:linear-gradient(90deg,#7b2cff,#ff2bd6);padding:3px 9px;font-size:11px;font-weight:700}.planner select,.planner input.sm{color:var(--txt);border:1px solid var(--line);background:#0b0618;border-radius:8px;flex:1;width:auto;padding:5px 8px;font-size:12px}.recBtns{flex-direction:column;gap:6px;display:flex}.pvpair{grid-template-columns:1fr auto 1fr;align-items:center;gap:10px;display:grid}.pvpair small{color:var(--mut)}.pvpair .arrow{color:var(--pink);font-size:24px}.pvsrc{margin:10px 0;font-size:13px;line-height:1.6}.pvctl{gap:10px;margin:10px 0;display:grid}.pvctl label{flex-direction:column;gap:4px;font-size:13px;display:flex}.pvctl label.chk{flex-direction:row}.pvctl select{color:var(--txt);border:1px solid var(--line);background:#0b0618;border-radius:8px;padding:6px}.pvbar{background:#ffffff12;border-radius:99px;height:10px;margin:10px 0 4px;position:relative;overflow:hidden}.pvbar i{background:linear-gradient(90deg,var(--cyan),var(--pink));width:0;position:absolute;inset:0 auto 0 0}.pvbar b{background:#ffffff30;border-left:1px solid #fff;border-right:1px solid #fff;position:absolute;top:0;bottom:0}.pvhelp{border:1px solid #333;border-radius:8px;margin-top:.6rem;padding:.6rem;line-height:1.5}.pvhelp .row{flex-wrap:wrap;align-items:center;gap:.5rem;margin-top:.4rem}label.btn{cursor:pointer;border:1px solid #555;border-radius:8px;padding:.45rem .8rem;display:inline-block}.pvwave{background:#05050a;border:1px solid #2a2a3a;border-radius:8px;flex-direction:column;gap:3px;margin:.5rem 0;padding:4px;display:flex}.pvwave canvas{border-radius:4px;width:100%;display:block}.wvo{cursor:ew-resize;touch-action:none;height:26px}.wvs{height:64px}a.btn.shoplink{color:inherit;border:1px solid #ff3cac66;border-radius:8px;align-items:center;margin-right:6px;padding:6px 10px;text-decoration:none;display:inline-flex}.suwrap{z-index:60;background:#000b;justify-content:center;align-items:center;padding:16px;display:flex;position:fixed;inset:0}.subox{background:#12121c;border:1px solid #7b2ff7;border-radius:14px;flex-direction:column;gap:10px;width:min(420px,100%);padding:22px;display:flex;position:relative;box-shadow:0 0 30px #7b2ff755}.subox h2{color:#fff;text-shadow:0 0 12px #ff3cac;margin:0}.subox label{flex-direction:column;gap:4px;font-size:13px;display:flex}.subox input,.subox select{color:#eee;background:#0b0b13;border:1px solid #333;border-radius:8px;padding:9px}.subox label.chk{flex-direction:row;align-items:flex-start;gap:8px;font-size:12px}.subox .hp{width:1px;height:1px;position:absolute;left:-9999px}.subox .x,.suprompt .x{color:#aaa;cursor:pointer;background:0 0;border:0;font-size:16px;position:absolute;top:8px;right:10px}.sumsg.err{color:#ff6b8b}.suprompt{z-index:55;background:#12121c;border:1px solid #2bd2ff;border-radius:12px;width:min(300px,100% - 32px);padding:14px 16px;position:fixed;bottom:16px;right:16px;box-shadow:0 0 22px #2bd2ff44}.suprompt p{margin:4px 0 10px}.suprompt .row{gap:8px;display:flex}.shopstrip .shophead{justify-content:space-between;align-items:center;margin-bottom:8px;display:flex}.shoprow{grid-template-columns:repeat(3,1fr);gap:8px;display:grid}.shopitem{color:#ddd;background:#0b0b13;border:1px solid #2a2a3a;border-radius:10px;flex-direction:column;gap:6px;padding:6px;font-size:12px;text-decoration:none;transition:border-color .2s;display:flex;position:relative}.shopitem:hover{border-color:#ff3cac}.shopitem img{aspect-ratio:1;object-fit:cover;background:#fff1;border-radius:6px;width:100%}.shopitem span{-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.shopitem .chip{color:#fff;background:#7b2ff7;border-radius:4px;padding:1px 5px;font-size:10px;font-style:normal;position:absolute;top:10px;left:10px}footer a{color:#2bd2ff}.shopstrip .shophead a{white-space:nowrap;margin-left:8px}.shopstrip a{color:#2bd2ff}.shopitem{color:#ddd!important}.tectl{flex-wrap:wrap;gap:10px;margin:8px 0;display:flex}.tectl label{flex-direction:column;gap:3px;font-size:12px;display:flex}.tectl input,.tectl select,.tenotes textarea{color:#eee;background:#0b0b13;border:1px solid #333;border-radius:6px;padding:6px}.lanes{grid-template-columns:1fr 1fr;gap:12px;margin-top:8px;display:grid}.lanes>div{flex-direction:column;gap:4px;display:flex}canvas.lane{cursor:crosshair;touch-action:none;border:1px solid #2a2a3a;border-radius:6px;width:100%;height:44px}.tenotes{flex-direction:column;gap:4px;margin:8px 0;font-size:12px;display:flex}.cuelegend{margin:4px 0}.tplan{color:#2bd2ff;margin-left:6px;font-size:11px}@media (width<=640px){.lanes{grid-template-columns:1fr}}.suoffer{background:#ff40c81a;border:1px solid #ff40c859;border-radius:8px;margin:.3rem 0 .6rem;padding:.45rem .6rem;font-size:.9rem}.sucoupon{background:#ff40c814;border:1px dashed #ff40c8;border-radius:10px;margin:.6rem 0;padding:.7rem}.sucode{align-items:center;gap:.6rem;margin:.35rem 0;display:flex}.sucode b{letter-spacing:.08em;color:#fff;font-family:ui-monospace,monospace;font-size:1.35rem}.flow{background:#0b0b13;border:1px solid #2a2a3a;border-radius:10px;flex-wrap:wrap;align-items:center;gap:8px;margin:8px 0;padding:8px;display:flex}.fstep{color:#eee;cursor:pointer;background:#161622;border:1px solid #3a3a52;border-radius:999px;padding:7px 14px;font-weight:600}.fstep.on{background:linear-gradient(90deg,#7b2cff,#ff2e88);border-color:#0000}.farr{color:#777}.flow select{color:#eee;background:#0b0b13;border:1px solid #333;border-radius:6px;padding:4px}.audhost:empty{display:none}.aud{background:#05050a;border:1px solid #2a2a3a;border-radius:10px;outline:none;margin-bottom:8px;padding:8px}.audhead{margin-bottom:6px}.aud canvas{border-radius:4px;width:100%;display:block}.audOv{cursor:pointer;height:44px}.audScroll{cursor:pointer;height:110px;margin-top:3px}.audtime{font-variant-numeric:tabular-nums;flex-wrap:wrap;align-items:baseline;gap:14px;margin:6px 2px;display:flex}.audtime .el{color:#fff;font-size:30px;font-weight:800}.audtime .rem{color:#ff8bbf;font-size:18px}.audtime .bb{color:#2bd2ff;font-size:22px;font-weight:700}.audtime .ph{color:#aaa;font-size:13px}.audctl{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.audctl select{color:#eee;background:#0b0b13;border:1px solid #333;border-radius:6px;padding:4px}.audPlay{min-width:96px}.audpads{grid-template-columns:repeat(8,1fr);gap:4px;margin:8px 0;display:grid}.pad{color:#666;cursor:pointer;background:#14141e;border:1px solid #333;border-radius:6px;padding:6px 0;font-weight:700}.pad.set{background:var(--c);color:#000;border-color:#0000}.cuelist{border-collapse:collapse;width:100%;font-size:12px}.cuelist td{border-top:1px solid #1d1d2a;padding:3px 4px}.cuelist input,.cuelist select{color:#eee;box-sizing:border-box;background:#0b0b13;border:1px solid #333;border-radius:5px;width:100%;padding:3px}.cuetag{text-align:center;background:var(--c);color:#000;border-radius:4px;min-width:34px;padding:2px 4px;font-weight:700;display:inline-block}.cuetag.mem{color:var(--c);border:1px solid var(--c);background:0 0}.cuebtns{white-space:nowrap}.mono{font-variant-numeric:tabular-nums}.aud kbd{background:#222;border:1px solid #444;border-radius:3px;padding:0 4px;font-size:11px}.aud1{cursor:pointer;background:0 0;border:0;font-size:15px}@media (width<=640px){.audtime .el{font-size:24px}.cuelist td:nth-child(4){display:none}}.shopstrip-wheel .shophead b{font-size:13px}.shopstrip-wheel .shopitem{font-size:11px}@media (width<=420px){.shopstrip-wheel .shoprow{gap:6px}.shopstrip-wheel .shopitem .chip{top:8px;left:8px}}.nowPv{margin-top:8px}.songPv{white-space:nowrap;min-width:104px}.songPv[data-state=playing]{color:#22e6ff;border-color:#22e6ff;box-shadow:0 0 10px #22e6ff55}.songPv[data-state=none]{opacity:.55}.songPv[data-state=loading]{opacity:.8;cursor:progress}.genreBar{background:#ffffff08;border:1px solid #ffffff1a;border-radius:10px;flex-wrap:wrap;align-items:center;gap:8px 12px;margin:0 0 12px;padding:8px 12px;display:flex}.genreBar label{align-items:center;gap:6px;font-weight:600;display:flex}.genreBar select{max-width:200px}.chip.nog{opacity:.6;font-style:italic}
