
:root{
  --safe-top: env(safe-area-inset-top, 0px);
  --logo-band-height: clamp(140px, 24vh, 210px); /* keeps logo fully visible */
  --content-top-gap: var(--logo-band-height);    /* default start below logo */
  --form-shift: 8vh; /* push login form lower */
  --text-shadow: 0 2px 12px rgba(0,0,0,.55);
}

*{box-sizing:border-box; -webkit-tap-highlight-color:transparent}
html,body{height:100%; margin:0}
body{
  font-family: system-ui, -apple-system, Segoe UI, Roboto, Helvetica, Arial, sans-serif;
  background: #000 url('./assets/bg.png') center top / cover no-repeat fixed;
  color:#fff; 
  overflow-x:hidden;
}
/* dark overlay for readability */
body::before{
  content:"";
  position:fixed; inset:0;
  background: linear-gradient(to bottom, rgba(0,0,0,.35), rgba(0,0,0,.55) 40%, rgba(0,0,0,.65));
  pointer-events:none;
}

/* Header logo area — reserved space so content never overlaps the logo */
.header-spacer{height:calc(var(--content-top-gap) + var(--safe-top));}

/* Content wrapper */
.container{padding: 0 clamp(16px, 5vw, 28px) 24px;}

/* Title & lead */
h1{font-size: clamp(28px, 6vw, 52px); margin:.2rem 0 .25rem; line-height:1.1; text-shadow: var(--text-shadow);}
.lead{font-size:clamp(16px, 3.8vw, 22px); line-height:1.45; margin:.25rem 0 1.1rem; text-shadow: var(--text-shadow);}

/* Buttons (yellow/orange styles used before) */
.btn{
  display:block; width:100%;
  border:none; cursor:pointer; text-align:center;
  font-weight:800; letter-spacing:.3px;
  padding: clamp(14px, 3.2vh, 20px) 16px;
  margin: 12px 0;
  border-radius: 24px;
  box-shadow: 0 10px 24px rgba(0,0,0,.35), inset 0 1px 0 rgba(255,255,255,.2);
}
.btn-yellow{
  background: linear-gradient(#ffd54d, #f4b400);
  color:#111;
}
.btn-orange{
  background: linear-gradient(#ffa24c, #f57c00);
  color:#111;
}
.btn-red{ background: #e50914; color:#fff;}
.btn-blue{ background: #113ccf; color:#fff;}
.btn-purple{ background: #5b31d4; color:#fff;}
.btn-navy{ background: #0f4cc6; color:#fff;}

/* Login card */
.card{
  backdrop-filter: blur(6px);
  background: rgba(255,255,255,.06);
  border: 1px solid rgba(255,255,255,.18);
  border-radius: 16px;
  padding: clamp(12px, 2vh, 18px);
  margin-top: var(--form-shift);
}
.input{
  width:100%; 
  padding:14px 16px;
  margin:12px 0;
  border-radius: 14px;
  border:1px solid rgba(255,255,255,.25);
  background: rgba(0,0,0,.25);
  color:#fff; font-size:16px;
}
/* Back button (top-right) */
.top-right{
  position:fixed; right:16px; top: calc(8px + var(--safe-top)); z-index:5;
}
.back{
  background: linear-gradient(#ffa24c, #f57c00); color:#111; border:none;
  padding:10px 16px; border-radius:14px; font-weight:900;
  box-shadow:0 8px 18px rgba(0,0,0,.25);
}

/* Grid buttons for menu */
.grid{display:grid; grid-template-columns:1fr 1fr; gap:18px;}

/* Prevent pulling to navigate */
a,button{ -webkit-touch-callout:none; }
