html,
body{
        overflow-x: hidden;
    }

    body{
        background: #f7f8fc;
    }

    .post-password-form-wrapper,
.post-password-form-wrapper *,
.post-password-form-custom,
.post-password-form-custom *{
        box-sizing: border-box;
    }

    .post-password-form-wrapper{
        --jbe-access-primary: #5b5ce2;
        --jbe-access-primary-dark: #4446c8;
        --jbe-access-primary-soft: #f1f1ff;
        --jbe-access-text: #12182f;
        --jbe-access-muted: #697089;
        --jbe-access-border: #e3e7f0;
        width: 100%;
        max-width: 100%;
        min-height: min(680px, calc(100vh - 100px));
        padding: clamp(42px, 8vh, 92px) 18px 48px;
        display: flex;
        align-items: flex-start;
        justify-content: center;
        font-family: Inter, Montserrat, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
        color: var(--jbe-access-text);
    }

    .post-password-form-stage{
        width: min(620px, 100%);
        max-width: 100%;
        transform-origin: center center;
        transition: opacity .24s ease, transform .38s cubic-bezier(.22, 1, .36, 1), filter .28s ease;
    }

    .jbe-name-gate .jbe-name-gate-main{
        width: 100%;
    }

    /* Subtelna animacja wejścia całego panelu. */
    .jbe-name-gate .post-password-form-stage .password-created-by{
        animation: jbe-name-gate-credit-in .54s cubic-bezier(.16, 1, .3, 1) .08s backwards;
    }

    .jbe-name-gate .post-password-form-custom{
        animation: jbe-name-gate-panel-in .82s cubic-bezier(.16, 1, .3, 1) .03s backwards;
    }

    .jbe-name-gate .post-password-form-custom::before{
        transform-origin: center;
        animation: jbe-name-gate-orb-in .95s cubic-bezier(.16, 1, .3, 1) .18s backwards;
    }

    .jbe-name-gate .password-protected-icon{
        animation: jbe-name-gate-icon-in .66s cubic-bezier(.16, 1, .3, 1) .18s backwards;
    }

    .jbe-name-gate .password-protected-kicker{
        animation: jbe-name-gate-item-in .54s cubic-bezier(.16, 1, .3, 1) .26s backwards;
    }

    .jbe-name-gate .password-protected-title{
        animation: jbe-name-gate-item-in .56s cubic-bezier(.16, 1, .3, 1) .31s backwards;
    }

    .jbe-name-gate .password-protected-message{
        animation: jbe-name-gate-item-in .56s cubic-bezier(.16, 1, .3, 1) .36s backwards;
    }

    .jbe-name-gate form.post-password-form{
        animation: jbe-name-gate-item-in .58s cubic-bezier(.16, 1, .3, 1) .42s backwards;
    }

    @keyframes jbe-name-gate-panel-in {
        0% {
            opacity: 0;
            transform: translateY(24px) scale(.976);
            filter: blur(7px);
            box-shadow: 0 8px 28px rgba(26, 32, 60, .025);
        }
        58% {
            opacity: 1;
            filter: blur(0);
        }
        100% {
            opacity: 1;
            transform: translateY(0) scale(1);
            filter: blur(0);
            box-shadow: 0 22px 60px rgba(26, 32, 60, .09);
        }
    }

    @keyframes jbe-name-gate-credit-in {
        0% {
            opacity: 0;
            transform: translateX(14px);
        }
        100% {
            opacity: 1;
            transform: translateX(0);
        }
    }

    @keyframes jbe-name-gate-icon-in {
        0% {
            opacity: 0;
            transform: translateY(15px) scale(.82) rotate(-5deg);
            box-shadow: 0 5px 14px rgba(91, 92, 226, .08);
        }
        100% {
            opacity: 1;
            transform: translateY(0) scale(1) rotate(0);
            box-shadow: 0 13px 28px rgba(91, 92, 226, .25);
        }
    }

    @keyframes jbe-name-gate-item-in {
        0% {
            opacity: 0;
            transform: translateY(12px);
        }
        100% {
            opacity: 1;
            transform: translateY(0);
        }
    }

    @keyframes jbe-name-gate-orb-in {
        0% {
            opacity: 0;
            transform: translate3d(26px, -24px, 0) scale(.74);
        }
        100% {
            opacity: 1;
            transform: translate3d(0, 0, 0) scale(1);
        }
    }

    /*
     * Nawet gdy statusu nie ma, miejsce na kropkę pozostaje zajęte.
     * Dzięki temu wszystkie strzałki są w dokładnie tej samej pozycji.
     */

    /*
     * Desktop: panel administratora otwiera się dopiero po kliknięciu strzałki.
     * Panel wychodzi z prawej strony, jakby spod głównej karty logowania.
     */

    .jbe-name-gate .jbe-name-quote{
        width: min(590px, calc(100% - 24px));
        margin: 98px auto 0;
        animation: jbe-name-gate-quote-in .72s cubic-bezier(.16, 1, .3, 1) .5s backwards;
    }

    .jbe-name-gate .jbe-name-quote-inner{
        display: grid;
        grid-template-columns: 58px minmax(0, 1fr);
        gap: 26px;
        align-items: start;
        padding: 0;
        background: transparent;
        border: 0;
        border-radius: 0;
        box-shadow: none;
    }

    .jbe-name-gate .jbe-name-quote-inner::before{
        display: none;
    }

    .jbe-name-gate .jbe-name-quote-icon{
        width: 48px;
        height: 38px;
        display: inline-grid;
        place-items: center;
        margin-top: 6px;
        color: rgba(104, 108, 232, .9);
        flex: 0 0 48px;
    }

    .jbe-name-gate .jbe-name-quote-icon svg{
        width: 100%;
        height: 100%;
        display: block;
        fill: currentColor;
    }

    .jbe-name-gate .jbe-name-quote-content{
        min-width: 0;
        will-change: opacity, transform;
    }

    .jbe-name-gate .jbe-name-quote-content.is-quote-leaving{
        animation: jbe-name-gate-quote-swap-out .28s cubic-bezier(.4, 0, .2, 1) forwards;
    }

    .jbe-name-gate .jbe-name-quote-content.is-quote-entering{
        animation: jbe-name-gate-quote-swap-in .42s cubic-bezier(.16, 1, .3, 1) forwards;
    }

    .jbe-name-gate .jbe-name-quote-text{
        margin: 0;
        color: #4e5878;
        font-family: Inter, "Segoe UI", Arial, sans-serif;
        font-size: clamp(20px, 3.2vw, 24px);
        line-height: 1.46;
        font-weight: 600;
        font-style: italic;
        letter-spacing: -.03em;
        text-wrap: balance;
    }

    .jbe-name-gate .jbe-name-quote-author{
        margin: 24px 0 0;
        display: flex;
        align-items: center;
        justify-content: flex-end;
        gap: 14px;
        color: #59617b;
        font-family: Inter, "Segoe UI", Arial, sans-serif;
        font-size: 12px;
        line-height: 1.3;
        font-weight: 800;
        letter-spacing: .11em;
        text-align: right;
        text-transform: uppercase;
    }

    .jbe-name-gate .jbe-name-quote-author::before{
        content: "";
        width: 38px;
        height: 2px;
        border-radius: 999px;
        background: rgba(104, 108, 232, .82);
        flex: 0 0 38px;
    }

    @keyframes jbe-name-gate-quote-in {
        0% {
            opacity: 0;
            transform: translateY(14px);
        }
        100% {
            opacity: 1;
            transform: translateY(0);
        }
    }

    @keyframes jbe-name-gate-quote-swap-out {
        0% {
            opacity: 1;
            transform: translateY(0);
            filter: blur(0);
        }
        100% {
            opacity: 0;
            transform: translateY(-8px);
            filter: blur(4px);
        }
    }

    @keyframes jbe-name-gate-quote-swap-in {
        0% {
            opacity: 0;
            transform: translateY(10px);
            filter: blur(4px);
        }
        100% {
            opacity: 1;
            transform: translateY(0);
            filter: blur(0);
        }
    }

    .post-password-form-stage.is-success-leaving{
        opacity: 0;
        transform: translateY(-8px) scale(.97);
        filter: blur(4px);
    }

    .post-password-form-custom .password-created-by,
