:root{color-scheme:dark;font-family:Arial,'Malgun Gothic',sans-serif;background:#08090c;color:#f5f5f8}*{box-sizing:border-box}body{margin:0}a{color:inherit;text-decoration:none}header,main,footer{max-width:1320px;margin:auto;padding:24px}header{display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #303039}.brand{display:flex;gap:14px;align-items:center;font-size:25px;font-weight:900}.brand small{display:block;font-size:13px;color:#aaaab7;margin-top:4px}nav{display:flex;gap:10px;margin:6px 0 38px}nav a,button{border:1px solid #3b3c48;background:#1a1b23;border-radius:9px;padding:14px 22px;font-weight:800;color:inherit;font-size:16px;cursor:pointer}nav [aria-current],#start{background:#c9163b;border-color:#ee3156}a:focus-visible,button:focus-visible,.keyboard-scroll:focus-visible{outline:3px solid white;outline-offset:4px}.eyebrow{color:#ff4d70;font-weight:800;letter-spacing:2px;font-size:13px}h1{font-size:clamp(32px,5vw,52px);letter-spacing:-2px;margin:14px 0}.intro{color:#bec0cf;font-size:19px;margin-bottom:28px}.panel{background:#121319;border:1px solid #30313b;border-radius:16px;padding:26px}.metrics{display:grid;grid-template-columns:repeat(5,1fr);gap:12px}.metrics>div{padding:18px;background:#1c1e27;border:1px solid #30323f;border-radius:10px;color:#bdbecc;font-size:14px}.metrics strong{display:block;font-size:32px;color:#fff;margin-top:8px;font-variant-numeric:tabular-nums}#chatter{color:#ff5475}.actions{display:flex;align-items:center;flex-wrap:wrap;gap:12px;margin:25px 0}#reset{background:#b61936;border-color:#ff4d70}#status{color:#d5d6df;font-size:14px}.legend{display:flex;flex-wrap:wrap;gap:18px;font-size:13px;color:#bbc0d1}.legend span:first-child{color:#46e9bc}.legend span:last-child{color:#ff7591}.keyboard-scroll{overflow-x:auto;padding:18px 2px}.keyboard{display:grid;grid-template-columns: minmax(680px,1fr) 140px 180px;gap:16px;min-width:1050px}.key-section{display:flex;flex-direction:column;gap:6px}.key-row{display:flex;gap:5px;min-height:45px}.key{flex:var(--w,1) 1 0;min-width:0;display:flex;align-items:center;justify-content:center;background:#20222d;border:1px solid #393c4c;border-radius:6px;font-size:12px;color:#c4c8d7;white-space:pre-line;text-align:center;min-height:45px}.key.tested{background:#103c33;border-color:#22c898;color:#83ffdb}.key.suspect{background:#861a35;border-color:#ff5277;color:#fff}.key.pressed{outline:2px solid #fff;outline-offset:-3px;font-weight:900}.key.empty{visibility:hidden}.hint,.notes{color:#b4b8c8;line-height:1.85;font-size:14px}h2{font-size:19px;color:#f5f5f8}#latest{display:block;padding:18px;background:#1b1d26;border-left:3px solid #ee3156;font-weight:800}.table-scroll{max-height:260px;overflow:auto}table{border-collapse:collapse;width:100%}th,td{padding:13px;text-align:left;border-bottom:1px solid #32343f}th{background:#1b1d26;position:sticky;top:0}.notes{padding:22px 3px}footer{display:flex;gap:24px;border-top:1px solid #303039;color:#b4b8c8}@media(max-width:700px){header,main,footer{padding:16px}.brand{font-size:20px}header>a:last-child{font-size:13px}.panel{padding:15px}.metrics{grid-template-columns:repeat(2,1fr)}.metrics>div:last-child{grid-column:1/-1}.metrics strong{font-size:28px}.legend{gap:8px}nav{margin-bottom:26px}nav a{padding:13px 15px}}

/* Standard ANSI 104-key geometry */
.key-section{gap:6px}.key-section .key-row:first-child{margin-bottom:12px}.key-row{height:45px}.number-pad{display:grid;grid-template-columns:repeat(4,1fr);grid-template-rows:repeat(5,45px);gap:6px;margin-top:63px}.keyboard{grid-template-columns:minmax(680px,1fr) 140px 188px}.key.empty{border:0}


.key{flex-direction:column;gap:2px}.key-count{font-size:10px;color:#bbc1d0}.key.tested .key-count{color:#83ffdb}.key.suspect .key-count{color:white}.simulation-banner{border:1px solid #886528;background:#2c2516;padding:12px 16px;color:#ffdb8a;border-radius:8px}.coverage{margin-top:20px;padding:18px;background:#1b1d26;border-radius:9px}progress{display:block;width:100%;height:14px;accent-color:#34cfa0;margin:12px 0}summary{cursor:pointer;font-weight:bold}#remaining{line-height:2;font-size:13px;color:#c4c8d7}#alerts{padding:16px;background:#192d27;border:1px solid #257b5c;border-radius:8px}#alerts.has-alert{background:#65192e;border-color:#ff4d70;color:white;font-weight:900}

/* Task-first compact layout */
header{padding-top:14px;padding-bottom:14px}.brand{font-size:22px}main{padding-top:16px}nav{margin:0 0 18px}h1{font-size:36px;margin:8px 0}.eyebrow{margin:8px 0}.intro{font-size:16px;margin:8px 0 20px}.panel{padding:20px}.actions{margin:0 0 16px;justify-content:space-between}.actions>div{display:flex;flex-direction:column;gap:6px}.ready-label{font-size:18px;color:#72e5ba}#reset{font-size:18px;padding:14px 24px}.metrics>div{padding:12px 16px}.metrics strong{font-size:27px;margin-top:5px}.keyboard-scroll{padding:8px 2px 14px}.legend{margin:14px 0 8px}.coverage{padding:12px 16px;margin-top:10px}.coverage .hint{margin:8px 0 0}#remaining{max-height:140px;overflow:auto}.record-details{margin-top:20px}.record-details>summary,.notes>summary{padding:12px 0}.notes{margin-top:15px}#alerts{margin:14px 0}h2{margin:15px 0 10px}#latest{padding:13px 16px}@media(max-width:700px){.actions{align-items:flex-start}.actions>div{max-width:58%}#reset{font-size:15px;padding:12px 14px}.panel{padding:12px}.metrics{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}.metrics>div{font-size:12px;padding:10px 8px}.metrics>div:last-child{grid-column:auto}.metrics strong{font-size:23px}.metrics>div:first-child{grid-column:span 2}.keyboard-scroll{border:1px solid #30323f;border-radius:8px}.intro{line-height:1.6}h1{font-size:30px}.brand small{font-size:11px}.table-scroll{font-size:13px}}
