*,:before,:after{box-sizing:border-box;margin:0;padding:0}:root{--bg:#d1085e;--surface:#b5064f;--rim:#fff3;--muted:#ffffff8c;--primary:#d1085e;--yellow:#ffe500;--orange:#ff7a00;--black:#15000c;--text:#fff;--white:#fff;--font-display:"Brauer Neue", Arial, sans-serif;--font-body:"Brauer Neue", Arial, sans-serif}html,body{height:100%;overflow:hidden}body{background:var(--bg);color:var(--text);font-family:var(--font-body);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}#root{height:100vh;overflow:hidden}.app{background:var(--bg);position:fixed;inset:0;overflow:hidden}.step-wrapper{position:absolute;inset:0}@keyframes enterFwd{0%{opacity:0;transform:translate(44px)}to{opacity:1;transform:translate(0)}}@keyframes enterBwd{0%{opacity:0;transform:translate(-44px)}to{opacity:1;transform:translate(0)}}.enter-fwd{animation:.38s cubic-bezier(.4,0,.2,1) both enterFwd}.enter-bwd{animation:.38s cubic-bezier(.4,0,.2,1) both enterBwd}.screen{background:var(--bg);flex-direction:column;display:flex;position:absolute;inset:0;overflow:hidden}.scr-header{background:var(--bg);border-bottom:1.5px solid var(--rim);flex-shrink:0;align-items:center;gap:12px;padding:14px 20px 13px;display:flex}.scr-header--centered{justify-content:center}.back-btn{background:var(--surface);border:1.5px solid var(--rim);color:var(--white);cursor:pointer;border-radius:6px;flex-shrink:0;place-items:center;width:36px;height:36px;font-size:16px;transition:background .15s,border-color .15s;display:grid}.back-btn:hover{background:var(--rim)}.back-btn-placeholder{flex-shrink:0;width:36px}.scr-title{font-family:var(--font-display);letter-spacing:.06em;color:var(--white);text-transform:uppercase;flex:1;font-size:13px;font-weight:900}.header-logo{object-fit:contain;flex-shrink:0;width:auto;height:36px}.bottom-bar{background:var(--bg);border-top:1.5px solid var(--rim);flex-shrink:0;margin-top:auto;padding:14px 20px 16px}.btn-cta{background:var(--yellow);width:100%;color:var(--primary);letter-spacing:.1em;text-transform:uppercase;cursor:pointer;font-size:13px;font-weight:900;font-family:var(--font-display);border:none;border-radius:6px;justify-content:center;align-items:center;gap:8px;padding:15px;transition:opacity .15s,transform .1s;display:flex;box-shadow:0 4px 16px #f0106a40}.btn-cta:hover{opacity:.88;transform:translateY(-1px)}.btn-cta:active{opacity:1;transform:translateY(0)}.btn-cta:focus-visible{outline:3px solid var(--primary);outline-offset:2px}.btn-sec{width:100%;color:var(--white);letter-spacing:.07em;text-transform:uppercase;cursor:pointer;font-size:13px;font-weight:700;font-family:var(--font-display);background:0 0;border:2px solid #ffffff80;border-radius:6px;justify-content:center;align-items:center;gap:8px;padding:13px;transition:background .15s,border-color .15s;display:flex}.btn-sec:hover{background:var(--surface);border-color:var(--white)}.btn-ghost{color:var(--muted);cursor:pointer;letter-spacing:.06em;font-size:12px;font-weight:700;font-family:var(--font-body);text-align:center;text-transform:uppercase;background:0 0;border:none;width:100%;padding:10px;transition:color .15s}.btn-ghost:hover{color:var(--primary)}.progress-dots{background:var(--bg);border-top:1.5px solid var(--rim);flex-shrink:0;justify-content:center;align-items:center;gap:7px;padding:10px 0 24px;display:flex}.progress-dot{background:#fff6;border-radius:50%;width:7px;height:7px;transition:background .3s,width .3s,height .3s}.progress-dot--on{background:#fff;width:10px;height:10px}.screen--intro{background:url(/images/background.png) center / auto 100% no-repeat var(--bg)}.intro-content{z-index:2;flex-direction:column;align-items:center;gap:20px;width:100%;margin-top:auto;padding:0 22px 24px;display:flex;position:relative}.intro-sub{color:#ffffffd9;font-size:13px;line-height:1.6;font-family:var(--font-body);text-align:center}.screen--form{background:var(--bg)}.form2-preview{background:var(--bg);border-bottom:1.5px solid var(--rim);flex-direction:column;flex-shrink:0;align-items:center;gap:8px;padding:16px 20px 12px;display:flex}.form2-card{display:block;box-shadow:0 10px 30px #f0106a38}.form2-fields{flex-direction:column;flex:none;gap:14px;padding:18px 20px;display:flex;overflow-y:visible}.field-row{grid-template-columns:1fr 1fr;gap:10px;display:grid}.field{flex-direction:column;gap:5px;display:flex}.field label{color:#ffffffa6;letter-spacing:.08em;text-transform:uppercase;font-size:10px;font-weight:700;font-family:var(--font-body)}.field input,.field select{background:var(--surface);border:1.5px solid var(--rim);color:var(--white);font-size:14px;font-family:var(--font-body);appearance:none;border-radius:6px;outline:none;width:100%;padding:10px 12px;transition:border-color .15s,box-shadow .15s}.field input:focus,.field select:focus{border-color:var(--yellow);box-shadow:0 0 0 3px #ffe50026}.field input::placeholder{color:#ffffff59}.field select option{color:var(--white);background:#b5064f}.select-wrap{position:relative}.select-wrap select{cursor:pointer;padding-right:32px}.select-arrow{pointer-events:none;color:var(--muted);position:absolute;top:50%;right:12px;transform:translateY(-50%)}.preview-label{color:var(--muted);letter-spacing:.1em;text-transform:uppercase;font-size:10px;font-weight:700;font-family:var(--font-body)}.cam-area{background:var(--surface);flex:1;justify-content:center;align-items:center;padding:20px;display:flex;overflow:hidden}.cam-frame{border:2px solid var(--rim);position:relative;overflow:hidden;box-shadow:0 8px 28px #f0106a33}.cam-canvas{display:block}.seg-pill{background:var(--primary);color:var(--white);letter-spacing:.08em;text-transform:uppercase;white-space:nowrap;font-size:10px;font-weight:700;font-family:var(--font-body);border-radius:20px;padding:5px 14px;position:absolute;top:12px;left:50%;transform:translate(-50%)}.cam-error{text-align:center;color:var(--muted);max-width:300px;padding:32px 20px;font-size:13px;line-height:1.7}.cam-error strong{color:var(--text);margin-bottom:8px;font-size:15px;display:block}.capture-area{background:var(--bg);border-top:1.5px solid var(--rim);flex-direction:column;flex-shrink:0;align-items:center;gap:8px;padding:16px 0 28px;display:flex}.capture-row{justify-content:center;align-items:center;gap:0;width:100%;display:flex}.capture-side{flex:1;justify-content:center;align-items:center;display:flex}.flip-btn{border:1.5px solid var(--rim);width:48px;height:48px;color:var(--text);cursor:pointer;background:#ffffff1f;border-radius:50%;justify-content:center;align-items:center;transition:background .15s;display:flex}.flip-btn:hover{background:#ffffff38}.flip-btn:active{background:#ffffff52}.flip-btn:disabled{opacity:.4;cursor:not-allowed}.capture-btn{border:3px solid var(--rim);cursor:pointer;background:0 0;border-radius:50%;width:72px;height:72px;transition:border-color .15s;position:relative}.capture-btn:after{content:"";background:#fff;border-radius:50%;transition:transform .1s,background .1s;position:absolute;inset:6px}.capture-btn:hover{border-color:var(--primary)}.capture-btn:active:after{background:var(--orange);transform:scale(.88)}.capture-btn:disabled{opacity:.4;cursor:not-allowed}.capture-hint{color:var(--muted);letter-spacing:.08em;text-transform:uppercase;font-size:10px;font-weight:700;font-family:var(--font-body)}.confirm-row{box-sizing:border-box;align-items:stretch;gap:10px;width:100%;padding:0 16px;display:flex}.confirm-row .btn-sec{flex:none;width:auto;padding-left:20px;padding-right:20px}.confirm-row .btn-cta{flex:1;width:auto}.screen--loading{background:var(--surface);justify-content:center;align-items:center}.loading-body{flex-direction:column;align-items:center;gap:28px;display:flex}.loading-card-wrap{position:relative}.loading-card{width:160px;height:213px;display:block}.loading-glow{z-index:-1;background:radial-gradient(#f0106a40 0%,#0000 70%);border-radius:28px;animation:1.4s ease-in-out infinite ldPulse;position:absolute;inset:-14px}.loading-scan{background:linear-gradient(#ffe50000 0%,#ffe50052 50%,#ffe50000 100%) 0 0/100% 60px;animation:1.8s ease-in-out infinite scanLine;position:absolute;inset:0;overflow:hidden}@keyframes ldPulse{0%,to{opacity:.35}50%{opacity:1}}@keyframes scanLine{0%{background-position:0 -60px}to{background-position:0 220px}}.loading-label{flex-direction:column;align-items:center;gap:10px;display:flex}.loading-spinner{border:2px solid var(--rim);border-top-color:var(--primary);border-radius:50%;width:22px;height:22px;animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.loading-text{color:var(--muted);letter-spacing:.1em;text-transform:uppercase;font-size:11px;font-weight:700;font-family:var(--font-body)}.screen--result{background:var(--bg)}.result-area{background:var(--surface);flex-direction:column;flex:1;justify-content:center;align-items:center;padding:16px 20px;display:flex;overflow:hidden}.qr-block{flex-direction:column;flex-shrink:0;align-items:center;gap:clamp(12px,3vh,24px);width:100%;display:flex}.qr-wrap{background:0 0;flex-shrink:0;padding:0;line-height:0}.qr-wrap canvas{width:min(200px,70vw,55vh)!important;height:min(200px,70vw,55vh)!important}.qr-label{color:#ffffffd9;text-align:center;letter-spacing:.02em;max-width:400px;font-size:clamp(16px,5vw,28px);font-weight:700;line-height:1.3;font-family:var(--font-body);margin:20px 0}.qr-label--muted{opacity:.5}.photo-page-card{object-fit:contain;width:auto;max-width:min(340px,80vw);height:auto;max-height:calc(100vh - 280px);display:block}.result-shadow{filter:drop-shadow(0 16px 36px #f0106a47)drop-shadow(0 4px 10px #00000014)}.result-canvas{display:block}.side-toggle{background:var(--surface);border:1.5px solid var(--rim);border-radius:6px;gap:3px;width:180px;padding:3px;display:flex}.tog{color:#ffffff8c;letter-spacing:.07em;cursor:pointer;text-transform:uppercase;font-size:11px;font-weight:700;font-family:var(--font-body);background:0 0;border:none;border-radius:4px;flex:1;padding:7px 0;transition:background .15s,color .15s}.tog--on{background:var(--yellow);color:var(--black)}.result-actions{flex-direction:column;flex-shrink:0;gap:8px;width:100%;padding:20px;display:flex}@media (width>=600px){.scr-header{padding:20px 32px 18px}.scr-title{font-size:20px}.header-logo{width:auto;height:52px}.back-btn{width:48px;height:48px;font-size:22px}.back-btn-placeholder{width:48px}.bottom-bar{padding:18px 32px 22px}.btn-cta{padding:20px;font-size:18px}.btn-sec{padding:18px;font-size:18px}.btn-ghost{font-size:16px}.progress-dots{gap:10px;height:48px}.progress-dot{width:9px;height:9px}.progress-dot--on{width:13px;height:13px}.form2-preview{padding:20px 32px 16px}.form2-card{width:min(55vw,340px)}.form2-fields{gap:18px;padding:20px 32px}.field label{font-size:14px}.field input,.field select{padding:15px 18px;font-size:18px}.preview-label{font-size:13px}.intro-sub{font-size:17px}.cam-area{padding:20px}.capture-btn{width:96px;height:96px}.capture-hint{font-size:14px}.loading-card{width:200px;height:267px}.loading-text{font-size:15px}.side-toggle{width:260px}.tog{padding:10px 0;font-size:15px}.result-actions{gap:12px;padding:0 32px 8px}}
