:root{color-scheme:dark;--bg:#0b0e13;--panel:#151a21;--ink:#f0f3f6;--muted:#aeb9c5;--accent:#d5fb60;--border:#343e4b}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font-family:system-ui,sans-serif}main{max-width:1600px;margin:auto;padding:28px 42px}header{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--border);padding-bottom:22px}.brand{font-weight:900;font-size:32px;color:var(--accent);text-decoration:none;letter-spacing:-1px}.brand span{color:var(--ink);font-size:14px;letter-spacing:2px;margin-left:14px}.edition,.eyebrow,.caption{font-size:12px;font-weight:700;letter-spacing:2px;color:var(--muted)}.intro{display:grid;grid-template-columns:1.1fr 1fr;gap:36px;align-items:center;padding:30px 0 24px}h1{font-size:clamp(45px,6vw,88px);letter-spacing:-4px;line-height:1.05;margin:18px 0}h1 span{color:var(--accent)}.lead{font-size:19px;line-height:1.6;color:var(--muted)}.readout{padding:22px 30px;background:var(--panel);border:1px solid var(--border);border-radius:18px}.number{display:flex;align-items:baseline;gap:12px}.number strong{font-size:clamp(60px,7vw,110px);font-variant-numeric:tabular-nums;letter-spacing:-5px}.number span{color:var(--accent);font-size:30px;font-weight:700}#status{color:var(--accent);font-size:15px;min-height:24px}.substats{display:flex;justify-content:space-between;gap:16px;color:var(--muted);font-size:14px;margin-top:12px;font-variant-numeric:tabular-nums}.notice{border:1px solid var(--border);border-radius:10px;padding:14px 18px;font-size:14px;line-height:1.55;color:var(--muted)}.notice strong{color:var(--ink)}.controls{display:flex;gap:12px;align-items:end;flex-wrap:wrap;margin:22px 0}.controls label{display:flex;flex-direction:column;gap:6px;font-size:12px;color:var(--muted)}button,select{font:inherit;background:var(--panel);color:var(--ink);border:1px solid #566171;border-radius:8px;min-height:44px;padding:9px 16px;font-size:14px}button{cursor:pointer}button:hover{border-color:var(--accent)}.primary{color:#111606;background:var(--accent);font-weight:750;border-color:var(--accent)}#test-area{border:1px solid var(--border);overflow:hidden;border-radius:12px}.lane{position:relative;height:120px;border-bottom:1px solid var(--border);overflow:hidden}.lane canvas{display:block;width:100%;height:100%}.lane-label{position:absolute;left:16px;top:10px;background:#0b0e13;color:var(--ink);padding:7px 10px;border-radius:5px;font-size:14px;font-weight:700;z-index:1}.lane-label small{font-weight:400;color:var(--muted);margin-left:10px}.unavailable{color:#ffd597!important}.test-footer{padding:12px 16px;display:flex;justify-content:space-between;gap:14px;font-size:12px;color:var(--muted);background:var(--panel)}.guide{display:grid;grid-template-columns:1fr 1fr;gap:50px;margin-top:45px;font-size:15px;line-height:1.7;color:var(--muted)}h2{font-size:32px;line-height:1.2;color:var(--ink);margin:12px 0}h3{color:var(--ink);margin:0;font-size:22px}ol{padding-left:22px}li{padding-bottom:10px}.explain strong{color:var(--ink)}.keys{color:var(--accent)}footer{font-size:12px;line-height:1.7;border-top:1px solid var(--border);padding:24px 0;margin-top:32px;color:var(--muted)}body:fullscreen main{max-width:none}.paused #status{color:#ffd597}@media(min-height:1000px){.lane{height:145px}}@media(max-width:780px){main{padding:18px}.intro,.guide{grid-template-columns:1fr;gap:18px}.intro{padding-top:18px}h1{letter-spacing:-2px}.readout{padding:18px}.brand span{font-size:10px;margin-left:8px}.edition{display:none}.lead{font-size:16px}.controls{gap:8px}.controls label{flex:1;min-width:140px}.controls select{width:100%}.test-footer{flex-direction:column}.lane{height:105px}.lane-label{font-size:12px}.lane-label small{display:block;margin:3px 0 0}.guide{margin-top:28px}.number strong{font-size:76px}}
:fullscreen main{max-width:none;padding:12px 26px}:fullscreen header,:fullscreen .guide,:fullscreen footer,:fullscreen .notice,:fullscreen .lead,:fullscreen .intro .eyebrow{display:none}:fullscreen .intro{padding:0 0 8px;gap:24px}:fullscreen h1{font-size:48px;margin:0;letter-spacing:-2px}:fullscreen .readout{padding:10px 20px}:fullscreen .number strong{font-size:58px;letter-spacing:-2px}:fullscreen .number span{font-size:23px}:fullscreen .caption{font-size:10px}:fullscreen .substats{margin-top:3px}:fullscreen .controls{margin:10px 0}:fullscreen .lane{height:max(76px,calc((100vh - 250px)/var(--lane-count,4)))}
