/* kx-chrome.css — GÉNÉRÉ par member/assets/build-chrome.php, ne pas éditer.
 *
 * La barre du haut et le dock de l'interface refondue, extraits de
 * `member/assets/kx.css` pour être chargés par les ANCIENNES pages publiques
 * à côté de `style.css`.
 *
 * Ce fichier ne contient AUCUNE règle non préfixée : ni `body`, ni `a`, ni
 * `h1, h2, h3`, ni `.up` / `.down` / `.dim`. `style.css` garde donc la main
 * sur toute la page ; seule la barre change de main.
 *
 * Pour modifier la barre : éditer `kx.css`, puis relancer le script.
 */
:root {
  --kx-accent: #19d4ff;
  --kx-brand: linear-gradient(90deg, #4b73ff, #19d4ff);
  --kx-brand-d: linear-gradient(135deg, #4b73ff, #19d4ff);
  --kx-down-soft: #ffb3b3;
  --kx-float: #0d1525;
  --kx-font: 'Poppins', ui-sans-serif, -apple-system, 'Segoe UI', Roboto, sans-serif;
  --kx-gold-g: linear-gradient(135deg, #f5c76a, #ffdfaa);
  --kx-gold-ink: #1a1200;
  --kx-ink: #e8f0ff;
  --kx-line: rgba(255,255,255,.08);
  --kx-line-2: rgba(255,255,255,.12);
  --kx-muted: #8fa3c4;
  --kx-num: 'Space Grotesk', ui-monospace, 'Cascadia Mono', Consolas, monospace;
  --kx-on-brand: #07101d;
  --kx-r-pill: 999px;
  --kx-sh-float: 0 16px 48px rgba(0,0,0,.6);
}
@keyframes kolfade { from { opacity: 0; transform: translateY(8px); } to { opacity: 1; transform: none; } }
@keyframes kolpop { from { opacity: 0; transform: scale(.94) translateY(12px); } to { opacity: 1; transform: none; } }
@keyframes kolpulse { 0%,100% { opacity: .35; transform: scale(.8); } 50% { opacity: 1; transform: scale(1); } }
.kx-top {
  position: sticky; top: 0; z-index: 100;
  padding: 1rem 0;
  background: rgba(8, 10, 18, .65);
  backdrop-filter: blur(24px);
  -webkit-backdrop-filter: blur(24px);
  border-bottom: none;
}
.kx-top::after {
  content: ''; position: absolute; left: 0; bottom: 0; width: 100%; height: 4px;
  background: linear-gradient(to right, transparent 0%, #14F195 15%, #03E1FF 50%, #9945FF 85%, transparent 100%);
  opacity: .7; border-radius: 2px; pointer-events: none; z-index: 1;
  box-shadow: 0 0 12px rgba(20,241,149,.3), 0 0 12px rgba(153,69,255,.3);
}
.kx-top-in {
  display: grid; grid-template-columns: 1fr auto 1fr;
  align-items: center; gap: 14px;
  max-width: 1400px; margin: 0 auto; padding: 0 18px;
  position: relative;
}
@media (min-width: 900px) {
.kx-top-in { padding: 0 2rem; gap: 2rem; }
}
.kx-brand {
  display: flex; align-items: center; gap: .8rem; flex-shrink: 0;
  color: #fff; font-size: 1.35rem; font-weight: 600; z-index: 101;
  transition: opacity .3s ease;
}
.kx-brand:hover { opacity: .9; }
.kx-logo { width: 40px; height: 40px; border-radius: 50%; object-fit: contain; }
.kx-brand-name { font-weight: 600; font-size: 1.35rem; letter-spacing: 0; white-space: nowrap; }
.kx-brand-name b { color: var(--kx-accent); font-weight: 600; }
@media (max-width: 899px) {
.kx-brand, .kx-brand-name { font-size: 1rem; }
.kx-brand { gap: .55rem; }
.kx-logo { width: 34px; height: 34px; }
}
.kx-nav { flex: 0 1 auto; min-width: 0; display: none; gap: 2.5rem; overflow: visible; }
.kx-nav::-webkit-scrollbar { height: 0; }
.kx-nav a {
  display: flex; align-items: center; gap: .5rem;
  position: relative; padding: 0; white-space: nowrap;
  color: #d0d0d8; font-size: 1rem; font-weight: 500;
  transition: color .3s ease;
}
.kx-nav a .kxi { font-size: 1.1rem; }
.kx-nav a:hover, .kx-nav a.on { color: #00e5d0; }
.kx-nav a::after {
  content: ''; position: absolute; bottom: -10px; left: 50%;
  width: 0; height: 2px; background: #00e5d0; border-radius: 1px;
  transition: width .35s ease, left .35s ease;
}
.kx-nav a:hover::after, .kx-nav a.on::after { width: 100%; left: 0; }
@media (max-width: 1340px) {
.kx-nav { gap: 1.8rem; }
.kx-nav a { font-size: .95rem; }
}
@media (max-width: 1120px) {
.kx-nav { gap: 1.1rem; }
.kx-nav a { font-size: .88rem; }
.kx-nav a .kxi { font-size: 1rem; }
}
.kx-brand { grid-column: 1; }
.kx-nav { grid-column: 2; }
.kx-right { grid-column: 3; display: flex; align-items: center; gap: 8px; flex-shrink: 0; justify-self: end; }
.kx-iconbtn {
  display: grid; place-items: center; width: 40px; height: 40px;
  border-radius: var(--kx-r-pill); border: 1px solid var(--kx-line-2);
  background: transparent; color: var(--kx-ink); cursor: pointer;
  text-decoration: none;
}
.kx-iconbtn:hover { background: rgba(255,255,255,.06); }
.kx-alerts {
  display: inline-flex; align-items: center; gap: 6px;
  min-height: 40px; padding: 0 14px; border-radius: var(--kx-r-pill);
  border: 0; background: var(--kx-gold-g); color: var(--kx-gold-ink);
  font: 600 .8rem/1 var(--kx-font); cursor: pointer; white-space: nowrap;
}
.kx-alerts .n {
  display: grid; place-items: center; min-width: 18px; height: 18px; padding: 0 5px;
  border-radius: var(--kx-r-pill); background: rgba(26,18,0,.22);
  font: 700 .68rem/1 var(--kx-num);
}
.kx-avatar {
  display: grid; place-items: center; width: 30px; height: 30px; border-radius: 50%;
  border: 0; background: var(--kx-brand-d); color: var(--kx-on-brand);
  font: 700 .72rem/1 var(--kx-num); cursor: pointer; text-transform: uppercase;
}
.kx-drop {
  position: absolute; top: calc(100% + 1rem + 8px); right: 18px; width: 248px; z-index: 30;
  background: var(--kx-float); border: 1px solid rgba(255,255,255,.11);
  border-radius: 16px; box-shadow: var(--kx-sh-float);
  animation: kolfade .14s ease; overflow: hidden;
}
.kx-drop a, .kx-drop button {
  display: block; width: 100%; text-align: left;
  padding: 12px 16px; font-size: .82rem; font-weight: 500;
  color: rgba(232,240,255,.72); background: none; border: 0; cursor: pointer;
}
.kx-drop a:hover, .kx-drop button:hover { background: rgba(255,255,255,.05); color: var(--kx-ink); }
.kx-drop .danger { color: rgba(255,90,90,.75); }
@media (min-width: 900px) {
.kx-drop { right: 2rem; }
}
.kx-btn {
  display: inline-flex; align-items: center; justify-content: center; gap: .4rem;
  min-height: 50px; padding: 0 20px; border: 0; border-radius: var(--kx-r-pill);
  background: var(--kx-brand); color: var(--kx-on-brand);
  font: 600 .92rem/1 var(--kx-font); cursor: pointer;
}
.kx-btn:hover { box-shadow: 0 8px 25px rgba(25,212,255,.2); }
.kx-btn-ghost {
  min-height: 48px; padding: 0 18px; border-radius: var(--kx-r-pill);
  border: 1px solid var(--kx-line-2); background: transparent; color: var(--kx-ink);
  font: 600 .86rem/1 var(--kx-font); cursor: pointer;
}
.kx-btn-ghost:hover { background: rgba(255,255,255,.06); }
.kx-btn-gold { background: var(--kx-gold-g); color: var(--kx-gold-ink); }
.kx-dock {
  position: fixed; left: 0; right: 0; bottom: 0; z-index: 15;
  display: flex; justify-content: space-around; align-items: stretch;
  padding: 6px 4px calc(6px + env(safe-area-inset-bottom, 0px));
  background: rgba(27,36,54,.94); backdrop-filter: blur(18px);
  border-top: 1px solid var(--kx-line);
}
.kx-dock a, .kx-dock button {
  flex: 1 1 0; display: flex; flex-direction: column; align-items: center; gap: 3px;
  min-height: 46px; padding: 6px 2px;          
  background: none; border: 0; cursor: pointer;
  color: #8fa3c4; font: 500 .62rem/1 var(--kx-font);
}
.kx-dock .ic { font-size: 1.05rem; line-height: 1; }
.kx-dock .on { color: var(--kx-accent); }
@media (min-width: 1100px) {
.kx-nav { display: flex; }
.kx-dock { display: none; }
}
.kx-btn.danger { background: rgba(255,80,80,.18); color: var(--kx-down-soft); }
.kx-btn.danger:hover { background: rgba(255,80,80,.26); box-shadow: none; }
.kx-iconbtn.on { border-color: var(--kx-accent); color: var(--kx-accent); }
@keyframes kxtoast {
  from { opacity: 0; transform: translate(-50%, 8px); }
  to   { opacity: 1; transform: translate(-50%, 0); }
}
.kx-logo { width: 40px; height: 40px; border-radius: 50%; object-fit: contain; flex: 0 0 auto; }
.kx-dock .ic .kxi { font-size: .9em; }
.kx-dock .ic { font-size: 1rem; line-height: 1; }
.kx-share .kxi { font-size: .72rem; }
.kx-fact > summary > .kxi {
  font-size: .6rem; color: var(--kx-muted);
  transition: transform .18s ease;
}
.kx-fact[open] > summary > .kxi { transform: rotate(180deg); }
.kxi { display: inline-block; vertical-align: -.125em; flex: 0 0 auto; }
.kxi.mr { margin-right: 7px; }
.kxi.dim { color: var(--kx-muted); }
@keyframes kxpulse {
  0%   { box-shadow: 0 0 0 0    rgba(255, 77, 77, .55); }
  70%  { box-shadow: 0 0 0 12px rgba(255, 77, 77, 0); }
  100% { box-shadow: 0 0 0 0    rgba(255, 77, 77, 0); }
}
@keyframes kxbar {
  from { opacity: 0; transform: translateX(-50%) translateY(14px); }
  to   { opacity: 1; transform: translateX(-50%); }
}
.kx-row-main:focus-visible,
.kx-res:focus-visible,
.kx-chip:focus-visible,
.kx-pg-b:focus-visible,
.kx-pg-n:focus-visible,
.kx-mv:focus-visible,
.kx-pnlwin-c:focus-visible,
.kx-btn:focus-visible,
.kx-btn-ghost:focus-visible {
  outline: 2px solid var(--kx-accent);
  outline-offset: 2px;
  border-radius: 12px;
}
@keyframes kxspin { to { transform: rotate(360deg); } }
@keyframes kxdots { 0%, 60%, 100% { opacity: .25; } 30% { opacity: 1; } }
.kx-lt .kxi { width: .72em; height: .72em; flex: 0 0 auto; opacity: .85; }
@keyframes kxskel { 0%, 100% { opacity: 1; } 50% { opacity: .45; } }
