:root {
  --bg: #081018;
  --bg2: #0d1c2a;
  --line: #2a4c66;
  --text: #e8f3ff;
  --sub: #99b8d3;
  --accent: #21f3a7;
}
* { box-sizing: border-box; }
body {
  margin: 0;
  font-family: "Space Grotesk", sans-serif;
  color: var(--text);
  background: radial-gradient(1100px 500px at 15% -15%, #1b3850 0%, var(--bg) 55%), var(--bg2);
}
.topbar {
  display: flex; justify-content: space-between; align-items: center;
  padding: 16px 24px; border-bottom: 1px solid var(--line);
  position: sticky; top: 0; backdrop-filter: blur(6px); background: rgba(8,16,24,.8);
}
.brand { font-weight: 700; letter-spacing: .4px; }
.xlink { color: var(--accent); text-decoration: none; border: 1px solid var(--accent); padding: 6px 10px; border-radius: 999px; font-size: 12px; }
main { max-width: 980px; margin: 0 auto; padding: 24px 16px 36px; }
.kicker { color: var(--accent); margin: 0; font-size: 13px; }
.hero h1 { margin: 8px 0; font-size: clamp(30px,5vw,44px); }
.desc { margin: 0; color: var(--sub); }
.grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(180px, 1fr)); gap: 12px; margin-top: 18px; }
.card, .panel { border: 1px solid var(--line); border-radius: 12px; background: linear-gradient(180deg, rgba(255,255,255,.03), rgba(255,255,255,.01)); }
.card { padding: 14px; }
.card small { color: var(--sub); display:block; }
.card strong { display:block; margin-top: 8px; font-family: "JetBrains Mono", monospace; font-size: 18px; }
#rpcStatus.ok { color: var(--accent); }
.panel { margin-top: 14px; padding: 16px; }
.panel h2 { margin: 0 0 10px; font-size: 18px; }
.panel ul { margin: 0; padding-left: 18px; color: var(--sub); line-height: 1.6; }
.panel p { margin: 0; color: var(--sub); }
footer { text-align: center; color: var(--sub); font-size: 13px; padding: 18px 12px 28px; }


.two-col { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
.two-col > div { background: rgba(255,255,255,.01); border: 1px solid var(--line); border-radius: 10px; padding: 12px; }
.manifesto p { color: var(--sub); line-height: 1.7; margin: 0 0 10px; }
@media (max-width: 760px) {
  .two-col { grid-template-columns: 1fr; }
}


.manifesto blockquote { margin: 12px 0 0; padding: 10px 12px; border-left: 3px solid var(--accent); color: #cde8ff; background: rgba(33,243,167,.06); border-radius: 8px; }
.two-col p { color: var(--sub); line-height: 1.7; margin: 0 0 10px; }
.pulse-curve p { color: var(--sub); margin-top: 0; }
.curve-grid { display: grid; grid-template-columns: repeat(auto-fit,minmax(180px,1fr)); gap: 10px; }
.curve-grid div { border: 1px solid var(--line); border-radius: 10px; padding: 10px; background: rgba(255,255,255,.015); }
.curve-grid strong { display:block; font-family: "JetBrains Mono", monospace; color: var(--text); }
.curve-grid span { color: var(--sub); font-size: 14px; }

.hero h1 { text-align: left; }
.headline-top { display: block; }
.headline-bottom { display: block; text-align: center; margin-top: 4px; }

/* hero-refresh-20260302 */
.hero{padding:4px 0 6px;}
.hero h1{margin:10px 0 8px;line-height:1.12;letter-spacing:.2px;}
.headline-top{display:block;font-weight:700;}
.headline-bottom{display:inline-block;margin-top:10px;padding:5px 12px;border:1px solid var(--line);border-radius:999px;color:var(--accent);font-size:clamp(18px,2.4vw,24px);font-weight:600;text-align:center;}
.grid{gap:10px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));}
.card strong{font-size:24px;letter-spacing:.2px;}
@media (max-width:760px){.grid{grid-template-columns:repeat(2,minmax(0,1fr));}.card strong{font-size:20px;}}


