/*
|--------------------------------------------------------------------------
| TTS Ludo — Account Registration Styles
|--------------------------------------------------------------------------
|
| STEP 1 — Registration Foundation
|
| এই file:
|   - Registration page UI
|   - Profile picture area
|   - Form fields
|   - Password controls
|   - Validation states
|   - Responsive mobile layout
|
| IMPORTANT:
|   Existing Robot / Ludo CSS-এর সঙ্গে কোনো dependency নেই।
|--------------------------------------------------------------------------
*/


/*
|--------------------------------------------------------------------------
| 1) Root Variables
|--------------------------------------------------------------------------
*/

:root
{
    --register-bg:
        #f7f9fc;

    --register-card:
        #ffffff;

    --register-primary:
        #ff0000;

    --register-primary-dark:
        #d80000;

    --register-navy:
        #0b2348;

    --register-text:
        #111827;

    --register-muted:
        #667085;

    --register-border:
        #d9e1ec;

    --register-border-soft:
        #e9eef5;

    --register-input-bg:
        #fbfcfe;

    --register-success:
        #138a4b;

    --register-warning:
        #d88b00;

    --register-error:
        #d92d20;

    --register-shadow:
        0 22px 55px
        rgba(
            15,
            23,
            42,
            0.10
        );

    --register-radius-lg:
        24px;

    --register-radius-md:
        14px;

    --register-radius-sm:
        10px;

    --register-transition:
        180ms ease;
}


/*
|--------------------------------------------------------------------------
| 2) Reset
|--------------------------------------------------------------------------
*/

*
{
    box-sizing:
        border-box;
}


html
{
    margin:
        0;

    padding:
        0;

    scroll-behavior:
        smooth;
}


body
{
    margin:
        0;

    padding:
        0;

    min-height:
        100vh;

    background:
        var(--register-bg);

    color:
        var(--register-text);

    font-family:
        Inter,
        ui-sans-serif,
        system-ui,
        -apple-system,
        BlinkMacSystemFont,
        "Segoe UI",
        sans-serif;

    -webkit-font-smoothing:
        antialiased;

    text-rendering:
        optimizeLegibility;
}


button,
input
{
    font:
        inherit;
}


button,
a
{
    -webkit-tap-highlight-color:
        transparent;
}


a
{
    color:
        inherit;
}


/*
|--------------------------------------------------------------------------
| 3) Main Page
|--------------------------------------------------------------------------
*/

.register-page
{
    width:
        100%;

    min-height:
        100vh;

    display:
        flex;

    align-items:
        flex-start;

    justify-content:
        center;

    padding:
        36px 20px 60px;
}


/*
|--------------------------------------------------------------------------
| 4) Registration Card
|--------------------------------------------------------------------------
*/

.register-card
{
    width:
        min(
            100%,
            760px
        );

    background:
        var(--register-card);

    border:
        1px solid
        rgba(
            211,
            220,
            233,
            0.92
        );

    border-radius:
        var(--register-radius-lg);

    box-shadow:
        var(--register-shadow);

    overflow:
        hidden;
}


/*
|--------------------------------------------------------------------------
| 5) Header
|--------------------------------------------------------------------------
*/

.register-header
{
    min-height:
        72px;

    display:
        flex;

    align-items:
        center;

    justify-content:
        space-between;

    gap:
        16px;

    padding:
        16px 28px;

    border-bottom:
        1px solid
        var(--register-border-soft);

    background:
        #ffffff;
}


.register-brand
{
    display:
        inline-flex;

    align-items:
        center;

    gap:
        10px;

    text-decoration:
        none;
}


.register-brand-icon
{
    width:
        42px;

    height:
        42px;

    display:
        inline-flex;

    align-items:
        center;

    justify-content:
        center;

    border-radius:
        12px;

    background:
        #eef5ff;

    font-size:
        22px;
}


.register-brand-text
{
    font-size:
        19px;

    font-weight:
        800;

    letter-spacing:
        -0.02em;

    color:
        var(--register-navy);
}


.register-step
{
    display:
        inline-flex;

    align-items:
        center;

    justify-content:
        center;

    min-height:
        30px;

    padding:
        6px 11px;

    border-radius:
        999px;

    background:
        #fff1f1;

    color:
        #d60000;

    font-size:
        11px;

    font-weight:
        800;

    letter-spacing:
        0.09em;
}


