:root{--navy:#0e2a47;--blue:#1769aa;--paper:#f3f7fa;--border:#d6e1ea;--muted:#52677c;--good:#0d7a5f;--warn:#ad6700;--bad:#b23434}*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--navy);font:16px/1.5 system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}.topbar{min-height:48px;background:var(--navy);color:#eff7ff;display:flex;align-items:center;justify-content:space-between;padding:10px max(18px,calc((100vw - 980px)/2));font-size:.82rem}.topbar strong{font-size:.9rem}.secure{color:#a9dbcc}main{width:min(900px,calc(100% - 28px));margin:0 auto;padding:32px 0 70px}.hero{max-width:760px;margin:0 0 24px}.eyebrow,.step{color:var(--blue);font-size:.77rem;font-weight:800;letter-spacing:.09em;text-transform:uppercase;margin:0 0 5px}h1,h2,h3{font-family:Georgia,serif;color:var(--navy);line-height:1.15}h1{font-size:clamp(2rem,6vw,3.5rem);margin:.1em 0}h2{font-size:1.42rem;margin:0 0 10px}h3{margin:0 0 10px}.card{background:#fff;border:1px solid var(--border);border-radius:12px;margin:17px 0;padding:23px;box-shadow:0 2px 12px #0e2a4707}.section-heading{display:flex;gap:12px;align-items:start;justify-content:space-between}.section-heading a{font-weight:700;font-size:.92rem;color:#125f9d}.muted,.status{color:var(--muted);font-size:.94rem}.pages{display:grid;gap:12px;margin-top:18px}.pages figure{margin:0;border:1px solid var(--border);border-radius:8px;overflow:hidden;background:#fff}.pages img{display:block;width:100%;height:auto}.pages figcaption,figure figcaption{padding:7px 10px;background:#eef4f8;color:#37536d;font-weight:700;font-size:.82rem}.field{font-weight:700;display:grid;gap:6px;margin-bottom:13px}.field input{min-height:47px;border:1px solid #acbdcc;border-radius:7px;padding:9px 11px;font:inherit;color:var(--navy)}.signature-box{position:relative;border:2px dashed #9ab0c3;border-radius:8px;overflow:hidden;touch-action:none;background:#fff}.signature-box canvas{display:block;width:100%;height:auto}.signature-box span{position:absolute;left:13%;right:13%;bottom:24%;border-top:1px solid #8ea5b8;pointer-events:none}.row{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-top:12px}button{border:0;border-radius:7px;background:var(--blue);color:#fff;padding:11px 15px;font:700 .94rem/1.2 inherit;cursor:pointer}button:disabled{opacity:.45;cursor:not-allowed}button.quiet{background:#eaf1f7;color:#183f61}.camera-stage{position:relative;min-height:360px;border-radius:12px;overflow:hidden;background:#0c1a29}.camera-stage video{width:100%;height:100%;min-height:360px;object-fit:cover;display:block}.camera-stage canvas{display:none}.thumb-guide{position:absolute;left:50%;top:50%;width:48%;aspect-ratio:1/1.28;transform:translate(-50%,-50%);border:3px solid #fff;border-radius:48% 48% 44% 44%;box-shadow:0 0 0 999px #07111e80;display:grid;place-items:end center;padding:18px;color:#fff;font-weight:700;text-shadow:0 1px 3px #000}.camera-state{position:absolute;top:12px;left:12px;background:#07111ed9;color:#fff;padding:7px 10px;border-radius:6px;font-size:.85rem}.metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-top:10px}.metrics div{border:1px solid var(--border);border-radius:7px;padding:8px 9px;display:flex;justify-content:space-between;gap:6px;color:var(--muted);font-size:.82rem}.metrics strong{color:var(--navy)}.guidance{border-left:4px solid var(--blue);padding:8px 11px;background:#edf5fc;color:#244a6a}.capture-result{margin-top:18px;border-top:1px solid var(--border);padding-top:18px}.capture-images{display:grid;grid-template-columns:1fr 1fr;gap:13px}.capture-images figure{border:1px solid var(--border);border-radius:8px;overflow:hidden;margin:0}.capture-images img,.capture-images canvas{display:block;width:100%;height:230px;object-fit:contain;background:repeating-conic-gradient(#f0f3f5 0 25%,#fff 0 50%) 50%/20px 20px}.final{background:#f7fbff}@media(max-width:620px){main{width:min(100% - 16px,900px);padding-top:21px}.topbar>span:first-child{display:none}.card{padding:17px}.camera-stage,.camera-stage video{min-height:430px}.metrics{grid-template-columns:1fr 1fr}.capture-images{grid-template-columns:1fr}.section-heading{align-items:center}.section-heading a{font-size:.8rem;white-space:nowrap}}
