@import"https://fonts.googleapis.com/css2?family=DM+Mono:wght@400;500&family=Manrope:wght@400;500;600;700;800&family=Ma+Shan+Zheng&display=swap";.toast{pointer-events:none}:root{font-family:Manrope,Microsoft YaHei,sans-serif;color:#151515;background:#f1f1ef}*{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh}button,input,select,textarea{font:inherit}button{cursor:pointer}.app-shell{min-height:100vh;padding-bottom:48px}.topbar{height:78px;display:flex;align-items:center;justify-content:space-between;max-width:1160px;margin:0 auto;padding:0 24px;border-bottom:1px solid #d9d9d5}.wordmark{color:#151515;text-decoration:none;font-size:20px;font-weight:800;letter-spacing:-.08em}.wordmark span{font-family:Ma Shan Zheng,Segoe Print,cursive;font-size:27px;margin-left:3px;font-weight:400}.topbar-note,.canvas-caption,.privacy,.char-count{color:#777773;font-size:12px}.topbar-note,.canvas-caption{font-family:DM Mono,monospace}.topbar-actions,.language-toggle{display:flex;align-items:center}.topbar-actions{gap:22px}.language-toggle{gap:5px;color:#aaa9a5;font-family:DM Mono,monospace;font-size:11px}.language-toggle button{padding:0;border:0;background:transparent;color:#959590;font-size:11px}.language-toggle button.active,.language-toggle button:hover{color:#151515;font-weight:700}.editor{max-width:1080px;margin:55px auto 0;display:grid;grid-template-columns:minmax(350px,1fr) 382px;gap:88px;align-items:start;padding:0 24px}.preview-column{display:grid;justify-items:center}.polaroid{width:min(100%,560px);aspect-ratio:var(--frame-ratio, 3 / 4);background:#fff;padding:14px 14px 0;box-shadow:0 24px 65px #14141421;-webkit-user-select:none;user-select:none;touch-action:none}.photo-window{height:75%;overflow:hidden;position:relative;background:#fff;cursor:grab}.photo-window:active{cursor:grabbing}.photo-window img{width:100%;height:100%;object-fit:contain;pointer-events:none;will-change:transform}.safe-guide{position:absolute;top:7%;right:7%;bottom:7%;left:7%;border:1px dashed #fff9;pointer-events:none;opacity:0;transition:opacity .2s}.photo-window:hover .safe-guide,.photo-window:active .safe-guide,.preview-column:has(.safety-notice) .safe-guide{opacity:1}.drag-hint{opacity:0;position:absolute;right:12px;bottom:10px;color:#fff;background:#111b;padding:6px 8px;font-size:10px;transition:opacity .2s}.photo-window:hover .drag-hint{opacity:1}.signature-area{height:25%;position:relative;overflow:hidden}.brand-watermark{position:absolute;z-index:2;left:6%;bottom:8%;display:flex;align-items:center;gap:8px;color:#050505;line-height:1;pointer-events:none;white-space:nowrap}.brand-vivo,.brand-v80{font-family:Arial,sans-serif;font-weight:700;letter-spacing:-.08em}.brand-vivo{font-size:clamp(13px,2.8vw,23px)}.brand-v80{font-size:clamp(12px,2.5vw,21px)}.brand-divider{color:#202020;font-size:clamp(16px,3vw,24px);font-weight:400}.brand-zeiss{position:relative;display:grid;width:clamp(21px,4.1vw,34px);height:clamp(22px,4.2vw,35px);place-items:start center;overflow:hidden;padding-top:5px;color:#fff;background:#123bb7;font-family:Georgia,serif;font-size:clamp(6px,1.2vw,10px);font-weight:700}.brand-zeiss:after{position:absolute;bottom:-23%;left:-14%;width:128%;height:42%;border-radius:50%;background:#fff;content:""}.signature-guide{top:13%;right:7%;bottom:13%;left:7%;border-color:#15151555}.signature{position:absolute;transform:translate(-50%,-50%);width:88%;line-height:.9;letter-spacing:-.07em;cursor:move;white-space:pre-wrap}.signature span{display:block}.canvas-caption{margin:17px 0 0}.safety-notice{margin:8px 0 0;color:#a13b2f;font-size:11px;font-weight:700}.controls{padding-top:5px}.template-title{margin-bottom:16px}.templates{display:grid;grid-template-columns:repeat(5,1fr);gap:7px;margin-bottom:31px}.template-card{min-height:86px;padding:8px 3px 7px;display:flex;flex-direction:column;align-items:center;justify-content:end;gap:4px;border:1px solid #c8c8c4;background:transparent;color:#5e5e59;font-size:10px}.template-card:hover,.template-card.selected{color:#151515;border-color:#151515;background:#fff}.template-shape{display:block;max-width:42px;max-height:36px;width:34px;border:2px solid currentColor;background:linear-gradient(to bottom,currentColor 0 72%,#fff 72% 100%)}.template-card small{color:#8a8a85;font-size:8px;line-height:1}.section-title{display:flex;justify-content:space-between;align-items:baseline;border-bottom:1px solid #c9c9c5;padding-bottom:12px;font-size:15px;font-weight:800;letter-spacing:-.04em}.step{font-family:DM Mono,monospace;color:#8a8a85;font-size:11px;font-weight:400}.upload-button{display:flex;height:50px;align-items:center;justify-content:center;margin:18px 0 20px;background:#fff;border:1px solid #151515;font-size:14px;font-weight:700}.upload-button:hover{background:#151515;color:#fff}.upload-button input{position:absolute;width:1px;height:1px;opacity:0}.fit-buttons,.utility-actions,.presets{display:grid;gap:6px}.fit-buttons{grid-template-columns:repeat(2,1fr)}.fit-buttons button,.utility-actions button,.presets button{border:1px solid #cacac6;background:transparent;color:#5e5e59;font-size:11px}.fit-buttons button{height:35px}.fit-buttons button.active{color:#fff;background:#151515;border-color:#151515}.utility-actions{grid-template-columns:repeat(2,1fr);margin-top:14px}.utility-actions button{height:33px}.presets{grid-template-columns:repeat(2,1fr);margin-bottom:17px}.presets button{min-height:34px;padding:6px 8px;text-align:left}.range-row{display:flex;justify-content:space-between;margin-bottom:10px;font-size:12px;font-weight:700}.range-row output{font-family:DM Mono,monospace;font-weight:400;color:#757570}input[type=range]{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:100%;height:3px;background:#c8c8c4;accent-color:#151515;margin:0}input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:15px;height:15px;border-radius:50%;background:#151515}.signature-title{margin-top:42px}.signature-utility{margin-top:14px}textarea,select,.select-button{border:1px solid #c8c8c4;background:#fff;color:#151515;width:100%;border-radius:0}.controls textarea{height:91px;resize:none;padding:13px;margin-top:18px;font-size:15px;line-height:1.35;outline-color:#151515}.char-count{text-align:right;margin:6px 0 16px}.field-label{display:block;color:#5e5e59;font-size:11px;font-weight:700;margin:15px 0 8px}select,.select-button{height:42px;padding:0 12px;font-size:13px}.two-up{display:grid;grid-template-columns:1.35fr .8fr;gap:24px;align-items:end}.two-up .range-row{margin-top:15px}.select-button{text-align:left}.swatches{display:flex;gap:9px}.swatch{height:23px;width:23px;padding:0;border-radius:50%;border:1px solid #bababa}.swatch.selected{outline:2px solid #151515;outline-offset:3px}.align-buttons{display:grid;grid-template-columns:repeat(3,1fr);gap:5px}.align-buttons button{height:35px;border:1px solid #cacac6;background:transparent;color:#666661;font-size:11px}.align-buttons button.active{color:#fff;background:#151515;border-color:#151515}.download{display:flex;justify-content:space-between;align-items:center;width:100%;height:55px;border:0;color:#fff;background:#151515;padding:0 18px;margin-top:30px;font-size:14px;font-weight:800}.download:hover{background:#3a3a37}.download span{font-size:20px}.privacy{text-align:center;margin:13px 0 0}.toast{position:fixed;z-index:5;left:50%;bottom:26px;transform:translate(-50%);color:#fff;background:#151515;padding:11px 16px;font-size:12px;box-shadow:0 10px 25px #0003}@media(max-width:760px){.app-shell{padding-bottom:20px}.topbar{height:62px;padding:0 18px}.topbar-note{display:none}.topbar-actions{gap:0}.editor{display:flex;flex-direction:column;gap:37px;margin-top:26px;padding:0 17px}.preview-column,.controls{width:100%}.polaroid{width:100%;max-width:500px;padding:9px 9px 0}.canvas-caption{margin-top:11px}.signature-title{margin-top:35px}.brand-watermark{gap:5px}.templates{gap:5px;margin-bottom:28px}.template-card{min-height:76px;font-size:9px}.template-shape{max-width:32px;max-height:30px;width:26px}.drag-hint{opacity:.8}.download{height:57px;margin-top:26px}}
