/* C’Rocket — récompenses, métaux et reflets. Couleurs et cadres existants conservés. */
.votes-page .vote-ranking.vote-ranking-list { display:grid; grid-template-columns:1fr; gap:7px; margin:14px 0; padding:0; list-style:none; }
.votes-page .vote-ranking-list li { position:relative; isolation:isolate; display:flex; align-items:center; min-height:47px; gap:10px; padding:8px 11px; border:1px solid #7891a82b; border-radius:10px; background:linear-gradient(110deg,#2435449e,#11212ecf); }
.votes-page .vote-ranking-list li > strong { flex:1; font-size:12px; line-height:1.5; }
.votes-page .vote-ranking-list li > span:last-child { color:#c9d6e3; font-size:10px; }
.votes-page .vote-ranking-list li > span:last-child b { font-size:14px; color:#f4ebd4; }
.vote-ranking-list .voter-avatar { position:relative; display:grid; place-items:center; width:34px; height:34px; flex-shrink:0; border-radius:50%; border:1px solid #c1cfdd70; background:linear-gradient(145deg,#426079,#1b2b3c); font-size:14px; font-weight:800; overflow:hidden; }
.voter-avatar img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; border-radius:50%; }
.votes-page .vote-ranking-list .vote-rank { display:grid; place-items:center; width:26px; height:30px; flex-shrink:0; border:1px solid #8a9caf40; font-size:13px; }
.votes-page .vote-ranking-list li strong small { display:inline-block; margin-left:5px; font-size:8px; padding:2px 5px; border:1px solid #f6c95466; border-radius:5px; background:#bf942a26; color:#ffdf89; }
.votes-page .vote-ranking-list .voter-place-1 { --metal:#f9cb58; --metal-glow:#ffc83e45; border-color:#e9b946bb; background:linear-gradient(110deg,#8d621d4f,#1a2a32 68%); box-shadow:0 0 16px #f9bf2d20,inset 0 0 0 1px #ffd56122; }
.votes-page .vote-ranking-list .voter-place-2 { --metal:#d8ecff; --metal-glow:#afd5f93d; border-color:#afc9e9a6; background:linear-gradient(110deg,#637f9650,#182735 68%); box-shadow:0 0 12px #b9d8f519,inset 0 0 0 1px #d3eaff16; }
.votes-page .vote-ranking-list .voter-place-3 { --metal:#eeb18c; --metal-glow:#da88472f; border-color:#d69562a3; background:linear-gradient(110deg,#8b523841,#192731 68%); box-shadow:0 0 12px #d990521c,inset 0 0 0 1px #f6bd8714; }
.votes-page .vote-ranking-list :is(.voter-place-1,.voter-place-2,.voter-place-3) .vote-rank { border-color:var(--metal); color:var(--metal); background:linear-gradient(140deg,#ffffff27,#0003); box-shadow:0 0 11px var(--metal-glow),inset 0 1px #fff4; text-shadow:0 0 9px var(--metal-glow); }
.votes-page .vote-ranking-list :is(.voter-place-1,.voter-place-2,.voter-place-3) > strong { color:var(--metal); text-shadow:0 0 15px var(--metal-glow); }
.votes-page .vote-ranking-list .is-mine { outline:1px solid #e8c05e59; outline-offset:1px; }
.vote-confirmed { padding:17px 12px; margin:15px 0 8px; border:1px solid #6dde9780; border-radius:13px; background:radial-gradient(ellipse at top,#55df8140,transparent 75%),#11252b; display:flex; align-items:center; flex-direction:column; gap:7px; box-shadow:0 0 25px #52d38210,inset 0 1px #afffc521; }
.vote-confirmed > .icon { width:38px; height:38px; padding:8px; border-radius:50%; border:2px solid #a5f5b4; background:#24643a; color:#d6ffe0; box-shadow:0 0 22px #7fffb660; }
.vote-confirmed strong { color:#dcffe6; font-size:21px; }
.vote-confirmed small { color:#b6d8c3; font-size:10px; text-align:center; }
.votes-page .vote-pseudo button { display:flex; align-items:center; justify-content:center; gap:6px; min-width:91px; min-height:38px; padding:7px 9px; }
[data-copy-icon] { display:flex; } [data-copy-icon] .icon { width:16px; height:16px; }
.votes-page .vote-pseudo button.is-copied { background:#68db9220; border-color:#7de4a6; color:#aff5c7; }
[data-copy-feedback]:empty { display:none; }
.votes-page .vote-prize-1 { --metal:#ffd15c; --aura:#ffbf314f; }
.votes-page .vote-prize-2 { --metal:#cde8ff; --aura:#a3ccf03d; }
.votes-page .vote-prize-3 { --metal:#eba477; --aura:#db8a4e3d; }
.votes-page :is(.vote-prize-1,.vote-prize-2,.vote-prize-3) { border:1px solid var(--metal); box-shadow:0 0 0 1px var(--aura),0 0 22px var(--aura),inset 0 0 18px #ffffff08; }
.votes-page :is(.vote-prize-1,.vote-prize-2,.vote-prize-3) .vote-place { color:var(--metal); text-shadow:0 0 15px var(--aura),0 2px 2px #0009; }
.votes-page .vote-prize::after { content:''; position:absolute; inset:0; pointer-events:none; border-radius:inherit; background:linear-gradient(115deg,transparent 25%,#fff1 42%,#ffffff24 48%,transparent 65%); transform:translateX(-160%); animation:reward-sweep 8s ease-in-out infinite; }
.votes-page .vote-prize-2::after { animation-delay:1s; }.votes-page .vote-prize-3::after { animation-delay:2s; }
.vote-discovery-row { display:grid; grid-template-columns:minmax(0,1.5fr) minmax(0,1fr); gap:18px; margin-top:22px; align-items:start; }
.vote-astralym-panel { position:relative; isolation:isolate; min-width:0; padding:19px 20px; overflow:hidden; border:1px solid #e6bd657a; border-radius:17px; background:radial-gradient(ellipse at 0 0,#59728524,transparent 65%),radial-gradient(ellipse at 95% 105%,#c9952a46,transparent 45%),linear-gradient(120deg,#1e2b37,#101f2b 68%,#192a33); box-shadow:0 8px 28px #0003,inset 0 1px #fff1; }
.vote-astralym-panel::before { content:''; position:absolute; pointer-events:none; z-index:-1; width:230px; height:150px; right:-115px; bottom:-122px; background:#ffce59; filter:blur(33px); opacity:.85; animation:astralym-aura 5.5s ease-in-out infinite; }
.vote-astralym-panel::after { content:''; pointer-events:none; position:absolute; width:38%; height:2px; right:0; bottom:0; border-radius:50%; background:linear-gradient(90deg,transparent,#ffe496,#fff8cb,#ffbc3c,transparent); box-shadow:0 0 14px 3px #ffcc6380; animation:astralym-border 7s ease-in-out infinite; }
.votes-page .vote-astralym-panel .vote-astralym { border:0; background:none; padding:0; margin:0; gap:16px; align-items:center; }
.votes-page .vote-astralym-panel .vote-astralym > img { width:110px; height:130px; object-fit:contain; filter:drop-shadow(0 8px 12px #0008) drop-shadow(0 0 15px #f3d27d33); }
.votes-page .vote-astralym-panel h3 { margin:0 0 8px; font-size:19px; line-height:1.3; }
.votes-page .vote-astralym-panel p { margin:0; font-size:11px; color:#becddd; }
.votes-page .vote-astralym-panel .vote-pal-catalog summary { color:#ffd16b; padding:17px 0 3px; font-weight:800; }
.votes-page .vote-discovery-row .review-reward { display:flex; flex-direction:column; align-items:flex-start; gap:10px; padding:22px; margin:0; }
.vote-discovery-row .review-reward-stars { font-size:19px; letter-spacing:3px; transform:none; }
.votes-page .vote-discovery-row .review-reward h2 { font-size:23px; margin:6px 0 12px; }
.vote-discovery-row .review-reward p { font-size:11px; }
.vote-discovery-row .review-reward .button { font-size:11px; min-height:42px; padding:11px 14px; }
.vote-discovery-row .commerce-actions { gap:12px; }
.vote-discovery-row .commerce-actions .text-link { font-size:11px; }

/* Packs cadeaux : des socles, un halo et un bouton fidèle à l'état natif. */
.shop-page .shop-orders-cta.button { background:linear-gradient(110deg,#ffdc6d,#f4bd32); color:#221a0a; border-color:#ffe185; box-shadow:0 0 0 3px #ffd76b15,0 7px 23px #0006; font-size:13px; min-height:45px; padding:12px 19px; font-weight:900; }
.shop-page .shop-card.is-free { border-color:#e5c16d9c; background:linear-gradient(150deg,#283b41,#172530 65%); box-shadow:0 9px 28px #0005,inset 0 1px #fff2,0 0 19px #d9ad3d13; }
.shop-page .shop-card.is-free .shop-card-art { background:radial-gradient(ellipse at 50% 80%,#eac46542,transparent 64%),linear-gradient(140deg,#263c43,#172b35); }
.shop-page .shop-card.is-free .shop-card-art::after { content:''; position:absolute; pointer-events:none; inset:0; background:linear-gradient(120deg,transparent 28%,#fff2 44%,#fff4 48%,transparent 64%); transform:translateX(-150%); animation:reward-sweep 7s ease-in-out infinite; }
.shop-page .shop-card.is-free:nth-child(2) .shop-card-art::after { animation-delay:1s; }
.shop-page .shop-card.is-free:nth-child(3) .shop-card-art::after { animation-delay:2s; }
.shop-page .shop-card.is-free .shop-art-cluster { filter:drop-shadow(0 10px 6px #0007) drop-shadow(0 0 12px #eaca6a29); }
.shop-page .shop-card.is-free.pack-is-ready { box-shadow:0 9px 28px #0005,inset 0 1px #fff3,0 0 21px #edc85d27; }
.shop-page .shop-card.is-free .shop-product-tag { color:#ffde8c; border-color:#e4bf6775; background:#19272be8; }
.shop-page .shop-card.is-vip-pack { border-color:#f6cc71bd; background:radial-gradient(ellipse at top,#a5742b44,transparent 70%),#192833; }
.shop-page .shop-card.is-vip-pack .shop-card-art { background:radial-gradient(ellipse at 50% 80%,#d7a74b66,transparent 70%),linear-gradient(140deg,#493b30,#1c2933); }
.shop-page .shop-card .pack-availability { min-height:34px; font-size:10px; line-height:1.6; margin:13px 0 0; padding-top:11px; border-top:1px solid #b4c3d421; color:#d9c48c; }
.shop-page .shop-card .pack-details-link { min-height:36px; font-size:10px; color:#c3d1de; display:flex; gap:5px; align-items:center; background:none; border:0; padding:3px 0; cursor:pointer; }
.pack-details-link .icon { width:13px; height:13px; }
.shop-page .shop-card [data-pack-claim] { max-width:130px; min-width:95px; }
.shop-page .shop-card [data-pack-claim]:disabled { opacity:1; background:linear-gradient(145deg,#4a535b,#323c47); border:1px solid #8995a957; color:#c0cad6; box-shadow:inset 0 1px #fff1; cursor:not-allowed; }
.shop-page .pack-is-waiting .shop-art-cluster { filter:drop-shadow(0 7px 5px #0008) saturate(.75); }
.shop-page .pack-is-waiting .pack-availability { color:#b4c2cf; }
.home-vip-nudge { position:relative; isolation:isolate; overflow:hidden; display:flex; align-items:center; gap:17px; margin:0 0 24px; padding:19px 24px; border:1px solid #e0be68b3; border-radius:14px; color:#ffdd89; background:radial-gradient(ellipse at 90% 0,#c999303b,transparent 65%),linear-gradient(110deg,#332e25,#202832 60%,#343029); box-shadow:inset 0 1px #ffeab32e,0 8px 26px #0002,0 0 24px #dcad3221; text-decoration:none; }
.home-vip-nudge::after { content:''; position:absolute; pointer-events:none; inset:0; background:linear-gradient(115deg,transparent 25%,#ffeecf12 43%,#fff0b73b 48%,transparent 65%); transform:translateX(-150%); animation:reward-sweep 6s ease-in-out infinite; }
.home-vip-nudge > .icon { width:32px; height:32px; flex-shrink:0; filter:drop-shadow(0 0 11px #ffdf7470); }
.home-vip-nudge > span:not(.vip-nudge-arrow) { display:grid; gap:4px; }
.home-vip-nudge small { color:#d2c2a1; font-size:11px; }.home-vip-nudge small:first-child { color:#e8c76f; font-size:8px; letter-spacing:.16em; font-weight:800; }
.home-vip-nudge strong { font-size:16px; line-height:1.5; }.vip-nudge-arrow { margin-left:auto; }
.home-vip-nudge:is(:hover,:focus-visible) { border-color:#ffe5a3; box-shadow:0 0 0 2px #ffda6e27,0 8px 30px #d3a63122; }
.market-card-footer .market-visit { display:inline-flex; align-items:center; justify-content:center; gap:7px; padding:9px 13px; min-width:83px; min-height:37px; border-radius:8px; background:linear-gradient(120deg,#ffdc75,#f3bf43); color:#241b0b; font-size:11px; font-weight:900; box-shadow:inset 0 1px #fff6,0 4px 10px #0002; }
.market-card-footer .market-visit .icon { width:15px; height:15px; }

/* Symboles fournis par la fondatrice ; la brillance reste à l'intérieur des repères. */
.map-identity-icon { pointer-events:none; filter:drop-shadow(0 0 3px #9deefa70); animation:map-icon-brilliance 5.5s ease-in-out infinite; }
.map-marker.players .map-identity-icon { filter:drop-shadow(0 0 3px #c3ffab80); animation-delay:1.3s; }
.map-identity-halo { fill:none; stroke:currentColor; stroke-width:.7; opacity:.12; pointer-events:none; }
.map-marker:is(:hover,:focus,.is-selected) .map-identity-halo { opacity:.85; stroke-width:1.3; }
.map-marker.has-identity-icon .map-marker-label { transform:translateY(-6px); }
.map-filter-symbol:is(.bases,.players) { width:22px; height:24px; background:transparent center/contain no-repeat; border:0; border-radius:0; }
.map-filter-symbol.bases { background-image:url('/static/images/baseicon.webp'); }.map-filter-symbol.players { background-image:url('/static/images/playericon.png'); }
@keyframes reward-sweep { 0%,65% { transform:translateX(-160%); } 90%,100% { transform:translateX(160%); } }
@keyframes astralym-aura { 0%,100% { opacity:.55; transform:scale(.85); } 50% { opacity:.95; transform:scale(1.12); } }
@keyframes astralym-border { 0%,100% { transform:translateX(0); opacity:.65; } 50% { transform:translateX(-95%); opacity:1; } }
@keyframes map-icon-brilliance { 0%,68%,100% { filter:brightness(1) drop-shadow(0 0 2px #c5ffe14d); } 81% { filter:brightness(1.65) drop-shadow(0 0 6px #d9fffac2); } }
@media(min-width:1200px) { .votes-page .vote-ranking.vote-ranking-list { grid-template-columns:repeat(2,minmax(0,1fr)); grid-auto-flow:column; grid-template-rows:repeat(5,auto); gap:8px 13px; } }
@media(max-width:900px) { .vote-discovery-row { grid-template-columns:1fr; }.votes-page .vote-discovery-row .review-reward { flex-direction:row; gap:17px; }.vote-discovery-row .review-reward-stars { font-size:14px; flex-shrink:0; } }
@media(max-width:600px) { .votes-page .vote-ranking-list li { padding:8px; gap:8px; }.votes-page .vote-ranking-list li > strong { font-size:11px; }.vote-ranking-list .voter-avatar { width:30px; height:30px; }.vote-discovery-row { gap:16px; }.vote-astralym-panel { padding:17px 15px; }.votes-page .vote-astralym-panel .vote-astralym { align-items:flex-start; gap:10px; }.votes-page .vote-astralym-panel .vote-astralym > img { width:70px; height:100px; }.votes-page .vote-astralym-panel h3 { font-size:17px; }.votes-page .vote-astralym-panel p { font-size:10px; }.votes-page .vote-discovery-row .review-reward { flex-direction:column; }.shop-page .shop-orders-cta.button { font-size:12px; min-height:43px; padding:10px 14px; }.shop-page .shop-card [data-pack-claim] { min-width:0; max-width:100%; font-size:10px; }.shop-page .shop-card.is-free .shop-card-bottom { flex-wrap:wrap; }.home-vip-nudge { padding:16px; gap:12px; }.home-vip-nudge strong { font-size:13px; }.home-vip-nudge small { font-size:10px; }.home-vip-nudge > .icon { width:26px; }.market-card-footer .market-visit { min-height:40px; font-size:11px; } }
@media(prefers-reduced-motion:reduce) { .votes-page .vote-prize::after,.shop-page .shop-card.is-free .shop-card-art::after,.home-vip-nudge::after,.vote-astralym-panel::before,.vote-astralym-panel::after,.map-identity-icon { animation:none!important; } }
body[data-motion=off] :is(.vote-prize,.shop-card.is-free .shop-card-art,.home-vip-nudge,.vote-astralym-panel)::after,body[data-motion=off] .vote-astralym-panel::before,body[data-motion=off] .map-identity-icon { animation:none!important; }
[hidden] { display:none!important; }
