:root{--bg:#000;--fg:#dcdcdc}
*{box-sizing:border-box}
html,body{height:100%;margin:0;font-family:Inter,system-ui,Arial,sans-serif;color:var(--fg);background:#000}
body{overflow:hidden}

/* animated gradient backdrop */
body::before{
  content:"";
  position:fixed;inset:0;z-index:0;
  background:linear-gradient(120deg,#0b0b0b 0%,#111 25%,#1b1b1b 50%,#0f0f0f 75%,#070707 100%);
  background-size:200% 200%;
  animation:movebg 22s linear infinite;
  opacity:1;
  filter:blur(18px);
}
@keyframes movebg{
  0%{background-position:0% 50%}
  50%{background-position:100% 50%}
  100%{background-position:0% 50%}
}

/* subtle overlay stripes */
body::after{
  content:"";
  position:fixed;inset:0;z-index:1;pointer-events:none;
  background:repeating-linear-gradient(90deg, rgba(255,255,255,0.01) 0 1px, transparent 1px 60px);
  mix-blend-mode:overlay;
}

/* hero content */
.hero{position:relative;z-index:10;min-height:100vh;display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;padding:2rem}
.hero h1{font-size:clamp(2rem,6vw,5rem);margin:0 0 .5rem;letter-spacing:0.02em}
.hero p{margin:0;color:#9f9f9f;font-size:1.125rem}

/* particles layer */
#particles{position:fixed;inset:0;z-index:5;pointer-events:none}
.particle{
  position:absolute;border-radius:50%;background:rgba(200,200,200,0.04);
  box-shadow:0 0 30px rgba(200,200,200,0.03);backdrop-filter:blur(2px);
  transform:translate3d(0,0,0);
  animation-name:floaty;animation-timing-function:linear;animation-iteration-count:infinite;
}
@keyframes floaty{
  0%{transform:translateY(0) scale(1);opacity:0.15}
  50%{transform:translateY(-60px) scale(1.2);opacity:0.45}
  100%{transform:translateY(0) scale(1);opacity:0.15}
}

/* responsive tweaks */
@media (prefers-reduced-motion: reduce){
  body::before, body::after, .particle{animation:none !important}
}

/* button */
.controls{margin-top:1.25rem}
.social-links{display:flex;flex-wrap:wrap;justify-content:center;gap:.75rem;margin-top:1rem;max-width:560px}
.btn{display:inline-flex;align-items:center;justify-content:center;text-decoration:none;background:linear-gradient(180deg,#2b2b2b,#141414);color:var(--fg);border:1px solid rgba(255,255,255,0.06);padding:.6rem 1.1rem;border-radius:10px;font-size:1rem;cursor:pointer;backdrop-filter:blur(4px);transition:transform .16s ease,box-shadow .16s ease}
.btn:hover{transform:translateY(-3px);box-shadow:0 6px 20px rgba(0,0,0,0.6)}
.btn:active{transform:translateY(-1px)}
.social-btn{min-width:120px}

/* modal */
.modal{position:fixed;inset:0;display:flex;align-items:center;justify-content:center;background:rgba(0,0,0,0.5);z-index:30;opacity:0;pointer-events:none;transition:opacity .22s ease}
.modal.visible{opacity:1;pointer-events:auto}
.modal__panel{background:linear-gradient(180deg,#0e0e0e,#1b1b1b);border-radius:12px;padding:1.5rem;max-width:520px;color:var(--fg);box-shadow:0 12px 40px rgba(0,0,0,0.6);border:1px solid rgba(255,255,255,0.03)}
.modal__close{position:absolute;right:16px;top:12px;background:transparent;border:0;color:#bdbdbd;font-size:1.1rem;cursor:pointer}
.modal__panel h2{margin:0 0 .5rem}
.modal__panel p{margin:0;color:#9f9f9f}

/* fixed back button in open.html: top-right */
.back{position:fixed;top:16px;right:16px;z-index:60;padding:.5rem .9rem;border-radius:10px}
.open-page .back{position:fixed;top:16px;right:16px}
