html {
    background-color: #0b0f14;
}

@view-transition {
    navigation: auto;
}

:root {
    --mlbd-safe-b: env(safe-area-inset-bottom, 0px);
    --mlbd-pwa-accent: #ff2b2b;
}

.mlbd-pwa-splash {
    position: fixed;
    inset: 0;
    z-index: 2147483646;
    display: grid;
    place-items: center;
    overflow: hidden;
    visibility: hidden;
    opacity: 0;
    background: radial-gradient(circle at 50% 32%, rgba(255, 39, 72, .2), transparent 30%), linear-gradient(155deg, #06080c, #16080d 68%, #090b10);
    transition: opacity .36s ease, visibility .36s ease;
}

.mlbd-pwa-splash.show { visibility: visible; opacity: 1; }
.mlbd-pwa-splash.leave { visibility: hidden; opacity: 0; }
.mlbd-pwa-splash__glow {
    position: absolute;
    width: 260px;
    height: 260px;
    border: 1px solid rgba(255, 54, 85, .2);
    border-radius: 50%;
    box-shadow: 0 0 90px rgba(255, 31, 66, .14), inset 0 0 70px rgba(255, 31, 66, .08);
    animation: mlbdSplashOrbit 2.8s ease-in-out infinite;
}
.mlbd-pwa-splash__content {
    position: relative;
    z-index: 1;
    width: min(330px, calc(100vw - 48px));
    color: #fff;
    text-align: center;
    font-family: system-ui, -apple-system, "Segoe UI", sans-serif;
}
.mlbd-pwa-splash__content img {
    display: block;
    width: 112px;
    height: 112px;
    margin: 0 auto 22px;
    border: 1px solid rgba(255, 68, 96, .32);
    border-radius: 26px;
    background: #10141c;
    object-fit: contain;
    box-shadow: 0 20px 55px rgba(0, 0, 0, .5), 0 0 34px rgba(255, 39, 72, .18);
    animation: mlbdSplashLogo 1.8s ease-in-out infinite;
}
.mlbd-pwa-splash__content h1 { margin: 0; color: #fff; font-size: clamp(25px, 7vw, 34px); font-weight: 900; letter-spacing: -.7px; }
.mlbd-pwa-splash__content p { margin: 9px auto 0; color: #aeb7c6; font-size: 13px; line-height: 1.55; }
.mlbd-pwa-splash__loader { display: block; overflow: hidden; width: 128px; height: 4px; margin: 25px auto 0; border-radius: 9px; background: rgba(255,255,255,.09); }
.mlbd-pwa-splash__loader i { display: block; width: 48%; height: 100%; border-radius: inherit; background: linear-gradient(90deg, #a90726, #ff3655, #ff8a9d); animation: mlbdSplashLoad 1.05s ease-in-out infinite; }
@keyframes mlbdSplashLogo { 0%,100% { transform: translateY(0) scale(1); } 50% { transform: translateY(-5px) scale(1.025); } }
@keyframes mlbdSplashOrbit { 0%,100% { transform: scale(.94); opacity: .55; } 50% { transform: scale(1.08); opacity: 1; } }
@keyframes mlbdSplashLoad { 0% { transform: translateX(-110%); } 100% { transform: translateX(230%); } }
@media (prefers-reduced-motion: reduce) { .mlbd-pwa-splash__glow,.mlbd-pwa-splash__content img,.mlbd-pwa-splash__loader i { animation: none; } }

#mlbd-appnav {
    display: none;
    position: fixed;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 2147482000;
    grid-template-columns: repeat(var(--mlbd-nav-count, 5), minmax(64px, 1fr));
    align-items: center;
    overflow-x: auto;
    overflow-y: hidden;
    scrollbar-width: none;
    background: rgba(9, 13, 18, .92);
    -webkit-backdrop-filter: blur(14px);
    backdrop-filter: blur(14px);
    border-top: 1px solid #1d2733;
    padding: 6px 4px calc(6px + var(--mlbd-safe-b));
}

#mlbd-appnav::-webkit-scrollbar {
    display: none;
}

#mlbd-appnav a {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 3px;
    min-width: 60px;
    padding: 5px 2px;
    border-radius: 10px;
    color: #8b98ab;
    font: 600 10.5px/1 system-ui, "Segoe UI", Arial, sans-serif;
    text-decoration: none;
    white-space: nowrap;
    -webkit-tap-highlight-color: transparent;
    transition: color .15s;
}

#mlbd-appnav a svg {
    opacity: .9;
}

#mlbd-appnav a.on {
    color: var(--mlbd-pwa-accent);
}

