:root{font-family:"Microsoft YaHei","PingFang SC",Arial,sans-serif;color:#111;background:#fff}
*{box-sizing:border-box}
html,body{margin:0;width:100%;height:100%;overflow:hidden;background:#fff}
body{display:flex;align-items:center;justify-content:center}
#app{width:100%;height:100%}
.hidden{display:none!important}
.setup-card{width:min(760px,92vw);margin:8vh auto 0;padding:36px 42px;border:1px solid #d8dde5;border-radius:16px;box-shadow:0 10px 30px rgba(0,0,0,.08);background:#fff}
h1{margin:0 0 8px;text-align:center;font-size:32px}.subtitle{text-align:center;color:#667085;margin:0 0 30px}
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-bottom:22px}label{font-weight:600;display:flex;flex-direction:column;gap:8px}input{font:inherit;padding:12px 14px;border:1px solid #b8c0cc;border-radius:8px;outline:none}input:focus{border-color:#405cf5;box-shadow:0 0 0 3px rgba(64,92,245,.12)}
.notice{background:#f7f8fb;border-radius:10px;padding:16px 18px;line-height:1.7;margin-bottom:22px}.notice p{margin:6px 0;color:#344054}.primary{display:block;margin:0 auto;border:0;border-radius:9px;background:#3457e5;color:#fff;font:600 17px/1 inherit;padding:13px 30px;cursor:pointer}.primary:hover{filter:brightness(.96)}.error{min-height:1.5em;text-align:center;color:#c62828}
.stage{position:fixed;inset:0;background:#fff;display:flex;align-items:center;justify-content:center;outline:none;user-select:none}
.instruction{width:100vw;height:100vh;object-fit:contain;background:#fff}
.stimulus{font-family:Arial,sans-serif;font-size:6vh;font-weight:400;color:#000;line-height:1;text-align:center}
.feedback{font-size:5vh;color:#000;text-align:center;min-height:1.2em}
.progress{position:fixed;right:18px;bottom:14px;font-size:12px;color:#b0b0b0;opacity:.45}
@media(max-width:650px){.form-grid{grid-template-columns:1fr}.setup-card{padding:26px 22px}}
