#ws-controls{--ws-accent:#7b263c;position:relative;z-index:80;font:12px/1.45 'Be Vietnam Pro',Arial,sans-serif;color:#362930}
#ws-controls *{box-sizing:border-box}
#ws-controls button,#ws-controls input,#ws-controls textarea,#ws-controls select{font:inherit}
#ws-controls button{cursor:pointer}
#ws-controls .ws-dock{position:fixed;bottom:0;left:50%;transform:translateX(-50%);width:min(100%,460px);height:62px;background:#fffdfa;border-top:1px solid #ead8d4;display:grid;grid-template-columns:1fr 45px 1fr;align-items:center;gap:5px;padding:6px 13px;z-index:81;box-shadow:0 -4px 18px #33131d12}
#ws-controls .ws-dock button{background:white;border:1px solid #eed4d5;border-radius:22px;color:#49313a;min-height:40px;padding:4px 8px;font-size:11px;white-space:nowrap}
#ws-controls .ws-sound{justify-self:start;min-width:105px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1px;line-height:1.1}
#ws-controls .ws-sound-top{display:flex;align-items:center;justify-content:center;gap:4px}
#ws-controls .ws-speaker{flex:none}
#ws-controls .ws-sound.is-playing .ws-slash{display:none}
#ws-controls .ws-bars{height:10px;display:flex;align-items:center;justify-content:center;gap:3px}
#ws-controls .ws-bars i{display:block;width:3px;height:3px;border-radius:50%;background:#7b263c;transform-origin:center}
#ws-controls .ws-sound.is-playing .ws-bars i{animation:ws-equalize .65s ease-in-out infinite alternate}
#ws-controls .ws-sound.is-playing .ws-bars i:nth-child(2){animation-delay:-.2s}
#ws-controls .ws-sound.is-playing .ws-bars i:nth-child(3){animation-delay:-.43s}
#ws-controls .ws-sound.is-playing .ws-bars i:nth-child(4){animation-delay:-.12s}
@keyframes ws-equalize{from{transform:scaleY(1)}to{transform:scaleY(3.5)}}
#ws-controls .ws-menu{justify-self:center;border:0!important;font-size:22px!important;min-width:42px}
#ws-controls .ws-wish{justify-self:end;min-width:109px}
#ws-controls .ws-rsvp{position:fixed;z-index:82;bottom:69px;left:50%;transform:translateX(-50%);background:#fff;border:1px solid #ead6d1;color:#49313a;border-radius:22px;padding:8px 13px;white-space:nowrap;box-shadow:0 4px 13px #33131d29;font-size:11px}
#ws-controls .ws-rsvp{opacity:0;visibility:hidden;pointer-events:none;transform:translate(-50%,18px) scale(.96);transition:opacity .75s ease,transform .75s cubic-bezier(.2,.75,.2,1),visibility .75s}
#ws-controls .ws-rsvp.ws-rsvp-visible{opacity:1;visibility:visible;pointer-events:auto;transform:translate(-50%,0)}
#ws-controls .ws-shade{position:fixed;inset:0;background:#1d0b1266;z-index:83}
#ws-controls .ws-panel{position:fixed;z-index:84;bottom:70px;left:50%;transform:translateX(-50%);width:min(calc(100% - 24px),440px);max-height:min(72dvh,620px);overflow:auto;background:#fffaf8;color:#392a30;border-radius:17px;box-shadow:0 10px 36px #21091155;text-align:left;padding:16px}
#ws-controls .ws-shade:not([hidden]){animation:ws-shade-in .35s ease both}
#ws-controls .ws-panel[hidden],#ws-controls .ws-shade[hidden]{display:none!important}
#ws-controls .ws-panel:not([hidden]){animation:ws-panel-in .48s cubic-bezier(.2,.7,.2,1) both}
@keyframes ws-shade-in{from{opacity:0}to{opacity:1}}
@keyframes ws-panel-in{from{opacity:0;transform:translate(-50%,18px)}to{opacity:1;transform:translate(-50%,0)}}
#ws-controls .ws-panel:has(.ws-list){top:0;bottom:0;width:min(100%,460px);height:100dvh;max-height:100dvh;border-radius:0;display:flex;flex-direction:column;overflow:hidden;padding:18px 16px 20px}
#ws-controls .ws-panel:has(.ws-list) .ws-content{display:flex;flex-direction:column;flex:1;min-height:0}
#ws-controls .ws-panel header{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid #efded8;padding-bottom:8px;margin-bottom:10px;font-size:15px}
#ws-controls .ws-close{border:0;background:none;color:#62434e;font-size:23px!important;line-height:1}
#ws-controls .ws-links{display:grid;gap:2px}
#ws-controls .ws-links button{border:0;background:transparent;text-align:left;border-radius:8px;padding:10px;color:#44323a}
#ws-controls .ws-links button:hover{background:#f4e9e7}
#ws-controls .ws-list{max-height:190px;overflow:auto;display:grid;gap:8px;margin:9px 0}
#ws-controls .ws-panel:has(.ws-list) .ws-list{max-height:none;min-height:0;flex:1;align-content:start;scrollbar-width:none}
#ws-controls .ws-list::-webkit-scrollbar{display:none}
#ws-controls .ws-card{background:white;border:1px solid #f1e1dd;border-radius:10px;padding:10px}
#ws-controls .ws-card strong{display:block;color:var(--ws-accent)}
#ws-controls .ws-card p{margin:4px 0 0}
#ws-controls .ws-form{display:grid;gap:8px}
#ws-controls .ws-panel:has(.ws-list) .ws-form{flex:none;padding-top:12px}
#ws-controls .ws-form input,#ws-controls .ws-form textarea,#ws-controls .ws-form select{width:100%;border:1px solid #e6cfcc;border-radius:8px;padding:10px;background:white;color:#33262b;min-height:42px}
#ws-controls .ws-form textarea{min-height:67px;resize:vertical}
#ws-controls .ws-form button{border:0;border-radius:22px;background:var(--ws-accent);color:#fff;padding:11px}
#ws-controls button:focus-visible,#ws-controls input:focus-visible,#ws-controls textarea:focus-visible{outline:2px solid var(--ws-accent);outline-offset:2px}
#ws-controls .ws-toast{position:fixed;z-index:85;top:14px;left:50%;transform:translateX(-50%);width:min(calc(100% - 24px),430px);border-radius:9px;background:white;padding:10px 13px;box-shadow:0 5px 20px #21091144}
#ws-controls .ws-hearts{position:fixed;inset:0;z-index:0;overflow:hidden;pointer-events:none}
#ws-controls .ws-hearts span{position:absolute;bottom:-40px;color:#a54562;opacity:0;font:26px/1 Georgia,serif;animation:ws-heart-rise 12s linear infinite}
#ws-controls .ws-hearts span:nth-child(1){left:8%;animation-delay:-2s;font-size:20px}
#ws-controls .ws-hearts span:nth-child(2){left:23%;animation-delay:-9s;font-size:30px}
#ws-controls .ws-hearts span:nth-child(3){left:38%;animation-delay:-5s;font-size:17px}
#ws-controls .ws-hearts span:nth-child(4){left:52%;animation-delay:-11s;font-size:26px}
#ws-controls .ws-hearts span:nth-child(5){left:66%;animation-delay:-3.5s;font-size:19px}
#ws-controls .ws-hearts span:nth-child(6){left:79%;animation-delay:-7s;font-size:31px}
#ws-controls .ws-hearts span:nth-child(7){left:91%;animation-delay:-.5s;font-size:16px}
#ws-controls .ws-hearts span:nth-child(8){left:14%;animation-delay:-13s;font-size:23px;animation-duration:16s}
@keyframes ws-heart-rise{0%{transform:translate3d(0,0,0) rotate(-12deg);opacity:0}18%{opacity:.14}55%{opacity:.2}88%{opacity:.08}100%{transform:translate3d(25px,-110vh,0) rotate(18deg);opacity:0}}
body.ws-shared-controls>nav.dock,body.ws-shared-controls>.dock,body.ws-shared-controls>.rsvp-float,body.ws-shared-controls>.menu-sheet,body.ws-shared-controls>.sheet,body.ws-shared-controls>#rsvpGo,body.ws-shared-controls>#menuSheet,body.ws-shared-controls>#wishSheet,body.ws-shared-controls>#musicButton{display:none!important}
body.ws-shared-controls .page,body.ws-shared-controls main{padding-bottom:65px}
body.ws-shared-controls #inviteEntrance{z-index:70}
html:has(body.ws-shared-controls),body.ws-shared-controls,body.ws-shared-controls *{scrollbar-width:none!important}
html:has(body.ws-shared-controls)::-webkit-scrollbar,body.ws-shared-controls::-webkit-scrollbar,body.ws-shared-controls *::-webkit-scrollbar{display:none!important;width:0!important;height:0!important}
@media(max-height:520px){#ws-controls .ws-panel:has(.ws-list){overflow-y:auto}#ws-controls .ws-panel:has(.ws-list) .ws-list{flex:0 0 110px}}
body.ws-shared-controls .ws-enter{opacity:0;transform:translate3d(0,22px,0);transition:opacity .7s ease var(--ws-delay,0ms),transform .7s cubic-bezier(.2,.7,.2,1) var(--ws-delay,0ms);will-change:opacity,transform}
body.ws-shared-controls .ws-enter.ws-from-left{transform:translate3d(-24px,0,0)}
body.ws-shared-controls .ws-enter.ws-from-right{transform:translate3d(24px,0,0)}
body.ws-shared-controls .ws-enter.ws-visible{opacity:1;transform:translate3d(0,0,0);will-change:auto}
body.ws-shared-controls .ws-wedding-date{position:relative;isolation:isolate;display:inline-grid;place-items:center;width:36px;height:36px;padding:0!important;margin:-8px auto;color:#fff!important;background:none!important;border-radius:0!important;font-weight:700!important;font-size:13px!important;text-shadow:0 1px 2px #54202b66;filter:drop-shadow(0 3px 3px #741f3c66)}
body.ws-shared-controls .ws-wedding-date::before{content:'♥';position:absolute;z-index:-1;inset:0;display:grid;place-items:center;color:#a21d44;font:44px/1 Georgia,serif;text-shadow:0 1px 0 #eeb8c6,0 2px 5px #6a193d99;transform:translateY(-2px)}
body.ws-shared-controls .calendar-grid .ws-wedding-date{margin:0 auto;align-self:center}
@media(prefers-reduced-motion:reduce){#ws-controls *{animation:none!important;scroll-behavior:auto!important}#ws-controls .ws-hearts{display:none}}
@media(prefers-reduced-motion:reduce){#ws-controls .ws-rsvp{transition:none!important}}
