/* Aether — "POSTER SHEEN" v2, adapted to the light paper site.
   Flat (Aether Kit): no white highlights, no drop shadows; ink hairlines only. */

/* 1. Paper grain — subtle, multiplied into the paper, sits under the sticky nav */
body::after{
  content:"";position:fixed;inset:0;pointer-events:none;
  z-index:5;opacity:.08;mix-blend-mode:multiply;
  background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
}

/* 2. Letterpress hairline on nav + footer */
.nav{box-shadow:inset 0 -1px 0 rgba(20,20,20,.08)}
footer{border-top:1px solid rgba(20,20,20,.18)}

/* 3. Breathing LED in site red — only when live */
@keyframes aetherBreathe{
  0%,100%{opacity:.65;box-shadow:0 0 0 0 rgba(232,67,47,0)}
  50%{opacity:1;box-shadow:0 0 0 4px rgba(232,67,47,.18)}
}
body[data-state="live"] .ld{animation:aetherBreathe 3.2s ease-in-out infinite}

/* 4. Hover hairline on node tiles + schedule rows (no transform change) */
.tile[data-clip]:hover,.row:hover,.pl:hover{outline:1px solid rgba(20,20,20,.35);outline-offset:2px}

/* 5. Numeric polish */
.num,.n,.d,.st{font-feature-settings:"tnum" on,"zero" on;letter-spacing:-.015em}

@media (prefers-reduced-motion:reduce){body[data-state="live"] .ld{animation:none}}
