:root{--paper:#f7f8f4;--white:#fff;--ink:#233e3a;--muted:#75807b;--line:#e1e6df;--green:#244e45;--pale:#eef3eb;--accent:#dce7cf;--danger:#a43836;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","PingFang SC","Microsoft YaHei",sans-serif;color:var(--ink);background:var(--paper);font-synthesis:none;font-size:14px}*{box-sizing:border-box}body{margin:0}button,input,textarea{font:inherit}button,a,input,textarea{-webkit-tap-highlight-color:transparent}button,a{touch-action:manipulation}button{cursor:pointer}button:disabled{cursor:default}a{color:inherit}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible{outline:3px solid #829f75;outline-offset:4px}[hidden]{display:none!important}.site-header{height:93px;max-width:1320px;padding:0 60px;margin:auto;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line)}.brand{display:flex;align-items:center;gap:12px;text-decoration:none;font-weight:650;font-size:17px;letter-spacing:1px}.brand-symbol{font-size:31px;line-height:1;transform:rotate(-30deg);font-weight:400}.brand-divider{width:1px;height:16px;background:#cdd7ca;margin:0 5px}.brand-en{font-size:10px;letter-spacing:2px;font-weight:500}.header-tag{font-size:11px;letter-spacing:1px;color:var(--muted)}.layout{max-width:1320px;margin:0 auto;display:grid;grid-template-columns:360px minmax(0,1fr);gap:66px;padding:51px 60px 65px}.sidebar{padding-top:5px}.eyebrow{font-size:10px;font-weight:600;letter-spacing:2.2px;color:#77846f}.sidebar h1{font-size:35px;letter-spacing:1px;line-height:1.55;font-weight:500;margin:15px 0 15px}.intro{color:var(--muted);line-height:1.9;font-size:12px;margin:0}.night-art{height:205px;position:relative;margin:25px 0 30px;overflow:hidden;border-radius:120px 120px 8px 8px;background:#e7eddf;width:285px}.moon{position:absolute;left:96px;top:39px;width:73px;height:73px;border-radius:50%;background:#f8f8e8;box-shadow:0 0 35px #fbfbed77}.moon:after{content:'';position:absolute;left:25px;top:-8px;width:66px;height:66px;border-radius:50%;background:#e7eddf}.orbit{position:absolute;width:240px;height:240px;border:1px solid #c6d1bd66;border-radius:50%;top:12px;left:20px}.orbit-two{width:310px;height:310px;left:-15px;top:-23px}.star{position:absolute;color:#698368;font-style:normal}.star-one{top:46px;right:60px;font-size:15px}.star-two{top:96px;left:62px;font-size:11px}.art-caption{position:absolute;bottom:36px;left:0;width:100%;text-align:center;font-size:8px;letter-spacing:2px;color:#71816c;z-index:2}.landscape{position:absolute;bottom:-70px;left:-20px;width:340px;height:100px;border-radius:50%;background:#ccd8c4;transform:rotate(-7deg)}.step-nav{display:grid;gap:10px;width:285px}.step-item{display:flex;align-items:center;text-align:left;gap:13px;background:transparent;border:0;padding:11px 12px;width:100%;border-radius:6px;color:var(--muted)}.step-number{width:29px;height:29px;display:flex;align-items:center;justify-content:center;border:1px solid #d5ddd1;border-radius:50%;font-size:10px;flex-shrink:0}.step-item strong{display:block;font-size:12px;font-weight:500;letter-spacing:.5px}.step-item small{display:block;font-size:10px;margin-top:5px;color:#939b90}.step-item.active{background:#e8eee2;color:var(--green)}.step-item.active .step-number{background:var(--green);color:#fff;border-color:var(--green)}.step-item.done .step-number{background:#e1e9da;color:var(--green)}.step-item:disabled{opacity:.7}.step-arrow{margin-left:auto}.aside-note{display:flex;gap:12px;margin-top:28px;padding-top:22px;border-top:1px solid var(--line);width:285px;color:#88917f;font-size:11px}.aside-note p{margin:0;line-height:1.8}.aside-note>span{font-size:19px}.workspace{background:#fff;border:1px solid var(--line);border-radius:10px;padding:30px 36px 23px;box-shadow:0 8px 35px #304a2910;min-width:0;scroll-margin-top:20px}.progress-top{display:flex;justify-content:space-between;font-size:10px;color:var(--muted);letter-spacing:1px}.progress-top>span:first-child{color:var(--green);font-weight:600}.progress-track{height:3px;background:#edf0e9;margin:13px 0 35px;border-radius:5px}.progress-track>div{height:100%;background:#80976e;border-radius:5px;transition:width .25s}.section-heading h2{font-weight:500;font-size:26px;line-height:1.5;margin:10px 0 12px;letter-spacing:.4px;outline:none}.section-heading p{font-size:12px;line-height:1.95;color:var(--muted);margin:0 0 28px}.identity{display:grid;grid-template-columns:1fr 1fr;gap:16px;background:#f7f8f4;padding:17px 18px 18px;border-radius:5px}.identity label{display:block;font-size:11px;margin-bottom:9px}.identity label>span{color:#929b8c;font-size:10px;margin-left:7px}.identity input{width:100%;height:39px;background:#fff;font-size:12px}input,textarea{border:1px solid #dce3d7;border-radius:4px;padding:10px 12px;color:var(--ink);background:#fff;min-width:0}input::placeholder,textarea::placeholder{color:#9ea69b;font-size:11px}.date-note{font-size:10px;color:#8c9586;margin:10px 0 23px}.question{padding:23px 0;border:0;border-top:1px solid #ebeee7;margin:0;min-width:0}.question>label,.question legend{font-size:12px;font-weight:500;line-height:1.9;display:block;padding:0;width:100%}.question legend{float:left;margin-bottom:14px}.question legend+.options{clear:both}.input-unit{display:flex;align-items:center;gap:13px;margin-top:14px}.input-unit input{width:180px;height:43px;font-size:16px;letter-spacing:1px}.input-unit span{font-size:11px;color:#8a9483}.options{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.option{border:1px solid #dfe5db;background:#fff;min-height:58px;border-radius:5px;display:flex;gap:7px;align-items:center;padding:10px 9px;position:relative;font-size:11px;line-height:1.65;cursor:pointer}.option input{position:absolute;opacity:0;width:1px;height:1px;bottom:8px;left:12px}.radio-dot{width:12px;height:12px;flex-shrink:0;border:1px solid #b7c2b2;border-radius:50%}.option:has(input:checked){background:#eef3e8;border-color:#7e9970;color:#244c39}.option:has(input:checked) .radio-dot{border:4px solid #416a4a}.option:has(input:focus-visible){outline:3px solid #829f75;outline-offset:3px}.options.vertical{grid-template-columns:1fr 1fr}.options.vertical .option{min-height:48px}.compact{padding:20px 0}.other-input{padding:0 0 24px}.other-input label{display:block;font-size:11px;color:var(--muted);margin-bottom:10px}textarea{width:100%;resize:vertical;line-height:1.7;font-size:12px}.observer-toggle{display:flex;gap:11px;background:#f0f4eb;border:1px solid #e0e8d8;border-radius:6px;padding:17px;margin:8px 0 25px;cursor:pointer}.observer-toggle input{accent-color:var(--green);width:17px;height:17px;margin:0}.observer-toggle strong{font-size:12px;font-weight:500;display:block}.observer-toggle small{font-size:11px;line-height:1.9;color:var(--muted);display:block;margin-top:7px}.info-note{background:var(--pale);padding:20px;color:var(--muted);font-size:12px;border-radius:5px}.form-actions{border-top:1px solid var(--line);padding-top:24px;display:flex;gap:12px;align-items:center;margin-top:8px}.button{border-radius:5px;padding:13px 19px;border:1px solid transparent;font-size:12px;min-height:45px;display:inline-flex;align-items:center;justify-content:center;gap:27px;white-space:nowrap;transition:background .15s}.button.primary{background:var(--green);color:#fff}.button.primary:hover{background:#173c33}.button.secondary{background:white;border-color:var(--line);color:#6a7c6d}.button:disabled{opacity:.5}.action-hint{font-size:10px;color:#929b8d;margin-right:auto}.privacy-note{margin:20px 0 0;color:#949e8d;font-size:10px;line-height:1.7;text-align:center}.error-banner{background:#fff0ec;color:var(--danger);border-radius:5px;padding:14px 16px;line-height:1.8;font-size:12px;margin:16px 0}.question.invalid input,.other-input.invalid textarea{border-color:var(--danger)}.question.invalid legend,.question.invalid>label{color:var(--danger)}.review-section{margin:20px 0 28px}.review-section header{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--line);padding-bottom:12px}.review-section h3{font-size:13px;font-weight:600;margin:0}.text-button{border:0;background:none;color:#6b8560;font-size:11px}.review-section dl{margin:0}.review-row{display:grid;grid-template-columns:1fr minmax(90px,35%);gap:25px;padding:11px 0;border-bottom:1px solid #f0f2ed;font-size:11px;line-height:1.8}.review-row dt{color:var(--muted)}.review-row dd{margin:0;text-align:right;overflow-wrap:anywhere;white-space:pre-wrap}.success{text-align:center;padding:80px 15px}.success-icon{display:grid;place-items:center;width:70px;height:70px;margin:0 auto 35px;border-radius:50%;background:#e9f0e1;color:#527447;font-size:30px}.success h2{font-size:25px;font-weight:500;line-height:1.6}.success p{font-size:12px;color:var(--muted);line-height:1.9}.success .button{margin-top:22px}.receipt{background:#f5f7f1;padding:20px;display:grid;gap:11px;margin:30px 0;font-size:11px;border-radius:5px;overflow-wrap:anywhere}.receipt>span{color:var(--muted)}.receipt>strong{font-family:monospace;font-weight:400;font-size:13px}.footer{max-width:1200px;margin:auto;padding:0 0 25px;font-size:10px;color:#90998b}.footer>div:first-child{display:grid;gap:8px;margin-bottom:20px}.footer strong{font-size:11px;font-weight:500;color:#76816d}.footer details{border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:16px 0}.footer summary{cursor:pointer;list-style:none;display:flex;justify-content:space-between;color:#798871}.source-details{max-width:850px;font-size:11px;line-height:1.8;padding-top:10px}.footer-bottom{display:flex;justify-content:space-between;margin-top:20px}.footer-bottom a{text-decoration:none}.muted{color:var(--muted)}
/* Research data console */
.admin-layout{max-width:1100px;padding:45px 30px 80px;margin:auto}.admin-heading{display:flex;justify-content:space-between;gap:20px;align-items:end;margin-bottom:30px}.admin-heading h1{font-size:30px;font-weight:500;margin-bottom:8px}.admin-heading p{font-size:12px;color:var(--muted)}.admin-card{background:white;border:1px solid var(--line);border-radius:8px;padding:25px;margin:20px 0}.admin-login{display:flex;align-items:end;gap:12px}.admin-login>div{flex:1}.admin-login label{display:block;margin-bottom:10px;font-size:12px}.admin-login input{width:100%;height:46px}.admin-notice{font-size:11px;color:var(--muted);line-height:1.8}.admin-toolbar{display:flex;gap:10px;align-items:center;margin-bottom:22px}.admin-toolbar strong{margin-right:auto}.table-scroll{overflow:auto}table{border-collapse:collapse;white-space:nowrap;width:100%;font-size:12px;text-align:left}th{font-size:10px;font-weight:500;color:var(--muted);background:#f4f7ef}th,td{padding:15px 12px;border-bottom:1px solid var(--line)}td code{font-size:11px}.pager{display:flex;justify-content:center;gap:15px;align-items:center;margin-top:22px;font-size:12px}.empty-state{text-align:center;color:var(--muted);padding:50px}.record-dialog{border:1px solid var(--line);border-radius:10px;padding:25px;width:min(800px,94vw);max-height:85vh;color:var(--ink)}.record-dialog::backdrop{background:#1a302766;backdrop-filter:blur(3px)}.dialog-top{display:flex;justify-content:space-between;align-items:center}.dialog-top h2{font-weight:500;font-size:19px}.record-dialog pre{background:#f6f8f2;padding:20px;white-space:pre-wrap;overflow-wrap:anywhere;font-size:12px;line-height:1.7}.admin-error{color:var(--danger);font-size:12px;line-height:1.8}
@media(min-width:1400px){.layout{gap:90px;grid-template-columns:340px minmax(0,1fr)}}
@media(max-width:1100px){.site-header{padding:0 30px}.layout{padding:35px 30px 50px;grid-template-columns:260px minmax(0,1fr);gap:30px}.night-art,.step-nav,.aside-note{width:240px}.night-art{height:190px}.sidebar h1{font-size:29px}.workspace{padding:25px}.footer{margin:0 30px}.options{grid-template-columns:1fr 1fr}.moon{left:73px}}
@media(max-width:760px){.site-header{height:73px;padding:0 20px}.brand-en,.brand-divider{display:none}.brand{font-size:15px}.header-tag{font-size:9px}.layout{display:block;padding:26px 16px 35px}.sidebar{padding:0 6px}.sidebar h1{font-size:29px;line-height:1.45;margin:10px 0}.intro{font-size:11px}.intro br{display:none}.night-art,.aside-note,.step-item small,.step-arrow{display:none}.step-nav{display:flex;width:100%;gap:5px;margin:22px 0}.step-item{padding:8px 3px;gap:6px;justify-content:center;flex:1;flex-direction:column}.step-item strong{font-size:9px;white-space:nowrap;letter-spacing:0}.step-number{width:25px;height:25px;font-size:9px}.workspace{padding:24px 20px 20px;scroll-margin-top:12px}.progress-track{margin-bottom:27px}.section-heading h2{font-size:22px}.section-heading p{font-size:11px}.identity{padding:14px;gap:12px}.identity input{font-size:11px;padding:8px;width:100%}.identity label{font-size:10px}.identity label span{margin-left:3px}.question>label,.question legend{font-size:12px}.option{min-height:54px;font-size:11px;padding:11px}.input-unit input{width:164px}.options.vertical{grid-template-columns:1fr}.form-actions{flex-wrap:wrap;gap:10px}.action-hint{display:none}.form-actions .primary{margin-left:auto}.button{padding:12px 16px;gap:16px}.privacy-note{font-size:9px}.footer{margin:0 22px;line-height:1.8}.footer>div:first-child>span{font-size:9px}.success{padding:55px 0}.success h2{font-size:23px}.review-row{gap:15px;font-size:11px}.admin-layout{padding:25px 16px}.admin-heading{align-items:start;flex-direction:column}.admin-login{flex-wrap:wrap}.admin-login>div{flex-basis:100%}.admin-toolbar{flex-wrap:wrap}.admin-card{padding:17px}.admin-toolbar strong{width:100%;margin-bottom:8px}.admin-toolbar .button{font-size:11px}.observer-toggle{padding:14px}.observer-toggle small{font-size:10px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}
/* Integrated hemodialysis study V1.1 */
.header-tools{display:flex;align-items:center;gap:22px}.study-intro{background:#f3f6ee;border-radius:6px;padding:18px 20px;line-height:1.95;font-size:13px;color:#64745f}.study-intro p{margin:0}.study-intro .study-duration{font-size:11px;margin-top:12px;color:#87917c}.study-identity{grid-template-columns:1fr 1fr;margin:20px 0}.study-identity>div:first-child{grid-column:1/-1}.study-identity input{font-size:12px}.consent-box .options{grid-template-columns:1fr}.consent-box{margin-top:24px}.consent-box .question{border-top:0}.consent-box .option{font-size:13px;min-height:52px}.optional{font-size:10px;color:#849079;margin-left:6px}.option-code{display:block;font-size:10px;color:#92a087;line-height:1.7}.options.many-options{grid-template-columns:repeat(3,minmax(0,1fr))}.radio-dot.square{border-radius:2px}.question textarea{margin-top:12px}.safety-banner{padding:17px 19px;background:#fff3e9;border:1px solid #ecc9ab;border-left:4px solid #b47136;border-radius:5px;color:#844e29;font-size:12px;line-height:1.9;margin:0 0 22px}.safety-banner p{margin:7px 0 0}.safety-banner strong{font-weight:650}.original-pages{background:#f6f8f2;border:1px solid var(--line);padding:15px;border-radius:5px;font-size:12px;line-height:1.9;margin-bottom:25px}.original-pages summary{cursor:pointer;color:#5a7652}.original-pages img{width:100%;height:auto;display:block;margin-top:15px;border:1px solid var(--line);background:#fff}.original-pages p{color:var(--muted);font-size:11px}.score-strip{display:grid;grid-template-columns:1fr 1fr;gap:15px;margin:25px 0}.score-strip>div{padding:17px;background:#eff4e9;font-size:11px;border-radius:5px}.score-strip strong{display:block;font-size:23px;font-weight:500;margin-top:7px}.review-edit-links{display:flex;gap:15px;flex-wrap:wrap;margin-top:15px}.review-section h3{line-height:1.7;max-width:80%}.risk-badge{font-size:10px;color:#8f522f;background:#fff0e3;border-radius:3px;padding:5px 8px}.legacy-badge{font-size:10px;color:#8b9583}.admin-safety-note{font-size:11px}.step-nav{gap:5px}.step-item{padding-top:9px;padding-bottom:9px}.night-art{height:165px}.sidebar h1{font-size:31px}
@media(max-width:760px){.sidebar h1{font-size:29px}.step-nav{overflow-x:auto;justify-content:flex-start;padding-bottom:9px;scrollbar-width:thin}.step-item{min-width:78px;flex:0 0 auto;padding:9px 6px}.step-item strong{font-size:9px}.header-tools{gap:10px}.header-tools .header-tag{display:none}.study-intro{font-size:12px;padding:16px}.study-identity{grid-template-columns:1fr}.study-identity>div:first-child{grid-column:auto}.study-identity input{font-size:12px}.options.many-options{grid-template-columns:1fr 1fr}.consent-box .option{font-size:12px}.safety-banner{font-size:11px;padding:14px}.admin-toolbar .button{padding:10px 12px}.score-strip strong{font-size:21px}.workspace{padding-left:18px;padding-right:18px}.night-art{display:none}}
@media(max-width:760px){.step-item{width:auto}.step-nav{scroll-snap-type:x proximity}.step-item{scroll-snap-align:center}}

/* Readable survey typography. Keep the existing paper and green visual style. */
:root{font-size:17px;--muted:#5f6e65}
.intro{font-size:16px}.eyebrow{font-size:12px}.brand{font-size:20px}.brand-en{font-size:12px}.header-tag{font-size:14px}
.section-heading h2{font-size:28px}.section-heading p{font-size:17px;line-height:1.85}
.study-intro{font-size:17px;line-height:1.9}.study-intro .study-duration{font-size:15px;color:#63715b}
.question>label,.question legend{font-size:18px;line-height:1.85;font-weight:550}
.options,.options.many-options{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.option,.consent-box .option{font-size:17px;line-height:1.75;min-height:60px;padding:13px 14px;gap:11px}
.option>span:last-child{min-width:0;overflow-wrap:anywhere}.options.vertical .option{min-height:60px}
.radio-dot{width:18px;height:18px}.option:has(input:checked) .radio-dot{border-width:5px}
.option-code{font-size:14px;color:#63715b}.question[data-field="B11"] .options{grid-template-columns:repeat(6,minmax(0,1fr))}
.question[data-field="B11"] .option{justify-content:center;padding:10px 8px}
.identity label,.study-identity label{font-size:16px}.identity label>span,.optional{font-size:14px;color:#65735e}
.identity input,.study-identity input,.admin-login input{font-size:17px;min-height:50px;height:auto}
input,textarea{font-size:17px;line-height:1.6}input::placeholder,textarea::placeholder{font-size:15px;color:#728068}
.input-unit input{font-size:19px;min-height:50px;height:auto;max-width:100%}.input-unit span{font-size:16px;color:#65735e}
textarea{font-size:17px;line-height:1.8}.other-input label{font-size:16px}.date-note{font-size:14px}
.observer-toggle strong{font-size:17px;line-height:1.8}.observer-toggle small{font-size:15px}.observer-toggle input{width:20px;height:20px;flex-shrink:0}
.info-note,.safety-banner{font-size:16px;line-height:1.85}.error-banner,.admin-error{font-size:16px;line-height:1.8}
.button{font-size:17px;min-height:50px}.text-button{font-size:15px;line-height:1.8}.action-hint{font-size:14px}
.privacy-note{font-size:14px;color:#66755e;line-height:1.85}.progress-top{font-size:14px;letter-spacing:.4px}
.step-item strong{font-size:15px;white-space:normal}.step-item small{font-size:13px;color:#6d7964}.step-number{font-size:13px}
.aside-note{font-size:14px}.review-section h3{font-size:18px}.review-row{font-size:16px;line-height:1.85;gap:20px}
.score-strip>div{font-size:16px}.success p{font-size:17px}.receipt{font-size:15px}.receipt>strong{font-size:16px}
.footer{font-size:14px;color:#69765f}.footer strong{font-size:15px}.source-details{font-size:14px;line-height:1.9}
.admin-heading p,.admin-login label,.admin-notice{font-size:16px}.admin-toolbar .button{font-size:16px}
table{font-size:16px}th{font-size:14px}td code{font-size:13px}.risk-badge,.legacy-badge{font-size:14px}.admin-safety-note{font-size:15px}
@media(max-width:760px){
 .site-header{padding:0 18px}.brand{font-size:18px}.intro{font-size:16px;line-height:1.85}
 .layout{padding:24px 12px 32px}.workspace{padding:24px 18px 20px}
 .section-heading h2{font-size:25px;line-height:1.6}.section-heading p{font-size:17px;line-height:1.85}
 .study-intro{font-size:17px;padding:17px}.study-intro .study-duration{font-size:15px}
 .question>label,.question legend{font-size:18px;line-height:1.9}.question{padding:25px 0}
 .options,.options.vertical,.options.many-options{grid-template-columns:1fr;gap:12px}
 .option,.consent-box .option{font-size:18px;line-height:1.8;min-height:60px;padding:14px;gap:12px}
 .question[data-field="B11"] .options{grid-template-columns:repeat(3,minmax(0,1fr))}
 .question[data-field="B11"] .option{gap:6px;padding:10px 5px}
 .identity,.study-identity{grid-template-columns:1fr;padding:16px;gap:18px}
 .identity label,.study-identity label{font-size:17px}.identity input,.study-identity input,.admin-login input{font-size:18px;min-height:52px;padding:11px 12px}
 .identity label span,.optional{font-size:15px}.input-unit input{font-size:19px;width:180px;min-height:52px}
 textarea{font-size:18px;line-height:1.85}.other-input label{font-size:17px}
 .observer-toggle strong{font-size:18px}.observer-toggle small{font-size:16px}
 .info-note,.safety-banner,.error-banner{font-size:16px;line-height:1.9}.info-note{padding:17px}
 .privacy-note{font-size:14px;line-height:1.9}.button,.admin-toolbar .button{font-size:17px;min-height:52px}
 .text-button{font-size:16px}.progress-top{font-size:14px}
 .step-item{min-width:94px;padding:11px 9px}.step-item strong{font-size:13px;line-height:1.6}.step-number{width:30px;height:30px;font-size:12px}
 .review-row{font-size:17px;grid-template-columns:1fr;gap:5px;padding:14px 0}.review-row dd{text-align:left}
 .footer{font-size:14px}.footer>div:first-child>span{font-size:14px}.footer strong{font-size:15px}
 .source-details{font-size:14px}.success p{font-size:17px}.score-strip>div{font-size:16px}
}
