/*! tailwindcss v4.2.1 | MIT License | https://tailwindcss.com */
@layer theme{:root,:host{--font-sans:ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--spacing:.25rem;--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.visible{visibility:visible}.relative{position:relative}.start{inset-inline-start:var(--spacing)}.end{inset-inline-end:var(--spacing)}.table{display:table}.antialiased{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}}:root{--purple:#9b32ff;--orange:#ff7b16;--ink:#08020e}*{box-sizing:border-box}html,body{color:#fff;background:#08020e;min-height:100%;margin:0}body{font-family:Arial,Helvetica,sans-serif;overflow-x:hidden}button,a{font:inherit}.experience{isolation:isolate;background:radial-gradient(circle at 50% 20%,#7e23c961,#0000 38%),radial-gradient(circle at 50% 100%,#ff680f33,#0000 42%),linear-gradient(#12031e,#050108 70%);place-items:center;min-height:100svh;padding:24px 16px 40px;display:grid;position:relative;overflow:hidden}.experience:before{content:"";z-index:-3;opacity:.23;background-image:radial-gradient(#fff 1px,#0000 1px);background-size:39px 39px;position:absolute;inset:0}.moon{aspect-ratio:1;filter:drop-shadow(0 0 30px #a654ff);opacity:.75;z-index:-2;background:radial-gradient(circle at 35% 30%,#fff,#dbc6ff 45%,#8c43da 72%,#0000 74%);border-radius:50%;width:130px;position:absolute;top:5%;right:8%}.experience:after{content:"";z-index:-2;opacity:.72;clip-path:polygon(0 55%,8% 44%,15% 58%,22% 35%,31% 59%,40% 38%,50% 57%,61% 31%,70% 59%,81% 39%,91% 57%,100% 43%,100% 100%,0 100%);background:linear-gradient(#0000,#030105 72%),linear-gradient(155deg,#0000 45%,#020103 46% 55%,#0000 56%) 15% 100%/170px 170px repeat-x;height:38%;position:absolute;bottom:0;left:0;right:0}.fog{filter:blur(35px);z-index:-1;background:radial-gradient(#ab5bf440,#0000 67%);width:130%;height:250px;animation:9s ease-in-out infinite alternate fog;position:absolute}.fog-one{top:32%;left:-35%}.fog-two{animation-delay:-3s;bottom:5%;right:-35%}@keyframes fog{to{opacity:.45;transform:translate(24%)scale(1.15)}}.bat{color:#020104;text-shadow:-12px -5px #020104,12px -5px #020104,0 0 2px #b366ff;z-index:1;font-size:28px;animation:7s linear infinite fly;position:absolute}.bat-one{top:22%;left:-15%}.bat-two{animation-delay:-3.5s;top:39%;left:-25%;transform:scale(.7)}@keyframes fly{to{translate:130vw -120px;rotate:12deg}}.sparkle{color:#fff2b7;filter:drop-shadow(0 0 8px #fff);animation:1.8s ease-in-out infinite alternate twinkle;position:absolute}.s1{top:15%;left:8%}.s2{animation-delay:-.7s;top:48%;right:11%}.s3{animation-delay:-1.2s;bottom:12%;left:13%}@keyframes twinkle{to{opacity:.2;transform:scale(.35)rotate(80deg)}}.welcome{text-align:center;width:min(640px,100%);animation:.8s ease-out both arrive}@keyframes arrive{0%{opacity:0;transform:translateY(25px)}}.eyebrow{color:#ff9a3b;letter-spacing:.18em;text-transform:uppercase;margin:0 0 10px;font-size:12px;font-weight:800}h1{text-transform:uppercase;letter-spacing:-.04em;text-shadow:0 4px #4c0a76,0 0 24px #ac41ffb3;margin:0;font-size:clamp(36px,10vw,72px);line-height:.95}.hint{color:#e8d8f5;margin:16px 0 24px}.envelope{aspect-ratio:1.5;cursor:pointer;filter:drop-shadow(0 24px 35px #000000a6);perspective:900px;background:0 0;border:0;width:min(420px,86vw);margin:0 auto;display:block;position:relative}.phase-opening .welcome{animation:none}.phase-opening .envelope{animation:3.6s cubic-bezier(.2,.75,.2,1) both haunted-crash}.phase-opening .flap{animation:3.6s ease-in both flap-break}.phase-opening .seal{animation:3.6s ease-in both seal-break}.phase-opening .letter-peek{animation:3.6s cubic-bezier(.13,.92,.2,1) both letter-launch}.phase-opening .open-button,.phase-opening .hint{opacity:0;transition:opacity .2s}.phase-opening:before{background-color:#0000;animation:3.6s linear both lightning}.crash-message{z-index:20;text-align:center;pointer-events:none;color:#fff;text-shadow:0 0 15px #fff,0 0 35px #a53cff,5px 6px #230031;place-content:center;animation:3.6s ease-in-out both crash-title;display:grid;position:fixed;inset:0}.crash-message span{letter-spacing:.15em;font-size:clamp(22px,6vw,52px);font-weight:900}.crash-message strong{color:#ff7b16;-webkit-text-stroke:2px #fff;font-size:clamp(62px,17vw,150px);line-height:.8}@keyframes crash-title{0%,25%{opacity:0;transform:scale(.45)}38%{opacity:1;transform:scale(1.1)rotate(-2deg)}48%{transform:scale(.96)rotate(1deg)}78%{opacity:1;transform:scale(1.02)}to{opacity:0;filter:blur(5px);transform:scale(1.35)}}@keyframes haunted-crash{0%{transform:translateY(0)rotate(0)}24%{transform:translateY(-90px)rotate(-3deg)scale(1.04)}32%{transform:translateY(-98px)rotate(4deg)scale(1.05)}40%{transform:translateY(-94px)rotate(-5deg)scale(1.05)}48%{transform:translateY(-100px)rotate(3deg)scale(1.06)}66%{filter:drop-shadow(0 5px 8px #000);transform:translateY(175px)rotate(-1deg)scale(.96)}72%{transform:translateY(123px)scale(1.02)}82%{transform:translateY(163px)scale(.98)}to{opacity:0;transform:translateY(150px)scale(1)}}@keyframes flap-break{0%,48%{transform:rotateX(0)}64%{transform:rotateX(175deg)}to{opacity:0;transform:rotateX(185deg)}}@keyframes seal-break{0%,50%{transform:scale(1)}62%{transform:scale(1.35)rotate(18deg)}72%{opacity:1;transform:translate(80px,100px)rotate(140deg)scale(.65)}to{opacity:0;transform:translate(150px,190px)rotate(260deg)scale(.2)}}@keyframes letter-launch{0%,54%{transform:translateY(0)scale(.9)}72%{transform:translateY(-280px)scale(1.25)}to{opacity:0;transform:translateY(-450px)scale(1.55)}}@keyframes lightning{0%,43%,49%,56%,to{box-shadow:inset 0 0 0 100vmax #0000}45%,52%{box-shadow:inset 0 0 0 100vmax #ffffff73}}.envelope-back,.envelope-front,.flap,.letter-peek{border-radius:15px;position:absolute;inset:0}.envelope-back{background:linear-gradient(145deg,#35104d,#16051f);border:3px solid #b34eff}.letter-peek{color:#7e1fc0;background:linear-gradient(#f8edff,#cab3dc);padding-top:35px;font:900 70px Georgia;inset:16% 10% 5%;box-shadow:0 0 20px #fff}.flap{clip-path:polygon(0 0,100% 0,50% 66%);transform-origin:top;z-index:4;background:linear-gradient(160deg,#8430be,#321047);border-top:3px solid #d99bff}.envelope-front{clip-path:polygon(0 25%,50% 72%,100% 25%,100% 100%,0 100%);z-index:3;background:linear-gradient(145deg,#4a1468,#20072e);border:3px solid #7d2dac}.save-the-date{z-index:6;color:#fff8df;letter-spacing:.08em;text-transform:uppercase;text-shadow:0 2px #5a1500,0 0 9px #ff8a25;background:#16051fd1;border:2px solid #ff9a3b;border-radius:999px;width:max-content;padding:7px 16px;font:italic 900 clamp(17px,5vw,27px) Georgia,serif;position:absolute;bottom:8%;left:50%;transform:translate(-50%);box-shadow:0 0 18px #ff7b16cc}.seal{z-index:5;color:#fff;background:radial-gradient(circle at 35% 28%,#ffac5e,#ff6f00 45%,#6b1900 80%);border:4px double #ffd8a8;border-radius:50%;place-items:center;width:78px;height:78px;font:900 36px Georgia;animation:1.4s ease-in-out infinite alternate pulse;display:grid;position:absolute;top:53%;left:50%;translate:-50% -50%;box-shadow:0 0 22px #ff7815}@keyframes pulse{50%{opacity:.5}}.open-button,.actions button,.actions a{color:#fff;cursor:pointer;background:linear-gradient(135deg,#8f28df,#ff7916);border:1px solid #c776ff;border-radius:999px;padding:13px 20px;font-weight:900;text-decoration:none;box-shadow:0 8px 24px #00000059}.open-button{text-transform:uppercase;letter-spacing:.08em;min-width:180px;margin-top:20px}.reveal{justify-items:center;gap:16px;width:min(540px,100%);animation:1.15s cubic-bezier(.12,.84,.18,1.2) both reveal;display:grid}@keyframes reveal{0%{opacity:0;filter:blur(5px);transform:translateY(-72vh)scale(.55)rotate(-8deg)}68%{opacity:1;filter:blur();transform:translateY(28px)scale(1.04)rotate(1deg)}84%{transform:translateY(-12px)scale(.99)rotate(-.5deg)}to{opacity:1;transform:none}}.invitation-frame{background:#100319;border:3px solid #9c3fff;border-radius:24px;width:min(470px,91vw);max-height:76svh;position:relative;overflow:hidden;box-shadow:0 0 0 5px #ff7916,0 30px 70px #000,0 0 45px #9d37ffa6}.invitation-frame img{object-fit:contain;width:100%;height:auto;max-height:76svh;display:block}.shine{pointer-events:none;background:linear-gradient(110deg,#0000 37%,#ffffff59 48%,#0000 58%);animation:3.5s ease-in-out 1s infinite shine;position:absolute;inset:-30%;transform:translate(-90%)}@keyframes shine{55%,to{transform:translate(90%)}}.actions{flex-wrap:wrap;justify-content:center;gap:9px;display:flex}.actions button,.actions a{padding:10px 14px;font-size:13px}.details{color:#f6e9ff;letter-spacing:.04em;text-align:center;margin:0;font-weight:800}@media (height<=760px){.invitation-frame,.invitation-frame img{max-height:67svh}.reveal{gap:10px}.details{font-size:13px}}@media (prefers-reduced-motion:reduce){*,:before,:after{animation-duration:.001ms!important;animation-iteration-count:1!important}}
