/* v6.15.490 — English communication Roleplay: compact, accessible layout.
   Opt-in root is set only for authored English RP lessons, never Chinese/SGK. */
#skill-dubbing.vnn-en-rp-compact .activity-heading{gap:10px;margin-bottom:8px}
#skill-dubbing.vnn-en-rp-compact .activity-heading h2{font-size:clamp(18px,2vw,23px);margin:1px 0}
#skill-dubbing.vnn-en-rp-compact .activity-heading p,
#skill-dubbing.vnn-en-rp-compact .dubbing-head p{display:none}
#skill-dubbing.vnn-en-rp-compact .flow-subnav{margin:7px 0 9px}
#skill-dubbing.vnn-en-rp-compact #dubbingShell{gap:9px;padding:12px;border-radius:15px}
#skill-dubbing.vnn-en-rp-compact .dubbing-head{align-items:center;gap:9px}
#skill-dubbing.vnn-en-rp-compact .dubbing-head h3{font-size:18px;margin:1px 0 0;line-height:1.2}
#skill-dubbing.vnn-en-rp-compact .dubbing-kicker{font-size:10.5px;letter-spacing:.025em}
#skill-dubbing.vnn-en-rp-compact .dubbing-mode-switch{gap:4px;padding:3px;border-radius:11px}
#skill-dubbing.vnn-en-rp-compact .dubbing-mode-switch button{min-height:38px;padding:6px 10px;font-size:13px}

#skill-dubbing.vnn-en-rp-compact #dubRoleSwitchBar{margin:5px 0!important;padding:9px 11px!important;border-radius:13px}
#skill-dubbing.vnn-en-rp-compact #dubRoleSwitchBar .v248-head{gap:7px}
#skill-dubbing.vnn-en-rp-compact #dubRoleSwitchBar .v248-copy strong{font-size:15px;line-height:1.3;margin-top:1px}
#skill-dubbing.vnn-en-rp-compact #dubRoleSwitchBar .v248-copy small,
#skill-dubbing.vnn-en-rp-compact #dubRoleSwitchBar .v256-role-title small{display:none}
#skill-dubbing.vnn-en-rp-compact #dubRoleSwitchBar .v248-actions{gap:5px!important}
#skill-dubbing.vnn-en-rp-compact #dubRoleSwitchBar .v291-pair-buttons,
#skill-dubbing.vnn-en-rp-compact #dubRoleSwitchBar .v291-role-buttons{gap:6px}
#skill-dubbing.vnn-en-rp-compact #dubRoleSwitchBar button{min-height:39px;padding:6px 10px;font-size:13px;border-radius:10px}
#skill-dubbing.vnn-en-rp-compact #dubRoleSwitchBar.v256-sentence-roles .v256-role-title{margin-bottom:6px;gap:5px}
#skill-dubbing.vnn-en-rp-compact #dubRoleSwitchBar .v256-pair-grid{gap:7px}
#skill-dubbing.vnn-en-rp-compact #dubRoleSwitchBar .v256-pair-zone{padding:7px 8px}
#skill-dubbing.vnn-en-rp-compact #dubRoleSwitchBar .v256-pair-head{margin-bottom:5px}
#skill-dubbing.vnn-en-rp-compact #dubRoleSwitchBar .v256-role-buttons{gap:5px}

