/* Half Memory — construction stub. Archivo (OFL), same palette as the full page. */
@font-face{font-family:"Archivo";font-weight:400;font-style:normal;font-display:swap;src:url(assets/archivo-400.woff2) format("woff2")}
@font-face{font-family:"Archivo";font-weight:500;font-style:normal;font-display:swap;src:url(assets/archivo-500.woff2) format("woff2")}

:root{
  --bg:#161616;
  --fg:#d9d6cf;
  --fg-2:#a7a49d;
  --muted:#7b7872;
  --line:#2a2a2a;
}
*{box-sizing:border-box}
html,body{height:100%;margin:0;background:var(--bg);color:var(--fg);color-scheme:dark;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}
body{font-family:"Archivo",-apple-system,"Helvetica Neue",Arial,sans-serif;font-weight:400;font-size:16px;line-height:1.5}

.stage{
  min-height:100%;
  min-height:100dvh;
  display:flex;
  align-items:center;
  justify-content:center;
  position:relative;
  overflow:hidden;
  padding:48px 24px 56px;
}

.bg{
  position:absolute;
  inset:0;
  display:flex;
  align-items:center;
  justify-content:center;
  pointer-events:none;
}
.bg picture,.bg img{
  width:min(880px, 96vw);
  height:auto;
  display:block;
}
.bg img{opacity:.11}
.bg::after{
  content:"";
  position:absolute;
  inset:0;
  background:radial-gradient(ellipse at center, transparent 28%, var(--bg) 76%);
}

.panel{
  position:relative;
  z-index:1;
  width:min(360px, 100%);
  text-align:center;
}

.name{
  margin:0;
  font-weight:400;
  font-size:22px;
  letter-spacing:.04em;
}
.uc{
  margin:12px 0 0;
  font-weight:500;
  font-size:11px;
  letter-spacing:.18em;
  text-transform:uppercase;
  color:var(--muted);
}

.wait{margin:56px 0 0}
.hp{
  position:absolute;
  left:-10000px;
  top:auto;
  width:1px;
  height:1px;
  overflow:hidden;
}
.row{
  display:flex;
  align-items:center;
  gap:12px;
  border-bottom:1px solid var(--line);
}
.row input[type="email"]{
  flex:1;
  min-width:0;
  margin:0;
  padding:10px 0;
  border:0;
  background:transparent;
  color:var(--fg);
  font-family:inherit;
  font-size:16px;
  outline:none;
  border-radius:0;
  -webkit-appearance:none;
}
.row input[type="email"]::placeholder{color:var(--muted)}
.row input[type="email"]:focus{color:#fff}
.row button{
  flex:none;
  margin:0;
  padding:10px 0 10px 8px;
  border:0;
  background:transparent;
  color:var(--fg);
  font-family:inherit;
  font-weight:500;
  font-size:11px;
  letter-spacing:.16em;
  text-transform:uppercase;
  cursor:pointer;
}
.row button:hover{color:#fff}
.row button:focus-visible{color:#fff;outline:1px solid var(--line);outline-offset:4px}
.row input[type="email"]:-webkit-autofill,
.row input[type="email"]:-webkit-autofill:hover,
.row input[type="email"]:-webkit-autofill:focus{
  -webkit-text-fill-color:var(--fg);
  caret-color:var(--fg);
  transition:background-color 9999s ease-out;
  box-shadow:0 0 0 1000px var(--bg) inset;
}

.hint{
  margin:14px 0 0;
  font-size:12px;
  letter-spacing:.04em;
  color:var(--muted);
}
.msg{
  margin:16px 0 0;
  font-size:13px;
  letter-spacing:.02em;
  color:var(--fg-2);
  min-height:1.2em;
}
.wait.is-ok .msg,.wait.is-exists .msg{color:var(--fg-2)}
.wait.is-err .msg{color:#c4b4a8}
.wait.is-ok .row,.wait.is-exists .row{opacity:.45}
.wait.is-ok .row button,.wait.is-exists .row button{pointer-events:none}

@media (max-width:480px){
  .stage{padding:36px 22px 44px}
  .name{font-size:20px}
  .wait{margin:48px 0 0}
}
