:root{--base:#0b0914;--panel:#151123;--panel2:#20182d;--line:#332943;--ink:#f9f3ff;--muted:#a99cb8;--pink:#ff5bbf;--violet:#a373ff;--mint:#8effdd}*{box-sizing:border-box}body{margin:0;min-width:320px;background:var(--base);color:var(--ink);font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;line-height:1.45}button,input,select{font:inherit}button{cursor:pointer}.ambient{position:fixed;pointer-events:none;filter:blur(100px);opacity:.14;border-radius:50%;z-index:-1}.ambient-a{width:700px;height:530px;background:#ca38a9;top:-240px;left:-210px}.ambient-b{width:730px;height:550px;background:#7940da;right:-280px;top:260px}.shell{max-width:1320px;margin:auto;padding:0 35px}.topbar{display:flex;justify-content:space-between;align-items:center;gap:25px;padding:30px 0;border-bottom:1px solid #ffffff18}.brand{color:var(--ink);font-size:20px;letter-spacing:1.6px;text-decoration:none;font-weight:950;white-space:nowrap;display:flex;align-items:center;gap:12px}.brand-accent{color:var(--pink)}.brand small{display:block;font-size:9px;color:var(--muted);font-weight:750;letter-spacing:3px}.logo{display:grid;place-items:center;width:43px;height:43px;transform:rotate(-12deg);background:linear-gradient(135deg,var(--violet),var(--pink));border-radius:12px;font-size:28px}.topright{display:flex;align-items:center;gap:20px}.live-pill{display:inline-flex;align-items:center;gap:9px;font-weight:900;font-size:10px;letter-spacing:1.5px;color:#d7fff3;white-space:nowrap}.live-dot{width:8px;height:8px;background:#5cffbf;border-radius:50%;box-shadow:0 0 15px #5cffbf;animation:glow 1.7s infinite}.connect-btn,.primary-btn{border:0;background:linear-gradient(110deg,#b157f1,#ee56b6);padding:12px 19px;border-radius:10px;color:white;text-decoration:none;font-weight:800;display:inline-flex;align-items:center;justify-content:center;gap:12px;transition:transform .16s,filter .16s}.connect-btn:hover,.primary-btn:hover{filter:brightness(1.12);transform:translateY(-2px)}.userlabel{font-size:12px;color:#dfc9fd;font-weight:750;margin-right:10px}.ghost-btn{background:transparent;color:var(--ink);border:1px solid var(--line);border-radius:9px;padding:9px 14px;white-space:nowrap}.ghost-btn:hover{border-color:var(--violet)}.ghost-btn:disabled{opacity:.3;cursor:not-allowed}.hero{min-height:430px;display:grid;grid-template-columns:1.3fr 1fr;gap:25px;align-items:center;padding:30px 20px 40px 10px;overflow:hidden}.eyebrow{color:#c28aff;font-weight:900;font-size:11px;letter-spacing:3px}.hero h1{font-size:clamp(46px,5vw,76px);line-height:.98;font-weight:950;letter-spacing:-3px;margin:20px 0}.hero em,.section-top em,.side-heading em,.admin-panel em{font-style:normal;color:var(--pink)}.hero p{color:#bdb1cb;max-width:510px;font-size:15px;line-height:1.8}.hero-tag{font-size:11px;font-weight:850;letter-spacing:2px;margin-top:28px;color:var(--muted);display:flex;align-items:center;gap:12px}.hero-tag>span:first-child{color:var(--mint);font-size:25px}.slash{color:#704e8d}.disco-visual{position:relative;height:380px;display:grid;place-items:center}.visual-halo{position:absolute;width:330px;height:330px;background:radial-gradient(circle,#af43a449 0,#6131c52b 36%,transparent 70%);border-radius:50%;filter:blur(10px)}.disc{height:242px;width:242px;border-radius:50%;z-index:2;position:relative;transform:rotate(-23deg);border:18px solid #1c1431;background:repeating-radial-gradient(circle at 47% 51%,#46275d 0 10px,#a45ec9 11px 13px,#1d142b 14px 18px);box-shadow:0 0 0 5px #4c235f,0 0 70px #cc4aef6e,33px 33px 0 #120e21}.disc:before{content:"";position:absolute;inset:-8px;border-radius:50%;background:linear-gradient(115deg,transparent 43%,#f7a6e88c 47%,transparent 52%);opacity:.7}.disc-center{position:absolute;inset:77px;border-radius:50%;background:radial-gradient(circle at 40% 38%,#e59cf8,#7e35b6);border:7px solid #371c51;box-shadow:inset 0 0 0 7px #c573d9}.disc-center:after{content:"";position:absolute;width:14px;height:14px;border-radius:50%;background:#1b1426;top:calc(50% - 7px);left:calc(50% - 7px)}.orbit{position:absolute;border:1px solid #bc79db3b;border-radius:50%;width:350px;height:350px;transform:rotate(27deg) scaleX(1.3)}.orbit-two{transform:rotate(-33deg) scaleX(1.25);width:310px;height:310px;border-color:#db77b53b}.glint{position:absolute;color:#e7a3ff;text-shadow:0 0 24px #ff60de}.glint-one{font-size:40px;left:60px;top:50px}.glint-two{font-size:28px;right:50px;bottom:52px}.statsbar{display:grid;grid-template-columns:repeat(3,1fr);background:#161021e3;border:1px solid var(--line);border-radius:16px;margin-bottom:40px;overflow:hidden}.statsbar>div{padding:21px 28px;display:flex;justify-content:space-between;align-items:center;gap:14px;border-right:1px solid var(--line)}.statsbar>div:last-child{border:0}.stat-label{color:var(--muted);font-weight:800;letter-spacing:1.6px;font-size:10px}.statsbar strong{font-size:26px;color:#e4c6ff;font-weight:950}.content-grid{display:grid;grid-template-columns:minmax(0,1fr) 350px;gap:30px;align-items:start}.catalog-panel,.side-panel{min-width:0}.section-top{display:flex;align-items:end;justify-content:space-between;margin-bottom:22px}.section-top h2,.side-heading h2,.admin-panel h2{font-size:31px;line-height:1.1;letter-spacing:-.8px;margin:11px 0 0}.outline-tag{color:#a895bf;border:1px solid var(--line);padding:8px 12px;border-radius:9px;font-size:10px;letter-spacing:1.5px;font-weight:900}.toolbar{display:flex;gap:12px}.search{display:flex;align-items:center;gap:8px;border:1px solid var(--line);border-radius:12px;background:#181326;padding:0 14px;flex:1}.search span{font-size:25px;color:#bda2d5}.search input{width:100%;outline:0;background:transparent;border:0;color:var(--ink);padding:15px 0}.search:focus-within{border-color:#a566e4}.toolbar select{color:var(--ink);background:var(--panel2);border:1px solid var(--line);border-radius:12px;padding:0 15px;max-width:150px}.hint{font-size:12px;color:var(--muted);margin:12px 0 15px}.catalog{border:1px solid var(--line);border-radius:15px;background:rgba(21,17,35,.75);overflow:hidden}.track{display:flex;align-items:center;gap:14px;padding:14px 18px;border-bottom:1px solid #ffffff12}.track:last-child{border:0}.track:hover{background:#ffffff05}.track-cover{flex:0 0 49px;height:49px;border-radius:11px;background:linear-gradient(145deg,#493263,#312040);display:grid;place-items:center;font-size:25px;color:#d9a0ff}.track-info{flex:1;min-width:0}.track-title{font-size:14px;font-weight:800;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.track-artist{font-size:12px;margin-top:3px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.track-duration{color:#91849e;font-size:12px;font-variant-numeric:tabular-nums}.request-btn{border:1px solid #c453f281;color:#f8e7ff;font-size:12px;font-weight:850;background:#63318557;border-radius:10px;padding:9px 13px;white-space:nowrap}.request-btn:hover{background:#9d43b67a}.request-btn:disabled{opacity:.42;cursor:not-allowed}.pagination{display:flex;justify-content:space-between;align-items:center;margin:17px 0 35px;gap:10px;color:var(--muted);font-size:12px}.side-panel{background:#151123e8;border:1px solid var(--line);border-radius:17px;padding:22px}.side-heading h2{font-size:27px}.side-heading p{color:var(--muted);font-size:12px;line-height:1.6}.queue{margin-top:23px}.queue-track{display:flex;gap:10px;padding:14px 0;border-top:1px solid #ffffff1a;align-items:start}.position{display:grid;place-items:center;flex:0 0 28px;height:28px;border-radius:8px;background:#55336a;color:#f6c0ff;font-weight:900;font-size:11px}.queue-info{min-width:0;flex:1}.queue-title{font-size:13px;font-weight:850;overflow-wrap:anywhere}.queue-artist{font-size:11px;color:var(--muted);margin:2px 0 6px}.queue-viewer{font-size:11px;color:#dd9eff;font-weight:700}.admin-actions{display:flex;gap:5px;margin-top:9px}.admin-actions button{border:1px solid #57456a;background:#2b2238;border-radius:7px;color:#e4c2fc;padding:5px 8px;font-size:10px}.admin-actions button:hover{background:#51375f}.side-footer{display:flex;gap:8px;align-items:center;font-size:10px;color:var(--muted);margin:16px 0 0}.pulse{background:#6af9bf;box-shadow:0 0 10px #6af9bf;width:7px;height:7px;border-radius:50%}.instruction-card{background:#251b34;border:1px solid #523661;margin-top:22px;padding:14px;border-radius:11px;display:flex;gap:10px}.instruction-icon{font-size:20px;color:#e5a1fc}.instruction-card b{font-size:12px}.instruction-card p{font-size:11px;color:#b8a8c8;line-height:1.6;margin:6px 0 0}.empty{text-align:center;color:#a697b5;padding:32px 15px;font-size:13px;line-height:1.6}.admin-panel{margin:25px 0 40px;padding:22px;background:#1c172c;border:1px solid #7652a9;border-radius:15px}.admin-panel[hidden]{display:none}.admin-panel p{color:var(--muted);font-size:13px}.upload-row{display:flex;align-items:center;gap:15px;flex-wrap:wrap}.upload-row input{font-size:12px;max-width:100%}.upload-row button{padding:10px 15px;font-size:12px}footer{display:flex;gap:12px;justify-content:center;text-align:center;color:#665972;font-size:10px;font-weight:800;letter-spacing:1.2px;padding:38px 0 30px;margin-top:15px;border-top:1px solid #ffffff13}footer span{color:var(--pink)}.toast{position:fixed;bottom:25px;right:25px;background:#2b1c40;border:1px solid #8b5eb7;box-shadow:0 16px 30px #0007;color:#fff;border-radius:12px;padding:14px 20px;max-width:min(430px,calc(100vw - 50px));z-index:100;display:none;font-size:14px}.toast.show{display:block}@keyframes glow{50%{opacity:.4;transform:scale(.8)}}@media(max-width:1080px){.content-grid{grid-template-columns:minmax(0,1fr) 305px}.statsbar>div{padding:18px}.stat-label{font-size:9px}}@media(max-width:820px){.shell{padding:0 20px}.hero{min-height:340px;grid-template-columns:1fr .6fr}.hero h1{font-size:49px}.disco-visual{transform:scale(.75);margin-left:-80px}.content-grid{grid-template-columns:1fr}.side-panel{max-width:none}.statsbar strong{font-size:20px}}@media(max-width:600px){.shell{padding:0 14px}.topbar{padding:18px 0}.brand{font-size:14px;gap:8px}.logo{width:35px;height:35px;font-size:20px}.brand small{letter-spacing:1px;font-size:7px}.topright{gap:7px}.live-pill{display:none}.connect-btn{font-size:10px;padding:10px 8px}.userlabel{font-size:10px;margin-right:5px}.hero{display:block;min-height:auto;padding:50px 7px 35px}.hero h1{font-size:clamp(42px,11vw,63px)}.hero p{font-size:13px}.disco-visual{display:none}.statsbar>div{display:flex;flex-direction:column;align-items:flex-start;padding:14px 10px;gap:5px}.statsbar strong{font-size:20px}.stat-label{font-size:8px;letter-spacing:0}.section-top h2{font-size:26px}.outline-tag{font-size:8px;padding:7px}.toolbar{flex-direction:column}.toolbar select{padding:10px;max-width:none}.track{padding:11px 8px;gap:8px}.track-cover{flex-basis:38px;height:38px;font-size:20px}.track-duration{display:none}.track-title{font-size:12px}.request-btn{padding:7px;font-size:10px}.side-panel{padding:16px}footer{font-size:8px}}

/* ================================================================
   PACK OFFICIEL-STYLE : PERSONNAGE, CRÂNE, LOGOS ET ROULETTE DISCO
   Ajout non destructif. Les styles d'origine restent inchangés.
   ================================================================ */
.brand{gap:12px;letter-spacing:normal}.brand-art{display:block;width:185px;height:auto;max-height:75px;object-fit:contain;filter:drop-shadow(0 0 9px #ff58b53d)}.brand-caption{color:#b9a6c9;letter-spacing:2px;font-weight:800;font-size:9px;white-space:nowrap}
.footer-logo-neon{width:120px;height:56px;object-fit:contain;vertical-align:middle}.visual-character{isolation:isolate;overflow:visible;min-height:420px;display:grid;place-items:center}.character-halo{position:absolute;width:min(360px,100%);height:360px;z-index:-1;background:radial-gradient(ellipse,#ed44b952,transparent 67%);filter:blur(22px)}.character-art{position:relative;width:min(100%,430px);max-height:475px;object-fit:contain;filter:drop-shadow(0 0 28px #dd2bba44);animation:character-float 6s ease-in-out infinite}.hero{min-height:440px;overflow:visible}.hero-text{position:relative;z-index:2}
.random-feature{position:relative;isolation:isolate;display:grid;grid-template-columns:124px minmax(0,1fr) auto;gap:22px;align-items:center;background:linear-gradient(108deg,#251239f0 0%,#21132bed 48%,#32113ae8 100%);border:1px solid #a750a665;border-radius:18px;padding:19px 25px;margin:-6px 0 37px;box-shadow:0 16px 46px #0005;overflow:hidden}.random-feature:after{content:"";position:absolute;z-index:-1;pointer-events:none;inset:0;background:radial-gradient(circle at 88% 40%,#ea4daf19,transparent 40%)}.random-skull{display:block;width:120px;height:132px;object-fit:contain;filter:drop-shadow(0 0 13px #e288ff4b)}.random-copy h2{font-weight:950;letter-spacing:-1px;font-size:clamp(22px,2.6vw,32px);line-height:1.1;margin:9px 0}.random-copy h2 em,.random-window h2 em{font-style:normal;color:var(--pink)}.random-copy p{font-size:12px;line-height:1.6;color:#cbbcd7;max-width:600px;margin:0}.random-action{display:flex;flex-direction:column;align-items:center;gap:9px;min-width:218px}.random-btn{width:100%;background:linear-gradient(120deg,#f14fb7,#bb62ef);border:0;border-radius:11px;color:#fff;font-size:12px;letter-spacing:.25px;font-weight:950;padding:16px 17px;box-shadow:0 6px 25px #e854b24a;transition:transform .16s,filter .16s}.random-btn span{margin-left:6px}.random-btn:hover:not(:disabled){filter:brightness(1.13);transform:translateY(-2px)}.random-btn:disabled{opacity:.55;cursor:not-allowed}.random-slots{color:#c8b3d7;font-size:11px;text-align:center}.random-modal[hidden],.random-done[hidden]{display:none!important}.random-modal{position:fixed;inset:0;z-index:1000;display:grid;place-items:center;padding:24px;background:#080612e8;backdrop-filter:blur(10px)}.random-window{position:relative;width:min(100%,630px);border:1px solid #cb66df99;background:radial-gradient(ellipse at top,#431e58,#140e24 76%);box-shadow:0 30px 120px #000d,0 0 50px #c74dcd2e;border-radius:20px;padding:36px 32px 33px;text-align:center;overflow:hidden}.random-window:before{content:"";position:absolute;inset:0;border-radius:inherit;pointer-events:none;background:repeating-linear-gradient(180deg,transparent 0 7px,#ffffff05 8px 9px);opacity:.5}.random-window>*{position:relative}.random-window-skull{width:115px;height:142px;object-fit:contain;filter:drop-shadow(0 0 24px #d74aff63);animation:random-skull-spin 1.5s ease-in-out infinite alternate}.random-window.done .random-window-skull,.random-window.failed .random-window-skull{animation:none}.random-window h2{font-size:clamp(26px,5vw,45px);letter-spacing:-1.5px;line-height:1.1;margin:14px 0 20px}.random-close{position:absolute;right:15px;top:13px;z-index:5;width:36px;height:36px;border:1px solid #ffffff30;background:#ffffff14;color:white;border-radius:9px;font-size:24px}.random-reels{display:grid;grid-template-columns:1fr minmax(0,480px) 1fr;gap:12px;align-items:center;margin:0 auto 20px}.reels-line{height:2px;background:linear-gradient(90deg,transparent,#e373edb3,transparent)}.random-ticker{font-size:clamp(14px,2.4vw,23px);font-weight:900;color:#fff7ff;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;text-shadow:0 0 16px #fb64d5}.random-window.is-spinning .random-ticker{animation:random-flicker .19s linear infinite}.random-outcome{color:#d7c3e4;font-size:13px;line-height:1.6;min-height:36px}.random-outcome strong{display:block;color:#fff;font-size:18px}.random-done{margin-top:16px}.random-window.failed .random-outcome{color:#ffb7d3}
@keyframes character-float{50%{transform:translateY(-7px)}}@keyframes random-skull-spin{0%{transform:rotate(-9deg) scale(.94)}100%{transform:rotate(9deg) scale(1.03)}}@keyframes random-flicker{50%{opacity:.72}}
@media(max-width:920px){.random-feature{grid-template-columns:90px 1fr}.random-skull{width:90px;height:105px}.random-action{grid-column:1/-1;min-width:0;flex-direction:row;justify-content:center}.random-btn{width:auto}.brand-caption{display:none}.hero{grid-template-columns:1.25fr 1fr}.character-art{max-height:360px}}
@media(max-width:600px){.brand-art{width:132px;max-height:60px}.hero{padding-bottom:20px}.visual-character{display:grid;min-height:245px;transform:none;margin:4px auto 0}.character-art{max-height:260px;width:270px}.character-halo{height:230px}.random-feature{grid-template-columns:68px 1fr;gap:12px;padding:16px 13px;margin-bottom:27px}.random-skull{width:68px;height:90px}.random-copy h2{font-size:21px}.random-copy p{font-size:11px}.random-copy .eyebrow{letter-spacing:1px;font-size:9px}.random-action{grid-column:1/-1;display:block}.random-btn{width:100%}.random-slots{display:block;margin-top:8px}.random-window{padding:28px 17px 24px}.random-window h2{font-size:31px}}
@media(prefers-reduced-motion:reduce){.character-art,.random-window-skull,.random-window.is-spinning .random-ticker{animation:none!important}}


/* POCHETTES DISCO - Miniatures locales et panneau de recherche */
.track-cover,.queue-cover,.random-win-cover{display:inline-grid;place-items:center;overflow:hidden;flex-shrink:0;background:radial-gradient(circle,#412b60,#1b1428);border:1px solid #8150a14d;border-radius:10px}
.track-cover img,.queue-cover img,.random-win-cover img{display:block;width:100%;height:100%;object-fit:cover}
.track-cover{width:49px;height:49px;flex-basis:49px}.queue-cover{width:40px;height:40px;border-radius:8px}.random-win-cover{width:88px;height:88px;border-radius:13px}
.random-winning{display:flex;align-items:center;justify-content:center;gap:15px;text-align:left}.random-winning strong{margin-bottom:6px}
.covers-admin{border-color:#ad5bc2a6;background:linear-gradient(130deg,#261633,#1b162c)}.covers-admin h2{margin-bottom:14px}.cover-controls{display:flex;flex-wrap:wrap;gap:12px;margin:20px 0}.cover-controls button{font-size:12px;padding:11px 14px}.cover-stats{display:flex;justify-content:space-between;gap:16px;align-items:center;flex-wrap:wrap;margin:12px 0 9px;color:#e5c8f5;font-size:12px}.cover-stats span{font-size:11px;color:#bba8c9}.cover-progress{height:8px;border-radius:10px;background:#100d20;overflow:hidden;border:1px solid #6c3b8c}.cover-progress div{height:100%;width:0;background:linear-gradient(90deg,#ad60ed,#f65ab9);transition:width .35s}
.cover-manual{border-top:1px solid #5b4166;padding-top:17px;margin-top:18px}.cover-manual strong{font-size:13px}.cover-manual p{margin:7px 0 12px}.cover-manual-fields{display:flex;align-items:center;flex-wrap:wrap;gap:12px}.cover-manual-fields select{min-width:180px;flex:2;background:#261d36;color:#fff;border:1px solid #8555ab;border-radius:9px;padding:10px}.cover-manual-fields input{min-width:165px;flex:1;font-size:12px}.cover-manual-fields button{font-size:12px}
@media(max-width:600px){.track-cover{width:38px;height:38px;flex-basis:38px}.queue-cover{width:35px;height:35px}.random-winning{flex-direction:column;text-align:center}.cover-controls button{width:100%}}

/* ===========================================================
   LIEN STEAM - DEAD AS DISCO
   Bouton discret sous la présentation ; ne touche pas aux autres styles.
   =========================================================== */
.steam-game-link {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  max-width: 100%;
  margin-top: 19px;
  padding: 10px 14px;
  border: 1px solid rgba(196, 120, 234, .42);
  border-radius: 11px;
  background: linear-gradient(115deg, rgba(36, 25, 53, .92), rgba(59, 28, 69, .65));
  color: #d9c8e8;
  font-size: 12px;
  font-weight: 550;
  line-height: 1.5;
  text-decoration: none;
  transition: border-color .18s ease, background .18s ease, transform .18s ease;
}
.steam-game-link strong { color: #fff; font-weight: 800; }
.steam-game-link:hover {
  border-color: #ec79d4;
  background: linear-gradient(115deg, rgba(70, 38, 92, .95), rgba(101, 37, 99, .82));
  transform: translateY(-2px);
}
.steam-game-link:focus-visible { outline: 2px solid #8effdd; outline-offset: 4px; }
.steam-game-icon { width: 22px; height: 22px; flex-shrink: 0; object-fit: contain; }
.steam-game-arrow { color: #f477cc; font-size: 17px; font-weight: 800; flex-shrink: 0; }
@media(max-width:600px) {
  .steam-game-link { font-size: 11px; padding: 9px 11px; gap: 8px; }
  .steam-game-icon { width: 20px; height: 20px; }
}

/* STEAM LOGO LOCAL - VERSION 2 */
.steam-game-link .steam-game-icon {
  display: block;
  width: 22px;
  height: 22px;
  flex: 0 0 22px;
  filter: brightness(0) invert(1);
}
@media(max-width:600px) {
  .steam-game-link .steam-game-icon { width: 20px; height: 20px; flex-basis: 20px; }
}

/* STEAM LOGO PERSONNALISE V4 START */
.steam-game-link .steam-game-icon {
  display: block !important; width: 24px !important; height: 24px !important;
  flex: 0 0 24px !important; object-fit: contain !important;
  filter: none !important; opacity: 1 !important; visibility: visible !important;
}
@media(max-width:600px) {
 .steam-game-link .steam-game-icon { width:22px !important;height:22px !important;flex-basis:22px !important; }
}
/* STEAM LOGO PERSONNALISE V4 END */

/* DEAD AS DISCO - PAGINATION HAUT ET RETOUR AUTOMATIQUE */
.pagination-top {
  margin: 2px 0 12px;
  gap: 10px;
}
.pagination-top .ghost-btn { padding: 7px 12px; }
@media (max-width: 600px) {
  .pagination-top .ghost-btn { padding: 7px 9px; font-size: 11px; }
}