.post-password-form-stage .password-created-by{
        margin: 0 8px 11px 0;
        display: flex;
        align-items: center;
        justify-content: flex-end;
        gap: 7px;
        color: #9aa1b5;
        font-size: 10px;
        line-height: 1.2;
        font-weight: 650;
        letter-spacing: .08em;
        text-transform: uppercase;
        text-align: right;
    }

    .post-password-form-stage .password-created-by::before{
        content: "";
        width: 24px;
        height: 1px;
        flex: 0 0 24px;
        background: linear-gradient(90deg, transparent, rgba(91, 92, 226, .52));
    }

    .post-password-form-stage .password-created-by strong{
        color: #4f566f;
        font-weight: 800;
        letter-spacing: .035em;
    }

    .post-password-form-custom{
        position: relative;
        isolation: isolate;
        width: min(620px, 100%);
        padding: 58px 42px 50px;
        overflow: hidden;
        border: 1px solid #edf0f6;
        border-radius: 28px;
        background:
            radial-gradient(circle at 100% 0%, rgba(91, 92, 226, .10), transparent 34%),
            linear-gradient(180deg, #ffffff 0%, #fbfcff 100%);
        box-shadow: 0 22px 60px rgba(26, 32, 60, .09);
        text-align: center;
        transform-origin: center center;
        transition: transform .42s cubic-bezier(.22, 1, .36, 1), border-color .24s ease, box-shadow .32s ease, background .32s ease;
    }

    .post-password-form-custom::before{
        content: "";
        position: absolute;
        z-index: -1;
        top: -90px;
        right: -75px;
        width: 210px;
        height: 210px;
        border-radius: 50%;
        background: rgba(91, 92, 226, .055);
        pointer-events: none;
    }

    .post-password-form-custom::after{
        content: "";
        position: absolute;
        z-index: 2;
        top: -40%;
        left: -75%;
        width: 42%;
        height: 180%;
        opacity: 0;
        pointer-events: none;
        transform: rotate(18deg);
        background: linear-gradient(90deg, transparent, rgba(255, 255, 255, .78), transparent);
    }

    .post-password-form-custom .password-form-content{
        position: relative;
        z-index: 1;
        transition: opacity .3s ease, transform .38s cubic-bezier(.22, 1, .36, 1), filter .28s ease;
    }

    .post-password-form-custom .password-success-layer{
        position: absolute;
        z-index: 4;
        inset: 0;
        padding: 34px;
        display: flex;
        flex-direction: column;
        align-items: center;
        justify-content: center;
        visibility: hidden;
        opacity: 0;
        pointer-events: none;
        transform: translateY(12px) scale(.96);
        transition: opacity .3s ease .05s, transform .46s cubic-bezier(.22, 1, .36, 1) .05s, visibility 0s linear .46s;
    }

    .post-password-form-custom .password-success-icon{
        width: 72px;
        height: 72px;
        margin: 0 0 20px;
        display: grid;
        place-items: center;
        border-radius: 24px;
        color: #ffffff;
        background: linear-gradient(135deg, #34b875 0%, #168449 100%);
        box-shadow: 0 16px 34px rgba(22, 132, 73, .24);
        transform: scale(.72) rotate(-8deg);
        transition: transform .52s cubic-bezier(.2, 1.35, .4, 1) .12s;
    }

    .post-password-form-custom .password-success-icon svg{
        width: 35px;
        height: 35px;
        display: block;
        fill: none;
        stroke: currentColor;
        stroke-width: 2.2;
        stroke-linecap: round;
        stroke-linejoin: round;
    }

    .post-password-form-custom .password-success-title{
        margin: 0;
        color: var(--jbe-access-text);
        font-size: clamp(27px, 4vw, 34px);
        line-height: 1.14;
        font-weight: 820;
        letter-spacing: -.035em;
    }

    .post-password-form-custom .password-success-message{
        max-width: 390px;
        margin: 12px auto 0;
        color: var(--jbe-access-muted);
        font-size: 14px;
        line-height: 1.6;
        font-weight: 500;
    }

    .post-password-form-custom .password-success-progress{
        width: 128px;
        height: 3px;
        margin-top: 25px;
        overflow: hidden;
        border-radius: 999px;
        background: #e7eaf2;
    }

    .post-password-form-custom .password-success-progress::after{
        content: "";
        display: block;
        width: 100%;
        height: 100%;
        border-radius: inherit;
        background: linear-gradient(90deg, #5b5ce2, #34b875);
        transform: translateX(-100%);
    }

    .post-password-form-custom.is-success-sequence{
        border-color: rgba(42, 170, 100, .28);
        background:
            radial-gradient(circle at 50% 15%, rgba(52, 184, 117, .12), transparent 38%),
            linear-gradient(180deg, #ffffff 0%, #fbfffd 100%);
        box-shadow: 0 24px 68px rgba(26, 32, 60, .10), 0 0 0 5px rgba(52, 184, 117, .06);
        transform: translateY(-4px) scale(.985);
    }

    .post-password-form-custom.is-success-sequence::after{
        opacity: 1;
        animation: jbe-access-success-sweep .72s cubic-bezier(.22, 1, .36, 1) forwards;
    }

    .post-password-form-custom.is-success-sequence .password-form-content{
        opacity: 0;
        transform: translateY(-8px) scale(.985);
        filter: blur(4px);
        pointer-events: none;
    }

    .post-password-form-custom.is-success-sequence .password-success-layer{
        visibility: visible;
        opacity: 1;
        transform: translateY(0) scale(1);
        transition-delay: .04s, .04s, 0s;
    }

    .post-password-form-custom.is-success-sequence .password-success-icon{
        transform: scale(1) rotate(0);
    }

    .post-password-form-custom.is-success-sequence .password-success-progress::after{
        animation: jbe-access-success-progress .72s ease .16s forwards;
    }

    @keyframes jbe-access-success-sweep {
        0% { left: -75%; opacity: 0; }
        18% { opacity: .95; }
        100% { left: 135%; opacity: 0; }
    }

    @keyframes jbe-access-success-progress {
        to { transform: translateX(0); }
    }

    .post-password-form-custom .password-protected-icon{
        width: 68px;
        height: 68px;
        margin: 0 auto 20px;
        display: grid;
        place-items: center;
        border-radius: 22px;
        color: #ffffff;
        background: linear-gradient(135deg, #6b6cf1 0%, #5254db 100%);
        box-shadow: 0 13px 28px rgba(91, 92, 226, .25);
    }

    .post-password-form-custom .password-protected-icon svg{
        width: 31px;
        height: 31px;
        display: block;
        fill: none;
        stroke: currentColor;
        stroke-width: 1.8;
        stroke-linecap: round;
        stroke-linejoin: round;
    }

    .post-password-form-custom .password-protected-kicker{
        margin: 0 0 8px;
        color: var(--jbe-access-primary);
        font-size: 11px;
        line-height: 1.2;
        font-weight: 800;
        letter-spacing: .14em;
        text-transform: uppercase;
    }

    .post-password-form-custom .password-protected-title{
        margin: 0;
        color: var(--jbe-access-text);
        font-size: clamp(28px, 4vw, 36px);
        line-height: 1.12;
        font-weight: 800;
        letter-spacing: -.035em;
    }

    .post-password-form-custom .password-protected-message{
        max-width: 430px;
        margin: 13px auto 29px;
        color: var(--jbe-access-muted);
        font-size: 15px;
        line-height: 1.6;
        font-weight: 450;
        text-align: center;
    }

    .post-password-form-custom form.post-password-form{
        width: 100%;
        margin: 0 auto;
        padding: 0;
    }

    .post-password-form-custom .password-field-label{
        display: block;
        margin: 0 0 8px;
        color: #343b55;
        font-size: 13px;
        line-height: 1.3;
        font-weight: 700;
        text-align: left;
    }

    .post-password-form-custom .password-row{
        width: 100%;
        margin: 0;
        padding: 0;
        display: grid;
        grid-template-columns: minmax(0, 1fr) auto;
        gap: 12px;
        align-items: stretch;
    }

    .post-password-form-custom .password-input-wrap{
        position: relative;
        min-width: 0;
    }

    .post-password-form-custom input[type="text"]{
        appearance: none;
        -webkit-appearance: none;
        width: 100% !important;
        max-width: none !important;
        height: 54px !important;
        margin: 0 !important;
        padding: 0 48px 0 17px !important;
        border: 1px solid var(--jbe-access-border) !important;
        border-radius: 14px !important;
        outline: none !important;
        background: #ffffff !important;
        box-shadow: 0 5px 16px rgba(25, 31, 59, .035) !important;
        color: var(--jbe-access-text) !important;
        font: inherit !important;
        font-size: 15px !important;
        font-weight: 550 !important;
        line-height: 1 !important;
        text-transform: none !important;
        transition: border-color .18s ease, box-shadow .18s ease, background .18s ease;
    }

    .post-password-form-custom input[type="text"]::placeholder{
        color: #9aa1b5;
        opacity: 1;
        font-weight: 450;
    }

    .post-password-form-custom input[type="text"]:hover{
        border-color: #cfd4e2 !important;
    }

    .post-password-form-custom input[type="text"]:focus{
        border-color: var(--jbe-access-primary) !important;
        box-shadow: 0 0 0 4px rgba(91, 92, 226, .12) !important;
    }

    .post-password-form-custom .password-input-status-icon{
        position: absolute;
        top: 50%;
        right: 16px;
        width: 23px;
        height: 23px;
        display: grid;
        place-items: center;
        border-radius: 50%;
        opacity: 0;
        transform: translateY(-50%) scale(.75);
        pointer-events: none;
        transition: opacity .18s ease, transform .18s ease;
    }

    .post-password-form-custom .password-input-status-icon::before{
        font-size: 13px;
        line-height: 1;
        font-weight: 900;
    }

    .post-password-form-custom .password-input-wrap.is-checking .password-input-status-icon{
        opacity: 1;
        background: transparent;
        transform: translateY(-50%) scale(1);
    }

    .post-password-form-custom .password-input-wrap.is-checking .password-input-status-icon::before{
        content: "";
        width: 17px;
        height: 17px;
        display: block;
        border: 2px solid #d8dced;
        border-top-color: var(--jbe-access-primary);
        border-right-color: rgba(91, 92, 226, .45);
        border-radius: 50%;
        animation: jbe-access-spin .68s linear infinite;
    }

    .post-password-form-custom .password-input-wrap.is-valid .password-input-status-icon{
        opacity: 1;
        color: #168449;
        background: #dcf7e9;
        transform: translateY(-50%) scale(1);
    }

    .post-password-form-custom .password-input-wrap.is-valid .password-input-status-icon::before{
        content: "✓";
    }

    .post-password-form-custom .password-input-wrap.is-invalid .password-input-status-icon{
        opacity: 1;
        color: #b52e45;
        background: #ffe8ed;
        transform: translateY(-50%) scale(1);
    }

    .post-password-form-custom .password-input-wrap.is-invalid .password-input-status-icon::before{
        content: "×";
        font-size: 17px;
    }

    @keyframes jbe-access-spin {
        to { transform: rotate(360deg); }
    }

    .post-password-form-custom .password-input-wrap.is-submit-error{
        animation: jbe-access-submit-error .34s ease;
    }

    @keyframes jbe-access-submit-error {
        0%, 100% { transform: translateX(0); }
        30% { transform: translateX(-5px); }
        65% { transform: translateX(5px); }
    }

    .post-password-form-custom input[type="text"].jbe-pass-ok{
        border-color: #2aaa64 !important;
        background: #f7fffa !important;
        box-shadow: 0 0 0 4px rgba(42, 170, 100, .10) !important;
    }

    .post-password-form-custom input[type="text"].jbe-pass-bad{
        border-color: #d04a60 !important;
        background: #fff9fa !important;
        box-shadow: 0 0 0 4px rgba(208, 74, 96, .09) !important;
    }

    .post-password-form-custom input[type="submit"]{
        appearance: none;
        -webkit-appearance: none;
        min-width: 144px;
        height: 54px !important;
        margin: 0 !important;
        padding: 0 23px !important;
        border: 0 !important;
        border-radius: 14px !important;
        background: linear-gradient(135deg, #6b6cf1 0%, #5254db 100%) !important;
        box-shadow: 0 10px 22px rgba(91, 92, 226, .22) !important;
        color: #ffffff !important;
        cursor: pointer;
        font: inherit !important;
        font-size: 14px !important;
        line-height: 1 !important;
        font-weight: 750 !important;
        letter-spacing: .01em;
        text-transform: none !important;
        white-space: nowrap;
        transition: transform .18s ease, box-shadow .18s ease, filter .18s ease;
    }

    .post-password-form-custom input[type="submit"]:hover{
        transform: translateY(-1px);
        box-shadow: 0 13px 28px rgba(91, 92, 226, .28) !important;
        filter: brightness(1.015);
    }

    .post-password-form-custom input[type="submit"]:active{
        transform: translateY(0);
        box-shadow: 0 7px 17px rgba(91, 92, 226, .20) !important;
    }

    .post-password-form-custom input[type="submit"]:focus-visible{
        outline: 3px solid rgba(91, 92, 226, .22) !important;
        outline-offset: 3px !important;
    }

    .post-password-form-custom .password-validation-message{
        min-height: 20px;
        margin: 9px 0 0;
        color: var(--jbe-access-muted);
        font-size: 12px;
        line-height: 1.35;
        font-weight: 600;
        text-align: left;
        opacity: 0;
        transform: translateY(-2px);
        transition: opacity .18s ease, transform .18s ease, color .18s ease;
    }

    .post-password-form-custom .password-validation-message.is-visible{
        opacity: 1;
        transform: translateY(0);
    }

    .post-password-form-custom .password-validation-message.is-valid{
        color: #168449;
    }

    .post-password-form-custom .password-validation-message.is-invalid{
        color: #b52e45;
    }

    @media (max-width: 1050px) {

        .jbe-name-gate .jbe-name-quote{
            display: none !important;
        }

        .post-password-form-custom .password-success-layer{
            padding: 26px 20px;
        }

        .post-password-form-custom .password-success-icon{
            width: 64px;
            height: 64px;
            margin-bottom: 17px;
            border-radius: 21px;
        }

        .post-password-form-custom .password-success-message{
            font-size: 13.5px;
        }
    }

    @media (max-width: 640px) {

        .jbe-name-gate .password-row{
            grid-template-columns: minmax(0, 1fr) !important;
            gap: 10px !important;
        }

        .jbe-name-gate .password-input-wrap{
            width: 100% !important;
            min-width: 0 !important;
        }

        .jbe-name-gate input[type="submit"]{
            width: 100% !important;
            min-width: 0 !important;
            max-width: none !important;
        }

        .jbe-name-gate .jbe-name-quote{
            width: min(100%, calc(100% - 8px));
            margin-top: 40px;
        }

        .jbe-name-gate .jbe-name-quote-inner{
            grid-template-columns: 36px minmax(0, 1fr);
            gap: 14px;
        }

        .jbe-name-gate .jbe-name-quote-icon{
            width: 32px;
            height: 26px;
            margin-top: 4px;
        }

        .jbe-name-gate .jbe-name-quote-text{
            font-size: 18px;
            line-height: 1.5;
        }

        .jbe-name-gate .jbe-name-quote-author{
            margin-top: 18px;
            font-size: 11px;
            gap: 11px;
            letter-spacing: .09em;
        }

        .jbe-name-gate .jbe-name-quote-author::before{
            width: 28px;
            flex-basis: 28px;
        }
    }

    @media (max-width: 380px) {
        .post-password-form-wrapper{
            padding-left: 9px;
            padding-right: 9px;
        }

        .post-password-form-custom{
            padding-left: 16px;
            padding-right: 16px;
        }
    }

    @media (prefers-reduced-motion: reduce) {
        .jbe-name-gate .post-password-form-stage .password-created-by,
.jbe-name-gate .post-password-form-custom,
.jbe-name-gate .post-password-form-custom::before,
.jbe-name-gate .post-password-form-custom::after,
.post-password-form-custom *,
.post-password-form-custom *::before,
.post-password-form-custom *::after{
            animation: none !important;
            scroll-behavior: auto !important;
            transition-duration: .01ms !important;
        }
    }

    /* V2: po wyszukaniu ucznia pokazujemy wyłącznie animację ładowania. */
    .jbe-name-gate .password-protected-title + form.post-password-form{
        margin-top: 31px;
    }

    .jbe-name-gate .jbe-name-loading-layer{
        position: absolute;
        z-index: 5;
        inset: 0;
        display: none;
        align-items: center;
        justify-content: center;
        flex-direction: column;
        padding: 30px;
        overflow: hidden;
        background: linear-gradient(180deg, #ffffff 0%, #fbfcff 100%);
        text-align: center;
        pointer-events: none;
    }

    .jbe-name-gate .jbe-name-loading-default{
        display: flex;
        align-items: center;
        justify-content: center;
        flex-direction: column;
    }

    .jbe-name-gate .jbe-name-loading-spinner{
        width: 44px;
        height: 44px;
        margin-bottom: 17px;
        border: 3px solid rgba(91, 92, 226, .16);
        border-top-color: #5b5ce2;
        border-right-color: rgba(91, 92, 226, .58);
        border-radius: 50%;
        animation: jbe-name-gate-loading .72s linear infinite;
    }

    .jbe-name-gate .jbe-name-loading-default h2,
.jbe-name-gate .jbe-name-redirect-copy h2{
        margin: 0;
        color: #12182f;
        font-size: 22px;
        line-height: 1.25;
        font-weight: 800;
        letter-spacing: -.025em;
    }

    .jbe-name-gate .jbe-name-redirect-sequence{
        position: absolute;
        inset: 0;
        display: none;
        align-items: center;
        justify-content: center;
        padding: 34px;
    }

    .jbe-name-gate .jbe-name-redirect-lines{
        position: absolute;
        inset: 0;
        overflow: hidden;
    }

    .jbe-name-gate .jbe-name-redirect-lines span{
        position: absolute;
        top: var(--jbe-line-start-top, -210px);
        left: var(--jbe-line-start-left, -560px);
        width: clamp(640px, 116vw, 920px);
        height: 1px;
        border-radius: 999px;
        background: linear-gradient(
            90deg,
            rgba(205, 210, 221, 0),
            rgba(188, 195, 210, .15) 9%,
            rgba(156, 166, 187, .42) 50%,
            rgba(188, 195, 210, .15) 91%,
            rgba(205, 210, 221, 0)
        );
        opacity: 0;
        transform: rotate(43deg);
        transform-origin: center center;
        will-change: top, left, opacity;
        animation: none;
    }

    .jbe-name-gate .jbe-name-redirect-lines span:nth-child(1){
        --jbe-line-start-top: -250px;
        --jbe-line-start-left: -620px;
        --jbe-line-end-top: 430px;
        --jbe-line-end-left: 170px;
        --jbe-line-delay: 0s;
    }

    .jbe-name-gate .jbe-name-redirect-lines span:nth-child(2){
        --jbe-line-start-top: -205px;
        --jbe-line-start-left: -685px;
        --jbe-line-end-top: 475px;
        --jbe-line-end-left: 105px;
        --jbe-line-delay: .26s;
    }

    .jbe-name-gate .jbe-name-redirect-lines span:nth-child(3){
        --jbe-line-start-top: -160px;
        --jbe-line-start-left: -570px;
        --jbe-line-end-top: 520px;
        --jbe-line-end-left: 220px;
        --jbe-line-delay: .52s;
    }

    .jbe-name-gate .jbe-name-redirect-lines span:nth-child(4){
        --jbe-line-start-top: -115px;
        --jbe-line-start-left: -735px;
        --jbe-line-end-top: 565px;
        --jbe-line-end-left: 55px;
        --jbe-line-delay: .78s;
    }

    .jbe-name-gate .jbe-name-redirect-lines span:nth-child(5){
        --jbe-line-start-top: -70px;
        --jbe-line-start-left: -610px;
        --jbe-line-end-top: 610px;
        --jbe-line-end-left: 180px;
        --jbe-line-delay: 1.04s;
    }

    .jbe-name-gate .jbe-name-redirect-lines span:nth-child(6){
        --jbe-line-start-top: -25px;
        --jbe-line-start-left: -775px;
        --jbe-line-end-top: 655px;
        --jbe-line-end-left: 15px;
        --jbe-line-delay: 1.30s;
    }

    .jbe-name-gate .jbe-name-redirect-lines span:nth-child(7){
        --jbe-line-start-top: 20px;
        --jbe-line-start-left: -650px;
        --jbe-line-end-top: 700px;
        --jbe-line-end-left: 140px;
        --jbe-line-delay: 1.56s;
    }

    .jbe-name-gate .jbe-name-redirect-copy{
        position: relative;
        z-index: 2;
        opacity: 0;
        transform: translateY(12px);
        animation: none;
    }

    .jbe-name-gate .jbe-name-redirect-copy h2{
        display: flex;
        flex-wrap: wrap;
        align-items: baseline;
        justify-content: center;
        gap: 7px;
    }

    .jbe-name-gate .jbe-name-redirect-copy h2 > span{
        color: #9ca3b5;
        font-weight: 500;
    }

    .jbe-name-gate .jbe-name-redirect-copy h2 > strong{
        color: #5558d7;
        font: inherit;
        font-weight: 800;
    }

    .jbe-name-gate .jbe-name-redirect-copy p{
        margin: 10px 0 0;
        color: #7a8197;
        font-size: 14px;
        line-height: 1.35;
        font-weight: 600;
        letter-spacing: .025em;
        text-transform: none;
    }

    .jbe-name-gate .jbe-name-redirect-progress{
        position: relative;
        width: min(250px, 62vw);
        height: 4px;
        margin: 18px auto 0;
        display: block;
        overflow: hidden;
        border-radius: 999px;
        background: #e7e9f0;
        box-shadow: inset 0 1px 2px rgba(25, 31, 59, .07);
        opacity: 0;
        transform: translateY(5px);
    }

    .jbe-name-gate .jbe-name-redirect-progress > span{
        width: 100%;
        height: 100%;
        display: block;
        border-radius: inherit;
        background: linear-gradient(
            90deg,
            #8587ef 0%,
            #6264df 56%,
            #5052cd 100%
        );
        box-shadow: 0 0 11px rgba(91, 92, 226, .28);
        transform: translateX(-100%);
    }

    .jbe-name-gate .post-password-form-custom.is-name-loading .password-form-content{
        visibility: hidden;
        opacity: 0;
        pointer-events: none;
    }

    .jbe-name-gate .post-password-form-custom.is-name-loading .jbe-name-loading-layer{
        display: flex;
    }

    @keyframes jbe-name-gate-loading {
        to { transform: rotate(360deg); }
    }

    @keyframes jbe-name-redirect-streak {
        0% {
            top: var(--jbe-line-start-top);
            left: var(--jbe-line-start-left);
            opacity: 0;
        }
        16% {
            opacity: .52;
        }
        72% {
            opacity: .40;
        }
        100% {
            top: var(--jbe-line-end-top);
            left: var(--jbe-line-end-left);
            opacity: 0;
        }
    }

    @keyframes jbe-name-redirect-progress-show {
        to {
            opacity: 1;
            transform: translateY(0);
        }
    }

    @keyframes jbe-name-redirect-progress-fill {
        from { transform: translateX(-100%); }
        to { transform: translateX(0); }
    }

    @keyframes jbe-name-redirect-copy-in {
        0% {
            opacity: 0;
            transform: translateY(12px);
        }
        100% {
            opacity: 1;
            transform: translateY(0);
        }
    }

    @media (max-width: 640px) {
        .jbe-name-gate .jbe-name-redirect-lines span{
            width: 185vw;
            max-width: 760px;
            height: 1px;
        }

        .jbe-name-gate .jbe-name-redirect-progress{
            width: min(220px, 72vw);
        }
    }