/* cyber-grid-theme */
:root {
  --bg: #030a14;
  --bg2: #071120;
  --line: #1f3f5a;
  --text: #eaf6ff;
  --sub: #8eb2cf;
  --accent: #27f2b2;
  --cyan: #39c9ff;
}
body {
  background:
    radial-gradient(900px 500px at 80% -10%, rgba(57,201,255,.13), transparent 60%),
    radial-gradient(850px 430px at 10% 0%, rgba(39,242,178,.11), transparent 60%),
    linear-gradient(180deg, #040b16 0%, #071320 100%);
}
.bg-grid {
  position: fixed; inset: 0; pointer-events: none; z-index: 0;
  background-image:
    linear-gradient(rgba(57,201,255,.07) 1px, transparent 1px),
    linear-gradient(90deg, rgba(57,201,255,.07) 1px, transparent 1px);
  background-size: 28px 28px;
  mask-image: radial-gradient(circle at 50% 40%, black 30%, transparent 85%);
}
.bg-glow {
  position: fixed; inset: 0; pointer-events: none; z-index: 0;
  background: conic-gradient(from 140deg at 70% 30%, rgba(39,242,178,.15), transparent 25%, rgba(57,201,255,.12), transparent 60%);
  filter: blur(38px);
  opacity: .45;
}
.scanline {
  position: fixed; inset: 0; pointer-events: none; z-index: 1;
  background: repeating-linear-gradient(to bottom, rgba(255,255,255,.03) 0, rgba(255,255,255,.03) 1px, transparent 2px, transparent 4px);
  mix-blend-mode: soft-light;
  opacity: .15;
}
.topbar, main, footer { position: relative; z-index: 2; }
.topbar {
  border-bottom: 1px solid rgba(57,201,255,.25);
  box-shadow: 0 10px 35px rgba(0,0,0,.35);
}
.brand {
  text-transform: uppercase;
  letter-spacing: 1px;
}
.kicker {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  color: var(--cyan);
}
.live-dot {
  width: 8px; height: 8px; border-radius: 50%; background: var(--accent);
  box-shadow: 0 0 0 0 rgba(39,242,178,.8);
  animation: pulse 1.8s infinite;
}
@keyframes pulse {
  0% { box-shadow: 0 0 0 0 rgba(39,242,178,.8); }
  70% { box-shadow: 0 0 0 10px rgba(39,242,178,0); }
  100% { box-shadow: 0 0 0 0 rgba(39,242,178,0); }
}
.card, .panel {
  background: linear-gradient(180deg, rgba(10,27,42,.78), rgba(8,21,34,.72));
  border: 1px solid rgba(57,201,255,.28);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.03), 0 10px 28px rgba(0,0,0,.3);
}
.card strong {
  text-shadow: 0 0 18px rgba(57,201,255,.22);
}
.xlink {
  border-color: rgba(39,242,178,.6);
  background: rgba(39,242,178,.08);
}
.xlink:hover { background: rgba(39,242,178,.16); }


/* motion-pack-20260303 */
#techCanvas {
  position: fixed;
  inset: 0;
  pointer-events: none;
  z-index: 0;
  opacity: .55;
}
.orb {
  position: fixed;
  width: 280px;
  height: 280px;
  border-radius: 50%;
  filter: blur(28px);
  pointer-events: none;
  z-index: 0;
  opacity: .22;
  animation: orbFloat 12s ease-in-out infinite;
}
.orb-a {
  left: -70px;
  top: 20%;
  background: radial-gradient(circle, rgba(57,201,255,.85) 0%, rgba(57,201,255,0) 70%);
}
.orb-b {
  right: -80px;
  top: 55%;
  background: radial-gradient(circle, rgba(39,242,178,.8) 0%, rgba(39,242,178,0) 70%);
  animation-delay: -6s;
}
@keyframes orbFloat {
  0%,100% { transform: translateY(0px) translateX(0px) scale(1); }
  50% { transform: translateY(-22px) translateX(18px) scale(1.08); }
}
.card {
  transition: transform .25s ease, border-color .25s ease, box-shadow .25s ease;
}
.card:hover {
  transform: translateY(-3px);
  border-color: rgba(39,242,178,.55);
  box-shadow: 0 14px 35px rgba(0,0,0,.35), 0 0 0 1px rgba(39,242,178,.15) inset;
}
.panel {
  animation: panelIn .45s ease both;
}
.panel:nth-of-type(2) { animation-delay: .06s; }
.panel:nth-of-type(3) { animation-delay: .12s; }
@keyframes panelIn {
  from { opacity: 0; transform: translateY(10px); }
  to { opacity: 1; transform: translateY(0); }
}

