/*!
 * feikas.lt - cyber effects (asset: template.feikas.effects, preset: template.feikas.cybereffects)
 * Palette: #0D1117 background, #161B22 cards, #00FF66 verified, #FF3333 fake.
 * Keyframes live in keyframes.css.
 */

/* Typed custom properties so the laser colour can transition green -> red */
@property --laser-color {
  syntax: "<color>";
  inherits: true;
  initial-value: #00FF66;
}

@property --laser-glow {
  syntax: "<color>";
  inherits: true;
  initial-value: rgba(0, 255, 102, .55);
}

/* ------------------------------------------------------------------ Base */
body.feikas-site {
  background-color: #0D1117;
  color: #E6EDF3;
  font-family: ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
}

/* faint neon grid fading out from the top */
body.feikas-site::before {
  content: "";
  position: fixed;
  inset: 0;
  z-index: 0;
  pointer-events: none;
  background-image:
    linear-gradient(rgba(0, 255, 102, .035) 1px, transparent 1px),
    linear-gradient(90deg, rgba(0, 255, 102, .035) 1px, transparent 1px);
  background-size: 48px 48px;
  -webkit-mask-image: radial-gradient(ellipse at 50% 0%, #000 0%, transparent 75%);
  mask-image: radial-gradient(ellipse at 50% 0%, #000 0%, transparent 75%);
}

/* CRT scanlines, kept very subtle so text stays crisp */
body.feikas-site::after {
  content: "";
  position: fixed;
  inset: 0;
  z-index: 60;
  pointer-events: none;
  background: repeating-linear-gradient(0deg, rgba(255, 255, 255, .012) 0, rgba(255, 255, 255, .012) 1px, transparent 1px, transparent 3px);
}

::selection { background: #00FF66; color: #0D1117; }

.feikas-skip {
  position: absolute;
  left: .75rem;
  top: -4rem;
  z-index: 100;
  padding: .5rem .9rem;
  border-radius: .375rem;
  background: #00FF66;
  color: #0D1117;
  font: 700 .8rem/1 ui-monospace, "Cascadia Code", Menlo, Consolas, monospace;
  transition: top .15s;
}
.feikas-skip:focus { top: .75rem; }

.feikas-position-tag {
  display: inline-block;
  padding: .1rem .45rem;
  border: 1px dashed #30363D;
  border-radius: .25rem;
  color: #8B949E;
  font: 500 10px/1.4 ui-monospace, "Cascadia Code", Menlo, Consolas, monospace;
  letter-spacing: .12em;
  text-transform: none;
  white-space: nowrap;
}

.feikas-dot {
  display: inline-block;
  width: .5rem;
  height: .5rem;
  border-radius: 9999px;
  background: currentColor;
  box-shadow: 0 0 8px currentColor;
  animation: feikas-blink 1.6s ease-in-out infinite;
}

/* ------------------------------------------------------------ Navigation */
.feikas-nav__link,
.feikas-nav .mod-menu a,
.feikas-nav .mod-menu .nav-header,
.feikas-nav .mod-menu .separator {
  display: inline-block;
  padding: .4rem .8rem;
  border-radius: .375rem;
  color: #C9D1D9;
  font-family: ui-monospace, "Cascadia Code", Menlo, Consolas, monospace;
  font-size: .875rem;
  text-decoration: none;
  transition: color .15s, background-color .15s, box-shadow .15s;
}
.feikas-nav__link:hover,
.feikas-nav .mod-menu a:hover {
  color: #00FF66;
  background: rgba(0, 255, 102, .08);
}
.feikas-nav__link.is-active,
.feikas-nav .mod-menu .active > a,
.feikas-nav .mod-menu .current > a {
  color: #00FF66;
  box-shadow: inset 0 -2px 0 #00FF66;
}
.feikas-nav .mod-menu {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: .25rem;
  margin: 0;
  padding: 0;
  list-style: none;
}
.feikas-nav .mod-menu ul { list-style: none; margin: 0; padding: 0; }

/* -------------------------------------------- 1. LIE-SCANNER LASER (header-search) */
.feikas-scanner {
  --laser-color: #00FF66;
  --laser-glow: rgba(0, 255, 102, .55);
  --laser-speed: 3.6s;
  position: relative;
  overflow: hidden;
  border: 1px solid color-mix(in srgb, var(--laser-color) 45%, transparent);
  border-radius: .75rem;
  background: linear-gradient(180deg, #161B22 0%, #0D1117 100%);
  box-shadow: 0 0 40px -14px var(--laser-glow), inset 0 0 0 1px rgba(255, 255, 255, .02);
  transition: --laser-color .3s ease, --laser-glow .3s ease, border-color .3s ease;
}

/* focus / click inside the scanner = active lie-detector test: red and fast */
.feikas-scanner:focus-within {
  --laser-color: #FF3333;
  --laser-glow: rgba(255, 51, 51, .6);
  --laser-speed: .9s;
}

.feikas-laser {
  position: absolute;
  inset: 0;
  z-index: 20;
  pointer-events: none;
  will-change: transform;
  animation: feikas-laser-sweep var(--laser-speed) linear infinite alternate;
}
/* the beam */
.feikas-laser::before {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  top: 0;
  height: 2px;
  background: linear-gradient(90deg, transparent 0%, var(--laser-color) 12%, var(--laser-color) 88%, transparent 100%);
  box-shadow: 0 0 10px 2px var(--laser-glow), 0 0 36px 8px var(--laser-glow);
}
/* soft glow band centred on the beam (works for both sweep directions) */
.feikas-laser::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  top: -28px;
  height: 58px;
  background: linear-gradient(180deg, transparent 0%, color-mix(in srgb, var(--laser-color) 16%, transparent) 50%, transparent 100%);
}

.feikas-scanner__bar {
  position: relative;
  z-index: 10;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  padding: .6rem 1.25rem;
  border-bottom: 1px solid rgba(48, 54, 61, .8);
  color: #8B949E;
  font: 600 10px/1 ui-monospace, "Cascadia Code", Menlo, Consolas, monospace;
  letter-spacing: .25em;
  text-transform: uppercase;
}
.feikas-scanner__status {
  display: inline-flex;
  align-items: center;
  gap: .5rem;
  color: var(--laser-color);
}
.feikas-scanner__active { display: none; }
.feikas-scanner:focus-within .feikas-scanner__idle { display: none; }
.feikas-scanner:focus-within .feikas-scanner__active { display: inline; }

.feikas-scanner__body {
  position: relative;
  z-index: 10;
  padding: 1.25rem;
}

/* inputs and buttons (our own demo form and Joomla's Smart Search module) */
.feikas-input,
.feikas-scanner input[type="search"],
.feikas-scanner input[type="text"] {
  width: 100%;
  min-height: 3rem;
  padding: .7rem 1rem;
  border: 1px solid #30363D;
  border-radius: .5rem;
  background: rgba(13, 17, 23, .85);
  color: #E6EDF3;
  font: 500 1rem/1.4 ui-monospace, "Cascadia Code", Menlo, Consolas, monospace;
  outline: none;
  transition: border-color .2s, box-shadow .2s;
}
.feikas-input::placeholder,
.feikas-scanner input::placeholder { color: #6E7681; }
.feikas-input:focus,
.feikas-scanner input[type="search"]:focus,
.feikas-scanner input[type="text"]:focus {
  border-color: #FF3333;
  box-shadow: 0 0 0 3px rgba(255, 51, 51, .22);
}

.feikas-btn,
.feikas-scanner button,
.feikas-scanner .btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 3rem;
  padding: .65rem 1.4rem;
  border: 1px solid #00FF66;
  border-radius: .5rem;
  background: rgba(0, 255, 102, .1);
  color: #00FF66;
  font: 700 .85rem/1 ui-monospace, "Cascadia Code", Menlo, Consolas, monospace;
  letter-spacing: .18em;
  text-transform: uppercase;
  text-decoration: none;
  cursor: pointer;
  transition: background-color .15s, color .15s, box-shadow .15s;
}
.feikas-btn:hover,
.feikas-scanner button:hover,
.feikas-scanner .btn:hover {
  background: #00FF66;
  color: #0D1117;
  box-shadow: 0 0 22px -4px #00FF66;
}
.feikas-scanner:focus-within .feikas-btn,
.feikas-scanner:focus-within button,
.feikas-scanner:focus-within .btn {
  border-color: #FF3333;
  background: rgba(255, 51, 51, .1);
  color: #FF3333;
}
.feikas-scanner:focus-within .feikas-btn:hover,
.feikas-scanner:focus-within button:hover,
.feikas-scanner:focus-within .btn:hover {
  background: #FF3333;
  color: #0D1117;
  box-shadow: 0 0 22px -4px #FF3333;
}

/* ------------------------------------------------- 2. DETEKTORIUS CURSOR */
html.feikas-cursor-on,
html.feikas-cursor-on * {
  cursor: none !important;
}

#feikas-detector {
  --dc: #00FF66;
  position: fixed;
  left: 0;
  top: 0;
  z-index: 2147483647;
  width: 0;
  height: 0;
  opacity: 0;
  pointer-events: none;
  color: var(--dc);
  transition: opacity .2s ease;
  will-change: transform;
}
#feikas-detector.is-visible { opacity: 1; }
#feikas-detector[data-state="fake"] { --dc: #FF3333; }
#feikas-detector[data-state="true"],
#feikas-detector[data-state="link"] { --dc: #00FF66; }
#feikas-detector[data-state="text"] { --dc: #E6EDF3; }

.feikas-detector__ring {
  position: absolute;
  left: -22px;
  top: -22px;
  width: 44px;
  height: 44px;
  transition: transform .18s ease;
}
.feikas-detector__ring svg {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.5;
  filter: drop-shadow(0 0 4px currentColor);
  transition: opacity .18s ease, transform .18s ease;
}
.feikas-detector__spin {
  transform-origin: 22px 22px;
  animation: feikas-spin 6s linear infinite;
}
.feikas-detector__lens { opacity: 0; transform: scale(.55) rotate(-25deg); }
.feikas-detector__dot { fill: currentColor; stroke: none; }

/* morph: crosshair -> magnifier over links, buttons and verdict badges */
#feikas-detector[data-state="link"] .feikas-detector__cross,
#feikas-detector[data-state="fake"] .feikas-detector__cross,
#feikas-detector[data-state="true"] .feikas-detector__cross { opacity: 0; transform: scale(1.4) rotate(45deg); }
#feikas-detector[data-state="link"] .feikas-detector__lens,
#feikas-detector[data-state="fake"] .feikas-detector__lens,
#feikas-detector[data-state="true"] .feikas-detector__lens { opacity: 1; transform: scale(1) rotate(0); }
#feikas-detector[data-state="text"] .feikas-detector__ring { transform: scaleX(.45); }
#feikas-detector.is-down .feikas-detector__ring { transform: scale(.78); }
#feikas-detector.is-down .feikas-detector__ring::after {
  content: "";
  position: absolute;
  inset: 4px;
  border: 1.5px solid currentColor;
  border-radius: 9999px;
  animation: feikas-ring-ping .45s ease-out;
}

.feikas-detector__label {
  position: absolute;
  left: 22px;
  top: 16px;
  padding: 3px 6px;
  border: 1px solid color-mix(in srgb, currentColor 55%, transparent);
  border-radius: 2px;
  background: rgba(13, 17, 23, .88);
  color: currentColor;
  font: 700 9px/1 ui-monospace, "Cascadia Code", Menlo, Consolas, monospace;
  letter-spacing: .22em;
  white-space: nowrap;
}
#feikas-detector.is-flipped .feikas-detector__label { left: auto; right: 22px; }

/* -------------------------------------------------- 3. GLITCH LOGO */
.feikas-glitch {
  position: relative;
  display: inline-block;
  animation: feikas-glitch-skew var(--feikas-glitch-cycle, 5s) linear infinite;
}
.feikas-glitch::before,
.feikas-glitch::after {
  content: attr(data-text);
  content: attr(data-text) / "";
  position: absolute;
  inset: 0;
  opacity: 0;
  pointer-events: none;
  white-space: nowrap;
  mix-blend-mode: screen;
}
.feikas-glitch::before {
  color: #FF3333;
  animation: feikas-glitch-slice-a var(--feikas-glitch-cycle, 5s) linear infinite;
}
.feikas-glitch::after {
  color: #00FF66;
  animation: feikas-glitch-slice-b var(--feikas-glitch-cycle, 5s) linear infinite;
}

/* ---------------------------------------- 4. VERDICT BADGES + CARDS */
.feikas-badge {
  position: relative;
  display: inline-flex;
  align-items: center;
  gap: .4rem;
  padding: .3rem .65rem;
  border: 1px solid currentColor;
  border-radius: .25rem;
  background: color-mix(in srgb, currentColor 12%, #0D1117);
  font: 800 .7rem/1 ui-monospace, "Cascadia Code", Menlo, Consolas, monospace;
  letter-spacing: .16em;
  text-transform: uppercase;
  vertical-align: middle;
  cursor: default;
}
.feikas-badge svg {
  width: .95em;
  height: .95em;
  fill: none;
  stroke: currentColor;
  stroke-width: 3;
  stroke-linecap: round;
  stroke-linejoin: round;
}
.feikas-badge--fake {
  color: #FF3333;
  box-shadow: 0 0 14px -2px rgba(255, 51, 51, .55);
}
.feikas-badge--true {
  color: #00FF66;
  box-shadow: 0 0 14px -2px rgba(0, 255, 102, .45);
}

/* strike-through that "rejects" the fake data on hover */
.feikas-badge--fake::after {
  content: "";
  position: absolute;
  left: -6px;
  right: -6px;
  top: 50%;
  height: 2px;
  background: #FF3333;
  box-shadow: 0 0 8px #FF3333;
  transform: scaleX(0) rotate(-4deg);
  transform-origin: left center;
  transition: transform .25s ease;
}

/* the pulse comes from Tailwind's animate-pulse class on the badge; hover/card hover replaces it with shake + glitch */
.feikas-badge--fake:hover,
.feikas-card:hover .feikas-badge--fake {
  animation: feikas-shake .45s linear infinite, feikas-flicker .3s steps(1, end) infinite;
}
.feikas-badge--fake:hover::after,
.feikas-card:hover .feikas-badge--fake::after {
  transform: scaleX(1) rotate(-4deg);
}
.feikas-badge--true:hover,
.feikas-card:hover .feikas-badge--true {
  box-shadow: 0 0 22px -2px rgba(0, 255, 102, .8);
}

.feikas-card {
  position: relative;
  border: 1px solid #30363D;
  border-radius: .75rem;
  background: #161B22;
  transition: border-color .2s, box-shadow .2s, transform .2s;
}
.feikas-card:hover {
  border-color: #3D444D;
  transform: translateY(-2px);
}
.feikas-card:has(.feikas-badge--fake):hover {
  border-color: rgba(255, 51, 51, .65);
  box-shadow: 0 0 34px -14px #FF3333;
}
.feikas-card:has(.feikas-badge--true):hover {
  border-color: rgba(0, 255, 102, .6);
  box-shadow: 0 0 34px -14px #00FF66;
}

/* modules rendered with style="feikas" */
.feikas-module { padding: 0; overflow: hidden; }
.feikas-module__title {
  margin: 0;
  padding: .8rem 1.1rem;
  border-bottom: 1px solid #30363D;
  background: rgba(13, 17, 23, .55);
  color: #E6EDF3;
  font: 700 .8rem/1.2 ui-monospace, "Cascadia Code", Menlo, Consolas, monospace;
  letter-spacing: .2em;
  text-transform: uppercase;
}
.feikas-module__body { padding: 1.1rem; }

/* in articles the injected badge sits above the title */
.feikas-card--article > .feikas-badge,
.feikas-badge-wrap { margin-bottom: .6rem; display: block; }
