#intro-splash {
  position: fixed;
  inset: 0;
  z-index: 9999;
  display: flex;
  align-items: center;
  justify-content: center;
  pointer-events: all;
  background: #000;
  isolation: isolate;
  overflow: hidden;
}
#intro-splash.fade-out {
  animation: intro-fade 0.4s ease forwards;
  pointer-events: none;
}
@keyframes intro-fade { 0%{opacity:1} 100%{opacity:0} }

/* Glitch canvas — JS draws on this */
#intro-glitch-layer {
  position: absolute;
  inset: 0;
  z-index: 1;
  background: #0a0a0b;
}
/* Red channel offset */
#intro-red-channel {
  position: absolute;
  inset: 0;
  z-index: 2;
  pointer-events: none;
  opacity: 0;
  background: #0a0a0b;
  mix-blend-mode: screen;
}
/* Blue channel offset */
#intro-blue-channel {
  position: absolute;
  inset: 0;
  z-index: 2;
  pointer-events: none;
  opacity: 0;
  background: #0a0a0b;
  mix-blend-mode: screen;
}
/* Horizontal tear strips — JS creates these dynamically */
.intro-strip {
  position: absolute;
  left: 0; right: 0;
  z-index: 3;
  pointer-events: none;
  background: #0a0a0b;
  opacity: 0;
}
/* Scanlines */
#intro-scanlines {
  position: absolute;
  inset: 0;
  z-index: 4;
  background: repeating-linear-gradient(
    0deg, transparent, transparent 3px,
    rgba(255,255,255,.04) 3px, rgba(255,255,255,.04) 4px
  );
  pointer-events: none;
}
/* PNG — clean, above everything */
.intro-img-wrap {
  position: relative;
  z-index: 10;
  width: 220px;
  height: 220px;
  display: flex;
  align-items: center;
  justify-content: center;
}
#intro-img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  display: block;
  animation: intro-img-show 2.4s ease forwards;
}
@keyframes intro-img-show {
  0%   { opacity:0; }
  8%   { opacity:1; }
  88%  { opacity:1; }
  100% { opacity:0; }
}

/* ── SCAN LIMIT BOLTS ── */
/* ── SCROLL TO TOP ── */

