/* DeltaRise : styles du panneau admin (s'ajoutent à style.css) */
.adm-badge{font-family:var(--f-mono);font-size:11px;letter-spacing:.18em;color:#04150e;background:var(--signal);padding:2px 6px;margin-left:4px;border-radius:1px}
.h-adm{font-size:clamp(28px,4.4vw,44px);margin-bottom:18px}
.lead{color:var(--mute);max-width:70ch;margin:0 0 18px}
.gatebox{display:grid;gap:14px;justify-items:start;padding-block:40px}

/* champs */
input,select,textarea{font:inherit;color:var(--text);background:rgba(0,0,0,.35);border:1px solid #4a5357;border-radius:1px;padding:9px 11px;min-width:0;width:100%}
textarea{resize:vertical}
input:focus,select:focus,textarea:focus{outline:none;border-color:var(--signal);box-shadow:0 0 0 1px var(--signal)}
select{appearance:auto}
.fld{display:grid;gap:5px;min-width:0}
.fld>span{font-size:12.5px;color:var(--mute)}
.check{display:flex;align-items:center;gap:9px;font-size:14px;color:var(--text);cursor:pointer}
.check input{width:18px;height:18px;accent-color:var(--signal);flex:none}
.stack{display:grid;gap:14px;margin-top:14px}
.formgrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-top:14px}
.formgrid .wide{grid-column:1/-1}
@media (max-width:560px){.formgrid{grid-template-columns:minmax(0,1fr)}}
.row-end{display:flex;justify-content:flex-end;align-items:center;gap:10px;flex-wrap:wrap}
.saved{font-family:var(--f-mono);font-size:12.5px;color:var(--signal)}
.btn.danger{border-color:rgba(255,74,61,.6);color:#ffb3ad}
.btn.danger:hover:not(:disabled){border-color:var(--r-l);box-shadow:0 0 14px rgba(255,74,61,.3)}
.linkbtn.bad{color:#ff8a80}
.hint{color:var(--mute);font-size:12px}
.mono{font-family:var(--f-mono);font-size:12.5px}

/* tableau de bord */
.tiles{display:grid;grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:10px;margin-bottom:22px}
.tiles div{background:var(--panel);border:1px solid var(--line);padding:14px 16px}
.tiles b{display:block;font-family:var(--f-head);font-weight:800;font-size:30px;color:var(--heading);font-variant-numeric:tabular-nums;line-height:1.1}
.tiles span{font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--mute)}
.cols2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px;margin-bottom:22px}
@media (max-width:860px){.cols2{grid-template-columns:minmax(0,1fr)}}
.bars{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:10px;height:190px;margin-top:16px;align-items:end}
.bar7{display:grid;grid-template-rows:auto 1fr auto;height:100%;gap:6px;text-align:center}
.bar7 i{align-self:end;background:linear-gradient(180deg,var(--signal),var(--green-d));box-shadow:0 0 10px rgba(12,246,156,.35);border-radius:1px}
.bar7 .v{font-family:var(--f-mono);font-size:11.5px;color:var(--text)}
.bar7 .d{font-family:var(--f-mono);font-size:11px;color:var(--mute)}

/* listes */
.head-row{display:flex;justify-content:space-between;align-items:end;gap:16px;flex-wrap:wrap}
.filters{display:flex;gap:12px;align-items:center;flex-wrap:wrap;margin-bottom:20px}
.filters input[type=search]{max-width:280px}
.filters select{width:auto}
.adm-card{position:relative}
.adm-card.off .card{filter:grayscale(.85) brightness(.6)}
.pill{display:inline-block;font-family:var(--f-mono);font-size:10.5px;letter-spacing:.06em;text-transform:uppercase;padding:2px 7px;border:1px solid var(--line);color:var(--mute);border-radius:1px;margin-left:6px}
.pill.ok{color:var(--signal);border-color:rgba(12,246,156,.5)}
.pill.bad{color:#ff8a80;border-color:rgba(255,74,61,.55)}
.pill.dim{opacity:.85}
.panel.tight{padding:6px 10px}
.tbl{width:100%;border-collapse:collapse;font-size:14px}
.tbl th{font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--mute);font-weight:500;text-align:left;padding:10px 8px;border-bottom:1px solid var(--line);white-space:nowrap}
.tbl td{padding:9px 8px;border-top:1px solid rgba(255,255,255,.05);vertical-align:middle}
.tbl td.num,.tbl th.num{text-align:right;font-variant-numeric:tabular-nums}
.tbl tbody tr[data-id]{cursor:pointer}
.tbl tbody tr[data-id]:hover td,.tbl tr.sel td{background:rgba(12,246,156,.06)}
.tbl .pl{display:flex;align-items:center;gap:9px;min-width:0}
.tbl .acts{white-space:nowrap;text-align:right}
.kc{font-family:var(--f-mono);font-size:13.5px;color:var(--signal);letter-spacing:.06em}
.cols-pl{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.15fr);gap:22px;align-items:start}
@media (max-width:980px){.cols-pl{grid-template-columns:minmax(0,1fr)}}

