*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{font-size:16px;-webkit-text-size-adjust:100%;scroll-behavior:smooth}body{font-family:Inter,Helvetica Neue,Arial,sans-serif;font-size:1rem;line-height:1.5;color:#e8e8e8;background-color:#0e0e0e;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}img,video,svg{display:block;max-width:100%}input,button,textarea,select{font:inherit}button{cursor:pointer;border:none;background:none}a{color:inherit;text-decoration:none}ul,ol{list-style:none}h1,h2,h3,h4,h5,h6{font-weight:700;line-height:1.2}p{line-height:1.5}table{border-collapse:collapse;width:100%}[hidden]{display:none!important}a{transition:color .1s ease}a:hover{color:#c8f060}:focus-visible{outline:2px solid #c8f060;outline-offset:2px;border-radius:3px}.container{width:100%;max-width:1280px;margin-inline:auto;padding-inline:1rem}@media(min-width:768px){.container{padding-inline:2rem}}.container--narrow{max-width:768px}.page-shell{padding-top:2.5rem}.parent-link{display:inline-flex;align-items:center;gap:.25rem;width:fit-content;font-size:.875rem;color:#888}.parent-link:hover{color:#c8f060}.text-muted{color:#888}.text-faint{color:#555}.text-accent{color:#c8f060}.text-danger{color:#e05252}.text-sm{font-size:.875rem}.text-xs{font-size:.75rem}.badge{display:inline-flex;align-items:center;padding:.25rem .5rem;border-radius:3px;font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;line-height:1}.badge--upcoming{background:#c8f06026;color:#c8f060}.badge--cancelled{background:#e0525226;color:#e05252}.badge--postponed{background:#e0a03026;color:#e0a030}.badge--past{background:#55555526;color:#555}.badge--featured{background:#c8f06033;color:#c8f060}.badge--pending{background:#e0a03026;color:#e0a030}.badge--series{background:#8888881f;color:#888}.btn{display:inline-flex;align-items:center;gap:.5rem;padding:.5rem 1rem;border-radius:6px;font-size:.875rem;font-weight:500;transition:background .1s ease,color .1s ease,opacity .1s ease;white-space:nowrap}.btn--primary{background:#c8f060;color:#0e0e0e}.btn--primary:hover{background:#8aaa3a;color:#0e0e0e}.btn--ghost{background:transparent;color:#e8e8e8;border:1px solid #333333}.btn--ghost:hover{border-color:#c8f060;color:#c8f060}.btn--danger{background:transparent;color:#e05252;border:1px solid #e05252}.btn--danger:hover{background:#e052521a}.btn--danger-ghost{background:transparent;color:#555;border:1px solid transparent}.btn--danger-ghost:hover{color:#e05252;border-color:#e0525266}.btn--sm{font-size:.75rem;padding:.25rem .75rem}.btn:disabled{opacity:.4;pointer-events:none}.field{display:flex;flex-direction:column;gap:.25rem}.field label{font-size:.875rem;font-weight:500;color:#888}.field input,.field textarea,.field select{background:#1a1a1a;border:1px solid #333333;border-radius:6px;padding:.5rem .75rem;color:#e8e8e8;width:100%;transition:border-color .1s ease}.field input:focus,.field textarea:focus,.field select:focus{outline:none;border-color:#c8f060}.field input::placeholder,.field textarea::placeholder,.field select::placeholder{color:#555}.field textarea{resize:vertical;min-height:100px}.field .field__hint{font-size:.75rem;color:#555}.field .field__error{font-size:.75rem;color:#e05252}.card{background:#1a1a1a;border:1px solid #333333;border-radius:10px;padding:1.5rem}.card--interactive{cursor:pointer;transition:border-color .1s ease,background .1s ease}.card--interactive:hover{border-color:#c8f060;background:#242424}.divider{border:none;border-top:1px solid #333333;margin-block:1.5rem}.empty-state{text-align:center;padding:4rem 2rem;color:#555}.empty-state p{margin-top:.5rem;font-size:.875rem}.section-label{font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.08em;color:#555;margin-bottom:1rem}.genre-tag{font-size:.75rem;padding:2px .5rem;background:#242424;border-radius:9999px;color:#888;border:1px solid #333333}.event-image-frame{aspect-ratio:var(--event-image-ratio, 3/4);overflow:hidden;border-radius:10px;background:#1a1a1a}.event-image-frame img{display:block;width:100%;height:100%;object-fit:contain;object-position:center}.event-image-frame--detail{width:100%;max-width:520px;align-self:flex-start}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:#0e0e0e}::-webkit-scrollbar-thumb{background:#333;border-radius:9999px}::-webkit-scrollbar-thumb:hover{background:#555}
