:root{font-family:system-ui,-apple-system,Segoe UI,sans-serif;color:#183c41;background:#f3f5f1;font-synthesis:none;--green:#12715f;--line:#dce4de;--muted:#607573}*{box-sizing:border-box}body{margin:0}button,input,select{font:inherit}button,.button{display:inline-block;cursor:pointer;border:1px solid #c8d6ce;border-radius:9px;background:#fff;color:#183c41;padding:11px 16px;font-size:14px;font-weight:650;text-align:center}button:hover,.button:hover{background:#eef5ef}button:disabled{opacity:.45;cursor:default}.primary{background:#176c59;border-color:#176c59;color:#fff}.primary:hover{background:#105745}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible{outline:3px solid #c67f22;outline-offset:3px}header{max-width:1280px;margin:auto;padding:25px 32px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:15px}.brand{display:flex;align-items:center;gap:13px;font-size:22px;font-weight:750;letter-spacing:-.5px}.logo{background:#163f42;color:#fff;padding:7px 12px;border-radius:12px;font-size:28px}small{display:block;font-size:9px;letter-spacing:1.8px;margin-top:4px;color:var(--muted)}.badge{font-size:12px;border:1px solid #d1ddd2;background:#eaf0e7;border-radius:30px;padding:8px 12px;white-space:nowrap}main{max-width:1280px;margin:auto;padding:30px 32px 50px}.intro{display:flex;align-items:center;justify-content:space-between;gap:30px;margin-bottom:22px}.intro>div:first-child{max-width:600px}.eyebrow{letter-spacing:2px;font-size:10px;font-weight:800;color:#527a67;margin:0 0 12px}h1{font-size:clamp(32px,4.3vw,51px);line-height:1.08;letter-spacing:-2px;margin:0 0 14px}p{font-size:14px;line-height:1.6;color:var(--muted)}.intro p:last-child{max-width:520px;margin-bottom:0}.offline{display:flex;flex-direction:column;gap:9px;max-width:300px;padding:20px;border-left:3px solid #94b4a5}.offline strong{font-size:14px}.offline span{font-size:12px;color:var(--muted)}.message{border-radius:10px;background:#e5eee5;border:1px solid #cbdccc;padding:12px 16px;margin-bottom:20px;font-size:14px}.message.error{background:#fff0e5;color:#8c4316;border-color:#edc9ac}.workspace{display:grid;grid-template-columns:minmax(0,2.2fr) minmax(265px,1fr);gap:22px}.scanner,.panel{background:#fff;border:1px solid var(--line);border-radius:16px;padding:20px}.camera-head{display:flex;justify-content:space-between;gap:12px;align-items:center;margin-bottom:16px}.camera-head span{font-size:11px;color:var(--muted)}h2{font-size:18px;letter-spacing:-.4px;margin:0}.viewport{position:relative;background:#102b30;aspect-ratio:16/9;overflow:hidden;border-radius:10px;display:flex;align-items:center;justify-content:center}.viewport canvas{display:block;width:100%;height:100%;object-fit:contain}video{display:none}#placeholder{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;flex-direction:column;color:#dce9e2;gap:10px;text-align:center;padding:10px}#placeholder[hidden]{display:none}#placeholder span:last-child{font-size:12px;color:#90aba6}.viewfinder{font-size:65px;color:#6ea791;line-height:1.2}#placeholder strong{font-size:16px}.toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin-top:16px}.settings{display:flex;gap:14px;margin-top:18px}.settings label{flex:1;min-width:0}label{display:flex;flex-direction:column;gap:7px;font-size:12px;font-weight:650;color:#496662}input,select{padding:10px;border-radius:8px;border:1px solid #cbd8cf;color:#224c45;background:#fcfdfb;min-width:0;width:100%;font-size:14px}.stats{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin-top:20px;padding:16px 0;gap:8px}.stats strong{display:block;font-size:25px;letter-spacing:-1px}.stats span{display:block;font-size:10px;color:var(--muted);margin-top:3px}.hint{font-size:11px;line-height:1.65;margin:15px 0 0}.cards{display:grid;grid-template-columns:1fr 1fr;gap:9px}.card{border:1px solid #e0e6e1;border-radius:10px;padding:12px;min-height:80px;display:flex;justify-content:space-between;align-items:center;gap:5px;background:#f7f9f6}.card .number{font-size:12px;color:#7c8d84}.card .answer{font-size:28px;font-weight:750;color:#9ba9a2}.card small{font-size:9px;letter-spacing:0;font-weight:500}.card.stable{background:#e4f2e8;border-color:#93c8a5}.card.stable .answer{color:#166c48}.card.pending{background:#fff5df;border-color:#e0bd76}.card.pending .answer{color:#a0660b}.key{display:flex;gap:10px;margin-top:25px}.key span{background:#edf3eb;padding:7px 9px;border-radius:7px;font-size:12px;font-weight:650}a{color:#146c56;font-size:13px;text-underline-offset:4px}.panel>a{display:block;margin-top:22px}.measures{margin-top:24px}.section-intro{display:flex;justify-content:space-between;align-items:center;gap:15px}.section-intro .eyebrow{margin-bottom:8px}.formgrid{display:grid;grid-template-columns:2fr 1fr 1fr 1.5fr;gap:15px;margin-top:10px}#trialStatus{font-size:13px;color:var(--muted)}#trialSummary{font-size:13px;line-height:1.7;margin-top:15px}details.panel{margin-top:20px}summary{cursor:pointer;font-size:14px;font-weight:650}li{font-size:13px;line-height:1.8;color:var(--muted)}footer{border-top:1px solid var(--line);padding:25px;text-align:center;font-size:11px;color:var(--muted)}[hidden]{display:none!important}@media(max-width:850px){.workspace{grid-template-columns:1fr}.cards{grid-template-columns:repeat(5,1fr)}.card{padding:10px;flex-direction:column}.intro{align-items:flex-start}.formgrid{grid-template-columns:1fr 1fr}.offline{max-width:220px}.panel>a{margin-top:15px}}@media(max-width:580px){header{padding:16px}.brand{font-size:18px}header .badge{display:none}main{padding:24px 14px}.intro{flex-direction:column;gap:20px}h1{letter-spacing:-1px}.offline{max-width:none;padding:8px 12px}.scanner,.panel{padding:15px}.cards{gap:6px}.card{padding:8px 3px;min-height:88px}.card .answer{font-size:24px}.card small{font-size:8px}.stats strong{font-size:21px}.settings{flex-direction:column}.formgrid{grid-template-columns:1fr}.section-intro{align-items:flex-start}.section-intro>.badge{display:none}.toolbar button,.toolbar .button{flex:1}.camera-head span{max-width:160px;text-align:right}}
