:root{
  font-family:system-ui,-apple-system,"PingFang SC","Microsoft YaHei",sans-serif;
  color:#22354a;background:#f7f9fc;line-height:1.65;
  --accent:#416c91;--accent-hover:#2f5373;--line:#e2e8f0;
  --muted:#68777b;--card:#fff;
}
*{box-sizing:border-box}body{margin:0}main{max-width:720px;margin:0 auto;padding:28px 16px 64px}
header{padding:8px 2px 6px}header small{font-size:12px;letter-spacing:.08em;color:var(--accent);font-weight:700}
h1{font-size:28px;line-height:1.35;letter-spacing:-.02em;margin:8px 0}h2{font-size:19px;line-height:1.45;margin:0 0 12px}h3{font-size:17px}
p{margin:10px 0;color:#596b70;font-size:14px}p.muted,.muted{color:var(--muted);font-size:12px}
section,aside{background:var(--card);border:1px solid var(--line);border-radius:14px;padding:24px;margin:16px 0;box-shadow:0 2px 10px rgba(25,44,49,.025)}
button{border:0;border-radius:9px;background:var(--accent);color:#fff;padding:11px 18px;font:inherit;font-size:14px;font-weight:600;cursor:pointer;margin:10px 8px 4px 0;min-height:44px}
button:hover{background:var(--accent-hover)}button.secondary{background:#eef2f1;color:#33474c}button.secondary:hover{background:#e2eae8}button:disabled{opacity:.55;cursor:wait}
textarea,input[type=text],input[type=password]{width:100%;font:inherit;font-size:15px;border:1px solid #cbd6d5;border-radius:9px;padding:12px;color:#233a40;background:#fff}
textarea{min-height:152px;resize:vertical}input:focus-visible,textarea:focus-visible,button:focus-visible{outline:3px solid #afd4d0;outline-offset:2px}
fieldset{border:0;border-bottom:1px solid var(--line);padding:20px 0;margin:0;min-width:0}fieldset:last-child{border-bottom:0}legend{float:left;width:100%;font-weight:600;margin-bottom:14px;line-height:1.55}fieldset:after{content:'';display:block;clear:both}
.choices{clear:both;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:7px}
.choices label{display:flex;align-items:center;justify-content:center;border:1px solid #d2dcd9;border-radius:9px;min-height:46px;padding:6px;cursor:pointer;position:relative;font-size:14px;background:#fff}
.choices label:has(input:checked){background:#e9f3f0;border:2px solid var(--accent);color:#17474d;font-weight:700}
.choices input{position:absolute;opacity:0;width:1px;height:1px}.choices label:has(input:focus-visible){outline:3px solid #afd4d0}
.options{display:grid;gap:9px;clear:both}.options label{padding:12px 14px;background:#f7f9f8;border:1px solid var(--line);border-radius:9px;cursor:pointer;font-size:14px}
.options label:has(input:checked){border-color:var(--accent);background:#edf5f3}.options input{accent-color:var(--accent);margin-right:8px}
.anchors{display:flex;justify-content:space-between;gap:12px;font-size:12px;color:var(--muted);margin-top:8px;clear:both}
.reply{white-space:pre-wrap;overflow-wrap:anywhere;background:#f7faf9;border-left:3px solid var(--accent);padding:18px;border-radius:0 8px 8px 0}
.levels{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.levels span{padding:12px 6px;background:#f3f6f5;text-align:center;border-radius:8px;font-size:13px}.levels .selected{background:#e5f1ee;outline:2px solid var(--accent);font-weight:700}
.circles{clear:both;position:relative;width:210px;height:210px;border:2px solid #bdcbca;border-radius:50%;margin:16px auto;background:#f6f8f7}
.circles:before,.circles:after{content:'';position:absolute;border:2px solid #bdcbca;border-radius:50%;inset:32px}.circles:after{inset:65px}
.circles[data-level="1"]{background:#d8e9e5}.circles[data-level="2"]:before{background:#c1ddd7}.circles[data-level="3"]:after{background:#9ccbc1}.circles b{position:absolute;inset:85px 0;text-align:center;z-index:1}
.session-head{display:flex;align-items:center;justify-content:space-between;gap:8px;flex-wrap:wrap}.session-head button{margin:0}aside{font-size:13px}aside p{margin:8px 0 0}
.receipt-code{font-size:22px;font-weight:800;letter-spacing:.08em;text-align:center;padding:16px;background:#f0f6f4;border:1px dashed #9fbebb;border-radius:10px;color:#244f54;overflow-wrap:anywhere;user-select:all}
#notice{color:#a23b32;font-size:13px;overflow-wrap:anywhere;min-height:1.3em}a{color:var(--accent)}pre{white-space:pre-wrap;overflow-wrap:anywhere;background:#f7f9f8;border-radius:9px;padding:14px;font:inherit}
.progress{font-size:12px;color:var(--muted);margin-bottom:8px}.toolbar{display:flex;gap:8px;flex-wrap:wrap}#operator-login label{display:block;font-size:13px;font-weight:600;margin-bottom:8px}
.verify-bar{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.verify-bar input{flex:1;min-width:220px}.verify-bar button{margin:0}.verify-section{margin-top:20px}
[hidden]{display:none!important}
@media(max-width:420px){main{padding:18px 11px 52px}h1{font-size:25px}section,aside{padding:20px 15px}.choices{gap:5px}.choices label{min-height:44px;padding:4px;font-size:13px}.receipt-code{font-size:19px}.levels span{font-size:12px}}

/* v2.1.5: minimal dual-entrance landing and progress status */
.entry-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:18px 0}
.entry-button{width:100%;min-height:70px;text-align:center;margin:0;font-size:16px;border-radius:13px}
.entry-card{padding-bottom:18px}
.queue-status{font-size:13px;color:#486078;background:#edf2f8;border-radius:10px;padding:12px 14px}
.status-line{color:#24496b;font-weight:650;font-size:16px}
#session{background:#f0f5fa;border-color:#d6e2ee}
#session p{font-size:12px}
@media(max-width:420px){.entry-grid{gap:9px}.entry-button{min-height:66px;font-size:15px}}
/* E2 v2.1.11 mobile-first refinements */
:root{color:#29454a;background:#f6faf9;--accent:#34777a;--accent-hover:#285f64;--line:#dce8e5;--muted:#60777a}
main.participant-main{max-width:680px;padding-top:22px}
header small{color:#397276}header h1{font-size:27px;color:#27474d}
section,aside{border-radius:16px;box-shadow:0 4px 18px rgba(34,66,67,.035)}
section h2{font-size:19px}
.entrance-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:18px 0}
.entrance-grid button{margin:0;min-height:96px;width:100%;font-size:17px;border-radius:12px}
.queue-status{background:#eff7f5;border-radius:9px;padding:12px;color:#426b6c}
.confirm-label{display:flex;gap:10px;align-items:center;margin:15px 0}
.confirm-label input{width:18px;height:18px}
.private-url{border:1px solid #d6e8e2;border-radius:9px;background:#f1f8f6;padding:12px;font-size:13px;overflow-wrap:anywhere;user-select:all}
.emph-tip{font-weight:650;color:#285d60}
.anchors-emph{font-size:15px;font-weight:750;color:#205d60;background:#eff7f4;border-radius:9px;padding:12px}
.reply{font-size:15px;line-height:1.85}
.source-person{min-height:140px;border-radius:13px;background:#f2f5f4;display:flex;flex-direction:column;align-items:center;justify-content:center;margin:17px 0;gap:10px}
.source-person strong{font-size:18px}.source-avatar{font-size:34px;color:#557779}
fieldset legend{font-size:15px;font-weight:600}
.choices label{min-height:46px}
.network-levels{display:grid;gap:7px;clear:both}
.network-choice{display:flex;gap:10px;align-items:center;border:1px solid #dae6e3;padding:12px 14px;border-radius:10px;font-size:14px}
.network-choice:has(input:checked){background:#e6f4f1;border-color:#478984;font-weight:700}
.ios-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;clear:both}
.ios-choice{border:1px solid #d9e5e2;border-radius:11px;display:flex;flex-direction:column;align-items:center;gap:2px;padding:5px 8px;background:white;font-size:13px}
.ios-choice input{position:absolute;opacity:0}.ios-choice svg{width:100%;max-width:114px;height:64px}
.ios-choice:has(input:checked){border:2px solid #3d8985;background:#eaf6f2;font-weight:700}
.ios-choice:has(input:focus-visible){outline:3px solid #a7d4cf}
.cue-explain{font-size:14px;line-height:1.85;color:#456369}
.cue-box{border:1px solid #d7e8e4;border-radius:12px;padding:17px 10px;background:#f9fcfb}
.cue-axis{display:flex;justify-content:space-between;padding-left:93px;font-size:12px;color:#627b7c}
.cue-row{display:grid;grid-template-columns:83px minmax(0,1fr);gap:10px;align-items:center;margin:20px 0;font-size:13px;font-weight:650}
.cue-track{height:18px;background:#e7efed;border-radius:14px;overflow:hidden;background-image:linear-gradient(to right,transparent 49.7%,#bacdcc 50%,transparent 50.3%)}
.cue-fill{height:100%;background:#397f81;border-radius:14px}.cue-fill.baseline{background:#9bbfba}
.cue-result{font-weight:750;color:#306468}
@media(max-width:360px){main.participant-main{padding:17px 10px 40px}section,aside{padding:17px 13px}.entrance-grid{gap:8px}.entrance-grid button{font-size:15px}.choices{gap:5px}.choices label{font-size:13px}.anchors-emph{font-size:13px}}
.group-title{font-size:15px;color:#37656a;background:#eff7f5;border-radius:10px;padding:10px 13px;margin:12px 0 0}
.network-svg{display:block;width:100%;max-width:310px;margin:10px auto 15px;touch-action:manipulation}

/* UI r2: questionnaire ergonomics and experimental manipulation readability */
.counter-status{font-size:13px;font-weight:650;color:#79584a;margin:10px 0}.counter-ready{color:#2c7770}
.anchors{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:8px;margin-top:12px;padding:12px 14px;background:#edf6f4;border:1px solid #d6e8e2;border-radius:10px;color:#28565b;font-size:14px;font-weight:750}
.anchors span:last-child{text-align:right}
.anchors-emph{font-size:15px;font-weight:800}
.network-instruction{font-size:14px;font-weight:650;color:#275f64;background:#eaf5f1;padding:10px 12px;border-radius:9px}
.relationship-ring{fill:#ecf2f0;stroke:#a3bdb9;stroke-width:1.5;cursor:pointer;transition:fill .12s}
.relationship-ring:nth-of-type(2n){fill:#e3efeb}
.relationship-ring:hover{fill:#b9dad3}.relationship-ring.selected{fill:#82c6b9;stroke:#287d74;stroke-width:2.5}
.relationship-ring:focus-visible{outline:none;stroke:#145f5b;stroke-width:4}
.ring-number{font-size:12px;fill:#3f6869;font-weight:700}.ring-center{font-size:15px;fill:#19464b;font-weight:800}
.review-reply{margin:16px 0;padding:0;border:1px solid #d5e7e3;border-radius:10px;overflow:hidden;background:#fafdfc}
.review-reply summary{cursor:pointer;padding:13px 15px;color:#2f6268;font-weight:700}
.review-reply .reply{margin:0 12px 12px;border-left-width:2px;font-size:14px;line-height:1.65}
.cue-hero{text-align:center;background:#eaf5f3;border:1px solid #c9e4dd;border-radius:13px;padding:22px 14px;margin:16px 0 20px}
.cue-hero-source{font-size:15px;color:#2b6568;font-weight:750;margin-bottom:10px}.cue-hero-value{display:block;font-size:22px;line-height:1.55;color:#164e56}
.next-rating-notice{font-size:16px;font-weight:760;color:#2a5a61;background:#eff7f4;border-left:4px solid #458b80;padding:13px 14px;border-radius:9px;line-height:1.75}
.cue-timer{font-size:13px;color:#5b7074;font-weight:650}.submit-lock-note{font-size:12px;color:#708084}
@media(max-width:360px){.cue-hero-value{font-size:19px}.anchors{font-size:13px;padding:10px}.network-instruction{font-size:13px}}

/* v2.1.13: stable reply source and single transition to the effort stimulus */
.reply-source{font-size:14px;font-weight:750;color:#285e63;background:#eaf5f1;border:1px solid #d4e8e2;border-radius:10px 10px 0 0;padding:11px 14px;margin:14px 0 0}
.reply-source + .reply{margin-top:0;border-radius:0 0 10px 10px}
.review-reply .reply-source{margin:0 12px;padding:9px 12px;font-size:13px}
.cue-intro-lead{font-size:16px;color:#2a4a50;line-height:1.8;font-weight:650}
.cue-intro-text{font-size:15px;color:#395a5d;line-height:1.85;margin:16px 0 20px}
/* E2 admin control and dashboard */
.admin-main{max-width:860px}.admin-main section{padding:20px}.admin-main .toolbar{display:flex;gap:9px;align-items:center;flex-wrap:wrap}
.nav-link{display:inline-flex;align-items:center;border:1px solid #b9d3cf;border-radius:9px;padding:10px 14px;text-decoration:none;font-weight:600;color:#245e62;min-height:42px}
.metric-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;margin:12px 0 20px}
.metric{background:#f2f7f6;border:1px solid #d8e6e2;border-radius:10px;padding:12px;display:flex;flex-direction:column;gap:5px;min-width:0}
.metric span{font-size:12px;color:#607678}.metric strong{font-size:25px;line-height:1.2;font-variant-numeric:tabular-nums}
.stage-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.stage-item{display:flex;justify-content:space-between;gap:8px;border-bottom:1px solid #d8e1e0;padding:9px 3px;font-size:13px}
.date-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:12px}.date-grid label{font-size:13px;font-weight:600}
.date-grid input{width:100%;border:1px solid #cbd6d5;border-radius:9px;padding:10px;margin-top:6px;color:#233a40;font:inherit;font-size:14px;min-height:44px}
.manage-toggle{display:flex;gap:12px;align-items:center;padding:13px;background:#eff6f4;border-radius:10px}.manage-toggle input{width:22px;height:22px;accent-color:var(--accent)}
.status-detail{display:grid;grid-template-columns:125px minmax(0,1fr);gap:6px 12px;margin:14px 0}.status-detail dt{color:#667a80;font-size:13px}.status-detail dd{margin:0;font-size:13px;overflow-wrap:anywhere}
#manage-notice{color:#9a3d2e;font-size:13px;min-height:1.2em}
@media(max-width:540px){.metric-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.date-grid{grid-template-columns:1fr}.admin-main section{padding:14px}.status-detail{grid-template-columns:100px minmax(0,1fr)}}
/* E2 management v2.1.15 */
.record-list{display:grid;gap:8px;max-height:570px;overflow:auto;margin:12px 0}
.record-row{text-align:left;display:grid;gap:3px;padding:12px;width:100%;background:var(--surface,#f6f8f8);color:inherit;border:1px solid #d6e0e3;border-radius:10px;white-space:normal}
.record-row span{font-size:13px;color:#52666d}.record-row strong{font-size:14px}
.record-detail{border-top:1px solid #d3dfe1;margin-top:16px;padding-top:12px}
.record-text{white-space:pre-wrap;overflow-wrap:anywhere;background:#f2f5f6;border-radius:8px;padding:12px;max-height:350px;overflow:auto;font:inherit;font-size:14px}
.record-answers{max-height:450px;overflow:auto;font-size:13px;line-height:1.6}
.record-answers>div{padding:5px 0;border-bottom:1px solid #e1e8ea}
/* E2 operations supervision; no changes to participant-facing assessment layout. */
.record-select-row{display:flex;gap:10px;align-items:flex-start;margin:8px 0}
.record-select-row>input{width:20px;height:20px;margin-top:14px;flex-shrink:0}
.record-select-row>.record-row{flex:1}
.table-scroll{width:100%;overflow-x:auto}
.table-scroll table{border-collapse:collapse;min-width:790px;width:100%}
.table-scroll td,.table-scroll th{font-size:13px;padding:10px 7px;border-bottom:1px solid #d3dfde;text-align:left;white-space:nowrap}
#manage-work section textarea{max-width:100%}

/* E2 首页双入口视觉层级 */
.entrance-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.6fr) minmax(0, 1fr);
  gap: 12px;
  margin: 20px 0;
  align-items: stretch;
}

.entrance-grid button#begin {
  min-height: 82px;
  padding: 16px;
  font-size: 21px;
  font-weight: 700;
  color: #ffffff;
  background: #08758c;
  border: 1px solid #08758c;
  border-radius: 12px;
  box-shadow: 0 4px 12px rgba(8, 117, 140, .16);
}

.entrance-grid button.secondary {
  min-height: 62px;
  padding: 14px;
  font-size: 16px;
  font-weight: 600;
  color: #405d63;
  background: #eff5f6;
  border: 1px solid #d2e0e3;
  border-radius: 12px;
  box-shadow: none;
}

.entrance-grid button#begin:disabled {
  background: #a5b6ba;
  border-color: #a5b6ba;
  box-shadow: none;
  cursor: not-allowed;
}

@media (max-width: 600px) {
  .entrance-grid {
    grid-template-columns: 1fr;
    gap: 12px;
  }

  .entrance-grid button#begin {
    min-height: 80px;
  }

  .entrance-grid button.secondary {
    min-height: 56px;
  }
}


/* E2-LANDING-V2 */
.entrance-grid{
  display:grid;
  grid-template-columns:minmax(0,1.6fr) minmax(0,1fr);
  gap:12px;
  margin:20px 0;
  align-items:stretch;
}
.entrance-grid #begin{
  min-height:84px;
  padding:16px;
  font-size:21px;
  font-weight:700;
  color:#fff;
  background:#08758c;
  border:1px solid #08758c;
  border-radius:12px;
  box-shadow:0 4px 12px rgba(8,117,140,.16);
}
.entrance-grid #begin:disabled{
  background:#a5b6ba;
  border-color:#a5b6ba;
  box-shadow:none;
  cursor:not-allowed;
}
.entrance-grid button.secondary{
  min-height:64px;
  padding:14px;
  font-size:16px;
  font-weight:600;
  color:#405d63;
  background:#eff5f6;
  border:1px solid #d2e0e3;
  border-radius:12px;
  box-shadow:none;
}
.home-ethics{
  margin:22px auto 4px;
  font-size:12px;
  line-height:1.8;
  text-align:center;
  color:#718085;
}
@media(max-width:600px){
  .entrance-grid{grid-template-columns:1fr;}
  .entrance-grid #begin{min-height:82px;}
  .entrance-grid button.secondary{min-height:56px;}
}


/* E2-ENTRANCE-DESCRIPTIONS */
.entrance-grid button{
  width:100%;
  white-space:normal;
}
.entrance-grid #begin{
  min-height:100px;
  line-height:1.45;
}
.entrance-grid #begin::after{
  content:"用文字讲述你的困扰，按提示等待并查看回复";
  display:block;
  margin-top:8px;
  font-size:12px;
  line-height:1.6;
  font-weight:400;
  opacity:.94;
}
.entrance-grid button.secondary{
  min-height:78px;
  line-height:1.45;
}
.entrance-grid button.secondary::after{
  content:"仅供收到回应任务通知的人员使用";
  display:block;
  margin-top:7px;
  font-size:12px;
  font-weight:400;
  line-height:1.5;
}
