@font-face{font-family:DM Sans;font-style:normal;font-weight:400 700;font-display:swap;src:url(/fonts/dm-sans-latin-variable.woff2)format("woff2")}@font-face{font-family:Playfair Display;font-style:normal;font-weight:400 700;font-display:swap;src:url(/fonts/playfair-display-latin-variable.woff2)format("woff2")}@font-face{font-family:Playfair Display;font-style:italic;font-weight:400 700;font-display:swap;src:url(/fonts/playfair-display-latin-italic-variable.woff2)format("woff2")}:root{--ink:#512c3e;--muted:#795564;--accent:#9f4262;--paper:#fffefd;--paper-surface:#fffefd;--paper-edge:#b988992b;--paper-fiber:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' opacity='.045' filter='url(%23n)'/%3E%3C/svg%3E");--paper-texture:linear-gradient(90deg, #dba2b008, transparent 24%, #fff5 65%, #dba2b008), repeating-linear-gradient(0deg, #99836c03 0 1px, transparent 1px 4px), var(--paper-fiber);--blush:#faedf0;--border:#e3c9d3;--sans:"DM Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--serif:"Playfair Display", Georgia, "Times New Roman", serif}*{box-sizing:border-box}body{background:var(--blush);color:var(--ink);font-family:var(--sans);-webkit-font-smoothing:antialiased;margin:0}button,input,textarea,select{font:inherit}button,a{-webkit-tap-highlight-color:transparent;touch-action:manipulation}button{color:inherit;cursor:pointer;border:0}button:disabled{cursor:wait;opacity:.7}a{color:inherit}svg{flex-shrink:0}button:focus-visible,a:focus-visible,summary:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline-offset:5px;outline:3px solid #9f4262}h2:focus{outline:none}[hidden]{display:none!important}.screen-reader-only{clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.calendar-pending{opacity:.8;flex-wrap:wrap;justify-content:center}.calendar-pending small{flex-basis:100%;font-size:12px;font-weight:500}::selection{color:#442034;background:#e9bccc}.invitation-viewport{height:100svh;overflow:visible;container:invitation-viewport/size}.invitation-viewport.is-preview{height:100%}.invitation-app{--ink:#512c3e;--muted:#795564;--accent:#9f4262;isolation:isolate;overflow-anchor:none;min-height:100%;color:var(--ink);font-family:var(--sans);background:radial-gradient(at 50% 42%,#fff9fa 0%,#fbf0f3 40%,#f5e4eb 100%);flex-direction:column;font-size:18px;line-height:1.65;display:flex;position:relative;overflow:clip;container:invitation/inline-size}.theme-berry{--accent:#88375e;--ink:#48243c;--muted:#71516a;background:radial-gradient(at 50% 25%,#fff6fa,#f3e6ee 85%)}.theme-peach{--accent:#a24d51;--ink:#60363c;--muted:#80585b;background:radial-gradient(at 50% 25%,#fff9f2,#f9e9e2 85%)}.paper-grain{z-index:-1;pointer-events:none;opacity:.4;background-image:var(--paper-fiber);position:absolute;inset:0}.invitation-header{justify-content:space-between;align-items:center;gap:20px;padding:4px 32px;display:flex}.brand{letter-spacing:-.7px;align-items:center;gap:9px;font-size:17px;font-weight:700;line-height:1.3;text-decoration:none;display:inline-flex}.brand-icon{width:30px;height:32px;color:var(--accent);border:1px solid #c58fa4;border-radius:10px;place-items:center;display:grid;transform:rotate(-7deg)}.brand-period{color:var(--accent)}.header-note{letter-spacing:1.2px;color:var(--muted);align-items:center;gap:8px;margin-left:auto;font-size:12px;font-weight:600;display:flex}.header-note>span{background:#a76c83;border-radius:50%;width:5px;height:5px}.invitation-main{flex-direction:column;flex:1;justify-content:center;width:100%;padding:8px 24px;display:flex}.intro-heading{text-align:center;max-width:780px;margin:0 auto;padding:0 24px 8px;position:relative}.eyebrow{letter-spacing:1.7px;color:var(--accent);text-wrap:balance;font-size:13px;font-weight:650;line-height:1.6;display:inline-block}.intro-heading h1{width:fit-content;max-width:100%;font-family:var(--serif);letter-spacing:-1.8px;margin:10px auto;font-size:clamp(2.75rem,6cqw,3.5rem);font-weight:600;line-height:1.04;position:relative}.intro-heading h1 em{color:var(--accent);font-weight:600}.heading-star{color:#b67590;width:24px;position:absolute;top:55%;right:-38px;transform:rotate(12deg)}.intro-heading p{color:var(--muted);margin:0;font-size:17px;font-weight:500;line-height:1.4}.mobile-break{display:none}.handwritten{font-family:var(--serif);font-style:italic;font-weight:500}.letter-experience{isolation:isolate;width:100%;max-width:600px;margin:0 auto;position:relative}.letter-experience:before{content:"";z-index:-1;pointer-events:none;opacity:.6;background:radial-gradient(at 50% 48%,#fffafbc9 0%,#fff8fa75 42%,#ecc2d01a 60%,#0000 76%);border-radius:50%;transition:opacity 1s,transform 1.2s cubic-bezier(.22,1,.36,1);position:absolute;inset:-55px -40px -35px;transform:scale(.88)}.letter-experience[data-expanded=true]:before{opacity:1;transform:scale(1.04)}.letter-stage{isolation:isolate;width:100%;position:relative;overflow:visible}.letter-ground-shadow{z-index:0;filter:blur(12px);pointer-events:none;background:#95556b1f;border-radius:50%;width:70%;height:24px;position:absolute;bottom:8px;left:15%}.letter-paper{z-index:3;border:1px solid var(--paper-edge);background-color:var(--paper-surface);background-image:var(--paper-texture);background-origin:border-box;background-size:100% var(--sheet-height,100%);border-radius:3px;flex-direction:column;width:100%;margin:0;display:flex;position:relative;box-shadow:0 18px 52px -20px #aa6c8240,0 4px 14px -6px #9b627524,0 1px 2px #a66f800d}.letter-copy{visibility:hidden;flex-direction:column;flex:1;padding:20px 28px;display:flex;position:relative}.letter-copy.is-revealed{visibility:visible}.letter-content{flex-direction:column;gap:14px;min-width:0;margin-bottom:10px;display:flex}.letter-message,.letter-date-section{min-width:0}.paper-fold{pointer-events:none;background:linear-gradient(#0000,#b58e970d 42%,#a87e8b1c 49%,#ffffffed 53%,#bc979f07 70%,#0000);height:12px;position:absolute;left:1px;right:1px;transform:translateY(-50%)}.paper-fold-one{top:33.3333%}.paper-fold-two{background:linear-gradient(#0000,#bc979f07 30%,#ffffffed 47%,#a87e8b1c 53%,#b58e970d 58%,#0000);top:66.6667%}.paper-unfolding{z-index:3;pointer-events:none;perspective:1400px;transform-origin:50% 0;width:100%;transform-style:preserve-3d;position:absolute;top:0;left:0}.paper-fold-panel{width:100%;height:var(--fold-height);backface-visibility:visible;transform-style:preserve-3d;position:absolute;left:0}.paper-fold-panel:before{content:"";border-inline:1px solid var(--paper-edge);border-radius:inherit;background-color:var(--paper-surface);background-image:var(--paper-texture);background-origin:border-box;background-size:100% var(--sheet-height);background-position:0 calc(-1 * var(--fold-offset));position:absolute;inset:0}.fold-panel-top{--fold-offset:0px;z-index:3;transform-origin:bottom;border-radius:3px 3px 0 0;top:0}.fold-panel-top:before{border-top:1px solid var(--paper-edge)}.fold-panel-middle{--fold-offset:var(--fold-height);top:var(--fold-height);z-index:1}.fold-panel-middle:before{background-position:0 calc(1px - var(--fold-offset));top:-1px;bottom:-1px}.fold-panel-bottom{--fold-offset:calc(2 * var(--fold-height));top:calc(2 * var(--fold-height));z-index:2;transform-origin:top;border-radius:0 0 3px 3px}.fold-panel-bottom:before{border-bottom:1px solid var(--paper-edge)}.fold-panel-shade{pointer-events:none;background:linear-gradient(#855c6b00 24%,#855c6b24);position:absolute;inset:0}.fold-panel-bottom .fold-panel-shade{background:linear-gradient(#855c6b24,#855c6b00 76%)}.envelope-rear,.flap-position,.envelope-pocket,.seal-position,.envelope-hit-target{top:0;left:calc(50% - var(--envelope-width) / 2);width:var(--envelope-width);height:var(--envelope-height);position:absolute}.envelope-rear{z-index:1;border:1px solid var(--paper-edge);background:linear-gradient(#eee5e5,#fffaf8 80%);border-radius:3px;box-shadow:0 18px 42px -14px #aa6c8238,0 3px 12px -6px #9b62751a}.flap-position{z-index:5;height:calc(var(--envelope-height) * .59);perspective:1000px;pointer-events:none}.envelope-flap{transform-origin:top;clip-path:polygon(0 0,100% 0,52% 98%,48% 98%);background-color:var(--paper-surface);background-image:var(--paper-fiber), linear-gradient(162deg, #fff 12%, #fffaf8 66%, #e9dcdf 99%);backface-visibility:visible;width:100%;height:100%}.phase-lifting .flap-position,:is(.phase-unfolding,.phase-unfolding-top,.phase-unfolding-bottom) .flap-position,.phase-open .flap-position{z-index:0}.envelope-pocket{z-index:4;pointer-events:none}:is(.phase-unfolding,.phase-unfolding-top,.phase-unfolding-bottom) .envelope-pocket,.phase-open .envelope-pocket{z-index:2}.envelope-left,.envelope-right,.envelope-front{position:absolute;inset:0}.envelope-left{background-image:var(--paper-fiber), linear-gradient(118deg, #fffefd 8%, #f1e8e8 99%);clip-path:polygon(0 0,51% 52%,0 100%)}.envelope-right{background-image:var(--paper-fiber), linear-gradient(260deg, #fffaf9 8%, #ecdee1 99%);clip-path:polygon(100% 0,49% 52%,100% 100%)}.envelope-front{background-color:var(--paper-surface);background-image:var(--paper-fiber), linear-gradient(165deg, #fffefd 14%, #fff 52%, #f8eff0);clip-path:polygon(0 100%,0 29%,50% 66%,100% 29%,100% 100%);border-radius:0 0 3px 3px}.wax-seal{background:0 0;place-items:center;width:66px;height:64px;display:grid;position:absolute;top:43%;left:calc(50% - 33px)}.heart-seal{width:100%;height:auto;display:block;overflow:visible}.wax-seal>.heart-seal{filter:drop-shadow(0 4px 3px #57081b38)drop-shadow(0 1px 1px #68121c20)}.stamp-bubbles{pointer-events:none;width:0;height:0;position:absolute;top:calc(43% + 32px);left:50%}.stamp-bubble{width:var(--bubble-size);height:var(--bubble-size);opacity:0;background:radial-gradient(circle at 30% 25%,#fffdfdea 0 12%,#fbd4e280 30%,#ea8fad48 70%,#d05b8030);border:1px solid #d45d8370;border-radius:50%;position:absolute;top:0;left:0;transform:translate(-50%,-50%)scale(.2);box-shadow:inset -2px -3px 5px #b7376015,0 2px 6px #a6425e0a}.stamp-bubble-heart{box-shadow:none;color:#d84d72;background:0 0;border:0;border-radius:0}.stamp-bubble-heart>svg{width:100%;height:100%;display:block}@media (hover:hover) and (pointer:fine) and (prefers-reduced-motion:no-preference){.phase-sealed:has(.envelope-hit-target:hover) .stamp-bubble{animation:stamp-bubble-rise 2.2s var(--bubble-delay) cubic-bezier(.22, .61, .36, 1) infinite both}.phase-sealed:has(.envelope-hit-target:hover) .wax-seal>.heart-seal{animation:1.5s ease-in-out infinite stamp-heart-pulse}}@keyframes stamp-bubble-rise{0%{opacity:0;transform:translate(-50%,-50%)scale(.2)}16%{opacity:.85}72%{opacity:.55}to{opacity:0;transform:translate(-50%, -50%) translate(var(--bubble-x), var(--bubble-y)) scale(1.12)}}@keyframes stamp-heart-pulse{0%,to{transform:scale(1)}45%{transform:scale(1.07)rotate(2deg)}68%{transform:scale(.99)rotate(-1deg)}}.is-background :is(.stamp-bubble,.wax-seal>.heart-seal){animation-play-state:paused}.envelope-bottom-label{color:#865064;max-width:62%;font-family:var(--serif);overflow-wrap:anywhere;font-size:20px;font-style:italic;font-weight:600;line-height:1.2;position:absolute;bottom:14px;left:20px}.postmark{color:#a0697e;border:1px solid #a66c8270;border-radius:50%;flex-direction:column;justify-content:center;align-items:center;gap:4px;width:57px;height:57px;display:flex;position:absolute;bottom:10px;right:15px;transform:rotate(12deg)}.postmark span{letter-spacing:.7px;font-size:7px;font-weight:600;line-height:1.3}.envelope-hit-target{z-index:8;background:0 0;border-radius:3px}.envelope-hit-target:focus-visible{outline-offset:10px}.envelope-side-heart{pointer-events:none;top:calc(var(--envelope-height) + 8px);left:calc(50% - var(--envelope-width) / 2 - 14px);font-family:var(--serif);color:#b46e8b;font-size:32px;line-height:1;position:absolute;transform:rotate(-18deg)}.envelope-side-star{pointer-events:none;top:10px;right:calc(50% - var(--envelope-width) / 2 - 9px);color:#b88098;font-size:23px;position:absolute}:is(.phase-unfolding,.phase-unfolding-top,.phase-unfolding-bottom) .envelope-side-heart,.phase-open .envelope-side-heart,:is(.phase-unfolding,.phase-unfolding-top,.phase-unfolding-bottom) .envelope-side-star,.phase-open .envelope-side-star{visibility:hidden}.opening-action{text-align:center}.opening-action-content{--opening-content-display:flex;flex-direction:column;align-items:center;gap:8px;padding-top:4px}.primary-button{background:var(--accent);color:#fffafc;border:1px solid #0000;border-radius:100px;justify-content:center;align-items:center;gap:10px;min-height:48px;padding:11px 24px;font-size:18px;font-weight:700;line-height:1.3;text-decoration:none;transition:background .2s,box-shadow .2s;display:inline-flex;box-shadow:0 5px 17px #9e496825}.primary-button:not(:disabled):hover{background:color-mix(in srgb, var(--accent), #351226 13%);box-shadow:0 8px 22px #9e496833}.open-letter-button{overflow-wrap:anywhere;min-width:235px;max-width:100%}.open-hint{color:var(--muted);font-size:14px;font-weight:500}.letter-topline{justify-content:space-between;align-items:center;gap:20px;min-height:42px;margin-bottom:6px;display:flex}.letter-topline>span:first-child{max-width:78%;color:var(--muted);letter-spacing:1px;font-size:13px;font-weight:650;line-height:1.5}.letter-topline strong{color:var(--accent);letter-spacing:0;overflow-wrap:anywhere;margin-left:6px;font-size:17px;display:inline}.letter-stamp{color:#a56a84;border:1px dashed #c298aa;flex-direction:column;flex-shrink:0;align-items:center;gap:3px;width:52px;padding:5px 3px;display:flex;transform:rotate(7deg)}.letter-stamp small{letter-spacing:.4px;white-space:nowrap;font-size:6px;font-weight:700}.letter-title{color:var(--ink);font-family:var(--serif);letter-spacing:-1.1px;white-space:pre-line;overflow-wrap:anywhere;text-wrap:pretty;margin:0 0 10px;font-size:clamp(2.125rem,3.7cqw,2.875rem);font-weight:650;line-height:1.1}.letter-body{color:#694552;font-size:18px;font-weight:500;line-height:1.5}.letter-body p{white-space:pre-line;overflow-wrap:anywhere;margin:0 0 8px}.letter-body p:last-child{margin-bottom:0}.date-details{grid-template-columns:minmax(0,1fr);gap:6px;padding:10px 14px 6px;display:grid}.detail-item{color:var(--accent);align-items:flex-start;gap:8px;min-width:0;display:flex}.detail-item>svg{margin-top:2px}.detail-item>span{flex-direction:column;gap:3px;min-width:0;display:flex}.detail-value{color:var(--ink);overflow-wrap:anywhere;font-size:17px;font-weight:650;line-height:1.35}.detail-item>.date-when{color:var(--ink);flex-flow:wrap;gap:0 5px;font-size:18px;font-weight:700;line-height:1.4;display:flex}.date-day:first-letter{text-transform:uppercase}.date-time{white-space:nowrap}.venue-detail{border-top:1px solid #ce9cab38;grid-column:1/-1;padding-top:6px}.detail-address{color:var(--muted);overflow-wrap:anywhere;font-size:15px;font-weight:500;line-height:1.4}.dress-code{color:var(--muted);align-items:flex-start;gap:7px;font-size:14px;font-weight:500;line-height:1.4;display:flex}.dress-code svg{margin-top:3px}.invitation-question{max-width:480px;font-family:var(--serif);text-align:center;overflow-wrap:anywhere;text-wrap:balance;margin:12px auto 8px;font-size:28px;font-weight:650;line-height:1.2}.answer-zone{width:100%;max-width:440px;margin:0 auto;position:relative}.response-panel{display:flow-root}.letter-keepsake{text-align:center;flex-wrap:wrap;justify-content:center;align-items:center;gap:7px 14px;padding-top:12px;display:flex}.letter-keepsake>p{color:var(--muted);align-items:center;gap:7px;margin:0;font-size:16px;font-weight:600;display:inline-flex}.yes-button{overflow-wrap:anywhere;width:51%;padding:11px 10px;position:absolute;top:0;left:0}.yes-button span{min-width:0}.no-button{color:#694250;overflow-wrap:anywhere;background:#f5e9ed;border:1px solid #dcc6cf;border-radius:100px;width:40%;min-height:48px;padding:11px 10px;font-size:18px;font-weight:650;line-height:1.3;position:absolute;top:0;left:58%}.dodge-caption{text-align:center;min-height:20px;color:var(--muted);margin:0;font-size:13px;font-weight:500;line-height:1.5}.dodge-caption:empty{display:none}.quiet-button{min-height:44px;color:var(--muted);text-underline-offset:4px;background:0 0;justify-content:center;align-items:center;gap:8px;padding:10px 4px;font-size:14px;font-weight:600;display:inline-flex}.quiet-button:hover{text-decoration:underline}.inline-error{color:#873048;background:#f9e3ea;border-radius:10px;padding:10px;font-size:16px;line-height:1.4}.button-spinner{border:2px solid #fff5;border-top-color:#fff;border-radius:50%;flex-shrink:0;width:20px;height:20px;animation:1s linear infinite spin}.declined-message{text-align:center;color:var(--muted);padding:18px 0 4px}.declined-message>svg{color:var(--accent)}.declined-message h3{font-family:var(--serif);margin:15px 0;font-size:29px;font-weight:600;line-height:1.3}.declined-message p{font-size:18px;line-height:1.5}.letter-signature{border-top:1px solid #ce9cab38;flex-wrap:wrap;align-items:baseline;gap:3px 8px;margin-top:0;padding-top:8px;display:flex}.letter-signature>span:first-child{color:var(--muted);font-size:15px;font-weight:500}.letter-signature .handwritten{max-width:100%;color:var(--accent);overflow-wrap:anywhere;font-size:22px;font-weight:600;line-height:1.3}.letter-signature>svg{color:var(--accent);align-self:center}.under-letter-note{text-align:center;font-family:var(--serif);color:var(--muted);margin:25px auto 0;font-size:15px;font-style:italic;font-weight:500}.confirmation-section{position:relative;overflow:clip}.confirmation-content{text-align:center;padding:14px 0 0;position:relative}.accepted-kicker{color:var(--accent);letter-spacing:.5px;background:#f9e9ee;border:1px solid #c992a6;border-radius:30px;align-items:center;gap:7px;padding:4px 10px;font-size:11px;font-weight:700;display:inline-flex}.celebration-heart{width:48px;height:48px;color:var(--accent);opacity:.2;pointer-events:none;place-items:center;margin:0;display:grid;position:absolute;top:8px;right:0}.celebration-heart>div{filter:drop-shadow(0 5px 7px #a84b6720)}.heart-sparkle-one{color:#b6718c;width:23px;position:absolute;top:4px;right:-1px}.heart-sparkle-two{color:#b6718c;width:16px;position:absolute;bottom:7px;left:2px}.success-title{font-family:var(--serif);letter-spacing:-1px;color:var(--accent);overflow-wrap:anywhere;margin:8px 0 10px;font-size:clamp(2rem,3.5cqw,2.5rem);font-weight:650;line-height:1.1}.success-message{color:#694552;white-space:pre-line;overflow-wrap:anywhere;max-width:470px;margin:0 auto;font-size:18px;font-weight:500;line-height:1.45}.accepted-actions{flex-wrap:wrap;justify-content:center;align-items:center;gap:4px 10px;margin-top:14px;display:flex}.calendar-link,.calendar-preview{min-height:46px;color:var(--accent);background:#f4e5ec;border-radius:12px;justify-content:center;align-items:center;gap:8px;padding:10px 14px;font-size:16px;font-weight:700;line-height:1.4;text-decoration:none;display:flex}.calendar-link:hover{background:#edd5e1}.map-link{text-underline-offset:4px;align-items:center;gap:6px;min-height:44px;padding:10px;font-size:16px;font-weight:650;display:inline-flex}.success-postscript{color:var(--accent);overflow-wrap:anywhere;margin:12px 0 0;font-size:19px;font-weight:500;line-height:1.3}.success-bottom{color:var(--muted);align-items:center;gap:6px;margin-top:8px;font-size:13px;font-weight:600;line-height:1.4;display:inline-flex}.celebration-particles{z-index:4;pointer-events:none;position:absolute;inset:0;overflow:hidden}.celebration-particles>span{position:absolute;bottom:0}.bubble-particle{background:#ffffff60;border:1px solid;border-radius:50%;box-shadow:inset -2px -3px 8px #f0c0d335}.ambient-decor{z-index:-1;pointer-events:none;position:absolute;inset:0}.ambient-heart{color:#c185a0;opacity:.6;animation:9s ease-in-out infinite float-soft;position:absolute}.ambient-heart-one{width:43px;top:300px;left:13%;transform:rotate(-19deg)}.ambient-heart-two{width:30px;animation-delay:1s;top:580px;right:12%;transform:rotate(16deg)}.ambient-star{color:#bf86a0;opacity:.6;width:14px;position:absolute}.ambient-star-one{top:200px;right:23%}.ambient-star-two{top:640px;left:22%}.letter-is-open .ambient-heart,.is-background .ambient-heart{animation-play-state:paused}.letter-is-open .ambient-decor{opacity:.45;transition:opacity .6s}.invitation-footer{padding:4px 32px max(6px, env(safe-area-inset-bottom));color:var(--muted);justify-content:space-between;align-items:center;gap:12px;display:flex}.footer-private,.footer-love{align-items:center;gap:7px;font-size:12px;font-weight:500;line-height:1.4;display:inline-flex}.footer-love{margin-left:auto}.invitation-preview{min-height:100%}.error-page{text-align:center;flex-direction:column;justify-content:center;align-items:center;min-height:100svh;padding:28px;display:flex}.error-page h1{font-family:var(--serif);font-size:42px;font-weight:600;line-height:1.2}.error-page p{margin-bottom:28px;font-size:18px}.seal-position{z-index:6;pointer-events:none}.intro-block{flex-shrink:0;overflow:clip}.letter-experience:not(.phase-sealed):not(.phase-open) :is(.paper-unfolding,.paper-fold-panel,.envelope-flap){will-change:transform}.letter-stamp>svg{width:20px;height:20px}.date-card{background:linear-gradient(135deg,#ffffff70,#f9eef080);border:1px solid #ce9cab30;border-radius:12px}.date-card.is-confirmed{background:linear-gradient(135deg,#fff6f9,#f9e7ee);border-color:#bd7d9566}.date-card.is-confirmed .detail-address{color:var(--ink);font-size:16px;font-weight:650}.date-extra{flex-wrap:wrap;align-items:baseline;gap:4px 12px;padding:0 14px 10px;display:flex}.date-extra p{margin:0}.date-extra .dress-code{flex-basis:100%}.celebration-heart>div>svg{width:42px;height:42px}@container invitation (max-width:760px){.invitation-header{gap:12px;min-height:44px;padding:4px 16px;position:relative}.brand{gap:8px;font-size:16px}.brand-icon{width:27px;height:28px}.header-note{display:none}.invitation-main{padding:4px 12px 6px}.eyebrow{letter-spacing:1px;max-width:330px;font-size:11px}.intro-heading{padding:0 12px 4px}.intro-heading h1{margin:8px auto;font-size:44px}.intro-heading p{font-size:16px}.heading-star{width:17px;right:-20px}.letter-experience{max-width:600px;margin-top:0}.letter-copy{padding:16px}.letter-content{gap:10px;margin-bottom:8px}.letter-topline{gap:10px;min-height:34px;margin-bottom:4px}.letter-topline>span:first-child{letter-spacing:.5px;font-size:11px}.letter-topline strong{margin-left:4px;font-size:16px}.letter-stamp{width:43px;padding:4px 2px}.letter-stamp small{font-size:5px}.letter-stamp>svg{width:17px;height:17px}.letter-title{letter-spacing:-.9px;margin:0 0 8px;font-size:34px}.letter-body{font-size:18px;line-height:1.45}.letter-body p{margin-bottom:6px}.letter-body p:last-child{margin-bottom:0}.letter-signature{gap:2px 7px;padding-top:8px}.letter-signature>span:first-child{font-size:14px}.letter-signature .handwritten{font-size:20px}.date-details{gap:5px 10px;padding:9px 10px 6px}.date-extra{gap:4px 10px;padding:0 10px 9px}.detail-item{gap:7px}.detail-item>svg{width:18px;height:18px}.detail-item>.date-when{font-size:17px}.detail-value{font-size:16px}.venue-detail{padding-top:5px}.invitation-question{margin:10px auto 8px;font-size:26px}.yes-button{gap:6px}.yes-button>svg{width:19px}.dodge-caption{font-size:12px}.confirmation-content{padding-top:12px}.celebration-heart{display:none}.success-title{font-size:32px}.success-message{font-size:17px}.success-postscript{margin-top:10px;font-size:18px}.accepted-actions{margin-top:12px}.calendar-link,.calendar-preview{gap:7px;padding:10px 12px}.calendar-link>svg,.calendar-preview>svg{width:18px}.ambient-heart-one{opacity:.4;width:25px;top:280px;left:3%}.ambient-heart-two{width:23px;top:490px;right:3%}.ambient-star-one{width:10px;top:130px;right:6%}.ambient-star-two{width:10px;top:510px;left:7%}.invitation-footer{padding:0 14px max(4px, env(safe-area-inset-bottom));gap:6px}.footer-private{flex:1;font-size:11px}.footer-love{display:none}}@container invitation (max-width:360px){.invitation-main{padding-left:10px;padding-right:10px}.letter-copy{padding-left:18px;padding-right:18px}.letter-title{font-size:32px}.envelope-side-heart{font-size:28px;left:0}.envelope-side-star{right:0}.letter-topline strong{margin-left:0;display:block}.success-title{font-size:30px}}@container invitation-viewport (max-width:760px) and (max-height:740px){.intro-heading h1{margin:6px auto;font-size:40px}.intro-heading p,.open-hint{display:none}.invitation-main{padding:2px 8px 4px}.letter-copy{padding:10px 12px}.letter-topline{min-height:30px;margin-bottom:3px}.letter-stamp{gap:2px;padding:2px}.letter-title{margin-bottom:6px;font-size:30px;line-height:1.08}.letter-body{font-size:17px;line-height:1.4}.letter-body p{margin-bottom:4px}.letter-body p:last-child{margin-bottom:0}.letter-content{gap:8px;margin-bottom:6px}.date-details{gap:4px;padding:7px 8px 4px}.date-extra{gap:3px 8px;padding:0 8px 7px}.venue-detail{padding-top:4px}.invitation-question{margin:7px auto 6px;font-size:24px;line-height:1.1}.yes-button,.no-button{min-height:44px;padding:9px 8px;font-size:17px}.yes-button{gap:5px;width:56%}.yes-button>svg{width:18px}.letter-signature{padding-top:4px}.confirmation-content{padding-top:8px}.success-title{margin:6px 0 8px}.accepted-actions,.success-postscript{margin-top:8px}.success-bottom{margin-top:6px}}@container invitation-viewport (max-width:760px) and (max-height:600px){.invitation-footer{display:none}}:is(.phase-unfolding,.phase-unfolding-top,.phase-unfolding-bottom) .envelope-bottom-label,.phase-open .envelope-bottom-label,:is(.phase-unfolding,.phase-unfolding-top,.phase-unfolding-bottom) .postmark,.phase-open .postmark{visibility:hidden}@keyframes float-soft{0%,to{translate:0}50%{translate:0 -9px}}@keyframes spin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.theme-wicked{--ink:#352046;--muted:#6a527b;--accent:#7331b6;--wicked-green:#21805a;--paper-surface:#fffaff;--paper-edge:#cfb8e4;--seal-0:#70b595;--seal-1:#328a65;--seal-2:#166443;--seal-3:#0b3d2e;--seal-4:#bbe3bd;--seal-5:#5aab81;--seal-6:#123e2d;--seal-7:#154c38;--seal-8:#398560;--seal-9:#143e30;--seal-10:#225b41;--seal-11:#d3e8b6;--seal-12:#d4e8bf;--seal-13:#113e2d;--seal-14:#90c894;--seal-15:#78b18b;background:radial-gradient(at 12% 15%,#d8b8ff 0%,#0000 55%),radial-gradient(at 92% 75%,#cba1f1 0%,#0000 52%),radial-gradient(at 55% 40%,#fcf5ff 0%,#0000 65%),#ecdafa}.theme-wicked .brand-icon{color:#7331b6;background:#f4e8ff;border-color:#bb90da}.theme-wicked .brand-period,.theme-wicked .header-note>span{color:var(--wicked-green)}.theme-wicked .header-note>span{background:var(--wicked-green)}.theme-wicked .heading-star,.theme-wicked .ambient-star{color:#8640c5}.theme-wicked .ambient-heart{color:#9856c6}.theme-wicked .letter-experience:before{background:radial-gradient(#fff4ffcc,#be8deb26 56%,#0000 76%)}.theme-wicked .letter-ground-shadow{background:#68309a30}.theme-wicked .envelope-rear{background:linear-gradient(150deg,#8745c5,#532780);border-color:#653295;box-shadow:0 22px 50px -17px #60248c66}.theme-wicked .envelope-flap{background-color:#9a5be0;background-image:var(--paper-fiber), linear-gradient(160deg, #b782f0, #8544c7 80%)}.theme-wicked .envelope-left{background-image:var(--paper-fiber), linear-gradient(120deg, #a66ee0, #7c3db6)}.theme-wicked .envelope-right{background-image:var(--paper-fiber), linear-gradient(250deg, #ad74e5, #6c36a8)}.theme-wicked .envelope-front{background-color:#8a4ac6;background-image:var(--paper-fiber), linear-gradient(155deg, #ac70e7, #8846c4 63%, #6c329f)}.theme-wicked .envelope-bottom-label{color:#fff0ff}.theme-wicked .postmark{color:#f2e3ff;border-color:#ebd2ffa6}.theme-wicked .envelope-side-heart{color:var(--wicked-green)}.theme-wicked .envelope-side-star{color:#8c40c6}.theme-wicked .stamp-bubble{color:#b2e3bd;border-color:#b2e3bd99}.theme-wicked .letter-paper{box-shadow:0 22px 55px -24px #61269159,0 3px 12px -7px #79439840}.theme-wicked .letter-stamp{color:var(--wicked-green);border-color:#82b499}.theme-wicked .letter-title{color:#492266}.theme-wicked .letter-body,.theme-wicked .success-message{color:#604b71}.theme-wicked .primary-button{background:linear-gradient(120deg,#8b46da,#692ba7);box-shadow:0 5px 17px #7834b638}.theme-wicked .primary-button:not(:disabled):hover{background:linear-gradient(120deg,#7935c5,#5c2298);box-shadow:0 8px 22px #7834b64d}.theme-wicked .no-button{color:#694982;background:#f1e5fc;border-color:#d4b8e7}.theme-wicked .letter-signature{border-color:#b68bd33b}.theme-wicked .letter-signature .handwritten{color:#7331b6}.theme-wicked :is(.detail-item>svg,.date-plan-detail>svg,.dress-code>svg,.letter-signature>svg,.calendar-link>svg,.calendar-preview>svg){color:var(--wicked-green)}.theme-wicked .celebration-heart{color:#8b46da}.theme-wicked .accepted-kicker{color:#5d2b8c;background:#efe0ff;border-color:#c59fe2}.theme-wicked .accepted-kicker>svg{color:var(--wicked-green)}.theme-wicked .calendar-link,.theme-wicked .calendar-preview{background:#eddefb}.theme-wicked .calendar-link:hover{background:#e2cbf5}.theme-wicked .success-bottom{color:#70448e}.theme-wicked .heart-sparkle-one,.theme-wicked .heart-sparkle-two{color:#ae6de0}.theme-wicked :is(button,a):focus-visible{outline-color:#7331b6}.theme-wicked ::selection{color:#352046;background:#dcc0fa}.ticket-main{min-width:0}.ticket-main.has-poster{grid-template-columns:116px minmax(0,1fr);align-items:center;gap:3px;display:grid}.date-poster{min-width:0;margin:12px 0 12px 12px}.date-poster img{object-fit:contain;border-radius:4px;width:100%;height:auto;display:block;box-shadow:0 3px 9px #152a2b26}.wicked-ticket{background:linear-gradient(125deg,#eee0fc,#faf3ff 54%,#e9d6f8);border:1px solid #c3a3df;border-radius:10px;position:relative;overflow:hidden}.ticket-heading{color:#fff6ff;letter-spacing:1.1px;background:linear-gradient(100deg,#8743c5,#582881);border-bottom:1px dashed #c29ae0;justify-content:space-between;gap:8px;padding:9px 12px;font-size:10px;font-weight:750;line-height:1.4;display:flex}.ticket-heading>span:last-child{color:#c9f3bc}.wicked-ticket .date-details{gap:9px;padding:12px 12px 12px 10px}.wicked-ticket .date-when{font-size:17px;line-height:1.35}.wicked-ticket .venue-detail{border-color:#ae84cb3f}.wicked-ticket .detail-value{font-size:17px}.wicked-ticket .date-extra{border-top:1px dashed #c1a0d9;gap:7px;padding:10px 12px 12px}.wicked-ticket.is-confirmed{background:linear-gradient(125deg,#e8d5fb,#f6edff 54%,#dfc7f4);border-color:#aa7cc9}.date-plan-detail{color:var(--muted);flex-basis:100%;gap:8px;font-size:15px;font-weight:500;line-height:1.35;display:flex}.date-plan-detail>svg{color:var(--accent);flex-shrink:0;margin-top:2px}.date-plan-detail>span{overflow-wrap:anywhere;min-width:0}.date-plan-detail strong{color:var(--ink);margin-bottom:2px;font-size:12px;font-weight:700;display:block}@container invitation (max-width:760px){.theme-wicked .letter-copy{padding:10px 14px}.theme-wicked .letter-title{margin-bottom:6px;font-size:32px}.theme-wicked .letter-body{font-size:17px;line-height:1.4}.theme-wicked .letter-body p{margin-bottom:5px}.theme-wicked .letter-body p:last-child{margin-bottom:0}.theme-wicked .letter-content{gap:8px;margin-bottom:6px}.theme-wicked .ticket-main.has-poster{grid-template-columns:83px minmax(0,1fr);gap:1px}.theme-wicked .date-poster{margin:7px 0 7px 8px}.wicked-ticket .date-details{gap:6px;padding:7px 9px}.wicked-ticket .detail-item{gap:5px}.wicked-ticket .detail-item>svg{width:17px;height:17px}.wicked-ticket .date-when,.wicked-ticket .detail-value{font-size:16px;line-height:1.3}.wicked-ticket .venue-detail{padding-top:5px}.wicked-ticket .date-extra{gap:5px;padding:7px 9px}.theme-wicked .ticket-heading{letter-spacing:.7px;padding:5px 9px;font-size:9px}.theme-wicked .date-plan-detail,.theme-wicked .dress-code,.theme-wicked .detail-address{font-size:16px;line-height:1.3}.theme-wicked .date-plan-detail{gap:6px}.theme-wicked .date-plan-detail strong{margin:0 5px 0 0;font-size:12px;display:inline}.theme-wicked .letter-signature{padding-top:6px}.theme-wicked .invitation-question{margin:8px auto 6px;font-size:25px;line-height:1.15}}@container invitation-viewport (max-width:760px) and (max-height:740px){.theme-wicked .letter-copy{padding:8px 12px}.theme-wicked .letter-title{margin-bottom:5px;font-size:30px;line-height:1.08}.theme-wicked .letter-body{font-size:17px;line-height:1.32}.theme-wicked .letter-body p{margin-bottom:4px}.theme-wicked .letter-body p:last-child{margin-bottom:0}.theme-wicked .letter-content{gap:6px;margin-bottom:4px}.theme-wicked .letter-topline{min-height:28px;margin-bottom:2px}.theme-wicked .letter-stamp{padding:1px}.theme-wicked .date-poster{margin-top:4px;margin-bottom:4px}.theme-wicked .ticket-heading{padding-top:4px;padding-bottom:4px}.theme-wicked .date-extra{gap:4px;padding:5px 8px}.theme-wicked .date-plan-detail,.theme-wicked .dress-code,.theme-wicked .detail-address{font-size:16px;line-height:1.25}.theme-wicked .invitation-question{margin:6px auto;font-size:24px;line-height:1.1}.theme-wicked .letter-signature{padding-top:4px}.theme-wicked .invitation-footer{display:none}}.history-link{color:var(--muted);align-items:center;gap:5px;min-height:36px;font-size:12px;font-weight:650;text-decoration:none;display:inline-flex}.history-link:hover{color:var(--accent)}.surprise-letter{border:1px solid color-mix(in srgb, var(--accent), transparent 78%);background:color-mix(in srgb, var(--paper-surface,#fff), var(--accent) 4%);border-radius:12px;margin-top:9px}.surprise-toggle{width:100%;color:var(--ink);text-align:left;cursor:pointer;background:0 0;border:0;align-items:center;gap:10px;padding:9px 12px;display:flex}.surprise-toggle:disabled{cursor:default;opacity:1}.surprise-toggle>span:nth-child(2){flex:1;min-width:0}.surprise-toggle strong,.surprise-toggle small{display:block}.surprise-toggle strong{overflow-wrap:anywhere;font-size:13px}.surprise-toggle small{color:var(--muted);margin-top:3px;font-size:11px}.surprise-envelope{width:36px;height:36px;color:var(--accent);background:color-mix(in srgb, var(--accent), transparent 90%);border-radius:9px;flex-shrink:0;place-items:center;transition:transform .25s;display:grid;transform:rotate(-6deg)}.surprise-toggle:not(:disabled):hover .surprise-envelope{transform:rotate(5deg)scale(1.08)}.surprise-message{overflow:hidden}.surprise-message p{white-space:pre-wrap;overflow-wrap:anywhere;padding:0 14px;font-size:14px;line-height:1.6}.surprise-message a{margin:0 14px 12px}.date-plan-detail time{font-variant-numeric:tabular-nums}@media (prefers-reduced-motion:reduce){.surprise-envelope{transition:none}}
