:root {
  --bg: #070a18;
  --panel: rgba(8, 12, 28, 0.85);
  --text: #e6ebff;
  --muted: #9fb0d5;
  --accent: #00ff96;
  --accent2: #7ad7ff;
  --border: rgba(0, 255, 150, 0.2);
  --glass: rgba(255, 255, 255, 0.04);
  --glass-edge: rgba(255, 255, 255, 0.25);
}

* { box-sizing: border-box; }
html, body { margin: 0; padding: 0; width: 100%; height: 100%; background: var(--bg); color: var(--text); }
body {
  font-family: ui-sans-serif, system-ui, -apple-system, Segoe UI, Roboto, Arial;
  overflow: hidden;
}

.app {
  position: relative;
  width: 100%;
  height: 100%;
}

canvas {
  position: fixed;
  inset: 0;
  z-index: 1;
}

.ui-layer {
  position: fixed;
  inset: 0;
  z-index: 10;
  pointer-events: none;
}

.hud {
  position: fixed;
  top: 24px;
  left: 24px;
  z-index: 20;
  pointer-events: none;
}

.hud h1 {
  margin: 0 0 6px;
  font-size: 20px;
  letter-spacing: 3px;
  color: var(--accent);
}

.hud p { margin: 0; font-size: 12px; color: var(--muted); }

.status-pill {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  margin-top: 10px;
  padding: 6px 10px;
  background: rgba(0, 255, 150, 0.12);
  border: 1px solid rgba(0, 255, 150, 0.45);
  border-radius: 999px;
  font-size: 11px;
  color: var(--accent);
}

.glass-stream {
  position: fixed;
  right: 4%;
  top: 0;
  bottom: 0;
  width: 360px;
  padding: 110px 20px;
  overflow-y: scroll;
  scrollbar-width: none;
  z-index: 30;
  pointer-events: auto;
}
.glass-stream::-webkit-scrollbar { display: none; }

.glass-stream--orbit {
  left: 50%;
  top: 50%;
  right: auto;
  bottom: auto;
  width: min(1100px, 90vw);
  height: min(720px, 90vh);
  padding: 0;
  overflow: visible;
  transform: translate(-50%, -50%);
  pointer-events: none;
}

/* Ring stability: stop any accidental scrolling/selection “drift” */
.glass-stream--orbit,
.glass-stream--orbit * {
  user-select: none;
  -webkit-user-select: none;
  touch-action: none;
}

.glass-stream--orbit {
  will-change: transform;
  contain: layout paint;
}

.glass-tile {
  position: relative;
  background: var(--glass);
  border: 1px solid var(--glass-edge);
  border-top: 2px solid rgba(255, 255, 255, 0.45);
  border-left: 2px solid rgba(255, 255, 255, 0.45);
  border-radius: 16px;
  padding: 18px;
  margin-bottom: 18px;
  overflow: hidden;
  transition: transform 0.3s ease, border-color 0.3s ease, background 0.3s ease;
  box-shadow: 0 20px 40px rgba(0, 0, 0, 0.35);
}

.glass-tile.carousel-item {
  position: absolute;
  margin: 0;
  pointer-events: auto;
}

.glass-tile::after {
  content: "";
  position: absolute;
  top: -120%;
  left: -120%;
  width: 240%;
  height: 240%;
  background: linear-gradient(135deg, transparent 45%, rgba(255,255,255,0.2) 50%, transparent 55%);
  transition: 0.6s;
}

.glass-tile:hover {
  transform: translateY(-4px);
  border-color: var(--accent2);
  background: rgba(0, 217, 255, 0.06);
}
.glass-tile:hover::after { top: 120%; left: 120%; }

.glass-tile .label {
  font-size: 10px;
  letter-spacing: 0.3em;
  color: var(--muted);
  text-transform: uppercase;
}
.glass-tile .title {
  margin-top: 8px;
  font-size: 18px;
  font-weight: 700;
  color: var(--accent2);
}
.glass-tile .desc {
  margin-top: 8px;
  font-size: 12px;
  color: var(--muted);
}

.glass-icon {
  width: 64px;
  height: 64px;
  margin-top: 12px;
  opacity: 0.9;
}

.glass-icon svg {
  width: 100%;
  height: 100%;
}

.glass-tile.tile--tall { min-height: 210px; }
.glass-tile.tile--wide { min-height: 140px; }
.glass-tile.tile--hero { min-height: 260px; }

.footer-tag {
  position: fixed;
  left: 24px;
  bottom: 20px;
  z-index: 20;
  font-size: 10px;
  letter-spacing: 0.3em;
  color: rgba(255,255,255,0.35);
}

.face-video {
  display: none;
}

.notice {
  position: fixed;
  bottom: 20px;
  right: 4%;
  width: 360px;
  background: rgba(255, 0, 96, 0.08);
  border: 1px solid rgba(255, 0, 96, 0.4);
  color: #ff9bd1;
  font-size: 11px;
  padding: 10px 12px;
  border-radius: 10px;
  z-index: 50;
}
