:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--paper:#f3efe7;--paper-deep:#e7e0d4;--ink:#1c2430;--muted:#5c6570;--navy:#1e3a6e;--navy-dark:#152a52;--gold:#c4a35a;--white:#fff;--line:#d9d1c4;--danger:#8f2433;--danger-bg:#f8ecee;--shadow:0 16px 40px #1c24301a;--radius:18px;--font:ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--serif:"Iowan Old Style", "Palatino Linotype", Palatino, Georgia, "Times New Roman", serif}*{box-sizing:border-box}html,body{min-height:100%;margin:0}body{font-family:var(--font);color:var(--ink);background:radial-gradient(1200px 600px at 50% -10%, #fffaf3 0%, transparent 55%), linear-gradient(180deg, var(--paper) 0%, var(--paper-deep) 100%)}#root{min-height:100dvh}button,input{font:inherit}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.page{width:min(430px,100%);min-height:100dvh;padding:max(20px, env(safe-area-inset-top)) 20px max(28px, env(safe-area-inset-bottom));flex-direction:column;gap:22px;margin:0 auto;display:flex}.header{flex-direction:column;gap:14px;display:flex}.brand{align-items:center;gap:12px;display:flex}.mark{background:var(--navy);width:44px;height:44px;box-shadow:var(--shadow);border-radius:12px;grid-template-columns:1fr 1fr;gap:3px;padding:5px;display:grid}.mark span{background:var(--paper);border-radius:2px}.mark-gold{background:var(--gold)!important}.eyebrow{text-transform:uppercase;letter-spacing:.12em;color:var(--muted);margin:0;font-size:.68rem;font-weight:650}h1{font-family:var(--serif);letter-spacing:-.03em;margin:2px 0 0;font-size:1.85rem;font-weight:650;line-height:1}h2{font-family:var(--serif);margin:0 0 8px;font-size:1.35rem}.lede{color:var(--muted);margin:0;font-size:1.02rem;line-height:1.45}.main{flex-direction:column;flex:1;gap:16px;display:flex}.uploader,.downloads{flex-direction:column;gap:10px;display:flex}.btn{letter-spacing:.01em;cursor:pointer;border:0;border-radius:14px;min-height:52px;padding:0 18px;font-weight:650}.btn-primary{background:var(--navy);color:var(--white);box-shadow:var(--shadow)}.btn-primary:hover{background:var(--navy-dark)}.btn-secondary{background:var(--white);color:var(--navy);border:1.5px solid var(--navy)}.btn-ghost{color:var(--ink);background:#ffffffe0}.btn-text{color:var(--navy);text-underline-offset:3px;background:0 0;min-height:44px;text-decoration:underline}.idle-points,.checklist{color:var(--muted);flex-direction:column;gap:8px;margin:0;padding:0;font-size:.95rem;list-style:none;display:flex}.idle-points li,.checklist li{padding-left:22px;position:relative}.idle-points li:before,.checklist li:before{content:"";background:var(--gold);border-radius:2px;width:8px;height:8px;position:absolute;top:.45em;left:4px}.privacy{border:1px solid var(--line);border-radius:var(--radius);background:#ffffffb8;margin-top:auto;padding:14px 16px}.privacy p{color:var(--muted);margin:0;font-size:.92rem;line-height:1.45}.privacy strong{color:var(--ink)}.privacy-compact{padding:12px 14px}.processing,.error-card{background:var(--white);border-radius:var(--radius);box-shadow:var(--shadow);padding:22px 18px}.spinner{border:3px solid var(--paper-deep);border-top-color:var(--navy);border-radius:50%;width:28px;height:28px;margin-bottom:14px;animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.steps{flex-direction:column;gap:8px;margin:16px 0 0;padding:0;list-style:none;display:flex}.step{color:var(--muted);font-size:.95rem}.step-done{color:var(--ink)}.step-done:before{content:"✓ ";color:var(--navy);font-weight:700}.step-current{color:var(--navy);font-weight:650}.step-current:before{content:"→ "}.print-card{background:var(--white);box-shadow:var(--shadow);border-radius:12px;padding:14px}.print-card img{aspect-ratio:1;background:#fff;width:100%;height:auto;display:block}.download-note{color:var(--muted);text-align:center;margin:0;font-size:.9rem}.error-card{background:var(--danger-bg)}.error-card p{margin:0 0 16px;line-height:1.45}.camera{flex-direction:column;gap:12px;display:flex;position:relative}.camera-video{aspect-ratio:3/4;object-fit:cover;background:#111;border-radius:18px;width:100%;transform:scaleX(-1)}.camera-guide{pointer-events:none;aspect-ratio:3/4;border:2px solid #ffffffeb;border-radius:50%;position:absolute;top:10%;left:12%;right:12%;box-shadow:0 0 0 999px #1c243047}.camera-hint{text-align:center;color:var(--muted);margin:0;font-size:.92rem}.camera-actions{grid-template-columns:1fr 1.4fr;gap:10px;display:grid}@media (width>=720px){.page{width:min(480px,100%);padding-top:48px}h1{font-size:2.1rem}}
