
/* ── Group discussion practice ───────────────── */
#screen-group-setup .group-setup-hero{
  text-align:center;padding:8px 0 20px;
}
#screen-group-setup .group-setup-hero h2{
  font-size:22px;font-weight:800;letter-spacing:-.03em;margin-bottom:8px;
}
#screen-group-discussion{
  background:linear-gradient(165deg,#fefce8 0%,#f5f3ff 42%,#ecfdf5 100%);
}
.screen.active#screen-group-discussion{
  display:flex;flex-direction:column;height:100vh;overflow:hidden;
}

.gd-topbar{
  display:flex;align-items:center;justify-content:space-between;
  padding:10px 16px;border-bottom:1px solid var(--border);
  background:rgba(255,255,255,0.92);backdrop-filter:blur(12px);z-index:20;
}
.gd-topic-pill{
  font-size:11px;font-weight:600;color:var(--sub);
  max-width:52%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;
}
.gd-round-badge{
  font-size:10px;font-family:var(--mono);color:var(--sub);
  background:var(--s2);border:1px solid var(--border);padding:4px 8px;border-radius:999px;
}

.gd-participant-strip{
  display:flex;gap:8px;padding:12px 14px 10px;
  overflow-x:auto;border-bottom:1px solid var(--border);
  background:rgba(255,255,255,0.75);
  scrollbar-width:none;
}
.gd-participant-strip::-webkit-scrollbar{display:none;}

