:root{--purple:#47039a;--purple-dark:#220265;--green:#01df01;--bg:#15013d;--surface:#220265;--line:#3d0490;--text:#f6f2ff;--muted:#c3b0ec;--on-green:#0e0030;--display:"Big Shoulders Display", "Arial Narrow", system-ui, sans-serif;--body:Archivo, system-ui, sans-serif;--out:cubic-bezier(.16, 1, .3, 1)}*{box-sizing:border-box}body{background:var(--bg);color:var(--text);font-family:var(--body);-webkit-font-smoothing:antialiased;margin:0;line-height:1.65}a{color:var(--green);text-underline-offset:3px}:focus-visible{outline:2px solid var(--green);outline-offset:3px}.hero{background:radial-gradient(120% 90% at 78% 8%, #01df0129, transparent 60%), linear-gradient(115deg, var(--purple) 0 47%, var(--purple-dark) 47% 100%);border-bottom:4px solid var(--green);text-align:center;padding:clamp(2.5rem,7vw,4.5rem) 1.25rem clamp(2rem,5vw,3rem)}.spin{place-items:center;padding:22px;display:inline-grid;position:relative}.spin:before,.spin:after{content:"";border-radius:50%;animation:22s linear infinite spin;position:absolute;inset:0}.spin:before{border:2px dashed #01df0199}.spin:after{border:1px solid #ffffff47;animation-duration:14s;animation-direction:reverse;inset:12px}.spin img{width:clamp(120px,30vw,168px);height:auto;display:block}@keyframes spin{to{transform:rotate(1turn)}}.hero h1{font-family:var(--display);letter-spacing:-.01em;text-transform:uppercase;text-wrap:balance;margin:1.25rem 0 0;font-size:clamp(2.4rem,9vw,5rem);font-weight:800;line-height:.92}.hero p{font-family:var(--display);letter-spacing:.02em;text-transform:uppercase;color:#e2d6ff;margin:.4rem 0 0;font-size:clamp(1rem,2.6vw,1.35rem);font-weight:500}main{max-width:900px;margin:0 auto;padding:clamp(2rem,6vw,3.5rem) 1.25rem 3rem}section+section{margin-top:clamp(2.5rem,8vw,4.5rem)}h2{font-family:var(--display);letter-spacing:-.01em;text-transform:uppercase;margin:0 0 1.25rem;font-size:clamp(1.9rem,5.5vw,2.9rem);font-weight:800;line-height:1}h2:after{content:"";background:var(--green);width:3.5rem;height:5px;margin-top:.6rem;display:block}.about{gap:clamp(1.5rem,4vw,2.5rem);display:grid}@media (width>=760px){.about{grid-template-columns:1.45fr 1fr;align-items:start}}.about p{text-wrap:pretty;max-width:68ch;margin:0 0 1rem}.motto{font-family:var(--display);letter-spacing:-.02em;text-transform:uppercase;color:var(--green);margin:0 0 1rem;font-size:clamp(2rem,8vw,5.5rem);font-weight:900;line-height:.85}@supports (-webkit-text-stroke:2px currentColor){.motto{-webkit-text-stroke:2px var(--green);color:#0000}}.when{border-top:1px solid var(--line);color:var(--muted);padding-top:.9rem;font-size:.95rem}.when b{color:var(--text);font-family:var(--display);letter-spacing:.02em;font-size:1.15rem}.filters{flex-wrap:wrap;gap:.5rem;margin-bottom:1.5rem;display:flex}.filters input{flex:100%}.filters button{flex:1 1 0}@media (width>=560px){.filters input{flex:13rem}.filters button{flex:none}}.ev{border-top:1px solid var(--line);transition:background .22s var(--out), transform .22s var(--out);grid-template-columns:auto 1fr;align-items:center;gap:clamp(1rem,3vw,1.75rem);padding:1.15rem .75rem;display:grid}.ev:last-child{border-bottom:1px solid var(--line)}@media (hover:hover){.ev:hover{background:#3d049059;transform:translate(4px)}.ev.ev-big:hover{background:#01df0114;transform:translate(4px)}}.date{font-family:var(--display);text-align:center;border-right:1px solid var(--line);min-width:4.25rem;padding-right:clamp(1rem,3vw,1.75rem);line-height:1}.date .wd,.date .mon{letter-spacing:.12em;text-transform:uppercase;color:var(--green);font-size:.85rem;font-weight:600;display:block}.date .day{margin:.1rem 0;font-size:2.6rem;font-weight:800;display:block}.date .mon{color:var(--muted)}.ev h3{font-family:var(--display);letter-spacing:-.005em;text-transform:uppercase;margin:0;font-size:clamp(1.35rem,3.6vw,1.85rem);font-weight:800;line-height:1.05}.ev time{display:none}.place{color:var(--muted);margin:.15rem 0 0;font-size:.95rem}.place b{color:var(--text);font-weight:600}.ev-actions{flex-wrap:wrap;gap:.25rem 1.25rem;margin-top:.35rem;display:flex}.bracket,button.ics{min-height:44px;font-family:var(--display);letter-spacing:.04em;text-transform:uppercase;border:none;border-bottom:2px solid var(--green);cursor:pointer;background:0 0;border-radius:0;align-items:center;padding:0;font-size:1.05rem;font-weight:700;text-decoration:none;display:inline-flex}button.ics{color:var(--muted);border-bottom-color:var(--line)}.ev-logo{object-fit:contain;border-radius:8px;width:60px;height:60px}.ev.ev-big{border:2px solid var(--green);border-radius:12px;margin:.75rem 0;padding:1.35rem 1.15rem}.badge{font-family:var(--body);letter-spacing:.08em;text-transform:uppercase;background:var(--green);color:var(--on-green);vertical-align:middle;border-radius:999px;margin-left:.6rem;padding:.15rem .5rem;font-size:.68rem;font-weight:700;display:inline-block}form{gap:.7rem;max-width:26rem;display:grid}input,button{font:inherit;border:1px solid var(--line);color:var(--text);background:#1b0250;border-radius:8px;padding:.6rem .75rem}input::placeholder{color:#9c8bcb}button{font-family:var(--display);letter-spacing:.04em;text-transform:uppercase;background:var(--green);border-color:var(--green);color:var(--on-green);cursor:pointer;transition:background .18s var(--out), transform .18s var(--out);font-size:1.15rem;font-weight:800}@media (hover:hover){button:hover{background:#0bf00b;transform:translateY(-1px)}button.tab:hover{color:var(--text);background:#3d049080}button.link:hover{background:0 0;transform:none}button.ics:hover{color:var(--text);border-bottom-color:var(--green);background:0 0}.cta:hover{background:#0bf00b;transform:translateY(-2px)}.cta.ghost:hover{background:#01df0124}}button:active,.cta:active{transform:scale(.98)}button.ics:active{color:var(--green);transform:none}button.tab{border-color:var(--line);color:var(--muted);background:0 0;font-size:1.05rem}button.tab.on{background:var(--green);border-color:var(--green);color:var(--on-green)}button.link{font-family:var(--body);letter-spacing:0;text-transform:none;color:var(--green);background:0 0;border:none;padding:0;font-size:.9rem;font-weight:400;text-decoration:underline}label.field{color:var(--muted);gap:.3rem;font-size:.9rem;display:grid}label.field input{width:100%}label.check{color:var(--muted);align-items:start;gap:.5rem;font-size:.85rem;line-height:1.35;display:flex}label.check input{flex:none;width:auto;margin:.2rem 0 0}.msg{color:var(--muted);font-size:.95rem}.err{color:#ff9d9d;font-size:.95rem}footer{background:var(--purple-dark);border-top:4px solid var(--green);text-align:center;color:var(--muted);padding:2rem 1.25rem 3rem;font-size:.9rem}footer img{opacity:.9;width:52px;height:52px}footer p{margin:.5rem 0 0}footer a{padding:.7rem .5rem;display:inline-block}footer .name{font-family:var(--display);letter-spacing:.06em;text-transform:uppercase;color:var(--text);font-size:1.1rem;font-weight:700}@media (prefers-reduced-motion:reduce){*{animation-duration:.01ms!important;animation-iteration-count:1!important}.ev,button,.spin:before,.spin:after{transition:none}.ev:hover,.ev-big:hover,button:hover,button:active,.cta:active{transform:none}}.join p{max-width:60ch;margin:0 0 1.25rem}.join-links{flex-wrap:wrap;gap:.75rem;display:flex}.cta{font-family:var(--display);letter-spacing:.04em;text-transform:uppercase;border:2px solid var(--green);background:var(--green);color:var(--on-green);transition:background .18s var(--out), transform .18s var(--out);border-radius:8px;padding:.65rem 1.4rem;font-size:1.2rem;font-weight:800;text-decoration:none}.cta.ghost{color:var(--green);background:0 0}.lede{font-family:var(--display);letter-spacing:.01em;text-wrap:balance;margin:0 0 .75rem;font-size:clamp(1.4rem,3.6vw,2rem);font-weight:700;line-height:1.15}.ev-admin{gap:.25rem;margin-left:auto;display:flex}.icon{width:44px;height:44px;color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:999px;place-items:center;padding:0;display:grid}.icon svg{fill:none;stroke:currentColor;stroke-width:1.8px;stroke-linecap:round;stroke-linejoin:round;width:18px;height:18px}@media (hover:hover){.icon:hover{color:var(--green);background:var(--line)}}.ev-hidden{opacity:.55}.ev-hidden .date,.ev-hidden h3{text-decoration:line-through}.badge-off{background:var(--line);color:var(--text)}
