/* Finitions métalliques C’Rocket : surfaces sombres, bords brossés et or chaud. */
.metal-surface { position:relative; --metal-edge:#b99e63; border-color:#bda77265; box-shadow:inset 0 1px #fff1,0 7px 23px #0002; }
.metal-trim { position:absolute!important; z-index:3; inset:-1px; display:block; border-radius:inherit; overflow:hidden; pointer-events:none; }
.metal-trim::before { content:''; position:absolute; inset:0; border-radius:inherit; padding:1px; background:linear-gradient(120deg,#9c7843 3%,#f5d99c 19%,#8f764c 32%,#bd9f64 47%,#fce9bb 66%,#8c723f 79%,#d5bb7d 96%); background-size:250% 100%; -webkit-mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0); mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0); -webkit-mask-composite:xor; mask-composite:exclude; opacity:.65; animation:metal-edge-travel 12s ease-in-out infinite; animation-play-state:paused; }
.metal-trim::after { content:''; position:absolute; inset:0; border-radius:inherit; pointer-events:none; background:linear-gradient(115deg,transparent 20%,#fff2 44%,#ffeab526 48%,transparent 69%); transform:translateX(-150%); opacity:0; }
.metal-in-view>.metal-trim::before { animation-play-state:running; }
.metal-surface:is(:hover,:focus-within) { border-color:#f4d58b; box-shadow:inset 0 1px #fff3,0 0 0 1px #d5b26526,0 7px 25px #d2a23c17; }
.metal-surface:is(:hover,:focus-within)>.metal-trim::after { opacity:.65; animation:metal-reflection 5s ease-in-out infinite; }
.metal-celebrate { border-color:#e8c6749c; box-shadow:inset 0 1px #ffebba29,0 0 0 1px #e2bc5822,0 6px 24px #a9771f15; }
.metal-celebrate>.metal-trim::before { opacity:.95; }
.metal-celebrate.metal-in-view>.metal-trim::after { opacity:.42; animation:metal-reflection 9s ease-in-out infinite; }
.server-card.metal-surface { border-color:#dabf7b9c; box-shadow:inset 0 1px #fff2,0 7px 24px #0004; }
.server-card.metal-surface:is(:hover,:focus-visible) { border-color:#ffe8a3; box-shadow:0 0 0 2px #dcbc6826,0 0 28px #caa04d29,0 10px 30px #0005; }
.server-card .metal-trim::before { opacity:.95; padding:1.4px; }
.server-card:is(:hover,:focus-visible) .text-link { color:#ffe8a2; text-shadow:0 0 14px #f4cd6559; }
.metal-particles { position:absolute; inset:0; z-index:4; border-radius:inherit; overflow:hidden; pointer-events:none; }
.metal-particles i { position:absolute; width:3px; height:3px; border-radius:50%; background:#ffecad; box-shadow:0 0 5px 1px #ffd06e99; pointer-events:none; animation:metal-spark 1s ease-out both; animation-delay:var(--spark-delay); }
body[data-page=servers] .feature-grid>.feature { display:flex; flex-direction:column; background:radial-gradient(ellipse at 10% 0,#e8ba5520,transparent 70%),linear-gradient(135deg,#23333e,#17232d); }
body[data-page=servers] .feature>.text-link { margin-top:auto; padding-top:17px; font-size:12px; display:inline-flex; align-items:center; gap:8px; align-self:flex-start; min-height:44px; }
body[data-page=servers] .feature>.icon { filter:drop-shadow(0 0 11px #e4bd5736); }
body[data-page=servers] .fact { background:linear-gradient(135deg,#283641,#18242f); }
body[data-page=servers] .server-settings-category { background:linear-gradient(120deg,#24323f,#17232f); }
/* Ne pas appliquer les styles de contenu des cartes à leur décoration. */
body[data-page=servers] .fact>.metal-trim { padding:0; margin:0; }
.market-intro-grid { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1.1fr); gap:18px; align-items:stretch; margin-bottom:23px; }
.market-home .market-rules.market-rules-brief { padding:22px; margin:0; display:block; background:radial-gradient(ellipse at 0 0,#d5aa3d1c,transparent 70%),linear-gradient(130deg,#2b3036,#192732); }
.market-rules-brief>.market-rule-icon { float:left; width:38px; height:38px; border-radius:11px; margin:0 12px 12px 0; }
.market-rules-brief>.eyebrow { display:block; font-size:9px; padding-top:2px; }
.market-home .market-rules-brief h2 { font-size:24px; margin:7px 0 14px; }
.market-rules-brief p { clear:both; font-size:12px; line-height:1.8; color:#c4ced9; margin:11px 0; }
.market-rules-brief p strong { color:#efdaaa; }
.market-rules-brief .market-fineprint { font-size:10px; color:#aabac9; }
.market-rules-brief>.text-link { font-size:11px; display:inline-flex; align-items:center; gap:8px; padding-block:9px; min-height:44px; line-height:1.6; }
.market-rules-brief .text-link .icon { width:17px; flex-shrink:0; }
.market-quickstart { padding:22px; margin:0; background:linear-gradient(130deg,#22343f,#17242f); }
.market-quickstart>.eyebrow { font-size:9px; }
.market-quickstart h2 { font-size:24px; margin:7px 0 17px; }
.market-quickstart ol { display:grid; gap:13px; list-style:none; padding:0; margin:0; }
.market-quickstart li { display:flex; align-items:flex-start; gap:11px; }
.market-quickstart li>span { flex-shrink:0; display:grid; place-items:center; width:27px; height:29px; border:1px solid #d3b36b65; border-radius:7px; color:#e9c56f; background:linear-gradient(135deg,#d9bc6223,#0f1d26); font-size:10px; font-weight:900; }
.market-quickstart li strong { display:block; font-size:12px; color:#ece7d9; }
.market-quickstart li p { font-size:11px; line-height:1.7; color:#b8c8d6; margin:4px 0 0; }
.market-quickstart li p a { color:#f2d28a; text-decoration:underline; text-underline-offset:3px; }
.market-discover.metal-surface { border-color:#e7cc8bae; box-shadow:inset 0 1px #ffefd32e,0 0 0 1px #e6c98218,0 10px 30px #0004; }
.market-discover.metal-surface .metal-trim::before { padding:1.5px; }
.market-discover>div:not(.market-discover-art) { max-width:670px; }
.market-full-rules>.text-link { margin-bottom:20px; display:inline-flex; min-height:40px; align-items:center; }
/* Un même composant compact pour la vitrine publique et la gestion personnelle. */
body:is([data-page=markets],[data-page=member]) .market-offer-grid { grid-template-columns:repeat(3,minmax(0,1fr)); gap:13px; }
body:is([data-page=markets],[data-page=member]) .market-offer { padding:15px; display:flex; flex-direction:column; border-radius:14px; min-width:0; background:linear-gradient(145deg,#243540,#14242f); }
body:is([data-page=markets],[data-page=member]) .market-offer-product { display:grid; grid-template-columns:68px minmax(0,1fr); min-height:85px; gap:10px; align-items:center; margin-bottom:12px; }
body:is([data-page=markets],[data-page=member]) .market-offer-product>img { width:68px; height:78px; object-fit:contain; }
body:is([data-page=markets],[data-page=member]) .market-offer-product>.icon { width:40px; height:40px; justify-self:center; }
body:is([data-page=markets],[data-page=member]) .market-offer-product .eyebrow { font-size:8px; letter-spacing:.04em; }
body:is([data-page=markets],[data-page=member]) .market-offer-product h3 { font-size:17px; line-height:1.3; margin:6px 0 0; overflow-wrap:anywhere; }
body:is([data-page=markets],[data-page=member]) .market-offer .market-exchange { padding:10px 11px; border-radius:9px; margin:0; background:#0d1d28a6; }
.market-offer .market-exchange>span { font-size:9px; }.market-offer .market-exchange>strong { font-size:13px; line-height:1.5; overflow-wrap:anywhere; }
.market-offer-note { margin:10px 0 0; font-size:11px; }
.market-offer-note>summary { cursor:pointer; color:#c6d1de; display:flex; justify-content:space-between; align-items:center; min-height:34px; font-size:10px; }
.market-offer-note>summary .icon { width:13px; height:13px; }.market-offer-note[open]>summary .icon { transform:rotate(180deg); }
.market-offer-note>p { color:#c5d0db; line-height:1.7; font-size:11px; overflow-wrap:anywhere; white-space:pre-line; }
body:is([data-page=markets],[data-page=member]) .market-offer-actions { display:flex; flex-wrap:wrap; gap:6px; margin:13px 0 0; padding-top:11px; border-top:1px solid #8da5b22b; }
.market-offer-actions>.text-button { padding:8px 9px; min-height:36px; border:1px solid #91a9bc42; border-radius:7px; font-size:10px; color:#d5e0e9; background:#afcee209; }
.market-offer-actions>[data-delete-listing] { color:#e3bba8; }
/* Navigation et jalons : le métal distingue les objectifs acquis. */
body[data-page=member] :is(.member-desktop-menu,.member-mobile-menu nav)>.metal-surface { border:1px solid #7d8d9b28; background:linear-gradient(115deg,#27394680,#1224317d); box-shadow:inset 0 1px #dbeeff0b; border-radius:10px; }
body[data-page=member] :is(.member-desktop-menu,.member-mobile-menu nav)>.metal-surface[aria-current] { background:linear-gradient(115deg,#7760374a,#253d4699); box-shadow:inset 3px 0 #f4cc63,0 0 17px #b8933f17; }
body[data-page=member] .member-desktop-menu>a>svg.icon:nth-of-type(2) { width:14px; margin-left:auto; opacity:0; }
body[data-page=member] .member-desktop-menu>a[aria-current]>svg.icon:nth-of-type(2) { opacity:1; }
body[data-page=member] :is(.member-progress-link,.member-collection-link)>svg.icon:last-of-type { width:16px; flex-shrink:0; margin-left:auto; }
body[data-page=member] .member-progress-tabs { padding:6px; gap:6px; border-color:#bca46b57; background:linear-gradient(120deg,#253542,#11212b); box-shadow:inset 0 1px #d9eaff11,0 5px 15px #0002; }
body[data-page=member] .member-progress-tabs>a { border-radius:8px; background:linear-gradient(135deg,#32475566,#172b367a); color:#c6d5e0; }
body[data-page=member] .member-progress-tabs>a[aria-current] { background:linear-gradient(120deg,#bd933a,#ffe393 45%,#e2b743 75%,#f3d776); color:#211a0e; text-shadow:0 1px #fff4; box-shadow:inset 0 1px #fff7,0 0 17px #d8ab3824; }
body[data-page=member] .member-main .member-section-panel.metal-surface { background:radial-gradient(ellipse at 0 0,#ccaf5a0d,transparent 65%),linear-gradient(145deg,#263744,#122430); }
body[data-page=member] :is(.member-progress-link,.member-collection-link).metal-surface { background:linear-gradient(130deg,#2c404c,#152834); }
body[data-page=member] .member-battlepass-preview.metal-surface { background:radial-gradient(ellipse at right,#c79d4b2b,transparent 75%),linear-gradient(135deg,#324450,#142634); }
body[data-page=member] .achievement-card.unlocked.metal-surface { border-color:#efce7c; background:radial-gradient(ellipse at 90% 0,#f3c95422,transparent 65%),linear-gradient(130deg,#39433e,#1b3039); box-shadow:0 0 0 1px #efc96133,0 0 21px #e9bc4829,inset 0 1px #ffeec14d; }
body[data-page=member] .achievement-card.unlocked>.achievement-top>.member-feature-icon { color:#ffe498; border-color:#f3d07894; background:linear-gradient(145deg,#b195454d,#263b37); box-shadow:0 0 15px #f2c75d30; }
body[data-page=member] .achievement-card.unlocked h4 { color:#ffe4a4; text-shadow:0 0 14px #f2ce5820; }
body[data-page=member] .achievement-card.unlocked .status-chip { border-color:#e8c76b99; color:#ffe5a6; background:#94732e26; }
body[data-page=member] .achievement-card.unlocked::before,body[data-page=member] .battlepass-current::before { display:none; }
body[data-page=member] .battlepass-summary.metal-surface { border-color:#f4d28ac7; box-shadow:inset 0 1px #ffecad3d,0 0 24px #e9ba4722; }
body[data-page=member] .battlepass-current.metal-surface { border-color:#ebcb76cf; background:radial-gradient(ellipse at 80% 0,#efcd6521,transparent 65%),linear-gradient(145deg,#2e4048,#152834); }
body[data-page=member] .battlepass-current .tier-number>strong { color:#ffe89e; text-shadow:0 0 18px #eab3446b; }
body[data-page=member] .battlepass-current .tier-reward { border:1px solid #d4b66c50; border-radius:11px; background:linear-gradient(145deg,#bddce10c,#0f223769); padding:13px; }
body[data-page=member] .battlepass-current .tier-reward:nth-of-type(3) { border-color:#ebc56488; background:linear-gradient(145deg,#dab85916,#192a3869); }
body[data-page=member] .tier-art { filter:drop-shadow(0 3px 9px #e2c46a15); }
body[data-page=member] .tier-locked .tier-art { filter:none; }
body[data-page=member] .member-action-panel.metal-surface { background:radial-gradient(ellipse at 100% 0,#d9ad3620,transparent 70%),linear-gradient(135deg,#2a3b44,#172834); }
body[data-page=member] .score-stat { background:linear-gradient(130deg,#2c3e49,#162934); border-color:#a0a88c52; box-shadow:inset 0 1px #fff1; }
@keyframes metal-edge-travel { 0%,100% { background-position:0 50%; } 50% { background-position:100% 50%; } }
@keyframes metal-reflection { 0%,65% { transform:translateX(-150%); } 93%,100% { transform:translateX(150%); } }
@keyframes metal-spark { 0% { opacity:0; transform:translate(0,0) scale(.4); } 18% { opacity:.9; } 100% { opacity:0; transform:translate(var(--spark-x),var(--spark-y)) scale(.2); } }
@media(min-width:1550px) { body:is([data-page=markets],[data-page=member]) .market-offer-grid { grid-template-columns:repeat(4,minmax(0,1fr)); } }
@media(max-width:1050px) { body:is([data-page=markets],[data-page=member]) .market-offer-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media(max-width:760px) { .market-intro-grid { grid-template-columns:1fr; gap:14px; }.market-rules-brief,.market-quickstart { padding:20px; }.market-quickstart h2,.market-home .market-rules-brief h2 { font-size:23px; } }
@media(max-width:500px) { body:is([data-page=markets],[data-page=member]) .market-offer-grid { grid-template-columns:1fr; gap:12px; }.market-offer-actions>.text-button { min-height:44px; padding:10px 12px; }.market-rules-brief>.text-link { font-size:11px; }.market-quickstart li p { font-size:12px; }.market-quickstart li { gap:10px; }body[data-page=servers] .feature>.text-link { font-size:12px; } }
@media(prefers-reduced-motion:reduce) { .metal-trim::before,.metal-trim::after { animation:none!important; }.metal-particles { display:none; } }
body[data-motion=off] .metal-trim::before,body[data-motion=off] .metal-trim::after { animation:none!important; }body[data-motion=off] .metal-particles { display:none; }