.tech-gallery p { color: var(--sub); margin-top: 0; }
.gif-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 12px; }
.gif-card { border: 1px solid rgba(57,201,255,.25); border-radius: 12px; padding: 8px; background: rgba(4,15,24,.65); }
.motion-svg { width: 100%; height: 160px; border-radius: 10px; display: block; background: linear-gradient(180deg, rgba(6,21,36,.9), rgba(3,13,23,.85)); }
.gif-card span { display: block; margin-top: 8px; color: #9fd8ff; font-size: 13px; letter-spacing: .3px; }


/* cyber-overdrive-20260303 */
.brand.glitch { position: relative; text-shadow: 0 0 12px rgba(57,201,255,.55); }
.brand.glitch::before, .brand.glitch::after {
  content: attr(class);
  position: absolute;
  inset: 0;
  pointer-events: none;
  opacity: .25;
}
.brand.glitch::before { transform: translate(1px, -1px); color: #39c9ff; animation: glitchA 2.2s infinite; }
.brand.glitch::after { transform: translate(-1px, 1px); color: #27f2b2; animation: glitchB 1.8s infinite; }
@keyframes glitchA { 0%,100%{clip-path: inset(0 0 88% 0);} 20%{clip-path: inset(35% 0 40% 0);} 40%{clip-path: inset(70% 0 8% 0);} 60%{clip-path: inset(15% 0 65% 0);} 80%{clip-path: inset(50% 0 30% 0);} }
@keyframes glitchB { 0%,100%{clip-path: inset(88% 0 0 0);} 25%{clip-path: inset(10% 0 65% 0);} 50%{clip-path: inset(55% 0 20% 0);} 75%{clip-path: inset(30% 0 45% 0);} }

.hud-corners { position: fixed; inset: 10px; pointer-events: none; z-index: 2; }
.hud-corners::before, .hud-corners::after {
  content: ""; position: absolute; inset: 0;
  background:
    linear-gradient(#39c9ff,#39c9ff) left top / 42px 2px no-repeat,
    linear-gradient(#39c9ff,#39c9ff) left top / 2px 42px no-repeat,
    linear-gradient(#39c9ff,#39c9ff) right top / 42px 2px no-repeat,
    linear-gradient(#39c9ff,#39c9ff) right top / 2px 42px no-repeat,
    linear-gradient(#27f2b2,#27f2b2) left bottom / 42px 2px no-repeat,
    linear-gradient(#27f2b2,#27f2b2) left bottom / 2px 42px no-repeat,
    linear-gradient(#27f2b2,#27f2b2) right bottom / 42px 2px no-repeat,
    linear-gradient(#27f2b2,#27f2b2) right bottom / 2px 42px no-repeat;
  opacity: .55;
}

.noise { position: fixed; inset:0; pointer-events:none; z-index:1; opacity:.08;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='180' viewBox='0 0 180 180'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.95' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='180' height='180' filter='url(%23n)' opacity='1'/%3E%3C/svg%3E");
}

.ticker {
  position: relative; z-index: 3;
  border-top: 1px solid rgba(57,201,255,.25);
  border-bottom: 1px solid rgba(57,201,255,.25);
  background: rgba(7,20,32,.75);
  overflow: hidden;
  white-space: nowrap;
}
.ticker span {
  display: inline-block;
  padding: 8px 0;
  color: #9fe2ff;
  letter-spacing: .8px;
  font-size: 12px;
  animation: tickerMove 16s linear infinite;
}
@keyframes tickerMove { from { transform: translateX(0); } to { transform: translateX(-50%); } }

.hero h1 { text-transform: uppercase; }
.card { backdrop-filter: blur(2px); }
.card::before {
  content: "";
  position: absolute;
  inset: 0;
  border-radius: 12px;
  pointer-events: none;
  background: linear-gradient(120deg, rgba(57,201,255,.14), transparent 30%, transparent 70%, rgba(39,242,178,.13));
  mix-blend-mode: screen;
}
.card { position: relative; }

.video-wall p { color: var(--sub); margin-top: 0; }
.video-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)); gap: 12px; }
.video-card { border: 1px solid rgba(57,201,255,.3); border-radius: 12px; overflow: hidden; background: rgba(4,15,24,.72); }
.video-card video { width: 100%; height: 180px; object-fit: cover; display: block; filter: saturate(1.15) contrast(1.05); }
.video-card span { display: block; padding: 8px 10px; color: #9fe2ff; font-size: 13px; letter-spacing: .4px; }
