/* SEJM KOMBAT R25 — the lifecycle controller is the sole startup painter. */
:root {
  --sk-r25-cover-bg: #101419;
  --sk-r25-cover-panel: rgba(36, 30, 25, 0.94);
  --sk-r25-cover-edge: rgba(201, 168, 106, 0.3);
  --sk-r25-cover-text: #f4f0df;
  --sk-r25-cover-muted: #a8becd;
  --sk-r25-cover-accent: #c9ff3b;
  --sk-r25-cover-danger: #ff6f7d;
  --sk-r25-cover-z: 2147483000;
  --sk-r25-modal-z: 2147483100;
}

/* The parser sets this gate on <html> before it can discover the legacy game
   canvas.  Consequently neither a fast phone paint nor a slow CDN response can
   expose an obsolete MENU frame while the authoritative Pack185 frame is still
   being assembled.  The lifecycle controller removes the gate atomically with
   the boot cover after an explicit painted-frame signal. */
html[data-sk-presentation-gate="pending"] {
  min-width: 100%;
  min-height: 100%;
  background: #171411;
}

html[data-sk-presentation-gate="pending"] body {
  min-width: 100%;
  min-height: 100vh;
  min-height: 100dvh;
  background:
    radial-gradient(circle at 50% 38%, rgba(120, 93, 48, 0.2), transparent 36%),
    linear-gradient(180deg, #171411, #171411);
}

/* R37 parser sign and early shell are provided by inline critical CSS. */
html[data-sk-presentation-gate="pending"] #gc,
html[data-sk-presentation-gate="pending"] #pack147MenuMouseLayer,
html[data-sk-presentation-gate="pending"] #pack153MenuMouseLayer,
html[data-sk-presentation-gate="pending"] #pack156MenuSurface,
html[data-sk-presentation-gate="pending"] #pack158MenuSurface,
html[data-sk-presentation-gate="pending"] #pack159MenuBackdrop,
html[data-sk-presentation-gate="pending"] #pack159MenuSurface,
html[data-sk-presentation-gate="pending"] #pack162MenuMouseSurface,
html[data-sk-presentation-gate="pending"] #pack164MenuMouseSurface,
html[data-sk-presentation-gate="pending"] #pack181MenuSurface,
html[data-sk-presentation-gate="pending"] #pack182MenuSurface,
html[data-sk-presentation-gate="pending"] #pack182UiCanvas,
html[data-sk-presentation-gate="pending"] #pack183MenuSurface,
html[data-sk-presentation-gate="pending"] #pack183SelectSurface,
html[data-sk-presentation-gate="pending"] #pack183UiCanvas,
html[data-sk-presentation-gate="pending"] #pack185MenuSurface,
html[data-sk-presentation-gate="pending"] #pack185SelectSurface,
html[data-sk-presentation-gate="pending"] #pack185UiCanvas,
html[data-sk-presentation-gate="pending"] #pack333r120SelectPreviewCanvas,
html[data-sk-presentation-gate="pending"] #r25MenuWebGLCanvas,
html[data-sk-presentation-gate="pending"] #sejmKombatWebGLUiCanvas {
  visibility: hidden !important;
  opacity: 0 !important;
  pointer-events: none !important;
}

/* R47: a full-viewport title sequence. Only the progress sheen animates;
   the four steps reflect actual lifecycle gates, never elapsed-time estimates. */