/*
|--------------------------------------------------------------------------
| 6) Intro
|--------------------------------------------------------------------------
*/

.register-intro
{
    padding:
        32px 34px 8px;
}


.register-kicker,
.field-kicker
{
    display:
        inline-block;

    margin-bottom:
        8px;

    font-size:
        10px;

    line-height:
        1.2;

    font-weight:
        800;

    letter-spacing:
        0.13em;

    text-transform:
        uppercase;

    color:
        #6a7890;
}


.register-intro h1
{
    margin:
        0;

    color:
        #0a2146;

    font-size:
        clamp(
            28px,
            4vw,
            38px
        );

    line-height:
        1.12;

    letter-spacing:
        -0.035em;
}


.register-intro p
{
    margin:
        11px 0 0;

    max-width:
        610px;

    color:
        var(--register-muted);

    font-size:
        14px;

    line-height:
        1.6;
}


/*
|--------------------------------------------------------------------------
| 7) Form
|--------------------------------------------------------------------------
*/

.register-form
{
    padding:
        24px 34px 30px;
}


.form-section,
.profile-picture-section
{
    padding:
        22px 0;

    border-top:
        1px solid
        var(--register-border-soft);
}


.profile-picture-section
{
    border-top:
        0;
}


.form-section-heading,
.profile-picture-heading
{
    margin-bottom:
        18px;
}


.form-section-heading h2,
.profile-picture-heading h2
{
    margin:
        0;

    color:
        #17233d;

    font-size:
        20px;

    line-height:
        1.25;

    letter-spacing:
        -0.02em;
}


.profile-picture-heading p
{
    margin:
        7px 0 0;

    color:
        var(--register-muted);

    font-size:
        13px;

    line-height:
        1.55;
}


/*
|--------------------------------------------------------------------------
| 8) Profile Picture Area
|--------------------------------------------------------------------------
*/

.profile-upload-area
{
    display:
        flex;

    align-items:
        center;

    gap:
        20px;

    padding:
        18px;

    border:
        1px solid
        var(--register-border-soft);

    border-radius:
        18px;

    background:
        #fbfcfe;
}


.profile-preview
{
    position:
        relative;

    flex:
        0 0 auto;

    width:
        112px;

    height:
        112px;

    display:
        flex;

    align-items:
        center;

    justify-content:
        center;

    overflow:
        hidden;

    border:
        2px dashed
        #c8d3e2;

    border-radius:
        50%;

    background:
        #eef3f9;
}


.profile-preview.has-image
{
    border-style:
        solid;

    border-color:
        #dce5ef;

    background:
        #ffffff;
}


.profile-preview-image
{
    width:
        100%;

    height:
        100%;

    display:
        block;

    object-fit:
        cover;
}


.profile-preview-icon
{
    font-size:
        34px;
}


.profile-upload-content
{
    min-width:
        0;

    flex:
        1;
}


.profile-upload-button
{
    display:
        inline-flex;

    align-items:
        center;

    justify-content:
        center;

    gap:
        8px;

    min-height:
        42px;

    padding:
        10px 17px;

    border:
        1px solid
        #d7e0eb;

    border-radius:
        11px;

    background:
        #ffffff;

    color:
        #18253d;

    font-size:
        13px;

    font-weight:
        800;

    cursor:
        pointer;

    transition:
        transform var(--register-transition),
        border-color var(--register-transition),
        box-shadow var(--register-transition);
}


.profile-upload-button:hover
{
    border-color:
        #9fb0c8;

    box-shadow:
        0 8px 20px
        rgba(
            15,
            23,
            42,
            0.06
        );

    transform:
        translateY(-1px);
}


.profile-upload-button:active
{
    transform:
        translateY(0);
}


#profilePicture
{
    position:
        absolute;

    width:
        1px;

    height:
        1px;

    opacity:
        0;

    pointer-events:
        none;
}


.profile-upload-help
{
    margin:
        9px 0 0;

    color:
        #738197;

    font-size:
        11px;

    line-height:
        1.5;
}


