/* NullThisENT site. Same palette as the NULL stream pack (navy room, cyan screens, purple neon).
   Universal Network Development LLC . UND Industries   [UND-MARKER: NULLTHISENT-SITE v1] */
@font-face { font-family: 'VT323'; src: url('VT323-Regular.ttf') format('truetype'); font-display: swap; }
:root {
  --bg: #070a1c; --bg2: #0c1230; --panel: rgba(12, 18, 48, .92); --edge: #22e6ff; --cyan: #7cf3ff;
  --purple: #6e3c96; --violet: #b48cff; --text: #e9f6ff; --dim: #9fb4c8; --live: #ff2b5e; --ok: #39ff7a;
  --pixel: 'VT323', ui-monospace, monospace; --body: 'Segoe UI', system-ui, -apple-system, sans-serif;
}
* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; background: var(--bg); color: var(--text); font-family: var(--body); font-size: 17px; line-height: 1.5;
  background-image: repeating-linear-gradient(0deg, rgba(255,255,255,.018) 0 2px, transparent 2px 4px); }
a { color: var(--cyan); }
a:focus-visible, .btn:focus-visible { outline: 3px solid var(--violet); outline-offset: 3px; }
.skip { position: absolute; left: -999px; top: 8px; background: var(--edge); color: #000; padding: 8px 12px; z-index: 10; }
.skip:focus { left: 8px; }

.top { position: sticky; top: 0; z-index: 5; display: flex; align-items: center; justify-content: space-between; gap: 16px;
  padding: 10px clamp(16px, 4vw, 40px); background: rgba(7, 10, 28, .94); border-bottom: 2px solid var(--edge);
  box-shadow: 0 4px 22px rgba(34, 230, 255, .18); }
.brand { font-family: var(--pixel); font-size: 32px; letter-spacing: 2px; color: var(--text); text-decoration: none;
  display: inline-flex; align-items: center; gap: 10px; text-shadow: 0 0 10px rgba(34, 230, 255, .5); }
.brand .dot { width: 12px; height: 12px; background: var(--edge); box-shadow: 0 0 10px var(--edge); }
.top nav { display: flex; gap: clamp(10px, 2.4vw, 26px); flex-wrap: wrap; }
.top nav a { font-family: var(--pixel); font-size: 24px; color: var(--dim); text-decoration: none; }
.top nav a:hover { color: var(--cyan); }

.hero { position: relative; min-height: min(62vh, 560px); display: flex; align-items: flex-end; overflow: hidden;
  border-bottom: 2px solid #1b2350; }
.hero-art { position: absolute; inset: 0; background: url('room-320.png?v=2') center 60% / cover no-repeat;
  image-rendering: pixelated; filter: saturate(1.05); }
.hero::after { content: ''; position: absolute; inset: 0;
  background: linear-gradient(90deg, rgba(7,10,28,.92) 0%, rgba(7,10,28,.55) 45%, rgba(7,10,28,.05) 75%),
              linear-gradient(0deg, rgba(7,10,28,.95) 0%, transparent 40%); }
.hero-text { position: relative; z-index: 1; max-width: 640px; padding: clamp(24px, 6vw, 64px) clamp(16px, 4vw, 40px); }
h1 { font-family: var(--pixel); font-weight: 400; font-size: clamp(52px, 9vw, 96px); line-height: .95; margin: 8px 0 14px;
  text-shadow: 4px 0 var(--purple), -3px 0 rgba(34,230,255,.7); }
.lead { font-size: clamp(17px, 2.2vw, 20px); color: #d2e4f4; margin: 0 0 22px; }
.status { display: inline-flex; align-items: center; gap: 10px; margin: 0; padding: 6px 12px; font-family: var(--pixel);
  font-size: 24px; background: var(--panel); box-shadow: 0 0 0 2px #000, inset 0 0 0 2px #2a3366; }
.status .led { width: 12px; height: 12px; background: #56607a; }
.status.on { box-shadow: 0 0 0 2px #000, inset 0 0 0 2px var(--live); }
.status.on .led { background: var(--live); box-shadow: 0 0 10px var(--live); animation: blink 1.2s steps(2) infinite; }
@keyframes blink { 50% { opacity: .35; } }
.cta { display: flex; gap: 12px; flex-wrap: wrap; margin: 0; }
.btn { font-family: var(--pixel); font-size: 26px; padding: 8px 22px; text-decoration: none; color: #001018;
  background: var(--edge); box-shadow: 0 0 0 2px #000, 4px 4px 0 var(--purple); }
.btn:hover { background: var(--cyan); }
.btn.ghost { background: transparent; color: var(--text); box-shadow: 0 0 0 2px var(--edge), 4px 4px 0 var(--purple); }

.watch { display: grid; grid-template-columns: minmax(0, 1fr) 360px; gap: 18px; padding: 28px clamp(16px, 4vw, 40px) 8px;
  max-width: 1500px; margin: 0 auto; }
.frame { background: #000; box-shadow: 0 0 0 2px #000, 0 0 0 4px #2a3366, 0 0 26px rgba(34, 230, 255, .16); }
.player { aspect-ratio: 16 / 9; }
.player iframe, .chat iframe { width: 100%; height: 100%; border: 0; display: block; }
.chat { min-height: 420px; }
.note { grid-column: 1 / -1; margin: 0; color: var(--dim); font-size: 14px; }

.grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(260px, 100%), 1fr)); gap: 18px;
  padding: 24px clamp(16px, 4vw, 40px) 40px; max-width: 1500px; margin: 0 auto; }
.card { background: var(--panel); padding: 18px 20px 20px; box-shadow: 0 0 0 2px #000, inset 0 0 0 2px #232c5c;
  border-top: 4px solid var(--edge); scroll-margin-top: 80px; }
.card:nth-child(2) { border-top-color: var(--violet); }
.card:nth-child(3) { border-top-color: var(--ok); }
.card:nth-child(4) { border-top-color: var(--purple); }
h2 { font-family: var(--pixel); font-weight: 400; font-size: 34px; margin: 0 0 10px; color: var(--cyan); letter-spacing: 1px; }
.card p { margin: 0 0 12px; color: #d2e4f4; }
.small { font-size: 14px; color: var(--dim) !important; }
.days, .links { list-style: none; margin: 0 0 12px; padding: 0; display: grid; gap: 8px; }
.days li { display: flex; align-items: baseline; gap: 14px; padding: 6px 10px; background: rgba(0,0,0,.25); }
.days b { font-family: var(--pixel); font-size: 28px; font-weight: 400; color: var(--text); min-width: 52px; }
.days span { color: var(--dim); }
.links a { display: flex; justify-content: space-between; gap: 12px; padding: 9px 12px; text-decoration: none;
  background: rgba(0,0,0,.25); color: var(--text); box-shadow: inset 0 0 0 1px #263066; }
.links a:hover { box-shadow: inset 0 0 0 2px var(--edge); }
.links b { font-weight: 600; }
.links span { color: var(--dim); text-align: right; }

.foot { border-top: 2px solid #1b2350; padding: 20px clamp(16px, 4vw, 40px) 32px; color: var(--dim); max-width: 1500px; margin: 0 auto; }
.foot p { margin: 0 0 6px; }

@media (max-width: 900px) {
  .watch { grid-template-columns: 1fr; }
  .chat { height: 460px; }
}
@media (max-width: 560px) {
  .top { flex-direction: column; align-items: flex-start; gap: 4px; }
  .brand { font-size: 28px; }
  .top nav a { font-size: 22px; }
  .hero { min-height: 520px; }
  .hero::after { background: linear-gradient(0deg, rgba(7,10,28,.97) 0%, rgba(7,10,28,.7) 55%, rgba(7,10,28,.2) 100%); }
  .links a { flex-direction: column; gap: 0; }
  .links span { text-align: left; }
}
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } .status.on .led { animation: none; } }
