/* Écrans hors combat (jalon 2) — même charte que hud.css : Lilita One + Nunito, contour #1E1430, boutons très arrondis,
   doré = action principale, violet = secondaire, vert = récolter / activé, rouge = pastilles. Repère de 390 px de large. */
#meta{position:absolute;inset:0;z-index:10;pointer-events:none}
#meta>*{pointer-events:auto}
.scr{position:absolute;inset:0;overflow:hidden;display:none}
.scr.on{display:block}
.scr.in{animation:scrin .2s ease-out}
@keyframes scrin{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}
.scr.solid{background:linear-gradient(#241754,#3a2478 38%,#5a3189 72%,#7a3f8c)}
.scr.see{pointer-events:none}.scr.see>*{pointer-events:auto}            /* écran posé sur la scène 3D : le fond laisse voir le canvas */
.cchip{display:inline-flex;align-items:center;gap:5px;height:28px;padding:0 9px 0 5px;border-radius:999px;background:rgba(24,15,48,.88);border:3px solid var(--o);font:900 13px/1 Nun;color:#fff;white-space:nowrap;flex:none}
.cchip svg,.cchip .coin{flex:none}
.coin{display:inline-block;width:17px;height:17px;border-radius:50%;background:var(--gold);border:2.5px solid var(--o);box-shadow:inset 0 2px 0 rgba(255,255,255,.55)}
.badge{position:absolute;right:-6px;top:-7px;min-width:21px;height:21px;border-radius:11px;background:linear-gradient(#ff7a6a,#e0303a);border:3px solid var(--o);font:900 12px/15px Nun;color:#fff;text-align:center;padding:0 3px;z-index:3;-webkit-text-stroke:0}
.badge.hide{display:none}
.sq{width:46px;height:46px;border-radius:14px;border:4px solid var(--o);background:var(--vio);box-shadow:0 4px 0 var(--o),inset 0 3px 0 rgba(255,255,255,.3);display:flex;align-items:center;justify-content:center;flex:none}
.sq:active{transform:translateY(3px);box-shadow:0 1px 0 var(--o)}
/* --- en-tête des écrans secondaires --- */
.hdr{position:absolute;left:0;right:0;top:0;height:calc(66px + var(--st));padding:calc(10px + var(--st)) 12px 0;display:flex;align-items:flex-start;gap:10px;background:linear-gradient(rgba(28,18,66,.96),rgba(28,18,66,.9));border-bottom:4px solid rgba(20,12,44,.9);z-index:4}
.hdr h2{margin:0;font-weight:400;font-size:23px;line-height:28px;flex:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;padding-left:10px}  /* 1re ligne : titre ; la 2e ligne reçoit la puissance d'équipe (#pwr) */
.hdr .hr{display:flex;gap:5px;align-items:center;height:28px;flex:none}
.scr.see .hdr{background:linear-gradient(rgba(28,18,66,.9),rgba(28,18,66,.55));border-bottom-color:transparent}
/* --- accueil --- */
.h-top{position:absolute;left:8px;right:8px;top:calc(8px + var(--st));height:66px}
.ava{position:absolute;left:2px;top:2px;width:58px;height:58px;border-radius:16px;border:4px solid var(--o);background:#f2a541;box-shadow:0 4px 0 var(--o);overflow:visible}
.ava .pt{width:100%;height:100%;border-radius:11px}
.ava b{position:absolute;right:-9px;bottom:-9px;min-width:26px;height:24px;padding:0 5px;border-radius:9px;background:var(--gold);border:3px solid var(--o);font-family:Lilita;font-size:15px;line-height:18px;color:var(--o);text-align:center;font-weight:400}
.who2{position:absolute;left:70px;top:0;width:96px}
.who2 .nm{font-size:18px;line-height:24px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;padding:0 3px;margin:0 -3px}
.curs{position:absolute;right:0;top:2px;display:flex;gap:4px;justify-content:flex-end}
.curs .cchip{padding:0 7px 0 4px;gap:4px}
.h-top .menu{position:absolute;right:0;top:36px;width:42px;height:38px;border-radius:12px}
.side{position:absolute;top:calc(112px + var(--st));display:flex;flex-direction:column;gap:7px;width:66px;align-items:center}
.side.l{left:6px}.side.r{right:6px}
.sbtn{position:relative;width:66px;background:none;border:0;display:flex;flex-direction:column;align-items:center;gap:2px}
.sbtn .ic{position:relative;width:54px;height:54px;border-radius:16px;border:4px solid var(--o);background:linear-gradient(#3b2f6e,#241a4e);box-shadow:0 4px 0 var(--o),inset 0 3px 0 rgba(255,255,255,.14);display:flex;align-items:center;justify-content:center}
.sbtn .lb{position:relative;z-index:1;margin-top:3px;font-family:Lilita;font-size:12px;line-height:15px;-webkit-text-stroke:3px var(--o);paint-order:stroke fill;letter-spacing:.02em}
.sbtn.lock .ic{background:linear-gradient(#4a4466,#34304c);box-shadow:0 4px 0 var(--o)}
.sbtn.lock .ic>svg{opacity:.35}.sbtn.lock .lb{color:#8f88ab}
.sbtn .pad{position:absolute;right:-7px;bottom:-6px;width:22px;height:22px;border-radius:8px;background:#f2a541;border:3px solid var(--o);display:flex;align-items:center;justify-content:center}
.bubble{position:absolute;left:0;right:0;display:flex;justify-content:center;pointer-events:none!important;z-index:2}
.bubble span{position:relative;background:#fff;color:var(--o);font:900 14px/18px Nun;padding:9px 15px;border-radius:17px;border:4px solid var(--o);box-shadow:0 5px 0 rgba(30,20,48,.5);max-width:212px;text-align:center;animation:tipin .3s cubic-bezier(.2,1.4,.4,1) backwards}
.bubble span::after{content:"";position:absolute;left:calc(50% + var(--tx,0px));bottom:-15px;margin-left:-10px;border-left:10px solid transparent;border-right:10px solid transparent;border-top:14px solid var(--o)}
.bubble span::before{content:"";position:absolute;left:calc(50% + var(--tx,0px));bottom:-8px;margin-left:-7px;border-left:7px solid transparent;border-right:7px solid transparent;border-top:10px solid #fff;z-index:1}
.h-zone{position:absolute;left:76px;right:76px;background:none;border:0}
.pill{position:absolute;left:50%;transform:translateX(-50%);height:34px;padding:0 16px 0 12px;border-radius:999px;border:4px solid var(--o);background:var(--vio);box-shadow:0 4px 0 var(--o),inset 0 3px 0 rgba(255,255,255,.3);display:flex;align-items:center;gap:6px;font-family:Lilita;font-size:15px;-webkit-text-stroke:3px var(--o);paint-order:stroke fill;white-space:nowrap}
.pill::before{content:"";position:absolute;inset:-9px -6px}                                   /* zone tactile ≥ 44 px */
.pill:active{transform:translateX(-50%) translateY(3px);box-shadow:0 1px 0 var(--o)}
.loot{position:absolute;left:12px;right:12px;bottom:calc(172px + var(--sb));height:58px;border-radius:20px;background:rgba(30,20,62,.94);border:4px solid var(--o);box-shadow:0 5px 0 rgba(0,0,0,.35);display:flex;align-items:center;gap:8px;padding:0 6px 0 9px}
.loot .mid{flex:1;min-width:0}
.loot .r1{display:flex;justify-content:space-between;align-items:baseline;gap:6px;font:900 13px/16px Nun;white-space:nowrap}
.loot .r1 b{color:#fff;font-weight:900;overflow:hidden;text-overflow:ellipsis}.loot .r1 i{color:#ffd84a;font-style:normal;flex:none}
.loot .bar{height:11px;border-width:2.5px;margin-top:4px}.loot .bar i{background:var(--gold);transition:none}
.gbtn{position:relative;height:42px;padding:0 12px;border-radius:14px;border:4px solid var(--o);background:var(--grn);box-shadow:0 4px 0 var(--o),inset 0 3px 0 rgba(255,255,255,.45);font-family:Lilita;font-size:16px;-webkit-text-stroke:3px var(--o);paint-order:stroke fill;flex:none;display:flex;align-items:center;justify-content:center;white-space:nowrap}
.gbtn:active{transform:translateY(3px);box-shadow:0 1px 0 var(--o)}
.gbtn.off,.btn.off{filter:saturate(.25) brightness(.72)}
.fightb{position:absolute;left:38px;right:38px;bottom:calc(88px + var(--sb));height:74px!important;flex-direction:column;border-radius:24px!important;padding:0!important}
.fightb .t{font-size:33px;line-height:36px;color:#fff;-webkit-text-stroke-width:6px}
.fightb i{font:900 13px/15px Nun;color:var(--o);font-style:normal;margin-top:-1px}
.tabs{position:absolute;left:0;right:0;bottom:0;height:calc(76px + var(--sb));padding-bottom:var(--sb);background:linear-gradient(#33246e,#221650);border-top:4px solid var(--o);display:flex}
.tab{position:relative;flex:1;background:none;border:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1px}
.tab .ti{position:relative;height:40px;display:flex;align-items:center}
.tab .lb{font-family:Lilita;font-size:13px;line-height:15px;-webkit-text-stroke:3px var(--o);paint-order:stroke fill;letter-spacing:.03em}
.tab.lock .ti>svg{opacity:.4}.tab.lock .lb{color:#8f88ab}
.tab .badge{right:-14px;top:-2px}
.tab:active .ti{transform:translateY(2px)}
/* --- choix du premier héros --- */
.st-title{position:absolute;left:10px;right:10px;top:calc(22px + var(--st));text-align:center}
.st-title h2{margin:0;font-weight:400;font-size:27px;line-height:32px;color:#ffe45e;-webkit-text-stroke-width:6px}
.st-title p{margin:6px auto 0;font:800 13px/17px Nun;color:#e7deff;max-width:300px}
.st-cols{position:absolute;left:8px;right:8px;top:calc(118px + var(--st));bottom:calc(98px + var(--sb));display:flex;gap:9px;pointer-events:none!important}
.st-cols>*{pointer-events:auto}
.st-col{flex:1;min-width:0;background:none;border:0;display:flex;flex-direction:column;justify-content:flex-end;padding:0;text-align:center}
.st-card{background:rgba(26,16,56,.93);border:4px solid var(--o);border-radius:18px;margin:0;padding:8px 6px 10px;display:flex;flex-direction:column;align-items:center;gap:5px;transition:transform .16s,box-shadow .16s,background .16s}
.st-card .nm{font-size:17px;line-height:20px;padding:0 3px;min-height:40px;display:flex;align-items:center}
.st-card .rl{font:800 11.5px/14.5px Nun;color:#e7deff;min-height:58px}
/* héros choisi : sa carte est surlignée (contour doré lumineux) ; son socle s'éclaire et il grandit dans la scène 3D */
.st-col.sel .st-card{background:rgba(52,36,100,.97);box-shadow:0 0 0 3px #ffe45e,0 0 0 6px var(--o),0 0 20px 8px rgba(255,214,70,.8);transform:translateY(-6px)}
.st-col.sel .st-card .nm{color:#ffe45e}
.st-go{position:absolute;left:30px;right:30px;bottom:calc(22px + var(--sb))}
.rchip{display:inline-block;padding:1px 9px;border-radius:999px;border:3px solid var(--o);font:900 11px/15px Nun;color:var(--o);background:var(--rc,#ccc);white-space:nowrap}
.r-basique{--rc:#b9b6c9;--rc2:#77738f}.r-normal{--rc:#6fdc7c;--rc2:#2f9a56}.r-rare{--rc:#5fb4ff;--rc2:#2f6fd6}.r-epique{--rc:#c58bff;--rc2:#7d3fd8}.r-legendaire{--rc:#ffc24a;--rc2:#e0841e}
.echip{display:inline-flex;align-items:center;gap:5px;height:26px;padding:0 10px 0 4px;border-radius:999px;border:3px solid var(--o);font:900 12px/1 Nun;color:#fff;white-space:nowrap}
.echip .dot{width:17px;height:17px;border-width:2px}
/* --- carte de campagne --- */
.path{position:absolute;left:0;right:0;top:calc(66px + var(--st));bottom:calc(212px + var(--sb));overflow-y:auto;overflow-x:hidden;padding:14px 0 12px;-webkit-overflow-scrolling:touch;touch-action:pan-y}
.path::before{content:"";position:absolute;left:50%;top:26px;height:calc(100% - 20px);margin-left:-3px;border-left:6px dotted rgba(255,255,255,.22)}
.node{position:relative;display:flex;align-items:center;gap:9px;width:100%;height:55px;padding:0 0 0 calc(50% - 26px);background:none;border:0;text-align:left}
.node:nth-child(odd){flex-direction:row-reverse;padding:0 calc(50% - 26px) 0 0;text-align:right}
.node .p{position:relative;width:52px;height:46px;border-radius:17px;border:4px solid var(--o);background:var(--vio);box-shadow:0 4px 0 var(--o),inset 0 3px 0 rgba(255,255,255,.3);display:flex;align-items:center;justify-content:center;font-family:Lilita;font-size:20px;-webkit-text-stroke:3.5px var(--o);paint-order:stroke fill;flex:none}
.node .x{min-width:0;max-width:calc(100% - 69px)} /* (100 % = boîte de contenu du nœud, soit la moitié de la colonne + 26 px ; moins la pastille 52 px, l’écart 9 px et 8 px de bord) */
/* nom du niveau : jusqu'à 2 lignes, en entier (campagne longue : noms plus longs ; tests/campbr.mjs vérifie qu'aucun n'est coupé en 360×640 et 390×844, FR et EN) */
.node .x b{display:block;font:900 11.5px/13px Nun;color:#fff;white-space:normal;overflow-wrap:break-word;hyphens:manual;max-height:26px;overflow:hidden}
.node .x .s{display:inline-flex;gap:1px;height:16px}.node .x .s svg{width:15px;height:15px}
.node .x .bt{font:900 10px/14px Nun;font-style:normal;color:#fff;background:#e0303a;border:2px solid var(--o);border-radius:6px;padding:0 5px;margin:0 3px 0 0;align-self:center}
.node.done .p{background:var(--grn)}
.node.cur .p{background:var(--gold);box-shadow:0 4px 0 var(--o),0 0 0 3px #fff6c2,0 0 18px 4px rgba(255,214,70,.9);animation:pulse .7s ease-in-out infinite alternate}
.node.lock .p{background:linear-gradient(#4a4466,#34304c);color:#8f88ab;box-shadow:0 4px 0 var(--o)}.node.lock .x b{color:#8f88ab}
.node.bossn .p{width:60px;height:52px;border-radius:19px}
.node.sel .p::after{content:"";position:absolute;inset:-10px;border-radius:24px;border:3px dashed #fff}
/* campagne longue : bandeau des 10 chapitres au-dessus du chemin */
.chs{position:absolute;left:10px;right:10px;top:calc(72px + var(--st));height:66px;z-index:2}
.chs .row{display:flex;gap:4px}
.chb{flex:1;min-width:0;height:30px;padding:0;border-radius:10px;border:3px solid var(--o);background:var(--vio);color:#fff;font:400 15px/22px Lilita;box-shadow:0 3px 0 var(--o);display:flex;align-items:center;justify-content:center}
.chb.done{background:var(--grn)}.chb.cur{background:var(--gold);color:var(--o)}.chb.lock{background:linear-gradient(#4a4466,#34304c);color:#8f88ab}
.chb.on{box-shadow:0 3px 0 var(--o),0 0 0 3px #fff}
.chs .cn{font-size:16px;line-height:19px;color:#ffd84a;text-align:center;margin-top:6px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.chs .cq{font:italic 800 11px/13px Nun;color:#cfc5ee;text-align:center;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.path.camp{top:calc(66px + 76px + var(--st))}.path.camp::before{top:26px}
.node .x .bt.mb{background:#7b3fd8}
.lvp{position:absolute;left:10px;right:10px;bottom:calc(10px + var(--sb));height:196px;border-radius:22px;background:rgba(26,16,56,.96);border:4px solid var(--o);box-shadow:0 5px 0 rgba(0,0,0,.35);padding:9px 11px}
.lvp .l1{display:flex;align-items:center;gap:8px;height:28px}
.lvp .id{background:var(--gold);border:3px solid var(--o);border-radius:10px;padding:0 8px;font-family:Lilita;font-size:16px;color:var(--o);line-height:22px;flex:none}
.lvp .nm{font-size:17px;flex:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;padding:2px 3px}
.lvp .nm.two{white-space:normal;text-overflow:clip;font-size:13.5px;line-height:13px;max-height:30px;padding:1px 3px}
.lvp .s{display:flex;gap:1px;flex:none}.lvp .s svg{width:20px;height:20px}
.lvp .l2{display:flex;align-items:center;gap:6px;margin-top:6px;height:42px}
.lvp .foes{display:flex;gap:3px;flex:none}
.lvp .foes .pt{width:34px;height:34px;border:3px solid var(--o);box-shadow:0 0 0 2px #ff5a6a inset}
.lvp .rw{display:flex;flex-wrap:nowrap;gap:4px;justify-content:flex-end;flex:1;min-width:0}
.lvp .rw .cchip{height:24px;font-size:12px;border-width:2.5px}
.lvp .l3{font:800 11.5px/14px Nun;color:#cfc5ee;margin-top:5px;height:14px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.lvp .l4{display:flex;gap:8px;margin-top:8px}
.lvp .l4 .btn{flex:1;height:52px;padding:0 6px;border-radius:17px;min-width:0}.lvp .l4 .btn span{font-size:18px;white-space:nowrap}
.lvp .l4 .btn.s2{flex:0 0 92px}.lvp .l4 .btn.s2 span{font-size:15px}
/* --- collection --- */
.filt{position:absolute;left:8px;right:8px;top:calc(76px + var(--st));display:flex;gap:5px;justify-content:space-between}
.fbtn{flex:1;min-width:0;height:34px;border-radius:999px;border:3.5px solid var(--o);box-shadow:0 3px 0 var(--o);font:900 12px/1 Nun;color:#fff;display:flex;align-items:center;justify-content:center;gap:3px;padding:0 4px;opacity:.78;filter:saturate(.7);white-space:nowrap}
.fbtn.on{opacity:1;filter:none;box-shadow:0 3px 0 var(--o),0 0 0 2px #fff inset}
.fbtn svg{flex:none}
.fbtn::before{content:"";position:absolute}
.cinfo{position:absolute;left:14px;right:14px;top:calc(118px + var(--st));display:flex;justify-content:space-between;font:900 12.5px/18px Nun;color:#cfc5ee}
.cinfo b{color:#ffd84a}
.grid{position:absolute;left:0;right:0;top:calc(142px + var(--st));bottom:calc(86px + var(--sb));overflow-y:auto;overflow-x:hidden;padding:4px 10px 12px;display:grid;grid-template-columns:repeat(3,1fr);gap:9px;align-content:start;-webkit-overflow-scrolling:touch;touch-action:pan-y}
.card{position:relative;border-radius:18px;border:4px solid var(--o);background:#1f1544;box-shadow:0 4px 0 rgba(0,0,0,.4);padding:0;overflow:hidden;height:168px;display:flex;flex-direction:column;text-align:center}
.card .art{position:relative;flex:1;min-height:0;background:linear-gradient(var(--rc),var(--rc2));box-shadow:inset 0 0 0 3px rgba(255,255,255,.35)}
.card .art img{position:absolute;left:50%;bottom:-2px;height:106%;transform:translateX(-50%);pointer-events:none}
.card .art img.hd{bottom:auto;top:50%;height:auto;width:min(92%,120px);aspect-ratio:1;transform:translate(-50%,-50%)}
.card .dot{position:absolute;left:5px;top:5px;width:24px;height:24px;border-width:3px;z-index:2}
.card .lvb{position:absolute;right:5px;top:6px;padding:1px 7px;border-radius:999px;background:rgba(24,15,48,.9);font:900 11.5px/16px Nun;color:#fff;z-index:2}
.card .cn{font-size:14px;line-height:17px;margin-top:3px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;padding:0 4px}
.card .cs{height:17px;display:flex;justify-content:center;gap:0;margin-bottom:4px}.card .cs svg{width:14px;height:14px}
.card .up{position:absolute;right:4px;top:28px;width:17px;height:17px;border-radius:50%;background:linear-gradient(#ff7a6a,#e0303a);border:3px solid var(--o);z-index:3}
.card.no .art{background:linear-gradient(#2a1e52,#1f1544);box-shadow:none}
.card.no .art img{filter:brightness(0);opacity:.5}
.card.no .q{position:absolute;left:0;right:0;top:34%;font-family:Lilita;font-size:44px;line-height:1;color:var(--rc);-webkit-text-stroke:5px var(--o);paint-order:stroke fill;z-index:2}
.card.no .cn{color:var(--rc);font:900 13px/17px Nun;-webkit-text-stroke:0;margin:6px 0 12px}
.card.in{box-shadow:0 0 0 3px #ffe45e,0 4px 0 rgba(0,0,0,.4)}
.botb{position:absolute;left:38px;right:38px;bottom:calc(14px + var(--sb));flex-direction:column;height:62px!important;padding:0!important}
.botb .t3{font-size:23px;line-height:26px}.botb i{font:900 11.5px/13px Nun;color:var(--o);font-style:normal}
/* --- fiche --- */
.f-chips{position:absolute;left:10px;top:calc(76px + var(--st));display:flex;flex-direction:column;gap:5px;align-items:flex-start}
.f-stars{position:absolute;right:10px;top:calc(78px + var(--st));display:flex;gap:0}.f-stars svg{width:23px;height:23px}
.f-frag{position:absolute;right:12px;top:calc(104px + var(--st));font:900 11.5px/14px Nun;color:#e7deff;text-shadow:0 2px 0 var(--o)}
.f-spin{position:absolute;left:0;right:0;top:calc(140px + var(--st));touch-action:none;cursor:grab}
.f-hint{position:absolute;left:0;right:0;top:calc(140px + var(--st));transition:opacity .3s;text-align:center;font:800 11px/14px Nun;color:rgba(255,255,255,.75);text-shadow:0 2px 0 var(--o);pointer-events:none}
.f-pan{position:absolute;left:10px;right:10px;bottom:calc(84px + var(--sb));border-radius:22px;background:rgba(26,16,56,.95);border:4px solid var(--o);box-shadow:0 5px 0 rgba(0,0,0,.35);padding:9px 12px 8px}
.f-pan .l1{display:flex;justify-content:space-between;align-items:center}
.f-pan .l1 .lvn{font-size:21px;line-height:26px;padding:0 3px}
.f-pan .l1 .pw{font:900 14px/1 Nun;color:#ffd84a;display:flex;align-items:center;gap:4px}
.f-pan .bar{height:12px;border-width:2.5px;margin-top:3px}.f-pan .bar i{background:linear-gradient(#bff0ff,#3da9e8);transition:none}
.f-pan .xpt{font:900 10.5px/13px Nun;color:#b9add8;text-align:right;margin-top:1px}
.stats{display:grid;grid-template-columns:1fr 1fr;gap:4px 10px;margin-top:2px}
.stat{display:flex;align-items:center;gap:8px}
.stat .si{width:30px;height:30px;border-radius:10px;border:3px solid var(--o);display:flex;align-items:center;justify-content:center;flex:none}
.stat .sl{font:900 11px/12px Nun;color:#b9add8}.stat .sv{font-family:Lilita;font-size:17px;line-height:19px;-webkit-text-stroke:3px var(--o);paint-order:stroke fill}
.skills{display:flex;justify-content:space-between;gap:3px;margin-top:8px}
.skb{flex:1;min-width:0;background:none;border:0;display:flex;flex-direction:column;align-items:center;gap:2px;padding:0}
.skb .si{position:relative;width:42px;height:38px;border-radius:13px;border:3.5px solid var(--o);box-shadow:0 3px 0 var(--o),inset 0 3px 0 rgba(255,255,255,.3);display:flex;align-items:center;justify-content:center}
.skb .sn{font:900 10px/12px Nun;color:#fff;text-align:center;max-width:70px;height:24px;overflow:hidden}
.skb.lock .si{background:linear-gradient(#4a4466,#34304c)!important;box-shadow:0 3px 0 var(--o)}.skb.lock .sn{color:#8f88ab}
.skb.sel .si{box-shadow:0 3px 0 var(--o),0 0 0 3px #ffe45e}
.skd{font:800 11.5px/14px Nun;color:#e7deff;min-height:28px;margin-top:4px;text-align:center}
.skd b{color:#ffd84a}
.f-quote{font:800 11.5px/14px Nun;color:#ffd84a;font-style:italic;text-align:center;margin-top:3px;min-height:14px}
.f-btns{position:absolute;left:10px;right:10px;bottom:calc(12px + var(--sb));display:flex;gap:9px}
.f-btns .btn{height:60px;border-radius:20px;border-width:5px;flex:1;flex-direction:column;padding:0;min-width:0}
.f-btns .btn.s2{flex:0 0 132px}
.f-btns .btn .t3{font-size:21px;line-height:24px;white-space:nowrap}.f-btns .btn.s2 .t3{font-size:16px}
.f-btns .btn i{font:900 13px/15px Nun;color:var(--o);font-style:normal;display:flex;align-items:center;gap:4px}
.f-btns .btn.lockb{background:linear-gradient(#4a4466,#34304c)}.f-btns .btn.lockb .t3{color:#8f88ab}.f-btns .btn.lockb i{color:#8f88ab}
/* --- équipe --- */
.tm-bonus{position:absolute;left:10px;right:10px;top:calc(76px + var(--st));min-height:44px;border-radius:15px;border:4px solid var(--o);background:#2f9a62;padding:5px 10px;font:900 12.5px/16px Nun;color:#fff;display:flex;align-items:center;gap:8px}
.tm-bonus.none{background:rgba(26,16,56,.92);color:#cfc5ee}
.tm-slots{position:absolute;left:0;right:0;height:0}
.tm-slot{position:absolute;width:92px;margin-left:-46px;background:none;border:0;padding:0}
.tm-slot .zone{display:block;width:100%}
.tm-slot .tag{display:block;margin:2px auto 0;width:max-content;max-width:90px;padding:1px 8px;border-radius:999px;background:rgba(24,15,48,.9);border:3px solid var(--o);font:900 11px/15px Nun;color:#fff;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.tm-slot.empty .tag{color:#8f88ab;border-style:dashed}
.tm-pan{position:absolute;left:10px;right:10px;bottom:calc(86px + var(--sb));border-radius:22px;background:rgba(26,16,56,.95);border:4px solid var(--o);box-shadow:0 5px 0 rgba(0,0,0,.35);padding:8px 8px 9px}
.tm-pan .hl{display:flex;justify-content:space-between;font:900 12px/16px Nun;color:#cfc5ee;padding:0 4px 6px}.tm-pan .hl b{color:#ffd84a}
.tm-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:6px 4px} /* 12 héros = 2 rangées de 6 (3 rangées de 5 poussaient le panneau sur les héros 3D en 360×640) */
.tm-h{position:relative;background:none;border:0;padding:0;display:flex;flex-direction:column;align-items:center;gap:1px}
.tm-h .pt{width:48px;height:48px;border-radius:16px;border:4px solid var(--o);box-shadow:0 3px 0 var(--o)}
.tm-h.in .pt{box-shadow:0 0 0 3px #45dd62,0 3px 0 var(--o)}
.tm-h .dot{position:absolute;left:1px;top:-3px;width:19px;height:19px;border-width:2.5px}
.tm-h .ck{position:absolute;right:-4px;top:-8px;width:27px;height:27px;border-radius:50%;background:linear-gradient(#8cf58a,#22b04e);border:3px solid var(--o);box-shadow:0 2px 0 var(--o),0 0 9px 2px rgba(140,255,138,.9);display:none;align-items:center;justify-content:center;z-index:2}
.tm-h.in .ck{display:flex}
.tm-h .n{font:900 10.5px/13px Nun;color:#fff;white-space:nowrap}
.tm-h.no .pt{filter:grayscale(1) brightness(.35)}.tm-h.no .n{color:#6f6890}
/* --- invocation --- */
.portal{position:absolute;left:50%;width:290px;height:290px;margin-left:-145px;pointer-events:none}
.portal i{position:absolute;border-radius:50%}
.portal .p1{inset:0;background:conic-gradient(from 0deg,#f2a541,#c58bff,#5fb4ff,#c58bff,#ffe45e,#c58bff,#f2a541);border:5px solid var(--o);box-shadow:0 0 0 6px #c9925a,0 0 0 10px var(--o),0 0 46px 12px rgba(190,120,255,.7);animation:spin 14s linear infinite}
.portal .p2{inset:34px;background:radial-gradient(circle,#fff 0,#e9c9ff 16%,#a65cf0 45%,#4a2aa8 78%,#2a1a6e 100%);border:5px solid var(--o);animation:pulse 1.6s ease-in-out infinite alternate}
.portal .p3{inset:-18px;background:repeating-conic-gradient(from 0deg,rgba(255,255,255,.2) 0 8deg,rgba(255,255,255,0) 8deg 30deg);-webkit-mask:radial-gradient(circle,transparent 46%,#000 50%,transparent 72%);mask:radial-gradient(circle,transparent 46%,#000 50%,transparent 72%);animation:spin 30s linear infinite reverse}
.portal .p2{background:radial-gradient(circle,#1a0f3c 0,#2c1670 30%,#5a2fc0 62%,#a65cf0 84%,#e9c9ff 100%)}
.portal .pr{position:absolute;inset:0;width:100%;height:100%;animation:spin 26s linear infinite reverse}
/* tourbillon : deux voiles en spirale qui tournent en sens inverse, et un cœur de lumière — rien ne laisse deviner le héros */
.portal .p4,.portal .p5{inset:39px;background:conic-gradient(from 0deg,rgba(255,255,255,0) 0,rgba(240,215,255,.85) 13%,rgba(255,255,255,0) 31%,rgba(255,255,255,0) 50%,rgba(170,220,255,.8) 63%,rgba(255,255,255,0) 82%);-webkit-mask:radial-gradient(circle,transparent 14%,#000 44%,rgba(0,0,0,.35) 70%);mask:radial-gradient(circle,transparent 14%,#000 44%,rgba(0,0,0,.35) 70%);animation:spin 5s linear infinite}
.portal .p5{inset:62px;opacity:.8;animation:spin 3.2s linear infinite reverse}
.portal .p6{inset:112px;background:radial-gradient(circle,#fff 0,rgba(233,201,255,.9) 34%,rgba(166,92,240,0) 72%);animation:pulse 1.1s ease-in-out infinite alternate}
.s-skip{position:absolute;left:50%;transform:translateX(-50%);bottom:calc(240px + var(--sb));height:32px;padding:0 12px 0 6px;border-radius:999px;background:rgba(26,16,56,.9);border:3px solid var(--o);display:flex;align-items:center;gap:7px;font:900 12.5px/1 Nun;color:#e7deff;white-space:nowrap}
.s-skip::before{content:"";position:absolute;inset:-8px -6px}
.s-skip i{width:20px;height:20px;border-radius:7px;border:3px solid var(--o);background:#3a2a5e;display:flex;align-items:center;justify-content:center}
.s-skip i svg{opacity:0}.s-skip.on i{background:linear-gradient(#8cf58a,#22b04e)}.s-skip.on i svg{opacity:1}.s-skip.on{color:#fff}
/* cinématique de suspense avant la révélation (durée --cd) */
#s-summon.cine .hdr,#s-summon.cine .s-pity,#s-summon.cine .s-free,#s-summon.cine .s-btns,#s-summon.cine .s-skip{opacity:0;pointer-events:none!important;transition:opacity .2s}
#s-summon.cine .portal{animation:cnshake var(--cd,2.5s) linear forwards;z-index:2}
#s-summon.cine .portal .p1{animation:cnspin var(--cd,2.5s) cubic-bezier(.55,0,1,.45) forwards}
#s-summon.cine .portal .pr{animation:cnspinr var(--cd,2.5s) cubic-bezier(.55,0,1,.45) forwards}
#s-summon.cine .portal .p4{animation:cnspin2 var(--cd,2.5s) cubic-bezier(.5,0,1,.5) forwards}
#s-summon.cine .portal .p5{animation:cnspinr var(--cd,2.5s) cubic-bezier(.5,0,1,.5) forwards}
#s-summon.cine .portal .p6{animation:cncore var(--cd,2.5s) ease-in forwards}
@keyframes cnspin{to{transform:rotate(1080deg)}}@keyframes cnspin2{to{transform:rotate(2520deg)}}@keyframes cnspinr{to{transform:rotate(-1800deg)}}
@keyframes cncore{from{transform:scale(1)}to{transform:scale(4.6)}}
@keyframes cnshake{0%{transform:translate(0,0) scale(1)}18%{transform:translate(1px,-1px) scale(1.03)}28%{transform:translate(-2px,1px) scale(1.05)}38%{transform:translate(2px,2px) scale(1.07)}47%{transform:translate(-3px,-2px) scale(1.09)}55%{transform:translate(3px,-3px) scale(1.11)}62%{transform:translate(-4px,3px) scale(1.13)}69%{transform:translate(5px,-3px) scale(1.15)}75%{transform:translate(-5px,4px) scale(1.17)}81%{transform:translate(6px,4px) scale(1.19)}86%{transform:translate(-7px,-5px) scale(1.21)}91%{transform:translate(7px,-5px) scale(1.23)}96%{transform:translate(-8px,6px) scale(1.25)}100%{transform:translate(0,0) scale(1.28)}}
.cn-light,.cn-burst{position:absolute;inset:0;pointer-events:none!important;opacity:0}
.cn-light{z-index:3;background:radial-gradient(circle at 50% var(--py,45%),#fff 0,rgba(255,255,255,.9) 10%,rgba(214,176,255,.55) 28%,rgba(60,30,120,0) 60%);animation:cnlight var(--cd,2.5s) cubic-bezier(.6,0,1,.6) forwards}
@keyframes cnlight{0%{opacity:0;transform:scale(.35)}45%{opacity:.35}100%{opacity:1;transform:scale(1.5)}}
.cn-burst{z-index:4;background:radial-gradient(circle at 50% var(--py,45%),#fff 0,#fff 9%,var(--rc) 30%,var(--rc2) 62%,rgba(20,10,40,.96) 100%)}
#s-summon.boom .cn-burst{animation:cnboom .42s ease-out forwards}
@keyframes cnboom{0%{opacity:.2;transform:scale(.25)}35%{opacity:1}100%{opacity:1;transform:scale(2.3)}}
.cn-tap{position:absolute;inset:0;background:none;border:0;z-index:5}
/* montée de niveau sur la fiche */
.lvfx{position:absolute;width:0;height:0;pointer-events:none!important;z-index:3}
.lvfx .rg{position:absolute;left:-90px;top:-90px;width:180px;height:180px;border-radius:50%;border:8px solid #fff3b0;box-shadow:0 0 30px 10px rgba(255,228,94,.9),inset 0 0 30px 6px rgba(255,228,94,.7);animation:lvring .7s ease-out forwards}
@keyframes lvring{from{opacity:1;transform:scale(.2)}to{opacity:0;transform:scale(2.3)}}
.lvfx .ry{position:absolute;left:-230px;top:-230px;width:460px;height:460px;border-radius:50%;background:repeating-conic-gradient(from 0deg,rgba(255,236,150,.75) 0 7deg,rgba(255,236,150,0) 7deg 22deg);-webkit-mask:radial-gradient(circle,transparent 16%,#000 24%,transparent 64%);mask:radial-gradient(circle,transparent 16%,#000 24%,transparent 64%);animation:lvrays 1.25s ease-out forwards}
@keyframes lvrays{0%{opacity:0;transform:scale(.4) rotate(0)}25%{opacity:1}100%{opacity:0;transform:scale(1.15) rotate(50deg)}}
.lvfx b{position:absolute;left:-180px;width:360px;top:-150px;text-align:center;font-weight:400;font-size:40px;line-height:44px;color:#ffe45e;-webkit-text-stroke-width:8px;animation:lvtxt 1.7s cubic-bezier(.2,1.4,.4,1) forwards}
@keyframes lvtxt{0%{opacity:0;transform:translateY(30px) scale(.4)}18%{opacity:1;transform:none}80%{opacity:1;transform:translateY(-6px)}100%{opacity:0;transform:translateY(-22px)}}
.stat .sv .gain{font:900 12px/19px Nun;font-style:normal;color:#8dff8a;-webkit-text-stroke:0;margin-left:6px;display:inline-block;animation:tipin .3s cubic-bezier(.2,1.4,.4,1) backwards,gainout .5s ease-in 3.2s forwards}
@keyframes gainout{to{opacity:0}}
.stat .sv.upv{color:#d9ffd6;animation:pulse .16s ease-in-out 4 alternate;transform-origin:left center}
.s-pity{position:absolute;left:10px;right:10px;bottom:calc(164px + var(--sb));border-radius:18px;background:rgba(26,16,56,.95);border:4px solid var(--o);padding:8px 12px 10px}
.s-pity .r1{display:flex;justify-content:space-between;align-items:center;font:900 13px/18px Nun;color:#fff;gap:8px}.s-pity .r1 b{color:#ffd84a}
.s-pity .lnk{background:none;border:0;font:900 13px/18px Nun;color:#bfd6ff;text-decoration:underline;padding:6px 2px;margin:-6px 0;position:relative}
.s-pity .lnk::before{content:"";position:absolute;inset:-8px -10px}
.s-pity .bar{height:11px;border-width:2.5px;margin-top:5px}.s-pity .bar i{background:var(--gold);transition:none}
.s-free{position:absolute;left:10px;right:10px;bottom:calc(98px + var(--sb));display:flex;gap:9px}
.s-free .gbtn{flex:1;height:46px;font-size:15px;gap:6px}
.s-free .gbtn.ad{background:linear-gradient(#ffb86a,#f2762e)}
.s-btns{position:absolute;left:10px;right:10px;bottom:calc(12px + var(--sb));display:flex;gap:9px}
.s-btns .btn{flex:1;height:66px;border-radius:20px;border-width:5px;flex-direction:column;padding:0;min-width:0}
.s-btns .btn .t3{font-size:19px;line-height:23px;white-space:nowrap}
.s-btns .btn i{font:900 12px/15px Nun;color:#fff;font-style:normal;display:flex;align-items:center;gap:4px}.s-btns .btn.gold i{color:var(--o)}
/* --- révélation --- */
#s-reveal .fl2{position:absolute;inset:0;background:radial-gradient(circle at 50% 46%,#fff 0,var(--rc) 22%,var(--rc2) 55%,rgba(20,10,40,.96) 100%);opacity:0;pointer-events:none}
#s-reveal .fl2.go{animation:rvfl var(--rvd,.7s) ease-out forwards}
@keyframes rvfl{0%{opacity:0;transform:scale(.2)}22%{opacity:1;transform:scale(1.25)}70%{opacity:1}100%{opacity:0;transform:scale(1.6)}}
#s-reveal .rays2{position:absolute;left:50%;top:46%;width:900px;height:900px;margin:-450px 0 0 -450px;border-radius:50%;background:repeating-conic-gradient(from 0deg,var(--rc) 0 7deg,rgba(255,255,255,0) 7deg 20deg);-webkit-mask:radial-gradient(circle,transparent 17%,rgba(0,0,0,.75) 23%,transparent 62%);mask:radial-gradient(circle,transparent 17%,rgba(0,0,0,.75) 23%,transparent 62%);opacity:0;pointer-events:none;animation:spin 16s linear infinite}
#s-reveal .rays2.on{opacity:.5}#s-reveal.leg .rays2.on{opacity:.95}
#s-reveal .conf{position:absolute;inset:0;pointer-events:none;overflow:hidden;display:none}
#s-reveal.leg .conf{display:block}
#s-reveal .conf i{position:absolute;top:-20px;width:10px;height:16px;border-radius:3px;background:#ffe45e;border:2px solid var(--o);animation:conf 2.4s linear infinite}
@keyframes conf{to{transform:translateY(900px) rotate(720deg)}}
.rv-top{position:absolute;left:10px;right:10px;top:calc(60px + var(--st));text-align:center;display:flex;flex-direction:column;align-items:center;gap:6px;opacity:0;pointer-events:none}
.rv-top.on{opacity:1;animation:tipin .35s cubic-bezier(.2,1.4,.4,1)}
.rv-top .rchip{font-size:14px;line-height:20px;padding:2px 14px}
.rv-top h2{margin:0;font-weight:400;font-size:33px;line-height:38px;-webkit-text-stroke-width:7px;color:#fff}
#s-reveal.leg .rv-top h2{color:#ffe45e;font-size:35px}
.rv-top .tg{font-family:Lilita;font-size:19px;color:#8dff8a;-webkit-text-stroke:4px var(--o);paint-order:stroke fill}
.rv-top .tg.dup{color:#bfd6ff;font-size:16px}
.rv-cnt{position:absolute;left:14px;top:calc(16px + var(--st));font:900 14px/20px Nun;color:#fff;text-shadow:0 2px 0 var(--o)}
.rv-bot{position:absolute;left:0;right:0;bottom:calc(30px + var(--sb));display:flex;flex-direction:column;align-items:center;gap:12px;opacity:0;pointer-events:none}
.rv-bot.on{opacity:1}
.rv-bot .qq{background:#fff;color:var(--o);font:900 14px/18px Nun;font-style:italic;padding:9px 15px;border-radius:17px;border:4px solid var(--o);max-width:300px;text-align:center}
.rv-bot .hint{font:900 13px/16px Nun;color:#fff;text-shadow:0 2px 0 var(--o);animation:blink 1s ease-in-out infinite alternate}
@keyframes blink{from{opacity:.45}to{opacity:1}}
.rv-skip{position:absolute;right:12px;top:calc(12px + var(--st));height:44px;padding:0 16px;z-index:5}.rv-skip span{font-size:16px}
.rv-tap{position:absolute;inset:0;background:none;border:0}
/* --- fenêtres --- */
.modal{position:absolute;inset:0;z-index:30;background:rgba(12,7,26,.8);display:none;align-items:center;justify-content:center;padding:18px}
.modal.on{display:flex;animation:scrin .16s ease-out}
.mbox{width:100%;max-width:330px;max-height:calc(100% - 20px);overflow-y:auto;border-radius:24px;background:linear-gradient(#33246e,#221650);border:5px solid var(--o);box-shadow:0 7px 0 rgba(0,0,0,.45);padding:14px 16px 16px;text-align:center;display:flex;flex-direction:column;align-items:center;gap:10px}
.mbox h3{margin:0;font-weight:400;font-size:24px;line-height:28px;color:#ffe45e}
.mbox p{margin:0;font:800 13.5px/18px Nun;color:#e7deff}
.mbox p.rpity{background:rgba(255,194,74,.16);border:3px solid #ffc24a;border-radius:14px;padding:7px 10px;color:#fff;font-weight:900}
.mbox .row{display:flex;gap:8px;flex-wrap:wrap;justify-content:center}
.mbox .row .cchip{height:32px;font-size:15px}
.mbox .btns{display:flex;gap:9px;width:100%}
.mbox .btns .btn{flex:1;height:54px;border-radius:18px;padding:0 6px;min-width:0}.mbox .btns .btn span{font-size:18px;white-space:nowrap}
.mbox .btn.wide{width:100%;height:52px;border-radius:18px}.mbox .btn.wide span{font-size:18px}
.rate{display:flex;justify-content:space-between;align-items:center;width:100%;padding:5px 10px;border-radius:12px;background:rgba(24,15,48,.7);font:900 14px/18px Nun}
.rate i{font-style:normal;font:800 11px/14px Nun;color:#b9add8;flex:1;text-align:left;margin-left:8px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.adbox{width:100%;height:150px;border-radius:16px;border:4px dashed #8f88ab;background:repeating-linear-gradient(45deg,#2a1e52 0 14px,#33266a 14px 28px);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px}
.adbox b{font-family:Lilita;font-size:54px;line-height:1;color:#ffe45e;-webkit-text-stroke:6px var(--o);paint-order:stroke fill;font-weight:400}
.recap{display:grid;grid-template-columns:repeat(5,1fr);gap:5px;width:100%}
.rc{position:relative;border-radius:12px;border:3px solid var(--o);background:linear-gradient(var(--rc),var(--rc2));height:84px;overflow:hidden}
.rc img{position:absolute;left:50%;bottom:10px;height:92%;transform:translateX(-50%)}
.rc b{position:absolute;left:0;right:0;bottom:0;background:rgba(24,15,48,.9);font:900 8.5px/13px Nun;letter-spacing:-.2px;color:#fff;white-space:nowrap;overflow:hidden}
.rc b.nw{color:#8dff8a}
.toast{position:absolute;left:0;right:0;bottom:calc(264px + var(--sb));display:flex;justify-content:center;z-index:40;pointer-events:none!important}
.toast span{background:rgba(18,10,40,.95);border:3px solid var(--o);border-radius:999px;padding:7px 16px;font:900 13px/17px Nun;color:#fff;max-width:330px;text-align:center;animation:toast 2.2s ease-out forwards}
@keyframes toast{0%{opacity:0;transform:translateY(10px)}10%{opacity:1;transform:none}80%{opacity:1}100%{opacity:0}}
/* récompenses de fin de combat (écran de victoire) */
.rew{display:flex;flex-wrap:wrap;gap:6px;justify-content:center;max-width:330px}
.rew .cchip{height:30px;font-size:14px;padding:0 11px;background:rgba(74,56,138,.96)}
.rew .ln{width:100%;font:900 13px/17px Nun;color:#8dff8a}

/* ======================= JALON 3 : les rendez-vous quotidiens ======================= */
.scrolly{overflow-y:auto;overflow-x:hidden;-webkit-overflow-scrolling:touch;touch-action:pan-y}
.sbtn.open .ic{background:linear-gradient(#7b63e8,#4b33b0);box-shadow:0 4px 0 var(--o),inset 0 3px 0 rgba(255,255,255,.3)}
.sbtn.open:active .ic{transform:translateY(3px);box-shadow:0 1px 0 var(--o)}
.sbtn .ic .badge{right:-8px;top:-8px}
/* --- boss du jour : bouton de l'accueil et de la carte --- */
.h-raid{position:absolute;right:58px;top:calc(46px + var(--st));height:34px;padding:0 13px 0 8px;border-radius:999px;border:4px solid var(--o);background:linear-gradient(#ff8a7a,#d8323b);box-shadow:0 4px 0 var(--o),inset 0 3px 0 rgba(255,255,255,.35);display:flex;align-items:center;gap:5px;font-family:Lilita;font-size:14px;color:#fff;-webkit-text-stroke:3px var(--o);paint-order:stroke fill;white-space:nowrap;z-index:3}
.h-raid::before{content:"";position:absolute;inset:-8px -5px}
.h-raid:active{transform:translateY(3px);box-shadow:0 1px 0 var(--o)}
.h-raid .badge{right:-7px;top:-9px}
.h-raid.m-raid{right:10px;top:22px}
/* --- quêtes du jour --- */
.q-sub{position:absolute;left:14px;right:14px;top:calc(74px + var(--st));height:22px;display:flex;justify-content:space-between;align-items:center;font:900 12.5px/16px Nun;color:#e7deff;gap:8px;white-space:nowrap}
.q-sub b{color:#ffd84a;font-weight:900;overflow:hidden;text-overflow:ellipsis}
.q-list{position:absolute;left:10px;right:10px;top:calc(100px + var(--st));bottom:calc(92px + var(--sb));display:flex;flex-direction:column;gap:6px;padding-bottom:4px}
.q-row,.q-chest{display:flex;align-items:center;gap:7px;min-height:62px;border-radius:18px;background:rgba(26,16,56,.95);border:4px solid var(--o);padding:5px 7px 5px 11px;flex:none}
.q-row .qm,.q-chest .qm{flex:1;min-width:0}
.q-row .qm b,.q-chest .qm b{display:block;font:900 13px/16px Nun;color:#fff}
.q-row .bar,.q-chest .bar{height:11px;border-width:2.5px;margin-top:4px}.q-row .bar i{background:linear-gradient(#bff0ff,#3da9e8)}.q-chest .bar i{background:var(--gold)}
.q-row .qp,.q-chest .qp{font:900 12px/15px Nun;color:#ffd84a;font-style:normal;flex:none;min-width:30px;text-align:right;white-space:nowrap}
.q-row .qr,.q-chest .qr{display:flex;flex-direction:column;gap:2px;align-items:flex-end;flex:none}
.q-row .qr .cchip,.q-chest .qr .cchip{height:21px;font-size:11.5px;border-width:2.5px;padding:0 6px 0 3px;gap:3px}.q-row .qr .coin,.q-chest .qr .coin{width:13px;height:13px;border-width:2px}
.q-row .gbtn,.q-chest .gbtn{height:42px;width:96px;padding:0 4px;font-size:14px}
.q-row .gbtn.off{background:linear-gradient(#6c6488,#49425f);filter:none;color:#cfc5ee}
.q-row.done{border-color:#1E1430;box-shadow:0 0 0 3px #8dff8a}
.q-row.got{opacity:.6}
.qok{width:96px;height:42px;display:flex;align-items:center;justify-content:center;flex:none}
.qok svg{background:linear-gradient(#8cf58a,#22b04e);border:3px solid var(--o);border-radius:50%;padding:4px;width:34px;height:34px}
.q-chest{position:absolute;left:10px;right:10px;bottom:calc(14px + var(--sb));min-height:68px;background:rgba(52,36,100,.97)}
.q-chest .qi{flex:none;height:34px}
.q-chest.ready{box-shadow:0 0 0 3px #ffe45e,0 0 18px 5px rgba(255,214,70,.7)}
.q-chest.ready .qi{animation:pulse .4s ease-in-out infinite alternate}
/* --- roue de Madame Zaza --- */
.wh-wrap{position:absolute;left:50%;top:calc(78px + var(--st));width:260px;height:260px;margin-left:-130px;filter:drop-shadow(0 7px 0 rgba(20,10,44,.55))}
.wh-rot{width:100%;height:100%;will-change:transform}
.wh-rot .wl{font-family:Lilita,system-ui,sans-serif;font-size:21px;fill:#fff;stroke:#1E1430;stroke-width:4.5px;paint-order:stroke fill;stroke-linejoin:round}
.wh-rot .wj{font-family:Lilita,system-ui,sans-serif;font-size:20px;fill:#fff;stroke:#1E1430;stroke-width:4px;paint-order:stroke fill}
.wh-pin{position:absolute;left:50%;top:-12px;margin-left:-17px;width:0;height:0;border-left:17px solid transparent;border-right:17px solid transparent;border-top:36px solid #1E1430;z-index:2}
.wh-pin::after{content:"";position:absolute;left:-11px;top:-33px;border-left:11px solid transparent;border-right:11px solid transparent;border-top:25px solid #ff5a6a}
.wh-hub{position:absolute;left:50%;top:50%;width:44px;height:44px;margin:-22px 0 0 -22px;border-radius:50%;background:radial-gradient(circle at 40% 35%,#fff6c2,#f2a541 60%,#c9741e);border:4px solid var(--o);box-shadow:0 3px 0 var(--o)}
#s-wheel.spin .wh-pin{animation:whpin .13s linear infinite alternate}
@keyframes whpin{from{transform:rotate(-7deg)}to{transform:rotate(5deg)}}
.wh-bub{right:auto;justify-content:flex-start}
.wh-bub span{max-width:210px;text-align:left}
.wh-bub span::after,.wh-bub span::before{left:36px}
.wh-odds{left:auto;right:12px;transform:none;bottom:calc(96px + var(--sb))}
.wh-odds:active{transform:translateY(3px)}
.zq{font:800 14px/19px Nun!important;color:#fff!important}.zq i{color:#e3a6ff;font-style:normal;font-size:12px}
.mbox .row.big .cchip{height:40px;font-size:19px;padding:0 14px 0 9px;gap:7px;background:rgba(74,56,138,.96)}.mbox .row.big .coin{width:22px;height:22px}
.rate.wo{gap:8px}.rate.wo i{font-size:13px;color:#fff;margin-left:0}.rate.wo svg,.rate.wo .coin{flex:none}
/* --- camp d'entraînement --- */
.cp-slots{position:absolute;left:8px;right:8px;display:flex;gap:6px}
.cp-slot{flex:1;min-width:0;border-radius:16px;background:rgba(26,16,56,.95);border:4px solid var(--o);padding:5px 6px 6px;display:flex;flex-direction:column;align-items:stretch;gap:3px;text-align:center}
.cp-slot .nm{font:900 11.5px/14px Nun;color:#fff;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.cp-slot .bar{height:10px;border-width:2.5px}.cp-slot .bar i{background:linear-gradient(#ffd98a,#f2762e);transition:none}
.cp-slot .tm{font:800 10.5px/13px Nun;color:#cfc5ee;font-style:normal;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.cp-slot .xp{font:900 13px/15px Nun;color:#8dff8a}
.cp-slot .gbtn{height:36px;font-size:13.5px;padding:0 2px}
.cp-slot .lnk2{background:none;border:0;font:900 11.5px/14px Nun;color:#bfd6ff;text-decoration:underline;padding:4px 0 1px;position:relative}
.cp-slot .lnk2::before{content:"";position:absolute;inset:-5px -4px -8px}
.cp-slot.empty{border-style:dashed;background:rgba(26,16,56,.6);justify-content:center;min-height:74px}.cp-slot.empty .nm{color:#b9add8}
.cp-pan{bottom:calc(14px + var(--sb))}
.cp-pan .tm-h.tm .pt{filter:grayscale(.8) brightness(.55)}.cp-pan .tm-h.tm .n{color:#8f88ab}
.cp-pan .tm-h.in .pt{box-shadow:0 0 0 3px #f2a541,0 3px 0 var(--o)}.cp-pan .tm-h.in .ck{background:linear-gradient(#ffd98a,#f2762e);box-shadow:0 2px 0 var(--o),0 0 9px 2px rgba(255,190,110,.9)}
.cp-fire{position:absolute;width:0;height:0;pointer-events:none!important;z-index:1;transform:scale(.8);transform-origin:0 52px}
.cp-fire i{position:absolute;display:block}
.cp-fire .gl{left:-90px;top:-50px;width:180px;height:130px;border-radius:50%;background:radial-gradient(closest-side,rgba(255,170,70,.55),rgba(255,140,50,0));animation:cpglow 1.1s ease-in-out infinite alternate}
.cp-fire .lg{left:-30px;top:44px;width:60px;height:13px;border-radius:7px;background:#7a4a24;border:3px solid var(--o);transform:rotate(-7deg)}
.cp-fire .lg::after{content:"";position:absolute;left:-2px;top:-5px;width:60px;height:13px;border-radius:7px;background:#96602f;border:3px solid var(--o);transform:rotate(15deg)}
.cp-fire .f1,.cp-fire .f2,.cp-fire .f3{border-radius:50% 50% 50% 50%/62% 62% 38% 38%;transform-origin:50% 100%;border:3px solid var(--o)}
.cp-fire .f1{left:-21px;top:-4px;width:42px;height:56px;background:linear-gradient(#ffb03a,#f2552e);animation:cpf 0.55s ease-in-out infinite alternate}
.cp-fire .f2{left:-13px;top:14px;width:26px;height:38px;background:linear-gradient(#ffe45e,#ffa23a);border-width:0;animation:cpf .4s ease-in-out -.2s infinite alternate}
.cp-fire .f3{left:-6px;top:30px;width:12px;height:20px;background:#fff6c2;border-width:0;animation:cpf .33s ease-in-out -.1s infinite alternate}
@keyframes cpf{from{transform:scale(.92,1.08) rotate(-4deg)}to{transform:scale(1.06,.9) rotate(4deg)}}
@keyframes cpglow{from{opacity:.65;transform:scale(.94)}to{opacity:1;transform:scale(1.05)}}
/* --- cadeaux de connexion --- */
.cal{display:grid;grid-template-columns:repeat(4,1fr);gap:6px;width:100%}
.cd{position:relative;border-radius:14px;border:3px solid var(--o);background:rgba(24,15,48,.75);padding:4px 2px 6px;display:flex;flex-direction:column;align-items:center;gap:3px;min-height:74px}
.cd b{font:900 11px/14px Nun;color:#cfc5ee}
.cd .cr{display:flex;flex-direction:column;gap:2px;align-items:center}
.cd .cchip{height:22px;font-size:12px;border-width:2.5px;padding:0 6px 0 3px;gap:3px}.cd .coin{width:13px;height:13px;border-width:2px}
.cd.big{grid-column:span 2;background:linear-gradient(rgba(120,80,20,.75),rgba(70,40,110,.8))}.cd.big .cr{flex-direction:row;gap:4px}
.cd.today{background:linear-gradient(#5a3fa8,#3a2478);box-shadow:0 0 0 3px #ffe45e,0 0 16px 5px rgba(255,214,70,.75);animation:cdglow .7s ease-in-out infinite alternate}.cd.today b{color:#ffe45e}
@keyframes cdglow{from{box-shadow:0 0 0 3px #ffe45e,0 0 8px 2px rgba(255,214,70,.5)}to{box-shadow:0 0 0 3px #fff6c2,0 0 20px 7px rgba(255,214,70,.9)}}
.cd.done{opacity:.7}.cd.done .cr{filter:saturate(.5)}
.cd .ck{position:absolute;right:-5px;top:-7px;width:24px;height:24px;border-radius:50%;background:linear-gradient(#8cf58a,#22b04e);border:3px solid var(--o);display:flex;align-items:center;justify-content:center}
.cd.pop{opacity:1;animation:cdpop .5s cubic-bezier(.2,1.6,.4,1)}
@keyframes cdpop{0%{transform:scale(.7)}60%{transform:scale(1.14)}100%{transform:scale(1)}}
.cd .sp{position:absolute;inset:-6px;border-radius:18px;border:4px solid #ffe45e;opacity:0;pointer-events:none;animation:cdring .7s ease-out}
@keyframes cdring{0%{opacity:1;transform:scale(.8)}100%{opacity:0;transform:scale(1.5)}}
/* --- fenêtre du boss du jour --- */
.rdm-top{display:flex;align-items:center;gap:10px;text-align:left}
.rdm-top .pt{width:58px;height:58px;border:4px solid var(--o);box-shadow:0 0 0 3px #ff5a6a}
.rdm-tiers{display:flex;flex-direction:column;gap:3px;width:100%}
.rdm-tiers .rate{padding:3px 8px;gap:6px}.rdm-tiers .rate i{font-size:12.5px;color:#fff;margin-left:0}
.rdm-tiers .rate b.n{width:21px;height:21px;border-radius:50%;background:var(--gold);border:2.5px solid var(--o);font:900 11px/16px Nun;color:var(--o);text-align:center;flex:none}
.rdm-tiers .cchip{height:23px;font-size:12px;border-width:2.5px;padding:0 7px 0 3px;gap:3px}.rdm-tiers .coin{width:13px;height:13px;border-width:2px}
.mbox .btn.adb{background:linear-gradient(#ffb86a,#f2762e)}
/* --- équipe : onglets Héros / Affinité, lien vers l'invocation, héros au camp --- */
.tm-tabs{display:flex;align-items:center;gap:6px;padding:0 4px 6px}
.tm-tabs .tt{position:relative;height:28px;padding:0 13px;border-radius:999px;border:3px solid var(--o);background:#3a2a5e;font:900 12.5px/1 Nun;color:#b9add8}
.tm-tabs .tt::before{content:"";position:absolute;inset:-9px -3px}
.tm-tabs .tt.on{background:var(--gold);color:var(--o)}
.tm-tabs b{margin-left:auto;font:900 12px/16px Nun;color:#ffd84a}
.tm-pan .hl{padding-bottom:5px}
.tm-link{display:block;margin:7px auto 0;background:none;border:0;font:900 13px/18px Nun;color:#bfd6ff;text-decoration:underline;position:relative}
.tm-link::before{content:"";position:absolute;inset:-7px -14px -8px}
.tm-h.camp .pt{filter:saturate(.5) brightness(.6)}.tm-h.camp .n{color:#ffb86a}
.du-list{display:flex;flex-direction:column;gap:5px;max-height:214px}
.du-row{display:flex;align-items:center;gap:0;border-radius:14px;border:3px solid var(--o);background:rgba(24,15,48,.75);padding:4px 8px 4px 5px;text-align:left;flex:none}
.du-row .pt{width:36px;height:36px;border-radius:11px;border:3px solid var(--o)}.du-row .pt+.pt{margin-left:-8px}
.du-row .pt.no{filter:brightness(0);opacity:.55}
.du-row .dx{flex:1;min-width:0;margin-left:8px}
.du-row .dx b{display:block;font:900 12.5px/15px Nun;color:#fff}.du-row .dx i{display:block;font:800 10.5px/13px Nun;color:#cfc5ee;font-style:normal}
.du-row.no .dx b{color:#8f88ab;letter-spacing:.2em}
.du-row.on{background:rgba(47,154,98,.35);box-shadow:0 0 0 2px #8dff8a}
.du-row .tg{flex:none;margin-left:6px;padding:1px 8px;border-radius:999px;background:var(--grn);border:2.5px solid var(--o);font:900 10px/14px Nun;color:var(--o)}
/* --- invocation : 1 cristal contre des gemmes --- */
.s-gem{position:absolute;right:10px;top:calc(76px + var(--st));min-width:92px;border-radius:15px;border:4px solid var(--o);background:linear-gradient(#ff9ccb,#d8418f);box-shadow:0 4px 0 var(--o),inset 0 3px 0 rgba(255,255,255,.4);padding:3px 9px 4px;display:flex;flex-direction:column;align-items:center;gap:0;z-index:3}
.s-gem:active{transform:translateY(3px);box-shadow:0 1px 0 var(--o)}
.s-gem span{display:flex;align-items:center;gap:3px;font-family:Lilita;font-size:17px;line-height:20px;color:#fff;-webkit-text-stroke:3px var(--o);paint-order:stroke fill}
.s-gem i{display:flex;align-items:center;gap:3px;font:900 12px/14px Nun;color:var(--o);font-style:normal}
.s-gem em{font:900 9.5px/11px Nun;color:rgba(30,20,48,.8);font-style:normal;white-space:nowrap}
.s-gem.off{filter:saturate(.3) brightness(.75)}
#s-summon.cine .s-gem{opacity:0;pointer-events:none!important;transition:opacity .2s}
/* --- pseudo --- */
.st-name{position:absolute;left:50%;transform:translateX(-50%);top:calc(100px + var(--st));display:flex;align-items:center;gap:6px;z-index:3;background:rgba(26,16,56,.9);border:3px solid var(--o);border-radius:16px;padding:4px 5px 4px 11px}
.st-name label{font:900 12px/16px Nun;color:#e7deff;white-space:nowrap}
.st-name input{width:150px;height:34px;border-radius:11px;border:3px solid var(--o);background:#fff;color:var(--o);font:900 15px/1 Nun;padding:0 8px;text-align:center;outline:none;min-width:0;user-select:text;-webkit-user-select:text}
.st-name input:focus{box-shadow:0 0 0 3px #ffe45e}
.st-name .sq{width:38px;height:38px;border-radius:12px;border-width:3px}
.st-name.inm{position:static;transform:none;background:none;border:0;padding:0}.st-name.inm input{width:190px;height:42px;font-size:17px}
/* --- tutoriel : bulle + main qui pointe (transparent aux touchers, sauf « Passer ») --- */
#tuto{position:absolute;inset:0;z-index:45;pointer-events:none;opacity:0;transition:opacity .25s}
#tuto.on{opacity:1}
.tu-hand{position:absolute;width:46px;height:58px;animation:tuhand .55s ease-in-out infinite alternate;filter:drop-shadow(0 4px 0 rgba(20,10,44,.45))}
@keyframes tuhand{from{transform:translateY(-9px)}to{transform:translateY(3px)}}
#tuto.up .tu-hand{animation-name:tuhandup}
@keyframes tuhandup{from{transform:rotate(180deg) translateY(-9px)}to{transform:rotate(180deg) translateY(3px)}}
.tu-bub{position:absolute;background:#fff;color:var(--o);font:900 14px/18px Nun;padding:9px 12px 9px 14px;border-radius:17px;border:4px solid var(--o);box-shadow:0 5px 0 rgba(30,20,48,.5);text-align:center;display:flex;align-items:center;gap:8px}
.tu-bub span{flex:1}
#tu-skip{flex:none;background:#e7deff;border:2.5px solid var(--o);border-radius:999px;font:900 10.5px/14px Nun;color:var(--o);padding:2px 8px;pointer-events:none;position:relative}
#tuto.on #tu-skip{pointer-events:auto}
#tu-skip::before{content:"";position:absolute;inset:-7px -4px}
.paused .tu-hand{animation-play-state:paused}
/* --- puissance d'équipe : indicateur commun à tous les écrans hors combat (même place partout : sous le pseudo à l'accueil,
   sous le titre dans l'en-tête des autres écrans). Vert ▲ +N quand elle monte, rouge ▼ −N quand elle baisse, puis couleur normale. --- */
.pwr{position:absolute;left:78px;top:calc(38px + var(--st));z-index:6;display:inline-flex;align-items:center;gap:4px;height:26px;padding:0 10px 0 6px;border-radius:999px;background:rgba(24,15,48,.9);border:3px solid var(--o);font:900 14px/1 Nun;color:#ffd84a;white-space:nowrap;pointer-events:none!important;transition:background .25s,color .25s,box-shadow .25s}
.pwr svg{flex:none}
.pwr b{font-weight:900;font-variant-numeric:tabular-nums}
.pwr .ar{font-style:normal;font-size:12px;line-height:1;display:none}
.pwr.up,.pwr.down{animation:pwpop .35s cubic-bezier(.2,1.4,.4,1)}
.pwr.up{background:linear-gradient(#3fcf63,#1f9a45);color:#fff;box-shadow:0 0 12px 3px rgba(120,255,140,.7)}
.pwr.down{background:linear-gradient(#ff6a6a,#c8262f);color:#fff;box-shadow:0 0 12px 3px rgba(255,90,90,.6)}
.pwr.up .ar,.pwr.down .ar{display:inline}
.pwr .dl{position:absolute;left:calc(100% + 4px);top:0;font:900 15px/26px Nun;white-space:nowrap;text-shadow:0 2px 0 var(--o),0 0 3px var(--o);animation:pwfloat 1.5s ease-out forwards}
.pwr.up .dl{color:#8dff8a}.pwr.down .dl{color:#ff7a7a}
@keyframes pwpop{0%{transform:scale(1)}40%{transform:scale(1.14)}100%{transform:scale(1)}}
@keyframes pwfloat{0%{opacity:0;transform:translateY(6px)}15%{opacity:1;transform:none}70%{opacity:1}100%{opacity:0;transform:translateY(-16px)}}
#s-summon.cine.on~.pwr{opacity:0}
/* ===================== JALON 5 : Boutique (achats simulés) et Calendrier de Maître Rabais ===================== */
.noad{flex:none;vertical-align:middle}
.gbtn.free,.btn.free{background:var(--grn)!important}
.gbtn.vio{background:var(--vio)}.gbtn.pink{background:linear-gradient(#ff9ccb,#d8418f)}.gbtn.gold{background:var(--gold)}
.wk-tag{background:rgba(255,214,70,.16);border:3px solid #ffd84a;border-radius:12px;padding:4px 10px;color:#ffe45e!important;font-weight:900!important}
.cchip.wkx{background:var(--gold);color:var(--o);padding:0 7px;font-size:11px}
/* --- accueil : bandeau du jour de soldes ; invocation : idem --- */
.h-sale{position:absolute;left:50%;transform:translateX(-50%);top:calc(84px + var(--st));height:28px;max-width:244px;padding:0 9px 0 5px;border-radius:999px;border:3px solid var(--o);background:var(--gold);box-shadow:0 3px 0 var(--o),0 0 12px 2px rgba(255,214,70,.7);display:flex;align-items:center;gap:4px;font:900 11px/1 Nun;color:var(--o);white-space:nowrap;z-index:3}
.h-sale span{overflow:hidden;text-overflow:ellipsis}
.h-sale::before{content:"";position:absolute;inset:-8px -4px}
.s-sale{position:absolute;left:10px;top:calc(80px + var(--st));max-width:250px;height:30px;padding:0 11px 0 6px;border-radius:999px;border:3px solid var(--o);background:var(--gold);box-shadow:0 3px 0 var(--o),0 0 14px 3px rgba(255,214,70,.65);display:flex;align-items:center;gap:5px;font:900 12px/1 Nun;color:var(--o);white-space:nowrap;z-index:3;pointer-events:none!important}
#s-summon.cine .s-sale{opacity:0}
/* --- boutique --- */
.sh-tabs{position:absolute;left:8px;right:8px;top:calc(76px + var(--st));display:flex;gap:6px;z-index:3}
.sht{flex:1;min-width:0;height:44px;border-radius:15px;border:4px solid var(--o);background:var(--vio);box-shadow:0 4px 0 var(--o),inset 0 3px 0 rgba(255,255,255,.28);display:flex;align-items:center;justify-content:center;gap:4px;padding:0 3px}
.sht .t3{font-size:15.5px;line-height:18px;white-space:nowrap;-webkit-text-stroke-width:3px}
.sht.on{background:var(--gold);transform:translateY(-2px);box-shadow:0 6px 0 var(--o),inset 0 3px 0 rgba(255,255,255,.45)}
.sht:active{transform:translateY(2px)}
.sh-body{position:absolute;left:0;right:0;top:calc(130px + var(--st));bottom:calc(32px + var(--sb));padding:4px 10px 14px}
.sh-proto{position:absolute;left:50%;transform:translateX(-50%);bottom:calc(5px + var(--sb));height:24px;padding:0 11px;border-radius:999px;border:2.5px dashed #8f88ab;background:rgba(24,15,48,.9);display:flex;align-items:center;gap:6px;font:900 11px/1 Nun;color:#cfc5ee;white-space:nowrap;pointer-events:none!important}
.sh-proto i{width:9px;height:9px;border-radius:50%;background:#ffb04a;flex:none}
.sh-price{height:50px;min-width:118px;border-radius:17px;padding:0 12px}
.sh-price .t3{font-size:24px;line-height:27px;white-space:nowrap;color:#fff;-webkit-text-stroke:0;text-shadow:0 2px 0 var(--o),2px 0 0 var(--o),-2px 0 0 var(--o),0 -2px 0 var(--o),1.5px 1.5px 0 var(--o),-1.5px 1.5px 0 var(--o),1.5px -1.5px 0 var(--o),-1.5px -1.5px 0 var(--o),0 3px 0 var(--o)} /* prix lisibles (retour Dylan 12/11 : montants noirs sur fond vert) */
.sh-price.big2{min-width:150px;height:58px}.sh-price.big2 .t3{font-size:27px}
.sh-price.off .t3{font-size:17px}
/* carte dorée « Passe sans pub » (maquette A) */
.sh-pass{position:relative;margin:14px 0 6px;border-radius:24px;border:4px solid var(--o);background:radial-gradient(circle at 78% 60%,rgba(255,255,255,.35),transparent 55%),linear-gradient(#ffe08a,#f6b444 60%,#e8922a);box-shadow:0 5px 0 rgba(0,0,0,.4),inset 0 0 0 3px rgba(255,255,255,.35);padding:14px 12px 12px;min-height:276px;color:var(--o)}
.sh-pass::after{content:"";position:absolute;inset:7px;border:2.5px dashed rgba(30,20,48,.35);border-radius:18px;pointer-events:none}
.sh-pass .ribbon{position:absolute;left:-8px;top:-15px;transform:rotate(-6deg);height:30px;padding:0 13px;border-radius:7px;border:3.5px solid var(--o);background:var(--red);font-size:17px;line-height:23px;color:#fff;box-shadow:0 3px 0 var(--o);z-index:2}
.sh-pass .ph,.sh-pass2 .ph{display:flex;align-items:center;gap:8px;position:relative;z-index:1}
.sh-pass .ph b,.sh-pass2 .ph b{display:block;font-size:30px;line-height:32px;color:#fff;white-space:nowrap}
.sh-pass .ph i,.sh-pass2 .ph i{display:block;font:900 12.5px/15px Nun;color:var(--o);font-style:normal}
.sh-pass .perks{position:relative;z-index:1;display:flex;flex-direction:column;gap:6px;margin-top:10px;width:228px}
.sh-pass .pk{display:flex;align-items:center;gap:7px;height:36px;padding:0 8px 0 4px;border-radius:13px;border:3.5px solid var(--o);background:#fff3d2;font:900 13px/15px Nun;color:var(--o);white-space:nowrap}
.sh-pass .pi{width:28px;height:26px;border-radius:9px;border:3px solid var(--o);background:var(--vio);display:flex;align-items:center;justify-content:center;flex:none}
.sh-pass .pi .x2{font:900 11px/1 Nun;color:#ffe45e}
.sh-pass .bn{position:absolute;right:-2px;top:58px;width:132px;z-index:1;pointer-events:none;filter:drop-shadow(0 4px 0 rgba(30,20,48,.25))}
.sh-pass .note{position:relative;z-index:1;margin:10px 0 0;width:205px;font:900 11.5px/15px Nun;color:#5a3a12}
.sh-pass>.sh-price{position:absolute;right:12px;bottom:12px;z-index:2}
.sh-pass.own .ribbon,.sh-pass2.own .ph i{background:var(--grn)}
/* sections */
.sh-sec{display:flex;align-items:center;gap:8px;margin:16px 2px 8px}
.sh-sec h3{margin:0;font-weight:400;font-size:21px;line-height:24px;white-space:nowrap}
.sh-sec .ln{flex:1;height:4px;border-radius:2px;background:rgba(255,255,255,.14)}
.sh-sec .once{height:24px;padding:0 10px;border-radius:999px;border:3px solid var(--o);background:var(--red);font:900 11.5px/18px Nun;color:#fff;white-space:nowrap}
/* pack de départ (maquette B) */
.sh-pack{border-radius:22px;border:4px solid var(--o);background:linear-gradient(#3a2a7e,#2a1d62);box-shadow:0 5px 0 rgba(0,0,0,.4);padding:10px 10px 12px}
.sh-pack .tiles{display:flex;align-items:center;gap:3px}
.sh-pack .tiles em{font-family:Lilita;font-style:normal;font-size:22px;color:#fff;-webkit-text-stroke:3px var(--o);paint-order:stroke fill}
.sh-pack .tl{flex:1;min-width:0;height:100px;border-radius:16px;border:3.5px solid var(--o);background:#1f1544;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1px}
.sh-pack .tl b{font-size:23px;line-height:25px}
.sh-pack .tl i{font:900 11px/13px Nun;color:#cfc5ee;font-style:normal;text-align:center}
.sh-pack .tl.hero{flex:1.35;background:linear-gradient(#8fd0ff,#3d84e0);gap:3px}
.sh-pack .tl.hero i{color:#fff}
.sh-pack .fc{display:flex;align-items:center;gap:3px}
.sh-pack .fc .pt{width:40px;height:40px;border-radius:50%;border:3px solid var(--o);background-size:cover;background-position:center}
.sh-pack .fc b{font:900 11px/1 Nun;color:#fff}
.sh-pack .pb,.sh-pass2 .pb{display:flex;align-items:center;gap:10px;margin-top:10px}
.sh-pack .pb p,.sh-pass2 .pb p{flex:1;margin:0;font:900 12px/15px Nun;color:#e7deff}
.sh-pack.own .tl{filter:saturate(.4) brightness(.8)}
/* tuiles d'accès */
.sh-mini{display:flex;gap:8px}
.sh-mini .mt{flex:1;min-width:0;border-radius:20px;border:4px solid var(--o);background:rgba(26,16,56,.95);box-shadow:0 4px 0 rgba(0,0,0,.35);padding:8px 7px 9px;display:flex;flex-direction:column;align-items:center;gap:5px}
.sh-mini .mt>b{display:flex;align-items:center;gap:5px;font-size:18px;line-height:22px;font-weight:400}
.sh-mini .xr{display:flex;align-items:center;gap:4px}.sh-mini .xr>i,.sh-xrow>i{font-style:normal;font:900 15px/1 Nun}
.sh-mini .lf,.sh-mini .lf2{font:900 11px/14px Nun;color:#b9add8;font-style:normal;text-align:center}
.sh-mini .lf2{min-height:28px}
.sh-mini .gbtn{height:38px;font-size:15px;width:100%}
/* bulle d'un héros (Passe, Tenues, Gemmes) */
.sh-hero{position:relative;height:172px;margin-top:2px}
.sh-hero img{position:absolute;left:4px;bottom:-4px;height:176px}
.sh-bub{position:absolute;left:142px;right:4px;top:34px;display:flex}
.sh-bub span{position:relative;background:#fff;color:var(--o);font:900 14px/18px Nun;padding:10px 13px;border-radius:18px;border:4px solid var(--o);box-shadow:0 5px 0 rgba(30,20,48,.5);text-align:center}
.sh-bub span::after{content:"";position:absolute;left:-17px;top:calc(50% - 10px);border-top:10px solid transparent;border-bottom:10px solid transparent;border-right:15px solid var(--o)}
.sh-bub span::before{content:"";position:absolute;left:-9px;top:calc(50% - 7px);border-top:7px solid transparent;border-bottom:7px solid transparent;border-right:11px solid #fff;z-index:1}
.sh-bub em,.rb-bub em{font-style:normal;color:#7b3fd8}
/* passe : tableau (maquette B-passe) */
.sh-pass2{border-radius:24px;border:4px solid var(--o);background:linear-gradient(#ffe08a,#f6b444 60%,#e8922a);box-shadow:0 5px 0 rgba(0,0,0,.4),inset 0 0 0 3px rgba(255,255,255,.35);padding:12px 12px 12px;color:var(--o)}
.sh-pass2 .tbl{margin-top:10px;border-radius:16px;border:3.5px solid var(--o);background:#fff3d2;overflow:hidden}
.sh-pass2 .th,.sh-pass2 .tr{display:grid;grid-template-columns:1fr 84px 92px;align-items:center;gap:4px;padding:0 8px}
.sh-pass2 .th{height:30px;font:900 10.5px/1 Nun;color:#7a6250;letter-spacing:.03em}.sh-pass2 .th span:not(:first-child){text-align:center}
.sh-pass2 .tr{height:42px;border-top:2.5px solid rgba(30,20,48,.12)}
.sh-pass2 .tr b{font:900 13px/15px Nun}
.sh-pass2 .adp,.sh-pass2 .frp{justify-self:center;height:28px;padding:0 8px;border-radius:10px;border:3px solid var(--o);display:flex;align-items:center;gap:3px;font-family:Lilita;font-size:13px;color:#fff;-webkit-text-stroke:2.5px var(--o);paint-order:stroke fill}
.sh-pass2 .adp{background:linear-gradient(#ffb86a,#f2762e)}.sh-pass2 .frp{background:var(--grn)}
.sh-pass2 .pb p{color:#5a3a12}
/* tenues */
.sh-outs{display:flex;gap:7px}
.sh-outs .oc{position:relative;flex:1;min-width:0;border-radius:18px;border:4px solid var(--o);background:#1f1544;box-shadow:0 4px 0 rgba(0,0,0,.4);padding:0 0 8px;display:flex;flex-direction:column;align-items:center;gap:4px}
.sh-outs .art{position:relative;width:100%;height:132px;border-radius:14px 14px 0 0;background:linear-gradient(#5a4a9a,#2f2466);overflow:hidden}
.sh-outs .art img{position:absolute;left:50%;bottom:-6px;transform:translateX(-50%);height:150px;filter:grayscale(.85) brightness(.55) sepia(.3) hue-rotate(220deg)}
.sh-outs .lk{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:38px;height:38px;border-radius:12px;background:#f2a541;border:3.5px solid var(--o);display:flex;align-items:center;justify-content:center}
.sh-outs b{font:900 11.5px/14px Nun;text-align:center;padding:0 4px;min-height:28px;display:flex;align-items:center}
.sh-outs .gbtn{height:32px;font-size:13px;gap:4px;padding:0 8px}
.soon{position:absolute;right:-6px;top:-12px;z-index:2;height:22px;padding:0 9px;border-radius:999px;border:3px solid var(--o);background:#fff6d8;font:900 11px/16px Nun;color:var(--o);transform:rotate(4deg)}
.sh-fine{margin:12px 6px 0;text-align:center;font:800 11.5px/15px Nun;color:#b9add8}
/* gemmes (maquette B-gemmes) */
.sh-gems{display:grid;grid-template-columns:1fr 1fr;gap:12px 9px;margin-top:6px}
.sh-gems .gp{position:relative;border-radius:20px;border:4px solid var(--o);background:linear-gradient(#3a2a7e,#261a58);box-shadow:0 4px 0 rgba(0,0,0,.4);padding:10px 8px 9px;display:flex;flex-direction:column;align-items:center;gap:1px}
.sh-gems .ga{height:66px;display:flex;align-items:center;justify-content:center}
.sh-gems .gm3,.sh-gems .gm6{display:flex;flex-wrap:wrap;justify-content:center;width:84px}.sh-gems .gm6{width:96px}
.sh-gems .gp>b{font-size:25px;line-height:28px}
.sh-gems .gp>i{font:900 11px/14px Nun;color:#ff9ccb;font-style:normal}
.sh-gems .gp .sh-price{margin-top:6px;width:100%;min-width:0;height:44px}.sh-gems .gp .sh-price .t3{font-size:21px}
.sh-gems .gofr{position:absolute;right:-7px;top:-13px;transform:rotate(4deg);height:24px;padding:0 9px;border-radius:999px;border:3px solid var(--o);background:#ffe45e;font:900 11.5px/18px Nun;color:var(--o);white-space:nowrap;z-index:2}
.sh-gems .gofr.red{background:linear-gradient(#ff8a7a,#d8323b);color:#fff}
.sh-xrow{display:flex;align-items:center;gap:6px;margin-top:12px;border-radius:20px;border:4px solid var(--o);background:rgba(26,16,56,.95);padding:8px 8px 8px 10px}
.sh-xrow .tx{flex:1;min-width:0}.sh-xrow .tx b{display:block;font:900 13px/16px Nun}.sh-xrow .tx i{font:900 11px/13px Nun;color:#b9add8;font-style:normal}
.sh-xrow .gbtn{height:40px;font-size:15px}
.sh-vip{position:relative;display:flex;align-items:center;gap:10px;margin-top:14px;border-radius:20px;border:4px solid var(--o);background:rgba(26,16,56,.95);padding:10px 12px}
.sh-vip b{display:block;font-size:18px;line-height:21px;font-weight:400}.sh-vip i{font:900 11.5px/14px Nun;color:#b9add8;font-style:normal}
/* fenêtres d'achat */
.by-it{display:flex;align-items:center;gap:10px;justify-content:center;font:900 15px/19px Nun;color:#fff}
.by-face{width:48px;height:48px;border-radius:14px;border:3px solid var(--o)}
.by-price{display:flex;align-items:center;gap:6px;font-size:34px;line-height:38px;color:#fff}
.by-price .strike{font-size:15px}
.mbox p.by-proto{background:rgba(255,176,74,.14);border:2.5px dashed #ffb04a;border-radius:12px;padding:6px 10px;font-size:12px;line-height:16px}
.mbox .by-pick{display:flex;gap:10px;width:100%;justify-content:center}
.by-pick .pk{flex:1;max-width:140px;border-radius:18px;border:4px solid var(--o);background:linear-gradient(#8fd0ff,#3d84e0);box-shadow:0 4px 0 var(--o);display:flex;flex-direction:column;align-items:center;padding:4px 4px 8px;gap:3px}
.by-pick .pk img{height:120px}.by-pick .pk b{font-size:17px;font-weight:400}
.by-pick .pk:active{transform:translateY(3px);box-shadow:0 1px 0 var(--o)}
.by-hero{display:flex;flex-direction:column;align-items:center;gap:4px;animation:cdpop .45s cubic-bezier(.2,1.4,.4,1)}
.by-hero img{height:150px}.by-hero b{font:900 15px/19px Nun;color:#8dff8a}
.by-pass{animation:cdpop .45s cubic-bezier(.2,1.4,.4,1)}
#by-row .cchip{animation:cdpop .45s cubic-bezier(.2,1.4,.4,1) backwards}#by-row .cchip:nth-child(2){animation-delay:.12s}#by-row .cchip:nth-child(3){animation-delay:.24s}
.mbox .by-rays{position:absolute;left:50%;top:50%;width:520px;height:520px;margin:-260px 0 0 -260px;background:repeating-conic-gradient(rgba(255,228,94,.16) 0 10deg,transparent 10deg 20deg);border-radius:50%;animation:spin 14s linear infinite;pointer-events:none;z-index:-1}
.modal[data-name="buydone"] .mbox{position:relative;overflow:hidden;isolation:isolate}
/* --- Le Calendrier de Maître Rabais (maquette D) --- */
.hdr.wkh{align-items:flex-start}
.hdr.wkh h2{font-size:20px;padding-left:6px}
.hdr.wkh .hr{position:absolute;right:12px;top:calc(36px + var(--st))}
.wk-body{position:absolute;left:0;right:0;top:calc(70px + var(--st));bottom:0}
.wk-page{position:relative;min-height:100%;padding-bottom:calc(16px + var(--sb));background:linear-gradient(rgba(28,16,64,.15),rgba(28,16,64,.3) 24%,rgba(34,20,74,.95) 36%,#22144a 46%),url(../../assets/ui/fond_village.webp) center -70px/390px auto no-repeat,#22144a}
.stall{position:relative;height:268px}
.stall .awn{position:absolute;left:14px;right:14px;top:22px;height:34px;border:4px solid var(--o);border-radius:10px 10px 4px 4px;background:repeating-linear-gradient(90deg,#ffd84a 0 30px,#7b4fd0 30px 60px);box-shadow:inset 0 4px 0 rgba(255,255,255,.35),0 4px 0 rgba(20,12,40,.4);z-index:2}
.stall .awn::after{content:"";position:absolute;left:-4px;right:-4px;bottom:-17px;height:16px;background:radial-gradient(circle at 15px 0,#ffd84a 0 11px,var(--o) 11px 14.5px,transparent 15px) 0 0/60px 16px,radial-gradient(circle at 15px 0,#7b4fd0 0 11px,var(--o) 11px 14.5px,transparent 15px) 30px 0/60px 16px;background-repeat:repeat-x}
.stall .awn b{position:absolute;left:50%;top:-20px;transform:translateX(-50%) rotate(-2deg);height:30px;padding:0 14px;background:#fff6d8;border:4px solid var(--o);border-radius:9px;font-family:Lilita;font-weight:400;font-size:17px;line-height:22px;color:#d8323b;white-space:nowrap;box-shadow:0 3px 0 var(--o)}
.stall .post{position:absolute;top:52px;width:12px;height:180px;background:linear-gradient(90deg,#a0602a,#d08a44 50%,#a0602a);border:3.5px solid var(--o);border-radius:4px;z-index:1}
.stall .post.l{left:24px}.stall .post.r{right:24px}
.stall .rbimg{position:absolute;left:58px;top:40px;height:200px;z-index:1}
.stall .counter{position:absolute;left:8px;right:8px;top:214px;height:46px;border:4px solid var(--o);border-radius:10px;background:repeating-linear-gradient(90deg,#b8742f 0 58px,#9c5d22 58px 61px),#b8742f;box-shadow:inset 0 5px 0 rgba(255,255,255,.25),inset 0 -6px 0 rgba(0,0,0,.2),0 5px 0 rgba(20,12,40,.45);z-index:2}
.stall .counter::before{content:"";position:absolute;left:-8px;right:-8px;top:-14px;height:14px;border:4px solid var(--o);border-radius:6px;background:linear-gradient(#e6a45a,#c47f38)}
.stall .sign{position:absolute;left:12px;top:176px;width:116px;height:48px;transform:rotate(-7deg);background:linear-gradient(#ffe45e,#f2b33a);border:4px solid var(--o);border-radius:8px;z-index:3;text-align:center;box-shadow:0 4px 0 rgba(20,12,40,.45)}
.stall .sign b{display:block;font-family:Lilita;font-weight:400;font-size:22px;line-height:26px;color:#d8323b;margin-top:2px;white-space:nowrap}
.stall .sign i{display:block;font:900 8.5px/10px Nun;color:var(--o);font-style:normal;white-space:nowrap}
.stall .soldes{position:absolute;left:226px;top:166px;transform:rotate(14deg);height:28px;padding:0 10px;background:linear-gradient(#ffe45e,#f2b33a);border:3.5px solid var(--o);border-radius:6px;font-family:Lilita;font-size:17px;line-height:21px;color:#d8323b;z-index:1}
.stall .cnt-it{position:absolute;z-index:3;filter:drop-shadow(0 3px 0 rgba(20,12,40,.5))}
.stall .c1{left:284px;top:180px}.stall .c2{left:326px;top:190px}.stall .c3{left:258px;top:194px}
.rb-bub{position:absolute;right:10px;top:74px;width:156px;background:#fff;color:var(--o);font:900 13px/16px Nun;padding:7px 10px;border-radius:17px;border:4px solid var(--o);box-shadow:0 5px 0 rgba(30,20,48,.5);text-align:center;z-index:3}
.rb-bub em{color:#d8323b}
.rb-bub small{display:block;font:800 10.5px/13px Nun;color:#7a6f96;margin-top:2px}
.rb-bub::after{content:"";position:absolute;left:-17px;top:calc(50% - 10px);border-top:10px solid transparent;border-bottom:10px solid transparent;border-right:15px solid var(--o)}
.rb-bub::before{content:"";position:absolute;left:-9px;top:calc(50% - 7px);border-top:7px solid transparent;border-bottom:7px solid transparent;border-right:11px solid #fff;z-index:1}
.wk-page .sec{display:flex;justify-content:space-between;align-items:center;gap:8px;margin:8px 12px 10px 14px}
.wk-page .sec h3{margin:0;font-weight:400;font-size:17px;line-height:22px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}
.wk-page .sec .rg{font:900 12px/16px Nun;color:#ffd84a;white-space:nowrap}
.clock{display:inline-flex;align-items:center;gap:4px;height:27px;padding:0 9px 0 4px;border-radius:999px;background:rgba(24,15,48,.9);border:3px solid var(--o);font:900 11px/1 Nun;color:#ffd84a;white-space:nowrap;flex:none}
.ptag{position:absolute;display:inline-flex;align-items:center;height:24px;padding:0 8px 0 13px;background:linear-gradient(#ff5a4e,#d8323b);border:3px solid var(--o);border-radius:4px 7px 7px 4px;font-family:Lilita;font-size:14px;color:#fff;-webkit-text-stroke:3px var(--o);paint-order:stroke fill;white-space:nowrap;z-index:2}
.ptag::before{content:"";position:absolute;left:4px;top:50%;width:5px;height:5px;margin-top:-2.5px;border-radius:50%;background:#fff;border:1.5px solid var(--o)}
.strike{position:relative;display:inline-flex;align-items:center;gap:3px;color:#e7deff;font:900 12.5px/15px Nun;white-space:nowrap}
.strike::after{content:"";position:absolute;left:-2px;right:-2px;top:50%;height:2.5px;margin-top:-1px;background:#ff5a4e;border-radius:2px;transform:rotate(-7deg)}
.grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:7px;margin:0 8px}
.grid3.pop .of{animation:cdpop .4s cubic-bezier(.2,1.4,.4,1) backwards}.grid3.pop .of:nth-child(2){animation-delay:.08s}.grid3.pop .of:nth-child(3){animation-delay:.16s}
.of{position:relative;height:214px;border-radius:18px;border:4px solid var(--o);background:#1f1544;box-shadow:0 4px 0 rgba(0,0,0,.4);display:flex;flex-direction:column;align-items:center}
.of .art{position:relative;width:100%;height:84px;border-radius:14px 14px 0 0;background:linear-gradient(var(--rc),var(--rc2));box-shadow:inset 0 0 0 3px rgba(255,255,255,.3);overflow:hidden;display:flex;align-items:center;justify-content:center}
.of .art img{position:absolute;bottom:-14px;left:50%;transform:translateX(-50%);height:106px}
.of .qty{position:absolute;right:5px;bottom:3px;font-family:Lilita;font-size:20px;line-height:22px;color:#fff;-webkit-text-stroke:4px var(--o);paint-order:stroke fill;z-index:2}
.of .pz{position:absolute;left:5px;bottom:5px;width:22px;height:22px;border-radius:7px;background:#ffd84a;border:3px solid var(--o);display:flex;align-items:center;justify-content:center;z-index:2}
.of>.ptag{left:-7px;top:-10px;transform:rotate(-8deg);font-size:15px}
.of .nm{font:900 11.5px/13.5px Nun;color:#fff;text-align:center;height:28px;display:flex;align-items:center;justify-content:center;margin-top:4px;padding:0 4px}
.of .old{margin-top:3px;height:16px;display:flex;align-items:center}
.of .sb{font:900 10.5px/12px Nun;color:#9e94c4;margin-top:3px;text-align:center;padding:0 3px}
.of.new .sb{color:#8dff8a}
.of .coins{position:relative;width:64px;height:58px}
.of .coins .coin{position:absolute;border-width:3px}.of .coins .coin:nth-child(1){left:4px;top:24px}.of .coins .coin:nth-child(2){left:30px;top:24px}.of .coins .coin:nth-child(3){left:17px;top:4px}
.of .buy{position:absolute;left:6px;right:6px;bottom:7px;height:38px;border-radius:12px;padding:0 4px;background:var(--gold);border:3.5px solid var(--o);box-shadow:0 4px 0 var(--o),inset 0 3px 0 rgba(255,255,255,.45);display:flex;align-items:center;justify-content:center;gap:5px;font-family:Lilita;font-size:17px;-webkit-text-stroke:3px var(--o);paint-order:stroke fill;color:#fff;white-space:nowrap}
.of .buy.vio{background:var(--vio)}
.of .buy.off{filter:saturate(.3) brightness(.72)}
.of .buy:active{transform:translateY(3px);box-shadow:0 1px 0 var(--o)}
.of .buy.got{background:var(--grn);font-size:14px}
.of.got .art,.of.got .nm,.of.got .old,.of.got .sb{opacity:.45}
.renew{display:flex;align-items:center;gap:9px;margin:14px 10px 0;height:66px;padding:0 8px 0 12px}
.pan{border-radius:20px;background:rgba(26,16,56,.95);border:4px solid var(--o);box-shadow:0 5px 0 rgba(0,0,0,.35)}
.renew .tx{flex:1;min-width:0;font:800 11.5px/14px Nun;color:#cfc5ee}
.renew .tx b{display:block;font:900 13px/16px Nun;color:#fff}
.renew .gbtn{height:48px;border-radius:15px;padding:0 10px;gap:6px;font-size:16px}
.renew .gbtn small{font:900 10.5px/1 Nun;-webkit-text-stroke:0;color:var(--o);background:#fff;border:2.5px solid var(--o);border-radius:999px;padding:3px 6px}
.renew .gbtn .dn{font-size:13px}
.wk{display:flex;flex-direction:column;gap:5px;margin:0 10px}
.wk .row{position:relative;display:flex;align-items:center;gap:8px;height:50px;border-radius:16px;background:rgba(26,16,56,.95);border:4px solid var(--o);padding:0 9px 0 5px;flex:none}
.wk .row .dy{width:42px;flex:none;text-align:center;display:flex;flex-direction:column;align-items:center}
.wk .row .dy b{font-family:Lilita;font-weight:400;font-size:15px;line-height:17px;-webkit-text-stroke:3px var(--o);paint-order:stroke fill;letter-spacing:.03em}
.wk .row .dy i{font:900 10.5px/12px Nun;color:#b9add8;font-style:normal;white-space:nowrap}
.wk .row .ic{width:36px;height:34px;border-radius:12px;border:3.5px solid var(--o);box-shadow:0 3px 0 var(--o),inset 0 3px 0 rgba(255,255,255,.3);display:flex;align-items:center;justify-content:center;flex:none}
.wk .row .tx{flex:1;min-width:0}
.wk .row .tx b{display:block;font:900 13px/16px Nun;color:#fff;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.wk .row .tx span{display:block;font:800 11.5px/14px Nun;color:#cfc5ee;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.wk .row .st{flex:none;font:900 11px/14px Nun;color:#b9add8;text-align:right;white-space:nowrap}
.wk .row.past{background:rgba(22,14,46,.97)}.wk .row.past>*{opacity:.5}.wk .row.past>.st{opacity:1}
.wk .row .st.ok{width:24px;height:24px;border-radius:50%;background:var(--grn);border:3px solid var(--o);display:flex;align-items:center;justify-content:center}
.wk .row.today{height:96px;align-items:flex-start;padding-top:13px;background:rgba(56,38,112,.98);box-shadow:0 0 0 3px #ffe45e,0 0 18px 5px rgba(255,214,70,.55);margin:8px 0 2px}
.wk .row.today .dy b,.wk .row.today .tx b{color:#ffe45e}
.wk .row.today .ic{width:42px;height:40px}
.wk .row.today .tx b{font-size:14.5px;line-height:18px}
.wk .row.today .now{position:absolute;left:52px;top:-13px;height:21px;padding:0 9px;border-radius:999px;background:var(--gold);border:3px solid var(--o);font:900 10.5px/15px Nun;color:var(--o);letter-spacing:.04em}
.wk .row.today .act{position:absolute;left:58px;right:9px;bottom:8px;display:flex;align-items:center;gap:8px}
.wk .row.today .act .gbtn{margin-left:auto;height:34px;border-radius:12px;font-size:15px;background:var(--gold);padding:0 14px}
.wk .row.sale{height:58px;margin-top:8px;background:linear-gradient(100deg,#ffd84a,#f2a541 55%,#e0841e);box-shadow:0 4px 0 rgba(0,0,0,.35),inset 0 3px 0 rgba(255,255,255,.45)}
.wk .row.sale.today{height:100px;box-shadow:0 0 0 3px #fff6c2,0 0 18px 6px rgba(255,214,70,.8)}
.wk .row.sale .dy b{color:#fff}.wk .row.sale .dy i{color:#6b3c08}
.wk .row.sale .tx{padding-right:56px}
.wk .row.sale .tx b,.wk .row.sale.today .tx b{font-family:Lilita;font-weight:400;font-size:17px;line-height:19px;color:#fff;-webkit-text-stroke:3.5px var(--o);paint-order:stroke fill;letter-spacing:.02em}
.wk .row.sale .tx span{color:var(--o);font-weight:900}
.wk .row.sale .rf{position:absolute;right:6px;top:3px;width:46px;height:46px;border-radius:14px;border:3.5px solid var(--o);background:#5a2440 center/cover;box-shadow:0 3px 0 var(--o)}
.wk .row.sale>.ptag{right:58px;top:-13px;transform:rotate(3deg);font-size:12.5px;height:21px}
.wk .row.sale>.st{position:absolute;right:2px;bottom:-9px;height:19px;padding:0 7px;border-radius:999px;background:#1E1430;color:#ffd84a;font:900 10.5px/13px Nun;display:flex;align-items:center;z-index:2}
.wk .row.sale.today .act{right:58px}.wk .row.sale.today .act .clock{background:rgba(24,15,48,.9)}
.wk-page .fine{margin:14px 0 8px;text-align:center;font:800 10.5px/13px Nun;color:#8f86b0}
.notif{display:flex;align-items:center;gap:9px;margin:0 10px;height:70px;padding:0 10px}
.notif .bell{width:40px;height:40px;border-radius:13px;background:var(--gold)}
.notif .tx{flex:1;min-width:0;font:900 12px/15px Nun;color:#e7deff}
.notif .tx b{display:block;font-size:13.5px;line-height:17px;color:#fff}
.notif .tx em{font-style:normal;color:#ffd84a}
.wtog{position:relative;width:54px;height:32px;border-radius:999px;border:3.5px solid var(--o);background:#4a4466;flex:none;box-shadow:inset 0 3px 0 rgba(255,255,255,.2);transition:background .15s}
.wtog::before{content:"";position:absolute;inset:-8px -4px}
.wtog::after{content:"";position:absolute;left:2px;top:2px;width:21px;height:21px;border-radius:50%;background:#fff;border:3px solid var(--o);transition:left .15s}
.wtog.on{background:var(--grn)}.wtog.on::after{left:23px}
