:root {
  --neon-cyan: #00f3ff;
  --cyber-purple: #7028e4;
  --matrix-green: #00ff9d;
  --cyber-black: #0a0a12;
  --hologram-gradient: linear-gradient(45deg, var(--cyber-purple), var(--neon-cyan));
  --glass: rgba(255,255,255,0.03);
  --muted: rgba(255,255,255,0.45);
  --font-mono: ui-monospace, SFMono-Regular, Menlo, Monaco, "Roboto Mono", "Courier New", monospace;
  --touch: 44px;
  --radius: 12px;
  --card-pad: 16px;
}

/* Scope to avoid global pollution */
.cybertool-rng-1-62 { box-sizing: border-box; font-family: var(--font-mono); color: var(--neon-cyan); position: relative; isolation: isolate; }

/* Background layer */
.cybertool-rng-1-62__bg {
  position: absolute; inset: 0; z-index: 0; pointer-events: none;
  background: linear-gradient(180deg, rgba(10,10,18,0.88), rgba(8,8,12,0.95));
  border-radius: calc(var(--radius) + 4px);
  backdrop-filter: blur(6px) saturate(120%);
}

/* Particle canvas */
.cybertool-rng-1-62__particles { position:absolute; inset:0; width:100%; height:100%; display:block; }

/* Card */
.cybertool-rng-1-62__card {
  position: relative; z-index: 1;
  margin: 18px;
  padding: var(--card-pad);
  border-radius: var(--radius);
  background: linear-gradient(180deg, rgba(10,10,14,0.6), rgba(7,7,10,0.85));
  border: 1px solid var(--glass);
  box-shadow: 0 10px 30px rgba(0,0,0,0.6), 0 0 18px rgba(112,40,228,0.03);
}

/* Header */
.cybertool-rng-1-62__header { display:flex; align-items:center; justify-content:space-between; gap:12px; margin-bottom:14px; }
.cybertool-rng-1-62__title { margin:0; font-size:1rem; background: var(--hologram-gradient); -webkit-background-clip:text; background-clip:text; color:transparent; letter-spacing:0.6px; }

/* Body layout - mobile-first stacked */
.cybertool-rng-1-62__body { display:grid; grid-template-columns: 1fr; gap:18px; }

/* Pane common */
.cybertool-rng-1-62__pane { padding:12px; border-radius:10px; border:1px solid rgba(255,255,255,0.02); background: linear-gradient(180deg, rgba(255,255,255,0.01), rgba(0,0,0,0.02)); min-height:160px; box-shadow: inset 0 4px 30px rgba(0,0,0,0.5); display:flex; flex-direction:column; gap:10px; }

/* Pane titles */
.cybertool-rng-1-62__pane-title { margin:0; font-size:0.95rem; color: var(--muted); }

/* Input controls */
.cybertool-rng-1-62__label { color: rgba(255,255,255,0.65); font-size:0.82rem; }
.cybertool-rng-1-62__input {
  height: var(--touch);
  min-height: var(--touch);
  padding: 8px 12px;
  border-radius: 10px;
  background: rgba(255,255,255,0.02);
  border: 1px solid rgba(255,255,255,0.04);
  color: #e8fbff;
  font-family: var(--font-mono);
  font-size: 0.95rem;
  outline: none;
}

/* Checkbox row */
.cybertool-rng-1-62__row { display:flex; gap:12px; align-items:center; flex-wrap:wrap; }
.cybertool-rng-1-62__checkbox { display:flex; align-items:center; gap:8px; cursor:pointer; color:var(--muted); }
.cybertool-rng-1-62__checkbox-input { width:18px; height:18px; accent-color: var(--matrix-green); }

