:root { --void:#0d0b1a; --night:#151227; --panel:#201b3b; --signal:#a987ff; --wave:#69e0ff; --paper:#f3f1ff; --mist:#b9b3d1; --line:rgba(243,241,255,.16); --display:Impact,Haettenschweiler,"Arial Narrow Bold",sans-serif; --body:Inter,ui-sans-serif,system-ui,sans-serif; }
* { box-sizing:border-box; } body { margin:0; min-width:320px; background:var(--void); color:var(--paper); font:16px/1.55 var(--body); } button,input { font:inherit; } button { cursor:pointer; } .skip-link { position:fixed; top:-4rem; left:1rem; z-index:10; padding:.6rem 1rem; color:var(--void); background:var(--wave); } .skip-link:focus { top:1rem; } .app-header { display:flex; justify-content:space-between; align-items:center; padding:1.25rem clamp(1.25rem,5vw,5rem); background:var(--night); border-bottom:1px solid var(--line); } .brand img { display:block; width:145px; } .back-link { color:var(--wave); font-size:.82rem; font-weight:800; text-decoration:none; text-transform:uppercase; letter-spacing:.06em; } main { max-width:1280px; margin:0 auto; padding:clamp(2rem,6vw,5rem) clamp(1.25rem,5vw,5rem); } .eyebrow { margin:0 0:.6rem; color:var(--wave); font-size:.72rem; font-weight:800; letter-spacing:.12em; } h1,h2,h3,p { margin-top:0; } h1,h2 { font-family:var(--display); font-weight:400; letter-spacing:-.03em; text-transform:uppercase; line-height:.88; } h1 { font-size:clamp(3.8rem,8vw,7rem); } h2 { font-size:clamp(2.2rem,4vw,4rem); } .intro,.section-title p,.role { color:var(--mist); } .intro { max-width:550px; font-size:1.05rem; } .auth-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1rem; max-width:860px; margin-top:2.5rem; } .panel,.card { padding:1.4rem; background:var(--panel); border:1px solid var(--line); } .panel h2 { font-size:2.3rem; } label { display:grid; gap:.35rem; margin:1rem 0; color:var(--mist); font-size:.82rem; font-weight:700; } input,select { width:100%; padding:.7rem .8rem; border:1px solid var(--line); border-radius:0; color:var(--paper); background:var(--night); } .button { display:inline-flex; justify-content:center; align-items:center; min-height:2.9rem; padding:.7rem 1rem; border:0; color:var(--void); background:var(--wave); font-size:.78rem; font-weight:800; text-transform:uppercase; letter-spacing:.07em; } .button-quiet { border:1px solid var(--line); color:var(--paper); background:transparent; } .status { min-height:1.5rem; color:var(--wave); } .captcha { min-height:200px; overflow:visible; } .captcha iframe { height:200px !important; min-height:200px; } .account-bar { display:flex; justify-content:space-between; gap:1rem; align-items:end; padding-bottom:2rem; border-bottom:1px solid var(--line); } .account-bar h1 { margin-bottom:.25rem; } .tabs { display:flex; flex-wrap:wrap; gap:.45rem; margin:2rem 0; } .tab { padding:.65rem .8rem; border:1px solid var(--line); color:var(--paper); background:transparent; font-size:.76rem; font-weight:800; text-transform:uppercase; } .tab.is-active { color:var(--void); border-color:var(--signal); background:var(--signal); } .section-title { display:flex; justify-content:space-between; gap:2rem; align-items:end; margin-bottom:1.2rem; } .section-title h2 { margin:0; } .section-title p { max-width:330px; margin:0; } .cards { display:grid; gap:.75rem; margin-bottom:3rem; } .card { display:grid; grid-template-columns:1fr auto; gap:1rem; align-items:start; } .card h3 { margin-bottom:.3rem; font-size:1.1rem; } .card p { margin-bottom:0; color:var(--mist); } .meta { color:var(--wave)!important; font-size:.75rem; font-weight:800; letter-spacing:.05em; text-transform:uppercase; } .card .button { min-height:2.35rem; } .entry-form { grid-column:1/-1; margin-top:.5rem; padding-top:.5rem; border-top:1px solid var(--line); } .entry-form[hidden] { display:none; } .entry-form label { margin:.6rem 0; } .venue-map { display:block; width:100%; max-width:900px; padding:1rem; background:var(--panel); border:1px solid var(--line); } .location-list { display:grid; grid-template-columns:repeat(auto-fit,minmax(190px,1fr)); gap:.75rem; margin-top:1rem; } .location { padding:1rem; background:var(--panel); border-left:3px solid var(--wave); } .location p { margin:0; color:var(--mist); } .checkin-form,.invitation-redeem-form { max-width:650px; margin-bottom:1.5rem; } button:focus-visible,input:focus-visible,select:focus-visible { outline:3px solid var(--wave); outline-offset:3px; }
@media (max-width:650px) { .auth-grid { grid-template-columns:1fr; } .account-bar,.section-title { align-items:start; flex-direction:column; } .card { grid-template-columns:1fr; } .card .button { width:100%; } }
.team-signup-fields { margin:1rem 0; padding:0 1rem 1rem; border:1px solid var(--line); } .team-signup-fields legend { padding:0 .35rem; color:var(--wave); font-size:.78rem; font-weight:800; letter-spacing:.06em; text-transform:uppercase; } .team-signup-fields[hidden], .invitation-accept-form[hidden] { display:none; } .invitation-accept-form { max-width:420px; margin-top:1rem; } .team-section { margin-top:2.5rem; } .team-section > h3 { margin-bottom:.8rem; } .team-roster { margin:.8rem 0 0; padding-left:1.2rem; color:var(--mist); } .team-roster li + li { margin-top:.3rem; } .team-section .entry-form { grid-column:auto; width:100%; }
