/* Plain laboratory interface matching study 1. */
:root{font-family:"Microsoft YaHei","PingFang SC",Arial,sans-serif;color:#151515;background:#fff;color-scheme:light}
*{box-sizing:border-box}body{margin:0;min-height:100vh;display:flow-root;background:#fff}
main{max-width:1000px;margin:5vh auto;padding:24px 32px 40px}
h1{font-size:32px;line-height:1.6;margin:18px 0 28px}p{line-height:1.8;font-size:22px}
label{display:block;margin:16px 0 7px;font-size:17px}
input,select{display:block;width:100%;font:17px "Microsoft YaHei",sans-serif;padding:10px;border:1px solid #aaa;border-radius:0;background:#fff;color:#151515}
button,.button{display:inline-block;font:18px "Microsoft YaHei",sans-serif;border:1px solid #444;border-radius:0;padding:13px 18px;margin:10px 8px 10px 0;background:#fff;color:#171717;cursor:pointer;text-decoration:none}
button:disabled{opacity:.5;cursor:wait}.row{display:grid;grid-template-columns:1fr 1fr;gap:22px}
.primary{width:100%;background:#202b3b;color:#fff;border-color:#202b3b}
.center{text-align:center;min-height:75vh;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px}
.center h1,.center p{margin:0 0 14px}.center>button{margin:4px}
.key{display:inline-block;border:1px solid #444;padding:12px 20px;margin:6px;min-width:120px;font-size:22px}
.key b{font-family:Arial,sans-serif;display:inline;font-size:26px;margin-right:16px}
.key-row{display:flex;justify-content:center;flex-wrap:wrap;margin-bottom:14px}
details{margin:20px 0;font-size:14px}summary{cursor:pointer;color:#555;font-size:14px}
.error{color:#a12626;font-size:17px}.error:empty{display:none}
.check{display:flex;align-items:center;gap:10px}.check input{width:auto;margin:0}
main.compact-entry{max-width:650px}.compact-entry h1{text-align:center;font-size:28px}
.compact-entry button.primary{width:100%;margin:24px 0 0;background:#202b3b;color:white}
.compact-entry .admin-settings{margin:24px 0 0}
.task{margin:0 auto;max-width:none;padding:0}.taskbar{height:36px;display:flex;align-items:center;justify-content:space-between;margin:0 24px;font-size:14px;color:#555}
#stage{display:block;margin:auto;background:#fff;width:1200px;height:700px;touch-action:none;cursor:url('assets/cursor.svg') 5 3,default}
body.running{cursor:url('assets/cursor.svg') 5 3,default}
:is(button,input,select,summary):focus-visible{outline:3px solid #3768a5;outline-offset:2px}
@media(max-width:600px){main,main.compact-entry{padding:20px}.row{grid-template-columns:1fr;gap:0}.key{min-width:110px;padding:10px}p{font-size:20px}}
