:root{--lemon-yellow:#f7c94b;--lemon-yellow-light:#ffe28a;--lemon-green:#8bc34a;--lemon-green-dark:#5a8f29;--leaf-green:#4f7942;--cream:#fffdf2;--text-dark:#4a3f1a;--card-bg:#fffdf2eb;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;color:var(--text-dark);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font:18px/145% Segoe UI,system-ui,Roboto,sans-serif}*{box-sizing:border-box}html,body{margin:0;padding:0;overflow-x:hidden}#root{width:100%;min-height:100svh}.app{width:100%;min-height:100svh;padding:clamp(16px,4vh,40px) 16px;padding-top:max(clamp(16px, 4vh, 40px), env(safe-area-inset-top));padding-bottom:max(clamp(16px, 4vh, 40px), env(safe-area-inset-bottom));background:radial-gradient(circle at 20% 0,#fffbe8 0%,#0000 55%),linear-gradient(165deg,#fff6d9 0%,#fbe8a0 32%,#d9e9a8 68%,#aed481 100%);justify-content:center;align-items:flex-start;display:flex;position:relative}.floating-layer{pointer-events:none;z-index:1;position:absolute;inset:0;overflow:hidden}.floating-item{will-change:transform;opacity:.8;position:absolute}.card{z-index:2;background:var(--card-bg);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);text-align:center;border:1px solid #f7c94b8c;border-radius:26px;width:100%;max-width:440px;position:relative;box-shadow:0 24px 60px -10px #4a6e2459,inset 0 0 0 1px #fff9}.card-content{padding:clamp(28px,5vh,40px) clamp(22px,6vw,36px) clamp(26px,4vh,36px)}.card-emoji-row{filter:drop-shadow(0 4px 10px #5a8f2940);margin-bottom:8px;font-size:clamp(30px,8vw,38px);line-height:1}.card-kicker{text-transform:uppercase;letter-spacing:3.5px;color:var(--lemon-green-dark);margin-bottom:6px;font-size:12.5px;font-weight:700}.card-title{color:var(--text-dark);letter-spacing:-.3px;margin:4px 0 0;font-family:Georgia,Times New Roman,serif;font-size:clamp(30px,8.5vw,40px);font-weight:700;line-height:1.12}.card-title span{color:var(--lemon-green-dark);letter-spacing:0;margin-top:5px;font-size:clamp(16px,4.2vw,20px);font-style:italic;font-weight:400;display:block}.card-divider{background:linear-gradient(90deg, transparent, var(--lemon-yellow), transparent);border-radius:3px;width:64px;height:3px;margin:16px auto}.card-message{color:var(--text-dark);opacity:.92;margin-bottom:22px;font-size:15px;line-height:1.65}.date-card{text-align:left;background:linear-gradient(135deg,#f7c94b38,#8bc34a24);border:1px solid #f7c94b73;border-radius:18px;align-items:center;gap:14px;margin-bottom:12px;padding:14px 16px;display:flex}.date-card-cal{background:#fff;border-radius:14px;flex-direction:column;flex-shrink:0;justify-content:center;align-items:center;width:58px;height:58px;line-height:1;display:flex;overflow:hidden;box-shadow:0 6px 14px #5a8f2938}.date-card-month{color:#fff;letter-spacing:1px;text-align:center;background:linear-gradient(135deg,#e0564e,#c23e38);width:100%;padding:3px 0;font-size:10px;font-weight:800}.date-card-day{color:var(--text-dark);padding-top:2px;font-size:24px;font-weight:800}.date-card-info{flex-direction:column;gap:2px;min-width:0;display:flex}.date-card-weekday{color:var(--text-dark);font-size:15.5px;font-weight:700}.date-card-year{color:var(--lemon-green-dark);font-size:12.5px;font-weight:600}.date-card-sep{background:#5a8f2940;align-self:stretch;width:1px;margin:2px 0}.date-card-time{color:var(--text-dark);white-space:nowrap;flex-shrink:0;align-items:center;gap:6px;margin-left:auto;font-size:14.5px;font-weight:700;display:flex}.date-card-time-icon{font-size:17px}.place-card{text-align:left;color:inherit;cursor:pointer;background:#fff9;border:1px solid #5a8f2938;border-radius:18px;flex-wrap:wrap;align-items:center;gap:12px;margin-bottom:22px;padding:13px 14px;text-decoration:none;transition:transform .15s,box-shadow .15s,background .15s;display:flex}.place-card:hover{background:#ffffffd9;transform:translateY(-1px);box-shadow:0 8px 18px #5a8f292e}.place-card-icon{flex-shrink:0;font-size:22px}.place-card-text{flex-direction:column;flex:1;gap:1px;min-width:140px;display:flex}.place-card-label{text-transform:uppercase;letter-spacing:1px;color:var(--lemon-green-dark);font-size:11px;font-weight:700}.place-card-value{color:var(--text-dark);font-size:14px;font-weight:600;line-height:1.3}.place-card-cta{color:#fff;background:linear-gradient(135deg, var(--lemon-green) 0%, var(--lemon-green-dark) 100%);white-space:nowrap;border-radius:999px;flex-shrink:0;align-items:center;gap:5px;margin-left:auto;padding:8px 13px;font-size:12.5px;font-weight:700;display:inline-flex;box-shadow:0 5px 12px #5a8f2959}.place-card-cta-icon{font-size:13px}.actions{flex-direction:column;gap:10px;display:flex}.rsvp-button,.gift-button{cursor:pointer;border:none;border-radius:999px;justify-content:center;align-items:center;gap:9px;width:100%;padding:15px 18px;font-size:16px;font-weight:700;text-decoration:none;transition:transform .15s,box-shadow .15s,filter .15s;display:inline-flex}.rsvp-button{color:#fff;background:linear-gradient(135deg,#2bb673 0%,#1a9458 100%);box-shadow:0 10px 22px #25965a66}.rsvp-button-icon{font-size:18px}.rsvp-button:hover{filter:brightness(1.04);transform:translateY(-2px);box-shadow:0 14px 28px #25965a7a}.gift-button{color:var(--lemon-green-dark);border:1.5px solid var(--lemon-yellow);background:#fff;box-shadow:0 6px 16px #f7c94b4d}.gift-button:hover{background:var(--lemon-yellow-light);transform:translateY(-2px);box-shadow:0 10px 20px #f7c94b66}.rsvp-button:active,.gift-button:active,.place-card:active{transform:translateY(0)scale(.98)}.rsvp-hint{color:var(--lemon-green-dark);opacity:.85;text-align:center;margin-top:11px;font-size:11.5px}.sound-toggle{top:max(16px, env(safe-area-inset-top));right:max(16px, env(safe-area-inset-right));z-index:10;background:var(--cream);cursor:pointer;border:none;border-radius:50%;justify-content:center;align-items:center;width:48px;height:48px;font-size:20px;transition:transform .15s;display:flex;position:fixed;box-shadow:0 6px 18px #5a8f2959}.sound-toggle:hover{transform:scale(1.08)}.sound-toggle:active{transform:scale(.95)}@media (width<=380px){.card-title{font-size:28px}.date-card{flex-wrap:wrap}.date-card-sep{display:none}.date-card-time{margin-left:72px}}@media (height<=700px){.card-emoji-row{margin-bottom:4px;font-size:28px}.card-kicker{margin-bottom:2px}.card-divider{margin:10px auto}.card-message{margin-bottom:16px}.date-card,.place-card{padding:10px 12px}}@media (width>=460px){.card{max-width:460px}}
