  /* ===================== BOUTIQUE ===================== */
  :root{ --shop-neon:#FF2BD6; --shop-gold:#F2C14E; --shop-cyan:#29F3FF; }
  .shop-ov{z-index:60;}
  .shop-panel{max-width:880px; background:linear-gradient(180deg,#140910 0%, #0B0709 60%, #090607 100%); border:1px solid rgba(255,43,214,.28); box-shadow:0 0 0 1px rgba(0,0,0,.6), 0 20px 60px rgba(255,43,214,.12); gap:12px;}
  @media (min-width:640px){ .shop-panel{max-height:88vh; max-height:88dvh;} }
  .shop-head{display:grid; grid-template-columns:1fr auto auto; gap:12px; align-items:center;}
  @media (max-width:520px){ .shop-head{grid-template-columns:1fr auto;} .shop-bal{grid-column:1 / -1; grid-row:2; justify-self:start;} }
  .shop-head h3{font-size:1.7rem; background:linear-gradient(90deg,#FDE7EF,var(--shop-neon)); -webkit-background-clip:text; background-clip:text; color:transparent;}
  .shop-kick{font-size:.66rem; letter-spacing:.24em; color:var(--text-muted); text-transform:uppercase;}
  .shop-bal{display:flex; align-items:center; gap:6px; padding:6px 12px; border-radius:999px; background:#1b0b16; border:1px solid rgba(255,43,214,.45); box-shadow:inset 0 0 12px rgba(255,43,214,.15);}
  .shop-bal b{font-size:1.1rem;} .shop-bal span:last-child{font-size:.66rem; letter-spacing:.08em; color:var(--text-muted);}
  .shop-coin{filter:drop-shadow(0 0 6px rgba(255,43,214,.7));}
  .shop-test{font-style:normal; background:#F2C14E; color:#1a1000; border-radius:4px; padding:0 4px; font-size:.6rem; letter-spacing:.05em;}
  .shop-banner{font-size:.78rem; padding:8px 12px; border-radius:10px; line-height:1.35;}
  .shop-banner.test{background:repeating-linear-gradient(135deg,#231a05 0 10px,#1b1404 10px 20px); border:1px dashed #F2C14E; color:#FBE3A1;}
  .shop-money-rule{display:flex; flex-wrap:wrap; justify-content:center; gap:6px; margin:0; font-size:.72rem; color:var(--text-muted);}
  .shop-money-rule span{padding:2px 8px; border-radius:999px; border:1px solid var(--border);} .shop-money-rule i{font-style:normal; color:var(--shop-neon); font-weight:800;}
  .shop-tabs{display:flex; gap:6px; overflow-x:auto; padding-bottom:4px; scrollbar-width:thin;}
  .shop-tab{flex:none; display:flex; align-items:center; gap:6px; padding:8px 12px; border-radius:999px; border:1px solid var(--border); background:#120a0f; color:var(--text-muted); font-size:.8rem; font-weight:700;}
  .shop-tab.active{color:#fff; border-color:var(--shop-neon); background:linear-gradient(180deg,rgba(255,43,214,.22),rgba(255,43,214,.06)); box-shadow:0 0 14px rgba(255,43,214,.25);}
  .shop-intro{margin:0; font-size:.82rem; color:var(--text-muted); line-height:1.45;}
  .shop-grid{display:grid; grid-template-columns:repeat(auto-fill,minmax(250px,1fr)); gap:10px;}
  .shop-card{display:grid; grid-template-columns:56px 1fr; grid-template-rows:1fr auto; gap:8px 12px; padding:12px; border-radius:14px; background:linear-gradient(160deg,#1c1017,#110a0e); border:1px solid #3a1a2a; position:relative; transition:border-color .2s, transform .2s;}
  .shop-card:hover{border-color:rgba(255,43,214,.5);}
  .shop-card.focus{border-color:var(--shop-neon); box-shadow:0 0 0 2px rgba(255,43,214,.25);}
  .shop-art{width:56px; height:56px; border-radius:14px; display:grid; place-items:center; font-size:1.7rem; background:#241019; box-shadow:inset 0 0 0 1px rgba(255,255,255,.08); grid-row:1 / span 2;}
  .shop-art.cat-currency{background:radial-gradient(circle at 30% 25%,#ff9ef0,#b0149a 55%,#2a0624);}
  .shop-art.cat-boosts{background:radial-gradient(circle at 30% 25%,#9ff7ff,#1c6f86 55%,#06161c);}
  .shop-art.cat-premium{background:radial-gradient(circle at 30% 25%,#fff0b8,#b8841a 55%,#231400);}
  .shop-art.cat-bundles{background:radial-gradient(circle at 30% 25%,#ffc6d9,#9c2f57 55%,#23070f);}
  .shop-info{display:flex; flex-direction:column; gap:4px; min-width:0;}
  .shop-info b{font-size:.95rem;} .shop-info p{margin:0; font-size:.76rem; color:var(--text-muted); line-height:1.35;}
  .shop-gain{font-weight:800; color:#ffb8f2;} .shop-info small{font-size:.7rem; color:var(--text-muted);}
  .shop-tags{display:flex; flex-wrap:wrap; gap:4px;}
  .shop-tag{font-size:.62rem; padding:2px 6px; border-radius:6px; border:1px solid var(--border); color:var(--text-muted); letter-spacing:.02em;}
  .shop-tag.perm{border-color:#6b5a1a; color:#F2D67E;} .shop-tag.sub{border-color:#6b5a1a; color:#F6D27A;} .shop-tag.promo{border-color:var(--shop-neon); color:#ffb8f2;}
  .shop-boost-line{display:flex; flex-wrap:wrap; align-items:center; gap:8px; font-size:.74rem;}
  .shop-boost-line .on{color:#7CF3C0;}
  .shop-price{grid-column:2; display:flex; justify-content:flex-end; align-items:center;}
  .shop-buy{border:none; border-radius:10px; padding:8px 14px; font-weight:800; font-size:.86rem; color:#fff; min-width:96px;}
  .shop-buy.coin{background:linear-gradient(180deg,#c21aa8,#7d0f6c); box-shadow:0 0 12px rgba(255,43,214,.35);}
  .shop-buy.eur{background:linear-gradient(180deg,#F2C14E,#b8841a); color:#1a1000; box-shadow:0 0 12px rgba(242,193,78,.3);}
  .shop-buy:disabled{opacity:.45; box-shadow:none;}
  .shop-own{font-size:.78rem; font-weight:800; color:#7CF3C0;} .shop-own.mut{color:var(--text-muted);}
  .shop-club{position:relative; padding:16px; border-radius:16px; border:1px solid #6b5a1a; background:radial-gradient(500px 200px at 50% -40%,rgba(242,193,78,.25),transparent 70%),#120d05; display:flex; flex-direction:column; gap:8px;}
  .shop-club-crown{font-size:2rem; filter:drop-shadow(0 0 10px rgba(242,193,78,.7));} .shop-club > b{font-family:var(--font-display); font-size:1.3rem; color:#F6D27A;}
  .shop-club ul{margin:0; padding-left:18px; font-size:.8rem; line-height:1.5; color:#f3e3bd;}
  .shop-sub{display:flex; flex-direction:column; gap:6px; padding:10px; border-radius:10px; background:rgba(0,0,0,.35); font-size:.8rem;} .shop-sub.on b{color:#F6D27A;} .shop-sub.off b{color:var(--text-muted);}
  .shop-gate{display:flex; flex-direction:column; gap:8px; align-items:flex-start; padding:14px; border-radius:12px; border:1px dashed var(--border); font-size:.84rem;}
  .shop-gate p{margin:0; color:var(--text-muted);}
  .shop-spin{width:22px; height:22px; border-radius:50%; border:3px solid rgba(255,43,214,.2); border-top-color:var(--shop-neon); animation:shopSpin .8s linear infinite; display:inline-block;}
  @keyframes shopSpin{to{transform:rotate(360deg);}}
  .shop-msg{font-size:.82rem; padding:8px 12px; border-radius:10px; background:#1a0f16; border:1px solid var(--border);}
  .shop-msg.ok{border-color:#2f7d5c; color:#b9f5dc;} .shop-msg.bad{border-color:#8a2b35; color:#ffc2c8;} .shop-msg.warn{border-color:#7a6320; color:#fbe3a1;}
  .shop-hist{display:flex; flex-direction:column; gap:8px;} .shop-hist h4{margin:8px 0 0;}
  .shop-row{display:flex; justify-content:space-between; gap:10px; padding:10px; border-radius:10px; background:#140b10; border:1px solid #2e1622;}
  .shop-row > div:first-child{display:flex; flex-direction:column; gap:3px; min-width:0;} .shop-row small{font-size:.7rem; color:var(--text-muted);}
  .shop-row .shop-got{color:#b9f5dc;} .shop-err-s{color:#ffc2c8 !important;}
  .shop-row-r{display:flex; flex-direction:column; align-items:flex-end; gap:4px; flex:none;}
  .shop-st{font-size:.66rem; font-weight:800; padding:2px 8px; border-radius:999px; border:1px solid var(--border);}
  .shop-st.ok{color:#7CF3C0; border-color:#2f7d5c;} .shop-st.warn{color:#fbe3a1; border-color:#7a6320;} .shop-st.bad{color:#ff9aa5; border-color:#8a2b35;} .shop-st.mut{color:var(--text-muted);}
  .shop-led{display:grid; grid-template-columns:1fr auto; gap:0 8px; font-size:.78rem; padding:6px 0; border-bottom:1px solid #22121a;}
  .shop-led small{grid-column:1 / -1; font-size:.68rem; color:var(--text-muted);} .shop-led .pos{color:#7CF3C0;} .shop-led .neg{color:#ff9aa5;}
  .shop-foot{margin:4px 0 0; font-size:.7rem; color:var(--text-muted); text-align:center;}
  #shop-modal{position:fixed; inset:0; z-index:3; display:flex; align-items:center; justify-content:center; padding:16px; background:rgba(0,0,0,.66); backdrop-filter:blur(3px);}
  #shop-modal[hidden]{display:none;}
  .shop-dlg{width:100%; max-width:440px; max-height:90vh; max-height:90dvh; overflow-y:auto; display:flex; flex-direction:column; gap:10px; padding:18px; border-radius:18px; background:#140a10; border:1px solid rgba(255,43,214,.35); box-shadow:0 0 40px rgba(255,43,214,.15);}
  .shop-dlg h4{margin:0; font-size:1.05rem;}
  .shop-dlg-top{display:grid; grid-template-columns:56px 1fr; gap:12px; align-items:center;} .shop-dlg-top .shop-art{grid-row:auto;}
  .shop-content{margin:0; padding-left:18px; font-size:.82rem; line-height:1.5;}
  .shop-sum{display:flex; flex-direction:column; gap:4px; padding:10px; border-radius:10px; background:#0d0709; border:1px solid #2e1622;}
  .shop-sum > div{display:flex; justify-content:space-between; font-size:.84rem;} .shop-sum small{font-size:.7rem; color:var(--text-muted);} .shop-sum .neg{color:#ff9aa5;}
  .shop-test-s{color:#F2C14E !important; font-weight:800;}
  .shop-consent{display:flex; gap:8px; align-items:flex-start; font-size:.76rem; line-height:1.35;} .shop-consent input{margin-top:2px; flex:none;}
  .shop-sbx{display:flex; flex-direction:column; gap:4px; padding:10px; border-radius:10px; border:1px dashed #F2C14E; background:#1b1404; font-size:.8rem;} .shop-sbx small{color:#fbe3a1; font-size:.7rem;}
  .shop-err{margin:0; font-size:.8rem; color:#ffc2c8;} .shop-info-s{margin:0; font-size:.8rem;} .shop-info-s a{color:var(--shop-neon);}
  .shop-wait{display:flex; gap:10px; align-items:center; font-size:.82rem;} .shop-wait p{margin:0;}
  .shop-dlg-btns{display:flex; justify-content:flex-end; gap:8px; flex-wrap:wrap;}
  .shop-reward{align-items:center; text-align:center; position:relative; overflow:hidden; animation:shopPop .45s cubic-bezier(.2,1.4,.4,1);}
  .shop-reward.big{border-color:var(--shop-gold); box-shadow:0 0 50px rgba(242,193,78,.25);}
  .shop-rw-burst{position:absolute; inset:-40%; background:conic-gradient(from 0deg,transparent 0 20deg,rgba(255,43,214,.12) 20deg 40deg,transparent 40deg 60deg,rgba(242,193,78,.1) 60deg 80deg,transparent 80deg); animation:shopSpin 9s linear infinite; pointer-events:none;}
  .shop-reward > *:not(.shop-rw-burst){position:relative;}
  .shop-rw-coins{display:flex; align-items:center; gap:8px; font-size:2rem;} .shop-rw-coins b{background:linear-gradient(90deg,#fff,#ff9ef0); -webkit-background-clip:text; background-clip:text; color:transparent;}
  .shop-rw-items{list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:6px; font-size:.86rem;}
  .shop-rw-items li{opacity:0; animation:shopIn .4s ease forwards; padding:6px 10px; border-radius:10px; background:rgba(255,255,255,.05);}
  @keyframes shopPop{from{transform:scale(.85); opacity:0;} to{transform:none; opacity:1;}}
  @keyframes shopIn{from{opacity:0; transform:translateY(8px);} to{opacity:1; transform:none;}}
  /* HUD : bouton boutique et solde */
  .hud-shop{width:auto !important; min-width:42px; padding:0 10px; display:inline-flex !important; gap:6px; align-items:center; border-color:rgba(255,43,214,.45) !important;}
  .hud-shop b{font-size:.8rem;} .hud-shop:not(.has-n) b{display:none;}
  .hud-shop.is-test::after{content:'TEST'; position:absolute; top:-6px; right:2px; font-size:.5rem; background:#F2C14E; color:#1a1000; border-radius:4px; padding:0 3px; font-weight:800;}
  /* Téléphone : le nom du label se raccourcit (…) plutôt que de pousser les boutons hors de l’écran. */
  @media (max-width:640px){ .topbar-inner{grid-template-columns:minmax(0,1fr) auto !important;} .topbar-inner .brand-row, .topbar-inner .brand{min-width:0;} .topbar-inner .brand-label, .topbar-inner .brand-rank{display:block; overflow:hidden; text-overflow:ellipsis; white-space:nowrap;} }
  @media (max-width:430px){ .hud-btns{gap:4px !important;} .hud-btns .bell{width:36px !important; height:36px !important; font-size:1.05rem;} .hud-shop{padding:0 !important; min-width:36px;} .hud-shop b{display:none;} }
  @media (max-width:380px){ .hud-btns{gap:2px !important;} .hud-btns .bell{width:30px !important; height:32px !important; font-size:.95rem; border-radius:10px;} .hud-shop{min-width:30px;} }
  /* Objets de boutique dans les éditeurs */
  .shop-item{position:relative;}
  .shop-lock{opacity:.55; outline:1px dashed rgba(255,43,214,.7); outline-offset:2px;}
  .shop-lock::after{content:'💎'; position:absolute; right:-2px; bottom:-3px; font-size:.62rem; background:#1b0b16; border-radius:50%; padding:1px 2px; line-height:1;}
  .shop-set{display:flex; flex-direction:column; gap:8px; padding-bottom:12px; margin-bottom:12px; border-bottom:1px solid var(--border);} .shop-set h4{margin:0;}
  /* Thèmes du HUD (cosmétiques) */
  body.hud-th-neon .topbar{border-color:var(--shop-neon); box-shadow:0 0 0 1px rgba(255,43,214,.4), 0 0 26px rgba(255,43,214,.35), inset 0 0 22px rgba(255,43,214,.08);}
  body.hud-th-neon #hud-capital, body.hud-th-neon .brand-label{color:#ffd6f8; text-shadow:0 0 8px rgba(255,43,214,.9), 0 0 18px rgba(255,43,214,.5);}
  body.hud-th-chrome .topbar{background:linear-gradient(180deg,#3a3f46 0%,#1b1e22 45%,#2a2e34 100%); border-color:#9aa4ae; box-shadow:inset 0 1px 0 rgba(255,255,255,.35), 0 8px 22px rgba(0,0,0,.6);}
  body.hud-th-chrome .brand-label, body.hud-th-chrome #hud-capital{background:linear-gradient(180deg,#fff,#9aa4ae); -webkit-background-clip:text; background-clip:text; color:transparent;}
  body.hud-th-gold .topbar{border-color:#d4af37; background:linear-gradient(180deg,#1a1405,#0d0a03); box-shadow:0 0 0 1px rgba(212,175,55,.35), 0 0 30px rgba(242,193,78,.18);}
  body.hud-th-gold .brand-label, body.hud-th-gold #hud-capital{background:linear-gradient(180deg,#fff3c4,#d4af37 60%,#8a6a12); -webkit-background-clip:text; background-clip:text; color:transparent;}
  @media (prefers-reduced-motion:reduce){ .shop-rw-burst, .shop-spin{animation:none;} .shop-reward, .shop-rw-items li{animation:none; opacity:1;} }
