/* ═══════════════════════════════════════════════════════════════════════════
   OSINT Cabal — Live Center tool pages (shared presentation layer)
   ─────────────────────────────────────────────────────────────────────────
   PRESENTATION ONLY. This file styles the existing tool markup; it must
   never be used to change behaviour. All functional selectors (IDs, class
   hooks toggled by the tools' own scripts) are preserved and styled here:

     .status-indicator .status-running .status-complete .status-error
     .pulse .terminal-cursor .scroll-to-bottom .mode-option.active
     .mode-button.active .search-container.active .result-section …

   Visual tokens are inherited from the redesigned live.html:
     pink #ff6b9c · blue #4a90e2 · violet #8a4fff · cyan #00d9ff
     bg #0a0a1a · text #e0e0ff · JetBrains Mono
   ═══════════════════════════════════════════════════════════════════════════ */

:root {
  --lct-bg: #0a0a1a;
  --lct-text: #e0e0ff;
  --lct-pink: #ff6b9c;
  --lct-blue: #4a90e2;
  --lct-violet: #8a4fff;
  --lct-cyan: #00d9ff;
  --lct-green: #00ff00;
  --lct-mono: 'JetBrains Mono', ui-monospace, 'Courier New', monospace;
  --lct-glass: rgba(12, 11, 28, 0.78);
  --lct-glass-border: rgba(74, 144, 226, 0.45);
  --lct-term-bg: rgba(4, 4, 12, 0.95);
}

* { box-sizing: border-box; }

body {
  margin: 0;
  min-height: 100vh;
  padding: 0 5%;
  background-color: var(--lct-bg);
  color: var(--lct-text);
  font-family: var(--lct-mono);
  overflow-x: hidden;
  position: relative;
}

