.registration-page,.success-page{background-color:var(--reg-bg,#1a1a1a);background-image:var(--reg-bg-image,none);background-position:50%;background-repeat:no-repeat;background-size:cover;justify-content:center;align-items:center;min-height:100dvh;padding:24px;font-family:-apple-system,BlinkMacSystemFont,SF Pro Text,Segoe UI,Roboto,sans-serif;display:flex}.registration-container,.success-container{background:var(--reg-card,#2a2a2a);width:100%;max-width:380px;box-shadow:var(--reg-card-shadow,0 4px 20px #0000001f);border:var(--reg-card-border,none);border-radius:20px;padding:32px 24px}.reg-stack{flex-direction:column;align-items:center;display:flex}.reg-powered-by{text-align:center;letter-spacing:.02em;color:var(--reg-text,#fff);opacity:.45;margin:16px auto 0;font-size:11px;text-decoration:none;transition:opacity .15s;display:block}.reg-powered-by:hover{opacity:.75;text-decoration:underline}.registration-header{text-align:center;margin-bottom:28px}.registration-logo{object-fit:contain;max-width:200px;max-height:80px;margin:0 auto 18px;display:block}.registration-logo-placeholder{background:var(--reg-btn,var(--accent,#0071e3));border-radius:16px;justify-content:center;align-items:center;width:64px;height:64px;margin:0 auto 18px;display:flex}.registration-logo-placeholder svg{color:#fff;width:32px;height:32px}.registration-header h1{color:var(--reg-text,#fff);letter-spacing:-.02em;text-wrap:balance;margin:0 0 6px;font-size:22px;font-weight:600}.registration-header p{color:var(--reg-text,#fff);opacity:.6;text-wrap:balance;text-wrap:pretty;margin:0 auto;font-size:14px;line-height:1.4}.form-group,.reg-contact-pair{margin-bottom:20px}.reg-or-divider{color:var(--reg-text,#fff);align-items:center;gap:12px;margin:14px 0;display:flex}.reg-or-divider:before,.reg-or-divider:after{content:"";opacity:.18;background:currentColor;flex:1;height:1px}.reg-or-divider span{letter-spacing:1.5px;opacity:.55;font-size:12px;font-weight:700}.registration-page .form-group label,.success-page .form-group label{color:var(--reg-text,#fff);margin-bottom:8px;font-size:14px;font-weight:500;display:block}.registration-page .form-group input,.registration-page .form-group input[type=text],.registration-page .form-group input[type=email],.registration-page .form-group input[type=tel],.registration-page .form-group textarea,.success-page .form-group input,.success-page .form-group textarea{border:1px solid color-mix(in srgb,var(--reg-text,#fff)20%,var(--reg-card,#2a2a2a));width:100%;color:var(--reg-text,#fff);-webkit-appearance:none;background:color-mix(in srgb,var(--reg-text,#fff)6%,var(--reg-card,#2a2a2a));border-radius:12px;padding:14px 16px;font-family:inherit;font-size:16px;transition:border-color .2s,box-shadow .2s}.registration-page .form-group textarea,.success-page .form-group textarea{resize:vertical;min-height:80px}.registration-page .form-group input:focus,.registration-page .form-group textarea:focus,.success-page .form-group input:focus,.success-page .form-group textarea:focus{border-color:var(--reg-btn,var(--accent,#0071e3));box-shadow:0 0 0 3px color-mix(in srgb,var(--reg-btn,var(--accent,#0071e3))25%,transparent);background:color-mix(in srgb,var(--reg-text,#fff)6%,var(--reg-card,#2a2a2a));outline:none}.registration-page .form-group input::placeholder,.registration-page .form-group textarea::placeholder,.success-page .form-group input::placeholder,.success-page .form-group textarea::placeholder{color:var(--reg-text,#fff);opacity:.4}.registration-page .form-group input.error,.registration-page .form-group textarea.error,.success-page .form-group input.error,.success-page .form-group textarea.error{border-color:#ff3b30}.required{color:#ff3b30;margin-left:4px}.optional-tag{letter-spacing:.02em;text-transform:uppercase;color:var(--reg-text,#fff);background:color-mix(in srgb,var(--reg-text,#fff)14%,transparent);vertical-align:middle;border-radius:999px;margin-left:8px;padding:1px 8px;font-size:11px;font-weight:600;display:inline-block}.registration-page .form-group input.reg-locked-input,.success-page .form-group input.reg-locked-input{opacity:.72;cursor:default;background:color-mix(in srgb,var(--reg-text,#fff)6%,transparent)}.registration-page .form-group input.reg-locked-input:focus,.success-page .form-group input.reg-locked-input:focus{border-color:inherit;box-shadow:none}.reg-locked-hint{color:var(--reg-text,#fff);opacity:.55;margin-top:6px;font-size:12px;line-height:1.35;display:block}.reg-either-hint{color:var(--reg-text,#fff);background:color-mix(in srgb,var(--reg-text,#fff)8%,transparent);border:1px solid color-mix(in srgb,var(--reg-text,#fff)16%,transparent);border-radius:12px;margin:0 0 20px;padding:10px 14px;font-size:13px;line-height:1.45}.reg-either-hint em{font-style:normal;font-weight:700}.error-message{color:#ff3b30;margin-top:6px;font-size:13px;display:block}.checkbox-group{align-items:flex-start;gap:12px;margin-bottom:16px;display:flex}.checkbox-group input[type=checkbox]{width:20px;height:20px;accent-color:var(--reg-btn,var(--accent,#0071e3));flex-shrink:0;margin-top:2px}.checkbox-group label{color:var(--reg-text,#fff);opacity:.8;cursor:pointer;font-size:14px;line-height:1.4}.checkbox-group label a{color:var(--reg-btn,var(--accent,#0071e3));text-decoration:none}.checkbox-group label a:hover{text-decoration:underline}.consent-toggle-row{background:color-mix(in srgb,var(--reg-text,#fff)6%,transparent);border:1px solid color-mix(in srgb,var(--reg-text,#fff)13%,transparent);border-radius:12px;align-items:center;gap:16px;margin-bottom:16px;padding:14px 16px;display:flex}.consent-toggle-row .consent-label{color:var(--reg-text,#fff);opacity:1;cursor:pointer;flex:1;font-size:14px;line-height:1.45}.consent-toggle-row .consent-label a,.checkbox-group label a{color:#66b2ff;text-underline-offset:2px;font-weight:500;text-decoration:underline}.consent-toggle-row .consent-label a:hover,.checkbox-group label a:hover{color:#99c9ff}.consent-toggle-row .consent-required{color:#ff453a;margin-left:4px}.consent-switch{flex-shrink:0;width:51px;height:31px;display:inline-block;position:relative}.consent-switch input{opacity:0;width:0;height:0}.consent-switch .switch-track{box-sizing:border-box;cursor:pointer;background:#78788038;border:1px solid #78788073;border-radius:31px;transition:background .16s,border-color .16s;position:absolute;inset:0}.consent-switch .switch-thumb{background:#fff;border-radius:50%;width:27px;height:27px;transition:transform .16s;position:absolute;top:2px;left:2px;box-shadow:0 2px 4px #0000004d}.consent-switch input:checked+.switch-track{background:var(--reg-btn,#34c759);border-color:#0000}.consent-switch input:checked+.switch-track .switch-thumb{transform:translate(20px)}.consent-switch input:focus-visible+.switch-track{outline-offset:2px;outline:2px solid #66b2ff}.alert{border-radius:10px;margin-bottom:20px;padding:12px 16px;font-size:14px}.alert-error{color:#fff;background-color:#ff3b30;border:1px solid #ff3b30}.registration-page .btn,.success-page .btn{cursor:pointer;border:none;border-radius:12px;justify-content:center;align-items:center;width:100%;padding:14px 24px;font-size:16px;font-weight:600;text-decoration:none;transition:all .2s;display:flex}.registration-page .btn-primary,.success-page .btn-primary{background:var(--reg-btn,var(--accent,#0071e3));color:var(--reg-btn-text,white)}.registration-page .btn-primary:hover:not(:disabled),.success-page .btn-primary:hover:not(:disabled){opacity:.88;background:var(--reg-btn,var(--accent,#0071e3))}.registration-page .btn-primary:disabled,.success-page .btn-primary:disabled{opacity:.6;cursor:not-allowed}.registration-page .btn-secondary,.success-page .btn-secondary{background:color-mix(in srgb,var(--reg-text,#fff)10%,transparent);color:var(--reg-text,#fff);border:1px solid color-mix(in srgb,var(--reg-text,#fff)20%,transparent)}.registration-page .btn-secondary:hover,.success-page .btn-secondary:hover{background:color-mix(in srgb,var(--reg-text,#fff)15%,transparent)}.success-container{text-align:center}.success-icon{background:#30d158;border-radius:50%;justify-content:center;align-items:center;width:64px;height:64px;margin:0 auto 20px;display:flex}.success-icon svg{color:#fff;width:32px;height:32px}.success-container h1{color:var(--reg-text,#fff);margin:0 0 8px;font-size:28px;font-weight:600}.success-subtitle{color:var(--reg-text,#fff);opacity:.6;margin-bottom:24px;font-size:14px}.qr-container{justify-content:center;margin:24px 0;display:flex}.guest-code{color:var(--reg-text,#fff);letter-spacing:2px;font-family:SF Mono,SFMono-Regular,Consolas,monospace;font-size:24px;font-weight:700}.guest-name{color:var(--reg-text,#fff);opacity:.6;text-align:center;overflow-wrap:anywhere;white-space:normal;max-width:100%;margin-top:4px;font-size:18px;line-height:1.3}.success-info{border-top:1px solid color-mix(in srgb,var(--reg-text,#fff)15%,transparent);margin-top:24px;padding-top:24px}.success-info p{color:var(--reg-text,#fff);opacity:.6;margin-bottom:16px;font-size:14px}.gallery-link{margin-top:8px}.event-footer{border-top:1px solid color-mix(in srgb,var(--reg-text,#fff)15%,transparent);color:var(--reg-text,#fff);opacity:.6;justify-content:center;align-items:center;gap:8px;margin-top:24px;padding-top:16px;font-size:14px;display:flex}.event-logo-small{width:auto;height:24px}.loading{background:var(--reg-bg,#1a1a1a);flex-direction:column;justify-content:center;align-items:center;gap:16px;min-height:100dvh;display:flex}.loading .spinner{border:3px solid #fff3;border-top-color:var(--reg-btn,var(--accent,#0071e3));border-radius:50%;width:36px;height:36px;animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.loading p{color:#fff9;font-size:14px}.error-page{text-align:center;background:var(--reg-bg,#1a1a1a);flex-direction:column;justify-content:center;align-items:center;min-height:100dvh;padding:24px;display:flex}.error-page h1{color:#fff6;margin-bottom:8px;font-size:48px}.error-page p{color:#fff9;font-size:16px}@media (max-width:480px){.registration-page,.success-page{padding:12px}.registration-container,.success-container{border-radius:16px;padding:24px 16px}.registration-header h1{font-size:20px}.registration-header p{letter-spacing:-.01em;opacity:.72;font-size:12px}}@media (max-width:380px){.registration-header p{font-size:11px}}