:root{
  --bg:#08080a;
  --text:#f2f2f5;
  --muted:#8b8b95;
  --accent:#ff5b3d;
  --grad1:#6a5cff;
  --grad2:#ff4fd8;
  --grad3:#ff8a3d;
  --focus:#ff5b3d;
}
*{box-sizing:border-box;}
html,body{margin:0;padding:0;}
body{
  background:var(--bg);
  color:var(--text);
  font-family:'Bricolage Grotesque',-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;
  -webkit-font-smoothing:antialiased;
}
a{color:inherit;text-decoration:none;}

.bg-glow{
  position:fixed; inset:0; pointer-events:none; z-index:0;
  background:
    radial-gradient(1100px 600px at 78% 60%, rgba(255,79,216,0.09), transparent 60%),
    radial-gradient(900px 500px at 88% 78%, rgba(255,138,61,0.09), transparent 60%),
    radial-gradient(700px 500px at 60% 35%, rgba(106,92,255,0.07), transparent 60%);
}

.wrap{max-width:1400px; margin:0 auto; padding:0 44px; position:relative; z-index:1;}

header{
  display:flex; align-items:center; justify-content:space-between;
  padding:16px 0; flex-shrink:0; gap:12px; flex-wrap:wrap;
}
.logo{ display:flex; align-items:center; }
.logo img{ height:23px; width:auto; display:block; }
input, button{ font-family:'Bricolage Grotesque',sans-serif; }

.btn{
  display:inline-flex; align-items:center; justify-content:center;
  font-size:13px; font-weight:600; letter-spacing:0.01em;
  padding:10px 18px; border-radius:9px; cursor:pointer; border:1px solid transparent;
  transition:transform .15s ease, box-shadow .15s ease, opacity .15s ease, background .15s ease, border-color .15s ease, color .15s ease;
  white-space:nowrap;
}
.btn:active{transform:scale(0.97);}
.btn-ghost{
  border-color:rgba(255,255,255,0.16);
  background:rgba(255,255,255,0.03);
  color:var(--text);
}
.btn-ghost:hover{background:rgba(255,255,255,0.07);}

.btn-grad{
  background:linear-gradient(90deg,var(--grad1),var(--grad2) 55%,var(--grad3));
  color:#ffffff; font-weight:700;
  position:relative; overflow:hidden; z-index:0;
  border:1px solid transparent;
}
.btn-grad::before{
  content:''; position:absolute; inset:0; z-index:-1;
  background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='120' height='120'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2' stitchTiles='stitch'/></filter><rect width='100%25' height='100%25' filter='url(%23n)'/></svg>");
  opacity:0.13; mix-blend-mode:overlay;
  animation:staticNoise 0.3s steps(2) infinite;
}
@keyframes staticNoise{ 0%{transform:translate(0,0);} 50%{transform:translate(-2%,1%);} 100%{transform:translate(1%,-2%);} }
.btn-grad span{ position:relative; z-index:2; }

@media (prefers-reduced-motion: reduce){ .btn-grad::before{animation:none;} }
.btn:focus-visible, input:focus-visible{
  outline:2px solid var(--focus); outline-offset:2px;
}

footer{
  display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:8px;
  padding:12px 0; font-size:11.5px; color:#54545e;
  border-top:1px solid rgba(255,255,255,0.06); flex-shrink:0;
}
footer .footer-links{ display:flex; align-items:center; gap:16px; }
footer a{ color:#54545e; transition:color .15s ease; }
footer a:hover{ color:#a9a9b3; }

/* ---- Legal / content pages ---- */
.legal-page{ min-height:100vh; display:flex; flex-direction:column; }
.legal-main{ flex:1; padding:36px 0 60px; }
.legal-main h1{
  font-family:'Inter',-apple-system,BlinkMacSystemFont,sans-serif;
  font-size:32px; font-weight:700; letter-spacing:-0.02em; margin:0 0 8px;
}
.legal-updated{ font-size:12.5px; color:var(--muted); margin:0 0 36px; }
.legal-main section{ max-width:760px; margin-bottom:28px; }
.legal-main h2{
  font-family:'Inter',sans-serif;
  font-size:16px; font-weight:700; margin:0 0 10px; color:#f2f2f5;
}
.legal-main p{
  font-family:'Inter',sans-serif;
  font-size:13.5px; line-height:1.7; color:#b7b7c0; margin:0 0 10px; max-width:720px;
}
.legal-main ul{
  font-family:'Inter',sans-serif;
  font-size:13.5px; line-height:1.7; color:#b7b7c0; margin:0 0 10px; padding-left:20px; max-width:700px;
}
.legal-main li{ margin-bottom:4px; }
.legal-main a.inline-link{ color:#c6b9ff; text-decoration:underline; text-underline-offset:2px; }
.back-link{ display:inline-flex; align-items:center; gap:6px; font-size:12.5px; color:var(--muted); margin-bottom:26px; }
.back-link:hover{ color:var(--text); }

@media (max-width:640px){
  .wrap{padding:0 18px;}
  .legal-main h1{font-size:26px;}
  header .btn-ghost{display:none;}
}

