:root{--bg:#08020f;--pink:#ff2bd6;--lime:#c6ff00;--cyan:#00f0ff;--purple:#7a1fff;--paper:#fff4fd;--display:"Bungee", Impact, sans-serif;--anton:"Anton", Impact, sans-serif;--marker:"Permanent Marker", cursive;--body:"Rubik", system-ui, sans-serif;--leo:url(/Zebraprint.png);--leo-dark:url(/Purpleprint.png);--glit-a:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='160' height='160'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='2' seed='4'/><feColorMatrix values='0 0 0 0 1  0 0 0 0 1  0 0 0 0 1  10 0 0 0 -5.7'/></filter><rect width='100%' height='100%' filter='url(%23n)'/></svg>");--glit-b:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='97' height='97'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='1.1' numOctaves='2' seed='11'/><feColorMatrix values='0 0 0 0 1  0 0 0 0 .95  0 0 0 0 .6  10 0 0 0 -5.8'/></filter><rect width='100%' height='100%' filter='url(%23n)'/></svg>")}*{box-sizing:border-box}html{scroll-behavior:smooth}body{background:var(--bg);color:var(--paper);font-family:var(--body);background-image:radial-gradient(circle at 15% 8%,#ff2bd659,#0000 40%),radial-gradient(circle at 90% 35%,#7a1fff66,#0000 45%),radial-gradient(circle at 10% 80%,#00f0ff33,#0000 40%);background-attachment:fixed;margin:0;line-height:1.55;overflow-x:hidden}body:before{content:"";z-index:-1;pointer-events:none;background:var(--leo-dark);opacity:.3;position:fixed;inset:0}a{color:var(--lime)}:focus-visible{outline:3px solid var(--lime);outline-offset:3px}.wrap{width:min(100% - 2rem,62rem);margin-inline:auto}section{padding:clamp(2.5rem,7vw,5rem) 0}h2{font-family:var(--display);color:var(--lime);text-shadow:3px 3px 0 var(--pink);margin:0 0 1.2rem;font-size:clamp(1.8rem,6vw,3.2rem);font-weight:400;line-height:1}.hero{text-align:center;padding-top:clamp(2rem,6vw,4rem);position:relative}.hero .tag{font-family:var(--marker);color:var(--bg);background:var(--lime);box-shadow:4px 4px 0 var(--pink);padding:.25rem 1rem;font-size:clamp(1rem,3vw,1.5rem);display:inline-block;transform:rotate(-3deg)}.hero h1{font-family:var(--anton);text-transform:uppercase;letter-spacing:.01em;color:#0000;-webkit-background-clip:text;background-clip:text;background-image:var(--glit-b), var(--glit-a), linear-gradient(105deg, transparent 38%, #fffffff2 50%, transparent 62%), linear-gradient(160deg, #ff8cf0 0%, #ff2bd6 35%, #c2009a 65%, #ff5ee0 100%);filter:drop-shadow(3px 3px 0 var(--purple)) drop-shadow(0 0 20px #ff2bd6a6);background-position:0 0,0 0,0 0,0 0;background-size:97px 97px,160px 160px,250% 100%,100% 100%;margin:1rem 0 0;font-size:clamp(4.2rem,21vw,13rem);font-weight:400;line-height:.9;animation:4.5s linear infinite glitter}.hero h1 small{letter-spacing:.12em;color:var(--cyan);-webkit-text-fill-color:var(--cyan);background:0 0;margin-top:.25em;font-size:.3em;display:block}@keyframes glitter{to{background-position:97px 97px,-160px 160px,100% 0,0 0}}.hero .date{font-family:var(--display);color:var(--cyan);margin:1.4rem 0 .2rem;font-size:clamp(1.3rem,5vw,2.4rem)}.hero .sub{font-family:var(--marker);color:var(--paper);opacity:.85;margin:0 0 1.6rem;font-size:1.1rem}.btn{font-family:var(--display);cursor:pointer;color:var(--bg);background:var(--lime);box-shadow:5px 5px 0 var(--pink);border:0;border-radius:999px;padding:.9rem 1.6rem;font-size:1.1rem;text-decoration:none;transition:transform .1s,box-shadow .1s;display:inline-block}.btn:hover:not(:disabled){box-shadow:3px 3px 0 var(--pink);transform:translate(2px,2px)}.btn:disabled{color:#8a7a96;box-shadow:none;cursor:not-allowed;background:#3a2a46}.disco{filter:drop-shadow(0 0 24px #00f0ff99)drop-shadow(0 0 48px #ff2bd673);width:clamp(90px,18vw,150px);height:auto;margin:0 auto 1rem;display:block}.marquee{background:var(--lime);color:var(--bg);border-block:4px solid var(--pink);margin:1rem -1rem;overflow:hidden;transform:rotate(-1.2deg)}.marquee div{width:max-content;animation:18s linear infinite scroll;display:flex}.marquee span{font-family:var(--display);white-space:nowrap;padding:.5rem 1.2rem;font-size:clamp(1.2rem,4vw,2rem)}@keyframes scroll{to{transform:translate(-50%)}}.leo-strip{background:var(--leo);border-block:4px solid var(--bg);height:38px;box-shadow:0 0 0 3px var(--cyan);margin:1rem 0}.info-grid{grid-template-columns:repeat(auto-fit,minmax(16rem,1fr));gap:1.2rem;display:grid}.card{border:3px solid var(--cyan);box-shadow:6px 6px 0 var(--purple);background:#08020fd1;padding:1.4rem}.card:before{content:"";background:var(--leo);border-bottom:3px solid inherit;height:18px;margin:-1.4rem -1.4rem 1.1rem;display:block}.card:nth-child(2){border-color:var(--pink);box-shadow:6px 6px 0 var(--lime)}.card:nth-child(3){border-color:var(--lime);box-shadow:6px 6px 0 var(--pink)}.card h3{font-family:var(--display);color:var(--cyan);margin:0 0 .6rem;font-size:1.4rem;font-weight:400}.card:nth-child(2) h3{color:var(--pink)}.card:nth-child(3) h3{color:var(--lime)}.card p{margin:0 0 .6rem}.card .names{font-family:var(--marker);color:var(--lime);font-size:1.15rem}.rsvp-box{background:var(--leo);border:4px solid var(--bg);box-shadow:0 0 0 4px var(--cyan), 10px 10px 0 4px var(--purple);padding:14px}.rsvp-inner{background:var(--paper);color:#1a0b24;padding:clamp(1.2rem,4vw,2.4rem)}.rsvp-inner h2{color:var(--purple);text-shadow:3px 3px 0 var(--lime)}.rules-title{font-family:var(--display);margin:1.6rem 0 .6rem;font-size:1.15rem;font-weight:400}.rules-intro{margin:0 0 .6rem}.rules{margin:0 0 1.4rem;padding-left:1.3rem}.rules li{margin-bottom:.45rem}label,legend{margin-bottom:.35rem;font-weight:700;display:block}fieldset{border:0;margin:0 0 1.2rem;padding:0}input[type=text]{width:100%;font:inherit;background:#fff;border:3px solid #1a0b24;border-radius:0;padding:.8rem 1rem;font-size:1.05rem}.choices{grid-template-columns:repeat(auto-fit,minmax(10rem,1fr));gap:.6rem;display:grid}.choice{margin:0;position:relative}.choice input{opacity:0;cursor:pointer;position:absolute;inset:0}.choice span{text-align:center;background:#fff;border:3px solid #1a0b24;padding:.8rem;font-weight:700;transition:background .1s;display:block}.choice input:checked+span{background:var(--lime);box-shadow:4px 4px 0 var(--pink)}.choice input:focus-visible+span{outline:3px solid var(--purple);outline-offset:2px}.sign-wrap{position:relative}#sig{border:3px dashed var(--purple);touch-action:none;cursor:crosshair;background:#fff;width:100%;height:11rem;display:block}.sig-hint{pointer-events:none;font-family:var(--marker);color:#b9a6c9;place-items:center;font-size:1.4rem;display:grid;position:absolute;inset:0}.sign-wrap.signed .sig-hint{display:none}.sig-tools{justify-content:space-between;align-items:center;gap:1rem;margin-top:.4rem;font-size:.9rem;display:flex}.link-btn{font:inherit;cursor:pointer;color:var(--purple);background:0 0;border:0;font-weight:700;text-decoration:underline}.submit-row{margin-top:1.4rem}.submit-row .btn{background:var(--pink);color:#fff;width:100%;box-shadow:5px 5px 0 var(--bg)}.submit-row .btn:hover:not(:disabled){box-shadow:3px 3px 0 var(--bg)}.submit-row .btn:disabled{color:#7d6d88;background:#cdbfd6}.status{min-height:1.5rem;margin-top:.8rem;font-weight:700}.status.err{color:#c0002a}.hidden{display:none!important}.done{text-align:center;padding:2rem 0}.done h3{font-family:var(--display);color:var(--purple);margin:0 0 .5rem;font-size:clamp(1.6rem,6vw,2.4rem);font-weight:400}.done p{font-family:var(--marker);margin:0;font-size:1.3rem}footer{text-align:center;font-family:var(--marker);color:var(--cyan);padding:1.5rem 1rem 3rem}@media (prefers-reduced-motion:reduce){*,:before,:after{transition:none!important;animation:none!important}html{scroll-behavior:auto}}
