/* Version Waven (agent gameplay) : Défi de Goultard (titre de l'observation, cartes des mini-boss), bloc ARTEFACTS,
   parchemins de la 1re manche. À plat, couleurs saturées : encre violette, or, citron, violet d'immobilisation. */
:root { --gt-ink: #1d1530; --gt-ink2: #2b1f4a; --gt-gold: #ffd23f; --gt-lime: #c8e20a; --gt-vio: #a64dff; --gt-red: #ff4d6a; }

/* ---------------------------------------------------------------- scène : titre et cartes par-dessus le jeu (les barres de libération : canvas, goultard.js) */
#gt { position: absolute; inset: 0; z-index: 41; pointer-events: none; font-family: Lexend, sans-serif; }
#gt[hidden] { display: none; }
#gt-head { position: absolute; left: 50%; top: 66px; transform: translateX(-50%); padding: 5px 14px; border-radius: 10px; background: rgba(29,21,48,.88);
  font-size: 13px; font-weight: 700; color: #e4dcff; white-space: nowrap; pointer-events: none; }   /* titre discret pendant l'observation (Scott 2026-10-20) */
#gt-head b { font: 13px/1 Rowdies, Lexend, sans-serif; color: var(--gt-gold); letter-spacing: .5px; text-transform: uppercase; }

#gt-cards { position: absolute; left: 0; right: 0; top: 706px; bottom: 0; padding: 10px 16px 12px; display: flex; justify-content: center; align-items: stretch; gap: 8px; pointer-events: auto;
  background: #140f22; border-top: 2px solid var(--gt-vio); }
.gt-card { position: relative; flex: 0 1 184px; min-width: 0; display: flex; flex-direction: column; align-items: center; gap: 3px; padding: 8px 8px 6px; border: 2px solid #514275;
  border-radius: 12px; background: var(--gt-ink); color: #fff; font: inherit; text-align: center; cursor: default; transition: transform .12s, border-color .12s, background .12s; }
.gt-card .gt-ci { width: 54px; height: 54px; flex: none; border-radius: 50%; background: var(--gt-ink2); box-shadow: 0 0 0 2px var(--gt-gold); display: flex; align-items: center; justify-content: center; }
.gt-card .gt-ci img { width: 48px; height: 48px; object-fit: contain; }
.gt-cb { display: flex; flex-direction: column; align-items: center; gap: 1px; min-width: 0; }
.gt-cb b { font-size: 12.5px; line-height: 1.15; color: var(--gt-gold); }
.gt-cb em { font-size: 10.5px; font-style: normal; font-weight: 700; color: #c9b8ff; text-transform: uppercase; letter-spacing: .6px; }
.gt-ct { font-size: 11px; line-height: 1.25; color: #e4dcff; display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 4; line-clamp: 4; overflow: hidden; }
.gt-card.can { border-color: var(--gt-gold); cursor: pointer; background: var(--gt-ink2); }
.gt-card.can:hover, .gt-card.can.hi { transform: translateY(-6px); border-color: var(--gt-lime); }
.gt-card.hi { border-color: var(--gt-lime); }
.gt-card.taken, .gt-card.owned { background: #17121f; border-color: #3a3150; }
.gt-card.taken .gt-cb b, .gt-card.owned .gt-cb b { color: #a99a6a; }
.gt-card.taken .gt-ct, .gt-card.owned .gt-ct { color: #8e85a8; }
.gt-card.taken .gt-ci, .gt-card.owned .gt-ci { box-shadow: 0 0 0 2px #6e6390; filter: grayscale(.7); }
.gt-card.mine { opacity: 1; border-color: var(--gt-lime); background: #2c3a10; }
.gt-by { position: absolute; left: 6px; right: 6px; bottom: 5px; display: flex; align-items: center; justify-content: center; gap: 4px; padding: 2px 4px; border-radius: 8px;
  background: #120c20; font-size: 11px; font-weight: 800; color: #fff; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.gt-by img { width: 18px; height: 18px; border-radius: 50%; }
.gt-by.own { color: #c9b8ff; }
.gt-card.aim { border-color: var(--gt-lime); background: #2c3a10; }   /* ton perso y court (la prise se fait à l'arrivée) */
.gt-by.aim { color: var(--gt-lime); }
.gt-card.taken .gt-ct, .gt-card.owned .gt-ct { -webkit-line-clamp: 2; line-clamp: 2; }
#game:has(> #gt:not([hidden])) #dock { pointer-events: none; }

/* téléphone : cartes en colonne à gauche (la colonne du perso), le texte au toucher */
body.mobile #gt-head { left: calc(50% + 90px); top: 46px; font-size: 11px; padding: 3px 10px; }
body.mobile #gt-head b { font-size: 11px; }
body.mobile #gt-cards { left: 0; right: auto; top: 42px; bottom: 0; height: auto; width: 180px; padding: 4px; border-top: 0; border-right: 2px solid var(--gt-vio); flex-direction: column; justify-content: flex-start; gap: 3px; overflow: hidden; }
body.mobile .gt-card { flex: 0 0 auto; flex-direction: row; gap: 6px; height: 46px; padding: 3px 6px; border-radius: 9px; text-align: left; }
body.mobile .gt-card .gt-ci { width: 36px; height: 36px; }
body.mobile .gt-card .gt-ci img { width: 32px; height: 32px; }
body.mobile .gt-cb { align-items: flex-start; }
body.mobile .gt-cb b { font-size: 11px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; max-width: 112px; }
body.mobile .gt-cb em { font-size: 9.5px; }
body.mobile .gt-ct { display: none; }
body.mobile .gt-card.can:hover, body.mobile .gt-card.can.hi { transform: translateX(4px); }
body.mobile .gt-by { left: auto; right: 4px; bottom: 3px; max-width: 70px; font-size: 9.5px; padding: 1px 4px; }
body.mobile .gt-by img { width: 14px; height: 14px; }
body.mobile .gt-card.taken .gt-cb em, body.mobile .gt-card.owned .gt-cb em { visibility: hidden; }

/* ---------------------------------------------------------------- parchemin qui vole jusqu'à l'unité, guide (onglet Artefacts) */
.gt-scroll { width: 54px; height: 54px; }

/* ---------------------------------------------------------------- interface réduite pendant le Défi (Scott : « retire la plupart de l'UI ») */
#game.gt-on > :not(#topbar):not(#board):not(#gt):not(#bd-stage):not(#tooltip):not(#tooltip2):not(#toast):not(#banner):not(canvas) { visibility: hidden !important; pointer-events: none !important; }

/* ---------------------------------------------------------------- transition d'ouverture du Défi (agent goultard-intro, js/goultard-intro.js)
   v2 sobre (retour de Scott) : voile léger, une bande fine encre + liseré or, titre en grand, Goultard du jeu qui bondit à gauche */
#gti { position: fixed; inset: 0; z-index: 9000; overflow: hidden; cursor: pointer; user-select: none; -webkit-user-select: none; touch-action: none;
  --gti-bh: max(52px, 12vh); }
#gti .gti-veil { position: absolute; inset: 0; background: rgba(14,10,26,.5); opacity: 0; }
#gti .gti-band { position: absolute; left: 0; right: 0; top: 50%; height: var(--gti-bh); margin-top: calc(var(--gti-bh) / -2); box-sizing: border-box; overflow: hidden;
  background: rgba(21,18,29,.94); border-top: 2px solid var(--gt-gold); border-bottom: 2px solid var(--gt-gold); transform: scaleX(0); }
#gti .gti-glint { position: absolute; top: 0; bottom: 0; left: 0; width: 2.6vw; background: rgba(255,226,120,.3); opacity: 0; }
#gti .gti-hero { position: absolute; left: 3vw; top: calc(50% + var(--gti-bh) / 2 - 74vh); height: 80vh; aspect-ratio: var(--ar); opacity: 0; }
#gti .gti-spr { position: absolute; inset: 0; width: 100%; height: 100%; }
#gti .gti-tt { position: absolute; left: 0; right: 0; top: 50%; padding-left: 18vw; display: flex; justify-content: center; align-items: baseline; gap: .32em; white-space: nowrap;
  font: 700 min(9.5vh, 5.6vw)/1 Lexend, sans-serif; text-transform: uppercase; letter-spacing: .05em; transform: translate(0, -50%); }
#gti .gti-tt i { display: inline-block; font-style: normal; background: none; opacity: 0; will-change: transform, opacity; }
#gti .gti-tt .w1 { color: #f3eeff; font-weight: 600; }
#gti .gti-tt .w2 { color: var(--gt-gold); }
#gti .gti-skip { position: absolute; right: 1.6vw; bottom: 2vh; font: 600 max(11px, 1.4vh)/1 Lexend, sans-serif; color: #c9b8ff; letter-spacing: .04em; opacity: 0; }

/* agent tokens : les 2 jetons de monstres de la 1re manche dans la bannière (un peu superposés) */
#banner .ev-emb .gt-toks { display: inline-flex; align-items: center; }
#banner .ev-emb .gt-toks img { position: static; width: 34px; height: 34px; object-fit: contain; margin: 0; animation: none; }
#banner .ev-emb .gt-toks img + img { margin-left: -12px; }

/* Défi de Goultard en « chaînes » (goultard.js gtTick) : le décor du plateau caché, rien de l'ancienne arène sous la scène */
#game.gt-black #bd-stage { visibility: hidden; }
#game.gt-black { background: #000; }
