/* ============================================================
   FUNGABET — GEO-BLOCK / REGION LOCK PAGE
   Self-hosted webfonts. Latin subset, woff2 only (~113 KB total).
   ============================================================ */
@font-face{
  font-family:'Archivo Black'; font-style:normal; font-weight:400; font-display:swap;
  src:url('./fonts/ArchivoBlack-Regular.woff2') format('woff2');
}
@font-face{
  font-family:'Barlow'; font-style:normal; font-weight:400; font-display:swap;
  src:url('./fonts/Barlow-Regular.woff2') format('woff2');
}
@font-face{
  font-family:'Barlow'; font-style:normal; font-weight:600; font-display:swap;
  src:url('./fonts/Barlow-SemiBold.woff2') format('woff2');
}
@font-face{
  font-family:'Barlow'; font-style:normal; font-weight:700; font-display:swap;
  src:url('./fonts/Barlow-Bold.woff2') format('woff2');
}
@font-face{
  font-family:'JetBrains Mono'; font-style:normal; font-weight:400; font-display:swap;
  src:url('./fonts/JetBrainsMono-Regular.woff2') format('woff2');
}
@font-face{
  font-family:'JetBrains Mono'; font-style:normal; font-weight:600; font-display:swap;
  src:url('./fonts/JetBrainsMono-SemiBold.woff2') format('woff2');
}

:root{
  /* Brand */
  --green:        #4CFF00;   /* logo green — primary action */
  --green-soft:   #17FF52;   /* lobby button green */
  --green-deep:   #04371E;   /* hero field wash */
  --gold:         #EFC825;   /* logo gold — "Bet" + padlock */
  --gold-deep:    #C9971A;

  /* Neutrals */
  --ink:          #060A07;
  --ink-2:        #0A0F0B;
  --surface:      #0E1915;
  --surface-2:    #142118;
  --line:         rgba(76,255,0,.13);
  --line-strong:  rgba(76,255,0,.30);
  --text:         #EAF3EA;
  --muted:        #8A9C8E;

  /* Type */
  --display: 'Archivo Black', 'Arial Black', system-ui, sans-serif;
  --body:    'Barlow', system-ui, -apple-system, sans-serif;
  --mono:    'JetBrains Mono', ui-monospace, 'Courier New', monospace;

  --radius: 14px;
  --maxw: 1180px;
}

*{box-sizing:border-box}
html,body{margin:0;padding:0}
body{
  background:var(--ink);
  color:var(--text);
  font-family:var(--body);
  font-size:17px;
  line-height:1.6;
  -webkit-font-smoothing:antialiased;
  overflow-x:hidden;
}
img{max-width:100%;display:block}
a{color:inherit}

/* Field wash: stadium floodlight, echoes the bull halo in the mark */
body::before{
  content:"";
  position:fixed; inset:0; z-index:0; pointer-events:none;
  background:
    radial-gradient(1100px 620px at 22% -8%, rgba(4,55,30,.95), transparent 62%),
    radial-gradient(760px 520px at 88% 6%, rgba(76,255,0,.09), transparent 60%),
    radial-gradient(900px 700px at 50% 108%, rgba(239,200,37,.05), transparent 62%);
}
.wrap{position:relative; z-index:1; max-width:var(--maxw); margin:0 auto; padding:0 24px}

/* ---------- Header ---------- */
.masthead{border-bottom:1px solid var(--line); background:rgba(6,10,7,.72); backdrop-filter:blur(8px); position:relative; z-index:2}
.masthead .wrap{display:flex; align-items:center; justify-content:space-between; gap:16px; height:78px}
.brand{display:flex; align-items:center; gap:12px}
.brand img{height:34px; width:auto}
.brand .sr{position:absolute; left:-9999px}