.gd-participant{
  flex:0 0 auto;min-width:88px;max-width:100px;
  display:flex;flex-direction:column;align-items:center;gap:6px;
  padding:10px 8px 8px;border-radius:14px;border:2px solid transparent;
  background:var(--s1);box-shadow:var(--shadow-sm);
  transition:transform .2s,border-color .2s,box-shadow .2s;
}
.gd-participant.speaking{
  transform:translateY(-2px) scale(1.03);
  box-shadow:0 6px 20px var(--gd-ring, rgba(0,0,0,0.12));
}
.gd-participant.hand-raised .gd-p-avatar{
  animation:gdHandWave 1.2s ease-in-out infinite;
}
@keyframes gdHandWave{
  0%,100%{transform:rotate(0deg);}
  25%{transform:rotate(-8deg);}
  75%{transform:rotate(8deg);}
}
.gd-p-avatar-wrap{position:relative;display:flex;flex-direction:column;align-items:center;}
.gd-p-avatar{
  width:44px;height:44px;border-radius:50%;
  border:2px solid var(--gd-border, var(--border));
  background:var(--gd-bg, var(--s2));
}
.gd-p-avatar.avatar-fallback-only{font-size:22px;}
.gd-p-waves{
  display:none;gap:2px;align-items:flex-end;height:12px;margin-top:4px;
}
.gd-p-waves span{
  display:block;width:3px;border-radius:2px;background:var(--gd-color, var(--green));
  animation:gdPhaseWave .55s ease-in-out infinite;
}
.gd-p-waves span:nth-child(1){height:3px;animation-delay:0s;}
.gd-p-waves span:nth-child(2){height:6px;animation-delay:.08s;}
.gd-p-waves span:nth-child(3){height:9px;animation-delay:.16s;}
.gd-p-waves span:nth-child(4){height:6px;animation-delay:.24s;}
.gd-p-waves span:nth-child(5){height:3px;animation-delay:.32s;}
.gd-participant.speaking .gd-p-avatar{
  box-shadow:0 0 0 3px var(--gd-ring, rgba(234,179,8,0.2));
  animation:gdAvatarSpeak 1.4s ease-in-out infinite;
}
.gd-participant.speaking .gd-p-waves{display:flex;}
@keyframes gdPhaseWave{0%,100%{transform:scaleY(.45);opacity:.55;}50%{transform:scaleY(1);opacity:1;}}
@keyframes gdAvatarSpeak{0%,100%{box-shadow:0 0 0 3px var(--gd-ring);}50%{box-shadow:0 0 0 6px transparent;}}
.gd-floor-speaker{display:flex;justify-content:center;margin-bottom:10px;}
.gd-floor-speaker[hidden]{display:none!important;}
.gd-floor-avatar-wrap{position:relative;display:flex;flex-direction:column;align-items:center;}
.gd-floor-avatar{width:56px;height:56px;border:2px solid var(--border);background:var(--s2);box-shadow:var(--shadow-sm);}
.gd-floor-speaker:not([hidden]) .gd-floor-avatar{box-shadow:0 0 0 3px rgba(234,179,8,0.2);animation:gdAvatarSpeak 1.4s ease-in-out infinite;}
.gd-floor-speaker:not([hidden]) .gd-floor-waves{display:flex;}
.gd-floor-waves{margin-top:6px;}
.gd-msg-avatar .avatar-img,.gd-msg-avatar .avatar-fallback{border-radius:50%;}
.gd-p-name{font-size:11px;font-weight:700;color:var(--gd-color, var(--text));text-align:center;line-height:1.2;}
.gd-p-role{font-size:9px;color:var(--sub);text-transform:uppercase;letter-spacing:.04em;}
.gd-p-status{
  font-size:9px;font-weight:600;padding:2px 6px;border-radius:999px;
  background:var(--s2);color:var(--sub);
}
.gd-participant.speaking .gd-p-status{background:var(--gd-color);color:#fff;}
.gd-participant.hand-raised .gd-p-status{background:#fef08a;color:#713f12;}

.gd-messages{
  flex:1;min-height:0;overflow-y:auto;padding:16px 14px 12px;
  display:flex;flex-direction:column;gap:12px;
}
.gd-msg-row{display:flex;gap:8px;align-items:flex-end;max-width:100%;}
.gd-msg-row.is-user{flex-direction:row-reverse;}
.gd-msg-avatar{
  width:32px;height:32px;border-radius:50%;flex-shrink:0;
  display:flex;align-items:center;justify-content:center;font-size:16px;
  border:2px solid var(--gd-border, var(--border));
  background:var(--gd-bg, var(--s2));
}
.gd-bubble{
  max-width:min(88%,340px);padding:11px 14px;border-radius:16px;
  font-size:14px;line-height:1.5;border:1px solid var(--gd-border, var(--border));
  background:var(--gd-bg, var(--s1));color:var(--text);
  box-shadow:var(--shadow-sm);
}
.gd-msg-row.is-user .gd-bubble{
  border-bottom-right-radius:4px;
  color:var(--gd-color, var(--text));
}
.gd-msg-row:not(.is-user) .gd-bubble{border-bottom-left-radius:4px;}
.gd-bubble-name{
  font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;
  color:var(--gd-color, var(--sub));margin-bottom:5px;
}

.gd-floor-panel{
  flex-shrink:0;
  padding:12px 16px 10px;border-top:1px solid var(--border);
  background:rgba(255,255,255,0.94);backdrop-filter:blur(10px);
}
.gd-bottom-bar{
  flex-shrink:0;
  padding:12px 16px calc(14px + env(safe-area-inset-bottom, 0px));
  border-top:1px solid var(--border);
  background:rgba(255,255,255,0.98);
  box-shadow:0 -4px 20px rgba(28,25,23,0.08);
  z-index:30;
}
.gd-end-btn{
  width:100%;
  padding:15px 20px;
  font-size:15px;
  font-weight:700;
  border-radius:12px;
}
.gd-floor-hint{
  text-align:center;font-size:13px;font-weight:600;margin-bottom:10px;
  min-height:20px;color:var(--text);
}
.gd-floor-sub{
  text-align:center;font-size:11px;color:var(--sub);margin:-6px 0 12px;line-height:1.4;
}
.gd-hand-btn{
  display:block;
  width:100%;padding:16px 20px;border-radius:16px;border:none;
  font-size:15px;font-weight:700;cursor:pointer;
  background:linear-gradient(135deg,#eab308 0%,#ca8a04 100%);
  color:#1c1917;box-shadow:0 4px 14px rgba(234,179,8,0.35);
  transition:transform .15s,opacity .15s;
}
.gd-hand-btn.is-visible{display:block;}
.gd-hand-btn:disabled{opacity:.45;cursor:not-allowed;transform:none;}
.gd-hand-btn:not(:disabled):hover{transform:translateY(-1px);}
.gd-hand-btn.raised{
  background:linear-gradient(135deg,#fef08a 0%,#fde047 100%);
  border:2px solid #ca8a04;
}
.gd-user-speak-wrap{
  display:none;align-items:center;justify-content:center;gap:16px;
  margin-top:4px;
}
.gd-user-speak-wrap.active{display:flex;flex-direction:column;align-items:center;gap:8px;margin-top:8px;}
.gd-mic-hint{
  font-size:11px;color:var(--sub);text-align:center;max-width:220px;line-height:1.45;
}
.gd-user-mic{
  width:72px;height:72px;border-radius:50%;border:none;
  font-size:28px;background:var(--green);color:#1c1917;
  box-shadow:0 6px 20px rgba(234,179,8,0.4);
}
.gd-user-mic.listening{animation:gdMicPulse 1.4s ease-in-out infinite;}
@keyframes gdMicPulse{
  0%,100%{box-shadow:0 0 0 0 rgba(234,179,8,0.45);}
  50%{box-shadow:0 0 0 14px rgba(234,179,8,0);}
}
.gd-user-mic.processing{opacity:.6;pointer-events:none;}

.gd-scenario-chips{display:flex;flex-wrap:wrap;gap:8px;margin-top:8px;}
.gd-scenario-chip{
  padding:8px 12px;border-radius:999px;font-size:12px;font-weight:600;
  border:1px solid var(--border);background:var(--s1);cursor:pointer;
}
.gd-scenario-chip.selected{
  border-color:var(--green);background:var(--green-dim);color:#713f12;
}
