:root{--bg: #0a1030;--bg-2: #0d1a4d;--blue: #2d4fe5;--blue-bright: #3c69f8;--accent: #28fdb1;--accent-ink: #04241a;--text: #ffffff;--muted: rgba(255, 255, 255, .62);--line: rgba(255, 255, 255, .16);--surface: rgba(255, 255, 255, .05);--surface-2: rgba(255, 255, 255, .08);--error: #ff6b81;--success: var(--accent);--radius: 12px;--radius-pill: 999px;--header-h: 150px}*{box-sizing:border-box}html,body{margin:0;min-height:100%}html{scroll-behavior:smooth}@media (prefers-reduced-motion: reduce){html{scroll-behavior:auto}}body{font-family:Montserrat,system-ui,-apple-system,Segoe UI,Roboto,sans-serif;color:var(--text);background:var(--bg)}#root{min-height:100vh}a{color:inherit;text-decoration:none}h1,h2,h3{margin:0;font-weight:800;letter-spacing:-.01em}.app{min-height:100vh;display:flex;flex-direction:column;background:linear-gradient(160deg,var(--bg) 0%,var(--bg-2) 55%,var(--bg) 100%)}.app-main{flex:1}.container{max-width:1040px;margin:0 auto;padding:calc(var(--header-h) + 2rem) 1.5rem 3rem}.app-header{position:absolute;top:0;left:0;right:0;height:var(--header-h);display:flex;align-items:center;gap:2rem;padding:0 2.5rem;z-index:30}.brand-logo{height:132px;width:auto;display:block}.nav{display:flex;align-items:center;gap:2.75rem;margin-left:3rem;margin-top:18px}.nav a,.nav button.navlink{font-size:1.08rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);background:none;border:none;cursor:pointer;font-family:inherit;padding:0}.nav a:hover,.nav button.navlink:hover{color:var(--text)}.nav a.active{color:var(--accent)}.header-right{margin-left:auto;display:flex;align-items:center;gap:1.6rem;margin-top:18px}.icon-btn{display:inline-flex;align-items:center;justify-content:center;border:none;background:transparent;color:var(--text);cursor:pointer;padding:0;transition:color .15s}.icon-btn:hover{color:var(--accent)}.icon-btn svg{width:26px;height:26px}.account{position:relative}.account-menu{position:absolute;right:0;top:calc(100% + 8px);min-width:200px;background:#101a45;border:1px solid var(--line);border-radius:var(--radius);padding:.85rem;display:flex;flex-direction:column;gap:.6rem;box-shadow:0 20px 50px #00000080}.account-menu .email{font-size:.8rem;color:var(--muted);word-break:break-all}.nav-toggle{display:none}.mobile-nav{position:fixed;top:0;right:0;bottom:0;left:0;z-index:90;background:#080d26f7;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2.2rem}.mobile-nav a,.mobile-nav .navlink{font-family:inherit;font-size:1.7rem;font-weight:800;text-transform:uppercase;letter-spacing:.05em;color:var(--text);background:none;border:none;cursor:pointer}.mobile-nav a.active{color:var(--accent)}.mobile-nav-close{position:absolute;top:1.25rem;right:1.5rem;font-size:2.6rem;line-height:1;color:var(--text);background:none;border:none;cursor:pointer}.btn{font-family:inherit;font-weight:700;font-size:.9rem;padding:.7rem 1.4rem;border-radius:var(--radius-pill);border:1px solid var(--line);background:var(--surface-2);color:var(--text);cursor:pointer;transition:transform .12s,background .15s,border-color .15s}.btn:hover:not(:disabled){border-color:var(--accent)}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-primary{background:var(--accent);color:var(--accent-ink);border-color:var(--accent);text-transform:uppercase;letter-spacing:.04em;box-shadow:0 10px 30px #28fdb147}.btn-primary:hover:not(:disabled){transform:translateY(-1px)}.btn-ghost{background:transparent}.hero{position:relative;min-height:100vh;display:flex;flex-direction:column;overflow:hidden;isolation:isolate}.hero-photo{position:absolute;top:0;right:0;bottom:0;left:0;background-position:center 90%;background-size:cover;z-index:-3;-webkit-mask-image:linear-gradient(to bottom,#000 62%,transparent 97%);mask-image:linear-gradient(to bottom,#000 62%,transparent 97%)}.hero-glow{position:absolute;top:-6%;left:-4%;width:min(32vw,440px);height:auto;z-index:-1;opacity:.9;mix-blend-mode:screen;pointer-events:none}.hero-waves{position:absolute;right:0;bottom:0;width:min(40vw,620px);height:auto;z-index:-1;opacity:.9;pointer-events:none;-webkit-mask-image:linear-gradient(to bottom,#000 45%,transparent 92%);mask-image:linear-gradient(to bottom,#000 45%,transparent 92%)}.hero-inner{position:relative;width:100%;max-width:1280px;margin:0 auto;padding:var(--header-h) 2rem clamp(40px,7vh,88px);display:grid;grid-template-columns:220px 1fr 220px;align-items:end;gap:1.5rem;flex:1;min-height:0}.hero-meta{align-self:end;padding-bottom:1.5vh}.hero-date{font-size:3rem;font-weight:900;line-height:1;padding-bottom:.6rem;border-bottom:3px solid var(--text);display:inline-block;margin-bottom:5.5rem}.hero-venue{font-size:1.75rem;font-weight:800;color:var(--accent);margin-bottom:.4rem}.hero-time{font-size:1.3rem;font-weight:600;color:var(--text)}.hero-center{text-align:center;display:flex;flex-direction:column;align-items:center;gap:.85rem}.hero-title{font-size:clamp(1.9rem,4.1vw,3.4rem);font-weight:900;line-height:.98;text-transform:uppercase;letter-spacing:-.01em}.hero-genre{font-size:clamp(.95rem,1.4vw,1.2rem);font-weight:700;color:var(--text);letter-spacing:.02em}.hero-cta{font-size:1.05rem;padding:.9rem 2.4rem;margin-top:.4rem}.hero-feedback{min-height:1.2em;font-size:.9rem;font-weight:600}.hero-right{align-self:center}.lineup{position:relative;display:grid;grid-template-columns:1fr auto 1fr;align-items:end;gap:clamp(1.5rem,4vw,3.5rem);padding:0 2rem;margin-bottom:2.4vh}.lineup img{height:clamp(21px,2.55vw,35px);width:auto;opacity:.95}.lineup img:nth-child(1){justify-self:end}.lineup .sommers{justify-self:center;height:clamp(75px,8.84vw,122px)}.lineup img:nth-child(3){justify-self:start;width:clamp(99px,11.99vw,164px);height:auto;margin-bottom:clamp(4.4px,.54vw,7.4px)}.app-footer{position:relative;z-index:10;display:flex;align-items:center;justify-content:center;gap:1.5rem;padding:1.5rem}.app-footer .piktolix{height:22px;width:auto;opacity:.85}.socials{display:flex;gap:.75rem}.socials img{height:26px;width:26px}.hero .app-footer{position:relative;padding:0 2.5rem 1.6vh;justify-content:center}.hero .socials{position:absolute;right:2.5rem;top:50%;transform:translateY(-50%)}.about{position:relative;z-index:5;padding:clamp(4rem,10vh,7rem) 1.5rem clamp(5rem,12vh,8rem);scroll-margin-top:1rem}.about-inner{max-width:760px;margin:0 auto;text-align:center;display:flex;flex-direction:column;gap:1.4rem}.about-title{font-size:clamp(1.8rem,4vw,2.8rem);font-weight:900;text-transform:uppercase;letter-spacing:.02em;margin-bottom:.6rem}.about-text{margin:0;font-size:clamp(1rem,1.5vw,1.12rem);font-weight:500;line-height:1.7;color:#ffffffd1}.about-tagline{margin:.8rem 0 0;font-size:clamp(1.05rem,1.8vw,1.3rem);font-weight:800;color:var(--accent)}.muted{color:var(--muted)}.feedback{margin:0;font-size:.9rem;font-weight:600}.feedback-success{color:var(--success)}.feedback-error{color:var(--error)}.page-title{font-size:2rem;text-transform:uppercase;margin-bottom:1.5rem}.ticket-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:1rem}.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.ticket-card{display:flex;align-items:center;gap:1.25rem;padding:1.1rem}.ticket-qr{flex-shrink:0;background:#fff;padding:8px;border:none;border-radius:var(--radius);line-height:0;cursor:pointer;transition:transform .12s,box-shadow .15s}.ticket-qr:hover{transform:scale(1.03);box-shadow:0 0 0 3px #28fdb166}.ticket-main{flex:1;min-width:0}.ticket-main .event-name{font-size:1.15rem;font-weight:800}.event-meta{margin:.3rem 0 0;font-size:.9rem}.ticket-id{margin:.5rem 0 0;font-size:.72rem;font-family:ui-monospace,SF Mono,Menlo,monospace;color:var(--muted);word-break:break-all}.badge{font-size:.72rem;font-weight:700;padding:.3rem .7rem;border-radius:var(--radius-pill);letter-spacing:.05em}.badge-active{background:#28fdb126;color:var(--accent);border:1px solid rgba(40,253,177,.4)}.badge-used{background:#ffffff14;color:var(--muted);border:1px solid var(--line)}.badge-expired{background:#ff6b8124;color:var(--error);border:1px solid rgba(255,107,129,.4)}.pagination{display:flex;align-items:center;justify-content:center;gap:1rem;margin-top:2rem}.login{max-width:400px;margin:0 auto;text-align:center;display:flex;flex-direction:column;gap:1rem;align-items:center}.login h1{font-size:1.8rem;text-transform:uppercase}.login-card{width:100%;padding:2.5rem 2rem;margin-top:1rem}.login-button{display:flex;justify-content:center;margin-top:.5rem}.qr-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:100;display:flex;flex-direction:column;align-items:center;justify-content:center;background:#04081ad9;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);padding:1.5rem;cursor:zoom-out}.qr-overlay-close{position:absolute;top:1rem;right:1.25rem;font-size:2rem;line-height:1;color:#fff;background:transparent;border:none;cursor:pointer}.qr-overlay-content{background:#fff;padding:1.5rem;border-radius:var(--radius);display:flex;flex-direction:column;align-items:center;gap:.75rem;max-width:92vw;cursor:default}.qr-overlay-content svg{width:min(70vw,70vh,320px);height:auto}.qr-overlay-caption{margin:0;font-weight:700;text-align:center;color:#0a1030}.qr-overlay-id{margin:0;font-size:.75rem;font-family:ui-monospace,SF Mono,Menlo,monospace;color:#555;word-break:break-all;text-align:center}@media (max-width: 860px){.app{--header-h: 108px}.brand-logo{height:88px}.hero-photo{height:58vh;bottom:auto;-webkit-mask-image:linear-gradient(to bottom,#000 55%,transparent 100%);mask-image:linear-gradient(to bottom,#000 55%,transparent 100%)}.hero{flex-direction:column;align-items:stretch;min-height:auto}.hero-date{margin-bottom:1.5rem}.hero-inner{grid-template-columns:1fr;justify-items:center;text-align:center;gap:1.75rem;min-height:auto;padding:46vh 1.5rem 1rem}.hero-meta{order:2;text-align:center}.hero-center{order:1;margin-top:0}.hero-right{display:none}.lineup{position:static;display:flex;flex-direction:column;align-items:center;gap:1.6rem;margin:1.5rem 0 2rem}.lineup img{max-width:46%;height:auto}.lineup .sommers{max-width:57%;height:auto}.lineup img:nth-child(3){width:auto;max-width:50.6%;margin-bottom:0}.nav{display:none}.nav-toggle{display:inline-flex}.hero .app-footer{position:static;justify-content:center;padding:1.5rem 0}.hero .socials{position:static;transform:none}}
