@font-face {
  font-family: 'beep';
  src: url('woff/beep.woff');
}
@font-face {
  font-family: 'frrr';
  src: url('woff/frrr.woff');
}

@font-face {
  font-family: 'ittt';
  src: url('woff/ittt.woff');
}

html {
  box-sizing: border-box;
  background: #f0f0f0;
}
*, *:before, *:after {
  box-sizing: inherit;
}

html,
body {
  height: 100%;
  margin: 0;
  padding: 1rem;
  font-family: 'frrr', 'Courier New', monospace;
  position: relative;
  background: #f0f0f0;
  color: #111;
  min-height: 100vh;
  width: 100%;
  overflow-x: hidden;
  text-align: center;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  font-size: 0.75rem;
  vertical-align: middle;
  font-weight: 400;
  line-height: 1.6;
  letter-spacing: 0.2rem;


}

/* Add subtle scanline effect by default */
body::after {
  content: '';
  position: fixed;
  top: 0;
  left: 0;
  width: 100vw;
  height: 100vh;
  background: repeating-linear-gradient(0deg, transparent, transparent 2px, rgba(0, 0, 0, 0.05) 2px, rgba(0, 0, 0, 0.05) 3px);
  pointer-events: none;
  z-index: 100;
}

#tentacles {
  display: none; /* Hidden by default, enabled in distortion mode */
  position: fixed; top: 0; left: 0;
  width: 100%; height: 100%;
  overflow: hidden; pointer-events: none; z-index: 0;
}