#skR25LifecycleCover {
  --sk-r25-cover-scale: 1.25;
  position: fixed;
  inset: 0;
  z-index: var(--sk-r25-cover-z);
  display: flex;
  box-sizing: border-box;
  width: 100%;
  min-height: 100vh;
  min-height: 100dvh;
  padding: max(24px, env(safe-area-inset-top)) max(36px, env(safe-area-inset-right)) max(24px, env(safe-area-inset-bottom)) max(36px, env(safe-area-inset-left));
  overflow: auto;
  overscroll-behavior: contain;
  color: var(--sk-r25-cover-text);
  background:
    linear-gradient(125deg, transparent 0 38%, #c9a86a06 38% 58%, transparent 58%),
    radial-gradient(ellipse at 15% 34%, #483821 0%, transparent 58%),
    radial-gradient(ellipse at 100% 100%, #dfc5940b, transparent 46%),
    #171411;
  font-family: "Atkinson Hyperlegible Next", Arial, sans-serif;
  font-size: calc(20px * var(--sk-r25-cover-scale));
  line-height: 1.45;
  text-align: left;
  pointer-events: auto;
  isolation: isolate;
  contain: layout paint style;
}
#skR25LifecycleCover, #skR25LifecycleCover * { box-sizing: border-box; }
#skR25LifecycleCover [hidden] { display: none !important; }
#skR25LifecycleCover .sk-r25-lifecycle-card {
  width: min(100%, 1380px);
  min-width: 0;
  margin: auto;
  min-height: min(720px, calc(100dvh - 64px));
  display: grid;
  grid-template-columns: minmax(0, 1.05fr) minmax(0, 1fr);
  grid-template-rows: auto 1fr auto;
  column-gap: clamp(32px, 6vw, 120px);
  row-gap: 32px;
  align-items: center;
}
#skR25LifecycleCover .sk-r25-lifecycle-topline,
#skR25LifecycleCover .sk-r25-lifecycle-bottomline {
  grid-column: 1 / -1;
  display: flex;
  align-items: center;
  gap: 24px;
  color: #a9bccb;
  font-size: 13px;
  font-weight: 700;
  letter-spacing: .16em;
}
#skR25LifecycleCover .sk-r25-lifecycle-topline { color: #c9a86a; }
#skR25LifecycleCover .sk-r25-lifecycle-topline i,
#skR25LifecycleCover .sk-r25-lifecycle-bottomline i {
  height: 1px;
  flex: 1;
  background: linear-gradient(90deg, #c9a86a66, #a9bccb26);
}
#skR25LifecycleCover .sk-r25-lifecycle-bottomline > span:first-child {
  display: block;
  width: 48px;
  height: 4px;
  background: #dfc594;
}
#skR25LifecycleCover .sk-r25-lifecycle-brand {
  min-width: 0;
  position: relative;
  padding: 28px 0;
  color: #f4f0df;
}
#skR25LifecycleCover .sk-r25-lifecycle-brand-first,
#skR25LifecycleCover .sk-r25-lifecycle-brand-last {
  display: block;
  font-weight: 800;
  font-size: clamp(52px, 8.6vw, 144px);
  line-height: .91;
  letter-spacing: -.055em;
  white-space: nowrap;
}
#skR25LifecycleCover .sk-r25-lifecycle-brand-first {
  font-size: clamp(64px, 11vw, 184px);
  color: #f4f0df;
}
#skR25LifecycleCover .sk-r25-lifecycle-brand-last { color: #dfc594; }
#skR25LifecycleCover .sk-r25-lifecycle-brand-rule {
  display: block;
  width: 72px;
  height: 5px;
  margin: 26px 0 20px;
  background: #c9a86a;
}
#skR25LifecycleCover .sk-r25-lifecycle-tagline {
  margin: 0;
  font-size: calc(18px * var(--sk-r25-cover-scale));
  line-height: 1.4;
  color: #d7e3e8;
}
#skR25LifecycleCover .sk-r25-lifecycle-loading { min-width: 0; }
#skR25LifecycleCover .sk-r25-lifecycle-kicker {
  margin: 0 0 12px;
  color: #c9a86a;
  font-size: calc(16px * var(--sk-r25-cover-scale));
  font-weight: 700;
  letter-spacing: .06em;
}
#skR25LifecycleCover h1 {
  margin: 0;
  font-size: calc(clamp(24px, 2.7vw, 34px) * var(--sk-r25-cover-scale));
  font-weight: 800;
  line-height: 1.13;
  color: #f4f0df;
  overflow-wrap: anywhere;
}
#skR25LifecycleCover [data-r25-status] {
  margin: 16px 0 28px;
  color: #c6d6e0;
  font-size: calc(20px * var(--sk-r25-cover-scale));
  line-height: 1.45;
}
#skR25LifecycleCover .sk-r25-lifecycle-meter {
  position: relative;
  height: 6px;
  background: #304556;
  overflow: hidden;
}
#skR25LifecycleCover .sk-r25-lifecycle-meter > span {
  display: block;
  height: 100%;
  width: 30%;
  background: linear-gradient(90deg, #c9a86a, #dfc594);
  transform: translateX(-110%);
  animation: sk-r47-loading-sweep 2s ease-in-out infinite;
}
#skR25LifecycleCover .sk-r25-lifecycle-stages {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  margin: 24px 0 0;
  padding: 0;
  gap: 16px 20px;
  list-style: none;
}
#skR25LifecycleCover .sk-r25-lifecycle-stages li {
  display: flex;
  align-items: baseline;
  gap: 9px;
  min-width: 0;
  color: #a9bccb;
  font-size: calc(16px * var(--sk-r25-cover-scale));
  line-height: 1.35;
}
#skR25LifecycleCover .sk-r25-lifecycle-stages b {
  flex-shrink: 0;
  font-size: .8em;
  font-variant-numeric: tabular-nums;
  color: #a9bccb;
}
#skR25LifecycleCover .sk-r25-lifecycle-stages li[data-state="complete"] b { color: #c9a86a; }
#skR25LifecycleCover .sk-r25-lifecycle-stages li[data-state="active"] { color: #ffe5a7; font-weight: 700; }
#skR25LifecycleCover .sk-r25-lifecycle-stages li[data-state="active"] b { color: #ffe5a7; }
#skR25LifecycleCover .sk-r25-lifecycle-failure {
  margin-top: 24px;
  padding-top: 20px;
  border-top: 1px solid #ee789066;
}
#skR25LifecycleCover [data-r25-failure-reason] { margin: 0; color: #d7e3e8; line-height: 1.45; }
#skR25LifecycleCover .sk-r25-lifecycle-actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 22px; }
#skR25LifecycleCover .sk-r25-lifecycle-actions a {
  display: inline-flex;
  justify-content: center;
  align-items: center;
  min-height: 52px;
  max-width: 100%;
  padding: 13px 20px;
  border: 1px solid #6f8fa5;
  border-radius: 2px;
  color: #f4f0df;
  background: linear-gradient(125deg, #172d41, #0b1827);
  font: 700 calc(18px * var(--sk-r25-cover-scale))/1.3 "Atkinson Hyperlegible Next", Arial, sans-serif;
  text-decoration: none;
}
#skR25LifecycleCover .sk-r25-lifecycle-actions a:first-child {
  color: #081522;
  border-color: #ffe5a7;
  background: linear-gradient(115deg, #ffe5a7, #d5ad5d);
  box-shadow: inset 0 -3px #8a672d;
}
#skR25LifecycleCover .sk-r25-lifecycle-actions a:hover { filter: brightness(1.12); }
#skR25LifecycleCover .sk-r25-lifecycle-actions a:focus-visible { outline: 3px solid #ffe5a7; outline-offset: 4px; }
html[data-sk-lifecycle-state="LEGAL"] #sejmKombatLegalDisclaimerOverlay,
html[data-sk-lifecycle-state="FIRST_RUN"] #sk-r40r42-root,
html[data-sk-lifecycle-state="FIRST_RUN"] #sk-r40r42-modal,
html[data-sk-lifecycle-state="FIRST_RUN"] [data-r25-first-run] {
  z-index: var(--sk-r25-modal-z) !important;
  pointer-events: auto !important;
}