.remove-picture-button
{
    display:
        inline-flex;

    align-items:
        center;

    justify-content:
        center;

    margin-top:
        8px;

    padding:
        0;

    border:
        0;

    background:
        transparent;

    color:
        #c0392b;

    font-size:
        11px;

    font-weight:
        700;

    cursor:
        pointer;
}


.remove-picture-button:hover
{
    text-decoration:
        underline;
}


/*
|--------------------------------------------------------------------------
| 9) Form Fields
|--------------------------------------------------------------------------
*/

.form-field
{
    margin-bottom:
        18px;
}


.form-field:last-child
{
    margin-bottom:
        0;
}


.form-field label
{
    display:
        block;

    margin-bottom:
        8px;

    color:
        #26324a;

    font-size:
        13px;

    font-weight:
        750;
}


.form-field label span
{
    color:
        var(--register-primary);
}


.input-wrapper
{
    position:
        relative;

    display:
        flex;

    align-items:
        center;

    min-height:
        50px;

    border:
        1px solid
        var(--register-border);

    border-radius:
        var(--register-radius-sm);

    background:
        var(--register-input-bg);

    transition:
        border-color var(--register-transition),
        box-shadow var(--register-transition),
        background var(--register-transition);
}


.input-wrapper:focus-within
{
    border-color:
        #7aa7ee;

    background:
        #ffffff;

    box-shadow:
        0 0 0 4px
        rgba(
            58,
            134,
            255,
            0.10
        );
}


.input-icon
{
    flex:
        0 0 42px;

    display:
        inline-flex;

    align-items:
        center;

    justify-content:
        center;

    color:
        #6d7b90;

    font-size:
        16px;
}


.input-wrapper input
{
    width:
        100%;

    min-width:
        0;

    height:
        48px;

    padding:
        0 14px 0 0;

    border:
        0;

    outline:
        0;

    background:
        transparent;

    color:
        #172033;

    font-size:
        14px;
}


.input-wrapper input::placeholder
{
    color:
        #9aa7b9;
}


.input-wrapper.input-error
{
    border-color:
        rgba(
            217,
            45,
            32,
            0.72
        );

    background:
        #fffafa;
}


.input-wrapper.input-success
{
    border-color:
        rgba(
            19,
            138,
            75,
            0.62
        );

    background:
        #fbfffd;
}


.input-help
{
    margin:
        7px 0 0;

    color:
        #7a879a;

    font-size:
        11px;

    line-height:
        1.5;
}


.field-error
{
    min-height:
        0;

    margin:
        5px 0 0;

    color:
        var(--register-error);

    font-size:
        11px;

    line-height:
        1.45;
}


.field-error:empty
{
    display:
        none;
}


/*
|--------------------------------------------------------------------------
| 10) Password Toggle
|--------------------------------------------------------------------------
*/

.input-wrapper-password input
{
    padding-right:
        48px;
}


.password-toggle
{
    position:
        absolute;

    top:
        50%;

    right:
        9px;

    width:
        36px;

    height:
        36px;

    display:
        inline-flex;

    align-items:
        center;

    justify-content:
        center;

    transform:
        translateY(-50%);

    border:
        0;

    border-radius:
        9px;

    background:
        transparent;

    cursor:
        pointer;

    font-size:
        15px;
}


.password-toggle:hover
{
    background:
        #eef2f7;
}


/*
|--------------------------------------------------------------------------
| 11) Password Strength
|--------------------------------------------------------------------------
*/

.password-strength
{
    display:
        grid;

    grid-template-columns:
        minmax(
            120px,
            1fr
        )
        auto;

    align-items:
        center;

    gap:
        10px;

    margin-top:
        9px;
}


.password-strength-track
{
    height:
        5px;

    overflow:
        hidden;

    border-radius:
        999px;

    background:
        #e6ebf2;
}


.password-strength-bar
{
    display:
        block;

    width:
        0;

    height:
        100%;

    border-radius:
        inherit;

    background:
        #cbd5e1;

    transition:
        width 180ms ease,
        background 180ms ease;
}


.password-strength-text
{
    color:
        #7c899b;

    font-size:
        10px;

    font-weight:
        700;

    white-space:
        nowrap;
}


