:root{color-scheme:light;--paper:#f5f0e7;--ink:#68462e;--wick-x:57.2vw;--wick-y:58vh;--fade-time:850ms}
*{box-sizing:border-box}html,body{margin:0;width:100%;min-height:100%;background:var(--paper)}body{overflow:hidden;font-family:Georgia,'Songti SC',serif;color:var(--ink);-webkit-font-smoothing:antialiased}button{font:inherit;color:inherit}button:focus-visible{outline:2px solid #a17b43;outline-offset:7px}button{-webkit-tap-highlight-color:transparent}button:disabled{cursor:wait}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}[hidden]{display:none!important}
.paper-grain{position:fixed;inset:0;z-index:20;pointer-events:none;opacity:.22;mix-blend-mode:multiply;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 220 220' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.8' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Cpath filter='url(%23n)' opacity='.38' d='M0 0h220v220H0z'/%3E%3C/svg%3E")}
#entrance{position:fixed;inset:0;overflow:hidden;isolation:isolate;background:radial-gradient(ellipse at 52% 45%,#faf6ef 0%,#f5f0e7 60%,#eee7da 100%);transition:opacity var(--fade-time) ease,visibility var(--fade-time);z-index:2}.masthead{position:absolute;inset:34px 42px auto;display:flex;align-items:center;justify-content:space-between;z-index:6}.wordmark{font-size:13px;letter-spacing:.05em;color:#8a7766}.wordmark span{font-style:italic;color:#a08c79}.quiet-button{border:0;background:transparent;padding:10px 2px;cursor:pointer;font-size:13px;letter-spacing:.07em;color:#70533e;min-height:44px;transition:color .2s,transform .2s}.quiet-button span{display:inline-block;margin-left:8px}.quiet-button:hover{color:#553d29;transform:translateY(-1px)}.quiet-button:active{transform:translateY(1px)}
.scene{position:absolute;width:min(1250px,100vw,calc((100dvh - 100px)*1.601));aspect-ratio:1587/991;left:50%;top:49%;transform:translate(-50%,-50%);pointer-events:none;opacity:0;filter:brightness(.89) saturate(.78);transition:opacity .65s ease,filter 1.5s ease}.hardware,.mobile-art{position:absolute;inset:0;width:100%;height:100%;object-fit:contain}.hardware{z-index:2}.mobile-art{z-index:3;overflow:visible}.candle-halo{position:absolute;left:57.66%;top:55%;width:58%;aspect-ratio:1;transform:translate(-50%,-50%) scale(.6);background:radial-gradient(ellipse,rgba(255,209,110,.57),rgba(255,218,147,.29) 27%,rgba(255,228,171,.09) 50%,transparent 70%);opacity:0;transition:opacity 1.5s ease,transform 2.2s cubic-bezier(.2,.5,.2,1);z-index:1}.ambient{position:absolute;inset:0;pointer-events:none;background:radial-gradient(ellipse at var(--wick-x) var(--wick-y),rgba(255,220,144,.25),transparent 62%);opacity:0;transition:opacity 1.6s ease;z-index:0}.reflection{position:absolute;left:50.5%;top:72%;width:20%;height:20%;border-radius:50%;background:radial-gradient(ellipse,rgba(255,203,97,.18),transparent 70%);mix-blend-mode:soft-light;opacity:0;transition:opacity 1.5s;z-index:4}
.invitation{position:absolute;left:calc(50% - 355px);top:50%;width:260px;text-align:center;transform:translateY(-5%);z-index:4;opacity:0;transition:opacity .6s,transform .6s}.invitation h1{font-family:'Snell Roundhand','Apple Chancery','URW Chancery L',cursive;font-weight:400;font-size:44px;line-height:1.2;margin:0 0 20px;letter-spacing:.035em}.invitation p{font-family:Georgia,'Songti SC',serif;font-size:14px;letter-spacing:.14em;color:#70533e;margin:0;line-height:1.8}.bottom-note{position:absolute;bottom:29px;left:0;right:0;text-align:center;font-size:11px;font-style:italic;letter-spacing:.1em;color:#a89581;z-index:5;margin:0}.wick{position:fixed;left:var(--wick-x);top:var(--wick-y);width:58px;height:66px;border:1px solid transparent;border-radius:50%;transform:translate(-50%,-50%);background:transparent;z-index:5;padding:0;cursor:inherit}.wick:focus-visible{outline:1px dashed #a37d41;outline-offset:8px;background:radial-gradient(ellipse,#f7dca04d,transparent 70%)}.wick.near{background:radial-gradient(ellipse,#f7dca055,transparent 70%)}
.match{position:fixed;left:0;top:0;z-index:10;width:0;height:0;pointer-events:none;opacity:0;transition:opacity .25s;filter:drop-shadow(0 2px 2px #a46e2520)}.match svg{position:absolute;left:-125px;top:-31px;overflow:visible;transform-origin:125px 31px;transform:scale(.83)}.match.visible{opacity:1}.match-fire{transform-origin:125px 31px;animation:match-flicker .28s ease-in-out infinite alternate}.match.idle svg{animation:match-idle 3s ease-in-out infinite}.has-match #entrance,.has-match .wick{cursor:none}.has-match #skip,.has-match #retry{cursor:pointer}.candle-flame{opacity:0;transition:opacity .25s}.flame-body{transform-origin:0 0}.bottom-note,.masthead{transition:opacity .5s}
body[data-state="ready"] .scene,body[data-state="igniting"] .scene,body[data-state="leaving"] .scene{opacity:1}body[data-state="ready"] .invitation{opacity:1;transform:translateY(0)}body[data-state="igniting"] .scene{filter:brightness(1.03) saturate(1.05)}body[data-state="igniting"] .candle-halo{opacity:1;transform:translate(-50%,-50%) scale(1.1)}body[data-state="igniting"] .ambient,body[data-state="igniting"] .reflection,body[data-state="igniting"] .candle-flame{opacity:1}body[data-state="igniting"] .invitation{opacity:.6;transform:translateY(-3px)}body[data-state="igniting"] .flame-body{animation:candle-flicker .9s ease-in-out infinite alternate}body[data-state="igniting"] .bottom-note{opacity:0}
body[data-state="leaving"] #entrance{opacity:0;visibility:hidden}body[data-state="leaving"] .scene{filter:blur(3px) brightness(1.1);transition:filter .85s}body[data-state="leaving"] .candle-halo{opacity:1;transform:translate(-50%,-50%) scale(2);transition:transform .85s ease}body[data-state="leaving"] .candle-flame{opacity:1}body[data-state="entered"] #entrance{display:none}body[data-state="entered"] .match,body[data-state="leaving"] .match{opacity:0}
#destination{position:fixed;inset:0;display:grid;place-items:center;opacity:0;visibility:hidden;background:var(--paper);transition:opacity 1s ease,visibility 1s;z-index:1}.destination-wordmark{font-family:Georgia,serif;font-weight:400;font-size:clamp(28px,4vw,48px);letter-spacing:-.06em;transform:translateY(8px);transition:transform 1.1s;color:#6f5946}.destination-wordmark span{letter-spacing:-.07em}.destination-wordmark i{font-weight:400;font-size:.65em;letter-spacing:-.03em;color:#a18b72}.replay{position:absolute;bottom:35px;left:50%;transform:translateX(-50%)}.replay:hover{transform:translateX(-50%) translateY(-1px)}body[data-state="leaving"] #destination,body[data-state="entered"] #destination{opacity:1;visibility:visible}body[data-state="leaving"] .destination-wordmark,body[data-state="entered"] .destination-wordmark{transform:translateY(0)}.asset-error{position:absolute;top:47%;left:50%;transform:translate(-50%,-50%);text-align:center;font-size:14px;z-index:8}.no-script{position:fixed;left:0;right:0;bottom:80px;text-align:center;font-size:13px}
@keyframes candle-flicker{0%{transform:scale(.96,1.01) skewX(-2deg)}35%{transform:scale(1.03,.97) skewX(2deg)}75%{transform:scale(.97,1.035) skewX(-1deg)}100%{transform:scale(1.015,.99) skewX(1deg)}}@keyframes match-flicker{from{transform:scale(.94,1.04) rotate(-3deg)}to{transform:scale(1.04,.94) rotate(2deg)}}@keyframes match-idle{0%,100%{transform:scale(.83) translate(0,0)}50%{transform:scale(.83) translate(-3px,3px)}}
@media(min-width:1400px){.invitation{left:calc(50% - 390px)}}@media(max-width:900px) and (min-width:601px){.invitation{left:8%;width:220px}.invitation h1{font-size:36px}}@media(max-width:600px){.masthead{inset:22px 24px auto}.wordmark{font-size:12px}.quiet-button{font-size:13px}.scene{width:min(205vw,calc((100svh - 240px)*1.601));max-width:900px;left:50%;top:59%;transform:translate(-57.66%,-50%)}.invitation{left:0;right:0;width:auto;top:13%;transform:none!important}.invitation h1{font-size:35px;margin-bottom:12px}.invitation p{font-size:13px}.bottom-note{bottom:28px;font-size:10px}.match svg{transform:scale(.64)}.match.idle svg{animation:none}.wick{width:68px;height:74px}.replay{bottom:30px}.destination-wordmark{font-size:34px}}
@media(max-height:650px) and (min-width:601px){.scene{width:min(100vw,980px);top:51%}.masthead{inset:18px 30px auto}.bottom-note{bottom:18px}.invitation h1{font-size:36px}.invitation{left:calc(50% - 320px)}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition-duration:.01ms!important}.scene{filter:none!important}.candle-halo{transform:translate(-50%,-50%)!important}.destination-wordmark{transform:none!important}}

/* Original approved composition: handwritten lettering and detailed gold watercolour. */
:root{--paper:#f6f1e8;--ink:#70401f}
#entrance{background:radial-gradient(ellipse at 57% 52%,#fff9ed 0%,#f7f2e8 52%,#eee7db 100%);user-select:none}
.scene{width:min(1587px,100vw,calc((100svh - 20px)*1.601));top:50%;filter:brightness(.97) saturate(.98)}
.candle-halo{left:57.09%;top:57.82%}.reflection{top:74%}
.original-lettering{display:block;width:100%;height:auto;mix-blend-mode:multiply}
.invitation{left:calc(50% - min(50vw,793.5px,(100svh - 20px)*.8005) + min(100vw,1587px,(100svh - 20px)*1.601)*.251);top:calc(50% - min(31.2224vw,495.5px,(100svh - 20px)*.5) + min(100vw,1587px,(100svh - 20px)*1.601)*.31065);width:calc(min(100vw,1587px,(100svh - 20px)*1.601)*.1714);transform:none!important}
.skip{position:absolute;right:26px;bottom:20px;z-index:8;opacity:.65;font-size:12px}
.ground-wash{position:absolute;left:44%;top:88%;width:30%;height:8%;background:radial-gradient(ellipse,#d7ad5a30,transparent 70%);filter:blur(4px)}
body[data-state="igniting"] .scene{filter:brightness(1.03) saturate(1.08)}
@media(max-width:600px){.scene{width:min(190vw,calc((100svh - 170px)*1.601));max-width:none;left:50%;top:58%;transform:translate(-57.09%,-50%)}.invitation{width:190px;left:calc(50% - 95px);top:7%;}.skip{right:20px;bottom:14px}}
