@import"https://fonts.googleapis.com/css2?family=Press+Start+2P&family=VT323&display=swap";:root{--bg: #090909;--surface: #141414;--surface-raised: #1d1d1d;--text: #f5f5f5;--muted: #b7b7b7;--line: #ffffff;--line-soft: #9f9f9f;--shadow: #000000;--pixel-border: 2px}*{box-sizing:border-box;margin:0;padding:0}html,body,#root{min-height:100%}body{background-color:var(--bg);background-image:radial-gradient(circle at 18% 12%,rgba(255,255,255,.12) 0,transparent 35%),radial-gradient(circle at 82% 2%,rgba(255,255,255,.08) 0,transparent 30%),linear-gradient(180deg,#0a0a0a,#050505);color:var(--text);font-family:VT323,Courier New,monospace;line-height:1.45;position:relative}body:before{content:"";position:fixed;inset:0;pointer-events:none;background-image:linear-gradient(rgba(255,255,255,.04) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.04) 1px,transparent 1px);background-size:20px 20px;opacity:.25;z-index:0}#root{position:relative;z-index:1}a{color:inherit;text-decoration:none}p{font-size:1.3rem}.page-shell{width:min(1080px,calc(100% - 2rem));margin:1.5rem auto 2.5rem;display:grid;gap:1rem}.page-shell-narrow{width:min(720px,calc(100% - 2rem))}.pixel-panel{border:var(--pixel-border) solid var(--line);background:linear-gradient(180deg,var(--surface-raised) 0%,var(--surface) 100%);box-shadow:0 0 0 var(--pixel-border) var(--shadow),6px 6px #000c;padding:1rem;display:grid;gap:.85rem}.pixel-title,.section-title{font-family:"Press Start 2P",Courier New,monospace;line-height:1.45;letter-spacing:.06em;text-transform:uppercase}.pixel-title{font-size:clamp(.8rem,2vw,1.2rem)}.section-title{font-size:clamp(.7rem,1.8vw,1rem)}.eyebrow{font-family:"Press Start 2P",Courier New,monospace;font-size:.58rem;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}.subtitle{color:var(--muted);max-width:72ch}.pixel-ticker{overflow:hidden;border:var(--pixel-border) solid var(--line);background:#000;padding-block:.45rem}.pixel-ticker-track{display:flex;width:max-content;animation:ticker-scroll 18s linear infinite}.pixel-ticker-track span{white-space:nowrap;padding-inline:2rem;font-family:"Press Start 2P",Courier New,monospace;font-size:.52rem;letter-spacing:.11em;text-transform:uppercase}.top-nav{border:var(--pixel-border) solid var(--line-soft);background:#ffffff0a;padding:.38rem}.top-nav-list{list-style:none;display:flex;flex-wrap:wrap;gap:.45rem}.top-nav-link{display:inline-flex;align-items:center;border:var(--pixel-border) solid var(--line-soft);background:#0a0a0a;color:var(--text);font-family:"Press Start 2P",Courier New,monospace;font-size:.48rem;text-transform:uppercase;letter-spacing:.06em;padding:.4rem .6rem;transition:transform 80ms ease,border-color .1s ease,background .12s ease,color .12s ease}.top-nav-link:hover{transform:translate(-1px,-1px);border-color:var(--line)}.top-nav-link-active{border-color:var(--line);background:var(--line);color:#000}.events-grid{display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}.event-card{border:var(--pixel-border) solid var(--line-soft);background:#101010;padding:1rem;display:grid;gap:.75rem}.event-card h2{font-family:"Press Start 2P",Courier New,monospace;font-size:.72rem;line-height:1.5;text-transform:uppercase}.meta{border-top:1px dashed var(--line-soft);padding-top:.65rem;display:flex;justify-content:space-between;gap:.75rem;color:var(--muted)}.meta strong{color:var(--text);font-family:"Press Start 2P",Courier New,monospace;font-size:.5rem;letter-spacing:.08em;text-transform:uppercase}.ticket-form,.form-panel{display:grid;gap:.65rem}.admin-form{max-width:720px}.form-panel{max-width:520px;margin-inline:auto}label{display:grid;gap:.35rem;font-size:1.1rem;letter-spacing:.04em;text-transform:uppercase}input,select,textarea{width:100%;border:var(--pixel-border) solid var(--line);background:#050505;color:var(--text);font-family:inherit;font-size:1.15rem;padding:.55rem .65rem}textarea{min-height:120px;resize:vertical}input::placeholder{color:#7e7e7e}input:focus,select:focus,textarea:focus{outline:none;box-shadow:0 0 0 2px #000,0 0 0 4px var(--line)}.pixel-button{border:var(--pixel-border) solid var(--line);background:var(--line);color:#000;font-family:"Press Start 2P",Courier New,monospace;font-size:.56rem;text-transform:uppercase;letter-spacing:.05em;padding:.62rem .95rem;display:inline-flex;justify-content:center;align-items:center;text-decoration:none;cursor:pointer;box-shadow:3px 3px #000;transition:transform 80ms ease,box-shadow 80ms ease,background .12s ease,color .12s ease}.pixel-button:hover:not(:disabled){transform:translate(-1px,-1px);box-shadow:4px 4px #000}.pixel-button:active:not(:disabled){transform:translate(2px,2px);box-shadow:1px 1px #000}.pixel-button:disabled{opacity:.55;cursor:not-allowed}.pixel-button-ghost{background:transparent;color:var(--text)}.pixel-button-ghost:hover:not(:disabled){background:var(--line);color:#000}.pixel-button-danger{border-color:#ff6b6b;color:#ffb3b3}.pixel-button-danger:hover:not(:disabled){background:#ff6b6b;color:#190000}.button-icon{margin-right:.35rem}.ticket-form .pixel-button,.form-panel .pixel-button,.message-card .pixel-button{width:100%}.error-text{border:var(--pixel-border) solid var(--line);background:#ffffff1a;color:#fff;padding:.5rem .6rem;font-family:"Press Start 2P",Courier New,monospace;font-size:.5rem;line-height:1.55;text-transform:uppercase}.success-text{border:var(--pixel-border) solid var(--line);background:#ffffff2e;color:#fff;padding:.5rem .6rem;font-family:"Press Start 2P",Courier New,monospace;font-size:.5rem;line-height:1.55;text-transform:uppercase}.checkbox-row{display:flex;align-items:center;gap:.6rem}.checkbox-row label{margin:0}.checkbox-row input[type=checkbox]{width:auto}.message-card p{color:var(--muted)}.checkin-header{gap:.75rem}.header-actions{display:flex;flex-wrap:wrap;gap:.6rem}.checkin-card{gap:.75rem}.camera-note{border:var(--pixel-border) solid var(--line-soft);padding:.5rem .65rem;background:#ffffff0d;color:var(--muted)}.camera-controls{border:var(--pixel-border) solid var(--line-soft);padding:.6rem;background:#00000040;display:grid;gap:.5rem}.camera-controls-label{font-size:1.1rem;color:var(--muted);text-transform:uppercase}.camera-controls-row{display:flex;flex-wrap:wrap;gap:.6rem}.camera-controls-row select{flex:1 1 280px}.camera-controls-hint{font-size:1rem;color:var(--muted)}.camera-zoom-row{align-items:center}.camera-zoom-label{display:inline-flex;align-items:center;font-size:1rem;text-transform:uppercase;white-space:nowrap}.camera-zoom-row input[type=range]{flex:1 1 220px}.qr-upload-label{border:var(--pixel-border) solid var(--line);padding:.45rem .6rem;font-size:1rem;text-transform:uppercase;display:inline-flex;align-items:center;gap:.5rem;background:#ffffff0a}.qr-upload-label input[type=file]{max-width:220px;border:none;padding:0;background:transparent;font-size:.9rem}#scanner{width:100%;min-height:320px;border:var(--pixel-border) solid var(--line);background:#000;padding:.5rem}#scanner video{width:100%!important;border:1px solid #4a4a4a;transform:none}.scanner-front,.scanner-rear{position:relative;touch-action:manipulation}.scanner-front #scanner video{transform:scaleX(-1)}#scanner>div{border:none!important}.focus-marker{position:absolute;width:52px;height:52px;border:2px solid #fff;border-radius:999px;transform:translate(-50%,-50%);pointer-events:none;opacity:0;animation:focus-pulse .65s ease-out forwards}.scanner-file-scratch{display:none}.scan-result{border:var(--pixel-border) solid var(--line-soft);padding:.7rem;display:grid;gap:.4rem;background:#0000004d}.scan-result p{font-size:1.1rem}.pixel-panel p+p{margin-top:.25rem}.status-pill{border:var(--pixel-border) solid var(--line);padding:.52rem .68rem;font-family:"Press Start 2P",Courier New,monospace;font-size:.5rem;line-height:1.55;letter-spacing:.05em;text-transform:uppercase}.status-pill.neutral{background:#ffffff14}.status-pill.valid{background:#fff;color:#000}.status-pill.invalid{background:#000;color:#fff;border-style:dashed}.manual-form{display:flex;align-items:stretch;flex-wrap:wrap;gap:.6rem}.manual-form input{flex:1 1 220px}@keyframes ticker-scroll{0%{transform:translate(0)}to{transform:translate(-50%)}}@keyframes focus-pulse{0%{opacity:.95;transform:translate(-50%,-50%) scale(1.35)}to{opacity:0;transform:translate(-50%,-50%) scale(.9)}}@media(prefers-reduced-motion:reduce){.pixel-ticker-track{animation:none}}@media(max-width:760px){.page-shell,.page-shell-narrow{width:calc(100% - 1rem);margin:1rem auto 2rem}.pixel-panel{padding:.8rem}.meta{flex-direction:column;align-items:flex-start}.header-actions .pixel-button,.manual-form .pixel-button{width:100%}}.gallery-grid{display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}.gallery-media-frame{width:100%;aspect-ratio:4 / 3;border:var(--pixel-border) solid var(--line-soft);background:#000;overflow:hidden}.gallery-item img,.gallery-item video{width:100%;height:100%;object-fit:contain;object-position:center;display:block}.blog-posts{display:grid;gap:2rem}.blog-post{border:var(--pixel-border) solid var(--line-soft);padding:1rem;background:var(--surface)}.blog-title{font-family:"Press Start 2P",monospace;font-size:1rem;margin-bottom:.5rem}.blog-date{color:var(--muted);font-size:1rem;margin-bottom:1rem}.blog-content{line-height:1.6}.blog-content h1,.blog-content h2,.blog-content h3{font-family:"Press Start 2P",monospace;font-size:.85rem;margin:.8rem 0 .5rem}.blog-content p,.blog-content li,.blog-content blockquote{font-size:1.2rem}.blog-content ul{margin-left:1.2rem}.blog-content img{max-width:100%;height:auto;border:var(--pixel-border) solid var(--line-soft);margin:.7rem 0}.blog-content a{text-decoration:underline}.blog-content code{background:#000;border:1px solid var(--line-soft);padding:.05rem .3rem}.latest-post{border:var(--pixel-border) solid var(--line-soft);padding:1rem;background:var(--surface)}.latest-post h3{font-family:"Press Start 2P",monospace;font-size:1rem;margin-bottom:.5rem}.latest-post time{color:var(--muted);font-size:1rem;margin-bottom:1rem;display:block}.latest-post p{margin-bottom:1rem}.social-links-grid{display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}.social-link-card{border:var(--pixel-border) solid var(--line-soft);background:#101010;padding:1rem;display:grid;gap:.6rem;transition:transform 80ms ease,border-color .12s ease,background .12s ease}.social-link-card:hover{transform:translate(-1px,-1px);border-color:var(--line);background:#151515}.social-link-card h3{font-family:"Press Start 2P",monospace;font-size:.72rem;line-height:1.4;text-transform:uppercase}.social-link-card p{color:var(--muted)}.spotify-embed-shell{border:var(--pixel-border) solid var(--line-soft);background:#000;padding:.45rem}.spotify-embed{width:100%;min-height:352px;border:0}
