@font-face{font-family:DM;src:url(/assets/dm-sans.woff2) format("woff2");font-weight:100 900;font-display:swap}:root{--bg:#f6f7f3;--surface:#fff;--soft:#edf1e9;--ink:#202b26;--muted:#607067;--line:#d7dfd6;--brand:#245b46;--brand-hover:#164833;--brand-text:#fff;--accent:#d9eba3;--error:#a22d23;--radius:14px;color-scheme:light;font-family:DM,Segoe UI,sans-serif;color:var(--ink);background:var(--bg);font-size:16px;font-synthesis:none}html.dark{--bg:#141c18;--surface:#1d2922;--soft:#25372c;--ink:#edf2e9;--muted:#bac8bd;--line:#405448;--brand:#c4e49b;--brand-hover:#d8f2b7;--brand-text:#193025;--accent:#36503a;--error:#ffb1a7;color-scheme:dark}*{box-sizing:border-box}body{margin:0;line-height:1.6}a{color:var(--brand);text-underline-offset:4px}a:hover{text-decoration-thickness:2px}button,input,select,textarea{font:inherit}button,a,input,select,textarea,summary{-webkit-tap-highlight-color:transparent}button,a,summary{touch-action:manipulation}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.5}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible{outline:3px solid var(--brand);outline-offset:4px}button,input,select,textarea{border-radius:8px}input,select,textarea{background:var(--surface);color:var(--ink);border:1px solid #8c9d90;width:100%;min-height:48px;padding:10px 13px}textarea{resize:vertical;min-height:120px}input::placeholder,textarea::placeholder{color:var(--muted);opacity:1}input[type=checkbox]{width:20px;min-height:20px;margin:0;accent-color:var(--brand)}label{font-weight:600;display:block;margin:0 0 7px}select+label,input+label{margin-top:16px}h1,h2,h3,p{margin:0}h1{font-size:clamp(1.9rem,3.2vw,2.8rem);line-height:1.16;letter-spacing:-.055em;font-weight:650}h2{font-size:1.28rem;line-height:1.3;letter-spacing:-.025em;font-weight:650}h3{font-size:1.06rem;line-height:1.4}small{font-size:.84rem}img,svg{max-width:100%}.icon{width:22px;height:22px;flex-shrink:0;vertical-align:middle}.skip{position:fixed;top:-100px;left:12px;background:var(--surface);z-index:10;padding:12px}.skip:focus{top:12px}.shell{width:min(1140px,calc(100% - 48px));margin:auto}.site-header{border-bottom:1px solid var(--line);background:var(--surface)}.header-inner{display:flex;align-items:center;justify-content:space-between;gap:20px;min-height:76px}.brand{display:inline-flex;gap:10px;align-items:center;text-decoration:none;color:var(--ink);font-size:1.6rem;letter-spacing:-.06em;font-weight:750;white-space:nowrap}.brand-mark{display:inline-flex;background:var(--brand);color:var(--brand-text);padding:8px;border-radius:9px}.brand-mark svg{width:23px;height:23px}.brand-dot{color:var(--muted);font-weight:450}.main-nav{display:flex;gap:6px}.main-nav a{color:var(--muted);text-decoration:none;padding:9px 12px;font-size:.9rem;font-weight:600;border-radius:7px}.main-nav a[aria-current=page]{background:var(--soft);color:var(--brand)}.header-controls{display:flex;gap:5px}.control{min-width:38px;min-height:38px;border:1px solid var(--line);background:var(--surface);color:var(--ink);font-size:.86rem;padding:6px}.control:hover{background:var(--soft)}.intro{padding:25px 0 26px}.eyebrow{font-size:.82rem;font-weight:600;color:var(--brand);margin-bottom:8px}.lead{color:var(--muted);margin-top:10px;max-width:76ch;font-size:1rem}.workspace{display:grid;grid-template-columns:1.12fr 1fr;border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;background:var(--surface)}.editor{padding:28px 30px}.section-label{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:18px}.section-label h2{font-size:1.08rem}.section-label>span{font-size:.78rem;color:var(--muted)}.type-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:7px;margin-bottom:26px}.type-button{display:flex;align-items:center;justify-content:center;flex-direction:column;gap:7px;border:1px solid var(--line);background:var(--surface);color:var(--muted);min-height:76px;font-size:.76rem;padding:10px 2px}.type-button:hover{background:var(--soft)}.type-button[aria-pressed=true]{background:var(--soft);border-color:var(--brand);color:var(--brand);box-shadow:inset 0 0 0 1px var(--brand)}.hint{font-size:.82rem;color:var(--muted);line-height:1.5;margin:8px 0 16px}.options{border-top:1px solid var(--line);margin-top:20px}.options summary{padding:13px 2px;cursor:pointer;font-size:.85rem;font-weight:600}.options-inner{padding:0 0 6px}.button{min-height:46px;display:inline-flex;align-items:center;justify-content:center;gap:9px;border:1px solid var(--line);background:var(--surface);color:var(--ink);font-weight:600;font-size:.9rem;padding:10px 16px;text-decoration:none;line-height:1.3;border-radius:8px}.button:hover{background:var(--soft)}.primary{background:var(--brand);color:var(--brand-text);border-color:var(--brand)}.primary:hover{background:var(--brand-hover)}.generate{width:100%;justify-content:space-between;margin-top:5px}.status{min-height:48px;padding-top:10px;font-size:.83rem;color:var(--muted);line-height:1.5;overflow-wrap:anywhere}.status.error{color:var(--error)}.privacy-note{display:flex;align-items:center;gap:9px;color:var(--muted);font-size:.77rem;border-top:1px solid var(--line);padding-top:15px;margin-top:4px}.privacy-note .icon{width:17px;height:17px}.preview-panel{background:var(--soft);padding:24px 30px;display:flex;flex-direction:column;align-items:stretch;min-width:0}.preview-head{display:flex;justify-content:space-between;gap:8px;align-items:center;font-size:.78rem;font-weight:600;color:var(--muted);margin-bottom:15px}.preview-head>span:last-child{font-size:.72rem;background:var(--surface);border:1px solid var(--line);border-radius:5px;padding:3px 7px}.code-stage{min-height:226px;display:flex;justify-content:center;align-items:center;flex:1;overflow:hidden}.code-stage>img,.code-stage>svg{width:226px;height:226px;display:block;background:#fff;border-radius:2px}.empty-code{width:226px;min-height:226px;border:1px dashed #8c9d90;border-radius:10px;display:flex;align-items:center;justify-content:center;flex-direction:column;text-align:center;gap:12px;padding:22px}.empty-code .icon{width:76px;height:76px;stroke-width:.8;color:var(--muted)}.empty-code strong{font-size:.85rem}.empty-code span{font-size:.76rem;color:var(--muted)}.code-caption{font-size:.79rem;color:var(--muted);text-align:center;margin:14px 0;overflow-wrap:anywhere;max-height:72px;overflow:auto}.download-row{display:flex;gap:8px;justify-content:center}.download-row .primary{flex:1}.download-row .button{padding:10px 13px}.icon-button{width:46px;flex-shrink:0}.preview-foot{font-size:.75rem;text-align:center;margin-top:12px;color:var(--muted)}.explain-row{display:grid;grid-template-columns:1.25fr 1fr 1fr;gap:40px;margin:40px 0}.explain-row p{font-size:.88rem;color:var(--muted);margin-top:10px}.other-tools{border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:28px 0;display:grid;grid-template-columns:1.2fr 1fr 1fr;gap:24px;align-items:center}.other-tools h2{font-size:1.1rem}.other-tools p{font-size:.85rem;color:var(--muted);margin-top:7px}.other-tools>a{display:flex;gap:14px;align-items:center;text-decoration:none;color:var(--ink);padding:15px 0}.other-tools>a>.icon:first-child{width:32px;height:32px;color:var(--brand)}.other-tools strong,.other-tools small{display:block}.other-tools strong{font-size:.93rem}.other-tools small{color:var(--muted);margin-top:4px;line-height:1.4}.other-tools>a>.icon:last-child{margin-left:auto;width:18px}.faq{margin:40px 0;max-width:820px}.faq h2{margin-bottom:20px}.faq details{border-top:1px solid var(--line);padding:0 4px}.faq summary{cursor:pointer;padding:17px 0;font-size:.95rem;font-weight:600}.faq details p{padding:0 0 20px;color:var(--muted);font-size:.92rem}.site-footer{border-top:1px solid var(--line);margin-top:36px;padding:28px 0 30px}.footer-inner{display:flex;justify-content:space-between;gap:22px;flex-wrap:wrap;align-items:center}.site-footer .brand{font-size:1.25rem}.site-footer .brand-mark{padding:5px}.site-footer .brand-mark svg{width:21px;height:21px}.footer-nav{display:flex;gap:20px;align-items:center;flex-wrap:wrap}.footer-nav a{color:var(--muted);font-size:.85rem;padding:8px 0}.footer-note{font-size:.75rem;color:var(--muted);margin-top:15px}.breadcrumbs{display:flex;flex-wrap:wrap;gap:8px;font-size:.8rem;padding-top:18px;color:var(--muted)}.breadcrumbs+.intro{padding-top:12px}.prose{max-width:780px;line-height:1.8;padding-bottom:10px;overflow-wrap:anywhere}.prose h2{margin:27px 0 12px}.prose h2:first-child{margin-top:0}.prose h3{margin:22px 0 8px}.prose p{margin:0 0 18px}.prose ul,.prose ol{padding-left:24px}.prose li{margin:12px 0}.prose code{font-size:.9em;background:var(--soft);padding:2px 4px}.updated{color:var(--muted);font-size:.85rem}.author{display:flex;gap:15px;background:var(--soft);padding:20px;border-radius:10px;align-items:center}.author p{margin:0;font-size:.9rem}.avatar{background:var(--brand);color:var(--brand-text);width:48px;height:48px;border-radius:50%;display:grid;place-items:center;flex-shrink:0;font-weight:650}.upload-box{display:flex;flex-direction:column;align-items:center;text-align:center;gap:13px;padding:24px 15px;border:1px dashed #8c9d90;border-radius:10px;margin:20px 0 10px;background:var(--bg);cursor:pointer}.upload-box>.icon{width:40px;height:40px;color:var(--brand)}.upload-box>span{font-weight:400;font-size:.82rem;color:var(--muted)}.upload-box input{max-width:100%;font-size:.82rem;padding:8px;min-width:0}.reader-empty{min-height:280px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:20px;color:var(--muted);font-size:.9rem}.reader-empty svg{width:60px;height:60px}.reader-image{margin-top:14px}.reader-image img{display:block;max-height:160px;max-width:100%;margin:auto;object-fit:contain}.reader-actions{display:flex;gap:10px;flex-wrap:wrap;margin:14px 0}.reader-actions>*{flex:1}#decoded{font-family:ui-monospace,monospace;font-size:.9rem}.notice{font-size:.85rem;line-height:1.6;border-left:3px solid var(--brand);padding:12px 14px;background:var(--soft);margin:15px 0}.barcode-stage>svg{width:100%;height:auto;max-height:220px;border-radius:0}.barcode-stage>img{object-fit:contain;width:100%;height:auto}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:14px}.check-label{display:flex;align-items:center;gap:9px;font-weight:400;font-size:.85rem;margin:12px 0 16px}.form-row label{margin-top:10px}.noscript{padding:18px;border:1px solid var(--error);margin:20px 0}#print-sheet{display:none}[hidden]{display:none!important}.error-page{padding:32px 0 80px}.error-page p{margin:20px 0}@media(max-width:950px){.header-inner{gap:12px}.main-nav a{padding:9px 8px}.brand{font-size:1.4rem}.shell{width:calc(100% - 36px)}.editor,.preview-panel{padding:24px}.section-label>span{display:none}.type-grid{gap:5px}.type-button{font-size:.72rem}.explain-row{gap:24px}.other-tools{grid-template-columns:1fr 1fr}.other-tools>div{grid-column:1/-1}.download-row{flex-wrap:wrap}}@media(max-width:720px){.header-inner{flex-wrap:wrap;gap:8px;padding-top:12px;padding-bottom:7px;min-height:unset}.main-nav{order:3;width:100%;justify-content:space-between;border-top:1px solid var(--line);padding-top:5px;gap:2px}.main-nav a{padding:8px 6px;font-size:.79rem;text-align:center;flex:1}.brand{font-size:1.4rem}.brand-mark{padding:6px}.control{min-width:34px;min-height:34px}.workspace{grid-template-columns:1fr}.preview-panel{border-top:1px solid var(--line);padding:20px}.editor{padding:20px}.intro{padding:20px 0}.lead{font-size:.92rem}.eyebrow{font-size:.78rem}.type-grid{gap:6px;margin-bottom:20px}.type-button{font-size:.73rem;min-height:70px}.code-stage{min-height:210px}.code-stage>img,.code-stage>.empty-code{width:210px;height:210px;min-height:210px}.download-row{flex-wrap:nowrap}.explain-row{grid-template-columns:1fr;gap:22px;margin:28px 0}.other-tools{grid-template-columns:1fr;gap:7px;padding:24px 0}.other-tools>div{margin-bottom:10px}.other-tools>a{padding:12px 0}.faq{margin:30px 0}.footer-inner{align-items:flex-start;flex-direction:column}.footer-nav{gap:15px}.footer-note{line-height:1.6}.prose{font-size:.95rem}.reader-empty{min-height:180px}.form-row{grid-template-columns:1fr}.reader-actions{flex-direction:column}.privacy-note{font-size:.76rem}}@media(max-width:370px){.shell{width:calc(100% - 24px)}.editor,.preview-panel{padding:16px}.type-grid{gap:4px}.type-button{font-size:.69rem}.type-button svg{width:20px;height:20px}.download-row{gap:5px}.download-row .button{padding:10px 9px;font-size:.83rem}.header-controls{gap:4px}.brand{font-size:1.3rem}.control{min-width:32px;padding:4px}.main-nav a{font-size:.74rem;padding:8px 4px}.section-label h2{font-size:1rem}}@media(min-width:721px){.header-inner{min-height:66px}.intro{padding:22px 0}.intro:has(+.workspace[aria-label="Generador QR"])>.eyebrow{display:none}h1{font-size:clamp(1.9rem,3.2vw,2.5rem)}.editor{padding:23px 28px}.type-grid{margin-bottom:18px}.type-button{min-height:64px}.section-label{margin-bottom:14px}.hint{margin-bottom:12px}.options{margin-top:14px}.preview-panel{padding:20px 28px}}@media(max-width:720px){.type-button{font-size:.75rem}.preview-head>span:last-child{font-size:.75rem}.intro:has(+.workspace[aria-label="Generador QR"])>.eyebrow{display:none}}.type-button,.preview-head>span:last-child{font-size:max(.75rem,12px)}.main-nav a{font-size:max(.79rem,12px)}.suggestion{border:1px solid var(--line);padding:22px;border-radius:12px;background:var(--surface);margin-top:20px}.suggestion input,.suggestion textarea{margin-bottom:16px}.suggestion .trap{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}.suggestion #captcha{max-width:100%;margin:12px 0}.suggestion #captcha>div{max-width:100%}.suggestion .status{min-height:58px}.suggestion summary{cursor:pointer;font-weight:600}.suggestion form{padding-top:20px}@media print{@page{size:A4 portrait;margin:15mm}html,html.dark,body{background:#fff!important;color:#111!important}body>*:not(#print-sheet){display:none!important}#print-sheet{display:block!important;color:#111;background:#fff;width:100%;font-family:DM,sans-serif}#print-sheet .print-brand{font-size:18pt;font-weight:650;border-bottom:1px solid #bbb;padding-bottom:8mm}#print-title{font-size:22pt;margin:10mm 0 7mm;letter-spacing:0}#print-art{display:flex;justify-content:center;margin:12mm auto}#print-art img,#print-art svg{max-width:150mm;max-height:150mm;object-fit:contain}#print-art.qr-print img{width:65mm;height:65mm}#print-sheet p{font-size:10pt;margin:6mm 0;overflow-wrap:anywhere}#print-sheet .print-foot{border-top:1px solid #bbb;padding-top:5mm;color:#444}#print-sheet .print-caption{font-size:11pt}}
