/* BulltriX 2.2.29 – Startintro und Logo. Unabhängig vom Firebase-/Turnier-Code. */
.brand-mark,.boot-logo{
 background:#071523 url('./bulltrix-icon.webp') center/cover no-repeat!important;
 border:1px solid rgba(244,190,61,.52)!important;
 box-shadow:0 0 16px rgba(250,171,41,.15),inset 0 0 5px rgba(5,18,30,.6)!important;
 color:transparent!important;font-size:0!important;flex:none;overflow:hidden;
}
.brand-mark span,.boot-logo span{display:none!important}
.bt-intro{position:fixed;inset:0;z-index:999999;display:grid;place-items:center;
 background:radial-gradient(ellipse at 50% 47%,#092439 0,#061525 48%,#020a14 100%);
 overflow:hidden;isolation:isolate;color:#d9f5ff;font-family:system-ui,-apple-system,'Segoe UI',sans-serif;
 animation:bt-intro-bg 2.8s both;
}
.bt-intro[hidden]{display:none!important}
.bt-intro::before{content:'';position:absolute;inset:-80%;opacity:.22;z-index:-1;
 background:repeating-radial-gradient(circle at center,transparent 0 67px,rgba(77,204,244,.22) 68px 69px,transparent 70px 135px);
 animation:bt-ring 7s linear infinite;pointer-events:none;
}
.bt-intro::after{content:'';position:absolute;inset:-20%;z-index:-1;opacity:.3;
 background:linear-gradient(113deg,transparent 37%,rgba(12,119,178,.16) 49%,transparent 60%);
 transform:translateX(-25%);
}
.bt-intro-stars{position:absolute;inset:0;pointer-events:none;opacity:.54;
 background-image:radial-gradient(circle at 18% 24%,rgba(255,211,99,.9) 0 1px,transparent 3px),
 radial-gradient(circle at 74% 37%,rgba(84,217,248,.8) 0 1px,transparent 3px),
 radial-gradient(circle at 61% 78%,rgba(255,203,99,.75) 0 1px,transparent 3px),
 radial-gradient(circle at 39% 73%,rgba(84,217,248,.65) 0 1px,transparent 3px);
}
.bt-intro-stage{width:min(1110px,94vw);display:flex;align-items:center;justify-content:center;
 gap:clamp(0px,1.1vw,22px);position:relative;filter:drop-shadow(0 0 25px rgba(32,173,228,.12));
}
.bt-intro-icon{width:34%;max-width:370px;flex:none;position:relative;
 opacity:0;transform:translateX(35px) scale(.64) rotate(-9deg);filter:blur(12px) brightness(1.8);
 animation:bt-icon-arrive .95s cubic-bezier(.18,.8,.18,1) .10s forwards;
}
.bt-intro-icon img,.bt-intro-name img{display:block;width:100%;height:auto;object-fit:contain;user-select:none;pointer-events:none}
.bt-intro-icon::after{content:'';position:absolute;inset:25%;border-radius:50%;z-index:-1;
 background:radial-gradient(circle,rgba(255,181,46,.35),transparent 65%);filter:blur(23px);
 animation:bt-icon-light 1.7s ease-in-out .7s both;
}
.bt-intro-name{width:65%;max-width:720px;position:relative;opacity:0;
 clip-path:inset(0 100% 0 0);transform:translateX(-14px);
 animation:bt-name-arrive 1.12s cubic-bezier(.18,.85,.28,1) .77s forwards;
}
.bt-intro-sweep{position:absolute;left:-15%;top:49%;width:130%;height:2px;transform:scaleX(0);
 background:linear-gradient(90deg,transparent,rgba(44,207,252,.8) 30%,#fff 51%,rgba(252,201,68,.9) 74%,transparent);
 box-shadow:0 0 18px 3px rgba(46,199,252,.42);transform-origin:left;
 animation:bt-beam 1.15s ease-out .89s both;pointer-events:none;
}
.bt-intro-foot{position:absolute;bottom:clamp(48px,8vh,100px);left:50%;transform:translateX(-50%);
 text-align:center;min-width:250px;opacity:0;animation:bt-foot-appear .65s ease 1.7s both;
}
.bt-intro-foot p{font-size:clamp(9px,1.5vw,12px);letter-spacing:.28em;font-weight:700;color:#a7c7d3;
 text-transform:uppercase;margin:0 0 15px;
}
.bt-intro-track{height:2px;background:rgba(104,155,182,.2);border-radius:12px;overflow:hidden;width:min(310px,58vw);margin:auto}
.bt-intro-track::after{content:'';display:block;width:100%;height:100%;transform-origin:left;transform:scaleX(0);
 background:linear-gradient(90deg,#26caff,#fff1ba,#f7b837);
 box-shadow:0 0 10px #19c5ed;animation:bt-progress 2.55s linear .32s forwards;
}
.bt-intro-skip{position:absolute;right:max(20px,env(safe-area-inset-right));top:max(18px,env(safe-area-inset-top));
 z-index:3;appearance:none;border:1px solid rgba(155,188,209,.26);border-radius:999px;
 padding:11px 18px;background:rgba(9,23,38,.58);color:#b9cfde;font:700 12px system-ui,-apple-system,sans-serif;
 cursor:pointer;transition:background .2s,color .2s,border-color .2s;
}
.bt-intro-skip:hover,.bt-intro-skip:focus-visible{color:#fff;background:rgba(21,63,85,.85);border-color:#67c9ea}
.bt-intro.bt-intro-exit{animation:bt-out .54s ease-in both;pointer-events:none}
@keyframes bt-intro-bg{from{background-color:#000}to{background-color:#020a14}}
@keyframes bt-ring{to{transform:rotate(360deg)}}
@keyframes bt-icon-arrive{0%{opacity:0;transform:translateX(35px) scale(.64) rotate(-9deg);filter:blur(12px) brightness(1.8)}64%{opacity:1}100%{opacity:1;transform:translateX(0) scale(1) rotate(0);filter:blur(0) brightness(1)}}
@keyframes bt-icon-light{0%{opacity:0;transform:scale(.7)}45%{opacity:.9}100%{opacity:.5;transform:scale(1.3)}}
@keyframes bt-name-arrive{0%{clip-path:inset(0 100% 0 0);opacity:0;transform:translateX(-14px)}20%{opacity:1}100%{clip-path:inset(0 0 0 0);opacity:1;transform:translateX(0)}}
@keyframes bt-beam{0%{transform:scaleX(0);opacity:0}20%{opacity:1}90%{opacity:1}100%{transform:scaleX(1);opacity:0}}
@keyframes bt-foot-appear{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}
@keyframes bt-progress{to{transform:scaleX(1)}}
@keyframes bt-out{to{opacity:0;filter:blur(13px);visibility:hidden}}
@media(max-width:650px){
 .bt-intro-stage{flex-direction:column;gap:0;width:96vw}
 .bt-intro-icon{width:min(66vw,310px);margin-bottom:-12px}
 .bt-intro-name{width:min(94vw,560px)}
 .bt-intro-sweep{top:64%}
 .bt-intro-foot{bottom:11vh}
}
@media(prefers-reduced-motion:reduce){
 .bt-intro *, .bt-intro::before,.bt-intro::after{animation:none!important;transition:none!important}
 .bt-intro{animation:none!important}
 .bt-intro-icon,.bt-intro-name,.bt-intro-foot{opacity:1!important;filter:none!important;transform:none!important;clip-path:none!important}
}
