/* kap.css — kapitel-koreografi + läsbarhet på scrub-hemsidan (kap.js).
   Rent OVERLAY: rör inte video/canvas/scrub-logik. Endast befintliga färgvärden. */

/* ── läsbarhet: mjuk, fjädrad radial-scrim bakom varje kapitels textblock ──
   (alltid på, även reduced motion — läsbarhet är en fix, inte motion) */
.station .text{position:relative}
.station:not(.slut) .text::before{content:"";position:absolute;inset:-18% -22%;z-index:-1;pointer-events:none;
  background:radial-gradient(75% 70% at 50% 50%,rgba(5,10,12,.55) 0%,rgba(5,10,12,.28) 55%,transparent 78%)}
@media (max-width:600px){
  .station:not(.slut) .text::before{inset:-14% -12%;
    background:radial-gradient(82% 76% at 50% 50%,rgba(5,10,12,.68) 0%,rgba(5,10,12,.38) 55%,transparent 82%)}
}

/* ── koreografin äger texten när kap.js kör (kap-on): stäng .inne-transitionen
      och komponera driften via translate-PROPERTYN (krockar inte med transform) ── */
html.kap-on .station .text{transition:none;translate:var(--kdx,0vw) var(--kdy,0vh);will-change:translate,filter,opacity}

/* ── SPÅRAR-etiketten: under visir-kapitlet pinnas den nere till vänster
      så den aldrig ligger över "VI SER DIG" / rubriken ── */
html.kap-visir #fx-cursor .fx-ret-label{position:fixed;left:24px;bottom:6.4rem;margin:0;transform:none}

/* ── kapitelstämpel: monospace-rad som stämplas in/ut vid kapitelgräns ── */
.kap-stamp{position:fixed;left:50%;bottom:clamp(1.6rem,4vh,3rem);transform:translateX(-50%);z-index:6;
  pointer-events:none;font-family:"SF Mono",ui-monospace,monospace;font-size:.72rem;letter-spacing:.22em;
  color:var(--teal);white-space:nowrap;opacity:0}
.kap-stamp span{display:inline-block;padding:.45em 1em;border:1px solid rgba(79,227,212,.28);border-radius:99px;
  background:rgba(5,10,12,.72);position:relative;overflow:hidden}
.kap-stamp span::after{content:"";position:absolute;inset:0;transform:translateX(-110%);
  background:linear-gradient(100deg,transparent 20%,rgba(79,227,212,.22) 50%,transparent 80%)}
.kap-stamp.on{animation:kapstamp 1.5s ease both}
.kap-stamp.on span::after{animation:kapscan .5s ease .1s both}
@keyframes kapstamp{
  0%{opacity:0;transform:translateX(-50%) translateY(10px)}
  10%{opacity:1;transform:translateX(-50%) translateY(0)}
  13%{opacity:.35}16%{opacity:1}19%{opacity:.6}22%{opacity:1}          /* scanline-flimmer */
  74%{opacity:1;transform:translateX(-50%) translateY(0)}
  100%{opacity:0;transform:translateX(-50%) translateY(-8px)}
}
@keyframes kapscan{from{transform:translateX(-110%)}to{transform:translateX(110%)}}

@media (max-width:600px){.kap-stamp{font-size:.62rem;letter-spacing:.16em;max-width:94vw}
  .kap-stamp span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:94vw}}
@media (prefers-reduced-motion: reduce){.kap-stamp{display:none}}