#skill-dubbing.vnn-en-rp-compact #dubbingStage{gap:7px}
#skill-dubbing.vnn-en-rp-compact .dubbing-stage-head{display:flex;align-items:center;justify-content:space-between;gap:6px 12px;padding:8px 11px;border-radius:11px}
#skill-dubbing.vnn-en-rp-compact .dubbing-stage-head>div{gap:1px;min-width:0}
#skill-dubbing.vnn-en-rp-compact .dubbing-stage-head strong{font-size:18px;line-height:1.35}
#skill-dubbing.vnn-en-rp-compact .dubbing-stage-head span{font-size:11px;letter-spacing:.02em}
#skill-dubbing.vnn-en-rp-compact .dubbing-stage-head small{display:none}
#skill-dubbing.vnn-en-rp-compact .dubbing-stage-head>b{font-size:12px;white-space:nowrap}
#skill-dubbing.vnn-en-rp-compact .dubbing-target-card{grid-template-columns:36px minmax(0,1fr);gap:8px 10px;padding:10px 12px;border-radius:13px;min-width:0}
#skill-dubbing.vnn-en-rp-compact .dubbing-target-number{width:34px;height:34px;font-size:15px}
#skill-dubbing.vnn-en-rp-compact .dubbing-target-card>div:not(.v248-turn-note):not(.v248-sample-row):not(.v256-current-role){gap:4px;min-width:0}
#skill-dubbing.vnn-en-rp-compact .dubbing-target-card strong{font-size:clamp(19px,1.65vw,24px);line-height:1.42;overflow-wrap:break-word}
#skill-dubbing.vnn-en-rp-compact .dubbing-target-card details{font-size:13px}
#skill-dubbing.vnn-en-rp-compact .v256-current-role{padding:5px 8px;margin-bottom:0;border-radius:8px}
#skill-dubbing.vnn-en-rp-compact .v248-turn-note{margin-top:2px!important;padding:7px 9px!important;border-radius:9px;font-size:13px!important;line-height:1.35!important}
#skill-dubbing.vnn-en-rp-compact .v248-sample-row{margin-top:3px!important;gap:5px}
#skill-dubbing.vnn-en-rp-compact .v248-sample-row button{min-height:40px;font-size:13px;padding:7px 12px}
#skill-dubbing.vnn-en-rp-compact .dubbing-nav{gap:8px}
#skill-dubbing.vnn-en-rp-compact .dubbing-nav button{min-height:40px;min-width:110px;padding:7px 12px;font-size:14px;border-radius:10px}
#skill-dubbing.vnn-en-rp-compact .dubbing-audio-settings{margin:0}
#skill-dubbing.vnn-en-rp-compact .dubbing-audio-settings>summary{min-height:40px;padding:8px 10px;font-size:13px}
#skill-dubbing.vnn-en-rp-compact .dubbing-actions{gap:7px;align-items:stretch}
#skill-dubbing.vnn-en-rp-compact .dubbing-actions button{min-height:44px;padding:8px 9px;font-size:14px;line-height:1.25;border-radius:11px}
#skill-dubbing.vnn-en-rp-compact #dubScoreBtn .btn-credit-note{font-size:11px;line-height:1.2;margin-top:2px}
#skill-dubbing.vnn-en-rp-compact .dubbing-script-lines{max-height:330px;gap:6px}
#skill-dubbing.vnn-en-rp-compact .dubbing-script-line{padding:9px 10px;gap:8px}
#skill-dubbing.vnn-en-rp-compact .dubbing-speed-control{padding:8px 10px}
#skill-dubbing.vnn-en-rp-compact .dub-full-launch{gap:7px}

@media(max-width:760px){
  #skill-dubbing.vnn-en-rp-compact #dubbingShell{padding:10px;gap:8px}
  #skill-dubbing.vnn-en-rp-compact .dubbing-head{display:flex;flex-wrap:wrap;align-items:center}
  #skill-dubbing.vnn-en-rp-compact .dubbing-head h3{font-size:16px}
  #skill-dubbing.vnn-en-rp-compact .dubbing-mode-switch{width:100%;display:grid;grid-template-columns:1fr 1fr}
  #skill-dubbing.vnn-en-rp-compact #dubRoleSwitchBar{padding:8px!important}
  #skill-dubbing.vnn-en-rp-compact #dubRoleSwitchBar.v291-synchronized-pairs .v291-pair-buttons,
  #skill-dubbing.vnn-en-rp-compact #dubRoleSwitchBar.v291-synchronized-pairs .v291-role-buttons{display:flex;flex-wrap:wrap}
  #skill-dubbing.vnn-en-rp-compact #dubRoleSwitchBar button{min-height:42px;flex:1 1 auto;white-space:normal;font-size:13px}
  #skill-dubbing.vnn-en-rp-compact .dubbing-stage-head{display:flex;flex-wrap:wrap}
  #skill-dubbing.vnn-en-rp-compact .dubbing-stage-head strong{font-size:17px}
  #skill-dubbing.vnn-en-rp-compact .dubbing-target-card{padding:10px;grid-template-columns:32px minmax(0,1fr);gap:7px}
  #skill-dubbing.vnn-en-rp-compact .dubbing-target-number{width:31px;height:31px}
  #skill-dubbing.vnn-en-rp-compact .dubbing-target-card strong{font-size:19px!important}
  #skill-dubbing.vnn-en-rp-compact .dubbing-nav button{flex:1;min-width:0;min-height:44px;font-size:13px}
  #skill-dubbing.vnn-en-rp-compact .dubbing-actions{grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}
  #skill-dubbing.vnn-en-rp-compact .dubbing-actions button{min-height:46px;font-size:13px;white-space:normal;overflow-wrap:anywhere}
  #skill-dubbing.vnn-en-rp-compact .dubbing-audio-settings>summary{min-height:44px}
}
@media(max-width:390px){
  #skill-dubbing.vnn-en-rp-compact .dubbing-target-card strong{font-size:18px!important}
  #skill-dubbing.vnn-en-rp-compact .dubbing-stage-head>b{font-size:11px}
  #skill-dubbing.vnn-en-rp-compact .v248-turn-note{font-size:12.5px!important}
}