.tentacle {
  position: absolute;
  background: linear-gradient(to bottom, #6cfc6f22, transparent);
  z-index: 0;
  pointer-events: none;
  border-radius: 50%;
}


h1 {
  font-size: 3.6rem;
  margin: 20px;
  color: #222;
  text-shadow: none;
}

.content-box {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 1em;
  margin-top: 2em;
  z-index: 2;
  position: relative;
  width: 100%;
  max-width: 800px;
}

.select, .content-container, footer {
  margin: 0 auto;
  max-width: 666px;
  padding: 0.06rem;
  border-radius: 6px;
  background: transparent;
}

.content-container {
  display: flex;
  flex-direction: row;
  justify-content: space-around;
  align-items: stretch;
  flex-wrap: wrap;
  min-height: 333px;
  gap: 1rem;
}

button {
  font-family: 'Jura', sans-serif;
  font-size: 1rem;
  color: #cce7ff;
  background: #001122;
  border: 1px solid #004466;
  border-radius: 5px;
  padding: 10px 20px;
  margin: 0.06rem;
  cursor: pointer;
  text-shadow: 0 0 5px #004466;
  transition: all 0.3s ease;
}

button:hover {
  background: #003366;
}


.select button {
  font-family: 'ittt', sans-serif;
  font-size: 2.5rem;
  color: #00e6ff;
  background: #001122;
  border: 1px solid #006688;
  border-radius: 6px;
  padding: 0.5rem 1rem;
  margin: 0.5rem;
  cursor: pointer;
  text-shadow: 3px 3px 3px #00663333;
}


.select button:hover {
background: #003366;
}

.iframe-small {
  border: 0px solid transparent;
  background: transparent;
  color:#00e6ff;
  width: 100%;
min-height: 300px;
}

.iframe-container {
  flex: 1;
  background: rgba(20, 20, 20, 0.9);
  border-radius: 12px;
  padding: 15px;
  font-family: 'jurav', 'Jura', sans-serif;
}

.iframe-container iframe {
  width: 100%;
  height: 500px;
  border: none;
  display: none;
  transition: opacity 0.5s ease;
}

.iframe-container iframe.visible {
  display: block;
  opacity: 1;
}

footer {
  font-size: 0.9rem;
  color: #00e6ff;
}

.flip {
  -webkit-transform: rotate(-184deg);
  -moz-transform: rotate(-184deg);
  -o-transform: rotate(-184deg);
  transform: rotate(-184deg);
  display: inline-block;
}

.bahx {
  border-radius: 12px;
  width: 90%;
  max-width: 700px;
  min-height: 348px;
  border: none;
  background: linear-gradient(128deg, #30034C, transparent, #30034C);
  text-align:center;
  margin: 1rem;
  color: #939F9F;
}

.d {
  text-align:center;
  align-items: center;
  align-self: center;
  padding: 1rem;
}

.content {
  margin: 20px auto;
  padding: 20px;
  background: rgba(0, 51, 102, 0.1);
  border-radius: 15px;
}

.bigdivv {
  min-height: 100vh;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  position: relative;
  z-index: 1;
  padding: 1em;
  text-align: center;
  -webkit-backdrop-filter: blur(3px) saturate(60%);
  backdrop-filter: blur(3px) saturate(60%);
  width: 100%;
}

.orb {
  display: none; /* Hidden by default, enabled in distortion mode */
  position: absolute;
  left: 50%;
  top: 50%;
  width: 400px;
  height: 400px;
  transform: translate(-50%, -50%);
  background: radial-gradient(circle at 60% 40%, #f24f6666 40%, #7f569244 100%);
  opacity: 0.69;
  filter: blur(30px) brightness(1.3);
  border-radius: 50%;
  z-index: -1;
  animation: slow-spin 25s linear infinite, orb-pulse 3s ease-in-out infinite;
  pointer-events: none;
}
@keyframes slow-spin {
  from { transform: translate(-50%, -50%) rotate(0deg); }
  to { transform: translate(-50%, -50%) rotate(360deg); }
}
@keyframes orb-pulse {
  0%, 100% { opacity: 0.6; transform: translate(-50%, -50%) scale(1); }
  50% { opacity: 0.8; transform: translate(-50%, -50%) scale(1.05); }
}

.hero {
  font-family: 'beep', 'Impact', sans-serif;
  font-size: clamp(2.5rem, 8vw, 6rem);
  font-weight: 700;
  letter-spacing: 0.4rem;
  position: relative;
  z-index: 2;
  color: #000;
  -webkit-text-stroke: 0;
  text-stroke: 0;
  text-shadow: none;
  line-height: 1.1;
  -webkit-user-select: none;
  user-select: none;
  margin: 0.2em 0;
}
.hero span {
  display: inline-block;
  opacity: 0;
  animation: chaotic-float 1.2s cubic-bezier(0.165, 0.84, 0.44, 1) forwards;
}
@keyframes chaotic-float {
  from {
    opacity: 0;
    transform: translateY(var(--initial-y)) rotate(var(--initial-rot)) scale(0.8);
  }
  to {
    opacity: 1;
    transform: translateY(0) scale(1) rotate(var(--final-rot));
  }
}
@keyframes subtle-wobble {
    0%, 100% { transform: translateY(0) rotate(var(--final-rot)); }
    50% { transform: translateY(-5px) rotate(calc(var(--final-rot) + 2deg)); }
}

.subtitle {
  font-size: clamp(1rem, 3vw, 1.5rem);
  color: #444;
  margin-bottom: 1.5em;
  z-index: 2;
  position: relative;
  font-weight: 300;
  font-style: italic;
  -webkit-text-stroke: 0;
  text-stroke: 0;
  text-shadow: none;
}

.nav-btns {
  display: flex;
  gap: 1em;
  margin-top: 1.5em;
  z-index: 2;
  position: relative;
  flex-wrap: wrap;
  justify-content: center;
}
.nav-btns button {
  background: #e0e0e0;
  color: #111;
  padding: 0.7em 1.5em;
  border-radius: 8px;
  font-size: 1rem;
  font-weight: 600;
  text-decoration: none;
  border: 2px solid #999;
  transition: background 0.2s, transform 0.15s, box-shadow 0.2s;
  cursor: pointer;
}
.nav-btns button:hover,
.nav-btns button:focus {
  background: #ccc;
  transform: none;
  box-shadow: none;
}

.node-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(120px, 1fr));
  gap: 1em;
  width: 100%;
  padding: 1em;
  background: #e9e9e9;
  border: 1px solid #ccc;
  border-radius: 8px;
}

.node-grid a {
  background: #ddd;
  color: #111;
  padding: 0.7em 1em;
  border-radius: 8px;
  font-size: 0.9rem;
  text-decoration: none;
  border: 1px solid #aaa;
  transition: background 0.2s, transform 0.15s;
  text-align: center;
  word-break: break-all;
}

.node-grid a:hover,
.node-grid a:focus {
  background: #ccc;
  transform: none;
  color: #000;
}

.tiny-orb {
  position: absolute;
  width: 9px;
  height: 18px;
  background-image: url("./graph/egga.png");
  background-size: cover;
  background-repeat: no-repeat;
  border-radius: 50%;
  box-shadow: 0 0 33px rgba(195, 216, 0, 0.589);
  pointer-events: auto;
  opacity: 0.89;
  cursor: crosshair;
  z-index: 99;
}

/* --- Distortion Mode --- */

.distortion-mode {
  background: radial-gradient(circle, #0d0d0d, #111111, #1a1a1a);
  color: #c5c6c7ff;
}

/* Background image */
.distortion-mode::before {
  content: '';
  position: fixed;
  top: 0;
  left: 0;
  width: 100vw;
  height: 100vh;
  background-image: url('ohysyt.png');
  background-size: cover;
  background-attachment: fixed;
  opacity: 0.2;
  z-index: -1;
}

/* Hide scanlines */
.distortion-mode::after {
  display: none;
}

/* Show animated elements */
.distortion-mode #tentacles,
.distortion-mode .orb {
  display: block;
}

/* Restore text styles */
.distortion-mode h1 { color: #00e6ff; text-shadow: 0 0 15px #00e6ff, 0 0 30px #00e6ff; }
.distortion-mode .subtitle {
  color: #909f9fff;
  -webkit-text-stroke: 0.5px #5a8a5d99;
  text-stroke: 0.5px #5a8a5d99;
  text-shadow: 1px 1px 2px #ff000066, -1px -1px 2px #0000ff66;
}
.distortion-mode .hero {
  color: #6cfc6fff;
  -webkit-text-stroke: 1px #5a8a5dff;
  text-stroke: 1px #5a8a5dff;
  text-shadow: -4px -8px 10px #f27f9699, 8px 4px 8px #7f96f299;
}

/* Restore hero text wobble animation */
.distortion-mode .hero span {
  animation: chaotic-float 1.2s cubic-bezier(0.165, 0.84, 0.44, 1) forwards,
           subtle-wobble 4s ease-in-out infinite;
}

/* Restore button and link styles */
.distortion-mode .nav-btns button { background: #141e1999; color: #eaf5eaff; border-color: #5a8a5dff; }
.distortion-mode .nav-btns button:hover,
.distortion-mode .nav-btns button:focus { background: #1e2d26cc; transform: translateY(-3px); box-shadow: 0 4px 20px #00000033; }

.distortion-mode .node-grid { background: #141e1955; border-color: #5a8a5d99; }
.distortion-mode .node-grid a { background: #141e19cc; color: #eaf5eaff; border-color: #5a8a5d; }
.distortion-mode .node-grid a:hover,
.distortion-mode .node-grid a:focus { background: #1e2d26; transform: translateY(-2px); color: #fff;
}

.ufo {
  position: absolute;
  width: 30px;
  height: 30px;
  background-image: url("./graph/capa.png");
  background-size: cover;
  background-repeat: no-repeat;
  border-radius: 50%;
  box-shadow: 0 0 40px rgba(71, 252, 0, 0.6);
  pointer-events: auto;
  opacity: 0.89;
  cursor: crosshair;
  z-index: 99;
}