:root{--bg:#050507;--panel:#0a0a0e;--line:#1c1c24;--text:#e8e8ec;--dim:#6b6b78;--red:#ff2b2b;--red-soft:#ff6b5e;--red-blood:#c41414;--red-ember:#8a1010;--red-dim:#3d0d0d;--blue:#2e5bff;--blue-soft:#6d8cff;--mono:"SFMono-Regular","JetBrains Mono","Fira Code",Menlo,Consolas,monospace}*{margin:0;padding:0;box-sizing:border-box}html{scrollbar-color:var(--line) var(--bg)}body{background:var(--bg);color:var(--text);font-family:var(--mono);font-size:14px;line-height:1.6;-webkit-font-smoothing:antialiased}body:before{content:"";position:fixed;inset:0;pointer-events:none;background:repeating-linear-gradient(0deg,transparent,transparent 3px,hsla(0,0%,100%,.012) 0,hsla(0,0%,100%,.012) 4px);z-index:1000}a{color:inherit;text-decoration:none}.boot-overlay,.module,[role=button],a,button,input[type=submit]{cursor:url(/cursor-pin.png) 16 30,pointer}::selection{background:var(--red-blood);color:#fff}.wrap{max-width:960px;margin:0 auto;padding:0 20px}.backdrop{position:fixed;inset:0;z-index:-1;overflow:hidden;background:var(--bg)}.backdrop canvas,.backdrop video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:opacity .8s ease}.backdrop video{filter:brightness(.3) contrast(1.15) saturate(1.2)}.backdrop-still{position:absolute;inset:0;background:radial-gradient(ellipse at 20% 25%,rgba(255,43,43,.07),transparent 55%),radial-gradient(ellipse at 80% 40%,rgba(46,91,255,.06),transparent 55%),radial-gradient(ellipse at 50% 80%,rgba(255,107,94,.045),transparent 60%),var(--bg)}.visuals-toggle{position:fixed;bottom:14px;right:16px;z-index:50;background:rgba(10,10,14,.8);border:1px solid var(--line);color:var(--dim);font-family:var(--mono);font-size:9px;letter-spacing:.22em;padding:7px 12px;cursor:url(/cursor-pin.png) 16 30,pointer;transition:color .15s,border-color .15s}.visuals-toggle:hover{color:var(--text);border-color:var(--dim)}.backdrop-shade{position:absolute;inset:0;background:linear-gradient(180deg,rgba(5,5,7,.1),rgba(5,5,7,.3) 60%,rgba(5,5,7,.75))}.boot-overlay{position:fixed;inset:0;background:var(--bg);z-index:9999;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:34px;cursor:pointer;opacity:1;transition:opacity .6s ease}.boot-overlay.done{opacity:0;pointer-events:none}.boot-logo{font-size:clamp(30px,8vw,60px);font-weight:700;letter-spacing:.3em;white-space:pre}.boot-logo .locked{color:var(--text)}.boot-logo .loose{color:var(--red);animation:boot-flicker .4s steps(2) infinite}@keyframes boot-flicker{50%{opacity:.65}}.boot-log{min-height:96px;font-size:11px;letter-spacing:.12em;color:var(--dim);text-align:left;width:min(420px,84vw)}.boot-line{animation:boot-line-in .25s ease both;line-height:2}.boot-line:last-child{color:var(--red-soft)}@keyframes boot-line-in{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:none}}.boot-skip{position:absolute;bottom:26px;font-size:9px;letter-spacing:.3em;color:var(--dim);opacity:.6}.site-header{border-bottom:1px solid var(--line);position:-webkit-sticky;position:sticky;top:0;background:rgba(5,5,7,.92);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);z-index:100}.site-header .wrap{display:flex;align-items:center;justify-content:space-between;height:56px}.logo{font-weight:700;letter-spacing:.35em;font-size:15px}.logo .tick{color:var(--red)}.nav{display:flex;gap:22px;font-size:11px;letter-spacing:.18em;text-transform:uppercase}.nav a{color:var(--dim);transition:color .15s}.nav a.active,.nav a:hover{color:var(--text)}.nav a.signup-link{color:var(--red)}.nav a.signup-link:hover{color:var(--red-soft)}.hero{padding:72px 0 40px}.hero h1{font-size:clamp(34px,7vw,64px);letter-spacing:.28em;font-weight:700;line-height:1.1}.hero h1 .cursor{color:var(--red);animation:blink 1.1s steps(1) infinite}@keyframes blink{50%{opacity:0}}.hero p.sub{color:var(--dim);margin-top:14px;font-size:12px;letter-spacing:.12em;text-transform:uppercase}.modules{display:flex;flex-direction:column;border:1px solid var(--line);margin:32px 0 72px}.module{display:grid;grid-template-columns:48px 1fr auto;grid-gap:18px;gap:18px;align-items:center;padding:22px 20px;border-bottom:1px solid var(--line);background:rgba(10,10,14,.72);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);transition:background .15s,border-color .15s;position:relative}.module:last-child{border-bottom:none}.module:hover{background:rgba(14,14,21,.88)}.module:hover .module-arrow{color:var(--red);transform:translateX(4px)}.module-icon{color:var(--dim);transition:color .15s}.module-icon svg{width:24px;height:24px;display:block}.module:hover .module-icon{color:var(--red)}.module-title{font-size:15px;font-weight:700;letter-spacing:.22em;text-transform:uppercase}.module-desc{color:var(--dim);font-size:12px;margin-top:4px}.module-status{font-size:10px;letter-spacing:.14em;text-transform:uppercase;margin-top:8px}.module-arrow{color:var(--dim);font-size:16px;transition:color .15s,transform .15s}.status-live{color:var(--red)}.status-open{color:var(--blue-soft)}.status-dim{color:var(--dim)}.page{padding:56px 0 80px;min-height:60vh}.page-tag{color:var(--dim);font-size:11px;letter-spacing:.18em}.page h1{font-size:clamp(24px,4vw,38px);letter-spacing:.24em;margin:6px 0 32px;text-transform:uppercase}.page h1 .accent{color:var(--red)}.section-label{display:flex;align-items:center;gap:12px;font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:var(--dim);margin:40px 0 14px}.section-label:after{content:"";flex:1 1;height:1px;background:var(--line)}.section-label .dot{width:7px;height:7px;border-radius:50%}.dot-red{background:var(--red);box-shadow:0 0 8px var(--red)}.dot-blue{background:var(--blue);box-shadow:0 0 8px var(--blue)}.event-list{border:1px solid var(--line)}.event-row{display:grid;grid-template-columns:120px 1fr auto;grid-gap:18px;gap:18px;padding:18px 20px;border-bottom:1px solid var(--line);background:var(--panel);align-items:baseline}.event-row:last-child{border-bottom:none}.event-date{color:var(--blue-soft);font-size:12px;letter-spacing:.08em}.event-row.past .event-date{color:var(--dim)}.event-row.linked:hover{background:#0e0e15}.event-row.linked:hover .event-name{color:var(--red)}.event-name{font-weight:700;letter-spacing:.14em;text-transform:uppercase;font-size:13px}.event-venue{color:var(--dim);font-size:12px;margin-top:2px}.event-status{font-size:10px;letter-spacing:.14em;text-transform:uppercase}.empty-note{border:1px dashed var(--line);padding:24px 20px;color:var(--dim);font-size:12px}.form-panel{border:1px solid var(--line);background:var(--panel);padding:32px 28px;max-width:520px}.form-panel p.blurb{color:var(--dim);font-size:12px;margin-bottom:26px;line-height:1.7}.field{margin-bottom:20px}.field label{display:block;font-size:10px;letter-spacing:.2em;text-transform:uppercase;color:var(--dim);margin-bottom:8px}.field input{width:100%;background:var(--bg);border:1px solid var(--line);color:var(--text);font-family:var(--mono);font-size:13px;padding:12px 14px;outline:none;transition:border-color .15s}.field input:focus{border-color:var(--blue)}.btn{display:inline-block;background:var(--red-blood);color:#fff;border:none;font-family:var(--mono);font-size:12px;letter-spacing:.2em;text-transform:uppercase;padding:13px 28px;cursor:pointer;transition:background .15s}.btn:hover{background:var(--red)}.btn:disabled{background:var(--red-dim);color:var(--dim);cursor:not-allowed}.form-msg{margin-top:18px;font-size:12px;letter-spacing:.08em}.form-msg.ok{color:var(--blue-soft)}.form-msg.err{color:var(--red)}.op-presents{color:var(--dim);font-size:10px;letter-spacing:.3em}.op-title{font-size:clamp(48px,11vw,96px);letter-spacing:.22em;line-height:1;margin:10px 0 4px}.op-title .accent{color:var(--red)}.op-subtitle{color:var(--red-soft);font-size:13px;letter-spacing:.42em;margin-bottom:26px}.op-meta{display:flex;flex-wrap:wrap;gap:10px 26px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:14px 0;font-size:11px;letter-spacing:.14em;color:var(--dim)}.op-debrief{max-width:560px;margin:30px 0 8px;color:var(--text);font-size:13px;line-height:1.9}.lineup{border:1px solid var(--line);background:var(--panel)}.lineup-row{display:flex;justify-content:space-between;align-items:baseline;padding:15px 20px;border-bottom:1px solid var(--line)}.lineup-row:last-child{border-bottom:none}.lineup-name{font-weight:700;letter-spacing:.2em;text-transform:uppercase;font-size:14px}.lineup-role{color:var(--dim);font-size:10px;letter-spacing:.18em}.lineup-row.hl{background:linear-gradient(90deg,rgba(255,43,43,.08),transparent);border-left:2px solid var(--red)}.lineup-row.hl .lineup-name{color:var(--red)}.lineup-row.hl .lineup-role{color:var(--red-soft)}.gal-note{color:var(--dim);font-size:10px;letter-spacing:.2em;margin-bottom:14px}.gallery{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:10px;gap:10px}.gal-tile{position:relative;aspect-ratio:4/3;border:1px solid var(--line);background:var(--panel);overflow:hidden;cursor:url(/cursor-pin.png) 16 30,pointer}.gal-tile:nth-child(2n){aspect-ratio:1/1}.gal-media{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;filter:saturate(1.08) contrast(1.05)}.gal-tile.has-media .gal-scan{opacity:.45}.gal-tile.has-media:hover .gal-media{filter:saturate(1.2) contrast(1.1)}.gal-tile.has-media .gal-status{color:var(--blue-soft)}.gal-noise{position:absolute;inset:-50%;background:repeating-linear-gradient(0deg,transparent 0 2px,hsla(0,0%,100%,.025) 2px 3px),repeating-linear-gradient(90deg,transparent 0 3px,rgba(255,43,43,.03) 3px 4px),repeating-linear-gradient(45deg,transparent 0 6px,rgba(46,91,255,.02) 6px 7px);animation:gal-static .9s steps(4) infinite}@keyframes gal-static{0%{transform:translate(0)}25%{transform:translate(-2%,1.5%)}50%{transform:translate(1.5%,-2%)}75%{transform:translate(-1%,-1%)}to{transform:translate(0)}}.gal-scan{position:absolute;left:0;right:0;height:18%;background:linear-gradient(180deg,transparent,rgba(255,43,43,.12),rgba(255,43,43,.03));animation:gal-sweep 4.5s linear infinite;animation-delay:calc(var(--i, 0) * -.9s)}@keyframes gal-sweep{0%{top:-20%}to{top:120%}}.gal-glyph{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;color:var(--line);font-size:26px;letter-spacing:.4em;animation:gal-flicker 3s steps(2) infinite;animation-delay:calc(var(--i, 0) * -.7s)}@keyframes gal-flicker{0%,92%{opacity:1}93%,96%{opacity:.25}97%,to{opacity:1}}.gal-label{position:absolute;left:0;right:0;bottom:0;display:flex;justify-content:space-between;padding:8px 10px;font-size:9px;letter-spacing:.16em;color:var(--dim);background:linear-gradient(180deg,transparent,rgba(5,5,7,.85))}.gal-status{color:var(--red-soft)}.gal-tile:hover .gal-glyph{color:var(--red);animation:gal-static .3s steps(2) infinite}.gal-tile:hover .gal-status:after{content:" ▌";animation:blink .7s steps(1) infinite}.lightbox{position:fixed;inset:0;z-index:500;background:rgba(5,5,7,.94);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;padding:4vh 4vw}.lightbox-inner{max-width:92vw;max-height:86vh;display:flex;flex-direction:column;gap:10px}.lightbox-inner img,.lightbox-inner video{max-width:92vw;max-height:78vh;object-fit:contain;border:1px solid var(--line);background:#000}.lightbox-caption{display:flex;justify-content:space-between;font-size:10px;letter-spacing:.18em;color:var(--dim)}.lightbox-close{position:absolute;top:18px;right:22px;background:none;border:none;color:var(--red);font-family:var(--mono);font-size:12px;letter-spacing:.14em;cursor:url(/cursor-pin.png) 16 30,pointer}.lightbox-close:hover{color:var(--red-soft)}.op-footer{display:flex;justify-content:space-between;margin-top:48px;font-size:11px;letter-spacing:.2em;color:var(--dim)}.op-footer a:hover{color:var(--text)}.op-footer .signup-link{color:var(--red)}@media (max-width:640px){.gallery{grid-template-columns:repeat(2,1fr)}}.tabs{display:flex;border:1px solid var(--line);width:-moz-fit-content;width:fit-content;margin-bottom:28px}.tab-btn{background:none;border:none;border-right:1px solid var(--line);padding:12px 24px;font-family:var(--mono);font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:var(--dim);cursor:url(/cursor-pin.png) 16 30,pointer;transition:color .15s,background .15s}.tab-btn:last-child{border-right:none}.tab-btn:hover{color:var(--text)}.tab-btn.active{background:var(--panel);color:var(--red);box-shadow:inset 0 -2px 0 var(--red)}.field select,.field textarea{width:100%;background:var(--bg);border:1px solid var(--line);color:var(--text);font-family:var(--mono);font-size:13px;padding:12px 14px;outline:none;transition:border-color .15s}.field select:focus,.field textarea:focus{border-color:var(--blue)}.field textarea{resize:vertical}.inline-link{color:var(--red-soft);text-decoration:underline}.mode-links{display:flex;justify-content:space-between;gap:12px;margin-top:20px}.mode-links button{background:none;border:none;color:var(--dim);font-family:var(--mono);font-size:10px;letter-spacing:.16em;cursor:url(/cursor-pin.png) 16 30,pointer;transition:color .15s}.mode-links button:hover{color:var(--red-soft)}.nav .login-icon{color:var(--dim);display:flex;align-items:center}.nav .login-icon svg{width:17px;height:17px;display:block}.nav .login-icon:hover{color:var(--red)}.dash-top{display:flex;justify-content:space-between;align-items:baseline;flex-wrap:wrap;gap:12px}.dash-user{display:flex;align-items:center;gap:14px;color:var(--dim);font-size:11px;letter-spacing:.1em}.btn-ghost{background:none;border:1px solid var(--line);color:var(--dim);font-family:var(--mono);font-size:10px;letter-spacing:.18em;text-transform:uppercase;padding:8px 14px;cursor:url(/cursor-pin.png) 16 30,pointer;transition:color .15s,border-color .15s}.btn-ghost:hover{color:var(--red);border-color:var(--red-ember)}.stats-grid{display:grid;grid-template-columns:repeat(2,1fr);grid-gap:10px;gap:10px;margin:10px 0 20px}.stat-card{border:1px solid var(--line);background:var(--panel);padding:28px 26px}.stat-num{font-size:46px;font-weight:700;color:var(--red);line-height:1}.stat-label{color:var(--dim);font-size:10px;letter-spacing:.2em;margin-top:10px}.radar-card{display:flex;align-items:center;gap:24px}.radar{position:relative;width:84px;height:84px;min-width:84px;border-radius:50%;border:1px solid var(--line);background:radial-gradient(circle,rgba(46,91,255,.06) 0,transparent 70%);overflow:hidden}.radar:before{content:"";position:absolute;inset:22%;border-radius:50%;border:1px solid rgba(46,91,255,.25)}.radar-sweep{position:absolute;inset:0;border-radius:50%;background:conic-gradient(from 0deg,rgba(46,91,255,.35),transparent 70deg,transparent 1turn);animation:radar-spin 4s linear infinite}@keyframes radar-spin{to{transform:rotate(1turn)}}.radar-dot{position:absolute;top:50%;left:50%;width:5px;height:5px;margin:-2.5px;border-radius:50%;background:var(--blue);box-shadow:0 0 8px var(--blue)}@media (prefers-reduced-motion:reduce){.radar-sweep{animation:none;opacity:.3}}.welcome-logo{font-size:clamp(16px,4.5vw,40px);letter-spacing:.18em;white-space:pre-wrap;text-align:center;padding:0 20px}.welcome-logo .w-white{color:#fff}.welcome-logo .w-red{color:var(--red)}.welcome-logo .w-blue{color:var(--blue-soft)}.boot-line.w-blue-line{color:var(--blue-soft)!important}.nav .login-icon{position:relative}.nav .login-icon.authed{color:var(--red)}.nav .login-icon.authed:hover{color:var(--red-soft)}.authed-dot{position:absolute;top:-2px;right:-4px;width:5px;height:5px;border-radius:50%;background:var(--blue);box-shadow:0 0 6px var(--blue)}.em-head-row{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-top:12px;flex-wrap:wrap}.em-preview-link{color:var(--blue-soft);font-size:10px;letter-spacing:.18em}.em-preview-link:hover{color:var(--text)}.em-editor{padding:18px 20px;border-top:1px dashed var(--line)}.em-grid{display:grid;grid-template-columns:1fr 1fr;grid-gap:0 18px;gap:0 18px}.em-media-strip{display:flex;flex-wrap:wrap;gap:8px;margin:6px 0 10px}.em-thumb{position:relative;width:84px;height:84px;border:1px solid var(--line);overflow:hidden}.em-thumb img,.em-thumb video{width:100%;height:100%;object-fit:cover}.em-thumb button{position:absolute;top:2px;right:2px;background:rgba(5,5,7,.85);border:1px solid var(--line);color:var(--red);font-family:var(--mono);font-size:9px;padding:2px 5px}.em-thumb button,.em-upload{cursor:url(/cursor-pin.png) 16 30,pointer}.em-upload{width:84px;height:84px;border:1px dashed var(--line);display:flex;align-items:center;justify-content:center;color:var(--dim);font-size:10px;letter-spacing:.14em;transition:color .15s,border-color .15s}.em-upload:hover{color:var(--red);border-color:var(--red-ember)}.em-upload input{display:none}.em-hint{color:var(--dim);font-size:9px;letter-spacing:.14em;margin-bottom:14px}.em-actions{display:flex;gap:10px;flex-wrap:wrap}.em-count{color:var(--dim)}.btn-ghost.danger{color:var(--red);border-color:var(--red-ember)}.btn-ghost.danger:hover{color:var(--red-soft)}.event-title{font-size:clamp(26px,6vw,56px);letter-spacing:.14em}@media (max-width:640px){.em-grid{grid-template-columns:1fr}}.stat-link{display:block;transition:border-color .15s,background .15s}.stat-link:hover{border-color:var(--red-ember);background:#0e0e15}.roster-tools{margin:8px 0 14px}.roster-tools input{width:min(420px,100%);background:var(--panel);border:1px solid var(--line);color:var(--text);font-family:var(--mono);font-size:12px;letter-spacing:.08em;padding:11px 14px;outline:none}.roster-tools input:focus{border-color:var(--blue)}.roster-wrap{border:1px solid var(--line);background:var(--panel);overflow-x:auto}.roster-table{width:100%;border-collapse:collapse;font-size:12px}.roster-table th{text-align:left;border-bottom:1px solid var(--line);padding:0}.roster-table th button{background:none;border:none;color:var(--dim);font-family:var(--mono);font-size:10px;letter-spacing:.18em;text-transform:uppercase;padding:14px 16px;cursor:url(/cursor-pin.png) 16 30,pointer;width:100%;text-align:left;transition:color .15s}.roster-table th button:hover{color:var(--text)}.roster-table th:last-child{color:var(--dim);font-size:10px;letter-spacing:.18em;text-transform:uppercase;padding:14px 16px}.sort-arrow{color:var(--red)}.roster-table td{padding:13px 16px;border-bottom:1px solid var(--line);color:var(--dim)}.roster-row{cursor:url(/cursor-pin.png) 16 30,pointer;transition:background .15s}.roster-row:hover{background:#0e0e15}.roster-name{color:var(--text);font-weight:700;letter-spacing:.14em;text-transform:uppercase}.roster-row:hover .roster-name{color:var(--red)}.roster-detail td{background:rgba(46,91,255,.03)}.roster-empty{text-align:center;letter-spacing:.2em;padding:30px!important}.dj-list{border:1px solid var(--line);background:var(--panel)}.dj-row{border-bottom:1px solid var(--line)}.dj-row:last-child{border-bottom:none}.dj-head{display:flex;justify-content:space-between;align-items:baseline;gap:14px;padding:16px 20px;cursor:url(/cursor-pin.png) 16 30,pointer;flex-wrap:wrap}.dj-head:hover .dj-name{color:var(--red)}.dj-name{font-weight:700;letter-spacing:.18em;text-transform:uppercase;font-size:13px;transition:color .15s}.dj-genre{color:var(--dim);font-size:11px;margin-left:14px;letter-spacing:.08em}.dj-links{display:flex;gap:16px;font-size:10px;letter-spacing:.14em}.dj-links a{color:var(--blue-soft)}.dj-links a:hover{color:var(--text)}.dj-detail{display:grid;grid-gap:5px;gap:5px;padding:0 20px 16px;color:var(--dim);font-size:11px;letter-spacing:.08em}@media (max-width:640px){.stats-grid{grid-template-columns:1fr}}.site-footer{border-top:1px solid var(--line);padding:28px 0;color:var(--dim);font-size:11px;letter-spacing:.12em}.site-footer .wrap{display:flex;justify-content:space-between;flex-wrap:wrap;gap:12px}.site-footer a:hover{color:var(--text)}@media (max-width:640px){.module{grid-template-columns:36px 1fr auto;gap:12px}.module-icon svg{width:20px;height:20px}.event-row{grid-template-columns:1fr;gap:6px}.nav{gap:14px}}.lineup-editor{display:flex;flex-direction:column;gap:8px}.lineup-edit-row{display:grid;grid-template-columns:1fr 120px auto auto;grid-gap:8px;gap:8px;align-items:center}.lineup-edit-name,.lineup-edit-role,.lineup-edit-row input[type=text]{width:100%}.lineup-edit-hl{display:inline-flex;align-items:center;gap:6px;font-size:10px;letter-spacing:.14em;color:var(--dim);white-space:nowrap}.lineup-edit-x{background:none;border:1px solid var(--line);color:var(--dim);cursor:pointer;padding:6px 10px;line-height:1}.lineup-edit-x:hover{color:var(--red-soft);border-color:var(--red-soft)}@media (max-width:640px){.lineup-edit-row{grid-template-columns:1fr auto auto}.lineup-edit-role{grid-column:1/-1}}