:root{
  --bg:#07111f;
  --bg2:#0d1730;
  --card:rgba(14,25,48,.88);
  --line:rgba(111,220,255,.15);
  --cyan:#63d8ff;
  --cyan2:#27dcff;
  --purple:#7a67ff;
  --text:#f4fbff;
  --sub:#b8c7df;
  --white:#ffffff;
  --shadow:0 18px 45px rgba(0,0,0,.35);
  --radius:24px;
}

*{
  margin:0;
  padding:0;
  box-sizing:border-box;
}

html{
  scroll-behavior:smooth;
}

body{
  background:
    radial-gradient(circle at top right, rgba(39,220,255,.18), transparent 30%),
    radial-gradient(circle at bottom left, rgba(122,103,255,.15), transparent 30%),
    linear-gradient(135deg,var(--bg),var(--bg2));
  color:var(--text);
  font-family:"Yu Gothic","Hiragino Kaku Gothic ProN",sans-serif;
  min-height:100vh;
}

.ai-top-link{
  position:fixed;
  top:20px;
  right:20px;
  z-index:999;
  text-decoration:none;
  color:#fff;
  background:rgba(0,0,0,.35);
  border:1px solid rgba(255,255,255,.15);
  padding:12px 18px;
  border-radius:999px;
  backdrop-filter:blur(10px);
}

.ai-page{
  width:min(1200px,92%);
  margin:auto;
  padding:100px 0 60px;
}

.ai-hero{
  padding:60px;
  border-radius:32px;
  background:
    linear-gradient(135deg,rgba(122,103,255,.18),rgba(39,220,255,.12)),
    rgba(10,18,35,.82);
  border:1px solid var(--line);
  backdrop-filter:blur(16px);
  box-shadow:var(--shadow);
}

.ai-eyebrow{
  color:var(--cyan);
  letter-spacing:.12em;
  margin-bottom:12px;
}

.ai-hero h1{
  font-size:clamp(38px,6vw,64px);
  margin-bottom:20px;
}

.ai-hero p{
  color:var(--sub);
  line-height:1.9;
}

.ai-hero-points{
  margin-top:24px;
  display:grid;
  gap:12px;
}

.ai-hero-points div{
  background:rgba(255,255,255,.04);
  padding:14px 18px;
  border-radius:14px;
}

.ai-start-btn{
  margin-top:28px;
  border:none;
  cursor:pointer;
  background:linear-gradient(135deg,var(--cyan),var(--purple));
  color:#fff;
  font-size:18px;
  font-weight:bold;
  padding:16px 28px;
  border-radius:999px;
  box-shadow:0 0 30px rgba(39,220,255,.35);
}

.ai-hero-notes{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  margin-top:20px;
}

.ai-hero-notes span{
  background:rgba(255,255,255,.06);
  padding:8px 14px;
  border-radius:999px;
  font-size:14px;
}

.ai-panel{
  margin-top:30px;
  background:var(--card);
  border:1px solid var(--line);
  border-radius:24px;
  padding:40px;
}

.ai-panel h2{
  margin-bottom:20px;
}

.ai-info-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(240px,1fr));
  gap:20px;
  margin-top:20px;
}

.ai-info-grid div{
  background:rgba(255,255,255,.04);
  border-radius:18px;
  padding:20px;
}

.ai-info-grid strong{
  display:block;
  margin-bottom:10px;
}

.ai-info-grid span{
  color:var(--sub);
  line-height:1.8;
}

.ai-diagnosis{
  margin-top:30px;
}

.ai-progress{
  background:var(--card);
  border:1px solid var(--line);
  border-radius:24px;
  padding:28px;
}

.ai-progress-top{
  display:flex;
  justify-content:space-between;
  margin-bottom:15px;
}

.ai-progress-bar{
  height:10px;
  background:rgba(255,255,255,.06);
  border-radius:999px;
  overflow:hidden;
}

