:root{
  --bg:#0b1220;
  --card:#0f1b33;
  --text:#eaf0ff;
  --muted:#b9c6e6;
  --line:rgba(234,240,255,.12);
  --accent:#5dd6c2;
  --accent2:#7aa7ff;
  --danger:#ff6b7a;
  --shadow:0 18px 50px rgba(0,0,0,.35);
  --radius:16px;
  --focus:0 0 0 4px rgba(93,214,194,.25);
}
*{box-sizing:border-box}
html,body{height:100%}
body{
  margin:0;
  font-family:ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,Helvetica,Arial,"Apple Color Emoji","Segoe UI Emoji";
  background:radial-gradient(1200px 800px at 20% 10%, rgba(122,167,255,.18), transparent 60%),
             radial-gradient(900px 700px at 90% 20%, rgba(93,214,194,.16), transparent 55%),
             var(--bg);
  color:var(--text);
  line-height:1.55;
}
a{color:inherit}
a:hover{color:var(--accent)}
a:focus{outline:none;box-shadow:var(--focus);border-radius:10px}
.container{max-width:1024px;margin:0 auto;padding:24px}
.skip{
  position:absolute;left:-9999px;top:8px;
  background:var(--card);border:1px solid var(--line);padding:10px 12px;border-radius:12px;
}
.skip:focus{left:16px;z-index:10}
.header{
  position:sticky;top:0;z-index:5;
  backdrop-filter:saturate(140%) blur(12px);
  background:rgba(11,18,32,.7);
  border-bottom:1px solid var(--line);
}
.header__inner{display:flex;align-items:center;justify-content:space-between;gap:18px}
.brand__title{font-weight:800;letter-spacing:.2px}
.brand__subtitle{color:var(--muted);font-size:13px;margin-top:2px}
.nav{display:flex;gap:10px;flex-wrap:wrap;justify-content:flex-end}
.nav a{
  text-decoration:none;
  padding:10px 12px;
  border:1px solid var(--line);
  border-radius:12px;
  background:rgba(15,27,51,.35);
}
.nav a[aria-current="page"]{border-color:rgba(93,214,194,.5);background:rgba(93,214,194,.12)}
.main{padding:10px 0 28px}
.card{
  background:linear-gradient(180deg, rgba(15,27,51,.82), rgba(15,27,51,.62));
  border:1px solid var(--line);
  border-radius:var(--radius);
  padding:22px;
  box-shadow:var(--shadow);
}
h1{margin:0 0 10px;font-size:24px;line-height:1.2}
h2{margin:20px 0 10px;font-size:18px}
ul{margin:10px 0 0 18px}
.muted{color:var(--muted)}
.small{font-size:13px}
.notice{
  margin:14px 0 0;
  padding:14px;
  border-radius:14px;
  border:1px solid rgba(122,167,255,.35);
  background:rgba(122,167,255,.10);
}
.form{margin-top:14px}
.grid{display:grid;grid-template-columns:1fr;gap:14px}
@media (min-width:860px){
  .grid{grid-template-columns:1fr 1fr}
  .field--full{grid-column:1 / -1}
}
.field label{display:block;font-weight:650;margin:0 0 8px}
input[type="text"],input[type="email"],input[type="tel"]{
  width:100%;
  border-radius:14px;
  padding:12px 12px;
  border:1px solid var(--line);
  background:rgba(11,18,32,.55);
  color:var(--text);
  outline:none;
}
input::placeholder{color:rgba(185,198,230,.65)}
input:focus{box-shadow:var(--focus);border-color:rgba(93,214,194,.55)}
input[aria-invalid="true"]{border-color:rgba(255,107,122,.65)}
.hint{margin-top:8px;color:var(--muted);font-size:13px}
.hint.is-error{color:rgba(255,107,122,.95)}
.check{display:flex;gap:10px;align-items:flex-start}
.check input{margin-top:3px}
.actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:14px}
.btn{
  appearance:none;
  border:1px solid rgba(93,214,194,.55);
  background:linear-gradient(180deg, rgba(93,214,194,.20), rgba(93,214,194,.10));
  color:var(--text);
  padding:11px 14px;
  border-radius:14px;
  cursor:pointer;
  font-weight:700;
}
.btn:hover{border-color:rgba(93,214,194,.85)}
.btn:focus{outline:none;box-shadow:var(--focus)}
.btn--secondary{
  border-color:rgba(122,167,255,.55);
  background:linear-gradient(180deg, rgba(122,167,255,.18), rgba(122,167,255,.08));
}
.status{margin-top:14px;min-height:22px}
.status.ok{color:var(--accent)}
.status.err{color:rgba(255,107,122,.95)}
.footer{margin-top:18px}
.footer__inner{
  display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;
  color:var(--muted);
  border-top:1px solid var(--line);
  padding-top:14px;
}
.footer__links{display:flex;gap:12px;flex-wrap:wrap}
.footer__links a{text-decoration:none;border-bottom:1px solid transparent}
.footer__links a:hover{border-bottom-color:rgba(93,214,194,.65)}
