@import"https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@400;500;600;700;800&display=swap";:root{font-family:DM Sans,sans-serif;color:#292728;background:#f4f2f0;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-optical-sizing:auto;font-weight:400;--wine: #75262f;--wine-dark: #5f1d25;--ink: #292728;--muted: #787375;--line: #e6e2e0;--canvas: #f4f2f0;--white: #fff}*{box-sizing:border-box}body{min-width:320px;min-height:100vh;margin:0;background:radial-gradient(ellipse at 78% 4%,rgba(117,38,47,.035),transparent 32rem),var(--canvas)}button,input{font:inherit}button,.file-button{-webkit-tap-highlight-color:transparent}button:focus-visible,a:focus-visible,input:focus-visible,.image-dropzone:focus-visible{outline:3px solid rgba(117,38,47,.3);outline-offset:3px}.page-shell{width:min(1120px,calc(100% - 64px));margin:0 auto}.site-header{height:89px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid rgba(54,49,50,.09)}.brand{display:inline-flex;align-items:center;gap:11px;color:var(--ink);text-decoration:none}.brand-mark{width:34px;height:34px;display:grid;place-items:center;color:var(--wine)}.brand-mark svg{width:100%;height:100%}.brand-name{font-family:Manrope,sans-serif;font-size:13px;font-weight:800;letter-spacing:.055em}.brand-name span{color:var(--wine)}.header-note{display:flex;align-items:center;gap:9px;color:#767173;font-size:12px;letter-spacing:.015em}.status-dot{width:7px;height:7px;border-radius:50%;background:#7e9984;box-shadow:0 0 0 3px #7e99841f}main{padding-top:69px}.intro{margin-bottom:43px}.eyebrow,.step-label,.result-label{margin:0;font-size:10px;font-weight:700;letter-spacing:.14em}.eyebrow{margin-bottom:14px;color:var(--wine)}h1,h2,h3,h4,p{margin-top:0}h1,h2,h3,h4{font-family:Manrope,sans-serif}h1{margin-bottom:13px;font-size:clamp(42px,5vw,58px);line-height:1.08;letter-spacing:-.055em;font-weight:700}h1 span{color:var(--wine)}.intro-copy{margin-bottom:0;color:var(--muted);font-size:15px}.workspace{overflow:hidden;border:1px solid rgba(47,42,43,.09);border-radius:14px;background:var(--white);box-shadow:0 12px 32px #362c2d0b,0 2px 6px #362c2d06}.tool-panel{min-height:405px;display:grid;grid-template-columns:1fr .94fr}.input-column{padding:40px 42px 31px 44px}.step-label{display:flex;align-items:center;gap:9px;color:#817b7c;font-size:9px}.step-label span{color:var(--wine);font-family:Manrope,sans-serif;font-size:11px;font-weight:800;letter-spacing:.04em}.input-column h3{margin:22px 0 8px;font-size:20px;font-weight:700;letter-spacing:-.045em}.field-hint{max-width:360px;margin-bottom:25px;color:var(--muted);font-size:12px;line-height:1.6}.image-dropzone{min-height:104px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;margin-top:2px;border:1px dashed #d6cdcb;border-radius:7px;background:#fbfaf9;cursor:pointer;transition:border-color .14s ease,background .14s ease}.image-dropzone:hover,.image-dropzone.is-dragging{border-color:var(--wine);background:#faf5f4}.upload-icon{width:25px;height:25px;margin-bottom:2px;color:var(--wine)}.upload-icon svg{width:100%;height:100%;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}.dropzone-title{color:#514b4c;font-size:11px;font-weight:600}.dropzone-hint{color:#969091;font-size:9px}.image-status{min-height:17px;margin:7px 0 4px;color:#918b8c;font-size:10px;line-height:1.5}.image-status.is-error{color:#a93542}.image-status.is-success{color:#52735b}.upload-warning{margin-top:15px}.upload-warning svg{stroke:#9a787b}.button{min-height:42px;display:inline-flex;align-items:center;justify-content:center;gap:9px;border:1px solid transparent;border-radius:6px;cursor:pointer;font-size:12px;font-weight:600;transition:background .14s ease,border-color .14s ease,transform .14s ease,opacity .14s ease}.button:not(:disabled):active{transform:translateY(1px)}.button:disabled{cursor:not-allowed}.button-primary{padding:0 16px;background:var(--wine);color:var(--white)}.button-primary:hover:not(:disabled){background:var(--wine-dark)}.button-primary svg,.button-secondary svg,.button-download svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}.generate-button{width:100%;justify-content:space-between;margin-top:4px;padding:0 15px}.generate-button svg{width:16px;height:16px}.privacy-note{display:flex;align-items:center;gap:8px;margin-top:20px;color:#918b8c;font-size:10px}.privacy-note svg{width:15px;height:15px;flex:0 0 auto;fill:none;stroke:#829587;stroke-width:1.4;stroke-linecap:round;stroke-linejoin:round}.preview-column{display:flex;flex-direction:column;align-items:center;padding:39px 32px 30px;border-left:1px solid var(--line);background:#fbfaf9}.preview-topline{width:min(100%,300px);display:flex;align-items:center;justify-content:space-between}.preview-status{color:#9a9394;font-size:8px;font-weight:700;letter-spacing:.1em}.qr-stage{width:224px;height:224px;display:grid;place-items:center;margin-top:18px;border:1px solid #eee9e7;border-radius:9px;background:var(--white);box-shadow:0 4px 16px #30272809}.qr-stage.is-pdf-preview{width:min(100%,280px);height:340px;padding:8px}.certificate-preview-link{width:100%;height:100%;display:grid;place-items:center}.certificate-preview-link:focus-visible{border-radius:4px}.qr-loading{display:grid;place-items:center}.loading-spinner{width:34px;height:34px;border:3px solid #eadfe0;border-top-color:var(--wine);border-radius:50%;animation:spin .75s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.qr-canvas{width:190px;height:190px;max-width:100%;max-height:100%;image-rendering:auto}.embedded-image-preview{max-width:min(190px,100%);max-height:190px;object-fit:contain;cursor:zoom-in}.qr-stage.is-pdf-preview .embedded-image-preview{max-width:100%;max-height:100%;box-shadow:0 1px 5px #3027281f}.generated-url{display:block;width:min(100%,290px);overflow:hidden;margin:10px 0 0;color:#827b7c;font-size:10px;text-align:center;text-overflow:ellipsis;white-space:nowrap;text-decoration:none}.generated-url:hover{color:var(--wine)}.button-download{min-height:38px;margin-top:auto;padding:0 14px;border-color:#e6e0de;background:var(--white);color:#575152;font-size:11px}.button-download:hover:not(:disabled){border-color:#c8b8b9;background:#fffdfc;color:var(--wine)}.button-download:disabled{opacity:.55}.button-download svg{width:15px;height:15px;color:var(--wine)}.download-detail{margin-left:-6px;color:#999293;font-size:10px;font-weight:400}.page-footer{display:flex;justify-content:space-between;padding:22px 2px 34px;color:#938d8e;font-size:10px}.template-warning{width:min(440px,calc(100% - 32px));padding:0;border:0;border-radius:12px;color:var(--ink);background:transparent;box-shadow:0 22px 70px #1d16173d}.template-warning::backdrop{background:#221b1c7a;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}.template-warning-card{display:flex;flex-direction:column;align-items:flex-start;padding:30px;border:1px solid rgba(47,42,43,.09);border-radius:12px;background:var(--white)}.template-warning-icon{width:34px;height:34px;display:grid;place-items:center;margin-bottom:17px;border-radius:50%;background:#fbf1e5;color:#a35a1b;font-family:Manrope,sans-serif;font-size:18px;font-weight:800}.template-warning-card h2{margin-bottom:10px;font-size:19px;letter-spacing:-.04em}.template-warning-card p{margin-bottom:22px;color:var(--muted);font-size:13px;line-height:1.65}.template-warning-card .button{align-self:flex-end;min-width:105px}.upload-progress{width:min(420px,calc(100% - 32px));padding:0;border:0;border-radius:12px;color:var(--ink);background:transparent;box-shadow:0 22px 70px #1d16173d}.upload-progress::backdrop{background:#221b1c8f;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}.upload-progress-card{display:flex;flex-direction:column;align-items:center;padding:32px;border:1px solid rgba(47,42,43,.09);border-radius:12px;background:var(--white);text-align:center}.upload-progress-chart{--progress: 0%;width:112px;height:112px;display:grid;place-items:center;margin-bottom:23px;border-radius:50%;background:conic-gradient(var(--wine) var(--progress),#eee9e7 var(--progress));transition:background .18s ease}.upload-progress-chart span{width:78px;height:78px;display:grid;place-items:center;border-radius:50%;background:var(--white);color:var(--wine);font-family:Manrope,sans-serif;font-size:20px;font-weight:800;font-variant-numeric:tabular-nums}.upload-progress-step{margin-bottom:8px;color:var(--wine);font-size:9px;font-weight:700;letter-spacing:.14em}.upload-progress-card h2{margin-bottom:8px;font-size:19px;letter-spacing:-.04em}.upload-progress-card>p:last-of-type{max-width:300px;min-height:40px;margin-bottom:0;color:var(--muted);font-size:12px;line-height:1.6}.upload-progress-card .button{min-width:100px;margin-top:20px}@media(max-width:520px){.template-warning-card{padding:24px}.upload-progress-card{padding:28px 24px}}.footer-heart{padding-left:2px;color:var(--wine);font-size:12px}[hidden]{display:none!important}@media(max-width:760px){.page-shell{width:min(100% - 36px,580px)}.site-header{height:70px}main{padding-top:48px}.intro{margin-bottom:30px}h1{font-size:clamp(42px,10vw,54px)}.tool-panel{grid-template-columns:1fr}.input-column{padding:31px 26px 27px}.preview-column{min-height:370px;padding:29px 24px 26px;border-top:1px solid var(--line);border-left:0}.qr-stage{width:214px;height:214px}.button-download{margin-top:15px}}@media(max-width:440px){.page-shell{width:calc(100% - 28px)}.header-note{display:none}.input-column{padding-right:19px;padding-left:19px}.page-footer{font-size:9px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;transition-duration:.01ms!important}}
