:root{--ink:#192c27;--muted:#576a62;--accent:#17634b;--line:#dbe1db;--paper:#fff;--bg:#f4f5ef}*{box-sizing:border-box}body{margin:0;color:var(--ink);background:var(--bg);font-family:'Segoe UI',Arial,sans-serif;line-height:1.55}button,input,textarea,select{font:inherit}button{cursor:pointer;min-height:44px;padding:9px 16px;background:white;border:1px solid #aab8af;border-radius:7px;color:var(--ink);font-weight:600}button:hover{background:#edf3ed;border-color:var(--accent)}button:disabled{opacity:.5;cursor:wait}button:focus-visible,a:focus-visible,textarea:focus-visible,[tabindex]:focus-visible,select:focus-visible{outline:3px solid #bf7300;outline-offset:3px}button[aria-pressed=true],button.primary{background:var(--accent);color:#fff;border-color:var(--accent)}header{display:flex;align-items:center;justify-content:space-between;padding:22px max(5vw,20px);border-bottom:1px solid var(--line);background:white;gap:20px}.brand{text-decoration:none;color:var(--ink);font-size:23px;font-weight:750;letter-spacing:-1px}.brand span{color:var(--accent);font-weight:400}.brand small{display:block;font-size:10px;letter-spacing:2px;text-transform:uppercase}.privacy{font-size:13px;color:var(--accent)}main{max-width:1240px;padding:36px 28px 20px;margin:auto}.intro{display:flex;justify-content:space-between;gap:30px;align-items:center;margin:8px 0 36px}.eyebrow{font-size:11px;font-weight:700;letter-spacing:1.5px;color:var(--muted)}h1{font-size:clamp(29px,3.1vw,42px);line-height:1.15;letter-spacing:-1.3px;margin:15px 0}p{color:var(--muted)}.intro p:last-child{margin-bottom:0}.session{min-width:220px}.session span{display:block;font-size:10px;letter-spacing:1.2px}.session strong{display:block;font-size:23px;margin:7px 0}progress{accent-color:var(--accent);width:100%;height:7px}.layout{display:grid;grid-template-columns:245px minmax(0,1fr);gap:35px}aside>.eyebrow{margin-top:0}nav{display:grid;gap:6px}nav button{text-align:left;display:flex;gap:12px;align-items:center;border:1px solid transparent;background:transparent;font-size:14px}nav button .num{font-family:monospace;font-size:11px;opacity:.7}nav button .mark{margin-left:auto}nav button[aria-current=step]{background:#e1eee4;border-color:#c1d5c7;color:#104b37}.aside-note{font-size:12px;margin-top:24px}#workspace{background:white;border:1px solid var(--line);border-radius:13px;padding:28px;min-width:0}.tool-heading{display:flex;align-items:center;justify-content:space-between;gap:12px}.pill{font-size:9px;letter-spacing:.7px;color:var(--muted);border:1px solid var(--line);border-radius:20px;padding:4px 9px}h2{font-size:26px;letter-spacing:-.6px;margin:14px 0 8px}#instructions{font-size:14px;margin:0 0 23px}.buttons{display:flex;flex-wrap:wrap;gap:8px}.assessment{border-top:1px solid var(--line);margin-top:26px;padding-top:20px}h3{font-size:15px;margin:0 0 12px}label{display:block;font-size:13px;font-weight:600;margin:18px 0 8px}label span{font-weight:400;color:var(--muted)}textarea{resize:vertical;width:100%;border:1px solid #aab8af;border-radius:7px;padding:12px;background:#fcfdfa;color:var(--ink)}#saved{font-size:12px;min-height:19px;margin-bottom:0}.limits{margin:30px 0;padding:24px 0;border-bottom:1px solid var(--line)}.limits h2{font-size:17px;margin-top:0}.limits p,.limits summary{font-size:13px;max-width:1000px}summary{cursor:pointer;font-weight:600;color:var(--accent);min-height:44px;padding-top:10px}footer{display:flex;align-items:center;justify-content:space-between;gap:20px;font-size:12px;padding:0 0 18px}.screen-preview{height:235px;border:1px solid #afbab3;border-radius:8px;background:white;position:relative;display:flex;justify-content:center;align-items:center;margin-bottom:15px}.screen-preview:fullscreen{width:100vw;height:100vh;border:0;border-radius:0}.screen-preview .screen-exit{position:absolute;bottom:18px;right:18px;background:#fff;color:#111;opacity:.8}.screen-preview:not(:fullscreen) .screen-exit{display:none}.screen-preview.clean .screen-exit{opacity:0}.screen-preview.clean .screen-exit:focus,.screen-preview.clean:hover .screen-exit{opacity:1}.color-btn{min-width:44px}.hint{font-size:12px;margin:12px 0}.test-pad{width:100%;height:230px;display:block;border:1px dashed #83968a;border-radius:8px;background:#f6f8f3}.touch-pad{touch-action:none}.mouse-pad{display:flex;align-items:center;justify-content:center;user-select:none}.output{background:#eff3ed;padding:10px 14px;border-radius:6px;font-family:monospace;font-size:13px;overflow-wrap:anywhere}.keyboard{display:flex;flex-wrap:wrap;gap:5px;padding:20px 0}.key{font:12px monospace;border:1px solid var(--line);padding:8px;min-width:34px;text-align:center;border-radius:4px}.key.seen{background:#d9ebdf;border-color:#74a185}.key.down{background:var(--accent);color:white}video{width:100%;max-height:300px;background:#182822;border-radius:7px}meter{width:100%;height:35px}dl{display:grid;grid-template-columns:150px minmax(0,1fr);font-size:13px;gap:10px}dt{font-weight:bold}dd{margin:0;overflow-wrap:anywhere}.report-top{display:flex;justify-content:space-between;align-items:center}#report{padding:25px;background:white;border:1px solid var(--line);border-radius:10px;margin:25px 0}.report-row{padding:15px 0;border-top:1px solid var(--line);break-inside:avoid}.report-row p{white-space:pre-wrap;overflow-wrap:anywhere;margin:5px 0}.report-row small{color:var(--muted)}.skip{position:absolute;top:-60px}.skip:focus{top:10px;background:white;padding:10px;z-index:5}[hidden]{display:none!important}@media(max-width:760px){header{padding:16px 20px}.privacy{display:none}main{padding:22px 16px}.intro{display:block;margin-bottom:24px}.intro br{display:none}.session{margin-top:23px;max-width:300px}.layout{grid-template-columns:1fr;gap:18px}nav{grid-template-columns:repeat(2,minmax(0,1fr));gap:4px}nav button{font-size:12px;padding:9px 8px;gap:7px;border-color:var(--line)}.aside-note{display:none}#workspace{padding:20px 16px}.pill{font-size:8px}.screen-preview{height:205px}footer{display:block}footer>.buttons{margin-top:14px}dl{grid-template-columns:115px minmax(0,1fr)}}@media print{body{background:#fff;color:#000;font-size:12pt}header,.intro,.layout,.limits,footer,.skip,#close-report{display:none!important}main{padding:0;max-width:none}#report{display:block!important;border:0;padding:0;margin:0}#report h2{font-size:22pt}#report p,#report small,dl{font-size:12pt;color:#000}a{color:#000}@page{margin:16mm}}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}