@import "https://fonts.googleapis.com/css2?family=Corinthia:wght@400;700&family=Dancing+Script:wght@400..700&display=swap";h1,h2,h3,h4,p{font-family:Dancing Script,sans-serif}.image{transition-property:transform;transition-duration:.3s;transition-timing-function:ease-in-out}.image:hover{transform:scale(1.02)}.admin-page,.admin-page :is(h1,h2,h3,p){letter-spacing:0;font-family:system-ui,sans-serif}.admin-guest-table{table-layout:fixed}.admin-guest-table :is(th,td){overflow-wrap:anywhere}.admin-guest-table th:first-child{width:16%}.admin-guest-table th:nth-child(2){width:25%}.admin-guest-table th:nth-child(3){width:18%}.admin-guest-table th:nth-child(4){width:9%}.admin-guest-table th:nth-child(5){width:13%}.admin-guest-table th:nth-child(6){width:12%}.admin-guest-table th:nth-child(7){width:7%}@media (width<=1023px){.admin-guest-table,.admin-guest-table tbody{display:block}.admin-guest-table thead{display:none}.admin-guest-table tr{grid-template-columns:repeat(2,minmax(0,1fr));padding:8px;display:grid}.admin-guest-table tr:first-child{border-top:0}.admin-guest-table td{min-width:0;display:block}.admin-guest-table td[data-label]:before{content:attr(data-label);color:#626262;margin-bottom:6px;font-size:12px;font-weight:500;display:block}.admin-guest-table :is(.guest-name,.guest-link,.guest-message){grid-column:1/-1}.admin-guest-table .guest-name{font-size:16px}.admin-guest-table .guest-actions{place-self:end}}.invitation-envelope-screen{isolation:isolate;color:#7c1616;background:radial-gradient(at 15% 15%,#eeddd5 0,#0000 48%),radial-gradient(at 90% 85%,#efe0d0 0,#0000 46%),#fcf8f1;flex-direction:column;justify-content:center;align-items:center;gap:clamp(2rem,6vh,4rem);width:100%;min-height:100svh;padding:3rem 1.25rem 2rem;display:flex;position:relative;overflow:hidden}.invitation-envelope-heading,.invitation-envelope-stage,.invitation-envelope-signoff,.invitation-envelope-error{z-index:1;text-align:center;position:relative}.invitation-envelope-heading{transition:opacity .25s}.invitation-envelope-heading h1{margin:.65rem 0;font-family:Dancing Script,cursive;font-size:clamp(2.8rem,8vw,4.6rem);font-weight:400;line-height:1.15}.invitation-envelope-heading h1 span{font-size:.65em}.invitation-envelope-eyebrow,.invitation-envelope-date,.invitation-envelope-hint,.invitation-envelope-paper-eyebrow,.invitation-envelope-paper-date{letter-spacing:.24em;font-family:Georgia,Times New Roman,serif;font-size:1.2rem}.invitation-envelope-date{color:#725b4d;font-size:1.25rem}.invitation-envelope-flower{z-index:-1;opacity:.14;pointer-events:none;width:clamp(180px,30vw,420px);position:absolute}.invitation-envelope-flower--top{top:-6%;left:-9%;transform:rotate(125deg)}.invitation-envelope-flower--bottom{bottom:-8%;right:-9%;transform:rotate(-50deg)}.invitation-envelope-stage{perspective:1400px;width:min(100%,480px);margin-top:1rem}.invitation-envelope{aspect-ratio:1.55;appearance:none;color:#7c1616;cursor:pointer;-webkit-tap-highlight-color:transparent;touch-action:manipulation;background:linear-gradient(135deg,#e7d4b8,#cfb694);border:1px solid #ddcbb3;border-radius:5px;width:100%;padding:0;display:block;position:relative;box-shadow:0 22px 50px -16px #56352040,0 3px 8px #56352012}.invitation-envelope:disabled{cursor:wait}.invitation-envelope:focus-visible,.invitation-envelope-error button:focus-visible,.invitation-envelope-error a:focus-visible{outline-offset:8px;outline:3px solid #7c1616}.invitation-envelope-paper{z-index:1;background:#fffcf5;border:1px solid #dcc7a6;border-radius:2px;flex-direction:column;justify-content:flex-start;align-items:center;gap:.8rem;padding:1.4rem .75rem;transition:transform .8s cubic-bezier(.22,1,.36,1) .65s;display:flex;position:absolute;inset:7% 7% 9%;transform:translateY(0)scale(.97);box-shadow:0 0 0 6px #fffcf5,inset 0 0 0 5px #fffcf5,inset 0 0 0 6px #dbc7a66b}.invitation-envelope-paper-eyebrow{font-size:clamp(.5rem,1.6vw,.65rem)}.invitation-envelope-paper-names{font-family:Dancing Script,cursive;font-size:clamp(1.7rem,5.5vw,2.8rem);line-height:1.15}.invitation-envelope-paper-date{color:#725b4d;font-size:1.2rem}.invitation-envelope-folds,.invitation-envelope-front,.invitation-envelope-flap{border-radius:inherit;position:absolute;inset:0}.invitation-envelope-folds{z-index:2;clip-path:polygon(0 0,50% 52%,100% 0,100% 100%,0 100%);background:linear-gradient(90deg,#ebd9be,#f3e5d0 48%,#e9d6b9)}.invitation-envelope-front{z-index:3;clip-path:polygon(0 100%,0 96%,50% 44%,100% 96%,100% 100%);background:linear-gradient(165deg,#f7ead5,#efdfc6)}.invitation-envelope-flap{z-index:4;clip-path:polygon(0 0,100% 0,50% 100%);transform-origin:top;backface-visibility:visible;background:linear-gradient(175deg,#fff4e1,#e8d5b7);height:60%;transition:transform .7s ease-in-out .12s,z-index 0s linear .47s;bottom:auto;transform:rotateX(0)}.invitation-envelope-seal{z-index:5;aspect-ratio:1;color:#f3dfb7;background:radial-gradient(circle at 35% 25%,#ac4940,#7c1616 68%,#631111);border:3px double #b36956;border-radius:50%;justify-content:center;align-items:center;gap:.15rem;width:clamp(48px,12vw,64px);font-family:Dancing Script,cursive;font-size:clamp(.95rem,3vw,1.25rem);transition:opacity .2s,transform .25s;display:flex;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)rotate(-12deg);box-shadow:0 3px 6px #4d1b1640,inset 0 0 0 3px #ffffff0d}.invitation-envelope-seal span{font-size:.7em}.invitation-envelope-recipient{z-index:4;flex-direction:column;justify-content:center;align-items:center;gap:.15rem;transition:opacity .3s .5s;display:flex;position:absolute;inset:68% 8% 5%}.invitation-envelope-to{color:#725b4d;font-family:Georgia,Times New Roman,serif;font-size:clamp(.6rem,1.8vw,.85rem);font-style:italic}.invitation-envelope-guest{overflow-wrap:anywhere;text-wrap:balance;max-width:100%;font-family:Dancing Script,cursive;font-size:1.15rem;line-height:1.1}.invitation-envelope-hint{color:#725b4d;letter-spacing:.13em;min-height:1.5em;margin-top:2rem;font-size:.8rem}.invitation-envelope-signoff{color:#856c59;font-family:Dancing Script,cursive;font-size:clamp(1.1rem,3vw,1.6rem)}.invitation-envelope-error{background:#fffcf5;border:1px solid #ddcbb3;border-radius:5px;flex-direction:column;align-items:center;gap:1.25rem;width:min(100%,440px);padding:2rem;display:flex}.invitation-envelope-error h2{font-size:1.8rem}.invitation-envelope-error p{overflow-wrap:anywhere;font-family:Georgia,Times New Roman,serif;font-size:.95rem}.invitation-envelope-error button{color:#fff8ed;cursor:pointer;background:#7c1616;border-radius:3px;padding:.65rem 1.5rem}.invitation-envelope-error a{text-underline-offset:4px;text-decoration:underline}.invitation-envelope-screen.is-opening{pointer-events:none;animation:.65s ease-in 1.55s both invitation-envelope-dismiss}.is-opening .invitation-envelope-heading{opacity:0}.is-opening .invitation-envelope-seal{opacity:0;transform:translate(-50%,-50%)rotate(-12deg)scale(1.2)}.is-opening .invitation-envelope-flap{z-index:0;transform:rotateX(-180deg)}.is-opening .invitation-envelope-paper{transform:translateY(-55%)scale(1)}.is-opening .invitation-envelope-recipient{opacity:0}.invitation-page-reveal{animation:.7s ease-out both invitation-page-reveal}@keyframes invitation-envelope-dismiss{to{opacity:0}}@keyframes invitation-page-reveal{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@media (width>=480px){.invitation-envelope-guest{font-size:1.5rem}}@media (width>=768px){.invitation-envelope-guest{font-size:2rem}}@media (width>=1440px){.invitation-envelope-guest{font-size:2.5rem}}@media (height<=600px) and (width>=600px){.invitation-envelope-screen{gap:1.25rem;padding-block:1.5rem}.invitation-envelope-heading h1{font-size:2.5rem}.invitation-envelope-stage{max-width:320px}.invitation-envelope-signoff{display:none}}@media (prefers-reduced-motion:reduce){.invitation-envelope-screen,.invitation-envelope-screen *,.invitation-page-reveal{transition:none!important;animation:none!important}}.background-music-toggle{right:max(18px, calc(env(safe-area-inset-right) + 12px));bottom:max(18px, calc(env(safe-area-inset-bottom) + 12px));z-index:1100;cursor:pointer;touch-action:manipulation;-webkit-tap-highlight-color:transparent;background:#fff8f0;border:1px solid #d4b9a0;border-radius:50%;place-items:center;width:54px;height:54px;padding:4px;transition:box-shadow .18s,border-color .18s;display:grid;position:fixed;box-shadow:0 3px 16px #4b201c33,0 0 0 4px #fff8f04d}.background-music-toggle:hover{border-color:#7c1616;box-shadow:0 4px 20px #4b201c4d,0 0 0 4px #fff8f080}.background-music-toggle:focus-visible{outline-offset:5px;outline:3px solid #7c1616}.background-music-disc{background:repeating-radial-gradient(circle,#0000 0 2px,#8c75651c 2px 3px),conic-gradient(from 30deg,#e1d6c4,#fffaf0 12%,#c8d4cf 20%,#d4b7ba 30%,#f9f0dd 43%,#ad9990 50%,#fff9e9 60%,#ccd7d4 72%,#d5bac3 82%,#fff5de 94%,#e1d6c4);border:1px solid #bcaaa0;border-radius:50%;place-items:center;width:100%;height:100%;animation:7s linear infinite paused background-music-spin;display:grid;box-shadow:inset 0 0 0 2px #ffffff80}.background-music-toggle[data-playing=true] .background-music-disc{animation-play-state:running}.background-music-hub{background:#7c1616;border:1px solid #e2d590;border-radius:50%;place-items:center;width:15px;height:15px;display:grid;box-shadow:0 0 0 2px #fff7e880}.background-music-hub:after{content:"";background:#fff8f0;border-radius:50%;width:5px;height:5px}.background-music-status{color:#fff2cf;background:#7c1616;border:1px solid #fff8f0;border-radius:50%;place-items:center;width:22px;height:22px;font-size:12px;display:grid;position:absolute;bottom:-3px;right:-3px;box-shadow:0 1px 4px #4b201c33}@keyframes background-music-spin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion:reduce){.background-music-toggle{transition:none}.background-music-disc{animation:none}}
