/* 与研究一保持一致：白底、深灰文字、紧凑设置页。 */
:root{font-family:"Microsoft YaHei","PingFang SC",Arial,sans-serif;color:#151515;background:#fff;color-scheme:light;font-synthesis:none}
*{box-sizing:border-box}body{margin:0;background:#fff;min-height:100vh}#app{max-width:650px;margin:5vh auto;padding:24px 32px 60px}
h1{font-size:28px;line-height:1.6;text-align:center;margin:0 0 30px;font-weight:700}h2{font-size:28px;line-height:1.65;margin:0 0 24px}p{font-size:18px;line-height:1.8;margin:16px 0}.muted,.small-note{color:#666}.small-note,.notice{font-size:14px;line-height:1.7}.notice{color:#666}.error{color:#b73333;white-space:pre-wrap}.error:empty{display:none}
.grid{display:grid;grid-template-columns:1fr 1fr;gap:0 22px}.field{display:block;font-size:17px;margin:14px 0}.wide{grid-column:1/-1}input,select{display:block;width:100%;font:17px "Microsoft YaHei",Arial,sans-serif;color:inherit;background:#fff;padding:10px;margin-top:7px;border:1px solid #aaa;border-radius:2px}input[type=range]{padding:0;accent-color:#202b3b}
button,.button{font:18px "Microsoft YaHei",Arial,sans-serif;background:#fff;color:#151515;border:1px solid #444;border-radius:3px;padding:12px 18px;cursor:pointer;text-decoration:none;display:inline-block}button:hover{background:#f2f3f5}button:disabled{opacity:.45;cursor:default}.primary-start{display:block;width:100%;background:#202b3b;color:#fff;border:0;margin-top:14px}.primary-start:hover{background:#33435a}.small{font-size:14px;padding:8px 12px}.actions{display:flex;gap:12px;flex-wrap:wrap;align-items:center;margin-top:22px}.actions .primary-start{margin-top:0;flex:1}.actions .secondary{margin-top:0}a{color:#333}
details{margin-top:20px}summary{cursor:pointer;font-size:16px;line-height:1.7;color:#555}.advanced{margin:20px 0}.advanced[open]{border-top:1px solid #ddd;padding-top:14px}.utility{margin-top:22px}.sound-check{display:flex;align-items:center;gap:12px;margin:14px 0}.sound-check select{width:88px;flex:none;margin:0}.sound-check audio{width:100%;height:40px;min-width:0}.session-info{text-align:center}.table-wrap{overflow:auto}table{width:100%;border-collapse:collapse;font-size:13px;margin:16px 0}th,td{padding:9px;border-bottom:1px solid #ddd;text-align:left}.exports{margin:24px 0}.export-grid{display:flex;flex-wrap:wrap;gap:10px;margin-top:12px}#backups p{font-size:14px}#backups button{display:block;font-size:14px;padding:8px 12px;margin:8px 0}
.runtime #app{max-width:none;min-height:100vh;margin:0;padding:0;display:grid;place-items:center}.stage{width:min(1000px,100%);padding:30px;text-align:center}.stage h2{font-size:36px;margin-bottom:24px}.stage p{font-size:26px;line-height:1.9}.stage .small-note,.stage .muted{color:#555}.stage .actions{justify-content:center}.stage .step{font-size:20px;color:#555;margin-bottom:20px}.fixation{font:50px Arial,sans-serif;line-height:1}.face{height:min(450px,75vh);width:min(450px,75vh);object-fit:contain;display:block;margin:auto}.response{font-size:31px;line-height:1.8}.key-hints{display:flex;justify-content:center;align-items:center;gap:clamp(48px,12vw,120px);margin:24px auto}.key-hint{display:flex;align-items:center;gap:14px;white-space:nowrap}.key-hint kbd{display:inline-grid;place-items:center;font:28px Arial,sans-serif;min-width:48px;height:46px;padding:0 12px;border:2px solid #111;border-radius:3px;background:#fff}.key-hint>span{min-width:1.5em}
.probe{max-width:620px;margin:auto}.probe h2{font-size:30px}.probe p{font-size:18px;margin:0 0 18px}.axis-top,.axis-bottom{font-size:18px;line-height:1.6;margin:8px 0;color:#333}.axis-bottom{display:flex;justify-content:space-between;gap:8px}.affect-plane{position:relative;height:min(44vh,330px);min-height:230px;border:1px solid #999;border-radius:2px;cursor:crosshair;touch-action:none;background:#fafafa}.affect-plane::before{content:"";position:absolute;top:50%;left:0;right:0;border-top:1px dashed #ccc}.affect-plane::after{content:"";position:absolute;left:50%;top:0;bottom:0;border-left:1px dashed #ccc}.marker{position:absolute;width:16px;height:16px;margin:-8px;border:3px solid #fff;box-shadow:0 0 0 2px #202b3b;background:#202b3b;border-radius:50%;pointer-events:none;z-index:1}.probe-status{min-height:24px;font-size:15px;color:#555;margin-top:14px}.slider-value{display:block;font-size:28px;margin:18px}
button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,.affect-plane:focus-visible,summary:focus-visible{outline:3px solid #3768a5;outline-offset:3px}
@media(max-width:650px){#app{padding:18px;margin:4vh auto}.grid{grid-template-columns:1fr}.stage{padding:18px}.stage h2{font-size:28px}.stage p{font-size:21px}.face{width:min(450px,85vw,75vh);height:min(450px,85vw,75vh)}h1{font-size:25px}.axis-top,.axis-bottom{font-size:15px}}

.key-hint.is-selected kbd{background:#202b3b;color:#fff;border-color:#202b3b}.key-hint.is-selected>span{font-weight:700}
input[type=checkbox]{width:auto;display:inline-block;vertical-align:middle}
.stage .continue-hint{font-size:14px;color:#777;margin:12px 0 0}.target-label{font-size:22px;line-height:1.5;margin-bottom:18px}
/* 首页：信息与开始按钮优先，低频工具集中收起。 */
.setup-home .field{font-size:14px;margin:10px 0;color:#555}
.setup-home .field input,.setup-home .field select{font-size:16px;color:#151515;padding:9px 11px;margin-top:6px;min-width:0}
.setup-home>.grid{gap:0 18px}
.setup-home #custom-sequences{margin:18px 0 22px}
.setup-home #custom-sequences>summary{font-size:14px;color:#444}
.setup-home .primary-start{margin-top:22px;font-size:17px;padding:12px 18px}
.setup-home .examiner-tools{margin-top:28px;border-top:1px solid #e8e8e8;padding-top:14px}
.setup-home .examiner-tools>summary{font-size:13px;color:#777;width:fit-content}
.setup-home .tools-content{margin-top:14px}
.setup-home .tools-content>details{margin:0;border-bottom:1px solid #eee;padding:12px 0}
.setup-home .tools-content>details:first-child{padding-top:0;border-top:0}
.setup-home .tools-content summary{font-size:13px;color:#555}
.setup-home .tools-content .grid{gap:0 16px;margin-top:8px}
.setup-home .tools-content .field{font-size:12px;margin:7px 0}
.setup-home .tools-content .field input,.setup-home .tools-content .field select{font-size:14px;padding:7px 9px;margin-top:5px}
.setup-home .tools-content input[type=range]{padding:0;height:24px}
.setup-home .tools-content .small-note,.setup-home #backups p{font-size:12px}
.setup-home .tools-content button{font-size:12px;padding:6px 10px}
.setup-home .material-link{font-size:13px;margin:14px 0 0}
@media(max-width:650px){.setup-home>.grid{grid-template-columns:1fr 1fr;gap:0 12px}.setup-home .tools-content .grid{grid-template-columns:1fr}.setup-home .field input,.setup-home .field select{font-size:14px}}
.affect-map{width:min(100%,520px);margin:0 auto}.affect-row{display:grid;grid-template-columns:72px minmax(0,1fr)72px;gap:8px;align-items:center}.affect-map .affect-plane{height:auto;min-height:0;aspect-ratio:1}.axis-left,.axis-right{font-size:18px;line-height:1.5;white-space:nowrap;color:#333}.axis-left{text-align:right}.axis-right{text-align:left}.affect-map .axis-top{margin:10px 0}.probe-status:empty{min-height:24px;margin-top:14px}.probe-status:not(:empty){margin-top:14px}
@media(max-width:500px){.affect-row{grid-template-columns:60px minmax(0,1fr)60px;gap:6px}.axis-left,.axis-right{font-size:15px}.probe h2{font-size:26px}.probe p{font-size:16px}}
