/* Scoped additions. V1P's styles.css is preserved byte for byte. */
#study3Overview { max-width: 1120px; margin: 0 auto; padding: 24px; color: #333; line-height: 1.5; }
#study3Overview h1 { font-size: 27px; text-align: center; margin: 0 0 12px; }
#study3Overview > p { text-align: center; margin: 12px 0 26px; }
#study3Overview .study3-flow { display: flex; align-items: stretch; justify-content: center; gap: 8px; }
#study3Overview .study3-panel { flex: 1; min-width: 0; border: 1.7px solid #333; border-radius: 9px; padding: 18px 10px; text-align: center; background: transparent; }
#study3Overview .study3-panel svg { width: 100%; max-width: 130px; height: 95px; stroke: #333; fill: none; stroke-width: 1.7; }
#study3Overview .study3-panel h2 { font-size: 17px; margin: 12px 0 8px; }
#study3Overview .study3-panel p { font-size: 14px; margin: 0; line-height: 1.5; }
#study3Overview .study3-arrow { align-self: center; font-size: 27px; padding: 0 1px; }
#study3Overview .study3-overview-foot { margin-top: 24px; font-size: 16px; }
#study3PracticeHint { position: fixed; top: 14px; left: 50%; transform: translateX(-50%); z-index: 8; width: min(800px, 90vw); padding: 10px 15px; border: 1px solid #333; border-radius: 7px; background: #f0f0f0; text-align: center; font-size: 15px; box-sizing: border-box; }
body:has(#study3PracticeHint) #mainContainer { padding-top: 28px; }
body:has(#study3PracticeHint) #feedbackContainer > div:not(.likert-container) { min-height: calc(100vh - 28px) !important; }
#study3MediaRecovery, #study3SaveRecovery { position: fixed; bottom: 18px; left: 50%; transform: translateX(-50%); z-index: 20; width: min(620px, 90vw); border: 1px solid #333; border-radius: 7px; background: #f0f0f0; padding: 12px; text-align: center; }
#study3MediaRecovery p, #study3SaveRecovery p { margin: 0 0 10px; }
#study3MediaRecovery button, #study3SaveRecovery button { margin: 0 6px; display: inline-block; }
@media (max-width: 1050px) {
    #study3Overview .study3-flow { display: grid; grid-template-columns: 1fr 18px 1fr 18px 1fr; gap: 10px; }
    #study3Overview .study3-arrow:nth-child(6) { display: none; }
}

.study3-save-status { position:fixed; inset:0; z-index:10000; background:rgba(255,255,255,.97); display:flex; flex-direction:column; justify-content:center; align-items:center; padding:40px; text-align:center; }
.study3-save-status p { max-width:640px; }
.study3-camera-instructions { max-width:600px; margin:auto; padding:20px; font-family:'Helvetica Neue',Arial,sans-serif; line-height:1.6; text-align:center; color:#333; }
.study3-camera-instructions h1 { margin-bottom:32px; }