/* Animation-toggle fallback (same behaviour as live.html) */
body.simple-bg {
  background: linear-gradient(135deg, #2a1845, #1a0f2e);
}

::selection { background: rgba(255, 107, 156, 0.35); color: #ffffff; }

/* ─────────────────────────────────────────────────────────────────────────
   SITE SHELL — sticky topbar + slide-out menu (mirrors live.html)
   ───────────────────────────────────────────────────────────────────────── */
.ocb-topbar{position:sticky;top:0;z-index:9000;display:flex;align-items:center;justify-content:space-between;gap:16px;height:58px;padding:0 22px;background:rgba(8,8,16,.82);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border-bottom:1px solid rgba(255,107,156,.2);font-family:var(--lct-mono);box-sizing:border-box;width:100vw;margin-left:calc(50% - 50vw);margin-right:calc(50% - 50vw);}
.ocb-topbar *{box-sizing:border-box;}
.ocb-brand{display:flex;align-items:center;gap:11px;text-decoration:none;}
.ocb-brand img{height:34px;width:34px;border-radius:8px;box-shadow:0 0 16px rgba(255,107,156,.35);}
.ocb-mark{font-size:.95rem;font-weight:700;letter-spacing:.22em;color:#e8e8f4;text-transform:uppercase;white-space:nowrap;}
.ocb-mark b{color:var(--lct-pink);}
.ocb-dot{width:7px;height:7px;border-radius:50%;background:var(--lct-cyan);box-shadow:0 0 10px var(--lct-cyan);animation:ocbPulse 1.8s infinite;flex:none;}
@keyframes ocbPulse{0%,100%{opacity:1;}50%{opacity:.35;}}
.ocb-right{display:flex;align-items:center;gap:9px;}
.ocb-ctrls{display:flex;align-items:center;gap:9px;}
.ocb-ctrl{background:rgba(10,9,18,.7);border:1px solid rgba(255,107,156,.32);color:#9a9ac0;padding:7px 13px;border-radius:7px;text-decoration:none;font-family:inherit;font-size:11px;transition:all .2s ease;display:flex;align-items:center;gap:6px;cursor:pointer;white-space:nowrap;}
.ocb-ctrl:hover{background:rgba(255,107,156,.16);color:#eaeaff;border-color:rgba(255,107,156,.7);}
.ocb-burger{display:flex;flex-direction:column;gap:5px;width:42px;height:38px;align-items:center;justify-content:center;background:rgba(10,9,18,.7);border:1px solid rgba(255,107,156,.32);border-radius:8px;cursor:pointer;flex:none;}
.ocb-burger span{display:block;width:20px;height:2px;background:var(--lct-pink);border-radius:2px;transition:transform .25s ease,opacity .2s ease;}
.ocb-burger.open span:nth-child(1){transform:translateY(7px) rotate(45deg);}
.ocb-burger.open span:nth-child(2){opacity:0;}
.ocb-burger.open span:nth-child(3){transform:translateY(-7px) rotate(-45deg);}
.ocb-scrim{position:fixed;inset:0;z-index:8990;background:rgba(4,4,9,.55);backdrop-filter:blur(3px);opacity:0;pointer-events:none;transition:opacity .25s ease;}
.ocb-scrim.open{opacity:1;pointer-events:auto;}
.ocb-menu{position:fixed;top:58px;right:0;width:340px;max-width:92vw;z-index:8995;background:rgba(9,8,16,.97);backdrop-filter:blur(16px);border-left:1px solid rgba(255,107,156,.3);border-bottom:1px solid rgba(255,107,156,.3);border-bottom-left-radius:14px;padding:14px 16px 18px;display:flex;flex-direction:column;gap:9px;transform:translateX(16px);opacity:0;pointer-events:none;transition:transform .28s cubic-bezier(.2,.8,.2,1),opacity .24s ease;max-height:calc(100vh - 58px);overflow-y:auto;font-family:var(--lct-mono);}
.ocb-menu.open{transform:none;opacity:1;pointer-events:auto;}
.ocb-mlink{display:flex;align-items:center;gap:10px;padding:12px 14px;border:1px solid rgba(255,107,156,.3);border-radius:10px;background:rgba(13,12,22,.7);color:#e6e6ff;text-decoration:none;font-size:.92rem;font-weight:600;transition:background .18s ease,border-color .18s ease;}
.ocb-mlink:hover{background:rgba(255,107,156,.14);border-color:var(--lct-pink);}
.ocb-mdiv{height:1px;background:rgba(255,107,156,.2);margin:6px 2px;}
.ocb-menu .ocb-ctrl{justify-content:center;}
html.ocb-invert{filter:invert(1) hue-rotate(180deg);}
html.ocb-invert .ocb-topbar,html.ocb-invert .ocb-menu,html.ocb-invert .ocb-scrim{filter:invert(1) hue-rotate(180deg);}
@media (max-width:820px){.ocb-ctrls{display:none;}}

/* ─────────────────────────────────────────────────────────────────────────
   TOOL PAGE LAYOUT
   ───────────────────────────────────────────────────────────────────────── */
.lct-wrap {
  max-width: 1100px;
  margin: 0 auto;
  padding: 1.5rem 0 2.5rem;
  position: relative;
  z-index: 1;
}

.lct-title {
  text-align: center;
  margin: 0.5rem 0 1.25rem;
}

.lct-wrap h1 {
  color: var(--lct-pink);
  text-shadow: 0 0 10px rgba(255, 107, 156, 0.75);
  text-align: center;
  font-size: clamp(1.25rem, 4vw, 2rem);
  letter-spacing: 0.02em;
  margin: 0;
}

/* Entrance — restrained, single pass */
@keyframes lctRise {
  from { opacity: 0; transform: translateY(14px); }
  to   { opacity: 1; transform: translateY(0); }
}
.lct-title        { animation: lctRise 0.5s cubic-bezier(0.2, 0.7, 0.2, 1) both; }
.lct-wrap > .content-box { animation: lctRise 0.55s cubic-bezier(0.2, 0.7, 0.2, 1) 0.08s both; }
.lct-wrap > .nav-links,
.lct-wrap > div:last-child { animation: lctRise 0.55s cubic-bezier(0.2, 0.7, 0.2, 1) 0.16s both; }

/* ── Main tool workspace glass ─────────────────────────────────────────── */
.lct-wrap .content-box {
  border: 1px solid var(--lct-glass-border);
  border-radius: 14px;
  padding: 26px;
  margin: 20px 0;
  background: var(--lct-glass);
  backdrop-filter: blur(14px) saturate(130%);
  -webkit-backdrop-filter: blur(14px) saturate(130%);
  box-shadow: 0 18px 50px rgba(0, 0, 0, 0.45),
              inset 0 1px 0 rgba(255, 255, 255, 0.05),
              0 0 24px rgba(74, 144, 226, 0.12);
  position: relative;
}

.lct-wrap .content-box p { line-height: 1.55; }

.lct-wrap a {
  color: var(--lct-pink);
  text-decoration: none;
  transition: color 0.25s ease, text-shadow 0.25s ease;
}

.lct-wrap a:hover {
  color: var(--lct-blue);
  text-shadow: 0 0 10px rgba(74, 144, 226, 0.8);
}

/* ── Query / input workspace ───────────────────────────────────────────── */
.lct-wrap .tool-form {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 15px;
  margin: 30px 0;
}

.lct-wrap .input-group {
  display: flex;
  align-items: stretch;
  background: rgba(8, 8, 20, 0.65);
  border: 1px solid rgba(74, 144, 226, 0.5);
  border-radius: 12px;
  overflow: hidden;
  box-shadow: 0 4px 18px rgba(74, 144, 226, 0.15),
              inset 0 1px 0 rgba(255, 255, 255, 0.04);
  transition: border-color 0.25s ease, box-shadow 0.25s ease;
  max-width: 500px;
  width: 100%;
}

.lct-wrap .input-group:hover {
  border-color: rgba(255, 107, 156, 0.65);
  box-shadow: 0 6px 22px rgba(255, 107, 156, 0.22);
}

.lct-wrap .input-group:focus-within {
  border-color: var(--lct-pink);
  box-shadow: 0 0 0 3px rgba(255, 107, 156, 0.18),
              0 6px 24px rgba(255, 107, 156, 0.25);
}

.lct-wrap input[type="text"],
.lct-wrap input[type="email"],
.lct-wrap input[type="url"] {
  padding: 15px 20px;
  flex: 1;
  background: transparent;
  border: none;
  color: #c9d6ff;
  caret-color: var(--lct-pink);
  font-family: var(--lct-mono);
  font-size: 16px;
  outline: none;
  min-width: 0;
}

.lct-wrap input::placeholder {
  color: rgba(140, 155, 210, 0.45);
}

.lct-wrap button,
.lct-wrap input[type="submit"] {
  padding: 15px 26px;
  background: linear-gradient(135deg, var(--lct-pink), var(--lct-blue));
  color: #ffffff;
  border: none;
  cursor: pointer;
  font-family: var(--lct-mono);
  font-size: 15px;
  font-weight: 700;
  letter-spacing: 0.03em;
  transition: transform 0.2s ease, box-shadow 0.25s ease, filter 0.25s ease;
  white-space: nowrap;
  -webkit-tap-highlight-color: transparent;
  touch-action: manipulation;
}

.lct-wrap button:hover,
.lct-wrap input[type="submit"]:hover {
  filter: brightness(1.12);
  transform: translateY(-2px);
  box-shadow: 0 6px 18px rgba(255, 107, 156, 0.35);
}

.lct-wrap button:active,
.lct-wrap input[type="submit"]:active {
  transform: translateY(0);
  box-shadow: none;
}

.lct-wrap button:disabled {
  opacity: 0.5;
  cursor: not-allowed;
  transform: none;
  box-shadow: none;
}

/* ── Mode selectors (hashtray tabs / Hunter.io buttons) ────────────────── */
.lct-wrap .mode-selector {
  display: flex;
  gap: 0;
  border: 1px solid rgba(74, 144, 226, 0.5);
  border-radius: 12px;
  overflow: hidden;
  background: rgba(8, 8, 20, 0.65);
  width: 100%;
  max-width: 500px;
}

.lct-wrap .mode-option {
  cursor: pointer;
  padding: 12px 20px;
  transition: background 0.25s ease, color 0.25s ease;
  font-family: var(--lct-mono);
  font-weight: 700;
  border: none;
  background: transparent;
  color: var(--lct-blue);
  flex: 1;
  text-align: center;
  -webkit-tap-highlight-color: transparent;
  touch-action: manipulation;
}

.lct-wrap .mode-option.active {
  background: linear-gradient(135deg, var(--lct-pink), var(--lct-blue));
  color: #ffffff;
}

.lct-wrap .mode-option:hover:not(.active) {
  background: rgba(74, 144, 226, 0.18);
}

.lct-wrap .mode-info {
  margin: 0;
  font-size: 0.95em;
  color: var(--lct-pink);
  text-align: center;
  font-weight: 700;
  max-width: 500px;
  width: 100%;
}

.lct-wrap .search-mode-selector {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  gap: 15px;
  margin: 25px 0;
}

.lct-wrap .mode-button {
  padding: 12px 30px;
  background: rgba(8, 8, 20, 0.65);
  color: var(--lct-blue);
  border: 1px solid rgba(74, 144, 226, 0.55);
  border-radius: 8px;
  cursor: pointer;
  font-family: var(--lct-mono);
  font-size: 15px;
  font-weight: 700;
  letter-spacing: 0.03em;
  transition: all 0.25s ease;
}

.lct-wrap .mode-button:hover {
  background: rgba(74, 144, 226, 0.22);
  box-shadow: 0 0 15px rgba(74, 144, 226, 0.3);
  transform: none;
}

.lct-wrap .mode-button.active {
  background: linear-gradient(135deg, var(--lct-pink), var(--lct-blue));
  color: #ffffff;
  border-color: var(--lct-pink);
  box-shadow: 0 0 20px rgba(255, 107, 156, 0.35);
}

.lct-wrap .search-container { display: none; }
.lct-wrap .search-container.active { display: block; }

.lct-wrap .name-inputs {
  display: flex;
  gap: 10px;
  width: 100%;
  max-width: 500px;
}

.lct-wrap .name-inputs input { flex: 1; }

.lct-wrap .info-box {
  background: rgba(255, 107, 156, 0.07);
  border: 1px solid rgba(255, 107, 156, 0.4);
  padding: 15px;
  margin: 20px 0;
  border-radius: 10px;
}

.lct-wrap .info-box h3 {
  color: var(--lct-pink);
  margin-top: 0;
  text-shadow: 0 0 10px rgba(255, 107, 156, 0.6);
}

.lct-wrap .info-box p { margin: 8px 0; line-height: 1.6; }

.lct-wrap .warning-box {
  background: rgba(255, 189, 46, 0.07);
  border: 1px solid rgba(255, 189, 46, 0.45);
  border-radius: 10px;
  padding: 15px;
  margin: 15px 0;
  color: #ffbd2e;
}

.lct-wrap .warning-box h3,
.lct-wrap .warning-box h4 {
  margin-top: 0;
  color: #ffbd2e;
  text-shadow: 0 0 8px rgba(255, 189, 46, 0.45);
}

.lct-wrap .warning-box p { line-height: 1.6; }

.lct-wrap .feature-badge {
  display: inline-block;
  background: linear-gradient(45deg, var(--lct-pink), var(--lct-blue));
  color: #ffffff;
  padding: 4px 8px;
  border-radius: 4px;
  font-size: 11px;
  font-weight: 700;
  margin-left: 8px;
}

.lct-wrap .error   { color: #ff6b6b; font-weight: 700; }
.lct-wrap .success { color: #6bff6b; }

.lct-wrap .info-note {
  background: rgba(138, 79, 255, 0.1);
  border: 1px solid var(--lct-violet);
  border-radius: 8px;
  padding: 15px;
  margin: 12px 0;
  color: var(--lct-violet);
}

/* ── Result terminal — darker, more opaque than the workspace glass ────── */
.lct-wrap .terminal-container {
  margin-top: 20px;
  border: 1px solid rgba(74, 144, 226, 0.4);
  border-radius: 10px;
  background: var(--lct-term-bg);
  overflow: hidden;
  box-shadow: 0 10px 34px rgba(0, 0, 0, 0.5),
              inset 0 1px 0 rgba(255, 255, 255, 0.04),
              0 0 20px rgba(74, 144, 226, 0.12);
  display: none;
  position: relative;
  animation: lctRise 0.4s ease both;
}

.lct-wrap .terminal-header {
  background: rgba(14, 13, 30, 0.9);
  border-bottom: 1px solid rgba(74, 144, 226, 0.35);
  padding: 10px 14px;
  color: #b9b9e8;
  font-weight: 700;
  font-size: 13px;
  letter-spacing: 0.04em;
  display: flex;
  align-items: center;
  gap: 10px;
}

.lct-wrap .terminal-controls {
  display: flex;
  gap: 5px;
  flex-shrink: 0;
}

.lct-wrap .terminal-control {
  width: 12px;
  height: 12px;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.3);
}

.lct-wrap .terminal-control.close    { background: #ff5f57; }
.lct-wrap .terminal-control.minimize { background: #ffbd2e; }
.lct-wrap .terminal-control.maximize { background: #28ca42; }

.lct-wrap .terminal-output {
  padding: 16px;
  min-height: 200px;
  max-height: 600px;
  overflow-y: auto;
  -webkit-overflow-scrolling: touch;
  font-family: var(--lct-mono);
  font-size: 13.5px;
  line-height: 1.55;
  color: var(--lct-green);
  text-shadow: 0 0 6px rgba(0, 255, 0, 0.18);
  white-space: pre-wrap;
  word-wrap: break-word;
  word-break: break-word;
  position: relative;
}

/* Terminal scrollbar */
.lct-wrap .terminal-output::-webkit-scrollbar { width: 9px; height: 9px; }
.lct-wrap .terminal-output::-webkit-scrollbar-track { background: rgba(10, 10, 24, 0.8); }
.lct-wrap .terminal-output::-webkit-scrollbar-thumb {
  background: rgba(74, 144, 226, 0.45);
  border-radius: 5px;
  border: 2px solid rgba(10, 10, 24, 0.8);
}
.lct-wrap .terminal-output::-webkit-scrollbar-thumb:hover { background: rgba(255, 107, 156, 0.55); }
.lct-wrap .terminal-output { scrollbar-width: thin; scrollbar-color: rgba(74,144,226,.45) rgba(10,10,24,.8); }

.lct-wrap .terminal-cursor {
  display: inline-block;
  width: 9px;
  height: 15px;
  background: var(--lct-green);
  box-shadow: 0 0 8px rgba(0, 255, 0, 0.6);
  animation: lctBlink 1s infinite;
  margin-left: 2px;
  vertical-align: text-bottom;
}

@keyframes lctBlink {
  0%, 50%  { opacity: 1; }
  51%, 100% { opacity: 0; }
}

/* Status pill — class names are set by the tools' own scripts */
.lct-wrap .status-indicator {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 4px 11px;
  border-radius: 20px;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.05em;
  margin-left: auto;
  flex-shrink: 0;
}

.lct-wrap .status-running {
  background: rgba(255, 165, 0, 0.12);
  color: #ffa500;
  border: 1px solid rgba(255, 165, 0, 0.65);
}

.lct-wrap .status-complete {
  background: rgba(40, 202, 66, 0.12);
  color: #28ca42;
  border: 1px solid rgba(40, 202, 66, 0.65);
}

.lct-wrap .status-error {
  background: rgba(255, 95, 87, 0.12);
  color: #ff5f57;
  border: 1px solid rgba(255, 95, 87, 0.65);
}

.lct-wrap .pulse {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: currentColor;
  animation: lctPulse 1.5s infinite;
  flex-shrink: 0;
}

@keyframes lctPulse {
  0%   { transform: scale(0.8); opacity: 1; }
  50%  { transform: scale(1.2); opacity: 0.5; }
  100% { transform: scale(0.8); opacity: 1; }
}

.lct-wrap .scroll-to-bottom {
  position: absolute;
  right: 20px;
  bottom: 20px;
  background: linear-gradient(135deg, var(--lct-pink), var(--lct-blue));
  color: #ffffff;
  border: none;
  border-radius: 50%;
  width: 40px;
  height: 40px;
  padding: 0;
  cursor: pointer;
  display: none;
  align-items: center;
  justify-content: center;
  box-shadow: 0 4px 15px rgba(74, 144, 226, 0.35);
  transition: transform 0.2s ease, box-shadow 0.25s ease;
  -webkit-tap-highlight-color: transparent;
  z-index: 3;
}

.lct-wrap .scroll-to-bottom:hover {
  transform: scale(1.1);
  box-shadow: 0 6px 20px rgba(255, 107, 156, 0.45);
}

/* ── Structured result blocks rendered inside terminals (Email Validator) ─ */
.lct-wrap .result-section {
  margin: 15px 0;
  padding: 12px;
  border-left: 3px solid var(--lct-blue);
  background: rgba(74, 144, 226, 0.08);
  border-radius: 0 6px 6px 0;
  white-space: normal;
  text-shadow: none;
}

.lct-wrap .result-title {
  color: var(--lct-pink);
  font-weight: 700;
  margin-bottom: 8px;
  font-size: 1.1em;
}

.lct-wrap .result-item {
  margin: 5px 0;
  padding-left: 10px;
  word-break: break-word;
}

.lct-wrap .result-valid   { color: #28ca42; }
.lct-wrap .result-invalid { color: #ff5f57; }
.lct-wrap .result-warning { color: #ffbd2e; }

/* ── External-source buttons (GitHub / RapidAPI) ───────────────────────── */
.lct-wrap .github-button,
.lct-wrap .api-button {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 8px 16px;
  background: rgba(255, 255, 255, 0.05);
  color: var(--lct-blue);
  border: 1px solid rgba(74, 144, 226, 0.6);
  border-radius: 6px;
  text-decoration: none;
  font-family: var(--lct-mono);
  font-size: 14px;
  transition: all 0.25s ease;
  -webkit-tap-highlight-color: transparent;
  touch-action: manipulation;
}

.lct-wrap .github-button:hover,
.lct-wrap .api-button:hover {
  background: var(--lct-blue);
  color: var(--lct-bg);
  box-shadow: 0 0 12px rgba(74, 144, 226, 0.5);
  transform: translateY(-1px);
  text-shadow: none;
}

.lct-wrap .github-button svg,
.lct-wrap .api-button svg {
  width: 16px;
  height: 16px;
  flex-shrink: 0;
}

/* ── Footer navigation ─────────────────────────────────────────────────── */
.lct-wrap .nav-links {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 10px;
  margin-top: 10px;
  position: relative;
  z-index: 2;
}

.lct-wrap .nav-links a {
  margin-right: 0;
  padding: 0.55rem 1.1rem;
  border: 1px solid rgba(74, 144, 226, 0.55);
  border-radius: 6px;
  background: rgba(30, 30, 60, 0.5);
  color: var(--lct-blue);
  font-size: 0.95em;
  transition: all 0.25s ease;
}

.lct-wrap .nav-links a:hover {
  background: var(--lct-blue);
  color: var(--lct-bg);
  box-shadow: 0 0 16px rgba(74, 144, 226, 0.5);
  text-shadow: none;
  transform: translateY(-2px);
}

/* ─────────────────────────────────────────────────────────────────────────
   RESPONSIVE
   ───────────────────────────────────────────────────────────────────────── */
@media (max-width: 768px) {
  body { padding: 0 3%; }
  .lct-wrap { padding: 1rem 0 2rem; }
}

@media (max-width: 600px) {
  .lct-wrap h1 { font-size: 1.3rem; }

  .lct-wrap .content-box {
    padding: 14px;
    margin: 12px 0;
    border-radius: 10px;
  }

  /* Stack the description / source-button row (structure is unchanged,
     these are the same child selectors the original pages used) */
  .lct-wrap .content-box > div:first-child {
    flex-direction: column !important;
    gap: 12px !important;
  }

  .lct-wrap .content-box > div:first-child > div:first-child {
    min-width: unset !important;
  }

  .lct-wrap .content-box > div:first-child > div:first-child p {
    font-size: 0.9em;
    margin: 0 0 8px 0;
  }

  .lct-wrap .content-box > div:first-child > div:last-child {
    display: flex !important;
    align-items: flex-start !important;
  }

  .lct-wrap .tool-form { margin: 18px 0; gap: 12px; }

  .lct-wrap .mode-selector { border-radius: 10px; }
  .lct-wrap .mode-option { padding: 12px 10px; font-size: 14px; }
  .lct-wrap .mode-info { font-size: 0.85em; text-align: center; }

  /* Stack input and button vertically */
  .lct-wrap .input-group {
    flex-direction: column;
    border-radius: 10px;
  }

  .lct-wrap input[type="text"],
  .lct-wrap input[type="email"],
  .lct-wrap input[type="url"] {
    padding: 14px 16px;
    font-size: 16px; /* prevents iOS auto-zoom */
    border-bottom: 1px solid rgba(74, 144, 226, 0.3);
    width: 100%;
  }

  .lct-wrap .input-group > button,
  .lct-wrap .input-group > input[type="submit"] {
    padding: 14px 16px;
    font-size: 15px;
    width: 100%;
    text-align: center;
  }

  .lct-wrap .name-inputs { flex-direction: column; }

  .lct-wrap .terminal-container { margin-top: 14px; border-radius: 8px; }
  .lct-wrap .terminal-header { padding: 8px 12px; font-size: 12px; gap: 8px; }
  .lct-wrap .terminal-control { width: 10px; height: 10px; }
  .lct-wrap .status-indicator { font-size: 10px; padding: 4px 8px; gap: 5px; }

  /* Wide CLI output: horizontal scroll preserves column alignment */
  .lct-wrap .terminal-output {
    font-size: 12px;
    padding: 10px;
    min-height: 160px;
    max-height: calc(100vh - 380px);
    white-space: pre;
    overflow-x: auto;
    word-break: normal;
    -webkit-overflow-scrolling: touch;
  }

  /* Structured result blocks still wrap normally on small screens */
  .lct-wrap .terminal-output .result-section { white-space: normal; }
  .lct-wrap .result-section { padding: 10px; margin: 10px 0; }
  .lct-wrap .result-title { font-size: 1em; }

  .lct-wrap .scroll-to-bottom {
    width: 36px;
    height: 36px;
    right: 10px;
    bottom: 10px;
    font-size: 18px;
  }

  .lct-wrap .nav-links { gap: 10px; padding-top: 4px; }

  .lct-wrap .nav-links a {
    font-size: 14px;
    padding: 8px 14px;
    min-height: 44px;
    display: inline-flex;
    align-items: center;
  }
}

@media (max-width: 380px) {
  .lct-wrap h1 { font-size: 1.1rem; }
  .lct-wrap .terminal-output { font-size: 11px; }
  .lct-wrap .terminal-header { font-size: 11px; }
  .lct-wrap .mode-option { font-size: 13px; padding: 11px 8px; }
}

/* Landscape phones — keep the terminal usable */
@media (max-height: 500px) and (max-width: 900px) {
  .lct-wrap .terminal-output { max-height: 180px; }
}

/* ─────────────────────────────────────────────────────────────────────────
   REDUCED MOTION
   ───────────────────────────────────────────────────────────────────────── */
@media (prefers-reduced-motion: reduce) {
  .lct-title,
  .lct-wrap > .content-box,
  .lct-wrap > .nav-links,
  .lct-wrap > div:last-child,
  .lct-wrap .terminal-container {
    animation: none !important;
  }

  .lct-wrap .terminal-cursor,
  .lct-wrap .pulse,
  .ocb-dot {
    animation: none !important;
  }

  .lct-wrap button,
  .lct-wrap a,
  .lct-wrap .input-group,
  .lct-wrap .mode-option,
  .lct-wrap .mode-button {
    transition: none !important;
  }
}

/* ─────────────────────────────────────────────────────────────────────────
   DOMAIN & URL tool additions (webdiver / uscrapper / nmap / darkus / …)
   ───────────────────────────────────────────────────────────────────────── */

/* Standalone always-visible result terminal (WebDiver / Uscrapper #results) */
.lct-wrap .terminal {
  margin-top: 20px;
  padding: 16px;
  border: 1px solid rgba(74, 144, 226, 0.4);
  border-radius: 10px;
  background: var(--lct-term-bg);
  box-shadow: 0 10px 34px rgba(0, 0, 0, 0.5),
              inset 0 1px 0 rgba(255, 255, 255, 0.04),
              0 0 20px rgba(74, 144, 226, 0.12);
  min-height: 400px;
  max-height: 600px;
  overflow-y: auto;
  -webkit-overflow-scrolling: touch;
  font-family: var(--lct-mono);
  font-size: 13.5px;
  line-height: 1.55;
  color: var(--lct-green);
  text-shadow: 0 0 6px rgba(0, 255, 0, 0.18);
  white-space: pre-wrap;
  word-wrap: break-word;
  position: relative;
}

.lct-wrap .terminal::-webkit-scrollbar { width: 9px; height: 9px; }
.lct-wrap .terminal::-webkit-scrollbar-track { background: rgba(10, 10, 24, 0.8); }
.lct-wrap .terminal::-webkit-scrollbar-thumb {
  background: rgba(74, 144, 226, 0.45);
  border-radius: 5px;
  border: 2px solid rgba(10, 10, 24, 0.8);
}
.lct-wrap .terminal::-webkit-scrollbar-thumb:hover { background: rgba(255, 107, 156, 0.55); }
.lct-wrap .terminal { scrollbar-width: thin; scrollbar-color: rgba(74,144,226,.45) rgba(10,10,24,.8); }

/* Loading indicator (toggled via inline display by the tools' own scripts) */
.lct-wrap .loading-animation {
  text-align: center;
  color: var(--lct-pink);
  font-size: 18px;
  padding: 40px;
  display: none;
}

.lct-wrap .loading-spinner {
  display: inline-block;
  animation: lctSpin 1s linear infinite;
  margin-right: 10px;
}

@keyframes lctSpin {
  0%   { transform: rotate(0deg); }
  100% { transform: rotate(360deg); }
}

/* Scoped to .loading-animation so dynamically-injected loaders elsewhere
   (e.g. theHarvester's runtime-injected dots) are never affected */
.lct-wrap .loading-animation .loading-dots::after {
  content: '.';
  animation: lctDots 1.5s steps(4, end) infinite;
}

@keyframes lctDots {
  0%, 25%  { content: '.'; }
  26%, 50% { content: '..'; }
  51%, 75% { content: '...'; }
  76%, 100% { content: ''; }
}

/* ANSI color spans injected by the tools' own output parsers (subcat,
   theHarvester). Values kept identical to the original pages. */
.lct-wrap .ansi-black          { color: #000000; }
.lct-wrap .ansi-red            { color: #ff5555; }
.lct-wrap .ansi-green          { color: #50fa7b; }
.lct-wrap .ansi-yellow         { color: #f1fa8c; }
.lct-wrap .ansi-blue           { color: #6495ed; }
.lct-wrap .ansi-magenta        { color: #ff79c6; }
.lct-wrap .ansi-cyan           { color: #8be9fd; }
.lct-wrap .ansi-white          { color: #f8f8f2; }
.lct-wrap .ansi-bright-black   { color: #6272a4; }
.lct-wrap .ansi-bright-red     { color: #ff6e6e; }
.lct-wrap .ansi-bright-green   { color: #69ff94; }
.lct-wrap .ansi-bright-yellow  { color: #ffffa5; }
.lct-wrap .ansi-bright-blue    { color: #d6acff; }
.lct-wrap .ansi-bright-magenta { color: #ff92df; }
.lct-wrap .ansi-bright-cyan    { color: #a4ffff; }
.lct-wrap .ansi-bright-white   { color: #ffffff; }
.lct-wrap .ansi-bold           { font-weight: bold; }

/* Darkus floating action buttons — fixed, tucked below the 58px topbar
   (original top:20px would cover the shell navigation) */
.lct-wrap .export-buttons {
  position: fixed;
  top: 76px;
  right: 20px;
  display: none;
  flex-direction: column;
  gap: 10px;
  z-index: 1000;
}

.lct-wrap .export-button {
  background: linear-gradient(135deg, var(--lct-pink), var(--lct-blue));
  color: #ffffff;
  border: 1px solid rgba(255, 107, 156, 0.7);
  padding: 12px 20px;
  border-radius: 8px;
  font-family: var(--lct-mono);
  font-size: 14px;
  font-weight: 700;
  cursor: pointer;
  box-shadow: 0 4px 20px rgba(255, 107, 156, 0.45);
  transition: transform 0.2s ease, box-shadow 0.25s ease;
  -webkit-tap-highlight-color: transparent;
  touch-action: manipulation;
}

.lct-wrap .export-button:hover {
  transform: translateY(-2px);
  box-shadow: 0 6px 25px rgba(255, 107, 156, 0.6);
}

.lct-wrap .stop-crawl-button {
  position: fixed;
  top: 76px;
  left: 20px;
  background: linear-gradient(135deg, #ff5f57, #ff8a80);
  color: #ffffff;
  border: 1px solid rgba(255, 95, 87, 0.8);
  padding: 12px 20px;
  border-radius: 8px;
  font-family: var(--lct-mono);
  font-size: 14px;
  font-weight: 700;
  cursor: pointer;
  box-shadow: 0 4px 20px rgba(255, 95, 87, 0.45);
  transition: transform 0.2s ease, box-shadow 0.25s ease;
  display: none;
  z-index: 1000;
  -webkit-tap-highlight-color: transparent;
  touch-action: manipulation;
}

.lct-wrap .stop-crawl-button:hover {
  transform: translateY(-2px);
  box-shadow: 0 6px 25px rgba(255, 95, 87, 0.65);
}

@media (max-width: 600px) {
  .lct-wrap .terminal {
    font-size: 12px;
    padding: 10px;
    min-height: 260px;
    max-height: calc(100vh - 360px);
    white-space: pre;
    overflow-x: auto;
    word-break: normal;
    -webkit-overflow-scrolling: touch;
  }

  .lct-wrap .loading-animation { font-size: 15px; padding: 24px 16px; }

  .lct-wrap .info-box { padding: 12px; }
  .lct-wrap .info-box h3 { font-size: 1rem; }
  .lct-wrap .info-box p { font-size: 0.88em; margin: 6px 0; }

  .lct-wrap .warning-box { padding: 12px; font-size: 0.88em; }
  .lct-wrap .warning-box h4 { font-size: 0.95rem; }
  .lct-wrap .warning-box p { margin: 6px 0; }

  .lct-wrap .feature-badge { font-size: 10px; padding: 3px 6px; margin-left: 4px; }

  /* Floating actions dock to the bottom on phones (same as original) */
  .lct-wrap .stop-crawl-button {
    top: auto;
    left: 12px;
    bottom: 12px;
    right: auto;
    padding: 12px 16px;
    font-size: 13px;
    width: calc(50% - 18px);
    text-align: center;
  }

  .lct-wrap .export-buttons {
    top: auto;
    right: 12px;
    bottom: 12px;
    left: auto;
    flex-direction: row;
    gap: 6px;
    width: calc(50% - 18px);
  }

  .lct-wrap .export-button {
    font-size: 11px;
    padding: 10px 8px;
    flex: 1;
    text-align: center;
  }
}

@media (max-width: 380px) {
  .lct-wrap .terminal { font-size: 11px; }
  .lct-wrap .stop-crawl-button { font-size: 12px; }
}

@media (max-height: 500px) and (max-width: 900px) {
  .lct-wrap .terminal { max-height: 180px; }
}

/* ─────────────────────────────────────────────────────────────────────────
   BREACHES & LEAKS tool additions (cabalbreach family / knownbreaches /
   huntpastebin / hudsonrock / telegrambreach)
   ───────────────────────────────────────────────────────────────────────── */

/* <pre> result surface (cabalbreach #results) — same terminal treatment */
.lct-wrap .content-box pre {
  margin-top: 20px;
  padding: 16px;
  border: 1px solid rgba(74, 144, 226, 0.4);
  border-radius: 10px;
  background: var(--lct-term-bg);
  box-shadow: 0 10px 34px rgba(0, 0, 0, 0.5),
              inset 0 1px 0 rgba(255, 255, 255, 0.04);
  min-height: 100px;
  max-height: 500px;
  overflow-y: auto;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
  font-family: var(--lct-mono);
  font-size: 13px;
  line-height: 1.55;
  color: #9fb7ff;
  white-space: pre-wrap;
  word-wrap: break-word;
}

/* Progress panel (display toggled inline by the tools' own scripts) */
.lct-wrap .progress-container {
  text-align: center;
  padding: 20px;
  border: 1px solid rgba(255, 107, 156, 0.45);
  border-radius: 10px;
  background: rgba(255, 107, 156, 0.06);
  margin: 20px 0;
  display: none;
}

.lct-wrap .progress-container h3 {
  color: var(--lct-pink);
  margin-top: 0;
  text-shadow: 0 0 10px rgba(255, 107, 156, 0.6);
}

.lct-wrap .loading-bar {
  width: 100%;
  height: 20px;
  background: rgba(74, 144, 226, 0.15);
  border-radius: 10px;
  overflow: hidden;
  margin: 15px 0;
  border: 1px solid rgba(74, 144, 226, 0.5);
}

.lct-wrap .loading-fill {
  height: 100%;
  background: linear-gradient(90deg, var(--lct-pink), var(--lct-blue));
  width: 0%;
  animation: lctLoadFill 3s ease-in-out infinite alternate;
  border-radius: 10px;
}

@keyframes lctLoadFill {
  from { width: 10%; }
  to   { width: 90%; }
}

.lct-wrap .progress-steps {
  text-align: left;
  margin: 15px 0;
  color: #8fa8e8;
}

.lct-wrap .progress-steps li {
  margin: 5px 0;
  opacity: 0.5;
}

.lct-wrap .progress-steps li.active {
  opacity: 1;
  color: var(--lct-pink);
  font-weight: 700;
}

.lct-wrap .progress-steps li.complete {
  opacity: 1;
  color: #6bff6b;
}

/* "Checking for breaches…" line (toggled inline by the tools' scripts) */
.lct-wrap .loading {
  color: var(--lct-pink);
  text-align: center;
  margin: 20px 0;
  display: none;
}

.lct-wrap .loading:after {
  content: '.';
  animation: lctDots5 1.5s steps(5, end) infinite;
}

@keyframes lctDots5 {
  0%, 20%   { content: '.'; }
  40%       { content: '..'; }
  60%       { content: '...'; }
  80%, 100% { content: '....'; }
}

/* External-source chip buttons with baked-in icons */
.lct-wrap .hr-button,
.lct-wrap .telegram-button {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 8px 16px;
  background: rgba(255, 255, 255, 0.05);
  color: var(--lct-blue);
  border: 1px solid rgba(74, 144, 226, 0.6);
  border-radius: 6px;
  text-decoration: none;
  font-family: var(--lct-mono);
  font-size: 14px;
  transition: all 0.25s ease;
}

.lct-wrap .hr-button:hover,
.lct-wrap .telegram-button:hover {
  background: var(--lct-blue);
  color: var(--lct-bg);
  box-shadow: 0 0 12px rgba(74, 144, 226, 0.5);
  transform: translateY(-1px);
  text-shadow: none;
}

.lct-wrap .hr-button::before        { content: "🔍"; font-size: 16px; }
.lct-wrap .telegram-button::before  { content: "✈️"; font-size: 16px; }

.lct-wrap .info-box ul { line-height: 1.8; }

/* Multi-mode search forms (huntpastebin) */
.lct-wrap .search-form { display: none; }
.lct-wrap .search-form.active { display: block; }

.lct-wrap input[type="number"] {
  padding: 15px 20px;
  flex: 1;
  background: transparent;
  border: none;
  color: #c9d6ff;
  caret-color: var(--lct-pink);
  font-family: var(--lct-mono);
  font-size: 16px;
  outline: none;
  min-width: 0;
}

/* ── Known Breaches live feed (cards are generated by the page's own JS) ── */
.lct-wrap .subtitle {
  text-align: center;
  color: var(--lct-blue);
  margin-bottom: 30px;
  font-size: 0.9em;
}

.lct-wrap .stats-bar {
  background: rgba(8, 8, 20, 0.65);
  border: 1px solid rgba(74, 144, 226, 0.5);
  border-radius: 8px;
  padding: 15px;
  margin-bottom: 30px;
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-wrap: wrap;
  gap: 15px;
}

.lct-wrap .stat-item {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 0.9em;
}

.lct-wrap .status-dot {
  width: 10px;
  height: 10px;
  border-radius: 50%;
  background: #6bff6b;
  box-shadow: 0 0 8px rgba(107, 255, 107, 0.7);
  animation: lctDotFade 2s infinite;
}

@keyframes lctDotFade {
  0%, 100% { opacity: 1; }
  50%      { opacity: 0.5; }
}

.lct-wrap .breach-feed {
  display: flex;
  flex-direction: column;
  gap: 20px;
}

.lct-wrap .breach-card {
  background: rgba(8, 8, 20, 0.65);
  border: 1px solid rgba(74, 144, 226, 0.45);
  border-radius: 10px;
  padding: 20px;
  transition: border-color 0.25s ease, box-shadow 0.25s ease;
}

.lct-wrap .breach-card:hover {
  border-color: var(--lct-pink);
  box-shadow: 0 5px 15px rgba(255, 107, 156, 0.25);
}

.lct-wrap .breach-header {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  margin-bottom: 12px;
  gap: 15px;
}

.lct-wrap .breach-name {
  color: var(--lct-pink);
  font-size: 1.2em;
  font-weight: 700;
  text-shadow: 0 0 5px rgba(255, 107, 156, 0.5);
  flex: 1;
}

.lct-wrap .breach-date {
  color: #6bff6b;
  font-size: 0.85em;
  white-space: nowrap;
}

.lct-wrap .breach-description {
  color: #9fb7ff;
  font-size: 0.9em;
  line-height: 1.6;
  margin-bottom: 15px;
  word-break: break-word;
}

.lct-wrap .breach-description a { color: var(--lct-cyan); }

.lct-wrap .breach-stats {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-bottom: 12px;
}

.lct-wrap .stat-badge {
  background: rgba(74, 144, 226, 0.15);
  border: 1px solid rgba(74, 144, 226, 0.55);
  border-radius: 5px;
  padding: 5px 12px;
  font-size: 0.85em;
  color: #6bff6b;
}

.lct-wrap .breach-tags {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
}

.lct-wrap .tag {
  background: rgba(255, 107, 156, 0.12);
  border: 1px solid rgba(255, 107, 156, 0.55);
  border-radius: 4px;
  padding: 4px 10px;
  font-size: 0.8em;
  color: var(--lct-pink);
}

.lct-wrap .loading-container {
  text-align: center;
  padding: 40px;
  color: var(--lct-pink);
}

.lct-wrap .spinner {
  border: 3px solid rgba(74, 144, 226, 0.25);
  border-top: 3px solid var(--lct-pink);
  border-radius: 50%;
  width: 40px;
  height: 40px;
  animation: lctSpin 1s linear infinite;
  margin: 0 auto 20px;
}

.lct-wrap .error-message {
  color: #ff6b6b;
  text-align: center;
  padding: 20px;
  background: rgba(255, 107, 107, 0.08);
  border: 1px solid rgba(255, 107, 107, 0.55);
  border-radius: 8px;
  margin: 20px 0;
}

.lct-wrap .load-more-container {
  text-align: center;
  margin-top: 30px;
  padding: 20px 0;
}

.lct-wrap .load-more-btn {
  background: linear-gradient(135deg, var(--lct-pink), var(--lct-blue));
  color: #ffffff;
  border: none;
  padding: 12px 30px;
  border-radius: 8px;
  font-family: var(--lct-mono);
  font-size: 1em;
  font-weight: 700;
  cursor: pointer;
  transition: transform 0.2s ease, box-shadow 0.25s ease, filter 0.25s ease;
}

.lct-wrap .load-more-btn:hover {
  filter: brightness(1.12);
  transform: translateY(-2px);
  box-shadow: 0 4px 15px rgba(255, 107, 156, 0.35);
}

.lct-wrap .load-more-btn:disabled {
  opacity: 0.5;
  cursor: not-allowed;
}

@media (max-width: 600px) {
  .lct-wrap input[type="number"] {
    font-size: 16px; /* prevents iOS auto-zoom */
    padding: 13px 16px;
    border-bottom: 1px solid rgba(74, 144, 226, 0.3);
    width: 100%;
  }

  .lct-wrap .progress-container { padding: 14px; }
  .lct-wrap .progress-container h3 { font-size: 1rem; }
  .lct-wrap .progress-container p { font-size: 0.85em; }
  .lct-wrap .progress-steps li { font-size: 0.85em; }

  .lct-wrap .content-box pre {
    font-size: 11px;
    padding: 10px;
    max-height: calc(100vh - 200px);
  }

  /* Multi-mode forms: inputs and action buttons go full width */
  .lct-wrap .search-form .input-group { max-width: 100%; }
  .lct-wrap .search-form button:not(.mode-button) {
    width: 100%;
    max-width: 400px;
    font-size: 15px;
    padding: 14px 20px;
  }
}

@media (max-width: 380px) {
  .lct-wrap .content-box pre { font-size: 10px; }
}

@media (hover: none) {
  .lct-wrap .mode-button:hover { transform: none; }
  .lct-wrap button:hover { transform: none; }
}

/* ─────────────────────────────────────────────────────────────────────────
   PLATFORM SPECIFIC & PUBLIC DATA additions
   ───────────────────────────────────────────────────────────────────────── */

/* Terminal span colors injected by output parsers (values from originals) */
.lct-wrap .color-cyan          { color: #00ffff; }
.lct-wrap .color-blue          { color: #5f9bff; }
.lct-wrap .color-purple        { color: #bf5fff; }
.lct-wrap .color-green         { color: #00ff00; }
.lct-wrap .color-yellow        { color: #ffff00; }
.lct-wrap .color-red           { color: #ff5f57; }
.lct-wrap .color-bright-purple { color: #ff00ff; font-weight: bold; }
.lct-wrap .color-magenta       { color: #ff00ff; }
.lct-wrap .term-cyan    { color: #8be9fd; }
.lct-wrap .term-magenta { color: #ff79c6; }
.lct-wrap .term-green   { color: #50fa7b; }
.lct-wrap .term-yellow  { color: #f1fa8c; }
.lct-wrap .term-red     { color: #ff5555; }
.lct-wrap .ansi-dim       { color: #a0b8d8; }
.lct-wrap .ansi-underline { text-decoration: underline; }
.lct-wrap .ansi-grey      { color: #8899bb; }
.lct-wrap .ansi-bg-dark   { background-color: #111; }
.lct-wrap .ansi-bg-red    { background-color: #3b0a0a; }
.lct-wrap .ansi-bg-green  { background-color: #0a2e12; }
.lct-wrap .ansi-bg-yellow { background-color: #2e2200; }
.lct-wrap .ansi-bg-blue   { background-color: #0a1a3b; }

/* Extra input element types (same surface as text inputs) */
.lct-wrap input[type="password"],
.lct-wrap textarea,
.lct-wrap select {
  padding: 15px 20px;
  background: rgba(8, 8, 20, 0.65);
  border: 1px solid rgba(74, 144, 226, 0.5);
  border-radius: 8px;
  color: #c9d6ff;
  caret-color: var(--lct-pink);
  font-family: var(--lct-mono);
  font-size: 16px;
  outline: none;
  transition: border-color 0.25s ease, box-shadow 0.25s ease;
  color-scheme: dark;
}

.lct-wrap input[type="password"]:focus,
.lct-wrap textarea:focus,
.lct-wrap select:focus {
  border-color: var(--lct-pink);
  box-shadow: 0 0 0 3px rgba(255, 107, 156, 0.18);
}

.lct-wrap select option { background-color: #0d0d2a; color: #e8eeff; }
.lct-wrap textarea { min-height: 90px; resize: vertical; line-height: 1.5; }

.lct-wrap .input-group input[type="password"],
.lct-wrap .input-group select {
  border: none;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
}

.lct-wrap .input-group select {
  border-right: 1px solid rgba(74, 144, 226, 0.4);
  flex: 0 0 auto;
  cursor: pointer;
}

/* Checkbox row (TikTok UserData) */
.lct-wrap .checkbox-container {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  padding: 10px;
  background: rgba(8, 8, 20, 0.55);
  border: 1px solid rgba(74, 144, 226, 0.5);
  border-radius: 8px;
  max-width: 600px;
  margin: 0 auto;
  transition: border-color 0.25s ease, background 0.25s ease;
  -webkit-tap-highlight-color: transparent;
}

.lct-wrap .checkbox-container:hover {
  border-color: rgba(255, 107, 156, 0.6);
  background: rgba(20, 20, 50, 0.6);
}

.lct-wrap .checkbox-label { color: var(--lct-blue); cursor: pointer; user-select: none; }
.lct-wrap input[type="checkbox"] { accent-color: var(--lct-pink); width: 16px; height: 16px; cursor: pointer; }

/* Info badges (all variants, values from originals) */
.lct-wrap .info-badges { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 12px; }
.lct-wrap .badge {
  display: inline-block;
  padding: 3px 10px;
  border-radius: 12px;
  font-size: 0.78em;
  font-weight: 700;
  border: 1px solid;
}
.lct-wrap .badge-proxy { color: #ff6b9c; border-color: #ff6b9c; background: rgba(255,107,156,.08); }
.lct-wrap .badge-vpn   { color: #ffbd2e; border-color: #ffbd2e; background: rgba(255,189,46,.08); }
.lct-wrap .badge-tor   { color: #c678dd; border-color: #c678dd; background: rgba(198,120,221,.08); }
.lct-wrap .badge-host  { color: #56b6c2; border-color: #56b6c2; background: rgba(86,182,194,.08); }
.lct-wrap .badge-v6    { color: #28ca42; border-color: #28ca42; background: rgba(40,202,66,.08); }
.lct-wrap .badge-http-tag  { color: #00ff6e; border-color: #00ff6e; background: rgba(0,255,110,.08); }
.lct-wrap .badge-socks-tag { color: #dd88ff; border-color: #dd88ff; background: rgba(221,136,255,.08); }
.lct-wrap .badge-live-tag  { color: #ffee00; border-color: #ffee00; background: rgba(255,238,0,.08); }
.lct-wrap .badge-dl-tag    { color: #00eeff; border-color: #00eeff; background: rgba(0,238,255,.08); }
.lct-wrap .badge-http      { color: #00ff6e; border-color: #00ff6e; background: rgba(0,255,110,.15); }
.lct-wrap .badge-socks5    { color: #dd88ff; border-color: #dd88ff; background: rgba(221,136,255,.15); }
.lct-wrap .b-cyan    { color: #00eeff; border-color: #00eeff; background: rgba(0,238,255,.07); }
.lct-wrap .b-green   { color: #00ff6e; border-color: #00ff6e; background: rgba(0,255,110,.07); }
.lct-wrap .b-yellow  { color: #ffee00; border-color: #ffee00; background: rgba(255,238,0,.07); }
.lct-wrap .b-magenta { color: #dd88ff; border-color: #dd88ff; background: rgba(221,136,255,.07); }
.lct-wrap .b-red     { color: #ff5555; border-color: #ff5555; background: rgba(255,85,85,.07); }

/* Live stats bar (ProxyScraper) */
.lct-wrap .stat-value {
  font-size: 2em;
  font-weight: 700;
  color: var(--lct-pink);
  text-shadow: 0 0 8px rgba(255, 107, 156, 0.5);
  line-height: 1;
}
.lct-wrap .stat-value.green { color: #00ff6e; text-shadow: 0 0 8px rgba(0,255,110,0.5); }
.lct-wrap .stat-value.red   { color: #ff5555; text-shadow: 0 0 8px rgba(255,85,85,0.4); }
.lct-wrap .stat-value.cyan  { color: #00eeff; text-shadow: 0 0 8px rgba(0,238,255,0.4); }
.lct-wrap .stat-label { font-size: 0.75em; color: #8899bb; text-transform: uppercase; letter-spacing: 1px; }
.lct-wrap .stat-divider { width: 1px; background: rgba(74, 144, 226, 0.3); align-self: stretch; margin: 5px 0; }

/* Launch button (ProxyScraper) */
.lct-wrap .launch-area { display: flex; justify-content: center; margin: 30px 0; }
.lct-wrap .launch-btn {
  padding: 16px 40px;
  background: linear-gradient(135deg, var(--lct-pink), var(--lct-blue));
  color: #ffffff;
  border: none;
  border-radius: 12px;
  cursor: pointer;
  font-family: var(--lct-mono);
  font-size: 18px;
  font-weight: 700;
  letter-spacing: 1px;
  box-shadow: 0 4px 20px rgba(255, 107, 156, 0.3);
  transition: transform 0.2s ease, box-shadow 0.25s ease, filter 0.25s ease;
  -webkit-tap-highlight-color: transparent;
  touch-action: manipulation;
}
.lct-wrap .launch-btn:hover { filter: brightness(1.12); transform: translateY(-3px); box-shadow: 0 8px 30px rgba(255,107,156,0.5); }
.lct-wrap .launch-btn:active { transform: translateY(0); }
.lct-wrap .launch-btn:disabled { opacity: 0.45; cursor: not-allowed; transform: none; box-shadow: none; }

/* Download / export strips (visibility toggled inline by the tools' scripts) */
.lct-wrap .download-strip {
  display: none;
  align-items: center;
  justify-content: space-between;
  gap: 15px;
  margin-top: 15px;
  padding: 14px 20px;
  background: rgba(0, 255, 110, 0.08);
  border: 1px solid #00ff6e;
  border-radius: 8px;
  flex-wrap: wrap;
}
.lct-wrap .download-strip.active { display: flex; }
.lct-wrap .download-strip-text { color: #00ff6e; font-size: 0.9em; }
.lct-wrap .btn-show-results {
  padding: 8px 20px;
  background: linear-gradient(135deg, #00ff6e, var(--lct-blue));
  color: #000;
  border: none;
  border-radius: 6px;
  cursor: pointer;
  font-family: var(--lct-mono);
  font-size: 13px;
  font-weight: 700;
  transition: transform 0.2s ease, box-shadow 0.25s ease;
  -webkit-tap-highlight-color: transparent;
  touch-action: manipulation;
}
.lct-wrap .btn-show-results:hover { transform: translateY(-2px); box-shadow: 0 4px 15px rgba(0,255,110,0.4); }

.lct-wrap .export-strip {
  display: none;
  align-items: center;
  justify-content: space-between;
  gap: 15px;
  margin-top: 14px;
  padding: 12px 18px;
  background: rgba(0, 238, 255, 0.06);
  border: 1px solid #00eeff;
  border-radius: 8px;
  flex-wrap: wrap;
}
.lct-wrap .export-strip.active { display: flex; }
.lct-wrap .export-strip-text { color: #00eeff; font-size: 0.88em; }
.lct-wrap .btn-export {
  padding: 8px 20px;
  background: linear-gradient(135deg, #00eeff, var(--lct-blue));
  color: #000;
  border: none;
  border-radius: 6px;
  cursor: pointer;
  font-family: var(--lct-mono);
  font-size: 13px;
  font-weight: 700;
  transition: transform 0.2s ease, box-shadow 0.25s ease;
  -webkit-tap-highlight-color: transparent;
  touch-action: manipulation;
}
.lct-wrap .btn-export:hover { transform: translateY(-2px); box-shadow: 0 4px 15px rgba(0,238,255,0.4); }

/* Download modal (ProxyScraper) */
.lct-wrap .modal-overlay {
  display: none;
  position: fixed;
  top: 0; left: 0;
  width: 100%; height: 100%;
  background: rgba(0, 0, 0, 0.75);
  z-index: 8500;
  align-items: center;
  justify-content: center;
  backdrop-filter: blur(4px);
  -webkit-backdrop-filter: blur(4px);
  padding: 16px;
}
.lct-wrap .modal-overlay.active { display: flex; }
.lct-wrap .modal-box {
  background: rgba(13, 13, 42, 0.97);
  border: 1px solid rgba(255, 107, 156, 0.6);
  border-radius: 16px;
  padding: 30px 35px;
  max-width: 600px;
  width: 100%;
  box-shadow: 0 0 60px rgba(255,107,156,0.25), 0 0 120px rgba(74,144,226,0.15);
  position: relative;
  animation: lctRise 0.3s ease;
  max-height: 90vh;
  overflow-y: auto;
  -webkit-overflow-scrolling: touch;
}
.lct-wrap .modal-close {
  position: absolute;
  top: 14px; right: 18px;
  background: none;
  border: none;
  color: #8899bb;
  font-size: 22px;
  cursor: pointer;
  font-family: var(--lct-mono);
  transition: color 0.2s;
  min-width: 44px;
  min-height: 44px;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 0;
  -webkit-tap-highlight-color: transparent;
}
.lct-wrap .modal-close:hover { color: var(--lct-pink); transform: none; box-shadow: none; background: none; filter: none; }
.lct-wrap .modal-title { color: var(--lct-pink); font-size: 1.4em; text-shadow: 0 0 10px rgba(255,107,156,0.5); margin: 0 0 6px 0; }
.lct-wrap .modal-subtitle { color: #8899bb; font-size: 0.85em; margin: 0 0 20px 0; }
.lct-wrap .proxy-list-preview {
  background: var(--lct-term-bg);
  border: 1px solid rgba(74, 144, 226, 0.45);
  border-radius: 8px;
  padding: 12px 15px;
  max-height: 220px;
  overflow-y: auto;
  -webkit-overflow-scrolling: touch;
  margin-bottom: 20px;
  font-size: 12px;
  line-height: 1.7;
}
.lct-wrap .proxy-entry { display: flex; gap: 12px; align-items: center; flex-wrap: wrap; }
.lct-wrap .proxy-type-badge {
  display: inline-block;
  padding: 1px 7px;
  border-radius: 4px;
  font-size: 10px;
  font-weight: 700;
  min-width: 52px;
  text-align: center;
  flex-shrink: 0;
}
.lct-wrap .proxy-ip { color: #e8eeff; word-break: break-all; }
.lct-wrap .modal-actions { display: flex; gap: 12px; justify-content: flex-end; flex-wrap: wrap; }
.lct-wrap .btn-download {
  padding: 10px 24px;
  background: linear-gradient(135deg, #00ff6e, #00aaff);
  color: #000;
  border: none;
  border-radius: 8px;
  cursor: pointer;
  font-family: var(--lct-mono);
  font-size: 14px;
  font-weight: 700;
  transition: transform 0.2s ease, box-shadow 0.25s ease;
  -webkit-tap-highlight-color: transparent;
  touch-action: manipulation;
}
.lct-wrap .btn-download:hover { transform: translateY(-2px); box-shadow: 0 6px 20px rgba(0,255,110,0.4); }
.lct-wrap .btn-cancel {
  padding: 10px 20px;
  background: transparent;
  color: #8899bb;
  border: 1px solid rgba(74, 144, 226, 0.6);
  border-radius: 8px;
  cursor: pointer;
  font-family: var(--lct-mono);
  font-size: 14px;
  transition: border-color 0.2s ease, color 0.2s ease;
  -webkit-tap-highlight-color: transparent;
  touch-action: manipulation;
}
.lct-wrap .btn-cancel:hover { border-color: var(--lct-pink); color: var(--lct-pink); transform: none; box-shadow: none; filter: none; }

/* Query forms (VinDecoder / CoronavirOSINT) */
.lct-wrap .query-form { display: flex; flex-direction: column; gap: 16px; max-width: 680px; margin: 0 auto 24px auto; }
.lct-wrap .form-row { display: flex; gap: 12px; flex-wrap: wrap; }
.lct-wrap .form-group { display: flex; flex-direction: column; gap: 6px; flex: 1; min-width: 160px; }
.lct-wrap .form-group label { color: #8899bb; font-size: 0.78em; text-transform: uppercase; letter-spacing: 1px; }
.lct-wrap .field-group { display: none; }
.lct-wrap .field-group.active { display: flex; gap: 12px; flex-wrap: wrap; }
.lct-wrap .mode-hint { color: #8899bb; font-size: 0.78em; margin-top: 2px; line-height: 1.4; }
.lct-wrap .submit-btn {
  padding: 13px 30px;
  background: linear-gradient(135deg, var(--lct-pink), var(--lct-blue));
  color: #ffffff;
  border: none;
  border-radius: 10px;
  cursor: pointer;
  font-family: var(--lct-mono);
  font-size: 15px;
  font-weight: 700;
  letter-spacing: 0.5px;
  align-self: flex-end;
  white-space: nowrap;
  transition: transform 0.2s ease, box-shadow 0.25s ease, filter 0.25s ease;
  -webkit-tap-highlight-color: transparent;
  touch-action: manipulation;
}
.lct-wrap .submit-btn:hover { filter: brightness(1.12); transform: translateY(-2px); box-shadow: 0 6px 20px rgba(255,107,156,0.4); }
.lct-wrap .submit-btn:active { transform: translateY(0); }
.lct-wrap .submit-btn:disabled { opacity: 0.45; cursor: not-allowed; transform: none; box-shadow: none; }

/* CoronavirOSINT header row + location widget */
.lct-wrap .header-row { display: flex; justify-content: space-between; align-items: flex-start; flex-wrap: wrap; gap: 14px; margin-bottom: 20px; }
.lct-wrap .location-widget { display: flex; flex-direction: column; gap: 5px; flex-shrink: 0; }
.lct-wrap .location-widget-label { color: #8899bb; font-size: 0.72em; text-transform: uppercase; letter-spacing: 1px; }
.lct-wrap .location-widget-select {
  padding: 8px 12px;
  background: rgba(8, 8, 20, 0.65);
  color: var(--lct-blue);
  border: 1px solid rgba(74, 144, 226, 0.55);
  border-radius: 6px;
  font-family: var(--lct-mono);
  font-size: 16px;
  outline: none;
  cursor: pointer;
  transition: border-color 0.25s ease, box-shadow 0.25s ease, color 0.25s ease;
  min-width: 200px;
  appearance: auto;
  color-scheme: dark;
  -webkit-tap-highlight-color: transparent;
}
.lct-wrap .location-widget-select:hover,
.lct-wrap .location-widget-select:focus { border-color: #00eeff; color: #00eeff; box-shadow: 0 0 10px rgba(74,144,226,0.35); }
.lct-wrap .location-widget-select option { background-color: #0d0d2a; color: #e8eeff; }
.lct-wrap .header-center { flex: 1; min-width: 200px; }

/* Round scroll button variant (CoronavirOSINT) */
.lct-wrap .scroll-btn {
  position: absolute;
  right: 14px; bottom: 14px;
  background: linear-gradient(135deg, var(--lct-pink), var(--lct-blue));
  color: #ffffff;
  border: none;
  border-radius: 50%;
  width: 34px; height: 34px;
  padding: 0;
  cursor: pointer;
  display: none;
  align-items: center;
  justify-content: center;
  font-size: 15px;
  transition: transform 0.2s ease;
  -webkit-tap-highlight-color: transparent;
  z-index: 3;
}
.lct-wrap .scroll-btn:hover { transform: scale(1.15); }

/* OSINTSky / OSINTChan shell (h1 stays inside its own .header banner) */
.lct-wrap .container { max-width: 1400px; margin: 0 auto; }
.lct-wrap .header {
  text-align: center;
  margin-bottom: 30px;
  padding: 20px;
  background: rgba(255, 107, 156, 0.07);
  border: 1px solid rgba(255, 107, 156, 0.45);
  border-radius: 14px;
  position: relative;
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
}
.lct-wrap .header h1 { color: var(--lct-pink); font-size: clamp(1.6rem, 5vw, 3em); text-shadow: 0 0 20px rgba(255,107,156,0.8); margin-bottom: 10px; }
.lct-wrap .header p { color: var(--lct-blue); font-size: 1.05em; line-height: 1.5; }
.lct-wrap .github-btn {
  position: absolute;
  top: 20px;
  right: 20px;
  padding: 10px 20px;
  background: rgba(74, 144, 226, 0.15);
  border: 1px solid rgba(74, 144, 226, 0.6);
  border-radius: 6px;
  color: #ffffff;
  text-decoration: none;
  font-size: 14px;
  transition: all 0.25s ease;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  -webkit-tap-highlight-color: transparent;
  touch-action: manipulation;
}
.lct-wrap .github-btn:hover { background: rgba(74, 144, 226, 0.4); transform: translateY(-2px); box-shadow: 0 0 15px rgba(74,144,226,0.5); }
.lct-wrap .github-btn svg { width: 16px; height: 16px; flex-shrink: 0; }
.lct-wrap .auth-box {
  background: rgba(74, 144, 226, 0.07);
  border: 1px solid rgba(74, 144, 226, 0.5);
  border-radius: 14px;
  padding: 20px;
  margin: 20px 0;
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
}
.lct-wrap .auth-box h3 { color: var(--lct-blue); margin-bottom: 15px; }
.lct-wrap .auth-box .input-group { margin-bottom: 12px; max-width: 100%; }
.lct-wrap .auth-box > button { border-radius: 8px; }
.lct-wrap .session-info {
  background: rgba(0, 255, 136, 0.08);
  border: 1px solid #00ff88;
  border-radius: 6px;
  padding: 10px;
  margin: 10px 0;
  text-align: center;
}
.lct-wrap .session-info.authenticated { border-color: var(--lct-blue); background: rgba(74, 144, 226, 0.1); }
.lct-wrap .status-message { color: var(--lct-blue); font-weight: 700; margin: 10px 0; }
.lct-wrap .export-section {
  display: none;
  margin: 20px 0;
  padding: 15px;
  background: rgba(255, 107, 156, 0.07);
  border: 1px solid rgba(255, 107, 156, 0.5);
  border-radius: 8px;
  text-align: center;
}
.lct-wrap .export-section.visible { display: block; }
.lct-wrap .export-btn {
  background: linear-gradient(45deg, var(--lct-pink), var(--lct-blue));
  color: #ffffff;
  padding: 12px 24px;
  border: none;
  border-radius: 6px;
  font-weight: 700;
  cursor: pointer;
  font-size: 14px;
  box-shadow: 0 0 10px rgba(255, 107, 156, 0.4);
  margin: 5px;
  font-family: var(--lct-mono);
  transition: transform 0.2s ease, box-shadow 0.25s ease;
  -webkit-tap-highlight-color: transparent;
  touch-action: manipulation;
}
.lct-wrap .export-btn:hover { box-shadow: 0 0 20px rgba(255, 107, 156, 0.8); }
.lct-wrap .back-link {
  display: inline-block;
  margin-top: 20px;
  padding: 10px 20px;
  background: rgba(0, 255, 136, 0.08);
  border: 1px solid #00ff88;
  border-radius: 6px;
  color: #00ff88;
  text-decoration: none;
  transition: all 0.25s ease;
  -webkit-tap-highlight-color: transparent;
  touch-action: manipulation;
}
.lct-wrap .back-link:hover { background: rgba(0, 255, 136, 0.2); transform: translateX(-5px); }

/* Misc small-page components */
.lct-wrap .query-example {
  background: rgba(0, 0, 0, 0.35);
  padding: 10px;
  border-radius: 6px;
  font-family: var(--lct-mono);
  margin: 10px 0;
  border-left: 3px solid var(--lct-pink);
  word-break: break-all;
}
.lct-wrap .source-button {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 8px 16px;
  background: rgba(255, 255, 255, 0.05);
  color: var(--lct-blue);
  border: 1px solid rgba(74, 144, 226, 0.6);
  border-radius: 6px;
  text-decoration: none;
  font-family: var(--lct-mono);
  font-size: 14px;
  transition: all 0.25s ease;
  -webkit-tap-highlight-color: transparent;
  touch-action: manipulation;
}
.lct-wrap .source-button:hover { background: var(--lct-blue); color: var(--lct-bg); box-shadow: 0 0 10px rgba(74,144,226,0.5); transform: translateY(-1px); text-shadow: none; }
.lct-wrap .tool-section { display: flex; flex-direction: column; align-items: center; justify-content: center; margin: 40px 0; gap: 30px; }
.lct-wrap .nav-button {
  padding: 20px 40px;
  background: linear-gradient(135deg, var(--lct-pink), var(--lct-blue));
  color: #ffffff;
  border: none;
  cursor: pointer;
  font-family: var(--lct-mono);
  font-size: 18px;
  font-weight: 700;
  border-radius: 12px;
  transition: transform 0.2s ease, box-shadow 0.25s ease, filter 0.25s ease;
  box-shadow: 0 4px 15px rgba(74, 144, 226, 0.3);
  text-decoration: none;
  display: inline-block;
  -webkit-tap-highlight-color: transparent;
  touch-action: manipulation;
  text-align: center;
}
.lct-wrap .nav-button:hover { filter: brightness(1.12); transform: translateY(-3px); box-shadow: 0 8px 25px rgba(255, 107, 156, 0.5); }
.lct-wrap .nav-button:active { transform: translateY(0); }
.lct-wrap .telagogo-button {
  display: none;
  margin: 20px auto;
  padding: 15px 30px;
  background: linear-gradient(135deg, #28ca42, #00ff88);
  color: var(--lct-bg);
  border: none;
  border-radius: 8px;
  cursor: pointer;
  font-family: var(--lct-mono);
  font-size: 16px;
  font-weight: 700;
  transition: transform 0.2s ease, box-shadow 0.25s ease, filter 0.25s ease;
  box-shadow: 0 4px 15px rgba(40, 202, 66, 0.3);
  -webkit-tap-highlight-color: transparent;
  touch-action: manipulation;
}
.lct-wrap .telagogo-button:hover { filter: brightness(1.1); transform: translateY(-2px); box-shadow: 0 6px 20px rgba(40, 202, 66, 0.5); }

/* Category-tinted fallback gradients (animation OFF state) */
body.simple-bg[data-lct-theme="email"]    { background: linear-gradient(135deg, #2a1845, #1a0f2e); }
body.simple-bg[data-lct-theme="domain"]   { background: linear-gradient(135deg, #101c3f, #0a1230); }
body.simple-bg[data-lct-theme="breach"]   { background: linear-gradient(135deg, #33101f, #1f0a14); }
body.simple-bg[data-lct-theme="platform"] { background: linear-gradient(135deg, #241443, #150b2e); }
body.simple-bg[data-lct-theme="public"]   { background: linear-gradient(135deg, #0a2e26, #081c22); }
body.simple-bg[data-lct-theme="cabal"]    { background: linear-gradient(135deg, #2e1f08, #1c1005); }

@media (max-width: 600px) {
  .lct-wrap .input-group select {
    border-right: none;
    border-bottom: 1px solid rgba(74, 144, 226, 0.3);
    padding: 13px 16px;
    width: 100%;
  }

  .lct-wrap .checkbox-container { padding: 12px 14px; max-width: 100%; }
  .lct-wrap .checkbox-label { font-size: 14px; }

  .lct-wrap .launch-area { margin: 20px 0; }
  .lct-wrap .launch-btn { width: 100%; font-size: 16px; padding: 14px 20px; letter-spacing: 0.5px; }

  .lct-wrap .stat-divider { display: none; }
  .lct-wrap .stat-value { font-size: 1.5em; }
  .lct-wrap .stat-label { font-size: 0.7em; }

  .lct-wrap .modal-box { padding: 18px; border-radius: 12px; }
  .lct-wrap .modal-title { font-size: 1.1em; }
  .lct-wrap .modal-actions { justify-content: stretch; }
  .lct-wrap .btn-download, .lct-wrap .btn-cancel { flex: 1 1 auto; text-align: center; }

  .lct-wrap .download-strip { padding: 12px 14px; }
  .lct-wrap .download-strip-text { font-size: 0.82em; }
  .lct-wrap .btn-show-results { font-size: 12px; padding: 8px 14px; width: 100%; text-align: center; }

  .lct-wrap .field-group.active { flex-direction: column; }
  .lct-wrap .form-group { min-width: unset !important; }
  .lct-wrap .submit-btn { align-self: stretch; text-align: center; width: 100%; font-size: 15px; }

  .lct-wrap .export-strip { padding: 10px 14px; }
  .lct-wrap .export-strip-text { font-size: 0.82em; }
  .lct-wrap .btn-export { width: 100%; text-align: center; font-size: 12px; }

  .lct-wrap .header-row { flex-direction: column; gap: 12px; }
  .lct-wrap .location-widget { width: 100%; }
  .lct-wrap .location-widget-select { min-width: unset; width: 100%; }
  .lct-wrap .header-center { min-width: unset; }

  .lct-wrap .scroll-btn { width: 32px; height: 32px; right: 10px; bottom: 10px; font-size: 14px; }

  .lct-wrap .header { padding: 50px 14px 16px; }
  .lct-wrap .header h1 { font-size: 1.6rem; }
  .lct-wrap .header p { font-size: 0.9rem; }
  .lct-wrap .github-btn { top: 12px; right: 12px; padding: 7px 12px; font-size: 12px; }
  .lct-wrap .auth-box { padding: 14px; }
  .lct-wrap .auth-box > button { width: 100%; }
  .lct-wrap .export-section { padding: 12px; }
  .lct-wrap .export-btn { display: block; width: 100%; margin: 6px 0; font-size: 13px; }
  .lct-wrap .back-link { display: block; text-align: center; margin-top: 16px; }

  .lct-wrap .tool-section { margin: 24px 0; gap: 20px; }
  .lct-wrap .nav-button { width: 100%; font-size: 16px; padding: 16px 20px; border-radius: 10px; }
  .lct-wrap .telagogo-button { width: 100%; margin: 16px 0 0 0; font-size: 14px; padding: 14px 16px; }
}

@media (max-width: 380px) {
  .lct-wrap .header h1 { font-size: 1.4rem; }
  .lct-wrap .nav-button { font-size: 14px; }
  .lct-wrap .launch-btn { font-size: 14px; }
}

@media (hover: none) {
  .lct-wrap .launch-btn:hover,
  .lct-wrap .nav-button:hover,
  .lct-wrap .telagogo-button:hover,
  .lct-wrap .submit-btn:hover,
  .lct-wrap .btn-export:hover,
  .lct-wrap .btn-download:hover,
  .lct-wrap .btn-show-results:hover,
  .lct-wrap .back-link:hover,
  .lct-wrap .github-btn:hover { transform: none; }
}

/* ─────────────────────────────────────────────────────────────────────────
   Cabal kit form controls — bring the kits' own text boxes onto the shared
   Live Center theme. Scoped to body[data-lct-theme="cabal"] (generic element
   selectors) and to the kit-only classes .input-hacker / .glass-input, so the
   regular .lct-wrap tool pages are completely unaffected.
   ───────────────────────────────────────────────────────────────────────── */
[data-lct-theme] .input-hacker,
[data-lct-theme] .glass-input,
body[data-lct-theme="cabal"] input[type="text"],
body[data-lct-theme="cabal"] input[type="email"],
body[data-lct-theme="cabal"] input[type="url"],
body[data-lct-theme="cabal"] input[type="password"],
body[data-lct-theme="cabal"] input[type="number"],
body[data-lct-theme="cabal"] input[type="search"],
body[data-lct-theme="cabal"] textarea,
body[data-lct-theme="cabal"] select {
  background-color: rgba(8, 8, 20, 0.65);
  border: 1px solid rgba(74, 144, 226, 0.5);
  border-radius: 10px;
  color: #c9d6ff;
  caret-color: #ff6b9c;
  color-scheme: dark;
  transition: border-color 0.25s ease, box-shadow 0.25s ease, background-color 0.25s ease;
}

[data-lct-theme] .input-hacker:focus,
[data-lct-theme] .glass-input:focus,
body[data-lct-theme="cabal"] input[type="text"]:focus,
body[data-lct-theme="cabal"] input[type="email"]:focus,
body[data-lct-theme="cabal"] input[type="url"]:focus,
body[data-lct-theme="cabal"] input[type="password"]:focus,
body[data-lct-theme="cabal"] input[type="number"]:focus,
body[data-lct-theme="cabal"] input[type="search"]:focus,
body[data-lct-theme="cabal"] textarea:focus,
body[data-lct-theme="cabal"] select:focus {
  outline: none;
  border-color: #ff6b9c;
  background-color: rgba(10, 10, 26, 0.8);
  box-shadow: 0 0 0 3px rgba(255, 107, 156, 0.16), 0 0 18px rgba(255, 107, 156, 0.18);
}

body[data-lct-theme="cabal"] input::placeholder,
body[data-lct-theme="cabal"] textarea::placeholder,
[data-lct-theme] .input-hacker::placeholder,
[data-lct-theme] .glass-input::placeholder {
  color: rgba(140, 155, 210, 0.45);
}

body[data-lct-theme="cabal"] select option {
  background-color: #0d0d2a;
  color: #e8eeff;
}

body[data-lct-theme="cabal"] input[type="checkbox"],
body[data-lct-theme="cabal"] input[type="radio"] {
  accent-color: #ff6b9c;
}

/* ─────────────────────────────────────────────────────────────────────────
   MOBILE PERFORMANCE (see also glass.css: backdrop blur is removed site-wide
   on mobile). Keep the sticky bar and slide-out menu fully legible now that
   they can no longer rely on blur for separation from the page. */
@media (max-width: 768px), (pointer: coarse) {
  .ocb-topbar { background: rgba(8, 8, 16, .96); }
  .ocb-menu   { background: rgba(9, 8, 16, .985); }
  .ocb-scrim  { background: rgba(4, 4, 9, .65); }
}