#progressLine{
  width:20%;
  height:100%;
  border-radius:999px;
  background:linear-gradient(90deg,var(--cyan),var(--purple));
}

#progressNote{
  color:var(--sub);
  margin-top:14px;
}

.ai-stage{
  display:none;
  margin-top:24px;
  background:var(--card);
  border:1px solid var(--line);
  border-radius:24px;
  padding:40px;
}

.ai-stage.active{
  display:block;
}

.ai-chip{
  display:inline-block;
  padding:8px 14px;
  border-radius:999px;
  background:rgba(39,220,255,.12);
  color:var(--cyan);
  margin-bottom:15px;
}

.ai-stage h2{
  margin-bottom:12px;
}

.ai-stage p{
  color:var(--sub);
  line-height:1.9;
}

.ai-helper{
  margin-top:15px;
  margin-bottom:20px;
}

.ai-options{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(260px,1fr));
  gap:14px;
  margin-top:24px;
}

.ai-options button{
  border:none;
  cursor:pointer;
  text-align:left;
  color:#fff;
  background:rgba(255,255,255,.05);
  border:1px solid rgba(255,255,255,.08);
  border-radius:18px;
  padding:18px;
  transition:.2s;
}

.ai-options button:hover{
  transform:translateY(-2px);
  border-color:var(--cyan);
}

.ai-footer-actions{
  margin-top:25px;
  display:flex;
  justify-content:space-between;
  gap:20px;
  flex-wrap:wrap;
}

.ai-ghost-btn{
  text-decoration:none;
  color:#fff;
  background:rgba(255,255,255,.05);
  border:1px solid rgba(255,255,255,.1);
  padding:12px 18px;
  border-radius:999px;
}

.ai-cta-group{
  display:grid;
  gap:16px;
  margin-top:25px;
}

.ai-cta{
  text-decoration:none;
  color:#fff;
  border-radius:20px;
  padding:20px;
  display:block;
}

.ai-main{
  background:linear-gradient(135deg,var(--cyan),var(--purple));
}

.ai-sub{
  background:rgba(255,255,255,.05);
  border:1px solid rgba(255,255,255,.08);
}

.ai-cta span{
  display:block;
  margin-top:8px;
  color:#eef6ff;
  font-size:14px;
}

.ai-result-label{
  color:var(--cyan);
  font-weight:bold;
  margin-bottom:10px;
}

.ai-note{
  margin-top:10px;
  margin-bottom:25px;
}

.ai-summary,
.ai-highlight,
.ai-next,
.ai-free-box,
.ai-faq,
.ai-trust{
  margin-top:24px;
  background:rgba(255,255,255,.04);
  border-radius:20px;
  padding:24px;
}

.ai-result-grid{
  margin-top:24px;
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(260px,1fr));
  gap:20px;
}

.ai-result-grid div{
  background:rgba(255,255,255,.04);
  padding:20px;
  border-radius:18px;
}

.ai-result-grid h3{
  margin-bottom:10px;
}

.ai-photo-note{
  margin-top:24px;
  padding:20px;
  border-radius:18px;
  background:rgba(39,220,255,.08);
}

.ai-free-box textarea{
  width:100%;
  min-height:180px;
  margin-top:15px;
  background:#091526;
  color:#fff;
  border:1px solid rgba(255,255,255,.08);
  border-radius:14px;
  padding:15px;
}

.ai-faq h3{
  margin-bottom:18px;
}

.ai-faq div{
  margin-bottom:16px;
}

.ai-faq p{
  margin-top:6px;
}

.ai-trust{
  text-align:center;
  line-height:2;
}

@media(max-width:768px){

  .ai-page{
    width:94%;
    padding-top:90px;
  }

  .ai-hero{
    padding:30px;
  }

  .ai-stage{
    padding:24px;
  }

  .ai-options{
    grid-template-columns:1fr;
  }

  .ai-progress-top{
    flex-direction:column;
    gap:8px;
  }
}
