:root{color:#fff8e6;background:#10100f;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;--gold: #e4c675;--cream: #fff8e6;--rose: #d88d8f;--charcoal: rgba(12, 11, 10, .62);--glass: rgba(255, 248, 230, .1);--border: rgba(255, 248, 230, .22)}*{box-sizing:border-box}body{min-width:320px;min-height:100svh;margin:0;overflow:hidden}button,input{font:inherit}button{min-height:40px;border:1px solid var(--border);border-radius:8px;padding:.62rem .86rem;color:var(--cream);background:#fff8e617;cursor:pointer;transition:transform .18s ease,background .18s ease,border-color .18s ease}button:hover,button:focus-visible{border-color:#e4c675cc;background:#e4c6752e;transform:translateY(-1px);outline:none}button.active,.primary-control{border-color:#e4c675eb;background:#e4c67538}.app-shell{position:relative;min-height:100svh;padding:clamp(.5rem,1.8svh,1rem);background:#11100e;isolation:isolate;overflow:hidden}.background-stage,.shade,.background-item,.background-fallback{position:fixed;inset:0}.background-stage{z-index:0;background:#000}.background-item{width:100%;height:100%;object-fit:contain;background:#000}.background-item.entering{animation:fadeIn 1.4s ease forwards}.background-item.exiting{animation:fadeOut 1.4s ease forwards}.background-fallback{background:linear-gradient(#0e0c0b1a,#0e0c0b1a),#000 url(/photos/sample-love-story.svg) center / contain no-repeat}.shade{z-index:1;pointer-events:none;background:linear-gradient(to bottom,#0000004d,#00000014 32% 62%,#00000061)}.begin-screen{position:fixed;inset:0;z-index:10;display:grid;place-content:center;gap:.65rem;border:0;border-radius:0;padding:1.5rem;color:var(--cream);text-align:center;background:linear-gradient(#08080761,#08080794),transparent;cursor:pointer}.begin-screen:hover,.begin-screen:focus-visible{transform:none;background:linear-gradient(#0808074d,#08080780),transparent}.begin-kicker{color:var(--gold);font-size:clamp(.86rem,2vw,1.05rem);text-transform:uppercase}.begin-title{font-family:Georgia,Times New Roman,serif;font-size:clamp(3rem,10vw,7rem);line-height:.95}.begin-subtitle{color:#fff8e6d1;font-size:clamp(1rem,2.5vw,1.25rem)}.experience-layout.is-waiting{opacity:0;pointer-events:none}.experience-layout.is-live{animation:softFade .7s ease both}.top-message,.bottom-story{position:relative;z-index:2;width:min(920px,100%);text-align:center;text-shadow:0 2px 18px rgba(0,0,0,.86)}.top-message{justify-self:center;padding:clamp(.5rem,1.3svh,.9rem) clamp(.75rem,3vw,1.5rem);animation:riseIn .9s ease both}.bottom-story{justify-self:center;max-height:min(31svh,270px);padding:clamp(.5rem,1.2svh,.9rem);animation:riseIn .9s ease both}.experience-layout{position:relative;z-index:2;display:grid;grid-template-rows:auto minmax(8rem,1fr) auto;gap:clamp(.45rem,1.5svh,1rem);width:min(980px,calc(100vw - clamp(1rem,3vw,2rem)));height:calc(100svh - clamp(1rem,3.6svh,2rem));margin:0 auto}.photo-breathing-room{min-height:0}.bottom-dock{display:grid;justify-items:center;gap:clamp(.45rem,1.2svh,.75rem);min-height:0}.eyebrow{margin:0 0 .3rem;color:var(--gold);font-size:clamp(.68rem,1.6svh,.88rem);letter-spacing:0;text-transform:uppercase}h1{margin:0;color:var(--cream);font-family:Georgia,Times New Roman,serif;font-size:clamp(1.8rem,min(7vw,8.5svh),4.8rem);font-weight:500;line-height:.95;overflow-wrap:anywhere}.wedding-line{margin:.45rem 0 0;color:#fff8e6db;font-family:Georgia,Times New Roman,serif;font-size:clamp(.9rem,min(2.3vw,2.5svh),1.32rem)}.timer-grid{display:grid;grid-template-columns:repeat(6,minmax(3.2rem,1fr));gap:clamp(.35rem,1vw,.7rem);margin:0 auto clamp(.45rem,1.2svh,.85rem)}.timer-cell{min-width:0;border:1px solid rgba(255,248,230,.15);border-radius:8px;padding:clamp(.45rem,1.2svh,.72rem) .38rem;background:#fff8e614}.timer-cell span{display:block;color:#fff;font-size:clamp(.98rem,min(3vw,3.4svh),1.85rem);font-weight:700;line-height:1}.timer-cell small{display:block;margin-top:.28rem;color:#fff8e6bf;font-size:clamp(.62rem,1.35svh,.78rem);text-transform:capitalize}.fact-card{display:grid;gap:.45rem;min-height:clamp(56px,9svh,78px);align-content:center;padding-top:clamp(.25rem,.8svh,.55rem);animation:softFade .62s ease both}.fact-card span{color:#fff8e6bd;font-size:clamp(.78rem,1.45svh,1rem)}.fact-card strong{color:var(--gold);font-family:Georgia,Times New Roman,serif;font-size:clamp(1rem,min(3vw,3.4svh),1.8rem);font-weight:500}.music-strip{position:relative;right:auto;bottom:auto;left:auto;z-index:5;display:flex;flex-wrap:wrap;gap:.55rem;align-items:center;justify-content:center;width:min(520px,100%);border:1px solid var(--border);border-radius:8px;padding:.62rem;background:#0c0b0ab8;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}.music-toggle{min-width:96px}.volume-control{display:flex;align-items:center;gap:.55rem;min-height:40px;color:#fff8e6c2;width:min(340px,100%)}.volume-control input{flex:1;min-width:160px;accent-color:var(--gold)}.track-name,.empty-note,.music-note{margin:0;color:#fff8e6b8;font-size:.9rem}.music-note{color:var(--gold)}@keyframes fadeIn{0%{opacity:0;transform:scale(1.015)}to{opacity:1;transform:scale(1)}}@keyframes fadeOut{0%{opacity:1}to{opacity:0}}@keyframes riseIn{0%{opacity:0;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}@keyframes softFade{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}@media(max-width:760px){.app-shell{padding:.55rem}.experience-layout{width:calc(100vw - 1.1rem);height:calc(100svh - 1.1rem);grid-template-rows:auto minmax(6rem,1fr) auto}.top-message,.bottom-story{width:100%}.bottom-story{padding:.62rem}.timer-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.music-strip{justify-self:start;width:min(330px,100%);padding:.48rem}.track-name{display:none}}@media(max-width:430px){.timer-grid{gap:.45rem}.timer-cell{padding:.62rem .28rem}.timer-cell small{font-size:.72rem}.wedding-line{display:none}.bottom-story{max-height:35svh}.music-strip{width:min(300px,100%)}.music-toggle{min-width:76px}}@media(max-height:680px){.top-message{padding-block:.45rem}.wedding-line{display:none}.bottom-story{max-height:36svh}.timer-grid{grid-template-columns:repeat(6,minmax(0,1fr))}}@media(max-height:560px){.eyebrow,.fact-card span,.track-name{display:none}.timer-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:1ms!important;scroll-behavior:auto!important;transition-duration:1ms!important}}
