/* ===================================================================
   DragonLoot Express — écran du jeu (préfixe dl-)
   Univers volontairement sombre (aperçu de DragonLoot.ca).
   =================================================================== */
.dl-shell{
  --dl-bg:#0c0e11; --dl-panel:rgba(21,24,29,0.9); --dl-panel-2:#1c2026; --dl-line:#2a2f37;
  --dl-ink:#EFE8D8; --dl-soft:#B5AC9B; --dl-faint:#7F786C;
  --dl-gold:#F4B942; --dl-gold-deep:#E89B2C;
  min-height:100vh; color:var(--dl-ink);
  background:radial-gradient(120% 70% at 50% 0%, #1d2129 0%, var(--dl-bg) 65%);
  padding-bottom:48px; position:relative; isolation:isolate;
}
.dl-shell > .dl-wrap{position:relative; z-index:1;}
.dl-wrap{max-width:960px; margin:0 auto; padding:0 18px;}

/* ---------- barre du haut ---------- */
.dl-top{position:sticky; top:0; z-index:20; background:rgba(12,14,17,0.82); backdrop-filter:blur(8px);
  border-bottom:1px solid var(--dl-line); padding-top:env(safe-area-inset-top, 0px);}
.dl-top-inner{display:flex; align-items:center; justify-content:space-between; gap:12px; min-height:60px;}
.dl-back{background:transparent; color:var(--dl-soft); border:1px solid var(--dl-line); border-radius:999px;
  padding:7px 14px; font-size:0.85rem; cursor:pointer; display:inline-flex; align-items:center; gap:8px; white-space:nowrap;}
.dl-back:hover,.dl-back:focus-visible{color:var(--dl-ink); border-color:var(--dl-gold);}
.dl-brand{font-size:1.15rem; display:flex; align-items:center; gap:8px; color:var(--dl-ink);}
.dl-brand-dragon{display:inline-flex; color:#D7263D; filter:drop-shadow(0 0 6px rgba(215,38,61,0.5));
  cursor:default; user-select:none; -webkit-user-select:none; -webkit-tap-highlight-color:transparent;}
.dl-brand-text{display:inline-flex; align-items:center; gap:8px;}
.dl-brand-short{display:none; letter-spacing:0.06em;}
.dl-cheater{font-size:0.66rem; letter-spacing:0.1em; text-transform:uppercase; color:#fff; background:linear-gradient(135deg,#D7263D,#7a1020);
  border-radius:999px; padding:3px 9px; display:inline-flex; align-items:center; gap:5px; box-shadow:0 0 10px rgba(215,38,61,0.5);}
.dl-cheater[hidden]{display:none;}
.dl-brand-tag{font-size:0.62rem; letter-spacing:0.12em; text-transform:uppercase; color:#2A1F0B;
  background:var(--dl-gold); border-radius:999px; padding:3px 8px;}
.dl-wallet{display:flex; gap:8px;}
.dl-chip{display:inline-flex; align-items:center; gap:6px; background:var(--dl-panel); border:1px solid var(--dl-line);
  border-radius:999px; padding:6px 12px; font-size:0.9rem; transition:transform .2s ease, border-color .2s ease;}
.dl-chip :is(i,svg){color:#C9D2DE;}
.dl-chip small{color:var(--dl-faint); font-size:0.75rem;}
.dl-chip-gold :is(i,svg){color:var(--dl-gold);}
.dl-chip-bump{transform:scale(1.12); border-color:var(--dl-gold);}

/* ---------- onglets ---------- */
.dl-tabs{display:flex; gap:6px; justify-content:center; margin:20px 0 18px;}
.dl-tabs button{background:var(--dl-panel); color:var(--dl-soft); border:1px solid var(--dl-line); border-radius:999px;
  padding:9px 20px; font-size:0.92rem; cursor:pointer; display:inline-flex; align-items:center; gap:8px;}
.dl-tabs button:hover{color:var(--dl-ink);}
.dl-tabs button[aria-selected="true"]{background:var(--dl-gold); color:#2A1F0B; border-color:var(--dl-gold);}
.dl-panel{display:none;}
.dl-panel.active{display:block; animation:dl-fade .25s ease;}
@keyframes dl-fade{from{opacity:0; transform:translateY(6px);} to{opacity:1; transform:none;}}

/* ---------- clés ---------- */
.dl-keybar{background:var(--dl-panel); border:1px solid var(--dl-line); border-radius:16px; padding:14px 16px; margin-bottom:14px;}
.dl-keybar-head{display:flex; justify-content:space-between; align-items:center; gap:10px; font-size:0.95rem; flex-wrap:wrap;}
.dl-keybar-head :is(i,svg){color:#C9D2DE;}
.dl-keybar-next{color:var(--dl-soft); font-size:0.85rem; font-variant-numeric:tabular-nums;}
.dl-keybar-track{height:8px; background:#0b0d10; border-radius:999px; margin:10px 0 8px; overflow:hidden; border:1px solid var(--dl-line);}
.dl-keybar-fill{height:100%; width:0; border-radius:999px; background:linear-gradient(90deg, var(--dl-gold-deep), var(--dl-gold)); transition:width .9s linear;}
.dl-keybar-fill.full{background:linear-gradient(90deg, #3ddc4a, #9be86b);}
.dl-keybar-sub{margin:0; color:var(--dl-faint); font-size:0.8rem;}

/* ---------- scène du coffre ---------- */
.dl-stage.coffre-stage{min-height:min(60vh, 500px); border-radius:20px; border:1px solid var(--dl-line);}
.dl-stage .coffre{transform-origin:50% 60%;}
.dl-stage-caption{position:absolute; left:0; right:0; bottom:22px; z-index:5; text-align:center; pointer-events:none;
  display:flex; flex-direction:column; align-items:center; gap:8px; padding:0 12px;}
.dl-stage .coffre-rarete{min-height:1.2em; font-size:clamp(22px, 4vh, 34px);}
.dl-result{opacity:0; transform:translateY(8px); transition:opacity .35s ease, transform .35s ease;
  display:flex; align-items:center; gap:8px; flex-wrap:wrap; justify-content:center; font-size:1.1rem; color:#FFE9B0;
  text-shadow:0 2px 10px rgba(0,0,0,0.7);}
.dl-result.show{opacity:1; transform:none;}
.dl-result > :is(i,svg){color:var(--dl-gold); filter:drop-shadow(0 0 6px rgba(244,185,66,0.7));}
.dl-golden-tag{font-size:0.78rem; letter-spacing:0.06em; text-transform:uppercase; color:#6b4a05;
  background:linear-gradient(180deg,#ffe680,#ffd700 45%,#d9a520); border-radius:999px; padding:3px 10px; box-shadow:0 0 12px #ffd70088;}

/* ---------- boutons ---------- */
.dl-actions{display:flex; justify-content:center; gap:10px; margin-top:16px; flex-wrap:wrap;}
.dl-btn{border:none; border-radius:999px; padding:12px 24px; font-size:1rem; cursor:pointer; display:inline-flex; align-items:center; gap:10px;
  text-decoration:none; transition:transform .15s ease, box-shadow .15s ease, opacity .15s ease;}
.dl-btn[hidden]{display:none;}
.dl-btn-primary{background:var(--dl-gold); color:#2A1F0B; box-shadow:0 5px 0 0 var(--dl-gold-deep);}
.dl-btn-primary:hover{transform:translateY(-1px); color:#2A1F0B;}
.dl-btn-primary:active{transform:translateY(3px); box-shadow:0 2px 0 0 var(--dl-gold-deep);}
.dl-btn-primary:disabled{opacity:0.45; cursor:not-allowed; transform:none;}
.dl-btn-cost{background:rgba(42,31,11,0.14); border-radius:999px; padding:2px 10px; font-size:0.85rem;}
.dl-btn-ghost{background:transparent; color:var(--dl-ink); border:1px solid var(--dl-line);}
.dl-btn-ghost:hover{border-color:var(--dl-gold);}
.dl-btn:focus-visible,.dl-tabs button:focus-visible{outline:2px solid var(--dl-gold); outline-offset:3px;}

/* ---------- butin : statistiques ---------- */
.dl-stats{display:grid; grid-template-columns:repeat(3, 1fr); gap:10px; margin-bottom:26px;}
.dl-stat{background:var(--dl-panel); border:1px solid var(--dl-line); border-radius:16px; padding:14px 10px;
  display:flex; flex-direction:column; align-items:center; gap:4px; text-align:center;}
.dl-stat > :is(i,svg){color:var(--dl-soft); font-size:1.05rem;}
.dl-stat b{font-size:1.35rem; font-variant-numeric:tabular-nums;}
.dl-stat span{color:var(--dl-faint); font-size:0.78rem;}
.dl-stat-gold > :is(i,svg), .dl-stat-gold b{color:var(--dl-gold);}
.dl-stat .dl-best{font-size:1.35rem; font-variant-numeric:tabular-nums;}
.dl-stat .dl-best.coffre-rarete{font-size:1.35rem; letter-spacing:0; text-transform:none; font-weight:700;}

/* ---------- bandeau « express » ---------- */
.dl-express{margin:-12px 0 26px; display:flex; align-items:center; justify-content:space-between; gap:16px; flex-wrap:wrap;
  border-radius:18px; padding:16px 18px; border:1px solid #5a4418;
  background:linear-gradient(120deg, rgba(244,185,66,0.16), rgba(215,38,61,0.12) 60%, rgba(107,63,160,0.14));}
.dl-express-text{flex:1 1 320px;}
.dl-express-text p{margin:6px 0 0; color:var(--dl-soft); font-size:0.9rem; line-height:1.5;}
.dl-express-tag{font-size:0.72rem; letter-spacing:0.14em; text-transform:uppercase; color:var(--dl-gold);}

/* ---------- butin : cartes foil ---------- */
.dl-hoard-title{font-size:1.25rem; margin:0; color:var(--dl-ink);}
.dl-hoard-sub{color:var(--dl-faint); font-size:0.85rem; margin:4px 0 14px;}
.dl-grid{display:grid; grid-template-columns:repeat(auto-fill, minmax(160px, 1fr)); gap:14px;}
.dl-card-wrap{display:flex;}
.dl-card{flex:1 1 auto; box-sizing:border-box; min-height:180px; border-radius:16px; padding:14px;
  background:linear-gradient(160deg, color-mix(in oklab, var(--rar) 22%, #14171b) 0%, #0e1013 78%);
  border:1px solid color-mix(in oklab, var(--rar) 45%, transparent);
  display:flex; flex-direction:column; --foil-glyph-size:11px;}
.dl-card .foil-content{display:flex; flex-direction:column; flex:1 1 auto; gap:8px;}
.dl-card-top{display:flex; justify-content:space-between; align-items:center;}
.dl-card-icon{width:40px; height:40px; border-radius:12px; display:flex; align-items:center; justify-content:center;
  font-size:1.15rem; color:#15181d; background-image:var(--rar-bg); box-shadow:0 0 14px color-mix(in oklab, var(--rar) 45%, transparent);}
.dl-card-count{font-size:1.4rem; font-weight:700; font-variant-numeric:tabular-nums; color:var(--dl-ink); text-shadow:0 2px 8px rgba(0,0,0,0.6);}
.dl-card-name{font-size:1rem; letter-spacing:0.1em; text-transform:uppercase; margin-top:auto; color:var(--dl-soft);}
.dl-card-name.coffre-rarete{font-size:1rem;}
.dl-card-meta{display:flex; justify-content:space-between; gap:6px; flex-wrap:wrap; font-size:0.72rem; color:var(--dl-faint);}
.dl-card-meta :is(i,svg){color:var(--dl-gold); opacity:0.8;}
.dl-card-empty{filter:grayscale(0.85); opacity:0.55; background:linear-gradient(160deg, #181b20, #0e1013); border-color:var(--dl-line);}
.dl-card-empty .dl-card-icon{background:#2a2f37; color:var(--dl-faint); box-shadow:none;}

@media (max-width:600px){
  .dl-brand-long{display:none;}
  .dl-brand-short{display:inline;}
  .dl-brand{font-size:1.05rem; gap:6px;}
  .dl-brand-text{gap:5px;}
  .dl-brand-tag{font-size:0.55rem; padding:2px 6px; letter-spacing:0.08em;}
  .dl-tabs button{padding:9px 14px;}
  .dl-tab-label{display:none;}
  .dl-top .dl-wrap{padding:0 10px;}
  .dl-top-inner{gap:6px;}
  .dl-wallet{gap:5px;}
  .dl-chip{padding:5px 9px; font-size:0.82rem; gap:5px;}
  .dl-chip small{display:none;}
  .dl-back span{display:none;}
  .dl-back{padding:7px 10px;}
  .dl-stage.coffre-stage{min-height:480px;}
  .dl-stage .coffre{scale:0.82;}
  .dl-grid{grid-template-columns:repeat(2, 1fr); gap:10px;}
  .dl-stat b{font-size:1.1rem;}
}
@media (max-width:380px){
  .dl-top .dl-wrap{padding:0 8px;}
  .dl-top-inner{gap:4px;}
  .dl-back{padding:6px 8px;}
  .dl-brand{font-size:0.95rem; gap:4px;}
  .dl-brand-tag{font-size:0.5rem; padding:2px 5px;}
  .dl-chip{padding:4px 7px; font-size:0.78rem; gap:4px;}
}
@media (prefers-reduced-motion: reduce){
  .dl-panel.active{animation:none;}
  .dl-keybar-fill{transition:none;}
}

/* ---------- tas d'or (arrière-plan) ---------- */
.dl-heap{position:fixed; left:50%; bottom:0; z-index:0; pointer-events:none;
  height:min(44vh, 440px); aspect-ratio:2/1; max-width:150vw; --heap:0;
  transform:translateX(-50%) scale(calc(0.04 + var(--heap) * 0.96)); transform-origin:50% 100%;
  opacity:clamp(0, calc(var(--heap) * 40), 0.34);
  transition:transform 1.4s cubic-bezier(.2,1.2,.3,1), opacity .6s ease;
  filter:drop-shadow(0 -10px 40px rgba(244,185,66,0.35));}
.dl-heap svg{width:100%; height:100%; display:block;}
.dl-heap-max{opacity:0.42; filter:drop-shadow(0 -10px 60px rgba(255,215,0,0.55));}
.dl-heap-glint{opacity:0; transform-box:fill-box; transform-origin:center; animation:dl-glint 4.9s ease-in-out infinite;}
@keyframes dl-glint{0%,100%{opacity:0; transform:scale(0.3);} 8%{opacity:1; transform:scale(1.2);} 16%{opacity:0; transform:scale(0.3);}}

/* ---------- carte « coffre doré » (apparaît au 1er coffre doré) ---------- */
.dl-card-golden{border-color:#ffd700; box-shadow:0 0 0 1px #ffd70055, 0 0 24px #ffd70044;
  background:linear-gradient(160deg, #4a3706 0%, #1a1405 70%);}
.dl-card-icon-golden{background:linear-gradient(180deg,#ffe680,#ffd700 45%,#b8860b) !important; color:#6b4a05 !important;}
.dl-card-golden .dl-card-name.coffre-rarete{--rar-bg:linear-gradient(90deg,#fff3b0,#ffd700,#e8a317);}
.dl-card-wrap:has(.dl-card-golden){animation:dl-pop-in .6s cubic-bezier(.2,1.4,.4,1);}
@keyframes dl-pop-in{from{transform:scale(0.7); opacity:0;} to{transform:none; opacity:1;}}

/* ---------- menu triche ---------- */
.dl-cheats{position:fixed; inset:0; z-index:1000; display:flex; align-items:center; justify-content:center; padding:16px;
  background:rgba(5,6,8,0.6); backdrop-filter:blur(3px); opacity:0; transition:opacity .2s ease;}
.dl-cheats[hidden]{display:none;}
.dl-cheats.open{opacity:1;}
.dl-cheats-box{width:min(420px, 100%); background:#16191e; border:1px solid #D7263D66; border-radius:18px; padding:18px;
  box-shadow:0 20px 60px rgba(0,0,0,0.6), 0 0 30px rgba(215,38,61,0.15); color:var(--dl-ink);}
.dl-cheats-head{display:flex; justify-content:space-between; align-items:center; margin-bottom:6px;}
.dl-cheats-head h3{font-size:1.15rem; margin:0;}
.dl-cheats-head h3 :is(i,svg){color:#D7263D;}
.dl-cheats-x{background:none; border:none; color:var(--dl-faint); font-size:1rem; cursor:pointer; padding:4px 8px; border-radius:8px;}
.dl-cheats-x:hover{color:var(--dl-ink); background:#22262d;}
.dl-cheats-warn{font-size:0.8rem; color:var(--dl-soft); margin:0 0 10px; line-height:1.45;}
.dl-cheats-warn :is(i,svg){color:var(--dl-gold);}
.dl-cheats-status{font-size:0.8rem; margin:0 0 10px; color:#ff8b98; background:#D7263D22; border-radius:10px; padding:7px 10px;}
.dl-cheats-status[hidden]{display:none;}
.dl-cheat-row{display:flex; align-items:center; justify-content:space-between; gap:12px; padding:11px 0; border-top:1px solid var(--dl-line); font-size:0.9rem; cursor:default;}
.dl-cheat-row small{display:block; color:var(--dl-faint); font-size:0.74rem; margin-top:2px;}
.dl-btn-sm{padding:7px 14px; font-size:0.85rem; gap:6px;}
.dl-btn-danger{background:#D7263D; color:#fff; box-shadow:0 4px 0 0 #8e1627;}
.dl-btn-danger:hover{transform:translateY(-1px);}
.dl-select{background:#0e1013; color:var(--dl-ink); border:1px solid var(--dl-line); border-radius:10px; padding:7px 10px; font:inherit; font-size:0.85rem;}
.dl-select:focus{outline:2px solid var(--dl-gold); outline-offset:1px;}
.dl-check{width:20px; height:20px; accent-color:var(--dl-gold); cursor:pointer;}
.dl-flash{box-shadow:0 0 0 3px var(--dl-gold) !important;}
@media (prefers-reduced-motion: reduce){
  .dl-heap{transition:none;} .dl-heap-glint{animation:none;}
  .dl-card-wrap:has(.dl-card-golden){animation:none;}
}

.dl-heap[hidden], .dl-express[hidden]{display:none !important;}

/* ---------- paramètres ---------- */
.dl-settings{background:var(--dl-panel); border:1px solid var(--dl-line); border-radius:18px; padding:4px 18px;}
.dl-set-row{display:flex; align-items:center; justify-content:space-between; gap:16px; padding:15px 0; cursor:pointer; margin:0;}
.dl-set-row + .dl-set-row{border-top:1px solid var(--dl-line);}
.dl-set-label{display:block; font-weight:600; font-size:0.95rem; color:var(--dl-ink);}
.dl-set-row small{display:block; color:var(--dl-faint); font-size:0.8rem; margin-top:3px; line-height:1.4;}
.dl-set-danger{cursor:default;}
.dl-switch{position:relative; flex:0 0 auto; width:46px; height:26px;}
.dl-switch input{position:absolute; opacity:0; width:100%; height:100%; margin:0; cursor:pointer; z-index:1;}
.dl-switch-slider{position:absolute; inset:0; border-radius:999px; background:#2a2f37; border:1px solid var(--dl-line); transition:background .2s ease;}
.dl-switch-slider::after{content:""; position:absolute; top:2px; left:2px; width:20px; height:20px; border-radius:50%; background:#cfc7b6; transition:transform .2s ease, background .2s ease;}
.dl-switch input:checked + .dl-switch-slider{background:var(--dl-gold); border-color:var(--dl-gold-deep);}
.dl-switch input:checked + .dl-switch-slider::after{transform:translateX(20px); background:#2A1F0B;}
.dl-switch input:focus-visible + .dl-switch-slider{outline:2px solid var(--dl-gold); outline-offset:2px;}
@media (prefers-reduced-motion: reduce){ .dl-switch-slider, .dl-switch-slider::after{transition:none;} }

/* =================================================================
   v2 : forge, boutique, dragon endormi, objets, œuf, pitié,
        statistiques, événements
   ================================================================= */
.dl-tabs{flex-wrap:wrap;}
.dl-cheats-box{max-height:90vh; overflow-y:auto;}
.dl-hoard-title{margin-top:28px;}
.dl-hoard-title + :not(.dl-hoard-sub){margin-top:12px;}            /* titre suivi directement d'une boîte (Paramètres, Derniers coffres) */
.dl-hoard-title .dl-coll-count{font-family:'Inter', sans-serif; font-size:0.85rem; color:var(--dl-gold); margin-left:6px;}

/* ---------- pitié ---------- */
.dl-pity{margin:6px 0 0; font-size:0.8rem; color:#9fd8ff;}
.dl-pity :is(i,svg){color:#6ec1ff;}

/* ---------- résultat enrichi ---------- */
.dl-result{flex-direction:column; gap:6px;}
.dl-res-line small{font-size:0.75rem; color:#ffd9a0; font-weight:500;}
.dl-res-chip{font-size:0.78rem; border-radius:999px; padding:4px 11px; background:rgba(12,14,17,0.75);
  border:1px solid color-mix(in oklab, var(--rar, #888) 70%, transparent); color:#fff; display:inline-flex; align-items:center; gap:6px;}
.dl-res-chip :is(i,svg){color:var(--rar, #fff);}
.dl-res-pity{border-color:#6ec1ff;} .dl-res-pity :is(i,svg){color:#6ec1ff;}
.dl-res-egg{border-color:#ffd700; background:rgba(60,45,5,0.8);} .dl-res-egg :is(i,svg){color:#fff3b0;}
.dl-new{color:#2A1F0B; background:var(--dl-gold); border-radius:999px; padding:1px 7px; font-size:0.66rem; text-transform:uppercase; letter-spacing:0.06em;}

/* ---------- événements ---------- */
.dl-event-banner{display:flex; align-items:center; justify-content:center; gap:8px; flex-wrap:wrap; margin-bottom:12px;
  border-radius:14px; padding:10px 14px; font-size:0.9rem; border:1px solid var(--dl-line);}
.dl-event-banner[hidden]{display:none;}
.dl-event-banner .dl-ev-bonus{font-size:0.78rem; border-radius:999px; padding:2px 9px; background:rgba(0,0,0,0.3);}
.dl-event-layer{position:absolute; inset:0; pointer-events:none; overflow:hidden; z-index:1;}
.dl-event-drop{opacity:0;}
.dl-stage[data-event="halloween"]{background:radial-gradient(120% 90% at 50% 40%, #2a1a2e, #0c0a10);}
.dl-stage[data-event="noel"]{background:radial-gradient(120% 90% at 50% 40%, #16242e, #070b10);}
.dl-stage[data-event="valentin"]{background:radial-gradient(120% 90% at 50% 40%, #2e1822, #100a0d);}
.dl-shell:has(.dl-stage[data-event="halloween"]) .dl-event-banner{background:linear-gradient(90deg,#3a1d06,#2a1636); border-color:#ff8a1f66; color:#ffc58a;}
.dl-shell:has(.dl-stage[data-event="noel"]) .dl-event-banner{background:linear-gradient(90deg,#0f2a1c,#2a0f14); border-color:#3ddc8466; color:#d9fbe7;}
.dl-shell:has(.dl-stage[data-event="valentin"]) .dl-event-banner{background:linear-gradient(90deg,#3a0f22,#2a1020); border-color:#ff4d8d66; color:#ffc2d4;}

/* ---------- apparences du coffre (la couleur de rareté reste visible) ---------- */
.dl-stage .coffre-lid::after, .dl-stage .coffre-body::after{content:""; position:absolute; inset:0; border-radius:inherit; pointer-events:none; opacity:0;}
.dl-stage[data-skin="wood"] .coffre-lid, .dl-stage[data-skin="wood"] .coffre-body{border-color:#3b2412;}
.dl-stage[data-skin="wood"] .coffre-lid::after, .dl-stage[data-skin="wood"] .coffre-body::after{opacity:.55; mix-blend-mode:multiply;
  background:repeating-linear-gradient(90deg, #8a5a2b 0 3px, #b07a44 3px 9px, #7a4d22 9px 11px, #a36f3c 11px 18px);}
.dl-stage[data-skin="wood"] .coffre-band{background:#6b4526;}
.dl-stage[data-skin="wood"] .coffre-belt{background:#4a2e17;}
.dl-stage[data-skin="obsidian"] .coffre-lid, .dl-stage[data-skin="obsidian"] .coffre-body{border-color:#0d0714; box-shadow:0 0 18px #7b3fd066;}
.dl-stage[data-skin="obsidian"] .coffre-lid::after, .dl-stage[data-skin="obsidian"] .coffre-body::after{opacity:.6; mix-blend-mode:multiply;
  background:linear-gradient(135deg, #3a2a4a 0%, #120a1a 45%, #2d1f3d 60%, #0d0714 100%);}
.dl-stage[data-skin="obsidian"] .coffre-band{background:#b98cff; box-shadow:0 0 10px #b98cff;}
.dl-stage[data-skin="obsidian"] .coffre-belt, .dl-stage[data-skin="obsidian"] .coffre-lock{background:#1a0f24; color:#d9c2ff;}
.dl-stage[data-skin="crystal"] .coffre-lid, .dl-stage[data-skin="crystal"] .coffre-body{border-color:rgba(255,255,255,0.85); box-shadow:0 0 22px rgba(190,240,255,0.45);}
.dl-stage[data-skin="crystal"] .coffre-lid::after, .dl-stage[data-skin="crystal"] .coffre-body::after{opacity:.75; mix-blend-mode:screen;
  background:linear-gradient(120deg, transparent 20%, rgba(255,255,255,0.7) 32%, transparent 40%, transparent 60%, rgba(255,255,255,0.45) 70%, transparent 78%);}
.dl-stage[data-skin="crystal"] .coffre-band{background:rgba(255,255,255,0.75);}
.dl-stage[data-skin="crystal"] .coffre-belt, .dl-stage[data-skin="crystal"] .coffre-lock{background:rgba(220,245,255,0.9); color:#2a4a5a;}
.dl-stage[data-skin="dragon"] .coffre-lid, .dl-stage[data-skin="dragon"] .coffre-body{border-color:#5a0b16;}
.dl-stage[data-skin="dragon"] .coffre-lid::after, .dl-stage[data-skin="dragon"] .coffre-body::after{opacity:.55; mix-blend-mode:multiply; background-size:16px 12px;
  background-image:radial-gradient(circle at 50% 110%, #ffffff 0 45%, #7a1020 46% 60%, #c02a3c 61% 100%);}
.dl-stage[data-skin="dragon"] .coffre-band{background:#ffd700;}
.dl-stage[data-skin="dragon"] .coffre-belt{background:#5a0b16;}
.dl-stage[data-skin="dragon"] .coffre-lock{background:linear-gradient(180deg,#ffe680,#ffd700 45%,#b8860b); color:#5a0b16;}

/* ---------- forge ---------- */
.dl-forge-grid, .dl-shop-grid{display:grid; gap:12px; grid-template-columns:repeat(auto-fill, minmax(220px, 1fr));}
.dl-shop-grid{grid-template-columns:repeat(auto-fill, minmax(150px, 1fr)); margin-bottom:6px;}
.dl-forge-card, .dl-shop-card{background:var(--dl-panel); border:1px solid var(--dl-line); border-radius:16px; padding:14px;
  display:flex; flex-direction:column; gap:8px;}
.dl-forge-card p{margin:0; color:var(--dl-faint); font-size:0.8rem;}
.dl-forge-head{display:flex; align-items:center; gap:8px; font-size:1rem;}
.dl-forge-head :is(i,svg){color:var(--dl-gold);}
.dl-pips{display:flex; gap:5px;}
.dl-pip{flex:1; height:6px; border-radius:999px; background:#2a2f37;}
.dl-pip.on{background:linear-gradient(90deg, var(--dl-gold-deep), var(--dl-gold));}
.dl-forge-vals{font-size:0.95rem; color:var(--dl-soft); display:flex; align-items:center; gap:8px; font-variant-numeric:tabular-nums;}
.dl-forge-vals b{color:var(--dl-ink);}
.dl-forge-vals :is(i,svg){font-size:0.75rem; color:var(--dl-faint);}
.dl-forge-card .dl-btn, .dl-shop-card .dl-btn{align-self:flex-start;}
.dl-maxed, .dl-equipped{font-size:0.85rem; color:#7be38c; display:inline-flex; align-items:center; gap:6px;}
.dl-locked{font-size:0.78rem; color:var(--dl-faint); display:inline-flex; align-items:center; gap:6px;}
.dl-shop-card{align-items:center; text-align:center;}
.dl-shop-card b{font-size:0.9rem;}
.dl-shop-card.eq{border-color:var(--dl-gold);}
.dl-shop-card .dl-btn{align-self:center;}
.dl-decor-prev{width:64px; height:52px; display:flex; align-items:center; justify-content:center; font-size:1.6rem; color:var(--dl-gold);
  background:radial-gradient(circle at 50% 80%, #6b4a0e, transparent 70%);}
.dl-mini-switch{display:flex; align-items:center; gap:8px; font-size:0.8rem; color:var(--dl-soft); cursor:pointer; margin:0;}
/* mini aperçu de coffre */
.dl-skin-prev{position:relative; width:64px; height:52px;}
.dl-sp-lid, .dl-sp-body{position:absolute; left:0; width:100%; border:2px solid #2b2b2e; box-sizing:border-box; background-image:var(--rar-bg); overflow:hidden;}
.dl-sp-lid{top:0; height:22px; border-radius:26px 26px 3px 3px;}
.dl-sp-body{top:22px; height:30px; border-radius:3px;}
.dl-sp-lid::after, .dl-sp-body::after{content:""; position:absolute; inset:0;}
.dl-sp-body::before{content:""; position:absolute; left:50%; top:0; width:6px; height:100%; transform:translateX(-50%); background:#ffffffcc; z-index:1;}
.dl-skin-prev[data-skin="wood"] :is(.dl-sp-lid,.dl-sp-body){border-color:#3b2412;}
.dl-skin-prev[data-skin="wood"] :is(.dl-sp-lid,.dl-sp-body)::after{opacity:.55; mix-blend-mode:multiply; background:repeating-linear-gradient(90deg,#8a5a2b 0 2px,#b07a44 2px 5px,#7a4d22 5px 6px);}
.dl-skin-prev[data-skin="wood"] .dl-sp-body::before{background:#6b4526;}
.dl-skin-prev[data-skin="obsidian"] :is(.dl-sp-lid,.dl-sp-body){border-color:#0d0714; box-shadow:0 0 8px #7b3fd088;}
.dl-skin-prev[data-skin="obsidian"] :is(.dl-sp-lid,.dl-sp-body)::after{opacity:.6; mix-blend-mode:multiply; background:linear-gradient(135deg,#3a2a4a,#120a1a 45%,#2d1f3d 60%,#0d0714);}
.dl-skin-prev[data-skin="obsidian"] .dl-sp-body::before{background:#b98cff; box-shadow:0 0 6px #b98cff;}
.dl-skin-prev[data-skin="crystal"] :is(.dl-sp-lid,.dl-sp-body){border-color:rgba(255,255,255,0.85); box-shadow:0 0 10px rgba(190,240,255,0.5);}
.dl-skin-prev[data-skin="crystal"] :is(.dl-sp-lid,.dl-sp-body)::after{opacity:.75; mix-blend-mode:screen; background:linear-gradient(120deg,transparent 20%,rgba(255,255,255,.8) 32%,transparent 42%);}
.dl-skin-prev[data-skin="dragon"] :is(.dl-sp-lid,.dl-sp-body){border-color:#5a0b16;}
.dl-skin-prev[data-skin="dragon"] :is(.dl-sp-lid,.dl-sp-body)::after{opacity:.55; mix-blend-mode:multiply; background-size:8px 6px; background-image:radial-gradient(circle at 50% 110%,#fff 0 45%,#7a1020 46% 60%,#c02a3c 61%);}
.dl-skin-prev[data-skin="dragon"] .dl-sp-body::before{background:#ffd700;}

/* ---------- nid, œuf, dragon ---------- */
.dl-nest{display:flex; align-items:center; gap:18px; background:linear-gradient(135deg, color-mix(in oklab, var(--rar) 14%, #14171b), #0e1013 75%);
  border:1px solid color-mix(in oklab, var(--rar) 40%, transparent); border-radius:18px; padding:16px 18px;}
.dl-nest-info{flex:1; display:flex; flex-direction:column; gap:6px; min-width:0;}
.dl-nest-info > span{font-size:0.82rem; color:var(--dl-soft);}
.dl-nest-info .dl-keybar-track{margin:2px 0 0;}
.dl-egg, .dl-pet{flex:0 0 auto; width:88px; height:88px; border-radius:50%; display:flex; align-items:center; justify-content:center;
  background:radial-gradient(circle at 50% 70%, color-mix(in oklab, var(--rar) 35%, #2a1c08), transparent 70%);}
.dl-egg :is(i,svg){font-size:3rem; color:color-mix(in oklab, var(--rar) 55%, #fff3dc); filter:drop-shadow(0 0 10px color-mix(in oklab, var(--rar) 60%, transparent));
  animation:dl-wobble 2.6s ease-in-out infinite; transform-origin:50% 90%;}
.dl-egg.cracked :is(i,svg){animation-duration:1.4s;}
.dl-egg.cracked2 :is(i,svg){animation-duration:0.7s;}
@keyframes dl-wobble{0%,70%,100%{transform:rotate(0);} 76%{transform:rotate(-9deg);} 84%{transform:rotate(8deg);} 92%{transform:rotate(-4deg);}}
.dl-pet :is(i,svg){color:var(--rar); filter:drop-shadow(0 0 12px color-mix(in oklab, var(--rar) 60%, transparent)); animation:dl-breathe 3.2s ease-in-out infinite;}
.dl-pet-0 :is(i,svg){font-size:1.6rem;} .dl-pet-1 :is(i,svg){font-size:2.2rem;} .dl-pet-2 :is(i,svg){font-size:2.9rem;} .dl-pet-3 :is(i,svg){font-size:3.5rem;}
@keyframes dl-breathe{0%,100%{transform:scale(1);} 50%{transform:scale(1.06);}}
.dl-pet-name{font-size:1.1rem; display:flex; align-items:center; gap:8px;}
.dl-pet-stage{font-size:0.8rem !important; letter-spacing:0.08em; text-transform:uppercase; font-weight:600;}
.dl-rename{background:none; border:none; color:var(--dl-faint); cursor:pointer; padding:2px 6px; border-radius:6px; font-size:0.8rem;}
.dl-rename:hover{color:var(--dl-gold);}
.dl-hatch{position:fixed; inset:0; z-index:900; display:flex; align-items:center; justify-content:center; padding:16px;
  background:rgba(5,6,8,0.7); backdrop-filter:blur(3px); opacity:0; transition:opacity .3s ease;}
.dl-hatch[hidden]{display:none;}
.dl-hatch.open{opacity:1;}
.dl-hatch-box{width:min(380px,100%); text-align:center; background:#16191e; border:1px solid color-mix(in oklab, var(--rar) 60%, transparent);
  border-radius:20px; padding:26px 22px; box-shadow:0 0 50px color-mix(in oklab, var(--rar) 35%, transparent);}
.dl-hatch-icon{font-size:4rem; color:var(--rar); filter:drop-shadow(0 0 18px var(--rar)); animation:dl-pop-in .7s cubic-bezier(.2,1.5,.4,1);}
.dl-hatch-box h3{font-size:1.6rem; margin:10px 0 8px;}
.dl-hatch-box p{color:var(--dl-soft); font-size:0.9rem; line-height:1.5;}

/* ---------- collection ---------- */
.dl-coll{background:var(--dl-panel); border:1px solid var(--dl-line); border-radius:16px; padding:8px 14px;}
.dl-coll-row{display:flex; align-items:center; gap:12px; padding:8px 0;}
.dl-coll-row + .dl-coll-row{border-top:1px solid var(--dl-line);}
.dl-coll-slot{flex:0 0 96px; font-size:0.82rem; color:var(--dl-soft); display:flex; align-items:center; gap:6px;}
.dl-coll-slot :is(i,svg){color:var(--dl-faint);}
.dl-coll-row.complete .dl-coll-slot{color:var(--dl-gold);}
.dl-coll-check{color:#7be38c !important;}
.dl-coll-cells{flex:1; display:grid; grid-template-columns:repeat(9, minmax(0, 46px)); gap:6px;}
.dl-item{position:relative; aspect-ratio:1; border-radius:8px; display:flex; align-items:center; justify-content:center; font-size:0.8rem;
  background:#0e1013; border:1px solid var(--dl-line); color:#3a3f48;}
.dl-item.got{background:linear-gradient(160deg, color-mix(in oklab, var(--rar) 35%, #14171b), #0e1013); border-color:color-mix(in oklab, var(--rar) 70%, transparent);
  color:var(--rar); box-shadow:0 0 8px color-mix(in oklab, var(--rar) 25%, transparent);}
.dl-item small{position:absolute; right:2px; bottom:0; font-size:0.55rem; color:var(--dl-ink); font-weight:700;}

/* ---------- statistiques ---------- */
.dl-stats-4{grid-template-columns:repeat(4, 1fr);}
.dl-odds{background:var(--dl-panel); border:1px solid var(--dl-line); border-radius:16px; padding:10px 14px;}
.dl-odds-row{display:grid; grid-template-columns:110px 1fr 120px; align-items:center; gap:12px; padding:7px 0;}
.dl-odds-name{font-size:0.8rem; letter-spacing:0.06em; text-transform:uppercase;}
.dl-odds-bars{display:flex; flex-direction:column; gap:3px;}
.dl-odds-bar{height:6px; border-radius:999px; min-width:2px;}
.dl-odds-bar.real{background:var(--rar);}
.dl-odds-bar.theo{background:#3a3f48;}
.dl-odds-vals{text-align:right; font-variant-numeric:tabular-nums; display:flex; flex-direction:column; line-height:1.15;}
.dl-odds-vals b{font-size:0.85rem;} .dl-odds-vals small{font-size:0.7rem; color:var(--dl-faint);}
.dl-odds-legend{display:flex; gap:16px; justify-content:flex-end; font-size:0.74rem; color:var(--dl-faint); padding-top:6px; border-top:1px solid var(--dl-line); margin-top:4px;}
.dl-lg{display:inline-block; width:14px; height:6px; border-radius:999px; vertical-align:middle; margin-right:4px;}
.dl-lg.real{background:linear-gradient(90deg,#00ff00,#4763ff,#ffd700);} .dl-lg.theo{background:#3a3f48;}
.dl-hist{list-style:none; margin:0; padding:6px 14px; background:var(--dl-panel); border:1px solid var(--dl-line); border-radius:16px;}
.dl-hist li{display:grid; grid-template-columns:12px 1fr auto auto 90px; align-items:center; gap:10px; padding:8px 0; font-size:0.85rem;}
.dl-hist li + li{border-top:1px solid var(--dl-line);}
.dl-h-dot{width:10px; height:10px; border-radius:50%; background-image:var(--rar-bg); box-shadow:0 0 6px var(--rar);}
.dl-h-name{font-size:0.82rem; letter-spacing:0.06em; text-transform:uppercase;}
.dl-h-extra{display:flex; gap:6px; color:var(--dl-soft);}
.dl-h-gold{color:#ffd700;} .dl-h-pity{color:#6ec1ff;} .dl-h-egg{color:#fff3b0;} .dl-h-item{color:var(--rar);} .dl-h-ev{color:#ff8a1f;}
.dl-h-gold-amt{font-variant-numeric:tabular-nums; color:var(--dl-ink);}
.dl-h-gold-amt :is(i,svg){color:var(--dl-gold);}
.dl-h-time{color:var(--dl-faint); font-size:0.75rem; text-align:right;}

/* ---------- tas d'or : décors & dragon endormi ---------- */
.dl-heap .dl-decor{display:none;}
.dl-heap.dl-show-gems .dl-decor-gems, .dl-heap.dl-show-sword .dl-decor-sword, .dl-heap.dl-show-crown .dl-decor-crown,
.dl-heap.dl-show-shield .dl-decor-shield, .dl-heap.dl-show-chalice .dl-decor-chalice, .dl-heap.dl-show-chest .dl-decor-chest,
.dl-heap.dl-show-potions .dl-decor-potions, .dl-heap.dl-show-scepter .dl-decor-scepter, .dl-heap.dl-show-candle .dl-decor-candle, .dl-heap.dl-show-map .dl-decor-map{display:inline;}
.dl-heap .dl-sleeper{display:none;}
.dl-heap.dl-heap-max .dl-sleeper{display:inline;}
.dl-heap .dl-sleeper{transform-box:fill-box; transform-origin:50% 100%; animation:dl-sleep 4s ease-in-out infinite;}
@keyframes dl-sleep{0%,100%{transform:scaleY(1);} 50%{transform:scaleY(1.035);}}
.dl-zzz{font:700 12px 'Fraunces', serif; fill:#fff8d6; opacity:0; animation:dl-zzz 3.6s ease-in-out infinite;}
.dl-zzz2{animation-delay:.6s; font-size:14px;} .dl-zzz3{animation-delay:1.2s; font-size:17px;}
@keyframes dl-zzz{0%{opacity:0; transform:translateY(4px);} 30%{opacity:1;} 80%{opacity:.8;} 100%{opacity:0; transform:translateY(-8px);}}
.dl-heap.dl-heap-max{opacity:0.4;}

/* ---------- mobile ---------- */
@media (max-width:600px){
  .dl-tabs{gap:5px;}
  .dl-tabs button{padding:9px 13px;}
  .dl-tabs button[aria-selected="true"] .dl-tab-label{display:inline;}
  .dl-stats-4{grid-template-columns:repeat(2, 1fr);}
  .dl-coll-row{flex-direction:column; align-items:stretch; gap:6px;}
  .dl-coll-slot{flex:none;}
  .dl-odds-row{grid-template-columns:84px 1fr 60px; gap:8px;}
  .dl-hist li{grid-template-columns:10px 1fr auto 64px; gap:8px;}
  .dl-hist .dl-h-extra{grid-column:2 / 3; grid-row:2;}
  .dl-nest{gap:12px; padding:14px;}
  .dl-egg, .dl-pet{width:70px; height:70px;}
}
@media (prefers-reduced-motion: reduce){
  .dl-egg :is(i,svg), .dl-pet :is(i,svg), .dl-heap .dl-sleeper, .dl-zzz, .dl-hatch-icon{animation:none;}
  .dl-zzz{opacity:.8;}
}

/* ---------- « Ton trésor » (butin) ---------- */
.dl-treasure{display:flex; align-items:center; gap:18px; margin:-12px 0 14px; padding:14px 18px; border-radius:18px;
  background:radial-gradient(120% 140% at 20% 100%, rgba(244,185,66,0.16), transparent 60%), var(--dl-panel); border:1px solid #5a4418;}
.dl-treasure-art{flex:0 0 auto; width:340px; max-width:48%; height:190px; display:flex; align-items:flex-end; justify-content:center; overflow:visible;}
.dl-treasure-art svg{width:100%; height:100%; transform:scale(calc(0.25 + var(--heap) * 0.75)); transform-origin:50% 100%;
  filter:drop-shadow(0 -4px 16px rgba(244,185,66,0.35)); overflow:visible;}
.dl-treasure-art .dl-decor, .dl-treasure-art .dl-sleeper{display:none;}
.dl-treasure-art.dl-show-gems .dl-decor-gems, .dl-treasure-art.dl-show-sword .dl-decor-sword,
.dl-treasure-art.dl-show-crown .dl-decor-crown, .dl-treasure-art.dl-heap-max .dl-sleeper,
.dl-treasure-art.dl-show-shield .dl-decor-shield, .dl-treasure-art.dl-show-chalice .dl-decor-chalice, .dl-treasure-art.dl-show-chest .dl-decor-chest,
.dl-treasure-art.dl-show-potions .dl-decor-potions, .dl-treasure-art.dl-show-scepter .dl-decor-scepter, .dl-treasure-art.dl-show-candle .dl-decor-candle, .dl-treasure-art.dl-show-map .dl-decor-map{display:inline;}
.dl-treasure-art .dl-sleeper{transform-box:fill-box; transform-origin:50% 100%; animation:dl-sleep 4s ease-in-out infinite;}
.dl-treasure-info{flex:1; display:flex; flex-direction:column; gap:6px; min-width:0;}
.dl-treasure-info b{font-size:1.1rem; color:var(--dl-ink);}
.dl-treasure-info span{font-size:0.85rem; color:var(--dl-soft);}
.dl-treasure.max .dl-treasure-info span{color:#ffe9b0;}
#dl-treasure:not(:empty) + .dl-express{margin-top:0;}
.dl-rar-solid{color:var(--rar);}
.dl-forge-grid{grid-template-columns:repeat(2, 1fr);}
.dl-shop-grid + .dl-hoard-sub{margin-top:16px;}
@media (max-width:600px){
  .dl-forge-grid{grid-template-columns:1fr;}
  .dl-treasure{flex-direction:column; align-items:stretch; text-align:center; gap:10px;}
  .dl-treasure-art{width:100%; max-width:none; height:170px;}
}
@media (prefers-reduced-motion: reduce){ .dl-treasure-art .dl-sleeper{animation:none;} }

/* ---------- l'objet sort du coffre ---------- */
.dl-item-pop{position:absolute; left:50%; top:50%; z-index:4; width:74px; height:74px; margin:-37px 0 0 -37px; pointer-events:auto;
  opacity:0; transform:translate(0, 10px) scale(0.2) rotate(-20deg);}
.dl-item-pop.go{animation:dl-item-out 1s cubic-bezier(.2,1.4,.4,1) forwards, dl-item-float 2.6s ease-in-out 1s infinite;}
.dl-item-pop-card{position:relative; z-index:1; width:100%; height:100%; border-radius:18px; display:flex; align-items:center; justify-content:center;
  font-size:2.1rem; color:#fff; background:linear-gradient(160deg, color-mix(in oklab, var(--rar) 55%, #1a1d22), #0e1013);
  border:2px solid var(--rar); box-shadow:0 0 22px color-mix(in oklab, var(--rar) 70%, transparent), inset 0 0 14px color-mix(in oklab, var(--rar) 40%, transparent);}
.dl-item-pop-card :is(i,svg){color:var(--rar); filter:drop-shadow(0 0 8px var(--rar));}
.dl-item-pop-rays{position:absolute; left:50%; top:50%; width:190px; height:190px; margin:-95px 0 0 -95px; border-radius:50%; opacity:.8;
  background:repeating-conic-gradient(from 0deg, color-mix(in oklab, var(--rar) 70%, transparent) 0deg 8deg, transparent 8deg 22deg);
  -webkit-mask:radial-gradient(circle, #000 18%, transparent 68%); mask:radial-gradient(circle, #000 18%, transparent 68%);
  animation:coffre-spin 7s linear infinite;}
@keyframes dl-item-out{
  0%{opacity:0; transform:translate(0, 10px) scale(0.2) rotate(-20deg);}
  35%{opacity:1; transform:translate(0, -175px) scale(1.25) rotate(8deg);}
  70%{transform:translate(0, -140px) scale(0.95) rotate(-3deg);}
  100%{opacity:1; transform:translate(0, -150px) scale(1) rotate(0);}
}
@keyframes dl-item-float{0%,100%{transform:translate(0, -150px);} 50%{transform:translate(0, -160px);}}
@media (max-width:600px){
  .dl-item-pop{width:60px; height:60px; margin:-30px 0 0 -30px;}
  .dl-item-pop-card{font-size:1.7rem;}
  @keyframes dl-item-out{
    0%{opacity:0; transform:translate(0, 10px) scale(0.2) rotate(-20deg);}
    35%{opacity:1; transform:translate(0, -150px) scale(1.25) rotate(8deg);}
    70%{transform:translate(0, -118px) scale(0.95) rotate(-3deg);}
    100%{opacity:1; transform:translate(0, -128px) scale(1) rotate(0);}
  }
  @keyframes dl-item-float{0%,100%{transform:translate(0, -128px);} 50%{transform:translate(0, -136px);}}
}
@media (prefers-reduced-motion: reduce){
  .dl-item-pop.go{animation:none; opacity:1; transform:translate(0, -150px);}
  .dl-item-pop-rays{animation:none;}
}

/* ---------- roi de la montagne (10 M) ---------- */
.dl-heap .dl-king, .dl-treasure-art .dl-king{display:none;}
.dl-heap.dl-heap-king .dl-king, .dl-treasure-art.dl-heap-king .dl-king{display:inline;}
.dl-heap.dl-heap-king{opacity:0.4;}
.dl-king{transform-box:fill-box; transform-origin:50% 100%; animation:dl-breathe 3.6s ease-in-out infinite;}
.dl-arken{animation:dl-arken 2.4s ease-in-out infinite;}
@keyframes dl-arken{0%,100%{opacity:1; filter:drop-shadow(0 0 4px #bfe6ff);} 50%{opacity:.85; filter:drop-shadow(0 0 12px #ffffff) hue-rotate(40deg);}}
.dl-treasure.king{border-color:#bfe6ff66; background:radial-gradient(120% 140% at 20% 100%, rgba(191,230,255,0.14), transparent 60%), radial-gradient(120% 140% at 80% 0%, rgba(244,185,66,0.16), transparent 60%), var(--dl-panel);}
.dl-treasure.king .dl-treasure-info b{color:#ffe27a;}

/* ---------- plusieurs œufs / dragons ---------- */
.dl-nest-grid{display:grid; grid-template-columns:repeat(auto-fill, minmax(300px, 1fr)); gap:12px;}
.dl-hatch-icons{display:flex; justify-content:center; gap:14px;}
.dl-hatch-icon{font-size:4rem; color:var(--rar); filter:drop-shadow(0 0 18px var(--rar)); animation:dl-pop-in .7s cubic-bezier(.2,1.5,.4,1);}
.dl-hatch-icons .dl-hatch-icon + .dl-hatch-icon{font-size:3rem; align-self:flex-end;}
.dl-cheat-btns{display:flex; gap:6px; flex-wrap:wrap; justify-content:flex-end;}
.dl-cheats .dl-btn:disabled{opacity:.4; cursor:not-allowed;}
@media (max-width:600px){ .dl-nest-grid{grid-template-columns:1fr;} }
@media (prefers-reduced-motion: reduce){ .dl-king, .dl-arken{animation:none;} }
#dl-nest, #dl-collection, #dl-dragons{scroll-margin-top:90px;}

/* ---------- en-tête mobile : or compact + ligne « Tricheur » ---------- */
.dl-gold-short{display:none;}
.dl-cheater-line{display:none;}
@media (max-width:600px){
  .dl-gold-full{display:none;}
  .dl-gold-short{display:inline;}
  .dl-brand .dl-cheater{display:none !important;}
  .dl-cheater-line:not([hidden]){display:flex; align-items:center; justify-content:center; gap:6px; padding:5px 12px;
    font-size:0.72rem; letter-spacing:0.08em; text-transform:uppercase; color:#fff;
    background:linear-gradient(90deg,#7a1020,#D7263D,#7a1020); box-shadow:0 2px 10px rgba(215,38,61,0.35);}
  .dl-cheater-line small{text-transform:none; letter-spacing:0; opacity:.8; font-size:0.68rem; font-weight:500;
    overflow:hidden; text-overflow:ellipsis; white-space:nowrap; min-width:0;}
}

/* ---------- apparence « Nébuleuse » ---------- */
.dl-stage[data-skin="nebula"] .coffre-lid, .dl-stage[data-skin="nebula"] .coffre-body{border-color:#140f3a; box-shadow:0 0 22px #7b5cff88;}
.dl-stage[data-skin="nebula"] .coffre-lid::after, .dl-stage[data-skin="nebula"] .coffre-body::after{opacity:.72; mix-blend-mode:multiply;
  background:
    radial-gradient(1.5px 1.5px at 18% 30%, #fff 60%, transparent), radial-gradient(1.2px 1.2px at 62% 18%, #fff 60%, transparent),
    radial-gradient(1.8px 1.8px at 80% 64%, #fff 60%, transparent), radial-gradient(1.2px 1.2px at 40% 78%, #fff 60%, transparent),
    radial-gradient(1.4px 1.4px at 90% 22%, #fff 60%, transparent), radial-gradient(1px 1px at 8% 70%, #fff 60%, transparent),
    radial-gradient(60% 80% at 30% 40%, #6a3fb8 0%, transparent 70%), radial-gradient(60% 80% at 75% 70%, #1d4fa8 0%, transparent 70%),
    linear-gradient(135deg, #241a55, #0b0d2a 55%, #2e1446);}
.dl-stage[data-skin="nebula"] .coffre-band{background:#cfd8ff; box-shadow:0 0 10px #9fb4ff;}
.dl-stage[data-skin="nebula"] .coffre-belt, .dl-stage[data-skin="nebula"] .coffre-lock{background:#140f3a; color:#cfd8ff;}
.dl-skin-prev[data-skin="nebula"] :is(.dl-sp-lid,.dl-sp-body){border-color:#140f3a; box-shadow:0 0 8px #7b5cff99;}
.dl-skin-prev[data-skin="nebula"] :is(.dl-sp-lid,.dl-sp-body)::after{opacity:.72; mix-blend-mode:multiply;
  background:radial-gradient(1px 1px at 20% 30%, #fff 60%, transparent), radial-gradient(1px 1px at 70% 60%, #fff 60%, transparent),
    radial-gradient(1px 1px at 45% 80%, #fff 60%, transparent), radial-gradient(60% 80% at 30% 40%, #6a3fb8, transparent 70%), linear-gradient(135deg,#241a55,#0b0d2a 55%,#2e1446);}
.dl-skin-prev[data-skin="nebula"] .dl-sp-body::before{background:#cfd8ff; box-shadow:0 0 6px #9fb4ff;}

/* ---------- clé quotidienne bonus (ligne facultative #dl-gratkey, absente de la page) ---------- */
.dl-gratkey{margin:4px 0 0; font-size:0.8rem; color:#e8c98a;}
.dl-gratkey :is(i,svg){color:var(--dl-gold);}
.dl-gratkey.done{color:#9be8a8;} .dl-gratkey.done :is(i,svg){color:#7be38c;}

/* ---------- icône SVG maison (fleur-de-lys) ---------- */
.dl-svg-icon{display:inline-block; width:1em; height:1em; line-height:1; vertical-align:-0.125em;}
.dl-svg-icon svg{width:100%; height:100%; display:block;}

/* ---------- nouveaux événements ---------- */
.dl-stage[data-event="saintjean"]{background:radial-gradient(120% 90% at 50% 40%, #0f2a66, #06122e);}
.dl-stage[data-event="darix"]{background:radial-gradient(120% 90% at 50% 40%, #3a1410, #120606);}
.dl-stage[data-event="ete"]{background:radial-gradient(120% 90% at 50% 40%, #13333d, #0a1418);}
.dl-shell:has(.dl-stage[data-event="saintjean"]) .dl-event-banner{background:linear-gradient(90deg,#003da5,#0a2a78); border-color:#ffffff55; color:#fff;}
.dl-shell:has(.dl-stage[data-event="darix"]) .dl-event-banner{background:linear-gradient(90deg,#7a1a14,#b8453a 50%,#8a4a10); border-color:#f2c46d66; color:#ffe9c2;}
.dl-shell:has(.dl-stage[data-event="ete"]) .dl-event-banner{background:linear-gradient(90deg,#0d4a5a,#6a5a10); border-color:#ffd23f66; color:#fff6c9;}

/* ---------- chances réelles v2 : un trait = l'annoncé, la barre = l'obtenu ---------- */
.dl-odds-empty{margin:4px 0 8px; font-size:0.82rem; color:var(--dl-faint);}
.dl-odds-track{position:relative; height:10px; border-radius:999px; background:#0b0d10; border:1px solid var(--dl-line); overflow:visible;}
.dl-odds-fill{height:100%; border-radius:999px; background:var(--rar); box-shadow:0 0 8px color-mix(in oklab, var(--rar) 50%, transparent); transition:width .6s ease;}
.dl-odds-track.unlucky .dl-odds-fill{opacity:.55;}
.dl-odds-mark{position:absolute; left:50%; top:-4px; bottom:-4px; width:2px; margin-left:-1px; border-radius:2px; background:#d9d2c3; box-shadow:0 0 0 1px rgba(0,0,0,.5);}
.dl-odds-vals b{font-size:0.88rem;} .dl-odds-n{font-weight:400; color:var(--dl-faint); font-size:0.72rem;}
.dl-odds-vals{text-align:right;}
.dl-lg.real{background:linear-gradient(90deg,#00ff00,#4763ff,#ffd700); width:18px;}
.dl-lg.mark{width:2px; height:12px; background:#d9d2c3; border-radius:2px;}
@media (max-width:600px){ .dl-odds-row{grid-template-columns:84px 1fr 92px; gap:8px;} .dl-odds-vals small{font-size:0.66rem;}
  .dl-odds-name{font-size:0.68rem; letter-spacing:0.02em; overflow:hidden; text-overflow:ellipsis; white-space:nowrap;} }

/* ---------- bougeoir ---------- */
.dl-flame{transform-box:fill-box; transform-origin:50% 100%; animation:dl-flicker 1.4s ease-in-out infinite;}
@keyframes dl-flicker{0%,100%{transform:scale(1,1);} 30%{transform:scale(.9,1.08);} 60%{transform:scale(1.06,.94);}}
@media (prefers-reduced-motion: reduce){ .dl-flame{animation:none;} }

/* ---------- 4 nouvelles apparences ---------- */
/* Givre */
.dl-stage[data-skin="frost"] .coffre-lid, .dl-stage[data-skin="frost"] .coffre-body{border-color:#bfe6ff; box-shadow:0 0 20px rgba(160,220,255,0.55);}
.dl-stage[data-skin="frost"] .coffre-lid::after, .dl-stage[data-skin="frost"] .coffre-body::after{opacity:.8; mix-blend-mode:screen;
  background:radial-gradient(circle at 15% 20%, rgba(255,255,255,.9) 0 3px, transparent 4px), radial-gradient(circle at 70% 35%, rgba(255,255,255,.8) 0 2px, transparent 3px),
    radial-gradient(circle at 40% 75%, rgba(255,255,255,.8) 0 2.5px, transparent 3.5px), radial-gradient(circle at 88% 80%, rgba(255,255,255,.9) 0 2px, transparent 3px),
    linear-gradient(180deg, rgba(210,240,255,.65), rgba(120,190,255,.15) 45%, rgba(210,240,255,.4));}
.dl-stage[data-skin="frost"] .coffre-band{background:#eaf7ff; box-shadow:0 0 8px #bfe6ff;}
.dl-stage[data-skin="frost"] .coffre-belt, .dl-stage[data-skin="frost"] .coffre-lock{background:#9fd6ff; color:#0d3350;}
/* Magma */
.dl-stage[data-skin="magma"] .coffre-lid, .dl-stage[data-skin="magma"] .coffre-body{border-color:#1a0a06; box-shadow:0 0 24px rgba(255,106,0,0.55);}
.dl-stage[data-skin="magma"] .coffre-lid::after, .dl-stage[data-skin="magma"] .coffre-body::after{opacity:.8; mix-blend-mode:multiply;
  background:linear-gradient(115deg, transparent 0 22%, #ffb347 22% 24%, transparent 24% 58%, #ff8a1f 58% 60%, transparent 60%),
    linear-gradient(35deg, transparent 0 40%, #ffb347 40% 41.5%, transparent 41.5%), linear-gradient(180deg, #4a2016, #1c0a06);}
.dl-stage[data-skin="magma"] .coffre-band{background:#ff6a00; box-shadow:0 0 12px #ff6a00;}
.dl-stage[data-skin="magma"] .coffre-belt, .dl-stage[data-skin="magma"] .coffre-lock{background:#1c0a06; color:#ffb347;}
/* Royal */
.dl-stage[data-skin="royal"] .coffre-lid, .dl-stage[data-skin="royal"] .coffre-body{border-color:#b8860b; border-width:5px; box-shadow:0 0 18px rgba(255,215,0,0.45);}
.dl-stage[data-skin="royal"] .coffre-lid::after, .dl-stage[data-skin="royal"] .coffre-body::after{opacity:.55; mix-blend-mode:screen; background-size:22px 22px;
  background-image:radial-gradient(circle at 50% 50%, rgba(255,230,140,.9) 0 2px, transparent 2.5px), linear-gradient(45deg, transparent 46%, rgba(255,215,0,.5) 48% 52%, transparent 54%),
    linear-gradient(-45deg, transparent 46%, rgba(255,215,0,.5) 48% 52%, transparent 54%);}
.dl-stage[data-skin="royal"] .coffre-band{background:#5a1a7a; box-shadow:inset 0 0 0 2px #ffd700;}
.dl-stage[data-skin="royal"] .coffre-belt{background:#5a1a7a;}
.dl-stage[data-skin="royal"] .coffre-lock{background:linear-gradient(180deg,#ffe680,#ffd700 45%,#b8860b); color:#5a1a7a;}
/* Fleurdelisé (drapeau du Québec : la couleur de rareté forme la croix) */
.dl-stage[data-skin="quebec"] .coffre-lid, .dl-stage[data-skin="quebec"] .coffre-body{border-color:#002a75;}
.dl-stage[data-skin="quebec"] .coffre-lid::after, .dl-stage[data-skin="quebec"] .coffre-body::after{opacity:.9; mix-blend-mode:multiply;
  background:linear-gradient(90deg, transparent 0 44%, #fff 44% 56%, transparent 56%), linear-gradient(0deg, transparent 0 40%, #fff 40% 60%, transparent 60%), #003da5;}
.dl-stage[data-skin="quebec"] .coffre-band{background:#ffffff;}
.dl-stage[data-skin="quebec"] .coffre-belt, .dl-stage[data-skin="quebec"] .coffre-lock{background:#003da5; color:#fff;}
/* aperçus boutique */
.dl-skin-prev[data-skin="frost"] :is(.dl-sp-lid,.dl-sp-body){border-color:#bfe6ff; box-shadow:0 0 8px rgba(160,220,255,.6);}
.dl-skin-prev[data-skin="frost"] :is(.dl-sp-lid,.dl-sp-body)::after{opacity:.8; mix-blend-mode:screen; background:radial-gradient(circle at 25% 30%, #fff 0 1.5px, transparent 2px), radial-gradient(circle at 70% 60%, #fff 0 1.5px, transparent 2px), linear-gradient(180deg, rgba(210,240,255,.65), rgba(120,190,255,.15));}
.dl-skin-prev[data-skin="frost"] .dl-sp-body::before{background:#eaf7ff;}
.dl-skin-prev[data-skin="magma"] :is(.dl-sp-lid,.dl-sp-body){border-color:#1a0a06; box-shadow:0 0 8px rgba(255,106,0,.6);}
.dl-skin-prev[data-skin="magma"] :is(.dl-sp-lid,.dl-sp-body)::after{opacity:.8; mix-blend-mode:multiply; background:linear-gradient(115deg, transparent 0 30%, #ffb347 30% 34%, transparent 34%), linear-gradient(180deg,#4a2016,#1c0a06);}
.dl-skin-prev[data-skin="magma"] .dl-sp-body::before{background:#ff6a00; box-shadow:0 0 6px #ff6a00;}
.dl-skin-prev[data-skin="royal"] :is(.dl-sp-lid,.dl-sp-body){border-color:#b8860b; border-width:3px; box-shadow:0 0 8px rgba(255,215,0,.5);}
.dl-skin-prev[data-skin="royal"] :is(.dl-sp-lid,.dl-sp-body)::after{opacity:.55; mix-blend-mode:screen; background-size:10px 10px; background-image:radial-gradient(circle, rgba(255,230,140,.9) 0 1.2px, transparent 1.6px);}
.dl-skin-prev[data-skin="royal"] .dl-sp-body::before{background:#5a1a7a; box-shadow:inset 0 0 0 1px #ffd700;}
.dl-skin-prev[data-skin="quebec"] :is(.dl-sp-lid,.dl-sp-body){border-color:#002a75;}
.dl-skin-prev[data-skin="quebec"] :is(.dl-sp-lid,.dl-sp-body)::after{opacity:.9; mix-blend-mode:multiply; background:linear-gradient(90deg, transparent 0 44%, #fff 44% 56%, transparent 56%), linear-gradient(0deg, transparent 0 40%, #fff 40% 60%, transparent 60%), #003da5;}
.dl-skin-prev[data-skin="quebec"] .dl-sp-body::before{background:#fff;}

/* très petits écrans : onglets en icônes seulement (même l'actif), sur une seule ligne */
@media (max-width:420px){
  .dl-tabs{flex-wrap:nowrap;}
  .dl-tabs button[aria-selected="true"] .dl-tab-label{display:none;}
  .dl-tabs button{padding:9px 14px;}
}

/* ---------- 10 décorations ajoutées (v1.1.0) ---------- */
.dl-heap.dl-show-pouch .dl-decor-pouch, .dl-treasure-art.dl-show-pouch .dl-decor-pouch,
.dl-heap.dl-show-compass .dl-decor-compass, .dl-treasure-art.dl-show-compass .dl-decor-compass,
.dl-heap.dl-show-hourglass .dl-decor-hourglass, .dl-treasure-art.dl-show-hourglass .dl-decor-hourglass,
.dl-heap.dl-show-key .dl-decor-key, .dl-treasure-art.dl-show-key .dl-decor-key,
.dl-heap.dl-show-grimoire .dl-decor-grimoire, .dl-treasure-art.dl-show-grimoire .dl-decor-grimoire,
.dl-heap.dl-show-helmet .dl-decor-helmet, .dl-treasure-art.dl-show-helmet .dl-decor-helmet,
.dl-heap.dl-show-axe .dl-decor-axe, .dl-treasure-art.dl-show-axe .dl-decor-axe,
.dl-heap.dl-show-ring .dl-decor-ring, .dl-treasure-art.dl-show-ring .dl-decor-ring,
.dl-heap.dl-show-orb .dl-decor-orb, .dl-treasure-art.dl-show-orb .dl-decor-orb,
.dl-heap.dl-show-knight .dl-decor-knight, .dl-treasure-art.dl-show-knight .dl-decor-knight{display:inline;}

/* =================================================================
   v1.2.0 — niveau, ouverture ×10, succès, soins du dragon, compagnon
   ================================================================= */
/* ---------- niveau (sous la barre des clés) ---------- */
.dl-level{display:flex; align-items:center; gap:10px; margin-top:10px; padding-top:10px; border-top:1px solid var(--dl-line); flex-wrap:wrap;}
.dl-level:empty{display:none;}
.dl-level-badge{flex:0 0 auto; font-size:0.78rem; color:#2A1F0B; background:linear-gradient(180deg,#ffe27a,#f4b942); border-radius:999px; padding:3px 10px;}
.dl-level-track{flex:1 1 120px; height:6px; background:#0b0d10; border-radius:999px; overflow:hidden; border:1px solid var(--dl-line);}
.dl-level-fill{height:100%; border-radius:999px; background:linear-gradient(90deg, #7b5cff, #b98cff); transition:width .6s ease;}
.dl-level-xp{font-size:0.78rem; color:var(--dl-faint); font-variant-numeric:tabular-nums;}
.dl-level-xp b{color:var(--dl-gold); font-weight:600;}
.dl-res-level{border-color:#b98cff; background:rgba(40,25,70,0.85);} .dl-res-level :is(i,svg){color:#d9c2ff;}
.dl-res-chips{display:flex; gap:6px; flex-wrap:wrap; justify-content:center;}
.dl-res-goldn{border-color:#ffd700;} .dl-res-goldn :is(i,svg){color:#ffd700;}

/* ---------- ouverture ×10 ---------- */
.dl-btn-multi{font-weight:700; letter-spacing:0.02em;}
.dl-multi{margin-top:16px;}
.dl-multi-grid{display:grid; grid-template-columns:repeat(5, 1fr); gap:8px;}
.dl-multi-tile{display:flex; flex-direction:column; align-items:center; gap:4px; padding:10px 6px; border-radius:14px; text-align:center; min-width:0;
  background:linear-gradient(160deg, color-mix(in oklab, var(--rar) 22%, #14171b), #0e1013 80%); border:1px solid color-mix(in oklab, var(--rar) 55%, transparent);
  opacity:0; animation:dl-tile-in .45s ease forwards;}
.dl-multi-tile.golden{box-shadow:0 0 0 1px #ffd700, 0 0 14px #ffd70055;}
.dl-multi-name{font-size:0.7rem; letter-spacing:0.05em; text-transform:uppercase; max-width:100%; overflow:hidden; text-overflow:ellipsis; white-space:nowrap;}
.dl-multi-gold{font-size:0.82rem; font-variant-numeric:tabular-nums; color:var(--dl-ink);}
.dl-multi-gold :is(i,svg){color:var(--dl-gold);}
.dl-multi-icons{display:flex; gap:5px; min-height:14px; font-size:0.78rem;}
@keyframes dl-tile-in{from{opacity:0; transform:translateY(8px) scale(.94);} to{opacity:1; transform:none;}}
@media (max-width:600px){ .dl-multi-grid{grid-template-columns:repeat(5, 1fr); gap:5px;} .dl-multi-tile{padding:8px 3px;} .dl-multi-name{font-size:0.58rem;} .dl-multi-gold{font-size:0.72rem;} }
@media (max-width:380px){ .dl-multi-grid{grid-template-columns:repeat(5, 1fr);} .dl-multi-gold :is(i,svg){display:none;} }

/* ---------- notifications ---------- */
.dl-toasts{position:fixed; top:calc(70px + env(safe-area-inset-top, 0px)); right:12px; z-index:950; display:flex; flex-direction:column; gap:8px; pointer-events:none; max-width:min(340px, calc(100vw - 24px));}
.dl-toast{display:flex; align-items:center; gap:12px; background:#16191e; border:1px solid #5a4418; border-radius:16px; padding:10px 14px; color:var(--dl-ink);
  box-shadow:0 10px 30px rgba(0,0,0,0.5); font-size:0.85rem; opacity:0; transform:translateX(20px); transition:opacity .3s ease, transform .3s ease;}
.dl-toast.show{opacity:1; transform:none;}
.dl-toast > span:last-child{display:flex; flex-direction:column; gap:2px; min-width:0;}
.dl-toast b{color:var(--dl-gold); font-size:0.72rem; letter-spacing:0.08em; text-transform:uppercase;}
.dl-toast small{color:var(--dl-soft); font-size:0.75rem;}
.dl-toast small :is(i,svg){color:var(--dl-gold);}
.dl-toast-icon{flex:0 0 auto; width:38px; height:38px; border-radius:50%; display:flex; align-items:center; justify-content:center; font-size:1.1rem;
  color:var(--rar, var(--dl-gold)); background:radial-gradient(circle, color-mix(in oklab, var(--rar, #f4b942) 30%, #1c2026), #111318);}

/* ---------- onglet Succès ---------- */
.dl-lvcard{display:flex; align-items:center; gap:18px; padding:16px 18px; border-radius:18px; border:1px solid #4b3a86;
  background:radial-gradient(120% 140% at 0% 100%, rgba(123,92,255,0.22), transparent 60%), var(--dl-panel);}
.dl-lvcard-num{flex:0 0 auto; width:84px; height:84px; border-radius:50%; display:flex; flex-direction:column; align-items:center; justify-content:center;
  background:radial-gradient(circle at 50% 35%, #3a2d6e, #15121f); border:2px solid #b98cff; box-shadow:0 0 18px rgba(185,140,255,0.35);}
.dl-lvcard-num small{font-size:0.62rem; letter-spacing:0.12em; text-transform:uppercase; color:#d9c2ff;}
.dl-lvcard-num b{font-size:2rem; line-height:1; color:#fff;}
.dl-lvcard-info{flex:1; min-width:0; display:flex; flex-direction:column; gap:6px;}
.dl-lvcard-info > span{color:var(--dl-gold); font-size:0.88rem; font-weight:600;}
.dl-lvcard-info > small{color:var(--dl-faint); font-size:0.78rem; line-height:1.45;}
.dl-lvcard-info .dl-level-track{flex:none; height:8px;}
.dl-ach-grid{display:grid; grid-template-columns:repeat(auto-fill, minmax(260px, 1fr)); gap:10px;}
.dl-ach{display:flex; gap:12px; align-items:flex-start; background:var(--dl-panel); border:1px solid var(--dl-line); border-radius:16px; padding:12px 14px;}
.dl-ach-icon{flex:0 0 auto; width:40px; height:40px; border-radius:12px; display:flex; align-items:center; justify-content:center; font-size:1.05rem;
  background:#0e1013; color:#4a4f58; border:1px solid var(--dl-line);}
.dl-ach.ok{border-color:#5a4418; background:linear-gradient(135deg, rgba(244,185,66,0.10), transparent 60%), var(--dl-panel);}
.dl-ach.ok .dl-ach-icon{color:#2A1F0B; background:linear-gradient(180deg,#ffe27a,#f4b942); border-color:#f4b942; box-shadow:0 0 12px rgba(244,185,66,0.35);}
.dl-ach-info{flex:1; min-width:0; display:flex; flex-direction:column; gap:4px;}
.dl-ach-info > b{font-size:0.92rem;}
.dl-ach:not(.ok) .dl-ach-info > b{color:var(--dl-soft);}
.dl-ach-info > small{color:var(--dl-faint); font-size:0.78rem; line-height:1.4;}
.dl-ach-date{font-size:0.72rem; color:#7be38c;}
.dl-ach-prog{display:flex; align-items:center; gap:8px; font-size:0.72rem; color:var(--dl-faint); font-variant-numeric:tabular-nums;}
.dl-ach-prog .dl-level-fill{background:linear-gradient(90deg, var(--dl-gold-deep), var(--dl-gold));}
.dl-ach-reward{display:flex; gap:6px; flex-wrap:wrap; font-size:0.72rem; margin-top:2px;}
.dl-ach-reward > span{border-radius:999px; padding:2px 8px; background:#0e1013; border:1px solid var(--dl-line); color:var(--dl-soft);}
.dl-ach-reward :is(i,svg){color:var(--dl-gold);}
.dl-ach-title :is(i,svg){color:#b98cff !important;}
.dl-ach.ok .dl-ach-title{border-color:#4b3a86; color:#d9c2ff;}

/* ---------- soins du dragon & compagnon ---------- */
.dl-pet-actions{display:flex; gap:8px; flex-wrap:wrap; margin-top:4px;}
.dl-pet-actions .dl-btn{padding:6px 12px; font-size:0.8rem; gap:6px;}
.dl-btn-gold-soft{background:rgba(244,185,66,0.14); color:var(--dl-gold); border:1px solid #5a4418;}
.dl-nest.dl-fed{animation:dl-fed .6s ease;}
@keyframes dl-fed{30%{box-shadow:0 0 0 2px var(--rar), 0 0 26px color-mix(in oklab, var(--rar) 60%, transparent);} 100%{box-shadow:none;}}
.dl-companion{position:absolute; left:14px; bottom:14px; z-index:6; display:flex; flex-direction:column; align-items:center; gap:2px; pointer-events:none;}
.dl-comp-body{display:flex; color:var(--rar); filter:drop-shadow(0 0 10px color-mix(in oklab, var(--rar) 70%, transparent)); animation:dl-comp-bob 3s ease-in-out infinite;}
.dl-comp-0 .dl-comp-body{font-size:1.4rem;} .dl-comp-1 .dl-comp-body{font-size:1.9rem;} .dl-comp-2 .dl-comp-body{font-size:2.4rem;} .dl-comp-3 .dl-comp-body{font-size:2.9rem;}
.dl-comp-name{font-size:0.66rem; color:var(--dl-soft); background:rgba(12,14,17,0.7); border-radius:999px; padding:1px 7px; max-width:90px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap;}
.dl-companion.cheer .dl-comp-body{animation:dl-comp-cheer .8s ease, dl-comp-bob 3s ease-in-out .8s infinite;}
@keyframes dl-comp-bob{0%,100%{transform:translateY(0);} 50%{transform:translateY(-4px);}}
@keyframes dl-comp-cheer{0%{transform:translateY(0) rotate(0);} 30%{transform:translateY(-16px) rotate(-10deg);} 60%{transform:translateY(0) rotate(6deg);} 80%{transform:translateY(-6px);} 100%{transform:translateY(0);}}
@media (max-width:600px){
  .dl-companion{left:8px; bottom:8px;}
  .dl-comp-name{display:none;}
  .dl-lvcard{gap:12px; padding:14px;}
  .dl-lvcard-num{width:68px; height:68px;} .dl-lvcard-num b{font-size:1.6rem;}
  .dl-ach-grid{grid-template-columns:1fr;}
}
@media (prefers-reduced-motion: reduce){ .dl-comp-body, .dl-companion.cheer .dl-comp-body, .dl-multi-tile{animation:none; opacity:1;} }
@media (max-width:600px){
  .dl-toasts{top:calc(58px + env(safe-area-inset-top, 0px)); left:10px; right:10px; max-width:none; align-items:stretch;}
  .dl-toast{padding:8px 12px; font-size:0.8rem;}
  .dl-toast-icon{width:32px; height:32px; font-size:0.95rem;}
}
@media (max-width:420px){ .dl-multi-name{font-size:0.5rem; letter-spacing:0;} }
@media (max-width:360px){ .dl-tabs{gap:4px;} .dl-tabs button{padding:8px 10px;} }

/* =================================================================
   v1.3.0 — fonds de scène, apparences débloquées, talents, prestige,
            stats du jour, mode daltonien
   ================================================================= */
/* ---------- fonds de scène (calque #dl-scene au fond de la scène) ---------- */
.dl-scene{position:absolute; inset:0; z-index:0; pointer-events:none; border-radius:inherit;}
.dl-scene[data-bg="none"]{display:none;}
.dl-scene::after{content:""; position:absolute; inset:0; background:radial-gradient(60% 55% at 50% 48%, rgba(0,0,0,0.35), transparent 70%), radial-gradient(130% 100% at 50% 50%, transparent 55%, rgba(0,0,0,0.55));}
.dl-scene-art{background-color:#0c0e11; background-repeat:no-repeat;}
.dl-scene-art[data-bg="none"]{background:radial-gradient(120% 90% at 50% 40%, #1c1e22, #0a0a0b);}
.dl-scene-art[data-bg="cave"]{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 400 60' preserveAspectRatio='none'%3E%3Cpath d='M0 0H400V8L385 30 372 10 360 44 345 12 330 22 318 8 300 38 285 10 270 18 255 6 240 34 222 10 205 26 190 8 175 40 160 12 145 20 130 6 112 32 98 10 84 24 70 8 55 42 40 12 25 22 12 8 0 30Z' fill='%23120c09'/%3E%3C/svg%3E"), url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 400 100' preserveAspectRatio='none'%3E%3Cpath d='M0 100V70L20 62 42 74 70 58 96 72 120 66 150 80 250 80 280 64 305 74 332 56 360 70 382 60 400 68V100Z' fill='%23140e0a'/%3E%3C/svg%3E"),
  radial-gradient(40% 50% at 6% 60%, rgba(255,140,40,0.28), transparent 70%), radial-gradient(40% 50% at 94% 60%, rgba(255,140,40,0.28), transparent 70%),
  radial-gradient(circle, rgba(255,210,120,0.8) 0 1.2px, transparent 2.0px), radial-gradient(circle, rgba(255,210,120,0.8) 0 1.3px, transparent 2.1px), radial-gradient(circle, rgba(255,210,120,0.8) 0 1.5px, transparent 2.3px), radial-gradient(circle, rgba(255,210,120,0.8) 0 1.0px, transparent 1.8px), radial-gradient(circle, rgba(255,210,120,0.8) 0 1.4px, transparent 2.2px), radial-gradient(circle, rgba(255,210,120,0.8) 0 1.4px, transparent 2.2px), radial-gradient(circle, rgba(255,210,120,0.8) 0 1.3px, transparent 2.1px), radial-gradient(circle, rgba(255,210,120,0.8) 0 1.5px, transparent 2.3px), linear-gradient(180deg, #2a1f18, #1a120d 60%, #120c08);
  background-size:100% 24%, 100% 30%, 100% 100%, 100% 100%, 8px 8px, 8px 8px, 8px 8px, 8px 8px, 8px 8px, 8px 8px, 8px 8px, 8px 8px, 100% 100%; background-position:top, bottom, 0 0, 0 0, 71% 18%, 79% 62%, 10% 79%, 62% 35%, 26% 62%, 72% 62%, 21% 31%, 68% 51%, 0 0;}
.dl-scene-art[data-bg="forest"]{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 400 100' preserveAspectRatio='none'%3E%3Cpath d='M0 100V78L14 40 L28 78L42 52 L56 78L70 42 L84 78L98 54 L112 78L126 44 L140 78L154 56 L168 78L182 46 L196 78L210 58 L224 78L238 48 L252 78L266 60 L280 78L294 50 L308 78L322 40 L336 78L350 52 L364 78L378 42 L392 78L400 78V100Z' fill='%2306140c'/%3E%3C/svg%3E"), url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 400 100' preserveAspectRatio='none'%3E%3Cpath d='M0 100V62L10 30 L20 62L30 44 L40 62L50 40 L60 62L70 36 L80 62L90 32 L100 62L110 46 L120 62L130 42 L140 62L150 38 L160 62L170 34 L180 62L190 30 L200 62L210 44 L220 62L230 40 L240 62L250 36 L260 62L270 32 L280 62L290 46 L300 62L310 42 L320 62L330 38 L340 62L350 34 L360 62L370 30 L380 62L390 44 L400 62V100Z' fill='%230d2418'/%3E%3C/svg%3E"), radial-gradient(circle, rgba(200,255,120,0.9) 0 1.7px, transparent 2.5px), radial-gradient(circle, rgba(200,255,120,0.9) 0 1.2px, transparent 2.0px), radial-gradient(circle, rgba(200,255,120,0.9) 0 1.3px, transparent 2.1px), radial-gradient(circle, rgba(200,255,120,0.9) 0 1.5px, transparent 2.3px), radial-gradient(circle, rgba(200,255,120,0.9) 0 1.7px, transparent 2.5px), radial-gradient(circle, rgba(200,255,120,0.9) 0 1.7px, transparent 2.5px), radial-gradient(circle, rgba(200,255,120,0.9) 0 2.0px, transparent 2.8px), radial-gradient(circle, rgba(200,255,120,0.9) 0 1.1px, transparent 1.9px), radial-gradient(circle, rgba(200,255,120,0.9) 0 1.2px, transparent 2.0px), radial-gradient(circle, rgba(200,255,120,0.9) 0 1.8px, transparent 2.6px),
  radial-gradient(30% 30% at 78% 16%, rgba(220,240,255,0.35), transparent 70%), linear-gradient(180deg, #0d2233, #0f2a22 55%, #0a1a12);
  background-size:100% 42%, 100% 52%, 8px 8px, 8px 8px, 8px 8px, 8px 8px, 8px 8px, 8px 8px, 8px 8px, 8px 8px, 8px 8px, 8px 8px, 100% 100%, 100% 100%; background-position:bottom, bottom, 87% 10%, 77% 7%, 5% 36%, 94% 51%, 56% 52%, 75% 58%, 19% 48%, 19% 65%, 88% 57%, 40% 55%, 0 0, 0 0;}
.dl-scene-art[data-bg="castle"]{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 400 100' preserveAspectRatio='none'%3E%3Cpath d='M0 100V84H40V70H48V64H54V70H62V84H120V58H126V52H132V58H138V52H144V58H150V84H170V40L180 26L190 40V84H210V30H214V20L222 8L230 20V30H234V84H250V50H256V44H262V50H268V44H274V50H280V84H330V66H338V60H344V66H352V84H400V100Z' fill='%23120f22'/%3E%3Crect x='218' y='40' width='8' height='12' rx='4' fill='%23ffcf6a' opacity='.8'/%3E%3Crect x='176' y='52' width='6' height='9' rx='3' fill='%23ffcf6a' opacity='.7'/%3E%3C/svg%3E"), radial-gradient(22% 22% at 22% 20%, rgba(255,230,200,0.5), transparent 70%), radial-gradient(circle, rgba(255,255,255,0.7) 0 0.9px, transparent 1.7px), radial-gradient(circle, rgba(255,255,255,0.7) 0 0.8px, transparent 1.6px), radial-gradient(circle, rgba(255,255,255,0.7) 0 1.0px, transparent 1.8px), radial-gradient(circle, rgba(255,255,255,0.7) 0 1.1px, transparent 1.9px), radial-gradient(circle, rgba(255,255,255,0.7) 0 1.0px, transparent 1.8px), radial-gradient(circle, rgba(255,255,255,0.7) 0 1.1px, transparent 1.9px), radial-gradient(circle, rgba(255,255,255,0.7) 0 1.0px, transparent 1.8px), radial-gradient(circle, rgba(255,255,255,0.7) 0 0.8px, transparent 1.6px), radial-gradient(circle, rgba(255,255,255,0.7) 0 0.9px, transparent 1.7px), radial-gradient(circle, rgba(255,255,255,0.7) 0 0.7px, transparent 1.5px),
  linear-gradient(180deg, #1b1840, #4a2a5e 55%, #8a4a5a 85%, #c2705a);
  background-size:100% 56%, 100% 100%, 8px 8px, 8px 8px, 8px 8px, 8px 8px, 8px 8px, 8px 8px, 8px 8px, 8px 8px, 8px 8px, 8px 8px, 100% 100%; background-position:bottom, 0 0, 51% 38%, 76% 28%, 45% 3%, 79% 12%, 43% 36%, 74% 8%, 29% 38%, 17% 6%, 83% 32%, 10% 28%, 0 0;}
.dl-scene-art[data-bg="night"]{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 400 100' preserveAspectRatio='none'%3E%3Cpath d='M0 100V74C60 60 110 64 160 74S260 88 320 70 380 62 400 66V100Z' fill='%230a0f22'/%3E%3Cpath d='M0 100V86C80 78 150 82 220 90S340 94 400 84V100Z' fill='%23060913'/%3E%3C/svg%3E"), radial-gradient(circle at 82% 18%, #fff6d8 0 5%, transparent 5.5%), radial-gradient(circle at 84.5% 16%, #0b1230 0 5%, transparent 5.5%),
  radial-gradient(18% 18% at 82% 18%, rgba(255,246,216,0.35), transparent 70%), radial-gradient(circle, #fff 0 1.3px, transparent 2.1px), radial-gradient(circle, #fff 0 0.9px, transparent 1.7px), radial-gradient(circle, #fff 0 0.6px, transparent 1.4px), radial-gradient(circle, #fff 0 1.2px, transparent 2.0px), radial-gradient(circle, #fff 0 1.0px, transparent 1.8px), radial-gradient(circle, #fff 0 1.3px, transparent 2.1px), radial-gradient(circle, #fff 0 0.7px, transparent 1.5px), radial-gradient(circle, #fff 0 0.5px, transparent 1.3px), radial-gradient(circle, #fff 0 1.0px, transparent 1.8px), radial-gradient(circle, #fff 0 0.8px, transparent 1.6px), radial-gradient(circle, #fff 0 1.1px, transparent 1.9px), radial-gradient(circle, #fff 0 0.8px, transparent 1.6px), radial-gradient(circle, #fff 0 1.3px, transparent 2.1px), radial-gradient(circle, #fff 0 1.3px, transparent 2.1px), radial-gradient(circle, #fff 0 1.3px, transparent 2.1px), radial-gradient(circle, #fff 0 0.6px, transparent 1.4px), radial-gradient(circle, #fff 0 0.9px, transparent 1.7px), radial-gradient(circle, #fff 0 0.7px, transparent 1.5px), radial-gradient(circle, #fff 0 1.4px, transparent 2.2px), radial-gradient(circle, #fff 0 1.0px, transparent 1.8px), radial-gradient(circle, #fff 0 0.9px, transparent 1.7px), radial-gradient(circle, #fff 0 0.5px, transparent 1.3px), radial-gradient(circle, #fff 0 1.1px, transparent 1.9px), radial-gradient(circle, #fff 0 1.1px, transparent 1.9px), radial-gradient(circle, #fff 0 1.1px, transparent 1.9px), radial-gradient(circle, #fff 0 1.1px, transparent 1.9px), linear-gradient(180deg, #050816, #0b1230 60%, #14204a);
  background-size:100% 40%, 100% 100%, 100% 100%, 100% 100%, 8px 8px, 8px 8px, 8px 8px, 8px 8px, 8px 8px, 8px 8px, 8px 8px, 8px 8px, 8px 8px, 8px 8px, 8px 8px, 8px 8px, 8px 8px, 8px 8px, 8px 8px, 8px 8px, 8px 8px, 8px 8px, 8px 8px, 8px 8px, 8px 8px, 8px 8px, 8px 8px, 8px 8px, 8px 8px, 8px 8px, 100% 100%; background-position:bottom, 0 0, 0 0, 0 0, 4% 20%, 55% 57%, 79% 41%, 50% 47%, 72% 58%, 37% 34%, 6% 21%, 15% 40%, 27% 28%, 35% 11%, 45% 22%, 19% 59%, 50% 31%, 51% 43%, 89% 37%, 66% 19%, 94% 47%, 40% 29%, 68% 21%, 3% 52%, 76% 22%, 80% 39%, 9% 42%, 61% 24%, 47% 40%, 96% 33%, 0 0;}
.dl-scene-art[data-bg="volcano"]{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 400 100' preserveAspectRatio='none'%3E%3Cpath d='M0 100V86L90 80 150 44 172 30H228L250 44 310 80 400 86V100Z' fill='%231a0806'/%3E%3Cpath d='M178 32 L190 44 186 60 196 74 190 100H206L212 76 204 60 210 44 222 32Z' fill='%23ff5a1f' opacity='.85'/%3E%3Cellipse cx='200' cy='31' rx='24' ry='4' fill='%23ffb347'/%3E%3C/svg%3E"), radial-gradient(circle, rgba(255,160,60,0.9) 0 0.8px, transparent 1.6px), radial-gradient(circle, rgba(255,160,60,0.9) 0 1.8px, transparent 2.6px), radial-gradient(circle, rgba(255,160,60,0.9) 0 1.1px, transparent 1.9px), radial-gradient(circle, rgba(255,160,60,0.9) 0 1.0px, transparent 1.8px), radial-gradient(circle, rgba(255,160,60,0.9) 0 1.6px, transparent 2.4px), radial-gradient(circle, rgba(255,160,60,0.9) 0 1.1px, transparent 1.9px), radial-gradient(circle, rgba(255,160,60,0.9) 0 1.6px, transparent 2.4px), radial-gradient(circle, rgba(255,160,60,0.9) 0 1.1px, transparent 1.9px), radial-gradient(circle, rgba(255,160,60,0.9) 0 1.0px, transparent 1.8px), radial-gradient(circle, rgba(255,160,60,0.9) 0 1.4px, transparent 2.2px), radial-gradient(circle, rgba(255,160,60,0.9) 0 1.4px, transparent 2.2px), radial-gradient(circle, rgba(255,160,60,0.9) 0 1.2px, transparent 2.0px), radial-gradient(35% 40% at 50% 62%, rgba(255,90,31,0.45), transparent 70%),
  linear-gradient(180deg, #1a0605, #4a0f08 55%, #7a1f0a);
  background-size:100% 62%, 8px 8px, 8px 8px, 8px 8px, 8px 8px, 8px 8px, 8px 8px, 8px 8px, 8px 8px, 8px 8px, 8px 8px, 8px 8px, 8px 8px, 100% 100%, 100% 100%; background-position:bottom, 9% 4%, 34% 60%, 78% 42%, 25% 42%, 78% 35%, 50% 15%, 5% 18%, 30% 36%, 25% 57%, 14% 15%, 44% 30%, 23% 12%, 0 0, 0 0;}
.dl-scene-art[data-bg="aurora"]{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 400 100' preserveAspectRatio='none'%3E%3Cpath d='M0 100V70L50 44 90 64 140 30 190 66 240 40 290 62 340 34 400 60V100Z' fill='%230c1a24'/%3E%3Cpath d='M140 30 128 44 138 42 146 48 152 40ZM340 34 330 46 340 44 348 50 352 42ZM50 44 42 54 50 52 58 56Z' fill='%23dff3ff' opacity='.85'/%3E%3Cpath d='M0 100V84C100 76 200 90 300 80S380 82 400 80V100Z' fill='%2308121a'/%3E%3C/svg%3E"),
  radial-gradient(60% 22% at 30% 26%, rgba(61,255,170,0.45), transparent 70%), radial-gradient(55% 20% at 68% 20%, rgba(157,107,255,0.45), transparent 70%),
  radial-gradient(70% 16% at 50% 36%, rgba(61,220,255,0.30), transparent 70%), radial-gradient(circle, rgba(255,255,255,0.8) 0 0.7px, transparent 1.5px), radial-gradient(circle, rgba(255,255,255,0.8) 0 1.1px, transparent 1.9px), radial-gradient(circle, rgba(255,255,255,0.8) 0 0.7px, transparent 1.5px), radial-gradient(circle, rgba(255,255,255,0.8) 0 0.9px, transparent 1.7px), radial-gradient(circle, rgba(255,255,255,0.8) 0 1.1px, transparent 1.9px), radial-gradient(circle, rgba(255,255,255,0.8) 0 1.1px, transparent 1.9px), radial-gradient(circle, rgba(255,255,255,0.8) 0 0.6px, transparent 1.4px), radial-gradient(circle, rgba(255,255,255,0.8) 0 0.9px, transparent 1.7px), radial-gradient(circle, rgba(255,255,255,0.8) 0 0.9px, transparent 1.7px), radial-gradient(circle, rgba(255,255,255,0.8) 0 0.7px, transparent 1.5px), radial-gradient(circle, rgba(255,255,255,0.8) 0 0.8px, transparent 1.6px), radial-gradient(circle, rgba(255,255,255,0.8) 0 1.1px, transparent 1.9px), radial-gradient(circle, rgba(255,255,255,0.8) 0 0.5px, transparent 1.3px), radial-gradient(circle, rgba(255,255,255,0.8) 0 0.8px, transparent 1.6px), radial-gradient(circle, rgba(255,255,255,0.8) 0 0.5px, transparent 1.3px), radial-gradient(circle, rgba(255,255,255,0.8) 0 1.0px, transparent 1.8px), linear-gradient(180deg, #03101a, #062030 60%, #0a2a3a);
  background-size:100% 48%, 100% 100%, 100% 100%, 100% 100%, 8px 8px, 8px 8px, 8px 8px, 8px 8px, 8px 8px, 8px 8px, 8px 8px, 8px 8px, 8px 8px, 8px 8px, 8px 8px, 8px 8px, 8px 8px, 8px 8px, 8px 8px, 8px 8px, 100% 100%; background-position:bottom, 0 0, 0 0, 0 0, 85% 15%, 59% 19%, 17% 4%, 26% 22%, 75% 13%, 45% 43%, 81% 24%, 55% 20%, 36% 31%, 55% 20%, 54% 4%, 21% 14%, 81% 34%, 93% 16%, 60% 50%, 68% 20%, 0 0;}
.dl-scene[data-bg="aurora"]::before{content:""; position:absolute; inset:0 0 40% 0; background:linear-gradient(100deg, transparent 20%, rgba(61,255,170,0.22) 40%, rgba(157,107,255,0.22) 60%, transparent 80%);
  background-size:200% 100%; animation:dl-aurora 12s ease-in-out infinite alternate; filter:blur(8px);}
@keyframes dl-aurora{from{background-position:0% 0;} to{background-position:100% 0;}}
.dl-scene-art[data-bg="temple"]{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 400 100' preserveAspectRatio='none'%3E%3Cg fill='%233a2608'%3E%3Crect x='10' y='8' width='54' height='8' rx='2'/%3E%3Crect x='18' y='16' width='38' height='84'/%3E%3Crect x='336' y='8' width='54' height='8' rx='2'/%3E%3Crect x='344' y='16' width='38' height='84'/%3E%3C/g%3E%3Cg fill='%235a3c0e' opacity='.9'%3E%3Crect x='26' y='16' width='4' height='84'/%3E%3Crect x='44' y='16' width='4' height='84'/%3E%3Crect x='352' y='16' width='4' height='84'/%3E%3Crect x='370' y='16' width='4' height='84'/%3E%3C/g%3E%3Cpath d='M0 100V88H400V100Z' fill='%232e1d05'/%3E%3C/svg%3E"), repeating-linear-gradient(90deg, rgba(255,215,0,0.06) 0 2px, transparent 2px 28px),
  radial-gradient(50% 60% at 50% 30%, rgba(255,215,0,0.45), transparent 70%), linear-gradient(180deg, #3a2608, #6b4a10 45%, #2a1a05);
  background-size:100% 100%, 100% 100%, 100% 100%, 100% 100%;}
.dl-scene-art[data-bg="lair"]{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 400 100' preserveAspectRatio='none'%3E%3Cpath d='M0 100V80C40 68 80 60 130 66C160 50 240 50 270 66C320 60 360 68 400 80V100Z' fill='%233a2406'/%3E%3Cpath d='M130 66C160 56 240 56 270 66C240 62 160 62 130 66Z' fill='%23d9a520' opacity='.6'/%3E%3Cg fill='%231e0b08'%3E%3Cpath d='M0 0H400V14L370 26 350 10 330 30 300 8 270 20 240 6 210 22 180 6 150 24 120 8 90 28 60 10 30 26 0 12Z'/%3E%3C/g%3E%3C/svg%3E"), url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 400 100' preserveAspectRatio='xMidYMid meet'%3E%3Cellipse cx='176' cy='30' rx='9' ry='4' fill='%23ffd23f'/%3E%3Cellipse cx='224' cy='30' rx='9' ry='4' fill='%23ffd23f'/%3E%3Cellipse cx='176' cy='30' rx='1.6' ry='3.6' fill='%232b0a10'/%3E%3Cellipse cx='224' cy='30' rx='1.6' ry='3.6' fill='%232b0a10'/%3E%3C/svg%3E"), radial-gradient(40% 30% at 50% 30%, rgba(255,60,40,0.20), transparent 70%),
  linear-gradient(180deg, #120404, #2a0a08 55%, #1a0805);
  background-size:100% 100%, 90% 56%, 100% 100%, 100% 100%; background-position:0 0, 50% 0%, 0 0, 0 0;}
.dl-scene[data-bg="lair"]{animation:dl-lair-blink 7s steps(1) infinite;}
@keyframes dl-lair-blink{0%, 94%, 100%{background-size:100% 100%, 90% 56%, 100% 100%, 100% 100%;} 95%, 97%{background-size:100% 100%, 90% 0%, 100% 100%, 100% 100%;}}
.dl-bg-prev{width:100%; height:66px; border-radius:10px; border:1px solid var(--dl-line); position:relative; overflow:hidden;}
.dl-bg-grid .dl-shop-card b{margin-top:2px;}
@media (prefers-reduced-motion: reduce){ .dl-scene::before, .dl-scene{animation:none !important;} }

/* ---------- apparences de coffre débloquées par un succès ---------- */
.dl-stage[data-skin="rainbow"] .coffre-lid, .dl-stage[data-skin="rainbow"] .coffre-body{border-color:#fff; box-shadow:0 0 20px rgba(255,255,255,0.35);}
.dl-stage[data-skin="rainbow"] .coffre-lid::after, .dl-stage[data-skin="rainbow"] .coffre-body::after,
.dl-skin-prev[data-skin="rainbow"] :is(.dl-sp-lid,.dl-sp-body)::after{opacity:.72; mix-blend-mode:hard-light; background:linear-gradient(120deg,#ff4d4d,#ffb14d,#fff04d,#4dff88,#4dc3ff,#9b6bff,#ff4dd2,#ff4d4d);
  background-size:300% 100%; animation:dl-rainbow-skin 6s linear infinite;}
@keyframes dl-rainbow-skin{to{background-position:300% 0;}}
.dl-stage[data-skin="rainbow"] .coffre-band{background:#fff; box-shadow:0 0 10px #fff;}
.dl-stage[data-skin="rainbow"] .coffre-belt, .dl-stage[data-skin="rainbow"] .coffre-lock{background:#1c1e2a; color:#fff;}
.dl-skin-prev[data-skin="rainbow"] :is(.dl-sp-lid,.dl-sp-body){border-color:#fff;}
.dl-stage[data-skin="midas"] .coffre-lid, .dl-stage[data-skin="midas"] .coffre-body{border-color:#8a6208; box-shadow:0 0 26px rgba(255,215,0,0.55);}
.dl-stage[data-skin="midas"] .coffre-lid::after, .dl-stage[data-skin="midas"] .coffre-body::after,
.dl-skin-prev[data-skin="midas"] :is(.dl-sp-lid,.dl-sp-body)::after{opacity:.7; mix-blend-mode:overlay;
  background:linear-gradient(135deg,#fff8d0 0%,#ffd700 22%,#b8860b 45%,#ffe680 62%,#c9a227 80%,#fff3b0 100%); background-size:200% 200%; animation:dl-midas 4s ease-in-out infinite alternate;}
@keyframes dl-midas{to{background-position:100% 100%;}}
.dl-stage[data-skin="midas"] .coffre-band{background:linear-gradient(180deg,#fff3b0,#ffd700); box-shadow:0 0 12px #ffd700;}
.dl-stage[data-skin="midas"] .coffre-belt, .dl-stage[data-skin="midas"] .coffre-lock{background:linear-gradient(180deg,#ffe680,#ffd700 45%,#b8860b); color:#5a3d05;}
.dl-skin-prev[data-skin="midas"] :is(.dl-sp-lid,.dl-sp-body){border-color:#8a6208; box-shadow:0 0 8px #ffd70088;}
.dl-skin-prev[data-skin="midas"] .dl-sp-body::before{background:#ffd700;}
.dl-stage[data-skin="astral"] .coffre-lid, .dl-stage[data-skin="astral"] .coffre-body{border-color:#0a0a2a; box-shadow:0 0 24px rgba(255,215,0,0.4), 0 0 40px rgba(123,92,255,0.35);}
.dl-stage[data-skin="astral"] .coffre-lid::after, .dl-stage[data-skin="astral"] .coffre-body::after,
.dl-skin-prev[data-skin="astral"] :is(.dl-sp-lid,.dl-sp-body)::after{opacity:.82; mix-blend-mode:multiply;
  background:radial-gradient(2px 2px at 20% 30%, #ffe680 60%, transparent), radial-gradient(1.6px 1.6px at 70% 20%, #fff 60%, transparent),
    radial-gradient(2.2px 2.2px at 55% 70%, #ffe680 60%, transparent), radial-gradient(1.4px 1.4px at 85% 60%, #fff 60%, transparent),
    radial-gradient(1.4px 1.4px at 35% 80%, #fff 60%, transparent), linear-gradient(160deg, #1a1450, #07061c 60%, #2a1060);}
.dl-stage[data-skin="astral"] .coffre-band{background:linear-gradient(180deg,#fff3b0,#ffd700); box-shadow:0 0 12px #ffd700;}
.dl-stage[data-skin="astral"] .coffre-belt, .dl-stage[data-skin="astral"] .coffre-lock{background:#0a0a2a; color:#ffd700;}
.dl-skin-prev[data-skin="astral"] :is(.dl-sp-lid,.dl-sp-body){border-color:#0a0a2a; box-shadow:0 0 8px rgba(255,215,0,0.5);}
.dl-skin-prev[data-skin="astral"] .dl-sp-body::before{background:#ffd700;}
@media (prefers-reduced-motion: reduce){ .dl-stage[data-skin] :is(.coffre-lid,.coffre-body)::after, .dl-skin-prev :is(.dl-sp-lid,.dl-sp-body)::after{animation:none !important;} }

/* ---------- talents ---------- */
.dl-talent{font-size:0.8rem !important; color:var(--dl-faint) !important; display:flex; align-items:center; gap:6px; flex-wrap:wrap;}
.dl-talent b{color:var(--dl-soft); font-weight:600;}
.dl-talent :is(i,svg){color:var(--dl-faint);}
.dl-talent small{font-size:0.7rem; border-radius:999px; padding:1px 7px; background:#0e1013; border:1px solid var(--dl-line);}
.dl-talent.on{color:var(--dl-ink) !important;}
.dl-talent.on :is(i,svg){color:var(--dl-gold);}
.dl-talent.on small{color:#7be38c; border-color:#2f6b3a;}

/* ---------- prestige ---------- */
.dl-stars{display:inline-flex; align-items:center; gap:2px; color:#ffd700; font-size:0.78rem; font-weight:700; filter:drop-shadow(0 0 4px rgba(255,215,0,0.6));}
.dl-level .dl-stars{flex:0 0 auto;}
.dl-lvcard-num{position:relative;}
.dl-lvcard-num.prestige{border-color:#ffd700; box-shadow:0 0 22px rgba(255,215,0,0.45);}
.dl-lvcard-stars{position:absolute; bottom:-10px; left:50%; transform:translateX(-50%); background:#15121f; border:1px solid #ffd700; border-radius:999px; padding:1px 7px;}
.dl-prestige{display:flex; align-items:center; gap:14px; margin-top:12px; padding:14px 16px; border-radius:18px; border:1px solid var(--dl-line); background:var(--dl-panel); flex-wrap:wrap;}
.dl-prestige.ready{border-color:#ffd700; background:radial-gradient(120% 140% at 0% 50%, rgba(255,215,0,0.16), transparent 60%), var(--dl-panel); box-shadow:0 0 18px rgba(255,215,0,0.18);}
.dl-prestige-icon{flex:0 0 auto; width:44px; height:44px; border-radius:50%; display:flex; align-items:center; justify-content:center; font-size:1.2rem; color:#4a4f58; background:#0e1013; border:1px solid var(--dl-line);}
.dl-prestige.ready .dl-prestige-icon{color:#2A1F0B; background:linear-gradient(180deg,#fff3b0,#ffd700); border-color:#ffd700; animation:dl-breathe 2.4s ease-in-out infinite;}
.dl-prestige-info{flex:1 1 220px; min-width:0; display:flex; flex-direction:column; gap:4px;}
.dl-prestige-info > b{font-size:1.05rem; display:flex; align-items:center; gap:8px;}
.dl-prestige-info > span{color:var(--dl-faint); font-size:0.8rem; line-height:1.45;}
.dl-prestige-info .dl-prestige-now{color:var(--dl-gold); font-weight:600;}

/* ---------- stats du jour ---------- */
.dl-today-title{margin-top:0 !important;}
.dl-today{margin-bottom:8px;}
.dl-stat-y{font-size:0.7rem; color:var(--dl-faint); margin-top:2px;}
.dl-today-best .dl-best{font-size:1rem !important; letter-spacing:0.04em; text-transform:uppercase; font-family:'Fraunces', serif;}
.dl-today-best .dl-rar-solid{color:var(--rar);}
.dl-today-extra{margin:0 0 6px; color:var(--dl-faint); font-size:0.8rem; text-align:center;}

/* ---------- mode daltonien : un symbole par rareté ---------- */
.dl-cb .coffre-rar[data-tier="1"]{--rar-sym:"●";} .dl-cb .coffre-rar[data-tier="2"]{--rar-sym:"■";} .dl-cb .coffre-rar[data-tier="3"]{--rar-sym:"▲";}
.dl-cb .coffre-rar[data-tier="4"]{--rar-sym:"◆";} .dl-cb .coffre-rar[data-tier="5"]{--rar-sym:"⬢";} .dl-cb .coffre-rar[data-tier="6"]{--rar-sym:"★";}
.dl-cb .coffre-rar[data-tier="7"]{--rar-sym:"✹";} .dl-cb .coffre-rar[data-tier="8"]{--rar-sym:"☾";} .dl-cb .coffre-rar[data-tier="9"]{--rar-sym:"∞";}
.dl-cb :is(.dl-card-name, .dl-odds-name, .dl-h-name, .dl-multi-name, .dl-pet-stage, .dl-today-best .dl-best > span, .dl-stage .coffre-rarete:not(:empty))::before{content:var(--rar-sym) " "; font-family:"Inter", system-ui, sans-serif; letter-spacing:0;}
.dl-cb .dl-stat-best-wrap .dl-best::before, .dl-cb #dl-stat-best.coffre-rarete::before{content:var(--rar-sym) " ";}
.dl-cb .dl-item.got::after, .dl-cb .dl-res-chip.coffre-rar::after, .dl-cb .dl-toast-icon.coffre-rar::after{content:var(--rar-sym); position:absolute; top:-5px; left:-5px; font-size:0.62rem; line-height:1;
  color:#fff; background:#0c0e11; border:1px solid var(--rar); border-radius:999px; padding:2px 3px; font-family:"Inter", system-ui, sans-serif;}
.dl-cb .dl-item.got, .dl-cb .dl-res-chip.coffre-rar, .dl-cb .dl-toast-icon.coffre-rar{position:relative;}

/* =================================================================
   v1.3.1 — apparences Cerisier en fleurs et Runique, fond Ville de Québec
   ================================================================= */
/* Ville de Québec : fond dessiné (dl_scenes.js) depuis la v1.8.1 — voir le bloc v1.8.1 */
@keyframes dl-fireworks{0%{opacity:0; transform:scale(.6);} 25%{opacity:1;} 100%{opacity:0; transform:scale(1.15);}}
.dl-locked-ev{color:#8fb4ff;} .dl-locked-ev :is(i,svg){color:#8fb4ff;}

/* Cerisier en fleurs : bois rose, pétales qui dansent */
.dl-stage[data-skin="sakura"] .coffre-lid, .dl-stage[data-skin="sakura"] .coffre-body{border-color:#5a2438; box-shadow:0 0 20px rgba(255,160,200,0.45);}
.dl-stage[data-skin="sakura"] .coffre-lid::after, .dl-stage[data-skin="sakura"] .coffre-body::after,
.dl-skin-prev[data-skin="sakura"] :is(.dl-sp-lid,.dl-sp-body)::after{opacity:.6; mix-blend-mode:hard-light;
  background:radial-gradient(6px 4px at 18% 28%, #fff 60%, transparent), radial-gradient(4px 6px at 64% 18%, #fff 60%, transparent),
    radial-gradient(6px 4px at 80% 66%, #fff 60%, transparent), radial-gradient(4px 4px at 38% 72%, #fff 60%, transparent),
    radial-gradient(4px 6px at 90% 30%, #fff 60%, transparent), radial-gradient(5px 4px at 8% 70%, #fff 60%, transparent),
    repeating-linear-gradient(90deg, #f7b8cc 0 3px, #eaa0b8 3px 6px, #f3aec4 6px 8px);}
.dl-stage[data-skin="sakura"] .coffre-band{background:#fff0f6; box-shadow:0 0 8px #ffc2d9;}
.dl-stage[data-skin="sakura"] .coffre-belt, .dl-stage[data-skin="sakura"] .coffre-lock{background:#5a2438; color:#ffd6e6;}
.dl-skin-prev[data-skin="sakura"] :is(.dl-sp-lid,.dl-sp-body){border-color:#5a2438; box-shadow:0 0 8px rgba(255,160,200,0.45);}
.dl-skin-prev[data-skin="sakura"] .dl-sp-body::before{background:#fff0f6;}

/* Runique : pierre sombre, runes turquoise qui pulsent */
.dl-stage[data-skin="runic"] .coffre-lid, .dl-stage[data-skin="runic"] .coffre-body{border-color:#10161c; box-shadow:0 0 22px rgba(60,230,220,0.35);}
.dl-stage[data-skin="runic"] .coffre-lid::after, .dl-stage[data-skin="runic"] .coffre-body::after,
.dl-skin-prev[data-skin="runic"] :is(.dl-sp-lid,.dl-sp-body)::after{opacity:.85; mix-blend-mode:hard-light;
  background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 34 24' preserveAspectRatio='xMidYMid meet'%3E%3Cg fill='none' stroke='%233ce6dc' stroke-width='1.3' stroke-linecap='round' opacity='.75'%3E%3Cpath d='M4 4V20M4 8L10 4M4 12L10 8'/%3E%3Cpath d='M16 4L20 12 24 4M20 12V20'/%3E%3Cpath d='M28 4V20M28 4L32 10 28 14'/%3E%3C/g%3E%3C/svg%3E"), linear-gradient(160deg, #3a444e, #1a2026 55%, #2c343c); background-size:58px 40px, 100% 100%;
  animation:dl-runes 2.8s ease-in-out infinite;}
@keyframes dl-runes{0%,100%{filter:brightness(.9);} 50%{filter:brightness(1.35) drop-shadow(0 0 4px #3ce6dc);}}
.dl-stage[data-skin="runic"] .coffre-band{background:#3ce6dc; box-shadow:0 0 14px #3ce6dc;}
.dl-stage[data-skin="runic"] .coffre-belt, .dl-stage[data-skin="runic"] .coffre-lock{background:#10161c; color:#3ce6dc;}
.dl-skin-prev[data-skin="runic"] :is(.dl-sp-lid,.dl-sp-body){border-color:#10161c; box-shadow:0 0 8px rgba(60,230,220,0.45);}
.dl-skin-prev[data-skin="runic"] .dl-sp-body::before{background:#3ce6dc; box-shadow:0 0 6px #3ce6dc;}
.dl-skin-prev[data-skin="runic"] :is(.dl-sp-lid,.dl-sp-body)::after{background-size:30px 21px, 100% 100%;}

/* =================================================================
   v1.4.0 — jour et nuit, caresses, couleurs spéciales, calendrier,
            codes secrets (fond secret)
   ================================================================= */
/* ---------- jour et nuit (teinte posée sur le fond de scène) ---------- */
.dl-scene[data-bg="none"]{display:block;}
.dl-scene[data-bg="none"]::after{display:none;}
.dl-scene{transition:box-shadow 1.2s ease, filter 1.2s ease;}
.dl-scene[data-time="dawn"]{box-shadow:inset 0 0 0 4000px rgba(255,170,120,0.10);}
.dl-scene[data-time="dusk"]{box-shadow:inset 0 0 0 4000px rgba(255,110,50,0.14); filter:saturate(1.08);}
.dl-scene[data-time="night"]{box-shadow:inset 0 0 0 4000px rgba(6,12,44,0.36); filter:brightness(.82) saturate(.85);}

/* ---------- caresser le compagnon ---------- */
.dl-companion{pointer-events:auto; cursor:pointer; -webkit-tap-highlight-color:transparent; border-radius:14px; padding:2px 4px;}
.dl-companion:focus-visible{outline:2px solid var(--dl-gold); outline-offset:2px;}
.dl-companion:hover .dl-comp-body{transform:scale(1.08);}
.dl-companion.petted .dl-comp-body{animation:dl-comp-pet .6s ease, dl-comp-bob 3s ease-in-out .6s infinite;}
@keyframes dl-comp-pet{0%{transform:scale(1);} 30%{transform:scale(1.2, .85) rotate(-6deg);} 60%{transform:scale(.92, 1.12) rotate(5deg);} 100%{transform:scale(1);}}
.dl-pet-heart{position:absolute; left:50%; top:4px; color:#ff5d8f; font-size:0.95rem; pointer-events:none; opacity:0; animation:dl-heart 1.3s ease-out forwards; filter:drop-shadow(0 0 4px rgba(255,93,143,0.7));}
@keyframes dl-heart{0%{opacity:0; transform:translate(-50%, 0) scale(.6);} 20%{opacity:1;} 100%{opacity:0; transform:translate(calc(-50% + var(--dx)), -60px) scale(1.15);}}

/* ---------- couleurs spéciales de dragon ---------- */
.dl-dc-chroma :is(i,svg){color:#ff4dd2 !important; animation:dl-dc-hue 3s linear infinite;}
@keyframes dl-dc-hue{from{filter:hue-rotate(0deg) drop-shadow(0 0 8px rgba(255,255,255,0.6));} to{filter:hue-rotate(360deg) drop-shadow(0 0 8px rgba(255,255,255,0.6));}}
.dl-dc-shadow :is(i,svg){color:#2b1d3d !important; filter:drop-shadow(0 0 2px #d9c2ff) drop-shadow(0 0 10px #9d6bff);}
.dl-dc-pearl :is(i,svg){color:#f7f1ea !important; filter:drop-shadow(0 0 6px #ffc2e8) drop-shadow(0 0 12px #9fe2ff);}
.dl-dc-tag{font-size:0.72rem !important; font-weight:700; letter-spacing:0.04em; border-radius:999px; padding:1px 8px; width:fit-content; background:#0e1013; border:1px solid var(--dl-line);}
.dl-dc-tag-chroma{color:#ffb3ec !important; border-color:#7a3a6a;} .dl-dc-tag-shadow{color:#d9c2ff !important; border-color:#4b3a86;} .dl-dc-tag-pearl{color:#e8f6ff !important; border-color:#5a7a8a;}
.dl-dc-news{color:var(--dl-gold) !important; font-weight:600;}
@media (prefers-reduced-motion: reduce){ .dl-dc-chroma :is(i,svg){animation:none; filter:hue-rotate(40deg);} }

/* ---------- calendrier des événements ---------- */
.dl-cal{display:grid; grid-template-columns:repeat(auto-fill, minmax(250px, 1fr)); gap:10px;}
.dl-cal-card{display:flex; gap:12px; align-items:flex-start; background:var(--dl-panel); border:1px solid var(--dl-line); border-radius:16px; padding:12px 14px;}
.dl-cal-card.now{border-color:var(--ev); box-shadow:0 0 16px color-mix(in oklab, var(--ev) 30%, transparent); background:linear-gradient(135deg, color-mix(in oklab, var(--ev) 14%, transparent), transparent 60%), var(--dl-panel);}
.dl-cal-icon{flex:0 0 auto; width:40px; height:40px; border-radius:12px; display:flex; align-items:center; justify-content:center; font-size:1.1rem; color:var(--ev); background:#0e1013; border:1px solid var(--dl-line);}
.dl-cal-icon .dl-svg-icon{width:22px; height:22px; display:inline-flex;}
.dl-cal-info{flex:1; min-width:0; display:flex; flex-direction:column; gap:3px;}
.dl-cal-info > b{font-size:0.92rem;}
.dl-cal-info > small{color:var(--dl-faint); font-size:0.78rem;}
.dl-cal-tags{display:flex; flex-wrap:wrap; gap:6px; margin-top:4px; font-size:0.72rem;}
.dl-cal-tags > span{border-radius:999px; padding:2px 8px; background:#0e1013; border:1px solid var(--dl-line); color:var(--dl-soft);}
.dl-cal-tags :is(i,svg){color:var(--dl-gold);}
.dl-cal-when{color:var(--dl-ink) !important; font-weight:600;}
.dl-cal-card.now .dl-cal-when{color:#0c0e11 !important; background:var(--ev) !important; border-color:var(--ev) !important;}
.dl-cal-unl.got{color:#7be38c !important;} .dl-cal-unl.got :is(i,svg){color:#7be38c;}

/* ---------- fond secret : les pattes de Darix ---------- */
.dl-scene-art[data-bg="darix"]{background-image:url("../img/s1_body.svg"), radial-gradient(60% 50% at 50% 40%, rgba(255,255,255,0.35), transparent 70%), linear-gradient(180deg, #e9c3a8, #fbe9d4);
  background-size:auto 98%, 100% 100%, 100% 100%; background-position:50% 0, 0 0, 0 0; background-repeat:no-repeat;}
.dl-scene-art[data-bg="darix"]::before, .dl-scene-art[data-bg="darix"]::after{content:""; position:absolute; bottom:-14%; height:108%; aspect-ratio:340/540;
  background:url("../img/s1_foot.svg") center / contain no-repeat; inset:auto; filter:none; animation:none; opacity:1;}
.dl-scene-art[data-bg="darix"]::before{left:-3%;}
.dl-scene-art[data-bg="darix"]::after{right:-3%; transform:scaleX(-1);}
.dl-bg-prev[data-bg="darix"]{position:relative; overflow:hidden;}
.dl-bg-prev[data-bg="darix"]::before, .dl-bg-prev[data-bg="darix"]::after{bottom:-20%; height:120%;}
@media (max-width:700px){
  .dl-scene[data-bg="darix"]::before{left:-24%; height:82%; bottom:-10%;}
  .dl-scene[data-bg="darix"]::after{right:-24%; height:82%; bottom:-10%;}
  .dl-scene-art[data-bg="darix"]{background-size:auto 80%, 100% 100%, 100% 100%;}
}

/* =================================================================
   v1.5.0 — humeur des dragons et bulles du compagnon
   ================================================================= */
.dl-comp-mood{position:absolute; top:-4px; right:-6px; font-size:0.85rem; line-height:1; filter:drop-shadow(0 1px 2px rgba(0,0,0,0.6)); pointer-events:none;}
.dl-companion.dl-mood-happy .dl-comp-body{animation:dl-comp-happy 1.4s ease-in-out infinite;}
@keyframes dl-comp-happy{0%,100%{transform:translateY(0) rotate(0);} 25%{transform:translateY(-6px) rotate(-4deg);} 50%{transform:translateY(0) rotate(0);} 75%{transform:translateY(-4px) rotate(4deg);}}
.dl-companion.dl-mood-calm .dl-comp-body{animation-duration:5s; opacity:.9;}
.dl-companion.dl-mood-grumpy .dl-comp-body{animation:dl-comp-grumpy 4s ease-in-out infinite; filter:saturate(.7) drop-shadow(0 0 6px color-mix(in oklab, var(--rar) 40%, transparent));}
@keyframes dl-comp-grumpy{0%,100%{transform:scaleX(-1) translateY(0);} 50%{transform:scaleX(-1) translateY(2px);}}     /* il boude : il tourne le dos */
.dl-companion.petted.dl-mood-grumpy .dl-comp-body{animation:dl-comp-pet .6s ease;}
/* bulle */
.dl-comp-bubble{position:absolute; left:calc(100% - 6px); bottom:calc(100% - 4px); width:max-content; max-width:min(210px, 55vw); z-index:8;
  background:#fffdf6; color:#1d1a14; border:2px solid #1d1a14; border-radius:14px 14px 14px 4px; padding:7px 11px;
  font:600 0.8rem/1.35 "Inter", system-ui, sans-serif; text-align:left; white-space:normal; pointer-events:none;
  box-shadow:0 6px 18px rgba(0,0,0,0.35); opacity:0; transform:translateY(6px) scale(.9); transform-origin:0 100%; transition:opacity .22s ease, transform .22s ease;}
.dl-comp-bubble::after{content:""; position:absolute; left:-2px; bottom:-9px; width:12px; height:12px; background:#fffdf6; border-left:2px solid #1d1a14; border-bottom:2px solid #1d1a14;
  transform:skewY(-35deg); border-radius:0 0 0 3px;}
.dl-comp-bubble.show{opacity:1; transform:none;}
/* humeur sur la carte du dragon */
.dl-mood{font-size:0.8rem !important; color:var(--dl-soft) !important; display:flex; align-items:center; gap:5px; flex-wrap:wrap;}
.dl-mood b{font-weight:600;}
.dl-mood-hearts{display:inline-flex; gap:2px; font-size:0.66rem; color:#ff5d8f;}
.dl-mood-hearts .off{color:#3a3f48;}
@media (prefers-reduced-motion: reduce){ .dl-companion.dl-mood-happy .dl-comp-body, .dl-companion.dl-mood-grumpy .dl-comp-body{animation:none;} .dl-companion.dl-mood-grumpy .dl-comp-body{transform:scaleX(-1);} }

/* =================================================================
   v1.6.0 — élixirs, clés de minuit, accessoires de dragon, ton antre
   ================================================================= */
/* ---------- dragon + accessoires (positions en % de l'icône fa-dragon, tête en haut à droite) ---------- */
.dl-dwrap{position:relative; display:inline-flex; line-height:1;}
.dl-acc{position:absolute; line-height:1; pointer-events:none;
  filter:drop-shadow(0 0 .6px #1a1210) drop-shadow(0 0 .6px #1a1210) drop-shadow(0 1px 1px rgba(0,0,0,0.45));}   /* contour : visible même sur un dragon doré */
.dl-acc :is(i,svg){display:block;}
.dl-acc-svg{display:block; width:1em; height:1.2em;} .dl-acc-svg svg{width:100%; height:100%;}
.dl-acc-head{left:66%; top:6%; font-size:.44em; transform:translate(-50%, -100%) rotate(12deg);}
.dl-acc-party{font-size:.4em;}
.dl-acc-crown{font-size:.38em; transform:translate(-50%, -92%) rotate(10deg);}
.dl-acc-tuque{transform:translate(-50%, -88%) rotate(10deg);}
.dl-acc-eyes{left:77%; top:15%; font-size:.26em; transform:translate(-50%, -50%);}
.dl-acc-neck{left:66%; top:44%; font-size:.26em; transform:translate(-50%, -50%) rotate(-8deg);}
.dl-acc-scarf{font-size:.34em; top:40%;}
.dl-acc-bowtie .dl-acc-svg{width:1.4em; height:.8em;}
.dl-dc .dl-acc :is(i,svg){animation:none !important;}
.dl-dc-chroma .dl-acc :is(i,svg), .dl-dc-shadow .dl-acc :is(i,svg), .dl-dc-pearl .dl-acc :is(i,svg){filter:none !important;}
.dl-dc-shadow .dl-acc-sunglasses :is(i,svg){color:#e8e0ff !important;}
.dl-pet .dl-dwrap, .dl-hatch-icon .dl-dwrap{margin-top:.2em;}
/* aperçu dans la boutique et dans la fenêtre d'accessoires */
.dl-acc-shop{font-size:2.3rem; color:var(--rar); height:70px; display:flex; align-items:flex-end; justify-content:center; padding-top:14px;}
.dl-acc-shop .dl-dwrap > :is(i,svg){opacity:.9;}
.dl-acc-prev{font-size:4.6rem; color:var(--rar); display:flex; justify-content:center; padding:34px 0 8px; filter:drop-shadow(0 0 16px color-mix(in oklab, var(--rar) 45%, transparent));}
.dl-acc-row{display:flex; align-items:center; gap:12px; margin-top:12px; text-align:left;}
.dl-acc-row > b{flex:0 0 70px; font:600 0.85rem "Inter", sans-serif; color:var(--dl-soft);}
.dl-acc-opts{display:flex; flex-wrap:wrap; gap:8px;}
.dl-acc-opt{width:46px; height:46px; border-radius:12px; border:1px solid var(--dl-line); background:#0e1013; color:var(--dl-soft); cursor:pointer;
  display:flex; align-items:center; justify-content:center; font-size:1.3rem; padding:0;}
.dl-acc-opt .dl-acc-svg{width:1em; height:1.2em;}
.dl-acc-opt:hover{border-color:var(--dl-gold);}
.dl-acc-opt.on{border-color:var(--dl-gold); box-shadow:0 0 0 1px var(--dl-gold); background:#1c1a12;}
.dl-acc-none{color:var(--dl-faint); font-size:0.88rem;}
.dl-pet-actions .dl-btn{white-space:nowrap;}

/* ---------- élixirs ---------- */
.dl-elixir-grid{display:grid; grid-template-columns:repeat(auto-fill, minmax(250px, 1fr)); gap:10px; margin-bottom:6px;}
.dl-elixir{display:flex; gap:12px; background:var(--dl-panel); border:1px solid var(--dl-line); border-radius:16px; padding:12px 14px;}
.dl-elixir.on{border-color:var(--ec); box-shadow:0 0 14px color-mix(in oklab, var(--ec) 25%, transparent);}
.dl-elixir-icon{flex:0 0 auto; width:44px; height:44px; border-radius:14px; display:flex; align-items:center; justify-content:center; font-size:1.25rem;
  color:var(--ec); background:radial-gradient(circle, color-mix(in oklab, var(--ec) 22%, #1c2026), #111318); border:1px solid color-mix(in oklab, var(--ec) 40%, transparent);}
.dl-elixir.on .dl-elixir-icon{animation:dl-breathe 2.4s ease-in-out infinite;}
.dl-elixir-info{flex:1; min-width:0; display:flex; flex-direction:column; gap:4px; align-items:flex-start;}
.dl-elixir-info > b{font-size:0.92rem;}
.dl-elixir-info > small{color:var(--dl-faint); font-size:0.78rem; line-height:1.4;}
.dl-elixir-dur{font-size:0.74rem; color:var(--dl-soft);} .dl-elixir-dur b{color:var(--ec);}
.dl-midnight .dl-forge-head :is(i,svg){color:#b9c6ff;}
/* élixirs actifs, sous la barre des clés */
.dl-buffs{display:flex; flex-wrap:wrap; gap:6px; margin-top:8px;}
.dl-buffs:empty{display:none;}
.dl-buff{display:inline-flex; align-items:center; gap:5px; font-size:0.75rem; font-weight:600; font-variant-numeric:tabular-nums; border-radius:999px; padding:3px 9px;
  color:var(--bc); background:color-mix(in oklab, var(--bc) 12%, #0e1013); border:1px solid color-mix(in oklab, var(--bc) 45%, transparent);}
.dl-buff-key{font-size:0.75rem !important; padding:4px 10px !important;}
.dl-buff-key :is(i,svg){color:#b9c6ff;}

/* ---------- ton antre ---------- */
.dl-lair-card{display:flex; gap:16px; align-items:stretch; background:var(--dl-panel); border:1px solid var(--dl-line); border-radius:18px; padding:12px; margin-bottom:6px; flex-wrap:wrap;}
.dl-lair-art{position:relative; flex:1 1 360px; border-radius:14px; overflow:hidden; line-height:0; border:1px solid #2a2320;}
.dl-lair-svg{width:100%; height:auto; display:block;}
.dl-lair-dragon{position:absolute; left:50%; bottom:13%; transform:translateX(-50%); font-size:clamp(28px, 7vw, 48px); line-height:1; color:var(--rar);
  filter:drop-shadow(0 0 10px color-mix(in oklab, var(--rar) 55%, transparent));}
.dl-lair-dragon.on-throne{bottom:30%;}
.dl-lair-info{flex:1 1 220px; display:flex; flex-direction:column; justify-content:center; gap:8px; padding:4px 6px;}
.dl-lair-info > b{font-size:1.15rem;}
.dl-lair-bonus{color:var(--dl-gold); font-weight:600; font-size:0.88rem;}
.dl-lair-next{color:var(--dl-faint); font-size:0.8rem;}
.dl-lair-info .dl-btn{align-self:flex-start;}
.dl-flame{animation:dl-flame 0.9s ease-in-out infinite alternate; transform-box:fill-box; transform-origin:50% 100%;}
@keyframes dl-flame{from{transform:scale(1, 1); opacity:.9;} to{transform:scale(.88, 1.12); opacity:1;}}
.dl-lair-glint{animation:dl-glint 2.4s ease-in-out infinite; transform-box:fill-box; transform-origin:center; opacity:0;}
@keyframes dl-glint{0%,100%{opacity:0; transform:scale(.4);} 50%{opacity:1; transform:scale(1);}}
.dl-lair-card.dl-lair-up .dl-lair-art{animation:dl-lair-pop .8s ease;}
@keyframes dl-lair-pop{0%{filter:brightness(1);} 30%{filter:brightness(1.8) saturate(1.3);} 100%{filter:brightness(1);}}
@media (prefers-reduced-motion: reduce){ .dl-flame, .dl-lair-glint{animation:none; opacity:1;} }

.dl-acc-opt[data-acc="sunglasses"] :is(i,svg){filter:drop-shadow(0 0 1px #fff) drop-shadow(0 0 1px #fff);}

/* ---------- pattes de Darix : elles se balancent doucement de gauche à droite ---------- */
.dl-scene[data-bg="darix"]::before{transform-origin:50% 92%; animation:dl-paw-l 3.4s ease-in-out infinite;}
.dl-scene[data-bg="darix"]::after{transform-origin:50% 92%; animation:dl-paw-r 3.4s ease-in-out infinite;}
@keyframes dl-paw-l{0%,100%{transform:rotate(-4deg);} 50%{transform:rotate(4deg);}}
@keyframes dl-paw-r{0%,100%{transform:scaleX(-1) rotate(4deg);} 50%{transform:scaleX(-1) rotate(-4deg);}}   /* même sens que la patte gauche */
@media (prefers-reduced-motion: reduce){ .dl-scene[data-bg="darix"]::before{animation:none;} .dl-scene[data-bg="darix"]::after{animation:none; transform:scaleX(-1);} }

/* ---------- v1.7.0 : nouveaux accessoires, relâcher un dragon ---------- */
.dl-acc-tophat{font-size:.46em; transform:translate(-50%, -94%) rotate(10deg);}
.dl-acc-tophat .dl-acc-svg{width:1em; height:1.05em;}
.dl-acc-chef{font-size:.42em;}
.dl-acc-beach{font-size:.5em; transform:translate(-50%, -80%) rotate(10deg);}
.dl-acc-headphones{font-size:.4em; transform:translate(-50%, -72%) rotate(8deg);}
.dl-acc-grad{font-size:.42em; transform:translate(-50%, -90%) rotate(8deg);}
.dl-acc-santa{font-size:.44em; transform:translate(-50%, -88%) rotate(8deg);}
.dl-acc-witch{font-size:.48em; transform:translate(-50%, -96%) rotate(10deg);}
.dl-acc-glasses{font-size:.24em;}
.dl-acc-mask{font-size:.25em;}
.dl-acc-medal{font-size:.26em; top:50%;}
.dl-acc-chef :is(i,svg), .dl-acc-opt[data-acc="chef"] :is(i,svg){filter:drop-shadow(0 0 1px #1a1210);}
.dl-acc-opt[data-acc="glasses"] :is(i,svg), .dl-acc-opt[data-acc="mask"] :is(i,svg), .dl-acc-opt[data-acc="grad"] :is(i,svg), .dl-acc-opt[data-acc="tophat"] svg{filter:drop-shadow(0 0 1px #fff) drop-shadow(0 0 1px #fff);}
.dl-dc-shadow :is(.dl-acc-mask, .dl-acc-glasses, .dl-acc-grad) :is(i,svg){color:#e8e0ff !important;}
.dl-release-btn{color:var(--dl-faint) !important;}
.dl-release-btn:hover{color:#ff8a8a !important; border-color:#7a2a2a !important;}
.dl-release-prev{font-size:4rem; color:var(--rar); display:flex; justify-content:center; padding:24px 0 6px; filter:drop-shadow(0 0 14px color-mix(in oklab, var(--rar) 45%, transparent));}

/* =================================================================
   v1.8.0 — choix d'ouverture multiple, animations réduites, fonds animés
   ================================================================= */
.dl-open-n-wrap{position:relative; display:inline-flex;}
.dl-open-n-wrap[hidden]{display:none;}
.dl-open-n-btn{display:inline-flex; align-items:center; gap:10px; min-height:50px; padding:0 18px; border-radius:999px; border:1px solid var(--dl-line);
  background:var(--dl-panel); color:var(--dl-ink); font-size:1.05rem; cursor:pointer; -webkit-tap-highlight-color:transparent; transition:border-color .15s ease, background .15s ease;}
.dl-open-n-btn:hover, .dl-open-n-btn[aria-expanded="true"]{border-color:var(--dl-gold); background:#1c1a12;}
.dl-open-n-btn:focus-visible{outline:2px solid var(--dl-gold); outline-offset:3px;}
.dl-open-n-btn > :is(i,svg):first-child{color:var(--dl-gold);}
.dl-open-n-btn b{min-width:2.4em; text-align:center; font-variant-numeric:tabular-nums;}
.dl-open-n-arrow{font-size:.72rem; color:var(--dl-soft); transition:transform .15s ease;}
.dl-open-n-btn[aria-expanded="true"] .dl-open-n-arrow{transform:rotate(180deg);}
.dl-open-n-menu{position:absolute; bottom:calc(100% + 10px); left:50%; transform:translateX(-50%); z-index:60; width:max-content; max-width:calc(100vw - 32px);
  background:#16191e; border:1px solid #5a4418; border-radius:18px; padding:10px; box-shadow:0 14px 40px rgba(0,0,0,.55);}
.dl-open-n-menu[hidden]{display:none;}
.dl-open-n-menu::after{content:""; position:absolute; top:100%; left:50%; margin-left:-7px; border:7px solid transparent; border-top-color:#5a4418;}
.dl-open-n-title{margin:0 4px 8px; font-size:.74rem; color:var(--dl-faint); text-align:center;}
.dl-open-n-grid{display:grid; grid-template-columns:repeat(4, 58px); gap:8px;}
.dl-open-opt{height:52px; border-radius:14px; border:1px solid var(--dl-line); background:#0e1013; color:var(--dl-ink); cursor:pointer;
  display:flex; flex-direction:column; align-items:center; justify-content:center; gap:2px; font:700 1rem "Inter", sans-serif; -webkit-tap-highlight-color:transparent;}
.dl-open-opt:hover:not(:disabled), .dl-open-opt:focus-visible{border-color:var(--dl-gold); outline:none;}
.dl-open-opt.on{background:var(--dl-gold); color:#2A1F0B; border-color:var(--dl-gold);}
.dl-open-opt.locked{opacity:.5; cursor:not-allowed; font-size:.9rem;}
.dl-open-opt small{font-size:.62rem; font-weight:600; color:var(--dl-faint); display:inline-flex; align-items:center; gap:3px;}
.dl-multi-grid.many{grid-template-columns:repeat(auto-fill, minmax(92px, 1fr)); gap:6px;}
.dl-multi-grid.many .dl-multi-tile{padding:7px 4px; gap:2px;}
.dl-multi-grid.many .dl-multi-name{font-size:0.62rem;}
.dl-multi-grid.many .dl-multi-gold{font-size:0.74rem;}
@media (max-width:600px){ .dl-multi-grid.many{grid-template-columns:repeat(5, 1fr); gap:4px;} .dl-multi-grid.many .dl-multi-name{font-size:0.5rem;} .dl-multi-grid.many .dl-multi-icons{display:none;} }

/* ---------- fonds animés d'événement (assets/js/dl_scenes.js) ---------- */
.dl-sc{position:absolute; inset:0; overflow:hidden; border-radius:inherit;}
.dl-sc-sky, .dl-sc-sky svg{position:absolute; inset:0; width:100%; height:100%; display:block;}
.dl-sc-part{position:absolute; height:var(--h); line-height:0; pointer-events:none;}
.dl-sc-part svg{height:100%; width:auto; display:block;}
.dl-sc-left{left:0; bottom:0;}
.dl-sc-right{right:0; bottom:0;}
.dl-sc-topright{right:3%; top:4%;}
.dl-sc-top{left:0; right:0; top:0;}
.dl-sc-bottom{left:0; right:0; bottom:0;}
.dl-sc-full{inset:0; height:auto;}
.dl-sc-top svg, .dl-sc-bottom svg, .dl-sc-full svg{width:100%; height:100%;}
@media (max-width:600px){                                  /* sur mobile : les décors s'écartent pour laisser le coffre au centre */
  .dl-sc-left{left:-14%; height:calc(var(--h) * .78);}
  .dl-sc-right{right:-14%; height:calc(var(--h) * .78);}
  .dl-sc-topright{height:calc(var(--h) * .7);}
}
/* aperçus de la boutique : animés seulement au survol */
.dl-bg-prev .dl-sc *{animation-play-state:paused !important;}
.dl-shop-card:hover .dl-bg-prev .dl-sc *{animation-play-state:running !important;}
.dl-bg-prev .dl-sc-left, .dl-bg-prev .dl-sc-right{height:calc(var(--h) * .9);}

.sc-twinkle{animation:sc-twinkle 2.4s ease-in-out infinite;}
.sc-candle{animation:sc-candle 1.2s ease-in-out infinite;}
.sc-breath{animation:sc-breath 3s ease-in-out infinite;}
.sc-glow, .sc-pulse, .sc-burst{transform-box:fill-box; transform-origin:center;}
.sc-glow{animation:sc-glow 3s ease-in-out infinite;}
.sc-pulse{animation:sc-pulse 2.2s ease-in-out infinite;}
.sc-flicker{transform-box:fill-box; transform-origin:50% 100%; animation:sc-flicker 1.1s ease-in-out infinite;}
.sc-sway, .sc-wobble{transform-box:fill-box; transform-origin:50% 100%;}
.sc-sway{animation:sc-sway 4s ease-in-out infinite;}
.sc-wobble{animation:sc-wobble 3.2s ease-in-out infinite;}
.sc-swayt{transform-box:fill-box; transform-origin:50% 0; animation:sc-sway 4s ease-in-out infinite;}
.sc-palm{transform-box:view-box; transform-origin:0 0; animation:sc-palm 5s ease-in-out infinite;}
.sc-bob{animation:sc-bob 3s ease-in-out infinite;}
.sc-drift{animation:sc-drift 60s linear infinite;}
.sc-drift2{animation:sc-drift2 16s ease-in-out infinite;}
.sc-fly{animation:sc-fly 18s linear infinite;}
.sc-flap{transform-box:fill-box; transform-origin:center; animation:sc-flap .4s ease-in-out infinite;}
.sc-flutter{animation:sc-flutter 7s ease-in-out infinite;}
.sc-burst{animation:sc-burst 3.2s ease-out infinite;}
.sc-confetti{transform-box:fill-box; transform-origin:center; animation:sc-confetti 8s linear infinite;}
.sc-rise{animation:sc-rise 8s linear infinite;}
.sc-snow{animation:sc-snow 6s linear infinite;}
.sc-spin{transform-box:fill-box; transform-origin:center; animation:sc-spin 40s linear infinite;}
.sc-shimmer{animation:sc-shimmer 4s ease-in-out infinite;}
.sc-coinhop{transform-box:fill-box; transform-origin:center; animation:sc-coinhop 1.8s ease-in-out infinite;}
.sc-ballhop{animation:sc-ballhop 1.8s ease-in-out infinite;}
.sc-wave{animation:sc-wave 4s linear infinite;}
.sc-surf{animation:sc-surf 6s ease-in-out infinite;}
@keyframes sc-twinkle{0%,100%{opacity:.25;} 50%{opacity:1;}}
@keyframes sc-candle{0%,100%{opacity:1;} 30%{opacity:.78;} 60%{opacity:.95;} 80%{opacity:.7;}}
@keyframes sc-breath{0%,100%{opacity:.65;} 50%{opacity:1;}}
@keyframes sc-glow{0%,100%{transform:scale(.92);} 50%{transform:scale(1.08);}}
@keyframes sc-pulse{0%,100%{transform:scale(1);} 50%{transform:scale(1.12);}}
@keyframes sc-flicker{0%,100%{transform:scale(1, 1);} 25%{transform:scale(.9, 1.1);} 50%{transform:scale(1.06, .92);} 75%{transform:scale(.95, 1.06);}}
@keyframes sc-sway{0%,100%{transform:rotate(-3deg);} 50%{transform:rotate(3deg);}}
@keyframes sc-wobble{0%,60%,100%{transform:rotate(0);} 70%{transform:rotate(-7deg);} 80%{transform:rotate(6deg);} 90%{transform:rotate(-3deg);}}
@keyframes sc-palm{0%,100%{transform:rotate(-4deg);} 50%{transform:rotate(4deg);}}
@keyframes sc-bob{0%,100%{transform:translateY(0);} 50%{transform:translateY(-5px);}}
@keyframes sc-drift{from{transform:translateX(-90px);} to{transform:translateX(470px);}}
@keyframes sc-drift2{0%,100%{transform:translateX(-20px);} 50%{transform:translateX(20px);}}
@keyframes sc-fly{0%{transform:translate(-40px, 0);} 25%{transform:translate(80px, -10px);} 50%{transform:translate(200px, 4px);} 75%{transform:translate(320px, -8px);} 100%{transform:translate(440px, 0);}}
@keyframes sc-flap{0%,100%{transform:scaleY(1);} 50%{transform:scaleY(.45);}}
@keyframes sc-flutter{0%,100%{transform:translate(0, 0);} 25%{transform:translate(26px, -14px);} 50%{transform:translate(8px, -30px);} 75%{transform:translate(-20px, -12px);}}
@keyframes sc-burst{0%{transform:scale(.15); opacity:0;} 8%{opacity:1;} 55%{transform:scale(1); opacity:1;} 85%{transform:scale(1.12); opacity:0;} 100%{transform:scale(1.12); opacity:0;}}
@keyframes sc-confetti{from{transform:translateY(0) rotate(0);} to{transform:translateY(260px) rotate(540deg);}}
@keyframes sc-rise{0%{transform:translateY(0); opacity:0;} 10%{opacity:1;} 80%{opacity:.8;} 100%{transform:translateY(-230px); opacity:0;}}
@keyframes sc-snow{from{transform:translateY(0);} to{transform:translateY(72px);}}
@keyframes sc-spin{to{transform:rotate(360deg);}}
@keyframes sc-shimmer{0%,100%{opacity:.8;} 50%{opacity:1;}}
@keyframes sc-coinhop{0%,100%{transform:translateY(0) scaleX(1);} 40%{transform:translateY(-16px) scaleX(.2);} 60%{transform:translateY(-16px) scaleX(1);}}
@keyframes sc-ballhop{0%,100%{transform:translateY(0);} 45%{transform:translateY(-14px);} 55%{transform:translateY(-14px);}}
@keyframes sc-wave{from{transform:translateX(0);} to{transform:translateX(-40px);}}
@keyframes sc-surf{0%,100%{transform:translate(0, 0);} 50%{transform:translate(-30px, 3px);}}
@media (prefers-reduced-motion: reduce){ .dl-sc *{animation:none !important;} }
/* nouveaux événements : fond de la scène et bannière */
.dl-stage[data-event="newyear"]{background:radial-gradient(120% 90% at 50% 40%, #241a4a, #07061a);}
.dl-stage[data-event="easter"]{background:radial-gradient(120% 90% at 50% 40%, #2a3a4a, #101820);}
.dl-stage[data-event="stpatrick"]{background:radial-gradient(120% 90% at 50% 40%, #0f3a1e, #06140a);}
.dl-shell:has(.dl-stage[data-event="newyear"]) .dl-event-banner{background:linear-gradient(90deg,#2a1a5a,#6a4a10); border-color:#ffd70066; color:#fff6c9;}
.dl-shell:has(.dl-stage[data-event="easter"]) .dl-event-banner{background:linear-gradient(90deg,#7a3a6a,#2a6a8a); border-color:#ffc2e866; color:#fff;}
.dl-shell:has(.dl-stage[data-event="stpatrick"]) .dl-event-banner{background:linear-gradient(90deg,#0f5a2a,#7a6a10); border-color:#7be38c66; color:#eaffea;}

/* =================================================================
   v1.8.1 — Ville de Québec (jour, crépuscule, nuit ; feux d'artifice seulement à la Saint-Jean)
   ================================================================= */
.dl-scene[data-bg="quebec"]{box-shadow:none !important; filter:none !important;}
.dl-sc-quebec .qc-dusk, .dl-sc-quebec .qc-night{display:none;}
.dl-scene:is([data-time="dusk"],[data-time="dawn"]) .dl-sc-quebec .qc-day{display:none;}
.dl-scene:is([data-time="dusk"],[data-time="dawn"]) .dl-sc-quebec .qc-dusk{display:inline;}
.dl-scene[data-time="night"] .dl-sc-quebec .qc-day{display:none;}
.dl-scene[data-time="night"] .dl-sc-quebec .qc-night{display:inline;}
.dl-sc-quebec .qc-city{transition:filter 1.2s ease;}
.dl-scene:is([data-time="dusk"],[data-time="dawn"]) .dl-sc-quebec .qc-city{filter:brightness(.62) saturate(.9) sepia(.25);}
.dl-scene[data-time="night"] .dl-sc-quebec .qc-city{filter:brightness(.3) saturate(.55);}
.dl-sc-quebec .qc-lights{opacity:0; transition:opacity 1.2s ease;}
.dl-scene:is([data-time="dusk"],[data-time="dawn"]) .dl-sc-quebec .qc-lights{opacity:.7;}
.dl-scene[data-time="night"] .dl-sc-quebec .qc-lights{opacity:1;}
/* sans dl_scenes.js : l'ancien dessin fixe de Québec sert de repli */
.dl-scene-art[data-bg="quebec"]:empty{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='-10 -8 420 108' preserveAspectRatio='none'%3E%3Cpath d='M0 100V80C40 78 80 74 120 72C160 70 200 66 240 62L270 60H400V100Z' fill='%230e1430'/%3E%3Cg transform='translate%28125 0%29'%3E%3Crect x='150' y='38' width='120' height='22' fill='%232b2236'/%3E%3Cpath d='M146 40L156 26H186L194 40ZM226 40L234 26H264L274 40Z' fill='%232f7d6a'/%3E%3Cpath d='M156 26L161 14L166 26ZM176 26L181 12L186 26ZM234 26L239 12L244 26ZM254 26L259 14L264 26Z' fill='%232f7d6a'/%3E%3Crect x='196' y='18' width='28' height='42' fill='%23322839'/%3E%3Cpath d='M192 20L210 2L228 20Z' fill='%23358f78'/%3E%3Cpath d='M200 20L203 12L206 20ZM214 20L217 12L220 20Z' fill='%232f7d6a'/%3E%3Crect x='209.4' y='-6' width='1.2' height='9' fill='%23cfd6e0'/%3E%3Crect x='210.6' y='-6' width='9' height='6' fill='%23003da5'/%3E%3Crect x='214.4' y='-6' width='1.4' height='6' fill='%23fff'/%3E%3Crect x='210.6' y='-3.7' width='9' height='1.4' fill='%23fff'/%3E%3Crect x='156' y='44' width='2.2' height='3' fill='%23ffd27a' opacity='0.63'/%3E%3Crect x='163' y='44' width='2.2' height='3' fill='%23ffd27a' opacity='0.55'/%3E%3Crect x='170' y='44' width='2.2' height='3' fill='%23ffd27a' opacity='0.88'/%3E%3Crect x='177' y='44' width='2.2' height='3' fill='%23ffd27a' opacity='0.80'/%3E%3Crect x='184' y='44' width='2.2' height='3' fill='%23ffd27a' opacity='0.72'/%3E%3Crect x='191' y='44' width='2.2' height='3' fill='%23ffd27a' opacity='0.63'/%3E%3Crect x='226' y='44' width='2.2' height='3' fill='%23ffd27a' opacity='0.63'/%3E%3Crect x='233' y='44' width='2.2' height='3' fill='%23ffd27a' opacity='0.55'/%3E%3Crect x='240' y='44' width='2.2' height='3' fill='%23ffd27a' opacity='0.88'/%3E%3Crect x='247' y='44' width='2.2' height='3' fill='%23ffd27a' opacity='0.80'/%3E%3Crect x='254' y='44' width='2.2' height='3' fill='%23ffd27a' opacity='0.72'/%3E%3Crect x='261' y='44' width='2.2' height='3' fill='%23ffd27a' opacity='0.63'/%3E%3Crect x='156' y='50' width='2.2' height='3' fill='%23ffd27a' opacity='0.72'/%3E%3Crect x='163' y='50' width='2.2' height='3' fill='%23ffd27a' opacity='0.63'/%3E%3Crect x='170' y='50' width='2.2' height='3' fill='%23ffd27a' opacity='0.55'/%3E%3Crect x='177' y='50' width='2.2' height='3' fill='%23ffd27a' opacity='0.88'/%3E%3Crect x='184' y='50' width='2.2' height='3' fill='%23ffd27a' opacity='0.80'/%3E%3Crect x='191' y='50' width='2.2' height='3' fill='%23ffd27a' opacity='0.72'/%3E%3Crect x='226' y='50' width='2.2' height='3' fill='%23ffd27a' opacity='0.72'/%3E%3Crect x='233' y='50' width='2.2' height='3' fill='%23ffd27a' opacity='0.63'/%3E%3Crect x='240' y='50' width='2.2' height='3' fill='%23ffd27a' opacity='0.55'/%3E%3Crect x='247' y='50' width='2.2' height='3' fill='%23ffd27a' opacity='0.88'/%3E%3Crect x='254' y='50' width='2.2' height='3' fill='%23ffd27a' opacity='0.80'/%3E%3Crect x='261' y='50' width='2.2' height='3' fill='%23ffd27a' opacity='0.72'/%3E%3Crect x='201' y='22' width='2.2' height='3' fill='%23ffd27a' opacity='.8'/%3E%3Crect x='207' y='22' width='2.2' height='3' fill='%23ffd27a' opacity='.8'/%3E%3Crect x='213' y='22' width='2.2' height='3' fill='%23ffd27a' opacity='.8'/%3E%3Crect x='219' y='22' width='2.2' height='3' fill='%23ffd27a' opacity='.8'/%3E%3Crect x='201' y='28' width='2.2' height='3' fill='%23ffd27a' opacity='.8'/%3E%3Crect x='207' y='28' width='2.2' height='3' fill='%23ffd27a' opacity='.8'/%3E%3Crect x='213' y='28' width='2.2' height='3' fill='%23ffd27a' opacity='.8'/%3E%3Crect x='219' y='28' width='2.2' height='3' fill='%23ffd27a' opacity='.8'/%3E%3Crect x='201' y='34' width='2.2' height='3' fill='%23ffd27a' opacity='.8'/%3E%3Crect x='207' y='34' width='2.2' height='3' fill='%23ffd27a' opacity='.8'/%3E%3Crect x='213' y='34' width='2.2' height='3' fill='%23ffd27a' opacity='.8'/%3E%3Crect x='219' y='34' width='2.2' height='3' fill='%23ffd27a' opacity='.8'/%3E%3Crect x='201' y='40' width='2.2' height='3' fill='%23ffd27a' opacity='.8'/%3E%3Crect x='207' y='40' width='2.2' height='3' fill='%23ffd27a' opacity='.8'/%3E%3Crect x='213' y='40' width='2.2' height='3' fill='%23ffd27a' opacity='.8'/%3E%3Crect x='219' y='40' width='2.2' height='3' fill='%23ffd27a' opacity='.8'/%3E%3Crect x='201' y='46' width='2.2' height='3' fill='%23ffd27a' opacity='.8'/%3E%3Crect x='207' y='46' width='2.2' height='3' fill='%23ffd27a' opacity='.8'/%3E%3Crect x='213' y='46' width='2.2' height='3' fill='%23ffd27a' opacity='.8'/%3E%3Crect x='219' y='46' width='2.2' height='3' fill='%23ffd27a' opacity='.8'/%3E%3C/g%3E%3Cpath d='M20 80V70H34V62L40 57L46 62V78M60 76V66H74V60H84V74M96 74V64L104 58L112 64V72' fill='%231a1c34'/%3E%3Crect x='24' y='72' width='2' height='3' fill='%23ffd27a' opacity='.7'/%3E%3Crect x='66' y='69' width='2' height='3' fill='%23ffd27a' opacity='.7'/%3E%3Crect x='102' y='66' width='2' height='3' fill='%23ffd27a' opacity='.7'/%3E%3Cpath d='M0 100V86C100 84 300 84 400 86V100Z' fill='%230a2a5a'/%3E%3Cpath d='M40 91H90M150 94H230M280 90H350M100 97H160' stroke='%235f8fd8' stroke-width='.8' opacity='.6'/%3E%3C/svg%3E"), url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 400 120' preserveAspectRatio='xMidYMid slice'%3E%3Cg stroke='%239cc2ff' stroke-width='1.6' stroke-linecap='round'%3E%3Cline x1='79.1' y1='40.0' x2='96.0' y2='40.0'/%3E%3Ccircle cx='99.1' cy='40.0' r='1.3' stroke='none' fill='%239cc2ff'/%3E%3Cline x1='78.2' y1='43.9' x2='93.4' y2='51.3'/%3E%3Ccircle cx='96.2' cy='52.6' r='1.3' stroke='none' fill='%239cc2ff'/%3E%3Cline x1='75.7' y1='47.1' x2='86.2' y2='60.3'/%3E%3Ccircle cx='88.2' cy='62.8' r='1.3' stroke='none' fill='%239cc2ff'/%3E%3Cline x1='72.0' y1='48.9' x2='75.8' y2='65.3'/%3E%3Ccircle cx='76.5' cy='68.4' r='1.3' stroke='none' fill='%239cc2ff'/%3E%3Cline x1='68.0' y1='48.9' x2='64.2' y2='65.3'/%3E%3Ccircle cx='63.5' cy='68.4' r='1.3' stroke='none' fill='%239cc2ff'/%3E%3Cline x1='64.3' y1='47.1' x2='53.8' y2='60.3'/%3E%3Ccircle cx='51.8' cy='62.8' r='1.3' stroke='none' fill='%239cc2ff'/%3E%3Cline x1='61.8' y1='43.9' x2='46.6' y2='51.3'/%3E%3Ccircle cx='43.8' cy='52.6' r='1.3' stroke='none' fill='%239cc2ff'/%3E%3Cline x1='60.9' y1='40.0' x2='44.0' y2='40.0'/%3E%3Ccircle cx='40.9' cy='40.0' r='1.3' stroke='none' fill='%239cc2ff'/%3E%3Cline x1='61.8' y1='36.1' x2='46.6' y2='28.7'/%3E%3Ccircle cx='43.8' cy='27.4' r='1.3' stroke='none' fill='%239cc2ff'/%3E%3Cline x1='64.3' y1='32.9' x2='53.8' y2='19.7'/%3E%3Ccircle cx='51.8' cy='17.2' r='1.3' stroke='none' fill='%239cc2ff'/%3E%3Cline x1='68.0' y1='31.1' x2='64.2' y2='14.7'/%3E%3Ccircle cx='63.5' cy='11.6' r='1.3' stroke='none' fill='%239cc2ff'/%3E%3Cline x1='72.0' y1='31.1' x2='75.8' y2='14.7'/%3E%3Ccircle cx='76.5' cy='11.6' r='1.3' stroke='none' fill='%239cc2ff'/%3E%3Cline x1='75.7' y1='32.9' x2='86.2' y2='19.7'/%3E%3Ccircle cx='88.2' cy='17.2' r='1.3' stroke='none' fill='%239cc2ff'/%3E%3Cline x1='78.2' y1='36.1' x2='93.4' y2='28.7'/%3E%3Ccircle cx='96.2' cy='27.4' r='1.3' stroke='none' fill='%239cc2ff'/%3E%3C/g%3E%3Cg stroke='%23ffffff' stroke-width='1.2' stroke-linecap='round'%3E%3Cline x1='337.0' y1='26.0' x2='350.0' y2='26.0'/%3E%3Ccircle cx='352.4' cy='26.0' r='1.0' stroke='none' fill='%23ffffff'/%3E%3Cline x1='336.3' y1='29.0' x2='348.0' y2='34.7'/%3E%3Ccircle cx='350.2' cy='35.7' r='1.0' stroke='none' fill='%23ffffff'/%3E%3Cline x1='334.4' y1='31.5' x2='342.5' y2='41.6'/%3E%3Ccircle cx='344.0' cy='43.5' r='1.0' stroke='none' fill='%23ffffff'/%3E%3Cline x1='331.6' y1='32.8' x2='334.5' y2='45.5'/%3E%3Ccircle cx='335.0' cy='47.8' r='1.0' stroke='none' fill='%23ffffff'/%3E%3Cline x1='328.4' y1='32.8' x2='325.5' y2='45.5'/%3E%3Ccircle cx='325.0' cy='47.8' r='1.0' stroke='none' fill='%23ffffff'/%3E%3Cline x1='325.6' y1='31.5' x2='317.5' y2='41.6'/%3E%3Ccircle cx='316.0' cy='43.5' r='1.0' stroke='none' fill='%23ffffff'/%3E%3Cline x1='323.7' y1='29.0' x2='312.0' y2='34.7'/%3E%3Ccircle cx='309.8' cy='35.7' r='1.0' stroke='none' fill='%23ffffff'/%3E%3Cline x1='323.0' y1='26.0' x2='310.0' y2='26.0'/%3E%3Ccircle cx='307.6' cy='26.0' r='1.0' stroke='none' fill='%23ffffff'/%3E%3Cline x1='323.7' y1='23.0' x2='312.0' y2='17.3'/%3E%3Ccircle cx='309.8' cy='16.3' r='1.0' stroke='none' fill='%23ffffff'/%3E%3Cline x1='325.6' y1='20.5' x2='317.5' y2='10.4'/%3E%3Ccircle cx='316.0' cy='8.5' r='1.0' stroke='none' fill='%23ffffff'/%3E%3Cline x1='328.4' y1='19.2' x2='325.5' y2='6.5'/%3E%3Ccircle cx='325.0' cy='4.2' r='1.0' stroke='none' fill='%23ffffff'/%3E%3Cline x1='331.6' y1='19.2' x2='334.5' y2='6.5'/%3E%3Ccircle cx='335.0' cy='4.2' r='1.0' stroke='none' fill='%23ffffff'/%3E%3Cline x1='334.4' y1='20.5' x2='342.5' y2='10.4'/%3E%3Ccircle cx='344.0' cy='8.5' r='1.0' stroke='none' fill='%23ffffff'/%3E%3Cline x1='336.3' y1='23.0' x2='348.0' y2='17.3'/%3E%3Ccircle cx='350.2' cy='16.3' r='1.0' stroke='none' fill='%23ffffff'/%3E%3C/g%3E%3Cg stroke='%236f9dff' stroke-width='0.7' stroke-linecap='round'%3E%3Cline x1='254.2' y1='56.0' x2='262.0' y2='56.0'/%3E%3Ccircle cx='263.4' cy='56.0' r='0.6' stroke='none' fill='%236f9dff'/%3E%3Cline x1='253.6' y1='58.1' x2='260.4' y2='62.0'/%3E%3Ccircle cx='261.6' cy='62.7' r='0.6' stroke='none' fill='%236f9dff'/%3E%3Cline x1='252.1' y1='59.6' x2='256.0' y2='66.4'/%3E%3Ccircle cx='256.7' cy='67.6' r='0.6' stroke='none' fill='%236f9dff'/%3E%3Cline x1='250.0' y1='60.2' x2='250.0' y2='68.0'/%3E%3Ccircle cx='250.0' cy='69.4' r='0.6' stroke='none' fill='%236f9dff'/%3E%3Cline x1='247.9' y1='59.6' x2='244.0' y2='66.4'/%3E%3Ccircle cx='243.3' cy='67.6' r='0.6' stroke='none' fill='%236f9dff'/%3E%3Cline x1='246.4' y1='58.1' x2='239.6' y2='62.0'/%3E%3Ccircle cx='238.4' cy='62.7' r='0.6' stroke='none' fill='%236f9dff'/%3E%3Cline x1='245.8' y1='56.0' x2='238.0' y2='56.0'/%3E%3Ccircle cx='236.6' cy='56.0' r='0.6' stroke='none' fill='%236f9dff'/%3E%3Cline x1='246.4' y1='53.9' x2='239.6' y2='50.0'/%3E%3Ccircle cx='238.4' cy='49.3' r='0.6' stroke='none' fill='%236f9dff'/%3E%3Cline x1='247.9' y1='52.4' x2='244.0' y2='45.6'/%3E%3Ccircle cx='243.3' cy='44.4' r='0.6' stroke='none' fill='%236f9dff'/%3E%3Cline x1='250.0' y1='51.8' x2='250.0' y2='44.0'/%3E%3Ccircle cx='250.0' cy='42.6' r='0.6' stroke='none' fill='%236f9dff'/%3E%3Cline x1='252.1' y1='52.4' x2='256.0' y2='45.6'/%3E%3Ccircle cx='256.7' cy='44.4' r='0.6' stroke='none' fill='%236f9dff'/%3E%3Cline x1='253.6' y1='53.9' x2='260.4' y2='50.0'/%3E%3Ccircle cx='261.6' cy='49.3' r='0.6' stroke='none' fill='%236f9dff'/%3E%3C/g%3E%3Cg stroke='%23ffffff' stroke-width='0.6' stroke-linecap='round'%3E%3Cline x1='143.5' y1='16.0' x2='150.0' y2='16.0'/%3E%3Ccircle cx='151.2' cy='16.0' r='0.5' stroke='none' fill='%23ffffff'/%3E%3Cline x1='142.8' y1='18.1' x2='148.1' y2='21.9'/%3E%3Ccircle cx='149.1' cy='22.6' r='0.5' stroke='none' fill='%23ffffff'/%3E%3Cline x1='141.1' y1='19.3' x2='143.1' y2='25.5'/%3E%3Ccircle cx='143.5' cy='26.7' r='0.5' stroke='none' fill='%23ffffff'/%3E%3Cline x1='138.9' y1='19.3' x2='136.9' y2='25.5'/%3E%3Ccircle cx='136.5' cy='26.7' r='0.5' stroke='none' fill='%23ffffff'/%3E%3Cline x1='137.2' y1='18.1' x2='131.9' y2='21.9'/%3E%3Ccircle cx='130.9' cy='22.6' r='0.5' stroke='none' fill='%23ffffff'/%3E%3Cline x1='136.5' y1='16.0' x2='130.0' y2='16.0'/%3E%3Ccircle cx='128.8' cy='16.0' r='0.5' stroke='none' fill='%23ffffff'/%3E%3Cline x1='137.2' y1='13.9' x2='131.9' y2='10.1'/%3E%3Ccircle cx='130.9' cy='9.4' r='0.5' stroke='none' fill='%23ffffff'/%3E%3Cline x1='138.9' y1='12.7' x2='136.9' y2='6.5'/%3E%3Ccircle cx='136.5' cy='5.3' r='0.5' stroke='none' fill='%23ffffff'/%3E%3Cline x1='141.1' y1='12.7' x2='143.1' y2='6.5'/%3E%3Ccircle cx='143.5' cy='5.3' r='0.5' stroke='none' fill='%23ffffff'/%3E%3Cline x1='142.8' y1='13.9' x2='148.1' y2='10.1'/%3E%3Ccircle cx='149.1' cy='9.4' r='0.5' stroke='none' fill='%23ffffff'/%3E%3C/g%3E%3C/svg%3E"),
  linear-gradient(180deg, #06122e 0%, #0b2a6a 45%, #3a5fb0 78%, #7a8fd0);
  background-size:100% 64%, 100% 100%, 100% 100%, 100% 100%, 100% 100%, 100% 100%, 100% 100%, 100% 100%; background-position:bottom, 0 0, 0 0, 0 0, 0 0, 0 0, 0 0, 0 0;}
.dl-sc-quebec .qc-fw{display:none;}
.dl-scene[data-ev="saintjean"] .dl-sc-quebec .qc-fw{display:block;}

/* =================================================================
   v2.0.0 — série de connexion, expéditions, fusion, album, chambres du repaire,
            clé économe, carte à partager, bouton ×N compact
   ================================================================= */
/* ---------- série de connexion ---------- */
.dl-streak{display:flex; align-items:center; gap:12px 16px; flex-wrap:wrap; background:var(--dl-panel); border:1px solid var(--dl-line); border-radius:16px;
  padding:10px 14px; margin-bottom:12px;}
.dl-streak:empty{display:none;}
.dl-streak.ready{border-color:#8a5a14; background:linear-gradient(120deg, rgba(255,138,31,0.16), rgba(244,185,66,0.08) 60%, var(--dl-panel)); box-shadow:0 0 0 1px rgba(244,185,66,0.15), 0 6px 24px rgba(255,138,31,0.12);}
.dl-sr-head{display:flex; align-items:center; gap:10px; min-width:0; flex:1 1 180px;}
.dl-sr-flame{position:relative; flex:0 0 auto; width:42px; height:42px; border-radius:50%; display:flex; align-items:center; justify-content:center; font-size:1.3rem;
  color:#ff8a1f; background:radial-gradient(circle at 50% 60%, rgba(255,138,31,0.28), #121418); border:1px solid #5a3a14;}
.dl-streak.ready .dl-sr-flame :is(i,svg){animation:dl-sr-flick 1.1s ease-in-out infinite;}
.dl-sr-flame b{position:absolute; right:-6px; bottom:-4px; min-width:20px; height:20px; padding:0 5px; border-radius:999px; background:#ff8a1f; color:#2A1F0B;
  font:700 .72rem/20px "Inter", sans-serif; text-align:center;}
.dl-sr-txt{display:flex; flex-direction:column; min-width:0;}
.dl-sr-txt b{font-size:.92rem;}
.dl-sr-txt small{color:var(--dl-soft); font-size:.76rem;}
.dl-sr-dots{display:flex; gap:5px; align-items:center;}
.dl-sr-dot{width:24px; height:24px; border-radius:50%; display:flex; align-items:center; justify-content:center; font:600 .7rem "Inter", sans-serif;
  color:var(--dl-faint); background:#121418; border:1px solid var(--dl-line);}
.dl-sr-dot.big{width:28px; height:28px; color:#8a6a2a;}
.dl-sr-dot.done{background:#ff8a1f; border-color:#ff8a1f; color:#2A1F0B;}
.dl-sr-dot.big.done{background:#ffd700; border-color:#ffd700;}
.dl-sr-dot.today{border-color:var(--dl-gold); color:var(--dl-gold); box-shadow:0 0 0 3px rgba(244,185,66,0.18); animation:dl-sr-pulse 1.6s ease-in-out infinite;}
.dl-sr-act{display:flex; align-items:center; gap:10px; flex-wrap:wrap;}
.dl-sr-next{color:var(--dl-faint); font-size:.78rem;}
.dl-sr-rew{display:inline-flex; gap:8px; flex-wrap:wrap; font-size:.8rem; color:var(--dl-ink);}
.dl-sr-rew > span{display:inline-flex; align-items:center; gap:4px; background:#121418; border:1px solid var(--dl-line); border-radius:999px; padding:2px 8px;}
.dl-sr-rew :is(i,svg){color:var(--dl-gold);}
.dl-sr-golden{color:#ffd700;}
.dl-toast .dl-sr-rew > span{background:transparent; border-color:#3a3f48;}
.dl-toast-flame{color:#ff8a1f !important;}
.dl-streak.dl-sr-pop{animation:dl-sr-popk .6s ease;}
#dl-streak-claim{box-shadow:0 4px 0 0 var(--dl-gold-deep), 0 0 18px rgba(244,185,66,0.4);}
@keyframes dl-sr-flick{0%,100%{transform:scale(1) rotate(-3deg);} 50%{transform:scale(1.12) rotate(3deg);}}
@keyframes dl-sr-pulse{0%,100%{box-shadow:0 0 0 3px rgba(244,185,66,0.18);} 50%{box-shadow:0 0 0 6px rgba(244,185,66,0.05);}}
@keyframes dl-sr-popk{0%{transform:scale(1);} 40%{transform:scale(1.03);} 100%{transform:scale(1);}}
@media (max-width:560px){
  .dl-streak{padding:9px 11px; gap:8px 10px;}
  .dl-sr-dot{width:21px; height:21px; font-size:.62rem;} .dl-sr-dot.big{width:25px; height:25px;}
  .dl-sr-act{width:100%;}
}

/* ---------- pastille « quelque chose t'attend » ---------- */
.dl-has-news{position:relative;}
.dl-has-news::after{content:""; position:absolute; top:4px; right:4px; width:9px; height:9px; border-radius:50%; background:#ff4d5e; box-shadow:0 0 0 2px #0c0e11; animation:dl-sr-pulse 1.6s ease-in-out infinite;}

/* ---------- dragons : outils, expéditions ---------- */
.dl-dragon-tools{display:flex; gap:8px; align-items:center; flex-wrap:wrap; margin:0 0 12px;}
.dl-tools-hint{color:var(--dl-faint); font-size:.78rem;}
.dl-nest-away{border-style:dashed;}
.dl-nest-away .dl-pet{position:relative; opacity:.72;}
.dl-nest-away.back{border-style:solid; border-color:var(--dl-gold); box-shadow:0 0 0 1px rgba(244,185,66,0.2), 0 0 24px rgba(244,185,66,0.12);}
.dl-nest-away.back .dl-pet{opacity:1;}
.dl-away-badge{position:absolute; right:-2px; bottom:-2px; width:30px; height:30px; border-radius:50%; display:flex; align-items:center; justify-content:center;
  background:#16191e; border:1px solid var(--dl-line); color:var(--dl-gold); font-size:.85rem;}
.dl-pet .dl-away-badge :is(i,svg){font-size:.85rem !important; color:var(--dl-gold) !important; filter:none !important; animation:none !important;}
.dl-exp-where{color:var(--dl-ink) !important;}
.dl-exp-where :is(i,svg){color:var(--dl-gold);}
.dl-exp-fill{background:linear-gradient(90deg, #6fd3ff, #7be38c) !important;}
.dl-nest-away.back .dl-exp-fill{background:linear-gradient(90deg, var(--dl-gold), #ffd700) !important;}
.dl-exp-left{font:600 .82rem "Inter", sans-serif; color:var(--dl-soft); font-variant-numeric:tabular-nums;}
.dl-exp-claim{animation:dl-claim-glow 1.6s ease-in-out infinite;}
@keyframes dl-claim-glow{0%,100%{box-shadow:0 4px 0 0 var(--dl-gold-deep), 0 0 0 0 rgba(244,185,66,0.5);} 50%{box-shadow:0 4px 0 0 var(--dl-gold-deep), 0 0 0 7px rgba(244,185,66,0);}}

/* fenêtres Expédition / Fusion / Carte */
.dl-exp-popup .swal2-title :is(i,svg){color:var(--dl-gold);}
.dl-exp-popup .swal2-html-container{margin:10px 14px 0; text-align:left;}
.dl-exp-intro{color:var(--dl-soft); font-size:.88rem; margin:0 0 12px; line-height:1.5;}
.dl-exp-warn{color:#ffd27a; font-size:.82rem; margin:-4px 0 12px;}
.dl-exp-list{display:flex; flex-direction:column; gap:10px;}
.dl-exp-opt{display:flex; align-items:center; gap:12px; width:100%; text-align:left; background:#1c2026; border:1px solid var(--dl-line); border-radius:14px; padding:12px;
  color:var(--dl-ink); cursor:pointer; transition:border-color .15s ease, transform .15s ease, background .15s ease; font:inherit;}
.dl-exp-opt:hover, .dl-exp-opt:focus-visible{border-color:var(--dl-gold); background:#22211a; transform:translateY(-1px); outline:none;}
.dl-exp-icon{flex:0 0 auto; width:48px; height:48px; border-radius:12px; display:flex; align-items:center; justify-content:center; font-size:1.35rem;
  color:var(--dl-gold); background:radial-gradient(circle at 50% 40%, rgba(244,185,66,0.2), #121418);}
.dl-exp-info{flex:1; display:flex; flex-direction:column; gap:3px; min-width:0;}
.dl-exp-info small{color:var(--dl-soft); font-size:.78rem;}
.dl-exp-rew{display:flex; gap:10px; flex-wrap:wrap; font-size:.8rem; margin-top:2px;}
.dl-exp-rew :is(i,svg){color:var(--dl-gold);}
.dl-exp-go{color:var(--dl-faint);}

/* fusion */
.dl-fuse-group{margin-bottom:14px;}
.dl-fuse-head{display:flex; align-items:center; gap:8px; flex-wrap:wrap; font-size:.9rem; margin-bottom:8px;}
.dl-fuse-head > :is(i,svg){color:var(--dl-faint); font-size:.8rem;}
.dl-fuse-head small{margin-left:auto; color:var(--dl-soft);}
.dl-fuse-head small :is(i,svg){color:var(--dl-gold);}
.dl-fuse-head .dl-fuse-rar{color:var(--rar); font-size:.95rem;}
.dl-fuse-grid{display:grid; grid-template-columns:repeat(auto-fill, minmax(96px, 1fr)); gap:8px;}
.dl-fuse-pick{position:relative; display:flex; flex-direction:column; align-items:center; gap:2px; padding:10px 6px 8px; border-radius:14px; cursor:pointer; font:inherit;
  color:var(--dl-ink); background:linear-gradient(160deg, color-mix(in oklab, var(--rar) 12%, #16191e), #121418); border:1px solid var(--dl-line); transition:border-color .15s ease, transform .15s ease;}
.dl-fuse-pick:hover{transform:translateY(-1px); border-color:color-mix(in oklab, var(--rar) 60%, var(--dl-line));}
.dl-fuse-pick.on{border-color:var(--dl-gold); box-shadow:0 0 0 2px rgba(244,185,66,0.35);}
.dl-fuse-drag{font-size:1.9rem; color:var(--rar); line-height:1.2;}
.dl-fuse-drag .dl-dwrap{position:relative; display:inline-block;}
.dl-fuse-name{font-size:.8rem; font-weight:600; max-width:100%; overflow:hidden; text-overflow:ellipsis; white-space:nowrap;}
.dl-fuse-pick small{font-size:.68rem; color:var(--dl-faint);}
.dl-fuse-num{position:absolute; top:5px; right:6px; min-width:20px; height:20px; border-radius:999px; font:700 .7rem/20px "Inter", sans-serif; text-align:center;}
.dl-fuse-pick.on .dl-fuse-num{background:var(--dl-gold); color:#2A1F0B;}
.dl-fuse-popup .swal2-confirm:disabled{opacity:.45; cursor:not-allowed;}
.dl-fuse-anim{position:relative; height:110px; display:flex; align-items:center; justify-content:center;}
.dl-fuse-in{position:absolute; font-size:2rem; color:var(--rar); opacity:0; animation:dl-fuse-in 1s ease-in forwards;}
.dl-fuse-in-0{--fx:-90px;} .dl-fuse-in-1{--fx:0px; --fy:-50px;} .dl-fuse-in-2{--fx:90px;}
.dl-fuse-out{opacity:0; animation:dl-pop-in .7s .9s cubic-bezier(.2,1.5,.4,1) forwards !important;}
@keyframes dl-fuse-in{0%{opacity:1; transform:translate(var(--fx, 0), var(--fy, 0)) scale(1);} 80%{opacity:1;} 100%{opacity:0; transform:translate(0, 0) scale(.3);}}

/* ---------- album des dragons ---------- */
.dl-alb-bonus{display:inline-flex; align-items:center; gap:6px; font-size:.85rem; color:var(--dl-ink); background:rgba(244,185,66,0.1); border:1px solid #5a4418;
  border-radius:999px; padding:4px 12px; margin-bottom:12px;}
.dl-alb-bonus :is(i,svg){color:var(--dl-gold);}
.dl-album{display:flex; flex-direction:column; gap:6px; overflow-x:auto;}
.dl-alb-row{display:grid; grid-template-columns:minmax(96px, 1.4fr) repeat(5, minmax(44px, 1fr)); gap:6px; align-items:center; padding:6px 8px; border-radius:12px;
  background:var(--dl-panel); border:1px solid var(--dl-line); min-width:360px;}
.dl-alb-row.seen{background:linear-gradient(90deg, color-mix(in oklab, var(--rar) 10%, #15181d), #121418);}
.dl-alb-row.complete{border-color:color-mix(in oklab, var(--rar) 55%, var(--dl-line)); box-shadow:0 0 16px color-mix(in oklab, var(--rar) 18%, transparent);}
.dl-alb-heads{background:none; border:none; padding-top:0; padding-bottom:0;}
.dl-alb-h{font-size:.68rem; color:var(--dl-faint); text-align:center; text-transform:uppercase; letter-spacing:.04em; overflow:hidden; text-overflow:ellipsis; white-space:nowrap;}
.dl-alb-name{font-size:.9rem; white-space:nowrap; overflow:hidden; text-overflow:ellipsis;}
.dl-alb-cell{height:40px; border-radius:10px; display:flex; align-items:center; justify-content:center; background:#0e1013; border:1px dashed #2a2f37; color:#3a3f48; font-size:.8rem;}
.dl-alb-cell.got{border-style:solid; border-color:color-mix(in oklab, var(--rar) 50%, transparent); background:radial-gradient(circle at 50% 60%, color-mix(in oklab, var(--rar) 22%, #121418), #0e1013);}
.dl-alb-cell.got :is(i,svg){color:var(--rar); filter:drop-shadow(0 0 6px color-mix(in oklab, var(--rar) 60%, transparent));}
.dl-alb-cell.got.dc :is(i,svg){color:#ff4dd2; animation:dl-dc-hue 3s linear infinite;}
.dl-alb-s0{font-size:.75rem;} .dl-alb-s1{font-size:.95rem;} .dl-alb-s2{font-size:1.15rem;} .dl-alb-s3{font-size:1.35rem;} .dl-alb-s4{font-size:1.15rem;}

/* ---------- chambres du repaire ---------- */
.dl-room-grid{display:grid; gap:12px; grid-template-columns:repeat(auto-fill, minmax(220px, 1fr));}
.dl-room{display:flex; flex-direction:column; gap:8px; background:var(--dl-panel); border:1px solid var(--dl-line); border-radius:16px; padding:14px;}
.dl-room.built{border-color:#4a3a1a;}
.dl-room.max{background:linear-gradient(160deg, rgba(244,185,66,0.1), var(--dl-panel) 60%); border-color:#6b5020;}
.dl-room-head{display:flex; align-items:center; gap:10px;}
.dl-room-icon{width:38px; height:38px; border-radius:10px; display:flex; align-items:center; justify-content:center; background:#121418; border:1px solid var(--dl-line); color:var(--dl-faint); font-size:1.05rem;}
.dl-room.built .dl-room-icon{color:var(--dl-gold); border-color:#5a4418; background:radial-gradient(circle at 50% 40%, rgba(244,185,66,0.18), #121418);}
.dl-room p{margin:0; color:var(--dl-faint); font-size:.8rem; line-height:1.45;}
.dl-room .dl-btn{align-self:flex-start; white-space:nowrap; margin-top:auto;}
.dl-room .dl-forge-vals{display:flex; flex-wrap:wrap; align-items:center; gap:4px 8px; font-size:.84rem;}
.dl-room .dl-maxed{margin-top:auto;}
.dl-lair-svg .dl-lair-aurora{animation:dl-lair-aur 6s ease-in-out infinite;}
.dl-lair-svg .dl-lair-rune{animation:dl-lair-rune 12s linear infinite;}
.dl-lair-svg .dl-lair-float{animation:dl-lair-fl 3.4s ease-in-out infinite;}
.dl-lair-svg .dl-lair-bubble{animation:dl-lair-bub 1.6s ease-in infinite;}
@keyframes dl-lair-aur{0%,100%{opacity:.12;} 50%{opacity:.32;}}
@keyframes dl-lair-rune{to{stroke-dashoffset:-170;}}
@keyframes dl-lair-fl{0%,100%{transform:translateY(0);} 50%{transform:translateY(-6px);}}
@keyframes dl-lair-bub{0%{transform:translateY(0); opacity:1;} 100%{transform:translateY(-12px); opacity:0;}}

/* ---------- forge : nouveauté, clés économisées ---------- */
.dl-res-thrift{color:#9ff0b5; border-color:#2f6b3a !important;}

/* ---------- carte à partager ---------- */
.dl-share-row{display:flex; justify-content:flex-end; margin-bottom:-6px;}
.dl-lv-share{align-self:flex-start; margin-top:6px;}
.dl-card-popup{width:min(520px, 96vw) !important;}
.dl-card-share{display:flex; flex-direction:column; align-items:center; gap:14px;}
.dl-card-wait{padding:60px; font-size:2rem; color:var(--dl-gold);}
.dl-card-img{width:100%; max-width:380px; border-radius:18px; box-shadow:0 12px 40px rgba(0,0,0,0.5); border:1px solid var(--dl-line);}
.dl-card-btns{display:flex; gap:10px; flex-wrap:wrap; justify-content:center;}
.dl-card-btns a.dl-btn{text-decoration:none;}
.dl-card-hint{margin:0; color:var(--dl-faint); font-size:.78rem; text-align:center;}

/* ---------- bouton ×N compact sur mobile ---------- */
@media (max-width:480px){
  .dl-actions{flex-wrap:nowrap; gap:8px;}
  .dl-actions #dl-open-btn{padding:12px 16px; gap:8px; font-size:.95rem; min-width:0;}
  .dl-actions #dl-open-label{white-space:nowrap; overflow:hidden; text-overflow:ellipsis;}
  .dl-open-n-btn{padding:0 12px; gap:5px; min-height:48px;}
  .dl-open-n-btn > :is(i,svg):first-child{display:none;}
  .dl-open-n-btn b{min-width:1.9em;}
  .dl-open-n-arrow{font-size:.62rem;}
  .dl-open-n-menu{left:auto; right:0; transform:none;}
  .dl-open-n-menu::after{left:auto; right:22px;}
}
@media (max-width:360px){ .dl-actions #dl-open-btn .dl-btn-cost{display:none;} }
@media (max-width:480px){
  .dl-alb-row{min-width:0; grid-template-columns:minmax(64px, 1.2fr) repeat(5, minmax(0, 1fr)); gap:4px; padding:5px 6px;}
  .dl-alb-name{font-size:.74rem;}
  .dl-alb-cell{height:34px; border-radius:8px;}
  .dl-alb-h{font-size:.56rem; letter-spacing:0;}
}
@media (max-width:480px){ .dl-alb-name.coffre-rarete{letter-spacing:0; text-transform:none;} }

/* =================================================================
   v2.1.0 — compagnon en haut à gauche (mobile), série réductible, sous-menu de la boutique, paramètres groupés
   ================================================================= */
@media (max-width:600px){
  .dl-companion{left:8px; top:8px; bottom:auto;}
  .dl-comp-bubble{bottom:auto; top:calc(100% + 6px); left:calc(100% - 14px); border-radius:4px 14px 14px 14px; transform-origin:0 0; transform:translateY(-6px) scale(.9);}
  .dl-comp-bubble.show{transform:none;}
  .dl-comp-bubble::after{bottom:auto; top:-9px; border-left:2px solid #1d1a14; border-bottom:none; border-top:2px solid #1d1a14; transform:skewY(35deg); border-radius:3px 0 0 0;}
}
/* série de connexion : bouton réduire / agrandir, version réduite */
.dl-streak{position:relative;}
.dl-sr-toggle{position:absolute; top:6px; right:6px; width:28px; height:28px; border-radius:50%; border:1px solid var(--dl-line); background:#121418; color:var(--dl-soft);
  display:flex; align-items:center; justify-content:center; cursor:pointer; font-size:.72rem; z-index:1;}
.dl-sr-toggle:hover, .dl-sr-toggle:focus-visible{color:var(--dl-gold); border-color:var(--dl-gold); outline:none;}
.dl-streak:not(.mini){padding-right:44px;}
.dl-streak.mini{flex-wrap:nowrap; gap:10px; padding:6px 44px 6px 8px;}
.dl-streak.mini .dl-sr-flame{width:32px; height:32px; font-size:1rem;}
.dl-streak.mini .dl-sr-flame b{min-width:17px; height:17px; line-height:17px; font-size:.64rem; right:-5px; bottom:-3px;}
.dl-streak.mini .dl-sr-txt{flex:1; min-width:0;}
.dl-streak.mini .dl-sr-txt b{font-size:.84rem; white-space:nowrap; overflow:hidden; text-overflow:ellipsis;}
.dl-streak.mini .dl-sr-next :is(i,svg){color:#7be38c;}
.dl-streak.mini .dl-sr-toggle{top:50%; margin-top:-14px;}
.dl-streak[hidden]{display:none !important;}
.dl-buff-gift{padding:4px 12px !important; font-size:.78rem !important;}
@media (max-width:560px){ .dl-sr-act{width:auto;} .dl-streak:not(.mini) .dl-sr-act{width:100%;} }
/* boutique : sous-menu */
.dl-shopnav{display:flex; gap:6px; flex-wrap:wrap; margin:6px 0 14px;}
.dl-shopnav button{display:inline-flex; align-items:center; gap:7px; padding:8px 14px; border-radius:999px; border:1px solid var(--dl-line); background:var(--dl-panel);
  color:var(--dl-soft); cursor:pointer; font-size:.85rem;}
.dl-shopnav button small{font-size:.7rem; color:var(--dl-faint); font-variant-numeric:tabular-nums;}
.dl-shopnav button:hover{color:var(--dl-ink);}
.dl-shopnav button[aria-selected="true"]{color:#2A1F0B; background:var(--dl-gold); border-color:var(--dl-gold);}
.dl-shopnav button[aria-selected="true"] small{color:#5a4418;}
.dl-shop > section{display:none;}
.dl-shop[data-cat="skins"] > [data-shopcat="skins"], .dl-shop[data-cat="bgs"] > [data-shopcat="bgs"],
.dl-shop[data-cat="accs"] > [data-shopcat="accs"], .dl-shop[data-cat="decor"] > [data-shopcat="decor"]{display:block; animation:dle-sub-in .22s ease;}
@media (max-width:560px){
  .dl-shopnav{flex-wrap:nowrap; overflow-x:auto; scrollbar-width:none; margin-left:-2px; margin-right:-2px;}
  .dl-shopnav::-webkit-scrollbar{display:none;}
  .dl-shopnav button{flex:0 0 auto; padding:7px 12px; font-size:.8rem;}
}
/* paramètres groupés */
.dl-set-group{display:flex; align-items:center; gap:8px; margin:22px 4px 8px; font-size:.78rem; letter-spacing:.08em; text-transform:uppercase; color:var(--dl-soft);}
.dl-set-group:first-child{margin-top:4px;}
.dl-set-group :is(i,svg){color:var(--dl-gold);}

/* v2.1.1 : sous-menu de la boutique en menu déroulant sur mobile */
.dl-shopselect{display:none;}
@media (max-width:560px){
  .dl-shopnav{display:none;}
  .dl-shopselect{position:relative; display:flex; align-items:center; gap:10px; margin:6px 0 14px; padding:0 14px; min-height:50px; border-radius:14px;
    background:var(--dl-panel); border:1px solid #5a4418; box-shadow:0 0 0 1px rgba(244,185,66,0.12);}
  .dl-shopselect > :is(i,svg):first-child{color:var(--dl-gold);}
  .dl-shopselect select{flex:1; appearance:none; -webkit-appearance:none; background:transparent; border:none; color:var(--dl-ink); font:600 1rem "Inter", sans-serif;
    padding:12px 28px 12px 0; cursor:pointer; outline:none;}
  .dl-shopselect select option{background:#16191e; color:var(--dl-ink);}
  .dl-shopselect-arrow{position:absolute; right:16px; pointer-events:none; color:var(--dl-gold); font-size:.8rem;}
  .dl-shopselect:focus-within{border-color:var(--dl-gold);}
}
/* fond secret « Bureau IP » : sur mobile, l'enseigne descend sous le compagnon et la porte se décale à droite */
@media (max-width:600px){
  .dl-sc-part.ip-sign{top:13%;}
  .dl-sc-part.ip-right{right:-24%;}
}

/* =================================================================
   v2.2.0 — boss de la semaine, coffre maudit, défis du jour, succès cachés, courbe des 7 jours, filtres d'écran
   ================================================================= */
/* ---------- boss ---------- */
.dl-boss{position:relative; display:flex; align-items:center; gap:14px; background:linear-gradient(110deg, color-mix(in oklab, var(--bc, #ff6a3d) 16%, #15181d), var(--dl-panel) 60%);
  border:1px solid color-mix(in oklab, var(--bc, #ff6a3d) 40%, var(--dl-line)); border-radius:16px; padding:10px 46px 10px 12px; margin-bottom:12px;}
.dl-boss[hidden]{display:none !important;}
.dl-boss.ready{box-shadow:0 0 0 1px rgba(244,185,66,0.3), 0 6px 24px rgba(244,185,66,0.15); border-color:#8a5a14;}
.dl-boss-icon{position:relative; flex:0 0 auto; width:56px; height:56px; border-radius:14px; display:flex; align-items:center; justify-content:center; font-size:2rem;
  color:var(--bc); background:radial-gradient(circle at 50% 60%, color-mix(in oklab, var(--bc) 30%, #121418), #0e1013); border:1px solid color-mix(in oklab, var(--bc) 50%, transparent);}
.dl-boss-icon > :is(i,svg):first-child{filter:drop-shadow(0 0 10px color-mix(in oklab, var(--bc) 70%, transparent)); animation:dl-boss-idle 2.6s ease-in-out infinite;}
.dl-boss-icon.down > :is(i,svg):first-child{opacity:.35; filter:grayscale(.6); animation:none;}
.dl-boss-x{position:absolute; font-size:1.4rem; color:#ff4d5e;}
.dl-boss-icon.hit{animation:dl-boss-hit .45s ease;}
.dl-boss-info{flex:1; min-width:0; display:flex; flex-direction:column; gap:4px;}
.dl-boss-kicker{font-size:.7rem; letter-spacing:.08em; text-transform:uppercase; color:var(--dl-soft);}
.dl-boss-kicker :is(i,svg){color:#ff6b7d;}
.dl-boss-name{font-size:.98rem;}
.dl-boss-bar{position:relative; height:18px; border-radius:999px; background:#0e1013; border:1px solid var(--dl-line); overflow:hidden; min-width:120px;}
.dl-boss-fill{position:absolute; inset:0 auto 0 0; background:linear-gradient(90deg, #d7263d, #ff6a3d); transition:width .6s ease;}
.dl-boss-bar span{position:relative; display:block; text-align:center; font:700 .7rem/18px "Inter", sans-serif; color:#fff; text-shadow:0 1px 2px rgba(0,0,0,.8);}
.dl-boss-act{display:flex; align-items:center; gap:10px; flex-wrap:wrap;}
.dl-boss-left, .dl-boss-done{font-size:.78rem; color:var(--dl-soft);}
.dl-boss-done :is(i,svg){color:#7be38c;}
.dl-boss-pop{position:absolute; left:46px; top:6px; font:800 1.1rem "Inter", sans-serif; color:#ff6b7d; text-shadow:0 2px 6px rgba(0,0,0,.8); pointer-events:none; animation:dl-boss-pop 1.2s ease-out forwards;}
.dl-boss.mini{padding:6px 44px 6px 8px; gap:10px;}
.dl-boss.mini .dl-boss-icon{width:34px; height:34px; font-size:1.15rem; border-radius:10px;}
.dl-boss.mini .dl-boss-name{font-size:.84rem; font-weight:700; white-space:nowrap; max-width:34%; overflow:hidden; text-overflow:ellipsis;}
.dl-boss.mini .dl-boss-bar{flex:1;}
.dl-boss.mini .dl-sr-toggle{top:50%; margin-top:-14px;}
.dl-res-boss{color:#ffb3bb; border-color:#7a2a34 !important;}
@keyframes dl-boss-idle{0%,100%{transform:translateY(0) rotate(-3deg);} 50%{transform:translateY(-3px) rotate(3deg);}}
@keyframes dl-boss-hit{0%{transform:translateX(0);} 20%{transform:translateX(-5px) rotate(-6deg);} 40%{transform:translateX(5px) rotate(5deg);} 60%{transform:translateX(-3px);} 100%{transform:none;}}
@keyframes dl-boss-pop{0%{opacity:0; transform:translateY(6px) scale(.8);} 15%{opacity:1; transform:translateY(0) scale(1.1);} 100%{opacity:0; transform:translateY(-22px) scale(1);}}

/* ---------- coffre maudit ---------- */
.dl-cursed{display:flex; align-items:center; gap:14px; flex-wrap:wrap; margin:14px auto 0; max-width:620px; padding:12px 14px; border-radius:16px;
  background:linear-gradient(120deg, rgba(122,40,180,0.28), rgba(30,10,40,0.9)); border:1px solid #6b2fa0; box-shadow:0 0 24px rgba(160,70,255,0.25); animation:dle-sub-in .3s ease;}
.dl-cursed[hidden]{display:none;}
.dl-cursed-icon{position:relative; flex:0 0 auto; width:50px; height:50px; border-radius:14px; display:flex; align-items:center; justify-content:center; font-size:1.7rem;
  color:#c9a0ff; background:radial-gradient(circle, rgba(185,140,255,0.3), #120a18); animation:dl-cursed-glow 1.6s ease-in-out infinite;}
.dl-cursed-skull{position:absolute; font-size:.8rem; color:#e9dcff; bottom:6px; right:6px;}
.dl-cursed-info{flex:1; min-width:180px; display:flex; flex-direction:column; gap:3px;}
.dl-cursed-info small{color:#cbb8e6; font-size:.8rem;}
.dl-cursed-timer{height:4px; border-radius:999px; background:rgba(255,255,255,0.1); overflow:hidden; margin-top:4px;}
.dl-cursed-timer span{display:block; height:100%; background:#b98cff; animation:dl-cursed-time linear forwards;}
.dl-cursed-btns{display:flex; gap:8px; flex-wrap:wrap;}
.dl-cursed-open{background:#b98cff !important; box-shadow:0 4px 0 0 #6b3fa0 !important; color:#1a0e26 !important;}
.dl-cursed.shake{animation:dl-cursed-shake .9s ease;}
.dl-cursed.done.win{border-color:#8a6a1c; background:linear-gradient(120deg, rgba(244,185,66,0.2), rgba(30,20,10,0.9));}
.dl-cursed.done.win .dl-cursed-icon{color:var(--dl-gold);}
.dl-cursed.done.jackpot{border-color:#ffd700; background:linear-gradient(120deg, rgba(255,215,0,0.32), rgba(40,25,5,0.95)); box-shadow:0 0 30px rgba(255,215,0,0.4);}
.dl-cursed.done.jackpot .dl-cursed-icon{color:#ffd700;}
.dl-cursed.done.lose .dl-cursed-icon{color:#9a8fb0; animation:none;}
@keyframes dl-cursed-glow{0%,100%{box-shadow:0 0 0 rgba(185,140,255,0);} 50%{box-shadow:0 0 18px rgba(185,140,255,0.55);}}
@keyframes dl-cursed-time{from{width:100%;} to{width:0;}}
@keyframes dl-cursed-shake{0%,100%{transform:none;} 15%{transform:translateX(-6px) rotate(-1deg);} 30%{transform:translateX(6px) rotate(1deg);} 45%{transform:translateX(-5px);} 60%{transform:translateX(5px);} 75%{transform:translateX(-3px);}}

/* ---------- défis du jour ---------- */
.dl-quests{display:flex; flex-direction:column; gap:10px;}
.dl-quest, .dl-quest-bonus{display:flex; align-items:center; gap:12px; background:var(--dl-panel); border:1px solid var(--dl-line); border-radius:14px; padding:12px;}
.dl-quest.done:not(.claimed){border-color:#8a5a14; box-shadow:0 0 0 1px rgba(244,185,66,0.15);}
.dl-quest.claimed, .dl-quest-bonus.claimed{opacity:.6;}
.dl-quest-icon{flex:0 0 auto; width:42px; height:42px; border-radius:12px; display:flex; align-items:center; justify-content:center; font-size:1.15rem; color:var(--dl-gold);
  background:radial-gradient(circle at 50% 40%, rgba(244,185,66,0.18), #121418); border:1px solid var(--dl-line);}
.dl-quest-info{flex:1; min-width:0; display:flex; flex-direction:column; gap:5px;}
.dl-quest-info b{font-size:.9rem;}
.dl-quest-info small{font-size:.74rem; color:var(--dl-faint); font-variant-numeric:tabular-nums;}
.dl-quest-ok{color:#7be38c; font-size:1.2rem; padding:0 6px;}
.dl-quest .dl-btn, .dl-quest-bonus .dl-btn{white-space:nowrap;}
.dl-quest-bonus{margin-top:12px; border-style:dashed;}
.dl-quest-bonus.ready{border-style:solid; border-color:var(--dl-gold); background:linear-gradient(120deg, rgba(244,185,66,0.14), var(--dl-panel));}

/* ---------- succès cachés ---------- */
.dl-ach-hidden{border-style:dashed !important; opacity:.75;}
.dl-ach-hidden .dl-ach-icon{color:var(--dl-faint) !important;}

/* ---------- 7 derniers jours ---------- */
.dl-wk-grid{display:grid; grid-template-columns:repeat(auto-fit, minmax(260px, 1fr)); gap:12px;}
.dl-wk{margin:0; background:var(--dl-panel); border:1px solid var(--dl-line); border-radius:16px; padding:12px 12px 6px;}
.dl-wk figcaption{display:flex; align-items:baseline; justify-content:space-between; gap:8px; margin:0 4px 4px;}
.dl-wk figcaption b{font-size:.88rem; color:var(--dl-ink);}
.dl-wk figcaption small{font-size:.74rem; color:var(--dl-soft);}
.dl-wk svg{display:block; width:100%; height:auto; overflow:visible;}
.dl-wk-axis{stroke:#3a3f48; stroke-width:1;}
.dl-wk-hit{fill:transparent;}
.dl-wk-chests{--wk:#5f86e0;} .dl-wk-gold{--wk:#bf861a;}
.dl-wk-fill{fill:var(--wk); opacity:.78; transition:opacity .15s ease;}
.dl-wk-bar.today .dl-wk-fill{opacity:1;}
.dl-wk-bar:hover .dl-wk-fill, .dl-wk-bar:focus .dl-wk-fill{opacity:1; stroke:var(--dl-ink); stroke-width:1;}
.dl-wk-bar:focus{outline:none;}
.dl-wk-val{fill:var(--dl-ink); font:700 11px "Inter", sans-serif; text-anchor:middle;}
.dl-wk-day{fill:var(--dl-soft); font:500 11px "Inter", sans-serif; text-anchor:middle; text-transform:capitalize;}
.dl-wk-bar.today .dl-wk-day{fill:var(--dl-ink); font-weight:700;}

/* ---------- coffre « Tueur de boss » (4 boss vaincus) ---------- */
.dl-stage[data-skin="slayer"] .coffre-lid, .dl-stage[data-skin="slayer"] .coffre-body{border-color:#0d0d10; box-shadow:0 0 22px rgba(215,38,61,0.55);}
.dl-stage[data-skin="slayer"] .coffre-lid::after, .dl-stage[data-skin="slayer"] .coffre-body::after{opacity:.92; mix-blend-mode:multiply;
  background:repeating-linear-gradient(135deg, #2a2d34 0 10px, #1d1f25 10px 20px), #24272e;}
.dl-stage[data-skin="slayer"] .coffre-band{background:#d7263d; box-shadow:0 0 12px #d7263d;}
.dl-stage[data-skin="slayer"] .coffre-belt, .dl-stage[data-skin="slayer"] .coffre-lock{background:#0d0d10; color:#ff4d5e;}
.dl-skin-prev[data-skin="slayer"] :is(.dl-sp-lid,.dl-sp-body){border-color:#0d0d10; box-shadow:0 0 8px rgba(215,38,61,.6);}
.dl-skin-prev[data-skin="slayer"] :is(.dl-sp-lid,.dl-sp-body)::after{opacity:.92; mix-blend-mode:multiply; background:repeating-linear-gradient(135deg, #2a2d34 0 5px, #1d1f25 5px 10px), #24272e;}
.dl-skin-prev[data-skin="slayer"] .dl-sp-body::before{background:#d7263d; box-shadow:0 0 6px #d7263d;}

/* ---------- filtres d'écran (sodas de Bubily) ---------- */
.dl-flt-prev{height:66px; border-radius:10px; display:flex; align-items:center; justify-content:center; font-size:1.8rem; border:1px solid var(--dl-line); position:relative; overflow:hidden;}
.dl-flt-prev-muet{background:linear-gradient(180deg, #6b5a3e, #2a2216); color:#f1e3c4; filter:sepia(.4);}
.dl-flt-prev-croquis{background:#f3eee2 repeating-linear-gradient(135deg, transparent 0 6px, rgba(0,0,0,0.06) 6px 7px); color:#3a3a3a;}
.dl-flt-prev-retro{background:repeating-linear-gradient(0deg, rgba(0,0,0,.35) 0 1px, transparent 1px 3px), radial-gradient(circle, #1f6b3a, #07160c); color:#7dff9f; text-shadow:2px 0 #ff2b6e, -2px 0 #2bd9ff;}
.dl-flt-prev-noirceur{background:radial-gradient(circle at 50% 55%, #ffb347 0, #6b3a10 22%, #050505 55%); color:#ffd27a;}
.dl-flt-prev-fee{background:radial-gradient(circle at 30% 40%, #ff9de2 0 2px, transparent 3px), radial-gradient(circle at 70% 30%, #9fe2ff 0 2px, transparent 3px), radial-gradient(circle at 55% 70%, #ffd700 0 2px, transparent 3px), linear-gradient(135deg, #2a1240, #120a24); color:#ffc7f0;}
.dl-flt-prev-disco{background:conic-gradient(from 0deg, #ff4d8d, #ffd23f, #4fe08a, #6fd3ff, #b98cff, #ff4d8d); color:#fff; text-shadow:0 0 8px rgba(0,0,0,.6);}
.dl-flt-desc{color:var(--dl-faint); font-size:.75rem; text-align:center; line-height:1.4;}
.dl-filter{position:fixed; inset:0; z-index:9000; pointer-events:none;}
.dl-filter > *{pointer-events:none;}
/* Cinéma muet */
.dl-filter-muet{-webkit-backdrop-filter:sepia(.9) contrast(1.12) brightness(.94); backdrop-filter:sepia(.9) contrast(1.12) brightness(.94);
  background:radial-gradient(ellipse at center, transparent 55%, rgba(30,18,6,0.65) 100%);}
.dl-muet-grain{position:absolute; inset:-50%; opacity:.16; mix-blend-mode:multiply; animation:dl-grain .5s steps(4) infinite;
  background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2'/%3E%3C/filter%3E%3Crect width='160' height='160' filter='url(%23n)'/%3E%3C/svg%3E");}
.dl-muet-scratch{position:absolute; top:0; bottom:0; left:30%; width:1px; background:rgba(255,245,220,0.35); animation:dl-scratch 3.2s steps(1) infinite;}
.dl-muet-scratch::after{content:""; position:absolute; top:0; bottom:0; left:180px; width:2px; background:rgba(40,25,10,0.3);}
.dl-muet-card{position:absolute; left:50%; top:50%; transform:translate(-50%, -50%); min-width:min(420px, 84vw); padding:26px 24px; text-align:center; opacity:0;
  background:#0d0b08; color:#efe6d0; border:3px double #efe6d0; font:italic 600 1.15rem/1.4 Georgia, "Times New Roman", serif; box-shadow:0 0 0 2000px rgba(13,11,8,0.92);}
.dl-muet-card.show{animation:dl-muet-card 1.3s ease forwards;}
@keyframes dl-grain{0%{transform:translate(0, 0);} 25%{transform:translate(-5%, 3%);} 50%{transform:translate(4%, -4%);} 75%{transform:translate(-3%, -2%);} 100%{transform:translate(2%, 5%);}}
@keyframes dl-scratch{0%{left:30%; opacity:1;} 30%{left:72%;} 55%{left:12%; opacity:.4;} 80%{left:55%; opacity:1;}}
@keyframes dl-muet-card{0%{opacity:0;} 12%{opacity:1;} 75%{opacity:1;} 100%{opacity:0;}}
/* Croquis */
.dl-filter-croquis{-webkit-backdrop-filter:grayscale(1) invert(.92) contrast(1.45) sepia(.18); backdrop-filter:grayscale(1) invert(.92) contrast(1.45) sepia(.18);
  background:repeating-linear-gradient(135deg, transparent 0 7px, rgba(60,50,40,0.05) 7px 8px),
             url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='220' height='220'%3E%3Cfilter id='p'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.04' numOctaves='3'/%3E%3CfeColorMatrix values='0 0 0 0 .95 0 0 0 0 .92 0 0 0 0 .85 0 0 0 .35 0'/%3E%3C/filter%3E%3Crect width='220' height='220' filter='url(%23p)'/%3E%3C/svg%3E");
  mix-blend-mode:multiply;}
/* Rétro (vieux téléviseur) */
.dl-filter-retro{-webkit-backdrop-filter:saturate(1.45) contrast(1.15); backdrop-filter:saturate(1.45) contrast(1.15);
  background:repeating-linear-gradient(0deg, rgba(0,0,0,0.22) 0 1px, transparent 1px 3px), radial-gradient(ellipse at center, transparent 60%, rgba(0,0,0,0.55) 100%);}
.dl-retro-roll{position:absolute; left:0; right:0; height:80px; background:linear-gradient(180deg, transparent, rgba(255,255,255,0.05), transparent); animation:dl-roll 6s linear infinite;}
@keyframes dl-roll{from{top:-80px;} to{top:100%;}}
/* Noirceur : une torche suit la souris ou le doigt */
.dl-torch-glow{position:absolute; inset:0; animation:dl-torch 1.3s ease-in-out infinite;}
@keyframes dl-torch{0%,100%{opacity:1;} 30%{opacity:.6;} 55%{opacity:.95;} 75%{opacity:.7;}}
/* Traînée de fée */
.dl-filter-fee canvas{position:absolute; inset:0;}
/* Disco */
.dl-filter-disco{-webkit-backdrop-filter:saturate(1.3); backdrop-filter:saturate(1.3);}
.dl-disco-spot{position:absolute; width:46vmax; height:46vmax; border-radius:50%; mix-blend-mode:screen; opacity:.22; filter:blur(30px);}
.dl-disco-spot.s1{background:#ff4d8d; animation:dl-spot1 9s ease-in-out infinite alternate;}
.dl-disco-spot.s2{background:#4fe08a; animation:dl-spot2 11s ease-in-out infinite alternate;}
.dl-disco-spot.s3{background:#6fd3ff; animation:dl-spot3 10s ease-in-out infinite alternate;}
.dl-disco-spot.s4{background:#ffd23f; animation:dl-spot4 12s ease-in-out infinite alternate;}
.dl-disco-ball{position:absolute; top:-6px; left:50%; width:44px; height:44px; margin-left:-22px; border-radius:50%; opacity:.85;
  background:repeating-conic-gradient(#e8eef5 0 15deg, #8a96a8 15deg 30deg); box-shadow:0 0 18px rgba(255,255,255,0.6); animation:dl-ball 4s linear infinite;}
@keyframes dl-spot1{from{transform:translate(-20vw, -10vh);} to{transform:translate(50vw, 40vh);}}
@keyframes dl-spot2{from{transform:translate(70vw, -20vh);} to{transform:translate(0, 50vh);}}
@keyframes dl-spot3{from{transform:translate(30vw, 60vh);} to{transform:translate(60vw, -10vh);}}
@keyframes dl-spot4{from{transform:translate(-10vw, 50vh);} to{transform:translate(40vw, 0);}}
@keyframes dl-ball{to{transform:rotate(360deg);}}
html.dle-reduce .dl-disco-spot{opacity:.12;}
.dl-shop[data-cat="filters"] > [data-shopcat="filters"]{display:block; animation:dle-sub-in .22s ease;}
.dl-quest-info .dl-level-track{flex:none; height:8px; min-height:0;}

/* =================================================================
   v2.2.0a — boss : semaine d'alerte ; 4 filtres de plus
   ================================================================= */
.dl-boss.warn{background:linear-gradient(110deg, rgba(255,170,40,0.12), var(--dl-panel) 65%); border-color:#6b5020; border-style:dashed;}
.dl-boss.warn.ready{border-style:solid;}
.dl-boss-icon.warn > :is(i,svg):first-child{opacity:.35; filter:blur(1.5px) drop-shadow(0 0 10px var(--bc)); animation:dl-boss-lurk 3s ease-in-out infinite;}
.dl-boss-alert{position:absolute; top:-6px; right:-6px; font-size:.95rem; color:#ffb020; filter:drop-shadow(0 0 4px rgba(0,0,0,.8)); animation:dl-sr-flick 1.2s ease-in-out infinite;}
.dl-boss-msg{font-size:.82rem; color:var(--dl-soft); line-height:1.45;}
.dl-boss.mini.warn .dl-boss-name{flex:1; max-width:none;}
@keyframes dl-boss-lurk{0%,100%{transform:translateX(-4px) scale(.95);} 50%{transform:translateX(4px) scale(1.02);}}
/* aperçus boutique */
.dl-flt-prev-eau{background:radial-gradient(circle at 30% 70%, rgba(255,255,255,.5) 0 3px, transparent 4px), radial-gradient(circle at 65% 40%, rgba(255,255,255,.45) 0 2px, transparent 3px), linear-gradient(180deg, #1f7fb0, #0a2f5a); color:#bfeaff;}
.dl-flt-prev-neige{background:radial-gradient(circle at 20% 30%, #fff 0 2px, transparent 3px), radial-gradient(circle at 70% 60%, #fff 0 2px, transparent 3px), radial-gradient(circle at 45% 80%, #fff 0 1.5px, transparent 2.5px), linear-gradient(180deg, #5d7590, #1e2b3a); color:#eaf6ff;}
.dl-flt-prev-nuit{background:radial-gradient(circle at 34% 50%, #3cff6a 0, #0b3a14 35%, transparent 36%), radial-gradient(circle at 66% 50%, #3cff6a 0, #0b3a14 35%, transparent 36%), #020602; color:#b8ffc8;}
.dl-flt-prev-bd{background:radial-gradient(circle, rgba(0,0,0,.25) 1px, transparent 1.6px) 0 0/6px 6px, #ffd23f; color:#d7263d; text-shadow:2px 2px 0 #1a1210;}
/* Sous l'eau */
.dl-filter-eau{-webkit-backdrop-filter:hue-rotate(-12deg) saturate(1.25) brightness(.95); backdrop-filter:hue-rotate(-12deg) saturate(1.25) brightness(.95);
  background:linear-gradient(180deg, rgba(20,120,190,0.18), rgba(5,40,90,0.34));}
.dl-eau-caustic{position:absolute; inset:-20%; opacity:.12; mix-blend-mode:screen; animation:dl-caustic 9s ease-in-out infinite alternate;
  background:radial-gradient(ellipse 60px 24px at 20% 30%, #bff 40%, transparent 70%), radial-gradient(ellipse 80px 30px at 70% 20%, #bff 40%, transparent 70%),
             radial-gradient(ellipse 70px 26px at 45% 70%, #bff 40%, transparent 70%), radial-gradient(ellipse 90px 30px at 85% 80%, #bff 40%, transparent 70%);
  background-size:340px 260px;}
.dl-eau-caustic.c2{animation-duration:13s; animation-direction:alternate-reverse; background-size:420px 300px; opacity:.09;}
.dl-bubble{position:absolute; bottom:-20px; border-radius:50%; border:1px solid rgba(220,250,255,.7); background:radial-gradient(circle at 35% 35%, rgba(255,255,255,.7), rgba(180,240,255,.1) 60%);
  animation:dl-bubble linear infinite;}
@keyframes dl-caustic{from{transform:translate(0, 0) rotate(0);} to{transform:translate(4%, 3%) rotate(3deg);}}
@keyframes dl-bubble{0%{transform:translate(0, 0); opacity:0;} 10%{opacity:.9;} 50%{transform:translate(12px, -55vh);} 100%{transform:translate(-8px, -110vh); opacity:0;}}
/* Tempête de neige */
.dl-filter-neige{-webkit-backdrop-filter:saturate(.75) brightness(1.04) hue-rotate(8deg); backdrop-filter:saturate(.75) brightness(1.04) hue-rotate(8deg); background:rgba(200,225,255,0.06);}
.dl-neige-frost{position:absolute; inset:0; background:radial-gradient(ellipse at center, transparent 62%, rgba(225,240,255,0.35) 100%);}
.dl-flake{position:absolute; top:-12px; border-radius:50%; background:#fff; opacity:.85; box-shadow:0 0 4px rgba(255,255,255,.8); animation:dl-snow linear infinite;}
@keyframes dl-snow{0%{transform:translate(0, 0);} 50%{transform:translate(28px, 55vh);} 100%{transform:translate(-14px, 110vh);}}
/* Vision nocturne */
.dl-filter-nuit{-webkit-backdrop-filter:grayscale(1) brightness(1.3) contrast(1.2) sepia(1) hue-rotate(65deg) saturate(2.6); backdrop-filter:grayscale(1) brightness(1.3) contrast(1.2) sepia(1) hue-rotate(65deg) saturate(2.6);}
.dl-nuit-noise{position:absolute; inset:-50%; opacity:.14; animation:dl-grain .35s steps(3) infinite;
  background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='140' height='140'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='1.2' numOctaves='1'/%3E%3C/filter%3E%3Crect width='140' height='140' filter='url(%23n)'/%3E%3C/svg%3E");}
.dl-nuit-lens{position:absolute; inset:0; background:radial-gradient(ellipse 72% 85% at center, transparent 60%, rgba(0,0,0,0.85) 78%, #000 100%);}
/* Bande dessinée */
.dl-filter-bd{-webkit-backdrop-filter:contrast(1.35) saturate(1.7); backdrop-filter:contrast(1.35) saturate(1.7);}
.dl-filter-bd::before{content:""; position:absolute; inset:0; background:radial-gradient(circle, rgba(0,0,0,0.16) 1px, transparent 1.7px) 0 0/7px 7px; mix-blend-mode:multiply;}
.dl-bd-word{position:fixed; transform:translate(-50%, -50%) rotate(var(--rot, 0deg)); font:900 2.2rem/1 "Impact", "Arial Black", sans-serif; color:var(--bdc, #ffd23f);
  -webkit-text-stroke:2px #1a1210; text-shadow:4px 4px 0 #1a1210; letter-spacing:.02em; animation:dl-bd-pop .9s ease-out forwards; mix-blend-mode:normal;}
@keyframes dl-bd-pop{0%{opacity:0; transform:translate(-50%, -50%) rotate(var(--rot)) scale(.3);} 20%{opacity:1; transform:translate(-50%, -50%) rotate(var(--rot)) scale(1.15);} 70%{opacity:1;} 100%{opacity:0; transform:translate(-50%, -70%) rotate(var(--rot)) scale(1);}}

/* =================================================================
   v2.2.0b — badges compacts sous le coffre, menu de triche réorganisé
   ================================================================= */
.dl-res-mini{display:inline-flex; align-items:center; gap:5px; padding:3px 9px !important; font-size:.74rem !important; line-height:1.3; white-space:nowrap;}
.dl-res-mini .dl-new{font-size:.6rem; padding:0 5px;}
.dl-res-chips{gap:5px !important;}
.dl-res-goldn{color:#ffd700; border-color:#7a5a10 !important;}
.dl-res-goldn :is(i,svg){color:#ffd700 !important;}
.dl-res-level{color:#d6c2ff;}
.dl-cheats-box{width:min(500px, 100%) !important; display:flex; flex-direction:column;}
.dl-cheat-tabs{display:flex; gap:4px; padding:4px; margin:4px 0 6px; background:#0e1013; border:1px solid var(--dl-line); border-radius:12px; overflow-x:auto; scrollbar-width:none; flex:0 0 auto;}
.dl-cheat-tabs::-webkit-scrollbar{display:none;}
.dl-cheat-tabs button{flex:1 0 auto; display:inline-flex; align-items:center; justify-content:center; gap:6px; padding:7px 10px; border:none; border-radius:9px; background:none;
  color:var(--dl-soft); font:600 .78rem "Inter", sans-serif; cursor:pointer;}
.dl-cheat-tabs button[aria-selected="true"]{background:#D7263D2a; color:#ff8b98; box-shadow:0 0 0 1px #D7263D66;}
.dl-cheat-body{overflow-y:auto; min-height:0;}
.dl-cheat-body .dl-cheat-row:first-child{border-top:none;}
.dl-cheat-row > span:first-child{flex:1 1 140px; min-width:0;}
.dl-cheat-btns{align-items:center;}
.dl-cheat-btns .dl-select{max-width:150px; padding:6px 8px;}
@media (max-width:480px){
  .dl-cheat-row{flex-wrap:wrap; gap:8px;}
  .dl-cheat-row > span:first-child{flex-basis:100%;}
  .dl-cheat-btns{justify-content:flex-start;}
  .dl-cheat-tabs button span{display:none;}
}

/* =================================================================
   v2.3.0 — passe de saison, boss élémentaires, chasse au trésor
   ================================================================= */
/* ---------- boss : élément, trait, voile ---------- */
.dl-boss-el{position:absolute; right:-6px; bottom:-6px; width:22px; height:22px; border-radius:50%; display:flex; align-items:center; justify-content:center;
  font-size:.66rem; color:var(--bc); background:#0e1013; border:1px solid color-mix(in oklab, var(--bc) 60%, transparent); box-shadow:0 0 8px color-mix(in oklab, var(--bc) 40%, transparent);}
.dl-boss.mini .dl-boss-el{width:15px; height:15px; font-size:.46rem; right:-4px; bottom:-4px;}
.dl-boss-trait{font-size:.76rem; color:var(--dl-soft); line-height:1.4;}
.dl-boss-trait :is(i,svg){color:var(--bc); margin-right:2px;}
.dl-boss-season{color:var(--ec); font-weight:700;}
.dl-boss-season :is(i,svg){color:var(--ec) !important;}
.dl-boss-bar.veiled .dl-boss-fill{background:repeating-linear-gradient(115deg, #2c2450 0 10px, #42357a 10px 20px); background-size:200% 100%; animation:dl-veil 2.4s linear infinite; opacity:.9;}
@keyframes dl-veil{from{background-position:0 0;} to{background-position:-45px 0;}}
.dl-sr-rew .dl-se-scale :is(i,svg), .dl-se-scale :is(i,svg){color:#c9a6ff;}

/* ---------- barre de saison (page d'ouverture) ---------- */
.dl-season{margin-bottom:12px;}
.dl-season[hidden]{display:none !important;}
.dl-se-bar{width:100%; display:flex; align-items:center; gap:10px; padding:6px 12px 6px 8px; border-radius:16px; cursor:pointer; text-align:left; font:inherit; color:var(--dl-ink);
  border:1px solid color-mix(in oklab, var(--ec) 35%, var(--dl-line)); background:linear-gradient(110deg, color-mix(in oklab, var(--ec) 14%, #15181d), var(--dl-panel) 65%);
  transition:border-color .2s ease, transform .12s ease;}
.dl-se-bar:hover, .dl-se-bar:focus-visible{border-color:var(--ec); outline:none;}
.dl-se-bar:active{transform:scale(.99);}
.dl-season.ready .dl-se-bar{border-color:#8a5a14; box-shadow:0 0 0 1px rgba(244,185,66,0.15), 0 6px 20px rgba(244,185,66,0.1);}
.dl-se-emb{flex:0 0 auto; width:32px; height:32px; border-radius:50%; display:flex; align-items:center; justify-content:center; font-size:.95rem; color:var(--ec);
  background:radial-gradient(circle at 50% 40%, color-mix(in oklab, var(--ec) 30%, #121418), #0e1013); border:1px solid color-mix(in oklab, var(--ec) 55%, transparent);
  box-shadow:0 0 12px color-mix(in oklab, var(--ec) 30%, transparent);}
.dl-se-emb.big{width:66px; height:66px; font-size:1.9rem; animation:dl-se-breathe 3.2s ease-in-out infinite;}
@keyframes dl-se-breathe{0%,100%{box-shadow:0 0 14px color-mix(in oklab, var(--ec) 30%, transparent);} 50%{box-shadow:0 0 28px color-mix(in oklab, var(--ec) 55%, transparent);}}
.dl-se-txt{display:flex; flex-direction:column; min-width:0; flex:0 1 auto;}
.dl-se-txt b{font-size:.84rem; white-space:nowrap; overflow:hidden; text-overflow:ellipsis;}
.dl-se-txt small{color:var(--dl-soft); font-size:.72rem; white-space:nowrap; overflow:hidden; text-overflow:ellipsis;}
.dl-se-track{flex:1 1 40px; min-width:40px; height:8px; border-radius:999px; background:#0e1013; border:1px solid var(--dl-line); overflow:hidden;}
.dl-se-track span{display:block; height:100%; border-radius:999px; background:linear-gradient(90deg, color-mix(in oklab, var(--ec) 55%, #000), var(--ec)); transition:width .6s ease;}
.dl-se-go{color:var(--dl-faint); font-size:.8rem;}
.dl-se-gift{flex:0 0 auto; display:inline-flex; align-items:center; gap:5px; padding:3px 10px; border-radius:999px; background:var(--dl-gold); color:#2A1F0B; font:700 .74rem "Inter", sans-serif;
  animation:dl-claim-glow 1.6s ease-in-out infinite;}

/* ---------- onglet Saison ---------- */
.dl-se-head{display:flex; gap:14px; align-items:center; padding:14px; border-radius:18px; margin-bottom:12px;
  border:1px solid color-mix(in oklab, var(--ec) 40%, var(--dl-line)); background:radial-gradient(130% 150% at 0% 0%, color-mix(in oklab, var(--ec) 22%, #15181d), var(--dl-panel) 62%);}
.dl-se-info{flex:1; min-width:0; display:flex; flex-direction:column; gap:4px;}
.dl-se-info > small:first-child{font-size:.68rem; letter-spacing:.08em; text-transform:uppercase; color:var(--dl-soft);}
.dl-se-info > b{font-size:1.3rem; color:var(--ec); line-height:1.15;}
.dl-se-info > span{font-size:.82rem;}
.dl-se-info > span :is(i,svg){color:var(--dl-faint);}
.dl-se-info .dl-level-fill{background:linear-gradient(90deg, color-mix(in oklab, var(--ec) 55%, #000), var(--ec));}
.dl-se-info > small:last-child{color:var(--dl-soft); font-size:.76rem;}
.dl-se-info > small:last-child :is(i,svg){color:#c9a6ff;}
.dl-se-seal{display:flex; align-items:center; gap:12px; flex-wrap:wrap; padding:12px 14px; border-radius:16px; margin-bottom:12px;
  border:1px dashed #6b5020; background:linear-gradient(120deg, rgba(244,185,66,0.10), var(--dl-panel) 55%);}
.dl-se-seal.on{border-style:solid; border-color:#8a6a2a;}
.dl-se-seal-icon{flex:0 0 auto; width:46px; height:46px; border-radius:50%; display:flex; align-items:center; justify-content:center; font-size:1.2rem; color:#ffe08a;
  background:radial-gradient(circle at 38% 32%, #e8576a, #a0202c 55%, #6b0f18); box-shadow:inset 0 -3px 0 rgba(0,0,0,.28), 0 0 0 3px rgba(160,32,44,.25), 0 4px 10px rgba(0,0,0,.4);}
.dl-se-seal.on .dl-se-seal-icon{animation:dl-se-breathe 3s ease-in-out infinite; --ec:#ffd23f;}
.dl-se-seal-info{flex:1 1 220px; min-width:0; display:flex; flex-direction:column; gap:3px;}
.dl-se-seal-info small{color:var(--dl-soft); font-size:.78rem; line-height:1.45;}
.dl-se-actions{display:flex; justify-content:flex-end; margin-bottom:6px;}
.dl-se-track-wrap{overflow-x:auto; overflow-y:hidden; padding:8px 4px 14px; margin:0 -4px 12px; scroll-snap-type:x proximity; -webkit-overflow-scrolling:touch; scrollbar-width:thin; scrollbar-color:#3a3f47 transparent;}
.dl-se-tiers{display:flex; gap:10px; width:max-content; align-items:stretch;}
.dl-se-tier{scroll-snap-align:start; position:relative; width:112px; flex:0 0 auto; display:flex; flex-direction:column; align-items:center; gap:7px; padding:10px 8px; min-height:178px;
  border-radius:14px; background:var(--dl-panel); border:1px solid var(--dl-line); text-align:center; transition:transform .15s ease;}
.dl-se-tier.big{width:142px;}
.dl-se-num{display:inline-flex; align-items:center; gap:4px; font:800 .76rem "Inter", sans-serif; color:var(--dl-soft); background:#121418; border:1px solid var(--dl-line); border-radius:999px; padding:1px 10px;}
.dl-se-num :is(i,svg){font-size:.62rem; color:#c98a3a;}
.dl-se-ic{width:48px; height:48px; border-radius:12px; display:flex; align-items:center; justify-content:center; font-size:1.35rem; background:#121418; border:1px solid var(--dl-line); color:var(--dl-gold);}
.dl-se-ic-gold{color:#ffd23f;} .dl-se-ic-elx{color:#c9a6ff;} .dl-se-ic-key{color:var(--dl-gold);}
.dl-se-cos{width:100%; height:70px; display:flex; align-items:center; justify-content:center;}
.dl-se-cos .dl-skin-prev{transform:scale(1.05);}
.dl-se-cos .dl-bg-prev{height:66px;}
.dl-se-cos .dl-flt-prev{width:100%; height:62px; font-size:1.6rem;}
.dl-se-titleprev{width:100%; display:flex; flex-direction:column; align-items:center; gap:4px; padding:8px 6px; border-radius:10px; font:700 .74rem/1.25 "Inter", sans-serif; color:var(--ec);
  background:linear-gradient(135deg, color-mix(in oklab, var(--ec) 24%, #121418), #121418); border:1px solid color-mix(in oklab, var(--ec) 45%, transparent);}
.dl-se-titleprev :is(i,svg){font-size:1.2rem;}
.dl-se-lbl{flex:1; display:flex; flex-direction:column; justify-content:center; gap:2px; font-size:.72rem; line-height:1.3; color:var(--dl-ink);}
.dl-se-lbl > span{display:inline-flex; align-items:center; justify-content:center; gap:4px;}
.dl-se-lbl :is(i,svg){color:var(--dl-gold); font-size:.68rem; flex:0 0 auto;}
.dl-se-state{font-size:1rem; color:var(--dl-faint); height:30px; display:flex; align-items:center;}
.dl-se-tier .dl-btn{padding:6px 16px; min-height:30px;}
.dl-se-tier.ready{border-color:var(--ec); transform:translateY(-2px);
  background:linear-gradient(180deg, color-mix(in oklab, var(--ec) 18%, #15181d), var(--dl-panel) 70%); box-shadow:0 6px 18px color-mix(in oklab, var(--ec) 22%, transparent);}
.dl-se-tier.ready .dl-se-num{background:var(--ec); color:#14110c; border-color:var(--ec);}
.dl-se-tier.ready .dl-se-num :is(i,svg){color:#14110c;}
.dl-se-tier.got{opacity:.6;}
.dl-se-tier.got .dl-se-num{background:#1d3a24; border-color:#2f6b3a; color:#9be8a8;}
.dl-se-tier.got .dl-se-state{color:#7be38c;}
.dl-se-tier.next{border-color:color-mix(in oklab, var(--ec) 55%, var(--dl-line)); border-style:dashed;}
.dl-se-tier.sealed{border-style:dashed; border-color:#5a4418; background:repeating-linear-gradient(135deg, rgba(244,185,66,0.05) 0 8px, transparent 8px 16px), var(--dl-panel);}
.dl-se-tier.sealed .dl-se-state{color:#c98a3a;}
.dl-se-tier.first-seal{margin-left:10px;}
.dl-se-tier.first-seal::before{content:""; position:absolute; left:-11px; top:8%; bottom:8%; border-left:2px dashed #8a6a2a;}
.dl-se-tier.bonus{width:130px; border-color:#4a3a1a;}
.dl-se-src{display:grid; grid-template-columns:repeat(auto-fill, minmax(240px, 1fr)); gap:8px; margin-bottom:14px;}
.dl-se-src > div{display:flex; align-items:center; gap:10px; padding:8px 12px; border-radius:12px; background:var(--dl-panel); border:1px solid var(--dl-line); font-size:.82rem;}
.dl-se-src > div > :is(i,svg){color:var(--dl-gold); width:18px; flex:0 0 auto;}
.dl-se-src span{flex:1; min-width:0;}
.dl-se-src b{color:#c9a6ff; font-family:"Inter", sans-serif; white-space:nowrap;}
.dl-se-next{display:grid; grid-template-columns:repeat(auto-fill, minmax(180px, 1fr)); gap:8px; margin-bottom:6px;}
.dl-se-next > div{display:flex; align-items:center; gap:10px; padding:8px 12px; border-radius:12px; background:var(--dl-panel); border:1px solid color-mix(in oklab, var(--ec) 28%, var(--dl-line));}
.dl-se-next span{display:flex; flex-direction:column; min-width:0;}
.dl-se-next b{font-size:.84rem;} .dl-se-next small{color:var(--dl-soft); font-size:.74rem;}
.dl-locked-se{color:var(--ec);}
.dl-locked-se :is(i,svg){color:var(--ec);}

/* ---------- chasse au trésor ---------- */
.dl-hunt-kobold{display:flex; align-items:center; gap:12px; flex-wrap:wrap; padding:12px 14px; border-radius:16px; border:1px dashed #5a4418; background:var(--dl-panel); margin-bottom:12px;}
.dl-hunt-kobold > div{flex:1 1 200px; min-width:0; display:flex; flex-direction:column; gap:3px;}
.dl-hunt-kobold small{color:var(--dl-soft); font-size:.8rem; line-height:1.45;}
.dl-hunt-kobold .dl-room-icon{color:var(--dl-gold); border-color:#5a4418;}
.dl-hunt-pieces{display:flex; align-items:center; gap:14px; padding:12px 14px; border-radius:16px; background:var(--dl-panel); border:1px solid var(--dl-line); margin-bottom:12px;}
.dl-hunt-pieces.ready{border-color:#8a5a14; background:linear-gradient(120deg, rgba(244,185,66,0.12), var(--dl-panel) 60%); box-shadow:0 0 0 1px rgba(244,185,66,0.15);}
.dl-hunt-puzzle{flex:0 0 auto; display:grid; grid-template-columns:repeat(3, 18px); gap:2px; padding:4px; border-radius:6px; background:#121418; border:1px solid var(--dl-line); transform:rotate(-3deg);}
.dl-hunt-piece{width:18px; height:18px; border-radius:3px; background:#1c2026; border:1px dashed #3a3f47;}
.dl-hunt-piece.on{background:linear-gradient(135deg, #f0e2bd, #c9a86a); border:1px solid #8b5a2b; box-shadow:inset 0 0 4px rgba(110,60,20,.35);}
.dl-hunt-pinfo{flex:1; min-width:0; display:flex; flex-direction:column; align-items:flex-start; gap:4px;}
.dl-hunt-pinfo small{color:var(--dl-soft); font-size:.78rem;}
.dl-hunt-pinfo .dl-btn{margin-top:4px;}
.dl-hunt-map{display:flex; flex-wrap:wrap; gap:16px; align-items:center; margin-bottom:12px;}
.dl-hunt-paper{position:relative; flex:0 0 auto; width:min(100%, 300px); aspect-ratio:1 / 1; padding:24px 22px 20px; border-radius:8px 14px 10px 16px; transform:rotate(-.8deg);
  background:radial-gradient(circle at 18% 14%, rgba(255,255,255,.35), transparent 38%), radial-gradient(circle at 86% 90%, rgba(120,70,20,.35), transparent 45%),
    radial-gradient(circle at 92% 8%, rgba(120,70,20,.25), transparent 22%), linear-gradient(135deg, #efe0b6, #dcc28b 60%, #c9a86c);
  box-shadow:inset 0 0 0 2px rgba(110,70,25,.35), inset 0 0 34px rgba(110,60,20,.5), 0 10px 26px rgba(0,0,0,.5);}
.dl-hunt-paper::before{content:""; position:absolute; inset:10px; border:1.5px dashed rgba(110,70,25,.35); border-radius:6px; pointer-events:none;}
.dl-hunt-rose{position:absolute; right:8px; top:4px; color:rgba(90,50,20,.5); font-size:1.3rem;}
.dl-hunt-grid{position:relative; display:grid; grid-template-columns:repeat(3, 1fr); grid-template-rows:repeat(3, 1fr); gap:8px; width:100%; height:100%;}
.dl-hunt-cell{border-radius:10px; border:2px dashed rgba(110,70,25,.45); background:rgba(255,248,225,.22); color:rgba(90,55,20,.55); display:flex; flex-direction:column; align-items:center; justify-content:center;
  gap:3px; font-size:1.25rem; padding:0; font-family:inherit; transition:transform .12s ease, background .2s ease;}
button.dl-hunt-cell{cursor:pointer;}
button.dl-hunt-cell:hover{background:rgba(255,248,225,.5); transform:translateY(-2px); color:rgba(90,55,20,.85);}
button.dl-hunt-cell:focus-visible{outline:3px solid #8b5a2b; outline-offset:1px;}
.dl-hunt-cell small{font:800 .6rem "Inter", sans-serif; text-transform:uppercase; letter-spacing:.04em;}
.dl-hunt-cell.dug{border-style:solid; border-color:rgba(110,70,25,.35); background:radial-gradient(circle, rgba(60,35,12,.5) 0 34%, rgba(110,70,25,.22) 36%, transparent 72%);}
.dl-hunt-cell.dug.hot{color:#c0182c;} .dl-hunt-cell.dug.warm{color:#d0600a;} .dl-hunt-cell.dug.mild{color:#9a6e00;} .dl-hunt-cell.dug.cold{color:#1f6fa0;}
.dl-hunt-cell.dug :is(i,svg){filter:drop-shadow(0 1px 0 rgba(255,240,200,.6));}
.dl-hunt-cell.found{border:2px solid #ffd23f; color:#7a4a00; font-size:1.9rem; background:radial-gradient(circle, rgba(255,215,0,.7), rgba(255,215,0,.12) 72%); box-shadow:0 0 18px rgba(255,215,0,.55);
  animation:dl-hunt-found 1s ease-out;}
.dl-hunt-cell.rest{opacity:.35; font-size:.9rem;}
.dl-hunt-cell.just{animation:dl-hunt-dig .45s ease;}
.dl-hunt-cell.found.just{animation:dl-hunt-found 1s ease-out;}
.dl-hunt-cell.peek{box-shadow:inset 0 0 0 3px #ff4dd2;}
@keyframes dl-hunt-dig{0%{transform:scale(1);} 30%{transform:scale(.84) rotate(-4deg);} 60%{transform:scale(1.06) rotate(2deg);} 100%{transform:none;}}
@keyframes dl-hunt-found{0%{transform:scale(.5); filter:brightness(2);} 60%{transform:scale(1.14);} 100%{transform:none; filter:none;}}
.dl-hunt-map.done .dl-hunt-paper{filter:saturate(.9);}
.dl-hunt-info, .dl-hunt-done{flex:1 1 220px; min-width:0; display:flex; flex-direction:column; gap:8px; font-size:.84rem;}
.dl-hunt-cost{font-weight:700; color:var(--dl-gold);}
.dl-hunt-cost :is(i,svg){margin-right:3px;}
.dl-hunt-now{display:flex; flex-wrap:wrap; align-items:center; gap:6px;}
.dl-hunt-info small{color:var(--dl-faint); line-height:1.45;}
.dl-hunt-done{flex-direction:row; align-items:center; gap:12px;}
.dl-hunt-done > :is(i,svg){font-size:2.2rem; color:#ffd23f; filter:drop-shadow(0 0 10px rgba(255,215,0,.45)); flex:0 0 auto;}
.dl-hunt-done > span{display:flex; flex-direction:column; gap:5px;}
.dl-hunt-done small:last-child{color:var(--dl-soft);}
.dl-hunt-stats{display:flex; flex-wrap:wrap; gap:8px 18px; font-size:.78rem; color:var(--dl-soft); margin-top:4px;}
.dl-hunt-stats :is(i,svg){color:var(--dl-gold); margin-right:3px;}
@media (max-width:600px){
  .dl-hunt-paper{width:100%; max-width:320px; margin:0 auto;}
  .dl-se-head{padding:12px; gap:12px;}
  .dl-se-emb.big{width:54px; height:54px; font-size:1.5rem;}
  .dl-se-info > b{font-size:1.12rem;}
  .dl-se-tier{width:104px;}
  .dl-se-tier.big{width:128px;}
}

/* ---------- apparences de saison (palier 30) ---------- */
/* Phénix : plumes de feu, bande d'or qui rougeoie */
.dl-stage[data-skin="s_fire"] :is(.coffre-lid,.coffre-body){border-color:#3a0808; box-shadow:0 0 26px rgba(255,90,20,0.55), 0 0 50px rgba(255,180,40,0.18);}
.dl-stage[data-skin="s_fire"] :is(.coffre-lid,.coffre-body)::after,
.dl-skin-prev[data-skin="s_fire"] :is(.dl-sp-lid,.dl-sp-body)::after{opacity:.85; mix-blend-mode:hard-light; animation:dl-sk-ember 2.2s ease-in-out infinite;
  background:radial-gradient(60% 50% at 50% 110%, #ffd23f 0, transparent 70%),
    repeating-radial-gradient(ellipse 18px 26px at 50% 120%, transparent 0 9px, rgba(255,210,63,.55) 10px 11px, transparent 12px 18px),
    linear-gradient(170deg, #b8200e, #6a0b08 55%, #2a0505);}
@keyframes dl-sk-ember{0%,100%{filter:brightness(.95) saturate(1);} 50%{filter:brightness(1.25) saturate(1.2);}}
.dl-stage[data-skin="s_fire"] .coffre-band{background:linear-gradient(180deg, #fff1a8, #ffb020 45%, #ff5a14); box-shadow:0 0 16px #ff8a1f;}
.dl-stage[data-skin="s_fire"] :is(.coffre-belt,.coffre-lock){background:#2a0505; color:#ffc04a;}
.dl-skin-prev[data-skin="s_fire"] :is(.dl-sp-lid,.dl-sp-body){border-color:#3a0808; box-shadow:0 0 9px rgba(255,90,20,0.7);}
.dl-skin-prev[data-skin="s_fire"] .dl-sp-body::before{background:linear-gradient(180deg,#fff1a8,#ff8a1f); box-shadow:0 0 6px #ff8a1f;}
/* Abyssal : profondeurs bleu nuit, reflets d'eau qui dansent */
.dl-stage[data-skin="s_water"] :is(.coffre-lid,.coffre-body){border-color:#04202e; box-shadow:0 0 24px rgba(40,190,255,0.45);}
.dl-stage[data-skin="s_water"] :is(.coffre-lid,.coffre-body)::after,
.dl-skin-prev[data-skin="s_water"] :is(.dl-sp-lid,.dl-sp-body)::after{opacity:.85; mix-blend-mode:hard-light; background-size:140% 140%, 140% 140%, 100% 100%; animation:dl-sk-caustic 6s ease-in-out infinite;
  background:radial-gradient(30% 22% at 30% 30%, rgba(140,240,255,.55), transparent 70%), radial-gradient(26% 20% at 72% 62%, rgba(140,240,255,.45), transparent 70%),
    linear-gradient(180deg, #0c5a7a, #062c45 55%, #031624);}
@keyframes dl-sk-caustic{0%,100%{background-position:0% 0%, 100% 100%, 0 0;} 50%{background-position:100% 60%, 0% 30%, 0 0;}}
.dl-stage[data-skin="s_water"] .coffre-band{background:linear-gradient(180deg, #c8fbff, #39d0ff); box-shadow:0 0 14px #39d0ff;}
.dl-stage[data-skin="s_water"] :is(.coffre-belt,.coffre-lock){background:#031624; color:#7fe6ff;}
.dl-skin-prev[data-skin="s_water"] :is(.dl-sp-lid,.dl-sp-body){border-color:#04202e; box-shadow:0 0 8px rgba(40,190,255,0.6);}
.dl-skin-prev[data-skin="s_water"] .dl-sp-body::before{background:#39d0ff; box-shadow:0 0 6px #39d0ff;}
/* Zéphyr : nacre pâle, volutes de vent */
.dl-stage[data-skin="s_air"] :is(.coffre-lid,.coffre-body){border-color:#6f97b2; box-shadow:0 0 22px rgba(200,240,255,0.45);}
.dl-stage[data-skin="s_air"] :is(.coffre-lid,.coffre-body)::after,
.dl-skin-prev[data-skin="s_air"] :is(.dl-sp-lid,.dl-sp-body)::after{opacity:.8; mix-blend-mode:screen; background-size:200% 100%, 100% 100%; animation:dl-sk-wind 5s linear infinite;
  background:repeating-linear-gradient(100deg, transparent 0 14px, rgba(255,255,255,.55) 15px 16px, transparent 17px 30px),
    linear-gradient(180deg, #e6f6ff, #a9d8f2 60%, #7fb6d6);}
@keyframes dl-sk-wind{from{background-position:0 0, 0 0;} to{background-position:-120px 0, 0 0;}}
.dl-stage[data-skin="s_air"] .coffre-band{background:linear-gradient(180deg, #ffffff, #cfeaff); box-shadow:0 0 12px #e6f6ff;}
.dl-stage[data-skin="s_air"] :is(.coffre-belt,.coffre-lock){background:#5b86a3; color:#ffffff;}
.dl-skin-prev[data-skin="s_air"] :is(.dl-sp-lid,.dl-sp-body){border-color:#6f97b2; box-shadow:0 0 8px rgba(200,240,255,0.6);}
.dl-skin-prev[data-skin="s_air"] .dl-sp-body::before{background:#ffffff;}
/* Géode : pierre brute, cœur d'améthyste */
.dl-stage[data-skin="s_earth"] :is(.coffre-lid,.coffre-body){border-color:#2a2420; box-shadow:0 0 20px rgba(185,140,255,0.35);}
.dl-stage[data-skin="s_earth"] :is(.coffre-lid,.coffre-body)::after,
.dl-skin-prev[data-skin="s_earth"] :is(.dl-sp-lid,.dl-sp-body)::after{opacity:.9; mix-blend-mode:hard-light;
  background:radial-gradient(1.6px 1.6px at 20% 30%, #2a2420 60%, transparent), radial-gradient(2px 2px at 70% 22%, #2a2420 60%, transparent),
    radial-gradient(1.6px 1.6px at 40% 72%, #2a2420 60%, transparent), radial-gradient(2px 2px at 84% 70%, #2a2420 60%, transparent),
    conic-gradient(from 20deg at 50% 100%, #8a7a6a, #6b5d50, #9a8a78, #5d5046, #8a7a6a);}
.dl-stage[data-skin="s_earth"] .coffre-band{background:conic-gradient(from 0deg at 50% 50%, #e6d2ff, #8a4fd8, #c9a6ff, #5b2aa0, #e6d2ff); box-shadow:0 0 14px #b98cff;}
.dl-stage[data-skin="s_earth"] :is(.coffre-belt,.coffre-lock){background:#3a2f29; color:#d9c2ff;}
.dl-stage[data-skin="s_earth"] .coffre-lock{box-shadow:0 0 0 2px #8a4fd8, 0 0 12px rgba(185,140,255,.6);}
.dl-skin-prev[data-skin="s_earth"] :is(.dl-sp-lid,.dl-sp-body){border-color:#2a2420; box-shadow:0 0 8px rgba(185,140,255,0.5);}
.dl-skin-prev[data-skin="s_earth"] .dl-sp-body::before{background:linear-gradient(180deg,#e6d2ff,#8a4fd8); box-shadow:0 0 6px #b98cff;}
/* Grimoire : cuir violet, coins dorés, rune qui luit */
.dl-stage[data-skin="s_magic"] :is(.coffre-lid,.coffre-body){border-color:#2a0f3a; box-shadow:0 0 24px rgba(211,107,255,0.45);}
.dl-stage[data-skin="s_magic"] :is(.coffre-lid,.coffre-body)::after,
.dl-skin-prev[data-skin="s_magic"] :is(.dl-sp-lid,.dl-sp-body)::after{opacity:.88; mix-blend-mode:hard-light; animation:dl-runes 3s ease-in-out infinite;
  background:radial-gradient(circle at 0 0, #ffd23f 0 9px, transparent 10px), radial-gradient(circle at 100% 0, #ffd23f 0 9px, transparent 10px),
    radial-gradient(circle at 0 100%, #ffd23f 0 9px, transparent 10px), radial-gradient(circle at 100% 100%, #ffd23f 0 9px, transparent 10px),
    radial-gradient(circle at 50% 50%, rgba(240,170,255,.6) 0 6%, transparent 18%),
    repeating-linear-gradient(45deg, rgba(0,0,0,.12) 0 2px, transparent 2px 6px), linear-gradient(160deg, #6b2a8a, #3a1050 60%, #22082f);}
.dl-stage[data-skin="s_magic"] .coffre-band{background:linear-gradient(180deg, #ffe680, #c98a1b); box-shadow:0 0 10px #ffd23f;}
.dl-stage[data-skin="s_magic"] :is(.coffre-belt,.coffre-lock){background:#22082f; color:#f0aaff;}
.dl-stage[data-skin="s_magic"] .coffre-lock{box-shadow:0 0 14px rgba(211,107,255,.7);}
.dl-skin-prev[data-skin="s_magic"] :is(.dl-sp-lid,.dl-sp-body){border-color:#2a0f3a; box-shadow:0 0 8px rgba(211,107,255,0.6);}
.dl-skin-prev[data-skin="s_magic"] :is(.dl-sp-lid,.dl-sp-body)::after{background-size:auto;}
.dl-skin-prev[data-skin="s_magic"] .dl-sp-body::before{background:#ffd23f;}
/* Solaire : marbre blanc et or, rayons qui tournent */
.dl-stage[data-skin="s_light"] :is(.coffre-lid,.coffre-body){border-color:#b8860b; box-shadow:0 0 28px rgba(255,220,80,0.6);}
.dl-stage[data-skin="s_light"] :is(.coffre-lid,.coffre-body)::after,
.dl-skin-prev[data-skin="s_light"] :is(.dl-sp-lid,.dl-sp-body)::after{opacity:.8; mix-blend-mode:screen;
  background:repeating-conic-gradient(from 0deg at 50% 100%, rgba(255,255,255,.55) 0 6deg, transparent 6deg 18deg), linear-gradient(180deg, #fffbe6, #ffe28a 55%, #f2c14a);
  animation:dl-sk-sun 4s ease-in-out infinite;}
@keyframes dl-sk-sun{0%,100%{filter:brightness(1);} 50%{filter:brightness(1.18);}}
.dl-stage[data-skin="s_light"] .coffre-band{background:linear-gradient(180deg, #ffffff, #ffd700); box-shadow:0 0 18px #ffe066;}
.dl-stage[data-skin="s_light"] :is(.coffre-belt,.coffre-lock){background:#fff6d6; color:#b8860b;}
.dl-skin-prev[data-skin="s_light"] :is(.dl-sp-lid,.dl-sp-body){border-color:#b8860b; box-shadow:0 0 9px rgba(255,220,80,0.75);}
.dl-skin-prev[data-skin="s_light"] .dl-sp-body::before{background:#ffffff; box-shadow:0 0 6px #ffe066;}
/* Spectral : fumée sombre et lueur fantôme */
.dl-stage[data-skin="s_shadow"] :is(.coffre-lid,.coffre-body){border-color:#0a0812; box-shadow:0 0 26px rgba(155,123,255,0.4); animation:dl-sk-ghost 3.4s ease-in-out infinite;}
@keyframes dl-sk-ghost{0%,100%{box-shadow:0 0 22px rgba(155,123,255,0.3);} 50%{box-shadow:0 0 34px rgba(155,123,255,0.6);}}
.dl-stage[data-skin="s_shadow"] :is(.coffre-lid,.coffre-body)::after,
.dl-skin-prev[data-skin="s_shadow"] :is(.dl-sp-lid,.dl-sp-body)::after{opacity:.9; mix-blend-mode:multiply; background-size:160% 160%, 160% 160%, 100% 100%; animation:dl-sk-smoke 7s ease-in-out infinite;
  background:radial-gradient(40% 30% at 30% 70%, rgba(160,140,220,.55), transparent 70%), radial-gradient(35% 28% at 70% 30%, rgba(120,100,190,.5), transparent 70%),
    linear-gradient(180deg, #2a2440, #120f1e 60%, #07060c);}
@keyframes dl-sk-smoke{0%,100%{background-position:0% 100%, 100% 0%, 0 0;} 50%{background-position:60% 40%, 30% 70%, 0 0;}}
.dl-stage[data-skin="s_shadow"] .coffre-band{background:linear-gradient(180deg, #d9ccff, #7b5cff); box-shadow:0 0 14px #9b7bff;}
.dl-stage[data-skin="s_shadow"] :is(.coffre-belt,.coffre-lock){background:#07060c; color:#c9b6ff;}
.dl-skin-prev[data-skin="s_shadow"] :is(.dl-sp-lid,.dl-sp-body){border-color:#0a0812; box-shadow:0 0 8px rgba(155,123,255,0.55);}
.dl-skin-prev[data-skin="s_shadow"] .dl-sp-body::before{background:#9b7bff; box-shadow:0 0 6px #9b7bff;}
/* Éthéré : reflets irisés et étoiles */
.dl-stage[data-skin="s_ether"] :is(.coffre-lid,.coffre-body){border-color:#1a2a3a; box-shadow:0 0 26px rgba(111,240,220,0.4), 0 0 44px rgba(211,107,255,0.25);}
.dl-stage[data-skin="s_ether"] :is(.coffre-lid,.coffre-body)::after,
.dl-skin-prev[data-skin="s_ether"] :is(.dl-sp-lid,.dl-sp-body)::after{opacity:.82; mix-blend-mode:hard-light; background-size:auto, auto, auto, 300% 300%; animation:dl-sk-iris 8s linear infinite;
  background:radial-gradient(1.4px 1.4px at 20% 30%, #fff 60%, transparent), radial-gradient(1.2px 1.2px at 70% 20%, #fff 60%, transparent), radial-gradient(1.6px 1.6px at 80% 70%, #fff 60%, transparent),
    linear-gradient(120deg, #6ff0dc, #6f8bff, #d36bff, #ff9de2, #6ff0dc, #6f8bff);}
@keyframes dl-sk-iris{from{background-position:0 0, 0 0, 0 0, 0% 50%;} to{background-position:0 0, 0 0, 0 0, 300% 50%;}}
.dl-stage[data-skin="s_ether"] .coffre-band{background:linear-gradient(180deg, #ffffff, #b8fff4); box-shadow:0 0 14px #6ff0dc;}
.dl-stage[data-skin="s_ether"] :is(.coffre-belt,.coffre-lock){background:#121a2a; color:#b8fff4;}
.dl-skin-prev[data-skin="s_ether"] :is(.dl-sp-lid,.dl-sp-body){border-color:#1a2a3a; box-shadow:0 0 8px rgba(111,240,220,0.55);}
.dl-skin-prev[data-skin="s_ether"] .dl-sp-body::before{background:#ffffff; box-shadow:0 0 6px #6ff0dc;}

/* ---------- filtres de saison (palier 20) ---------- */
.dl-filter [class^="dl-sf-"], .dl-filter [class*=" dl-sf-"]{position:absolute; pointer-events:none;}
/* Braises */
.dl-filter-s_fire{-webkit-backdrop-filter:sepia(.25) saturate(1.35) hue-rotate(-8deg) contrast(1.05); backdrop-filter:sepia(.25) saturate(1.35) hue-rotate(-8deg) contrast(1.05);}
.dl-sf-heat{inset:0; background:radial-gradient(120% 60% at 50% 115%, rgba(255,110,20,.35), transparent 60%); animation:sc-breath 3s ease-in-out infinite;}
.dl-sf-ember{bottom:-10px; border-radius:50%; background:#ffd23f; box-shadow:0 0 6px #ff8a1f, 0 0 12px #ff5a14; animation:dl-sf-rise 8s linear infinite;}
@keyframes dl-sf-rise{0%{transform:translate(0, 0); opacity:0;} 10%{opacity:1;} 85%{opacity:.8;} 100%{transform:translate(var(--dx, 0), -105vh); opacity:0;}}
.dl-sf-sparks{width:0; height:0;}
.dl-sf-sparks b{position:absolute; left:0; top:0; width:4px; height:4px; margin:-2px; border-radius:50%; background:#ffe680; box-shadow:0 0 6px #ff8a1f; animation:dl-sf-spark .85s ease-out forwards;}
@keyframes dl-sf-spark{0%{transform:translate(0, 0) scale(1.4); opacity:1;} 100%{transform:translate(var(--x), calc(var(--y) + 40px)) scale(.3); opacity:0;}}
/* Averse */
.dl-filter-s_water{-webkit-backdrop-filter:saturate(.8) brightness(.93) hue-rotate(-8deg); backdrop-filter:saturate(.8) brightness(.93) hue-rotate(-8deg); background:rgba(40,70,110,.08);}
.dl-sf-rain{top:-40px; width:1.5px; background:linear-gradient(180deg, transparent, rgba(200,230,255,.85)); transform:rotate(12deg); animation:dl-sf-fall 1s linear infinite;}
@keyframes dl-sf-fall{from{transform:translate(0, 0) rotate(12deg);} to{transform:translate(-26vh, 110vh) rotate(12deg);}}
.dl-sf-ripple{width:0; height:0;}
.dl-sf-ripple b{position:absolute; left:-40px; top:-14px; width:80px; height:28px; border:2px solid rgba(190,230,255,.8); border-radius:50%; animation:dl-sf-rip 1.2s ease-out forwards;}
.dl-sf-ripple b + b{animation-delay:.2s; opacity:0;}
@keyframes dl-sf-rip{0%{transform:scale(.1); opacity:1;} 100%{transform:scale(1.6); opacity:0;}}
/* Bourrasque */
.dl-filter-s_air{-webkit-backdrop-filter:brightness(1.05) saturate(1.06); backdrop-filter:brightness(1.05) saturate(1.06);}
.dl-sf-gust{left:0; height:2px; border-radius:2px; background:linear-gradient(90deg, transparent, rgba(255,255,255,.75), transparent); animation:dl-sf-gust 2.4s ease-in infinite;}
@keyframes dl-sf-gust{0%{transform:translateX(-30vw); opacity:0;} 20%{opacity:1;} 100%{transform:translateX(120vw); opacity:0;}}
.dl-sf-leaf{left:0; width:12px; height:7px; border-radius:0 100% 0 100%; background:var(--lc); box-shadow:inset -2px -1px 0 rgba(0,0,0,.18); animation:dl-sf-leaf 6s linear infinite;}
@keyframes dl-sf-leaf{0%{transform:translate(-5vw, 0) rotate(0);} 50%{transform:translate(50vw, calc(var(--dy) * .5)) rotate(360deg);} 100%{transform:translate(110vw, var(--dy)) rotate(720deg);}}
/* Tempête de sable */
.dl-filter-s_earth{-webkit-backdrop-filter:sepia(.5) saturate(1.25) hue-rotate(-12deg) contrast(1.05); backdrop-filter:sepia(.5) saturate(1.25) hue-rotate(-12deg) contrast(1.05);}
.dl-sf-haze{inset:0; background:linear-gradient(100deg, rgba(210,150,80,.12), rgba(230,180,110,.2) 50%, rgba(210,150,80,.1)); background-size:200% 100%; animation:dl-sf-haze 6s linear infinite;}
@keyframes dl-sf-haze{from{background-position:0 0;} to{background-position:-200% 0;}}
.dl-sf-dust{left:0; border-radius:50%; background:rgba(235,200,150,.75); animation:dl-sf-dust 4s linear infinite;}
@keyframes dl-sf-dust{0%{transform:translate(-5vw, 0); opacity:0;} 10%{opacity:1;} 100%{transform:translate(110vw, var(--dy)); opacity:.3;}}
.dl-quake{animation:dl-quake .42s ease;}
@keyframes dl-quake{0%,100%{transform:none;} 15%{transform:translate(-5px, 2px);} 30%{transform:translate(5px, -2px);} 45%{transform:translate(-4px, -1px);} 60%{transform:translate(3px, 2px);} 80%{transform:translate(-2px, 0);}}
/* Arcanes */
.dl-filter-s_magic{-webkit-backdrop-filter:hue-rotate(14deg) saturate(1.2); backdrop-filter:hue-rotate(14deg) saturate(1.2); background:radial-gradient(120% 90% at 50% 50%, transparent 55%, rgba(80,20,120,.25));}
.dl-sf-rune{bottom:-40px; color:#e7b6ff; text-shadow:0 0 8px #d36bff, 0 0 16px #8a3fd8; font-family:"Segoe UI Symbol", "Noto Sans Runic", serif; animation:dl-sf-runefloat 12s linear infinite;}
@keyframes dl-sf-runefloat{0%{transform:translateY(0) rotate(0); opacity:0;} 10%{opacity:.85;} 90%{opacity:.6;} 100%{transform:translateY(-110vh) rotate(200deg); opacity:0;}}
.dl-sf-circle{width:0; height:0; color:#e7b6ff;}
.dl-sf-circle svg{position:absolute; left:-60px; top:-60px; width:120px; height:120px; overflow:visible; filter:drop-shadow(0 0 6px #d36bff); animation:dl-sf-circle 1.3s ease-out forwards;}
@keyframes dl-sf-circle{0%{transform:scale(.2) rotate(0); opacity:0;} 25%{opacity:1;} 100%{transform:scale(1.3) rotate(120deg); opacity:0;}}
/* Rayons divins */
.dl-filter-s_light{-webkit-backdrop-filter:brightness(1.08) contrast(1.04) saturate(1.1); backdrop-filter:brightness(1.08) contrast(1.04) saturate(1.1);}
.dl-sf-ray{top:-20vh; height:140vh; transform-origin:50% 0; transform:rotate(var(--rot)); background:linear-gradient(180deg, rgba(255,240,180,.45), rgba(255,240,180,.08) 60%, transparent);
  filter:blur(6px); mix-blend-mode:screen; animation:dl-sf-ray 7s ease-in-out infinite;}
@keyframes dl-sf-ray{0%,100%{opacity:.25;} 50%{opacity:.85;}}
.dl-sf-mote{border-radius:50%; background:#fff3b0; box-shadow:0 0 8px #ffd23f; animation:dl-sf-mote 3s ease-in-out infinite;}
@keyframes dl-sf-mote{0%,100%{opacity:0; transform:translateY(0) scale(.6);} 50%{opacity:1; transform:translateY(-14px) scale(1);}}
/* Ténèbres */
.dl-filter-s_shadow{-webkit-backdrop-filter:grayscale(.6) brightness(.82) contrast(1.12); backdrop-filter:grayscale(.6) brightness(.82) contrast(1.12);}
.dl-sf-vignette{inset:0; background:radial-gradient(ellipse 75% 70% at 50% 50%, transparent 45%, rgba(10,6,20,.82)); animation:dl-sf-vig 5s ease-in-out infinite;}
@keyframes dl-sf-vig{0%,100%{opacity:.85;} 50%{opacity:1;}}
.dl-sf-mist{left:-20%; right:-20%; bottom:-6%; height:30%; background:radial-gradient(40% 60% at 30% 70%, rgba(120,100,170,.35), transparent 70%), radial-gradient(40% 60% at 75% 80%, rgba(90,80,140,.35), transparent 70%);
  filter:blur(10px); animation:dl-sf-mist 14s ease-in-out infinite;}
.dl-sf-mist.m2{bottom:auto; top:-8%; transform:scaleY(-1); animation-duration:18s; opacity:.7;}
@keyframes dl-sf-mist{0%,100%{translate:-6% 0;} 50%{translate:6% 0;}}
.dl-sf-eyes{width:30px; height:10px; animation:dl-sf-eyes 10s ease-in-out infinite; opacity:0;}
.dl-sf-eyes::before, .dl-sf-eyes::after{content:""; position:absolute; top:0; width:9px; height:6px; border-radius:50% 50% 50% 50% / 70% 70% 30% 30%; background:#ffd23f; box-shadow:0 0 8px #ff8a1f;}
.dl-sf-eyes::before{left:0;} .dl-sf-eyes::after{right:0;}
@keyframes dl-sf-eyes{0%,40%,100%{opacity:0;} 48%,62%{opacity:1; transform:scaleY(1);} 55%{transform:scaleY(.1);} 70%{opacity:0;}}
/* Nébuleuse */
.dl-filter-s_ether{-webkit-backdrop-filter:saturate(1.25) contrast(1.05); backdrop-filter:saturate(1.25) contrast(1.05);}
.dl-sf-neb{width:70vmax; height:70vmax; border-radius:50%; filter:blur(40px); mix-blend-mode:screen; opacity:.22; animation:dl-sf-neb 22s ease-in-out infinite;}
.dl-sf-neb.n1{left:-25vmax; top:-25vmax; background:radial-gradient(circle, #6ff0dc, transparent 65%);}
.dl-sf-neb.n2{right:-25vmax; top:10vh; background:radial-gradient(circle, #d36bff, transparent 65%); animation-duration:28s; animation-direction:reverse;}
.dl-sf-neb.n3{left:10vw; bottom:-35vmax; background:radial-gradient(circle, #6f8bff, transparent 65%); animation-duration:34s;}
@keyframes dl-sf-neb{0%,100%{transform:translate(0, 0) scale(1);} 50%{transform:translate(8vw, 6vh) scale(1.15);}}
.dl-sf-star{border-radius:50%; background:#fff; box-shadow:0 0 6px #b8fff4; animation:sc-twinkle 2.4s ease-in-out infinite;}
/* aperçus (boutique et passe) */
.dl-flt-prev-s_fire{background:radial-gradient(circle at 30% 70%, #ffd23f 0 2px, transparent 3px), radial-gradient(circle at 70% 40%, #ffb020 0 2px, transparent 3px), linear-gradient(180deg, #3a0c06, #b8320e); color:#ffd27a;}
.dl-flt-prev-s_water{background:repeating-linear-gradient(102deg, transparent 0 8px, rgba(200,230,255,.45) 8px 9px), linear-gradient(180deg, #24425e, #0f1f30); color:#bfe6ff;}
.dl-flt-prev-s_air{background:repeating-linear-gradient(0deg, transparent 0 10px, rgba(255,255,255,.35) 10px 11px), linear-gradient(180deg, #bfe8ff, #7fb6d6); color:#ffffff; text-shadow:0 1px 3px rgba(0,0,0,.3);}
.dl-flt-prev-s_earth{background:radial-gradient(circle at 25% 60%, rgba(255,230,180,.7) 0 1.5px, transparent 2px), radial-gradient(circle at 65% 30%, rgba(255,230,180,.7) 0 1.5px, transparent 2px), linear-gradient(180deg, #c98a4a, #7a4a1e); color:#ffe2b0;}
.dl-flt-prev-s_magic{background:radial-gradient(circle at 50% 50%, rgba(240,170,255,.45), transparent 60%), linear-gradient(160deg, #3a1050, #12061c); color:#f0aaff; text-shadow:0 0 8px #d36bff;}
.dl-flt-prev-s_light{background:repeating-conic-gradient(from 0deg at 50% -20%, rgba(255,255,255,.5) 0 5deg, transparent 5deg 14deg), linear-gradient(180deg, #fff6d0, #ffd76a); color:#b8860b;}
.dl-flt-prev-s_shadow{background:radial-gradient(circle at 30% 45%, #ffd23f 0 2px, transparent 3px), radial-gradient(circle at 40% 45%, #ffd23f 0 2px, transparent 3px), radial-gradient(ellipse at 50% 50%, #2a2440, #050408 75%); color:#9b7bff;}
.dl-flt-prev-s_ether{background:radial-gradient(circle at 30% 40%, rgba(111,240,220,.6), transparent 45%), radial-gradient(circle at 70% 60%, rgba(211,107,255,.6), transparent 45%), #0b0d24; color:#e6fffb;}

/* ---------- v2.3.0 : animations des fonds de saison ---------- */
.sc-kelp{transform-box:fill-box; transform-origin:50% 100%; animation:sc-kelp 4.5s ease-in-out infinite;}
@keyframes sc-kelp{0%,100%{transform:rotate(-5deg) skewX(-3deg);} 50%{transform:rotate(5deg) skewX(3deg);}}
.sc-blink{transform-box:fill-box; transform-origin:center; animation:sc-blink 6s ease-in-out infinite;}
@keyframes sc-blink{0%,30%,100%{opacity:0;} 36%,58%{opacity:1; transform:scaleY(1);} 46%{transform:scaleY(.1);} 64%{opacity:0;}}
.sc-comet{animation:sc-comet 9s linear infinite;}
@keyframes sc-comet{0%{transform:translate(80px, -20px); opacity:0;} 5%{opacity:1;} 35%{transform:translate(420px, 100px); opacity:0;} 100%{transform:translate(420px, 100px); opacity:0;}}
.dl-se-info .dl-level-track{flex:none; height:8px; margin:3px 0 1px;}
.sc-softglow{transform-box:fill-box; transform-origin:center; animation:sc-glow 3.4s ease-in-out infinite;}
.sc-fall{animation:sc-fall .9s linear infinite;}
@keyframes sc-fall{from{stroke-dashoffset:24;} to{stroke-dashoffset:0;}}
.dl-se-track-wrap{position:relative;}
.dl-hunt-cell.dug{background:radial-gradient(ellipse 34% 26% at 50% 40%, rgba(60,35,12,.55) 0 70%, transparent 100%), rgba(255,248,225,.12);}
.dl-hunt-cell.dug small{background:rgba(255,248,225,.88); padding:1px 7px; border-radius:999px; box-shadow:0 1px 0 rgba(110,70,25,.35);}
.dl-hunt-cell.dug :is(i,svg){font-size:1.05em;}

/* ---------- v2.3.0a ---------- */
/* menu triche : choix de la section en liste déroulante */
.dl-cheat-sel{position:relative; display:flex; align-items:center; gap:10px; margin:4px 0 8px; padding:0 14px; min-height:46px; flex:0 0 auto; border-radius:12px;
  background:#0e1013; border:1px solid #D7263D66; box-shadow:0 0 0 1px #D7263D22;}
.dl-cheat-sel > :is(i,svg):first-child{color:#ff8b98;}
.dl-cheat-sel select{flex:1; min-width:0; appearance:none; -webkit-appearance:none; background:transparent; border:none; color:var(--dl-ink); font:600 .95rem "Inter", sans-serif;
  padding:10px 24px 10px 0; cursor:pointer; outline:none;}
.dl-cheat-sel select option{background:#16191e; color:var(--dl-ink);}
.dl-cheat-sel-arrow{position:absolute; right:14px; pointer-events:none; color:#ff8b98; font-size:.8rem;}
.dl-cheat-sel:focus-within{border-color:#ff8b98;}
/* accessoire fleurdelisé, aperçu d'accessoire dans le passe */
.dl-acc-fleur{width:1em; height:1em;}
.dl-acc-neck.dl-acc-e_saintjean{font-size:.3em;}
.dl-se-accprev{width:100%; height:70px; padding-top:18px; font-size:2.4rem;}
/* statistiques : records */
.dl-rec-grid{display:grid; grid-template-columns:repeat(auto-fill, minmax(150px, 1fr)); gap:10px; margin-bottom:16px;}
.dl-rec{display:flex; flex-direction:column; gap:3px; padding:12px 14px; border-radius:14px; background:var(--dl-panel); border:1px solid var(--dl-line); min-width:0;}
.dl-rec > span:first-child{display:flex; align-items:center; gap:7px; color:var(--dl-soft); font-size:.76rem;}
.dl-rec > span:first-child :is(i,svg){color:var(--dl-gold); width:16px;}
.dl-rec b{font:700 1.15rem "Inter", sans-serif; color:var(--dl-ink); white-space:nowrap; overflow:hidden; text-overflow:ellipsis;}
.dl-rec small{color:var(--dl-faint); font-size:.72rem;}
.dl-rec-bosses{display:grid; grid-template-columns:repeat(auto-fill, minmax(150px, 1fr)); gap:8px; margin-bottom:16px;}
.dl-rec-boss{display:flex; align-items:center; gap:10px; padding:8px 12px; border-radius:12px; background:var(--dl-panel); border:1px solid color-mix(in oklab, var(--ec) 30%, var(--dl-line));}
.dl-rec-boss.none{opacity:.5;}
.dl-rec-boss span{display:flex; flex-direction:column; min-width:0;}
.dl-rec-boss b{font-size:.8rem; white-space:nowrap; overflow:hidden; text-overflow:ellipsis;} .dl-rec-boss small{color:var(--dl-soft); font-size:.72rem;}
.dl-rec-rar{display:flex; flex-wrap:wrap; gap:6px; margin-bottom:16px;}
.dl-rec-rar span{display:inline-flex; align-items:center; gap:5px; padding:4px 10px; border-radius:999px; background:#121418; border:1px solid var(--dl-line); font-size:.75rem;}
.dl-rec-rar span.no{opacity:.4;}
.dl-rec-rar i.dot, .dl-rec-rar span .dot{width:9px; height:9px; border-radius:50%; background:var(--rar); display:inline-block;}

/* ---------- v2.3.0c : volumes et test des sons ---------- */
.dl-set-vols, .dl-set-test{flex-wrap:wrap; cursor:default;}
.dl-set-vols > span:first-child, .dl-set-test > span:first-child{flex:1 1 220px;}
.dl-vols{display:flex; flex-direction:column; gap:10px; flex:1 1 280px; max-width:420px;}
.dl-vol{display:grid; grid-template-columns:20px minmax(90px, auto) 1fr 46px; align-items:center; gap:8px; font-size:.8rem; color:var(--dl-soft); cursor:pointer;}
.dl-vol > :is(i,svg){color:var(--dl-gold);}
.dl-vol-val{font:600 .76rem "Inter", sans-serif; color:var(--dl-ink); text-align:right;}
.dl-vol input[type="range"]{-webkit-appearance:none; appearance:none; width:100%; height:8px; border-radius:999px; cursor:pointer; margin:0;
  background:linear-gradient(90deg, var(--dl-gold-deep), var(--dl-gold)) 0 0 / var(--v, 50%) 100% no-repeat, #0e1013; border:1px solid var(--dl-line);}
.dl-vol input[type="range"]::-webkit-slider-thumb{-webkit-appearance:none; width:18px; height:18px; border-radius:50%; background:#fff3d0; border:2px solid var(--dl-gold-deep); box-shadow:0 1px 4px rgba(0,0,0,.5);}
.dl-vol input[type="range"]::-moz-range-thumb{width:16px; height:16px; border-radius:50%; background:#fff3d0; border:2px solid var(--dl-gold-deep);}
.dl-vol input[type="range"]:focus-visible{outline:2px solid var(--dl-gold); outline-offset:2px;}
.dl-sndtest{display:flex; flex-wrap:wrap; gap:6px; justify-content:flex-end; flex:1 1 280px;}
.dl-sndtest .dl-select{max-width:200px;}
@media (max-width:600px){
  .dl-vols, .dl-sndtest{max-width:none; flex-basis:100%; justify-content:flex-start;}
  .dl-vol{grid-template-columns:20px 1fr 46px;} .dl-vol .dl-vol-name{grid-column:2 / 4;} .dl-vol input[type="range"]{grid-column:1 / 3;}
}
/* v2.3.0d : tremblement (Tempête de sable) sans barres de défilement */
/* v2.3.0e : « clip » au lieu de « hidden » (hidden sur html/body cassait l'en-tête collant .dl-top) */
html.dl-quaking .dl-shell, html.dl-quaking body{overflow-x:clip;}
.dl-set-row[hidden]{display:none !important;}

/* ---------- v2.3.0f : légende et héritage ---------- */
.dl-stars.dl-legend{color:#e07bff; filter:drop-shadow(0 0 4px rgba(224,123,255,0.7)); margin-left:3px;}
.dl-prestige.legend .dl-prestige-icon{color:#e07bff; background:radial-gradient(circle at 50% 40%, rgba(224,123,255,.28), #121418); border-color:#6b3f8a;}
.dl-prestige.legend.ready{border-color:#8a4fd8; box-shadow:0 0 0 1px rgba(224,123,255,.2), 0 6px 24px rgba(224,123,255,.15);}
.dl-legacy-chips{display:flex; flex-wrap:wrap; align-items:center; gap:6px; margin-top:2px;}
.dl-legacy-chips small{color:var(--dl-soft); font-size:.74rem;}
.dl-legacy-chip{display:inline-flex; align-items:center; gap:5px; padding:2px 9px; border-radius:999px; font-size:.74rem; background:#121418; border:1px solid #5a4418; color:var(--dl-ink);}
.dl-legacy-chip :is(i,svg){color:var(--dl-gold);}
.dl-legacy-sub{color:var(--dl-soft); font-size:.88rem; margin:0 0 12px;}
.dl-legacy-opts{display:flex; flex-direction:column; gap:10px;}
.dl-legacy-opt{display:flex; align-items:center; gap:14px; width:100%; text-align:left; padding:12px 14px; border-radius:14px; cursor:pointer; font:inherit; color:var(--dl-ink, #EFE8D8);
  background:#0e1013; border:1px solid #2a2f37; transition:border-color .15s ease, transform .12s ease, background .15s ease;}
.dl-legacy-opt:hover, .dl-legacy-opt:focus-visible{border-color:#F4B942; background:#1c1a12; transform:translateY(-1px); outline:none;}
.dl-legacy-opt > span:last-child{display:flex; flex-direction:column; gap:3px; min-width:0;}
.dl-legacy-opt b{font-size:.95rem;} .dl-legacy-opt small{color:#B5AC9B; font-size:.8rem; line-height:1.4;}
.dl-legacy-icon{flex:0 0 auto; width:44px; height:44px; border-radius:12px; display:flex; align-items:center; justify-content:center; font-size:1.2rem; color:#F4B942;
  background:radial-gradient(circle at 50% 40%, rgba(244,185,66,.2), #121418); border:1px solid #5a4418;}

/* ---------- v2.3.0g : section Niveau (chemin, constellation, vies, XP) ---------- */
.dl-path{overflow-x:auto; padding:6px 2px 12px; margin:0 -2px 14px; scrollbar-width:thin; scrollbar-color:#3a3f47 transparent;}
.dl-path-row{display:flex; gap:0; width:max-content; position:relative;}
.dl-path-step{position:relative; width:112px; flex:0 0 auto; display:flex; flex-direction:column; align-items:center; gap:6px; padding:0 6px; text-align:center;}
.dl-path-step::before{content:""; position:absolute; top:44px; left:-50%; width:100%; height:3px; background:#2a2f37; z-index:0;}
.dl-path-step:first-child::before{display:none;}
.dl-path-step.got::before, .dl-path-step.next::before{background:linear-gradient(90deg, var(--dl-gold-deep), var(--dl-gold));}
.dl-path-lv{font:700 .72rem "Inter", sans-serif; color:var(--dl-faint); background:#121418; border:1px solid var(--dl-line); border-radius:999px; padding:1px 8px;}
.dl-path-ic{position:relative; z-index:1; width:40px; height:40px; border-radius:50%; display:flex; align-items:center; justify-content:center; font-size:1rem;
  background:#0e1013; border:2px solid #2a2f37; color:var(--dl-faint);}
.dl-path-step.got .dl-path-ic{border-color:var(--dl-gold); color:var(--dl-gold); background:radial-gradient(circle at 50% 40%, rgba(244,185,66,.22), #121418);}
.dl-path-step.got .dl-path-lv{color:var(--dl-gold); border-color:#5a4418;}
.dl-path-step.next .dl-path-ic{border-color:var(--dl-gold); border-style:dashed; color:var(--dl-ink); animation:dl-breathe 2.4s ease-in-out infinite;}
.dl-path-step.star .dl-path-ic{color:#ffd700;}
.dl-path-step small{font-size:.72rem; line-height:1.3; color:var(--dl-soft);}
.dl-path-step.got small{color:var(--dl-ink);}
.dl-path-step em{font-style:normal; font:700 .66rem "Inter", sans-serif; color:var(--dl-gold);}
.dl-const{display:flex; flex-direction:column; align-items:center; gap:6px; padding:12px 14px; border-radius:16px; margin-bottom:14px;
  background:radial-gradient(120% 140% at 50% 0%, #1a1636, #0c0d14 70%); border:1px solid #2e2850;}
.dl-const-svg{width:100%; max-width:520px; height:auto; overflow:visible;}
.dl-const-svg line{stroke:#3a3560; stroke-width:1.5; stroke-dasharray:3 4;}
.dl-const-svg line.on{stroke:#ffd700; stroke-dasharray:none; opacity:.7;}
.dl-cs-star path{fill:#1c1a30; stroke:#4a4478; stroke-width:1;}
.dl-cs-star text{font:600 7px "Inter", sans-serif; fill:#5a5480; text-anchor:middle;}
.dl-cs-star.on path{fill:#ffd700; stroke:#fff3b0;}
.dl-cs-star.on text{fill:#c9a24a;}
.dl-cs-star .halo{fill:rgba(255,215,0,.16);}
.dl-cs-star.last .halo{animation:dl-cs-pulse 2.4s ease-in-out infinite; transform-box:fill-box; transform-origin:center;}
@keyframes dl-cs-pulse{0%,100%{transform:scale(.9); opacity:.7;} 50%{transform:scale(1.25); opacity:1;}}
.dl-cs-ring{fill:none; stroke:#e07bff; stroke-width:2; stroke-dasharray:4 3; animation:sc-spin 12s linear infinite; transform-box:fill-box; transform-origin:center;}
.dl-const p{margin:0; text-align:center; color:var(--dl-soft); font-size:.82rem;}
.dl-lives{display:flex; flex-direction:column; gap:8px; margin-bottom:14px;}
.dl-life{display:flex; align-items:center; gap:12px; flex-wrap:wrap; padding:10px 12px; border-radius:14px; background:var(--dl-panel); border:1px solid var(--dl-line);}
.dl-life.now{border-color:#5a4418; background:linear-gradient(120deg, rgba(244,185,66,.08), var(--dl-panel) 60%);}
.dl-life-n{flex:0 0 auto; width:32px; height:32px; border-radius:50%; display:flex; align-items:center; justify-content:center; font:800 .85rem "Inter", sans-serif; color:#2A1F0B; background:var(--dl-gold);}
.dl-life:not(.now) .dl-life-n{background:#121418; color:var(--dl-gold); border:1px solid #5a4418;}
.dl-life > div{flex:1 1 140px; min-width:0; display:flex; flex-direction:column;}
.dl-life > div small{color:var(--dl-faint); font-size:.74rem;}
.dl-life-stats{display:flex; flex-wrap:wrap; gap:6px 10px; align-items:center; font-size:.78rem; color:var(--dl-soft);}
.dl-life-stats :is(i,svg){color:var(--dl-gold);}
.dl-lives-empty{color:var(--dl-faint); font-size:.8rem; margin:2px 4px;}
.dl-xp-help{padding:12px 14px; border-radius:16px; background:var(--dl-panel); border:1px solid var(--dl-line); margin-bottom:14px;}
.dl-xp-tiers{display:flex; flex-wrap:wrap; gap:6px;}
.dl-xp-tiers span{display:inline-flex; align-items:center; gap:5px; padding:4px 10px; border-radius:999px; background:#121418; border:1px solid var(--dl-line); font-size:.75rem;}
.dl-xp-tiers b{color:var(--rar); font-family:"Inter", sans-serif;}
.dl-xp-tiers .dot{width:9px; height:9px; border-radius:50%; background:var(--rar); display:inline-block;}
.dl-xp-help p{color:var(--dl-soft); font-size:.8rem; line-height:1.45; margin:10px 0 8px;}
.dl-xp-bonus{display:flex; flex-wrap:wrap; gap:6px;}
.dl-xp-bonus small{color:var(--dl-faint); font-size:.76rem;}
/* v2.3.0i : carte de dragon compacte — Nourrir + menu « ⋯ », Compagnon dessous */
.dl-pet-actions{display:flex; flex-direction:column; align-items:stretch; gap:6px; flex-wrap:nowrap;}
.dl-pet-row{display:flex; gap:6px; align-items:stretch;}
.dl-pet-actions .dl-pet-main{flex:1 1 auto; justify-content:center; min-width:0;}
.dl-pet-more{position:relative; flex:0 0 auto; display:flex;}
.dl-pet-actions .dl-pet-more-btn{padding:6px 11px; justify-content:center;}
.dl-pet-more.open .dl-pet-more-btn{border-color:var(--dl-gold); color:var(--dl-gold);}
.dl-pet-menu{position:absolute; right:0; bottom:calc(100% + 6px); z-index:30; min-width:180px; display:none; flex-direction:column; padding:6px;
  background:#16191e; border:1px solid var(--dl-line); border-radius:12px; box-shadow:0 12px 28px rgba(0,0,0,0.55);}
.dl-pet-more.open .dl-pet-menu{display:flex; animation:dl-pet-menu-in .14s ease-out;}
@keyframes dl-pet-menu-in{from{opacity:0; transform:translateY(4px);} to{opacity:1; transform:none;}}
.dl-pet-menu button{display:flex; align-items:center; gap:10px; width:100%; padding:9px 10px; border:0; border-radius:8px; background:none; color:var(--dl-text, #eee);
  font:600 0.85rem/1.2 inherit; font-family:inherit; text-align:left; cursor:pointer;}
.dl-pet-menu button i{width:16px; text-align:center; color:var(--dl-soft);}
.dl-pet-menu button:hover, .dl-pet-menu button:focus-visible{background:#22262d; outline:none;}
.dl-pet-menu .dl-release-btn{margin-top:4px; border-top:1px solid var(--dl-line); border-radius:0 0 8px 8px;}
.dl-pet-menu .dl-release-btn:hover{color:#ff8a8a !important; background:#2a1416;}
.dl-nest.menu-open{z-index:5; position:relative;}
@media (prefers-reduced-motion: reduce){ .dl-pet-more.open .dl-pet-menu{animation:none;} }
.dl-pet-actions .dl-pet-main{padding:6px 8px; gap:5px; overflow:hidden; text-overflow:ellipsis;}
.dl-pet-actions .dl-pet-more-btn{padding:6px 9px;}
/* ---------- v2.3.0j : défis enrichis ---------- */
.dl-rw{display:inline-flex; align-items:center; gap:4px; white-space:nowrap;}
.dl-q-claim{display:inline-flex; gap:8px; align-items:center;}
.dl-rw-golden{color:#ffd23f;}
.dl-btn-primary .dl-rw-golden{color:inherit;}
.dl-rw-cos{color:#e9c8ff;}
.dl-sr-rew .dl-rw + .dl-rw{margin-left:2px;}
.dl-q-rr{display:inline-flex; align-items:center; gap:5px; margin-left:4px; padding:1px 8px; border-radius:999px; background:#1b1f25; border:1px solid var(--dl-line); font-size:.72rem; color:var(--dl-soft); white-space:nowrap;}
.dl-q-reroll{flex:0 0 auto; width:34px; height:34px; border-radius:10px; border:1px solid var(--dl-line); background:#13161a; color:var(--dl-soft); cursor:pointer; display:flex; align-items:center; justify-content:center;}
.dl-q-reroll:hover:not(:disabled){color:var(--dl-gold); border-color:var(--dl-gold);}
.dl-q-reroll:hover:not(:disabled) i{animation:dl-q-dice .5s ease;}
.dl-q-reroll:disabled{opacity:.4; cursor:not-allowed;}
@keyframes dl-q-dice{50%{transform:rotate(180deg) scale(1.15);} 100%{transform:rotate(360deg);}}
.dl-q-new{animation:dl-q-pop .45s ease-out;}
@keyframes dl-q-pop{0%{transform:scale(.97); box-shadow:0 0 0 2px var(--dl-gold);} 100%{transform:none;}}
.dl-q-head{margin-top:26px;}
/* Défi du Dragon */
.dl-quest.dl-q-dragon{border-color:#6b2330; background:linear-gradient(120deg, rgba(215,38,61,0.16), var(--dl-panel) 60%);}
.dl-quest.dl-q-dragon .dl-quest-icon{color:#ff6b7d; background:rgba(215,38,61,0.14);}
.dl-quest.dl-q-dragon .dl-level-fill{background:linear-gradient(90deg, #d7263d, #ff8a3d);}
.dl-quest.dl-q-dragon.done:not(.claimed){border-color:#ff6b7d; box-shadow:0 0 18px rgba(215,38,61,0.3);}
.dl-q-dragon-ic{color:#ff6b7d !important;}
/* défis de la semaine */
.dl-quest.dl-q-weekly .dl-quest-icon{color:#7fd1ff; background:rgba(79,184,255,0.12);}
.dl-quest.dl-q-weekly .dl-level-fill{background:linear-gradient(90deg, #4fb8ff, #9fe7ff);}
/* carnet de défis */
.dl-carnet{background:var(--dl-panel); border:1px solid var(--dl-line); border-radius:14px; padding:16px 14px 8px;}
.dl-carnet-track{position:relative; height:10px; border-radius:999px; background:#0e1013; border:1px solid var(--dl-line); margin:6px 6px 14px;}
.dl-carnet-fill{position:absolute; inset:0 auto 0 0; border-radius:inherit; background:linear-gradient(90deg, #6f8bff, #e8c25a);}
.dl-carnet-mark{position:absolute; top:50%; width:12px; height:12px; margin:-6px 0 0 -6px; border-radius:50%; background:#1b1f25; border:2px solid #3a3f48;}
.dl-carnet-mark.on{background:#e8c25a; border-color:#fff3c4; box-shadow:0 0 8px rgba(232,194,90,0.6);}
.dl-carnet-list{display:flex; flex-direction:column;}
.dl-carnet-row{display:flex; align-items:center; gap:12px; padding:9px 2px; border-top:1px solid var(--dl-line);}
.dl-carnet-row:first-child{border-top:0;}
.dl-carnet-day{flex:0 0 52px; display:flex; flex-direction:column; align-items:center; line-height:1.05;}
.dl-carnet-day b{font-size:1.1rem; color:var(--dl-soft);}
.dl-carnet-day small{font-size:.66rem; color:var(--dl-faint); text-transform:uppercase; letter-spacing:.04em;}
.dl-carnet-row.ok .dl-carnet-day b{color:#e8c25a;}
.dl-carnet-rw{flex:1; min-width:0; display:flex; flex-wrap:wrap; gap:4px 12px; font-size:.86rem; font-weight:600;}
.dl-carnet-left{font-size:.75rem; color:var(--dl-faint); white-space:nowrap;}
.dl-carnet-row.got{opacity:.55;}
.dl-carnet-row:not(.ok) .dl-carnet-rw{color:var(--dl-soft);}
@media (max-width:420px){ .dl-q-rr{margin:4px 0 0; } .dl-quest, .dl-quest-bonus{gap:9px; padding:10px;} .dl-quest-icon{width:36px; height:36px;} }
@media (prefers-reduced-motion: reduce){ .dl-q-new, .dl-q-reroll:hover i{animation:none;} }

/* ---------- v2.3.0j : coffre « Grimoire » (carnet de défis, 100 jours) ---------- */
.dl-stage[data-skin="grimoire"] .coffre-lid, .dl-stage[data-skin="grimoire"] .coffre-body{border-color:#c9a03a; box-shadow:0 0 22px rgba(232,194,90,0.35), inset 0 0 0 3px rgba(232,194,90,0.35);}
.dl-stage[data-skin="grimoire"] .coffre-lid::after, .dl-stage[data-skin="grimoire"] .coffre-body::after{opacity:.95; mix-blend-mode:normal;
  background:radial-gradient(circle at 12% 18%, rgba(232,194,90,0.9) 0 5px, transparent 6px), radial-gradient(circle at 88% 18%, rgba(232,194,90,0.9) 0 5px, transparent 6px),
             repeating-linear-gradient(90deg, rgba(0,0,0,0.10) 0 2px, transparent 2px 9px), linear-gradient(160deg, #6a1f2b, #2e0b12 75%);}
.dl-stage[data-skin="grimoire"] .coffre-band{background:linear-gradient(180deg, #fff1b8, #e8c25a 50%, #9c7420); box-shadow:0 0 12px rgba(232,194,90,0.7);}
.dl-stage[data-skin="grimoire"] .coffre-belt, .dl-stage[data-skin="grimoire"] .coffre-lock{background:#1b2a5c; color:#e8c25a;}
.dl-skin-prev[data-skin="grimoire"] :is(.dl-sp-lid,.dl-sp-body){border-color:#c9a03a; box-shadow:0 0 8px rgba(232,194,90,.45), inset 0 0 0 2px rgba(232,194,90,.4);}
.dl-skin-prev[data-skin="grimoire"] :is(.dl-sp-lid,.dl-sp-body)::after{opacity:.95; mix-blend-mode:normal; background:repeating-linear-gradient(90deg, rgba(0,0,0,0.10) 0 1px, transparent 1px 5px), linear-gradient(160deg, #6a1f2b, #2e0b12 75%);}
.dl-skin-prev[data-skin="grimoire"] .dl-sp-body::before{background:#e8c25a; box-shadow:0 0 6px #e8c25a;}
.dl-carnet-rw .dl-rw{white-space:normal;}
/* sur mobile, une récompense en plusieurs morceaux passe sous le texte du défi */
@media (max-width:520px){
  .dl-quest.dl-q-wide, .dl-quest-bonus.dl-q-wide{flex-wrap:wrap;}
  .dl-q-wide .dl-quest-info{flex:1 1 calc(100% - 60px);}
  .dl-q-wide > .dl-q-claim, .dl-q-wide > .dl-quest-ok{margin-left:48px; flex:1 1 auto; justify-content:center;}
}
/* v2.3.0l : étoiles compactes (légende seule) et carte de niveau en mode légende */
.dl-stars.dl-stars-c{margin-left:0;}
.dl-lvcard-stars{white-space:nowrap; display:flex; align-items:center; gap:4px;}
.dl-lvcard-num.legend{border-color:#c77dff; box-shadow:0 0 22px rgba(176,92,255,0.5);}
.dl-lvcard-num.legend .dl-lvcard-stars{border-color:#c77dff;}
/* v2.3.0l : carte au trésor — groupe centré sur grand écran, résultat et infos dans une vraie carte */
.dl-hunt-map{justify-content:center;}
.dl-hunt-info, .dl-hunt-done{flex:0 1 380px; background:#15181d; border:1px solid var(--dl-line); border-radius:14px; padding:14px 16px;
  box-shadow:0 8px 22px rgba(0,0,0,0.35);}
.dl-hunt-done{border-color:#8a6a1c; background:linear-gradient(120deg, rgba(255,210,63,0.12), rgba(21,24,29,0) 70%), #15181d;}
@media (max-width:640px){ .dl-hunt-info, .dl-hunt-done{flex:1 1 100%;} }
@media (min-width:641px){ .dl-hunt-stats{justify-content:center;} }
/* v2.3.1 : places d'expédition */
.dl-exp-slots{display:inline-flex; align-items:center; gap:6px; padding:5px 11px; border-radius:999px; border:1px solid var(--dl-line); background:#13161a; font-size:.78rem; font-weight:600; color:var(--dl-soft); white-space:nowrap;}
.dl-exp-slots i{color:#7fd1ff;}
.dl-exp-slots.full{border-color:#8a5a14; color:var(--dl-gold);}
.dl-menu-note{margin-left:auto; font-size:.72rem; color:var(--dl-faint); font-variant-numeric:tabular-nums;}
.dl-pet-menu .dl-menu-off{opacity:.55;}
/* v2.3.2 : ×Tout */
.dl-open-opt.dl-open-all b{font-size:.86rem; letter-spacing:.01em;}
.dl-open-opt.dl-open-all:not(.locked):not(.on){border-color:#8a6a1c; background:linear-gradient(160deg, rgba(255,210,63,0.12), #0e1013);}
/* v2.3.2e : records du compte / de la vie */
.dl-rec-scope{display:inline-flex; gap:4px; padding:4px; border-radius:999px; background:#0e1013; border:1px solid var(--dl-line); margin:2px 0 6px;}
.dl-rec-scope button{border:0; background:none; color:var(--dl-soft); font:600 .85rem/1 inherit; font-family:inherit; padding:8px 14px; border-radius:999px; cursor:pointer; display:inline-flex; gap:7px; align-items:center;}
.dl-rec-scope button[aria-selected="true"]{background:var(--dl-gold); color:#2A1F0B;}
.dl-rec-scope button:focus-visible{outline:2px solid var(--dl-gold); outline-offset:2px;}
.dl-rec-scope-sub{margin-bottom:14px;}

/* =================== v2.4.0 : 5 apparences de coffre achetables =================== */
/* Jade : pierre verte polie, veines claires, liserés d'or */
.dl-stage[data-skin="jade"] :is(.coffre-lid,.coffre-body){border-color:#b88a1e; box-shadow:0 0 20px rgba(80,220,150,0.35), inset 0 0 0 2px rgba(255,215,0,0.35);}
.dl-stage[data-skin="jade"] :is(.coffre-lid,.coffre-body)::after,
.dl-skin-prev[data-skin="jade"] :is(.dl-sp-lid,.dl-sp-body)::after{opacity:.92; mix-blend-mode:normal;
  background:linear-gradient(115deg, transparent 30%, rgba(255,255,255,.28) 40%, transparent 50%),
    repeating-linear-gradient(32deg, transparent 0 14px, rgba(200,255,225,.18) 15px 16px, transparent 17px 31px),
    radial-gradient(70% 60% at 35% 30%, #4fd99a, #1f9a63 55%, #0e5a3a);
  background-size:220% 100%, 100% 100%, 100% 100%; animation:dl-sk-jade 5s ease-in-out infinite;}
@keyframes dl-sk-jade{0%,100%{background-position:120% 0, 0 0, 0 0;} 50%{background-position:-20% 0, 0 0, 0 0;}}
.dl-stage[data-skin="jade"] .coffre-band{background:linear-gradient(180deg, #fff3b0, #e6b422 50%, #9c7412); box-shadow:0 0 10px rgba(230,180,34,.6);}
.dl-stage[data-skin="jade"] :is(.coffre-belt,.coffre-lock){background:#0e3a26; color:#ffd700;}
.dl-skin-prev[data-skin="jade"] :is(.dl-sp-lid,.dl-sp-body){border-color:#b88a1e; box-shadow:0 0 8px rgba(80,220,150,.5);}
.dl-skin-prev[data-skin="jade"] .dl-sp-body::before{background:#e6b422;}

/* Récif de corail : rose et turquoise, petites bulles qui montent */
.dl-stage[data-skin="coral"] :is(.coffre-lid,.coffre-body){border-color:#0b4a55; box-shadow:0 0 22px rgba(70,220,230,0.4);}
.dl-stage[data-skin="coral"] :is(.coffre-lid,.coffre-body)::after,
.dl-skin-prev[data-skin="coral"] :is(.dl-sp-lid,.dl-sp-body)::after{opacity:.9; mix-blend-mode:normal;
  background:radial-gradient(circle at 20% 80%, rgba(255,255,255,.7) 0 2px, transparent 3px), radial-gradient(circle at 70% 60%, rgba(255,255,255,.6) 0 1.6px, transparent 2.6px),
    radial-gradient(circle at 45% 40%, rgba(255,255,255,.55) 0 2.4px, transparent 3.4px),
    radial-gradient(45% 55% at 15% 100%, #ff6b8d 0 40%, transparent 42%), radial-gradient(35% 45% at 85% 105%, #ffa64d 0 40%, transparent 42%),
    radial-gradient(28% 40% at 55% 108%, #ff8fb1 0 40%, transparent 42%),
    linear-gradient(180deg, #2fd1d6, #138a9e 60%, #0b4a5e);
  background-size:100% 160%, 100% 160%, 100% 160%, 100% 100%, 100% 100%, 100% 100%, 100% 100%; animation:dl-sk-bubbles 4s linear infinite;}
@keyframes dl-sk-bubbles{from{background-position:0 0, 0 30%, 0 60%, 0 0, 0 0, 0 0, 0 0;} to{background-position:0 -160%, 0 -130%, 0 -100%, 0 0, 0 0, 0 0, 0 0;}}
.dl-stage[data-skin="coral"] .coffre-band{background:linear-gradient(180deg, #ffd1dc, #ff6b8d); box-shadow:0 0 12px rgba(255,107,141,.6);}
.dl-stage[data-skin="coral"] :is(.coffre-belt,.coffre-lock){background:#0b4a55; color:#ffb3c6;}
.dl-skin-prev[data-skin="coral"] :is(.dl-sp-lid,.dl-sp-body){border-color:#0b4a55; box-shadow:0 0 8px rgba(70,220,230,.5);}
.dl-skin-prev[data-skin="coral"] .dl-sp-body::before{background:#ff6b8d;}

/* Rouages : laiton, engrenages et rivets */
.dl-stage[data-skin="gears"] :is(.coffre-lid,.coffre-body){border-color:#4a2e10; box-shadow:0 0 18px rgba(214,160,70,0.35), inset 0 0 0 3px rgba(60,36,10,.55);}
.dl-stage[data-skin="gears"] :is(.coffre-lid,.coffre-body)::after,
.dl-skin-prev[data-skin="gears"] :is(.dl-sp-lid,.dl-sp-body)::after{opacity:.95; mix-blend-mode:normal;
  background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 60 40'%3E%3Cg fill='none' stroke='%235a3a12' stroke-width='2.2' opacity='.55'%3E%3Ccircle cx='16' cy='20' r='9'/%3E%3Ccircle cx='16' cy='20' r='3'/%3E%3Cpath d='M16 6V9M16 31V34M2 20H5M27 20H30M6 10L8 12M24 28L26 30M6 30L8 28M24 12L26 10'/%3E%3Ccircle cx='44' cy='14' r='6'/%3E%3Ccircle cx='44' cy='14' r='2'/%3E%3Cpath d='M44 5V7M44 21V23M35 14H37M51 14H53'/%3E%3C/g%3E%3Cg fill='%23ffe3a0' opacity='.7'%3E%3Ccircle cx='4' cy='4' r='1.6'/%3E%3Ccircle cx='56' cy='36' r='1.6'/%3E%3Ccircle cx='56' cy='4' r='1.6'/%3E%3Ccircle cx='4' cy='36' r='1.6'/%3E%3C/g%3E%3C/svg%3E"),
    linear-gradient(115deg, transparent 35%, rgba(255,240,200,.35) 45%, transparent 55%),
    linear-gradient(160deg, #e0b25a, #b07a2a 50%, #6a4314);
  background-size:62px 42px, 220% 100%, 100% 100%; animation:dl-sk-gears 6s ease-in-out infinite;}
@keyframes dl-sk-gears{0%,100%{background-position:0 0, 120% 0, 0 0;} 50%{background-position:6px 0, -20% 0, 0 0;}}
.dl-stage[data-skin="gears"] .coffre-band{background:repeating-linear-gradient(180deg, #8a5a1e 0 6px, #d6a046 6px 12px); box-shadow:0 0 8px rgba(214,160,70,.5);}
.dl-stage[data-skin="gears"] :is(.coffre-belt,.coffre-lock){background:#3a240a; color:#ffd88a;}
.dl-skin-prev[data-skin="gears"] :is(.dl-sp-lid,.dl-sp-body){border-color:#4a2e10; box-shadow:0 0 8px rgba(214,160,70,.45);}
.dl-skin-prev[data-skin="gears"] :is(.dl-sp-lid,.dl-sp-body)::after{background-size:31px 21px, 220% 100%, 100% 100%;}
.dl-skin-prev[data-skin="gears"] .dl-sp-body::before{background:#d6a046;}

/* Pierre de lune : nacre irisée dont les reflets glissent */
.dl-stage[data-skin="moonstone"] :is(.coffre-lid,.coffre-body){border-color:#c9d6ff; box-shadow:0 0 26px rgba(190,200,255,0.5);}
.dl-stage[data-skin="moonstone"] :is(.coffre-lid,.coffre-body)::after,
.dl-skin-prev[data-skin="moonstone"] :is(.dl-sp-lid,.dl-sp-body)::after{opacity:.95; mix-blend-mode:normal;
  background:linear-gradient(120deg, rgba(255,160,230,.8), rgba(140,210,255,.8) 25%, rgba(170,255,200,.75) 50%, rgba(255,225,150,.75) 75%, rgba(255,160,230,.8)),
    radial-gradient(80% 70% at 40% 30%, #f4f6ff, #b8c2e8 60%, #7a84b8);
  background-size:300% 300%, 100% 100%; animation:dl-sk-moon 7s ease-in-out infinite;}
@keyframes dl-sk-moon{0%,100%{background-position:0% 50%, 0 0;} 50%{background-position:100% 50%, 0 0;}}
.dl-stage[data-skin="moonstone"] .coffre-band{background:linear-gradient(180deg, #ffffff, #c9d6ff); box-shadow:0 0 14px rgba(200,210,255,.8);}
.dl-stage[data-skin="moonstone"] :is(.coffre-belt,.coffre-lock){background:#5a6290; color:#f4f6ff;}
.dl-skin-prev[data-skin="moonstone"] :is(.dl-sp-lid,.dl-sp-body){border-color:#c9d6ff; box-shadow:0 0 10px rgba(190,200,255,.6);}
.dl-skin-prev[data-skin="moonstone"] .dl-sp-body::before{background:#ffffff;}

/* Druidique : bois moussu, lierre, runes vertes qui respirent */
.dl-stage[data-skin="druid"] :is(.coffre-lid,.coffre-body){border-color:#2a1a0c; box-shadow:0 0 22px rgba(120,230,110,0.35);}
.dl-stage[data-skin="druid"] :is(.coffre-lid,.coffre-body)::after,
.dl-skin-prev[data-skin="druid"] :is(.dl-sp-lid,.dl-sp-body)::after{opacity:.95; mix-blend-mode:normal;
  background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 60 40'%3E%3Cpath d='M0 6C10 2 18 10 28 6S46 2 60 8' stroke='%232f7a2a' stroke-width='2.4' fill='none'/%3E%3Cg fill='%234fbf3a'%3E%3Cpath d='M10 5C8 1 12 0 13 3C14 0 18 2 15 5Z'/%3E%3Cpath d='M32 5C30 1 34 0 35 3C36 0 40 2 37 5Z'/%3E%3Cpath d='M50 6C48 2 52 1 53 4C54 1 58 3 55 6Z'/%3E%3C/g%3E%3Cg fill='none' stroke='%237bff6a' stroke-width='1.3' stroke-linecap='round' opacity='.75'%3E%3Cpath d='M14 18V32M14 22L20 18M14 26L20 22'/%3E%3Cpath d='M40 18L44 26 48 18M44 26V32'/%3E%3C/g%3E%3C/svg%3E"),
    radial-gradient(40% 30% at 20% 15%, rgba(110,180,70,.55), transparent 70%), radial-gradient(35% 25% at 80% 20%, rgba(110,180,70,.45), transparent 70%),
    repeating-linear-gradient(90deg, rgba(0,0,0,.14) 0 2px, transparent 2px 11px),
    linear-gradient(170deg, #6a4826, #3e2812 60%, #241608);
  background-size:62px 42px, 100% 100%, 100% 100%, 100% 100%, 100% 100%; animation:dl-sk-druid 3.6s ease-in-out infinite;}
@keyframes dl-sk-druid{0%,100%{filter:brightness(.95);} 50%{filter:brightness(1.12) drop-shadow(0 0 4px rgba(123,255,106,.6));}}
.dl-stage[data-skin="druid"] .coffre-band{background:linear-gradient(180deg, #8a6a3a, #5a3e1c); box-shadow:inset 0 0 0 2px #2f7a2a, 0 0 10px rgba(123,255,106,.35);}
.dl-stage[data-skin="druid"] :is(.coffre-belt,.coffre-lock){background:#1f3a12; color:#9dff8a;}
.dl-skin-prev[data-skin="druid"] :is(.dl-sp-lid,.dl-sp-body){border-color:#2a1a0c; box-shadow:0 0 8px rgba(120,230,110,.45);}
.dl-skin-prev[data-skin="druid"] :is(.dl-sp-lid,.dl-sp-body)::after{background-size:31px 21px, 100% 100%, 100% 100%, 100% 100%, 100% 100%;}
.dl-skin-prev[data-skin="druid"] .dl-sp-body::before{background:#4fbf3a;}
@media (prefers-reduced-motion: reduce){
  .dl-stage[data-skin="jade"] :is(.coffre-lid,.coffre-body)::after, .dl-stage[data-skin="coral"] :is(.coffre-lid,.coffre-body)::after,
  .dl-stage[data-skin="gears"] :is(.coffre-lid,.coffre-body)::after, .dl-stage[data-skin="moonstone"] :is(.coffre-lid,.coffre-body)::after,
  .dl-stage[data-skin="druid"] :is(.coffre-lid,.coffre-body)::after, .dl-skin-prev :is(.dl-sp-lid,.dl-sp-body)::after{animation:none;}
}
/* v2.4.0 : nouveaux accessoires */
.dl-acc-halo{transform:translate(-50%, -175%) rotate(10deg); animation:dl-halo 3s ease-in-out infinite;}
.dl-acc-halo .dl-acc-svg{width:1.3em; height:.65em; filter:drop-shadow(0 0 4px rgba(255,214,63,.8));}
@keyframes dl-halo{0%,100%{margin-top:0;} 50%{margin-top:-.08em;}}
.dl-acc-opt .dl-acc-halo, .dl-acc-opt.dl-acc-halo{animation:none;}
.dl-acc-patch .dl-acc-svg{width:1.5em; height:.95em;}
.dl-acc-eyes.dl-acc-patch{font-size:.3em;}
.dl-acc-viking{font-size:.42em;}
.dl-acc-laurel{transform:translate(-50%, -78%) rotate(10deg); font-size:.46em;}
@media (prefers-reduced-motion: reduce){ .dl-acc-halo{animation:none;} }

/* =================== v2.4.0 : 7 nouveaux filtres =================== */
.dl-filter [class^="dl-ph-"], .dl-filter [class^="dl-px-"], .dl-filter [class^="dl-aq-"], .dl-filter [class^="dl-au-"],
.dl-filter [class^="dl-lu-"], .dl-filter [class^="dl-go-"], .dl-filter [class^="dl-ka-"]{position:absolute; pointer-events:none;}
/* Sépia : vieille photo couleur, chaude et un peu passée */
.dl-filter-sepia{-webkit-backdrop-filter:sepia(.55) saturate(1.25) contrast(1.05) brightness(1.02); backdrop-filter:sepia(.55) saturate(1.25) contrast(1.05) brightness(1.02);
  background:radial-gradient(ellipse at center, transparent 60%, rgba(90,50,20,0.55) 100%); box-shadow:inset 0 0 0 10px rgba(250,240,220,.85), inset 0 0 0 11px rgba(120,90,60,.4);}
.dl-ph-leak{inset:-20%; background:radial-gradient(40% 50% at 0% 20%, rgba(255,140,60,.28), transparent 70%), radial-gradient(30% 40% at 100% 90%, rgba(255,90,90,.18), transparent 70%); animation:dl-ph-leak 9s ease-in-out infinite;}
@keyframes dl-ph-leak{0%,100%{transform:translateX(0); opacity:.7;} 50%{transform:translateX(4%); opacity:1;}}
.dl-ph-dust{inset:0; opacity:.35; background:radial-gradient(circle at 20% 30%, rgba(60,40,20,.5) 0 1px, transparent 1.5px), radial-gradient(circle at 70% 60%, rgba(60,40,20,.45) 0 1px, transparent 1.5px), radial-gradient(circle at 45% 85%, rgba(255,250,235,.6) 0 1px, transparent 1.5px); background-size:180px 160px, 220px 200px, 160px 140px;}
.dl-ph-flash{position:fixed; inset:0; left:0 !important; top:0 !important; background:#fffaf0; animation:dl-ph-flash .7s ease-out forwards;}
@keyframes dl-ph-flash{0%{opacity:.85;} 100%{opacity:0;}}
/* Pixel : grille de pixels et couleurs vives */
.dl-filter-pixel{-webkit-backdrop-filter:contrast(1.25) saturate(1.45); backdrop-filter:contrast(1.25) saturate(1.45);}
.dl-px-grid{inset:0; background:linear-gradient(90deg, rgba(0,0,0,.22) 1px, transparent 1px), linear-gradient(0deg, rgba(0,0,0,.22) 1px, transparent 1px); background-size:4px 4px; mix-blend-mode:multiply;}
.dl-px-burst{position:fixed; width:0; height:0;}
.dl-px-burst b{position:absolute; width:8px; height:8px; left:-4px; top:-4px; animation:dl-px-burst .8s steps(5) forwards;}
@keyframes dl-px-burst{0%{transform:translate(0,0); opacity:1;} 100%{transform:translate(var(--x), var(--y)); opacity:0;}}
/* Aquarelle : papier, couleurs douces qui bavent */
.dl-filter-aquarelle{-webkit-backdrop-filter:saturate(1.3) brightness(1.05) blur(.4px); backdrop-filter:saturate(1.3) brightness(1.05) blur(.4px);}
.dl-aq-paper{inset:0; opacity:.1; mix-blend-mode:multiply;
  background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='220' height='220'%3E%3Cfilter id='p'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.035' numOctaves='4'/%3E%3CfeColorMatrix values='0 0 0 0 .55 0 0 0 0 .5 0 0 0 0 .42 0 0 0 1 0'/%3E%3C/filter%3E%3Crect width='220' height='220' filter='url(%23p)'/%3E%3C/svg%3E");}
.dl-aq-bloom{border-radius:50%; background:radial-gradient(circle, var(--c), transparent 65%); mix-blend-mode:screen; animation:dl-aq-drift 24s ease-in-out infinite;}
@keyframes dl-aq-drift{0%,100%{transform:translate(0,0) scale(1);} 50%{transform:translate(6vw,4vh) scale(1.15);}}
.dl-aq-drop{position:fixed; width:20px; height:20px; margin:-10px 0 0 -10px; border-radius:50%; background:radial-gradient(circle, var(--c), transparent 70%); opacity:.55; mix-blend-mode:screen; animation:dl-aq-drop 1.6s ease-out forwards;}
@keyframes dl-aq-drop{0%{transform:scale(.3); opacity:.7;} 100%{transform:scale(9); opacity:0;}}
/* Feuilles d'automne */
.dl-au-warm{inset:0; background:linear-gradient(180deg, rgba(255,150,60,.06), rgba(180,70,20,.12));}
.dl-au-leaf{top:-24px; border-radius:0 100% 0 100%; background:var(--lc); box-shadow:inset -2px -1px 0 rgba(0,0,0,.2); animation:dl-au-fall 10s linear infinite;}
@keyframes dl-au-fall{0%{transform:translate(0,0) rotate(0);} 25%{transform:translate(calc(var(--dx) * .4), 26vh) rotate(calc(var(--r) * .25));} 50%{transform:translate(calc(var(--dx) * -.2), 52vh) rotate(calc(var(--r) * .5));} 75%{transform:translate(calc(var(--dx) * .6), 78vh) rotate(calc(var(--r) * .75));} 100%{transform:translate(var(--dx), 108vh) rotate(var(--r));}}
/* Lucioles */
.dl-lu-dusk{inset:0; background:radial-gradient(ellipse at center, transparent 45%, rgba(10,20,30,.45) 100%);}
.dl-lu-fly{border-radius:50%; background:#f4ff9a; box-shadow:0 0 8px #e6ff6a, 0 0 18px rgba(200,255,90,.6); animation:dl-lu-wander 7s ease-in-out infinite alternate, dl-lu-blink 2s ease-in-out infinite;}
@keyframes dl-lu-wander{0%{transform:translate(0,0);} 100%{transform:translate(var(--dx), var(--dy));}}
@keyframes dl-lu-blink{0%,100%{opacity:.2;} 50%{opacity:1;}}
.dl-lu-swarm{position:fixed; width:0; height:0;}
.dl-lu-swarm b{position:absolute; width:5px; height:5px; border-radius:50%; background:#f4ff9a; box-shadow:0 0 8px #e6ff6a; animation:dl-lu-up 1.5s ease-out forwards;}
@keyframes dl-lu-up{0%{transform:translate(0,0); opacity:1;} 100%{transform:translate(var(--x), var(--y)); opacity:0;}}
/* Pluie d'or */
.dl-go-coin{top:-20px; border-radius:50%; background:radial-gradient(circle at 35% 35%, #fff6c8, #ffd23f 45%, #b8860b); box-shadow:0 0 6px rgba(255,210,63,.6); animation:dl-go-fall 5s linear infinite, dl-go-spin 1.2s linear infinite;}
@keyframes dl-go-fall{from{transform:translateY(0);} to{transform:translateY(110vh);}}
@keyframes dl-go-spin{0%,100%{scale:1 1;} 50%{scale:.15 1;}}
.dl-go-burst{position:fixed; width:0; height:0;}
.dl-go-burst b{position:absolute; width:12px; height:12px; left:-6px; top:-6px; border-radius:50%; background:radial-gradient(circle at 35% 35%, #fff6c8, #ffd23f 45%, #b8860b); animation:dl-go-pop 1s cubic-bezier(.2,.7,.3,1) forwards;}
@keyframes dl-go-pop{0%{transform:translate(0,0); opacity:1;} 70%{opacity:1;} 100%{transform:translate(var(--x), calc(var(--y) + 80px)); opacity:0;}}
/* Kaléidoscope : rosaces colorées qui tournent lentement */
.dl-ka-wheel{left:50%; top:50%; width:160vmax; height:160vmax; margin:-80vmax 0 0 -80vmax; opacity:.1; mix-blend-mode:color;
  background:repeating-conic-gradient(from 0deg, #ff4d8d 0 15deg, #ffd23f 15deg 30deg, #4fe08a 30deg 45deg, #6fd3ff 45deg 60deg, #b98cff 60deg 75deg, #ff8a3d 75deg 90deg); animation:dl-ka-spin 60s linear infinite;}
.dl-ka-wheel.k2{opacity:.06; mix-blend-mode:overlay; animation-direction:reverse; animation-duration:90s;}
@keyframes dl-ka-spin{to{transform:rotate(360deg);}}
.dl-ka-bloom{position:fixed; width:180px; height:180px; margin:-90px 0 0 -90px; border-radius:50%; mix-blend-mode:screen;
  background:repeating-conic-gradient(from 0deg, rgba(255,77,141,.6) 0 20deg, rgba(255,210,63,.6) 20deg 40deg, rgba(111,211,255,.6) 40deg 60deg);
  -webkit-mask:radial-gradient(circle, transparent 25%, #000 26% 60%, transparent 61%); mask:radial-gradient(circle, transparent 25%, #000 26% 60%, transparent 61%);
  animation:dl-ka-bloom 1.4s ease-out forwards;}
@keyframes dl-ka-bloom{0%{transform:scale(.2) rotate(0); opacity:1;} 100%{transform:scale(1.6) rotate(120deg); opacity:0;}}
@media (prefers-reduced-motion: reduce){
  .dl-ph-leak, .dl-aq-bloom, .dl-au-leaf, .dl-lu-fly, .dl-go-coin, .dl-ka-wheel{animation:none;}
  .dl-au-leaf, .dl-go-coin{display:none;}
}
/* aperçus dans la boutique */
.dl-flt-prev-sepia{background:radial-gradient(ellipse at center, transparent 50%, rgba(90,50,20,.6)), linear-gradient(160deg, #e8c89a, #a8784a); color:#5a3a1e; box-shadow:inset 0 0 0 5px #f8f0e0;}
.dl-flt-prev-pixel{background:linear-gradient(90deg, rgba(0,0,0,.3) 1px, transparent 1px) 0 0/4px 4px, linear-gradient(0deg, rgba(0,0,0,.3) 1px, transparent 1px) 0 0/4px 4px, linear-gradient(135deg, #ff4d5e, #6fd3ff); color:#fff; text-shadow:2px 2px 0 #1a1210;}
.dl-flt-prev-aquarelle{background:radial-gradient(circle at 30% 35%, rgba(255,120,150,.6), transparent 45%), radial-gradient(circle at 70% 60%, rgba(120,190,255,.6), transparent 45%), radial-gradient(circle at 45% 80%, rgba(255,210,110,.6), transparent 40%), #f4efe6; color:#7a4a6a;}
.dl-flt-prev-automne{background:radial-gradient(circle at 25% 30%, #e8741a 0 4px, transparent 5px), radial-gradient(circle at 70% 55%, #d7263d 0 4px, transparent 5px), radial-gradient(circle at 45% 80%, #f2c46d 0 4px, transparent 5px), linear-gradient(180deg, #6a3a1a, #2a1408); color:#ffb020;}
.dl-flt-prev-lucioles{background:radial-gradient(circle at 25% 40%, #f4ff9a 0 2px, rgba(230,255,106,.4) 3px, transparent 7px), radial-gradient(circle at 70% 30%, #f4ff9a 0 2px, rgba(230,255,106,.4) 3px, transparent 7px), radial-gradient(circle at 55% 75%, #f4ff9a 0 2px, rgba(230,255,106,.4) 3px, transparent 7px), linear-gradient(180deg, #0e2030, #050c12); color:#e6ff6a;}
.dl-flt-prev-pluieor{background:radial-gradient(circle at 30% 30%, #ffd23f 0 4px, transparent 5px), radial-gradient(circle at 65% 55%, #ffd23f 0 4px, transparent 5px), radial-gradient(circle at 40% 80%, #ffd23f 0 4px, transparent 5px), linear-gradient(180deg, #3a2a08, #120c02); color:#ffd23f;}
.dl-flt-prev-kaleido{background:repeating-conic-gradient(from 0deg, #ff4d8d 0 20deg, #ffd23f 20deg 40deg, #4fe08a 40deg 60deg, #6fd3ff 60deg 80deg, #b98cff 80deg 100deg); color:#fff; text-shadow:0 0 6px rgba(0,0,0,.7);}

/* ===================================================================
   v3.0.0 — après la légende (Trésor éternel, Reliques) et Aide (À faire, Guide)
   =================================================================== */
.dl-legend-lock{display:flex; gap:14px; align-items:flex-start; background:var(--dl-panel); border:1px dashed #4a3a6a; border-radius:18px; padding:16px;}
.dl-legend-lock > div{flex:1; min-width:0; display:flex; flex-direction:column; gap:8px;}
.dl-legend-lock b{font-size:1.1rem;} .dl-legend-lock p{margin:0; color:var(--dl-soft); font-size:.86rem; line-height:1.5;}
.dl-legend-lock-icon{flex:0 0 auto; width:48px; height:48px; border-radius:14px; display:flex; align-items:center; justify-content:center; font-size:1.3rem; color:#d9a8ff;
  background:radial-gradient(circle at 50% 40%, rgba(185,140,255,.28), #121418);}
.dl-eternal{display:flex; gap:16px; flex-wrap:wrap; background:var(--dl-panel); border:1px solid #5a4418; border-radius:18px; padding:12px; margin-bottom:6px;
  box-shadow:0 0 22px rgba(244,185,66,.08) inset;}
.dl-eternal-art{flex:1 1 240px; max-width:340px; border-radius:14px; overflow:hidden; line-height:0;
  background:radial-gradient(120% 90% at 50% 20%, #2a2318 0%, #14110c 70%); border:1px solid #2a2320;}
.dl-eternal-svg{width:100%; height:auto; display:block;}
.dl-eternal-info{flex:1 1 240px; display:flex; flex-direction:column; justify-content:center; gap:9px; padding:4px 6px; min-width:0;}
.dl-eternal-info > b{font-size:1.15rem; color:var(--dl-gold);}
.dl-eternal-perks{display:flex; flex-wrap:wrap; gap:6px; align-items:center; font-size:.76rem;}
.dl-eternal-perks small{width:100%; color:var(--dl-faint);}
.dl-eternal-perks span{display:inline-flex; align-items:center; gap:5px; background:#121418; border:1px solid var(--dl-line); border-radius:999px; padding:3px 9px; color:var(--dl-soft);}
/* v3.0.0b : disposition fixe (10 % | 50 %, puis « Tout offrir » seul sur sa ligne) : les boutons ne bougent plus quand les montants changent */
.dl-eternal-btns{display:grid; grid-template-columns:1fr 1fr; gap:8px; max-width:420px;}
.dl-eternal-btns .dl-btn{justify-content:center; white-space:nowrap; min-width:0;}
.dl-eternal-btns [data-id="100"]{grid-column:1 / -1; margin-top:4px;}
.dl-eternal-total{color:var(--dl-faint); font-size:.74rem;}
.dl-et-rays{transform-origin:110px 74px; animation:dl-et-spin 40s linear infinite;}
.dl-et-aurora{animation:dl-breathe 5s ease-in-out infinite;}
.dl-et-spark circle{animation:dl-et-twinkle 2.4s ease-in-out infinite;} .dl-et-spark circle:nth-child(2n){animation-delay:-1.2s;}
@keyframes dl-et-spin{to{transform:rotate(360deg);}}
@keyframes dl-et-twinkle{0%,100%{opacity:.2;} 50%{opacity:1;}}
.dl-eternal.dl-et-pulse .dl-eternal-art{animation:dl-lair-pop .6s ease;}
.dl-eternal.dl-et-up .dl-eternal-art{animation:dl-lair-pop .9s ease; box-shadow:0 0 30px rgba(255,210,63,.55);}
.dl-relic-grid{display:grid; grid-template-columns:repeat(auto-fill, minmax(250px, 1fr)); gap:10px;}
.dl-relic{display:flex; gap:12px; background:var(--dl-panel); border:1px solid var(--dl-line); border-radius:16px; padding:12px 14px;}
.dl-relic.part{border-color:#4a3a6a;}
.dl-relic.on{border-color:#8a5cd6; box-shadow:0 0 14px rgba(185,140,255,.22);}
.dl-relic-icon{flex:0 0 auto; width:44px; height:44px; border-radius:14px; display:flex; align-items:center; justify-content:center; font-size:1.2rem; color:#c9a6ff;
  background:radial-gradient(circle at 50% 40%, rgba(185,140,255,.25), #121418);}
.dl-relic:not(.on) .dl-relic-icon{color:#8a7ea0; filter:saturate(.6);}
.dl-relic-info{flex:1; min-width:0; display:flex; flex-direction:column; gap:5px; align-items:flex-start;}
.dl-relic-info > b{font-size:.92rem;} .dl-relic-info > small{color:var(--dl-faint); font-size:.78rem; line-height:1.4;}
.dl-relic-info .dl-ach-prog{width:100%;} .dl-relic-info .dl-ach-prog .dl-level-track{flex:1;}
.dl-relic .dl-ach-prog .dl-level-fill{background:linear-gradient(90deg, #7a3cff, #d9a8ff);}
/* Aide : à faire */
.dl-todos{display:flex; flex-direction:column; gap:8px; margin-bottom:8px;}
.dl-todo{display:flex; align-items:center; gap:12px; background:var(--dl-panel); border:1px solid var(--dl-line); border-radius:14px; padding:10px 12px;}
.dl-todo-do{border-color:#5a4418;}
.dl-todo-ic{flex:0 0 auto; width:38px; height:38px; border-radius:12px; display:flex; align-items:center; justify-content:center; color:var(--dl-gold);
  background:radial-gradient(circle at 50% 40%, rgba(244,185,66,0.2), #121418);}
.dl-todo-info .dl-todo-ic{color:#9fd8ff; background:radial-gradient(circle at 50% 40%, rgba(90,170,240,0.18), #121418);}
.dl-todo-txt{flex:1; min-width:0; font-size:.88rem; line-height:1.4;}
.dl-todo .dl-btn{flex:0 0 auto; padding:8px 12px;}
.dl-todo-none{display:flex; align-items:center; gap:8px; color:#7be38c; font-size:.9rem; background:var(--dl-panel); border:1px solid var(--dl-line); border-radius:14px; padding:12px 14px;}
.dl-todo-tip{margin:14px 0 0; font-size:.82rem; color:var(--dl-soft); line-height:1.5; background:#121418; border:1px dashed var(--dl-line); border-radius:14px; padding:10px 12px;}
.dl-todo-tip :is(i,svg){color:#ffe680; margin-right:4px;}
/* Aide : guide */
.dl-guide{display:flex; flex-direction:column; gap:8px;}
.dl-guide-sec{background:var(--dl-panel); border:1px solid var(--dl-line); border-radius:14px; overflow:hidden;}
.dl-guide-sec > summary{display:flex; align-items:center; gap:12px; padding:10px 12px; cursor:pointer; list-style:none;}
.dl-guide-sec > summary::-webkit-details-marker{display:none;}
.dl-guide-sec > summary b{flex:1; min-width:0; font-size:.92rem;}
.dl-guide-ic{flex:0 0 auto; width:34px; height:34px; border-radius:10px; display:flex; align-items:center; justify-content:center; color:var(--dl-gold); background:#121418;}
.dl-guide-chev{color:var(--dl-faint); transition:transform .2s ease;}
.dl-guide-sec[open] .dl-guide-chev{transform:rotate(180deg);}
.dl-guide-sec[open]{border-color:#5a4418;}
.dl-guide-lock{color:var(--dl-faint); font-size:.74rem; text-align:right;}
.dl-guide-new{font-style:normal; font:700 .62rem "Inter", sans-serif; letter-spacing:.06em; text-transform:uppercase; color:#2A1F0B; background:#6fd3ff; border-radius:999px; padding:2px 8px;}
.dl-guide-sec.locked{opacity:.65;} .dl-guide-sec.locked .dl-guide-ic{color:var(--dl-faint);}
.dl-guide-body{padding:0 14px 12px 58px; display:flex; flex-direction:column; gap:8px; align-items:flex-start;}
.dl-guide-body p{margin:0; font-size:.85rem; color:var(--dl-soft); line-height:1.55;}
@media (max-width:600px){ .dl-guide-body{padding-left:14px;} }
.dl-toast .dl-toast-link{pointer-events:auto; margin-top:4px; background:none; border:1px solid #2f5b7a; color:#9fd8ff; border-radius:999px; padding:3px 10px; font:600 .72rem "Inter", sans-serif; cursor:pointer;}
@media (prefers-reduced-motion: reduce){ .dl-eternal-svg *, .dl-eternal .dl-eternal-art{animation:none !important;} }
html.dle-reduce .dl-eternal-svg *{animation:none !important;}
.dl-hatch-btns{display:flex; gap:10px; justify-content:center; flex-wrap:wrap;}
/* v3.0.0b : guide court de l'accueil */
.dl-hguide{display:flex; flex-direction:column; gap:8px;}
.dl-hg{display:flex; gap:12px; align-items:flex-start; background:#121418; border:1px solid #2a2f37; border-radius:14px; padding:10px 12px; transition:border-color .3s ease;}
.dl-hg b{font-size:.92rem; color:var(--dl-ink);} .dl-hg p{margin:3px 0 0; font-size:.84rem; color:var(--dl-soft); line-height:1.5;}
.dl-hg.hl{border-color:var(--dl-gold); box-shadow:0 0 0 1px rgba(244,185,66,.35);}
/* v3.0.0d : refuser les nouveaux œufs */
.dl-dragon-tools .dl-egg-pref{margin-left:auto;}
.dl-egg-pref > span:first-child{display:inline-flex; align-items:center; gap:6px;}
.dl-egg-off{margin:-4px 0 12px; font-size:.8rem; color:#ffb070;}
@media (max-width:600px){ .dl-dragon-tools .dl-egg-pref{margin-left:0;} }
