:root{
  --bg:#070a13;
  --panel:rgba(18,24,38,0.72);
  --panel-border:rgba(112,214,224,0.28);
  --text:#eaf3f7;
  --text-soft:#93a7b8;
  --cyan:#52e3e8;
  --cyan-dim:rgba(82,227,232,0.15);
  --warm:#ff9a4d;
  --success:#7be08a;
  --danger:#ff8a7a;
  --field-bg:rgba(255,255,255,0.04);
  --field-border:rgba(147,167,184,0.28);
}
:root[data-theme="light"]{
  --bg:#eef3f6;
  --panel:rgba(255,255,255,0.82);
  --panel-border:rgba(30,120,130,0.22);
  --text:#0e1720;
  --text-soft:#4c5c68;
  --cyan:#0f8f96;
  --cyan-dim:rgba(15,143,150,0.12);
  --warm:#c9611c;
  --success:#227a3a;
  --danger:#b23b2c;
  --field-bg:rgba(0,0,0,0.03);
  --field-border:rgba(30,50,60,0.22);
}
*{box-sizing:border-box;}
html,body{height:100%; margin:0;}
body{
  background:var(--bg);
  color:var(--text);
  position:relative;
  overflow-x:hidden;
}
.stars, .stars::after{
  content:"";
  position:fixed; inset:0; z-index:0; pointer-events:none;
  background-image:
    radial-gradient(1.5px 1.5px at 20% 30%, rgba(255,255,255,.9), transparent),
    radial-gradient(1px 1px at 65% 15%, rgba(255,255,255,.7), transparent),
    radial-gradient(1.5px 1.5px at 80% 60%, rgba(255,255,255,.8), transparent),
    radial-gradient(1px 1px at 40% 75%, rgba(255,255,255,.6), transparent),
    radial-gradient(1.5px 1.5px at 10% 85%, rgba(255,255,255,.7), transparent),
    radial-gradient(1px 1px at 90% 40%, rgba(255,255,255,.5), transparent),
    radial-gradient(1.5px 1.5px at 55% 50%, rgba(255,255,255,.6), transparent),
    radial-gradient(1px 1px at 30% 10%, rgba(255,255,255,.5), transparent);
  background-repeat:repeat;
  background-size:600px 600px;
  opacity:.7;
}
:root[data-theme="light"] .stars{opacity:.25;}
.nebula{
  position:fixed; inset:0; z-index:0; pointer-events:none;
  background:
    radial-gradient(600px 420px at 12% -8%, rgba(82,227,232,0.16), transparent 60%),
    radial-gradient(560px 460px at 105% 15%, rgba(255,154,77,0.13), transparent 60%),
    radial-gradient(700px 500px at 50% 115%, rgba(82,227,232,0.10), transparent 60%);
}
.wrap{
  position:relative; z-index:1;
  min-height:100%;
  display:flex; align-items:center; justify-content:center;
  padding:40px 16px 56px;
  font-family:'Manrope', system-ui, sans-serif;
}
.card{
  width:100%; max-width:460px;
  background:var(--panel);
  border:1px solid var(--panel-border);
  border-radius:18px;
  backdrop-filter:blur(14px);
  -webkit-backdrop-filter:blur(14px);
  box-shadow:0 0 0 1px rgba(82,227,232,0.05), 0 30px 80px -30px rgba(0,0,0,0.6), 0 0 60px -20px rgba(82,227,232,0.15);
  padding:30px 26px 26px;
  position:relative;
}
.card::before, .card::after,
.corner-tl, .corner-tr, .corner-bl, .corner-br{
  content:""; position:absolute; width:16px; height:16px;
  border-color:var(--cyan); opacity:.65;
}
.corner-tl{top:-1px; left:-1px; border-top:2px solid; border-left:2px solid; border-top-left-radius:8px;}
.corner-tr{top:-1px; right:-1px; border-top:2px solid; border-right:2px solid; border-top-right-radius:8px;}
.corner-bl{bottom:-1px; left:-1px; border-bottom:2px solid; border-left:2px solid; border-bottom-left-radius:8px;}
.corner-br{bottom:-1px; right:-1px; border-bottom:2px solid; border-right:2px solid; border-bottom-right-radius:8px;}
.eyebrow{
  font-family:'IBM Plex Mono', monospace;
  font-size:11px; letter-spacing:.14em; text-transform:uppercase;
  color:var(--cyan);
  display:flex; align-items:center; gap:8px;
  margin-bottom:14px;
}
.eyebrow .dot{
  width:6px; height:6px; border-radius:50%; background:var(--cyan);
  box-shadow:0 0 8px 1px var(--cyan);
  animation:pulse 2.2s ease-in-out infinite;
}
@keyframes pulse{ 0%,100%{opacity:.4;} 50%{opacity:1;} }
@media (prefers-reduced-motion: reduce){ .eyebrow .dot{animation:none;} }
h1{
  font-family:'Rajdhani', system-ui, sans-serif;
  font-weight:700;
  font-size:clamp(26px,6vw,32px);
  letter-spacing:.01em;
  line-height:1.08;
  margin:0 0 10px;
  text-wrap:balance;
}
h1 span{color:var(--cyan);}
.gradient-rule{
  height:2px; width:64px; border-radius:2px; margin-bottom:16px;
  background:linear-gradient(90deg, var(--cyan), var(--warm));
}
.pitch{
  font-size:14px; line-height:1.6; color:var(--text-soft);
  margin:0 0 22px;
}
.field{margin-bottom:14px;}
.field label{
  display:block; font-size:11.5px; font-weight:600;
  letter-spacing:.03em; text-transform:uppercase;
  color:var(--text-soft); margin-bottom:6px;
}
.field input{
  width:100%;
  font-family:'IBM Plex Mono', monospace;
  font-size:14px;
  color:var(--text);
  background:var(--field-bg);
  border:1px solid var(--field-border);
  border-radius:9px;
  padding:11px 12px;
}
.field input::placeholder{color:var(--text-soft); opacity:.7; font-family:'Manrope',sans-serif;}
.field input:focus{outline:none; border-color:var(--cyan); box-shadow:0 0 0 3px var(--cyan-dim);}
.field .opt{
  font-weight:400; text-transform:none; letter-spacing:0; font-size:11px; opacity:.7;
}
.submit-btn{
  width:100%; margin-top:6px;
  font-family:'Rajdhani', sans-serif;
  font-weight:700; font-size:16px; letter-spacing:.03em;
  text-transform:uppercase;
  color:#05171a;
  background:linear-gradient(90deg, var(--cyan), #8ff0f3);
  border:none; border-radius:10px;
  padding:13px 16px;
  cursor:pointer;
  box-shadow:0 8px 24px -10px rgba(82,227,232,0.55);
}
.submit-btn:disabled{opacity:.55; cursor:default;}
.submit-btn:active:not(:disabled){transform:translateY(1px);}
.error-msg{
  font-size:12.5px; color:var(--danger); margin-top:10px; min-height:1em;
}
.foot-row{
  display:flex; flex-direction:column; align-items:center; gap:8px;
  margin-top:18px; padding-top:16px;
  border-top:1px solid var(--panel-border);
  text-align:center;
}
.foot-note{font-size:11.5px; color:var(--text-soft); line-height:1.5; max-width:280px;}
.counter{
  font-family:'IBM Plex Mono', monospace;
  font-size:11px; color:var(--cyan); white-space:nowrap;
}
.success{
  text-align:center; padding:18px 4px 6px;
}
.success .ring{
  width:56px; height:56px; margin:0 auto 16px;
  border-radius:50%;
  border:2px solid var(--success);
  display:flex; align-items:center; justify-content:center;
  box-shadow:0 0 24px -4px var(--success);
}
.success .ring svg{width:24px;height:24px;stroke:var(--success);}
.success h2{
  font-family:'Rajdhani', sans-serif; font-weight:700; font-size:22px;
  margin:0 0 8px;
}
.success p{font-size:13.5px; color:var(--text-soft); line-height:1.6; margin:0 0 4px;}
.success .id-chip{
  display:inline-block; margin-top:14px;
  font-family:'IBM Plex Mono', monospace; font-size:12px;
  color:var(--cyan); background:var(--cyan-dim);
  padding:5px 11px; border-radius:7px;
  border:1px solid var(--panel-border);
}
.readonly-note{
  display:block; margin-top:12px; font-size:11.5px;
  color:var(--warm);
}
.credit{
  margin-top:16px;
  font-family:'IBM Plex Mono', monospace;
  font-size:10.5px; letter-spacing:.03em;
  color:var(--text-soft); opacity:.6;
  text-align:center;
}

.field select, .field textarea{
  width:100%; box-sizing:border-box;
  background:rgba(7,10,19,0.6); color:var(--text);
  border:1px solid var(--panel-border); border-radius:10px;
  padding:12px 14px; font-size:14px;
  font-family:'Manrope', system-ui, sans-serif;
}
.field textarea{min-height:130px; resize:vertical; line-height:1.5;}
.field select:focus, .field textarea:focus{outline:none; border-color:var(--cyan); box-shadow:0 0 0 3px var(--cyan-dim);}
.hp{position:absolute; left:-9999px; width:1px; height:1px; overflow:hidden;}
.hidden{display:none;}

.lang-select{
  position:fixed; top:14px; right:14px; z-index:2;
  background:rgba(18,24,38,0.85); color:var(--text);
  border:1px solid var(--panel-border); border-radius:10px;
  padding:8px 10px; font-size:13px;
  font-family:'Manrope', system-ui, sans-serif;
}
.lang-select:focus{outline:none; border-color:var(--cyan); box-shadow:0 0 0 3px var(--cyan-dim);}

.legal-link{color:var(--cyan); text-decoration:underline; text-underline-offset:2px;}
