.dancecamp-install-gate{
    position:fixed;
    inset:0;
    z-index:99990;

    display:flex;
    align-items:center;
    justify-content:center;

    padding:
        calc(24px + env(safe-area-inset-top))
        20px
        calc(24px + env(safe-area-inset-bottom));

    background:
        radial-gradient(
            circle at 50% 35%,
            #182432 0%,
            #0d151f 46%,
            #070b10 100%
        );
}

.dancecamp-install-gate[hidden]{
    display:none;
}

.dancecamp-install-card{
    width:100%;
    max-width:390px;

    padding:28px 22px;

    border:
        1px solid
        rgba(212,169,79,.22);

    border-radius:20px;

    background:
        rgba(13,21,31,.96);

    box-shadow:
        0 24px 60px rgba(0,0,0,.34);

    text-align:center;
}

.dancecamp-install-logo{
    width:92px;
    height:92px;

    object-fit:contain;

    border-radius:22px;

    box-shadow:
        0 12px 32px rgba(0,0,0,.28);
}

.dancecamp-install-eyebrow{
    margin-top:20px;

    color:#d4a94f;

    font-size:10px;
    font-weight:850;

    letter-spacing:2.2px;
}

.dancecamp-install-title{
    margin:8px 0 0;

    color:#f8fafc;

    font-size:25px;
    font-weight:850;

    line-height:1.2;
}

.dancecamp-install-text{
    margin:14px 0 0;

    color:#a6b1be;

    font-size:14px;

    line-height:1.55;
}

.dancecamp-install-button{
    width:100%;

    margin-top:22px;
    padding:14px 18px;

    border:0;
    border-radius:12px;

    background:
        linear-gradient(
            180deg,
            #e0b85d,
            #c99635
        );

    color:#0a1018;

    font-family:inherit;
    font-size:14px;
    font-weight:850;

    cursor:pointer;
}

.dancecamp-install-steps{
    margin-top:22px;

    display:flex;
    flex-direction:column;

    gap:10px;

    text-align:left;

    color:#d6dde6;

    font-size:13px;

    line-height:1.45;
}

.dancecamp-install-steps div{
    padding:11px 12px;

    border:
        1px solid
        rgba(148,163,184,.14);

    border-radius:10px;

    background:
        rgba(255,255,255,.025);
}

.dancecamp-install-steps strong{
    color:#d4a94f;
}

.dancecamp-install-note{
    margin-top:18px;

    color:#748292;

    font-size:11px;

    line-height:1.45;
}


.dancecamp-push-gate{
    position:fixed;
    inset:0;
    z-index:99980;

    display:flex;
    align-items:center;
    justify-content:center;

    padding:
        calc(24px + env(safe-area-inset-top))
        20px
        calc(24px + env(safe-area-inset-bottom));

    background:
        radial-gradient(
            circle at 50% 35%,
            #182432 0%,
            #0d151f 46%,
            #070b10 100%
        );
}

.dancecamp-push-gate[hidden]{
    display:none;
}

.dancecamp-push-card{
    width:100%;
    max-width:390px;

    padding:28px 22px;

    border:1px solid rgba(212,169,79,.24);
    border-radius:20px;

    background:rgba(13,21,31,.97);

    box-shadow:
        0 24px 60px rgba(0,0,0,.36);

    text-align:center;
}

.dancecamp-push-logo{
    width:92px;
    height:92px;

    object-fit:contain;
    border-radius:22px;
}

.dancecamp-push-eyebrow{
    margin-top:20px;

    color:#d4a94f;

    font-size:10px;
    font-weight:850;
    letter-spacing:2.2px;
}

.dancecamp-push-title{
    margin-top:8px;

    color:#f8fafc;

    font-size:26px;
    font-weight:850;
}

.dancecamp-push-text{
    margin-top:14px;

    color:#a6b1be;

    font-size:14px;
    line-height:1.55;
}

.dancecamp-push-button{
    width:100%;

    margin-top:24px;
    padding:15px 18px;

    border:0;
    border-radius:12px;

    background:
        linear-gradient(
            180deg,
            #e0b85d,
            #c99635
        );

    color:#0a1018;

    font-family:inherit;
    font-size:14px;
    font-weight:900;

    cursor:pointer;
}

.dancecamp-push-button:disabled{
    opacity:.55;
}

.dancecamp-push-blocked{
    margin-top:20px;
    padding:15px;

    border:1px solid rgba(239,68,68,.38);
    border-radius:12px;

    background:rgba(239,68,68,.08);

    color:#f2b4b4;

    font-size:13px;
    line-height:1.5;

    text-align:left;
}

.dancecamp-push-blocked strong,
.dancecamp-push-blocked span{
    display:block;
}

.dancecamp-push-blocked span{
    margin-top:6px;
}

.dancecamp-push-error{
    margin-top:16px;

    color:#f87171;

    font-size:13px;
    line-height:1.45;
}


/* Install, notification and splash screens */
html[data-theme="light"] .dancecamp-install-gate,
html[data-theme="light"] .dancecamp-push-gate,
html[data-theme="light"] .dancecamp-splash{
    background:
        radial-gradient(circle at 50% 34%, rgba(255,253,247,.99) 0%, rgba(244,236,221,.99) 54%, #eae0cf 100%);
}

html[data-theme="light"] .dancecamp-install-card,
html[data-theme="light"] .dancecamp-push-card{
    background:linear-gradient(145deg, #fffdf8, #f8f1e6);
    border-color:rgba(155,111,39,.24);
    box-shadow:0 24px 60px rgba(66,51,29,.14);
}

html[data-theme="light"] .dancecamp-install-title,
html[data-theme="light"] .dancecamp-push-title,
html[data-theme="light"] .dancecamp-splash-brand{
    color:#252a2d;
}

html[data-theme="light"] .dancecamp-install-text,
html[data-theme="light"] .dancecamp-install-note,
html[data-theme="light"] .dancecamp-push-text,
html[data-theme="light"] .dancecamp-splash-tagline{
    color:#6f756f;
}

html[data-theme="light"] .dancecamp-install-steps{
    color:#3f4646;
}

html[data-theme="light"] .dancecamp-install-steps div{
    background:rgba(255,255,255,.50);
    border-color:rgba(88,76,55,.16);
}


html.pair-setup-locked body{overflow:hidden!important;}
html.pair-setup-locked body > :not(#pairSetupGate):not(script):not(style){visibility:hidden!important;pointer-events:none!important;}
#pairSetupGate{z-index:2147483647;overflow-y:auto;align-items:safe center;box-sizing:border-box;}
#pairSetupGate [hidden]{display:none!important;}
#pairSetupGate .dancecamp-install-card{box-sizing:border-box;flex-shrink:0;}
#pairSetupGate .dancecamp-push-blocked{color:#f2b4b4;}
html[data-theme="light"] #pairSetupGate .dancecamp-push-blocked{color:#8b2525;background:#fff0ec;}
html[data-theme="light"] #pairSetupGate .dancecamp-push-error{color:#a12c27;}
.dancer-entry-register{display:block;text-align:center;text-decoration:none;}
