/* Camí v3.6 · Race Studio, duel fantasma, doble digital i conquesta del territori */

/* ---------- Invitacions a les fitxes ---------- */
.race-invite{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:20px 22px;margin:18px 0;border-radius:18px;color:#f1f4e9;
 background:radial-gradient(ellipse at 90% -10%,#ffb07a40,transparent 55%),radial-gradient(ellipse at 0 120%,#5cc8ff2e,transparent 60%),#16302a}
.race-invite>div{display:grid;gap:5px;min-width:0}
.race-invite small{font-size:11px;letter-spacing:2px;color:#ffd0a8}
.race-invite b{font-size:17px;line-height:1.25}
.race-invite span{font-size:12.5px;color:#b9c8bf;line-height:1.5}
.race-invite .button,.race-launch{flex-shrink:0;display:inline-flex;align-items:center;gap:8px;background:#ffd8b5;color:#3b230f;border:0;font-weight:700}
.race-invite .button:hover{background:#ffe6cf}
.race-launch .icon{width:18px;height:18px}
.race-mini{padding:6px 10px!important;font-size:12px!important;margin-left:6px;background:#fff1e3!important;color:#6b3d18!important;border:1px solid #f2d5b6!important}
.duel-invite small{color:#c9d4ff}
.duel-invite.win{background:radial-gradient(ellipse at 90% -10%,#d9ff9140,transparent 55%),#16302a}
.duel-invite.lose{background:radial-gradient(ellipse at 90% -10%,#ff8a5c40,transparent 55%),#2a2620}
.duel-invite .button{background:#dfe5ff;color:#1c2550}
.duel-pick{flex-basis:100%;display:flex;flex-wrap:wrap;gap:8px;margin:4px 0 0;font-size:12.5px;color:#d7e2d9}
.duel-invite:has(.duel-pick){flex-wrap:wrap}
.duel-pick .chip{background:#26443a;color:#eef3e6;border:1px solid #3d6052;border-radius:999px;padding:7px 12px;font-size:12px;cursor:pointer}
.duel-pick .chip:hover{background:#30554a}

/* ---------- Race Studio ---------- */
.race-people{display:grid;gap:4px;margin:16px 0 4px;max-height:260px;overflow:auto;padding-right:4px}
.race-people-title{font-size:11px;color:#b5c5b9;font-weight:600;margin-bottom:4px}
.race-person{display:grid!important;grid-template-columns:16px 26px minmax(0,1fr) auto;align-items:center;gap:8px!important;margin:0!important;padding:5px 6px;border-radius:9px;color:#dfe9d8!important;font-size:12px!important;cursor:pointer}
.race-person:hover{background:#1c2d24}
.race-person input{accent-color:#d5fb9a}
.race-person i{width:24px;height:24px;border-radius:50%;background:var(--c);color:#10201a;font:800 9px Arial,sans-serif;font-style:normal;display:grid;place-items:center}
.race-person span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.race-person b{font-variant-numeric:tabular-nums;color:#d9ff91;font-size:11.5px}
.race-note{display:flex;gap:8px;font-size:11.5px;line-height:1.55;color:#c9d6c5;background:#1b2c24;border:1px solid #33493c;border-radius:10px;padding:9px 11px;margin:12px 0 0}
.race-note .icon{width:16px;height:16px;flex-shrink:0;margin-top:1px}
.race-cams [hidden]{display:none}

/* ---------- Duel fantasma (enregistrament) ---------- */
.duel-card{border:1px solid #d9dcf3;background:linear-gradient(160deg,#f6f7ff,#fff);border-radius:16px;padding:14px;margin:4px 0 12px;display:grid;gap:10px}
.duel-card header{display:flex;align-items:center;justify-content:space-between}
.duel-card header>span{display:inline-flex;align-items:center;gap:7px;font:800 11px Manrope,sans-serif;letter-spacing:1.3px;color:#3b4384}
.duel-card header .icon{width:18px;height:18px}
.duel-voice{border:1px solid #d5d9f2;background:#fff;color:#3b4384;border-radius:50%;width:34px;height:34px;display:grid;place-items:center;cursor:pointer}
.duel-voice[aria-pressed=false]{color:#9aa0c4}
.duel-voice .icon{width:17px;height:17px}
.duel-card .field{margin:0}
.duel-hint{font-size:12.5px;color:#5e6688;margin:0;line-height:1.5}
.duel-target{display:grid;grid-template-columns:1fr auto;gap:8px;align-items:end}
.duel-target[hidden]{display:none}
.duel-live{display:grid;gap:2px;text-align:center;padding:10px;border-radius:12px;background:#eef0ff}
.duel-live b{font:800 34px/1 Manrope,sans-serif;letter-spacing:-1px;font-variant-numeric:tabular-nums}
.duel-live span{font-size:12px;color:#5e6688}
.duel-live.ahead{background:#eaf7d9}.duel-live.ahead b{color:#3d7a14}
.duel-live.behind{background:#fdebe2}.duel-live.behind b{color:#b14d1d}
.duel-vs{display:flex;justify-content:space-between;gap:8px;font-size:12px;color:#4b5270}
.duel-vs i{display:inline-block;width:9px;height:9px;border-radius:50%;background:#7d86d6;margin-right:6px;vertical-align:middle}
.duel-vs i.me{background:#e57744}
.ghost-marker span{display:grid;place-items:center;width:34px;height:34px;border-radius:50%;background:#e9ecff;color:#3b4384;border:2px solid #7d86d6;box-shadow:0 0 0 6px #7d86d633;animation:ghost-pulse 2.2s ease-in-out infinite}
.ghost-marker .icon{width:19px;height:19px}
@keyframes ghost-pulse{50%{box-shadow:0 0 0 12px #7d86d611}}
@media(prefers-reduced-motion:reduce){.ghost-marker span{animation:none}}
.duel-result{display:flex;gap:12px;align-items:center;padding:14px 16px;border-radius:14px;margin:0 0 14px;background:#eef0ff;color:#2d3466}
.duel-result .icon{width:28px;height:28px;flex-shrink:0}
.duel-result div{display:grid;gap:2px}
.duel-result b{font-size:16px}
.duel-result span{font-size:12.5px;color:#5e6688}
.duel-result.win{background:#eaf7d9;color:#2d5b10}
.duel-result.lose{background:#fdebe2;color:#7c3511}

/* ---------- Doble digital ---------- */
.dd-launch{display:inline-flex;align-items:center;gap:8px}
.dd-launch .icon{width:18px;height:18px}
.dd{display:grid;gap:16px}
.dd-form{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.dd-form .field{margin:0;min-width:0}
.dd-form input{width:100%;min-width:0;box-sizing:border-box}
#dd-out{display:grid;gap:16px;min-width:0}
.dd,.dd-sec{min-width:0}
.dd-band-wrap{overflow-x:auto;max-width:100%}
.dd-loading{display:flex;align-items:center;gap:10px;padding:30px;justify-content:center;color:var(--muted)}
.dd-hero{min-width:0;display:grid;grid-template-columns:auto 1fr auto;gap:18px;align-items:center;padding:20px 22px;border-radius:18px;color:#f2f5ec;background:radial-gradient(ellipse at 100% 0,#b9c7ff40,transparent 55%),linear-gradient(130deg,#1d3a31,#24463c)}
.dd-avatar{width:62px;height:62px;border-radius:50%;display:grid;place-items:center;background:#d9ff91;color:#1d3a31;box-shadow:0 0 0 8px #d9ff9122}
.dd-avatar .icon{width:34px;height:34px}
.dd-hero small{font-size:11px;letter-spacing:1.8px;color:#cfe8b0}
.dd-hero>div:nth-child(2){display:grid;gap:3px;min-width:0}
.dd-hero>div:nth-child(2) b{font:800 40px/1 Manrope,sans-serif;letter-spacing:-1.5px;font-variant-numeric:tabular-nums}
.dd-hero span{font-size:12.5px;color:#c3d2c8}
.dd-vs{display:grid;gap:3px;text-align:right;padding:10px 14px;border-radius:12px;background:#ffffff14}
.dd-vs b{font:800 24px/1 Manrope,sans-serif;font-variant-numeric:tabular-nums}
.dd-vs.ok b{color:#d9ff91}.dd-vs.ko b{color:#ffb08f}
.dd-vs span{max-width:190px}
.dd-chips{display:flex;flex-wrap:wrap;gap:6px}
.dd-chips .chip{display:inline-flex;align-items:center;gap:6px;font-size:12px}
.dd-chips .icon{width:15px;height:15px}
.dd-actions{display:flex;flex-wrap:wrap;gap:8px}
.dd-actions .button{display:inline-flex;align-items:center;gap:7px}
.dd-actions .icon{width:17px;height:17px}
.dd-sec h3{font:800 15px Manrope,sans-serif;margin:4px 0 8px;color:var(--text)}
.dd-chart{width:100%;height:auto;display:block;background:#f7f9f3;border:1px solid var(--line);border-radius:14px}
.dd-ele{fill:#dfe7d3;opacity:.8}
.dd-bar{fill:#4f8f6e}.dd-bar.up{fill:#c2763f}.dd-bar.down{fill:#5aa6c9}
.dd-target{fill:none;stroke:#2a3a8f;stroke-width:2.5;stroke-dasharray:6 5}
.dd-chart text{font:600 10px Manrope,sans-serif;fill:#6c766e;text-anchor:middle}
.dd-legend{display:flex;flex-wrap:wrap;gap:12px;font-size:11.5px;color:var(--muted);margin-top:6px}
.dd-legend i{display:inline-block;width:12px;height:9px;border-radius:2px;margin-right:5px;vertical-align:middle;background:#4f8f6e}
.dd-legend i.up{background:#c2763f}.dd-legend i.down{background:#5aa6c9}.dd-legend i.ele{background:#dfe7d3}.dd-legend i.tg{background:none;border-top:2.5px dashed #2a3a8f;height:0;border-radius:0}
.dd-band{width:100%;border-collapse:collapse;font-size:12.5px;font-variant-numeric:tabular-nums}
.dd-band th{font-size:11px;text-transform:uppercase;letter-spacing:.6px;color:var(--muted);text-align:right;padding:6px 8px;border-bottom:1px solid var(--line)}
.dd-band td{text-align:right;padding:6px 8px;border-bottom:1px solid #f0f2ec}
.dd-band th:first-child,.dd-band td:first-child{text-align:center}
.dd-band tbody tr:nth-child(5n) td{border-bottom-color:var(--line)}
.dd-fuel-sum{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin-bottom:10px}
.dd-fuel-sum div{display:grid;gap:2px;padding:10px 12px;border-radius:12px;background:#f3f7ec}
.dd-fuel-sum b{font:800 16px Manrope,sans-serif;color:var(--green)}
.dd-fuel-sum span{font-size:11.5px;color:var(--muted)}
.dd-fuel{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:6px}
.dd-fuel li{display:grid;gap:1px;padding:8px 10px;border:1px solid var(--line);border-radius:10px;font-size:12.5px}
.dd-fuel b{font-size:12px;color:var(--green)}
.dd-fuel span{color:var(--text)}
.dd-small{font-size:12px;color:var(--muted);line-height:1.55;display:flex;gap:7px;align-items:flex-start}
.dd-small .icon{width:15px;height:15px;flex-shrink:0;margin-top:2px}

/* ---------- Conquesta ---------- */
.cq-nav{position:relative}
.sidebar nav a.cq-nav{white-space:nowrap}
.sidebar nav a.cq-nav .td-new{margin-left:auto;font:800 9px Manrope,sans-serif;letter-spacing:.6px;background:#cfe7b0;color:#2f5410;border-radius:5px;padding:2px 5px}
@media(min-width:681px){.sidebar nav a.cq-nav .td-new{font-size:0;width:8px;height:8px;padding:0;border-radius:50%;background:#7cc23a;flex-shrink:0}}
.cq{display:grid;gap:18px}
.cq-head{display:flex;justify-content:space-between;align-items:flex-end;gap:20px;padding:28px 32px;border-radius:24px;color:#fff;background:radial-gradient(ellipse at 90% 0,#7cc23a55,transparent 55%),radial-gradient(ellipse at 0 130%,#3f9bd940,transparent 60%),linear-gradient(130deg,#1b392f,#24493d)}
.cq-head .eyebrow{color:#cfe7b0}
.cq-head h1{font:800 clamp(26px,3vw,38px)/1.08 Manrope,sans-serif;letter-spacing:-1.2px;margin:10px 0 8px}
.cq-head p{color:#d4e2d8;max-width:680px;line-height:1.6;font-size:14px;margin:0}
.cq-head .button{flex-shrink:0;display:inline-flex;align-items:center;gap:7px;background:#ffffff1f;color:#fff;border:1px solid #ffffff45}
.cq-head .button:hover{background:#ffffff33}
.cq-loading{display:flex;gap:10px;align-items:center;justify-content:center;padding:40px;color:var(--muted)}
.cq-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
.cq-stat{background:var(--paper);border:1px solid var(--line);border-radius:16px;padding:16px 18px;display:grid;gap:2px}
.cq-stat b{font:800 30px/1.05 Manrope,sans-serif;color:var(--green);font-variant-numeric:tabular-nums}
.cq-stat span{font-size:12.5px;color:var(--muted)}
.cq-stat.main{background:#eef7e3;border-color:#d4e9bb}.cq-stat.main b{color:#3f7a14}
.cq-stat.risk b{color:#c26a1c}.cq-stat.lost b{color:#b4462a}
.cq-grid{display:grid;grid-template-columns:minmax(0,1fr) 360px;gap:18px;align-items:start}
.cq-mapcard{background:var(--paper);border:1px solid var(--line);border-radius:18px;padding:12px;display:grid;gap:10px;position:relative}
.cq-map{height:min(62vh,560px);min-height:340px;border-radius:12px;overflow:hidden;z-index:0}
.cq-filters{display:flex;flex-wrap:wrap;gap:6px}
.cq-filters button,.cq-tabs button{border:1px solid var(--line);background:#fff;color:var(--text);border-radius:999px;padding:7px 13px;font:600 12.5px Manrope,sans-serif;cursor:pointer}
.cq-filters button[aria-pressed=true],.cq-tabs button[aria-selected=true]{background:var(--green);border-color:var(--green);color:#fff}
.cq-legend{display:flex;flex-wrap:wrap;gap:14px;font-size:12px;color:var(--muted)}
.cq-legend i{display:inline-block;width:14px;height:12px;margin-right:6px;vertical-align:-1px;clip-path:polygon(25% 0,75% 0,100% 50%,75% 100%,25% 100%,0 50%);background:var(--c)}
.cq-legend i.risk{background:#f0b46f}.cq-legend i.free{background:#d6dcd6}
.cq-route-cta{display:flex;flex-wrap:wrap;align-items:center;gap:8px;padding:10px 12px;border-radius:12px;background:#f3f7ec}
.cq-route-cta span{font-weight:700;margin-right:auto}
.cq-route-cta .button{display:inline-flex;align-items:center;gap:6px}
.cq-side{display:grid;gap:14px}
.cq-card{background:var(--paper);border:1px solid var(--line);border-radius:18px;padding:16px}
.cq-card h3{display:flex;align-items:center;gap:8px;font:800 15px Manrope,sans-serif;margin:0 0 12px}
.cq-card h3 .icon{width:18px;height:18px}
.cq-tabs{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:10px}
.cq-rank{list-style:none;margin:0;padding:0;display:grid;gap:2px}
.cq-rank li{display:grid;grid-template-columns:22px auto minmax(0,1fr) auto;grid-template-areas:"pos av name cells" "pos av week cells";column-gap:10px;align-items:center;padding:7px 8px;border-radius:10px}
.cq-rank li.mine{background:#eef7e3}
.cq-pos{grid-area:pos;font:800 13px Manrope,sans-serif;color:var(--muted);text-align:center}
.cq-rank .cq-av,.cq-rank .cq-crew{grid-area:av}
.cq-name{grid-area:name;font-size:13.5px;font-weight:650;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.cq-name em{font-style:normal;font-weight:500;color:var(--muted);font-size:12px}
.cq-rank b{grid-area:cells;font:800 18px Manrope,sans-serif;color:var(--green);font-variant-numeric:tabular-nums}
.cq-rank small{grid-area:week;font-size:11.5px;color:#5f8a3a}
.cq-av{width:30px;height:30px;border-radius:50%;display:grid;place-items:center;background:var(--c,#dfe8d7);color:#fff;font:800 10.5px Manrope,sans-serif;font-style:normal}
.cq-av.town{background:#e7efe0;color:var(--green)}
.cq-av .icon{width:15px;height:15px}
.cq-crew{display:flex}
.cq-crew .cq-av{width:24px;height:24px;font-size:9px;margin-left:-7px;border:2px solid #fff}
.cq-crew .cq-av:first-child{margin-left:0}
.cq-empty{font-size:13px;color:var(--muted);margin:6px 0}
.cq-missions{list-style:none;margin:0;padding:0;display:grid;gap:6px}
.cq-missions button{width:100%;text-align:left;display:grid;gap:2px;border:1px solid var(--line);background:#fbfcf9;border-radius:12px;padding:10px 12px;cursor:pointer;font:inherit;color:var(--text)}
.cq-missions button:hover{border-color:#bcd9a0;background:#f3f9ec}
.cq-missions b{font-size:13.5px}
.cq-missions span{font-size:12px;color:#5f8a3a}
.cq-rules ul{margin:0;padding-left:18px;display:grid;gap:6px;font-size:12.5px;color:var(--muted);line-height:1.5}
@media(max-width:1100px){.cq-grid{grid-template-columns:1fr}}
@media(max-width:760px){
 .race-invite{flex-direction:column;align-items:flex-start}.race-invite .button{width:100%;justify-content:center}
 .dd-form{grid-template-columns:1fr}.dd-hero{grid-template-columns:auto 1fr}.dd-vs{grid-column:1/-1;text-align:left}.dd-hero>div:nth-child(2) b{font-size:32px}
 .dd-fuel-sum{grid-template-columns:repeat(2,minmax(0,1fr))}.dd-band{font-size:11.5px}.dd-band th,.dd-band td{padding:5px 4px}
 .cq-head{flex-direction:column;align-items:flex-start;padding:22px 20px}.cq-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.cq-stat b{font-size:24px}.cq-map{height:52vh}
}
@media print{.dd-band{font-size:11px}}
