/* Reference measurements: warmine.net public CSS, inspected 2026-10-23.
 * Inter Variable, 1408px container with 48px gutters, fixed navigation,
 * 52/57.2px centered heading, 6px surfaces, 1080px mobile breakpoint.
 * GAF content and artwork remain specific to this project. */
@font-face {
  font-family: 'Inter';
  src: url('/fonts/inter/InterVariable.woff2') format('woff2');
  font-weight: 100 900;
  font-style: normal;
  font-display: swap;
}
html.gaf-document { scroll-behavior: smooth; }
.gaf-site {
  --gaf-bg: #0e0f10;
  --gaf-text: #efefef;
  --gaf-muted: #989898;
  --gaf-red: #e54146;
  --gaf-surface: #efefef0a;
  --gaf-border: #efefef0f;
  background: var(--gaf-bg);
  color: var(--gaf-text);
  font: 400 16px/1.5 'Inter', Arial, sans-serif;
  font-synthesis: none;
  -webkit-font-smoothing: antialiased;
}
.gaf-site *, .gaf-site *::before, .gaf-site *::after { box-sizing: border-box; }
.gaf-site .website { padding-top: 0; background: var(--gaf-bg); }
.gaf-site #body { padding-bottom: 0; }
.gaf-site h1, .gaf-site h2, .gaf-site h3, .gaf-site p, .gaf-site figure { margin: 0; font-family: inherit; }
.gaf-site a { color: inherit; text-decoration: none; transition: color .2s ease-in-out; }
.gaf-site a:hover { color: #fff; text-decoration: none; }
.gaf-site button, .gaf-site summary { font: inherit; }
.gaf-site a:focus-visible, .gaf-site button:focus-visible, .gaf-site summary:focus-visible { outline: 2px solid var(--gaf-red); outline-offset: 4px; }
.gaf-site ::selection { background: var(--gaf-red); color: #fff; }
.gaf-site [id] { scroll-margin-top: 112px; }
.gaf-site h2 { margin-bottom: 16px; font-size: 36px; font-weight: 600; line-height: 1.1; letter-spacing: normal; }
.gaf-site h3 { font-size: 20px; font-weight: 600; line-height: 1.2; }
.gaf-site p { color: var(--gaf-muted); }
.gaf-shell { width: 100%; max-width: 1408px; margin-inline: auto; padding-inline: 48px; }
.gaf-surface { border: 1px solid var(--gaf-border); border-radius: 6px; background: var(--gaf-surface); backdrop-filter: blur(32px); transition: background .2s, border-color .2s; }
a.gaf-surface:hover { border-color: #efefef1a; background: #efefef14; }
.gaf-skip { position: fixed; top: 8px; left: 24px; padding: 12px 20px; border-radius: 6px; background: var(--gaf-red); z-index: 1001; transform: translateY(-160%); }
.gaf-skip:focus { transform: translateY(0); }
.gaf-header { position: fixed; top: 0; left: 0; z-index: 999; width: 100%; }
.gaf-header-inner { display: flex; align-items: center; justify-content: space-between; gap: 32px; margin-top: 12px; padding: 16px 32px; border: 1px solid var(--gaf-border); border-radius: 6px; background: #17191cf5; backdrop-filter: blur(32px); -webkit-backdrop-filter: blur(32px); }
.gaf-brand { display: inline-flex; align-items: center; gap: 10px; flex-shrink: 0; }
.gaf-brand img { display: block; object-fit: contain; }
.gaf-brand > span { display: flex; gap: 4px; font-size: 17px; font-weight: 750; letter-spacing: -.03em; line-height: 24px; white-space: nowrap; }
.gaf-brand strong { font-weight: inherit; }
.gaf-header-menu { display: contents; }
.gaf-nav { display: flex; align-items: center; gap: 48px; margin-inline: auto; }
.gaf-nav a { display: inline-flex; align-items: center; gap: 14px; color: #989898; font-size: 16px; font-weight: 600; white-space: nowrap; }
.gaf-nav i { font-size: 16px; }
.gaf-header-actions { display: flex; align-items: center; gap: 16px; }
.gaf-site .gaf-button { display: inline-flex; align-items: center; justify-content: center; gap: 12px; width: fit-content; min-height: 50px; padding: 16px 24px; border: 1px solid transparent; border-radius: 6px; font-size: 16px; font-weight: 600; line-height: 16px; text-align: center; transition: background .1s ease-in-out, border-color .1s ease-in-out; }
.gaf-site .gaf-button:hover { transform: none; }
.gaf-site .gaf-button-primary { background: var(--gaf-red); border-color: var(--gaf-red); color: #f9f9f9; }
.gaf-site .gaf-button-primary:hover { background: #d32f34; }
.gaf-site .gaf-button-secondary { background: #efefef0a; border-color: var(--gaf-border); color: #efefef; backdrop-filter: blur(32px); }
.gaf-site .gaf-button-secondary:hover { background: #efefef0f; border-color: #efefef14; }
.gaf-header-actions .gaf-button { min-height: 36px; padding: 10px 16px; font-size: 14px; line-height: 14px; white-space: nowrap; }
.gaf-language, .gaf-account { position: relative; }
.gaf-language summary, .gaf-account summary { cursor: pointer; }
.gaf-language summary { display: flex; align-items: center; justify-content: center; width: 36px; height: 36px; border: 1px solid var(--gaf-border); border-radius: 6px; background: #efefef0a; color: #bdbdbd; list-style: none; }
.gaf-language summary::-webkit-details-marker { display: none; }
.gaf-language-options, .gaf-account-menu { position: absolute; top: calc(100% + 10px); right: 0; min-width: 168px; padding: 8px; border: 1px solid var(--gaf-border); border-radius: 6px; background: #1a1b1e; box-shadow: 0 16px 40px #00000059; }
.gaf-language-options button { display: block; width: 100%; padding: 10px 12px; border: 0; border-radius: 6px; background: transparent; color: #bdbdbd; text-align: left; font-size: 13px; cursor: pointer; }
.gaf-language-options button:hover { background: #efefef0a; }
.gaf-language-options button[aria-pressed='true'] { color: var(--gaf-red); }
.gaf-account { max-width: 180px; font-size: 14px; }
.gaf-account summary { overflow-wrap: anywhere; }
.gaf-account-menu { min-width: 250px; }
.gaf-account-menu a { display: block; padding: 10px 12px; color: #bdbdbd; }
.gaf-account-menu a:hover { background: #efefef0a; }
.gaf-menu-toggle { display: none; }
.gaf-site #main { position: relative; isolation: isolate; }
.gaf-homepage #main { overflow: clip; }
.gaf-backdrop { position: absolute; z-index: -1; pointer-events: none; inset: 0 0 auto; height: min(100%, max(1050px, 56.25vw)); max-height: 1350px; overflow: hidden; background: url('/images/background-cybran-20261023.jpg') center top / cover no-repeat; }
.gaf-backdrop::after { content: ''; position: absolute; z-index: 0; inset: 0; background: linear-gradient(180deg, #0e0f1059 0%, #0e0f1099 45%, #0e0f10f2 85%, #0e0f10 100%), linear-gradient(90deg, #0e0f10d9 0%, #0e0f10cc 50%, #0e0f10b3 100%); }
/* Reuse the original artwork through a feathered SVG mask over the beam.
 * Matching cover/position keeps the highlight aligned on narrow screens too. */
.gaf-backdrop::before { content: ''; position: absolute; z-index: 1; inset: 0; background: inherit; opacity: .28; filter: brightness(1.15) saturate(1.2); -webkit-mask: url('/images/background-laser-mask.svg') center top / cover no-repeat; mask: url('/images/background-laser-mask.svg') center top / cover no-repeat; }
.gaf-hero-inner { padding-top: 144px; }
.gaf-embedded .gaf-hero-inner { padding-top: 64px; }
.gaf-heading { max-width: 700px; margin: 0 auto 64px; text-align: center; }
.gaf-site .gaf-heading h1 { margin: 0 0 24px; font-size: 52px; font-weight: 600; line-height: 1.1; letter-spacing: normal; text-wrap: balance; }
.gaf-heading > p { color: #b5b5b5; font-size: 16px; line-height: 24px; text-wrap: pretty; }
.gaf-heading-buttons { display: flex; align-items: center; justify-content: center; gap: 16px; margin-top: 42px; }
.gaf-monitor { width: min(100%, 656px); margin: 64px auto 0; border: 1px solid var(--gaf-border); border-radius: 6px; background: #efefef0a; backdrop-filter: blur(32px); overflow: hidden; }
.gaf-monitor-header { display: flex; align-items: center; justify-content: space-between; gap: 40px; min-height: 112px; padding: 22px 28px; background: #0e0f1042; }
.gaf-site .gaf-monitor-eyebrow { display: flex; align-items: center; gap: 8px; margin-bottom: 9px; color: var(--gaf-muted); font-size: 13px; font-weight: 700; line-height: 15px; letter-spacing: .1em; }
.gaf-status-dot { width: 7px; height: 7px; border-radius: 50%; background: var(--gaf-red); box-shadow: 0 0 9px #e5414680; flex-shrink: 0; }
.gaf-monitor-count { display: flex; align-items: flex-end; gap: 9px; }
.gaf-monitor-count strong { color: var(--gaf-text); font-size: 52px; font-weight: 680; line-height: 48px; letter-spacing: -.045em; font-variant-numeric: tabular-nums; }
.gaf-monitor-count > span { padding-bottom: 4px; color: var(--gaf-muted); font-size: 13px; font-weight: 600; line-height: 16px; }
.gaf-monitor-header .gaf-button { padding: 10px 16px; min-height: 36px; font-size: 14px; line-height: 18px; }
.gaf-monitor-details { display: flex; align-items: center; justify-content: space-between; gap: 24px; padding: 22px 24px 20px; border-top: 1px solid var(--gaf-border); background: linear-gradient(#e5414608, #e5414608), #0e0f1061; }
.gaf-site .gaf-monitor-details h3 { margin: 0 0 5px; font-size: 18px; font-weight: 700; line-height: 21px; }
.gaf-monitor-details p { font-size: 13px; line-height: 16px; }
.gaf-monitor-games { display: flex; align-items: baseline; flex-wrap: wrap; gap: 7px; justify-content: flex-end; }
.gaf-monitor-games strong { font-size: 19px; font-weight: 650; font-variant-numeric: tabular-nums; }
.gaf-monitor-games span { color: var(--gaf-muted); font-size: 12px; }
.gaf-features { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; margin: 64px 0; }
.gaf-feature { display: block; padding: 24px; }
.gaf-feature > i { margin-bottom: 20px; color: var(--gaf-red); font-size: 24px; }
.gaf-site .gaf-feature h3 { margin-bottom: 10px; font-size: 24px; font-weight: 600; line-height: 1.21; }
.gaf-feature p { font-size: 16px; line-height: 24px; }
.gaf-start { display: flex; justify-content: space-between; gap: 200px; padding: 72px 0; }
.gaf-start-meta { display: flex; flex-direction: column; gap: 96px; max-width: 365px; flex-shrink: 0; }
.gaf-start-meta p { line-height: 24px; }
.gaf-start-meta .gaf-button { margin-top: 24px; }
.gaf-site .gaf-start-help h3 { margin-bottom: 16px; }
.gaf-start-help .gaf-text-link { margin-top: 24px; }
.gaf-start-stages { display: flex; align-items: stretch; gap: 16px; min-width: 0; flex: 1; }
.gaf-steps { display: flex; flex-direction: column; gap: 16px; margin: 0; padding: 0; list-style: none; min-width: 0; flex: 1; }
.gaf-step { padding: 24px; }
.gaf-site .gaf-step h3 { display: flex; align-items: baseline; gap: 12px; margin-bottom: 16px; color: #b0b0b0; transition: color .2s; }
.gaf-step-number { color: var(--gaf-red); font-size: 13px; font-variant-numeric: tabular-nums; }
.gaf-step p { margin-bottom: 32px; font-size: 16px; line-height: 24px; }
.gaf-text-link { display: inline-flex; align-items: center; gap: 12px; font-size: 16px; font-weight: 600; text-decoration: underline !important; text-underline-offset: 3px; }
.gaf-site .gaf-step[data-active='true'] h3 { color: var(--gaf-text); }
.gaf-site .gaf-step[data-active='true'] .gaf-text-link { color: var(--gaf-red); }
.gaf-stage-visual { position: relative; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 24px; width: 330px; flex-shrink: 0; overflow: hidden; }
.gaf-stage-visual::before { content: ''; position: absolute; inset: 0; background: repeating-radial-gradient(circle at center, transparent 0 66px, #e5414633 66px 67px, transparent 67px 132px); opacity: .7; transition: transform .2s; }
.gaf-stage-visual:hover::before { transform: scale(1.1); }
.gaf-stage-icon { position: relative; color: var(--gaf-red); font-size: 48px; }
.gaf-stage-index { position: absolute; top: 24px; left: 24px; color: var(--gaf-muted); font-size: 13px; }
.gaf-stage-label { position: relative; padding-inline: 24px; color: var(--gaf-muted); font-size: 14px; text-align: center; }
.gaf-editorial { display: grid; grid-template-columns: 1.15fr 1fr; align-items: center; gap: 64px; margin: 128px 0; }
.gaf-battle-image { position: relative; min-width: 0; border: 1px solid var(--gaf-border); border-radius: 6px; overflow: hidden; }
.gaf-battle-image img { display: block; width: 100%; height: 400px; object-fit: cover; }
.gaf-battle-image figcaption { position: absolute; bottom: 0; left: 0; right: 0; padding: 48px 24px 24px; background: linear-gradient(transparent, #0e0f10d9); color: #efefef; font-size: 12px; letter-spacing: .05em; }
.gaf-editorial-copy p { margin-bottom: 32px; line-height: 24px; }
.gaf-editorial-links { display: flex; flex-wrap: wrap; gap: 16px; }
.gaf-section-heading { text-align: center; }
.gaf-section-heading > p { line-height: 24px; }
.gaf-social-cards { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 16px; margin: 64px 0; }
.gaf-social-card { display: block; padding: 24px; }
.gaf-site .gaf-social-card h3 { display: flex; align-items: center; gap: 16px; margin-bottom: 24px; font-size: 20px; }
.gaf-social-card i { width: 28px; color: var(--gaf-red); font-size: 28px; flex-shrink: 0; }
.gaf-social-card p { font-size: 14px; line-height: 21px; }
.gaf-footer { position: relative; z-index: 0; margin-top: 64px; border-top: 1px solid #efefef1a; background: var(--gaf-bg); }
.gaf-footer-content { display: flex; gap: 64px; padding: 48px 0; }
.gaf-footer-brand { flex: 1; }
.gaf-footer-brand p { max-width: 360px; margin-top: 24px; font-size: 16px; line-height: 24px; }
.gaf-footer-column { display: flex; flex-direction: column; align-items: flex-start; gap: 24px; min-width: 200px; }
.gaf-site .gaf-footer-column h3 { margin-bottom: 0; font-size: 18px; font-weight: 600; line-height: 27px; }
.gaf-footer-column a { color: var(--gaf-muted); font-size: 16px; line-height: 16px; }
.gaf-footer-bottom { display: flex; align-items: center; justify-content: space-between; gap: 32px; padding: 48px 0; border-top: 1px solid #efefef1a; }
.gaf-footer-bottom > p { font-size: 14px; }
.gaf-legal { display: flex; flex-wrap: wrap; gap: 16px; }
.gaf-legal a { color: #bdbdbd; font-size: 14px; line-height: 20px; }
.gaf-flash { margin-bottom: 24px; }
@media (min-width: 2000px) { .gaf-hero-inner { padding-top: 208px; } }
@media (max-width: 1440px) {
  .gaf-start { flex-direction: column; gap: 96px; }
  .gaf-start-meta { flex-direction: row; justify-content: space-between; max-width: none; }
  .gaf-start-meta > div { max-width: 450px; flex: 1; }
  .gaf-social-cards { grid-template-columns: repeat(6, minmax(0, 1fr)); }
  .gaf-social-card { grid-column: span 2; }
  .gaf-social-card:nth-child(-n+2) { grid-column: span 3; }
}
@media (max-width: 1200px) and (min-width: 1081px) {
  .gaf-header-inner { padding-inline: 24px; gap: 24px; }
  .gaf-nav { gap: 24px; }
  .gaf-nav a { gap: 8px; }
  .gaf-header-actions { gap: 10px; }
}
@media (max-width: 1080px) {
  .gaf-shell { padding-inline: 24px; }
  .gaf-header[data-menu-open='true'] { height: 100dvh; overflow-y: auto; background: var(--gaf-bg); }
  .gaf-site.gaf-menu-open { overflow: hidden; }
  .gaf-header-inner { flex-wrap: wrap; padding: 16px 24px; gap: 16px; }
  .gaf-header-menu { display: none; order: 3; width: 100%; }
  .gaf-header-menu[data-open='true'] { display: flex; flex-direction: column; gap: 16px; padding-top: 16px; }
  .gaf-nav { flex-direction: column; align-items: stretch; gap: 0; width: 100%; margin: 0; padding: 8px; border: 1px solid var(--gaf-border); border-radius: 6px; background: var(--gaf-surface); }
  .gaf-nav a { padding: 16px; }
  .gaf-header-actions { flex-wrap: wrap; gap: 16px; padding: 16px; border: 1px solid var(--gaf-border); border-radius: 6px; background: var(--gaf-surface); }
  .gaf-header-actions .gaf-button { flex: 1; min-height: 44px; }
  .gaf-menu-toggle { display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 6px; width: 40px; height: 40px; padding: 10px; border: 1px solid var(--gaf-border); border-radius: 6px; background: var(--gaf-surface); cursor: pointer; }
  .gaf-menu-toggle span { display: block; width: 16px; height: 2px; background: var(--gaf-text); transition: transform .2s; }
  .gaf-menu-toggle[aria-expanded='true'] span:first-child { transform: translateY(4px) rotate(45deg); }
  .gaf-menu-toggle[aria-expanded='true'] span:last-child { transform: translateY(-4px) rotate(-45deg); }
  .gaf-language-options { left: 0; right: auto; z-index: 1; }
  .gaf-account { max-width: 100%; }
  .gaf-account-menu { position: static; margin-top: 16px; box-shadow: none; }
  .gaf-site:not(.gaf-js) .gaf-header { position: relative; }
  .gaf-site:not(.gaf-js) .gaf-header-menu { display: flex; flex-direction: column; gap: 16px; }
  .gaf-site:not(.gaf-js) .gaf-menu-toggle { display: none; }
  .gaf-site .gaf-heading h1 { font-size: 24px; line-height: 26.4px; }
  .gaf-heading { max-width: none; text-align: left; }
  .gaf-heading-buttons { flex-direction: column; align-items: stretch; }
  .gaf-heading-buttons .gaf-button { width: 100%; }
  .gaf-monitor { margin-top: 48px; }
  .gaf-features { grid-template-columns: 1fr; }
  .gaf-start { gap: 64px; }
  .gaf-start-meta { flex-direction: column; gap: 48px; }
  .gaf-start-meta > div { max-width: none; }
  .gaf-start-meta .gaf-button { width: 100%; }
  .gaf-stage-visual { display: none; }
  .gaf-editorial { grid-template-columns: 1fr; gap: 32px; margin: 64px 0; }
  .gaf-social-cards { grid-template-columns: 1fr; }
  .gaf-social-card, .gaf-social-card:nth-child(-n+2) { grid-column: auto; }
  .gaf-footer-content { flex-direction: column; border-bottom: 1px solid #efefef1a; }
  .gaf-footer-brand { padding-bottom: 32px; border-bottom: 1px solid #efefef1a; }
  .gaf-footer-bottom { flex-direction: column; align-items: flex-start; border-top: 0; }
  .gaf-legal { flex-direction: column; align-items: flex-start; }
}
@media (max-width: 640px) {
  .gaf-header-inner { padding: 16px; }
  .gaf-hero-inner { padding-top: 144px; }
  .gaf-monitor-header { flex-direction: column; align-items: stretch; gap: 20px; padding: 20px; }
  .gaf-monitor-count strong { font-size: 36px; line-height: 36px; }
  .gaf-monitor-header .gaf-button { width: 100%; }
  .gaf-monitor-details { padding: 20px; }
  .gaf-monitor-details h3 { overflow-wrap: anywhere; }
  .gaf-monitor-games { max-width: 90px; }
  .gaf-site h2 { font-size: 24px; line-height: 26.4px; }
  .gaf-site .gaf-feature h3 { font-size: 21px; }
  .gaf-start { padding: 48px 0; }
  .gaf-step { padding: 24px; }
  .gaf-battle-image img { height: 260px; }
  .gaf-editorial-links { flex-direction: column; }
  .gaf-editorial-links .gaf-button { width: 100%; }
  .gaf-header-actions { flex-direction: column; align-items: stretch; }
  .gaf-header-actions .gaf-button { width: 100%; }
}
@media (prefers-reduced-motion: reduce) {
  html.gaf-document { scroll-behavior: auto; }
  .gaf-site *, .gaf-site *::before, .gaf-site *::after { transition: none !important; }
}

.gaf-nav a.is-active { color: #efefef; }
@media (min-width: 1081px) and (max-width: 1280px) { .gaf-nav { gap: 20px; } .gaf-nav a { font-size: 14px; gap: 8px; } }