.scroll-top-btn {
  position: fixed;
  bottom: 24px;
  left: 24px;
  width: 42px;
  height: 42px;
  border-radius: 50%;
  background: var(--red);
  border: none;
  color: #fff;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 4001;
  box-shadow: 0 4px 20px rgba(224,40,64,.5);
  opacity: 0;
  transform: translateY(12px) scale(.85);
  pointer-events: none;
  transition: opacity .25s ease, transform .25s cubic-bezier(.32,.72,0,1), box-shadow .2s;
}
.scroll-top-btn.show {
  opacity: 1;
  transform: translateY(0) scale(1);
  pointer-events: all;
}
.scroll-top-btn:hover {
  background: var(--red-hi, #ff2244);
  box-shadow: 0 6px 28px rgba(224,40,64,.7);
  transform: translateY(-2px) scale(1.06);
}
.scroll-top-btn:active {
  transform: scale(.94);
}
@media (max-width:600px) {
  .scroll-top-btn { bottom: 16px; left: 16px; width: 38px; height: 38px; }
}
.aisoon-icon {
  font-size: 2.8rem;
  animation: aisoon-float 3s ease-in-out infinite;
  position: relative; z-index: 1;
  filter: drop-shadow(0 0 16px var(--purple-hi));
}
@keyframes aisoon-float {
  0%,100% { transform: translateY(0) scale(1); }
  50%      { transform: translateY(-8px) scale(1.08); }
}
.aisoon-wrap { display:flex; flex-direction:column; align-items:center; gap:10px; position:relative; z-index:1; }
.aisoon-text {
  font-family: var(--display);
  font-size: clamp(1rem, 4vw, 1.5rem);
  font-weight: 900;
  letter-spacing: .18em;
  color: var(--t1);
  text-transform: uppercase;
  position: relative;
  animation: aisoon-glitch 4s infinite;
}
.aisoon-text.aisoon-sub {
  font-size: clamp(.65rem, 2.5vw, .95rem);
  color: var(--purple-hi);
  letter-spacing: .4em;
  animation: aisoon-glitch 4s infinite 1.3s;
}
.aisoon-text::before, .aisoon-text::after {
  content: attr(data-text);
  position: absolute; inset: 0; background: transparent;
}
.aisoon-text::before {
  color: #ff3366;
  clip-path: polygon(0 20%, 100% 20%, 100% 40%, 0 40%);
  animation: aisoon-ghost-r 4s infinite; opacity: 0;
}
.aisoon-text::after {
  color: #33aaff;
  clip-path: polygon(0 60%, 100% 60%, 100% 75%, 0 75%);
  animation: aisoon-ghost-b 4s infinite 0.6s; opacity: 0;
}
@keyframes aisoon-glitch {
  0%,89%,100% { transform:translate(0); filter:none; }
  90%  { transform:translate(-3px,1px); filter:brightness(1.4); }
  91%  { transform:translate(3px,-1px); }
  92%  { transform:translate(-2px,0); }
  93%  { transform:translate(0); filter:none; }
  96%  { transform:translate(2px,1px); filter:hue-rotate(90deg); }
  97%  { transform:translate(-1px,0); filter:none; }
}
@keyframes aisoon-ghost-r {
  0%,89%,94%,100% { opacity:0; transform:translate(0); }
  90% { opacity:.8; transform:translate(-4px,0); }
  91% { opacity:.6; transform:translate(3px,0); }
  92% { opacity:.9; transform:translate(-2px,1px); }
  93% { opacity:0; }
}
@keyframes aisoon-ghost-b {
  0%,89%,94%,100% { opacity:0; transform:translate(0); }
  90% { opacity:.7; transform:translate(4px,0); }
  91% { opacity:.5; transform:translate(-3px,0); }
  92% { opacity:.8; transform:translate(2px,-1px); }
  93% { opacity:0; }
}
.aisoon-cursor {
  font-family: var(--mono); font-size: .76rem; color: var(--t3);
  display: flex; align-items: center; gap: 6px;
  position: relative; z-index: 1; letter-spacing: .1em;
}
.aisoon-cursor-line { color: var(--ash2); }
.aisoon-blink { color: var(--purple-hi); animation: aisoon-blink .9s step-end infinite; }
@keyframes aisoon-blink { 0%,100%{opacity:1} 50%{opacity:0} }
.aisoon-bar-wrap {
  width:100%; max-width:320px;
  display:flex; flex-direction:column; gap:7px;
  position:relative; z-index:1;
}
.aisoon-bar-label {
  font-family:var(--mono); font-size:.58rem; color:var(--t3);
  letter-spacing:.18em; text-transform:uppercase;
}
.aisoon-bar-track {
  width:100%; height:3px; background:var(--surface3); border-radius:2px; overflow:hidden;
}
.aisoon-bar-fill {
  height:100%;
  background:linear-gradient(90deg, var(--purple), var(--purple-hi));
  border-radius:2px;
  animation:aisoon-progress 6s ease-in-out infinite;
  box-shadow:0 0 8px var(--purple-glow);
}
@keyframes aisoon-progress {
  0%   { width:0%; }
  70%  { width:87%; }
  85%  { width:84%; }
  100% { width:87%; }
}

/* ── AI DETECT BUTTON ── */
.ai-detect-btn {
  width:100%; background:var(--surface2); color:var(--ash3);
  border:1.5px solid var(--ash3); border-radius:var(--r);
  padding:11px 24px; font-family:var(--display); font-size:.6rem;
  font-weight:700; letter-spacing:.2em; text-transform:uppercase;
  cursor:not-allowed; min-height:44px;
  display:flex; align-items:center; justify-content:center; gap:9px;
  transition:background .2s, border-color .2s, color .2s, box-shadow .2s, transform .1s;
  position:relative; overflow:hidden; opacity:.45; pointer-events:none;
}
.ai-detect-btn.ready {
  background: linear-gradient(135deg, rgba(0,200,150,.2), rgba(0,220,160,.1));
  border-color: #00c896; color: #00ffcc;
  cursor: pointer; pointer-events: all; opacity: 1;
  box-shadow: 0 0 24px rgba(0,200,150,.45), inset 0 0 12px rgba(0,200,150,.08);
  animation: aidet-pulse 2s ease-in-out infinite;
}
.ai-detect-btn.ready:hover { box-shadow:0 0 32px rgba(0,200,150,.45); animation:none; }
.ai-detect-btn.ready:active { transform:scale(.97); animation:none; }
.ai-detect-btn.running { background:linear-gradient(135deg,rgba(0,180,120,.15),rgba(0,140,200,.15)); border-color:#00c896; color:#00e8ad; pointer-events:none; opacity:.7; animation:none; }
@keyframes aidet-pulse {
  0%,100% { transform:scale(1);     box-shadow:0 0 14px rgba(0,200,150,.25); }
  50%      { transform:scale(1.018); box-shadow:0 0 28px rgba(0,200,150,.45); }
}

/* ── AI DETECTION PANEL ── */
.aidet-panel {
  width:300px; min-width:240px; max-width:340px;
  display:flex; flex-direction:column; flex-shrink:0;
  background:var(--bg2); border-left:1px solid var(--border);
}
.aidet-panel-header {
  background:var(--surface); border-bottom:1px solid rgba(0,200,150,.22);
  padding:10px 16px; display:flex; align-items:center; justify-content:space-between;
  flex-shrink:0; gap:10px;
}
.aidet-title {
  font-family:var(--display); font-size:.6rem; font-weight:700;
  letter-spacing:.2em; color:#00c896; text-transform:uppercase;
  display:flex; align-items:center; gap:7px;
}
.aidet-title-dot { width:6px; height:6px; border-radius:50%; background:#00c896; box-shadow:0 0 7px #00c896; animation:blink .8s infinite; }
.aidet-scroll { flex:1; overflow-y:auto; padding:14px; display:flex; flex-direction:column; gap:10px; }
.aidet-idle { display:flex; flex-direction:column; align-items:center; justify-content:center; gap:12px; padding:40px 20px; text-align:center; flex:1; }
.aidet-idle-icon { font-size:2.5rem; opacity:.15; animation:float 5s ease-in-out infinite; }
.aidet-idle-text { font-size:.78rem; color:var(--t3); line-height:1.7; }

.aidet-verdict { background:var(--surface); border:1px solid var(--border); border-radius:var(--r); overflow:hidden; }
.aidet-verdict-top { padding:18px 16px 14px; display:flex; flex-direction:column; align-items:center; gap:10px; border-bottom:1px solid var(--border); }
.aidet-score-ring {
  width:88px; height:88px; border-radius:50%; flex-shrink:0;
  display:flex; align-items:center; justify-content:center; flex-direction:column;
  border:3px solid var(--border); background:var(--bg); position:relative;
}
.aidet-score-ring.high { border-color:#ff4466; box-shadow:0 0 20px rgba(255,68,102,.28); }
.aidet-score-ring.med  { border-color:#d4920a; box-shadow:0 0 20px rgba(212,146,10,.25); }
.aidet-score-ring.low  { border-color:#3ecf6e; box-shadow:0 0 20px rgba(62,207,110,.22); }
.aidet-score-num { font-family:var(--display); font-size:1.5rem; font-weight:900; line-height:1; }
.aidet-score-ring.high .aidet-score-num { color:#ff4466; }
.aidet-score-ring.med  .aidet-score-num { color:#d4920a; }
.aidet-score-ring.low  .aidet-score-num { color:#3ecf6e; }
.aidet-score-pct { font-family:var(--mono); font-size:.56rem; color:var(--t3); margin-top:2px; }
.aidet-verdict-label { font-family:var(--display); font-size:.72rem; font-weight:700; letter-spacing:.14em; text-align:center; text-transform:uppercase; }
.aidet-verdict-label.high { color:#ff4466; }
.aidet-verdict-label.med  { color:#d4920a; }
.aidet-verdict-label.low  { color:#3ecf6e; }
.aidet-verdict-sub { font-size:.72rem; color:var(--t3); text-align:center; line-height:1.6; padding:0 8px; }

.aidet-signals { padding:10px 14px; display:flex; flex-direction:column; gap:6px; }
.aidet-sig-label { font-family:var(--mono); font-size:.6rem; letter-spacing:.14em; text-transform:uppercase; color:var(--t3); margin-bottom:2px; font-weight:600; }
.aidet-sig {
  display:flex; align-items:flex-start; gap:8px;
  padding:7px 10px; border-radius:5px;
  background:var(--bg); border:1px solid var(--border);
  font-size:.72rem; color:var(--ash2); line-height:1.5;
}
.aidet-sig.fired { border-color:rgba(255,68,102,.3); background:rgba(255,68,102,.06); }
.aidet-sig.clean { border-color:rgba(62,207,110,.2); background:rgba(62,207,110,.04); color:var(--t3); }
.aidet-sig-icon { font-size:.85rem; flex-shrink:0; margin-top:1px; }
.aidet-sig-text { flex:1; }
.aidet-sig-weight { font-family:var(--mono); font-size:.6rem; font-weight:700; padding:1px 6px; border-radius:3px; flex-shrink:0; margin-top:2px; }
.aidet-sig.fired .aidet-sig-weight { color:#ff4466; background:rgba(255,68,102,.15); }
.aidet-sig.clean .aidet-sig-weight { color:#3ecf6e; background:rgba(62,207,110,.1); }

.aidet-tool { margin:0 14px 12px; padding:9px 12px; background:rgba(0,200,150,.07); border:1px solid rgba(0,200,150,.2); border-radius:5px; }
.aidet-tool-label { font-family:var(--mono); font-size:.6rem; text-transform:uppercase; letter-spacing:.12em; color:rgba(0,200,150,.5); margin-bottom:4px; font-weight:600; }
.aidet-tool-val { font-family:var(--mono); font-size:.74rem; color:#00e8ad; line-height:1.6; }

.aidet-scanning { display:flex; flex-direction:column; gap:8px; padding:4px 0; }
.aidet-step { font-family:var(--mono); font-size:.72rem; line-height:1.8; color:var(--ash2); opacity:0; animation:fi .12s forwards; display:flex; align-items:center; gap:8px; }
.aidet-step::before { content:'[~]'; color:#00c896; font-size:.66rem; }
.aidet-step.done { color:#00e8ad; }
.aidet-step.done::before { content:'[✓]'; color:#00c896; }

.aidet-disclaimer { padding:8px 14px; font-size:.62rem; color:var(--t3); line-height:1.5; background:var(--bg); border-top:1px solid var(--border); flex-shrink:0; }

@media (max-width:820px) {
  .aidet-panel { width:100%; max-width:100%; border-left:none; border-top:1px solid var(--border); }
}