.password-strength.weak
.password-strength-bar
{
    width:
        25%;

    background:
        #e05454;
}


.password-strength.medium
.password-strength-bar
{
    width:
        55%;

    background:
        #e39b2b;
}


.password-strength.strong
.password-strength-bar
{
    width:
        80%;

    background:
        #39a86b;
}


.password-strength.very-strong
.password-strength-bar
{
    width:
        100%;

    background:
        #15803d;
}


/*
|--------------------------------------------------------------------------
| 12) Registration Notice
|--------------------------------------------------------------------------
*/

.registration-notice
{
    display:
        flex;

    align-items:
        flex-start;

    gap:
        11px;

    margin-top:
        6px;

    padding:
        14px 15px;

    border:
        1px solid
        #dbe7f8;

    border-radius:
        12px;

    background:
        #f6f9ff;
}


.registration-notice-icon
{
    flex:
        0 0 auto;

    width:
        23px;

    height:
        23px;

    display:
        inline-flex;

    align-items:
        center;

    justify-content:
        center;

    border-radius:
        50%;

    background:
        #e4efff;

    color:
        #3366b3;

    font-size:
        12px;

    font-weight:
        900;
}


.registration-notice p
{
    margin:
        1px 0 0;

    color:
        #64748b;

    font-size:
        11px;

    line-height:
        1.55;
}


/*
|--------------------------------------------------------------------------
| 13) Registration Message
|--------------------------------------------------------------------------
*/

.register-message
{
    margin-top:
        16px;

    padding:
        12px 14px;

    border:
        1px solid
        #d7e0eb;

    border-radius:
        11px;

    font-size:
        12px;

    line-height:
        1.5;
}


.register-message.success
{
    border-color:
        #b7e5cb;

    background:
        #f3fff8;

    color:
        #166534;
}


.register-message.error
{
    border-color:
        #f3c3be;

    background:
        #fff8f7;

    color:
        #a02820;
}


/*
|--------------------------------------------------------------------------
| 14) Buttons
|--------------------------------------------------------------------------
*/

.register-actions
{
    display:
        grid;

    gap:
        10px;

    margin-top:
        22px;
}


.create-account-button
{
    width:
        100%;

    min-height:
        52px;

    display:
        inline-flex;

    align-items:
        center;

    justify-content:
        center;

    gap:
        9px;

    padding:
        0 20px;

    border:
        0;

    border-radius:
        11px;

    background:
        var(--register-primary);

    color:
        #ffffff;

    font-size:
        14px;

    font-weight:
        850;

    cursor:
        pointer;

    box-shadow:
        0 9px 20px
        rgba(
            255,
            0,
            0,
            0.18
        );

    transition:
        transform var(--register-transition),
        background var(--register-transition),
        box-shadow var(--register-transition),
        opacity var(--register-transition);
}


.create-account-button:hover
{
    background:
        var(--register-primary-dark);

    transform:
        translateY(-1px);

    box-shadow:
        0 12px 24px
        rgba(
            255,
            0,
            0,
            0.22
        );
}


.create-account-button:active
{
    transform:
        translateY(0);
}


.create-account-button:disabled
{
    opacity:
        0.68;

    cursor:
        wait;

    transform:
        none;
}


.create-account-button-icon
{
    font-size:
        15px;
}


.back-home-button
{
    width:
        100%;

    min-height:
        46px;

    display:
        inline-flex;

    align-items:
        center;

    justify-content:
        center;

    gap:
        8px;

    border:
        1px solid
        var(--register-border);

    border-radius:
        11px;

    background:
        #ffffff;

    color:
        #36445c;

    font-size:
        12px;

    font-weight:
        800;

    text-decoration:
        none;

    transition:
        border-color var(--register-transition),
        background var(--register-transition),
        transform var(--register-transition);
}


.back-home-button:hover
{
    border-color:
        #b6c1d0;

    background:
        #f9fbfd;

    transform:
        translateY(-1px);
}


/*
|--------------------------------------------------------------------------
| 15) Footer
|--------------------------------------------------------------------------
*/

.register-footer
{
    padding:
        20px 34px 28px;

    border-top:
        1px solid
        var(--register-border-soft);

    text-align:
        center;

    background:
        #fbfcfe;
}


