:root,[data-theme=light]{--font-display: "Cabinet Grotesk", "Arial", sans-serif;--font-body: "Satoshi", "Arial", sans-serif;--text-xs: clamp(.75rem, .7rem + .25vw, .875rem);--text-sm: clamp(.875rem, .8rem + .35vw, 1rem);--text-base: clamp(1rem, .95rem + .25vw, 1.125rem);--text-lg: clamp(1.125rem, 1rem + .75vw, 1.5rem);--text-xl: clamp(1.5rem, 1.2rem + 1.25vw, 2.25rem);--space-1: .25rem;--space-2: .5rem;--space-3: .75rem;--space-4: 1rem;--space-5: 1.25rem;--space-6: 1.5rem;--space-8: 2rem;--space-10: 2.5rem;--space-12: 3rem;--space-16: 4rem;--color-bg: #f1f2ed;--color-surface: #fafaf7;--color-surface-2: #ffffff;--color-surface-offset: #e8ebe4;--color-border: #cfd6cd;--color-divider: #dde2da;--color-text: #172321;--color-muted: #66716d;--color-faint: #96a09b;--color-primary: #153f42;--color-primary-hover: #0e3032;--color-accent: #d8ef9f;--color-success: #387245;--color-error: #9c3c38;--color-error-soft: #f4dfdc;--radius-sm: .4rem;--radius-md: .65rem;--radius-lg: 1rem;--radius-xl: 1.5rem;--radius-full: 9999px;--shadow-sm: 0 1px 2px rgb(20 45 40 / .07);--shadow-lg: 0 24px 70px rgb(20 45 40 / .12);--transition: .18s cubic-bezier(.16, 1, .3, 1)}[data-theme=dark]{--color-bg: #121815;--color-surface: #18201d;--color-surface-2: #1e2723;--color-surface-offset: #242e29;--color-border: #36433d;--color-divider: #2b3732;--color-text: #e5ebe5;--color-muted: #9ba8a1;--color-faint: #68766f;--color-primary: #b9dc81;--color-primary-hover: #d0eba1;--color-accent: #294a36;--color-success: #8bc795;--color-error: #ed938a;--color-error-soft: #442927;--shadow-sm: 0 1px 2px rgb(0 0 0 / .22);--shadow-lg: 0 24px 70px rgb(0 0 0 / .35)}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{-moz-text-size-adjust:none;-webkit-text-size-adjust:none;text-size-adjust:none;-webkit-font-smoothing:antialiased;scroll-behavior:smooth}body{min-height:100dvh;color:var(--color-text);background:var(--color-bg);font:400 var(--text-base) / 1.55 var(--font-body)}button,textarea,input{font:inherit;color:inherit}button{border:0;cursor:pointer}button,a,textarea{transition:color var(--transition),background-color var(--transition),border-color var(--transition),box-shadow var(--transition),transform var(--transition)}:focus-visible{outline:2px solid var(--color-primary);outline-offset:3px}.skip-link,.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.skip-link:focus{clip:auto;width:auto;height:auto;margin:var(--space-3);padding:var(--space-3) var(--space-4);z-index:20;color:var(--color-text);background:var(--color-surface-2);border-radius:var(--radius-sm)}.site-header{width:min(1120px,calc(100% - var(--space-8)));min-height:72px;margin:0 auto;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--color-divider)}.brand{display:inline-flex;align-items:center;gap:var(--space-3);color:var(--color-text);text-decoration:none;font-size:var(--text-sm);font-weight:500;letter-spacing:-.01em}.brand svg{width:36px;height:36px;color:var(--color-primary)}.brand svg rect:first-child{fill:currentColor;stroke:none}.brand svg path,.brand svg rect:last-child{fill:var(--color-accent)}.brand b{font-weight:700}.header-meta,.result-actions{display:flex;align-items:center;gap:var(--space-3)}.privacy{display:inline-flex;align-items:center;gap:var(--space-2);color:var(--color-muted);font-size:var(--text-xs);font-weight:600}.icon-button{width:44px;height:44px;display:inline-grid;place-items:center;color:var(--color-muted);background:transparent;border:1px solid var(--color-border);border-radius:var(--radius-full)}.icon-button:hover{color:var(--color-text);background:var(--color-surface)}main{width:min(1120px,calc(100% - var(--space-8)));margin:0 auto}.intro{max-width:720px;padding:var(--space-16) 0 var(--space-8)}.eyebrow{display:inline-flex;align-items:center;gap:var(--space-2);margin-bottom:var(--space-4);color:var(--color-muted);font-size:var(--text-xs);font-weight:700;letter-spacing:.08em;text-transform:uppercase}.eyebrow.success{color:var(--color-success)}h1,h2,h3{font-family:var(--font-display);line-height:1.12;text-wrap:balance}h1{font-size:var(--text-xl);font-weight:700;letter-spacing:-.035em}.intro p{max-width:62ch;margin-top:var(--space-4);color:var(--color-muted)}.scanner-shell{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(320px,.65fr);overflow:hidden;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-xl);box-shadow:var(--shadow-lg)}.camera-stage{position:relative;min-height:490px;overflow:hidden;display:grid;place-items:center;color:#dfe9df;background:#153f42}.camera-stage video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0}.camera-stage.is-active video{opacity:1}.idle-visual{display:grid;justify-items:center;gap:var(--space-6);padding:var(--space-8);text-align:center}.idle-visual p{max-width:30ch;color:#e8f3e9b3;font-size:var(--text-sm)}.aztec-mark{position:relative;width:136px;height:136px}.aztec-mark span{position:absolute;border:5px solid #d8ef9f}.aztec-mark span:nth-child(1){inset:0 74px 74px 0;border-right:0;border-bottom:0}.aztec-mark span:nth-child(2){inset:0 0 74px 74px;border-left:0;border-bottom:0}.aztec-mark span:nth-child(3){inset:74px 74px 0 0;border-right:0;border-top:0}.aztec-mark span:nth-child(4){inset:74px 0 0 74px;border-left:0;border-top:0}.aztec-mark i{position:absolute;inset:43px;background:#d8ef9f;box-shadow:inset 0 0 0 9px #153f42,inset 0 0 0 14px #d8ef9f}.scan-window{position:absolute;width:min(68%,400px);aspect-ratio:1}.scan-window i{position:absolute;width:54px;height:54px;border-color:#d8ef9f;border-style:solid}.scan-window i:nth-child(1){top:0;left:0;border-width:4px 0 0 4px}.scan-window i:nth-child(2){top:0;right:0;border-width:4px 4px 0 0}.scan-window i:nth-child(3){bottom:0;left:0;border-width:0 0 4px 4px}.scan-window i:nth-child(4){right:0;bottom:0;border-width:0 4px 4px 0}.scan-window span{position:absolute;top:50%;left:var(--space-4);right:var(--space-4);height:1px;background:#d8ef9f;box-shadow:0 0 12px #d8ef9f;animation:scan 2.4s ease-in-out infinite}.torch-button{position:absolute;right:var(--space-4);bottom:var(--space-4);width:48px;height:48px;display:grid;place-items:center;color:#fff;background:#00000073;border:1px solid rgb(255 255 255 / .24);border-radius:var(--radius-full);backdrop-filter:blur(10px)}.torch-button.is-on{color:#153f42;background:#d8ef9f}.scanner-controls{min-width:0;padding:var(--space-8);display:flex;flex-direction:column;justify-content:center}.status{display:flex;align-items:center;gap:var(--space-3);min-height:48px;margin-bottom:var(--space-6);color:var(--color-muted);font-size:var(--text-sm);font-weight:600}.status>span{flex:0 0 auto;width:9px;height:9px;background:var(--color-faint);border-radius:50%}.status-working>span,.status-scanning>span{background:#d49f35;box-shadow:0 0 0 5px color-mix(in srgb,#d49f35 16%,transparent);animation:pulse 1.4s ease-in-out infinite}.status-success>span{background:var(--color-success)}.status-error{color:var(--color-error)}.status-error>span{background:var(--color-error)}.actions{display:grid;gap:var(--space-3)}.button{min-height:48px;display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);padding:var(--space-3) var(--space-5);border-radius:var(--radius-md);font-size:var(--text-sm);font-weight:700}.button:active{transform:translateY(1px)}.button-primary{color:var(--color-bg);background:var(--color-primary)}[data-theme=dark] .button-primary{color:#142019}.button-primary:hover{background:var(--color-primary-hover)}.button-secondary{color:var(--color-text);background:var(--color-surface-2);border:1px solid var(--color-border)}.button-secondary:hover{background:var(--color-surface-offset)}.tip{display:flex;align-items:flex-start;gap:var(--space-2);margin-top:var(--space-5);color:var(--color-muted);font-size:var(--text-xs)}.tip svg{flex:0 0 auto;margin-top:2px}.manual-toggle{min-height:48px;margin-top:var(--space-6);display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:var(--space-2);color:var(--color-muted);background:transparent;border-top:1px solid var(--color-divider);text-align:left;font-size:var(--text-xs)}.manual-toggle:hover{color:var(--color-text)}.manual-toggle span{color:var(--color-primary);font-weight:700}.manual-form{display:grid;gap:var(--space-3);padding-top:var(--space-3)}.manual-form label{color:var(--color-muted);font-size:var(--text-xs);font-weight:700}.manual-form textarea{width:100%;resize:vertical;padding:var(--space-3);color:var(--color-text);background:var(--color-surface-2);border:1px solid var(--color-border);border-radius:var(--radius-md);font-family:ui-monospace,monospace;font-size:var(--text-xs)}.process-strip{min-height:92px;display:flex;align-items:center;justify-content:center;gap:var(--space-5);color:var(--color-muted);font-size:var(--text-xs)}.process-strip span{display:inline-flex;align-items:center;gap:var(--space-2);white-space:nowrap}.process-strip b{display:inline-grid;width:24px;height:24px;place-items:center;color:var(--color-primary);background:var(--color-accent);border-radius:50%}.process-strip i{width:36px;height:1px;background:var(--color-border)}.results{padding:var(--space-8) 0 var(--space-16)}.result-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:var(--space-6);padding:var(--space-8);color:#fff;background:#153f42;border-radius:var(--radius-xl) var(--radius-xl) 0 0}.result-heading .eyebrow{color:#d8ef9f}.result-heading h2{font-size:var(--text-xl)}.result-heading p{margin-top:var(--space-2);color:#ffffffa8;font-family:ui-monospace,monospace;font-size:var(--text-sm)}.result-heading .button-secondary,.result-heading .icon-button{color:#fff;background:#ffffff14;border-color:#fff3}.result-sections{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;overflow:hidden;background:var(--color-divider);border:1px solid var(--color-divider);border-top:0}.result-card{padding:var(--space-8);background:var(--color-surface)}.result-card h3{margin-bottom:var(--space-5);font-size:var(--text-lg)}.field{display:grid;grid-template-columns:minmax(150px,.75fr) minmax(0,1.25fr);gap:var(--space-4);padding:var(--space-3) 0;border-top:1px solid var(--color-divider)}.field dt{color:var(--color-muted);font-size:var(--text-xs)}.field dt span{display:block;color:var(--color-text);font-weight:700}.field dd{overflow-wrap:anywhere;font-size:var(--text-sm);font-weight:600}.field dd small{display:block;color:var(--color-muted);font-size:var(--text-xs);font-weight:400}.raw-data{background:var(--color-surface);border:1px solid var(--color-divider);border-top:0;border-radius:0 0 var(--radius-xl) var(--radius-xl)}.raw-data summary{min-height:56px;padding:0 var(--space-6);display:flex;align-items:center;gap:var(--space-2);cursor:pointer;color:var(--color-muted);font-size:var(--text-sm);font-weight:700}.raw-data pre{max-height:420px;overflow:auto;padding:var(--space-6);color:var(--color-text);background:var(--color-surface-offset);font-size:var(--text-xs)}footer{width:min(1120px,calc(100% - var(--space-8)));margin:0 auto;padding:var(--space-6) 0 var(--space-8);display:flex;justify-content:space-between;gap:var(--space-4);color:var(--color-faint);border-top:1px solid var(--color-divider);font-size:var(--text-xs)}@keyframes scan{0%,to{transform:translateY(-110px);opacity:.45}50%{transform:translateY(110px);opacity:1}}@keyframes pulse{50%{opacity:.45}}@media(max-width:800px){.site-header,main,footer{width:min(100% - var(--space-6),680px)}.intro{padding:var(--space-10) 0 var(--space-6)}.scanner-shell{grid-template-columns:1fr}.camera-stage{min-height:auto;aspect-ratio:4 / 3}.scanner-controls{padding:var(--space-6)}.result-heading{align-items:flex-start;flex-direction:column}.result-sections{grid-template-columns:1fr}.result-actions{width:100%;flex-wrap:wrap}.result-actions .button{flex:1}}@media(max-width:520px){.privacy{width:44px;height:44px;justify-content:center;font-size:0}.intro{padding-top:var(--space-8)}.intro p{font-size:var(--text-sm)}.camera-stage{aspect-ratio:1 / 1}.process-strip{justify-content:space-between;gap:var(--space-2)}.process-strip span{gap:var(--space-1);font-size:0}.process-strip span b{font-size:var(--text-xs)}.process-strip span:after{font-size:var(--text-xs)}.process-strip span:nth-of-type(1):after{content:"Image"}.process-strip span:nth-of-type(2):after{content:"Decode"}.process-strip span:nth-of-type(3):after{content:"Fields"}.field{grid-template-columns:1fr;gap:var(--space-1)}footer{flex-direction:column}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important}}.contract-block{margin-top:var(--space-16);display:flex;flex-direction:column;gap:var(--space-8)}.contract-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:var(--space-6);flex-wrap:wrap}.contract-heading h2{font-family:var(--font-display);font-size:var(--text-xl);margin:var(--space-2) 0 var(--space-3);line-height:1.15;letter-spacing:-.01em;color:var(--color-text)}.contract-heading p{color:var(--color-muted);max-width:52ch;margin:0}.contract-actions{display:flex;gap:var(--space-3)}.contract-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:var(--space-5)}.contract-card{background:var(--color-surface-2);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--space-6);display:flex;flex-direction:column;gap:var(--space-4);box-shadow:var(--shadow-sm)}.contract-card h3{font-family:var(--font-display);font-size:var(--text-lg);margin:0;display:flex;align-items:center;gap:var(--space-2);color:var(--color-text)}.contract-meta{grid-column:1 / -1}.field-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-4)}.field-grid label{display:flex;flex-direction:column;gap:.35rem;font-size:var(--text-sm)}.field-grid label>span{color:var(--color-muted);font-weight:500}.field-grid input{font:inherit;padding:.6rem .8rem;border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);color:var(--color-text);transition:border-color var(--transition),box-shadow var(--transition)}.field-grid input:focus-visible{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px color-mix(in oklab,var(--color-primary) 20%,transparent)}.field-grid .span-2{grid-column:1 / -1}.contract-mini-reset{align-self:flex-start;display:inline-flex;align-items:center;gap:.4rem;background:none;border:none;color:var(--color-muted);font-size:var(--text-xs);cursor:pointer;padding:0}.contract-mini-reset:hover{color:var(--color-text)}.contract-hint{color:var(--color-muted);font-size:var(--text-sm);margin:0}.contract-preview{position:relative;padding:var(--space-6) 0}.paper-shadow{position:absolute;inset:var(--space-4) 4% auto 4%;height:40px;background:radial-gradient(closest-side,rgb(20 45 40 / .15),transparent 70%);filter:blur(20px);z-index:0}.paper{position:relative;z-index:1;background:#fefdf9;color:#1a2422;padding:clamp(2rem,3vw,3.5rem) clamp(1.75rem,4vw,4rem);max-width:820px;margin:0 auto;border:1px solid rgb(20 45 40 / .12);border-radius:6px;box-shadow:0 24px 60px #142d2826;font-family:Georgia,Times New Roman,serif;line-height:1.55}.paper-head h1{font-family:var(--font-display);font-size:clamp(1.5rem,1.1rem + 1.5vw,2rem);text-align:center;letter-spacing:-.01em;margin:0 0 var(--space-3);color:#14211f}.paper-sub{text-align:center;margin:0 0 var(--space-8);color:#34423e}.paper-parties{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-6);margin-bottom:var(--space-6)}.party-label{text-transform:uppercase;letter-spacing:.12em;font-size:.7rem;color:#6a736d;font-family:var(--font-body)}.paper-parties p{margin:.15rem 0}.paper-clauses{display:flex;flex-direction:column;gap:var(--space-5)}.clause h2{font-family:var(--font-display);font-size:1rem;letter-spacing:.02em;margin:0 0 .4rem;color:#14211f}.clause p{margin:0;text-align:justify}.vehicle-facts{list-style:none;padding:0;margin:.5rem 0 0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.35rem 1.5rem}.vehicle-facts li{display:flex;justify-content:space-between;gap:1rem;padding:.15rem 0;border-bottom:1px dotted rgb(20 45 40 / .2);font-family:var(--font-body);font-size:.9rem}.vehicle-facts span{color:#6a736d}.vehicle-facts strong{color:#14211f;text-align:right}.vehicle-comments{margin:.5rem 0 0!important;padding-bottom:.25rem;border-bottom:1px dotted rgb(20 45 40 / .2);font-family:var(--font-body);font-size:.9rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.vehicle-comments span{color:#6a736d}.contract-error{margin:0;padding:var(--space-3) var(--space-4);border-radius:var(--radius-md);background:var(--color-error-soft);color:var(--color-error);font-size:var(--text-sm)}.paper-signatures{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-8);margin-top:var(--space-16)}.paper-signatures div{text-align:center}.sig-line{display:block;height:1px;background:#14211f;margin:0 auto var(--space-2);width:80%}.paper-signatures p{margin:0;font-family:var(--font-body);font-size:.85rem;color:#6a736d;letter-spacing:.05em;text-transform:uppercase}.paper-signatures small{display:block;margin-top:.35rem;font-family:var(--font-body);color:#14211f}@media print{@page{size:A4;margin:14mm 16mm}body{background:#fff!important}.site-header,.intro,.scanner-shell,.process-strip,.results,.contract-heading,.contract-grid,.contract-hint,.paper-shadow,footer{display:none!important}#contract{margin:0}.contract-preview{padding:0}.paper{box-shadow:none;border:none;max-width:none;padding:0;margin:0;color:#000;font-size:9pt;line-height:1.28}.paper-head h1{color:#000;font-size:17pt;margin-bottom:2mm}.paper-sub{margin-bottom:5mm}.paper-parties{gap:7mm;margin-bottom:4mm}.paper-clauses{gap:2.6mm}.clause h2{font-size:9.5pt;margin-bottom:1mm}.vehicle-facts{gap:0 7mm;margin-top:1.5mm}.vehicle-facts li,.vehicle-comments{font-size:8pt}.paper-signatures{margin-top:9mm;gap:12mm}.paper-signatures p,.paper-signatures small{font-size:7.5pt}}@media(max-width:640px){.field-grid,.paper-parties{grid-template-columns:1fr}.paper-signatures{grid-template-columns:1fr;margin-top:var(--space-10);gap:var(--space-6)}.vehicle-facts{grid-template-columns:1fr}}.pdf-export-host{position:fixed;left:-10000px;top:0;width:794px;background:#fff;z-index:-1}.pdf-export-host .paper{width:794px!important;max-width:none!important;margin:0!important;padding:38px 48px!important;box-shadow:none!important;border:none!important;border-radius:0!important;font-size:12px!important;line-height:1.3!important}.pdf-export-host .paper-head h1{font-size:24px!important;margin-bottom:8px!important}.pdf-export-host .paper-sub{margin-bottom:20px!important}.pdf-export-host .paper-parties{grid-template-columns:1fr 1fr!important;gap:28px!important;margin-bottom:16px!important}.pdf-export-host .paper-clauses{gap:11px!important}.pdf-export-host .clause h2{font-size:13px!important;margin-bottom:3px!important}.pdf-export-host .vehicle-facts{grid-template-columns:1fr 1fr!important;gap:0 24px!important;margin-top:4px!important}.pdf-export-host .vehicle-facts li,.pdf-export-host .vehicle-comments{font-size:10.5px!important}.pdf-export-host .paper-signatures{grid-template-columns:1fr 1fr!important;gap:36px!important;margin-top:28px!important}.pdf-export-host .paper-signatures p,.pdf-export-host .paper-signatures small{font-size:10px!important}