html[data-sk-lifecycle-state="FAILED"] #skR25LifecycleCover .sk-r25-lifecycle-kicker { color: #ffb1bf; }
html[data-sk-lifecycle-state="READY"] #skR25LifecycleCover { display: none; }
@keyframes sk-r47-loading-sweep { to { transform: translateX(440%); } }
@media (prefers-reduced-motion: reduce) {
  #skR25LifecycleCover .sk-r25-lifecycle-meter > span { animation: none; transform: none; }
}
@media (max-height: 560px) and (orientation: landscape) {
  #skR25LifecycleCover { padding: max(16px, env(safe-area-inset-top)) max(24px, env(safe-area-inset-right)) max(16px, env(safe-area-inset-bottom)) max(24px, env(safe-area-inset-left)); }
  #skR25LifecycleCover .sk-r25-lifecycle-card { min-height: calc(100dvh - 32px); gap: 18px 32px; }
  #skR25LifecycleCover .sk-r25-lifecycle-brand { padding: 0; }
  #skR25LifecycleCover .sk-r25-lifecycle-brand-first { font-size: clamp(64px, 11vw, 128px); }
  #skR25LifecycleCover .sk-r25-lifecycle-brand-last { font-size: clamp(52px, 8.6vw, 102px); }
  #skR25LifecycleCover .sk-r25-lifecycle-brand-rule { margin: 14px 0 12px; }
  #skR25LifecycleCover .sk-r25-lifecycle-kicker { margin-bottom: 7px; }
  #skR25LifecycleCover [data-r25-status] { margin: 10px 0 16px; }
  #skR25LifecycleCover .sk-r25-lifecycle-stages { margin-top: 14px; gap: 8px 12px; }
  #skR25LifecycleCover .sk-r25-lifecycle-bottomline { display: none; }
}
@media (max-width: 600px) and (orientation: portrait) {
  #skR25LifecycleCover { padding: max(22px, env(safe-area-inset-top)) max(24px, env(safe-area-inset-right)) max(22px, env(safe-area-inset-bottom)) max(24px, env(safe-area-inset-left)); }
  #skR25LifecycleCover .sk-r25-lifecycle-card { grid-template-columns: minmax(0, 1fr); gap: 26px; }
  #skR25LifecycleCover .sk-r25-lifecycle-brand { padding: 6px 0; }
  #skR25LifecycleCover .sk-r25-lifecycle-brand-first { font-size: clamp(64px, 22vw, 128px); }
  #skR25LifecycleCover .sk-r25-lifecycle-brand-last { font-size: clamp(52px, 17.2vw, 100px); }
  #skR25LifecycleCover .sk-r25-lifecycle-bottomline { margin-top: 12px; }
  #skR25LifecycleCover .sk-r25-lifecycle-topline { font-size: 11px; letter-spacing: .08em; gap: 12px; }
}
