@import"https://fonts.googleapis.com/css2?family=Bebas+Neue&family=Barlow:wght@400;500;600;700&family=Barlow+Condensed:wght@400;600;700&display=swap";:root{--black: #0a0a0a;--black-2: #141414;--black-3: #1c1c1c;--white: #f0ece4;--white-dim: #b8b4ac;--label: #d0ccc4;--placeholder: rgba(240,236,228,.38);--stripe: rgba(255,255,255,.05);--border: rgba(255,255,255,.15);--danger: #cc3333}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}body{font-family:Barlow,sans-serif;font-size:16px;color:var(--white);min-height:100vh;background-color:#0a0a0a;background-image:radial-gradient(ellipse 80% 60% at 50% 0%,rgba(60,55,50,.7) 0%,transparent 70%),radial-gradient(ellipse 60% 40% at 100% 100%,rgba(40,35,30,.5) 0%,transparent 60%),radial-gradient(ellipse 50% 50% at 0% 80%,rgba(30,28,25,.4) 0%,transparent 60%),url("data:image/svg+xml,%3Csvg viewBox='0 0 512 512' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noise'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.75' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noise)' opacity='0.055'/%3E%3C/svg%3E");background-attachment:fixed}.page{max-width:560px;margin:0 auto;padding:2.5rem 1.5rem}.centered{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:100vh;text-align:center}.event-header{display:flex;align-items:center;gap:.75rem;margin-bottom:2.5rem;padding-bottom:1.25rem;border-bottom:1px solid var(--border)}.event-tag{font-family:Barlow Condensed,sans-serif;font-size:.7rem;font-weight:700;letter-spacing:.2em;text-transform:uppercase;color:var(--black);background:var(--white);padding:.2rem .6rem}.event-name{font-family:Bebas Neue,sans-serif;font-size:1.1rem;letter-spacing:.15em;color:var(--white-dim)}h1{font-family:Bebas Neue,sans-serif;font-size:3.5rem;font-weight:400;letter-spacing:.06em;color:var(--white);line-height:1;margin-bottom:.5rem;display:flex;align-items:center;gap:1rem;text-shadow:0 0 20px rgba(240,236,228,.4),0 0 40px rgba(240,236,228,.15)}h1:before,h1:after{content:"";flex:1;height:3px;background:var(--white);opacity:.15}.subtitle{font-family:Bebas Neue,sans-serif;font-size:1.4rem;font-weight:700;letter-spacing:.15em;text-transform:uppercase;color:var(--white);margin-bottom:2.5rem;text-align:center;text-shadow:0 0 20px rgba(240,236,228,.4),0 0 40px rgba(240,236,228,.15)}.form-group{margin-bottom:1.25rem}label{display:block;font-family:Bebas Neue,sans-serif;font-size:1.4rem;font-weight:700;letter-spacing:.1em;color:var(--white);margin-bottom:.5rem}input[type=text]{width:100%;padding:.85rem 1rem;min-height:52px;background:var(--black-2);border:1px solid var(--border);border-radius:0;color:var(--white);font-family:Barlow,sans-serif;font-size:1rem;font-weight:500;transition:border-color .15s,background .15s;-webkit-appearance:none;appearance:none}input[type=text]:focus{outline:none;border-color:var(--white);background:var(--black-3)}input[type=text]::placeholder{color:var(--placeholder);font-weight:400}button{cursor:pointer;border:none;border-radius:0;font-family:Bebas Neue,sans-serif;font-size:1.3rem;letter-spacing:.12em;transition:background .15s,color .15s,opacity .15s}button:disabled{opacity:.4;cursor:not-allowed}#submit-btn{width:100%;padding:1rem;min-height:52px;background:var(--white);color:var(--black);margin-top:.75rem}#submit-btn:hover:not(:disabled){background:var(--white-dim)}.disclaimer{margin-top:1.25rem;font-family:Barlow Condensed,sans-serif;font-size:.8rem;font-weight:600;letter-spacing:.08em;color:var(--white-dim);text-align:center}.instagram-link{display:flex;align-items:center;justify-content:center;gap:.6rem;margin-top:1.5rem;text-decoration:none;color:var(--white-dim);font-family:Barlow Condensed,sans-serif;font-size:.9rem;font-weight:600;letter-spacing:.1em;transition:color .15s}.instagram-link:hover{color:var(--white)}.instagram-link svg{width:20px;height:20px;fill:currentColor}.status-msg{margin-top:.75rem;font-family:Barlow Condensed,sans-serif;font-size:.85rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;min-height:1.2rem}.status-msg.error{color:var(--danger)}.thankyou-icon{font-size:3rem;margin-bottom:1.5rem}.thankyou-title{font-family:Bebas Neue,sans-serif;font-size:3rem;letter-spacing:.1em;margin-bottom:.75rem}.thankyou-text{font-family:Barlow Condensed,sans-serif;font-size:1rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--white-dim);margin-bottom:.5rem}.thankyou-subtext{font-size:.9rem;color:var(--white-dim)}.thankyou-subtext strong{color:var(--white)}.dashboard.page{max-width:1100px}.dashboard{overflow-x:auto}.dashboard h1{font-size:2.5rem;margin-bottom:1.5rem}.dashboard-controls{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:.75rem;margin-bottom:1.5rem;padding-bottom:1rem;border-bottom:1px solid var(--border)}.sort-buttons{display:flex;align-items:center;gap:.5rem}.sort-label{font-family:Barlow Condensed,sans-serif;font-size:.75rem;font-weight:700;letter-spacing:.15em;text-transform:uppercase;color:var(--white-dim)}.sort-btn{padding:.35rem .9rem;background:transparent;border:1px solid var(--border);color:var(--white-dim);font-family:Barlow Condensed,sans-serif;font-size:.8rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;border-radius:0}.sort-btn:hover{border-color:var(--white);color:var(--white)}.sort-btn.active{background:var(--white);border-color:var(--white);color:var(--black)}.refresh-btn{padding:.35rem 1rem;background:transparent;border:1px solid var(--border);color:var(--white-dim);font-family:Barlow Condensed,sans-serif;font-size:.8rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;border-radius:0}.refresh-btn:hover{border-color:var(--white);color:var(--white)}.sort-dropdown{position:relative}.sort-dropdown-trigger{display:flex;align-items:center;gap:.4rem;padding:.35rem .9rem;background:transparent;border:1px solid var(--border);color:var(--white-dim);font-family:Barlow Condensed,sans-serif;font-size:.8rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;cursor:pointer}.sort-dropdown-trigger:hover{border-color:var(--white);color:var(--white)}.sort-dropdown-arrow{font-size:.7rem}.sort-dropdown-menu{display:none;position:absolute;top:calc(100% + 4px);left:0;background:var(--black-2);border:1px solid var(--border);z-index:100;min-width:100%;flex-direction:column}.sort-dropdown.open .sort-dropdown-menu{display:flex}.sort-dropdown-item{padding:.5rem .9rem;background:transparent;border:none;color:var(--white-dim);font-family:Barlow Condensed,sans-serif;font-size:.8rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;text-align:left;cursor:pointer}.sort-dropdown-item:hover{background:var(--stripe);color:var(--white)}.sort-dropdown-item.active{color:var(--white);background:var(--black-3)}table{width:100%;border-collapse:collapse;table-layout:fixed}th:nth-child(1){width:2.5rem}th:nth-child(2){width:24%}th:nth-child(3){width:18%}th:nth-child(4){width:5.5rem}th:nth-child(5){width:10%}th:nth-child(6){width:10%}th:nth-child(7){width:14%}th{text-align:left;padding:.5rem .75rem;font-family:Barlow Condensed,sans-serif;font-size:1rem;font-weight:700;letter-spacing:.2em;text-transform:uppercase;color:var(--white-dim);border-bottom:1px solid var(--border)}td{padding:.75rem;border-bottom:1px solid rgba(255,255,255,.05);vertical-align:middle;word-break:break-word}tbody tr:nth-child(4n+3) td,tbody tr:nth-child(4n+4) td{background:var(--stripe)}.rank{font-family:Bebas Neue,sans-serif;font-size:1rem;color:#fff3;letter-spacing:.05em}.song-title,.artist{font-family:Bebas Neue,sans-serif;font-size:1.4rem;font-weight:700;letter-spacing:.1em;color:var(--white);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:0}.count{font-family:Bebas Neue,sans-serif;font-size:1.4rem;font-weight:600;letter-spacing:.05em;color:var(--white);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:0}.timestamp{font-family:Bebas Neue,sans-serif;font-size:1.4rem;color:var(--white);letter-spacing:.08em}.requester{font-family:Bebas Neue,sans-serif;font-size:1.4rem;font-weight:700;letter-spacing:.1em;color:var(--white);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:0}.summary-row{cursor:pointer;-webkit-user-select:none;user-select:none}.summary-row:hover td{background:#ffffff0a}.summary-row.expanded td{border-bottom:none;background:var(--black-3)}.detail-row.collapsed{display:none}.detail-row td{background:var(--black-3)!important;border-bottom:1px solid var(--border);border-left:2px solid rgba(255,255,255,.15)}.detail-content{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:1rem;padding:1rem .75rem}.detail-item{display:flex;flex-direction:column;gap:.25rem}.detail-label{font-family:Barlow Condensed,sans-serif;font-size:.65rem;font-weight:700;letter-spacing:.2em;text-transform:uppercase;color:#ffffff4d}.detail-value{font-family:Barlow,sans-serif;font-size:.95rem;font-weight:600;color:var(--white);word-break:break-word}.loading-msg,.empty-msg,.error-msg{padding:3rem 0;text-align:center;font-family:Barlow Condensed,sans-serif;font-size:.85rem;font-weight:700;letter-spacing:.2em;text-transform:uppercase;color:#fff3}.error-msg{color:var(--danger)}.mobile-cards{display:none}@media(max-width:768px){.dashboard.page{padding:1rem}h1{font-size:2.5rem}.page{padding:1.5rem 1rem}table{display:none!important}.mobile-cards{display:flex;flex-direction:column;gap:.5rem}.mobile-card{background:var(--black-2);border:1px solid var(--border);padding:.75rem 1rem;cursor:pointer;-webkit-user-select:none;user-select:none}.mobile-card:nth-child(2n){background:var(--black-3)}.mobile-card-main{display:flex;align-items:center;gap:.75rem}.mobile-card-rank{font-family:Bebas Neue,sans-serif;font-size:1rem;color:#fff3;min-width:1.2rem}.mobile-card-info{flex:1;min-width:0}.mobile-card-song{font-family:Bebas Neue,sans-serif;font-size:1.2rem;letter-spacing:.08em;color:var(--white);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.mobile-card-artist{font-family:Barlow Condensed,sans-serif;font-size:.85rem;font-weight:600;color:var(--white-dim);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.mobile-card-count{font-family:Bebas Neue,sans-serif;font-size:1.4rem;color:var(--white);min-width:1.5rem;text-align:right}.mobile-card-detail{margin-top:.75rem;padding-top:.75rem;border-top:1px solid var(--border);display:grid;grid-template-columns:repeat(2,1fr);gap:.5rem}.mobile-card-detail.collapsed{display:none}.mobile-card-detail .detail-item{display:flex;flex-direction:column;gap:.2rem}.mobile-card-detail .detail-label{font-family:Barlow Condensed,sans-serif;font-size:.65rem;font-weight:700;letter-spacing:.2em;text-transform:uppercase;color:#ffffff4d}.mobile-card-detail .detail-value{font-family:Barlow,sans-serif;font-size:.9rem;font-weight:600;color:var(--white);word-break:break-word}}@media(min-width:769px)and (max-width:1024px){table{display:table!important}.mobile-cards{display:none!important}}.settings-group{display:flex;flex-direction:column;gap:1rem;max-width:300px}.settings-select{padding:.5rem .9rem;font-size:.9rem}.settings-save-btn{align-self:flex-start}
