:root{
  color-scheme:dark;
  --bg:#06101f;
  --panel:#0d1d34;
  --panel-2:#102842;
  --ink:#edf7ff;
  --muted:#8da8c8;
  --line:#254462;
  --blue:#58b8ff;
  --cyan:#78f2ff;
  --amber:#ffd479;
}
*{box-sizing:border-box}
html,body{min-height:100%;margin:0}
body{
  background:
    radial-gradient(circle at 82% 0,#17456d 0,transparent 36%),
    radial-gradient(circle at 0 28%,#113957 0,transparent 32%),
    linear-gradient(180deg,#071426 0,#040b16 100%);
  color:var(--ink);
  font:16px/1.45 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;
  -webkit-text-size-adjust:100%;
}
a{color:inherit;text-decoration:none}
.app{min-height:100dvh}
.landing-screen{
  width:min(1160px,100%);
  min-height:100dvh;
  margin:0 auto;
  padding:18px max(18px,env(safe-area-inset-right)) calc(20px + env(safe-area-inset-bottom)) max(18px,env(safe-area-inset-left));
  display:grid;
  grid-template-rows:auto minmax(330px,.82fr) auto auto;
  gap:14px;
}
.landing-nav{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
}
.landing-brand{
  display:inline-flex;
  align-items:baseline;
  font-weight:900;
}
.landing-brand span{font-size:1.35rem;letter-spacing:-.04em}
.landing-brand small{color:var(--muted);font-size:.92rem}
.landing-nav-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.landing-nav-actions a{
  min-height:36px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:7px 12px;
  border:1px solid var(--line);
  border-radius:8px;
  background:#0a182b;
  color:var(--ink);
  font-size:.8rem;
}
.landing-nav-actions .nav-primary{background:var(--blue);border-color:var(--blue);color:#04111d;font-weight:900}
.landing-hero{
  display:grid;
  grid-template-columns:minmax(0,1fr);
  align-items:center;
}
.hero-copy{min-width:0}
.signal{
  margin:0 0 18px;
  color:var(--cyan);
  letter-spacing:.22em;
  font-size:.78rem;
  overflow-wrap:anywhere;
}
.eyebrow{
  margin:0 0 12px;
  color:var(--cyan);
  text-transform:uppercase;
  letter-spacing:.16em;
  font-size:.76rem;
}
h1{
  margin:0;
  font-size:clamp(3.4rem,10vw,7.2rem);
  line-height:.8;
  letter-spacing:-.085em;
}
h1 span{
  display:inline-block;
  margin-left:2px;
  color:var(--muted);
  font-size:clamp(1.25rem,3.2vw,2.35rem);
  letter-spacing:0;
}
.lead{
  max-width:760px;
  color:var(--muted);
  font-size:clamp(1.02rem,2vw,1.28rem);
}
.connected-users-pill{
  width:max-content;
  max-width:100%;
  display:inline-flex;
  align-items:baseline;
  gap:9px;
  margin-top:4px;
  padding:8px 12px;
  border:1px solid #315f84;
  border-radius:999px;
  background:#0a182b;
  color:var(--muted);
  box-shadow:0 14px 40px #0004;
}
.connected-users-pill strong{
  color:var(--cyan);
  font-size:1.25rem;
  line-height:1;
}
.connected-users-pill span{
  font-size:.78rem;
  text-transform:uppercase;
  letter-spacing:.08em;
}
.hero-actions{
  display:flex;
  gap:10px;
  flex-wrap:wrap;
  margin-top:22px;
}
.button{
  min-height:44px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:10px 15px;
  border:1px solid var(--blue);
  border-radius:8px;
  background:var(--blue);
  color:#04111d;
  font-weight:900;
}
.button.secondary{background:var(--cyan);border-color:var(--cyan)}
.button.ghost{background:#10233c;color:var(--ink);border-color:var(--line)}
.service-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:12px;
}
.service-grid article,.roadmap-strip,.placeholder-panel{
  min-width:0;
  background:#0d1d34d9;
  border:1px solid var(--line);
  border-radius:12px;
  padding:18px;
  box-shadow:0 18px 60px #0005;
}
.service-grid article.featured-service{
  border-color:#3d86ba;
  background:linear-gradient(145deg,#123657,#0d1d34 68%);
  box-shadow:inset 0 0 34px #58b8ff14,0 18px 60px #0005;
}
.service-grid article.learning-priority{
  border-color:#78f2ff;
}
.service-grid h2{
  margin:0 0 12px;
  color:var(--cyan);
  font-size:.8rem;
  text-transform:uppercase;
  letter-spacing:.14em;
}
.service-grid p{margin:0 0 16px;color:var(--muted)}
.service-grid a{color:var(--amber);font-weight:900}
.roadmap-strip{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(0,1fr);
  gap:12px;
}
.roadmap-strip p{margin:0;color:var(--muted)}
.roadmap-strip strong{color:var(--ink)}
.landing-footer{
  display:flex;
  justify-content:space-between;
  gap:12px;
  flex-wrap:wrap;
  color:var(--muted);
  font-size:.76rem;
}
.landing-footer a{color:var(--cyan)}
.lang-switch{display:flex;align-items:center;gap:6px;flex-wrap:wrap}
.lang-switch a{padding:3px 7px;border:1px solid var(--line);border-radius:6px}
.lang-switch a.active{background:#10233c;color:var(--cyan)}
.register-screen{
  grid-template-rows:auto minmax(420px,1fr);
}
.placeholder-panel{
  align-self:center;
  max-width:820px;
}
.placeholder-panel h1{font-size:clamp(2.6rem,8vw,5.8rem)}
.register-panel{
  width:min(780px,100%);
}
.register-form{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:14px;
  margin-top:22px;
}
.register-form label{
  display:grid;
  gap:7px;
  color:var(--muted);
  font-size:.78rem;
}
.register-form input{
  width:100%;
  min-height:42px;
  padding:10px 12px;
  border:1px solid var(--line);
  border-radius:8px;
  background:#071426;
  color:var(--ink);
  font:inherit;
}
.register-form .register-help,.register-form .cf-turnstile,.register-form button,.register-form .privacy-accept{
  grid-column:1/-1;
}
.register-form label:nth-of-type(5){grid-column:1}
.register-form label:nth-of-type(6){grid-column:2}
.register-form .privacy-accept{
  display:flex;
  align-items:flex-start;
  gap:10px;
  padding:12px;
  border:1px solid var(--line);
  border-radius:8px;
  background:#071426;
  color:var(--muted);
}
.register-form .privacy-accept input{
  width:18px;
  min-width:18px;
  height:18px;
  min-height:18px;
  margin:1px 0 0;
  padding:0;
}
.register-form .privacy-accept a{color:var(--cyan);font-weight:900}
.register-help{
  margin:0;
  color:var(--muted);
}
.register-notice{
  margin:16px 0 0;
  padding:11px 13px;
  border:1px solid #41688f;
  border-radius:8px;
  background:#0a182b;
  color:var(--cyan);
}
.privacy-screen{
  grid-template-rows:auto auto;
  width:min(1160px,100%);
}
.privacy-panel{
  align-self:start;
  width:100%;
  max-width:none;
}
.privacy-meta{
  margin:12px 0 26px;
  color:var(--cyan);
  font-size:.8rem;
}
.privacy-block{
  padding:18px 0;
  border-top:1px solid var(--line);
}
.privacy-block h2{
  margin:0 0 10px;
  color:var(--cyan);
  font-size:.86rem;
  text-transform:uppercase;
  letter-spacing:.12em;
}
.privacy-block p{
  margin:0 0 10px;
  color:var(--muted);
}
.privacy-block ul{
  margin:0;
  padding-left:20px;
  color:var(--muted);
}
.privacy-block li{margin:0 0 8px}
.privacy-block a{color:var(--cyan);font-weight:900}
@media(max-width:980px){
  .landing-screen{grid-template-rows:auto auto auto auto}
  .landing-hero{grid-template-columns:1fr}
  .service-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:640px){
  .landing-screen{padding-top:16px}
  .landing-nav{align-items:flex-start;flex-direction:column}
  .landing-nav-actions{width:100%}
  .landing-nav-actions a{flex:1}
  .service-grid,.roadmap-strip{grid-template-columns:1fr}
  .signal-panel{min-height:220px}
  .hero-actions .button{width:100%}
  .register-form{grid-template-columns:1fr}
  .register-form label:nth-of-type(5),.register-form label:nth-of-type(6){grid-column:auto}
}
