/* 🏪 TAOG — Marché commun + Monde (11/10/2026, Clawd s2) — charte taog.io (fond nuit, violet Solana, or) */
:root{--bg:#07070e;--bg2:#0c0c18;--panel:rgba(20,18,38,.66);--line:rgba(176,160,255,.16);--ink:#eeeefa;--dim:#a6a4c4;--faint:#6e6c8e;--violet:#9945ff;--vert:#14f195;--gold:#d4af37;--rouge:#ff5a6a;
  --d:'Teko',Impact,'Arial Narrow',sans-serif;--u:'Rajdhani','Arial Narrow',sans-serif;--b:'Inter',system-ui,-apple-system,'Segoe UI',sans-serif}
*{box-sizing:border-box;margin:0;padding:0}
body{background:radial-gradient(ellipse at 20% -10%,#2a1660 0,transparent 50%),radial-gradient(ellipse at 90% 0,#0f3a3a 0,transparent 40%),var(--bg);color:var(--ink);font:400 15px/1.55 var(--b);min-height:100vh;padding:0 16px 70px}
a{color:inherit}button{font:inherit;color:inherit;cursor:pointer}
header{max-width:1180px;margin:0 auto;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:16px 0;flex-wrap:wrap}
header .logo{display:flex;align-items:center;gap:10px;text-decoration:none;font:700 26px/1 var(--d);letter-spacing:.06em}
header .logo img{width:34px;height:34px}
header nav{display:flex;gap:14px;flex-wrap:wrap;font:700 15px var(--u);letter-spacing:.04em;align-items:center}
header nav a{text-decoration:none;color:var(--dim)}header nav a:hover,header nav a[aria-current]{color:var(--gold)}
.wallet{border:1px solid var(--violet);background:linear-gradient(135deg,rgba(153,69,255,.35),rgba(20,241,149,.18));border-radius:11px;padding:8px 14px;font:700 15px var(--u);letter-spacing:.04em}
.wallet.ok{border-color:var(--vert)}
.bandeau{max-width:1180px;margin:0 auto 14px;border:1px dashed rgba(20,241,149,.45);background:rgba(20,241,149,.07);border-radius:12px;padding:9px 14px;font-size:13px;color:#bdf7df}
.bandeau b{color:var(--vert)}
.hero{max-width:1180px;margin:10px auto 18px;display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:16px}
.hero h1{font:700 clamp(46px,8vw,84px)/.88 var(--d);letter-spacing:.03em}
.hero h1 em{font-style:normal;background:linear-gradient(90deg,var(--violet),var(--vert));-webkit-background-clip:text;background-clip:text;color:transparent}
.hero p{color:var(--dim);max-width:600px}
.espaces{max-width:1180px;margin:0 auto 22px;display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:10px}
.espaces a{display:block;text-decoration:none;background:var(--panel);border:1px solid var(--line);border-radius:14px;padding:12px 14px}
.espaces a b{font:700 22px/1 var(--d);letter-spacing:.04em;display:block}.espaces a span{font-size:13px;color:var(--dim)}
.espaces a[aria-current]{border-color:var(--gold);box-shadow:0 0 0 1px var(--gold) inset}
section.bloc{max-width:1180px;margin:0 auto 34px}
section.bloc h2{font:700 34px/1 var(--d);letter-spacing:.04em;margin-bottom:10px;display:flex;align-items:baseline;gap:12px;flex-wrap:wrap}
section.bloc h2 small{font:600 14px var(--b);color:var(--faint);letter-spacing:0}
.outils{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:14px}
.outils input,.outils select{background:var(--panel);border:1px solid var(--line);color:var(--ink);border-radius:10px;padding:9px 12px;font:500 14px var(--b);min-width:0;flex:1 1 160px}
.grille{display:grid;grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:14px}
.carte{background:var(--panel);border:1px solid var(--line);border-radius:14px;padding:8px;display:flex;flex-direction:column;gap:6px;transition:transform .18s,border-color .18s}
.carte:hover{transform:translateY(-3px);border-color:#9b7bff}
.carte img{width:100%;aspect-ratio:1;border-radius:10px;background:#000}
.carte .nom{font:700 17px/1.15 var(--u)}
.carte .meta{display:flex;justify-content:space-between;align-items:center;gap:6px;font-size:12px;color:var(--faint)}
.carte .prix{font:700 22px/1 var(--d);color:var(--vert);letter-spacing:.03em}
.carte button,.btn{border:0;border-radius:10px;padding:8px 12px;font:700 15px var(--u);letter-spacing:.04em;background:linear-gradient(135deg,var(--violet),#5c2bd6);color:#fff}
.carte button:disabled,.btn:disabled{opacity:.45;cursor:not-allowed}
.btn.sec{background:transparent;border:1px solid var(--line);color:var(--ink)}
.btn.vert{background:linear-gradient(135deg,#0fb879,var(--vert));color:#04120b}
.r{display:inline-block;font:700 11px var(--u);letter-spacing:.06em;text-transform:uppercase;padding:1px 7px;border-radius:6px;border:1px solid var(--line)}
.r-Légendaire{color:#ffd764;border-color:#ffd76488}.r-Épique{color:#c58bff;border-color:#c58bff88}.r-Rare{color:#6fc3ff;border-color:#6fc3ff88}.r-Peu.commune{color:#7ff0c8}
.vide{color:var(--faint);padding:18px;border:1px dashed var(--line);border-radius:12px;text-align:center}
#toast{position:fixed;left:50%;bottom:18px;transform:translateX(-50%);z-index:50;background:#151129;border:1px solid var(--violet);border-radius:12px;padding:10px 16px;max-width:min(92vw,560px);font-size:14px;opacity:0;transition:opacity .25s;pointer-events:none}
#toast.on{opacity:1}#toast.err{border-color:var(--rouge)}#toast.ok{border-color:var(--vert)}
/* 🎁 Monde */
.packs{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:16px}
.pack{position:relative;border-radius:18px;padding:16px;min-height:300px;display:flex;flex-direction:column;justify-content:flex-end;gap:8px;overflow:hidden;border:1px solid rgba(255,255,255,.12);
  background:radial-gradient(ellipse at 50% 0,color-mix(in srgb,var(--c) 45%,transparent),transparent 65%),linear-gradient(160deg,#17112e,#0a0816);box-shadow:0 14px 40px rgba(0,0,0,.5),0 0 0 1px color-mix(in srgb,var(--c) 30%,transparent) inset}
.pack .art{position:absolute;inset:14px 14px auto 14px;height:170px;display:flex;justify-content:center;align-items:center}
.pack .art img{width:120px;aspect-ratio:1;border-radius:10px;position:absolute;box-shadow:0 8px 20px rgba(0,0,0,.6);border:1px solid rgba(255,255,255,.2)}
.pack .art img:nth-child(1){transform:rotate(-14deg) translateX(-56px)}.pack .art img:nth-child(2){transform:rotate(12deg) translateX(56px)}.pack .art img:nth-child(3){z-index:2;transform:translateY(-6px) scale(1.08)}
.pack h3{font:700 36px/1 var(--d);letter-spacing:.05em;color:var(--c)}
.pack p{font-size:13px;color:var(--dim)}
.pack .bas{display:flex;justify-content:space-between;align-items:center;gap:8px}
.pack .bas .prix{font:700 24px var(--d);color:var(--vert)}
.compteur{font:700 16px var(--u);color:var(--gold);letter-spacing:.05em}
dialog{margin:auto;border:1px solid var(--violet);border-radius:18px;background:#0c091b;color:var(--ink);max-width:min(1000px,96vw);width:100%;padding:18px;box-shadow:0 30px 90px rgba(0,0,0,.75)}
dialog::backdrop{background:rgba(4,2,12,.82);backdrop-filter:blur(5px)}
.lot{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px;margin:14px 0}
.lot .c{perspective:900px}
.lot .c .in{position:relative;transition:transform .6s cubic-bezier(.2,.8,.2,1);transform-style:preserve-3d}
.lot .c.cache .in{transform:rotateY(180deg)}
.lot .c img{width:100%;aspect-ratio:1;border-radius:10px;backface-visibility:hidden;display:block}
.lot .c .dos{position:absolute;inset:0;border-radius:10px;background:radial-gradient(circle,#3a1f80,#0e0820);border:2px solid var(--violet);transform:rotateY(180deg);backface-visibility:hidden;display:grid;place-items:center;font:700 34px var(--d);color:#b59bff}
.lot .c .nom{font:700 15px/1.15 var(--u);margin-top:5px}
.actions{display:flex;flex-wrap:wrap;gap:10px;justify-content:flex-end;align-items:center}
@media (max-width:600px){.grille{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.pack{min-height:270px}}
footer{max-width:1180px;margin:30px auto 0;color:var(--faint);font-size:13px;text-align:center}
