*,*:before,*:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--font-body);font-size:17px;line-height:1.65;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}.sheet{background-color:var(--paper);background-image:var(--paper-image, none),var(--paper-grain, url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='260' height='260'%3E%3Cfilter id='g'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.75' numOctaves='3' stitchTiles='stitch'/%3E%3CfeDiffuseLighting lighting-color='%23fff' surfaceScale='1.6'%3E%3CfeDistantLight azimuth='45' elevation='58'/%3E%3C/feDiffuseLighting%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23g)' opacity='.35'/%3E%3C/svg%3E")),url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='700' height='700'%3E%3Cfilter id='m'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.012' numOctaves='3' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 .55  0 0 0 0 .5  0 0 0 0 .62  0 0 0 .1 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23m)'/%3E%3C/svg%3E");background-size:1024px 1024px,260px 260px,700px 700px;background-blend-mode:multiply}@layer base{img,svg{display:block;max-width:100%}button,input,textarea,select{font:inherit;color:inherit}a{color:inherit}:focus-visible{outline:2px solid var(--focus, currentColor);outline-offset:3px;border-radius:4px}}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.sheet{position:relative;width:100%;max-width:460px;margin:0 auto;overflow:clip}.wc-art{pointer-events:none;mix-blend-mode:multiply}[lang=ar]{font-family:Amiri,serif;direction:rtl}.firefly{animation:firefly-breathe 3.6s ease-in-out infinite;animation-delay:calc(var(--d, 0s) * -1)}@keyframes firefly-breathe{0%,to{opacity:.35}50%{opacity:1}}.press{transition:transform .16s cubic-bezier(.23,1,.32,1);-webkit-tap-highlight-color:transparent}.press:active{transform:scale(.97)}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.firefly{animation:none;opacity:.8}}.embedded{scrollbar-width:none}.embedded::-webkit-scrollbar{display:none}.drop,.brush,.spatter{position:absolute;height:auto;max-width:none;pointer-events:none;mix-blend-mode:multiply;overflow:visible;z-index:0;opacity:0}.stroke{position:absolute;z-index:0;pointer-events:none;mix-blend-mode:multiply;transform-origin:50% 50%}.stroke>canvas,.stroke>img{position:absolute;inset:0;width:100%;height:100%}.drop.is-cutout{mix-blend-mode:normal}.drop.drop-inline{position:relative;display:block;max-width:100%;margin:0 auto}.is-revealed{opacity:1}.life{position:fixed;inset:0;z-index:40;pointer-events:none;overflow:hidden}.bfly{position:absolute;filter:saturate(.82);left:0;top:0;width:var(--size);height:var(--size);margin:calc(var(--size) * -.5) 0 0 calc(var(--size) * -.5);will-change:transform}.bfly-wing,.bfly-body{position:absolute;top:0;height:100%;background-image:var(--img);background-repeat:no-repeat;will-change:transform}.bfly-wing{width:50%;background-size:200% 100%}.bfly-wing.is-left{left:0;background-position:0 0;transform-origin:100% 50%}.bfly-wing.is-right{right:0;background-position:100% 0;transform-origin:0 50%}.bfly-body{left:46.5%;width:7%;background-size:1428.6% 100%;background-position:50% 0}.bfly-shadow{position:absolute;inset:24% 10%;border-radius:50%;background:radial-gradient(closest-side,rgba(58,42,92,.4),transparent);filter:blur(5px);opacity:.35}.lf{position:absolute;left:-5px;top:-5px;width:10px;height:10px;border-radius:50%;background:radial-gradient(circle,#fffbe6 0 22%,#fbe896d9 34%,#f0cd6e00 70%);box-shadow:0 0 14px 5px #f6d77866;will-change:transform,opacity}.bfly.is-flapping .bfly-wing.is-left{animation:bfly-flap-l var(--flap, .12s) cubic-bezier(.45,0,.2,1) infinite alternate}.bfly.is-flapping .bfly-wing.is-right{animation:bfly-flap-r var(--flap, .12s) cubic-bezier(.45,0,.2,1) infinite alternate}.bfly.is-resting .bfly-wing.is-left{animation:bfly-rest-l 3.4s ease-in-out infinite}.bfly.is-resting .bfly-wing.is-right{animation:bfly-rest-r 3.4s ease-in-out infinite}@keyframes bfly-flap-l{0%{transform:perspective(420px) rotateY(-8deg)}to{transform:perspective(420px) rotateY(-76deg)}}@keyframes bfly-flap-r{0%{transform:perspective(420px) rotateY(8deg)}to{transform:perspective(420px) rotateY(76deg)}}@keyframes bfly-rest-l{0%,45%,to{transform:perspective(420px) rotateY(-12deg)}65%,75%{transform:perspective(420px) rotateY(-58deg)}}@keyframes bfly-rest-r{0%,45%,to{transform:perspective(420px) rotateY(12deg)}65%,75%{transform:perspective(420px) rotateY(58deg)}}.swarm{position:fixed;inset:0;z-index:70;pointer-events:none;overflow:hidden}@media(prefers-reduced-motion:reduce){.bfly.is-resting .bfly-wing{animation:none}}.btn-paint{position:relative;display:inline-flex;align-items:center;justify-content:center;gap:9px;min-height:52px;padding:13px 32px;border:0;border-radius:0;background:var(--wash-soft, #efe8f8) center / 100% 100% no-repeat;box-shadow:none;color:var(--ink);font-size:16.5px;font-weight:400;letter-spacing:.01em;text-decoration:none;cursor:pointer;-webkit-tap-highlight-color:transparent;transition:transform .16s cubic-bezier(.23,1,.32,1),filter .2s ease}.btn-paint.is-primary{background-image:var(--wash-primary);color:#fffaff;text-shadow:0 1px 6px rgba(40,25,70,.35)}.btn-paint.is-icon{width:46px;height:46px;min-height:0;padding:0;background-image:var(--wash-dot);color:#fffaff}.btn-paint svg{width:19px;height:19px;flex:none}.btn-paint:active{transform:scale(.97)}@media(hover:hover)and (pointer:fine){.btn-paint:hover{filter:saturate(1.15) brightness(1.02)}}.countdown{display:flex;justify-content:center;gap:18px;margin-bottom:24px}.cd-unit{display:grid;min-width:52px}.cd-num{font-size:30px;font-weight:400;font-variant-numeric:tabular-nums;line-height:1.2}.cd-label{font-size:13px;color:var(--muted)}:where(.btn-ghost,.map-btns a,.rsvp-send,.money-copy){display:inline-block;padding:12px 22px;border:1px solid var(--accent);border-radius:999px;color:var(--accent);background:transparent;text-decoration:none;font-size:15px;font-weight:400;cursor:pointer}.rsvp-send{background:var(--accent);color:var(--on-accent);width:100%}.schedule{list-style:none;margin:0 auto;padding:0;max-width:300px;text-align:left}.schedule li{display:grid;grid-template-columns:112px 1fr;gap:12px;padding:10px 0;border-bottom:1px solid var(--line);font-size:15px}.sch-time{color:var(--accent);font-weight:400}:where(.map-btns){display:flex;gap:10px;justify-content:center}.gift-intro{max-width:34ch;margin:0 auto 24px}.gifts{list-style:none;margin:0;padding:0;text-align:left}.gift{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 0;border-bottom:1px solid var(--line)}.gift-text{display:grid}.gift-name{font-weight:400}.gift-note{font-size:14px;color:var(--muted)}.gift-btn{flex:none;padding:8px 14px;border:1px solid var(--line);border-radius:999px;background:transparent;font-size:14px;cursor:pointer}.gift [data-when]{display:none}.gift[data-state=open] [data-when=open],.gift[data-state=mine] [data-when=mine],.gift[data-state=taken] [data-when=taken]{display:inline}.gift[data-state=mine] .gift-btn{background:var(--accent);border-color:var(--accent);color:var(--on-accent)}.gift[data-state=taken]{opacity:.55}.gift[data-state=taken] .gift-btn{cursor:not-allowed}.gift[data-busy] .gift-btn{opacity:.6;cursor:progress}.gift:has(.gift-msg){flex-wrap:wrap}.gift .gift-msg{flex-basis:100%;margin:6px 0 0;font-size:13px;color:var(--muted)}.gift[data-state=mine] .gift-name{text-decoration:line-through;text-decoration-color:var(--accent)}.money{padding:22px;border:1px solid var(--line);border-radius:18px}.money p{margin:0}.money-acc{font-size:24px;font-weight:400;font-variant-numeric:tabular-nums;letter-spacing:.04em;margin:4px 0!important}.money-holder{color:var(--muted);font-size:15px;margin-bottom:16px!important}.money-copy [data-when]{display:none}.money-copy[data-state=idle] [data-when=idle],.money-copy[data-state=done] [data-when=done]{display:inline}.gift-addr{margin:20px 0 0;font-size:15px;color:var(--muted);font-style:italic}.rsvp{text-align:left;display:grid;gap:18px}.field{display:grid;gap:6px;border:0;padding:0;margin:0}.field-label{font-size:15px;font-weight:400;padding:0}.field input,.field select,.field textarea{width:100%;padding:12px 14px;border:1px solid var(--line);border-radius:12px;background:#fff9;font-size:16px}.attend{grid-template-columns:1fr 1fr}.attend legend{margin-bottom:6px}.choice{position:relative}.choice input{position:absolute;opacity:0}.choice span{display:block;padding:12px 10px;border:1px solid var(--line);border-radius:12px;text-align:center;font-size:15px;cursor:pointer;transition:background-color .16s ease,border-color .16s ease}.choice input:checked+span{border-color:var(--accent);background:var(--accent-soft);color:var(--accent);font-weight:400}.choice input:focus-visible+span{outline:2px solid var(--focus);outline-offset:2px}.rsvp-error{margin:0;color:#9b2c55;font-size:15px}.rsvp-done{margin:0;text-align:center;font-style:italic;color:var(--accent)}.wishes{list-style:none;margin:32px 0 0;padding:0;text-align:left;display:grid;gap:14px}.wish{padding:16px 18px;background:#ffffff8c;border-left:2px solid var(--line)}.wish p{margin:0}.wish-text{font-style:italic}.wish-name{margin-top:6px!important;font-size:14px;color:var(--muted)}.contacts{list-style:none;margin:0;padding:0;display:grid;gap:18px}.contact{display:grid;gap:8px}.contact-name{font-weight:400}.contact-actions{display:flex;gap:18px;justify-content:center}.contact-actions a{color:var(--accent);text-underline-offset:4px}
