/* Componentes del motor usados por panel, eventos y modales. */
:root {
  /* ============== COLOR ============== */
  --bg-0: #0c0605;
  --bg-1: #1e100c;
  --bg-2: #281610;

  --blood:        #653616;
  --blood-deep:   #3a1f10;
  --crimson:      #a85925;
  --crimson-soft: #d6722f;
  --tomato:       #ff9650;
  --tomato-soft:  #ffb17d;
  --tomato-bright:#ffb685;

  --text:        #f8f4f0;
  --text-dim:    #c96b2c;
  --text-faint:  #8e4c1f;

  --line:        rgba(255, 150, 80, 0.28);
  --line-soft:   rgba(255, 150, 80, 0.12);
  --line-strong: rgba(255, 150, 80, 0.55);

  --panel-bg:        rgba(28, 15, 11, 0.82);
  --panel-bg-strong: rgba(15, 8, 6, 0.94);

  --danger: #ff4757;
  --good:   #4ad08a;

  /* Aliases mantenidos para compat con clases existentes */
  --gold:         var(--tomato);
  --gold-bright:  var(--tomato-bright);
  --ember:        var(--crimson);
  --ember-soft:   var(--tomato-soft);

  /* ============== SPACING SCALE ============== */
  --sp-1: 4px;
  --sp-2: 8px;
  --sp-3: 12px;
  --sp-4: 16px;
  --sp-5: 20px;
  --sp-6: 24px;
  --sp-7: 32px;
  --sp-8: 40px;
  --sp-9: 56px;
  --sp-10: 72px;

  /* Vertical rhythm between major sections */
  --section-gap: clamp(48px, 7vw, 80px);
  --section-pad-y: clamp(36px, 5vw, 60px);

  /* ============== TYPE SCALE (fluid) ============== */
  --fs-xs:   clamp(10.5px, 0.7vw, 12px);
  --fs-sm:   clamp(12px, 0.85vw, 14px);
  --fs-base: clamp(14px, 1vw, 16px);
  --fs-lg:   clamp(16px, 1.1vw, 18px);
  --fs-xl:   clamp(18px, 1.3vw, 22px);
  --fs-2xl:  clamp(22px, 1.8vw, 28px);
  --fs-3xl:  clamp(26px, 2.4vw, 36px);
  --fs-4xl:  clamp(32px, 3vw, 48px);
  --fs-5xl:  clamp(40px, 4.5vw, 64px);
  --fs-hero: clamp(64px, 12vw, 128px);

  /* ============== RADIUS ============== */
  --r-sm: 6px;
  --r-md: 10px;
  --r-lg: 14px;
  --r-xl: 18px;
  --r-2xl: 22px;
  --r-full: 999px;

  /* ============== SHADOW ============== */
  --shadow-sm: 0 4px 12px rgba(0, 0, 0,0.4);
  --shadow-md: 0 10px 26px rgba(0, 0, 0,0.55);
  --shadow-lg: 0 22px 50px rgba(0, 0, 0,0.65);
  --shadow-xl: 0 30px 70px rgba(0, 0, 0,0.75);
  --glow-red:  0 0 24px rgba(255, 150, 80,0.35);
  --glow-red-strong: 0 0 36px rgba(255, 71, 87,0.55);

  /* ============== EASING ============== */
  --ease-out: cubic-bezier(0.2, 0.8, 0.2, 1);
  --ease-spring: cubic-bezier(0.175, 0.885, 0.32, 1.275);

  /* ============== FONTS ============== */
  --font-display: "Grenze Gotisch", "Alegreya SC", serif;
  --font-serif:   "Alegreya SC", serif;
  --font-ui:      "Barlow Condensed", system-ui, sans-serif;
  --font-tech:    "Barlow Condensed", "Alegreya SC", sans-serif;

  /* ============== CURSORS ============== */
  --cursor-default: auto, auto;
  --cursor-alt: auto, default;
  --cursor-link: auto, pointer;
  --cursor-text: auto, text;
  --cursor-busy: auto, wait;
  --cursor-progress: auto, progress;
}
@keyframes ember-rise{
  0%   { transform: translate(0, 0) scale(0.6); opacity: 0; }
  10%  { opacity: 0.9; }
  50%  { transform: translate(20px, -45vh) scale(1); opacity: 0.7; }
  100% { transform: translate(-10px, -100vh) scale(0.4); opacity: 0; }
}
@keyframes blood-line{
  0%, 100% { background-position: 100% 0; }
  50%      { background-position: -100% 0; }
}
@keyframes nexoria-flow{
  0%   { background-position:   0% 50%; }
  100% { background-position: 400% 50%; }
}
.drawer__foot .btn--block{ width: 100%; }
@keyframes svfast-blink{
  from { filter: drop-shadow(0 0 4px rgba(74, 208, 138,0.4)); }
  to   { filter: drop-shadow(0 0 12px rgba(74, 208, 138,0.9)); }
}
@keyframes logo-pulse{
  0%, 100% { filter: drop-shadow(0 0 10px rgba(255, 150, 80, 0.4)); }
  50%      { filter: drop-shadow(0 0 22px rgba(255, 150, 80, 0.85)); }
}
@keyframes sword-flicker{
  0%, 100% { color: var(--tomato-soft); text-shadow: 0 0 6px rgba(255, 150, 80,0.45); }
  50%      { color: #fff;                text-shadow: 0 0 14px rgba(255, 150, 80,0.85); }
}
@keyframes fade-up{
  from { opacity: 0; transform: translateY(14px); }
  to   { opacity: 1; transform: translateY(0); }
}
@keyframes glow-shift{
  0%, 100% { opacity: 0.85; }
  50%      { opacity: 1; }
}
@keyframes rotate-border{
  to { transform: rotate(360deg); }
}
.btn--primary{
  background: linear-gradient(180deg, var(--tomato) 0%, var(--crimson) 60%, var(--blood) 100%);
  color: #fff;
  box-shadow:
    0 10px 30px rgba(255, 150, 80, 0.4),
    inset 0 1px 0 rgba(255, 255, 255,0.25),
    inset 0 -2px 0 rgba(0, 0, 0,0.25);
  position: relative;
  overflow: hidden;
  text-shadow: 0 1px 0 rgba(0, 0, 0,0.4);
}
.btn--primary::before{
  content: "";
  position: absolute;
  top: 0;
  left: -120%;
  width: 60%;
  height: 100%;
  background: linear-gradient(110deg,
    transparent 0%,
    rgba(255, 255, 255,0.0) 40%,
    rgba(255, 255, 255,0.55) 50%,
    rgba(255, 255, 255,0.0) 60%,
    transparent 100%);
  transform: skewX(-20deg);
  transition: left 0.6s ease;
}
.btn--primary:hover{
  filter: brightness(1.1);
  transform: translateY(-1px);
  box-shadow:
    0 14px 38px rgba(255, 150, 80, 0.55),
    inset 0 1px 0 rgba(255, 255, 255,0.3),
    inset 0 -2px 0 rgba(0, 0, 0,0.25);
}
.btn--primary:hover::before{ left: 130%; }
.btn--primary:active{ transform: translateY(0); filter: brightness(0.95); }
.btn--primary:disabled{ opacity: 0.6; cursor: var(--cursor-alt); transform: none; }
.btn--secondary{
  background: rgba(0, 0, 0,0.55);
  color: var(--tomato-bright);
  border: 1px solid var(--line-strong);
  text-shadow: none;
}
.btn--secondary:hover{
  background: rgba(255, 150, 80, 0.12);
  color: #fff;
  box-shadow: 0 10px 26px rgba(255, 150, 80, 0.25);
  transform: translateY(-1px);
}
.btn--ghost{
  background: transparent;
  color: var(--text-dim);
  border: 1px solid var(--line);
  padding: 8px 14px;
  font-size: 12px;
}
.btn--ghost:hover{
  color: var(--tomato-bright);
  border-color: var(--tomato);
  background: rgba(255, 150, 80, 0.06);
}
.btn--blade{
  clip-path: polygon(8% 0, 100% 0, 92% 100%, 0 100%);
  padding-left: 26px;
  padding-right: 26px;
}
.btn--whatsapp{
  display: inline-flex;
  align-items: center;
  gap: 10px;
  transition: transform 0.18s, box-shadow 0.25s, color 0.25s, background 0.25s, border-color 0.25s;
}
.btn--whatsapp .btn__wa-icon{
  width: 22px;
  height: 22px;
  flex-shrink: 0;
  transition: transform 0.3s ease;
}
.btn--whatsapp:hover{
  color: #fff;
  background: linear-gradient(180deg, #25d366 0%, #125b8c 100%);
  border-color: #25d366;
  box-shadow:
    0 14px 36px rgba(37, 211, 102, 0.45),
    inset 0 1px 0 rgba(255, 255, 255,0.25),
    inset 0 -2px 0 rgba(0, 0, 0,0.2);
  text-shadow: 0 1px 0 rgba(0, 0, 0,0.3);
}
.btn--whatsapp:hover .btn__wa-icon{
  transform: scale(1.12) rotate(-6deg);
}
@keyframes live-pulse{
  0%   { box-shadow: 0 0 0 0 rgba(74, 208, 138,0.7); }
  70%  { box-shadow: 0 0 0 10px rgba(74, 208, 138,0); }
  100% { box-shadow: 0 0 0 0 rgba(74, 208, 138,0); }
}
@keyframes stat-bump{
  0%   { transform: scale(1); }
  50%  { transform: scale(1.18); filter: brightness(1.3); }
  100% { transform: scale(1); }
}
.status-dot{
  display: inline-block;
  width: 12px;
  height: 12px;
  border-radius: 50%;
  border: 2px solid #0a0503;
  box-sizing: content-box;
}
.avatar-wrap .status-dot{
  position: absolute;
  right: -2px;
  bottom: -2px;
  z-index: 2;
}
.status-dot--online{
  background: #2ecc71;
  box-shadow:
    0 0 0 1px rgba(0, 0, 0,0.4),
    0 0 8px rgba(46, 204, 113,0.85),
    0 0 14px rgba(46, 204, 113,0.55);
  animation: status-pulse 2.2s ease-in-out infinite;
}
.status-dot--offline{
  background: #ff4757;
  box-shadow:
    0 0 0 1px rgba(0, 0, 0,0.4),
    0 0 6px rgba(255, 71, 87,0.55);
}
@keyframes status-pulse{
  0%, 100% {
    box-shadow:
      0 0 0 1px rgba(0, 0, 0,0.4),
      0 0 6px rgba(46, 204, 113,0.7),
      0 0 12px rgba(46, 204, 113,0.4);
  }
  50% {
    box-shadow:
      0 0 0 1px rgba(0, 0, 0,0.4),
      0 0 12px rgba(46, 204, 113,1),
      0 0 22px rgba(46, 204, 113,0.65);
  }
}
.status-dot--card{
  position: absolute;
  right: 12px;
  bottom: 12px;
  width: 14px;
  height: 14px;
  z-index: 3;
}
@keyframes top1-pulse{
  0%, 100% { text-shadow: 0 0 12px rgba(255, 150, 80,0.7), 0 0 22px rgba(255, 150, 80,0.45); }
  50%      { text-shadow: 0 0 22px rgba(255, 150, 80,1),    0 0 36px rgba(255, 150, 80,0.7); }
}
@keyframes row-in{
  from { opacity: 0; transform: translateX(-6px); }
  to   { opacity: 1; transform: translateX(0); }
}
.btn--sm{
  padding: 9px 16px;
  font-size: 12px;
}
@keyframes hero-glow{
  0%, 100% { opacity: 0.85; }
  50%      { opacity: 1; }
}
@keyframes hero-nexoria-pulse{
  0%, 100% { filter: drop-shadow(0 6px 24px rgba(255, 150, 80,0.3)); }
  50%      { filter: drop-shadow(0 6px 36px rgba(255, 71, 87,0.55)); }
}
.btn--lg{
  padding: 16px 28px;
  font-size: 15px;
  letter-spacing: 0.18em;
}
@keyframes hero-float{
  0%, 100% { transform: translateY(0); }
  50%      { transform: translateY(-10px); }
}
@keyframes hero-aura{
  0%, 100% { transform: scale(1);   opacity: 0.7; }
  50%      { transform: scale(1.15); opacity: 1;   }
}
@keyframes killerPulse{
  0%, 100% {
    filter:
      drop-shadow(0 0 8px rgba(255, 150, 80, 0.95))
      drop-shadow(0 0 18px rgba(168, 89, 37, 0.55))
      drop-shadow(0 2px 3px rgba(0, 0, 0, 0.9));
    transform: translate(-50%, -50%) scale(1);
  }
  50% {
    filter:
      drop-shadow(0 0 14px rgba(255, 80, 80, 1))
      drop-shadow(0 0 28px rgba(168, 89, 37, 0.85))
      drop-shadow(0 0 42px rgba(255, 30, 30, 0.55))
      drop-shadow(0 2px 3px rgba(0, 0, 0, 0.9));
    transform: translate(-50%, -50%) scale(1.04);
  }
}
.events-grid{
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(290px, 1fr));
  gap: 22px;
  align-items: start;
}
.events-grid__state{
  grid-column: 1 / -1;
  margin: 0;
  padding: 28px;
  text-align: center;
  color: var(--text-dim);
  border: 1px dashed var(--line-soft);
  border-radius: 12px;
  background: rgba(8, 4, 3, 0.72);
}
.events-grid__state--error{
  color: #ffb685;
  border-color: rgba(255, 150, 80, 0.5);
}
.event-card{
  position: relative;
  padding: 24px 22px 22px;
  background:
    radial-gradient(ellipse at 50% -10%, rgba(255, 150, 80,0.18), transparent 65%),
    linear-gradient(180deg, rgba(20, 11, 8,0.95) 0%, rgba(8, 4, 3,0.98) 100%);
  border: 1px solid var(--line);
  border-radius: 14px;
  overflow: hidden;
  transform-style: preserve-3d;
  transition:
    transform 0.4s cubic-bezier(0.2, 0.8, 0.2, 1),
    border-color 0.35s,
    box-shadow 0.35s;
  isolation: isolate;
  will-change: transform;
}
.event-card__admin-edit{
  position: absolute;
  top: 14px;
  right: 14px;
  z-index: 8;
  padding: 7px 11px;
  border: 1px solid rgba(242, 172, 126, 0.55);
  border-radius: 999px;
  background: rgba(8, 4, 3, 0.82);
  color: #f2ac7e;
  font: 700 10px/1 "Barlow Condensed", "Alegreya SC", serif;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  cursor: var(--cursor-link);
  box-shadow: 0 8px 22px rgba(0, 0, 0, 0.45);
  transition: border-color 0.2s, background 0.2s, transform 0.2s, box-shadow 0.2s;
}
.event-card__admin-edit:hover,
.event-card__admin-edit:focus-visible{
  border-color: var(--tomato-bright);
  background: rgba(255, 150, 80, 0.2);
  transform: translateY(-1px);
  box-shadow: 0 8px 24px rgba(255, 150, 80, 0.24);
  outline: none;
}
.event-card::before{
  content: "";
  position: absolute;
  top: 0; left: 50%;
  width: 60%;
  height: 2px;
  background: linear-gradient(90deg, transparent, var(--tomato), transparent);
  transform: translateX(-50%) scaleX(0.3);
  opacity: 0.4;
  transition: transform 0.45s ease, opacity 0.3s;
  filter: drop-shadow(0 0 6px var(--tomato));
}
.event-card__glare{
  position: absolute;
  inset: 0;
  pointer-events: none;
  background: radial-gradient(circle at var(--mx, 50%) var(--my, 50%), rgba(255, 150, 80,0.18), transparent 55%);
  opacity: 0;
  transition: opacity 0.3s;
  z-index: 1;
}
.event-card:hover{
  transform: translateY(-6px);
  border-color: var(--tomato);
  box-shadow:
    0 28px 60px rgba(0, 0, 0,0.7),
    0 0 36px rgba(255, 150, 80,0.32);
}
.event-card:hover::before{ transform: translateX(-50%) scaleX(1); opacity: 1; }
.event-card:hover .event-card__glare{ opacity: 1; }
.event-card--featured{
  background:
    radial-gradient(ellipse at 50% -10%, rgba(255, 150, 80,0.32), transparent 65%),
    linear-gradient(135deg, rgba(60, 33, 20,0.92), rgba(20, 11, 7,0.98));
  border-color: var(--tomato);
  box-shadow: 0 24px 50px rgba(0, 0, 0,0.6), 0 0 22px rgba(255, 150, 80,0.22);
}
.event-card--featured::before{ transform: translateX(-50%) scaleX(1); opacity: 1; }
.event-card__head{
  position: relative;
  z-index: 2;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 12px;
  margin-bottom: 14px;
}
.event-card__icon{
  width: 180px;
  height: 180px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  filter: drop-shadow(0 14px 22px rgba(0, 0, 0,0.9)) drop-shadow(0 0 22px rgba(255, 71, 87,0.55));
  transition: transform 0.5s cubic-bezier(0.2, 0.8, 0.2, 1), filter 0.4s;
  animation: event-icon-float 4.5s ease-in-out infinite;
}
@keyframes event-icon-float{
  0%, 100% { transform: translateY(0); }
  50%      { transform: translateY(-6px); }
}
.event-card:hover .event-card__icon{
  transform: scale(1.1) rotate(-3deg) translateY(-4px);
  filter:
    drop-shadow(0 14px 22px rgba(0, 0, 0,0.9))
    drop-shadow(0 0 26px rgba(255, 150, 80,0.85));
}
.event-card--featured .event-card__icon{
  animation-duration: 3.5s;
  filter: drop-shadow(0 12px 18px rgba(0, 0, 0,0.85)) drop-shadow(0 0 22px rgba(255, 150, 80,0.7));
}
.event-card__icon img{
  width: 100%;
  height: 100%;
  object-fit: contain;
  display: block;
}
.event-card__icon--model{
  position: relative;
  isolation: isolate;
  width: min(220px, 100%);
  height: 190px;
  filter: drop-shadow(0 18px 28px rgba(0, 0, 0,0.95)) drop-shadow(0 0 24px rgba(255, 150, 80,0.4));
}
.event-card__icon--golden::before{
  content: "";
  position: absolute;
  z-index: -1;
  inset: 16% 10%;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(255, 169, 112, 0.48) 0, rgba(255, 102, 0, 0.18) 42%, transparent 72%);
  filter: blur(12px);
  animation: event-golden-aura 2.8s ease-in-out infinite;
  pointer-events: none;
}
@keyframes event-golden-aura{
  0%, 100% { opacity: 0.62; transform: scale(0.9); }
  50% { opacity: 1; transform: scale(1.08); }
}
.event-card__model{
  display: block;
  width: 100%;
  height: 100%;
  --poster-color: transparent;
  background: transparent;
  touch-action: pan-y;
}
.event-card__model-poster{
  font: 700 10px/1.3 "Barlow Condensed", sans-serif;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: var(--text-dim);
}
.event-card__cadence{
  display: inline-block;
  padding: 5px 14px;
  font-size: 10.5px;
  font-weight: 700;
  font-family: "Barlow Condensed", "Alegreya SC", serif;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  color: var(--tomato-soft);
  border: 1px solid color-mix(in srgb, var(--tomato) 45%, transparent);
  border-radius: 999px;
  background: rgba(0, 0, 0,0.6);
  text-shadow: 0 0 6px rgba(255, 150, 80,0.4);
}
.event-card__title{
  position: relative;
  z-index: 2;
  margin: 0 0 14px;
  font-family: "Grenze Gotisch", "Alegreya SC", serif;
  font-size: 26px;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-align: center;
  background: linear-gradient(180deg, #f8f4f0 0%, var(--tomato) 60%, var(--crimson) 100%);
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
  text-shadow: 0 0 22px rgba(255, 150, 80,0.3);
  transition: letter-spacing 0.35s ease;
}
.event-card:hover .event-card__title{ letter-spacing: 0.12em; }
.event-card__toggle{
  position: relative;
  z-index: 2;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  margin: 4px auto 0;
  padding: 8px 18px;
  width: 100%;
  background: rgba(0, 0, 0,0.55);
  border: 1px solid var(--line);
  border-radius: 8px;
  color: var(--tomato-soft);
  font-family: "Barlow Condensed", "Alegreya SC", serif;
  font-weight: 700;
  font-size: 11.5px;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  cursor: var(--cursor-link);
  transition: border-color 0.25s, color 0.25s, background 0.25s, box-shadow 0.25s;
  outline: none;
}
.event-card__toggle:hover,
.event-card__toggle:focus-visible{
  border-color: var(--tomato);
  color: #fff;
  background: rgba(255, 150, 80,0.1);
  box-shadow: 0 5px 18px rgba(255, 150, 80,0.25);
}
.event-card__toggle-arrow{
  display: inline-block;
  transition: transform 0.4s cubic-bezier(0.2,0.8,0.2,1);
}
.event-card.is-expanded .event-card__toggle-arrow{
  transform: rotate(180deg);
}
.event-card__details{
  position: relative;
  z-index: 2;
  max-height: 0;
  opacity: 0;
  overflow: hidden;
  margin-top: 0;
  transition:
    max-height 0.55s cubic-bezier(0.2,0.8,0.2,1),
    opacity 0.35s ease 0.1s,
    margin-top 0.45s;
}
.event-card.is-expanded .event-card__details{
  max-height: 600px;
  opacity: 1;
  margin-top: 16px;
}
.event-card__details .event-card__times{ padding-top: 12px; }
.event-card__desc{
  position: relative;
  z-index: 2;
  margin: 0 0 14px;
  font-size: 13px;
  line-height: 1.5;
  color: var(--text-dim);
}
.event-card__maps{
  position: relative;
  z-index: 2;
  list-style: none;
  margin: 0 0 14px;
  padding: 0;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 6px;
}
.event-card__maps li{
  position: relative;
  font-size: 11px;
  font-weight: 600;
  font-family: "Barlow Condensed", "Alegreya SC", serif;
  letter-spacing: 0.08em;
  padding: 4px 10px 4px 22px;
  border: 1px solid var(--line);
  border-radius: 6px;
  color: var(--tomato-soft);
  background: rgba(255, 150, 80, 0.08);
  transition: border-color 0.25s, color 0.25s, transform 0.25s;
}
.event-card__maps li::before{
  content: "";
  position: absolute;
  left: 8px;
  top: 50%;
  width: 6px;
  height: 6px;
  background: var(--tomato);
  border-radius: 50%;
  transform: translateY(-50%);
  box-shadow: 0 0 8px var(--tomato);
}
.event-card__maps li:hover{
  border-color: var(--tomato);
  color: #fff;
  transform: translateY(-2px);
}
.event-card__times{
  position: relative;
  z-index: 2;
  list-style: none;
  margin: 0;
  padding-top: 14px;
  border-top: 1px dashed var(--line-soft);
  justify-content: center;
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
}
.event-card__times li{
  font-family: "Barlow Condensed", "Alegreya SC", serif;
  font-weight: 700;
  font-size: 12px;
  letter-spacing: 0.12em;
  padding: 6px 10px;
  min-width: 56px;
  text-align: center;
  border: 1px solid var(--line-soft);
  border-radius: 6px;
  color: var(--text);
  background: rgba(0, 0, 0,0.55);
  transition: border-color 0.25s, color 0.25s, transform 0.25s, box-shadow 0.25s;
}
.event-card__times li:hover{
  border-color: var(--tomato);
  color: var(--tomato-bright);
  transform: translateY(-2px);
  box-shadow: 0 4px 10px rgba(255, 150, 80,0.3);
  text-shadow: 0 0 8px var(--tomato);
}
.event-editor{
  position: fixed;
  inset: 0;
  z-index: 135;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 24px;
  overflow-y: auto;
  background: rgba(4, 2, 1, 0.94);
  backdrop-filter: blur(12px);
  animation: dl-modal-in 0.22s ease both;
}
.event-editor__card{
  position: relative;
  width: min(820px, 100%);
  max-height: 92vh;
  overflow-y: auto;
  border: 1px solid var(--line-strong);
  border-radius: 16px;
  background:
    radial-gradient(circle at 82% 10%, rgba(255, 150, 80, 0.16), transparent 34%),
    linear-gradient(160deg, rgba(25, 13, 8, 0.99), rgba(7, 3, 3, 0.99));
  box-shadow: 0 34px 90px rgba(0, 0, 0, 0.78), 0 0 60px rgba(255, 150, 80, 0.16);
  animation: dl-modal-pop 0.32s cubic-bezier(0.2, 0.8, 0.2, 1) both;
}
.event-editor__close{
  position: absolute;
  top: 14px;
  right: 14px;
  z-index: 3;
  width: 38px;
  height: 38px;
  border: 1px solid var(--line);
  border-radius: 50%;
  background: rgba(0, 0, 0, 0.65);
  color: var(--text-dim);
  font: 26px/1 "Alegreya SC", serif;
  cursor: var(--cursor-link);
  transition: color 0.2s, border-color 0.2s, transform 0.2s;
}
.event-editor__close:hover,
.event-editor__close:focus-visible{
  color: #fff;
  border-color: var(--tomato);
  transform: rotate(90deg);
  outline: none;
}
.event-editor__head{
  padding: 30px 34px 20px;
  border-bottom: 1px dashed var(--line-soft);
}
.event-editor__eyebrow{
  display: block;
  margin: 0 48px 8px 0;
  color: var(--tomato-soft);
  font: 700 10px/1.4 "Barlow Condensed", sans-serif;
  letter-spacing: 0.2em;
  text-transform: uppercase;
}
.event-editor__title{
  margin: 0;
  color: #fff;
  font: 800 clamp(21px, 3vw, 28px)/1.15 "Alegreya SC", serif;
  letter-spacing: 0.04em;
}
.event-editor__lead{
  margin: 8px 0 0;
  color: var(--text-dim);
  font-size: 13px;
}
.event-editor__form{ padding: 24px 34px 30px; }
.event-editor__choices{
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 8px;
  padding: 5px;
  border: 1px solid var(--line-soft);
  border-radius: 10px;
  background: rgba(0, 0, 0, 0.45);
}
.event-editor__choices label{ cursor: var(--cursor-link); }
.event-editor__choices input{ position: absolute; opacity: 0; pointer-events: none; }
.event-editor__choices span{
  display: block;
  padding: 10px 14px;
  border: 1px solid transparent;
  border-radius: 7px;
  color: var(--text-dim);
  text-align: center;
  font: 700 11px/1 "Barlow Condensed", sans-serif;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  transition: color 0.2s, border-color 0.2s, background 0.2s;
}
.event-editor__choices input:checked + span{
  color: #fff;
  border-color: var(--tomato);
  background: rgba(255, 150, 80, 0.14);
  box-shadow: inset 0 0 22px rgba(255, 150, 80, 0.08);
}
.event-editor__choices input:focus-visible + span{ outline: 2px solid var(--tomato-bright); outline-offset: 2px; }
.event-editor__workspace{
  display: grid;
  grid-template-columns: minmax(0, 1fr) 260px;
  gap: 22px;
  margin-top: 20px;
}
.event-editor__fields small{
  display: block;
  margin-top: 10px;
  color: var(--text-faint);
  font-size: 11.5px;
  line-height: 1.5;
}
.event-editor__size-grid{ display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
.event-editor__or{ display: flex; align-items: center; gap: 10px; margin: 16px 0 4px; color: var(--text-faint); font-size: 11px; text-transform: uppercase; letter-spacing: 0.14em; }
.event-editor__or::before, .event-editor__or::after{ content: ""; height: 1px; flex: 1; background: var(--line-soft); }
.event-editor .admin-field select{
  width: 100%;
  min-width: 0;
  padding: 10px 12px;
  border: 1px solid var(--line);
  border-radius: 7px;
  background: #100806;
  color: var(--text);
  font: inherit;
  outline: none;
}
.event-editor .admin-field select:focus{ border-color: var(--tomato); box-shadow: 0 0 0 3px rgba(255, 150, 80,0.16); }
.event-editor .admin-field select:disabled{
  color: var(--text-faint);
  cursor: not-allowed;
  opacity: 0.72;
}
.event-editor__animation-field{
  position: relative;
  margin-top: 14px;
  padding: 14px 14px 12px;
  border: 1px solid rgba(255, 150, 80, 0.2);
  border-left: 2px solid var(--tomato);
  border-radius: 8px;
  background: linear-gradient(100deg, rgba(255, 150, 80, 0.09), rgba(255, 150, 80, 0.015));
}
.event-editor__animation-field::after{
  content: "LOOP";
  position: absolute;
  top: 11px;
  right: 12px;
  color: var(--tomato-bright);
  font: 700 9px/1 "Barlow Condensed", sans-serif;
  letter-spacing: 0.16em;
  opacity: 0.76;
}
.event-editor__animation-field .admin-field__label{ padding-right: 48px; }
.event-editor__animation-field small{ margin-bottom: 0; }
.event-editor__speed-control{
  margin-top: 9px;
  padding-top: 13px;
  border-top: 1px dashed rgba(255, 150, 80, 0.22);
}
.event-editor__speed-head,
.event-editor__speed-scale{
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
}
.event-editor__speed-head label{
  color: var(--text-dim);
  font-size: 10px;
  letter-spacing: 0.14em;
  text-transform: uppercase;
}
.event-editor__speed-head output{
  min-width: 58px;
  padding: 5px 8px;
  border: 1px solid rgba(255, 150, 80, 0.42);
  border-radius: 999px;
  background: rgba(0, 0, 0, 0.48);
  color: var(--tomato-bright);
  text-align: center;
  font: 700 11px/1 "Barlow Condensed", sans-serif;
  letter-spacing: 0.08em;
}
.event-editor .event-editor__speed-slider{
  --speed-fill: 48.72%;
  width: 100%;
  height: 6px;
  margin: 15px 0 10px;
  padding: 0;
  border: 0;
  border-radius: 999px;
  outline: none;
  appearance: none;
  -webkit-appearance: none;
  background: linear-gradient(90deg, var(--tomato) 0 var(--speed-fill), rgba(255, 255, 255, 0.14) var(--speed-fill) 100%);
  box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.04), 0 0 18px rgba(255, 150, 80, 0.08);
  cursor: ew-resize;
}
.event-editor .event-editor__speed-slider::-webkit-slider-thumb{
  width: 18px;
  height: 18px;
  border: 2px solid #ffb685;
  border-radius: 50%;
  appearance: none;
  -webkit-appearance: none;
  background: var(--tomato);
  box-shadow: 0 0 0 4px rgba(255, 150, 80, 0.14), 0 0 16px rgba(255, 150, 80, 0.48);
}
.event-editor .event-editor__speed-slider::-moz-range-thumb{
  width: 14px;
  height: 14px;
  border: 2px solid #ffb685;
  border-radius: 50%;
  background: var(--tomato);
  box-shadow: 0 0 0 4px rgba(255, 150, 80, 0.14), 0 0 16px rgba(255, 150, 80, 0.48);
}
.event-editor .event-editor__speed-slider:focus-visible{
  box-shadow: 0 0 0 3px rgba(255, 150, 80, 0.2), 0 0 20px rgba(255, 150, 80, 0.22);
}
.event-editor__speed-scale{
  color: var(--text-faint);
  font: 600 8px/1 "Barlow Condensed", sans-serif;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}
.event-editor__speed-control > small{ margin-top: 8px; }
.event-editor__golden-toggle{
  display: grid;
  grid-template-columns: 30px minmax(0, 1fr) auto;
  align-items: center;
  gap: 11px;
  margin-top: 12px;
  padding: 11px 12px;
  border: 1px solid rgba(255, 135, 55, 0.24);
  border-radius: 9px;
  background: linear-gradient(100deg, rgba(255, 122, 34, 0.1), rgba(255, 150, 80, 0.02));
  cursor: var(--cursor-link);
  transition: border-color 0.2s, background 0.2s, box-shadow 0.2s;
}
.event-editor__golden-toggle:hover{
  border-color: rgba(255, 162, 100, 0.58);
  background: linear-gradient(100deg, rgba(255, 122, 34, 0.16), rgba(255, 150, 80, 0.035));
}
.event-editor__golden-toggle input{
  position: absolute;
  opacity: 0;
  pointer-events: none;
}
.event-editor__golden-mark{
  display: grid;
  width: 28px;
  height: 28px;
  place-items: center;
  border: 1px solid rgba(255, 167, 108, 0.46);
  border-radius: 7px;
  background: rgba(0, 0, 0, 0.48);
  color: rgba(255, 182, 133, 0.54);
  box-shadow: inset 0 0 12px rgba(255, 123, 35, 0.05);
  transition: color 0.2s, border-color 0.2s, background 0.2s, box-shadow 0.2s, transform 0.2s;
}
.event-editor__golden-copy{ min-width: 0; }
.event-editor__golden-copy strong{
  display: block;
  color: #e9a679;
  font: 700 10px/1.2 "Barlow Condensed", sans-serif;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}
.event-editor__golden-copy small{ margin-top: 4px; }
.event-editor__golden-badge{
  padding: 5px 7px;
  border: 1px solid rgba(255, 157, 91, 0.26);
  border-radius: 999px;
  color: rgba(255, 179, 128, 0.55);
  font: 700 8px/1 "Barlow Condensed", sans-serif;
  letter-spacing: 0.14em;
  transition: color 0.2s, border-color 0.2s, box-shadow 0.2s;
}
.event-editor__golden-toggle input:checked ~ .event-editor__golden-mark{
  border-color: #ffad76;
  background: linear-gradient(145deg, #ffa76c, #b64900);
  color: #3b1d00;
  box-shadow: 0 0 0 4px rgba(255, 125, 38, 0.11), 0 0 20px rgba(255, 115, 22, 0.38);
  transform: rotate(8deg);
}
.event-editor__golden-toggle input:checked ~ .event-editor__golden-copy strong{ color: #ffb482; }
.event-editor__golden-toggle input:checked ~ .event-editor__golden-badge{
  border-color: rgba(255, 173, 118, 0.72);
  color: #ffb482;
  box-shadow: 0 0 14px rgba(255, 113, 19, 0.18);
}
.event-editor__golden-toggle:has(input:focus-visible){
  outline: 2px solid #ff9b58;
  outline-offset: 2px;
}
.event-editor__preview{
  position: relative;
  isolation: isolate;
  min-height: 260px;
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
  border: 1px solid var(--line);
  border-radius: 12px;
  background:
    radial-gradient(circle at 50% 45%, rgba(255, 150, 80, 0.18), transparent 58%),
    rgba(0, 0, 0, 0.56);
  color: var(--text-faint);
  text-align: center;
  font-size: 12px;
}
.event-editor__preview.is-golden::before{
  content: "";
  position: absolute;
  z-index: -1;
  width: 76%;
  aspect-ratio: 1;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(255, 179, 128, 0.34), rgba(255, 113, 18, 0.12) 48%, transparent 72%);
  filter: blur(12px);
  animation: event-golden-aura 2.8s ease-in-out infinite;
  pointer-events: none;
}
.event-editor__preview img{ display: block; width: 92%; height: 240px; object-fit: contain; }
.event-editor__model{ display: block; width: 100%; height: 260px; --poster-color: transparent; background: transparent; }
.event-editor__message{ min-height: 20px; margin: 16px 0 0; color: var(--danger); font-size: 13px; }
.event-editor__message.is-good{ color: var(--good); }
.event-editor__actions{ display: grid; grid-template-columns: auto 1fr auto auto; align-items: center; gap: 10px; margin-top: 8px; padding-top: 16px; border-top: 1px dashed var(--line-soft); }
.event-editor__remove{ color: #ffb685; border-color: rgba(255, 172, 117, 0.36); }
@media (max-width: 700px){.event-editor{ padding: 10px; align-items: flex-start; }
.event-editor__head{ padding: 24px 20px 16px; }
.event-editor__form{ padding: 18px 20px 22px; }
.event-editor__workspace{ grid-template-columns: 1fr; }
.event-editor__preview{ min-height: 210px; order: -1; }
.event-editor__model, .event-editor__preview img{ height: 210px; }
.event-editor__actions{ grid-template-columns: 1fr 1fr; }
.event-editor__actions > span{ display: none; }
.event-editor__actions .btn{ width: 100%; }}
@media (prefers-reduced-motion: reduce){.event-card__icon--golden::before,
  .event-editor__preview.is-golden::before{ animation: none; }}
.vip-badge{
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 6px 14px;
  border-radius: 999px;
  font-family: "Alegreya SC", serif;
  font-weight: 700;
  font-size: 12px;
  letter-spacing: 0.18em;
  text-transform: uppercase;
}
.vip-badge--active{
  color: #1a0808;
  background: linear-gradient(180deg, #f2ac7e 0%, #bf662a 60%, #78401a 100%);
  box-shadow:
    0 6px 22px rgba(255, 138, 60, 0.35),
    inset 0 1px 0 rgba(255, 255, 255,0.4);
  border: 1px solid rgba(0, 0, 0,0.25);
  animation: vip-pulse 3s ease-in-out infinite;
}
.vip-badge__crown{
  font-size: 14px;
  filter: drop-shadow(0 0 6px rgba(255, 150, 80, 0.7));
}
.vip-badge__days{
  padding: 2px 8px;
  border-radius: 999px;
  background: rgba(0, 0, 0,0.25);
  color: #1a0808;
  font-size: 10px;
  letter-spacing: 0.15em;
}
.vip-badge--inactive{
  color: var(--text-faint);
  background: rgba(0, 0, 0,0.45);
  border: 1px solid var(--line-soft);
}
@keyframes vip-pulse{
  0%, 100% { box-shadow: 0 6px 22px rgba(255, 138, 60,0.35), inset 0 1px 0 rgba(255, 255, 255,0.4); }
  50%      { box-shadow: 0 8px 32px rgba(255, 138, 60,0.65), inset 0 1px 0 rgba(255, 255, 255,0.5); }
}
.coins-bar{
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 16px;
  margin-bottom: 30px;
}
.coin{
  display: flex;
  align-items: center;
  gap: 14px;
  padding: 18px 22px;
  background: var(--panel-bg-strong);
  border: 1px solid var(--line);
  border-radius: 12px;
  position: relative;
  overflow: hidden;
  transition: transform 0.25s, border-color 0.25s, box-shadow 0.25s;
}
.coin::before{
  content: "";
  position: absolute;
  inset: 0;
  background: radial-gradient(ellipse at 0% 0%, var(--coin-glow, rgba(255, 150, 80,0.15)), transparent 60%);
  pointer-events: none;
}
.coin:hover{
  transform: translateY(-2px);
  border-color: var(--coin-border, var(--tomato));
  box-shadow: 0 18px 44px var(--coin-shadow, rgba(255, 150, 80,0.25));
}
.coin--wc{ --coin-glow: rgba(120, 201, 255, 0.18); --coin-border: #9ed8ff; --coin-shadow: rgba(120, 201, 255,0.22); }
.coin--wp{ --coin-glow: rgba(216, 115, 48, 0.22); --coin-border: #f2ac7e; --coin-shadow: rgba(255, 150, 80,0.25); }
.coin--gp{ --coin-glow: rgba(255, 150, 80, 0.22); --coin-border: var(--tomato); --coin-shadow: rgba(255, 150, 80,0.28); }
.coin__icon{
  width: 48px;
  height: 48px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 24px;
  background: linear-gradient(180deg, rgba(255, 255, 255,0.06), rgba(0, 0, 0,0.4));
  border: 1px solid var(--line);
  border-radius: 10px;
  flex-shrink: 0;
  position: relative;
  z-index: 1;
}
.coin__body{ position: relative; z-index: 1; min-width: 0; }
.coin__label{
  font-size: 11px;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  color: var(--text-dim);
  margin-bottom: 2px;
}
.coin__value{
  font-family: "Alegreya SC", serif;
  font-weight: 800;
  font-size: 26px;
  line-height: 1.1;
  letter-spacing: 0.04em;
  color: #fff;
}
.my-chars-grid{
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(290px, 1fr));
  gap: 18px;
}
.my-char{
  position: relative;
  padding: 22px;
  background: var(--panel-bg-strong);
  border: 1px solid var(--line);
  border-radius: 14px;
  overflow: hidden;
  transition: transform 0.3s, border-color 0.3s, box-shadow 0.3s;
}
.my-char::before{
  content: "";
  position: absolute;
  inset: 0;
  background: radial-gradient(ellipse at 100% 0%, rgba(255, 150, 80,0.18), transparent 60%);
  pointer-events: none;
}
.my-char:hover{
  transform: translateY(-3px);
  border-color: var(--tomato);
  box-shadow: 0 24px 56px rgba(168, 89, 37,0.3);
}
.my-char__head{
  display: flex;
  align-items: center;
  gap: 14px;
  margin-bottom: 14px;
  position: relative;
  z-index: 1;
}
.my-char__avatar{
  width: 64px;
  height: 64px;
  border-radius: 14px;
  border: 2px solid var(--line);
  background:
    radial-gradient(ellipse at center, rgba(255, 150, 80,0.25), transparent 65%),
    rgba(0, 0, 0,0.55);
  object-fit: cover;
  object-position: center 14%;
  flex-shrink: 0;
  transition: border-color 0.3s, transform 0.3s;
}
.my-char:hover .my-char__avatar{
  border-color: var(--tomato);
  transform: scale(1.05);
}
.my-char__title{ min-width: 0; flex: 1; }
.my-char__name{
  display: block;
  margin: 0 0 2px;
  font-family: "Alegreya SC", serif;
  font-size: 19px;
  letter-spacing: 0.05em;
  background: linear-gradient(180deg, #fff, var(--tomato));
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  text-decoration: none;
  transition: filter 0.2s;
}
.my-char__name:hover{ filter: brightness(1.3); text-shadow: 0 0 12px rgba(255, 150, 80,0.5); }
.my-char__class{
  font-size: 12px;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: var(--text-dim);
}
.my-char__metrics{
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 8px;
  margin-bottom: 14px;
  position: relative;
  z-index: 1;
}
.metric{
  text-align: center;
  padding: 10px 8px;
  background: rgba(0, 0, 0,0.45);
  border: 1px solid var(--line-soft);
  border-radius: 8px;
}
.metric__label{
  font-size: 10px;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  color: var(--text-faint);
  margin-bottom: 2px;
}
.metric__value{
  font-family: "Alegreya SC", serif;
  font-weight: 800;
  font-size: 18px;
  color: #fff;
  line-height: 1.1;
}
.metric--lvl .metric__value{ color: var(--tomato-bright); }
.metric--rst .metric__value{ color: #f2ac7e; }
.metric--mr  .metric__value{ color: #8fd2ff; }
.my-char__map{
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 10px 12px;
  background: rgba(255, 150, 80, 0.06);
  border: 1px solid var(--line-soft);
  border-radius: 8px;
  margin-bottom: 12px;
  position: relative;
  z-index: 1;
}
.my-char__map-icon{
  font-size: 16px;
  color: var(--tomato);
}
.my-char__map-text{
  flex: 1;
  min-width: 0;
}
.my-char__map-name{
  font-family: "Alegreya SC", serif;
  font-weight: 700;
  font-size: 13px;
  color: var(--tomato-bright);
  letter-spacing: 0.08em;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.my-char__map-pos{
  font-size: 11px;
  letter-spacing: 0.14em;
  color: var(--text-dim);
  font-family: "Alegreya SC", serif;
}
.my-char__stats{
  display: flex;
  gap: 4px;
  position: relative;
  z-index: 1;
}
.my-char__stat{
  flex: 1;
  min-width: 0;
  display: flex;
  flex-direction: column;
  align-items: center;
  padding: 6px 2px;
  background: rgba(0, 0, 0,0.4);
  border: 1px solid var(--line-soft);
  border-radius: 6px;
  font-family: "Alegreya SC", serif;
}
.my-char__stat-label{
  font-size: 9px;
  letter-spacing: 0.2em;
  color: var(--text-faint);
  text-transform: uppercase;
}
.my-char__stat-value{
  font-size: 13px;
  color: #fff;
  font-weight: 700;
}
.my-char__empty{
  grid-column: 1 / -1;
  text-align: center;
  padding: 36px 16px;
  color: var(--text-dim);
  font-style: italic;
  border: 1px dashed var(--line-soft);
  border-radius: 12px;
}
.my-char__points{
  display: flex; align-items: center; gap: 6px;
  padding: 8px 12px; margin-top: 12px;
  background: rgba(74, 208, 138,0.08); border: 1px dashed #4ad08a; border-radius: 8px;
  font-family: "Barlow Condensed", sans-serif; font-size: 11.5px; letter-spacing: 0.18em;
  text-transform: uppercase; color: #5eff96;
  text-shadow: 0 0 8px rgba(74, 208, 138,0.45);
}
.my-char__points b{ color: #fff; }
.my-char__actions{
  display: grid; grid-template-columns: repeat(2, 1fr); gap: 6px;
  margin-top: 12px; position: relative; z-index: 1;
}
.my-char__btn{
  padding: 8px 10px; background: rgba(0, 0, 0,0.55); border: 1px solid var(--line);
  border-radius: 8px; color: var(--text-dim);
  font-family: "Alegreya SC", serif; font-weight: 700; font-size: 11px;
  letter-spacing: 0.12em; text-transform: uppercase;
  cursor: var(--cursor-link); transition: 0.25s;
}
.my-char__btn:hover{
  border-color: var(--tomato); color: #fff;
  background: rgba(255, 150, 80,0.08); text-shadow: 0 0 8px rgba(255, 150, 80,0.45);
  transform: translateY(-1px); box-shadow: 0 5px 10px rgba(255, 150, 80,0.2);
}
.my-char__btn:disabled{ opacity: 0.4; cursor: not-allowed; transform: none; box-shadow: none; }
.my-char__btn--accent{
  grid-column: 1 / -1;
  border-color: var(--tomato);
  color: var(--tomato-bright);
  background: rgba(255, 150, 80,0.08);
}
.my-char__btn--accent:hover{ background: rgba(255, 150, 80,0.18); color: #fff; }
.my-char__msg{
  font-family: "Alegreya SC", serif; font-size: 12px; text-align: center;
  margin-top: 8px; min-height: 18px;
  color: var(--text-dim);
}
.my-char__msg.is-good{ color: #5eff96; text-shadow: 0 0 8px rgba(74, 208, 138,0.45); }
.my-char__msg.is-bad{ color: #ffb685; text-shadow: 0 0 8px rgba(255, 150, 80,0.45); }
@media (max-width: 700px){.coins-bar{ grid-template-columns: 1fr; }}
@keyframes badge-float{
  0%, 100% { transform: translateY(0) rotate(-2deg); }
  50%      { transform: translateY(-6px) rotate(2deg); }
}
@keyframes badge-float-vip{
  0%, 100% { transform: translateY(0) rotate(2deg) scale(1); filter: drop-shadow(0 10px 24px rgba(241, 147, 84,0.45)); }
  50%      { transform: translateY(-8px) rotate(-2deg) scale(1.04); filter: drop-shadow(0 16px 36px rgba(255, 150, 80,0.7)); }
}
.download-view{
  margin-bottom: 60px;
  animation: fade-up 0.55s cubic-bezier(0.2,0.8,0.2,1) both;
}
.download-card{
  position: relative;
  display: grid;
  grid-template-columns: minmax(0, 1.5fr) minmax(0, 1fr);
  gap: 30px;
  align-items: center;
  padding: 56px 48px;
  border: 1px solid var(--line);
  border-top: 2px solid var(--tomato);
  border-radius: 18px;
  background:
    radial-gradient(ellipse at 90% 10%, rgba(255, 150, 80,0.22), transparent 55%),
    radial-gradient(ellipse at 10% 90%, rgba(101, 54, 22,0.32), transparent 55%),
    linear-gradient(135deg, rgba(40, 22, 11,0.92), rgba(8, 4, 3,0.98) 70%);
  box-shadow:
    0 30px 80px rgba(0, 0, 0,0.7),
    0 0 32px rgba(255, 150, 80,0.18),
    inset 0 0 30px rgba(0, 0, 0,0.5);
  overflow: hidden;
  isolation: isolate;
}
.download-card::before{
  content: "";
  position: absolute;
  top: 0; left: 50%;
  width: 70%;
  height: 2px;
  background: linear-gradient(90deg, transparent, var(--tomato), transparent);
  transform: translateX(-50%);
  filter: drop-shadow(0 0 8px var(--tomato));
  z-index: 4;
  animation: dl-line 4s ease-in-out infinite;
}
@keyframes dl-line{
  0%, 100% { width: 50%; opacity: 0.55; }
  50%      { width: 90%; opacity: 1; }
}
.download-card::after{
  content: "✦";
  position: absolute;
  top: 22px;
  left: 26px;
  font-size: 20px;
  color: var(--tomato);
  text-shadow: 0 0 12px var(--tomato), 0 0 22px var(--crimson);
  opacity: 0.8;
  filter: drop-shadow(0 0 4px var(--tomato));
  animation: corner-twinkle 3s ease-in-out infinite alternate;
  z-index: 3;
  pointer-events: none;
}
@keyframes corner-twinkle{
  0%   { opacity: 0.45; transform: scale(0.95); }
  100% { opacity: 1;    transform: scale(1.1); }
}
.download-card__body{
  position: relative;
  z-index: 2;
}
.download-card__eyebrow{
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 6px 16px;
  font-family: "Barlow Condensed", "Alegreya SC", serif;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.28em;
  text-transform: uppercase;
  color: var(--tomato-bright);
  background: rgba(255, 150, 80,0.08);
  border: 1px solid var(--line);
  border-radius: 999px;
  margin-bottom: 16px;
  text-shadow: 0 0 8px rgba(255, 150, 80,0.5);
}
.download-card__eyebrow::before{
  content: "";
  display: inline-block;
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: var(--tomato);
  box-shadow: 0 0 8px var(--tomato);
  animation: live-pulse 1.6s ease-out infinite;
}
.download-card__title{
  margin: 0 0 14px;
  font-family: "Grenze Gotisch", "Alegreya SC", serif;
  font-size: 42px;
  font-weight: 800;
  letter-spacing: 0.06em;
  background: linear-gradient(180deg, #f8f4f0 0%, var(--tomato) 60%, var(--crimson) 100%);
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
  text-shadow: 0 0 22px rgba(255, 150, 80,0.3);
  line-height: 1.05;
}
.download-card__desc{
  margin: 0 0 24px;
  font-size: 17px;
  color: var(--text-dim);
  max-width: 480px;
  line-height: 1.55;
}
.download-card__cta{
  display: flex;
  flex-wrap: wrap;
  gap: 14px;
}
.download-card__art{
  position: relative;
  z-index: 1;
  width: 100%;
  height: 380px;
  background-image: none;
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
  filter:
    drop-shadow(0 22px 32px rgba(0, 0, 0,0.7))
    drop-shadow(0 0 36px rgba(255, 150, 80,0.45));
  animation: dl-float 5s ease-in-out infinite;
}
@keyframes dl-float{
  0%, 100% { transform: translateY(0) rotate(0); }
  50%      { transform: translateY(-10px) rotate(-1deg); }
}
.download-card__art::before{
  content: "";
  position: absolute;
  inset: 0;
  background: radial-gradient(ellipse at center, rgba(255, 150, 80,0.35), transparent 55%);
  filter: blur(20px);
  z-index: -1;
  animation: dl-aura 4s ease-in-out infinite alternate;
}
@keyframes dl-aura{
  0%   { opacity: 0.45; }
  100% { opacity: 0.85; }
}
@keyframes kenburns{
  0%   { transform: scale(1) translateX(0) translateY(0); }
  100% { transform: scale(1.08) translateX(-1.5%) translateY(-1%); }
}
@keyframes gear-spin{
  to { transform: rotate(360deg); }
}
.admin-field{
  display: flex;
  flex-direction: column;
  gap: 5px;
  margin-top: 10px;
}
.admin-field__label{
  font-size: 11px;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: var(--text-dim);
}
.admin-field input,
.admin-field textarea,
.admin-grid input{
  background: rgba(0, 0, 0,0.55);
  border: 1px solid var(--line);
  border-radius: 7px;
  color: var(--text);
  padding: 9px 12px;
  font-family: inherit;
  font-size: 14px;
  outline: none;
  transition: border-color 0.2s, box-shadow 0.2s;
  min-width: 0;
  width: 100%;
  resize: vertical;
}
.admin-field textarea{ min-height: 64px; line-height: 1.45; }
.admin-field--checkbox{
  display: flex !important;
  flex-direction: row !important;
  align-items: center;
  gap: 10px;
  padding: 10px 12px;
  background: rgba(0, 0, 0,0.4);
  border: 1px solid var(--line-soft);
  border-radius: 8px;
  cursor: var(--cursor-link);
  transition: border-color 0.2s, background 0.2s;
}
.admin-field--checkbox:hover{ border-color: var(--tomato); background: rgba(255, 150, 80,0.06); }
.admin-field--checkbox input[type="checkbox"]{
  width: 18px !important; height: 18px; flex-shrink: 0;
  accent-color: var(--tomato);
  cursor: var(--cursor-link);
  margin: 0;
}
.admin-field--checkbox span{
  font-family: var(--font-serif); font-size: 13.5px;
  color: var(--text); letter-spacing: 0.04em;
}
.admin-field input:focus,
.admin-field textarea:focus,
.admin-grid input:focus{
  border-color: var(--tomato);
  box-shadow: 0 0 0 3px rgba(255, 150, 80,0.16);
}
.dl-modal{
  position: fixed;
  inset: 0;
  z-index: 110;
  background: rgba(4, 2, 1,0.88);
  backdrop-filter: blur(10px);
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 24px;
  animation: dl-modal-in 0.25s ease both;
}
@keyframes dl-modal-in{
  from { opacity: 0; }
  to   { opacity: 1; }
}
.dl-modal__card{
  position: relative;
  width: 100%;
  max-width: 480px;
  background: linear-gradient(180deg, rgba(20, 11, 7,0.96), rgba(8, 4, 3,0.98));
  border: 1px solid var(--line-strong);
  border-radius: 16px;
  padding: 36px 30px 30px;
  box-shadow:
    0 30px 80px rgba(0, 0, 0,0.7),
    0 0 0 1px rgba(255, 150, 80,0.08),
    0 0 60px rgba(255, 150, 80,0.18);
  animation: dl-modal-pop 0.35s cubic-bezier(0.2,0.8,0.2,1) both;
}
@keyframes dl-modal-pop{
  from { transform: translateY(20px) scale(0.96); opacity: 0; }
  to   { transform: translateY(0) scale(1); opacity: 1; }
}
.dl-modal__card::before{
  content: "";
  position: absolute;
  inset: 0;
  border-radius: 16px;
  background: radial-gradient(ellipse at 50% 0%, rgba(255, 150, 80,0.18), transparent 60%);
  pointer-events: none;
}
.dl-modal__close{
  position: absolute;
  top: 14px;
  right: 14px;
  width: 36px;
  height: 36px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 26px;
  font-family: "Alegreya SC", serif;
  line-height: 1;
  color: var(--text-dim);
  background: rgba(0, 0, 0,0.5);
  border: 1px solid var(--line);
  border-radius: 50%;
  cursor: var(--cursor-link);
  transition: color 0.2s, background 0.2s, border-color 0.2s, transform 0.2s;
  z-index: 1;
}
.dl-modal__close:hover{
  color: #fff;
  background: rgba(255, 150, 80,0.3);
  border-color: var(--tomato);
  transform: scale(1.08) rotate(90deg);
}
.dl-modal__head{
  text-align: center;
  margin-bottom: 24px;
  position: relative;
  z-index: 1;
}
.dl-modal__eyebrow{
  display: inline-block;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.28em;
  text-transform: uppercase;
  color: var(--tomato-soft);
  margin-bottom: 10px;
}
.dl-modal__title{
  margin: 0;
  font-family: "Alegreya SC", serif;
  font-weight: 800;
  font-size: 24px;
  letter-spacing: 0.05em;
  background: linear-gradient(180deg, #fff, var(--tomato));
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
}
.dl-modal__options{
  display: flex;
  flex-direction: column;
  gap: 12px;
  position: relative;
  z-index: 1;
}
.dl-option{
  display: flex;
  align-items: center;
  gap: 16px;
  padding: 16px 18px;
  border: 1px solid var(--line);
  border-radius: 12px;
  background: rgba(0, 0, 0,0.55);
  color: var(--text);
  text-decoration: none;
  transition: transform 0.2s, border-color 0.25s, background 0.25s, box-shadow 0.25s;
  position: relative;
  overflow: hidden;
}
.dl-option::before{
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  bottom: 0;
  width: 4px;
  background: var(--dl-accent, var(--tomato));
  opacity: 0;
  transition: opacity 0.25s;
}
.dl-option:hover{
  transform: translateY(-2px);
  border-color: var(--dl-accent, var(--tomato));
  background: var(--dl-bg-hover, rgba(255, 150, 80,0.08));
  box-shadow: 0 12px 28px var(--dl-shadow, rgba(255, 150, 80,0.25));
}
.dl-option:hover::before{ opacity: 1; }
.dl-option__icon{
  width: 52px;
  height: 52px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 10px;
  background: var(--dl-icon-bg, rgba(255, 150, 80,0.12));
  color: var(--dl-accent, var(--tomato-bright));
  border: 1px solid var(--line-soft);
  flex-shrink: 0;
  transition: background 0.25s, color 0.25s, transform 0.25s;
}
.dl-option:hover .dl-option__icon{
  background: var(--dl-accent, var(--tomato));
  color: #fff;
  transform: scale(1.06) rotate(-4deg);
}
.dl-option__body{
  flex: 1;
  min-width: 0;
}
.dl-option__name{
  display: block;
  font-family: "Alegreya SC", serif;
  font-weight: 800;
  font-size: 18px;
  letter-spacing: 0.08em;
  color: #fff;
  margin-bottom: 2px;
}
.dl-option__desc{
  display: block;
  font-size: 13px;
  color: var(--text-dim);
}
.dl-option__arrow{
  font-family: "Alegreya SC", serif;
  font-size: 22px;
  color: var(--dl-accent, var(--tomato));
  transition: transform 0.25s;
  flex-shrink: 0;
}
.dl-option:hover .dl-option__arrow{
  transform: translateX(6px);
}
.dl-option--mediafire{
  --dl-accent: #0099ff;
  --dl-bg-hover: rgba(0, 153, 255, 0.1);
  --dl-icon-bg: rgba(0, 153, 255, 0.15);
  --dl-shadow: rgba(0, 153, 255, 0.32);
}
.dl-option--mega{
  --dl-accent: #d97330;
  --dl-bg-hover: rgba(217, 115, 48, 0.1);
  --dl-icon-bg: rgba(217, 115, 48, 0.15);
  --dl-shadow: rgba(217, 115, 48, 0.35);
}
@media (max-width: 480px){.dl-modal__card{ padding: 30px 20px 24px; }
.dl-modal__title{ font-size: 20px; }
.dl-option{ padding: 14px; gap: 12px; }
.dl-option__icon{ width: 44px; height: 44px; }
.dl-option__name{ font-size: 16px; }}
@keyframes lightbox-in{
  from { opacity: 0; }
  to   { opacity: 1; }
}
@keyframes lightbox-zoom{
  from { transform: scale(0.92); opacity: 0; }
  to   { transform: scale(1);    opacity: 1; }
}
@media (max-width: 900px){.download-card{
    grid-template-columns: 1fr;
    padding: 30px 24px;
  }
.download-card__art{ display: none; }}
@media (max-width: 560px){.download-card__title{ font-size: 24px; }
.download-card__desc{ font-size: 14px; }
.topbar__actions .btn--sm{ padding: 8px 12px; font-size: 11px; }}
@media (max-width: 900px){.class-card:hover,
  .event-card:hover,
  .benefit-card:hover,
  .stat-card:hover,
  .chip:hover,
  .dl-option:hover{
    transform: none;
    box-shadow: none;
  }
.dl-modal,
  .lightbox,
  .admin-modal{
    backdrop-filter: blur(4px);
    -webkit-backdrop-filter: blur(4px);
  }}
@keyframes killerPulseLite{
  0%, 100% { transform: translate(-50%, -50%); opacity: 0.92; }
  50%      { transform: translate(-50%, -50%); opacity: 1; }
}
@media (max-width: 700px){.hero,
  .auth-card,
  .download-card,
  .benefit-card,
  .killer-frame{
    box-shadow: 0 10px 24px rgba(0, 0, 0,0.5);
  }
.hero,
  .classes-view,
  .ranking-view,
  .events-view,
  .benefits-view,
  .gallery-view,
  .download-view{
    animation-duration: 0.35s;
  }}
@keyframes slide-nexoria-drift{
  0%   { transform: translate3d(0, 4%, 0); }
  50%  { transform: translate3d(-2%, -1%, 0); }
  100% { transform: translate3d(-4%, -6%, 0); }
}
@keyframes rune-menu-in{
  from { opacity: 0; transform: translate(-30px, -50%); }
  to   { opacity: 1; transform: translate(0, -50%); }
}
@keyframes cs-rune-pulse{
  0%, 100% { box-shadow: 0 6px 14px rgba(0, 0, 0,0.55), 0 0 10px rgba(255, 150, 80,0.4); }
  50%      { box-shadow: 0 6px 14px rgba(0, 0, 0,0.55), 0 0 24px rgba(255, 150, 80,0.85); }
}
@keyframes podium-glow{
  0%, 100% { box-shadow: 0 25px 50px rgba(0, 0, 0,0.9), 0 0 24px rgba(255, 150, 80,0.18), inset 0 0 20px rgba(0, 0, 0,0.5); }
  50%      { box-shadow: 0 30px 60px rgba(0, 0, 0,0.9), 0 0 38px rgba(255, 150, 80,0.42), inset 0 0 22px rgba(0, 0, 0,0.5); }
}
@keyframes podium-glow-killer{
  0%, 100% { box-shadow: 0 25px 50px rgba(0, 0, 0,0.9), 0 0 28px rgba(255, 150, 80,0.25), inset 0 0 20px rgba(0, 0, 0,0.5); }
  50%      { box-shadow: 0 30px 60px rgba(0, 0, 0,0.9), 0 0 44px rgba(255, 71, 87,0.55), inset 0 0 22px rgba(0, 0, 0,0.5); }
}
@keyframes mt-fade{
  0%   { transform: translate(-50%, -50%) scale(1);   opacity: 0.85; }
  100% { transform: translate(-50%, -50%) scale(0.1) translateY(18px); opacity: 0; }
}
@keyframes empty-pulse{
  0%, 100% { opacity: 0.45; transform: scale(1); }
  50%      { opacity: 0.7;  transform: scale(1.03); }
}
@media (max-width: 700px){.my-chars-grid{ grid-template-columns: 1fr; gap: 14px; }
.my-char{ padding: 16px 14px; }
.my-char__head{ gap: 11px; margin-bottom: 11px; }
.my-char__avatar{ width: 56px; height: 56px; border-radius: 12px; }
.my-char__name{ font-size: 17px; }
.my-char__class{ font-size: 11px; letter-spacing: 0.12em; }
.my-char__metrics{ gap: 6px; margin-bottom: 10px; }
.metric{ padding: 7px 4px; }
.metric__value{ font-size: 16px; }
.metric__label{ font-size: 9px; letter-spacing: 0.16em; }
.my-char__map{ padding: 8px 10px; margin-bottom: 9px; }
.my-char__map-name{ font-size: 12px; }
.my-char__map-pos{ font-size: 10px; }
.my-char__stats{ gap: 3px; flex-wrap: wrap; }
.my-char__stat{ padding: 5px 2px; min-width: 18%; }
.my-char__stat-value{ font-size: 12px; }
.my-char__stat-label{ font-size: 8.5px; letter-spacing: 0.16em; }
.my-char__points{ padding: 7px 10px; font-size: 10.5px; margin-top: 9px; }
.my-char__actions{ margin-top: 9px; gap: 5px; }
.my-char__btn{ padding: 7px 8px; font-size: 10px; letter-spacing: 0.08em; }
.download-card{ padding: 30px 22px; }
.download-card__title{ font-size: 28px; }
.download-card__desc{ font-size: 15px; }
.download-card__art{ height: 260px; }}
@media (max-width: 480px){.my-char__avatar{ width: 50px; height: 50px; }
.my-char__name{ font-size: 16px; }
.my-char__stat{ flex: 0 0 calc(50% - 2px); min-width: 0; }}
@keyframes nexoria-page-arrive{
  from { opacity: 0; transform: translateY(12px); filter: saturate(0.76); }
  to   { opacity: 1; transform: translateY(0); filter: saturate(1); }
}
@keyframes nexoria-document-out{
  to { opacity: 0; filter: brightness(0.46) saturate(1.15); }
}
@keyframes nexoria-document-in{
  from { opacity: 0; filter: brightness(0.55) saturate(0.72); }
  to   { opacity: 1; filter: brightness(1) saturate(1); }
}
@keyframes nexoria-mist-drift{
  to { transform: rotate(0deg) translateX(0) scale(1.08); }
}
@keyframes nexoria-rift-cross{
  0%   { left: -8%; opacity: 0; }
  15%  { opacity: 1; }
  75%  { opacity: 1; }
  100% { left: 108%; opacity: 0; }
}
@keyframes nexoria-route-content-in{
  to { opacity: 1; transform: translateY(0) scale(1); }
}
@keyframes nexoria-seal-spin{ to { transform: rotate(360deg); } }
@keyframes nexoria-seal-breathe{ to { transform: scale(1.06); filter: drop-shadow(0 0 22px rgba(126, 203, 255, 0.95)); } }
@keyframes nexoria-dot{ to { opacity: 0.28; transform: translateY(3px); } }
@keyframes nexoria-progress-run{
  0%   { width: 10%; transform: translateX(-100%); }
  45%  { width: 48%; transform: translateX(70%); }
  100% { width: 74%; transform: translateX(32%); }
}
@keyframes nexoria-action-flow{ to { background-position: -220% 0; } }
@keyframes nexoria-surface-enter{
  from { opacity: 0; transform: translateY(10px) scale(0.985); }
  to   { opacity: 1; transform: translateY(0) scale(1); }
}
@keyframes nexoria-list-enter{
  from { opacity: 0; transform: translateY(14px) scale(0.98); filter: saturate(0.6); }
  to   { opacity: 1; transform: translateY(0) scale(1); filter: saturate(1); }
}
.nexoria-visitors{
  position: relative;
  isolation: isolate;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  min-width: 96px;
  height: 38px;
  padding: 5px 12px 5px 9px;
  flex: 0 0 auto;
  overflow: hidden;
  color: #ffb685;
  border: 1px solid rgba(255, 150, 80, 0.36);
  border-radius: 10px;
  background:
    radial-gradient(circle at 18% 0%, rgba(255, 150, 80, 0.19), transparent 46%),
    linear-gradient(145deg, rgba(28, 15, 8, 0.9), rgba(7, 3, 3, 0.88));
  box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.025), 0 0 18px rgba(255, 150, 80, 0.07);
}
.nexoria-visitors::after{
  content: "";
  position: absolute;
  z-index: -1;
  inset: auto -25% -18px 35%;
  height: 28px;
  background: rgba(255, 150, 80, 0.2);
  filter: blur(13px);
  opacity: 0;
  transition: opacity 0.35s ease;
}
.nexoria-visitors.is-ready::after{ opacity: 1; }
.nexoria-visitors.is-unavailable{ opacity: 0.58; }
.nexoria-visitors__icon{
  display: grid;
  place-items: center;
  width: 23px;
  height: 23px;
  flex: 0 0 23px;
  color: #ffb17d;
  border: 1px solid rgba(255, 177, 125, 0.28);
  border-radius: 7px;
  background: rgba(255, 150, 80, 0.08);
}
.nexoria-visitors__icon svg{
  width: 14px;
  height: 14px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.7;
}
.nexoria-visitors__copy{
  display: grid;
  align-content: center;
  gap: 0;
  min-width: 0;
  line-height: 1;
}
.nexoria-visitors__copy small{
  color: rgba(242, 172, 126, 0.58);
  font-family: var(--font-serif, "Alegreya SC", serif);
  font-size: 7px;
  font-weight: 700;
  letter-spacing: 0.18em;
  text-transform: uppercase;
}
.nexoria-visitors__copy strong{
  margin-top: 3px;
  color: #fff;
  font-family: var(--font-tech, "Barlow Condensed", sans-serif);
  font-size: 15px;
  font-variant-numeric: tabular-nums;
  line-height: 0.85;
  text-shadow: 0 0 10px rgba(255, 177, 125, 0.72);
}
.nexoria-visitors--floating{
  position: fixed;
  z-index: 120;
  top: 16px;
  right: 18px;
}
.nexoria-credit{
  position: fixed;
  z-index: 120;
  right: 18px;
  bottom: 18px;
  isolation: isolate;
  display: grid;
  grid-template-columns: 34px auto;
  align-items: center;
  gap: 9px;
  width: 184px;
  min-height: 48px;
  padding: 6px 13px 6px 7px;
  overflow: hidden;
  color: #fff;
  text-decoration: none;
  border: 1px solid rgba(255, 177, 125, 0.58);
  border-radius: 13px 5px 13px 5px;
  background:
    linear-gradient(112deg, rgba(52, 28, 14, 0.97), rgba(16, 8, 5, 0.96) 58%, rgba(42, 23, 10, 0.96));
  box-shadow:
    0 10px 30px rgba(0, 0, 0, 0.5),
    0 0 18px rgba(255, 150, 80, 0.14),
    inset 0 0 0 1px rgba(255, 255, 255, 0.025);
  transition: transform 0.24s ease, border-color 0.24s ease, box-shadow 0.24s ease;
}
.nexoria-credit::before{
  content: "";
  position: absolute;
  z-index: -1;
  inset: 0;
  background: linear-gradient(105deg, transparent 24%, rgba(255, 255, 255, 0.13) 48%, transparent 72%);
  transform: translateX(-120%);
  transition: transform 0.55s ease;
}
.nexoria-credit:hover{
  color: #fff;
  transform: translateY(-3px);
  border-color: rgba(255, 182, 133, 0.95);
  box-shadow:
    0 14px 34px rgba(0, 0, 0, 0.54),
    0 0 27px rgba(255, 150, 80, 0.28),
    inset 0 0 0 1px rgba(255, 255, 255, 0.045);
}
.nexoria-credit:hover::before{ transform: translateX(120%); }
.nexoria-credit:focus-visible{
  outline: 2px solid #ffb685;
  outline-offset: 4px;
}
.nexoria-credit__seal{
  position: relative;
  display: grid;
  place-items: center;
  width: 34px;
  height: 34px;
  color: #ffb685;
  border: 1px solid rgba(255, 182, 133, 0.55);
  border-radius: 10px 3px 10px 3px;
  background: radial-gradient(circle, rgba(255, 150, 80, 0.22), rgba(255, 150, 80, 0.04) 68%);
  box-shadow: 0 0 15px rgba(255, 150, 80, 0.19);
}
.nexoria-credit__seal svg{
  width: 20px;
  height: 20px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.35;
  stroke-linecap: round;
  stroke-linejoin: round;
}
.nexoria-credit__copy{
  display: grid;
  align-content: center;
  gap: 2px;
  min-width: 0;
  line-height: 1;
}
.nexoria-credit__copy small{
  color: rgba(255, 182, 133, 0.72);
  font-family: var(--font-tech, "Barlow Condensed", sans-serif);
  font-size: 8px;
  font-weight: 700;
  letter-spacing: 0.22em;
  text-transform: uppercase;
}
.nexoria-credit__copy strong{
  overflow: hidden;
  color: #fff;
  font-family: var(--font-serif, "Alegreya SC", serif);
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 0.01em;
  line-height: 1.15;
  text-overflow: ellipsis;
  white-space: nowrap;
  text-shadow: 0 0 12px rgba(255, 177, 125, 0.42);
}
.nexoria-credit__spark{
  position: absolute;
  top: 6px;
  right: 7px;
  width: 3px;
  height: 3px;
  border-radius: 50%;
  background: #fff;
  box-shadow: 0 0 7px #ffb17d;
  animation: nexoria-credit-pulse 2.4s ease-in-out infinite;
}
@keyframes nexoria-credit-pulse{
  0%, 100% { opacity: 0.32; transform: scale(0.75); }
  50% { opacity: 1; transform: scale(1.25); }
}
@media (max-width: 700px){.nexoria-visitors{
    min-width: 56px;
    height: 36px;
    gap: 6px;
    padding: 5px 8px;
  }
.nexoria-visitors__copy small{ display: none; }
.nexoria-visitors__copy strong{ margin-top: 0; font-size: 14px; }
.nexoria-visitors__icon{ width: 21px; height: 21px; flex-basis: 21px; }
.nexoria-visitors--floating{
    top: 10px;
    right: 10px;
  }
.nexoria-credit{
    right: 10px;
    bottom: calc(10px + env(safe-area-inset-bottom, 0px));
    width: 172px;
    min-height: 44px;
    grid-template-columns: 30px auto;
    gap: 8px;
    padding: 6px 10px 6px 6px;
  }
.nexoria-credit__seal{ width: 30px; height: 30px; }
.nexoria-credit__seal svg{ width: 18px; height: 18px; }
.nexoria-credit__copy strong{ font-size: 9.5px; }}
@media (max-width: 400px){.nexoria-visitors{
    min-width: 39px;
    padding-inline: 7px;
  }
.topbar__actions .nexoria-visitors__icon{ display: none; }}
@media (prefers-reduced-motion: reduce){.nexoria-credit,
  .nexoria-credit::before,
  .nexoria-credit__spark,
  .nexoria-visitors::after{
    animation: none !important;
    transition: none !important;
  }}
.nexoria-visitors{
  min-width: 82px;
  height: 36px;
  color: var(--text);
  border-color: rgba(201, 107, 44, 0.22);
  border-radius: var(--r-md);
  background: rgba(255, 255, 255, 0.025);
  box-shadow: none;
}
.nexoria-visitors::after{ display: none; }
.nexoria-visitors__icon{ color: var(--gold); border-color: rgba(201, 107, 44, 0.22); background: rgba(201, 107, 44, 0.05); }
.nexoria-visitors__copy small{ color: var(--text-faint); font-family: var(--font-ui); }
.nexoria-visitors__copy strong{ font-family: var(--font-ui); font-weight: 600; text-shadow: none; }
.btn--blade{ clip-path: none; }
.btn--primary,
.mk-btn,
.ws-item__btn,
.ws-cfg__buy,
.svf-submit{
  color: #fff;
  border: 1px solid #c2672b;
  background: linear-gradient(180deg, #b96229, #8c4a1f);
  box-shadow: 0 12px 28px rgba(116, 62, 26, 0.24), inset 0 1px rgba(255, 255, 255, 0.12);
}
.btn--primary:hover,
.mk-btn:hover,
.ws-item__btn:hover,
.ws-cfg__buy:hover,
.svf-submit:hover{
  color: #fff;
  border-color: #dd7631;
  background: linear-gradient(180deg, #c96b2c, #9a5222);
  box-shadow: 0 16px 34px rgba(116, 62, 26, 0.32);
  transform: translateY(-2px);
}
.btn--secondary,
.btn--ghost,
.pf-back,
.svf-back{
  color: var(--text);
  border: 1px solid rgba(201, 107, 44, 0.34);
  background: rgba(201, 107, 44, 0.045);
  box-shadow: none;
}
.btn--secondary:hover,
.btn--ghost:hover,
.pf-back:hover,
.svf-back:hover{
  color: #fff;
  border-color: var(--gold);
  background: rgba(201, 107, 44, 0.1);
  box-shadow: none;
  transform: translateY(-2px);
}
.field input,
.admin-field input,
.admin-field textarea,
.admin-field select,
.mk-form-group input,
.mk-form-group select,
.ws-cfg__group input,
.ws-cfg__group select,
.wa-form__group input,
.wa-form__group select,
.pk-catalog__search input,
.pk-list-item__field input,
.pk-list-item__field select,
.svf-field input{
  min-height: 46px;
  color: var(--text);
  border: 1px solid rgba(201, 107, 44, 0.22);
  border-radius: var(--r-md);
  background: rgba(9, 4, 4, 0.76);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.025);
}
.field input:hover,
.admin-field input:hover,
.admin-field textarea:hover,
.admin-field select:hover,
.mk-form-group input:hover,
.mk-form-group select:hover,
.ws-cfg__group input:hover,
.ws-cfg__group select:hover,
.wa-form__group input:hover,
.wa-form__group select:hover,
.svf-field input:hover{ border-color: rgba(201, 107, 44, 0.4); }
.field input:focus,
.admin-field input:focus,
.admin-field textarea:focus,
.admin-field select:focus,
.mk-form-group input:focus,
.mk-form-group select:focus,
.ws-cfg__group input:focus,
.ws-cfg__group select:focus,
.wa-form__group input:focus,
.wa-form__group select:focus,
.svf-field input:focus{
  border-color: var(--gold);
  box-shadow: 0 0 0 3px rgba(185, 98, 41, 0.12);
  outline: none;
}
.field__label,
.admin-field__label,
.mk-form-group label,
.ws-cfg__group label,
.wa-form__group label,
.svf-field__label{
  color: #aa5a25;
  font-family: var(--font-ui);
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 0.1em;
}
.mk-modal,
.ws-modal,
.admin-modal,
.event-editor,
.dl-modal,
.chaos-modal,
.lightbox{
  background: rgba(7, 3, 3, 0.82);
  backdrop-filter: blur(12px);
}
.mk-modal__card,
.ws-modal__card,
.admin-modal__card,
.event-editor__card,
.dl-modal__card,
.chaos-modal__card{
  border: 1px solid rgba(201, 107, 44, 0.28);
  border-radius: var(--r-xl);
  background: #110907;
  box-shadow: var(--shadow-xl);
}
.mk-modal__head,
.ws-modal__head,
.admin-modal__head,
.event-editor__head,
.dl-modal__head,
.chaos-modal__head{ border-bottom-color: var(--line-soft); background: rgba(255, 255, 255, 0.02); }
.btn--lg{ padding: 14px 23px; font-size: 12px; letter-spacing: 0.085em; }
@keyframes premium-float{ 50% { transform: translateY(-7px); } }
@keyframes premium-breathe{ 50% { transform: scale(1.08); opacity: 0.58; } }
@keyframes realm-marquee{ to { transform: translateX(-50%); } }
.section-head h2,
.auth-title,
.welcome-title,
.download-card__title,
.hslider__title,
.mk-head h1,
.ws-head h1,
.cs-hero__title,
.pf-name,
.svf-title,
.mk-modal__head h3,
.ws-modal__head h3{
  color: var(--text);
  font-family: var(--font-display);
  font-weight: 600;
  letter-spacing: -0.025em;
  text-shadow: none;
}
.auth-view,
.stats-view,
.classes-view,
.killer-view,
.ranking-view,
.benefits-view,
.events-view,
.latest-market,
.chaos-view,
.gallery-view,
.download-view,
.user-panel-view{
  padding: 0;
  border: 0;
  background: transparent;
  box-shadow: none;
}
.auth-card,
.auth-side,
.stat-card,
.benefit-card,
.event-card,
.lm-card,
.chaos-card,
.my-char,
.download-card{
  border: 1px solid rgba(201, 107, 44, 0.14);
  background: rgba(16, 8, 6, 0.86);
  box-shadow: var(--shadow-sm);
}
.auth-card::before,
.auth-card::after,
.stat-card::before,
.stat-card::after,
.benefit-card::before,
.event-card::before,
.download-card::before,
.download-card::after{ opacity: 0.28; box-shadow: none; }
.events-grid{
  display: flex;
  align-items: stretch;
  gap: 10px;
  padding-bottom: 14px;
  overflow-x: auto;
  overscroll-behavior-inline: contain;
  scroll-snap-type: inline mandatory;
  scrollbar-width: thin;
}
.events-grid::-webkit-scrollbar{ height: 5px; }
.events-grid::-webkit-scrollbar-track{ background: rgba(255, 255, 255, 0.025); }
.events-grid::-webkit-scrollbar-thumb{ border-radius: 999px; background: rgba(201, 107, 44, 0.34); }
.events-grid > .events-grid__state{ flex: 1 0 100%; }
.event-card{
  flex: 0 0 clamp(210px, 18.5vw, 268px);
  min-width: 0;
  min-height: 410px;
  border-radius: var(--r-lg);
  scroll-snap-align: start;
  transition: flex 440ms cubic-bezier(0.16, 1, 0.3, 1), transform 260ms ease, border-color 260ms ease;
}
.event-card:hover,
.event-card:focus-within{ flex-basis: clamp(300px, 27vw, 390px); border-color: rgba(201, 107, 44, 0.38); box-shadow: var(--shadow-md); transform: translateY(-3px); }
.event-card__icon{ filter: grayscale(0.1) saturate(0.78); }
.event-card__title{ color: var(--text); font-family: var(--font-display); font-size: 25px; font-weight: 600; letter-spacing: -0.012em; text-shadow: none; }
.event-card:hover .event-card__title{ letter-spacing: -0.012em; }
.event-card__cadence{ color: var(--gold); font-family: var(--font-ui); }
.event-card__toggle{ color: var(--text-dim); border-color: var(--line-soft); background: rgba(255, 255, 255, 0.02); }
.download-card{
  min-height: 440px;
  border-radius: var(--r-xl);
  background:
    linear-gradient(90deg, rgba(12, 6, 5, 0.98) 0 45%, rgba(12, 6, 5, 0.5)),
    none 72% center / cover;
  box-shadow: var(--shadow-lg);
}
.download-card__title{ font-size: clamp(42px, 5vw, 66px); }
.download-card__desc{ max-width: 52ch; color: var(--text-dim); }
.download-card__art{ opacity: 0; }
.nexoria-credit{
  right: 14px;
  bottom: 14px;
  width: 172px;
  min-height: 44px;
  border-color: rgba(201, 107, 44, 0.3);
  border-radius: var(--r-md);
  background: rgba(13, 7, 5, 0.94);
  box-shadow: 0 12px 34px rgba(0, 0, 0, 0.36);
}
.nexoria-credit::before{ background: linear-gradient(105deg, transparent 26%, rgba(201, 107, 44, 0.1) 50%, transparent 74%); }
.nexoria-credit:hover{ border-color: var(--gold); box-shadow: 0 16px 42px rgba(0, 0, 0, 0.46); }
.nexoria-credit__seal{ color: var(--gold); border-color: rgba(201, 107, 44, 0.34); border-radius: var(--r-sm); background: rgba(201, 107, 44, 0.05); box-shadow: none; }
.nexoria-credit__copy small{ color: var(--gold); font-family: var(--font-ui); }
.nexoria-credit__copy strong{ font-family: var(--font-ui); font-weight: 600; text-shadow: none; }
.nexoria-credit__spark{ background: var(--gold-bright); box-shadow: 0 0 7px rgba(201, 107, 44, 0.5); }
@media (max-width: 1180px){.events-grid{ flex-wrap: nowrap; }}
@media (max-width: 700px){.nexoria-visitors{ min-width: 38px; width: 38px; padding: 5px; justify-content: center; }
.nexoria-visitors__copy{ display: none; }
.topbar__actions .nexoria-visitors__icon{ display: grid; }
.event-card,
  .event-card:hover,
  .event-card:focus-within{ flex: 0 0 min(82vw, 310px); min-height: 440px; }
.events-grid{ display: flex; grid-template-columns: none; margin-inline: -18px; padding-inline: 18px; }
.download-card{ min-height: 500px; padding: 36px 24px; background-position: 64% center; }
.download-card__body{ max-width: 100%; }
.download-card__title{ font-size: 42px; }
.nexoria-credit{
    position: relative;
    z-index: 8;
    right: auto;
    bottom: auto;
    width: min(184px, calc(100% - 36px));
    margin: 24px auto calc(18px + env(safe-area-inset-bottom, 0px));
  }}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;cursor:pointer}
input[name=user],input[name=user]{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23ff8a3a' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='8' r='4'/%3E%3Cpath d='M4 21a8 8 0 0 1 16 0'/%3E%3C/svg%3E")!important}
input[name=email]{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23ff8a3a' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='5' width='18' height='14' rx='2'/%3E%3Cpath d='m3 7 9 6 9-6'/%3E%3C/svg%3E")!important}
input[name=pass],input[name=pass]{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23ff8a3a' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='5' y='11' width='14' height='10' rx='2'/%3E%3Cpath d='M8 11V7a4 4 0 0 1 8 0v4'/%3E%3C/svg%3E")!important}
input[name=pass2]{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23ff8a3a' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 2l8 3v6c0 5-3.5 9-8 11-4.5-2-8-6-8-11V5z'/%3E%3C/svg%3E")!important}
