/*! 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{.sr-only{clip-path:inset(50%);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.relative{position:relative}.start{inset-inline-start:var(--spacing)}.table{display:table}}:root{--cream:#fff4dc;--ink:#4e2d14;--deep:#1d0c06;--gold:#bd7e28;--light-gold:#f5d78b}*{box-sizing:border-box}html,body{background:#1e1008;width:100%;min-height:100%;margin:0;overflow:hidden}body{color:var(--ink);font-family:Georgia,Times New Roman,serif}button,canvas{-webkit-tap-highlight-color:transparent}button{font:inherit}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.royal-page{isolation:isolate;background:#271308;place-items:center;width:100%;min-height:100svh;display:grid;position:relative;overflow:hidden}.royal-world{z-index:-2;filter:blur(26px)saturate(.7);background:linear-gradient(#1c0c056b,#1c0c05b8),url(/royal-palace.png) 50% 36%/cover no-repeat;position:absolute;inset:-6vmax;transform:scale(1.08)}.royal-page:before{z-index:-1;content:"";background:radial-gradient(circle,#0000 20%,#0a040194);position:absolute;inset:0}.royal-card{background:#4f2911;width:min(100vw,480px);height:min(100svh,900px);position:relative;overflow:hidden;box-shadow:0 34px 100px #000000b8}.palace-scene,.palace-shadow,.palace-glow,.sparkles,.begin-button,.invitation-content{position:absolute;inset:0}.palace-scene{background:url(/royal-palace.png) 50% 36%/cover no-repeat;transition:filter 2.8s,transform 5.5s cubic-bezier(.2,.75,.25,1);transform:scale(1.015)}.palace-shadow{opacity:.92;background:linear-gradient(#0201008a,#0903002e 38%,#090300b3),radial-gradient(circle at 50% 37%,#0000 5%,#000c 88%);transition:opacity 2.5s}.palace-glow{mix-blend-mode:screen;opacity:0;background:radial-gradient(at 50% 42%,#fff4c7b8,#0000 42%),linear-gradient(#ffe09b1f,#0000 65%);transition:opacity 2.2s,transform 3s cubic-bezier(.18,.8,.2,1);transform:scale(.8)}.phase-opening .palace-scene,.phase-invitation .palace-scene,.phase-revealed .palace-scene{filter:brightness(1.12)saturate(.92);transform:scale(1.07)}.phase-opening .palace-shadow{opacity:.18}.phase-invitation .palace-shadow,.phase-revealed .palace-shadow{opacity:.08}.phase-opening .palace-glow,.phase-invitation .palace-glow,.phase-revealed .palace-glow{opacity:.72;transform:scale(1.1)}.sparkles{pointer-events:none;overflow:hidden}.sparkles i{--angle:calc(var(--i) * 37deg);top:calc(9% + (var(--i) * 3.7%));opacity:0;background:#fff7c9;border-radius:50%;width:3px;height:3px;position:absolute;box-shadow:0 0 9px 3px #ffdc8099}.phase-opening .sparkles i,.phase-invitation .sparkles i,.phase-revealed .sparkles i{animation:sparkle-rise 4s ease-in-out calc(var(--i) * .11s) infinite}.begin-button{z-index:5;color:#fff2cd;cursor:pointer;text-shadow:0 2px 14px #000;background:0 0;border:0;flex-direction:column;justify-content:flex-end;align-items:center;gap:9px;width:100%;height:100%;padding:0 24px max(10svh,62px);transition:opacity .7s,transform 1s;display:flex}.begin-button:before{content:"";background:linear-gradient(90deg,#0000,#f2cc78cc,#0000);height:1px;position:absolute;bottom:6.5%;left:16%;right:16%}.begin-button:disabled{pointer-events:none}.begin-button:focus-visible{outline-offset:-8px;outline:2px solid #ffe6a5}.begin-mark{color:#e7bd62;font-size:.8rem;animation:1.8s ease-in-out infinite begin-pulse}.begin-button strong{letter-spacing:.42em;text-indent:.42em;text-transform:uppercase;font-family:Iowan Old Style,Baskerville,Georgia,serif;font-size:clamp(1rem,4.2vw,1.35rem);font-weight:400;line-height:1.1}.begin-button .begin-date{color:#ffefcdd1;letter-spacing:.2em;text-indent:.2em;text-transform:uppercase;font-size:clamp(.68rem,2.6vw,.82rem)}.phase-opening .begin-button,.phase-invitation .begin-button,.phase-revealed .begin-button{opacity:0;transform:translateY(22px)}.invitation-content{z-index:4;opacity:0;isolation:isolate;pointer-events:none;text-align:center;flex-direction:column;align-items:center;padding:max(9svh,78px) clamp(18px,5vw,32px) 28px;display:flex;transform:translateY(18px)}.invitation-content:before{z-index:-1;content:"";filter:blur(9px);pointer-events:none;background:radial-gradient(#fff4d8e0 0%,#ffeec794 48%,#0000 78%);height:47%;position:absolute;top:3%;left:3%;right:3%}.invitation-content.is-visible{opacity:1;pointer-events:auto;transition:opacity 1.2s,transform 1.4s cubic-bezier(.18,.82,.2,1);transform:translateY(0)}.eyebrow{color:#71431d;letter-spacing:.48em;text-indent:.48em;text-transform:uppercase;text-shadow:0 1px 5px #fff9e2f2;margin:0;font-size:clamp(.64rem,2.8vw,.78rem);font-weight:700;position:relative}.eyebrow:before,.eyebrow:after{content:"";background:linear-gradient(90deg,#0000,#a46c2d);width:34px;height:1px;position:absolute;top:50%}.eyebrow:before{right:calc(100% + 12px)}.eyebrow:after{left:calc(100% + 12px);transform:rotate(180deg)}h1{color:#4f2b15;letter-spacing:-.045em;text-shadow:0 1px #ffffffe6,0 0 12px #fff5dbd1;margin:clamp(9px,1.7svh,16px) 0 0;font-family:Snell Roundhand,Segoe Script,URW Chancery L,cursive;font-size:clamp(2.05rem,9.1vw,3.6rem);font-weight:400;line-height:.95}h1 i{color:#a86a25;margin:0 .1em;font-size:.68em;font-weight:400}.scratch-instruction{color:#4e2d14b8;text-shadow:0 1px 6px #fffae5f2;margin:clamp(11px,1.7svh,17px) 0 0;font-size:clamp(.64rem,2.6vw,.78rem);font-style:italic}.medallion-row{grid-template-columns:repeat(3,1fr);gap:clamp(8px,2.2vw,14px);width:min(100%,360px);margin-top:clamp(24px,4.2svh,40px);display:grid}.medallion{--frame-size:clamp(72px, 20vw, 88px);--disc-size:calc(var(--frame-size) * .58);--disc-offset:calc(var(--frame-size) * .21);isolation:isolate;flex-direction:column;align-items:center;min-width:0;display:flex;position:relative}.medallion:before,.medallion:after{width:var(--frame-size);aspect-ratio:1;content:"";border-radius:50%;position:absolute;top:0;left:50%;transform:translate(-50%)}.medallion:before{z-index:0;background:radial-gradient(circle, transparent 0 55%, #bb904dc7 56% 58%, transparent 59%), repeating-conic-gradient(from -4deg, #fffaf0 0 7deg, #cfb47e 7deg 9deg, #f5e8d0 9deg 15deg);box-shadow:0 7px 17px #59300d33,0 0 0 2px #fffcf0e6,0 0 0 3px #ac814357}.medallion:after{z-index:1;width:calc(var(--frame-size) * .78);margin-top:calc(var(--frame-size) * .11);background:radial-gradient(circle,#f7e9c7 0 57%,#ba8b45 59% 62%,#fffaf0 64% 73%,#c8a66d 75% 78%,#f8edda 80%);box-shadow:inset 0 0 0 1px #fffffff2,0 1px 3px #5b35142e}.medallion-value,.medallion-cover{width:var(--disc-size);aspect-ratio:1;margin-top:var(--disc-offset);border-radius:50%}.medallion-value{z-index:2;color:#583116;place-items:center;font-family:Iowan Old Style,Baskerville,Georgia,serif;font-size:clamp(1rem,4.3vw,1.42rem);line-height:1;display:grid}.medallion-cover{z-index:3;cursor:crosshair;touch-action:none;transition:opacity .65s,transform .65s;position:absolute;top:0;left:50%;transform:translate(-50%)}.medallion-cover:focus-visible{outline-offset:4px;outline:3px solid #5e3517}.medallion.is-revealed .medallion-cover{opacity:0;pointer-events:none;transform:translate(-50%)scale(1.14)}.medallion.is-revealed:after{animation:.8s medallion-shine}.medallion-label{z-index:2;color:#67401f;letter-spacing:.28em;text-indent:.28em;text-transform:uppercase;margin-top:clamp(15px,2.4svh,21px);font-size:clamp(.53rem,2vw,.65rem);font-weight:700}.countdown{opacity:0;width:min(100%,420px);margin-top:clamp(23px,4svh,38px);transform:translateY(14px)}.phase-revealed .countdown{opacity:1;transition:opacity .9s .35s,transform 1s .35s;transform:translateY(0)}.countdown>p{color:#724a28;margin:0 0 12px;font-size:clamp(.68rem,2.8vw,.8rem);font-style:italic}.countdown-grid{grid-template-columns:repeat(4,1fr);gap:6px;display:grid}.countdown-unit{-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background:#fff6dd73;border-top:1px solid #82501d80;border-bottom:1px solid #82501d80;padding:8px 2px 7px}.countdown-unit strong{color:#4f2d16;font-size:clamp(1.2rem,5vw,1.65rem);font-weight:400;line-height:1;display:block}.countdown-unit span{color:#805a37;letter-spacing:.08em;text-transform:uppercase;margin-top:5px;font-family:Arial,sans-serif;font-size:clamp(.42rem,1.6vw,.55rem);font-weight:700;display:block;overflow:hidden}.event-details{opacity:0;pointer-events:none;flex-direction:column;align-items:center;width:min(100%,420px);margin-top:clamp(17px,2.7svh,25px);display:flex;transform:translateY(12px)}.phase-revealed .event-details{opacity:1;pointer-events:auto;transition:opacity .85s .72s,transform .95s .72s;transform:translateY(0)}.event-divider{color:#9a6426;align-items:center;gap:10px;width:min(62%,230px);font-size:.55rem;display:flex}.event-divider:before,.event-divider:after{content:"";background:linear-gradient(90deg,#0000,#8b561c94);flex:1;height:1px}.event-divider:after{transform:rotate(180deg)}.event-details h2{color:#4f2d16;letter-spacing:.01em;text-shadow:0 1px 8px #fff8e0eb;margin:clamp(7px,1.2svh,11px) 0 0;font-family:Iowan Old Style,Baskerville,Georgia,serif;font-size:clamp(1rem,4.2vw,1.3rem);font-weight:400}.formal-note{color:#59361aa8;letter-spacing:.04em;margin:5px 0 0;font-size:clamp(.61rem,2.5vw,.76rem);font-style:italic}.calendar-button{color:#fff9e6;letter-spacing:.18em;text-transform:uppercase;background:linear-gradient(#c49442,#a66d22);border:1px solid #ffebacd9;border-radius:999px;justify-content:center;align-items:center;gap:9px;min-height:38px;margin-top:clamp(9px,1.5svh,14px);padding:9px clamp(17px,5vw,27px);font-family:Arial,sans-serif;font-size:clamp(.55rem,2.2vw,.68rem);font-weight:600;text-decoration:none;transition:transform .2s,filter .2s;display:inline-flex;box-shadow:0 7px 17px #5c300a3b,inset 0 1px #fff6cf8c}.calendar-button:hover{filter:brightness(1.07);transform:translateY(-1px)}.calendar-button:focus-visible{outline-offset:3px;outline:3px solid #623712bf}.calendar-button span{font-size:.82rem;line-height:1}.confetti-field{z-index:30;pointer-events:none;position:fixed;inset:0;overflow:hidden}.confetti{top:-6vh;left:var(--x);background:var(--color);opacity:0;width:8px;height:14px;animation:confetti-fall var(--duration) cubic-bezier(.18, .72, .3, 1) var(--delay) forwards;border-radius:1px;position:absolute}.confetti-1{border-radius:50%;width:6px;height:6px}.confetti-2{width:5px;height:17px}.confetti-3{border-radius:50% 0}@keyframes begin-pulse{0%,to{opacity:.48;transform:scale(.86)}50%{opacity:1;transform:scale(1.16)}}@keyframes sparkle-rise{0%,to{opacity:0;transform:translateY(14px)scale(.6)}35%{opacity:.86}70%{opacity:.18;transform:translateY(-36px)scale(1)}}@keyframes medallion-shine{0%{filter:brightness()}45%{filter:brightness(1.75)drop-shadow(0 0 12px #ffe49c)}to{filter:brightness()}}@keyframes confetti-fall{0%{opacity:0;transform:translateY(-5vh)rotate(0)}8%{opacity:1}to{opacity:.96;transform:translate3d(var(--drift), 112vh, 0) rotate(var(--spin))}}@media (width>=600px) and (height>=720px){.royal-card{border:1px solid #ffde916b;border-radius:28px;height:min(94svh,860px)}}@media (height<=680px){.invitation-content{padding-top:8svh}.medallion-row{margin-top:18px}.countdown{margin-top:17px}.event-details{margin-top:12px}.calendar-button{min-height:34px;margin-top:7px;padding-top:7px;padding-bottom:7px}}@media (height<=560px){.eyebrow,.scratch-instruction{display:none}h1{margin-top:0}.medallion-row{margin-top:14px}.countdown{margin-top:11px}.event-details{margin-top:8px}.formal-note,.event-divider{display:none}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
