@font-face{font-family:"Bebas Neue";font-style:normal;font-weight:400;font-display:swap;src:url(../fonts/bebas-neue-latin-ext-400.woff2) format("woff2"),url(fonts/bebas-neue-latin-ext-400.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:"Bebas Neue";font-style:normal;font-weight:400;font-display:swap;src:url(../fonts/bebas-neue-latin-400.woff2) format("woff2"),url(fonts/bebas-neue-latin-400.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"Inter";font-style:normal;font-weight:100 900;font-display:swap;src:url(../fonts/inter-latin-ext-wght-normal.woff2) format("woff2"),url(fonts/inter-latin-ext-wght-normal.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:"Inter";font-style:normal;font-weight:100 900;font-display:swap;src:url(../fonts/inter-latin-wght-normal.woff2) format("woff2"),url(fonts/inter-latin-wght-normal.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
html{font-synthesis:none}
:root{--bg:#0a0a0a;--card:#161616;--line:#2a2a2a;--tx:#f2f2f2;--mu:#9a9a9a;--red:#e10600}
*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--tx);font:16px/1.5 Inter,system-ui,Segoe UI,Arial,sans-serif;padding:env(safe-area-inset-top) env(safe-area-inset-right) env(safe-area-inset-bottom) env(safe-area-inset-left)}
header{display:flex;flex-wrap:wrap;gap:.6rem 1.5rem;justify-content:space-between;align-items:center;padding:1rem 5vw;border-bottom:1px solid var(--line);background:#000}
.brand{font:800 1.15rem/1 "Bebas Neue",Impact,"Arial Narrow",sans-serif;letter-spacing:.06em;color:var(--tx);text-decoration:none}.brand b{color:var(--red)}.brand span{margin-left:.5rem;padding:.15rem .5rem;border:1px solid var(--red);font-size:.8rem}
nav{display:flex;gap:1.2rem;align-items:center}nav a,.link{color:var(--tx);text-decoration:none;background:none;border:0;font:inherit;cursor:pointer;padding:0}nav a:hover,.link:hover{color:var(--red)}nav form{margin:0}
main{max-width:760px;margin:0 auto;padding:2rem 5vw 4rem}h1{font:800 2.2rem/1.1 "Bebas Neue",Impact,"Arial Narrow",sans-serif;letter-spacing:.04em;text-transform:uppercase;margin:0 0 1.5rem}h2{font-size:1.2rem;margin:2rem 0 .8rem}
.card{background:var(--card);border:1px solid var(--line);border-radius:6px;padding:1.2rem;margin-bottom:1.2rem}
label{display:block;margin:.8rem 0 .25rem;color:var(--mu);font-size:.9rem}input,select{width:100%;padding:.8rem;background:#0f0f0f;color:var(--tx);border:1px solid var(--line);border-radius:4px;font:inherit}input:focus,select:focus,button:focus-visible,a:focus-visible{outline:2px solid var(--red);outline-offset:2px}
.btn,button.btn{display:inline-block;margin-top:1.1rem;padding:.85rem 1.4rem;background:var(--red);color:#fff;border:0;border-radius:4px;font-weight:700;font-size:1rem;font-family:inherit;text-decoration:none;cursor:pointer}.btn.sm{margin:0;padding:.4rem .8rem}
.msg{padding:.8rem 1rem;border-left:4px solid var(--red);background:#1c0f0f;margin-bottom:1rem}.ok{border-color:#2fb344;background:#0f1c12}
.pass{text-align:center}.qr{background:#fff;padding:14px;display:inline-block;border-radius:6px}.pts{font:800 4.5rem/1 "Bebas Neue",Impact,sans-serif;color:var(--red)}
.dots{display:flex;gap:.5rem;justify-content:center;margin:1rem 0}.dots i{width:2.2rem;height:2.2rem;border:2px solid var(--red);border-radius:50%}.dots i.on{background:var(--red)}
table{width:100%;border-collapse:collapse}td,th{text-align:left;padding:.55rem .3rem;border-bottom:1px solid var(--line)}.mu{color:var(--mu)}a{color:var(--red)}footer{text-align:center;color:var(--mu);font-size:.85rem;padding:2rem}
.tw{overflow-x:auto}@media(max-width:520px){h1{font-size:1.8rem}.pts{font-size:3.6rem}}
video{width:100%;max-height:55vh;object-fit:cover;background:#000;border-radius:6px;margin-top:1rem}.res{position:fixed;inset:0;z-index:9;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1rem;text-align:center;padding:2rem;font-size:1.4rem}.res[hidden]{display:none}.res.ok{background:#12662a}.res.warn{background:#8a6100}.res.err{background:#8a1010}.res b{font:800 2.4rem/1.1 "Bebas Neue",Impact,"Arial Narrow",sans-serif}.res p{margin:0}.res .btn{background:#fff;color:#000;width:min(340px,90%);margin:0}
html{-webkit-text-size-adjust:100%}a,button{-webkit-tap-highlight-color:transparent}
.btn,button.btn,nav a,.link,select,input{min-height:44px}.btn.sm{min-height:40px}
@media(max-width:600px){
header{padding:.7rem 4vw;gap:.4rem 1rem}.brand{font-size:1rem}.brand span{display:inline-block;margin:.3rem 0 0}
nav{width:100%;flex-wrap:wrap;gap:.2rem 1rem}nav a,.link{display:inline-flex;align-items:center;padding:0 .2rem}
main{padding:1.2rem 4vw 3rem}h1{font-size:1.7rem;margin-bottom:1rem}h2{font-size:1.1rem;margin:1.5rem 0 .6rem}
.card{padding:1rem}form .btn{width:100%;text-align:center}.btn.sm{width:auto}
td,th{padding:.7rem .25rem;font-size:.95rem}td form{margin:0}
.dots{gap:.4rem}.dots i{width:1.9rem;height:1.9rem}.qr{padding:10px}
video{max-height:45vh}.res{font-size:1.2rem;padding:1.2rem}.res b{font-size:2rem}
footer{padding:1.5rem 4vw}}
@media(max-width:360px){.dots i{width:1.6rem;height:1.6rem}.pts{font-size:3rem}}
.chk{display:flex;gap:.7rem;align-items:flex-start;margin-top:1.1rem;color:var(--tx);font-size:.9rem}.chk input{width:1.4rem;height:1.4rem;min-height:0;flex:none;margin-top:.1rem}
/* Rock-Pass Design */
body{background:radial-gradient(900px 400px at 50% -80px,rgba(225,6,0,.16),transparent),var(--bg)}
header{background:linear-gradient(#000,#0b0b0b);border-bottom:2px solid var(--red)}
h1:after{content:"";display:block;width:56px;height:4px;background:var(--red);margin-top:.5rem}
.btn{transition:transform .1s,box-shadow .2s}.btn:hover{box-shadow:0 0 18px rgba(225,6,0,.5)}.btn:active{transform:scale(.98)}
.ticket{position:relative;max-width:420px;margin:0 auto 1.5rem;border-radius:20px;overflow:hidden;background:linear-gradient(165deg,#1f1f1f,#0e0e0e);border:1px solid #333;box-shadow:0 18px 50px rgba(225,6,0,.22)}
.tk-head{display:flex;justify-content:space-between;align-items:center;padding:.9rem 1.2rem;background:repeating-linear-gradient(135deg,rgba(0,0,0,.18) 0 10px,transparent 10px 20px),var(--red)}
.tk-brand{font:800 1rem "Bebas Neue",Impact,"Arial Narrow",sans-serif;letter-spacing:.08em}.tk-brand b{color:#000}.tk-tag{font:800 .8rem "Bebas Neue",Impact,sans-serif;letter-spacing:.2em;background:#000;padding:.25rem .6rem;border-radius:4px}
.tk-body{padding:1.4rem 1.4rem 1.2rem;text-align:center}.tk-name{font:800 1.5rem/1.1 "Bebas Neue",Impact,"Arial Narrow",sans-serif;letter-spacing:.05em;text-transform:uppercase}.tk-sub{color:var(--mu);font-size:.85rem}
.tk-pts{margin:1rem 0 .6rem}.tk-pts b{display:block;font:800 5rem/1 "Bebas Neue",Impact,sans-serif;background:linear-gradient(#ff5a4d,var(--red));-webkit-background-clip:text;background-clip:text;color:transparent}.tk-pts span{color:var(--mu);text-transform:uppercase;letter-spacing:.12em;font-size:.8rem}
.steps{display:flex;justify-content:center;gap:.5rem;margin:1rem 0 .8rem}.steps i{width:2.6rem;height:2.6rem;border-radius:50%;border:2px solid #444;display:flex;align-items:center;justify-content:center;font:normal 700 .95rem system-ui;color:#777}
.steps i.on{background:var(--red);border-color:var(--red);color:#fff;box-shadow:0 0 14px rgba(225,6,0,.6)}.steps i.last{border-color:#d4a017;font-size:1.2rem}.steps i.last.on{background:#d4a017;box-shadow:0 0 16px rgba(212,160,23,.7)}
.tk-hint{margin:0;color:#ddd;font-size:.95rem}
.tk-perf{position:relative;border-top:2px dashed #3a3a3a;margin:0 1rem}.tk-perf:before,.tk-perf:after{content:"";position:absolute;top:-14px;width:26px;height:26px;border-radius:50%;background:var(--bg);border:1px solid #333}.tk-perf:before{left:-30px}.tk-perf:after{right:-30px}
.tk-qr{padding:1.4rem;text-align:center}.tk-qr .qr{border-radius:14px;box-shadow:0 0 0 4px #1a1a1a,0 0 0 5px var(--red)}.tk-code{margin-top:.9rem;font:600 .95rem ui-monospace,Menlo,monospace;letter-spacing:.12em;color:var(--mu)}.tk-qr p{margin:.2rem 0 0;color:#888;font-size:.85rem}
.gift{max-width:420px;margin:0 auto 1.5rem;padding:1rem 1.2rem;border-radius:12px;background:linear-gradient(135deg,#3a2c00,#1c1500);border:1px solid #d4a017;color:#ffe08a;text-align:center}
.row{display:flex;justify-content:space-between;padding:.5rem 0;border-bottom:1px solid var(--line)}.row:last-child{border:0}.hot{color:#ffd24d}
.card{border-radius:12px}
.bm{max-width:420px;margin:0 auto 1.5rem;text-align:center}.bm .btn{margin-top:0;background:#222;border:1px solid var(--red)}.bm .card{margin:.8rem 0 0;text-align:left;font-size:.95rem}
.tk-bar{height:4px;background:#333;border-radius:2px;margin:.9rem auto 0;max-width:220px;overflow:hidden}.tk-bar i{display:block;height:100%;background:var(--red);width:100%;transition:width .5s linear}

/* Login modern */
main:has(.auth-grid){max-width:1000px}.auth-grid{display:grid;gap:1.8rem;align-items:center}
.hero-tag{display:inline-block;padding:.25rem .7rem;border:1px solid var(--red);color:var(--red);font:800 .75rem "Bebas Neue",Impact,sans-serif;letter-spacing:.25em;text-transform:uppercase;border-radius:3px}
.hero-h{font:800 2.3rem/1.05 "Bebas Neue",Impact,"Arial Narrow",sans-serif;text-transform:uppercase;letter-spacing:.02em;margin:.8rem 0}.hero-h em{font-style:normal;background:linear-gradient(90deg,#ff5a4d,var(--red));-webkit-background-clip:text;background-clip:text;color:transparent}
.hero-p{color:#cfcfcf;margin:0 0 1.2rem}
.how{list-style:none;padding:0;margin:0 0 1.5rem;display:grid;gap:.6rem}.how li{display:flex;align-items:center;gap:.8rem;padding:.7rem .9rem;background:rgba(255,255,255,.04);border:1px solid var(--line);border-radius:10px}.how b{flex:none;width:2.2rem;height:2.2rem;border-radius:50%;background:var(--red);display:flex;align-items:center;justify-content:center;font:800 1rem "Bebas Neue",Impact,sans-serif;box-shadow:0 0 14px rgba(225,6,0,.5)}
.mini{display:none;max-width:290px;transform:rotate(-3deg);border-radius:14px;overflow:hidden;border:1px solid #333;background:linear-gradient(165deg,#222,#0e0e0e);box-shadow:0 14px 40px rgba(225,6,0,.25)}
.mini-h{display:flex;justify-content:space-between;align-items:center;padding:.5rem .8rem;background:var(--red);font:800 .75rem "Bebas Neue",Impact,sans-serif;letter-spacing:.08em}.mini-h b{color:#000}.mini-h i{font-style:normal;background:#000;padding:.1rem .4rem;border-radius:3px;font-size:.65rem;letter-spacing:.15em}
.mini-b{display:flex;align-items:center;gap:1rem;padding:.9rem 1rem}.mini-n{font:800 3rem/1 "Bebas Neue",Impact,sans-serif;color:var(--red)}.mini-s{display:flex;gap:.3rem}.mini-s u{width:1.5rem;height:1.5rem;border:2px solid #444;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:.8rem;text-decoration:none}.mini-s u.on{background:var(--red);border-color:var(--red)}.mini-s u.g{border-color:#d4a017}
.card.auth{padding:1.6rem;background:rgba(22,22,22,.85);backdrop-filter:blur(8px);border-radius:16px;box-shadow:0 20px 60px rgba(0,0,0,.5);border-top:3px solid var(--red)}.card.auth h2{margin:0 0 .4rem;font:800 1.5rem "Bebas Neue",Impact,"Arial Narrow",sans-serif;text-transform:uppercase;letter-spacing:.04em}
.card.auth input{border-radius:10px;background:#0c0c0c}.lrow{display:flex;justify-content:space-between;align-items:flex-end}.lrow a{font-size:.85rem}
.pwrap{position:relative}.pwrap input{padding-right:3.2rem}.eye{position:absolute;right:.2rem;top:0;height:100%;width:3rem;background:none;border:0;color:var(--mu);font-size:1.1rem;cursor:pointer}
.card.auth .btn{width:100%;border-radius:10px;padding:1rem;font-size:1.05rem;letter-spacing:.04em}.alt{text-align:center;color:var(--mu);margin:1.2rem 0 0}
@media(min-width:800px){.auth-grid{grid-template-columns:1.1fr .9fr;gap:3rem}.hero-h{font-size:3.2rem}.mini{display:block;margin-top:.5rem}.how{max-width:420px}}
/* Pass modern */
main:has(.pass-grid){max-width:1000px}.pass-grid{display:grid;gap:1.5rem}.pcol .ticket,.pcol .bm,.pcol .gift{margin-left:auto;margin-right:auto}
.ticket:after{content:"";position:absolute;inset:0;background:linear-gradient(115deg,transparent 40%,rgba(255,255,255,.08) 50%,transparent 60%);transform:translateX(-100%);animation:sh 6s ease-in-out infinite;pointer-events:none}@keyframes sh{60%,100%{transform:translateX(100%)}}
.ticket.glow{animation:gl 2.4s ease-in-out infinite;border-color:#d4a017}@keyframes gl{50%{box-shadow:0 18px 60px rgba(212,160,23,.45)}}
.steps{position:relative;max-width:300px;justify-content:space-between;gap:0}.steps:before{content:"";position:absolute;left:1.3rem;right:1.3rem;top:50%;height:3px;background:#333;transform:translateY(-50%)}
.steps:after{content:"";position:absolute;left:1.3rem;top:50%;height:3px;width:calc((100% - 2.6rem)*var(--p,0));background:linear-gradient(90deg,#ff5a4d,var(--red));box-shadow:0 0 10px var(--red);transform:translateY(-50%);transition:width 1s}.steps i{position:relative;z-index:1;background:#141414}.steps i.on{background:var(--red)}.steps i.last.on{background:#d4a017}
.gift{display:flex;flex-direction:column;gap:.2rem;font-size:1.05rem;animation:gl 2.4s ease-in-out infinite}.gift span{font-size:.9rem;opacity:.85}
.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:.7rem;margin-bottom:1rem}.stats div{background:rgba(255,255,255,.04);border:1px solid var(--line);border-radius:12px;padding:.9rem .4rem;text-align:center}.stats b{display:block;font:800 1.9rem/1 "Bebas Neue",Impact,sans-serif;color:var(--red)}.stats span{font-size:.75rem;color:var(--mu);text-transform:uppercase;letter-spacing:.1em}
.rlist{display:grid;gap:.6rem}.ri{display:flex;align-items:center;gap:.9rem;padding:.8rem 1rem;background:linear-gradient(135deg,#2b2100,#161100);border:1px solid #d4a017;border-radius:12px}.ri small{display:block;color:var(--mu)}.ri em{margin-left:auto;font-style:normal;font-weight:700;color:#ffd24d}.ri.used{background:var(--card);border-color:var(--line);opacity:.6}.ri.used em{color:var(--mu)}.ric{font-size:1.6rem}
.tl{list-style:none;margin:0;padding:0 0 0 1.2rem;border-left:2px solid var(--line)}.tl li{position:relative;padding:.4rem 0 .9rem 1rem}.tl li:before{content:"";position:absolute;left:-1.62rem;top:.7rem;width:.8rem;height:.8rem;border-radius:50%;background:var(--red);box-shadow:0 0 10px rgba(225,6,0,.7)}.tl small{display:block;color:var(--mu)}
@media(min-width:800px){.pass-grid{grid-template-columns:420px 1fr;gap:3rem;align-items:start}.pcol:first-child{position:sticky;top:1.5rem}h2:first-child{margin-top:0}}
@media(prefers-reduced-motion:reduce){.ticket:after,.ticket.glow,.gift{animation:none}}

/* Menü: Links und Logout auf einer Linie */
nav{align-items:center}nav a,nav .link{display:inline-flex;align-items:center;min-height:44px;line-height:1.2;padding:0 .2rem}nav form{display:flex;align-items:center;margin:0}

/* Menü modern */
nav{gap:.2rem;padding:.25rem;border-radius:999px;background:rgba(255,255,255,.04);border:1px solid #262626}
nav a,nav .link{padding:0 1.1rem;border-radius:999px;color:#cfcfcf;font-weight:500;letter-spacing:.01em;text-decoration:none;transition:background .2s,color .2s,box-shadow .2s,border-color .2s}
nav a:hover,nav .link:hover{background:rgba(255,255,255,.08);color:#fff}
nav a.act{color:#fff;background:rgba(225,6,0,.18);box-shadow:inset 0 0 0 1px rgba(225,6,0,.6),0 0 14px rgba(225,6,0,.25)}
nav a.cta{background:var(--red);color:#fff}nav a.cta:hover{box-shadow:0 0 16px rgba(225,6,0,.55)}
nav form .link{border:1px solid #333;margin-left:.3rem;cursor:pointer;background:none}nav form .link:hover{border-color:var(--red);color:#fff}
@media(max-width:600px){nav{width:100%;gap:.15rem;justify-content:space-between}nav a,nav .link{flex:1;justify-content:center;padding:0 .4rem;min-height:42px;font-size:.95rem}nav form{flex:1}nav form .link{width:100%;margin:0}}
.pbar{max-width:300px;height:8px;border-radius:4px;background:#333;margin:1.2rem auto .9rem;overflow:hidden}.pbar i{display:block;height:100%;background:linear-gradient(90deg,#ff5a4d,var(--red));box-shadow:0 0 10px var(--red)}.trow{display:grid;grid-template-columns:120px 1fr;gap:.8rem}
.cinfo{display:flex;flex-direction:column;gap:.1rem;border-left:4px solid var(--red)}.cinfo b{font:400 1.5rem "Bebas Neue",Impact,sans-serif;letter-spacing:.04em}

/* Linien-Icons */
.ic{width:1.1em;height:1.1em;vertical-align:-.17em;flex:none}
.steps i .ic{width:1.15rem;height:1.15rem}.gift .ic{width:1.3rem;height:1.3rem;vertical-align:-.28em;margin-right:.2rem}.ric .ic{width:1.7rem;height:1.7rem;color:#d4a017}.mini-s u .ic{width:.85rem;height:.85rem}.how b .ic{width:1.1rem;height:1.1rem}.bm .btn .ic{margin-right:.4rem;vertical-align:-.2em}
.eye .ic{width:1.2rem;height:1.2rem}.eye .ic+.ic{display:none}.eye.on .ic{display:none}.eye.on .ic+.ic{display:inline}
.res .big{width:4.5rem;height:4.5rem;stroke-width:2.2}
.auth-done{text-align:center;max-width:480px;margin:1.5rem auto}.auth-done .big{width:3.5rem;height:3.5rem;color:#2fb344}.auth-done .btn{display:inline-block;width:auto;padding:.9rem 1.6rem}

/* Bonus-Liste */
.blist{max-width:420px;margin:0 0 1.5rem;border:1px solid var(--line);border-radius:12px;background:rgba(255,255,255,.04);overflow:hidden}
.blist-h{padding:.6rem .9rem;font:400 1.15rem "Bebas Neue",Impact,sans-serif;letter-spacing:.1em;text-transform:uppercase;color:var(--red);border-bottom:1px solid var(--line)}
.bl{display:flex;align-items:center;gap:.7rem;padding:.7rem .9rem;border-bottom:1px solid #222}.bl:last-child{border:0}.bl .ic{color:#d4a017;width:1.25rem;height:1.25rem}.bl span{margin-left:auto;color:var(--mu);font-size:.9rem;text-align:right}

/* Popup Datenschutz / Impressum */
.pm{position:fixed;inset:0;z-index:100;display:flex;align-items:center;justify-content:center;padding:1rem;background:rgba(0,0,0,.78);backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px)}
.pm-box{width:min(780px,100%);max-height:calc(100vh - 2rem);max-height:calc(100dvh - 2rem);display:flex;flex-direction:column;background:#111;border:1px solid #333;border-top:3px solid var(--red);border-radius:14px;box-shadow:0 24px 80px rgba(0,0,0,.7)}
.pm-h{display:flex;justify-content:space-between;align-items:center;padding:.8rem 1.1rem;border-bottom:1px solid var(--line)}.pm-h h2{margin:0;font:400 1.6rem "Bebas Neue",Impact,sans-serif;letter-spacing:.06em;text-transform:uppercase}
.pm-x{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;border-radius:50%;background:none;border:1px solid #333;color:#fff;cursor:pointer}.pm-x:hover{border-color:var(--red)}.pm-x .ic{width:1.3rem;height:1.3rem}
.pm-b{overflow:auto;-webkit-overflow-scrolling:touch;padding:1.1rem 1.2rem 1.6rem}.pm-b .lg{margin-bottom:1.5rem}.pm-b h3{margin:0 0 .5rem;font:400 1.35rem "Bebas Neue",Impact,sans-serif;letter-spacing:.05em}.pm-b .lgn{color:var(--red);margin-right:.4rem}.pm-b p,.pm-b li{color:#d6d6d6;font-size:.95rem;line-height:1.55}.pm-b ul{padding-left:1.2rem}.pm-b a{color:var(--red)}
.pm-box,.pm-b{min-width:0}.pm-b{overflow-x:hidden;overflow-wrap:anywhere;word-break:break-word}.pm-b *{max-width:100%;box-sizing:border-box}.pm-b table{display:block;overflow-x:auto}.pm-b img{height:auto}.pm-b pre{white-space:pre-wrap}
.how a{color:inherit;text-decoration:underline;text-decoration-color:var(--red);text-decoration-thickness:2px;text-underline-offset:4px}.how a:hover{color:var(--red)}
.tk-qr .qr{cursor:pointer}
.qrfull{position:fixed;inset:0;z-index:200;background:#fff;color:#111;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1.2rem;padding:1rem;cursor:pointer}.qrfull[hidden]{display:none}.qrfull #qrbig svg{width:min(88vw,68vh,520px)!important;height:auto!important;display:block}.qrfull p{margin:0;color:#444}.qrfull .tk-bar{background:#ddd;width:min(88vw,520px);max-width:none}

/* Abzeichen */
.bdg-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(110px,1fr));gap:.7rem}.bdg{border:1px solid #d4a017;border-radius:12px;padding:.9rem .5rem;text-align:center;background:linear-gradient(135deg,#2b2100,#161100)}.bdg .ic{width:2rem;height:2rem;color:#ffd24d;display:block;margin:0 auto .4rem}.bdg b{display:block;font-size:.9rem}.bdg small{color:var(--mu);font-size:.75rem}.bdg.lock{background:var(--card);border-color:var(--line);opacity:.55}.bdg.lock .ic{color:#777}
.sp{color:#ffd24d}.wx{margin-left:.5rem;color:#ffd24d;font-size:.8rem;font-style:normal}

/* Nächstes Konzert, Chronik, Feedback */
.nextc{display:flex;flex-direction:column;gap:.35rem;border-left:4px solid var(--red)}.nextc .hero-tag{align-self:flex-start}.nc-t{font:400 1.7rem/1.1 "Bebas Neue",Impact,sans-serif;letter-spacing:.04em}.nc-d{color:#ddd}.nc-r{display:flex;flex-wrap:wrap;align-items:center;gap:.7rem;margin-top:.4rem}.nc-r .btn.sm{margin:0;margin-left:auto}.sp{display:inline-block;padding:.15rem .6rem;border:1px solid #d4a017;color:#ffd24d;border-radius:999px;font-size:.8rem}
.stamps{display:grid;grid-template-columns:repeat(auto-fill,minmax(138px,1fr));gap:.8rem}.st{position:relative;border:2px dashed #4a4a4a;border-radius:12px;padding:.8rem .5rem;text-align:center;transform:rotate(-1.2deg);background:rgba(255,255,255,.03)}.st:nth-child(even){transform:rotate(1.2deg)}.st small{display:block;color:var(--mu);letter-spacing:.12em;font-size:.72rem}.st b{display:block;font:400 2.8rem/1 "Bebas Neue",Impact,sans-serif;color:var(--red)}.st span{display:block;font-size:.85rem;line-height:1.25}.st .wx{position:absolute;top:-.5rem;right:-.4rem;font-style:normal;font-size:.75rem;font-weight:700;background:#d4a017;color:#000;border-radius:999px;padding:.1rem .45rem}
.fbcard{display:flex;flex-direction:column;gap:.7rem}.fbcard .btn.sm{align-self:flex-start;margin:0}.fbcard textarea{width:100%;padding:.8rem;background:#0f0f0f;color:var(--tx);border:1px solid var(--line);border-radius:10px;font:inherit;resize:vertical}
.rate{display:inline-flex;flex-direction:row-reverse;justify-content:flex-end;gap:.15rem}.rate input{position:absolute;opacity:0;width:1px;height:1px}.rate label{cursor:pointer;color:#555;line-height:1}.rate label .ic{width:2.1rem;height:2.1rem}.rate input:checked~label,.rate label:hover,.rate label:hover~label{color:#ffd24d}.rate input:checked~label svg,.rate label:hover svg,.rate label:hover~label svg{fill:currentColor}.rate input:focus-visible+label{outline:2px solid var(--red);outline-offset:2px;border-radius:6px}

/* Live-Zähler, Tagesabschluss */
.live{display:grid;grid-auto-flow:column;grid-auto-columns:1fr;gap:.6rem;margin:.8rem 0}.live div{background:rgba(255,255,255,.04);border:1px solid var(--line);border-radius:12px;padding:.6rem .3rem;text-align:center}.live b{display:block;font:400 2rem/1 "Bebas Neue",Impact,sans-serif;color:var(--red)}.live span{font-size:.7rem;color:var(--mu);text-transform:uppercase;letter-spacing:.08em}
.stats4{grid-template-columns:repeat(2,1fr)}@media(min-width:700px){.stats4{grid-template-columns:repeat(4,1fr)}}
@media print{header,footer,.noprint,nav{display:none!important}body{background:#fff!important;color:#000!important}main{max-width:none}.card,.stats div{background:#fff!important;border:1px solid #999!important;color:#000!important;box-shadow:none!important}.stats b,.nc-t{color:#000!important}.mu,.stats span{color:#333!important}table,td,th{color:#000!important;border-color:#bbb!important}}

/* Nächste Konzerte */
.nextl .hero-tag{margin-bottom:.4rem}.nl{display:flex;align-items:center;gap:.9rem;padding:.8rem 0;border-top:1px solid var(--line)}.nl-d{flex:none;width:3.4rem;text-align:center;border:1px solid var(--line);border-radius:10px;padding:.35rem 0}.nl-d small{display:block;font-size:.65rem;letter-spacing:.1em;color:var(--mu)}.nl-d b{display:block;font:400 1.7rem/1 "Bebas Neue",Impact,sans-serif;color:var(--red)}.nl.first .nl-d{border-color:var(--red)}.nl-i{flex:1;min-width:0;display:flex;flex-direction:column;align-items:flex-start;gap:.15rem}.nl-i b{font-weight:600;line-height:1.25}.nl .btn.sm{margin:0;flex:none}

/* Konzertseite, Rock-Jahr */
.btn.alt2{background:#262626;border:1px solid #3a3a3a}.btn.alt2:hover{border-color:var(--red)}.btn.sm .ic{margin-right:.15rem}
.kc{display:flex;flex-direction:column;gap:.5rem;border-left:4px solid var(--red)}.kbtn{display:flex;flex-wrap:wrap;gap:.6rem;margin-top:.3rem}.kbtn .btn,.kmerk .btn{margin:0}.kmerk{display:flex;flex-wrap:wrap;align-items:center;gap:.6rem}
.band{display:grid;gap:1rem}.band-img img{width:100%;height:auto;max-height:340px;object-fit:cover;border-radius:10px;display:block}.band-img small{display:block;color:var(--mu);font-size:.72rem;margin-top:.3rem}.band-t h3{margin:0 0 .4rem;font:400 1.6rem "Bebas Neue",Impact,sans-serif;letter-spacing:.05em}.band-t p{margin:.4rem 0;color:#d6d6d6}.band-m{display:flex;flex-wrap:wrap;gap:.6rem;margin-top:.8rem}.band-m .btn{margin:0}
@media(min-width:760px){.band{grid-template-columns:260px 1fr}}
.anf .ar{display:grid;grid-template-columns:130px 1fr auto;gap:.8rem;align-items:start;padding:.7rem 0;border-top:1px solid var(--line)}.anf .ar:first-child{border-top:0;padding-top:0}.anf .ar span{color:#d6d6d6}.anf .btn{margin:0}@media(max-width:560px){.anf .ar{grid-template-columns:1fr}}
.nl-i b a{color:inherit;text-decoration:underline;text-decoration-color:var(--red);text-underline-offset:3px}
.jh .row b{text-align:right}

/* Mini-Pass (Login/Registrierung): verkleinerte Kopie des echten Pass */
.mini{width:318px;max-width:100%;border:0;background:none;box-shadow:none;border-radius:0;overflow:visible;transform:rotate(-3deg);margin:.5rem 0 0 .4rem}
.mini .ticket{zoom:.74;margin:0;max-width:none;width:420px;pointer-events:none}
.mini .tk-qr .qr{cursor:default}.mini .tk-qr .qr svg{display:block;width:150px;height:150px}