#mlbd-appnav a:active {
    background: rgba(255, 255, 255, .05);
}

html.mlbd-standalone #mlbd-appnav {
    display: grid;
}

html.mlbd-standalone body {
    padding-bottom: calc(60px + var(--mlbd-safe-b)) !important;
}

.mlbd-bar {
    display: none !important;
    position: fixed !important;
    left: 50% !important;
    right: auto !important;
    bottom: calc(10px + var(--mlbd-safe-b)) !important;
    z-index: 2147482001 !important;
    box-sizing: border-box !important;
    width: min(460px, calc(100vw - 20px)) !important;
    min-height: 62px !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 8px 11px !important;
    transform: translateX(-50%) !important;
    flex-flow: row nowrap !important;
    align-items: center !important;
    gap: 10px !important;
    overflow: hidden !important;
    background: linear-gradient(135deg, #131a22, #0b0f14) !important;
    border: 1px solid #2a3542 !important;
    border-radius: 14px !important;
    box-shadow: 0 14px 40px rgba(0, 0, 0, .5) !important;
}

html.mlbd-standalone .mlbd-bar {
    bottom: calc(70px + var(--mlbd-safe-b)) !important;
}

.mlbd-bar.show {
    display: flex !important;
    animation: mlbdPwaAttention 2.4s ease-in-out infinite;
}

.mlbd-bar.show::after {
    content: "";
    position: absolute;
    top: -45%;
    bottom: -45%;
    left: -28%;
    width: 18%;
    z-index: 0;
    pointer-events: none;
    background: linear-gradient(90deg, transparent, rgba(255, 255, 255, .18), transparent);
    transform: skewX(-18deg);
    animation: mlbdPwaSweep 3.2s ease-in-out infinite;
}

.mlbd-bar.show > * {
    position: relative;
    z-index: 1;
}

.mlbd-bar > img,
.mlbd-bar > .mlbd-ic {
    display: flex !important;
    flex: 0 0 40px !important;
    align-items: center !important;
    justify-content: center !important;
    box-sizing: border-box !important;
    width: 40px !important;
    height: 40px !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 9px !important;
    background: #1c2634 !important;
    object-fit: cover !important;
    font-size: 22px !important;
}

.mlbd-notify > .mlbd-ic {
    color: #ffd34e !important;
    background: linear-gradient(145deg, #263248, #172033) !important;
    text-shadow: 0 2px 8px rgba(255, 211, 78, .42) !important;
}

.mlbd-notify.is-enabled > .mlbd-ib {
    background: linear-gradient(135deg, #18b978, #078b59) !important;
    animation: none !important;
}

.mlbd-notify.is-busy > .mlbd-ib {
    opacity: .66 !important;
}

.mlbd-bar > .mlbd-ib:disabled {
    cursor: default !important;
}

.mlbd-bar.show > img,
.mlbd-bar.show > .mlbd-ic {
    animation: mlbdPwaIconPulse 2.4s ease-in-out infinite;
}

.mlbd-bar > .mlbd-it {
    display: block !important;
    flex: 1 1 auto !important;
    min-width: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    color: #e8edf3 !important;
    font: 700 12.5px/1.25 system-ui, Arial, sans-serif !important;
    text-align: left !important;
}

.mlbd-bar > .mlbd-it small {
    display: block !important;
    margin: 2px 0 0 !important;
    color: #93a1b5 !important;
    font-size: 10.5px !important;
    font-weight: 500 !important;
    line-height: 1.2 !important;
}

.mlbd-bar > .mlbd-ib {
    display: inline-flex !important;
    flex: 0 0 auto !important;
    align-items: center !important;
    justify-content: center !important;
    box-sizing: border-box !important;
    width: auto !important;
    min-width: 78px !important;
    height: 38px !important;
    margin: 0 !important;
    padding: 8px 13px !important;
    border: 0 !important;
    border-radius: 9px !important;
    background: linear-gradient(135deg, var(--mlbd-pwa-accent), #c00812) !important;
    color: #fff !important;
    font: 700 12px/1 system-ui, Arial, sans-serif !important;
    white-space: nowrap !important;
    cursor: pointer !important;
    overflow: hidden !important;
    box-shadow: 0 0 0 rgba(255, 43, 43, 0) !important;
    animation: mlbdPwaButtonPulse 2.4s ease-in-out infinite;
}

.mlbd-bar > .mlbd-ib::after {
    content: "";
    position: absolute;
    inset: 0;
    pointer-events: none;
    background: linear-gradient(110deg, transparent 25%, rgba(255, 255, 255, .45) 48%, transparent 70%);
    transform: translateX(-135%);
    animation: mlbdPwaButtonShine 2.4s ease-in-out infinite;
}

@keyframes mlbdPwaAttention {
    0%, 100% { border-color: #2a3542; box-shadow: 0 14px 40px rgba(0, 0, 0, .5), 0 0 0 rgba(255, 43, 43, 0); }
    50% { border-color: rgba(255, 43, 43, .78); box-shadow: 0 14px 42px rgba(0, 0, 0, .54), 0 0 22px rgba(255, 43, 43, .28); }
}

@keyframes mlbdPwaSweep {
    0%, 30% { left: -28%; opacity: 0; }
    40% { opacity: .8; }
    68%, 100% { left: 112%; opacity: 0; }
}

@keyframes mlbdPwaIconPulse {
    0%, 100% { filter: drop-shadow(0 0 0 rgba(255, 43, 43, 0)); }
    50% { filter: drop-shadow(0 0 7px rgba(255, 43, 43, .7)); }
}

@keyframes mlbdPwaButtonPulse {
    0%, 100% { box-shadow: 0 0 0 rgba(255, 43, 43, 0) !important; }
    50% { box-shadow: 0 0 16px rgba(255, 43, 43, .62) !important; }
}

@keyframes mlbdPwaButtonShine {
    0%, 32% { transform: translateX(-135%); }
    65%, 100% { transform: translateX(135%); }
}

.mlbd-bar > .mlbd-ix {
    display: inline-flex !important;
    flex: 0 0 22px !important;
    align-items: center !important;
    justify-content: center !important;
    box-sizing: border-box !important;
    width: 22px !important;
    height: 32px !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    background: transparent !important;
    color: #a7b1c0 !important;
    font: 700 20px/1 Arial, sans-serif !important;
    cursor: pointer !important;
}

@media (max-width: 420px) {
    .mlbd-bar {
        width: calc(100vw - 16px) !important;
        min-height: 58px !important;
        padding: 7px 9px !important;
        gap: 8px !important;
    }

    .mlbd-bar > img,
    .mlbd-bar > .mlbd-ic {
        flex-basis: 36px !important;
        width: 36px !important;
        height: 36px !important;
    }

    .mlbd-bar > .mlbd-it {
        font-size: 11.5px !important;
    }

    .mlbd-bar > .mlbd-it small {
        font-size: 9.5px !important;
    }

    .mlbd-bar > .mlbd-ib {
        min-width: 70px !important;
        height: 36px !important;
        padding: 7px 10px !important;
        font-size: 11.5px !important;
    }
}

@media (display-mode: standalone) {
    #mlbd-install {
        display: none !important;
    }
}

@media (prefers-reduced-motion: reduce) {
    .mlbd-bar.show,
    .mlbd-bar.show::after,
    .mlbd-bar.show > img,
    .mlbd-bar.show > .mlbd-ic,
    .mlbd-bar > .mlbd-ib,
    .mlbd-bar > .mlbd-ib::after {
        animation: none !important;
    }
}
