/* GCH V19.21. Consistent Comic Hybrid surfaces, without replacing component CSS. */
:root { --gch-ui-ink:#172941; --gch-ui-gold:#ffdb7c; --gch-ui-mint:#bce8db; --gch-ui-paper:#fffdf6; --gch-ui-shadow:rgba(10,28,45,.17); }
.gch-site-v8 { font-family: 'Trebuchet MS',Arial,sans-serif; }
.gch-site-v8 .gck-header { max-width:1680px; margin:0 auto; padding:15px clamp(12px,2vw,26px) 18px; gap:clamp(8px,1.2vw,18px); background:linear-gradient(180deg,rgba(16,36,63,.48),rgba(16,36,63,.04)); }
.gch-site-v8 .gck-nav { gap:7px; }
.gch-site-v8 .gck-nav-link, .gch-site-v8 .gck-profile-entry { min-height:44px; border-radius:9px!important; }
.gch-site-v8 .gck-nav-link { padding:9px clamp(9px,1vw,15px); background:linear-gradient(152deg,#fffdf6,#f6eee3); }
.gch-site-v8 .gck-nav-link:is(:hover,:focus-visible), .gch-site-v8 .gck-profile-entry:is(:hover,:focus-visible) { background:#e8f9f5; }
/* Stable hit areas prevent hover oscillation at the button edges. */
.gch-site-v8 .gck-header :is(.gck-nav-link,.gck-profile-entry),
.gch-site-v8 .gck-header :is(.gck-nav-link,.gck-profile-entry):is(:hover,:focus-visible,.is-active) {
  translate:none; transform:none;
  transition:background-color .16s ease,box-shadow .16s ease!important;
}
.gch-site-v8 .gck-nav-link.is-active { background:linear-gradient(130deg,#ffebad,#ffce6e); }
.gch-site-v8 .gck-profile-entry { background:linear-gradient(140deg,#eefcf4,#ccefe1); }
.gch-site-v8 .gck-language { min-height:42px; border-radius:9px; background:#fffef7; }
.gch-site-v8 .gck-language select { min-height:24px; }
.gch-site-v8 a:focus-visible, .gch-site-v8 button:focus-visible, .gch-site-v8 select:focus-visible, .gch-site-v8 input:focus-visible { outline:3px solid #33a8c9; outline-offset:3px; }
.gch-site-v8 .gck-footer { max-width:1680px; margin:16px auto 0; padding-bottom:34px; }
/* Shared card treatment across the home page, directories and detail pages. */
.gch-site-v8 :is(.gch-home-portal,.gch-home-character,.gch-catalog-card,.gch-artifact-panel,.gch-artifact-hero,.gch-artifact-association,.gch-profile-panel,.gch-profile-stat) { border-radius:12px; }
.gch-site-v8 :is(.gch-home-portal,.gch-home-character,.gch-catalog-card,.gch-artifact-association,.gch-profile-favorite) { transition:transform .2s ease,box-shadow .2s ease; }
@media (hover:hover) { .gch-site-v8 :is(.gch-home-portal,.gch-home-character,.gch-catalog-card,.gch-profile-favorite):hover { transform:translateY(-3px); } }
/* Fiche armes et artéfacts: clearer stats and voting, preserving exact DOM hooks. */
.gch-site-v8 .gch-artifact { max-width:1320px; margin-inline:auto; padding-inline:clamp(12px,2vw,24px); }
.gch-site-v8 .gch-artifact-hero { overflow:hidden; border-radius:15px; box-shadow:7px 9px 0 var(--gch-ui-ink),0 24px 34px var(--gch-ui-shadow); }
.gch-site-v8 .gch-artifact-panel { border-radius:12px; box-shadow:5px 7px 0 var(--gch-ui-ink),0 14px 25px var(--gch-ui-shadow); }
.gch-site-v8 .gch-artifact-heading { gap:9px; }
.gch-site-v8 .gch-weapon-specs { gap:13px; }
.gch-site-v8 .gch-weapon-specs > div { border-radius:10px; background:linear-gradient(145deg,#fffaf0,#e8f6f2); }
.gch-site-v8 .gch-weapon-specs strong { font-variant-numeric:tabular-nums; }
.gch-site-v8 .gch-artifact-association { border-radius:10px; }
.gch-site-v8 :is(.gch-artifact-vote-up,.gch-artifact-vote-down):is(:hover,:focus-visible) { box-shadow:0 0 0 2px rgba(41,153,169,.18); }
/* Profile: restore legibility of the hero, stats, account forms and favorites. */
.gch-site-v8 .gch-profile { max-width:1240px; }
.gch-site-v8 .gch-profile-hero { border-radius:15px; padding:clamp(23px,3.2vw,43px); background:linear-gradient(126deg,#172a48 0%,#254f65 65%,#34746d 100%); }
.gch-site-v8 .gch-profile-hero h1 { letter-spacing:-.025em; }
.gch-site-v8 .gch-profile-hero p { color:#eef9f4; }
.gch-site-v8 .gch-profile-panel { border-radius:12px; background:linear-gradient(146deg,#fffef9 0%,#f8f4ea 100%); }
.gch-site-v8 .gch-profile-panel h2 { color:#192e49; }
.gch-site-v8 .gch-profile-stat { min-height:118px; background:linear-gradient(150deg,#e8f7f3,#d7eee5); }
.gch-site-v8 .gch-profile-stat strong { font-size:clamp(28px,3.2vw,39px); }
.gch-site-v8 .gch-profile-form { gap:10px; }
.gch-site-v8 .gch-profile-form input { min-width:0; }
.gch-site-v8 .gch-profile-button { min-height:44px; text-align:center; }
.gch-site-v8 .gch-profile-favorite { border-radius:10px; }
.gch-site-v8 .gch-profile-recovery { border-left:7px solid #64adad; }
/* Consistent headings across content modules while respecting their visual hierarchy. */
.gch-site-v8 :is(.gch-artifact-heading h2,.gch-home-section-heading h2,.gch-profile-panel h2) { text-wrap:balance; }
.gch-site-v8 :is(.gch-artifact-panel,.gch-profile-panel,.gch-home-section) { scroll-margin-top:92px; }
@media (max-width:1020px) { .gch-site-v8 .gck-header { justify-content:space-between; } .gch-site-v8 .gck-nav { order:4; flex-basis:100%; justify-content:center; } }
@media (max-width:720px) { .gch-site-v8 .gck-header { padding:10px 9px 14px; gap:7px; } .gch-site-v8 .gck-nav { gap:5px; } .gch-site-v8 .gck-nav-link { min-height:40px; padding:7px 9px; } .gch-site-v8 .gch-profile-stats { grid-template-columns:repeat(3,minmax(0,1fr)); gap:8px; } .gch-site-v8 .gch-profile-stat { min-width:0; min-height:96px; padding:12px 5px; } .gch-site-v8 .gch-profile-stat span { font-size:11px; } }
@media (max-width:430px) { .gch-site-v8 .gck-nav-link { font-size:10px; padding:7px 6px; } .gch-site-v8 .gck-nav-icon { font-size:14px; } .gch-site-v8 .gch-profile { width:calc(100% - 18px); } .gch-site-v8 .gch-profile-stat span { font-size:10px; } }
@media(prefers-reduced-motion:reduce){ .gch-site-v8 :is(.gck-nav-link,.gck-profile-entry,.gch-home-portal,.gch-home-character,.gch-catalog-card,.gch-profile-favorite){transition:none!important;transform:none!important;} }

/* Header interaction: ink-blue fill, gold accent and a stable outline.
   Only paint properties change; hit areas never move or resize. */
.gch-site-v8 .gck-header :is(.gck-nav-link,.gck-profile-entry,.gck-language){
  translate:none!important;transform:none!important;
  transition:background-color .18s ease,color .18s ease,box-shadow .18s ease!important;
}
.gch-site-v8 .gck-header :is(.gck-nav-link,.gck-profile-entry):is(:hover,:focus-visible){
  background:#203953!important;color:#fff2ce!important;
  box-shadow:4px 5px 0 #101d32,inset 0 -3px 0 #ffd978,0 0 0 2px #ffe2a655!important;
  text-decoration:none;
}
.gch-site-v8 .gck-header .gck-nav-link:is(:hover,:focus-visible) .gck-nav-icon{color:#ffd978}
.gch-site-v8 .gck-header .gck-profile-entry:is(:hover,:focus-visible) .gck-profile-entry-icon{background:#fff1c8;color:#203953}
.gch-site-v8 .gck-header .gck-language:is(:hover,:focus-within){
  background:#fff0c9;box-shadow:0 0 0 2px #ffd97899;
}
.gch-site-v8 .gck-header .gck-logo{filter:drop-shadow(2px 2px 0 #11203b)!important}
.gch-site-v8 .gck-header .gck-logo:is(:hover,:focus-visible){color:#ffe29b!important}
.gch-site-v8 .gck-header .gck-logo{transition:color .18s ease!important}
@media(prefers-reduced-motion:reduce){.gch-site-v8 .gck-header :is(.gck-nav-link,.gck-profile-entry,.gck-language,.gck-logo){transition:none!important}}
/* Transparent navigation, compact legal notice and accessible flag picker. */
body.gch-site-v8 .gck-header{background:transparent!important;box-shadow:none!important;border:0!important;backdrop-filter:none!important;overflow:visible;position:relative;z-index:50}
body.gch-site-v8 .gck-header::before,body.gch-site-v8 .gck-header::after{display:none!important}
body.gch-site-v8 .gck-footer{display:block!important;max-width:1400px;margin:8px auto 0!important;padding:8px 16px!important;border:0!important;box-shadow:none!important;background:transparent!important;text-align:center;font-size:10px!important;line-height:1.5;color:#f6f7fb;text-shadow:0 1px 3px #14243f}
body.gch-site-v8 .gck-footer p{margin:0;font-size:inherit}
.gch-language-menu{position:relative;flex-shrink:0;color:#172941;font-size:12px;z-index:70}
.gch-language-menu summary{list-style:none;cursor:pointer;display:flex;align-items:center;gap:8px;background:#fffdf6;border:2px solid #172941;border-radius:9px;padding:10px 12px;min-height:44px;font-weight:700}
.gch-language-menu summary::-webkit-details-marker{display:none}
.gch-language-menu img{width:22px;height:16px;object-fit:cover;border-radius:2px;flex-shrink:0}
.gch-language-menu nav{position:absolute;right:0;top:calc(100% + 6px);min-width:190px;max-height:min(65dvh,420px);overflow:auto;padding:6px;background:#fffdf6;border:2px solid #172941;border-radius:10px;box-shadow:0 8px 24px #14243f40}
.gch-language-menu nav a{display:flex;align-items:center;gap:10px;padding:8px 10px;border-radius:6px;color:#172941;text-decoration:none}
.gch-language-menu nav a:is(:hover,:focus-visible,[aria-current]){background:#ffe6a1}
.gch-language-menu summary:focus-visible{outline:3px solid #ffcc65;outline-offset:3px}
.gch-fanart-metrics{display:flex;justify-content:center;gap:5px 12px;flex-wrap:wrap;margin:0;font-size:11px;line-height:1.4;color:#e1e9f5;font-weight:400}
.gch-fanart-gallery__card-foot{flex-wrap:wrap}
.gch-fanart-gallery__card-foot .gch-fanart-metrics{flex-basis:100%;justify-content:flex-start;font-size:10px}

/* Shared image logo and readable compact legal footer. */
body.gch-site-v8 .gck-header .gck-logo{padding:0;min-width:0;flex:0 0 auto;filter:none!important;text-shadow:none;line-height:0}
.gck-header .gch-brand-logo{display:block;width:clamp(140px,15vw,210px);height:auto;max-width:100%;object-fit:contain}
body.gch-site-v8 .gck-footer{position:relative;z-index:2;visibility:visible!important;opacity:1!important;width:fit-content;max-width:min(1100px,calc(100% - 28px));margin:16px auto!important;padding:10px 16px!important;border:1px solid #53647d!important;border-radius:8px;background:#17243a!important;box-shadow:0 3px 10px #0b172326!important;color:#edf2fa!important;text-shadow:none!important;font-size:11px!important;font-weight:400;line-height:1.6}
@media(max-width:600px){.gck-header .gch-brand-logo{width:150px}body.gch-site-v8 .gck-footer{padding:9px 12px!important;font-size:10px!important}}
