:root{color-scheme:light;--paper: #f4f0e6;--sheet: #fffdf7;--ink: #10283f;--blue: #174f78;--blue-dark: #113e60;--grid: #d1dfe3;--blue-pale: #e6eef0;--muted: #536573;--red: #b53c2e;--green: #245f4b;--danger: #972f2f;--line: #a8bcc4;--shadow: 0 18px 50px rgb(16 40 63 / 10%);--sans: Inter, "Segoe UI", Arial, sans-serif;--condensed: "Arial Narrow", "Aptos Narrow", "Roboto Condensed", Arial, sans-serif;--mono: ui-monospace, "SFMono-Regular", "Cascadia Mono", Consolas, monospace}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background-color:var(--paper);background-image:linear-gradient(rgb(23 79 120 / 5%) 1px,transparent 1px),linear-gradient(90deg,rgb(23 79 120 / 5%) 1px,transparent 1px);background-size:24px 24px;color:var(--ink);font:16px/1.5 var(--sans);min-width:320px}button,input,select,textarea{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button{color:inherit}a{color:var(--blue);text-underline-offset:3px}img{display:block;max-width:100%}[hidden]{display:none!important}:focus-visible{outline:3px solid var(--red);outline-offset:3px}.skip-link{position:fixed;z-index:100;top:12px;left:12px;transform:translateY(-150%);background:var(--ink);color:#fff;padding:10px 16px}.skip-link:focus{transform:none}.offline-notice{padding:8px 24px;background:var(--ink);color:#fff;text-align:center;font:13px var(--mono)}.site-header{min-height:72px;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:32px;max-width:1440px;margin:auto;padding:12px clamp(20px,5vw,72px);border-bottom:1px solid var(--line)}.wordmark{display:inline-flex;align-items:center;gap:12px;width:max-content;color:var(--ink);text-decoration:none;font:700 14px var(--mono);letter-spacing:.08em}.wordmark-mark{width:28px;height:28px;display:grid;grid-template-columns:repeat(2,1fr);gap:3px;padding:3px;border:2px solid currentColor}.wordmark-mark i{border:2px solid currentColor}.wordmark-mark i:last-child{border:0;background:currentColor;width:5px;height:5px;align-self:end;justify-self:end}.site-header nav,.site-footer nav{display:flex;align-items:center;gap:28px}.site-header nav a,.nav-batch{min-height:44px;display:inline-flex;align-items:center;border:0;background:transparent;color:var(--ink);text-decoration:none;font-weight:650;cursor:pointer}.site-header nav a:hover,.nav-batch:hover{color:var(--red)}.privacy-flag{justify-self:end;display:flex;align-items:center;gap:8px;font:12px var(--mono);text-transform:uppercase;letter-spacing:.08em}.privacy-flag span{color:var(--green);font-size:14px}.hero{max-width:1440px;margin:auto;padding:clamp(56px,8vw,112px) clamp(20px,5vw,72px) 88px;display:grid;grid-template-columns:minmax(0,.86fr) minmax(440px,1.14fr);align-items:center;gap:clamp(48px,7vw,112px)}.eyebrow{margin:0 0 20px;color:var(--blue);font:700 12px var(--mono);text-transform:uppercase;letter-spacing:.11em}.eyebrow span{color:var(--red)}.hero h1{margin:0;font:800 clamp(48px,6.2vw,88px)/.91 var(--condensed);letter-spacing:-.045em;text-transform:uppercase}.hero h1 em{color:var(--blue);font-style:normal}.hero-lede{max-width:590px;margin:32px 0;color:#394f60;font-size:clamp(18px,1.7vw,22px);line-height:1.55}.hero-actions{display:flex;flex-wrap:wrap;gap:12px}.button{min-height:48px;border:1px solid var(--ink);border-radius:0;padding:12px 18px;display:inline-flex;justify-content:center;align-items:center;gap:14px;background:var(--sheet);color:var(--ink);text-decoration:none;font-weight:750;cursor:pointer;transition:transform .18s ease,background .18s ease,color .18s ease,box-shadow .18s ease}.button:hover:not(:disabled){transform:translateY(-2px);box-shadow:4px 4px 0 var(--line)}.button:active:not(:disabled){transform:translateY(1px);box-shadow:none}.button.primary{background:var(--blue);color:#fff;border-color:var(--blue)}.button.primary:hover:not(:disabled){background:var(--blue-dark)}.button.secondary{background:transparent}.button:disabled{opacity:.45;cursor:not-allowed}.proof-strip{list-style:none;padding:0;margin:48px 0 0;display:flex;border-top:1px solid var(--line)}.proof-strip li{min-width:112px;padding:16px 24px 0 0;display:flex;flex-direction:column}.proof-strip strong{font:700 25px var(--mono)}.proof-strip span{color:var(--muted);font:11px var(--mono);text-transform:uppercase}.hero-plate{position:relative;padding:26px;border:1px solid var(--blue);background:var(--sheet);box-shadow:var(--shadow);transform:rotate(1.2deg)}.hero-plate:before,.hero-plate:after{content:"";position:absolute;width:18px;height:18px;border-color:var(--red)}.hero-plate:before{left:-8px;top:-8px;border-left:2px solid var(--red);border-top:2px solid var(--red)}.hero-plate:after{right:-8px;bottom:-8px;border-right:2px solid var(--red);border-bottom:2px solid var(--red)}.hero-plate picture{display:block;overflow:hidden;background:var(--blue-pale);aspect-ratio:3/2}.hero-plate img{width:100%;height:100%;object-fit:cover}.plate-label{position:absolute;top:-27px;left:0;font:11px var(--mono);text-transform:uppercase;letter-spacing:.06em}.plate-stamp{position:absolute;right:7%;bottom:-29px;width:106px;height:66px;display:grid;place-content:center;border:3px double var(--red);background:#fffdf7f0;color:var(--red);text-align:center;transform:rotate(-4deg)}.plate-stamp span{font:800 18px var(--condensed);letter-spacing:.1em}.plate-stamp small{font:9px var(--mono);text-transform:uppercase}.generator-section,.batch-section,.trust-section{border-top:1px solid var(--line);padding:80px max(20px,calc((100vw - 1296px)/2))}.generator-section{background:#f4f0e6e0}.section-heading{display:grid;grid-template-columns:1fr minmax(300px,500px);gap:40px;align-items:end;margin-bottom:40px}.section-heading h2,.trust-heading h2{margin:0;font:800 clamp(34px,4vw,54px)/1 var(--condensed);text-transform:uppercase;letter-spacing:-.02em}.section-heading>p{color:var(--muted);margin:0}.type-tabs{display:grid;grid-template-columns:repeat(5,1fr);border:1px solid var(--blue);background:var(--sheet)}.type-tabs button{min-height:56px;border:0;border-right:1px solid var(--line);background:transparent;cursor:pointer;color:var(--blue);font-weight:750}.type-tabs button:last-child{border-right:0}.type-tabs button span{margin-right:8px;font:17px var(--mono)}.type-tabs button[aria-selected=true]{background:var(--blue);color:#fff;box-shadow:inset 0 -4px 0 var(--red)}.workspace{display:grid;grid-template-columns:minmax(0,1.08fr) minmax(400px,.92fr);align-items:start;border:1px solid var(--blue);border-top:0;background:var(--sheet);box-shadow:var(--shadow)}.editor-sheet,.output-sheet{position:relative;padding:clamp(24px,4vw,52px);min-width:0}.editor-sheet{border-right:1px solid var(--blue)}.sheet-index{position:absolute;top:14px;right:16px;width:25px;height:25px;display:grid;place-items:center;border:1px solid var(--red);border-radius:50%;color:var(--red);font:11px var(--mono)}.form-heading,.output-heading{display:flex;justify-content:space-between;gap:24px;align-items:start;padding-bottom:24px;margin-bottom:28px;border-bottom:1px solid var(--line)}.technical-label,.step-label,.module-count{color:var(--blue);font:11px var(--mono);text-transform:uppercase;letter-spacing:.08em}.form-heading h3,.output-heading h3,.batch-workspace h3{margin:4px 0 0;font:750 25px/1.2 var(--condensed);text-transform:uppercase}.step-label,.module-count{padding-right:32px;color:var(--muted);white-space:nowrap}.field{display:grid;gap:8px;margin-bottom:20px;font-weight:700}.field>span{display:flex;justify-content:space-between;gap:16px;align-items:baseline}.field span small,.field output{color:var(--muted);font:11px var(--mono)}input:not([type=range]):not([type=color]):not([type=file]),select,textarea{width:100%;min-height:48px;border:1px solid #8299a4;border-radius:0;padding:11px 13px;background:#fff;color:var(--ink)}textarea{min-height:126px;resize:vertical}input:hover,select:hover,textarea:hover{border-color:var(--blue)}input[aria-invalid=true],textarea[aria-invalid=true]{border-color:var(--danger);box-shadow:inset 4px 0 0 var(--danger)}.field-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}.checkbox-field{display:flex;gap:12px;align-items:center;min-height:44px;margin-bottom:20px;font-weight:650}.checkbox-field input{width:22px;height:22px;accent-color:var(--blue)}.field-hint{display:block;margin:-12px 0 20px;color:var(--muted);font-size:13px}.form-error{min-height:24px;margin-top:8px;color:var(--danger);font-weight:700}.info-tip{display:inline-grid;place-items:center;width:24px;height:24px;padding:0;border:1px solid var(--blue);border-radius:50%;background:transparent;color:var(--blue);font:12px var(--mono);cursor:help}.info-tip:after{content:attr(data-tip);position:fixed;left:50%;bottom:24px;z-index:20;max-width:min(400px,calc(100vw - 32px));padding:12px;background:var(--ink);color:#fff;font:13px/1.4 var(--sans);opacity:0;pointer-events:none;transform:translate(-50%,8px);transition:.18s}.info-tip:hover:after,.info-tip:focus:after{opacity:1;transform:translate(-50%)}.options-drawer{margin-top:28px;border-top:1px solid var(--blue);border-bottom:1px solid var(--blue)}.options-drawer summary,.payload-inspector summary,.column-guide summary{min-height:60px;display:flex;align-items:center;justify-content:space-between;gap:16px;cursor:pointer;font-weight:750}.options-drawer summary small{color:var(--muted);font:11px var(--mono);text-align:right}.options-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 16px;padding:8px 0 12px}input[type=range]{width:100%;min-height:32px;accent-color:var(--blue)}.color-field input{width:100%;height:48px;border:1px solid #8299a4;padding:5px;background:#fff}.logo-field{grid-column:1 / -1}input[type=file]{min-height:48px;border:1px dashed #8299a4;background:var(--blue-pale);padding:10px}.text-button{min-height:44px;padding:4px 0;border:0;background:transparent;color:var(--blue);text-align:left;text-decoration:underline;text-underline-offset:3px;font-weight:700;cursor:pointer}.control-note,.export-note{margin:0 0 18px;color:var(--muted);font-size:13px}.output-sheet{background-image:radial-gradient(circle,rgb(23 79 120 / 10%) 1px,transparent 1px);background-size:12px 12px}.preview-stage{position:relative;margin:8px auto 24px;width:min(100%,420px);padding:28px;background:#e9eef0;border:1px solid var(--line)}#qr-canvas{display:block;width:100%;height:auto;background:#fff}#qr-canvas.is-empty{visibility:hidden}.empty-preview{position:absolute;inset:28px;display:grid;place-content:center;justify-items:center;padding:24px;background:#fff;text-align:center}.empty-preview strong{margin-top:18px;font:750 16px var(--condensed);text-transform:uppercase}.empty-preview p{margin:6px 0 0;color:var(--muted);font-size:13px}.finder-placeholder{width:56px;height:56px;border:7px solid var(--grid);box-shadow:inset 0 0 0 7px #fff,inset 0 0 0 14px var(--grid)}.measurement-mark{position:absolute;pointer-events:none}.x-mark{left:28px;right:28px;bottom:11px;border-top:1px solid var(--red)}.x-mark:before,.x-mark:after{content:"";position:absolute;top:-4px;height:8px;border-left:1px solid var(--red)}.x-mark:after{right:0}.y-mark{top:28px;bottom:28px;left:11px;border-left:1px solid var(--red)}.y-mark:before,.y-mark:after{content:"";position:absolute;left:-4px;width:8px;border-top:1px solid var(--red)}.y-mark:after{bottom:0}.verify-row{max-width:420px;margin:auto auto 20px;min-height:44px;display:flex;align-items:center;gap:10px;padding:9px 12px;background:var(--blue-pale);border-left:3px solid var(--line);font:12px var(--mono)}.verify-dot{width:10px;height:10px;border:2px solid var(--muted);border-radius:50%}.verify-row.checking .verify-dot{border-top-color:transparent;animation:spin .7s linear infinite}.verify-row.success{color:var(--green);border-color:var(--green)}.verify-row.success .verify-dot{border-color:var(--green);background:var(--green);box-shadow:inset 0 0 0 2px var(--blue-pale)}.verify-row.failure{color:var(--danger);border-color:var(--danger)}@keyframes spin{to{transform:rotate(360deg)}}.payload-inspector{max-width:420px;margin:auto;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.payload-inspector summary{min-height:48px;color:var(--blue);font-size:13px}.payload-inspector pre{max-height:180px;overflow:auto;margin:0 0 16px;padding:12px;background:var(--ink);color:#eef6f8;white-space:pre-wrap;overflow-wrap:anywhere;font:11px/1.5 var(--mono)}.filename-field{max-width:420px;margin:20px auto}.download-grid{max-width:420px;margin:auto;display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:8px}.button.export{flex-direction:column;gap:0;padding:7px 10px}.button.export small{color:var(--muted);font:9px var(--mono)}.export-note{max-width:420px;margin:14px auto 0}.batch-section{background:var(--ink);color:#fff}.batch-section .eyebrow{color:#93c2da}.close-batch{justify-self:end;min-height:44px;border:1px solid #8ca4af;background:transparent;color:#fff;padding:8px 14px;cursor:pointer}.batch-workspace{display:grid;grid-template-columns:1.5fr 1fr;background:var(--sheet);color:var(--ink)}.batch-input,.batch-output{padding:clamp(24px,4vw,52px)}.batch-input{border-right:1px solid var(--blue)}.batch-input>p{color:var(--muted)}.drop-zone{position:relative;min-height:230px;margin:28px 0 12px;display:grid;place-items:center;border:2px dashed var(--line);background-color:#f2f7f7;background-image:linear-gradient(rgb(23 79 120 / 5%) 1px,transparent 1px),linear-gradient(90deg,rgb(23 79 120 / 5%) 1px,transparent 1px);background-size:16px 16px}.drop-zone.dragging{border-color:var(--red);background-color:#f8ebe6}.drop-zone input{position:absolute;width:1px;height:1px;opacity:0}.drop-zone label{min-width:220px;min-height:120px;display:grid;place-content:center;gap:5px;border:1px solid var(--blue);background:var(--sheet);text-align:center;cursor:pointer}.drop-zone label strong{color:var(--blue);font-size:18px;text-decoration:underline}.drop-zone label span{color:var(--muted)}.drop-zone label small{margin-top:7px;font:10px var(--mono);text-transform:uppercase}.column-guide{margin-top:8px;border-top:1px solid var(--line)}.column-guide summary{min-height:48px}.column-guide code{font-size:12px;overflow-wrap:anywhere}.batch-summary{min-height:100px;margin-bottom:24px;display:flex;align-items:center;gap:20px;border-bottom:1px solid var(--line)}.large-number{color:var(--blue);font:700 48px var(--mono)}.batch-summary div{display:grid}.batch-summary div span{color:var(--muted)}.batch-errors{color:var(--danger);font-size:13px;white-space:pre-line}.full-width{width:100%}.batch-progress{min-height:28px;margin-top:14px;color:var(--blue);font:12px var(--mono)}.trust-section{display:grid;grid-template-columns:.9fr 1.1fr;gap:clamp(48px,8vw,128px);background:var(--paper)}.trust-heading>p:last-child{color:var(--muted);max-width:500px;font-size:18px}.process-list{list-style:none;padding:0;margin:0}.process-list li{display:grid;grid-template-columns:58px 1fr;gap:24px;padding:28px 0;border-top:1px solid var(--line)}.process-list li:last-child{border-bottom:1px solid var(--line)}.process-list>li>span{color:var(--red);font:13px var(--mono)}.process-list h3{margin:0 0 8px;font:750 21px var(--condensed);text-transform:uppercase}.process-list p{margin:0;color:var(--muted)}.site-footer{padding:48px max(20px,calc((100vw - 1296px)/2));display:grid;grid-template-columns:1fr 1fr;gap:28px 48px;align-items:center;background:var(--ink);color:#fff}.footer-mark{display:flex;align-items:center;gap:12px;font:700 14px var(--mono);letter-spacing:.08em}.site-footer p{margin:0;color:#c9d6db}.site-footer nav{justify-self:end}.site-footer a{color:#fff}.site-footer small{grid-column:1 / -1;color:#9bb0b9;font-size:12px}.toast{position:fixed;z-index:50;left:50%;bottom:24px;max-width:calc(100% - 32px);transform:translate(-50%,120px);opacity:0;padding:12px 18px;background:var(--ink);color:#fff;box-shadow:4px 4px 0 var(--red);transition:.24s;font-weight:700}.toast.show{transform:translate(-50%);opacity:1}.legal-page{min-height:100vh}.legal-main{max-width:760px;margin:auto;padding:80px 24px 120px}.legal-main h1{margin:0 0 28px;font:800 clamp(40px,7vw,68px)/1 var(--condensed);text-transform:uppercase}.legal-main h2{margin-top:40px;font:750 24px var(--condensed);text-transform:uppercase}.legal-main p,.legal-main li{color:#394f60}@media(max-width:960px){.site-header{grid-template-columns:1fr auto}.site-header nav{display:none}.hero{grid-template-columns:1fr}.hero-copy{max-width:720px}.hero-plate{width:min(720px,100%);margin:auto}.workspace{grid-template-columns:1fr}.editor-sheet{border-right:0;border-bottom:1px solid var(--blue)}.batch-workspace,.trust-section{grid-template-columns:1fr}.batch-input{border-right:0;border-bottom:1px solid var(--blue)}}@media(max-width:640px){.site-header{padding:10px 20px;min-height:64px}.privacy-flag{font-size:10px}.hero{padding-top:54px;padding-bottom:64px;gap:64px}.hero h1{font-size:clamp(44px,15vw,64px)}.hero-lede{font-size:18px;margin:24px 0}.hero-actions .button{width:100%}.proof-strip li{min-width:0;flex:1;padding-right:8px}.hero-plate{padding:14px;transform:rotate(.5deg)}.plate-stamp{width:88px;height:57px;right:5%}.generator-section,.batch-section,.trust-section{padding-top:56px;padding-bottom:56px}.section-heading{grid-template-columns:1fr;gap:18px;margin-bottom:28px}.type-tabs{display:flex;overflow-x:auto;scroll-snap-type:x mandatory}.type-tabs button{min-width:112px;scroll-snap-align:start;border-right:1px solid var(--line)}.editor-sheet,.output-sheet,.batch-input,.batch-output{padding:24px 18px}.form-heading,.output-heading{padding-right:10px}.step-label,.module-count{display:none}.field-row,.options-grid{grid-template-columns:1fr;gap:0}.preview-stage{padding:22px}.empty-preview{inset:22px}.x-mark{left:22px;right:22px}.y-mark{top:22px;bottom:22px}.download-grid{grid-template-columns:1fr 1fr}.download-grid .primary{grid-column:1 / -1}.site-footer{grid-template-columns:1fr}.site-footer nav{justify-self:start;flex-wrap:wrap;gap:20px}.site-footer small{grid-column:auto}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}
