.wsg-app{
  max-width:980px;
  margin:0 auto;
  font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  color:#17324a;
}
.wsg-hero{
  margin:0 0 18px;
}
.wsg-kicker{
  font-size:12px;
  letter-spacing:.12em;
  font-weight:700;
  color:#6a8aa2;
  margin-bottom:6px;
}
.wsg-hero h2{
  font-size:34px;
  line-height:1.08;
  margin:0 0 8px;
}
.wsg-sub{
  margin:0;
  font-size:17px;
  color:#49657b;
}
.wsg-card{
  background:linear-gradient(180deg,#ffffff 0%,#f8fbff 100%);
  border:1px solid #e6eef5;
  border-radius:26px;
  padding:24px;
  box-shadow:0 14px 35px rgba(39,65,92,.08);
  margin-bottom:18px;
}
.wsg-hidden{display:none;}
.wsg-step-count{
  font-size:13px;
  font-weight:700;
  color:#6a8aa2;
  margin-bottom:8px;
}
.wsg-step h3,.wsg-plan-head h3,.wsg-guide-head h3,.wsg-journal-card h3{
  margin:0 0 10px;
  font-size:28px;
}
.wsg-options{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  margin-top:16px;
}
.wsg-options button,
.wsg-controls button,
.wsg-next,
.wsg-back,
#wsg-analyze{
  appearance:none;
  border:none;
  border-radius:16px;
  padding:13px 16px;
  background:#eef5fb;
  color:#17324a;
  cursor:pointer;
  transition:transform .18s ease, box-shadow .18s ease, background .18s ease, color .18s ease;
  font-size:15px;
}
.wsg-options button:hover,
.wsg-controls button:hover,
.wsg-next:hover,
.wsg-back:hover,
#wsg-analyze:hover{
  transform:translateY(-1px);
  box-shadow:0 8px 22px rgba(27,52,80,.12);
}
.wsg-options button.active{
  background:#17324a;
  color:#fff;
}
.wsg-nav{
  display:flex;
  gap:10px;
  margin-top:18px;
}
.wsg-next,#wsg-analyze,#wsg-start,.wsg-journal-btn{
  background:#17324a !important;
  color:#fff !important;
}
.wsg-back,.wsg-secondary{
  background:#f0f5f9 !important;
  color:#17324a !important;
}
.wsg-plan-head,.wsg-guide-head,.wsg-journal-card{
  display:flex;
  justify-content:space-between;
  gap:18px;
  align-items:flex-start;
  flex-wrap:wrap;
}
.wsg-badge{
  padding:9px 14px;
  border-radius:999px;
  background:#e8f7ef;
  color:#0d6b45;
  font-weight:700;
}
.wsg-message{
  font-size:17px;
  line-height:1.6;
  color:#31536d;
  margin:4px 0 14px;
}
.wsg-tips{
  margin:0;
  padding-left:20px;
  color:#31536d;
}
.wsg-tips li{margin:7px 0;}
.wsg-progress{
  width:100%;
  height:10px;
  border-radius:999px;
  background:#edf3f8;
  overflow:hidden;
  margin:14px 0 20px;
}
#wsg-progress-bar{
  width:0;
  height:100%;
  background:linear-gradient(90deg,#8fd3a4,#6bb7ff);
  border-radius:999px;
  transition:width .4s ease;
}
.wsg-guide-layout{
  display:grid;
  grid-template-columns:1.15fr .85fr;
  gap:20px;
  align-items:center;
}
@media (max-width: 860px){
  .wsg-guide-layout{grid-template-columns:1fr;}
}
.wsg-stage{
  position:relative;
  min-height:380px;
  display:flex;
  align-items:center;
  justify-content:center;
  overflow:hidden;
  border-radius:24px;
  background:linear-gradient(180deg,#f8fcff 0%,#eef8f3 100%);
}
.wsg-stage-glow{
  position:absolute;
  width:340px;
  height:340px;
  border-radius:50%;
  background:radial-gradient(circle,#dff4ff 0%, rgba(223,244,255,0) 70%);
  filter:blur(4px);
}
.wsg-figure{
  width:100%;
  max-width:380px;
  position:relative;
  z-index:2;
}
.wsg-body{fill:#547fa1;}
.wsg-body-soft{fill:#7ea8c8;}
.wsg-skin{fill:#f3d6c6;}
#wsg-left-arm,#wsg-right-arm,#wsg-torso-group,#wsg-neck-group{
  transition:transform 1.2s ease;
}
.wsg-instruction-card{
  background:#f7fbff;
  border:1px solid #e6eef5;
  border-radius:22px;
  padding:18px;
  margin-bottom:14px;
}
.wsg-small-label{
  font-size:12px;
  letter-spacing:.12em;
  font-weight:700;
  color:#6a8aa2;
  margin-bottom:8px;
}
.wsg-instruction{
  font-size:24px;
  line-height:1.25;
  font-weight:700;
  margin-bottom:8px;
}
.wsg-breath{
  min-height:22px;
  color:#5a7d94;
  font-weight:600;
}
.wsg-controls{
  display:flex;
  gap:10px;
  flex-wrap:wrap;
}
.wsg-help{
  margin-top:12px;
  color:#5a7d94;
  line-height:1.55;
}
.wsg-time{
  font-size:28px;
  font-weight:800;
  color:#17324a;
}
.wsg-journal-card{
  align-items:center;
}
.wsg-journal-btn{
  text-decoration:none;
  border-radius:18px;
  padding:14px 18px;
  display:inline-flex;
  align-items:center;
  white-space:nowrap;
}
