:root{
  --bg:#070a0f;
  --panel:rgba(8,12,18,.68);
  --stroke:rgba(120,160,200,.18);
  --text:rgba(235,245,255,.92);
  --muted:rgba(210,225,245,.65);
  --cyan:rgba(95,210,255,.9);
  --cyan2:rgba(95,210,255,.25);
  --shadow: 0 20px 60px rgba(0,0,0,.55);
  --radius: 18px;
  --mono: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
  --sans: ui-sans-serif, system-ui, -apple-system, Segoe UI, Roboto, Helvetica, Arial, "Apple Color Emoji","Segoe UI Emoji";
}

*{box-sizing:border-box}
html,body{height:100%}
body{
  margin:0;
  font-family:var(--sans);
  color:var(--text);
  background: radial-gradient(1200px 800px at 50% 25%, rgba(60,120,180,.15), transparent 60%),
              radial-gradient(900px 700px at 20% 80%, rgba(0,255,220,.08), transparent 55%),
              var(--bg);
  overflow-x:hidden;
}

a{color:inherit; text-decoration:none}
a:hover{opacity:.92}

.bg{position:relative}
.noise{
  pointer-events:none;
  position:fixed; inset:0;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.8' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='160' height='160' filter='url(%23n)' opacity='.23'/%3E%3C/svg%3E");
  mix-blend-mode:overlay;
  opacity:.08;
  animation: drift 14s linear infinite;
}
@keyframes drift { from{transform:translate3d(0,0,0)} to{transform:translate3d(-3%,2%,0)} }

.grid{
  pointer-events:none;
  position:fixed; inset:-20%;
  background:
    linear-gradient(rgba(120,160,200,.06) 1px, transparent 1px),
    linear-gradient(90deg, rgba(120,160,200,.06) 1px, transparent 1px);
  background-size: 64px 64px;
  transform: perspective(900px) rotateX(55deg) translateY(-20%);
  opacity:.22;
  filter: blur(.2px);
}

.wrap{
  position:relative;
  max-width:1100px;
  margin:0 auto;
  padding:28px 18px 40px;
}

.topbar{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  padding:10px 0 18px;
}

.brand{
  letter-spacing:.18em;
  font-weight:700;
  font-size:13px;
  opacity:.92;
}
.dot{color:var(--cyan)}
.nav{display:flex; gap:18px; font-size:13px; color:var(--muted)}
.nav a{padding:6px 10px; border-radius:999px}
.nav a.active{background:rgba(95,210,255,.08); color:rgba(235,245,255,.9); border:1px solid rgba(95,210,255,.18)}

.hero{
  display:grid;
  grid-template-columns: 1.15fr .85fr;
  gap:22px;
  align-items:stretch;
  margin-top:12px;
}
@media (max-width: 900px){
  .hero{grid-template-columns:1fr}
}

.hero-media{
  position:relative;
  border-radius:var(--radius);
  overflow:hidden;
  border:1px solid var(--stroke);
  background: rgba(0,0,0,.35);
  box-shadow: var(--shadow);
  min-height:520px;
}
.hero-img{
  width:100%;
  height:100%;
  object-fit:cover;
  transform: scale(1.02);
  filter: contrast(1.05) saturate(0.95);
}
.halo{
  position:absolute; inset:-25%;
  background: radial-gradient(circle at 50% 35%, rgba(95,210,255,.18), transparent 55%);
  animation: breathe 12s ease-in-out infinite;
}
@keyframes breathe{
  0%,100%{opacity:.55; transform:scale(1)}
  50%{opacity:.85; transform:scale(1.04)}
}

.hero-copy{
  border-radius:var(--radius);
  border:1px solid var(--stroke);
  background: var(--panel);
  box-shadow: var(--shadow);
  padding:22px;
  display:flex;
  flex-direction:column;
  justify-content:center;
  gap:14px;
}
h1{
  margin:0;
  font-size:34px;
  line-height:1.08;
  letter-spacing:-.02em;
}
.sub{margin:0; color:var(--muted); font-size:14px}
.cta-row{display:flex; gap:12px; flex-wrap:wrap; margin-top:6px}
.btn{
  display:inline-flex; align-items:center; justify-content:center;
  padding:11px 14px;
  border-radius:12px;
  border:1px solid rgba(95,210,255,.22);
  background: rgba(95,210,255,.10);
  color:rgba(235,245,255,.95);
  font-size:13px;
  letter-spacing:.10em;
  text-transform:uppercase;
  cursor:pointer;
  transition: transform .15s ease, background .15s ease, border-color .15s ease;
}
.btn:hover{transform:translateY(-1px); background:rgba(95,210,255,.14); border-color:rgba(95,210,255,.35)}
.btn.ghost{background:rgba(255,255,255,.03); border-color:rgba(255,255,255,.14)}
.btn.small{padding:9px 12px; border-radius:10px; font-size:12px}
.btn.small.ghost{opacity:.8}
.btn[disabled]{opacity:.35; cursor:not-allowed; transform:none}

