/* Idlus — direction artistique « Diorama » (v2) */
:root{
  --page:#efe3c4; --panel:#fbf4e2; --panel2:#f3e6c6; --panel3:#ead9b2; --frame:#6b4524; --frame2:#8a5d33; --gold:#c99a2e; --gold2:#f1cf6e;
  --ink:#3a2614; --muted:#7d6247; --title:#6b4524; --tshadow:0 1px 0 rgba(255,255,255,.6);
  --action:#4f8a2b; --action2:#3e7020; --action-ink:#fff; --danger:#c0392b;
  --shadow:0 2px 0 rgba(60,35,10,.25),0 8px 22px rgba(60,35,10,.18);
  --el-t:#a8722a; --el-f:#e0582b; --el-e:#2f86d6; --el-a:#3fa34d; --el-n:#8a8a8a; --buff:#c99a2e;
  --archi:#9b4dff; --hp:#d8433a; --hp-bg:rgba(0,0,0,.14); --line:rgba(107,69,36,.18);
  --font-title:'Kavoon',serif; --font-body:'Nunito',system-ui,sans-serif;
  --navh:64px;
  color-scheme:light;
}
:root[data-theme="dark"]{
  --bg1:rgba(91,60,160,.35); --bg2:rgba(40,140,170,.18);
  --page:#120e0a; --panel:#221b13; --panel2:#2e251a; --panel3:#3a2f21; --frame:#6b5636; --frame2:#3b3022; --gold:#e4b955; --gold2:#f3d998;
  --ink:#f5ead2; --muted:#c2b395; --title:#e8c063; --tshadow:0 2px 0 rgba(0,0,0,.65);
  --action:#8fbd4f; --action2:#5f8a2a; --action-ink:#1a1510; --danger:#e0674f;
  --shadow:0 2px 0 rgba(0,0,0,.55),0 10px 26px rgba(0,0,0,.5);
  --hp-bg:rgba(255,255,255,.1); --line:rgba(194,179,149,.16);
  color-scheme:dark;
}
@property --ang{syntax:'<angle>';initial-value:0deg;inherits:false}

*{box-sizing:border-box}
html,body{margin:0}
body{background:var(--page);color:var(--ink);font-family:var(--font-body);font-size:15px;line-height:1.4;-webkit-tap-highlight-color:transparent}
h1,h2,h3,.title{font-family:var(--font-title);font-weight:400;margin:0;letter-spacing:.3px;color:var(--title);text-shadow:var(--tshadow);line-height:1.15}
h1{font-size:26px}h2{font-size:20px}h3{font-size:16px}
button,select,input,textarea{font:inherit;color:inherit}
img{display:block}
.num{font-variant-numeric:tabular-nums;font-weight:800}
.muted{color:var(--muted)}.small{font-size:13px}.xs{font-size:11.5px}
.row{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.between{justify-content:space-between}
.stack{display:flex;flex-direction:column;gap:12px}
.grow{flex:1;min-width:0}
.grid2{display:grid;grid-template-columns:1fr 1fr;gap:14px}
@media (min-width:861px){.combatgrid{grid-template-columns:minmax(0,1.5fr) minmax(0,1fr)}}
@media (max-width:860px){.grid2{grid-template-columns:1fr}}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}

/* ---------- structure ---------- */
.app{max-width:1180px;margin:0 auto;padding:12px 14px calc(var(--navh) + 24px)}
@media (min-width:860px){.app{padding-bottom:28px}}
.status{position:sticky;top:0;z-index:30;display:flex;flex-wrap:wrap;gap:4px 16px;align-items:center;background:linear-gradient(180deg,var(--frame2),var(--frame));color:#fff7e3;border-radius:0 0 14px 14px;padding:8px 14px;box-shadow:var(--shadow);border:2px solid var(--gold);border-top:0;margin:-12px 0 12px}
:root[data-theme="dark"] .status{background:linear-gradient(180deg,#3b3022,#2a2117)}
.status .brand{font-family:var(--font-title);font-size:21px;color:var(--gold2);margin-right:auto;text-shadow:0 2px 0 rgba(0,0,0,.4);cursor:pointer;background:none;border:0;padding:0}
.status .it{display:flex;align-items:center;gap:6px;font-size:13.5px;white-space:nowrap}
.status .it b{font-weight:800}
.status .ic-btn{background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.25);border-radius:10px;padding:4px 8px;cursor:pointer;color:inherit;display:flex;align-items:center;gap:4px}
.dot{width:8px;height:8px;border-radius:50%;background:#7ee06a;box-shadow:0 0 8px #7ee06a}
.dot.off{background:#9a8a6a;box-shadow:none}
.coin{width:15px;height:15px;border-radius:50%;background:radial-gradient(circle at 35% 35%,#fff3b0,#e2b33a 60%,#a87a14);border:1px solid #7a560c;display:inline-block;flex:none}
@media (max-width:600px){.status{font-size:12px;gap:2px 12px}.status .brand{font-size:18px}.status .hide-sm{display:none}}
/* 1.0.12.8 : barre étroite (1080 px, chat ouvert à côté) : connecté, la pastille de sauvegarde, le bouton Admin et Options ne gardent que leur icône, la barre reste sur une ligne */
.status{container-type:inline-size}
@container (max-width:980px){.status #onPill>span:not(.dot),.status .admbtn .hide-sm{display:none}}

nav.main{display:flex;gap:6px;margin-bottom:12px}
nav.main button{display:flex;align-items:center;gap:7px;border:2px solid transparent;background:var(--panel2);color:var(--ink);border-radius:12px;padding:8px 14px;font-weight:800;cursor:pointer}
nav.main button svg{width:20px;height:20px}
nav.main button[aria-current="page"]{background:var(--frame);color:#fff7e3;border-color:var(--gold)}
:root[data-theme="dark"] nav.main button[aria-current="page"]{background:var(--gold);color:#1a1510}
@media (max-width:859px){
  nav.main{position:fixed;left:0;right:0;bottom:0;z-index:40;margin:0;padding:6px 6px calc(6px + env(safe-area-inset-bottom));gap:2px;background:var(--panel);border-top:2px solid var(--frame);box-shadow:0 -6px 18px rgba(0,0,0,.18);height:auto}
  nav.main button{flex:1;flex-direction:column;gap:2px;padding:6px 2px;font-size:10.5px;background:transparent;border:0}
  nav.main button[aria-current="page"]{background:var(--panel2);color:var(--title);border:0}
  :root[data-theme="dark"] nav.main button[aria-current="page"]{background:var(--panel2);color:var(--gold)}
}
.subtabs{display:flex;gap:6px;flex-wrap:wrap;margin:0 0 12px}
.subtabs button{border:2px solid var(--frame);background:var(--panel2);border-radius:999px;padding:6px 14px;font-weight:800;font-size:13.5px;cursor:pointer;color:var(--ink)}
.subtabs button[aria-pressed="true"]{background:var(--frame);color:#fff7e3}
:root[data-theme="dark"] .subtabs button[aria-pressed="true"]{background:var(--gold);color:#1a1510;border-color:var(--gold)}
.pagehead{display:flex;align-items:flex-end;justify-content:space-between;gap:10px;flex-wrap:wrap;margin:4px 0 12px}

/* ---------- panneaux ---------- */
.panel{background:var(--panel);border:3px solid var(--frame);border-radius:18px;box-shadow:var(--shadow);overflow:hidden;position:relative}
.panel::after{content:"";position:absolute;inset:3px;border:1px solid var(--gold);border-radius:13px;pointer-events:none;opacity:.45}
.phead{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 14px;background:var(--panel2);border-bottom:2px solid var(--frame)}
.pad{padding:14px}
.tag{display:inline-flex;align-items:center;gap:4px;font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.6px;padding:3px 8px;border-radius:999px;background:var(--frame);color:#fff7e3;white-space:nowrap}
:root[data-theme="dark"] .tag{background:var(--gold);color:#1a1510}
.tag.soft{background:var(--panel3);color:var(--ink)}
.tag.good{background:var(--action);color:var(--action-ink)}
.tag.warn{background:var(--danger);color:#fff}
.tag.archi{background:var(--archi);color:#fff}
.tag.boss{background:var(--hp);color:#fff}
h3.sec{display:flex;align-items:center;gap:8px;margin:16px 0 8px}
h3.sec::after{content:"";flex:1;height:2px;background:linear-gradient(90deg,var(--gold),transparent);border-radius:2px}
h3.sec:first-child{margin-top:0}
.note{font-size:13px;color:var(--muted);margin:0}
.empty{padding:18px;text-align:center;color:var(--muted);font-size:14px}

.list{display:flex;flex-direction:column}
.li{display:flex;align-items:center;gap:10px;padding:9px 14px;border-top:1px solid var(--line)}
.li:first-child{border-top:0}
.li .name{font-weight:800}

.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;border:0;border-radius:12px;padding:9px 16px;font-weight:800;cursor:pointer;background:var(--panel3);color:var(--ink);box-shadow:inset 0 0 0 2px var(--frame);white-space:nowrap}
.btn:disabled{opacity:.45;cursor:not-allowed}
.btn.sm{padding:5px 10px;font-size:13px;border-radius:10px}
.btn.primary{font-family:var(--font-title);font-weight:400;font-size:17px;letter-spacing:.3px;color:var(--action-ink);background:linear-gradient(180deg,var(--action),var(--action2));box-shadow:0 3px 0 rgba(0,0,0,.35),0 6px 14px rgba(0,0,0,.18)}
.btn.primary.sm{font-size:14px}
.btn.danger{background:var(--danger);color:#fff;box-shadow:none}
.btn.gold{background:linear-gradient(180deg,var(--gold2),var(--gold));color:#2a1a08;box-shadow:0 3px 0 rgba(0,0,0,.3)}
.seg{display:inline-flex;background:var(--panel2);border:2px solid var(--frame);border-radius:999px;padding:2px;gap:2px}
.seg button{border:0;background:transparent;font-weight:800;font-size:12.5px;padding:4px 10px;border-radius:999px;cursor:pointer;color:var(--ink)}
.seg button[aria-pressed="true"]{background:var(--frame);color:#fff7e3}
:root[data-theme="dark"] .seg button[aria-pressed="true"]{background:var(--gold);color:#1a1510}
select,input[type=text],textarea{background:var(--panel2);border:2px solid var(--frame);border-radius:10px;padding:6px 8px;max-width:100%}
textarea{width:100%;min-height:80px;font-size:12px}

.bar{height:9px;border-radius:6px;background:var(--hp-bg);overflow:hidden}
.bar i{display:block;height:100%;border-radius:6px;background:linear-gradient(90deg,var(--gold),var(--gold2));transition:width .3s}
.bar.xp i{background:linear-gradient(90deg,#5aa1e0,#8fd0ff)}
.bar.hp i{background:linear-gradient(90deg,#ff6b5e,var(--hp))}
.bar.green i{background:linear-gradient(90deg,#8fe06a,#3fa34d)}

.chip{font-weight:800;font-size:10.5px;padding:1px 5px;border-radius:6px;color:#fff;background:var(--c)}
.chip.neg{background:transparent;color:var(--c);box-shadow:inset 0 0 0 1.5px var(--c)}
.res{display:flex;gap:3px;flex-wrap:wrap}
.eld{display:inline-grid;place-items:center;width:18px;height:18px;border-radius:50%;background:var(--c);color:#fff;font-size:10px;font-weight:800;flex:none}
.plus{color:var(--action);font-weight:800}.minus{color:var(--danger);font-weight:800}
.ico{width:36px;height:36px;object-fit:contain;flex:none}
.ico.sm{width:26px;height:26px}.ico.lg{width:52px;height:52px}
.icobox{width:44px;height:44px;border-radius:10px;background:var(--panel3);display:grid;place-items:center;flex:none;position:relative}
.icobox img{width:38px;height:38px;object-fit:contain}

/* ---------- décor de scène ---------- */
.scene{position:relative;overflow:hidden;border-bottom:2px solid var(--frame)}
.scene svg.bg{position:absolute;inset:0;width:100%;height:100%}
.scene .crumb{position:absolute;left:12px;top:10px;z-index:3;background:rgba(255,250,235,.88);color:#3a2614;border-radius:10px;padding:4px 10px;font-weight:800;font-size:12px;border:1px solid rgba(107,69,36,.4);max-width:calc(100% - 24px)}
:root[data-theme="dark"] .scene .crumb{background:rgba(22,17,12,.82);color:var(--ink);border-color:var(--frame)}
.scene .crumb .title{display:block;font-size:20px}
.troupe{position:absolute;left:0;right:0;bottom:4px;display:flex;justify-content:center;align-items:flex-end;gap:1%;z-index:2;padding:0 8px}
.troupe img{width:clamp(56px,15%,100px);filter:drop-shadow(0 6px 4px rgba(0,0,0,.3));animation:bob 2.6s ease-in-out infinite}
.troupe img:nth-child(2n){animation-delay:-.8s}.troupe img:nth-child(3n){animation-delay:-1.5s}

/* ---------- carte du monde ---------- */

/* ---------- aperçu de zone ---------- */
.mons{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:10px}
.mcard{display:flex;gap:8px;align-items:center;background:var(--panel2);border:2px solid transparent;border-radius:14px;padding:8px}
.mcard img.mimg{width:64px;height:64px;object-fit:contain;flex:none;transform:scale(1.3)}
.mcard .n{font-weight:800;font-size:14px;line-height:1.15}
.mcard .l{font-size:12px;color:var(--muted)}
.mcard.boss{border-color:var(--hp)}
.mcard.archi{border-color:var(--archi);box-shadow:0 0 0 2px rgba(155,77,255,.25),0 0 16px rgba(155,77,255,.4)}
.mcard.unknown img.mimg{filter:brightness(0) opacity(.35)}
.loot{display:grid;grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:8px}
.lcard{display:flex;align-items:center;gap:8px;background:var(--panel2);border-radius:12px;padding:6px 8px}
.lcard .n{font-size:13px;font-weight:700;line-height:1.15}
.lcard .p{font-size:12px;color:var(--muted)}
.pct{font-weight:800;color:var(--action)}
.rates{display:grid;grid-template-columns:repeat(auto-fit,minmax(110px,1fr));gap:8px}
.rate{background:var(--panel2);border-radius:12px;padding:8px 10px}
.rate b{display:block;font-size:18px}
.rate span{font-size:12px;color:var(--muted)}

/* ---------- combat ---------- */
.arena{position:relative;height:270px;overflow:hidden;border-bottom:2px solid var(--frame)}
.arena svg.bg{position:absolute;inset:0;width:100%;height:100%}
.arena .side{position:absolute;bottom:8px;display:flex;flex-wrap:wrap-reverse;gap:2px 2px;align-items:flex-end;z-index:2;max-width:49%}
.arena .side.l{left:8px}.arena .side.r{right:8px;justify-content:flex-end}
.ent{position:relative;width:clamp(58px,9vw,92px);text-align:center;transition:opacity .4s,filter .4s}
.ent .who{font-size:11px;font-weight:800;color:#fff;text-shadow:0 1px 2px rgba(0,0,0,.9);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ent .hpb{height:6px;border-radius:4px;background:rgba(0,0,0,.4);overflow:hidden;margin:2px 4px 3px;position:relative}
.ent .hpb i{display:block;height:100%;background:linear-gradient(90deg,#ff6b5e,var(--hp));transition:width .3s}
.ent .hpb b{position:absolute;inset:0;background:rgba(160,220,255,.85);transform-origin:left;transition:transform .3s}
.ent.hero .hpb i{background:linear-gradient(90deg,#8fe06a,#3fa34d)}
.ent img.sprite{width:100%;aspect-ratio:1;object-fit:contain;filter:drop-shadow(0 6px 4px rgba(0,0,0,.35));animation:bob 2.4s ease-in-out infinite}
.ent .medal{width:76%;aspect-ratio:1;margin:0 auto;border-radius:50%;background:radial-gradient(circle at 38% 30%,color-mix(in srgb,var(--cc) 55%,#fff),var(--cc) 62%,color-mix(in srgb,var(--cc) 70%,#000));border:3px solid var(--gold2);box-shadow:0 6px 10px rgba(0,0,0,.35);display:grid;place-items:center;animation:bob 2.4s ease-in-out infinite}
.ent .medal img{width:62%;filter:drop-shadow(0 2px 2px rgba(0,0,0,.35))}
.ent.act .medal,.ent.act img.sprite{animation:lunge .45s ease-out}
.side.r .ent.act img.sprite{animation:lungeL .45s ease-out}
.ent.hit img.sprite,.ent.hit .medal{animation:hit .4s ease-out}
.ent.dead{opacity:.22;filter:grayscale(1)}
.ent.archi img.sprite{filter:drop-shadow(0 0 10px rgba(155,77,255,.95)) drop-shadow(0 6px 4px rgba(0,0,0,.35))}
.ent.boss img.sprite{transform:scale(1.15)}
.float{position:absolute;left:50%;top:6px;transform:translateX(-50%);font-weight:900;font-size:21px;color:var(--c);text-shadow:0 2px 0 rgba(0,0,0,.6),0 0 6px rgba(0,0,0,.45);pointer-events:none;animation:fly 1.1s ease-out forwards;z-index:5;white-space:nowrap}
.float.small{font-size:13px}
.arena .turn{position:absolute;left:50%;top:10px;transform:translateX(-50%);background:rgba(255,250,235,.9);color:#3a2614;border-radius:999px;padding:3px 12px;font-weight:800;font-size:12px;z-index:3;border:1px solid rgba(107,69,36,.4);white-space:nowrap;max-width:90%;overflow:hidden;text-overflow:ellipsis}
:root[data-theme="dark"] .arena .turn{background:rgba(22,17,12,.85);color:var(--ink);border-color:var(--frame)}
.arena .result{position:absolute;inset:0;display:grid;place-items:center;z-index:6;pointer-events:none}
.arena .result span{font-family:var(--font-title);font-size:34px;color:var(--gold2);text-shadow:0 3px 0 rgba(0,0,0,.6),0 0 18px rgba(0,0,0,.5);animation:pop .5s ease-out}
.arena .result span.lose{color:#ff8a7a}
.arena .idle{position:absolute;inset:0;display:grid;place-items:center;z-index:4;text-align:center;padding:20px}
.arena .idle div{background:rgba(255,250,235,.9);color:#3a2614;border-radius:14px;padding:12px 16px;font-weight:700}
:root[data-theme="dark"] .arena .idle div{background:rgba(22,17,12,.88);color:var(--ink)}

.herotabs{display:flex;gap:6px;padding:10px 14px 0;flex-wrap:wrap}
.herotabs button{display:flex;align-items:center;gap:6px;border:2px solid transparent;background:var(--panel2);border-radius:999px;padding:3px 10px 3px 3px;font-weight:800;font-size:12.5px;cursor:pointer;color:var(--ink)}
.herotabs button[aria-pressed="true"]{border-color:var(--gold)}
.head{width:26px;height:26px;border-radius:50%;background:var(--cc);display:grid;place-items:center;overflow:hidden;flex:none;border:2px solid var(--gold2)}
.head img{width:80%}
.head.lg{width:44px;height:44px}
.spells{display:grid;grid-template-columns:repeat(6,1fr);gap:8px;padding:10px 14px 4px}
.sp{position:relative;aspect-ratio:1;border-radius:12px;background:var(--panel2);border:2.5px solid var(--c);display:grid;place-items:center;overflow:hidden;transition:transform .15s,box-shadow .15s}
.sp img{width:86%;height:86%;object-fit:contain;border-radius:8px}
.sp .glyph{font-family:var(--font-title);font-size:24px;color:var(--c)}
.sp .pa{position:absolute;right:-1px;bottom:-1px;min-width:21px;height:21px;padding:0 4px;border-radius:9px 0 9px 0;background:#2f86d6;color:#fff;font-weight:900;font-size:12.5px;display:grid;place-items:center;border:2px solid #fff}
.sp .cd{position:absolute;inset:0;background:rgba(20,14,24,.62);display:grid;place-items:center;color:#fff;font-weight:900;font-size:21px}
.sp.cast{transform:translateY(-4px) scale(1.06);box-shadow:0 0 0 3px var(--gold2),0 0 18px var(--c)}
.sp.empty{border-style:dashed;border-color:var(--frame);opacity:.5}
.sp.locked{opacity:.4}
.spnames{display:grid;grid-template-columns:repeat(6,1fr);gap:8px;padding:0 14px 10px;font-size:10.5px;text-align:center;color:var(--muted);line-height:1.1}
.pabar{display:flex;align-items:center;gap:8px;padding:8px 14px 0;font-size:12px;color:var(--muted);flex-wrap:wrap}
.pips{display:flex;gap:3px}.pips i{width:11px;height:11px;border-radius:50%;background:#2f86d6;border:2px solid #fff;box-shadow:0 0 0 1px rgba(0,0,0,.2)}
.pips i.off{background:transparent;border-color:var(--muted)}
.log{margin:0 14px 14px;background:var(--panel2);border-radius:12px;padding:8px 10px;font-size:13px;height:132px;overflow:hidden}
.log div{padding:2px 0;border-bottom:1px dashed var(--line);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.log div:last-child{border:0}
.log .win{color:var(--action);font-weight:800}.log .lose,.log .ko{color:var(--danger)}.log .crit{font-weight:800}.log .heal{color:var(--el-a)}.log .buff{color:var(--gold)}.log .dim{opacity:.7}
.log .pou{color:var(--el-f);font-weight:700} /* 1.0.30 : coup de poussée */
.hist{display:flex;flex-direction:column;gap:6px}
.hrow{display:grid;grid-template-columns:70px 1fr auto;gap:10px;align-items:center;background:var(--panel2);border-radius:10px;padding:6px 10px;font-size:13px}
.hrow .w{color:var(--action);font-weight:800}.hrow .l{color:var(--danger);font-weight:800}
.hrow .z{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
@media (max-width:520px){
  .spells,.spnames{gap:5px;padding-left:10px;padding-right:10px}
  .sp .pa{min-width:18px;height:18px;font-size:11px}
  .arena{height:240px}
  .hrow{grid-template-columns:62px 1fr}.hrow .x{grid-column:1/-1}
}

/* ---------- héros ---------- */
.chips{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:12px}
.chips button{display:flex;align-items:center;gap:6px;border:2px solid transparent;background:var(--panel2);border-radius:999px;padding:3px 12px 3px 3px;font-weight:800;cursor:pointer;color:var(--ink)}
.chips button[aria-pressed="true"]{border-color:var(--gold);background:var(--panel)}
.chips button.out{opacity:.6}
.statgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:6px}
.statgrid .s{display:flex;justify-content:space-between;gap:6px;background:var(--panel2);border-radius:8px;padding:5px 8px;font-size:13px}
.statgrid .s b{white-space:nowrap} /* 1.0.12.8 : « 0 % » ne se coupe plus en deux */
.cbstats{border-top:1px solid var(--line,rgba(255,255,255,.08));padding-top:8px}.cbstats .list .li{padding:5px 8px;font-size:13px;gap:8px}.cbstats .li b{text-align:right}
.slots{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:8px}
.slot{display:flex;gap:8px;align-items:center;text-align:left;background:var(--panel2);border:2px solid var(--frame);border-radius:12px;padding:6px 8px;cursor:pointer;min-height:58px;color:var(--ink)}
.slot[aria-pressed="true"]{border-color:var(--gold);box-shadow:0 0 0 2px var(--gold)}
.slot .sl{font-size:11px;text-transform:uppercase;letter-spacing:.6px;color:var(--muted);font-weight:800}
.spicon{width:44px;height:44px;border-radius:10px;border:2px solid var(--c);background:var(--panel2);display:grid;place-items:center;overflow:hidden;flex:none}
.spicon img{width:90%}
.preset{display:flex;align-items:center;gap:6px;background:var(--panel2);border-radius:10px;padding:6px 8px;border:2px solid transparent}
.preset.on{border-color:var(--gold)}

/* ---------- objets ---------- */
.iname{font-weight:800}
.iname.radiant{background:linear-gradient(90deg,#c27c00,#d9480f,#c2187a,#3b5bdb,#c27c00);background-size:200% 100%;-webkit-background-clip:text;background-clip:text;color:transparent;animation:shine 3s linear infinite}
:root[data-theme="dark"] .iname.radiant{background-image:linear-gradient(90deg,#ffe28a,#ffb347,#ff7ac8,#8fb4ff,#ffe28a)}
.icobox.radiant{background:radial-gradient(circle,rgba(255,220,120,.6),rgba(255,220,120,0) 70%)}
.icobox.radiant::after{content:"✦";position:absolute;right:-3px;top:-6px;color:#ffd84d;font-size:14px;text-shadow:0 0 6px #ffd84d;animation:twinkle 1.6s ease-in-out infinite}
.li.radiant{position:relative;border-top:0;margin:4px 8px;border-radius:12px;border:2px solid transparent;background:linear-gradient(var(--panel),var(--panel)) padding-box,conic-gradient(from var(--ang),#ffd84d,#ff8a4d,#ff5fbf,#8a7dff,#4fd8ff,#7dff8a,#ffd84d) border-box;animation:spin 3.2s linear infinite}
.bonus{color:#b9790a;font-weight:800;margin-left:4px}
:root[data-theme="dark"] .bonus{color:#ffcf4a}
.ing{display:flex;flex-wrap:wrap;gap:4px 10px;margin-top:4px;font-size:12.5px}
.ing span{display:inline-flex;align-items:center;gap:4px}
.ing img{width:20px;height:20px}
.ing .ok{color:var(--action)}.ing .ko{color:var(--danger)}
.ing .ingo{margin-left:2px;color:var(--ink)}
.shopsrc{margin:2px 0}.shopsrc .ingo{margin-left:4px;color:var(--ink)}

/* ---------- accueil ---------- */
.hero-banner{position:relative;overflow:hidden;border-radius:18px;border:3px solid var(--frame);box-shadow:var(--shadow);min-height:180px}
.hero-banner .scene{position:absolute;inset:0;border:0}
.hero-banner .inner{position:relative;z-index:3;padding:16px;display:flex;flex-direction:column;gap:10px;align-items:flex-start;max-width:640px}
.hero-banner .card{background:rgba(255,250,235,.9);color:#3a2614;border-radius:14px;padding:10px 14px;border:1px solid rgba(107,69,36,.35)}
:root[data-theme="dark"] .hero-banner .card{background:rgba(22,17,12,.86);color:var(--ink);border-color:var(--frame)}
.kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:10px}
.kpi{background:var(--panel);border:2px solid var(--frame);border-radius:14px;padding:10px 12px;box-shadow:var(--shadow)}
.kpi b{display:block;font-size:20px}
.kpi span{font-size:12px;color:var(--muted)}
.journal .li{font-size:13px;padding:6px 14px}
.k-rare,.k-radiant{color:var(--archi);font-weight:800}.k-up{color:var(--action);font-weight:700}.k-loot{color:var(--gold)}.k-warn{color:var(--danger)}

/* ---------- écran de départ ---------- */
.start{max-width:760px;margin:0 auto}
.start .logo{font-family:var(--font-title);font-size:clamp(40px,8vw,64px);color:var(--title);text-shadow:var(--tshadow);text-align:center;margin:10px 0 0}

/* ---------- feuilles & notifications ---------- */
.sheet-bg{position:fixed;inset:0;background:rgba(10,6,2,.55);z-index:80;display:flex;align-items:flex-end;justify-content:center;padding:0}
@media (min-width:700px){.sheet-bg{align-items:center;padding:20px}}
.sheet{background:var(--panel);border:3px solid var(--frame);border-radius:20px 20px 0 0;max-width:640px;width:100%;max-height:calc(88vh / var(--vz,1));overflow:auto;padding:16px;display:flex;flex-direction:column;gap:12px;box-shadow:var(--shadow)}
@media (min-width:700px){.sheet{border-radius:20px}}
.sheet>*{flex-shrink:0}
.toasts{position:fixed;left:50%;transform:translateX(-50%);bottom:calc(var(--navh) + 16px);z-index:90;display:flex;flex-direction:column;gap:6px;align-items:center;pointer-events:none;width:min(92vw,420px)}
@media (min-width:860px){.toasts{bottom:20px}}
.toast{background:var(--panel);color:var(--ink);border:2px solid var(--frame);border-radius:12px;padding:8px 14px;font-weight:700;font-size:13.5px;box-shadow:var(--shadow);animation:pop .3s ease-out}
.toast.rare{border-color:var(--archi);box-shadow:0 0 16px rgba(155,77,255,.5)}
.toast.radiant{border-color:transparent;background:linear-gradient(var(--panel),var(--panel)) padding-box,conic-gradient(from var(--ang),#ffd84d,#ff8a4d,#ff5fbf,#8a7dff,#4fd8ff,#7dff8a,#ffd84d) border-box;animation:spin 3s linear infinite,pop .3s ease-out}
.footer{font-size:12px;color:var(--muted);text-align:center;margin:24px 0 6px}

@keyframes bob{0%,100%{transform:translateY(0)}50%{transform:translateY(-4px)}}
@keyframes lunge{0%{transform:translateX(0)}40%{transform:translateX(24px) scale(1.06)}100%{transform:translateX(0)}}
@keyframes lungeL{0%{transform:translateX(0)}40%{transform:translateX(-24px) scale(1.06)}100%{transform:translateX(0)}}
@keyframes hit{0%{transform:translateX(0);filter:brightness(2.2) drop-shadow(0 0 6px #ff4b3e)}25%{transform:translateX(-7px)}50%{transform:translateX(6px)}75%{transform:translateX(-3px)}100%{transform:translateX(0)}}
@keyframes fly{0%{opacity:0;transform:translate(-50%,8px) scale(.7)}15%{opacity:1;transform:translate(-50%,0) scale(1.15)}100%{opacity:0;transform:translate(-50%,-46px) scale(1)}}
@keyframes pop{0%{opacity:0;transform:scale(.8)}100%{opacity:1;transform:scale(1)}}
@keyframes spin{to{--ang:360deg}}
@keyframes shine{to{background-position:-200% 0}}
@keyframes twinkle{0%,100%{opacity:.25;transform:scale(.7)}50%{opacity:1;transform:scale(1.15)}}
@media (prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}

/* ===================== v2.5 ===================== */
.sico{display:inline-block;width:20px;height:20px;object-fit:contain;vertical-align:-5px;margin-right:5px;flex:none}
.statl{display:inline-flex;align-items:center;gap:2px;margin:1px 10px 1px 0;white-space:nowrap}
[data-tip],[data-tipitem]{cursor:help}
button[data-tip],button[data-tipitem]{cursor:pointer}
.tooltip{position:fixed;z-index:120;max-width:min(340px,92vw);background:var(--panel);color:var(--ink);border:2px solid var(--gold);border-radius:12px;padding:8px 10px;font-size:12.5px;line-height:1.45;box-shadow:var(--shadow);pointer-events:none;display:none}
.tooltip .tipstats{margin-top:4px}
.tooltip .tipcmp{margin-top:6px;padding-top:6px;border-top:1px dashed var(--line)}
.boostchip{background:rgba(255,255,255,.14);border-radius:999px;padding:2px 8px}
.candy{font-size:22px}

/* choix de classe */
.classgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(92px,1fr));gap:8px}
.clsbtn{display:flex;flex-direction:column;align-items:center;gap:4px;background:var(--panel2);border:2px solid transparent;border-radius:14px;padding:8px 4px;cursor:pointer;color:var(--ink);font-size:12.5px}
.clsbtn{background:linear-gradient(180deg,var(--panel2) 30%,color-mix(in srgb,var(--cc) 35%,var(--panel2)))}
.clsbtn[aria-pressed="true"]{border-color:var(--cc);box-shadow:0 0 0 2px var(--cc),0 0 18px color-mix(in srgb,var(--cc) 60%,transparent)}
.emb{width:52px;height:52px;border-radius:50%;background:var(--cc);display:grid;place-items:center;border:3px solid var(--gold2);overflow:hidden;flex:none}
.emb img{width:78%}
.clsinfo{display:flex;gap:12px;align-items:center;background:var(--panel2);border-radius:14px;padding:10px 12px}
/* Symboles de classe (3.4.1) : symbole seul avec un halo de sa couleur */
.csym{width:56px;height:56px;display:grid;place-items:center;flex:none}
.csym img{width:100%;filter:drop-shadow(0 0 6px color-mix(in srgb,var(--cc) 80%,transparent)) drop-shadow(0 3px 2px rgba(0,0,0,.6));transition:transform .2s ease}
.clsinfo .csym{width:68px;height:68px}
.clsinfo{background:linear-gradient(90deg,color-mix(in srgb,var(--cc) 30%,var(--panel2)),var(--panel2) 60%);padding-bottom:0;overflow:hidden}
.clsinfo .grow{padding-bottom:10px;min-width:0}
.clsinfo .clook{width:110px;align-self:flex-end;flex:none;filter:drop-shadow(0 6px 6px rgba(0,0,0,.45))}
@media (max-width:520px){.clsinfo .clook{width:72px}.clsinfo .csym{display:none}.csym{width:48px;height:48px}}
@media (hover:hover){.clsbtn:hover .csym img{transform:scale(1.08) rotate(-4deg)}}

/* équipement façon DOFUS */
.doll{display:grid;grid-template-columns:auto 1fr auto;gap:10px 14px;align-items:center;max-width:560px;margin:0 auto}
.dcol{display:flex;flex-direction:column;gap:8px}
.drow{grid-column:1/-1;display:flex;gap:8px;justify-content:center;flex-wrap:wrap;align-items:center}
.dsep{width:10px}
.dslot{width:64px;height:64px;border-radius:14px;background:var(--panel2);border:2px solid var(--frame);display:grid;place-items:center;cursor:pointer;padding:0;position:relative;color:var(--muted)}
.dslot img{width:50px;height:50px;object-fit:contain}
.dslot.filled{background:radial-gradient(circle,var(--panel3),var(--panel2))}
.dslot.on{border-color:var(--gold);box-shadow:0 0 0 2px var(--gold)}
.dslot.radiant{border-color:transparent;background:linear-gradient(var(--panel2),var(--panel2)) padding-box,conic-gradient(from var(--ang),#ffd84d,#ff8a4d,#ff5fbf,#8a7dff,#4fd8ff,#7dff8a,#ffd84d) border-box;animation:spin 3.2s linear infinite}
.dlabel{font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.4px;text-align:center;opacity:.75}
.dcenter{display:flex;flex-direction:column;align-items:center;gap:4px;text-align:center}
.medal.big{width:120px;height:120px;border-radius:50%;background:radial-gradient(circle at 38% 30%,color-mix(in srgb,var(--cc) 55%,#fff),var(--cc) 62%,color-mix(in srgb,var(--cc) 70%,#000));border:4px solid var(--gold2);display:grid;place-items:center;box-shadow:0 8px 16px rgba(0,0,0,.35);animation:bob 2.6s ease-in-out infinite}
.medal.big img{width:62%}
.dstats{display:grid;grid-template-columns:repeat(3,auto);gap:4px 10px;margin-top:6px;font-size:13px}
.dstats span{display:inline-flex;align-items:center}
@media (max-width:520px){.dslot{width:52px;height:52px}.dslot img{width:40px;height:40px}.dlabel{font-size:8.5px;letter-spacing:0}.medal.big{width:86px;height:86px}.doll{gap:8px}.dstats{grid-template-columns:repeat(2,auto)}} /* 1.0.12.8 : .dlabel plus petit, « CEINTURE » tient dans la case */

/* inventaire en grille */
.invbar input[type=text]{flex:1;min-width:140px}
.invlayout{display:grid;gap:12px}
.invsheet .invdetail{border:0;box-shadow:none;margin:-16px -16px 0}.invsheet .invdetail::after{display:none} /* 1.0.12.8 : fiche d'objet ou de ressource en fenêtre (téléphone) : un seul cadre */
@media (min-width:861px){.invlayout.withdetail{grid-template-columns:minmax(0,1fr) 380px}.invlayout.withdetail .invdetail{order:2;position:sticky;top:70px;align-self:start;max-height:calc(100vh - 90px);overflow:auto}}
.invgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(68px,1fr));gap:8px;align-content:start}
.itile{position:relative;aspect-ratio:1;border-radius:12px;background:var(--panel2);border:2px solid var(--frame);display:grid;place-items:center;cursor:pointer;padding:0}
.itile img{width:78%;height:78%;object-fit:contain}
.itile.on{border-color:var(--gold);box-shadow:0 0 0 2px var(--gold)}
.itile.radiant{border-color:transparent;background:linear-gradient(var(--panel2),var(--panel2)) padding-box,conic-gradient(from var(--ang),#ffd84d,#ff8a4d,#ff5fbf,#8a7dff,#4fd8ff,#7dff8a,#ffd84d) border-box;animation:spin 3.2s linear infinite}
.ilvl{position:absolute;left:4px;top:2px;font-size:10px;font-weight:900;color:var(--muted)}
.icount{position:absolute;right:3px;bottom:2px;font-size:11px;font-weight:900;background:var(--frame);color:#fff7e3;border-radius:6px;padding:0 4px}
:root[data-theme="dark"] .icount{background:var(--gold);color:#1a1510}
.ilock{position:absolute;right:3px;top:1px;font-size:11px}
.ieq{position:absolute;left:3px;bottom:3px;width:18px;height:18px;border-radius:50%;background:var(--cc,var(--action));border:1.5px solid var(--cc,var(--action));overflow:hidden;box-shadow:0 0 0 1px rgba(0,0,0,.25)}.ieq img{width:100%;height:100%;object-fit:cover;display:block;background:var(--panel,#fff)}

/* paliers de chasse */
.tierline{display:flex;align-items:center;gap:6px}
.tierline .bar{flex:1;height:6px;min-width:40px}
.tier{font-size:10.5px;font-weight:900;text-transform:uppercase;letter-spacing:.4px;padding:1px 6px;border-radius:6px;background:var(--panel3);color:var(--muted);white-space:nowrap}
.tier.t0{background:#8a7a5a;color:#fff}.tier.t1{background:#3f8f4f;color:#fff}.tier.t2{background:#2f7fd1;color:#fff}.tier.t3{background:var(--archi);color:#fff}
.dropico{display:inline-flex;flex-direction:column;align-items:center;font-weight:800;color:var(--muted)}
.famgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:8px}
.famrow{display:flex;align-items:center;gap:8px;justify-content:space-between;background:var(--panel2);border-radius:10px;padding:6px 10px;font-size:13px}
.famrow.done{box-shadow:inset 0 0 0 2px var(--action)}
.tierline{flex-wrap:wrap;row-gap:2px}
.tierline .bar{flex:1 1 50px}
.mons{grid-template-columns:repeat(auto-fill,minmax(220px,1fr))}

/* ===================== v2.6 — thème unique « Krosmoz doré » ===================== */
:root,:root[data-theme="dark"]{
  --glw:240,195,90; --kama:#f0c35a; --med-bg:#4a3a6e; --med-bg2:#241a38; --med-ring:#c9902e;
  --page:#0e0b14; --panel:#1b1526; --panel2:#251d34; --panel3:#30264a; --frame:#4a3a6e; --frame2:#2a2040; --gold:#f0c35a; --gold2:#ffe3a0;
  --ink:#efe8ff; --muted:#a99cc6; --title:#f3c95f; --tshadow:0 2px 0 rgba(0,0,0,.7);
  --action:#f0c35a; --action2:#c9962e; --action-ink:#1a1206; --danger:#ff6b7a; --good:#7ee06a;
  --shadow:0 2px 0 rgba(0,0,0,.6),0 10px 28px rgba(20,8,40,.65);
  --hp-bg:rgba(255,255,255,.08); --line:rgba(169,156,198,.16); --archi:#c77dff;
  color-scheme:dark;
}
body{background:radial-gradient(1200px 600px at 80% -10%,rgba(91,60,160,.35),transparent 60%),radial-gradient(900px 500px at -10% 110%,rgba(40,140,170,.18),transparent 60%),var(--page);background-attachment:fixed}
.status,:root[data-theme="dark"] .status{background:linear-gradient(180deg,#2a2040,#1a1428);border-color:rgba(var(--glw),.55)}
nav.main button[aria-current="page"],:root[data-theme="dark"] nav.main button[aria-current="page"],.subtabs button[aria-pressed="true"],.seg button[aria-pressed="true"],.tag,.icount{background:var(--gold);color:#120d1c;border-color:var(--gold)}
.scene .crumb,.arena .turn,.arena .idle div,.hero-banner .card{background:rgba(20,14,32,.86)!important;color:var(--ink)!important;border-color:var(--frame)!important}
.scene svg.bg,.arena svg.bg{filter:saturate(1.35) brightness(1.12) contrast(1.05)}
.scene::after,.arena::after{content:"";position:absolute;inset:0;pointer-events:none;z-index:1;background:linear-gradient(180deg,rgba(120,80,220,.18),transparent 55%,rgba(var(--glw),.10));mix-blend-mode:screen}
.plus{color:var(--good)}.pct{color:var(--good)}.bar.green i{background:linear-gradient(90deg,#9ff07a,#3fb35d)}
.k-up{color:var(--good)}.log .win{color:var(--good)}.hrow .w{color:var(--good)}
.tag.good{background:#3fb35d;color:#08130a}.tag.soft{background:var(--panel3);color:var(--ink)}.tag.warn{background:#ff9b4a;color:#1a0d00}
.bonus{color:#ffd76a}

/* survol & clic des boutons */
.btn,nav.main button,.subtabs button,.seg button,.itile,.dslot,.clsbtn,.chips button,.herotabs button,.hcard{transition:transform .15s ease,box-shadow .15s ease,filter .15s ease,border-color .15s}
@media (hover:hover){
  .btn:not([disabled]):hover,nav.main button:hover,.subtabs button:hover,.clsbtn:hover,.chips button:hover,.herotabs button:hover{transform:translateY(-2px);box-shadow:0 4px 0 rgba(0,0,0,.35),0 0 16px rgba(var(--glw),.28);filter:brightness(1.08)}
  .itile:hover,.dslot:hover{transform:translateY(-3px);box-shadow:0 8px 18px rgba(0,0,0,.45),0 0 14px rgba(var(--glw),.3)}
}
.btn:not([disabled]):active,nav.main button:active,.subtabs button:active,.itile:active,.dslot:active{transform:translateY(1px) scale(.97);filter:brightness(.95)}
.btn.primary{background:linear-gradient(180deg,var(--gold2),var(--gold));color:#1a1206;border-color:#b98a2a}

/* navigation : libellés courts sur mobile */
@media (max-width:859px){nav.main button{font-size:10px;padding:6px 0}nav.main button svg{width:19px;height:19px}}

/* ---------- carte de héros ---------- */
.hcard{--fr1:#5c3d22;--fr2:#8a6038;--glow:transparent;--el:#8a8a8a;position:relative;width:200px;border-radius:18px;padding:5px;flex:none;
  background:linear-gradient(145deg,var(--fr2),var(--fr1) 45%,var(--fr2));box-shadow:0 10px 26px rgba(0,0,0,.55),0 0 22px var(--glow);color:var(--ink);text-align:left;cursor:pointer;border:0}
@media (hover:hover){.hcard:hover{transform:translateY(-4px)}}
.hcard .in{border-radius:14px;overflow:hidden;background:var(--panel);position:relative}
.hcard .art{height:150px;position:relative;overflow:hidden;background:radial-gradient(circle at 50% 62%,color-mix(in srgb,var(--el) 60%,transparent),transparent 64%),linear-gradient(180deg,#2c2148,#171124)}
.hcard .art::before{content:"";position:absolute;inset:0;background-image:radial-gradient(1px 1px at 20% 30%,#fff9,transparent),radial-gradient(1px 1px at 70% 20%,#fffa,transparent),radial-gradient(1.5px 1.5px at 85% 60%,#fff8,transparent),radial-gradient(1px 1px at 35% 75%,#fff7,transparent),radial-gradient(1px 1px at 55% 45%,#fff9,transparent)}
.hcard .sym{position:absolute;left:50%;top:50%;width:92px;transform:translate(-50%,-56%);filter:drop-shadow(0 6px 14px rgba(0,0,0,.6)) drop-shadow(0 0 16px color-mix(in srgb,var(--el) 70%,transparent));animation:breathe 3.2s ease-in-out infinite}
.hcard .hd{position:absolute;left:50%;bottom:8px;transform:translateX(-50%);width:44px;height:44px;border-radius:50%;background:var(--cc);border:3px solid var(--fr2);display:grid;place-items:center;overflow:hidden;box-shadow:0 4px 10px rgba(0,0,0,.5)}
.hcard .hd img{width:82%}
@keyframes breathe{50%{transform:translate(-50%,-59%) scale(1.04)}}
.hcard .lv{position:absolute;top:7px;left:7px;background:rgba(14,11,20,.85);border:2px solid var(--fr2);border-radius:11px;padding:1px 8px;font-family:var(--font-title);font-size:15px;color:var(--gold2);z-index:2}
.hcard .elb{position:absolute;top:7px;right:7px;width:28px;height:28px;border-radius:50%;background:var(--el);display:grid;place-items:center;box-shadow:0 0 12px var(--el);border:2px solid #0008;z-index:2}
.hcard .elb img{width:18px}
.hcard .jobtag{position:absolute;left:7px;bottom:8px;z-index:2;font-size:10px;font-weight:900;background:#3fb35d;color:#08130a;border-radius:8px;padding:1px 6px}
.hcard .nm{padding:8px 10px 0;display:flex;flex-direction:column}
.hcard .nm b{font-family:var(--font-title);font-size:18px;color:var(--gold);line-height:1.05;text-shadow:0 2px 0 #000;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.hcard .ttl{font-size:11px;color:var(--gold2);font-style:italic;min-height:14px}
.hcard .cl{font-size:11.5px;color:var(--muted);font-weight:700;padding:0 10px}
.hcard .xpb{margin:6px 10px 2px;height:6px;border-radius:5px;background:#ffffff14;overflow:hidden}
.hcard .xpb i{display:block;height:100%;background:linear-gradient(90deg,var(--gold),var(--gold2))}
.hcard .st3{display:grid;grid-template-columns:repeat(3,1fr);gap:4px;padding:7px 8px 12px}
.hcard .st3 span{background:var(--panel2);border-radius:8px;padding:3px 2px;text-align:center;font-weight:900;font-size:12px;white-space:nowrap}
.hcard .st3 img{width:15px;height:15px;display:inline-block;vertical-align:-3px;margin-right:2px}
.hcard .tier{position:absolute;bottom:-10px;left:50%;transform:translateX(-50%);background:linear-gradient(90deg,var(--fr1),var(--fr2));color:#120d1c;font-weight:900;font-size:9.5px;letter-spacing:.08em;padding:2px 9px;border-radius:9px;border:1px solid #0006;white-space:nowrap;text-transform:uppercase;z-index:3}
.hcard.big{width:270px}.hcard.big .art{height:210px}.hcard.big .sym{width:130px}.hcard.big .hd{width:56px;height:56px}
.hcard.sm{width:150px}.hcard.sm .art{height:104px}.hcard.sm .sym{width:64px}.hcard.sm .hd{width:34px;height:34px}.hcard.sm .st3{display:none}.hcard.sm .nm b{font-size:15px}.hcard.sm .xpb{margin-bottom:12px}
/* cadres : un tous les 20 niveaux */
.hcard.f0{--fr1:#4e331c;--fr2:#8a6038}
.hcard.f1{--fr1:#5a5e66;--fr2:#a9adb5}
.hcard.f2{--fr1:#7a4a22;--fr2:#d08a4e}
.hcard.f3{--fr1:#7d8494;--fr2:#eef1f7}
.hcard.f4{--fr1:#a87a1e;--fr2:#ffe08a;--glow:rgba(var(--glw),.35)}
.hcard.f5{--fr1:#0f6b45;--fr2:#5ff0a8;--glow:rgba(80,240,160,.35)}
.hcard.f6{--fr1:#0f6b78;--fr2:#6ff0f0;--glow:rgba(100,230,240,.35)}
.hcard.f7{--fr1:#6e0f2e;--fr2:#ff5f8f;--glow:rgba(255,80,130,.4)}
.hcard.f8{--fr1:#8a4b0a;--fr2:#ffb347;--glow:rgba(255,170,60,.45)}
.hcard.f9{--fr1:#111;--fr2:#f5f1e6;--glow:rgba(255,255,255,.35);background:linear-gradient(135deg,#f5f1e6 0 25%,#111 25% 50%,#f5f1e6 50% 75%,#111 75%)}
.hcard.f10{--fr1:#3a1f6e;--fr2:#c77dff;--glow:rgba(199,125,255,.6);background:conic-gradient(from var(--ang),#c77dff,#4fd1e0,#f0c35a,#ff7ac8,#c77dff);animation:spin 5s linear infinite}
.hcard.f9 .tier{color:#111;background:#f5f1e6}.hcard.f10 .tier{background:linear-gradient(90deg,#c77dff,#4fd1e0);color:#0e0b14}
.hcard.radiant .art::after{content:"";position:absolute;inset:0;background-image:radial-gradient(2px 2px at 25% 70%,#ffe28a,transparent),radial-gradient(2px 2px at 75% 35%,#ffe28a,transparent),radial-gradient(1.5px 1.5px at 60% 80%,#fff,transparent),radial-gradient(2px 2px at 40% 25%,#ffd76a,transparent),radial-gradient(1.5px 1.5px at 15% 40%,#fff6b0,transparent);animation:spark 1.6s ease-in-out infinite alternate}
@keyframes spark{from{opacity:.3;transform:translateY(4px)}to{opacity:1;transform:translateY(-4px)}}
.hcard .rb{position:absolute;bottom:8px;right:7px;font-size:9.5px;font-weight:900;padding:1px 6px;border-radius:8px;color:#1a1206;background:linear-gradient(90deg,#ffe28a,#ffb347,#ff7ac8,#8fb4ff);z-index:2}
/* ornements */
.hcard .orn{position:absolute;pointer-events:none;z-index:4}
.hcard.o-ailes{margin:0 26px}
.hcard .orn.wing{top:14%;width:calc(56px * var(--ws,1));height:calc(88px * var(--ws,1));z-index:-1;filter:drop-shadow(0 0 8px var(--wglow));animation:flap 3s ease-in-out infinite}
.hcard .orn.wing.l{right:calc(100% - 14px);transform-origin:right 20%}
.hcard .orn.wing.r{left:calc(100% - 14px + 56px * var(--ws,1));transform-origin:left 20%;scale:-1 1}
@keyframes flap{50%{rotate:-6deg}}
.hcard .orn.wing.r{animation-name:flapR}@keyframes flapR{50%{rotate:6deg}}
.hcard.side-bonta{--wglow:rgba(120,180,255,.8)}.hcard.side-brakmar{--wglow:rgba(255,90,60,.8)}
.hcard .orn.badge{top:-16px;left:50%;transform:translateX(-50%);width:40px;filter:drop-shadow(0 3px 6px rgba(0,0,0,.6))}
.hcard .orn.crown{top:-22px;left:50%;transform:translateX(-50%);font-size:28px;filter:drop-shadow(0 0 8px #ffd84d)}
.hcard.o-epines{box-shadow:0 10px 26px rgba(0,0,0,.55),0 0 0 3px #2a0f3f,0 0 22px rgba(199,125,255,.9)}
.hcard.o-epines::before{content:"";position:absolute;inset:-9px;z-index:-1;border-radius:24px;background:repeating-conic-gradient(from 0deg,#8a3fd1 0 4deg,transparent 4deg 12deg);-webkit-mask:radial-gradient(farthest-side,transparent calc(100% - 10px),#000 calc(100% - 9px));mask:radial-gradient(farthest-side,transparent calc(100% - 10px),#000 calc(100% - 9px))}
.hcard .orn.laurel{bottom:-6px;font-size:26px}.hcard .orn.laurel.l{left:-12px;transform:rotate(-30deg)}.hcard .orn.laurel.r{right:-12px;transform:scaleX(-1) rotate(-30deg)}
.hcard.o-flammes{animation:flick 1.2s ease-in-out infinite alternate}
@keyframes flick{from{box-shadow:0 10px 26px rgba(0,0,0,.55),0 -4px 18px rgba(255,140,40,.7),0 0 26px rgba(255,90,30,.5)}to{box-shadow:0 10px 26px rgba(0,0,0,.55),0 -10px 28px rgba(255,190,60,.9),0 0 36px rgba(255,90,30,.75)}}
.hcard.o-solitaire::before{content:"";position:absolute;inset:-8px;z-index:-1;border-radius:26px;background:conic-gradient(from var(--ang),transparent,#ffe08a,transparent 30%,transparent 50%,#ffe08a,transparent 80%);animation:spin 4s linear infinite;filter:blur(2px)}

/* jauge Esprit Libre */
.fsg{display:flex;align-items:center;gap:10px}
.fsg .flame{position:relative;width:calc(26px + var(--p) * 0.22px);height:calc(26px + var(--p) * 0.22px);flex:none}
.fsg .flame i{position:absolute;inset:0;border-radius:50% 50% 50% 50%/60% 60% 40% 40%;background:radial-gradient(circle at 50% 70%,#fff 0 12%,#8fe8ff 30%,#4f8fe0 60%,transparent 72%);filter:drop-shadow(0 0 calc(4px + var(--p) * .12px) #6fd0ff);animation:flame 1.3s ease-in-out infinite alternate}
.fsg.solo .flame i{background:radial-gradient(circle at 50% 70%,#fff 0 12%,#ffe08a 32%,#f0a53a 60%,transparent 72%);filter:drop-shadow(0 0 14px #ffd84d)}
.fsg.zero .flame i{background:radial-gradient(circle,#777 0 30%,transparent 60%);filter:none;animation:none}
@keyframes flame{from{transform:scale(.94) translateY(1px)}to{transform:scale(1.06,1.12) translateY(-2px)}}
.fsg .txt b{font-family:var(--font-title);font-size:18px;color:#8fe8ff}.fsg.solo .txt b{color:var(--gold2)}
.fsg .pips5{display:flex;gap:3px;margin-top:3px}.fsg .pips5 i{width:14px;height:5px;border-radius:3px;background:#6fd0ff}.fsg .pips5 i.off{background:var(--panel3)}
.xppen{font-size:10.5px;font-weight:900;color:#1a0d00;background:#ff9b4a;border-radius:7px;padding:1px 6px;animation:pulseo 2s ease-in-out infinite;white-space:nowrap} /* 1.0.12.8 : « XP −70 % » d'un seul tenant */
@keyframes pulseo{50%{box-shadow:0 0 10px #ff9b4a}}

/* effets élémentaires en combat */
.fxb{position:absolute;left:50%;top:44%;width:0;height:0;pointer-events:none;z-index:4}
.fxb i{position:absolute;left:0;top:0;width:10px;height:10px;border-radius:50%;opacity:0;animation:burst .75s ease-out forwards}
.fxb.f i{background:radial-gradient(circle,#fff6b0,#ff8a2a 55%,#e0382b);box-shadow:0 0 10px #ff6a2a;border-radius:50% 50% 50% 50%/65% 65% 35% 35%}
.fxb.e i{background:radial-gradient(circle,#e6f8ff,#5fbfff 60%,#2f6fd6);box-shadow:0 0 8px #5fbfff}
.fxb.t i{background:linear-gradient(135deg,#d9b07a,#7a4a1f);border-radius:2px;box-shadow:0 0 4px #000}
.fxb.a i{background:radial-gradient(circle,#efffe6,#7ee08a 60%,#2fa35d);box-shadow:0 0 8px #7ee08a;border-radius:50% 0}
.fxb.n i{background:radial-gradient(circle,#fff,#bbb 60%,#777)}
.fxb.h i{background:radial-gradient(circle,#fff,#9ff07a 60%,#3fb35d);box-shadow:0 0 10px #7ee06a}
@keyframes burst{0%{opacity:1;transform:translate(-50%,-50%) scale(.4)}100%{opacity:0;transform:translate(calc(-50% + var(--dx)),calc(-50% + var(--dy))) scale(1.2) rotate(var(--rot))}}
.ent .ring{position:absolute;left:50%;top:45%;width:20px;height:20px;border-radius:50%;transform:translate(-50%,-50%);border:3px solid var(--c);pointer-events:none;animation:ring .5s ease-out forwards;z-index:3}
@keyframes ring{to{width:90px;height:90px;opacity:0;border-width:1px}}
.arena.shake{animation:shake .3s ease-out}
@keyframes shake{25%{transform:translate(-3px,1px)}50%{transform:translate(3px,-1px)}75%{transform:translate(-2px,0)}}
.reduced .fxb,.reduced .ent .ring{display:none}.reduced .arena.shake{animation:none}

/* combat manuel */
.mantoggle .seg button{font-size:12px}
.awaitbar{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin:10px 14px 0;padding:8px 12px;border-radius:12px;background:linear-gradient(90deg,rgba(var(--glw),.22),rgba(var(--glw),.06));border:2px solid var(--gold);font-weight:800;font-size:13px}
.awaitbar .cnt{margin-left:auto;font-variant-numeric:tabular-nums;color:var(--gold2)}
.sp.can{cursor:pointer}.sp.can:hover{transform:translateY(-3px);box-shadow:0 0 0 2px var(--gold2),0 0 14px var(--c)}
.sp.no{opacity:.4;filter:grayscale(.6)}
.sp.sel{transform:translateY(-4px) scale(1.06);box-shadow:0 0 0 3px var(--gold2),0 0 18px var(--c)}
.ent.targetable{cursor:crosshair}.ent.targetable::after{content:"";position:absolute;inset:14px 8px 0;border-radius:50%;box-shadow:0 0 0 2px var(--gold2),0 0 18px rgba(255,220,120,.7);animation:pulseo 1.2s ease-in-out infinite;pointer-events:none}
.ent.turnnow .who{color:var(--gold2)}

/* équipement : emplacement à améliorer */
.dslot.up{border-color:#3fb35d;box-shadow:0 0 0 2px rgba(63,179,93,.6),0 0 16px rgba(126,224,106,.55);animation:upglow 1.8s ease-in-out infinite}
.dslot.up::after{content:"▲";position:absolute;right:-5px;top:-8px;font-size:12px;color:#7ee06a;text-shadow:0 0 6px #3fb35d}
@keyframes upglow{50%{box-shadow:0 0 0 2px rgba(63,179,93,.9),0 0 24px rgba(126,224,106,.8)}}
.dslot.hl{border-color:var(--gold);box-shadow:0 0 0 3px var(--gold),0 0 18px rgba(var(--glw),.6)}

/* panoplies */
.setbox{background:var(--panel2);border-radius:10px;padding:6px 8px;margin-top:6px;font-size:12px}
.setbox .st{display:flex;gap:6px;align-items:baseline;opacity:.55}.setbox .st.on{opacity:1;color:var(--good)}
.setbox .st b{min-width:54px}
.setbox .st.off{opacity:.45;font-style:italic} /* 1.0.12.8 : paliers impossibles (pièces absentes du jeu) */

/* métiers */
.joblogo{width:44px;height:44px;border-radius:10px;object-fit:cover;border:2px solid var(--gold);flex:none}
.joblogo.sm{width:28px;height:28px;border-radius:7px;border-width:1px}
.lvlpill{font-family:var(--font-title);font-size:16px;color:var(--gold2)}

/* quêtes, succès, havre-sac */
.qcard{display:flex;gap:12px;align-items:center;background:var(--panel2);border-radius:14px;padding:10px 12px;border:2px solid transparent}
.qcard.cur{border-color:var(--gold);box-shadow:0 0 16px rgba(var(--glw),.25)}
.qcard.done{opacity:.6}
.qcard.shoptot{border:2px dashed var(--line,rgba(255,255,255,.14));background:transparent}.qcard.shoptot .qnum{font-weight:800;font-size:16px}
@media (max-width:600px){.qcard .shopgo-l{display:none}}
.qnum{width:30px;height:30px;border-radius:50%;display:grid;place-items:center;background:var(--panel3);font-weight:900;flex:none}
.qcard.done .qnum{background:#3fb35d;color:#08130a}.qcard.cur .qnum{background:var(--gold);color:#1a1206}
.bgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:12px}
.bounty{background:linear-gradient(180deg,#3a2a18,#2a1d10);border:3px solid #8a6038;border-radius:12px;padding:10px;display:flex;flex-direction:column;gap:6px;align-items:center;text-align:center;color:#f5e6c8;box-shadow:var(--shadow)}
.bounty .wanted{font-family:var(--font-title);font-size:18px;color:#ffd27a;letter-spacing:1px}
.bounty img{width:84px;height:84px;object-fit:contain;filter:sepia(.35) drop-shadow(0 4px 4px rgba(0,0,0,.5))}
.bounty .bar{width:100%}
.achgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:8px}
.ach{display:flex;gap:8px;align-items:center;background:var(--panel2);border-radius:10px;padding:7px 9px;font-size:12.5px;opacity:.55}
.ach.ok{opacity:1;box-shadow:inset 0 0 0 2px rgba(var(--glw),.6)}
.ach .ic{font-size:20px;flex:none;width:26px;text-align:center}
.hvgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:10px}
.hv{display:flex;flex-direction:column;gap:6px;background:var(--panel2);border-radius:14px;padding:10px 12px;border:2px solid transparent}
.hv .top{display:flex;gap:10px;align-items:center}.hv .em{font-size:28px}
.pipsbar{display:flex;gap:2px;flex-wrap:wrap}.pipsbar i{width:8px;height:8px;border-radius:2px;background:var(--panel3)}.pipsbar i.on{background:var(--gold)}
.alignpick{display:grid;grid-template-columns:1fr 1fr;gap:12px}
@media (max-width:600px){.alignpick{grid-template-columns:1fr}}
.alignside{border-radius:16px;padding:12px;border:3px solid var(--c);background:linear-gradient(180deg,color-mix(in srgb,var(--c) 22%,var(--panel)),var(--panel));display:flex;flex-direction:column;gap:8px}
.alignside img.badge{width:64px;height:64px;object-fit:contain;align-self:center;filter:drop-shadow(0 4px 8px rgba(0,0,0,.5))}
.almanax{display:flex;gap:14px;align-items:center;flex-wrap:wrap}
.almanax .cal{width:84px;height:94px;border-radius:12px;background:linear-gradient(180deg,#f0c35a,#c9962e);color:#1a1206;display:flex;flex-direction:column;align-items:center;justify-content:center;font-weight:900;box-shadow:var(--shadow);flex:none}
.almanax .cal b{font-family:var(--font-title);font-size:34px;line-height:1}
nav.main button{position:relative}
.navdot{position:absolute;top:4px;right:8px;width:9px;height:9px;border-radius:50%;background:#ff6b7a;box-shadow:0 0 8px #ff6b7a}
.ent.hero .medal{box-shadow:0 6px 10px rgba(0,0,0,.35),0 0 18px var(--el),0 0 6px var(--el)}
.ent.hero.radiant .medal{border-color:transparent;background:radial-gradient(circle at 38% 30%,color-mix(in srgb,var(--cc) 55%,#fff),var(--cc) 62%,color-mix(in srgb,var(--cc) 70%,#000)) padding-box,conic-gradient(from var(--ang),#ffd84d,#ff8a4d,#ff5fbf,#8a7dff,#4fd8ff,#7dff8a,#ffd84d) border-box;animation:spin 3s linear infinite,bob 2.4s ease-in-out infinite}
.hcard{isolation:isolate}
.hcard.o-ailes{margin:0 34px}
.hcard.big .orn.wing{width:calc(84px * var(--ws,1));height:calc(132px * var(--ws,1))}
.hcard.big .orn.wing.r{left:calc(100% - 14px + 84px * var(--ws,1))}
.hcard.big.o-ailes{margin:0 50px}

/* ===================== v2.7 ===================== */
.consbar{display:flex;flex-wrap:wrap;gap:6px;align-items:center}
.cbtn{position:relative;display:inline-flex;align-items:center;gap:4px;background:var(--panel2);border:2px solid var(--frame);border-radius:12px;padding:4px 9px;cursor:pointer;color:var(--ink);font-weight:800}
.cbtn .ci{font-size:18px}.cbtn.auto{cursor:help;opacity:.85}.cbtn i{font-size:9px;font-style:normal;color:var(--muted);text-transform:uppercase}
@media (hover:hover){.cbtn:not(.auto):hover{transform:translateY(-2px);border-color:var(--gold);box-shadow:0 0 12px rgba(var(--glw),.35)}}
.cact{display:inline-flex;align-items:center;gap:4px;background:linear-gradient(90deg,rgba(63,179,93,.3),rgba(63,179,93,.1));border:1px solid #3fb35d;border-radius:999px;padding:3px 9px;font-size:12px;font-weight:800}
.jobpick{border:2px solid transparent;background:var(--panel2);border-radius:10px;padding:3px;cursor:pointer}.jobpick.on{border-color:var(--gold);box-shadow:0 0 10px rgba(var(--glw),.4)}
.respick{display:grid;grid-template-columns:repeat(auto-fill,minmax(100px,1fr));gap:6px}
.respick button{display:flex;flex-direction:column;align-items:center;gap:2px;background:var(--panel2);border:2px solid transparent;border-radius:10px;padding:6px 4px;cursor:pointer;color:var(--ink);text-align:center}
.respick button.on{border-color:var(--gold)}.respick button[disabled]{opacity:.45;cursor:not-allowed}.respick i{font-style:normal;color:var(--muted)}
.toolbox{background:var(--panel2);border-radius:10px;padding:8px 10px}
.catchips{display:flex;gap:6px;flex-wrap:wrap}
.catchips button{border:2px solid var(--frame);background:var(--panel2);border-radius:999px;padding:4px 10px;font-weight:800;font-size:12.5px;cursor:pointer;color:var(--ink)}
.catchips button b{color:var(--muted);font-size:11px}.catchips button[aria-pressed="true"]{background:var(--gold);color:#120d1c;border-color:var(--gold)}.catchips button[aria-pressed="true"] b{color:#120d1c}
.rtile.rare{box-shadow:inset 0 0 0 2px #5fbfff,0 0 10px rgba(95,191,255,.35)}.rtile.epique{box-shadow:inset 0 0 0 2px #c77dff,0 0 12px rgba(199,125,255,.45)}
.rtile.picked{outline:3px solid #3fb35d;outline-offset:-3px}
.inew{position:absolute;left:4px;top:1px;color:#7ee06a;font-size:12px;text-shadow:0 0 6px #7ee06a}
.selrow{box-shadow:inset 0 0 0 2px var(--gold)}
.hcard.wing-or .orn.wing{filter:sepia(1) saturate(4) hue-rotate(-12deg) brightness(1.15) drop-shadow(0 0 8px rgba(255,200,80,.9))}
.hcard.wing-argent .orn.wing{filter:grayscale(1) brightness(1.35) drop-shadow(0 0 8px rgba(230,235,255,.9))}
.hcard.wing-sombre .orn.wing{filter:grayscale(.6) brightness(.45) contrast(1.4) drop-shadow(0 0 8px rgba(150,60,220,.8))}
.hcard .orn.seal{top:-12px;right:-10px;font-size:26px;filter:drop-shadow(0 2px 6px rgba(0,0,0,.6))}
.hcard.o-heros{box-shadow:0 10px 26px rgba(0,0,0,.55),0 0 0 3px #c9962e,0 0 24px rgba(255,215,100,.7)}
.hcard.o-avis{box-shadow:0 10px 26px rgba(0,0,0,.55),0 0 0 4px #8a6038,0 0 0 7px #3a2a18}
.hcard.o-almanax{box-shadow:0 10px 26px rgba(0,0,0,.55),0 0 22px rgba(120,200,255,.7)}
.hcard.o-cadreDefi{box-shadow:0 10px 26px rgba(0,0,0,.55),0 0 0 3px #b9e769,0 0 0 6px #2a3f14,0 0 20px rgba(185,231,105,.6)}
.hcard.o-couronneDefi{box-shadow:0 10px 26px rgba(0,0,0,.55),0 0 0 3px #e8c050,0 0 0 6px #c9d2db,0 0 26px rgba(232,192,80,.8)}
.hcard.o-pionnier{box-shadow:0 10px 26px rgba(0,0,0,.55),0 0 0 3px #9bd84a,0 0 0 6px #1f3a12,0 0 26px rgba(155,216,74,.75)}
.hcard .orn.sprout{filter:drop-shadow(0 0 8px #9bd84a);animation:sprout 2.4s ease-in-out infinite}@keyframes sprout{50%{transform:translateX(-50%) translateY(-3px) rotate(-6deg)}}

/* ===== v3 « Builds et contenu » ===== */
.azchip{display:inline-flex;align-items:center;gap:5px;font-size:12px;font-weight:700;padding:4px 9px;border-radius:999px;background:var(--panel2,rgba(127,127,127,.12));cursor:pointer}
.chalbar{display:flex;flex-wrap:wrap;align-items:center;gap:6px;padding:8px 14px 0;font-size:12px;min-height:8px}
.chalbar:empty{display:none}
.chal{display:inline-flex;align-items:center;gap:4px;padding:3px 8px;border-radius:999px;background:rgba(127,127,127,.12);font-weight:600}
.chal b{color:var(--gold2)}
.chal.ok{background:color-mix(in srgb,var(--good) 18%,transparent);color:var(--good)}
.chal.ko{opacity:.55;text-decoration:line-through}
.chal.ko b{color:inherit}
.mech{display:inline-flex;align-items:center;gap:4px;padding:3px 8px;border-radius:999px;background:color-mix(in srgb,#e0533d 18%,transparent);color:#e0533d;font-weight:700}
.chaltog{display:inline-flex;align-items:center;gap:4px;font-weight:700;cursor:pointer;white-space:nowrap}
.chalpickbtn{margin-left:6px}
.chalpick{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:6px;margin:8px 0 12px}
.chpk{display:flex;align-items:flex-start;gap:8px;padding:7px 9px;border-radius:10px;border:1px solid var(--line);background:var(--panel2,rgba(0,0,0,.08));cursor:pointer}
.chpk input{margin-top:9px;flex:none}.chpk .ic{width:28px;height:28px;border-radius:8px;display:grid;place-items:center;background:linear-gradient(135deg,#f3c95f,#c9962e);color:#1a1206;flex:none}
.chpk .tx{display:flex;flex-direction:column;gap:2px;min-width:0}.chpk .tx .tag{align-self:flex-start}
.chpk:has(input:not(:checked)){opacity:.55}
.chx.off{opacity:.6;border-style:dashed}
.ent.summon .sprite{transform:scale(.8);filter:drop-shadow(0 0 6px color-mix(in srgb,var(--gold2) 60%,transparent))}
.ent.summon .medal{display:grid;place-items:center;width:40px;height:40px;border-radius:50%;background:var(--gold2);color:#fff}
@media (max-width:640px){
  .chalbar{padding:6px 10px 0;font-size:11px}
}
.arena .ent.summon{width:auto;min-width:0}
.arena .ent.summon .sprite{max-height:46px}
@media (max-width:640px){ /* 1.0.12.8 : vue Scène seulement ; en vue Compacte, l'invocation garde son nom */
  .arena:not(.cmpmode) .ent.summon .who{display:none}
  .arena:not(.cmpmode) .ent.summon .sprite{max-height:34px}
  .arena:not(.cmpmode) .ent.summon .hpb{width:34px}
}
/* bandeau de mise à jour (3.0.2) */
#updbar:empty{display:none}
.updbar{display:flex;gap:12px;align-items:flex-start;margin:10px 0 8px;padding:12px 14px;border-radius:16px;background:linear-gradient(135deg,rgba(var(--glw),.16),rgba(155,77,255,.14));border:1.5px solid rgba(var(--glw),.45);box-shadow:var(--shadow);font-size:13.5px}
.updbar ul{margin:6px 0 0;padding-left:18px;line-height:1.45}
.updbar .col{display:flex;flex-direction:column;gap:6px;flex:none}
.updbar.new{align-items:center;border-color:rgba(126,224,106,.55);background:rgba(126,224,106,.1)}
.updbar.new span{flex:1}
.updbar.ev{align-items:center;border-color:rgba(242,196,75,.65);background:linear-gradient(135deg,rgba(242,196,75,.18),rgba(var(--glw),.10))}
.updbar.ev span{flex:1}
@media (max-width:640px){.updbar{flex-direction:column}.updbar .col{flex-direction:row}.updbar.new{flex-direction:row;flex-wrap:wrap}.updbar.new span{flex:1 1 100%}}
/* application installée (3.0.3) : respect des encoches */
@media (display-mode: standalone){
  .app{padding-top:env(safe-area-inset-top);padding-left:max(env(safe-area-inset-left),0px);padding-right:max(env(safe-area-inset-right),0px)}
  .status{top:env(safe-area-inset-top)}
  body{overscroll-behavior-y:none}
}
a.btn{text-decoration:none}
.scrollbar{height:4px;border-radius:3px;background:rgba(255,255,255,.08);overflow:hidden;margin:4px 0 2px;max-width:160px}
.scrollbar i{display:block;height:100%;background:linear-gradient(90deg,#f3c95f,#c9962e)}
.ent .pas{font-size:9.5px;font-weight:800;color:#ffe3a0;white-space:nowrap;text-align:center;line-height:1.1;min-height:11px}
.ent .pas:empty{min-height:0}
.ent .pas .pg{display:inline-flex;gap:1px;vertical-align:middle}
.ent .pas .pg i{width:5px;height:6px;border-radius:1px;background:rgba(255,255,255,.2)}
.ent .pas .pg i.on{background:#f0c35a}
/* ===== 3.1 Donjons & challenges ===== */
.dggrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:10px}
.dgcard{position:relative;display:flex;gap:10px;align-items:center;padding:10px;border-radius:14px;background:var(--panel2);border:1.5px solid var(--line);cursor:pointer;transition:transform .12s,border-color .12s}
.dgcard:hover{border-color:var(--gold);transform:translateY(-1px)}
.dgcard.locked{opacity:.55}
.dgcard .dgboss,.dghead .dgboss{width:64px;height:64px;object-fit:contain;flex:none;filter:drop-shadow(0 3px 4px rgba(0,0,0,.4))}
.dghead{display:flex;gap:12px;align-items:center}.dghead .dgboss.lg{width:92px;height:92px}
.dgtxt{display:flex;flex-direction:column;min-width:0}
.dgcard .fav{position:absolute;top:6px;right:8px;font-size:16px;color:var(--muted);cursor:pointer}.dgcard .fav.on{color:var(--gold2)}
.stars{font-weight:900;letter-spacing:1px;color:var(--good)}.stars b{color:rgba(255,255,255,.18)}.stars b.on{color:var(--gold2)}
.pill{display:inline-flex;align-items:center;gap:4px;font-size:11px;font-weight:800;padding:2px 8px;border-radius:999px;background:rgba(255,255,255,.08)}
.pill.key.ok{background:rgba(126,224,106,.16);color:#9ff07a}.pill.key.craft{background:rgba(var(--glw),.16);color:var(--gold2)}.pill.key.no{color:var(--muted)}
.pill.diff.easy{background:rgba(126,224,106,.16);color:#9ff07a}.pill.diff.mid{background:rgba(var(--glw),.16);color:var(--gold2)}.pill.diff.risk{background:rgba(255,107,122,.16);color:#ff8a8a}
.pill.good{background:rgba(126,224,106,.16);color:#9ff07a}
.stasisrow{display:grid;grid-template-columns:repeat(15,1fr);gap:4px;margin-top:6px}
.sbtn.hi{border-color:rgba(190,140,255,.55);background:linear-gradient(180deg,rgba(150,100,230,.18),var(--panel2))}.sbtn.hi.on{background:var(--gold)}
.sbtn{border:1.5px solid var(--line);background:var(--panel2);color:var(--ink);border-radius:9px;padding:6px 0;font-weight:900;cursor:pointer}
.chainbox{margin:8px 0;display:grid;gap:4px}.chainrow{display:flex;gap:4px;flex-wrap:wrap;align-items:center}.chainrow .sbtn{min-width:44px;padding:6px 8px}.chainrow .sbtn.wide{min-width:auto}.chainstep{display:inline-flex;gap:4px;align-items:center;margin-left:4px}.chainstep .num{min-width:28px;text-align:center}
.climbrow .sbtn{min-width:36px}.climbrow > span{margin-right:2px}.climbtxt{padding:6px 10px;border-radius:10px;background:rgba(var(--glw),.10);border:1px solid rgba(var(--glw),.35);line-height:1.4}
.sbtn.done{border-color:rgba(126,224,106,.5)}.sbtn.on{background:var(--gold);color:#1a1206;border-color:var(--gold)}.sbtn:disabled{opacity:.35;cursor:not-allowed}
.dglist{margin:4px 0 0;padding-left:18px;line-height:1.5}.dglist.steps li.cur{color:var(--gold2);font-weight:800}
.lootico{width:34px;height:34px;border-radius:8px;background:var(--panel3);display:grid;place-items:center;filter:grayscale(1) brightness(.75)}.lootico.own{filter:none}.lootico img{width:28px;height:28px;object-fit:contain}
.arenawrap{position:relative}
.chalov{position:absolute;left:50%;top:10px;transform:translateX(-50%);display:flex;gap:8px;z-index:6;pointer-events:auto;max-width:96%}
.chalov:empty{display:none}
.arena.haschal .turn{top:74px}
.chx{display:flex;align-items:center;gap:8px;padding:6px 10px 6px 6px;border-radius:12px;background:rgba(20,14,32,.93);border:2px solid var(--gold);box-shadow:0 5px 14px rgba(0,0,0,.5);min-width:0;max-width:300px;transition:background .3s,border-color .3s}
.chx .ic{width:32px;height:32px;border-radius:9px;display:grid;place-items:center;font-size:17px;background:linear-gradient(135deg,#f3c95f,#c9962e);flex:none;color:#1a1206;font-weight:900}
.chx .tx{min-width:0}.chx .t{font-weight:900;font-size:13px;white-space:nowrap}.chx .d{font-size:10.5px;color:#c9bde6;line-height:1.2;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}
.chx .bon{margin-left:auto;font-weight:900;color:#ffe3a0;font-size:13px;white-space:nowrap;padding-left:6px}
.chx .prog{height:4px;border-radius:3px;background:rgba(255,255,255,.12);margin-top:4px;overflow:hidden;width:110px}.chx .prog i{display:block;height:100%;background:var(--gold)}
.chx.ok{border-color:#7ee06a;background:rgba(18,40,22,.95);animation:chalpop .5s ease-out}.chx.ok .ic{background:linear-gradient(135deg,#9ff07a,#3fb35d)}.chx.ok .bon{color:#9ff07a}
.chx.ko{border-color:#ff6b7a;background:rgba(40,14,20,.92);animation:chalshake .4s}.chx.ko .ic{background:linear-gradient(135deg,#ff8a8a,#c0392b);color:#fff}.chx.ko .t,.chx.ko .bon{text-decoration:line-through}.chx.ko .bon{color:#ff8a8a}
@keyframes chalpop{0%{transform:scale(1)}40%{transform:scale(1.08)}100%{transform:scale(1)}}
@keyframes chalshake{0%,100%{transform:translateX(0)}25%{transform:translateX(-4px)}75%{transform:translateX(4px)}}
.chalres{border-radius:12px;padding:10px;background:linear-gradient(135deg,rgba(126,224,106,.12),rgba(var(--glw),.08));border:1.5px solid rgba(126,224,106,.45);font-size:13px}
.chalres .h{font-weight:900;margin-bottom:4px}.chalres .r{display:flex;justify-content:space-between;font-weight:700;margin:2px 0}.chalres .r.ko{color:#ff8a8a;text-decoration:line-through}.chalres .r.tot{border-top:1px solid rgba(255,255,255,.15);margin-top:6px;padding-top:6px;color:#9ff07a;font-weight:900}
.status .flame{background:linear-gradient(90deg,rgba(255,120,40,.25),rgba(var(--glw),.2));border:1.5px solid #ff9a3c;border-radius:999px;padding:1px 10px;color:#ffd08a}
@media (max-width:640px){.chalov{top:6px;gap:4px}.chx{max-width:48vw;padding:4px 6px 4px 4px}.chx .ic{width:26px;height:26px;font-size:14px}.chx .t{font-size:11.5px}.chx .d{display:none}.chx .prog{width:70px}.arena.haschal .turn{top:52px}.stasisrow{grid-template-columns:repeat(5,1fr)}}
/* ===== 3.1 Héros en pied ===== */
.arena .ent.hero .lookwrap{height:128px;width:104px;display:flex;align-items:flex-end;justify-content:center;margin-top:-4px}
.arena .ent.hero .look{height:150px;width:150px;object-fit:contain;object-position:bottom;margin-bottom:-14px;filter:drop-shadow(0 6px 6px rgba(0,0,0,.35));pointer-events:none}
.arena .ent.hero.dead .look{filter:grayscale(1) brightness(.6);opacity:.6}
.arena .ent.hero.act .look{animation:lunge .45s ease-out}
.lookprev{display:flex;justify-content:center;background:radial-gradient(circle at 50% 70%,rgba(var(--glw),.18),transparent 60%);border-radius:16px}
.lookprev .lookbig{width:220px;height:220px;object-fit:contain}
.headpick{display:grid;grid-template-columns:repeat(8,1fr);gap:4px;margin-top:4px}
.headpick button{border:2px solid var(--line);border-radius:10px;background:var(--panel2);padding:0;overflow:hidden;cursor:pointer;aspect-ratio:1}
.headpick button.on{border-color:var(--gold)}
.headpick img{width:180%;height:180%;object-fit:cover;object-position:50% 0;margin-left:-40%}
.palpick{display:flex;flex-wrap:wrap;gap:6px;margin-top:4px}
.palpick button{display:flex;align-items:center;gap:6px;border:2px solid var(--line);border-radius:999px;background:var(--panel2);color:var(--ink);padding:4px 10px 4px 6px;font-weight:700;cursor:pointer}
.palpick button.on{border-color:var(--gold)}
.palpick .sw{display:flex}.palpick .sw i{width:10px;height:14px}.palpick .sw i:first-child{border-radius:4px 0 0 4px}.palpick .sw i:last-child{border-radius:0 4px 4px 0}
@media (max-width:640px){.arena .ent.hero .lookwrap{height:92px;width:70px}.arena .ent.hero .look{height:108px;width:108px;margin-bottom:-10px}.headpick{grid-template-columns:repeat(4,1fr)}}

/* ===================== 3.1.2 — thème « Émeraude » (couleurs du logo DOFUS 3) ===================== */
:root[data-theme="emerald"]{
  --bg1:rgba(110,170,60,.22); --bg2:rgba(60,140,90,.16);
  --glw:179,224,92; --kama:#e7c46a; --med-bg:#3c4d2e; --med-bg2:#172012; --med-ring:#dcbb74;
  --page:#0d100b; --panel:#161b12; --panel2:#1e2518; --panel3:#273120; --frame:#3e5232; --frame2:#1d2617; --gold:#b3e05c; --gold2:#e2f5ae;
  --ink:#efe9df; --muted:#a8ae98; --title:#f2ede4; --tshadow:0 0 12px rgba(179,224,92,.4),0 2px 0 rgba(0,0,0,.75);
  --action:#b3e05c; --action2:#6fa83a; --action-ink:#13200a; --danger:#ff6b6b; --good:#8fe36a;
  --shadow:0 2px 0 rgba(0,0,0,.6),0 10px 28px rgba(0,0,0,.6);
  --hp-bg:rgba(255,255,255,.08); --line:rgba(168,174,152,.16); --archi:#c77dff;
  color-scheme:dark;
}
:root[data-theme="emerald"] body{background:radial-gradient(1200px 600px at 80% -10%,rgba(110,170,60,.22),transparent 60%),radial-gradient(900px 500px at -10% 110%,rgba(60,140,90,.16),transparent 60%),var(--page);background-attachment:fixed}
:root[data-theme="emerald"] .status{background:linear-gradient(180deg,#252c1e,#151a11);border-color:rgba(179,224,92,.5)}
:root[data-theme="emerald"] nav.main button[aria-current="page"],:root[data-theme="emerald"] .subtabs button[aria-pressed="true"],:root[data-theme="emerald"] .seg button[aria-pressed="true"],:root[data-theme="emerald"] .catchips button[aria-pressed="true"]{background:linear-gradient(180deg,#d6f27e,#8cc63f);color:#13200a;border-color:#8cc63f}
:root[data-theme="emerald"] .tag,:root[data-theme="emerald"] .icount{color:#13200a}
:root[data-theme="emerald"] .btn.primary{background:linear-gradient(180deg,#d6f27e,#93cc45);color:#13200a;border-color:#6fa83a}
:root[data-theme="emerald"] .scene .crumb,:root[data-theme="emerald"] .arena .turn,:root[data-theme="emerald"] .arena .idle div,:root[data-theme="emerald"] .hero-banner .card{background:rgba(14,18,10,.88)!important}
:root[data-theme="emerald"] .scene::after,:root[data-theme="emerald"] .arena::after{background:linear-gradient(180deg,rgba(120,200,90,.10),transparent 55%,rgba(220,187,116,.08))}
:root[data-theme="emerald"] h1,:root[data-theme="emerald"] h2,:root[data-theme="emerald"] .brand{text-shadow:var(--tshadow)}
:root[data-theme="emerald"] .panel{border-color:var(--frame)}
:root[data-theme="emerald"] .status .brand{color:#f4efe6}
:root[data-theme="emerald"] .updbar{background:linear-gradient(135deg,rgba(179,224,92,.14),rgba(220,187,116,.10))}
:root[data-theme="emerald"] .hcard .art{background:radial-gradient(circle at 50% 62%,color-mix(in srgb,var(--el) 60%,transparent),transparent 64%),linear-gradient(180deg,#25301d,#11160d)}
:root[data-theme="emerald"] .chx .d{color:#c9cdb8}
/* ===== 3.1.2 icônes : objets officiels, glyphes, médaillons ===== */
.uico{width:1.25em;height:1.25em;object-fit:contain;vertical-align:-.3em;display:inline-block;flex:none;filter:drop-shadow(0 1px 1px rgba(0,0,0,.45))}
svg.uico.gl{filter:none;width:1.1em;height:1.1em;vertical-align:-.18em}
.uico.mono{filter:brightness(0) invert(.94)}
.uemo{display:inline-block;line-height:1}
.coin{background:url(../assets/ui/kamas.webp) center/contain no-repeat!important;border:0!important;border-radius:0!important;width:17px!important;height:17px!important;filter:drop-shadow(0 1px 1px rgba(0,0,0,.4))}
.med{display:inline-grid;place-items:center;width:30px;height:30px;border-radius:50%;flex:none;font-style:normal;background:radial-gradient(circle at 40% 30%,var(--med-bg),var(--med-bg2) 70%);box-shadow:inset 0 0 0 2px var(--med-ring),inset 0 0 0 4px var(--med-bg2),0 2px 4px rgba(0,0,0,.5);transition:box-shadow .2s,background .2s}
.med img{width:22px;height:22px;object-fit:contain;filter:drop-shadow(0 1px 1px rgba(0,0,0,.6))}
nav.main button{padding-left:7px}
nav.main button[aria-current="page"] .med{background:radial-gradient(circle at 40% 30%,#fff7d6,var(--gold) 70%);box-shadow:inset 0 0 0 2px rgba(0,0,0,.45),0 0 12px rgba(var(--glw),.75)}
@media (hover:hover){nav.main button:hover .med{box-shadow:inset 0 0 0 2px var(--gold),inset 0 0 0 4px var(--med-bg2),0 0 10px rgba(var(--glw),.45)}}
@media (max-width:859px){nav.main .med{width:30px;height:30px}nav.main button{padding-left:0}}
.status .it .uico{width:18px;height:18px}
.status .ic-btn svg.uico{width:18px;height:18px}
.status .ic-btn.ic-bug img.uico{width:20px;height:20px;display:block} /* Signaler un bug, toujours visible */
.qnum .uico,.qnum svg{width:18px;height:18px}
.chx .ic .uico.mono{width:20px;height:20px}
.catchips .uico{width:18px;height:18px}
.hv .top .em .uico{width:30px;height:30px}
.chx .ic .uico.mono{filter:brightness(0) opacity(.8)}
:root[data-theme="emerald"] .chx .ic{background:linear-gradient(135deg,#d6f27e,#7fb83f)}
/* ===== 3.1.2 nouvel écran de combat ===== */
.combatpanel{overflow:visible}
.combatpanel>.arenasticky{border-radius:15px 15px 0 0;overflow:hidden}
.cstrip{display:flex;align-items:center;gap:8px;padding:7px 10px;background:rgba(0,0,0,.28);border-bottom:1px solid var(--line);min-height:46px;flex-wrap:wrap}
.cstrip .chalov{position:static;transform:none;display:flex;gap:6px;max-width:none;min-width:0;flex:1 1 auto;flex-wrap:wrap}
.cstrip .chalov:empty{display:block;flex:1}
.cstrip .chx{max-width:340px;padding:4px 10px 4px 4px;border-width:1.5px;box-shadow:none;background:rgba(var(--glw),.08)}
.cstrip .chx .ic{width:26px;height:26px;border-radius:8px}
.cstrip .chx .d{-webkit-line-clamp:1}
.cstreak{font-weight:900;color:#ffd08a;white-space:nowrap;display:inline-flex;align-items:center;gap:3px}
.cstreak:empty{display:none}
.viewtog button{padding:3px 9px;font-size:12px}
.ctour{font-weight:900;white-space:nowrap;margin-left:2px}
.ftick{padding:7px 12px;font-size:13px;background:rgba(0,0,0,.28);border-bottom:1px solid var(--line);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:var(--muted)}
.ftick::before{content:"▸ ";color:var(--gold)}
.chalbar:empty{display:none}
/* scène : personnages placés en quinconce */
.arena.v2{transition:height .25s}
.arena.v2 .ents{position:absolute;inset:0;z-index:2}
.arena.v2 .ent{position:absolute;transform:translateX(-50%);width:var(--w);display:flex;flex-direction:column;align-items:center;transition:opacity .4s,filter .4s,left .3s,bottom .3s}
.arena.v2 .ent>.lookwrap,.arena.v2 .ent>img.sprite,.arena.v2 .ent>.medal{order:1}
.arena.v2 .ent>.who{order:2;max-width:100%;margin-top:2px}
.arena.v2 .ent>.hpb{order:3;width:84%;margin:2px 0 2px}
.arena.v2 .ent>.pas{order:4}
.arena.v2 .ent::after{content:"";position:absolute;left:50%;bottom:calc(var(--plate) - 7px);width:70%;height:14px;transform:translateX(-50%);border-radius:50%;background:radial-gradient(rgba(0,0,0,.45),transparent 70%);z-index:-1;transition:background .25s}
.arena.v2 .ent.cur::after{background:radial-gradient(rgba(var(--glw),.85),rgba(var(--glw),.25) 60%,transparent 72%);height:18px}
.arena.v2 .ent.hero .lookwrap{height:var(--h);width:var(--w);margin:0;display:flex;align-items:flex-end;justify-content:center}
.arena.v2 .ent.hero .look{height:calc(var(--h) * 1.12);width:calc(var(--h) * 1.12);margin-bottom:calc(var(--h) * -.1)}
.arena.v2 .ent.hero.cur .look{filter:drop-shadow(0 0 10px rgba(var(--glw),.55)) drop-shadow(0 6px 6px rgba(0,0,0,.4))}
.arena.v2 .ent.m img.sprite{width:calc(var(--h) * .72);height:calc(var(--h) * .72);aspect-ratio:auto;object-position:bottom}
.arena.v2 .ent.m.boss img.sprite{width:calc(var(--h) * .9);height:calc(var(--h) * .9);transform:none}
.arena.v2 .ent.summon img.sprite{width:calc(var(--h) * .55);height:calc(var(--h) * .55);aspect-ratio:auto}
.arena.v2 .ent.summon .medal{width:calc(var(--h) * .4)}
.arena.v2 .ent.hero .medal{width:calc(var(--h) * .6)}
.arena.v2 .ent.m.act img.sprite{animation:lungeL .45s ease-out}
.arena.v2 .float{top:-6px}
/* vue compacte */
.arena.cmpmode{height:auto;min-height:120px;background:linear-gradient(180deg,rgba(var(--glw),.08),rgba(0,0,0,.25))}
.arena.cmpmode::after{display:none}
.cmp{display:grid;grid-template-columns:1fr 1fr;gap:8px;padding:10px;position:relative;z-index:2}
.cmp .col{display:grid;gap:6px;align-content:start}
.ent.card{width:auto;display:flex;align-items:center;gap:7px;padding:6px 8px 6px 6px;border-radius:12px;background:rgba(0,0,0,.35);border:1.5px solid var(--line);text-align:left;min-width:0}
.ent.card.cur{border-color:var(--gold);box-shadow:0 0 0 1px var(--gold)}
.ent.card .cico{width:34px;height:34px;flex:none;display:grid;place-items:center;border-radius:50%}
.ent.card .cico img{width:100%;height:100%;object-fit:contain}
.ent.card .cico.hd{background:var(--cc);border:2px solid var(--gold2)}.ent.card .cico.hd img{width:82%;height:82%}
.ent.card .t{min-width:0;flex:1}
.ent.card .who{text-align:left;font-size:12px}
.ent.card .hpb{margin:3px 0;height:7px}
.ent.card .row2{display:flex;justify-content:space-between;align-items:center;gap:0 4px;font-size:10px;color:var(--muted);white-space:nowrap;flex-wrap:wrap} /* 1.0.12.8 : l'état (« Distance +40 % ») passe dessous au lieu de sortir de la carte */
.ent.card .pas{font-size:9.5px;margin:0}
.ent.card .float{top:-4px;font-size:16px}
.ent.card.dead{opacity:.35}
/* onglets mobiles */
.ctabs{display:none}
@media (max-width:859px){
  .ctabs{display:flex;gap:4px;padding:8px 10px 0;border-bottom:1px solid var(--line)}
  .ctabs button{flex:1;padding:8px 6px;border:0;border-radius:10px 10px 0 0;background:transparent;color:var(--muted);font-weight:800;cursor:pointer}
  .ctabs button[aria-pressed="true"]{background:var(--panel2);color:var(--gold2)}
  .combatgrid:not([data-ctab="sorts"]) .csec-sorts{display:none}
  .combatgrid:not([data-ctab="journal"]) .csec-journal{display:none}
  .combatgrid:not([data-ctab="butin"]) .csec-butin{display:none}
  .combatgrid:not([data-ctab="stats"]) .csec-stats{display:none}
  .combatgrid:not([data-ctab="butin"]):not([data-ctab="stats"]) .cside{display:none}
  .csec-journal .log{margin-top:10px;height:auto;min-height:150px}
  .arenasticky.stick{position:sticky;top:var(--sth,48px);z-index:25;box-shadow:0 8px 16px rgba(0,0,0,.45)}
  .combatpanel>.arenasticky{border-radius:0}
}
@media (max-width:640px){
  .cstrip{padding:5px 8px;gap:6px;min-height:40px}
  .cstrip .chx{max-width:44vw}
  .cstrip .chx .d{display:none}
  .viewtog button{padding:3px 7px;font-size:11px}
  .ftick{font-size:12px;padding:6px 10px}
  .combathead .fsg .pips5,.combathead .fsg small{display:none}
}
/* notifications : en haut à droite sur PC, au-dessus du menu sur mobile */
@media (min-width:860px){.toasts{left:auto;right:18px;transform:none;bottom:18px;align-items:flex-end}}
.toast .tsub{display:block;font-size:11.5px;font-weight:700;color:var(--muted)}
.updpill{display:inline-flex;align-items:center;gap:5px;border-radius:999px;padding:3px 10px;font-weight:800;font-size:12px;cursor:pointer;background:rgba(var(--glw),.14);color:var(--gold2);border:1.5px solid rgba(var(--glw),.55);animation:updglow 2.4s ease-in-out infinite}
@keyframes updglow{0%,100%{box-shadow:0 0 0 rgba(var(--glw),0)}50%{box-shadow:0 0 12px rgba(var(--glw),.55)}}
.arena.v2 .ent.summon .who{display:none}.arena.v2 .ent.summon .hpb{width:60%}
.arena.v2 .ent.summon::after{bottom:-4px}
.ent.card .float{left:auto;right:6px;transform:none;font-size:14px}
@media (max-width:640px){.arena.v2 .ent .who{font-size:10px}}
.ent.card .float{top:-2px;font-size:13px}
.ent.card{padding:4px 8px 4px 5px}.ent.card .cico{width:30px;height:30px}
.cstrip{flex-wrap:nowrap}
.cstrip .chalov{flex-wrap:nowrap;overflow:hidden}
.cstrip .chx{flex:0 1 auto}
.cstrip .chx .t{overflow:hidden;text-overflow:ellipsis}
@media (max-width:640px){.cstrip .chx{max-width:none}.cstrip .chx .bon{font-size:11.5px}.ctour{font-size:12px}}
.status .brand{display:inline-flex;align-items:center;gap:6px}
.status .brand .blogo{height:26px;width:auto;filter:drop-shadow(0 0 6px rgba(var(--glw),.55))}
@media (max-width:600px){.status .brand .blogo{height:22px}}
.combatgrid>*{min-width:0}
.cstrip{overflow:hidden}
.cstrip .chalov{min-width:0}
.cstrip .chx{min-width:0}
.cstrip .chx .tx{min-width:0;overflow:hidden}
@media (max-width:640px){.cstreak{display:none}.cstrip .chx .bon{padding-left:4px}}
/* 1.0.10.3 : les challenges ont leur propre ligne et restent lisibles (ils se réduisaient à une lettre, bonus coupé au téléphone) */
.cstrip{flex-wrap:wrap;overflow:visible}
.cstrip .chalov{flex:1 1 100%;flex-wrap:wrap;overflow:visible}
.cstrip .chalov:empty{display:none}
.cstrip .chalov:empty~.cstreak{margin-right:auto}
.cstrip .chx{flex:0 1 auto;min-width:min(140px,100%);max-width:min(340px,100%)}
.cstrip .chx .bon{white-space:nowrap}
.cstrip .viewtog{margin-left:auto}
.arenasticky{background:var(--panel)}
/* ===================== 3.2 — raretés, fiche en pied, cadres allégés ===================== */
.rr{--rc:var(--frame)}
.iname.rr:not(.radiant){color:var(--rc)}
.itile.rr:not(.radiant),.dslot.rr:not(.radiant){border-color:var(--rc)}
.itile.rr{overflow:hidden}
.itile.rr::before{content:"";position:absolute;left:0;right:0;bottom:0;height:4px;background:var(--rc)}
.icobox.rr:not(.radiant){box-shadow:inset 0 0 0 2px var(--rc)}
.dslot.rr.filled:not(.radiant):not(.up):not(.on):not(.hl){box-shadow:inset 0 0 14px color-mix(in srgb,var(--rc) 30%,transparent)}
/* fiche héros : le personnage en pied au centre de l'équipement */
.dcenter .dfig{position:relative;width:210px;height:220px;display:flex;align-items:flex-end;justify-content:center;background:radial-gradient(closest-side,color-mix(in srgb,var(--cc) 32%,transparent),transparent)}
.dcenter .dfig::after{content:"";position:absolute;bottom:10px;left:50%;width:56%;height:16px;transform:translateX(-50%);border-radius:50%;background:radial-gradient(rgba(0,0,0,.5),transparent 70%)}
.dcenter .dlook{position:relative;z-index:1;width:240px;height:240px;max-width:none;object-fit:contain;margin-bottom:-16px;filter:drop-shadow(0 8px 8px rgba(0,0,0,.45))}
.dcenter .dlv{position:absolute;top:0;left:50%;transform:translateX(-50%);z-index:2;font-family:var(--font-title);font-size:13px;background:var(--panel3);border:1.5px solid var(--frame);color:var(--gold2);border-radius:999px;padding:0 10px;white-space:nowrap}
@media (max-width:520px){.dcenter .dfig{width:130px;height:160px}.dcenter .dlook{width:170px;height:170px;margin-bottom:-12px}}
/* cartes de héros : un liseré et un ruban à la couleur du palier */
.hcard,.hcard.f9,.hcard.f10{padding:0;background:var(--panel);border:2px solid var(--fr2);box-shadow:0 8px 20px rgba(0,0,0,.45),0 0 16px var(--glow);animation:none}
.hcard.f9{border-color:#f5f1e6;box-shadow:0 0 0 2px #111,0 8px 20px rgba(0,0,0,.45)}
.hcard.f10{border-color:transparent;background:linear-gradient(var(--panel),var(--panel)) padding-box,conic-gradient(from var(--ang),#c77dff,#4fd1e0,#f0c35a,#ff7ac8,#c77dff) border-box;animation:spin 5s linear infinite}
.hcard .in{border-radius:16px}
.hcard .art,:root[data-theme="emerald"] .hcard .art{background:radial-gradient(circle at 50% 78%,color-mix(in srgb,var(--cc) 45%,transparent),transparent 62%),var(--panel2)}
.hcard .art::before{display:none}
.hcard .hlook{position:absolute;left:50%;bottom:-10px;height:115%;width:auto;max-width:none;transform:translateX(-50%);filter:drop-shadow(0 6px 6px rgba(0,0,0,.45));z-index:1}
.hcard .tier{top:8px;right:-2px;bottom:auto;left:auto;transform:none;border-radius:6px 0 0 6px;background:var(--fr1);color:#fff;border:0;text-shadow:0 1px 1px rgba(0,0,0,.4)}
.hcard.f9 .tier{background:#f5f1e6;color:#111;text-shadow:none}
.hcard .elb{top:34px;width:24px;height:24px}.hcard .elb img{width:15px}
@media (prefers-reduced-motion:reduce){.hcard.f10{animation:none}}


/* ---------- 3.1.3 « Petit lot » : mutateur de la semaine, tenues, builds, entrée des boss, moments de récompense ---------- */
.weekly{display:flex;gap:12px;align-items:center;width:100%;text-align:left;padding:10px 12px;border-radius:14px;cursor:pointer;
  background:linear-gradient(100deg,rgba(var(--glw),.20),rgba(var(--glw),.05) 60%),var(--panel2);border:1.5px solid rgba(var(--glw),.6);box-shadow:0 0 0 1px rgba(0,0,0,.15) inset}
.weekly:hover{border-color:var(--gold2)}
.wknext{padding:4px 12px 2px}
.ac-ev + .wknext{padding:0 14px 12px;text-align:left}
.weekly .dgboss{width:56px;height:56px;object-fit:contain;flex:none;filter:drop-shadow(0 3px 4px rgba(0,0,0,.4))}
.weekly .grow{display:flex;flex-direction:column;gap:2px;min-width:0}
.weekly .wk{font-size:11px;font-weight:900;letter-spacing:.6px;text-transform:uppercase;color:var(--gold2);display:flex;align-items:center;gap:4px}
.weekly .wrew{display:flex;flex-direction:column;align-items:flex-end;text-align:right;flex:none;font-size:12px}
.weekly .wrew b{font-size:22px;color:#9ff07a;line-height:1}
.wkbadge{position:absolute;top:6px;right:30px;font-size:10px;font-weight:900;padding:2px 7px;border-radius:999px;background:var(--gold);color:#1a1510;display:flex;gap:3px;align-items:center}
.wkbadge .uico{width:11px;height:11px}
.wkbadge.fl{background:#7cc4ff;color:#0d1a26}
.wkbox.fl{background:rgba(124,196,255,.10);border-color:rgba(124,196,255,.45)}.wkbox.fl>.uico{color:#7cc4ff}
.flash{display:flex;flex-direction:column;gap:8px;padding:10px 12px;border-radius:14px;background:var(--panel2);border:1px solid rgba(124,196,255,.45)}
.fl-head{display:flex;justify-content:space-between;align-items:baseline;gap:6px 12px;flex-wrap:wrap}
.flash .wk{font-size:11px;font-weight:900;letter-spacing:.6px;text-transform:uppercase;color:#7cc4ff;display:flex;align-items:center;gap:4px}
.fl-rew{color:#9ff07a}
.fl-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,240px),1fr));gap:6px}
.fl-row{display:grid;grid-template-columns:36px 1fr auto;align-items:center;gap:8px;padding:6px 10px;border-radius:10px;background:var(--panel);border:1px solid var(--frame);text-align:left;cursor:pointer;color:inherit;font:inherit;min-width:0}
.fl-row:hover{border-color:#7cc4ff}
.fl-row.locked{opacity:.55}.fl-row.locked .fl-ico{filter:grayscale(1)}.fl-row .uico{width:11px;height:11px;vertical-align:-1px}
.fl-ico{width:36px;height:36px;object-fit:contain}
.fl-t{display:flex;flex-direction:column;min-width:0}.fl-t b{font-size:13px;line-height:1.2}
.fl-mod{font-size:11px;font-weight:800;padding:2px 8px;border-radius:999px;background:rgba(124,196,255,.15);color:#7cc4ff;white-space:nowrap}
.fl-next{line-height:1.4}
.wkbox{display:flex;gap:8px;align-items:flex-start;padding:8px 10px;border-radius:10px;background:rgba(var(--glw),.12);border:1px solid rgba(var(--glw),.45)}
.wkbox>.uico{flex:none;margin-top:2px;color:var(--gold2)}
.smallbox{display:flex;gap:8px;align-items:flex-start;padding:8px 10px;border-radius:10px;background:var(--panel2);border:1px solid var(--frame)}
.smallbox>.uico{flex:none;margin-top:2px;color:var(--good,#5fd38a)}
@media (max-width:520px){.weekly{flex-wrap:wrap}.weekly .wrew{flex-direction:row;gap:6px;align-items:baseline;width:100%;justify-content:flex-start}.weekly .wrew b{font-size:16px}}

.bsps{display:flex;gap:6px;flex-wrap:wrap}
.bsp{display:flex;align-items:center;gap:5px;padding:3px 8px 3px 3px;border-radius:999px;background:var(--panel3)}
.bsp .spicon{width:24px;height:24px}
.buildprev{padding:10px;border-radius:12px;background:var(--panel2);border:1px solid var(--line)}
.buildprev img{width:40px;height:40px;object-fit:contain}
.buildprev .lootico img{width:28px;height:28px}
.buildprev .sico{width:14px;height:14px}

/* Entrée des boss et seconde phase */
.bossintro{position:absolute;left:0;right:0;top:50%;z-index:6;pointer-events:none;text-align:center;padding:12px 8px 14px;transform:translateY(-50%);
  background:linear-gradient(90deg,transparent,rgba(10,6,2,.82) 18%,rgba(10,6,2,.82) 82%,transparent);border-top:1px solid rgba(var(--glw),.6);border-bottom:1px solid rgba(var(--glw),.6);
  animation:biIn 2.6s ease-out forwards}
.bossintro .bi-k{font-size:11px;font-weight:900;letter-spacing:2px;text-transform:uppercase;color:var(--gold2)}
.bossintro .bi-n{font-family:var(--font-title);font-size:30px;color:#fff3d0;text-shadow:0 2px 0 #000,0 0 18px rgba(var(--glw),.7);line-height:1.15}
.bossintro .bi-m{display:flex;gap:8px;justify-content:center;flex-wrap:wrap;margin-top:4px}
.bossintro .bi-m span{font-size:12px;font-weight:800;color:#ffb0a0;display:flex;gap:4px;align-items:center}
.bossintro.legend .bi-n{color:#ffd0ff;text-shadow:0 2px 0 #000,0 0 22px rgba(190,90,255,.9)}
.bossintro.phase{animation-duration:1.9s;border-color:rgba(255,107,122,.7)}
.bossintro.phase .bi-n{color:#ffd2c8;text-shadow:0 2px 0 #000,0 0 18px rgba(255,80,60,.8)}
.bossintro.still{animation:biFade 2.6s linear forwards}
@keyframes biIn{0%{opacity:0;transform:translateY(-50%) scaleX(.6)}12%{opacity:1;transform:translateY(-50%) scaleX(1)}80%{opacity:1}100%{opacity:0}}
@keyframes biFade{0%,85%{opacity:1}100%{opacity:0}}
.arena.flash::before{content:"";position:absolute;inset:0;z-index:5;pointer-events:none;background:radial-gradient(circle,rgba(255,90,60,.55),rgba(255,40,20,.15) 70%);animation:flash .7s ease-out forwards}
@keyframes flash{0%{opacity:1}100%{opacity:0}}
@media (max-width:640px){.bossintro .bi-n{font-size:24px}}

/* Moments de récompense */
#cele{position:fixed;left:50%;top:calc(var(--sth,60px) + 14px);transform:translateX(-50%);z-index:95;width:min(92vw,380px);pointer-events:none}
.cele{position:relative;overflow:hidden;pointer-events:auto;cursor:pointer;text-align:center;padding:16px 16px 14px;border-radius:18px;
  background:radial-gradient(120% 90% at 50% 0%,rgba(var(--glw),.28),transparent 60%),var(--panel);border:2px solid var(--gold);box-shadow:var(--shadow),0 0 30px rgba(var(--glw),.35);
  animation:celeIn .45s cubic-bezier(.2,1.4,.4,1) both}
.cele.out{animation:celeOut .22s ease-in forwards}
.cele.still{animation:none}
.cele>*{position:relative;z-index:1}
.cele-rays{position:absolute!important;z-index:0!important;left:50%;top:44px;width:360px;height:360px;margin:-180px 0 0 -180px;opacity:.35;pointer-events:none;
  background:repeating-conic-gradient(rgba(var(--glw),.5) 0 8deg,transparent 8deg 22deg);border-radius:50%;-webkit-mask:radial-gradient(circle,#000 20%,transparent 65%);mask:radial-gradient(circle,#000 20%,transparent 65%);animation:rays 8s linear infinite}
.cele.radiant{border-color:#ff9fd8;box-shadow:var(--shadow),0 0 34px rgba(255,95,191,.45)}
.cele.radiant .cele-rays{background:repeating-conic-gradient(rgba(255,179,71,.5) 0 8deg,transparent 8deg 15deg,rgba(138,125,255,.5) 15deg 23deg,transparent 23deg 30deg)}
.cele-art{display:flex;justify-content:center;align-items:flex-end;gap:2px;min-height:64px;margin-bottom:6px}
.cele-art .icobox{width:64px;height:64px;border-radius:14px}
.cele-art .icobox img{width:52px;height:52px;object-fit:contain}
.cele-art .lookwrap{height:110px;width:84px;display:flex;align-items:flex-end;justify-content:center;overflow:hidden}
.cele-art .look{height:130px;width:130px;object-fit:contain;object-position:bottom;margin-bottom:-12px;filter:drop-shadow(0 5px 6px rgba(0,0,0,.4))}
.cele-art .medal{width:64px;height:64px}
.cele-art.stasis .dgboss{width:76px;height:76px;object-fit:contain;filter:drop-shadow(0 4px 6px rgba(0,0,0,.45))}
.cele-art.stasis .chest{margin-left:-14px}.cele-art.stasis .chest .uico,.cele-art.stasis .chest .uemo{width:40px;height:40px;font-size:34px}
.cele-k{font-size:11px;font-weight:900;letter-spacing:1.5px;text-transform:uppercase;color:var(--gold2);display:flex;gap:5px;justify-content:center;align-items:center}
.cele-t{font-family:var(--font-title);font-size:26px;color:var(--title);text-shadow:var(--tshadow);line-height:1.15;margin:2px 0}
.cele-s{font-size:13px;color:var(--muted)}
@keyframes celeIn{0%{opacity:0;transform:translateY(-14px) scale(.85)}100%{opacity:1;transform:none}}
@keyframes celeOut{to{opacity:0;transform:translateY(-10px) scale(.95)}}
@keyframes rays{to{transform:rotate(360deg)}}

/* ===================== 3.2.2 « Confort » ===================== */
/* bande d'objectifs épinglés */
.objs{display:flex;align-items:center;gap:6px;flex-wrap:wrap;background:var(--panel);border:2px solid var(--frame);border-radius:12px;padding:5px 8px;margin:-4px 0 12px}
.obj{display:inline-flex;align-items:center;gap:6px;background:var(--panel2);border-radius:999px;padding:3px 9px 3px 6px;font-size:12.5px;font-weight:800;box-shadow:inset 0 0 0 1.5px var(--frame);cursor:pointer;min-width:0;max-width:100%;transition:box-shadow .15s}
.obj:hover{box-shadow:inset 0 0 0 2px var(--gold)}
.obj.auto{box-shadow:inset 0 0 0 2px #ffb95c}
.obj.done{box-shadow:inset 0 0 0 2px #3fb35d;background:rgba(63,179,93,.14)}
.obj .uico{width:16px;height:16px;flex:none}
.obj .mini{width:54px;height:6px;border-radius:4px;background:rgba(0,0,0,.45);overflow:hidden;flex:none}
.obj .mini i{display:block;height:100%;background:linear-gradient(90deg,var(--gold),var(--gold2))}
.obj.done .mini i{background:#3fb35d}
.obj .pt{color:var(--muted);font-size:11.5px;white-space:nowrap}
.obj .x{color:var(--muted);font-weight:900;padding:0 2px;margin-left:2px;border-radius:50%}
.obj .x:hover{color:var(--danger)}
.objs .cnt{margin-left:auto;font-size:11px;font-weight:800;color:var(--muted)}
@media (max-width:640px){.objs{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none;-webkit-overflow-scrolling:touch}.objs::-webkit-scrollbar{display:none}.obj{flex:none}.objs .cnt{display:none}}
.pinbtn.on{background:#ffb95c;color:#2a1a08;box-shadow:none}
.pinbtn.on .gl{stroke:#2a1a08}
span.pinbtn.auto{display:inline-flex;align-items:center;gap:4px;font-size:11px;font-weight:900;text-transform:uppercase;letter-spacing:.5px;color:#ffb95c;white-space:nowrap}
.ach .grow{flex:1;min-width:0}.ach .pinbtn{flex:none}
/* temps estimé */
.eta{display:inline-flex;align-items:center;font-size:11.5px;font-weight:800;color:var(--gold2);white-space:nowrap}
.eta::before{content:"⏱";margin-right:3px;font-size:11px}
.eta.no{color:var(--muted);white-space:normal}
.xpwrap{cursor:help;padding:2px 0}
.xptip{margin-top:4px}
.hrow.clk{cursor:pointer}.hrow.clk:hover{box-shadow:inset 0 0 0 2px var(--frame)}
/* pourquoi j'ai perdu */
.loss{background:linear-gradient(180deg,rgba(255,107,107,.12),rgba(255,107,107,.04));border:2px solid rgba(255,107,107,.45);border-radius:14px;padding:10px 12px;display:flex;flex-direction:column;gap:8px}
.loss .ttl{font-family:var(--font-title);color:#ffb3b3;font-size:16px;display:flex;align-items:center;gap:6px}
.loss .ttl .gl{stroke:#ffb3b3}
.loss .advice{font-size:14px;font-weight:700;line-height:1.35}
.loss .facts{display:flex;flex-wrap:wrap;gap:6px}
.loss .pill.bad{background:rgba(255,107,107,.16);color:#ff8a8a}.loss .pill.gold{background:rgba(var(--glw),.18);color:var(--gold2)}
.loss .sec{font-size:11px;font-weight:900;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin-top:2px}
.sugg{display:flex;flex-direction:column;gap:6px}
.sugg .sl{display:flex;align-items:center;gap:8px;background:var(--panel2);border:2px solid var(--frame);border-radius:12px;padding:6px 10px}
.sugg .sl .icobox{width:36px;height:36px}.sugg .sl .icobox img{width:30px;height:30px}
.sugg .sl .t{flex:1;min-width:0;font-size:13px}
.sugg .sl .t small{display:block;color:var(--muted);font-weight:700;font-size:11.5px}
.toast.loss{border-color:rgba(255,107,107,.6)}
/* notifications (Options) */
.notifs{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:6px}
.notifs .opt{display:flex;align-items:center;justify-content:space-between;gap:10px;background:var(--panel2);border:2px solid var(--frame);border-radius:12px;padding:7px 10px;cursor:pointer}
.notifs .opt input{width:18px;height:18px;accent-color:var(--gold);flex:none}
@media (max-width:640px){.sugg .sl{flex-wrap:wrap}.sugg .sl .t{flex-basis:calc(100% - 46px)}.sugg .sl .btn,.sugg .sl .tag.good{margin-left:auto}}
/* 3.2.3 : répartition manuelle des points */
.allocbtns{display:flex;gap:4px;flex-shrink:0}
.ptsbadge{display:inline-block;min-width:18px;margin-left:4px;padding:0 5px;border-radius:999px;background:#c0392b;color:#fff;font-size:11px;font-weight:900;line-height:17px;text-align:center}
.ptsleft.on{color:var(--gold2)}
@media (max-width:600px){.allocbtns{gap:3px}.allocbtns .btn.sm{padding:4px 6px;font-size:12px}}
/* 4.0 : Havre-Sac en pièces */
.hvsum{display:grid;grid-template-columns:repeat(5,1fr);gap:8px}
.hvsum>div{background:var(--panel2);border-radius:12px;padding:8px 10px;display:flex;flex-direction:column;min-width:0}.hvsum b{font-size:18px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.hvsum span{font-size:12px;color:var(--muted)}
.rooms{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:12px;align-items:start}
.room{background:var(--panel2);border-radius:16px;padding:12px;display:flex;flex-direction:column;gap:10px;border:2px solid color-mix(in srgb,var(--rc) 45%,transparent);box-shadow:inset 0 3px 0 color-mix(in srgb,var(--rc) 55%,transparent);min-width:0}
.room header{display:flex;gap:10px;align-items:center}.room h3{color:var(--rc);margin:0}
.rico{width:40px;height:40px;border-radius:12px;background:var(--panel3);display:grid;place-items:center;flex:none}.rico .uico{width:30px;height:30px}
.upl{display:flex;flex-direction:column;gap:6px;background:var(--panel);border-radius:12px;padding:8px 10px}
.fslots{display:flex;flex-direction:column;gap:6px}
.fslot{display:flex;gap:8px;align-items:center;border-radius:10px;padding:6px 8px;font-size:13px;font:inherit;font-size:13px;color:inherit;background:none}
.fslot .uico{width:22px;height:22px}.fslot span.grow{display:flex;flex-direction:column;min-width:0}.fslot i{font-style:normal;font-size:11.5px;color:var(--action)}
.fslot.full{background:var(--panel)}.fslot.empty{border:2px dashed var(--line);color:var(--muted);justify-content:center;cursor:pointer}.fslot.empty:disabled{cursor:default;opacity:.7}.fslot.lock{color:var(--muted);border:1px solid var(--line)}
.room.locked{border-style:dashed}.room.soon{opacity:.6}
.trainee{display:flex;gap:10px;align-items:center;background:var(--panel);border-radius:12px;padding:8px 10px}
.trainee .bar{height:6px;margin-top:4px}
.mlist{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:8px}
.mitem{display:flex;gap:10px;align-items:center;background:var(--panel2);border-radius:12px;padding:8px 10px}.mitem.dim,.li.dim{opacity:.7}
.room .chev{color:var(--muted)}
@media (min-width:641px){.msum,.room .chev{display:none}.room header{cursor:default}}
@media (max-width:640px){.room header{cursor:pointer}.room:not(.open)>:not(header){display:none}.room.open .msum{display:none}.room.open .chev{transform:rotate(180deg)}.hvsum{grid-template-columns:repeat(3,1fr)}.rooms,.mlist{grid-template-columns:1fr}}

/* ===== 3.3.0 « Combat vivant » ===== */
.arena .ent.hero.back .lookwrap,.arena .ent.hero.back .medal{transform:scale(.8);transform-origin:bottom center}
.arena .ent.hero.back .look{filter:brightness(.88) saturate(.9) drop-shadow(0 6px 6px rgba(0,0,0,.35))}
.arena .ent.hero.back.dead .look{filter:grayscale(1) brightness(.6)}
.ent .rowmk{display:inline-flex;vertical-align:-2px;margin-right:2px;color:#8fd0ff}
.ent .rowmk .uico{width:12px;height:12px}
.ent.card.front{box-shadow:inset 3px 0 0 #8fd0ff}
.ent.m.champ img.sprite{filter:drop-shadow(0 0 7px #ffc94a) drop-shadow(0 0 2px #ffc94a) drop-shadow(0 6px 4px rgba(0,0,0,.35))}
.ent.m.champ .who{color:#ffd76a}
.ent.card.champ{box-shadow:inset 0 0 0 2px #ffc94a}
.ent .crown{position:absolute;top:-16px;left:50%;transform:translateX(-50%);color:#ffc94a;z-index:2;filter:drop-shadow(0 1px 1px #000)}
.ent .crown .uico{width:20px;height:20px;fill:#ffc94a;stroke:#7a5a12}
.ent .mrole{display:block;width:max-content;margin:1px auto 0;font-size:9.5px;font-weight:900;padding:0 6px;border-radius:999px;background:rgba(160,110,255,.3);color:#e2d4ff;box-shadow:0 0 0 1px rgba(160,110,255,.6)}
.champwin{border:2px solid rgba(255,201,74,.55);background:linear-gradient(180deg,rgba(255,201,74,.12),rgba(255,201,74,.03));border-radius:12px;padding:8px 10px;display:flex;flex-direction:column;gap:6px}
.champwin .ttl{font-family:var(--font-title);color:#ffc94a;font-size:15px;display:flex;align-items:center;gap:6px}
.champwin .ttl .uico{fill:#ffc94a;stroke:#7a5a12}
.champwin .pill.gold{background:rgba(255,201,74,.18);color:#ffd76a}
.placement.flash{animation:placeflash 1.6s ease-out}
@keyframes placeflash{0%,40%{box-shadow:0 0 0 3px var(--gold),var(--shadow)}100%{box-shadow:var(--shadow)}}
.maptiers{margin:0 0 4px;flex-wrap:wrap;gap:8px}
.maptiers .seg{flex-wrap:wrap}
@media (max-width:520px){.maptiers .seg{border-radius:14px}.maptiers .seg button{padding:4px 7px}} /* 1.0.3.2 : « Tout » ne tombe plus seul sur une 2e ligne au téléphone */
.zonefoldp{margin-bottom:8px}
.zonefold{display:flex;justify-content:space-between;align-items:center;gap:10px;width:100%;padding:12px 14px;background:none;border:0;color:inherit;cursor:pointer;text-align:left;flex-wrap:wrap}
.zonefold .zf-name{font-family:var(--font-title);font-size:20px;color:var(--title);text-shadow:var(--tshadow)}
.zonefold .zf-meta{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.zonefold .chev{font-size:16px;color:var(--muted);width:14px;text-align:center}
.zonefold:hover .zf-name{color:var(--gold)}
.zf-desc{padding:0 14px 8px;margin-top:-6px}
.subrows{display:grid;grid-template-columns:repeat(auto-fill,minmax(290px,1fr));gap:8px;padding:0 14px 14px}
.subrow{display:flex;align-items:center;gap:10px;padding:6px 10px 6px 6px;border-radius:12px;border:2px solid var(--frame);background:var(--panel2);cursor:pointer;text-align:left;color:inherit;min-width:0}
.subrow:not(.locked):hover{border-color:var(--gold)}
.subrow.here{border-color:var(--gold);box-shadow:0 0 0 2px var(--gold)}
.subrow.locked{cursor:default;opacity:.7}
.subrow.locked .sr-mons img{filter:grayscale(.9) brightness(.7)}
.sr-mons{display:flex;align-items:flex-end;flex:0 0 96px;height:46px;justify-content:center}
.sr-mons img{width:36px;margin-left:-6px;filter:drop-shadow(0 3px 2px rgba(0,0,0,.35))}
.sr-mons img:first-child{margin-left:0}
.sr-txt{display:flex;flex-direction:column;gap:1px;min-width:0;flex:1}
.sr-txt b{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.sr-sub{display:flex;align-items:center;gap:6px;flex-wrap:wrap}
.subrow .lockmsg{font-size:12px;color:var(--muted)}
.zonefold .lockmsg{font-size:12px;color:var(--muted)}
.zonefold{display:grid;grid-template-columns:1fr auto auto;flex-wrap:nowrap}
@media (max-width:600px){.zonefold{grid-template-columns:1fr auto;row-gap:2px}.zonefold .zf-meta{grid-column:1;grid-row:2}.zonefold .chev{grid-column:2;grid-row:1}}
.tag.best{background:var(--gold);color:#2a1d05;border-color:var(--gold)}
.tag.best svg{width:12px;height:12px;fill:currentColor;stroke:none;vertical-align:-1px}
.subrow.best{border-color:var(--gold)}
.subrow.weak{opacity:.5}
.subrow.weak:hover{opacity:.85}
.sr-name{display:flex;align-items:center;gap:6px;min-width:0}
.sr-name .uico{width:18px;height:18px;flex:none}
.sr-sub .tag{flex:none;font-size:11px;padding:1px 7px} /* 1.0.12.8 : « Meilleure zone » sous le nom, qui n'est plus coupé */
.zf-prog{display:flex;align-items:center;gap:4px}
.zf-prog .bar{width:70px;margin:0 4px 0 0}
.zf-prog .uico{width:16px;height:16px}
.sigmk svg{width:13px;height:13px;fill:var(--gold);stroke:none;vertical-align:-2px}
.mrole.inl{display:inline-block;margin-right:4px;font-size:10px;font-weight:900;padding:0 6px;border-radius:999px;background:rgba(160,110,255,.22);box-shadow:0 0 0 1px rgba(160,110,255,.6)}
/* 0.1 : panneau de clé de donjon */
.keypanel{display:flex;flex-direction:column;gap:8px;padding:10px 12px;border-radius:14px;background:var(--panel2);border:2px solid var(--frame)}
.kp-head{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.kp-ico{width:40px;height:40px;object-fit:contain;flex:none}
.kp-t{display:flex;flex-direction:column;flex:1;min-width:140px}
.kp-btns{display:flex;gap:6px}
.kp-prog{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.kp-prog .bar{flex:1;min-width:100px;max-width:220px}
.kp-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,320px),1fr));gap:6px}
.kp-ing{display:grid;grid-template-columns:32px 1fr auto;grid-template-rows:auto auto;column-gap:10px;row-gap:3px;align-items:center;padding:7px 10px;border-radius:10px;background:var(--panel);border:1px solid var(--frame);min-width:0}
.kp-rico{grid-row:1/3;width:32px;height:32px;object-fit:contain}
.kp-n{font-size:13px;font-weight:700;line-height:1.2;min-width:0}
.kp-q{font-size:12.5px;font-weight:800;color:var(--danger);justify-self:end}
.kp-src{grid-column:2/4;min-width:0;display:flex}
.kp-src .btn,.kp-src>span{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.kp-done{display:flex;flex-wrap:wrap;align-items:center;gap:6px}
.kp-chip{display:inline-flex;align-items:center;gap:4px;font-size:12px;color:var(--action);padding:2px 8px 2px 4px;border-radius:999px;background:var(--panel)}
.kp-chip img{width:18px;height:18px;object-fit:contain}
.btn.xs{font-size:11px;padding:2px 8px;min-height:0;gap:4px}
.btn.xs .uico{width:14px;height:14px}
.xs.warn{color:#ff9b4a}

/* ===================== Combat animé ===================== */
.arena .fxl{position:absolute;inset:0;z-index:4;pointer-events:none}
.axp{position:absolute;transform:translate(-50%,-50%);pointer-events:none}
.axp.proj{width:16px;height:16px;border-radius:50%;z-index:2}
.axp.proj.of{background:radial-gradient(circle at 40% 40%,#fff6b0,#ff9a2a 45%,#e0382b 75%);box-shadow:0 0 12px #ff6a2a}
.axp.proj.oe{width:24px;height:9px;border-radius:60% 40% 40% 60%/50%;background:linear-gradient(90deg,rgba(79,168,255,0),#9fd6ff 60%,#fff);box-shadow:0 0 10px #4fa8ff}
.axp.proj.ot{width:15px;height:13px;border-radius:40% 55% 45% 50%;background:radial-gradient(circle at 35% 30%,#e3bf86,#9a6a33 55%,#5e3b17)}
.axp.proj.on{background:radial-gradient(circle,#fff,var(--c) 60%);box-shadow:0 0 10px var(--c)}
.axp.proj.arrow{width:30px;height:4px;border-radius:2px;background:linear-gradient(90deg,transparent,#8a6a43 25%,#d9c39a);box-shadow:0 0 8px var(--c)}
.axp.proj.arrow::after{content:"";position:absolute;right:-6px;top:-4px;border-left:9px solid var(--c);border-top:6px solid transparent;border-bottom:6px solid transparent}
.axp.proj.card{width:14px;height:20px;border-radius:3px;background:#fffaf0;border:2px solid #d12f2f;box-shadow:0 0 8px rgba(255,200,80,.8)}
.axp.proj.bottle{width:11px;height:22px;border-radius:4px 4px 6px 6px;background:linear-gradient(90deg,#5a3a14,#b07a3a 50%,#5a3a14)}
.axp.proj.bomb{width:18px;height:18px;background:radial-gradient(circle at 35% 30%,#777,#222 60%);box-shadow:0 0 6px rgba(255,140,40,.7)}
.axp.proj.word{width:auto;height:auto;border-radius:9px;padding:0 5px;background:#fff;color:#c2367a;font-weight:900;font-size:12px;box-shadow:0 0 8px #ff8ad8;white-space:nowrap}
.axp.proj.needle{width:28px;height:3px;border-radius:2px;background:linear-gradient(90deg,transparent,#f1cf6e 30%,#fff3c0);box-shadow:0 0 8px #f1cf6e}
.axp.proj.torpedo{width:26px;height:9px;border-radius:50% 70% 70% 50%/50%;background:linear-gradient(180deg,#9fb5c4,#4e6676)}
.axp.proj.lance{width:42px;height:4px;border-radius:2px;background:linear-gradient(90deg,#6b4a22,#c0a070 80%)}
.axp.proj.lance::after{content:"";position:absolute;right:-9px;top:-4px;border-left:11px solid #e8e8f0;border-top:6px solid transparent;border-bottom:6px solid transparent}
.axp.proj.coin,.axp.coin{width:12px;height:12px;border-radius:50%;background:radial-gradient(circle at 35% 30%,#fff3b0,#e7c46a 50%,#a07a22);border:1px solid #6b4f12}
.axp.proj.bub{width:26px;height:26px;border:2px solid rgba(190,230,255,.95);background:radial-gradient(circle at 35% 28%,rgba(255,255,255,.7),rgba(79,168,255,.2) 45%,var(--c));box-shadow:0 0 10px var(--c)}
.axp.proj.spear{width:9px;height:42px;border-radius:5px;background:linear-gradient(0deg,#fff,var(--c) 40%,transparent);box-shadow:0 0 14px var(--c)}
.axp.trail{width:8px;height:8px;border-radius:50%;background:var(--c);opacity:.8;animation:axtrail .35s ease-out forwards}
@keyframes axtrail{to{opacity:0;transform:translate(-50%,-50%) scale(.2)}}
.axp.dust{width:15px;height:9px;border-radius:50%;background:rgba(220,210,180,.55)}
.axp.smoke{width:24px;height:24px;border-radius:50%}
.axp.flashw{width:80px;height:80px;border-radius:50%;background:radial-gradient(circle,#fff,rgba(255,255,255,0) 65%);animation:axfade .2s ease-out forwards;z-index:3}
.axp.flashw.sm{width:30px;height:30px}
@keyframes axfade{to{opacity:0}}
.axp.claw{width:7px;height:56px;border-radius:50%;background:linear-gradient(180deg,transparent,#fff 40%,var(--c) 70%,transparent);box-shadow:0 0 8px var(--c)}
.axp.ground{transform:translate(-50%,-100%);transform-origin:50% 100%}
.axp.ground svg,.axp.fang svg{display:block;width:100%;height:auto}
.axp.fang{width:48px}
.axp.portal{width:20px;height:54px;border-radius:50%;border:3px solid #6ff0e6;background:radial-gradient(closest-side,rgba(10,30,40,.9),rgba(111,240,230,.35));box-shadow:0 0 14px #6ff0e6}
.axbeam{position:absolute;transform-origin:0 50%;border-radius:6px;box-shadow:0 0 12px rgba(255,255,255,.6)}
.axp.rune{width:44px;height:16px;border-radius:50%;border:2px solid var(--c);background:color-mix(in srgb,var(--c) 30%,transparent);box-shadow:0 0 10px var(--c);animation:pop .25s ease-out}
.axp.wave{width:54px;border-radius:50%;border-right:5px solid #fff;box-shadow:12px 0 20px -6px var(--c),inset -10px 0 16px -8px var(--c)}
.axp.ring{width:20px;height:20px;border-radius:50%;border:3px solid var(--c);animation:ring .5s ease-out forwards}
.axp.streak{width:4px;height:20px;border-radius:3px;background:linear-gradient(0deg,transparent,var(--c));opacity:0;animation:axrise .9s ease-out both}
.axp.bubl{width:7px;height:7px;border-radius:50%;border:1.5px solid #b6ff9a;background:rgba(150,255,120,.25);opacity:0;animation:axrise 1s ease-out both}
@keyframes axrise{0%{opacity:.95;transform:translate(-50%,-50%)}100%{opacity:0;transform:translate(-50%,-260%)}}
@keyframes axtag{0%{opacity:0;transform:translate(-50%,-80%) scale(.85)}12%{opacity:1;transform:translate(-50%,-100%) scale(1)}80%{opacity:1}100%{opacity:0;transform:translate(-50%,-112%)}}
.axbanner{position:absolute;left:0;right:0;top:14%;padding:6px 12px;text-align:center;z-index:6;background:linear-gradient(90deg,transparent,rgba(10,6,2,.85) 18%,rgba(10,6,2,.85) 82%,transparent);border-top:1px solid rgba(var(--glw),.7);border-bottom:1px solid rgba(var(--glw),.7);animation:biIn 2s ease-out forwards}
.axbanner .k{font-size:10.5px;font-weight:900;letter-spacing:1.6px;text-transform:uppercase;color:var(--gold2)}
.axbanner .n{font-family:var(--font-title);font-size:22px;color:#fff;text-shadow:0 2px 0 #000,0 0 14px rgba(var(--glw),.8)}
.axbanner.warn{border-color:rgba(255,107,107,.9)}.axbanner.warn .k{color:#ffb0a0}.axbanner.warn .n{text-shadow:0 2px 0 #000,0 0 16px rgba(255,80,60,.9)}
.float.crit{font-size:28px;color:#ffd84d;text-shadow:0 2px 0 #6a3a00,0 0 12px rgba(255,180,40,.9);animation:axcrit 1.3s ease-out forwards;text-align:center;line-height:1}
.float.crit small{display:block;font-size:10px;letter-spacing:1.4px;text-transform:uppercase;color:#fff3c0}
@keyframes axcrit{0%{opacity:0;transform:translateX(-50%) scale(2) rotate(-6deg)}14%{opacity:1;transform:translateX(-50%) scale(1) rotate(-6deg)}75%{opacity:1}100%{opacity:0;transform:translate(-50%,-40px) rotate(-3deg)}}
/* états et socle */
.arena.v2 .ent>.sts{order:5;display:flex;gap:2px;justify-content:center;min-height:0}
.ent .sts .st{display:inline-flex;align-items:center;gap:1px;font-size:9.5px;font-weight:900;line-height:1;padding:1px 3px;border-radius:5px;background:rgba(0,0,0,.6);color:#fff;border:1px solid var(--c);animation:pop .25s ease-out}
.ent .sts svg{width:9px;height:9px}
.arena.v2 .ent>.sc,.arena.v2 .ent>.dz{position:absolute;left:50%;bottom:calc(var(--plate) - var(--w) * .42);width:calc(var(--w) * .84);aspect-ratio:1;border-radius:50%;z-index:-1;pointer-events:none;display:none}
.arena.v2 .ent>.sc{--rc:var(--glw);background:repeating-conic-gradient(rgba(var(--rc),.95) 0 10deg,transparent 10deg 22deg);-webkit-mask:radial-gradient(closest-side,transparent 80%,#000 82%,#000 97%,transparent 99%);mask:radial-gradient(closest-side,transparent 80%,#000 82%,#000 97%,transparent 99%);animation:axsc 3s linear infinite}
.arena.v2 .ent.m>.sc{--rc:255,107,107}
.arena.v2.axon .ent.cur>.sc,.arena.v2 .ent.spawn>.sc{display:block}
.arena.v2 .ent.spawn>.sc{--rc:200,140,255}
@keyframes axsc{from{transform:translateX(-50%) scaleY(.3) rotate(0)}to{transform:translateX(-50%) scaleY(.3) rotate(360deg)}}
.arena.v2 .ent.dzon>.dz{display:block;transform:translateX(-50%) scaleY(.3);background:radial-gradient(closest-side,rgba(255,60,50,.6),rgba(255,60,50,.15) 70%,transparent);box-shadow:0 0 0 3px rgba(255,107,107,.9);animation:axdz .7s ease-in-out infinite}
@keyframes axdz{50%{opacity:.55}}
.arena.v2 .ent.shielded .look,.arena.v2 .ent.shielded img.sprite,.arena.v2 .ent.shielded .medal{filter:drop-shadow(0 0 2px #d8f0ff) drop-shadow(0 0 7px rgba(79,168,255,.85))}
.arena.v2 .ent.frozen .look,.arena.v2 .ent.frozen img.sprite{filter:saturate(.25) brightness(1.3) hue-rotate(170deg) drop-shadow(0 0 6px #bfe8ff)}
.arena.v2 .ent.golden .look,.arena.v2 .ent.golden img.sprite{filter:sepia(1) saturate(3) brightness(1.1) drop-shadow(0 0 6px #ffd84d)}
.arena.v2 .ent.spawn .lookwrap,.arena.v2 .ent.spawn img.sprite,.arena.v2 .ent.spawn .medal{animation:axspawn .5s ease-out}
@keyframes axspawn{0%{transform:translateY(24px) scale(.2);opacity:0}60%{transform:translateY(-16px) scale(1.1);opacity:1}100%{transform:none}}
.arena.v2.axon .ent.m.dead{opacity:0;pointer-events:none}
.arena.v2.axon .ent.hero.dead:not(.summon){opacity:1;filter:none}
.arena.v2.axon .ent.hero.dead .look,.arena.v2.axon .ent.hero.dead .medal>img{opacity:0;transition:opacity .3s}
.arena.v2.axon .ent.hero.dead .who{color:#9a9a9a}
.ent .tomb{position:absolute;left:50%;bottom:4%;width:30px;height:38px;transform:translateX(-50%);border-radius:14px 14px 3px 3px;background:linear-gradient(90deg,#8d9290,#c4c8c3 45%,#7b807e);border:2px solid #4b4f4d;box-shadow:0 4px 0 rgba(0,0,0,.35);animation:axtomb .45s cubic-bezier(.2,1.5,.4,1) both}
.ent .tomb::before{content:"";position:absolute;left:50%;top:8px;width:4px;height:15px;background:#4b4f4d;transform:translateX(-50%)}
.ent .tomb::after{content:"";position:absolute;left:50%;top:12px;width:12px;height:4px;background:#4b4f4d;transform:translateX(-50%)}
.arena.v2 .ent .medal{position:relative}
@keyframes axtomb{from{transform:translate(-50%,30px);opacity:0}to{transform:translateX(-50%);opacity:1}}
.arena.shake2{animation:axshake2 .45s ease-out}
@keyframes axshake2{15%{transform:translate(-6px,2px)}30%{transform:translate(5px,-2px)}45%{transform:translate(-4px,1px)}60%{transform:translate(3px,-1px)}80%{transform:translate(-1px,0)}}
.reduced .arena.shake2{animation:none}
@media (prefers-reduced-motion:reduce){.arena.v2 .ent>.sc{animation:none;transform:translateX(-50%) scaleY(.3)}}
.arena.v2 .ent.hero .lookwrap{position:relative}
/* passifs de classe visibles (lot 2) */
.ent .psv{position:absolute;inset:0;pointer-events:none;z-index:3}
.psv>*{position:absolute;left:50%;transform:translateX(-50%)}
.psv .pvg{top:-4px;display:flex;gap:2px;animation:pop .25s ease-out}
.psv .pvg i{width:7px;height:10px;background:rgba(0,0,0,.55);border:1px solid rgba(255,255,255,.35);border-radius:50% 50% 45% 45%/60% 60% 40% 40%;transition:background .2s,box-shadow .2s}
.psv .pvg i.on{background:var(--c);border-color:#fff;box-shadow:0 0 6px var(--c)}
.psv .pvg.round i{width:8px;height:8px;border-radius:50%}
.psv .clk{top:-14px;width:30px;height:30px;filter:drop-shadow(0 2px 3px rgba(0,0,0,.6))}
.psv .clk line{transition:transform .35s cubic-bezier(.3,1.6,.5,1)}
.psv .zzz{top:-6px;font-family:var(--font-title);font-size:15px;color:#cfe3ff;text-shadow:0 0 6px #000;animation:axzzz 1.6s ease-in-out infinite}
@keyframes axzzz{50%{transform:translate(-30%,-6px);opacity:.6}}
.psv .pvc{top:-6px;white-space:nowrap;font-size:9.5px;font-weight:900;padding:1px 6px;border-radius:999px;background:rgba(10,10,10,.8);border:1.5px solid var(--c);color:#fff;box-shadow:0 0 8px var(--c);animation:pop .25s ease-out}
.psv .msk{top:14%;width:34px;height:22px;border-radius:40% 40% 55% 55%/45% 45% 60% 60%;border:2px solid #fff;display:grid;place-items:end center;font-size:7.5px;font-weight:900;color:#fff;text-shadow:0 1px 1px #000;padding-bottom:1px;animation:axmask .45s ease-out}
.psv .msk::before,.psv .msk::after{content:"";position:absolute;top:5px;width:8px;height:5px;background:#111;border-radius:50%}
.psv .msk::before{left:5px}.psv .msk::after{right:5px}
.psv .msk.atk{background:#d23b3b;box-shadow:0 0 10px #ff5050}.psv .msk.def{background:#2f6fc0;box-shadow:0 0 10px #4fa8ff}.psv .msk.soin{background:#3fa34d;box-shadow:0 0 10px #7be08a}
@keyframes axmask{0%{transform:translateX(-50%) rotateY(90deg)}100%{transform:translateX(-50%) rotateY(0)}}
.psv .hrn{top:50%;width:84px;height:84px;margin-top:-42px;margin-left:-42px;transform:none;animation:orbit 4s linear infinite}
.psv .hrn i{position:absolute;left:50%;top:50%;width:11px;height:11px;margin:-5.5px;transform:rotate(var(--a)) translateY(-40px) rotate(45deg);border-radius:3px;background:rgba(0,0,0,.5);border:2px solid var(--c);transition:background .2s,box-shadow .2s}
.psv .hrn i.on{background:var(--c);box-shadow:0 0 10px var(--c)}
@keyframes orbit{to{transform:rotate(360deg)}}
.psv .rmp{bottom:4%;left:68%;width:24px;height:30px;border-radius:5px 5px 50% 50%;border:2px solid #fff;background:linear-gradient(180deg,#7fb0e6,#2f5f9a);box-shadow:0 0 12px #4fa8ff;animation:pop .35s ease-out}
.psv .ptl{bottom:6%;width:12px;height:40px;border-radius:50%;border:2px solid #6ff0e6;background:radial-gradient(closest-side,rgba(10,30,40,.7),rgba(111,240,230,.3));box-shadow:0 0 10px #6ff0e6;animation:pop .3s ease-out}
.psv .ptl.l{left:12%}.psv .ptl.r{left:88%}
.arena.v2 .ent[data-pv="burn"] .look{filter:drop-shadow(0 0 4px #ffb347) drop-shadow(0 0 12px rgba(255,90,30,.9));animation:axburn .35s ease-in-out infinite alternate}
@keyframes axburn{to{filter:drop-shadow(0 0 6px #ffd27a) drop-shadow(0 0 18px rgba(255,90,30,1))}}
.arena.v2 .ent[data-pv="lance"] .look{filter:drop-shadow(0 0 3px #ff8a6a) drop-shadow(0 0 9px rgba(224,56,43,.75))}
.arena.v2 .ent[data-pv="suf"] .look{filter:drop-shadow(0 0 calc(var(--suf) * 12px) rgba(230,30,30,calc(.2 + var(--suf) * .8)))}
.arena.v2 .ent[data-pv="sway"] .look{transform-origin:50% 100%;animation:axsway 1.4s ease-in-out infinite}
@keyframes axsway{0%,100%{transform:rotate(calc(var(--sw) * -1))}50%{transform:rotate(var(--sw))}}
.arena.v2 .ent[data-pv="sleep"] .look{transform-origin:50% 100%;transform:rotate(-8deg);filter:brightness(.85)}
/* glyphe du Féca sous toute l'équipe */
.arena.v2 .ent>.gly{position:absolute;left:50%;bottom:calc(var(--plate) - var(--w) * .45);width:calc(var(--w) * .9);aspect-ratio:1;border-radius:50%;z-index:-1;pointer-events:none;display:none;transform:translateX(-50%) scaleY(.3);border:3px solid var(--gc);background:radial-gradient(closest-side,transparent 55%,color-mix(in srgb,var(--gc) 40%,transparent));box-shadow:0 0 12px var(--gc)}
.arena.v2.axon[data-glyph] .ent.hero:not(.dead)>.gly{display:block}
.arena.v2[data-glyph="prot"]{--gc:#4fa8ff}.arena.v2[data-glyph="renvoi"]{--gc:#ff9a3c}.arena.v2[data-glyph="soin"]{--gc:#6fe07a}
.ent>.gly.gpop{animation:axgpop .5s ease-out}
@keyframes axgpop{0%{opacity:0;transform:translateX(-50%) scaleY(.3) scale(.3)}100%{opacity:1;transform:translateX(-50%) scaleY(.3) scale(1)}}
/* marques sur les monstres */
.ent>.vis,.ent>.prey{position:absolute;left:50%;top:32%;pointer-events:none;display:none;z-index:4}
.ent.crm>.vis{display:block;width:30px;height:30px;margin:-15px 0 0 -15px;border-radius:50%;border:2px solid #ff4d4d;box-shadow:0 0 8px #ff4d4d;background:linear-gradient(#ff4d4d,#ff4d4d) center/2px 100% no-repeat,linear-gradient(#ff4d4d,#ff4d4d) center/100% 2px no-repeat;opacity:.85;animation:axvis 1.2s ease-in-out infinite}
@keyframes axvis{50%{transform:scale(.85) rotate(45deg)}}
.ent.prm>.prey{display:block;top:18%;left:78%;width:22px;height:20px;transform:translate(-50%,-50%) scale(var(--prey,1));transition:transform .25s;background:radial-gradient(circle at 50% 30%,#fff 0 18%,transparent 20%),conic-gradient(from 150deg at 50% 0,#fff 0 60deg,transparent 60deg);border-radius:4px 4px 50% 50%;filter:drop-shadow(0 0 4px #e0382b) drop-shadow(0 0 2px #e0382b)}
/* roue de l'Ecaflip, sac de trésor de l'Enutrof */
.axwheel{position:absolute;left:50%;top:6%;width:96px;height:96px;transform:translateX(-50%);z-index:7;pointer-events:none}
.axwheel .disc{width:100%;height:100%;border-radius:50%;border:4px solid #f1cf6e;box-shadow:0 0 18px rgba(241,207,110,.7);background:conic-gradient(#3fa34d 0 144deg,#2f86d6 144deg 288deg,#ffd84d 288deg 324deg,#666 324deg 360deg);position:relative}
.axwheel .disc b{position:absolute;left:50%;top:50%;font-size:10px;font-weight:900;color:#fff;text-shadow:0 1px 2px #000;transform:translate(-50%,-50%) rotate(var(--a)) translateY(-28px)}
.axwheel .ptr{position:absolute;left:50%;top:-10px;transform:translateX(-50%);border-left:8px solid transparent;border-right:8px solid transparent;border-top:15px solid #fff;filter:drop-shadow(0 2px 2px #000);z-index:2}
.axwres{position:absolute;left:50%;top:104%;transform:translateX(-50%);white-space:nowrap;font-weight:900;font-size:12px;padding:2px 9px;border-radius:999px;background:rgba(10,14,8,.9);border:1.5px solid #3fa34d;color:#fff;animation:pop .25s ease-out}
.axwres.jp{border-color:#ffd84d;box-shadow:0 0 12px #ffd84d}.axwres.ko{border-color:#999}
.axp.bag{width:22px;height:22px;border-radius:40% 40% 50% 50%;background:radial-gradient(circle at 40% 35%,#d9a35a,#8a5a22 70%);border:2px solid #5a3a14;box-shadow:0 0 10px #ffd84d;z-index:3}
.axp.bag::before{content:"";position:absolute;left:50%;top:-6px;width:10px;height:6px;transform:translateX(-50%);background:#5a3a14;border-radius:3px 3px 0 0}
@media (prefers-reduced-motion:reduce){.psv .hrn,.psv .zzz,.ent.crm>.vis,.arena.v2 .ent[data-pv] .look{animation:none}}
.reduced .psv .hrn,.reduced .psv .zzz,.reduced .ent.crm>.vis,.reduced .arena.v2 .ent[data-pv] .look{animation:none}
/* lot 3 : Sram, Sadida, Steamer, Osamodas */
.ent>.trap,.ent>.brm{position:absolute;left:50%;pointer-events:none;display:none;z-index:2}
.ent.trp>.trap{display:block;bottom:calc(var(--plate) - 2px);width:46px;height:16px;z-index:5;transform:translateX(-50%);background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 46 16'%3E%3Cpath d='M1 15h44' stroke='%237a4fb0' stroke-width='3'/%3E%3Cpath d='M3 14l4-12 4 12M13 14l4-13 4 13M23 14l4-12 4 12M33 14l4-13 4 13' fill='%23d8cff0' stroke='%233a2458' stroke-width='1.2'/%3E%3C/svg%3E") center/contain no-repeat;filter:drop-shadow(0 0 4px #b05cff);transform-origin:50% 100%;animation:axtrap .35s ease-out}
@keyframes axtrap{from{transform:translateX(-50%) scaleY(0)}to{transform:translateX(-50%) scaleY(1)}}
.ent>.brm{bottom:calc(var(--plate) + 4px);left:78%;font-size:10px;font-weight:900;color:#fff;padding:1px 5px 1px 14px;border-radius:999px;background:rgba(20,40,10,.88) radial-gradient(circle at 7px 50%,#6fd04a 0 3px,transparent 4px);border:1.5px solid #6fd04a;box-shadow:0 0 8px #3fa34d}
.ent[data-brm]:not([data-brm=""])>.brm{display:block}
.ent[data-brm="3"]>.brm{background-color:rgba(40,70,10,.95);box-shadow:0 0 12px #9bf06a}
.ent>.brm.bpop{animation:pop .3s ease-out}
.arena.v2 .ent[data-pv="tree"] img.sprite,.arena.v2 .ent[data-pv="tree"] .medal{filter:drop-shadow(0 0 6px #6fd04a);transform-origin:50% 100%;animation:axtree 2.4s ease-in-out infinite}
@keyframes axtree{50%{transform:rotate(2deg) scale(1.03)}}
.arena.v2 .ent.spawn[data-pv="turret"] img.sprite,.arena.v2 .ent.spawn[data-pv="turret"] .medal{animation:axdrop .5s cubic-bezier(.5,0,.8,.6)}
@keyframes axdrop{0%{transform:translateY(-160px);opacity:0}20%{opacity:1}85%{transform:translateY(4px) scaleY(.85)}100%{transform:none}}
.axteth{position:absolute;height:3px;transform-origin:0 50%;pointer-events:none;border-radius:2px;background:linear-gradient(90deg,rgba(255,170,220,.9),rgba(160,255,200,.9));box-shadow:0 0 8px rgba(255,170,220,.8);opacity:.75;animation:axteth 1.6s ease-in-out infinite}
@keyframes axteth{50%{opacity:.35}}
.reduced .arena.v2 .ent[data-pv="tree"] img.sprite,.reduced .axteth{animation:none}
@media (prefers-reduced-motion:reduce){.arena.v2 .ent[data-pv="tree"] img.sprite,.axteth{animation:none}}

/* 0.1.8 : familiers et montiliers */
.dslot.pet{border-style:dashed}.dslot.pet.filled{border-style:solid}
.dslot.pet.monti{border-color:var(--gold);box-shadow:0 0 10px rgba(179,224,92,.25)}
.dslot .pgrow{position:absolute;left:6px;bottom:4px;height:3px;border-radius:2px;background:var(--gold);max-width:calc(100% - 12px)}
.petcard{display:flex;gap:10px;align-items:center;width:100%}
.petcard .peticon{flex:none;width:52px;height:52px;border-radius:12px;background:radial-gradient(circle,var(--panel3),var(--panel2));border:1px solid var(--frame);display:grid;place-items:center}
.petcard .peticon img{width:44px;height:44px;object-fit:contain}
.petcard.big .peticon{width:76px;height:76px}.petcard.big .peticon img{width:64px;height:64px}
.petcard.monti .peticon{border-color:var(--gold)}.petcard.f-l .peticon{border-color:#ffd36b;box-shadow:0 0 12px rgba(255,211,107,.3)}
.pbar{position:relative;height:16px;border-radius:999px;background:var(--panel3);overflow:hidden;max-width:360px}
.pbar i{position:absolute;inset:0 auto 0 0;background:linear-gradient(90deg,var(--gold),var(--gold2));opacity:.75}
.pbar span{position:relative;font-size:11px;font-weight:800;padding-left:8px;line-height:16px}
.pbon{color:var(--gold2)}.warnt{color:var(--action)}
.pill.keep{cursor:pointer;border:1px solid var(--frame);background:var(--panel2);color:var(--ink);border-radius:999px;padding:3px 9px;font-size:12px}
.pill.keep.on{border-color:var(--gold);background:color-mix(in srgb,var(--gold) 16%,var(--panel2))}
.petgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:6px}
.pettile{display:grid;grid-template-columns:40px 1fr;grid-template-rows:auto auto auto;column-gap:8px;align-items:center;padding:6px 8px;border-radius:12px;background:var(--panel2);border:1px solid var(--frame);opacity:.55;min-width:0}
.pettile img{grid-row:1/4;width:40px;height:40px;object-fit:contain;filter:grayscale(1) brightness(.7)}
.pettile.own{opacity:1}.pettile.own img{filter:none}.pettile.own{border-color:var(--gold)}
.pettile b{font-size:12.5px;line-height:1.1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.pettile span{font-size:11px;color:var(--muted);line-height:1.2;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.pettile .where{font-size:10.5px}
.pettile.f-l{border-color:#ffd36b}
.cele-art .celepet{width:96px;height:96px;object-fit:contain;filter:drop-shadow(0 5px 8px rgba(0,0,0,.45))}
/* 0.1.8.1 : étoiles de zone */
.zstars{display:inline-flex;align-items:center;gap:4px;font-weight:900;letter-spacing:1px;color:var(--gold2);font-size:12px;white-space:nowrap}
.zstars i{font-style:normal;color:rgba(128,128,128,.28)}.zstars.none{color:rgba(128,128,128,.28)}
.zstars b{font-weight:800;letter-spacing:0;font-size:12px;color:var(--good)}
/* 0.1.9 : montures */
.dslot.mount.blocked{opacity:.45}
.mountcard .peticon{border-color:var(--frame2)}
.mtshare{display:flex;flex-direction:column;gap:6px;background:var(--panel2);border-radius:12px;padding:8px 10px}
.neu{color:var(--archi)}
.carnet .nx{display:flex;gap:10px;align-items:center;background:var(--panel2);border:1px solid var(--archi);border-radius:12px;padding:7px 10px;font-size:13.5px}
.bpair{display:inline-flex;align-items:center;gap:4px;flex:none}.bpair img{width:40px;height:40px;object-fit:contain}.bpair b{color:var(--gold);font-family:var(--font-title);font-size:18px}
.breed{display:flex;gap:10px;align-items:center;background:var(--panel);border-radius:12px;padding:8px 10px}.breed .bar{height:6px;margin-top:4px}
.gens{display:flex;flex-direction:column;gap:6px}
.gen{display:grid;grid-template-columns:150px 1fr;gap:10px;align-items:center;background:var(--panel2);border-radius:12px;padding:7px 10px}
.gen .gl b{display:block;font-size:13px}.gen .gl .bar{height:6px;margin-top:5px}
.chips{display:flex;flex-wrap:wrap;gap:5px}
.mtchip{position:relative;width:46px;height:46px;background:var(--panel);border:1px solid var(--frame);border-radius:10px;display:grid;place-items:center}
.mtchip img{width:40px;height:40px;object-fit:contain;filter:brightness(0) opacity(.4)}
.mtchip.own{border-color:var(--gold)}.mtchip.own img{filter:none}
.mtchip em{position:absolute;right:-4px;top:-6px;font-style:normal;font-size:10.5px;font-weight:900;background:var(--gold);color:#1a1510;border-radius:999px;padding:0 5px}
.treebox{overflow-x:auto;margin:8px 0}
.mtree{position:relative;display:flex;gap:40px;min-width:max-content;padding:4px 4px 8px}
.mtree svg{position:absolute;left:0;top:0;pointer-events:none;overflow:visible}
.mtree .col{display:flex;flex-direction:column;gap:8px;justify-content:center;position:relative;z-index:1}
.mtree h5{margin:0;font-size:11px;font-weight:900;letter-spacing:.6px;text-transform:uppercase;color:var(--muted);text-align:center}
.mtree .node{width:124px;background:var(--panel2);border:1px solid var(--frame);border-radius:12px;padding:5px;display:flex;flex-direction:column;align-items:center;text-align:center;gap:1px}
.mtree .node img{width:46px;height:46px;object-fit:contain;filter:brightness(0) opacity(.4)}
.mtree .node.own img{filter:none}.mtree .node.own{border-color:var(--gold)}
.mtree .node.hint{border-color:var(--archi);border-style:dashed}.mtree .node.hint span{color:var(--archi);font-weight:800}
.mtree .node b{font-size:12.5px}.mtree .node span{font-size:10.5px;color:var(--muted);line-height:1.2}
.mtree path{fill:none;stroke:var(--frame);stroke-width:2;opacity:.5}.mtree path.lit{stroke:var(--gold);opacity:.9}.mtree path.hint{stroke:var(--archi);stroke-dasharray:5 4;opacity:.9}
.carnet{container-type:inline-size}
@container (max-width:520px){.gen{grid-template-columns:1fr}.carnet .nx{flex-wrap:wrap}.carnet .nx .btn{width:100%}} /* 1.0.12.8 : d'après la largeur du carnet (pièce étroite du Havre-Sac sur PC), plus seulement de l'écran */
.mtshare .seg{flex-wrap:wrap}.mtshare .seg button{white-space:nowrap}
/* 0.1.8.2 : objets parfaits */
.tag.perfect{background:linear-gradient(180deg,var(--gold2),var(--gold));color:#2a1a08;border-color:var(--gold);font-weight:800}
.tag.exo{background:linear-gradient(135deg,#7b3fe4,#c04ad9);color:#fff;border-color:#9b5cf0;font-weight:800}
.iname.perfect{color:var(--gold2)}
/* ===== 0.1.9.1 : barre en 4 familles, pages juste en dessous, page Équipe ===== */
nav.main.fams{align-items:stretch}
nav.main.fams>button{font-size:15.5px;padding:7px 16px 7px 8px}
nav.main.fams .med{width:34px;height:34px}nav.main.fams .med img{width:25px;height:25px}
nav.main .navfight{display:none}
#navlive{margin-left:auto;display:flex}
#navlive:empty{display:none}
nav.main .navlive{display:flex;align-items:center;gap:9px;background:rgba(255,107,122,.08);border:2px solid rgba(255,107,122,.45);padding:5px 14px 5px 10px;text-align:left}
.navlive .pulse{width:9px;height:9px;border-radius:50%;background:#ff6b7a;flex:none;animation:navpulse 1.6s infinite}
@keyframes navpulse{0%{box-shadow:0 0 0 0 rgba(255,107,122,.7)}70%{box-shadow:0 0 0 7px rgba(255,107,122,0)}100%{box-shadow:0 0 0 0 rgba(255,107,122,0)}}
.navlive .tx{display:flex;flex-direction:column;line-height:1.15}
.navlive .tx b{font-size:13px}.navlive .tx small{font-size:11.5px;color:var(--muted);font-weight:700;max-width:240px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.navcnt{position:absolute;top:-5px;right:-5px;min-width:18px;height:18px;padding:0 5px;border-radius:999px;background:#ff6b7a;color:#fff;font-size:10.5px;font-weight:900;line-height:18px;text-align:center;box-shadow:0 0 8px rgba(255,107,122,.7)}
nav.subnav{display:flex;flex-direction:column;gap:8px;margin:0 0 12px}
nav.subnav:empty{display:none}
nav.subnav button{position:relative;display:flex;align-items:center;gap:7px;border:0;background:transparent;color:var(--ink);border-radius:9px;padding:4px 13px 4px 5px;font-weight:800;font-size:14px;cursor:pointer;opacity:.86}
nav.subnav button:hover{background:var(--panel2);opacity:1}
nav.subnav button[aria-current="page"]{background:var(--panel3);color:var(--gold2);box-shadow:inset 0 0 0 1px var(--frame);opacity:1}
nav.subnav .med{width:26px;height:26px}nav.subnav .med img{width:19px;height:19px}
nav.subnav .navcnt{position:static;margin-left:2px;box-shadow:none}
nav.subnav .navdot{position:static;display:inline-block;margin-left:2px}
.med.halo,nav.main button[aria-current="page"] .med.halo,nav.subnav .med.halo{background:radial-gradient(circle at 50% 45%,var(--cc),color-mix(in srgb,var(--cc) 45%,var(--med-bg2)) 62%,var(--med-bg2))}
@media (max-width:859px){
  nav.main.fams>button{font-size:10.5px;padding:4px 0}
  nav.main.fams .med{width:30px;height:30px}nav.main.fams .med img{width:22px;height:22px}
  nav.main .navfight{display:flex}
  #navlive{display:none}
  nav.main.fams .navfight .med{width:50px;height:50px;margin-top:-24px;box-shadow:inset 0 0 0 3px var(--med-ring),inset 0 0 0 5px var(--med-bg2),0 0 0 4px var(--panel),0 0 16px rgba(255,107,122,.45)}
  nav.main.fams .navfight .med img{width:32px;height:32px}
  :root[data-theme] nav.main.infight button[data-fam="adv"][aria-current]{background:transparent;color:var(--ink)}
  :root[data-theme] nav.main.infight button[data-fam="adv"][aria-current] .med{background:radial-gradient(circle at 40% 30%,var(--med-bg),var(--med-bg2) 70%);box-shadow:inset 0 0 0 2px var(--med-ring),inset 0 0 0 4px var(--med-bg2),0 2px 4px rgba(0,0,0,.5)}
  nav.main .navcnt{top:0;right:calc(50% - 26px)}
  nav.subnav{flex-wrap:nowrap;overflow-x:auto;border-radius:999px;scrollbar-width:none;margin:0 0 10px}
  nav.subnav::-webkit-scrollbar{display:none}
  nav.subnav button{flex:none;font-size:12.5px;border-radius:999px}
}
/* page Équipe */
.pagehead .grow{flex:1}
.pagehead .btn.reorg{border-color:var(--gold);color:var(--gold2)}
.pagehead .btn.reorg.primary{color:var(--action-ink)}
.tart{height:112px;border-radius:10px;border:0;padding:0;cursor:pointer;background:radial-gradient(circle at 50% 72%,color-mix(in srgb,var(--cc) 55%,transparent),transparent 70%),var(--panel2);display:grid;place-items:end center;overflow:hidden}
.tart .tlook{height:106px;max-width:100%;object-fit:contain}
.thead{display:flex;align-items:center;gap:6px}
.tlv{font-family:var(--font-title);color:var(--gold2);font-size:17px}
.tal{display:flex;flex-wrap:wrap;gap:4px}
.tpill{display:inline-flex;align-items:center;gap:5px;font-size:12px;font-weight:800;border-radius:999px;padding:1px 9px 1px 4px;line-height:20px;white-space:nowrap}
.tpill .uico{width:16px;height:16px}
.tpill.hunt{background:rgba(var(--glw),.14);color:var(--gold2)}.tpill.job{background:rgba(220,187,116,.16);color:#f0d9a2}.tpill.train{background:rgba(110,160,230,.16);color:#bcd5ff}.tpill.rest{background:rgba(168,174,152,.14);color:var(--muted);padding-left:9px}
.tact{grid-column:1/-1;display:flex;gap:6px}.tact .btn{flex:1}
@media (max-width:600px){.tart{height:86px}.tart .tlook{height:82px}}
.tboard{display:flex;flex-direction:column;gap:10px}
.tcols{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);gap:12px}
.tcol{display:flex;flex-direction:column;gap:10px}
.tzone{background:var(--panel);border:2px dashed var(--frame);border-radius:14px;padding:10px;display:flex;flex-direction:column;gap:8px;min-height:88px;transition:background .15s,border-color .15s}
.tzone.over,.tzone.target{border-color:var(--gold);background:rgba(var(--glw),.07);cursor:pointer}
.tzt{display:flex;justify-content:space-between;align-items:baseline;gap:8px}
.tslots{display:flex;flex-wrap:wrap;gap:8px}
.ttok{display:flex;align-items:center;gap:8px;background:var(--panel2);border:1px solid var(--frame);border-radius:12px;padding:4px 12px 4px 4px;cursor:grab;font:inherit;color:var(--ink);text-align:left}
.ttok b{display:block;font-size:13.5px}.ttok .tlv{font-size:13px;margin-left:2px}
.ttok.sel{outline:2px solid var(--gold);background:var(--panel3)}
.ttok[disabled]{opacity:.6;cursor:not-allowed}
.tempty{border:1px dashed var(--line);border-radius:12px;padding:8px 14px;color:var(--muted);font-size:12.5px}
@media (max-width:700px){.tcols{grid-template-columns:minmax(0,1fr)}}
@media (max-width:859px){:root[data-theme] nav.main.fams .navfight[aria-current]{background:transparent;color:var(--gold2)}}
/* ===== sorts signature (38) : une mécanique unique par sort ===== */
.arena .fxg{position:absolute;inset:0;z-index:1;pointer-events:none}
.axp.sg.sgdim{left:0;top:0;width:100%;height:100%;transform:none;background:rgba(5,0,15,.65);z-index:0}
.axp.sg.sgdim.deep{background:rgba(2,0,8,.93)}
.sgpop{animation:pop .3s ease-out}
.sgaura{position:absolute;inset:-10% -20%;border-radius:50%;background:radial-gradient(ellipse,rgba(255,90,42,.55),rgba(255,90,42,0) 70%);animation:sglampf .3s ease-in-out infinite alternate;pointer-events:none}
.sgeyes{position:absolute;left:0;top:18%;width:100%;height:10px;pointer-events:none}
.sgeyes i{position:absolute;width:7px;height:7px;border-radius:50%;background:#ffd84d;box-shadow:0 0 8px #ffd84d}
.sgeyes i:first-child{left:38%}.sgeyes i:last-child{left:56%}
.axp.sg.whiteout{left:0;top:0;width:100%;height:100%;transform:none;background:#fff;z-index:300}
.axp.sg.ico{width:56px;height:56px;border-radius:14px;z-index:210;box-shadow:0 0 0 2px #fff,0 0 18px 4px var(--c,#fff),0 6px 14px rgba(0,0,0,.5)}
.axp.sg.ico img{display:block;width:100%;height:100%;border-radius:14px;object-fit:cover}
.axp.sg.ico.big{width:84px;height:84px;border-radius:18px}.axp.sg.ico.big img{border-radius:18px}
.axp.sg.ico.sm{width:44px;height:44px;border-radius:10px}.axp.sg.ico.sm img{border-radius:10px}
.axp.sg.ico.icoin{border-radius:50%;width:46px;height:46px}.axp.sg.ico.icoin img{border-radius:50%}
.axp.sg.sclone{z-index:205}.axp.sg.sclone img{display:block;width:100%;height:100%;object-fit:contain}
.sgsvg{position:absolute;left:0;top:0;pointer-events:none;z-index:220;filter:drop-shadow(0 0 6px #9fe8ff)}
/* Iop */
.axp.sg.blade{width:12px;height:130px;z-index:200;clip-path:polygon(50% 0,100% 12%,100% 100%,0 100%,0 12%);background:linear-gradient(90deg,rgba(120,200,255,.2),#fff 45%,#fff 55%,rgba(120,200,255,.2));box-shadow:0 0 18px #9fd6ff}
.axp.sg.shadow{width:120px;height:40px;border-radius:50%;background:radial-gradient(rgba(0,0,0,.95),rgba(0,0,0,.4) 60%,transparent 72%);z-index:1}
.axp.sg.crater{width:40px;height:16px;border-radius:50%;border:4px solid #ffb347;box-shadow:0 0 14px #ff7a3c;animation:sgcraterx .7s ease-out forwards;z-index:1}
@keyframes sgcraterx{to{width:260px;height:90px;opacity:0;border-width:1px}}
/* Crâ */
.axp.sg.iceblock{border-radius:14px 14px 10px 10px;z-index:180;background:linear-gradient(135deg,rgba(220,245,255,.85),rgba(120,190,255,.45) 40%,rgba(200,240,255,.7));border:2px solid #fff;box-shadow:0 0 18px #9fd6ff,inset 0 0 20px rgba(255,255,255,.7)}
.axp.sg.iceblock::before{content:"";position:absolute;left:12%;top:8%;width:18%;height:40%;background:linear-gradient(#fff,transparent);opacity:.9;border-radius:4px}
.axp.sg.shard{width:12px;height:12px;z-index:200;clip-path:polygon(50% 0,100% 60%,60% 100%,0 70%);background:#e8f8ff;box-shadow:0 0 8px #9fd6ff}
.axp.sg.stuck{width:28px;height:4px;transform:translate(-50%,-50%) rotate(-25deg);background:linear-gradient(90deg,#8a6a43,#d9c39a);z-index:150}
.axp.sg.blastdisc{width:60px;height:60px;border-radius:50%;background:radial-gradient(circle,#fff,#ffb347 30%,#e0382b 60%,transparent 72%);animation:sgblastx .65s ease-out forwards;z-index:180}
@keyframes sgblastx{to{transform:translate(-50%,-50%) scale(3.2);opacity:0}}
.axp.sg.scorch{width:140px;height:44px;border-radius:50%;background:radial-gradient(rgba(20,10,5,.9),rgba(20,10,5,.5) 60%,transparent 72%);z-index:1}
/* Féca */
.axp.sg.glyphico{width:40px;height:40px;border-radius:50%;z-index:1;transform:translate(-50%,-50%) scaleY(.4);box-shadow:0 0 0 6px rgba(87,208,106,.25),0 0 0 14px rgba(87,208,106,.12),0 0 24px #57d06a;animation:sgglyphspin 1.6s linear infinite}
.axp.sg.glyphico img{display:block;width:100%;height:100%;border-radius:50%;opacity:.9}
@keyframes sgglyphspin{to{transform:translate(-50%,-50%) scaleY(.4) rotate(360deg)}}
.axp.sg.cyclone{width:90px;height:220px;z-index:160;transform:translate(-50%,-65%)}
.axp.sg.cyclone i{position:absolute;left:50%;border-radius:50%;border:4px solid rgba(190,255,200,.9);border-left-color:transparent;border-right-color:rgba(255,255,255,.3);box-shadow:0 0 12px #57d06a;animation:sgcycl .35s linear infinite}
.axp.sg.cyclone i:nth-child(1){top:0;width:90px;height:40px;margin-left:-45px}.axp.sg.cyclone i:nth-child(2){top:55px;width:70px;height:32px;margin-left:-35px;animation-delay:-.1s}.axp.sg.cyclone i:nth-child(3){top:110px;width:50px;height:24px;margin-left:-25px;animation-delay:-.2s}.axp.sg.cyclone i:nth-child(4){top:160px;width:28px;height:16px;margin-left:-14px;animation-delay:-.3s}
@keyframes sgcycl{to{transform:rotateX(60deg) rotate(360deg)}}
.axp.sg.hex{width:34px;height:34px;z-index:170;clip-path:polygon(25% 3%,75% 3%,98% 50%,75% 97%,25% 97%,2% 50%);background:rgba(79,168,255,.35);box-shadow:inset 0 0 0 3px #bfe6ff;opacity:0;animation:sghexin 1.4s ease-out forwards}
@keyframes sghexin{0%{opacity:0;transform:translate(-50%,-50%) scale(.2)}18%{opacity:1;transform:translate(-50%,-50%) scale(1.1)}28%{transform:translate(-50%,-50%) scale(1)}80%{opacity:.9}100%{opacity:0}}
/* Osamodas */
.arena.sg-rumble{animation:sgrumble .08s linear infinite}
@keyframes sgrumble{25%{transform:translate(1px,-1px)}75%{transform:translate(-1px,1px)}}
.axp.sg.sarc{width:36px;height:70px;border-radius:50%;border:4px solid rgba(255,235,200,.95);border-left-color:transparent;border-top-color:transparent;border-bottom-color:transparent;box-shadow:4px 0 10px rgba(255,200,120,.6);z-index:180}
.axp.sg.breath{height:170px;transform:translate(0,-50%);z-index:150;background:linear-gradient(90deg,#fff3c0,rgba(255,140,40,.85) 30%,rgba(224,56,43,.5) 70%,transparent);filter:blur(2px)}
.axp.sg.flame{width:14px;border-radius:50% 50% 40% 40%/70% 70% 30% 30%;transform:translate(-50%,-100%);transform-origin:50% 100%;background:linear-gradient(0deg,#ff9a2a,#ffd84d 40%,rgba(255,220,80,0));box-shadow:0 0 10px #ff7a3c;animation:sgflick2 .22s ease-in-out infinite alternate;z-index:150}
@keyframes sgflick2{to{transform:translate(-50%,-100%) scaleY(.7) skewX(8deg)}}
/* Enutrof */
.axp.sg.crack{width:70px;height:3px;transform-origin:0 50%;transform:rotate(var(--r)) scaleX(0);background:linear-gradient(90deg,#2a1a0a,rgba(42,26,10,.2));animation:sgcrackx .5s ease-out forwards;z-index:1}
@keyframes sgcrackx{to{transform:rotate(var(--r)) scaleX(1)}}
.axp.sg.lamp{width:14px;height:14px;border-radius:50%;background:radial-gradient(circle,#fff6c0,#ffb347 50%,transparent 72%);box-shadow:0 0 30px 14px rgba(255,180,60,.55);animation:sglampf .35s ease-in-out infinite alternate;z-index:200}
@keyframes sglampf{to{opacity:.55;box-shadow:0 0 18px 6px rgba(255,180,60,.35)}}
.axp.sg.wisp{width:60px;height:24px;border-radius:50%;background:radial-gradient(rgba(180,180,170,.35),transparent 70%);animation:sgwispd 1.6s ease-in-out infinite alternate;z-index:150}
@keyframes sgwispd{to{transform:translate(-30%,-80%) scale(1.3)}}
/* Sram */
.axp.sg.greenfill{z-index:180;-webkit-mask:var(--m) center/contain no-repeat;mask:var(--m) center/contain no-repeat;background:linear-gradient(0deg,rgba(90,220,70,.85) 50%,transparent 50%);background-size:100% 200%;background-position:0 100%}
.axp.sg.drip{width:6px;height:12px;border-radius:50% 50% 50% 50%/40% 40% 60% 60%;background:#6fe04a;box-shadow:0 0 6px #9bf06a;opacity:0;animation:sgdripf .9s ease-in forwards;z-index:185}
@keyframes sgdripf{0%{opacity:1;transform:translate(-50%,-50%)}100%{opacity:0;transform:translate(-50%,40px) scaleY(1.6)}}
.arena.sg-stopped .ent,.arena.sg-stopped svg.bg{filter:grayscale(1) brightness(.8)}
.arena.sg-stopped .ent.hero{filter:grayscale(.3)}
.axp.sg.cutline{width:160px;height:2px;background:#fff;box-shadow:0 0 8px #fff,0 0 2px #ff2a2a;z-index:220}
.axp.sg.half.l img{clip-path:polygon(0 0,62% 0,38% 100%,0 100%)}.axp.sg.half.r img{clip-path:polygon(62% 0,100% 0,100% 100%,38% 100%)}
/* Xélor */
.axp.sg.darkband{height:36px;transform-origin:0 50%;transform:translate(0,-50%);border-radius:18px;background:linear-gradient(0deg,#f1cf6e,#120a20 25%,#120a20 75%,#f1cf6e);box-shadow:0 0 14px rgba(241,207,110,.7);z-index:150}
.arena.sg-rewind .ent,.arena.sg-rewind svg.bg{filter:sepia(.9) contrast(1.1)}
.axp.sg.grain{left:0;top:0;width:100%;height:100%;transform:none;z-index:250;opacity:.35;background:repeating-radial-gradient(circle at 20% 30%,#000 0 1px,transparent 1px 3px),repeating-radial-gradient(circle at 70% 60%,#fff 0 1px,transparent 1px 4px);animation:sggrainj .1s steps(2) infinite;mix-blend-mode:overlay}
@keyframes sggrainj{to{background-position:3px 2px,-2px 4px}}
.axp.sg.rwsym{font-family:var(--font-title);font-size:26px;color:#fff;text-shadow:0 0 8px #000;z-index:260;animation:sgaxblink .5s steps(2) infinite}
@keyframes sgaxblink{50%{opacity:.2}}
/* Ecaflip */
.axp.sg.tic{font-size:11px;font-weight:900;color:#fff;text-shadow:0 1px 2px #000;animation:sgticup .5s ease-out forwards;z-index:220}
@keyframes sgticup{to{transform:translate(-50%,-150%);opacity:0}}
.axp.sg.kama{width:12px;height:12px;border-radius:50%;background:radial-gradient(circle at 35% 30%,#fff3b0,#e7c46a 50%,#a07a22);border:1px solid #6b4f12;animation:sgkamaf .9s cubic-bezier(.5,0,.8,.6) forwards;z-index:200}
@keyframes sgkamaf{0%{opacity:0}10%{opacity:1}100%{top:var(--fy);opacity:1}}
.axp.sg.slot{display:flex;gap:6px;padding:8px 10px;border-radius:12px;background:#2a1a40;border:3px solid #f1cf6e;box-shadow:0 0 18px rgba(241,207,110,.6);z-index:240}
.axp.sg.slot b{width:34px;height:44px;border-radius:6px;background:#fffaf0;color:#c12f2f;font-size:30px;font-weight:900;display:grid;place-items:center;box-shadow:inset 0 -8px 10px rgba(0,0,0,.2)}
.axp.sg.slot.win{animation:sgslotw .2s steps(2) 6}
@keyframes sgslotw{50%{box-shadow:0 0 30px 8px #ffd84d}}
/* Eniripsa */
.axp.sg.letter{font-family:var(--font-title);font-size:18px;font-weight:900;color:#fff;text-shadow:0 0 6px #ff8ad8,0 1px 2px #000;z-index:220}
.axp.sg.letter.red{color:#ff3b5c;text-shadow:0 0 8px #ff3b5c}
.axp.sg.censor{padding:3px 10px;background:#000;color:#fff;font-size:18px;font-weight:900;letter-spacing:2px;border:2px solid #fff;z-index:230;box-shadow:0 0 10px #ff3b3b}
.axp.sg.censor.tremble{animation:sgtrem .08s linear infinite}
@keyframes sgtrem{25%{margin-left:-3px}75%{margin-left:3px}}
/* Sadida */
.axp.sg.floorgreen{left:0;top:62%;width:100%;height:38%;transform:none;z-index:1;background:linear-gradient(180deg,rgba(90,200,70,.0),rgba(90,200,70,.55) 30%,rgba(60,160,50,.6))}
.axp.sg.blade2{width:8px;height:34px;transform:translate(-50%,-100%);transform-origin:50% 100%;border-radius:50% 50% 0 0;background:linear-gradient(0deg,#2c6a1a,#6fd04a);animation:sggrassup .5s ease-out both;z-index:150}
@keyframes sggrassup{0%{transform:translate(-50%,-100%) scaleY(0)}60%{transform:translate(-50%,-100%) scaleY(1.2) rotate(-8deg)}100%{transform:translate(-50%,-100%) scaleY(1) rotate(6deg)}}
.axp.sg.shadowc img{filter:brightness(0);opacity:.9}
.axp.sg.shadowc i{position:absolute;top:30%;width:7px;height:7px;border-radius:50%;background:#ff3b3b;box-shadow:0 0 8px #ff3b3b}
.axp.sg.shadowc i:first-of-type{left:34%}.axp.sg.shadowc i:last-of-type{left:58%}
/* Sacrieur */
.axp.sg.blood{width:9px;height:9px;border-radius:50% 50% 50% 0;transform:translate(-50%,-50%) rotate(-45deg);background:#e0382b;box-shadow:0 0 6px #ff5050;z-index:200}
.axp.sg.after img{filter:sepia(1) saturate(8) hue-rotate(-30deg) brightness(.9) blur(1px);opacity:.6}
.axp.sg.slashr{width:90px;height:6px;border-radius:3px;transform:translate(-50%,-50%) rotate(var(--r));background:linear-gradient(90deg,transparent,#ff2a2a 30%,#fff 50%,#ff2a2a 70%,transparent);box-shadow:0 0 10px #ff2a2a;animation:sgfade .6s ease-out forwards;z-index:220}
/* Pandawa */
.axp.sg.ripple{width:60px;height:60px;border-radius:50%;border:6px solid rgba(255,255,255,.55);box-shadow:0 0 0 2px rgba(255,220,150,.4);animation:sgripplex .9s ease-out forwards;z-index:170}
@keyframes sgripplex{to{width:700px;height:700px;opacity:0;border-width:1px}}
.axp.sg.splash{width:7px;height:10px;border-radius:50%;background:#e8b04a;box-shadow:0 0 6px #ffd27a;z-index:200}
.axp.sg.hips{font-size:12px;font-weight:900;color:#ffd27a;text-shadow:0 1px 2px #000;animation:sgticup .9s ease-out forwards;z-index:220}
.axp.sg.bub2{width:8px;height:8px;border-radius:50%;border:1.5px solid #ffe9a0;background:rgba(255,230,160,.25);animation:sgbubup 1s ease-out both;z-index:200}
@keyframes sgbubup{0%{opacity:0}20%{opacity:1}100%{opacity:0;transform:translate(-50%,-50px)}}
/* Roublard */
.arena.sg-zoomb{transform:scale(1.25);transform-origin:var(--zx) var(--zy);transition:transform .45s ease-out}
.axp.sg.reticle{width:56px;height:56px;border-radius:50%;border:2px solid #ff4d4d;box-shadow:0 0 8px #ff4d4d,inset 0 0 8px #ff4d4d;z-index:230;animation:sgretin .5s ease-out both}
.axp.sg.reticle::before,.axp.sg.reticle::after{content:"";position:absolute;background:#ff4d4d}
.axp.sg.reticle::before{left:50%;top:-8px;width:2px;height:calc(100% + 16px);margin-left:-1px}.axp.sg.reticle::after{top:50%;left:-8px;height:2px;width:calc(100% + 16px);margin-top:-1px}
@keyframes sgretin{from{transform:translate(-50%,-50%) scale(3) rotate(90deg);opacity:0}to{transform:translate(-50%,-50%) scale(1) rotate(0);opacity:1}}
.axp.sg.muzzle{width:44px;height:30px;background:radial-gradient(ellipse,#fff,#ffd84d 40%,#ff7a2a 65%,transparent 72%);animation:sgfade .25s ease-out forwards;z-index:170}
.axp.sg.bullet{width:10px;height:10px;border-radius:50%;background:#fff;box-shadow:0 0 10px #ffd84d,-30px 0 14px -4px rgba(255,216,77,.6),-60px 0 20px -8px rgba(255,216,77,.3);z-index:220}
.arena.sg-beat{animation:sgbeat .3s ease-out}
@keyframes sgbeat{30%{transform:scale(1.025)}}
.axp.sg.mstem{width:70px;height:120px;transform:translate(-50%,-100%);border-radius:30px 30px 10px 10px;background:linear-gradient(0deg,rgba(80,70,60,.3),rgba(120,110,100,.8));filter:blur(3px);animation:sgstemup .9s ease-out both;z-index:160}
@keyframes sgstemup{from{transform:translate(-50%,-100%) scaleY(0);transform-origin:50% 100%}to{transform:translate(-50%,-100%) scaleY(1)}}
.axp.sg.mcap{width:60px;height:60px;border-radius:50%;background:radial-gradient(circle at 40% 35%,rgba(170,160,150,.95),rgba(80,70,60,.75) 65%,transparent 72%);filter:blur(1px);opacity:0;animation:sgcapin 1.3s ease-out both;z-index:165}
@keyframes sgcapin{0%{opacity:0;transform:translate(-50%,20px) scale(.3)}30%{opacity:1;transform:translate(-50%,-50%) scale(1)}100%{opacity:0;transform:translate(-50%,-90%) scale(1.3)}}
/* Zobal */
.axp.sg.footfire{width:16px;height:16px;border-radius:50%;background:radial-gradient(circle,#fff3c0,#ff9a2a 45%,transparent 70%);box-shadow:0 0 12px #ff7a3c;animation:sglampf .3s ease-in-out infinite alternate;z-index:1}
.axp.sg.firering{width:220px;height:80px;transform:translate(-50%,-50%);border-radius:50%;border:5px solid #ff7a3c;box-shadow:0 0 18px #ff7a3c,inset 0 0 18px #ff7a3c;animation:sgaxfire 1.2s ease-out forwards;z-index:1}
@keyframes sgaxfire{0%{transform:translate(-50%,-50%) scale(.2);opacity:1}30%{transform:translate(-50%,-50%) scale(1)}100%{transform:translate(-50%,-50%) scale(1.1);opacity:0}}
.axp.sg.spot{width:70px;transform:translate(-50%,0);clip-path:polygon(40% 0,60% 0,100% 100%,0 100%);background:linear-gradient(180deg,rgba(255,250,220,.9),rgba(255,250,220,.25));z-index:4;filter:blur(1px)}
.axp.sg.spotfloor{width:150px;height:40px;border-radius:50%;background:radial-gradient(rgba(255,250,220,.75),transparent 70%);z-index:4}
.axp.sg.colorflash{width:120px;height:120px;border-radius:50%;background:radial-gradient(circle,var(--c),transparent 70%);animation:sgfade .4s ease-out forwards;z-index:200}
.axp.sg.curtain{top:0;width:52%;height:100%;transform:none;background:repeating-linear-gradient(90deg,#8a1020 0 18px,#b01a30 18px 36px);box-shadow:0 0 20px #000;z-index:310}
.axp.sg.curtain.l{left:0}.axp.sg.curtain.r{left:48%}
/* Steamer */
.axp.sg.water{left:0;bottom:0;top:auto;width:100%;height:0;transform:none;z-index:120;background:linear-gradient(180deg,rgba(220,245,255,.9),rgba(79,168,255,.55) 12%,rgba(30,90,180,.6));border-top:3px solid #fff;border-radius:40% 60% 0 0/12px 12px 0 0}
@keyframes sgxray{50%{filter:invert(1) brightness(1.4)}}
/* Eliotrope */
.axp.sg.portalfx{width:22px;height:60px;border-radius:50%;border:3px solid #6ff0e6;background:radial-gradient(closest-side,rgba(10,30,40,.9),rgba(111,240,230,.35));box-shadow:0 0 16px #6ff0e6;animation:pop .3s ease-out;z-index:170}
.axp.sg.wdash{width:40px;height:6px;border-radius:3px;background:linear-gradient(90deg,transparent,#6ff0e6,#fff);box-shadow:0 0 10px #6ff0e6;z-index:200}
.axp.sg.bigportal{width:260px;height:44px;border-radius:50%;border:4px solid #6ff0e6;background:radial-gradient(closest-side,rgba(10,30,40,.95),rgba(111,240,230,.4));box-shadow:0 0 30px #6ff0e6,inset 0 0 30px #6ff0e6;z-index:4;animation:sgportalpulse .6s ease-in-out infinite alternate}
@keyframes sgportalpulse{to{box-shadow:0 0 50px #6ff0e6,inset 0 0 40px #6ff0e6}}
/* Huppermage */
.axp.sg.meteor{width:70px;height:70px;border-radius:50%;background:radial-gradient(circle at 40% 40%,#fff6b0,#ff9a2a 40%,#7a3a14 70%);box-shadow:0 0 30px 8px rgba(255,120,40,.8);z-index:200}
.axp.sg.tail{height:14px;border-radius:7px;transform:translate(-100%,-50%) rotate(28deg);transform-origin:100% 50%;background:linear-gradient(90deg,transparent,rgba(255,120,40,.8));filter:blur(1px);animation:sgfade .5s ease-out forwards;z-index:190}
.axp.sg.craterglow{width:150px;height:46px;border-radius:50%;background:radial-gradient(rgba(255,120,40,.9),rgba(120,30,10,.6) 55%,transparent 72%);box-shadow:0 0 20px #ff7a3c;z-index:1}
.axp.sg.elorb{width:18px;height:18px;border-radius:50%;background:radial-gradient(circle,#fff,var(--c) 60%);box-shadow:0 0 12px var(--c);z-index:200;animation:sgorbit2 .9s linear infinite}
@keyframes sgorbit2{from{transform:translate(-50%,-50%) rotate(var(--a)) translateX(46px)}to{transform:translate(-50%,-50%) rotate(calc(var(--a) + 360deg)) translateX(46px)}}
.axp.sg.whiteorb{width:40px;height:40px;border-radius:50%;background:radial-gradient(circle,#fff,rgba(255,255,255,.4) 60%,transparent);box-shadow:0 0 30px #fff;animation:sgblastx .5s ease-out forwards;z-index:200}
.arena.sg-tilt{animation:sgtilt .45s ease-in-out 3}
@keyframes sgtilt{25%{transform:rotate(2.5deg)}75%{transform:rotate(-2.5deg)}}
.axp.sg.bigtornado{width:220px;height:260px;transform:translate(-50%,-60%);border-radius:50% 50% 30% 30%;background:repeating-linear-gradient(165deg,transparent 0 12px,rgba(255,255,255,.35) 12px 18px),conic-gradient(from 0deg,#ff7a3c,#4fa8ff,#c08a3e,#57d06a,#ff7a3c);-webkit-mask:radial-gradient(ellipse at center,#000 30%,transparent 70%);mask:radial-gradient(ellipse at center,#000 30%,transparent 70%);animation:sgaxvort .2s linear infinite;z-index:160;opacity:.85}
@keyframes sgaxvort{to{background-position:0 30px,0 0}}
/* Ouginak */
.axp.sg.jaw{width:64px;height:22px;z-index:220;background:#fff;box-shadow:0 0 8px #c08a3e}
.axp.sg.jaw.t{clip-path:polygon(0 0,100% 0,88% 100%,72% 45%,56% 100%,40% 45%,24% 100%,10% 45%)}
.axp.sg.jaw.b{clip-path:polygon(0 100%,100% 100%,88% 0,72% 55%,56% 0,40% 55%,24% 0,10% 55%)}
.axp.sg.leash{height:4px;transform-origin:0 50%;border-radius:2px;background:linear-gradient(90deg,#fff,#c08a3e);box-shadow:0 0 8px #c08a3e;z-index:150;transition:height .1s}
.axp.sg.leash.taut{height:2px;background:#fff;box-shadow:0 0 10px #fff}
.axp.sg.bitemark{width:40px;height:40px;border-radius:50%;border:4px dotted #fff;box-shadow:0 0 8px #c08a3e;animation:sgring .5s ease-out forwards;z-index:220}
/* Forgelance */
.axp.sg.banner{height:34px;transform:translate(0,-50%);transform-origin:0 50%;background:linear-gradient(180deg,#e0382b 0 50%,#f1cf6e 50%);clip-path:polygon(0 0,100% 0,90% 50%,100% 100%,0 100%);animation:sgwave .25s ease-in-out infinite alternate;z-index:140;opacity:.9}
@keyframes sgwave{to{transform:translate(0,-50%) skewY(6deg)}}
.axp.sg.lanceup{width:6px;height:70px;border-radius:3px;background:linear-gradient(0deg,#b07a3a,#f1d7a0);z-index:200}
.axp.sg.lancefall{width:5px;height:60px;transform:translate(-50%,-50%) rotate(8deg);border-radius:3px;background:linear-gradient(0deg,#b07a3a,#f1d7a0 70%,#fff);box-shadow:0 0 6px rgba(255,230,160,.8);z-index:150}

@keyframes sgring{to{width:90px;height:90px;opacity:0;border-width:1px}}
@keyframes sgfade{to{opacity:0}}

/* 0.1.10.1 : compositions d'équipe */
.comps{margin-bottom:12px;display:flex;flex-direction:column;gap:8px}
.compgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:10px}
.compcard{display:flex;flex-direction:column;gap:6px;background:var(--panel);border:1px solid var(--line);border-radius:12px;padding:10px 12px;min-width:0}
.compcard.on{border-color:var(--gold);box-shadow:0 0 0 1px var(--gold) inset}
.compcard.add{align-items:center;justify-content:center;border-style:dashed;color:var(--ink);font:inherit;font-weight:700;cursor:pointer;min-height:96px;background:transparent}
.compcard.add:hover{background:var(--panel2)}
.compname{flex:1;min-width:0;font-weight:800;background:transparent;border:1px solid transparent;border-radius:6px;padding:2px 4px;color:inherit;font-size:14px}
.compname:hover,.compname:focus{border-color:var(--line);background:var(--panel2)}
.comph{gap:4px;flex-wrap:wrap}
.compsug{display:flex;flex-wrap:wrap;gap:6px;align-items:center}

/* ===== 0.1.10 : idoles (statuette d'une famille teintée selon le rang, effet par rang et par famille) ===== */
.idolbtn .iico,.idolpill .iico,.idolres .iico{width:18px;height:18px;object-fit:contain;margin-right:-4px;vertical-align:middle}
.idolbtn .iico:last-of-type,.idolpill .iico:last-of-type,.idolres .iico{margin-right:2px}
.idolbtn.on{border-color:var(--gold)}
.chalres.idolres{background:linear-gradient(135deg,rgba(201,162,255,.14),rgba(var(--glw),.08));border-color:rgba(201,162,255,.5)}
.islots{display:grid;grid-template-columns:repeat(6,1fr);gap:6px}
.islot{background:var(--panel2);border:2px solid var(--frame);border-radius:12px;padding:8px 4px 6px;display:flex;flex-direction:column;align-items:center;gap:3px;text-align:center;min-width:0}
.islot .n{font-size:12px;font-weight:800;overflow:hidden;text-overflow:ellipsis;max-width:100%;white-space:nowrap}
.islot b{font-size:12px;color:var(--gold)}.islot.off{opacity:.55}.islot.off b{color:var(--muted)}
.islot.empty{border-style:dashed;justify-content:center;min-height:110px;color:var(--muted);font-size:12px;font-weight:700}
.islot .btn{padding:2px 8px;font-size:11px}
.ifamrow{display:flex;flex-direction:column;gap:6px}
.ifh{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.ifgrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,230px),1fr));gap:8px}
.idol{display:grid;grid-template-columns:52px 1fr;gap:8px;align-items:start;background:var(--panel2);border:2px solid var(--line);border-radius:12px;padding:8px 10px;min-width:0}
.idol.on{border-color:var(--gold);background:linear-gradient(180deg,rgba(var(--glw),.1),var(--panel2))}
.idol.lock{opacity:.7}.idol.lock .ipic img{filter:brightness(.75)}
.idol .t{display:flex;flex-direction:column;gap:2px;min-width:0}
.idol .nm{font-weight:900;font-size:15px}.idol .sc{color:var(--gold);margin-left:4px}
.idol p{margin:0;font-size:12.5px}.idol .t .warn{color:var(--danger)}
.idol .btn,.idol>.tag{grid-column:1/3;justify-self:start;margin-top:2px}
.idol .ing{gap:4px 8px;margin-top:2px;font-size:11.5px}.idol .ing img{width:16px;height:16px;object-fit:contain}
.ifam{display:inline-block;font-size:10.5px;font-weight:900;letter-spacing:.5px;text-transform:uppercase;color:var(--c);background:color-mix(in srgb,var(--c) 16%,transparent);padding:1px 7px;border-radius:999px}
.ipic{position:relative;display:inline-flex;align-items:center;justify-content:center;flex:none;width:52px;height:52px}
.ipic img{display:block;position:relative;z-index:1;width:52px;height:52px;object-fit:contain;filter:drop-shadow(0 3px 4px rgba(0,0,0,.5))}
.ipic.big,.ipic.big img{width:96px;height:96px}
.ipic.r1 img{filter:hue-rotate(50deg) drop-shadow(0 0 6px var(--c)) drop-shadow(0 3px 4px rgba(0,0,0,.5))}
.ipic.r2 img{filter:hue-rotate(151deg) drop-shadow(0 0 7px var(--c)) drop-shadow(0 3px 4px rgba(0,0,0,.5))}
.ipic.r2::before,.ipic.r2::after{content:"✦";position:absolute;color:var(--c);font-size:12px;z-index:2;text-shadow:0 0 6px var(--c);animation:ispark 1.6s ease-in-out infinite}
.ipic.r2::before{top:-2px;right:-4px}.ipic.r2::after{bottom:4px;left:-6px;font-size:9px;animation-delay:.8s}
.ipic.r3 img{filter:hue-rotate(259deg) drop-shadow(0 0 10px var(--c)) drop-shadow(0 3px 4px rgba(0,0,0,.5));animation:ifloat 3s ease-in-out infinite}
.ipic.r3::before{content:"";position:absolute;inset:-6px;border-radius:50%;background:radial-gradient(circle,color-mix(in srgb,var(--c) 45%,transparent),transparent 70%);animation:ipulse 2s ease-in-out infinite}
.ipic.r3::after{content:"✦ ✦";position:absolute;top:-6px;left:50%;transform:translateX(-50%);color:var(--c);font-size:10px;letter-spacing:14px;z-index:2;text-shadow:0 0 6px var(--c);animation:ispark 1.6s ease-in-out infinite}
.ipic .fx{position:absolute;inset:0;pointer-events:none;z-index:2}
.ipic .fx::before,.ipic .fx::after{position:absolute;color:var(--c);text-shadow:0 0 6px var(--c)}
.f-vie .fx::before{content:"❀";font-size:10px;left:6px;bottom:8px;animation:irise 2.6s linear infinite}
.f-vie .fx::after{content:"❀";font-size:8px;right:8px;bottom:4px;animation:irise 2.6s linear infinite 1.3s}
.f-deg .fx::before{content:"";left:14%;right:14%;bottom:-2px;height:38%;border-radius:50% 50% 30% 30%;background:radial-gradient(ellipse at 50% 100%,rgba(255,120,40,.75),rgba(255,60,20,.25) 55%,transparent 72%);transform-origin:50% 100%;animation:iflick .5s ease-in-out infinite alternate}
.f-deg .fx::after{content:"";left:30%;right:30%;bottom:0;height:26%;border-radius:50%;background:radial-gradient(ellipse at 50% 100%,rgba(255,230,120,.8),transparent 70%);transform-origin:50% 100%;animation:iflick .35s ease-in-out infinite alternate-reverse}
.f-pro .fx::before{content:"";inset:-4px;border-radius:50%;border:2px dashed var(--c);opacity:.8;animation:ispin 6s linear infinite}
.f-pro .fx::after{content:"";inset:2px;border-radius:50%;border:1px solid var(--c);opacity:.35}
.f-nb .fx::before,.f-nb .fx::after{content:"";width:10px;height:10px;border-radius:50%;background:var(--c);opacity:.7;left:50%;top:50%;margin:-5px;box-shadow:0 0 6px var(--c);animation:iorbit 3s linear infinite}
.f-nb .fx::after{animation-delay:-1.5s;width:7px;height:7px;margin:-3.5px}
.f-tempo .fx::before{content:"";right:-4px;top:-4px;width:16px;height:16px;border-radius:50%;border:1.5px solid var(--c);background:rgba(0,0,0,.5)}
.f-tempo .fx::after{content:"";right:3px;top:3px;width:1.5px;height:7px;background:var(--c);transform-origin:50% 100%;animation:ispin 2s linear infinite;margin-top:1px;margin-right:3px}
.f-rythme img{animation:ibeat 1.1s ease-in-out infinite!important}
.f-rythme .fx::before{content:"♥";font-size:11px;right:-2px;bottom:2px;animation:ibeat 1.1s ease-in-out infinite}
.f-soins .fx::before{content:"✚";font-size:10px;left:4px;bottom:6px;animation:irise 2.2s linear infinite}
.f-soins .fx::after{content:"✚";font-size:8px;right:6px;bottom:2px;animation:irise 2.2s linear infinite 1.1s}
.f-res .fx::before{content:"❄";font-size:13px;left:-4px;top:-2px;animation:iglint 2.4s ease-in-out infinite}
.f-res .fx::after{content:"❄";font-size:9px;right:-2px;bottom:4px;animation:iglint 2.4s ease-in-out infinite 1.2s}
.f-crit .fx::before{content:"⚡";font-size:14px;right:-6px;top:-6px;animation:iflash 1.8s steps(1) infinite}
.f-crit .fx::after{content:"";inset:-2px;border-radius:50%;background:radial-gradient(circle,rgba(255,240,180,.55),transparent 60%);animation:iflash 1.8s steps(1) infinite}
@keyframes ispark{0%,100%{opacity:.2;transform:scale(.7)}50%{opacity:1;transform:scale(1.1)}}
@keyframes ifloat{0%,100%{transform:translateY(0)}50%{transform:translateY(-4px)}}
@keyframes ipulse{0%,100%{opacity:.5}50%{opacity:1}}
@keyframes irise{0%{transform:translateY(6px);opacity:0}20%{opacity:1}100%{transform:translateY(-26px);opacity:0}}
@keyframes iflick{from{transform:scaleY(.85) scaleX(.95)}to{transform:scaleY(1.1) scaleX(1.05)}}
@keyframes ispin{to{transform:rotate(360deg)}}
@keyframes iorbit{from{transform:rotate(0) translateX(30px)}to{transform:rotate(360deg) translateX(30px)}}
@keyframes ibeat{0%,100%{transform:scale(1)}14%{transform:scale(1.08)}28%{transform:scale(1)}42%{transform:scale(1.06)}}
@keyframes iglint{0%,100%{opacity:.25;transform:rotate(0) scale(.8)}50%{opacity:1;transform:rotate(45deg) scale(1.1)}}
@keyframes iflash{0%,8%,100%{opacity:0}4%{opacity:1}50%{opacity:0}53%{opacity:.9}56%{opacity:0}}
[data-anim="none"] .ipic *,[data-anim="none"] .ipic::before,[data-anim="none"] .ipic::after,.reduced .ipic *,.reduced .ipic::before,.reduced .ipic::after{animation:none!important}
@media (prefers-reduced-motion:reduce){.ipic *,.ipic::before,.ipic::after{animation:none!important}}
@media (max-width:640px){.islots{grid-template-columns:repeat(3,1fr)}.idol{grid-template-columns:48px 1fr}}

/* ---------- 0.1.11.1 : barre de sorts, fiche du sort, grimoire par paires ---------- */
.spgrid{display:grid;grid-template-columns:minmax(0,1fr) 330px;grid-template-areas:"bar det" "grim det";gap:14px;align-items:start}
.spbarp{grid-area:bar}.spdetp{grid-area:det;position:sticky;top:12px}.spgrimp{grid-area:grim}
@media (max-width:860px){.spgrid{grid-template-columns:minmax(0,1fr);grid-template-areas:"bar" "det" "grim"}.spdetp{position:static}}
.spbar{display:grid;grid-template-columns:repeat(8,minmax(0,1fr));gap:8px;padding:10px;border-radius:14px;background:var(--panel2);box-shadow:inset 0 0 0 2px var(--line)}
@media (max-width:600px){.spbar{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px 8px;padding:9px 8px}}
.spslotw{display:flex;flex-direction:column;align-items:center;gap:5px;min-width:0}
.spslot{position:relative;width:100%;max-width:64px;aspect-ratio:1;border:0;border-radius:12px;background:var(--panel);box-shadow:inset 0 0 0 2px var(--c,var(--frame)),0 2px 6px rgba(0,0,0,.28);display:grid;place-items:center;cursor:pointer;padding:0;transition:transform .12s,box-shadow .12s;color:var(--ink)}
.spslot img{width:80%;height:80%;object-fit:contain;border-radius:8px;pointer-events:none}
.spslot:hover{transform:translateY(-2px)}
.spslot.sel{box-shadow:inset 0 0 0 3px var(--gold),0 0 14px color-mix(in srgb,var(--gold) 70%,transparent)}
.spslot.over{transform:scale(1.08);box-shadow:inset 0 0 0 3px var(--action),0 0 14px color-mix(in srgb,var(--action) 70%,transparent)}
.spslot .n{position:absolute;top:-6px;left:-6px;width:19px;height:19px;border-radius:50%;background:var(--frame);color:#fff7e3;font-size:10.5px;font-weight:900;display:grid;place-items:center}
.spslot .pa{position:absolute;bottom:-5px;right:-5px;min-width:19px;height:19px;padding:0 3px;border-radius:999px;background:#2f6fb0;color:#fff;font-size:10.5px;font-weight:900;display:grid;place-items:center;box-shadow:0 0 0 2px var(--panel2)}
.spslot.empty{background:transparent;box-shadow:inset 0 0 0 2px var(--line);border:2px dashed var(--frame2);font-size:20px;color:var(--muted)}
.spslot.empty.sel{border-color:var(--gold)}
.spslot.lock{opacity:.4;cursor:default;font-size:15px;background:transparent;box-shadow:inset 0 0 0 2px var(--line)}
.spslot.lock:hover{transform:none}
.spcl{font-size:10px;font-weight:900;line-height:15px;min-height:15px;border-radius:999px;padding:0 6px;white-space:nowrap;max-width:100%;overflow:hidden;text-overflow:ellipsis;color:var(--muted)}
.spcl.on{background:color-mix(in srgb,var(--archi) 22%,transparent);color:var(--ink)}
.spdet{display:flex;flex-direction:column;gap:9px}
.spdet h2{font-size:18px}
.spdet .spicon{width:56px;height:56px}
.splab{font-size:11px;font-weight:900;letter-spacing:.6px;text-transform:uppercase;color:var(--muted)}
.spchips{display:flex;flex-wrap:wrap;gap:5px}
.spc{border:0;cursor:pointer;border-radius:999px;padding:3px 10px;font-weight:800;font-size:12px;background:var(--panel2);color:var(--ink);box-shadow:inset 0 0 0 1.5px var(--line);white-space:nowrap}
.spc:hover{box-shadow:inset 0 0 0 1.5px var(--frame2)}
.spc.on{background:var(--action);color:var(--action-ink);box-shadow:none}
.spc.big{font-size:13px;padding:5px 13px}
.spest{background:var(--panel2);border-radius:10px;padding:7px 9px;display:flex;flex-direction:column;gap:3px;font-size:13px}
.spvar{display:flex;align-items:center;gap:8px;width:100%;text-align:left;border:1.5px dashed var(--frame2);background:transparent;border-radius:12px;padding:6px 8px;cursor:pointer;color:var(--ink)}
.spvar:hover{border-color:var(--gold)}
.spvar.off{opacity:.55;cursor:default}
.spvar .spicon{width:40px;height:40px}
/* 0.1.11.2 : aperçu des tours et conseils */
.spgrid{grid-template-areas:"bar det" "prev det" "grim det"}
.spprevp{grid-area:prev}
@media (max-width:860px){.spgrid{grid-template-areas:"bar" "det" "prev" "grim"}}
/* 1.0.4.5 : grimoire juste sous la barre, et rappel « Ta barre » collé en haut de l'écran pendant qu'on parcourt le grimoire */
.spgrid{grid-template-areas:"bar det" "grim det" "prev det"}
@media (max-width:860px){.spgrid{grid-template-areas:"bar" "det" "grim" "prev"}}
.spgrimp{overflow:clip}
.spmini{position:sticky;top:var(--spmt,calc(var(--sth,56px) + 60px));z-index:6;display:flex;flex-wrap:wrap;align-items:center;gap:6px 10px;padding:8px 14px;background:var(--panel2);border-bottom:2px solid var(--line);box-shadow:0 6px 12px rgba(0,0,0,.18)}
.spmrow{display:flex;gap:6px;flex-wrap:wrap}
.spslot.spm{width:40px;height:40px;max-width:none;border-radius:9px}
.spslot.spm.empty{font-size:15px}
.spmh{flex:1 1 200px;color:var(--ink)}
.spdetp{top:var(--spmt,calc(var(--sth,56px) + 60px))}
@media (max-width:600px){.spmini{padding:7px 10px}.spslot.spm{width:36px;height:36px}.spmh{flex-basis:100%}}
.spturns{display:flex;flex-direction:column;gap:7px}
.sptn{display:grid;grid-template-columns:62px minmax(0,1fr) 64px;gap:10px;align-items:center}
.sptn .tn{font-family:var(--font-title);color:var(--title);font-size:15px}
.sptn .casts{display:flex;flex-wrap:wrap;gap:4px;align-items:center}
.sptn .tot{font-size:12px;font-weight:800;color:var(--muted);text-align:right;font-variant-numeric:tabular-nums}
.spcast{display:inline-flex;align-items:center;gap:5px;background:var(--panel2);border-radius:9px;padding:2px 8px 2px 2px;font-size:12px;font-weight:800}
.spcast img{width:26px;height:26px;border-radius:6px}
.pips{display:inline-flex;gap:2px;margin-left:4px}
.pips i{width:7px;height:11px;border-radius:2px;background:#2f6fb0}
.pips i.off{background:var(--panel3)}
.pips i.plus{background:var(--gold2)} /* 1.0.12.8 : PA gagnés en combat */
@media (max-width:600px){.sptn{grid-template-columns:48px minmax(0,1fr) 52px;gap:6px}.spcast{padding:1px;border-radius:7px}.spcast span{display:none}.spcast img{width:24px;height:24px}}
.spsum{display:flex;align-items:center;gap:6px 14px;flex-wrap:wrap;font-size:13px;border-top:1px solid var(--line);padding-top:8px}
.spsum b{font-size:15px}
.elbar{display:flex;height:9px;width:140px;border-radius:5px;overflow:hidden;background:var(--panel3)}
.elbar i{display:block;height:100%}
.sptips{display:flex;flex-direction:column;gap:6px}
.sptip{display:flex;align-items:center;gap:9px;border-radius:10px;padding:6px 9px;background:color-mix(in srgb,var(--danger) 9%,transparent);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--danger) 35%,transparent)}
.sptip.ok{background:color-mix(in srgb,var(--action) 10%,transparent);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--action) 40%,transparent)}
.sptip img{width:26px;height:26px;border-radius:6px;flex:none}
/* ---------- 0.1.12 : Renaissance ---------- */
.hcard .renm{position:absolute;top:36px;left:7px;z-index:2;min-width:26px;height:26px;padding:0 6px;border-radius:999px;display:grid;place-items:center;font-family:var(--font-title);font-size:13px;color:#fff7e3;
  background:radial-gradient(circle at 35% 30%,#ffc35a,#d9541e);box-shadow:0 0 0 2px rgba(14,11,20,.85),0 0 10px rgba(255,170,60,.8)}
.renm.inline{position:static;display:inline-grid;min-width:22px;height:22px;font-size:12px;vertical-align:middle;margin-left:4px}
.hcard.ren-braise{box-shadow:0 10px 26px rgba(0,0,0,.55),0 0 0 2px #d9541e,0 0 14px rgba(217,84,30,.7)}
.hcard.ren-flamme{box-shadow:0 10px 26px rgba(0,0,0,.55),0 0 0 2px #e0832a,0 0 20px rgba(224,131,42,.85)}
.hcard.ren-brasier{box-shadow:0 10px 26px rgba(0,0,0,.55),0 0 0 3px #c23a5c,0 0 26px rgba(194,58,92,.9)}
.hcard.ren-phenix{box-shadow:0 10px 26px rgba(0,0,0,.55),0 0 0 3px #e9b93a,0 0 32px rgba(233,185,58,.95)}
.hcard.ren-phenix::after{content:"";position:absolute;inset:-8px;z-index:-1;border-radius:24px;background:conic-gradient(from 0deg,#e9b93a,#ff7a3d,#e9b93a,#fff1a8,#e9b93a);opacity:.55;filter:blur(6px)}
.hcard .orn.phx{bottom:4px;font-size:26px;filter:drop-shadow(0 0 8px #ff9a3d)}.hcard .orn.phx.l{left:-14px;transform:rotate(-20deg)}.hcard .orn.phx.r{right:-14px;transform:scaleX(-1) rotate(-20deg)}
.btn.ren{border-color:#d9541e;background:linear-gradient(180deg,#f2a33a,#d9541e);color:#fff7e3;box-shadow:0 3px 0 #8a2f10}
.btn.ren .uico{width:18px;height:18px}
.tag.ren{background:#d9541e;color:#fff7e3}
.evpill{display:inline-block;background:var(--panel3);border:1px solid var(--line);border-radius:999px;padding:2px 9px;font-weight:800;font-size:12px;margin:2px 0}
.renhead{display:flex;gap:16px;align-items:flex-start;flex-wrap:wrap}
.renstage{position:relative;flex:none;width:150px;height:190px;border-radius:14px;overflow:hidden;display:grid;place-items:end center;background:radial-gradient(circle at 50% 80%,rgba(242,163,58,.55),transparent 65%),var(--panel2);border:1px solid var(--line)}
.renstage.small{width:96px;height:96px;place-items:center}
.renstage .renlook{height:170px;max-width:100%;object-fit:contain;position:relative;z-index:2;filter:drop-shadow(0 4px 6px rgba(0,0,0,.4))}
.renstage .renbig{width:64px;height:64px;position:relative;z-index:2}
.renfl{position:absolute;left:0;right:0;bottom:0;height:60%;z-index:1;pointer-events:none;background:
  radial-gradient(14px 40px at 20% 100%,rgba(242,163,58,.9),transparent 70%),radial-gradient(18px 56px at 50% 100%,rgba(217,84,30,.95),transparent 70%),radial-gradient(14px 44px at 80% 100%,rgba(242,163,58,.9),transparent 70%),radial-gradient(10px 30px at 35% 100%,rgba(255,210,80,.9),transparent 70%),radial-gradient(10px 30px at 65% 100%,rgba(255,210,80,.9),transparent 70%);
  animation:renfl 1.6s ease-in-out infinite alternate}
@keyframes renfl{to{transform:translateY(-6px) scaleY(1.12);opacity:.8}}
.renhead .stack{flex:1;min-width:220px}
.rencols{display:grid;grid-template-columns:1fr 1fr;gap:10px}.rencols ul{margin:0;padding-left:16px}
.rencols .cap{font-size:11px;letter-spacing:.08em;text-transform:uppercase;font-weight:800;margin-bottom:3px}.cap.keep{color:var(--action)}.cap.reset{color:var(--danger)}
.evgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:8px}
.evbtn{display:flex;flex-direction:column;gap:3px;text-align:left;padding:8px 10px;border-radius:10px;border:2px solid var(--line);background:var(--panel2);cursor:pointer;color:var(--ink)}
.evbtn .n{font-weight:800;display:flex;justify-content:space-between;gap:6px;flex-wrap:wrap}.evbtn .rk{font-size:11px;color:var(--muted);font-weight:700}
.memcls{display:inline-flex;align-items:center;gap:4px;font-size:11px;font-weight:800;color:var(--cc)}.memcls img{width:16px;height:16px;object-fit:contain}
.renbtns{display:flex;flex-direction:column;align-items:flex-end;gap:6px;flex:none}
.memgrid{grid-template-columns:repeat(auto-fill,minmax(220px,1fr))}.memopt .spicon{flex:none}
.evbtn.on{border-color:#d9541e;background:color-mix(in srgb,#d9541e 14%,var(--panel2))}.evbtn.cls{border-style:dashed}
.renconfirm{display:flex;flex-direction:column;gap:8px;padding:10px 12px;border-radius:10px;border:1px dashed #d9541e;background:color-mix(in srgb,#d9541e 8%,var(--panel))}
.renintro{display:flex;gap:14px;align-items:center;flex-wrap:wrap}.renintro .stack{flex:1;min-width:220px}
.renrow{display:grid;grid-template-columns:64px minmax(0,1fr) auto;gap:12px;align-items:center;padding:8px 10px;border-radius:12px;background:var(--panel2);border:2px solid transparent}
.renrow.can{border-color:#d9541e}
.renrow .tart{height:72px;width:64px}.renrow .tart .tlook{height:68px}
.renrow .xpb{height:6px;border-radius:5px;background:#ffffff14;overflow:hidden;margin-top:4px}.renrow .xpb i{display:block;height:100%;background:linear-gradient(90deg,#f2a33a,#d9541e)}
.renrow .pill{border:1px solid var(--line);border-radius:999px;padding:3px 10px;white-space:nowrap}
.ach.cls{border:1px dashed #d9541e}
.cele.ren .cele-k{color:#f2a33a}
@media (max-width:520px){.rencols{grid-template-columns:1fr}.renrow{grid-template-columns:52px minmax(0,1fr)}.renrow>.btn,.renrow>.tag,.renrow>.pill,.renrow>.renbtns{grid-column:2}.renbtns{flex-direction:row;flex-wrap:wrap;justify-content:flex-start}}
/* ===== 0.1.13 : album des archimonstres et Dofus ===== */
.archibtn.on{border-color:var(--archi)}
.archipill{cursor:pointer}
.dfico{width:20px;height:20px;object-fit:contain;vertical-align:middle;margin-right:2px}
.ztabs{display:grid;grid-template-columns:repeat(auto-fill,minmax(118px,1fr));gap:6px;margin-top:8px}
.ztab{background:var(--panel2);border:2px solid var(--frame);border-radius:10px;padding:6px 8px;display:flex;flex-direction:column;gap:3px;text-align:left;font:inherit;color:inherit;cursor:pointer;min-width:0}
.ztab b{font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ztab .num{font-size:11px;color:var(--muted)}
.ztab .bar{display:block;height:5px;border-radius:4px;background:var(--hp-bg);overflow:hidden}.ztab .bar i{display:block;height:100%;background:var(--archi)}
.ztab.on{border-color:var(--archi);box-shadow:0 0 0 2px rgba(155,77,255,.25)}.ztab.done b::after{content:" ✓";color:var(--archi)}
.agrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:6px;max-height:min(46vh,420px);overflow:auto;padding:2px}
.acard{display:flex;gap:8px;align-items:center;background:var(--panel2);border:1px solid var(--line);border-radius:10px;padding:6px 8px;min-width:0}
.acard .apic{width:52px;height:52px;object-fit:contain;flex:none;filter:drop-shadow(0 0 6px rgba(155,77,255,.9))}
.acard.unk .apic{filter:brightness(0) opacity(.45)}.acard.seen .apic{filter:grayscale(.6) drop-shadow(0 0 4px rgba(155,77,255,.5))}
.acard .t{display:flex;flex-direction:column;gap:1px;min-width:0;font-size:12px}.acard .t b{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.acard .w{font-size:11px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.acard .st{display:flex;gap:6px;flex-wrap:wrap;font-size:11px;color:var(--muted)}.acard .st .s{color:var(--archi);font-weight:800}.acard .st .k{font-weight:700}
.acard.soul{border-color:var(--archi);box-shadow:0 0 0 1px rgba(155,77,255,.25)}
.otier{display:grid;grid-template-columns:1fr auto;gap:2px 10px;align-items:center;background:var(--panel2);border:1px solid var(--line);border-radius:10px;padding:6px 10px;font-size:12px}
.otier .bar{display:block;height:6px;border-radius:4px;background:var(--hp-bg);overflow:hidden;grid-column:1}.otier .bar i{display:block;height:100%;background:var(--archi)}
.otier .num{grid-column:2;grid-row:2}.otier .r{grid-column:1/-1;color:var(--muted)}.otier.ok{border-color:var(--archi)}.otier.ok .r{color:var(--archi);font-weight:700}.otier.cur b{color:var(--archi)}
.dgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:8px}
.dcard{display:flex;gap:10px;background:var(--panel2);border:1px solid var(--line);border-radius:12px;padding:10px;min-width:0}
.dcard .pic{flex:none;width:64px;height:64px;display:grid;place-items:center;border-radius:12px;background:radial-gradient(circle,rgba(155,77,255,.22),transparent 70%)}
.dcard .dpic{width:56px;height:56px;object-fit:contain;filter:drop-shadow(0 2px 4px rgba(0,0,0,.4))}
.dcard.lock .dpic{filter:grayscale(1) opacity(.55)}.dcard.got{border-color:var(--gold);box-shadow:0 0 0 1px rgba(255,215,100,.3)}.dcard.got .pic{background:radial-gradient(circle,rgba(255,215,100,.3),transparent 70%)}
.dcard .t{display:flex;flex-direction:column;gap:3px;min-width:0;font-size:12px}.dcard .nm{display:flex;gap:6px;align-items:baseline;flex-wrap:wrap}.dcard .nm b{font-size:14px}.dcard .nm small{color:var(--muted)}
.dcard .bon{color:var(--archi);font-weight:800}.dcard .src{color:var(--muted);font-size:11px}
.dcard ol{margin:2px 0 0;padding-left:18px;display:flex;flex-direction:column;gap:2px}.dcard li.ok{color:var(--muted);text-decoration:line-through}.dcard li.cur{font-weight:700}.dcard li.todo{color:var(--muted)}
.celepet.soulpic{filter:drop-shadow(0 0 14px rgba(155,77,255,1)) drop-shadow(0 6px 4px rgba(0,0,0,.35))}
.hcard.o-ame{box-shadow:0 10px 26px rgba(0,0,0,.55),0 0 0 3px #9b4dff,0 0 26px rgba(155,77,255,.8)}
@media (max-width:640px){
.agrid{grid-template-columns:1fr}.dgrid{grid-template-columns:1fr}.ztabs{grid-template-columns:repeat(3,1fr)}}
/* 0.1.12.1 : identité du héros rené (cadre de feu, nom en flammes, combat) */
.hcard.ren-braise,.hcard.ren-flamme,.hcard.ren-brasier,.hcard.ren-phenix{--rf1:#d9541e;--rf2:#ffc35a;--rf3:#7a2a0e;border-color:transparent;
  background:linear-gradient(var(--panel),var(--panel)) padding-box,conic-gradient(from var(--ang),var(--rf1),var(--rf2),var(--rf3),var(--rf2),var(--rf1)) border-box;animation:spin 6s linear infinite;
  box-shadow:0 8px 20px rgba(0,0,0,.45),0 0 18px color-mix(in srgb,var(--rf1) 70%,transparent)}
.hcard.ren-flamme{--rf1:#e0832a;--rf2:#ffe08a;--rf3:#9a3a10}
.hcard.ren-brasier{--rf1:#c23a5c;--rf2:#ff9a3d;--rf3:#5a0f24;box-shadow:0 8px 20px rgba(0,0,0,.45),0 0 26px rgba(194,58,92,.8)}
.hcard.ren-phenix{--rf1:#e9b93a;--rf2:#fff1a8;--rf3:#ff7a3d;animation:spin 4s linear infinite;box-shadow:0 8px 20px rgba(0,0,0,.45),0 0 34px rgba(233,185,58,.95)}
.hcard.ren-phenix::after{display:none}
.hcard.ren-braise .tier,.hcard.ren-flamme .tier,.hcard.ren-brasier .tier,.hcard.ren-phenix .tier{background:linear-gradient(90deg,var(--rf3),var(--rf1));color:#fff7e3}
.hcard .art .rembers{position:absolute;inset:0;z-index:2;pointer-events:none;overflow:hidden}
.hcard .art .rembers::before{content:"";position:absolute;left:0;right:0;bottom:0;height:70%;background:radial-gradient(16px 46px at 25% 100%,rgba(242,163,58,.9),transparent 70%),radial-gradient(22px 70px at 50% 100%,rgba(217,84,30,.95),transparent 70%),radial-gradient(16px 50px at 75% 100%,rgba(242,163,58,.9),transparent 70%),radial-gradient(10px 32px at 38% 100%,rgba(255,220,100,.85),transparent 70%),radial-gradient(10px 32px at 62% 100%,rgba(255,220,100,.85),transparent 70%);animation:renfl 1.4s ease-in-out infinite alternate}
.hcard .art .rembers i{position:absolute;bottom:-6px;width:4px;height:4px;border-radius:50%;background:#ffd27a;box-shadow:0 0 6px #ff9a3d;opacity:0;animation:ember 2.4s linear infinite}
.hcard .art .rembers i:nth-child(1){left:18%}.hcard .art .rembers i:nth-child(2){left:42%;animation-delay:.8s}.hcard .art .rembers i:nth-child(3){left:66%;animation-delay:1.5s}.hcard .art .rembers i:nth-child(4){left:84%;animation-delay:.4s}
@keyframes ember{0%{transform:translateY(0);opacity:0}15%{opacity:1}100%{transform:translateY(-150px) translateX(8px);opacity:0}}
.hcard .hlook{z-index:3}
.hcard.ren-brasier .art .emb::before,.hcard.ren-phenix .art .emb::before{height:85%;filter:saturate(1.2)}
.rname{background:linear-gradient(90deg,#ffd27a,#ff9a3d,#ffd27a);-webkit-background-clip:text;background-clip:text;color:transparent;font-weight:800}
.hcard .nm .rstar{font-size:12px;color:#f2a33a;font-weight:800;white-space:nowrap;margin-left:4px}
.renm.inline.sm{min-width:18px;height:18px;font-size:10px;margin-left:2px}
.renxp{color:#d0611b;font-weight:800}
[data-theme="dark"] .renxp{color:#ff9a3d}
.chips button .renm.inline{box-shadow:0 0 0 1px rgba(14,11,20,.6)}
/* combat */
.ent.hero .fire{position:absolute;left:12%;right:12%;bottom:18px;height:38px;z-index:0;border-radius:50%;pointer-events:none;background:radial-gradient(ellipse at 50% 100%,rgba(255,122,61,.95),rgba(242,163,58,.5) 45%,transparent 70%);animation:renfl 1.2s ease-in-out infinite alternate}
.arena.v2 .ent.hero .fire{bottom:30px}
.ent.hero.ren .lookwrap,.ent.hero.ren .medal{position:relative;z-index:1}
.ent .who .renk{display:inline-block;margin-left:4px;color:#ffc35a;font-size:10px;text-shadow:0 1px 2px rgba(0,0,0,.9)}
.ent.card.ren .cico{box-shadow:0 0 0 2px #d9541e,0 0 10px rgba(255,154,61,.8)}
@media (prefers-reduced-motion:reduce){.hcard .art .rembers i,.hcard .art .rembers::before,.ent.hero .fire,.hcard.ren-braise,.hcard.ren-flamme,.hcard.ren-brasier,.hcard.ren-phenix{animation:none}}
.reduced .hcard .art .rembers i,.reduced .hcard .art .rembers::before,.reduced .ent.hero .fire,.reduced .hcard.ren-braise,.reduced .hcard.ren-flamme,.reduced .hcard.ren-brasier,.reduced .hcard.ren-phenix{animation:none}
/* ===================== boss mis en scène (0.1.13) : mécaniques, signatures, sorts de boss, entrée, phases, mort ===================== */

/* ===================== boss mis en scène ===================== */
.axp.bx.pop2{animation:bpop2 .3s ease-out}
@keyframes bpop2{0%{transform:translate(-50%,-50%) scale(.5)}70%{transform:translate(-50%,-50%) scale(1.2)}100%{transform:translate(-50%,-50%) scale(1)}}
/* Rage */
.axp.bx.b-steam{width:14px;height:14px;border-radius:50%;background:rgba(255,255,255,.85);filter:blur(2px);animation:bsteam .9s ease-out both}
@keyframes bsteam{from{opacity:.95}to{opacity:0;transform:translate(-50%,-320%) scale(2.6)}}
.axp.bx.b-vein{width:26px;height:26px;background:url("data:image/svg+xml;utf8,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22%23ff2d2d%22%20stroke-width%3D%223.2%22%20stroke-linecap%3D%22round%22%3E%3Cpath%20d%3D%22M9%202%20Q10%208%203%209%22/%3E%3Cpath%20d%3D%22M15%202%20Q14%208%2021%209%22/%3E%3Cpath%20d%3D%22M9%2022%20Q10%2016%203%2015%22/%3E%3Cpath%20d%3D%22M15%2022%20Q14%2016%2021%2015%22/%3E%3C/svg%3E") center/contain no-repeat;filter:drop-shadow(0 0 3px #000);animation:bvein .25s ease-in-out infinite alternate;z-index:230}
@keyframes bvein{to{transform:translate(-50%,-50%) scale(1.3)}}
/* Renforts */
@keyframes bcall{to{transform:translate(-50%,-420%) scale(3.2);opacity:0}}
@keyframes bhole{0%{transform:translate(-50%,-50%) scale(0)}15%,80%{transform:translate(-50%,-50%) scale(1)}100%{transform:translate(-50%,-50%) scale(0)}}
/* Carapace */
.axp.bx.b-plate{width:36px;height:26px;border-radius:7px 7px 45% 45%;background:linear-gradient(160deg,#b3aa9a,#77705f 55%,#4d473b);border:2px solid #2e2a22;box-shadow:inset 0 2px 0 rgba(255,255,255,.35);z-index:210}
.axp.bx.b-dome{border-radius:50%;border:3px solid rgba(220,215,200,.9);background:linear-gradient(115deg,transparent 40%,rgba(255,255,255,.65) 50%,transparent 60%) 0 0/300% 100%,radial-gradient(circle,rgba(160,150,130,.08),rgba(160,150,130,.35));box-shadow:0 0 18px rgba(255,240,200,.5);animation:bdome 1.4s ease-out forwards;z-index:209}
@keyframes bdome{0%{background-position:100% 0,0 0;opacity:0;transform:translate(-50%,-50%) scale(.85)}20%{opacity:1;transform:translate(-50%,-50%) scale(1)}80%{opacity:1}100%{background-position:-50% 0,0 0;opacity:0}}
/* Attaque dévastatrice */
.axp.bx.b-inhale{width:8px;height:8px;border-radius:50%;background:#e6f4ff;box-shadow:0 0 6px #fff}
.axp.bx.b-shockwall{width:46px;height:130%;border-radius:50%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.95) 35%,rgba(255,180,110,.7) 60%,transparent);filter:blur(1px);box-shadow:0 0 30px rgba(255,200,140,.8);z-index:215}
/* Point faible */
.axp.bx.b-weak{width:30px;height:30px;transform:translate(-50%,-50%) rotate(45deg);border:3px solid #fff;background:radial-gradient(circle,#fff,#ffd84d 45%,rgba(255,150,40,.4));box-shadow:0 0 18px #ffd84d,0 0 0 6px rgba(255,216,77,.25);animation:bweak .5s ease-in-out infinite alternate;z-index:225}
@keyframes bweak{to{transform:translate(-50%,-50%) rotate(45deg) scale(1.25);box-shadow:0 0 30px #ffd84d,0 0 0 12px rgba(255,216,77,.12)}}
.axp.bx.b-weak.cracked{animation:bweakx .6s ease-out forwards;background:url("data:image/svg+xml;utf8,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20viewBox%3D%220%200%20100%20100%22%20fill%3D%22none%22%20stroke%3D%22%23fff%22%20stroke-width%3D%222.2%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M50%2050%20L30%2012%20M50%2050%20L82%2022%20M50%2050%20L90%2058%20M50%2050%20L64%2092%20M50%2050%20L18%2080%20M50%2050%20L8%2044%22/%3E%3Cpath%20d%3D%22M38%2028%20L60%2032%20L72%2044%20L68%2066%20L46%2072%20L28%2060%20L30%2040%20Z%22/%3E%3Cpath%20d%3D%22M24%2018%20L44%2010%20M78%2036%20L88%2044%20M80%2070%20L60%2084%20M22%2064%20L14%2054%22/%3E%3C/svg%3E") center/80% no-repeat,radial-gradient(circle,#fff,#ffd84d 45%,rgba(255,150,40,.4))}
@keyframes bweakx{0%{transform:translate(-50%,-50%) rotate(45deg) scale(1.3)}100%{transform:translate(-50%,-50%) rotate(45deg) scale(2.2);opacity:0}}
/* Festin */
.axp.bx.b-hpchunk{width:24px;height:7px;border-radius:3px;background:linear-gradient(#ff6b5a,#c0281e);box-shadow:0 0 10px #ff4b3e,0 0 0 1px #000;z-index:230}
/* Séisme */
.axp.bx.b-spike{width:32px;height:var(--h);transform:translate(-50%,-100%) scaleY(0);transform-origin:50% 100%;clip-path:polygon(50% 0,100% 100%,0 100%);background:linear-gradient(90deg,#5c4630,#9a7a55 45%,#4a3826);animation:bspike 1.2s ease-out both}
@keyframes bspike{0%{transform:translate(-50%,-100%) scaleY(0)}18%{transform:translate(-50%,-100%) scaleY(1.15)}28%,78%{transform:translate(-50%,-100%) scaleY(1)}100%{transform:translate(-50%,-100%) scaleY(0);opacity:.6}}
/* Riposte */
.axp.bx.b-parry{width:110px;height:110px;z-index:225;animation:bparry .6s ease-out forwards}
.axp.bx.b-parry::before,.axp.bx.b-parry::after{content:"";position:absolute;left:0;top:50%;width:100%;height:8px;margin-top:-4px;border-radius:4px;background:linear-gradient(90deg,transparent,#fff 30%,#bfe6ff 70%,transparent);box-shadow:0 0 16px #9fd6ff,0 0 4px #fff;transform:rotate(45deg)}
.axp.bx.b-parry::after{transform:rotate(-45deg)}
@keyframes bparry{0%{transform:translate(-50%,-50%) scale(.3)}25%{transform:translate(-50%,-50%) scale(1.15)}70%{transform:translate(-50%,-50%) scale(1.2);opacity:1}100%{transform:translate(-50%,-50%) scale(1.3);opacity:0}}
/* calque silhouette */
.axp.bx.b-skin{z-index:206;-webkit-mask:var(--m) center/100% 100% no-repeat;mask:var(--m) center/100% 100% no-repeat}
.axp.bx.b-mirrorflash{width:130px;height:130px;background:radial-gradient(circle,#fff,rgba(190,235,255,.7) 30%,transparent 65%);clip-path:polygon(50% 0,58% 42%,100% 50%,58% 58%,50% 100%,42% 58%,0 50%,42% 42%);animation:axfade .3s ease-out forwards;z-index:226}
/* Miasmes */
.axp.bx.b-fog{top:28% !important;width:125%;height:78%;transform:none;filter:blur(8px);z-index:212;background:radial-gradient(30% 45% at 15% 70%,rgba(150,90,200,.75),transparent),radial-gradient(28% 40% at 40% 55%,rgba(110,200,90,.6),transparent),radial-gradient(32% 48% at 65% 75%,rgba(150,90,200,.7),transparent),radial-gradient(30% 40% at 88% 60%,rgba(110,200,90,.55),transparent)}
/* Brise-garde */
.axp.bx.b-glasscrack{border-radius:50%;background:url("data:image/svg+xml;utf8,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20viewBox%3D%220%200%20100%20100%22%20fill%3D%22none%22%20stroke%3D%22%23fff%22%20stroke-width%3D%222.2%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M50%2050%20L30%2012%20M50%2050%20L82%2022%20M50%2050%20L90%2058%20M50%2050%20L64%2092%20M50%2050%20L18%2080%20M50%2050%20L8%2044%22/%3E%3Cpath%20d%3D%22M38%2028%20L60%2032%20L72%2044%20L68%2066%20L46%2072%20L28%2060%20L30%2040%20Z%22/%3E%3Cpath%20d%3D%22M24%2018%20L44%2010%20M78%2036%20L88%2044%20M80%2070%20L60%2084%20M22%2064%20L14%2054%22/%3E%3C/svg%3E") center/100% no-repeat;filter:drop-shadow(0 0 4px #9fd6ff);animation:bpopin .25s ease-out both;z-index:222}
@keyframes bpopin{from{transform:translate(-50%,-50%) scale(.6);opacity:0}to{transform:translate(-50%,-50%) scale(1);opacity:1}}
.axp.bx.b-glass{width:11px;height:11px;clip-path:polygon(50% 0,100% 70%,30% 100%,0 40%);background:linear-gradient(135deg,#fff,rgba(160,220,255,.9));z-index:222}
/* Putréfaction */
.axp.bx.b-rotdrip{width:7px;height:11px;border-radius:50% 50% 50% 50%/60% 60% 40% 40%;background:linear-gradient(#a07a3a,#5a3e14);animation:brot .55s ease-in both;z-index:215}
@keyframes brot{from{top:-10px}90%{opacity:1}to{top:var(--fy);opacity:0;transform:translate(-50%,-50%) scale(1.6,.5)}}
/* Change-peau */
.axp.bx.b-oldskin{z-index:207}
.axp.bx.b-flake{width:7px;height:5px;border-radius:2px;background:#cfc2a8;animation:bflake 1s ease-in both;z-index:208}
@keyframes bflake{to{transform:translate(-50%,50px) rotate(220deg);opacity:0}}
/* Condamnation */
.axp.bx.b-skull{width:52px;height:52px;border-radius:50%;background:url("data:image/svg+xml;utf8,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20viewBox%3D%220%200%2040%2040%22%3E%3Cpath%20d%3D%22M20%206c-8%200-13%205-13%2012%200%204%202%207%205%208v5h16v-5c3-1%205-4%205-8%200-7-5-12-13-12z%22%20fill%3D%22%23fff%22/%3E%3Ccircle%20cx%3D%2215%22%20cy%3D%2219%22%20r%3D%223.4%22%20fill%3D%22%23111%22/%3E%3Ccircle%20cx%3D%2225%22%20cy%3D%2219%22%20r%3D%223.4%22%20fill%3D%22%23111%22/%3E%3Cpath%20d%3D%22M8%2034%20L32%2026%20M8%2026%20L32%2034%22%20stroke%3D%22%23fff%22%20stroke-width%3D%223%22%20stroke-linecap%3D%22round%22/%3E%3C/svg%3E") center 40%/70% no-repeat,radial-gradient(circle,#5a2a8a,#2a0d45);border:3px solid #c77dff;box-shadow:0 0 18px #9b4dff;z-index:232}
.axp.bx.b-skull i{display:none}
.axp.bx.b-skull b{position:absolute;left:50%;top:100%;transform:translate(-50%,2px);font:900 20px/1 var(--font-title,serif);color:#fff;text-shadow:0 0 8px #c77dff,0 2px 0 #000}
.axp.bx.b-chain,.axp.bx.b-soul,.axp.bx.b-thread{height:5px;margin-top:-2px;transform-origin:0 50%;animation:bdrawx .45s ease-out both;z-index:214}
@keyframes bdrawx{from{clip-path:inset(0 100% 0 0)}to{clip-path:inset(0 0 0 0)}}
.axp.bx.b-chain{background:repeating-linear-gradient(90deg,#c77dff 0 9px,transparent 9px 13px);filter:drop-shadow(0 0 4px #9b4dff)}
.axp.bx.b-guil{width:74px;height:46px;transform:translate(-50%,-100%);background:linear-gradient(170deg,#f2f2f2,#9aa0a6 60%,#5d6268);clip-path:polygon(0 0,100% 0,100% 55%,0 100%);box-shadow:0 0 12px #fff;z-index:233}
/* Mutisme */
.axp.bx.b-fallletter{font:900 15px/1 var(--font-title,serif);color:#ffd84d;text-shadow:0 0 6px #ffb347;animation:bletter 1.1s ease-in both;z-index:220}
@keyframes bletter{to{transform:translate(-50%,60px) rotate(30deg);opacity:0;color:#555;text-shadow:none}}
.axp.bx.b-lock{width:28px;height:22px;margin-top:6px;border-radius:5px;background:linear-gradient(#ffe27a,#c9961c);border:2px solid #6a4a08;z-index:230}
.axp.bx.b-lock::before{content:"";position:absolute;left:50%;bottom:100%;width:16px;height:15px;margin-left:-10px;border:4px solid #d6d6d6;border-bottom:0;border-radius:10px 10px 0 0;transform:translateY(-7px);transition:transform .15s ease-in}
.axp.bx.b-lock::after{content:"";position:absolute;left:50%;top:6px;width:6px;height:7px;margin-left:-3px;border-radius:3px 3px 1px 1px;background:#3a2a04}
.axp.bx.b-lock.shut::before{transform:none}
.axp.bx.b-lock.shut{box-shadow:0 0 16px #fff}
/* Terreur */
.axp.bx.b-looming img{filter:brightness(0) blur(1px)}
/* Frénésie */
.axp.bx.b-ghost img{filter:sepia(1) hue-rotate(170deg) saturate(3) brightness(1.3)}
.axp.bx.b-stamp{font:900 34px/1 var(--font-title,serif);color:#ff3b3b;padding:2px 10px;border:4px solid #ff3b3b;border-radius:8px;text-shadow:0 2px 0 #000;box-shadow:0 0 14px rgba(255,59,59,.6);animation:bstamp .9s ease-out both;z-index:232}
@keyframes bstamp{0%{transform:translate(-50%,-50%) rotate(-14deg) scale(3);opacity:0}20%{transform:translate(-50%,-50%) rotate(-14deg) scale(1);opacity:1}80%{opacity:1}100%{transform:translate(-50%,-50%) rotate(-14deg) scale(1);opacity:0}}
/* Totems */
.axp.bx.b-totem{width:28px;height:78px;transform:translate(-50%,-100%);border-radius:8px 8px 3px 3px;background:linear-gradient(90deg,#4a2e14,#93622f 45%,#4a2e14);border:2px solid #2a1806;animation:btotem .55s ease-out both}
@keyframes btotem{from{clip-path:inset(100% 0 0 0)}to{clip-path:inset(0)}}
.axp.bx.b-totem i{position:absolute;left:3px;right:3px;height:16px;border-radius:4px;background:#5d3a18;border-bottom:2px solid #2a1806}
.axp.bx.b-totem i:nth-child(1){top:5px}.axp.bx.b-totem i:nth-child(2){top:30px}.axp.bx.b-totem i:nth-child(3){top:55px}
.axp.bx.b-totem i::before,.axp.bx.b-totem i::after{content:"";position:absolute;top:5px;width:5px;height:5px;border-radius:50%;background:#1a0e04}
.axp.bx.b-totem i::before{left:3px}.axp.bx.b-totem i::after{right:3px}
.axp.bx.b-totem.lit i::before,.axp.bx.b-totem.lit i::after{background:#fff3a0;box-shadow:0 0 8px #ffd84d,0 0 3px #fff}
.axp.bx.b-golddome{border-radius:50%;border:2px solid #ffd84d;background:radial-gradient(circle,rgba(255,216,77,.05) 40%,rgba(255,216,77,.35));box-shadow:0 0 24px #ffd84d,inset 0 0 24px rgba(255,216,77,.5);animation:bpopin .35s ease-out both;z-index:208}
/* Âmes liées */
.axp.bx.b-soul{background:repeating-linear-gradient(90deg,rgba(190,225,255,.95) 0 7px,rgba(190,225,255,.2) 7px 11px);filter:drop-shadow(0 0 5px #9fd6ff);animation:bdrawx .45s ease-out both,bflick .3s .45s infinite alternate}
@keyframes bflick{to{opacity:.55}}
.axp.bx.b-halfnum{font-weight:900;font-size:18px;color:#c9e6ff;text-shadow:0 2px 0 #000,0 0 8px #9fd6ff;z-index:230}
/* Immortel */
.axp.bx.b-ash{width:5px;height:5px;border-radius:50%;background:#ff9a4a;box-shadow:0 0 5px #ff6a2a;z-index:215}
.axp.bx.b-ash:nth-child(3n){background:#555;box-shadow:none}
/* Compte à rebours */
.axp.bx.b-vignette{left:0 !important;top:0 !important;width:100%;height:100%;transform:none;--k:0;box-shadow:inset 0 0 calc(var(--k) * 110px) calc(var(--k) * 18px) rgba(220,0,0,.7);transition:box-shadow .35s;z-index:190}
.axp.bx.b-count{font:900 56px/1 var(--font-title,serif);color:#ff4b4b;text-shadow:0 3px 0 #000,0 0 20px #ff0000;z-index:231}
/* Harebourg */
.axp.bx.b-spiral{width:720px;height:720px;border-radius:50%;background:repeating-conic-gradient(rgba(170,225,255,.35) 0 12deg,transparent 12deg 30deg);-webkit-mask:radial-gradient(circle,#000 10%,transparent 68%);mask:radial-gradient(circle,#000 10%,transparent 68%);animation:bspiral 2s ease-in-out forwards;z-index:205}
@keyframes bspiral{0%{transform:translate(-50%,-50%) rotate(0) scale(.3);opacity:0}25%{opacity:1}100%{transform:translate(-50%,-50%) rotate(540deg) scale(1.1);opacity:0}}
.axp.bx.b-frost{left:0 !important;top:0 !important;width:100%;height:100%;transform:none;background:radial-gradient(ellipse at center,transparent 50%,rgba(220,245,255,.8));box-shadow:inset 0 0 40px rgba(255,255,255,.9);animation:bfrost 2.2s ease-out forwards;z-index:206}
@keyframes bfrost{0%{opacity:0}30%,75%{opacity:1}100%{opacity:0}}
.arena.bx-warp{animation:bwarp 1.5s ease-in-out}
@keyframes bwarp{20%{transform:skewX(5deg) scale(1.02);filter:hue-rotate(40deg) saturate(.7)}45%{transform:skewX(-6deg) rotate(1deg) scale(1.03);filter:hue-rotate(160deg) saturate(.6)}70%{transform:skewX(3deg) rotate(-.6deg);filter:hue-rotate(60deg)}}
/* Frizz */
.axp.bx.b-half{top:0 !important;width:50%;height:100%;transform:none;transition:left .8s ease-in-out;z-index:204}
.axp.bx.b-half.ice{left:0 !important;background:linear-gradient(180deg,rgba(210,240,255,.35),rgba(120,190,255,.4));box-shadow:inset -3px 0 0 rgba(255,255,255,.9)}
.axp.bx.b-half.fire{left:50% !important;background:linear-gradient(0deg,rgba(255,110,30,.45),rgba(255,180,60,.15));box-shadow:inset 3px 0 0 rgba(255,220,120,.9)}
.axp.bx.b-half.ice.swap{left:50% !important;box-shadow:inset 3px 0 0 rgba(255,255,255,.9)}
.axp.bx.b-half.fire.swap{left:0 !important;box-shadow:inset -3px 0 0 rgba(255,220,120,.9)}
.axp.bx.b-snow{width:6px;height:6px;border-radius:50%;background:#fff;box-shadow:0 0 4px #bfe6ff;animation:bsnow 1.3s linear both;z-index:205}
@keyframes bsnow{to{transform:translate(calc(-50% + 20px),400px)}}
.axp.bx.b-ember{width:5px;height:5px;border-radius:50%;background:#ffd84d;box-shadow:0 0 6px #ff7a3c;animation:bember 1.3s ease-out both;z-index:205}
@keyframes bember{to{transform:translate(calc(-50% - 14px),-400px);opacity:0}}
/* Sylargh */
.axp.bx.b-belt{left:0 !important;top:auto !important;bottom:0;width:100%;height:46%;transform:none;opacity:.55;background:repeating-linear-gradient(90deg,rgba(40,40,40,.45) 0 22px,rgba(200,170,60,.35) 22px 34px);-webkit-mask:linear-gradient(transparent,#000 25%);mask:linear-gradient(transparent,#000 25%);animation:bbelt .4s linear infinite,bfrost 2.3s ease-out forwards}
@keyframes bbelt{to{background-position:34px 0}}
/* Klime */
.axp.bx.b-plate2{width:120px;height:36px;border-radius:50%;background:radial-gradient(ellipse,#fff 0 28%,#d8d8d8 30% 36%,transparent 38%),repeating-conic-gradient(#d33 0 25%,#fff 0 50%) 0 0/16px 16px;box-shadow:0 0 0 2px rgba(0,0,0,.25);animation:bpopin .3s ease-out both}
.axp.bx.b-cutlery{width:50px;height:50px;z-index:225;animation:bpopin .3s ease-out both}
.axp.bx.b-cutlery::before,.axp.bx.b-cutlery::after{content:"";position:absolute;left:50%;top:0;width:5px;height:48px;margin-left:-2px;border-radius:3px;background:linear-gradient(90deg,#9aa0a6,#fff,#9aa0a6);box-shadow:0 0 6px #fff;animation:bfork .5s ease-out both}
.axp.bx.b-cutlery::after{--a:-1;animation-name:bknife}
@keyframes bfork{from{transform:rotate(70deg)}to{transform:rotate(32deg)}}
@keyframes bknife{from{transform:rotate(-70deg)}to{transform:rotate(-32deg)}}
/* Nileza */
.axp.bx.b-blueprint{left:0 !important;top:0 !important;width:100%;height:100%;transform:none;background-color:rgba(30,80,170,.35);background-image:linear-gradient(rgba(255,255,255,.35) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.35) 1px,transparent 1px);background-size:22px 22px;animation:bfrost 1.3s ease-out forwards;z-index:204}
.axp.bx.b-gear{width:24px;height:24px;background:url("data:image/svg+xml;utf8,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20viewBox%3D%220%200%2040%2040%22%3E%3Cg%20fill%3D%22%23d8b25a%22%3E%3Ccircle%20cx%3D%2220%22%20cy%3D%2220%22%20r%3D%2213%22/%3E%3Crect%20x%3D%2217%22%20y%3D%221%22%20width%3D%226%22%20height%3D%229%22%20rx%3D%221%22%20transform%3D%22rotate%280%2020%2020%29%22/%3E%3Crect%20x%3D%2217%22%20y%3D%221%22%20width%3D%226%22%20height%3D%229%22%20rx%3D%221%22%20transform%3D%22rotate%2845%2020%2020%29%22/%3E%3Crect%20x%3D%2217%22%20y%3D%221%22%20width%3D%226%22%20height%3D%229%22%20rx%3D%221%22%20transform%3D%22rotate%2890%2020%2020%29%22/%3E%3Crect%20x%3D%2217%22%20y%3D%221%22%20width%3D%226%22%20height%3D%229%22%20rx%3D%221%22%20transform%3D%22rotate%28135%2020%2020%29%22/%3E%3Crect%20x%3D%2217%22%20y%3D%221%22%20width%3D%226%22%20height%3D%229%22%20rx%3D%221%22%20transform%3D%22rotate%28180%2020%2020%29%22/%3E%3Crect%20x%3D%2217%22%20y%3D%221%22%20width%3D%226%22%20height%3D%229%22%20rx%3D%221%22%20transform%3D%22rotate%28225%2020%2020%29%22/%3E%3Crect%20x%3D%2217%22%20y%3D%221%22%20width%3D%226%22%20height%3D%229%22%20rx%3D%221%22%20transform%3D%22rotate%28270%2020%2020%29%22/%3E%3Crect%20x%3D%2217%22%20y%3D%221%22%20width%3D%226%22%20height%3D%229%22%20rx%3D%221%22%20transform%3D%22rotate%28315%2020%2020%29%22/%3E%3C/g%3E%3Ccircle%20cx%3D%2220%22%20cy%3D%2220%22%20r%3D%225%22%20fill%3D%22%232a1a08%22/%3E%3C/svg%3E") center/contain no-repeat;z-index:222}
.axp.bx.b-bomb{width:32px;height:32px;border-radius:50%;background:radial-gradient(circle at 35% 30%,#666,#111 60%);box-shadow:0 0 0 2px #000;z-index:222}
.axp.bx.b-bomb::before{content:"";position:absolute;left:60%;top:-8px;width:4px;height:12px;background:#b08a4a;transform:rotate(25deg)}
.axp.bx.b-bomb::after{content:"";position:absolute;left:72%;top:-14px;width:8px;height:8px;border-radius:50%;background:radial-gradient(circle,#fff,#ffd84d 40%,#ff7a3c);box-shadow:0 0 10px #ffb347;animation:lampf .15s ease-in-out infinite alternate}
@keyframes lampf{to{transform:scale(1.4)}}
.axp.bx.b-bomb b{position:absolute;inset:0;display:grid;place-items:center;font:900 14px/1 sans-serif;color:#fff}
/* Merkator */
.axp.bx.b-bigwave{width:300px;height:240px;border-radius:55% 45% 0 0/80% 70% 0 0;background:linear-gradient(170deg,#eaf8ff,#69c0ff 18%,#2f8ad8 45%,#13508f);box-shadow:inset 18px 14px 0 -6px rgba(255,255,255,.75),0 0 20px rgba(80,170,255,.6);z-index:216}
.axp.bx.b-bigwave::before{content:"";position:absolute;left:-30px;top:6px;width:90px;height:70px;border-radius:50%;border-top:16px solid #f4fbff;border-left:10px solid transparent;transform:rotate(-30deg)}
.axp.bx.b-foam{width:9px;height:9px;border-radius:50%;border:2px solid #fff;background:rgba(255,255,255,.3);animation:bfoam .8s ease-out both;z-index:216}
@keyframes bfoam{to{transform:translate(-50%,-260%) scale(1.4);opacity:0}}
/* Ilyzaelle */
.axp.bx.b-thread{height:3px;margin-top:-1px;background:linear-gradient(90deg,#fff3a0,#ffd84d);box-shadow:0 0 8px #ffd84d}
/* Tal Kasha */
.axp.bx.b-chroma{mix-blend-mode:screen;opacity:.8}
.axp.bx.b-chroma.red img{filter:sepia(1) saturate(8) hue-rotate(-50deg) brightness(.9)}
.axp.bx.b-chroma.cyan img{filter:sepia(1) saturate(8) hue-rotate(150deg) brightness(1)}
/* Chalœil */
.axp.bx.b-eye{width:110px;height:54px;border-radius:50%/50%;background:radial-gradient(ellipse,#fff 55%,#ffd9d0);border:4px solid #4a0d0d;box-shadow:0 0 24px rgba(255,80,40,.7);overflow:hidden;animation:beye 2.6s ease-in-out both;z-index:228}
.axp.bx.b-eye i{position:absolute;left:50%;top:50%;width:34px;height:34px;margin:-17px 0 0 -17px;border-radius:50%;background:radial-gradient(circle,#000 0 28%,#ff8a1a 32%,#a33a00 70%);animation:biris 2.6s ease-in-out both}
@keyframes beye{0%{transform:translate(-50%,-50%) scaleY(0)}15%,85%{transform:translate(-50%,-50%) scaleY(1)}100%{transform:translate(-50%,-50%) scaleY(0)}}
@keyframes biris{0%,20%{transform:translateX(18px)}35%,100%{transform:translate(-14px,6px)}}
.axp.bx.b-gaze{width:70px;transform-origin:50% 0;background:linear-gradient(rgba(255,230,160,.65),rgba(255,230,160,.12));clip-path:polygon(42% 0,58% 0,100% 100%,0 100%);animation:bfrost 1.6s ease-out forwards;z-index:227}
.axp.bx.b-stone{background:linear-gradient(0deg,#9a9a9a 50%,transparent 50%) 0 0/100% 200% no-repeat;filter:contrast(1.1)}
.axp.bx.b-stone.cracked::after{content:"";position:absolute;inset:0;background:url("data:image/svg+xml;utf8,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20viewBox%3D%220%200%20100%20100%22%20preserveAspectRatio%3D%22none%22%20fill%3D%22none%22%20stroke%3D%22%232b2b2b%22%20stroke-width%3D%222%22%3E%3Cpath%20d%3D%22M40%200%20L46%2018%20L38%2030%20L50%2046%20L44%2062%20L56%2080%20L50%20100%22/%3E%3Cpath%20d%3D%22M46%2018%20L66%2026%20M50%2046%20L28%2054%20M44%2062%20L70%2070%20M38%2030%20L20%2036%22/%3E%3C/svg%3E") center/100% 100% no-repeat}
/* Vortex */
.axp.bx.b-vortex{width:120px;height:120px;border-radius:50%;background:repeating-conic-gradient(from 0deg,rgba(170,130,255,.85) 0 18deg,transparent 18deg 40deg);-webkit-mask:radial-gradient(circle,#000 20%,transparent 70%);mask:radial-gradient(circle,#000 20%,transparent 70%);animation:bvortex .5s linear infinite,bfrost 2.4s ease-out forwards;z-index:218}
@keyframes bvortex{to{transform:translate(-50%,-50%) rotate(-360deg)}}
.axp.bx.b-bubfly{border-radius:50%;border:2px solid rgba(160,220,255,.95);background:radial-gradient(circle at 35% 30%,rgba(255,255,255,.5),rgba(160,220,255,.15) 40%,rgba(160,220,255,.05));box-shadow:0 0 10px rgba(160,220,255,.6);z-index:219}
/* Nidas */
.axp.bx.b-gold{background:radial-gradient(circle at 50% 45%,#fff6b0,#ffd84d 25%,#d9a520 50%,#a87a10 70%) center/0% 0% no-repeat;filter:drop-shadow(0 0 6px #ffd84d)}
.axp.bx.b-sparkle{width:14px;height:14px;clip-path:polygon(50% 0,60% 40%,100% 50%,60% 60%,50% 100%,40% 60%,0 50%,40% 40%);background:#fff;filter:drop-shadow(0 0 4px #ffd84d);animation:bsparkle .7s ease-in-out both;z-index:224}
@keyframes bsparkle{0%,100%{transform:translate(-50%,-50%) scale(0)}50%{transform:translate(-50%,-50%) scale(1.2) rotate(45deg)}}
/* Reine des Voleurs */
.axp.bx.b-arm{height:14px;margin-top:-7px;transform-origin:0 50%;border-radius:7px;background:linear-gradient(90deg,rgba(35,0,55,.6),rgba(25,0,40,.95));box-shadow:0 0 12px rgba(150,60,220,.7);z-index:221}
.axp.bx.b-arm i{position:absolute;right:-12px;top:50%;width:28px;height:26px;margin-top:-13px;border-radius:45% 55% 50% 50%;background:#1a0028;box-shadow:0 0 10px rgba(150,60,220,.9)}
.axp.bx.b-arm i::before{content:"";position:absolute;right:-6px;top:3px;width:10px;height:4px;border-radius:3px;background:#1a0028;box-shadow:0 7px 0 #1a0028,0 14px 0 #1a0028}
/* Minotoror */
.axp.bx.b-skid{height:8px;border-radius:4px;background:repeating-linear-gradient(90deg,rgba(60,40,20,.75) 0 14px,transparent 14px 20px);animation:bfrost 1.4s ease-out forwards}
/* Ben le Ripate */
.axp.bx.b-jolly{width:58px;height:40px;transform:translate(-50%,0);border-left:4px solid #8a5a2a;background:#111;box-shadow:0 3px 8px rgba(0,0,0,.6);animation:bjolly .5s ease-out both;z-index:226}
.axp.bx.b-jolly::before{content:"";position:absolute;inset:4px 6px;background:url("data:image/svg+xml;utf8,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20viewBox%3D%220%200%2040%2040%22%3E%3Cpath%20d%3D%22M20%206c-8%200-13%205-13%2012%200%204%202%207%205%208v5h16v-5c3-1%205-4%205-8%200-7-5-12-13-12z%22%20fill%3D%22%23fff%22/%3E%3Ccircle%20cx%3D%2215%22%20cy%3D%2219%22%20r%3D%223.4%22%20fill%3D%22%23111%22/%3E%3Ccircle%20cx%3D%2225%22%20cy%3D%2219%22%20r%3D%223.4%22%20fill%3D%22%23111%22/%3E%3Cpath%20d%3D%22M8%2034%20L32%2026%20M8%2026%20L32%2034%22%20stroke%3D%22%23fff%22%20stroke-width%3D%223%22%20stroke-linecap%3D%22round%22/%3E%3C/svg%3E") center/contain no-repeat}
@keyframes bjolly{from{transform:translate(-50%,-60px)}to{transform:translate(-50%,0)}}
.axp.bx.b-rope{width:3px;height:190px;transform:translate(-50%,0) rotate(-35deg);transform-origin:50% 0;background:repeating-linear-gradient(0deg,#b08a4a 0 5px,#7a5a2a 5px 8px);animation:brope .7s ease-out both;z-index:203}
@keyframes brope{to{transform:translate(-50%,0) rotate(18deg);opacity:.3}}
/* Kimbo */
.axp.bx.b-glyph{width:120px;height:120px;border-radius:50%;transform:translate(-50%,-50%) scaleY(.33);border:3px solid var(--g);background:radial-gradient(circle,transparent 46%,var(--g) 47% 49%,transparent 50%),repeating-conic-gradient(var(--g) 0 4deg,transparent 4deg 30deg);-webkit-mask:radial-gradient(circle,transparent 30%,#000 31%);mask:radial-gradient(circle,transparent 30%,#000 31%);box-shadow:0 0 20px var(--g);opacity:.9;animation:bglyph 3s linear infinite;transition:border-color .3s,box-shadow .3s}
.axp.bx.b-glyph.even{--g:#4fa8ff}.axp.bx.b-glyph.odd{--g:#ff5b5b}
@keyframes bglyph{to{transform:translate(-50%,-50%) scaleY(.33) rotate(360deg)}}
/* XLII */
.axp.bx.b-cog{width:74px;height:74px;background:url("data:image/svg+xml;utf8,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20viewBox%3D%220%200%2040%2040%22%3E%3Cg%20fill%3D%22%23c9a14a%22%3E%3Ccircle%20cx%3D%2220%22%20cy%3D%2220%22%20r%3D%2213%22/%3E%3Crect%20x%3D%2217%22%20y%3D%221%22%20width%3D%226%22%20height%3D%229%22%20rx%3D%221%22%20transform%3D%22rotate%280%2020%2020%29%22/%3E%3Crect%20x%3D%2217%22%20y%3D%221%22%20width%3D%226%22%20height%3D%229%22%20rx%3D%221%22%20transform%3D%22rotate%2845%2020%2020%29%22/%3E%3Crect%20x%3D%2217%22%20y%3D%221%22%20width%3D%226%22%20height%3D%229%22%20rx%3D%221%22%20transform%3D%22rotate%2890%2020%2020%29%22/%3E%3Crect%20x%3D%2217%22%20y%3D%221%22%20width%3D%226%22%20height%3D%229%22%20rx%3D%221%22%20transform%3D%22rotate%28135%2020%2020%29%22/%3E%3Crect%20x%3D%2217%22%20y%3D%221%22%20width%3D%226%22%20height%3D%229%22%20rx%3D%221%22%20transform%3D%22rotate%28180%2020%2020%29%22/%3E%3Crect%20x%3D%2217%22%20y%3D%221%22%20width%3D%226%22%20height%3D%229%22%20rx%3D%221%22%20transform%3D%22rotate%28225%2020%2020%29%22/%3E%3Crect%20x%3D%2217%22%20y%3D%221%22%20width%3D%226%22%20height%3D%229%22%20rx%3D%221%22%20transform%3D%22rotate%28270%2020%2020%29%22/%3E%3Crect%20x%3D%2217%22%20y%3D%221%22%20width%3D%226%22%20height%3D%229%22%20rx%3D%221%22%20transform%3D%22rotate%28315%2020%2020%29%22/%3E%3C/g%3E%3Ccircle%20cx%3D%2220%22%20cy%3D%2220%22%20r%3D%225%22%20fill%3D%22%232a1a08%22/%3E%3C/svg%3E") center/contain no-repeat;opacity:.85;animation:bcog 2.4s linear infinite}
.axp.bx.b-cog.big{width:120px;height:120px;animation-direction:reverse;animation-duration:3.6s}
@keyframes bcog{to{transform:translate(-50%,-50%) rotate(360deg)}}
.axp.bx.b-pendulum{width:4px;height:96px;transform:translate(-50%,0) rotate(-24deg);transform-origin:50% 0;background:#c9a14a;animation:bpend .85s ease-in-out infinite alternate}
.axp.bx.b-pendulum::after{content:"";position:absolute;left:50%;bottom:-12px;width:24px;height:24px;margin-left:-12px;border-radius:50%;background:radial-gradient(circle at 35% 35%,#fff3a0,#c9a14a 50%,#7a5a1a);box-shadow:0 0 10px #ffd84d}
@keyframes bpend{to{transform:translate(-50%,0) rotate(24deg)}}
.axp.bx.b-turncount{padding:4px 14px;border-radius:999px;background:rgba(0,0,0,.7);border:2px solid #c9a14a;font:800 15px/1.2 sans-serif;color:#fff;white-space:nowrap;z-index:231}
.axp.bx.b-turncount b{color:#ff6b6b;font-size:20px}
/* svg (racines, encre) */
.b-roots path{stroke-dasharray:1;stroke-dashoffset:1;animation:bdraw .8s ease-out forwards;filter:drop-shadow(0 2px 2px rgba(0,0,0,.5))}
@keyframes bdraw{to{stroke-dashoffset:0}}
.b-ink path{stroke-dasharray:1;stroke-dashoffset:1;animation:bdraw .45s cubic-bezier(.7,0,.3,1) forwards}
/* Kolosso */
.axp.bx.b-blizz{width:2px;height:14px;border-radius:2px;background:#fff;opacity:.85;transform:translate(-50%,-50%) rotate(35deg);animation:bblizz .9s linear both;z-index:206}
@keyframes bblizz{to{transform:translate(-260px,380px) rotate(35deg)}}
.axp.bx.b-crystal{width:20px;height:var(--h);transform:translate(-50%,-100%) rotate(var(--r)) scaleY(0);transform-origin:50% 100%;clip-path:polygon(50% 0,100% 28%,82% 100%,18% 100%,0 28%);background:linear-gradient(90deg,rgba(170,220,255,.85),#fff 45%,rgba(120,190,255,.8));filter:drop-shadow(0 0 6px #9fd6ff);animation:bcrys .35s ease-out both;z-index:223}
@keyframes bcrys{to{transform:translate(-50%,-100%) rotate(var(--r)) scaleY(1)}}
/* Ougah */
.axp.bx.b-maw{left:0 !important;width:100%;height:56%;transform:none;z-index:240;background:linear-gradient(#3a0a0a,#7a1a1a);filter:drop-shadow(0 0 10px #000)}
.axp.bx.b-maw.top{top:0 !important;clip-path:polygon(0 0,100% 0,100.00% 78%,94.44% 100%,88.89% 78%,83.33% 100%,77.78% 78%,72.22% 100%,66.67% 78%,61.11% 100%,55.56% 78%,50.00% 100%,44.44% 78%,38.89% 100%,33.33% 78%,27.78% 100%,22.22% 78%,16.67% 100%,11.11% 78%,5.56% 100%,0.00% 78%);animation:bmawt 1.4s ease-in-out both}
.axp.bx.b-maw.bot{top:auto !important;bottom:0;background:linear-gradient(#7a1a1a,#3a0a0a);clip-path:polygon(0 100%,100% 100%,100.00% 22%,94.44% 0,88.89% 22%,83.33% 0,77.78% 22%,72.22% 0,66.67% 22%,61.11% 0,55.56% 22%,50.00% 0,44.44% 22%,38.89% 0,33.33% 22%,27.78% 0,22.22% 22%,16.67% 0,11.11% 22%,5.56% 0,0.00% 22%);animation:bmawb 1.4s ease-in-out both}
@keyframes bmawt{0%{transform:translateY(-100%)}45%,70%{transform:translateY(-6%)}100%{transform:translateY(-100%)}}
@keyframes bmawb{0%{transform:translateY(100%)}45%,70%{transform:translateY(6%)}100%{transform:translateY(100%)}}
/* Batofu */
.axp.bx.b-tofu{width:24px;height:20px;border-radius:50% 50% 45% 45%;background:radial-gradient(circle at 40% 35%,#fff6b0,#ffd84d 50%,#d9a520);box-shadow:0 1px 0 #7a5a10;z-index:221}
.axp.bx.b-tofu::before{content:"";position:absolute;left:-8px;top:3px;width:13px;height:8px;border-radius:50%;background:#ffe27a;animation:bflapw .12s linear infinite alternate}
.axp.bx.b-tofu::after{content:"";position:absolute;right:-6px;top:8px;border:4px solid transparent;border-left:7px solid #ff9a2a}
@keyframes bflapw{to{transform:scaleY(-1)}}
/* Blop */
.axp.bx.b-goo{width:80px;height:20px;border-radius:50%;background:radial-gradient(closest-side,#fffaf0,rgba(240,230,200,.85) 70%,transparent);animation:bgoo 2s ease-out both}
@keyframes bgoo{0%{transform:translate(-50%,-50%) scale(.2)}15%,75%{transform:translate(-50%,-50%) scale(1)}100%{transform:translate(-50%,-50%) scale(1);opacity:0}}
/* Craqueleur */
.axp.bx.b-boulder{width:calc(36px * var(--s,1));height:calc(32px * var(--s,1));border-radius:45% 55% 50% 40%;background:radial-gradient(circle at 35% 30%,#b3a594,#6d5e4c 55%,#3e3326);border:2px solid #2a2219;z-index:220}
/* Le Chouque */
.axp.bx.b-barrel{width:30px;height:34px;border-radius:9px;background:linear-gradient(0deg,transparent 22%,#3a220c 22% 28%,transparent 28% 72%,#3a220c 72% 78%,transparent 78%),linear-gradient(90deg,#6a3e1a,#b07535 50%,#6a3e1a);border:2px solid #2a1806;z-index:220}
/* Moon */
.axp.bx.b-drum{width:56px;height:46px;border-radius:6px 6px 14px 14px;background:linear-gradient(135deg,transparent 46%,#ffd84d 46% 54%,transparent 54%) 0 0/14px 14px,linear-gradient(#b8361e,#6e1a0a);border:2px solid #3a0a04;z-index:218}
.axp.bx.b-drum::before{content:"";position:absolute;left:-3px;right:-3px;top:-9px;height:16px;border-radius:50%;background:radial-gradient(ellipse,#f6e7c4,#d2b98a);border:2px solid #3a0a04}
.axp.bx.b-leaf{width:34px;height:11px;border-radius:0 100% 0 100%;background:linear-gradient(90deg,#2f7a2a,#6cc24a);animation:bleaf 2.2s ease-in both;z-index:219}
@keyframes bleaf{0%{transform:translate(-50%,-50%) rotate(0)}25%{transform:translate(-20%,60px) rotate(30deg)}50%{transform:translate(-80%,130px) rotate(-20deg)}75%{transform:translate(-30%,210px) rotate(25deg)}100%{transform:translate(-60%,300px) rotate(-10deg);opacity:0}}
.arena.bx-bounce{animation:bbounce .35s ease-out}
@keyframes bbounce{30%{transform:translateY(-9px)}60%{transform:translateY(3px)}}
.axp.bx.b-groundwave{width:40px;height:14px;border-radius:50%;border:3px solid rgba(255,225,160,.9);box-shadow:0 0 10px rgba(255,200,120,.7);animation:bgw .7s ease-out forwards}
@keyframes bgw{to{transform:translate(calc(-50% - 280px),-50%) scale(3.4,1.6);opacity:0}}
/* Dragon Cochon */
.axp.bx.b-smokering{width:56px;height:56px;border-radius:50%;border:10px solid rgba(215,210,205,.8);filter:blur(1.5px);box-shadow:0 0 10px rgba(255,255,255,.4),inset 0 0 8px rgba(120,110,100,.6);z-index:219}
/* Tofu Royal */
.axp.bx.b-crown{width:42px;height:28px;clip-path:polygon(0 100%,0 20%,22% 55%,50% 0,78% 55%,100% 20%,100% 100%);background:linear-gradient(#fff3a0,#ffd84d 40%,#c9961c);filter:drop-shadow(0 0 8px #ffd84d);animation:bpopin .25s ease-out both;z-index:230}
.axp.bx.b-feather{width:9px;height:22px;border-radius:50% 50% 50% 50%/80% 80% 20% 20%;background:linear-gradient(90deg,#ffe27a,#fff 50%,#ffd84d);z-index:222}
/* Crocabulia */
.axp.bx.b-wing{width:170px;height:130px;background:linear-gradient(160deg,#2c6e5a,#1a3a30 60%,#0e211b);opacity:.92;clip-path:polygon(100% 60%,70% 0,55% 18%,40% 6%,28% 30%,10% 22%,14% 52%,0 58%,20% 78%,10% 100%,45% 84%,70% 92%);filter:drop-shadow(0 0 6px rgba(0,0,0,.6))}
.axp.bx.b-wing.l{transform:translate(-100%,-62%);transform-origin:100% 60%;animation:bwingL .5s ease-out both}
.axp.bx.b-wing.r{transform:translate(0,-62%);transform-origin:0 60%;clip-path:polygon(0 60%,30% 0,45% 18%,60% 6%,72% 30%,90% 22%,86% 52%,100% 58%,80% 78%,90% 100%,55% 84%,30% 92%);animation:bwingR .5s ease-out both}
@keyframes bwingL{from{transform:translate(-100%,-62%) rotate(70deg) scale(.2)}to{transform:translate(-100%,-62%)}}
@keyframes bwingR{from{transform:translate(0,-62%) rotate(-70deg) scale(.2)}to{transform:translate(0,-62%)}}
.axp.bx.b-wing.l.flap{animation:bflapL .45s ease-in-out}
.axp.bx.b-wing.r.flap{animation:bflapR .45s ease-in-out}
@keyframes bflapL{50%{transform:translate(-100%,-62%) rotate(-28deg) scaleY(.8)}}
@keyframes bflapR{50%{transform:translate(0,-62%) rotate(28deg) scaleY(.8)}}
.axp.bx.b-gust{width:90px;height:3px;border-radius:2px;background:linear-gradient(90deg,transparent,rgba(255,255,255,.9),transparent);z-index:221}
/* Shogun Tofugawa */
.arena.bx-paper{filter:sepia(.85) contrast(1.15) brightness(1.05) saturate(.6);transition:filter .4s}
.axp.bx.b-inkdrop{width:calc(14px * var(--s,1));height:calc(12px * var(--s,1));border-radius:45% 55% 50% 40%;background:#0b0b0b;animation:binkd .8s ease-out both;z-index:218}
@keyframes binkd{0%{transform:translate(-50%,-50%) scale(0)}25%{transform:translate(-50%,-50%) scale(1.3)}100%{transform:translate(-50%,-50%) scale(1);opacity:0}}
@media (max-width:600px){.axp.bx.b-bigwave{width:220px;height:180px}.axp.bx.b-wing{width:120px;height:92px}.axp.bx.b-spiral{width:520px;height:520px}.axp.bx.b-count{font-size:44px}}

/* peaufinage */
.axp.bx.b-mirror{z-index:207;mix-blend-mode:screen;-webkit-mask:linear-gradient(110deg,transparent 30%,#fff 47%,#fff 53%,transparent 70%) 0 0/300% 100% no-repeat;mask:linear-gradient(110deg,transparent 30%,#fff 47%,#fff 53%,transparent 70%) 0 0/300% 100% no-repeat;animation:bsheen .7s linear infinite}
.axp.bx.b-mirror img{filter:brightness(2.4) contrast(.7) saturate(.2) drop-shadow(0 0 6px #bfe6ff)}
@keyframes bsheen{from{-webkit-mask-position:120% 0;mask-position:120% 0}to{-webkit-mask-position:-120% 0;mask-position:-120% 0}}
.axp.bx.b-tuft{width:13px;height:10px;border-radius:50%;background:#fff8e6;box-shadow:0 0 4px rgba(255,255,255,.6);animation:bsteam .6s ease-out both;z-index:214}
.axp.bx.b-feather.sm{width:7px;height:16px}
.axp.bx.b-drop{width:8px;height:8px;border-radius:50%;background:radial-gradient(circle at 35% 35%,#fff,#efe3c4);z-index:219}
.axp.bx.b-stave{width:7px;height:24px;border-radius:2px;background:linear-gradient(90deg,#6a3e1a,#b07535 50%,#6a3e1a);z-index:220}
.axp.bx.b-splash{width:40px;height:40px;border-radius:50%;background:radial-gradient(circle,rgba(255,220,150,.9),rgba(200,120,40,.4) 50%,transparent 70%);animation:bsplash .45s ease-out forwards;z-index:219}
@keyframes bsplash{to{transform:translate(-50%,-50%) scale(2.4);opacity:0}}
.axp.bx.b-intro{width:min(78%,420px);padding:14px 18px;border-radius:18px;background:linear-gradient(160deg,rgba(40,12,12,.96),rgba(12,4,4,.96));border:2px solid #ff6b6b;box-shadow:0 0 0 4px rgba(0,0,0,.5),0 0 40px rgba(255,80,60,.5);display:flex;align-items:center;gap:16px;z-index:320}
.axp.bx.b-intro img{width:clamp(90px,24%,150px);height:auto;filter:drop-shadow(0 8px 10px rgba(0,0,0,.7))}
.axp.bx.b-intro .t{display:flex;flex-direction:column;gap:4px;min-width:0}
.axp.bx.b-intro small{font-size:11px;font-weight:900;letter-spacing:2px;text-transform:uppercase;color:#ff9a8a}
.axp.bx.b-intro b{font-family:var(--font-title,serif);font-size:clamp(22px,4.5vw,36px);line-height:1.05;color:#fff;text-shadow:0 2px 0 #000,0 0 18px #ff6b6b}
.axp.bx.b-roar{width:60px;height:60px;border-radius:50%;border:4px solid rgba(255,255,255,.85);box-shadow:0 0 14px #ff9a8a;animation:broar .8s ease-out both;z-index:321}
@keyframes broar{to{transform:translate(-50%,-50%) scale(6);opacity:0;border-width:1px}}
@keyframes baura{from{opacity:.55}to{opacity:1;transform:translate(-50%,-50%) scale(1.12)}}
@keyframes baurab{from{opacity:.6;transform:translate(-50%,-50%) scale(1.3)}to{opacity:1;transform:translate(-50%,-50%) scale(1.5)}}
@keyframes bhot{to{filter:drop-shadow(0 0 10px #ff3b1a) brightness(1.4)}}
.axp.bx.b-spore{width:7px;height:7px;border-radius:50%;background:radial-gradient(circle at 40% 35%,#d8f0a0,#7fae3a 60%,#4d6f1f);box-shadow:0 0 4px rgba(150,220,90,.6);z-index:219}
.axp.bx.b-rock{width:10px;height:9px;border-radius:40% 60% 50% 45%;background:linear-gradient(135deg,#a89a88,#5c5042);border:1px solid #2e2820;z-index:220}
.axp.bx.b-skyarrow{width:4px;height:34px;transform:translate(-50%,-50%);background:linear-gradient(#8a6a43,#d9c39a);clip-path:polygon(50% 0,100% 18%,65% 18%,65% 100%,35% 100%,35% 18%,0 18%);z-index:220}
.axp.bx.b-skyarrow::after{content:"";position:absolute;left:50%;top:100%;width:12px;height:8px;margin-left:-6px;background:#bfe6ff;clip-path:polygon(50% 0,100% 100%,0 100%)}
/* entrée du boss : carte en grand ; boss légendaire en violet */
.axp.bx.b-intro{transform:translate(-50%,-50%);box-sizing:border-box;max-width:calc(100% - 24px)}
.axp.bx.b-intro span{font-size:11px;color:#ffd0c0;opacity:.9;line-height:1.3}
.axp.bx.b-intro.legend{border-color:#c77dff;box-shadow:0 0 0 4px rgba(0,0,0,.5),0 0 40px rgba(155,77,255,.55)}
.axp.bx.b-intro.legend small{color:#d9b3ff}.axp.bx.b-intro.legend b{text-shadow:0 2px 0 #000,0 0 18px #c77dff}
.axbanner.bxwin{border-color:rgba(255,216,77,.9);top:18%}.axbanner.bxwin .n{font-size:28px;text-shadow:0 2px 0 #000,0 0 18px rgba(255,216,77,.9)}
.axbanner.bxphase{top:10%}
/* phases de boss (50 % / 25 %) : fissures posées sur sa silhouette, aura rouge derrière lui ; le boss cesse de flotter pour que les fissures restent en place */
.ent .bxph{position:absolute;left:50%;top:0;width:calc(var(--h) * .9);height:calc(var(--h) * .9);transform:translateX(-50%);pointer-events:none;display:none}
.ent.bxp2 .bxph,.ent.bxp3 .bxph{display:block}
.ent.bxp2 img.sprite,.ent.bxp3 img.sprite{animation:none;filter:brightness(.8) saturate(1.3) contrast(1.15) drop-shadow(0 6px 4px rgba(0,0,0,.35))}
.ent.bxp3 img.sprite{filter:brightness(.7) saturate(1.6) contrast(1.25) drop-shadow(0 0 8px rgba(255,80,40,.6))}
.ent .bxph .au{position:absolute;left:50%;top:58%;width:150%;height:150%;transform:translate(-50%,-50%);border-radius:50%;background:radial-gradient(circle,rgba(255,90,40,.55),rgba(255,60,30,.25) 45%,transparent 70%);animation:baura .9s ease-in-out infinite alternate;z-index:-1}
.ent.bxp3 .bxph .au{animation:baurab .45s ease-in-out infinite alternate;background:radial-gradient(circle,rgba(255,60,20,.75),rgba(255,40,20,.35) 50%,transparent 72%)}
.ent .bxph .cr{position:absolute;inset:0;z-index:1;-webkit-mask:var(--m) center/100% 100% no-repeat;mask:var(--m) center/100% 100% no-repeat;background:url("data:image/svg+xml;utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100' preserveAspectRatio='none' fill='none' stroke='%23150505' stroke-width='2.4' stroke-linejoin='round'%3E%3Cpath d='M38 2 L44 20 L34 32 L48 48 L40 64 L54 80 L46 100'/%3E%3Cpath d='M44 20 L66 26 L80 18 M48 48 L26 54 L14 44 M40 64 L68 72 L86 64 M34 32 L16 38'/%3E%3Cpath d='M70 2 L64 26 M72 72 L78 100 M20 70 L30 90'/%3E%3C/svg%3E") center/100% 100% no-repeat}
.ent.bxp3 .bxph .cr{background-image:url("data:image/svg+xml;utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100' preserveAspectRatio='none' fill='none' stroke='%23ffb347' stroke-width='3' stroke-linejoin='round'%3E%3Cpath d='M38 2 L44 20 L34 32 L48 48 L40 64 L54 80 L46 100'/%3E%3Cpath d='M44 20 L66 26 L80 18 M48 48 L26 54 L14 44 M40 64 L68 72 L86 64 M34 32 L16 38'/%3E%3Cpath d='M70 2 L64 26 M72 72 L78 100 M20 70 L30 90'/%3E%3C/svg%3E");animation:bhot .4s ease-in-out infinite alternate}
.ent.dead .bxph{display:none}
.ent.bxskin img.sprite{filter:hue-rotate(var(--hue)) saturate(1.5) drop-shadow(0 6px 4px rgba(0,0,0,.35))}
@media (max-width:600px){.axp.bx.b-intro{gap:10px;padding:10px 12px}.axp.bx.b-intro span{display:none}.axbanner.bxwin .n{font-size:22px}}
/* familles de monstres (lot 2) */
.axp.bx.b-web{border-radius:50%;background:repeating-radial-gradient(circle,transparent 0 6px,rgba(255,255,255,.75) 6px 7px),repeating-conic-gradient(rgba(255,255,255,.7) 0 1.5deg,transparent 1.5deg 30deg);-webkit-mask:radial-gradient(circle,#000 55%,transparent 72%);mask:radial-gradient(circle,#000 55%,transparent 72%);animation:bpopin .25s ease-out,axfade .4s ease-in .6s forwards;z-index:222}
.axp.bx.b-quill{width:22px;height:3px;border-radius:2px;background:linear-gradient(90deg,#4a3320,#d8c6a2 70%,#fff);box-shadow:0 0 4px rgba(0,0,0,.5);z-index:221}
.axp.bx.b-club{width:14px;height:64px;border-radius:7px 7px 4px 4px;background:linear-gradient(90deg,#4e3418,#8a6032 50%,#3b2610);transform-origin:50% 90%;z-index:224}
.axp.bx.b-club::before{content:"";position:absolute;left:-6px;top:-4px;width:26px;height:26px;border-radius:50%;background:radial-gradient(circle at 35% 30%,#8f8f8f,#3c3c3c 70%)}
.axp.bx.b-bone{width:34px;height:7px;border-radius:4px;background:#efe6cf;box-shadow:0 1px 2px rgba(0,0,0,.5);transform-origin:50% 50%;z-index:223}
.axp.bx.b-bone::before,.axp.bx.b-bone::after{content:"";position:absolute;top:-4px;width:8px;height:15px;border-radius:50%;background:#efe6cf}
.axp.bx.b-bone::before{left:-4px}.axp.bx.b-bone::after{right:-4px}
.axp.bx.b-mud{width:9px;height:7px;border-radius:50%;background:#5a3d1e;box-shadow:0 0 3px rgba(0,0,0,.4);z-index:220}
.axp.bx.b-pollen{width:5px;height:5px;border-radius:50%;background:#ffe27a;box-shadow:0 0 5px #ffd14d;z-index:219}
/* héros en difficulté : cœur qui bat, vignette rouge sur l'arène */
.arena.axon .ent.hero.bxlow .look,.arena.axon .ent.hero.bxlow .medal{animation:bxheart .9s ease-in-out infinite}
@keyframes bxheart{0%,100%{filter:none;transform:none}45%{filter:sepia(.5) saturate(3) hue-rotate(-30deg) brightness(1.05);transform:scale(1.04,.97)}}
.arena.bx-danger .fxl{box-shadow:inset 0 0 70px rgba(255,20,20,.0);animation:bxdanger .9s ease-in-out infinite alternate}
@keyframes bxdanger{to{box-shadow:inset 0 0 90px rgba(255,20,20,.42)}}
/* ===== 0.1.15 : compte et sauvegarde en ligne ===== */
.btn.dbtn{background:#5865f2;color:#fff;box-shadow:0 3px 0 rgba(0,0,0,.35),0 6px 14px rgba(0,0,0,.18);border-color:#4752c4}
:root[data-theme="emerald"] .btn.dbtn{background:#5865f2;color:#fff;border-color:#4752c4}
.btn.dbtn svg{width:22px;height:22px}
.lnk{background:none;border:0;color:var(--muted);text-decoration:underline;cursor:pointer;font-weight:700;padding:4px}
.cloud{display:inline-flex;align-items:center;gap:6px;border-radius:999px;padding:3px 10px;font-size:12.5px;font-weight:800;background:rgba(var(--glw),.12);border:1px solid rgba(var(--glw),.45);white-space:nowrap;color:var(--ink);cursor:pointer;justify-self:start}
.cloud .dot.s{background:#e7c46a;box-shadow:0 0 8px #e7c46a}
.cloud .dot.warn{background:var(--danger);box-shadow:0 0 8px var(--danger)}
.cloud[data-st="conflict"]{border-color:var(--danger)}
.svc{display:grid;grid-template-columns:auto 1fr;gap:2px 12px;align-items:center;background:var(--panel2);border:2px solid var(--line);border-radius:14px;padding:10px 12px}
.svc.on{border-color:var(--gold);box-shadow:0 0 14px rgba(var(--glw),.25)}
.svc .uico{grid-row:span 2;width:40px;height:40px}.svc b{font-size:15px}
/* ===== 1.0.11 : écran « Choisis ta partie » (façon Melvor Idle) ===== */
.svm{max-width:1000px;margin:0 auto;display:grid;gap:16px;padding-bottom:30px}
.svm .logo{font-family:var(--font-title);font-size:clamp(40px,8vw,60px);color:var(--title);text-shadow:var(--tshadow);text-align:center;margin:6px 0 0;line-height:1}
.svtitle{display:grid;gap:4px;text-align:center;justify-items:center}.svtitle h2{margin:0}.svtitle .small{max-width:62ch}
.svacc{display:flex;align-items:center;gap:10px 14px;flex-wrap:wrap;justify-content:space-between;background:var(--panel);border:2px solid var(--frame);border-radius:14px;padding:10px 14px}
.svacc .who{display:flex;align-items:center;gap:10px;min-width:0;flex:1 1 260px}.svacc .who b{font-size:15px}
.svacc .dot{flex:none;width:10px;height:10px;border-radius:50%;background:var(--good,#3fb35d);box-shadow:0 0 8px var(--good,#3fb35d)}.svacc .dot.off{background:var(--muted);box-shadow:none}
.svlog{display:grid;gap:6px;justify-items:stretch;flex:0 1 300px}.svlog .btn.dbtn{width:100%}
.svmail{flex-wrap:nowrap}.svmail input{flex:1;min-width:0}
.svmsg{text-align:center}
.svgrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(270px,1fr));gap:14px}
.svc2{position:relative;display:grid;gap:10px;align-content:start;background:linear-gradient(180deg,var(--panel2),var(--panel));border:3px solid var(--frame);border-radius:18px;padding:14px;box-shadow:var(--shadow);overflow:hidden;min-width:0}
.svc2.last{border-color:var(--gold);box-shadow:0 0 18px rgba(var(--glw),.3),var(--shadow)}
.svc2 .min0{min-width:0}
.svc2 .hd{display:grid;grid-template-columns:76px minmax(0,1fr);gap:12px;align-items:center}
.svc2 .pt{width:76px;height:96px;border-radius:12px;background:radial-gradient(circle at 50% 30%,color-mix(in srgb,var(--cc) 45%,transparent),transparent 70%),var(--panel3);border:2px solid var(--frame);display:grid;place-items:end center;overflow:hidden}
.svc2 .pt img{height:92px;width:auto;display:block}
.svc2 .nm{font-family:var(--font-title);font-size:21px;color:var(--title);line-height:1.1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.svc2 .sub{font-size:13px;color:var(--muted);display:flex;gap:6px;align-items:center;flex-wrap:wrap}
.svc2 .tags{display:flex;gap:6px;flex-wrap:wrap;margin-top:4px}
.svm .tag.cl{background:var(--gold);color:#13200a}.svm .tag.lo{background:#4a4432;color:#f3e7c4}.svm .tag.on{background:#2f6b3a;color:#e6ffe9}.svm .tag.dv{background:var(--panel3);color:var(--ink)}
.svc2 .st{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}
.svc2 .st div{background:var(--panel3);border-radius:10px;padding:6px 9px;display:grid;gap:0;min-width:0}
.svc2 .st b{font-size:15px;font-variant-numeric:tabular-nums}.svc2 .st span{font-size:11.5px;color:var(--muted);text-transform:uppercase;letter-spacing:.5px;font-weight:800}
.svc2 .when{font-size:13px;color:var(--muted)}
.svc2 .svnote{font-size:13px;font-weight:700;color:var(--ink);background:rgba(var(--glw),.08);border:1px solid rgba(var(--glw),.35);border-radius:10px;padding:6px 9px}
.svc2 .go{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.svc2 .go .btn.primary{flex:1;font-size:17px;padding:10px 14px;font-family:var(--font-title)}
.svc2 .mini{display:flex;gap:12px;flex-wrap:wrap;font-size:12.5px}.svc2 .mini button{background:none;border:0;color:var(--muted);text-decoration:underline;cursor:pointer;font:inherit;padding:0}
.svc2 .svask{display:grid;gap:6px}
.svc2 .lastb{position:absolute;top:0;right:0;background:var(--gold);color:#13200a;font-weight:900;font-size:11px;letter-spacing:.6px;text-transform:uppercase;padding:4px 10px;border-bottom-left-radius:12px}
.svc2.empty{border-style:dashed;place-items:center;text-align:center;min-height:250px;background:transparent;box-shadow:none;align-content:center}
.svc2.empty .pn{font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:.6px;color:var(--muted)}
.svc2.empty .plus{width:64px;height:64px;border-radius:50%;border:3px dashed var(--frame);display:grid;place-items:center;font-size:34px;color:var(--gold);font-weight:900}
.svver{display:grid;gap:6px}
.svver .vl{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:4px 10px;align-items:center;background:var(--panel3);border:2px solid var(--line);border-radius:12px;padding:8px 10px}
.svver .vl.best{border-color:var(--gold)}
.svver .vl .uico{width:30px;height:30px}.svver .vl small{display:block;color:var(--muted);font-size:12px}
.svver .warn{font-size:13px;color:var(--danger);font-weight:800}
:root[data-theme="dark"] .svver .warn{color:#ffd77a}
.svopt{display:flex;align-items:center;gap:8px;justify-content:center;font-size:13.5px;color:var(--muted);cursor:pointer}
.svopt input{width:18px;height:18px;accent-color:var(--gold)}
.svfoot{text-align:center;font-size:12.5px;color:var(--muted)}
.svback{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap}
nav.main:empty{display:none} /* écran de choix et choix du héros : pas de barre vide en bas du téléphone */
@media (max-width:640px){.svc2.empty{min-height:150px}.svc2 .hd{grid-template-columns:64px minmax(0,1fr)}.svc2 .pt{width:64px;height:82px}.svc2 .pt img{height:78px}.svgrid{grid-template-columns:minmax(0,1fr)}}
.kvg{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:8px 14px;align-items:center}
.kvg .oneline{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.kvg .tag{justify-self:end}
/* ===== 0.1.16 : classements ===== */
.cm{width:30px;height:30px;border-radius:50%;display:grid;place-items:center;background:radial-gradient(circle at 38% 30%,color-mix(in srgb,var(--cc,#777) 55%,#fff),var(--cc,#777) 62%,color-mix(in srgb,var(--cc,#777) 70%,#000));border:2px solid var(--gold2);flex:none}
.cm img{width:66%}
.ladder select{max-width:100%}
.podium{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;align-items:end}
.podium.n1{grid-template-columns:minmax(0,1fr);max-width:260px;margin:0 auto;width:100%}.podium.n2{grid-template-columns:repeat(2,minmax(0,1fr))}
.pod{display:flex;flex-direction:column;align-items:center;gap:4px;padding:12px 8px;border-radius:14px;background:var(--panel2);border:2px solid var(--line);text-align:center;min-width:0;cursor:pointer;color:var(--ink);font:inherit}
.pod.p1{border-color:var(--gold);box-shadow:0 0 18px rgba(var(--glw),.3);padding-top:16px}
.pod.mine{outline:2px solid rgba(var(--glw),.7)}
.pod .rk{font-family:var(--font-title);font-size:22px;color:var(--gold2)}
.pod .nm{font-weight:900;font-size:15px;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.pod .sc{font-size:12.5px;color:var(--muted)}
.pod .cm{width:46px;height:46px}
.lbt{display:flex;flex-direction:column}
.lbr{display:grid;grid-template-columns:44px 34px minmax(0,1fr) auto auto;gap:10px;align-items:center;padding:8px 10px;border:0;border-bottom:1px solid var(--line);background:none;color:var(--ink);font:inherit;text-align:left;cursor:pointer;width:100%}
.lbr:hover{background:rgba(var(--glw),.05)}
.lbr .rk{font-weight:900;color:var(--muted);text-align:right;font-variant-numeric:tabular-nums}
.lbr .nm{font-weight:800;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.lbr .nm small{display:block;font-weight:600;color:var(--muted);font-size:12px;white-space:normal}
.lbr .sc{font-weight:900;font-variant-numeric:tabular-nums;text-align:right}
.lbr .okv{color:var(--good);font-size:12px;font-weight:800;white-space:nowrap}
.lbr.me{background:rgba(var(--glw),.10);border:2px solid rgba(var(--glw),.55);border-radius:12px;margin-top:8px}
.lbr.first{grid-template-columns:34px minmax(0,1fr)}.lbr.first .uico{width:30px;height:30px}
.lbr.rec{grid-template-columns:minmax(0,1fr) auto auto;cursor:default}
.wkgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:8px}
.wkd{display:flex;flex-direction:column;align-items:flex-start;gap:2px;padding:8px 10px;border-radius:12px;background:var(--panel2);border:2px solid var(--line);color:var(--ink);font:inherit;text-align:left;cursor:pointer;min-width:0}
.wkd small{color:var(--muted);font-weight:700}.wkd b{font-size:13.5px}
.wkd[aria-pressed="true"]{border-color:var(--gold);box-shadow:0 0 12px rgba(var(--glw),.25)}
.bigrec{font-family:var(--font-title);font-size:30px;color:var(--gold2);text-align:center}.bigrec.lose{color:var(--danger)} /* 1.0.12.8 : « Défaite » en rouge, pas en vert */
.chk{display:flex;flex-direction:column;gap:8px}.chk>div{display:flex;gap:10px;align-items:flex-start}.chk .okc{color:var(--good);font-weight:900}
.tm{display:flex;flex-wrap:wrap;gap:6px}
.tm button{display:flex;flex-direction:column;align-items:center;gap:2px;font:inherit;font-size:11.5px;font-weight:800;color:var(--ink);background:none;border:2px solid transparent;border-radius:12px;padding:4px 6px;cursor:pointer;max-width:84px}
.tm button span{max-width:72px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tm button small{color:var(--muted)}
.tm button[aria-pressed="true"]{border-color:var(--gold)}
.gearrow{display:flex;flex-wrap:wrap;gap:6px}
@media (max-width:600px){.lbr{grid-template-columns:34px 30px minmax(0,1fr) auto;padding:7px 6px;gap:8px}.lbr .okv{display:none}.lbr.rec{grid-template-columns:minmax(0,1fr) auto}.podium{gap:6px}.pod .sc{font-size:11.5px}.pod .nm{font-size:13.5px}}
@media (max-width:600px){.lbr>span:empty{display:none}}
/* ===================== 0.1.17 — lot Bienvenue : affichage, bulles de découverte, recherche rapide ===================== */
html{zoom:1}
.nomotion *{animation:none!important;transition:none!important}
.nomotion .cele-rays,.nomotion .fxb,.nomotion .ent .ring{display:none}
:root.contrast{--muted:#4a3520;--line:rgba(107,69,36,.45);--frame:#4a2e14}
:root.contrast[data-theme="dark"]{--muted:#e6dcc4;--line:rgba(245,234,210,.42);--frame:#a88a5a}
.contrast .btn{box-shadow:inset 0 0 0 2px var(--frame),0 0 0 1px rgba(0,0,0,.25)}
.contrast .small,.contrast .xs,.contrast .muted{font-weight:600}
/* bulle de découverte : flotte en bas, ou pointe le bouton concerné (entouré d'or) */
.wtip{position:fixed;z-index:95;left:50%;bottom:calc(var(--navh) + 18px);transform:translateX(-50%);width:min(360px,calc(100vw - 24px));background:var(--frame);color:#fff7e3;border:2px solid var(--gold);border-radius:14px;padding:12px 14px;display:flex;flex-direction:column;gap:8px;font-size:14px;line-height:1.4;box-shadow:0 10px 30px rgba(0,0,0,.45);animation:wtipin .25s ease-out}
:root[data-theme="dark"] .wtip{background:#f3d998;color:#221b13;border-color:#fff}
.wtip .wt-h{display:flex;align-items:center;gap:6px;font-size:15px}.wtip .wt-h .uico{width:18px;height:18px}
.wtip .wt-t{font-size:13.5px}
.wtip .btn{box-shadow:none}.wtip .btn.go{background:var(--gold2);color:#3a2614;box-shadow:0 0 0 2px rgba(0,0,0,.25)}.wtip .btn.ghost{background:transparent;color:inherit;opacity:.85}
.wtip::before{content:"";position:absolute;left:var(--ax,50%);border:9px solid transparent;transform:translateX(-50%);display:none}
.wtip.below::before{display:block;top:-18px;border-bottom-color:var(--gold)}
.wtip.above::before{display:block;bottom:-18px;border-top-color:var(--gold)}
.wl-target{box-shadow:0 0 0 3px var(--gold2),0 0 0 8px rgba(228,185,85,.4)!important;border-radius:12px;position:relative;z-index:94}
/* 1.0.12.8 : une bulle posée en bas laisse de la place sous la page (on fait défiler le bas au-dessus d'elle) et la bulle du chat passe au-dessus */
body:has(#wtip:not(.below):not(.side)) .app{padding-bottom:calc(var(--wtipb,0px) + 24px)}
@media (max-width:859px){body:has(#wtip:not(.below):not(.side)) .chmin{bottom:calc(var(--wtipb,0px) + 10px)}}
@keyframes wtipin{from{opacity:0;transform:translateX(-50%) translateY(8px)}to{opacity:1}}
.wtip.below,.wtip.above{transform:none;animation:none;bottom:auto}
.ck{width:16px;height:16px;border-radius:50%;flex:none;background:var(--panel3);box-shadow:inset 0 0 0 2px var(--line)}.ck.on{background:var(--action);box-shadow:inset 0 0 0 3px var(--panel)}
/* recherche rapide */
.wsearch-bg{position:fixed;inset:0;background:rgba(10,6,2,.55);z-index:100;display:flex;align-items:flex-start;justify-content:center;padding:max(8px,env(safe-area-inset-top,0px)) 8px 0}
.wsearch{width:min(640px,100%);max-height:min(calc(80vh / var(--vz,1)),620px,calc(var(--wsvh,100vh) / var(--vz,1) - 16px));margin-top:min(8vh,60px);background:var(--panel);border:3px solid var(--frame);border-radius:18px;display:flex;flex-direction:column;overflow:hidden;box-shadow:var(--shadow)}
.wsin{display:flex;align-items:center;gap:8px;padding:10px 12px;border-bottom:2px solid var(--line)}
.wsin .uico{width:22px;height:22px;flex:none;color:var(--gold)}
.wsin input{flex:1;min-width:0;border:0;background:transparent;color:var(--ink);font:inherit;font-size:17px;font-weight:700;outline:none;padding:6px 0}
.wsin input::-webkit-search-cancel-button{-webkit-appearance:none}
.wsres{overflow:auto;padding:6px;display:flex;flex-direction:column;gap:2px;min-height:60px}
.wsg{font-size:11px;font-weight:900;letter-spacing:.07em;text-transform:uppercase;color:var(--muted);padding:8px 8px 3px}
.wsclr{border:0;background:none;color:var(--muted);font:inherit;font-size:11px;font-weight:800;letter-spacing:.04em;text-transform:none;text-decoration:underline;cursor:pointer;padding:2px 4px}.wsclr:hover{color:var(--ink)}
.wsr{display:flex;align-items:center;gap:10px;padding:6px 8px;border:0;border-radius:10px;background:transparent;color:var(--ink);font:inherit;text-align:left;cursor:pointer;width:100%}
.wsr:hover,.wsr.sel{background:var(--panel3);box-shadow:inset 0 0 0 2px var(--gold)}
.wsr b{display:block;font-size:14px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.wsr small{display:block;font-size:11.5px;color:var(--muted)}
.wsr .grow{min-width:0}
.wsr mark{background:transparent;color:inherit;text-decoration:underline;text-decoration-color:var(--gold);text-decoration-thickness:2px;text-underline-offset:2px}
.wsgo{font-size:11.5px;font-weight:800;color:var(--gold);white-space:nowrap}
/* 0.1.53.5-6 : bouton direct vers le monstre qui lâche la ressource ou l'objet : une seule carte, colonne alignée */
.wsrow{display:flex;align-items:stretch;border-radius:10px}
.wsrow .wsr{flex:1;min-width:0;border-radius:10px 0 0 10px}
.wsrow:hover,.wsrow.sel{background:var(--panel3);box-shadow:inset 0 0 0 2px var(--gold)}
.wsrow .wsr:hover,.wsrow .wsr.sel{background:transparent;box-shadow:none}
.wsmon{display:flex;align-items:center;gap:8px;flex:0 0 250px;margin:5px 5px 5px 0;padding:4px 8px 4px 6px;border:1px solid var(--line);border-radius:9px;background:var(--panel2);color:var(--ink);font:inherit;text-align:left;cursor:pointer;transition:background .12s,border-color .12s}
.wsmon:hover,.wsmon:focus-visible{background:var(--panel);border-color:var(--gold);outline:none}
.wsmon img{width:32px;height:32px;object-fit:contain;flex:0 0 auto}
.wsmon .q{width:32px;text-align:center;color:var(--muted);flex:0 0 auto}
.wsmon .grow{min-width:0;flex:1}
.wsmon .grow b{display:block;font-size:12.5px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.wsmon small{display:block;font-size:11px;color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.wsmon small .uico{width:11px;height:11px;vertical-align:-1px}
.wsmp{display:flex;flex-direction:column;align-items:flex-end;font-size:12.5px;font-weight:800;color:var(--ink);white-space:nowrap}
.wsmp i{font-style:normal;font-size:11px;color:var(--gold)}
.wsmon.locked img{filter:grayscale(.6);opacity:.75}
.wsmon.locked .wsmp i{color:var(--muted)}
@media (max-width:560px){.wsrow{flex-wrap:wrap}.wsrow .wsr{flex:1 0 100%;border-radius:10px 10px 0 0;padding-bottom:3px}.wsmon{flex:1 1 auto;min-width:0;margin:0 6px 6px 46px;gap:6px;padding:3px 8px 3px 5px}.wsmon img,.wsmon .q{width:26px;height:26px}.wsmon .grow{display:flex;align-items:baseline;gap:6px}.wsmon .grow b{flex:0 1 auto;min-width:0}.wsmon small{flex:1;min-width:0}.wsmp{flex-direction:row;align-items:baseline;gap:6px}}
/* lignes « monstre » des fiches ressource et objet */
.monli .monwhere{display:block;color:var(--muted);margin-top:1px}
.monli .monwhere .uico{width:14px;height:14px;vertical-align:-2px}
.monli .monpct{font-weight:800;font-size:13px;white-space:nowrap;padding:2px 8px;border-radius:999px;background:var(--panel3)}
.dofdrop{display:flex;flex-direction:column;gap:3px;padding:10px 12px;border-bottom:1px solid var(--line)}
.dofdrop:last-child{border-bottom:0}
.dofdrop .dd-h{display:flex;align-items:center;gap:10px}
.dofdrop .dd-h .icobox{flex:none}
.dofdrop .dd-h small{display:block;color:var(--muted);font-size:12px;margin-top:1px}
.dofdrop .dd-h .uico{width:14px;height:14px;vertical-align:-2px}
.dofdrop .dd-l{font-size:12.5px;padding-left:2px}
.dofdrop .dd-l.ok{color:var(--good,#3fa34d);font-weight:700}
.dofdrop .dd-l.muted{color:var(--muted)}
.dofdrop .dd-l .uico{width:13px;height:13px;vertical-align:-2px}
.dofdrop.locked .dd-h .icobox{filter:grayscale(.6);opacity:.8}
.dofbox{display:flex;align-items:center;gap:8px;padding:8px 10px;border-radius:10px;background:color-mix(in srgb,var(--archi) 10%,transparent);border:1px solid color-mix(in srgb,var(--archi) 35%,transparent)}
.dofbox .dfpic{width:34px;height:34px;object-fit:contain;flex:none}
.dofbox .grow b{color:var(--archi)}
.doflad{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:3px;margin:3px 0 4px;max-width:420px}
.doflad span{display:inline-flex;flex-direction:column;align-items:center;min-width:0;padding:2px 2px;white-space:nowrap;border-radius:6px;background:color-mix(in srgb,var(--archi) 8%,transparent);font-size:11px;font-variant-numeric:tabular-nums}
.doflad span i{font-style:normal;font-size:10px;color:var(--muted)}
.doflad span.on{background:color-mix(in srgb,var(--archi) 28%,transparent);font-weight:700;outline:1px solid var(--archi)}
.doflad span.off{opacity:.45}
.doflad span.far:not(.on){opacity:.6}
.dgcard .dofbadge{position:absolute;left:6px;bottom:6px;width:22px;height:22px;object-fit:contain;filter:drop-shadow(0 1px 2px rgba(0,0,0,.4))}
.monli.locked .icobox img{filter:grayscale(.6);opacity:.75}
.wsk{width:32px;height:32px;border-radius:9px;display:inline-flex;align-items:center;justify-content:center;font-size:12px;font-weight:900;color:#fff;flex:none;background:var(--frame2)}
.wsk.img{background:var(--panel3)}.wsk.img img{width:28px;height:28px;object-fit:contain}.wsk .uico{width:16px;height:16px}
.wsk.k-dg{background:#8a5d33}.wsk.k-item{background:#2f86c6}.wsk.k-mon{background:#9b2c2c}.wsk.k-res{background:#4f8a2b}.wsk.k-page{background:#7a5bb0}.wsk.k-zone{background:#3f7f6b}.wsk.k-set{background:#1f6f9a}.wsk.k-dofus{background:#c77d1e}.wsk.k-idol{background:#9b4dff}.wsk.k-pet,.wsk.k-mount{background:#b0643c}.wsk.k-cons{background:#d27a9c}.wsk.k-ach{background:#c99a2e}
.wsfoot{display:flex;gap:12px;flex-wrap:wrap;align-items:center;font-size:11.5px;color:var(--muted);border-top:1px solid var(--line);padding:6px 12px}
.wsfoot kbd{font:inherit;font-size:11px;border:1px solid var(--line);border-radius:5px;padding:0 5px;margin-right:2px;background:var(--panel2)}
@media (max-width:640px){.wsearch{margin-top:0;max-height:calc(var(--wsvh,100vh) / var(--vz,1) - 16px)}.wsfoot span:not(:last-child){display:none}.wsfoot .grow{display:none}}

/* ---------- chat (multijoueur) ---------- */
#chat.chat{position:fixed;right:16px;bottom:16px;z-index:60;width:380px;height:min(520px,calc(100vh / var(--vz,1) - 120px));display:flex;flex-direction:column;background:var(--panel);border:3px solid var(--frame);border-radius:16px;box-shadow:var(--shadow);overflow:hidden}
.chat .ch-head{display:flex;align-items:center;gap:6px;padding:6px 8px;background:linear-gradient(180deg,var(--frame2),var(--frame));border-bottom:2px solid var(--gold)}
.chat .ch-tab{border:0;border-radius:10px;padding:5px 10px;font-weight:800;font-size:13px;background:transparent;color:var(--ink);opacity:.75;cursor:pointer;display:inline-flex;gap:5px;align-items:center}
.chat .ch-tab.on{background:var(--panel3);opacity:1;box-shadow:inset 0 0 0 2px var(--gold)}
.chat .ch-tab.lock{opacity:.45;cursor:default}
/* 0.1.33.2 : quatre onglets (Hauts faits) sur une seule ligne */
.chat .ch-tab{white-space:nowrap;flex-shrink:1;min-width:0;overflow:hidden}
.chat .ch-tab .n{flex-shrink:0}
/* 0.1.35.3 : en-tête compact, le bouton de fermeture reste toujours visible (le compteur « en ligne » se raccourcit au besoin) */
.chat .ch-head{gap:2px;padding:6px 4px 6px 6px}
.chat .ch-tab{padding:5px 7px;font-size:12.5px}
.chat .ch-head .ch-on{flex-shrink:1;min-width:0}
.chat .ch-head .ch-on .ol{min-width:0;overflow:hidden}
.chat .ch-head .ch-on i{flex-shrink:0}
.chat .ch-x{flex-shrink:0}
.chat .ch-tab .uico{width:14px;height:14px}
.chat .n,.chmin .n{background:var(--danger);color:#fff;border-radius:999px;font-size:11px;font-weight:900;padding:0 6px;line-height:18px}
.chat .ch-on{margin-left:auto;font-size:12px;color:var(--muted);display:flex;align-items:center;gap:5px;white-space:nowrap}
.chat .ch-on i{width:8px;height:8px;border-radius:50%;background:#7ee06a;display:inline-block}
.chat .ch-x{border:0;background:none;color:var(--ink);font-size:20px;line-height:1;cursor:pointer;padding:0 6px}
.chat .ch-list{flex:1;overflow:auto;padding:8px 10px;display:flex;flex-direction:column;gap:7px;font-size:14px;overscroll-behavior:contain}
.chat .msg{display:grid;grid-template-columns:26px minmax(0,1fr);gap:7px;align-items:start}
.chat .msg .cm{width:26px;height:26px;border-width:1.5px}
.chat .msg .who{display:flex;gap:6px;align-items:baseline;flex-wrap:wrap;line-height:1.2}
.chat .msg .ps{font-weight:900;color:var(--gold2);cursor:pointer;background:none;border:0;padding:0}
.chat .msg .ps:hover{text-decoration:underline}
.chat .msg .lv{font-size:11.5px;color:var(--muted);font-weight:700}
.chat .msg .tt{font-size:11px;font-weight:800;color:#e7c46a;border:1px solid rgba(231,196,106,.45);border-radius:6px;padding:0 5px}
.chat .msg .hr,.chat .conv .hr{font-size:11px;color:var(--muted);margin-left:auto}
.chat .msg .tx{overflow-wrap:anywhere;line-height:1.35;-webkit-user-select:text;user-select:text;-webkit-touch-callout:default}
.chat .msg.me .ps{color:var(--action)}
.chat .itm{display:inline-flex;align-items:center;gap:4px;border-radius:7px;padding:0 6px 0 2px;background:var(--panel3);border:1px solid var(--frame);font-weight:800;font-size:13px;color:#b07bff;cursor:pointer;vertical-align:middle}
.chat .itm img{width:20px;height:20px}
.chat .sys{font-size:13px;color:var(--muted);text-align:center;padding:2px 8px;font-style:italic}
.chat .ann{display:flex;gap:8px;align-items:center;font-size:13px;font-weight:700;background:linear-gradient(90deg,rgba(231,196,106,.18),rgba(231,196,106,.04));border:1px solid rgba(231,196,106,.5);border-radius:10px;padding:6px 8px}
.chat .ann.ann-adm{border-color:rgba(127,200,255,.55);background:linear-gradient(90deg,rgba(127,200,255,.16),rgba(127,200,255,.03))}
.chat .ann .uico{width:22px;height:22px;flex:none}
.chat .ann b{color:#e7c46a}
.chat .conv{display:grid;grid-template-columns:auto 1fr auto;gap:8px;align-items:center;text-align:left;border:0;border-radius:10px;background:var(--panel2);padding:8px 10px;cursor:pointer}
.chat .conv .last{color:var(--muted);font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.chat .ch-new{position:sticky;bottom:2px;align-self:center;flex:none;border:0;border-radius:999px;padding:4px 12px;font-weight:800;font-size:12.5px;background:var(--gold);color:#2a1d05;box-shadow:var(--shadow);cursor:pointer;z-index:1}
.chat .ch-foot{border-top:2px solid var(--line);padding:8px;display:flex;flex-direction:column;gap:6px;background:var(--panel2)}
.chat .ch-in{display:flex;gap:6px}
.chat .ch-in input{flex:1;min-width:0;border-radius:10px;border:2px solid var(--frame);background:var(--panel);padding:7px 10px}
.chat .ch-hint{font-size:12px;color:var(--muted);display:flex;justify-content:space-between;gap:8px}
.chat .ch-hint .bad{color:var(--danger);font-weight:800}
.chat .ch-att{display:flex;gap:8px;align-items:center;font-size:13px}
.chat .ch-lock{font-size:13px;color:var(--muted);text-align:center;padding:4px 6px;line-height:1.35}
.chat .lnk,.annbar .lnk{background:none;border:0;padding:0;color:var(--gold2);font-weight:800;cursor:pointer;font-size:12.5px}
.chmin{position:fixed;right:16px;bottom:16px;z-index:60;display:flex;gap:8px;align-items:center;max-width:380px;border-radius:14px;border:3px solid var(--frame);background:linear-gradient(180deg,var(--frame2),var(--frame));box-shadow:var(--shadow);padding:8px 14px;font-weight:800;color:var(--ink);cursor:pointer}
.chmin .uico{width:20px;height:20px}
.chmin .ev{flex:none;font-size:11.5px;font-weight:900;color:#3a2a00;background:linear-gradient(180deg,#ffe08a,#f2c44b);border-radius:999px;padding:2px 8px}
.chmin .last{font-weight:600;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}
.chmenu{position:fixed;z-index:70;background:var(--panel);border:2px solid var(--gold);border-radius:12px;box-shadow:var(--shadow);padding:6px;display:flex;flex-direction:column;min-width:200px}
.chmenu .hd{padding:4px 8px 8px;border-bottom:1px solid var(--line);margin-bottom:4px}
.chmenu button{border:0;background:none;text-align:left;padding:7px 8px;border-radius:8px;font-weight:700;cursor:pointer;display:flex;gap:8px;align-items:center;color:var(--ink)}
.chmenu button:hover{background:var(--panel3)}
.chmenu button.red{color:var(--danger)}
.chmenu .uico{width:18px;height:18px}
.chmenu{max-height:calc(100vh - 16px);overflow-y:auto}.chmenu .sub{padding:6px 8px 2px;border-top:1px solid var(--line);margin-top:4px;text-transform:uppercase;letter-spacing:.04em} /* 1.2.10.1 : sanctions dans le menu du pseudo */
.rep-opts{display:flex;flex-direction:column;gap:6px}
.rep-opts label{display:flex;gap:8px;align-items:center;padding:8px 10px;border-radius:10px;background:var(--panel2);border:2px solid var(--line);font-weight:700;cursor:pointer}
.rep-opts label:has(input:checked){border-color:var(--gold)}
.rep-q{border-left:3px solid var(--frame);padding:6px 10px;background:var(--panel2);border-radius:0 10px 10px 0;font-size:14px;overflow-wrap:anywhere}
.annbar{display:flex;gap:10px;align-items:center;border-radius:12px;padding:8px 12px;margin:0 0 12px;border:2px solid var(--gold);background:linear-gradient(90deg,rgba(231,196,106,.18),rgba(231,196,106,.04));font-weight:700}
.annbar .uico{width:24px;height:24px;flex:none}
/* 1.0.12.8 : au téléphone, l'annonce tient sur 2 lignes ; « Lire la suite » l'ouvre en entier */
.annbar .grow .lnk{display:none}
@media (max-width:640px){
  .annbar{font-size:13px;padding:6px 10px}
  .annbar .atx{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden}
  .annbar.more .atx{display:block}
  .annbar.clip .grow .lnk,.annbar.more .grow .lnk{display:inline}
}
.admbtn{border:2px solid rgba(127,200,255,.6)!important;color:#7fc8ff!important}
.admbtn .uico{width:16px;height:16px}
/* 1.0.4.1 : dès que la barre de menu du bas est là (jusqu'à 859 px, ex. téléphone pliable déplié), le chat reste au-dessus d'elle */
@media (min-width:641px) and (max-width:859px){
  #chat.chat{bottom:calc(var(--navh) + 12px);height:min(520px,calc(100dvh / var(--vz,1) - var(--navh) - 90px))}
}
@media (max-width:859px){
  .chmin{right:12px;bottom:calc(var(--navh) + 12px);width:52px;height:52px;padding:0;border-radius:50%;justify-content:center;border-color:var(--gold)}
  .chmin .t,.chmin .last,.chmin .ev{display:none}
  .chmin .uico{width:24px;height:24px;color:var(--gold2)}
  .chmin .n{position:absolute;top:-4px;right:-4px;border:2px solid var(--panel)}
}
@media (max-width:640px){
  #chat.chat{left:0;right:0;bottom:var(--navh);width:auto;height:calc(100dvh / var(--vz,1) - var(--navh) - 70px);border-radius:16px 16px 0 0;border-bottom:0;z-index:45}
}
/* ---------- panel admin ---------- */
.adm{display:flex;flex-direction:column;gap:14px}
.adm .ahd{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.adm .ahd h1{margin-right:auto}
.adm .badge{font-size:12px;font-weight:800;color:#7fc8ff;border:1px solid rgba(127,200,255,.5);border-radius:999px;padding:2px 10px}
.adm .atabs{display:flex;gap:6px;flex-wrap:wrap}
.adm .atabs button{border:0;border-radius:10px;padding:7px 12px;font-weight:800;background:var(--panel2);color:var(--ink);box-shadow:inset 0 0 0 2px var(--line);cursor:pointer;display:inline-flex;gap:6px;align-items:center}
.adm .atabs button.on{box-shadow:inset 0 0 0 2px var(--gold);background:var(--panel3)}
.adm .atabs .n{background:var(--danger);color:#fff;border-radius:999px;font-size:11px;padding:0 6px}
.adm .kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}
.adm .kpi{background:var(--panel);border:2px solid var(--frame);border-radius:14px;padding:12px;display:flex;flex-direction:column;gap:2px}
.adm .kpi b{font-size:26px;font-family:var(--font-title);font-weight:400;color:var(--gold2)}
.adm .kpi span{font-size:13px;color:var(--muted)}
.adm .kpi.warn b{color:#ff8a8a}
.adm .box,.adm .modrow{background:var(--panel);border:2px solid var(--frame);border-radius:14px;padding:12px;display:flex;flex-direction:column;gap:8px}
.adm .box h2{font-size:18px}
.adm .two{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:12px}
.adm .ln{display:flex;gap:8px;align-items:center;padding:7px 4px;border-bottom:1px solid var(--line);font-size:14px;flex-wrap:wrap}
.adm .ln:last-child{border-bottom:0}
.adm .bq-det{display:flex;flex-direction:column;gap:8px;margin:2px 0 10px 12px;padding:10px 12px;border-left:3px solid var(--line);background:var(--panel2);border-radius:0 8px 8px 0}
.adm .bq-det .ln{padding:4px 0;font-size:13px}
.adm .lnb{background:none;border:0;border-bottom:1px solid var(--line);width:100%;text-align:left;cursor:pointer;color:var(--ink);border-radius:8px}
.adm .lnb:hover,.adm .lnb.on{background:var(--panel2)}
.adm .ln .t{margin-left:auto;font-size:12px;color:var(--muted);white-space:nowrap}
.adm .ln .cm{width:24px;height:24px}
.adm .st{font-size:11px;font-weight:800;border-radius:6px;padding:1px 6px;white-space:nowrap}
.adm .st.v{color:#e7c46a;border:1px solid rgba(231,196,106,.5)}.adm .st.m{color:#ff8a8a;border:1px solid rgba(255,138,138,.5)}.adm .st.mod{color:#7fc8ff;border:1px solid rgba(127,200,255,.5)}
.adm .srch{display:flex;gap:8px}.adm .srch input{flex:1;min-width:0;border-radius:10px;border:2px solid var(--frame);background:var(--panel);padding:8px 10px}
.adm .fiche{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;font-size:14px}
.adm .fiche div{background:var(--panel2);border-radius:10px;padding:8px}
.adm .fiche small{display:block;color:var(--muted);font-size:12px}
.adm .acts{display:flex;gap:6px;flex-wrap:wrap}
.adm textarea{width:100%;min-height:80px;border-radius:10px;border:2px solid var(--frame);background:var(--panel);padding:8px 10px;resize:vertical}
@media (max-width:760px){.adm .kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.adm .two{grid-template-columns:1fr}.adm .fiche{grid-template-columns:repeat(2,minmax(0,1fr))}}
/* chat ouvert sur un grand écran : le jeu se décale pour laisser la place au chat
   1.0.12.8 : à partir de 1280 px (en dessous, la page était tassée : le chat flotte comme en 1080 px), et le chat prend toute la hauteur de sa colonne */
@media (min-width:1280px){body.chat-open .app{margin-left:max(0px,calc((100vw - 1180px - 400px) / 2));margin-right:400px}body.chat-open #chat.chat{top:16px;height:auto}}
/* ===================== 0.1.19 — lot Se montrer : défi du jour, garde-robe, carte d'équipe ===================== */
.defi{display:flex;flex-direction:column;gap:8px;padding:10px 12px;border-radius:14px;background:linear-gradient(100deg,rgba(var(--glw),.16),rgba(var(--glw),.03) 60%),var(--panel2);border:1.5px solid rgba(var(--glw),.6)}
.defi .df-head{display:flex;justify-content:space-between;gap:8px;flex-wrap:wrap;align-items:center}
.defi .wk{font-size:11px;font-weight:900;letter-spacing:.6px;text-transform:uppercase;color:var(--gold2);display:flex;align-items:center;gap:4px}
.defi .df-tiers button small{opacity:.7;font-size:10px}
.defi .df-main{display:flex;gap:12px;align-items:center}
.defi .df-main .dgboss{width:56px;height:56px;object-fit:contain;flex:none;filter:drop-shadow(0 3px 4px rgba(0,0,0,.4))}
.defi .df-main .grow{display:flex;flex-direction:column;gap:3px;min-width:0}
.defi .df-mods{gap:6px;flex-wrap:wrap;align-items:center}
.defi .df-best{display:flex;flex-direction:column;align-items:flex-end;text-align:right;flex:none;font-size:12px;max-width:110px}
.defi .df-best b{font-family:var(--font-title);font-size:26px;color:var(--gold2);font-weight:400}
.defi .df-foot{display:flex;gap:10px;align-items:center;flex-wrap:wrap}
.df-dots{display:inline-flex;gap:3px}
.df-dots i{width:20px;height:20px;border-radius:50%;display:grid;place-items:center;font-style:normal;font-size:11px;font-weight:900;background:rgba(0,0,0,.12);color:var(--muted);border:1px solid var(--line)}
.df-dots i.on{background:var(--action);color:var(--action-ink);border-color:transparent}
.df-dots i.today{outline:2px solid var(--gold2);outline-offset:1px}
.df-try{display:flex;gap:8px;align-items:center;padding:5px 8px;border-radius:8px;background:var(--panel2);font-size:13px}
.df-try.lose b{color:var(--danger)}
.df-try .grow{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.df-yest{display:flex;gap:6px;align-items:center;margin-bottom:6px}
.linkbtn{background:none;border:0;padding:0;color:var(--action);font:inherit;font-weight:800;text-decoration:underline;cursor:pointer}
/* garde-robe */
.wrow{display:flex;gap:10px;align-items:center;padding:6px 8px;border-radius:10px;background:var(--panel2);border:1px solid var(--line)}
.wrow.on{border-color:var(--gold)}
.wrow .wlab{font-weight:900;width:52px;flex:none}
.wpick{display:flex;flex-direction:column;gap:8px}
.wgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(86px,1fr));gap:6px;max-height:300px;overflow:auto;padding:2px}
.wit{display:flex;flex-direction:column;align-items:center;gap:2px;padding:6px 4px;border-radius:10px;background:var(--panel2);border:1.5px solid var(--line);font:inherit;font-size:11px;line-height:1.15;color:var(--ink);cursor:pointer;text-align:center;position:relative}
.wit img,.wit .uico{width:40px;height:40px;object-fit:contain}
.wit span{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.wit small{position:absolute;top:2px;right:3px;font-size:8px;font-weight:900;color:var(--muted)}
.wit.on{border-color:var(--gold);box-shadow:0 0 0 2px rgba(var(--glw),.35)}
.wit.miss{opacity:.45;filter:grayscale(1)}
/* carte d'équipe */
.tcprev{width:100%;border-radius:10px;overflow:hidden;box-shadow:var(--shadow);background:#0d3526}
.tcprev canvas{display:block;width:100%;height:auto}
.tcprev.carre{max-width:420px;margin:0 auto}
@media (max-width:640px){
  .defi .df-main{align-items:flex-start}
  .defi .df-main .dgboss{width:44px;height:44px}
  .defi .df-foot .btn.primary{width:100%}
}
.defi .df-name{gap:6px;flex-wrap:wrap;align-items:center}
@media (max-width:640px){
  .defi .df-main{flex-wrap:wrap}
  .defi .df-main .grow{flex:1 1 200px}
  .defi .df-best{flex-direction:row;align-items:baseline;gap:6px;max-width:none;width:100%;text-align:left}
  .defi .df-best b{font-size:22px}
  .defi .df-tiers small{display:none}
}

/* ---------- 0.1.20 : Hôtel de vente et échanges (js/market.js) ---------- */
.subtabs .mktrade{margin-left:auto}
.mkgrid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.25fr);gap:14px;align-items:start}
.mkgrid:not(.hassel){grid-template-columns:minmax(0,1fr)}
.mklist .li{cursor:pointer;width:100%;text-align:left;border:0;background:transparent;color:inherit;font:inherit}
.mkli.on{background:rgba(var(--glw),.12);box-shadow:inset 3px 0 0 var(--gold)}
.mkpx{font-weight:900;font-variant-numeric:tabular-nums;white-space:nowrap}
.mkpx.plus{color:#8fe36a}
.mkdet{position:sticky;top:12px}
.mkback{display:none}
.mkoffer{display:grid;grid-template-columns:auto minmax(0,1fr) auto auto;gap:10px;align-items:center;padding:10px 14px;border-top:1px solid var(--line)}
.mkoffer:first-child{border-top:0}
.btn.mkshort{white-space:normal;text-align:center} /* 1.0.12.8 : « Il te manque N kamas » tient dans un lot étroit */
.mkst{display:flex;flex-wrap:wrap;gap:3px 10px;font-size:12px}
.mkjet{font-weight:900;font-size:12px;padding:1px 7px;border-radius:999px;background:var(--panel3);border:1px solid var(--frame);white-space:nowrap}
.mkjet.hi{background:linear-gradient(180deg,#d6f27e,#8cc63f);color:#13200a;border-color:#8cc63f}
.mklots{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.mklot{background:var(--panel2);border:2px solid var(--frame);border-radius:14px;padding:10px;display:flex;flex-direction:column;gap:4px;align-items:flex-start;min-width:0}
.mklot.best{border-color:var(--gold)}
.mklot b.big{font-size:18px}
.mkfield{display:grid;grid-template-columns:130px minmax(0,1fr);gap:8px 12px;align-items:center}
.mkbigin{font-size:20px;font-weight:900;width:100%;background:var(--panel2);border:2px solid var(--gold);border-radius:12px;padding:8px 12px;color:var(--ink)}
.mksum{background:var(--panel2);border:2px solid var(--frame);border-radius:14px;padding:10px 12px;display:grid;grid-template-columns:1fr auto;gap:4px 12px;font-size:14px}
.mksum .tot{font-weight:900;border-top:1px solid var(--line);padding-top:6px}
.mkslots{display:flex;gap:3px;margin-top:4px}.mkslots i{flex:1;height:8px;border-radius:4px;background:var(--panel3)}
.mkslots i.on{background:var(--gold)}.mkslots i.new{background:#8fe36a}
.mkrow{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.mkrow .grow{min-width:160px}
.mkrep{width:110px}
.mkwarn{color:var(--danger);font-weight:800}
.mkrune,.mkcons,.mkbig{display:inline-grid;place-items:center;font-size:22px}
.mkrune .sico{width:26px;height:26px}.mkbig .sico{width:30px;height:30px}
.mktrade2{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.mkside{background:var(--panel2);border:2px solid var(--frame);border-radius:14px;padding:10px;display:flex;flex-direction:column;gap:8px;align-items:flex-start;min-width:0}
.mkside.ok{border-color:#8fe36a}
.mktiles{display:flex;flex-wrap:wrap;gap:6px;min-height:58px}
.mkadd summary{cursor:pointer;font-weight:800}
@media (max-width:860px){
  .mkgrid.hassel{grid-template-columns:minmax(0,1fr)}
  .mkgrid.hassel .mklist{display:none}
  .mkdet{position:static}
  .mkback{display:inline-flex}
  .subtabs .mktrade{margin-left:0}
}
@media (max-width:600px){
  .mkoffer{grid-template-columns:auto minmax(0,1fr) auto}.mkoffer .btn,.mkoffer .tag{grid-column:1/-1;justify-self:stretch;text-align:center}
  .mkfield{grid-template-columns:1fr}.mkfield>span:empty{display:none}
  .mklots{grid-template-columns:1fr;gap:6px}.mklot{flex-direction:row;flex-wrap:wrap;align-items:center;gap:4px 10px;padding:8px 10px}.mklot b.big{font-size:16px}.mklot .btn{margin-left:auto}
  .mktrade2{grid-template-columns:1fr}
}
/* barre du bas à 6 boutons quand la famille Communauté est là */
@media (max-width:859px){nav.main.fams.six>button{font-size:9.5px;letter-spacing:-.2px}nav.main.fams.six .med{width:27px;height:27px}nav.main.fams.six .med img{width:20px;height:20px}}

/* ---------- 0.1.21 : Guildes (js/guilds.js) ---------- */
.gemb{--gs:48px;width:var(--gs);height:var(--gs);flex:none;border-radius:30%;display:grid;place-items:center;background:radial-gradient(circle at 35% 30%,color-mix(in srgb,var(--gc) 55%,#fff),var(--gc) 55%,color-mix(in srgb,var(--gc) 45%,#000));box-shadow:inset 0 0 0 3px rgba(0,0,0,.35),0 3px 0 rgba(0,0,0,.4)}
.gemb img{width:64%;height:64%;object-fit:contain;filter:drop-shadow(0 2px 2px rgba(0,0,0,.5))}
.gfound{display:flex;gap:16px;align-items:flex-start}
.gpick{display:flex;flex-wrap:wrap;gap:6px}
.gpick button{width:38px;height:38px;border-radius:10px;border:2px solid var(--frame);background:var(--panel2);display:grid;place-items:center;cursor:pointer;padding:0}
.gpick button img{width:26px;height:26px}
.gpick button.on{border-color:var(--gold);box-shadow:0 0 10px rgba(var(--glw),.5)}
.gpick.col button{width:30px;height:30px;border-radius:50%}
.gban{display:flex;gap:16px;align-items:center;padding:16px;background:radial-gradient(600px 200px at 0 0,rgba(var(--glw),.18),transparent 70%),var(--panel)}
.gban .gleave{margin-left:auto}
.gbar{position:relative;height:20px;border-radius:12px;background:var(--hp-bg,rgba(255,255,255,.08));border:2px solid var(--frame);overflow:hidden}
.gbar i{position:absolute;inset:0 auto 0 0;background:linear-gradient(90deg,var(--gold),var(--gold2))}
.gbar b{position:absolute;inset:0;display:grid;place-items:center;font-size:11.5px;font-weight:900;color:#fff;text-shadow:0 0 2px #000,0 0 2px #000,0 0 3px #000,0 1px 2px #000} /* 1.0.12.8 : contour noir plus net, lisible sur le vert clair rempli */
.gmotd{background:var(--panel2);border-left:3px solid var(--gold);border-radius:0 12px 12px 0;padding:6px 12px;font-size:13.5px}
.grid2g{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;align-items:start}
.grid2g>section:last-child{grid-column:1/-1}
.gperks .li.lock{opacity:.5}.gperks .lv{width:58px;flex:none;color:var(--gold2)}
.tag.soft2{background:var(--panel3);color:var(--ink)}
.gmrow{display:grid;grid-template-columns:auto minmax(0,1fr) auto auto auto;gap:10px;align-items:center;padding:8px 14px;border-top:1px solid var(--line)}
.gmrow:first-child{border-top:0}
.gact{display:flex;gap:6px;justify-content:flex-end}
.grk{font-size:10.5px;font-weight:900;text-transform:uppercase;letter-spacing:.5px;padding:2px 8px;border-radius:999px;background:var(--panel3);border:1px solid var(--frame);white-space:nowrap}
.grk.r0{background:linear-gradient(180deg,var(--gold2),var(--gold));color:#13200a;border-color:var(--gold)}
.grk.r1{background:#3e5a8a;color:#fff;border-color:#5a7ab0}
#main input[type=range]{width:100%;accent-color:var(--gold)}
@media (max-width:860px){.grid2g{grid-template-columns:minmax(0,1fr)}}
/* 0.1.22 : boss de la semaine et Percepteurs */
.li.clk{cursor:pointer}.li.clk:hover{background:rgba(var(--glw),.06)}
.gboss .gbhead{display:flex;gap:14px;align-items:center;padding:14px 16px 0}
.gbimg{width:96px;height:96px;object-fit:contain;flex:none;filter:drop-shadow(0 4px 10px rgba(0,0,0,.5))}
.gbbar{position:relative;height:18px;border-radius:14px;background:var(--hp-bg,rgba(255,255,255,.08));border:2px solid var(--frame);margin:6px 0 4px}
.gbbar i{position:absolute;inset:0 auto 0 0;border-radius:12px;background:linear-gradient(90deg,#c2412d,#f08a3c)}
.gbstep{position:absolute;top:50%;width:26px;height:26px;margin:-13px 0 0 -13px;border-radius:50%;display:grid;place-items:center;background:var(--panel3);border:2px solid var(--frame);z-index:1;filter:grayscale(1) brightness(.8)}
.gbstep[style*="left:100%"]{margin-left:-24px}
.gbstep.on{filter:none;border-color:var(--gold);box-shadow:0 0 8px rgba(232,192,99,.6)}
.gbstep img,.gbstep svg{width:16px;height:16px}
.li.gme{background:rgba(var(--glw),.10)}
.grid2g.even>section:last-child{grid-column:auto}
.gperco.hot{border-color:var(--danger);box-shadow:0 0 0 1px var(--danger),0 0 18px rgba(224,103,79,.25)}
.gatk{padding:10px 12px;border-radius:10px;background:rgba(224,103,79,.12);border:1px solid rgba(224,103,79,.5)}
.gres{display:inline-flex;align-items:center;gap:3px;font-variant-numeric:tabular-nums}.gres img{width:20px;height:20px;object-fit:contain}
@media (max-width:600px){.gmrow{grid-template-columns:auto minmax(0,1fr) auto}.gmrow .hm{display:none}.gmrow .gact{grid-column:1/-1;justify-content:flex-start;flex-wrap:wrap}.gmrow .gact select{max-width:100%}.gfound{flex-direction:column}.gban{flex-wrap:wrap}}
/* ===================== lot Suivi : carnet de bord et chasse au trésor ===================== */
.su-up{color:var(--good,#5fae3a)}.su-down{color:var(--danger)}
.su-kpis .kpi{display:flex;flex-direction:column;gap:2px;min-width:0}.su-kpis .kpi b{font-size:21px}
.su-chart{position:relative}
.su-chart svg{width:100%;height:auto;display:block;touch-action:pan-y}
.su-chart text{fill:var(--muted);font-size:11px;font-family:var(--font-body)}
.su-ax{stroke:var(--line);stroke-width:1}
.su-ln{fill:none;stroke:var(--gold);stroke-width:2;stroke-linejoin:round}
.su-ar{fill:url(#suGrad)}
.su-off{fill:var(--muted);opacity:.09}
.su-mk{stroke:var(--kama,var(--gold2));stroke-width:1.2;stroke-dasharray:3 3}
.su-chart text.su-mkt{fill:var(--kama,var(--gold2));font-weight:800}
.su-cross{stroke:var(--muted);stroke-width:1;opacity:.6}
.su-dot{fill:var(--gold);stroke:var(--panel);stroke-width:2}
.su-hit{fill:transparent;cursor:crosshair}
.su-tip{position:absolute;pointer-events:none;background:var(--panel2);border:1px solid var(--frame);border-radius:10px;padding:6px 9px;font-size:12px;line-height:1.35;box-shadow:var(--shadow);max-width:230px;z-index:2}
.su-legend{display:flex;gap:14px;flex-wrap:wrap;margin-top:6px}
.su-legend i{display:inline-block;width:12px;height:10px;border-radius:3px;vertical-align:-1px;margin-right:4px}
.su-swoff{background:var(--muted);opacity:.3}.su-swmk{border-left:2px dashed var(--kama,var(--gold2));width:2px!important;border-radius:0!important}
.su-ledger{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.su-h{font-family:var(--font-body);font-weight:900;font-size:13px;letter-spacing:.06em;text-transform:uppercase;text-shadow:none;margin:0 0 6px}
.su-h.su-up{color:var(--good,#5fae3a)}.su-h.su-down{color:var(--danger)}
.su-lr{display:grid;grid-template-columns:minmax(80px,120px) minmax(0,1fr) 64px;gap:8px;align-items:center;font-size:13px;padding:3px 0}
.su-lr b{text-align:right}
.su-bar{height:9px;border-radius:9px;background:var(--hp-bg);overflow:hidden}
.su-bar i{display:block;height:100%;border-radius:9px}
.su-bar i.in{background:var(--good,#5fae3a)}.su-bar i.out{background:var(--danger)}
.su-scroll{overflow-x:auto}
.su-zt{width:100%;border-collapse:collapse;font-size:13px}
.su-zt th{text-align:left;font-size:11px;color:var(--muted);font-weight:800;letter-spacing:.04em;text-transform:uppercase;padding:5px 6px;border-bottom:1px solid var(--line)}
.su-zt td{padding:6px;border-bottom:1px solid var(--line)}
.su-zt .n{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}
.su-zt tr.best td{background:rgba(var(--glw,201,154,46),.08)}
.su-mom{display:flex;flex-direction:column;gap:7px}
.su-ev{display:grid;grid-template-columns:66px 22px minmax(0,1fr);gap:8px;align-items:center;font-size:13.5px}
.su-ev .uico{width:22px;height:22px}
.su-ev>span:first-child{white-space:nowrap}
.su-tban{display:flex;align-items:center;gap:10px;width:100%;text-align:left;font:inherit;color:inherit;cursor:pointer;background:linear-gradient(90deg,rgba(217,185,121,.18),var(--panel) 70%);border:2px solid #a07a44;border-radius:14px;padding:9px 12px;margin-bottom:10px}
.su-tban .uico{width:28px;height:28px}
.su-paper{background:linear-gradient(180deg,#f3e3b8,#e2c98d);color:#3a2614;border:3px solid #8a5d33;border-radius:16px;padding:14px;display:flex;flex-direction:column;gap:10px;box-shadow:inset 0 0 30px rgba(120,80,30,.25),var(--shadow)}
.su-paper h3{color:#6b4524;text-shadow:none}
.su-paper .num{color:#6b4524}
.su-trail{display:flex;flex-direction:column}
.su-st{display:grid;grid-template-columns:34px minmax(0,1fr);gap:10px;position:relative;padding-bottom:12px}
.su-st:not(:last-child)::before{content:"";position:absolute;left:16px;top:32px;bottom:0;border-left:2px dashed #a07a44}
.su-st .dot{width:34px;height:34px;border-radius:50%;display:grid;place-items:center;font-weight:900;background:#f8eed2;border:2px solid #a07a44;color:#6b4524;font-size:14px}
.su-st.done .dot{background:#6f9a35;border-color:#4f7a22;color:#fff}
.su-st.now .dot{background:#c99a2e;border-color:#8a5d33;color:#fff;box-shadow:0 0 0 4px rgba(201,154,46,.3)}
.su-st.hid{opacity:.55}
.su-st>div>b{display:block}
.su-st .xs{color:#6d5236}
.su-clue{background:rgba(255,255,255,.45);border-left:3px solid #c99a2e;border-radius:6px;padding:7px 10px;font-size:14px}
.su-prog{height:8px;border-radius:9px;background:rgba(107,69,36,.2);overflow:hidden;max-width:240px}
.su-prog i{display:block;height:100%;background:#6f9a35}
.pbtn{font:inherit;font-weight:800;border-radius:10px;padding:7px 14px;cursor:pointer;background:#6b4524;color:#fbf4e2;border:1px solid #6b4524}
.pbtn.alt{background:transparent;color:#6b4524}
.su-stock{gap:8px}
.su-parch{display:flex;align-items:center;gap:8px;background:var(--panel2);border:1px solid var(--line);border-radius:12px;padding:7px 10px}
.su-parch>span{display:flex;flex-direction:column}
.su-parch .uico{width:30px;height:30px}
.su-how{display:flex;flex-direction:column;gap:4px}
@media (max-width:640px){
  .su-ledger{grid-template-columns:1fr}
  .su-kpis{grid-template-columns:1fr 1fr}
  .su-kpis .kpi b{font-size:18px}
  .su-ev{grid-template-columns:64px 20px minmax(0,1fr);font-size:13px}
}
/* 0.1.23 : l'Expédition sans fin (page Aventure › Expédition, fiches, campement) */

/* ===== 0.1.24.1 « Artisans et temples » : commandes, temples, Dopeuls ===== */
.vi-cmds{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:12px}
.vi-cmd{position:relative;background:var(--panel);border:2px solid var(--frame2);border-radius:12px;padding:10px 12px;display:flex;flex-direction:column;gap:8px;box-shadow:var(--shadow)}
.vi-cmd.urgent{border-color:var(--gold)}
.vi-cmd.done{opacity:.75}
.vi-cmd .ico{width:34px;height:34px}
.vi-art{display:inline-flex;width:34px;height:34px;align-items:center;justify-content:center;border-radius:50%;background:var(--panel2);border:1px solid var(--line)}
.vi-art .uico{width:22px;height:22px}
.vi-urg{position:absolute;top:-10px;right:10px;background:var(--gold);color:#1a1510;font-size:11px;font-weight:800;border-radius:8px;padding:1px 8px}
.vi-temples{display:grid;grid-template-columns:repeat(auto-fill,minmax(118px,1fr));gap:10px}
.vi-temple{display:flex;flex-direction:column;align-items:center;text-align:center;gap:4px;background:var(--panel);border:2px solid color-mix(in srgb,var(--cc) 55%,var(--frame2));border-radius:12px;padding:10px 6px}
.vi-temple .med{width:42px;height:42px}
.vi-temple .med img{width:28px;height:28px}
.vi-temple.off{opacity:.45;filter:grayscale(.7)}
.vi-temple.done{background:color-mix(in srgb,var(--cc) 12%,var(--panel))}
.vi-pend{display:flex;align-items:center;gap:8px;flex-wrap:wrap;background:var(--panel2);border:2px solid var(--gold);border-radius:12px;padding:8px 12px}
/* le Dopeul : reflet sombre du héros */
img.dop,.cico.dop img,.arena .ent.m img.sprite.dop,.arena.v2 .ent.m img.sprite.dop{filter:brightness(.4) saturate(.35) hue-rotate(220deg) drop-shadow(0 0 6px #9b4dff) drop-shadow(0 0 2px #c79bff)}
.arena .ent.m img.sprite.dop{object-fit:contain;transform:scaleX(-1)}
@media (max-width:520px){.vi-cmds{grid-template-columns:1fr}.vi-temples{grid-template-columns:repeat(3,minmax(0,1fr))}}
/* 0.1.25 : Options en onglets, une carte par thème */
.opthead{display:flex;align-items:center;justify-content:space-between;gap:10px}
.opthead h2{margin:0;display:flex;align-items:center;gap:8px}
.opttabs{position:sticky;top:-16px;z-index:3;background:var(--panel);margin:-4px -16px 0;padding:8px 16px;flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none;border-bottom:2px solid var(--frame)}
.opttabs::-webkit-scrollbar{display:none}
.opttabs button{white-space:nowrap;flex:none}
.optbody{display:flex;flex-direction:column;gap:10px}
.optsec{background:var(--panel2);border:2px solid var(--frame);border-radius:14px;padding:10px 12px;display:flex;flex-direction:column;gap:2px}
.optsec.danger{border-color:var(--bad,#c0392b)}
.savebar{height:8px;border-radius:6px;background:var(--panel3);overflow:hidden}.savebar i{display:block;height:100%;background:var(--gold);border-radius:6px} /* 1.0.33.1 : poids de la sauvegarde */
.optsec-h{display:flex;flex-direction:column;gap:1px;margin-bottom:6px}
.optsec-h>b{font-size:14.5px;display:flex;align-items:center;gap:6px}
.optline{display:flex;align-items:center;justify-content:space-between;gap:8px 14px;flex-wrap:wrap;padding:7px 0;border-top:1px solid color-mix(in srgb,var(--frame) 45%,transparent)}
.optsec-h+.optline{border-top:0;padding-top:2px}
.optline.optchk{cursor:pointer;flex-wrap:nowrap}
.optline input[type=checkbox]{width:20px;height:20px;accent-color:var(--gold);flex:none;margin:0}
.optname{display:flex;flex-direction:column;gap:1px;min-width:0;flex:1 1 180px}
.optctl{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.optsec .notifs{margin-top:6px}
.optsec textarea{width:100%;box-sizing:border-box}
.optsec .jk-grp{padding:10px 0 2px;font-weight:700;text-transform:uppercase;letter-spacing:.05em}
.optsec .jk-bar{height:6px;border-radius:4px;background:color-mix(in srgb,var(--frame) 55%,transparent);overflow:hidden;margin:2px 0 6px}.optsec .jk-bar i{display:block;height:100%;background:var(--gold)}
.optsec .jk-lock .optname b{opacity:.7;font-weight:600}.optsec .jk-lock .optname b img,.optsec .jk-lock .optname b svg{width:14px;height:14px;vertical-align:-2px}
.fslot .gram{display:flex;align-items:center;gap:6px;margin-top:4px;font-style:normal}.fslot .gram span{white-space:nowrap}.fslot .gram select{max-width:100%;min-width:0;flex:1 1 auto;font-size:12.5px;padding:3px 6px}
@media (max-width:560px){.opttabs{gap:4px}.opttabs button{padding:5px 9px;font-size:12.5px}.optline:not(.optchk) .optctl{width:100%}}
@media (min-width:700px){.sheet:has(.opttabs){height:min(calc(88vh / var(--vz,1)),820px)}.sheet:has(.opttabs)>div:last-child{margin-top:auto}}
/* ===================== 0.1.26 — codes cadeaux (panel admin) ===================== */
.adm .gc-f{display:flex;flex-direction:column;gap:4px;font-size:14px}
.adm .gc-f small{color:var(--muted);font-size:12px}
.adm .gc-form input[type=text],.adm .gc-form input[type=number],.adm .gc-form input[type=date],.adm .gc-form select{border-radius:10px;border:2px solid var(--frame);background:var(--panel2);padding:6px 8px;min-width:0;color:var(--ink)}
.adm .gc-ac{position:relative;min-width:0;display:flex}.adm .gc-ac input{flex:1;width:100%}
.adm .gc-sug{position:absolute;left:0;right:0;top:calc(100% + 4px);z-index:30;display:flex;flex-direction:column;max-height:260px;overflow-y:auto;background:var(--panel);border:2px solid var(--frame);border-radius:12px;box-shadow:var(--shadow);padding:4px}
.adm .gc-sug[hidden]{display:none}
.adm .gc-opt{border:0;background:none;color:var(--ink);text-align:left;padding:8px 10px;border-radius:8px;font:inherit;font-size:14px;cursor:pointer}
.adm .gc-opt:hover,.adm .gc-opt.on{background:var(--panel3)}
.adm .gc-sug .xs{padding:6px 10px}
.adm .gc-two{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.adm .gc-rw{display:grid;grid-template-columns:150px minmax(0,1fr) 90px 34px;gap:6px;align-items:center}
@media (max-width:480px){.adm .gc-rw{grid-template-columns:minmax(0,1fr) 80px 34px}.adm .gc-rw select:first-child{grid-column:1/-1}.adm .gc-two{grid-template-columns:1fr}}
.adm .gc-form{container-type:inline-size}
@container (max-width:440px){.adm .gc-rw{grid-template-columns:minmax(0,1fr) 80px 34px}.adm .gc-rw select:first-child{grid-column:1/-1}} /* 1.0.4.8 : formulaire étroit (chat ouvert à côté) */
.adm .gc-card{background:var(--panel2);border:2px solid var(--gold);border-radius:12px;padding:10px 12px;display:flex;flex-direction:column;gap:4px}
.adm .gc-code{font-family:var(--font-title);font-size:22px;letter-spacing:1px;color:var(--title);word-break:break-all}
.adm .gc-pub{display:flex;flex-direction:column;gap:6px;background:var(--panel2);border-radius:12px;padding:10px}
.adm .gc-pub textarea{min-height:60px;font-size:12px;word-break:break-all}
.adm .gc-ln{align-items:flex-start}
.adm .gc-main{flex:1;min-width:160px}
.adm .gc-use{display:flex;flex-direction:column;gap:2px;font-size:13px;min-width:90px;font-variant-numeric:tabular-nums}
.adm .gc-bar{display:block;height:6px;border-radius:9px;background:var(--panel3);overflow:hidden}.adm .gc-bar i{display:block;height:100%;background:var(--gold)}
.adm .gc-users{flex-basis:100%;display:flex;flex-wrap:wrap;gap:6px;font-size:13px}.adm .gc-users span{background:var(--panel2);border-radius:8px;padding:2px 8px}
/* 0.1.26.1 : page Défi du jour, carte de l'Accueil, ligne dans Donjons */
.dfline .wk{font-size:11px;font-weight:900;letter-spacing:.6px;text-transform:uppercase;color:var(--gold2);display:flex;align-items:center;gap:4px;flex-wrap:wrap}
.dfline{display:flex;gap:10px;align-items:center;width:100%;padding:9px 12px;border-radius:12px;background:var(--panel2);border:1.5px solid rgba(var(--glw),.5);color:inherit;font:inherit;text-align:left;cursor:pointer}
.dfline:hover{border-color:rgba(var(--glw),.9)}
.dfline .chev{font-size:18px;color:var(--muted)}
@media (max-width:600px){.dfline{flex-wrap:wrap;row-gap:4px}.dfline .wk{flex:1 0 100%}.dfline .grow{flex:1 1 0;min-width:0}} /* 1.1 : la ligne du défi tenait sur une colonne étroite au téléphone */
.df-goal .bar{margin-top:4px}
.df-goal.ok b{color:var(--gold2)}
/* 1.1 : refonte du Défi du jour (règles du jour, score en points, bourses, Grand défi du dimanche) */
.df-sub{font-size:11px;font-weight:900;letter-spacing:.6px;text-transform:uppercase;color:var(--muted)}
.df-rules{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:8px}
.df-rule{display:flex;flex-direction:column;gap:2px;padding:8px 10px;border-radius:10px;background:rgba(0,0,0,.14);border:1px solid var(--line);font-size:12px;min-width:0}
.df-rule b{font-size:13px;display:flex;gap:6px;align-items:center;justify-content:space-between}
.df-rule .pts{font-size:11px;font-weight:900;color:var(--gold2);white-space:nowrap}
.df-rule.team{border-style:dashed;border-color:rgba(var(--glw),.6)}
.df-rule.ok{border-color:rgba(126,224,106,.55)}.df-rule.ko .st{color:var(--danger)}.df-rule.ok .st{color:var(--good)}
.df-rule .st{font-size:11px;font-weight:800}.df-rule .btn{align-self:flex-start;margin-top:4px}
.df-rule.team.ko{border-color:var(--danger);opacity:1}
.df-med{display:inline-flex;align-items:center;font-weight:900;font-size:11px;padding:2px 8px;border-radius:999px;text-transform:uppercase;letter-spacing:.5px;white-space:nowrap}
.df-med.br{background:#a8683a;color:#fff3e6}.df-med.ar{background:#c9d2db;color:#1d242b}.df-med.or{background:#e8c050;color:#2a1e00}
.df-bourses{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.df-bourse{display:flex;flex-direction:column;align-items:center;text-align:center;gap:4px;padding:10px 6px;border-radius:12px;background:rgba(0,0,0,.14);border:1.5px solid var(--line);font-size:12px;min-width:0}
.df-bourse.cur{border-color:rgba(var(--glw),.9);background:rgba(var(--glw),.10)}.df-bourse .uico{width:34px;height:34px}
.df-bourse .need{font-size:11px;color:var(--muted)}.df-bourse.got .need{color:var(--good)}
.df-brk{display:grid;grid-template-columns:1fr auto;gap:2px 12px;font-size:13px}.df-brk span:nth-child(even){text-align:right;font-weight:800;font-variant-numeric:tabular-nums}
.df-brk .tot{border-top:1px solid var(--line);padding-top:4px;font-weight:900}
.df-val{display:flex;gap:8px;align-items:center;flex-wrap:wrap;padding:8px 10px;border-radius:10px;background:rgba(var(--glw),.08);border:1px solid rgba(var(--glw),.4);font-size:12px;margin-top:8px}
.df-val .grow{flex:1 1 220px}
.df-dots i.jok{background:rgba(120,170,255,.25);color:#bcd4ff;border-color:rgba(120,170,255,.6)}
.defi.df-sun{background:linear-gradient(100deg,rgba(232,192,80,.28),rgba(232,192,80,.04) 60%),var(--panel2);border-color:#e8c050}
.defi.df-sun .wk{color:#f4d77a}
.df-lbtabs{margin-bottom:8px}
.df-team{display:inline-flex;gap:2px;margin-top:2px}.df-team img{width:16px;height:16px;object-fit:contain}
/* 1.1 (série 3) : calendrier du mois, notes du classement, carte du défi dans le chat */
.df-cal-w{display:flex;flex-direction:column;gap:6px}
.df-cal{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:4px}
.df-cal b{font-size:10px;color:var(--muted);text-align:center;text-transform:uppercase}
.df-cal i{aspect-ratio:1;max-height:38px;border-radius:8px;display:grid;place-items:center;font-style:normal;font-size:11px;font-weight:900;background:rgba(0,0,0,.14);border:1px solid var(--line);color:var(--muted)}
.df-cal i.nil{visibility:hidden}
.df-cal i.on{background:var(--action);color:var(--action-ink);border-color:transparent}
.df-cal i.br{background:#a8683a;color:#fff3e6;border-color:transparent}
.df-cal i.ar{background:#c9d2db;color:#1d242b;border-color:transparent}
.df-cal i.or{background:#e8c050;color:#2a1e00;border-color:transparent}
.df-cal i.jk{background:rgba(120,170,255,.25);color:#bcd4ff;border-color:rgba(120,170,255,.6)}
.df-cal i.today{outline:2px solid var(--gold2);outline-offset:1px}
.df-cal i.fut{opacity:.35}
.df-leg{display:flex;gap:8px;flex-wrap:wrap;font-size:11px;color:var(--muted);align-items:center}
.df-note{display:flex;gap:8px;align-items:flex-start;margin-top:8px}.df-note .uico{width:18px;height:18px;flex:none}
.df-lbtabs{flex-wrap:wrap}
.chat .ann.ann-defi{align-items:flex-start}.chat .ann-defi .t{display:flex;flex-direction:column;gap:2px;min-width:0}
.chat .ann-defi small{font-weight:600;color:var(--muted)}
/* 1.1 (série 4) : mode héroïque, série en danger, vote du dimanche, carnet, mois doré */
.df-hero{display:flex;gap:8px;flex-wrap:wrap}
.df-hchip{display:flex;gap:8px;align-items:flex-start;text-align:left;border:1.5px dashed var(--line);border-radius:12px;padding:8px 10px;font:inherit;font-size:13px;color:inherit;background:rgba(0,0,0,.12);cursor:pointer;flex:1 1 200px;min-width:0}
.df-hchip.on{border-style:solid;border-color:var(--action);background:rgba(185,231,105,.12)}
.df-hchip:disabled{opacity:.5;cursor:default}
.df-hchip .ck{font-weight:900;color:var(--action)}.df-hchip small{color:var(--muted)}
.df-dzn{font-size:13px;padding:8px 12px;border-radius:12px;background:rgba(255,138,122,.12);border:1px solid rgba(255,138,122,.5)}.df-dzn b,.df-dz{color:#ff8a7a}
.dfline.danger{border-color:#ff8a7a;background:linear-gradient(90deg,rgba(255,138,122,.18),rgba(255,138,122,.04)),var(--panel2)}
.dfline .tag.bad{background:#ff8a7a;color:#2a0b06}
.df-vopt{display:grid;grid-template-columns:1fr auto;gap:4px 10px;align-items:center;text-align:left;border:1.5px solid var(--line);border-radius:12px;padding:8px 10px;font:inherit;font-size:13px;color:inherit;background:rgba(0,0,0,.1);cursor:pointer}
.df-vopt.me,.df-vopt.win{border-color:var(--action)}.df-vopt:disabled{cursor:default}
.df-vopt .bar{grid-column:1/-1;height:6px;border-radius:999px;background:rgba(0,0,0,.25);overflow:hidden}.df-vopt .bar i{display:block;height:100%;background:var(--action)}
.df-log{display:grid;grid-template-columns:auto 1fr auto auto;gap:4px 10px;align-items:center;width:100%;text-align:left;padding:7px 8px;border:0;border-bottom:1px solid var(--line);background:none;color:inherit;font:inherit;font-size:13px;cursor:pointer}
.df-log:hover{background:rgba(255,255,255,.03)}.df-log .d{color:var(--muted);font-size:12px;width:66px}
.df-logx{grid-column:2/-1;padding:4px 0 2px}
@media (max-width:600px){.df-log{grid-template-columns:auto 1fr auto}.df-log>span:nth-child(4){grid-column:2/-1}}
.df-goal.gold .bar i{background:linear-gradient(90deg,#e8c050,#ffe08a)}
.hcard.o-moisDore{box-shadow:0 10px 26px rgba(0,0,0,.55),0 0 0 3px #e8c050,0 0 30px rgba(255,214,90,.85);animation:dore 1.8s ease-in-out infinite alternate}
@keyframes dore{from{box-shadow:0 10px 26px rgba(0,0,0,.55),0 0 0 3px #e8c050,0 0 18px rgba(255,214,90,.55)}to{box-shadow:0 10px 26px rgba(0,0,0,.55),0 0 0 3px #ffe08a,0 0 34px rgba(255,214,90,.95)}}
.df-bad{color:var(--danger)}.df-good{color:var(--good)}
@media (max-width:700px){.df-rules{grid-template-columns:repeat(2,minmax(0,1fr))}.df-bourses{gap:6px}}
/* ---------- 0.1.26 : cadres « Métal orné » ----------
   Un métal par tranche de 40 niveaux (Bois, Bronze, Argent, Or, Émeraude), en deux rangs (I et II, tous les 20 niveaux),
   puis Krosmoz au niveau 200. Biseau, rivets aux coins, coins forgés qui grandissent, ruban sous la carte avec joyaux dès l'Or.
   Les héros renés gardent leur cadre de feu ; [data-fr] sert aussi aux médaillons (classements, chat, guilde). */
.hcard.f0,.hcard.f1,[data-fr^="bois"]{--m1:#6a4626;--m2:#b98c55;--m3:#3c2615}
.hcard.f2,.hcard.f3,[data-fr^="bronze"]{--m1:#8a4f22;--m2:#e8a466;--m3:#4f2a0e}
.hcard.f4,.hcard.f5,[data-fr^="argent"]{--m1:#7d838f;--m2:#f4f6fa;--m3:#454a54;--glow:rgba(230,235,255,.18)}
.hcard.f6,.hcard.f7,[data-fr^="or"]{--m1:#a8761a;--m2:#ffe58f;--m3:#5f420a;--glow:rgba(255,215,100,.3);--gem:#e8304a}
.hcard.f8,.hcard.f9,[data-fr^="eme"]{--m1:#0f7445;--m2:#86ffc6;--m3:#073a22;--glow:rgba(90,240,160,.35);--gem:#b8ffe0}
.hcard.f10,[data-fr="krosmoz"]{--m1:#6a3fb0;--m2:#e0b8ff;--m3:#2a1650;--glow:rgba(199,125,255,.55);--gem:#fff}
[data-fr="feu"]{--m1:#d9541e;--m2:#ffc35a;--m3:#7a2a0e}
.hcard.f0,.hcard.f1,.hcard.f2,.hcard.f3{--glow:transparent}
.hcard{--cs:0px;--ct:3px;margin-bottom:6px}
.hcard.f2,.hcard.f3{--cs:12px}.hcard.f4,.hcard.f5{--cs:18px}.hcard.f6,.hcard.f7{--cs:24px;--ct:4px}.hcard.f8,.hcard.f9,.hcard.f10{--cs:30px;--ct:4px}
.hcard:where(:not([class*="ren-"])){border:5px solid transparent;animation:none;
  background:linear-gradient(var(--panel),var(--panel)) padding-box,linear-gradient(145deg,var(--m2) 0%,var(--m1) 28%,var(--m3) 50%,var(--m1) 72%,var(--m2) 100%) border-box;
  box-shadow:0 8px 20px rgba(0,0,0,.5),0 0 0 1px #000c,0 0 16px var(--glow)}
.hcard.f0:where(:not([class*="ren-"])),.hcard.f1:where(:not([class*="ren-"])){background:linear-gradient(var(--panel),var(--panel)) padding-box,repeating-linear-gradient(100deg,#0000 0 5px,#2a170a55 5px 6px,#0000 6px 11px) border-box,linear-gradient(145deg,var(--m2) 0%,var(--m1) 28%,var(--m3) 50%,var(--m1) 72%,var(--m2) 100%) border-box}
.hcard.f9:where(:not([class*="ren-"])){border-color:transparent;box-shadow:0 8px 20px rgba(0,0,0,.5),0 0 0 1px #000c,0 0 16px var(--glow)}
.hcard.f10:where(:not([class*="ren-"])){border-color:transparent;background:linear-gradient(var(--panel),var(--panel)) padding-box,conic-gradient(from var(--ang),#c77dff,#4fd1e0,#f0c35a,#ff7ac8,#c77dff) border-box;animation:spin 6s linear infinite;box-shadow:0 8px 20px rgba(0,0,0,.5),0 0 0 1px #000c,0 0 18px var(--glow)}
.hcard:where(:not([class*="ren-"])) .in{box-shadow:0 0 0 1px color-mix(in srgb,var(--m2) 55%,transparent)}
/* rivets */
.hcard:where(:not([class*="ren-"],.o-epines,.o-solitaire))::before{content:"";position:absolute;inset:-4px;pointer-events:none;z-index:5;
  --r:radial-gradient(circle at 40% 35%,#fff9 0 1px,var(--m2) 1.5px,var(--m1) 3px,#000a 4px,transparent 4.5px);
  background:var(--r) top left/10px 10px no-repeat,var(--r) top right/10px 10px no-repeat,var(--r) bottom left/10px 10px no-repeat,var(--r) bottom right/10px 10px no-repeat}
/* coins forgés (dès Bronze) */
.hcard:where(:not(.f0,.f1,[class*="ren-"]))::after{content:"";position:absolute;inset:-8px;pointer-events:none;z-index:4;
  --g:linear-gradient(135deg,var(--m2),var(--m1));
  background:var(--g) top left/var(--cs) var(--ct) no-repeat,var(--g) top left/var(--ct) var(--cs) no-repeat,var(--g) top right/var(--cs) var(--ct) no-repeat,var(--g) top right/var(--ct) var(--cs) no-repeat,
    var(--g) bottom left/var(--cs) var(--ct) no-repeat,var(--g) bottom left/var(--ct) var(--cs) no-repeat,var(--g) bottom right/var(--cs) var(--ct) no-repeat,var(--g) bottom right/var(--ct) var(--cs) no-repeat;filter:drop-shadow(0 1px 1px #000c)}
/* ruban sous la carte */
.hcard .tier{top:auto;bottom:-12px;left:50%;right:auto;transform:translateX(-50%);border-radius:4px;padding:3px 14px;font-size:10px;letter-spacing:.09em;
  background:linear-gradient(180deg,var(--m2),var(--m1) 60%,var(--m3));color:#160f05;text-shadow:0 1px 0 #fff5;border:1px solid #000a;box-shadow:0 3px 6px #0008,inset 0 1px 0 #fff6;
  clip-path:polygon(0 0,100% 0,calc(100% - 6px) 50%,100% 100%,0 100%,6px 50%)}
.hcard.f6 .tier,.hcard.f7 .tier,.hcard.f8 .tier,.hcard.f9 .tier,.hcard.f10 .tier{padding:3px 24px;
  background:radial-gradient(circle at 13px 50%,var(--gem) 0 3px,#000a 3.5px,transparent 4px),radial-gradient(circle at calc(100% - 13px) 50%,var(--gem) 0 3px,#000a 3.5px,transparent 4px),linear-gradient(180deg,var(--m2),var(--m1) 60%,var(--m3))}
.hcard.f8 .tier,.hcard.f9 .tier{color:#04200f;text-shadow:0 1px 0 #fff5}
.hcard.f10 .tier{background:radial-gradient(circle at 13px 50%,#fff 0 3px,#000a 3.5px,transparent 4px),radial-gradient(circle at calc(100% - 13px) 50%,#fff 0 3px,#000a 3.5px,transparent 4px),linear-gradient(90deg,#c77dff,#4fd1e0,#f0c35a);color:#1a0f2e}
.hcard[class*="ren-"] .tier{text-shadow:none}
.hcard .lv{border-color:var(--m2)}
/* médaillons encadrés (classements, chat, guilde, profil) */
.cm[data-fr]{position:relative;border:3px solid transparent;
  background:radial-gradient(circle at 38% 30%,color-mix(in srgb,var(--cc,#777) 55%,#fff),var(--cc,#777) 62%,color-mix(in srgb,var(--cc,#777) 70%,#000)) padding-box,conic-gradient(from 210deg,var(--m2),var(--m1) 25%,var(--m3) 50%,var(--m1) 75%,var(--m2)) border-box;
  box-shadow:0 0 0 1px #000c,0 2px 5px #0008}
.chat .msg .cm[data-fr]{border-width:2.5px}
.cm[data-fr$="2"]{box-shadow:0 0 0 1px #000c,0 0 0 2.5px var(--m2),0 0 0 3.5px #000a,0 2px 5px #0008}
.cm[data-fr="krosmoz"]{background:radial-gradient(circle at 38% 30%,color-mix(in srgb,var(--cc,#777) 55%,#fff),var(--cc,#777) 62%,color-mix(in srgb,var(--cc,#777) 70%,#000)) padding-box,conic-gradient(from var(--ang),#c77dff,#4fd1e0,#f0c35a,#ff7ac8,#c77dff) border-box;
  box-shadow:0 0 0 1px #000c,0 0 10px rgba(199,125,255,.7);animation:spin 6s linear infinite}
.cm[data-fr="feu"]{box-shadow:0 0 0 1px #000c,0 0 9px rgba(255,140,60,.75)}
.cm[data-fr^="or"]::after,.cm[data-fr^="eme"]::after,.cm[data-fr="krosmoz"]::after{content:"";position:absolute;bottom:-6px;left:50%;width:7px;height:7px;transform:translateX(-50%) rotate(45deg);background:var(--gem);border:1.5px solid var(--m3);box-shadow:0 0 4px var(--gem)}
.pod .rib{font-size:9.5px;font-weight:900;letter-spacing:.08em;text-transform:uppercase;padding:2px 10px;margin-top:2px;border-radius:3px;color:#160f05;border:1px solid #000a;white-space:nowrap;max-width:100%;overflow:hidden;text-overflow:ellipsis;
  background:linear-gradient(180deg,var(--m2),var(--m1) 60%,var(--m3));clip-path:polygon(0 0,100% 0,calc(100% - 5px) 50%,100% 100%,0 100%,5px 50%)}
.pod .rib[data-fr="krosmoz"]{background:linear-gradient(90deg,#c77dff,#4fd1e0,#f0c35a);color:#1a0f2e}
@media (max-width:600px){.pod .rib{display:none}}
@media (prefers-reduced-motion:reduce){.hcard.f10,.cm[data-fr="krosmoz"]{animation:none}}
.reduced .hcard.f10,.reduced .cm[data-fr="krosmoz"]{animation:none}
/* 0.1.29 : Sablier de Xélor (vitesse ×2 / ×3) dans la barre du haut */
.status .sabpill{gap:5px;background:rgba(0,0,0,.22);border:1.5px solid var(--gold);border-radius:999px;padding:2px 3px 2px 8px;color:inherit;font:inherit}
.status .sabpill.lock{padding:2px 10px;cursor:pointer;opacity:.85}
.status .sabpill.lock .uico{width:14px;height:14px}
.status .sabpill .sbi{display:flex;align-items:center;gap:5px;background:none;border:0;padding:0;color:inherit;font:inherit;cursor:pointer}
.status .sabpill .sb{font-size:14px;line-height:1}
.status .sabpill .sbi b{font-size:12.5px;color:var(--gold2)}
.status .sabpill .seg{background:rgba(0,0,0,.25);border:0;padding:1px}
.status .sabpill .seg button{color:#fff7e3;font-size:11.5px;padding:2px 7px}
.status .sabpill .seg button[aria-pressed="true"]{background:linear-gradient(180deg,var(--gold2),var(--gold));color:#2a1d08}
.status .sabpill.on{box-shadow:0 0 10px rgba(var(--glw,230,190,90),.45)}
.status .sabpill.on .sb{animation:sabspin 2.4s ease-in-out infinite}
@keyframes sabspin{0%,70%{transform:rotate(0)}85%,100%{transform:rotate(180deg)}}
@media (prefers-reduced-motion:reduce){.status .sabpill.on .sb{animation:none}}
/* 0.1.29.1 : badge du créateur (couronne, reflet or et émeraude, anneau doré qui pulse) et des modérateurs */
.xen{display:inline-flex;align-items:center;gap:3px;font-weight:900;vertical-align:baseline;max-width:100%}
.xen .crown{width:1em;height:1em;flex:none}
.xen .t{background:linear-gradient(90deg,#ffe9a3,#f4c84a,#b3e05c,#f4c84a,#ffe9a3);background-size:300% 100%;-webkit-background-clip:text;background-clip:text;color:transparent;animation:xenshine 5s linear infinite;overflow:hidden;text-overflow:ellipsis}
.xtag,.mtag{display:inline-flex;align-items:center;gap:3px;margin-left:5px;font-size:10.5px;font-weight:900;letter-spacing:.3px;border-radius:6px;padding:0 6px;line-height:1.5;vertical-align:middle;white-space:nowrap;-webkit-text-fill-color:currentColor}
.xtag{color:#2a1c05;background:linear-gradient(180deg,#ffe9a3,#f4c84a)}
.mtag{color:#13200a;background:linear-gradient(180deg,#d6f27e,#8cc63f)}
.mtag .uico{width:11px;height:11px}
.is-crea .cm{border-color:#f4c84a!important;box-shadow:0 0 10px rgba(244,200,74,.6);animation:xenpulse 2.4s ease-in-out infinite}
.chat .msg.is-crea{background:linear-gradient(90deg,rgba(244,200,74,.13),transparent 70%);box-shadow:inset 3px 0 0 #f4c84a;border-radius:8px;padding:3px 5px}
.lbr.is-crea,.gmrow.is-crea{background:linear-gradient(90deg,rgba(244,200,74,.12),transparent 75%)}
.chat .msg .ps .xen .t,.chat .msg.me .ps .xen .t{color:transparent}
@keyframes xenshine{to{background-position:300% 0}}
@keyframes xenpulse{50%{box-shadow:0 0 3px rgba(244,200,74,.3)}}
@media (prefers-reduced-motion:reduce){.xen .t,.is-crea .cm{animation:none}}
.pod .nm .xen,.pod .nm .xtag,.pod .nm .mtag{vertical-align:middle}
.pod .nm .xtag,.pod .nm .mtag{display:table;margin:2px auto 0}
.pod.is-crea{border-color:#f4c84a}
/* 0.1.30 « Coffres » : visuels et halo par coffre */
.chestico{object-fit:contain}
.cbtn .ci .chestico{width:22px;height:22px;vertical-align:middle}
.mkcons .chestico,.mkbig .chestico{width:32px;height:32px}
.hv .em .chestico{width:30px;height:30px}
.icobox.chestbox{--hc:#a8722a;background:radial-gradient(circle,color-mix(in srgb,var(--hc) 40%,transparent),transparent 70%),var(--panel3);box-shadow:inset 0 0 0 2px color-mix(in srgb,var(--hc) 70%,transparent)}
.icobox.chestbox .chestico{width:40px;height:40px}
.chestbox.t1,.chestopen.t1{--hc:#b9c3cc}.chestbox.t2,.chestopen.t2{--hc:#e0ac22}.chestbox.t3,.chestopen.t3{--hc:#9b6bff}.chestbox.t4,.chestopen.t4{--hc:#2ec4aa}.chestopen.t0{--hc:#c08a45}
.cele-art.chestopen{position:relative;min-height:110px;align-items:center}
.cele-art.chestopen::before{content:"";position:absolute;width:150px;height:150px;border-radius:50%;background:radial-gradient(circle,color-mix(in srgb,var(--hc) 65%,transparent),transparent 68%);animation:chestglow 2.4s ease-in-out infinite}
.cele-art .celechest{position:relative;width:104px;height:104px;animation:chestpop .5s cubic-bezier(.3,1.6,.5,1) both}
@keyframes chestpop{from{transform:scale(.4) rotate(-8deg);opacity:0}to{transform:none;opacity:1}}
@keyframes chestglow{50%{transform:scale(1.12);opacity:.75}}
@media (prefers-reduced-motion:reduce){.cele-art .celechest,.cele-art.chestopen::before{animation:none}}
.okc .chestico{width:22px;height:22px;vertical-align:middle}
.ctl-k{display:flex;align-items:center;justify-content:center;gap:6px;font-size:20px;margin:4px 0 6px}.ctl-k .uico{width:26px;height:26px}
.ctl-h{font-size:11px;font-weight:900;letter-spacing:.6px;text-transform:uppercase;color:var(--muted);margin:8px 0 4px;text-align:center}
.ctl-grid{display:flex;flex-wrap:wrap;justify-content:center;gap:6px}
.ctl-grid .itile{width:48px;cursor:default}.ctl-grid .itile .uico{width:70%;height:70%}
.ctl-grid .itile.ctl-rare{border-color:var(--gold);box-shadow:0 0 10px color-mix(in srgb,var(--gold) 55%,transparent)}
.ctl-emo{display:grid;place-items:center;width:78%;height:78%;font-size:24px}.ctl-emo .uico,.ctl-emo .chestico{width:100%;height:100%}
.ctl-names{font-size:12.5px;color:var(--ink);margin-top:6px;text-align:center;font-weight:700}
.ctl-grid .itile{width:52px}.ctl-lvl{left:0;right:0;top:-1px;text-align:center;font-size:9px;white-space:nowrap}
/* 0.1.30.1 : boutons de fabrication (×10, Max) qui passent à la ligne sur téléphone */
/* ---------- 0.1.31 : menu en 5 groupes (colonne à gauche sur PC, barre + Menu sur téléphone) ---------- */
#nav.sidenav .sn-mob{display:none}
.fiche{margin-top:22px;padding-top:16px;border-top:2px solid var(--line)}
.navsheet h3{font-family:var(--font-body);font-size:11px;font-weight:900;letter-spacing:1.2px;text-transform:uppercase;color:var(--muted);margin:12px 2px 6px;text-shadow:none}
.navsheet h3:first-child{margin-top:0}
.ns-tiles{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px}
.ns-tiles button{position:relative;display:flex;flex-direction:column;align-items:center;gap:4px;border:2px solid var(--frame);background:var(--panel2);border-radius:12px;padding:8px 4px;color:var(--ink);font:inherit;font-weight:800;font-size:12.5px;line-height:1.15;text-align:center;cursor:pointer}
.ns-tiles button[aria-current="page"]{border-color:var(--gold);background:var(--panel3);color:var(--gold2)}
.ns-tiles .navcnt{top:3px;right:5px}.ns-tiles .navdot{top:6px;right:8px}
.ns-foot{margin-top:14px}
@media (min-width:860px){
  .ns-tiles{grid-template-columns:repeat(4,minmax(0,1fr))}
  body.hasnav{padding-left:232px}
  body.hasnav.navmini{padding-left:78px}
  #nav.sidenav{position:fixed;left:0;top:0;bottom:0;width:224px;margin:0;padding:0;z-index:35;display:block;background:linear-gradient(180deg,var(--panel),var(--panel2));border-right:2px solid var(--frame);box-shadow:4px 0 18px rgba(0,0,0,.22)}
  body.navmini #nav.sidenav{width:68px}
  #nav .sn-side{height:100%;overflow-y:auto;overflow-x:hidden;padding:10px 8px 10px;display:flex;flex-direction:column;gap:1px;scrollbar-width:thin}
  #nav .sn-side button{position:relative;display:flex;align-items:center;gap:9px;width:100%;min-height:35px;flex:none;border:0;background:transparent;color:var(--ink);font-weight:800;font-size:14px;padding:3px 8px;border-radius:10px;text-align:left;box-shadow:none;transform:none;filter:none}
  #nav .sn-side button:hover{background:var(--panel3);transform:none;box-shadow:none;filter:none}
  #nav .sn-side button[aria-current="page"]{background:var(--panel3);color:var(--gold2);box-shadow:inset 0 0 0 2px var(--gold)}
  #nav .sn-side .med{width:28px;height:28px}#nav .sn-side .med img{width:20px;height:20px}
  #nav .sn-l{min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  #nav .sn-g{font-size:10.5px;font-weight:900;letter-spacing:1.2px;text-transform:uppercase;color:var(--muted);padding:8px 10px 2px}
  #nav .sn-top{display:flex;align-items:center;gap:4px;margin-bottom:4px}
  #nav .sn-side .sn-brand{flex:1 1 auto;width:auto;min-width:0}
  #nav .sn-brand{font-family:var(--font-title);font-size:22px;font-weight:400;color:var(--gold2);padding:2px 8px;min-height:42px}
  #nav .sn-brand img{width:30px;height:30px}
  #nav .sn-fight{margin:0 0 2px;background:var(--panel2)}
  #nav .sn-fight .sn-l{display:flex;flex-direction:column;line-height:1.15}
  #nav .sn-fight small{font-size:11px;font-weight:700;color:var(--muted);overflow:hidden;text-overflow:ellipsis}
  #nav .sn-side .sn-fight.on{background:linear-gradient(90deg,rgba(255,107,122,.24),rgba(255,107,122,.05));box-shadow:inset 0 0 0 2px rgba(255,107,122,.55)}
  #nav .sn-fight.on small{color:#ffc9cf}
  #nav .sn-side .navcnt{position:static;margin-left:auto;box-shadow:none;flex:none}
  #nav .sn-side .navdot{position:static;display:inline-block;margin-left:auto;flex:none}
  #nav .sn-side .sn-mini{width:32px;min-height:32px;flex:none;justify-content:center;padding:0;color:var(--muted);font-size:18px}
}
/* 1.0.12.8 : chat ouvert de 1280 à 1599 px : le menu de gauche passe en icônes (comme « Réduire le menu »), la page garde 800 px au lieu de 650 */
@media (min-width:1280px) and (max-width:1599px){
  body.hasnav.chat-open{padding-left:78px}
  body.chat-open #nav.sidenav{width:68px}
}
@media (max-width:859px){
  #nav.sidenav .sn-side{display:none}
  #nav.sidenav{display:block}
  #nav.sidenav .sn-mob{display:flex;gap:2px;width:100%;align-items:stretch}
  #nav .sn-mob>button{flex:1;padding:4px 0;font-size:10.5px}
  #nav .sn-mob .med{width:30px;height:30px}#nav .sn-mob .med img{width:22px;height:22px}
  #nav .sn-mob .navfight .med{width:50px;height:50px;margin-top:-24px;box-shadow:inset 0 0 0 3px var(--med-ring),inset 0 0 0 5px var(--med-bg2),0 0 0 4px var(--panel),0 0 16px rgba(255,107,122,.45)}
  #nav .sn-mob .navfight .med img{width:32px;height:32px}
  #nav .sn-burger{width:30px;height:30px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px}
  #nav .sn-burger b{display:block;width:18px;height:2.5px;border-radius:2px;background:currentColor}
  #nav .sn-mob .navcnt{top:0;right:calc(50% - 26px)}
  #nav .sn-mob .navdot{top:2px;right:calc(50% - 20px)}
  :root[data-theme] #nav .sn-mob .navfight[aria-current]{background:transparent;color:var(--gold2)}
}

/* Encyclopédie rangée : chiffres, onglets, zones à gauche, cartes compactes */
.enckpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-bottom:12px}
.enckpi{display:flex;flex-direction:column;gap:3px;text-align:left;background:var(--panel);border:2px solid var(--frame);border-radius:14px;padding:9px 12px;color:var(--ink);cursor:pointer;font:inherit}
.enckpi b{font-size:20px}.enckpi b small{font-size:13px;color:var(--muted);font-weight:700}
.enckpi .bar{height:5px}
.enctabs{margin-bottom:10px}
.encbest{display:grid;grid-template-columns:220px minmax(0,1fr)}
.enczones{border-right:2px solid var(--line,rgba(255,255,255,.08));padding:10px 8px;display:flex;flex-direction:column;gap:3px;max-height:calc(100vh - 140px);overflow:auto;position:sticky;top:10px;align-self:start}
.enczone{display:grid;grid-template-columns:1fr auto;gap:2px 8px;align-items:center;text-align:left;border:0;background:transparent;color:var(--ink);font:inherit;font-weight:800;font-size:13px;padding:6px 9px;border-radius:10px;cursor:pointer}
.enczone .bar{grid-column:1/-1;height:4px}
.enczone svg{width:12px;height:12px;vertical-align:-1px;opacity:.7}
.enczone:hover{background:var(--panel2)}
.enczone[aria-pressed="true"]{background:var(--panel2);box-shadow:inset 3px 0 0 var(--gold2)}
.enczone.done .xs{color:var(--gold2)}
.encmain{padding:12px 14px;min-width:0}
.enctools{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin-bottom:6px}
/* 1.0.22.1 : recherche de l'Encyclopédie, sous les onglets, sur une ligne */
.encsrch{position:relative;display:flex;align-items:center;margin:-2px 0 12px;max-width:560px}
.encsrch>svg{position:absolute;left:13px;width:16px;height:16px;opacity:.6;pointer-events:none}
.encq{flex:1 1 auto;width:100%;min-width:0;padding:9px 38px 9px 38px;border-radius:999px;border:2px solid var(--frame);background:var(--panel2);color:var(--ink);font:inherit;font-size:14px}
.encq::-webkit-search-cancel-button{display:none}
.encq:focus{outline:none;border-color:var(--gold2)}
.encqx{position:absolute;right:6px;width:28px;height:28px;border:0;border-radius:999px;background:var(--frame);color:#fff7e3;font:inherit;font-weight:900;font-size:13px;line-height:1;cursor:pointer}
.encqx:hover{filter:brightness(1.15)}
.encsel{display:none;flex:1 1 100%;padding:8px 10px;border-radius:12px;border:2px solid var(--frame);background:var(--panel2);color:var(--ink);font:inherit;font-weight:800}
.encinfo{font-size:12px;font-weight:800;color:var(--muted);border:2px solid var(--frame);border-radius:999px;padding:4px 10px;cursor:help}
.enczhead{display:flex;align-items:baseline;justify-content:space-between;gap:10px;margin:8px 0 2px;scroll-margin-top:calc(var(--sth,56px) + 10px)}
.enczhead h2{margin:0}
.mons.enc{grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:8px}
.enccard{display:grid;grid-template-columns:52px minmax(0,1fr);gap:4px 10px;align-items:center;padding:8px 10px}
.enccard img.mimg{width:52px;height:52px;transform:scale(1.15);grid-row:1/3}
.enccard .ebody{display:flex;flex-direction:column;gap:5px;min-width:0}
.enccard .drops{display:flex;flex-wrap:wrap;gap:4px}
.enccard .dq{width:24px;height:24px;font-size:12px;color:var(--muted)}
.enccard .encdg{border:0;background:none;padding:0;text-align:left;color:var(--gold2);font:inherit;font-size:12.5px;font-weight:800;cursor:pointer}
.enccard .encdg:hover{text-decoration:underline}
.famrow .grow{display:flex;flex-direction:column;gap:4px;min-width:0}
.famrow .bar{height:4px}
@media (max-width:760px){
  .enckpis{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
  .enckpi{padding:7px 10px}.enckpi b{font-size:17px}
  .encbest{grid-template-columns:1fr}
  .enczones{display:none}
  .encsel{display:block}
  .encsrch{max-width:none;margin-bottom:10px}.encq{font-size:16px;padding:8px 38px}
  .encmain{padding:10px}
  .mons.enc{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}
  .enccard{grid-template-columns:36px minmax(0,1fr);padding:7px;gap:4px 7px}
  .enccard img.mimg{width:36px;height:36px;grid-row:auto}
  .enccard .ehd .n{font-size:13px}.enccard .ehd .l{font-size:11px}
  .enccard .ebody{grid-column:1/-1}
  .enccard .tierline .tier{font-size:9.5px}
  .enccard .dropico img{width:20px;height:20px}.enccard .dropico .xs{font-size:10px}
  .famgrid{grid-template-columns:1fr}
}
@media (max-width:760px){.enczhead{display:none}}
.enccard .dropico.hit{background:rgba(214,242,126,.16);box-shadow:0 0 0 2px var(--gold2);border-radius:8px;padding:1px 2px}
.enccard{align-items:start}
@media (max-width:760px){.famgrid{grid-template-columns:repeat(2,minmax(0,1fr))}.famrow{padding:6px 8px;font-size:12.5px}}
.enckpis{grid-template-columns:repeat(5,minmax(0,1fr))}
.enckpi.archi{border-color:var(--archi);background:linear-gradient(160deg,rgba(155,77,255,.22),var(--panel) 70%);box-shadow:0 0 0 2px rgba(155,77,255,.18),0 0 18px rgba(155,77,255,.28)}
.enckpi.archi .xs{color:#d8b8ff;font-weight:800}.enckpi.archi .xs img,.enckpi.archi .xs svg{width:14px;height:14px;vertical-align:-2px}
.enckpi.archi .bar i{background:linear-gradient(90deg,#9b4dff,#d8b8ff)}
.enckpi.archi .encopen{margin-top:1px}
.enclink{margin-left:auto;border:0;background:none;color:var(--gold2);font:inherit;font-weight:800;font-size:13.5px;cursor:pointer;padding:6px 4px}
.enclink:hover{text-decoration:underline}
.encmore{width:26px;height:26px;border-radius:8px;border:2px solid var(--frame);background:var(--panel2);color:var(--ink);font:inherit;font-size:11px;font-weight:800;cursor:pointer;padding:0;align-self:flex-start}
@media (max-width:760px){.enckpis{grid-template-columns:repeat(2,minmax(0,1fr))}.enckpi.archi{grid-column:1/-1}}
/* 0.1.32.1 : têtes des héros toujours visibles à côté de la fiche */
@media (max-width:859px){
  .fiche .chips{display:none}
}
/* 0.1.32.2 : la colonne des zones reste visible en faisant défiler (overflow:hidden du panneau bloquait sticky) */
.panel.encpanel{overflow:clip}
.enczones{top:calc(var(--sth,56px) + 10px);max-height:calc(100vh - var(--sth,56px) - 20px)}
/* 0.1.33 : offres d'achat */
.mkobox{background:var(--panel2);border:2px solid var(--frame);border-radius:14px;padding:10px 12px;display:flex;flex-direction:column;gap:6px}
.mkobox .list{margin:0 -4px}
.mkord .mkpx{font-size:15px}
.mkobar{display:block;height:7px;border-radius:99px;background:var(--panel3);overflow:hidden;margin-top:5px;max-width:260px}
.mkobar i{display:block;height:100%;background:linear-gradient(90deg,var(--action2,#6fa83a),var(--gold))}
.mkonote .btn{margin-left:4px}
/* 0.1.34 : repère de difficulté d'une zone (derniers combats) */
.zdiff{font-size:10.5px;font-weight:800;border-radius:7px;padding:1px 6px;white-space:nowrap}
.zdiff.easy{background:var(--action);color:var(--action-ink)}
.zdiff.mid{background:var(--panel3);color:var(--ink)}
.zdiff.hard{background:var(--danger);color:#fff}

/* ---------- 0.1.36 : boîte à idées (js/idees.js) ---------- */
.id-form{display:flex;flex-direction:column;gap:12px}
.id-form h2{display:flex;align-items:center;gap:8px;margin:0}
.id-form p{margin:0}
.id-tags{margin:6px 0 0}
.id-tags button{padding:4px 12px}
.id-f{display:flex;flex-direction:column;gap:4px}
.id-f input[type=text]{width:100%}
.id-f textarea{min-height:120px;font-size:13.5px;resize:vertical}
.id-meta{display:flex;justify-content:space-between;gap:8px;flex-wrap:wrap}
.id-send{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.id-send .grow{flex:1}
.id-send a{color:inherit}
/* 1.1.1.3 : Signaler un bug (js/bugs.js) */
.bg-sheet{display:flex;flex-direction:column;gap:12px}
.bg-sheet h2{display:flex;align-items:center;gap:8px;margin:0}
.bg-sheet textarea{min-height:110px}
.bg-sheet textarea.bg-short{min-height:56px}
.bg-chk{display:flex;gap:8px;align-items:flex-start;cursor:pointer}
.bg-chk input{margin-top:3px;flex:none}
.bg-diag pre{white-space:pre-wrap;word-break:break-word;font-size:11px;max-height:180px;overflow:auto;margin:6px 0 0;padding:8px;border-radius:10px;background:rgba(0,0,0,.18)}
.bg-mine{display:flex;flex-direction:column;gap:6px;border-top:1px solid var(--line);padding-top:10px}
.bg-li{display:flex;gap:10px;align-items:center}
.bg-li .grow{flex:1;min-width:0}
.bg-st{flex:none;font-size:11px;font-weight:700;padding:2px 8px;border-radius:999px;border:1px solid currentColor;white-space:nowrap}
.bg-st.v{color:#a87b12}.bg-st.mod{color:#1f6fae}.bg-st.ok{color:#1e8a4c}.bg-st.m{color:#c0392b}
:root[data-theme="dark"] .bg-st.v{color:#e7c46a}:root[data-theme="dark"] .bg-st.mod{color:#7fc8ff}:root[data-theme="dark"] .bg-st.ok{color:#5fd38a}:root[data-theme="dark"] .bg-st.m{color:#ff8a8a}
.id-bug{display:flex;gap:10px;align-items:center;flex-wrap:wrap}
.id-bug .grow{flex:1;min-width:180px}
.adm .id-ln{align-items:flex-start;gap:10px}
.adm .id-ln .acts{display:flex;gap:6px;flex-wrap:wrap;flex-shrink:0}
.id-page{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);gap:12px;align-items:start}
.id-page .box{background:var(--panel);border:3px solid var(--frame);border-radius:16px;padding:14px;box-shadow:var(--shadow)}
.id-page .box h2{margin:0 0 8px}
@media (max-width:860px){.id-page{grid-template-columns:1fr}}
/* 0.1.38 : HdV sans prix minimum, achats du jour */
.mkrefs{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.mkrefs>div{background:var(--panel2);border:1px solid var(--line);border-radius:10px;padding:7px 10px;display:flex;flex-direction:column;min-width:0}
.mkrefs b{font-variant-numeric:tabular-nums}
.mklow{background:color-mix(in srgb,#f0b54a 12%,transparent);border:1px solid #f0b54a;border-radius:12px;padding:10px 12px;display:flex;flex-direction:column;gap:8px;font-size:13.5px}
.btn.mkwarnbtn{background:#f0b54a;border-color:#f0b54a;color:#2a1a05}
.tag.mklowtag{background:var(--panel3);color:var(--ink);opacity:.85}
.mkord:has(.mklowtag){opacity:.65}
.gbuy{display:flex;flex-direction:column;gap:6px}
.gbuy .li{flex-wrap:wrap}

/* 0.1.37.2 : prix des héros */
.btn.kgold{background:linear-gradient(180deg,#ffe28a,#e3b23c);color:#2a1a08;box-shadow:0 3px 0 rgba(0,0,0,.3)}
.bad-t{color:var(--danger)}
.navcoin{position:absolute;top:6px;right:8px;width:16px;height:16px;border-radius:50%;background:radial-gradient(circle at 35% 35%,#fff3b0,#e3b23c 60%,#a0741c);box-shadow:0 0 0 2px var(--panel),0 0 8px rgba(227,194,106,.8);pointer-events:none}
.rprice{padding:12px;border-radius:14px;border:2px solid var(--danger);background:rgba(227,194,106,.06);display:flex;flex-direction:column;gap:6px;margin-bottom:10px}
.rprice.ok{border-color:#e3b23c}
.rprice .big{font-size:24px;display:flex;align-items:center;gap:6px}
.rbar{height:8px;border-radius:99px;background:rgba(127,127,127,.2);overflow:hidden}.rbar i{display:block;height:100%;background:var(--danger)}
.rprice.ok .rbar i{background:#e3b23c}
/* ===== 0.1.39 Almanax : Méryde du jour, bonus ciblé, semaine à venir ===== */
.alx-top{display:flex;gap:16px;align-items:flex-start;flex-wrap:wrap}
.alx-top>.grow{min-width:240px;flex:1 1 300px}
.alx-top .cal{width:86px;min-height:96px;border-radius:12px;background:linear-gradient(180deg,#f0c35a,#c9962e);color:#1a1206;display:flex;flex-direction:column;align-items:center;justify-content:center;font-weight:900;box-shadow:var(--shadow);flex:none}
.alx-top .cal b{font-family:var(--font-title);font-size:34px;line-height:1}
.alx-mer{font-size:13px;color:var(--muted)} .alx-date{display:none;font-weight:800;color:var(--kama)} .alx-mer>b:first-child{color:var(--gold2);font-family:var(--font-title);font-size:17px;font-weight:400}
.alx-bon{border:1px solid rgba(var(--glw),.45);border-radius:12px;padding:10px 12px;background:linear-gradient(135deg,rgba(var(--glw),.13),rgba(220,187,116,.07));display:flex;gap:12px;align-items:center}
.alx-bon.on{box-shadow:0 0 0 1px rgba(var(--glw),.5),0 0 18px rgba(var(--glw),.18)}
.alx-bon .mo{width:54px;height:54px;object-fit:contain;flex:none;display:grid;place-items:center;filter:drop-shadow(0 2px 2px rgba(0,0,0,.6))}
.alx-bon span.mo .uico{width:38px;height:38px}
.alx-bon .k{font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--gold);font-weight:800}
.alx-bon .v{font-size:17px;font-weight:800;color:var(--ink)}
.alx-pill{display:inline-block;font-size:11px;font-weight:800;padding:2px 8px;border-radius:99px;background:rgba(231,196,106,.18);color:var(--kama);border:1px solid rgba(231,196,106,.4);margin-left:6px;vertical-align:2px}
.alx-off{display:flex;gap:4px 10px;align-items:center;flex-wrap:wrap}
.alx-src{flex-basis:100%;margin-top:4px}
.alx-src .list{display:flex;flex-direction:column;gap:6px;margin-top:4px}
.alx-src .monli .btn{white-space:nowrap}
.alx-week{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:8px}
.alx-d{border:1px solid var(--frame);border-radius:10px;padding:8px 8px 9px;background:var(--panel2);display:flex;flex-direction:column;gap:3px;min-width:0}
.alx-d .dt{font-size:11px;color:var(--muted);font-weight:700;text-transform:uppercase;letter-spacing:.04em}
.alx-d .nm{font-family:var(--font-title);color:var(--gold2);font-size:14px;overflow-wrap:anywhere}
.alx-d .ty{font-size:12px;font-weight:800;color:var(--ink);line-height:1.25}
.alx-d .tx{font-size:11.5px;color:var(--muted);line-height:1.3}
.alx-d.tm{border-color:rgba(var(--glw),.55)}
.alx-h{font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--gold);font-weight:800;margin:4px 0 2px}
details>summary.alx-h{cursor:pointer}
.alx-g{color:var(--gold2);font-weight:800;margin-bottom:3px}
.alx-all{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:6px 14px}
.alx-all div{font-size:12.5px;color:var(--muted)} .alx-all b{color:var(--ink)}
@media (max-width:700px){.alx-top .cal{display:none}.alx-date{display:inline}.alx-week{grid-template-columns:none;grid-auto-flow:column;grid-auto-columns:46%;overflow-x:auto;padding-bottom:4px}.alx-top .cal{width:70px;min-height:80px}.alx-top .cal b{font-size:28px}.alx-top>.grow{flex-basis:100%;min-width:0}.alx-bon{flex-wrap:wrap}.alx-bon .mo{width:40px;height:40px}.alx-bon .grow{flex:1 1 180px}.alx-bon .v{font-size:15px}}
:root[data-theme="emerald"] .tag.soft{color:var(--muted)} /* 0.1.39 : lisible sur fond sombre */
/* ---------- 0.1.40 « Équipe rangée » : liste des héros à gauche, fiche à droite ---------- */
:root[data-theme="emerald"] .tag.soft{color:var(--ink)} /* « Passif » et l'activité étaient illisibles en Émeraude */
.tph{align-items:center}
.tpt{display:flex;flex-direction:column;gap:2px}.tpt h1{margin:0}.tpt b{color:var(--ink)}
.trec{display:inline-flex;align-items:center;gap:6px}
.tbar{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin:-4px 0 12px;padding:8px 12px;background:var(--panel);border:1px solid var(--line);border-radius:14px}
.tcomp{border:2px solid var(--frame);background:var(--panel2);color:var(--ink);border-radius:999px;padding:4px 12px;font-weight:800;font-size:13px;cursor:pointer}
.tcomp.on{border-color:var(--gold);color:var(--gold2)}.tcomp:disabled{cursor:default}.tcomp:disabled:not(.on){opacity:.55}
.tcomp.add{border-style:dashed;background:none;color:var(--muted)}
.tmd{display:grid;grid-template-columns:264px minmax(0,1fr);gap:14px;align-items:start}
.tlist{position:sticky;top:calc(var(--sth,56px) + 12px);display:flex;flex-direction:column;gap:10px;padding:10px;background:var(--panel);border:2px solid var(--frame);border-radius:18px;max-height:calc(100vh - var(--sth,56px) - 24px);overflow:auto;scrollbar-width:thin}
.tgt{display:flex;align-items:baseline;gap:8px;padding:0 4px 4px;border-bottom:1px solid var(--line);margin-bottom:4px}
.tgt b{font-size:12px;text-transform:uppercase;letter-spacing:.6px;color:var(--gold)}
.trow{display:flex;gap:9px;align-items:center;width:100%;text-align:left;background:none;border:2px solid transparent;border-radius:12px;padding:5px 7px;cursor:pointer;color:var(--ink)}
.trow:hover{background:var(--panel2)}
.trw{position:relative}
.tr-mv{position:absolute;right:30px;top:6px;width:28px;height:24px;border-radius:8px;border:1px solid var(--gold);background:var(--panel2);color:var(--ink);font-weight:800;cursor:pointer;opacity:0;transition:opacity .12s}
.trw:hover .tr-mv,.tr-mv:focus-visible{opacity:1}
.tr-mv:hover{border-color:var(--gold);color:var(--gold2)}
@media (hover:none){.tr-mv{opacity:1}}
.trow.on{background:var(--panel2);border-color:var(--gold);box-shadow:0 0 12px rgba(var(--glw,201,154,46),.25)}
.trow.on .tr-nm b{color:var(--gold2)}
.trow .head{width:38px;height:38px;flex:none;box-shadow:0 0 0 2px color-mix(in srgb,var(--cc) 60%,transparent)}
.trow.on .head{box-shadow:0 0 0 2px var(--gold)}
.trow.out .head{opacity:.6;filter:saturate(.6)}
.tr-tx{flex:1;min-width:0;display:flex;flex-direction:column;gap:1px}
.tr-nm,.tr-sub{display:flex;align-items:center;gap:5px;min-width:0}
.tr-nm b{font-size:14px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.tr-sl{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}
.tr-star{color:var(--kama,#c99a2e);font-size:12px}
.tr-lv{font-weight:800;font-size:13px;color:var(--gold2)}
.tr-st{display:inline-flex;align-items:center;gap:3px}.tr-st .uico{width:13px;height:13px}
.tr-st.hunt{color:var(--gold)}.tr-st.job{color:#e7c46a}.tr-st.train{color:#8fc7ff}.tr-st.rest{color:var(--muted)}
.tr-g{font-style:normal;font-size:10px;font-weight:900;color:#13200a;background:var(--good,#8fe36a);border-radius:999px;padding:1px 5px;flex:none}
.tr-p{font-style:normal;font-size:10px;font-weight:900;color:#1a0d00;background:#ff9b4a;border-radius:999px;padding:1px 6px;flex:none}
.tr-xp{display:block;height:3px;border-radius:3px;background:var(--hp-bg);margin-top:3px;overflow:hidden}.tr-xp i{display:block;height:100%;background:linear-gradient(90deg,var(--gold),var(--gold2))}
.tadd{display:flex;align-items:center;gap:9px;width:100%;text-align:left;border:2px dashed var(--frame);background:none;border-radius:12px;padding:6px 9px;color:var(--ink);cursor:pointer}
.tadd .head{width:34px;height:34px;display:grid;place-items:center;font-weight:900}
.tadd-t{display:flex;flex-direction:column}
.tadd.ok{border-color:var(--kama,#c99a2e);background:linear-gradient(90deg,rgba(231,196,106,.12),transparent)}.tadd.ok .num{color:var(--kama,#c99a2e)}
.tleg{display:flex;gap:12px;flex-wrap:wrap;padding:6px 4px 0;border-top:1px solid var(--line)}.tleg span{display:inline-flex;gap:5px;align-items:center}
.tmd .fiche{min-width:0;display:flex;flex-direction:column;gap:12px;margin:0;padding:0;border:0}
.tstrip{display:none}
/* bannière du héros : couleur de classe et symbole en filigrane */
.hban{position:relative;display:flex;gap:14px;align-items:center;flex-wrap:wrap;padding:12px 14px;border:2px solid color-mix(in srgb,var(--cc) 60%,var(--frame));border-radius:18px;background:linear-gradient(100deg,color-mix(in srgb,var(--cc) 50%,var(--panel)) 0%,color-mix(in srgb,var(--cc) 20%,var(--panel)) 40%,var(--panel) 72%)}
.hb-bg{position:absolute;inset:0;border-radius:16px;overflow:hidden;pointer-events:none;z-index:0}
.hb-bg::before{content:"";position:absolute;right:180px;top:50%;width:300px;height:300px;transform:translateY(-50%) rotate(-14deg);background:var(--sym) center/contain no-repeat;opacity:.13;pointer-events:none}
.hb-bg::after{content:"";position:absolute;left:-40px;top:50%;width:200px;height:200px;transform:translateY(-50%);background:var(--sym) center/contain no-repeat;opacity:.22;pointer-events:none}
.hban>:not(.hb-bg){position:relative;z-index:1}
.hb-por{position:relative;flex:none}
.hb-por .head.lg{width:72px;height:72px;display:block;box-shadow:0 0 0 3px color-mix(in srgb,var(--cc) 75%,#fff),0 0 16px color-mix(in srgb,var(--cc) 45%,transparent)}
.hb-lv{position:absolute;left:50%;bottom:-8px;transform:translateX(-50%);font-size:12px;padding:1px 8px;border-radius:999px;background:var(--panel2);color:var(--gold2);border:1.5px solid var(--gold)}
.hb-main{flex:1 1 300px;min-width:0;display:flex;flex-direction:column;gap:4px}
.hb-l1{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.hb-l1 h2{font-size:24px;margin:0}
/* 0.1.50.1 : renommer le héros (crayon bien visible à côté du nom) */
.hb-ren{font:inherit;cursor:pointer;display:inline-flex;align-items:center;gap:5px;padding:3px 10px 3px 7px;border-radius:999px;border:2px solid var(--gold);background:color-mix(in srgb,var(--gold) 16%,transparent);color:var(--gold);font-weight:800;font-size:12.5px;line-height:1.2}
.hb-ren .uico{width:16px;height:16px}
.hb-ren:hover{background:var(--gold);color:#13200a}
.hb-renf{display:flex;flex-wrap:wrap;align-items:center;gap:6px;flex-basis:100%}
.hb-renf input{font:inherit;font-weight:800;font-size:18px;width:230px;max-width:100%;padding:4px 8px}
.hb-renerr{flex-basis:100%;font-size:12.5px;font-weight:700;color:var(--danger)}
.hb-renhint{flex-basis:100%}
.hb-fr{font-size:11px;font-weight:800;padding:2px 8px;border-radius:999px;background:linear-gradient(180deg,#f3d27a,#b98a2c);color:#2a1a08}
.hb-xp{display:flex;align-items:center;gap:10px}.hb-xp .bar{flex:1;max-width:420px}
.hb-pass{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.hb-acts{display:flex;flex-wrap:wrap;gap:6px;justify-content:flex-end;flex:0 1 240px}
.hmw{position:relative}
.hmore.on{box-shadow:inset 0 0 0 2px var(--gold)}
.hmenu{position:absolute;right:0;top:calc(100% + 6px);z-index:40;min-width:250px;display:flex;flex-direction:column;gap:2px;padding:6px;background:var(--panel2);border:2px solid var(--gold);border-radius:14px;box-shadow:0 12px 30px rgba(0,0,0,.6)}
.hmenu>button,.hmenu>label{display:flex;align-items:center;gap:8px;justify-content:space-between;padding:8px 10px;border:0;border-radius:10px;background:none;color:var(--ink);font-weight:700;text-align:left;cursor:pointer;font-size:14px}
.hmenu>button{justify-content:flex-start}
.hmenu>button:hover,.hmenu>label:hover{background:var(--panel3)}
.hmenu select{max-width:150px}.hm-note{padding:2px 10px}
.hmenu hr{border:0;border-top:1px solid var(--line);margin:4px 0;width:100%}
.hmenu .bad{color:var(--danger,#d8433a)}
.htabs{position:sticky;top:calc(var(--sth,56px) + 8px);z-index:15;margin:0;padding:6px;background:var(--page);border-radius:999px}
.ht-h{display:none;align-items:center;gap:6px;padding:0 10px 0 4px;font-weight:800}.ht-h .head{width:28px;height:28px}
.htabs.stuck .ht-h{display:inline-flex}
/* 1.0.12.8 : les onglets de la fiche restent sur une ligne (plus de « 3 + 1 ») : libellés courts quand la fiche est étroite (PC), sinon la barre défile */
.htabs{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:thin;container-type:inline-size}.htabs button{flex:none}
@media (min-width:860px){@container (max-width:599px){.htabs .htl,.htabs.stuck .ht-h{display:none}}@container (max-width:719px){.htabs.stuck .htl{display:none}}}
@media (max-width:859px){
  .tmd{grid-template-columns:minmax(0,1fr)}
  .tlist{position:static;max-height:none}
  .teampg:not(.tv-hero) .tmd .fiche,.tv-hero .tlist,.tv-hero #teamtop{display:none}
  .tstrip{display:flex;gap:8px;align-items:center;overflow-x:auto;scrollbar-width:none;position:sticky;top:var(--sth,56px);z-index:16;margin:0 -14px;padding:6px 14px;background:var(--panel);border-bottom:2px solid var(--frame)}
  .tstrip .btn{flex:none}
  .ts-h{position:relative;border:0;background:none;padding:0;flex:none;cursor:pointer}.ts-h .head{width:36px;height:36px;opacity:.75}.ts-h.out .head{opacity:.45}.ts-h.on .head{opacity:1;box-shadow:0 0 0 3px var(--gold)}
  .ts-g{position:absolute;right:-1px;top:-1px;width:10px;height:10px;border-radius:50%;background:var(--good,#8fe36a);border:2px solid var(--panel)}
  .ts-p{position:absolute;right:-6px;bottom:-3px;font-style:normal;font-size:9px;font-weight:900;color:#1a0d00;background:#ff9b4a;border-radius:999px;padding:0 4px}
  .ts-add .head{display:grid;place-items:center;font-weight:900;opacity:1}.ts-add.ok .head{box-shadow:0 0 0 2px var(--kama,#c99a2e);color:var(--kama,#c99a2e)}
  .tbar{display:none}
  .hban{gap:10px;padding:10px}.hb-por .head.lg{width:54px;height:54px}.hb-l1 h2{font-size:20px}
  .hb-bg{position:absolute;inset:0;border-radius:16px;overflow:hidden;pointer-events:none;z-index:0}
.hb-bg::before{right:-60px;width:220px;height:220px}
  .hb-acts{flex:1 1 100%;justify-content:flex-start}
  .hmenu{left:0;right:auto}
  .htabs{flex-wrap:nowrap;overflow-x:auto;border-radius:0;margin:0 -14px;padding:6px 14px;top:calc(var(--sth,56px) + 50px)}
  .htabs button{flex:none}
  .htabs.stuck .ht-h{display:none}
}
@media (max-width:640px){.tstrip,.htabs{margin:0 -10px;padding-left:10px;padding-right:10px}} /* 1.0.12.8 : la page fait 10 px de marge au téléphone, la fiche ne déborde plus de 4 px */
.hban:has(.hmenu){z-index:20}
@media (max-width:859px){.hb-main{flex:1 1 200px}}
@media (max-width:859px){.hmenu{min-width:226px}}
/* 0.1.41 « Métiers et forgemagie » */
.pinfo{display:flex;flex-wrap:wrap;gap:6px}
.pchip{display:inline-flex;align-items:center;gap:6px;padding:5px 10px;border-radius:999px;background:var(--panel2);border:1px solid var(--line);font-size:13px}
.pchip.gold{border-color:var(--gold);box-shadow:inset 0 0 0 1px rgba(228,185,85,.25)}
.pchip .ico.sm{width:18px;height:18px}
.pjobs{display:grid;grid-template-columns:repeat(auto-fill,minmax(360px,1fr));gap:12px}
.pjh{display:flex;gap:10px;align-items:center;padding:10px 14px;background:var(--panel2);border-bottom:2px solid var(--frame)}
.pjn{font-family:var(--fd,inherit);font-size:18px}
.bar.thin{height:6px;margin:4px 0 2px}
.pwork{display:flex;align-items:center;gap:8px}
.pslot{border:2px dashed var(--line);background:transparent;border-radius:12px;padding:8px;color:var(--muted);font-weight:700;cursor:pointer;display:flex;gap:6px;align-items:center;justify-content:center}
.ptool{padding:6px 8px;border-radius:10px;background:var(--panel2)}
.presgrid{display:flex;flex-wrap:wrap;gap:4px}
.pres{position:relative;width:38px;height:38px;border-radius:9px;background:var(--panel2);display:grid;place-items:center;border:1px solid var(--line)}
.pres img{width:28px;height:28px;object-fit:contain}
.pres b{position:absolute;right:1px;bottom:-1px;font-size:10px;text-shadow:0 0 3px #000,0 0 3px #000;color:#fff}
.pres.lock{opacity:.4;filter:grayscale(1)}
.pres.lock b{color:#ffd27a}
.pfree{display:flex;flex-wrap:wrap;gap:10px}
.pfreec{display:flex;align-items:center;gap:8px;padding:6px 8px 6px 6px;border-radius:12px;background:var(--panel2);border:1px solid var(--line)}
.pjobchips{display:flex;flex-wrap:wrap;gap:6px}
.pjobchips button{position:relative;display:flex;flex-direction:column;align-items:flex-start;padding:6px 12px;border-radius:12px;background:var(--panel2);border:2px solid var(--line);color:var(--ink);cursor:pointer;min-width:104px}
.pjobchips button[aria-pressed="true"]{border-color:#8cc63f;background:linear-gradient(180deg,rgba(214,242,126,.18),rgba(140,198,63,.1))}
.pcnt{position:absolute;top:-7px;right:-6px;background:#8cc63f;color:#13200a;border-radius:999px;font-size:11px;font-weight:800;padding:1px 6px}
.pjobxp{display:flex;align-items:center;gap:10px}
.psplit{display:grid;grid-template-columns:minmax(300px,420px) 1fr;gap:12px;align-items:start}
.psplit.fm{grid-template-columns:minmax(280px,360px) 1fr}
.plist{max-height:640px;overflow:auto}
.prec{display:flex;align-items:center;gap:10px;width:100%;text-align:left;padding:8px 12px;border:0;border-top:1px solid var(--line);background:transparent;color:var(--ink);cursor:pointer}
.prec.on{background:rgba(140,198,63,.13);box-shadow:inset 3px 0 0 #8cc63f}
.prec .icobox{width:40px;height:40px}
.pdot{display:inline-block;width:9px;height:9px;border-radius:50%;background:#6fdc5a;box-shadow:0 0 6px #6fdc5a;vertical-align:middle}
.pdetp{position:sticky;top:70px}
.icobox.lg{width:72px;height:72px}
.pstats{display:flex;flex-wrap:wrap;gap:6px 14px;margin:10px 0}
.pstats span{display:inline-flex;align-items:center;gap:4px;font-size:14px}
.ping{display:flex;flex-direction:column;gap:6px}
.pingr{display:flex;align-items:center;gap:8px;padding:6px 10px;border-radius:10px;background:var(--panel2)}
.pingr .ico{width:28px;height:28px}
.pingr.ko{box-shadow:inset 0 0 0 1px var(--danger)}
.pingr.ko b{color:#ff8a7a}
.pgal{display:grid;gap:6px}
.pgalr{box-shadow:inset 0 0 0 1.5px color-mix(in srgb,var(--gold) 45%,transparent)}
.pgalr.on{box-shadow:inset 0 0 0 2px var(--action);background:color-mix(in srgb,var(--action) 12%,var(--panel2))}
.pqty{display:flex;align-items:center;gap:10px;margin:12px 0 10px;flex-wrap:wrap}
.pqn{display:inline-flex;align-items:center;gap:4px}.pqn input{width:72px;text-align:center;padding:5px 4px}.pqn .btn{min-width:32px;justify-content:center} /* 1.0.8.1 : quantité libre */
.pdet .row .btn.grow{flex:1}
.prow{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}
.pbadges{display:flex;flex-direction:column;gap:4px;align-items:flex-end}
.pb{font-size:12px;padding:3px 8px;border-radius:999px;background:var(--panel2);display:inline-flex;gap:4px;align-items:center}
.pstatl{display:flex;flex-direction:column;gap:8px}
.pfl{padding:8px 10px;border-radius:12px;background:var(--panel2)}
.pfl.neg>.pfn{opacity:.75}.pfl.neg>.pruns{margin-top:8px} /* 1.0.7.6 : malus au-dessus de ses runes (au téléphone, le nom était écrasé) */
.pfn{display:flex;align-items:center;gap:6px}
.pfn b{font-size:15px}
.pfn .xs{margin-left:auto}
.pg{position:relative;height:8px;border-radius:6px;background:rgba(0,0,0,.35);margin:6px 0 8px;overflow:hidden}
.pg i{position:absolute;top:0;bottom:0}
.pg .rng{background:rgba(140,198,63,.22)}
.pg .exo{background:repeating-linear-gradient(45deg,rgba(176,108,255,.28) 0 4px,transparent 4px 8px)}
.pg .cur{left:0;background:linear-gradient(90deg,#8cc63f,#d6f27e);border-radius:6px}
.pg .nv{background:rgba(255,255,255,.55);animation:pblink 1.4s infinite}
.pg .mk{position:absolute;top:-2px;bottom:-2px;width:2px;background:var(--gold)}
@keyframes pblink{50%{opacity:.35}}
.pruns{display:flex;flex-wrap:wrap;gap:6px;align-items:center}
.prune{display:grid;grid-template-columns:auto auto;gap:0 10px;padding:5px 10px;border-radius:10px;border:1px solid var(--line);background:var(--panel);color:var(--ink);cursor:pointer;text-align:left;font-size:13px}
.prune.risk{border-color:#b06cff}
.prune .rc{font-weight:900;text-align:right}.rc.hi{color:#8ee06b}.rc.mid{color:#f3c34f}.rc.lo{color:#ff8a7a}
.prune .rk{text-align:right}
.pbench-foot{display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding-top:6px;border-top:1px solid var(--line)}
.seg.sm button{padding:4px 10px;font-size:13px}
.pselbar{position:sticky;top:64px;z-index:5;display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding:8px 12px;border-radius:12px;background:var(--panel2);border:2px solid #8cc63f}
.pbri{cursor:pointer}.pbri.on{background:rgba(140,198,63,.1)}
.pbri input{width:18px;height:18px}
.pruneic{display:inline-flex;flex-wrap:wrap;gap:2px 10px;font-size:12px}.pruneic span{display:inline-flex;gap:3px;align-items:center}
.prgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:10px}
.prc{padding:10px;border-radius:12px;background:var(--panel2);display:flex;flex-direction:column;gap:8px}
.prt{display:flex;align-items:center;gap:4px}
.prtier{flex:1;display:flex;flex-direction:column;align-items:center;padding:4px;border-radius:8px;background:var(--panel)}
.prtier.zero{opacity:.4}
.parr{font-weight:900;color:var(--gold)}
@media (max-width:700px){.pjobs,.psplit,.psplit.fm{grid-template-columns:1fr}.pdetp{position:static}.plist{max-height:none}.pjobchips button{min-width:0;flex:1 1 30%}.pselbar{top:56px}}
.pwt{display:flex;justify-content:space-between;align-items:baseline;gap:6px}
.pfbar{display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:6px}.pfbar input{grid-column:span 2}
.pfbar select,.pfbar input{min-width:0}
.pfchip{display:inline-flex;gap:6px;align-items:center;padding:3px 10px;border-radius:999px;background:rgba(140,198,63,.18);border:1px solid #8cc63f;font-weight:700;font-size:12.5px}
.pfchip b{opacity:.7;cursor:pointer}
@media (max-width:700px){.pfbar{grid-template-columns:1fr 1fr}.pfbar input{grid-column:1/-1}}
.pfbar[hidden]{display:none}
.pfmjobs{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:6px}
.pfj{display:flex;gap:8px;align-items:center;padding:6px 8px;border-radius:12px;background:var(--panel2);border:1px solid var(--line);font-size:13px;line-height:1.2}
.pfj img{width:30px;height:30px;border-radius:8px;flex:none}
.pfj.lock{opacity:.6}.pfj.lock img{filter:grayscale(1)}
.pwt2 .bar i{background:linear-gradient(90deg,#e4b955,#ff9a5a)}
.plegend{display:flex;flex-wrap:wrap;gap:4px 14px;color:var(--muted)}
.plegend i{display:inline-block;width:10px;height:10px;border-radius:3px;margin-right:5px;vertical-align:-1px}
i.g,.podd .g{background:#6fdc5a}i.y,.podd .y{background:#f3c34f}i.r,.podd .r{background:#ff6e5e}
b.g{color:#8ee06b}b.y{color:#f3c34f}b.r{color:#ff8a7a}
.prune{grid-template-columns:auto auto}
.rodd{grid-column:1/-1;display:flex;align-items:center;gap:6px;margin-top:3px}
.podd{display:flex;width:70px;height:6px;border-radius:4px;overflow:hidden;background:#000}
.podd i{display:block;height:100%}
.poddt{font-size:12px;white-space:nowrap}
.pexo{box-shadow:inset 0 0 0 1px #b06cff}
.ptrans{box-shadow:inset 0 0 0 1px var(--gold)}
.phist{display:flex;flex-direction:column;gap:3px;font-size:13px}
.phist div{padding:3px 8px;border-radius:6px;border-left:4px solid}
.phist .g{border-color:#6fdc5a}.phist .y{border-color:#f3c34f}.phist .r{border-color:#ff6e5e}
.phist .g b{color:#8ee06b}.phist .y b{color:#f3c34f}.phist .r b{color:#ff8a7a}
@media (max-width:700px){.pfmjobs{grid-template-columns:repeat(2,minmax(0,1fr))}}
.prec{font:inherit}
div.prec{cursor:pointer}
.prec .btn.ghost{padding:2px 6px}
.pfchip{cursor:pointer;color:var(--ink)}
.parr{border:0;background:transparent;cursor:pointer;font-size:18px;padding:0 2px}.parr:disabled{opacity:.35;cursor:default}
.prtier .btn.xs{font-size:10.5px;padding:0 6px;margin-top:2px}
.prune.off{cursor:default;opacity:.65;border-style:dashed}
.prune:not(.off):hover{border-color:#8cc63f}
.ptool>summary{list-style:none;cursor:pointer}.ptool>summary::-webkit-details-marker{display:none}
.ptool .toolbox{margin-top:6px}
.pjobs .pjob{overflow:hidden}
.pfj .bar.thin{display:block;height:4px;margin:3px 0 0}
details.panel>summary.phead{list-style:none;cursor:pointer}details.panel>summary.phead::-webkit-details-marker{display:none}
.sheet .pdet h2{font-size:19px}
button.pchip{color:var(--ink);cursor:pointer;font:inherit;font-size:13px}
.pbri input{flex:none}
@media (max-width:700px){.pfbar input{grid-column:1/-1}.pselbar{position:sticky;top:calc(var(--sth,48px) + 6px);bottom:auto}} /* 1.0.7.6 : la barre de sélection du brisage reste visible en haut quand on fait défiler */
@media (max-width:700px){.pfmjobs{grid-template-columns:repeat(3,minmax(0,1fr))}.pfj img{display:none}.pfj{font-size:12px;padding:5px 7px}}
/* 0.1.42 « Accueil du jour » : bandeau avec les têtes, tuiles « Aujourd'hui », « En ce moment », journal à onglets */
.ac-ban .inner{flex-direction:row;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;max-width:none}
.ac-l{display:flex;flex-direction:column;gap:10px;align-items:flex-start;min-width:0}
.ac-r{display:flex;flex-direction:column;align-items:flex-end;gap:8px}
.ac-r .fsg{background:rgba(14,18,10,.82);border:1px solid var(--frame);border-radius:12px;padding:4px 10px}
.ac-heads{display:flex;flex-wrap:wrap;gap:10px;justify-content:flex-end}
.ac-h{position:relative;border:0;background:none;padding:0;cursor:pointer;border-radius:50%}
.ac-h .head{width:52px;height:52px;box-shadow:0 0 0 2px var(--gold2);transition:transform .15s}
.ac-h:hover .head{transform:scale(1.07)}
.ac-h:focus-visible{outline:2px solid var(--gold);outline-offset:3px}
.ac-h.out .head{opacity:.5;filter:saturate(.5)}
.ac-lv{position:absolute;bottom:-6px;left:50%;transform:translateX(-50%);font-size:10.5px;font-weight:900;line-height:14px;background:var(--panel2);border:1px solid var(--gold2);border-radius:8px;padding:0 5px;color:var(--ink);pointer-events:none}
.ac-g,.ac-p{position:absolute;top:-3px;min-width:14px;height:14px;border-radius:7px;border:2px solid var(--panel);pointer-events:none}
.ac-g{right:-3px;background:#7ee06a}
.ac-p{left:-3px;background:#f0b54a;color:#2a1d08;font-size:9px;font-weight:900;line-height:10px;text-align:center;font-style:normal;padding:0 2px}
.ac-add .head{display:grid;place-items:center;font-size:22px;font-weight:900;color:var(--ink);background:var(--panel3);border:2px dashed var(--gold2);box-shadow:none}
.ac-add.ok .head{border-color:var(--kama,var(--gold));color:var(--kama,var(--gold))}
.ac-rate{display:flex;flex-wrap:wrap;gap:4px 14px;margin-top:6px}
.ac-reco{position:relative;z-index:3;display:flex;align-items:center;gap:10px;padding:8px 14px;background:linear-gradient(90deg,rgba(179,224,92,.2),rgba(179,224,92,.06)),var(--panel);border-top:2px solid var(--frame);font-size:14px}
.ac-tds{display:grid;grid-template-columns:repeat(auto-fill,minmax(270px,1fr));gap:10px;padding:12px}
.ac-td{display:flex;align-items:center;gap:10px;width:100%;min-width:0;min-height:62px;text-align:left;background:var(--panel2);border:2px solid var(--frame);border-radius:14px;padding:9px 10px;color:var(--ink);cursor:pointer;font:inherit}
.ac-td:hover{border-color:var(--gold)}
.ac-td:focus-visible{outline:2px solid var(--gold);outline-offset:2px}
.ac-td.hot{border-color:var(--gold);box-shadow:0 0 0 1px var(--gold),0 0 14px rgba(var(--glw,201,154,46),.25)}
.ac-td.done{opacity:.55}
.ac-ti{flex:none;width:38px;height:38px;display:grid;place-items:center}
.ac-ti .uico,.ac-ti img{width:34px;height:34px;object-fit:contain}
.ac-ti .head{width:34px;height:34px;display:grid;place-items:center;font-weight:900;background:var(--panel3);border:2px dashed var(--gold2)}
.ac-te{font-size:26px;line-height:1}
.ac-tt{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}
.ac-tt b{font-size:14px}
.ac-tt .xs{color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.ac-ts{flex:none}
.ac-sab{display:block;width:44px;height:7px;border-radius:4px;background:var(--hp-bg);overflow:hidden}
.ac-sab i{display:block;height:100%;background:var(--gold)}
.ac-grid{align-items:start}
.ac-ev{display:flex;flex-direction:column;gap:6px;padding:10px}
.ac-er{display:flex;align-items:center;gap:10px;text-align:left;border:1px solid var(--line);background:var(--panel2);border-radius:12px;padding:6px 10px;color:var(--ink);font:inherit;cursor:pointer}
.ac-er:hover,.ac-er.wk{border-color:var(--gold)}
.ac-er.locked{opacity:.6}
.ac-er .grow{display:flex;flex-direction:column;min-width:0}
.ac-ek{color:var(--muted);font-weight:800;text-transform:uppercase;letter-spacing:.5px;font-size:10px}
.ac-em{width:36px;height:36px;object-fit:contain;flex:none}
.ac-stats{display:flex;gap:6px 14px;flex-wrap:wrap;color:var(--muted);border-top:1px solid var(--line);padding-top:8px;margin-top:4px}
.ac-stats b{color:var(--ink)}
.dcline{display:flex;align-items:center;gap:10px;margin-top:14px;padding:10px 14px;border:2px solid var(--frame);border-radius:14px;background:var(--panel);color:var(--ink);text-decoration:none;font-size:14px}
.dcline:hover{border-color:#5865f2}
.dc-i{display:grid;place-items:center;width:30px;height:30px;border-radius:9px;background:#5865f2;color:#fff;flex:none}
.dc-i svg{width:18px;height:18px}
.dcline b{color:var(--gold);white-space:nowrap}
@media (max-width:700px){
  .ac-ban .inner{gap:12px}
  .ac-r{align-items:flex-start;width:100%}
  .ac-heads{justify-content:flex-start;gap:6px;flex-wrap:nowrap;overflow-x:auto;padding:4px 2px 8px;max-width:100%}
  .ac-h .head{width:40px;height:40px}
  .ac-r .fsg{display:none}
  .ac-l>.row{gap:6px}
  .ac-l>.row .btn{padding-inline:10px}
  .ac-l>.row .btn.primary{font-size:15px}
  .ac-l>.row .btn:not(.primary) .uico{display:none}
  .ac-hide{display:none}
  .ac-reco{flex-wrap:wrap;font-size:13px}
  .ac-tds{grid-template-columns:minmax(0,1fr);gap:8px;padding:10px}
  .ac-td{min-height:54px;padding:7px 9px}
  .ac-er .fl-mod{display:none}
  .dcline .xs{display:none}
}

/* ===================== 0.1.44 : Kolizéum (js/koliui.js) ===================== */
.kz-top{display:flex;align-items:flex-end;justify-content:space-between;gap:10px;flex-wrap:wrap;margin:4px 0 12px}
.kz-top h1{font-family:var(--font-title);font-weight:400;font-size:30px;margin:0;line-height:1.1}
.kz-off{display:flex;gap:10px;align-items:center;padding:10px 14px;margin-bottom:12px;border-radius:14px;background:rgba(124,196,255,.10);border:1px solid rgba(124,196,255,.35);font-size:13px}
.kz-band{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:16px;align-items:center;padding:14px 16px}
img.kz-emb{width:84px;height:84px;object-fit:contain;flex:none;filter:drop-shadow(0 3px 6px rgba(0,0,0,.45))}
img.kz-emb.big{width:104px;height:104px}
img.kz-emb.sm{width:30px;height:30px;filter:drop-shadow(0 1px 2px rgba(0,0,0,.4))}
.kz-cote{display:flex;flex-direction:column;gap:6px;min-width:0}
.kz-cote .big{font-family:var(--font-title);font-size:30px;line-height:1}
.kz-cote .big small{font-family:var(--font-body,inherit);font-size:13px;color:var(--muted);font-weight:800;margin-left:6px}
.kz-prog{position:relative;height:12px;border-radius:999px;background:var(--panel3);overflow:hidden;max-width:420px}
.kz-prog i{position:absolute;inset:0 auto 0 0;background:linear-gradient(90deg,#b0703a,#e2a466)}
.kz-prog.g-argent i{background:linear-gradient(90deg,#9fb0bf,#f3f6f8)}.kz-prog.g-or i{background:linear-gradient(90deg,#c7922b,#ffd86b)}
.kz-prog.g-cristal i{background:linear-gradient(90deg,#2fa59a,#8af0e2)}.kz-prog.g-diamant i{background:linear-gradient(90deg,#3d7fe0,#a8d4ff)}.kz-prog.g-legende i{background:linear-gradient(90deg,#8a4fe0,#e0b3ff)}
.kz-left{display:flex;flex-direction:column;align-items:flex-end;gap:5px;text-align:right}
.lcard.tkcard{border-color:var(--gold2)}.kz-found{color:var(--gold2);font-weight:700}
.kz-tkn{display:inline-flex;align-items:center;gap:6px}.kz-tkn b{font-size:22px;font-family:var(--font-title);font-weight:400}.kz-tkn.sm b{font-size:17px}
img.kz-tk{width:30px;height:30px;object-fit:contain}img.kz-tk.sm{width:18px;height:18px;margin:-3px 0}
img.kz-coin{width:24px;height:24px;object-fit:contain}img.kz-coin.sm{width:18px;height:18px;vertical-align:-4px}
.kz-grid{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(0,1fr);gap:14px;margin-top:14px}
@media (max-width:1150px){.kz-grid{grid-template-columns:minmax(0,1fr)}} /* 1.0.12.8 : une colonne quand la page est étroite (1080 px : noms coupés), ou avec le chat ouvert à côté */
@media (min-width:1100px) and (max-width:1550px){body.chat-open .kz-grid{grid-template-columns:minmax(0,1fr)}}
.kz-team{display:flex;gap:10px;align-items:flex-end;flex-wrap:wrap}
.kz-h{position:relative;width:92px;height:118px;border-radius:14px;background:radial-gradient(70% 60% at 50% 70%,color-mix(in srgb,var(--cc) 55%,transparent),transparent 72%),var(--panel2);border:2px solid var(--frame);display:flex;align-items:flex-end;justify-content:center;overflow:hidden;flex:none}
.kz-h img.l{height:108px;width:auto;object-fit:contain;margin-bottom:-4px}
.kz-h .lv{position:absolute;top:5px;left:5px;font-size:11px;font-weight:900;background:rgba(0,0,0,.55);color:#fff;border-radius:999px;padding:1px 6px}
.kz-h .rw{position:absolute;bottom:4px;left:0;right:0;text-align:center;font-size:10.5px;font-weight:900;color:#fff;text-shadow:0 1px 2px #000;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;padding:0 4px}
.kz-def{display:flex;gap:14px;align-items:center;flex-wrap:wrap;padding:12px 14px}
.kz-opps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;padding:12px 14px}
.kz-opp{display:flex;flex-direction:column;gap:8px;padding:10px;border-radius:14px;background:var(--panel2);border:2px solid var(--line);min-width:0}
.kz-opp.reco{border-color:var(--gold);box-shadow:0 0 12px rgba(var(--glw),.25)}
.kz-opp .nm{display:flex;align-items:center;gap:6px;font-weight:900;min-width:0}
.kz-opp .nm span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.kz-heads{display:flex;gap:6px;flex-wrap:wrap}
.kz-heads .head{width:38px;height:38px;position:relative;overflow:visible}
.kz-heads .head img{width:80%;border-radius:50%}
.kz-heads .head em{position:absolute;bottom:-5px;right:-8px;font-style:normal;font-size:9.5px;font-weight:900;background:var(--panel);border:1px solid var(--frame);border-radius:999px;padding:0 4px;color:var(--ink)}
.kz-ch{display:flex;align-items:center;gap:6px;font-size:12px;font-weight:800}
.kz-ch .pbar{flex:1;height:8px;max-width:none}
.kz-ch .pbar i{opacity:1}
.kz-ch.hi .pbar i{background:linear-gradient(90deg,#3fb35d,#9ff07a)}
.kz-ch.mid .pbar i{background:linear-gradient(90deg,#d9a53a,#ffd36b)}
.kz-ch.lo .pbar i{background:linear-gradient(90deg,#d0544a,#ff8a7a)}
.kz-gain{display:flex;justify-content:space-between;gap:6px;font-size:12px;font-weight:800;flex-wrap:wrap}
.kz-gain .p{color:#3fb35d}.kz-gain .m{color:#e0574c}
[data-theme="dark"] .kz-gain .p{color:#9ff07a}[data-theme="dark"] .kz-gain .m{color:#ff8a8a}
.kz-log .li{gap:8px}
.kz-log .res{font-weight:900;font-size:12.5px;white-space:nowrap}
.kz-log .res.w{color:#3fb35d}.kz-log .res.l{color:#e0574c}
.kz-rw .li,.kz-lb .li{gap:10px}
.kz-rw .phead .xs{white-space:nowrap} /* 1.0.12.8 : « dans 5 j 2 h » sur une ligne */
.kz-rw .li.me,.kz-lb .li.me{background:rgba(var(--glw),.12)}
.kz-lb .rk{width:22px;text-align:center;font-weight:900}
.kz-lb .kz-heads .head{width:26px;height:26px}.kz-lb .kz-heads .head em{display:none}.kz-lb .kz-heads{gap:2px;flex-wrap:nowrap}
.kz-rules{margin:0;padding:4px 0 12px 22px;display:flex;flex-direction:column;gap:6px;font-size:13.5px}
.kz-ghost{font-size:10px;font-weight:900;text-transform:uppercase;letter-spacing:.5px;padding:1px 6px;border-radius:999px;background:rgba(124,196,255,.18);color:#4f8fc7;flex:none;font-style:normal}
[data-theme="dark"] .kz-ghost{color:#9fd2ff}
.kz-pick{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:8px;margin:10px 0 14px;max-height:56vh;overflow:auto}
.kz-pk{display:flex;align-items:center;gap:10px;padding:8px 10px;border-radius:12px;border:2px solid var(--line);background:var(--panel2);color:inherit;font:inherit;text-align:left;cursor:pointer}
.kz-pk.on{border-color:var(--gold);background:rgba(var(--glw),.12)}
.kz-pk .head{width:36px;height:36px}
.kz-res{display:flex;flex-direction:column;gap:10px;align-items:stretch}
.kz-big{font-family:var(--font-title);font-size:34px;text-align:center;color:#3fb35d;line-height:1.1}
.kz-big span{font-size:26px;margin-left:6px}.kz-big.lose{color:#e0574c}
.kz-dead{filter:grayscale(1) brightness(.6)}
.kz-vsbar{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 14px;flex-wrap:wrap}
.kz-vsbar .side{display:flex;align-items:center;gap:8px;min-width:0}
.kz-vsbar .vs{font-family:var(--font-title);font-size:22px;color:var(--gold2)}
.kz-shop .hv .btn img.kz-coin{vertical-align:-4px}
/* boutique du Kolizéum (0.1.45) : onglets, grille, panneau d'achat collé en bas de la fiche */
.kzs{display:flex;flex-direction:column;gap:10px}
.kzs-head{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap}
.kzs-head h2{margin:0;display:flex;align-items:center;gap:8px}
.kzs-bal{display:flex;align-items:center;gap:6px;background:var(--panel2);border:2px solid var(--frame);border-radius:999px;padding:3px 12px 3px 5px}.kzs-bal b{font-size:18px}
.kzs-tabs{align-self:flex-start;max-width:100%;overflow-x:auto;scrollbar-width:none}.kzs-tabs button{white-space:nowrap;padding:6px 14px;font-size:13.5px}
.kzs-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:12px 8px;padding-top:4px}
.kzs-t{position:relative;display:flex;flex-direction:column;align-items:center;gap:4px;padding:12px 6px 8px;background:var(--panel2);border:2px solid transparent;border-radius:14px;cursor:pointer;color:var(--ink);font:inherit;text-align:center;min-width:0}
.kzs-t:hover{border-color:var(--line)}.kzs-t.on{border-color:var(--gold2);box-shadow:0 0 0 2px rgba(240,185,42,.25),0 4px 14px rgba(0,0,0,.25)}
.kzs-t.own{opacity:.55}
.kzs-i{height:42px;display:flex;align-items:center;justify-content:center;font-size:30px}.kzs-i img.ico{width:42px;height:42px}.kzs-i .uico{width:34px;height:34px}
.kzs-k{font-size:10.5px;text-transform:uppercase;letter-spacing:.06em;color:var(--muted, #9a8f78);font-weight:800;margin-bottom:-2px}
@media (min-width:700px){.sheet:has(#kzShop){height:min(calc(88vh / var(--vz,1)),720px)}.sheet:has(#kzShop) .kzs{flex:1}.sheet:has(#kzShop) .kzs-buy{margin-top:auto}}
.kzs-nm{font-weight:700;font-size:12.5px;line-height:1.2;min-height:2.4em;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.kzs-p{margin-top:auto;display:flex;align-items:center;gap:4px;font-weight:800;font-size:13.5px}
.kzs-n{position:absolute;top:5px;right:6px;font-size:11px;font-weight:800;background:rgba(0,0,0,.35);color:#fff7e3;border-radius:8px;padding:0 6px}
.kzs-u{position:absolute;top:-8px;left:50%;transform:translateX(-50%);white-space:nowrap;font-size:10px;font-weight:800;background:#3fb35d;color:#fff;border-radius:999px;padding:1px 7px}
.kzs-buy{position:sticky;bottom:-16px;margin:0 -16px;padding:12px 16px 14px;background:var(--panel);border-top:2px solid var(--frame);display:flex;flex-direction:column;gap:10px;box-shadow:0 -8px 18px rgba(0,0,0,.18);z-index:2}
.kzs-sel{display:flex;gap:12px;align-items:center}.kzs-bi{width:52px;display:flex;justify-content:center;font-size:36px}.kzs-bi img.ico{width:52px;height:52px}.kzs-bi .uico{width:42px;height:42px}
.kzs-q{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.kzs-step{display:flex;align-items:center;gap:6px}.kzs-step b{min-width:34px;text-align:center;font-size:18px}.kzs-step .btn{width:34px;justify-content:center;font-size:18px;padding:2px 0}
.kzs-go{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap}.kzs-go .btn{font-size:15px}
.kzs-miss{color:#e0574c;font-weight:700}
@media (max-width:560px){.kzs-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.kzs-go .btn{flex:1;justify-content:center}}
.kz-lnk{all:unset;cursor:pointer;font-weight:700;border-bottom:1px dashed currentColor}.kz-lnk:hover{color:var(--gold2)}
.kzw .arena .ent.m img.sprite.dop,.kzw .arena.v2 .ent.m img.sprite.dop{filter:drop-shadow(0 0 5px rgba(255,90,90,.75))}
.kzw .cico.dop img{filter:drop-shadow(0 0 3px rgba(255,90,90,.75))}
.hcard .orn.kzlaur{top:-18px;left:50%;transform:translateX(-50%);width:44px;height:44px;object-fit:contain;filter:drop-shadow(0 0 8px #5fe3d3)}
@media (max-width:820px){.kz-grid{grid-template-columns:minmax(0,1fr)}.kz-opps{grid-template-columns:minmax(0,1fr)}.kz-band{grid-template-columns:auto minmax(0,1fr)}.kz-left{grid-column:1/-1;align-items:flex-start;text-align:left;flex-direction:row;flex-wrap:wrap;gap:8px 14px}img.kz-emb.big{width:84px;height:84px}.kz-h{width:84px;height:108px}.kz-h img.l{height:98px}}
.kzw .chalbar,.kzw #await{display:none}

.pset{display:inline-block;font-size:11px;font-weight:700;padding:1px 7px;border-radius:999px;background:var(--panel3);color:var(--ink);margin-left:4px}
.pset.on{background:var(--action);color:var(--action-ink)}
.li.pbest{background:color-mix(in srgb,var(--action) 12%,transparent)}
.li.plow{opacity:.6}
.pmore{border-top:1px solid var(--line)}
.pmore .pmh{display:block;width:100%;text-align:left;background:none;border:0;cursor:pointer;padding:10px 14px;font:inherit;font-weight:800;font-size:13px;color:var(--muted,inherit)}
.pmore .pmh:hover{color:var(--ink)}
/* 1.0.8.8 : objets identiques regroupés */
.tag.gcount{font-variant-numeric:tabular-nums}
.pgt{display:inline-block;margin-top:4px;background:none;border:0;padding:2px 0;font:inherit;font-size:12px;font-weight:700;color:var(--action);cursor:pointer;text-align:left}
.pgt:hover{text-decoration:underline}
.psubs{border-left:3px solid color-mix(in srgb,var(--action) 45%,transparent);margin-left:14px;background:color-mix(in srgb,var(--panel3) 50%,transparent)}
.li.psub{padding-left:10px}
.li.pcur{background:var(--panel2,transparent);border-bottom:1px dashed var(--line)}
.dtop{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;margin-bottom:10px}
/* Sablier économe : sablier en pause quand rien n'avance */
.status .sabpill.idle{box-shadow:none;opacity:.75}
.status .sabpill.idle .sb{animation:none}

/* 0.1.47.6 : notifications et chat. Auto : chat ouvert, elles s'écartent (PC : à gauche du chat ; téléphone : une seule, en haut).
   Options › Affichage › Notifications : En haut (toujours en haut au centre) ou En bas (position d'origine). */
@media (min-width:860px){body.chat-open:not(.toast-top):not(.toast-bot) .toasts{right:410px}}
@media (max-width:859px){
  body.chat-open:not(.toast-top):not(.toast-bot) .toasts{top:calc(env(safe-area-inset-top,0px) + 6px);bottom:auto}
  body.chat-open:not(.toast-top):not(.toast-bot) .toasts .toast:not(:last-child){display:none}
  body.chat-open:not(.toast-top):not(.toast-bot) .toasts .toast{font-size:12.5px;padding:6px 12px}
}
body.toast-top .toasts{top:calc(env(safe-area-inset-top,0px) + 10px);bottom:auto;left:50%;right:auto;transform:translateX(-50%);align-items:center}
/* Sablier économe : sablier en pause quand rien n'avance */
.status .sabpill.idle{box-shadow:none;opacity:.75}
.status .sabpill.idle .sb{animation:none}
/* ===================== 0.1.48 — objets légendaires : « Brume onirique » (bord animé selon l'Éveil) ===================== */
@property --lxa{syntax:"<angle>";inherits:false;initial-value:0deg}
.lx{position:relative;isolation:isolate;border-color:transparent!important;overflow:hidden}
.lx>*{position:relative;z-index:2}.lx>.ilvl,.lx>.icount,.lx>.lv,.lx>.or,.lx>.ilock,.lx>.ieq{position:absolute;z-index:3}
.lx::before{content:"";position:absolute;inset:0;z-index:0;border-radius:inherit;padding:2px;-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask-composite:exclude;animation:lxspin 3.2s linear infinite}
.lx::after{content:"";position:absolute;inset:2px;z-index:1;border-radius:inherit;pointer-events:none}
@keyframes lxspin{to{--lxa:360deg}}
@keyframes lxpulse{0%,100%{opacity:.55}50%{opacity:1}}
@keyframes lxfloat{0%,100%{transform:translateY(0)}50%{transform:translateY(-3px)}}
@keyframes lxshine{0%{background-position:-160% 0}60%,100%{background-position:260% 0}}
@keyframes lxhue{to{filter:hue-rotate(360deg)}}
@keyframes lxrise{0%{transform:translateY(10px) scale(.6);opacity:0}25%{opacity:1}100%{transform:translateY(-46px) scale(1);opacity:0}}
.lx img{animation:lxfloat 2.6s ease-in-out infinite}
.lxn{font-weight:800;background:linear-gradient(90deg,#ff9d3c,#ffe9a8,#ff9d3c,#ffd27a,#ff9d3c);background-size:200% 100%;-webkit-background-clip:text;background-clip:text;color:transparent;animation:lxshine 3.5s linear infinite}
@media (prefers-reduced-motion:reduce){.lx::before,.lx::after,.lx img,.lxn{animation:none!important}}
.nomotion .lx::before,.nomotion .lx::after,.nomotion .lx img,.nomotion .lxn{animation:none!important}
/* RENDU FINAL · Brume onirique avec touche orange (choix de Mathis 1C 2A 3A 4B 5A 6A) */
.lx.cf::before{background:conic-gradient(from var(--lxa),#a58bff,#5fd8d0 22%,#a58bff 38%,#ff9d3c 46%,#ffe0a0 50%,#ff9d3c 54%,#a58bff 64%,#5fd8d0 82%,#a58bff);animation-duration:4s}
.lx.cf::after{background:linear-gradient(110deg,transparent 30%,rgba(255,255,255,.3) 48%,transparent 66%),radial-gradient(ellipse at 30% 85%,rgba(165,139,255,.55),transparent 60%),radial-gradient(ellipse at 85% 15%,rgba(95,216,208,.38),transparent 55%);background-size:260% 100%,100% 100%,100% 100%;animation:lxshine 3.6s ease-in-out infinite}
.lx.cf{box-shadow:0 0 12px rgba(165,139,255,.5),0 0 3px rgba(255,157,60,.6)}
.lx.cf.e1::before{animation:none;background:linear-gradient(135deg,#a58bff,#5fd8d0 45%,#ff9d3c 55%,#a58bff)}
.lx.cf.e1::after{animation:lxpulse 3s ease-in-out infinite;background:radial-gradient(ellipse at 30% 85%,rgba(165,139,255,.55),transparent 60%),radial-gradient(ellipse at 85% 15%,rgba(95,216,208,.38),transparent 55%)}
.lx.cf.e5{box-shadow:0 0 18px rgba(165,139,255,.7),0 0 8px rgba(255,157,60,.8)}
.lx .lxsp{position:absolute;inset:0;z-index:3;pointer-events:none;border-radius:inherit;overflow:hidden}
.lx .lxsp::before,.lx .lxsp::after{content:"";position:absolute;inset:0;background:radial-gradient(circle,#ffe0a0 0 1.6px,transparent 2.6px) 22% 100%/30% 40%,radial-gradient(circle,#c9b8ff 0 1.6px,transparent 2.6px) 72% 100%/34% 46%,radial-gradient(circle,#fff 0 1px,transparent 2px) 48% 100%/28% 38%;background-repeat:no-repeat;animation:lxrise 1.9s ease-out infinite}
.lx .lxsp::after{animation-delay:.95s;background-position:38% 100%,86% 100%,10% 100%}
.lxn.cf{background-image:linear-gradient(90deg,#c9b8ff,#ffffff,#7fe8e0,#ffb35c,#c9b8ff)}
.nomotion .lx .lxsp,.nomotion .lx::after{display:none}
@media (prefers-reduced-motion:reduce){.lx .lxsp{display:none}}

:root[data-theme="emerald"] .lxn.cf,:root:not([data-theme]) .lxn.cf{background-image:linear-gradient(90deg,#6b4fd8,#2aa39a,#c46a12,#6b4fd8)}
.iname.lxn{display:inline}
.lgev{display:inline-flex;gap:3px;vertical-align:middle}.lgev i{width:8px;height:8px;border-radius:2px;transform:rotate(45deg);background:rgba(127,127,127,.3);display:inline-block}.lgev i.on{background:#ff9d3c;box-shadow:0 0 6px #ff9d3c}
.lgpas{border:2px solid rgba(165,139,255,.55);border-radius:12px;padding:10px 12px;background:linear-gradient(180deg,rgba(165,139,255,.14),transparent 75%);display:flex;flex-direction:column;gap:6px}
.lgranks{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:4px}.lgranks span{border-radius:9px;padding:4px 2px;text-align:center;font-size:11px;background:rgba(127,127,127,.1);border:1px solid rgba(127,127,127,.25);display:flex;flex-direction:column}.lgranks span.on{border-color:#ff9d3c;background:rgba(255,157,60,.14)}.lgranks b{font-size:12px}
/* cadre de héros « Cadre des Songes » */
.hcard.fsg{border-color:transparent!important;background:linear-gradient(var(--panel),var(--panel)) padding-box,conic-gradient(from var(--ang),#a58bff,#5fd8d0,#a58bff,#ff9d3c,#a58bff) border-box!important;animation:spin 4s linear infinite}
.hcard.o-brume .art::before{content:"";position:absolute;inset:-8% -10% 0;z-index:0;pointer-events:none;background:radial-gradient(ellipse at 30% 85%,rgba(165,139,255,.55),transparent 60%),radial-gradient(ellipse at 75% 70%,rgba(95,216,208,.4),transparent 55%);animation:lxpulse 3.2s ease-in-out infinite}
/* ===================== 0.1.48 — Le Songe infini ===================== */

.sgd{--dk:#15112a;--dk2:#1e1838;--dl:rgba(184,164,255,.42);--di:#efe9ff;--dm:#b9afd9;--dg:#f0c35a;--dv:#a58bff;--dt:#5fd8d0;--dr:#ff6f86;
  position:relative;color:var(--di);border:2px solid var(--dl);border-radius:16px;overflow:hidden;
  background:radial-gradient(1.5px 1.5px at 12% 22%,#fff8,transparent),radial-gradient(1px 1px at 33% 68%,#fff7,transparent),radial-gradient(1.5px 1.5px at 58% 14%,#fff9,transparent),radial-gradient(1px 1px at 76% 52%,#fff6,transparent),radial-gradient(1.5px 1.5px at 91% 30%,#fff8,transparent),radial-gradient(1px 1px at 47% 88%,#fff6,transparent),radial-gradient(1px 1px at 6% 80%,#fff7,transparent),
    radial-gradient(ellipse at 15% -10%,rgba(150,110,255,.45),transparent 60%),radial-gradient(ellipse at 100% 110%,rgba(70,200,210,.28),transparent 55%),linear-gradient(180deg,var(--dk2),var(--dk))}
.sgd .muted,.sgd .xs.muted,.sgd .small.muted{color:var(--dm)!important}
.sgd h2,.sgd h3{color:var(--di)}
.sg-k{font-size:11px;font-weight:900;letter-spacing:1.2px;text-transform:uppercase;color:var(--dg,#f0c35a);display:inline-flex;gap:5px;align-items:center}
.sg-ttl{font-family:var(--font-title);font-size:30px;line-height:1.1;color:#fff;text-shadow:0 0 18px rgba(165,139,255,.8),0 2px 0 rgba(0,0,0,.4)}
.sg-chip{display:inline-flex;align-items:center;gap:5px;padding:3px 9px;border-radius:999px;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.16);font-size:12px;font-weight:700;color:var(--di,#efe9ff);white-space:nowrap}
.sg-chip.g{border-color:rgba(240,195,90,.6);color:#ffe2a0}.sg-chip.v{border-color:rgba(165,139,255,.7);color:#d7ccff}.sg-chip.t{border-color:rgba(95,216,208,.6);color:#b5fff8}.sg-chip.r{border-color:rgba(255,111,134,.6);color:#ffc0ca}
.sg-chip .sg-ui{width:16px;height:16px}
.sg-btn{display:inline-flex;align-items:center;gap:7px;border-radius:12px;padding:10px 16px;font:inherit;font-weight:800;font-size:14px;border:0;cursor:pointer;color:#1b1430;background:linear-gradient(180deg,#ffe39a,#f0b847);box-shadow:0 0 18px rgba(240,195,90,.45),inset 0 -2px 0 rgba(0,0,0,.2)}
.sg-btn.ghost{background:rgba(255,255,255,.08);color:var(--di,#efe9ff);box-shadow:none;border:1.5px solid rgba(255,255,255,.22)}
.sg-ui{width:22px;height:22px;object-fit:contain;vertical-align:middle}
/* Puits */
.sg-hero{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);gap:10px;padding:18px 20px 0;align-items:end}
.sg-hero .txt{display:flex;flex-direction:column;gap:9px;padding-bottom:18px;min-width:0}
.sg-portal{position:relative;height:210px;display:flex;align-items:flex-end;justify-content:center}
.sg-portal::before{content:"";position:absolute;left:50%;bottom:14px;width:260px;height:190px;transform:translateX(-50%);border-radius:50%;
  background:radial-gradient(ellipse at 50% 55%,rgba(255,255,255,.9),rgba(190,165,255,.75) 18%,rgba(120,90,230,.45) 42%,rgba(60,200,210,.18) 62%,transparent 72%);filter:blur(1px)}
.sg-portal::after{content:"";position:absolute;left:50%;bottom:4px;width:300px;height:34px;transform:translateX(-50%);border-radius:50%;background:radial-gradient(ellipse,rgba(165,139,255,.55),transparent 70%)}
.sg-portal .sg-look{position:relative;z-index:1;height:150px;width:96px;object-fit:contain;object-position:bottom;margin:0 -12px;filter:drop-shadow(0 6px 8px rgba(0,0,0,.55))}
.sg-ladder{display:grid;grid-template-columns:repeat(8,minmax(0,1fr));gap:6px;position:relative;padding:4px 0}
.sg-step{position:relative;display:flex;flex-direction:column;align-items:center;gap:3px;text-align:center;padding:8px 4px 9px;border-radius:12px;border:1.5px solid rgba(255,255,255,.12);background:rgba(10,8,25,.35);min-width:0}
.sg-step .gem{width:30px;height:30px;border-radius:50%;display:grid;place-items:center;font-size:12px;font-weight:900;color:#140f26;box-shadow:0 0 12px var(--gc),inset 0 -3px 0 rgba(0,0,0,.25);background:radial-gradient(circle at 35% 30%,#fff,var(--gc) 55%)}
.sg-step b{font-size:12.5px;line-height:1.15}.sg-step .lt{font-size:11px;color:var(--dm)}.sg-step .st{font-size:10.5px;font-weight:800}
.sg-step.done .st{color:#8ff0a0}.sg-step.lock{opacity:.5}.sg-step.lock .gem{filter:grayscale(.7);box-shadow:none}
.sg-step.on{border-color:var(--dg);background:linear-gradient(180deg,rgba(240,195,90,.2),rgba(10,8,25,.35));box-shadow:0 0 16px rgba(240,195,90,.35)}
.sg-step.on .st{color:var(--dg)}
.sg-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-top:14px}
.sg-card{padding:14px;display:flex;flex-direction:column;gap:9px;min-width:0}
.sg-card h3{margin:0;font-size:15px;display:flex;align-items:center;gap:7px}
.sg-rowi{display:flex;align-items:center;gap:9px;font-size:13px;min-width:0}.sg-rowi>span{min-width:0}
.sg-ep{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}
.sg-epi{display:flex;gap:8px;align-items:center;padding:7px;border-radius:10px;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.1);font-size:12px;min-width:0}
.sg-epi img{width:30px;height:30px;flex:none}.sg-epi b{display:block;font-size:12.5px}.sg-epi.ok{border-color:rgba(143,240,160,.45)}
/* carte */
.sg-mapwrap{overflow-x:auto;padding:4px 0 2px}.sg-mapwrap svg{display:block;max-width:none}
.sg-runbar{display:flex;flex-wrap:wrap;gap:8px 12px;align-items:center;padding:12px 16px;border-bottom:1px solid rgba(255,255,255,.1)}
.sg-tip{position:absolute;z-index:3;width:250px;padding:10px 12px;border-radius:12px;background:rgba(18,14,36,.96);border:1.5px solid #a6d65a;box-shadow:0 8px 24px rgba(0,0,0,.5);font-size:12.5px;display:flex;flex-direction:column;gap:6px}
.sg-tip .mons{display:flex;align-items:flex-end;gap:2px}
.sg-doors{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.sg-door{display:flex;flex-direction:column;border-radius:14px;overflow:hidden;border:2px solid rgba(255,255,255,.16);background:rgba(10,8,25,.45);text-align:left;min-width:0;color:var(--di)}
.sg-door .art{height:104px;display:flex;align-items:flex-end;justify-content:center;gap:0;padding-bottom:6px;position:relative;background:radial-gradient(ellipse at 50% 90%,var(--dc),transparent 70%)}
.sg-door .art img{filter:drop-shadow(0 4px 5px rgba(0,0,0,.55))}
.sg-door .typ{position:absolute;left:8px;top:8px}
.sg-door .pips{position:absolute;right:9px;top:10px;display:flex;gap:3px}.sg-door .pips i{width:8px;height:8px;border-radius:50%;background:rgba(255,255,255,.2)}.sg-door .pips i.on{background:var(--dc2)}
.sg-door .bd{padding:10px 12px 12px;display:flex;flex-direction:column;gap:6px}
.sg-door .bd b{font-size:14.5px}.sg-door .rw{display:flex;flex-wrap:wrap;gap:5px}
.sg-door.sel{border-color:#a6d65a;box-shadow:0 0 0 1px #a6d65a,0 0 18px rgba(166,214,90,.35)}
.sg-door .key{font-size:11px;font-weight:900;letter-spacing:.5px;text-transform:uppercase;color:var(--dm)}
.sg-bonus{display:flex;flex-wrap:wrap;gap:6px}
.sg-prog{display:flex;gap:2px;flex:1;min-width:180px}.sg-prog i{flex:1;height:8px;border-radius:3px;background:rgba(255,255,255,.12)}.sg-prog i.d{background:#d8c8ff}.sg-prog i.c{background:var(--dg);box-shadow:0 0 8px var(--dg)}.sg-prog i.p{margin-left:4px}
/* fiches */
.sg-sheet{margin:-4px;padding:18px;display:flex;flex-direction:column;gap:12px}
.sg-offer{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.sg-of{display:flex;flex-direction:column;align-items:center;text-align:center;gap:6px;padding:14px 10px;border-radius:14px;background:rgba(10,8,25,.45);border:2px solid rgba(255,255,255,.14);min-width:0;color:var(--di);font:inherit}
.sg-of .orb{width:62px;height:62px;border-radius:50%;display:grid;place-items:center;background:radial-gradient(circle at 40% 35%,rgba(255,255,255,.35),var(--oc) 60%,transparent 72%);box-shadow:0 0 20px var(--oc)}
.sg-of .orb img{width:40px;height:40px;object-fit:contain}
.sg-of .rk{font-size:10.5px;font-weight:900;letter-spacing:.6px;text-transform:uppercase;color:var(--oc)}
.sg-of b{font-size:14.5px}.sg-of.sel{border-color:var(--dg);box-shadow:0 0 16px rgba(240,195,90,.35)}
.sg-of.sold{border-color:#8ff0a0;background:rgba(143,240,160,.09);box-shadow:0 0 14px rgba(143,240,160,.22);cursor:default}
.sg-of.sold>:not(.sg-got){opacity:.55}
.sg-got{display:inline-flex;align-items:center;gap:4px;padding:3px 10px;border-radius:999px;background:#8ff0a0;color:#0d2a17;font-size:12px;font-weight:900}
.sg-of.just{animation:sgGot .7s ease-out}
@keyframes sgGot{0%{transform:scale(1)}35%{transform:scale(1.06);box-shadow:0 0 28px rgba(143,240,160,.75)}100%{transform:scale(1)}}
@media (prefers-reduced-motion:reduce){.sg-of.just{animation:none}}
.sg-shop{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:10px}
.sg-it{display:flex;flex-direction:column;gap:5px;padding:12px;border-radius:14px;background:rgba(10,8,25,.45);border:2px solid rgba(255,255,255,.14);font-size:13px;min-width:0;color:var(--di)}
.sg-it .top{display:flex;gap:9px;align-items:center}.sg-it .ico{width:42px;height:42px;flex:none;border-radius:12px;display:grid;place-items:center;background:rgba(255,255,255,.07)}
.sg-it .ico img{width:32px;height:32px;object-fit:contain}
.sg-it .rk{font-size:10.5px;font-weight:900;letter-spacing:.5px;text-transform:uppercase;color:var(--dm)}
.sg-it.leg{border-color:rgba(240,195,90,.7);background:linear-gradient(180deg,rgba(240,195,90,.16),transparent 60%),rgba(10,8,25,.45)}.sg-it.leg .rk{color:#f0c35a}
.sg-it.act{border-color:rgba(95,216,208,.65)}.sg-it.act .rk{color:#5fd8d0}.sg-it.sold{opacity:.45}
.sg-it .pr{margin-top:auto;display:flex;justify-content:space-between;align-items:center}
.sg-wave{display:flex;gap:12px;align-items:center;flex-wrap:wrap;padding:12px 16px}
.sg-wv{display:flex;gap:4px}.sg-wv span{width:28px;height:28px;border-radius:9px;display:grid;place-items:center;font-size:12px;font-weight:900;background:rgba(255,255,255,.07);border:1.5px solid rgba(255,255,255,.2)}
.sg-wv span.ok{background:rgba(143,240,160,.22);border-color:#8ff0a0}.sg-wv span.cur{border-color:var(--dg);box-shadow:0 0 10px rgba(240,195,90,.7);color:#ffe2a0}.sg-wv span.v{border-color:#a58bff}
.sg-sum{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.sg-sum div{padding:10px;border-radius:12px;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.1);display:flex;flex-direction:column;gap:2px;font-size:12px;color:var(--dm)}
.sg-sum b{font-size:19px;color:#fff;font-variant-numeric:tabular-nums}
.sg-path{display:flex;flex-wrap:wrap;gap:3px;align-items:center}.sg-path i{width:12px;height:12px;border-radius:50%;border:2px solid var(--c);background:rgba(10,8,25,.6)}
.sg-rank{width:100%;border-collapse:collapse;font-size:13px}.sg-rank td,.sg-rank th{padding:7px 8px;border-bottom:1px solid rgba(255,255,255,.08);text-align:left;white-space:nowrap}
.sg-rank th{font-size:11px;letter-spacing:.5px;text-transform:uppercase;color:var(--dm)}.sg-rank .me td{background:rgba(240,195,90,.12)}.sg-rank .n{font-variant-numeric:tabular-nums;text-align:right}
.sg-rank .hd{display:inline-flex}.sg-rank .hd img{width:26px;height:26px;object-fit:contain;margin-right:-6px}
.sg-tabs{display:inline-flex;padding:3px;border-radius:12px;background:rgba(0,0,0,.25);gap:2px}.sg-tabs button{border:0;background:none;color:var(--dm);font:inherit;font-weight:800;font-size:13px;padding:7px 12px;border-radius:9px}.sg-tabs button.on{background:rgba(255,255,255,.12);color:#fff}
.sg-head{display:flex;flex-wrap:wrap;gap:10px;align-items:center;justify-content:space-between;padding:14px 16px}
@media (max-width:700px){
  .sg-hero{grid-template-columns:1fr;padding:14px 14px 0}.sg-hero .txt{padding-bottom:0}.sg-portal{height:170px}.sg-portal .sg-look{height:118px;width:76px}.sg-portal::before{width:220px;height:160px}
  .sg-ttl{font-size:25px}.sg-ladder{grid-template-columns:repeat(4,minmax(0,1fr))}.sg-grid{grid-template-columns:1fr}
  .sg-doors{grid-template-columns:1fr}.sg-door{flex-direction:row}.sg-door .art{width:118px;height:auto;min-height:112px;flex:none}.sg-door .typ{display:none}.sg-door .art{width:104px;padding:0 2px 8px}.sg-door .art img{width:auto!important;height:auto!important;max-width:40px;max-height:48px}.sg-door .art img:nth-child(2):not(:last-child){max-width:56px;max-height:64px}
  .sg-offer{grid-template-columns:1fr}.sg-of{flex-direction:row;text-align:left}.sg-of .orb{width:52px;height:52px;flex:none}
  .sg-sum{grid-template-columns:repeat(2,minmax(0,1fr))}.sg-shop{grid-template-columns:repeat(2,minmax(0,1fr))}.sg-it .top{flex-direction:column;align-items:flex-start}.sg-tip{position:static;width:auto}
}
/* collection des légendaires (Songe › Légendaires) */
.sg-lgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(118px,1fr));gap:8px}
.sg-lg{position:relative;display:flex;flex-direction:column;align-items:center;gap:4px;text-align:center;padding:12px 6px 9px;border-radius:13px;border:2px solid rgba(255,157,60,.22);background:rgba(10,8,25,.45);min-width:0;color:#efe9ff;font:inherit;cursor:pointer}
.sg-lg .ic{width:54px;height:54px;border-radius:14px;display:grid;place-items:center;background:radial-gradient(circle,rgba(255,157,60,.4),rgba(255,157,60,.05) 65%)}
.sg-lg .ic img{width:42px;height:42px;object-fit:contain;filter:drop-shadow(0 3px 4px rgba(0,0,0,.5))}
.sg-lg b{font-size:12px;line-height:1.2;color:#ffc98a;overflow-wrap:anywhere}
.sg-lg .xs{line-height:1.25}
.sg-lg .lv{position:absolute;left:6px;top:6px;font-size:10px;font-weight:900;padding:1px 5px;border-radius:6px;background:rgba(0,0,0,.45);color:#efe9ff}
.sg-lg .or{position:absolute;right:6px;top:6px;font-size:9px;font-weight:900;padding:1px 5px;border-radius:6px;background:rgba(95,216,208,.2);color:#b5fff8}
.sg-lg .or.d{background:rgba(255,157,60,.2);color:#ffc98a}
.sg-lg.no .ic{background:rgba(255,255,255,.05);box-shadow:0 0 0 2px rgba(255,255,255,.12)}
.sg-lg.no .ic img{filter:brightness(0) opacity(.4)}
.sg-lg.no b{color:#b9afd9}
.sg-lg .lgev i{background:rgba(255,255,255,.18)}.sg-lg .lgev i.on{background:#ff9d3c}
.statl.lgline{color:#a58bff}:root[data-theme="dark"] .statl.lgline{color:#c9b8ff}
@media (max-width:560px){.sg-lgrid{grid-template-columns:repeat(auto-fill,minmax(100px,1fr))}}
.cele-t .lxn.cf{background-image:linear-gradient(90deg,#c9b8ff,#ffffff,#7fe8e0,#ffb35c,#c9b8ff)!important}

/* 0.1.48.2 : chat à six salons. Ligne de titre (Chat, en ligne, réduire), puis les onglets en colonnes égales (icône + nom) ;
   l'événement et Discord tiennent sur une ligne fine. */
.chat .ch-head{flex-direction:column;align-items:stretch;gap:4px;padding:6px 8px}
.chat .ch-top{display:flex;align-items:center;gap:8px;min-width:0}
.chat .ch-ttl{display:flex;align-items:center;gap:6px;font-weight:900;font-size:14px}
.chat .ch-ttl .uico{width:16px;height:16px}
.chat .ch-top .ch-on{margin-left:auto}
.chat .ch-tabs{display:flex;gap:2px}
.chat .ch-tabs .ch-tab{flex:1 1 auto;min-width:0;flex-direction:column;align-items:center;gap:1px;padding:5px 3px;font-size:11.5px;position:relative;overflow:visible}
.chat .ch-tabs .ch-tab > span:not(.n){max-width:100%;overflow:hidden;text-overflow:ellipsis}
.chat .ch-tabs .ch-tab .uico{width:16px;height:16px}
.chat .ch-tabs .ch-tab .n{position:absolute;top:-2px;right:2px;font-size:10px;line-height:15px;padding:0 5px;margin:0}
.chat .ch-strip{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:5px 10px;font-size:12px;border-bottom:1px solid var(--frame);background:rgba(231,196,106,.07)}
.chat .ch-strip .ev{display:flex;align-items:center;gap:6px;min-width:0}
.chat .ch-strip .ev .uico,.chat .ch-strip .ev img{width:16px;height:16px;flex:none}
.chat .ch-strip .ev b{color:var(--gold2)}
.chat .ch-strip .dl{display:inline-flex;align-items:center;gap:5px;font-weight:800;color:#aab2ff;text-decoration:none;white-space:nowrap;flex:none}
.chat .ch-strip .dl svg{width:16px;height:16px}
.chat .ch-strip .dl:hover{text-decoration:underline}

/* ===== 0.1.49 : Boss des mondes (js/wbossui.js) ===== */
.wb-top{display:flex;align-items:flex-end;justify-content:space-between;gap:10px;flex-wrap:wrap;margin:4px 0 12px}
.wb-top h1{font-size:30px;line-height:1.1}
.wb-hero{display:grid;grid-template-columns:200px 1fr 230px;gap:18px;align-items:center;padding:16px 18px;background:radial-gradient(120% 140% at 0% 0%,rgba(120,40,160,.18),transparent 55%),var(--panel)}
.wb-img{width:200px;height:200px;display:grid;place-items:center;border-radius:16px;background:radial-gradient(circle at 50% 60%,rgba(255,200,90,.35),rgba(0,0,0,.08) 70%);border:2px solid var(--frame)}
.wb-img img{height:180px;width:auto;max-width:190px;object-fit:contain;filter:drop-shadow(0 6px 8px rgba(0,0,0,.45))}
.wb-mid{display:flex;flex-direction:column;gap:8px;min-width:0}
.wb-name{font-family:var(--font-title);font-size:34px;line-height:1;color:var(--title);text-shadow:var(--tshadow)}
.wb-hp{position:relative;height:26px;border-radius:999px;background:#3a1512;border:2px solid var(--frame);overflow:hidden}
.wb-hp i{position:absolute;inset:0 auto 0 0;background:linear-gradient(180deg,#ff6a4d,#c0281b);box-shadow:inset 0 2px 0 rgba(255,255,255,.35)}
.wb-hp b{position:absolute;inset:0;display:grid;place-items:center;color:#fff;font-weight:900;font-size:13px;text-shadow:0 1px 2px #000}
.wb-hp .ghost{position:absolute;inset:0 auto 0 0;background:#ffd36a;opacity:.55}
.wb-el{display:inline-flex;align-items:center;gap:5px;font-size:12px;font-weight:800;padding:3px 9px;border-radius:999px;color:#fff}
.wb-el.feu{background:#d0502a}.wb-el.eau{background:#2f78c4}.wb-el.terre{background:#7a5a2a}.wb-el.air{background:#4a9a5a}
.wb-side{display:flex;flex-direction:column;gap:8px;align-items:stretch;text-align:center}
.wb-side .btn{white-space:normal} /* 1.0.12.8 : « Créer un compte pour frapper » passe à la ligne dans la colonne de 230 px (avant : rogné) */
.wb-pips{display:flex;gap:6px;justify-content:center}.wb-pips i{width:16px;height:16px;border-radius:50%;border:2px solid var(--frame);background:var(--panel3)}.wb-pips i.on{background:var(--action);border-color:var(--action2)}
.wb-me{background:var(--panel2);border-radius:12px;padding:8px 10px;font-size:13px;line-height:1.35}
.wb-me b.g{font-family:var(--font-title);font-size:20px;color:#c46b12}
.wb-grid{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(0,1fr);gap:14px;margin-top:14px}
.wb-p{padding:14px 16px}
.wb-p h3{font-size:19px;margin-bottom:8px}
.wb-grades{display:grid;grid-template-columns:repeat(6,1fr);gap:6px}
.wb-gr{display:flex;flex-direction:column;align-items:center;gap:3px;padding:8px 4px;border-radius:12px;background:var(--panel2);border:2px solid transparent;text-align:center;font-size:11px;line-height:1.2}
.wb-gr .L{font-family:var(--font-title);font-size:22px;line-height:1}
.wb-gr img{width:30px;height:30px}
.wb-gr.on{border-color:var(--gold);background:rgba(241,207,110,.2)}
[data-theme="dark"] .wb-gr.on{background:#3a2c14}
.g-SSS{color:#b4357a}.g-SS{color:#8a3fd0}.g-S{color:#c46b12}.g-A{color:#2f78c4}.g-B{color:#3c8a3c}.g-C{color:#7a6a55}
.wb-row{display:flex;align-items:center;gap:10px;padding:7px 4px;border-bottom:1px dashed var(--panel3);font-size:14px}
.wb-row:last-child{border:0}.wb-row .grow b{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:block}.wb-row .n{width:26px;font-weight:900;text-align:center}.wb-row .grow{flex:1;min-width:0}
.wb-row.me{background:rgba(241,207,110,.22);border-radius:10px;outline:2px solid var(--gold)}
[data-theme="dark"] .wb-row.me{background:#3a2c14}
.wb-rot{display:flex;gap:10px;overflow-x:auto;padding-bottom:4px}
.wb-rc{flex:0 0 118px;display:flex;flex-direction:column;align-items:center;gap:4px;padding:8px;border-radius:12px;background:var(--panel2);text-align:center;font-size:12px;line-height:1.25}
.wb-rc img{width:64px;height:64px;object-fit:contain}
.wb-rc.now{outline:3px solid #c0281b}
.wb-rc.mys img{filter:brightness(0) opacity(.45)}
.wb-rc.dead img{filter:grayscale(1) opacity(.6)}
.wb-kill{display:grid;grid-template-columns:auto 1fr;gap:6px 10px;align-items:center;font-size:13px}
.wb-kill img{width:30px;height:30px}
.wb-res{text-align:center;padding:6px 4px}
.wb-res .big{font-family:var(--font-title);font-size:70px;line-height:1}
.wb-res .dmg{font-family:var(--font-title);font-size:26px}
.wb-fights{display:flex;flex-wrap:wrap;gap:6px;justify-content:center;align-items:center;margin:6px 0 4px}
.wb-fights .xs{width:100%}
.wb-note{margin:0 0 8px;padding:8px 10px;border-radius:10px;background:color-mix(in srgb,var(--accent,#9fd84a) 12%,transparent);border:1px solid color-mix(in srgb,var(--accent,#9fd84a) 35%,transparent)}
.wb-res .chest{display:inline-flex;align-items:center;gap:10px;background:var(--panel2);border-radius:14px;padding:10px 14px;margin:8px 0}
.wb-res .chest img{width:46px;height:46px}
@media (max-width:760px){
 .wb-hero{grid-template-columns:96px 1fr;gap:10px;padding:12px}
 .wb-img{width:96px;height:110px}.wb-img img{height:100px;max-width:90px}
 .wb-name{font-size:24px}
 .wb-side{grid-column:1/-1}
 .wb-grid{grid-template-columns:minmax(0,1fr)}
 .wb-grades{grid-template-columns:repeat(3,1fr)}
 .wb-top h1{font-size:24px}
}
.wb-grid>.stack{min-width:0}.wb-hero>*{min-width:0}
.wb-hp .wb-mark{position:absolute;top:0;bottom:0;width:2px;background:rgba(255,255,255,.75)}
.wb-phases{display:flex;gap:6px;flex-wrap:wrap;font-size:12px}.wb-phases span{padding:3px 9px;border-radius:999px;background:var(--panel2);color:var(--muted)}.wb-phases span.on{background:rgba(226,83,59,.25);color:var(--ink);outline:1px solid #e2533b}
.wb-frag{display:inline-flex;align-items:center;gap:6px;margin-top:4px;font-weight:800}.wb-frag img{width:22px;height:22px}
.wb-loot{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}
.wb-it{display:flex;flex-direction:column;align-items:center;gap:4px;padding:8px;border-radius:12px;background:var(--panel2);text-align:center;font-size:12px;line-height:1.25}
.wb-it>img{width:56px;height:56px}
.wb-res .chest>img{width:46px;height:46px}
@media (max-width:760px){.wb-loot{grid-template-columns:repeat(2,minmax(0,1fr))}}
.wbo{position:fixed;inset:0;z-index:55;display:grid;place-items:center;background:radial-gradient(60% 55% at 50% 45%,rgba(150,40,190,.55),rgba(10,4,16,.92) 75%);overflow:hidden}
.wbo::before{content:"";position:absolute;inset:-10%;background:repeating-conic-gradient(from 0deg at 50% 45%,rgba(255,190,90,.10) 0 6deg,transparent 6deg 18deg);animation:wbspin 18s linear infinite}
.wbo-in{position:relative;display:flex;flex-direction:column;align-items:center;gap:10px;text-align:center;padding:16px;max-width:640px}
.wbo-boss{width:200px;height:200px;object-fit:contain;filter:drop-shadow(0 0 30px rgba(220,90,255,.9)) drop-shadow(0 10px 10px rgba(0,0,0,.6));animation:wbshake .25s 6}
.wbo-k{font-weight:900;letter-spacing:2px;text-transform:uppercase;font-size:13px;color:#ffcf6e}
.wbo-t{font-family:var(--font-title);font-size:46px;line-height:1.05;color:#fff;text-shadow:0 0 18px rgba(220,90,255,.9),0 4px 0 rgba(0,0,0,.6)}
.wbo-s{color:#eadcf5;font-size:15px;max-width:44ch}
.wbo-ch{position:absolute;width:46px;height:20px;border:6px solid #b9b2c4;border-radius:12px;box-shadow:0 2px 0 #5a5466,inset 0 2px 0 #fff4}
.wbo-flash{position:absolute;inset:0;background:radial-gradient(circle at 50% 42%,rgba(255,255,255,.55),transparent 35%);pointer-events:none}
.wbo-hp{width:min(420px,80vw);height:16px;border-radius:999px;background:#3a1512;border:2px solid #000;overflow:hidden}.wbo-hp i{display:block;height:100%;width:100%;background:linear-gradient(180deg,#ff6a4d,#c0281b)}
.wbo .row{display:flex;gap:10px;justify-content:center}
@keyframes wbspin{to{transform:rotate(360deg)}}
@keyframes wbshake{0%,100%{transform:translate(0)}25%{transform:translate(-6px,3px)}75%{transform:translate(6px,-3px)}}
@media (prefers-reduced-motion:reduce){.wbo::before,.wbo-boss{animation:none}}
.chat .ann-wb{flex:none;position:relative;display:grid;grid-template-columns:64px 1fr;gap:6px 10px;align-items:center;padding:10px;border-radius:14px;border:2px solid #c45cff;background:radial-gradient(120% 140% at 0 0,rgba(196,92,255,.35),rgba(60,20,80,.25) 60%),var(--panel2);box-shadow:0 0 14px rgba(196,92,255,.55);overflow:hidden;animation:wbglow 1.6s ease-in-out infinite alternate}
.chat .ann-wb img.b{width:64px;height:64px;object-fit:contain;filter:drop-shadow(0 0 8px rgba(220,90,255,.8))}
.chat .ann-wb .k{font-size:10.5px;font-weight:900;letter-spacing:1.2px;text-transform:uppercase;color:#ffcf6e}
.chat .ann-wb .t{font-family:var(--font-title);font-size:18px;line-height:1.1;color:#fff}
.chat .ann-wb .s{grid-column:1/-1;font-size:12.5px;color:var(--ink)}
.chat .ann-wb .hp{grid-column:1/-1;height:9px;border-radius:999px;background:#3a1512;overflow:hidden}.chat .ann-wb .hp i{display:block;height:100%;background:linear-gradient(180deg,#ff6a4d,#c0281b)}
.chat .ann-wb .go{grid-column:1/-1;justify-self:start}
.chat .ann-wb.ph{grid-template-columns:40px 1fr;border-color:#e2533b;box-shadow:0 0 12px rgba(226,83,59,.55);background:radial-gradient(120% 140% at 0 0,rgba(226,83,59,.35),transparent 60%),var(--panel2);animation:none}
.chat .ann-wb.ph img.b{width:40px;height:40px}.chat .ann-wb.ph .t{font-size:15px}
.chat .ann-wb.dead{border-color:#f1cf6e;box-shadow:0 0 16px rgba(241,207,110,.6);background:radial-gradient(120% 140% at 0 0,rgba(241,207,110,.35),transparent 60%),var(--panel2);animation:none}
.chat .ann-wb.dead img.b{filter:grayscale(.6) drop-shadow(0 0 6px rgba(241,207,110,.8));transform:rotate(-12deg)}
.chat .ann-wb .cf{position:absolute;width:6px;height:10px;border-radius:2px;opacity:.9}
.chat .ann-wb .top{grid-column:1/-1;display:flex;gap:6px;flex-wrap:wrap;font-size:12px}
.chat .ann-wb .top span{background:var(--panel3);border-radius:8px;padding:2px 7px}
@keyframes wbglow{from{box-shadow:0 0 8px rgba(196,92,255,.4)}to{box-shadow:0 0 18px rgba(196,92,255,.85)}}
.wb-fi{width:22px;height:22px;vertical-align:middle}.wb-fi.sm{width:18px;height:18px;vertical-align:-4px}
.wb-itb{all:unset;cursor:pointer;display:flex;flex-direction:column;align-items:center;gap:4px}.wb-itb img{width:56px;height:56px}.wb-itb:focus-visible{outline:2px solid var(--gold);border-radius:8px}
.wb-row .grow .xs{display:block}.wb-lg{font-family:var(--font-title);width:40px;text-align:right}
.wb-killed{position:relative;overflow:hidden;margin:0 0 10px;padding:12px;border-radius:14px;border:2px solid #f1cf6e;background:radial-gradient(120% 140% at 0 0,rgba(241,207,110,.35),transparent 60%),var(--panel2)}
.wb-killed .cf,.chat .ann-wb .cf{position:absolute;width:6px;height:10px;border-radius:2px;opacity:.9}
.wbo-ch{transform:rotate(var(--r,0deg))}
.wbo{transition:background .6s}.wbo.calm .wbo-flash{opacity:0;transition:opacity 1s}
.wbo-n{color:#cbb8dc}
.chat .ann-wb.old{animation:none;box-shadow:none;opacity:.85}
.chat .ann-wb .muted{color:var(--muted)}
.wbw-top{display:flex;align-items:center;gap:12px;padding:10px 12px 6px}
.wbw-top>img{width:56px;height:56px;object-fit:contain;filter:drop-shadow(0 0 6px rgba(196,92,255,.7))}
.wbw-top .grow{flex:1;min-width:0;display:flex;flex-direction:column;gap:4px}
.wbw-g{font-family:var(--font-title);font-size:40px;line-height:1;min-width:64px;text-align:center}
.wbw-g.up{animation:wbpop .35s}
@keyframes wbpop{from{transform:scale(1.5)}to{transform:scale(1)}}
#wbbar:empty{display:none}
.updbar.wbbar{align-items:center;border-color:#c45cff;background:linear-gradient(90deg,rgba(196,92,255,.26),rgba(196,92,255,.06))}
.updbar.wbbar>span{flex:1;min-width:0}
.updbar.wbbar img.b{width:38px;height:38px;object-fit:contain;flex:none}
.updbar.wbbar .mini{display:inline-block;width:110px;height:9px;border-radius:999px;background:#3a1512;overflow:hidden;vertical-align:middle;margin:0 4px}.updbar.wbbar .mini i{display:block;height:100%;background:#e2533b}
.updbar.wbbar.xp{border-color:var(--gold);background:linear-gradient(90deg,rgba(241,207,110,.26),rgba(241,207,110,.05))}
.updbar.wbbar .uico{width:30px;height:30px;flex:none}
@media (max-width:640px){.updbar.wbbar{flex-direction:row;flex-wrap:wrap}.updbar.wbbar>span{flex:1 1 60%}.wbo-t{font-size:30px}.wbo-boss{width:140px;height:140px}.wbw-g{font-size:30px;min-width:44px}}
@media (prefers-reduced-motion:reduce){.chat .ann-wb,.wbw-g.up{animation:none}}
/* 0.1.49.2 : bouton Options avec la roue dorée et son nom (PC), roue devant « Options » dans les textes */
.uico.opt-in{width:1.1em;height:1.1em;vertical-align:-.18em;margin-right:.2em}
/* 0.1.50.2 : message épinglé en haut du chat (js/chat.js, pinHtml) */
.chat .ch-pin{flex:none;position:relative;display:grid;grid-template-columns:26px minmax(0,1fr);gap:8px;align-items:start;margin:6px 8px 0;padding:8px 22px 8px 10px;border-radius:12px;border:1.5px solid color-mix(in srgb,var(--gold) 55%,transparent);background:linear-gradient(90deg,color-mix(in srgb,var(--gold) 16%,transparent),color-mix(in srgb,var(--gold) 4%,transparent));font-size:12.5px;line-height:1.35}
.chat .ch-pin .pi{width:26px;height:26px;margin-top:2px}
.chat .ch-pin .pt{min-width:0;overflow-wrap:anywhere}
.chat .ch-pin .pt b{color:var(--gold2)}
.chat .ch-pin .pk{display:block;font-size:10.5px;font-weight:900;letter-spacing:.5px;text-transform:uppercase;color:var(--muted);margin-bottom:1px}
.chat .ch-pin .pf{display:flex;justify-content:flex-end;margin-top:5px}
.chat .ch-pin .px{position:absolute;top:2px;right:4px;border:0;background:none;color:var(--muted);font-size:16px;line-height:1;cursor:pointer;padding:2px 4px}
.chat .ch-pin .px:hover{color:var(--ink)}
/* ===== 0.1.52 — Songe infini : écrans repensés, logos des intensités ===== */
.sgx-top{display:flex;flex-direction:column;gap:10px;margin-bottom:14px}
.sgx-title{display:flex;align-items:center;gap:12px;min-width:0}
.sgx-title h1{margin:0;font-size:28px;line-height:1.05}
.sgx-tt{display:flex;flex-direction:column;gap:2px;min-width:0;flex:1}
.sgx-moon{width:44px;height:44px;flex:none;border-radius:50%;background:radial-gradient(circle at 36% 34%,#fff 0 12%,#d9cbff 30%,#8a6cf0 62%,#3c2c86 100%);box-shadow:0 0 18px rgba(165,139,255,.7),inset -7px -5px 0 rgba(30,20,70,.55)}
.sgx-title .pill{font-size:14px;padding:6px 12px}
.sgx-tabs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;padding:5px;border-radius:14px;background:linear-gradient(180deg,#1e1838,#15112a);border:1.5px solid rgba(184,164,255,.35)}
.sgx-tabs button{display:flex;align-items:center;justify-content:center;gap:8px;padding:10px 8px;border:0;border-radius:10px;background:transparent;color:#b9afd9;font:inherit;font-weight:800;font-size:14px;cursor:pointer;min-width:0}
.sgx-tabs button span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.sgx-tabs button em{font-style:normal;font-size:11px;font-weight:900;padding:1px 7px;border-radius:99px;background:rgba(255,255,255,.12);color:#efe9ff}
.sgx-tabs button[aria-pressed="true"]{background:linear-gradient(180deg,rgba(165,139,255,.45),rgba(95,216,208,.18));color:#fff;box-shadow:inset 0 0 0 1.5px rgba(240,195,90,.75)}
.sgx-tabs button[aria-pressed="true"] em{background:#f0c35a;color:#1b1430}
.sgx-ti{width:22px;height:22px;object-fit:contain}
/* Puits */
.sgx-well{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);gap:0 10px;padding:18px 20px 16px}
.sgx-well-l{display:flex;flex-direction:column;gap:12px;min-width:0}
.sgx-well-r{display:flex;align-items:flex-end;min-width:0}.sgx-well-r .sg-portal{width:100%;height:250px}
.sgx-week{grid-column:1/-1;display:flex;flex-wrap:wrap;gap:6px;margin-top:12px;padding-top:12px;border-top:1px solid rgba(255,255,255,.1)}
.sgx-week .sg-chip .cmed,.sgx-week .sg-chip img{width:18px;height:18px}
.sgx-track{display:flex;align-items:center;gap:0;padding:4px 0}
.sgx-link{flex:1;height:3px;min-width:4px;background:linear-gradient(90deg,rgba(255,255,255,.25),rgba(255,255,255,.1))}
.sgx-gem{display:flex;flex-direction:column;align-items:center;gap:3px;border:0;background:none;padding:0;cursor:pointer;font:inherit;color:#efe9ff;flex:none}
.sgx-gem i{font-style:normal;width:40px;height:40px;border-radius:50%;display:grid;place-items:center;font-size:13px;font-weight:900;color:#140f26;background:radial-gradient(circle at 35% 30%,#fff,var(--gc) 55%,rgba(0,0,0,.4));box-shadow:0 0 12px var(--gc),inset 0 -3px 0 rgba(0,0,0,.25);transition:transform .15s}
.sgx-gem span{font-size:10.5px;font-weight:800;color:#b9afd9;height:13px}
.sgx-gem.done span{color:#8ff0a0}.sgx-gem.next span{color:#f0c35a}
.sgx-gem.lock{opacity:.45;cursor:default}.sgx-gem.lock i{filter:grayscale(.8);box-shadow:none}
.sgx-gem.on i{transform:scale(1.18);outline:3px solid #f0c35a;outline-offset:3px}
.sgx-int{border-radius:14px;padding:12px 14px;background:linear-gradient(135deg,rgba(255,255,255,.08),rgba(10,8,25,.35));border:1.5px solid color-mix(in srgb,var(--gc) 70%,transparent);display:flex;flex-direction:column;gap:10px}
.sgx-int-h{display:flex;gap:10px;align-items:center}.sgx-int-h b{font-size:18px}
.sgx-big{width:38px;height:38px;flex:none;border-radius:50%;display:grid;place-items:center;font-size:13px;font-weight:900;color:#140f26;background:radial-gradient(circle at 35% 30%,#fff,var(--gc) 55%,rgba(0,0,0,.4));box-shadow:0 0 12px var(--gc)}
.sgx-facts{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:6px}
.sgx-facts>span{display:flex;flex-direction:column;gap:2px;padding:8px;border-radius:10px;background:rgba(0,0,0,.22);font-size:11.5px;color:#b9afd9;min-width:0}
.sgx-facts b{font-size:15.5px;color:#fff;font-variant-numeric:tabular-nums;white-space:nowrap}
.sgx-pips{display:flex;gap:2px;align-items:center;height:22px}.sgx-pips i{width:6px;height:14px;border-radius:2px;background:rgba(255,255,255,.15)}.sgx-pips i.on{background:linear-gradient(180deg,#ff9d3c,#ff6f86)}
.sgx-go{display:flex;align-items:center;gap:12px;flex-wrap:wrap}
.sgx-enter{font-size:16px;padding:12px 22px}
.sgx-row2{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(0,1fr);gap:14px;margin-top:14px}
.sgx-row2>:only-child{grid-column:1/-1}
.sgx-how{padding:14px 16px;display:flex;flex-direction:column;gap:10px}
.sgx-how ol{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;counter-reset:st}
.sgx-how li{display:flex;gap:8px;align-items:flex-start;font-size:12px;color:#b9afd9;counter-increment:st;position:relative;min-width:0}
.sgx-how li .sg-ui{width:30px;height:30px;flex:none}
.sgx-how li b{display:block;color:#fff;font-size:13px}
.sgx-how li b::before{content:counter(st) ". ";color:#f0c35a}
.sgx-note{display:flex;gap:12px;align-items:center;justify-content:space-between;padding:12px 16px;margin-bottom:14px;flex-wrap:wrap}
/* en cours */
.sgx-run{display:flex;flex-direction:column}
.sgx-rh{display:flex;align-items:center;gap:10px 14px;flex-wrap:wrap;padding:12px 16px;border-bottom:1px solid rgba(255,255,255,.1)}
.sgx-rt{display:flex;flex-direction:column;min-width:0}.sgx-rt b{font-size:15px}
.sgx-rh .sg-prog{flex:1 1 200px;min-width:160px}
.sgx-stats{display:flex;gap:6px;align-items:center;flex-wrap:wrap}
.sgx-hp{position:relative;display:inline-flex;align-items:center;width:84px;height:22px;border-radius:99px;background:rgba(255,255,255,.1);overflow:hidden;border:1px solid rgba(255,255,255,.16)}
.sgx-hp i{position:absolute;inset:0 auto 0 0;border-radius:99px;opacity:.75}.sgx-hp b{position:relative;width:100%;text-align:center;font-size:12px;color:#fff;text-shadow:0 1px 2px #000}
.sgx-acts{display:flex;gap:6px;align-items:center;margin-left:auto}
.sgx-acts select{padding:5px 8px;border-radius:9px;font-size:12.5px}
.sgx-auto{display:inline-flex;gap:5px;align-items:center;font-size:12.5px;font-weight:800;cursor:pointer}
.sgx-bon{display:flex;flex-wrap:wrap;gap:6px;align-items:center;padding:9px 16px;border-bottom:1px solid rgba(255,255,255,.08);background:rgba(0,0,0,.12)}
.sgx-tot{margin-left:auto}
.sgx-state{display:flex;gap:12px;align-items:center;flex-wrap:wrap;padding:14px 16px}
.sgx-next{padding:12px 16px 16px;display:flex;flex-direction:column;gap:10px}
.sgx-next-h{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.sgx-cd{width:90px;height:5px;border-radius:9px;background:rgba(255,255,255,.12);overflow:hidden;margin-left:auto}.sgx-cd i{display:block;height:100%;width:60%;background:#a6d65a;border-radius:9px}
.sgx-doors.n1{grid-template-columns:minmax(0,1fr)}.sgx-doors.n2{grid-template-columns:repeat(2,minmax(0,1fr))}.sgx-doors.n3{grid-template-columns:repeat(3,minmax(0,1fr))}
.sgx-doors .sg-door{flex-direction:row;cursor:pointer;transition:transform .12s,border-color .12s}
.sgx-doors .sg-door:hover{transform:translateY(-2px);border-color:var(--dc2)}
.sgx-doors .sg-door .art{width:130px;height:auto;min-height:104px;flex:none;padding-bottom:4px}
.sgx-doors .sg-door .art img{max-height:70px;width:auto}
.sgx-doors.n1 .sg-door .art{width:200px}
.sgx-doors .sg-door .typ{top:auto;bottom:6px;left:6px;font-size:10.5px;padding:1px 7px;background:rgba(10,8,25,.75)}
.sgx-doors .sg-door .bd{justify-content:center}
.sgx-mapbox{margin-top:14px}
.sgx-maph{display:flex;gap:10px;align-items:baseline;flex-wrap:wrap;padding:12px 16px 0}
.sgx-mapscroll{overflow-x:auto;padding:6px 8px;scrollbar-width:thin}.sgx-mapscroll svg{max-width:none!important;min-width:1000px}
.sgx-legend{padding:0 16px 12px}.sgx-legend .sg-chip{font-size:11px;padding:2px 8px}
.sgx-cbar{margin-bottom:12px}.sgx-cbar .sgx-rh{border-bottom:0}
.sgx-cbar .sgx-next{padding-top:0}.sgx-cbar .sg-door .art{min-height:84px}.sgx-cbar .sg-door .bd{padding:8px 10px}
/* légendaires */
.sgx-legs{padding:16px;display:flex;flex-direction:column;gap:12px}
.sgx-lgh{display:flex;gap:12px;align-items:flex-end;flex-wrap:wrap;justify-content:space-between}
.sgx-bar{height:8px;border-radius:9px;background:rgba(255,255,255,.12);overflow:hidden;max-width:420px}.sgx-bar i{display:block;height:100%;background:linear-gradient(90deg,#a58bff,#5fd8d0,#ff9d3c);border-radius:9px}
.sgx-rates summary{cursor:pointer;color:#b9afd9}
.sgx-sub{font-size:11px;font-weight:900;letter-spacing:1px;text-transform:uppercase;color:#b9afd9;margin-top:4px}
.sgx-lgos{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:10px}
.sgx-lgo{display:flex;gap:12px;align-items:center;text-align:left;padding:12px;border-radius:14px;background:rgba(10,8,25,.5);border:2px solid transparent;color:#efe9ff;font:inherit;cursor:pointer;min-width:0}
.sgx-lgo .ic{width:58px;height:58px;flex:none;border-radius:14px;display:grid;place-items:center;background:radial-gradient(circle,rgba(255,157,60,.4),rgba(255,157,60,.05) 65%)}
.sgx-lgo .ic img{width:46px;height:46px;object-fit:contain}
.sgx-lgo .bd{display:flex;flex-direction:column;gap:3px;min-width:0}.sgx-lgo .bd b{font-size:15px}
.sgx-lgg{border-radius:12px;background:rgba(0,0,0,.18);border:1px solid rgba(255,255,255,.08)}
.sgx-lgg summary{display:flex;gap:10px;align-items:baseline;padding:10px 12px;cursor:pointer;flex-wrap:wrap}
.sgx-lgl{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:6px;padding:0 8px 8px}
.sgx-lgr{display:flex;gap:10px;align-items:center;text-align:left;padding:7px 9px;border-radius:11px;background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.08);color:#efe9ff;font:inherit;cursor:pointer;min-width:0}
.sgx-lgr:hover{border-color:rgba(255,157,60,.6)}
.sgx-lgr .ic{width:38px;height:38px;flex:none;display:grid;place-items:center;border-radius:10px;background:rgba(255,255,255,.05)}
.sgx-lgr .ic img{width:32px;height:32px;object-fit:contain;filter:brightness(0) invert(.75) opacity(.55)}
.sgx-lgr .bd{display:flex;flex-direction:column;min-width:0;flex:1}.sgx-lgr .bd b{font-size:13px}
.sgx-lgr .bd .xs{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;line-height:1.3}
.sgx-lgr .tg{font-size:9px;font-weight:900;padding:1px 5px;border-radius:6px;background:rgba(95,216,208,.2);color:#b5fff8;align-self:flex-start}.sgx-lgr .tg.d{background:rgba(255,157,60,.2);color:#ffc98a}
.sgx-lgr.far{opacity:.6}
/* marché */
.sgx-need{height:6px;border-radius:9px;background:rgba(255,255,255,.1);overflow:hidden}.sgx-need i{display:block;height:100%;background:#a58bff;border-radius:9px}
@media (max-width:860px){
  .sgx-well{grid-template-columns:1fr;padding:14px}
  .sgx-well-r{display:none}
  .sgx-facts{grid-template-columns:repeat(2,minmax(0,1fr))}.sgx-facts>span:last-child{grid-column:1/-1}
  .sgx-gem i{width:32px;height:32px;font-size:11.5px}.sgx-gem span{font-size:9px}
  .sgx-row2{grid-template-columns:1fr}
  .sgx-how ol{grid-template-columns:repeat(2,minmax(0,1fr))}
  .sgx-enter{width:100%;justify-content:center}
  .sgx-doors.n2,.sgx-doors.n3{grid-template-columns:1fr}
  .sgx-doors .sg-door .art,.sgx-doors.n1 .sg-door .art{width:104px;min-height:92px}
  .sgx-acts{margin-left:0;width:100%}.sgx-acts .btn{margin-left:auto}
  .sgx-rh .sg-prog{order:5;flex-basis:100%}
  .sgx-tabs button{flex-direction:column;gap:2px;font-size:12px;padding:7px 4px}
  .sgx-tabs button em{position:absolute;margin:-30px 0 0 44px}
  .sgx-tabs button{position:relative}
  .sgx-title h1{font-size:23px}.sgx-moon{width:36px;height:36px}
  .sgx-tot{margin-left:0}.sgx-bon .sg-chip .nm{display:none}
  .sgx-lgl{grid-template-columns:1fr}
}
.sgd .lxn.cf,:root[data-theme="emerald"] .sgd .lxn.cf,:root:not([data-theme]) .sgd .lxn.cf{background-image:linear-gradient(90deg,#c9b8ff,#ffffff,#7fe8e0,#ffb35c,#c9b8ff)}
@media (max-width:860px){
  .sgx-tabs button em{position:absolute;margin:0;top:4px;right:6px}
  .sgd .sg-shop{grid-template-columns:1fr}
  .sgd .sg-shop .sg-of{display:grid;grid-template-columns:52px minmax(0,1fr);gap:2px 12px;align-items:center;text-align:left;padding:10px 12px}
  .sgd .sg-shop .sg-of .orb{grid-row:1/span 4;width:52px;height:52px}.sgd .sg-shop .sg-of .orb img{width:34px;height:34px}
  .sgd .sg-shop .sg-of>:not(.orb){grid-column:2;justify-self:start}
  .sgd .sg-it{display:grid;grid-template-columns:44px minmax(0,1fr);gap:4px 10px;align-items:center}
  .sgd .sg-it .top{display:contents}.sgd .sg-it .top .ico{grid-row:1/span 3}
  .sgd .sg-it>.xs,.sgd .sg-it .sgx-need,.sgd .sg-it .pr{grid-column:2}
}
/* logos d'intensité */
.sgx-gem i:has(svg),.sgx-big:has(svg){background:none;box-shadow:none;border-radius:50%}
.sgx-gem i svg,.sgx-big svg{width:100%;height:100%;display:block;overflow:visible}
.sgx-gem i{width:50px;height:50px}.sgx-big{width:48px;height:48px}
.sgx-gem.lock i svg{filter:saturate(.55) brightness(.7)}
@media (max-width:860px){.sgx-gem i{width:38px;height:38px}.sgx-big{width:44px;height:44px}}
.sgd .sg-door .rw .chip,.sgd .sg-door .rw>*{white-space:normal;max-width:100%}
/* emblèmes : l'intensité choisie brille en or, les verrouillées restent lisibles */
.sgx-gem.on i:has(svg){outline:0;transform:scale(1.22);filter:drop-shadow(0 0 7px rgba(240,195,90,.85))}
.sgx-gem.lock:has(svg){opacity:.75}.sgx-gem.lock i svg{filter:saturate(.75) brightness(.72)}
.sgx-gem:has(svg){gap:6px}
/* 0.1.53 « Armes » : coup d'arme */
.wpbox{border:1px solid var(--line);border-radius:12px;padding:10px 12px;margin:4px 0 10px;background:color-mix(in srgb,var(--el-n) 6%,transparent);display:flex;flex-direction:column;gap:4px}
.wph{display:flex;gap:8px;align-items:center;font-size:15px}.wppa{font-weight:700;background:var(--el-e);color:#fff;border-radius:10px;padding:1px 8px;font-size:12px}
.wpl{display:flex;gap:8px;align-items:center;font-size:13.5px}.wpl i{width:10px;height:10px;border-radius:50%;display:inline-block;flex:none}
.wpx{font-size:13px;padding:4px 8px;border-radius:8px;background:color-mix(in srgb,var(--buff) 10%,transparent)}.wpx.on{background:color-mix(in srgb,var(--buff) 22%,transparent)}
.wpest{font-size:13px;border-top:1px dashed var(--line);padding-top:5px;margin-top:2px}
.wptip{margin-top:4px;font-size:12.5px}
.wpbar{display:flex;gap:10px;align-items:center;border:1px dashed var(--line);border-radius:12px;padding:8px 10px;font-size:13px}.wpbar.on{border-style:solid;border-color:var(--buff);background:color-mix(in srgb,var(--buff) 8%,transparent)}
.wpslot{position:relative;width:46px;height:46px;border-radius:10px;border:2px solid var(--c,var(--line));display:grid;place-items:center;background:color-mix(in srgb,var(--c,#888) 15%,transparent);flex:none}.wpslot img{width:38px;height:38px}.wpslot.empty{opacity:.6;font-size:20px}.wpslot .pa{position:absolute;right:-6px;bottom:-6px;background:var(--el-e);color:#fff;border-radius:9px;font-size:11px;padding:0 5px;font-weight:700}
.wpico{width:22px;height:22px;vertical-align:middle}
.sp.wpn{border-style:dashed}.sp.wpn img{width:80%;height:80%;object-fit:contain}
.wpfm .pruns{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px}.wpfm .pruns>*{margin:0;min-width:0}
@media (max-width:600px){.wpfm .pruns{grid-template-columns:repeat(2,minmax(0,1fr))}.wpfm .pfn{flex-wrap:wrap}}
.wpfm .prune{display:flex;flex-direction:column;align-items:flex-start;justify-content:flex-start;gap:3px;text-align:left}.wpfm .prune .rv{font-size:11.5px;order:2}
.spnames>div{min-width:0;overflow:hidden;hyphens:auto;-webkit-hyphens:auto}
/* 0.1.53 : icône devant chaque caractéristique et chaque ressource */
.stli{display:inline-flex;align-items:center;gap:3px;white-space:nowrap;margin-right:10px}
.stli .sico,.setbox .stli .sico{width:18px;height:18px;margin:0;vertical-align:middle}
.restag{white-space:nowrap;margin-right:8px}.restag:last-child{margin-right:0}
.rico{display:inline-block;width:18px;height:18px;object-fit:contain;vertical-align:-4px;margin-right:3px;flex:none}
.restag .uico{width:16px;height:16px;vertical-align:-3px;margin-right:3px}
/* 0.1.52.1 : panel admin › Fiches joueurs (js/fiches.js) */
.adm:has(.fj){container-type:inline-size}
.adm .fj{display:grid;grid-template-columns:minmax(240px,300px) minmax(0,1fr);gap:12px;align-items:start}
.adm .fj-roster{position:sticky;top:70px;max-height:calc(100vh - 90px)}
.adm .fj-list{overflow:auto;min-height:0;flex:1;margin:0 -4px}
.adm .fj-main{display:flex;flex-direction:column;gap:12px;min-width:0}
.adm .fj-who{display:flex;flex-direction:column;gap:1px;min-width:0;flex:1}
.adm .fj-who b{display:flex;gap:6px;align-items:center;flex-wrap:wrap}
.adm .fj-roster .fj-who{flex-direction:row;flex-wrap:wrap;column-gap:6px}
.adm .fj-roster .fj-who .xs{flex-basis:100%}
.adm .fj-roster select{border-radius:8px;border:2px solid var(--frame);background:var(--panel2);color:var(--ink);padding:3px 6px;min-width:0}
.adm .fj-back{display:none}
.adm .fj .fiche{margin:0;padding:0;border:0;grid-template-columns:repeat(auto-fill,minmax(130px,1fr))}
.adm .fj .two{grid-template-columns:repeat(auto-fit,minmax(300px,1fr))}
.adm .fj .kpis{grid-template-columns:repeat(auto-fit,minmax(140px,1fr))}
.adm .fj .fiche div{overflow-wrap:anywhere}
.adm .fj .kpi b{font-size:22px;display:flex;align-items:center;gap:4px}
.adm .fj .kk{width:18px;height:18px}
.adm .fj .ln .kk{width:14px;height:14px;vertical-align:-2px}
.adm .fj-heroes{display:flex;flex-direction:column}
.adm .fj-hero{border-bottom:1px solid var(--line)}.adm .fj-hero:last-child{border-bottom:0}
.adm .fj-hero summary{display:flex;gap:8px;align-items:center;padding:7px 4px;cursor:pointer;list-style:none;font-size:14px}
.adm .fj-hero summary::-webkit-details-marker{display:none}
.adm .fj-hero summary .t{margin-left:auto;font-size:12px;color:var(--muted);white-space:nowrap}
.adm .fj-hero[open] summary{background:var(--panel2);border-radius:8px}
.adm .fj-gear{display:flex;flex-wrap:wrap;gap:6px;padding:8px 4px 10px}
.adm .fj-gear span{display:inline-flex;align-items:center;gap:6px;background:var(--panel2);border-radius:8px;padding:3px 8px 3px 3px;font-size:13px;cursor:pointer}
.adm .fj-gear img{width:26px;height:26px;object-fit:contain}
.adm .fj-gear i{font-style:normal;color:var(--muted);font-size:11px}
.adm .fj-jobs{display:flex;flex-wrap:wrap;gap:6px}
.adm .fj-jobs span{background:var(--panel2);border-radius:8px;padding:4px 10px;font-size:13px}
.adm .fj-jobs b{color:var(--gold2)}
@container (max-width:760px){
  .adm .fj{grid-template-columns:minmax(0,1fr)}
  .adm .fj-roster{position:static;max-height:none}
  .adm .fj.has-sel .fj-roster{display:none}
  .adm .fj.has-sel .fj-back{display:inline-flex}
}
@container (max-width:420px){.adm .fj .fiche{grid-template-columns:repeat(2,minmax(0,1fr))}.adm .fj .kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.adm .fj .two{grid-template-columns:minmax(0,1fr)}}
.wb-row.me .g-C{color:var(--ink)}

/* 0.1.53.3 : portraits des boss des mondes animés (respiration ; plus vite en phase 2 ; aura rouge en phase 3) */
img.wb-an{transform-origin:50% 92%;animation:wbbr 3.2s ease-in-out infinite;will-change:transform}
img.wb-an.wb-p2{animation-duration:2.2s}
img.wb-an.wb-p3{animation:wbp3 1.5s ease-in-out infinite}
.wb-rc.mys img.wb-an{animation-name:wbbrt}
@keyframes wbbr{0%,100%{transform:scale(1,1);filter:drop-shadow(0 4px 5px rgba(0,0,0,.45)) drop-shadow(0 0 2px rgba(200,100,255,.2))}50%{transform:scale(1.025,1.055);filter:drop-shadow(0 4px 5px rgba(0,0,0,.45)) drop-shadow(0 0 9px rgba(200,100,255,.6))}}
@keyframes wbp3{0%,100%{transform:scale(1,1);filter:drop-shadow(0 4px 5px rgba(0,0,0,.45)) drop-shadow(0 0 6px rgba(255,60,40,.55))}50%{transform:scale(1.04,1.07);filter:drop-shadow(0 4px 5px rgba(0,0,0,.45)) drop-shadow(0 0 14px rgba(255,60,40,.95))}}
@keyframes wbbrt{0%,100%{transform:scale(1,1)}50%{transform:scale(1.025,1.055)}}
@media (prefers-reduced-motion:reduce){img.wb-an{animation:none}}
/* 0.1.53.7 : mentions @pseudo dans le chat */
.chat .mt{font-weight:800;color:var(--gold2)}
.chat .mt.me{color:#2a1d05;background:linear-gradient(180deg,var(--gold2),var(--gold));border-radius:6px;padding:0 4px}
.chat .msg.ment{margin:0 -6px;padding:5px 6px;border-radius:10px;background:linear-gradient(90deg,rgba(242,196,75,.22),rgba(242,196,75,.06));box-shadow:inset 3px 0 0 var(--gold)}
.chat .n.at,.chmin .n.at{background:linear-gradient(180deg,var(--gold2),var(--gold));color:#2a1d05}
.chat .ch-foot{position:relative}
.chat .ch-ac{position:absolute;left:8px;right:8px;bottom:calc(100% + 4px);display:flex;flex-wrap:wrap;gap:4px;align-items:center;padding:6px;border-radius:12px;background:var(--panel2);border:2px solid var(--gold);box-shadow:var(--shadow);z-index:2}
.chat .ch-ac[hidden]{display:none}
.chat .ch-ac .hd{font-size:11.5px;font-weight:800;color:var(--muted);margin-right:2px}
.chat .ch-ac button{border:1.5px solid var(--line);border-radius:999px;background:var(--panel);padding:2px 9px;font-weight:800;font-size:13px;cursor:pointer}
.chat .ch-ac button.on,.chat .ch-ac button:hover{border-color:var(--gold);background:var(--panel3);color:var(--gold2)}
.chmenu .at{display:inline-block;width:18px;text-align:center;color:var(--gold2)}
@media (max-width:640px){.chmin .n.at{right:auto;left:-4px}}
/* 0.1.54 : commandes du jour et boutique de la maison */
.cmd{gap:0}
.cmdhead{display:flex;gap:12px;align-items:center;padding:14px 16px 10px;flex-wrap:wrap}
.cmdlogo{width:46px;height:46px;border-radius:14px;display:grid;place-items:center;background:color-mix(in srgb,var(--gold) 22%,var(--panel2));border:2px solid color-mix(in srgb,var(--gold) 55%,transparent)}.cmdlogo .uico{width:30px;height:30px}
.cmdhead h2{margin:0 0 2px}.cmdhead .grow{min-width:220px;flex:1}
.cmdstats{display:flex;gap:8px}.cmdstats div{display:flex;flex-direction:column;align-items:center;background:var(--panel2);border-radius:12px;padding:6px 12px;min-width:84px}.cmdstats b{font-size:17px;color:var(--gold)}.cmdstats span{font-size:11px;color:var(--muted)}
.cmdprog{height:6px;margin:0 16px;border-radius:6px;background:var(--panel2);overflow:hidden}.cmdprog i{display:block;height:100%;background:linear-gradient(90deg,var(--gold),#ffe08a)}
.cmdbar2{display:flex;gap:10px;align-items:center;justify-content:space-between;flex-wrap:wrap;padding:12px 16px}
.cmdbar2 .btn .uico,.cmdbtn .uico{width:18px;height:18px;vertical-align:-4px}
.cmdgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(290px,1fr));gap:10px;padding:0 16px 16px}
.cmdc{--bc:hsl(var(--bh) 55% 52%);background:var(--panel2);border-radius:14px;padding:10px 12px;display:flex;flex-direction:column;gap:8px;border:2px solid transparent;box-shadow:inset 0 3px 0 color-mix(in srgb,var(--bc) 70%,transparent)}
.cmdc.ready{border-color:color-mix(in srgb,var(--action) 70%,transparent);background:color-mix(in srgb,var(--action) 8%,var(--panel2))}
.cmdc.done{opacity:.6}
.cmdtop{display:flex;justify-content:space-between;align-items:center;gap:6px}
.cmdband{--bc:hsl(var(--bh) 55% 52%);font-size:11.5px;font-weight:800;letter-spacing:.4px;padding:2px 8px;border-radius:999px;background:color-mix(in srgb,var(--bc) 25%,transparent);color:hsl(var(--bh) 70% 72%);border:1px solid color-mix(in srgb,var(--bc) 60%,transparent);white-space:nowrap}
.cmdst{font-size:11.5px;color:var(--muted)}.cmdst.go{color:var(--action);font-weight:800}.cmdst.ok{color:var(--good,#5fd08a);font-weight:800}
.cmdmid{display:flex;gap:10px;align-items:center}
.cmdico{width:48px;height:48px;flex:none;border-radius:12px;background:var(--panel);display:grid;place-items:center;border:1px solid var(--line)}.cmdico img{width:40px;height:40px;object-fit:contain}
.cmdname{display:flex;flex-direction:column;min-width:0;flex:1}.cmdname b{line-height:1.2}
.cmdrew{display:flex;flex-direction:column;align-items:flex-end}.cmdrew b{color:var(--gold);font-size:16px}
.cmdbar{position:relative;height:10px;border-radius:6px;background:var(--panel);overflow:hidden}.cmdbar i{position:absolute;top:0;bottom:0;left:0}
.cmdbar .got{background:linear-gradient(90deg,var(--gold),#ffe08a)}.cmdbar .can{background:repeating-linear-gradient(45deg,color-mix(in srgb,var(--action) 70%,transparent) 0 6px,color-mix(in srgb,var(--action) 40%,transparent) 6px 12px)}
.cmdnums{display:flex;justify-content:space-between;gap:6px;flex-wrap:wrap}
.cmdbtn{width:100%;justify-content:center}
.cmdline{display:flex;gap:10px;align-items:center;background:var(--panel);border-radius:12px;padding:8px 10px;border:1px solid color-mix(in srgb,var(--gold) 45%,transparent);flex-wrap:wrap}
.shopgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:10px}
.shopc{display:flex;gap:10px;align-items:center;background:var(--panel2);border-radius:14px;padding:10px;border:2px solid color-mix(in srgb,var(--rc) 35%,transparent);flex-wrap:wrap;position:relative}
.shopc.placed{opacity:.7}
.shopico{width:46px;height:46px;flex:none;border-radius:12px;display:grid;place-items:center;background:color-mix(in srgb,var(--rc) 22%,var(--panel))}.shopico .uico{width:38px;height:38px}
.shopt{display:flex;flex-direction:column;flex:1;min-width:120px}.shopfx{color:var(--action);font-weight:800;font-size:13px}
.shopmiss{width:100%;text-align:right}
.fslot.hvgrow{border:2px dashed color-mix(in srgb,var(--gold) 60%,transparent);background:color-mix(in srgb,var(--gold) 7%,transparent);cursor:pointer;text-align:left}.fslot.hvgrow:disabled{opacity:.6;cursor:default}
.hvplus{width:22px;height:22px;border-radius:50%;display:grid;place-items:center;background:var(--gold);color:#1a1405;font-weight:900}.hvk{font-weight:800;color:var(--gold);white-space:nowrap}
@media (max-width:640px){.cmdstats{width:100%}.cmdstats div{flex:1;min-width:0}.cmdgrid{grid-template-columns:1fr;padding:0 10px 12px}.cmdhead{padding:12px 12px 8px}.cmdprog{margin:0 12px}.cmdbar2{padding:10px 12px}.cmdbar2 .btn{width:100%;justify-content:center}.shopgrid{grid-template-columns:1fr}}
.cmdline .grow{min-width:150px;flex:1}@media (max-width:640px){.cmdline .btn{width:100%;justify-content:center}}
button.cmdico{padding:0;cursor:pointer}
.icmd{position:absolute;left:3px;bottom:2px;line-height:0}.icmd .uico{width:16px;height:16px;filter:drop-shadow(0 0 3px rgba(0,0,0,.8))}
.tag.gold{background:var(--gold);color:#1a1405}
.cmdhead h2 .pill{font-size:12px;vertical-align:3px}
.cmdfold{min-width:34px;justify-content:center}
.cmd.shut .cmdhead{padding-bottom:14px}
.cmdzone{background:none;border:0;padding:0;font:inherit;font-size:12px;color:var(--muted);cursor:pointer;text-align:left;display:inline-flex;gap:4px;align-items:center}.cmdzone .uico{width:14px;height:14px}.cmdzone:hover{color:var(--action);text-decoration:underline}
.cmdc.none .cmdico img{opacity:.75}
.cmddone{display:flex;gap:6px;align-items:center;flex-wrap:wrap;padding:0 16px 14px}
.cmdchip{display:inline-flex;gap:4px;align-items:center;font-size:11.5px;padding:2px 8px 2px 3px;border-radius:999px;background:var(--panel2);border:1px solid hsl(var(--bh) 50% 45% / .6);color:var(--good,#5fd08a)}.cmdchip img{width:20px;height:20px;object-fit:contain}.cmdchip b{color:hsl(var(--bh) 70% 72%);font-size:11px}
.shopc.can{box-shadow:0 0 0 1px color-mix(in srgb,var(--action) 35%,transparent)}.shopc.far .shopico{filter:grayscale(.6);opacity:.8}.shopc.owned{border-color:var(--action)}
@media (max-width:640px){.cmddone{padding:0 12px 12px}.cmd.shut .cmdhead .btn.primary{width:100%;justify-content:center;order:5}}
.cmdhead{position:relative}
@media (max-width:640px){.cmdfold{position:absolute;top:12px;right:12px}.cmdhead .grow{padding-right:40px}}
/* 0.1.55 : « Mes bonus » (Havre-Sac) et Autel des Douze */
.hvsum.two{grid-template-columns:repeat(2,minmax(0,1fr))}
.bonbox{background:var(--panel2);border:1px solid var(--line);border-radius:14px;display:flex;flex-direction:column;gap:12px;padding:10px 14px 12px}
.bonbox>header{display:flex;align-items:center;gap:10px;flex-wrap:wrap;cursor:pointer;user-select:none}
.bonbox>header h3{margin:0;display:flex;align-items:center;gap:6px;font-size:17px}.bonbox>header h3 .uico{width:22px;height:22px}
.bonbox .bsum{display:flex;gap:4px 14px;flex-wrap:wrap;flex:1;justify-content:flex-end;color:var(--muted);margin-left:auto}
.bonbox .chev{transition:transform .2s;margin-left:auto}.bonbox.open .chev{transform:rotate(180deg)}.bonbox.open .bsum{display:none}
.bgrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.bcard{background:var(--panel);border:1px solid var(--line);border-radius:12px;padding:10px 12px;display:flex;flex-direction:column;gap:8px;min-width:0}
.bch{display:flex;align-items:center;gap:8px;font-weight:800}.bch .uico{width:24px;height:24px}.bch b.num{font-size:20px}
.bbar{position:relative;height:14px;border-radius:7px;background:rgba(255,255,255,.07);overflow:visible}
.bbar .bseg{position:absolute;top:0;bottom:0;box-shadow:inset -1px 0 0 rgba(0,0,0,.35)}.bbar .bseg:first-of-type{border-radius:7px 0 0 7px}
.bbar .block{position:absolute;top:0;bottom:0;border-radius:0 7px 7px 0;background:repeating-linear-gradient(90deg,rgba(255,255,255,.13) 0 2px,transparent 2px 6px)}
.bbar .bover{position:absolute;top:0;bottom:0;border-radius:0 7px 7px 0;background:repeating-linear-gradient(135deg,rgba(224,87,58,.9) 0 4px,rgba(224,87,58,.35) 4px 8px)}
.bbar .bcap{position:absolute;top:-4px;bottom:-4px;width:3px;margin-left:-1.5px;border-radius:2px;background:var(--gold2);box-shadow:0 0 0 1px rgba(0,0,0,.5)}
.bstat{display:flex;justify-content:space-between;gap:6px;flex-wrap:wrap}
.bko{color:#ff8a6b;font-weight:700}
.bleg,.bextra{display:flex;flex-wrap:wrap;gap:5px}
.bchip{display:inline-flex;align-items:center;gap:5px;font-size:12px;padding:2px 8px;border-radius:999px;background:rgba(255,255,255,.05);border:1px solid var(--line);white-space:nowrap}
.bchip i{width:8px;height:8px;border-radius:50%}.bchip b{color:var(--ink)}
.bchip.off{opacity:.5;border-style:dashed}.bchip.off i{border:1px solid var(--muted)}
.bextra{align-items:center}
.altar{display:flex;align-items:center;gap:12px;flex-wrap:wrap;background:var(--panel);border:1px solid var(--line);border-radius:12px;padding:10px 12px}
.altar .grow{flex:1 1 220px;min-width:0;display:flex;flex-direction:column;gap:4px}.altar .rico .uico{width:30px;height:30px}
@media (max-width:900px){.bgrid{grid-template-columns:1fr}.bcard{gap:6px}}
@media (max-width:640px){.altar .btn{width:100%}.bonbox{padding:10px}}
@media (max-width:640px){.bchip{font-size:11.5px;padding:1px 7px}}

/* 0.1.57 « Affichage plus clair » */
/* barre du haut : plus de logo (il est dans le menu), tout tient sur une ligne */
.status .brand{display:none}
.status .ic-btn[data-act="search"]{margin-left:auto}.status .ic-btn.ic-bug{margin-left:auto}.status .ic-bug+.ic-btn[data-act="search"]{margin-left:0}
/* une seule ligne de pastilles : objectifs suivis, événement, boss des mondes, protecteur */
.topchips{display:flex;align-items:center;gap:6px;flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none;margin:-7px 0 9px;padding:3px 2px}
.topchips::-webkit-scrollbar{display:none}
.topchips:not(:has(.tchip)){display:none}
.topchips>#objs,.topchips>#updbar,.topchips #wbbar,.topchips #jpbar{display:contents!important}
.topchips>:not(#objs):not(#updbar){display:none}
/* 1.0.4.7 « Pastilles du haut » : toutes les pastilles ont la même forme (pastille ronde colorée + titre + détail + jauge, action, ✕) */
.tchip{--tc:var(--gold);display:inline-flex;align-items:center;gap:6px;height:36px;padding:0 12px 0 4px;border-radius:999px;background:linear-gradient(180deg,color-mix(in srgb,var(--tc) 13%,var(--panel2)),var(--panel2));border:1.5px solid color-mix(in srgb,var(--tc) 55%,transparent);font-size:12px;line-height:1;white-space:nowrap;flex:0 1 auto;min-width:0;box-shadow:0 2px 4px rgba(0,0,0,.25)}
.tchip>*{flex:none}.tchip>.tc-t{flex:0 1 auto;display:flex;gap:4px;align-items:baseline}.tc-t>b{flex:none}.tc-t>.tc-d{min-width:0;overflow:hidden;text-overflow:ellipsis}
.tchip:has(>.tc-act:last-child,>.tc-x:last-child){padding-right:5px}
.tchip[data-act]{cursor:pointer;transition:border-color .15s,transform .15s}.tchip[data-act]:hover{border-color:var(--tc);transform:translateY(-1px)}
.tc-ico{width:28px;height:28px;border-radius:50%;display:grid;place-items:center;flex:none;background:radial-gradient(circle at 50% 35%,color-mix(in srgb,var(--tc) 40%,transparent),color-mix(in srgb,var(--tc) 12%,transparent));box-shadow:inset 0 0 0 1.5px color-mix(in srgb,var(--tc) 70%,transparent)}
.tc-ico .uico,.tc-ico svg{width:18px;height:18px}.tc-ico img{width:24px;height:24px;object-fit:contain}
.tc-t{min-width:0;overflow:hidden}.tc-t b{font-weight:800;color:var(--ink)}
.tc-d{color:var(--muted);font-weight:600}
.tc-s{display:none;font-weight:800;color:var(--ink)}
.tc-bar{width:42px;height:6px;border-radius:4px;background:rgba(0,0,0,.45);overflow:hidden;flex:none}.tc-bar i{display:block;height:100%;border-radius:4px;background:var(--tc)}
.tc-v{font-size:11.5px;font-weight:800;color:var(--muted)}
.tc-act{display:inline-flex;align-items:center;height:26px;padding:0 11px;border-radius:999px;border:0;font:inherit;font-weight:800;font-size:12px;cursor:pointer;background:linear-gradient(180deg,#d6f27e,#8cc63f);color:#13200a;text-decoration:none}
.tc-act.ghost{background:rgba(255,255,255,.1);color:var(--ink)}.tc-act[disabled]{opacity:.5;cursor:default}
.tc-x{width:24px;height:24px;flex:none;display:grid;place-items:center;padding:0;border:0;border-radius:50%;background:rgba(255,255,255,.08);color:var(--muted);font-size:11px;font-weight:900;cursor:pointer;margin-left:-2px}
.tc-x:hover{background:rgba(226,83,59,.3);color:#fff}
.tchip .tc-act+.tc-x{margin-left:-3px}
.k-quest{--tc:#ffb95c}.k-pin{--tc:#e7c46a}.k-done{--tc:#3fb35d}.k-ev{--tc:#f1cf6e}.k-bonus{--tc:#9fe36a}.k-boss{--tc:#c45cff}.k-prot{--tc:#7ee06a}.k-sys{--tc:#6ab7ff}
.tchip.tc-dof>.tc-t{flex:none} /* 1.0.32.7 : quête de Dofus suivie, son nom reste lisible */
.k-boss .tc-bar i{background:linear-gradient(90deg,#e2533b,#ff8a5c)}
/* 1.0.30.5 « Compteur du Jackpot » : pastille du pot, dorée et lumineuse les 5 dernières minutes avant le tirage */
.k-jack{--tc:#f0c35a}.k-jack .tc-t b{white-space:nowrap}
.tchip.k-jack.hot{background:linear-gradient(90deg,#f0c35a,#ffe3a0);border-color:#ffe3a0;animation:jpGlow 1.6s ease-in-out infinite}
.tchip.k-jack.hot .tc-t b,.tchip.k-jack.hot .tc-d,.tchip.k-jack.hot .tc-s{color:#2a1d05}
@keyframes jpGlow{0%,100%{box-shadow:0 0 0 2px rgba(255,216,77,.25),0 0 10px rgba(255,216,77,.45)}50%{box-shadow:0 0 0 3px rgba(255,216,77,.4),0 0 20px rgba(255,216,77,.8)}}
@media (prefers-reduced-motion:reduce){.tchip.k-jack.hot{animation:none;box-shadow:0 0 0 3px rgba(255,216,77,.35),0 0 16px rgba(255,216,77,.6)}}
.annbar .tc-x{margin-left:auto}
@media (max-width:640px){
  /* téléphone : pastilles réduites (pastille + chiffre clé), elles tiennent sur une ligne ; toucher ouvre la page ou le détail */
  .topchips{-webkit-overflow-scrolling:touch;margin:-5px 0 7px;gap:5px}
  .tchip{height:32px;gap:4px;padding:0 9px 0 3px;min-width:0;flex:none;font-size:11.5px}
  .tc-ico{width:25px;height:25px}.tc-ico .uico,.tc-ico svg{width:16px;height:16px}.tc-ico img{width:22px;height:22px}
  .tchip.has-s .tc-t,.tchip .tc-d,.tchip .tc-x,.tchip.k-boss .tc-act{display:none}
  .tchip.has-s .tc-s{display:inline}
  .tchip .tc-t,.tchip .tc-bar{display:none}
  .tchip .tc-v{font-size:11.5px;color:var(--ink)}
  .tchip:has(>.tc-act:last-child,>.tc-x:last-child){padding-right:9px}
  .tchip:not(.k-boss):has(>.tc-act){padding-right:4px}
}
/* notifications : une seule à la fois, fine, en haut sous la barre (Options › Affichage › Notifications « En bas » garde l'ancienne place) */
body:not(.toast-bot):not(.toast-top) .toasts{top:calc(var(--sth,60px) + 8px);bottom:auto}
body:not(.toast-bot) .toasts .toast:not(:last-child){display:none}
body:not(.toast-bot) .toasts .toast{padding:6px 14px;font-size:13px}
@media (max-width:640px){
  .chmin{width:44px;height:44px;bottom:calc(var(--navh) + 10px);right:10px}
  .chmin .uico{width:21px;height:21px}
  body:has(.chmin) .app{padding-bottom:calc(var(--navh) + 72px)}
  /* téléphone : barre du haut compacte, le sablier n'affiche que la vitesse choisie (un appui la fait tourner) */
  .status{gap:4px;padding:6px 8px;justify-content:space-between;margin-left:-6px;margin-right:-6px}
  .status .it{gap:3px;font-size:13px}
  .status .sabpill{gap:3px;padding-left:6px}
  .status .ic-btn[data-act="search"],.status .ic-btn.ic-bug{margin-left:0}
  .status .sabpill .seg button[aria-pressed="false"]{display:none}
  .status .sabpill .seg button{padding:2px 7px}
  .status .flame{padding:1px 6px}
  .status .ic-btn{padding:4px 5px}
  .status #onPill>span:not(.dot){display:none}
  /* combat : cible, suivre mon niveau, itinérante et idoles rangés dans « Réglages » */
  .combathead .cset{display:none}
  .combathead #csub{display:none}
  .combathead h1{font-size:21px}
  .combathead{margin-bottom:8px}
  .combathead .row{gap:6px}
  /* titres et marges plus compacts */
  .app{padding-left:10px;padding-right:10px}
  #main h1{font-size:22px}
  .pagehead{margin:0 0 8px}
  .hero-banner h1{font-size:24px}
}
.csetbtn{display:none}
@media (max-width:640px){.csetbtn{display:inline-flex}}
.csetsheet{display:flex;flex-direction:column;align-items:flex-start;gap:10px;margin:10px 0 14px}
/* 0.1.55.2 « Sorts plus clairs » : barre en deux groupes, raisons des tours sautés, aide */
.spgrp{display:flex;flex-direction:column;gap:6px}.spgl{font-size:12px;color:var(--muted)}.spgl b{color:var(--ink)}
.spgrp.atk .spbar{box-shadow:inset 0 0 0 2px color-mix(in srgb,var(--action) 45%,var(--line))}
.spwhy{font-size:12.5px;padding:5px 10px;border-radius:10px;display:block;background:color-mix(in srgb,var(--gold) 20%,transparent);color:var(--ink)}
.sptn.why .tn{color:var(--muted)}
.wcast img{border-radius:6px}
.sphow{border-radius:12px;background:var(--panel2);box-shadow:inset 0 0 0 1px var(--line);padding:8px 12px}.sphow summary{cursor:pointer;font-weight:800;font-size:13.5px}
.sphs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:8px}@media (max-width:600px){.sphs{grid-template-columns:1fr}}
.sph{display:flex;gap:8px;align-items:flex-start}.sph .k{flex:none;width:22px;height:22px;border-radius:50%;background:var(--frame);color:#fff7e3;font-weight:900;font-size:12px;display:grid;place-items:center}
.spgrp .spbar{display:flex;flex-wrap:wrap;gap:10px 8px}.spgrp .spslotw{width:58px}
.sphs{grid-template-columns:1fr !important;gap:8px}
/* 1.0 : écran de lancement */
.launch10{text-align:center;display:flex;flex-direction:column;gap:12px;align-items:center}
.launch10 .l10-logo{width:96px;height:auto;filter:drop-shadow(0 6px 18px rgba(0,0,0,.45))}
.launch10 .l10-v{font-family:Georgia,serif;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--gold,#f2c75a);font-size:15px}
.launch10 h2{margin:0}
.launch10 .l10-gift{display:flex;gap:12px;align-items:center;text-align:left;width:100%;padding:10px 12px;border-radius:12px;background:rgba(242,199,90,.08);border:1px solid rgba(242,199,90,.35)}
.launch10 .l10-gift.race{background:rgba(196,32,47,.08);border-color:rgba(224,56,74,.4)}
.launch10 .l10-gift>img{width:96px;height:auto;flex:none}
.launch10 .l10-gift b{display:block;margin-bottom:2px}
.launch10 .l10-list{text-align:left;width:100%;margin:0;padding-left:20px}
.launch10 .l10-btns{justify-content:center;gap:8px;flex-wrap:wrap}
@media (max-width:480px){.launch10 .l10-gift>img{width:72px}}
/* 1.0.1 « Encadré de chasse » : zone en titre, 4 tuiles, dernier combat, têtes sur une ligne avec barre d'XP, boutons-icônes au téléphone */
.ac-hunt{min-width:min(100%,420px)}
.ac-hunt>.xs.muted{display:block;letter-spacing:.02em}
.ac-zt{display:flex;flex-wrap:wrap;align-items:center;gap:4px 8px;margin:1px 0 0}
.ac-zl{font-family:var(--font-body);font-size:12px;color:var(--muted);font-weight:600}
.ac-kt{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;margin-top:8px}
.ac-kt .k{background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.1);border-radius:10px;padding:5px 8px;display:grid;line-height:1.15;min-width:0}
.ac-kt .k b{font-size:15px;color:var(--gold2);display:flex;align-items:center;gap:4px;white-space:nowrap}
.ac-kt .k b .uico,.ac-kt .k b svg{width:15px;height:15px;flex:none}
.ac-kt .k span{font-size:11px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ac-kt .k-kamas b{color:#ffd76a}.ac-kt .k-win b{color:#9ff07a}
.ac-kt .k-dg b{color:#ffb98a}.ac-kt .k-dust b{color:#bfe3ff}
.ac-lf{margin-top:8px;padding-top:6px;border-top:1px solid rgba(255,255,255,.1)}
.ac-lf .plus{color:#9ff07a}.ac-lf .minus{color:#ff8a7a}
.ac-x{position:absolute;left:12%;right:12%;bottom:-8px;height:4px;border-radius:3px;background:rgba(0,0,0,.55);overflow:hidden;pointer-events:none}
.ac-x i{display:block;height:100%;background:linear-gradient(90deg,#7fd3ff,#b9f0ff)}
.ac-h .ac-x~.ac-lv,.ac-h:has(.ac-x) .ac-lv{bottom:-4px}
.ac-heads{padding-bottom:10px}
.ac-l>.row .btn.primary{justify-content:center}
@media (max-width:700px){
  .ac-l,.ac-hunt{width:100%;min-width:0}
  .ac-l>.row{width:100%;flex-wrap:nowrap}
  .ac-l>.row .btn.primary{flex:1}
  .ac-l>.row .btn.ac-ib{width:46px;padding-inline:0;justify-content:center;flex:none}
  .ac-l>.row .btn.ac-ib .lb{display:none}
  .ac-l>.row .btn.ac-ib .uico{display:inline-block;width:22px;height:22px;margin:0}
  .ac-kt{gap:4px}
  .ac-kt .k{padding:4px 6px}
  .ac-kt .k b{font-size:13.5px;gap:3px}
  .ac-kt .k b .uico,.ac-kt .k b svg{width:13px;height:13px}
  .ac-kt .k span{font-size:10px}
  .ac-kt .hide-sm,.cdgrate .cdg-res{display:none}
  .ac-heads{flex-wrap:nowrap;overflow:visible;gap:4px;justify-content:space-between;width:100%;padding:4px 0 12px}
  .ac-h{flex:1 1 0;min-width:0;max-width:46px}
  .ac-h .head{width:100%;height:auto;aspect-ratio:1}
}

/* 1.0.4 : statistiques de combat */
.fst-top{display:flex;justify-content:flex-end;margin-bottom:6px}
.fst-since{display:flex;align-items:center;gap:6px;flex-wrap:wrap;margin-bottom:6px}
.fst-since .btn{margin-left:auto}
.fst{display:grid;gap:4px;margin:6px 0 10px}
.fst-hd,.fst-r{display:grid;grid-template-columns:minmax(0,1fr) repeat(4,56px);gap:4px;align-items:center}
.fst-hd{font-size:11px;color:var(--muted);font-weight:700;padding:0 8px}
.fst-hd span:not(:first-child),.fst-r>span.num{text-align:right}
.fst-r{background:var(--panel2);border-radius:10px;padding:6px 8px 4px;font-size:13px;position:relative}
.fst-r.mvp{box-shadow:inset 0 0 0 1px var(--gold2)}
.fst-n{display:flex;align-items:center;gap:6px;min-width:0}
.fst-n .head{width:24px;height:24px;flex:none}
.fst-n b{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.fst-mvp{color:var(--gold2);display:inline-flex;flex:none}.fst-mvp .uico{width:15px;height:15px}
.fst-r .num.top{color:var(--gold2);font-weight:800}
.fst-r .num.z{color:var(--muted);opacity:.6}
.fst-bar{grid-column:1/-1;display:flex;align-items:center;gap:6px;height:12px}
.fst-bar>i{display:block;height:4px;border-radius:3px;background:linear-gradient(90deg,var(--gold2),var(--action));flex:none;max-width:calc(100% - 44px)}
.fst-bar em{font-style:normal;font-size:10px;color:var(--muted)}
.sheet .fst{margin-top:10px}
.hrow .hst{display:inline-flex;vertical-align:-2px;color:var(--gold2)}.hrow .hst .uico{width:14px;height:14px}
.ac-lfs{margin-left:6px;border:1px solid rgba(255,255,255,.25);background:rgba(0,0,0,.18);color:inherit;border-radius:999px;padding:1px 8px;font:inherit;font-weight:700;cursor:pointer;display:inline-flex;align-items:center;gap:4px;vertical-align:middle}
.ac-lfs .uico{width:13px;height:13px}
@media (max-width:420px){.fst-hd,.fst-r{grid-template-columns:minmax(0,1fr) repeat(4,48px);gap:3px}.fst-r{font-size:12px;padding:6px 6px 4px}.fst-hd{padding:0 6px;font-size:10px}.fst-n .head{width:20px;height:20px}}

/* 1.0.5 « Course en direct » : onglet Classements › Course, pastille du haut, carte dorée du chat */
.rc-head{display:flex;gap:14px;align-items:center;padding:14px 16px;border-radius:16px;border:1.5px solid rgba(242,196,75,.6);background:linear-gradient(135deg,rgba(242,196,75,.16),rgba(var(--glw),.07))}
.rc-head img{width:60px;height:60px;flex:none;filter:drop-shadow(0 2px 6px rgba(242,196,75,.35))}
.rc-head .grow{display:flex;flex-direction:column;gap:4px;min-width:0}.rc-head b{font-size:17px}
.rc-left{display:flex;flex-direction:column;align-items:center;padding:6px 14px;border-radius:12px;background:rgba(242,196,75,.16);border:1px solid rgba(242,196,75,.4);flex:none}
.rc-left b{font-size:28px;line-height:1.05;color:#f2c44b;font-variant-numeric:tabular-nums}.rc-left small{font-size:11px;font-weight:800;color:var(--muted);white-space:nowrap}
.rc-slots{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px;margin-top:10px}
.rc-slot{display:grid;grid-template-columns:22px 32px minmax(0,1fr) auto;gap:6px;align-items:center;padding:8px;border-radius:12px;border:1.5px dashed var(--line);background:none;color:var(--muted);font:inherit;text-align:left;min-height:54px}
.rc-slot:not(.got){grid-template-columns:22px minmax(0,1fr)}
.rc-slot.next{border-color:rgba(242,196,75,.55);color:var(--ink);animation:rcPulse 2.4s ease-in-out infinite}
@keyframes rcPulse{50%{background:rgba(242,196,75,.08)}}
.rc-slot.got{border:1.5px solid rgba(242,196,75,.5);background:rgba(242,196,75,.07);color:var(--ink);cursor:pointer}
.rc-slot.got:hover{background:rgba(242,196,75,.14)}
.rc-slot.p1{border-color:#f2c44b;background:linear-gradient(135deg,rgba(242,196,75,.24),rgba(242,196,75,.06))}
.rc-slot.mine{box-shadow:0 0 0 2px rgba(var(--glw),.75)}
.rc-slot .rk{font-weight:900;text-align:center;font-variant-numeric:tabular-nums}.rc-slot.got .rk{color:#f2c44b}
.rc-slot .nm{font-weight:800;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:13px}
.rc-slot .nm small{display:block;font-weight:600;color:var(--muted);font-size:11px}
.rc-slot .uico{width:20px;height:20px}.rc-slot .cm{transform:scale(.9)}
.rc-slots.end .rc-slot{min-height:64px}
.rc-h{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin:16px 0 2px}.rc-h b{font-size:15px}.rc-h .uico{width:22px;height:22px}
.lbr.rc-run{grid-template-columns:34px 34px minmax(0,1fr) minmax(80px,180px) 58px}
.rc-bar{height:10px;border-radius:6px;background:rgba(var(--glw),.12);overflow:hidden}
.rc-bar i{display:block;height:100%;border-radius:6px;background:linear-gradient(90deg,rgb(var(--glw)),#f2c44b)}
.lbr.rc-run .sc small{color:var(--muted);font-weight:700;font-size:11px}
.lbr .nm small.inl{display:inline;font-size:11px}
.k-race{--tc:#f2c44b}
.ann.race{border:1.5px solid rgba(242,196,75,.7);background:linear-gradient(135deg,rgba(242,196,75,.22),rgba(var(--glw),.06))}
.ann.race small{display:block;font-size:11.5px;opacity:.85;margin-top:2px}
@media (max-width:640px){
  .rc-head{display:grid;grid-template-columns:46px minmax(0,1fr);gap:10px;padding:12px}
  .rc-head img{width:46px;height:46px}
  .rc-head .rc-left{grid-column:1/3;flex-direction:row;gap:8px;justify-content:center;padding:4px 12px}.rc-head .rc-left b{font-size:22px}
  .rc-slots{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}
  .rc-slot{min-height:46px;padding:6px 8px;grid-template-columns:18px 28px minmax(0,1fr)}
  .rc-slot:not(.got){grid-template-columns:18px minmax(0,1fr)}
  .rc-slot>.uico{display:none}
  .lbr.rc-run{grid-template-columns:26px 30px minmax(0,1fr) 46px;row-gap:4px}
  .lbr.rc-run .rc-bar{grid-column:3/5;grid-row:2;height:7px}
}

/* 1.0.7 : mode automatique du Kolizéum */
.kz-auto{margin-bottom:14px}
.kz-auto.run{border-color:var(--gold);box-shadow:0 0 0 1px rgba(var(--glw),.25),var(--shadow)}
.kza-head{display:flex;flex-wrap:wrap;align-items:flex-start;justify-content:space-between;gap:10px;padding:12px 14px;background:var(--panel2);border-bottom:2px solid var(--frame)}
.kza-ttl{display:flex;gap:10px;align-items:flex-start;min-width:0}.kza-ttl h2{margin:0;font-size:20px;white-space:nowrap}.kza-ttl .uico,.kza-ttl img{width:30px;height:30px;flex:none}
.kza-cut{flex:none;font-size:12px;font-weight:800;padding:3px 10px;border-radius:999px;border:1px dashed var(--muted);color:var(--muted);cursor:help}
.kza-live{flex:none;display:inline-flex;align-items:center;gap:6px;font-size:12px;font-weight:900;padding:3px 10px;border-radius:999px;background:rgba(var(--glw),.15);color:var(--gold)}
.kza-live i{width:8px;height:8px;border-radius:50%;background:var(--gold);animation:kzaP 1.2s infinite}
@keyframes kzaP{50%{opacity:.25}}
.kza-body{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:16px;align-items:center;padding:14px}
.kza-body.col{grid-template-columns:minmax(0,1fr);gap:12px}
.kza-set{display:grid;gap:10px;min-width:0}
.kza-row{display:flex;align-items:center;gap:10px;flex-wrap:wrap;min-width:0}
.kza-lbl{font-weight:800;font-size:13.5px;min-width:70px}
.kza-row .seg small{opacity:.7;font-weight:700}
.kza-warn{flex-wrap:nowrap;align-items:flex-start}.kza-warn .gi,.kza-warn svg{flex:none}
.kza-sw{font:inherit;color:inherit;text-align:left;background:none;border:0;padding:0;width:100%;cursor:pointer;flex-wrap:nowrap;align-items:flex-start}.kza-sw>span:last-child{min-width:0;font-size:13.5px}
.sw{flex:none;width:38px;height:22px;border-radius:999px;background:var(--panel3);border:2px solid var(--line);position:relative;margin-top:1px}
.sw i{position:absolute;top:2px;left:2px;width:14px;height:14px;border-radius:50%;background:var(--muted);transition:left .15s}
.sw.on{background:var(--action);border-color:var(--action)}.sw.on i{left:18px;background:var(--action-ink)}
.kza-go{display:flex;flex-direction:column;align-items:center;gap:6px;text-align:center}
.kza-start{font-size:17px;padding:12px 26px;min-width:210px;justify-content:center}
img.kza-ic{width:22px;height:22px;vertical-align:-5px}
.kza-prog{display:flex;flex-direction:column;gap:8px}
.kza-pips{display:flex;gap:5px;flex-wrap:wrap}
.kza-pips i{width:28px;height:28px;border-radius:8px;display:grid;place-items:center;font-style:normal;font-weight:900;font-size:14px;background:var(--panel3);border:2px solid var(--line);color:transparent}
.kza-pips i.w{background:rgba(126,224,106,.18);border-color:#5fbf55;color:#8fe36a}
.kza-pips i.l{background:rgba(255,107,107,.15);border-color:#d55;color:#ff7b7b}
.kza-pips i.cur{border-color:var(--gold);animation:kzaP 1.2s infinite}
.kza-tiles{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}
.kza-tiles>div{background:var(--panel2);border-radius:12px;padding:8px 10px;display:flex;flex-direction:column;gap:2px;min-width:0}
.kza-tiles span{font-size:12px;color:var(--muted);font-weight:700}.kza-tiles b{font-size:18px;white-space:nowrap}
.kza-tiles small{font-size:12.5px;font-weight:900}.kz-auto .up,.kzachip .up{color:#8fe36a}.kz-auto .down,.kzachip .down{color:#ff7b7b}
.kza-why{display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding:10px 12px;border-radius:12px;background:rgba(255,107,107,.08);border:1px solid rgba(255,107,107,.35);font-size:13.5px}
.kza-why.ok{background:var(--panel2);border-color:var(--line)}
.kza-why>span{flex:1 1 260px;min-width:0}
.kza-btns{gap:8px;flex-wrap:wrap;align-items:center}
.kza-stop{border-color:var(--danger);color:var(--danger)}
.kza-det{display:grid;gap:6px}
.kza-li{display:flex;align-items:center;gap:10px;padding:6px 10px;border-radius:10px;background:var(--panel2);font-size:13.5px;border-left:4px solid #5fbf55}
.kza-li.l{border-left-color:#d55}.kza-li .grow{flex:1;min-width:0}
.topchips .updbar.kzachip{order:-1;border-color:rgba(var(--glw),.6);background:rgba(var(--glw),.1);cursor:pointer}
/* 1.0.7.2 : même forme que les autres pastilles du haut, sur une seule ligne (avant : 3 lignes vers 1080 px) */
.topchips .updbar.kzachip{display:inline-flex;flex-direction:row;align-items:center;gap:6px;height:36px;margin:0;padding:0 12px 0 6px;border-radius:999px;font-size:12px;line-height:1;white-space:nowrap;flex:none}
.topchips .updbar.kzachip .ico{width:24px;height:24px}
@media (max-width:640px){.topchips .updbar.kzachip{height:32px;gap:4px;padding:0 9px 0 4px;font-size:11.5px}.topchips .updbar.kzachip .kzac-p{display:none}}
.kzac-p{display:inline-flex;gap:2px}.kzac-p i{width:6px;height:14px;border-radius:2px;background:#5fbf55}.kzac-p i.l{background:#d55}
@media (max-width:640px){.kza-body{grid-template-columns:minmax(0,1fr)}.kza-go{align-items:stretch}.kza-start{min-width:0;width:100%}.kza-tiles{grid-template-columns:repeat(2,minmax(0,1fr))}.kza-pips i{width:24px;height:24px}.kza-ttl .xs{display:none}.kzac-p{display:none}}

/* 1.0.7.12 : Encyclopédie (lieux, chasse, fiche du monstre, familles) */
.encwhere{display:flex;flex-wrap:wrap;gap:4px}
.encgo{display:inline-flex;align-items:center;gap:4px;max-width:100%;border:1px solid var(--line);background:var(--panel2,rgba(255,255,255,.04));border-radius:999px;padding:2px 9px;font:inherit;font-size:12px;font-weight:800;color:var(--gold2);cursor:pointer;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.encgo:hover{border-color:var(--gold2)}
.encgo .uico,.encgo svg,.encgo img{width:13px;height:13px;flex:none}
.encgo .encn{min-width:0;overflow:hidden;text-overflow:ellipsis}
.encgo.locked{color:var(--muted);cursor:help;font-weight:700;border-style:dashed}
button.encgo.locked{cursor:pointer}
.encgo.hunt{flex:none;background:var(--gold);color:#13200a;border-color:var(--gold)}
.encpl{display:inline-flex;gap:3px;max-width:100%;min-width:0}.encpl .encgo:first-child{min-width:0;flex:0 1 auto}
.encwhy .uico,.encwhy svg{width:12px;height:12px;vertical-align:-2px}
.enccard .encimg,.enccard .encname{border:0;background:none;padding:0;font:inherit;color:inherit;cursor:pointer;text-align:left}
.enccard .encimg{display:contents}.enccard .encname:hover{color:var(--gold2)}
.dropbtn{border:0;background:none;padding:0;font:inherit;color:inherit;cursor:pointer}
.encsheet .es-h{display:flex;gap:14px;align-items:center}.encsheet .es-img{width:84px;height:84px}
.encsheet .es-where{display:block;padding:0;background:none;border:0}
.encsheet .dropli{display:flex;gap:8px;align-items:center;width:100%;border:0;background:none;font:inherit;color:inherit;text-align:left;padding:5px 0;border-bottom:1px solid var(--line);cursor:pointer}
.encsheet .row.wrap{flex-wrap:wrap;gap:5px}
button.famrow{width:100%;font:inherit;color:inherit;cursor:pointer;text-align:left}
.famwrap.open{grid-column:1/-1}
.famopen{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:6px;padding:8px 2px}
.famm{display:flex;gap:8px;align-items:flex-start;background:var(--panel2);border-radius:10px;padding:6px 8px}.famm .fm-img{width:40px;height:40px;flex:none}
.famm .grow{display:flex;flex-direction:column;gap:4px;min-width:0}
@media (max-width:760px){.encgo{font-size:11px;padding:2px 7px}.encgo .xs{display:none}.famopen{grid-template-columns:1fr}.encsheet .es-img{width:64px;height:64px}}
.enccard{align-content:start}
/* 1.0.8 : classement des métiers */
.jlb-tiles{display:grid;grid-template-columns:repeat(8,minmax(0,1fr));gap:8px}
.jlb-tiles button{display:flex;flex-direction:column;align-items:center;gap:2px;padding:8px 4px 7px;border-radius:12px;border:1.5px solid var(--line);background:rgba(var(--glw),.04);color:var(--ink);font:inherit;text-align:center;cursor:pointer;min-width:0}
.jlb-tiles button:hover{background:rgba(var(--glw),.09)}
.jlb-tiles button img,.jlb-tiles button .uico{width:32px;height:32px;object-fit:contain}
.jlb-tiles button b{font-size:13px;line-height:1.15;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.jlb-tiles button small{font-size:11px;color:var(--muted);font-weight:700;white-space:nowrap}
.jlb-tiles button[aria-pressed="true"]{border-color:rgb(var(--glw));background:rgba(var(--glw),.15);box-shadow:0 0 0 1px rgba(var(--glw),.4)}
.jlb-tiles button.all{border-color:rgba(242,196,75,.55)}.jlb-tiles button.all[aria-pressed="true"]{border-color:#f2c44b;background:rgba(242,196,75,.14);box-shadow:0 0 0 1px rgba(242,196,75,.45)}
.lbr .nm small.lbsub{display:flex;align-items:center;flex-wrap:wrap;gap:0 2px}
.jlb-bar{display:inline-block;width:70px;height:6px;border-radius:4px;background:rgba(var(--glw),.15);overflow:hidden;margin-right:6px}.jlb-bar i{display:block;height:100%;background:rgb(var(--glw))}
.jlb-mini{display:inline-flex;align-items:center;gap:2px;margin-right:8px;font-weight:800;color:var(--ink)}.jlb-mini img{width:16px;height:16px}
.jlb-prof{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:6px}.jlb-prof span{display:flex;flex-direction:column;align-items:center;padding:6px 2px;border-radius:10px;border:1px solid var(--line);font-size:11px;min-width:0}
.jlb-prof span img{width:28px;height:28px}.jlb-prof span b{font-size:14px}.jlb-prof span small{color:var(--muted);font-size:10px;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.jlb-prof span.max{border-color:rgba(242,196,75,.7);background:rgba(242,196,75,.1)}
.jlb-go{margin-left:6px;white-space:nowrap}
.pod .sc{white-space:nowrap}
.lbr.mine{background:rgba(var(--glw),.10);border-radius:10px}
@media (max-width:900px){.jlb-tiles{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media (max-width:640px){.jlb-tiles{gap:6px}.jlb-tiles button{padding:6px 3px}.jlb-tiles button img,.jlb-tiles button .uico{width:26px;height:26px}.jlb-tiles button b{font-size:11px}.jlb-tiles button small{font-size:10px}
  .jlb-tiles .hide-sm{display:none}.jlb-prof{grid-template-columns:repeat(4,minmax(0,1fr))}.jlb-go{margin-left:0}}
/* 1.0.9 : classement des métiers : Joueurs / Guildes, Artisanat / Récolte / Forgemagie, semaine, objectif sur sa ligne */
.jlb-segs{display:flex;flex-wrap:wrap;gap:8px}
.jlb-tiles.n6{grid-template-columns:repeat(6,minmax(0,1fr))}.jlb-tiles.n7{grid-template-columns:repeat(7,minmax(0,1fr))}.jlb-tiles .sm-only,.jlb-segs .sm-only{display:none}
.jlb-goal{display:inline-flex;align-items:center;gap:4px;margin-left:8px;padding:1px 8px;border-radius:999px;background:rgba(242,196,75,.16);color:#f2c44b;font-weight:800}.jlb-goal .uico{width:14px;height:14px}
.lbr.jlb-g{cursor:default}
.pjh .jlb-go{padding:2px 9px;font-size:12px;min-height:0}.pjh .jlb-go .uico{width:15px;height:15px}
.jlb-podgoal{display:flex;justify-content:center;margin:-2px 0 10px}.jlb-podgoal .jlb-goal{margin:0}
.lbr .jlb-goalrow{grid-column:3/-1;margin-top:-6px;font-size:12px}.lbr .jlb-goalrow .jlb-goal{margin:0}
@media (max-width:640px){.jlb-segs{gap:6px}.jlb-segs .seg button{font-size:12.5px;padding:4px 10px}.jlb-tiles.n6{grid-template-columns:repeat(3,minmax(0,1fr))}.jlb-tiles.n7{grid-template-columns:repeat(4,minmax(0,1fr))}
  .jlb-tiles .sm-only,.jlb-segs .sm-only{display:inline}.jlb-segs .hide-sm{display:none}.lbr .jlb-goalrow{grid-column:2/-1;font-size:11.5px}.jlb-goal{padding:1px 7px}}

/* 1.0.8.3 : onglet Équipements de l'Encyclopédie */
.enckpis.k6{grid-template-columns:repeat(6,minmax(0,1fr))}
.eqtools{flex-wrap:wrap;gap:6px}.eqtools .seg button{white-space:nowrap}
.mons.enc.eqgrid{grid-template-columns:repeat(auto-fill,minmax(230px,1fr))}
.eqcard{display:flex;flex-direction:column;align-items:stretch;gap:6px;padding:9px 10px;text-align:left}.eqcard.own{border-color:rgba(95,191,85,.55)}
.eqcard .eq-hd{display:flex;gap:9px;align-items:center;border:0;background:none;padding:0;font:inherit;color:inherit;text-align:left;cursor:pointer}
.eqcard .eq-hd .grow{display:flex;flex-direction:column;min-width:0}.eqcard .eq-hd:hover b{color:var(--gold2)}
.eqcard .icobox.lg{width:48px;height:48px;flex:none}.eqcard .icobox.lg img{width:40px;height:40px}
.eqsts{display:flex;flex-wrap:wrap;justify-content:flex-start;gap:4px 8px;font-size:12px;font-weight:700}.eqst{display:inline-flex;align-items:center;gap:2px}.eqst .sico{width:15px;height:15px}
@media (max-width:760px){.enckpis.k6 .enckpi.archi{grid-column:auto}.eqtools .seg{flex-wrap:wrap;border-radius:16px}.enckpis.k6{grid-template-columns:repeat(2,minmax(0,1fr))}.mons.enc.eqgrid{grid-template-columns:1fr}.eqhead{display:flex}}
/* 1.0.8.7 : liste des donjons par zone, recherche et filtres */
.dgsearch{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.dgq{flex:1 1 220px;display:flex;align-items:center;gap:6px;padding:0 10px;border-radius:999px;background:var(--panel2);border:2px solid var(--frame);min-width:0}
.dgq .uico,.dgq svg{width:16px;height:16px;flex:none;opacity:.7}
.dgq input{flex:1;min-width:0;border:0;background:transparent;padding:7px 0;color:var(--ink);font:inherit;outline:none}
.dgtools{display:flex;flex-direction:column;gap:6px}.dgtools[hidden]{display:none}
.dgtrow{display:flex;gap:6px;align-items:center;flex-wrap:wrap}.dgtrow .seg{flex-wrap:wrap}.dgtrow .seg button{white-space:nowrap}
.dglab{min-width:52px;font-weight:800}
.dgtog{border:2px solid var(--frame);background:var(--panel2);color:var(--ink);font-weight:800;font-size:12.5px;padding:4px 10px;border-radius:999px;cursor:pointer;white-space:nowrap}
.dgtog[aria-pressed="true"]{background:var(--gold);color:#120d1c;border-color:var(--gold)}
:root[data-theme="emerald"] .dgtog[aria-pressed="true"]{background:linear-gradient(180deg,#d6f27e,#8cc63f);color:#13200a;border-color:#8cc63f}
.dgzone .dggrid{padding:0 12px 12px}
.dgzone .zonefold:disabled{cursor:default;opacity:1}
.dgfoldall{margin:-2px 0 -4px}
@media (max-width:700px){.dglab{display:none}.dgtrow .seg{border-radius:14px}.dgtrow .seg button{padding:4px 8px}.dgsearch .seg{flex:none}}
/* 1.0.13 « Interface plus nette » */
/* barre du haut sur une ligne (PC) : Options et Admin en icônes, la zone se raccourcit si la place manque */
@media (min-width:601px){
  .status{gap:4px 12px}
  .status .st-where{min-width:0;flex:0 1 auto}
  .status .st-wt{max-width:220px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
}
.status .admbtn{padding-left:8px;padding-right:8px}
/* annonce du serveur sur une ligne (PC et téléphone), « Lire la suite » l'ouvre en entier (annClip dans chat.js) */
.annbar{padding:5px 8px 5px 12px;font-size:13.5px;gap:8px}
.annbar .uico{width:20px;height:20px}
.annbar .grow{display:flex;align-items:center;gap:8px;min-width:0}
.annbar .grow .atx{flex:1 1 auto;min-width:0;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:1;line-clamp:1;overflow:hidden;word-break:break-word}
.annbar .grow .lnk{flex:none}
.annbar.more .grow{display:block}.annbar.more .grow .atx{display:inline;-webkit-line-clamp:unset}.annbar.more .grow .lnk{margin-left:6px}
.annbar .tc-x{flex:none}
.annbar.clip .grow .lnk,.annbar.more .grow .lnk{display:inline}
/* menu de gauche plus serré : les 22 pages tiennent sur un écran de 800 px */
@media (min-width:860px){
  #nav .sn-side{gap:0;padding-top:6px}
  #nav .sn-side button{min-height:27px;font-size:13.5px;padding:0 8px}
  #nav .sn-side .med{width:24px;height:24px}#nav .sn-side .med img{width:17px;height:17px}
  #nav .sn-g{padding:4px 10px 0;font-size:10px}
  #nav .sn-side .sn-fight{min-height:40px}
}
/* menu du téléphone : 4 tuiles par ligne, tout sur un écran */
.ns-tiles{grid-template-columns:repeat(4,minmax(0,1fr));gap:5px}
.ns-tiles button{padding:6px 2px;font-size:10.5px;gap:3px;border-radius:10px}
.ns-tiles .med{width:30px;height:30px}.ns-tiles .med img{width:22px;height:22px}
.navsheet h3{margin:8px 2px 4px}
/* onglets du téléphone sur une ligne qui défile (position gardée par tabsKeep dans ui.js) */
@media (max-width:640px){
  .subtabs,.catchips{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none;-webkit-mask-image:linear-gradient(90deg,#000 88%,transparent);mask-image:linear-gradient(90deg,#000 88%,transparent);padding-right:28px}
  .subtabs::-webkit-scrollbar,.catchips::-webkit-scrollbar{display:none}
  .subtabs>*,.catchips>*{flex:none}
}
/* comparaison d'objet : verdict + gains / pertes en deux colonnes */
.cmpbox{display:grid;gap:4px;font-size:12px}
.cmpbox .cm-v{font-weight:900;font-size:12.5px}
.cmpbox .cm-v.up{color:var(--good)}.cmpbox .cm-v.down{color:var(--danger)}
.cmpbox .cm-cols{display:grid;grid-template-columns:repeat(2,minmax(0,max-content));gap:1px 18px}
.cmpbox .cm-h{font-size:10px;font-weight:900;letter-spacing:.8px;text-transform:uppercase;color:var(--muted)}
.cmpbox .cm-c{display:grid;align-content:start}
.cmpbox .cm-more{font-size:11px;color:var(--muted)}
/* bulle du chat (PC) : juste « Chat » et les non lus */
@media (min-width:860px){
  .chmin{padding:6px 14px;border-radius:999px;border-color:var(--gold);max-width:none}
  .chmin .last,.chmin .ev{display:none}
}

/* ---------- 1.0.14 : cadres sur les portraits + cadres spéciaux ----------
   Le portrait rond d'un héros (.head) porte data-fr : métal du niveau (bois1 … krosmoz), « feu » s'il est rené,
   ou le cadre spécial choisi dans Apparence › Cadre (E.SFRAMES). Les variables --m1/--m2/--m3 viennent du bloc 0.1.27. */
[data-fr="pionnier"]{--m1:#2f6b1a;--m2:#c8f57a;--m3:#173a0c;--gem:#9bd84a;--glow:rgba(155,216,74,.5);--ring:conic-gradient(#c8f57a,#2f6b1a 15%,#7cc243 30%,#173a0c 45%,#c8f57a 60%,#2f6b1a 75%,#7cc243 90%,#c8f57a)}
[data-fr="stasis"]{--m1:#2433a8;--m2:#7fe0ff;--m3:#120d4a;--gem:#7fe0ff;--glow:rgba(110,200,255,.6);--ring:conic-gradient(from var(--ang),#7fe0ff,#2433a8,#9b6bff,#120d4a,#7fe0ff)}
[data-fr="ames"]{--m1:#5a2a9a;--m2:#d6a8ff;--m3:#1e0b3a;--gem:#c77dff;--glow:rgba(170,90,255,.55);--ring:conic-gradient(#d6a8ff,#5a2a9a 20%,#1e0b3a 40%,#c77dff 60%,#1e0b3a 80%,#d6a8ff)}
[data-fr="dofus"]{--m1:#b8a98a;--m2:#fff6dc;--m3:#5a4d36;--gem:#3fe08a;--glow:rgba(255,240,200,.35);--ring:conic-gradient(#2fbf6a 0 60deg,#d23a3a 0 120deg,#3fc8d8 0 180deg,#e08a2a 0 240deg,#f5f1e6 0 300deg,#2a2a2a 0)}
[data-fr="align"]{--m1:#2f5fb8;--m2:#ffffff;--m3:#c9a54a;--gem:#fff;--glow:rgba(150,190,255,.55);--ring:conic-gradient(#fff,#2f5fb8 20%,#c9a54a 35%,#fff 50%,#2f5fb8 70%,#c9a54a 85%,#fff)}
[data-fr="align"][data-side="brakmar"]{--m1:#8a1414;--m2:#ff6a4a;--m3:#1a0606;--gem:#ff4a2a;--glow:rgba(255,80,50,.55);--ring:conic-gradient(#ff6a4a,#8a1414 20%,#1a0606 35%,#ff6a4a 50%,#8a1414 70%,#1a0606 85%,#ff6a4a)}
[data-fr="koli"]{--m1:#a8761a;--m2:#ffd36a;--m3:#7a1a12;--gem:#e8304a;--glow:rgba(255,190,80,.45);--ring:repeating-conic-gradient(#ffd36a 0 15deg,#7a1a12 0 30deg)}
[data-fr="songe"]{--m1:#2a2f7a;--m2:#ffb8e8;--m3:#0e1030;--gem:#5fd8d0;--glow:rgba(255,160,230,.5);--ring:conic-gradient(from var(--ang),#5fd8d0,#2a2f7a,#ffb8e8,#0e1030,#5fd8d0)}
[data-fr="guilde"]{--gcol:#c9962e;--m1:color-mix(in srgb,var(--gcol) 70%,#000);--m2:color-mix(in srgb,var(--gcol) 45%,#fff);--m3:#1a1206;--gem:#ffd36a;--glow:color-mix(in srgb,var(--gcol) 55%,transparent);--ring:conic-gradient(var(--gcol),#ffd36a 15%,var(--gcol) 30%,#1a1206 45%,var(--gcol) 60%,#ffd36a 75%,var(--gcol))}
[data-fr="halouine"]{--m1:#e0761a;--m2:#ffb347;--m3:#140a04;--gem:#ff7a1a;--glow:rgba(255,130,30,.55);--ring:repeating-conic-gradient(#ff8a1a 0 22.5deg,#1a0d04 0 45deg)}
/* anneau du portrait */
.head[data-fr]{border:3px solid transparent;background:linear-gradient(var(--cc),var(--cc)) padding-box,var(--ring,conic-gradient(from 210deg,var(--m2),var(--m1) 25%,var(--m3) 50%,var(--m1) 75%,var(--m2))) border-box;box-shadow:0 0 0 1px #000a}
.head.lg[data-fr]{border-width:4px}
.head[data-fr$="2"]{box-shadow:0 0 0 1px #000a,0 0 0 2.5px var(--m2),0 0 0 3.5px #000a}
.head[data-fr="krosmoz"]{--ring:conic-gradient(from var(--ang),#c77dff,#4fd1e0,#f0c35a,#ff7ac8,#c77dff);box-shadow:0 0 0 1px #000a,0 0 8px rgba(199,125,255,.7);animation:spin 6s linear infinite}
.head[data-fr="feu"]{--ring:conic-gradient(from var(--ang),#ffc35a,#d9541e,#7a2a0e,#ff9a3d,#ffc35a);box-shadow:0 0 0 1px #000a,0 0 8px rgba(255,140,60,.7);animation:spin 5s linear infinite}
.head:is([data-fr="pionnier"],[data-fr="stasis"],[data-fr="ames"],[data-fr="dofus"],[data-fr="align"],[data-fr="koli"],[data-fr="songe"],[data-fr="guilde"],[data-fr="halouine"]){box-shadow:0 0 0 1px #000a,0 0 8px var(--glow)}
.head:is([data-fr="stasis"],[data-fr="songe"]){animation:spin 8s linear infinite}
.hb-por .head.lg[data-fr]{box-shadow:0 0 0 1px #000c,0 0 16px var(--glow,color-mix(in srgb,var(--cc) 45%,transparent))}
.hb-por .head.lg[data-fr$="2"]{box-shadow:0 0 0 1px #000c,0 0 0 3px var(--m2),0 0 0 4px #000a,0 0 16px var(--glow,transparent)}
.hb-emb{position:absolute;top:-4px;right:-6px;z-index:2;width:26px;height:26px;border-radius:50%;display:grid;place-items:center;font-style:normal;font-size:14px;line-height:1;
  background:radial-gradient(circle at 40% 35%,var(--m2),var(--m1));color:var(--m3);border:1.5px solid #000a;box-shadow:0 2px 6px #0009,0 0 8px var(--glow)}
.hb-fr{border:0;cursor:pointer;font:inherit;font-size:11px;font-weight:800}
.hb-fr[data-fr]{background:linear-gradient(180deg,var(--m2),color-mix(in srgb,var(--m2) 50%,var(--m1)));color:var(--m3);box-shadow:inset 0 0 0 1px #0005}
.hb-fr[data-fr="krosmoz"]{background:linear-gradient(90deg,#c77dff,#4fd1e0,#f0c35a);color:#1a0f2e}
.hb-fr[data-fr="feu"]{--m1:#d9541e;--m2:#ffc35a;--m3:#3a1206}
/* choix du cadre (Apparence) */
.frpick{display:grid;grid-template-columns:repeat(auto-fill,minmax(112px,1fr));gap:8px}
.frit{display:flex;flex-direction:column;align-items:center;gap:5px;padding:10px 6px;border-radius:12px;border:2px solid var(--line);background:var(--panel2);color:var(--ink);font:inherit;font-size:12px;font-weight:800;text-align:center;cursor:pointer}
.frit .head.lg{width:48px;height:48px}
.frit.on{border-color:var(--gold);box-shadow:0 0 0 2px rgba(var(--glw),.35)}
.frit.lock{opacity:.6}.frit.lock .head{filter:grayscale(.75)}
.frit small{font-weight:600;color:var(--muted);font-size:10.5px;line-height:1.25}
@media (prefers-reduced-motion:reduce){.head[data-fr]{animation:none}}
.reduced .head[data-fr]{animation:none}
.ac-h .head[data-fr]{border-width:4px}
/* 1.0.14.2 « Menu de la poussière » : pastille cliquable et petite fenêtre accrochée dessous (pleine largeur au téléphone) */
.status .dustchip{gap:5px;background:rgba(0,0,0,.22);border:1.5px solid rgba(255,255,255,.22);border-radius:999px;padding:2px 9px 2px 6px;color:inherit;font:inherit;cursor:pointer}
.status .dustchip:hover,.status .dustchip[aria-expanded="true"]{border-color:var(--gold)}
@media (max-width:600px){.status .dustchip{padding:1px 7px 1px 4px;gap:3px}.status .dustchip .uico{width:16px;height:16px}}
.dm-pop{position:fixed;z-index:85;width:470px;max-height:calc(100vh - 90px);overflow:auto;background:var(--panel);border:3px solid var(--frame);border-radius:16px;padding:14px;box-shadow:var(--shadow);display:flex;flex-direction:column;gap:12px;color:var(--ink)}
@media (max-width:699px){.dm-pop{left:8px;right:8px;width:auto;max-height:calc(100dvh - var(--sth,60px) - var(--navh,64px) - 16px)}}
.dm-head{display:flex;align-items:center;gap:10px}.dm-head .grow{display:flex;flex-direction:column;line-height:1.2}
.dm-head .ic-btn{background:var(--panel2);border:1px solid var(--line);border-radius:10px;padding:4px 9px;cursor:pointer;color:inherit}
.dm-t{font-family:var(--font-title);font-weight:400;font-size:19px;color:var(--title)}
.dm-big{width:38px;height:38px}.dm-n{font-size:22px;color:var(--title)}
.dm-sec{display:flex;flex-direction:column;gap:6px;border-top:1px solid var(--line);padding-top:10px}
.dm-sec h3{display:flex;align-items:center;gap:6px;font-size:15px}.dm-sec h3 .uico{width:16px;height:16px}
.dm-li{display:flex;align-items:center;gap:10px;padding:6px 8px;border-radius:10px;background:var(--panel2)}
.dm-li>.uico,.dm-li>img{width:26px;height:26px;flex:none}.dm-li .grow{display:flex;flex-direction:column;line-height:1.25}
.dm-q{white-space:nowrap;font-size:13px;color:var(--title)}
.dm-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}
@media (max-width:699px){.dm-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
.dm-sc{display:flex;align-items:center;gap:6px;text-align:left;padding:6px 7px;border-radius:10px;border:2px solid var(--frame2);background:var(--panel2);color:inherit;font:inherit;cursor:pointer;min-width:0}
.dm-sc:hover{border-color:var(--gold)}
.dm-sc>span{display:flex;flex-direction:column;line-height:1.2;min-width:0}.dm-sc .sico{width:22px;height:22px;flex:none}
.dm-sc.off{opacity:.5}.dm-i{width:13px;height:13px;display:inline;vertical-align:-2px}
/* 1.0.16 « Passifs des Dofus » : encadré du passif (couleur de sa famille), panneau sous le héros, choix du Dofus, Quêtes › Dofus */
.fam-att{--fc:#e2654c}.fam-def{--fc:#4f94e3}.fam-soin{--fc:#36b878}.fam-ctrl{--fc:#a06ee8}.fam-gain{--fc:#d9a646}
.dofp{display:grid;gap:6px;margin:6px 0;padding:10px 12px;border-radius:12px;border:2px solid color-mix(in srgb,var(--gold) 70%,transparent);border-left:5px solid var(--fc,var(--gold));background:linear-gradient(135deg,color-mix(in srgb,var(--gold) 14%,var(--panel2)),var(--panel2) 70%);box-shadow:0 0 14px color-mix(in srgb,var(--gold) 20%,transparent)}
.dofp-h{display:flex;align-items:center;gap:8px}.dofp-fi{width:18px;height:18px;object-fit:contain;flex:none;color:var(--fc)}.dofp-h .dofp-fi{width:28px;height:28px;padding:5px;border-radius:8px;background:color-mix(in srgb,var(--fc) 22%,transparent);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--fc) 55%,transparent)}
.dofp-nm{display:grid;line-height:1.15;min-width:0}.dofp-nm small{font-size:10.5px;font-weight:800;letter-spacing:.5px;text-transform:uppercase;color:var(--gold)}.dofp-nm b{font-size:14.5px;color:var(--ink)}
.dofp-f{margin-left:auto;font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.4px;color:var(--fc);border:1.5px solid color-mix(in srgb,var(--fc) 60%,transparent);background:color-mix(in srgb,var(--fc) 12%,transparent);border-radius:999px;padding:1px 8px;white-space:nowrap}
.dofp-t{font-size:13.5px;font-weight:600;color:var(--ink);line-height:1.35}.dofp-v{color:var(--gold);font-weight:900;white-space:nowrap}
.dofp-eveil{font-size:11px;font-weight:800;color:#1a1206;background:var(--gold);border-radius:999px;padding:0 7px;white-space:nowrap}
.dofp-chips{display:flex;flex-wrap:wrap;gap:5px}.dofp-chip{display:inline-flex;align-items:center;gap:4px;font-size:11.5px;font-weight:700;color:var(--muted);background:color-mix(in srgb,var(--ink) 6%,transparent);border:1px solid var(--frame);border-radius:999px;padding:1px 8px;white-space:nowrap}.dofp-chip svg{width:12px;height:12px}.dofp-chip .dofp-fi{width:14px;height:14px}
.dofp-chip.ok{color:var(--good,#2e9d5b);border-color:color-mix(in srgb,var(--good,#2e9d5b) 50%,transparent);background:color-mix(in srgb,var(--good,#2e9d5b) 10%,transparent)}.dofp-chip.dim{opacity:.8}
.dofp-chip[class*="fam-"]{color:var(--ink);border-color:color-mix(in srgb,var(--fc) 55%,transparent);background:color-mix(in srgb,var(--fc) 12%,transparent)}
.dofp-n{font-size:11.5px;color:var(--muted);line-height:1.35}
.dofp.mini{padding:7px 10px;margin:2px 0 6px;gap:4px}.dofp.mini .dofp-t{font-size:12.5px}.dofp.mini .dofp-nm b{font-size:13.5px}
.dofp-badge{position:absolute;right:-6px;bottom:-6px;width:20px;height:20px;border-radius:50%;display:grid;place-items:center;background:var(--panel);border:2px solid var(--fc,var(--gold));box-shadow:0 0 6px color-mix(in srgb,var(--fc) 70%,transparent)}.dofp-badge .dofp-fi{width:12px;height:12px;stroke-width:3}
.dofp-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:8px}
.dofp-card{display:grid;gap:6px;align-content:start;text-align:left;font:inherit;color:inherit;cursor:pointer;padding:9px 10px;border-radius:12px;border:1.5px solid var(--frame);border-top:4px solid var(--fc,var(--frame));background:linear-gradient(180deg,color-mix(in srgb,var(--fc,var(--gold)) 10%,var(--panel2)),var(--panel2) 60%)}
.dofp-card:hover,.dofp-card.on{border-color:var(--gold);box-shadow:0 0 0 2px color-mix(in srgb,var(--gold) 35%,transparent)}
.dofp-ch{display:flex;align-items:center;gap:8px}.dofp-ch .dofp-nm{flex:1}.dofp-ch .dofp-nm small{color:var(--muted);text-transform:none;letter-spacing:0;font-weight:700;font-size:11px}.dofp-img{width:38px;height:38px;object-fit:contain;flex:none;filter:drop-shadow(0 2px 3px rgba(0,0,0,.3))}
.dofp-ct{font-size:12.5px;line-height:1.35}.dofp-live{font-size:11.5px;font-weight:800;color:var(--gold)}
.dofp-card.empty{place-items:center;text-align:center;border-style:dashed;border-top-width:1.5px;background:transparent;color:var(--muted);min-height:96px}.dofp-plus{font-size:26px;line-height:1;font-weight:300}
.dofp-reso{display:flex;align-items:center;gap:8px;flex-wrap:wrap;padding:8px 10px;border-radius:12px;border:1.5px dashed var(--frame)}.dofp-reso img{width:26px;height:26px;object-fit:contain}.dofp-reso .off img{filter:grayscale(1);opacity:.35}
.dofp-reso.on{border:2px solid var(--gold);background:linear-gradient(90deg,color-mix(in srgb,var(--gold) 22%,transparent),transparent);box-shadow:0 0 16px color-mix(in srgb,var(--gold) 30%,transparent)}.dofp-reso.on b{color:var(--gold)}
.dofp-fams{display:flex;flex-wrap:wrap;gap:6px;padding:8px 14px 2px}.dofp-fams button{display:inline-flex;align-items:center;gap:5px;font:inherit;font-size:12.5px;font-weight:700;cursor:pointer;color:var(--ink);border:1.5px solid var(--frame);background:var(--panel2);border-radius:999px;padding:3px 10px}.dofp-fams button[aria-pressed="true"]{border-color:var(--fc,var(--gold));background:color-mix(in srgb,var(--fc,var(--gold)) 18%,var(--panel2))}
.dofp-pr{align-items:flex-start;border-left:4px solid var(--fc)}.dofp-pr .grow{display:grid;gap:4px;justify-items:start}.dofp-primg img{width:40px;height:40px;object-fit:contain}.dofp-prp{display:block;font-size:12.5px;line-height:1.4}.dofp-prp .dofp-fi{vertical-align:-3px;margin-right:4px}.dofp-prp > b:first-of-type{color:var(--fc)}
.dofp-lock{opacity:.75}.dofp-lock .dofp-primg img{filter:grayscale(.8)}
.log .dofpl{color:var(--gold);font-weight:800}
.qj-pas{display:flex;align-items:center;gap:4px;font-style:normal;font-size:11px;font-weight:700;color:var(--muted);line-height:1.2;text-align:center;justify-content:center}.qj-pas i,.qj-fd{width:8px;height:8px;border-radius:50%;background:var(--fc);flex:none;display:inline-block}
.qj-ffam button{display:inline-flex;align-items:center;gap:5px}.qj-ffam button[aria-pressed="true"][class*="fam-"]{border-color:var(--fc)}
@media (max-width:700px){.dofp-grid{grid-template-columns:1fr}.dofp-card{grid-template-columns:1fr}}

/* 1.0.13 « Hôtel de vente façon DOFUS 3 » */
.mk3{display:grid;grid-template-columns:210px minmax(0,1fr);gap:14px;align-items:start}
.mkside3{position:sticky;top:12px;padding-bottom:10px}
.mktree{display:flex;flex-direction:column;padding:4px 6px}
.mktr{display:flex;align-items:center;gap:8px;width:100%;text-align:left;border:0;background:transparent;color:inherit;font:inherit;font-weight:800;padding:7px 8px;border-radius:10px;cursor:pointer}
.mktr .uico{width:22px;height:22px}.mktr:hover{background:rgba(var(--glw),.08)}
.mktr.on{background:rgba(var(--glw),.14);box-shadow:inset 3px 0 0 var(--gold)}
.mkcar{font-style:normal;opacity:.7}.mkcnt{font-size:12px;background:var(--panel3);border-radius:99px;padding:0 7px}
.mksub{display:flex;flex-direction:column;margin:2px 0 6px 30px;border-left:2px solid var(--line)}
.mksub button{border:0;background:transparent;color:var(--muted);font:inherit;font-size:13px;text-align:left;padding:4px 10px;cursor:pointer;border-radius:0 8px 8px 0}
.mksub button.on{color:var(--ink);font-weight:800;background:rgba(var(--glw),.10)}
.mkflts{display:flex;flex-wrap:wrap;gap:8px 14px;align-items:flex-end;padding:8px 12px 10px;border-bottom:1px solid var(--line)}
.mkflts .mkflt{flex:0 1 auto;min-width:120px}.mkflts .mkflt:first-child{width:150px}.mkflts .mkflt select{max-width:170px}.mkflts #mkSet{width:170px}.mkchk{padding-bottom:6px}
.mkflt{display:flex;flex-direction:column;gap:3px}.mkflt select,.mkflt input{width:100%}
.mklv{display:grid;grid-template-columns:1fr auto 1fr;gap:6px;align-items:center}.mklv input{width:100%;text-align:center}
.mkchk{display:flex;gap:6px;align-items:center;cursor:pointer}
.mkfbtn{display:none}
.mkbar3 input{flex:1}
.mktbl{display:flex;flex-direction:column}
.mktr2{display:grid;grid-template-columns:26px minmax(0,1fr) 44px 84px 74px 80px 92px;gap:8px;align-items:center;padding:7px 12px;border-top:1px solid var(--line);cursor:pointer}
.mktr2.eq{grid-template-columns:26px minmax(0,1fr) 44px 92px 104px 70px}
.mktr2:hover{background:rgba(var(--glw),.06)}.mktr2.on{background:rgba(var(--glw),.13);box-shadow:inset 3px 0 0 var(--gold)}
.mktr2.mkhd{cursor:default;border-top:0;padding-top:4px;padding-bottom:4px;background:var(--panel2)}
.mktr2 .nm{display:flex;align-items:center;gap:8px;min-width:0}.mktr2 .nm b{font-size:14px}
.mktr2 .icobox{width:36px;height:36px;flex:none}
.mkth{border:0;background:transparent;color:var(--muted);font:inherit;font-size:12px;font-weight:800;text-align:right;cursor:pointer;padding:2px 0;white-space:nowrap}
.mkth.nm{text-align:left}.mkth.on{color:var(--gold)}
.mkc{text-align:right;font-variant-numeric:tabular-nums;font-weight:800;font-size:14px;white-space:nowrap}
.mkc.lv,.mkc.av{color:var(--muted);font-weight:700}
.mkpc{display:inline-flex;align-items:center;gap:4px}
.mkdot{width:8px;height:8px;border-radius:50%;display:inline-block}.mkdot.good{background:#8fe36a}.mkdot.bad{background:#ef7d5a}
.mkstar{display:inline-grid;place-items:center;cursor:pointer;color:var(--muted);opacity:.55}
.mkstar .uico{width:18px;height:18px}.mkstar.on{color:var(--gold);opacity:1}
.mkstar.on .uico{fill:var(--gold)}
.mkfavb.on{border-color:var(--gold);color:var(--gold)}
.mkopen{border-top:1px solid var(--line);background:rgba(0,0,0,.12);padding:10px}
.mkopen .mkdet{position:static;border-color:var(--gold)}
.mkdg{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:14px;align-items:start}
.mkdg .mklots{grid-template-columns:1fr;gap:6px}.mkdg .mklot{display:grid;grid-template-columns:auto auto minmax(0,1fr) auto;align-items:center;gap:2px 10px;padding:8px 10px}
.mkdg .mklot>.xs:first-child{grid-row:1/3}.mkdg .mklot .btn{grid-column:4;grid-row:1/3}.mkdg .mklot .mkdeal{grid-column:2/4;justify-self:start}.mkdg .mklot b.big{font-size:17px}
.mkdeal{display:inline-flex;gap:5px;align-items:center;font-size:11.5px;font-weight:800;border-radius:99px;padding:1px 8px;white-space:nowrap;border:1px solid}
.mkdeal i{font-style:normal;opacity:.8;font-weight:700}
.mkdeal.good{color:#8fe36a;border-color:#8fe36a;background:rgba(143,227,106,.10)}
.mkdeal.mid{color:var(--muted);border-color:var(--line)}
.mkdeal.bad{color:#ef7d5a;border-color:#ef7d5a;background:rgba(239,125,90,.10)}
.mkdeal.pct{padding:0 6px}
.mkpcol{display:flex;flex-direction:column;align-items:flex-end;gap:3px}
.mkchart{background:var(--panel2);border:2px solid var(--frame);border-radius:14px;padding:10px 12px;display:flex;flex-direction:column;gap:6px}
.mkchart .uico{width:16px;height:16px;vertical-align:-3px}
.mkper button{font-size:12px;padding:3px 9px}
.mkcg{display:grid;grid-template-columns:auto minmax(0,1fr);gap:6px}
.mkya{display:flex;flex-direction:column;justify-content:space-between;font-size:11px;color:var(--muted);text-align:right;font-variant-numeric:tabular-nums;padding:2px 0}
.mkya span:nth-child(2){margin-bottom:auto;margin-top:auto}
.mkcg svg{width:100%;height:170px;display:block}
.mkcg svg path.l{fill:none;stroke:var(--gold);stroke-width:2.5;vector-effect:non-scaling-stroke;stroke-linejoin:round}
.mkcg svg path.a{fill:rgba(var(--glw),.13)}
.mkcg svg .vol rect{fill:rgba(143,227,106,.45)}
.mkcg svg line.g{stroke:var(--line);stroke-width:1;vector-effect:non-scaling-stroke}
.mkcg svg line.avg{stroke:var(--muted);stroke-dasharray:5 5;stroke-width:1;vector-effect:non-scaling-stroke}
.mkxa{display:flex;justify-content:space-between;font-size:11px;color:var(--muted);padding-left:34px}
.mkkpi{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px}
.mkkpi>div{background:var(--panel);border:1px solid var(--line);border-radius:10px;padding:5px 8px;display:flex;flex-direction:column;min-width:0}
.mkkpi b{font-variant-numeric:tabular-nums}
.mkqbox,.mksug{background:var(--panel2);border:2px solid var(--gold);border-radius:14px;padding:10px 12px;display:flex;flex-direction:column;gap:8px}
.mkqbox .uico,.mksug .uico{width:16px;height:16px;vertical-align:-3px}
.mkqrow{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;align-items:center}
.mkchips{gap:6px;flex-wrap:wrap}
.mkcur{display:flex;flex-direction:column;gap:2px;border-top:1px solid var(--line);padding-top:6px}
.mkcurr{display:flex;justify-content:space-between;font-size:13px;font-variant-numeric:tabular-nums}
.mknew{display:inline-grid;place-items:center;min-width:20px;height:20px;padding:0 6px;border-radius:99px;background:#ef5a4a;color:#fff;font-size:12px;font-weight:900;margin-left:4px}
.mksold{border-color:var(--gold)}
@media (max-width:1100px){.mkdg{grid-template-columns:minmax(0,1fr)}}
@media (max-width:860px){
  .mk3{grid-template-columns:minmax(0,1fr)}
  .mkside3{display:none;position:static}.mk3.fopen .mkside3{display:block}
  .mk3:not(.fopen) .mkflts{display:none}.mkflts .mkflt{flex:1 1 140px}.mkflts .mkflt select,.mkflts #mkSet{max-width:none;width:100%}
  .mkfbtn{display:inline-flex;flex:1 1 100%;justify-content:center}
  .mktr2,.mktr2.eq{grid-template-columns:22px minmax(0,1fr) auto;row-gap:4px;padding:8px 10px}
  .mktr2.mkhd{display:flex;flex-wrap:wrap;align-items:center;gap:6px}.mktr2.mkhd>span{display:none}.mktr2.mkhd::before{content:"Trier :";font-size:12px;font-weight:700;color:var(--muted)}.mktr2.mkhd .mkth{border:1px solid var(--line);border-radius:999px;padding:3px 9px}
  .mktr2 .mkc{grid-column:auto;font-size:13px}
  .mktr2:not(.mkhd) .mkc.lv{display:none}
  .mktr2:not(.mkhd){grid-template-columns:22px repeat(4,minmax(0,1fr))}
  .mktr2.eq:not(.mkhd){grid-template-columns:22px repeat(3,minmax(0,1fr))}
  .mktr2:not(.mkhd)>:nth-child(1){grid-column:1;grid-row:1}
  .mktr2:not(.mkhd) .nm{grid-column:2/-1;grid-row:1}
  .mktr2:not(.mkhd) .mkc{grid-row:2;display:flex;flex-direction:column;align-items:flex-end;line-height:1.15}
  .mktr2:not(.mkhd)>:nth-child(4){grid-column:2}.mktr2:not(.mkhd)>:nth-child(5){grid-column:3}.mktr2:not(.mkhd)>:nth-child(6){grid-column:4}.mktr2:not(.mkhd)>:nth-child(7){grid-column:5}
  .mktr2:not(.mkhd) .mkc::before{content:attr(data-l);font-size:10.5px;color:var(--muted);font-weight:700}
  .mkopen{padding:6px 0}
  .mkkpi{grid-template-columns:repeat(2,minmax(0,1fr))}
}

.mklist3 .li{cursor:pointer;width:100%;text-align:left;border:0;border-top:1px solid var(--line);background:transparent;color:inherit;font:inherit}
.mklist3 .mkli .mkstar{margin-right:2px}
.mkopen .phead{flex-wrap:wrap;gap:8px}.mkopen .phead>.row:first-child{flex:1 1 220px;min-width:0}
/* 1.0.20 « Trophées passifs » : onglet Trophées de l'Encyclopédie, bandeau et compteurs de la sous-zone, fenêtre « Nouveau trophée » */
@media (min-width:1200px){.enckpis.k6.k7{grid-template-columns:repeat(7,minmax(0,1fr))}}
@media (min-width:761px) and (max-width:1199px){.enckpis.k6.k7{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media (max-width:760px){.enckpis.k6.k7 .enckpi.archi{grid-column:1/-1}}
.trohead{display:flex;flex-wrap:wrap;gap:10px;align-items:center;justify-content:space-between;margin-bottom:6px}
.trohead .trocount{font-size:22px}
.trosum{display:flex;gap:10px;align-items:center;background:var(--panel2);border:2px solid var(--action);border-radius:12px;padding:10px 12px;margin:6px 0 10px}
.trosum img.uico{width:28px;height:28px}
.trogrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:8px;margin-bottom:12px}
.trocard{display:flex;gap:10px;align-items:flex-start;background:var(--panel2);border:2px solid var(--line);border-radius:12px;padding:8px 10px;text-align:left;font:inherit;color:inherit;cursor:pointer}
.trocard.got{border-color:var(--gold)}
.trocard.got .icobox{background:radial-gradient(circle,rgba(255,215,110,.45),rgba(255,215,110,0) 72%),var(--panel3)}
.trocard.lock{opacity:.55}
.trocard .bar{height:5px;margin-top:4px}
.trocard b{display:block;line-height:1.2}
.troact{display:flex;gap:10px;align-items:center;background:linear-gradient(90deg,rgba(232,192,99,.22),transparent);border:2px solid #e8c063;border-radius:12px;padding:8px 12px}
.troact img.uico{width:30px;height:30px}
.tromons{display:grid;grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:6px;margin-top:8px}
.tromons>div{display:flex;gap:8px;align-items:center;background:var(--panel2);border-radius:10px;padding:5px 8px;border:2px solid var(--line)}
.tromons>div.ok{border-color:var(--action)}
.tromons img{width:34px;height:34px;object-fit:contain}
.tromons .bar{height:4px;margin-top:3px}
.trogetbox{display:grid;justify-items:center;gap:8px;text-align:center;padding:6px 0}
.trogetbox .big{width:120px;height:120px;border-radius:50%;display:grid;place-items:center;background:radial-gradient(circle,rgba(255,215,110,.7),rgba(255,215,110,0) 70%)}
.trogetbox .big img{width:96px;height:96px;object-fit:contain}
.trogetbox .st{display:flex;flex-direction:column;gap:2px;font-weight:800}
@media (max-width:700px){.trogrid{grid-template-columns:1fr}}
/* 1.0.21 « Havre-Sac en accueil » : titre et bonus dans le bandeau, « Ma maison » en tuiles, trois lignes (meubles, trophées, boutique) */
.hvtitle{flex-basis:100%;display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap}
.hvtitle h1{margin:0;font-size:24px;color:#fff6dc;text-shadow:0 2px 4px rgba(0,0,0,.6);display:flex;align-items:center;gap:8px}
.hvtitle h1 .uico{width:28px;height:28px}
.hvchips{display:flex;gap:6px;flex-wrap:wrap}
.hvchip{display:inline-flex;align-items:center;gap:5px;background:rgba(14,18,10,.82);border:1px solid var(--gold2);border-radius:999px;padding:3px 10px 3px 6px;color:#fff6dc;font:inherit;font-size:12.5px;cursor:pointer}
.hvchip .uico{width:18px;height:18px}.hvchip b{font-size:14px}.hvchip span{color:#d9cfb0}
.hvchip:hover{border-color:var(--gold)}.hvchip:focus-visible{outline:2px solid var(--gold);outline-offset:2px}
.hvchip.dim{opacity:.85}
.hvhouse .phead .btn.xs{margin-left:4px}
.hvtiles{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;padding:12px}
.hvtile{display:flex;flex-direction:column;gap:8px;background:var(--panel2);border:2px solid var(--line);border-left:5px solid var(--rc);border-radius:14px;padding:10px;min-width:0}
.hvtile.hot{border-color:var(--gold);border-left-color:var(--rc)}
.hvtile.locked{opacity:.6}
.hvth{display:flex;gap:8px;align-items:center;background:none;border:0;padding:0;color:var(--ink);font:inherit;text-align:left;cursor:pointer;min-width:0}
.hvth:hover h3{text-decoration:underline}.hvth:focus-visible{outline:2px solid var(--gold);outline-offset:2px;border-radius:8px}
.hvth .min0{display:flex;flex-direction:column;gap:2px}
.hvtile h3{margin:0;font-size:15px;line-height:1.15;color:var(--rc)}
.hvtile .rico{flex:none;width:34px;height:34px;display:grid;place-items:center;background:var(--panel3);border-radius:10px}.hvtile .rico .uico{width:24px;height:24px}
.hvlv{font-size:11px;color:var(--muted);font-weight:800;margin-left:4px}
.hvslots{display:flex;gap:4px;flex-wrap:wrap}
.hvfi{width:30px;height:30px;object-fit:contain;display:grid;place-items:center;background:var(--panel3);border-radius:8px;border:1px solid var(--line)}
.hvfi .uico{width:24px;height:24px}
.hvfi.empty{border-style:dashed;color:var(--muted);font-weight:900;background:none;font:inherit;font-weight:900;cursor:pointer;padding:0}.hvfi.empty:hover,.hvfi.empty:focus-visible{border-color:var(--gold);color:var(--gold);background:color-mix(in srgb,var(--gold) 12%,transparent)}.hvfi.empty.hot{border-color:var(--gold);color:var(--gold)}
.hvtile footer{display:flex;gap:6px;flex-wrap:wrap;margin-top:auto}
.hvtile footer .btn.sm{padding:3px 9px;font-size:12.5px}
.btn.ghost{background:none;border:1px dashed var(--gold2);color:var(--gold)}
.hvfoot{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;padding:0 12px 12px}
.hvfl{display:flex;align-items:center;gap:8px;background:var(--panel2);border:1px solid var(--line);border-radius:12px;padding:6px 10px;color:var(--ink);font:inherit;text-align:left;cursor:pointer;min-width:0}
.hvfl .grow{display:flex;flex-direction:column;min-width:0}.hvfl .grow .xs{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.hvfl>.uico{width:24px;height:24px;flex:none}
.hvfl.hot{border-color:var(--gold);box-shadow:0 0 0 1px var(--gold)}
.hvfl:hover{border-color:var(--gold)}.hvfl:focus-visible{outline:2px solid var(--gold);outline-offset:2px}
@media (max-width:700px){
  .hvtitle h1{font-size:19px}.hvchip{font-size:11.5px;padding:2px 8px 2px 5px}.hvchip span{display:none}
  .hvtiles{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;padding:10px}
  .hvtile{padding:8px}.hvtile h3{font-size:14px}
  .hvfoot{grid-template-columns:1fr;padding:0 10px 10px}
}
/* 1.0.22 : musique et sons */
.ic-btn.snd-btn.on{color:var(--gold)}
.seg2{display:inline-flex;gap:4px;flex-wrap:wrap;justify-content:flex-end}
/* 1.0.23 : Communauté › Builds (js/builds.js) */
.bd-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:12px}
.bd-card{background:var(--panel);border:3px solid var(--frame);border-radius:16px;box-shadow:var(--shadow);overflow:hidden;cursor:pointer;display:flex;flex-direction:column}
.bd-card:hover{border-color:var(--gold)}
.bd-top{position:relative;height:118px;background:linear-gradient(160deg,color-mix(in srgb,var(--cc) 55%,transparent),color-mix(in srgb,var(--cc) 15%,var(--panel2)));overflow:hidden}
.bd-top .bd-look{position:absolute;left:50%;bottom:-24px;transform:translateX(-50%);height:150px;filter:drop-shadow(0 3px 4px rgba(0,0,0,.35))}
.bd-top .bd-look.db{height:170px;bottom:-30px}
.bd-top .bd-wm{position:absolute;right:-14px;top:-10px;width:110px;opacity:.18}
.bd-top .bd-lv{position:absolute;left:8px;top:8px;background:var(--frame);color:#fff7e3;border:2px solid var(--gold);border-radius:999px;padding:1px 9px;font-size:13px}
.bd-top .bd-el{position:absolute;right:8px;bottom:8px}
.bd-top .bd-hid{position:absolute;left:8px;bottom:8px}
.bd-el{display:inline-flex;align-items:center;gap:4px;font-size:12px;font-weight:800;padding:2px 8px;border-radius:999px;background:color-mix(in srgb,var(--c) 22%,var(--panel));border:1.5px solid var(--c);color:var(--ink);white-space:nowrap}
.bd-el .sico{width:15px;height:15px}
.bd-body{padding:10px 12px;display:flex;flex-direction:column;gap:6px;flex:1}
.bd-t{font-size:15px;line-height:1.2;overflow-wrap:anywhere}
.bd-gear{display:flex;gap:3px;flex-wrap:wrap}.bd-gear .lootico{width:28px;height:28px}.bd-gear .lootico img{width:24px;height:24px}
.bd-gear.dof .lootico{border-radius:50%;background:color-mix(in srgb,var(--gold) 25%,var(--panel3))}
.bd-foot{margin-top:auto;gap:4px}
.bd-votes{display:inline-flex;gap:4px;align-items:center}
.bd-v{border:2px solid var(--frame);background:var(--panel2);color:var(--ink);border-radius:999px;padding:2px 9px;font-weight:800;font-size:13px;cursor:pointer;font-family:inherit}
.bd-v:disabled{cursor:default;opacity:.75}
.bd-v.on{background:#e0587a;border-color:#b83a5a;color:#fff}.bd-v.on.gold{background:var(--gold);border-color:var(--frame);color:#3a2614}
.bd-filt{gap:8px}.bd-filt .bd-fl{gap:8px}.bd-lab{font-weight:800;font-size:13px;min-width:62px}
.bd-cls{display:flex;gap:4px;flex-wrap:wrap}
.bd-cls button{width:38px;height:38px;border-radius:10px;border:2px solid var(--line);background:var(--panel2);padding:3px;cursor:pointer}
.bd-cls button img{width:100%;height:100%;object-fit:contain}
.bd-cls button.on{border-color:var(--gold);background:color-mix(in srgb,var(--cc) 40%,var(--panel2));box-shadow:0 0 0 2px var(--gold)}
.bd-q{flex:1;min-width:180px;border:2px solid var(--frame);border-radius:10px;padding:6px 10px;background:var(--panel);color:var(--ink);font:inherit}
.bd-filt select,.bd-cmp select,.bd-pubf select{border:2px solid var(--frame);border-radius:10px;padding:6px 8px;background:var(--panel);color:var(--ink);font-weight:700;font-family:inherit;max-width:100%}
.bd-week{display:flex;align-items:center;gap:14px;padding:10px 16px;border:3px solid var(--gold);border-radius:16px;background:linear-gradient(100deg,color-mix(in srgb,var(--cc) 40%,var(--panel)),var(--panel));box-shadow:var(--shadow);cursor:pointer;overflow:hidden}
.bd-week .bd-look{height:84px;margin:-6px 0;flex:none}
.bd-week .bd-look.db{height:100px;margin:-14px -10px}
.bd-dhead{position:relative;display:flex;gap:16px;align-items:center;padding:14px 18px;border:3px solid var(--frame);border-radius:18px;overflow:hidden;background:linear-gradient(110deg,color-mix(in srgb,var(--cc) 55%,var(--panel)),var(--panel));margin-bottom:12px;box-shadow:var(--shadow)}
.bd-dhead h2{margin:0;overflow-wrap:anywhere}
.bd-dsym{width:72px;height:72px;position:relative;flex:none}
.bd-dgrid{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:12px}
.bd-doll .dslot{cursor:pointer}.bd-doll span.dslot{cursor:default}
.bd-sts{display:grid;grid-template-columns:1fr 1fr;gap:4px 14px}
.bd-st{display:flex;align-items:center;gap:6px;padding:3px 0;border-bottom:1px dashed var(--line)}
.bd-cmpt{display:grid;grid-template-columns:minmax(0,1.4fr) repeat(3,minmax(0,1fr));gap:4px 10px;align-items:center}
.bd-cmpt>*:not(:nth-child(4n+1)){text-align:right}
.bd-up{color:#3fb35d}.bd-dn{color:var(--danger)}
.bd-acts{gap:6px}.bd-rep{color:var(--danger)}
.bd-bud{display:inline-flex;align-items:center;gap:4px;font-size:11.5px;font-weight:800;padding:2px 8px;border-radius:999px;border:1.5px solid var(--c);color:var(--c);background:color-mix(in srgb,var(--c) 12%,var(--panel));white-space:nowrap}
.bd-views{white-space:nowrap}
.bd-mini{height:64px}
.bd-pubf{border:2px solid var(--gold)}
.bd-ptag{cursor:pointer;border:0;font-family:inherit}
.bd-pubf .warn-t{color:#c46a12;font-weight:800}
.bd-dofp .dofp{margin:0}
@media (max-width:700px){.bd-dgrid{grid-template-columns:minmax(0,1fr)}.bd-grid{grid-template-columns:minmax(0,1fr)}.bd-week .bd-gear{display:none}.bd-dhead{padding:12px}.bd-dsym{width:52px;height:52px}
 .bd-filt .seg{overflow-x:auto;max-width:100%}.bd-filt .seg button{white-space:nowrap}.bd-cls{flex-wrap:nowrap;overflow-x:auto;padding-bottom:2px}.bd-cls button{flex:none}.bd-lab{min-width:0}
 .bd-q{min-width:0;width:100%}.bd-filt .bd-fl:last-child select{width:100%}}
.bd-cn{display:flex;align-items:center;gap:5px;min-width:0}.bd-acts .btn{white-space:normal}
.bd-doll .drow{gap:6px}.bd-doll .drow .dslot{width:54px;height:54px}.bd-doll .drow .dslot img{width:42px;height:42px}
@media (max-width:520px){.bd-doll .drow{gap:4px}.bd-doll .drow .dslot{width:40px;height:40px;border-radius:10px}.bd-doll .drow .dslot img{width:32px;height:32px}.bd-doll .drow .dlabel{font-size:7px}}
@media (max-width:700px){.pagehead .bd-sub{display:none}}
/* 1.0.25 « Renaissance des métiers » : pastille, bandeau de l'Artisanat et de la forgemagie, fenêtre, ornement « Enclume du Phénix » */
.jrenp{display:inline-grid;place-items:center;min-width:22px;height:20px;padding:0 6px;margin-left:5px;border-radius:999px;vertical-align:middle;font-family:var(--font-title);font-size:11px;font-weight:700;line-height:1;color:#fff7e3;
  background:radial-gradient(circle at 35% 30%,#ffc35a,#d9541e);box-shadow:0 0 0 1px rgba(14,11,20,.55),0 0 6px rgba(255,170,60,.7)}
.jrenp.sm{min-width:18px;height:17px;padding:0 4px;font-size:10px;margin-left:4px}
.pjren{border-color:color-mix(in srgb,#d9541e 45%,var(--line));background:linear-gradient(90deg,color-mix(in srgb,#f2a33a 12%,var(--panel)),var(--panel) 70%)}
.pjren>.pad{display:flex;gap:12px;align-items:center;flex-wrap:wrap;padding:8px 12px}
.pjren .renstage.small{width:44px;height:44px;border-radius:12px}.pjren .renstage .renbig{width:30px;height:30px}
.pjren .grow{min-width:180px;line-height:1.35}
.pjrenh{display:flex;gap:6px;align-items:center;flex-wrap:wrap}.pjrenh .uico{width:16px;height:16px}
.pjrenl{padding:6px 10px;border-radius:10px;background:rgba(255,170,60,.12);border:1px solid rgba(255,170,60,.35);margin:-2px 0 8px}
.pjrenl .uico{width:16px;height:16px;vertical-align:-3px}
.renhead .renstage.small .joblogo{width:58px;height:58px;position:relative;z-index:2;border-radius:12px}
.jrent{gap:4px}
.lbr.jrenr{grid-template-columns:40px minmax(0,1fr) auto;cursor:default;padding:6px 10px}
.lbr.jrenr .nm{white-space:normal}.lbr.jrenr.done{opacity:.6}.lbr.jrenr.me{margin-top:0}
.pfjren{display:inline-flex;align-items:center;gap:3px;margin-top:3px;padding:1px 8px 1px 5px;border-radius:999px;border:1px solid #8a2f10;background:linear-gradient(180deg,#f2a33a,#d9541e);color:#fff7e3;font:inherit;font-size:11px;font-weight:800;cursor:pointer}
.pfjren .uico{width:13px;height:13px}
.cele-art.ren .celepet{border-radius:16px;box-shadow:0 0 26px rgba(255,170,60,.85)}
.hcard.o-enclume{box-shadow:0 10px 26px rgba(0,0,0,.55),0 0 0 3px #e9b93a,0 0 0 6px #7a2a0e,0 0 26px rgba(242,163,58,.85)}
/* 1.0.25.2 : onglet « Mes builds » */
.bd-tabs{margin:0 0 10px}.bd-tabs .num{opacity:.8;font-size:12px}
.bd-mine{align-items:center;gap:12px}.bd-mine .bar{max-width:420px}
.bd-own{gap:6px;padding-top:6px;border-top:1px dashed var(--frame);margin-top:2px;flex-wrap:wrap}
@media (max-width:700px){.bd-mine{flex-wrap:wrap}.bd-mine .btn{width:100%}}

/* ===== 1.0.26 « Thème d'Halouine » : du 24 octobre au 3 novembre, posé par-dessus le thème choisi (html[data-hal="on"], js/ui.js applyHal) ===== */
:root{
  --hal-bat:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 64 30'%3E%3Cg fill='%23140a12'%3E%3Cpath id='w' d='M32 8l2-5 1.4 4.6c2.6.2 4.6 1.8 5.6 4.2 5-5 13-7 23-5-4.4 2.4-6.6 6.4-6.8 11.6-3-2.4-7-2.6-9.6.4-2.2-2.4-6.4-2.8-8.6.2-1.4-1.6-4-2-5.8-.4L32 25z'/%3E%3Cuse href='%23w' transform='matrix(-1 0 0 1 64 0)'/%3E%3C/g%3E%3Ccircle cx='30.3' cy='11.3' r='.9' fill='%23ff9b30'/%3E%3Ccircle cx='33.7' cy='11.3' r='.9' fill='%23ff9b30'/%3E%3C/svg%3E");
  --hal-pump:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 64 58'%3E%3Cpath d='M30 13c-.4-5 1.6-9.6 6.4-11.6l2 3.4c-3 1.4-4.4 4.4-4.2 8.2z' fill='%23557a26'/%3E%3Cg stroke='%233a1606' stroke-width='1.6'%3E%3Cellipse cx='19' cy='35' rx='15' ry='20' fill='%23c9561a'/%3E%3Cellipse cx='45' cy='35' rx='15' ry='20' fill='%23c9561a'/%3E%3Cellipse cx='32' cy='35' rx='13.5' ry='21.5' fill='%23ec7f24'/%3E%3C/g%3E%3Cpath d='M18 29l7.5 5.5H16zM46 29l-7.5 5.5H48zM29 37.5h6l-3 4z' fill='%23ffd66a'/%3E%3Cpath d='M15 43c5 6 11 8 17 8s12-2 17-8l-4 .2-2.4 3-2.6-2.8-3.4.4-2.6 3-2.6-3-3.4-.4-2.6 2.8-2.4-3z' fill='%23ffd66a'/%3E%3C/svg%3E");
  --hal-web:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 80 80' fill='none' stroke='%23e8dccf' stroke-width='.9' stroke-linecap='round'%3E%3Cpath d='M80 0L2 4M80 0L10 34M80 0L32 62M80 0L58 78M80 0L78 2'/%3E%3Cpath d='M64 1q-1 6 2.6 9.8T76 15'/%3E%3Cpath d='M46 2q0 10 6 16t17 6.6 9.4 0'/%3E%3Cpath d='M28 3q-1 15 9 25t26 11 15.6-2'/%3E%3Cpath d='M12 4q-2 21 12 35t36 15 18-4' opacity='.75'/%3E%3C/svg%3E");
}
:root[data-hal="on"]{
  --glw:255,138,36; --kama:#f2c25a; --med-bg:#5a2c16; --med-bg2:#1d0f0c; --med-ring:#e6923e;
  --page:#0e090b; --panel:#1a1215; --panel2:#24181c; --panel3:#302026; --frame:#5c3a2a; --frame2:#2a1a1a; --gold:#ff9b30; --gold2:#ffd7a0;
  --ink:#f6ece2; --muted:#b9a59b; --title:#fff0e0; --tshadow:0 0 14px rgba(255,138,36,.45),0 2px 0 rgba(0,0,0,.75);
  --action:#ff9b30; --action2:#d9641a; --action-ink:#200d03; --good:#9be36a;
  --line:rgba(205,160,140,.15); --shadow:0 2px 0 rgba(0,0,0,.6),0 10px 28px rgba(0,0,0,.65);
}
:root[data-hal="on"] body{background:radial-gradient(1100px 560px at 85% -12%,rgba(255,118,24,.20),transparent 60%),radial-gradient(900px 520px at -10% 110%,rgba(118,48,170,.24),transparent 60%),var(--page);background-attachment:fixed}
:root[data-hal="on"] .status{background:linear-gradient(180deg,#2c1a16,#170e0d);border-color:rgba(255,138,36,.5)}
:root[data-hal="on"] nav.main button[aria-current="page"],:root[data-hal="on"] .subtabs button[aria-pressed="true"],:root[data-hal="on"] .seg button[aria-pressed="true"],:root[data-hal="on"] .catchips button[aria-pressed="true"],:root[data-hal="on"] .dgtog[aria-pressed="true"]{background:linear-gradient(180deg,#ffc070,#f07a1c);color:#200d03;border-color:#e0701a}
:root[data-hal="on"] .btn.primary{background:linear-gradient(180deg,#ffbe6a,#ef7a1e);color:#200d03;border-color:#c55e14}
:root[data-hal="on"] .tag,:root[data-hal="on"] .icount{color:#200d03}
:root[data-hal="on"] .updbar{background:linear-gradient(135deg,rgba(255,138,36,.14),rgba(140,70,190,.12))}
:root[data-hal="on"] .scene::after,:root[data-hal="on"] .arena::after{background:linear-gradient(180deg,rgba(255,120,30,.10),transparent 55%,rgba(130,60,190,.12))}
:root[data-hal="on"] .scene .crumb,:root[data-hal="on"] .arena .turn,:root[data-hal="on"] .arena .idle div,:root[data-hal="on"] .hero-banner .card{background:rgba(20,12,12,.88)!important}
:root[data-hal="on"] .chx .ic{background:linear-gradient(135deg,#ffc070,#e0701a)}
:root[data-hal="on"] .status .brand{color:#fff3e6}

:root[data-hal="on"] .status{position:relative}
:root[data-hal="on"] .status::before{content:"";position:absolute;right:170px;top:50%;width:120px;height:40px;margin-top:-20px;pointer-events:none;
  background:var(--hal-bat) 8px 12px/28px 14px no-repeat,var(--hal-bat) 44px 2px/38px 19px no-repeat,var(--hal-bat) 90px 18px/22px 11px no-repeat,radial-gradient(closest-side,rgba(255,170,70,.55),rgba(255,120,30,.18) 60%,transparent);filter:drop-shadow(0 0 3px rgba(255,150,60,.35))}
:root[data-hal="on"] .sn-brand{position:relative}
:root[data-hal="on"] .sn-brand::after{content:"";position:absolute;left:94px;top:5px;width:26px;height:24px;background:var(--hal-pump) center/contain no-repeat;filter:drop-shadow(0 0 6px rgba(255,140,40,.55));pointer-events:none}
:root[data-hal="on"] .sn-mini{position:relative;z-index:1}
:root[data-hal="on"] .panel::before{content:"";position:absolute;top:0;right:0;width:58px;height:58px;background:var(--hal-web) top right/contain no-repeat;pointer-events:none;opacity:.42;border-top-right-radius:16px;z-index:0}
@media (max-width:859px){
  :root[data-hal="on"] .status::before{display:none}
  :root[data-hal="on"] #nav .sn-mob{position:relative}
  :root[data-hal="on"] #nav .sn-mob::before{content:"";position:absolute;left:4px;top:-17px;width:26px;height:23px;z-index:3;background:var(--hal-pump) center/contain no-repeat;filter:drop-shadow(0 0 6px rgba(255,140,40,.6));pointer-events:none}
  :root[data-hal="on"] #nav .sn-mob::after{content:"";position:absolute;right:6px;top:-15px;width:48px;height:20px;z-index:3;pointer-events:none;
    background:var(--hal-bat) 0 6px/22px 11px no-repeat,var(--hal-bat) 22px 0/26px 13px no-repeat;filter:drop-shadow(0 0 3px rgba(255,160,70,.8))}
}
#halfx{position:fixed;inset:0;pointer-events:none;z-index:4;overflow:hidden}
#halfx i{position:absolute;bottom:-10px;will-change:transform,opacity;width:5px;height:5px;border-radius:50%;background:#ffb04a;box-shadow:0 0 8px 2px rgba(255,140,40,.6);opacity:0;animation:halemb var(--d,14s) linear infinite;animation-delay:var(--dl,0s)}
@keyframes halemb{0%{transform:translate(0,0);opacity:0}10%{opacity:.75}50%{transform:translate(18px,-50vh)}90%{opacity:.5}100%{transform:translate(-12px,-100vh);opacity:0}}
body.reduced #halfx,body.nomotion #halfx{display:none}
/* 1.0.30 : menu des caractéristiques, vrai mode automatique */
.plbox{gap:10px}
.plrow{display:flex;gap:8px;align-items:flex-start}
.pllab{flex:0 0 58px;font-size:12px;font-weight:800;color:var(--muted);padding-top:4px}
.plrow .spc .sico{width:14px;height:14px;vertical-align:-2px}
.plperso{cursor:default}
.plsteps{display:flex;flex-direction:column;gap:6px;background:var(--panel2);border:1.5px solid var(--line);border-radius:12px;padding:8px 10px}
.plstep{display:flex;align-items:center;gap:6px;flex-wrap:wrap}
.plstep select{max-width:170px}
.pln{display:inline-grid;place-items:center;width:20px;height:20px;border-radius:50%;background:var(--frame);color:#fff7e3;font-size:11px;flex-shrink:0}
.plico{display:inline-flex;gap:1px;min-width:18px}
.plico .sico{width:16px;height:16px}
.plx{padding:3px 8px!important;margin-left:auto}
.pladd{align-self:flex-start}
.plprev{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.plpl{background:color-mix(in srgb,var(--action) 10%,transparent);border-radius:10px;padding:6px 9px}
.plresw{display:flex;flex-wrap:wrap;gap:4px 10px;margin-top:3px}
.plres{display:inline-flex;align-items:center;gap:4px;font-size:12.5px;white-space:nowrap}
.plres .sico{width:15px;height:15px}
.cstats .li{padding:7px 14px}
.cst-n{min-width:0}
.cst-v{min-width:64px;text-align:right;font-weight:800}
.tierbar{display:flex;gap:3px;margin-top:4px;max-width:150px}
.tierbar i{flex:1;height:4px;border-radius:3px;background:rgba(255,255,255,.09)}
.tierbar i.full{background:linear-gradient(90deg,#f3c95f,#c9962e)}
.tierbar i.cur{background:linear-gradient(90deg,#f3c95f var(--p),rgba(255,255,255,.09) var(--p))}
.ptsleft{font-size:13px;color:var(--muted)}
.ptsleft b{font-size:18px}
.psc .scrollbar{max-width:none;width:100%}
.psc .btn{white-space:nowrap}
@media (max-width:600px){.plprev{grid-template-columns:1fr}.pllab{flex-basis:auto;padding-top:0}.plrow{flex-direction:column;gap:4px}.plstep select{max-width:140px}}
.cstatpg{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
.plstep select{font-size:13px;padding:4px 26px 4px 8px;min-height:0;height:30px;width:auto}
.pluse{background:color-mix(in srgb,var(--action) 25%,var(--panel2))}
@media (max-width:900px){.cstatpg{grid-template-columns:1fr}}
.plstep{flex-wrap:nowrap}
.plstep select[data-act="plank"]{flex:1 1 auto;min-width:0;max-width:none}
.plstep select[data-act="planrest"]{flex:1 1 auto;min-width:0;max-width:none}
.plstep .muted.small{white-space:nowrap}
.plrow>.spchips{flex:1;min-width:0}
@media (max-width:900px){.cstatpg{grid-template-columns:minmax(0,1fr)}}
@media (max-width:600px){.plrow{align-items:stretch}}
@media (max-width:600px){.plstep .plico{display:none}.plstep{gap:5px}.plstep select{padding-right:22px}}
/* ===================== 1.0.30 : combat en Formation (js/formation.js, choix 25A) ===================== */
.arena.fmode{height:auto;min-height:230px;padding:8px 10px 12px;background:radial-gradient(640px 280px at 50% 42%,rgba(var(--glw),.10),transparent 70%),linear-gradient(180deg,rgba(0,0,0,.16),rgba(0,0,0,.34))}
.arena.fmode>.fm-ord,.arena.fmode>.fm-board{position:relative;z-index:2}
.fm-ord{display:flex;align-items:center;justify-content:center;gap:3px;margin:0 auto 12px;width:max-content;max-width:100%;padding:3px 9px;border-radius:999px;background:rgba(0,0,0,.55);border:1px solid rgba(255,255,255,.16)}
.fm-ord:empty{display:none}
.fm-ord b{font-size:11.5px;color:#fff;margin-right:4px;white-space:nowrap}
.fm-ord .o{width:25px;height:25px;flex:none;display:grid;place-items:center;border-radius:50%;background:rgba(255,255,255,.08);border:2px solid transparent;overflow:hidden}
.fm-ord .o img{width:21px;height:21px;object-fit:contain}
.fm-ord .o img.cl{width:100%;height:100%;padding:3px;border-radius:50%;background:var(--cc)}
.fm-ord .o.m{background:rgba(220,70,60,.30)}
.fm-ord .o.done{opacity:.38}
.fm-ord .o.cur{border-color:#f0b429;box-shadow:0 0 8px rgba(240,180,41,.85)}
.fm-ord .more{font-size:10.5px;font-weight:800;color:rgba(255,255,255,.72);padding:0 2px}
.fm-board{display:grid;grid-template-columns:minmax(0,1fr) 26px minmax(0,1fr);gap:6px;align-items:stretch}
.fm-side{display:flex;flex-direction:column;gap:7px;min-width:0}
.fm-lbl{font-size:10.5px;letter-spacing:.06em;text-transform:uppercase;color:rgba(255,255,255,.62);text-align:center;font-weight:900}
.fm-lines{flex:1;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:6px}
.fm-line{position:relative;display:flex;flex-direction:column;padding:12px 4px 5px;border-radius:12px;background:rgba(255,255,255,.04);border:1px dashed rgba(255,255,255,.18);min-width:0}
.fm-line>i{position:absolute;top:0;left:50%;transform:translate(-50%,-50%);font-style:normal;font-size:9.5px;font-weight:900;padding:1px 7px;border-radius:6px;background:var(--panel2);color:var(--muted);white-space:nowrap;border:1px solid rgba(255,255,255,.12)}
.fm-col{flex:1;display:flex;flex-direction:column;justify-content:center;gap:6px}
.fm-vs{display:grid;place-items:center;font-family:var(--font-title);color:var(--gold2);font-size:15px;text-shadow:0 2px 0 rgba(0,0,0,.5)}
.arena.fmode .ent.tk{width:auto;display:grid;grid-template-columns:38px minmax(0,1fr);gap:6px;align-items:center;padding:4px 6px 4px 4px;border-radius:12px;background:rgba(0,0,0,.38);border:2px solid rgba(255,255,255,.14);text-align:left;min-width:0;transition:opacity .4s,filter .4s,border-color .2s,box-shadow .2s}
.arena.fmode .ent.tk.m{border-color:rgba(255,120,110,.40)}
.arena.fmode .ent.tk.cur{border-color:#f0b429;box-shadow:0 0 12px rgba(240,180,41,.6)}
.arena.fmode .ent.tk.dead{opacity:.32}
.arena.fmode .ent.tk.summon.dead{display:none} /* 1.0.30.2 : invocations et sbires tombés retirés (avant : des dizaines de cases vides au Boss des mondes et au Kolizéum) */
.arena.fmode .ent.tk[data-tipmon]{cursor:help}
.ent.tk .av{width:38px;height:38px;flex:none;display:grid;place-items:center;border-radius:50%;overflow:hidden;background:radial-gradient(circle at 50% 35%,rgba(255,255,255,.18),rgba(0,0,0,.4));border:2px solid rgba(255,255,255,.28)}
.ent.tk .av img{width:34px;height:34px;object-fit:contain}
.ent.tk .av.hd{background:radial-gradient(circle at 38% 30%,color-mix(in srgb,var(--cc) 55%,#fff),var(--cc) 62%,color-mix(in srgb,var(--cc) 70%,#000));border-color:var(--gold2)}
.ent.tk .av.hd img{width:86%;height:86%}
.ent.tk .av b{color:#fff}
.ent.tk.m .av{border-color:rgba(255,120,110,.65)}
.ent.tk.boss .av{border-color:var(--gold);box-shadow:0 0 0 2px rgba(240,180,41,.35)}
.ent.tk.archi .av{box-shadow:0 0 10px rgba(155,77,255,.9)}
.ent.tk .tx{display:flex;flex-direction:column;gap:2px;min-width:0}
.ent.tk .who{font-size:11.5px;text-align:left}
.ent.tk .who .uico{width:12px;height:12px;vertical-align:-2px;margin-right:2px;color:var(--gold)}
.ent.tk .hpb{height:11px;margin:0;border-radius:6px;background:rgba(40,12,12,.75)}
.ent.tk.m .hpb i{background:linear-gradient(90deg,#d8473c,#ff7a5c)}
.ent.tk .hpb .fhp{position:absolute;inset:0;z-index:1;font-style:normal;font-size:9px;line-height:11px;color:#fff;text-align:center;font-weight:900;text-shadow:0 0 2px #000,0 0 2px #000}
.ent.tk.low .hpb{box-shadow:0 0 0 1px rgba(255,90,90,.85)}
.ent.tk .fics{display:flex;gap:2px;flex-wrap:wrap;min-height:14px}
.ent.tk .fc{display:inline-flex;align-items:center;gap:1px;height:14px;padding:0 3px;border-radius:4px;font-size:9.5px;font-weight:900;line-height:1;color:#fff;background:rgba(255,255,255,.14);white-space:nowrap}
.ent.tk .fc .uico,.ent.tk .fc svg{width:10px;height:10px;flex:none}
.ent.tk .fc .fm-el{width:11px;height:11px}
.ent.tk .fc.wk{background:rgba(90,214,125,.32);color:#d6fac2}
.ent.tk .fc.bf{background:rgba(240,138,60,.42)}
.ent.tk .fc.sh{background:rgba(127,179,255,.42)}
.ent.tk .fc.db{background:rgba(199,125,255,.42)}
.arena.fmode .ent.tk .float{top:-10px;left:auto;right:4px;transform:none;font-size:15px}
.arena.fmode .ent.tk .fxb,.arena.fmode .ent.tk .ring{left:25px;top:50%}
.arena.fmode .ent.tk.act .av{animation:fmact .45s ease-out}
.arena.fmode .ent.tk.m.act .av{animation:fmactl .45s ease-out}
.arena.fmode .ent.tk.hit .av{animation:hit .4s ease-out}
.arena.fmode .ent.tk.spawn{animation:pop .5s ease-out}
@keyframes fmact{40%{transform:translateX(7px) scale(1.08)}}
@keyframes fmactl{40%{transform:translateX(-7px) scale(1.08)}}
.arena.fmode .ent.targetable::after{inset:-3px;border-radius:14px;box-shadow:0 0 0 2px var(--gold2),0 0 14px rgba(255,220,120,.7)}
.fm-tres{display:grid;grid-template-columns:repeat(5,auto);gap:3px 9px;margin:5px 0 4px;justify-content:start}
.fm-tres span{display:inline-flex;align-items:center;gap:3px;font-size:12px}
.fm-tres span.lo b{color:var(--good)}
.fm-tres img{width:15px;height:15px}
.fm-tl.bf{color:#ffb98a}.fm-tl.sh{color:#a9cbff}.fm-tl.wk{color:var(--good)}
@media (max-width:640px){
  .arena.fmode{padding:6px 4px 8px;min-height:200px}
  .fm-ord{margin-bottom:10px;padding:2px 6px}.fm-ord b{font-size:10px}.fm-ord .o{width:20px;height:20px}.fm-ord .o img{width:16px;height:16px}
  .fm-board{grid-template-columns:minmax(0,1fr) 14px minmax(0,1fr);gap:3px}
  .fm-side{gap:6px}.fm-lines{gap:3px}.fm-line{padding:10px 2px 3px}.fm-col{gap:4px}
  .fm-line>i{font-size:7.5px;padding:0 3px}.fm-lbl{font-size:8.5px}.fm-vs{font-size:10px}
  .arena.fmode .ent.tk{grid-template-columns:minmax(0,1fr);justify-items:center;padding:3px 2px;gap:2px;border-width:1px;text-align:center}
  .ent.tk .av{width:30px;height:30px}.ent.tk .av img{width:27px;height:27px}
  .ent.tk .tx{width:100%;align-items:center}
  .ent.tk .who{font-size:8.5px;max-width:100%;text-align:center}
  .ent.tk .hpb{width:100%;height:6px}.ent.tk .hpb .fhp{display:none}
  .ent.tk .fics{justify-content:center;min-height:11px}
  .ent.tk .fc{height:11px;font-size:7.5px;padding:0 2px}
  .ent.tk .fc .uico,.ent.tk .fc svg,.ent.tk .fc .fm-el{width:8px;height:8px}
  .arena.fmode .ent.tk .float{font-size:12px;top:-6px;right:0}
  .arena.fmode .ent.tk .fxb,.arena.fmode .ent.tk .ring{left:50%;top:30%}
}
/* 1.0.30 : petit module de combat hors de l'onglet Combat (js/formation.js, choix 24A) */
#nav .navmf,.mfstrip{display:none}
.mf-hd{display:flex;justify-content:space-between;align-items:baseline;gap:6px;min-width:0}
.mf-n{font-weight:900;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}
.mf-t{flex:none;font-size:10.5px;color:var(--muted);font-weight:700}
.mf-cols{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:8px}
.mf-c{display:flex;flex-direction:column;gap:3px;min-width:0}
.mf-u{display:grid;grid-template-columns:18px minmax(0,1fr);gap:4px;align-items:center}
.mf-u img{width:18px;height:18px;object-fit:contain}
.mf-u.dead{opacity:.35}
.mf-b{display:block;height:6px;border-radius:4px;background:var(--panel3);overflow:hidden}
.mf-b>i{display:block;height:100%;background:linear-gradient(90deg,#3fb35d,#8be06b);transition:width .3s}
.mf-c.m .mf-b>i,.mf-sd.m .mf-b>i{background:linear-gradient(90deg,#c2412d,#f08a3c)}
.mf-lg{font-size:10.5px;color:var(--muted);font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}
@media (min-width:860px){
  #nav .sn-side button.navmf{display:flex;flex-direction:column;align-items:stretch;gap:5px;margin:2px 0 6px;padding:7px 8px;min-height:0;border:2px solid var(--frame);border-radius:12px;background:var(--panel2);font-size:11.5px;font-weight:700;cursor:pointer}
  #nav .sn-side button.navmf:hover{background:var(--panel3)}
  #nav .sn-side button.navmf[hidden],body.navmini #nav .sn-side button.navmf{display:none}
}
@media (min-width:1280px) and (max-width:1599px){body.chat-open #nav .sn-side button.navmf{display:none}}
@media (max-width:859px){
  .mfstrip{position:fixed;left:8px;right:8px;bottom:calc(var(--navh) + 6px);z-index:44;display:grid;grid-template-columns:auto minmax(0,1fr) auto;grid-template-areas:"hd sd fo" "lg lg lg";gap:2px 8px;align-items:center;padding:5px 5px 5px 10px;border:2px solid var(--frame);border-radius:12px;background:var(--panel);color:var(--ink);box-shadow:0 6px 20px rgba(0,0,0,.45);font-size:11.5px;cursor:pointer}
  .mfstrip .mf-hd{grid-area:hd;flex-direction:column;align-items:flex-start;gap:0;max-width:34vw}
  .mfstrip .mf-n{max-width:100%}
  .mfstrip .mf-sides{grid-area:sd;display:grid;gap:3px;min-width:0}
  .mfstrip .mf-sd{display:grid;grid-template-columns:auto minmax(0,1fr);gap:6px;align-items:center}
  .mfstrip .mf-ics{display:flex;gap:1px}.mfstrip .mf-ics img{width:15px;height:15px;object-fit:contain}
  .mfstrip .mf-fold{grid-area:fo;width:30px;height:30px;border:0;border-radius:8px;background:var(--panel2);color:var(--ink);font-size:14px;cursor:pointer}
  .mfstrip .mf-lg{grid-area:lg}
  .mfstrip.fold{grid-template-areas:"hd sd fo";padding:2px 4px 2px 10px}
  .mfstrip.fold .mf-lg,.mfstrip.fold .mf-ics{display:none}
  .mfstrip.fold .mf-hd{flex-direction:row;align-items:baseline;gap:6px}
  .mfstrip.fold .mf-fold{height:24px}
  body.mfon .chmin{bottom:calc(var(--navh) + 80px)}
  body.mfon.mffold .chmin{bottom:calc(var(--navh) + 46px)}
  body.mfon .toasts{bottom:calc(var(--navh) + 84px)}
  body.mfon .app{padding-bottom:calc(var(--navh) + 92px)}
}
/* 1.0.30 : classement du donjon dans sa fiche (js/dgrank.js, choix 22A et 23B) : top 5, ta place, équipe de chaque record */
.dgrank{border:2px solid var(--frame);border-radius:12px;padding:10px;background:var(--panel2);display:flex;flex-direction:column;gap:6px}
.dgrank .dgr-h{gap:6px;flex-wrap:wrap}
.dgrank .lbr{padding:6px 8px;grid-template-columns:30px 34px minmax(0,1fr) auto;cursor:default}
.dgrank .lbr:not(.me):not(.mine):hover{background:none}
.dgrank .lbr.me{margin-top:4px}
.dgrank .lbr .sc{font-size:13px}
.dgrank .seg button{font-size:11.5px;padding:2px 10px}
.tmini{display:inline-flex;gap:2px;vertical-align:middle;margin-top:2px}
.tmini .cm{width:18px;height:18px;border-width:1px}
@media (max-width:600px){.dgrank{padding:8px}.dgrank .lbr{grid-template-columns:24px 30px minmax(0,1fr) auto;padding:6px 4px;gap:6px}.dgrank .lbr .sc{font-size:12px}}
/* 1.0.30 : GIGA annonce d'un Dofus (js/giga.js, choix 37A) : plein écran 6 s chez tous les joueurs connectés */
.giga{position:fixed;inset:0;z-index:300;display:grid;place-items:center;padding:16px;overflow:hidden;cursor:pointer;background:radial-gradient(circle at 50% 42%,rgba(150,92,16,.96),rgba(52,26,4,.97) 46%,rgba(4,3,8,.98) 78%);animation:gigain .45s ease-out}
.giga-rays{position:absolute;left:50%;top:42%;width:170vmax;height:170vmax;margin:-85vmax 0 0 -85vmax;background:repeating-conic-gradient(rgba(255,224,138,.16) 0 9deg,transparent 9deg 22deg);animation:gigarot 18s linear infinite;pointer-events:none;-webkit-mask:radial-gradient(circle,#000 18%,transparent 62%);mask:radial-gradient(circle,#000 18%,transparent 62%)}
.giga-box{position:relative;display:flex;flex-direction:column;align-items:center;gap:8px;text-align:center;max-width:min(560px,100%);color:#fff7e3}
.giga-img{width:170px;height:170px;object-fit:contain;filter:drop-shadow(0 0 26px rgba(255,214,110,.95)) drop-shadow(0 8px 10px rgba(0,0,0,.6));animation:gigapop .7s cubic-bezier(.2,1.4,.4,1) both,gigafloat 2.6s ease-in-out .7s infinite}
.giga-k{display:inline-flex;align-items:center;gap:6px;font-size:12.5px;font-weight:900;letter-spacing:1.6px;text-transform:uppercase;color:#ffe9b0}
.giga-k .uico{width:18px;height:18px}
.giga-t{font-family:var(--font-title);font-size:34px;line-height:1.1;color:#ffe08a;text-shadow:0 3px 0 #6a3a00,0 0 22px rgba(255,190,60,.85);letter-spacing:.5px;animation:gigapop .6s ease-out .1s both}
.giga-who{font-size:16px;font-weight:700;color:#fff7e3;text-shadow:0 2px 4px rgba(0,0,0,.7)}
.giga-who b{color:#ffe08a}.giga-who span{color:#e8d6b0;font-weight:600}
.giga-odd{display:inline-block;padding:5px 14px;border-radius:999px;font-weight:900;font-size:14px;color:#2a1a00;background:linear-gradient(180deg,#ffe9a3,#f2c44b);box-shadow:0 0 18px rgba(255,200,80,.6)}
.giga-s{font-size:11.5px;color:rgba(255,247,227,.72)}
.giga .btn{margin-top:4px}
@keyframes gigain{from{opacity:0}to{opacity:1}}
@keyframes gigarot{to{transform:rotate(360deg)}}
@keyframes gigapop{0%{opacity:0;transform:scale(.4)}100%{opacity:1;transform:scale(1)}}
@keyframes gigafloat{0%,100%{transform:translateY(0)}50%{transform:translateY(-8px)}}
.reduced .giga-rays,.nomotion .giga-rays{animation:none}.reduced .giga-img,.nomotion .giga-img{animation:none}
@media (max-width:600px){.giga-img{width:120px;height:120px}.giga-t{font-size:26px}.giga-who{font-size:14px}.giga-odd{font-size:12.5px;padding:4px 11px}}
.ann.giga-ann{cursor:pointer;background:linear-gradient(90deg,rgba(255,206,92,.24),rgba(255,206,92,.05));box-shadow:inset 0 0 0 1px rgba(255,206,92,.55)}
.ann.giga-ann .giga-ico{width:24px;height:24px;object-fit:contain;flex:none;filter:drop-shadow(0 0 5px rgba(255,214,110,.8))}

/* ---------- 1.0.30 « Forge » (js/forge.js, js/forgeui.js) ---------- */
/* 36A : repère des 80 % sur les barres de l'établi, ligne de la forgemagie dure */
.pg .mk80{position:absolute;top:0;bottom:0;width:2px;background:var(--danger);opacity:.85}
.fhard{display:flex;gap:8px;align-items:flex-start;padding:7px 10px;margin:4px 0 8px;border-radius:10px;border:1px solid color-mix(in srgb,var(--danger) 45%,transparent);background:color-mix(in srgb,var(--danger) 9%,transparent);line-height:1.35}
.fhard .uico{color:var(--danger);margin-top:1px}
.fhardbox{display:flex;flex-direction:column;gap:6px;padding:10px 12px;margin:4px 0 10px;border-radius:12px;border:2px solid var(--gold);background:rgba(var(--glw,240,195,90),.07)}
.fhardbox>b{display:flex;gap:6px;align-items:center}
.fhardbox table{width:100%;border-collapse:collapse;font-size:12px}
.fhardbox th{font-size:10.5px;color:var(--muted);font-weight:800;text-align:left;padding:2px 6px}
.fhardbox td{padding:3px 6px;border-top:1px solid var(--line);font-variant-numeric:tabular-nums}
.fhardbox td:nth-child(3){font-weight:900;color:var(--gold)}
@media (max-width:600px){.fhardbox th:nth-child(4),.fhardbox td:nth-child(4){display:none}}
/* 43A : coefficients, bandeau des plus hauts et plus bas */
.fco{font-weight:900;padding:0 5px;border-radius:5px;white-space:nowrap}
.fco.hi{background:rgba(63,179,93,.2);color:#3fb35d}
.fco.vhi{background:rgba(240,180,41,.25);color:#d79a0e}
.fco.lo{background:rgba(216,71,60,.18);color:#d8473c}
.fcstrip{display:flex;flex-wrap:wrap;align-items:center;gap:5px 6px;padding:7px 10px;margin:0 0 10px;border-radius:12px;background:var(--panel2);border:1px solid var(--frame);font-size:12px}
.fcstrip>b{font-size:11.5px;margin-left:4px}
.fch{display:inline-flex;align-items:center;gap:4px;padding:2px 6px 2px 3px;border-radius:999px;border:1px solid var(--frame);background:var(--panel);color:var(--ink);font-size:12px;cursor:pointer;white-space:nowrap;max-width:100%;overflow:hidden;text-overflow:ellipsis}
span.fch{cursor:default;padding-left:8px}
.fch img{width:18px;height:18px;object-fit:contain}
/* 43A : atelier à droite de la liste (au-dessus sur téléphone) */
.fbrg{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);gap:14px;align-items:start}
.fbrl{display:flex;flex-direction:column;gap:10px;min-width:0;contain:layout style}
.fbat{contain:layout style}
.fbat .pad{display:flex;flex-direction:column;gap:8px}
@media (min-width:901px){.fbat{position:sticky;top:70px;max-height:calc(100vh - 86px);overflow:auto}}
@media (max-width:900px){.fbrg{grid-template-columns:1fr}.fbat{order:-1}}
.fbits{display:flex;flex-wrap:wrap;gap:6px}
.fbit{position:relative;width:44px;height:44px;border-radius:9px;background:var(--panel2);border:2px solid var(--frame);display:grid;place-items:center}
.fbit img{width:36px;height:36px;object-fit:contain}
.fbit u{position:absolute;left:-5px;top:-6px;font-size:9.5px;font-weight:900;text-decoration:none;padding:0 4px;border-radius:6px;background:var(--gold);color:#1b1b1b}
.fbit i{position:absolute;right:-5px;bottom:-6px;font-style:normal;font-size:9.5px;font-weight:900;padding:0 4px;border-radius:6px;background:#2b2b2b;color:#fff;border:1px solid rgba(255,255,255,.25)}
.fbit i.hi{background:#2f8f4e}.fbit i.lo{background:#b2362d}
.fbit.more{font-size:12px;font-weight:800;color:var(--muted)}
.frt{width:100%;border-collapse:collapse;font-size:12.5px}
.frt th{font-size:10.5px;font-weight:800;color:var(--muted);text-align:right;padding:2px 6px}
.frt th:first-child,.frt td:first-child{text-align:left}
.frt td{padding:3px 6px;border-top:1px solid var(--frame);text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}
.frt td:first-child .uico{margin-right:4px}
.frt td.z{color:var(--muted);opacity:.55}
.frt tr.fo td{background:rgba(var(--glw,240,195,90),.16)}
.ffc{display:flex;flex-wrap:wrap;gap:5px}
.fchip{display:inline-flex;align-items:center;gap:4px;padding:3px 8px;border-radius:999px;border:1px solid var(--frame);background:var(--panel2);color:var(--ink);font-size:11.5px;white-space:nowrap;cursor:pointer}
.fchip .uico{width:14px;height:14px}
.fchip em{font-style:normal;font-weight:900;color:var(--gold)}
.fchip.best{border-color:var(--gold)}
.fchip.on{border:2px solid var(--gold);background:rgba(var(--glw,240,195,90),.18);font-weight:800}
.fval{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:3px 10px;align-items:center;padding:8px 10px;border-radius:10px;background:var(--panel2);border:1px solid var(--frame);font-size:12.5px}
.fval b.num{text-align:right}
.fval .big{font-size:16px;color:var(--gold)}
.fval.muted{display:block}
.frent{display:inline-block;font-size:10.5px;font-weight:900;padding:1px 7px;border-radius:999px;white-space:nowrap;flex:none}
.frent.ok{background:rgba(63,179,93,.22);color:#3fb35d;border:1px solid rgba(63,179,93,.5)}
.frent.no{background:var(--panel3);color:var(--muted);border:1px solid var(--frame)}
.fbgo{padding-top:6px;border-top:1px solid var(--line)}
/* 39A : un objet d'un coup d'œil (deux colonnes, jet min et max, écart avec l'objet porté) */
.fsg{display:grid;grid-template-columns:1fr 1fr;gap:3px 12px;margin:4px 0}
.fsg-c{display:grid;grid-template-columns:18px minmax(0,1fr) auto;gap:6px;align-items:center;padding:3px 2px;border-bottom:1px solid var(--line);font-size:13px;min-width:0}
.fsg-c>.uico,.fsg-c>i:first-child{width:18px;height:18px}
.fsg-c .n{min-width:0;overflow-wrap:break-word;line-height:1.25}
.fsg-c .n i{font-style:normal;color:var(--muted);font-size:11px;margin-left:5px;white-space:nowrap;display:inline-block}
.fsg-c b{font-variant-numeric:tabular-nums;font-weight:800;white-space:nowrap;text-align:right}
.fsg-c b em{font-style:normal;font-size:11.5px;font-weight:900;margin-left:5px}
.fsg-c em.up{color:var(--good,#3fb35d)}
.fsg-c em.dn{color:var(--danger)}
.fsg-c .mx{color:var(--gold)}
.fsg-c .ov{color:#b06cff}
.fsg-c.exo .n{color:#b06cff}
.fsg-c.miss{opacity:.7}
.fsgcap{margin:2px 0 6px}
@media (max-width:380px){.fsg{grid-template-columns:1fr}}
.fpick{border:1px solid var(--line);background:var(--panel2);color:var(--ink);border-radius:999px;padding:1px 9px;font-weight:800;font-size:13px;cursor:pointer;font-variant-numeric:tabular-nums}
.fpick.on{background:var(--frame);color:#fff7e3;border-color:var(--gold)}
/* 40A : fenêtre du soft reset des jets */
.fsoft h2{margin-top:2px}
.fsoft-l{display:flex;flex-direction:column;max-height:42vh;overflow:auto;border:1px solid var(--line);border-radius:12px;background:var(--panel2)}
.fsoft-it{display:grid;grid-template-columns:40px minmax(0,1fr) auto;gap:10px;align-items:center;padding:7px 10px;border-top:1px solid var(--line);font-size:13px}
.fsoft-it:first-child{border-top:0}
.fsoft-it img{width:40px;height:40px;object-fit:contain}
.fsoft-it>b{text-align:right;color:var(--danger);font-size:12.5px}
.fcomp{display:flex;flex-wrap:wrap;gap:6px}
.fcomp span{display:inline-flex;align-items:center;gap:5px;padding:5px 10px;border-radius:999px;background:var(--panel2);border:1px solid var(--gold);font-weight:800;font-size:13px}
/* 1.0.31 « Sorts plus clairs » : fiche en une phrase, grimoire en liste, réglages en phrases, journal illustré */
.rolb{display:inline-flex;align-items:center;gap:4px;font-size:11.5px;font-weight:800;padding:2px 9px;border-radius:999px;background:var(--panel3);color:var(--ink);white-space:nowrap;margin-top:3px}
.rolb.r-dmg,.rolb.r-aoe,.rolb.r-drain,.rolb.r-dot{background:color-mix(in srgb,var(--el-f) 22%,var(--panel2))}
.rolb.r-heal,.rolb.r-shield{background:color-mix(in srgb,var(--el-a) 25%,var(--panel2))}
.rolb.r-buff,.rolb.r-summon{background:color-mix(in srgb,var(--buff) 26%,var(--panel2))}
.rolb.r-debuff{background:color-mix(in srgb,var(--el-e) 25%,var(--panel2))}
.spsent{font-size:14.5px;line-height:1.45;margin:0}
.spuse{display:flex;flex-wrap:wrap;gap:6px}.spuse span{font-size:12px;font-weight:800;background:var(--panel2);border-radius:8px;padding:3px 8px}.spuse .hi{background:var(--gold);color:#2a1c05}
.spdbl{font-size:12.5px;background:color-mix(in srgb,var(--danger) 16%,var(--panel2));border-radius:10px;padding:6px 9px}
.fxrows{display:flex;flex-direction:column;gap:3px;font-size:13px}.fxrows div{background:var(--panel2);border-radius:8px;padding:4px 8px}
.dofd summary{cursor:pointer;font-size:12px;font-weight:800;color:var(--muted)}.dofd p{margin:4px 0}
.cradio{display:flex;flex-direction:column;gap:4px}.cradio button{display:flex;align-items:center;gap:8px;border:0;cursor:pointer;text-align:left;background:var(--panel2);color:var(--ink);border-radius:10px;padding:6px 10px;font-size:13px;font-weight:700}
.cradio i{width:14px;height:14px;border-radius:50%;box-shadow:inset 0 0 0 2px var(--line);flex:none}.cradio .on{box-shadow:inset 0 0 0 1.5px var(--gold)}.cradio .on i{box-shadow:inset 0 0 0 4px var(--gold)}
.glist{display:flex;flex-direction:column;gap:14px}.gsec{display:flex;flex-direction:column;gap:6px}.gsh{font-size:14px}
.gpair{display:flex;align-items:stretch;gap:6px;background:var(--panel2);border-radius:12px;padding:5px;box-shadow:inset 0 0 0 1.5px transparent}.gpair.has{box-shadow:inset 0 0 0 1.5px var(--gold)}
.gor{align-self:center;font-size:10px;font-weight:900;color:var(--muted)}
.gcell{flex:1 1 0;min-width:0;display:flex;gap:8px;align-items:flex-start;border:0;cursor:pointer;text-align:left;background:var(--panel);color:var(--ink);border-radius:9px;padding:6px}
.gcell .spicon{width:40px;height:40px;flex:none}.gcell.on{box-shadow:inset 0 0 0 2px var(--action)}.gcell.lock,.gcell.offel{opacity:.55}
.gtx{display:flex;flex-direction:column;gap:2px;min-width:0}.gnm{display:flex;flex-wrap:wrap;gap:4px 6px;align-items:center;font-size:13px}
.gin{font-size:10.5px;font-weight:900;color:var(--action)}.glv{font-size:10.5px;font-weight:800;color:var(--muted)}
.gbd{display:flex;flex-wrap:wrap;gap:4px;align-items:center}.gbd .rolb{margin:0;font-size:10.5px;padding:1px 7px}
.gpt{font-size:11px;font-weight:900;color:var(--gold)}.gof,.gdb{font-size:10.5px;font-weight:800;border-radius:999px;padding:1px 7px;background:var(--panel3)}.gdb{background:color-mix(in srgb,var(--danger) 25%,var(--panel2))}
.gsn{display:none}
@media (max-width:700px){.gpair{flex-direction:column}.gor{align-self:flex-start;margin-left:52px}}
.log .lnew{display:flex;align-items:center;gap:6px}.log .lnew .spicon{width:20px;height:20px;flex:none}.log .lnew>span{overflow:hidden;text-overflow:ellipsis}
.lweak{font-size:10.5px;font-weight:900;background:color-mix(in srgb,var(--el-a) 35%,var(--panel));border-radius:999px;padding:0 6px}.lres{font-size:10.5px;font-weight:900;background:color-mix(in srgb,var(--danger) 30%,var(--panel));border-radius:999px;padding:0 6px}.lrole{opacity:.8}
.gcell.lock .gsn,.gcell.offel .gsn{display:none}
.log .lnew{white-space:normal;align-items:flex-start}.log .lnew>span{overflow:visible}

/* 1.1 : raccourcis clavier */
.hk-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px 14px;margin:8px 0}.hk-row{display:flex;gap:8px;align-items:center;min-width:0}.hk-row kbd{min-width:34px;text-align:center;padding:3px 7px;border-radius:7px;border:1.5px solid var(--line);border-bottom-width:3px;background:var(--panel2);font:800 12px/1.2 inherit;white-space:nowrap}
.stars .s15{color:#c9a2ff}
/* 1.0.34 : collection « Les 19 classes » (page Équipe et héros) */
.c19{margin:-4px 0 12px;padding:10px 12px;background:var(--panel);border:1px solid var(--line);border-radius:14px;display:flex;flex-direction:column;gap:6px}
.c19h{display:flex;align-items:center;flex-wrap:wrap;gap:6px 10px}
.c19t{font-family:var(--fdisp,inherit);font-size:15px;color:var(--title)}
.c19n,.c19b{font-size:12px;font-weight:800;padding:1px 9px;border-radius:999px;border:1px solid color-mix(in srgb,var(--gold) 55%,transparent);background:color-mix(in srgb,var(--gold) 16%,transparent);color:var(--gold)}
.c19b{color:var(--ink)}
.c19bar{height:7px;border-radius:6px;background:var(--panel3);overflow:hidden}.c19bar i{display:block;height:100%;background:linear-gradient(90deg,var(--gold),var(--kama,#f0c35a))}
.c19p{margin:0}
.c19g{display:grid;grid-template-columns:repeat(auto-fill,minmax(62px,1fr));gap:6px}
.c19c{position:relative;display:flex;flex-direction:column;align-items:center;gap:1px;padding:5px 2px;border-radius:10px;background:var(--panel2);border:1px solid var(--line);font-size:11px;text-align:center;min-width:0}
.c19c img{width:28px;height:28px;object-fit:contain}.c19c b{font-size:12px}
.c19c .c19nm{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.c19c.done{border-color:var(--gold);background:linear-gradient(180deg,color-mix(in srgb,var(--gold) 22%,transparent),var(--panel2))}
.c19c.no{opacity:.42;filter:grayscale(1)}
.c19c .ck{position:absolute;top:1px;right:4px;font-style:normal;font-weight:800;color:var(--gold)}
@media (max-width:600px){.c19p{display:none}.c19g{grid-template-columns:repeat(5,minmax(0,1fr))}.c19c img{width:24px;height:24px}.c19{margin:0 0 10px}}
.hcard .orn.c19{filter:drop-shadow(0 0 8px #ffd84d)}
/* Refonte du Champion (js/champui.js) : Sceaux, bandeau doré, panneau de chasse */
.ch-crown{width:18px;height:18px;vertical-align:-3px;fill:#ffc94a;stroke:#7a5a12;stroke-width:1.2;stroke-linejoin:round;flex:none}
.ch-pw{width:16px;height:16px;flex:none;fill:var(--pw);filter:drop-shadow(0 0 3px color-mix(in srgb,var(--pw) 45%,transparent))}
.ch-panel{border:2px solid rgba(255,201,74,.5);background:linear-gradient(180deg,rgba(255,201,74,.08),rgba(255,201,74,.015)),var(--panel)}
.ch-panel .phead{gap:8px;flex-wrap:wrap}
.ch-panel .phead h2{color:#ffd76a;display:flex;align-items:center;gap:6px}
.ch-panel .pad{display:flex;flex-direction:column;gap:10px}
.ch-empty{gap:12px;align-items:center;flex-direction:row!important}
.ch-gold{color:#ffd76a;font-weight:700}
.ch-chips{display:flex;gap:6px;flex-wrap:wrap;margin-left:auto}
.ch-chip{display:inline-flex;align-items:center;gap:4px;font-size:12px;font-weight:800;padding:3px 10px;border-radius:999px;border:1px solid rgba(255,201,74,.35);background:rgba(0,0,0,.18);color:var(--muted);white-space:nowrap;cursor:help}
.ch-chip.on{background:#3fb35d;border-color:#3fb35d;color:#08130a}
.ch-chip.gold{background:rgba(255,201,74,.16);color:#ffd76a}
.ch-tag{display:inline-flex;align-items:center;font-size:12px;font-weight:800;padding:4px 10px;border-radius:999px;background:#ffc94a;color:#2a1a08}
.btn.ch-ghost{background:transparent;box-shadow:inset 0 0 0 1.5px rgba(255,201,74,.45);color:#ffd76a}
/* Sceau porté */
.ch-eq{display:flex;gap:12px;align-items:center;padding:12px;border-radius:12px;background:linear-gradient(90deg,rgba(255,201,74,.16),rgba(255,201,74,.05));border:1px solid rgba(255,201,74,.5)}
.ch-eq.off{background:rgba(0,0,0,.12);border-style:dashed}
.ch-ic{width:48px;height:48px;border-radius:50%;display:flex;align-items:center;justify-content:center;gap:1px;background:radial-gradient(circle,#5a4310,#2a1f08);box-shadow:0 0 0 2px rgba(255,201,74,.55),0 0 14px rgba(255,201,74,.45);flex:none}
.ch-ic .ch-crown{width:26px;height:26px}.ch-ic .ch-pw{width:20px;height:20px}.ch-ic .ch-pw:only-child{width:26px;height:26px}
.ch-eqb{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}
.ch-eqn{font-family:var(--font-title);font-size:18px;line-height:1.1;color:#ffd76a}
.ch-eqs{font-size:12px;color:var(--muted)}
.ch-eqb ul{margin:2px 0 0;padding-left:16px;font-size:13px;line-height:1.35}
.ch-cri{align-self:flex-start;margin-top:4px;font-size:11.5px;font-weight:800;padding:2px 9px;border-radius:999px;background:rgba(255,201,74,.18);color:#ffd76a;border:1px solid rgba(255,201,74,.5);cursor:help}
/* les 6 Sceaux */
.ch-seals{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.ch-st{border:1px solid rgba(255,201,74,.25);border-radius:12px;padding:10px;background:rgba(0,0,0,.16);display:grid;grid-template-rows:auto 1fr auto auto;gap:6px;min-width:0}
.ch-sth{display:flex;align-items:center;gap:6px;min-width:0}
.ch-sth b{font-family:var(--font-title);font-weight:400;font-size:15px;color:#ffd76a;flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.ch-std{font-size:12.5px;line-height:1.35;min-height:2.7em}
.ch-st.on{box-shadow:inset 0 0 0 2px #ffc94a;background:rgba(255,201,74,.1)}
.ch-st.off{opacity:.55}.ch-st.off .ch-pw{filter:grayscale(1)}
.ch-stf{display:flex;align-items:center;justify-content:space-between;gap:6px;min-height:30px;min-width:0} /* 1.2.4.2 : une longue liste de porteurs ne pousse plus le bouton +1 ◆ hors de la carte */
.ch-cnt{font-size:12px;font-weight:700;color:var(--muted);display:flex;flex-direction:column;flex:1 1 auto;min-width:0;overflow:hidden;font-variant-numeric:tabular-nums}
.ch-cnt small{font-weight:600;font-size:11px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.ch-btns{display:flex;gap:4px;flex:none}
.ch-pips{letter-spacing:1px;color:#ffc94a;font-size:11px;flex:none}
.ch-bar{height:6px;border-radius:4px;background:rgba(255,255,255,.1);overflow:hidden}
.ch-bar i{display:block;height:100%;background:linear-gradient(90deg,#c9962a,#ffd76a)}
/* fusions */
.ch-sec{display:flex;flex-direction:column;gap:6px;padding-top:10px;border-top:1px solid rgba(255,201,74,.2)}
.ch-sech{display:flex;align-items:center;justify-content:space-between;gap:8px}.ch-sech b{color:#ffd76a;font-size:13.5px}
.ch-fz{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:6px}
.ch-fc{display:flex;align-items:center;gap:8px;padding:6px 8px;border-radius:10px;border:1px dashed rgba(255,201,74,.4);background:rgba(0,0,0,.12)}
.ch-fc.ok{border-style:solid;background:rgba(255,201,74,.1)}.ch-fc.on{box-shadow:inset 0 0 0 2px #ffc94a}
.ch-fi{display:flex;gap:1px}.ch-fn{flex:1;min-width:0;display:flex;flex-direction:column;line-height:1.2}
.ch-fn b{font-size:13px;color:#ffd76a}.ch-fn small{font-size:11px;color:var(--muted)}
.ch-foot{margin:0;padding-top:8px;border-top:1px solid rgba(255,201,74,.2);line-height:1.4}
/* bandeau en combat */
.ch-ban{display:flex;align-items:center;gap:10px;margin:6px 8px;padding:8px 12px;border-radius:12px;border:2px solid #ffc94a;background:linear-gradient(90deg,rgba(255,201,74,.26),rgba(255,201,74,.05));color:#fff2c4;font-size:13px;line-height:1.3}
.ch-ban b{font-weight:800}
.ch-ban small{display:block;font-weight:500;color:#f3dca0;font-size:11.5px}
.ch-bi{width:32px;height:32px;border-radius:50%;display:grid;place-items:center;flex:none;background:radial-gradient(circle,#5a4310,#2a1f08);box-shadow:0 0 0 2px rgba(255,201,74,.6)}
.ch-bi .ch-pw,.ch-bi .ch-crown{width:20px;height:20px}
.ch-ban.leg{border-color:#ff9d3a;background:linear-gradient(90deg,rgba(255,140,40,.32),rgba(255,201,74,.06))}.ch-ban.leg .ch-bi{box-shadow:0 0 0 2px #ff9d3a,0 0 12px rgba(255,140,40,.6)}
/* panneau de chasse */
.ch-tro{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}
.ch-tro span{display:flex;align-items:center;justify-content:center;gap:5px;border-radius:9px;padding:6px 4px;font-size:12px;font-weight:700;border:1px solid rgba(255,201,74,.4);background:rgba(255,201,74,.1);color:#ffd76a;min-width:0;white-space:nowrap;overflow:hidden}
.ch-tro span.no{border-style:dashed;border-color:rgba(255,255,255,.18);background:none;color:var(--muted)}.ch-tro span.no .ch-pw{filter:grayscale(1);opacity:.5}
.ch-trail{display:grid;grid-template-columns:repeat(3,1fr);gap:4px}
.ch-trail i{height:8px;border-radius:4px;background:rgba(255,255,255,.1)}.ch-trail i.on{background:linear-gradient(90deg,#c9962a,#ffd76a)}
.ch-legb{width:100%;justify-content:center;display:inline-flex;align-items:center;gap:6px}.ch-legb .ch-crown{width:16px;height:16px}
.ch-legb[disabled]{opacity:.5}
.ch-legst{text-align:center;font-weight:800;font-size:13px;padding:6px;border-radius:10px;background:rgba(255,157,58,.18);color:#ffb36b;border:1px solid rgba(255,157,58,.5)}
.ch-hint{margin-top:-4px;text-align:center}
.ch-stats{display:grid;grid-template-columns:1fr 1fr;gap:6px}
.ch-stats>div{display:flex;flex-direction:column;gap:2px;padding:7px 9px;border-radius:10px;background:rgba(0,0,0,.16)}
.ch-stats b{font-size:13px;display:flex;align-items:center;gap:5px}
.ch-slot-m{display:none}
@media (max-width:860px){.ch-slot-m{display:block;margin:8px}.ch-slot-d{display:none}}
@media (max-width:640px){.ch-seals{grid-template-columns:repeat(2,minmax(0,1fr))}.ch-st{padding:9px 8px}.ch-sth{flex-wrap:wrap;row-gap:2px}.ch-sth .ch-pips{flex-basis:100%}.ch-stf{flex-wrap:wrap}.ch-btns{width:100%}.ch-btns>*{flex:1;justify-content:center;text-align:center}.ch-btns .ch-ghost{flex:0 0 auto}.ch-eq{align-items:flex-start}.ch-eqn{font-size:16px}.ch-panel .phead .ch-chips{margin-left:0}}
.ent.sealaura img.sprite,.ent.sealaura .av{filter:drop-shadow(0 0 5px rgba(255,201,74,.75))}
.ent.sealcri{box-shadow:0 0 0 2px #ffc94a,0 0 14px rgba(255,201,74,.8)}
/* menu Chasse (js/champui.js) */
.ch-line{display:flex;align-items:center;gap:10px;padding:10px 12px}
.ch-line .ch-ic{width:40px;height:40px}.ch-line .ch-ic .ch-pw{width:18px;height:18px}.ch-line .ch-ic .ch-pw:only-child{width:22px;height:22px}
.ch-lt{flex:1;min-width:0;display:flex;flex-direction:column;line-height:1.3}.ch-lt small{font-size:12px;color:var(--muted)}
.ch-page{display:flex;flex-direction:column;gap:12px}
.ch-ph h1{color:#ffd76a}.ch-ph p{margin:2px 0 0}
.ch-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}
.ch-kpi{display:flex;align-items:center;gap:10px;padding:10px 12px;border-radius:12px;border:1px solid rgba(255,201,74,.35);background:linear-gradient(180deg,rgba(255,201,74,.1),rgba(255,201,74,.02)),var(--panel)}
.ch-kpi>svg{width:24px;height:24px}.ch-kpi span{display:flex;flex-direction:column;line-height:1.15;min-width:0}.ch-kpi b{font-size:18px;color:#ffd76a;font-variant-numeric:tabular-nums}.ch-kpi small{font-size:11.5px;color:var(--muted)}
.ch-sh{font-size:20px;color:#ffd76a;width:24px;text-align:center}
.ch-cols{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);gap:12px;align-items:start}
.ch-cl,.ch-cr{display:flex;flex-direction:column;gap:12px;min-width:0}
.ch-team{display:flex;flex-direction:column;gap:6px}
.ch-tr{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);grid-template-areas:"n c" "e e";gap:4px 10px;align-items:center;padding:7px 9px;border-radius:10px;background:rgba(0,0,0,.16)}
.ch-tn{grid-area:n;display:flex;align-items:center;gap:8px;min-width:0}.ch-tn .cm{width:30px;height:30px;flex:none}.ch-tn>span{display:flex;flex-direction:column;line-height:1.15;min-width:0}.ch-tn b{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ch-tn small{font-size:11px;color:var(--muted)}
.ch-tc{grid-area:c;display:flex;align-items:center;gap:4px;min-width:0}.ch-tc select{flex:1;min-width:0}
.ch-te{grid-area:e}
.ch-seals.six{grid-template-columns:repeat(3,minmax(0,1fr))}
.ch-flt{display:inline-flex;gap:4px;margin-left:auto;flex-wrap:wrap}
.ch-flt button{border:1px solid rgba(255,201,74,.35);background:rgba(0,0,0,.16);color:var(--ink);border-radius:999px;padding:3px 10px;font-weight:800;font-size:12px;cursor:pointer}
.ch-flt button.on{background:#ffc94a;color:#2a1a08;border-color:#ffc94a}.ch-flt small{opacity:.7}
.ch-zhelp{margin:0}
.ch-zl{display:flex;flex-direction:column;gap:6px}
.ch-zc{display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:6px 10px;padding:7px 9px;border-radius:10px;border:1px solid rgba(255,201,74,.22);background:rgba(0,0,0,.16)}
.ch-zc.done{border-color:rgba(63,179,93,.6);background:rgba(63,179,93,.08)}.ch-zc.here{box-shadow:inset 0 0 0 2px #ffc94a}
.ch-zn{display:flex;flex-direction:column;line-height:1.2;min-width:0}.ch-zn b{font-size:13px;display:flex;align-items:center;gap:6px;min-width:0}.ch-zn small{font-size:11px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ch-zn .ch-chip{font-size:10.5px;padding:1px 7px}.ch-zn .ch-crown{width:12px;height:12px}
.ch-zi{display:flex;align-items:center;gap:4px}
.ch-zi>span:not(.ch-zt){width:22px;height:22px;border-radius:6px;display:grid;place-items:center;border:1px solid rgba(255,201,74,.4);background:rgba(255,201,74,.1)}
.ch-zi>span.no{border-style:dashed;border-color:rgba(255,255,255,.15);background:none}.ch-zi>span.no .ch-pw{filter:grayscale(1);opacity:.4}
.ch-zi .ch-pw{width:13px;height:13px}
.ch-zt{display:flex;flex-direction:column;gap:2px;margin-left:3px}.ch-zt i{width:10px;height:4px;border-radius:2px;background:rgba(255,255,255,.14)}.ch-zt i.on{background:#ffc94a}
.ch-zg2{display:flex;justify-content:flex-end;min-width:74px}
.ch-tag.soft{background:rgba(255,201,74,.16);color:#ffd76a}
@media (max-width:1100px){.ch-cols{grid-template-columns:minmax(0,1fr)}}
@media (max-width:640px){.ch-zc{grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"n g" "i i"}.ch-zn{grid-area:n}.ch-zi{grid-area:i}.ch-zg2{grid-area:g}.ch-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.ch-seals.six{grid-template-columns:repeat(2,minmax(0,1fr))}.ch-tr{grid-template-columns:minmax(0,1fr)}.ch-tr{grid-template-areas:"n" "c" "e"}}
details.ch-zg{border-radius:10px;background:rgba(0,0,0,.12);padding:0 8px}details.ch-zg[open]{padding-bottom:8px}
details.ch-zg summary{display:flex;justify-content:space-between;align-items:center;gap:8px;padding:8px 2px;cursor:pointer;list-style:none}details.ch-zg summary::-webkit-details-marker{display:none}
details.ch-zg summary b{color:#ffd76a;font-size:13.5px}details.ch-zg summary b::before{content:"▸ ";color:var(--muted)}details.ch-zg[open] summary b::before{content:"▾ "}
.ch-cr .ch-panel .pad{gap:8px}
/* 1.0.31 : inventaire lisible (sections, pastilles, flèche « mieux », barre de jet, sélection multiple, fiche resserrée) */
.invtools{display:flex;flex-direction:column;gap:8px}
.invchips{margin:0}
.invsec{margin-bottom:10px}
.invsech{display:flex;align-items:center;gap:8px;width:100%;background:none;border:0;border-bottom:2px solid var(--frame);padding:4px 2px 6px;margin-bottom:8px;color:var(--ink);cursor:pointer;font:inherit;text-align:left}
.invsech b{font-family:var(--title,inherit);font-size:16px}
.iup{position:absolute;right:3px;top:2px;width:17px;height:17px;border-radius:50%;background:#3fbf4f;color:#fff;font-size:10px;line-height:17px;text-align:center;font-weight:900;box-shadow:0 0 0 2px var(--panel2)}
.itile .iup~.ilock,.itile .ilock{right:22px}
.itile:not(:has(.iup)) .ilock{right:3px}
.ijet{display:block;position:absolute;left:6px;right:6px;bottom:3px;height:4px;border-radius:3px;background:rgba(0,0,0,.28);overflow:hidden}
.ijet::after{content:"";position:absolute;left:0;top:0;bottom:0;width:var(--w);background:hsl(var(--hj) 75% 50%);border-radius:3px}
.itile:has(.ijet) .icount{bottom:9px}
.itile:has(.ijet) .ieq{bottom:9px}
.inewi{position:absolute;left:50%;transform:translateX(-50%);top:-7px;font-size:9px;font-weight:900;background:var(--gold);color:#1a1510;border-radius:6px;padding:0 4px;white-space:nowrap}
.itile.picked{border-color:var(--gold);box-shadow:0 0 0 2px var(--gold);filter:none}
.ipick{position:absolute;left:4px;top:16px;width:18px;height:18px;border-radius:5px;border:2px solid var(--frame);background:var(--panel);color:#13200a;font-weight:900;font-size:12px;line-height:14px;text-align:center}
.picked .ipick{background:var(--gold);border-color:var(--gold)}
.invpickbar{position:sticky;bottom:10px;z-index:30;display:flex;align-items:center;gap:8px;flex-wrap:wrap;background:var(--panel);border:2px solid var(--gold);border-radius:14px;padding:8px 12px;box-shadow:0 8px 24px rgba(0,0,0,.4);margin-top:10px}
@media (max-width:860px){.invpickbar{bottom:96px}}
.invacts{display:flex;flex-wrap:wrap;gap:6px;padding:8px 12px;border-bottom:1px solid var(--line,rgba(255,255,255,.08))}
.invupl{margin:8px 12px 0;padding:6px 10px;border-radius:10px;background:rgba(63,191,79,.15);color:var(--ink)}
.invupl b{color:#5fd36b}
.invcopies{display:flex;flex-direction:column;gap:4px;padding:6px 12px 2px;max-height:190px;overflow:auto}
.invcopy{display:flex;align-items:center;gap:8px;background:var(--panel2);border:2px solid transparent;border-radius:10px;padding:5px 8px;color:var(--ink);cursor:pointer;font:inherit;font-size:13px}
.invcopy.on{border-color:var(--gold)}
.invcopy .ijet{position:relative;left:0;right:0;bottom:0;width:54px;flex:none}
.invsetd summary{cursor:pointer;font-weight:800;margin:8px 0 4px}
@media (max-width:860px){.invtools .ilbl{display:none}.invtools .invbar{flex-wrap:nowrap;gap:6px}.invtools .invbar input[type=text]{min-width:0}.invtools .invbar select{max-width:132px}}
.invhint{display:flex;align-items:center;gap:8px;flex-wrap:wrap;padding:8px 12px;border-radius:12px;background:rgba(63,191,79,.13);border:1.5px solid rgba(63,191,79,.45);font-size:13.5px}
.invsmall .invgrid{grid-template-columns:repeat(auto-fill,minmax(50px,1fr));gap:5px}.invsmall .itile{border-radius:9px}.invsmall .ilvl{font-size:9px}.invsmall .icount{font-size:9.5px}.invsmall .iup{width:14px;height:14px;line-height:14px;font-size:8px}.invsmall .inewi{display:none}
.iset{position:absolute;left:3px;bottom:9px;font-size:9.5px;font-weight:900;background:#5b7fd6;color:#fff;border-radius:5px;padding:0 3px}
.invcmpl{display:flex;align-items:center;gap:6px;flex-wrap:wrap;padding:8px 12px 0}
.invcmp{position:relative;width:32px;height:32px;border-radius:50%;padding:0;border:2px solid var(--frame);background:var(--panel2);overflow:visible;cursor:pointer}.invcmp img{width:100%;height:100%;border-radius:50%;object-fit:cover}
.invcmp.on{border-color:var(--gold);box-shadow:0 0 0 2px var(--gold)}.invcmp i{position:absolute;right:-4px;top:-4px;font-style:normal;font-size:8px;width:14px;height:14px;line-height:14px;border-radius:50%;background:#3fbf4f;color:#fff;text-align:center}
.igain{position:absolute;left:50%;transform:translateX(-50%);top:-7px;font-size:9.5px;font-weight:900;background:#3fbf4f;color:#fff;border-radius:6px;padding:0 4px;white-space:nowrap}.igain.neg{background:var(--panel3);color:var(--muted)}.igain.st{background:#5b7fd6}
.invfor{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.invcmp.all{width:auto;border-radius:999px;padding:0 10px;font-weight:800;font-size:12px;color:var(--ink)}
.invstp .invstg{display:flex;flex-wrap:wrap;gap:5px;align-items:center}
.invstp .invstg>.xs{flex-basis:100%}
.invstp button{font:inherit;font-size:12.5px;font-weight:700;cursor:pointer;display:inline-flex;align-items:center;gap:4px;padding:3px 9px;border-radius:999px;border:1px solid var(--line,rgba(0,0,0,.15));background:var(--panel2,transparent);color:inherit}
.invstp button[aria-pressed="true"]{background:var(--gold,#b3e05c);color:#13200a;border-color:transparent}
.invstp button b{opacity:.6;font-weight:800}
.invstp button img,.invstp button svg{width:16px;height:16px}
.invstx{font:inherit;font-weight:800;cursor:pointer;border:0;border-radius:999px;padding:1px 8px;background:var(--gold,#b3e05c);color:#13200a}
.invtools .ilbs{display:none}
@media (max-width:860px){.invtools .ilbs{display:inline}}
.itile:has(.igain) .ilvl{top:10px}
.igain.st{max-width:calc(100% - 4px);overflow:hidden;text-overflow:ellipsis}
.invtools .btn.primary[data-act="invstatopen"]{font-family:inherit}
@media (max-width:860px){.invtools .invbar{flex-wrap:wrap}.invtools .invbar input[type=text]{flex:1 1 100%}.invtools .invbar select{flex:1;max-width:none}}
.toast.lootup{display:flex;align-items:center;gap:8px}.toast.lootup b{color:#5fd36b}.toast.lootup .btn{flex:none}
.toast.lootup{pointer-events:auto}
@media (max-width:860px){.invtools .invbar select{flex:1 1 0;min-width:0}.invfor{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none}.invfor>*{flex:none}}
@media (max-width:860px){.invcmpl{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none}.invcmpl>*{flex:none}}
/* 1.0.36 « Plateau » : sol isométrique façon DOFUS, une case par combattant ; noms et PV dans le bandeau (.schud) */
.arena.v2.iso::before{content:"";position:absolute;left:0;right:0;bottom:0;height:64%;z-index:1;pointer-events:none;
 background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='64' height='32'%3E%3Cpath d='M32 1L63 16L32 31L1 16Z' fill='rgba(255,255,255,.035)' stroke='rgba(255,255,255,.15)'/%3E%3C/svg%3E");
 background-size:var(--tw,64px) calc(var(--tw,64px) / 2);background-position:center bottom;-webkit-mask:linear-gradient(transparent,#000 45%);mask:linear-gradient(transparent,#000 45%)}
.arena.v2.iso .ent>.who,.arena.v2.iso .ent>.hpb{visibility:hidden;height:0;margin:0}
.arena.v2.iso .ent>.pas,.arena.v2.iso .ent>.sts{display:none}
.arena.v2.iso .ent::after{width:calc(var(--tw,64px) * .95);height:calc(var(--tw,64px) * .48);bottom:-6px;border-radius:0;clip-path:polygon(50% 0,100% 50%,50% 100%,0 50%);background:rgba(120,200,255,.26)}
.arena.v2.iso .ent.m::after{background:rgba(255,110,100,.24)}
.arena.v2.iso .ent.summon::after{width:calc(var(--tw,64px) * .6);height:calc(var(--tw,64px) * .3);bottom:-4px}
.arena.v2.iso .ent.cur::after{background:rgba(255,226,110,.6);height:calc(var(--tw,64px) * .48)}
.arena.v2.iso .ent.dead::after{display:none}
.arena.v2.iso .ent.m.boss::after{width:calc(var(--tw,64px) * 1.35);height:calc(var(--tw,64px) * .66);bottom:-10px;background:rgba(255,150,60,.34);box-shadow:none}
.arena.v2.iso .ent.m.boss.cur::after{background:rgba(255,226,110,.6)}
.arena.v2.iso .ent.m.boss img.sprite{width:calc(var(--h) * 1.4);height:calc(var(--h) * 1.4)}
.arena.v2.iso .ent.summon img.sprite{width:calc(var(--h) * .42);height:calc(var(--h) * .42)}
.arena.v2.iso .float{font-size:17px}.arena.v2.iso .float.crit{font-size:21px}.arena.v2.iso .float.crit small{font-size:8.5px}
.schud{display:grid;grid-template-columns:1fr 1fr;gap:8px;padding:8px;background:var(--panel2);border-top:1px solid var(--line)}
.schud .hside{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px;align-content:start}
.schud .hside.m{direction:rtl}.schud .hside.m>.hc{direction:ltr}
.schud .hc{display:grid;grid-template-columns:30px 1fr;gap:2px 7px;align-items:center;padding:4px 7px;border-radius:9px;background:var(--panel3,rgba(255,255,255,.04));border:1.5px solid transparent;min-width:0;cursor:pointer}
.schud .hc.now{border-color:var(--gold);box-shadow:0 0 0 1px rgba(0,0,0,.2),0 0 10px rgba(179,224,92,.25)}
.schud .hc.ko{opacity:.38;filter:grayscale(1)}
.schud .hc.boss{border-color:rgba(255,120,80,.5);grid-column:1/-1}.schud .hc.boss .hbar{height:8px}
.schud .hp{width:30px;height:30px;border-radius:50%;overflow:hidden;background:rgba(0,0,0,.28);display:grid;place-items:center}
.schud .hp img{width:100%;height:100%;object-fit:contain}
.schud .hb{min-width:0;display:grid;gap:2px}
.schud .hb b{font-size:12px;line-height:1.1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:flex;gap:3px;align-items:center}
.schud .hb b svg{width:12px;height:12px;color:#ffd84d;flex:none}
.schud .hbar{height:6px;border-radius:3px;background:rgba(0,0,0,.45);position:relative;overflow:hidden}
.schud .hbar i{position:absolute;inset:0 auto 0 0;background:linear-gradient(90deg,#8fe06a,#3fa34d);transition:width .3s}
.schud .hc.m .hbar i{background:linear-gradient(90deg,#ff6b5e,#e0453a)}
.schud .hbar u{position:absolute;inset:0 auto 0 0;background:rgba(160,220,255,.85);transition:width .3s}
.schud .hpv{font-size:10px;font-weight:800;color:#ffe3a0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;line-height:1.1}
.schud .hpv:empty{display:none}
.schud .hss{grid-column:1/-1;display:flex;gap:3px;flex-wrap:wrap}
.schud .hss:empty{display:none}
.schud .hsum{position:relative;width:22px;height:22px;border-radius:6px;background:rgba(0,0,0,.35);overflow:hidden;display:grid;place-items:center}
.schud .hsum img{width:100%;height:100%;object-fit:contain}
.schud .hsum i{position:absolute;left:0;bottom:0;height:3px;background:#8fe06a}
@media (max-width:640px){.schud{gap:6px;padding:6px}.schud .hside{grid-template-columns:repeat(4,minmax(0,1fr));gap:3px}
 .schud .hc{grid-template-columns:1fr;justify-items:center;padding:3px 2px;gap:2px}.schud .hb{width:100%}.schud .hb b,.schud .hpv{display:none}
 .schud .hp{width:26px;height:26px}.schud .hss{justify-content:center}.schud .hc.boss{grid-column:span 2}.schud .hsum{width:15px;height:15px}}

/* 1.0.36 « Nouvelles animations » : chacun respire à son rythme (héros compris), les volants flottent */
.arena.v2.anlive .ent.hero:not(.act):not(.hit):not([data-pv]) .look{transform-origin:50% 100%;animation:anbr var(--bp,2.6s) ease-in-out var(--bd,0s) infinite}
.arena.v2.anlive .ent:not(.act):not(.hit) img.sprite{transform-origin:50% 100%;animation:anbr var(--bp,2.6s) ease-in-out var(--bd,0s) infinite}
.arena.v2.anlive .ent.anfly:not(.act):not(.hit) img.sprite{animation:anfly var(--bp,2.6s) ease-in-out var(--bd,0s) infinite}
@keyframes anbr{0%,100%{transform:none}50%{transform:scale(.975,1.04)}}
@keyframes anfly{0%,100%{transform:translateY(-8px) rotate(1.5deg)}50%{transform:translateY(-18px) rotate(-2deg)}}
@media (prefers-reduced-motion:reduce){.arena.v2.anlive .ent .look,.arena.v2.anlive .ent img.sprite{animation:none}}

/* « Sorts et boss animés » : effets visibles, sorts signature, boss des mondes */
.axp.anorb{width:10px;height:10px;border-radius:50%;background:radial-gradient(circle,#fff 15%,var(--c) 60%,transparent 72%);box-shadow:0 0 10px var(--c)}
.axp.anarw{width:14px;height:18px;filter:drop-shadow(0 0 4px #c77dff)}.axp.anarw svg{width:100%;height:100%;display:block}
.axp.ancross{width:46px;height:46px;border-radius:50%;border:3px solid #ff5a5a;box-shadow:0 0 10px #ff5a5a,inset 0 0 8px rgba(255,90,90,.6);background:linear-gradient(#ff5a5a,#ff5a5a) center/2px 100% no-repeat,linear-gradient(#ff5a5a,#ff5a5a) center/100% 2px no-repeat}
.axp.andome{border-radius:50% 50% 46% 46%/60% 60% 40% 40%;background:radial-gradient(ellipse at 50% 30%,rgba(190,235,255,.35),rgba(80,170,255,.18) 60%,rgba(80,170,255,.5) 72%,transparent 74%);box-shadow:0 0 14px rgba(120,200,255,.6)}
.axp.anspark{width:6px;height:6px;border-radius:50%;background:#ffe27a;box-shadow:0 0 8px #ffd84d}
.axp.sg.antor{transform:translate(-50%,-100%);transform-origin:50% 100%;border-radius:50% 50% 10% 10%;background:conic-gradient(from 0deg,rgba(255,120,30,.0),rgba(255,140,40,.75),rgba(255,220,120,.3),rgba(255,90,20,.7),rgba(255,120,30,0));-webkit-mask:linear-gradient(transparent,#000 30%,#000);mask:linear-gradient(transparent,#000 30%,#000);animation:antor .9s ease-out both,antorspin .25s linear infinite;filter:blur(1px)}
@keyframes antor{0%{transform:translate(-50%,-100%) scale(.2,0);opacity:0}25%{opacity:1}80%{transform:translate(-50%,-100%) scale(1);opacity:1}100%{transform:translate(-50%,-100%) scale(1.2,1.05);opacity:0}}
@keyframes antorspin{to{filter:blur(1px) hue-rotate(20deg)}}
.axp.sg.anember{width:7px;height:7px;border-radius:2px;background:#ffb347;box-shadow:0 0 8px #ff7a2a}
.axp.sg.anwave{width:60px;height:60px;border-radius:50%;border:3px solid rgba(255,140,220,.9);box-shadow:0 0 10px rgba(255,120,210,.7);border-left-color:transparent;border-right-color:transparent}
.axp.sg.annote{font-size:20px;font-weight:900;color:#ff9ce0;text-shadow:0 0 6px #ff5ccf,0 1px 0 #000;transform:translate(-50%,-50%)}
.axp.sg.bx.anplan{inset:0;left:0!important;top:0!important;width:100%;height:100%;transform:none;background:linear-gradient(rgba(120,190,255,.16) 1px,transparent 1px) 0 0/24px 24px,linear-gradient(90deg,rgba(120,190,255,.16) 1px,transparent 1px) 0 0/24px 24px;animation:anplan 2.2s ease both}
@keyframes anplan{0%{opacity:0}20%{opacity:1}80%{opacity:1}100%{opacity:0}}
.axp.sg.bx.angear{width:34px;height:34px;filter:drop-shadow(0 2px 2px rgba(0,0,0,.5))}.axp.sg.bx.angear svg{width:100%;height:100%;display:block}
.axp.anshadow{width:180px;height:44px;border-radius:50%;background:radial-gradient(ellipse,rgba(0,0,0,.65),transparent 70%)}
.arena.v2.iso .ent.m.boss.antitan img.sprite{width:calc(var(--h) * 1.9);height:calc(var(--h) * 1.9)}
.arena.v2.iso .ent.m.boss.antitan::after{width:calc(var(--tw,64px) * 2.1);height:calc(var(--tw,64px) * 1.02);background:rgba(255,80,60,.35)}
.axp.sg.anult{width:80px;height:80px;border-radius:50%;border:4px solid #ff3b2f;box-shadow:0 0 20px #ff3b2f;animation:anult 1s ease-out both}
@keyframes anult{0%{transform:translate(-50%,-50%) scale(.2);opacity:1}100%{transform:translate(-50%,-50%) scale(5);opacity:0}}
.axp.sg.anp{border-radius:50%;background:radial-gradient(circle,#fff 10%,var(--c) 55%,transparent 72%);box-shadow:0 0 8px var(--c)}
.axp.sg.ansvg svg{width:100%;height:100%;display:block;overflow:visible}
.axp.sg.ansvg{filter:drop-shadow(0 2px 3px rgba(0,0,0,.45))}
.axp.sg.anglyph{filter:drop-shadow(0 0 6px rgba(255,255,255,.35))}
.axp.sg.anspike{transform:translate(-50%,-100%);transform-origin:50% 100%;clip-path:polygon(50% 0,100% 100%,0 100%);background:linear-gradient(90deg,color-mix(in srgb,var(--c) 70%,#000),var(--c) 45%,color-mix(in srgb,var(--c) 60%,#fff))}
.axp.sg.anspike.ice{opacity:.92;filter:drop-shadow(0 0 6px #9fe3ff)}
.axp.sg.anslash{height:6px;border-radius:50%;background:linear-gradient(90deg,transparent,var(--c) 25%,#fff 50%,var(--c) 75%,transparent);box-shadow:0 0 12px var(--c)}
.axp.sg.anneedle{width:3px;height:26px;border-radius:2px;background:linear-gradient(#e6e6e6,#8a8f96);box-shadow:0 0 3px rgba(0,0,0,.5)}
.axp.sg.anmound{transform:translate(-50%,-100%);transform-origin:50% 100%;border-radius:50% 50% 12% 12%/90% 90% 10% 10%;background:radial-gradient(ellipse at 50% 20%,#c9a46a,#8a6534 65%,#5a3f1c);animation:anmound 1.1s ease-out both}
@keyframes anmound{0%{transform:translate(-50%,-100%) scaleY(0)}30%{transform:translate(-50%,-100%) scaleY(1.1)}75%{transform:translate(-50%,-100%) scaleY(1)}100%{transform:translate(-50%,-100%) scaleY(0);opacity:.5}}
.axp.sg.anbeamv{transform:translate(-50%,0);transform-origin:50% 0;border-radius:40% 40% 8px 8px;background:linear-gradient(rgba(255,255,255,.1),rgba(255,236,170,.9) 70%,#fff);box-shadow:0 0 22px rgba(255,220,120,.8);mix-blend-mode:screen}
.axp.sg.anbeamv.gold{background:linear-gradient(rgba(255,216,77,.1),rgba(255,216,77,.85) 70%,#fff8d0);box-shadow:0 0 26px #ffd84d}
.axp.sg.anwind{width:60px;height:3px;border-radius:3px;background:linear-gradient(90deg,transparent,rgba(220,200,255,.95),transparent)}
.axp.sg.annote.q{color:#e6b8ff;text-shadow:0 0 6px #a046e0,0 1px 0 #000;font-size:22px}
.axp.sg.anrock{border-radius:40% 55% 45% 50%;background:radial-gradient(circle at 35% 30%,#a9957c,#6e5a44 60%,#3c2f22);box-shadow:inset -3px -4px 0 rgba(0,0,0,.3),0 4px 6px rgba(0,0,0,.4)}
.axp.sg.bx.ancrack{left:0!important;top:0!important;width:100%;height:100%;transform:none;opacity:.85;animation:anplan 1.8s ease-out both;background:linear-gradient(115deg,transparent 48.6%,#2a1338 49%,#c77dff 49.4%,#2a1338 49.8%,transparent 50.2%) 0 60%/100% 45% no-repeat,linear-gradient(65deg,transparent 48.6%,#2a1338 49%,#c77dff 49.4%,#2a1338 49.8%,transparent 50.2%) 0 100%/60% 40% no-repeat,linear-gradient(160deg,transparent 48.6%,#2a1338 49%,#c77dff 49.4%,#2a1338 49.8%,transparent 50.2%) 100% 100%/50% 50% no-repeat}
.axp.sg.sclone.anfrost img{filter:brightness(1.6) saturate(.2) hue-rotate(160deg) drop-shadow(0 0 6px #bfe8ff);opacity:.75}
.axp.sg.sclone.anghost img{filter:grayscale(.4) brightness(1.3);opacity:.7}
.arena.sg-frost .ent,.arena.sg-frost svg.bg{filter:saturate(.4) brightness(1.1) hue-rotate(170deg)}
.arena.sg-warp .ent,.arena.sg-warp svg.bg{filter:sepia(.6) hue-rotate(170deg) contrast(1.1)}
.arena.sg-ultdark .ent:not(.boss){filter:brightness(.45) saturate(.7);transition:filter .3s}
.axp.sg.anring{width:40px;height:40px;border-radius:50%;border:3px solid #7fc8ff;box-shadow:0 0 12px #7fc8ff,inset 0 0 8px rgba(127,200,255,.5)}
.axp.sg.anring.fire{border:4px solid #ff7a3c;border-top-color:transparent;border-bottom-color:transparent;box-shadow:0 0 16px #ff7a3c}
.ch-how{display:flex;flex-direction:column;gap:4px;padding:8px 10px;border-radius:10px;background:rgba(255,201,74,.07);border:1px solid rgba(255,201,74,.25);font-size:12.5px;line-height:1.4}.ch-how p{margin:0}
.btn.ch-ghost.ch-off,.btn.ch-ghost[disabled]{opacity:.45;cursor:not-allowed}

/* ===================== 1.2 « Réorganisation des menus » (Mathis 1A-11A, 20A-25A) ===================== */
/* --- PC : colonne à familles repliables --- */
@media (min-width:860px){
  #nav .sn-side{padding-top:8px}
  #nav .sn-side button[aria-current="page"]{box-shadow:inset 0 0 0 2px var(--gold)}
  #nav .sn-srch{display:flex;align-items:center;gap:6px;margin:0 0 6px;padding:4px 8px;border-radius:10px;border:2px solid var(--frame);background:var(--panel3);color:var(--muted);flex:none}
  #nav .sn-srch svg.uico{width:16px;height:16px;flex:none}
  #nav .sn-srch input{flex:1;min-width:0;border:0;background:none;outline:0;color:var(--ink);font-family:var(--font-body);font-size:13px;font-weight:700;padding:2px 0;appearance:none;-webkit-appearance:none}
  #nav .sn-srch input::placeholder{color:var(--muted)}
  #nav .sn-srch input::-webkit-search-cancel-button{display:none}
  #nav .sn-srch:focus-within{border-color:var(--gold)}
  #nav .sn-side .sn-x{width:22px;min-height:22px;padding:0;justify-content:center;color:var(--muted);font-size:13px;flex:none;border-radius:6px}
  #nav .sn-side .sn-fight{min-height:42px;margin-bottom:2px}
  #nav .sn-pins{margin:5px 0 3px;padding:5px 6px 6px;border-radius:12px;background:var(--panel2);border:1px dashed var(--line);flex:none}
  #nav .sn-pins>span{display:block;font-size:10px;font-weight:900;letter-spacing:1.2px;text-transform:uppercase;color:var(--gold);margin:0 0 4px 2px}
  #nav .sn-pins>div{display:flex;flex-wrap:wrap;gap:5px} /* 1.2.4.2 : le 6e épinglé passe à la ligne au lieu d'être caché à droite */
  #nav .sn-side .sn-pin{width:34px;min-width:0;height:34px;min-height:0;flex:none;display:grid;place-items:center;padding:0;border-radius:10px}
  #nav .sn-side .sn-pin .med{width:28px;height:28px}#nav .sn-side .sn-pin .med img{width:20px;height:20px}
  #nav .sn-side .sn-pin .navcnt,#nav .sn-side .sn-pin .navdot,#nav .sn-side .sn-pin .navcoin{position:absolute;top:-3px;right:-3px;margin:0}
  #nav .sn-fam{margin-top:2px;flex:none}
  #nav .sn-side .sn-fh{font-size:12px;letter-spacing:.9px;text-transform:uppercase;font-weight:900;color:var(--muted);min-height:34px}
  #nav .sn-side .sn-fh .med{width:26px;height:26px}#nav .sn-side .sn-fh .med img{width:18px;height:18px}
  #nav .sn-fam.cur .sn-fh{color:var(--gold2)}
  #nav .sn-fh .sn-l{flex:1}
  #nav .sn-chev{width:8px;height:8px;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:rotate(-45deg);margin:0 2px 0 6px;flex:none;opacity:.7;transition:transform .25s}
  #nav .sn-fam.open .sn-chev{transform:rotate(45deg);margin-top:-3px}
  #nav .sn-fp{margin:1px 0 4px 12px;padding-left:6px;border-left:2px solid var(--line);display:flex;flex-direction:column;gap:1px}
  #nav .sn-side .sn-fp button{min-height:29px;font-size:13.5px}
  #nav .sn-fp .med{width:24px;height:24px}#nav .sn-fp .med img{width:17px;height:17px}
  #nav .sn-side .sn-l small{display:block;font-size:11px;font-weight:700;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;line-height:1.1}
  #nav .sn-side button[aria-current="page"] .sn-l small{color:var(--ink);opacity:.8}
  #nav .sn-hits{display:flex;flex-direction:column;gap:2px}
  #nav .sn-hits>span{font-size:10.5px;font-weight:900;letter-spacing:1px;text-transform:uppercase;color:var(--muted);padding:4px 6px}
  #nav .sn-side .sn-hits button,#nav .sn-fly button{min-height:40px;padding:4px 8px}
  #nav .sn-grow{flex:1 1 8px}
  #nav .sn-foot{display:flex;flex-direction:column;gap:1px;margin-top:6px;padding-top:5px;border-top:2px solid var(--line);flex:none}
  #nav .sn-side .sn-fb{min-height:28px;font-size:12.5px;color:var(--muted)}
  #nav .sn-side .sn-fb .med{width:22px;height:22px}#nav .sn-side .sn-fb .med img{width:15px;height:15px}
  #nav .sn-side .sn-fb svg.uico{width:22px;height:22px;padding:2px;flex:none}
  #nav .sn-side .sn-fb:hover{color:var(--ink)}
  /* 9A : menu réduit aux icônes, une par famille ; le panneau de la famille s'ouvre à côté */
  #nav .sn-side.sn-mcol{padding:8px 6px;align-items:center;overflow:visible}
  #nav .sn-side.sn-mcol button{width:52px;min-height:38px;justify-content:center;padding:0}
  #nav .sn-side.sn-mcol .sn-brand{min-height:40px;flex:none;width:52px}
  #nav .sn-side.sn-mcol .sn-mini{min-height:24px;width:52px}
  #nav .sn-side.sn-mcol .sn-fight{min-height:40px;margin-bottom:0}
  #nav .sn-side.sn-mcol .sn-l{display:none}
  #nav .sn-side.sn-mcol .navcnt,#nav .sn-side.sn-mcol .navdot,#nav .sn-side.sn-mcol .navcoin{position:absolute;top:0;right:1px;margin:0}
  #nav .sn-side.sn-mcol .sn-newdot{position:absolute;top:3px;left:3px;margin:0}
  #nav .sn-side.sn-mcol .sn-fh{min-height:38px;color:var(--ink)}
  #nav .sn-side.sn-mcol .sn-fh.cur .med{background:radial-gradient(circle at 40% 30%,#fff7d6,var(--gold) 70%);box-shadow:inset 0 0 0 2px rgba(0,0,0,.45),0 0 12px rgba(var(--glw),.75)}
  #nav .sn-side.sn-mcol .sn-fh.fly{background:var(--panel3);box-shadow:inset 0 0 0 2px var(--gold)}
  #nav .sn-side.sn-mcol .sn-fh .med{width:28px;height:28px}#nav .sn-side.sn-mcol .sn-fh .med img{width:20px;height:20px}
  #nav .sn-msep{display:block;width:36px;height:2px;margin:5px 0;background:var(--line);flex:none}
  #nav .sn-side.sn-mcol .sn-foot{width:100%;align-items:center}
  #nav .sn-side.sn-mcol .sn-fb{width:52px}
  #nav .sn-fly{position:fixed;left:68px;top:0;bottom:0;width:250px;z-index:36;padding:14px 10px;background:linear-gradient(180deg,var(--panel),var(--panel2));border-right:2px solid var(--frame);box-shadow:8px 0 24px rgba(0,0,0,.35);display:flex;flex-direction:column;gap:2px;overflow-y:auto;animation:snfly .18s ease-out}
  #nav .sn-fly h4{font-family:var(--font-title);font-weight:400;font-size:21px;color:var(--gold2);margin:0 6px 8px;text-shadow:var(--tshadow)}
  #nav .sn-fly button{position:relative;display:flex;align-items:center;gap:10px;width:100%;border:0;background:transparent;color:var(--ink);font-weight:800;font-size:14px;border-radius:12px;text-align:left;cursor:pointer;flex:none}
  #nav .sn-fly button:hover{background:var(--panel3)}
  #nav .sn-fly button[aria-current="page"]{background:var(--panel3);color:var(--gold2);box-shadow:inset 0 0 0 2px var(--gold)}
  #nav .sn-fly .med{width:34px;height:34px}#nav .sn-fly .med img{width:24px;height:24px}
  #nav .sn-fly .sn-l{min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:flex;flex-direction:column;line-height:1.15}
  #nav .sn-fly .sn-l small{font-size:11px;font-weight:700;color:var(--muted);overflow:hidden;text-overflow:ellipsis}
  #nav .sn-fly .navcnt{position:static;margin-left:auto;box-shadow:none;flex:none}
  #nav .sn-fly .navdot{position:static;display:inline-block;margin-left:auto;flex:none}
  @keyframes snfly{from{opacity:0;transform:translateX(-8px)}}
  /* 22A : survol d'une page, l'icône s'avance avec un halo */
  #nav .sn-side button .med,#nav .sn-fly button .med{transition:transform .15s,filter .15s}
  #nav .sn-side button:hover .med,#nav .sn-fly button:hover .med{transform:scale(1.12);filter:drop-shadow(0 0 6px rgba(var(--glw),.7))}
  /* 21A : la famille se déplie en glissant */
  #nav .sn-fam.just .sn-fp{animation:snfold .25s ease-out}
  @keyframes snfold{from{opacity:0;transform:translateY(-6px);max-height:0}to{opacity:1;transform:none;max-height:320px}}
  #nav .sn-fam.just .sn-chev{animation:snchev .25s ease-out}
  @keyframes snchev{from{transform:rotate(-45deg)}}
}
/* 10A : étiquette « nouveau » une semaine après la mise à jour */
.sn-new{flex:none;margin-left:auto;padding:1px 6px;border-radius:999px;background:#5fc8ff;color:#06202e;font-size:9px;font-weight:900;letter-spacing:.6px;text-transform:uppercase;line-height:14px}
.sn-new.t{position:absolute;top:3px;right:4px;margin:0}
.sn-new+.navcnt,.sn-new+.navdot,.sn-new+.navcoin{margin-left:4px}
.sn-newdot{width:8px;height:8px;border-radius:50%;background:#5fc8ff;box-shadow:0 0 8px #5fc8ff;flex:none;margin-left:auto}
.sn-newdot+.navcnt,.sn-newdot+.navdot,.sn-newdot+.navcoin{margin-left:6px}
/* 5A : bandeau de la famille en haut de la page ; 3A : onglets des pages rangées ensemble */
.sn-strip{display:flex;align-items:center;gap:6px;overflow-x:auto;scrollbar-width:none;padding:5px 6px;border-radius:14px;background:var(--panel2);border:2px solid var(--line)}
.sn-strip::-webkit-scrollbar{display:none}
.sn-strip .sn-sf{display:flex;align-items:center;gap:6px;font-size:11px;font-weight:900;letter-spacing:1px;text-transform:uppercase;color:var(--muted);padding:0 8px 0 2px;border-right:2px solid var(--line);margin-right:2px;white-space:nowrap;flex:none}
.sn-strip .sn-sf .med{width:22px;height:22px}.sn-strip .sn-sf .med img{width:16px;height:16px}
nav.subnav .sn-strip button,nav.subnav .sn-tabs button{position:relative;display:flex;align-items:center;gap:6px;white-space:nowrap;padding:4px 11px 4px 5px;border:0;border-radius:999px;background:transparent;color:var(--ink);font-weight:800;font-size:13px;flex:none;cursor:pointer;opacity:1}
nav.subnav .sn-strip button:hover,nav.subnav .sn-tabs button:hover{background:var(--panel3)}
nav.subnav .sn-strip button[aria-current="page"]{background:var(--gold);color:#1a1510;box-shadow:none}
nav.subnav .sn-strip .med,nav.subnav .sn-tabs .med{width:24px;height:24px}nav.subnav .sn-strip .med img,nav.subnav .sn-tabs .med img{width:17px;height:17px}
nav.subnav .sn-strip .sn-star{margin-left:auto;padding:2px 8px;font-size:17px;line-height:1;color:var(--muted);min-width:32px;justify-content:center}
nav.subnav .sn-strip .sn-star.on,nav.subnav .sn-strip .sn-star:hover{color:var(--gold)}
.sn-tabs{display:flex;gap:4px;border-bottom:2px solid var(--frame);padding:0 4px;overflow-x:auto;scrollbar-width:none}
.sn-tabs::-webkit-scrollbar{display:none}
nav.subnav .sn-tabs button{border-radius:12px 12px 0 0;padding:6px 14px 6px 6px;font-size:14px;background:var(--panel2);border:2px solid var(--frame);border-bottom:0;margin-bottom:-2px;opacity:.75}
nav.subnav .sn-tabs button[aria-current="page"]{opacity:1;background:var(--panel3);color:var(--gold2);box-shadow:inset 0 3px 0 var(--gold)}
nav.subnav .navcnt{position:static;margin-left:2px;box-shadow:none;flex:none}
nav.subnav .navdot{position:static;display:inline-block;margin-left:2px;flex:none}
/* --- téléphone : barre du bas et fenêtre Menu (4A, 7A, 6A, 11A) --- */
.navsheet .ns-srch{display:flex;align-items:center;gap:8px;margin:0 0 10px;padding:8px 12px;border-radius:12px;border:2px solid var(--frame);background:var(--panel3);color:var(--muted)}
.navsheet .ns-srch svg.uico{width:18px;height:18px;flex:none}
.navsheet .ns-srch input{flex:1;min-width:0;border:0;background:none;outline:0;color:var(--ink);font-family:var(--font-body);font-size:15px;font-weight:700;appearance:none;-webkit-appearance:none}
.navsheet .ns-srch input::placeholder{color:var(--muted)}
.navsheet .ns-srch input::-webkit-search-cancel-button{display:none}
.navsheet .ns-srch .sn-x{border:0;background:none;color:var(--muted);font-size:15px;padding:2px 6px;cursor:pointer}
.navsheet .ns-hits{display:flex;flex-direction:column;gap:2px;min-height:120px}
.navsheet .ns-hit{position:relative;display:flex;align-items:center;gap:10px;width:100%;border:0;background:transparent;color:var(--ink);font:inherit;font-weight:800;font-size:14px;padding:6px 8px;border-radius:12px;text-align:left;cursor:pointer}
.navsheet .ns-hit[aria-current="page"]{background:var(--panel3);color:var(--gold2);box-shadow:inset 0 0 0 2px var(--gold)}
.navsheet .ns-hit .med{width:34px;height:34px}.navsheet .ns-hit .med img{width:24px;height:24px}
.navsheet .ns-hit .sn-l{min-width:0;display:flex;flex-direction:column;line-height:1.15;overflow:hidden}
.navsheet .ns-hit .sn-l small{font-size:11px;font-weight:700;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.navsheet .ns-hit .navcnt{position:static;margin-left:auto}.navsheet .ns-hit .navdot{position:static;display:inline-block;margin-left:auto}
.navsheet .ns-none{display:block;font-size:11px;font-weight:900;letter-spacing:1px;text-transform:uppercase;color:var(--muted);padding:8px 6px}
.navsheet .ns-foot{display:grid;grid-template-columns:1fr 1.4fr auto;gap:6px;margin-top:14px}
.navsheet .ns-foot .btn{display:flex;align-items:center;justify-content:center;gap:6px;padding:8px 10px;font-size:13px}
.navsheet .ns-foot .btn .med{width:24px;height:24px}.navsheet .ns-foot .btn .med img{width:16px;height:16px}
@media (max-width:859px){
  #nav .sn-mob .navcoin{top:1px;right:calc(50% - 22px)}
  .sn-strip{margin:0 -2px}
  nav.subnav .sn-tabs button{font-size:13px;padding:5px 10px 5px 5px}
}
/* --- animations du menu (20A, 23A, 24A, 25A) ; aucune avec les animations réduites ou les mouvements désactivés --- */
#nav .sn-clk:not(.navfight),#subnav .sn-clk{overflow:hidden}
.sn-ripple{position:absolute;width:14px;height:14px;margin:-7px 0 0 -7px;border-radius:50%;background:rgba(var(--glw),.5);transform:scale(0);animation:snrip .6s ease-out forwards;pointer-events:none;z-index:0}
@keyframes snrip{to{transform:scale(16);opacity:0}}
.sn-clk .med{animation:snbounce .45s ease-out}
@keyframes snbounce{30%{transform:scale(.85)}60%{transform:scale(1.18)}100%{transform:scale(1)}}
.navcnt.bpulse,.navdot.bpulse{animation:snpulse .6s ease-in-out 3}
@keyframes snpulse{50%{transform:scale(1.4)}}
#main.pgin{animation:pgin .15s ease-out}
@keyframes pgin{from{opacity:0;transform:translateY(6px)}}
#nav .sn-fight.on{animation:snbreathe 2.4s ease-in-out infinite}
@keyframes snbreathe{50%{box-shadow:inset 0 0 0 2px rgba(255,107,122,.95),0 0 14px rgba(255,107,122,.45)}}
#nav .sn-fight.on .med{animation:snsword 2.4s ease-in-out infinite}
@keyframes snsword{50%{filter:drop-shadow(0 0 7px rgba(255,120,120,.95)) brightness(1.25)}}
#nav .sn-mob .navfight[aria-current="page"] .med{animation:none}
body.reduced .sn-ripple,body.nomotion .sn-ripple,body.reduced .sn-clk .med,body.nomotion .sn-clk .med,body.reduced .bpulse,body.nomotion .bpulse,body.reduced #main.pgin,body.nomotion #main.pgin,body.reduced #nav .sn-fight.on,body.nomotion #nav .sn-fight.on,body.reduced #nav .sn-fight.on .med,body.nomotion #nav .sn-fight.on .med,body.reduced #nav .sn-fam.just .sn-fp,body.nomotion #nav .sn-fam.just .sn-fp,body.reduced #nav .sn-fly,body.nomotion #nav .sn-fly{animation:none}
@media (prefers-reduced-motion:reduce){.sn-ripple,.sn-clk .med,.bpulse,#main.pgin,#nav .sn-fight.on,#nav .sn-fight.on .med,#nav .sn-fam.just .sn-fp,#nav .sn-fly{animation:none}}
/* 13A : effet d'ambiance du thème (js/ambiance.js), par-dessus la page comme les braises d'Halouine */
#ambfx{position:fixed;inset:0;width:100%;height:100%;pointer-events:none;z-index:4}
body.reduced #ambfx,body.nomotion #ambfx{display:none}
body.amb-on .as-motes{display:none} /* une seule couche de particules : celles du thème */

/* ===================== 1.2 « Réorganisation des menus » (Mathis 12ABCD) : quatre thèmes posés par-dessus Émeraude, html[data-skin] ===================== */
/* Givre de Frigost */
:root[data-theme="emerald"][data-skin="givre"]{--bg1:rgba(90,170,230,.22);--bg2:rgba(140,200,255,.12);--glw:127,211,255;--med-bg:#2c4257;--med-bg2:#111b26;--med-ring:#c8d9e8;--page:#0a1017;--panel:#111923;--panel2:#17212d;--panel3:#1f2c3b;--frame:#35506b;--frame2:#16202b;--gold:#7fd3ff;--gold2:#d6f2ff;--ink:#eaf1f7;--muted:#97a8b8;--title:#f1f6fb;--tshadow:0 0 12px rgba(127,211,255,.4),0 2px 0 rgba(0,0,0,.75);--action:#7fd3ff;--action2:#5fb6e6;--action-ink:#06202e;--line:color-mix(in srgb,#97a8b8 16%,transparent)}
:root[data-theme="emerald"][data-skin="givre"] body{background:radial-gradient(1200px 600px at 80% -10%,rgba(90,170,230,.22),transparent 60%),radial-gradient(900px 500px at -10% 110%,rgba(140,200,255,.12),transparent 60%),var(--page)}
:root[data-theme="emerald"][data-skin="givre"] .status{background:linear-gradient(180deg,#1c2734,#101822);border-color:rgba(127,211,255,.5)}
:root[data-theme="emerald"][data-skin="givre"] nav.main button[aria-current="page"],:root[data-theme="emerald"][data-skin="givre"] .subtabs button[aria-pressed="true"],:root[data-theme="emerald"][data-skin="givre"] .seg button[aria-pressed="true"],:root[data-theme="emerald"][data-skin="givre"] .catchips button[aria-pressed="true"],:root[data-theme="emerald"][data-skin="givre"] .btn.primary,:root[data-theme="emerald"][data-skin="givre"] .dgtog[aria-pressed="true"],:root[data-theme="emerald"][data-skin="givre"] .chx .ic{background:linear-gradient(180deg,#b9ecff,#5fb6e6);color:#06202e;border-color:#5fb6e6}
:root[data-theme="emerald"][data-skin="givre"] .tag,:root[data-theme="emerald"][data-skin="givre"] .icount{color:#06202e}
:root[data-theme="emerald"][data-skin="givre"] .updbar{background:linear-gradient(135deg,rgba(127,211,255,.14),rgba(255,255,255,.04))}
:root[data-theme="emerald"][data-skin="givre"] .hcard .art{background:radial-gradient(circle at 50% 62%,color-mix(in srgb,var(--el) 60%,transparent),transparent 64%),linear-gradient(180deg,#1f2c3b,#0a1017)}
:root[data-theme="emerald"][data-skin="givre"] .scene::after,:root[data-theme="emerald"][data-skin="givre"] .arena::after{background:linear-gradient(180deg,rgba(127,211,255,.08),transparent 55%,rgba(127,211,255,.05))}
:root[data-theme="emerald"][data-skin="givre"] .scene .crumb,:root[data-theme="emerald"][data-skin="givre"] .arena .turn,:root[data-theme="emerald"][data-skin="givre"] .arena .idle div,:root[data-theme="emerald"][data-skin="givre"] .hero-banner .card{background:color-mix(in srgb,#0a1017 88%,transparent)!important}
/* Ambre d'Amakna */
:root[data-theme="emerald"][data-skin="ambre"]{--bg1:rgba(220,150,60,.22);--bg2:rgba(170,110,50,.14);--glw:242,181,78;--med-bg:#4a3520;--med-bg2:#1a120a;--med-ring:#e8c27a;--page:#120d08;--panel:#1b140d;--panel2:#231a11;--panel3:#2e2216;--frame:#5c4126;--frame2:#21180f;--gold:#f2b54e;--gold2:#ffe2a8;--ink:#f3ebdf;--muted:#b5a58d;--title:#fbf3e6;--tshadow:0 0 12px rgba(242,181,78,.4),0 2px 0 rgba(0,0,0,.75);--action:#f2b54e;--action2:#d99a2e;--action-ink:#2a1a05;--line:color-mix(in srgb,#b5a58d 16%,transparent)}
:root[data-theme="emerald"][data-skin="ambre"] body{background:radial-gradient(1200px 600px at 80% -10%,rgba(220,150,60,.22),transparent 60%),radial-gradient(900px 500px at -10% 110%,rgba(170,110,50,.14),transparent 60%),var(--page)}
:root[data-theme="emerald"][data-skin="ambre"] .status{background:linear-gradient(180deg,#2c2116,#18110a);border-color:rgba(242,181,78,.5)}
:root[data-theme="emerald"][data-skin="ambre"] nav.main button[aria-current="page"],:root[data-theme="emerald"][data-skin="ambre"] .subtabs button[aria-pressed="true"],:root[data-theme="emerald"][data-skin="ambre"] .seg button[aria-pressed="true"],:root[data-theme="emerald"][data-skin="ambre"] .catchips button[aria-pressed="true"],:root[data-theme="emerald"][data-skin="ambre"] .btn.primary,:root[data-theme="emerald"][data-skin="ambre"] .dgtog[aria-pressed="true"],:root[data-theme="emerald"][data-skin="ambre"] .chx .ic{background:linear-gradient(180deg,#ffd98a,#d99a2e);color:#2a1a05;border-color:#d99a2e}
:root[data-theme="emerald"][data-skin="ambre"] .tag,:root[data-theme="emerald"][data-skin="ambre"] .icount{color:#2a1a05}
:root[data-theme="emerald"][data-skin="ambre"] .updbar{background:linear-gradient(135deg,rgba(242,181,78,.14),rgba(255,255,255,.04))}
:root[data-theme="emerald"][data-skin="ambre"] .hcard .art{background:radial-gradient(circle at 50% 62%,color-mix(in srgb,var(--el) 60%,transparent),transparent 64%),linear-gradient(180deg,#2e2216,#120d08)}
:root[data-theme="emerald"][data-skin="ambre"] .scene::after,:root[data-theme="emerald"][data-skin="ambre"] .arena::after{background:linear-gradient(180deg,rgba(242,181,78,.08),transparent 55%,rgba(242,181,78,.05))}
:root[data-theme="emerald"][data-skin="ambre"] .scene .crumb,:root[data-theme="emerald"][data-skin="ambre"] .arena .turn,:root[data-theme="emerald"][data-skin="ambre"] .arena .idle div,:root[data-theme="emerald"][data-skin="ambre"] .hero-banner .card{background:color-mix(in srgb,#120d08 88%,transparent)!important}
/* Braise de Brâkmar */
:root[data-theme="emerald"][data-skin="braise"]{--bg1:rgba(230,90,50,.22);--bg2:rgba(170,40,40,.16);--glw:255,134,80;--med-bg:#4a2420;--med-bg2:#170c0b;--med-ring:#e3a77f;--page:#100909;--panel:#1a0f0f;--panel2:#231414;--panel3:#2f1a1a;--frame:#5e2c28;--frame2:#200f0f;--gold:#ff8650;--gold2:#ffd2bd;--ink:#f4e8e4;--muted:#b49b95;--title:#fbefeb;--tshadow:0 0 12px rgba(255,134,80,.4),0 2px 0 rgba(0,0,0,.75);--action:#ff8650;--action2:#e0602e;--action-ink:#2b0c03;--line:color-mix(in srgb,#b49b95 16%,transparent)}
:root[data-theme="emerald"][data-skin="braise"] body{background:radial-gradient(1200px 600px at 80% -10%,rgba(230,90,50,.22),transparent 60%),radial-gradient(900px 500px at -10% 110%,rgba(170,40,40,.16),transparent 60%),var(--page)}
:root[data-theme="emerald"][data-skin="braise"] .status{background:linear-gradient(180deg,#2d1917,#170d0c);border-color:rgba(255,134,80,.5)}
:root[data-theme="emerald"][data-skin="braise"] nav.main button[aria-current="page"],:root[data-theme="emerald"][data-skin="braise"] .subtabs button[aria-pressed="true"],:root[data-theme="emerald"][data-skin="braise"] .seg button[aria-pressed="true"],:root[data-theme="emerald"][data-skin="braise"] .catchips button[aria-pressed="true"],:root[data-theme="emerald"][data-skin="braise"] .btn.primary,:root[data-theme="emerald"][data-skin="braise"] .dgtog[aria-pressed="true"],:root[data-theme="emerald"][data-skin="braise"] .chx .ic{background:linear-gradient(180deg,#ffb48a,#e0602e);color:#2b0c03;border-color:#e0602e}
:root[data-theme="emerald"][data-skin="braise"] .tag,:root[data-theme="emerald"][data-skin="braise"] .icount{color:#2b0c03}
:root[data-theme="emerald"][data-skin="braise"] .updbar{background:linear-gradient(135deg,rgba(255,134,80,.14),rgba(255,255,255,.04))}
:root[data-theme="emerald"][data-skin="braise"] .hcard .art{background:radial-gradient(circle at 50% 62%,color-mix(in srgb,var(--el) 60%,transparent),transparent 64%),linear-gradient(180deg,#2f1a1a,#100909)}
:root[data-theme="emerald"][data-skin="braise"] .scene::after,:root[data-theme="emerald"][data-skin="braise"] .arena::after{background:linear-gradient(180deg,rgba(255,134,80,.08),transparent 55%,rgba(255,134,80,.05))}
:root[data-theme="emerald"][data-skin="braise"] .scene .crumb,:root[data-theme="emerald"][data-skin="braise"] .arena .turn,:root[data-theme="emerald"][data-skin="braise"] .arena .idle div,:root[data-theme="emerald"][data-skin="braise"] .hero-banner .card{background:color-mix(in srgb,#100909 88%,transparent)!important}
/* Écume de Sufokia */
:root[data-theme="emerald"][data-skin="ecume"]{--bg1:rgba(50,190,170,.22);--bg2:rgba(60,120,200,.14);--glw:79,224,196;--med-bg:#1f4a4b;--med-bg2:#0a1819;--med-ring:#9fd8cf;--page:#071315;--panel:#0d1c1f;--panel2:#122529;--panel3:#183037;--frame:#2a5b61;--frame2:#0e1d20;--gold:#4fe0c4;--gold2:#c4fff1;--ink:#e6f4f2;--muted:#8fb0ac;--title:#effaf8;--tshadow:0 0 12px rgba(79,224,196,.4),0 2px 0 rgba(0,0,0,.75);--action:#4fe0c4;--action2:#2fb79c;--action-ink:#04221c;--line:color-mix(in srgb,#8fb0ac 16%,transparent)}
:root[data-theme="emerald"][data-skin="ecume"] body{background:radial-gradient(1200px 600px at 80% -10%,rgba(50,190,170,.22),transparent 60%),radial-gradient(900px 500px at -10% 110%,rgba(60,120,200,.14),transparent 60%),var(--page)}
:root[data-theme="emerald"][data-skin="ecume"] .status{background:linear-gradient(180deg,#16292c,#0b1719);border-color:rgba(79,224,196,.5)}
:root[data-theme="emerald"][data-skin="ecume"] nav.main button[aria-current="page"],:root[data-theme="emerald"][data-skin="ecume"] .subtabs button[aria-pressed="true"],:root[data-theme="emerald"][data-skin="ecume"] .seg button[aria-pressed="true"],:root[data-theme="emerald"][data-skin="ecume"] .catchips button[aria-pressed="true"],:root[data-theme="emerald"][data-skin="ecume"] .btn.primary,:root[data-theme="emerald"][data-skin="ecume"] .dgtog[aria-pressed="true"],:root[data-theme="emerald"][data-skin="ecume"] .chx .ic{background:linear-gradient(180deg,#a6f5e3,#2fb79c);color:#04221c;border-color:#2fb79c}
:root[data-theme="emerald"][data-skin="ecume"] .tag,:root[data-theme="emerald"][data-skin="ecume"] .icount{color:#04221c}
:root[data-theme="emerald"][data-skin="ecume"] .updbar{background:linear-gradient(135deg,rgba(79,224,196,.14),rgba(255,255,255,.04))}
:root[data-theme="emerald"][data-skin="ecume"] .hcard .art{background:radial-gradient(circle at 50% 62%,color-mix(in srgb,var(--el) 60%,transparent),transparent 64%),linear-gradient(180deg,#183037,#071315)}
:root[data-theme="emerald"][data-skin="ecume"] .scene::after,:root[data-theme="emerald"][data-skin="ecume"] .arena::after{background:linear-gradient(180deg,rgba(79,224,196,.08),transparent 55%,rgba(79,224,196,.05))}
:root[data-theme="emerald"][data-skin="ecume"] .scene .crumb,:root[data-theme="emerald"][data-skin="ecume"] .arena .turn,:root[data-theme="emerald"][data-skin="ecume"] .arena .idle div,:root[data-theme="emerald"][data-skin="ecume"] .hero-banner .card{background:color-mix(in srgb,#071315 88%,transparent)!important}

/* 28 : fond de page animé (CSS seul, derrière tout le contenu) : html[data-bgfx] = aur (A Aurore), rid (D Rideaux), vag (E Vagues), neb (F Nébuleuse).
   Suit le réglage « Ambiance animée » ; éteint avec les animations réduites ou les mouvements désactivés.
   1.2.1 : plus aucun filter:blur sur ces couches (un flou de 22 px sur une couche de 150 % de l'écran recalculé à chaque image faisait tomber le jeu à 20 images/s) : le flou vient des dégradés eux-mêmes */
:root[data-bgfx] body,:root[data-theme="emerald"][data-bgfx] body,:root[data-theme="emerald"][data-skin][data-bgfx] body{background:var(--page)}
:root[data-bgfx] body::before,:root[data-bgfx] body::after{content:"";position:fixed;left:-25%;top:-25%;width:150%;height:150%;z-index:-1;pointer-events:none;will-change:transform}
:root[data-bgfx] body::before{background:radial-gradient(45% 35% at 72% 18%,var(--bg1),transparent 70%),radial-gradient(38% 32% at 18% 82%,var(--bg2),transparent 70%)}
:root[data-bgfx="aur"] body::before{animation:bgaur 20s ease-in-out infinite alternate}
@keyframes bgaur{to{transform:translate(-5%,4%) scale(1.08) rotate(2deg)}}
:root[data-bgfx="rid"] body::after{background:linear-gradient(100deg,transparent 0 18%,var(--bg1) 26%,transparent 34%,transparent 52%,var(--bg2) 60%,transparent 68%,transparent 84%,var(--bg1) 92%,transparent);animation:bgrid 24s ease-in-out infinite alternate}
@keyframes bgrid{from{transform:translateX(-12%) skewX(-10deg);opacity:.5}50%{opacity:1}to{transform:translateX(12%) skewX(-16deg);opacity:.6}}
:root[data-bgfx="vag"] body::after{left:-60%;width:220%;background:repeating-linear-gradient(115deg,transparent 0 90px,var(--bg1) 135px,transparent 195px,transparent 285px,var(--bg2) 345px,transparent 405px);animation:bgvag 14s linear infinite}
@keyframes bgvag{to{transform:translateX(-405px)}}
:root[data-bgfx="neb"] body::after{left:-70%;top:-120%;width:240%;height:340%;background:conic-gradient(from 0deg,var(--bg1),transparent 25%,var(--bg2) 45%,transparent 60%,var(--bg1) 80%,transparent);animation:bgneb 60s linear infinite}
:root[data-bgfx="neb"] body::before{animation:bgresp 6s ease-in-out infinite}
@keyframes bgneb{to{transform:rotate(360deg)}}
@keyframes bgresp{50%{opacity:.45;transform:scale(1.06)}}
/* G (mix A + D) : les halos dérivent, un rideau d'aurore passe de temps en temps */
/* 1.2.6.2 : G est maintenant peint par js/ambiance.js dans une petite toile #ambbg (mêmes dégradés, même mouvement) :
   les deux couches de 150 % de l'écran recomposées à chaque image faisaient tomber le jeu vers 20 images/s */
:root[data-bgfx="mix"] body::before,:root[data-bgfx="mix"] body::after{content:none;animation:none;will-change:auto}
#ambbg{position:fixed;inset:0;width:100%;height:100%;z-index:-1;pointer-events:none}
body.reduced #ambbg,body.nomotion #ambbg{display:none}
body.reduced::before,body.nomotion::before,body.reduced::after,body.nomotion::after{animation:none}
@media (prefers-reduced-motion:reduce){:root[data-bgfx] body::before,:root[data-bgfx] body::after{animation:none}}
/* 1.2.2 : Sablier de Xélor, « Comment en obtenir » */
.sab-where{background:var(--panel2);border:2px solid var(--line, var(--frame));border-radius:12px;padding:10px 12px}
.sab-src{display:flex;align-items:center;gap:10px;padding:6px 0;border-top:1px solid color-mix(in srgb, var(--ink) 12%, transparent)}
.sab-src:first-of-type{border-top:0}
.sab-src .sab-ic{flex:0 0 28px;display:grid;place-items:center}
.sab-src .sab-ic .uico{width:26px;height:26px}
.sab-src .btn{flex:none}
.rc-sep{height:1px;background:var(--line);margin:22px 0 14px}
/* identité des sorts */
.spid{margin:8px 0;padding:8px 10px;border-radius:10px;background:color-mix(in srgb,var(--gold2) 10%,transparent);border:1px solid color-mix(in srgb,var(--gold2) 35%,transparent)}
.spid .splab{margin-top:0}
.spidr{display:flex;gap:8px;align-items:flex-start;font-size:13px;line-height:1.35;margin-top:4px}
.spidi{flex:none;width:20px;text-align:center}
.axp.anid svg{width:100%;height:100%;display:block;overflow:visible}
.axp.anid{z-index:6;filter:drop-shadow(0 2px 3px rgba(0,0,0,.5))}
.axp.anid.idimp{border-radius:50%;border:3px solid var(--c);animation:idimp .5s ease-out forwards}
@keyframes idimp{from{transform:translate(-50%,-50%) scale(.3);opacity:1}to{transform:translate(-50%,-50%) scale(6);opacity:0}}
.axp.anid.idspk{border-radius:50%;filter:none}
.axp.anid.idboom{border-radius:50%;background:radial-gradient(circle,#fff6c0,#ffb347 45%,rgba(255,90,40,0) 70%);animation:idboom .65s ease-out forwards}
@keyframes idboom{from{transform:translate(-50%,-50%) scale(.3);opacity:1}to{transform:translate(-50%,-50%) scale(5);opacity:0}}
.axp.anid.idground{z-index:0;filter:none}
@keyframes idflash{0%{filter:brightness(2.5);transform:scale(1.25)}100%{filter:none;transform:none}}
.idftag{position:absolute;left:50%;top:-6px;transform:translate(-50%,-100%);display:flex;gap:5px;align-items:center;padding:2px 8px 2px 3px;border-radius:999px;background:rgba(10,14,8,.9);border:1.5px solid var(--gold2);font-size:11px;white-space:nowrap;z-index:9;pointer-events:none;animation:idftag 1.3s ease-out forwards}
.idftag .spicon{width:22px;height:22px;flex:none}
.idftag .spicon img{width:100%;height:100%}
.idftag b{color:var(--gold2);font-weight:800}
@keyframes idftag{0%{opacity:0;transform:translate(-50%,-60%) scale(.6);filter:brightness(2.5)}18%{opacity:1;transform:translate(-50%,-100%) scale(1.12);filter:brightness(1.8)}35%{transform:translate(-50%,-100%) scale(1);filter:none}80%{opacity:1}100%{opacity:0;transform:translate(-50%,-125%)}}
/* ===== Logo d'Idlus (« i » à l'œuf) : nom dessiné sur les écrans de départ, reflet doux toutes les 6 s sur les grands logos ===== */
.start .logo,.svm .logo{text-shadow:none;line-height:0;display:flex;justify-content:center}
.start .logo img,.svm .logo img{height:clamp(64px,12vw,104px);width:auto;filter:drop-shadow(0 6px 14px rgba(0,0,0,.45))}
.shine{position:relative;display:inline-block;line-height:0}
.shine::after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(105deg,transparent 38%,rgba(255,255,236,.6) 49%,transparent 60%) no-repeat;background-size:250% 100%;background-position:150% 0;-webkit-mask:var(--m) center/contain no-repeat;mask:var(--m) center/contain no-repeat;animation:logoShine 6s ease-in-out 1.2s infinite}
@keyframes logoShine{0%,72%{background-position:150% 0}100%{background-position:-60% 0}}
@media (prefers-reduced-motion:reduce){.shine::after{animation:none;opacity:0}}
.launch10 .shine.l10-logo{width:110px;height:auto;filter:drop-shadow(0 6px 18px rgba(0,0,0,.45))}
.launch10 .shine.l10-logo img{width:100%;height:auto}
.shine.nom{--m:url(../assets/ui/logo-nom.svg)}.shine.emb{--m:url(../assets/ui/logo-embleme.svg)}
/* identité des sorts des monstres */
.bsorts{margin-top:8px}.bsorts .dglist li{margin:3px 0}.bsorts li.uniq{padding:4px 6px;border-radius:8px;background:color-mix(in srgb,#d4a017 10%,transparent)}
.midrow{display:flex;flex-wrap:wrap;gap:4px;margin-top:4px}
.midc{font-size:11.5px;font-weight:700;line-height:1.2;padding:2px 7px;border-radius:7px;background:var(--panel2);border:1px solid color-mix(in srgb,var(--ink) 14%,transparent)}
.midc.sig{border-color:#e74c3c;background:color-mix(in srgb,#e74c3c 16%,var(--panel2))}
.midc.uniq{border-color:#d4a017;background:linear-gradient(100deg,color-mix(in srgb,#d4a017 22%,var(--panel2)),color-mix(in srgb,#e74c3c 14%,var(--panel2)));box-shadow:0 0 0 1px color-mix(in srgb,#d4a017 35%,transparent) inset}
.midwarn{position:absolute;left:50%;top:-4px;transform:translate(-50%,-100%);font-size:18px;line-height:1;padding:3px 6px;border-radius:999px;background:rgba(40,6,6,.9);border:2px solid #ff3b2f;color:#ffd84d;z-index:8;pointer-events:none;animation:midwarn 1s ease-in-out infinite}
@keyframes midwarn{0%,100%{transform:translate(-50%,-100%) scale(1)}50%{transform:translate(-50%,-112%) scale(1.15)}}
@media (prefers-reduced-motion:reduce){.midwarn{animation:none}}
/* 1.2.10 « Le Poutch » : aperçu des sorts contre un Poutch */
.spcast.det{flex-wrap:wrap;padding-right:9px}
.spcast em{font-style:normal;font-weight:800;font-size:11px}
.spcast .dm{color:var(--ink)}
.spcast .mc{display:inline-block;font-size:10.5px;font-weight:900;padding:1px 6px;border-radius:999px;background:color-mix(in srgb,var(--gold) 26%,transparent);color:var(--ink)}
.spcast.late{background:color-mix(in srgb,var(--gold) 14%,transparent)}
.spstat{display:grid;grid-template-columns:repeat(auto-fit,minmax(110px,1fr));gap:6px}
.spstat>div{background:var(--panel2);border-radius:10px;padding:6px 10px;display:flex;flex-direction:column}
.spstat b{font-size:17px;font-family:var(--font-title);color:var(--title);font-variant-numeric:tabular-nums}.spstat span{font-size:11.5px;color:var(--muted);font-weight:700}
.spstat .warn b{color:var(--danger)}
.spfreq{display:flex;flex-direction:column;gap:5px}
.spf{display:grid;grid-template-columns:24px minmax(0,1.3fr) minmax(60px,1fr) auto;gap:8px;align-items:center;font-size:12.5px}
.spf img{width:24px;height:24px;border-radius:6px}.spf .nm{font-weight:800;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.spf .bar{height:8px;border-radius:99px;background:var(--panel2);overflow:hidden}.spf .bar i{display:block;height:100%;background:var(--action);border-radius:99px}
.spf .v{font-size:11.5px;color:var(--muted);font-weight:700;text-align:right;font-variant-numeric:tabular-nums}
.spf.off{opacity:.55}.spf.off .v{color:var(--danger)}
.spc:disabled{opacity:.45;cursor:default}
@media (max-width:600px){.spcast.det span{display:inline}.spcast.det{padding:2px 7px 2px 2px}.spf{grid-template-columns:22px minmax(0,1fr) auto;row-gap:3px}.spf img{grid-row:1/3}.spf .nm{grid-column:2;grid-row:1}.spf .v{grid-column:3;grid-row:1}.spf .bar{grid-column:2/4;grid-row:2}}
/* Premiers depuis les sorts des boss (Classements › Donjons) : qui a fini chaque stasis en premier depuis la mise à jour */
.sbfirst{display:flex;flex-direction:column;gap:6px;padding:8px 10px;border:2px solid var(--frame);border-radius:12px;background:var(--panel2);margin-bottom:8px}
.sbgrid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:4px}
.sbk{display:flex;flex-direction:column;align-items:center;padding:4px 2px;border-radius:8px;border:1px dashed var(--frame);opacity:.6;min-width:0}
.sbk small{font-size:10px;color:var(--muted)}
.sbk b{font-size:11px;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.sbk.on{opacity:1;border-style:solid;border-color:var(--gold,#e2b04a)}
.sbk.mine{background:color-mix(in srgb,var(--gold,#e2b04a) 18%,transparent)}
.dgrank .dgr-sb{display:block}
/* 2.1.3 « Tout ouvrir » : ligne des coffres (Inventaire › Consommables) */
.li.chestall{flex-wrap:wrap;gap:8px;border:1px solid var(--gold);border-radius:12px}
.li.chestall .grow{min-width:180px}
.archisheet .sh-star.on,.archisheet .sh-star:hover{color:var(--gold)}
/* 2.1.8 « Copier le setup » */
.setupbar{display:flex;align-items:center;gap:8px;margin:8px 0;padding:8px 12px;border:2px dashed var(--gold);border-radius:12px;background:var(--panel2)}
.setupbar .uico{width:16px;height:16px;vertical-align:-3px}
.setupck{display:flex;gap:10px;align-items:flex-start;padding:8px 10px;border-radius:10px;background:var(--panel2);cursor:pointer}
.setupck input{margin-top:3px;width:18px;height:18px;flex:none}
.setupck>span{display:flex;flex-direction:column;gap:2px}
.setupck.off{opacity:.55;cursor:default}
.setupit{width:30px;height:30px;border-radius:6px;background:var(--panel3)}
.setupit.miss{filter:grayscale(1);opacity:.45;outline:2px dashed var(--bad,#c55);outline-offset:-2px}
/* 2.1.9 : emplacement verrouillé (Équiper au mieux n'y touche pas) */
.dslot .eqlk{position:absolute;left:-6px;top:-7px;width:18px;height:18px;border-radius:50%;background:var(--gold);color:#1b1b1b;display:grid;place-items:center;z-index:2;box-shadow:0 0 0 2px var(--panel)}
.dslot .eqlk svg{width:11px;height:11px}
