:root{--pink:#ff2d78;--yellow:#ffe000;--cyan:#00f5ff;--amber:#ffa62b;--green:#1db954;--bg:#07060c;--panel:#0d0b16;--field:#050409;--ink:#efeaf6;--dim:#8b85a0;--line:#ffffff1a;--accent:var(--pink);--scan:.4;--font-arcade:"Press Start 2P", monospace;--font-body:"Archivo", system-ui, -apple-system, sans-serif;--s1:6px;--s2:10px;--s3:16px;--s4:22px;--s5:32px;--s6:48px;--r:12px;--r-sm:8px;--form-col:380px}*{box-sizing:border-box;margin:0;padding:0}html,body{background:var(--bg);color:var(--ink);font-family:var(--font-body);-webkit-font-smoothing:antialiased;font-size:16px;line-height:1.6}body{min-height:100vh;position:relative;overflow-x:hidden}body:before{content:"";z-index:0;pointer-events:none;background:radial-gradient(60% 45% at 18% 8%, color-mix(in srgb, var(--accent) 26%, transparent), transparent 70%), radial-gradient(55% 40% at 85% 4%, #00f5ff29, transparent 70%), radial-gradient(70% 60% at 50% 120%, #ffe0001a, transparent 70%);position:fixed;inset:0}body:after{content:"";z-index:999;pointer-events:none;background:radial-gradient(120% 120%,#0000 55%,#0000008c 100%);position:fixed;inset:0}.arcade{font-family:var(--font-arcade);line-height:1.45}.glow-cyan{color:var(--cyan);text-shadow:0 0 8px color-mix(in srgb, var(--cyan) 70%, transparent), 0 0 22px color-mix(in srgb, var(--cyan) 45%, transparent)}.glow-accent{color:var(--accent);text-shadow:0 0 8px color-mix(in srgb, var(--accent) 70%, transparent), 0 0 22px color-mix(in srgb, var(--accent) 45%, transparent)}.stage{z-index:1;max-width:560px;padding:clamp(32px, 5vw, 56px) clamp(18px, 4vw, 28px) var(--s6);gap:var(--s6);flex-direction:column;margin:0 auto;display:flex;position:relative}.hero{text-align:center}.hero .q{font-size:clamp(18px,5vw,30px);line-height:1.6;animation:5.5s infinite flicker;display:inline-block;position:relative}.hero .q:after{content:"";pointer-events:none;background:repeating-linear-gradient(to bottom, transparent 0 2px, rgba(0,0,0,var(--scan)) 2px 3px);mix-blend-mode:multiply;position:absolute;inset:0}body.no-flicker .hero .q{animation:none}@keyframes flicker{0%,18%,21%,23%,55%,57%,to{opacity:1}19%,22%,56%{opacity:.35}}.hero .sub{margin-top:var(--s3);color:var(--dim);letter-spacing:2.5px;text-transform:uppercase;font-size:12px;font-weight:600}.dmd-group{gap:var(--s3);flex-direction:column;display:flex}.dmd{border-radius:var(--r);padding:var(--s5) var(--s4);text-align:center;background:#1a0f04;border:2px solid #3a2a12;position:relative;overflow:hidden;box-shadow:0 0 40px #ffa62b38,inset 0 0 50px #000000b3}.dmd:after{content:"";pointer-events:none;background-image:radial-gradient(circle,#0000008c 1px,#0000 1.6px);background-size:4px 4px;position:absolute;inset:0}.dmd .date{font-family:var(--font-arcade);color:var(--amber);text-shadow:0 0 10px #ffa62bcc,0 0 26px #ffa62b66;letter-spacing:1px;font-size:clamp(20px,7vw,38px);line-height:1.4}.dmd .time{margin-top:var(--s3);font-family:var(--font-arcade);color:color-mix(in srgb, var(--amber) 78%, #fff 6%);text-shadow:0 0 8px #ffa62b8c;font-size:clamp(11px,3.4vw,15px)}.after{text-align:center;color:var(--dim);letter-spacing:.3px;font-size:13px}.after strong{color:var(--amber);font-weight:700}.countdown{text-align:center}.countdown .big{font-family:var(--font-arcade);letter-spacing:1px;font-size:clamp(15px,4.6vw,24px)}.ticker{margin-top:var(--s4);justify-content:center;gap:var(--s2);display:flex}.cell{background:var(--panel);border:1px solid color-mix(in srgb, var(--cyan) 30%, transparent);border-radius:var(--r-sm);padding:var(--s2) var(--s1) var(--s1);min-width:64px}.cell .num{font-family:var(--font-arcade);color:var(--cyan);text-shadow:0 0 10px #00f5ff8c;font-size:clamp(16px,4.6vw,22px)}.cell .lab{margin-top:var(--s2);letter-spacing:1.5px;color:var(--dim);text-transform:uppercase;font-size:10px;font-weight:600}.pcount{justify-content:center;align-items:center;gap:var(--s3);flex-wrap:wrap;display:flex}.pcount-lab,.pcount-up{font-family:var(--font-arcade);letter-spacing:1.5px;color:var(--dim);font-size:clamp(9px,2.6vw,12px)}.pcount-reel{gap:var(--s1);display:flex}.pcount-digit{font-family:var(--font-arcade);color:var(--yellow);text-shadow:0 0 10px color-mix(in srgb, var(--yellow) 70%, transparent), 0 0 26px color-mix(in srgb, var(--yellow) 40%, transparent);background:var(--field);border:1px solid color-mix(in srgb, var(--yellow) 30%, transparent);border-radius:var(--r-sm);text-align:center;min-width:.9em;padding:6px 10px 4px;font-size:clamp(22px,7vw,38px);line-height:1}.btn{font-family:var(--font-body);letter-spacing:1.5px;text-transform:uppercase;justify-content:center;align-items:center;gap:var(--s2);width:100%;max-width:var(--form-col);border-radius:var(--r-sm);cursor:pointer;color:#120a06;background:var(--yellow);box-shadow:0 4px 0 #0008, 0 0 24px color-mix(in srgb, var(--yellow) 40%, transparent);border:2px solid #000;margin-inline:auto;padding:15px 18px;font-size:14px;font-weight:700;text-decoration:none;transition:transform 80ms,box-shadow 80ms,filter .15s;display:flex}.btn:active{transform:translateY(4px);box-shadow:0 0 #0008}.btn:hover{filter:brightness(1.08)}.btn.accent{background:var(--accent);color:#fff;box-shadow:0 4px 0 #0008, 0 0 24px color-mix(in srgb, var(--accent) 45%, transparent)}.btn.cyan{background:var(--cyan);color:#042024}.btn.spotify{background:var(--green);color:#03130a;box-shadow:0 4px #0008,0 0 24px #1db95466}.btn.ghost{color:var(--dim);border-color:color-mix(in srgb, var(--dim) 50%, transparent);box-shadow:none;background:0 0;font-size:13px}.btn.ghost:hover{color:var(--ink);border-color:var(--ink);filter:none}.btn.ghost.danger{color:color-mix(in srgb, var(--pink) 85%, #fff);border-color:color-mix(in srgb, var(--pink) 45%, transparent)}.btn.ghost.danger:hover{color:var(--pink);border-color:var(--pink)}.btn:disabled{opacity:.4;cursor:not-allowed;filter:none;transform:none}.card{background:var(--panel);border:1px solid var(--line);border-radius:var(--r);padding:var(--s5) var(--s4);gap:var(--s4);flex-direction:column;display:flex}.card>*{width:100%;max-width:var(--form-col);margin-inline:auto}.card.rsvp{border-color:color-mix(in srgb, var(--accent) 35%, transparent)}.card.login{text-align:center}.card.login h2{font-size:clamp(14px,4vw,19px);line-height:1.4}.card.login .subnote{color:var(--dim);font-size:14px;line-height:1.6}.card.login .field>label,.card.login input[type=text],.card.login .hint{text-align:center}.loggedin{justify-content:space-between;align-items:center;gap:var(--s3);color:var(--dim);font-size:14px;display:flex}.loggedin strong{color:var(--ink)}.logout{cursor:pointer;font-family:var(--font-body);letter-spacing:1px;text-transform:uppercase;color:var(--dim);background:0 0;border:none;padding:4px;font-size:12px;font-weight:600;transition:color .15s}.logout:hover{color:var(--pink)}.ask{text-align:center;color:var(--ink);font-size:16px;line-height:1.5}.ask strong{color:var(--amber);white-space:nowrap;font-weight:700}.choices{gap:var(--s2);grid-template-columns:repeat(3,1fr);display:grid}.choice{font-family:var(--font-arcade);letter-spacing:1px;border-radius:var(--r-sm);cursor:pointer;color:var(--dim);background:#050409;border:2px solid #ffffff1f;padding:18px 6px;font-size:clamp(11px,3vw,14px);transition:transform 80ms,border-color .15s,color .15s,background .15s,box-shadow .15s}.choice:hover{color:var(--ink);border-color:#ffffff4d}.choice:active{transform:translateY(2px)}.choice.yes.on{color:#03130a;background:#1db954;border-color:#1db954;box-shadow:0 0 22px #1db95473}.choice.maybe.on{color:#1a1404;background:#ffe000;border-color:#ffe000;box-shadow:0 0 22px #ffe00066}.choice.no.on{color:#fff;background:#ff2d78;border-color:#ff2d78;box-shadow:0 0 22px #ff2d7866}.field{gap:var(--s2);flex-direction:column;display:flex}.field>label{letter-spacing:1.5px;text-transform:uppercase;color:var(--dim);font-size:11px;font-weight:600;line-height:1.5}.field input[type=text]{background:var(--field);border-radius:var(--r-sm);width:100%;color:var(--ink);font-family:var(--font-body);border:1px solid #ffffff1f;outline:none;padding:13px 14px;font-size:16px;transition:border-color .15s,box-shadow .15s}.field input::placeholder{color:#4f495f}.field input:focus{border-color:var(--accent);box-shadow:0 0 0 3px color-mix(in srgb, var(--accent) 22%, transparent)}.pin{gap:var(--s2);justify-content:center;align-items:center;display:flex}.pin input{aspect-ratio:1;text-align:center;background:var(--field);border-radius:var(--r-sm);max-width:64px;color:var(--cyan);font-family:var(--font-arcade);caret-color:var(--cyan);border:1px solid #ffffff24;outline:none;flex:1;font-size:clamp(16px,5vw,20px);transition:border-color .15s,box-shadow .15s}.pin input:focus{border-color:var(--cyan);text-shadow:0 0 10px #00f5ff99;box-shadow:0 0 0 3px #00f5ff38}.hint{margin-top:var(--s1);color:var(--cyan);text-shadow:0 0 8px #00f5ff66;font-size:13px}.forgot-pin{cursor:pointer;font-family:var(--font-body);letter-spacing:1px;text-transform:uppercase;color:var(--dim);text-align:center;background:0 0;border:none;padding:4px 0;font-size:12px;font-weight:600;transition:color .15s}.forgot-pin:hover:not(:disabled){color:var(--cyan)}.forgot-pin:disabled{opacity:.4;cursor:not-allowed}.check{align-items:center;gap:var(--s3);cursor:pointer;-webkit-user-select:none;user-select:none;display:flex}.check input{opacity:0;pointer-events:none;position:absolute}.box{border:2px solid color-mix(in srgb, var(--yellow) 60%, transparent);border-radius:var(--r-sm);width:28px;height:28px;color:var(--yellow);flex:none;place-items:center;font-size:14px;font-weight:700;transition:background .12s;display:grid}.check input:checked+.box{background:color-mix(in srgb, var(--yellow) 22%, transparent);box-shadow:0 0 12px color-mix(in srgb, var(--yellow) 40%, transparent)}.check .ctext{font-size:15px;font-weight:600}.check .ctext small{color:var(--dim);margin-top:2px;font-size:13px;font-weight:400;display:block}.msg{letter-spacing:.3px;border-radius:var(--r-sm);border:1px solid;padding:13px 14px;font-size:14px;font-weight:600;line-height:1.55;animation:.3s both popin}@keyframes popin{0%{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:none}}.msg.success{color:var(--green);border-color:color-mix(in srgb, var(--green) 55%, transparent);background:#1db95414}.msg.info{color:var(--cyan);border-color:color-mix(in srgb, var(--cyan) 50%, transparent);background:#00f5ff12}.msg.error{color:var(--pink);border-color:color-mix(in srgb, var(--pink) 55%, transparent);background:#ff2d7814}.subscribe{gap:var(--s4);flex-direction:column;display:flex}.subcard{border-color:color-mix(in srgb, var(--cyan) 30%, transparent)}.subnote{color:var(--dim);font-size:14px;line-height:1.6}.feedrow{gap:var(--s2);align-items:stretch;display:flex}.feed{background:var(--field);border-radius:var(--r-sm);min-width:0;color:var(--cyan);white-space:nowrap;border:1px solid #ffffff1f;flex:1;align-items:center;padding:11px 12px;font-family:ui-monospace,monospace;font-size:13px;display:flex;overflow-x:auto}.feedcopy{flex:none;width:auto;padding:0 16px}.subbtns{gap:var(--s2);flex-direction:column;display:flex}.songs{text-align:center;gap:var(--s3);flex-direction:column;display:flex}.songs h2{font-family:var(--font-arcade);font-size:clamp(13px,3.6vw,17px);line-height:1.4}.songs p{color:var(--dim);max-width:420px;margin-inline:auto;font-size:14px}.songs .btn{max-width:var(--form-col);margin-inline:auto}.location-badge{justify-content:center;align-items:flex-start;gap:var(--s2);letter-spacing:1px;color:var(--cyan);text-shadow:0 0 8px #00e5ff66;border:1px solid color-mix(in srgb, var(--cyan) 30%, transparent);border-radius:var(--r-sm);padding:10px var(--s4);background:#00e5ff0f;font-size:12px;font-weight:700;animation:.3s both popin;display:flex}.location-icon{margin-top:1px;font-style:normal}.location-text{flex-direction:column;align-items:flex-start;gap:2px;display:flex}.location-name{display:block}.location-address{color:var(--cyan);text-underline-offset:2px;opacity:.8;text-decoration:underline;display:block}.location-address:hover{opacity:1}.foot{text-align:center;color:var(--dim);border-top:1px solid var(--line);padding-top:var(--s5);font-size:13px;line-height:1.9}.foot .lock{letter-spacing:1px}@media (width<=380px){.cell{flex:1;min-width:0}.ticker{gap:var(--s1)}}.forgot{margin-top:var(--s2)}.forgot-toggle{cursor:pointer;letter-spacing:1px;text-transform:uppercase;color:var(--dim);background:0 0;border:none;padding:0;font-size:11px;font-weight:600;transition:color .15s}.forgot-toggle:hover{color:var(--ink)}.forgot-toggle.is-open{color:color-mix(in srgb, var(--pink) 80%, #fff)}.forgot-form{margin-top:var(--s2);gap:var(--s2);flex-wrap:wrap;align-items:center;display:flex}.forgot-form input{background:var(--field);border-radius:var(--r-sm);min-width:100px;color:var(--ink);font-family:var(--font-body);border:1px solid #ffffff1a;outline:none;flex:1;padding:10px 12px;font-size:15px;transition:border-color .15s}.forgot-form input:focus{border-color:var(--amber)}.forgot-form input::placeholder{color:#4f495f}.forgot-btn{flex:none;width:auto;padding:10px 14px;font-size:11px}.forgot-result{width:100%;font-family:var(--font-arcade);letter-spacing:5px;color:var(--amber);text-shadow:0 0 8px #ffa62b8c;font-size:15px}.forgot-result.not-found{font-family:var(--font-body);letter-spacing:1px;color:var(--dim);text-shadow:none;font-size:12px}
