:root{--md-sys-typescale-display-large-font: var(--brand-font, "Noto Sans Display", system-ui, sans-serif);--md-sys-typescale-display-large-size: 57px;--md-sys-typescale-display-large-line-height: 64px;--md-sys-typescale-display-large-weight: 400;--md-sys-typescale-display-large-tracking: -.25px;--md-sys-typescale-display-medium-font: var(--brand-font, "Noto Sans Display", system-ui, sans-serif);--md-sys-typescale-display-medium-size: 45px;--md-sys-typescale-display-medium-line-height: 52px;--md-sys-typescale-display-medium-weight: 400;--md-sys-typescale-display-medium-tracking: 0;--md-sys-typescale-display-small-font: var(--brand-font, "Noto Sans Display", system-ui, sans-serif);--md-sys-typescale-display-small-size: 36px;--md-sys-typescale-display-small-line-height: 44px;--md-sys-typescale-display-small-weight: 400;--md-sys-typescale-display-small-tracking: 0;--md-sys-typescale-headline-large-font: var(--plain-font, "Noto Sans", system-ui, sans-serif);--md-sys-typescale-headline-large-size: 32px;--md-sys-typescale-headline-large-line-height: 40px;--md-sys-typescale-headline-large-weight: 400;--md-sys-typescale-headline-large-tracking: 0;--md-sys-typescale-headline-medium-font: var(--plain-font, "Noto Sans", system-ui, sans-serif);--md-sys-typescale-headline-medium-size: 28px;--md-sys-typescale-headline-medium-line-height: 36px;--md-sys-typescale-headline-medium-weight: 400;--md-sys-typescale-headline-medium-tracking: 0;--md-sys-typescale-headline-small-font: var(--plain-font, "Noto Sans", system-ui, sans-serif);--md-sys-typescale-headline-small-size: 24px;--md-sys-typescale-headline-small-line-height: 32px;--md-sys-typescale-headline-small-weight: 400;--md-sys-typescale-headline-small-tracking: 0;--md-sys-typescale-title-large-font: var(--plain-font, "Noto Sans", system-ui, sans-serif);--md-sys-typescale-title-large-size: 22px;--md-sys-typescale-title-large-line-height: 28px;--md-sys-typescale-title-large-weight: 400;--md-sys-typescale-title-large-tracking: 0;--md-sys-typescale-title-medium-font: var(--plain-font, "Noto Sans", system-ui, sans-serif);--md-sys-typescale-title-medium-size: 16px;--md-sys-typescale-title-medium-line-height: 24px;--md-sys-typescale-title-medium-weight: 500;--md-sys-typescale-title-medium-tracking: .15px;--md-sys-typescale-title-small-font: var(--plain-font, "Noto Sans", system-ui, sans-serif);--md-sys-typescale-title-small-size: 14px;--md-sys-typescale-title-small-line-height: 20px;--md-sys-typescale-title-small-weight: 500;--md-sys-typescale-title-small-tracking: .1px;--md-sys-typescale-body-large-font: var(--plain-font, "Noto Sans", system-ui, sans-serif);--md-sys-typescale-body-large-size: 16px;--md-sys-typescale-body-large-line-height: 24px;--md-sys-typescale-body-large-weight: 400;--md-sys-typescale-body-large-tracking: .5px;--md-sys-typescale-body-medium-font: var(--plain-font, "Noto Sans", system-ui, sans-serif);--md-sys-typescale-body-medium-size: 14px;--md-sys-typescale-body-medium-line-height: 20px;--md-sys-typescale-body-medium-weight: 400;--md-sys-typescale-body-medium-tracking: .25px;--md-sys-typescale-body-small-font: var(--plain-font, "Noto Sans", system-ui, sans-serif);--md-sys-typescale-body-small-size: 12px;--md-sys-typescale-body-small-line-height: 16px;--md-sys-typescale-body-small-weight: 400;--md-sys-typescale-body-small-tracking: .4px;--md-ref-typeface-plain: "Noto Sans", system-ui, -apple-system, sans-serif;--md-ref-typeface-brand: "Noto Sans Display", "Noto Sans", system-ui, sans-serif;--md-ref-typeface-code: ui-monospace, "Cascadia Code", "Fira Code", monospace;--md-sys-typescale-weight-semibold: 600;--md-sys-typescale-weight-bold: 700;--md-sys-typescale-tracking-tight: .01em;--md-sys-typescale-tracking-wide: .08em;--md-sys-typescale-tracking-wider: .15em;--md-sys-typescale-tracking-extra-wide: .18em;--md-sys-typescale-tracking-widest: .2em;--md-sys-typescale-line-height-none: 1;--md-sys-typescale-line-height-tight: 1.1;--md-sys-typescale-line-height-snug: 1.4;--md-sys-typescale-line-height-relaxed: 1.5;--md-sys-typescale-label-large-font: var(--plain-font, "Noto Sans", system-ui, sans-serif);--md-sys-typescale-label-large-size: 14px;--md-sys-typescale-label-large-line-height: 20px;--md-sys-typescale-label-large-weight: 500;--md-sys-typescale-label-large-tracking: .1px;--md-sys-typescale-label-medium-font: var(--plain-font, "Noto Sans", system-ui, sans-serif);--md-sys-typescale-label-medium-size: 12px;--md-sys-typescale-label-medium-line-height: 16px;--md-sys-typescale-label-medium-weight: 500;--md-sys-typescale-label-medium-tracking: .5px;--md-sys-typescale-label-small-font: var(--plain-font, "Noto Sans", system-ui, sans-serif);--md-sys-typescale-label-small-size: 11px;--md-sys-typescale-label-small-line-height: 16px;--md-sys-typescale-label-small-weight: 500;--md-sys-typescale-label-small-tracking: .5px;--md-sys-elevation-level0: none;--md-sys-elevation-level1: 0px 1px 2px 0px rgba(0, 0, 0, .3), 0px 1px 3px 1px rgba(0, 0, 0, .15);--md-sys-elevation-level2: 0px 1px 2px 0px rgba(0, 0, 0, .3), 0px 2px 6px 2px rgba(0, 0, 0, .15);--md-sys-elevation-level3: 0px 4px 8px 3px rgba(0, 0, 0, .15), 0px 1px 3px 0px rgba(0, 0, 0, .3);--md-sys-elevation-level4: 0px 6px 10px 4px rgba(0, 0, 0, .15), 0px 2px 3px 0px rgba(0, 0, 0, .3);--md-sys-elevation-level5: 0px 8px 12px 6px rgba(0, 0, 0, .15), 0px 4px 4px 0px rgba(0, 0, 0, .3);--md-sys-elevation-inset-subtle: inset -8px -4px 12px rgba(0, 0, 0, .1);--md-sys-motion-duration-short1: 50ms;--md-sys-motion-duration-short2: .1s;--md-sys-motion-duration-short3: .15s;--md-sys-motion-duration-short4: .2s;--md-sys-motion-duration-medium1: .25s;--md-sys-motion-duration-medium2: .3s;--md-sys-motion-duration-medium3: .35s;--md-sys-motion-duration-medium4: .4s;--md-sys-motion-duration-long1: .45s;--md-sys-motion-duration-long2: .5s;--md-sys-motion-duration-long3: .55s;--md-sys-motion-duration-long4: .6s;--md-sys-motion-easing-standard: cubic-bezier(.2, 0, 0, 1);--md-sys-motion-easing-standard-accelerate: cubic-bezier(.3, 0, 1, 1);--md-sys-motion-easing-standard-decelerate: cubic-bezier(0, 0, 0, 1);--md-sys-motion-easing-emphasized: cubic-bezier(.2, 0, 0, 1);--md-sys-motion-easing-emphasized-accelerate: cubic-bezier(.3, 0, .8, .15);--md-sys-motion-easing-emphasized-decelerate: cubic-bezier(.05, .7, .1, 1);--md-sys-motion-easing-legacy: cubic-bezier(.4, 0, .2, 1);--md-sys-motion-easing-legacy-accelerate: cubic-bezier(.4, 0, 1, 1);--md-sys-motion-easing-legacy-decelerate: cubic-bezier(0, 0, .2, 1);--md-sys-motion-easing-linear: cubic-bezier(0, 0, 1, 1);--md-sys-spacing-0: 0;--md-sys-spacing-1: 4px;--md-sys-spacing-2: 8px;--md-sys-spacing-3: 12px;--md-sys-spacing-4: 16px;--md-sys-spacing-5: 20px;--md-sys-spacing-6: 24px;--md-sys-spacing-7: 28px;--md-sys-spacing-8: 32px;--md-sys-spacing-10: 40px;--md-sys-spacing-12: 48px;--md-sys-spacing-16: 64px;--md-sys-spacing-20: 80px;--md-sys-spacing-24: 96px;--md-sys-shape-corner-none: 0;--md-sys-shape-corner-extra-small: 4px;--md-sys-shape-corner-small: 8px;--md-sys-shape-corner-medium: 12px;--md-sys-shape-corner-large: 16px;--md-sys-shape-corner-extra-large: 28px;--md-sys-shape-corner-full: 9999px;--md-sys-state-hover-opacity: .08;--md-sys-state-focus-opacity: .12;--md-sys-state-pressed-opacity: .12;--md-sys-state-dragged-opacity: .16;--md-sys-breakpoint-compact: 600px;--md-sys-breakpoint-medium: 960px;--md-sys-breakpoint-expanded: 1280px;--md-sys-breakpoint-large: 1440px;--md-sys-breakpoint-extra-large: 1920px;--md-sys-touch-target-minimum: 48px;--md-sys-touch-target-comfortable: 56px;--md-comp-tabs-scrollable-leading-offset: 52px}.display-large{font-family:var(--md-sys-typescale-display-large-font);font-size:var(--md-sys-typescale-display-large-size);font-weight:var(--md-sys-typescale-display-large-weight);line-height:var(--md-sys-typescale-display-large-line-height);letter-spacing:var(--md-sys-typescale-display-large-tracking)}.display-medium{font-family:var(--md-sys-typescale-display-medium-font);font-size:var(--md-sys-typescale-display-medium-size);font-weight:var(--md-sys-typescale-display-medium-weight);line-height:var(--md-sys-typescale-display-medium-line-height);letter-spacing:var(--md-sys-typescale-display-medium-tracking)}.display-small{font-family:var(--md-sys-typescale-display-small-font);font-size:var(--md-sys-typescale-display-small-size);font-weight:var(--md-sys-typescale-display-small-weight);line-height:var(--md-sys-typescale-display-small-line-height);letter-spacing:var(--md-sys-typescale-display-small-tracking)}.headline-large{font-family:var(--md-sys-typescale-headline-large-font);font-size:var(--md-sys-typescale-headline-large-size);font-weight:var(--md-sys-typescale-headline-large-weight);line-height:var(--md-sys-typescale-headline-large-line-height);letter-spacing:var(--md-sys-typescale-headline-large-tracking)}.headline-medium{font-family:var(--md-sys-typescale-headline-medium-font);font-size:var(--md-sys-typescale-headline-medium-size);font-weight:var(--md-sys-typescale-headline-medium-weight);line-height:var(--md-sys-typescale-headline-medium-line-height);letter-spacing:var(--md-sys-typescale-headline-medium-tracking)}.headline-small{font-family:var(--md-sys-typescale-headline-small-font);font-size:var(--md-sys-typescale-headline-small-size);font-weight:var(--md-sys-typescale-headline-small-weight);line-height:var(--md-sys-typescale-headline-small-line-height);letter-spacing:var(--md-sys-typescale-headline-small-tracking)}.title-large{font-family:var(--md-sys-typescale-title-large-font);font-size:var(--md-sys-typescale-title-large-size);font-weight:var(--md-sys-typescale-title-large-weight);line-height:var(--md-sys-typescale-title-large-line-height);letter-spacing:var(--md-sys-typescale-title-large-tracking)}.title-medium{font-family:var(--md-sys-typescale-title-medium-font);font-size:var(--md-sys-typescale-title-medium-size);font-weight:var(--md-sys-typescale-title-medium-weight);line-height:var(--md-sys-typescale-title-medium-line-height);letter-spacing:var(--md-sys-typescale-title-medium-tracking)}.title-small{font-family:var(--md-sys-typescale-title-small-font);font-size:var(--md-sys-typescale-title-small-size);font-weight:var(--md-sys-typescale-title-small-weight);line-height:var(--md-sys-typescale-title-small-line-height);letter-spacing:var(--md-sys-typescale-title-small-tracking)}.body-large{font-family:var(--md-sys-typescale-body-large-font);font-size:var(--md-sys-typescale-body-large-size);font-weight:var(--md-sys-typescale-body-large-weight);line-height:var(--md-sys-typescale-body-large-line-height);letter-spacing:var(--md-sys-typescale-body-large-tracking)}.body-medium{font-family:var(--md-sys-typescale-body-medium-font);font-size:var(--md-sys-typescale-body-medium-size);font-weight:var(--md-sys-typescale-body-medium-weight);line-height:var(--md-sys-typescale-body-medium-line-height);letter-spacing:var(--md-sys-typescale-body-medium-tracking)}.body-small{font-family:var(--md-sys-typescale-body-small-font);font-size:var(--md-sys-typescale-body-small-size);font-weight:var(--md-sys-typescale-body-small-weight);line-height:var(--md-sys-typescale-body-small-line-height);letter-spacing:var(--md-sys-typescale-body-small-tracking)}.label-large{font-family:var(--md-sys-typescale-label-large-font);font-size:var(--md-sys-typescale-label-large-size);font-weight:var(--md-sys-typescale-label-large-weight);line-height:var(--md-sys-typescale-label-large-line-height);letter-spacing:var(--md-sys-typescale-label-large-tracking)}.label-medium{font-family:var(--md-sys-typescale-label-medium-font);font-size:var(--md-sys-typescale-label-medium-size);font-weight:var(--md-sys-typescale-label-medium-weight);line-height:var(--md-sys-typescale-label-medium-line-height);letter-spacing:var(--md-sys-typescale-label-medium-tracking)}.label-small{font-family:var(--md-sys-typescale-label-small-font);font-size:var(--md-sys-typescale-label-small-size);font-weight:var(--md-sys-typescale-label-small-weight);line-height:var(--md-sys-typescale-label-small-line-height);letter-spacing:var(--md-sys-typescale-label-small-tracking)}.elevation-0{box-shadow:var(--md-sys-elevation-level0)}.elevation-1{box-shadow:var(--md-sys-elevation-level1)}.elevation-2{box-shadow:var(--md-sys-elevation-level2)}.elevation-3{box-shadow:var(--md-sys-elevation-level3)}.elevation-4{box-shadow:var(--md-sys-elevation-level4)}.elevation-5{box-shadow:var(--md-sys-elevation-level5)}:root{--md-sys-spring-expressive-spatial-default-stiffness: 130;--md-sys-spring-expressive-spatial-default-damping: 17;--md-sys-spring-expressive-spatial-default-mass: 1;--md-sys-spring-expressive-spatial-fast-stiffness: 160;--md-sys-spring-expressive-spatial-fast-damping: 14;--md-sys-spring-expressive-spatial-fast-mass: 1;--md-sys-spring-expressive-spatial-slow-stiffness: 100;--md-sys-spring-expressive-spatial-slow-damping: 20;--md-sys-spring-expressive-spatial-slow-mass: 1;--md-sys-spring-expressive-effects-default-stiffness: 150;--md-sys-spring-expressive-effects-default-damping: 19;--md-sys-spring-expressive-effects-default-mass: 1;--md-sys-spring-expressive-effects-fast-stiffness: 200;--md-sys-spring-expressive-effects-fast-damping: 17;--md-sys-spring-expressive-effects-fast-mass: 1;--md-sys-spring-expressive-effects-slow-stiffness: 120;--md-sys-spring-expressive-effects-slow-damping: 22;--md-sys-spring-expressive-effects-slow-mass: 1;--md-sys-spring-standard-spatial-default-stiffness: 180;--md-sys-spring-standard-spatial-default-damping: 26;--md-sys-spring-standard-spatial-default-mass: 1;--md-sys-spring-standard-spatial-fast-stiffness: 210;--md-sys-spring-standard-spatial-fast-damping: 24;--md-sys-spring-standard-spatial-fast-mass: 1;--md-sys-spring-standard-spatial-slow-stiffness: 150;--md-sys-spring-standard-spatial-slow-damping: 28;--md-sys-spring-standard-spatial-slow-mass: 1;--md-sys-spring-standard-effects-default-stiffness: 200;--md-sys-spring-standard-effects-default-damping: 29;--md-sys-spring-standard-effects-default-mass: 1;--md-sys-spring-standard-effects-fast-stiffness: 250;--md-sys-spring-standard-effects-fast-damping: 25;--md-sys-spring-standard-effects-fast-mass: 1;--md-sys-spring-standard-effects-slow-stiffness: 170;--md-sys-spring-standard-effects-slow-damping: 32;--md-sys-spring-standard-effects-slow-mass: 1;--md-sys-easing-emphasized: cubic-bezier(.2, 0, 0, 1);--md-sys-easing-emphasized-accelerate: cubic-bezier(.3, 0, .8, .15);--md-sys-easing-emphasized-decelerate: cubic-bezier(.05, .7, .1, 1);--md-sys-easing-standard: cubic-bezier(.2, 0, .8, .15);--md-sys-easing-standard-accelerate: cubic-bezier(.3, 0, 1, 1);--md-sys-easing-standard-decelerate: cubic-bezier(0, 0, .2, 1)}@media(max-width:600px){:root{--md-sys-typescale-display-large-size: 36px;--md-sys-typescale-display-large-line-height: 44px;--md-sys-typescale-display-medium-size: 32px;--md-sys-typescale-display-medium-line-height: 40px;--md-sys-typescale-headline-large-size: 28px;--md-sys-typescale-headline-large-line-height: 36px}}@media(prefers-reduced-motion:reduce){:root{--md-sys-spring-expressive-spatial-default-damping: 40;--md-sys-spring-expressive-spatial-fast-damping: 40;--md-sys-spring-expressive-spatial-slow-damping: 40;--md-sys-spring-expressive-effects-default-damping: 40;--md-sys-spring-expressive-effects-fast-damping: 40;--md-sys-spring-expressive-effects-slow-damping: 40;--md-sys-spring-standard-spatial-default-damping: 50;--md-sys-spring-standard-spatial-fast-damping: 50;--md-sys-spring-standard-spatial-slow-damping: 50;--md-sys-spring-standard-effects-default-damping: 50;--md-sys-spring-standard-effects-fast-damping: 50;--md-sys-spring-standard-effects-slow-damping: 50;--md-sys-motion-duration-short1: 1ms;--md-sys-motion-duration-short2: 1ms;--md-sys-motion-duration-short3: 1ms;--md-sys-motion-duration-short4: 1ms;--md-sys-motion-duration-medium1: 1ms;--md-sys-motion-duration-medium2: 1ms;--md-sys-motion-duration-medium3: 1ms;--md-sys-motion-duration-medium4: 1ms;--md-sys-motion-duration-long1: 1ms;--md-sys-motion-duration-long2: 1ms;--md-sys-motion-duration-long3: 1ms;--md-sys-motion-duration-long4: 1ms}}:root{--safe-area-inset-top: env(safe-area-inset-top, 0px);--safe-area-inset-right: env(safe-area-inset-right, 0px);--safe-area-inset-bottom: env(safe-area-inset-bottom, 0px);--safe-area-inset-left: env(safe-area-inset-left, 0px);--edge-to-edge: 1;--viewport-height: 100dvh}html{width:100%;overflow:auto;-webkit-user-select:none;user-select:none}body{width:100%;min-height:100dvh;overflow:visible;-webkit-user-select:text;user-select:text}.container-safe{padding-left:var(--safe-area-inset-left);padding-right:var(--safe-area-inset-right)}.header-safe{padding-top:var(--safe-area-inset-top);padding-left:var(--safe-area-inset-left);padding-right:var(--safe-area-inset-right)}.content-safe{padding-left:var(--safe-area-inset-left);padding-right:var(--safe-area-inset-right)}.footer-safe{padding-bottom:var(--safe-area-inset-bottom);padding-left:var(--safe-area-inset-left);padding-right:var(--safe-area-inset-right)}.full-bleed{margin-left:calc(-1 * var(--safe-area-inset-left));margin-right:calc(-1 * var(--safe-area-inset-right));padding-left:var(--safe-area-inset-left);padding-right:var(--safe-area-inset-right)}.viewport-height{height:var(--viewport-height)}.viewport-height-large{height:100lvh}.viewport-height-small{height:100svh}.gesture-safe{padding-bottom:max(var(--safe-area-inset-bottom),16px)}.scrollable-safe{overflow-y:auto;overflow-x:hidden;padding-left:var(--safe-area-inset-left);padding-right:var(--safe-area-inset-right);padding-bottom:max(var(--safe-area-inset-bottom),16px)}@supports (padding: env(safe-area-inset-left)){.supports-notch:before{content:attr(data-notch-support)}}@media(orientation:landscape){:root{--viewport-height: 100lvh}.header-safe{padding-top:min(var(--safe-area-inset-top),8px)}}@media(min-width:600px){:root{--safe-area-inset-top: 0px;--safe-area-inset-bottom: 0px;--safe-area-inset-left: 0px;--safe-area-inset-right: 0px}}*,*:before,*:after{box-sizing:border-box}.skip-link{position:absolute;left:-9999px;top:auto;width:1px;height:1px;overflow:hidden;z-index:9999}.skip-link:focus{position:fixed;top:var(--md-sys-spacing-4);left:var(--md-sys-spacing-4);width:auto;height:auto;padding:var(--md-sys-spacing-3) var(--md-sys-spacing-4);background:var(--md-sys-color-primary);color:var(--md-sys-color-on-primary);border-radius:var(--md-sys-shape-corner-medium);font-size:var(--md-sys-typescale-label-large-size);font-weight:var(--md-sys-typescale-label-large-weight);text-decoration:none;box-shadow:var(--md-sys-elevation-level3)}:root{color-scheme:light;--md-ref-typeface-plain: "Noto Sans", system-ui, -apple-system, sans-serif;--md-ref-typeface-brand: "Noto Sans Display", "Noto Sans", system-ui, sans-serif;--plain-font: var(--md-ref-typeface-plain);--brand-font: var(--md-ref-typeface-brand);--md-sys-color-primary: #6d4bd1;--md-sys-color-on-primary: #ffffff;--md-sys-color-primary-container: #eaddff;--md-sys-color-on-primary-container: #23005a;--md-sys-color-secondary: #6c5b79;--md-sys-color-on-secondary: #ffffff;--md-sys-color-secondary-container: #f4ddff;--md-sys-color-on-secondary-container: #241532;--md-sys-color-tertiary: #8b4a60;--md-sys-color-on-tertiary: #ffffff;--md-sys-color-tertiary-container: #ffd9e2;--md-sys-color-on-tertiary-container: #39081c;--md-sys-color-error: #ba1a1a;--md-sys-color-on-error: #ffffff;--md-sys-color-error-container: #ffdad6;--md-sys-color-on-error-container: #410002;--md-sys-color-background: #fef7ff;--md-sys-color-on-background: #1d1b20;--md-sys-color-surface: #fef7ff;--md-sys-color-on-surface: #1d1b20;--md-sys-color-surface-variant: #e7e0ec;--md-sys-color-on-surface-variant: #49454f;--md-sys-color-outline: #79747e;--md-sys-color-outline-variant: #cac4d0;--md-sys-color-shadow: #000000;--md-sys-color-surface-container: #f3edf7;--md-sys-color-surface-container-high: #ece6f0;--md-sys-color-surface-container-highest: #e6e0e9;--md-sys-color-scrim: rgba(0, 0, 0, .32);--md-sys-color-inverse-surface: #313033;--md-sys-color-inverse-on-surface: #f4eff4}body{margin:0;min-height:100dvh;width:100%;background:radial-gradient(1100px 520px at top left,var(--md-sys-color-primary-container),transparent 60%),radial-gradient(900px 460px at top right,var(--md-sys-color-tertiary-container),transparent 55%),var(--md-sys-color-background);color:var(--md-sys-color-on-background);font-family:var(--md-sys-typescale-body-medium-font);font-size:var(--md-sys-typescale-body-medium-size);font-weight:var(--md-sys-typescale-body-medium-weight);line-height:var(--md-sys-typescale-body-medium-line-height);letter-spacing:var(--md-sys-typescale-body-medium-tracking)}a{color:inherit;text-decoration:none}img{max-width:100%;display:block}.app-shell{min-height:100dvh;display:grid;grid-template-rows:auto 1fr auto;grid-template-columns:1fr;position:relative}.app-header{display:flex;align-items:center;justify-content:center;padding:calc(var(--md-sys-spacing-4) + var(--safe-area-inset-top)) var(--md-sys-spacing-6) var(--md-sys-spacing-4) var(--md-sys-spacing-6);padding-left:calc(var(--md-sys-spacing-6) + var(--safe-area-inset-left));padding-right:calc(var(--md-sys-spacing-6) + var(--safe-area-inset-right));background:var(--md-sys-color-surface-container);position:relative;transition:background var(--md-sys-motion-duration-short4) var(--md-sys-motion-easing-standard)}.header-actions{position:absolute;right:calc(var(--md-sys-spacing-6) + var(--safe-area-inset-right));display:flex;align-items:center;gap:var(--md-sys-spacing-4)}.header-actions-group{display:flex;align-items:center;gap:var(--md-sys-spacing-2);padding:var(--md-sys-spacing-1);background:var(--md-sys-color-surface-container-high);border-radius:var(--md-sys-shape-corner-full)}.header-actions-group.is-hidden{display:none}.theme-switcher{position:relative;display:flex;align-items:center}.brand{display:flex;align-items:center;gap:var(--md-sys-spacing-3);min-height:var(--md-sys-touch-target-minimum);padding:var(--md-sys-spacing-2) var(--md-sys-spacing-3);font-family:var(--md-sys-typescale-title-large-font);font-size:var(--md-sys-typescale-title-large-size);line-height:var(--md-sys-typescale-title-large-line-height);cursor:pointer;border-radius:var(--md-sys-shape-corner-small);transition:opacity var(--md-sys-motion-duration-short3) var(--md-sys-motion-easing-standard),background-color var(--md-sys-motion-duration-short3) var(--md-sys-motion-easing-standard)}.brand-text{font-weight:var(--md-sys-typescale-title-large-weight)}.brand-text strong{font-weight:var(--md-sys-typescale-weight-semibold)}.brand:hover{background:color-mix(in srgb,var(--md-sys-color-primary) 8%,transparent)}.brand:focus-visible{outline:2px solid var(--md-sys-color-primary);outline-offset:var(--md-sys-spacing-1)}.brand .material-symbols-rounded{font-size:calc(var(--md-sys-typescale-headline-medium-size) * 1.25);color:var(--md-sys-color-primary)}.nav{display:none}.user-menu-anchor{position:relative;display:flex;align-items:center}.theme-switcher md-filled-tonal-icon-button,.user-menu-anchor md-filled-tonal-icon-button{--md-filled-tonal-icon-button-container-color: var(--md-sys-color-secondary-container);--md-filled-tonal-icon-button-icon-color: var(--md-sys-color-on-secondary-container);--md-filled-tonal-icon-button-hover-state-layer-color: var(--md-sys-color-on-secondary-container);--md-filled-tonal-icon-button-pressed-state-layer-color: var(--md-sys-color-on-secondary-container);--md-focus-ring-color: var(--md-sys-color-secondary);transition:box-shadow var(--md-sys-motion-duration-short3) var(--md-sys-motion-easing-standard)}.user-menu-anchor.is-hidden{display:none}.theme-switcher md-menu,.user-menu-anchor md-menu{min-width:calc(var(--md-sys-spacing-24) * 2 + var(--md-sys-spacing-2))}.theme-switcher md-menu md-menu-item[selected]{--md-menu-item-label-text-color: var(--md-sys-color-primary);--md-menu-item-container-color: color-mix(in srgb, var(--md-sys-color-primary) 12%, transparent)}.user-menu-anchor .user-email-item{--md-menu-item-label-text-color: var(--md-sys-color-on-surface-variant);font-size:var(--md-sys-typescale-body-small-size)}.app-content{padding:var(--md-sys-spacing-10) var(--md-sys-spacing-6) var(--md-sys-spacing-16);padding-left:calc(var(--md-sys-spacing-6) + var(--safe-area-inset-left));padding-right:calc(var(--md-sys-spacing-6) + var(--safe-area-inset-right));padding-bottom:calc(var(--md-sys-spacing-16) + var(--safe-area-inset-bottom));max-width:1100px;width:100%;margin:0 auto;overflow-y:auto;-webkit-overflow-scrolling:touch}.page{display:flex;flex-direction:column;gap:var(--md-sys-spacing-8)}.get-started-page{align-items:center}.get-started-page .section{width:min(100%,780px);margin:0 auto}.get-started-page .card{width:100%}.reveal-preview-page{gap:var(--md-sys-spacing-6)}.hero{position:relative;padding:var(--md-sys-spacing-10);border-radius:var(--md-sys-shape-corner-extra-large);background:linear-gradient(135deg,var(--md-sys-color-primary-container),var(--md-sys-color-tertiary-container));background-size:180% 180%;animation:heroGradient 14s ease-in-out infinite;border:1px solid var(--md-sys-color-outline-variant);box-shadow:var(--md-sys-elevation-level2);overflow:hidden}.hero:before{content:"";position:absolute;bottom:calc(-1 * var(--md-sys-spacing-20));left:calc(-1 * var(--md-sys-spacing-16));width:220px;height:220px;background:radial-gradient(circle,var(--md-sys-color-primary-container),transparent 70%);opacity:.8;animation:floatBubble 16s var(--md-sys-motion-easing-standard) infinite;z-index:0;pointer-events:none}.hero:after{content:"";position:absolute;top:calc(-1 * var(--md-sys-spacing-16));right:calc(-1 * var(--md-sys-spacing-10));width:240px;height:240px;background:radial-gradient(circle,var(--md-sys-color-secondary-container),transparent 70%);opacity:.6;animation:floatBubbleReverse 14s var(--md-sys-motion-easing-standard) infinite;z-index:0;pointer-events:none}.hero>*{position:relative;z-index:1}.hero h1{margin:0 0 var(--md-sys-spacing-3);font-family:var(--md-sys-typescale-display-medium-font);font-size:clamp(var(--md-sys-typescale-headline-large-size),3vw,var(--md-sys-typescale-display-medium-size));font-weight:var(--md-sys-typescale-display-medium-weight);line-height:var(--md-sys-typescale-display-medium-line-height);letter-spacing:var(--md-sys-typescale-display-medium-tracking)}.eyebrow{margin:0 0 var(--md-sys-spacing-3);font-size:var(--md-sys-typescale-label-medium-size);font-weight:var(--md-sys-typescale-label-medium-weight);line-height:var(--md-sys-typescale-label-medium-line-height);letter-spacing:var(--md-sys-typescale-tracking-extra-wide);text-transform:uppercase;color:var(--md-sys-color-on-surface-variant);display:inline-flex;align-items:center;gap:var(--md-sys-spacing-2)}.eyebrow .material-symbols-rounded{font-size:var(--md-sys-typescale-body-large-size);color:var(--md-sys-color-primary)}.hero-badge{display:inline-flex;align-items:center;gap:var(--md-sys-spacing-2);padding:var(--md-sys-spacing-2) var(--md-sys-spacing-4);border-radius:var(--md-sys-shape-corner-full);background:color-mix(in srgb,var(--md-sys-color-surface) 70%,var(--md-sys-color-primary-container) 30%);color:var(--md-sys-color-on-surface);border:1px solid var(--md-sys-color-outline-variant);font-size:var(--md-sys-typescale-label-large-size);font-weight:var(--md-sys-typescale-label-large-weight);line-height:var(--md-sys-typescale-label-large-line-height);margin-bottom:var(--md-sys-spacing-3);animation:none}.hero-badge .material-symbols-rounded{font-size:var(--md-sys-typescale-body-large-size);color:var(--md-sys-color-primary);line-height:var(--md-sys-typescale-line-height-none)}.hero p{margin:0 0 var(--md-sys-spacing-6);max-width:560px;font-size:var(--md-sys-typescale-body-large-size);line-height:var(--md-sys-typescale-body-large-line-height);letter-spacing:var(--md-sys-typescale-body-large-tracking);color:var(--md-sys-color-on-surface-variant)}.hero-actions{display:flex;gap:var(--md-sys-spacing-4);flex-wrap:wrap}.section{display:flex;flex-direction:column;gap:var(--md-sys-spacing-4)}.section h2{margin:0;font-family:var(--md-sys-typescale-headline-medium-font);font-size:var(--md-sys-typescale-headline-medium-size);font-weight:var(--md-sys-typescale-headline-medium-weight);line-height:var(--md-sys-typescale-headline-medium-line-height);letter-spacing:var(--md-sys-typescale-headline-medium-tracking);background:linear-gradient(135deg,var(--md-sys-color-primary) 0%,var(--md-sys-color-tertiary) 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.section>p{margin:var(--md-sys-spacing-2) 0 var(--md-sys-spacing-4) 0}.event-summary{background:linear-gradient(135deg,color-mix(in srgb,var(--md-sys-color-primary) 8%,transparent),color-mix(in srgb,var(--md-sys-color-tertiary) 8%,transparent));border:1px solid var(--md-sys-color-outline-variant);border-radius:var(--md-sys-shape-corner-extra-large);padding:var(--md-sys-spacing-5);text-align:center;position:relative;overflow:hidden}.event-summary:before{content:"";position:absolute;top:-50%;right:-50%;width:100%;height:100%;background:radial-gradient(circle,color-mix(in srgb,var(--md-sys-color-primary) 12%,transparent) 0%,transparent 70%);animation:summaryGlow 8s var(--md-sys-easing-emphasized) infinite}@keyframes summaryGlow{0%,to{opacity:.3;transform:translate(0) scale(1)}50%{opacity:.6;transform:translate(-10%,10%) scale(1.1)}}.event-summary__title{position:relative;font-family:var(--md-ref-typeface-brand);font-size:var(--md-sys-typescale-headline-large-size);font-weight:var(--md-sys-typescale-headline-large-weight);line-height:var(--md-sys-typescale-headline-large-line-height);color:var(--md-sys-color-on-surface);margin-bottom:var(--md-sys-spacing-2)}.event-summary .footer-note{position:relative;font-size:var(--md-sys-typescale-body-large-size);color:var(--md-sys-color-on-surface-variant);margin:0}.inline-icon{font-size:var(--md-sys-typescale-title-large-size);margin-right:var(--md-sys-spacing-2);color:var(--md-sys-color-primary);vertical-align:middle}.section h3{margin:0;font-family:var(--md-sys-typescale-headline-small-font);font-size:var(--md-sys-typescale-headline-small-size);font-weight:var(--md-sys-typescale-headline-small-weight);line-height:var(--md-sys-typescale-headline-small-line-height);letter-spacing:var(--md-sys-typescale-headline-small-tracking)}.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:var(--md-sys-spacing-5)}.card{position:relative;background:var(--md-sys-color-surface-container);border-radius:var(--md-sys-shape-corner-large);padding:var(--md-sys-spacing-5);border:1px solid var(--md-sys-color-outline-variant);display:grid;gap:var(--md-sys-spacing-3);box-shadow:var(--md-sys-elevation-level1);transition:transform var(--md-sys-motion-duration-short4) var(--md-sys-motion-easing-standard),box-shadow var(--md-sys-motion-duration-short4) var(--md-sys-motion-easing-standard);overflow:hidden}.auth-card-compact{display:grid;gap:var(--md-sys-spacing-3);align-items:center}.auth-identity{display:flex;align-items:center;justify-content:space-between;gap:var(--md-sys-spacing-3)}.auth-inline-actions{display:flex;gap:var(--md-sys-spacing-2);flex-wrap:wrap}.auth-fields{display:grid;gap:var(--md-sys-spacing-3)}.auth-send{justify-self:start}.auth-signed-in{display:flex}.auth-status.is-hidden{display:none}.event-list-item{background:var(--md-sys-color-surface);border:1px solid var(--md-sys-color-outline-variant);border-radius:var(--md-sys-shape-corner-medium);padding:var(--md-sys-spacing-4);display:grid;gap:var(--md-sys-spacing-3)}.event-list-header{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--md-sys-spacing-2)}.event-list-date{margin:var(--md-sys-spacing-1) 0 0}.status-chip{display:inline-flex;align-items:center;border-radius:var(--md-sys-shape-corner-full);padding:var(--md-sys-spacing-1) var(--md-sys-spacing-3);background:color-mix(in srgb,var(--md-sys-color-primary) 10%,var(--md-sys-color-surface) 90%);color:var(--md-sys-color-on-surface);font-size:var(--md-sys-typescale-label-large-size);font-weight:var(--md-sys-typescale-label-large-weight);line-height:var(--md-sys-typescale-label-large-line-height);border:1px solid var(--md-sys-color-outline-variant)}.card:before{content:"";position:absolute;inset:0 0 auto;height:4px;border-radius:inherit;background:linear-gradient(90deg,var(--md-sys-color-primary),var(--md-sys-color-tertiary));opacity:.6;pointer-events:none}@media(hover:hover){.card:hover{transform:translateY(-2px);box-shadow:var(--md-sys-elevation-level2)}body.reveal-fullscreen-active .card:hover{transform:none;box-shadow:var(--md-sys-elevation-level1)}}@keyframes floatBubble{0%,to{transform:translateY(0)}50%{transform:translateY(-18px)}}@keyframes floatBubbleReverse{0%,to{transform:translateY(0)}50%{transform:translateY(16px)}}@keyframes floatBadge{0%,to{transform:translateY(0)}50%{transform:translateY(-6px)}}@keyframes confettiFall{0%{opacity:0;transform:translate3d(var(--drift),-10%,0) rotate(var(--rotate))}10%{opacity:1}to{opacity:0;transform:translate3d(var(--drift),120%,0) rotate(calc(var(--rotate) + 180deg))}}@keyframes revealPop{0%{transform:scale(.96);opacity:.6}to{transform:scale(1);opacity:1}}@keyframes countdownPulse{0%,to{transform:scale(1)}50%{transform:scale(1.08)}}@keyframes balloonFloat{0%,to{transform:translateY(0)}50%{transform:translateY(-24px)}}@keyframes sparklePop{0%{opacity:0;transform:scale(.4)}30%{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(1.2)}}@keyframes celebrationGlow{0%{transform:scale(.98)}to{transform:scale(1)}}@keyframes stagePop{0%{transform:scale(.98)}70%{transform:scale(1.02)}to{transform:scale(1)}}@keyframes streamerWave{0%,to{opacity:.2;transform:translateY(0) rotate(var(--rotate))}50%{opacity:.9;transform:translateY(18px) rotate(calc(var(--rotate) + 8deg))}}@keyframes flashPop{0%{opacity:0;transform:scale(.6)}60%{opacity:.8;transform:scale(1)}to{opacity:0;transform:scale(1.2)}}@keyframes cheerPop{0%{opacity:0;transform:translateY(8px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes recapRise{0%{opacity:0;transform:translateY(16px) scale(.96)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes particleFloat{0%,to{transform:translateY(0) scale(1);opacity:.4}50%{transform:translateY(-20px) scale(1.3);opacity:.8}}@keyframes waitingPulse{0%,to{transform:scale(1);opacity:.9}50%{transform:scale(1.12);opacity:1}}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}@keyframes headlinePop{0%{transform:scale(.5);opacity:0}60%{transform:scale(1.05);opacity:1}to{transform:scale(1);opacity:1}}@media(prefers-reduced-motion:reduce){.hero,.hero:before,.hero:after,.hero-badge,.reveal-preview-hero,.event-summary:before{animation:none}.card{transition:none}.confetti-piece,.sparkle{animation:none}}.card .material-symbols-rounded{color:var(--md-sys-color-primary);font-size:var(--md-sys-typescale-headline-small-size)}.form-grid{display:grid;gap:var(--md-sys-spacing-5)}.vote-form .form-grid{margin-top:var(--md-sys-spacing-3)}.label{display:block;font-size:var(--md-sys-typescale-label-small-size);font-weight:var(--md-sys-typescale-label-small-weight);line-height:var(--md-sys-typescale-label-small-line-height);letter-spacing:var(--md-sys-typescale-tracking-wide);text-transform:uppercase;color:var(--md-sys-color-outline)}.link-row{display:flex;align-items:center;gap:var(--md-sys-spacing-2);flex-wrap:wrap;word-break:break-word}.checkout-summary,.checkout-links{display:grid;gap:var(--md-sys-spacing-4)}.theme-preview{border-radius:var(--md-sys-shape-corner-large);border:1px solid var(--md-sys-color-outline-variant);background:var(--md-sys-color-surface);padding:var(--md-sys-spacing-6);display:grid;gap:var(--md-sys-spacing-6)}.theme-preview__header{display:flex;gap:var(--md-sys-spacing-4);align-items:center;justify-content:space-between;flex-wrap:wrap}.theme-preview__swatches{display:flex;gap:var(--md-sys-spacing-2)}.theme-swatch{width:var(--md-sys-spacing-7);height:var(--md-sys-spacing-7);border-radius:var(--md-sys-shape-corner-small);border:1px solid var(--md-sys-color-outline-variant)}.theme-preview__body{display:grid;gap:var(--md-sys-spacing-3)}.theme-preview__brand{margin:0;font-family:var(--md-sys-typescale-title-large-font);font-size:var(--md-sys-typescale-title-large-size);font-weight:var(--md-sys-typescale-title-large-weight);line-height:var(--md-sys-typescale-title-large-line-height)}.theme-preview__actions{display:flex;gap:var(--md-sys-spacing-3);flex-wrap:wrap}md-filled-text-field,md-outlined-text-field,md-filled-select{width:100%}md-outlined-text-field [slot=trailing-icon],md-filled-text-field [slot=trailing-icon]{--md-icon-button-container-width: var(--md-sys-touch-target-minimum);--md-icon-button-container-height: var(--md-sys-touch-target-minimum)}.toggle-row{display:flex;align-items:center;justify-content:space-between;padding:var(--md-sys-spacing-3) var(--md-sys-spacing-4);border-radius:var(--md-sys-shape-corner-medium);border:1px solid var(--md-sys-color-outline-variant);background:var(--md-sys-color-surface)}.choice-list{display:grid;gap:var(--md-sys-spacing-3)}.choice-row{display:flex;align-items:center;gap:var(--md-sys-spacing-3);padding:var(--md-sys-spacing-3) var(--md-sys-spacing-4);border-radius:var(--md-sys-shape-corner-medium);border:1px solid var(--md-sys-color-outline-variant);background:var(--md-sys-color-surface)}.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:var(--md-sys-spacing-4)}.stat{padding:var(--md-sys-spacing-4);border-radius:var(--md-sys-shape-corner-medium);background:var(--md-sys-color-surface-container-high);border:1px solid var(--md-sys-color-outline-variant)}.reveal-preview-hero{padding:var(--md-sys-spacing-8);border-radius:var(--md-sys-shape-corner-extra-large);border:1px solid var(--md-sys-color-outline-variant);background:linear-gradient(135deg,var(--md-sys-color-primary-container),var(--md-sys-color-secondary-container));background-size:160% 160%;animation:heroGradient 14s ease-in-out infinite;display:grid;gap:var(--md-sys-spacing-3)}.reveal-preview-hero__actions{display:flex;gap:var(--md-sys-spacing-3);flex-wrap:wrap}.preview-tabs{position:sticky;top:0;z-index:5;margin-top:var(--md-sys-spacing-2);margin-bottom:var(--md-sys-spacing-4);background:color-mix(in srgb,var(--md-sys-color-surface) 92%,white 8%);border-bottom:1px solid var(--md-sys-color-outline-variant)}.preview-panel{display:none;gap:var(--md-sys-spacing-6)}.preview-panel.is-active{display:grid}.preview-window{display:grid;gap:var(--md-sys-spacing-3)}.preview-window__heading h3{margin:0;font-family:var(--md-sys-typescale-headline-small-font);font-size:var(--md-sys-typescale-headline-small-size);font-weight:var(--md-sys-typescale-headline-small-weight);line-height:var(--md-sys-typescale-headline-small-line-height)}.preview-window__heading .footer-note{margin:0}.preview-disclaimer{display:flex;align-items:flex-start;gap:var(--md-sys-spacing-2);padding:var(--md-sys-spacing-3);background:var(--md-sys-color-surface-container-low);border-radius:var(--md-sys-shape-corner-small)}.preview-disclaimer .material-symbols-rounded{font-size:var(--md-sys-typescale-title-medium-size);color:var(--md-sys-color-on-surface-variant);flex-shrink:0}.preview-disclaimer .footer-note{margin:0}.preview-window__card{padding:var(--md-sys-spacing-6)}.preview-window__card--static{pointer-events:none}.preview-stage-wrap{display:grid;gap:var(--md-sys-spacing-4)}.preview-stage-actions{display:flex;gap:var(--md-sys-spacing-3);flex-wrap:wrap}.qr-preview-card{display:grid;gap:var(--md-sys-spacing-4)}.qr-preview-actions{display:flex;justify-content:center}.qr-letter{width:min(100%,320px);aspect-ratio:8.5 / 11;background:var(--md-sys-color-surface);border:1px solid var(--md-sys-color-outline-variant);border-radius:var(--md-sys-shape-corner-large);box-shadow:var(--md-sys-elevation-level2);margin:0 auto;display:grid;place-items:center}.qr-letter__content{width:82%;text-align:center;display:grid;gap:var(--md-sys-spacing-3);color:var(--md-sys-color-on-surface)}.qr-letter__eyebrow{margin:0;text-transform:uppercase;letter-spacing:var(--md-sys-typescale-tracking-wider);font-size:var(--md-sys-typescale-label-small-size);font-weight:var(--md-sys-typescale-label-small-weight);line-height:var(--md-sys-typescale-label-small-line-height);color:var(--md-sys-color-on-surface-variant)}.qr-letter h4{margin:0;font-family:var(--md-sys-typescale-headline-small-font);font-size:var(--md-sys-typescale-headline-small-size);font-weight:var(--md-sys-typescale-headline-small-weight);line-height:var(--md-sys-typescale-headline-small-line-height)}.qr-letter__details{margin:0;font-size:var(--md-sys-typescale-body-medium-size);line-height:var(--md-sys-typescale-body-medium-line-height);color:var(--md-sys-color-on-surface-variant);display:grid;gap:var(--md-sys-spacing-1)}.qr-letter__qr{width:120px;height:120px;margin:0 auto;border-radius:var(--md-sys-shape-corner-medium);border:2px dashed var(--md-sys-color-outline);display:grid;place-items:center;background:var(--md-sys-color-surface)}.qr-letter__qr .qr-placeholder{width:86px;height:86px;color:var(--md-sys-color-primary)}.qr-letter__cta{margin:0;font-weight:var(--md-sys-typescale-weight-semibold)}.qr-letter__link{font-weight:var(--md-sys-typescale-weight-semibold);color:var(--md-sys-color-primary)}.qr-print-page{gap:var(--md-sys-spacing-6)}.qr-print-actions{display:flex;gap:var(--md-sys-spacing-3);flex-wrap:wrap}.qr-print-sheet{display:grid;justify-items:center}.qr-letter--print{width:min(100%,8.5in);border-radius:var(--md-sys-shape-corner-extra-large)}@media print{@page{size:letter;margin:.5in}body{background:var(--md-sys-color-surface)}.app-header,.qr-print-actions{display:none}.app-content{padding:0;max-width:none}.qr-letter--print{width:8.5in;height:11in;box-shadow:none;border:1px solid var(--md-sys-color-outline-variant)}}.qr-card-tab{display:grid;gap:var(--md-sys-spacing-3)}.qr-card-tab__title{margin:0;font-family:var(--md-sys-typescale-headline-small-font);font-size:var(--md-sys-typescale-headline-small-size);font-weight:var(--md-sys-typescale-headline-small-weight);line-height:var(--md-sys-typescale-headline-small-line-height)}.qr-card-tab__subtitle{margin:0;font-size:var(--md-sys-typescale-body-medium-size);line-height:var(--md-sys-typescale-body-medium-line-height);color:var(--md-sys-color-on-surface-variant)}.qr-card-preview-wrapper{background:var(--md-sys-color-surface-container);border:1px solid var(--md-sys-color-outline-variant);border-radius:var(--md-sys-shape-corner-extra-large);padding:var(--md-sys-spacing-5);display:grid;gap:var(--md-sys-spacing-3);justify-items:center}.qr-card-preview-container{display:grid;justify-items:center;width:100%}.qr-card-preview-note{margin:0;font-size:var(--md-sys-typescale-body-small-size);line-height:var(--md-sys-typescale-body-small-line-height);color:var(--md-sys-color-on-surface-variant);text-align:center}.qr-card-actions{display:flex;justify-content:center}.qr-letter__qr svg{width:120px;height:120px}.qr-letter__qr:has(svg){border:none}.qr-letter__qr .qr-loading{font-size:var(--md-sys-typescale-body-small-size);color:var(--md-sys-color-on-surface-variant)}.text-link{color:var(--md-sys-color-primary);font-weight:var(--md-sys-typescale-weight-semibold)}.rsvp-details{display:grid;gap:var(--md-sys-spacing-2);padding:var(--md-sys-spacing-3);border-radius:var(--md-sys-shape-corner-medium);border:1px solid var(--md-sys-color-outline-variant);background:var(--md-sys-color-surface)}.rsvp-details p{margin:var(--md-sys-spacing-1) 0}.registry-links{display:grid;gap:var(--md-sys-spacing-2);padding:var(--md-sys-spacing-3);border-radius:var(--md-sys-shape-corner-medium);border:1px solid var(--md-sys-color-outline-variant);background:var(--md-sys-color-surface)}.reveal-locked-card{text-align:center;display:grid;gap:var(--md-sys-spacing-3);align-items:center;justify-items:center}.reveal-locked-card .material-symbols-rounded{font-size:var(--md-sys-typescale-headline-large-size);color:var(--md-sys-color-primary)}.preview-section{display:grid;gap:var(--md-sys-spacing-5)}.preview-section__header{display:grid;gap:var(--md-sys-spacing-2)}.preview-section__badge{display:inline-flex;align-items:center;gap:var(--md-sys-spacing-2);padding:var(--md-sys-spacing-2) var(--md-sys-spacing-4);border-radius:var(--md-sys-shape-corner-full);border:1px solid var(--md-sys-color-outline-variant);background:color-mix(in srgb,var(--md-sys-color-surface) 75%,var(--md-sys-color-primary-container) 25%);font-size:var(--md-sys-typescale-label-large-size);font-weight:var(--md-sys-typescale-label-large-weight);line-height:var(--md-sys-typescale-label-large-line-height);width:fit-content}.preview-section__actions{display:flex;gap:var(--md-sys-spacing-3);flex-wrap:wrap}.reveal-preview-card h3{margin:0;font-family:var(--md-sys-typescale-headline-small-font);font-size:var(--md-sys-typescale-headline-small-size);font-weight:var(--md-sys-typescale-headline-small-weight);line-height:var(--md-sys-typescale-headline-small-line-height)}.reveal-preview-event{display:flex;align-items:center;justify-content:space-between;gap:var(--md-sys-spacing-4);flex-wrap:wrap}.reveal-preview-pill{padding:var(--md-sys-spacing-2) var(--md-sys-spacing-4);border-radius:var(--md-sys-shape-corner-full);font-size:var(--md-sys-typescale-label-large-size);font-weight:var(--md-sys-typescale-label-large-weight);line-height:var(--md-sys-typescale-label-large-line-height);background:color-mix(in srgb,var(--md-sys-color-surface) 70%,var(--md-sys-color-tertiary-container) 30%);border:1px solid var(--md-sys-color-outline-variant)}.reveal-preview-meta{margin-top:var(--md-sys-spacing-3);display:grid;grid-template-columns:auto auto;gap:var(--md-sys-spacing-2) var(--md-sys-spacing-5);font-size:var(--md-sys-typescale-body-medium-size);line-height:var(--md-sys-typescale-body-medium-line-height)}.reveal-preview-meta strong{justify-self:end}.reveal-preview-progress{display:grid;gap:var(--md-sys-spacing-3)}.progress-row{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:var(--md-sys-spacing-3)}.progress-bar{position:relative;height:10px;border-radius:var(--md-sys-shape-corner-full);background:var(--md-sys-color-surface-container-high);overflow:hidden}.progress-bar span{position:absolute;inset:0 auto 0 0;width:var(--value);border-radius:inherit;background:linear-gradient(90deg,var(--md-sys-color-primary),var(--md-sys-color-tertiary))}.reveal-preview-guestbook{display:grid;gap:var(--md-sys-spacing-2)}.guestbook-item{padding:var(--md-sys-spacing-2) var(--md-sys-spacing-3);border-radius:var(--md-sys-shape-corner-medium);border:1px solid var(--md-sys-color-outline-variant);background:var(--md-sys-color-surface);font-size:var(--md-sys-typescale-body-large-size)}.legend-dot{width:10px;height:10px;border-radius:var(--md-sys-shape-corner-full)}.legend-dot--girl{background:var(--md-sys-color-tertiary)}.legend-dot--boy{background:var(--md-sys-color-primary)}.legend-dot--surprise{background:var(--md-sys-color-secondary)}.reveal-preview-rsvp{display:grid;gap:var(--md-sys-spacing-4);margin-top:var(--md-sys-spacing-3)}.rsvp-option{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:var(--md-sys-spacing-2);padding:var(--md-sys-spacing-2) var(--md-sys-spacing-2);border-radius:var(--md-sys-shape-corner-medium);background:var(--md-sys-color-surface);border:1px solid var(--md-sys-color-outline-variant)}.rsvp-guest-form{display:grid;gap:var(--md-sys-spacing-4);margin-top:var(--md-sys-spacing-3)}.rsvp-guest-hero{position:relative;padding:var(--md-sys-spacing-5) var(--md-sys-spacing-6);border-radius:var(--md-sys-shape-corner-medium);background:linear-gradient(135deg,color-mix(in srgb,var(--md-sys-color-secondary-container) 65%,var(--md-sys-color-surface) 35%),color-mix(in srgb,var(--md-sys-color-tertiary-container) 70%,var(--md-sys-color-surface) 30%));box-shadow:var(--md-sys-elevation-level2);border:1px solid var(--md-sys-color-outline-variant);display:grid;gap:var(--md-sys-spacing-2);background-size:180% 180%;animation:rsvpHeroPulse 6s ease-in-out infinite alternate}.rsvp-hero-eyebrow{display:inline-flex;align-items:center;gap:var(--md-sys-spacing-2);padding:var(--md-sys-spacing-1) var(--md-sys-spacing-3);border-radius:var(--md-sys-shape-corner-full);background:color-mix(in srgb,var(--md-sys-color-surface) 70%,var(--md-sys-color-secondary-container) 30%);color:var(--md-sys-color-on-surface-variant);font-size:var(--md-sys-typescale-label-large-size);font-weight:var(--md-sys-typescale-label-large-weight);line-height:var(--md-sys-typescale-label-large-line-height);width:fit-content}.rsvp-hero-title{font-size:var(--md-sys-typescale-headline-medium-size);font-weight:var(--md-sys-typescale-headline-medium-weight);line-height:var(--md-sys-typescale-headline-medium-line-height);letter-spacing:-.01em;color:var(--md-sys-color-on-surface)}.rsvp-hero-host{font-size:var(--md-sys-typescale-body-large-size);color:var(--md-sys-color-on-surface-variant);display:flex;gap:var(--md-sys-spacing-1);flex-wrap:wrap}.rsvp-hero-host__name{font-weight:var(--md-sys-typescale-weight-bold);color:var(--md-sys-color-on-surface)}.rsvp-hero-message{margin-top:var(--md-sys-spacing-1);color:var(--md-sys-color-on-surface)}@keyframes rsvpHeroPulse{0%{background-position:0% 30%;box-shadow:var(--md-sys-elevation-level1)}50%{background-position:50% 70%;box-shadow:var(--md-sys-elevation-level2)}to{background-position:100% 30%;box-shadow:var(--md-sys-elevation-level2)}}.rsvp-guest-header{display:flex;align-items:center;justify-content:space-between;gap:var(--md-sys-spacing-4);flex-wrap:wrap;margin-bottom:var(--md-sys-spacing-2)}.rsvp-guest-chip{padding:var(--md-sys-spacing-1) var(--md-sys-spacing-3);border-radius:var(--md-sys-shape-corner-full);border:1px solid var(--md-sys-color-outline-variant);background:color-mix(in srgb,var(--md-sys-color-surface) 70%,var(--md-sys-color-tertiary-container) 30%);font-size:var(--md-sys-typescale-body-small-size);font-weight:var(--md-sys-typescale-weight-semibold)}.rsvp-guest-actions{display:flex;gap:var(--md-sys-spacing-3);flex-wrap:wrap;align-items:center;margin-top:auto}.rsvp-guest-actions [slot=icon]{margin-right:var(--md-sys-spacing-1)}md-outlined-button [slot=icon],md-filled-button [slot=icon],md-filled-tonal-button [slot=icon],md-text-button [slot=icon],md-elevated-button [slot=icon]{display:inline-flex;align-items:center;justify-content:center;font-size:var(--md-sys-typescale-title-medium-size);line-height:var(--md-sys-typescale-line-height-none);vertical-align:middle;margin-right:var(--md-sys-spacing-1)}md-icon-button .material-symbols-rounded{display:inline-flex;align-items:center;justify-content:center;font-size:var(--md-sys-typescale-title-medium-size);line-height:var(--md-sys-typescale-line-height-none)}.rsvp-list{display:grid;gap:var(--md-sys-spacing-2)}.rsvp-list__item{padding:var(--md-sys-spacing-2) var(--md-sys-spacing-3);border-radius:var(--md-sys-shape-corner-medium);border:1px solid var(--md-sys-color-outline-variant);background:var(--md-sys-color-surface);font-size:var(--md-sys-typescale-body-large-size)}.confetti-piece{position:absolute;top:-10%;left:var(--x);width:var(--size);height:var(--size-y);border-radius:var(--radius, 4px);background:var(--confetti-color);opacity:0}.sparkle{position:absolute;left:var(--x);top:var(--y);width:var(--size);height:var(--size);border-radius:50%;background:var(--md-sys-color-tertiary);opacity:0}.reveal-preview-cta{padding:var(--md-sys-spacing-6);border-radius:var(--md-sys-shape-corner-extra-large);border:1px solid var(--md-sys-color-outline-variant);background:var(--md-sys-color-surface-container);display:grid;gap:var(--md-sys-spacing-3)}.print-card{border-radius:var(--md-sys-shape-corner-extra-large);padding:var(--md-sys-spacing-6);border:2px dashed var(--md-sys-color-outline);background:var(--md-sys-color-surface);color:var(--md-sys-color-on-surface)}.footer-note{color:var(--md-sys-color-on-surface-variant);font-size:var(--md-sys-typescale-body-small-size);line-height:var(--md-sys-typescale-body-small-line-height);letter-spacing:var(--md-sys-typescale-body-small-tracking)}.site-footer{text-align:center;padding:var(--md-sys-spacing-6) var(--md-sys-spacing-4) calc(var(--md-sys-spacing-8) + var(--safe-area-inset-bottom));padding-left:calc(var(--md-sys-spacing-4) + var(--safe-area-inset-left));padding-right:calc(var(--md-sys-spacing-4) + var(--safe-area-inset-right));color:var(--md-sys-color-on-surface-variant);font-size:var(--md-sys-typescale-body-small-size);line-height:var(--md-sys-typescale-body-small-line-height);letter-spacing:var(--md-sys-typescale-body-small-tracking);background:var(--md-sys-color-surface-container);border-top:1px solid var(--md-sys-color-outline-variant)}.legal-page{padding:var(--md-sys-spacing-10) var(--md-sys-spacing-6) var(--md-sys-spacing-16);padding-left:calc(var(--md-sys-spacing-6) + var(--safe-area-inset-left));padding-right:calc(var(--md-sys-spacing-6) + var(--safe-area-inset-right));padding-top:calc(var(--md-sys-spacing-10) + var(--safe-area-inset-top));padding-bottom:calc(var(--md-sys-spacing-16) + var(--safe-area-inset-bottom));max-width:960px;margin:0 auto;min-height:100dvh;font-family:Noto Sans,system-ui,sans-serif;font-size:var(--md-sys-typescale-body-large-size);line-height:var(--md-sys-typescale-body-large-line-height);color:var(--md-sys-color-on-surface)}.legal-card{padding:var(--md-sys-spacing-8)}.legal-card h1{margin:var(--md-sys-spacing-4) 0 var(--md-sys-spacing-3);font-family:Noto Sans,system-ui,sans-serif;font-size:var(--md-sys-typescale-headline-large-size);font-weight:var(--md-sys-typescale-headline-large-weight);line-height:var(--md-sys-typescale-headline-large-line-height);letter-spacing:var(--md-sys-typescale-headline-large-tracking);color:var(--md-sys-color-on-surface)}.legal-content h2{margin-top:var(--md-sys-spacing-6);margin-bottom:var(--md-sys-spacing-3);font-family:Noto Sans,system-ui,sans-serif;font-size:var(--md-sys-typescale-title-large-size);font-weight:var(--md-sys-typescale-title-large-weight);line-height:var(--md-sys-typescale-title-large-line-height);letter-spacing:var(--md-sys-typescale-title-large-tracking);color:var(--md-sys-color-on-surface)}.legal-content p{margin:var(--md-sys-spacing-3) 0;font-family:Noto Sans,system-ui,sans-serif;font-size:var(--md-sys-typescale-body-large-size);font-weight:var(--md-sys-typescale-body-large-weight);line-height:var(--md-sys-typescale-body-large-line-height);color:var(--md-sys-color-on-surface)}.legal-content ul,.legal-content ol{margin:var(--md-sys-spacing-3) 0;padding-left:var(--md-sys-spacing-6)}.legal-content li{margin:var(--md-sys-spacing-2) 0;font-family:Noto Sans,system-ui,sans-serif;font-size:var(--md-sys-typescale-body-large-size);line-height:var(--md-sys-typescale-body-large-line-height);color:var(--md-sys-color-on-surface)}.legal-content strong{font-weight:600;color:var(--md-sys-color-on-surface)}.legal-content code{font-family:Courier New,monospace;font-size:var(--md-sys-typescale-body-medium-size);padding:var(--md-sys-spacing-0) var(--md-sys-spacing-1);background:var(--md-sys-color-surface-container);border-radius:var(--md-sys-shape-corner-extra-small);color:var(--md-sys-color-on-surface-variant)}.footer-links{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:var(--md-sys-spacing-4);margin-bottom:var(--md-sys-spacing-2)}.footer-meta{color:var(--md-sys-color-on-surface-variant)}.site-footer .footer-link{color:var(--md-sys-color-primary);border-radius:var(--md-sys-shape-corner-extra-small);margin:0;display:inline-flex;align-items:center;min-height:var(--md-sys-touch-target-minimum)}md-text-button.footer-link{--md-text-button-label-text-color: var(--md-sys-color-primary);--md-text-button-container-shape: var(--md-sys-shape-corner-extra-small);--md-focus-ring-color: var(--md-sys-color-primary);transition:opacity var(--md-sys-motion-duration-short3) var(--md-sys-motion-easing-standard)}.consent-banner{position:fixed;left:50%;bottom:calc(var(--md-sys-spacing-4) + var(--safe-area-inset-bottom));transform:translate(-50%);width:min(720px,calc(100vw - var(--md-sys-spacing-8)));padding:var(--md-sys-spacing-4) var(--md-sys-spacing-5);padding-left:calc(var(--md-sys-spacing-5) + var(--safe-area-inset-left));padding-right:calc(var(--md-sys-spacing-5) + var(--safe-area-inset-right));border-radius:var(--md-sys-shape-corner-extra-large);border:1px solid var(--md-sys-color-outline-variant);background:var(--md-sys-color-surface);box-shadow:var(--md-sys-elevation-level3);z-index:1200}.consent-content{display:flex;align-items:center;justify-content:space-between;gap:var(--md-sys-spacing-5)}.consent-text{display:grid;gap:var(--md-sys-spacing-2)}.consent-title{margin:0;font-weight:var(--md-sys-typescale-weight-semibold);font-size:var(--md-sys-typescale-body-large-size)}.consent-body{margin:0;color:var(--md-sys-color-on-surface-variant);font-size:var(--md-sys-typescale-body-medium-size)}.consent-actions{display:flex;align-items:center;gap:var(--md-sys-spacing-3)}.is-hidden{display:none}@media(max-width:720px){.app-header{justify-content:space-between}.brand,.header-actions{position:static}.hero{padding:var(--md-sys-spacing-7)}.consent-content{flex-direction:column;align-items:flex-start}}@media(max-width:600px){:root{--viewport-height: 100svh}.app-content{padding:var(--md-sys-spacing-6) var(--md-sys-spacing-4) var(--md-sys-spacing-12);padding-left:calc(var(--md-sys-spacing-4) + var(--safe-area-inset-left));padding-right:calc(var(--md-sys-spacing-4) + var(--safe-area-inset-right));padding-bottom:calc(var(--md-sys-spacing-12) + var(--safe-area-inset-bottom))}.hero{padding:var(--md-sys-spacing-6)}.grid,.stats-grid{grid-template-columns:1fr}.consent-actions{flex-direction:column;align-self:stretch;width:100%}.consent-actions md-text-button,.consent-actions md-filled-button{width:100%;justify-content:center}}.wizard-shell{display:grid;gap:var(--md-sys-spacing-4)}.wizard-steps{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:var(--md-sys-spacing-3)}.wizard-step{display:flex;align-items:center;gap:var(--md-sys-spacing-2);padding:var(--md-sys-spacing-3) var(--md-sys-spacing-4);border-radius:var(--md-sys-shape-corner-medium);border:1px solid var(--md-sys-color-outline-variant);background:var(--md-sys-color-surface-container);color:var(--md-sys-color-on-surface);font-weight:var(--md-sys-typescale-weight-semibold)}.wizard-step__index{display:inline-flex;width:28px;height:28px;align-items:center;justify-content:center;border-radius:50%;background:var(--md-sys-color-outline-variant);color:var(--md-sys-color-on-surface);font-size:var(--md-sys-typescale-body-medium-size)}.wizard-step.is-active{border-color:var(--md-sys-color-primary);background:color-mix(in srgb,var(--md-sys-color-primary-container) 70%,white 30%)}.wizard-step.is-active .wizard-step__index{background:var(--md-sys-color-primary);color:var(--md-sys-color-on-primary)}.wizard-step.is-complete{border-color:color-mix(in srgb,var(--md-sys-color-primary) 50%,var(--md-sys-color-outline-variant) 50%)}.wizard-content{border:1px solid var(--md-sys-color-outline-variant);border-radius:var(--md-sys-shape-corner-medium);background:var(--md-sys-color-surface-container);padding:var(--md-sys-spacing-4)}.wizard-panel{margin:0;box-shadow:none}.wizard-actions{display:flex;gap:var(--md-sys-spacing-3);flex-wrap:wrap}.event-list__item{border:1px solid var(--md-sys-color-outline-variant);border-radius:var(--md-sys-shape-corner-medium);padding:var(--md-sys-spacing-4);background:var(--md-sys-color-surface);display:flex;align-items:center;justify-content:space-between;gap:var(--md-sys-spacing-4)}.event-list__actions{display:flex;gap:var(--md-sys-spacing-2);align-items:center}.pricing-row.is-hidden{display:none}.pricing-card{border:1px solid var(--md-sys-color-outline-variant);border-radius:var(--md-sys-shape-corner-medium);padding:var(--md-sys-spacing-5);background:var(--md-sys-color-surface);box-shadow:var(--md-sys-elevation-level1)}.pricing-card .pricing-amount{font-size:var(--md-sys-typescale-title-large-size);line-height:var(--md-sys-typescale-title-large-line-height);margin:var(--md-sys-spacing-1) 0}.pricing-card.summary-card{max-width:420px;width:100%;text-align:right;display:grid;gap:var(--md-sys-spacing-1)}.pricing-row{display:flex;align-items:center;justify-content:space-between;padding:var(--md-sys-spacing-2) 0}.pricing-row:first-child{padding-top:0}.pricing-row span{color:var(--md-sys-color-on-surface);font-size:var(--md-sys-typescale-body-medium-size);line-height:var(--md-sys-typescale-body-medium-line-height)}.pricing-row strong{color:var(--md-sys-color-on-surface);font-weight:var(--md-sys-typescale-title-medium-weight);font-size:var(--md-sys-typescale-body-large-size);line-height:var(--md-sys-typescale-body-large-line-height)}.pricing-divider{height:1px;background:var(--md-sys-color-outline-variant);margin:var(--md-sys-spacing-1) 0}.pricing-row.total-row{padding-top:var(--md-sys-spacing-2)}.pricing-row.total-row .total-label{display:flex;align-items:center;gap:var(--md-sys-spacing-2);font-weight:var(--md-sys-typescale-title-medium-weight);font-size:var(--md-sys-typescale-title-large-size);color:var(--md-sys-color-on-surface)}.pricing-row.total-row .total-info-icon{font-size:var(--md-sys-typescale-title-large-size);color:var(--md-sys-color-on-surface-variant);flex-shrink:0;display:inline-flex;align-items:center;line-height:1}.pricing-row.total-row strong{font-size:var(--md-sys-typescale-headline-small-size);font-weight:var(--md-sys-typescale-weight-semibold);color:var(--md-sys-color-on-surface)}.pricing-section,.pricing-block{display:flex;flex-direction:column;align-items:stretch}.pricing-section{gap:var(--md-sys-spacing-3)}.pricing-section .pricing-card{margin-bottom:0}.pricing-section h3{margin-bottom:0;font-weight:var(--md-sys-typescale-title-medium-weight);letter-spacing:var(--md-sys-typescale-tracking-tight)}.pricing-section .footer-note,.pricing-block .footer-note{margin-top:var(--md-sys-spacing-1)}.pricing-card .price-status{margin-top:0;margin-bottom:0;text-align:left}.quota-summary{display:flex;gap:var(--md-sys-spacing-4);padding-top:var(--md-sys-spacing-3);margin-top:var(--md-sys-spacing-2);border-top:1px dashed var(--md-sys-color-outline-variant)}.quota-summary__item{display:flex;align-items:center;gap:var(--md-sys-spacing-2)}.quota-summary__item.is-hidden{display:none}.quota-summary__icon{font-size:18px;color:var(--md-sys-color-primary);display:inline-flex;align-items:center;line-height:1}.quota-summary__text{font-size:var(--md-sys-typescale-label-large-size);font-weight:var(--md-sys-typescale-label-large-weight);color:var(--md-sys-color-on-surface-variant);text-align:left}.pricing-footer{display:flex;flex-direction:column;gap:var(--md-sys-spacing-2);margin-top:var(--md-sys-spacing-3);padding-top:var(--md-sys-spacing-3);border-top:1px solid var(--md-sys-color-outline-variant)}.pricing-footer__item{display:flex;align-items:center;gap:var(--md-sys-spacing-2);line-height:var(--md-sys-typescale-line-height-snug)}.pricing-footer__item .material-symbols-rounded{font-size:var(--md-sys-typescale-title-large-size);color:var(--md-sys-color-on-surface-variant);flex-shrink:0}.pricing-footer__item .footer-note{flex:1;margin:0;min-width:0;word-wrap:break-word;overflow-wrap:break-word}.pricing-disclaimer,.pricing-stripe-footer{display:flex;align-items:center;gap:var(--md-sys-spacing-2);line-height:var(--md-sys-typescale-line-height-snug)}.pricing-disclaimer{margin-top:var(--md-sys-spacing-3);padding-top:var(--md-sys-spacing-3);border-top:1px solid var(--md-sys-color-outline-variant)}.pricing-stripe-footer{margin-top:var(--md-sys-spacing-2)}.pricing-disclaimer .material-symbols-rounded,.pricing-stripe-footer .material-symbols-rounded{font-size:var(--md-sys-typescale-title-large-size);color:var(--md-sys-color-on-surface-variant);flex-shrink:0}.pricing-disclaimer .footer-note,.pricing-stripe-footer .footer-note{flex:1;margin:0;min-width:0;word-wrap:break-word;overflow-wrap:break-word}.license-callout{display:flex;gap:var(--md-sys-spacing-3);padding:var(--md-sys-spacing-4);background:color-mix(in srgb,var(--md-sys-color-primary) 8%,var(--md-sys-color-surface));border-radius:var(--md-sys-shape-corner-medium);border-left:3px solid var(--md-sys-color-primary);margin-bottom:var(--md-sys-spacing-4)}.license-callout__icon .material-symbols-rounded{font-size:var(--md-sys-typescale-headline-small-size);color:var(--md-sys-color-primary)}.license-callout__content strong{display:block;margin-bottom:var(--md-sys-spacing-1)}.license-callout__content .footer-note{margin:0}.license-callout__expiry{margin-top:var(--md-sys-spacing-2);font-weight:var(--md-sys-typescale-title-medium-weight);color:var(--md-sys-color-primary)}.checkout-consent{display:flex;align-items:flex-start;gap:var(--md-sys-spacing-2);cursor:pointer}.checkout-consent a{color:var(--md-sys-color-primary);text-decoration:underline}.checkout-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(260px,360px);gap:var(--md-sys-spacing-6);align-items:start}.checkout-main{display:grid;grid-template-columns:subgrid;grid-column:1 / -1;gap:var(--md-sys-spacing-4)}.checkout-main>*:not(.pricing-block){grid-column:1}.checkout-main .pricing-block{grid-column:2;grid-row:1 / span 4;position:sticky;top:var(--md-sys-spacing-6)}@media(max-width:840px){.checkout-layout{grid-template-columns:1fr}.checkout-main{display:flex;flex-direction:column}.checkout-main .pricing-block{position:static;order:10}.checkout-main .checkout-consent{order:11}.checkout-main .hero-actions{order:12}.checkout-main .checkout-status{order:13}}.create-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(280px,380px);gap:var(--md-sys-spacing-6);align-items:start}.create-layout__main{display:grid;grid-template-columns:subgrid;grid-column:1 / -1;gap:var(--md-sys-spacing-8)}.create-layout__main>*:not(.pricing-section){grid-column:1}.create-layout__main .pricing-section{grid-column:2;grid-row:2 / span 3;position:sticky;top:var(--md-sys-spacing-6)}@media(max-width:840px){.create-layout{grid-template-columns:1fr}.create-layout__main{display:flex;flex-direction:column}.create-layout__main .pricing-section{position:static;order:10}.create-layout__main .section:has(.create-event-button){order:11}}.user-bar{display:flex;align-items:center;justify-content:space-between;gap:var(--md-sys-spacing-4)}.user-bar__details{display:grid;gap:var(--md-sys-spacing-1)}.user-bar__actions{display:flex;gap:var(--md-sys-spacing-2)}.pricing-block{margin-top:var(--md-sys-spacing-3);border-top:1px solid var(--md-sys-color-outline-variant);padding-top:var(--md-sys-spacing-3)}.embedded-checkout{margin-top:var(--md-sys-spacing-4);border:1px solid var(--md-sys-color-outline-variant);border-radius:var(--md-sys-shape-corner-medium);padding:var(--md-sys-spacing-2);background:var(--md-sys-color-surface)}.event-detail-page .event-detail-actions{display:flex;flex-wrap:wrap;gap:var(--md-sys-spacing-2)}.celebration-overlay{position:fixed;inset:0;display:grid;place-items:center;background:color-mix(in srgb,var(--md-sys-color-surface) 80%,rgba(0,0,0,.35) 20%);z-index:60;pointer-events:auto}.celebration-card{background:var(--md-sys-color-surface);border:1px solid var(--md-sys-color-outline-variant);border-radius:var(--md-sys-shape-corner-medium);padding:var(--md-sys-spacing-5) var(--md-sys-spacing-6);box-shadow:var(--md-sys-elevation-level4);text-align:center;display:grid;justify-items:center;gap:var(--md-sys-spacing-2);max-width:360px;position:relative}.celebration-card .material-symbols-rounded{color:var(--md-sys-color-primary);font-size:var(--md-sys-typescale-headline-large-size)}.overlay-close{position:absolute;top:var(--md-sys-spacing-2);right:var(--md-sys-spacing-2);display:inline-flex;align-items:center;justify-content:center;border-radius:var(--md-sys-shape-corner-full)}.celebration-confetti{position:absolute;inset:0;overflow:hidden;pointer-events:none}.celebration-confetti .confetti-piece{animation:confettiFall var(--duration) linear var(--delay) infinite}.admin-page{padding:0;max-width:100%;margin:0}.admin-header-card{margin-bottom:var(--md-sys-spacing-4)}.admin-header{display:grid;gap:var(--md-sys-spacing-5)}.admin-header__top{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--md-sys-spacing-4);flex-wrap:wrap}.admin-header__title-group{display:grid;gap:var(--md-sys-spacing-1)}.admin-header__title{margin:0;font-size:var(--md-sys-typescale-headline-small-size);font-weight:var(--md-sys-typescale-headline-small-weight);line-height:var(--md-sys-typescale-headline-small-line-height);color:var(--md-sys-color-on-surface)}.admin-header__subtitle{margin:0;font-size:var(--md-sys-typescale-body-medium-size);line-height:var(--md-sys-typescale-body-medium-line-height);color:var(--md-sys-color-on-surface-variant)}.admin-header__top .status-chip-row{flex-shrink:0}.admin-header__license{display:flex;align-items:center;gap:var(--md-sys-spacing-2);color:var(--md-sys-color-on-surface-variant);font-size:var(--md-sys-typescale-body-small-size);line-height:var(--md-sys-typescale-body-small-line-height)}.admin-header__license .material-symbols-rounded{font-size:var(--md-sys-typescale-body-medium-size)}.admin-header__warning{display:flex;align-items:center;gap:var(--md-sys-spacing-2);color:var(--md-sys-color-error);font-size:var(--md-sys-typescale-body-medium-size);line-height:var(--md-sys-typescale-body-medium-line-height);padding:var(--md-sys-spacing-2) var(--md-sys-spacing-3);background:color-mix(in srgb,var(--md-sys-color-error) 10%,transparent);border-radius:var(--md-sys-shape-corner-small)}.admin-header__sharing{display:grid;grid-template-columns:1fr 1fr;gap:var(--md-sys-spacing-3)}.admin-header__share-card{display:flex;flex-direction:column;gap:var(--md-sys-spacing-3);padding:var(--md-sys-spacing-4);border-radius:var(--md-sys-shape-corner-medium);border:1px solid var(--md-sys-color-outline-variant);background:var(--md-sys-color-surface)}.admin-header__share-card--guest{background:color-mix(in srgb,var(--md-sys-color-primary-container) 40%,var(--md-sys-color-surface));border-color:color-mix(in srgb,var(--md-sys-color-primary) 20%,transparent)}.admin-header__share-icon{display:flex;align-items:center;justify-content:center;width:var(--md-sys-spacing-10);height:var(--md-sys-spacing-10);border-radius:var(--md-sys-shape-corner-full);background:color-mix(in srgb,var(--md-sys-color-primary) 12%,transparent);color:var(--md-sys-color-primary);flex-shrink:0}.admin-header__share-card--display .admin-header__share-icon{background:color-mix(in srgb,var(--md-sys-color-secondary) 12%,transparent);color:var(--md-sys-color-secondary)}.admin-header__share-icon .material-symbols-rounded{font-size:var(--md-sys-typescale-title-medium-size)}.admin-header__share-content{display:grid;gap:var(--md-sys-spacing-1);flex:1}.admin-header__share-label{font-size:var(--md-sys-typescale-title-small-size);font-weight:var(--md-sys-typescale-title-small-weight);line-height:var(--md-sys-typescale-title-small-line-height);color:var(--md-sys-color-on-surface)}.admin-header__share-desc{margin:0;font-size:var(--md-sys-typescale-body-small-size);line-height:var(--md-sys-typescale-body-small-line-height);color:var(--md-sys-color-on-surface-variant)}.admin-header__share-actions{display:flex;gap:var(--md-sys-spacing-2);flex-wrap:wrap;margin-top:auto}@media(max-width:840px){.admin-header__top{flex-direction:column;align-items:flex-start}.admin-header__sharing{grid-template-columns:1fr}.admin-header__share-actions{flex-direction:column;align-items:stretch}.admin-header__share-actions md-filled-tonal-button,.admin-header__share-actions md-outlined-button,.admin-header__share-actions md-text-button{width:100%}.admin-tabs{padding-left:calc(var(--md-comp-tabs-scrollable-leading-offset) + var(--safe-area-inset-left))}}.admin-tabs{position:sticky;top:0;z-index:5;margin-bottom:var(--md-sys-spacing-4);background:color-mix(in srgb,var(--md-sys-color-surface) 92%,white 8%);border-bottom:1px solid var(--md-sys-color-outline-variant)}@media(max-width:840px){.admin-tabs{position:static;overflow-x:auto;-webkit-overflow-scrolling:touch;margin-left:calc(var(--md-sys-spacing-4) * -1 - var(--safe-area-inset-left));margin-right:calc(var(--md-sys-spacing-4) * -1 - var(--safe-area-inset-right));padding-left:calc(var(--md-sys-spacing-4) + var(--safe-area-inset-left));padding-right:calc(var(--md-sys-spacing-4) + var(--safe-area-inset-right))}.toggle-row{flex-direction:column;align-items:flex-start;gap:var(--md-sys-spacing-3)}.toggle-row>div:first-child{width:100%}.toggle-row md-outlined-select,.toggle-row md-switch{align-self:stretch;width:100%}.reveal-gender-options{flex-direction:column;align-items:flex-start}.reveal-gender-pill{width:100%;justify-content:center}.rsvp-item{flex-direction:column;align-items:flex-start;gap:var(--md-sys-spacing-2)}.rsvp-item__date{align-self:flex-start}}.admin-panels{display:block}.admin-panel{display:none}.admin-panel.is-active{display:block}.admin-tab-content{display:grid;gap:var(--md-sys-spacing-6)}.admin-tab-actions{display:flex;gap:var(--md-sys-spacing-3);margin-top:var(--md-sys-spacing-4)}.danger-zone{border-left:4px solid var(--md-sys-color-error);background:color-mix(in srgb,var(--md-sys-color-error-container) 35%,var(--md-sys-color-surface))}.danger-button{--md-filled-button-container-color: var(--md-sys-color-error);--md-filled-button-label-text-color: var(--md-sys-color-on-error);--md-outlined-button-label-text-color: var(--md-sys-color-error);--md-outlined-button-outline-color: var(--md-sys-color-error);--md-text-button-label-text-color: var(--md-sys-color-error)}.status-chip--success{background:color-mix(in srgb,var(--md-sys-color-primary) 15%,transparent);color:var(--md-sys-color-primary)}.status-chip--warning{background:color-mix(in srgb,var(--md-sys-color-tertiary) 15%,transparent);color:var(--md-sys-color-tertiary)}.status-chip--error{background:color-mix(in srgb,var(--md-sys-color-error) 15%,transparent);color:var(--md-sys-color-error)}.status-chip--info{background:color-mix(in srgb,var(--md-sys-color-secondary) 15%,transparent);color:var(--md-sys-color-secondary)}.license-info{display:grid;gap:var(--md-sys-spacing-3);padding:var(--md-sys-spacing-4);background:var(--md-sys-color-surface-container);border-radius:var(--md-sys-shape-corner-medium)}.license-info__row{display:flex;justify-content:space-between;align-items:center}.error-text{color:var(--md-sys-color-error)}.rsvp-grid{display:grid;gap:var(--md-sys-spacing-5);align-items:stretch;grid-template-columns:1fr}.rsvp-responses-card{grid-column:1 / -1}.rsvp-grid>.card{height:100%}.share-rsvp-card{display:flex;flex-direction:column;gap:var(--md-sys-spacing-4)}.share-template{margin-top:auto}.rsvp-preview-card{display:flex;flex-direction:column;gap:var(--md-sys-spacing-3)}.rsvp-column{display:grid;gap:var(--md-sys-spacing-6);align-content:start}.rsvp-locked{text-align:center;padding:var(--md-sys-spacing-12) var(--md-sys-spacing-8)}.rsvp-locked__icon{font-size:var(--md-sys-typescale-display-small-size);color:var(--md-sys-color-on-surface-variant);margin-bottom:var(--md-sys-spacing-4)}.rsvp-locked__icon .material-symbols-rounded{font-size:inherit}.rsvp-locked--upsell{max-width:400px;margin:var(--md-sys-spacing-8) auto}.rsvp-locked__description{color:var(--md-sys-color-on-surface-variant);margin-bottom:var(--md-sys-spacing-2)}.rsvp-locked__features{list-style:none;padding:0;margin:var(--md-sys-spacing-6) 0;text-align:left;display:inline-block}.rsvp-locked__features li{display:flex;align-items:center;gap:var(--md-sys-spacing-3);padding:var(--md-sys-spacing-2) 0;color:var(--md-sys-color-on-surface)}.rsvp-locked__features .material-symbols-rounded{color:var(--md-sys-color-primary);font-size:var(--md-sys-typescale-title-large-size)}.rsvp-success-banner{display:flex;align-items:center;gap:var(--md-sys-spacing-3);padding:var(--md-sys-spacing-4);background:color-mix(in srgb,var(--md-sys-color-primary) 12%,var(--md-sys-color-surface) 88%);border:1px solid var(--md-sys-color-primary);border-radius:var(--md-sys-shape-corner-medium)}.rsvp-success-banner>.material-symbols-rounded{color:var(--md-sys-color-primary);font-size:var(--md-sys-typescale-headline-large-size);flex-shrink:0}.rsvp-success-banner strong{display:block;font-size:var(--md-sys-typescale-title-large-size);font-weight:var(--md-sys-typescale-title-large-weight);line-height:var(--md-sys-typescale-title-large-line-height);color:var(--md-sys-color-on-surface);margin-bottom:var(--md-sys-spacing-1)}.rsvp-success-card{animation:rsvpFadeIn var(--md-sys-motion-duration-long2) var(--md-sys-easing-standard-decelerate) both}@keyframes rsvpFadeIn{0%{opacity:0;transform:translateY(var(--md-sys-spacing-4))}to{opacity:1;transform:translateY(0)}}.rsvp-success-header{display:flex;flex-direction:column;gap:var(--md-sys-spacing-3)}.rsvp-divider{height:1px;background:var(--md-sys-color-outline-variant);margin:var(--md-sys-spacing-5) 0}.rsvp-details-section{display:flex;flex-direction:column;gap:var(--md-sys-spacing-3)}.rsvp-section-title{font-size:var(--md-sys-typescale-title-medium-size);font-weight:var(--md-sys-typescale-title-medium-weight);line-height:var(--md-sys-typescale-title-medium-line-height);color:var(--md-sys-color-on-surface);margin:0}.rsvp-success-content{display:flex;align-items:flex-start;gap:var(--md-sys-spacing-4)}.rsvp-success-content>.material-symbols-rounded{color:var(--md-sys-color-primary);font-size:var(--md-sys-typescale-headline-small-size)}.rsvp-success-content>div{flex:1}.rsvp-success-content .dismiss-banner{flex-shrink:0}.checkout-upsell{border:2px solid var(--md-sys-color-primary)}.rsvp-preview-card .rsvp-preview-body{display:flex;flex-direction:column;gap:var(--md-sys-spacing-4);flex:1}.rsvp-message-banner{display:flex;align-items:flex-start;gap:var(--md-sys-spacing-3);padding:var(--md-sys-spacing-4);border-radius:var(--md-sys-shape-corner-large);background:linear-gradient(135deg,color-mix(in srgb,var(--md-sys-color-primary) 10%,var(--md-sys-color-surface-container)),color-mix(in srgb,var(--md-sys-color-tertiary) 8%,var(--md-sys-color-surface-container)));border:1px solid color-mix(in srgb,var(--md-sys-color-primary) 20%,var(--md-sys-color-outline-variant));position:relative;overflow:hidden}.rsvp-message-banner:before{content:"";position:absolute;left:0;top:0;bottom:0;width:var(--md-sys-spacing-1);background:linear-gradient(180deg,var(--md-sys-color-primary),var(--md-sys-color-tertiary))}.rsvp-message-banner .material-symbols-rounded{color:var(--md-sys-color-primary);font-size:var(--md-sys-typescale-headline-small-size);flex-shrink:0;margin-inline-start:var(--md-sys-spacing-1)}.rsvp-message-banner p{margin:0;font-family:var(--md-ref-typeface-plain);font-size:var(--md-sys-typescale-body-large-size);font-weight:var(--md-sys-typescale-body-large-weight);line-height:var(--md-sys-typescale-body-large-line-height);letter-spacing:var(--md-sys-typescale-body-large-tracking);color:var(--md-sys-color-on-surface);flex:1}#add-to-calendar-btn,.add-to-calendar-success-btn,.rsvp-preview-calendar-btn{width:100%}.rsvp-map-embed iframe{width:100%;height:180px;border:0;border-radius:var(--md-sys-shape-corner-medium)}.address-autocomplete{position:relative;display:grid;gap:var(--md-sys-spacing-1)}.address-autocomplete md-outlined-text-field{width:100%}.autocomplete-list{position:absolute;top:calc(100% + var(--md-sys-spacing-1));left:0;right:0;z-index:5;background:var(--md-sys-color-surface);border:1px solid var(--md-sys-color-outline-variant);border-radius:var(--md-sys-shape-corner-medium);box-shadow:var(--md-sys-elevation-level2);max-height:200px;overflow:auto;padding:var(--md-sys-spacing-1)}.autocomplete-item{width:100%;text-align:left;border:none;background:transparent;padding:var(--md-sys-spacing-2) var(--md-sys-spacing-3);border-radius:var(--md-sys-shape-corner-medium);cursor:pointer;font-family:inherit;font-size:var(--md-sys-typescale-body-medium-size);color:var(--md-sys-color-on-surface);transition:background-color var(--md-sys-motion-duration-short3) var(--md-sys-motion-easing-standard)}.autocomplete-item:hover{background:color-mix(in srgb,var(--md-sys-color-primary) 12%,transparent)}.autocomplete-item:focus-visible{background:color-mix(in srgb,var(--md-sys-color-primary) var(--md-sys-state-focus-opacity),transparent);outline:2px solid var(--md-sys-color-primary);outline-offset:var(--md-sys-spacing-1)}.registry-link-row{display:grid;grid-template-columns:minmax(140px,1fr) minmax(180px,2fr) var(--md-sys-touch-target-minimum);gap:var(--md-sys-spacing-3);align-items:end;padding:var(--md-sys-spacing-2) 0}.registry-link-row md-outlined-text-field{width:100%}.registry-link-row md-icon-button{align-self:center}.registry-section h4{margin:0}.registry-header{display:flex;align-items:flex-end;justify-content:space-between;gap:var(--md-sys-spacing-4);flex-wrap:wrap}.registry-header md-text-button{align-self:flex-end}.registry-header md-text-button .material-symbols-rounded{font-size:var(--md-sys-typescale-title-medium-size);line-height:var(--md-sys-typescale-line-height-none);vertical-align:middle}.registry-header .footer-note{margin:var(--md-sys-spacing-1) 0 0}.registry-links-container{display:grid;gap:var(--md-sys-spacing-2)}.registry-empty{display:flex;align-items:center;gap:var(--md-sys-spacing-2);padding:var(--md-sys-spacing-3);border-radius:var(--md-sys-shape-corner-medium);border:1px dashed var(--md-sys-color-outline-variant);color:var(--md-sys-color-on-surface-variant)}.registry-empty .material-symbols-rounded{font-size:var(--md-sys-typescale-title-large-size)}.share-rsvp-card,.share-card{position:relative;padding:var(--md-sys-spacing-5) var(--md-sys-spacing-5) var(--md-sys-spacing-6);border:1px solid var(--md-sys-color-outline-variant);border-radius:var(--md-sys-shape-corner-large);background:color-mix(in srgb,var(--md-sys-color-surface) 85%,var(--md-sys-color-surface-container-high) 15%);box-shadow:var(--md-sys-elevation-level2);overflow:hidden;transition:box-shadow var(--md-sys-motion-duration-short4) var(--md-sys-motion-easing-standard)}.share-rsvp-card:before,.share-card:before{content:"";position:absolute;inset:0;height:6px;background:linear-gradient(90deg,var(--md-sys-color-primary),var(--md-sys-color-tertiary));opacity:.2;pointer-events:none}.share-rsvp-card h3,.share-card h3{display:inline-flex;align-items:center;gap:var(--md-sys-spacing-1);margin:0 0 var(--md-sys-spacing-3);font-family:var(--md-sys-typescale-title-large-font);font-size:var(--md-sys-typescale-title-large-size);font-weight:var(--md-sys-typescale-title-large-weight);line-height:var(--md-sys-typescale-title-large-line-height);letter-spacing:var(--md-sys-typescale-title-large-tracking)}.share-rsvp-card .inline-icon,.share-card .inline-icon{font-size:var(--md-sys-typescale-title-large-size)}.share-rsvp-content,.share-card .share-content{display:grid;gap:var(--md-sys-spacing-3);margin-bottom:var(--md-sys-spacing-4)}.share-rsvp-content .footer-note,.share-card .share-content .footer-note{margin:0;font-size:var(--md-sys-typescale-body-medium-size);color:var(--md-sys-color-on-surface-variant)}.link-row{display:grid;grid-template-columns:1fr auto;gap:var(--md-sys-spacing-2);align-items:center}.share-link-input{flex:1;width:100%;padding:var(--md-sys-spacing-3) var(--md-sys-spacing-3);border:1px solid var(--md-sys-color-outline);border-radius:var(--md-sys-shape-corner-medium);background:var(--md-sys-color-surface-container-high);color:var(--md-sys-color-on-surface);font-family:inherit;font-size:var(--md-sys-typescale-body-large-size);font-weight:var(--md-sys-typescale-title-medium-weight);letter-spacing:var(--md-sys-typescale-body-large-tracking);min-width:0;box-shadow:var(--md-sys-elevation-level0);transition:border-color var(--md-sys-motion-duration-short3) var(--md-sys-motion-easing-standard),background-color var(--md-sys-motion-duration-short3) var(--md-sys-motion-easing-standard)}.share-link-input:focus{outline:2px solid var(--md-sys-color-primary);outline-offset:var(--md-sys-spacing-1)}.share-template{padding:var(--md-sys-spacing-4);background:color-mix(in srgb,var(--md-sys-color-surface-container-high) 80%,var(--md-sys-color-primary) 5%);border-radius:var(--md-sys-shape-corner-medium);border:1px solid var(--md-sys-color-outline-variant);display:grid;gap:var(--md-sys-spacing-1)}.share-template strong{font-size:var(--md-sys-typescale-body-large-size);font-weight:var(--md-sys-typescale-title-medium-weight);color:var(--md-sys-color-on-surface)}.share-template__text{margin:0;font-style:normal;font-weight:var(--md-sys-typescale-title-medium-weight);font-size:var(--md-sys-typescale-body-large-size);line-height:var(--md-sys-typescale-body-large-line-height);letter-spacing:var(--md-sys-typescale-body-large-tracking);color:var(--md-sys-color-on-surface-variant)}.rsvp-summary{display:flex;flex-direction:column;gap:var(--md-sys-spacing-3)}.rsvp-stat{display:flex;align-items:center;justify-content:space-between;padding:var(--md-sys-spacing-4) var(--md-sys-spacing-5);background:var(--md-sys-color-surface-container);border-radius:var(--md-sys-shape-corner-extra-large);border:1px solid var(--md-sys-color-outline-variant)}.rsvp-stat__label{display:flex;align-items:center;gap:var(--md-sys-spacing-3);font-size:var(--md-sys-typescale-body-large-size);font-weight:var(--md-sys-typescale-body-large-weight);color:var(--md-sys-color-on-surface)}.rsvp-stat__label:before{content:"";display:block;width:12px;height:12px;border-radius:50%;flex-shrink:0}.rsvp-stat__count{font-size:var(--md-sys-typescale-headline-medium-size);font-weight:var(--md-sys-typescale-headline-medium-weight);line-height:var(--md-sys-typescale-headline-medium-line-height);color:var(--md-sys-color-on-surface)}.rsvp-stat--attending .rsvp-stat__label:before{background:var(--md-sys-color-primary)}.rsvp-stat--not-attending .rsvp-stat__label:before{background:var(--md-sys-color-tertiary)}.rsvp-stat--maybe .rsvp-stat__label:before{background:var(--md-sys-color-secondary)}.rsvp-list{display:grid;gap:var(--md-sys-spacing-3)}.rsvp-item{display:flex;justify-content:space-between;align-items:flex-start;padding:var(--md-sys-spacing-3) var(--md-sys-spacing-4);background:var(--md-sys-color-surface);border-radius:var(--md-sys-shape-corner-medium);border-left:4px solid var(--md-sys-color-outline);transition:background-color var(--md-sys-motion-duration-short3) var(--md-sys-motion-easing-standard)}.rsvp-item--yes{border-left-color:var(--md-sys-color-primary)}.rsvp-item--no{border-left-color:var(--md-sys-color-error)}.rsvp-item--maybe{border-left-color:var(--md-sys-color-tertiary)}.rsvp-item__info{display:grid;gap:var(--md-sys-spacing-1);min-width:0}.rsvp-item__meta{font-size:var(--md-sys-typescale-label-large-size);line-height:var(--md-sys-typescale-label-large-line-height);color:var(--md-sys-color-on-surface-variant)}.rsvp-item__message{font-style:italic;color:var(--md-sys-color-on-surface-variant);margin:var(--md-sys-spacing-1) 0 0;word-wrap:break-word;overflow-wrap:break-word;-webkit-hyphens:auto;hyphens:auto;max-width:100%}.rsvp-item__date{font-size:var(--md-sys-typescale-label-medium-size);line-height:var(--md-sys-typescale-label-medium-line-height);color:var(--md-sys-color-on-surface-variant);white-space:nowrap}.reveal-controls-grid{display:grid;gap:var(--md-sys-spacing-6);grid-template-columns:1fr}.reveal-gender-options{display:flex;align-items:center;gap:var(--md-sys-spacing-4);flex-wrap:wrap}.reveal-gender-pill{display:inline-flex;align-items:center;gap:var(--md-sys-spacing-2);padding:var(--md-sys-spacing-2) var(--md-sys-spacing-2);border-radius:var(--md-sys-shape-corner-full);background:color-mix(in srgb,var(--md-sys-color-surface) 80%,var(--md-sys-color-primary-container) 20%);border:1px solid var(--md-sys-color-outline-variant)}.reveal-gender-pill md-radio{--md-radio-icon-size: 20px}.reveal-gender-pill .material-symbols-rounded{color:var(--md-sys-color-primary);font-size:var(--md-sys-typescale-title-large-size)}.vote-stats{display:flex;gap:var(--md-sys-spacing-6);margin-bottom:var(--md-sys-spacing-4)}.vote-stat{text-align:center}.vote-stat__count{display:block;font-size:var(--md-sys-typescale-headline-medium-size);font-weight:var(--md-sys-typescale-headline-medium-weight);line-height:var(--md-sys-typescale-headline-medium-line-height);color:var(--md-sys-color-primary)}.vote-stat__label{font-size:var(--md-sys-typescale-label-large-size);line-height:var(--md-sys-typescale-label-large-line-height);color:var(--md-sys-color-on-surface-variant)}.vote-breakdown{display:grid;gap:var(--md-sys-spacing-3)}.vote-bar{display:flex;justify-content:space-between;align-items:center;padding:var(--md-sys-spacing-2) var(--md-sys-spacing-3);border-radius:var(--md-sys-shape-corner-small);background:linear-gradient(to right,color-mix(in srgb,var(--bar-color) 25%,transparent) var(--percent),var(--md-sys-color-surface-container) var(--percent))}.vote-bar--girl{--bar-color: var(--md-sys-color-tertiary)}.vote-bar--boy{--bar-color: var(--md-sys-color-primary)}.vote-bar--surprise{--bar-color: var(--md-sys-color-secondary)}.vote-bar__label{font-weight:var(--md-sys-typescale-title-medium-weight)}.vote-bar__value{font-size:var(--md-sys-typescale-body-medium-size);color:var(--md-sys-color-on-surface-variant)}.vote-messages{margin-top:var(--md-sys-spacing-6)}.vote-message{padding:var(--md-sys-spacing-3);background:var(--md-sys-color-surface-container);border-radius:var(--md-sys-shape-corner-medium);margin-bottom:var(--md-sys-spacing-2)}.vote-message strong{margin-right:var(--md-sys-spacing-2)}.vote-message__choice{font-size:var(--md-sys-typescale-body-small-size);padding:var(--md-sys-spacing-1) var(--md-sys-spacing-2);background:var(--md-sys-color-surface);border-radius:var(--md-sys-shape-corner-extra-small);text-transform:capitalize}.vote-message p{margin:var(--md-sys-spacing-2) 0 0;font-style:italic;color:var(--md-sys-color-on-surface-variant)}.reveal-mini-preview{padding:var(--md-sys-spacing-4);background:var(--md-sys-color-surface-container);border-radius:var(--md-sys-shape-corner-medium);text-align:center}.reveal-mini-preview__stage{padding:var(--md-sys-spacing-8)}.reveal-mini-preview__stage .material-symbols-rounded{font-size:var(--md-sys-typescale-display-small-size);color:var(--md-sys-color-primary)}.reveal-mini-preview__stage h4{margin:var(--md-sys-spacing-2) 0;font-size:var(--md-sys-typescale-headline-medium-size)}.live-reveal-card{padding:var(--md-sys-spacing-6)}.live-reveal-card:hover{transform:none}.live-reveal-stage{position:relative;min-height:400px;border-radius:var(--md-sys-shape-corner-extra-large);background:linear-gradient(135deg,var(--md-sys-color-surface-container),var(--md-sys-color-primary-container));overflow:hidden;display:grid;place-items:center}.live-reveal-stage.is-fullscreen{position:fixed;inset:0;width:100vw;height:100vh;border-radius:0;z-index:9999;background:radial-gradient(circle at 30% 30%,var(--md-sys-color-primary-container),transparent 50%),radial-gradient(circle at 70% 60%,var(--md-sys-color-tertiary-container),transparent 50%),var(--md-sys-color-surface);isolation:isolate;transform:none!important;overflow-y:auto;-webkit-overflow-scrolling:touch}.live-reveal-stage.is-girl{--reveal-primary: var(--md-sys-color-tertiary);--reveal-secondary: var(--md-sys-color-secondary)}.live-reveal-stage.is-boy{--reveal-primary: var(--md-sys-color-primary);--reveal-secondary: var(--md-sys-color-secondary)}.live-reveal-close{position:absolute;top:var(--md-sys-spacing-4);right:var(--md-sys-spacing-4);z-index:10;background:var(--md-sys-color-surface);border:none;border-radius:var(--md-sys-shape-corner-full);width:var(--md-sys-touch-target-minimum);height:var(--md-sys-touch-target-minimum);display:flex;align-items:center;justify-content:center;cursor:pointer;box-shadow:var(--md-sys-elevation-level3)}.live-reveal-close:hover{background:var(--md-sys-color-surface-container)}.live-reveal-screen{display:none;text-align:center;padding:var(--md-sys-spacing-8);z-index:1}.live-reveal-screen.is-active{display:block}.live-reveal-content{display:grid;gap:var(--md-sys-spacing-4);justify-items:center}.live-reveal-icon{font-size:var(--md-sys-typescale-display-small-size);color:var(--md-sys-color-primary)}.live-reveal-icon--celebration{animation:revealPop .6s ease-out}.live-reveal-screen h2{font-size:var(--md-sys-typescale-headline-large-size);font-weight:var(--md-sys-typescale-headline-large-weight);line-height:var(--md-sys-typescale-headline-large-line-height);margin:0}.live-reveal-headline{font-size:clamp(var(--md-sys-typescale-headline-large-size),5vw,var(--md-sys-typescale-display-large-size))!important;font-weight:var(--md-sys-typescale-display-large-weight)!important;line-height:var(--md-sys-typescale-display-large-line-height)!important;animation:revealPop .6s ease-out}.live-reveal-countdown{font-size:var(--md-sys-typescale-display-large-size);font-weight:var(--md-sys-typescale-display-large-weight);line-height:var(--md-sys-typescale-display-large-line-height);color:var(--md-sys-color-primary);animation:countdownPulse 1s ease-in-out infinite}.live-reveal-label{font-size:var(--md-sys-typescale-title-large-size);line-height:var(--md-sys-typescale-title-large-line-height);color:var(--md-sys-color-on-surface-variant)}.live-reveal-gender-select{margin:var(--md-sys-spacing-6) 0;text-align:center}.live-reveal-gender-select h4{margin-bottom:var(--md-sys-spacing-4)}.gender-options{display:flex;gap:var(--md-sys-spacing-4);justify-content:center;flex-wrap:wrap}.gender-option input{position:absolute;opacity:0;pointer-events:none}.gender-option__box{display:flex;flex-direction:column;align-items:center;gap:var(--md-sys-spacing-2);padding:var(--md-sys-spacing-6) var(--md-sys-spacing-8);border:2px solid var(--md-sys-color-outline);border-radius:var(--md-sys-shape-corner-medium);cursor:pointer;transition:all var(--md-sys-motion-duration-short4) var(--md-sys-motion-easing-standard)}.gender-option__box .material-symbols-rounded{font-size:var(--md-sys-typescale-headline-large-size)}.gender-option input:checked+.gender-option__box{border-color:var(--md-sys-color-primary);background:color-mix(in srgb,var(--md-sys-color-surface-container) 85%,transparent);color:inherit;box-shadow:var(--md-sys-elevation-level1)}.gender-option input:focus-visible+.gender-option__box{outline:2px solid color-mix(in srgb,var(--md-sys-color-primary) 30%,transparent);outline-offset:2px;box-shadow:var(--md-sys-elevation-level2)}.live-reveal-cheer{display:flex;align-items:center;gap:var(--md-sys-spacing-2);font-size:var(--md-sys-typescale-title-large-size);animation:cheerPop .5s ease-out .3s both}.live-reveal-recap{margin-top:var(--md-sys-spacing-6);padding:var(--md-sys-spacing-6);background:var(--md-sys-color-surface);border-radius:var(--md-sys-shape-corner-large);animation:recapRise .5s ease-out .5s both}.live-reveal-effects{position:absolute;inset:0;pointer-events:none;overflow:hidden}.live-reveal-flash{position:absolute;inset:0;background:radial-gradient(circle,color-mix(in srgb,var(--md-sys-color-primary) 60%,white 40%),transparent 70%);opacity:0}.live-reveal-screen--revealed.is-active~.live-reveal-effects .live-reveal-flash{animation:flashPop .8s ease-out}.live-reveal-confetti{position:absolute;inset:0}.live-reveal-confetti .confetti-piece{position:absolute;top:-10%;left:var(--x);width:var(--size);height:var(--size-y);background:var(--confetti-color);border-radius:var(--radius);animation:confettiFall var(--duration) ease-out var(--delay) forwards}.live-reveal-sparkles{position:absolute;inset:0}.live-reveal-sparkles .sparkle{position:absolute;left:var(--x);top:var(--y);width:var(--size);height:var(--size);background:radial-gradient(circle,white,transparent 60%);border-radius:50%;animation:sparklePop 1.5s ease-out var(--delay) infinite}.live-reveal-balloons{position:absolute;inset:0}.live-reveal-balloon{position:absolute;bottom:-20%;left:var(--x);width:40px;height:50px;background:var(--balloon-color);border-radius:50%/60% 60% 40% 40%;animation:balloonFloat var(--duration) ease-out var(--delay) forwards}.live-reveal-balloon:after{content:"";position:absolute;bottom:-30px;left:50%;width:1px;height:30px;background:var(--md-sys-color-outline);transform:translate(-50%)}.live-reveal-particles{position:absolute;inset:0;pointer-events:none;overflow:hidden;z-index:0}.live-reveal-particle{position:absolute;left:var(--x);top:var(--y);width:var(--size, 8px);height:var(--size, 8px);border-radius:50%;background:var(--md-sys-color-primary);opacity:.25;animation:particleFloat var(--duration, 4s) ease-in-out var(--delay, 0s) infinite}.live-reveal-icon--waiting{animation:waitingPulse 2.5s ease-in-out infinite;color:var(--md-sys-color-primary)}.live-reveal-headline{font-size:clamp(2.5rem,8vw,5rem)!important;animation:headlinePop .7s ease-out;text-shadow:0 4px 24px rgba(0,0,0,.12)}.live-reveal-actions{display:flex;gap:var(--md-sys-spacing-3);justify-content:center;margin-top:var(--md-sys-spacing-6)}.live-reveal-actions md-filled-tonal-button,.live-reveal-actions md-outlined-button{touch-action:manipulation;-webkit-tap-highlight-color:transparent}body.reveal-fullscreen-active{overflow:hidden;position:relative}.empty-state,.error-state{text-align:center;padding:var(--md-sys-spacing-8);color:var(--md-sys-color-on-surface-variant)}.empty-state .material-symbols-rounded,.error-state .material-symbols-rounded{font-size:var(--md-sys-typescale-display-small-size);display:block;margin-bottom:var(--md-sys-spacing-2)}.error-state{color:var(--md-sys-color-error)}@media(max-width:600px){.rsvp-summary{grid-template-columns:repeat(2,1fr)}.registry-link-row{grid-template-columns:1fr var(--md-sys-touch-target-minimum);gap:var(--md-sys-spacing-2)}.registry-link-row md-outlined-text-field:first-child{grid-column:1}.registry-link-row md-outlined-text-field:nth-child(2){grid-column:1}.registry-link-row md-icon-button{grid-column:2;grid-row:1 / 3;align-self:center}.admin-header__sharing{grid-template-columns:1fr}.admin-header__share-card{gap:var(--md-sys-spacing-2)}.admin-header__share-actions{flex-direction:column}.admin-header__share-actions md-filled-tonal-button,.admin-header__share-actions md-outlined-button,.admin-header__share-actions md-text-button{width:100%}.admin-header__top{flex-direction:column;gap:var(--md-sys-spacing-2)}.gender-options{flex-direction:column}.link-row{flex-wrap:wrap}.share-link-input{min-width:200px}}.picker-backdrop{position:fixed;inset:0;background:color-mix(in srgb,var(--md-sys-color-shadow) 32%,transparent);z-index:1000;animation:pickerFadeIn var(--md-sys-motion-duration-short4) var(--md-sys-motion-easing-standard-decelerate)}.material-date-picker{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);z-index:1001;background:var(--md-sys-color-surface);border-radius:var(--md-sys-shape-corner-extra-large);box-shadow:var(--md-sys-elevation-level3);max-width:90vw;max-height:90vh;overflow:hidden;animation:pickerSlideUp var(--md-sys-motion-duration-medium2) var(--md-sys-motion-easing-standard-decelerate);outline:none}.picker-container{display:flex;flex-direction:column;padding:var(--md-sys-spacing-6);gap:var(--md-sys-spacing-4)}.picker-main{display:flex;gap:var(--md-sys-spacing-6)}.calendar-panel{display:flex;flex-direction:column;width:min(360px,100%);min-width:312px;flex-shrink:0}.calendar-header{display:flex;align-items:center;gap:var(--md-sys-spacing-1);padding-bottom:var(--md-sys-spacing-3);flex-wrap:nowrap}.calendar-header--centered{justify-content:center}.calendar-header .month-nav,.calendar-header .year-nav{display:flex;align-items:center;gap:var(--md-sys-spacing-1)}.calendar-header .month-nav{margin-right:var(--md-sys-spacing-2)}.picker-nav-btn{--md-icon-button-icon-size: 24px;--md-icon-button-container-shape: var(--md-sys-shape-corner-full);--md-icon-button-state-layer-shape: var(--md-sys-shape-corner-full);--md-icon-button-container-width: var(--md-sys-touch-target-minimum);--md-icon-button-container-height: var(--md-sys-touch-target-minimum);--md-icon-button-icon-color: var(--md-sys-color-on-surface);--md-icon-button-hover-state-layer-color: var(--md-sys-color-primary);--md-icon-button-pressed-state-layer-color: var(--md-sys-color-primary);--md-focus-ring-color: var(--md-sys-color-primary);flex-shrink:0;margin:0 6px}.month-year-btn{--md-filled-tonal-button-container-color: var(--md-sys-color-surface);--md-filled-tonal-button-label-text-color: var(--md-sys-color-on-surface);--md-filled-tonal-button-container-shape: var(--md-sys-shape-corner-large);--md-filled-tonal-button-hover-state-layer-color: var(--md-sys-color-primary);--md-filled-tonal-button-hover-state-layer-opacity: var(--md-sys-state-hover-opacity);--md-filled-tonal-button-pressed-state-layer-color: var(--md-sys-color-primary);--md-filled-tonal-button-pressed-state-layer-opacity: var(--md-sys-state-pressed-opacity);--md-focus-ring-color: var(--md-sys-color-primary);min-width:var(--md-sys-touch-target-comfortable);justify-content:center;padding:var(--md-sys-spacing-2) var(--md-sys-spacing-3)}.month-year-btn .material-symbols-rounded{font-size:var(--md-sys-typescale-title-large-size)}.calendar-content{min-height:260px;display:flex;flex-direction:column}.calendar-weekdays{display:grid;grid-template-columns:repeat(7,1fr);margin-bottom:var(--md-sys-spacing-1)}.calendar-weekdays div{text-align:center;font-size:var(--md-sys-typescale-label-small-size);font-weight:var(--md-sys-typescale-label-small-weight);line-height:var(--md-sys-typescale-label-small-line-height);color:var(--md-sys-color-on-surface-variant);padding:var(--md-sys-spacing-2) 0}.calendar-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:var(--md-sys-spacing-1);min-width:0}.cal-day{--md-filled-tonal-button-container-shape: var(--md-sys-shape-corner-full);--md-filled-tonal-button-container-width: var(--md-sys-touch-target-minimum);--md-filled-tonal-button-container-height: var(--md-sys-touch-target-minimum);--md-filled-tonal-button-label-text-color: var(--md-sys-color-on-surface);--md-filled-tonal-button-container-color: var(--md-sys-color-surface);--md-filled-tonal-button-hover-state-layer-color: var(--md-sys-color-primary);--md-filled-tonal-button-hover-state-layer-opacity: .12;--md-filled-tonal-button-pressed-state-layer-color: var(--md-sys-color-primary);--md-filled-tonal-button-pressed-state-layer-opacity: var(--md-sys-state-pressed-opacity);--md-focus-ring-color: var(--md-sys-color-primary);margin:var(--md-sys-spacing-1) auto;padding:0;width:var(--cal-day-size, var(--md-sys-touch-target-minimum));min-width:var(--cal-day-size, var(--md-sys-touch-target-minimum));max-width:var(--cal-day-size, var(--md-sys-touch-target-minimum));height:var(--cal-day-size, var(--md-sys-touch-target-minimum));min-height:var(--cal-day-size, var(--md-sys-touch-target-minimum));max-height:var(--cal-day-size, var(--md-sys-touch-target-minimum));box-sizing:border-box;font-size:var(--md-sys-typescale-body-medium-size);color:var(--md-sys-color-on-surface)}.cal-day--today{--md-filled-tonal-button-container-color: var(--md-sys-color-primary-container);--md-filled-tonal-button-label-text-color: var(--md-sys-color-primary);--md-filled-tonal-button-hover-state-layer-color: var(--md-sys-color-primary);font-weight:var(--md-sys-typescale-title-medium-weight)}.cal-day--selected{--md-filled-tonal-button-container-color: var(--md-sys-color-primary);--md-filled-tonal-button-label-text-color: var(--md-sys-color-on-primary);--md-filled-tonal-button-hover-state-layer-color: var(--md-sys-color-on-primary);--md-filled-tonal-button-hover-state-layer-opacity: var(--md-sys-state-hover-opacity);font-weight:var(--md-sys-typescale-title-medium-weight)}.cal-day--other{--md-filled-tonal-button-label-text-color: color-mix(in srgb, var(--md-sys-color-on-surface) 60%, transparent 40%)}.cal-day:disabled{opacity:.45}.selector-grid{display:grid;gap:var(--md-sys-spacing-2);padding:var(--md-sys-spacing-4) 0;align-content:start}.month-grid,.year-grid{grid-template-columns:repeat(3,1fr)}.selector-item{--md-filled-tonal-button-container-color: var(--md-sys-color-surface);--md-filled-tonal-button-label-text-color: var(--md-sys-color-on-surface);--md-filled-tonal-button-container-shape: var(--md-sys-shape-corner-large);--md-filled-tonal-button-hover-state-layer-color: var(--md-sys-color-primary);--md-filled-tonal-button-hover-state-layer-opacity: var(--md-sys-state-hover-opacity);width:100%;justify-content:center;padding:var(--md-sys-spacing-3) var(--md-sys-spacing-2)}.selector-item--selected{--md-filled-tonal-button-container-color: var(--md-sys-color-primary);--md-filled-tonal-button-label-text-color: var(--md-sys-color-on-primary)}.time-panel{display:flex;flex-direction:column;gap:var(--md-sys-spacing-4);padding:var(--md-sys-spacing-4);background:var(--md-sys-color-surface-container);border-radius:var(--md-sys-shape-corner-large);min-width:180px;flex-shrink:0;align-self:flex-start}.time-display{text-align:center;font-family:var(--md-sys-typescale-title-large-font);font-size:var(--md-sys-typescale-title-large-size);font-weight:var(--md-sys-typescale-title-large-weight);line-height:var(--md-sys-typescale-title-large-line-height);color:var(--md-sys-color-on-surface);padding-bottom:var(--md-sys-spacing-2);border-bottom:1px solid var(--md-sys-color-outline-variant)}.time-inputs{display:flex;align-items:center;justify-content:center;gap:var(--md-sys-spacing-2)}.time-input-group{display:flex;flex-direction:column;align-items:center;gap:var(--md-sys-spacing-1)}.time-btn{--md-icon-button-container-width: var(--md-sys-touch-target-minimum);--md-icon-button-container-height: var(--md-sys-touch-target-minimum);--md-icon-button-icon-size: 24px;--md-icon-button-icon-color: var(--md-sys-color-on-surface);--md-icon-button-hover-state-layer-color: var(--md-sys-color-primary);--md-icon-button-pressed-state-layer-color: var(--md-sys-color-primary);--md-focus-ring-color: var(--md-sys-color-primary)}.time-input{width:var(--md-sys-touch-target-minimum);height:var(--md-sys-touch-target-minimum);border:2px solid var(--md-sys-color-outline-variant);border-radius:var(--md-sys-shape-corner-medium);background:var(--md-sys-color-surface);font-size:var(--md-sys-typescale-title-large-size);font-weight:var(--md-sys-typescale-title-medium-weight);text-align:center;color:var(--md-sys-color-on-surface);font-family:var(--md-ref-typeface-plain)}.time-input:focus{border-color:var(--md-sys-color-primary)}.time-input:focus-visible{outline:2px solid var(--md-sys-color-primary);outline-offset:2px}.time-colon{font-size:var(--md-sys-typescale-headline-small-size);font-weight:var(--md-sys-typescale-headline-small-weight);color:var(--md-sys-color-on-surface);padding:0 var(--md-sys-spacing-1);align-self:center}.time-period-btns{display:flex;flex-direction:column;gap:var(--md-sys-spacing-1);margin-left:var(--md-sys-spacing-2)}.period-btn{--md-filled-tonal-button-container-color: var(--md-sys-color-surface);--md-filled-tonal-button-label-text-color: var(--md-sys-color-on-surface);--md-filled-tonal-button-container-shape: var(--md-sys-shape-corner-medium);--md-filled-tonal-button-hover-state-layer-color: var(--md-sys-color-primary);--md-filled-tonal-button-hover-state-layer-opacity: var(--md-sys-state-hover-opacity);padding:var(--md-sys-spacing-1) var(--md-sys-spacing-3);min-width:var(--md-sys-touch-target-comfortable)}.period-btn--active{--md-filled-tonal-button-container-color: var(--md-sys-color-primary);--md-filled-tonal-button-label-text-color: var(--md-sys-color-on-primary)}.picker-actions{display:flex;justify-content:flex-end;gap:var(--md-sys-spacing-2);padding-top:var(--md-sys-spacing-4);border-top:1px solid var(--md-sys-color-outline-variant)}.picker-btn--text{--md-text-button-label-text-color: var(--md-sys-color-primary);--md-text-button-container-shape: var(--md-sys-shape-corner-medium);padding:var(--md-sys-spacing-2)}.picker-btn--filled{--md-filled-button-container-color: var(--md-sys-color-primary);--md-filled-button-label-text-color: var(--md-sys-color-on-primary);--md-filled-button-container-shape: var(--md-sys-shape-corner-medium);padding:var(--md-sys-spacing-2) var(--md-sys-spacing-3)}@keyframes pickerFadeIn{0%{opacity:0}to{opacity:1}}@keyframes pickerSlideUp{0%{opacity:0;transform:translate(-50%,-40%)}to{opacity:1;transform:translate(-50%,-50%)}}@media(prefers-reduced-motion:reduce){.picker-backdrop,.material-date-picker{animation-duration:.01ms}}@media(max-width:600px){.picker-main{flex-direction:column;gap:var(--md-sys-spacing-4)}.calendar-panel{width:100%;max-width:100%;--cal-day-size: 40px}.time-panel{width:100%;min-width:unset}}.payment-warning-banner{background:var(--md-sys-color-error-container);border-left:4px solid var(--md-sys-color-error);margin-bottom:var(--md-sys-spacing-4)}.payment-warning-content{display:flex;gap:var(--md-sys-spacing-4);align-items:flex-start}.payment-warning-content>.material-symbols-rounded{color:var(--md-sys-color-error);font-size:var(--md-sys-typescale-headline-small-size);flex-shrink:0}.payment-warning-content strong{color:var(--md-sys-color-on-error-container)}.payment-warning-content .footer-note{margin:var(--md-sys-spacing-1) 0 0;color:var(--md-sys-color-on-error-container);opacity:.9}.payment-warning-content .refresh-link{color:var(--md-sys-color-error);text-decoration:underline;cursor:pointer}.payment-verification{display:flex;flex-direction:column;align-items:center;gap:var(--md-sys-spacing-4);padding:var(--md-sys-spacing-8);text-align:center}.payment-verification md-circular-progress{--md-circular-progress-size: 48px}.celebration-card--warning{border-left:4px solid var(--md-sys-color-error)}.celebration-card--warning .material-symbols-rounded{color:var(--md-sys-color-error)}.celebration-card md-circular-progress{--md-circular-progress-size: 48px;margin-bottom:var(--md-sys-spacing-2)}.text-center{text-align:center}.guest-rsvp-page,.vote-page,.unified-guest-page{max-width:var(--md-sys-breakpoint-compact);margin:0 auto;padding:0}@media(max-width:600px){.guest-rsvp-page,.vote-page,.unified-guest-page{padding:0}}.guest-loading{display:flex;flex-direction:column;align-items:center;gap:var(--md-sys-spacing-4);padding:var(--md-sys-spacing-8) var(--md-sys-spacing-6);text-align:center;color:var(--md-sys-color-on-surface-variant)}.guest-loading md-circular-progress{--md-circular-progress-size: var(--md-sys-touch-target-minimum)}.guest-error{display:flex;flex-direction:column;align-items:center;gap:var(--md-sys-spacing-2);padding:var(--md-sys-spacing-8) var(--md-sys-spacing-6);text-align:center}.guest-error .material-symbols-rounded{font-size:var(--md-sys-typescale-display-small-size);color:var(--md-sys-color-error)}.guest-error h2{margin:0;font-size:var(--md-sys-typescale-headline-small-size)}.expired-page{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:60vh;text-align:center;padding:var(--md-sys-spacing-8) var(--md-sys-spacing-6);animation:fadeIn var(--md-sys-motion-duration-medium2) var(--md-sys-motion-easing-standard)}.expired-page__brand{display:flex;align-items:center;gap:var(--md-sys-spacing-3);margin-bottom:var(--md-sys-spacing-6)}.expired-page__brand .material-symbols-rounded{font-size:var(--md-sys-typescale-display-small-size);color:var(--md-sys-color-primary)}.expired-page__brand-text{font-family:var(--md-sys-typescale-title-large-font);font-size:var(--md-sys-typescale-title-large-size);line-height:var(--md-sys-typescale-title-large-line-height);font-weight:var(--md-sys-typescale-title-large-weight);color:var(--md-sys-color-on-surface)}.expired-page__brand-text strong{font-weight:var(--md-sys-typescale-weight-semibold)}.expired-page__heading{margin:0 0 var(--md-sys-spacing-2);font-family:var(--md-sys-typescale-headline-small-font);font-size:var(--md-sys-typescale-headline-small-size);line-height:var(--md-sys-typescale-headline-small-line-height);font-weight:var(--md-sys-typescale-headline-small-weight);color:var(--md-sys-color-on-surface)}.expired-page__body{margin:0 0 var(--md-sys-spacing-6);font-family:var(--md-sys-typescale-body-large-font);font-size:var(--md-sys-typescale-body-large-size);line-height:var(--md-sys-typescale-body-large-line-height);color:var(--md-sys-color-on-surface-variant);max-width:400px}.guest-header,.guest-section{margin-bottom:var(--md-sys-spacing-5)}.guest-action-complete{display:flex;align-items:center;gap:var(--md-sys-spacing-3);padding:var(--md-sys-spacing-4);background:var(--md-sys-color-primary-container);color:var(--md-sys-color-on-primary-container);border-radius:var(--md-sys-shape-corner-medium)}.guest-action-complete .material-symbols-rounded{font-size:var(--md-sys-typescale-headline-small-size);color:var(--md-sys-color-primary)}.guest-action-complete strong{display:block;margin-bottom:var(--md-sys-spacing-1)}.guest-action-complete .footer-note{margin:0;color:var(--md-sys-color-on-primary-container);opacity:.8}.guest-accordion{border:1px solid var(--md-sys-color-outline-variant);border-radius:var(--md-sys-shape-corner-medium);overflow:hidden;background:var(--md-sys-color-surface)}.guest-accordion__header{display:flex;align-items:center;justify-content:space-between;width:100%;padding:var(--md-sys-spacing-4);background:var(--md-sys-color-surface-container);border:none;cursor:pointer;font:inherit;text-align:left;transition:background var(--md-sys-motion-duration-short3) var(--md-sys-motion-easing-standard)}.guest-accordion__header:hover{background:var(--md-sys-color-surface-container-high)}.guest-accordion__title{display:flex;align-items:center;gap:var(--md-sys-spacing-2);font-weight:var(--md-sys-typescale-title-small-weight);color:var(--md-sys-color-on-surface)}.guest-accordion__title .material-symbols-rounded{color:var(--md-sys-color-primary)}.guest-accordion__icon{color:var(--md-sys-color-on-surface-variant);transition:transform var(--md-sys-motion-duration-short3) var(--md-sys-motion-easing-standard)}.guest-accordion__content{display:none;padding:var(--md-sys-spacing-4)}.guest-accordion.is-expanded .guest-accordion__content{display:block}.guest-accordion.is-expanded .guest-accordion__icon{transform:rotate(180deg)}.guest-reveal-section{margin-top:var(--md-sys-spacing-6)}.guest-reveal-section.is-hidden{display:none}.guest-reveal-cta{display:flex;flex-direction:column;align-items:center;text-align:center;gap:var(--md-sys-spacing-3);padding:var(--md-sys-spacing-8) var(--md-sys-spacing-6);background:color-mix(in srgb,var(--md-sys-color-primary-container) 50%,var(--md-sys-color-surface));border-radius:var(--md-sys-shape-corner-extra-large);border:1px solid var(--md-sys-color-outline-variant)}.guest-reveal-cta__icon{font-size:var(--md-sys-spacing-12);color:var(--md-sys-color-primary)}.guest-reveal-cta__title{margin:0;font-size:var(--md-sys-typescale-headline-small-size);font-weight:var(--md-sys-typescale-headline-small-weight);line-height:var(--md-sys-typescale-headline-small-line-height);color:var(--md-sys-color-on-surface)}.guest-reveal-cta__desc{margin:0;font-size:var(--md-sys-typescale-body-medium-size);line-height:var(--md-sys-typescale-body-medium-line-height);color:var(--md-sys-color-on-surface-variant);max-width:32ch}.guest-rsvp-card{padding:var(--md-sys-spacing-6)}.guest-accordion__content .rsvp-summary{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:var(--md-sys-spacing-3);margin-top:var(--md-sys-spacing-4);padding:var(--md-sys-spacing-4);background:var(--md-sys-color-surface-container);border-radius:var(--md-sys-shape-corner-medium)}.rsvp-summary__item{text-align:center}.rsvp-summary__item strong{display:block;font-size:var(--md-sys-typescale-label-small-size);font-weight:var(--md-sys-typescale-label-small-weight);color:var(--md-sys-color-on-surface-variant);margin-bottom:var(--md-sys-spacing-1);text-transform:uppercase;letter-spacing:var(--md-sys-typescale-body-large-tracking)}.rsvp-summary__item p{margin:0;font-size:var(--md-sys-typescale-body-large-size);font-weight:var(--md-sys-typescale-title-medium-weight);color:var(--md-sys-color-on-surface)}.rsvp-actions{display:flex;flex-wrap:wrap;gap:var(--md-sys-spacing-3);align-items:center}.rsvp-actions md-filled-button{flex-shrink:0}.rsvp-actions .add-to-calendar-btn{flex-shrink:0}.rsvp-loading,.loading-state{display:flex;flex-direction:column;align-items:center;gap:var(--md-sys-spacing-4);padding:var(--md-sys-spacing-8) var(--md-sys-spacing-6);text-align:center;color:var(--md-sys-color-on-surface-variant)}.rsvp-loading md-circular-progress,.loading-state md-circular-progress{--md-circular-progress-size: var(--md-sys-touch-target-minimum)}.rsvp-error{display:flex;flex-direction:column;align-items:center;gap:var(--md-sys-spacing-2);padding:var(--md-sys-spacing-8) var(--md-sys-spacing-6);text-align:center}.rsvp-error .material-symbols-rounded{font-size:var(--md-sys-typescale-headline-large-size);color:var(--md-sys-color-error)}.rsvp-success{display:flex;flex-direction:column;align-items:center;gap:var(--md-sys-spacing-2);padding:var(--md-sys-spacing-8) var(--md-sys-spacing-6);text-align:center}.rsvp-success__icon{font-size:var(--md-sys-typescale-display-small-size);color:var(--md-sys-color-primary)}.rsvp-success h3{margin:0;font-size:var(--md-sys-typescale-headline-small-size);font-weight:var(--md-sys-typescale-headline-small-weight);line-height:var(--md-sys-typescale-headline-small-line-height);color:var(--md-sys-color-on-surface)}.rsvp-success p{margin:0;font-size:var(--md-sys-typescale-body-medium-size);color:var(--md-sys-color-on-surface-variant)}.rsvp-success__actions{margin-top:var(--md-sys-spacing-4);display:flex;justify-content:center;gap:var(--md-sys-spacing-2)}.rsvp-form-error{color:var(--md-sys-color-error);font-size:var(--md-sys-typescale-body-small-size);line-height:var(--md-sys-typescale-body-small-line-height);text-align:center;margin-top:var(--md-sys-spacing-2)}.rsvp-responses-header{display:flex;align-items:center;justify-content:space-between;gap:var(--md-sys-spacing-4);flex-wrap:wrap;margin-bottom:var(--md-sys-spacing-4)}.rsvp-responses-header h3{margin:0}.guest-wizard{position:relative;overflow:visible}.wizard-progress{display:flex;justify-content:center;gap:var(--md-sys-spacing-2);padding:var(--md-sys-spacing-3) 0 var(--md-sys-spacing-5)}.wizard-progress__dot{width:8px;height:8px;border-radius:var(--md-sys-shape-corner-full);background:var(--md-sys-color-outline-variant);transition:all var(--md-sys-motion-duration-medium2) var(--md-sys-motion-easing-emphasized)}.wizard-progress__dot.is-active{width:24px;background:var(--md-sys-color-primary)}.wizard-progress__dot.is-complete{background:var(--md-sys-color-tertiary)}.guest-wizard .wizard-step{display:none;background:transparent;border:0;padding:0;margin:0;box-shadow:none;border-radius:0;color:inherit;font-weight:inherit;gap:0;align-items:stretch}.guest-wizard .wizard-step.is-active{display:block;animation:wizardSlideIn var(--md-sys-motion-duration-medium2) var(--md-sys-motion-easing-emphasized)}.guest-wizard .wizard-step.slide-out-left{display:block;animation:wizardSlideOutLeft var(--md-sys-motion-duration-medium2) var(--md-sys-motion-easing-emphasized) forwards}.guest-wizard .wizard-step.slide-out-right{display:block;animation:wizardSlideOutRight var(--md-sys-motion-duration-medium2) var(--md-sys-motion-easing-emphasized) forwards}.guest-wizard .wizard-step.slide-in-from-left{display:block;animation:wizardSlideInFromLeft var(--md-sys-motion-duration-medium2) var(--md-sys-motion-easing-emphasized)}@keyframes wizardSlideIn{0%{opacity:0;transform:translate(60px)}to{opacity:1;transform:translate(0)}}@keyframes wizardSlideInFromLeft{0%{opacity:0;transform:translate(-60px)}to{opacity:1;transform:translate(0)}}@keyframes wizardSlideOutLeft{0%{opacity:1;transform:translate(0)}to{opacity:0;transform:translate(-60px)}}@keyframes wizardSlideOutRight{0%{opacity:1;transform:translate(0)}to{opacity:0;transform:translate(60px)}}.wizard-step__card{position:relative;background:var(--md-sys-color-surface-container);border:1px solid var(--md-sys-color-outline-variant);border-radius:var(--md-sys-shape-corner-large);padding:var(--md-sys-spacing-5);display:grid;gap:var(--md-sys-spacing-4);box-shadow:var(--md-sys-elevation-level1);transition:transform var(--md-sys-motion-duration-short4) var(--md-sys-motion-easing-standard),box-shadow var(--md-sys-motion-duration-short4) var(--md-sys-motion-easing-standard);overflow:hidden}.wizard-step__card:before{content:"";position:absolute;inset:0 0 auto;height:4px;border-radius:inherit;background:linear-gradient(90deg,var(--md-sys-color-primary),var(--md-sys-color-tertiary));opacity:.6;pointer-events:none}@media(hover:hover){.wizard-step__card:hover{transform:translateY(-2px);box-shadow:var(--md-sys-elevation-level2)}body.reveal-fullscreen-active .wizard-step__card:hover{transform:none;box-shadow:var(--md-sys-elevation-level1)}}.wizard-step__header{display:flex;align-items:center;gap:var(--md-sys-spacing-3);margin-bottom:var(--md-sys-spacing-2)}.guest-wizard form{display:grid;gap:var(--md-sys-spacing-4)}.guest-wizard form .choice-list{margin:0}.guest-wizard form .form-grid{gap:var(--md-sys-spacing-4)}.guest-wizard form .wizard-status,.guest-wizard form .wizard-actions{margin-top:0}.wizard-step__icon{font-size:var(--md-sys-spacing-8);color:var(--md-sys-color-primary)}.wizard-step__title{margin:0;font-size:var(--md-sys-typescale-headline-small-size);font-weight:var(--md-sys-typescale-headline-small-weight);line-height:var(--md-sys-typescale-headline-small-line-height);color:var(--md-sys-color-on-surface)}.wizard-step__subtitle{margin:var(--md-sys-spacing-1) 0 0;font-size:var(--md-sys-typescale-body-medium-size);color:var(--md-sys-color-on-surface-variant)}.wizard-actions{display:flex;justify-content:space-between;align-items:center;gap:var(--md-sys-spacing-3);margin-top:var(--md-sys-spacing-5)}.wizard-actions__back{flex-shrink:0}.wizard-actions__primary{margin-left:auto}.wizard-complete-chip{display:flex;align-items:center;gap:var(--md-sys-spacing-3);padding:var(--md-sys-spacing-4) var(--md-sys-spacing-5);background:var(--md-sys-color-tertiary-container);color:var(--md-sys-color-on-tertiary-container);border-radius:var(--md-sys-shape-corner-large)}.wizard-complete-chip .material-symbols-rounded{font-size:var(--md-sys-typescale-headline-small-size);color:var(--md-sys-color-tertiary);flex-shrink:0}.wizard-complete-chip__text strong{display:block;margin-bottom:var(--md-sys-spacing-1)}.wizard-complete-chip__text .footer-note{margin:0;color:var(--md-sys-color-on-tertiary-container);opacity:.8}.wizard-status{font-size:var(--md-sys-typescale-body-small-size);color:var(--md-sys-color-error);margin-top:var(--md-sys-spacing-2);min-height:1.2em}.wizard-step--reveal .wizard-step__card{text-align:center;display:flex;flex-direction:column;align-items:center;gap:var(--md-sys-spacing-3);padding:var(--md-sys-spacing-8) var(--md-sys-spacing-5)}.wizard-step--reveal .wizard-step__icon{font-size:var(--md-sys-spacing-12)}.wizard-step--reveal .wizard-step__desc{max-width:32ch;margin:0;font-size:var(--md-sys-typescale-body-medium-size);line-height:var(--md-sys-typescale-body-medium-line-height);color:var(--md-sys-color-on-surface-variant)}.reveal-summary{width:100%;max-width:400px;margin-top:var(--md-sys-spacing-4);padding-top:var(--md-sys-spacing-4);border-top:1px solid var(--md-sys-color-outline-variant);display:flex;flex-direction:column;gap:var(--md-sys-spacing-4);text-align:left}.reveal-summary__heading{margin:0;font-size:var(--md-sys-typescale-label-large-size);font-weight:var(--md-sys-typescale-label-large-weight);color:var(--md-sys-color-on-surface-variant);letter-spacing:var(--md-sys-typescale-label-large-tracking);text-transform:uppercase;text-align:center}.poll-results{display:flex;flex-direction:column;gap:var(--md-sys-spacing-2)}.poll-row{display:grid;grid-template-columns:80px 1fr 40px;align-items:center;gap:var(--md-sys-spacing-2);font-size:var(--md-sys-typescale-body-small-size);color:var(--md-sys-color-on-surface)}.poll-row__label{font-weight:var(--md-sys-typescale-weight-semibold);white-space:nowrap}.poll-row__bar{height:8px;border-radius:var(--md-sys-shape-corner-full);background:var(--md-sys-color-surface-container-high);overflow:hidden}.poll-row__fill{height:100%;border-radius:inherit;background:var(--md-sys-color-primary);transition:width var(--md-sys-motion-duration-medium2) var(--md-sys-motion-easing-emphasized)}.poll-row__fill--girl{background:var(--md-sys-color-tertiary)}.poll-row__fill--surprise{background:var(--md-sys-color-outline)}.poll-row__pct{text-align:right;font-size:var(--md-sys-typescale-label-small-size);color:var(--md-sys-color-on-surface-variant)}.poll-total{text-align:center;font-size:var(--md-sys-typescale-body-small-size);color:var(--md-sys-color-on-surface-variant);margin-top:var(--md-sys-spacing-1)}.reveal-rsvp-summary{display:flex;align-items:center;justify-content:center;gap:var(--md-sys-spacing-2);padding:var(--md-sys-spacing-3) var(--md-sys-spacing-4);background:var(--md-sys-color-surface);border:1px solid var(--md-sys-color-outline-variant);border-radius:var(--md-sys-shape-corner-medium);font-size:var(--md-sys-typescale-body-small-size);color:var(--md-sys-color-on-surface)}.reveal-rsvp-summary .material-symbols-rounded{font-size:var(--md-sys-typescale-title-medium-size);color:var(--md-sys-color-tertiary)}.reveal-calendar-action{text-align:center}.reveal-summary>.rsvp-details{padding-top:var(--md-sys-spacing-4);border-top:1px solid var(--md-sys-color-outline-variant)}@media(max-width:480px){.wizard-step__card{padding:var(--md-sys-spacing-4) var(--md-sys-spacing-3);border-radius:var(--md-sys-shape-corner-medium)}.wizard-step--reveal .wizard-step__card{padding:var(--md-sys-spacing-6) var(--md-sys-spacing-3)}.poll-row{grid-template-columns:70px 1fr 36px}.wizard-actions{flex-direction:column-reverse;gap:var(--md-sys-spacing-2)}.wizard-actions__primary,.wizard-actions__back{width:100%}.wizard-actions__primary md-filled-button,.wizard-actions__back md-text-button{width:100%}.wizard-actions__primary{margin-left:0}}@media(prefers-reduced-motion:reduce){.wizard-step.is-active,.wizard-step.slide-out-left,.wizard-step.slide-out-right,.wizard-step.slide-in-from-left{animation:none}.wizard-progress__dot,.wizard-step__card{transition:none}}.reveal-screen-page{position:fixed;inset:0;z-index:100;min-height:100dvh;display:flex;flex-direction:column;padding:0;margin:0;background:transparent}body:has(.reveal-screen-page){background:var(--md-sys-color-surface)}body:has(.reveal-screen-page) .app-header,body:has(.reveal-screen-page) .site-footer{display:none}body:has(.reveal-screen-page) .app-content{padding:0;max-width:none}body.reveal-fullscreen-active .app-header,body.reveal-fullscreen-active .site-footer,body.reveal-fullscreen-active #privacyPreferences{display:none}.guest-reveal-stage{position:relative;width:100%;max-width:560px;min-height:480px;padding:var(--md-sys-spacing-10) var(--md-sys-spacing-6);border-radius:var(--md-sys-shape-corner-extra-large);background:linear-gradient(145deg,var(--md-sys-color-surface),var(--md-sys-color-surface-container),var(--md-sys-color-primary-container));background-size:200% 200%;animation:heroGradient 14s ease-in-out infinite;overflow:hidden;text-align:center;display:none;align-content:center;justify-items:center;box-shadow:var(--md-sys-elevation-level3)}.guest-reveal-stage.is-active{display:grid}.guest-reveal-stage:before{content:"";position:absolute;top:-80px;left:-60px;width:200px;height:200px;background:radial-gradient(circle,color-mix(in srgb,var(--md-sys-color-tertiary-container) 80%,transparent),transparent 70%);animation:floatBubble 16s ease-in-out infinite;pointer-events:none}.guest-reveal-stage:after{content:"";position:absolute;bottom:-100px;right:-70px;width:240px;height:240px;background:radial-gradient(circle,color-mix(in srgb,var(--md-sys-color-secondary-container) 70%,transparent),transparent 70%);animation:floatBubbleReverse 18s ease-in-out infinite;pointer-events:none}.reveal-screen-page.is-girl .guest-reveal-stage{background:linear-gradient(145deg,var(--md-sys-color-surface),var(--md-sys-color-surface-container),var(--md-sys-color-tertiary-container))}.reveal-screen-page.is-boy .guest-reveal-stage{background:linear-gradient(145deg,var(--md-sys-color-surface),var(--md-sys-color-surface-container),var(--md-sys-color-primary-container))}.reveal-screen-page.is-girl .guest-reveal-stage:before{background:radial-gradient(circle,color-mix(in srgb,var(--md-sys-color-tertiary) 30%,transparent),transparent 70%)}.reveal-screen-page.is-boy .guest-reveal-stage:before{background:radial-gradient(circle,color-mix(in srgb,var(--md-sys-color-primary) 30%,transparent),transparent 70%)}.guest-reveal-content{position:relative;z-index:2;display:grid;gap:var(--md-sys-spacing-4);justify-items:center;max-width:420px;padding:0 var(--md-sys-spacing-2)}.guest-reveal-particles{position:absolute;inset:0;pointer-events:none;overflow:hidden;z-index:1}.guest-reveal-particle{position:absolute;left:var(--x);top:var(--y);width:var(--size, 8px);height:var(--size, 8px);border-radius:50%;background:var(--md-sys-color-primary);opacity:.3;animation:particleFloat var(--duration, 4s) ease-in-out var(--delay, 0s) infinite}.guest-reveal-stage--waiting .guest-reveal-icon{font-size:var(--md-sys-typescale-display-small-size);color:var(--md-sys-color-primary);animation:waitingPulse 2.5s ease-in-out infinite}.guest-reveal-stage--waiting h2{font-family:var(--md-ref-typeface-brand);font-size:clamp(1.5rem,5vw,2rem);margin:0;color:var(--md-sys-color-on-surface)}.guest-reveal-stage--waiting p{margin:0;color:var(--md-sys-color-on-surface-variant);line-height:var(--md-sys-typescale-line-height-relaxed)}.guest-reveal-badge{display:inline-flex;align-items:center;gap:var(--md-sys-spacing-2);padding:var(--md-sys-spacing-2) var(--md-sys-spacing-5);border-radius:var(--md-sys-shape-corner-full);background:color-mix(in srgb,var(--md-sys-color-surface) 85%,var(--md-sys-color-secondary-container) 15%);border:1px solid var(--md-sys-color-outline-variant);font-size:var(--md-sys-typescale-body-small-size);font-weight:var(--md-sys-typescale-weight-semibold);color:var(--md-sys-color-on-surface-variant);margin-top:var(--md-sys-spacing-2)}.guest-reveal-badge--live{background:color-mix(in srgb,var(--md-sys-color-tertiary-container) 50%,var(--md-sys-color-surface) 50%);color:var(--md-sys-color-on-tertiary-container);border-color:var(--md-sys-color-tertiary)}.guest-reveal-badge:before{content:"";width:8px;height:8px;border-radius:50%;background:var(--md-sys-color-outline)}.guest-reveal-badge--live:before{background:var(--md-sys-color-tertiary);animation:waitingPulse 1.5s ease-in-out infinite}.guest-reveal-stage--revealed{animation:heroGradient 14s ease-in-out infinite,stagePop .6s ease-out}.guest-reveal-icon--celebration{font-size:var(--md-sys-typescale-display-small-size);color:var(--md-sys-color-primary);animation:headlinePop .6s ease-out}.reveal-screen-page.is-girl .guest-reveal-icon--celebration{color:var(--md-sys-color-tertiary)}.guest-reveal-icon--error{font-size:var(--md-sys-typescale-headline-large-size);color:var(--md-sys-color-error)}.guest-reveal-icon--outline{font-size:var(--md-sys-typescale-headline-large-size);color:var(--md-sys-color-outline)}.guest-reveal-standby-note{font-size:var(--md-sys-typescale-body-medium-size);line-height:var(--md-sys-typescale-body-medium-line-height);color:var(--md-sys-color-on-surface-variant)}.guest-reveal-headline{font-family:var(--md-ref-typeface-brand);font-size:clamp(2.5rem,10vw,4rem);margin:0;line-height:var(--md-sys-typescale-line-height-tight);animation:headlinePop .7s ease-out;text-shadow:0 4px 20px rgba(0,0,0,.1);color:var(--md-sys-color-on-surface)}.guest-reveal-subtitle{margin:0;font-size:var(--md-sys-typescale-body-large-size);color:var(--md-sys-color-on-surface-variant);animation:cheerPop .6s ease-out .15s both}.guest-reveal-cheer{display:inline-flex;align-items:center;gap:var(--md-sys-spacing-2);padding:var(--md-sys-spacing-2) var(--md-sys-spacing-5);border-radius:var(--md-sys-shape-corner-full);border:1px solid var(--md-sys-color-outline-variant);background:color-mix(in srgb,var(--md-sys-color-surface) 80%,var(--md-sys-color-primary-container) 20%);font-weight:var(--md-sys-typescale-weight-semibold);font-size:var(--md-sys-typescale-body-large-size);color:var(--md-sys-color-on-surface);animation:cheerPop .8s ease-out .25s both;margin-top:var(--md-sys-spacing-1)}.reveal-screen-page.is-girl .guest-reveal-cheer{background:color-mix(in srgb,var(--md-sys-color-surface) 80%,var(--md-sys-color-tertiary-container) 20%)}.guest-reveal-cheer .material-symbols-rounded{font-size:var(--md-sys-typescale-title-large-size);color:var(--md-sys-color-primary)}.reveal-screen-page.is-girl .guest-reveal-cheer .material-symbols-rounded{color:var(--md-sys-color-tertiary)}.guest-reveal-recap{margin-top:var(--md-sys-spacing-5);padding:var(--md-sys-spacing-6);border-radius:var(--md-sys-shape-corner-extra-large);border:1px solid var(--md-sys-color-outline-variant);background:var(--md-sys-color-surface);box-shadow:var(--md-sys-elevation-level2);animation:recapRise .9s ease-out .4s both;width:min(100%,320px)}.guest-reveal-recap .recap-title{font-family:var(--md-ref-typeface-brand);font-size:var(--md-sys-typescale-body-large-size);font-weight:var(--md-sys-typescale-weight-semibold);margin-bottom:var(--md-sys-spacing-4);text-align:center;color:var(--md-sys-color-on-surface)}.guest-reveal-recap .recap-visual{display:grid;gap:var(--md-sys-spacing-4);justify-items:center}.guest-reveal-effects{position:absolute;inset:0;pointer-events:none;overflow:hidden;z-index:3}.guest-reveal-flash,.guest-reveal-confetti,.guest-reveal-sparkles,.guest-reveal-balloons{position:absolute;inset:0}.guest-reveal-flash{background:radial-gradient(circle at 50% 40%,color-mix(in srgb,var(--md-sys-color-primary) 50%,white 50%),transparent 60%);opacity:0}.reveal-screen-page.is-revealed .guest-reveal-flash{animation:flashPop .9s ease-out}.reveal-screen-page.is-girl .guest-reveal-flash{background:radial-gradient(circle at 50% 40%,color-mix(in srgb,var(--md-sys-color-tertiary) 50%,white 50%),transparent 60%)}.guest-reveal-confetti .confetti-piece{position:absolute;top:-10%;left:var(--x);width:var(--size);height:var(--size-y);background:var(--confetti-color);border-radius:var(--radius);opacity:0}.reveal-screen-page.is-revealed .guest-reveal-confetti .confetti-piece{animation:confettiFall var(--duration) ease-out var(--delay) forwards}.guest-reveal-sparkles .sparkle{position:absolute;left:var(--x);top:var(--y);width:var(--size);height:var(--size);background:radial-gradient(circle,rgba(255,255,255,.95),rgba(255,255,255,.6) 40%,transparent 70%);border-radius:50%;opacity:0}.reveal-screen-page.is-revealed .guest-reveal-sparkles .sparkle{animation:sparklePop 1.8s ease-out var(--delay) infinite}.guest-reveal-balloon{position:absolute;bottom:-25%;left:var(--x);width:44px;height:56px;background:var(--balloon-color);border-radius:50%/60% 60% 40% 40%;opacity:0;box-shadow:var(--md-sys-elevation-inset-subtle)}.reveal-screen-page.is-revealed .guest-reveal-balloon{animation:balloonFloat var(--duration) ease-out var(--delay) forwards;opacity:.8}.guest-reveal-balloon:after{content:"";position:absolute;bottom:-28px;left:50%;width:1px;height:28px;background:var(--md-sys-color-outline);transform:translate(-50%)}@media(prefers-reduced-motion:reduce){.guest-reveal-stage,.guest-reveal-stage:before,.guest-reveal-stage:after,.guest-reveal-particle,.guest-reveal-icon,.guest-reveal-headline,.guest-reveal-cheer,.guest-reveal-recap,.guest-reveal-flash,.guest-reveal-confetti .confetti-piece,.guest-reveal-sparkles .sparkle,.guest-reveal-balloon{animation:none!important}.guest-reveal-cheer,.guest-reveal-recap,.guest-reveal-subtitle{opacity:1;transform:none}.reveal-screen-page.is-revealed .guest-reveal-confetti .confetti-piece,.reveal-screen-page.is-revealed .guest-reveal-sparkles .sparkle,.reveal-screen-page.is-revealed .guest-reveal-balloon{opacity:.6;animation:none!important;transform:translateY(-50%)}}@media(max-width:600px){.legal-page{padding:var(--md-sys-spacing-6) var(--md-sys-spacing-4) var(--md-sys-spacing-12);font-size:var(--md-sys-typescale-body-medium-size)}.legal-card{padding:var(--md-sys-spacing-6)}.legal-card h1{font-size:var(--md-sys-typescale-headline-medium-size)}.legal-content h2{font-size:var(--md-sys-typescale-title-medium-size)}.legal-content p,.legal-content li{font-size:var(--md-sys-typescale-body-medium-size)}.legal-content code{font-size:13px}}@keyframes containerTransform{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}@keyframes slideForward{0%{opacity:0;transform:translate(30px)}to{opacity:1;transform:translate(0)}}@keyframes slideBackward{0%{opacity:0;transform:translate(-30px)}to{opacity:1;transform:translate(0)}}@keyframes slideExit{0%{opacity:1;transform:translate(0)}to{opacity:0;transform:translate(30px)}}@keyframes slideLateral{0%{opacity:0;transform:translate(40px)}to{opacity:1;transform:translate(0)}}@keyframes fadeThrough{0%{opacity:1}50%{opacity:0}to{opacity:1}}@keyframes fadeOut{0%{opacity:1}to{opacity:0}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes expandDown{0%{opacity:0;transform:scaleY(.8);transform-origin:top}to{opacity:1;transform:scaleY(1)}}@keyframes expandUp{0%{opacity:0;transform:scaleY(.8);transform-origin:bottom}to{opacity:1;transform:scaleY(1)}}@keyframes expandScale{0%{opacity:0;transform:scale(.8)}to{opacity:1;transform:scale(1)}}@keyframes collapseScale{0%{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(.8)}}@keyframes skeletonPulse{0%,to{opacity:.6}50%{opacity:1}}@keyframes skeletonShimmer{0%{background-position:-1000px 0}to{background-position:1000px 0}}@keyframes bounceIn{0%{opacity:0;transform:scale(.3)}50%{opacity:1;transform:scale(1.05)}70%{transform:scale(.9)}to{transform:scale(1)}}@keyframes pressDown{0%{transform:translateY(0) scale(1)}to{transform:translateY(2px) scale(.98)}}@keyframes pressUp{0%{transform:translateY(2px) scale(.98)}to{transform:translateY(0) scale(1)}}@keyframes ripple{0%{transform:scale(0);opacity:.8}to{transform:scale(2);opacity:0}}@keyframes heroGradient{0%,to{background-position:0% 50%}50%{background-position:100% 50%}}@keyframes pulseEmphasis{0%,to{box-shadow:0 0 0 0 var(--md-sys-color-primary)}50%{box-shadow:0 0 0 8px #6d4bd100}}@keyframes slideUp{0%{opacity:0;transform:translateY(100%)}to{opacity:1;transform:translateY(0)}}@keyframes slideDown{0%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(100%)}}@keyframes rotate360{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.page{animation:fadeIn var(--md-sys-motion-duration-medium2) var(--md-sys-easing-emphasized-decelerate) both}md-filled-button,md-outlined-button,md-text-button{transition:all var(--md-sys-motion-duration-short3) var(--md-sys-easing-standard)}md-filled-button:hover,md-outlined-button:hover,md-text-button:hover{transform:translateY(-1px)}md-filled-button:active,md-outlined-button:active,md-text-button:active{transform:translateY(0)}md-icon-button{transition:transform var(--md-sys-motion-duration-short2) var(--md-sys-easing-standard)}md-icon-button:hover{transform:scale(1.1)}md-switch{transition:all var(--md-sys-motion-duration-short3) var(--md-sys-easing-standard)}md-checkbox{transition:all var(--md-sys-motion-duration-short3) var(--md-sys-easing-standard)}md-radio{transition:all var(--md-sys-motion-duration-short3) var(--md-sys-easing-standard)}.card:not(.legal-card){transition:box-shadow var(--md-sys-motion-duration-short4) var(--md-sys-easing-standard),transform var(--md-sys-motion-duration-short4) var(--md-sys-easing-standard)}.card:not(.legal-card):hover{box-shadow:var(--md-sys-elevation-level3);transform:translateY(-2px)}md-dialog{animation:expandScale var(--md-sys-motion-duration-medium3) var(--md-sys-easing-emphasized-decelerate) both}.feature-card{animation:fadeIn var(--md-sys-motion-duration-medium2) var(--md-sys-easing-emphasized-decelerate) both}.feature-card:nth-child(1){animation-delay:0ms}.feature-card:nth-child(2){animation-delay:50ms}.feature-card:nth-child(3){animation-delay:.1s}.feature-card:nth-child(4){animation-delay:.15s}md-outlined-text-field:focus-within,md-filled-text-field:focus-within{transition:all var(--md-sys-motion-duration-short3) var(--md-sys-easing-standard)}@keyframes snackbarSlideUp{0%{opacity:0;transform:translate(-50%,100%)}to{opacity:1;transform:translate(-50%)}}@keyframes snackbarSlideDown{0%{opacity:1;transform:translate(-50%)}to{opacity:0;transform:translate(-50%,100%)}}.snackbar{position:fixed;left:50%;bottom:max(var(--md-sys-spacing-4),env(safe-area-inset-bottom));transform:translate(-50%,100%);z-index:1002;padding:var(--md-sys-spacing-3) var(--md-sys-spacing-4);max-width:min(calc(100vw - 2 * var(--md-sys-spacing-4)),672px);background:var(--md-sys-color-inverse-surface);color:var(--md-sys-color-inverse-on-surface);font-family:var(--md-sys-typescale-body-medium-font);font-size:var(--md-sys-typescale-body-medium-size);font-weight:var(--md-sys-typescale-body-medium-weight);line-height:var(--md-sys-typescale-body-medium-line-height);letter-spacing:var(--md-sys-typescale-body-medium-tracking);border-radius:var(--md-sys-shape-corner-extra-small);box-shadow:var(--md-sys-elevation-level2);opacity:0;pointer-events:none;transition:opacity var(--md-sys-motion-duration-short4) var(--md-sys-easing-emphasized-accelerate)}.snackbar.snackbar--visible{animation:snackbarSlideUp var(--md-sys-motion-duration-medium3) var(--md-sys-easing-emphasized-decelerate) both;opacity:1;pointer-events:auto}.snackbar.exit{animation:snackbarSlideDown var(--md-sys-motion-duration-short4) var(--md-sys-easing-emphasized-accelerate) both}.skeleton-loader{animation:skeletonPulse 1.5s var(--md-sys-easing-standard) infinite;background:linear-gradient(90deg,var(--md-sys-color-surface-container),var(--md-sys-color-surface-container-high),var(--md-sys-color-surface-container));background-size:200% 100%;animation:skeletonShimmer 2s infinite}.reveal-animation{animation:bounceIn var(--md-sys-motion-duration-long2) var(--md-sys-easing-emphasized-decelerate) both}.page-exit{animation:fadeOut var(--md-sys-motion-duration-short4) var(--md-sys-easing-emphasized-accelerate) both}@media(prefers-reduced-motion:reduce){.page,.feature-card,md-dialog,.snackbar,.skeleton-loader,.reveal-animation,.page-exit,.rsvp-success-card{animation:none}md-filled-button,md-outlined-button,md-text-button,md-icon-button,md-switch,md-checkbox,md-radio,.card:not(.legal-card),md-outlined-text-field:focus-within,md-filled-text-field:focus-within{transition:none}}.staging-banner{position:fixed;top:0;left:0;right:0;z-index:1300;background:var(--md-sys-color-error-container);color:var(--md-sys-color-on-error-container);border-bottom:2px solid var(--md-sys-color-error);padding:var(--md-sys-spacing-2) var(--md-sys-spacing-4);font-family:var(--md-sys-typescale-label-large-font);font-size:var(--md-sys-typescale-label-large-size);font-weight:var(--md-sys-typescale-label-large-weight);line-height:var(--md-sys-typescale-label-large-line-height);letter-spacing:var(--md-sys-typescale-label-large-tracking);text-align:center}.staging-banner-content{display:flex;align-items:center;justify-content:center;gap:var(--md-sys-spacing-2);max-width:960px;margin:0 auto}.staging-banner-icon{font-size:var(--md-sys-typescale-title-large-size);color:var(--md-sys-color-error);flex-shrink:0}.staging-banner-text{text-align:left}.staging-banner-text strong{font-weight:var(--md-sys-typescale-weight-bold);color:var(--md-sys-color-error);letter-spacing:var(--md-sys-typescale-body-large-tracking)}.staging-banner-separator{margin:0 var(--md-sys-spacing-1)}body.reveal-fullscreen-active .staging-banner,body:has(.reveal-screen-page) .staging-banner{display:block}@media(max-width:600px){.staging-banner{padding:var(--md-sys-spacing-2) var(--md-sys-spacing-3)}.staging-banner-content{flex-direction:column;gap:var(--md-sys-spacing-1)}.staging-banner-text{text-align:center;font-size:var(--md-sys-typescale-label-medium-size);line-height:var(--md-sys-typescale-label-medium-line-height)}.staging-banner-separator{display:none}}.qty-stepper{display:flex;align-items:center;gap:var(--md-sys-spacing-1);flex-shrink:0}.qty-stepper__value{display:inline-flex;align-items:center;justify-content:center;min-width:32px;font-size:var(--md-sys-typescale-title-large-size);font-weight:var(--md-sys-typescale-title-medium-weight);color:var(--md-sys-color-on-surface);text-align:center;-webkit-user-select:none;user-select:none}.addon-section{display:flex;flex-direction:column;gap:var(--md-sys-spacing-3)}.addon-section h3{margin:0;font-weight:var(--md-sys-typescale-title-medium-weight);letter-spacing:var(--md-sys-typescale-tracking-tight)}.addon-card{display:flex;align-items:center;justify-content:space-between;gap:var(--md-sys-spacing-4);padding:var(--md-sys-spacing-4);border:1px solid var(--md-sys-color-outline-variant);border-radius:var(--md-sys-shape-corner-medium);background:var(--md-sys-color-surface-container-low);transition:border-color .2s ease}.addon-card:hover{border-color:var(--md-sys-color-outline)}.addon-card__info{flex:1;min-width:0}.addon-card__info strong{font-size:var(--md-sys-typescale-title-small-size);font-weight:var(--md-sys-typescale-title-small-weight);color:var(--md-sys-color-on-surface)}.addon-card__info .footer-note{margin-top:var(--md-sys-spacing-1);margin-bottom:0}.addon-card__included{display:flex;align-items:center;gap:var(--md-sys-spacing-1);color:var(--md-sys-color-primary);font-weight:var(--md-sys-typescale-label-large-weight)}.addon-card__check-icon{font-size:18px;color:var(--md-sys-color-primary);display:inline-flex;align-items:center;line-height:1}.addon-section--compact .addon-card{background:var(--md-sys-color-surface)}.pricing-row__detail{font-size:var(--md-sys-typescale-label-small-size);color:var(--md-sys-color-on-surface-variant);font-weight:var(--md-sys-typescale-body-small-weight)}.quota-card{display:flex;flex-direction:column;gap:var(--md-sys-spacing-4)}.quota-card>strong{font-size:var(--md-sys-typescale-title-medium-size);font-weight:var(--md-sys-typescale-title-medium-weight);color:var(--md-sys-color-on-surface)}.quota-meter{display:flex;flex-direction:column;gap:var(--md-sys-spacing-1)}.quota-meter__header{display:flex;align-items:center;justify-content:space-between}.quota-meter__label{display:flex;align-items:center;gap:var(--md-sys-spacing-2);font-size:var(--md-sys-typescale-body-medium-size);font-weight:var(--md-sys-typescale-title-medium-weight);color:var(--md-sys-color-on-surface)}.quota-meter__icon{font-size:20px;color:var(--md-sys-color-on-surface-variant)}.quota-meter__count{font-size:var(--md-sys-typescale-body-small-size);color:var(--md-sys-color-on-surface-variant)}.quota-meter md-linear-progress{--md-linear-progress-active-indicator-height: 8px;--md-linear-progress-track-height: 8px;--md-linear-progress-track-shape: 4px;border-radius:4px}.quota-meter__remaining{margin:0}.quota-meter--full md-linear-progress{--md-linear-progress-active-indicator-color: var(--md-sys-color-error)}.quota-meter--full .quota-meter__remaining{color:var(--md-sys-color-error);font-weight:var(--md-sys-typescale-title-medium-weight)}.quota-card__actions{display:flex;flex-wrap:wrap;gap:var(--md-sys-spacing-2)}@media(max-width:600px){.addon-card{flex-direction:column;align-items:stretch;gap:var(--md-sys-spacing-3)}.addon-card .qty-stepper{align-self:flex-end}.quota-card__actions{flex-direction:column}.quota-card__actions md-outlined-button{width:100%}.admin-tab-actions{flex-direction:column}.admin-tab-actions md-filled-button,.admin-tab-actions md-outlined-button,.admin-tab-actions md-text-button{width:100%}.live-reveal-actions{flex-direction:column}.live-reveal-actions md-filled-tonal-button,.live-reveal-actions md-outlined-button{width:100%}}
