
:root{
    --gs-purple:#2e6f40;
    --gs-purple-2:#86bb93;
    --gs-blue:#327a46;
    --gs-green:#2db267;
    --gs-red:#dc3348;
    --gs-ink:#111813;
    --gs-muted:#747784;
    --gs-line:#e5ede7;
    --gs-soft:#fcfbf8;
}

*{box-sizing:border-box}

html{color-scheme:light}

body.gs-auth-page{
    min-height:100vh;
    margin:0;
    overflow-x:hidden;
    color:var(--gs-ink);
    background:#fefdfa;
    font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
    -webkit-font-smoothing:antialiased;
}

.gs-auth-page button,
.gs-auth-page input{font:inherit}

.gs-auth-bg{
    position:fixed;
    inset:0;
    z-index:0;
    overflow:hidden;
    pointer-events:none;
}

.gs-orb{
    position:absolute;
    border-radius:50%;
    filter:blur(100px);
    opacity:.12;
}

.gs-orb-a{
    width:420px;
    height:420px;
    top:0;
    left:-210px;
    background:#347f49;
}

.gs-orb-b{
    width:440px;
    height:440px;
    right:-220px;
    bottom:-60px;
    background:#317845;
}

.gs-grid{
    position:absolute;
    inset:0;
    opacity:.22;
    background-image:
        linear-gradient(rgba(45,84,56,.035) 1px,transparent 1px),
        linear-gradient(90deg,rgba(45,84,56,.035) 1px,transparent 1px);
    background-size:44px 44px;
    mask-image:linear-gradient(to bottom,#000,transparent 82%);
}

.gs-auth-header{
    position:relative;
    z-index:10;
    height:76px;
}

.gs-auth-header-inner{
    width:min(1220px,calc(100% - 48px));
    height:100%;
    margin:auto;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:24px;
}

.gs-auth-header-link{
    display:flex;
    align-items:center;
    gap:11px;
    color:#858894;
    font-size:11px;
}

.gs-auth-header-link a{
    padding:8px 11px;
    border:1px solid #dfe7e1;
    border-radius:10px;
    color:#2e6f40;
    background:#fff;
    text-decoration:none;
    font-size:10px;
    font-weight:850;
    transition:transform .2s ease,border-color .2s ease,box-shadow .2s ease;
}

.gs-auth-header-link a:hover{
    transform:translateY(-1px);
    border-color:#dae7de;
    box-shadow:0 8px 20px rgba(36,67,45,.07);
}

.gs-auth-main{
    position:relative;
    z-index:2;
    min-height:calc(100vh - 76px);
    padding:18px 24px 48px;
    display:flex;
    align-items:center;
    justify-content:center;
}

.gs-auth-card{
    width:min(1180px,100%);
    display:grid;
    grid-template-columns:minmax(0,1fr) minmax(0,1fr);
    overflow:hidden;
    border:1px solid var(--gs-line);
    border-radius:26px;
    background:#fff;
    box-shadow:0 30px 90px rgba(26,64,37,.12);
    animation:gsCardIn .65s cubic-bezier(.22,.8,.2,1) both;
}

.gs-signup-card{min-height:850px}
.gs-login-card{min-height:650px}

.gs-form-side{
    display:flex;
    align-items:center;
    justify-content:center;
    min-width:0;
    padding:50px 56px;
}

.gs-form-content{
    width:min(100%,500px);
    margin:auto;
}

.gs-login-content{
    width:min(100%,450px);
}

.gs-eyebrow{
    display:flex;
    align-items:center;
    gap:8px;
    margin-bottom:13px;
    color:#2d6f40;
    font-size:9px;
    font-weight:900;
    letter-spacing:1.1px;
}

.gs-eyebrow-dot{
    width:8px;
    height:8px;
    border-radius:50%;
    background:#32c675;
    box-shadow:0 0 0 0 rgba(50,198,117,.34);
    animation:gsPulse 2s infinite;
}

.gs-form-content h1{
    margin:0;
    font-family:Manrope,Inter,sans-serif;
    font-size:38px;
    line-height:1.06;
    letter-spacing:-1.55px;
}

.gs-lead{
    margin:10px 0 0;
    max-width:480px;
    color:var(--gs-muted);
    font-size:13px;
    line-height:1.7;
}

.gs-form{
    margin-top:24px;
}

.gs-field{
    display:block;
    margin-bottom:15px;
}

.gs-field-label{
    display:block;
    margin-bottom:7px;
    color:#50535f;
    font-size:11px;
    font-weight:800;
}

.gs-label-row{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:12px;
}

.gs-age-tag{
    padding:4px 7px;
    border:1px solid #ffd4da;
    border-radius:999px;
    color:#b72136;
    background:#fff2f4;
    font-size:7px;
    font-weight:900;
}

.gs-input{
    min-height:51px;
    display:flex;
    align-items:center;
    gap:9px;
    padding:0 13px;
    border:1px solid #dee7e0;
    border-radius:12px;
    background:#fff;
    transition:border-color .2s ease,box-shadow .2s ease,transform .2s ease,background .2s ease;
}

.gs-input:focus-within{
    border-color:#36854d;
    box-shadow:0 0 0 4px rgba(46,111,64,.08);
    transform:translateY(-1px);
}

.gs-field.is-valid .gs-input{
    border-color:#9bd6b4;
    background:#fcfffd;
}

.gs-field.is-invalid .gs-input,
.gs-field.has-error .gs-input{
    border-color:#eb99a7;
    background:#fffafb;
}

.gs-input-icon{
    width:21px;
    flex:0 0 auto;
    display:grid;
    place-items:center;
    color:#989ca8;
}

.gs-input:focus-within .gs-input-icon{
    color:#2f7443;
}

.gs-input input{
    min-width:0;
    width:100%;
    height:49px;
    border:0;
    outline:0;
    color:#1b251f;
    background:transparent;
    font-size:12px;
}

.gs-input input::placeholder{color:#a9acb6}

.gs-valid-icon{
    width:22px;
    height:22px;
    flex:0 0 auto;
    display:grid;
    place-items:center;
    border-radius:50%;
    color:#158d49;
    background:#e6f7ec;
    opacity:0;
    transform:scale(.75);
    transition:opacity .18s ease,transform .22s cubic-bezier(.22,.8,.2,1);
}

.gs-field.is-valid .gs-valid-icon{
    opacity:1;
    transform:scale(1);
}

.gs-field-help{
    display:block;
    min-height:12px;
    margin-top:5px;
    color:#989ba5;
    font-size:8px;
    line-height:1.45;
}

.gs-field.is-valid .gs-field-help{color:#43825b}
.gs-field.is-invalid .gs-field-help,
.gs-field.has-error .gs-field-help{color:#cf3348}

.gs-password-grid{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:12px;
}

.gs-password-toggle{
    flex:0 0 auto;
    border:0;
    padding:6px 1px 6px 6px;
    color:#2f7342;
    background:transparent;
    cursor:pointer;
    font-size:8px;
    font-weight:900;
}

.gs-password-meter{
    margin:-2px 0 15px;
    padding:12px 13px;
    border:1px solid #e7eee9;
    border-radius:12px;
    background:#fefdfa;
}

.gs-meter-head{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:10px;
    color:#767985;
    font-size:8px;
}

.gs-meter-head strong{
    color:#2c6d3f;
    font-size:8px;
}

.gs-meter-track{
    height:5px;
    margin-top:8px;
    overflow:hidden;
    border-radius:999px;
    background:#e8efea;
}

.gs-meter-track span{
    display:block;
    width:0;
    height:100%;
    border-radius:999px;
    background:#dd4357;
    transition:width .3s ease,background .25s ease;
}

.gs-password-rules{
    display:flex;
    flex-wrap:wrap;
    gap:7px 12px;
    margin-top:9px;
}

.gs-password-rules span{
    display:flex;
    align-items:center;
    gap:5px;
    color:#979aa4;
    font-size:7px;
    font-weight:750;
    transition:color .2s ease;
}

.gs-password-rules i{
    width:17px;
    height:17px;
    border-radius:50%;
    display:grid;
    place-items:center;
    color:#a1a4ad;
    background:#ecf1ed;
    font-style:normal;
    font-size:7px;
    transition:background .2s ease,color .2s ease,transform .2s ease;
}

.gs-password-rules span.complete{
    color:#3b8054;
}

.gs-password-rules span.complete i{
    color:#fff;
    background:#2caf65;
    transform:scale(1.04);
}

.gs-checkboxes{
    display:grid;
    gap:9px;
    margin:14px 0 17px;
}

.gs-check{
    position:relative;
    display:flex;
    align-items:flex-start;
    gap:8px;
    color:#656874;
    font-size:9px;
    line-height:1.5;
    cursor:pointer;
    user-select:none;
}

.gs-check input{
    position:absolute;
    opacity:0;
    pointer-events:none;
}

.gs-check-box{
    width:18px;
    height:18px;
    flex:0 0 auto;
    border:1px solid #d5e0d8;
    border-radius:5px;
    display:grid;
    place-items:center;
    color:#fff;
    background:#fff;
    transition:background .2s ease,border-color .2s ease,transform .2s ease;
}

.gs-check-box svg{
    opacity:0;
    transform:scale(.55);
    transition:opacity .18s ease,transform .2s ease;
}

.gs-check input:checked + .gs-check-box{
    border-color:#2f7443;
    background:#2f7443;
    transform:scale(1.03);
}

.gs-check input:checked + .gs-check-box svg{
    opacity:1;
    transform:scale(1);
}

.gs-remember{margin:1px 0 18px}

.gs-primary-button,
.gs-secondary-button{
    width:100%;
    min-height:50px;
    border-radius:12px;
    display:flex;
    align-items:center;
    justify-content:center;
    gap:8px;
    text-decoration:none;
    font-size:10px;
    font-weight:900;
    transition:transform .22s cubic-bezier(.22,.8,.2,1),box-shadow .22s ease,border-color .22s ease,filter .22s ease;
}

.gs-primary-button{
    position:relative;
    overflow:hidden;
    border:0;
    color:#fff;
    background:linear-gradient(135deg,#337e48,#2f7242 58%,#307544);
    box-shadow:0 13px 28px rgba(46,113,65,.24);
    cursor:pointer;
}

.gs-primary-button:before{
    content:"";
    position:absolute;
    inset:0;
    background:linear-gradient(105deg,transparent 30%,rgba(255,255,255,.26) 48%,transparent 66%);
    transform:translateX(-120%);
    transition:transform .55s ease;
}

.gs-primary-button:hover:not(:disabled){
    transform:translateY(-2px);
    box-shadow:0 18px 36px rgba(46,113,65,.30);
}

.gs-primary-button:hover:before{transform:translateX(120%)}

.gs-primary-button:disabled{
    opacity:.75;
    cursor:default;
}

.gs-button-default,
.gs-button-loading{
    position:relative;
    z-index:2;
    display:flex;
    align-items:center;
    justify-content:center;
    gap:8px;
}

.gs-button-loading{display:none}

.gs-primary-button.is-loading .gs-button-default{display:none}
.gs-primary-button.is-loading .gs-button-loading{display:flex}

.gs-button-loading i{
    width:15px;
    height:15px;
    border:2px solid rgba(255,255,255,.38);
    border-top-color:#fff;
    border-radius:50%;
    animation:gsSpin .7s linear infinite;
}

.gs-secondary-button{
    border:1px solid #dfe7e1;
    color:#494c58;
    background:#fff;
}

.gs-secondary-button:hover:not(:disabled){
    transform:translateY(-1px);
    border-color:#d1d5ce;
    box-shadow:0 10px 24px rgba(22,43,30,.07);
}

.gs-secondary-button:disabled{
    opacity:.55;
    cursor:not-allowed;
}

.gs-bottom-copy{
    margin:13px 0 0;
    text-align:center;
    color:#9a9ca5;
    font-size:8px;
}

.gs-form-error,
.gs-info-message{
    display:flex;
    align-items:flex-start;
    gap:10px;
    margin-top:17px;
    padding:11px 12px;
    border-radius:11px;
}

.gs-form-error{
    border:1px solid #ffd1d9;
    color:#bd263b;
    background:#fff3f5;
}

.gs-info-message{
    border:1px solid #cce9d7;
    color:#2d7449;
    background:#f3fff7;
}

.gs-alert-icon,
.gs-info-icon{
    width:31px;
    height:31px;
    flex:0 0 auto;
    border-radius:9px;
    display:grid;
    place-items:center;
}

.gs-alert-icon{
    color:#c0273d;
    background:#ffe7eb;
}

.gs-info-icon{
    color:#218c4c;
    background:#e0f6e8;
}

.gs-form-error strong,
.gs-form-error span,
.gs-info-message strong,
.gs-info-message span{display:block}

.gs-form-error strong,
.gs-info-message strong{font-size:9px}

.gs-form-error span,
.gs-info-message span{
    margin-top:3px;
    font-size:8px;
    line-height:1.45;
}

.gs-client-error{
    margin-top:10px;
    padding:9px 11px;
    border:1px solid #ffd4db;
    border-radius:9px;
    color:#bf2b40;
    background:#fff4f6;
    font-size:8px;
    line-height:1.45;
}

.gs-auth-separator{
    position:relative;
    margin:21px 0 14px;
    text-align:center;
}

.gs-auth-separator:before{
    content:"";
    position:absolute;
    left:0;
    right:0;
    top:50%;
    height:1px;
    background:#ecf1ed;
}

.gs-auth-separator span{
    position:relative;
    z-index:2;
    padding:0 9px;
    color:#9b9da6;
    background:#fff;
    font-size:8px;
}

/* Brand side */
.gs-brand-side{
    position:relative;
    min-width:0;
    overflow:hidden;
    display:flex;
    align-items:center;
    padding:50px 48px;
    color:#fff;
    background:
        radial-gradient(circle at 92% 4%,rgba(255,255,255,.14),transparent 27%),
        radial-gradient(circle at 4% 96%,rgba(52,128,74,.24),transparent 34%),
        linear-gradient(145deg,#317946 0%,#2a673b 57%,#235531 100%);
}

.gs-brand-glow{
    position:absolute;
    width:270px;
    height:270px;
    left:-110px;
    bottom:-130px;
    border-radius:50%;
    background:rgba(52,127,73,.28);
    filter:blur(65px);
}

.gs-brand-rings{
    position:absolute;
    width:320px;
    height:320px;
    right:-160px;
    top:-150px;
    border:1px solid rgba(255,255,255,.11);
    border-radius:50%;
    box-shadow:0 0 0 48px rgba(255,255,255,.025),0 0 0 95px rgba(255,255,255,.017);
}

.gs-brand-content{
    position:relative;
    z-index:2;
    width:min(100%,480px);
    margin:auto;
}

.gs-brand-kicker{
    color:#e3eee6;
    font-size:8px;
    font-weight:900;
    letter-spacing:1.05px;
}

.gs-brand-content h2{
    max-width:470px;
    margin:14px 0 9px;
    font-family:Manrope,Inter,sans-serif;
    font-size:31px;
    line-height:1.17;
    letter-spacing:-1.05px;
}

.gs-brand-content>p{
    max-width:450px;
    margin:0;
    color:#e0eae3;
    font-size:10px;
    line-height:1.7;
}

.gs-journey-card,
.gs-dashboard-preview{
    margin-top:25px;
    padding:17px;
    border:1px solid rgba(255,255,255,.13);
    border-radius:16px;
    background:rgba(255,255,255,.09);
    backdrop-filter:blur(13px);
    box-shadow:0 18px 38px rgba(17,41,26,.13);
}

.gs-journey-top,
.gs-dashboard-user{
    display:flex;
    align-items:center;
    gap:10px;
}

.gs-journey-top>div:first-child{min-width:0}

.gs-journey-top small,
.gs-dashboard-user small{
    display:block;
    color:#d2e0d6;
    font-size:6px;
    font-weight:900;
    letter-spacing:.8px;
}

.gs-journey-top strong,
.gs-dashboard-user strong{
    display:block;
    margin-top:3px;
    font-size:10px;
}

.gs-live-chip{
    margin-left:auto;
    flex:0 0 auto;
    display:flex;
    align-items:center;
    gap:5px;
    padding:5px 7px;
    border:1px solid rgba(143,238,181,.16);
    border-radius:999px;
    color:#dcf8e6;
    background:rgba(41,190,104,.16);
    font-size:6px;
    font-weight:850;
}

.gs-live-chip i{
    width:6px;
    height:6px;
    border-radius:50%;
    background:#6ce999;
}

.gs-journey-steps{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:8px;
    margin-top:15px;
}

.gs-journey-steps article{
    min-height:104px;
    padding:11px;
    border:1px solid rgba(255,255,255,.08);
    border-radius:11px;
    background:rgba(255,255,255,.055);
    transition:transform .22s ease,background .22s ease;
}

.gs-journey-steps article:hover{
    transform:translateY(-2px);
    background:rgba(255,255,255,.085);
}

.gs-step-icon{
    width:35px;
    height:35px;
    border-radius:10px;
    display:grid;
    place-items:center;
    color:#deece2;
    background:rgba(255,255,255,.10);
}

.gs-journey-steps strong,
.gs-journey-steps small{display:block}

.gs-journey-steps strong{
    margin-top:8px;
    font-size:9px;
}

.gs-journey-steps small{
    margin-top:2px;
    color:#d7dad5;
    font-size:7px;
    line-height:1.4;
}

.gs-stamp-preview{
    margin-top:11px;
    padding:12px;
    border:1px solid rgba(255,255,255,.09);
    border-radius:12px;
    background:rgba(21,48,31,.15);
}

.gs-stamp-preview-head{
    display:flex;
    align-items:center;
    gap:9px;
}

.gs-place-avatar{
    width:35px;
    height:35px;
    border-radius:10px;
    display:grid;
    place-items:center;
    color:#307543;
    background:#fff;
    font-family:Manrope,Inter,sans-serif;
    font-weight:800;
}

.gs-stamp-preview-head strong,
.gs-stamp-preview-head small{display:block}

.gs-stamp-preview-head strong{font-size:9px}
.gs-stamp-preview-head small{margin-top:2px;color:#d2d6cf;font-size:7px}
.gs-stamp-preview-head>span{margin-left:auto;font-size:8px;font-weight:900}

.gs-stamp-row{
    display:flex;
    gap:7px;
    margin-top:11px;
}

.gs-stamp-row i{
    width:31px;
    height:31px;
    border:1px solid rgba(255,255,255,.23);
    border-radius:50%;
    display:grid;
    place-items:center;
    color:transparent;
    font-style:normal;
}

.gs-stamp-row i.filled{
    border-color:#fff;
    color:#2e7040;
    background:#fff;
    font-size:9px;
    font-weight:900;
}

.gs-brand-pills{
    display:flex;
    flex-wrap:wrap;
    gap:7px;
    margin-top:14px;
}

.gs-brand-pills span{
    padding:6px 8px;
    border:1px solid rgba(255,255,255,.10);
    border-radius:999px;
    color:#d8e4db;
    background:rgba(255,255,255,.055);
    font-size:7px;
    font-weight:750;
}

/* Login dashboard preview */
.gs-dashboard-avatar{
    width:43px;
    height:43px;
    border-radius:12px;
    display:grid;
    place-items:center;
    color:#2d6e3f;
    background:#fff;
    font-family:Manrope,Inter,sans-serif;
    font-weight:800;
}

.gs-dashboard-level{
    margin-top:15px;
    padding:12px;
    border:1px solid rgba(255,255,255,.08);
    border-radius:11px;
    background:rgba(255,255,255,.055);
}

.gs-level-copy small{
    display:block;
    color:#d7dad4;
    font-size:6px;
    font-weight:900;
    letter-spacing:.8px;
}

.gs-level-copy>div{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:10px;
    margin-top:5px;
}

.gs-level-copy strong{font-size:11px}
.gs-level-copy span{color:#d6e2d9;font-size:7px}

.gs-xp-track{
    height:7px;
    margin-top:9px;
    overflow:hidden;
    border-radius:999px;
    background:rgba(255,255,255,.13);
}

.gs-xp-track span{
    display:block;
    width:63%;
    height:100%;
    border-radius:999px;
    background:linear-gradient(90deg,#cfe3d5,#fff);
    animation:gsXpIn .9s .3s cubic-bezier(.22,.8,.2,1) both;
}

.gs-dashboard-stats{
    display:grid;
    gap:8px;
    margin-top:10px;
}

.gs-dashboard-stats article{
    display:flex;
    align-items:center;
    gap:9px;
    padding:10px;
    border:1px solid rgba(255,255,255,.08);
    border-radius:10px;
    background:rgba(255,255,255,.045);
}

.gs-dashboard-stats article>span{
    width:28px;
    height:28px;
    flex:0 0 auto;
    border-radius:8px;
    display:grid;
    place-items:center;
    color:#fff;
    background:rgba(255,255,255,.11);
    font-size:8px;
    font-weight:900;
}

.gs-dashboard-stats strong,
.gs-dashboard-stats small{display:block}

.gs-dashboard-stats strong{font-size:8px}
.gs-dashboard-stats small{margin-top:2px;color:#d3d7d0;font-size:7px}

/* Verify */
.gs-step-status{
    display:flex;
    align-items:center;
    gap:7px;
    padding:7px 10px;
    border:1px solid #e7f0ea;
    border-radius:999px;
    color:#346040;
    background:#fdfcf8;
    font-size:9px;
    font-weight:850;
}

.gs-step-status i{
    width:7px;
    height:7px;
    border-radius:50%;
    background:#327b47;
}

.gs-verify-main{
    position:relative;
    z-index:2;
    min-height:calc(100vh - 76px);
    padding:28px 20px 60px;
    display:flex;
    align-items:center;
    justify-content:center;
}

.gs-verify-card{
    width:min(570px,100%);
    padding:40px;
    border:1px solid var(--gs-line);
    border-radius:24px;
    background:#fff;
    box-shadow:0 30px 90px rgba(27,66,38,.12);
    text-align:center;
    animation:gsCardIn .65s cubic-bezier(.22,.8,.2,1) both;
}

.gs-verify-icon{
    width:64px;
    height:64px;
    margin:0 auto 16px;
    border-radius:19px;
    display:grid;
    place-items:center;
    color:#fff;
    background:linear-gradient(145deg,#337e48,#307744);
    box-shadow:0 16px 32px rgba(46,112,65,.23);
}

.gs-verify-eyebrow{justify-content:center}

.gs-verify-card h1{
    margin:0;
    font-family:Manrope,Inter,sans-serif;
    font-size:32px;
    letter-spacing:-1.2px;
}

.gs-verify-lead{
    margin:10px auto 0;
    color:#767985;
    font-size:12px;
    line-height:1.7;
}

.gs-verify-lead strong{color:#2c6b3e}

.gs-verify-message{text-align:left}

.gs-code-form{margin-top:24px}

.gs-code-boxes{
    display:grid;
    grid-template-columns:repeat(6,1fr);
    gap:9px;
}

.gs-code-boxes input{
    width:100%;
    aspect-ratio:1/1.04;
    min-width:0;
    border:1px solid #dce5de;
    border-radius:13px;
    outline:0;
    color:#1c251f;
    background:#fff;
    text-align:center;
    font-family:Manrope,Inter,sans-serif;
    font-size:24px;
    font-weight:800;
    transition:border-color .2s ease,box-shadow .2s ease,transform .2s ease,background .2s ease;
}

.gs-code-boxes input:focus{
    border-color:#36854c;
    box-shadow:0 0 0 4px rgba(46,111,64,.08);
    transform:translateY(-1px);
}

.gs-code-boxes input.filled{
    border-color:#a1d7b8;
    background:#fbfffc;
}

.gs-code-boxes.invalid input{
    border-color:#ed99a7;
    background:#fffafb;
    animation:gsShake .28s ease;
}

.gs-code-note{
    margin:10px 0 16px;
    color:#9a9ca6;
    font-size:8px;
}

.gs-verify-footer{
    margin:17px 0 0;
    color:#999ba5;
    font-size:8px;
}

/* Animations */
@keyframes gsPulse{
    0%{box-shadow:0 0 0 0 rgba(50,198,117,.34)}
    70%{box-shadow:0 0 0 8px rgba(50,198,117,0)}
    100%{box-shadow:0 0 0 0 rgba(50,198,117,0)}
}

@keyframes gsCardIn{
    from{opacity:0;transform:translateY(14px) scale(.993)}
    to{opacity:1;transform:none}
}

@keyframes gsXpIn{
    from{width:0}
    to{width:63%}
}

@keyframes gsSpin{
    to{transform:rotate(360deg)}
}

@keyframes gsShake{
    0%,100%{transform:translateX(0)}
    25%{transform:translateX(-3px)}
    75%{transform:translateX(3px)}
}

/* Responsive */
@media(max-width:940px){
    .gs-auth-card{
        width:min(760px,100%);
        grid-template-columns:1fr;
    }

    .gs-brand-side{
        order:-1;
        min-height:430px;
    }

    .gs-signup-card .gs-brand-side{min-height:500px}

    .gs-form-side,
    .gs-brand-side{
        padding:42px;
    }

    .gs-form-content,
    .gs-brand-content{
        width:min(100%,600px);
    }
}

@media(max-width:640px){
    .gs-auth-header{height:68px}

    .gs-auth-header-inner{
        width:calc(100% - 28px);
    }

    .gs-auth-header-link>span{display:none}

    .gs-auth-main{
        min-height:calc(100vh - 68px);
        padding:8px 14px 28px;
        align-items:flex-start;
    }

    .gs-auth-card{border-radius:19px}

    .gs-form-side{padding:31px 20px}

    .gs-brand-side{
        min-height:390px;
        padding:34px 24px;
    }

    .gs-form-content h1{font-size:31px}
    .gs-lead{font-size:11px}

    .gs-password-grid{
        grid-template-columns:1fr;
        gap:0;
    }

    .gs-brand-content h2{font-size:26px}

    .gs-journey-steps{
        grid-template-columns:1fr 1fr 1fr;
    }

    .gs-verify-main{padding:14px}

    .gs-verify-card{
        padding:31px 20px;
        border-radius:19px;
    }

    .gs-verify-card h1{font-size:28px}

    .gs-code-boxes{gap:6px}
    .gs-code-boxes input{
        border-radius:10px;
        font-size:20px;
    }
}

@media(max-width:460px){
    .gs-brand-side{display:none}

    .gs-form-side{padding:27px 17px}

    .gs-form-content h1{font-size:28px}

    .gs-journey-steps{grid-template-columns:1fr}

    .gs-code-boxes input{
        font-size:18px;
        border-radius:9px;
    }
}

@media(prefers-reduced-motion:reduce){
    *,
    *:before,
    *:after{
        animation-duration:.001ms!important;
        transition-duration:.001ms!important;
    }
}
