:root{--bg:#091524;--accent:#96dcff;--text:#f1f7ff;--muted:#abc0d4;--surface:#11243a;--line:#2c445b;color-scheme:dark;font-family:system-ui,-apple-system,"Segoe UI",sans-serif;font-size:16px}
*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);line-height:1.6}a{color:var(--accent);text-underline-offset:4px}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit;cursor:pointer}button:disabled{opacity:.6;cursor:wait}button:focus-visible,a:focus-visible,[tabindex]:focus-visible{outline:3px solid var(--accent);outline-offset:4px}img{max-width:100%;display:block}h1,h2,h3,p{margin-top:0}h1{font-size:clamp(30px,6vw,48px);line-height:1.1;letter-spacing:-.04em;margin-bottom:16px;text-wrap:balance}h2{font-size:24px;line-height:1.2;letter-spacing:-.03em}h3{font-size:19px;line-height:1.3;letter-spacing:-.02em}p{margin-bottom:18px}.muted{color:var(--muted)}.small{font-size:13px}.eyebrow{font-size:11px;font-weight:800;color:var(--accent);text-transform:uppercase;letter-spacing:.1em;margin-bottom:12px}.tag{display:inline-flex;font-size:10px;letter-spacing:.14em;font-weight:850;color:#c8edff;background:#214261;border:1px solid #3e6482;border-radius:30px;padding:6px 10px}
.app-shell{width:min(980px,100%);margin:auto;padding:0 24px max(115px,calc(90px + env(safe-area-inset-bottom)));min-height:100svh}.app-header{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:24px 0;border-bottom:1px solid var(--line);margin-bottom:25px}.brand{display:flex;align-items:center;gap:12px;text-decoration:none;color:var(--text);min-width:0}.brand strong{font-size:14px;line-height:1.16;display:block;letter-spacing:-.02em;max-width:270px;text-wrap:balance}.brand small{display:block;font-size:9px;letter-spacing:.17em;color:var(--accent);margin-top:6px;font-weight:700}.brand-mark{display:grid;place-items:center;width:52px;height:52px;flex:0 0 52px;border:none;border-radius:0;background:transparent;color:var(--accent);font-weight:900;padding:0}.brand-mark img{width:100%;height:100%;object-fit:contain;display:block}.icon-button{width:44px;height:44px;flex:0 0 44px;background:linear-gradient(145deg,#17344e,#11263b);color:var(--accent);border:1px solid #35556d;border-radius:14px;font-size:24px;box-shadow:0 8px 20px rgba(0,0,0,.12);transition:transform .16s ease,border-color .16s ease}.icon-button:active{transform:scale(.96)}.header-actions{display:flex;align-items:center;gap:8px}.header-actions .icon-button{display:grid;place-items:center;text-decoration:none;line-height:1}
.hero{position:relative;overflow:hidden;padding:30px 32px;border-radius:26px;border:1px solid #406986;background:radial-gradient(circle at 92% 8%,rgba(150,220,255,.18),transparent 34%),radial-gradient(ellipse at 0% 100%,rgba(55,112,153,.22),transparent 55%),linear-gradient(135deg,#183a58,#0f2338);margin-bottom:30px;isolation:isolate;box-shadow:0 18px 42px rgba(0,0,0,.16)}.hero:after{content:"";position:absolute;inset:0;border-radius:inherit;background:linear-gradient(115deg,rgba(255,255,255,.035),transparent 38%);pointer-events:none}.hero h1{max-width:540px;position:relative;z-index:1;margin:20px 0 14px;font-size:clamp(36px,6.5vw,59px);line-height:1.04}.hero p{max-width:500px;color:#c9dbea;position:relative;z-index:1;margin-bottom:0;font-size:16px}.hero .tag{position:relative;z-index:1;background:rgba(30,67,96,.72);backdrop-filter:blur(8px)}.hero-mark{position:absolute;right:-18px;bottom:-58px;font-size:190px;font-weight:950;color:#aedfff0c;letter-spacing:-.09em;transform:rotate(-9deg);pointer-events:none}
.module{margin-bottom:32px}.section-heading{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:15px}.section-heading h2{letter-spacing:-.035em}.section-heading h2,.section-heading h1{margin-bottom:0;overflow-wrap:anywhere}.text-link{font-size:13px;font-weight:750}.section-heading .text-link{white-space:nowrap}.content-card{padding:25px;border:1px solid var(--line);border-radius:20px;background:linear-gradient(145deg,#132941,#102238);box-shadow:0 12px 30px rgba(0,0,0,.09)}.content-card h2{font-size:23px}.module-text{white-space:pre-line;overflow-wrap:anywhere}.module-banner .content-card{border-left:4px solid var(--accent);background:#173752}.module-image{border-radius:14px;margin:12px 0 20px;max-height:480px;object-fit:contain;width:100%}.countdown{font-variant-numeric:tabular-nums;font-weight:850;font-size:clamp(23px,5vw,40px);line-height:1.3;color:var(--accent)}
.button,.primary,.secondary{display:inline-flex;align-items:center;justify-content:center;min-height:46px;border-radius:13px;padding:11px 17px;font-size:14px;line-height:1.5;font-weight:800;text-decoration:none;border:1px solid var(--accent);background:var(--accent);color:#092139;transition:transform .16s ease,background .16s ease,border-color .16s ease}.button:active,.primary:active,.secondary:active{transform:scale(.98)}.button:hover,.primary:hover{background:#d2efff;color:#092139}.secondary{background:#17334c;color:#eaf7ff;border-color:#426984}.secondary:hover{background:#234b68}.pager{display:flex;gap:14px;justify-content:space-between;margin-top:20px}
.news-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.news-card{display:flex;flex-direction:column;color:var(--text);text-decoration:none;border:1px solid var(--line);border-radius:19px;overflow:hidden;background:linear-gradient(145deg,#132941,#102238);min-width:0;box-shadow:0 10px 26px rgba(0,0,0,.08);transition:transform .16s ease,border-color .16s ease}.news-card:active{transform:scale(.99)}.news-image{aspect-ratio:16/10;width:100%;object-fit:cover}.news-placeholder{aspect-ratio:16/10;display:grid;place-items:center;background:linear-gradient(130deg,#1b4161,#132238);color:#7ec0ea44;font-size:70px;font-weight:950;letter-spacing:-.08em}.news-copy{padding:20px;display:flex;flex-direction:column;flex:1}.news-copy h3{overflow-wrap:anywhere}.news-copy p{font-size:14px;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.news-copy time{display:block}.read-more{margin-top:auto;font-size:13px;font-weight:800;color:var(--accent)}.news-card:hover{border-color:var(--accent)}
.team-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.team-card{position:relative;display:flex;flex-direction:column;text-decoration:none;color:var(--text);background:linear-gradient(145deg,#132941,#102238);border:1px solid var(--line);border-radius:19px;overflow:hidden;box-shadow:0 10px 26px rgba(0,0,0,.08);transition:transform .16s ease,border-color .16s ease}.team-card:active{transform:scale(.99)}.team-image{width:100%;aspect-ratio:16/9;object-fit:cover}.team-copy{padding:22px}.team-copy h3{margin:12px 0 8px}.team-copy .muted{font-size:12px}.team-mark{font-weight:900;font-size:25px;color:var(--accent)}.link-list{display:grid;gap:10px;margin-bottom:18px}.list-link{display:block;padding:15px 16px;border:1px solid var(--line);border-radius:12px;font-weight:700;text-decoration:none;color:var(--text);background:#182e45}.list-link:hover{border-color:var(--accent)}
.app-nav{display:flex;justify-content:space-around;position:fixed;bottom:0;left:50%;transform:translateX(-50%);width:min(980px,100%);padding:8px 10px max(11px,env(safe-area-inset-bottom));background:rgba(11,30,48,.96);border:1px solid #29465d;border-bottom:0;z-index:20;border-radius:24px 24px 0 0;backdrop-filter:blur(22px);box-shadow:0 -14px 38px rgba(0,0,0,.18)}.nav-item{display:flex;flex-direction:column;align-items:center;justify-content:center;color:#a7bed2;text-decoration:none;min-height:62px;flex:1;min-width:0;border-radius:15px;padding:5px 2px;font-size:9.2px;font-weight:780;line-height:1.05;text-align:center;gap:3px;letter-spacing:-.015em}.nav-icon{display:grid;place-items:center;width:28px;height:28px;flex:0 0 28px;font-size:22px;line-height:1}.nav-icon-img{display:block;width:100%;height:100%;object-fit:contain;opacity:.68;filter:saturate(.72) brightness(.92);transition:opacity .16s ease,filter .16s ease,transform .16s ease}.nav-icon.has-image{position:relative;isolation:isolate}.nav-icon.has-image:after{content:'';position:absolute;inset:0;pointer-events:none;opacity:0;transition:opacity .18s ease,filter .18s ease;mix-blend-mode:color;background:var(--accent);-webkit-mask-position:center;mask-position:center;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-size:contain;mask-size:contain}.nav-item[data-nav-kind=home] .nav-icon.has-image:after{-webkit-mask-image:url('nav-icons/nav-home.png');mask-image:url('nav-icons/nav-home.png')}.nav-item[data-nav-kind=matchcenter] .nav-icon.has-image:after{-webkit-mask-image:url('nav-icons/nav-matchcenter.png');mask-image:url('nav-icons/nav-matchcenter.png')}.nav-item[data-nav-kind=teams] .nav-icon.has-image:after{-webkit-mask-image:url('nav-icons/nav-teams.png');mask-image:url('nav-icons/nav-teams.png')}.nav-item[data-nav-kind=fan_pass] .nav-icon.has-image:after{-webkit-mask-image:url('nav-icons/nav-fanpass.png');mask-image:url('nav-icons/nav-fanpass.png')}.nav-item[data-nav-kind=more] .nav-icon.has-image:after{-webkit-mask-image:url('nav-icons/nav-more.png');mask-image:url('nav-icons/nav-more.png')}.nav-item[data-nav-kind=matchcenter] .nav-icon-img{width:31px}.nav-label{display:block;max-width:100%;white-space:normal;overflow:visible;text-overflow:clip;overflow-wrap:normal;word-break:normal;text-wrap:balance}.nav-item[aria-current]{color:#d7f3ff;background:linear-gradient(145deg,#2a506d,#21435d);box-shadow:inset 0 0 0 1px rgba(150,220,255,.09)}.nav-item[aria-current] .nav-icon-img{opacity:1;filter:saturate(1.08) brightness(1.08) drop-shadow(0 2px 7px rgba(78,190,255,.2));transform:translateY(-1px) scale(1.04)}body.fan-app-theme-enabled .nav-icon.has-image:after{opacity:.5}body.fan-app-theme-enabled .nav-item[aria-current] .nav-icon.has-image:after{opacity:.74}body.fan-app-theme-vhsglitch .nav-icon.has-image:after{background:linear-gradient(135deg,var(--accent) 18%,#ff78c8 82%);opacity:.62}body.fan-app-theme-neon .nav-icon.has-image:after{background:linear-gradient(135deg,var(--accent) 18%,#f68cff 84%);opacity:.65}body.fan-app-theme-hologram .nav-icon.has-image:after{background:linear-gradient(135deg,var(--accent),#ff9ee8 50%,#ffe58d);opacity:.58}body.fan-app-theme-cosmicgold .nav-icon.has-image:after,body.fan-app-theme-mvp .nav-icon.has-image:after,body.fan-app-theme-gold .nav-icon.has-image:after,body.fan-app-theme-legendaer .nav-icon.has-image:after{background:linear-gradient(145deg,#fff0a8,var(--accent) 55%,#c4952a);opacity:.63}body.fan-app-theme-blackout .nav-icon.has-image:after,body.fan-app-theme-comicnoir .nav-icon.has-image:after{background:linear-gradient(145deg,#fff,var(--accent) 58%,#8f98a1);opacity:.72}@supports not (mix-blend-mode:color){body.fan-app-theme-enabled .nav-icon.has-image:after{display:none}}.more-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:24px 0}.more-card{display:flex;align-items:center;gap:14px;color:var(--text);text-decoration:none;background:var(--surface);border:1px solid var(--line);border-radius:16px;padding:20px;min-width:0}.more-card strong{flex:1;overflow-wrap:anywhere}.more-icon{color:var(--accent);font-size:26px}.install-card{margin-bottom:18px}.legal{display:flex;flex-wrap:wrap;gap:20px;margin:30px 0}.notice,.status{padding:15px 18px;border:1px solid #638096;background:#18364e;color:#e5f5ff;border-radius:14px;margin-bottom:20px;font-size:14px}.status{font-size:12px}.loading{padding:45px 10px;color:var(--muted)}[hidden]{display:none!important}.update-bar{display:flex;flex-wrap:wrap;gap:12px;align-items:center;background:#254963;padding:12px;border-radius:12px;margin-bottom:16px}.update-bar button{background:var(--accent);color:#092139;border:0;border-radius:10px;padding:10px;font-weight:750}.section-head{margin:24px 0}.article{font-size:17px;line-height:1.8;margin-bottom:30px;overflow-wrap:anywhere}.article img{max-height:750px;height:auto;margin:20px auto;border-radius:16px}.article figure{margin:20px 0}.article h2{margin-top:30px}.article figcaption{font-size:13px;color:var(--muted)}.article blockquote{border-left:3px solid var(--accent);padding-left:20px;margin-left:0}.article table{display:block;overflow-x:auto}.table-wrap{overflow:auto;border:1px solid var(--line);border-radius:16px}.table-wrap table{width:100%;border-collapse:collapse;white-space:nowrap}.table-wrap td,.table-wrap th{padding:14px;text-align:left;border-bottom:1px solid var(--line)}.match-list{display:grid;gap:12px}.match-card{padding:22px;border:1px solid var(--line);border-radius:18px;background:var(--surface)}.score{font-size:32px;color:var(--accent);display:block}.skip{position:absolute;left:10px;top:-100px;background:white;color:black;padding:12px;z-index:100}.skip:focus{top:10px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
@media(max-width:680px){.app-shell{padding-left:18px;padding-right:18px}.app-header{padding:19px 0;margin-bottom:22px}.hero{padding:25px 24px;border-radius:23px;margin-bottom:28px}.hero h1{max-width:330px;font-size:clamp(36px,10vw,48px);margin-top:18px}.hero p{font-size:15px}.hero-mark{font-size:150px;bottom:-45px;right:-12px}.news-grid{grid-template-columns:1fr}.news-card{display:grid;grid-template-columns:105px minmax(0,1fr)}.news-image,.news-placeholder{aspect-ratio:auto;height:100%;min-height:155px}.news-placeholder{font-size:42px}.news-copy{padding:16px}.news-copy h3{font-size:18px;margin-bottom:10px}.news-copy p{display:none}.news-copy time{font-size:10px}.news-copy .read-more{font-size:12px}.team-copy{padding:17px}.team-copy h3{font-size:19px}.more-grid{grid-template-columns:1fr}.content-card{padding:21px}}
@media(max-width:360px){.app-shell{padding-left:12px;padding-right:12px}.brand strong{font-size:10.5px;max-width:205px}.brand-mark{width:38px;height:38px;flex-basis:38px}.brand{gap:8px}.hero h1{font-size:35px}.team-grid{grid-template-columns:1fr}.news-card{grid-template-columns:85px minmax(0,1fr)}.nav-item{font-size:7.8px;padding-left:0;padding-right:0}.nav-icon{width:25px;height:25px;flex-basis:25px;font-size:20px}.nav-label{line-height:1.02}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}}

/* Install action is visible immediately on home and on the direct install route. */
.install-promo{display:grid;grid-template-columns:50px minmax(0,1fr) auto;align-items:center;gap:8px 18px;margin:0 0 32px;background:linear-gradient(120deg,#1b3a55,#12263c);border-color:#456983}
.install-promo .install-symbol{width:50px;height:58px;display:grid;place-items:center;border:1px solid #83c3e4;border-radius:14px;color:var(--accent);font-size:33px;font-weight:800}
.install-copy h2{font-size:22px;margin:0 0 6px}.install-copy p{margin-bottom:0;font-size:14px}.install-copy .eyebrow{font-size:9px;margin-bottom:7px}.install-action{white-space:nowrap;min-height:50px}.install-note{grid-column:2/-1;margin:4px 0 0;font-size:12px}.install-help{grid-column:1/-1;margin-top:14px;padding:18px;border-radius:14px;background:#0b1c2e;border:1px solid #37556f}.install-help h3{font-size:17px}.install-help ol{padding-left:22px;margin:0;color:#d1e5f4}.install-help li{padding:5px 0}.install-promo.is-installed .install-symbol{opacity:.65}
@media(max-width:680px){.install-promo{grid-template-columns:42px minmax(0,1fr);gap:12px}.install-promo .install-symbol{width:42px;height:50px}.install-action{grid-column:1/-1;width:100%;margin-top:6px}.install-note{grid-column:1/-1}.install-copy h2{font-size:21px}}

/* Push preferences */
.push-options{display:grid;gap:14px;margin-top:14px}.push-fieldset{border:1px solid rgba(150,220,255,.22);border-radius:14px;padding:12px 14px;margin:0;display:grid;gap:9px}.push-fieldset legend{font-weight:800;padding:0 6px}.push-check{display:flex;align-items:center;gap:8px;min-height:34px}.push-check input{width:20px;height:20px;accent-color:var(--accent)}.push-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:14px}

/* First-run notification onboarding */
.push-onboard{position:fixed;inset:0;z-index:80;display:grid;place-items:end center;padding:18px;background:rgba(2,10,19,.78);backdrop-filter:blur(10px)}
.push-onboard-panel{width:min(620px,100%);max-height:min(88vh,820px);overflow:auto;padding:26px;border:1px solid #4d7592;border-radius:24px;background:linear-gradient(150deg,#15324b,#0b1b2c);box-shadow:0 24px 70px #0009;color:var(--text)}
.push-onboard-panel h2{font-size:clamp(24px,6vw,34px);margin-bottom:10px}.push-onboard-panel .push-fieldset{margin-top:14px}.push-onboard-panel .push-actions{position:sticky;bottom:-26px;margin:18px -26px -26px;padding:16px 26px max(18px,env(safe-area-inset-bottom));background:#0b1b2df2;border-top:1px solid var(--line)}

/* Live ticker */
.ticker-live,.ticker-mini{position:relative;border:1px solid #4e7895;border-radius:18px;background:linear-gradient(135deg,#183956,#0d2338);padding:20px;margin-bottom:14px}.ticker-top{display:flex;justify-content:space-between;gap:12px;align-items:center}.ticker-status{font-size:11px;font-weight:900;letter-spacing:.08em;color:var(--accent);text-transform:uppercase}.ticker-opponent{margin:8px 0 0;color:var(--muted)}.ticker-score{display:flex;align-items:center;justify-content:center;gap:14px;margin:12px 0 4px;font-size:clamp(42px,11vw,72px);font-weight:950;line-height:1;color:#fff}.ticker-colon{color:var(--accent)}.ticker-points{text-align:center;margin:0 0 14px;color:#d5eaf8;font-weight:800}.ticker-float{position:fixed;left:50%;bottom:calc(88px + env(safe-area-inset-bottom));transform:translateX(-50%);z-index:45;width:min(430px,calc(100% - 24px));filter:drop-shadow(0 14px 30px #000a)}.ticker-float .ticker-mini{margin:0;padding:12px 44px 12px 14px;border-radius:16px;backdrop-filter:blur(14px)}.ticker-float .ticker-opponent{font-size:12px;margin-top:3px}.ticker-float .ticker-score{position:absolute;right:45px;top:10px;margin:0;font-size:26px;gap:5px}.ticker-float .ticker-points{margin:5px 0 0;text-align:left;font-size:12px}.ticker-close{position:absolute;right:8px;top:8px;width:30px;height:30px;border-radius:50%;border:1px solid #5c7a91;background:#10263a;color:#fff;font-size:20px;line-height:1}

/* Official SAMS ticker sources + native Android updater */
.ticker-source-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:16px}.ticker-source-card{padding:18px;border:1px solid var(--line);border-radius:16px;background:#0d2034}.ticker-source-card h3{margin-bottom:8px}.ticker-source-card p{margin-bottom:10px}.ticker-source-actions{display:flex;flex-wrap:wrap;align-items:center;gap:9px;margin-top:14px}.ticker-fallback-card{margin-top:14px}.android-update-card{margin-top:18px}.android-update-card .primary{margin-top:4px}.android-update-card .small{margin-top:12px;margin-bottom:0}
@media(max-width:680px){.ticker-source-grid{grid-template-columns:1fr}.ticker-source-actions .primary,.ticker-source-actions .secondary{flex:1 1 150px}.android-update-card .primary{width:100%}}
.ticker-kickoff{margin:16px 0 8px;padding:14px 16px;border-radius:14px;background:#102a43;color:#fff;font-size:20px;font-weight:900;text-align:center}.ticker-status.is-live{color:#8df7a5}.official-ticker-state{margin:10px 0 0}.ticker-state-loading>.muted{margin:12px 0}

/* Fixtures: touch-friendly filter, readable source status, no global theme selectors. */
.match-controls{display:flex;flex-wrap:wrap;gap:12px;margin:12px 0 20px}.match-select{max-width:100%;min-height:46px;padding:10px 14px;border:1px solid #54758f;border-radius:12px;background:#10273d;color:#f2f8ff;font:inherit}.match-tabs{display:flex;flex-wrap:wrap;gap:8px}.match-tabs button[aria-pressed=true]{background:#96dcff;color:#092139;border-color:#96dcff}.match-meta{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px}.match-team{color:#a9deff;font-weight:750;margin:18px 0 6px}.match-card{min-width:0}.match-card h3{overflow-wrap:anywhere}.match-card .score{font-variant-numeric:tabular-nums}.match-card .text-link{display:block;margin-top:16px;min-height:44px;padding:10px 0}.match-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr));gap:14px}
@media(max-width:480px){.match-select{width:100%}.match-tabs{width:100%}.match-tabs button{flex:1;padding:10px 8px;font-size:13px}}

/* Standings: legible at small widths, isolated horizontal scrolling. */
.standings-filter{display:grid;gap:8px;margin:0 0 20px}.standings-filter select{width:100%;min-height:48px}.standings-content{min-width:0}.standings-league{font-size:clamp(18px,3vw,24px);margin:20px 0 16px}.standings-wrap:focus-visible{outline:3px solid var(--accent);outline-offset:3px}.standings-table{font-variant-numeric:tabular-nums}.standings-table .standings-name{white-space:normal;min-width:145px;overflow-wrap:anywhere;font-weight:650}.standings-table thead th{font-size:12px;color:var(--muted);background:var(--surface)}.standings-table .is-club{background:#18334b}.standings-table .is-selected{background:#20465f}.standings-table .is-selected td:first-child{box-shadow:inset 4px 0 0 var(--accent);font-weight:900}.standings-badge{display:block;margin-top:5px;color:#b9eaff;font-size:11px;font-weight:700}.standings-table td:nth-child(4){font-weight:850}.standings-content>.small{margin:14px 0 6px}@media(max-width:540px){.standings-table th,.standings-table td{padding:12px 9px;font-size:13px}.standings-table thead th{font-size:11px}}

/* 0.8.0 · Meine Teams */
.favorite-card{margin-bottom:18px}.favorite-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;margin:14px 0}.favorite-check{display:flex;align-items:center;gap:9px;min-height:46px;padding:10px 12px;border:1px solid var(--line);border-radius:12px;background:#0f263b;font-weight:700}.favorite-check input{width:20px;height:20px;accent-color:var(--accent)}.favorite-card .secondary{margin-top:2px}.favorite-badge{display:inline-flex;align-items:center;border:1px solid #567a94;border-radius:999px;padding:4px 8px;color:var(--accent);font-size:9px;font-weight:900;letter-spacing:.08em;white-space:nowrap}

/* 0.8.0 · Matchcenter */
.matchcenter-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,320px),1fr));gap:14px}.matchcenter-card{position:relative;overflow:hidden;padding:22px;border:1px solid #385a73;border-radius:20px;background:linear-gradient(145deg,#142e47,#0e2134)}.matchcenter-card.is-live{border-color:#78d79a;box-shadow:inset 0 0 0 1px #78d79a44}.matchcenter-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:13px}.matchcenter-head>strong{font-size:15px}.matchcenter-status{display:inline-flex;width:max-content;margin-bottom:10px;border-radius:999px;padding:5px 9px;background:#24435d;color:#d9ecfa;font-size:10px;font-weight:900;letter-spacing:.1em}.matchcenter-status.is-live{background:#173f2a;color:#8df7a5}.matchcenter-card h3{font-size:23px;margin-bottom:12px}.matchcenter-score{display:flex;align-items:center;justify-content:center;gap:12px;margin:12px 0 8px;font-size:clamp(44px,10vw,68px);font-weight:950;line-height:1;color:#fff;font-variant-numeric:tabular-nums}.matchcenter-score.compact{display:block;text-align:center;color:var(--accent)}.matchcenter-set{text-align:center;color:#d8ebf9;font-weight:800}.matchcenter-kickoff{margin:4px 0 10px;color:#fff;font-size:17px;font-weight:800}.matchcenter-countdown{display:grid;gap:2px;padding:12px 14px;margin:10px 0 12px;border:1px solid #35566f;border-radius:14px;background:#0b2032}.matchcenter-timer{color:var(--accent);font-size:23px;font-variant-numeric:tabular-nums}.matchcenter-venue{margin:12px 0;color:#c6d9e8}.matchcenter-actions{display:flex;flex-wrap:wrap;align-items:center;gap:9px;margin-top:16px}.matchcenter-actions .text-link{padding:10px 4px}.module-matchcenter>.favorite-card{margin-bottom:16px}

/* 0.8.0 · Trainingszeiten */
.training-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,270px),1fr));gap:12px;margin-bottom:14px}.training-card{padding:19px;border:1px solid var(--line);border-radius:17px;background:var(--surface)}.training-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:10px}.training-day{margin-bottom:8px;color:#fff;font-size:18px;font-weight:850}.training-venue{margin-bottom:7px;color:#c6d9e8}.module-training>.text-link{display:inline-block;margin-top:4px}

@media(max-width:560px){.favorite-grid{grid-template-columns:1fr}.matchcenter-actions .primary,.matchcenter-actions .secondary{flex:1 1 130px}.matchcenter-card{padding:19px}.matchcenter-score{font-size:52px}.training-grid{grid-template-columns:1fr}}


/* 0.8.4 · Livestream */
.livestream-holder{min-width:0}.livestream-card{position:relative;overflow:hidden;border:1px solid #425b78;border-radius:24px;background:radial-gradient(circle at 100% 0%,rgba(145,70,255,.22),transparent 42%),linear-gradient(145deg,#171d33,#101a2b);box-shadow:0 18px 46px rgba(0,0,0,.18)}.livestream-card.is-live{border-color:#7d5bb8;box-shadow:0 18px 50px rgba(37,18,70,.32),inset 0 0 0 1px rgba(165,112,255,.14)}.livestream-top{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:17px 20px;border-bottom:1px solid rgba(255,255,255,.08)}.livestream-status{display:inline-flex;align-items:center;gap:7px;font-size:10px;font-weight:950;letter-spacing:.12em;color:#b9c7d8}.livestream-status.is-live{color:#fff}.livestream-dot{width:8px;height:8px;flex:0 0 8px;border-radius:50%;background:#73859a}.livestream-status.is-live .livestream-dot{background:#ff4d67;box-shadow:0 0 0 5px rgba(255,77,103,.12);animation:vfbw-live-pulse 1.7s ease-out infinite}.livestream-channel{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#b7c5d7;font-size:12px;font-weight:750}.livestream-preview{position:relative;display:block;aspect-ratio:16/9;overflow:hidden;background:#080d17;text-decoration:none}.livestream-preview-image{width:100%;height:100%;object-fit:cover;transition:transform .25s ease}.livestream-preview:hover .livestream-preview-image{transform:scale(1.015)}.livestream-preview:after{content:"";position:absolute;inset:0;background:linear-gradient(to top,rgba(4,7,15,.78),transparent 58%)}.livestream-preview-overlay{position:absolute;z-index:2;left:18px;bottom:16px;display:inline-flex;align-items:center;gap:9px;padding:9px 12px;border:1px solid rgba(255,255,255,.22);border-radius:999px;background:rgba(16,9,28,.74);backdrop-filter:blur(10px);color:#fff;font-size:11px;font-weight:900;letter-spacing:.08em}.livestream-play{display:grid;place-items:center;width:24px;height:24px;border-radius:50%;background:#fff;color:#171023;font-size:10px;padding-left:2px}.livestream-body{padding:24px}.livestream-body .eyebrow{color:#cbb7ff;margin-bottom:9px}.livestream-title{max-width:720px;margin-bottom:12px;color:#fff;font-size:clamp(23px,4.8vw,34px);line-height:1.15;overflow-wrap:anywhere}.livestream-copy{max-width:680px;margin:13px 0 0;color:#d0dae7}.livestream-meta{display:flex;flex-wrap:wrap;gap:8px;margin:10px 0 3px}.livestream-meta-chip{display:inline-flex;align-items:center;min-height:30px;padding:5px 10px;border:1px solid rgba(208,187,255,.22);border-radius:999px;background:rgba(115,70,171,.15);color:#e1d7ff;font-size:11px;font-weight:800}.livestream-actions{display:flex;flex-wrap:wrap;align-items:center;gap:12px;margin-top:20px}.livestream-card.is-live .primary{border-color:#a970ff;background:#9146ff;color:#fff}.livestream-card.is-live .primary:hover{background:#a76cff;color:#fff}.livestream-actions .text-link{padding:10px 4px;color:#cbb7ff}.livestream-card.is-offline{background:radial-gradient(circle at 100% 0%,rgba(145,70,255,.11),transparent 44%),linear-gradient(145deg,#182437,#101a29)}
@keyframes vfbw-live-pulse{0%{box-shadow:0 0 0 0 rgba(255,77,103,.42)}70%{box-shadow:0 0 0 9px rgba(255,77,103,0)}100%{box-shadow:0 0 0 0 rgba(255,77,103,0)}}
@media(prefers-reduced-motion:reduce){.livestream-status.is-live .livestream-dot{animation:none}.livestream-preview-image{transition:none}}
@media(max-width:560px){.livestream-top{padding:14px 16px}.livestream-body{padding:20px 18px}.livestream-preview-overlay{left:13px;bottom:12px}.livestream-actions .primary,.livestream-actions .secondary{width:100%}.livestream-actions .text-link{width:100%;text-align:center}}


/* 0.9.0 · Kader & Spielerprofile */
.roster-holder{min-width:0}.roster-controls{margin:0 0 16px}.roster-team-head{display:flex;align-items:center;gap:10px;margin:8px 0 14px}.roster-team-head h3{margin:0;font-size:24px}.roster-group-title{margin:20px 0 10px;color:#dcecff;font-size:14px;letter-spacing:.08em;text-transform:uppercase}.roster-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,210px),1fr));gap:12px}.roster-person-card{display:block;overflow:hidden;border:1px solid var(--line);border-radius:18px;background:linear-gradient(145deg,#142a40,#0e2033);color:inherit;text-decoration:none;transition:transform .18s ease,border-color .18s ease}.roster-person-card:hover{transform:translateY(-2px);border-color:#5f829d;color:inherit}.roster-person-visual{position:relative;aspect-ratio:3/4;overflow:hidden;background:#0b1b2c}.roster-person-image{width:100%;height:100%;object-fit:cover;object-position:center top}.roster-person-fallback{display:grid;place-items:center;width:100%;height:100%;background:radial-gradient(circle at 70% 20%,rgba(150,220,255,.2),transparent 42%),#10273d;color:var(--accent);font-size:46px;font-weight:950;letter-spacing:.04em}.roster-number{position:absolute;right:10px;bottom:10px;display:grid;place-items:center;min-width:42px;height:42px;padding:0 9px;border-radius:12px;background:rgba(4,14,24,.84);backdrop-filter:blur(8px);color:#fff;font-size:18px;font-weight:950}.roster-person-copy{padding:15px}.roster-role{display:block;margin-bottom:5px;color:var(--accent);font-size:10px;font-weight:900;letter-spacing:.1em;text-transform:uppercase}.roster-person-copy h3{margin:0 0 5px;font-size:19px}.roster-person-copy p{margin:0 0 10px}.roster-open{display:block;margin-top:10px;color:#bddcf1;font-size:12px;font-weight:750}.roster-profile{display:grid;grid-template-columns:minmax(260px,42%) 1fr;overflow:hidden;margin-top:18px;border:1px solid #3c5f79;border-radius:24px;background:linear-gradient(145deg,#142d46,#0d1f32)}.roster-profile-visual{position:relative;min-height:390px;background:#0a1827}.roster-profile-image{width:100%;height:100%;min-height:390px;object-fit:cover;object-position:center top}.roster-profile-fallback{display:grid;place-items:center;width:100%;height:100%;min-height:390px;color:var(--accent);font-size:82px;font-weight:950;background:radial-gradient(circle at 65% 20%,rgba(150,220,255,.22),transparent 44%),#10273d}.roster-profile-number{position:absolute;left:18px;bottom:18px;padding:8px 12px;border-radius:13px;background:rgba(4,14,24,.84);color:#fff;font-size:24px;font-weight:950}.roster-profile-body{display:flex;flex-direction:column;justify-content:center;padding:30px}.roster-profile-body h1{margin:0 0 14px;font-size:clamp(30px,5vw,48px)}.roster-profile-meta{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:20px}.roster-meta-chip{display:inline-flex;padding:6px 10px;border:1px solid #486b84;border-radius:999px;color:#d7eafb;font-size:12px;font-weight:800}.roster-bio{white-space:pre-line;line-height:1.65;color:#d3e0eb}.roster-profile-body .secondary{align-self:flex-start;margin-top:16px}
@media(max-width:700px){.roster-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.roster-profile{grid-template-columns:1fr}.roster-profile-visual,.roster-profile-image,.roster-profile-fallback{min-height:330px}.roster-profile-body{padding:22px 18px}}
@media(max-width:430px){.roster-grid{grid-template-columns:1fr 1fr}.roster-person-copy{padding:12px}.roster-person-copy h3{font-size:16px}.roster-number{min-width:36px;height:36px;font-size:15px}.roster-person-fallback{font-size:38px}}
.roster-facts{display:grid;gap:10px;margin:6px 0 4px}.roster-facts-title{margin:4px 0 2px;font-size:18px;color:#eef8ff}.roster-fact{padding:13px 14px;border:1px solid #345974;border-radius:15px;background:rgba(6,22,36,.45)}.roster-fact-question{margin-bottom:5px;color:var(--accent);font-size:11px;font-weight:900;letter-spacing:.04em;text-transform:uppercase}.roster-fact-answer{color:#eef7fd;font-size:15px;line-height:1.45;white-space:pre-line}

/* 0.9.3 – bessere Spielerfotos */
.team-detail-hero{display:grid;grid-template-columns:minmax(220px,38%) 1fr;overflow:hidden;margin:8px 0 22px;border:1px solid #3b5d76;border-radius:24px;background:linear-gradient(145deg,#142d46,#0d1f32)}.team-detail-media{min-height:240px;background:#0a1827}.team-detail-image{width:100%;height:100%;min-height:240px;object-fit:cover}.team-detail-fallback{display:grid;place-items:center;width:100%;height:100%;min-height:240px;color:var(--accent);font-size:70px;font-weight:950;background:radial-gradient(circle at 65% 20%,rgba(150,220,255,.22),transparent 44%),#10273d}.team-detail-copy{display:flex;flex-direction:column;justify-content:center;padding:28px}.team-detail-copy h1{margin:0 0 12px;font-size:clamp(32px,5vw,52px)}.team-detail-actions,.roster-profile-actions{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin-top:18px}.team-detail-section{margin:0 0 24px}.team-detail-section>.section-heading{margin-bottom:12px}.team-detail-section .roster-holder>.roster-team-head{display:none}.team-detail-section:target{scroll-margin-top:18px}
@media(max-width:700px){.team-detail-hero{grid-template-columns:1fr}.team-detail-media,.team-detail-image,.team-detail-fallback{min-height:210px}.team-detail-copy{padding:22px 18px}.team-detail-actions .secondary{flex:1 1 170px}}

/* 0.9.4 · Matchcenter-Details, Satzverlauf & Kalender */
.set-history{display:flex;flex-wrap:wrap;align-items:center;gap:7px;margin:12px 0 4px}.set-history-label{margin-right:2px;color:#8fb0c8;font-size:9px;font-weight:950;letter-spacing:.13em}.set-history-chip{display:inline-flex;align-items:baseline;gap:3px;padding:6px 9px;border:1px solid #3b607b;border-radius:999px;background:#0b2032;color:#edf8ff;font-size:12px;font-weight:850;font-variant-numeric:tabular-nums}.set-history-chip small{color:#8fb0c8;font-size:9px;font-weight:900}.match-card-actions{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin-top:16px}.match-card-actions .text-link{display:inline-flex;margin-top:0;min-height:42px;align-items:center;padding:8px 4px}.match-detail-hero{margin:18px 0 14px;padding:24px;border:1px solid #385a73;border-radius:22px;background:linear-gradient(145deg,#142e47,#0e2134)}.match-detail-hero h1{margin:5px 0 14px;font-size:clamp(30px,7vw,48px);overflow-wrap:anywhere}.match-detail-meta{display:flex;flex-wrap:wrap;gap:8px}.match-detail-live{margin-bottom:14px}.match-detail-score,.match-detail-upcoming{padding:24px;border:1px solid #3c5f79;border-radius:22px;background:linear-gradient(145deg,#142d46,#0d1f32)}.match-detail-score.is-live{border-color:#78d79a;box-shadow:inset 0 0 0 1px #78d79a33}.match-detail-upcoming{display:grid;gap:8px}.match-detail-upcoming .matchcenter-timer{font-size:clamp(26px,7vw,42px)}.match-detail-actions{display:flex;flex-wrap:wrap;gap:10px;align-items:center}.match-detail-actions .primary,.match-detail-actions .secondary{flex:1 1 190px;text-align:center}.match-detail-actions .text-link{padding:10px 5px}
@media(max-width:560px){.match-detail-hero,.match-detail-score,.match-detail-upcoming{padding:19px}.match-detail-actions{display:grid}.match-detail-actions .primary,.match-detail-actions .secondary{width:100%}.set-history{gap:6px}.set-history-chip{padding:5px 8px}}

/* 1.0.0 · personalisierte Startseite, Spieltage und MVP */
.personal-home{margin-top:-4px}.personal-home-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.personal-team-chips{grid-column:1/-1;display:flex;flex-wrap:wrap;gap:8px}.personal-team-chip{display:inline-flex;align-items:center;min-height:38px;padding:8px 13px;border:1px solid #456b86;border-radius:999px;background:linear-gradient(145deg,#15334d,#10283d);color:#e8f7ff;text-decoration:none;font-size:12px;font-weight:850;box-shadow:0 7px 18px rgba(0,0,0,.08)}.personal-team-chip:hover{border-color:var(--accent);color:#fff}.personal-mini-card{padding:19px;border:1px solid #3b617b;border-radius:20px;background:linear-gradient(145deg,#142f48,#0d2032);box-shadow:0 10px 26px rgba(0,0,0,.09)}.personal-mini-card.is-live{border-color:#7d5bb8;background:radial-gradient(circle at 100% 0%,rgba(145,70,255,.2),transparent 45%),linear-gradient(145deg,#18233a,#101a2b)}.personal-mini-card h3{margin:3px 0 8px}.personal-mini-main{margin:0 0 8px;color:#eef8ff;font-size:16px;font-weight:800}.personal-prompt{grid-column:1/-1}.personal-prompt h3{margin:5px 0 8px}.matchday-summary-card{grid-column:1/-1;display:block;padding:20px;border:1px solid #4b7895;border-radius:20px;background:linear-gradient(145deg,#153652,#0d2236);color:inherit;text-decoration:none;box-shadow:0 14px 32px rgba(0,0,0,.13)}.matchday-summary-card:hover{border-color:var(--accent);color:inherit}.matchday-summary-badge{display:inline-flex;align-items:center;min-height:28px;padding:5px 10px;border-radius:999px;background:#b9ecff;color:#071725;font-size:10px;font-weight:950;letter-spacing:.09em}.matchday-summary-card h3{margin:10px 0 11px;font-size:clamp(21px,5vw,30px)}.matchday-summary-teams{display:grid;gap:6px}.matchday-summary-team{display:block;color:#d2e5f2;font-size:13px;line-height:1.45}.matchday-summary-card .roster-open{margin-top:14px}.matchday-hero{margin:16px 0 18px;padding:25px;border:1px solid #4a7896;border-radius:24px;background:radial-gradient(circle at 100% 0%,rgba(150,220,255,.14),transparent 40%),linear-gradient(145deg,#15334d,#0c2033)}.matchday-hero h1{margin:10px 0 8px;font-size:clamp(32px,7vw,52px);text-transform:capitalize}.matchday-favorite-note{margin:12px 0 0;color:#c9ecff;font-weight:800}.matchday-event-list{display:grid;gap:14px}.matchday-event{position:relative}.matchday-event.is-favorite:before{content:'★ DEIN TEAM';position:absolute;z-index:2;right:14px;top:14px;padding:5px 8px;border-radius:999px;background:#b9ecff;color:#071725;font-size:9px;font-weight:950;letter-spacing:.08em}.matchday-event .match-card{margin:0}
.mvp-holder{margin:20px 0 28px}.mvp-card{padding:24px;border:1px solid #456b86;border-radius:24px;background:linear-gradient(145deg,#142e47,#0c2033)}.mvp-head{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;margin-bottom:10px}.mvp-head h2{margin:2px 0 0;font-size:clamp(25px,5vw,34px)}.mvp-total{flex:none;padding:6px 9px;border:1px solid #496c84;border-radius:999px;color:#bcd8e9;font-size:10px;font-weight:850}.mvp-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,180px),1fr));gap:10px;margin-top:16px}.mvp-person{overflow:hidden;border:1px solid #355872;border-radius:17px;background:#10263a}.mvp-person.is-voted{border-color:var(--accent);box-shadow:inset 0 0 0 1px rgba(150,220,255,.18)}.mvp-person-visual{position:relative;aspect-ratio:4/5;overflow:hidden;background:#0a1a2a}.mvp-person-image{width:100%;height:100%;object-fit:cover;object-position:center top}.mvp-person-fallback{display:grid;place-items:center;width:100%;height:100%;color:var(--accent);font-size:38px;font-weight:950;background:radial-gradient(circle at 70% 20%,rgba(150,220,255,.18),transparent 44%),#10273d}.mvp-number{position:absolute;right:8px;bottom:8px;padding:6px 8px;border-radius:10px;background:rgba(4,14,24,.84);color:#fff;font-size:13px;font-weight:950}.mvp-person-body{display:flex;flex-direction:column;gap:6px;padding:13px}.mvp-person-body>strong{font-size:16px;line-height:1.2}.mvp-person-body button{width:100%;margin-top:4px}.mvp-result{height:7px;overflow:hidden;border-radius:999px;background:#071724}.mvp-result-bar{display:block;height:100%;border-radius:999px;background:var(--accent)}.mvp-result-text{color:#bad5e6;font-size:10px;font-weight:800}.mvp-card>.small:last-child{display:block;margin-top:15px}
@media(max-width:600px){.personal-home-grid{grid-template-columns:1fr}.personal-team-chips,.matchday-summary-card,.personal-prompt{grid-column:1}.mvp-card{padding:18px}.mvp-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.mvp-person-body{padding:11px}.mvp-person-body>strong{font-size:14px}.mvp-head{display:block}.mvp-total{display:inline-flex;margin-top:9px}.matchday-hero{padding:20px}}


/* 1.1.0 · Heute bei Blau-Weiß + Spieländerungen */
.today-home{margin-top:-4px}.today-home-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.today-home-grid>.matchday-summary-card{grid-column:1/-1}.today-card{padding:18px;border:1px solid #365a74;border-radius:18px;background:linear-gradient(145deg,#142d44,#0d2032)}.today-card.is-live{border-color:#7d5bb8;background:radial-gradient(circle at 100% 0%,rgba(145,70,255,.2),transparent 45%),linear-gradient(145deg,#18233a,#101a2b)}.today-card h3{margin:4px 0 10px}.today-lines{display:grid;gap:9px;margin:10px 0 12px}.today-line{display:grid;grid-template-columns:auto 1fr;gap:10px;align-items:baseline;padding-top:8px;border-top:1px solid rgba(150,220,255,.12)}.today-line:first-child{border-top:0;padding-top:0}.today-line strong{color:#dff5ff;font-variant-numeric:tabular-nums;white-space:nowrap}.today-line span{color:#b9cbd9;font-size:12px;line-height:1.4}.match-change-badge{display:inline-flex;align-items:center;min-height:25px;padding:4px 8px;border:1px solid #f0b94f88;border-radius:999px;background:#5b4017;color:#ffe3a3;font-size:9px;font-weight:950;letter-spacing:.08em}.match-change-note{margin:10px 0 12px;padding:10px 12px;border-left:3px solid #f0b94f;border-radius:8px;background:#4b361966;color:#ffe5ac;font-size:12px;font-weight:750;line-height:1.45}.match-detail-hero .match-change-note{margin-top:16px;margin-bottom:0}
@media(max-width:600px){.today-home-grid{grid-template-columns:1fr}.today-home-grid>.matchday-summary-card{grid-column:1}.today-line{grid-template-columns:1fr;gap:2px}}

/* 1.2.0 · Suche, Teilen & Offline-News */
.app-search-input{width:100%;min-height:52px;padding:12px 15px;border:1px solid #44637a;border-radius:14px;background:#0d2133;color:#fff;font:750 16px/1.3 system-ui,sans-serif;outline:none}.app-search-input:focus{border-color:var(--accent);box-shadow:0 0 0 3px rgba(150,220,255,.12)}.search-shell{display:grid;gap:14px}.search-results{display:grid;gap:9px}.search-group-title{margin:14px 0 2px;font-size:13px;letter-spacing:.11em;text-transform:uppercase;color:#9dc8e4}.search-result-card{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:14px 15px;border:1px solid var(--line);border-radius:14px;background:#11283d;color:inherit;text-decoration:none}.search-result-card:hover{border-color:#5f829d}.search-result-copy{display:grid;gap:3px;min-width:0}.search-result-copy strong{overflow-wrap:anywhere}.search-result-arrow{flex:0 0 auto;color:var(--accent);font-size:20px;font-weight:900}.article-hero-image{display:block;width:100%;max-height:560px;margin:16px 0 18px;border-radius:20px;object-fit:cover;object-position:center top}.article-actions,.matchday-share{display:flex;flex-wrap:wrap;gap:10px;margin:16px 0 24px}.article-actions .primary,.article-actions .secondary{flex:1 1 190px;text-align:center}.team-detail-actions button,.roster-profile-actions button{font:inherit}.match-detail-actions button{flex:1 1 190px}.matchday-share .secondary{width:100%}@media(max-width:560px){.app-header{gap:8px}.brand{gap:9px}.brand-mark{width:40px;height:40px;flex-basis:40px}.header-actions{gap:6px}.header-actions .icon-button{width:40px;height:40px;flex-basis:40px}.brand strong{font-size:12px}.brand small{font-size:8px}.article-actions .primary,.article-actions .secondary{flex-basis:100%}}

/* 1.3.1 · Vereinfachte digitale Saisonkarte */
.venue-grid,.contact-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.venue-card,.contact-card{overflow:hidden;border:1px solid var(--line);border-radius:19px;background:linear-gradient(145deg,#142c43,#0d2032)}.venue-card-image{width:100%;aspect-ratio:16/9;object-fit:cover}.venue-card-body,.contact-body{padding:18px}.venue-card h3,.contact-card h3{margin:2px 0 9px}.venue-address{margin:0 0 10px;color:#dcecf6;font-weight:700}.contact-address{margin:0 0 10px;color:#dcecf6;font-size:13px;font-weight:700;line-height:1.45}.venue-actions,.contact-actions{display:flex;flex-wrap:wrap;gap:9px;align-items:center;margin-top:14px}.venue-detail{overflow:hidden;margin-top:18px;border:1px solid #456b85;border-radius:24px;background:linear-gradient(145deg,#15314b,#0d2032)}.venue-detail-image{width:100%;max-height:430px;object-fit:cover}.venue-detail-body{padding:26px}.venue-detail-body h1{margin:5px 0 12px}.venue-detail-address{font-size:17px;font-weight:800;color:#dff4ff}.venue-detail-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:18px 0}.venue-info{padding:15px;border:1px solid #385b74;border-radius:15px;background:#10283c}.venue-info p{margin:0}.venue-note{padding:15px;border-left:3px solid var(--accent);border-radius:10px;background:#15354d;color:#d5e7f3}.contact-card{display:grid;grid-template-columns:92px 1fr;align-items:stretch}.contact-image{width:92px;height:100%;min-height:150px;object-fit:cover;object-position:center top}.contact-fallback{display:grid;place-items:center;width:92px;min-height:150px;background:radial-gradient(circle at 70% 20%,rgba(150,220,255,.2),transparent 42%),#10273d;color:var(--accent);font-size:26px;font-weight:950;letter-spacing:.04em}.contact-actions .secondary{min-height:40px;padding:8px 11px}.favorite-filter[aria-pressed="true"]{border-color:var(--accent);background:#b9ecff;color:#071725}
.season-ticket-holder{min-width:0}.season-ticket-teaser{background:radial-gradient(circle at 100% 0%,rgba(150,220,255,.16),transparent 42%),linear-gradient(145deg,#16344f,#0d2134)}.season-ticket-card{position:relative;overflow:hidden;padding:25px;border:1px solid #5b7890;border-radius:26px;background:radial-gradient(circle at 95% 5%,rgba(150,220,255,.24),transparent 38%),linear-gradient(145deg,#173a58,#0a1b2d);box-shadow:0 18px 44px rgba(0,0,0,.2)}.season-ticket-card:after{content:'BW';position:absolute;right:-10px;bottom:-74px;color:rgba(190,232,255,.06);font-size:210px;font-weight:950;line-height:1;transform:rotate(-10deg);pointer-events:none}.season-ticket-card.is-inactive{filter:saturate(.55);border-color:#7a5660}.season-ticket-top{position:relative;z-index:1;display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:22px}.season-ticket-logo{font-size:27px;font-weight:950;letter-spacing:-.08em;color:var(--accent)}.season-ticket-status{display:inline-flex;padding:6px 10px;border:1px solid #74c69b88;border-radius:999px;background:#143b2c;color:#b9f0cf;font-size:10px;font-weight:950;letter-spacing:.09em}.season-ticket-holder{position:relative;z-index:1;margin-bottom:20px;font-size:clamp(28px,6vw,42px)}.season-ticket-number,.season-ticket-code{position:relative;z-index:1;display:grid;gap:2px;margin:12px 0}.season-ticket-number strong{font-size:28px;letter-spacing:.08em}.season-ticket-code{display:inline-grid;margin-top:18px;padding:11px 14px;border:1px dashed #8bb9d4;border-radius:12px;background:#091a2a}.season-ticket-code strong{font-size:24px;letter-spacing:.18em;font-variant-numeric:tabular-nums}.season-ticket-stats{position:relative;z-index:1;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:16px}.season-ticket-stat{display:grid;padding:13px;border:1px solid rgba(150,220,255,.22);border-radius:14px;background:rgba(6,22,36,.38)}.season-ticket-stat strong{font-size:25px}.season-ticket-login{display:grid;gap:12px}.season-ticket-login input{width:100%;min-height:50px;padding:12px 14px;border:1px solid #42647d;border-radius:12px;background:#0b2032;color:#fff;font:inherit}.season-ticket-login input:focus{outline:3px solid rgba(150,220,255,.18);border-color:var(--accent)}
.channel-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.channel-card{display:grid;grid-template-columns:58px 1fr;gap:14px;align-items:start;padding:18px;border:1px solid var(--line);border-radius:19px;background:linear-gradient(145deg,#142c43,#0d2032);color:inherit;text-decoration:none;transition:transform .18s ease,border-color .18s ease}.channel-card:hover{transform:translateY(-2px);border-color:#5f829d;color:inherit}.channel-mark{display:grid;place-items:center;width:58px;height:58px;border:1px solid #456a84;border-radius:17px;background:#0b2032;color:var(--accent);font-size:16px;font-weight:950;letter-spacing:.05em;overflow:hidden}.channel-mark svg,.channel-mark img{width:28px;height:28px;display:block}.channel-mark img{width:100%;height:100%;object-fit:contain}.channel-mark.channel-instagram{background:linear-gradient(135deg,#fdf497 0%,#fd5949 35%,#d6249f 68%,#285AEB 100%);border:none;color:#fff}.channel-mark.channel-twitch{background:#9146ff;border:none;color:#fff}.channel-mark.channel-youtube{background:#ff0000;border:none;color:#fff}.channel-mark.channel-whatsapp{background:#25d366;border:none;color:#fff}.channel-mark.channel-website{border:none;background:transparent;padding:4px}.channel-copy h3{margin:2px 0 5px;font-size:19px}.channel-handle{display:block;margin-bottom:7px;color:#dff3ff;font-size:13px}.channel-copy p{margin:0 0 9px;line-height:1.5}.channel-open{color:#bddcf1;font-size:12px;font-weight:800}@media(max-width:620px){.venue-grid,.contact-grid,.channel-grid,.venue-detail-grid{grid-template-columns:1fr}.contact-card{grid-template-columns:78px 1fr}.contact-image,.contact-fallback{width:78px;min-height:145px}.venue-detail-body{padding:20px}.season-ticket-card{padding:20px}.season-ticket-number strong{font-size:24px}}

/* 1.3.1 · Saisonkarte ist reine Ersatzanzeige */
.season-ticket-purpose{position:relative;z-index:1;margin:22px 0 8px;padding:12px 14px;border:1px solid rgba(150,220,255,.2);border-radius:14px;background:rgba(6,22,36,.32);color:#c8d9e8;font-size:12px;line-height:1.55}.season-ticket-number{margin-top:18px}.season-ticket-login{max-width:620px}

/* 1.4.0 · Vereinskalender */
.agenda-toolbar{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin:0 0 18px}.agenda-toolbar .match-select{flex:1 1 150px}.agenda-toolbar .secondary{flex:1 1 210px;text-align:center}.agenda-list{display:grid;gap:10px}.agenda-day-head{display:flex;align-items:center;gap:10px;margin:18px 0 4px}.agenda-day-head:first-child{margin-top:0}.agenda-day-head h3{margin:0;font-size:18px;text-transform:capitalize}.agenda-date-dot{width:10px;height:10px;border-radius:50%;background:var(--accent);box-shadow:0 0 0 5px rgba(150,220,255,.09)}.agenda-item{display:grid;grid-template-columns:72px 1fr auto;gap:14px;align-items:center;padding:15px 16px;border:1px solid var(--line);border-radius:17px;background:linear-gradient(145deg,#132a40,#0c1e30);color:inherit;text-decoration:none}.agenda-item:hover{border-color:#5f829d;color:inherit}.agenda-training{grid-template-columns:72px 1fr}.agenda-kind{display:grid;place-items:center;min-height:34px;padding:5px 7px;border:1px solid #456a84;border-radius:10px;color:var(--accent);font-size:9px;font-weight:950;letter-spacing:.08em}.agenda-match .agenda-kind{background:rgba(150,220,255,.09)}.agenda-training .agenda-kind{background:rgba(255,255,255,.035)}.agenda-copy{display:grid;gap:3px;min-width:0}.agenda-copy strong{font-size:15px}.agenda-copy>span:not(.small){font-size:13px}.agenda-arrow{color:var(--accent);font-size:22px;font-weight:900}.agenda-inline-link{margin-top:4px;color:var(--accent);font-size:12px;font-weight:800;text-decoration:none}@media(max-width:520px){.agenda-item,.agenda-training{grid-template-columns:62px 1fr auto;gap:10px;padding:13px}.agenda-training{grid-template-columns:62px 1fr}.agenda-kind{font-size:8px}.agenda-toolbar .secondary{flex-basis:100%}}

/* 1.4.2 – persönliche untere Navigation */
.nav-custom-card{margin-bottom:18px}.nav-custom-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:16px 0}.nav-custom-field{display:grid;gap:6px}.nav-custom-field .small{font-weight:800;color:#cfe7f7}.nav-custom-field .match-select{width:100%}.nav-custom-actions{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin-top:10px}.text-button{min-height:44px;padding:9px 6px;border:0;background:transparent;color:var(--accent);font:inherit;font-weight:800;text-decoration:underline;text-underline-offset:4px;cursor:pointer}@media(max-width:620px){.nav-custom-grid{grid-template-columns:1fr}.nav-custom-actions .secondary{flex:1 1 180px}}

/* 1.4.3 – Vereinskalender in Mehr hervorheben */
.more-card-featured{border-color:#4d7895;background:linear-gradient(145deg,#183b58,#112a41);box-shadow:inset 0 0 0 1px rgba(150,220,255,.06),0 10px 24px rgba(0,0,0,.08)}
.more-card-featured .more-icon{color:#b7e9ff}


/* 1.5.0 – Vereinsmeldungen & kurzfristige Hinweise */
.club-notice-list{display:grid;gap:12px}.club-notice{position:relative;overflow:hidden;padding:18px 19px;border:1px solid #41657e;border-radius:18px;background:linear-gradient(145deg,#142d44,#0d2032)}.club-notice:before{content:'';position:absolute;left:0;top:0;bottom:0;width:4px;background:var(--accent)}.club-notice-important{border-color:#8c7442;background:linear-gradient(145deg,#3a321d,#1c2530)}.club-notice-important:before{background:#f4c95d}.club-notice-alert{border-color:#91515b;background:linear-gradient(145deg,#40202a,#1b2030)}.club-notice-alert:before{background:#ff6b7b}.club-notice-top{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin-bottom:9px}.club-notice-badge,.club-notice-team{display:inline-flex;align-items:center;min-height:27px;padding:4px 9px;border:1px solid rgba(150,220,255,.22);border-radius:999px;color:#cfeeff;font-size:9px;font-weight:950;letter-spacing:.09em}.club-notice-important .club-notice-badge{border-color:#e4bd5f66;color:#ffe5a4}.club-notice-alert .club-notice-badge{border-color:#ff728266;color:#ffc1c8}.club-notice-team{letter-spacing:0;text-transform:none;color:#d8e5ef}.club-notice h3{margin:0 0 8px;font-size:20px}.club-notice-body{margin:0 0 8px;white-space:pre-line;line-height:1.55;color:#d6e4ee}.home-notices{margin-top:4px}

/* 1.6.0 · Schnellzugriffe, Ergebnis-Historie und Gegnerseiten */
.quick-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.quick-card{display:flex;min-width:0;align-items:center;gap:10px;padding:14px;border:1px solid var(--line);border-radius:16px;background:linear-gradient(145deg,#142d45,#0d2032);color:inherit;text-decoration:none}.quick-card:hover{border-color:#5f829d;color:inherit}.quick-icon{display:grid;place-items:center;width:34px;height:34px;flex:0 0 34px;border-radius:11px;background:#173b59;color:var(--accent);font-size:18px}.quick-label{min-width:0;overflow:visible;text-overflow:clip;white-space:normal;overflow-wrap:anywhere;font-size:12px;font-weight:850;line-height:1.18}.quick-arrow{margin-left:auto;color:var(--accent);font-weight:900}.quick-custom-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:16px 0}.history-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,190px),1fr));gap:11px}.history-card{padding:16px;border:1px solid var(--line);border-radius:17px;background:linear-gradient(145deg,#132a40,#0c1e30)}.history-card.is-win{border-left:4px solid #49b978}.history-card.is-loss{border-left:4px solid #d06a72}.history-top{display:flex;align-items:center;justify-content:space-between;gap:8px}.history-outcome{font-size:10px;font-weight:950;letter-spacing:.08em;color:#cfe9f8}.history-opponent{display:block;margin:7px 0 9px;color:#fff;font-size:16px;font-weight:850;text-decoration:none;overflow-wrap:anywhere}.history-opponent:hover,.opponent-link:hover{text-decoration:underline}.history-score{display:block;margin:2px 0 9px;color:var(--accent);font-size:25px}.opponent-link{color:inherit;text-decoration:none}.opponent-hero{padding:25px;margin:16px 0 22px;border:1px solid var(--line);border-radius:22px;background:radial-gradient(circle at 100% 0%,rgba(150,220,255,.12),transparent 40%),linear-gradient(145deg,#142c44,#0b1d2f)}.opponent-hero h1{margin:6px 0 16px}.opponent-stats{display:flex;flex-wrap:wrap;gap:8px}.opponent-meetings{display:grid;gap:12px}.opponent-table-card{margin-top:18px}.opponent-table-line{display:flex;flex-wrap:wrap;gap:10px 16px;align-items:center;padding:12px 0;border-top:1px solid var(--line)}.opponent-table-line:first-of-type{border-top:none}.opponent-table-line strong{color:var(--accent);font-size:18px}@media(max-width:700px){.quick-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.quick-custom-grid{grid-template-columns:1fr}}

/* 1.7.1 – zentrale App-Einstellungen */
.settings-intro{margin-bottom:18px;border-color:#3e627c;background:linear-gradient(145deg,#153650,#10263b)}.settings-intro h2{margin-bottom:8px}.more-card-settings{border-color:#4f7894;background:linear-gradient(145deg,#173b57,#10283e)}.more-card-settings .more-icon{color:#d1f1ff}

/* 1.8.0 · Turnierzentrum */
.tournament-holder{min-width:0}.tournament-controls{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin:0 0 14px}.tournament-controls .match-select{max-width:min(100%,520px)}.tournament-hero{padding:22px;margin-bottom:16px;border:1px solid var(--line);border-radius:20px;background:radial-gradient(circle at 100% 0%,rgba(150,220,255,.13),transparent 42%),linear-gradient(145deg,#173149,#0d2032)}.tournament-hero h2{margin:4px 0 8px;font-size:clamp(24px,5vw,34px)}.tournament-date{margin:0 0 10px;color:#e5f4ff;font-weight:850}.tournament-table-wrap{margin:16px 0}.tournament-table-title{margin:0 0 9px;font-size:18px}.tournament-table-scroll{overflow:auto;border:1px solid var(--line);border-radius:17px;background:#0d2032;-webkit-overflow-scrolling:touch}.tournament-table{width:100%;min-width:620px;border-collapse:collapse;font-size:13px}.tournament-table th,.tournament-table td{padding:11px 12px;text-align:left;border-bottom:1px solid rgba(150,220,255,.11);white-space:nowrap}.tournament-table th{position:sticky;top:0;background:#18364f;color:#dff4ff;font-size:10px;letter-spacing:.05em;text-transform:uppercase;z-index:1}.tournament-table tbody tr:last-child td{border-bottom:0}.tournament-table td:nth-child(1){font-weight:900}.tournament-table td:nth-child(2){white-space:normal;min-width:190px;font-weight:750}.tournament-medal{font-size:15px}.tournament-table tbody tr:nth-child(-n+3){background:rgba(150,220,255,.035)}


/* 1.9.0 · Matchday Studio */
.studio-shell{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(300px,.95fr);gap:18px;align-items:start}.studio-controls{margin:0}.studio-field-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:17px}.studio-field{display:grid;gap:7px;min-width:0}.studio-field>span{font-weight:800;color:#bed5e5}.studio-input,.studio-file{width:100%;min-height:46px;padding:10px 12px;border:1px solid #416079;border-radius:12px;background:#0d2133;color:#fff;font:700 14px/1.3 system-ui,sans-serif;box-sizing:border-box}.studio-file{padding:8px}.studio-field input[type=range]{width:100%;accent-color:var(--accent)}.studio-toggle{grid-column:1/-1;display:flex;align-items:center;gap:7px;min-height:44px;padding:10px 12px;border:1px solid #36566f;border-radius:12px;background:#10283d;font-size:13px;font-weight:800}.studio-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:14px}.studio-actions>*{flex:1 1 170px}.studio-preview-wrap{position:sticky;top:12px;display:flex;justify-content:center;padding:12px;border:1px solid var(--line);border-radius:22px;background:#07131f}.studio-preview{width:min(100%,360px)}.studio-poster{--studio-photo-y:50%;position:relative;aspect-ratio:9/16;overflow:hidden;border-radius:18px;background:#0a1928;box-shadow:0 18px 50px rgba(0,0,0,.35);isolation:isolate}.studio-poster-bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center var(--studio-photo-y);z-index:-3}.studio-poster-shade{position:absolute;inset:0;z-index:-2;background:linear-gradient(to bottom,rgba(4,15,27,.08) 0%,rgba(4,15,27,.30) 43%,rgba(4,15,27,.97) 100%)}.studio-template-bold .studio-poster-shade{background:linear-gradient(to bottom,rgba(2,11,21,.10),rgba(2,11,21,.50) 40%,rgba(2,11,21,.99) 100%)}.studio-template-clean .studio-poster-shade{background:linear-gradient(to bottom,rgba(4,15,27,.03),rgba(4,15,27,.35) 55%,rgba(4,15,27,.96) 100%)}.studio-poster-top{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:18px}.studio-poster-logo{width:48px;height:48px;object-fit:contain}.studio-poster-brand{margin-left:auto;color:#dff5ff;font-size:10px;font-weight:950;letter-spacing:.08em}.studio-poster-body{position:absolute;left:0;right:0;bottom:0;padding:22px}.studio-poster-kicker{margin:0 0 8px;color:var(--accent);font:950 28px/1 Impact,system-ui,sans-serif;letter-spacing:.05em;text-transform:uppercase}.studio-poster-date{margin:0 0 20px;color:#fff;font-size:12px;font-weight:850;text-transform:uppercase}.studio-matchup{display:grid;gap:5px}.studio-team-name,.studio-opponent{font-size:28px;line-height:1.02;text-transform:uppercase;overflow-wrap:anywhere}.studio-vs{color:var(--accent);font-size:14px;font-weight:950}.studio-poster-facts{display:flex;flex-wrap:wrap;gap:6px 10px;margin-top:17px;color:#d9e9f4;font-size:11px;font-weight:850;text-transform:uppercase}.studio-live-badge{display:inline-flex;margin-top:12px;padding:6px 9px;border-radius:999px;background:#9146ff;color:#fff;font-size:9px;font-weight:950;letter-spacing:.06em}.studio-drafts{margin-top:18px}.studio-draft-list{display:grid;gap:9px}.studio-draft{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 13px;border:1px solid #36566f;border-radius:13px;background:#10283d}.studio-draft>div:first-child{display:grid;gap:3px;min-width:0}.studio-draft strong{overflow-wrap:anywhere}.studio-draft-actions{display:flex;gap:7px;flex:0 0 auto}.studio-draft-actions .text-button{padding:6px 8px}@media(max-width:760px){.studio-shell{grid-template-columns:1fr}.studio-preview-wrap{position:static;order:-1}.studio-preview{width:min(100%,330px)}.studio-field-grid{grid-template-columns:1fr}.studio-toggle{grid-column:1}.studio-draft{align-items:flex-start;flex-direction:column}.studio-draft-actions{width:100%;justify-content:flex-end}}
/* 2.0.0 · eigenständige Plugin-Integrationen */
.integration-holder{min-width:0}.integration-card{display:grid;gap:13px}.integration-card h2{margin:0}.integration-status{display:flex;flex-wrap:wrap;gap:8px}.integration-pill{display:inline-flex;align-items:center;min-height:30px;padding:5px 10px;border:1px solid #456a84;border-radius:999px;background:#10283d;color:#d8e7f2;font-size:11px;font-weight:850}.integration-pill.is-ok{border-color:#2e8b57;background:rgba(46,139,87,.15);color:#aaf0c6}.integration-pill.is-warn{border-color:#b9932f;background:rgba(185,147,47,.14);color:#f2daa0}.matchday-integration .primary{justify-self:start}.tournament-registration{display:grid;gap:10px;margin-bottom:16px;border-color:#527c98;background:linear-gradient(145deg,#153754,#0d2235)}.tournament-registration-countdown{font-size:clamp(24px,5vw,38px);line-height:1.1;color:#fff}.tournament-gallery{margin:22px 0}.tournament-gallery h3{margin-bottom:12px}.tournament-gallery-track{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(220px,72%);gap:10px;overflow-x:auto;padding-bottom:6px;scroll-snap-type:x proximity}.tournament-photo{display:block;aspect-ratio:4/3;overflow:hidden;border:1px solid var(--line);border-radius:16px;background:#091827;scroll-snap-align:start}.tournament-photo img{width:100%;height:100%;object-fit:cover;display:block}.tournament-photo:hover{border-color:var(--accent)}


/* iOS / installed web-app onboarding and diagnostics */
.ios-install-onboard{position:fixed;inset:0;z-index:85;display:grid;place-items:end center;padding:18px;background:rgba(2,10,19,.78);backdrop-filter:blur(10px)}
.ios-install-panel{width:min(620px,100%);padding:26px;border:1px solid #4d7592;border-radius:24px;background:linear-gradient(150deg,#15324b,#0b1b2c);box-shadow:0 24px 70px #0009;color:var(--text);margin-bottom:max(0px,env(safe-area-inset-bottom))}
.ios-install-panel h2{font-size:clamp(24px,6vw,34px);margin-bottom:10px}.ios-install-steps{margin:18px 0 8px;padding-left:24px;color:#e2f3ff}.ios-install-steps li{padding:6px 0;line-height:1.5}
.pwa-diag-list{display:grid;gap:8px;margin:16px 0}.pwa-diag-row{display:flex;justify-content:space-between;gap:14px;align-items:flex-start;padding:11px 12px;border:1px solid var(--line);border-radius:12px;background:#0c2134}.pwa-diag-label{color:var(--muted)}.pwa-diag-value{text-align:right;font-size:13px}.pwa-diag-row.ok{border-color:rgba(88,199,132,.42)}.pwa-diag-row.ok .pwa-diag-value{color:#a9edc2}.pwa-diag-row.warn{border-color:rgba(255,204,128,.4)}.pwa-diag-row.warn .pwa-diag-value{color:#ffd69c}.pwa-diag-row.bad{border-color:rgba(255,139,139,.4)}.pwa-diag-row.bad .pwa-diag-value{color:#ffb0b0}
@media(max-width:520px){.pwa-diag-row{display:grid;gap:3px}.pwa-diag-value{text-align:left}}

.android-update-onboard-panel .android-update-changes{white-space:pre-line;margin-top:12px;color:#d4e3ef}.livestream-mvp{margin-top:18px}.livestream-mvp .mvp-holder{margin:0}

/* 2.3.8 · MVP im Livestream */
.livestream-mvp-cta{margin-top:14px}.livestream-mvp-cta>.primary{width:100%;min-height:52px;font-weight:900}.livestream-mvp-content:empty{display:none}.livestream-mvp-content .mvp-holder{margin-top:14px}

/* 2.6.4: sofortiger visueller Startzustand statt leerer Ladeansicht. */
.startup-view{min-height:70svh}.startup-hero{animation:none}.startup-module{margin-top:0}.startup-card{min-height:118px;display:grid;align-content:center;gap:12px}.startup-line{display:block;height:12px;border-radius:999px;background:rgba(171,192,212,.16);width:88%}.startup-line-short{width:42%;height:10px;background:rgba(150,220,255,.18)}.startup-line-mid{width:64%}


/* 2.6.5 · nahtloser Android-/Web-Start */
#vfbw-startup-cover{pointer-events:none}

/* 2.8.0 · MVP-Historie */
.mvp-history-holder{min-width:0}.mvp-history-controls{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-bottom:16px}.mvp-history-summary{margin-bottom:18px;border-color:#496f89;background:radial-gradient(circle at 100% 0%,rgba(255,209,87,.10),transparent 34%),linear-gradient(145deg,#153550,#0c2134)}.mvp-history-summary h2{margin:4px 0 16px}.mvp-history-summary-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}.mvp-history-summary-stat{display:grid;grid-template-columns:auto 1fr;align-items:center;gap:0 8px;padding:12px;border:1px solid #355a74;border-radius:15px;background:#0c2032}.mvp-history-summary-stat strong{font-size:24px;line-height:1}.mvp-history-summary-stat .small{grid-column:2}.mvp-history-summary-icon{grid-row:1/3;font-size:24px}.mvp-history-subtitle{margin:20px 0 10px;font-size:16px}.mvp-history-player-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,220px),1fr));gap:8px}.mvp-history-player-stat{display:grid;grid-template-columns:42px minmax(0,1fr) auto;align-items:center;gap:10px;padding:9px 10px;border:1px solid #365c76;border-radius:14px;background:#10283d;color:inherit;text-decoration:none}.mvp-history-player-stat:hover{border-color:var(--accent)}.mvp-history-stat-avatar,.mvp-history-avatar{width:42px;height:42px;border-radius:50%;object-fit:cover;background:#17364f}.mvp-history-avatar{width:48px;height:48px}.mvp-history-avatar-fallback{display:grid;place-items:center;color:#dff5ff;font-weight:950}.mvp-history-stat-copy{display:grid;gap:2px;min-width:0}.mvp-history-stat-copy strong{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.mvp-history-total{display:grid;place-items:center;min-width:32px;height:32px;border-radius:999px;background:rgba(150,220,255,.12);color:var(--accent)}.mvp-history-list{display:grid;gap:14px}.mvp-history-game{padding:18px;border:1px solid var(--line);border-radius:20px;background:linear-gradient(145deg,#112b42,#0a1d2e)}.mvp-history-game-top{display:flex;align-items:center;justify-content:space-between;gap:12px}.mvp-history-game h3{margin:5px 0 14px;font-size:20px}.mvp-history-result{font-size:18px;color:#eaf7ff}.mvp-history-awards{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,230px),1fr));gap:9px;margin-bottom:12px}.mvp-history-award{position:relative;display:grid;grid-template-columns:38px minmax(0,1fr);gap:10px;align-items:start;padding:12px;border:1px solid #365970;border-radius:15px;background:#0b2032;overflow:hidden}.mvp-history-award:before{content:"";position:absolute;inset:0 auto 0 0;width:3px;background:#6f8da2}.mvp-history-gold:before{background:#ffd45c}.mvp-history-silver:before{background:#c7d1dd}.mvp-history-fan:before{background:#9ddfff}.mvp-history-award.is-empty{opacity:.58}.mvp-history-medal{font-size:25px;line-height:1.2}.mvp-history-award-copy{display:grid;gap:7px;min-width:0}.mvp-history-player-row{display:flex;align-items:center;gap:9px;min-width:0}.mvp-history-who{display:grid;gap:2px;min-width:0}.mvp-history-name{font-size:15px;overflow-wrap:anywhere}.mvp-history-votes{font-size:11px;font-weight:850;color:#cfe9f8}.mvp-profile-awards{margin:18px 0;padding:16px;border:1px solid #3d617b;border-radius:16px;background:#0d2235}.mvp-profile-awards h2{margin:4px 0 10px;font-size:20px}.mvp-profile-award-chips{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:10px}.mvp-profile-award-chip{display:inline-flex;align-items:center;gap:4px;padding:7px 10px;border:1px solid #3f6680;border-radius:999px;background:#102b42;font-size:12px}.mvp-profile-award-chip strong{font-size:14px;color:#fff}
@media(max-width:700px){.mvp-history-controls{grid-template-columns:1fr}.mvp-history-summary-grid{grid-template-columns:1fr}.mvp-history-awards{grid-template-columns:1fr}.mvp-history-game{padding:15px}}

/* Fan-Pass 2.9.1 */
.fan-pass-holder{display:grid;gap:16px}.fan-pass-hero h2{margin-bottom:8px}.fan-pass-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:16px 0}.fan-pass-stat{padding:14px 10px;border-radius:14px;background:rgba(150,220,255,.08);border:1px solid rgba(150,220,255,.18);text-align:center}.fan-pass-stat strong{display:block;font-size:1.55rem;line-height:1.1}.fan-pass-stat span{display:block;margin-top:4px}.fan-pass-overall h3{margin:4px 0 12px}.fan-pass-progress{height:7px;border-radius:999px;background:rgba(255,255,255,.09);overflow:hidden;margin-top:9px}.fan-pass-progress span{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--accent),#fff);transition:width .35s ease}.fan-pass-progress.is-large{height:10px}.fan-pass-badge-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.fan-pass-badge{display:grid;grid-template-columns:54px minmax(0,1fr);gap:12px;align-items:center;padding:14px;border-radius:16px;border:1px solid rgba(255,255,255,.1);background:rgba(255,255,255,.035);min-height:94px}.fan-pass-badge.is-unlocked{border-color:rgba(150,220,255,.38);background:linear-gradient(135deg,rgba(150,220,255,.12),rgba(255,255,255,.035));box-shadow:0 8px 24px rgba(0,0,0,.12)}.fan-pass-badge.is-locked{opacity:.72}.fan-pass-badge-icon{width:52px;height:52px;border-radius:14px;display:grid;place-items:center;font-size:1.8rem;background:rgba(0,0,0,.2)}.fan-pass-badge.is-unlocked .fan-pass-badge-icon{background:rgba(150,220,255,.14)}.fan-pass-badge-body{min-width:0;display:grid;gap:3px}.fan-pass-badge-body strong{font-size:.98rem}.fan-pass-unlocked{font-size:.78rem;color:var(--accent);font-weight:800}.fan-pass-checkin-list{display:grid;gap:8px;margin-top:10px}.fan-pass-checkin-row{display:grid;grid-template-columns:28px minmax(0,1fr) auto;gap:8px;align-items:center;padding:9px 0;border-bottom:1px solid rgba(255,255,255,.08)}.fan-pass-checkin-row:last-child{border-bottom:0}.fan-pass-check{width:24px;height:24px;border-radius:50%;display:grid;place-items:center;background:rgba(150,220,255,.14);color:var(--accent);font-weight:900} .fan-pass-info p{margin-bottom:0}.fan-pass-faq{display:grid;gap:10px}.fan-pass-faq-item{padding:13px 14px;border-radius:14px;background:rgba(255,255,255,.035);border:1px solid rgba(255,255,255,.09)}.fan-pass-faq-question{display:block;font-size:.96rem;line-height:1.35;margin-bottom:5px}.fan-pass-faq-answer{font-size:.9rem;line-height:1.5}@media(max-width:560px){.fan-pass-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.fan-pass-badge-grid{grid-template-columns:1fr}.fan-pass-checkin-row{grid-template-columns:26px minmax(0,1fr)}.fan-pass-checkin-row .small{grid-column:2}}


/* Fan-Pass 2.10.1: rarity, grouped collection, unlock reveal and public legendary progress */
.fan-pass-category{display:grid;gap:10px}.fan-pass-category-head{display:flex;align-items:end;justify-content:space-between;gap:12px}.fan-pass-category-head h3{margin:0}.fan-pass-badge-head{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.fan-pass-rarity{display:inline-flex;align-items:center;min-height:20px;padding:2px 7px;border-radius:999px;font-size:.62rem;font-weight:900;letter-spacing:.07em;border:1px solid rgba(255,255,255,.16);background:rgba(255,255,255,.06)}.fan-pass-rarity.is-rare{border-color:rgba(116,200,255,.45);background:rgba(116,200,255,.1)}.fan-pass-rarity.is-epic{border-color:rgba(193,140,255,.48);background:rgba(193,140,255,.1)}.fan-pass-rarity.is-legendary{border-color:rgba(255,203,91,.55);background:rgba(255,203,91,.12)}.fan-pass-rarity.is-secret{border-color:rgba(255,255,255,.22);background:rgba(255,255,255,.08)}.fan-pass-badge.is-legendary.is-unlocked{border-color:rgba(255,203,91,.5);box-shadow:0 10px 28px rgba(0,0,0,.16),inset 0 0 0 1px rgba(255,203,91,.08)}.fan-pass-hidden-progress{font-size:.75rem;font-weight:800;letter-spacing:.02em;opacity:.7}.fan-pass-recent-list{display:grid;gap:8px;margin-top:8px}.fan-pass-recent-row{display:grid;grid-template-columns:42px minmax(0,1fr) auto;gap:10px;align-items:center;padding:9px 0;border-bottom:1px solid rgba(255,255,255,.08)}.fan-pass-recent-row:last-child{border-bottom:0}.fan-pass-recent-icon{width:38px;height:38px;border-radius:12px;display:grid;place-items:center;font-size:1.35rem;background:rgba(150,220,255,.1)}.fan-pass-recent-row>span:nth-child(2){display:grid;gap:2px}.fan-pass-recent-row small{display:block}.fan-pass-reveal{position:fixed;inset:0;z-index:999999;display:grid;place-items:center;padding:22px;background:rgba(2,8,18,.72);backdrop-filter:blur(9px);opacity:0;transition:opacity .2s ease}.fan-pass-reveal.is-showing{opacity:1}.fan-pass-reveal-card{position:relative;width:min(430px,100%);padding:28px 22px 20px;border-radius:24px;border:1px solid rgba(150,220,255,.38);background:linear-gradient(160deg,#102b49,#071523 72%);box-shadow:0 28px 80px rgba(0,0,0,.48);text-align:center;transform:translateY(18px) scale(.94);transition:transform .28s cubic-bezier(.2,.8,.2,1);overflow:hidden}.fan-pass-reveal.is-showing .fan-pass-reveal-card{transform:translateY(0) scale(1)}.fan-pass-reveal-card.is-legendary{border-color:rgba(255,203,91,.65);box-shadow:0 28px 90px rgba(0,0,0,.52),0 0 45px rgba(255,203,91,.12)}.fan-pass-reveal-burst{position:absolute;right:16px;top:10px;font-size:4rem;line-height:1;opacity:.12;transform:rotate(14deg)}.fan-pass-reveal-icon{width:92px;height:92px;margin:12px auto 14px;border-radius:26px;display:grid;place-items:center;font-size:3.2rem;background:rgba(150,220,255,.12);border:1px solid rgba(150,220,255,.22);animation:fanPassBadgePop .55s cubic-bezier(.18,.89,.32,1.28)}.fan-pass-reveal-card.is-legendary .fan-pass-reveal-icon{background:rgba(255,203,91,.12);border-color:rgba(255,203,91,.3)}.fan-pass-reveal-card h2{margin:0 0 7px;font-size:1.55rem}.fan-pass-reveal-card>.muted{margin:0 auto 12px;max-width:34ch}.fan-pass-reveal-more{display:grid;gap:5px;margin:15px 0 2px;padding:12px;border-radius:14px;background:rgba(255,255,255,.055);text-align:left}.fan-pass-reveal-more span{font-size:.84rem}.fan-pass-reveal-actions{display:grid;grid-template-columns:1fr 1.35fr;gap:9px;margin-top:18px}.fan-pass-reveal-actions button{width:100%}@keyframes fanPassBadgePop{0%{transform:scale(.55) rotate(-10deg);opacity:.2}70%{transform:scale(1.08) rotate(2deg)}100%{transform:scale(1);opacity:1}}@media(max-width:560px){.fan-pass-recent-row{grid-template-columns:40px minmax(0,1fr)}.fan-pass-recent-row>.fan-pass-rarity{grid-column:2;justify-self:start}.fan-pass-reveal{padding:14px}.fan-pass-reveal-card{padding:24px 17px 17px}.fan-pass-reveal-actions{grid-template-columns:1fr}}@media(prefers-reduced-motion:reduce){.fan-pass-reveal,.fan-pass-reveal-card,.fan-pass-reveal-icon{transition:none!important;animation:none!important}}

/* Fan-Pass 2.11.0: Token wallet + secret hint shop */
.fan-pass-wallet{overflow:hidden;background:linear-gradient(145deg,rgba(255,203,91,.11),rgba(150,220,255,.06))}.fan-pass-wallet-top{display:flex;align-items:center;justify-content:space-between;gap:16px}.fan-pass-wallet-top h3{margin:2px 0 0;font-size:1.65rem}.fan-pass-wallet-balance{display:inline-flex;align-items:center;min-height:34px;padding:6px 11px;border-radius:999px;border:1px solid rgba(255,203,91,.35);background:rgba(255,203,91,.1);font-weight:900;white-space:nowrap}.fan-pass-token-reward{display:inline-flex;align-items:center;width:max-content;margin-top:4px;padding:4px 8px;border-radius:999px;background:rgba(255,203,91,.1);border:1px solid rgba(255,203,91,.26);font-size:.74rem;font-weight:850}.fan-pass-hints{display:grid;gap:7px;margin-top:7px}.fan-pass-hint{display:grid;gap:2px;padding:9px 10px;border-radius:12px;background:rgba(255,203,91,.07);border:1px solid rgba(255,203,91,.18)}.fan-pass-hint strong{font-size:.76rem;color:#ffd96a}.fan-pass-hint span{font-size:.82rem;line-height:1.35}.fan-pass-hint-actions{display:grid;gap:5px;margin-top:5px}.fan-pass-hint-buy{width:100%;min-height:38px}.fan-pass-reveal-token{display:inline-flex;align-items:center;justify-content:center;margin:11px auto 0;padding:7px 12px;border-radius:999px;background:rgba(255,203,91,.12);border:1px solid rgba(255,203,91,.32);font-weight:900;color:#ffe29a}@media(max-width:560px){.fan-pass-wallet-top{align-items:flex-start;flex-direction:column;gap:8px}.fan-pass-wallet-balance{min-height:30px}}

/* Fan-Pass Designs & Mystery Boxes – 2.12.0 */
.fan-pass-holder{--fp-accent:#96dcff;--fp-accent2:#dff7ff;--fp-glow:rgba(150,220,255,.14);--fp-panel:linear-gradient(145deg,#142f48,#0d2032);--fp-hero:radial-gradient(circle at 100% 0%,rgba(150,220,255,.16),transparent 42%),linear-gradient(145deg,#153652,#0b1d2d)}
.fan-pass-holder .fan-pass-hero{position:relative;overflow:hidden;background:var(--fp-hero);border-color:color-mix(in srgb,var(--fp-accent) 36%,transparent)}
.fan-pass-holder .fan-pass-hero:after{content:'';position:absolute;width:170px;height:170px;right:-70px;bottom:-95px;border-radius:50%;background:var(--fp-glow);filter:blur(2px);pointer-events:none}
.fan-pass-holder .fan-pass-stat,.fan-pass-holder .fan-pass-recent-icon,.fan-pass-holder .fan-pass-check{border-color:color-mix(in srgb,var(--fp-accent) 24%,transparent);background:var(--fp-glow)}
.fan-pass-holder .fan-pass-progress span{background:linear-gradient(90deg,var(--fp-accent),var(--fp-accent2))}
.fan-pass-theme-dark{--fp-accent:#a8b5c3;--fp-accent2:#eef3f7;--fp-glow:rgba(183,198,211,.10);--fp-hero:radial-gradient(circle at 82% 10%,rgba(205,220,232,.08),transparent 34%),linear-gradient(150deg,#151a20,#080b0f)}
.fan-pass-theme-matchday{--fp-accent:#7ed9ff;--fp-accent2:#ffffff;--fp-glow:rgba(54,181,255,.15);--fp-hero:linear-gradient(115deg,rgba(255,255,255,.055) 0 8%,transparent 8% 16%,rgba(255,255,255,.035) 16% 24%,transparent 24%),linear-gradient(145deg,#0d3d67,#081a2b)}
.fan-pass-theme-regionalliga{--fp-accent:#bcecff;--fp-accent2:#ffffff;--fp-glow:rgba(188,236,255,.18);--fp-hero:radial-gradient(circle at 84% 18%,rgba(255,255,255,.13),transparent 25%),linear-gradient(145deg,#164d76,#09253d)}
.fan-pass-theme-mvp{--fp-accent:#ffd86e;--fp-accent2:#fff2bd;--fp-glow:rgba(255,216,110,.16);--fp-hero:radial-gradient(circle at 85% 14%,rgba(255,216,110,.23),transparent 30%),linear-gradient(145deg,#3b3218,#101b27)}
.fan-pass-theme-retro{--fp-accent:#f2d79c;--fp-accent2:#fff6dc;--fp-glow:rgba(242,215,156,.13);--fp-hero:linear-gradient(0deg,rgba(255,255,255,.025) 50%,transparent 50%) 0 0/100% 5px,linear-gradient(145deg,#284256,#121f2b)}
.fan-pass-theme-gold{--fp-accent:#ffcf4d;--fp-accent2:#fff0a7;--fp-glow:rgba(255,207,77,.20);--fp-hero:radial-gradient(circle at 82% 18%,rgba(255,224,120,.27),transparent 28%),linear-gradient(145deg,#59461a,#162333)}
.fan-pass-theme-hallenlegende{--fp-accent:#8bdfff;--fp-accent2:#ffffff;--fp-glow:rgba(122,211,255,.18);--fp-hero:radial-gradient(ellipse at 20% -10%,rgba(255,255,255,.22),transparent 27%),radial-gradient(ellipse at 80% -10%,rgba(255,255,255,.16),transparent 24%),linear-gradient(145deg,#163b59,#071724)}
.fan-pass-theme-geheim{--fp-accent:#d6a7ff;--fp-accent2:#8de8ff;--fp-glow:rgba(193,117,255,.17);--fp-hero:radial-gradient(circle at 80% 18%,rgba(193,117,255,.22),transparent 27%),linear-gradient(145deg,#29183f,#081825)}
.fan-pass-theme-legendaer{--fp-accent:#ffe083;--fp-accent2:#c9f0ff;--fp-glow:rgba(255,224,131,.20);--fp-hero:radial-gradient(circle at 84% 16%,rgba(255,224,131,.25),transparent 26%),radial-gradient(circle at 18% 95%,rgba(109,205,255,.14),transparent 29%),linear-gradient(145deg,#3a3317,#0b2030)}
.fan-pass-theme-neon{--fp-accent:#6ff7ff;--fp-accent2:#f68cff;--fp-glow:rgba(111,247,255,.20);--fp-hero:radial-gradient(circle at 80% 20%,rgba(246,140,255,.22),transparent 27%),radial-gradient(circle at 15% 100%,rgba(111,247,255,.18),transparent 30%),linear-gradient(145deg,#15103c,#071928)}
.fan-pass-theme-ice{--fp-accent:#d4f5ff;--fp-accent2:#7dd7ff;--fp-glow:rgba(185,238,255,.20);--fp-hero:linear-gradient(130deg,rgba(255,255,255,.11),transparent 23%,rgba(163,226,255,.08) 48%,transparent 72%),linear-gradient(145deg,#1f4f68,#0a2435)}
.fan-pass-theme-blackout{--fp-accent:#e6e6e6;--fp-accent2:#ffffff;--fp-glow:rgba(255,255,255,.07);--fp-hero:radial-gradient(circle at 85% 15%,rgba(255,255,255,.08),transparent 28%),linear-gradient(145deg,#090909,#020304)}
.fan-pass-designs{overflow:hidden}.fan-pass-designs-head{display:flex;align-items:end;justify-content:space-between;gap:14px}.fan-pass-designs-head h3{margin:3px 0 0}.fan-pass-design-count{display:inline-flex;min-height:30px;align-items:center;padding:5px 10px;border-radius:999px;border:1px solid rgba(150,220,255,.25);background:rgba(150,220,255,.08);font-weight:900}.fan-pass-design-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:11px;margin-top:14px}.fan-pass-design-card{overflow:hidden;border:1px solid rgba(255,255,255,.11);border-radius:17px;background:rgba(255,255,255,.03)}.fan-pass-design-card.is-active{border-color:var(--fp-accent);box-shadow:0 0 0 1px color-mix(in srgb,var(--fp-accent) 30%,transparent),0 12px 28px rgba(0,0,0,.16)}.fan-pass-design-card.is-locked{opacity:.68}.fan-pass-design-preview{height:86px;padding:13px;display:flex;align-items:flex-end;justify-content:space-between;background:linear-gradient(145deg,#153652,#0b1d2d);position:relative;overflow:hidden}.fan-pass-design-preview:after{content:'';position:absolute;width:100px;height:100px;right:-35px;top:-42px;border-radius:50%;background:rgba(255,255,255,.11)}.fan-pass-design-preview strong,.fan-pass-design-mark{position:relative;z-index:1}.fan-pass-design-mark{font-size:1.65rem}.fan-pass-design-card.theme-dark .fan-pass-design-preview{background:linear-gradient(145deg,#171b20,#050607)}.fan-pass-design-card.theme-matchday .fan-pass-design-preview{background:linear-gradient(120deg,#0c4779,#071c30)}.fan-pass-design-card.theme-regionalliga .fan-pass-design-preview{background:linear-gradient(145deg,#17608f,#0a2a43)}.fan-pass-design-card.theme-mvp .fan-pass-design-preview,.fan-pass-design-card.theme-gold .fan-pass-design-preview{background:linear-gradient(145deg,#6a5319,#152331)}.fan-pass-design-card.theme-retro .fan-pass-design-preview{background:repeating-linear-gradient(0deg,#27465d 0 4px,#213a4d 4px 8px)}.fan-pass-design-card.theme-hallenlegende .fan-pass-design-preview{background:radial-gradient(circle at 20% 0%,rgba(255,255,255,.28),transparent 20%),linear-gradient(145deg,#164c70,#071928)}.fan-pass-design-card.theme-geheim .fan-pass-design-preview{background:linear-gradient(145deg,#4a246d,#0b1a29)}.fan-pass-design-card.theme-legendaer .fan-pass-design-preview{background:linear-gradient(145deg,#6b571c,#0d2b40)}.fan-pass-design-card.theme-neon .fan-pass-design-preview{background:linear-gradient(135deg,#24135a,#087789)}.fan-pass-design-card.theme-ice .fan-pass-design-preview{background:linear-gradient(145deg,#5598b8,#143447)}.fan-pass-design-card.theme-blackout .fan-pass-design-preview{background:linear-gradient(145deg,#111,#000)}.fan-pass-design-body{display:grid;gap:7px;padding:12px}.fan-pass-design-title{display:flex;gap:7px;align-items:center;flex-wrap:wrap}.fan-pass-design-use{width:100%;min-height:38px;margin-top:3px}.fan-pass-design-active{font-size:.78rem;color:var(--fp-accent);font-weight:900}.fan-pass-design-lock{line-height:1.4}.fan-pass-boxes{overflow:hidden}.fan-pass-boxes h3{margin:4px 0 8px}.fan-pass-box-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:11px;margin-top:14px}.fan-pass-box{display:grid;grid-template-columns:74px minmax(0,1fr);gap:12px;align-items:center;padding:13px;border-radius:17px;border:1px solid rgba(116,200,255,.25);background:linear-gradient(145deg,rgba(116,200,255,.08),rgba(255,255,255,.025))}.fan-pass-box.is-epic{border-color:rgba(193,140,255,.34);background:linear-gradient(145deg,rgba(193,140,255,.11),rgba(255,255,255,.025))}.fan-pass-box.is-legendary{border-color:rgba(255,203,91,.42);background:linear-gradient(145deg,rgba(255,203,91,.12),rgba(255,255,255,.025))}.fan-pass-box-art{width:70px;height:70px;display:grid;place-items:center;border-radius:18px;background:rgba(255,255,255,.07);font-size:2.35rem;animation:fanPassBoxFloat 2.5s ease-in-out infinite}.fan-pass-box-body{display:grid;gap:6px;min-width:0}.fan-pass-box-body button{margin-top:3px;width:100%;min-height:38px}.fan-pass-box-history-list{display:grid;gap:8px;margin-top:8px}.fan-pass-box-history-row{display:grid;grid-template-columns:42px minmax(0,1fr);gap:10px;align-items:center;padding:9px 0;border-bottom:1px solid rgba(255,255,255,.08)}.fan-pass-box-history-row:last-child{border-bottom:0}.fan-pass-box-history-icon{width:38px;height:38px;display:grid;place-items:center;border-radius:12px;background:rgba(255,255,255,.065);font-size:1.25rem}.fan-pass-box-history-row>span:last-child{display:grid;gap:2px}.fan-pass-box-reveal{position:fixed;inset:0;z-index:1000000;display:grid;place-items:center;padding:20px;background:rgba(0,5,12,.82);backdrop-filter:blur(10px);opacity:0;transition:opacity .2s ease}.fan-pass-box-reveal.is-showing{opacity:1}.fan-pass-box-reveal-card{width:min(410px,100%);padding:30px 22px 22px;text-align:center;border-radius:26px;border:1px solid rgba(116,200,255,.45);background:radial-gradient(circle at 50% 0%,rgba(116,200,255,.17),transparent 36%),linear-gradient(160deg,#102b49,#07131f);box-shadow:0 30px 90px rgba(0,0,0,.55);transform:scale(.88) translateY(14px);transition:transform .28s cubic-bezier(.2,.8,.2,1)}.fan-pass-box-reveal.is-showing .fan-pass-box-reveal-card{transform:scale(1) translateY(0)}.fan-pass-box-reveal-card.is-epic{border-color:rgba(193,140,255,.58)}.fan-pass-box-reveal-card.is-legendary{border-color:rgba(255,203,91,.68);box-shadow:0 30px 100px rgba(0,0,0,.6),0 0 50px rgba(255,203,91,.1)}.fan-pass-box-reveal-icon{width:100px;height:100px;margin:10px auto 15px;display:grid;place-items:center;border-radius:28px;background:rgba(255,255,255,.075);font-size:3.3rem;animation:fanPassBoxPop .65s cubic-bezier(.18,.89,.32,1.3)}.fan-pass-box-reveal-card h2{margin:0 0 8px}.fan-pass-box-reward{margin:0 0 10px;font-size:1.18rem;font-weight:950;color:#fff}.fan-pass-box-reveal-card button{width:100%;margin-top:13px}@keyframes fanPassBoxFloat{0%,100%{transform:translateY(0) rotate(-2deg)}50%{transform:translateY(-4px) rotate(2deg)}}@keyframes fanPassBoxPop{0%{transform:scale(.45) rotate(-13deg);opacity:.2}72%{transform:scale(1.1) rotate(3deg)}100%{transform:scale(1);opacity:1}}@media(max-width:620px){.fan-pass-design-grid,.fan-pass-box-grid{grid-template-columns:1fr}.fan-pass-design-preview{height:78px}.fan-pass-box{grid-template-columns:66px minmax(0,1fr)}.fan-pass-box-art{width:62px;height:62px;font-size:2rem}}@media(prefers-reduced-motion:reduce){.fan-pass-box-art,.fan-pass-box-reveal-icon{animation:none!important}.fan-pass-box-reveal,.fan-pass-box-reveal-card{transition:none!important}}

/* 2.13.0 · Wochen-Challenges, Phantom-Badges & animierte Fan-Pass-Designs */
.fan-pass-weekly{overflow:hidden;border-color:color-mix(in srgb,var(--fp-accent) 28%,transparent);background:linear-gradient(145deg,color-mix(in srgb,var(--fp-accent) 8%,#10263a),#0b1c2c)}
.fan-pass-weekly-top{display:flex;align-items:flex-end;justify-content:space-between;gap:12px}.fan-pass-weekly-top h3{margin:3px 0 0}.fan-pass-weekly-time{display:inline-flex;align-items:center;min-height:31px;padding:5px 10px;border:1px solid color-mix(in srgb,var(--fp-accent) 28%,transparent);border-radius:999px;background:var(--fp-glow);font-size:.77rem;font-weight:900;white-space:nowrap}
.fan-pass-weekly-grid{display:grid;gap:10px;margin-top:14px}.fan-pass-weekly-card{display:grid;grid-template-columns:48px minmax(0,1fr);gap:11px;align-items:center;padding:12px;border:1px solid rgba(255,255,255,.1);border-radius:15px;background:rgba(255,255,255,.035)}.fan-pass-weekly-card.is-complete{border-color:color-mix(in srgb,var(--fp-accent) 38%,transparent);background:var(--fp-glow)}.fan-pass-weekly-icon{width:46px;height:46px;display:grid;place-items:center;border-radius:13px;background:rgba(0,0,0,.19);font-size:1.45rem;font-weight:950}.fan-pass-weekly-card.is-complete .fan-pass-weekly-icon{background:color-mix(in srgb,var(--fp-accent) 18%,rgba(0,0,0,.18));color:var(--fp-accent)}.fan-pass-weekly-body{display:grid;gap:4px;min-width:0}.fan-pass-weekly-head{display:flex;align-items:center;justify-content:space-between;gap:8px}.fan-pass-weekly-head strong{min-width:0}.fan-pass-weekly-reward{flex:0 0 auto;padding:3px 7px;border-radius:999px;background:rgba(255,209,87,.1);color:#ffe4a1;font-size:.72rem;font-weight:950}.fan-pass-weekly-bonus{display:grid;grid-template-columns:32px minmax(0,1fr);gap:9px;align-items:center;margin-top:12px;padding:10px 12px;border:1px dashed rgba(255,209,87,.34);border-radius:14px;background:rgba(255,209,87,.055);font-size:.84rem;font-weight:850}.fan-pass-weekly-bonus.is-earned{border-style:solid;border-color:color-mix(in srgb,var(--fp-accent) 40%,transparent);background:var(--fp-glow)}.fan-pass-weekly-bonus-icon{width:28px;height:28px;display:grid;place-items:center;border-radius:9px;background:rgba(255,255,255,.07)}
.fan-pass-phantom-pill,.fan-pass-motion-pill,.fan-pass-design-motion{display:inline-flex;align-items:center;min-height:22px;padding:3px 7px;border-radius:999px;font-size:.64rem;font-weight:950;letter-spacing:.06em}.fan-pass-phantom-pill{border:1px solid rgba(197,169,255,.42);background:rgba(159,103,230,.15);color:#e9d9ff}.fan-pass-motion-pill{border:1px solid color-mix(in srgb,var(--fp-accent) 30%,transparent);background:var(--fp-glow);color:var(--fp-accent)}.fan-pass-design-motion{position:absolute;z-index:2;right:9px;top:9px;border:1px solid rgba(255,255,255,.28);background:rgba(4,12,22,.56);color:#fff;backdrop-filter:blur(5px)}
.fan-pass-design-card.is-animated .fan-pass-design-preview:before{content:'';position:absolute;inset:-35%;background:linear-gradient(105deg,transparent 36%,rgba(255,255,255,.18) 49%,transparent 62%);transform:translateX(-55%) rotate(8deg);animation:fanPassPreviewSweep 4.8s ease-in-out infinite;pointer-events:none}
.fan-pass-holder.is-animated .fan-pass-hero:before{content:'';position:absolute;inset:-45%;pointer-events:none;z-index:0}.fan-pass-holder.is-animated .fan-pass-hero>*{position:relative;z-index:1}
.fan-pass-holder.fan-pass-theme-neon.is-animated .fan-pass-hero:before{background:conic-gradient(from 10deg,transparent,rgba(111,247,255,.13),transparent,rgba(246,140,255,.13),transparent);animation:fanPassNeonOrbit 11s linear infinite}.fan-pass-holder.fan-pass-theme-neon.is-animated .fan-pass-stat{animation:fanPassNeonPulse 3.4s ease-in-out infinite}
.fan-pass-holder.fan-pass-theme-ice.is-animated .fan-pass-hero:before{background:linear-gradient(105deg,transparent 34%,rgba(226,250,255,.18) 48%,transparent 61%);animation:fanPassIceShimmer 6s ease-in-out infinite}
.fan-pass-holder.fan-pass-theme-legendaer.is-animated .fan-pass-hero{animation:fanPassLegendGlow 4.2s ease-in-out infinite}.fan-pass-holder.fan-pass-theme-legendaer.is-animated .fan-pass-hero:before{background:radial-gradient(circle,rgba(255,224,131,.16),transparent 46%);animation:fanPassLegendOrbit 9s linear infinite}
.fan-pass-holder.fan-pass-theme-blackout.is-animated .fan-pass-hero:before{inset:-20% -70%;background:linear-gradient(100deg,transparent 42%,rgba(255,255,255,.08) 50%,transparent 58%);animation:fanPassBlackScan 7s ease-in-out infinite}
@keyframes fanPassPreviewSweep{0%,20%{transform:translateX(-62%) rotate(8deg);opacity:0}42%{opacity:1}70%,100%{transform:translateX(62%) rotate(8deg);opacity:0}}
@keyframes fanPassNeonOrbit{to{transform:rotate(360deg)}}@keyframes fanPassNeonPulse{0%,100%{box-shadow:0 0 0 rgba(111,247,255,0)}50%{box-shadow:0 0 20px rgba(111,247,255,.08)}}
@keyframes fanPassIceShimmer{0%,18%{transform:translateX(-45%);opacity:0}42%{opacity:1}72%,100%{transform:translateX(45%);opacity:0}}
@keyframes fanPassLegendGlow{0%,100%{box-shadow:0 0 0 rgba(255,224,131,0)}50%{box-shadow:0 0 34px rgba(255,224,131,.11)}}@keyframes fanPassLegendOrbit{to{transform:rotate(360deg)}}
@keyframes fanPassBlackScan{0%,20%{transform:translateX(-34%);opacity:0}45%{opacity:1}75%,100%{transform:translateX(34%);opacity:0}}
@media(max-width:560px){.fan-pass-weekly-top{align-items:flex-start;flex-direction:column}.fan-pass-weekly-time{align-self:flex-start}.fan-pass-weekly-head{align-items:flex-start}.fan-pass-weekly-card{grid-template-columns:44px minmax(0,1fr)}.fan-pass-weekly-icon{width:42px;height:42px}}
@media(prefers-reduced-motion:reduce){.fan-pass-design-card.is-animated .fan-pass-design-preview:before,.fan-pass-holder.is-animated .fan-pass-hero:before,.fan-pass-holder.fan-pass-theme-neon.is-animated .fan-pass-stat,.fan-pass-holder.fan-pass-theme-legendaer.is-animated .fan-pass-hero{animation:none!important}}

/* 2.13.1 · Fortschritts-Popups */
.fan-pass-progress-toast{position:fixed;z-index:1000001;left:50%;bottom:calc(84px + env(safe-area-inset-bottom,0px));width:min(390px,calc(100vw - 28px));padding:13px 14px;border:1px solid rgba(116,200,255,.38);border-radius:18px;background:rgba(7,22,36,.96);box-shadow:0 18px 55px rgba(0,0,0,.45);backdrop-filter:blur(12px);transform:translate(-50%,18px) scale(.97);opacity:0;transition:opacity .18s ease,transform .22s cubic-bezier(.2,.8,.2,1)}.fan-pass-progress-toast.is-showing{opacity:1;transform:translate(-50%,0) scale(1)}.fan-pass-progress-toast.is-complete{border-color:rgba(255,211,105,.55)}.fan-pass-progress-toast-top{display:grid;grid-template-columns:38px minmax(0,1fr);gap:10px;align-items:center}.fan-pass-progress-toast-icon{width:36px;height:36px;display:grid;place-items:center;border-radius:11px;background:rgba(255,255,255,.075);font-size:1.22rem}.fan-pass-progress-toast-copy{display:grid;gap:1px}.fan-pass-progress-toast-copy small{font-size:.65rem;font-weight:950;letter-spacing:.09em;color:#9ecff0}.fan-pass-progress-toast-copy strong{font-size:.93rem}.fan-pass-progress-toast-meter{height:6px;margin-top:9px;overflow:hidden;border-radius:999px;background:rgba(255,255,255,.09)}.fan-pass-progress-toast-meter span{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#70cfff,#d5efff)}.fan-pass-progress-toast-value{display:block;margin-top:6px;text-align:right;font-size:.76rem;font-weight:900;color:#caeaff}@media(prefers-reduced-motion:reduce){.fan-pass-progress-toast{transition:none!important}}
\n\n/* 2.13.2 · kompakter Fan-Pass mit einklappbaren Bereichen */
.fan-pass-disclosure{padding:0;overflow:hidden}.fan-pass-disclosure>summary{list-style:none}.fan-pass-disclosure>summary::-webkit-details-marker{display:none}.fan-pass-disclosure-summary{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:64px;padding:17px 19px;cursor:pointer;user-select:none}.fan-pass-disclosure-summary:focus-visible{outline:2px solid var(--fp-accent,var(--accent));outline-offset:-3px;border-radius:16px}.fan-pass-disclosure-title{display:grid;gap:3px;min-width:0}.fan-pass-disclosure-title>strong{font-size:1rem}.fan-pass-disclosure-title>small{display:block}.fan-pass-disclosure-chevron{flex:0 0 auto;width:30px;height:30px;display:grid;place-items:center;border-radius:10px;background:rgba(255,255,255,.055);font-size:1.2rem;font-weight:900;transition:transform .18s ease}.fan-pass-disclosure[open]>.fan-pass-disclosure-summary .fan-pass-disclosure-chevron{transform:rotate(180deg)}.fan-pass-disclosure-body{padding:0 19px 19px}.fan-pass-disclosure-body>.fan-pass-badge-grid:first-child,.fan-pass-disclosure-body>.fan-pass-design-grid:first-child,.fan-pass-disclosure-body>.fan-pass-box-grid:first-child,.fan-pass-disclosure-body>.fan-pass-recent-list:first-child,.fan-pass-disclosure-body>.fan-pass-checkin-list:first-child{margin-top:0}.fan-pass-category.fan-pass-disclosure{display:block;border:1px solid var(--line);border-radius:17px;background:rgba(255,255,255,.025)}.fan-pass-category.fan-pass-disclosure .fan-pass-disclosure-body{padding-top:0}.fan-pass-category.fan-pass-disclosure .fan-pass-badge-grid{margin-top:0}.fan-pass-weekly.fan-pass-disclosure .fan-pass-disclosure-summary{background:var(--fp-glow)}@media(max-width:560px){.fan-pass-disclosure-summary{min-height:58px;padding:15px}.fan-pass-disclosure-body{padding:0 15px 15px}.fan-pass-disclosure-title>strong{font-size:.94rem}}@media(prefers-reduced-motion:reduce){.fan-pass-disclosure-chevron{transition:none!important}}\n

/* 2.13.3 · Fan-Pass Vollbild + optionales App-weites Design */
.fan-pass-hero.is-clickable{cursor:pointer;transition:transform .16s ease,border-color .18s ease}.fan-pass-hero.is-clickable:active{transform:scale(.992)}.fan-pass-hero.is-clickable:focus-visible{outline:3px solid var(--fp-accent,var(--accent));outline-offset:3px}.fan-pass-fullscreen-hint{position:absolute;right:18px;top:17px;z-index:2;padding:5px 9px;border-radius:999px;background:rgba(0,0,0,.2);border:1px solid rgba(255,255,255,.13);font-size:.7rem;font-weight:850;color:var(--fp-accent,var(--accent))}
.fan-pass-app-theme-toggle{display:grid;grid-template-columns:auto minmax(0,1fr);gap:12px;align-items:center;margin:13px 0 16px;padding:13px 14px;border:1px solid color-mix(in srgb,var(--fp-accent) 28%,transparent);border-radius:15px;background:var(--fp-glow);cursor:pointer}.fan-pass-app-theme-toggle input{width:22px;height:22px;accent-color:var(--fp-accent)}.fan-pass-app-theme-toggle>span{display:grid;gap:2px}.fan-pass-app-theme-toggle strong{font-size:.9rem}.fan-pass-app-theme-toggle small{line-height:1.35}
.fan-pass-fullscreen{position:fixed;inset:0;z-index:1000005;display:grid;place-items:center;padding:18px;background:rgba(0,5,12,.86);backdrop-filter:blur(14px);opacity:0;transition:opacity .2s ease}.fan-pass-fullscreen.is-showing{opacity:1}.fan-pass-fullscreen-card{--fp-accent:#96dcff;--fp-accent2:#dff7ff;--fp-glow:rgba(150,220,255,.14);position:relative;width:min(520px,100%);max-height:calc(100svh - 28px);overflow:auto;padding:26px 22px 20px;border:1px solid color-mix(in srgb,var(--fp-accent) 42%,transparent);border-radius:28px;background:radial-gradient(circle at 100% 0%,var(--fp-glow),transparent 35%),linear-gradient(155deg,#132f49,#081520 72%);box-shadow:0 34px 100px rgba(0,0,0,.58);transform:translateY(18px) scale(.96);transition:transform .25s cubic-bezier(.2,.8,.2,1)}.fan-pass-fullscreen.is-showing .fan-pass-fullscreen-card{transform:none}.fan-pass-fullscreen-close{position:absolute;right:14px;top:14px;width:38px;height:38px;z-index:5;border:1px solid rgba(255,255,255,.16);border-radius:12px;background:rgba(0,0,0,.24);color:#fff;font-size:25px;line-height:1}.fan-pass-fullscreen-top{display:grid;grid-template-columns:62px minmax(0,1fr);gap:14px;align-items:center;padding-right:38px}.fan-pass-fullscreen-logo{width:60px;height:60px;display:grid;place-items:center;border-radius:18px;background:var(--fp-glow);border:1px solid color-mix(in srgb,var(--fp-accent) 30%,transparent);font-weight:950;color:var(--fp-accent);letter-spacing:-.06em}.fan-pass-fullscreen-title h2{margin:0 0 4px}.fan-pass-fullscreen-title .eyebrow{margin-bottom:4px}.fan-pass-fullscreen-key{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin:22px 0}.fan-pass-fullscreen-key>div{display:grid;gap:2px;justify-items:center;text-align:center;padding:12px 5px;border-radius:15px;background:rgba(255,255,255,.045);border:1px solid rgba(255,255,255,.08)}.fan-pass-fullscreen-key>div>span{font-size:1.1rem}.fan-pass-fullscreen-key strong{font-size:1.2rem}.fan-pass-fullscreen-key small{font-size:.67rem}.fan-pass-fullscreen-progress{display:grid;gap:9px;padding:16px;border-radius:18px;background:rgba(0,0,0,.16);border:1px solid rgba(255,255,255,.08)}.fan-pass-fullscreen-progress h3{margin:0 0 3px}.fan-pass-fullscreen-progress-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:7px 12px;align-items:center}.fan-pass-fullscreen-progress-row>span{display:flex;align-items:center;gap:7px}.fan-pass-fullscreen-progress-row>b{font-variant-numeric:tabular-nums;color:var(--fp-accent)}.fan-pass-fullscreen-meter{grid-column:1/-1;height:6px;border-radius:999px;overflow:hidden;background:rgba(255,255,255,.08)}.fan-pass-fullscreen-meter span{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--fp-accent),var(--fp-accent2))}.fan-pass-fullscreen-footer{display:flex;justify-content:space-between;gap:12px;align-items:center;margin-top:15px;padding-top:13px;border-top:1px solid rgba(255,255,255,.08);font-weight:850}.fan-pass-fullscreen-card.fan-pass-theme-dark{--fp-accent:#a8b5c3;--fp-accent2:#eef3f7;--fp-glow:rgba(183,198,211,.10);background:linear-gradient(155deg,#171c22,#06080b)}.fan-pass-fullscreen-card.fan-pass-theme-matchday{--fp-accent:#7ed9ff;--fp-accent2:#fff;--fp-glow:rgba(54,181,255,.15);background:linear-gradient(145deg,#0d3d67,#081a2b)}.fan-pass-fullscreen-card.fan-pass-theme-regionalliga{--fp-accent:#bcecff;--fp-accent2:#fff;--fp-glow:rgba(188,236,255,.18);background:linear-gradient(145deg,#164d76,#09253d)}.fan-pass-fullscreen-card.fan-pass-theme-mvp,.fan-pass-fullscreen-card.fan-pass-theme-gold{--fp-accent:#ffd86e;--fp-accent2:#fff2bd;--fp-glow:rgba(255,216,110,.16);background:linear-gradient(145deg,#3b3218,#101b27)}.fan-pass-fullscreen-card.fan-pass-theme-retro{--fp-accent:#9bd4f3;--fp-accent2:#fff;--fp-glow:rgba(155,212,243,.13);background:repeating-linear-gradient(0deg,#27465d 0 5px,#20394c 5px 10px)}.fan-pass-fullscreen-card.fan-pass-theme-hallenlegende{--fp-accent:#a9ebff;--fp-accent2:#fff;--fp-glow:rgba(169,235,255,.16);background:radial-gradient(circle at 20% 0%,rgba(255,255,255,.2),transparent 20%),linear-gradient(145deg,#164c70,#071928)}.fan-pass-fullscreen-card.fan-pass-theme-geheim{--fp-accent:#cf9dff;--fp-accent2:#f0dfff;--fp-glow:rgba(207,157,255,.15);background:linear-gradient(145deg,#4a246d,#0b1a29)}.fan-pass-fullscreen-card.fan-pass-theme-legendaer{--fp-accent:#ffe083;--fp-accent2:#fff3bd;--fp-glow:rgba(255,224,131,.16);background:linear-gradient(145deg,#6b571c,#0d2b40)}.fan-pass-fullscreen-card.fan-pass-theme-neon{--fp-accent:#6ff7ff;--fp-accent2:#e8ffff;--fp-glow:rgba(111,247,255,.17);background:linear-gradient(135deg,#24135a,#087789)}.fan-pass-fullscreen-card.fan-pass-theme-ice{--fp-accent:#d6f6ff;--fp-accent2:#fff;--fp-glow:rgba(214,246,255,.2);background:linear-gradient(145deg,#5598b8,#143447)}.fan-pass-fullscreen-card.fan-pass-theme-blackout{--fp-accent:#d8e1eb;--fp-accent2:#fff;--fp-glow:rgba(216,225,235,.08);background:linear-gradient(145deg,#111,#000)}
/* Aktives animiertes Design: nicht nur Vorschau, sondern der ganze Pass lebt dezent. */
.fan-pass-holder.is-animated>.content-card,.fan-pass-holder.is-animated>.fan-pass-disclosure{position:relative;isolation:isolate;overflow:hidden}.fan-pass-holder.is-animated>.content-card:before,.fan-pass-holder.is-animated>.fan-pass-disclosure:before,.fan-pass-fullscreen-card.is-animated:before{content:'';position:absolute;z-index:-1;inset:-45%;pointer-events:none;background:linear-gradient(110deg,transparent 38%,color-mix(in srgb,var(--fp-accent) 12%,transparent) 49%,transparent 60%);animation:fanPassWholeSweep 6.5s linear infinite}.fan-pass-fullscreen-card.is-animated{animation:fanPassFullGlow 4.8s ease-in-out infinite}
@keyframes fanPassWholeSweep{0%{transform:translateX(-35%) rotate(5deg)}100%{transform:translateX(35%) rotate(5deg)}}@keyframes fanPassFullGlow{0%,100%{box-shadow:0 34px 100px rgba(0,0,0,.58),0 0 0 rgba(255,255,255,0)}50%{box-shadow:0 34px 100px rgba(0,0,0,.58),0 0 36px var(--fp-glow)}}
/* Fan-Pass-Design optional auf die gesamte App anwenden */
body.fan-app-theme-enabled{transition:background .25s ease,color .25s ease}body.fan-app-theme-enabled .content-card,body.fan-app-theme-enabled .team-card,body.fan-app-theme-enabled .news-card,body.fan-app-theme-enabled .match-card,body.fan-app-theme-enabled .more-card,body.fan-app-theme-enabled .list-link,body.fan-app-theme-enabled .icon-button{transition:background .25s ease,border-color .25s ease,box-shadow .25s ease}body.fan-app-theme-dark{--bg:#080b0f;--surface:#141a20;--line:#33404b;--accent:#b7c6d3;--muted:#9daab6}body.fan-app-theme-matchday{--bg:#071827;--surface:#0d3352;--line:#2b668e;--accent:#7ed9ff;--muted:#acd1e5}body.fan-app-theme-regionalliga{--bg:#071b2d;--surface:#103a59;--line:#36759b;--accent:#bcecff;--muted:#b6d3e3}body.fan-app-theme-mvp,body.fan-app-theme-gold{--bg:#17140b;--surface:#342d15;--line:#6b5c29;--accent:#ffd86e;--muted:#d8cda7}body.fan-app-theme-retro{--bg:#162b39;--surface:#27465d;--line:#5c7d91;--accent:#9bd4f3;--muted:#c0d1dc}body.fan-app-theme-hallenlegende{--bg:#061824;--surface:#123d59;--line:#377896;--accent:#a9ebff;--muted:#b8d9e5}body.fan-app-theme-geheim{--bg:#160c21;--surface:#38204b;--line:#65477b;--accent:#cf9dff;--muted:#ceb9dc}body.fan-app-theme-legendaer{--bg:#171305;--surface:#423719;--line:#77652b;--accent:#ffe083;--muted:#dbd0a9}body.fan-app-theme-neon{--bg:#100b26;--surface:#24205b;--line:#247e91;--accent:#6ff7ff;--muted:#b7d9e7}body.fan-app-theme-ice{--bg:#0b2532;--surface:#245168;--line:#6ca2b9;--accent:#d6f6ff;--muted:#c1dbe5}body.fan-app-theme-blackout{--bg:#000;--surface:#111;--line:#353535;--accent:#d8e1eb;--muted:#aaa}body.fan-app-theme-enabled .app-nav{background:color-mix(in srgb,var(--bg) 91%,transparent);border-color:var(--line)}body.fan-app-theme-enabled .nav-item[aria-current]{color:var(--text);background:color-mix(in srgb,var(--surface) 80%,var(--accent) 20%)}body.fan-app-theme-enabled .nav-icon.has-image .nav-icon-img{filter:grayscale(.18) saturate(.72) brightness(.94);opacity:.74}body.fan-app-theme-enabled .nav-icon.has-image:after{opacity:.72;background:var(--accent)}body.fan-app-theme-enabled .nav-item[aria-current] .nav-icon.has-image .nav-icon-img{filter:grayscale(.08) saturate(.9) brightness(1.06);opacity:1}body.fan-app-theme-enabled .nav-item[aria-current] .nav-icon.has-image:after{opacity:.96;filter:drop-shadow(0 2px 7px color-mix(in srgb,var(--accent) 38%,transparent))}body.fan-app-theme-enabled .content-card,body.fan-app-theme-enabled .team-card,body.fan-app-theme-enabled .news-card{background:linear-gradient(145deg,color-mix(in srgb,var(--surface) 94%,white 6%),var(--surface))}body.fan-app-theme-animated:before{content:'';position:fixed;z-index:-1;inset:-35%;pointer-events:none;background:linear-gradient(115deg,transparent 40%,color-mix(in srgb,var(--accent) 8%,transparent) 50%,transparent 60%);animation:fanAppThemeSweep 10s linear infinite}@keyframes fanAppThemeSweep{0%{transform:translateX(-25%) rotate(4deg)}100%{transform:translateX(25%) rotate(4deg)}}
@media(max-width:560px){.fan-pass-fullscreen{padding:10px}.fan-pass-fullscreen-card{padding:22px 16px 17px;border-radius:23px}.fan-pass-fullscreen-key{grid-template-columns:repeat(2,minmax(0,1fr))}.fan-pass-fullscreen-footer{align-items:flex-start;flex-direction:column}.fan-pass-fullscreen-hint{position:static;display:inline-flex;margin:0 0 4px;width:max-content}}
@media(prefers-reduced-motion:reduce){.fan-pass-fullscreen,.fan-pass-fullscreen-card,.fan-pass-holder.is-animated>.content-card:before,.fan-pass-holder.is-animated>.fan-pass-disclosure:before,.fan-pass-fullscreen-card.is-animated,.fan-pass-fullscreen-card.is-animated:before,body.fan-app-theme-animated:before{transition:none!important;animation:none!important}}
/* 2.13.3 animation layering: visible glow without covering content */
.fan-pass-holder.is-animated>.content-card:before,.fan-pass-holder.is-animated>.fan-pass-disclosure:before,.fan-pass-fullscreen-card.is-animated:before{z-index:0;opacity:.72}.fan-pass-holder.is-animated>.content-card>*,.fan-pass-holder.is-animated>.fan-pass-disclosure>*,.fan-pass-fullscreen-card.is-animated>*{position:relative;z-index:1}body.fan-app-theme-animated:before{z-index:0;opacity:.55}body.fan-app-theme-animated .app-shell{position:relative;z-index:1}


/* 2.13.4 · kompakter Vollbild-Pass + verspielte Designs */
.fan-pass-fullscreen{padding:6px;overflow:hidden}
.fan-pass-fullscreen-card{width:min(540px,calc(100vw - 12px));height:min(700px,calc(100svh - 12px));max-height:calc(100svh - 12px);overflow:hidden;padding:clamp(12px,2.1vh,20px) clamp(13px,3.4vw,20px);border-radius:clamp(20px,3.2vh,28px);display:grid;grid-template-rows:auto auto minmax(0,1fr) auto;gap:clamp(7px,1.35vh,12px)}
.fan-pass-fullscreen-top{grid-template-columns:clamp(46px,8vh,58px) minmax(0,1fr);gap:10px;padding-right:40px}
.fan-pass-fullscreen-logo{width:clamp(46px,8vh,58px);height:clamp(46px,8vh,58px);border-radius:15px}
.fan-pass-fullscreen-title h2{font-size:clamp(1.08rem,2.7vh,1.45rem);margin:0}.fan-pass-fullscreen-title .eyebrow{font-size:.64rem;margin-bottom:2px}
.fan-pass-fullscreen-key{grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;margin:0}
.fan-pass-fullscreen-key>div{padding:clamp(6px,1.15vh,10px) 3px;border-radius:12px;gap:1px}.fan-pass-fullscreen-key>div>span{font-size:clamp(.85rem,2vh,1.05rem)}.fan-pass-fullscreen-key strong{font-size:clamp(.92rem,2.3vh,1.15rem)}.fan-pass-fullscreen-key small{font-size:clamp(.53rem,1.35vh,.64rem);line-height:1.05}
.fan-pass-fullscreen-progress{gap:clamp(4px,.8vh,7px);padding:clamp(9px,1.6vh,14px);border-radius:15px;min-height:0}.fan-pass-fullscreen-progress h3{font-size:clamp(.92rem,2.2vh,1.1rem);margin:0 0 1px}.fan-pass-fullscreen-progress-row{gap:3px 9px;min-height:0}.fan-pass-fullscreen-progress-row>span{gap:5px;font-size:clamp(.72rem,1.75vh,.88rem)}.fan-pass-fullscreen-progress-row>b{font-size:clamp(.72rem,1.75vh,.88rem)}.fan-pass-fullscreen-meter{height:4px}
.fan-pass-fullscreen-footer{margin-top:0;padding-top:clamp(7px,1.2vh,10px);font-size:clamp(.68rem,1.55vh,.82rem);gap:8px}
@media(max-width:560px){.fan-pass-fullscreen{padding:5px}.fan-pass-fullscreen-card{padding:13px 12px;border-radius:21px}.fan-pass-fullscreen-key{grid-template-columns:repeat(4,minmax(0,1fr))}.fan-pass-fullscreen-footer{align-items:center;flex-direction:row}.fan-pass-fullscreen-close{right:10px;top:10px;width:34px;height:34px}.fan-pass-fullscreen-hint{position:static;display:inline-flex;margin:0 0 4px;width:max-content}}
@media(max-height:650px){.fan-pass-fullscreen-card{padding:10px 11px;gap:5px}.fan-pass-fullscreen-top{grid-template-columns:42px minmax(0,1fr)}.fan-pass-fullscreen-logo{width:42px;height:42px;border-radius:12px}.fan-pass-fullscreen-key>div{padding:5px 2px}.fan-pass-fullscreen-progress{padding:8px;gap:3px}.fan-pass-fullscreen-meter{height:3px}.fan-pass-fullscreen-footer{padding-top:6px}.fan-pass-fullscreen-close{width:31px;height:31px;font-size:21px}}

/* Bubble Pop */
.fan-pass-theme-bubble{--fp-accent:#ff9fdf;--fp-accent2:#7df7ff;--fp-glow:rgba(255,125,211,.18);--fp-hero:radial-gradient(circle at 14% 22%,rgba(255,255,255,.22) 0 7%,transparent 8%),radial-gradient(circle at 82% 28%,rgba(125,247,255,.21) 0 10%,transparent 11%),radial-gradient(circle at 68% 78%,rgba(255,229,104,.18) 0 8%,transparent 9%),linear-gradient(145deg,#6a267a,#163b69)}
.fan-pass-design-card.theme-bubble .fan-pass-design-preview,.fan-pass-fullscreen-card.fan-pass-theme-bubble{background:radial-gradient(circle at 15% 25%,#ffb5e8 0 8%,transparent 9%),radial-gradient(circle at 83% 22%,#8ef9ff 0 10%,transparent 11%),radial-gradient(circle at 73% 80%,#ffe96f 0 8%,transparent 9%),linear-gradient(145deg,#7c2f8b,#194d7e)}
.fan-pass-theme-bubble.is-animated:before,.fan-pass-fullscreen-card.fan-pass-theme-bubble.is-animated:after{content:'';position:absolute;inset:0;pointer-events:none;background:radial-gradient(circle at 18% 85%,rgba(255,255,255,.22) 0 4%,transparent 5%),radial-gradient(circle at 92% 62%,rgba(255,255,255,.18) 0 3%,transparent 4%);animation:fanPassBubbleFloat 5.5s ease-in-out infinite alternate}
@keyframes fanPassBubbleFloat{to{transform:translateY(-10px) translateX(5px)}}

/* Konfetti Chaos */
.fan-pass-theme-confetti{--fp-accent:#7ef2ff;--fp-accent2:#ffe56a;--fp-glow:rgba(126,242,255,.18);--fp-hero:linear-gradient(24deg,transparent 44%,rgba(255,110,171,.18) 45% 48%,transparent 49%),linear-gradient(112deg,transparent 43%,rgba(255,229,106,.18) 44% 47%,transparent 48%),linear-gradient(145deg,#153a6f,#1d1759)}
.fan-pass-design-card.theme-confetti .fan-pass-design-preview,.fan-pass-fullscreen-card.fan-pass-theme-confetti{background:linear-gradient(24deg,transparent 44%,rgba(255,110,171,.3) 45% 48%,transparent 49%),linear-gradient(112deg,transparent 43%,rgba(255,229,106,.28) 44% 47%,transparent 48%),linear-gradient(145deg,#17477d,#25165f)}
.fan-pass-theme-confetti.is-animated:before,.fan-pass-fullscreen-card.fan-pass-theme-confetti.is-animated:after{content:'✦  ◆  ●  ✚  ▲  ✦  ■  ●';position:absolute;inset:-12% -5%;pointer-events:none;color:rgba(255,255,255,.18);font-size:22px;letter-spacing:18px;line-height:3.2;transform:rotate(-8deg);animation:fanPassConfettiDrift 7s linear infinite}
@keyframes fanPassConfettiDrift{from{transform:translateY(-6%) rotate(-8deg)}to{transform:translateY(9%) rotate(-8deg)}}

/* Pixel Party */
.fan-pass-theme-pixel{--fp-accent:#72f6ff;--fp-accent2:#ff82ea;--fp-glow:rgba(114,246,255,.16);--fp-hero:linear-gradient(90deg,rgba(255,255,255,.05) 25%,transparent 25% 75%,rgba(255,255,255,.05) 75%) 0 0/16px 16px,linear-gradient(0deg,rgba(255,255,255,.04) 25%,transparent 25% 75%,rgba(255,255,255,.04) 75%) 0 0/16px 16px,linear-gradient(145deg,#1b174d,#093857)}
.fan-pass-design-card.theme-pixel .fan-pass-design-preview,.fan-pass-fullscreen-card.fan-pass-theme-pixel{background:linear-gradient(90deg,rgba(255,255,255,.08) 25%,transparent 25% 75%,rgba(255,255,255,.08) 75%) 0 0/14px 14px,linear-gradient(0deg,rgba(255,255,255,.06) 25%,transparent 25% 75%,rgba(255,255,255,.06) 75%) 0 0/14px 14px,linear-gradient(145deg,#25165d,#07506a)}
.fan-pass-theme-pixel.is-animated:before,.fan-pass-fullscreen-card.fan-pass-theme-pixel.is-animated:after{content:'👾';position:absolute;right:8%;bottom:8%;font-size:clamp(28px,8vw,48px);opacity:.16;pointer-events:none;animation:fanPassPixelHop 1.2s steps(2,end) infinite}
@keyframes fanPassPixelHop{50%{transform:translateY(-7px)}}

/* Comic Boom */
.fan-pass-theme-comic{--fp-accent:#ffe23f;--fp-accent2:#ff78b8;--fp-glow:rgba(255,226,63,.20);--fp-hero:radial-gradient(circle,rgba(255,255,255,.10) 0 1.4px,transparent 1.6px) 0 0/10px 10px,conic-gradient(from 0deg at 82% 22%,#ff5b73 0 8%,#ffd941 8% 16%,#39d8ff 16% 24%,transparent 24% 100%),linear-gradient(145deg,#172b67,#5b1f65)}
.fan-pass-design-card.theme-comic .fan-pass-design-preview,.fan-pass-fullscreen-card.fan-pass-theme-comic{background:radial-gradient(circle,rgba(255,255,255,.13) 0 1.4px,transparent 1.6px) 0 0/9px 9px,conic-gradient(from 0deg at 82% 22%,#ff5b73 0 8%,#ffd941 8% 16%,#39d8ff 16% 24%,transparent 24% 100%),linear-gradient(145deg,#1b3478,#6d226f)}
.fan-pass-theme-comic.is-animated:before,.fan-pass-fullscreen-card.fan-pass-theme-comic.is-animated:after{content:'BOOM!';position:absolute;right:5%;top:12%;pointer-events:none;font-weight:1000;font-style:italic;font-size:clamp(1.15rem,5vw,2rem);color:#ffe23f;text-shadow:3px 3px 0 #f34f77,-2px -2px 0 #17366b;transform:rotate(-8deg);opacity:.32;animation:fanPassComicPop 2.8s ease-in-out infinite}
@keyframes fanPassComicPop{0%,100%{transform:rotate(-8deg) scale(.92)}50%{transform:rotate(-5deg) scale(1.08)}}

/* Verspielte Dekorationen bleiben hinter dem Inhalt. */
.fan-pass-holder.fan-pass-theme-bubble,.fan-pass-holder.fan-pass-theme-confetti,.fan-pass-holder.fan-pass-theme-pixel,.fan-pass-holder.fan-pass-theme-comic,.fan-pass-fullscreen-card.fan-pass-theme-bubble,.fan-pass-fullscreen-card.fan-pass-theme-confetti,.fan-pass-fullscreen-card.fan-pass-theme-pixel,.fan-pass-fullscreen-card.fan-pass-theme-comic{position:relative;isolation:isolate}
.fan-pass-holder.fan-pass-theme-bubble>* ,.fan-pass-holder.fan-pass-theme-confetti>* ,.fan-pass-holder.fan-pass-theme-pixel>* ,.fan-pass-holder.fan-pass-theme-comic>* ,.fan-pass-fullscreen-card.fan-pass-theme-bubble>* ,.fan-pass-fullscreen-card.fan-pass-theme-confetti>* ,.fan-pass-fullscreen-card.fan-pass-theme-pixel>* ,.fan-pass-fullscreen-card.fan-pass-theme-comic>*{position:relative;z-index:2}

/* App-weite Varianten der neuen Designs */
body.fan-app-theme-bubble{--bg:#35173f;--surface:#5d2c69;--line:#9b5ca8;--accent:#ff9fdf;--muted:#e9c9e9}
body.fan-app-theme-confetti{--bg:#111c43;--surface:#26356b;--line:#596fb1;--accent:#7ef2ff;--muted:#c5d6f1}
body.fan-app-theme-pixel{--bg:#0f1234;--surface:#20255b;--line:#426e94;--accent:#72f6ff;--muted:#b9d8e6}
body.fan-app-theme-comic{--bg:#151f52;--surface:#493062;--line:#8a527d;--accent:#ffe23f;--muted:#e8d3df}
body.fan-app-theme-bubble.fan-app-theme-animated:after,body.fan-app-theme-confetti.fan-app-theme-animated:after,body.fan-app-theme-pixel.fan-app-theme-animated:after,body.fan-app-theme-comic.fan-app-theme-animated:after{content:'';position:fixed;z-index:0;inset:0;pointer-events:none;opacity:.10;background:radial-gradient(circle at 12% 18%,var(--accent) 0 3px,transparent 4px),radial-gradient(circle at 82% 72%,var(--accent) 0 4px,transparent 5px);animation:fanPassPlayfulApp 8s ease-in-out infinite alternate}
@keyframes fanPassPlayfulApp{to{transform:translate3d(8px,-10px,0)}}
@media(prefers-reduced-motion:reduce){.fan-pass-theme-bubble.is-animated:before,.fan-pass-theme-confetti.is-animated:before,.fan-pass-theme-pixel.is-animated:before,.fan-pass-theme-comic.is-animated:before,.fan-pass-fullscreen-card.fan-pass-theme-bubble.is-animated:after,.fan-pass-fullscreen-card.fan-pass-theme-confetti.is-animated:after,.fan-pass-fullscreen-card.fan-pass-theme-pixel.is-animated:after,.fan-pass-fullscreen-card.fan-pass-theme-comic.is-animated:after,body.fan-app-theme-bubble.fan-app-theme-animated:after,body.fan-app-theme-confetti.fan-app-theme-animated:after,body.fan-app-theme-pixel.fan-app-theme-animated:after,body.fan-app-theme-comic.fan-app-theme-animated:after{animation:none!important}}

@media(max-height:540px){.fan-pass-fullscreen-card{padding:8px 9px;gap:4px}.fan-pass-fullscreen-title .eyebrow{display:none}.fan-pass-fullscreen-logo{width:36px;height:36px;border-radius:10px}.fan-pass-fullscreen-top{grid-template-columns:38px minmax(0,1fr)}.fan-pass-fullscreen-key>div{padding:3px 1px}.fan-pass-fullscreen-key>div>span{display:none}.fan-pass-fullscreen-progress{padding:5px 7px;gap:2px}.fan-pass-fullscreen-progress h3{display:none}.fan-pass-fullscreen-meter{display:none}.fan-pass-fullscreen-footer{padding-top:3px;font-size:.6rem}.fan-pass-fullscreen-progress-row>span,.fan-pass-fullscreen-progress-row>b{font-size:.64rem}}

/* 2.14.0 · 25 Fan-Pass-Designs mit Achievement-, Kombi- und Box-Wege */
.fan-pass-theme-midnight{--fp-accent:#8db9ff;--fp-accent2:#d8c8ff;--fp-glow:rgba(141,185,255,.18);--fp-hero:radial-gradient(ellipse at 70% 120%,rgba(123,83,255,.28),transparent 42%),linear-gradient(160deg,#12173f,#081427 72%)}
.fan-pass-theme-bluefire{--fp-accent:#7de7ff;--fp-accent2:#c9f8ff;--fp-glow:rgba(74,208,255,.2);--fp-hero:radial-gradient(circle at 84% 82%,rgba(41,188,255,.34),transparent 22%),radial-gradient(circle at 74% 92%,rgba(75,108,255,.3),transparent 30%),linear-gradient(145deg,#102f56,#091524)}
.fan-pass-theme-statmaster{--fp-accent:#6ff0d0;--fp-accent2:#b8fff1;--fp-glow:rgba(111,240,208,.14);--fp-hero:linear-gradient(rgba(111,240,208,.06) 1px,transparent 1px),linear-gradient(90deg,rgba(111,240,208,.06) 1px,transparent 1px),linear-gradient(145deg,#12333e,#071a26);background-size:auto,auto,auto}
.fan-pass-theme-veteran{--fp-accent:#f0d48a;--fp-accent2:#fff2c5;--fp-glow:rgba(240,212,138,.14);--fp-hero:linear-gradient(110deg,transparent 0 14%,rgba(240,212,138,.08) 14% 20%,transparent 20% 80%,rgba(240,212,138,.08) 80% 86%,transparent 86%),linear-gradient(145deg,#26364a,#0b1724)}
.fan-pass-theme-endboss_skin{--fp-accent:#ff7f9b;--fp-accent2:#ab91ff;--fp-glow:rgba(255,71,109,.18);--fp-hero:linear-gradient(115deg,rgba(255,0,73,.08) 0 2%,transparent 2% 5%,rgba(118,79,255,.08) 5% 7%,transparent 7%),linear-gradient(145deg,#35122c,#0d1530)}
.fan-pass-theme-disco{--fp-accent:#8df6ff;--fp-accent2:#ff9cf4;--fp-glow:rgba(141,246,255,.18);--fp-hero:conic-gradient(from 45deg at 82% 22%,rgba(255,112,228,.24),rgba(103,237,255,.2),rgba(255,224,98,.18),rgba(255,112,228,.24)),linear-gradient(145deg,#24164d,#0d1f3d)}
.fan-pass-theme-sticker{--fp-accent:#ffe46b;--fp-accent2:#7df4ff;--fp-glow:rgba(255,228,107,.18);--fp-hero:linear-gradient(23deg,transparent 41%,rgba(255,92,145,.22) 42% 48%,transparent 49%),linear-gradient(-18deg,transparent 55%,rgba(125,244,255,.2) 56% 63%,transparent 64%),linear-gradient(145deg,#21477a,#261654)}
.fan-pass-theme-galaxy{--fp-accent:#b8b1ff;--fp-accent2:#7cf5ff;--fp-glow:rgba(151,132,255,.2);--fp-hero:radial-gradient(circle at 22% 26%,rgba(255,255,255,.65) 0 1px,transparent 2px),radial-gradient(circle at 76% 37%,rgba(255,255,255,.4) 0 1px,transparent 2px),radial-gradient(circle at 66% 78%,rgba(124,245,255,.34),transparent 28%),radial-gradient(circle at 22% 88%,rgba(188,130,255,.3),transparent 26%),linear-gradient(145deg,#24104c,#07152b)}

.fan-pass-design-card.theme-midnight .fan-pass-design-preview{background:linear-gradient(160deg,#232a6a,#081427)}
.fan-pass-design-card.theme-bluefire .fan-pass-design-preview{background:radial-gradient(circle at 78% 82%,#238fd0 0 12%,transparent 13%),linear-gradient(145deg,#164a7c,#091524)}
.fan-pass-design-card.theme-statmaster .fan-pass-design-preview{background:linear-gradient(rgba(111,240,208,.12) 1px,transparent 1px),linear-gradient(90deg,rgba(111,240,208,.12) 1px,transparent 1px),linear-gradient(145deg,#164652,#0a1d2a);background-size:12px 12px,12px 12px,auto}
.fan-pass-design-card.theme-veteran .fan-pass-design-preview{background:linear-gradient(110deg,transparent 0 18%,rgba(240,212,138,.14) 18% 24%,transparent 24% 76%,rgba(240,212,138,.14) 76% 82%,transparent 82%),linear-gradient(145deg,#31475f,#0c1723)}
.fan-pass-design-card.theme-endboss_skin .fan-pass-design-preview{background:linear-gradient(108deg,rgba(255,64,112,.22) 0 3%,transparent 3% 7%,rgba(139,98,255,.22) 7% 10%,transparent 10%),linear-gradient(145deg,#4a173a,#11183b)}
.fan-pass-design-card.theme-disco .fan-pass-design-preview{background:conic-gradient(from 35deg at 70% 35%,#ff70e4,#67edff,#ffe062,#ff70e4)}
.fan-pass-design-card.theme-sticker .fan-pass-design-preview{background:linear-gradient(25deg,transparent 40%,#ff6d9d 41% 49%,transparent 50%),linear-gradient(-18deg,transparent 56%,#7df4ff 57% 65%,transparent 66%),linear-gradient(145deg,#275b91,#351b68)}
.fan-pass-design-card.theme-galaxy .fan-pass-design-preview{background:radial-gradient(circle at 20% 25%,#fff 0 1px,transparent 2px),radial-gradient(circle at 72% 34%,#fff 0 1px,transparent 2px),radial-gradient(circle at 65% 80%,rgba(124,245,255,.5),transparent 25%),linear-gradient(145deg,#39176b,#08172d)}

.fan-pass-fullscreen-card.fan-pass-theme-midnight{--fp-accent:#8db9ff;--fp-accent2:#d8c8ff;--fp-glow:rgba(141,185,255,.18);background:radial-gradient(ellipse at 70% 120%,rgba(123,83,255,.3),transparent 42%),linear-gradient(160deg,#12173f,#081427 72%)}
.fan-pass-fullscreen-card.fan-pass-theme-bluefire{--fp-accent:#7de7ff;--fp-accent2:#c9f8ff;--fp-glow:rgba(74,208,255,.2);background:radial-gradient(circle at 84% 82%,rgba(41,188,255,.34),transparent 22%),linear-gradient(145deg,#123b67,#091524)}
.fan-pass-fullscreen-card.fan-pass-theme-statmaster{--fp-accent:#6ff0d0;--fp-accent2:#b8fff1;--fp-glow:rgba(111,240,208,.14);background:linear-gradient(rgba(111,240,208,.05) 1px,transparent 1px),linear-gradient(90deg,rgba(111,240,208,.05) 1px,transparent 1px),linear-gradient(145deg,#12333e,#071a26);background-size:16px 16px,16px 16px,auto}
.fan-pass-fullscreen-card.fan-pass-theme-veteran{--fp-accent:#f0d48a;--fp-accent2:#fff2c5;--fp-glow:rgba(240,212,138,.14);background:linear-gradient(110deg,transparent 0 14%,rgba(240,212,138,.08) 14% 20%,transparent 20% 80%,rgba(240,212,138,.08) 80% 86%,transparent 86%),linear-gradient(145deg,#26364a,#0b1724)}
.fan-pass-fullscreen-card.fan-pass-theme-endboss_skin{--fp-accent:#ff7f9b;--fp-accent2:#ab91ff;--fp-glow:rgba(255,71,109,.18);background:linear-gradient(115deg,rgba(255,0,73,.08) 0 2%,transparent 2% 5%,rgba(118,79,255,.08) 5% 7%,transparent 7%),linear-gradient(145deg,#35122c,#0d1530)}
.fan-pass-fullscreen-card.fan-pass-theme-disco{--fp-accent:#8df6ff;--fp-accent2:#ff9cf4;--fp-glow:rgba(141,246,255,.18);background:conic-gradient(from 45deg at 82% 22%,rgba(255,112,228,.24),rgba(103,237,255,.2),rgba(255,224,98,.18),rgba(255,112,228,.24)),linear-gradient(145deg,#24164d,#0d1f3d)}
.fan-pass-fullscreen-card.fan-pass-theme-sticker{--fp-accent:#ffe46b;--fp-accent2:#7df4ff;--fp-glow:rgba(255,228,107,.18);background:linear-gradient(23deg,transparent 41%,rgba(255,92,145,.22) 42% 48%,transparent 49%),linear-gradient(-18deg,transparent 55%,rgba(125,244,255,.2) 56% 63%,transparent 64%),linear-gradient(145deg,#21477a,#261654)}
.fan-pass-fullscreen-card.fan-pass-theme-galaxy{--fp-accent:#b8b1ff;--fp-accent2:#7cf5ff;--fp-glow:rgba(151,132,255,.2);background:radial-gradient(circle at 22% 26%,rgba(255,255,255,.65) 0 1px,transparent 2px),radial-gradient(circle at 76% 37%,rgba(255,255,255,.4) 0 1px,transparent 2px),radial-gradient(circle at 66% 78%,rgba(124,245,255,.34),transparent 28%),radial-gradient(circle at 22% 88%,rgba(188,130,255,.3),transparent 26%),linear-gradient(145deg,#24104c,#07152b)}

body.fan-app-theme-midnight{--bg:#090d25;--surface:#171e47;--line:#3c4e80;--accent:#8db9ff;--muted:#b9c6e6}
body.fan-app-theme-bluefire{--bg:#071727;--surface:#12395d;--line:#2a6f99;--accent:#7de7ff;--muted:#b6dce9}
body.fan-app-theme-statmaster{--bg:#071b20;--surface:#133c42;--line:#2f746f;--accent:#6ff0d0;--muted:#b3d9d1}
body.fan-app-theme-veteran{--bg:#101822;--surface:#29394a;--line:#59677a;--accent:#f0d48a;--muted:#d4cfbd}
body.fan-app-theme-endboss_skin{--bg:#170915;--surface:#3b1531;--line:#6f355c;--accent:#ff7f9b;--muted:#d8b8cb}
body.fan-app-theme-disco{--bg:#160d2c;--surface:#3a2262;--line:#6a4f96;--accent:#8df6ff;--muted:#dbcaeb}
body.fan-app-theme-sticker{--bg:#151a3a;--surface:#33466e;--line:#6c7fb0;--accent:#ffe46b;--muted:#d9ddef}
body.fan-app-theme-galaxy{--bg:#0b0822;--surface:#28194f;--line:#564889;--accent:#b8b1ff;--muted:#ccc7e7}

.fan-pass-holder.fan-pass-theme-midnight.is-animated .fan-pass-hero:before,.fan-pass-holder.fan-pass-theme-bluefire.is-animated .fan-pass-hero:before,.fan-pass-holder.fan-pass-theme-endboss_skin.is-animated .fan-pass-hero:before,.fan-pass-holder.fan-pass-theme-disco.is-animated .fan-pass-hero:before,.fan-pass-holder.fan-pass-theme-sticker.is-animated .fan-pass-hero:before,.fan-pass-holder.fan-pass-theme-galaxy.is-animated .fan-pass-hero:before{background:linear-gradient(110deg,transparent 35%,color-mix(in srgb,var(--fp-accent) 16%,transparent) 50%,transparent 65%);animation:fanPassPreviewSweep 5.8s ease-in-out infinite}

/* 2.15.0 Fan-Pass Meta */
.fan-pass-title-grid{display:flex;flex-wrap:wrap;gap:8px}.fan-pass-title{border:1px solid color-mix(in srgb,var(--accent,#2f73ff) 35%,transparent);background:rgba(255,255,255,.06);border-radius:999px;padding:9px 12px;font-weight:800}.fan-pass-title.is-active{box-shadow:0 0 0 2px var(--accent,#2f73ff);background:color-mix(in srgb,var(--accent,#2f73ff) 18%,transparent)}.fan-pass-title.is-locked{opacity:.35}.fan-pass-title-line{display:block;margin-top:2px;font-size:.75rem;font-weight:800;opacity:.86}.fan-pass-owned-rarity{display:inline-flex;margin-top:6px;font-size:.7rem;font-weight:800;opacity:.8}.fan-pass-fragments h3{margin:.2rem 0}.fan-pass-design-card.is-upgraded{box-shadow:0 0 0 2px color-mix(in srgb,var(--fp-accent,#5ec8ff) 52%,transparent),0 0 24px color-mix(in srgb,var(--fp-accent,#5ec8ff) 20%,transparent)}.fan-pass-design-card.is-upgraded:after{content:'UPGRADE';position:absolute;right:8px;top:8px;font-size:.58rem;font-weight:1000;letter-spacing:.08em;padding:3px 6px;border-radius:999px;background:var(--fp-accent,#5ec8ff);color:#07121d}.fan-pass-design-card{position:relative}

.fan-pass-holder.is-upgraded .fan-pass-hero,.fan-pass-fullscreen-card.is-upgraded{box-shadow:0 0 0 1px color-mix(in srgb,var(--fp-accent,#72d8ff) 70%,transparent),0 0 34px color-mix(in srgb,var(--fp-accent,#72d8ff) 28%,transparent),inset 0 0 30px color-mix(in srgb,var(--fp-accent,#72d8ff) 8%,transparent)}
body.fan-app-theme-upgraded .content-card{box-shadow:0 0 0 1px color-mix(in srgb,var(--accent,#5ec8ff) 20%,transparent),0 10px 30px rgba(0,0,0,.12)}

.fan-pass-upgrade-progress{margin-top:8px;display:grid;gap:4px}

/* 2.16.0 · vollständige App-Theme-Übernahme + Rätsel/Tipp-Auswahl */
body.fan-app-theme-enabled{--theme-card-bg:linear-gradient(145deg,color-mix(in srgb,var(--surface) 90%,var(--accent) 10%),color-mix(in srgb,var(--surface) 97%,black 3%));--theme-soft-bg:color-mix(in srgb,var(--surface) 84%,var(--accent) 16%);--theme-soft-2:color-mix(in srgb,var(--surface) 92%,var(--accent) 8%);--theme-border:color-mix(in srgb,var(--line) 70%,var(--accent) 30%);--theme-glow:color-mix(in srgb,var(--accent) 15%,transparent);--theme-hero-bg:radial-gradient(circle at 92% 8%,color-mix(in srgb,var(--accent) 20%,transparent),transparent 34%),linear-gradient(145deg,color-mix(in srgb,var(--surface) 86%,var(--accent) 14%),color-mix(in srgb,var(--bg) 93%,black 7%));background:radial-gradient(circle at 85% -10%,color-mix(in srgb,var(--accent) 9%,transparent),transparent 33%),var(--bg)!important;background-attachment:fixed!important}
body.fan-app-theme-blackout{--theme-hero-bg:radial-gradient(circle at 85% 15%,rgba(255,255,255,.08),transparent 28%),linear-gradient(145deg,#090909,#020304)}
body.fan-app-theme-bluefire{--theme-hero-bg:radial-gradient(circle at 84% 82%,rgba(41,188,255,.34),transparent 22%),radial-gradient(circle at 74% 92%,rgba(75,108,255,.3),transparent 30%),linear-gradient(145deg,#102f56,#091524)}
body.fan-app-theme-bubble{--theme-hero-bg:radial-gradient(circle at 14% 22%,rgba(255,255,255,.22) 0 7%,transparent 8%),radial-gradient(circle at 82% 28%,rgba(125,247,255,.21) 0 10%,transparent 11%),radial-gradient(circle at 68% 78%,rgba(255,229,104,.18) 0 8%,transparent 9%),linear-gradient(145deg,#6a267a,#163b69)}
body.fan-app-theme-comic{--theme-hero-bg:radial-gradient(circle,rgba(255,255,255,.10) 0 1.4px,transparent 1.6px) 0 0/10px 10px,conic-gradient(from 0deg at 82% 22%,#ff5b73 0 8%,#ffd941 8% 16%,#39d8ff 16% 24%,transparent 24% 100%),linear-gradient(145deg,#172b67,#5b1f65)}
body.fan-app-theme-confetti{--theme-hero-bg:linear-gradient(24deg,transparent 44%,rgba(255,110,171,.18) 45% 48%,transparent 49%),linear-gradient(112deg,transparent 43%,rgba(255,229,106,.18) 44% 47%,transparent 48%),linear-gradient(145deg,#153a6f,#1d1759)}
body.fan-app-theme-dark{--theme-hero-bg:radial-gradient(circle at 82% 10%,rgba(205,220,232,.08),transparent 34%),linear-gradient(150deg,#151a20,#080b0f)}
body.fan-app-theme-disco{--theme-hero-bg:conic-gradient(from 45deg at 82% 22%,rgba(255,112,228,.24),rgba(103,237,255,.2),rgba(255,224,98,.18),rgba(255,112,228,.24)),linear-gradient(145deg,#24164d,#0d1f3d)}
body.fan-app-theme-endboss_skin{--theme-hero-bg:linear-gradient(115deg,rgba(255,0,73,.08) 0 2%,transparent 2% 5%,rgba(118,79,255,.08) 5% 7%,transparent 7%),linear-gradient(145deg,#35122c,#0d1530)}
body.fan-app-theme-galaxy{--theme-hero-bg:radial-gradient(circle at 22% 26%,rgba(255,255,255,.65) 0 1px,transparent 2px),radial-gradient(circle at 76% 37%,rgba(255,255,255,.4) 0 1px,transparent 2px),radial-gradient(circle at 66% 78%,rgba(124,245,255,.34),transparent 28%),radial-gradient(circle at 22% 88%,rgba(188,130,255,.3),transparent 26%),linear-gradient(145deg,#24104c,#07152b)}
body.fan-app-theme-geheim{--theme-hero-bg:radial-gradient(circle at 80% 18%,rgba(193,117,255,.22),transparent 27%),linear-gradient(145deg,#29183f,#081825)}
body.fan-app-theme-gold{--theme-hero-bg:radial-gradient(circle at 82% 18%,rgba(255,224,120,.27),transparent 28%),linear-gradient(145deg,#59461a,#162333)}
body.fan-app-theme-hallenlegende{--theme-hero-bg:radial-gradient(ellipse at 20% -10%,rgba(255,255,255,.22),transparent 27%),radial-gradient(ellipse at 80% -10%,rgba(255,255,255,.16),transparent 24%),linear-gradient(145deg,#163b59,#071724)}
body.fan-app-theme-ice{--theme-hero-bg:linear-gradient(130deg,rgba(255,255,255,.11),transparent 23%,rgba(163,226,255,.08) 48%,transparent 72%),linear-gradient(145deg,#1f4f68,#0a2435)}
body.fan-app-theme-legendaer{--theme-hero-bg:radial-gradient(circle at 84% 16%,rgba(255,224,131,.25),transparent 26%),radial-gradient(circle at 18% 95%,rgba(109,205,255,.14),transparent 29%),linear-gradient(145deg,#3a3317,#0b2030)}
body.fan-app-theme-matchday{--theme-hero-bg:linear-gradient(115deg,rgba(255,255,255,.055) 0 8%,transparent 8% 16%,rgba(255,255,255,.035) 16% 24%,transparent 24%),linear-gradient(145deg,#0d3d67,#081a2b)}
body.fan-app-theme-midnight{--theme-hero-bg:radial-gradient(ellipse at 70% 120%,rgba(123,83,255,.28),transparent 42%),linear-gradient(160deg,#12173f,#081427 72%)}
body.fan-app-theme-mvp{--theme-hero-bg:radial-gradient(circle at 85% 14%,rgba(255,216,110,.23),transparent 30%),linear-gradient(145deg,#3b3218,#101b27)}
body.fan-app-theme-neon{--theme-hero-bg:radial-gradient(circle at 80% 20%,rgba(246,140,255,.22),transparent 27%),radial-gradient(circle at 15% 100%,rgba(111,247,255,.18),transparent 30%),linear-gradient(145deg,#15103c,#071928)}
body.fan-app-theme-pixel{--theme-hero-bg:linear-gradient(90deg,rgba(255,255,255,.05) 25%,transparent 25% 75%,rgba(255,255,255,.05) 75%) 0 0/16px 16px,linear-gradient(0deg,rgba(255,255,255,.04) 25%,transparent 25% 75%,rgba(255,255,255,.04) 75%) 0 0/16px 16px,linear-gradient(145deg,#1b174d,#093857)}
body.fan-app-theme-regionalliga{--theme-hero-bg:radial-gradient(circle at 84% 18%,rgba(255,255,255,.13),transparent 25%),linear-gradient(145deg,#164d76,#09253d)}
body.fan-app-theme-retro{--theme-hero-bg:linear-gradient(0deg,rgba(255,255,255,.025) 50%,transparent 50%) 0 0/100% 5px,linear-gradient(145deg,#284256,#121f2b)}
body.fan-app-theme-statmaster{--theme-hero-bg:linear-gradient(rgba(111,240,208,.06) 1px,transparent 1px),linear-gradient(90deg,rgba(111,240,208,.06) 1px,transparent 1px),linear-gradient(145deg,#12333e,#071a26)}
body.fan-app-theme-sticker{--theme-hero-bg:linear-gradient(23deg,transparent 41%,rgba(255,92,145,.22) 42% 48%,transparent 49%),linear-gradient(-18deg,transparent 55%,rgba(125,244,255,.2) 56% 63%,transparent 64%),linear-gradient(145deg,#21477a,#261654)}
body.fan-app-theme-veteran{--theme-hero-bg:linear-gradient(110deg,transparent 0 14%,rgba(240,212,138,.08) 14% 20%,transparent 20% 80%,rgba(240,212,138,.08) 80% 86%,transparent 86%),linear-gradient(145deg,#26364a,#0b1724)}

body.fan-app-theme-enabled .hero,
body.fan-app-theme-enabled .matchday-hero,
body.fan-app-theme-enabled .match-detail-hero,
body.fan-app-theme-enabled .team-detail-hero,
body.fan-app-theme-enabled .opponent-hero,
body.fan-app-theme-enabled .tournament-hero,
body.fan-app-theme-enabled .startup-hero{background:var(--theme-hero-bg)!important;border-color:var(--theme-border)!important;box-shadow:0 18px 44px color-mix(in srgb,var(--bg) 58%,transparent),0 0 0 1px color-mix(in srgb,var(--accent) 7%,transparent)!important}

body.fan-app-theme-enabled .content-card,
body.fan-app-theme-enabled .team-card,
body.fan-app-theme-enabled .news-card,
body.fan-app-theme-enabled .match-card,
body.fan-app-theme-enabled .matchcenter-card,
body.fan-app-theme-enabled .training-card,
body.fan-app-theme-enabled .roster-person-card,
body.fan-app-theme-enabled .roster-profile,
body.fan-app-theme-enabled .venue-card,
body.fan-app-theme-enabled .venue-detail,
body.fan-app-theme-enabled .channel-card,
body.fan-app-theme-enabled .agenda-item,
body.fan-app-theme-enabled .quick-card,
body.fan-app-theme-enabled .history-card,
body.fan-app-theme-enabled .opponent-table-card,
body.fan-app-theme-enabled .tournament-registration,
body.fan-app-theme-enabled .integration-card,
body.fan-app-theme-enabled .favorite-card,
body.fan-app-theme-enabled .today-card,
body.fan-app-theme-enabled .matchday-summary-card,
body.fan-app-theme-enabled .season-ticket-card,
body.fan-app-theme-enabled .search-result-card,
body.fan-app-theme-enabled .mvp-card,
body.fan-app-theme-enabled .contact-card,
body.fan-app-theme-enabled .ticker-source-card,
body.fan-app-theme-enabled .ticker-fallback-card,
body.fan-app-theme-enabled .personal-mini-card,
body.fan-app-theme-enabled .android-update-card,
body.fan-app-theme-enabled .push-onboard-panel,
body.fan-app-theme-enabled .ios-install-panel,
body.fan-app-theme-enabled .livestream-card{background:var(--theme-card-bg)!important;border-color:var(--theme-border)!important;box-shadow:0 12px 32px color-mix(in srgb,var(--bg) 58%,transparent)!important}

body.fan-app-theme-enabled .more-card,
body.fan-app-theme-enabled .list-link,
body.fan-app-theme-enabled .favorite-check,
body.fan-app-theme-enabled .matchcenter-countdown,
body.fan-app-theme-enabled .channel-mark:not(.channel-instagram):not(.channel-twitch):not(.channel-youtube):not(.channel-whatsapp),
body.fan-app-theme-enabled .agenda-kind,
body.fan-app-theme-enabled .quick-icon,
body.fan-app-theme-enabled .integration-pill,
body.fan-app-theme-enabled .season-ticket-purpose,
body.fan-app-theme-enabled .season-ticket-code,
body.fan-app-theme-enabled .standings-table thead th,
body.fan-app-theme-enabled .tournament-table-scroll,
body.fan-app-theme-enabled .tournament-table th{background:var(--theme-soft-2)!important;border-color:var(--theme-border)!important}

body.fan-app-theme-enabled .tag,
body.fan-app-theme-enabled .personal-team-chip,
body.fan-app-theme-enabled .favorite-badge,
body.fan-app-theme-enabled .matchday-summary-badge,
body.fan-app-theme-enabled .roster-meta-chip,
body.fan-app-theme-enabled .livestream-meta-chip,
body.fan-app-theme-enabled .set-history-chip,
body.fan-app-theme-enabled .matchcenter-status,
body.fan-app-theme-enabled .club-notice-badge{background:var(--theme-soft-bg)!important;border-color:var(--theme-border)!important;color:var(--text)!important}

body.fan-app-theme-enabled .secondary,
body.fan-app-theme-enabled .icon-button,
body.fan-app-theme-enabled select,
body.fan-app-theme-enabled input:not([type=checkbox]):not([type=radio]),
body.fan-app-theme-enabled textarea{background:var(--theme-soft-2)!important;border-color:var(--theme-border)!important;color:var(--text)!important}
body.fan-app-theme-enabled .primary,
body.fan-app-theme-enabled .button{background:var(--accent)!important;border-color:var(--accent)!important;color:color-mix(in srgb,var(--bg) 88%,black 12%)!important}
body.fan-app-theme-enabled .text-link,
body.fan-app-theme-enabled .read-more,
body.fan-app-theme-enabled .quick-arrow,
body.fan-app-theme-enabled .agenda-arrow,
body.fan-app-theme-enabled .countdown,
body.fan-app-theme-enabled .score,
body.fan-app-theme-enabled .roster-role,
body.fan-app-theme-enabled .more-icon{color:var(--accent)!important}

body.fan-app-theme-enabled .app-header{border-color:var(--theme-border)!important}
body.fan-app-theme-enabled .app-nav{background:color-mix(in srgb,var(--bg) 88%,transparent)!important;border-color:var(--theme-border)!important;box-shadow:0 -16px 45px color-mix(in srgb,var(--bg) 70%,transparent)!important}
body.fan-app-theme-enabled .nav-item{color:color-mix(in srgb,var(--muted) 92%,white 8%)!important}
body.fan-app-theme-enabled .nav-item[aria-current]{color:var(--text)!important;background:linear-gradient(145deg,color-mix(in srgb,var(--surface) 72%,var(--accent) 28%),color-mix(in srgb,var(--surface) 90%,var(--accent) 10%))!important;box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--accent) 18%,transparent),0 8px 22px color-mix(in srgb,var(--accent) 10%,transparent)!important}

body.fan-app-theme-enabled .standings-table .is-club,
body.fan-app-theme-enabled .standings-table .is-selected{background:var(--theme-soft-bg)!important}
body.fan-app-theme-enabled .table-wrap,
body.fan-app-theme-enabled .standings-wrap{border-color:var(--theme-border)!important;background:color-mix(in srgb,var(--bg) 82%,var(--surface) 18%)!important}
body.fan-app-theme-enabled .table-wrap td,
body.fan-app-theme-enabled .table-wrap th,
body.fan-app-theme-enabled .standings-table td,
body.fan-app-theme-enabled .standings-table th{border-color:color-mix(in srgb,var(--theme-border) 58%,transparent)!important}

body.fan-app-theme-enabled .news-placeholder,
body.fan-app-theme-enabled .roster-person-fallback,
body.fan-app-theme-enabled .roster-profile-fallback{background:radial-gradient(circle at 70% 20%,var(--theme-glow),transparent 42%),color-mix(in srgb,var(--surface) 88%,var(--bg) 12%)!important;color:var(--accent)!important}

body.fan-app-theme-enabled .hero:after,
body.fan-app-theme-enabled .matchday-hero:after,
body.fan-app-theme-enabled .match-detail-hero:after{background:linear-gradient(115deg,color-mix(in srgb,var(--accent) 7%,transparent),transparent 38%)!important}

body.fan-app-theme-enabled.fan-app-theme-animated .hero,
body.fan-app-theme-enabled.fan-app-theme-animated .content-card,
body.fan-app-theme-enabled.fan-app-theme-animated .match-card,
body.fan-app-theme-enabled.fan-app-theme-animated .training-card,
body.fan-app-theme-enabled.fan-app-theme-animated .team-card,
body.fan-app-theme-enabled.fan-app-theme-animated .news-card{position:relative;isolation:isolate;overflow:hidden}
body.fan-app-theme-enabled.fan-app-theme-animated .hero:before,
body.fan-app-theme-enabled.fan-app-theme-animated .content-card:before,
body.fan-app-theme-enabled.fan-app-theme-animated .match-card:before,
body.fan-app-theme-enabled.fan-app-theme-animated .training-card:before,
body.fan-app-theme-enabled.fan-app-theme-animated .team-card:before,
body.fan-app-theme-enabled.fan-app-theme-animated .news-card:before{content:'';position:absolute;z-index:0;inset:-35%;pointer-events:none;background:linear-gradient(115deg,transparent 38%,color-mix(in srgb,var(--accent) 10%,transparent) 50%,transparent 62%);animation:fanAppCardSweep 8s ease-in-out infinite}
body.fan-app-theme-enabled.fan-app-theme-animated .hero>*,body.fan-app-theme-enabled.fan-app-theme-animated .content-card>*,body.fan-app-theme-enabled.fan-app-theme-animated .match-card>*,body.fan-app-theme-enabled.fan-app-theme-animated .training-card>*,body.fan-app-theme-enabled.fan-app-theme-animated .team-card>*,body.fan-app-theme-enabled.fan-app-theme-animated .news-card>*{position:relative;z-index:1}
@keyframes fanAppCardSweep{0%,100%{transform:translateX(-24%) rotate(5deg)}50%{transform:translateX(24%) rotate(5deg)}}
@media(prefers-reduced-motion:reduce){body.fan-app-theme-enabled.fan-app-theme-animated .hero:before,body.fan-app-theme-enabled.fan-app-theme-animated .content-card:before,body.fan-app-theme-enabled.fan-app-theme-animated .match-card:before,body.fan-app-theme-enabled.fan-app-theme-animated .training-card:before,body.fan-app-theme-enabled.fan-app-theme-animated .team-card:before,body.fan-app-theme-enabled.fan-app-theme-animated .news-card:before{animation:none!important}}

.fan-pass-secret-help{display:grid;gap:10px;margin-top:10px}.fan-pass-help-kicker{display:block;margin-bottom:5px;font-size:.64rem;font-weight:950;letter-spacing:.08em;color:var(--fp-accent,var(--accent))}.fan-pass-hints.is-riddles,.fan-pass-hints.is-tips{margin:0}.fan-pass-hints.is-tips{border-color:color-mix(in srgb,#ffd86e 35%,var(--line));background:color-mix(in srgb,#ffd86e 6%,transparent)}.fan-pass-help-choice{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.fan-pass-help-buy{width:100%;min-height:42px;padding:9px 10px;font-size:.78rem}.fan-pass-help-buy.is-tip{border-color:color-mix(in srgb,#ffd86e 60%,var(--line));color:#fff4c3}.fan-pass-help-explain{line-height:1.4}@media(max-width:420px){.fan-pass-help-choice{grid-template-columns:1fr}}



/* 2.17.0 · Mystery-Box-Pool, Dropchancen & zusätzliche verrückte Designs */
.fan-pass-box-odds{font-size:.68rem;font-weight:850;line-height:1.35;color:var(--muted);padding:5px 7px;border-radius:9px;background:rgba(255,255,255,.045);border:1px solid rgba(255,255,255,.07)}
.fan-pass-theme-lasergrid{--fp-accent:#64f7ff;--fp-accent2:#7b7cff;--fp-glow:rgba(100,247,255,.18);--fp-hero:linear-gradient(rgba(100,247,255,.09) 1px,transparent 1px),linear-gradient(90deg,rgba(123,124,255,.09) 1px,transparent 1px),linear-gradient(145deg,#101742,#071925);background-size:18px 18px,18px 18px,auto}.fan-pass-design-card.theme-lasergrid .fan-pass-design-preview{background:linear-gradient(#4ef6ff22 1px,transparent 1px),linear-gradient(90deg,#776dff22 1px,transparent 1px),linear-gradient(145deg,#18174c,#073d55);background-size:14px 14px,14px 14px,auto}
.fan-pass-theme-candycourt{--fp-accent:#ff91dd;--fp-accent2:#8bf6ff;--fp-glow:rgba(255,145,221,.17);--fp-hero:radial-gradient(circle at 18% 20%,#ff8bd744 0 8%,transparent 9%),radial-gradient(circle at 82% 70%,#84f7ff38 0 10%,transparent 11%),linear-gradient(145deg,#57235d,#163e68)}.fan-pass-design-card.theme-candycourt .fan-pass-design-preview{background:radial-gradient(circle at 20% 25%,#ff91dd 0 10%,transparent 11%),radial-gradient(circle at 80% 72%,#86f6ff 0 12%,transparent 13%),linear-gradient(145deg,#6a2869,#194c7d)}
.fan-pass-theme-vhsglitch{--fp-accent:#7cf6ff;--fp-accent2:#ff78c8;--fp-glow:rgba(124,246,255,.18);--fp-hero:repeating-linear-gradient(0deg,rgba(255,255,255,.05) 0 2px,transparent 2px 5px),linear-gradient(90deg,rgba(255,75,118,.12) 0 14%,transparent 14% 31%,rgba(72,244,255,.11) 31% 46%,transparent 46% 62%,rgba(255,126,214,.12) 62% 78%,transparent 78%),linear-gradient(120deg,#321452,#083b4f)}.fan-pass-design-card.theme-vhsglitch .fan-pass-design-preview{background:repeating-linear-gradient(0deg,#ffffff14 0 2px,transparent 2px 5px),linear-gradient(90deg,rgba(255,65,110,.17) 0 16%,transparent 16% 34%,rgba(70,244,255,.13) 34% 50%,transparent 50% 66%,rgba(255,122,214,.14) 66% 82%,transparent 82%),linear-gradient(110deg,#ff55984f,#3befff40),linear-gradient(145deg,#381554,#083a4f)}
.fan-pass-theme-graffiti{--fp-accent:#ffd75b;--fp-accent2:#ff75b9;--fp-glow:rgba(255,215,91,.14);--fp-hero:linear-gradient(27deg,transparent 39%,#ff6d9933 40% 44%,transparent 45%),linear-gradient(-18deg,transparent 58%,#53e8ff33 59% 64%,transparent 65%),linear-gradient(145deg,#253c68,#4d1e55)}.fan-pass-design-card.theme-graffiti .fan-pass-design-preview{background:linear-gradient(24deg,transparent 35%,#ff6d99 36% 43%,transparent 44%),linear-gradient(-18deg,transparent 56%,#53e8ff 57% 63%,transparent 64%),linear-gradient(145deg,#355e91,#5a245f)}
.fan-pass-theme-doodle{--fp-accent:#d8efff;--fp-accent2:#78d6ff;--fp-glow:rgba(216,239,255,.12);--fp-hero:repeating-linear-gradient(12deg,transparent 0 18px,rgba(255,255,255,.025) 19px 20px),linear-gradient(145deg,#28343f,#101922)}.fan-pass-design-card.theme-doodle .fan-pass-design-preview{background:repeating-linear-gradient(14deg,transparent 0 16px,#ffffff18 17px 18px),linear-gradient(145deg,#3a4a57,#18232d)}
.fan-pass-theme-sunsetserve{--fp-accent:#ffb06c;--fp-accent2:#7feaff;--fp-glow:rgba(255,176,108,.18);--fp-hero:radial-gradient(circle at 78% 80%,#ff9a6644,transparent 25%),linear-gradient(160deg,#44265c,#123e65 66%,#0b2337)}.fan-pass-design-card.theme-sunsetserve .fan-pass-design-preview{background:radial-gradient(circle at 76% 80%,#ffaf6f 0 17%,transparent 18%),linear-gradient(160deg,#663269,#155274)}
.fan-pass-theme-electricblue{--fp-accent:#4ff6ff;--fp-accent2:#a9c7ff;--fp-glow:rgba(79,246,255,.2);--fp-hero:linear-gradient(125deg,transparent 0 46%,#56f4ff24 47% 49%,transparent 50% 62%,#4b70ff22 63% 65%,transparent 66%),linear-gradient(145deg,#071d3f,#091525)}.fan-pass-design-card.theme-electricblue .fan-pass-design-preview{background:linear-gradient(125deg,transparent 0 44%,#54f5ff 45% 48%,transparent 49% 63%,#536dff 64% 67%,transparent 68%),linear-gradient(145deg,#0a2956,#091833)}
.fan-pass-theme-stickergalaxy{--fp-accent:#ffdd72;--fp-accent2:#a989ff;--fp-glow:rgba(255,221,114,.14);--fp-hero:radial-gradient(circle at 24% 22%,#fff 0 1px,transparent 2px),radial-gradient(circle at 78% 34%,#fff 0 1px,transparent 2px),linear-gradient(24deg,transparent 43%,#ff5fa622 44% 48%,transparent 49%),linear-gradient(145deg,#23124f,#07182e)}.fan-pass-design-card.theme-stickergalaxy .fan-pass-design-preview{background:radial-gradient(circle at 20% 25%,#fff 0 1px,transparent 2px),linear-gradient(23deg,transparent 40%,#ff65a8 41% 48%,transparent 49%),linear-gradient(145deg,#3b1a73,#0a2947)}
.fan-pass-theme-waverider{--fp-accent:#68e6ff;--fp-accent2:#8aa7ff;--fp-glow:rgba(104,230,255,.16);--fp-hero:radial-gradient(ellipse at 50% 120%,#3cc6ff35 0 35%,transparent 36%),radial-gradient(ellipse at 10% 110%,#655dff2b 0 30%,transparent 31%),linear-gradient(145deg,#0b2d4d,#081725)}.fan-pass-design-card.theme-waverider .fan-pass-design-preview{background:radial-gradient(ellipse at 50% 120%,#45d0ff 0 38%,transparent 39%),radial-gradient(ellipse at 8% 110%,#6f6fff 0 34%,transparent 35%),linear-gradient(145deg,#0c3b61,#111d3d)}
.fan-pass-theme-arcadecourt{--fp-accent:#7eff90;--fp-accent2:#67e7ff;--fp-glow:rgba(126,255,144,.15);--fp-hero:linear-gradient(90deg,rgba(126,255,144,.08) 1px,transparent 1px),linear-gradient(rgba(103,231,255,.08) 1px,transparent 1px),linear-gradient(145deg,#151446,#082737);background-size:22px 22px,22px 22px,auto}.fan-pass-design-card.theme-arcadecourt .fan-pass-design-preview{background:linear-gradient(90deg,#7eff9025 1px,transparent 1px),linear-gradient(#67e7ff25 1px,transparent 1px),linear-gradient(145deg,#251b62,#0a4051);background-size:16px 16px,16px 16px,auto}
.fan-pass-theme-bubblegum{--fp-accent:#ff8fca;--fp-accent2:#78e9ff;--fp-glow:rgba(255,143,202,.18);--fp-hero:radial-gradient(circle at 16% 18%,#ff8fca38 0 9%,transparent 10%),radial-gradient(circle at 73% 32%,#78e9ff32 0 12%,transparent 13%),radial-gradient(circle at 55% 85%,#f9ff8530 0 8%,transparent 9%),linear-gradient(145deg,#532d6f,#174a74)}.fan-pass-design-card.theme-bubblegum .fan-pass-design-preview{background:radial-gradient(circle at 15% 22%,#ff91cc 0 11%,transparent 12%),radial-gradient(circle at 76% 38%,#75ebff 0 13%,transparent 14%),linear-gradient(145deg,#6c347e,#1c5885)}
.fan-pass-theme-blueprint{--fp-accent:#b7e9ff;--fp-accent2:#ffffff;--fp-glow:rgba(183,233,255,.12);--fp-hero:linear-gradient(#b7e9ff12 1px,transparent 1px),linear-gradient(90deg,#b7e9ff12 1px,transparent 1px),linear-gradient(145deg,#154a72,#08243b);background-size:16px 16px,16px 16px,auto}.fan-pass-design-card.theme-blueprint .fan-pass-design-preview{background:linear-gradient(#c9f0ff24 1px,transparent 1px),linear-gradient(90deg,#c9f0ff24 1px,transparent 1px),linear-gradient(145deg,#21648f,#0d3654);background-size:13px 13px,13px 13px,auto}
.fan-pass-theme-hologram{--fp-accent:#9ffcff;--fp-accent2:#ffb3f3;--fp-glow:rgba(159,252,255,.19);--fp-hero:conic-gradient(from 30deg at 80% 20%,#74efff33,#ff9ee833,#ffe58d22,#74efff33),linear-gradient(145deg,#1b2452,#0a2138)}.fan-pass-design-card.theme-hologram .fan-pass-design-preview{background:conic-gradient(from 35deg,#78efff,#f99ee7,#ffe88e,#78efff)}
.fan-pass-theme-aurora{--fp-accent:#83ffd7;--fp-accent2:#a4a0ff;--fp-glow:rgba(131,255,215,.22);--fp-hero:radial-gradient(ellipse at 14% 118%,rgba(78,255,165,.38) 0 36%,transparent 37%),radial-gradient(ellipse at 52% 14%,rgba(92,255,177,.22) 0 23%,transparent 24%),radial-gradient(ellipse at 84% -8%,rgba(153,109,255,.28) 0 34%,transparent 35%),linear-gradient(145deg,#071a2c,#15133d)}.fan-pass-design-card.theme-aurora .fan-pass-design-preview{background:radial-gradient(ellipse at 14% 108%,rgba(67,255,157,.62) 0 35%,transparent 36%),radial-gradient(ellipse at 48% 20%,rgba(92,255,183,.28) 0 18%,transparent 19%),radial-gradient(ellipse at 84% -6%,rgba(161,117,255,.45) 0 34%,transparent 35%),linear-gradient(145deg,#0b2740,#1d1553)}
.fan-pass-theme-plasma{--fp-accent:#67f5ff;--fp-accent2:#dd78ff;--fp-glow:rgba(103,245,255,.19);--fp-hero:radial-gradient(circle at 70% 35%,#da6cff35,transparent 25%),radial-gradient(circle at 20% 75%,#55efff35,transparent 30%),linear-gradient(145deg,#25114b,#08283b)}.fan-pass-design-card.theme-plasma .fan-pass-design-preview{background:radial-gradient(circle at 72% 32%,#dd6cff 0 25%,transparent 26%),radial-gradient(circle at 18% 78%,#54efff 0 29%,transparent 30%),linear-gradient(145deg,#35145e,#0c384c)}
.fan-pass-theme-vaporwave{--fp-accent:#ff8bd8;--fp-accent2:#7beeff;--fp-glow:rgba(255,139,216,.17);--fp-hero:linear-gradient(0deg,#ff7fba18 0 2px,transparent 2px 24px),linear-gradient(90deg,#7cefff12 0 2px,transparent 2px 24px),linear-gradient(160deg,#4b1d63,#0e4162)}.fan-pass-design-card.theme-vaporwave .fan-pass-design-preview{background:linear-gradient(0deg,#ff7fba25 0 2px,transparent 2px 18px),linear-gradient(90deg,#7cefff20 0 2px,transparent 2px 18px),linear-gradient(160deg,#672679,#135477)}
.fan-pass-theme-frozenpixel{--fp-accent:#d8f8ff;--fp-accent2:#78cfff;--fp-glow:rgba(216,248,255,.18);--fp-hero:linear-gradient(90deg,#ffffff12 25%,transparent 25% 75%,#ffffff12 75%) 0 0/18px 18px,linear-gradient(145deg,#305c78,#0a2437)}.fan-pass-design-card.theme-frozenpixel .fan-pass-design-preview{background:linear-gradient(90deg,#ffffff28 25%,transparent 25% 75%,#ffffff28 75%) 0 0/16px 16px,linear-gradient(145deg,#5d9ab9,#133b52)}
.fan-pass-theme-comicnoir{--fp-accent:#f5f5f5;--fp-accent2:#ff5d7a;--fp-glow:rgba(255,255,255,.1);--fp-hero:radial-gradient(circle,#ffffff13 0 1px,transparent 1.5px) 0 0/9px 9px,linear-gradient(145deg,#242424,#080808)}.fan-pass-design-card.theme-comicnoir .fan-pass-design-preview{background:radial-gradient(circle,#ffffff25 0 1px,transparent 1.5px) 0 0/8px 8px,linear-gradient(145deg,#393939,#090909)}
.fan-pass-theme-cyberstorm{--fp-accent:#65efff;--fp-accent2:#8e75ff;--fp-glow:rgba(101,239,255,.18);--fp-hero:linear-gradient(120deg,transparent 0 35%,#66efff1f 36% 38%,transparent 39% 55%,#9077ff1f 56% 58%,transparent 59%),linear-gradient(145deg,#101741,#061c2c)}.fan-pass-design-card.theme-cyberstorm .fan-pass-design-preview{background:linear-gradient(120deg,transparent 0 34%,#66efff 35% 38%,transparent 39% 54%,#9077ff 55% 58%,transparent 59%),linear-gradient(145deg,#1a2057,#092a3c)}
.fan-pass-theme-liquidchrome{--fp-accent:#e8f4ff;--fp-accent2:#7acfff;--fp-glow:rgba(232,244,255,.17);--fp-hero:radial-gradient(ellipse at 75% 20%,#ffffff30,transparent 26%),linear-gradient(130deg,#718496,#24384b 34%,#b4cad8 48%,#29475c 62%,#132534)}.fan-pass-design-card.theme-liquidchrome .fan-pass-design-preview{background:linear-gradient(130deg,#8294a3,#263a4a 34%,#c4d8e3 48%,#2d5066 62%,#142c3e)}
.fan-pass-theme-cosmicgold{--fp-accent:#ffe071;--fp-accent2:#b8e9ff;--fp-glow:rgba(255,224,113,.22);--fp-hero:radial-gradient(circle at 20% 20%,#fff 0 1px,transparent 2px),radial-gradient(circle at 78% 35%,#ffe071 0 1px,transparent 2px),radial-gradient(circle at 70% 80%,#d5a73d35,transparent 28%),linear-gradient(145deg,#2d2510,#08182c)}.fan-pass-design-card.theme-cosmicgold .fan-pass-design-preview{background:radial-gradient(circle at 20% 20%,#fff 0 1px,transparent 2px),radial-gradient(circle at 78% 35%,#ffe071 0 1px,transparent 2px),linear-gradient(145deg,#66501a,#0b2942)}
.fan-pass-theme-phantomchrome{--fp-accent:#dcf5ff;--fp-accent2:#b5a3ff;--fp-glow:rgba(220,245,255,.19);--fp-hero:radial-gradient(ellipse at 80% 10%,#dff8ff2b,transparent 28%),linear-gradient(135deg,#5b6572,#1b2431 30%,#778897 47%,#202b38 66%,#0d1620)}.fan-pass-design-card.theme-phantomchrome .fan-pass-design-preview{background:linear-gradient(135deg,#7a8792,#27313c 30%,#a0b3bf 48%,#2b3945 66%,#101b25)}
.fan-pass-theme-chaoscrown{--fp-accent:#ffe75d;--fp-accent2:#ff65c7;--fp-glow:rgba(255,231,93,.22);--fp-hero:conic-gradient(from 20deg at 80% 20%,#ffe75d33,#ff65c733,#5beaff2b,#ffe75d33),linear-gradient(145deg,#441550,#0a2841)}.fan-pass-design-card.theme-chaoscrown .fan-pass-design-preview{background:conic-gradient(from 20deg,#ffe75d,#ff65c7,#5beaff,#ffe75d)}

body.fan-app-theme-lasergrid{--bg:#07131f;--surface:#101f3b;--line:#285e78;--accent:#64f7ff;--muted:#b8d7e1;--theme-hero-bg:linear-gradient(#64f7ff12 1px,transparent 1px),linear-gradient(90deg,#7b7cff12 1px,transparent 1px),linear-gradient(145deg,#101742,#071925);background-size:18px 18px,18px 18px,auto}
body.fan-app-theme-candycourt{--bg:#28122d;--surface:#512a5f;--line:#8b4c89;--accent:#ff91dd;--muted:#e8cbe0;--theme-hero-bg:radial-gradient(circle at 18% 20%,#ff8bd744 0 8%,transparent 9%),radial-gradient(circle at 82% 70%,#84f7ff38 0 10%,transparent 11%),linear-gradient(145deg,#57235d,#163e68)}
body.fan-app-theme-vhsglitch{--bg:#160d24;--surface:#342044;--line:#694e77;--accent:#7cf6ff;--muted:#d7c9e4;--theme-hero-bg:repeating-linear-gradient(0deg,rgba(255,255,255,.05) 0 2px,transparent 2px 5px),linear-gradient(90deg,rgba(255,75,118,.09) 0 14%,transparent 14% 31%,rgba(72,244,255,.08) 31% 46%,transparent 46% 62%,rgba(255,126,214,.08) 62% 78%,transparent 78%),linear-gradient(120deg,#2d174e,#08384d)}
body.fan-app-theme-graffiti{--bg:#17172a;--surface:#333c62;--line:#6a5f8d;--accent:#ffd75b;--muted:#d9d4e5;--theme-hero-bg:linear-gradient(27deg,transparent 39%,#ff6d9933 40% 44%,transparent 45%),linear-gradient(-18deg,transparent 58%,#53e8ff33 59% 64%,transparent 65%),linear-gradient(145deg,#253c68,#4d1e55)}
body.fan-app-theme-doodle{--bg:#10161c;--surface:#283640;--line:#52636e;--accent:#d8efff;--muted:#c4d0d8;--theme-hero-bg:repeating-linear-gradient(12deg,transparent 0 18px,rgba(255,255,255,.025) 19px 20px),linear-gradient(145deg,#28343f,#101922)}
body.fan-app-theme-sunsetserve{--bg:#1b1728;--surface:#40314b;--line:#72566d;--accent:#ffb06c;--muted:#d9c8d2;--theme-hero-bg:radial-gradient(circle at 78% 80%,#ff9a6644,transparent 25%),linear-gradient(160deg,#44265c,#123e65 66%,#0b2337)}
body.fan-app-theme-electricblue{--bg:#05162c;--surface:#0f3157;--line:#2a648d;--accent:#4ff6ff;--muted:#b7dbe8;--theme-hero-bg:linear-gradient(125deg,transparent 0 46%,#56f4ff24 47% 49%,transparent 50% 62%,#4b70ff22 63% 65%,transparent 66%),linear-gradient(145deg,#071d3f,#091525)}
body.fan-app-theme-stickergalaxy{--bg:#0b0a22;--surface:#2b1f52;--line:#604d86;--accent:#ffdd72;--muted:#d5cde5;--theme-hero-bg:radial-gradient(circle at 24% 22%,#fff 0 1px,transparent 2px),radial-gradient(circle at 78% 34%,#fff 0 1px,transparent 2px),linear-gradient(24deg,transparent 43%,#ff5fa622 44% 48%,transparent 49%),linear-gradient(145deg,#23124f,#07182e)}
body.fan-app-theme-waverider{--bg:#07182a;--surface:#113b59;--line:#2e6c8a;--accent:#68e6ff;--muted:#b9d6e3;--theme-hero-bg:radial-gradient(ellipse at 50% 120%,#3cc6ff35 0 35%,transparent 36%),radial-gradient(ellipse at 10% 110%,#655dff2b 0 30%,transparent 31%),linear-gradient(145deg,#0b2d4d,#081725)}
body.fan-app-theme-arcadecourt{--bg:#0c102c;--surface:#23224f;--line:#4f557a;--accent:#7eff90;--muted:#c9d3e2;--theme-hero-bg:linear-gradient(90deg,rgba(126,255,144,.08) 1px,transparent 1px),linear-gradient(rgba(103,231,255,.08) 1px,transparent 1px),linear-gradient(145deg,#151446,#082737);background-size:22px 22px,22px 22px,auto}
body.fan-app-theme-bubblegum{--bg:#28152f;--surface:#593666;--line:#8a5a89;--accent:#ff8fca;--muted:#e7cce2;--theme-hero-bg:radial-gradient(circle at 16% 18%,#ff8fca38 0 9%,transparent 10%),radial-gradient(circle at 73% 32%,#78e9ff32 0 12%,transparent 13%),radial-gradient(circle at 55% 85%,#f9ff8530 0 8%,transparent 9%),linear-gradient(145deg,#532d6f,#174a74)}
body.fan-app-theme-blueprint{--bg:#07233a;--surface:#164663;--line:#39708d;--accent:#b7e9ff;--muted:#bfd6e2;--theme-hero-bg:linear-gradient(#b7e9ff12 1px,transparent 1px),linear-gradient(90deg,#b7e9ff12 1px,transparent 1px),linear-gradient(145deg,#154a72,#08243b);background-size:16px 16px,16px 16px,auto}
body.fan-app-theme-hologram{--bg:#131633;--surface:#30335c;--line:#62678c;--accent:#9ffcff;--muted:#d7d5e9;--theme-hero-bg:conic-gradient(from 30deg at 80% 20%,#74efff33,#ff9ee833,#ffe58d22,#74efff33),linear-gradient(145deg,#1b2452,#0a2138)}
body.fan-app-theme-aurora{--bg:#071e2b;--surface:#163b47;--line:#3d6e73;--accent:#83ffd7;--muted:#c2dfe0;--theme-hero-bg:radial-gradient(ellipse at 14% 118%,rgba(78,255,165,.38) 0 36%,transparent 37%),radial-gradient(ellipse at 52% 14%,rgba(92,255,177,.22) 0 23%,transparent 24%),radial-gradient(ellipse at 84% -8%,rgba(153,109,255,.28) 0 34%,transparent 35%),linear-gradient(145deg,#071a2c,#15133d)}
body.fan-app-theme-plasma{--bg:#150a2a;--surface:#34204d;--line:#684c79;--accent:#67f5ff;--muted:#d7c9e4;--theme-hero-bg:radial-gradient(circle at 70% 35%,#da6cff35,transparent 25%),radial-gradient(circle at 20% 75%,#55efff35,transparent 30%),linear-gradient(145deg,#25114b,#08283b)}
body.fan-app-theme-vaporwave{--bg:#24152d;--surface:#4c315d;--line:#7e5f83;--accent:#ff8bd8;--muted:#e2cadf;--theme-hero-bg:linear-gradient(0deg,#ff7fba18 0 2px,transparent 2px 24px),linear-gradient(90deg,#7cefff12 0 2px,transparent 2px 24px),linear-gradient(160deg,#4b1d63,#0e4162)}
body.fan-app-theme-frozenpixel{--bg:#122b3a;--surface:#31566b;--line:#668a9c;--accent:#d8f8ff;--muted:#d1e0e7;--theme-hero-bg:linear-gradient(90deg,#ffffff12 25%,transparent 25% 75%,#ffffff12 75%) 0 0/18px 18px,linear-gradient(145deg,#305c78,#0a2437)}
body.fan-app-theme-comicnoir{--bg:#080808;--surface:#242424;--line:#505050;--accent:#f5f5f5;--muted:#bdbdbd;--theme-hero-bg:radial-gradient(circle,#ffffff13 0 1px,transparent 1.5px) 0 0/9px 9px,linear-gradient(145deg,#242424,#080808)}
body.fan-app-theme-cyberstorm{--bg:#070d26;--surface:#1a2749;--line:#435b7a;--accent:#65efff;--muted:#c1d0e1;--theme-hero-bg:linear-gradient(120deg,transparent 0 35%,#66efff1f 36% 38%,transparent 39% 55%,#9077ff1f 56% 58%,transparent 59%),linear-gradient(145deg,#101741,#061c2c)}
body.fan-app-theme-liquidchrome{--bg:#101820;--surface:#334452;--line:#677985;--accent:#e8f4ff;--muted:#cbd4da;--theme-hero-bg:radial-gradient(ellipse at 75% 20%,#ffffff30,transparent 26%),linear-gradient(130deg,#718496,#24384b 34%,#b4cad8 48%,#29475c 62%,#132534)}
body.fan-app-theme-cosmicgold{--bg:#0d1020;--surface:#2e2b31;--line:#665c55;--accent:#ffe071;--muted:#d7d2c0;--theme-hero-bg:radial-gradient(circle at 20% 20%,#fff 0 1px,transparent 2px),radial-gradient(circle at 78% 35%,#ffe071 0 1px,transparent 2px),radial-gradient(circle at 70% 80%,#d5a73d35,transparent 28%),linear-gradient(145deg,#2d2510,#08182c)}
body.fan-app-theme-phantomchrome{--bg:#0f151c;--surface:#35404a;--line:#687581;--accent:#dcf5ff;--muted:#cfd8de;--theme-hero-bg:radial-gradient(ellipse at 80% 10%,#dff8ff2b,transparent 28%),linear-gradient(135deg,#5b6572,#1b2431 30%,#778897 47%,#202b38 66%,#0d1620)}
body.fan-app-theme-chaoscrown{--bg:#1b0c20;--surface:#472151;--line:#7f4a85;--accent:#ffe75d;--muted:#e2cde3;--theme-hero-bg:conic-gradient(from 20deg at 80% 20%,#ffe75d33,#ff65c733,#5beaff2b,#ffe75d33),linear-gradient(145deg,#441550,#0a2841)}


/* 2.20.5 · Mystery-Box-Designs stärker ausgearbeitet */
.fan-pass-holder.fan-pass-theme-vhsglitch,.fan-pass-fullscreen-card.fan-pass-theme-vhsglitch,.fan-pass-holder.fan-pass-theme-aurora,.fan-pass-fullscreen-card.fan-pass-theme-aurora,.fan-pass-holder.fan-pass-theme-lasergrid,.fan-pass-fullscreen-card.fan-pass-theme-lasergrid,.fan-pass-holder.fan-pass-theme-graffiti,.fan-pass-fullscreen-card.fan-pass-theme-graffiti,.fan-pass-holder.fan-pass-theme-doodle,.fan-pass-fullscreen-card.fan-pass-theme-doodle,.fan-pass-holder.fan-pass-theme-sunsetserve,.fan-pass-fullscreen-card.fan-pass-theme-sunsetserve,.fan-pass-holder.fan-pass-theme-electricblue,.fan-pass-fullscreen-card.fan-pass-theme-electricblue,.fan-pass-holder.fan-pass-theme-stickergalaxy,.fan-pass-fullscreen-card.fan-pass-theme-stickergalaxy,.fan-pass-holder.fan-pass-theme-waverider,.fan-pass-fullscreen-card.fan-pass-theme-waverider{position:relative;isolation:isolate;overflow:hidden}
.fan-pass-holder.fan-pass-theme-vhsglitch>*,.fan-pass-fullscreen-card.fan-pass-theme-vhsglitch>*,.fan-pass-holder.fan-pass-theme-aurora>*,.fan-pass-fullscreen-card.fan-pass-theme-aurora>*,.fan-pass-holder.fan-pass-theme-lasergrid>*,.fan-pass-fullscreen-card.fan-pass-theme-lasergrid>*,.fan-pass-holder.fan-pass-theme-graffiti>*,.fan-pass-fullscreen-card.fan-pass-theme-graffiti>*,.fan-pass-holder.fan-pass-theme-doodle>*,.fan-pass-fullscreen-card.fan-pass-theme-doodle>*,.fan-pass-holder.fan-pass-theme-sunsetserve>*,.fan-pass-fullscreen-card.fan-pass-theme-sunsetserve>*,.fan-pass-holder.fan-pass-theme-electricblue>*,.fan-pass-fullscreen-card.fan-pass-theme-electricblue>*,.fan-pass-holder.fan-pass-theme-stickergalaxy>*,.fan-pass-fullscreen-card.fan-pass-theme-stickergalaxy>*,.fan-pass-holder.fan-pass-theme-waverider>*,.fan-pass-fullscreen-card.fan-pass-theme-waverider>*{position:relative;z-index:2}

.fan-pass-holder.fan-pass-theme-vhsglitch:before,.fan-pass-fullscreen-card.fan-pass-theme-vhsglitch:before{content:'';position:absolute;inset:0;z-index:1;pointer-events:none;background:repeating-linear-gradient(0deg,rgba(255,255,255,.055) 0 2px,transparent 2px 6px),linear-gradient(90deg,rgba(255,72,122,.08) 0 16%,transparent 16% 34%,rgba(80,238,255,.08) 34% 52%,transparent 52% 70%,rgba(255,128,220,.08) 70% 86%,transparent 86%);mix-blend-mode:screen;opacity:.7}
.fan-pass-holder.fan-pass-theme-vhsglitch:after,.fan-pass-fullscreen-card.fan-pass-theme-vhsglitch:after{content:'';position:absolute;left:-8%;right:-8%;top:18%;height:18%;z-index:1;pointer-events:none;background:linear-gradient(90deg,transparent 0 8%,rgba(255,96,132,.24) 8% 24%,rgba(104,242,255,.18) 24% 56%,rgba(255,144,222,.20) 56% 72%,transparent 72% 100%);filter:blur(8px);opacity:.45;animation:fanPassVhsGlitch 5.2s steps(1,end) infinite}

.fan-pass-holder.fan-pass-theme-aurora:before,.fan-pass-fullscreen-card.fan-pass-theme-aurora:before{content:'';position:absolute;inset:-16% -10% 34% -10%;z-index:1;pointer-events:none;background:radial-gradient(ellipse at 15% 100%,rgba(64,255,154,.42) 0 28%,transparent 29%),radial-gradient(ellipse at 42% 20%,rgba(108,255,202,.22) 0 18%,transparent 19%),radial-gradient(ellipse at 78% 8%,rgba(144,116,255,.26) 0 22%,transparent 23%);filter:blur(18px);animation:fanPassAuroraSky 8s ease-in-out infinite alternate}
.fan-pass-holder.fan-pass-theme-aurora:after,.fan-pass-fullscreen-card.fan-pass-theme-aurora:after{content:'';position:absolute;inset:8% -12% 24% -12%;z-index:1;pointer-events:none;background:linear-gradient(112deg,transparent 0 12%,rgba(76,255,161,.18) 12% 24%,transparent 24% 40%,rgba(98,255,198,.16) 40% 54%,transparent 54% 69%,rgba(156,130,255,.14) 69% 80%,transparent 80%);filter:blur(20px);opacity:.8;animation:fanPassAuroraRibbon 10s ease-in-out infinite}

.fan-pass-holder.fan-pass-theme-lasergrid:after,.fan-pass-fullscreen-card.fan-pass-theme-lasergrid:after{content:'';position:absolute;inset:-35%;z-index:1;pointer-events:none;background:linear-gradient(108deg,transparent 40%,rgba(100,247,255,.16) 50%,transparent 60%);animation:fanPassLaserSweep 6.5s linear infinite}
.fan-pass-holder.fan-pass-theme-graffiti:before,.fan-pass-fullscreen-card.fan-pass-theme-graffiti:before{content:'';position:absolute;inset:0;z-index:1;pointer-events:none;background:radial-gradient(circle at 12% 78%,rgba(255,215,91,.22) 0 2px,transparent 3px),radial-gradient(circle at 18% 70%,rgba(255,109,153,.18) 0 2px,transparent 3px),radial-gradient(circle at 82% 26%,rgba(83,232,255,.2) 0 2px,transparent 3px),linear-gradient(22deg,transparent 42%,rgba(255,115,166,.15) 43% 47%,transparent 48%),linear-gradient(-15deg,transparent 58%,rgba(83,232,255,.15) 59% 63%,transparent 64%);animation:fanPassGraffitiDrift 8s ease-in-out infinite alternate}
.fan-pass-holder.fan-pass-theme-doodle:after,.fan-pass-fullscreen-card.fan-pass-theme-doodle:after{content:'~ ✦ ~ ○ ~ // ~';position:absolute;right:7%;top:10%;z-index:1;pointer-events:none;font-size:clamp(1rem,3vw,1.4rem);letter-spacing:.25rem;color:rgba(255,255,255,.18);transform:rotate(-8deg);animation:fanPassDoodleFloat 7s ease-in-out infinite alternate}
.fan-pass-holder.fan-pass-theme-sunsetserve:before,.fan-pass-fullscreen-card.fan-pass-theme-sunsetserve:before{content:'';position:absolute;right:8%;bottom:18%;width:32%;height:32%;z-index:1;pointer-events:none;border-radius:50%;background:radial-gradient(circle,rgba(255,184,108,.30) 0 36%,rgba(255,154,102,.16) 37% 54%,transparent 55%);filter:blur(4px);animation:fanPassSunsetPulse 6s ease-in-out infinite}
.fan-pass-holder.fan-pass-theme-electricblue:after,.fan-pass-fullscreen-card.fan-pass-theme-electricblue:after{content:'';position:absolute;inset:0;z-index:1;pointer-events:none;background:linear-gradient(125deg,transparent 0 28%,rgba(84,245,255,.16) 29% 31%,transparent 32% 61%,rgba(84,109,255,.14) 62% 64%,transparent 65% 100%);filter:drop-shadow(0 0 8px rgba(84,245,255,.22));animation:fanPassElectricFlash 4.5s ease-in-out infinite}
.fan-pass-holder.fan-pass-theme-stickergalaxy:before,.fan-pass-fullscreen-card.fan-pass-theme-stickergalaxy:before{content:'';position:absolute;inset:0;z-index:1;pointer-events:none;background:radial-gradient(circle at 16% 22%,rgba(255,255,255,.85) 0 1px,transparent 2px),radial-gradient(circle at 74% 30%,rgba(255,221,114,.7) 0 1.2px,transparent 2px),radial-gradient(circle at 68% 80%,rgba(169,137,255,.75) 0 1.2px,transparent 2px),radial-gradient(circle at 38% 56%,rgba(255,106,173,.75) 0 1.2px,transparent 2px);animation:fanPassGalaxyTwinkle 3.8s ease-in-out infinite alternate}
.fan-pass-holder.fan-pass-theme-waverider:after,.fan-pass-fullscreen-card.fan-pass-theme-waverider:after{content:'';position:absolute;left:-10%;right:-10%;bottom:-6%;height:46%;z-index:1;pointer-events:none;background:radial-gradient(ellipse at 50% 100%,rgba(69,208,255,.20) 0 32%,transparent 33%),radial-gradient(ellipse at 18% 100%,rgba(111,111,255,.15) 0 28%,transparent 29%),radial-gradient(ellipse at 78% 100%,rgba(69,208,255,.14) 0 24%,transparent 25%);animation:fanPassWaveRoll 6.5s ease-in-out infinite alternate}

body.fan-app-theme-vhsglitch.fan-app-theme-animated:after{content:'';position:fixed;inset:0;z-index:0;pointer-events:none;background:repeating-linear-gradient(0deg,rgba(255,255,255,.03) 0 2px,transparent 2px 6px),linear-gradient(90deg,rgba(255,80,122,.05) 0 15%,transparent 15% 34%,rgba(82,243,255,.05) 34% 52%,transparent 52% 72%,rgba(255,130,220,.05) 72% 86%,transparent 86%);mix-blend-mode:screen;opacity:.55}
body.fan-app-theme-vhsglitch.fan-app-theme-animated:before{content:'';position:fixed;left:-6%;right:-6%;top:28%;height:12%;z-index:0;pointer-events:none;background:linear-gradient(90deg,transparent 0 12%,rgba(255,92,130,.16) 12% 28%,rgba(98,242,255,.13) 28% 55%,rgba(255,145,220,.14) 55% 70%,transparent 70%);filter:blur(10px);opacity:.38;animation:fanPassVhsGlitch 6s steps(1,end) infinite}
body.fan-app-theme-aurora.fan-app-theme-animated:after{content:'';position:fixed;inset:-8% -12% 40% -12%;z-index:0;pointer-events:none;background:radial-gradient(ellipse at 15% 100%,rgba(64,255,154,.22) 0 28%,transparent 29%),radial-gradient(ellipse at 44% 18%,rgba(108,255,202,.14) 0 18%,transparent 19%),radial-gradient(ellipse at 78% 8%,rgba(144,116,255,.16) 0 22%,transparent 23%);filter:blur(22px);animation:fanPassAuroraSky 9s ease-in-out infinite alternate}
body.fan-app-theme-lasergrid.fan-app-theme-animated:after,body.fan-app-theme-graffiti.fan-app-theme-animated:after,body.fan-app-theme-doodle.fan-app-theme-animated:after,body.fan-app-theme-sunsetserve.fan-app-theme-animated:after,body.fan-app-theme-electricblue.fan-app-theme-animated:after,body.fan-app-theme-stickergalaxy.fan-app-theme-animated:after,body.fan-app-theme-waverider.fan-app-theme-animated:after{content:'';position:fixed;inset:0;z-index:0;pointer-events:none;opacity:.14}
body.fan-app-theme-lasergrid.fan-app-theme-animated:after{background:linear-gradient(108deg,transparent 42%,rgba(100,247,255,.16) 50%,transparent 58%);animation:fanPassLaserSweep 8s linear infinite}
body.fan-app-theme-graffiti.fan-app-theme-animated:after{background:radial-gradient(circle at 10% 74%,rgba(255,215,91,.22) 0 2px,transparent 3px),radial-gradient(circle at 82% 24%,rgba(83,232,255,.2) 0 2px,transparent 3px),linear-gradient(22deg,transparent 42%,rgba(255,115,166,.12) 43% 47%,transparent 48%),linear-gradient(-15deg,transparent 58%,rgba(83,232,255,.12) 59% 63%,transparent 64%);animation:fanPassGraffitiDrift 10s ease-in-out infinite alternate}
body.fan-app-theme-doodle.fan-app-theme-animated:after{background:radial-gradient(circle at 24% 28%,rgba(255,255,255,.12) 0 2px,transparent 3px),radial-gradient(circle at 70% 62%,rgba(255,255,255,.10) 0 2px,transparent 3px);animation:fanPassDoodleFloat 8s ease-in-out infinite alternate}
body.fan-app-theme-sunsetserve.fan-app-theme-animated:after{background:radial-gradient(circle at 84% 76%,rgba(255,176,108,.24) 0 11%,transparent 12%);animation:fanPassSunsetPulse 7s ease-in-out infinite}
body.fan-app-theme-electricblue.fan-app-theme-animated:after{background:linear-gradient(125deg,transparent 0 28%,rgba(84,245,255,.12) 29% 31%,transparent 32% 61%,rgba(84,109,255,.1) 62% 64%,transparent 65% 100%);animation:fanPassElectricFlash 5.4s ease-in-out infinite}
body.fan-app-theme-stickergalaxy.fan-app-theme-animated:after{background:radial-gradient(circle at 16% 22%,rgba(255,255,255,.75) 0 1px,transparent 2px),radial-gradient(circle at 74% 30%,rgba(255,221,114,.64) 0 1px,transparent 2px),radial-gradient(circle at 68% 80%,rgba(169,137,255,.62) 0 1px,transparent 2px);animation:fanPassGalaxyTwinkle 4.2s ease-in-out infinite alternate}
body.fan-app-theme-waverider.fan-app-theme-animated:after{background:radial-gradient(ellipse at 50% 100%,rgba(69,208,255,.14) 0 26%,transparent 27%),radial-gradient(ellipse at 18% 100%,rgba(111,111,255,.10) 0 22%,transparent 23%),radial-gradient(ellipse at 78% 100%,rgba(69,208,255,.09) 0 19%,transparent 20%);animation:fanPassWaveRoll 7.2s ease-in-out infinite alternate}

@keyframes fanPassVhsGlitch{0%,14%,100%{transform:translate3d(0,0,0);opacity:.28}15%{transform:translate3d(2%,4%,0);opacity:.5}16%{transform:translate3d(-1%,-2%,0);opacity:.34}48%{transform:translate3d(0,10%,0);opacity:.42}49%{transform:translate3d(3%,-4%,0);opacity:.52}50%{transform:translate3d(-2%,2%,0);opacity:.35}82%{transform:translate3d(0,16%,0);opacity:.4}83%{transform:translate3d(-3%,-3%,0);opacity:.48}}
@keyframes fanPassAuroraSky{0%{transform:translate3d(-2%,0,0) scale(1);opacity:.62}50%{transform:translate3d(2%,2%,0) scale(1.04);opacity:.82}100%{transform:translate3d(4%,-2%,0) scale(1.02);opacity:.68}}
@keyframes fanPassAuroraRibbon{0%,100%{transform:translateX(-3%) skewX(-10deg);opacity:.55}50%{transform:translateX(3%) skewX(-5deg);opacity:.84}}
@keyframes fanPassLaserSweep{0%{transform:translateX(-24%) rotate(6deg)}100%{transform:translateX(24%) rotate(6deg)}}
@keyframes fanPassGraffitiDrift{0%{transform:translate3d(-1%,0,0) rotate(-2deg)}100%{transform:translate3d(2%,2%,0) rotate(2deg)}}
@keyframes fanPassDoodleFloat{0%{transform:translate3d(0,0,0) rotate(-8deg)}100%{transform:translate3d(4px,-6px,0) rotate(-3deg)}}
@keyframes fanPassSunsetPulse{0%,100%{transform:scale(.96);opacity:.62}50%{transform:scale(1.04);opacity:.9}}
@keyframes fanPassElectricFlash{0%,46%,100%{opacity:.08}48%{opacity:.4}50%{opacity:.16}52%{opacity:.32}54%{opacity:.1}}
@keyframes fanPassGalaxyTwinkle{0%,100%{opacity:.42}50%{opacity:.82}}
@keyframes fanPassWaveRoll{0%{transform:translateX(-2%) translateY(0)}100%{transform:translateX(2%) translateY(-4%)}}

@media(prefers-reduced-motion:reduce){.fan-pass-holder.fan-pass-theme-vhsglitch:after,.fan-pass-fullscreen-card.fan-pass-theme-vhsglitch:after,.fan-pass-holder.fan-pass-theme-aurora:before,.fan-pass-holder.fan-pass-theme-aurora:after,.fan-pass-fullscreen-card.fan-pass-theme-aurora:before,.fan-pass-fullscreen-card.fan-pass-theme-aurora:after,.fan-pass-holder.fan-pass-theme-lasergrid:after,.fan-pass-fullscreen-card.fan-pass-theme-lasergrid:after,.fan-pass-holder.fan-pass-theme-graffiti:before,.fan-pass-fullscreen-card.fan-pass-theme-graffiti:before,.fan-pass-holder.fan-pass-theme-doodle:after,.fan-pass-fullscreen-card.fan-pass-theme-doodle:after,.fan-pass-holder.fan-pass-theme-sunsetserve:before,.fan-pass-fullscreen-card.fan-pass-theme-sunsetserve:before,.fan-pass-holder.fan-pass-theme-electricblue:after,.fan-pass-fullscreen-card.fan-pass-theme-electricblue:after,.fan-pass-holder.fan-pass-theme-stickergalaxy:before,.fan-pass-fullscreen-card.fan-pass-theme-stickergalaxy:before,.fan-pass-holder.fan-pass-theme-waverider:after,.fan-pass-fullscreen-card.fan-pass-theme-waverider:after,body.fan-app-theme-vhsglitch.fan-app-theme-animated:before,body.fan-app-theme-vhsglitch.fan-app-theme-animated:after,body.fan-app-theme-aurora.fan-app-theme-animated:after,body.fan-app-theme-lasergrid.fan-app-theme-animated:after,body.fan-app-theme-graffiti.fan-app-theme-animated:after,body.fan-app-theme-doodle.fan-app-theme-animated:after,body.fan-app-theme-sunsetserve.fan-app-theme-animated:after,body.fan-app-theme-electricblue.fan-app-theme-animated:after,body.fan-app-theme-stickergalaxy.fan-app-theme-animated:after,body.fan-app-theme-waverider.fan-app-theme-animated:after{animation:none!important}}

/* 2.20.6 · Fan-Pass-Designs tragen sich stärker durch die ganze App */
body.fan-app-theme-enabled{background:linear-gradient(180deg,color-mix(in srgb,var(--bg) 97%,black 3%),var(--bg))!important}
body.fan-app-theme-enabled .app-shell{position:relative;isolation:isolate;z-index:1}
body.fan-app-theme-enabled .app-shell>*:not(.app-nav){position:relative;z-index:1}
body.fan-app-theme-enabled .app-nav{position:fixed!important;z-index:40!important;bottom:0;left:50%;transform:translateX(-50%)}
body.fan-app-theme-enabled .app-shell::after{content:'';position:fixed;inset:0;z-index:0;pointer-events:none;opacity:.92;background:var(--theme-app-overlay,radial-gradient(circle at 15% 8%,color-mix(in srgb,var(--accent) 10%,transparent) 0 10%,transparent 38%),radial-gradient(circle at 86% 20%,color-mix(in srgb,var(--accent) 8%,transparent) 0 12%,transparent 34%),linear-gradient(180deg,color-mix(in srgb,var(--bg) 94%,transparent),color-mix(in srgb,var(--bg) 100%,transparent)))}
body.fan-app-theme-enabled .app-header{background:linear-gradient(180deg,color-mix(in srgb,var(--surface) 35%,transparent),transparent)!important}
body.fan-app-theme-enabled .app-nav{backdrop-filter:blur(14px)}
body.fan-app-theme-enabled .hero,
body.fan-app-theme-enabled .matchday-hero,
body.fan-app-theme-enabled .match-detail-hero,
body.fan-app-theme-enabled .team-detail-hero,
body.fan-app-theme-enabled .opponent-hero,
body.fan-app-theme-enabled .tournament-hero,
body.fan-app-theme-enabled .startup-hero{box-shadow:0 22px 56px color-mix(in srgb,var(--bg) 54%,transparent),0 0 0 1px color-mix(in srgb,var(--accent) 9%,transparent)!important}
body.fan-app-theme-enabled .content-card,
body.fan-app-theme-enabled .team-card,
body.fan-app-theme-enabled .news-card,
body.fan-app-theme-enabled .match-card,
body.fan-app-theme-enabled .matchcenter-card,
body.fan-app-theme-enabled .training-card,
body.fan-app-theme-enabled .roster-person-card,
body.fan-app-theme-enabled .roster-profile,
body.fan-app-theme-enabled .venue-card,
body.fan-app-theme-enabled .venue-detail,
body.fan-app-theme-enabled .channel-card,
body.fan-app-theme-enabled .agenda-item,
body.fan-app-theme-enabled .quick-card,
body.fan-app-theme-enabled .history-card,
body.fan-app-theme-enabled .opponent-table-card,
body.fan-app-theme-enabled .tournament-registration,
body.fan-app-theme-enabled .integration-card,
body.fan-app-theme-enabled .favorite-card,
body.fan-app-theme-enabled .today-card,
body.fan-app-theme-enabled .matchday-summary-card,
body.fan-app-theme-enabled .season-ticket-card,
body.fan-app-theme-enabled .search-result-card,
body.fan-app-theme-enabled .mvp-card,
body.fan-app-theme-enabled .contact-card,
body.fan-app-theme-enabled .ticker-source-card,
body.fan-app-theme-enabled .ticker-fallback-card,
body.fan-app-theme-enabled .personal-mini-card,
body.fan-app-theme-enabled .android-update-card,
body.fan-app-theme-enabled .push-onboard-panel,
body.fan-app-theme-enabled .ios-install-panel,
body.fan-app-theme-enabled .livestream-card{backdrop-filter:blur(10px);box-shadow:0 14px 36px color-mix(in srgb,var(--bg) 52%,transparent),0 0 0 1px color-mix(in srgb,var(--accent) 6%,transparent)!important}

body.fan-app-theme-enabled.fan-app-theme-animated .more-card,
body.fan-app-theme-enabled.fan-app-theme-animated .list-link,
body.fan-app-theme-enabled.fan-app-theme-animated .favorite-card,
body.fan-app-theme-enabled.fan-app-theme-animated .today-card,
body.fan-app-theme-enabled.fan-app-theme-animated .matchcenter-card,
body.fan-app-theme-enabled.fan-app-theme-animated .season-ticket-card,
body.fan-app-theme-enabled.fan-app-theme-animated .search-result-card,
body.fan-app-theme-enabled.fan-app-theme-animated .venue-card,
body.fan-app-theme-enabled.fan-app-theme-animated .contact-card,
body.fan-app-theme-enabled.fan-app-theme-animated .livestream-card{position:relative;isolation:isolate;overflow:hidden}
body.fan-app-theme-enabled.fan-app-theme-animated .more-card:before,
body.fan-app-theme-enabled.fan-app-theme-animated .list-link:before,
body.fan-app-theme-enabled.fan-app-theme-animated .favorite-card:before,
body.fan-app-theme-enabled.fan-app-theme-animated .today-card:before,
body.fan-app-theme-enabled.fan-app-theme-animated .matchcenter-card:before,
body.fan-app-theme-enabled.fan-app-theme-animated .season-ticket-card:before,
body.fan-app-theme-enabled.fan-app-theme-animated .search-result-card:before,
body.fan-app-theme-enabled.fan-app-theme-animated .venue-card:before,
body.fan-app-theme-enabled.fan-app-theme-animated .contact-card:before,
body.fan-app-theme-enabled.fan-app-theme-animated .livestream-card:before{content:'';position:absolute;z-index:0;inset:-35%;pointer-events:none;background:linear-gradient(115deg,transparent 38%,color-mix(in srgb,var(--accent) 10%,transparent) 50%,transparent 62%);animation:fanAppCardSweep 8s ease-in-out infinite}
body.fan-app-theme-enabled.fan-app-theme-animated .more-card>*,
body.fan-app-theme-enabled.fan-app-theme-animated .list-link>*,
body.fan-app-theme-enabled.fan-app-theme-animated .favorite-card>*,
body.fan-app-theme-enabled.fan-app-theme-animated .today-card>*,
body.fan-app-theme-enabled.fan-app-theme-animated .matchcenter-card>*,
body.fan-app-theme-enabled.fan-app-theme-animated .season-ticket-card>*,
body.fan-app-theme-enabled.fan-app-theme-animated .search-result-card>*,
body.fan-app-theme-enabled.fan-app-theme-animated .venue-card>*,
body.fan-app-theme-enabled.fan-app-theme-animated .contact-card>*,
body.fan-app-theme-enabled.fan-app-theme-animated .livestream-card>*{position:relative;z-index:1}

body.fan-app-theme-vhsglitch{--theme-app-overlay:repeating-linear-gradient(0deg,rgba(255,255,255,.035) 0 2px,transparent 2px 6px),linear-gradient(90deg,rgba(255,77,124,.08) 0 14%,transparent 14% 31%,rgba(78,242,255,.07) 31% 46%,transparent 46% 62%,rgba(255,126,214,.08) 62% 78%,transparent 78%),linear-gradient(180deg,rgba(0,0,0,.08),transparent 18%,rgba(255,255,255,.02) 18% 20%,transparent 20% 100%),linear-gradient(180deg,#160d24,#241337 44%,#0c3749)}
body.fan-app-theme-aurora{--theme-app-overlay:radial-gradient(ellipse at 15% 100%,rgba(64,255,154,.2) 0 28%,transparent 29%),radial-gradient(ellipse at 44% 18%,rgba(108,255,202,.14) 0 18%,transparent 19%),radial-gradient(ellipse at 78% 8%,rgba(144,116,255,.16) 0 22%,transparent 23%),linear-gradient(180deg,rgba(15,49,47,.16),transparent 40%),linear-gradient(180deg,#061520,#0b2730 45%,#111334)}
body.fan-app-theme-lasergrid{--theme-app-overlay:linear-gradient(rgba(100,247,255,.06) 1px,transparent 1px),linear-gradient(90deg,rgba(123,124,255,.05) 1px,transparent 1px),linear-gradient(180deg,transparent,rgba(100,247,255,.05));background-size:18px 18px,18px 18px,auto}
body.fan-app-theme-graffiti{--theme-app-overlay:radial-gradient(circle at 8% 72%,rgba(255,215,91,.16) 0 2px,transparent 3px),radial-gradient(circle at 82% 22%,rgba(83,232,255,.14) 0 2px,transparent 3px),linear-gradient(26deg,transparent 40%,rgba(255,110,171,.08) 41% 46%,transparent 47%),linear-gradient(-18deg,transparent 56%,rgba(83,232,255,.08) 57% 61%,transparent 62%),linear-gradient(180deg,#17172a,#202f4b 54%,#351b44)}
body.fan-app-theme-doodle{--theme-app-overlay:radial-gradient(circle at 22% 28%,rgba(255,255,255,.08) 0 2px,transparent 3px),radial-gradient(circle at 72% 62%,rgba(255,255,255,.07) 0 2px,transparent 3px),repeating-linear-gradient(12deg,transparent 0 22px,rgba(255,255,255,.02) 23px 24px),linear-gradient(180deg,#10161c,#1d2a31 60%,#101922)}
body.fan-app-theme-sunsetserve{--theme-app-overlay:radial-gradient(circle at 82% 74%,rgba(255,176,108,.18) 0 12%,transparent 13%),linear-gradient(180deg,transparent 0 42%,rgba(255,154,102,.08) 42% 47%,transparent 47%),linear-gradient(180deg,#1b1728,#3d2a44 45%,#123e65 82%,#0b2337)}
body.fan-app-theme-electricblue{--theme-app-overlay:linear-gradient(125deg,transparent 0 28%,rgba(84,245,255,.09) 29% 31%,transparent 32% 61%,rgba(84,109,255,.08) 62% 64%,transparent 65% 100%),linear-gradient(180deg,#05162c,#0b2950 52%,#091525)}
body.fan-app-theme-stickergalaxy{--theme-app-overlay:radial-gradient(circle at 16% 22%,rgba(255,255,255,.75) 0 1px,transparent 2px),radial-gradient(circle at 74% 30%,rgba(255,221,114,.64) 0 1px,transparent 2px),radial-gradient(circle at 68% 80%,rgba(169,137,255,.62) 0 1px,transparent 2px),linear-gradient(24deg,transparent 43%,rgba(255,95,166,.08) 44% 48%,transparent 49%),linear-gradient(180deg,#0b0a22,#211446 52%,#07182e)}
body.fan-app-theme-waverider{--theme-app-overlay:radial-gradient(ellipse at 50% 100%,rgba(69,208,255,.14) 0 26%,transparent 27%),radial-gradient(ellipse at 18% 100%,rgba(111,111,255,.10) 0 22%,transparent 23%),radial-gradient(ellipse at 78% 100%,rgba(69,208,255,.09) 0 19%,transparent 20%),linear-gradient(180deg,#07182a,#0c3155 58%,#081725)}
body.fan-app-theme-plasma{--theme-app-overlay:radial-gradient(circle at 72% 30%,rgba(221,108,255,.18) 0 18%,transparent 19%),radial-gradient(circle at 18% 78%,rgba(84,239,255,.18) 0 24%,transparent 25%),linear-gradient(180deg,#150a2a,#2a1442 46%,#0b2f45)}
body.fan-app-theme-plasma .app-shell::after{transform-origin:center center;animation:fanPassPlasmaPulse 5.5s ease-in-out infinite}

/* 2.20.9 · nächste Design-Welle: jeder Look bekommt mehr eigene Persönlichkeit */
body.fan-app-theme-candycourt{--theme-app-overlay:radial-gradient(circle at 15% 18%,rgba(255,145,221,.19) 0 7%,transparent 8%),radial-gradient(circle at 84% 72%,rgba(139,246,255,.18) 0 10%,transparent 11%),radial-gradient(circle at 58% 44%,rgba(255,235,116,.10) 0 5%,transparent 6%),linear-gradient(180deg,#28122d,#512a5f 50%,#163e68)}
body.fan-app-theme-candycourt .app-shell::after{animation:fanCandyFloat 8s ease-in-out infinite alternate}

body.fan-app-theme-arcadecourt{--theme-app-overlay:linear-gradient(90deg,rgba(126,255,144,.07) 1px,transparent 1px),linear-gradient(rgba(103,231,255,.07) 1px,transparent 1px),linear-gradient(180deg,rgba(126,255,144,.05),transparent 38%,rgba(103,231,255,.06)),linear-gradient(180deg,#0c102c,#23224f 52%,#082737)}
body.fan-app-theme-arcadecourt .app-shell::after{background-size:22px 22px,22px 22px,auto,auto;animation:fanArcadeScroll 7s linear infinite}

body.fan-app-theme-bubblegum{--theme-app-overlay:radial-gradient(circle at 15% 18%,rgba(255,143,202,.20) 0 6%,transparent 7%),radial-gradient(circle at 74% 30%,rgba(120,233,255,.17) 0 9%,transparent 10%),radial-gradient(circle at 56% 84%,rgba(249,255,133,.13) 0 6%,transparent 7%),linear-gradient(180deg,#28152f,#593666 52%,#174a74)}
body.fan-app-theme-bubblegum .app-shell::after{animation:fanBubblegumFloat 7.5s ease-in-out infinite alternate}

body.fan-app-theme-blueprint{--theme-app-overlay:linear-gradient(rgba(183,233,255,.08) 1px,transparent 1px),linear-gradient(90deg,rgba(183,233,255,.08) 1px,transparent 1px),linear-gradient(rgba(183,233,255,.025) 1px,transparent 1px),linear-gradient(90deg,rgba(183,233,255,.025) 1px,transparent 1px),linear-gradient(180deg,#07233a,#164663 60%,#08243b)}
body.fan-app-theme-blueprint .app-shell::after{background-size:32px 32px,32px 32px,8px 8px,8px 8px,auto;animation:fanBlueprintPan 12s linear infinite}

body.fan-app-theme-hologram{--theme-app-overlay:conic-gradient(from 0deg at 68% 25%,rgba(116,239,255,.16),rgba(249,158,231,.16),rgba(255,232,142,.13),rgba(137,255,205,.12),rgba(116,239,255,.16)),linear-gradient(180deg,#131633,#30335c 56%,#0a2138)}
body.fan-app-theme-hologram .app-shell::after{background-size:180% 180%,auto;animation:fanHologramFlow 9s ease-in-out infinite alternate;mix-blend-mode:screen}

body.fan-app-theme-vaporwave{--theme-app-overlay:radial-gradient(circle at 72% 25%,rgba(255,112,190,.18) 0 9%,transparent 10%),linear-gradient(0deg,rgba(255,127,186,.08) 0 2px,transparent 2px 26px),linear-gradient(90deg,rgba(124,239,255,.06) 0 2px,transparent 2px 26px),linear-gradient(180deg,#24152d,#4b1d63 48%,#0e4162)}
body.fan-app-theme-vaporwave .app-shell::after{background-size:auto,26px 26px,26px 26px,auto;animation:fanVaporGrid 10s linear infinite}

body.fan-app-theme-frozenpixel{--theme-app-overlay:linear-gradient(90deg,rgba(255,255,255,.07) 25%,transparent 25% 75%,rgba(255,255,255,.07) 75%) 0 0/20px 20px,linear-gradient(0deg,rgba(120,207,255,.04) 25%,transparent 25% 75%,rgba(120,207,255,.04) 75%) 0 0/20px 20px,radial-gradient(circle at 72% 18%,rgba(216,248,255,.18),transparent 25%),linear-gradient(180deg,#122b3a,#31566b 58%,#0a2437)}
body.fan-app-theme-frozenpixel .app-shell::after{animation:fanFrozenShimmer 8s ease-in-out infinite alternate}

body.fan-app-theme-comicnoir{--theme-app-overlay:radial-gradient(circle,rgba(255,255,255,.07) 0 1px,transparent 1.5px) 0 0/9px 9px,linear-gradient(118deg,transparent 0 61%,rgba(255,93,122,.10) 62% 66%,transparent 67%),linear-gradient(180deg,#080808,#242424 55%,#080808)}
body.fan-app-theme-comicnoir .app-shell::after{animation:fanNoirPunch 7s steps(1,end) infinite}

body.fan-app-theme-cyberstorm{--theme-app-overlay:linear-gradient(120deg,transparent 0 32%,rgba(101,239,255,.12) 33% 35%,transparent 36% 54%,rgba(142,117,255,.11) 55% 57%,transparent 58%),radial-gradient(circle at 80% 14%,rgba(101,239,255,.12),transparent 20%),linear-gradient(180deg,#070d26,#1a2749 52%,#061c2c)}
body.fan-app-theme-cyberstorm .app-shell::after{animation:fanCyberLightning 6.2s steps(1,end) infinite}

body.fan-app-theme-liquidchrome{--theme-app-overlay:linear-gradient(125deg,rgba(255,255,255,.04) 0 22%,rgba(232,244,255,.18) 34%,rgba(79,126,154,.08) 45%,rgba(255,255,255,.16) 52%,rgba(30,65,85,.08) 66%,transparent 77%),linear-gradient(180deg,#101820,#334452 52%,#132534)}
body.fan-app-theme-liquidchrome .app-shell::after{background-size:220% 100%,auto;animation:fanChromeSweep 7.5s ease-in-out infinite}

body.fan-app-theme-cosmicgold{--theme-app-overlay:radial-gradient(circle at 16% 20%,rgba(255,255,255,.8) 0 1px,transparent 2px),radial-gradient(circle at 77% 34%,rgba(255,224,113,.75) 0 1.2px,transparent 2px),radial-gradient(circle at 68% 78%,rgba(255,202,79,.20),transparent 24%),radial-gradient(circle at 42% 57%,rgba(184,233,255,.45) 0 1px,transparent 2px),linear-gradient(180deg,#0d1020,#2d2510 56%,#08182c)}
body.fan-app-theme-cosmicgold .app-shell::after{animation:fanCosmicTwinkle 4.5s ease-in-out infinite alternate}

body.fan-app-theme-phantomchrome{--theme-app-overlay:radial-gradient(ellipse at 78% 10%,rgba(220,245,255,.16),transparent 26%),linear-gradient(130deg,rgba(220,245,255,.04),rgba(181,163,255,.09) 38%,rgba(220,245,255,.15) 50%,rgba(35,53,68,.02) 62%),linear-gradient(180deg,#0f151c,#35404a 50%,#0d1620)}
body.fan-app-theme-phantomchrome .app-shell::after{background-size:auto,220% 100%,auto;animation:fanPhantomDrift 9s ease-in-out infinite alternate}

body.fan-app-theme-chaoscrown{--theme-app-overlay:conic-gradient(from 0deg at 76% 24%,rgba(255,231,93,.18),rgba(255,101,199,.16),rgba(91,234,255,.14),rgba(255,231,93,.18)),radial-gradient(circle at 24% 82%,rgba(255,101,199,.10),transparent 22%),linear-gradient(180deg,#1b0c20,#472151 55%,#0a2841)}
body.fan-app-theme-chaoscrown .app-shell::after{background-size:180% 180%,auto,auto;animation:fanChaosOrbit 8s ease-in-out infinite alternate}

body.fan-app-theme-disco{--theme-app-overlay:conic-gradient(from 0deg at 78% 22%,rgba(255,112,228,.15),rgba(103,237,255,.14),rgba(255,224,98,.13),rgba(255,112,228,.15)),linear-gradient(180deg,#140d2d,#24164d 52%,#0d1f3d)}
body.fan-app-theme-disco .app-shell::after{background-size:170% 170%,auto;animation:fanDiscoSpin 7s linear infinite}

body.fan-app-theme-galaxy{--theme-app-overlay:radial-gradient(circle at 22% 26%,rgba(255,255,255,.75) 0 1px,transparent 2px),radial-gradient(circle at 76% 37%,rgba(255,255,255,.5) 0 1px,transparent 2px),radial-gradient(circle at 66% 78%,rgba(124,245,255,.16),transparent 24%),radial-gradient(circle at 22% 88%,rgba(188,130,255,.14),transparent 23%),linear-gradient(180deg,#100822,#24104c 52%,#07152b)}
body.fan-app-theme-galaxy .app-shell::after{animation:fanGalaxyDrift 10s ease-in-out infinite alternate}

/* die Karten übernehmen je nach Thema ein kleines Stück des Charakters */
body.fan-app-theme-hologram .content-card,body.fan-app-theme-hologram .team-card,body.fan-app-theme-hologram .news-card{box-shadow:0 14px 36px rgba(0,0,0,.2),0 0 24px rgba(159,252,255,.05)!important}
body.fan-app-theme-cyberstorm .content-card,body.fan-app-theme-cyberstorm .match-card{box-shadow:0 14px 36px rgba(0,0,0,.22),0 0 26px rgba(101,239,255,.06)!important}
body.fan-app-theme-cosmicgold .content-card,body.fan-app-theme-cosmicgold .match-card{box-shadow:0 14px 36px rgba(0,0,0,.24),0 0 28px rgba(255,224,113,.065)!important}
body.fan-app-theme-liquidchrome .content-card,body.fan-app-theme-phantomchrome .content-card{border-color:color-mix(in srgb,var(--accent) 18%,var(--theme-border))!important}

@keyframes fanCandyFloat{0%{transform:translate3d(-1%,1%,0) scale(1)}100%{transform:translate3d(2%,-2%,0) scale(1.035)}}
@keyframes fanArcadeScroll{from{background-position:0 0,0 0,0 0,0 0}to{background-position:44px 0,0 44px,0 0,0 0}}
@keyframes fanBubblegumFloat{0%{transform:translate3d(-1%,2%,0) scale(1)}100%{transform:translate3d(2%,-2%,0) scale(1.04)}}
@keyframes fanBlueprintPan{from{background-position:0 0,0 0,0 0,0 0,0 0}to{background-position:32px 32px,32px 32px,8px 8px,8px 8px,0 0}}
@keyframes fanHologramFlow{0%{background-position:0% 30%,0 0;filter:hue-rotate(0deg) saturate(1)}100%{background-position:100% 70%,0 0;filter:hue-rotate(24deg) saturate(1.2)}}
@keyframes fanVaporGrid{from{background-position:0 0,0 0,0 0,0 0}to{background-position:0 0,0 52px,52px 0,0 0}}
@keyframes fanFrozenShimmer{0%{filter:brightness(.98) saturate(1);background-position:0 0,0 0,70% 18%,0 0}100%{filter:brightness(1.08) saturate(1.12);background-position:20px 0,0 20px,58% 24%,0 0}}
@keyframes fanNoirPunch{0%,18%,100%{filter:contrast(1);opacity:.9}19%{filter:contrast(1.18);opacity:1}20%{filter:contrast(.96);opacity:.86}62%{filter:contrast(1.12);opacity:1}63%{filter:contrast(1);opacity:.9}}
@keyframes fanCyberLightning{0%,27%,100%{filter:brightness(1);opacity:.84}28%{filter:brightness(1.28);opacity:1}29%{filter:brightness(.98);opacity:.82}31%{filter:brightness(1.17);opacity:1}32%{filter:brightness(1);opacity:.84}74%{filter:brightness(1.2);opacity:1}75%{filter:brightness(1);opacity:.84}}
@keyframes fanChromeSweep{0%,100%{background-position:0% 0,0 0}50%{background-position:100% 0,0 0}}
@keyframes fanCosmicTwinkle{0%{opacity:.72;filter:brightness(.98)}100%{opacity:1;filter:brightness(1.1)}}
@keyframes fanPhantomDrift{0%{background-position:78% 10%,0% 0,0 0;opacity:.72}100%{background-position:64% 18%,100% 0,0 0;opacity:.96}}
@keyframes fanChaosOrbit{0%{background-position:0% 20%,0 0,0 0;filter:hue-rotate(0deg)}100%{background-position:100% 80%,0 0,0 0;filter:hue-rotate(18deg)}}
@keyframes fanDiscoSpin{0%{background-position:0% 20%,0 0;filter:hue-rotate(0deg)}100%{background-position:100% 80%,0 0;filter:hue-rotate(45deg)}}
@keyframes fanGalaxyDrift{0%{transform:translate3d(-1%,0,0) scale(1);opacity:.72}100%{transform:translate3d(1.5%,-1%,0) scale(1.025);opacity:1}}
body.fan-app-theme-enabled.fan-app-theme-animated.fan-app-theme-plasma .hero:before,body.fan-app-theme-enabled.fan-app-theme-animated.fan-app-theme-plasma .content-card:before,body.fan-app-theme-enabled.fan-app-theme-animated.fan-app-theme-plasma .match-card:before,body.fan-app-theme-enabled.fan-app-theme-animated.fan-app-theme-plasma .training-card:before,body.fan-app-theme-enabled.fan-app-theme-animated.fan-app-theme-plasma .team-card:before,body.fan-app-theme-enabled.fan-app-theme-animated.fan-app-theme-plasma .news-card:before,body.fan-app-theme-enabled.fan-app-theme-animated.fan-app-theme-plasma .more-card:before,body.fan-app-theme-enabled.fan-app-theme-animated.fan-app-theme-plasma .list-link:before,body.fan-app-theme-enabled.fan-app-theme-animated.fan-app-theme-plasma .favorite-card:before,body.fan-app-theme-enabled.fan-app-theme-animated.fan-app-theme-plasma .today-card:before,body.fan-app-theme-enabled.fan-app-theme-animated.fan-app-theme-plasma .matchcenter-card:before,body.fan-app-theme-enabled.fan-app-theme-animated.fan-app-theme-plasma .season-ticket-card:before,body.fan-app-theme-enabled.fan-app-theme-animated.fan-app-theme-plasma .search-result-card:before,body.fan-app-theme-enabled.fan-app-theme-animated.fan-app-theme-plasma .venue-card:before,body.fan-app-theme-enabled.fan-app-theme-animated.fan-app-theme-plasma .contact-card:before,body.fan-app-theme-enabled.fan-app-theme-animated.fan-app-theme-plasma .livestream-card:before{background:radial-gradient(circle at 72% 30%,rgba(221,108,255,.12) 0 14%,transparent 15%),radial-gradient(circle at 18% 78%,rgba(84,239,255,.11) 0 18%,transparent 19%),linear-gradient(115deg,transparent 38%,rgba(143,145,255,.08) 50%,transparent 62%);animation:fanPassPlasmaPulse 5s ease-in-out infinite}
.fan-pass-holder.fan-pass-theme-plasma,.fan-pass-fullscreen-card.fan-pass-theme-plasma{position:relative;isolation:isolate;overflow:hidden}
.fan-pass-holder.fan-pass-theme-plasma>*,.fan-pass-fullscreen-card.fan-pass-theme-plasma>*{position:relative;z-index:2}
.fan-pass-holder.fan-pass-theme-plasma::before,.fan-pass-fullscreen-card.fan-pass-theme-plasma::before{content:'';position:absolute;inset:-8%;z-index:1;pointer-events:none;background:radial-gradient(circle at 72% 30%,rgba(221,108,255,.28) 0 18%,transparent 19%),radial-gradient(circle at 18% 78%,rgba(84,239,255,.24) 0 24%,transparent 25%),linear-gradient(145deg,rgba(53,20,94,.14),rgba(12,56,76,.1));filter:blur(4px);animation:fanPassPlasmaPulse 4.8s ease-in-out infinite}
@keyframes fanPassPlasmaPulse{0%,100%{transform:scale(1);opacity:.72;filter:saturate(1) brightness(1)}50%{transform:scale(1.035);opacity:1;filter:saturate(1.22) brightness(1.08)}}
body.fan-app-theme-lasergrid .app-shell::after{background-size:18px 18px,18px 18px,auto}

@media(prefers-reduced-motion:reduce){body.fan-app-theme-enabled .app-shell::after,body.fan-app-theme-enabled.fan-app-theme-animated .more-card:before,body.fan-app-theme-enabled.fan-app-theme-animated .list-link:before,body.fan-app-theme-enabled.fan-app-theme-animated .favorite-card:before,body.fan-app-theme-enabled.fan-app-theme-animated .today-card:before,body.fan-app-theme-enabled.fan-app-theme-animated .matchcenter-card:before,body.fan-app-theme-enabled.fan-app-theme-animated .season-ticket-card:before,body.fan-app-theme-enabled.fan-app-theme-animated .search-result-card:before,body.fan-app-theme-enabled.fan-app-theme-animated .venue-card:before,body.fan-app-theme-enabled.fan-app-theme-animated .contact-card:before,body.fan-app-theme-enabled.fan-app-theme-animated .livestream-card:before,.fan-pass-holder.fan-pass-theme-plasma::before,.fan-pass-fullscreen-card.fan-pass-theme-plasma::before{animation:none!important}}



/* 2.18.1 · Fan-Pass FAQ */
/* 2.18.0 · Jetzt entdecken */
.discover-home{min-width:0}.discover-surprise{white-space:nowrap}.discover-grid{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(250px,82%);gap:12px;overflow-x:auto;overscroll-behavior-inline:contain;scroll-snap-type:inline mandatory;padding:2px 2px 8px;scrollbar-width:thin}.discover-card{scroll-snap-align:start;display:grid;grid-template-columns:auto 1fr;gap:12px;min-height:164px;padding:18px;border:1px solid color-mix(in srgb,var(--accent) 24%,rgba(255,255,255,.12));border-radius:22px;background:linear-gradient(145deg,color-mix(in srgb,var(--accent) 10%,var(--surface)),var(--surface));color:inherit;text-decoration:none;box-shadow:0 12px 30px rgba(0,0,0,.12);position:relative;overflow:hidden}.discover-card::after{content:"";position:absolute;inset:auto -35px -55px auto;width:130px;height:130px;border-radius:999px;background:color-mix(in srgb,var(--accent) 12%,transparent);pointer-events:none}.discover-icon{display:grid;place-items:center;width:46px;height:46px;border-radius:15px;background:color-mix(in srgb,var(--accent) 18%,transparent);font-size:24px}.discover-copy{min-width:0}.discover-copy h3{margin:.18rem 0 .35rem}.discover-copy .muted{margin:.2rem 0 .65rem}.discover-open{display:inline-block;margin-top:.45rem;font-weight:800;color:var(--accent)}.discover-progress{display:grid;grid-template-columns:1fr auto;align-items:center;gap:9px;margin:.55rem 0 .15rem}.discover-progress-track{height:7px;border-radius:999px;background:rgba(255,255,255,.12);overflow:hidden}.discover-progress-track>span{display:block;height:100%;border-radius:inherit;background:var(--accent)}
@media (min-width:760px){.discover-grid{grid-auto-flow:initial;grid-template-columns:repeat(3,minmax(0,1fr));overflow:visible}.discover-card{min-height:176px}}

/* 2.19.0 · Lieblingsspieler, Shiny/Hologramm & reaktive Designs */
.roster-favorite-player.is-active{border-color:rgba(104,207,255,.55);box-shadow:0 0 0 1px rgba(104,207,255,.14),0 0 24px rgba(71,178,255,.1)}
.fan-pass-favorite-player-body{display:flex;align-items:center;gap:13px;min-height:56px}.fan-pass-favorite-avatar{width:58px;height:58px;flex:0 0 58px;border-radius:18px;object-fit:cover;border:1px solid color-mix(in srgb,var(--fp-accent,#7ccfff) 34%,transparent);background:rgba(255,255,255,.06)}.fan-pass-favorite-avatar.is-fallback{display:grid;place-items:center;font-weight:950;font-size:1.05rem}.fan-pass-favorite-copy{display:grid;gap:3px;min-width:0}.fan-pass-favorite-copy h3,.fan-pass-favorite-copy p{margin:0}
.fan-pass-finish-actions{display:flex;flex-wrap:wrap;gap:7px;margin-top:7px}.fan-pass-finish-actions .fan-pass-design-use{width:auto;flex:1 1 92px;min-width:0;margin-top:0}.fan-pass-finish-actions .is-current{border-color:var(--fp-accent,#7ccfff);box-shadow:0 0 0 1px color-mix(in srgb,var(--fp-accent,#7ccfff) 24%,transparent)}
.fan-pass-finish-actions .fan-pass-design-use.is-shiny{border-color:rgba(214,244,255,.5);background:linear-gradient(180deg,rgba(236,249,255,.18),rgba(153,211,235,.08));color:#f5fcff;box-shadow:inset 0 1px 0 rgba(255,255,255,.16)}
.fan-pass-finish-actions .fan-pass-design-use.is-holo{border-color:rgba(255,255,255,.48);background:linear-gradient(115deg,rgba(255,109,216,.16),rgba(86,224,255,.16),rgba(255,230,111,.16),rgba(130,109,255,.16));color:#fff;box-shadow:inset 0 1px 0 rgba(255,255,255,.16)}
.fan-pass-finish-actions .fan-pass-design-use.is-shiny.is-current{box-shadow:0 0 0 1px rgba(208,241,255,.32),0 0 24px rgba(170,231,255,.14),inset 0 1px 0 rgba(255,255,255,.22)}
.fan-pass-finish-actions .fan-pass-design-use.is-holo.is-current{box-shadow:0 0 0 1px rgba(255,255,255,.3),0 0 24px rgba(171,151,255,.16),inset 0 1px 0 rgba(255,255,255,.22)}
.fan-pass-finish-help{margin:2px 0 0;font-size:.72rem;line-height:1.35;opacity:.92}
.fan-pass-finish-help .tag{display:inline-flex;align-items:center;gap:4px;padding:2px 6px;border-radius:999px;font-weight:900;margin-right:6px}.fan-pass-finish-help .tag.is-shiny{background:rgba(218,246,255,.14);border:1px solid rgba(214,244,255,.36);color:#ecfbff}.fan-pass-finish-help .tag.is-holo{background:linear-gradient(115deg,rgba(255,109,216,.14),rgba(86,224,255,.14),rgba(255,230,111,.14));border:1px solid rgba(255,255,255,.32);color:#fff}
.fan-pass-finish-pill{position:absolute;left:9px;top:9px;z-index:3;display:inline-flex;align-items:center;min-height:22px;padding:3px 8px;border-radius:999px;font-size:.62rem;font-weight:950;letter-spacing:.06em;backdrop-filter:blur(6px)}.fan-pass-finish-pill.is-shiny{background:linear-gradient(180deg,rgba(245,252,255,.26),rgba(182,225,243,.14));border:1px solid rgba(234,249,255,.62);color:#f6fdff;box-shadow:0 0 16px rgba(170,231,255,.12)}.fan-pass-finish-pill.is-holo{background:linear-gradient(100deg,rgba(255,130,220,.28),rgba(100,225,255,.28),rgba(255,229,124,.24),rgba(145,115,255,.22));border:1px solid rgba(255,255,255,.58);color:#fff;box-shadow:0 0 18px rgba(180,145,255,.14)}.fan-pass-reaction-pill{display:inline-flex;align-items:center;align-self:flex-start;width:max-content;max-width:100%;padding:4px 8px;border-radius:999px;border:1px solid color-mix(in srgb,var(--fp-accent,#7ccfff) 30%,transparent);background:color-mix(in srgb,var(--fp-accent,#7ccfff) 8%,transparent);font-size:.68rem;font-weight:900}.fan-pass-finish-odds{opacity:.86}

.fan-pass-holder.fan-pass-finish-shiny,.fan-pass-fullscreen-card.fan-pass-finish-shiny{position:relative;isolation:isolate;box-shadow:0 0 0 1px rgba(225,247,255,.1),0 0 38px rgba(179,232,255,.08)}.fan-pass-holder.fan-pass-finish-shiny:after,.fan-pass-fullscreen-card.fan-pass-finish-shiny:after{content:'';position:absolute;z-index:20;inset:-50% -38%;pointer-events:none;background:linear-gradient(108deg,transparent 34%,rgba(255,255,255,.02) 40%,rgba(255,255,255,.14) 47%,rgba(198,242,255,.34) 50%,rgba(255,255,255,.18) 53%,rgba(255,255,255,.04) 60%,transparent 66%);transform:translateX(-44%) rotate(7deg);animation:fanPassShinySweep 5.8s ease-in-out infinite;mix-blend-mode:screen}.fan-pass-holder.fan-pass-finish-shiny>*{position:relative;z-index:1}
.fan-pass-holder.fan-pass-finish-holo,.fan-pass-fullscreen-card.fan-pass-finish-holo{position:relative;isolation:isolate;overflow:hidden;box-shadow:0 0 0 1px rgba(255,255,255,.08),0 0 42px rgba(174,135,255,.08)}.fan-pass-holder.fan-pass-finish-holo:after,.fan-pass-fullscreen-card.fan-pass-finish-holo:after{content:'';position:absolute;z-index:20;inset:0;pointer-events:none;background:linear-gradient(120deg,rgba(255,88,198,.09),rgba(71,225,255,.18),rgba(255,234,112,.13),rgba(135,111,255,.14),rgba(92,255,201,.09),rgba(255,88,198,.09));background-size:260% 260%;animation:fanPassHoloFlow 7.5s ease-in-out infinite alternate;mix-blend-mode:screen;contain:paint;filter:saturate(1.18) hue-rotate(-4deg)}.fan-pass-holder.fan-pass-finish-holo>*{position:relative;z-index:1}
body.fan-app-theme-enabled.fan-app-finish-shiny:after,body.fan-app-theme-enabled.fan-app-finish-holo:after{content:'';position:fixed;z-index:9997;pointer-events:none;mix-blend-mode:screen;opacity:.82}body.fan-app-theme-enabled.fan-app-finish-shiny:after{inset:-35%;background:linear-gradient(108deg,transparent 40%,rgba(255,255,255,.04) 46%,rgba(218,248,255,.18) 50%,rgba(255,255,255,.06) 54%,transparent 60%);animation:fanPassShinySweep 7.2s ease-in-out infinite}body.fan-app-theme-enabled.fan-app-finish-holo:after{inset:0;width:auto;height:auto;overflow:hidden;contain:paint;background:linear-gradient(125deg,rgba(255,78,200,.05),rgba(68,225,255,.1),rgba(255,224,98,.06),rgba(132,96,255,.08),rgba(92,255,201,.05),rgba(255,78,200,.05));background-size:260% 260%;animation:fanPassHoloFlow 10s ease-in-out infinite alternate}

body.fan-reaction-night .fan-pass-holder.fan-pass-theme-midnight .fan-pass-hero,body.fan-reaction-night.fan-app-theme-midnight .hero{box-shadow:0 0 42px rgba(88,120,255,.18),inset 0 0 40px rgba(84,46,180,.08);animation:fanPassNightBreathe 4.5s ease-in-out infinite}body.fan-reaction-night .fan-pass-holder.fan-pass-theme-neon .fan-pass-hero,body.fan-reaction-night.fan-app-theme-neon .content-card{box-shadow:0 0 30px rgba(79,238,255,.13),0 0 44px rgba(225,90,255,.08)}body.fan-reaction-night .fan-pass-holder.fan-pass-theme-aurora .fan-pass-hero,body.fan-reaction-night.fan-app-theme-aurora .hero{filter:saturate(1.18);animation:fanPassAuroraReact 5.5s ease-in-out infinite}
body.fan-reaction-match .fan-pass-holder.fan-pass-theme-matchday .fan-pass-hero,body.fan-reaction-match.fan-app-theme-matchday .hero{animation:fanPassMatchPulse 1.8s ease-in-out infinite}body.fan-reaction-match .fan-pass-holder.fan-pass-theme-confetti .fan-pass-hero,body.fan-reaction-match.fan-app-theme-confetti .hero{box-shadow:0 0 34px rgba(255,196,75,.13),0 0 46px rgba(94,205,255,.1);animation:fanPassConfettiReact 2.6s ease-in-out infinite}
body.fan-reaction-win .fan-pass-holder.fan-pass-theme-bluefire .fan-pass-hero,body.fan-reaction-win.fan-app-theme-bluefire .match-detail-hero{box-shadow:0 0 45px rgba(49,167,255,.26),0 0 80px rgba(43,105,255,.11);animation:fanPassBlueFireWin 1.4s ease-in-out infinite alternate}body.fan-reaction-win .fan-pass-holder.fan-pass-theme-cosmicgold .fan-pass-hero,body.fan-reaction-win.fan-app-theme-cosmicgold .match-detail-hero{box-shadow:0 0 50px rgba(255,210,84,.2);animation:fanPassGoldWin 2s ease-in-out infinite}
body.fan-reaction-favorite .fan-pass-holder.fan-pass-theme-mvp .fan-pass-hero,body.fan-reaction-favorite.fan-app-theme-mvp .roster-profile{box-shadow:0 0 44px rgba(255,211,91,.18),inset 0 0 28px rgba(255,211,91,.05);animation:fanPassFavoriteMvp 2.3s ease-in-out infinite}
@keyframes fanPassShinySweep{0%,18%{transform:translateX(-42%) rotate(7deg);opacity:0}42%{opacity:1}70%,100%{transform:translateX(42%) rotate(7deg);opacity:0}}@keyframes fanPassHoloFlow{0%{background-position:0% 35%}50%{background-position:100% 65%}100%{background-position:20% 100%}}@keyframes fanPassNightBreathe{0%,100%{filter:brightness(1)}50%{filter:brightness(1.09)}}@keyframes fanPassAuroraReact{0%,100%{filter:hue-rotate(0deg) saturate(1.1)}50%{filter:hue-rotate(18deg) saturate(1.28)}}@keyframes fanPassMatchPulse{0%,100%{transform:translateY(0);box-shadow:0 0 0 rgba(93,190,255,0)}50%{transform:translateY(-1px);box-shadow:0 0 30px rgba(93,190,255,.14)}}@keyframes fanPassConfettiReact{0%,100%{filter:saturate(1)}50%{filter:saturate(1.25) brightness(1.05)}}@keyframes fanPassBlueFireWin{from{filter:saturate(1.05)}to{filter:saturate(1.4) brightness(1.07)}}@keyframes fanPassGoldWin{0%,100%{filter:brightness(1)}50%{filter:brightness(1.1) saturate(1.2)}}@keyframes fanPassFavoriteMvp{0%,100%{filter:brightness(1)}50%{filter:brightness(1.06)}}
@media(prefers-reduced-motion:reduce){.fan-pass-holder.fan-pass-finish-shiny:after,.fan-pass-fullscreen-card.fan-pass-finish-shiny:after,.fan-pass-holder.fan-pass-finish-holo:after,.fan-pass-fullscreen-card.fan-pass-finish-holo:after,body.fan-app-theme-enabled.fan-app-finish-shiny:after,body.fan-app-theme-enabled.fan-app-finish-holo:after,body.fan-reaction-night .fan-pass-hero,body.fan-reaction-match .fan-pass-hero,body.fan-reaction-win .fan-pass-hero,body.fan-reaction-favorite .fan-pass-hero{animation:none!important}}


/* 2.20.0 · Phantom-Design "The Captain" */
.fan-pass-theme-thecaptain{--fp-accent:#f5f8ff;--fp-accent2:#a9dfff;--fp-glow:rgba(210,238,255,.14);--fp-panel:linear-gradient(145deg,#111a26,#080e16);--fp-hero:radial-gradient(circle at 78% 18%,rgba(255,255,255,.08),transparent 28%),radial-gradient(circle at 18% 82%,rgba(126,205,255,.08),transparent 34%),linear-gradient(150deg,#172230,#080d14)}
.fan-pass-design-card.theme-thecaptain .fan-pass-design-preview{position:relative;overflow:hidden;background:radial-gradient(circle at 80% 16%,rgba(255,255,255,.14),transparent 30%),linear-gradient(150deg,#1d2a39,#09111a)}
.fan-pass-design-card.theme-thecaptain .fan-pass-design-preview::after{content:'6';position:absolute;right:13%;top:50%;transform:translateY(-50%) rotate(-7deg);font:950 4.8rem/.8 system-ui,sans-serif;color:rgba(255,255,255,.15);text-shadow:0 0 24px rgba(150,220,255,.18)}
.fan-pass-holder.fan-pass-theme-thecaptain,.fan-pass-fullscreen-card.fan-pass-theme-thecaptain{position:relative;isolation:isolate;overflow:hidden}
.fan-pass-holder.fan-pass-theme-thecaptain::before,.fan-pass-fullscreen-card.fan-pass-theme-thecaptain::before{content:'6';position:absolute;z-index:0;left:58%;top:16%;font:950 clamp(12rem,42vw,24rem)/.72 system-ui,sans-serif;letter-spacing:-.12em;color:rgba(255,255,255,.045);text-shadow:0 0 55px rgba(151,220,255,.1);pointer-events:none;animation:captainSixFloat 11s ease-in-out infinite alternate}
.fan-pass-holder.fan-pass-theme-thecaptain>*,.fan-pass-fullscreen-card.fan-pass-theme-thecaptain>*{position:relative;z-index:1}
.fan-pass-fullscreen-card.fan-pass-theme-thecaptain{--fp-accent:#f5f8ff;--fp-accent2:#a9dfff;--fp-glow:rgba(210,238,255,.13);background:radial-gradient(circle at 78% 18%,rgba(255,255,255,.08),transparent 28%),radial-gradient(circle at 18% 82%,rgba(126,205,255,.08),transparent 34%),linear-gradient(150deg,#172230,#080d14)}
body.fan-app-theme-thecaptain{--bg:#080e15;--surface:#121d29;--line:#334453;--accent:#eaf7ff;--muted:#b7c7d3;--theme-hero-bg:radial-gradient(circle at 78% 18%,rgba(255,255,255,.07),transparent 28%),linear-gradient(150deg,#172230,#080d14)}
body.fan-app-theme-thecaptain .app-shell{position:relative;isolation:isolate}
body.fan-app-theme-thecaptain .app-shell::before{content:'6';position:fixed;z-index:-1;left:54vw;top:20vh;font:950 clamp(15rem,55vw,33rem)/.7 system-ui,sans-serif;letter-spacing:-.12em;color:rgba(255,255,255,.035);text-shadow:0 0 60px rgba(151,220,255,.08);pointer-events:none;animation:captainSixScreenFloat 15s ease-in-out infinite alternate}
body.fan-app-theme-thecaptain .hero,body.fan-app-theme-thecaptain .content-card,body.fan-app-theme-thecaptain .team-card,body.fan-app-theme-thecaptain .news-card{background-image:radial-gradient(circle at 92% 8%,rgba(255,255,255,.035),transparent 26%),linear-gradient(150deg,color-mix(in srgb,var(--surface) 94%,#fff 6%),var(--surface));border-color:color-mix(in srgb,var(--accent) 15%,var(--line))}
@keyframes captainSixFloat{0%{transform:translate3d(-6%,0,0) rotate(-8deg) scale(.96)}50%{transform:translate3d(5%,8%,0) rotate(-2deg) scale(1.04)}100%{transform:translate3d(-1%,16%,0) rotate(5deg) scale(1)}}
@keyframes captainSixScreenFloat{0%{transform:translate3d(-12vw,-4vh,0) rotate(-9deg) scale(.92)}45%{transform:translate3d(5vw,12vh,0) rotate(-2deg) scale(1.04)}100%{transform:translate3d(-6vw,32vh,0) rotate(7deg) scale(.98)}}
@media(prefers-reduced-motion:reduce){.fan-pass-holder.fan-pass-theme-thecaptain::before,.fan-pass-fullscreen-card.fan-pass-theme-thecaptain::before,body.fan-app-theme-thecaptain .app-shell::before{animation:none!important}}


/* 2.20.10 · ältere Fan-Pass-Designs bekommen eine eigene app-weite Identität */
body.fan-app-theme-dark{--theme-app-overlay:radial-gradient(ellipse at 72% 8%,rgba(220,235,245,.065) 0 12%,transparent 28%),repeating-linear-gradient(135deg,rgba(255,255,255,.012) 0 1px,transparent 1px 5px),linear-gradient(180deg,#05070a,#10151b 58%,#05070a)}
body.fan-app-theme-matchday{--theme-app-overlay:linear-gradient(90deg,transparent 0 9%,rgba(126,217,255,.08) 9% 9.6%,transparent 9.6% 90%,rgba(126,217,255,.08) 90% 90.6%,transparent 90.6%),linear-gradient(0deg,transparent 0 48.8%,rgba(255,255,255,.09) 48.8% 50.2%,transparent 50.2%),radial-gradient(ellipse at 50% -12%,rgba(255,255,255,.18) 0 12%,transparent 34%),linear-gradient(180deg,#061521,#0b3151 56%,#071827)}
body.fan-app-theme-regionalliga{--theme-app-overlay:linear-gradient(112deg,transparent 0 12%,rgba(188,236,255,.09) 13% 17%,transparent 18% 82%,rgba(188,236,255,.07) 83% 87%,transparent 88%),radial-gradient(ellipse at 20% -8%,rgba(255,255,255,.18) 0 8%,transparent 26%),radial-gradient(ellipse at 80% -8%,rgba(255,255,255,.14) 0 8%,transparent 26%),linear-gradient(180deg,#061724,#103a59 54%,#071b2d)}
body.fan-app-theme-mvp{--theme-app-overlay:conic-gradient(from 0deg at 78% 18%,transparent 0 8%,rgba(255,216,110,.12) 8% 11%,transparent 11% 20%,rgba(255,242,189,.08) 20% 23%,transparent 23% 100%),radial-gradient(circle at 78% 18%,rgba(255,216,110,.24) 0 6%,transparent 24%),linear-gradient(180deg,#17140b,#342d15 56%,#101b27)}
body.fan-app-theme-retro{--theme-app-overlay:repeating-linear-gradient(0deg,rgba(242,215,156,.045) 0 2px,transparent 2px 6px),linear-gradient(90deg,rgba(242,215,156,.06) 0 3%,transparent 3% 97%,rgba(155,212,243,.06) 97%),linear-gradient(180deg,#142733,#284256 54%,#121f2b)}
body.fan-app-theme-gold{--theme-app-overlay:linear-gradient(118deg,transparent 0 26%,rgba(255,240,167,.05) 26% 34%,transparent 34% 48%,rgba(255,207,77,.10) 48% 55%,transparent 55% 74%,rgba(255,240,167,.045) 74% 82%,transparent 82%),radial-gradient(circle at 82% 14%,rgba(255,224,120,.18),transparent 24%),linear-gradient(180deg,#17140b,#59461a 52%,#162333)}
body.fan-app-theme-hallenlegende{--theme-app-overlay:linear-gradient(90deg,transparent 0 7%,rgba(139,223,255,.07) 7% 7.7%,transparent 7.7% 92%,rgba(139,223,255,.07) 92% 92.7%,transparent 92.7%),linear-gradient(0deg,transparent 0 49%,rgba(255,255,255,.07) 49% 50%,transparent 50%),radial-gradient(ellipse at 18% -8%,rgba(255,255,255,.2) 0 10%,transparent 27%),radial-gradient(ellipse at 82% -8%,rgba(255,255,255,.17) 0 10%,transparent 27%),linear-gradient(180deg,#061824,#123d59 56%,#071724)}
body.fan-app-theme-geheim{--theme-app-overlay:radial-gradient(ellipse at 18% 20%,rgba(214,167,255,.11),transparent 28%),radial-gradient(ellipse at 82% 68%,rgba(141,232,255,.08),transparent 32%),radial-gradient(ellipse at 48% 45%,rgba(70,32,98,.22),transparent 42%),linear-gradient(180deg,#100818,#38204b 55%,#081825)}
body.fan-app-theme-legendaer{--theme-app-overlay:conic-gradient(from 20deg at 72% 20%,rgba(255,224,131,.16),rgba(201,240,255,.10),rgba(255,224,131,.05),rgba(255,224,131,.16)),radial-gradient(circle at 72% 18%,rgba(255,224,131,.18),transparent 24%),radial-gradient(circle at 18% 86%,rgba(109,205,255,.12),transparent 28%),linear-gradient(180deg,#171305,#423719 52%,#0b2030)}
body.fan-app-theme-neon{--theme-app-overlay:linear-gradient(120deg,transparent 0 28%,rgba(111,247,255,.12) 29% 31%,transparent 32% 62%,rgba(246,140,255,.11) 63% 65%,transparent 66%),radial-gradient(circle at 82% 18%,rgba(246,140,255,.18),transparent 26%),radial-gradient(circle at 15% 86%,rgba(111,247,255,.15),transparent 30%),linear-gradient(180deg,#100b26,#24205b 54%,#071928)}
body.fan-app-theme-ice{--theme-app-overlay:linear-gradient(135deg,rgba(255,255,255,.07) 0 1px,transparent 1px 28px),linear-gradient(45deg,rgba(125,215,255,.05) 0 1px,transparent 1px 34px),radial-gradient(circle at 78% 16%,rgba(214,246,255,.18),transparent 24%),linear-gradient(180deg,#081d28,#245168 55%,#0a2435)}
body.fan-app-theme-blackout{--theme-app-overlay:linear-gradient(108deg,transparent 0 44%,rgba(255,255,255,.045) 48% 51%,transparent 55%),radial-gradient(ellipse at 76% 12%,rgba(255,255,255,.05),transparent 22%),linear-gradient(180deg,#000,#090909 52%,#020304)}

body.fan-app-theme-legendaer .app-shell::after{background-size:180% 180%,auto,auto,auto;animation:fanLegendaryAura 10s ease-in-out infinite alternate}
body.fan-app-theme-neon .app-shell::after{animation:fanNeonAppPulse 5.2s ease-in-out infinite alternate}
body.fan-app-theme-ice .app-shell::after{animation:fanIceAppShimmer 8s ease-in-out infinite alternate}
body.fan-app-theme-blackout .app-shell::after{animation:fanBlackoutSweep 8.5s ease-in-out infinite}

.fan-pass-theme-dark .fan-pass-hero,.fan-pass-design-card.theme-dark .fan-pass-design-preview,.fan-pass-fullscreen-card.fan-pass-theme-dark{background:radial-gradient(ellipse at 72% 12%,rgba(220,235,245,.075),transparent 28%),repeating-linear-gradient(135deg,rgba(255,255,255,.015) 0 1px,transparent 1px 5px),linear-gradient(150deg,#151a20,#05070a)}
.fan-pass-theme-matchday .fan-pass-hero,.fan-pass-design-card.theme-matchday .fan-pass-design-preview,.fan-pass-fullscreen-card.fan-pass-theme-matchday{background:linear-gradient(90deg,transparent 0 9%,rgba(126,217,255,.10) 9% 10%,transparent 10% 90%,rgba(126,217,255,.10) 90% 91%,transparent 91%),linear-gradient(0deg,transparent 0 49%,rgba(255,255,255,.10) 49% 51%,transparent 51%),radial-gradient(ellipse at 50% -8%,rgba(255,255,255,.18),transparent 34%),linear-gradient(145deg,#0d3d67,#081a2b)}
.fan-pass-theme-regionalliga .fan-pass-hero,.fan-pass-design-card.theme-regionalliga .fan-pass-design-preview,.fan-pass-fullscreen-card.fan-pass-theme-regionalliga{background:linear-gradient(112deg,transparent 0 12%,rgba(188,236,255,.11) 13% 17%,transparent 18% 82%,rgba(188,236,255,.09) 83% 87%,transparent 88%),radial-gradient(ellipse at 20% -8%,rgba(255,255,255,.20) 0 10%,transparent 28%),radial-gradient(ellipse at 80% -8%,rgba(255,255,255,.16) 0 10%,transparent 28%),linear-gradient(145deg,#164d76,#09253d)}
.fan-pass-theme-mvp .fan-pass-hero,.fan-pass-design-card.theme-mvp .fan-pass-design-preview,.fan-pass-fullscreen-card.fan-pass-theme-mvp{background:conic-gradient(from 0deg at 78% 18%,transparent 0 8%,rgba(255,216,110,.15) 8% 11%,transparent 11% 20%,rgba(255,242,189,.10) 20% 23%,transparent 23% 100%),radial-gradient(circle at 78% 18%,rgba(255,216,110,.28) 0 8%,transparent 27%),linear-gradient(145deg,#3b3218,#101b27)}
.fan-pass-theme-retro .fan-pass-hero,.fan-pass-design-card.theme-retro .fan-pass-design-preview,.fan-pass-fullscreen-card.fan-pass-theme-retro{background:repeating-linear-gradient(0deg,rgba(242,215,156,.055) 0 2px,transparent 2px 6px),linear-gradient(90deg,rgba(242,215,156,.07) 0 4%,transparent 4% 96%,rgba(155,212,243,.07) 96%),linear-gradient(145deg,#284256,#121f2b)}
.fan-pass-theme-gold .fan-pass-hero,.fan-pass-design-card.theme-gold .fan-pass-design-preview,.fan-pass-fullscreen-card.fan-pass-theme-gold{background:linear-gradient(118deg,transparent 0 26%,rgba(255,240,167,.07) 26% 34%,transparent 34% 48%,rgba(255,207,77,.14) 48% 55%,transparent 55% 74%,rgba(255,240,167,.06) 74% 82%,transparent 82%),radial-gradient(circle at 82% 14%,rgba(255,224,120,.22),transparent 26%),linear-gradient(145deg,#59461a,#162333)}
.fan-pass-theme-hallenlegende .fan-pass-hero,.fan-pass-design-card.theme-hallenlegende .fan-pass-design-preview,.fan-pass-fullscreen-card.fan-pass-theme-hallenlegende{background:linear-gradient(90deg,transparent 0 8%,rgba(139,223,255,.10) 8% 9%,transparent 9% 91%,rgba(139,223,255,.10) 91% 92%,transparent 92%),linear-gradient(0deg,transparent 0 49%,rgba(255,255,255,.09) 49% 51%,transparent 51%),radial-gradient(ellipse at 18% -8%,rgba(255,255,255,.24),transparent 28%),radial-gradient(ellipse at 82% -8%,rgba(255,255,255,.20),transparent 28%),linear-gradient(145deg,#163b59,#071724)}
.fan-pass-theme-geheim .fan-pass-hero,.fan-pass-design-card.theme-geheim .fan-pass-design-preview,.fan-pass-fullscreen-card.fan-pass-theme-geheim{background:radial-gradient(ellipse at 18% 20%,rgba(214,167,255,.15),transparent 30%),radial-gradient(ellipse at 82% 68%,rgba(141,232,255,.10),transparent 32%),radial-gradient(ellipse at 48% 45%,rgba(70,32,98,.25),transparent 44%),linear-gradient(145deg,#29183f,#081825)}
.fan-pass-theme-legendaer .fan-pass-hero,.fan-pass-design-card.theme-legendaer .fan-pass-design-preview,.fan-pass-fullscreen-card.fan-pass-theme-legendaer{background:conic-gradient(from 20deg at 72% 20%,rgba(255,224,131,.18),rgba(201,240,255,.12),rgba(255,224,131,.06),rgba(255,224,131,.18)),radial-gradient(circle at 72% 18%,rgba(255,224,131,.22),transparent 25%),radial-gradient(circle at 18% 86%,rgba(109,205,255,.14),transparent 30%),linear-gradient(145deg,#3a3317,#0b2030)}
.fan-pass-theme-neon .fan-pass-hero,.fan-pass-design-card.theme-neon .fan-pass-design-preview,.fan-pass-fullscreen-card.fan-pass-theme-neon{background:linear-gradient(120deg,transparent 0 28%,rgba(111,247,255,.16) 29% 31%,transparent 32% 62%,rgba(246,140,255,.15) 63% 65%,transparent 66%),radial-gradient(circle at 82% 18%,rgba(246,140,255,.24),transparent 27%),radial-gradient(circle at 15% 86%,rgba(111,247,255,.20),transparent 31%),linear-gradient(145deg,#15103c,#071928)}
.fan-pass-theme-ice .fan-pass-hero,.fan-pass-design-card.theme-ice .fan-pass-design-preview,.fan-pass-fullscreen-card.fan-pass-theme-ice{background:linear-gradient(135deg,rgba(255,255,255,.09) 0 1px,transparent 1px 26px),linear-gradient(45deg,rgba(125,215,255,.07) 0 1px,transparent 1px 32px),radial-gradient(circle at 78% 16%,rgba(214,246,255,.22),transparent 25%),linear-gradient(145deg,#1f4f68,#0a2435)}
.fan-pass-theme-blackout .fan-pass-hero,.fan-pass-design-card.theme-blackout .fan-pass-design-preview,.fan-pass-fullscreen-card.fan-pass-theme-blackout{background:linear-gradient(108deg,transparent 0 44%,rgba(255,255,255,.055) 48% 51%,transparent 55%),radial-gradient(ellipse at 76% 12%,rgba(255,255,255,.055),transparent 23%),linear-gradient(145deg,#090909,#020304)}

body.fan-app-theme-matchday .nav-item[aria-current]{box-shadow:inset 0 0 0 1px rgba(126,217,255,.22),0 0 20px rgba(126,217,255,.08)!important}
body.fan-app-theme-mvp .nav-item[aria-current],body.fan-app-theme-gold .nav-item[aria-current],body.fan-app-theme-legendaer .nav-item[aria-current]{box-shadow:inset 0 0 0 1px rgba(255,224,131,.24),0 0 22px rgba(255,216,110,.10)!important}
body.fan-app-theme-neon .nav-item[aria-current]{box-shadow:inset 0 0 0 1px rgba(111,247,255,.25),0 0 22px rgba(111,247,255,.13),0 0 30px rgba(246,140,255,.07)!important}
body.fan-app-theme-ice .nav-item[aria-current]{box-shadow:inset 0 0 0 1px rgba(214,246,255,.24),0 0 20px rgba(125,215,255,.10)!important}
body.fan-app-theme-blackout .app-nav{background:rgba(2,2,3,.97)!important;border-color:#272727!important}

@keyframes fanLegendaryAura{0%{background-position:0% 20%,center,center,center;filter:saturate(1) brightness(1)}50%{background-position:100% 80%,center,center,center;filter:saturate(1.16) brightness(1.05)}100%{background-position:20% 100%,center,center,center;filter:saturate(1.03) brightness(1.01)}}
@keyframes fanNeonAppPulse{0%,100%{opacity:.78;filter:saturate(1) brightness(1)}50%{opacity:1;filter:saturate(1.28) brightness(1.08)}}
@keyframes fanIceAppShimmer{0%,100%{opacity:.72;filter:brightness(1) saturate(1)}50%{opacity:1;filter:brightness(1.09) saturate(1.16)}}
@keyframes fanBlackoutSweep{0%,18%,100%{background-position:-35vw 0,center,center;opacity:.82}48%{background-position:35vw 0,center,center;opacity:1}70%{background-position:55vw 0,center,center;opacity:.84}}

@media(prefers-reduced-motion:reduce){body.fan-app-theme-legendaer .app-shell::after,body.fan-app-theme-neon .app-shell::after,body.fan-app-theme-ice .app-shell::after,body.fan-app-theme-blackout .app-shell::after{animation:none!important}}

/* 2.20.11 · Design Studio: Vorschau, Effektstärke, Reveal & Lesbarkeit */
.fan-pass-design-preview-action{width:100%;min-height:36px;margin-top:3px;border-style:dashed!important}.fan-pass-design-preview-action:before{content:'LIVE';display:inline-flex;margin-right:7px;padding:2px 5px;border-radius:999px;font-size:.56rem;font-weight:1000;letter-spacing:.08em;background:color-mix(in srgb,var(--fp-accent,#7ccfff) 15%,transparent);color:var(--fp-accent,#9ee5ff)}
.fan-pass-intensity-box{display:grid;gap:8px;margin:12px 0 2px;padding:12px;border-radius:15px;border:1px solid color-mix(in srgb,var(--accent) 20%,rgba(255,255,255,.08));background:color-mix(in srgb,var(--surface) 88%,transparent)}.fan-pass-intensity-copy{font-weight:950}.fan-pass-intensity-actions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px}.fan-pass-intensity-actions button{min-height:38px}.fan-pass-intensity-actions .is-current{border-color:var(--accent)!important;background:color-mix(in srgb,var(--surface) 72%,var(--accent) 28%)!important;box-shadow:0 0 0 1px color-mix(in srgb,var(--accent) 24%,transparent),0 0 18px color-mix(in srgb,var(--accent) 10%,transparent)!important}
.fan-pass-preview-bar{position:fixed;z-index:1000001;left:50%;bottom:max(88px,calc(72px + env(safe-area-inset-bottom)));width:min(620px,calc(100% - 24px));display:flex;align-items:center;justify-content:space-between;gap:12px;padding:11px 12px;border-radius:16px;border:1px solid color-mix(in srgb,var(--accent,#75dfff) 35%,rgba(255,255,255,.18));background:color-mix(in srgb,var(--bg,#071827) 88%,transparent);backdrop-filter:blur(18px);box-shadow:0 16px 50px rgba(0,0,0,.34),0 0 32px color-mix(in srgb,var(--accent,#75dfff) 12%,transparent);opacity:0;transform:translate(-50%,16px);transition:opacity .18s ease,transform .18s ease}.fan-pass-preview-bar.is-showing{opacity:1;transform:translate(-50%,0)}.fan-pass-preview-copy{font-weight:950;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.fan-pass-preview-actions{display:flex;gap:7px;flex:0 0 auto}.fan-pass-preview-actions button{min-height:34px;padding:7px 10px}
@media(max-width:520px){.fan-pass-preview-bar{align-items:stretch;flex-direction:column}.fan-pass-preview-actions{display:grid;grid-template-columns:1fr 1fr}.fan-pass-preview-actions button{width:100%}.fan-pass-intensity-actions{gap:5px}.fan-pass-intensity-actions button{padding-left:6px;padding-right:6px}}

/* Sanfter Designwechsel. Navigation bleibt bewusst unbeeinflusst. */
body.fan-theme-switching .app-shell>*:not(.app-nav){transition:opacity .24s ease,filter .24s ease,transform .24s ease;opacity:.93;filter:saturate(.92);transform:translateY(1px)}
body.fan-app-theme-preview .app-header:after{content:'VORSCHAU';display:inline-flex;align-items:center;justify-content:center;margin-left:auto;padding:3px 7px;border-radius:999px;border:1px solid color-mix(in srgb,var(--accent) 30%,transparent);background:color-mix(in srgb,var(--accent) 9%,transparent);color:var(--accent);font-size:.58rem;font-weight:1000;letter-spacing:.08em}

/* Drei Effektstufen. Standard ist STARK. */
body.fan-app-theme-enabled.fan-theme-intensity-subtle .app-shell::after{opacity:.48!important;filter:saturate(.88) brightness(.98)}
body.fan-app-theme-enabled.fan-theme-intensity-strong .app-shell::after{opacity:.92!important}
body.fan-app-theme-enabled.fan-theme-intensity-extreme .app-shell::after{opacity:1!important;filter:saturate(1.28) contrast(1.04) brightness(1.04)}
body.fan-app-theme-enabled.fan-theme-intensity-subtle.fan-app-theme-animated .hero:before,body.fan-app-theme-enabled.fan-theme-intensity-subtle.fan-app-theme-animated .content-card:before,body.fan-app-theme-enabled.fan-theme-intensity-subtle.fan-app-theme-animated .match-card:before,body.fan-app-theme-enabled.fan-theme-intensity-subtle.fan-app-theme-animated .training-card:before,body.fan-app-theme-enabled.fan-theme-intensity-subtle.fan-app-theme-animated .team-card:before,body.fan-app-theme-enabled.fan-theme-intensity-subtle.fan-app-theme-animated .news-card:before,body.fan-app-theme-enabled.fan-theme-intensity-subtle.fan-app-theme-animated .more-card:before,body.fan-app-theme-enabled.fan-theme-intensity-subtle.fan-app-theme-animated .list-link:before{opacity:.34!important;animation-duration:12s!important}
body.fan-app-theme-enabled.fan-theme-intensity-extreme.fan-app-theme-animated .hero:before,body.fan-app-theme-enabled.fan-theme-intensity-extreme.fan-app-theme-animated .content-card:before,body.fan-app-theme-enabled.fan-theme-intensity-extreme.fan-app-theme-animated .match-card:before,body.fan-app-theme-enabled.fan-theme-intensity-extreme.fan-app-theme-animated .training-card:before,body.fan-app-theme-enabled.fan-theme-intensity-extreme.fan-app-theme-animated .team-card:before,body.fan-app-theme-enabled.fan-theme-intensity-extreme.fan-app-theme-animated .news-card:before,body.fan-app-theme-enabled.fan-theme-intensity-extreme.fan-app-theme-animated .more-card:before,body.fan-app-theme-enabled.fan-theme-intensity-extreme.fan-app-theme-animated .list-link:before{opacity:1!important;animation-duration:5.8s!important}
body.fan-app-theme-enabled.fan-theme-intensity-subtle.fan-app-finish-shiny:after,body.fan-app-theme-enabled.fan-theme-intensity-subtle.fan-app-finish-holo:after{opacity:.38!important}body.fan-app-theme-enabled.fan-theme-intensity-extreme.fan-app-finish-shiny:after,body.fan-app-theme-enabled.fan-theme-intensity-extreme.fan-app-finish-holo:after{opacity:.98!important;filter:saturate(1.22)}
.fan-pass-holder.fan-pass-intensity-subtle,.fan-pass-fullscreen-card.fan-pass-intensity-subtle{filter:saturate(.9)}.fan-pass-holder.fan-pass-intensity-extreme,.fan-pass-fullscreen-card.fan-pass-intensity-extreme{filter:saturate(1.2) contrast(1.025);box-shadow:0 0 0 1px color-mix(in srgb,var(--fp-accent,#7ccfff) 18%,transparent),0 0 42px color-mix(in srgb,var(--fp-accent,#7ccfff) 10%,transparent)}

/* Lesbarkeitsschutz: Designs dürfen laut sein, Textflächen bleiben ruhig. */
body.fan-app-theme-enabled .content-card,body.fan-app-theme-enabled .team-card,body.fan-app-theme-enabled .news-card,body.fan-app-theme-enabled .match-card,body.fan-app-theme-enabled .matchcenter-card,body.fan-app-theme-enabled .training-card,body.fan-app-theme-enabled .roster-person-card,body.fan-app-theme-enabled .roster-profile,body.fan-app-theme-enabled .venue-card,body.fan-app-theme-enabled .venue-detail,body.fan-app-theme-enabled .agenda-item,body.fan-app-theme-enabled .quick-card,body.fan-app-theme-enabled .history-card,body.fan-app-theme-enabled .search-result-card,body.fan-app-theme-enabled .mvp-card,body.fan-app-theme-enabled .contact-card,body.fan-app-theme-enabled .livestream-card{color:var(--text)!important;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}
body.fan-app-theme-enabled.fan-theme-intensity-extreme{--theme-card-bg:linear-gradient(145deg,color-mix(in srgb,var(--surface) 93%,var(--accent) 7%),color-mix(in srgb,var(--surface) 98%,black 2%));--theme-soft-bg:color-mix(in srgb,var(--surface) 88%,var(--accent) 12%)}
body.fan-app-theme-enabled .app-nav{position:fixed!important;z-index:10010!important;bottom:0!important;left:50%!important;transform:translateX(-50%)!important;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px)}

/* Mystery-Box-Reveal übernimmt den tatsächlich gezogenen Look. */
.fan-pass-box-reveal-card.has-design-theme{position:relative;isolation:isolate;overflow:hidden;border-color:color-mix(in srgb,var(--fp-accent,#7ccfff) 58%,white 12%)!important;background:var(--fp-hero,linear-gradient(160deg,#102b49,#07131f))!important;box-shadow:0 30px 100px rgba(0,0,0,.62),0 0 48px color-mix(in srgb,var(--fp-accent,#7ccfff) 18%,transparent)!important}.fan-pass-box-reveal-card.has-design-theme>*{position:relative;z-index:2}.fan-pass-box-reveal-card.has-design-theme .fan-pass-box-reveal-icon{border-color:color-mix(in srgb,var(--fp-accent,#7ccfff) 38%,transparent);background:color-mix(in srgb,var(--fp-accent,#7ccfff) 13%,rgba(255,255,255,.05));box-shadow:0 0 34px color-mix(in srgb,var(--fp-accent,#7ccfff) 16%,transparent)}.fan-pass-box-theme-burst{position:absolute!important;z-index:0!important;right:-2%;top:-8%;font-size:clamp(8rem,35vw,14rem);line-height:1;opacity:.09;filter:drop-shadow(0 0 26px var(--fp-accent,#7ccfff));pointer-events:none;animation:fanBoxThemeBurst 3.8s ease-in-out infinite alternate}.fan-pass-box-reveal-card.fan-pass-theme-vhsglitch{animation:fanBoxVhsJolt 1.7s steps(1,end) infinite}.fan-pass-box-reveal-card.fan-pass-theme-aurora{box-shadow:0 30px 100px rgba(0,0,0,.62),0 0 65px rgba(78,255,165,.2)!important}.fan-pass-box-reveal-card.fan-pass-theme-plasma{animation:fanPassPlasmaPulse 4s ease-in-out infinite}.fan-pass-box-reveal-card.fan-pass-theme-gold,.fan-pass-box-reveal-card.fan-pass-theme-cosmicgold,.fan-pass-box-reveal-card.fan-pass-theme-legendaer{box-shadow:0 30px 100px rgba(0,0,0,.62),0 0 70px rgba(255,216,110,.18)!important}
@keyframes fanBoxThemeBurst{from{transform:rotate(-7deg) scale(.94);opacity:.06}to{transform:rotate(5deg) scale(1.08);opacity:.13}}@keyframes fanBoxVhsJolt{0%,88%,100%{transform:translateX(0)}89%{transform:translateX(3px)}90%{transform:translateX(-2px)}91%{transform:translateX(1px)}}

/* Kurzer VHS-Signalfehler bei Aktivierung/Vorschau/Reveal. */
.fan-pass-vhs-signal{position:fixed;inset:0;z-index:1000005;display:grid;place-items:center;align-content:center;gap:5px;pointer-events:none;background:repeating-linear-gradient(0deg,rgba(255,255,255,.055) 0 2px,rgba(0,0,0,.05) 2px 5px),linear-gradient(90deg,rgba(255,50,110,.18),rgba(55,245,255,.16),rgba(255,90,210,.17)),rgba(3,6,10,.72);mix-blend-mode:normal;opacity:0;transform:scale(1.02);transition:opacity .08s linear}.fan-pass-vhs-signal.is-showing{opacity:1;animation:fanVhsSignalJitter .72s steps(1,end) both}.fan-pass-vhs-signal span{font:1000 clamp(2rem,10vw,4.4rem)/1 ui-monospace,SFMono-Regular,Consolas,monospace;letter-spacing:.06em;color:white;text-shadow:-5px 0 rgba(255,50,110,.58),5px 0 rgba(55,245,255,.55)}.fan-pass-vhs-signal small{font:900 .72rem/1 ui-monospace,SFMono-Regular,Consolas,monospace;letter-spacing:.18em;color:#dffaff}@keyframes fanVhsSignalJitter{0%,100%{clip-path:inset(0);transform:translate(0)}18%{clip-path:inset(12% 0 58% 0);transform:translate(3px,-2px)}35%{clip-path:inset(48% 0 18% 0);transform:translate(-4px,1px)}52%{clip-path:inset(0 0 0 0);transform:translate(1px,0)}72%{clip-path:inset(62% 0 6% 0);transform:translate(-2px,2px)}}

/* Situative Reaktionen werden deutlich erkennbarer. */
body.fan-reaction-night.fan-app-theme-aurora .app-shell::after{filter:saturate(1.32) brightness(1.08);opacity:1!important}body.fan-reaction-night.fan-app-theme-neon .app-shell::after{filter:saturate(1.35) brightness(1.07)}body.fan-reaction-match.fan-app-theme-matchday .app-nav{box-shadow:0 -16px 45px color-mix(in srgb,var(--bg) 70%,transparent),0 0 34px rgba(126,217,255,.12)!important}body.fan-reaction-favorite.fan-app-theme-mvp .app-shell::after{filter:saturate(1.18) brightness(1.05)}body.fan-reaction-win .fan-pass-holder.fan-pass-theme-gold .fan-pass-hero,body.fan-reaction-win.fan-app-theme-gold .match-detail-hero{box-shadow:0 0 54px rgba(255,216,110,.24),0 0 90px rgba(255,207,77,.12)!important;animation:fanPassGoldWin 1.65s ease-in-out infinite}body.fan-reaction-win.fan-app-theme-gold .app-shell::after{filter:saturate(1.24) brightness(1.08)}

@media(prefers-reduced-motion:reduce){.fan-pass-preview-bar,.fan-pass-box-theme-burst,.fan-pass-box-reveal-card.fan-pass-theme-vhsglitch,.fan-pass-box-reveal-card.fan-pass-theme-plasma,.fan-pass-vhs-signal,body.fan-theme-switching .app-shell>*:not(.app-nav),body.fan-reaction-win .fan-pass-holder.fan-pass-theme-gold .fan-pass-hero,body.fan-reaction-win.fan-app-theme-gold .match-detail-hero{animation:none!important;transition:none!important}}


/* 2.20.12 · ungesehene Token seit letztem Fan-Pass-Besuch */
.fan-pass-wallet.has-new-tokens{border-color:rgba(255,203,91,.42);box-shadow:0 14px 34px rgba(0,0,0,.12),0 0 26px rgba(255,203,91,.07)}
.fan-pass-wallet-balance.is-new{border-color:rgba(255,218,112,.72);background:linear-gradient(135deg,rgba(255,215,91,.22),rgba(255,171,64,.11));color:#fff1b2;box-shadow:0 0 0 1px rgba(255,225,135,.08),0 0 22px rgba(255,203,91,.16);animation:fanPassTokenEarnedPop 1.05s cubic-bezier(.2,.8,.2,1) both}
.fan-pass-wallet-balance.is-new.is-settled{animation:fanPassTokenEarnedGlow 2.4s ease-in-out infinite}
.more-card.has-token-pending{position:relative;border-color:color-mix(in srgb,#ffd86e 50%,var(--line));box-shadow:0 10px 28px rgba(0,0,0,.1),0 0 20px rgba(255,216,110,.06)}
.more-card-token-pending{display:inline-flex;align-items:center;justify-content:center;min-height:27px;padding:4px 8px;border-radius:999px;border:1px solid rgba(255,216,110,.5);background:rgba(255,216,110,.12);color:#ffe8a2;font-size:.72rem;font-weight:950;white-space:nowrap;animation:fanPassTokenPendingBounce 2.1s ease-in-out infinite}
@keyframes fanPassTokenEarnedPop{0%{transform:scale(.78);opacity:.25}48%{transform:scale(1.08);opacity:1}72%{transform:scale(.97)}100%{transform:scale(1)}}
@keyframes fanPassTokenEarnedGlow{0%,100%{box-shadow:0 0 0 1px rgba(255,225,135,.08),0 0 12px rgba(255,203,91,.08)}50%{box-shadow:0 0 0 1px rgba(255,225,135,.14),0 0 26px rgba(255,203,91,.2)}}
@keyframes fanPassTokenPendingBounce{0%,100%{transform:translateY(0);filter:brightness(1)}50%{transform:translateY(-2px);filter:brightness(1.12)}}
@media(prefers-reduced-motion:reduce){.fan-pass-wallet-balance.is-new,.fan-pass-wallet-balance.is-new.is-settled,.more-card-token-pending{animation:none!important}}


/* 2.20.13 · neue Phantom-Badges, eigener Reveal und exklusive Phantom-Looks */
.fan-pass-reveal.is-phantom{background:radial-gradient(circle at 50% 42%,rgba(144,94,224,.2),transparent 28%),radial-gradient(circle at 18% 78%,rgba(78,225,255,.12),transparent 24%),rgba(2,4,12,.9)}
.fan-pass-reveal-card.is-phantom{overflow:hidden;border-color:rgba(190,157,255,.68);background:radial-gradient(circle at 50% -10%,rgba(171,125,255,.23),transparent 34%),radial-gradient(circle at 8% 90%,rgba(79,229,255,.13),transparent 28%),linear-gradient(160deg,#171126,#07131f 74%);box-shadow:0 30px 100px rgba(0,0,0,.66),0 0 54px rgba(151,105,234,.16);animation:fanPassPhantomReveal .72s cubic-bezier(.16,.82,.2,1)}
.fan-pass-reveal-card.is-phantom:before{content:'';position:absolute;inset:-25%;pointer-events:none;background:conic-gradient(from 25deg,transparent 0 18%,rgba(184,147,255,.08) 22%,transparent 31% 55%,rgba(82,226,255,.07) 61%,transparent 70%);animation:fanPassPhantomOrbit 9s linear infinite}
.fan-pass-reveal-card.is-phantom>*{position:relative;z-index:1}.fan-pass-reveal-card.is-phantom .fan-pass-reveal-burst{opacity:.17;filter:drop-shadow(0 0 18px rgba(188,155,255,.5))}.fan-pass-reveal-card.is-phantom .fan-pass-reveal-icon{border-color:rgba(190,157,255,.38);background:linear-gradient(145deg,rgba(180,140,255,.18),rgba(79,229,255,.09));box-shadow:0 0 30px rgba(161,115,239,.12)}
@keyframes fanPassPhantomReveal{0%{transform:scale(.72) translateY(26px);opacity:0;filter:blur(10px)}58%{transform:scale(1.045) translateY(-2px);opacity:1;filter:blur(0)}100%{transform:scale(1) translateY(0)}}
@keyframes fanPassPhantomOrbit{to{transform:rotate(360deg)}}
.fan-pass-version-secret{cursor:default;user-select:none}

.fan-pass-theme-backstage{--fp-accent:#7ee5ff;--fp-accent2:#ffb958;--fp-glow:rgba(126,229,255,.18);--fp-hero:radial-gradient(circle at 14% 20%,rgba(126,229,255,.16) 0 2%,transparent 3%),radial-gradient(circle at 82% 72%,rgba(255,185,88,.16) 0 2%,transparent 3%),linear-gradient(90deg,rgba(255,255,255,.025) 1px,transparent 1px),linear-gradient(145deg,#111a22,#071016);background-size:auto,auto,26px 100%,auto}
.fan-pass-design-card.theme-backstage .fan-pass-design-preview{background:radial-gradient(circle at 15% 24%,#7ee5ff 0 2%,transparent 3%),radial-gradient(circle at 80% 68%,#ffb958 0 2%,transparent 3%),linear-gradient(90deg,#ffffff10 1px,transparent 1px),linear-gradient(145deg,#1b2832,#071116);background-size:auto,auto,22px 100%,auto}
body.fan-app-theme-backstage{--bg:#071016;--surface:#16232b;--line:#34515d;--accent:#7ee5ff;--muted:#bdced4;--theme-hero-bg:linear-gradient(90deg,rgba(255,255,255,.025) 1px,transparent 1px),linear-gradient(145deg,#111a22,#071016);--theme-app-overlay:radial-gradient(circle at 10% 16%,rgba(126,229,255,.12) 0 1.5%,transparent 2.5%),radial-gradient(circle at 88% 72%,rgba(255,185,88,.10) 0 1.5%,transparent 2.5%),linear-gradient(90deg,rgba(255,255,255,.018) 1px,transparent 1px),linear-gradient(180deg,#071016,#111d25 54%,#070d12)}
body.fan-app-theme-backstage .app-shell::after{background-size:auto,auto,28px 100%,auto;animation:fanBackstageLights 6.5s steps(4,end) infinite}
@keyframes fanBackstageLights{0%,100%{filter:brightness(.94)}25%{filter:brightness(1.05)}50%{filter:brightness(.98)}75%{filter:brightness(1.08)}}

.fan-pass-theme-ghostsignal{--fp-accent:#9bf5ff;--fp-accent2:#c3a8ff;--fp-glow:rgba(155,245,255,.18);--fp-hero:repeating-linear-gradient(0deg,rgba(155,245,255,.04) 0 1px,transparent 1px 5px),linear-gradient(105deg,transparent 0 34%,rgba(195,168,255,.14) 35% 37%,transparent 38% 62%,rgba(155,245,255,.13) 63% 65%,transparent 66%),linear-gradient(145deg,#10192b,#07121d)}
.fan-pass-design-card.theme-ghostsignal .fan-pass-design-preview{background:repeating-linear-gradient(0deg,#9bf5ff12 0 1px,transparent 1px 5px),linear-gradient(105deg,transparent 0 30%,#c3a8ff33 31% 35%,transparent 36% 62%,#9bf5ff30 63% 67%,transparent 68%),linear-gradient(145deg,#17233a,#071521)}
body.fan-app-theme-ghostsignal{--bg:#07121d;--surface:#17253a;--line:#40546c;--accent:#9bf5ff;--muted:#c5d5e3;--theme-hero-bg:repeating-linear-gradient(0deg,rgba(155,245,255,.035) 0 1px,transparent 1px 5px),linear-gradient(105deg,transparent 0 34%,rgba(195,168,255,.11) 35% 37%,transparent 38% 62%,rgba(155,245,255,.10) 63% 65%,transparent 66%),linear-gradient(145deg,#10192b,#07121d);--theme-app-overlay:repeating-linear-gradient(0deg,rgba(155,245,255,.026) 0 1px,transparent 1px 6px),linear-gradient(105deg,transparent 0 34%,rgba(195,168,255,.08) 35% 37%,transparent 38% 62%,rgba(155,245,255,.07) 63% 65%,transparent 66%),linear-gradient(180deg,#07121d,#151d33 52%,#081522)}
body.fan-app-theme-ghostsignal .app-shell::after{background-size:auto,220% 100%,auto;animation:fanGhostSignal 7s steps(9,end) infinite}
@keyframes fanGhostSignal{0%,100%{background-position:0 0,0 0,0 0;opacity:.72}32%{background-position:0 2px,42% 0,0 0;opacity:.9}33%{background-position:0 -1px,67% 0,0 0;opacity:.66}68%{background-position:0 1px,100% 0,0 0;opacity:.88}}
@media(prefers-reduced-motion:reduce){.fan-pass-reveal-card.is-phantom,.fan-pass-reveal-card.is-phantom:before,body.fan-app-theme-backstage .app-shell::after,body.fan-app-theme-ghostsignal .app-shell::after{animation:none!important}}

/* 2.20.14 · Schwebeticker, Push und Offline-Zustände */
.ticker-float{z-index:10025;width:min(390px,calc(100% - 22px));bottom:calc(86px + env(safe-area-inset-bottom));filter:drop-shadow(0 16px 36px rgba(0,0,0,.5));animation:tickerFloatIn .24s cubic-bezier(.2,.8,.2,1)}
.ticker-float-open{display:block;color:inherit;text-decoration:none;border-radius:19px;outline:none}.ticker-float-open:focus-visible{box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 45%,transparent);border-radius:19px}
.ticker-float .ticker-mini{margin:0;padding:11px 42px 10px 13px;border-radius:19px;border:1px solid color-mix(in srgb,var(--accent) 30%,#4e7895);background:linear-gradient(145deg,rgba(18,48,75,.96),rgba(8,25,42,.97));backdrop-filter:blur(18px);box-shadow:inset 0 1px 0 rgba(255,255,255,.06),0 0 0 1px rgba(255,255,255,.02)}
.ticker-float.phase-live .ticker-mini{border-color:rgba(91,236,145,.4);box-shadow:inset 0 1px 0 rgba(255,255,255,.06),0 0 28px rgba(65,216,127,.1)}
.ticker-float.is-stale .ticker-mini{border-color:#7b8793;filter:saturate(.72)}
.ticker-mini .ticker-top{gap:8px}.ticker-mini .ticker-team{font-size:11px;letter-spacing:.04em;text-transform:uppercase;color:#d9ecf8;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ticker-mini .ticker-status{display:inline-flex;align-items:center;gap:5px;font-size:9px;white-space:nowrap}
.ticker-live-dot{width:7px;height:7px;border-radius:50%;background:#67ee97;box-shadow:0 0 0 0 rgba(103,238,151,.55);animation:tickerLivePulse 1.8s ease-out infinite}
.ticker-mini-main{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:end;margin-top:5px}.ticker-mini-copy{display:grid;min-width:0}.ticker-opponent-label{font-size:9px;color:var(--muted);line-height:1.1}.ticker-mini .ticker-opponent{margin:1px 0 0;font-size:14px;line-height:1.15;color:#fff;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ticker-mini .ticker-score{position:static;margin:0;font-size:28px;gap:4px;line-height:.95;letter-spacing:-.04em}.ticker-mini .ticker-colon{opacity:.75}
.ticker-kickoff-compact{align-self:center;padding:5px 8px;border-radius:9px;background:rgba(126,217,255,.09);border:1px solid rgba(126,217,255,.18);font-size:10px;font-weight:900;color:#e8f8ff;white-space:nowrap}
.ticker-mini-lower{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:7px;padding-top:7px;border-top:1px solid rgba(255,255,255,.08);font-size:10px;color:#bcd3e3}.ticker-current-points{font-size:15px;color:#fff;letter-spacing:.02em}.ticker-set-label{font-weight:850}.ticker-age{display:block;margin-top:4px;font-size:8.5px;color:#7f9aab}.ticker-float.is-stale .ticker-age{color:#d2b77d}
.ticker-close{z-index:3;right:7px;top:7px;width:29px;height:29px;border-color:rgba(255,255,255,.12);background:rgba(4,15,26,.66);backdrop-filter:blur(8px);font-size:18px;transition:transform .15s ease,background .15s ease}.ticker-close:active{transform:scale(.9)}
.official-ticker-state.is-cached{border-color:#6e7b86;background:linear-gradient(135deg,#263746,#152433)}.ticker-cache-note{margin:8px 0 0;padding:6px 8px;border-radius:9px;background:rgba(255,201,105,.08);border:1px solid rgba(255,201,105,.16);font-size:10px;color:#e5cf9f;font-weight:800}
@keyframes tickerFloatIn{from{opacity:0;transform:translate(-50%,12px) scale(.98)}to{opacity:1;transform:translate(-50%,0) scale(1)}}
@keyframes tickerLivePulse{0%{box-shadow:0 0 0 0 rgba(103,238,151,.48)}70%{box-shadow:0 0 0 7px rgba(103,238,151,0)}100%{box-shadow:0 0 0 0 rgba(103,238,151,0)}}

.connection-state{display:grid;grid-template-columns:auto minmax(0,1fr);gap:13px;align-items:start;padding:18px;border:1px solid #48677d;border-radius:18px;background:radial-gradient(circle at 100% 0%,rgba(126,217,255,.08),transparent 34%),linear-gradient(145deg,#142f47,#0c1f31);box-shadow:0 12px 32px rgba(0,0,0,.14);margin:0 0 20px}.connection-state.is-cached{border-color:#697785;background:linear-gradient(145deg,#223647,#122534)}.connection-state-icon{width:42px;height:42px;display:grid;place-items:center;border-radius:13px;border:1px solid rgba(126,217,255,.22);background:rgba(126,217,255,.08);color:#cceeff;font-size:22px;font-weight:900}.connection-state-copy strong{display:block;font-size:16px;margin:1px 0 5px}.connection-state-copy p{margin:0;color:var(--muted);font-size:13px;line-height:1.45}.connection-state-actions{grid-column:2;display:flex;flex-wrap:wrap;gap:8px;margin-top:2px}.connection-state-actions .secondary,.connection-state-actions .text-button{min-height:35px;padding:7px 10px;font-size:11px}.connection-state.is-compact{grid-template-columns:34px minmax(0,1fr);gap:10px;padding:12px;margin:10px 0;border-radius:14px}.connection-state.is-compact .connection-state-icon{width:34px;height:34px;border-radius:10px;font-size:17px}.connection-state.is-compact .connection-state-copy strong{font-size:13px}.connection-state.is-compact .connection-state-copy p{font-size:11px}.connection-state.is-compact .connection-state-actions{grid-column:2}.status.is-offline{border-color:#667788;background:linear-gradient(145deg,#263949,#162938);color:#dceaf3}

@media(max-width:420px){.ticker-float{width:calc(100% - 16px);bottom:calc(82px + env(safe-area-inset-bottom))}.ticker-float .ticker-mini{padding-left:11px}.ticker-mini .ticker-score{font-size:25px}.connection-state{grid-template-columns:38px minmax(0,1fr);padding:14px}.connection-state-icon{width:38px;height:38px}.connection-state-actions{grid-column:1/-1}.connection-state.is-compact .connection-state-actions{grid-column:1/-1}}
@media(prefers-reduced-motion:reduce){.ticker-float,.ticker-live-dot{animation:none!important}}

/* 2.20.15 · Helfer & Verein */
.helpers-holder{display:grid;gap:18px}.helper-login-card{max-width:620px;margin-inline:auto;width:100%}.helper-login-form{display:grid;gap:10px;margin-top:16px}.helper-login-form input{width:100%;min-height:48px;padding:11px 13px;border-radius:13px;border:1px solid var(--line);background:color-mix(in srgb,var(--surface) 88%,var(--bg));color:var(--text);font:inherit}.helper-honeypot{position:absolute!important;left:-10000px!important;top:auto!important;width:1px!important;height:1px!important;min-height:1px!important;padding:0!important;margin:0!important;opacity:0!important;pointer-events:none!important;overflow:hidden!important}.helper-profile-card{display:grid;gap:13px}.helper-profile-head{display:flex;justify-content:space-between;align-items:flex-start;gap:14px}.helper-profile-head h2{margin:.1rem 0}.helper-section{display:grid;gap:11px}.helper-task-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.helper-task-card{display:grid;gap:10px;padding:16px;border-radius:18px;border:1px solid color-mix(in srgb,var(--line) 85%,transparent);background:linear-gradient(145deg,color-mix(in srgb,var(--surface) 96%,white 4%),var(--surface));box-shadow:0 10px 28px rgba(0,0,0,.1)}.helper-task-card.is-mine{border-color:color-mix(in srgb,var(--accent) 58%,var(--line));box-shadow:0 12px 30px rgba(0,0,0,.12),inset 0 0 0 1px color-mix(in srgb,var(--accent) 12%,transparent)}.helper-task-card.is-full{opacity:.72}.helper-task-head{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}.helper-task-head h3{margin:2px 0 0}.helper-capacity{display:inline-flex;align-items:center;justify-content:center;min-width:54px;min-height:28px;padding:4px 8px;border-radius:999px;background:color-mix(in srgb,var(--accent) 11%,var(--surface));border:1px solid color-mix(in srgb,var(--accent) 24%,var(--line));font-size:.75rem;font-weight:900}.helper-task-event{margin:0;font-weight:850}.helper-task-meta{display:flex;flex-wrap:wrap;gap:7px}.helper-task-meta span{display:inline-flex;padding:5px 8px;border-radius:9px;background:rgba(255,255,255,.045);font-size:.74rem;font-weight:760}.helper-empty{grid-column:1/-1;color:var(--muted)}.helper-messages{display:grid;gap:12px}.helper-message-list{display:grid;gap:8px}.helper-message{display:grid;grid-template-columns:18px minmax(0,1fr);gap:8px;padding:10px 0;border-bottom:1px solid color-mix(in srgb,var(--line) 55%,transparent)}.helper-message:last-child{border-bottom:0}.helper-message p{margin:.25rem 0}.helper-message-dot{color:transparent;font-size:.72rem;padding-top:3px}.helper-message.is-unread .helper-message-dot{color:var(--accent)}.helper-message.is-unread strong{color:var(--accent)}.helper-full-fold summary{cursor:pointer;font-weight:850}.helper-full-fold>.helper-task-grid{margin-top:12px}.helper-teaser{display:grid;gap:12px}.helper-teaser .primary{justify-self:start;text-decoration:none}.helper-profile-card .secondary.is-ok{border-color:color-mix(in srgb,#61e78e 50%,var(--line));background:color-mix(in srgb,#61e78e 8%,var(--surface))}.helper-event-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.helper-event-card{display:grid;gap:10px;padding:16px;border-radius:18px;border:1px solid color-mix(in srgb,var(--line) 85%,transparent);background:linear-gradient(145deg,color-mix(in srgb,var(--surface) 96%,white 4%),var(--surface));box-shadow:0 10px 28px rgba(0,0,0,.1)}.helper-event-head{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}.helper-event-head h3{margin:2px 0 0}.helper-event-status{display:inline-flex;align-items:center;min-height:27px;padding:4px 8px;border-radius:999px;font-size:.7rem;font-weight:900;white-space:nowrap;border:1px solid var(--line)}.helper-event-status.is-approved{color:#8ff5b2;border-color:rgba(97,231,142,.4);background:rgba(97,231,142,.08)}.helper-event-status.is-pending{color:#ffe09a;border-color:rgba(255,202,97,.38);background:rgba(255,202,97,.08)}.helper-event-status.is-rejected{color:#ffabb5;border-color:rgba(255,118,136,.38);background:rgba(255,118,136,.08)}.helper-event-create{display:grid;gap:12px}.helper-event-form{display:grid;grid-template-columns:1fr 1fr;gap:10px}.helper-event-form input,.helper-event-form select,.helper-event-form textarea{width:100%;min-height:48px;padding:11px 13px;border-radius:13px;border:1px solid var(--line);background:color-mix(in srgb,var(--surface) 88%,var(--bg));color:var(--text);font:inherit}.helper-event-form textarea{grid-column:1/-1;resize:vertical}.helper-event-form .primary,.helper-event-form .small{grid-column:1/-1}.helper-event-submissions summary{cursor:pointer;font-weight:850}.helper-event-submissions>.helper-event-grid{margin-top:12px}
@media(max-width:680px){.helper-task-grid,.helper-event-grid{grid-template-columns:1fr}.helper-event-form{grid-template-columns:1fr}.helper-event-form textarea,.helper-event-form .primary,.helper-event-form .small{grid-column:1}.helper-profile-head{align-items:center}.helper-profile-head .text-button{white-space:nowrap}.helper-task-card{padding:14px}}


/* 2.20.16 · Pull-to-refresh */
.app-pull-refresh{--pull-y:0px;position:fixed;z-index:10080;left:50%;top:calc(7px + env(safe-area-inset-top));display:flex;align-items:center;gap:8px;min-height:36px;max-width:calc(100vw - 32px);padding:7px 12px;border-radius:999px;border:1px solid rgba(150,220,255,.25);background:rgba(8,25,42,.92);color:#dff5ff;box-shadow:0 12px 34px rgba(0,0,0,.35),inset 0 1px 0 rgba(255,255,255,.05);backdrop-filter:blur(14px);font-size:11px;font-weight:850;opacity:0;pointer-events:none;transform:translate(-50%,calc(-54px + var(--pull-y)));transition:opacity .14s ease,border-color .14s ease,background .14s ease,transform .12s ease;white-space:nowrap}
.app-pull-refresh.is-visible{opacity:1}.app-pull-refresh.is-armed{border-color:rgba(150,220,255,.55);background:rgba(15,48,73,.96)}.app-pull-refresh.is-done{border-color:rgba(99,229,142,.4);background:rgba(11,53,38,.95)}.app-pull-refresh-icon{display:grid;place-items:center;width:21px;height:21px;border-radius:50%;background:rgba(150,220,255,.1);color:#96dcff;font-size:14px;font-weight:950}.app-pull-refresh.is-loading .app-pull-refresh-icon{animation:appPullRefreshSpin .72s linear infinite}.app-pull-refresh.is-done .app-pull-refresh-icon{color:#8ef0ad;background:rgba(99,229,142,.1)}
@keyframes appPullRefreshSpin{to{transform:rotate(360deg)}}
@media(prefers-reduced-motion:reduce){.app-pull-refresh,.app-pull-refresh-icon{transition:none!important;animation:none!important}}

/* 2.20.22 · Aufgaben direkt beim Spieltag-/Turnier-Vorschlag */
.helper-event-tasks{grid-column:1/-1;display:grid;gap:10px;padding:14px;border:1px solid color-mix(in srgb,var(--line) 82%,transparent);border-radius:16px;background:color-mix(in srgb,var(--surface) 93%,var(--bg))}.helper-event-tasks-head{display:flex;align-items:center;justify-content:space-between;gap:12px}.helper-event-tasks-head p{margin:3px 0 0}.helper-event-add-task{flex:0 0 auto}.helper-event-task-list{display:grid;gap:10px}.helper-event-task-row{display:grid;grid-template-columns:minmax(0,2fr) minmax(80px,.7fr) minmax(105px,.8fr) minmax(105px,.8fr) auto;gap:8px;align-items:end;padding:11px;border-radius:13px;border:1px solid color-mix(in srgb,var(--line) 65%,transparent);background:rgba(255,255,255,.025)}.helper-event-task-field{display:grid;gap:5px;font-size:.72rem;font-weight:850;color:var(--muted)}.helper-event-task-field input{min-height:44px!important}.helper-event-task-remove{min-height:44px;align-self:end}.helper-event-task-summary{display:grid;gap:6px;padding-top:3px}.helper-event-task-summary-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:8px 10px;border-radius:11px;background:rgba(255,255,255,.04);font-size:.78rem}.helper-event-task-summary-row span{color:var(--muted);text-align:right}.helper-event-form>.helper-event-tasks{grid-column:1/-1}
@media(max-width:760px){.helper-event-tasks-head{align-items:flex-start;flex-direction:column}.helper-event-add-task{width:100%}.helper-event-task-row{grid-template-columns:repeat(6,minmax(0,1fr))}.helper-event-task-row .helper-event-task-field:nth-child(1){grid-column:span 4}.helper-event-task-row .helper-event-task-field:nth-child(2){grid-column:span 2}.helper-event-task-row .helper-event-task-field:nth-child(3),.helper-event-task-row .helper-event-task-field:nth-child(4){grid-column:span 3}.helper-event-task-remove{grid-column:1/-1;justify-self:start;min-height:36px}.helper-event-task-summary-row{align-items:flex-start;flex-direction:column;gap:3px}.helper-event-task-summary-row span{text-align:left}}

/* 2.20.23 · Mobile Zeitfelder im Helferformular gleich breit */
@media(max-width:760px){.helper-event-task-row .helper-event-task-field:nth-child(3) input,.helper-event-task-row .helper-event-task-field:nth-child(4) input{min-width:0;width:100%}}

/* 2.20.24 · Fanwall */
.fanwall-holder{display:grid;gap:18px}.fanwall-hero{position:relative;overflow:hidden;padding:20px 2px 4px}.fanwall-hero:after{content:"";position:absolute;right:-35px;top:-22px;width:130px;height:130px;border-radius:50%;background:radial-gradient(circle,color-mix(in srgb,var(--accent) 18%,transparent),transparent 68%);pointer-events:none}.fanwall-hero h2{margin:.2rem 0 .45rem;font-size:clamp(1.45rem,5vw,2rem)}
.fanwall-submit-card{display:grid;gap:14px}.fanwall-form{display:grid;gap:11px}.fanwall-form input[type=text],.fanwall-form textarea,.fanwall-form select{width:100%;min-height:48px;padding:11px 13px;border-radius:14px;border:1px solid color-mix(in srgb,var(--line) 92%,transparent);background:color-mix(in srgb,var(--surface) 88%,var(--bg));color:var(--text);font:inherit}.fanwall-form textarea{resize:vertical;min-height:92px}.fanwall-photo-field{position:relative;display:grid;grid-template-columns:auto 1fr;grid-template-rows:auto auto;column-gap:12px;align-items:center;padding:16px;border-radius:17px;border:1px dashed color-mix(in srgb,var(--accent) 55%,var(--line));background:linear-gradient(135deg,color-mix(in srgb,var(--accent) 7%,var(--surface)),var(--surface));cursor:pointer}.fanwall-photo-field input{position:absolute;inset:0;opacity:0;cursor:pointer}.fanwall-photo-icon{grid-row:1/3;display:grid;place-items:center;width:44px;height:44px;border-radius:14px;background:color-mix(in srgb,var(--accent) 16%,var(--surface));border:1px solid color-mix(in srgb,var(--accent) 35%,var(--line));font-size:1.35rem;font-weight:900;color:var(--accent)}.fanwall-preview{display:flex;align-items:center;gap:10px;padding:9px;border-radius:14px;background:rgba(255,255,255,.035);border:1px solid color-mix(in srgb,var(--line) 70%,transparent)}.fanwall-preview-image{width:72px;height:72px;object-fit:cover;border-radius:11px}.fanwall-select-label{display:grid;gap:5px;color:var(--muted);font-weight:800}.fanwall-honeypot{position:absolute!important;left:-10000px!important;top:auto!important;width:1px!important;height:1px!important;min-height:1px!important;padding:0!important;margin:0!important;opacity:0!important;pointer-events:none!important;overflow:hidden!important}
.fanwall-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px}.fanwall-toolbar .match-select{max-width:190px}.fanwall-gallery{min-height:80px}.fanwall-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.fanwall-card{overflow:hidden;border-radius:20px;border:1px solid color-mix(in srgb,var(--line) 88%,transparent);background:linear-gradient(155deg,color-mix(in srgb,var(--surface) 96%,white 4%),var(--surface));box-shadow:0 12px 34px rgba(0,0,0,.14)}.fanwall-media{position:relative;aspect-ratio:4/3;overflow:hidden;background:rgba(0,0,0,.18)}.fanwall-image{display:block;width:100%;height:100%;object-fit:cover;transition:transform .35s ease}.fanwall-card:hover .fanwall-image{transform:scale(1.015)}.fanwall-card-body{display:grid;gap:11px;padding:14px}.fanwall-card-meta{display:flex;align-items:center;justify-content:space-between;gap:8px;flex-wrap:wrap}.fanwall-context{display:inline-flex;align-items:center;min-height:28px;padding:4px 8px;border-radius:999px;background:color-mix(in srgb,var(--accent) 10%,var(--surface));border:1px solid color-mix(in srgb,var(--accent) 24%,var(--line));font-size:.7rem;font-weight:850}.fanwall-text{margin:0;white-space:pre-wrap;line-height:1.5}.fanwall-card-foot{display:flex;align-items:center;justify-content:space-between;gap:10px;padding-top:2px}.fanwall-react{display:inline-flex;align-items:center;justify-content:center;gap:5px;min-width:58px;min-height:36px;padding:6px 11px;border-radius:999px;border:1px solid color-mix(in srgb,var(--line) 90%,transparent);background:rgba(255,255,255,.035);color:var(--text);font:inherit;font-weight:900;cursor:pointer}.fanwall-react.is-active{color:#ff9db3;border-color:rgba(255,122,151,.45);background:rgba(255,122,151,.1)}.fanwall-react:disabled{opacity:.65}.fanwall-empty{color:var(--muted)}
.fanwall-teaser{display:grid;gap:12px}.fanwall-teaser-strip{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:7px}.fanwall-teaser-image{width:100%;aspect-ratio:1/1;object-fit:cover;border-radius:12px;border:1px solid color-mix(in srgb,var(--line) 70%,transparent)}.fanwall-teaser .primary{justify-self:start;text-decoration:none}
@media(max-width:680px){.fanwall-grid{grid-template-columns:1fr}.fanwall-toolbar{align-items:stretch;flex-direction:column}.fanwall-toolbar .match-select{max-width:none;width:100%}.fanwall-card{border-radius:18px}.fanwall-card-body{padding:13px}.fanwall-photo-field{padding:14px}.fanwall-teaser-strip{grid-template-columns:repeat(4,minmax(0,1fr))}}

/* 2.20.25 · automatische Saisonchronik */
.chronicle-holder{display:grid;gap:18px;min-width:0}.chronicle-hero{position:relative;overflow:hidden;border-color:color-mix(in srgb,var(--accent) 34%,var(--line));background:radial-gradient(circle at 90% 5%,color-mix(in srgb,var(--accent) 18%,transparent),transparent 34%),linear-gradient(145deg,#14344e,#0a1d2f)}.chronicle-hero h2{margin:.15rem 0 .5rem;font-size:clamp(1.55rem,5vw,2.15rem)}.chronicle-counts{display:flex;flex-wrap:wrap;gap:8px;margin-top:13px}.chronicle-counts span{display:inline-flex;align-items:center;min-height:30px;padding:5px 10px;border:1px solid color-mix(in srgb,var(--accent) 30%,var(--line));border-radius:999px;background:color-mix(in srgb,var(--accent) 8%,var(--surface));font-size:.75rem;font-weight:850}.chronicle-controls{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.chronicle-section{display:grid;gap:12px;min-width:0}.chronicle-section>h2,.chronicle-section-head h2{margin:0;font-size:1.2rem}.chronicle-section-head{display:flex;align-items:end;justify-content:space-between;gap:10px;flex-wrap:wrap}.chronicle-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,190px),1fr));gap:10px}.chronicle-stat-card{display:grid;gap:10px;padding:14px;border:1px solid color-mix(in srgb,var(--line) 90%,transparent);border-radius:17px;background:linear-gradient(145deg,color-mix(in srgb,var(--surface) 96%,white 4%),var(--surface))}.chronicle-stat-team{font-size:1rem}.chronicle-stat-numbers{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px}.chronicle-stat-numbers>span{display:grid;gap:2px;text-align:center;padding:7px 3px;border-radius:11px;background:rgba(255,255,255,.035)}.chronicle-stat-numbers strong{font-size:1.15rem;line-height:1}.chronicle-stat-numbers small{font-size:.61rem;color:var(--muted)}.chronicle-standings{display:grid;gap:7px}.chronicle-standing-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:3px 12px;align-items:center;padding:10px 12px;border:1px solid color-mix(in srgb,var(--line) 80%,transparent);border-radius:13px;background:rgba(255,255,255,.025)}.chronicle-standing-row .small{grid-column:1/-1}.chronicle-standing-place{display:grid;place-items:center;min-width:42px;height:32px;border-radius:999px;background:color-mix(in srgb,var(--accent) 13%,var(--surface));color:var(--accent);font-weight:950}.chronicle-timeline{display:grid;gap:10px}.chronicle-month{margin:12px 0 2px;padding-left:2px;font-size:.85rem;text-transform:uppercase;letter-spacing:.08em;color:var(--accent)}.chronicle-event{display:grid;gap:10px;padding:14px;border:1px solid color-mix(in srgb,var(--line) 88%,transparent);border-radius:17px;background:linear-gradient(150deg,color-mix(in srgb,var(--surface) 97%,white 3%),var(--surface));box-shadow:0 8px 24px rgba(0,0,0,.09)}.chronicle-event.is-milestone{border-color:rgba(255,211,91,.28);background:radial-gradient(circle at 100% 0%,rgba(255,211,91,.08),transparent 38%),var(--surface)}.chronicle-event.is-fanwall{overflow:hidden}.chronicle-event-top{display:flex;align-items:center;justify-content:space-between;gap:10px}.chronicle-event-kind{font-size:.7rem;font-weight:950;letter-spacing:.04em;text-transform:uppercase;color:var(--accent)}.chronicle-event h3{margin:0;font-size:1.05rem}.chronicle-match-head{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px}.chronicle-match-copy{display:grid;gap:4px;min-width:0}.chronicle-match-copy h3{overflow-wrap:anywhere}.chronicle-score-detail{display:block;max-width:100%;font-size:.72rem;line-height:1.38;color:var(--muted);overflow-wrap:anywhere}.chronicle-result{display:grid;place-items:center;min-width:62px;max-width:84px;height:46px;padding:0 10px;border-radius:14px;border:1px solid color-mix(in srgb,var(--line) 90%,transparent);font-size:1.35rem;line-height:1;white-space:nowrap;background:#0b2032}.chronicle-result.is-win{color:#bff7d0;border-color:rgba(89,214,126,.34);background:rgba(40,138,72,.12)}.chronicle-result.is-loss{color:#ffd2d8;border-color:rgba(244,104,126,.26);background:rgba(145,42,58,.1)}.chronicle-awards{display:flex;flex-wrap:wrap;gap:6px}.chronicle-award{display:inline-flex;align-items:center;gap:5px;max-width:100%;padding:5px 8px;border-radius:999px;background:rgba(255,255,255,.035);border:1px solid color-mix(in srgb,var(--line) 80%,transparent);font-size:.69rem;font-weight:800}.chronicle-award-icon{font-size:.9rem}.chronicle-news-row{display:grid;grid-template-columns:84px minmax(0,1fr);gap:12px;align-items:start}.chronicle-news-image{width:84px;height:64px;object-fit:cover;border-radius:11px}.chronicle-news-row p{margin:.35rem 0 0;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.chronicle-fanwall-image{display:block;width:100%;max-height:360px;object-fit:cover;border-radius:13px}.chronicle-context{justify-self:start;display:inline-flex;padding:5px 8px;border-radius:999px;background:color-mix(in srgb,var(--accent) 10%,var(--surface));border:1px solid color-mix(in srgb,var(--accent) 25%,var(--line));font-size:.7rem;font-weight:800}.chronicle-fanwall-text{margin:0;white-space:pre-wrap}.chronicle-fanwall-foot{display:flex;align-items:center;justify-content:space-between;gap:10px}.module-season_chronicle>.section-heading+.chronicle-holder{margin-top:2px}
@media(max-width:680px){.chronicle-controls{grid-template-columns:1fr}.chronicle-stat-numbers{grid-template-columns:repeat(2,minmax(0,1fr))}.chronicle-match-head{grid-template-columns:minmax(0,1fr) auto}.chronicle-news-row{grid-template-columns:70px minmax(0,1fr)}.chronicle-news-image{width:70px;height:58px}.chronicle-event{padding:13px}.chronicle-section-head{align-items:flex-start;flex-direction:column}}

/* 2.20.26 · Chronik-Ergebnis auf schmalen Displays */
@media (max-width:400px){.chronicle-match-head{grid-template-columns:minmax(0,1fr);gap:8px}.chronicle-result{justify-self:start;min-width:64px;height:42px;font-size:1.2rem}.chronicle-event{padding:13px}.chronicle-score-detail{font-size:.69rem}}

/* Android-only Fan-Pass app icons */
.fan-pass-app-icon-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:14px}.fan-pass-app-icon-card{display:grid;grid-template-columns:64px minmax(0,1fr);gap:12px;align-items:center;padding:12px;border:1px solid color-mix(in srgb,var(--line) 82%,transparent);border-radius:18px;background:color-mix(in srgb,var(--surface) 92%,transparent)}.fan-pass-app-icon-card.is-active{border-color:color-mix(in srgb,var(--accent) 72%,white 12%);box-shadow:0 0 0 1px color-mix(in srgb,var(--accent) 28%,transparent),0 12px 30px rgba(0,0,0,.18)}.fan-pass-app-icon-preview{width:64px;height:64px;border-radius:50%;overflow:visible;background:transparent;box-shadow:none}.fan-pass-app-icon-preview img{display:block;width:100%;height:100%;object-fit:contain;filter:drop-shadow(0 7px 12px rgba(0,0,0,.28))}.fan-pass-app-icon-fallback{display:grid;width:100%;height:100%;place-items:center;font-size:30px}.fan-pass-app-icon-copy{display:grid;gap:3px;min-width:0}.fan-pass-app-icon-action,.fan-pass-app-icon-lock{grid-column:1/-1}.fan-pass-app-icon-action{width:100%}.fan-pass-app-icon-card.is-locked{opacity:.76}@media(max-width:560px){.fan-pass-app-icon-grid{grid-template-columns:1fr}.fan-pass-app-icon-card{grid-template-columns:58px minmax(0,1fr)}.fan-pass-app-icon-preview{width:58px;height:58px}}


/* 2.20.36 · Matchcenter Hub */
.matchcenter-intro{margin:-8px 0 18px;color:var(--muted);max-width:720px}.matchcenter-hub{display:grid;gap:22px}.matchcenter-hub-hero{position:relative;overflow:hidden;padding:24px;border:1px solid #41647e;border-radius:24px;background:radial-gradient(circle at 88% 12%,rgba(150,220,255,.18),transparent 28%),linear-gradient(145deg,#173752,#0b2032);box-shadow:0 18px 48px rgba(0,0,0,.18)}.matchcenter-hub-hero:after{content:'VFBW';position:absolute;right:-12px;bottom:-34px;color:rgba(255,255,255,.035);font-size:112px;font-weight:950;letter-spacing:-.08em;pointer-events:none}.matchcenter-hub-top{position:relative;z-index:1;display:flex;align-items:flex-start;justify-content:space-between;gap:18px}.matchcenter-hub-copy{min-width:0}.matchcenter-hub-copy h2{margin:4px 0 8px;font-size:clamp(25px,6vw,36px)}.matchcenter-hub-copy .muted{max-width:650px;margin-bottom:0}.matchcenter-hub-badge{flex:0 0 auto;display:inline-flex;align-items:center;padding:7px 10px;border:1px solid #4e718b;border-radius:999px;background:#0b2032;color:#cce9fb;font-size:10px;font-weight:950;letter-spacing:.08em}.matchcenter-hub-badge.is-live{border-color:#54c97a;background:#153d28;color:#9bffb6;box-shadow:0 0 0 3px rgba(84,201,122,.08)}.matchcenter-hub-stats{position:relative;z-index:1;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:20px}.matchcenter-hub-stat{display:grid;gap:3px;padding:13px 14px;border:1px solid rgba(118,164,196,.28);border-radius:15px;background:rgba(6,20,32,.52)}.matchcenter-hub-stat strong{font-size:24px;color:#fff;font-variant-numeric:tabular-nums}.matchcenter-hub-stat span{color:#a9c2d4;font-size:11px;font-weight:800}.matchcenter-hub-section{display:grid;gap:12px}.matchcenter-hub-section>.section-heading{margin:0}.matchcenter-focus-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr))}.matchcenter-schedule{padding:20px;border:1px solid var(--line);border-radius:22px;background:rgba(15,39,59,.52)}.matchcenter-toolbar{display:grid;grid-template-columns:minmax(180px,260px) minmax(0,1fr) auto;gap:10px;align-items:center;margin:2px 0 15px}.matchcenter-team-select{width:100%;max-width:none}.matchcenter-hub-tabs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;padding:5px;border:1px solid #35556e;border-radius:14px;background:#0a1d2d}.matchcenter-hub-tabs .secondary{min-height:40px;padding:8px 10px;border-color:transparent;background:transparent;font-size:12px}.matchcenter-hub-tabs .secondary[aria-pressed=true]{border-color:#96dcff;background:#96dcff;color:#092139;box-shadow:0 4px 14px rgba(150,220,255,.12)}.matchcenter-favorite-filter{min-height:46px;white-space:nowrap}.matchcenter-favorite-filter[aria-pressed=true]{border-color:#96dcff;background:#173b55;color:#d8f4ff}.matchcenter-hub-list{grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr))}.module-matchcenter>.section-heading{margin-bottom:10px}
@media(max-width:760px){.matchcenter-toolbar{grid-template-columns:1fr}.matchcenter-favorite-filter{width:100%}.matchcenter-hub-top{align-items:flex-start}.matchcenter-hub-badge{margin-top:2px}.matchcenter-schedule{padding:16px}.matchcenter-hub-hero{padding:20px}}
@media(max-width:480px){.matchcenter-hub-stats{grid-template-columns:1fr 1fr}.matchcenter-hub-stat:last-child{grid-column:1/-1}.matchcenter-hub-top{display:grid}.matchcenter-hub-badge{width:max-content}.matchcenter-hub-tabs .secondary{padding-inline:6px;font-size:11px}.matchcenter-hub-hero:after{font-size:82px}}

/* 2.20.37 · Kader vollständig in Unsere Teams integriert */
.team-roster-count{margin:.25rem 0 0;color:var(--muted);font-size:.84rem;font-weight:700}
.team-card .roster-open{display:inline-flex;margin-top:.45rem}
.team-roster-summary{display:inline-flex;align-items:center;justify-content:center;padding:.38rem .66rem;border-radius:999px;background:rgba(255,255,255,.07);font-size:.78rem;font-weight:800;color:var(--muted)}
@media (max-width:640px){.team-roster-summary{font-size:.74rem}.team-card .roster-open{font-size:.78rem}}


/* 2.20.38 · Aufgeräumte Hauptbereiche */
.more-clean-intro{max-width:720px;margin:-8px 0 10px}.more-grid-clean{grid-template-columns:repeat(3,minmax(0,1fr));margin-top:18px}.more-grid-clean .more-card{min-height:92px}.club-hub-intro{margin-bottom:22px;border-color:#426d89;background:radial-gradient(circle at 100% 0%,rgba(150,220,255,.14),transparent 38%),linear-gradient(145deg,#153650,#10263b)}.club-hub-intro h2{margin-bottom:8px}.club-hub-section{margin:0 0 28px}.club-hub-section>h2{margin:.2rem 0 13px}.club-hub-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:11px}.club-hub-card{display:flex;align-items:center;gap:13px;min-width:0;padding:16px;border:1px solid var(--line);border-radius:17px;background:linear-gradient(145deg,#142d45,#0d2032);color:inherit;text-decoration:none}.club-hub-card:hover{border-color:#5f829d;color:inherit}.club-hub-icon{display:grid;place-items:center;width:42px;height:42px;flex:0 0 42px;border-radius:13px;background:#173b59;color:var(--accent);font-size:21px}.club-hub-copy{display:grid;gap:3px;min-width:0;flex:1}.club-hub-copy strong{overflow-wrap:anywhere}.club-hub-copy small{color:var(--muted);line-height:1.35}.club-hub-arrow{color:var(--accent);font-weight:950}.matchcenter-utility-strip{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}.matchcenter-utility-link{display:flex;align-items:center;gap:8px;min-width:0;padding:12px 13px;border:1px solid var(--line);border-radius:15px;background:#10283d;color:inherit;text-decoration:none}.matchcenter-utility-link strong{min-width:0;flex:1;font-size:12px}.matchcenter-stream-panel{display:grid}.matchcenter-stream-panel.is-live{order:-1}.matchcenter-stream-compact{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:15px 17px;border:1px solid #3d5e78;border-radius:18px;background:linear-gradient(145deg,#151f33,#101b2b)}.matchcenter-stream-compact h3{margin:2px 0 4px;font-size:18px}.home-hero-clean{margin-bottom:22px}.nav-custom-card.is-fixed{border-style:dashed}.app-nav .nav-item:nth-child(4) .nav-icon{filter:saturate(1.08)}
@media(max-width:680px){.more-grid-clean,.club-hub-grid,.matchcenter-utility-strip{grid-template-columns:1fr}.matchcenter-stream-compact{align-items:flex-start;flex-direction:column}.matchcenter-stream-compact .secondary{width:100%;text-align:center}.home-hero-clean{padding-bottom:22px}.app-nav{padding-left:6px;padding-right:6px}.nav-item{font-size:8.45px;padding-left:1px;padding-right:1px}.nav-icon{width:27px;height:27px;flex-basis:27px;font-size:20px}.nav-label{min-height:17px}}

.settings-group-head{margin:28px 0 10px}.settings-group-head h2{margin:.15rem 0 0;font-size:1.25rem}.settings-group-head+.content-card{margin-top:0}


/* 2.20.39 · Eigene Bottom-Nav-Icons + vollständige Beschriftungen */
.quick-card{min-height:64px}.quick-label,.nav-label{hyphens:auto}.nav-item .nav-label{max-height:none}

/* 2.20.40 · Design-adaptive fixed-navigation icons */
body.fan-app-theme-vhsglitch .nav-icon.has-image:after{background:linear-gradient(135deg,var(--accent) 18%,#ff78c8 82%)}
body.fan-app-theme-neon .nav-icon.has-image:after{background:linear-gradient(135deg,var(--accent) 20%,#f68cff 86%)}
body.fan-app-theme-hologram .nav-icon.has-image:after{background:linear-gradient(135deg,var(--accent),#ff9ee8 52%,#ffe58d)}
body.fan-app-theme-cosmicgold .nav-icon.has-image:after,body.fan-app-theme-mvp .nav-icon.has-image:after,body.fan-app-theme-gold .nav-icon.has-image:after,body.fan-app-theme-legendaer .nav-icon.has-image:after{background:linear-gradient(145deg,#fff0a8,var(--accent) 54%,#c4952a)}
body.fan-app-theme-blackout .nav-icon.has-image:after,body.fan-app-theme-comicnoir .nav-icon.has-image:after{background:linear-gradient(145deg,#fff,var(--accent) 58%,#8f98a1)}
@supports not (mix-blend-mode:color){body.fan-app-theme-enabled .nav-icon.has-image:after{display:none}}

/* 2.20.41 · Unified module artwork + clean labels */
.app-module-icon{position:relative;isolation:isolate;overflow:visible;background:transparent!important;border-radius:0!important;color:var(--accent)}
.module-icon-img{display:block;width:100%;height:100%;object-fit:contain;position:relative;z-index:1;filter:drop-shadow(0 3px 7px rgba(0,0,0,.2));transition:filter .18s ease,transform .18s ease}
.app-module-icon.has-image:after{content:'';position:absolute;inset:0;z-index:2;pointer-events:none;opacity:0;mix-blend-mode:color;background:var(--accent);-webkit-mask-image:var(--module-icon-url);mask-image:var(--module-icon-url);-webkit-mask-position:center;mask-position:center;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-size:contain;mask-size:contain;transition:opacity .18s ease}
body.fan-app-theme-enabled .app-module-icon.has-image:after{opacity:.5}
body.fan-app-theme-vhsglitch .app-module-icon.has-image:after{background:linear-gradient(135deg,var(--accent) 18%,#ff78c8 82%);opacity:.62}
body.fan-app-theme-neon .app-module-icon.has-image:after{background:linear-gradient(135deg,var(--accent) 18%,#f68cff 84%);opacity:.65}
body.fan-app-theme-hologram .app-module-icon.has-image:after{background:linear-gradient(135deg,var(--accent),#ff9ee8 50%,#ffe58d);opacity:.58}
body.fan-app-theme-cosmicgold .app-module-icon.has-image:after,body.fan-app-theme-mvp .app-module-icon.has-image:after,body.fan-app-theme-gold .app-module-icon.has-image:after,body.fan-app-theme-legendaer .app-module-icon.has-image:after{background:linear-gradient(145deg,#fff0a8,var(--accent) 55%,#c4952a);opacity:.63}
body.fan-app-theme-blackout .app-module-icon.has-image:after,body.fan-app-theme-comicnoir .app-module-icon.has-image:after{background:linear-gradient(145deg,#fff,var(--accent) 58%,#8f98a1);opacity:.72}
@supports not (mix-blend-mode:color){body.fan-app-theme-enabled .app-module-icon.has-image:after{display:none}}
.quick-icon{width:38px;height:38px;flex:0 0 38px}
.club-hub-icon{width:48px;height:48px;flex:0 0 48px}
.more-icon{display:grid;place-items:center;width:50px;height:50px;flex:0 0 50px;font-size:26px}
.quick-label,.nav-label,.club-hub-copy strong,.more-card strong{hyphens:none!important;-webkit-hyphens:none!important;word-break:normal!important;overflow-wrap:normal!important}
.quick-label{font-size:clamp(10px,2.7vw,12px);line-height:1.12;letter-spacing:-.018em}
.quick-card{gap:8px;padding:12px 11px}
.quick-arrow{flex:0 0 auto;margin-left:auto}
.club-hub-copy strong{line-height:1.16}
@media(max-width:360px){.quick-icon{width:31px;height:31px;flex-basis:31px}.quick-card{padding:10px 8px;gap:6px}.quick-label{font-size:9.4px}.quick-arrow{font-size:12px}.club-hub-icon{width:43px;height:43px;flex-basis:43px}}


/* 2.20.44 · Verein/Mehr Icon-System: gleiche optische Groesse und Abstaende */
.club-hub-card,.more-card{align-items:center}
.club-hub-icon,.more-icon{display:grid;place-items:center;overflow:visible!important;background:transparent!important;border-radius:0!important}
.club-hub-icon{width:54px;height:54px;flex:0 0 54px}
.more-icon{width:54px;height:54px;flex:0 0 54px}
.club-hub-icon .module-icon-img,.more-icon .module-icon-img{width:100%;height:100%;object-fit:contain;transform-origin:center center}
.club-hub-card{min-height:92px;padding:15px 16px;gap:14px}
.more-card{min-height:92px;gap:14px}
.club-hub-copy strong,.more-card strong{line-height:1.16}

/* Optische Korrektur statt nur identischer Pixelbox: Motive haben unterschiedlich viel Transparenz im Asset. */
.app-module-icon.icon-kind-season_chronicle .module-icon-img{transform:scale(1.10)}
.app-module-icon.icon-kind-matchcenter .module-icon-img,.app-module-icon.icon-kind-matches .module-icon-img{transform:scale(1.08)}
.app-module-icon.icon-kind-teams .module-icon-img,.app-module-icon.icon-kind-roster .module-icon-img{transform:scale(1.04)}
.app-module-icon.icon-kind-contacts .module-icon-img{transform:scale(1.03)}
.app-module-icon.icon-kind-venues .module-icon-img{transform:scale(1.03)}
.app-module-icon.icon-kind-calendar .module-icon-img,.app-module-icon.icon-kind-agenda .module-icon-img{transform:scale(1.01)}
.app-module-icon.icon-kind-notices .module-icon-img{transform:scale(1.01)}
.app-module-icon.icon-kind-training .module-icon-img{transform:scale(1.01)}
.app-module-icon.icon-kind-tournament .module-icon-img{transform:scale(1.00)}
.app-module-icon.icon-kind-helpers .module-icon-img{transform:scale(.98)}
.app-module-icon.icon-kind-season_ticket .module-icon-img{transform:scale(.91)}
.app-module-icon.icon-kind-settings .module-icon-img{transform:scale(.88)}
.app-module-icon.icon-kind-club .module-icon-img{transform:scale(.94)}
.app-module-icon.icon-kind-channels .module-icon-img{transform:scale(.96)}
.app-module-icon.icon-kind-studio .module-icon-img{transform:scale(.97)}
.app-module-icon.icon-kind-table .module-icon-img{transform:scale(.95)}

body.fan-app-theme-enabled .club-hub-card,body.fan-app-theme-enabled .more-card{border-color:var(--theme-border)!important;background:linear-gradient(145deg,color-mix(in srgb,var(--surface) 92%,var(--accent) 8%),color-mix(in srgb,var(--surface) 98%,var(--bg) 2%))!important}
body.fan-app-theme-enabled .club-hub-icon.has-image:after,body.fan-app-theme-enabled .more-icon.has-image:after{opacity:.58}
body.fan-app-theme-enabled .club-hub-icon .module-icon-img,body.fan-app-theme-enabled .more-icon .module-icon-img{filter:drop-shadow(0 3px 8px color-mix(in srgb,var(--accent) 18%,transparent)) saturate(.92) brightness(1.02)}
body.fan-app-theme-vhsglitch .club-hub-icon.has-image:after,body.fan-app-theme-vhsglitch .more-icon.has-image:after{opacity:.68}
body.fan-app-theme-neon .club-hub-icon.has-image:after,body.fan-app-theme-neon .more-icon.has-image:after{opacity:.70}
body.fan-app-theme-blackout .club-hub-icon .module-icon-img,body.fan-app-theme-blackout .more-icon .module-icon-img{filter:grayscale(.72) contrast(1.06) brightness(.98)}

@media(max-width:680px){
 .club-hub-icon,.more-icon{width:52px;height:52px;flex-basis:52px}
 .club-hub-card,.more-card{gap:13px}
}
@media(max-width:360px){
 .club-hub-icon,.more-icon{width:47px;height:47px;flex-basis:47px}
 .club-hub-card,.more-card{gap:10px;padding-left:13px;padding-right:13px}
}

/* 2.30.0 · Start 2.0, Matchcenter 4.0, Teamzentrale 2.0, Offline 2.0 */
.app-skeleton{display:grid;gap:12px;width:100%}.app-skeleton-cards{grid-template-columns:repeat(auto-fit,minmax(min(100%,270px),1fr))}.app-skeleton-card{display:grid;gap:12px;min-height:150px;padding:20px;border:1px solid var(--line);border-radius:20px;background:color-mix(in srgb,var(--surface) 92%,var(--bg) 8%);overflow:hidden}.app-skeleton-line{display:block;height:12px;border-radius:999px;background:linear-gradient(100deg,color-mix(in srgb,var(--line) 60%,transparent) 22%,color-mix(in srgb,var(--text) 14%,transparent) 42%,color-mix(in srgb,var(--line) 60%,transparent) 62%);background-size:240% 100%;animation:vfbwSkeleton 1.6s ease-in-out infinite}.app-skeleton-line.is-short{width:30%;height:9px}.app-skeleton-line.is-title{width:72%;height:24px}.app-skeleton-line.is-medium{width:55%}@keyframes vfbwSkeleton{0%{background-position:120% 0}100%{background-position:-120% 0}}@media(prefers-reduced-motion:reduce){.app-skeleton-line{animation:none}}
.offline-global-banner{display:flex;align-items:center;gap:11px;margin:0 0 17px;padding:11px 14px;border:1px solid color-mix(in srgb,var(--accent) 42%,var(--line));border-radius:15px;background:color-mix(in srgb,var(--surface) 90%,var(--accent) 10%);color:var(--text)}.offline-global-icon{display:grid;place-items:center;width:34px;height:34px;flex:0 0 34px;border-radius:11px;background:color-mix(in srgb,var(--accent) 17%,transparent);color:var(--accent);font-size:20px;font-weight:900}.offline-global-banner>div{display:grid;gap:2px;min-width:0}.offline-global-banner strong{font-size:13px}.offline-global-banner span:last-child{font-size:11px;color:var(--muted)}
.home-smart-hero{position:relative;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:22px;align-items:end;overflow:hidden;margin-bottom:26px;padding:27px;border:1px solid color-mix(in srgb,var(--accent) 38%,var(--line));border-radius:26px;background:radial-gradient(circle at 90% 10%,color-mix(in srgb,var(--accent) 18%,transparent),transparent 34%),linear-gradient(145deg,color-mix(in srgb,var(--surface) 94%,var(--accent) 6%),color-mix(in srgb,var(--bg) 82%,var(--surface) 18%));box-shadow:0 18px 48px rgba(0,0,0,.16)}.home-smart-hero:after{content:'VFBW';position:absolute;right:-8px;bottom:-38px;font-size:118px;font-weight:950;letter-spacing:-.08em;color:color-mix(in srgb,var(--text) 4%,transparent);pointer-events:none}.home-smart-copy,.home-smart-actions,.home-smart-status{position:relative;z-index:1}.home-smart-copy{min-width:0}.home-smart-copy h1{margin:6px 0 10px;max-width:680px;font-size:clamp(32px,7vw,54px);line-height:.98;letter-spacing:-.035em}.home-smart-opponent,.home-smart-default{margin:0;color:var(--muted);font-size:clamp(16px,3vw,20px)}.home-smart-kicker{color:var(--accent)}.home-smart-score{display:flex;align-items:center;gap:10px;margin:15px 0 5px;font-size:48px;line-height:1;font-variant-numeric:tabular-nums}.home-smart-score strong{font-size:inherit}.home-smart-score span{color:var(--muted);font-weight:700}.home-smart-meta{margin:6px 0 0;color:var(--text);font-weight:800}.home-smart-meta-list{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}.home-smart-meta-list span{display:inline-flex;min-height:30px;align-items:center;padding:5px 10px;border:1px solid color-mix(in srgb,var(--line) 72%,var(--accent) 28%);border-radius:999px;background:color-mix(in srgb,var(--surface) 86%,transparent);color:var(--text);font-size:12px;font-weight:800}.home-smart-countdown{display:grid;gap:3px;margin-top:15px}.home-smart-countdown strong{font-size:clamp(20px,4vw,28px);color:var(--accent);font-variant-numeric:tabular-nums}.home-smart-actions{display:flex;flex-direction:column;min-width:190px;gap:9px}.home-smart-actions .primary,.home-smart-actions .secondary{text-align:center}.home-smart-status{grid-column:1/-1;display:flex;align-items:center;justify-content:space-between;gap:10px;padding-top:14px;border-top:1px solid color-mix(in srgb,var(--line) 65%,transparent);color:var(--muted);font-size:10px;font-weight:800}.home-smart-status span:first-child{color:var(--accent)}.home-smart-hero.is-live{border-color:color-mix(in srgb,#54d58a 55%,var(--line));background:radial-gradient(circle at 88% 12%,rgba(84,213,138,.18),transparent 30%),linear-gradient(145deg,color-mix(in srgb,var(--surface) 92%,#15492d 8%),var(--bg))}.home-smart-hero.is-live .home-smart-kicker{color:#8fffb2}.home-smart-hero.is-cached{filter:saturate(.86)}
.matchcenter-phase-rail{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}.matchcenter-phase{display:grid;grid-template-columns:auto 1fr;gap:2px 9px;align-items:center;padding:13px 14px;border:1px solid var(--line);border-radius:17px;background:color-mix(in srgb,var(--surface) 88%,var(--bg) 12%)}.matchcenter-phase-count{grid-row:1/3;display:grid;place-items:center;width:36px;height:36px;border-radius:12px;background:color-mix(in srgb,var(--accent) 10%,var(--surface));color:var(--accent);font-size:18px;font-weight:950}.matchcenter-phase strong{font-size:11px;letter-spacing:.06em}.matchcenter-phase small{color:var(--muted);font-size:9px}.matchcenter-phase.is-active{border-color:color-mix(in srgb,var(--accent) 55%,var(--line));background:color-mix(in srgb,var(--surface) 82%,var(--accent) 18%);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--accent) 12%,transparent)}.matchcenter-now{display:grid;gap:11px}.matchcenter-now>.section-heading{margin:0}.matchcenter-card.is-priority{border-color:color-mix(in srgb,var(--accent) 62%,var(--line));box-shadow:0 15px 38px color-mix(in srgb,var(--accent) 8%,rgba(0,0,0,.18))}.matchcenter-card.is-priority .matchcenter-score{font-size:clamp(40px,8vw,58px)}
.team-detail-meta{display:flex;flex-wrap:wrap;gap:7px;margin:2px 0 4px}.team-standings-holder{padding:15px;border:1px solid var(--line);border-radius:19px;background:color-mix(in srgb,var(--surface) 90%,var(--bg) 10%)}.team-standing-list{display:grid;gap:5px}.team-standing-row{display:grid;grid-template-columns:36px minmax(0,1fr) auto auto;gap:9px;align-items:center;min-height:43px;padding:7px 9px;border-radius:12px;color:var(--muted)}.team-standing-row.is-own{background:color-mix(in srgb,var(--accent) 14%,var(--surface));color:var(--text);box-shadow:inset 3px 0 0 var(--accent)}.team-standing-place{display:grid;place-items:center;color:var(--text);font-variant-numeric:tabular-nums}.team-standing-name{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:12px;font-weight:780}.team-standing-games{font-size:10px;white-space:nowrap}.team-standing-points{color:var(--text);font-size:11px;white-space:nowrap}
@media(max-width:700px){.home-smart-hero{grid-template-columns:1fr;padding:22px 19px}.home-smart-actions{display:grid;grid-template-columns:1fr 1fr;min-width:0}.home-smart-actions>:only-child{grid-column:1/-1}.home-smart-status{display:grid;justify-content:start}.home-smart-hero:after{font-size:82px}.matchcenter-phase-rail{grid-template-columns:1fr}.team-standing-row{grid-template-columns:30px minmax(0,1fr) auto}.team-standing-games{display:none}}

/* 2.30.1 · Dokumentenbereich */
.documents-holder{display:grid;gap:22px}.documents-intro{margin:0}.documents-category{display:grid;gap:12px}.documents-category>h2{margin:-3px 0 0}.documents-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.document-card{display:grid;gap:14px;padding:17px;border:1px solid var(--line);border-radius:18px;background:linear-gradient(145deg,#142d45,#0d2032);min-width:0}.document-card-top{display:flex;align-items:center;gap:13px;min-width:0}.document-file-icon{display:grid;place-items:center;width:48px;height:48px;flex:0 0 48px;border-radius:15px;border:1px solid color-mix(in srgb,var(--accent) 35%,var(--line));background:color-mix(in srgb,var(--accent) 11%,var(--surface));color:var(--accent);font-size:11px;font-weight:950;letter-spacing:.05em}.document-card-copy{min-width:0;display:grid;gap:3px}.document-card-copy h3{margin:0;font-size:16px;overflow-wrap:anywhere}.document-card-copy p{margin:0}.document-card-actions{display:flex;flex-wrap:wrap;gap:8px}.document-card-actions .primary,.document-card-actions .secondary{flex:1 1 140px;text-align:center}.documents-updated{margin:0}.icon-kind-documents .module-icon-img{transform:scale(.94)}body.fan-app-theme-enabled .document-card{background:linear-gradient(145deg,color-mix(in srgb,var(--surface) 94%,white 6%),var(--surface));border-color:var(--theme-border)}
@media(max-width:680px){.documents-grid{grid-template-columns:1fr}.document-card-actions .primary,.document-card-actions .secondary{flex-basis:100%}}


/* 2.30.2 · Ausfüllbare Vereinsformulare */
.document-form-note{display:grid;gap:6px;margin-bottom:18px}.document-native-form{display:grid;gap:18px}.document-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.document-form-subsection{margin-top:-6px}.document-form-field{display:grid;gap:7px;min-width:0}.document-form-label{font-size:.78rem;font-weight:900;letter-spacing:.02em;color:var(--muted)}.document-form-input{width:100%;min-width:0;border:1px solid var(--line);border-radius:13px;background:color-mix(in srgb,var(--surface) 92%,var(--bg) 8%);color:var(--text);padding:12px 13px;font:inherit;box-sizing:border-box}.document-form-input:focus{outline:2px solid color-mix(in srgb,var(--accent) 62%,transparent);outline-offset:1px;border-color:var(--accent)}.document-form-signature{display:grid;gap:8px;padding:14px;border:1px solid var(--line);border-radius:16px;background:color-mix(in srgb,var(--surface) 94%,var(--bg) 6%)}.document-signature-canvas{display:block;width:100%;height:135px;background:#fff;border-radius:12px;touch-action:none}.document-signature-actions{display:flex;justify-content:flex-end}.document-driver-card{display:grid;gap:10px;padding:14px;border:1px solid var(--line);border-radius:16px;background:color-mix(in srgb,var(--surface) 94%,var(--bg) 6%)}.document-driver-card h3{margin:0}.document-form-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:4px}.document-form-actions>*{flex:1 1 190px;text-align:center}.document-form-local-note{margin:0}.document-print-root{display:none}
@media(max-width:680px){.document-form-grid{grid-template-columns:1fr}.document-signature-canvas{height:120px}.document-card-actions{display:grid;grid-template-columns:1fr}.document-card-actions .primary,.document-card-actions .secondary{width:100%}}
@media print{
 @page{size:A4;margin:12mm}
 body.vfbw-document-printing{background:#fff!important;color:#000!important}
 body.vfbw-document-printing>*:not(#document-print-root){display:none!important}
 body.vfbw-document-printing #document-print-root{display:block!important;color:#000!important;background:#fff!important;font-family:Arial,Helvetica,sans-serif!important}
 .doc-print-page{box-sizing:border-box;min-height:272mm;padding:5mm 4mm;background:#fff;color:#000;page-break-after:always;font-size:10.5pt;line-height:1.35}
 .doc-print-page:last-child{page-break-after:auto}.doc-print-head{display:flex;justify-content:space-between;gap:20px;border-bottom:1px solid #444;padding-bottom:8px}.doc-print-page h1{text-align:center;letter-spacing:.08em;font-size:20pt;margin:18px 0}.doc-print-page h2{font-size:12pt;margin:18px 0 9px;border-bottom:1px solid #999;padding-bottom:4px}.doc-print-grid{display:grid;grid-template-columns:115px minmax(0,1fr) 115px minmax(0,1fr);gap:8px 12px;margin:12px 0}.doc-print-grid span{min-height:22px;border-bottom:1px solid #777;padding:2px 4px}.doc-print-grid .doc-print-wide{grid-column:2/5}.doc-print-page table{width:100%;border-collapse:collapse;margin:10px 0}.doc-print-page td,.doc-print-page th{border:1px solid #aaa;padding:6px;text-align:left}.doc-print-signatures{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin-top:28px;align-items:end}.doc-print-signatures>div{display:grid;gap:4px;text-align:center}.doc-print-signatures small{border-top:1px solid #777;padding-top:3px}.doc-print-signature{display:block;max-width:100%;height:44px;object-fit:contain;margin:auto}.doc-print-signature-line{display:block;height:44px}.doc-print-player-list{columns:3;column-gap:28px;margin:10px 0 16px}.doc-print-player-list li{min-height:22px;border-bottom:1px solid #aaa;margin:0 0 6px;padding-left:4px}.doc-print-note{font-size:9pt}.doc-print-blank-lines{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;margin-top:24px}.doc-print-blank-lines span{padding-top:38px;border-top:1px solid #777;text-align:center;font-size:9pt}
}

/* 2.30.5 · Smart Push 2.0 */
.push-presets{display:flex;align-items:center;flex-wrap:wrap;gap:8px;padding:2px 0}.push-presets>span{margin-right:2px}.push-preset{min-height:34px;padding:7px 11px;font-size:.78rem}.push-use-favorites{justify-self:start;margin-top:4px}.push-card .notice{line-height:1.45}
@media(max-width:520px){.push-presets{display:grid;grid-template-columns:1fr 1fr 1fr}.push-presets>span{grid-column:1/-1}.push-preset{width:100%;padding-left:6px;padding-right:6px}}

/* 2.30.6 · Mein Verein 1.0 + data/offline polish */
.my-club-holder{display:grid;gap:16px}.my-club-hero{position:relative;overflow:hidden;background:radial-gradient(circle at 92% 6%,color-mix(in srgb,var(--accent) 18%,transparent),transparent 35%),linear-gradient(145deg,color-mix(in srgb,var(--surface) 96%,white 4%),var(--surface));border-color:color-mix(in srgb,var(--accent) 32%,var(--line))}.my-club-hero:after{content:'★';position:absolute;right:24px;bottom:-18px;font-size:104px;font-weight:950;line-height:1;color:color-mix(in srgb,var(--accent) 9%,transparent);pointer-events:none}.my-club-hero-copy{position:relative;z-index:1;max-width:620px}.my-club-hero h2{font-size:clamp(25px,5vw,38px);margin:5px 0 9px}.my-club-summary-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.my-club-stat{display:grid;gap:3px;min-width:0;padding:14px;border:1px solid var(--line);border-radius:17px;background:color-mix(in srgb,var(--surface) 90%,var(--bg) 10%)}.my-club-stat-icon{font-size:19px}.my-club-stat strong{font-size:17px;color:var(--text);overflow-wrap:anywhere}.my-club-stat small{font-size:10px;color:var(--muted);font-weight:780}.app-data-status{display:grid;grid-template-columns:auto minmax(0,1fr);gap:11px;align-items:center}.app-data-status p{margin:3px 0 0}.app-data-dot{width:13px;height:13px;border-radius:999px;box-shadow:0 0 0 5px color-mix(in srgb,var(--accent) 7%,transparent)}.app-data-dot.is-online{background:#64e49b}.app-data-dot.is-offline{background:#ffb96b}.my-club-sync{padding:15px 17px}.my-club-profile-editor{padding:0;overflow:hidden}.my-club-profile-editor>summary{cursor:pointer;list-style:none;padding:17px 20px;font-weight:900}.my-club-profile-editor>summary::-webkit-details-marker{display:none}.my-club-profile-editor>summary:after{content:'＋';float:right;color:var(--accent)}.my-club-profile-editor[open]>summary{border-bottom:1px solid var(--line)}.my-club-profile-editor[open]>summary:after{content:'−'}.my-club-profile-form{display:grid;gap:16px;padding:18px 20px 20px}.my-club-pin-box{display:grid;gap:8px;padding:14px;border:1px solid var(--line);border-radius:15px;background:color-mix(in srgb,var(--surface) 94%,var(--bg) 6%)}.my-club-pin-box p{margin:0}.my-club-section>.favorite-card{margin:0}.my-club-areas h2,.my-club-drafts h2{margin-top:3px}.my-club-link-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;margin-top:12px}.my-club-link-card{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:11px;align-items:center;min-width:0;padding:13px;border:1px solid var(--line);border-radius:15px;background:color-mix(in srgb,var(--surface) 92%,var(--bg) 8%);color:inherit;text-decoration:none}.my-club-link-card:hover{border-color:color-mix(in srgb,var(--accent) 55%,var(--line));color:inherit}.my-club-link-icon{display:grid;place-items:center;width:38px;height:38px;border-radius:12px;background:color-mix(in srgb,var(--accent) 10%,var(--surface));font-size:20px}.my-club-link-copy{display:grid;gap:2px;min-width:0}.my-club-link-copy strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.my-club-link-copy small{color:var(--muted);font-size:10px}.my-club-link-arrow{color:var(--accent);font-weight:950}.my-club-draft-list{display:grid;gap:7px}.my-club-draft-row{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:10px;align-items:center;padding:12px 0;border-bottom:1px solid var(--line);color:inherit;text-decoration:none}.my-club-draft-row:last-child{border-bottom:0}.my-club-draft-row span:last-child{color:var(--accent)}.my-club-local-note{text-align:center;margin:1px 10px 8px}.my-club-lock{display:grid;justify-items:start;gap:10px;max-width:600px;margin:20px auto}.my-club-lock-icon{width:66px;height:66px}.my-club-lock .document-form-input{max-width:260px}.my-club-lock-actions{display:flex;flex-wrap:wrap;gap:9px}.icon-kind-my_club .module-icon-img{transform:scale(.95)}
body.fan-app-theme-enabled .my-club-stat,body.fan-app-theme-enabled .my-club-link-card,body.fan-app-theme-enabled .my-club-pin-box{border-color:var(--theme-border)}
@media(max-width:700px){.my-club-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.my-club-link-grid{grid-template-columns:1fr}.my-club-hero:after{font-size:80px;right:12px}.my-club-profile-form{padding-left:16px;padding-right:16px}.my-club-lock-actions{display:grid;width:100%}.my-club-lock-actions>*{width:100%}}


/* 2.30.8 · final polish / resilient route rendering */
.app-skeleton{display:grid;gap:12px;width:100%}.app-skeleton-card{min-height:106px;padding:18px;border:1px solid var(--line);border-radius:18px;background:color-mix(in srgb,var(--surface) 92%,transparent);overflow:hidden;position:relative}.app-skeleton-card:after{content:'';position:absolute;inset:0;transform:translateX(-110%);background:linear-gradient(100deg,transparent 22%,color-mix(in srgb,var(--accent) 11%,transparent) 48%,transparent 74%);animation:vfbwSkeletonSweep 1.35s ease-in-out infinite}.app-skeleton-line{display:block;height:10px;border-radius:999px;background:color-mix(in srgb,var(--muted) 24%,transparent);margin:10px 0}.app-skeleton-line.is-short{width:24%}.app-skeleton-line.is-title{height:17px;width:58%}.app-skeleton-line.is-medium{width:72%}@keyframes vfbwSkeletonSweep{to{transform:translateX(110%)}}.connection-state{max-width:760px}.connection-state-actions{flex-wrap:wrap}@media(prefers-reduced-motion:reduce){.app-skeleton-card:after{animation:none}}


/* 2.31.2 · Digitales Hallenheft */
.hall-magazine-holder{display:grid;gap:16px}.hall-magazine-controls{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.hall-magazine-hero{position:relative;overflow:hidden;padding:24px;border:1px solid color-mix(in srgb,var(--accent) 34%,var(--line));border-radius:24px;background:radial-gradient(circle at 90% 0%,color-mix(in srgb,var(--accent) 18%,transparent),transparent 38%),linear-gradient(145deg,color-mix(in srgb,var(--surface) 88%,var(--accent) 12%),var(--surface));box-shadow:0 18px 38px rgba(0,0,0,.12)}.hall-magazine-hero h2{font-size:clamp(1.55rem,5vw,2.35rem);margin:8px 0 14px}.hall-magazine-edition{display:inline-flex;padding:5px 9px;border:1px solid color-mix(in srgb,var(--accent) 34%,transparent);border-radius:999px;color:var(--accent);font-size:.72rem;font-weight:900}.hall-magazine-meta{display:flex;flex-wrap:wrap;gap:7px;margin-bottom:17px}.hall-magazine-section{margin:0}.hall-magazine-facts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.hall-magazine-fact{display:grid;gap:4px;padding:13px;border:1px solid var(--line);border-radius:15px;background:color-mix(in srgb,var(--surface) 92%,var(--accent) 8%)}.hall-magazine-fact strong{font-size:1.15rem}.hall-magazine-roster{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:12px 0}.hall-magazine-player{display:grid;grid-template-columns:48px minmax(0,1fr);grid-template-rows:auto auto;column-gap:10px;align-items:center;padding:10px;border:1px solid var(--line);border-radius:14px;color:inherit;text-decoration:none}.hall-magazine-player-img{grid-row:1/3;width:48px;height:48px;border-radius:14px;object-fit:cover;background:var(--theme-soft-bg,#16324a)}.hall-magazine-player-fallback{display:grid;place-items:center;color:var(--accent);font-weight:950}.hall-magazine-mvp{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.hall-magazine-mvp-card{display:grid;gap:4px;padding:12px;border:1px solid var(--line);border-radius:14px}.hall-magazine-footer{background:linear-gradient(145deg,color-mix(in srgb,var(--surface) 86%,var(--accent) 14%),var(--surface))}.matchcenter-utility-strip{grid-template-columns:repeat(4,minmax(0,1fr))}
@media(max-width:680px){.hall-magazine-facts,.hall-magazine-roster,.hall-magazine-mvp{grid-template-columns:1fr}.matchcenter-utility-strip{grid-template-columns:1fr}.hall-magazine-hero{padding:20px}}

/* 2.32.0 · Historisches Saisonarchiv */
.chronicle-archive{display:grid;gap:18px;border-color:color-mix(in srgb,var(--accent) 32%,var(--line));background:radial-gradient(circle at 100% 0%,color-mix(in srgb,var(--accent) 10%,transparent),transparent 38%),var(--surface)}
.chronicle-archive-head{display:flex;align-items:flex-start;justify-content:space-between;gap:14px}.chronicle-archive-head h2{margin:.15rem 0 .35rem}.chronicle-archive-head p:last-child{margin-bottom:0}.chronicle-archive-stage{max-width:260px}.chronicle-archive-part{display:grid;gap:11px}.chronicle-archive-part h3{margin:0}.chronicle-archive-table .is-club{background:color-mix(in srgb,var(--accent) 13%,var(--surface));font-weight:850}.chronicle-archive-table td:first-child{font-weight:900;color:var(--accent)}
.chronicle-archive-matches{display:grid;gap:9px}.chronicle-archive-match{display:grid;gap:9px;padding:13px;border:1px solid color-mix(in srgb,var(--line) 88%,transparent);border-radius:15px;background:color-mix(in srgb,var(--surface) 96%,white 4%)}.chronicle-archive-match-top{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;align-items:center}.chronicle-archive-match-copy{display:grid;gap:3px;min-width:0}.chronicle-archive-match-copy h3{margin:0;font-size:1rem;overflow-wrap:anywhere}.chronicle-archive-meta{display:flex;flex-wrap:wrap;gap:6px}.chronicle-archive .chronicle-award{background:color-mix(in srgb,var(--accent) 9%,var(--surface))}
@media(max-width:480px){.chronicle-archive-match-top{grid-template-columns:minmax(0,1fr) auto}.chronicle-archive-stage{max-width:none;width:100%}}
/* 2.33.0 · Vereinsarchiv */
.club-archive{display:grid;gap:16px;padding-top:22px;border-top:1px solid color-mix(in srgb,var(--accent) 24%,var(--line))}.club-archive-head{display:flex;align-items:baseline;justify-content:space-between;gap:16px}.club-archive-head h2{margin:0}.club-archive-controls{display:grid;grid-template-columns:1fr 1fr;gap:10px}.club-archive-stage{width:100%}.club-archive-note{margin:-4px 0 0}.club-archive-summary{margin:0;padding:12px 14px;border:1px solid color-mix(in srgb,var(--accent) 24%,var(--line));border-radius:14px;background:color-mix(in srgb,var(--accent) 7%,var(--surface));font-weight:800}.club-archive-source-head{display:flex;align-items:flex-end;justify-content:space-between;gap:14px;padding-top:2px}.club-archive-source-head h3{margin:.15rem 0 0}.club-archive-part{display:grid;gap:10px}.club-archive-part>h3{margin:0}.club-archive .chronicle-archive-table{margin:0}.club-archive .chronicle-archive-match{background:color-mix(in srgb,var(--surface) 94%,var(--accent) 6%)}
@media(max-width:680px){.club-archive-controls{grid-template-columns:1fr}.club-archive-source-head{align-items:flex-start;flex-direction:column}}

/* 2.34.0 · Vollständiger Volley.de-Historienscan */
.club-archive-scan{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px 14px;margin:0 0 14px;padding:11px 13px;border:1px solid color-mix(in srgb,var(--accent) 28%,var(--line));border-radius:14px;background:color-mix(in srgb,var(--surface) 90%,var(--accent) 10%)}.club-archive-scan strong{font-size:.84rem}.club-archive-scan.is-complete{opacity:.82}


/* 2.35.0 · In-app Spieltags-Check-in / QR scanner */
.fan-pass-checkin-action{display:flex;align-items:center;justify-content:space-between;gap:18px;border-color:color-mix(in srgb,var(--accent) 34%,var(--line));background:radial-gradient(circle at 100% 0%,color-mix(in srgb,var(--accent) 12%,transparent),transparent 42%),var(--surface)}
.fan-pass-checkin-action-copy{min-width:0}.fan-pass-checkin-action h3{margin:2px 0 7px}.fan-pass-checkin-action p:last-child{margin-bottom:0}.fan-pass-checkin-action>.primary{flex:0 0 auto}
.checkin-scanner-overlay{position:fixed;inset:0;z-index:1000000;display:grid;place-items:center;padding:18px;background:rgba(2,8,18,.78);backdrop-filter:blur(12px);opacity:0;transition:opacity .18s ease}.checkin-scanner-overlay.is-showing{opacity:1}
.checkin-scanner-panel{width:min(520px,100%);max-height:min(760px,calc(100dvh - 36px));overflow:auto;padding:20px;border:1px solid color-mix(in srgb,var(--accent) 40%,var(--line));border-radius:25px;background:linear-gradient(155deg,color-mix(in srgb,var(--surface) 94%,var(--accent) 6%),var(--bg));box-shadow:0 28px 90px rgba(0,0,0,.5)}
.checkin-scanner-head{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;margin-bottom:14px}.checkin-scanner-head h2{margin:2px 0 0}.checkin-scanner-close{font-size:25px;line-height:1}
.checkin-scanner-viewport{position:relative;overflow:hidden;aspect-ratio:4/5;max-height:470px;border-radius:22px;background:#02070d;border:1px solid color-mix(in srgb,var(--accent) 35%,var(--line))}.checkin-scanner-video{display:block;width:100%;height:100%;object-fit:cover}
.checkin-scanner-frame{position:absolute;left:50%;top:50%;width:min(70%,290px);aspect-ratio:1;transform:translate(-50%,-50%);border:3px solid var(--accent);border-radius:24px;box-shadow:0 0 0 999px rgba(0,0,0,.28),0 0 30px color-mix(in srgb,var(--accent) 30%,transparent);pointer-events:none}.checkin-scanner-frame:before,.checkin-scanner-frame:after{content:'';position:absolute;left:12%;right:12%;height:2px;background:linear-gradient(90deg,transparent,var(--accent),transparent);box-shadow:0 0 10px var(--accent)}.checkin-scanner-frame:before{top:18%}.checkin-scanner-frame:after{bottom:18%}
.checkin-scanner-status{margin:13px 0 3px;font-weight:850;color:var(--text)}.checkin-scanner-status.is-working{color:var(--accent)}.checkin-scanner-status.is-success{color:#8ff0bb}.checkin-scanner-status.is-error{color:#ff9ca3}.checkin-scanner-help{margin:5px 0 13px}
.checkin-scanner-manual{border-top:1px solid var(--line);padding-top:12px}.checkin-scanner-manual summary{cursor:pointer;font-weight:800;color:var(--accent)}.checkin-scanner-manual-body{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:9px;margin-top:11px}.checkin-scanner-manual-body input{min-width:0}.checkin-scanner-fallback{margin:12px 0 4px;padding:12px 14px;border:1px solid var(--line);border-radius:14px;background:color-mix(in srgb,var(--surface) 80%,var(--accent) 20%)}.checkin-scanner-fallback p{margin:0}
.matchcenter-checkin{border-color:color-mix(in srgb,var(--accent) 65%,transparent)!important}
@media(max-width:560px){.fan-pass-checkin-action{align-items:stretch;flex-direction:column}.fan-pass-checkin-action>.primary{width:100%}.checkin-scanner-panel{padding:16px;border-radius:21px}.checkin-scanner-viewport{max-height:430px}.checkin-scanner-manual-body{grid-template-columns:1fr}.checkin-scanner-manual-body .secondary{width:100%}}
@media(prefers-reduced-motion:reduce){.checkin-scanner-overlay{transition:none!important}}
.club-archive-fact{margin:0;padding:12px 14px;border-radius:14px;background:color-mix(in srgb,var(--accent) 8%,var(--surface));border:1px solid color-mix(in srgb,var(--accent) 22%,var(--line));font-weight:800}.club-archive-stage-note{margin:-5px 0 0;line-height:1.45}

/* 2.36.1 · Historisches Archiv klar von der laufenden Saisonchronik trennen */
.club-archive-shell{padding:0;overflow:hidden}.club-archive-toggle{list-style:none;cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:20px 22px}.club-archive-toggle::-webkit-details-marker{display:none}.club-archive-toggle-copy{min-width:0}.club-archive-toggle-copy h2{margin:.12rem 0 .2rem}.club-archive-toggle-copy p:last-child{margin-bottom:0}.club-archive-toggle-icon{display:grid;place-items:center;width:38px;height:38px;border:1px solid var(--line);border-radius:999px;font-size:1.25rem;transition:transform .18s ease}.club-archive-shell[open] .club-archive-toggle-icon{transform:rotate(180deg)}.club-archive-shell>.club-archive{padding:18px 22px 22px;border-top:1px solid color-mix(in srgb,var(--line) 75%,transparent)}.club-archive-shell[open] .club-archive-toggle{padding-bottom:16px}
@media(max-width:560px){.club-archive-toggle{padding:18px}.club-archive-shell>.club-archive{padding:16px 18px 18px}}


/* 2.36.2 · App-Zoom deaktiviert + Archivtabellen vollständig mobil sichtbar */
html,body{touch-action:pan-x pan-y}
.chronicle-archive-table{width:100%;max-width:100%;overflow:hidden}
.chronicle-archive-table table{width:100%;min-width:0!important;table-layout:fixed;white-space:normal}
.chronicle-archive-table th,.chronicle-archive-table td{box-sizing:border-box;padding:9px 6px;font-size:clamp(9px,2.65vw,12px);line-height:1.2;vertical-align:middle}
.chronicle-archive-table th:nth-child(1),.chronicle-archive-table td:nth-child(1){width:9%;text-align:center}
.chronicle-archive-table th:nth-child(2),.chronicle-archive-table td:nth-child(2){width:45%;white-space:normal;overflow-wrap:anywhere;word-break:normal}
.chronicle-archive-table th:nth-child(3),.chronicle-archive-table td:nth-child(3){width:11%;text-align:center;white-space:nowrap}
.chronicle-archive-table th:nth-child(4),.chronicle-archive-table td:nth-child(4){width:14%;text-align:center;white-space:nowrap}
.chronicle-archive-table th:nth-child(5),.chronicle-archive-table td:nth-child(5){width:21%;text-align:center;white-space:nowrap}
@media(max-width:380px){.chronicle-archive-table th,.chronicle-archive-table td{padding:8px 3px;font-size:9px}.chronicle-archive-table th:nth-child(2),.chronicle-archive-table td:nth-child(2){width:43%}.chronicle-archive-table th:nth-child(5),.chronicle-archive-table td:nth-child(5){width:23%}}


/* 2.36.5 · Fan-Pass-Viewport-Fix: horizontal begrenzen, vertikales Scrollen vollständig erhalten. */
html,body{max-width:100%;overflow-x:hidden;overscroll-behavior-x:none}.app-shell,#app-view{max-width:100%;min-width:0;overflow-x:clip}.fan-pass-holder,.fan-pass-holder.fan-pass-theme-vhsglitch,.fan-pass-holder.fan-pass-theme-aurora,.fan-pass-holder.fan-pass-theme-lasergrid,.fan-pass-holder.fan-pass-theme-graffiti,.fan-pass-holder.fan-pass-theme-doodle,.fan-pass-holder.fan-pass-theme-sunsetserve,.fan-pass-holder.fan-pass-theme-electricblue,.fan-pass-holder.fan-pass-theme-stickergalaxy,.fan-pass-holder.fan-pass-theme-waverider{width:100%;max-width:100%;min-width:0;overflow-x:clip!important;overflow-y:visible!important;overscroll-behavior-y:auto}.fan-pass-holder>*,.fan-pass-holder .content-card,.fan-pass-holder .fan-pass-design-grid,.fan-pass-holder .fan-pass-box-grid,.fan-pass-holder .fan-pass-badge-grid{min-width:0;max-width:100%}.fan-pass-holder img,.fan-pass-holder svg,.fan-pass-holder canvas{max-width:100%}.fan-pass-fullscreen{overflow:hidden;overscroll-behavior:contain}.fan-pass-fullscreen-card{overscroll-behavior:contain}

/* 2.36.4 · Design Signature Engine. Fixed overlays never affect document size. */
.fan-pass-signature{position:fixed;inset:0;width:100vw;height:100dvh;z-index:1000004;overflow:hidden;pointer-events:none;contain:strict;isolation:isolate;opacity:0;transition:opacity .12s linear;--sig-a:#7cf6ff;--sig-b:#fff;--sig-duration:1600ms}.fan-pass-signature.is-running{opacity:1}.fan-pass-signature-core,.fan-pass-signature-label,.fan-pass-signature-beam,.fan-pass-signature-particles{position:absolute;pointer-events:none}.fan-pass-signature-core{left:50%;top:50%;translate:-50% -50%;font:950 clamp(5rem,26vw,12rem)/1 system-ui,sans-serif;color:var(--sig-a);text-shadow:0 0 22px color-mix(in srgb,var(--sig-a) 58%,transparent),0 0 70px color-mix(in srgb,var(--sig-b) 35%,transparent);opacity:.2}.fan-pass-signature-label{left:50%;top:50%;translate:-50% -50%;font:1000 clamp(2rem,10vw,5rem)/.95 ui-monospace,SFMono-Regular,Consolas,monospace;letter-spacing:.08em;white-space:nowrap;color:#fff;text-shadow:-3px 0 var(--sig-a),3px 0 var(--sig-b),0 0 26px rgba(0,0,0,.55)}.fan-pass-signature-beam{inset:auto;width:160vw;height:12px;left:-30vw;top:48%;background:linear-gradient(90deg,transparent,var(--sig-a),#fff,var(--sig-b),transparent);filter:blur(.2px) drop-shadow(0 0 14px var(--sig-a));opacity:0}.fan-pass-signature-particles{inset:0}.fan-pass-signature-particles span{position:absolute;left:calc(var(--x)*1%);top:calc(var(--y)*1%);font:900 clamp(1.1rem,5vw,2.4rem)/1 system-ui,sans-serif;color:var(--sig-a);text-shadow:0 0 12px var(--sig-a);opacity:0;animation-delay:var(--delay)}

/* Pulse / burst / orbit */
.fan-signature-pulse.is-running .fan-pass-signature-core{animation:fanSigPulse var(--sig-duration) ease-out both}.fan-signature-burst.is-running .fan-pass-signature-core,.fan-signature-medal.is-running .fan-pass-signature-core{animation:fanSigCorePop var(--sig-duration) cubic-bezier(.2,.8,.2,1) both}.fan-signature-burst.is-running .fan-pass-signature-particles span,.fan-signature-stars.is-running .fan-pass-signature-particles span{animation:fanSigBurst var(--sig-duration) ease-out both}.fan-signature-orbit.is-running .fan-pass-signature-core{animation:fanSigBallArc var(--sig-duration) cubic-bezier(.2,.7,.2,1) both}.fan-signature-orbit.is-running .fan-pass-signature-particles span{animation:fanSigOrbit var(--sig-duration) ease-in-out both}

/* Sweeps / lights / laser */
.fan-signature-sweep.is-running .fan-pass-signature-beam,.fan-signature-neon.is-running .fan-pass-signature-beam,.fan-signature-laser.is-running .fan-pass-signature-beam,.fan-signature-flare.is-running .fan-pass-signature-beam,.fan-signature-spotlight.is-running .fan-pass-signature-beam{opacity:1;animation:fanSigSweep var(--sig-duration) cubic-bezier(.2,.7,.2,1) both}.fan-signature-laser .fan-pass-signature-beam{height:4px;box-shadow:0 0 9px var(--sig-a),0 0 22px var(--sig-b)}.fan-signature-neon.is-running .fan-pass-signature-core,.fan-signature-flare.is-running .fan-pass-signature-core{animation:fanSigFlash var(--sig-duration) ease-out both}.fan-signature-spotlight .fan-pass-signature-beam{height:55vh;top:-8vh;transform-origin:50% 0;background:linear-gradient(180deg,color-mix(in srgb,var(--sig-a) 35%,transparent),transparent);filter:blur(16px)}

/* Rain / bubbles / stickers / spray / LEDs */
.fan-signature-rain.is-running .fan-pass-signature-particles span,.fan-signature-sticker.is-running .fan-pass-signature-particles span,.fan-signature-led.is-running .fan-pass-signature-particles span{animation:fanSigRain var(--sig-duration) cubic-bezier(.25,.6,.35,1) both}.fan-signature-bubble.is-running .fan-pass-signature-particles span{border:2px solid color-mix(in srgb,var(--sig-a) 72%,white);border-radius:50%;width:clamp(18px,7vw,42px);height:clamp(18px,7vw,42px);font-size:0;background:radial-gradient(circle at 32% 28%,rgba(255,255,255,.8),transparent 20%),color-mix(in srgb,var(--sig-a) 16%,transparent);animation:fanSigBubble var(--sig-duration) ease-out both}.fan-signature-spray.is-running .fan-pass-signature-particles span{font-size:0;width:clamp(8px,3vw,22px);height:clamp(8px,3vw,22px);border-radius:50%;background:var(--sig-a);box-shadow:0 0 0 5px color-mix(in srgb,var(--sig-b) 15%,transparent);animation:fanSigSpray var(--sig-duration) ease-out both}.fan-signature-disco.is-running .fan-pass-signature-particles span{animation:fanSigDisco var(--sig-duration) ease-out both}

/* Tech / scan / radar / blueprint / data */
.fan-signature-scan,.fan-signature-radar,.fan-signature-blueprint,.fan-signature-data{background:repeating-linear-gradient(0deg,transparent 0 6px,color-mix(in srgb,var(--sig-a) 7%,transparent) 7px 8px)}.fan-signature-scan.is-running .fan-pass-signature-beam,.fan-signature-blueprint.is-running .fan-pass-signature-beam,.fan-signature-data.is-running .fan-pass-signature-beam{opacity:.85;height:2px;animation:fanSigScan var(--sig-duration) linear both}.fan-signature-radar.is-running:before{content:'';position:absolute;width:min(88vw,540px);aspect-ratio:1;left:50%;top:50%;translate:-50% -50%;border-radius:50%;border:1px solid color-mix(in srgb,var(--sig-a) 55%,transparent);background:conic-gradient(from 0deg,transparent 0 78%,color-mix(in srgb,var(--sig-a) 34%,transparent) 88%,transparent 96%);box-shadow:inset 0 0 45px color-mix(in srgb,var(--sig-a) 8%,transparent);animation:fanSigRadar var(--sig-duration) linear both}.fan-signature-data.is-running .fan-pass-signature-particles span{font-family:ui-monospace,monospace;font-size:.8rem;animation:fanSigData var(--sig-duration) linear both}

/* Pixel / frost / comic */
.fan-signature-pixel.is-running .fan-pass-signature-particles span{font-size:0;width:11px;height:11px;background:var(--sig-a);box-shadow:18px 14px 0 var(--sig-b),-13px 30px 0 color-mix(in srgb,var(--sig-a) 55%,transparent);animation:fanSigPixel var(--sig-duration) steps(6,end) both}.fan-signature-frost.is-running{background:repeating-linear-gradient(135deg,transparent 0 12%,color-mix(in srgb,var(--sig-a) 12%,transparent) 12.3% 12.7%,transparent 13% 26%)}.fan-signature-frost.is-running .fan-pass-signature-particles span{animation:fanSigFrost var(--sig-duration) ease-out both}.fan-signature-text.is-running .fan-pass-signature-label,.fan-signature-quake.is-running .fan-pass-signature-label,.fan-signature-slash.is-running .fan-pass-signature-label{animation:fanSigText var(--sig-duration) cubic-bezier(.18,.8,.22,1) both}.fan-signature-quake.is-running,.fan-signature-slash.is-running{animation:fanSigQuake var(--sig-duration) steps(1,end) both}.fan-signature-slash .fan-pass-signature-beam{opacity:1;height:9px;rotate:-18deg;animation:fanSigSlash var(--sig-duration) ease-out both}

/* Nature / energy / cosmic */
.fan-signature-comet.is-running .fan-pass-signature-beam,.fan-signature-ufo.is-running .fan-pass-signature-beam{opacity:1;width:75vw;height:5px;left:-25vw;top:28%;rotate:-18deg;animation:fanSigComet var(--sig-duration) ease-out both}.fan-signature-comet.is-running .fan-pass-signature-core,.fan-signature-ufo.is-running .fan-pass-signature-core{animation:fanSigCometCore var(--sig-duration) ease-out both}.fan-signature-flame.is-running .fan-pass-signature-core,.fan-signature-plasma.is-running .fan-pass-signature-core,.fan-signature-lightning.is-running .fan-pass-signature-core{animation:fanSigEnergy var(--sig-duration) ease-out both}.fan-signature-lightning.is-running .fan-pass-signature-beam{opacity:1;height:7px;rotate:-48deg;animation:fanSigLightning var(--sig-duration) steps(1,end) both}.fan-signature-wave.is-running .fan-pass-signature-beam{opacity:1;height:22vh;top:58%;background:radial-gradient(ellipse at 50% 100%,transparent 0 44%,color-mix(in srgb,var(--sig-a) 48%,transparent) 45% 51%,transparent 52%);filter:none;animation:fanSigWave var(--sig-duration) ease-out both}.fan-signature-sun.is-running .fan-pass-signature-core,.fan-signature-sungrid.is-running .fan-pass-signature-core{border-radius:50%;background:radial-gradient(circle,var(--sig-a),color-mix(in srgb,var(--sig-b) 62%,transparent) 45%,transparent 68%);font-size:0;width:42vw;max-width:230px;aspect-ratio:1;animation:fanSigSun var(--sig-duration) ease-out both}.fan-signature-aurora.is-running{background:radial-gradient(ellipse at 16% 75%,color-mix(in srgb,var(--sig-a) 28%,transparent),transparent 44%),radial-gradient(ellipse at 84% 30%,color-mix(in srgb,var(--sig-b) 24%,transparent),transparent 45%);animation:fanSigAurora var(--sig-duration) ease-in-out both}

/* Chrome / prism / ghost / crown / Captain */
.fan-signature-prism.is-running,.fan-signature-chrome.is-running{background:linear-gradient(112deg,transparent 18%,color-mix(in srgb,var(--sig-a) 18%,transparent) 34%,rgba(255,255,255,.55) 47%,color-mix(in srgb,var(--sig-b) 22%,transparent) 56%,transparent 74%);background-size:240% 100%;animation:fanSigPrism var(--sig-duration) ease-out both}.fan-signature-ghost.is-running .fan-pass-signature-core{animation:fanSigGhost var(--sig-duration) ease-in-out both}.fan-signature-ghost.is-running{background:radial-gradient(ellipse at 50% 58%,color-mix(in srgb,var(--sig-a) 14%,transparent),transparent 48%)}.fan-signature-crown.is-running .fan-pass-signature-core{animation:fanSigCrown var(--sig-duration) cubic-bezier(.2,.8,.2,1) both}.fan-signature-captain.is-running .fan-pass-signature-core{font-size:clamp(13rem,54vw,30rem);color:rgba(255,255,255,.16);animation:fanSigCaptain var(--sig-duration) ease-in-out both}.fan-signature-captain.is-running .fan-pass-signature-particles span{animation:fanSigBurst var(--sig-duration) ease-out both}.fan-signature-fog.is-running{background:radial-gradient(ellipse at 30% 55%,color-mix(in srgb,var(--sig-a) 19%,transparent),transparent 42%),radial-gradient(ellipse at 75% 45%,color-mix(in srgb,var(--sig-b) 16%,transparent),transparent 46%);animation:fanSigFog var(--sig-duration) ease-in-out both}.fan-signature-blackout.is-running{background:#000;animation:fanSigBlackout var(--sig-duration) steps(1,end) both}.fan-signature-scribble.is-running .fan-pass-signature-beam{opacity:1;height:4px;filter:none;background:repeating-linear-gradient(90deg,var(--sig-a) 0 18px,transparent 18px 25px);rotate:-7deg;animation:fanSigScribble var(--sig-duration) ease-out both}

@keyframes fanSigPulse{0%{opacity:0;scale:.35}30%{opacity:.58;scale:1.08}100%{opacity:0;scale:1.8}}
@keyframes fanSigCorePop{0%{opacity:0;scale:.35;rotate:-12deg}35%{opacity:.74;scale:1.08;rotate:3deg}100%{opacity:0;scale:1.5;rotate:10deg}}
@keyframes fanSigBurst{0%{opacity:0;translate:0 0;scale:.35}20%{opacity:.9}100%{opacity:0;translate:calc((var(--x) - 50)*1.4px) calc((var(--y) - 45)*1.6px);scale:1.25;rotate:160deg}}
@keyframes fanSigBallArc{0%{opacity:0;left:8%;top:78%;scale:.55;rotate:-25deg}20%{opacity:.9}55%{left:54%;top:18%;scale:1.04}100%{opacity:0;left:92%;top:62%;scale:.72;rotate:340deg}}
@keyframes fanSigOrbit{0%{opacity:0;rotate:0deg;scale:.6}30%{opacity:.72}100%{opacity:0;rotate:300deg;scale:1.35}}
@keyframes fanSigSweep{0%{translate:-120vw 0;rotate:-12deg;opacity:0}20%{opacity:.95}80%{opacity:.8}100%{translate:150vw 0;rotate:-12deg;opacity:0}}
@keyframes fanSigFlash{0%,100%{opacity:0;scale:.8}38%{opacity:.65;scale:1.15}48%{opacity:.18}58%{opacity:.5}}
@keyframes fanSigRain{0%{opacity:0;translate:0 -28vh;rotate:-20deg}16%{opacity:.9}100%{opacity:0;translate:calc((var(--i) - 5)*5px) 112vh;rotate:320deg}}
@keyframes fanSigBubble{0%{opacity:0;translate:0 30vh;scale:.35}20%{opacity:.8}100%{opacity:0;translate:calc((var(--i) - 5)*5px) -72vh;scale:1.35}}
@keyframes fanSigSpray{0%{opacity:0;translate:0 0;scale:.2}20%{opacity:.9}100%{opacity:0;translate:calc((var(--x) - 50)*2px) calc((var(--y) - 45)*2px);scale:1.25}}
@keyframes fanSigDisco{0%{opacity:0;scale:.2;filter:hue-rotate(0)}35%{opacity:.95;scale:1.25}100%{opacity:0;scale:.5;filter:hue-rotate(270deg);rotate:160deg}}
@keyframes fanSigScan{0%{translate:0 -60vh;opacity:0}15%{opacity:1}85%{opacity:.9}100%{translate:0 65vh;opacity:0}}
@keyframes fanSigRadar{0%{opacity:0;rotate:0deg;scale:.75}20%{opacity:.85}100%{opacity:0;rotate:360deg;scale:1.08}}
@keyframes fanSigData{0%{opacity:0;translate:0 -20vh}20%{opacity:.8}100%{opacity:0;translate:0 86vh}}
@keyframes fanSigPixel{0%{opacity:0;translate:0 0;scale:.2}25%{opacity:.9;scale:1}100%{opacity:0;translate:calc((var(--x) - 50)*1.5px) calc((var(--y) - 45)*1.5px);scale:.5}}
@keyframes fanSigFrost{0%{opacity:0;translate:0 -10px;scale:.4}30%{opacity:.95}100%{opacity:0;translate:calc((var(--i) - 6)*7px) 42vh;rotate:160deg}}
@keyframes fanSigText{0%{opacity:0;scale:.25;rotate:-8deg}30%{opacity:1;scale:1.12;rotate:2deg}62%{scale:.96}100%{opacity:0;scale:1.35}}
@keyframes fanSigQuake{0%,100%{translate:0}18%{translate:4px -2px}22%{translate:-4px 2px}28%{translate:3px 1px}34%{translate:-2px -1px}}
@keyframes fanSigSlash{0%{translate:-120vw 30vh;opacity:0}25%{opacity:1}100%{translate:150vw -30vh;opacity:0}}
@keyframes fanSigComet{0%{translate:-80vw 40vh;opacity:0}18%{opacity:.95}100%{translate:170vw -60vh;opacity:0}}
@keyframes fanSigCometCore{0%{opacity:0;left:-10%;top:78%;scale:.45}25%{opacity:.9}100%{opacity:0;left:112%;top:7%;scale:.8}}
@keyframes fanSigEnergy{0%{opacity:0;scale:.35;filter:brightness(1)}28%{opacity:.75;scale:1;filter:brightness(1.8)}52%{opacity:.3;scale:1.35}70%{opacity:.65;scale:1.05}100%{opacity:0;scale:1.7}}
@keyframes fanSigLightning{0%,18%,22%,38%,42%,100%{opacity:0}19%,21%,39%,41%,58%{opacity:1;translate:40vw 0}}
@keyframes fanSigWave{0%{translate:-70vw 18vh;opacity:0}20%{opacity:.8}100%{translate:70vw -8vh;opacity:0}}
@keyframes fanSigSun{0%{opacity:0;translate:-50% 20%;scale:.7}35%{opacity:.75;translate:-50% -50%;scale:1}100%{opacity:0;translate:-50% -85%;scale:1.18}}
@keyframes fanSigAurora{0%{opacity:0;filter:hue-rotate(-20deg);transform:translateY(8%) scaleY(.8)}35%{opacity:.9}100%{opacity:0;filter:hue-rotate(35deg);transform:translateY(-8%) scaleY(1.18)}}
@keyframes fanSigPrism{0%{opacity:0;background-position:180% 0}25%{opacity:.9}100%{opacity:0;background-position:-80% 0}}
@keyframes fanSigGhost{0%{opacity:0;translate:-50% -35%;scale:.6;filter:blur(8px)}35%{opacity:.55;translate:-50% -55%;scale:1;filter:blur(0)}100%{opacity:0;translate:-45% -72%;scale:1.25;filter:blur(5px)}}
@keyframes fanSigCrown{0%{opacity:0;translate:-50% -100%;rotate:-12deg}35%{opacity:.8;translate:-50% -50%;rotate:4deg}60%{rotate:-3deg}100%{opacity:0;translate:-50% -35%;scale:1.25}}
@keyframes fanSigCaptain{0%{opacity:0;translate:-58% -48%;scale:.75}35%{opacity:.42;translate:-48% -53%;scale:1.02}100%{opacity:0;translate:-42% -57%;scale:1.16}}
@keyframes fanSigFog{0%{opacity:0;filter:blur(24px);transform:scale(.9)}45%{opacity:.95}100%{opacity:0;filter:blur(8px);transform:scale(1.14)}}
@keyframes fanSigBlackout{0%,100%{opacity:0}15%{opacity:.82}28%{opacity:.05}40%{opacity:.58}48%{opacity:.02}58%{opacity:.32}}
@keyframes fanSigScribble{0%{clip-path:inset(0 100% 0 0);translate:-30vw -15vh}35%{clip-path:inset(0);opacity:1}100%{clip-path:inset(0);translate:30vw 15vh;opacity:0}}

@media(prefers-reduced-motion:reduce){.fan-pass-signature{display:none!important}}


/* 2.36.5 · Fan-Pass Performance: Offscreen-Animationen schlafen, lange Designlisten werden lazy gerendert. */
.fan-pass-design-card{content-visibility:auto;contain-intrinsic-size:auto 290px}
.fan-pass-design-card.is-animated .fan-pass-design-preview:before,.fan-pass-holder.is-animated>.content-card:before,.fan-pass-holder.is-animated>.fan-pass-disclosure:before{animation-play-state:paused!important}
.fan-pass-design-card.is-animated.fan-pass-motion-visible .fan-pass-design-preview:before,.fan-pass-holder.is-animated>.content-card.fan-pass-motion-visible:before,.fan-pass-holder.is-animated>.fan-pass-disclosure.fan-pass-motion-visible:before{animation-play-state:running!important}
.fan-pass-signature{transform:translateZ(0)}
@media(prefers-reduced-motion:reduce){.fan-pass-design-card{content-visibility:auto}.fan-pass-design-card.is-animated .fan-pass-design-preview:before,.fan-pass-holder.is-animated>.content-card:before,.fan-pass-holder.is-animated>.fan-pass-disclosure:before{animation:none!important}}


/* 2.36.6 · Fan-Pass Smooth-Scroll-Modus für Android/WebView. */
body.fan-pass-page-active.fan-app-theme-enabled{
  background-attachment:scroll!important;
}
body.fan-pass-page-active.fan-app-theme-animated:before,
body.fan-pass-page-active.fan-app-theme-animated:after{
  display:none!important;
  animation:none!important;
}
body.fan-pass-page-active .app-nav{
  -webkit-backdrop-filter:none!important;
  backdrop-filter:none!important;
  background:color-mix(in srgb,var(--bg,#0b1e30) 96%,transparent)!important;
}
/* Die Katalogkarten bleiben statisch. Die individuellen Eyecatcher laufen nur bei Preview/Aktivierung/Reveal. */
body.fan-pass-page-active .fan-pass-design-card .fan-pass-design-preview:before,
body.fan-pass-page-active .fan-pass-design-card:before,
body.fan-pass-page-active .fan-pass-design-card:after{
  animation:none!important;
}
.fan-pass-design-card{
  contain:layout paint style;
  content-visibility:auto;
  contain-intrinsic-size:auto 290px;
}
/* Während eines echten Scroll-Gestures pausiert auch das aktive Hero-Design. */
body.fan-pass-page-active.fan-pass-scroll-active .fan-pass-holder *,
body.fan-pass-page-active.fan-pass-scroll-active .fan-pass-holder *::before,
body.fan-pass-page-active.fan-pass-scroll-active .fan-pass-holder *::after{
  animation-play-state:paused!important;
}
body.fan-pass-page-active.fan-pass-scroll-active .fan-pass-box-art{
  animation:none!important;
}

/* 2.37.0 release hardening: images stay usable but no longer expose the usual
   long-press/drag save affordances inside the app. Screenshots remain allowed. */
.app-shell img:not([data-vfbw-downloadable="1"]){-webkit-user-drag:none;-webkit-touch-callout:none;user-select:none}
/* Long views: let Chromium skip layout/paint work for cards far outside the viewport. */
.fan-pass-design-card,.fan-pass-badge-card,.fan-pass-box,.chronicle-archive-match,.club-archive-part,.fanwall-card{content-visibility:auto;contain-intrinsic-size:auto 160px;contain:layout paint style}
/* Automatic low-power mode keeps layout/interaction intact while stopping purely
   decorative continuous motion on constrained devices. Explicit reveal/signature
   overlays are not targeted here. */
html.vfbw-lite-motion .fan-pass-box-art,
html.vfbw-lite-motion .hero-mark,
html.vfbw-lite-motion .live-dot,
html.vfbw-lite-motion .pulse{animation:none!important}

/* 2.37.4 Spielberichte ↔ Matchcenter */
.history-actions{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin-top:12px}.history-actions .primary,.match-report-link{width:auto}.match-report-link{font-weight:900}.match-card-actions .match-report-link,.matchcenter-actions .match-report-link{order:-5}

/* 2.37.6 · Saisonale Fan-Pass-Designs + Sammel-Events */
.fan-pass-seasonal-event{overflow:hidden;position:relative;isolation:isolate;border-color:color-mix(in srgb,var(--accent,#73d7ff) 35%,var(--line));background:linear-gradient(145deg,color-mix(in srgb,var(--surface) 90%,var(--accent,#73d7ff) 10%),var(--surface))}
.fan-pass-seasonal-event:after{content:'';position:absolute;right:-34px;top:-42px;width:130px;height:130px;border-radius:50%;background:radial-gradient(circle,color-mix(in srgb,var(--accent,#73d7ff) 20%,transparent),transparent 68%);pointer-events:none;z-index:-1}
.fan-pass-seasonal-head{display:flex;align-items:center;gap:13px}.fan-pass-seasonal-head h3{margin:2px 0 3px}.fan-pass-seasonal-icon{display:grid;place-items:center;width:52px;height:52px;border-radius:16px;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.12);font-size:28px;box-shadow:inset 0 1px rgba(255,255,255,.08)}.fan-pass-seasonal-progress-text{font-weight:850;margin:15px 0 8px}.fan-pass-seasonal-design-head{margin:24px 0 4px;padding-top:20px;border-top:1px solid rgba(255,255,255,.09)}.fan-pass-seasonal-design-head h3{margin:2px 0 5px}.fan-pass-seasonal-design-grid{margin-top:12px}
.fan-pass-seasonal-host{position:relative!important}.fan-pass-seasonal-find{position:absolute;z-index:8;right:8px;top:8px;width:39px;height:39px;border:0;border-radius:50%;display:grid;place-items:center;padding:0;font-size:22px;line-height:1;background:rgba(9,21,36,.76);box-shadow:0 5px 18px rgba(0,0,0,.28),inset 0 0 0 1px rgba(255,255,255,.16);backdrop-filter:blur(7px);cursor:pointer;transform:rotate(-8deg);animation:fanPassSeasonalPeek 2.7s ease-in-out infinite}.fan-pass-seasonal-find.is-gift{background:linear-gradient(145deg,rgba(117,16,28,.92),rgba(40,9,16,.9))}.fan-pass-seasonal-find.is-egg{background:linear-gradient(145deg,rgba(68,105,124,.92),rgba(23,48,64,.9))}.fan-pass-seasonal-find:hover,.fan-pass-seasonal-find:focus-visible{transform:rotate(0) scale(1.12);outline:2px solid var(--accent);outline-offset:2px}.fan-pass-seasonal-find.is-error{animation:fanPassSeasonalError .45s ease both}@keyframes fanPassSeasonalPeek{0%,100%{transform:rotate(-8deg) scale(.92);opacity:.58}45%{transform:rotate(5deg) scale(1.08);opacity:1}60%{transform:rotate(-2deg) scale(1.02);opacity:.96}}@keyframes fanPassSeasonalError{25%{transform:translateX(-4px)}50%{transform:translateX(4px)}75%{transform:translateX(-2px)}}

/* Halloween · Schwarz/Orange, Kerzenschein und Kürbis-Akzente */
.fan-pass-theme-halloween{--fp-accent:#ff922f;--fp-accent2:#ffd0a0;--fp-glow:rgba(255,126,31,.24);--fp-hero:radial-gradient(circle at 84% 22%,rgba(255,132,36,.34),transparent 18%),radial-gradient(circle at 15% 100%,rgba(255,91,13,.16),transparent 26%),linear-gradient(145deg,#25120b,#080706 72%)}
.fan-pass-design-card.theme-halloween .fan-pass-design-preview,.fan-pass-fullscreen-card.fan-pass-theme-halloween{background:radial-gradient(circle at 80% 28%,rgba(255,144,45,.5),transparent 20%),radial-gradient(circle at 18% 86%,rgba(255,92,18,.2),transparent 22%),linear-gradient(145deg,#32180c,#080706)}
.fan-pass-design-card.theme-halloween .fan-pass-design-preview:after{content:'🎃  🕯️';font-size:22px;letter-spacing:7px;filter:drop-shadow(0 0 9px rgba(255,119,31,.45))}
.fan-pass-design-card.theme-halloween .fan-pass-design-preview:after,.fan-pass-design-card.theme-christmas .fan-pass-design-preview:after,.fan-pass-design-card.theme-newyear .fan-pass-design-preview:after,.fan-pass-design-card.theme-easter .fan-pass-design-preview:after{width:auto;height:auto;right:10px;top:10px;border-radius:0;background:none}
body.fan-app-theme-halloween{--bg:#090806;--surface:#21140e;--line:#6b3b19;--accent:#ff922f;--muted:#d9c2ad;--theme-hero-bg:radial-gradient(circle at 86% 20%,rgba(255,137,43,.3),transparent 19%),radial-gradient(circle at 12% 105%,rgba(255,89,12,.15),transparent 28%),linear-gradient(145deg,#28150d,#080706)}
body.fan-app-theme-halloween.fan-app-theme-animated:after{content:'🎃';position:fixed;right:4vw;bottom:11vh;z-index:0;pointer-events:none;font-size:clamp(40px,11vw,92px);opacity:.06;filter:drop-shadow(0 0 18px #ff7c20);animation:fanSeasonFloat 6s ease-in-out infinite}

/* Weihnachten · Rot/Weiß, Schnee und Kugeln */
.fan-pass-theme-christmas{--fp-accent:#fff7f7;--fp-accent2:#ffb0b9;--fp-glow:rgba(255,255,255,.22);--fp-hero:radial-gradient(circle at 15% 14%,rgba(255,255,255,.75) 0 1px,transparent 2px),radial-gradient(circle at 68% 26%,rgba(255,255,255,.65) 0 1px,transparent 2px),radial-gradient(circle at 82% 12%,rgba(255,188,197,.26),transparent 24%),linear-gradient(145deg,#7a1323,#2d0911)}
.fan-pass-design-card.theme-christmas .fan-pass-design-preview,.fan-pass-fullscreen-card.fan-pass-theme-christmas{background:radial-gradient(circle at 12% 20%,#fff 0 1px,transparent 2px),radial-gradient(circle at 58% 31%,#fff 0 1px,transparent 2px),radial-gradient(circle at 80% 60%,rgba(255,255,255,.8) 0 1px,transparent 2px),linear-gradient(145deg,#9a1c30,#3b0a14)}
.fan-pass-design-card.theme-christmas .fan-pass-design-preview:after{content:'❄  ●  ✦';color:#fff;font-size:20px;letter-spacing:6px;text-shadow:0 0 10px rgba(255,255,255,.55)}
body.fan-app-theme-christmas{--bg:#2a0b12;--surface:#501523;--line:#8d3c49;--accent:#fff5f5;--muted:#f0cfd3;--theme-hero-bg:radial-gradient(circle at 13% 18%,rgba(255,255,255,.75) 0 1px,transparent 2px),radial-gradient(circle at 64% 30%,rgba(255,255,255,.6) 0 1px,transparent 2px),radial-gradient(circle at 86% 12%,rgba(255,187,196,.25),transparent 25%),linear-gradient(145deg,#771325,#2b0911)}
body.fan-app-theme-christmas.fan-app-theme-animated:after{content:'❄';position:fixed;right:7vw;top:16vh;z-index:0;pointer-events:none;font-size:clamp(45px,12vw,100px);opacity:.07;animation:fanSeasonSnow 7s linear infinite}

/* Silvester · dunkles Blau, Gold und Feuerwerk */
.fan-pass-theme-newyear{--fp-accent:#ffd96b;--fp-accent2:#b7eaff;--fp-glow:rgba(255,216,91,.22);--fp-hero:radial-gradient(circle at 78% 22%,transparent 0 8%,rgba(255,215,91,.24) 8.5% 9%,transparent 9.5% 13%,rgba(126,214,255,.18) 13.5% 14%,transparent 14.5%),radial-gradient(circle at 24% 72%,rgba(255,217,107,.18),transparent 24%),linear-gradient(145deg,#17274c,#070b19)}
.fan-pass-design-card.theme-newyear .fan-pass-design-preview,.fan-pass-fullscreen-card.fan-pass-theme-newyear{background:radial-gradient(circle at 78% 30%,transparent 0 10%,rgba(255,219,110,.45) 10.5% 11.5%,transparent 12% 16%,rgba(118,215,255,.3) 16.5% 17.5%,transparent 18%),linear-gradient(145deg,#203867,#080d20)}
.fan-pass-design-card.theme-newyear .fan-pass-design-preview:after{content:'✦  ✧  ✦';font-size:23px;color:#ffd96b;letter-spacing:7px;text-shadow:0 0 11px rgba(255,217,107,.75)}
body.fan-app-theme-newyear{--bg:#070b19;--surface:#182443;--line:#566587;--accent:#ffd96b;--muted:#c8d2e6;--theme-hero-bg:radial-gradient(circle at 84% 18%,transparent 0 8%,rgba(255,217,107,.27) 8.5% 9%,transparent 9.5% 13%,rgba(126,214,255,.18) 13.5% 14%,transparent 14.5%),radial-gradient(circle at 18% 90%,rgba(255,217,107,.15),transparent 26%),linear-gradient(145deg,#16294f,#070b19)}
body.fan-app-theme-newyear.fan-app-theme-animated:after{content:'✦';position:fixed;right:9vw;top:20vh;z-index:0;pointer-events:none;font-size:clamp(50px,13vw,110px);color:#ffd96b;opacity:.07;animation:fanSeasonBurst 4.2s ease-in-out infinite}

/* Ostern · Frühlingspastell, Eier und lichte Akzente */
.fan-pass-theme-easter{--fp-accent:#ffe48a;--fp-accent2:#ffafd5;--fp-glow:rgba(255,226,138,.20);--fp-hero:radial-gradient(ellipse at 80% 26%,rgba(255,174,213,.28) 0 8%,transparent 9%),radial-gradient(ellipse at 67% 76%,rgba(141,231,255,.22) 0 9%,transparent 10%),radial-gradient(circle at 16% 10%,rgba(255,229,140,.2),transparent 25%),linear-gradient(145deg,#31556a,#17273c)}
.fan-pass-design-card.theme-easter .fan-pass-design-preview,.fan-pass-fullscreen-card.fan-pass-theme-easter{background:radial-gradient(ellipse at 78% 30%,#ffafd5 0 9%,transparent 10%),radial-gradient(ellipse at 62% 72%,#9ce9ff 0 10%,transparent 11%),radial-gradient(ellipse at 90% 78%,#ffe48a 0 8%,transparent 9%),linear-gradient(145deg,#416d7f,#1b3147)}
.fan-pass-design-card.theme-easter .fan-pass-design-preview:after{content:'🥚  🌷';font-size:21px;letter-spacing:7px}
body.fan-app-theme-easter{--bg:#17283a;--surface:#29485b;--line:#5f8090;--accent:#ffe48a;--muted:#d3e3e8;--theme-hero-bg:radial-gradient(ellipse at 82% 26%,rgba(255,174,213,.24) 0 8%,transparent 9%),radial-gradient(ellipse at 67% 76%,rgba(141,231,255,.2) 0 9%,transparent 10%),radial-gradient(circle at 16% 10%,rgba(255,229,140,.18),transparent 25%),linear-gradient(145deg,#335d70,#17283a)}
body.fan-app-theme-easter.fan-app-theme-animated:after{content:'🥚';position:fixed;right:7vw;bottom:13vh;z-index:0;pointer-events:none;font-size:clamp(45px,11vw,94px);opacity:.07;animation:fanSeasonFloat 5.4s ease-in-out infinite}

@keyframes fanSeasonFloat{0%,100%{transform:translateY(0) rotate(-5deg)}50%{transform:translateY(-10px) rotate(5deg)}}@keyframes fanSeasonSnow{0%{transform:translateY(-18px) rotate(0)}100%{transform:translateY(38px) rotate(180deg)}}@keyframes fanSeasonBurst{0%,100%{transform:scale(.72);opacity:.03}48%{transform:scale(1.18);opacity:.11}}
@media(prefers-reduced-motion:reduce){.fan-pass-seasonal-find,body.fan-app-theme-halloween.fan-app-theme-animated:after,body.fan-app-theme-christmas.fan-app-theme-animated:after,body.fan-app-theme-newyear.fan-app-theme-animated:after,body.fan-app-theme-easter.fan-app-theme-animated:after{animation:none!important}}
