:root{
  --bg:#000000;
  --panel:#050505;
  --panel2:#0d0d0d;
  --text:#ffffff;
  --muted:#b8b8b8;
  --border:#5f5f5f;
  --border-soft:#303030;
  --primary:#ffffff;
  --primary-text:#000000;
  --selected:#ffffff;
  --selected-text:#000000;
  --danger:#ff9d9d;
  --success:#b9f6ca;
}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;text-size-adjust:100%;background:#000}
body{margin:0;background:var(--bg);color:var(--text);font-family:Arial,"Microsoft YaHei","PingFang SC",sans-serif;min-height:100vh}
button,.scale-option{-webkit-tap-highlight-color:transparent;touch-action:manipulation}
.page{
  max-width:940px;margin:0 auto;
  padding-top:max(24px,env(safe-area-inset-top));
  padding-right:max(18px,env(safe-area-inset-right));
  padding-bottom:max(60px,env(safe-area-inset-bottom));
  padding-left:max(18px,env(safe-area-inset-left));
}
.topbar{display:flex;justify-content:space-between;align-items:end;margin-bottom:12px;color:var(--text)}
.institution{font-size:14px;color:var(--muted);margin-bottom:4px}
.study{font-size:24px;font-weight:700}
.progress-text{font-size:14px;color:var(--muted)}
.progress{height:4px;background:#252525;overflow:hidden;margin-bottom:18px}
#progressBar{height:100%;width:0;background:#fff;transition:width .2s}
.card{background:var(--panel);border:1px solid var(--border-soft);border-radius:10px;padding:32px;min-height:320px}
h1{font-size:28px;margin-top:0} h2{font-size:22px;margin-top:0} h3{font-size:18px}
p,li{line-height:1.75}.muted{color:var(--muted)}
.notice,.info,.privacy-box,.feedback-note,.resume-box{background:#0b0b0b;border:1px solid var(--border);border-radius:8px;padding:13px 15px;margin:16px 0}
.feedback-note{font-weight:700}.privacy-box{line-height:1.7}
.actions{display:flex;justify-content:flex-end;gap:12px;flex-wrap:wrap;margin-top:26px}
button{border:1px solid #fff;border-radius:7px;padding:11px 18px;font-size:16px;cursor:pointer;min-height:46px;font-weight:600}
.primary{background:var(--primary);color:var(--primary-text)}
.secondary{background:#000;color:#fff}
button:disabled{opacity:.42;cursor:not-allowed}
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.field{margin-bottom:4px}.field label{display:block;font-weight:700;margin-bottom:7px}
.field input,.field select,.field textarea{width:100%;border:1px solid var(--border);border-radius:6px;padding:11px 12px;font-size:16px;background:#111;color:#fff;outline:none;color-scheme:dark}
.field input:focus,.field select:focus,.field textarea:focus{border-color:#fff}
.field textarea{min-height:110px;resize:vertical}
.field option{background:#111;color:#fff}.feedback-field{margin-bottom:18px}.payment-phone{margin-top:18px}
.check{display:flex;gap:10px;align-items:flex-start;margin:14px 0}.check input{margin-top:5px;transform:scale(1.2);accent-color:#fff}
.center{text-align:center}.play{font-size:18px;padding:14px 25px;margin:10px 0}.audio-status{margin-top:10px;color:var(--muted)}
.rating-block{margin:22px 0 30px}.rating-q{font-weight:700;margin-bottom:12px;line-height:1.55}
.scale{display:grid;grid-template-columns:repeat(7,1fr);gap:8px}
.scale-option{background:#050505;border:1px solid #777;border-radius:6px;padding:11px 2px;text-align:center;cursor:pointer;user-select:none;min-height:48px;display:flex;align-items:center;justify-content:center}
.scale-option.selected{background:var(--selected);border-color:#fff;color:var(--selected-text);font-weight:700}
.anchors{display:flex;justify-content:space-between;color:var(--muted);font-size:13px;margin-top:8px;gap:14px}.anchors span:last-child{text-align:right}
.break-number{font-size:46px;font-weight:700;margin:8px 0}.save-status{font-size:14px;color:var(--muted);margin-top:10px}
.error{color:var(--danger);font-weight:700}.success{color:var(--success);font-weight:700}.small{font-size:14px}.inline-retry{margin-left:10px}
.completion{padding:30px 0}.practice-choice{justify-content:center}

/* Full-screen stimulus stage: removes other visual distractions during fixation/audio/ITI. */
.stage{position:fixed;inset:0;z-index:9999;background:#000;display:none;align-items:center;justify-content:center;padding:env(safe-area-inset-top) env(safe-area-inset-right) env(safe-area-inset-bottom) env(safe-area-inset-left)}
.stage.visible{display:flex}.stage-content{color:#fff;text-align:center}.fixation{font-family:Arial,sans-serif;font-size:56px;font-weight:400;line-height:1;user-select:none}

@media(max-width:900px){.page{max-width:760px}.form-grid{grid-template-columns:1fr}}
@media(max-width:700px){
  .page{padding-top:max(10px,env(safe-area-inset-top));padding-right:max(8px,env(safe-area-inset-right));padding-bottom:max(36px,env(safe-area-inset-bottom));padding-left:max(8px,env(safe-area-inset-left))}
  .topbar{align-items:center;margin-bottom:9px;gap:10px}.institution{font-size:12px;margin-bottom:2px}.study{font-size:18px;line-height:1.25}.progress-text{font-size:12px;white-space:nowrap}.progress{margin-bottom:12px}
  .card{padding:18px 14px;border-radius:8px}h1{font-size:23px;line-height:1.35}h2{font-size:20px;line-height:1.4}p,li{line-height:1.7}
  .form-grid{grid-template-columns:1fr;gap:14px}.field input,.field select,.field textarea{font-size:16px;min-height:48px}.field textarea{min-height:130px}.check{margin:16px 0}.check input{transform:scale(1.28);margin-top:6px}
  .play{width:100%;max-width:360px;min-height:52px}.rating-block{margin:20px 0 28px}.rating-q{font-size:16px}.scale{gap:5px}.scale-option{padding:8px 0;min-height:50px;font-size:16px;border-radius:5px}
  .anchors{font-size:12px;line-height:1.4;gap:12px}.anchors span{max-width:48%}.actions{gap:9px;margin-top:22px}.actions button{flex:1 1 180px}.notice,.info,.privacy-box,.feedback-note{padding:12px}.fixation{font-size:52px}
}
@media(max-width:480px){
  .page{padding-left:max(6px,env(safe-area-inset-left));padding-right:max(6px,env(safe-area-inset-right))}.card{padding:16px 11px}.study{font-size:17px}h1{font-size:22px}h2{font-size:19px}
  .scale{gap:3px}.scale-option{min-width:0;min-height:50px;font-size:15px}.anchors{font-size:11.5px}.actions{flex-direction:column}.actions button{width:100%;flex:none}.inline-retry{margin:8px 0 0 0}.fixation{font-size:48px}
}
@media(orientation:landscape) and (max-height:600px){.page{padding-top:8px}.card{padding-top:16px;padding-bottom:16px}.rating-block{margin:16px 0 20px}.fixation{font-size:46px}}


/* v4 test build */
.test-badge{display:inline-block;margin-left:8px;padding:2px 6px;border:1px solid #ff4d4f;color:#ff4d4f;border-radius:4px;font-size:11px;vertical-align:middle;letter-spacing:.08em}
.emphasis-red{color:#ff4d4f;font-weight:700}
.dnd-box{border-color:#ff4d4f!important}
.music-cue{font-size:68px;line-height:1;font-family:Arial,"Microsoft YaHei",sans-serif;color:#fff;letter-spacing:.08em;user-select:none}
.countdown-wrap{text-align:center;color:#fff;min-width:260px}
.countdown-message{font-size:20px;line-height:1.6;margin-bottom:22px;color:#fff}
.countdown-fixation{font-size:58px;line-height:1;margin:8px 0 18px;font-family:Arial,sans-serif}
.countdown-seconds{font-size:18px;color:#cfcfcf}
.rating-only-title{font-size:18px;font-weight:700;margin:0 0 18px;text-align:center;color:#fff}
.block-start{max-width:620px;margin:0 auto;text-align:center;padding:20px 0}
.block-start .block-index{font-size:48px;font-weight:700;margin:8px 0 16px}
.block-start p{color:#d0d0d0}
.test-warning{border:1px solid #ff4d4f!important;color:#fff}
@media(max-width:700px){.music-cue{font-size:60px}.countdown-message{font-size:18px}.countdown-fixation{font-size:52px}.block-start .block-index{font-size:40px}}


/* Small researcher-only entry on the public experiment site.
   It is intentionally subtle and disappears after the formal experiment starts. */
.admin-entry{
  position:fixed;
  right:max(14px,env(safe-area-inset-right));
  bottom:max(12px,env(safe-area-inset-bottom));
  z-index:900;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:6px 9px;
  border:1px solid #303030;
  border-radius:5px;
  background:rgba(0,0,0,.72);
  color:#777;
  font-size:11px;
  line-height:1;
  text-decoration:none;
  letter-spacing:.02em;
  opacity:.62;
  transition:opacity .15s,border-color .15s,color .15s;
}
.admin-entry:hover,
.admin-entry:focus-visible{
  color:#d0d0d0;
  border-color:#686868;
  opacity:1;
  outline:none;
}
.admin-entry.admin-entry-hidden{
  display:none;
}
@media(max-width:700px){
  .admin-entry{
    right:max(8px,env(safe-area-inset-right));
    bottom:max(8px,env(safe-area-inset-bottom));
    padding:5px 7px;
    font-size:10px;
    opacity:.52;
  }
}