.register-footer p
{
    margin:
        0;

    color:
        #758298;

    font-size:
        12px;
}


.register-footer a
{
    color:
        #d60000;

    font-weight:
        800;

    text-decoration:
        none;
}


.register-footer a:hover
{
    text-decoration:
        underline;
}


/*
|--------------------------------------------------------------------------
| 16) Loading State
|--------------------------------------------------------------------------
*/

.create-account-button.is-loading
{
    pointer-events:
        none;
}


.create-account-button.is-loading
.create-account-button-icon
{
    animation:
        registerSpin 800ms linear infinite;
}


@keyframes registerSpin
{
    from
    {
        transform:
            rotate(0deg);
    }

    to
    {
        transform:
            rotate(360deg);
    }
}


/*
|--------------------------------------------------------------------------
| 17) Responsive
|--------------------------------------------------------------------------
*/

@media (
    max-width: 700px
)
{
    .register-page
    {
        padding:
            18px 12px 34px;
    }


    .register-card
    {
        border-radius:
            18px;
    }


    .register-header
    {
        min-height:
            64px;

        padding:
            13px 17px;
    }


    .register-brand-text
    {
        font-size:
            17px;
    }


    .register-step
    {
        font-size:
            9px;
    }


    .register-intro
    {
        padding:
            25px 20px 6px;
    }


    .register-form
    {
        padding:
            18px 20px 24px;
    }


    .register-footer
    {
        padding:
            18px 20px 23px;
    }


    .profile-upload-area
    {
        align-items:
            flex-start;

        gap:
            15px;

        padding:
            14px;
    }


    .profile-preview
    {
        width:
            88px;

        height:
            88px;
    }


    .profile-preview-icon
    {
        font-size:
            28px;
    }
}


@media (
    max-width: 460px
)
{
    .register-page
    {
        padding:
            0;
    }


    .register-card
    {
        width:
            100%;

        min-height:
            100vh;

        border:
            0;

        border-radius:
            0;

        box-shadow:
            none;
    }


    .register-header
    {
        padding:
            12px 15px;
    }


    .register-intro
    {
        padding:
            24px 16px 6px;
    }


    .register-form
    {
        padding:
            17px 16px 24px;
    }


    .register-footer
    {
        padding:
            18px 16px 24px;
    }


    .profile-upload-area
    {
        flex-direction:
            column;

        align-items:
            center;

        text-align:
            center;
    }


    .profile-upload-content
    {
        width:
            100%;

        display:
            flex;

        flex-direction:
            column;

        align-items:
            center;
    }


    .profile-upload-help
    {
        text-align:
            center;
    }


    .password-strength
    {
        grid-template-columns:
            1fr;
    }


    .password-strength-text
    {
        white-space:
            normal;
    }
}


/*
|--------------------------------------------------------------------------
| 18) Reduced Motion
|--------------------------------------------------------------------------
*/

@media (
    prefers-reduced-motion: reduce
)
{
    *
    {
        scroll-behavior:
            auto !important;

        transition:
            none !important;

        animation:
            none !important;
    }
}

/* ========================================================================
   GoPlayLudo visual theme — full-file replacement preserves all existing
   registration selectors, validation states, upload logic and controls.
   ======================================================================== */