/* fiche joueur */
.ph{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap}
.ph-id{display:flex;align-items:center;gap:12px;min-width:0}
.ph-id .av{width:48px;height:48px}
.ph-id h2{overflow-wrap:anywhere}
.kv{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;background:var(--line);border:1px solid var(--line);margin:16px 0 4px}
@media (max-width:560px){.kv{grid-template-columns:repeat(2,minmax(0,1fr))}}
.kv div{background:var(--panel2);padding:10px 12px}
.kv dt{font-size:10.5px;letter-spacing:.12em;text-transform:uppercase;color:var(--mute)}
.kv dd{margin:2px 0 0;font-weight:600}
.sub{font-family:var(--f-head);font-weight:800;font-size:16px;text-transform:uppercase;letter-spacing:.04em;margin:22px 0 10px;color:var(--heading)}
.inline{display:flex;gap:10px;align-items:end;flex-wrap:wrap}
.inline .fld{width:110px}
.inline .fld.grow{flex:1;min-width:200px;width:auto}
.actions{display:flex;gap:8px;flex-wrap:wrap}
.actions .btn{font-size:15px;padding:8px 12px;text-decoration:none}
p.confirm{margin:12px 0 0}
.mini-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:6px}
.mini{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:8px;align-items:center;padding:6px 8px;background:var(--panel2);border-left:2px solid var(--rc);font-size:13.5px}
.mini .nm{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.mini .q{font-family:var(--f-mono);font-size:12px;color:var(--mute)}
.mini .tag{height:18px;min-width:26px;font-size:11px}

/* réglages */
.setgrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}
@media (max-width:860px){.setgrid{grid-template-columns:minmax(0,1fr)}}
.setgrid fieldset{margin:0;min-width:0}
.setgrid legend{padding:0;float:left;width:100%}
.setgrid legend h2{margin-bottom:8px}
.setgrid legend + *{clear:both}
.wide2{grid-column:1/-1}
.wgrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
@media (max-width:760px){.wgrid{grid-template-columns:minmax(0,1fr)}}
.wgrid .tag{height:18px;min-width:26px;font-size:11px;vertical-align:1px}
.pc{font-style:normal;font-family:var(--f-mono);font-size:12px;color:var(--signal)}
.wrows{display:grid;gap:10px;margin:12px 0}
.wrow{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr) 70px auto;gap:10px;align-items:end}
.wrow .pc{padding-bottom:10px}
.wrow .linkbtn{padding-bottom:10px}

/* éditeur de carte */
.editor{max-width:1040px;margin:0 auto;display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr);gap:28px;align-items:start;
  background:var(--ink);border:1px solid var(--line);padding:24px}
@media (max-width:820px){.editor{grid-template-columns:minmax(0,1fr)}.ed-prev{order:-1}}
.ed-prev{display:grid;gap:14px;justify-items:center;position:sticky;top:0}
.ed-prev .zoom{width:min(300px,70vw)}
.imgrow{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:8px}
.imgrow .btn{font-size:15px;padding:8px 12px;cursor:pointer}
.toast.bad{border-color:var(--r-l)}
#admNav a{font-size:15px;padding:6px 8px;white-space:nowrap}

