:root{font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;color:#172b43;background:#f3f6fa;font-synthesis:none}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0}button,input{font:inherit}.shell{max-width:1170px;margin:0 auto;padding:26px 28px 44px}.topbar{display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #dce4ef;padding:10px 0 22px;gap:16px;flex-wrap:wrap}.brand{display:flex;align-items:baseline;gap:12px}.wordmark{font-size:28px;font-weight:800;color:#123a63;letter-spacing:.16em}.brand-name{font-size:13px;font-weight:700;letter-spacing:.18em;color:#61738b}.lab-chip{background:#e6f0fa;color:#1b5482;border-radius:100px;font-size:11px;letter-spacing:.08em;font-weight:750;padding:9px 12px}.hero{padding:38px 0 28px}.hero h1{font-size:clamp(29px,4.6vw,48px);letter-spacing:-.035em;line-height:1.13;max-width:800px;margin:10px 0 16px;color:#113457}.hero>p:not(.overline){font-size:16px;line-height:1.7;color:#4e6279;max-width:850px}.overline{text-transform:uppercase;font-size:12px;letter-spacing:.16em;font-weight:800;color:#2c6b9d}.boundaries{display:flex;flex-wrap:wrap;gap:9px;margin-top:20px}.boundaries span{border:1px solid #cfdcea;border-radius:100px;background:white;font-size:12px;color:#3c5770;padding:7px 13px;font-weight:600}.step-bar{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));background:#fff;border:1px solid #dfe8f3;border-radius:16px;margin-bottom:18px;overflow:hidden}.step-bar>div{padding:17px 20px;display:grid;grid-template-columns:29px 1fr;grid-column-gap:10px;column-gap:10px;align-items:center;border-right:1px solid #e7ecf3}.step-bar>div:last-child{border:0}.step-number{font-size:12px;font-weight:800;color:#2d769d;background:#eaf2f9;width:29px;height:29px;display:grid;place-items:center;border-radius:50%;grid-row:span 2}.step-bar strong{font-size:14px;color:#1d3b58}.step-bar small{color:#74869a;font-size:12px}.workgrid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);grid-gap:18px;gap:18px;align-items:start}.panel{background:white;border:1px solid #dfe7f0;border-radius:16px;padding:24px;box-shadow:0 8px 30px rgba(33,64,97,.045)}.panel-top{display:flex;justify-content:space-between;align-items:center;gap:12px}.panel h2{margin:0;font-size:21px;letter-spacing:-.025em;color:#1c3e5f}.small-tag{font-size:11px;font-weight:750;border-radius:6px;padding:7px 10px;background:#eef3f8;color:#4d6a83}.explain{font-size:13px;line-height:1.65;color:#62748a;margin:16px 0}.camera-frame{height:274px;background:#12283e;border-radius:12px;position:relative;overflow:hidden}.camera-frame video{width:100%;height:100%;object-fit:cover}.camera-overlay{position:absolute;inset:0;background:rgba(11,30,47,.75);color:#d1e5f3;display:flex;align-items:center;justify-content:center;gap:14px;flex-direction:column;font-size:13px}.camera-symbol{font-size:45px;color:#92b9dc}.scanner-guide{position:absolute;inset:21% 15%;border:2px solid rgba(120,220,241,.86);border-radius:9px;pointer-events:none;box-shadow:0 0 0 900px rgba(0,0,0,.13)}.actions{display:flex;gap:9px;flex-wrap:wrap;margin-top:16px}button{-webkit-appearance:none;-moz-appearance:none;appearance:none;cursor:pointer;border-radius:9px;padding:12px 16px;font-size:13px;font-weight:750;border:1px solid transparent;transition:background .15s}button:focus-visible,input:focus-visible{outline:3px solid #86bcdf;outline-offset:2px}button.primary{background:#16466e;color:#fff}button.primary:hover{background:#0c3455}button.secondary{background:#eff5fb;color:#184b73;border-color:#d2e0ed}button.secondary:hover{background:#e3edf7}button:disabled{opacity:.5;cursor:not-allowed}.status{background:#eff5fb;color:#375d7c;font-size:13px;line-height:1.55;border-left:3px solid #4b9bcc;padding:12px 13px;margin:17px 0 0}.diagnostic{color:#667a8c;font-size:12px;margin:9px 0 0}.empty{text-align:center;min-height:420px;padding:76px 20px 55px;display:flex;align-items:center;flex-direction:column;gap:10px}.empty-symbol{font-size:41px;color:#98afc3}.empty h3{margin:8px 0 0;color:#2b4a67;font-size:17px}.empty p{margin:0;color:#798a9c;line-height:1.6;font-size:13px;max-width:260px}.review{margin-top:20px}.mini-row{display:flex;align-items:center;justify-content:space-between;padding:8px 0;border-bottom:1px solid #edf1f7;gap:12px;font-size:12px;color:#738499}.mini-row strong{font-size:12px;color:#204b6d;text-align:right}.review label{font-size:12px;color:#546b84;font-weight:750;display:block;margin:17px 0 6px}.review input{width:100%;padding:11px 12px;border:1px solid #d4e0ee;border-radius:8px;background:#fff;color:#243e56;font-size:14px;min-width:0}.review input:-moz-read-only{background:#f5f8fb}.review input:read-only{background:#f5f8fb}.note{border-left:3px solid #d4a33e;background:#fff9e9;padding:10px 11px;margin:10px 0;color:#775d20}.good,.note{font-size:12px;line-height:1.55}.good{background:#eaf6ee;color:#246443;border-left:3px solid #3b9a62;padding:11px 12px}footer{color:#718397;border-top:1px solid #d8e2ed;margin-top:26px;padding-top:18px;font-size:12px;line-height:1.75}footer p{max-width:1050px}footer code{font-size:12px;color:#415b75}@media(max-width:760px){.shell{padding:15px 14px 26px}.hero{padding:22px 0}.hero h1{font-size:31px}.workgrid{grid-template-columns:1fr}.panel{padding:18px}.step-bar>div{padding:13px 10px;grid-template-columns:1fr;gap:3px}.step-number{grid-row:auto}.step-bar small{font-size:10px}.camera-frame{height:240px}.empty{min-height:230px;padding:50px 16px}.brand-name{font-size:11px}}