.status{display:flex; flex-wrap:wrap; gap:8px; margin-top:8px}
.chip{
  font-family:var(--mono);
  font-size:11px;
  padding:6px 9px;
  border-radius:999px;
  border:1px solid rgba(255,255,255,.12);
  background: rgba(0,0,0,.22);
  color:rgba(235,245,255,.8);
}

.panel{
  margin-top:10px;
  border-radius:var(--radius);
  border:1px solid var(--stroke);
  background: var(--panel);
  box-shadow: var(--shadow);
  padding:22px;
}
.panel h2{
  margin:0 0 8px;
  letter-spacing:.14em;
  font-size:14px;
  color:rgba(235,245,255,.86);
}
.muted{color:var(--muted)}
.small{font-size:13px}
.tiny{font-size:11px}
.mono{font-family:var(--mono)}

.tracks{display:flex; flex-direction:column; gap:12px; margin-top:14px}
.track{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:14px;
  padding:14px 14px;
  border-radius:14px;
  border:1px solid rgba(255,255,255,.10);
  background: rgba(0,0,0,.18);
}
.track.placeholder{opacity:.72}
.track-title{font-family:var(--mono); letter-spacing:.08em; font-size:12px}
.track-info,.track-desc{font-size:13px; color:var(--muted); margin-top:4px}
.track-controls{display:flex; flex-direction:column; align-items:flex-end; gap:6px}

.notice{
  margin-top:16px;
  border-radius:14px;
  padding:14px;
  border:1px solid rgba(255,255,255,.12);
  background: rgba(0,0,0,.22);
}
.notice-title{font-family:var(--mono); letter-spacing:.12em; font-size:12px; margin-bottom:8px; color:rgba(235,245,255,.85)}
.notice-body{white-space:pre-line; font-size:12px; color:rgba(220,235,255,.74)}

.card{
  margin-top:14px;
  padding:14px;
  border-radius:14px;
  border:1px solid rgba(255,255,255,.10);
  background: rgba(0,0,0,.18);
}
.card h3{
  margin:0 0 6px;
  font-family:var(--mono);
  letter-spacing:.12em;
  font-size:12px;
  text-transform:uppercase;
  color:rgba(235,245,255,.88);
}
.redaction{
  margin-top:16px;
  padding:12px 14px;
  border-radius:12px;
  border:1px dashed rgba(95,210,255,.35);
  background: rgba(95,210,255,.06);
  color: rgba(235,245,255,.82);
  letter-spacing:.08em;
  font-size:12px;
}

.sliderbox{
  margin-top:12px;
  padding:14px;
  border-radius:14px;
  border:1px solid rgba(255,255,255,.10);
  background: rgba(0,0,0,.18);
}
.sliderbox label{display:block; margin-bottom:10px; font-size:12px; letter-spacing:.14em; color:rgba(235,245,255,.85)}
.sliderbox input[type="range"]{width:100%}
.row{display:flex; justify-content:space-between; margin-top:8px}

.viz{
  margin-top:14px;
  height:220px;
  border-radius:14px;
  border:1px solid rgba(255,255,255,.10);
  background:
    radial-gradient(500px 220px at var(--cx,50%) 50%, rgba(95,210,255,var(--glow,.20)), transparent 62%),
    linear-gradient(90deg, rgba(95,210,255,var(--line,.10)) 1px, transparent 1px),
    linear-gradient(rgba(95,210,255,var(--line,.10)) 1px, transparent 1px),
    rgba(0,0,0,.20);
  background-size: auto, 28px 28px, 28px 28px, auto;
  filter: blur(0px);
}

.foot{
  margin-top:18px;
  color:rgba(210,225,245,.55);
  text-align:center;
}
