:root{
  --bg-black:#020308;
  --bg-deep:#05060c;
  --text-main:#ffffff;
  --text-gray:#8b8b97;
  --border-soft:rgba(255,255,255,0.08);
  --surface:rgba(255,255,255,0.04);
  --surface-strong:rgba(255,255,255,0.08);
  --led-white:#ffffff;
  --led-glow:0 0 18px rgba(255,255,255,0.35);
  --strong-glow:0 0 34px rgba(255,255,255,0.42);
}

*{
  box-sizing:border-box;
  -webkit-tap-highlight-color:transparent;
}

html,body{
  margin:0;
  min-height:100%;
}

body{
  font-family:'Montserrat',system-ui,-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;
  background:
    radial-gradient(circle at 50% 12%, rgba(34,44,92,0.20), transparent 34%),
    radial-gradient(circle at 50% 100%, rgba(24,28,60,0.18), transparent 42%),
    linear-gradient(180deg, #03050b 0%, #020308 100%);
  color:var(--text-main);
  overflow:hidden;
}

.entry-shell{
  min-height:100dvh;
  position:relative;
  display:flex;
  flex-direction:column;
  padding:34px 24px 28px;
}

.entry-brand{
  position:relative;
  z-index:2;
  display:inline-flex;
  flex-direction:column;
  align-items:flex-start;
  gap:6px;
  user-select:none;
}

.entry-brand-main{
  font-size:clamp(30px, 5vw, 56px);
  line-height:.92;
  font-weight:900;
  letter-spacing:-0.06em;
  color:#fff;
}

.entry-brand-sub{
  font-size:clamp(15px, 1.6vw, 24px);
  line-height:1;
  letter-spacing:.42em;
  text-transform:uppercase;
  color:rgba(255,255,255,0.52);
  padding-left:2px;
}

.entry-center{
  flex:1;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:20px 0 44px;
}

.landing-container{
  width:100%;
  max-width:980px;
  margin:0 auto;
  text-align:center;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
}

.landing-title{
  margin:0;
  font-size:clamp(58px, 11vw, 144px);
  line-height:.88;
  letter-spacing:-0.075em;
  font-weight:900;
  color:#fff;
  text-shadow:
    0 0 12px rgba(255,255,255,0.18),
    0 0 32px rgba(255,255,255,0.10),
    0 0 56px rgba(255,255,255,0.08);
}

.landing-title span{
  display:block;
  margin-top:18px;
  font-size:clamp(24px, 3.2vw, 44px);
  line-height:1;
  letter-spacing:.42em;
  text-transform:uppercase;
  font-weight:400;
  color:rgba(255,255,255,0.52);
}

.landing-actions{
  margin-top:42px;
  display:flex;
  align-items:center;
  justify-content:center;
}

.btn-continue{
  appearance:none;
  -webkit-appearance:none;
  border:none;
  cursor:pointer;
  min-width:214px;
  height:98px;
  padding:0 36px;
  border-radius:999px;
  background:#fff;
  color:#05060c;
  font-family:inherit;
  font-size:24px;
  font-weight:800;
  letter-spacing:-0.03em;
  box-shadow:
    0 0 0 1px rgba(255,255,255,0.10),
    0 0 24px rgba(255,255,255,0.22),
    0 0 52px rgba(255,255,255,0.14);
  transition:
    transform .22s cubic-bezier(.22,.9,.24,1),
    box-shadow .22s ease,
    filter .22s ease;
}

.btn-continue:hover{
  transform:scale(1.035);
  box-shadow:
    0 0 0 1px rgba(255,255,255,0.12),
    0 0 30px rgba(255,255,255,0.26),
    0 0 64px rgba(255,255,255,0.18);
}

.btn-continue:active{
  transform:scale(.982);
}

.modal-overlay{
  position:fixed;
  inset:0;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:20px;
  background:rgba(0,0,0,0.56);
  backdrop-filter:blur(14px);
  -webkit-backdrop-filter:blur(14px);
  opacity:0;
  visibility:hidden;
  pointer-events:none;
  transition:opacity .24s ease, visibility .24s ease;
  z-index:50;
}

.modal-overlay.active{
  opacity:1;
  visibility:visible;
  pointer-events:auto;
}

.modal-box{
  position:relative;
  width:min(100%, 520px);
  border-radius:28px;
  padding:26px 22px 22px;
  background:
    radial-gradient(circle at top center, rgba(255,255,255,0.08), transparent 42%),
    linear-gradient(180deg, rgba(12,14,22,0.96), rgba(5,6,10,0.98));
  border:1px solid rgba(255,255,255,0.08);
  box-shadow:
    0 20px 60px rgba(0,0,0,0.45),
    inset 0 1px 0 rgba(255,255,255,0.05);
  transform:translateY(16px) scale(.985);
  transition:transform .24s cubic-bezier(.22,.9,.24,1);
}

.modal-overlay.active .modal-box{
  transform:translateY(0) scale(1);
}

.modal-close-btn{
  position:absolute;
  top:14px;
  right:14px;
  width:42px;
  height:42px;
  border:none;
  border-radius:999px;
  background:rgba(255,255,255,0.05);
  color:#fff;
  display:flex;
  align-items:center;
  justify-content:center;
  cursor:pointer;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,0.05);
}

.modal-close-btn svg{
  width:20px;
  height:20px;
  stroke:currentColor;
  fill:none;
  stroke-width:2;
}

.modal-title{
  text-align:center;
  font-size:24px;
  font-weight:800;
  letter-spacing:-0.03em;
  margin:4px 0 18px;
  color:#fff;
}

.format-grid{
  display:grid;
  grid-template-columns:repeat(2, minmax(0,1fr));
  gap:12px;
}

.format-btn{
  appearance:none;
  -webkit-appearance:none;
  border:none;
  cursor:pointer;
  min-height:132px;
  border-radius:22px;
  padding:18px 16px;
  background:rgba(255,255,255,0.045);
  color:#fff;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:10px;
  text-align:center;
  font-family:inherit;
  font-size:20px;
  font-weight:800;
  letter-spacing:-0.03em;
  box-shadow:
    inset 0 0 0 1px rgba(255,255,255,0.06),
    0 10px 24px rgba(0,0,0,0.14);
  transition:
    transform .18s cubic-bezier(.22,.9,.24,1),
    background .18s ease,
    box-shadow .18s ease;
}

.format-btn:hover{
  transform:translateY(-2px);
  background:rgba(255,255,255,0.06);
}

.format-btn:active{
  transform:scale(.985);
}

.format-btn svg{
  width:28px;
  height:28px;
  stroke:#fff;
  fill:none;
  stroke-width:2;
}

.format-btn span{
  display:block;
  font-size:13px;
  font-weight:600;
  letter-spacing:0;
  color:rgba(255,255,255,0.56);
}

@media (max-width:850px){
  .entry-shell{
    padding:30px 16px 24px;
  }

  .landing-title{
    font-size:clamp(54px, 15vw, 96px);
  }

  .landing-title span{
    font-size:clamp(18px, 5.3vw, 28px);
    letter-spacing:.34em;
    margin-top:12px;
  }

  .btn-continue{
    width:min(100%, 210px);
    height:72px;
    font-size:19px;
    padding:0 24px;
  }

  .modal-box{
    width:min(100%, 420px);
    border-radius:24px;
    padding:22px 16px 16px;
  }

  .modal-title{
    font-size:21px;
    margin-bottom:14px;
  }

  .format-grid{
    grid-template-columns:1fr;
  }

  .format-btn{
    min-height:108px;
    font-size:19px;
  }
}
