:root{
  --bg:#000;
  --fg:#e6e6e6;
  --muted:#bdbdbd;
  --muted2:#9a9a9a;
  --line:#3a3a3a;
  --btn:#7d7d7d;
}
*{box-sizing:border-box;}
html,body{height:100%;}
body{
  margin:0;
  background:var(--bg);
  color:var(--fg);
  font-family: ui-serif, Georgia, "Times New Roman", Times, serif;
  letter-spacing:0.2px;
}
.wrap{
  min-height:100%;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:56px 18px;
}
.card{
  width:min(720px, 100%);
  text-align:center;
}
.brand{
  font-size:30px;
  font-weight:400;
  letter-spacing:0.6px;
  color:var(--fg);
  margin:0 0 26px 0;
}
.art{
  width:min(620px, 100%);
  aspect-ratio: 3 / 2;
  object-fit:cover;
  border-radius:2px;
  box-shadow: 0 0 0 1px rgba(255,255,255,0.03);
}
.axial{
  margin:22px auto 18px auto;
  max-width:520px;
  color:var(--muted);
  font-size:18px;
  line-height:1.65;
  font-style:italic;
}
.btn{
  display:inline-block;
  margin-top:10px;
  padding:12px 22px;
  border:1px solid var(--btn);
  color:var(--fg);
  background:transparent;
  text-decoration:none;
  border-radius:2px;
  font-size:16px;
  letter-spacing:0.4px;
  transition:opacity 120ms ease, transform 120ms ease;
}
.btn:hover{opacity:0.92;}
.btn:active{transform:translateY(1px);}

.small{
  margin-top:26px;
  color:var(--muted2);
  font-size:14px;
  letter-spacing:0.3px;
}

.form{
  width:min(560px,100%);
  margin:0 auto;
  text-align:left;
  border-top:1px solid rgba(255,255,255,0.06);
  padding-top:22px;
}
.h1{
  margin:0 0 10px 0;
  font-size:20px;
  font-weight:400;
  color:var(--fg);
}
.note{
  margin:0 0 18px 0;
  color:var(--muted);
  font-size:14px;
  line-height:1.6;
}
label{
  display:block;
  margin:12px 0 8px 0;
  color:var(--muted);
  font-size:14px;
}
input, select, textarea{
  width:100%;
  padding:11px 12px;
  border:1px solid rgba(255,255,255,0.14);
  background:rgba(255,255,255,0.03);
  color:var(--fg);
  border-radius:2px;
  font-family: ui-sans-serif, system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
  font-size:15px;
}
textarea{min-height:110px; resize:vertical;}
.row{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:12px;
}
@media (max-width:520px){
  .brand{font-size:26px;}
  .axial{font-size:17px;}
  .row{grid-template-columns:1fr;}
}

/* Force consistent dark rendering for native form controls */
:root { color-scheme: dark; }

/* Brand link */
.brand a{
  color: inherit;
  text-decoration: none;
}
.brand a:hover{ opacity: 0.92; }

/* Improve select/option readability across browsers */
select{
  appearance: auto;
  background: rgba(255,255,255,0.03);
  color: var(--fg);
}
select option{
  background: #0b0b0b;
  color: var(--fg);
}
select option:disabled{
  color: #9a9a9a;
}