/* Language switch — the lobby has EN in the nav; region-locked users often need SW */
.lang{display:flex; align-items:center; border:1px solid var(--line-strong); border-radius:999px; padding:3px; background:rgba(14,25,21,.7)}
.lang button{
  font-family:var(--mono); font-size:12px; font-weight:600; letter-spacing:.09em;
  color:var(--muted); background:none; border:0; padding:7px 14px; border-radius:999px; cursor:pointer;
  transition:color .18s ease, background .18s ease;
}
.lang button:hover{color:var(--text)}
.lang button[aria-pressed="true"]{background:var(--green); color:#05230A}

/* Barrier tape — single gold accent, used once */
.tape{height:4px; background:repeating-linear-gradient(115deg, var(--gold) 0 16px, rgba(239,200,37,.12) 16px 34px); opacity:.55; position:relative; z-index:2}

/* ---------- Hero ---------- */
.hero{padding:74px 0 58px}
.hero .wrap{display:grid; grid-template-columns:330px 1fr; gap:64px; align-items:center}

/* Signature: the lock seal — the logo's padlock, scaled up as a region seal */
.seal{position:relative; width:330px; height:330px; display:grid; place-items:center}
.seal svg{width:100%; height:100%; overflow:visible}
.ring-spin{transform-origin:165px 165px; animation:spin 44s linear infinite}
@keyframes spin{to{transform:rotate(360deg)}}
.seal-caption{
  position:absolute; bottom:-6px; left:50%; transform:translateX(-50%);
  font-family:var(--mono); font-size:11px; letter-spacing:.22em; color:var(--muted); white-space:nowrap;
}

h1{
  font-family:var(--display); font-weight:400;
  font-size:clamp(38px, 5.6vw, 74px); line-height:.94; letter-spacing:-.01em;
  text-transform:uppercase; margin:0 0 22px; transform:skewX(-6deg);
}
h1 .hl{color:var(--green)}
.lede{font-size:20px; color:#C6D4C8; max-width:49ch; margin:0 0 34px}
.lede strong{color:var(--text); font-weight:600}

/* Diagnostics — the facts the visitor needs to sanity-check the block */

.actions{display:flex; flex-wrap:wrap; gap:14px}
.btn{
  display:inline-flex; align-items:center; justify-content:center; gap:9px;
  font-family:var(--body); font-weight:700; font-size:15px; letter-spacing:.02em;
  padding:15px 28px; border-radius:10px; border:1px solid transparent; cursor:pointer;
  text-decoration:none; transition:transform .16s ease, box-shadow .16s ease, background .16s ease, border-color .16s ease;
}
.btn-primary{background:var(--green); color:#04230B; box-shadow:0 10px 30px -12px rgba(76,255,0,.65)}
.btn-primary:hover{background:var(--green-soft); transform:translateY(-2px); box-shadow:0 16px 38px -14px rgba(76,255,0,.75)}
.btn-gold{background:var(--gold); color:#2A1E00}
.btn-gold:hover{background:#FFD83B; transform:translateY(-2px)}

/* ---------- Next steps ---------- */

/* ---------- Support ---------- */
.support{
  border:1px solid var(--line); border-radius:var(--radius); overflow:hidden;
  background:linear-gradient(120deg, rgba(4,55,30,.75), rgba(10,15,11,.9));
  display:grid; grid-template-columns:1.1fr 1fr 1fr; gap:0; margin-bottom:76px;
}
.support > div{padding:30px 30px; border-right:1px solid var(--line)}
.support > div:last-child{border-right:0}
.support h2{font-family:var(--display); font-weight:400; font-size:21px; text-transform:uppercase; margin:0 0 8px; transform:skewX(-6deg)}
.support p{margin:0; color:#B3C3B6; font-size:15px}
.chan-label{font-family:var(--mono); font-size:10px; letter-spacing:.2em; color:var(--muted); text-transform:uppercase; margin:0 0 6px}
.chan a{font-family:var(--body); font-weight:700; font-size:18px; color:var(--text); text-decoration:none; border-bottom:2px solid var(--line-strong); padding-bottom:2px}
.chan a:hover{color:var(--green); border-color:var(--green)}
.chan small{display:block; color:var(--muted); font-size:13px; margin-top:8px}

/* ---------- Footer ---------- */
footer{border-top:1px solid var(--line); background:rgba(6,10,7,.75); padding:34px 0 38px; position:relative; z-index:1}
.foot-top{margin-bottom:20px}
.copyright{margin-top:0; padding-top:20px; border-top:1px solid var(--line); font-family:var(--mono); font-size:11px; letter-spacing:.1em; color:#5E6E62}

/* ---------- A11y + motion ---------- */
:focus-visible{outline:3px solid var(--green); outline-offset:3px; border-radius:6px}
@media (prefers-reduced-motion:reduce){
  *{animation:none !important; transition:none !important}
}

/* ---------- Responsive ---------- */
@media (max-width:1000px){
  .hero .wrap{grid-template-columns:1fr; gap:40px; justify-items:center; text-align:center}
  .hero-copy{max-width:640px}
  .lede{margin-left:auto; margin-right:auto}
  .actions{justify-content:center}
  .support{grid-template-columns:1fr}
  .support > div{border-right:0; border-bottom:1px solid var(--line)}
  .support > div:last-child{border-bottom:0}
}
@media (max-width:680px){
  body{font-size:16px}
  h1{font-size:34px}
  h1 .hl{white-space:nowrap}
  .masthead .wrap{height:66px}
  .brand img{height:27px}
  .hero{padding:48px 0 34px}
  .seal{width:236px; height:236px}
  .lede{font-size:17px}
  .btn{width:100%}
}
