*{box-sizing:border-box}html,body{margin:0;min-height:100%;background:#0b1020;color:#f4f5ff;font-family:Inter,system-ui,-apple-system,"Segoe UI",sans-serif}button,input,select{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.45}.app{max-width:1340px;margin:0 auto;padding:22px 28px 40px}.top{display:flex;justify-content:space-between;align-items:center;gap:18px;margin-bottom:28px}.brand{display:flex;align-items:center;gap:13px}.logo{height:50px;width:50px;display:grid;place-items:center;background:linear-gradient(135deg,#a79aff,#6152cb);font-size:28px;border-radius:15px;box-shadow:0 12px 40px #8274ea42}.brand h1{margin:0;font-size:20px;letter-spacing:-.5px}.brand small{font-size:11px;color:#8f9bbd}.live{display:flex;align-items:center;gap:8px;font-size:12px;color:#92b7a9;border:1px solid #65c79a35;background:#183b2f33;padding:10px 15px;border-radius:100px}.live:before{content:"";height:7px;width:7px;border-radius:50%;background:#73e0ae;box-shadow:0 0 10px #80eaba}.layout{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(300px,.65fr);gap:22px}.card{border-radius:22px;background:linear-gradient(135deg,#181f34,#10172a);border:1px solid #ffffff12;padding:24px;min-width:0}.label{font-size:10px;letter-spacing:2px;font-weight:750;color:#a9a5ff}.main-player{background:radial-gradient(circle at 0 0,#5847a73f,transparent 60%),linear-gradient(130deg,#1d2541,#11172a)}.now{display:flex;align-items:center;gap:27px;margin-top:25px;margin-bottom:26px}.art{height:205px;width:205px;flex:none;display:grid;place-items:center;border-radius:20px;background:linear-gradient(140deg,#544ba4,#242e53);font-size:70px;box-shadow:0 20px 50px #0004;overflow:hidden}.art img{width:100%;height:100%;object-fit:cover}.meta{min-width:0}.meta h2{font-size:clamp(26px,3.5vw,44px);line-height:1.05;letter-spacing:-1.5px;margin:15px 0 11px;overflow-wrap:anywhere}.artist{color:#9eacd1;font-size:14px}.source{margin-top:18px;display:inline-flex;color:#c3bdff;background:#7d70cf26;border:1px solid #817bc249;padding:8px 12px;border-radius:30px;font-size:11px}.progress{width:100%;accent-color:#aba2ff;cursor:pointer;height:8px;margin:2px 0 8px}.times{display:flex;justify-content:space-between;color:#9babc9;font-size:11px;font-variant-numeric:tabular-nums}.transport{display:flex;align-items:center;justify-content:center;gap:12px;margin:23px 0}.transport button,.round{border:0;border-radius:16px;background:#293552;color:#cbd5f4;width:50px;height:50px;display:grid;place-items:center;font-size:21px}.transport button:hover:not(:disabled){background:#405077}.transport button.primary{height:65px;width:65px;background:#e5e0ff;color:#222248;border-radius:21px;font-size:28px;box-shadow:0 9px 27px #867fff50}.transport button.primary:hover{background:white}.player-bottom{border-top:1px solid #ffffff17;padding-top:20px;display:flex;gap:17px;flex-wrap:wrap;align-items:center}.player-bottom label{display:flex;align-items:center;gap:9px;color:#9caccb;font-size:12px}.player-bottom input{accent-color:#a7a0ff}.player-bottom select,.toolbar select,.voice select{color:#dde5ff;background:#111a30;border:1px solid #53608052;padding:10px 12px;border-radius:11px;min-width:120px}.control{background:#282e49;color:#cfd5f1;border:1px solid #6d74903d;border-radius:12px;padding:11px 17px;font-weight:650}.control:hover{background:#343e62}.accent{background:#867afa;border:0;color:white}.accent:hover{background:#9c90ff}.side{display:flex;flex-direction:column;gap:22px}.head{display:flex;align-items:center;justify-content:space-between;gap:10px}.head h3{margin:0;font-size:20px;letter-spacing:-.4px}.count{font-size:12px;color:#bbb1ff;background:#6757ad35;padding:6px 9px;border-radius:10px}.queue{display:flex;flex-direction:column;gap:9px;max-height:310px;overflow:auto;margin-top:18px}.qitem{display:flex;gap:10px;align-items:center;border:1px solid #ffffff12;border-radius:12px;padding:9px 10px;background:#101a2b}.qnum{color:#878fab;font-size:11px}.qtext{min-width:0;flex:1}.qtext b{font-size:12px;display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.qtext span{font-size:10px;color:#8fa0c2}.qitem button{background:transparent;color:#a4b5de;border:0;font-size:17px}.empty{color:#90a0be;text-align:center;padding:29px 12px;font-size:13px}.voice{margin-top:15px;display:flex;gap:10px;flex-wrap:wrap}.voice select{flex:1;min-width:160px}.search-card{grid-column:1 / -1}.searchbar{display:flex;align-items:center;gap:11px;background:#0d1426;border:1px solid #5a668c69;padding:9px 11px;border-radius:15px;margin-top:17px}.searchbar input{width:100%;min-width:0;flex:1;background:transparent;color:white;border:0;outline:0;padding:10px}.searchbar select{background:#222e4c;color:#dedaff;border:0;border-radius:10px;padding:10px}.searchbar button{white-space:nowrap}.results{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:16px}.result{display:flex;align-items:center;gap:13px;border:1px solid #ffffff13;border-radius:14px;padding:11px;background:#141d32;min-width:0}.result .thumb{height:54px;width:54px;border-radius:10px;background:#343866;display:grid;place-items:center;flex:none;overflow:hidden}.result img{height:100%;width:100%;object-fit:cover}.rtext{flex:1;min-width:0}.rtext strong,.rtext small{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.rtext strong{font-size:13px}.rtext small{font-size:11px;color:#98a7c4;margin-top:5px}.result button{height:34px;min-width:38px;border:0;border-radius:10px;background:#7567d4;color:white;font-size:22px}.boot{min-height:100vh;display:flex;justify-content:center;align-items:center;flex-direction:column;gap:12px;text-align:center;padding:28px}.boot h1{margin:0;font-size:30px}.boot p{color:#a2a9c4;max-width:500px;line-height:1.5}.spin{width:45px;height:45px;border:4px solid #6353af60;border-top-color:#ad9dff;border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.notice{position:fixed;right:22px;bottom:20px;border-radius:13px;background:#283457;border:1px solid #8a8cf265;padding:12px 20px;max-width:min(480px,85vw);box-shadow:0 15px 30px #0007;z-index:10}.banner{padding:10px 15px;border-radius:10px;background:#756da62b;border:1px solid #756da65a;color:#dad7ff;font-size:13px;margin-bottom:16px}.preview .transport button,.preview .control{pointer-events:none}.status{text-transform:uppercase;font-size:10px;letter-spacing:1.5px;color:#a4bdaf;margin-top:6px}@media(max-width:900px){.layout{grid-template-columns:1fr}.search-card{grid-column:auto}.side{display:grid;grid-template-columns:1fr 1fr}.now{gap:18px}.art{width:160px;height:160px}}@media(max-width:620px){.app{padding:14px}.side{display:flex}.card{padding:18px;border-radius:16px}.now{align-items:start}.art{width:116px;height:116px;border-radius:15px;font-size:47px}.meta h2{font-size:23px}.transport{gap:7px}.transport button{width:43px;height:43px}.transport button.primary{width:55px;height:55px}.results{grid-template-columns:1fr}.searchbar{flex-wrap:wrap}.searchbar input{flex-basis:calc(100% - 24px)}.searchbar select,.searchbar button{flex:1}}

/* Recherche : commandes uniquement iconiques */
.result .result-buttons{display:flex;align-items:center;gap:7px;flex:none}
.result .result-buttons button{display:grid;place-items:center;width:37px;height:37px;min-width:37px;padding:0;border-radius:11px;background:#5d6487;color:#fff;font-size:19px;font-weight:700}
.result .result-buttons button:first-child{background:#8178ee}
.result .result-buttons button:hover{filter:brightness(1.16)}
.result .result-buttons button:focus-visible{outline:2px solid #c6c0ff;outline-offset:2px}

/* Message explicatif pour les ouvertures hors Discord */
.boot .logo{margin-bottom:10px}
.direct-links{display:flex;gap:12px;flex-wrap:wrap;justify-content:center;margin-top:15px}
.direct-links a{display:inline-flex;justify-content:center;align-items:center;padding:12px 18px;border-radius:12px;background:#8175ef;color:#fff;text-decoration:none;font-weight:700;font-size:13px}
.direct-links a+a{background:#263450;border:1px solid #7784ac55}
.direct-links a:hover{filter:brightness(1.15)}

/* Pochette protégée contre les images bloquées par le proxy Discord */
.art,.result .thumb{position:relative;isolation:isolate;color:#e8e2ff;text-align:center}
.art img,.result .thumb img{position:absolute;inset:0;display:block;width:100%;height:100%;object-fit:cover;border-radius:inherit}
.result .thumb{font-size:25px}
