@import url('https://fonts.googleapis.com/css2?family=Orbitron:wght@400;700;900&family=Rajdhani:wght@300;400;600&display=swap');

* { margin: 0; padding: 0; box-sizing: border-box; }
body { background: #0a0a0a; color: #fff; }

.App {
  min-height: 100vh;
  background: #0a0a0a;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 20px;
  position: relative;
  overflow: hidden;
}

.tech-bg {
  position: fixed; top: 0; left: 0; width: 100%; height: 100%;
  background:
    radial-gradient(circle at 20% 80%, rgba(120,119,198,0.3) 0%, transparent 50%),
    radial-gradient(circle at 80% 20%, rgba(255,119,198,0.3) 0%, transparent 50%),
    radial-gradient(circle at 40% 40%, rgba(120,219,255,0.2) 0%, transparent 50%);
  z-index: -1;
}

.form-container {
  background: rgba(15,15,15,0.9);
  backdrop-filter: blur(20px);
  border: 1px solid rgba(120,119,198,0.3);
  padding: 40px; border-radius: 20px;
  box-shadow: 0 20px 40px rgba(0,0,0,0.5), inset 0 1px 0 rgba(255,255,255,0.1);
  max-width: 720px; width: 100%; position: relative; z-index: 1;
}

.glitch-text {
  font-family: 'Orbitron', monospace; font-size: 32px; font-weight: 900; color: #fff;
  text-align: center; margin-bottom: 10px;
  text-shadow: 0 0 10px rgba(120,119,198,0.5), 0 0 20px rgba(120,119,198,0.3);
  animation: glow 2s ease-in-out infinite alternate;
}
@keyframes glow {
  from { text-shadow: 0 0 10px rgba(120,119,198,0.5), 0 0 20px rgba(120,119,198,0.3); }
  to   { text-shadow: 0 0 20px rgba(120,119,198,0.8), 0 0 30px rgba(120,119,198,0.5); }
}

.subtitle { font-family: 'Rajdhani', sans-serif; color: rgba(255,255,255,0.7); text-align: center; margin-bottom: 30px; font-size: 16px; line-height: 1.5; }
.tech-form { display: flex; flex-direction: column; gap: 20px; }
.form-row { display: grid; grid-template-columns: 1fr 1fr; gap: 20px; }
.form-group { display: flex; flex-direction: column; }
.form-group label { font-family: 'Rajdhani', sans-serif; margin-bottom: 8px; font-weight: 600; color: rgba(255,255,255,0.9); font-size: 14px; text-transform: uppercase; letter-spacing: 1px; }
.form-group input, .form-group textarea, .form-group select {
  padding: 15px 20px; background: rgba(255,255,255,0.05);
  border: 1px solid rgba(120,119,198,0.3); border-radius: 10px;
  font-size: 16px; color: #fff; font-family: 'Rajdhani', sans-serif; transition: all .3s ease;
}
.form-group input:focus, .form-group textarea:focus, .form-group select:focus { outline: none; border-color: rgba(120,119,198,0.8); box-shadow: 0 0 20px rgba(120,119,198,0.3); background: rgba(255,255,255,0.08); }
.form-group input::placeholder, .form-group textarea::placeholder { color: rgba(255,255,255,0.4); }
.form-group select option { background: #1a1a1a; color: #fff; padding: 10px; }

.resume-choice { margin-bottom: 30px; }
.resume-choice h3 { font-family: 'Rajdhani', sans-serif; color: #fff; margin-bottom: 15px; text-align: center; font-size: 18px; }
.choice-buttons { display: grid; grid-template-columns: 1fr 1fr; gap: 15px; }
.choice-btn {
  padding: 15px 20px; background: rgba(255,255,255,0.05); border: 1px solid rgba(120,119,198,0.3);
  border-radius: 10px; color: rgba(255,255,255,0.7); font-family: 'Rajdhani', sans-serif; font-size: 14px; cursor: pointer; transition: all .3s ease;
}
.choice-btn:hover, .choice-btn.active { background: rgba(120,119,198,0.2); border-color: rgba(120,119,198,0.8); color: #fff; box-shadow: 0 0 15px rgba(120,119,198,0.3); }

.upload-section { margin-bottom: 30px; }
.upload-label { cursor: pointer; }
.upload-label input { display: none; }
.upload-box {
  padding: 30px; border: 2px dashed rgba(120,119,198,0.5); border-radius: 15px; text-align: center; background: rgba(255,255,255,0.02); transition: all .3s ease;
}
.upload-box:hover { border-color: rgba(120,119,198,0.8); background: rgba(255,255,255,0.05); }
.upload-icon { font-size: 48px; margin-bottom: 10px; }
.upload-box p { color: rgba(255,255,255,0.7); font-family: 'Rajdhani', sans-serif; }

.question-group {
  display: flex;
  flex-direction: column;
  margin-bottom: 20px;
}

.question-group label {
  font-family: 'Rajdhani', sans-serif;
  margin-bottom: 8px;
  font-weight: 600;
  color: rgba(255,255,255,0.9);
  font-size: 14px;
  text-transform: uppercase;
  letter-spacing: 1px;
}

.question-group textarea {
  background: #0f0f14;
  color: #fff;
  border: 1px solid #333;
  border-radius: 8px;
  padding: 12px;
  min-height: 120px;
  line-height: 1.4;
}
.question-group textarea::placeholder { color: rgba(255,255,255,0.55); }

.cyber-btn {
  position: relative; background: linear-gradient(45deg, rgba(120,119,198,0.8), rgba(255,119,198,0.8)); border: none; padding: 16px 32px; border-radius: 12px;
  font-family: 'Orbitron', monospace; font-size: 16px; font-weight: 600; color: #fff; cursor: pointer; overflow: hidden; transition: all .3s ease; text-transform: uppercase; letter-spacing: 1px; margin-top: 20px;
}
.cyber-btn:hover { transform: translateY(-2px); box-shadow: 0 10px 30px rgba(120,119,198,0.4); }
.cyber-btn span { position: relative; z-index: 2; }
.btn-glow { position: absolute; top: 0; left: -100%; width: 100%; height: 100%; background: linear-gradient(90deg, transparent, rgba(255,255,255,0.3), transparent); transition: left .5s; }
.cyber-btn:hover .btn-glow { left: 100%; }

.back-btn { background: transparent; border: 1px solid rgba(255,255,255,0.3); color: rgba(255,255,255,0.7); padding: 10px 16px; border-radius: 10px; margin-top: 15px; cursor: pointer; transition: all .3s ease; margin-left: auto; display: block; }
.back-btn:hover { border-color: rgba(120,119,198,0.8); color: #fff; box-shadow: 0 0 15px rgba(120,119,198,0.3); }

.results-panel {
  background: rgba(255,255,255,0.08);
  border: 1px solid rgba(120,119,198,0.4);
  border-radius: 14px;
  padding: 16px 18px;
}

/* Collapsed-by-default results sections (interview prep, club research, resume
   edits) - kept out of the way so the direct answer above them reads first. */
.result-details { border: 1px solid rgba(120,119,198,0.3); border-radius: 8px; background: rgba(255,255,255,0.03); padding: 12px 16px; margin-bottom: 12px; }
.result-details summary { cursor: pointer; list-style: none; font-weight: 600; font-size: 17px; color: #fff; display: flex; align-items: center; gap: 8px; }
.result-details summary::-webkit-details-marker { display: none; }
.result-details summary::before { content: '▸'; color: rgba(120,119,198,1); display: inline-block; transition: transform .15s ease; }
.result-details[open] summary::before { transform: rotate(90deg); }
.result-details summary:hover { color: rgba(255,119,198,1); }
