:root{--bg-deep:#1a1210;--bg-mid:#231b16;--gold:#d4a96a;--gold-light:#e8c992;--gold-dim:#d4a96a80;--cream:#f5f0e8;--text-primary:#ffffffe0;--text-secondary:#ffffff6b;--text-muted:#ffffff40;--glass-bg:#16100c8c;--glass-border:#ffffff0f;--glass-blur:blur(24px) saturate(1.2);--shadow-soft:0 2px 8px #0000001f, 0 8px 32px #0000002e;--transition-smooth:.35s cubic-bezier(.25, .1, .25, 1)}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{-webkit-text-size-adjust:100%;font-size:16px}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:var(--bg-deep);color:var(--text-primary);font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;overflow:hidden}#root{width:100%;height:100vh}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.dashboard-header{z-index:50;background:0 0;flex-shrink:0;justify-content:center;align-items:center;padding:1.5rem 2rem 1.1rem;display:flex;position:relative}.dashboard-header-left{text-align:center;flex-direction:column;align-items:center;display:flex}.dashboard-title{background:linear-gradient(135deg, var(--gold) 0%, var(--gold-light) 50%, var(--gold) 100%);-webkit-text-fill-color:transparent;letter-spacing:-.015em;text-shadow:0 0 40px #d4a96a26;-webkit-background-clip:text;background-clip:text;font-family:Playfair Display,serif;font-size:clamp(1.8rem,3.2vw,2.8rem);font-weight:700;line-height:1.15}.dashboard-subtitle{color:#ffffff80;letter-spacing:.08em;margin-top:8px;font-family:Inter,sans-serif;font-size:clamp(.78rem,1.1vw,.95rem);font-weight:300}.dashboard-title-accent{background:linear-gradient(90deg, transparent, var(--gold), transparent);opacity:.4;width:72px;height:1px;margin-top:12px;display:block}.dashboard-header-actions{align-items:center;gap:.5rem;display:flex;position:absolute;top:50%;right:1.5rem;transform:translateY(-50%)}.photo-count{color:var(--text-muted);letter-spacing:.02em;font-family:Inter,sans-serif;font-size:.8rem;font-weight:400}.slideshow-btn{-webkit-backdrop-filter:blur(8px);color:var(--text-secondary);border:1px solid var(--glass-border);cursor:pointer;letter-spacing:.01em;background:#ffffff0f;border-radius:8px;padding:.4rem 1rem;font-family:Inter,sans-serif;font-size:.78rem;font-weight:500;transition:all .2s}.slideshow-btn:hover{color:var(--text-primary);background:#ffffff1a;border-color:#ffffff1f}.reset-btn{width:30px;height:30px;color:var(--text-muted);border:1px solid var(--glass-border);cursor:pointer;background:#ffffff0a;border-radius:8px;justify-content:center;align-items:center;font-size:.95rem;transition:all .2s;display:flex}.reset-btn:hover{color:var(--text-secondary);background:#ffffff14}.pause-btn{width:30px;height:30px;color:var(--text-muted);border:1px solid var(--glass-border);cursor:pointer;letter-spacing:-.05em;background:#ffffff0a;border-radius:8px;justify-content:center;align-items:center;font-size:.65rem;transition:all .2s;display:flex}.pause-btn:hover{color:var(--text-secondary);background:#ffffff14}.pause-btn.paused{color:var(--gold);background:#d4a96a1f;border-color:#d4a96a33}.pause-btn.paused:hover{background:#d4a96a33}.qr-floating-card{z-index:40;position:fixed;bottom:1.5rem;left:1.5rem}.qr-container{-webkit-backdrop-filter:var(--glass-blur);text-align:center;background:#1e18128c;border:1px solid #ffffff0d;border-radius:18px;align-items:center;gap:1rem;padding:.85rem 1.25rem;display:flex;position:relative;box-shadow:0 2px 12px #0000001f,0 8px 32px #00000029}.qr-dismiss{width:20px;height:20px;color:var(--text-muted);cursor:pointer;background:#ffffff0f;border:none;border-radius:50%;justify-content:center;align-items:center;font-size:.55rem;transition:all .2s;display:flex;position:absolute;top:.35rem;right:.35rem}.qr-dismiss:hover{color:var(--text-secondary);background:#ffffff1f}.qr-pill{-webkit-backdrop-filter:var(--glass-blur);border:1px solid var(--glass-border);color:var(--text-secondary);cursor:pointer;letter-spacing:.02em;background:#14100c80;border-radius:24px;padding:.45rem 1rem;font-family:Inter,sans-serif;font-size:.75rem;transition:all .2s;box-shadow:0 4px 16px #00000026}.qr-pill:hover{color:var(--text-primary);background:#1e1610b3}.qr-text{text-align:left}.qr-title{color:var(--gold-light);margin-bottom:.1rem;font-family:Inter,sans-serif;font-size:.82rem;font-weight:500}.qr-subtitle{color:var(--text-secondary);font-family:Inter,sans-serif;font-size:.65rem}.qr-code-wrapper{background:#fff;border-radius:8px;flex-shrink:0;padding:0;line-height:0;display:inline-block}.qr-hero{justify-content:center;align-items:center;width:100%;height:100%;display:flex}.qr-hero-card{text-align:center;-webkit-backdrop-filter:blur(32px)saturate(1.3);white-space:nowrap;background:linear-gradient(160deg,#f4efe624 0%,#f4efe612 100%);border:1px solid #ffffff14;border-radius:28px;flex-direction:column;align-items:center;min-width:380px;padding:3rem 4rem;display:flex;position:relative;box-shadow:0 4px 24px #0000001a,0 16px 56px #00000026,inset 0 1px #ffffff0f}.qr-hero-glow{pointer-events:none;background:radial-gradient(#d4a96a14 0%,#d4a96a08 50%,#0000 75%);border-radius:80px;animation:5s ease-in-out infinite heroGlow;position:absolute;inset:-60px}@keyframes heroGlow{0%,to{opacity:.5;transform:scale(1)}50%{opacity:1;transform:scale(1.04)}}.qr-hero-title{color:var(--gold-light);letter-spacing:-.01em;margin-bottom:.5rem;font-family:Playfair Display,serif;font-size:1.6rem;font-weight:700}.qr-hero-subtitle{color:#ffffff8c;letter-spacing:.04em;margin-bottom:2rem;font-family:Inter,sans-serif;font-size:.95rem;font-weight:300}.qr-hero-code{background:#fff;border-radius:18px;padding:0;line-height:0;display:inline-block;box-shadow:0 2px 8px #0000000f,0 8px 24px #0000001a}.qr-hero-hint{color:var(--text-muted);letter-spacing:.04em;margin-top:1.5rem;font-family:Inter,sans-serif;font-size:.75rem;font-weight:400}@media (prefers-reduced-motion:reduce){.qr-hero-glow{opacity:.7;animation:none}}.dashboard{height:100vh;color:var(--text-primary);background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='300' height='300'%3E%3Cfilter id='g'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.65' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='300' height='300' filter='url(%23g)' opacity='0.035'/%3E%3C/svg%3E"),  linear-gradient(170deg, #1e1614 0%, var(--bg-deep) 40%, #141010 100%);flex-direction:column;display:flex;position:relative;overflow:hidden}.dashboard:before{content:"";pointer-events:none;z-index:0;background:radial-gradient(50% 40%,#d4a96a0d 0%,#0000 70%),radial-gradient(80% 60%,#b48c500a 0%,#0000 80%);width:90vw;height:80vh;position:fixed;top:45%;left:50%;transform:translate(-50%,-50%)}.dashboard:after{content:"";pointer-events:none;z-index:0;background:radial-gradient(#0000 30%,#00000073 100%);position:fixed;inset:0}.dashboard>*{z-index:1;position:relative}.dashboard-body{flex:1;justify-content:center;align-items:center;min-height:0;display:flex;position:relative}.dashboard-main{width:100%;height:100%;overflow:hidden}.polaroid-card{padding:clamp(4px, calc(var(--card-size,200px) * .04), 12px);transform:rotate(var(--rotation,0deg));transition:transform var(--transition-smooth,.35s ease), box-shadow var(--transition-smooth,.35s ease);will-change:transform;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='100' height='100'%3E%3Cfilter id='p'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='1.2' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100' height='100' filter='url(%23p)' opacity='0.02'/%3E%3C/svg%3E"),linear-gradient(175deg,#f6f1e9 0%,#f0ebe2 100%);border-radius:3px;padding-bottom:0;position:relative;box-shadow:0 1px 2px #0000000d,0 2px 6px #00000012,0 6px 16px #0000001a,0 14px 40px #00000024,0 24px 56px #0000001f,inset 0 0 0 1px #fff6}.polaroid-card:hover{transform:rotate(var(--rotation,0deg)) translateY(-5px);z-index:10;box-shadow:0 2px 4px #0000000f,0 4px 10px #00000017,0 12px 28px #00000024,0 24px 56px #0000002e,0 36px 72px #00000024}.polaroid-image-wrapper{aspect-ratio:1;background:#e8e2d8;border-radius:1px;width:100%;overflow:hidden;box-shadow:inset 0 1px 3px #00000014}.polaroid-image-wrapper img{object-fit:contain;opacity:0;background:#f4efe6;width:100%;height:100%;transition:opacity .5s;display:block}.polaroid-image-wrapper img.loaded{opacity:1}.polaroid-caption-area{min-height:clamp(.8rem, calc(var(--card-size,200px) * .08), 2rem);max-height:clamp(1rem, calc(var(--card-size,200px) * .15), 3rem);padding:clamp(2px, calc(var(--card-size,200px) * .015), 6px) clamp(3px, calc(var(--card-size,200px) * .025), 8px) clamp(3px, calc(var(--card-size,200px) * .03), 10px);justify-content:center;align-items:center;display:flex;overflow:hidden}.polaroid-caption{font-family:Inter,sans-serif;font-size:calc(clamp(.4rem, calc(var(--card-size,200px) * .0045), 1rem) * var(--caption-scale,1));color:#46321e8c;text-align:center;letter-spacing:.01em;text-overflow:ellipsis;-webkit-line-clamp:2;-webkit-box-orient:vertical;margin:0;font-weight:400;line-height:1.25;display:-webkit-box;overflow:hidden}@media (prefers-reduced-motion:reduce){.polaroid-card,.polaroid-card:hover{transition:none}.polaroid-image-wrapper img{opacity:1;transition:none}}.memory-wall{width:100%;height:100%;position:relative;overflow:hidden}.memory-card{left:var(--x);top:var(--y);transform:translate(-50%, -50%) rotate(var(--rotation,0deg)) scale(var(--scale,1));cursor:pointer;filter:brightness();transition:transform .5s,filter .5s,box-shadow .5s;position:absolute}.memory-card.spotlight{transform:translate(-50%, -50%) rotate(var(--rotation,0deg)) scale(calc(var(--scale,1) * 1.06));filter:brightness(1.08)}.memory-card.spotlight .polaroid-card{box-shadow:0 1px 2px #0000000d,0 2px 6px #00000012,0 6px 16px #0000001a,0 14px 40px #00000024,0 24px 56px #0000001f,0 0 48px #d4a96a1a}@media (prefers-reduced-motion:reduce){.memory-card,.memory-card.spotlight{transition:none}}.queue-overlay{z-index:100;-webkit-backdrop-filter:blur(12px);background:#120e0a99;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.queue-photo{filter:drop-shadow(0 12px 40px #00000059);width:min(55vh,55vw);max-width:420px}.slideshow-overlay{z-index:200;-webkit-backdrop-filter:blur(20px);background:#0a0806f0;position:fixed;inset:0}.slideshow-stage{place-items:center;padding:clamp(20px,3vh,48px) clamp(20px,4vw,64px) clamp(60px,10vh,120px);display:grid;position:absolute;inset:0}.slideshow-content{transition:max-width .35s,max-height .35s}.slideshow-content.size-m{max-width:min(68vw,640px);max-height:68vh}.slideshow-content.size-l{max-width:min(78vw,860px);max-height:78vh}.slideshow-content.size-xl{max-width:min(90vw,1200px);max-height:86vh}.slideshow-card{filter:drop-shadow(0 12px 48px #0006)}.slideshow-close{color:#ffffff80;cursor:pointer;z-index:220;background:#ffffff0f;border:1px solid #ffffff0d;border-radius:50%;justify-content:center;align-items:center;width:2.2rem;height:2.2rem;font-size:1.1rem;transition:opacity .28s,transform .28s,background .15s;display:flex;position:absolute;top:1.25rem;right:1.25rem}.slideshow-close:hover{color:#fffc;background:#ffffff1f}.slideshow-close.hidden{opacity:0;pointer-events:none;transform:translateY(-8px)}.slideshow-counter{color:#ffffff4d;z-index:220;letter-spacing:.08em;font-family:Inter,sans-serif;font-size:.72rem;font-weight:400;transition:opacity .28s,transform .28s;position:absolute;top:1.5rem;left:50%;transform:translate(-50%)}.slideshow-counter.hidden{opacity:0;pointer-events:none;transform:translate(-50%)translateY(-8px)}.slideshow-controls{bottom:max(1.5rem, env(safe-area-inset-bottom,0px));-webkit-backdrop-filter:blur(24px);z-index:220;background:#00000073;border:1px solid #ffffff0a;border-radius:16px;align-items:center;gap:1.25rem;padding:.5rem 1.25rem;transition:opacity .28s,transform .28s;display:flex;position:absolute;left:50%;transform:translate(-50%)}.slideshow-controls.hidden{opacity:0;pointer-events:none;transform:translate(-50%)translateY(20px)}.slideshow-controls-main{align-items:center;gap:.25rem;display:flex}.slideshow-nav-btn{color:#ffffff80;cursor:pointer;background:0 0;border:none;border-radius:8px;justify-content:center;align-items:center;width:2.2rem;height:2.2rem;font-family:Inter,sans-serif;font-size:1.4rem;transition:all .15s;display:flex}.slideshow-nav-btn:hover:not(:disabled){color:#ffffffd9;background:#ffffff0f}.slideshow-nav-btn:disabled{opacity:.2;cursor:default}.slideshow-play-btn{color:#fffc;cursor:pointer;letter-spacing:-.05em;background:#ffffff14;border:1px solid #ffffff14;border-radius:50%;justify-content:center;align-items:center;width:2.5rem;height:2.5rem;font-size:.75rem;transition:all .15s;display:flex}.slideshow-play-btn:hover{color:#fff;background:#ffffff24}.slideshow-controls-group{align-items:center;gap:.25rem;display:flex}.slideshow-control-label{color:#ffffff40;text-transform:uppercase;letter-spacing:.08em;margin-right:.25rem;font-family:Inter,sans-serif;font-size:.6rem;font-weight:500}.slideshow-option{color:#ffffff59;cursor:pointer;background:0 0;border:1px solid #0000;border-radius:6px;min-height:28px;padding:.3rem .55rem;font-family:Inter,sans-serif;font-size:.7rem;font-weight:500;transition:all .15s}.slideshow-option:hover{color:#fff9;background:#ffffff0a}.slideshow-option.active{color:#ffffffd9;background:#ffffff1a;border-color:#ffffff14}@media (prefers-reduced-motion:reduce){.slideshow-controls,.slideshow-close,.slideshow-counter,.slideshow-content{transition:none}}.cropper-container{flex-direction:column;gap:.6rem;width:100%;display:flex;position:relative}.cropper-container .reactEasyCrop_Container{aspect-ratio:1;border-radius:14px;width:100%;overflow:hidden;position:relative!important}.cropper-controls{justify-content:center;align-items:center;gap:.75rem;padding:.2rem 0;display:flex}.fit-toggle{border:1.5px solid var(--form-border,#e8dfd4);color:var(--form-text-muted,#9a8a78);cursor:pointer;background:#fff9;border-radius:8px;min-height:32px;padding:.35rem .8rem;font-family:Inter,sans-serif;font-size:.75rem;font-weight:600;transition:all .2s}.fit-toggle:hover{color:var(--form-text,#2c1a10);background:#fffc}.fit-toggle.active{background:var(--form-accent,#c49a64);border-color:var(--form-accent-strong,#b8834a);color:#fff}.zoom-label{color:var(--form-text-muted,#9a8a78);align-items:center;gap:.6rem;font-family:Inter,sans-serif;font-size:.75rem;display:flex}.zoom-slider{width:120px;accent-color:var(--form-accent,#c49a64);height:3px}.submit-form{--form-bg:linear-gradient(170deg, #faf6f0 0%, #f2ebe0 50%, #ede5d8 100%);--form-surface:#faf7f2;--form-surface-hover:#f5f0e8;--form-text:#2c1a10;--form-text-muted:#9a8a78;--form-text-faint:#c4b8a8;--form-accent:#c49a64;--form-accent-strong:#b8834a;--form-border:#e8dfd4;--form-radius-card:20px;--form-radius-btn:14px;--form-shadow-card:0 2px 16px #0000000a, 0 8px 40px #0000000f;background:var(--form-bg);min-height:100svh;padding:2rem 1.25rem;padding-bottom:calc(2rem + env(safe-area-inset-bottom,0px));flex-direction:column;justify-content:center;align-items:center;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;display:flex}.submit-card{background:var(--form-surface);border-radius:var(--form-radius-card);width:100%;max-width:460px;box-shadow:var(--form-shadow-card);flex-direction:column;gap:1.5rem;padding:2rem 1.75rem;display:flex}.submit-header{text-align:center}.submit-header h1{color:var(--form-text);letter-spacing:-.01em;margin:0 0 .3rem;font-family:Playfair Display,serif;font-size:1.5rem;font-weight:700}.submit-header .form-subtitle{color:var(--form-accent);margin:0 0 .3rem;font-family:Inter,sans-serif;font-size:.85rem;font-weight:400}.submit-header .form-helper{color:var(--form-text-muted);margin:0;font-family:Inter,sans-serif;font-size:.78rem;font-weight:300;line-height:1.4}.submit-content{flex-direction:column;gap:1rem;width:100%;display:flex}.file-upload-area{width:100%}.file-upload-label{border:2px dashed var(--form-border);cursor:pointer;background:#ffffff80;border-radius:16px;flex-direction:column;align-items:center;gap:.5rem;min-height:44px;padding:2.5rem 2rem;transition:all .25s;display:flex}.file-upload-label:hover,.file-upload-label:focus-within{border-color:var(--form-accent);background:#fffc}.upload-icon{width:40px;height:40px;color:var(--form-accent);background:#c49a641a;border-radius:50%;justify-content:center;align-items:center;font-size:1.2rem;display:flex}.upload-text{color:var(--form-text);font-size:.95rem;font-weight:600}.upload-hint{color:var(--form-text-faint);font-size:.72rem}.file-input-hidden{display:none}.caption-group{width:100%}.caption-input{border:1.5px solid var(--form-border);width:100%;color:var(--form-text);box-sizing:border-box;background:#fff;border-radius:12px;outline:none;min-height:44px;padding:.9rem 1rem;font-family:Inter,sans-serif;font-size:1rem;transition:all .25s}.caption-input:focus{border-color:var(--form-accent);box-shadow:0 0 0 3px #c49a641a}.caption-input::placeholder{color:var(--form-text-faint)}.form-actions{gap:.75rem;display:flex}.btn{border-radius:var(--form-radius-btn);cursor:pointer;border:none;flex:1;min-height:48px;padding:.9rem 1.5rem;font-family:Inter,sans-serif;font-size:.95rem;font-weight:600;transition:all .2s}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-primary{background:linear-gradient(135deg, var(--form-accent) 0%, var(--form-accent-strong) 100%);color:#fff;box-shadow:0 2px 8px #b4834a33}.btn-primary:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 4px 16px #b4834a4d}.btn-secondary{color:var(--form-text-muted);border:1.5px solid var(--form-border);background:#fff}.btn-secondary:hover:not(:disabled){background:var(--form-surface-hover)}.upload-progress{background:var(--form-border);border-radius:2px;width:100%;height:3px;overflow:hidden}.upload-progress-bar{background:linear-gradient(90deg, var(--form-accent), var(--form-accent-strong));border-radius:2px;height:100%;transition:width .3s;animation:1.5s ease-in-out infinite progressPulse}@keyframes progressPulse{0%,to{opacity:1}50%{opacity:.6}}.error-message{color:#a0432b;text-align:center;background:#a0432b0f;border-radius:10px;margin:0;padding:.7rem 1rem;font-size:.85rem}.success-screen{text-align:center;padding:1.5rem 0 .5rem}.success-mark{background:linear-gradient(135deg, var(--form-accent) 0%, var(--form-accent-strong) 100%);border-radius:50%;justify-content:center;align-items:center;width:48px;height:48px;margin:0 auto 1rem;animation:.5s cubic-bezier(.175,.885,.32,1.275) successPop;display:flex}.success-mark svg{width:24px;height:24px}@keyframes successPop{0%{opacity:0;transform:scale(0)}70%{transform:scale(1.1)}to{opacity:1;transform:scale(1)}}.success-screen h2{color:var(--form-text);margin:0 0 .3rem;font-family:Playfair Display,serif;font-size:1.4rem;font-weight:700}.success-screen p{color:var(--form-text-muted);margin:0 0 1.5rem;font-size:.88rem;line-height:1.4}@media (width<=520px){.submit-card{box-shadow:none;border-radius:0;max-width:none;padding:1.75rem 1.25rem}.submit-form{padding:0;padding-bottom:env(safe-area-inset-bottom,0px);justify-content:flex-start}}@media (prefers-reduced-motion:reduce){.success-mark,.upload-progress-bar{animation:none}}.preload-form{--form-accent:#9a8068;--form-accent-strong:#7d6550}.preload-counter{color:var(--form-accent-strong,#7d6550);background:#9a80681a;border-radius:20px;margin-top:.5rem;padding:.2rem .75rem;font-family:Inter,sans-serif;font-size:.78rem;font-weight:500;display:inline-block}