:root{
    --register-bg:#020a18;
    --register-card:#062458;
    --register-primary:#ffd21f;
    --register-primary-dark:#ffb900;
    --register-navy:#f7fbff;
    --register-text:#f7fbff;
    --register-muted:#a9c2e6;
    --register-border:rgba(73,187,255,.50);
    --register-border-soft:rgba(105,198,255,.20);
    --register-input-bg:rgba(3,29,84,.82);
    --register-success:#62ff9b;
    --register-warning:#ffd451;
    --register-error:#ff7b87;
    --register-shadow:0 24px 65px rgba(0,0,0,.42);
}
html,body{background:#020a18;}
body{background:radial-gradient(circle at 50% -10%,rgba(17,133,232,.24),transparent 38%),linear-gradient(180deg,#031d54 0%,#020a18 85%);color:var(--register-text);}
.register-page{min-height:100vh;align-items:center;padding:24px 14px 36px;position:relative;overflow:hidden;}
.register-page::before{content:"";position:absolute;inset:0;pointer-events:none;background:radial-gradient(circle at 18% 20%,rgba(0,178,255,.11),transparent 25%),radial-gradient(circle at 82% 34%,rgba(124,58,237,.10),transparent 27%);}
.register-card{position:relative;z-index:1;width:min(100%,780px);background:linear-gradient(180deg,rgba(5,50,112,.98),rgba(4,29,75,.98));border:1px solid rgba(74,194,255,.58);border-radius:24px;box-shadow:0 24px 65px rgba(0,0,0,.42),inset 0 1px 0 rgba(255,255,255,.08);}
.register-header{min-height:74px;padding:14px 24px;border-bottom:1px solid rgba(255,255,255,.08);background:linear-gradient(180deg,#063a88,#042968);}
.register-brand-icon{width:42px;height:42px;border-radius:12px;background:linear-gradient(145deg,#143e82,#0a78c8);border:1px solid rgba(255,255,255,.12);box-shadow:0 6px 12px rgba(0,0,0,.20);}
.register-brand-text{color:#fff;font-weight:1000;}
.register-step{background:rgba(255,255,255,.10);border:1px solid rgba(255,214,31,.45);color:#ffd21f;}
.register-intro{padding:32px 34px 8px;}
.register-kicker,.field-kicker{color:#58c8ff;}
.register-intro h1{color:#fff;font-size:clamp(30px,4.7vw,42px);text-shadow:0 5px 18px rgba(0,0,0,.28);}
.register-intro p{color:#b9d2f1;}
.register-form{padding:22px 34px 30px;}
.form-section,.profile-picture-section{padding:22px 0;border-top:1px solid rgba(255,255,255,.10);}
.profile-picture-section{border-top:0;}
.form-section-heading h2,.profile-picture-heading h2{color:#fff;}
.profile-picture-heading p{color:#a9c2e6;}
.profile-upload-area{border-color:rgba(73,187,255,.34);background:rgba(4,38,92,.70);box-shadow:inset 0 1px 0 rgba(255,255,255,.05);}
.profile-preview{border-color:#5bbfff;background:rgba(9,57,120,.55);}
.profile-preview.has-image{border-color:#5bbfff;background:#0a2f69;}
.profile-upload-button{border-color:rgba(73,187,255,.45);background:linear-gradient(180deg,#0b66c9,#064592);color:#fff;box-shadow:0 8px 18px rgba(0,0,0,.18);}
.profile-upload-button:hover{border-color:#52c8ff;background:linear-gradient(180deg,#0c74df,#0750a1);}
.profile-upload-help,.input-help{color:#93b1d4;}
.form-field label{color:#edf6ff;}
.input-wrapper{min-height:54px;border-color:rgba(69,187,255,.42);border-radius:14px;background:rgba(4,38,92,.90);box-shadow:inset 0 1px 0 rgba(255,255,255,.05);}
.input-wrapper:focus-within{border-color:#31b9ff;background:rgba(5,44,105,.98);box-shadow:0 0 0 4px rgba(49,185,255,.12),inset 0 1px 0 rgba(255,255,255,.06);}
.input-icon{color:#cfe8ff;}
.input-wrapper input{height:52px;color:#fff;}
.input-wrapper input::placeholder{color:#8fb0d8;}
.password-toggle{color:#dcecff;}
.password-strength-track{background:rgba(255,255,255,.12);}
.registration-notice{border-color:rgba(73,187,255,.32);background:rgba(3,29,84,.66);color:#d8eaff;}
.register-message{border-color:rgba(255,255,255,.12);background:rgba(0,0,0,.14);color:#f7fbff;}
.create-account-button{min-height:56px;border-radius:14px;background:linear-gradient(180deg,#ffe84a,#ffbf00);color:#062458;box-shadow:0 12px 26px rgba(255,191,0,.24),inset 0 1px 0 rgba(255,255,255,.45);font-weight:1000;}
.create-account-button:hover{background:linear-gradient(180deg,#ffef73,#ffc515);box-shadow:0 15px 30px rgba(255,191,0,.28),inset 0 1px 0 rgba(255,255,255,.45);}
.back-home-button{border-color:rgba(69,187,255,.45);background:rgba(6,37,88,.72);color:#edf7ff;}
.back-home-button:hover{border-color:#45bbff;background:rgba(8,50,112,.90);}
.register-footer{border-top:1px solid rgba(255,255,255,.08);background:rgba(2,16,43,.40);}
.register-footer p{color:#94afd2;}
.register-footer a{color:#ffd21f;}
@media(max-width:780px){.register-page{padding:12px 10px 26px}.register-card{border-radius:20px}.register-header{padding:13px 17px}.register-intro{padding:27px 20px 8px}.register-form{padding:18px 20px 26px;}.register-footer{padding:18px 20px 23px;}}
@media(max-width:460px){.register-page{padding:0}.register-card{width:100%;min-height:100vh;border:0;border-radius:0;box-shadow:none}.register-intro{padding:24px 16px 6px}.register-form{padding:17px 16px 24px}.register-footer{padding:18px 16px 24px;}}

/*
|--------------------------------------------------------------------------
| 2O) Dark Gaming Input Text + Chrome Autofill Compatibility
|--------------------------------------------------------------------------
|
| Existing registration functionality is preserved.
| This block only prevents browser autofill/default field styling from
| changing the dark gaming inputs to a white background with white text
| after the field loses focus.
|--------------------------------------------------------------------------
*/

.register-page .input-wrapper input,
.register-page .input-wrapper input:focus,
.register-page .input-wrapper input:active,
.register-page .input-wrapper input:-webkit-autofill,
.register-page .input-wrapper input:-webkit-autofill:hover,
.register-page .input-wrapper input:-webkit-autofill:focus,
.register-page .input-wrapper input:-webkit-autofill:active
{
    color: #ffffff !important;
    -webkit-text-fill-color: #ffffff !important;
    caret-color: #ffffff !important;
}

.register-page .input-wrapper input:-webkit-autofill,
.register-page .input-wrapper input:-webkit-autofill:hover,
.register-page .input-wrapper input:-webkit-autofill:focus,
.register-page .input-wrapper input:-webkit-autofill:active
{
    background-color: transparent !important;
    -webkit-box-shadow:
        0 0 0 1000px rgba(4, 38, 92, 0.90) inset !important;
    box-shadow:
        0 0 0 1000px rgba(4, 38, 92, 0.90) inset !important;
    border-radius: 14px;
    transition:
        background-color 9999s ease-in-out 0s,
        color 9999s ease-in-out 0s;
}

.register-page .input-wrapper:focus-within
{
    background: rgba(5, 44, 105, 0.98) !important;
}

.register-page .input-wrapper.input-error input,
.register-page .input-wrapper.input-success input
{
    color: #ffffff !important;
    -webkit-text-fill-color: #ffffff !important;
}

.register-page .input-wrapper input::selection
{
    background: rgba(73, 187, 255, 0.35);
    color: #ffffff;
}

/* ========================================================================
   GoPlayLudo visual state fix — keep validated fields in the dark theme.
   The base stylesheet changes .input-wrapper.input-success/.input-error to
   light backgrounds. That conflicts with the approved blue gaming UI and
   makes the left/input surface appear white after blur. Keep those states
   dark while preserving their validation borders and white text.
   ======================================================================== */

.register-page .input-wrapper.input-success,
.register-page .input-wrapper.input-success:focus-within
{
    background:
        rgba(4, 38, 92, 0.90) !important;

    border-color:
        rgba(19, 138, 75, 0.82) !important;

    box-shadow:
        0 0 0 3px rgba(19, 138, 75, 0.10),
        inset 0 1px 0 rgba(255, 255, 255, 0.05) !important;
}

.register-page .input-wrapper.input-error,
.register-page .input-wrapper.input-error:focus-within
{
    background:
        rgba(70, 20, 34, 0.92) !important;

    border-color:
        rgba(255, 85, 102, 0.82) !important;

    box-shadow:
        0 0 0 3px rgba(255, 85, 102, 0.10),
        inset 0 1px 0 rgba(255, 255, 255, 0.05) !important;
}

.register-page .input-wrapper.input-success .input-icon,
.register-page .input-wrapper.input-error .input-icon
{
    color:
        #dcecff !important;
}
