*{box-sizing:border-box;margin:0;padding:0}body{color:#fff;background:#0d0d1a;min-height:100vh;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}#root{width:100%}.container{max-width:480px;min-height:100vh;margin:0 auto;padding:32px 20px 48px}h2{color:#fff;margin-bottom:8px;font-size:26px;font-weight:800}.emoji-big{margin-bottom:16px;font-size:64px;display:block}.subtitle{color:#ffffffa6;margin-bottom:24px;font-size:16px;line-height:1.5}.btn{cursor:pointer;text-align:center;border:none;border-radius:14px;width:100%;margin-bottom:12px;padding:16px;font-size:17px;font-weight:700;transition:opacity .15s,transform .1s;display:block}.btn:active{transform:scale(.97)}.btn:disabled{opacity:.4;cursor:not-allowed}.btn-primary{color:#fff;background:linear-gradient(135deg,#e040fb,#7c4dff);box-shadow:0 4px 20px #e040fb59}.btn-primary:hover:not(:disabled){opacity:.9}.btn-secondary{color:#fff;background:#ffffff1a;border:1.5px solid #ffffff26}.btn-ghost{color:#ffffff80;background:0 0;border:1.5px solid #ffffff1f}.btn.small{padding:10px;font-size:14px}.back-btn{color:#fff6;cursor:pointer;background:0 0;border:none;margin-bottom:24px;padding:0;font-size:15px;display:block}.form{flex-direction:column;gap:14px;margin-top:24px;display:flex}.field{flex-direction:column;gap:6px;display:flex}.field label{color:#ffffffd9;font-size:14px;font-weight:600}.field small{color:#fff9;font-size:12px}.field input,.field textarea{color:#fff;background:#ffffff12;border:1.5px solid #ffffff1f;border-radius:12px;outline:none;padding:14px 16px;font-family:inherit;font-size:16px;transition:border-color .15s}.field input::placeholder,.field textarea::placeholder{color:#ffffff40}.field input:focus,.field textarea:focus{border-color:#e040fb}.field textarea{resize:vertical;min-height:110px;line-height:1.6}.hint{color:#ffffff8c;font-size:12px;font-weight:400}.checkbox-field{flex-direction:row;align-items:center}.checkbox-field label{color:#fff9;cursor:pointer;align-items:center;gap:10px;font-size:15px;font-weight:400;display:flex}.checkbox-field input[type=checkbox]{cursor:pointer;accent-color:#e040fb;width:20px;height:20px;padding:0}.code-input{letter-spacing:8px;text-align:center;text-transform:uppercase;font-weight:800;font-size:28px!important}.password-input{text-align:center;font-weight:600;font-size:18px!important}.code-block{text-align:left;background:#ffffff0d;border:1.5px solid #ffffff1a;border-radius:14px;margin-bottom:12px;padding:16px}.code-block label{color:#fff6;text-transform:uppercase;letter-spacing:1px;margin-bottom:10px;font-size:12px;display:block}.code-display{justify-content:space-between;align-items:center;gap:12px;display:flex}.code{color:#e040fb;letter-spacing:4px;font-size:28px;font-weight:900}.code.password{color:#69f0ae;letter-spacing:2px;font-size:20px}.copy-btn{cursor:pointer;color:#ffffffb3;white-space:nowrap;background:#ffffff1a;border:none;border-radius:8px;flex-shrink:0;padding:8px 14px;font-size:13px}.copy-btn:active{background:#fff3}.warning{color:#ffd54f;background:#ffc8001a;border:1px solid #ffc8004d;border-radius:10px;margin-bottom:8px;padding:12px 16px;font-size:13px}.error{color:#ff5252;background:#ff52521a;border:1px solid #ff525233;border-radius:8px;padding:10px 14px;font-size:14px}@keyframes slide-in{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.success-banner{color:#69f0ae;background:#69f0ae1a;border:1.5px solid #69f0ae4d;border-radius:12px;margin-bottom:16px;padding:14px 16px;font-size:15px;font-weight:600;animation:.3s slide-in}.empty{text-align:center;color:#ffffff80;padding:48px 0;font-size:15px;line-height:1.8}.home-hero{text-align:center;padding:48px 0 16px}.home-hero h1{background:linear-gradient(135deg,#e040fb,#7c4dff);-webkit-text-fill-color:transparent;letter-spacing:-2px;-webkit-background-clip:text;background-clip:text;margin-bottom:12px;font-size:56px;font-weight:900}.home-tagline{color:#ffffff73;margin-bottom:40px;font-size:16px;line-height:1.7}.home-actions{flex-direction:column;gap:12px;margin-top:24px;display:flex}.event-found-card{background:#e040fb1a;border:1.5px solid #e040fb40;border-radius:16px;max-width:320px;margin:0 auto 8px;padding:16px 20px}.event-found-label{color:#fff6;text-transform:uppercase;letter-spacing:1.5px;margin-bottom:6px;font-size:12px}.event-found-name{color:#e040fb;font-size:20px;font-weight:800}.amorces-label{color:#fff9;margin-bottom:8px;font-size:12px}.amorces{flex-wrap:wrap;gap:8px;margin-bottom:8px;display:flex}.amorce-chip{color:#ffffffb3;cursor:pointer;white-space:nowrap;background:#7c4dff26;border:1px solid #7c4dff59;border-radius:20px;padding:6px 14px;font-size:13px;transition:background .15s}.amorce-chip:hover{background:#7c4dff4d}.success-card{text-align:center;padding-top:24px}.success-card h2{margin-bottom:24px}.result-actions{flex-direction:column;gap:10px;margin-top:24px;display:flex}.organizer-actions{flex-direction:column;gap:10px;margin:20px 0;display:flex}.memories-list{flex-direction:column;gap:12px;margin-top:8px;display:flex}.memory-card{background:#ffffff0a;border:1.5px solid #ffffff14;border-radius:14px;padding:16px}.memory-number-row{justify-content:space-between;align-items:center;margin-bottom:8px;display:flex}.move-btns{gap:4px;display:flex}.move-btn{color:#fff;cursor:pointer;background:#ffffff14;border:none;border-radius:6px;width:28px;height:28px;font-size:14px;line-height:1}.move-btn:disabled{opacity:.2;cursor:default}.move-btn:hover:not(:disabled){background:#ffffff26}.memory-number{color:#ffffff40;text-transform:uppercase;letter-spacing:1px;margin-bottom:0;font-size:11px;font-weight:700}.memory-photo-wrap{margin-bottom:10px}.memory-photo{object-fit:cover;border-radius:10px;width:100%;max-height:180px}.memory-photo-caption{color:#fff6;margin-top:6px;font-size:12px;font-style:italic}.memory-content{color:#ffffffd9;margin-bottom:12px;font-size:15px;line-height:1.6}.memory-footer{justify-content:space-between;align-items:center;display:flex}.author-hidden{color:#fff3;font-size:13px}.delete-btn{cursor:pointer;color:#ff5252;background:0 0;border:none;border-radius:6px;padding:4px 8px;font-size:13px}.delete-btn:hover{background:#ff52521a}.party-container{color:#fff;background:#0d0d1a;min-height:100vh}.party-header{justify-content:space-between;align-items:center;margin-bottom:32px;display:flex}.party-header h2{color:#fff;font-size:20px}.counter{color:#ffffff80;background:#ffffff14;border-radius:20px;padding:6px 14px;font-size:14px;font-weight:600}.party-card{text-align:center;background:#ffffff0a;border:1px solid #ffffff14;border-radius:24px;margin-bottom:24px;padding:36px 24px}.party-accroche{color:#e040fb;text-transform:uppercase;letter-spacing:2.5px;margin-bottom:20px;font-size:12px;font-weight:700}.party-content{color:#ffffffeb;margin-bottom:32px;font-size:22px;font-style:italic;font-weight:500;line-height:1.7}.party-photo-wrap{text-align:center;margin-bottom:20px}.party-photo{object-fit:contain;border-radius:16px;max-width:100%;max-height:320px}.party-photo-caption{color:#ffffff80;margin-top:10px;font-size:14px;font-style:italic}.photo-upload-btn{color:#ffffffb3;cursor:pointer;background:#ffffff0f;border:2px dashed #fff3;border-radius:12px;width:100%;padding:16px 20px;font-size:15px;transition:background .2s}.photo-upload-btn:hover{background:#ffffff1a}.photo-preview-container{width:100%;display:inline-block;position:relative}.photo-preview{object-fit:cover;border-radius:12px;width:100%;max-height:200px}.photo-remove-btn{color:#fff;cursor:pointer;background:#0009;border:none;border-radius:20px;padding:4px 10px;font-size:13px;position:absolute;top:8px;right:8px}.done-screen{text-align:center;flex-direction:column;align-items:center;padding-top:60px;display:flex}.done-title{background:linear-gradient(135deg,#e040fb,#69f0ae);-webkit-text-fill-color:transparent;-webkit-background-clip:text;margin-bottom:8px;font-size:48px;font-weight:900}.done-subtitle{color:#fff9;margin-bottom:40px;font-size:20px}.done-actions{flex-direction:column;gap:12px;width:100%;max-width:320px;display:flex}.reveal-btn{max-width:280px;margin:0 auto}@keyframes pop-in{0%{opacity:0;transform:scale(.6)}70%{transform:scale(1.06)}to{opacity:1;transform:scale(1)}}.reveal-result{animation:.4s cubic-bezier(.175,.885,.32,1.275) pop-in}.reveal-label{color:#ffffff59;text-transform:uppercase;letter-spacing:2px;margin-bottom:12px;font-size:12px}.reveal-name{background:linear-gradient(135deg,#e040fb,#69f0ae);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;font-size:36px;font-weight:900;line-height:1.2}.party-done{text-align:center;padding-top:80px}.party-done h2{color:#fff;margin-bottom:16px}.party-done p{color:#ffffff80;margin-bottom:8px}@media (width>=768px){.party-container.container{flex-direction:column;align-items:center;max-width:100%;padding:40px 60px 60px;display:flex}.party-container .party-header{width:100%;max-width:900px;margin-bottom:40px}.party-container .party-header h2{font-size:32px}.party-container .counter{padding:8px 20px;font-size:20px}.party-container .party-card{border-radius:32px;width:100%;max-width:900px;margin-bottom:32px;padding:56px 64px}.party-container .party-accroche{letter-spacing:4px;margin-bottom:28px;font-size:16px}.party-container .party-content{margin-bottom:40px;font-size:36px;line-height:1.6}.party-container .party-photo{max-height:420px}.party-container .party-photo-caption{margin-top:14px;font-size:18px}.party-container .reveal-btn{border-radius:20px;max-width:400px;padding:20px;font-size:20px}.party-container .reveal-label{margin-bottom:16px;font-size:16px}.party-container .reveal-name{margin-bottom:8px;font-size:64px}.party-container .btn-secondary{border-radius:20px;max-width:400px;padding:20px;font-size:20px}}.auth-tabs{background:#ffffff0a;border-radius:12px;margin-bottom:24px;padding:3px;display:flex}.auth-tab{text-align:center;color:#ffffff59;cursor:pointer;background:0 0;border:none;border-radius:10px;flex:1;padding:10px;font-family:inherit;font-size:13px;font-weight:600}.auth-tab.active{color:#a29bfe;background:#6c5ce74d}.auth-divider{align-items:center;gap:12px;margin:16px 0;display:flex}.auth-divider span{background:#ffffff12;flex:1;height:1px;display:block}.auth-divider p{color:#ffffff80;font-size:12px}.event-header{text-align:center;margin-bottom:8px}.admin-header{text-align:center;margin-bottom:8px;padding-top:16px}.event-code-badge{color:#fff6;cursor:pointer;background:#ffffff0f;border:1px solid #ffffff1a;border-radius:20px;margin-top:10px;padding:5px 14px;font-size:13px;display:inline-block}.new-event-banner{color:#69f0ae;text-align:center;background:#69f0ae1a;border:1.5px solid #69f0ae40;border-radius:12px;margin-bottom:16px;padding:14px 16px;font-size:14px;font-weight:600}.admin-actions{flex-direction:column;gap:10px;margin:20px 0 28px;display:flex}.btn-invite{cursor:pointer;color:#69f0ae;background:#69f0ae26;border:1.5px solid #69f0ae59;border-radius:14px;width:100%;padding:16px;font-size:17px;font-weight:700;transition:background .15s;display:block}.btn-invite:active{background:#69f0ae40}.btn-admin-link{color:#ffffff80;cursor:pointer;text-align:center;background:0 0;border:none;width:100%;margin-top:20px;padding:8px;font-size:13px;display:block}.btn-admin-link:hover{color:#fffc}.done-actions{flex-direction:column;gap:12px;margin-top:32px;display:flex}.modal-overlay{z-index:200;background:#000000b3;justify-content:center;align-items:flex-end;padding:20px;display:flex;position:fixed;inset:0}.modal{background:#1a1a2e;border:1.5px solid #ffffff1a;border-radius:20px;width:100%;max-width:480px;padding:28px 24px}.modal-title{color:#fff;margin-bottom:16px;font-size:18px;font-weight:700}.modal-text{color:#ffffffb3;margin-bottom:20px;font-size:15px;line-height:1.7}.intro-screen{text-align:center;padding-top:32px}.intro-screen h2{margin-bottom:24px}.intro-card{text-align:left;background:#ffffff0a;border:1.5px solid #ffffff14;border-radius:20px;margin-bottom:32px;padding:24px 20px}.intro-text{color:#fffc;margin-bottom:16px;font-size:16px;line-height:1.7}.intro-reveal{color:#e040fb;border-top:1px solid #ffffff14;padding-top:16px;font-size:17px;font-style:italic;font-weight:700;line-height:1.7}.fireworks{pointer-events:none;z-index:100;position:fixed;inset:0;overflow:hidden}@keyframes fw-burst{0%{opacity:1;transform:translate(0)scale(1)}to{transform:translate(var(--dx), var(--dy)) scale(0);opacity:0}}.fw-particle{border-radius:50%;animation:ease-out forwards fw-burst;position:absolute}