/* sélection de joueurs */
.ck{width:34px}
.ck input{width:17px;height:17px;accent-color:var(--signal);padding:0}
.bulk{border:1px solid rgba(12,246,156,.5);background:rgba(12,246,156,.05);padding:16px;margin-bottom:18px;display:grid;gap:14px}
.bulk-h{display:flex;align-items:center;gap:12px;flex-wrap:wrap}
.bulk-h b{color:var(--signal);font-family:var(--f-head);font-size:18px;text-transform:uppercase}
.sel-chips{display:flex;gap:6px;flex-wrap:wrap;flex:1;min-width:0}
.sel-chips .chip{font-size:12.5px;padding:3px 10px;text-transform:none;letter-spacing:0}
.bulk-acts{display:grid;gap:12px}
.banwhy{margin:10px 0 0;color:#ff8a80;font-size:14px}
.rarstrip{display:flex;gap:8px 18px;flex-wrap:wrap;align-items:center;margin-bottom:16px;font-size:13.5px;color:var(--mute)}
.rarstrip .tag{height:18px;min-width:26px;font-size:11px}
.rarstrip b{color:var(--text)}
.kv{gap:8px;background:none;border:0}
.kv div{border:1px solid var(--line)}
.tbl .pl a{color:var(--text);text-decoration:none;font-weight:600}
.tbl .pl a:hover{color:var(--signal)}
.shoprows{display:grid;gap:10px;margin-top:14px}
.shoprow{display:grid;grid-template-columns:minmax(0,1fr) 150px;gap:12px;align-items:end;padding-top:10px;border-top:1px solid var(--line)}
.shoprow small{color:var(--mute)}
/* barre d'enregistrement */
.savebar{position:sticky;bottom:0;z-index:5;display:flex;justify-content:flex-end;align-items:center;gap:16px;flex-wrap:wrap;margin-top:22px;
  padding:14px max(16px,env(safe-area-inset-right,0px)) calc(14px + env(safe-area-inset-bottom,0px)) 16px;background:rgba(10,11,12,.94);border-top:1px solid var(--signal);backdrop-filter:blur(8px)}
.savestate{font-weight:600;font-size:14.5px}
.savestate.dirty{color:var(--r-ur)}
.savestate.ok{color:var(--signal)}
.savestate.err{color:#ff8a80}
.savestate.busy{color:var(--mute)}
.saved.bad{color:#ff8a80}
.pbgrid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px}
@media (max-width:760px){.pbgrid{grid-template-columns:repeat(2,minmax(0,1fr))}}
.danger-zone{border-color:rgba(255,74,61,.4)}
.danger-zone::before{border-color:var(--r-l)!important}
.fld .tag{height:18px;min-width:26px;font-size:11px;vertical-align:1px}

.toast{bottom:calc(96px + env(safe-area-inset-bottom,0px))}

/* séries */
.setspanel{margin-bottom:6px}
.setspanel summary{display:flex;justify-content:space-between;align-items:baseline;gap:12px;flex-wrap:wrap;cursor:pointer;list-style:none}
.setspanel summary::-webkit-details-marker{display:none}
.setlist{display:grid;gap:10px;margin-top:14px}
.setrow{display:grid;grid-template-columns:56px minmax(0,1fr) minmax(0,1fr) 80px auto auto auto auto;gap:10px;align-items:end;padding-top:10px;border-top:1px solid var(--line)}
.setcode{font-family:var(--f-stencil);font-size:24px;color:var(--signal);align-self:center}
.fld.small{width:90px}
@media (max-width:980px){.setrow{grid-template-columns:56px minmax(0,1fr) minmax(0,1fr);}}

/* catégories */
.catlist{display:grid;gap:10px;margin-top:14px}
.catrow{display:grid;grid-template-columns:48px 90px repeat(5,minmax(0,1fr)) auto auto;gap:10px;align-items:end;padding-top:10px;border-top:1px solid var(--line)}
.caticon{width:48px;height:40px;display:grid;place-items:center;color:var(--signal);background:#0c1012;border:1px solid var(--line)}
.caticon svg{width:44px;height:32px}
.catrow input[readonly]{opacity:.7}
@media (max-width:1100px){.catrow{grid-template-columns:48px 90px minmax(0,1fr) minmax(0,1fr)}}
.linkbtn:disabled{opacity:.3;cursor:not-allowed;text-decoration:none}

/* ---------- succès ---------- */
.achtools{margin-bottom:14px;justify-content:space-between}
.achlist{display:grid;gap:14px}
.achrow{border:1px solid var(--line);background:var(--panel,rgba(255,255,255,.02));padding:14px 16px;display:grid;gap:12px}
.achrow.off{opacity:.55}
.achrow-h{display:flex;flex-wrap:wrap;align-items:end;gap:14px}
.achrow-h .fld{width:200px}
.achrow-h .timer{margin-left:auto}
.achrow .ord{display:flex;flex-direction:column;gap:2px}
.achrow .ord .linkbtn{padding:0 4px;font-size:11px;line-height:1.3}
.achgrid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:12px}
.achgrid .wide{grid-column:span 3}
.achgrid .pslot{display:contents}
.achrow .confirm{grid-column:1/-1}
@media (max-width:1100px){.achgrid{grid-template-columns:repeat(2,minmax(0,1fr))}.achgrid .wide{grid-column:1/-1}}

/* ---------- design des boosters ---------- */
.setrow{grid-template-columns:56px minmax(0,1fr) minmax(0,1fr) 80px auto auto auto auto auto}
.setrow .saved{grid-column:1/-1;margin:0}
.setrow .saved:empty{display:none}
.setrow .confirm{grid-column:1/-1;margin:0}
.setdesign{grid-column:1/-1;display:grid;grid-template-columns:220px minmax(0,1fr);gap:24px;padding:18px;border:1px solid var(--line);background:rgba(255,255,255,.02);margin-top:4px}
.sd-prev{display:grid;justify-items:center;align-content:start;gap:10px;text-align:center}
.sd-prev .note{margin:0;font-size:12px}
.packprev{width:180px;pointer-events:none}
.packprev .pack-body{transition:none}
.sd-form{display:grid;gap:14px;align-content:start}
.sd-cols{display:flex;flex-wrap:wrap;gap:14px;align-items:end}
.sd-cols .fld{min-width:150px;flex:1}
.colf input[type=color]{width:100%;height:40px;padding:2px;border:1px solid var(--line);background:var(--panel2,#111);cursor:pointer}
.sd-img{display:flex;flex-wrap:wrap;gap:12px;align-items:end}
.sd-img .grow{flex:1;min-width:240px}
.filebtn{cursor:pointer}
.presets{display:flex;flex-wrap:wrap;gap:8px;align-items:center}
.presets .chip i{display:inline-block;width:10px;height:10px;border-radius:50%;background:var(--pc);margin-right:6px;vertical-align:-1px;box-shadow:0 0 6px var(--pc)}
.sd-msg.bad{color:var(--r-l)}
@media (max-width:1180px){.setrow{grid-template-columns:56px minmax(0,1fr) minmax(0,1fr) 80px}}
@media (max-width:760px){.setdesign{grid-template-columns:minmax(0,1fr)}.setrow{grid-template-columns:56px minmax(0,1fr)}}
.setrow{grid-template-columns:64px minmax(0,1fr) minmax(0,1fr) 130px 80px auto auto auto auto auto}
.setcode small{display:block;font-family:var(--f-mono);font-size:10px;letter-spacing:.14em;color:var(--mute)}
@media (max-width:1180px){.setrow{grid-template-columns:64px minmax(0,1fr) minmax(0,1fr) 130px}}
@media (max-width:760px){.setrow{grid-template-columns:64px minmax(0,1fr)}}
/* lignes de séries : retour à la ligne souple */
.setrow{display:flex!important;flex-wrap:wrap;align-items:end;gap:10px 12px}
.setrow .setcode{flex:0 0 56px}
.setrow .fld{flex:1 1 170px}
.setrow .fld.small{flex:0 0 80px}
.setrow .setdesign,.setrow .confirm,.setrow .saved{flex:1 1 100%}

/* ---------- accueil ---------- */
.hprev-wrap{overflow:hidden}
.hprev{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);gap:30px;align-items:center;min-height:330px}
.hp-copy{display:grid;gap:12px;align-content:center}
.hp-lang{display:flex;gap:6px}
.hp-h{font-family:var(--f-head);font-weight:900;text-transform:uppercase;font-size:clamp(30px,4vw,52px);line-height:.92;margin:0}
.hp-h span{background:linear-gradient(180deg,#7dffcc,var(--signal) 55%,#0a9b64);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}
.hp-p{margin:0;color:#c9cfd0;font-size:15px;max-width:52ch}
.hp-btns{display:flex;gap:10px;flex-wrap:wrap}
.hp-btns .btn{pointer-events:none}
.hp-fan{position:relative;height:320px;display:grid;place-items:center}
.hp-card{position:absolute;width:150px}
.hp-card.h0{transform:translateX(-58%) rotate(-12deg) translateY(16px)}
.hp-card.h1{transform:translateY(-8px);z-index:2}
.hp-card.h2{transform:translateX(58%) rotate(12deg) translateY(16px)}
.hslots{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.hslot{display:grid;gap:10px;align-content:start;padding:14px;border:1px solid var(--line)}
.hslot>b{font-family:var(--f-head);text-transform:uppercase;font-size:15px}
.htexts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.htexts textarea{resize:vertical;font:inherit;padding:10px 12px;background:var(--panel2,#0b0f0f);color:var(--text);border:1px solid var(--line)}
@media (max-width:900px){.hprev,.hslots,.htexts{grid-template-columns:minmax(0,1fr)}.hp-fan{height:280px}}
#admNav{flex-wrap:wrap;row-gap:0}
#admNav a{font-size:14.5px;padding:6px 7px}
.pbio{margin:10px 0;white-space:pre-line}.pbio-t{color:var(--text)}
.hp-foot{margin-top:14px;padding:12px 14px;border:1px dashed var(--line);font-size:14px;color:#c9cfd0}
/* barre de mise en forme des annonces */
.mdbar{display:flex;flex-wrap:wrap;gap:4px;margin-top:-6px}
.mdbar button,.mdbar .mdimg{min-width:34px;height:32px;padding:0 9px;border:1px solid var(--line);background:rgba(255,255,255,.03);color:var(--text);font:600 13px var(--f-body,inherit);cursor:pointer;display:inline-flex;align-items:center;justify-content:center;border-radius:2px}
.mdbar button:hover,.mdbar .mdimg:hover{border-color:var(--signal);color:var(--signal)}
.emojis{display:flex;flex-wrap:wrap;gap:2px;padding:8px;border:1px solid var(--line);background:rgba(0,0,0,.3);max-height:150px;overflow:auto}
.emojis button{width:34px;height:34px;font-size:20px;background:none;border:0;cursor:pointer;border-radius:3px}
.emojis button:hover{background:rgba(255,255,255,.08)}
#annText{width:100%;resize:vertical;font:inherit;padding:10px 12px;background:var(--panel2,#0b0f0f);color:var(--text);border:1px solid var(--line)}
.mdhelp{margin:0;font-size:12.5px;line-height:1.7}
.annprev{display:grid;gap:6px}
.annprev .announce{margin:0}
/* suppression d'une carte */
.delbox{display:grid;gap:10px;padding:12px 14px;border:1px solid rgba(234,79,82,.45);background:rgba(234,79,82,.06);grid-column:1/-1}
.delbox p{margin:0}
.delbox .btns{display:flex;gap:8px;flex-wrap:wrap}
.delopts{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.delopts>div{display:grid;gap:6px;align-content:start;padding:10px;border:1px solid var(--line)}
.delopts .btn{justify-self:start}
@media (max-width:700px){.delopts{grid-template-columns:1fr}}
/* sauvegardes */
.bk-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}
.bk-grid>div{display:grid;gap:4px}
.bk-grid b{font-family:var(--f-head);font-size:20px;text-transform:uppercase}
.bk-grid b.ok{color:var(--signal)}.bk-grid b.warn{color:#ffb020}
.bk-grid .note{margin:0}
.bk-tools{margin:16px 0;gap:12px;align-items:end;flex-wrap:wrap}
.bk-progress{margin:0 0 16px;display:grid;gap:6px}
.bk-progress .bar7{height:8px;background:rgba(255,255,255,.06);border:1px solid var(--line)}
.bk-progress .bar7 i{display:block;height:100%;width:0;background:var(--signal);transition:width .2s}
.note.bad{color:var(--r-l)}
@media (max-width:760px){.bk-grid{grid-template-columns:1fr}}
