*{box-sizing:border-box;margin:0;padding:0}html,body,#root{width:100%;height:100%;overflow:hidden}:root{--primary:#667eea;--primary-dark:#764ba2;--text-light:#f3f4f6;--text-dark:#333;--border-light:#e5e4e7;--border-dark:#2e303a}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;touch-action:manipulation;-webkit-user-select:none;user-select:none;margin:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif}#root{flex-direction:column;display:flex}h1,h2,h3{font-weight:600}p{margin:0}input,textarea{appearance:none}input[type=file]{cursor:pointer}@media (orientation:landscape){.app-container{flex-direction:row}}@media (hover:none) and (pointer:coarse){button{min-width:44px;min-height:44px}input,textarea{font-size:16px}}.button{cursor:pointer;text-transform:uppercase;letter-spacing:.06em;-webkit-tap-highlight-color:transparent;border:none;border-radius:12px;font-family:inherit;font-size:15px;font-weight:700;transition:transform .15s,opacity .15s,box-shadow .15s}.button:active:not(:disabled){transform:scale(.97)}.button--primary{color:#fff;background:linear-gradient(135deg,#a855f7 0%,#ec4899 100%);box-shadow:0 4px 20px #a855f766}.button--primary:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 6px 28px #a855f799}.button--secondary{color:#fff;background:#ffffff1a;border:2px solid #ffffff40}.button--secondary:hover:not(:disabled){background:#ffffff2e;border-color:#ffffff80}.button--danger{color:#fff;background:#ef4444}.button--danger:hover:not(:disabled){background:#dc2626}.button--large{min-width:200px;padding:16px 32px;font-size:17px}.button--full-width{width:100%}.button--disabled,.button:disabled{opacity:.4;cursor:not-allowed}.icon-button{cursor:pointer;background:0 0;border:none;border-radius:8px;justify-content:center;align-items:center;padding:8px;transition:background .3s;display:flex}.icon-button:hover:not(:disabled){background:#ffffff1a}.loading-spinner-container{background:#0a0a12;justify-content:center;align-items:center;width:100%;height:100%;display:flex}.loading-spinner{text-align:center;color:#fff}.spinner{border:4px solid #ffffff4d;border-top-color:#fff;border-radius:50%;width:50px;height:50px;margin:0 auto 20px;animation:1s linear infinite spin}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.loading-message{margin:0 0 20px;font-size:18px}.progress-bar{background:#fff3;border-radius:3px;width:200px;height:6px;margin:20px auto 10px;overflow:hidden}.progress-fill{background:linear-gradient(90deg,#4ecdc4 0%,#44b39b 100%);border-radius:3px;height:100%;transition:width .3s}.progress-text{color:#fffc;margin:8px 0 0;font-size:14px}.countdown-timer{z-index:10;background:#00000080;justify-content:center;align-items:center;width:100%;height:100%;display:flex;position:absolute;top:0;left:0}.countdown-number{color:#fff;font-size:120px;font-weight:700;animation:.5s ease-out scale-in}@keyframes scale-in{0%{opacity:0;transform:scale(2)}to{opacity:1;transform:scale(1)}}input[type=text],input[type=email],textarea{color:#fff;background:#ffffff1a;border:2px solid #ffffff4d;border-radius:8px;width:100%;padding:12px 16px;font-family:inherit;font-size:16px;transition:all .3s}input[type=text]::placeholder,input[type=email]::placeholder,textarea::placeholder{color:#ffffffb3}input[type=text]:focus,input[type=email]:focus,textarea:focus{background:#fff3;border-color:#fffc;outline:none}.admin-panel-overlay{z-index:1000;background:#000000b3;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.admin-panel{background:#fff;border-radius:20px;flex-direction:column;width:100%;max-width:600px;max-height:90vh;display:flex;overflow-y:auto;box-shadow:0 20px 60px #0000004d}.admin-panel-wide{max-width:95%;max-height:85vh}.admin-panel-two-column{grid-template-columns:1fr 1fr;gap:20px;display:grid;overflow-y:auto}.admin-panel-form{padding-right:10px;overflow-y:auto}.admin-panel-preview{background:#f9f9f9;border:2px solid #eee;border-radius:12px;flex-direction:column;gap:10px;padding:15px;display:flex}.admin-panel-preview h3{color:#333;margin:0 0 10px;font-size:14px}.preview-loading,.preview-placeholder{color:#999;background:#fff;border:2px dashed #ddd;border-radius:8px;justify-content:center;align-items:center;height:300px;font-size:14px;display:flex}.preview-image-large{object-fit:contain;border:1px solid #ddd;border-radius:8px;width:100%;max-height:400px}.admin-panel-header{border-bottom:1px solid #eee;justify-content:space-between;align-items:center;padding:20px;display:flex}.admin-panel-header h2{color:#333;margin:0}.admin-close-btn{cursor:pointer;color:#666;background:0 0;border:none;font-size:28px}.admin-panel-content{padding:20px}.admin-section{margin-bottom:30px}.admin-section h3{color:#333;margin:0 0 15px;font-size:16px}.form-group{margin-bottom:15px}.form-group label{color:#555;margin-bottom:8px;font-weight:500;display:block}.form-group input,.form-group textarea,.layout-select{color:#333;background:#f9f9f9;border:1px solid #ddd;border-radius:6px;width:100%;padding:10px;font-family:inherit;font-size:14px}.layout-select{cursor:pointer}.asset-upload{background:#f9f9f9;border:2px dashed #ddd;border-radius:8px;margin-bottom:20px;padding:15px}.asset-upload label{color:#555;margin-bottom:10px;font-weight:500;display:block}.upload-btn{color:#fff;cursor:pointer;background:#667eea;border:none;border-radius:6px;width:100%;padding:10px 20px;font-size:14px}.upload-btn:hover{background:#764ba2}.preview-img{object-fit:contain;border-radius:6px;width:100%;max-height:150px;margin-top:10px}.photo-grid{grid-template-columns:repeat(auto-fill,minmax(100px,1fr));gap:10px;margin-top:15px;display:grid}.photo-thumbnail{aspect-ratio:1;border-radius:6px;overflow:hidden}.photo-thumbnail img{object-fit:cover;width:100%;height:100%}.admin-actions{gap:10px;margin-bottom:20px;display:flex}.admin-actions button{flex:1}.admin-panel-footer{border-top:1px solid #eee;gap:10px;padding:20px 0 0;display:flex}.admin-panel-footer button{flex:1}.welcome-screen{background:radial-gradient(at 30% 40%,#1a1040 0%,#0a0a12 60%),radial-gradient(at 80% 70%,#1c0635 0%,#0000 50%);justify-content:center;align-items:center;width:100%;height:100%;display:flex;position:relative;overflow:hidden}.welcome-particles{pointer-events:none;position:absolute;inset:0}.particle{opacity:0;background:radial-gradient(circle,#a064ff99 0%,#0000 70%);border-radius:50%;animation:linear infinite particleRise;position:absolute;bottom:-10px}@keyframes particleRise{0%{opacity:0;transform:translateY(0)scale(1)}10%{opacity:.6}90%{opacity:.3}to{opacity:0;transform:translateY(-110vh)scale(1.5)}}.welcome-body{z-index:2;text-align:center;flex-direction:column;align-items:center;width:100%;max-width:520px;padding:40px 24px;display:flex;position:relative}.welcome-logo-wrap{cursor:pointer;margin-bottom:32px;animation:4s ease-in-out infinite floatLogo}@keyframes floatLogo{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}.welcome-logo{object-fit:contain;border-radius:24px;width:160px;height:160px;box-shadow:0 0 60px #a064ff66,0 20px 40px #00000080}.welcome-title{color:#fff;letter-spacing:-.02em;text-shadow:0 0 60px #a064ff80;margin:0 0 12px;font-size:clamp(32px,6vw,56px);font-weight:800}.welcome-subtitle{color:#ffffffa6;margin:0 0 48px;font-size:18px;line-height:1.5}.welcome-start-btn{cursor:pointer;letter-spacing:.08em;color:#fff;-webkit-tap-highlight-color:transparent;background:linear-gradient(135deg,#a855f7 0%,#ec4899 100%);border:none;border-radius:60px;align-items:center;gap:14px;padding:22px 52px;font-size:22px;font-weight:800;transition:transform .15s,box-shadow .15s;animation:2.5s ease-in-out infinite pulseCTA;display:flex;box-shadow:0 0 40px #a855f780,0 8px 32px #0006}@keyframes pulseCTA{0%,to{box-shadow:0 0 40px #a855f780,0 8px 32px #0006}50%{box-shadow:0 0 70px #a855f7cc,0 12px 40px #00000080}}.welcome-start-btn:hover{animation:none;transform:scale(1.04);box-shadow:0 0 60px #a855f7b3,0 12px 40px #00000080}.welcome-start-btn--pressed{animation:none!important;transform:scale(.96)!important}.welcome-start-icon{font-size:28px}.welcome-start-text{font-size:22px}.welcome-hint{color:#fff6;letter-spacing:.02em;margin-top:28px;font-size:15px}.welcome-body--idle .welcome-start-btn{animation:1s ease-in-out infinite pulseCTA;transform:scale(1.05)}.welcome-idle-overlay{z-index:5;cursor:pointer;pointer-events:all;flex-direction:column;justify-content:flex-end;align-items:center;padding-bottom:60px;display:flex;position:absolute;inset:0}.welcome-idle-pulse{background:radial-gradient(#a855f726 0%,#0000 70%);animation:2s ease-in-out infinite idlePulse;position:absolute;inset:0}@keyframes idlePulse{0%,to{opacity:.5}50%{opacity:1}}.welcome-idle-label{color:#ffffffb3;letter-spacing:.1em;text-transform:uppercase;font-size:22px;font-weight:700;animation:1.5s ease-in-out infinite idleBounce;position:relative}@keyframes idleBounce{0%,to{opacity:.7;transform:translateY(0)}50%{opacity:1;transform:translateY(-8px)}}.capture-fullscreen{background:#000;justify-content:center;align-items:center;width:100%;height:100%;display:flex;position:relative;overflow:hidden}.capture-video{object-fit:cover;width:100%;height:100%;position:absolute;inset:0;transform:scaleX(-1)}.capture-flash{opacity:0;pointer-events:none;z-index:50;background:#fff;transition:opacity 50ms;position:absolute;inset:0}.capture-flash--active{opacity:1;transition:opacity .35s ease-out}.capture-loading-overlay{z-index:30;text-align:center;background:#000000d9;flex-direction:column;justify-content:center;align-items:center;padding:40px;display:flex;position:absolute;inset:0}.capture-hud-top{z-index:10;background:linear-gradient(#000000b3 0%,#0000 100%);flex-direction:column;align-items:center;gap:10px;padding:20px 24px 16px;display:flex;position:absolute;top:0;left:0;right:0}.capture-progress-dots{gap:10px;display:flex}.progress-dot{background:#ffffff40;border:2px solid #fff6;border-radius:50%;width:14px;height:14px;transition:all .3s}.progress-dot--done{background:#a855f7;border-color:#a855f7;box-shadow:0 0 10px #a855f7b3}.progress-dot--current{background:#fff;border-color:#fff;animation:.5s ease-in-out infinite alternate dotPulse;box-shadow:0 0 10px #ffffffb3}@keyframes dotPulse{0%{transform:scale(1)}to{transform:scale(1.3)}}.capture-shot-label{color:#fff;letter-spacing:.02em;text-shadow:0 2px 8px #000c;font-size:16px;font-weight:600}.capture-countdown-overlay{z-index:20;pointer-events:none;flex-direction:column;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.capture-countdown-number{color:#fff;text-shadow:0 0 80px #a855f7cc,0 4px 20px #000c;font-size:clamp(140px,25vw,240px);font-weight:900;line-height:1;animation:.9s cubic-bezier(.3,0,.2,1) forwards countZoom}@keyframes countZoom{0%{opacity:0;transform:scale(1.5)}20%{opacity:1;transform:scale(1)}80%{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(.6)}}.capture-countdown-label{color:#ffffffb3;letter-spacing:.08em;text-transform:uppercase;margin-top:20px;font-size:22px;font-weight:600}.capture-nice-label{z-index:25;pointer-events:none;justify-content:center;align-items:center;font-size:100px;animation:.4s ease-out niceIn;display:flex;position:absolute;inset:0}@keyframes niceIn{0%{opacity:0;transform:scale(.5)}to{opacity:1;transform:scale(1)}}.capture-filmstrip{z-index:10;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#0009;border:1px solid #ffffff26;border-radius:12px;gap:8px;padding:8px;display:flex;position:absolute;bottom:20px;left:50%;transform:translate(-50%)}.capture-film-cell{border:2px solid #a855f7b3;border-radius:8px;width:64px;height:64px;animation:.3s ease-out filmIn;position:relative;overflow:hidden;box-shadow:0 0 12px #a855f766}@keyframes filmIn{0%{opacity:0;transform:scale(.7)}to{opacity:1;transform:scale(1)}}.capture-film-img{object-fit:cover;width:100%;height:100%;display:block}.capture-film-number{color:#fff;text-shadow:0 1px 3px #000000e6;font-size:11px;font-weight:700;position:absolute;bottom:3px;right:5px}.capture-start-overlay{z-index:10;background:linear-gradient(#0000 0%,#000c 100%);flex-direction:column;align-items:center;padding:28px 24px 36px;display:flex;position:absolute;bottom:0;left:0;right:0}.capture-shutter-btn{cursor:pointer;-webkit-tap-highlight-color:transparent;background:#fff;border:4px solid #fff6;border-radius:50%;justify-content:center;align-items:center;width:80px;height:80px;transition:transform .1s,box-shadow .1s;display:flex;box-shadow:0 0 0 6px #fff3,0 8px 30px #00000080}.capture-shutter-btn:active{transform:scale(.92);box-shadow:0 0 0 4px #ffffff26,0 4px 16px #00000080}.capture-shutter-inner{background:#fff;border:3px solid #00000026;border-radius:50%;width:60px;height:60px}.capture-start-hint{color:#ffffffb3;text-shadow:0 1px 4px #000c;margin-top:14px;font-size:15px}.capture-cancel-btn{color:#fff9;cursor:pointer;-webkit-tap-highlight-color:transparent;background:0 0;border:1px solid #ffffff4d;border-radius:20px;margin-top:16px;padding:8px 20px;font-size:14px;transition:all .2s}.capture-cancel-btn:hover{color:#fff;border-color:#fff9}.capture-error-screen{background:#0a0a12;justify-content:center;align-items:center;width:100%;height:100%;display:flex}.capture-error-box{text-align:center;color:#fff;padding:40px}.capture-error-icon{margin-bottom:20px;font-size:64px}.capture-error-box h2{margin-bottom:12px;font-size:28px}.capture-error-box p{color:#fff9;margin-bottom:32px}.capture-error-toast{color:#fff;z-index:30;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#dc3c3ce6;border-radius:8px;padding:12px 24px;font-size:15px;position:absolute;top:80px;left:50%;transform:translate(-50%)}.preview-container{background:#0a0a12;flex-direction:column;justify-content:flex-start;align-items:center;height:100%;padding:24px 20px;display:flex;overflow-y:auto}.preview-content{flex-direction:column;align-items:center;gap:20px;width:100%;max-width:700px;display:flex}.preview-content h2{color:#fff;margin:0;font-size:28px}.preview-main{justify-content:center;width:100%;display:flex}.composed-preview{background:#0006;border:2px solid #a855f766;border-radius:12px;justify-content:center;align-items:center;width:100%;padding:10px;display:flex;box-shadow:0 0 30px #a855f726}.final-preview-image{border-radius:8px;max-width:100%;max-height:480px;box-shadow:0 10px 40px #0006}.preview-error{color:#f87171;text-align:center;background:#dc3c3c26;border:2px solid #dc3c3c66;border-radius:8px;flex-direction:column;align-items:center;gap:15px;width:100%;padding:20px;display:flex}.preview-details{flex-direction:column;gap:20px;width:100%;display:flex}.preview-form{flex-direction:column;gap:8px;width:100%;display:flex}.preview-label{color:#fffc;font-size:14px;font-weight:500;display:block}.preview-input{color:#fff;background:#ffffff12;border:2px solid #ffffff26;border-radius:10px;width:100%;padding:12px 16px;font-size:16px;transition:border-color .2s,background .2s}.preview-input:focus{background:#a855f71a;border-color:#a855f7;outline:none}.preview-input::placeholder{color:#ffffff59}.char-count{color:#fff6;text-align:right;font-size:12px}.photo-strip-thumbnails{flex-direction:column;gap:10px;display:flex}.thumbnail-label{color:#ffffffb3;margin:0;font-size:14px;font-weight:500}.thumbnails{flex-wrap:wrap;gap:8px;display:flex}.thumbnail{object-fit:cover;border:2px solid #a855f766;border-radius:6px;width:80px;height:80px;transition:all .2s}.thumbnail:hover{border-color:#a855f7;box-shadow:0 0 12px #a855f780}.preview-controls{gap:14px;width:100%;display:flex}.preview-controls button{flex:1}.preview-controls button:disabled{opacity:.4;cursor:not-allowed}.delivery-screen{background:#0a0a12;flex-direction:column;justify-content:center;align-items:center;height:100%;display:flex;position:relative;overflow-y:auto}.delivery-body{z-index:10;flex-direction:column;align-items:center;gap:20px;width:100%;max-width:560px;padding:32px 24px;display:flex;position:relative}.delivery-title{color:#fff;text-align:center;font-size:clamp(24px,5vw,36px);font-weight:800;animation:.6s cubic-bezier(.68,-.55,.265,1.55) bounceIn}@keyframes bounceIn{0%{opacity:0;transform:scale(.4)}60%{opacity:1;transform:scale(1.08)}to{transform:scale(1)}}.delivery-saved-badge{color:#fff;background:linear-gradient(135deg,#16a34a,#15803d);border-radius:24px;align-items:center;gap:8px;padding:10px 20px;font-size:15px;font-weight:600;animation:.4s ease-out slideDown;display:flex;box-shadow:0 4px 20px #16a34a59}@keyframes slideDown{0%{opacity:0;transform:translateY(-12px)}to{opacity:1;transform:translateY(0)}}.delivery-check{background:#ffffff40;border-radius:50%;justify-content:center;align-items:center;width:22px;height:22px;font-size:13px;display:inline-flex}.delivery-image-wrap{justify-content:center;width:100%;animation:.5s ease-out scaleIn;display:flex}@keyframes scaleIn{0%{opacity:0;transform:scale(.92)}to{opacity:1;transform:scale(1)}}.delivery-image{border-radius:12px;max-width:100%;max-height:380px;box-shadow:0 0 40px #a855f740,0 16px 48px #00000080}.delivery-actions{flex-direction:column;gap:12px;width:100%;display:flex}.delivery-btn{cursor:pointer;-webkit-tap-highlight-color:transparent;letter-spacing:.01em;border:none;border-radius:12px;width:100%;padding:16px;font-size:17px;font-weight:700;transition:transform .15s,opacity .15s}.delivery-btn:active{transform:scale(.97)}.delivery-btn--primary{color:#fff;background:linear-gradient(135deg,#a855f7 0%,#ec4899 100%);box-shadow:0 6px 24px #a855f766}.delivery-btn--secondary{color:#fff;background:#ffffff1a;border:1px solid #fff3}.delivery-btn--ghost{color:#ffffff80;background:0 0;border:1px solid #ffffff1a;font-size:15px}.delivery-auto-return{color:#ffffff59;text-align:center;margin-top:4px;font-size:13px}.confetti-layer{pointer-events:none;z-index:100;position:fixed;inset:0;overflow:hidden}.confetti-piece{opacity:.9;animation:linear forwards confettiFall;position:absolute;top:-20px}.confetti-circle{border-radius:50%;width:10px;height:10px}.confetti-square{border-radius:2px;width:8px;height:8px}.confetti-rect{border-radius:2px;width:14px;height:6px}@keyframes confettiFall{to{transform:translateY(105vh) rotate(calc(var(--rotate) * 4));opacity:0}}.email-container{background:#0a0a12;flex-direction:column;justify-content:center;align-items:center;height:100%;padding:40px 20px;display:flex;overflow-y:auto}.email-content{background:#fffffff2;border-radius:20px;width:100%;max-width:600px;padding:40px;box-shadow:0 20px 60px #00000080}.email-content h2{color:#1a1a2e;text-align:center;margin-bottom:20px;font-size:26px}.email-preview{text-align:center;margin-bottom:28px}.email-preview-img{border-radius:10px;max-width:100%;max-height:180px;box-shadow:0 4px 15px #00000026}.email-form{margin-bottom:28px}.email-label{color:#374151;margin-bottom:14px;font-size:15px;font-weight:600;display:block}.email-input-group{gap:10px;margin-bottom:10px;display:flex}.email-input{color:#111827;border:2px solid #e5e7eb;border-radius:10px;flex:1;padding:12px 16px;font-family:inherit;font-size:16px;transition:border-color .2s}.email-input:focus{border-color:#a855f7;outline:none}.remove-email-btn{color:#fff;cursor:pointer;background:#ef4444;border:none;border-radius:8px;padding:8px 14px;font-size:18px;font-weight:700;transition:background .2s}.remove-email-btn:hover{background:#dc2626}.email-error{color:#fff;text-align:center;background:#ef4444;border-radius:8px;margin-bottom:14px;padding:12px 16px;font-size:14px}.email-controls{gap:12px;margin-top:28px;display:flex}.email-controls button{flex:1}.email-results{text-align:center;color:#1a1a2e;background:#fffffff2;border-radius:20px;width:100%;max-width:600px;padding:40px;box-shadow:0 20px 60px #0006}.email-results h2{margin-bottom:20px;font-size:26px}.result-summary{margin-bottom:28px;font-size:17px}.result-summary .success{color:#16a34a;margin-right:14px;font-weight:700}.result-summary .failure{color:#ef4444;font-weight:700}.results-list{text-align:left;margin-bottom:28px}.result-item{background:#f9fafb;border-radius:8px;justify-content:space-between;align-items:center;margin-bottom:10px;padding:12px;display:flex}.result-item.success{border-left:4px solid #16a34a}.result-item.failure{border-left:4px solid #ef4444}.result-status{font-weight:700}.email-results button{width:100%}.app-container{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:#0a0a12;flex-direction:column;width:100%;height:100vh;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;display:flex;overflow:hidden}.welcome-screen,.capture-fullscreen,.preview-container,.delivery-screen,.email-container{animation:.35s cubic-bezier(.4,0,.2,1) screenIn}@keyframes screenIn{0%{opacity:0;transform:scale(.97)}to{opacity:1;transform:scale(1)}}
