@font-face{font-family:Neon Light;src:url(/fonts/NeonLight.otf)format("opentype");font-weight:400;font-display:swap}@font-face{font-family:DejaVu Sans Mono;src:url(/fonts/DejaVuSansMono.woff2)format("woff2");font-weight:400;font-display:swap}@font-face{font-family:DejaVu Sans Mono;src:url(/fonts/DejaVuSansMono-Bold.woff2)format("woff2");font-weight:700;font-display:swap}@font-face{font-family:Miriam Libre;src:url(/fonts/MiriamLibre-hebrew.woff2)format("woff2");font-weight:400 700;font-display:swap;unicode-range:U+307-308,U+590-5FF,U+200C-2010,U+20AA,U+25CC,U+FB1D-FB4F}@font-face{font-family:Miriam Libre;src:url(/fonts/MiriamLibre-latin.woff2)format("woff2");font-weight:400 700;font-display:swap;unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+2000-206F,U+2212}:root{--void:#0a0620;--mist:#cdd1e4;--paper:#f4fbff;--cyan:#22d3ee;--violet:#8b5cf6;--pink:#ff3d8b;--hull:#164a5e;--hull-deep:#0e3141;--bezel:#2b3139;--crt:#04170c;--phosphor:#5cf58c;--amber:#ffb547;--gold:#c9a53a;--button:#ef1f35;--body:"Miriam Libre", "Arial Hebrew", Arial, sans-serif;--mono:"DejaVu Sans Mono", "Miriam Libre", ui-monospace, monospace;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*,:before,:after{box-sizing:border-box}body{background:var(--void);color:var(--mist);font-family:var(--body);-webkit-font-smoothing:antialiased;margin:0;font-size:1.08rem;line-height:1.8}:focus-visible{outline:2px solid var(--cyan);outline-offset:3px}.night{padding-bottom:5rem;position:relative;overflow-x:clip}.night:before{content:"";opacity:.6;pointer-events:none;background:url(/show/swirl.webp) top/cover no-repeat;height:min(135vh,70rem);position:absolute;inset:0 0 auto;-webkit-mask-image:linear-gradient(#000 20%,#00000059 45%,#0000 70%);mask-image:linear-gradient(#000 20%,#00000059 45%,#0000 70%)}.night>*{position:relative}.marquee{text-align:center;justify-items:center;gap:1.5rem;padding:3.5rem 1rem;display:grid}.box{filter:drop-shadow(0 0 1.5rem #8b5cf659);width:clamp(8.5rem,34vw,12.5rem);height:auto;animation:6s ease-in-out infinite hover}.marquee h1{color:#fff;letter-spacing:.12em;-webkit-text-stroke:.4px #ffffffd9;paint-order:stroke fill;text-shadow:0 0 6px #fffc,0 0 14px #22d3eee6,0 0 30px #22d3ee99,0 0 60px #22d3ee4d;margin:0;font-family:Neon Light,sans-serif;font-size:clamp(2.1rem,9.5vw,4.4rem);font-weight:400;line-height:1.12;animation:1.4s .3s both warmup}.marquee h1 span{display:inline-block}.letter{max-width:35rem;margin:0 auto;padding:0 1rem}.letter p{margin:0 0 1.15rem}.letter .greeting{color:var(--paper);text-shadow:0 0 7px #ffffff80,0 0 20px #8b5cf68c,0 0 40px #8b5cf64d;margin-bottom:.75rem;font-size:2rem;font-weight:700;line-height:1.2}.letter .when{color:var(--paper);margin:2rem 0 .9rem;font-weight:700}.trace{gap:1.1rem;margin:0 0 2rem;padding:0;list-style:none;display:grid;position:relative}.trace:before{content:"";background:var(--gold);width:2px;position:absolute;inset-block:.9rem;inset-inline-start:.42rem;box-shadow:0 0 6px #c9a53a80}.trace li{flex-wrap:wrap;align-items:baseline;gap:.25rem 1rem;padding-inline-start:2rem;display:flex;position:relative}.trace li:before{content:"";top:.55em;border:2px solid var(--gold);background:var(--void);border-radius:50%;width:.95rem;height:.95rem;position:absolute;inset-inline-start:0}.time{color:var(--cyan);font-family:var(--mono);font-variant-numeric:tabular-nums;letter-spacing:.04em;text-shadow:0 0 10px #22d3ee8c;font-size:1.05rem;font-weight:700}.stills{flex-direction:column;gap:1.25rem;max-width:60rem;margin:3rem auto 0;padding:0 1rem;display:flex}.stills img{border:1px solid #ffffff14;border-radius:.5rem;width:100%;min-width:0;height:auto;display:block;box-shadow:0 0 60px #8b5cf62e}.device{border:3px solid var(--paper);background:linear-gradient(160deg, var(--hull), var(--hull-deep));border-radius:1rem;max-width:38rem;margin:5.5rem 1rem 0;padding:1rem;box-shadow:-.75rem 0 2.5rem -.25rem #ff3d8b8c,.75rem 0 2.5rem -.25rem #22d3ee8c,inset 0 1px #ffffff1f}@media (width>=40rem){.device{margin-inline:auto;padding:1.5rem}}.rsvp{gap:1.25rem;display:grid}.screen{border:7px solid var(--bezel);background:radial-gradient(ellipse at 50% 35%, #08301a, var(--crt) 75%);color:var(--phosphor);text-shadow:0 0 6px #5cf58c8c;border-radius:.55rem;gap:1.1rem;padding:1.25rem 1.1rem 1.4rem;display:grid;position:relative;box-shadow:inset 0 0 1.5rem #000000b3}.screen:after{content:"";border-radius:inherit;pointer-events:none;background:repeating-linear-gradient(#0000 0 2px,#00000047 2px 4px);position:absolute;inset:0}.screen p{margin:0}.field{gap:.15rem;font-size:.95rem;display:grid}.rsvp input[type=text],.rsvp input[type=email],.rsvp textarea{width:100%;color:var(--phosphor);caret-color:var(--phosphor);font-family:var(--mono);text-shadow:inherit;background:0 0;border:none;border-bottom:1px dashed #5cf58c80;border-radius:0;margin:0;padding:.3rem .2rem .4rem;font-size:1.1rem}.rsvp input[type=text]:focus-visible,.rsvp input[type=email]:focus-visible,.rsvp textarea:focus-visible{border-bottom-style:solid;border-bottom-color:var(--phosphor);background:#5cf58c14;outline:none}.rsvp textarea{resize:vertical;border:1px dashed #5cf58c80;border-radius:3px;min-height:5.5rem;margin-top:.3rem;padding:.5rem .65rem;line-height:1.6;display:block}.rsvp textarea:focus-visible{border-style:solid;border-color:var(--phosphor)}.plus-fields{border-top:1px dashed #5cf58c66;gap:1.1rem;padding-top:1.1rem;display:grid}.plus-fields:before{content:"+1";font-family:var(--mono);direction:ltr;justify-self:start;font-size:.85rem;font-weight:700}.with,.alert,.notice{font-weight:700}.alert{color:var(--amber);text-shadow:0 0 6px #ffb5478c}.notice:after{content:"";vertical-align:-.12em;background:currentColor;width:.55em;height:1em;margin-inline-start:.3em;animation:1.1s step-end infinite blink;display:inline-block}.keys{grid-template-columns:repeat(auto-fit,minmax(10.5rem,1fr));gap:.6rem;display:grid}.key{min-height:3.4rem;color:var(--paper);cursor:pointer;background:#04141c73;border:1px solid #ffffff24;border-radius:.45rem;align-items:center;gap:.75rem;padding:.6rem .8rem;font-size:.95rem;font-weight:700;line-height:1.35;transition:border-color .2s,background-color .2s;display:flex;position:relative}.key:hover{border-color:#22d3ee73}.key input{opacity:0;cursor:pointer;width:100%;height:100%;margin:0;scroll-margin-block:3rem;position:absolute;inset:0}.key:has(input:focus-visible){outline:2px solid var(--paper);outline-offset:3px}.led{background:#0f556180;border:2px solid #a5f5fc99;border-radius:3px;flex:none;width:1.4rem;height:1.4rem;transition:background-color .2s,border-color .2s,box-shadow .2s;position:relative}.led:after{content:"";border:solid var(--hull-deep);opacity:0;border-width:0 3px 3px 0;width:.4rem;height:.72rem;transition:opacity .15s,transform .2s;position:absolute;top:.12rem;left:.36rem;transform:rotate(45deg)scale(.4)}.key:hover .led{border-color:#a5f5fc}.key:has(input:checked){background:#22d3ee14;border-color:#22d3ee99}.key:has(input:checked) .led{background:#a5f5fc;border-color:#a5f5fc;box-shadow:0 0 6px #a5f5fce6,0 0 18px #22d3eeb3}.key:has(input:checked) .led:after{opacity:1;transform:rotate(45deg)}.actions{flex-wrap:wrap;align-items:center;gap:.9rem 1.2rem;display:flex}.save,.cancel{font:inherit;cursor:pointer;border-radius:999px;font-weight:700}.save{background:radial-gradient(circle at 38% 28%, #ff8a94, var(--button) 55%, #9d0717);color:#fff;text-shadow:0 1px 1px #00000059;border:2px solid #00000059;padding:.75rem 1.9rem;font-size:1.1rem;transition:transform .1s,box-shadow .16s;box-shadow:0 0 14px #ef1f35a6,0 0 36px #ef1f354d,inset 0 -3px #0000004d}.save:hover{box-shadow:0 0 18px #ef1f35d9,0 0 44px #ef1f3566,inset 0 -3px #0000004d}.save:active{transform:translateY(2px);box-shadow:0 0 10px #ef1f3599,inset 0 1px #0000004d}.cancel{color:var(--mist);background:0 0;border:1px solid #ffffff38;padding:.6rem 1.2rem;transition:all .25s}.cancel:hover{color:#fff;background:#8b5cf624;border-color:#8b5cf6b3;box-shadow:0 0 10px #8b5cf64d}.save:focus-visible,.cancel:focus-visible{outline-color:var(--paper)}.save:disabled,.cancel:disabled{cursor:wait;opacity:.55}#cancel{scroll-margin-block:3rem}@media (width>=52rem){.stills{flex-direction:row;align-items:flex-start}.stills img{flex-basis:0;width:auto}}@keyframes warmup{0%{opacity:.15}15%{opacity:.85}22%{opacity:.5}30%{opacity:.95}38%{opacity:.7}50%,to{opacity:1}}@keyframes hover{50%{transform:translateY(-.4rem)rotate(-1deg)}}@keyframes blink{50%{opacity:0}}@media (prefers-reduced-motion:reduce){.box,.marquee h1,.notice:after{animation:none}.key,.led,.led:after,.save,.cancel{transition:none}}
