@font-face{font-family:DM Sans;font-style:normal;font-weight:100 1000;font-display:swap;src:url(/_next/static/media/7ab938503e4547a1-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:DM Sans;font-style:normal;font-weight:100 1000;font-display:swap;src:url(/_next/static/media/13971731025ec697-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:DM Sans Fallback;src:local("Arial");ascent-override:94.90%;descent-override:29.66%;line-gap-override:0.00%;size-adjust:104.53%}.__className_0d7163{font-family:DM Sans,DM Sans Fallback;font-style:normal}.__variable_0d7163{--font-sans:"DM Sans","DM Sans Fallback"}@font-face{font-family:"Instrument Serif";font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/35f3de0ebb1cfc70-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:"Instrument Serif";font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/e6099e249fd938cc-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:"Instrument Serif Fallback";src:local("Times New Roman");ascent-override:117.94%;descent-override:36.93%;line-gap-override:0.00%;size-adjust:83.94%}.__className_315a98{font-family:"Instrument Serif","Instrument Serif Fallback";font-weight:400;font-style:normal}.__variable_315a98{--font-display:"Instrument Serif","Instrument Serif Fallback"}:root{--ink:#1a1f24;--ink-soft:#4a5560;--muted:#7a8691;--line:#d8dee4;--paper:#f7f5f1;--surface:#ffffff;--accent:#0b6e4f;--accent-deep:#085540;--accent-soft:#e4f2ec;--warn:#9a3412;--ok:#0b6e4f;--shadow:0 18px 40px rgba(26,31,36,0.08);--radius:14px}*,:after,:before{box-sizing:border-box}body{margin:0;min-height:100vh;font-family:var(--font-sans),system-ui,sans-serif;color:var(--ink);background:var(--paper);line-height:1.5}.bg-mesh{position:fixed;inset:0;z-index:-1;background:radial-gradient(ellipse 80% 50% at 10% -10%,rgba(11,110,79,.14),transparent 55%),radial-gradient(ellipse 60% 40% at 100% 0,rgba(180,140,80,.12),transparent 50%),linear-gradient(180deg,#eef2ef 0,var(--paper) 40%,#ebe6de 100%)}.site-header{max-width:960px;margin:0 auto;padding:2.4rem 1.5rem .75rem;animation:rise .7s ease both}.brand{margin:0;font-family:var(--font-display),Georgia,serif;font-size:clamp(2.3rem,5vw,3.2rem);font-weight:400;letter-spacing:-.02em;line-height:1.05}.subtitle{margin:.5rem 0 0;color:var(--ink-soft);font-size:1rem}.layout{max-width:960px;margin:0 auto;padding:1rem 1.5rem 1.5rem;display:flex;flex-direction:column;gap:1.15rem}.panel{background:var(--surface);border:1px solid rgba(26,31,36,.08);border-radius:var(--radius);padding:1.3rem 1.35rem 1.45rem;box-shadow:var(--shadow);animation:rise .75s ease both}.panel h2{margin:0;font-size:1.12rem;font-weight:600}.hint{margin:.35rem 0 1rem;color:var(--ink-soft);font-size:.9rem}.dropzone{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.35rem;min-height:120px;padding:1.25rem;border:1.5px dashed #b7c4bc;border-radius:12px;background:linear-gradient(160deg,#f4f8f6,#faf9f6);cursor:pointer;text-align:center;transition:border-color .2s,background .2s,transform .2s}.dropzone.is-dragover,.dropzone:hover{border-color:var(--accent);background:var(--accent-soft);transform:translateY(-1px)}.dropzone-title{font-weight:600;font-size:.95rem}.dropzone-meta{color:var(--muted);font-size:.8rem}.photo-pair-toolbar{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.75rem;margin-bottom:1rem}.photo-pair-note{margin:0;flex:1 1 220px;color:var(--ink-soft);font-size:.88rem}.photo-pair-crops{display:grid;grid-gap:1.25rem;gap:1.25rem;grid-template-columns:1fr}@media (min-width:760px){.photo-pair-crops{grid-template-columns:1fr 1fr}}.photo-pair-crop{padding:.85rem;border:1px solid var(--line);border-radius:12px;background:#fafbfa}.photo-pair-crop.single-crop{max-width:480px}.crop-title{margin:0 0 .75rem;font-size:.9rem;font-weight:600}.crop-help{margin:0 0 .75rem;color:var(--muted);font-size:.8rem}.mode-toggle{display:flex;flex-wrap:wrap;gap:.4rem;margin-bottom:.75rem}.mode-btn{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:1px solid var(--line);background:#fff;color:var(--ink-soft);border-radius:8px;font-family:inherit;font-size:.8rem;font-weight:600;padding:.45rem .7rem;cursor:pointer;transition:background .15s,border-color .15s,color .15s}.mode-btn:hover{border-color:#9bb5a8;color:var(--ink)}.mode-btn.is-active{background:var(--accent-soft);border-color:var(--accent);color:var(--accent-deep)}.crop-stage{margin-top:.25rem}.crop-stage canvas{display:block;width:100%;max-width:420px;margin:0 auto;border-radius:10px;background:#111;cursor:-webkit-grab;cursor:grab;touch-action:none;-webkit-user-select:none;-moz-user-select:none;user-select:none}.crop-stage canvas:active{cursor:-webkit-grabbing;cursor:grabbing}.crop-controls{display:flex;flex-wrap:wrap;align-items:center;gap:.7rem;margin-top:.85rem}.slider-label{flex:1 1 160px;display:flex;flex-direction:column;gap:.3rem;font-size:.75rem;font-weight:600;color:var(--ink-soft);text-transform:uppercase;letter-spacing:.04em}.slider-label input{width:100%;accent-color:var(--accent)}.field-error{margin:.6rem 0 0;color:var(--warn);font-size:.85rem}.outputs{display:grid;grid-gap:1rem;gap:1rem;margin-top:1.15rem}.outputs.twin{grid-template-columns:1fr}@media (min-width:640px){.outputs.twin{grid-template-columns:1fr 1fr}}.outputs.single{max-width:320px}.output-card{display:flex;flex-direction:column;gap:.7rem;padding:1rem;border:1px solid var(--line);border-radius:12px;background:linear-gradient(180deg,#fcfcfb,#f6f7f5)}.output-head h3{margin:0;font-size:.95rem;font-weight:600}.spec{margin:.15rem 0 0;font-size:.76rem;color:var(--muted)}.preview-frame{position:relative;display:flex;align-items:center;justify-content:center;margin:0 auto;background:#fff;border:1px solid #c5cdd4;overflow:hidden}.preview-passport{width:105px;height:135px}.preview-postcard{width:112px;height:168px}.preview-signature{width:180px;height:75px}.preview-thumb{width:100px;height:150px}.preview-empty{font-size:.65rem;font-weight:600;letter-spacing:.05em;color:#9aa5af;text-align:center;padding:.4rem}.preview-frame img{width:100%;height:100%;object-fit:contain;display:block;background:#fff}.preview-frame.has-image .preview-empty{display:none}.output-meta{font-size:.78rem;color:var(--ink-soft);min-height:1.15em;text-align:center}.output-meta.ok{color:var(--ok)}.output-meta.warn{color:var(--warn)}.btn{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:none;border-radius:8px;font-family:inherit;font-size:.86rem;font-weight:600;padding:.68rem .95rem;cursor:pointer;transition:background .15s,transform .15s,opacity .15s}.btn:disabled{opacity:.45;cursor:not-allowed}.btn-primary{background:var(--accent);color:#fff;width:100%}.btn-primary:not(:disabled):hover{background:var(--accent-deep);transform:translateY(-1px)}.btn-ghost{background:transparent;color:var(--ink-soft);border:1px solid var(--line);padding:.5rem .8rem}.btn-ghost:hover{background:#f0f2f1;color:var(--ink)}.global-status{margin:0;padding:.75rem 1rem;border-radius:8px;background:var(--accent-soft);color:var(--accent-deep);font-size:.86rem}.seo-intro{margin:0;padding:0 .15rem;color:var(--ink-soft);font-size:.95rem;max-width:42rem}.seo-intro p{margin:0;line-height:1.55}.seo-intro strong{color:var(--ink);font-weight:600}.site-footer{max-width:960px;margin:0 auto;padding:0 1.5rem 2.5rem;color:var(--muted);font-size:.82rem}.site-footer p{margin:0}.footer-meta{margin-top:.4rem!important}.footer-meta a{color:var(--accent-deep);text-decoration:underline;text-underline-offset:2px}.footer-meta a:hover{color:var(--accent)}@keyframes rise{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}