:root {
  --orange: #ff9d13;
  --orange-2: #ffb33b;
  --orange-dark: #ca6f00;
  --panel: #38393b;
  --panel-2: #444547;
  --panel-3: #2d2e30;
  --text: #f7f7f7;
  --muted: #b9b9bb;
  --line: #555659;
  --danger: #ef3340;
  --shadow: 0 14px 36px rgba(0, 0, 0, .28);
  --radius: 6px;
}

* { box-sizing: border-box; }
html, body { width: 100%; min-height: 100%; margin: 0; }
body {
  font-family: Arial, Helvetica, sans-serif;
  color: var(--text);
  background: #292a2c;
  overflow-x: hidden;
  transition: background .35s ease, color .35s ease;
}
button, input, select { font: inherit; }
button { cursor: pointer; }
button:disabled { opacity: .45; cursor: not-allowed; }
.hidden { display: none !important; }
.sr-only { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; }

.menu-view { min-height: 100vh; display: grid; grid-template-columns: 275px minmax(0, 1fr); background: #303133; }
.sidebar {
  position: sticky;
  top: 0;
  height: 100vh;
  background: linear-gradient(180deg, #3d3e40 0%, #333436 100%);
  border-right: 1px solid #202123;
  display: flex;
  flex-direction: column;
  z-index: 20;
  box-shadow: 5px 0 18px rgba(0,0,0,.18);
}
.profile-block { padding: 22px 20px 18px; border-bottom: 1px solid #505154; }
.account-line { display: flex; align-items: center; gap: 12px; }
.account-line small { display: block; color: #bdbdbf; font-size: 10px; letter-spacing: 1.6px; margin-bottom: 3px; }
.account-line strong { font-size: 16px; }
.avatar-orb {
  width: 44px;
  height: 44px;
  border-radius: 50%;
  display: grid;
  place-items: center;
  color: #292a2c;
  background: var(--orange);
  border: 2px solid #ffc367;
  box-shadow: 0 0 0 4px rgba(255,157,19,.13);
  font-weight: 900;
}
.profile-block p { margin: 12px 0 8px; color: #d4d4d5; font-size: 13px; }
.profile-badges { display: flex; gap: 7px; margin-bottom: 12px; }
.status-badge, .vip-badge { display: inline-flex; align-items: center; min-height: 22px; padding: 0 8px; border-radius: 3px; font-size: 10px; font-weight: 900; letter-spacing: .7px; }
.status-badge { background: #55575b; color: #fff; }
.vip-badge { color: #1d1607; background: linear-gradient(90deg, #d89d25, #ffe29a, #d89d25); border: 1px solid #fff0bd; box-shadow: 0 0 16px rgba(255,211,109,.35); }
.dark-button, .primary-button {
  border: 0;
  min-height: 42px;
  padding: 0 17px;
  border-radius: 3px;
  color: white;
  font-weight: 900;
  letter-spacing: .2px;
  transition: transform .16s ease, filter .16s ease, box-shadow .16s ease;
}
.dark-button { background: #3b3c3e; border: 1px solid #58595c; }
.primary-button { background: linear-gradient(180deg, var(--orange-2), var(--orange)); color: #2b210f; border: 1px solid #ffc76f; box-shadow: inset 0 -2px 0 rgba(143,77,0,.25); }
.dark-button:hover, .primary-button:hover { filter: brightness(1.08); transform: translateY(-1px); }
.profile-block .dark-button { width: 100%; min-height: 36px; font-size: 11px; }
.side-nav { display: flex; flex-direction: column; }
.side-nav button {
  min-height: 57px;
  padding: 0 22px;
  border: 0;
  border-bottom: 1px solid #494a4d;
  background: transparent;
  color: #ededee;
  text-align: left;
  font-weight: 800;
  display: flex;
  gap: 18px;
  align-items: center;
  transition: background .2s, color .2s, padding .2s;
}
.side-nav button span { color: var(--orange); width: 18px; text-align: center; font-size: 18px; }
.side-nav button:hover, .side-nav button.active { background: #424345; color: #fff; padding-left: 27px; }
.side-nav button.active { box-shadow: inset 4px 0 0 var(--orange); }
.sidebar-bottom { margin-top: auto; padding: 18px; display: flex; gap: 10px; }
.round-action {
  width: 47px;
  height: 47px;
  border-radius: 50%;
  border: 2px solid var(--orange);
  color: white;
  background: #333436;
  font-size: 19px;
  box-shadow: 0 5px 18px rgba(0,0,0,.24);
}
.round-action:hover { background: var(--orange); color: #282019; }

.menu-main { min-width: 0; background: #2f3032; }
.hero-header {
  position: relative;
  min-height: 190px;
  overflow: hidden;
  display: grid;
  place-items: center;
  align-content: center;
  background:
    radial-gradient(circle at 35% 130%, rgba(255,255,255,.13) 0 130px, transparent 132px),
    radial-gradient(circle at 67% -50%, rgba(255,255,255,.12) 0 240px, transparent 242px),
    linear-gradient(115deg, #ff9510, #ffa51d 55%, #ff9410);
  border-bottom: 2px solid #cc7200;
  color: white;
}
.hero-header::after {
  content: '';
  position: absolute;
  inset: 0;
  background: repeating-linear-gradient(125deg, transparent 0 80px, rgba(255,255,255,.025) 82px 84px);
  pointer-events: none;
}
.hero-header h1 { margin: 1px 0 0; font-size: clamp(42px, 6vw, 66px); letter-spacing: 1px; text-shadow: 0 4px 8px rgba(0,0,0,.22); z-index: 1; }
.hero-header p { margin: 3px 0 0; font-weight: 900; letter-spacing: 2.8px; font-size: 12px; z-index: 1; }
.brand-mark { font-size: 46px; font-weight: 900; line-height: 1; z-index: 1; filter: drop-shadow(0 4px 3px rgba(0,0,0,.18)); }
.hamburger {
  position: absolute;
  left: 18px;
  top: 18px;
  width: 49px;
  height: 49px;
  border-radius: 50%;
  border: 2px solid rgba(58,42,17,.7);
  color: #3a2b17;
  background: rgba(255,255,255,.18);
  font-size: 23px;
  z-index: 3;
}
.hero-rune { display: none; position: absolute; font-weight: 900; letter-spacing: 9px; opacity: .12; font-size: 34px; }
.rune-left { left: 9%; top: 50%; transform: translateY(-50%) rotate(-8deg); }
.rune-right { right: 9%; top: 50%; transform: translateY(-50%) rotate(8deg); }

.menu-content, .info-section { max-width: 1130px; margin: 0 auto; padding: 0 22px 36px; }
.play-row { display: grid; grid-template-columns: minmax(260px, 1fr) 155px 150px; gap: 0; margin-top: -31px; position: relative; z-index: 5; box-shadow: var(--shadow); border: 3px solid #3c2b17; border-radius: 6px; overflow: hidden; }
.name-field input, .private-card input, .clan-forms input, .auth-form input, .vip-activation input, .select-label select {
  width: 100%;
  min-height: 58px;
  border: 0;
  outline: none;
  padding: 0 19px;
  background: #fff;
  color: #2c2c2e;
  font-size: 19px;
}
.name-field input:focus, .private-card input:focus, .clan-forms input:focus, .auth-form input:focus, .vip-activation input:focus { box-shadow: inset 0 0 0 3px rgba(255,157,19,.4); }
.skin-button {
  border: 0;
  border-left: 2px solid #4e3921;
  background: #38393b;
  color: white;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
}
.skin-preview { width: 40px; height: 40px; border-radius: 50%; display: grid; place-items: center; background: #2b8fdc; font-size: 22px; box-shadow: inset 0 0 0 3px rgba(255,255,255,.22); }
.skin-preview.trex { background: #8e2d12; }
.skin-preview.wolf { background: #69737f; }
.skin-preview.rune { background: #24252a; color: #efc667; }
.skin-preview.plain { background: #1d1e21; }
.skin-preview.odin, .skin-preview.thor, .skin-preview.bifrost { background: radial-gradient(circle, #ffefad, #8d5c05); box-shadow: 0 0 15px rgba(255,213,108,.65); }
.play-button { border-radius: 0; font-size: 16px; }
.server-summary {
  margin-top: 14px;
  min-height: 50px;
  background: #3b3c3e;
  border: 1px solid #4f5052;
  display: flex;
  align-items: center;
  padding-left: 16px;
  color: #f3f3f3;
  gap: 10px;
  font-size: 13px;
}
.status-dot { width: 11px; height: 11px; border-radius: 50%; background: #ff9d13; box-shadow: 0 0 10px #ff9d13; }
.separator { color: #77787b; }
.total-players { margin-left: auto; color: var(--orange); font-weight: 800; }
.spectate-button { align-self: stretch; border-radius: 0; margin-left: 8px; }
.main-tabs { display: grid; grid-template-columns: 1fr 1fr; margin-top: 15px; }
.main-tabs button, .region-tabs button, .mode-tabs button, .leaderboard-time-tabs button, .auth-tabs button {
  min-height: 46px;
  border: 1px solid #515255;
  background: #454648;
  color: #fff;
  font-weight: 900;
}
.main-tabs button.active, .region-tabs button.active, .mode-tabs button.active, .leaderboard-time-tabs button.active, .auth-tabs button.active { background: var(--orange); color: #2d210e; border-color: #ffc160; }
.dashboard-grid { display: grid; grid-template-columns: 1.05fr .95fr; gap: 13px; margin-top: 13px; }
.servers-panel, .leaderboard-panel, .private-card, .info-card { background: #363739; border: 1px solid #4a4b4e; box-shadow: 0 14px 30px rgba(0,0,0,.18); }
.region-tabs { display: grid; grid-template-columns: repeat(3, 1fr); }
.mode-tabs { display: flex; flex-wrap: wrap; }
.mode-tabs button { flex: 1 1 110px; min-height: 42px; font-size: 11px; }
.server-list { padding: 12px 14px 15px; min-height: 330px; }
.server-card {
  width: 100%;
  min-height: 64px;
  border: 1px solid #46474a;
  border-left: 4px solid transparent;
  background: #303133;
  color: white;
  margin-bottom: 8px;
  padding: 9px 14px;
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  text-align: left;
  transition: border .2s, transform .2s, background .2s;
}
.server-card:hover { transform: translateX(3px); background: #38393b; }
.server-card.selected { border-color: #9d6c2a; border-left-color: var(--orange); box-shadow: inset 0 0 0 1px rgba(255,157,19,.24); }
.server-card.vip-server { background: linear-gradient(90deg, rgba(173,117,20,.22), #303133 45%); }
.server-title { display: flex; gap: 8px; align-items: center; font-weight: 900; }
.server-meta { display: block; color: #aeb0b3; font-size: 11px; margin-top: 5px; }
.player-count { color: var(--orange); font-weight: 900; font-size: 13px; }
.lock-icon { color: #ffd46c; }
.leaderboard-heading { display: flex; align-items: center; justify-content: center; gap: 8px; min-height: 46px; background: #303133; border-bottom: 1px solid #525356; color: var(--orange); }
.leaderboard-time-tabs { display: grid; grid-template-columns: repeat(4, 1fr); }
.leaderboard-time-tabs button { min-height: 42px; font-size: 10px; }
.records-list { margin: 0; padding: 14px 18px 8px 49px; min-height: 272px; }
.records-list li { min-height: 35px; padding: 8px 7px; border-bottom: 1px solid #48494c; color: #f4f4f4; }
.records-list li::marker { color: var(--orange); font-weight: 900; }
.record-row { display: flex; justify-content: space-between; gap: 10px; }
.record-score { color: var(--orange); font-weight: 900; }
.leaderboard-note { text-align: center; color: #bebfc1; font-size: 11px; padding: 0 16px 16px; }
.private-panel { margin-top: 13px; }
.private-card { max-width: 610px; margin: 0 auto; padding: 30px; text-align: center; }
.private-card h2, .info-card h2 { color: var(--orange); margin: 8px 0; }
.private-card p { color: #c9c9ca; line-height: 1.5; }
.private-icon { font-size: 42px; }
.private-card input, .select-label select { min-height: 48px; margin-top: 10px; border-radius: 3px; }
.select-label { display: block; text-align: left; margin-top: 12px; color: #d7d7d8; font-size: 12px; font-weight: 800; }
.select-label select { margin-top: 6px; font-size: 14px; }
.private-actions { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; margin-top: 15px; }
.info-section { padding-top: 26px; }
.info-card { padding: 26px; min-height: 400px; }
.info-card > p { color: #c7c7c8; }
.large-number { font-size: 70px; color: var(--orange); font-weight: 900; margin: 15px 0; }
.community-list, .health-list { display: grid; gap: 8px; }
.community-item, .health-item { background: #2f3032; border: 1px solid #4d4e51; padding: 12px 14px; display: flex; align-items: center; justify-content: space-between; gap: 10px; }
.community-item strong, .health-item strong { color: #fff; }
.community-item span, .health-item span { color: #c4c5c7; font-size: 12px; }
.current-clan { background: #2e2f31; border-left: 4px solid var(--orange); padding: 13px; margin: 18px 0; }
.clan-forms { display: grid; grid-template-columns: 1fr 1fr; gap: 20px; }
.clan-forms > div { background: #303133; border: 1px solid #4b4c4f; padding: 16px; }
.clan-forms h3 { color: var(--orange); font-size: 13px; }
.clan-forms input { min-height: 42px; margin-bottom: 8px; font-size: 14px; }
.clan-forms button { width: 100%; margin-top: 6px; }
.clan-list { margin-top: 18px; }
.rules-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; margin: 18px 0; }
.rules-grid article, .mode-guide article { background: #303133; border: 1px solid #4a4b4e; border-left: 4px solid var(--orange); padding: 16px; }
.rules-grid h3, .mode-guide h3 { margin: 0 0 8px; color: var(--orange); }
.rules-grid p, .mode-guide p { margin: 0; color: #d2d2d3; line-height: 1.55; font-size: 13px; }
.mode-guide { display: grid; grid-template-columns: repeat(3, 1fr); gap: 10px; }
.mode-guide article { min-height: 150px; }
.mode-guide .vip-guide { border-left-color: #f2c861; background: linear-gradient(135deg, rgba(219,166,51,.16), #303133); }

.game-view { position: fixed; inset: 0; background: #f7fafc; overflow: hidden; z-index: 50; }
#gameCanvas { display: block; width: 100%; height: 100%; }
.game-top-left { position: absolute; left: 8px; top: 7px; display: flex; flex-wrap: wrap; gap: 7px; z-index: 4; max-width: calc(100% - 330px); }
.score-box, .mass-box, .performance-box, .special-theme-btn, .leave-game-btn {
  min-height: 42px;
  border: 3px solid rgba(255,157,19,.78);
  border-radius: 5px;
  background: rgba(67,68,70,.93);
  color: white;
  padding: 0 13px;
  display: flex;
  align-items: center;
  font-weight: 900;
  box-shadow: 0 2px 7px rgba(0,0,0,.28);
}
.mass-box { border-color: rgba(54,190,125,.78); }
.special-theme-btn { border-color: #ef3340; }
.leave-game-btn { border-color: rgba(255,255,255,.25); }
.mode-chip, .dual-chip {
  position: absolute;
  top: 58px;
  left: 8px;
  z-index: 4;
  background: rgba(30,31,33,.85);
  border-left: 4px solid var(--orange);
  padding: 8px 12px;
  font-size: 11px;
  font-weight: 900;
  letter-spacing: .7px;
  box-shadow: 0 4px 14px rgba(0,0,0,.24);
}
.dual-chip { top: 95px; border-left-color: #58b9ff; }
.live-leaderboard {
  position: absolute;
  right: 8px;
  top: 7px;
  width: 270px;
  max-height: 390px;
  overflow: hidden;
  background: rgba(255,255,255,.78);
  border-right: 14px solid rgba(255,157,19,.92);
  border-radius: 5px;
  color: #bd7100;
  z-index: 4;
  text-shadow: 0 1px #fff;
  backdrop-filter: blur(5px);
}
.live-leaderboard h2 { margin: 7px 12px 4px; text-align: center; color: #de8500; }
.live-leaderboard ol { margin: 0; padding: 0 8px 10px 38px; }
.live-leaderboard li { min-height: 26px; padding: 4px 3px; font-weight: 900; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.live-leaderboard li.self { color: #e54922; }
.live-leaderboard li.vip-live { color: #946300; text-shadow: 0 0 8px #ffe09a; }
.chat-box { position: absolute; left: 8px; bottom: 8px; width: min(500px, 44vw); z-index: 4; color: white; text-shadow: 0 1px 3px #000; }
.chat-messages { height: 180px; overflow: hidden; display: flex; flex-direction: column; justify-content: flex-end; gap: 3px; padding: 5px 7px; font-size: 13px; }
.chat-message.system { color: #91e7a5; }
.chat-message .vip-chat { color: #ffd567; font-weight: 900; }
.chat-entry { display: flex; height: 40px; border: 2px solid rgba(255,157,19,.8); background: rgba(58,59,61,.85); align-items: center; }
.chat-entry span { width: 34px; text-align: center; color: var(--orange); font-size: 24px; }
.chat-entry input { flex: 1; height: 100%; background: transparent; border: 0; outline: 0; color: white; padding: 0 9px; }
.minimap { position: absolute; right: 8px; bottom: 8px; width: 196px; height: 196px; border: 3px solid rgba(255,157,19,.65); background: rgba(80,81,83,.72); z-index: 4; }
.minimap canvas { width: 100%; height: 100%; }
.game-help { position: absolute; left: 50%; bottom: 10px; transform: translateX(-50%); display: flex; gap: 9px; z-index: 4; background: rgba(42,43,45,.7); padding: 7px 10px; border-radius: 4px; font-size: 10px; }
kbd { border: 1px solid rgba(255,255,255,.35); background: rgba(255,255,255,.1); border-radius: 3px; padding: 2px 5px; color: #fff; }
.mobile-controls { display: none; position: absolute; right: 15px; bottom: 220px; z-index: 5; gap: 8px; }
.mobile-controls button { width: 76px; height: 76px; border-radius: 50%; border: 3px solid rgba(255,157,19,.7); background: rgba(45,46,48,.78); color: #fff; font-size: 10px; font-weight: 900; }
.connection-state { position: absolute; left: 50%; top: 50%; transform: translate(-50%,-50%); background: rgba(45,46,48,.9); padding: 13px 18px; border: 2px solid var(--orange); z-index: 8; font-weight: 900; }

.modal-backdrop { position: fixed; inset: 0; background: rgba(10,11,13,.78); display: grid; place-items: center; padding: 18px; z-index: 100; backdrop-filter: blur(5px); }
.modal { position: relative; width: min(720px, 96vw); max-height: 92vh; overflow: auto; background: #3a3b3d; border: 2px solid #535457; box-shadow: 0 24px 70px rgba(0,0,0,.55); padding: 26px; }
.modal h2 { color: var(--orange); text-align: center; margin: 0 0 20px; }
.modal-close { position: absolute; right: 8px; top: 6px; width: 36px; height: 36px; border: 0; background: transparent; color: white; font-size: 28px; }
.skin-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 12px; }
.skin-grid button { min-height: 140px; background: #303133; border: 1px solid #55565a; color: white; display: grid; place-items: center; align-content: center; gap: 8px; }
.skin-grid button:hover, .skin-grid button.selected { border-color: var(--orange); box-shadow: inset 0 0 0 2px rgba(255,157,19,.25); }
.skin-grid button.locked { filter: grayscale(.8); opacity: .55; }
.skin-grid em { color: #ffd56c; font-size: 9px; font-style: normal; }
.big-skin { width: 76px; height: 76px; border-radius: 50%; display: grid; place-items: center; font-size: 41px; background: #278cca; box-shadow: inset 0 0 0 5px rgba(255,255,255,.2); }
.big-skin.trex { background: #8f2b10; }
.big-skin.wolf { background: #687480; }
.big-skin.rune { background: #1d1e22; color: #edc361; }
.big-skin.plain { background: #1d1e22; }
.big-skin.odin, .big-skin.thor, .big-skin.bifrost { background: radial-gradient(circle, #ffedb0, #946000); box-shadow: 0 0 23px rgba(255,211,103,.55), inset 0 0 0 5px rgba(255,255,255,.25); }
.auth-tabs { display: grid; grid-template-columns: 1fr 1fr; }
.auth-form { display: grid; gap: 10px; margin-top: 14px; }
.auth-form input, .vip-activation input { min-height: 48px; font-size: 14px; }
.account-summary { display: flex; align-items: center; gap: 18px; padding: 15px; background: #303133; border-left: 4px solid var(--orange); }
.account-crown { width: 68px; height: 68px; border-radius: 50%; background: var(--orange); color: #30230c; display: grid; place-items: center; font-size: 32px; }
.account-summary small { color: #aaa; }
.account-summary h3 { margin: 3px 0; font-size: 25px; }
.account-summary p { margin: 0; color: #c9c9ca; }
.account-stats { display: grid; grid-template-columns: repeat(5, 1fr); gap: 8px; margin: 14px 0; }
.account-stat { background: #303133; padding: 12px 8px; text-align: center; }
.account-stat strong { display: block; color: var(--orange); font-size: 21px; }
.account-stat span { font-size: 9px; color: #bbb; }
.vip-activation { border: 1px solid #8e6c2a; background: linear-gradient(135deg, rgba(242,196,94,.12), #303133); padding: 16px; margin: 12px 0; }
.vip-activation h3 { color: #ffd36a; margin: 0 0 5px; }
.vip-activation p { color: #d4d4d5; font-size: 12px; }
.vip-activation .primary-button { width: 100%; margin-top: 9px; }
.options-modal-card { max-width: 620px; }
.toggle-row { display: flex; justify-content: space-between; align-items: center; gap: 18px; background: #303133; border: 1px solid #4e4f52; padding: 14px; margin-bottom: 8px; }
.toggle-row span { display: grid; gap: 5px; }
.toggle-row small { color: #bfc0c2; line-height: 1.35; }
.toggle-row input { width: 46px; height: 24px; accent-color: var(--orange); }
.death-card { width: min(510px, 95vw); }
.stats-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 1px; background: #55565a; }
.stats-grid div { background: #353638; min-height: 76px; display: grid; place-items: center; align-content: center; }
.stats-grid strong { color: var(--orange); font-size: 26px; }
.stats-grid span { font-size: 11px; color: #e2e2e3; }
.modal-action { width: 100%; margin-top: 12px; }
.toast { position: fixed; left: 50%; bottom: 28px; transform: translate(-50%, 30px); opacity: 0; pointer-events: none; background: rgba(28,29,31,.95); color: white; border-left: 4px solid var(--orange); padding: 12px 18px; z-index: 200; transition: .25s; box-shadow: 0 10px 28px rgba(0,0,0,.35); }
.toast.show { opacity: 1; transform: translate(-50%, 0); }

/* Thème Asgard complet, réversible avec la classe body.asgard-theme. */
body.asgard-theme {
  --orange: #e5b84f;
  --orange-2: #f5d47d;
  --orange-dark: #8e6418;
  --panel: #1f2227;
  --panel-2: #292d33;
  --panel-3: #17191d;
  background: #111317;
}
body.asgard-theme .menu-view { background: radial-gradient(circle at 62% 20%, #272216 0, #16191e 44%, #101216 100%); }
body.asgard-theme .sidebar {
  background:
    linear-gradient(rgba(255,255,255,.025), rgba(255,255,255,.005)),
    repeating-linear-gradient(0deg, #1c1f24 0 7px, #191c20 8px 14px);
  border-right-color: #765923;
  box-shadow: 7px 0 25px rgba(0,0,0,.48), inset -1px 0 rgba(239,197,95,.2);
}
body.asgard-theme .sidebar::before { content: ''; position: absolute; inset: 0 0 auto 0; height: 5px; background: linear-gradient(90deg, #745112, #f4d37a, #745112); }
body.asgard-theme .avatar-orb { background: radial-gradient(circle, #f7dd8f, #8c5e0d 72%); border-color: #ffe8a9; box-shadow: 0 0 22px rgba(237,192,83,.44); }
body.asgard-theme .side-nav button { border-bottom-color: rgba(224,184,82,.16); }
body.asgard-theme .side-nav button:hover, body.asgard-theme .side-nav button.active { background: linear-gradient(90deg, rgba(229,184,79,.16), rgba(255,255,255,.02)); }
body.asgard-theme .round-action { background: #17191d; box-shadow: 0 0 16px rgba(229,184,79,.18); }
body.asgard-theme .hero-header {
  background:
    radial-gradient(circle at 50% 18%, rgba(245,211,125,.2), transparent 28%),
    linear-gradient(rgba(7,9,12,.08), rgba(7,9,12,.76)),
    repeating-linear-gradient(105deg, #6f5727 0 65px, #4e3d1f 67px 69px, #2d2a25 70px 138px);
  border-bottom: 3px solid #b08735;
  box-shadow: inset 0 -35px 70px #111317, 0 8px 26px rgba(0,0,0,.4);
}
body.asgard-theme .hero-header::before {
  content: '';
  position: absolute;
  width: 370px;
  height: 370px;
  border: 2px solid rgba(242,207,113,.14);
  border-radius: 50%;
  box-shadow: 0 0 0 20px rgba(242,207,113,.025), 0 0 0 48px rgba(242,207,113,.018), inset 0 0 70px rgba(242,207,113,.08);
}
body.asgard-theme .hero-header h1 { color: #f8e4a7; text-shadow: 0 0 15px rgba(238,198,93,.38), 0 5px 8px #000; }
body.asgard-theme .hero-header p { color: #e0c57a; }
body.asgard-theme .brand-mark { color: #f0ca68; animation: asgardPulse 2.8s ease-in-out infinite; }
body.asgard-theme .hero-rune { display: block; color: #f4d47d; }
body.asgard-theme .hamburger { color: #f2cf72; border-color: #b18432; background: rgba(14,16,19,.55); }
body.asgard-theme .menu-main { background: transparent; }
body.asgard-theme .play-row { border-color: #b68a32; box-shadow: 0 0 0 1px rgba(255,226,144,.12), 0 20px 45px rgba(0,0,0,.52); }
body.asgard-theme .name-field input { background: #f4efe2; color: #26231e; }
body.asgard-theme .skin-button { background: #202328; border-left-color: #8a6826; }
body.asgard-theme .server-summary, body.asgard-theme .servers-panel, body.asgard-theme .leaderboard-panel, body.asgard-theme .private-card, body.asgard-theme .info-card, body.asgard-theme .modal {
  background:
    linear-gradient(135deg, rgba(231,187,83,.035), transparent 45%),
    #1d2025;
  border-color: #5d4b27;
  box-shadow: 0 17px 38px rgba(0,0,0,.34), inset 0 0 0 1px rgba(255,222,135,.025);
}
body.asgard-theme .main-tabs button, body.asgard-theme .region-tabs button, body.asgard-theme .mode-tabs button, body.asgard-theme .leaderboard-time-tabs button, body.asgard-theme .auth-tabs button { background: #25292f; border-color: #4e442f; }
body.asgard-theme .main-tabs button.active, body.asgard-theme .region-tabs button.active, body.asgard-theme .mode-tabs button.active, body.asgard-theme .leaderboard-time-tabs button.active, body.asgard-theme .auth-tabs button.active { background: linear-gradient(180deg, #efd37e, #b9872a); color: #201805; }
body.asgard-theme .server-card, body.asgard-theme .community-item, body.asgard-theme .health-item, body.asgard-theme .rules-grid article, body.asgard-theme .mode-guide article, body.asgard-theme .clan-forms > div, body.asgard-theme .account-summary, body.asgard-theme .account-stat, body.asgard-theme .toggle-row { background: #171a1f; border-color: #443a27; }
body.asgard-theme .server-card.selected { border-color: #d0a74c; box-shadow: inset 0 0 25px rgba(229,184,79,.08); }
body.asgard-theme .server-card.vip-server { background: linear-gradient(90deg, rgba(229,184,79,.18), #171a1f 54%); }
body.asgard-theme .leaderboard-heading { background: #14171b; }
body.asgard-theme .vip-badge { animation: vipShine 3.2s linear infinite; background-size: 220% 100%; }
body.asgard-theme .private-card input, body.asgard-theme .clan-forms input, body.asgard-theme .auth-form input, body.asgard-theme .vip-activation input, body.asgard-theme .select-label select { background: #ece5d4; }
body.asgard-theme .round-action:hover { color: #151719; }

body.game-dark .game-view { background: #070a10; }
body.game-dark .live-leaderboard { background: rgba(14,17,23,.78); color: #ffd365; text-shadow: 0 0 8px rgba(255,196,72,.33); border-right-color: #d8971c; }
body.game-dark .live-leaderboard h2 { color: #ffd365; }
body.game-dark .chat-box { text-shadow: 0 0 5px #000; }
body.game-dark .minimap { background: rgba(8,11,16,.82); border-color: rgba(232,185,75,.8); box-shadow: 0 0 18px rgba(229,184,79,.25); }
body.game-dark .special-theme-btn { border-color: #e6bb54; box-shadow: 0 0 13px rgba(229,184,79,.28); }

body.performance-mode *, body.performance-mode *::before, body.performance-mode *::after { animation: none !important; backdrop-filter: none !important; }
body.performance-mode .hero-header::before, body.performance-mode .hero-rune { display: none !important; }

@keyframes asgardPulse { 0%,100% { transform: scale(1); filter: drop-shadow(0 0 5px rgba(240,202,104,.2)); } 50% { transform: scale(1.06); filter: drop-shadow(0 0 17px rgba(240,202,104,.62)); } }
@keyframes vipShine { 0% { background-position: 200% 0; } 100% { background-position: -20% 0; } }

@media (max-width: 1000px) {
  .menu-view { grid-template-columns: 1fr; }
  .sidebar { position: fixed; left: 0; top: 0; width: 275px; transform: translateX(-105%); transition: transform .25s; }
  .sidebar.open { transform: translateX(0); }
  .dashboard-grid { grid-template-columns: 1fr; }
  .mode-guide { grid-template-columns: 1fr 1fr; }
  .live-leaderboard { width: 235px; }
  .game-help { display: none; }
}

@media (max-width: 700px) {
  .hero-header { min-height: 150px; }
  .hero-header h1 { font-size: 39px; }
  .hero-header p { font-size: 9px; letter-spacing: 1.4px; }
  .play-row { grid-template-columns: 1fr 110px; margin-top: -20px; }
  .play-button { grid-column: 1 / -1; min-height: 50px; }
  .server-summary { flex-wrap: wrap; padding: 9px; }
  .total-players { margin-left: 0; }
  .spectate-button { margin-left: auto; min-height: 38px; }
  .leaderboard-time-tabs { grid-template-columns: repeat(2, 1fr); }
  .private-actions, .clan-forms, .rules-grid { grid-template-columns: 1fr; }
  .mode-guide { grid-template-columns: 1fr; }
  .skin-grid { grid-template-columns: repeat(2, 1fr); }
  .account-stats { grid-template-columns: repeat(2, 1fr); }
  .game-top-left { max-width: calc(100% - 155px); gap: 4px; }
  .score-box, .mass-box, .performance-box, .special-theme-btn, .leave-game-btn { min-height: 34px; font-size: 9px; padding: 0 7px; border-width: 2px; }
  .live-leaderboard { width: 145px; font-size: 10px; border-right-width: 8px; }
  .live-leaderboard h2 { font-size: 14px; }
  .chat-box { width: calc(100% - 16px); bottom: 5px; }
  .chat-messages { height: 110px; font-size: 10px; padding-right: 155px; }
  .minimap { width: 135px; height: 135px; bottom: 52px; }
  .mobile-controls { display: flex; right: 12px; bottom: 200px; flex-direction: column; }
  .mobile-controls button { width: 62px; height: 62px; }
  .mode-chip { top: 80px; font-size: 9px; }
  .dual-chip { top: 113px; font-size: 9px; }
}

/* ==============================
   V4 — ergonomie, clans et HUD
   ============================== */
.danger-button {
  min-height: 42px;
  padding: 0 17px;
  border-radius: 3px;
  border: 1px solid #ff7b83;
  background: linear-gradient(180deg, #df4650, #a91f29);
  color: #fff;
  font-weight: 900;
  cursor: pointer;
}
.danger-button:hover { filter: brightness(1.08); transform: translateY(-1px); }

.hero-header {
  min-height: 224px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  gap: 2px;
  padding: 20px 80px 38px;
}
.hero-header h1 { line-height: 1; margin: 4px 0 5px; }
.hero-header p { position: relative; margin: 0; line-height: 1.35; text-align: center; }
.play-row { margin-top: -29px; }

@media (min-width: 1001px) {
  .menu-view, .sidebar { transition: grid-template-columns .24s ease, transform .24s ease, opacity .2s ease; }
  body.sidebar-collapsed .menu-view { grid-template-columns: 0 minmax(0, 1fr); }
  body.sidebar-collapsed .sidebar { transform: translateX(-105%); opacity: 0; pointer-events: none; }
}

.clan-title-row, .clan-directory-heading, .my-clan-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
}
.clan-title-row p { margin: 4px 0 0; color: #c7c7c8; line-height: 1.45; }
.clan-title-row .dark-button { min-width: 125px; }
.clan-auth-notice {
  margin: 12px 0 18px;
  padding: 13px 15px;
  border: 1px dashed #747578;
  background: rgba(255,255,255,.035);
  color: #d3d3d4;
}
.my-clan-panel {
  margin-top: 18px;
  padding: 18px;
  border: 1px solid #5b4b2b;
  background: linear-gradient(135deg, rgba(255,157,19,.08), #292a2c 55%);
}
.my-clan-header small { color: #aeb0b3; letter-spacing: 1.3px; }
.my-clan-header h3 { margin: 3px 0; color: var(--orange); font-size: 25px; }
.my-clan-header p { margin: 0; color: #d4d4d5; }
.my-clan-actions { display: flex; gap: 8px; flex-wrap: wrap; justify-content: flex-end; }
.clan-management-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; margin-top: 18px; }
.clan-management-grid > div { min-width: 0; }
.clan-management-grid h3, .clan-directory-heading h3 { color: var(--orange); font-size: 13px; letter-spacing: .7px; }
.clan-member-list, .clan-request-list, .pending-clan-requests { display: grid; gap: 7px; }
.clan-member-row, .clan-request-row, .pending-request-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  min-height: 48px;
  padding: 9px 11px;
  border: 1px solid #4d4e51;
  background: #242527;
}
.clan-member-row small, .clan-request-row small, .pending-request-row small { color: #afb0b2; }
.clan-member-actions, .clan-request-actions { display: flex; gap: 6px; flex-wrap: wrap; justify-content: flex-end; }
.clan-member-actions button, .clan-request-actions button, .pending-request-row button {
  min-height: 30px;
  padding: 0 9px;
  border: 1px solid #626367;
  border-radius: 3px;
  background: #3a3b3e;
  color: #fff;
  font-size: 10px;
  font-weight: 900;
}
.clan-request-actions .accept { border-color: #4ac27e; background: #17663b; }
.clan-request-actions .reject, .clan-member-actions .kick { border-color: #d15b63; background: #71272d; }
.clan-directory-heading { margin-top: 22px; border-bottom: 1px solid #4c4d50; }
.clan-directory-heading span { color: #bfc0c2; font-size: 12px; }
.clan-list .community-item { min-height: 60px; }

.game-top-left { max-width: calc(100% - 245px); }
.live-leaderboard {
  width: 218px;
  max-height: 286px;
  background: rgba(20, 23, 28, .56);
  border: 1px solid rgba(255,255,255,.16);
  border-right: 6px solid rgba(255,157,19,.78);
  color: #fff;
  text-shadow: 0 1px 3px #000;
  backdrop-filter: blur(6px);
  box-shadow: 0 7px 20px rgba(0,0,0,.18);
}
.live-leaderboard h2 { margin: 6px 9px 3px; font-size: 15px; color: #ffc35f; }
.live-leaderboard ol { padding: 0 6px 7px 30px; }
.live-leaderboard li { min-height: 20px; padding: 2px 2px; font-size: 12px; font-weight: 800; }
.live-leaderboard li span { float: right; margin-left: 6px; color: #ffd27b; }
body.game-dark .live-leaderboard { background: rgba(8,11,16,.55); border-right-color: rgba(229,184,79,.8); }

.minimap {
  width: 176px;
  height: 176px;
  overflow: hidden;
  border-width: 2px;
  border-radius: 4px;
}
.minimap-title {
  position: absolute;
  left: 0;
  right: 0;
  top: 0;
  z-index: 2;
  height: 21px;
  display: grid;
  place-items: center;
  background: rgba(20,22,25,.75);
  color: rgba(255,255,255,.8);
  font-size: 8px;
  font-weight: 900;
  letter-spacing: .8px;
  pointer-events: none;
}
.minimap canvas { display: block; }

@media (max-width: 1000px) {
  .hero-header { min-height: 205px; padding-bottom: 34px; }
  .clan-management-grid { grid-template-columns: 1fr; }
}
@media (max-width: 700px) {
  .hero-header { min-height: 178px; padding: 18px 60px 29px; }
  .play-row { margin-top: -20px; }
  .clan-title-row, .my-clan-header { align-items: stretch; flex-direction: column; }
  .my-clan-actions { justify-content: stretch; }
  .my-clan-actions button { flex: 1; }
  .live-leaderboard { width: 138px; max-height: 220px; }
  .live-leaderboard h2 { font-size: 12px; }
  .live-leaderboard li { font-size: 9px; min-height: 16px; }
  .minimap { width: 128px; height: 128px; }
}

/* V5 — interface de clan avancée */
.incoming-clan-invites { display: grid; gap: 9px; margin: 10px 0; }
.incoming-invite-card {
  --clan-color: var(--orange);
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 12px 14px;
  border: 1px solid color-mix(in srgb, var(--clan-color) 60%, #5b5b5b);
  border-left: 5px solid var(--clan-color);
  background: rgba(255,255,255,.045);
}
.incoming-invite-card span { color: #bfc0c3; font-size: 12px; }
.incoming-invite-card > div:last-child { display: flex; gap: 7px; }
.incoming-invite-card button {
  min-height: 32px;
  border: 1px solid #636468;
  border-radius: 3px;
  padding: 0 11px;
  color: #fff;
  font-weight: 900;
  font-size: 11px;
}
.incoming-invite-card .accept { background: #17663b; border-color: #4ac27e; }
.incoming-invite-card .reject { background: #71272d; border-color: #d15b63; }
#myClanHeader { border-left: 5px solid var(--clan-color, var(--orange)); padding-left: 12px; }
.clan-overview { margin-top: 17px; display: grid; gap: 10px; }
.clan-description, .clan-notice {
  padding: 11px 13px;
  border: 1px solid #484a4d;
  background: rgba(0,0,0,.16);
  line-height: 1.45;
}
.clan-notice b { color: var(--orange); }
.clan-stat-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 8px; }
.clan-stat-grid > div {
  min-height: 69px;
  display: grid;
  place-items: center;
  align-content: center;
  border: 1px solid #4b4c50;
  background: #242527;
}
.clan-stat-grid strong { color: var(--orange); font-size: 20px; }
.clan-stat-grid span { color: #bfc0c2; font-size: 10px; text-transform: uppercase; letter-spacing: .8px; }
.online-dot { display: inline-block; width: 8px; height: 8px; margin-right: 7px; border-radius: 50%; background: #6d6e72; box-shadow: 0 0 0 2px rgba(255,255,255,.06); }
.online-dot.online { background: #42d47a; box-shadow: 0 0 8px rgba(66,212,122,.85); }
.clan-invite-manager { display: grid; grid-template-columns: 1fr auto; gap: 7px; margin: 10px 0; }
.clan-invite-manager input, .clan-search, .clan-chat-compose input,
.clan-settings-grid input, .clan-settings-grid select, .clan-settings-grid textarea {
  width: 100%;
  min-height: 40px;
  border: 0;
  outline: 0;
  padding: 10px 12px;
  background: #f3f3f3;
  color: #222;
  font: inherit;
}
.clan-invite-manager button { min-width: 105px; }
.clan-settings-panel, .clan-chat-panel {
  margin-top: 18px;
  padding: 15px;
  border: 1px solid #4c4d50;
  background: rgba(0,0,0,.11);
}
.clan-settings-panel h3, .clan-chat-panel h3 { margin-top: 0; color: var(--orange); font-size: 13px; letter-spacing: .8px; }
.clan-settings-grid { display: grid; grid-template-columns: 1.3fr .55fr 1fr; gap: 10px; }
.clan-settings-grid label { display: grid; gap: 5px; color: #c9cacc; font-size: 11px; font-weight: 800; text-transform: uppercase; }
.clan-settings-grid label.wide { grid-column: 1 / -1; }
.clan-settings-grid textarea { resize: vertical; min-height: 62px; }
.clan-settings-grid input[type="color"] { padding: 4px; }
#saveClanSettingsBtn { margin-top: 10px; }
.clan-chat-messages {
  height: 220px;
  overflow-y: auto;
  display: grid;
  align-content: start;
  gap: 6px;
  padding: 8px;
  border: 1px solid #45464a;
  background: #1d1e20;
}
.clan-chat-line {
  display: grid;
  grid-template-columns: minmax(70px, auto) 1fr auto;
  gap: 9px;
  align-items: start;
  padding: 8px 9px;
  border-bottom: 1px solid rgba(255,255,255,.07);
}
.clan-chat-line strong { color: var(--orange); }
.clan-chat-line span { overflow-wrap: anywhere; }
.clan-chat-line small { color: #8f9093; }
.clan-chat-compose { display: grid; grid-template-columns: 1fr auto; gap: 8px; margin-top: 8px; }
.clan-search { margin-top: 12px; background: #e8e8e8; }
.clan-directory-card { border-left: 4px solid var(--clan-color, var(--orange)); }
.clan-directory-card > div:first-child { min-width: 0; }
.clan-directory-card span { display: inline-block; max-width: 760px; color: #bfc0c2; line-height: 1.4; }
.clan-directory-score { display: grid; justify-items: end; min-width: 85px; }
.clan-directory-score strong { color: var(--clan-color, var(--orange)); }
.clan-directory-score small { color: #a9aaad; font-size: 9px; text-transform: uppercase; }
.community-item.compact { min-height: 40px; padding: 8px 10px; }

@media (max-width: 760px) {
  .clan-stat-grid { grid-template-columns: 1fr 1fr; }
  .clan-settings-grid { grid-template-columns: 1fr; }
  .clan-settings-grid label.wide { grid-column: auto; }
  .clan-chat-line { grid-template-columns: 1fr auto; }
  .clan-chat-line span { grid-column: 1 / -1; }
  .incoming-invite-card { align-items: stretch; flex-direction: column; }
}

/* V7 — nourriture Insta renforcée et moteur ultra-fluide */
.home-clan-leaderboard-panel {
  margin-top: 13px;
  background: #363739;
  border: 1px solid #4a4b4e;
  box-shadow: 0 14px 30px rgba(0,0,0,.18);
}
.home-clan-heading {
  min-height: 48px;
  padding: 0 15px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  background: #303133;
  border-bottom: 1px solid #525356;
}
.home-clan-heading > div { display: flex; align-items: center; gap: 9px; color: var(--orange); }
.home-clan-heading small { color: #aeb0b3; font-size: 10px; letter-spacing: .45px; text-align: right; }
.home-clan-leaderboard { display: grid; gap: 7px; padding: 11px 13px 13px; }
.home-clan-row {
  --clan-color: var(--orange);
  min-height: 56px;
  display: grid;
  grid-template-columns: 38px minmax(0, 1fr) auto;
  align-items: center;
  gap: 11px;
  padding: 8px 12px;
  background: #303133;
  border: 1px solid #46474a;
  border-left: 4px solid var(--clan-color);
}
.home-clan-rank {
  width: 30px;
  height: 30px;
  display: grid;
  place-items: center;
  border-radius: 50%;
  color: #20170a;
  background: linear-gradient(180deg, color-mix(in srgb, var(--clan-color) 68%, #fff), var(--clan-color));
  font-weight: 900;
  box-shadow: 0 0 12px color-mix(in srgb, var(--clan-color) 34%, transparent);
}
.home-clan-name { min-width: 0; }
.home-clan-name strong { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.home-clan-name small { display: block; margin-top: 4px; color: #aeb0b3; font-size: 10px; }
.home-clan-power { display: grid; justify-items: end; min-width: 88px; }
.home-clan-power strong { color: var(--clan-color); font-size: 18px; }
.home-clan-power small { color: #aeb0b3; font-size: 8px; text-transform: uppercase; letter-spacing: .8px; }
.home-clan-empty { padding: 18px; text-align: center; color: #bfc0c2; }

body.asgard-theme .home-clan-leaderboard-panel { background: #171a1f; border-color: #443a27; }
body.asgard-theme .home-clan-heading { background: #14171b; border-color: #443a27; }
body.asgard-theme .home-clan-row { background: #171a1f; border-color: #443a27; }

.live-leaderboard ol { margin: 0; padding: 0 7px 7px 25px; }
.live-leaderboard li {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: 6px;
  text-shadow: none;
}
.live-leaderboard li::marker { color: rgba(255,255,255,.72); }
.live-leaderboard .leader-name {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  float: none;
  margin: 0;
  color: inherit;
}
.live-leaderboard .leader-mass {
  float: none;
  margin: 0;
  color: #ffd27b;
  font-variant-numeric: tabular-nums;
}
.live-vip-badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 27px;
  height: 15px;
  margin-right: 5px;
  padding: 0 5px;
  border-radius: 8px;
  border: 1px solid #e9bd4f;
  background: rgba(13,15,20,.88);
  color: #ffe49a;
  font-size: 8px;
  font-style: normal;
  font-weight: 900;
  line-height: 1;
  letter-spacing: .55px;
  box-shadow: 0 0 7px rgba(234,187,73,.18);
  vertical-align: 1px;
}
.live-leaderboard li.vip-live { color: #fff0bd; text-shadow: 0 1px 2px #000; }
.live-leaderboard li.bot-live .leader-name { color: #d2d5d9; font-style: italic; }
body.game-dark .live-leaderboard li.vip-live { color: #ffe7a8; }
body.game-dark .live-vip-badge { background: rgba(5,7,11,.94); box-shadow: 0 0 8px rgba(234,187,73,.22); }

@media (max-width: 700px) {
  .home-clan-heading { align-items: flex-start; flex-direction: column; padding-top: 10px; padding-bottom: 10px; }
  .home-clan-heading small { text-align: left; }
  .home-clan-row { grid-template-columns: 32px minmax(0, 1fr) auto; padding-left: 8px; padding-right: 8px; }
  .home-clan-rank { width: 26px; height: 26px; font-size: 11px; }
  .home-clan-name small { display: none; }
  .home-clan-power { min-width: 68px; }
  .home-clan-power strong { font-size: 14px; }
  .live-vip-badge { min-width: 22px; height: 12px; padding: 0 3px; font-size: 6px; margin-right: 3px; }
}

/* V8 — comptes sécurisés et Discord */
.auth-separator { display: flex; align-items: center; gap: 12px; margin: 16px 0 12px; color: #9fa0a4; font-size: 11px; font-weight: 800; letter-spacing: .14em; }
.auth-separator::before, .auth-separator::after { content: ''; height: 1px; flex: 1; background: #55575c; }
.discord-button, .discord-link-button { display: flex; align-items: center; justify-content: center; width: 100%; min-height: 46px; border: 1px solid #7d8cff; background: #5865f2; color: #fff; font-weight: 900; text-decoration: none; cursor: pointer; margin-top: 8px; transition: transform .15s ease, filter .15s ease; }
.discord-button:hover, .discord-link-button:hover { filter: brightness(1.08); transform: translateY(-1px); }
.discord-link-button { background: #303237; border-color: #61646d; }
.auth-security-note { margin: 12px 0 0; color: #aeb0b5; font-size: 11px; line-height: 1.45; }
.account-security-panel { margin-top: 12px; padding: 15px; border: 1px solid #53555a; background: #2c2e31; }
.account-security-panel h3 { margin: 0 0 6px; color: #ffb13b; }
.account-security-panel p { margin: 0 0 8px; color: #c8c9cd; font-size: 12px; }
.compact-auth-form { margin-top: 10px; }
.compact-auth-form .dark-button { width: 100%; }
body.asgard-theme .account-security-panel { background: #171a1f; border-color: #443a27; }

/* === V9 : VIP SHOP & ADMIN === */
.admin-badge{display:inline-flex;align-items:center;justify-content:center;padding:4px 8px;border:1px solid #ff7d69;border-radius:999px;background:rgba(98,24,15,.82);color:#fff0e7;font-size:.72rem;font-weight:900;letter-spacing:.08em;box-shadow:0 0 14px rgba(255,90,60,.22)}
.admin-nav-button{background:linear-gradient(90deg,rgba(118,31,20,.35),transparent)!important;border-left:3px solid #ff7d69!important}
.vip-shop-card,.admin-dashboard-card{max-width:1180px;margin:0 auto}
.vip-shop-hero,.admin-title-row{display:flex;align-items:center;justify-content:space-between;gap:22px;padding:22px 24px;border:1px solid rgba(255,157,19,.35);background:linear-gradient(135deg,rgba(255,157,19,.15),rgba(18,19,22,.12))}
.vip-shop-hero h2,.admin-title-row h2{margin:4px 0 6px}.vip-shop-hero p,.admin-title-row p{margin:0;color:#c8c8c8}.vip-shop-crown{font-size:4.5rem;color:#ffc35c;filter:drop-shadow(0 0 18px rgba(255,157,19,.35))}
.vip-benefits-grid,.admin-summary-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:18px 0}.vip-benefits-grid article,.admin-summary-grid>div{min-height:94px;padding:17px;border:1px solid #494a4e;background:#303135;display:flex;flex-direction:column;justify-content:center}.vip-benefits-grid strong,.admin-summary-grid strong{color:#ffab2e;font-size:1.45rem}.vip-benefits-grid span,.admin-summary-grid span{color:#c8c8c8;font-size:.86rem;margin-top:4px}
.vip-security-note{padding:15px 18px;border-left:4px solid #66c77a;background:rgba(33,112,52,.13);color:#d7e6d9;line-height:1.55}
.vip-plans-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin:22px 0}.vip-plan-card{padding:22px;border:1px solid rgba(255,172,47,.55);background:linear-gradient(160deg,#383124,#252629);box-shadow:0 14px 32px rgba(0,0,0,.22)}.vip-plan-card.disabled{opacity:.65}.vip-plan-card h3{font-size:1.4rem;margin:6px 0}.vip-plan-price{display:block;font-size:2.35rem;color:#ffae32;margin:6px 0}.vip-plan-card p{color:#d1d1d1;min-height:42px}.paypal-button{display:flex;align-items:center;justify-content:center;width:100%;min-height:48px;border:0;text-decoration:none;background:#0070ba;color:#fff;font-weight:900;border-radius:4px;cursor:pointer}.paypal-button:hover{filter:brightness(1.08)}.paypal-button:disabled{cursor:not-allowed;filter:grayscale(1)}
.vip-purchase-panel,.vip-purchase-history,.admin-panel-section{margin-top:20px;padding:20px;border:1px solid #48494d;background:#303135}.vip-purchase-form{display:grid;grid-template-columns:1fr 1.25fr 1.4fr auto;gap:10px}.vip-purchase-form input,.vip-purchase-form select,.admin-dashboard input,.admin-dashboard select,.admin-dashboard textarea{width:100%;border:1px solid #55565b;background:#f6f6f6;color:#171717;padding:12px 13px;outline:none}.vip-purchase-form input:focus,.vip-purchase-form select:focus,.admin-dashboard input:focus,.admin-dashboard textarea:focus{border-color:#ff9d13;box-shadow:0 0 0 2px rgba(255,157,19,.18)}
.vip-history-row{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:13px;border:1px solid #4a4b4f;background:#292a2d;margin-top:9px}.vip-history-row div{display:flex;flex-direction:column;gap:3px}.vip-history-row small{color:#aaa}.vip-history-row>span{font-weight:900;font-size:.76rem;padding:5px 8px;border-radius:4px}.vip-history-row.status-pending>span{background:#6d4d13;color:#ffd894}.vip-history-row.status-approved>span{background:#1d6334;color:#bff4ce}.vip-history-row.status-rejected>span{background:#6c2525;color:#ffd0d0}
.admin-title-row{border-color:rgba(255,93,69,.4);background:linear-gradient(135deg,rgba(126,32,19,.2),rgba(18,19,22,.1))}.admin-unlock-panel{max-width:620px;margin:26px auto;padding:26px;border:1px solid #5f403a;background:#302623}.admin-unlock-panel h3{color:#ff8b76}.admin-unlock-form{display:grid;grid-template-columns:1fr auto;gap:10px}.admin-dashboard{margin-top:20px}.admin-summary-grid{grid-template-columns:repeat(6,minmax(0,1fr))}.admin-summary-grid>div{min-height:82px;border-color:#4e4542}.admin-tools-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.admin-tools-grid>section{padding:18px;border:1px solid #48494d;background:#303135}.admin-tools-grid h3{margin-top:0}.admin-tools-grid button{width:100%;margin-top:10px}.admin-inline-fields{display:grid;grid-template-columns:1fr 1fr;gap:8px}.admin-secret-output{white-space:pre-wrap;word-break:break-all;min-height:52px;margin:10px 0 0;padding:10px;border:1px dashed #756347;background:#1d1e20;color:#ffd993}.admin-compact-list{margin-top:10px;max-height:110px;overflow:auto}.admin-compact-list>div{padding:6px 0;border-bottom:1px solid #444;display:flex;flex-direction:column}.admin-compact-list small{color:#999}
.admin-section-heading{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-bottom:12px}.admin-section-heading h3{margin:0}.admin-section-heading small{color:#aaa}.admin-section-heading input{max-width:280px}.admin-list{display:grid;gap:8px}.admin-row{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:12px 13px;border:1px solid #494a4e;background:#292a2d}.admin-row>div:first-child{min-width:0}.admin-row strong{display:block;word-break:break-word}.admin-row small{display:block;color:#aaa;margin-top:4px}.admin-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:6px}.admin-actions button{border:1px solid #696a6f;background:#414247;color:#fff;padding:7px 9px;font-weight:800;font-size:.72rem;cursor:pointer}.admin-actions button:hover{border-color:#ff9d13}.admin-actions button.danger{border-color:#83453d;background:#5c2a25}.admin-protected{color:#ffb19f;font-weight:800}.purchase-pending{border-left:4px solid #d6952e}.purchase-approved{border-left:4px solid #44a967}.purchase-rejected{border-left:4px solid #a64c4c}.admin-audit-list{max-height:370px;overflow:auto;border:1px solid #46474b;background:#242528}.admin-audit-list>div{display:grid;grid-template-columns:190px 145px 1fr;gap:12px;padding:9px 11px;border-bottom:1px solid #393a3e;font-size:.8rem}.admin-audit-list span{color:#999}.admin-audit-list code{color:#c9c9c9;white-space:normal;word-break:break-word}.live-admin-badge{display:inline-flex;align-items:center;margin-right:5px;padding:1px 4px;border:1px solid #ff7d69;border-radius:3px;background:rgba(98,24,15,.88);color:#fff0e7;font-style:normal;font-size:.65em;vertical-align:middle}.admin-live .leader-name,.admin-chat{color:#ff9a86!important;text-shadow:0 0 8px rgba(255,96,70,.25)}

@media (max-width:980px){.vip-benefits-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.admin-summary-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.admin-tools-grid{grid-template-columns:1fr}.vip-purchase-form{grid-template-columns:1fr 1fr}.vip-purchase-form button{grid-column:1/-1}.admin-row{align-items:flex-start;flex-direction:column}.admin-actions{justify-content:flex-start}.admin-audit-list>div{grid-template-columns:1fr}.admin-section-heading{align-items:flex-start;flex-direction:column}.admin-section-heading input{max-width:none}}
@media (max-width:620px){.vip-plans-grid,.vip-benefits-grid,.admin-summary-grid{grid-template-columns:1fr}.vip-purchase-form,.admin-unlock-form{grid-template-columns:1fr}.vip-shop-hero,.admin-title-row{align-items:flex-start}.vip-shop-crown{font-size:3rem}.admin-actions button{flex:1 1 120px}}

/* === V10 : COMPTES, PROFIL ET VALIDATION SANS RECHARGEMENT === */
.account-modal-v10{width:min(720px,94vw);max-height:92vh;overflow:auto}.account-modal-v10 .auth-form{gap:9px}.field-label{display:block;margin:5px 0 -4px;font-size:.73rem;font-weight:900;letter-spacing:.08em;color:#5d6675;text-transform:uppercase}.field-label span{font-weight:600;text-transform:none;letter-spacing:0;color:#8992a0}.password-field{position:relative;display:flex;align-items:center}.password-field input{width:100%;padding-right:48px}.password-toggle{position:absolute;right:5px;width:38px;height:34px;border:0;border-radius:8px;background:transparent;cursor:pointer;font-size:1rem}.password-toggle:hover{background:rgba(255,157,19,.13)}.form-message{min-height:19px;font-size:.82rem;font-weight:700;line-height:1.35}.form-message.success{color:#148044}.form-message.error{color:#bd2637}.registration-intro{display:flex;flex-direction:column;gap:3px;padding:11px 13px;border-left:4px solid #ff9d13;background:rgba(255,157,19,.08);border-radius:7px}.registration-intro strong{font-size:.86rem}.registration-intro span,.field-hint,.panel-help{font-size:.76rem;color:#727b89}.field-hint.success{color:#148044;font-weight:800}.field-hint.error{color:#bd2637;font-weight:800}.field-hint.checking{color:#a96a08}.password-strength{height:5px;background:#e7e9ed;border-radius:999px;overflow:hidden}.password-strength span{display:block;height:100%;width:0;background:#d73843;transition:width .2s ease}.password-strength span[data-score="2"]{background:#e18d19}.password-strength span[data-score="3"]{background:#79a928}.password-strength span[data-score="4"]{background:#168a54}.starter-skin-fieldset{border:1px solid #d9dde4;border-radius:10px;padding:9px}.starter-skin-fieldset legend{padding:0 6px;font-size:.75rem;font-weight:900;color:#5d6675;text-transform:uppercase}.starter-skins{display:grid;grid-template-columns:repeat(5,1fr);gap:6px}.starter-skins button{min-height:57px;border:2px solid transparent;border-radius:9px;background:#f1f3f6;cursor:pointer;font-size:1.25rem}.starter-skins button span{display:block;font-size:.63rem;font-weight:800;margin-top:3px}.starter-skins button.selected{border-color:#ff9d13;background:#fff4df;box-shadow:0 0 0 2px rgba(255,157,19,.13)}.legal-check{display:flex;align-items:flex-start;gap:8px;font-size:.78rem;line-height:1.4}.legal-check input{margin-top:3px}.legal-check button{border:0;padding:0;background:none;color:#be6900;font:inherit;font-weight:800;text-decoration:underline;cursor:pointer}.account-success-banner{padding:12px;border-radius:9px;background:#e9f8ef;border:1px solid #9bd4ae;color:#126d38;font-weight:800;margin-bottom:12px}.account-profile-panel{margin-top:14px;padding:15px;border-radius:12px;background:#f6f7f9;border:1px solid #dfe3e9}.account-profile-panel h3{margin:0 0 4px}.account-profile-panel select{width:100%}.referral-row{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 12px;border:1px dashed #c8cdd5;border-radius:9px;background:#fff}.referral-row div{display:flex;flex-direction:column}.referral-row small{font-size:.63rem;color:#777f8c;font-weight:800}.referral-row strong{font-family:ui-monospace,SFMono-Regular,Consolas,monospace;letter-spacing:.12em}.legal-modal-card{width:min(680px,94vw);max-height:88vh;overflow:auto}.legal-content{font-size:.9rem;line-height:1.58;color:#4d5561}.legal-content h3{margin:18px 0 3px;color:#212630}.legal-content p{margin:5px 0}.admin-row code{font-size:.68rem;color:#7c8490;background:#eef0f3;padding:2px 5px;border-radius:4px}.asgard-theme .field-label,.game-dark .field-label{color:#d0b77f}.asgard-theme .account-profile-panel{background:rgba(8,13,18,.72);border-color:rgba(241,179,54,.28)}.asgard-theme .registration-intro{background:rgba(241,179,54,.08)}.asgard-theme .starter-skins button{background:#151b22;color:#eee}.asgard-theme .starter-skins button.selected{border-color:#eab445;background:#262115}.asgard-theme .referral-row{background:#10161d;border-color:#6f5a2d}.asgard-theme .legal-content{color:#d7dbe1}.asgard-theme .legal-content h3{color:#f0c66d}.asgard-theme .field-hint,.asgard-theme .panel-help{color:#aeb5c0}.asgard-theme .password-toggle{color:#ddd}
@media(max-width:640px){.account-modal-v10{width:96vw;padding:18px 14px}.starter-skins{grid-template-columns:repeat(3,1fr)}.referral-row{align-items:stretch;flex-direction:column}.referral-row button{width:100%}}

/* === V10.1 : OUTILS DE COMPTE ET SÉCURITÉ UX === */
.hp-field{position:absolute!important;left:-99999px!important;width:1px!important;height:1px!important;overflow:hidden!important;opacity:0!important;pointer-events:none!important}.password-tools{display:flex;align-items:center;justify-content:space-between;gap:10px;min-height:25px}.text-action-button{border:0;background:transparent;padding:2px 0;color:#b56500;font-size:.7rem;font-weight:900;letter-spacing:.035em;text-decoration:underline;cursor:pointer}.text-action-button:hover{color:#e48712}.caps-warning{font-size:.7rem;font-weight:900;color:#bd2637}.account-meta-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:10px 0 13px}.account-meta-grid>div{display:flex;min-width:0;flex-direction:column;gap:3px;padding:9px 10px;border:1px solid #dde1e7;border-radius:8px;background:#fff}.account-meta-grid small{font-size:.61rem;font-weight:900;letter-spacing:.07em;color:#858d99}.account-meta-grid strong{font-size:.76rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#282e37}.account-profile-panel input[readonly]{cursor:not-allowed;background:#eceff3;color:#626b78}.asgard-theme .account-meta-grid>div{background:#0f151c;border-color:rgba(241,179,54,.23)}.asgard-theme .account-meta-grid small{color:#9da7b5}.asgard-theme .account-meta-grid strong{color:#f0d89f}.asgard-theme .text-action-button{color:#e6b652}.asgard-theme .account-profile-panel input[readonly]{background:#11171e;color:#c9b67e}.game-dark .caps-warning{color:#ff8290}
@media(max-width:520px){.account-meta-grid{grid-template-columns:1fr}.password-tools{align-items:flex-start;flex-direction:column;gap:4px}}

/* V11 — repères de carte et HUD compact */
.zone-box {
  display: inline-flex;
  align-items: center;
  gap: .35rem;
  min-width: 92px;
  padding: .42rem .66rem;
  border-radius: 10px;
  border: 1px solid rgba(255,255,255,.18);
  background: rgba(12,18,26,.76);
  color: #dbe9f5;
  font-size: .78rem;
  font-weight: 700;
  backdrop-filter: blur(7px);
}
.zone-box strong { color: #ffcf67; font-size: .92rem; letter-spacing: .08em; }
.game-dark .zone-box { border-color: rgba(229,184,79,.34); background: rgba(5,8,14,.82); }
#profilePreferredSkin option:disabled { color: #8c8c8c; }