/* Buttons */
.cybertool-rng-1-62__btn {
  min-height: var(--touch); height: var(--touch);
  padding: 0 14px; border-radius: 10px; border:1px solid rgba(255,255,255,0.06);
  background: linear-gradient(90deg, rgba(255,255,255,0.02), rgba(255,255,255,0.01));
  color: #dffaff; cursor:pointer; font-family:var(--font-mono); font-size:0.95rem;
  display:inline-flex; align-items:center; justify-content:center; gap:8px; transition: transform .12s ease, box-shadow .12s ease, background .18s ease;
}
.cybertool-rng-1-62__btn:hover { transform: translateY(-3px); box-shadow: 0 12px 40px rgba(0,0,0,0.6), 0 0 30px rgba(112,40,228,0.08); background: linear-gradient(90deg, rgba(112,40,228,0.12), rgba(0,243,255,0.08)); }

/* Variants */
.cybert-btn--accent { background: var(--hologram-gradient); color:#07060a; box-shadow: 0 6px 24px rgba(112,40,228,0.12); }
.cybert-btn--muted { opacity:0.75; }
.cybert-btn--ghost { background:transparent; border-style: dashed; }

/* Output area */
.cybertool-rng-1-62__output {
  min-height: 72px; padding: 12px; border-radius: 10px;
  background: linear-gradient(180deg, rgba(255,255,255,0.01), rgba(255,255,255,0.00));
  color: #e8fbff; font-size:1.3rem; display:flex; align-items:center; justify-content:center; letter-spacing:1px;
  border: 1px solid rgba(0,255,157,0.04);
  box-shadow: 0 6px 24px rgba(0,255,157,0.02);
  text-wrap: normal;
}

/* Meta area */
.cybertool-rng-1-62__meta { display:flex; gap:12px; margin-top:8px; color: rgba(255,255,255,0.55); font-size:0.82rem; }
.cybertool-rng-1-62__meta-item { padding:6px 8px; background: rgba(255,255,255,0.02); border-radius:8px; }

/* History */
.cybertool-rng-1-62__history { margin-top:10px; max-height:120px; overflow:auto; border-top:1px dashed rgba(255,255,255,0.02); padding-top:8px; }
.cybertool-rng-1-62__history-title { margin:0 0 6px 0; color:var(--muted); font-size:0.82rem; }
.cybertool-rng-1-62__history-list { list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:6px; }
.cybertool-rng-1-62__history-list li { padding:6px 8px; background: rgba(255,255,255,0.01); border-radius:8px; font-size:0.9rem; color:#dffaff; display:flex; justify-content:space-between; align-items:center; }

/* Loader */
.cybertool-rng-1-62__loader { width:28px; height:28px; border-radius:50%; border:3px solid rgba(255,255,255,0.03); border-top-color: var(--neon-cyan); animation: cyber-rotate 1.1s linear infinite; opacity:0; transition: opacity .18s ease; }
.cybertool-rng-1-62__loader.is-active { opacity:1; }

/* Footer */
.cybertool-rng-1-62__footer { display:flex; justify-content:space-between; margin-top:14px; color: rgba(255,255,255,0.35); font-size:0.75rem; }

/* Desktop: horizontal split */
@media (min-width: 600px) {
  .cybertool-rng-1-62__body { grid-template-columns: 1fr 1fr; align-items:start; }
  .cybertool-rng-1-62__pane { min-height: 260px; }
}

/* Accessibility & touch */
.cybertool-rng-1-62__btn, .cybertool-rng-1-62__input { touch-action: manipulation; -webkit-tap-highlight-color: transparent; }

/* Subtle glow when hovering interactive elements */
.cybertool-rng-1-62__card:has(.cybertool-rng-1-62__btn:hover) { box-shadow: 0 20px 60px rgba(0,0,0,0.65), 0 0 48px rgba(112,40,228,0.14), 0 0 120px rgba(0,243,255,0.04); transform: translateY(-2px); transition: box-shadow .3s ease, transform .25s ease; }

/* Keyframes */
@keyframes cyber-rotate { to { transform: rotate(360deg); } }

/* End scoped CSS */