body{
  margin:0;
  font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  background:#0f172a;
  color:#e5eef8;
}

a{
  text-decoration:none;
}

.container, .quiz-container, .result-container, .content-container{
  max-width:900px;
  margin:0 auto;
  padding:32px 20px 64px;
}

.hero-card, .info-card, .type-card, .card-section{
  background:#162235;
  border:1px solid rgba(255,255,255,0.08);
  border-radius:18px;
  box-shadow:0 10px 30px rgba(0,0,0,0.18);
}

.hero-card{
  text-align:center;
  padding:56px 28px;
  margin-top:36px;
}

.title{
  font-size:42px;
  line-height:1.2;
  margin:0 0 14px;
}

.subtitle{
  font-size:24px;
  line-height:1.5;
  color:#cfe5ff;
  margin:0 0 14px;
}

.description, .lead{
  font-size:17px;
  line-height:1.8;
  color:#bfd1e8;
}

.privacy{
  margin-top:32px;
  font-size:14px;
  line-height:1.8;
  color:#95a9c4;
}

.link-row{
  display:flex;
  justify-content:center;
  gap:18px;
  margin-top:18px;
  flex-wrap:wrap;
}

.link-row.compact{
  gap:14px;
}

.text-link{
  color:#7dd3fc;
  font-weight:600;
}

.text-link:hover{
  color:#bae6fd;
}

.small-link{
  font-size:14px;
}

.button{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border:none;
  border-radius:12px;
  padding:14px 22px;
  cursor:pointer;
  font-size:16px;
  font-weight:700;
  transition:0.2s ease;
}

.button-primary{
  background:#38bdf8;
  color:#0b1323;
  padding:16px 30px;
  margin-top:10px;
}

.button-primary:hover{
  background:#67d1fb;
}

.button-secondary{
  background:#1f3653;
  color:#e5eef8;
}

.button-secondary:hover{
  background:#28456a;
}

.button-ghost{
  background:transparent;
  color:#cfe5ff;
  border:1px solid rgba(255,255,255,0.18);
}

.button-ghost:hover{
  background:rgba(255,255,255,0.05);
}

.button-share{
  background:#1da1f2;
  color:white;
}

.button-share:hover{
  background:#49b3f5;
}

.top-nav{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:12px;
  flex-wrap:wrap;
  margin-bottom:18px;
}

.back-link{
  color:#cfe5ff;
  font-weight:700;
}

.progress-bar{
  height:12px;
  background:#1e293b;
  border-radius:999px;
  overflow:hidden;
  margin:12px 0 28px;
}

#progress{
  height:12px;
  background:linear-gradient(90deg,#38bdf8,#7dd3fc);
  width:0%;
}

#question-number{
  color:#94a9c3;
  margin-bottom:8px;
}

#question-text{
  font-size:28px;
  line-height:1.6;
  margin:28px 0 34px;
}

.answers button{
  display:block;
  width:100%;
  margin:10px 0;
  padding:16px;
  font-size:16px;
  border:none;
  border-radius:12px;
  background:#162235;
  color:white;
  cursor:pointer;
  text-align:left;
  border:1px solid rgba(255,255,255,0.08);
}

.answers button:hover{
  background:#203149;
}

.result-container{
  text-align:center;
}

#type{
  font-size:42px;
  margin:8px 0 6px;
}

.subtype{
  color:#a3bddb;
  margin:0 0 20px;
}

.bpm-box{
  background:#162235;
  border:1px solid rgba(255,255,255,0.08);
  border-radius:18px;
  padding:24px;
  margin:26px 0;
}

#bpm{
  font-size:38px;
  margin:10px 0 14px;
  color:#7dd3fc;
}

.meter{
  width:100%;
  height:22px;
  background:#1e293b;
  border-radius:999px;
  overflow:hidden;
  margin-top:10px;
}

#bpm-bar{
  height:22px;
  background:linear-gradient(90deg,#38bdf8,#7dd3fc);
  width:0%;
}

.bpm-player{
  display:flex;
  justify-content:center;
  gap:10px;
  margin-top:18px;
  flex-wrap:wrap;
}

.groove{
  font-size:18px;
  color:#cfe5ff;
  margin:16px 0 22px;
}

.result-text{
  background:#162235;
  border:1px solid rgba(255,255,255,0.08);
  border-radius:18px;
  padding:24px;
  margin:24px 0;
  line-height:1.9;
  font-size:18px;
  text-align:left;
}

.card-section{
  padding:24px;
  margin:22px 0;
}

#radarChart{
  max-width:420px;
  max-height:420px;
  margin:0 auto;
}

.two-col{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:16px;
  margin:20px 0;
}

.info-card{
  padding:22px;
  line-height:1.8;
  text-align:left;
}

.button-row{
  display:flex;
  justify-content:center;
  gap:12px;
  flex-wrap:wrap;
  margin-top:28px;
}

.type-card{
  padding:24px;
  margin:18px 0;
  line-height:1.9;
}

.type-card h2{
  margin-top:0;
}

.mini-head{
  color:#7dd3fc;
  font-weight:700;
}

.compatibility-table{
  width:100%;
  border-collapse:collapse;
  margin:22px 0;
  background:#162235;
  border-radius:18px;
  overflow:hidden;
}

.compatibility-table th,
.compatibility-table td{
  padding:14px;
  border-bottom:1px solid rgba(255,255,255,0.08);
  text-align:left;
  vertical-align:top;
}

.compatibility-table th{
  background:#1b2a40;
}

ul{
  padding-left:1.2em;
}

@media (max-width: 720px){
  .title{font-size:34px;}
  .subtitle{font-size:20px;}
  #question-text{font-size:24px;}
  #type{font-size:34px;}
  .two-col{grid-template-columns:1fr;}
}

.footer{
margin-top:60px;
text-align:center;
font-size:13px;
opacity:0.6;
}
