.sp{--sp-bg:var(--c-bg);--sp-ink:var(--c-ink);--sp-accent:var(--accent);--sp-muted:var(--c-ink-dim);top:var(--sp-top,0px);left:var(--sp-left,0px);z-index:var(--z-player);width:var(--sp-vw,100%);height:100dvh;height:var(--sp-vh,100dvh);background:radial-gradient(120% 80% at 50% -8%, var(--halo-1) 0%, transparent 62%), linear-gradient(180deg, var(--halo-2) 0%, var(--sp-bg) 100%);color:var(--sp-ink);font-family:var(--font-body);touch-action:manipulation;place-items:center;padding:0;display:grid;position:fixed;overflow:hidden}.sp--embed{--text-s:.74rem;--text-m:.84rem;--text-l:.98rem;--text-xl:1.18rem;--fs-h1:1.4rem;--fs-lead:.95rem;--fs-small:.82rem;--fs-micro:.7rem;--tap:2.15rem;--stage-width:100%;z-index:1;border-radius:inherit;touch-action:auto;width:100%;height:100%;max-height:100%;padding:0;position:absolute;inset:0}.sp--embed .sp-stage{width:100%;padding:.75rem .85rem 2.75rem}.sp--embed .sp-top{min-height:2.25rem;margin-bottom:.5rem}.sp--embed .sp-scene{gap:var(--space-4)}.sp--embed .sp-btn{min-height:2.4rem;padding:.45rem 1rem;font-size:.85rem}.sp--embed .sp-voice{grid-template-rows:1rem minmax(2rem,auto);gap:.3rem;min-height:0;margin-bottom:1.75rem;padding-top:.45rem}.sp--embed .sp-voice__wave{min-height:1rem}.sp--embed .sp-voice__row{min-height:2rem}.sp--embed .sp-voice__btn{min-height:2rem;font-size:var(--fs-micro);padding:0 .8rem}.sp--embed .sp-stop{z-index:3;pointer-events:none;justify-content:center;display:flex;position:absolute;bottom:.4rem;left:0;right:0}.sp--embed .sp-stop__btn{pointer-events:auto;border-radius:var(--r-pill);border:1px solid var(--c-line);min-height:1.75rem;color:var(--c-ink-dim);font:inherit;font-size:var(--fs-micro);font-weight:var(--fw-medium);letter-spacing:.02em;cursor:pointer;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);transition:color var(--dur-fast) var(--ease-out), border-color var(--dur-fast) var(--ease-out), background var(--dur-fast) var(--ease-out);background:#08070cb8;padding:.28rem .8rem}.sp--embed .sp-stop__btn:hover{color:var(--c-ink);border-color:var(--c-line-strong);background:#08070ce0}html.sp-lock,html.sp-lock body{overscroll-behavior:none;overflow:hidden}html.sp-lock body.min-h-screen{min-height:0;height:var(--sp-vh,100dvh)}.sp--live{pointer-events:none}.sp--live .sp-intro__note,.sp--live .sp-top{display:none}.sp--live .sp-stage{width:100%;padding:1.1rem}.sp:after{content:"";pointer-events:none;opacity:.05;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='3'/%3E%3C/filter%3E%3Crect width='160' height='160' filter='url(%23n)'/%3E%3C/svg%3E");position:absolute;inset:0}.sp-stage{box-sizing:border-box;width:min(100%, var(--stage-width));height:100%;max-height:100%;padding:max(var(--space-6), env(safe-area-inset-top)) max(var(--space-6), env(safe-area-inset-right)) max(var(--space-6), env(safe-area-inset-bottom)) max(var(--space-6), env(safe-area-inset-left));flex-direction:column;display:flex;position:relative}@media (width>=768px){.sp-stage{padding:max(var(--space-8), env(safe-area-inset-top)) max(var(--space-8), env(safe-area-inset-right)) max(var(--space-8), env(safe-area-inset-bottom)) max(var(--space-8), env(safe-area-inset-left))}}.sp-bg{z-index:0;pointer-events:none;position:absolute;inset:0}.sp-bg-fallback__cover{opacity:.35}.sp-bg-fallback__placeholder{aspect-ratio:auto;opacity:.2;border-radius:0;width:100%;height:100%;position:absolute;inset:0}.sp-bg .sp-media,.sp-bg .sp-placeholder{aspect-ratio:auto;border-radius:0;height:100%}.sp-stage>:not(.sp-bg):not(.sp-backdrop):not(.sp-bg-fallback){z-index:1;position:relative}.sp-backdrop{z-index:0;pointer-events:none;position:absolute;inset:0;overflow:hidden}.sp-backdrop__image,.sp-backdrop__video,.sp-backdrop__video-el{object-fit:cover;width:100%;height:100%;position:absolute;inset:0}.sp-backdrop__image{transform-origin:50%;transition:opacity .45s var(--ease-out,ease);transform:scale(1)}.sp-backdrop__image.is-under-video{opacity:0}.sp-backdrop__image.is-slow-zoom{animation:sp-backdrop-zoom 28s var(--ease-out,ease-out) forwards}@keyframes sp-backdrop-zoom{0%{transform:scale(1)}to{transform:scale(1.12)}}.sp-backdrop__video{opacity:0;transition:opacity .45s var(--ease-out,ease)}.sp-backdrop__video.is-ready{opacity:1}.sp-backdrop__overlay{background-color:#08070cbf;background-image:radial-gradient(120% 80% at 50% -8%, color-mix(in srgb, var(--halo-1) 78%, transparent) 0%, transparent 62%), linear-gradient(180deg, color-mix(in srgb, var(--halo-2) 70%, transparent) 0%, transparent 34%, color-mix(in srgb, var(--sp-bg) 88%, transparent) 100%), radial-gradient(120% 90% at 50% 42%, transparent 22%, #00000080 100%);position:absolute;inset:0}.sp-stage>.sp-backdrop.tr-cinematicFade-leave-active,.sp-stage>.sp-bg.tr-cinematicFade-leave-active,.sp-stage>.sp-backdrop.tr-zoom-leave-active,.sp-stage>.sp-bg.tr-zoom-leave-active,.sp-stage>.sp-backdrop.tr-blur-leave-active,.sp-stage>.sp-bg.tr-blur-leave-active,.sp-stage>.sp-backdrop.tr-reveal-leave-active,.sp-stage>.sp-bg.tr-reveal-leave-active,.sp-stage>.sp-backdrop.tr-split-leave-active,.sp-stage>.sp-bg.tr-split-leave-active,.sp-stage>.sp-backdrop.tr-curtain-leave-active,.sp-stage>.sp-bg.tr-curtain-leave-active,.sp-stage>.sp-backdrop.tr-lightFlash-leave-active,.sp-stage>.sp-bg.tr-lightFlash-leave-active,.sp-stage>.sp-backdrop.tr-dissolve-leave-active,.sp-stage>.sp-bg.tr-dissolve-leave-active,.sp-stage>.sp-backdrop.tr-parallax-leave-active,.sp-stage>.sp-bg.tr-parallax-leave-active{z-index:0}.sp-top{justify-content:space-between;align-items:center;gap:var(--space-3);margin-bottom:var(--space-3);min-height:var(--tap);display:flex}.sp-counter{font-size:var(--fs-micro);letter-spacing:var(--tracking-wide);color:var(--c-ink-faint);font-variant-numeric:tabular-nums;-webkit-user-select:none;user-select:none}.sp-counter b{color:var(--sp-ink);font-weight:var(--fw-medium)}.sp-chrome{justify-content:flex-end;gap:var(--space-2);display:flex}.sp-icon{width:var(--tap);height:var(--tap);border-radius:var(--r-pill);border:1px solid var(--c-line);color:var(--sp-ink);cursor:pointer;font:inherit;font-size:var(--fs-small);transition:border-color var(--dur-fast) var(--ease-out), background var(--dur-fast) var(--ease-out);background:#08070c66;place-items:center;display:grid}.sp-icon:hover{border-color:var(--c-line-strong);background:#08070c9e}.sp-inapp{z-index:4;left:max(var(--space-4), env(safe-area-inset-left));right:max(var(--space-4), env(safe-area-inset-right));bottom:max(var(--space-4), env(safe-area-inset-bottom));gap:var(--space-3);padding:var(--space-4);border-radius:var(--r-md);border:1px solid var(--c-line);color:var(--sp-ink);font-size:var(--fs-small);line-height:var(--lh-body);background:#08070cf0;display:grid;position:absolute}.sp-inapp p{margin:0}.sp-inapp__ok{justify-self:start}.sp-viewport{flex:1;min-height:0;display:grid;position:relative}.sp-scene{box-sizing:border-box;text-align:center;justify-content:center;align-items:center;gap:var(--space-5);scrollbar-width:none;flex-direction:column;width:100%;height:100%;min-height:0;display:flex;overflow-y:auto}.sp-scene::-webkit-scrollbar{display:none}.sp-scene--center{text-align:center;justify-content:center}.sp-scene>.sp-media,.sp-scene>.sp-placeholder{align-self:stretch}.sp-kicker{letter-spacing:var(--tracking-wide);text-transform:uppercase;font-size:var(--fs-micro);color:var(--sp-muted);margin:0}.sp-title{font-family:var(--font-heading,var(--font-body));font-size:var(--fs-h1);line-height:var(--lh-title);font-weight:var(--fw-bold);letter-spacing:-.015em;margin:0}.sp-text{font-size:var(--text-m);line-height:var(--lh-body);white-space:pre-line;margin:0}.sp-lead{color:var(--sp-muted);font-size:var(--fs-lead);margin:0 0 var(--space-6)}.sp-media{aspect-ratio:3/4;border-radius:var(--r-lg);object-fit:cover;background:linear-gradient(160deg, var(--halo-1), var(--c-void));width:100%}.sp-placeholder{aspect-ratio:3/4;border-radius:var(--r-lg);background:linear-gradient(160deg, var(--accent-glow), transparent 55%), linear-gradient(160deg, var(--halo-1), var(--c-void));width:100%}.sp-actions{align-items:center;gap:var(--space-3);visibility:hidden;opacity:0;pointer-events:none;transition:opacity .35s var(--ease-out,ease);flex-direction:column;display:flex}.sp-actions.is-ready{visibility:visible;opacity:1;pointer-events:auto}.sp-emoji{margin-top:var(--space-4);place-items:center;display:grid}@keyframes sp-actions-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}.sp-btn{border-radius:var(--r-pill);width:max-content;max-width:100%;min-height:3rem;font:inherit;font-weight:var(--fw-bold);cursor:pointer;padding:var(--space-3) var(--space-6);transition:transform var(--dur-fast) var(--ease-out), opacity var(--dur-fast) var(--ease-out);border:0}.sp-btn:active{transform:scale(.985)}.sp-btn-primary{background:var(--sp-accent);color:var(--accent-ink)}.sp-btn-ghost{color:var(--sp-ink);border:1px solid var(--c-line-strong);background:0 0}.sp-field{gap:var(--space-2);text-align:left;font-size:var(--fs-small);color:var(--sp-muted);flex-direction:column;display:flex}.sp-field input{min-height:var(--tap);border-radius:var(--r-sm);border:1px solid var(--c-line);background:var(--c-surface-1);color:var(--sp-ink);padding:0 var(--space-4);font:inherit}.sp-values{gap:var(--space-3);margin:var(--space-5) 0;display:grid}.sp-rsvp{gap:var(--space-8)}.sp-rsvp__date{gap:var(--space-3);text-align:left;justify-items:stretch;display:grid}.sp-rsvp__date .sp-btn{justify-self:center}.sp-rsvp__date input[type=date]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}.sp--glow .sp-stage:before{content:"";z-index:0;background:radial-gradient(50% 50% at 50% 60%, var(--accent-glow) 0%, transparent 70%);animation:sp-glow 2.4s var(--ease-out) forwards;pointer-events:none;position:absolute;inset:-10%}@keyframes sp-glow{0%{opacity:0;transform:scale(.7)}50%{opacity:1}to{opacity:.4;transform:scale(1.1)}}.sp--stamp .sp-rsvp h2{animation:sp-stamp .62s var(--ease-cine) both}@keyframes sp-stamp{0%{opacity:0;transform:scale(2.2)rotate(-8deg)}70%{opacity:1;transform:scale(.94)rotate(1deg)}to{transform:none}}.sp-play-gate{gap:var(--space-6)}.sp-play-gate__btn{width:5.5rem;height:5.5rem;color:var(--accent-ink);cursor:pointer;background:0 0;border:0;border-radius:50%;padding:0;position:relative}.sp-play-gate__ring{border:1px solid color-mix(in srgb, var(--sp-ink) 35%, transparent);animation:sp-play-pulse 2.4s var(--ease-out,ease) infinite;border-radius:50%;position:absolute;inset:0}.sp-play-gate__core{background:var(--sp-accent);box-shadow:0 0 0 1px color-mix(in srgb, var(--sp-ink) 8%, transparent), 0 12px 32px color-mix(in srgb, var(--sp-accent) 35%, transparent);transition:transform var(--dur-fast) var(--ease-out);border-radius:50%;place-items:center;display:grid;position:absolute;inset:.55rem}.sp-play-gate__btn:hover .sp-play-gate__core,.sp-play-gate__btn:focus-visible .sp-play-gate__core{transform:scale(1.04)}.sp-play-gate__btn:active .sp-play-gate__core{transform:scale(.96)}.sp-play-gate__btn:focus-visible{outline:none}.sp-play-gate__btn:focus-visible .sp-play-gate__ring{border-color:var(--sp-accent)}.sp-play-gate__icon{width:1.55rem;height:1.55rem;margin-left:.15rem}.sp-play-gate__hint{font-size:var(--fs-micro);letter-spacing:.08em;text-transform:uppercase;color:var(--c-ink-faint);margin:0}@keyframes sp-play-pulse{0%{opacity:.85;transform:scale(1)}70%{opacity:0;transform:scale(1.18)}to{opacity:0;transform:scale(1.18)}}@media (prefers-reduced-motion:reduce){.sp-play-gate__ring{animation:none}}.sp-intro__title{letter-spacing:-.02em}.sp-intro__note{margin:var(--space-4) 0 0;font-size:var(--fs-micro);letter-spacing:.08em;text-transform:uppercase;color:var(--c-ink-faint)}.sp-sound{gap:var(--space-4);display:grid}.sp-sound input[type=range]{width:100%;accent-color:var(--accent)}.sp-voice{box-sizing:border-box;align-content:end;justify-items:center;gap:var(--space-2);padding-top:var(--space-3);min-height:calc(1.25rem + 2.5rem + var(--space-2) + var(--space-3));flex-shrink:0;grid-template-rows:1.25rem minmax(2.5rem,auto);display:grid}.sp-voice__wave{place-items:end center;width:100%;min-height:1.25rem;display:grid}.sp-voice__row{justify-content:center;align-items:center;gap:var(--space-2);width:100%;min-height:2.5rem;display:flex}.sp-voice__btn{min-height:2.5rem;padding:0 var(--space-4);font-size:var(--fs-small)}.sp-voice__restart{font:inherit;font-size:var(--fs-small);color:var(--sp-muted);opacity:.45;cursor:pointer;text-align:center;background:0 0;border:0;margin:0;padding:0;line-height:1.4}.sp-voice__restart:hover,.sp-voice__restart:focus-visible{opacity:.75;color:var(--sp-ink);outline:none}.sp-wave--btn{height:1.25rem;color:inherit}.sp-wave--btn span{background:currentColor}.sp-voice-scene{align-items:center;gap:var(--space-4);flex-direction:column}.sp-voice-scene__play-wrap{justify-items:center;gap:var(--space-3);display:grid}.sp-voice-scene__meter{opacity:0;height:1.75rem;transition:opacity .35s var(--ease-out,ease), transform .35s var(--ease-out,ease);pointer-events:none;justify-content:center;align-items:flex-end;gap:4px;display:flex;transform:translateY(.35rem)}.sp-voice-scene__meter--on{opacity:1;transform:translateY(0)}.sp-voice-scene__bar{border-radius:var(--r-pill,999px);background:var(--sp-accent);transform-origin:bottom;width:3px;height:35%}.sp-voice-scene__meter--on .sp-voice-scene__bar{animation:sp-voice-meter .72s var(--ease-in-out,ease-in-out) infinite;animation-delay:calc(var(--i) * 70ms)}.sp-voice-scene__play{width:4.5rem;height:4.5rem;color:var(--accent-ink,#fff);cursor:pointer;background:0 0;border:0;border-radius:50%;padding:0;position:relative}.sp-voice-scene__play:disabled{cursor:default}.sp-voice-scene__ring{border:1px solid color-mix(in srgb, var(--sp-ink) 32%, transparent);animation:sp-play-pulse 2.4s var(--ease-out,ease) infinite;border-radius:50%;position:absolute;inset:0}.sp-voice-scene__play.is-playing .sp-voice-scene__ring{border-color:color-mix(in srgb, var(--sp-accent) 55%, transparent);animation:sp-voice-ring 1.6s var(--ease-out,ease) infinite}.sp-voice-scene__core{background:var(--sp-accent);box-shadow:0 0 0 1px color-mix(in srgb, var(--sp-ink) 8%, transparent), 0 10px 28px color-mix(in srgb, var(--sp-accent) 34%, transparent);transition:transform var(--dur-fast,.16s) var(--ease-out,ease);border-radius:50%;place-items:center;display:grid;position:absolute;inset:.45rem}.sp-voice-scene__play:hover:not(:disabled) .sp-voice-scene__core,.sp-voice-scene__play:focus-visible .sp-voice-scene__core{transform:scale(1.05)}.sp-voice-scene__play:active:not(:disabled) .sp-voice-scene__core{transform:scale(.96)}.sp-voice-scene__play:focus-visible{outline:none}.sp-voice-scene__play:focus-visible .sp-voice-scene__ring{border-color:var(--sp-accent)}.sp-voice-scene .sp-btn-ghost{visibility:hidden;opacity:0;pointer-events:none;transition:opacity .3s var(--ease-out,ease)}.sp-voice-scene .sp-btn-ghost.is-ready{visibility:visible;opacity:1;pointer-events:auto}.sp-voice-scene__icon{width:1.35rem;height:1.35rem;margin-left:.12rem}.sp-voice-scene__icon--pause{width:1.2rem;height:1.2rem;margin-left:0}@keyframes sp-voice-meter{0%,to{height:28%}50%{height:100%}}@keyframes sp-voice-ring{0%{opacity:.9;transform:scale(1)}70%{opacity:0;transform:scale(1.22)}to{opacity:0;transform:scale(1.22)}}@media (prefers-reduced-motion:reduce){.sp-voice-scene__ring,.sp-voice-scene__play.is-playing .sp-voice-scene__ring,.sp-voice-scene__meter--on .sp-voice-scene__bar,.sp-voice-scene__eq span{animation:none}.sp-voice-scene__meter{transition:none}.sp-voice-scene__meter--on .sp-voice-scene__bar,.sp-voice-scene__eq span{height:55%}}.sp-wave{opacity:0;visibility:hidden;pointer-events:none;align-items:flex-end;gap:3px;height:1.1rem;transition:opacity .5s,visibility .5s;display:flex}.sp-wave--visible{opacity:1;visibility:visible}.sp-wave span{border-radius:var(--r-pill);background:var(--sp-accent);width:3px;animation:sp-wave .9s var(--ease-in-out) infinite;animation-delay:calc(var(--i) * 90ms)}@keyframes sp-wave{0%,to{height:20%}50%{height:100%}}@media (prefers-reduced-motion:reduce){.sp-wave span{height:50%;animation:none}.sp-scene{animation:none}}
