.common-modal{
    position:fixed;
    inset:0;
    z-index:200;
    display:none;
    overflow-y:auto;
    scrollbar-width:none;
    padding:100px 24px;
}
.common-modal::-webkit-scrollbar{
    display:none;
}
.common-modal.is-open{
    display:flex;
    align-items:flex-start;
    justify-content:center;
}
.common-modal.is-image-preview,
.common-modal.is-video-preview{
    padding:24px;
}
.common-modal-backdrop{
    position:fixed;
    inset:0;
    background:rgba(0,0,0,.5);
}
.common-modal-panel{
    position:relative;
    box-sizing:border-box;
    width:min(calc(100vw - 48px),512px);
    margin:auto 0;
    border-radius:24px;
    background:#202342;
    color:var(--text);
    padding:30px 36px 38px;
    text-align:left;
    box-shadow:var(--shadow-soft);
}
.common-modal.is-image-preview .common-modal-panel{
    width:max-content;
    max-width:calc(100vw - 48px);
    max-height:70vh;
    padding:0;
    overflow:hidden;
    border:4px solid #202342;
    border-radius:24px;
    background:transparent;
    box-shadow:var(--shadow-card);
}
.common-modal.is-image-preview .common-modal-head,
.common-modal.is-image-preview .common-modal-message{
    display:none;
}
.common-modal.is-video-preview .common-modal-panel{
    --video-preview-ratio-number:1.777777;
    width:min(calc(100vw - 48px),calc(max(320px, 100vh - 300px) * var(--video-preview-ratio-number)),920px);
    max-height:max(320px, calc(100vh - 300px));
    padding:0;
    overflow:hidden;
    border:4px solid #202342;
    border-radius:18px;
    background:#202342;
    box-shadow:var(--shadow-card);
}
.common-modal.is-video-preview .common-modal-head,
.common-modal.is-video-preview .common-modal-message{
    display:none;
}
.image-preview-content{
    box-sizing:border-box;
    width:max-content;
    max-width:calc(100vw - 56px);
    height:70vh;
    max-height:70vh;
    margin:0;
    display:flex;
    align-items:center;
    justify-content:center;
    background:#000;
}
.image-preview-content img{
    width:auto;
    max-width:calc(100vw - 56px);
    max-height:70vh;
    height:70vh;
    display:block;
    object-fit:contain;
    border-radius:0;
}
@media (max-width:640px){
    .common-modal.is-image-preview .common-modal-panel{
        width:calc(100vw - 48px);
        max-height:calc(100vh - 48px);
    }
    .image-preview-content{
        width:100%;
        height:auto;
        max-height:calc(100vh - 56px);
    }
    .image-preview-content img{
        width:100%;
        height:auto;
        max-height:calc(100vh - 56px);
    }
}
.video-preview-content{
    --video-preview-ratio:16 / 9;
    box-sizing:border-box;
    width:100%;
    aspect-ratio:var(--video-preview-ratio);
    max-height:max(320px, calc(100vh - 300px));
    margin:0;
    position:relative;
    background:#000;
}

.video-preview-overlay-images{
    position:absolute;
    left:14px;
    top:14px;
    z-index:2;
    display:flex;
    align-items:center;
    gap:8px;
    pointer-events:none;
}

.video-preview-overlay-images img{
    width:50px;
    height:50px;
    display:block;
    flex:0 0 50px;
    border-radius:10px;
    object-fit:cover;
    box-shadow:0 3px 12px rgba(0,0,0,.38);
}
.video-preview-content .video-card{
    width:100%;
    height:100%;
    margin:0;
    border-radius:0;
}
.video-preview-content video{
    width:100%;
    height:100%;
    display:block;
    object-fit:contain;
    background:#000;
}
.video-preview-content canvas{
    width:100%;
    height:100%;
    display:block;
    object-fit:contain;
    background:#000;
}
body.modal-open{
    overflow:hidden;
}
.ai-chat-modal{
    position:fixed;
    inset:0;
    z-index:120;
    display:none;
    align-items:center;
    justify-content:center;
    padding:48px 24px;
}
.ai-chat-modal.is-open{
    display:flex;
}
.ai-chat-backdrop{
    position:absolute;
    inset:0;
    background:rgba(0,0,0,.5);
}
.ai-chat-panel{
    position:relative;
    width:min(768px,calc(100vw - 48px));
    max-height:calc(100vh - 96px);
    border-radius:18px;
    background:#272b50;
    box-shadow:0 28px 80px rgba(0,0,0,.42);
    padding:34px 32px 32px;
    display:flex;
    flex-direction:column;
    gap:28px;
    overflow:hidden;
}
.ai-chat-head{
    display:flex;
    align-items:center;
    justify-content:space-between;
}
.ai-chat-head h2{
    margin:0;
    display:flex;
    align-items:center;
    gap:9px;
    font-size:20px;
    font-weight:500;
}
.ai-chat-head h2 img,
.ai-message strong img{
    width:18px;
    height:18px;
}
.ai-chat-close{
    width:40px;
    height:40px;
    padding:0;
    background:transparent;
}
.ai-chat-close img{
    width:40px;
    height:40px;
    display:block;
}
.ai-chat-body{
    min-height:300px;
    overflow-y:auto;
    padding-right:4px;
    display:flex;
    flex-direction:column;
    gap:26px;
    scrollbar-width:thin;
    scrollbar-color:rgba(255,255,255,.22) transparent;
}
.ai-message{
    max-width:88%;
    color:var(--text-muted);
    font-size:15px;
    line-height:1.55;
}
.ai-message strong{
    display:flex;
    align-items:center;
    gap:8px;
    color:var(--white);
    font-size:17px;
    font-weight:500;
    margin-bottom:10px;
}
.ai-message strong > span:not(.ai-loading-dots){
    color:var(--text-muted);
    font-size:14px;
    font-weight:400;
}
.ai-thinking{
    margin-left:3px;
    color:rgba(167,173,198,.62);
    font-size:12px;
    font-weight:400;
    animation:aiThinkingPulse 2s ease-in-out infinite;
}
@keyframes aiThinkingPulse{
    0%,
    100%{
        opacity:.42;
    }
    50%{
        opacity:1;
    }
}
.ai-message p,
.ai-message-content{
    margin:0;
    white-space:pre-line;
    word-break:keep-all;
}
.ai-message p b,
.ai-message-content b{
    color:var(--text);
    font-weight:500;
}
.ai-topic-list{
    display:flex;
    flex-direction:column;
    gap:10px;
    margin-top:12px;
}
.ai-topic-card{
    padding:16px 16px 15px;
    border-radius:14px;
    background:rgba(255,255,255,.035);
    border:1px solid rgba(255,255,255,.12);
}
.ai-topic-card-head{
    display:flex;
    align-items:flex-start;
    justify-content:space-between;
    gap:14px;
    margin-bottom:10px;
}
.ai-topic-card strong{
    flex:1;
    min-width:0;
    margin:0;
    color:var(--text);
    font-size:16px;
    line-height:1.4;
    font-weight:500;
}
.ai-topic-select{
    flex:0 0 auto;
    height:30px;
    padding:0 13px;
    border-radius:15px;
    background:var(--primary);
    color:var(--white);
    font-size:13px;
    font-weight:500;
}
.ai-topic-card span{
    display:block;
    color:var(--text-soft);
    font-size:14px;
    line-height:1.5;
    font-weight:400;
}
.ai-topic-card em{
    display:flex;
    gap:8px;
    margin-top:8px;
    padding-top:8px;
    border-top:1px solid rgba(255,255,255,.08);
    color:var(--text-muted);
    font-size:13px;
    line-height:1.45;
    font-style:normal;
    font-weight:400;
}
.ai-topic-card em b{
    flex:0 0 auto;
    color:var(--text-soft);
    font-size:13px;
    font-weight:500;
}
.ai-message-user{
    align-self:flex-end;
    max-width:58%;
}
.ai-message-user p{
    padding:12px 20px;
    border-radius:20px;
    background:var(--primary);
    color:var(--white);
    font-size:16px;
    font-weight:400;
}
.ai-loading-dots{
    display:inline-flex;
    align-items:center;
    gap:5px;
    margin-left:3px;
}
.ai-loading-dots i{
    width:6px;
    height:6px;
    border-radius:50%;
    background:#4D7CFE;
    animation:loadingDotFlow 1.2s linear infinite;
}
.ai-loading-dots i:nth-child(2){
    background:#9F66FF;
    animation-delay:-.8s;
}
.ai-loading-dots i:nth-child(3){
    background:#FF759F;
    animation-delay:-.4s;
}
@keyframes loadingDotFlow{
    0%{
        transform:translateY(0);
        opacity:.62;
    }
    12.5%{
        transform:translateY(-2.8px);
        opacity:.82;
    }
    25%{
        transform:translateY(-4px);
        opacity:1;
    }
    37.5%{
        transform:translateY(-2.8px);
        opacity:.82;
    }
    50%{
        transform:translateY(0);
        opacity:.62;
    }
    62.5%{
        transform:translateY(1.4px);
        opacity:.48;
    }
    75%{
        transform:translateY(2px);
        opacity:.42;
    }
    87.5%{
        transform:translateY(1.4px);
        opacity:.48;
    }
    100%{
        transform:translateY(0);
        opacity:.62;
    }
}
.ai-chat-form{
    height:62px;
    border-radius:18px;
    background:#333860;
    display:grid;
    grid-template-columns:1fr 54px;
    align-items:center;
    padding:0 10px 0 26px;
}
.ai-chat-form input{
    min-width:0;
    border:0;
    outline:0;
    background:transparent;
    color:var(--white);
    font:inherit;
    font-size:16px;
    font-weight:400;
}

.ai-chat-form input::placeholder{
    color:var(--text-muted);
}
.ai-chat-form button{
    width:44px;
    height:44px;
    border-radius:50%;
    display:flex;
    align-items:center;
    justify-content:center;
    background:transparent;
}
.logo,
.workspace-logo{
    display:flex;
    align-items:center;
    gap:12px;
    margin-top:5px;
}
.logo strong,
.workspace-logo strong{
    font-size:var(--fs-logo);
    font-weight:500;
}
.workspace-logo-img{
    width:100px;
    height:auto;
    display:block;
}
.logo span,
.workspace-logo span{
    font-size:22px;
    color:#5181ff;
    font-weight:200;
    margin-top:0;
}
.step-icons,
.preview-steps{
    display:flex;
    align-items:center;
    justify-content:flex-end;
    gap:0;
}
.preview-steps{
    margin:0;
}
.top{
    position:fixed;
    top:17px;
    right:46px;
    width:auto;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:34px;
    z-index:12;
}
.top-account{
    position:relative;
    display:flex;
    align-items:center;
    gap:17px;
}
.top-credit{
    padding:0;
    border:0;
    background:transparent;
    display:flex;
    align-items:center;
    gap:6px;
    color:var(--text);
}
.top-credit[hidden]{
    display:none;
}
.top-credit img{
    width:23px;
    height:23px;
    display:block;
}
.top-credit strong{
    font-size:18px;
    font-weight:500;
}
.top-member-greeting{
    max-width:220px;
    color:var(--text-soft);
    font-size:15px;
    font-weight:400;
    line-height:1.2;
    white-space:nowrap;
    overflow:hidden;
    text-overflow:ellipsis;
}
.top-library{
    width:34px;
    height:34px;
    display:flex;
    align-items:center;
    justify-content:center;
    border-radius:50%;
    transition:transform .2s ease, opacity .2s ease;
    background-color:transparent;
}
.top-library:hover{
    transform:translateY(-1px);
}
.top-library img{
    width:26px;
    height:26px;
    display:block;
}
body.library-open .app{
    transform:translateX(calc(var(--library-panel-width, min(360px,calc(100vw - 24px))) * -1));
    transition:transform .28s ease;
}
.app{
    transition:transform .28s ease;
}
.top-avatar{
    width:50px;
    height:50px;
    border-radius:50%;
    overflow:hidden;
    display:block;
    padding:0;
    background:transparent;
    border:1px solid rgba(255,255,255,.1);
}
.top-avatar img{
    width:100%;
    height:100%;
    display:block;
    object-fit:cover;
}
.account-dropdown{
    position:absolute;
    top:70px;
    right:0;
    width:260px;
    border-radius:18px;
    background:#202342;
    color:var(--text);
    border:0px solid rgba(255,255,255,.08);
    box-shadow:0 18px 40px rgba(0,0,0,.28);
    opacity:0;
    visibility:hidden;
    transform:translateY(8px);
    transition:opacity .2s ease, transform .2s ease, visibility .2s ease;
    overflow:hidden;
    z-index:2;
}
.top-account.is-open .account-dropdown{
    opacity:1;
    visibility:visible;
    transform:translateY(0);
}
.account-card{
    padding:22px 20px 18px;
    border-bottom:1px solid rgba(255,255,255,.08);
}
.account-profile{
    display:grid;
    grid-template-columns:48px 1fr auto;
    align-items:center;
    gap:12px;
}
.account-avatar{
    width:48px;
    height:48px;
    border-radius:50%;
    overflow:hidden;
    background:transparent;
    border:1px solid rgba(255,255,255,.1);
}
.account-avatar img{
    width:100%;
    height:100%;
    display:block;
    object-fit:cover;
}
.account-name{
    display:block;
    font-size:15px;
    font-weight:500;
}
.account-email,
.account-role{
    color:var(--text-muted);
    font-size:12px;
    font-weight:400;
}
.account-credit{
    height:43px;
    margin-top:18px;
    border-radius:22px;
    background:#272b50;
    display:flex;
    align-items:center;
    justify-content:center;
    gap:18px;
    color:var(--text-soft);
    font-size:13px;
    cursor:pointer;
}
.account-credit strong{
    display:flex;
    align-items:center;
    gap:5px;
    color:var(--text);
    font-size:17px;
    font-weight:500;
}
.account-credit img{
    width:18px;
    height:18px;
}
.account-menu{
    padding:14px 0;
    border-bottom:1px solid rgba(255,255,255,.08);
}
.account-menu button,
.account-logout{
    width:100%;
    height:37px;
    padding:0 22px;
    background:transparent;
    color:var(--text-soft);
    text-align:left;
    font-size:14px;
    font-weight:400;
}
.account-menu button:hover,
.account-logout:hover{
    background:rgba(255,255,255,.06);
}
.account-logout{
    height:54px;
    display:flex;
    align-items:center;
    justify-content:space-between;
    font-weight:400;
}
.library-panel{
    position:fixed;
    inset:0;
    z-index:80;
    pointer-events:none;
}
.library-panel.is-open{
    pointer-events:auto;
}
.library-backdrop{
    position:absolute;
    inset:0;
    background:transparent;
    opacity:0;
    transition:opacity .25s ease;
}
.library-panel.is-open .library-backdrop{
    opacity:1;
}
.library-drawer{
    position:absolute;
    top:0;
    right:0;
    width:var(--library-panel-width, min(360px,calc(100vw - 24px)));
    height:100vh;
    padding:42px 31px;
    overflow-y:auto;
    scrollbar-width:none;
    -ms-overflow-style:none;
    background:var(--page-bg);
    color:var(--text);
    transform:translateX(100%);
    transition:transform .28s ease;
    box-shadow:none;
}
.library-drawer::-webkit-scrollbar{
    display:none;
}
.library-panel.is-open .library-drawer{
    transform:translateX(0);
}
.library-head{
    display:flex;
    align-items:center;
    justify-content:space-between;
    margin-bottom:42px;
}
.library-head h2{
    margin:0;
    font-size:20px;
    line-height:1;
    font-weight:500;
}
.library-close{
    width:34px;
    height:34px;
    padding:0;
    border-radius:50%;
    background:transparent;
    display:flex;
    align-items:center;
    justify-content:center;
}
.library-close img{
    width:34px;
    height:34px;
    display:block;
}
.library-card{
    overflow:hidden;
    border-radius:18px;
    background:var(--card-bg);
    box-shadow:none;
}
.library-card-title{
    height:56px;
    padding:0 24px;
    display:flex;
    align-items:center;
    justify-content:space-between;
    color:var(--text);
    border-bottom:1px solid rgba(0,0,0,.1);
}
.library-card-title span{
    display:flex;
    align-items:center;
    gap:11px;
    font-size:15px;
    font-weight:500;
}
.library-card-title img{
    width:22px;
    height:22px;
    display:block;
}
.library-card-title strong{
    font-size:13px;
    font-weight:500;
}
.library-service-tabs{
    display:flex;
    gap:8px;
    padding:14px 24px;
    border-bottom:1px solid rgba(0,0,0,.1);
}
.library-service-tabs button{
    height:34px;
    padding:0 16px;
    border:1px solid rgba(255,255,255,.12);
    border-radius:17px;
    background:rgba(255,255,255,.05);
    color:var(--text-soft);
    font-size:13px;
    font-weight:500;
}
.library-service-tabs button.is-active{
    border-color:var(--primary);
    background:var(--primary);
    color:#fff;
}
.library-list{
    display:flex;
    flex-direction:column;
}
.library-project{
    width:100%;
    min-height:78px;
    padding:0 24px 0 28px;
    background:transparent;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:18px;
    color:var(--text-soft);
    text-align:left;
    border-bottom:1px solid rgba(0,0,0,.1);
    transition:background .2s ease, color .2s ease;
}
.library-project:last-child{
    border-bottom:0;
}
.library-project:hover{
    background:rgba(255,255,255,.04);
    color:var(--text);
}
.library-project-text{
    min-width:0;
    display:block;
}
.library-project-text strong{
    display:block;
    overflow:hidden;
    color:currentColor;
    font-size:15px;
    line-height:1.35;
    font-weight:500;
    text-overflow:ellipsis;
    white-space:nowrap;
}
.library-project-text em{
    display:block;
    margin-top:4px;
    color:var(--text-muted);
    font-size:12px;
    line-height:1.2;
    font-style:normal;
    font-weight:300;
}
.ui-check{
    display:inline-flex;
    width:22px;
    height:22px;
    border-radius:7px;
    border:2px solid rgba(255,255,255,.22);
    position:relative;
    cursor:pointer;
    transition:border-color .2s ease, background .2s ease;
}
.ui-check.is-checked,
.library-project.is-selected .ui-check{
    border-color:var(--text);
    background:var(--card-bg);
}
.ui-check.is-checked:after,
.library-project.is-selected .ui-check:after{
    content:"";
    position:absolute;
    left:7px;
    top:3px;
    width:4px;
    height:7px;
    border:solid var(--text);
    border-width:0 2px 2px 0;
    transform:rotate(45deg);
}
.library-check{
    flex:0 0 auto;
}
.library-empty{
    margin:0;
    padding:28px 24px;
    color:var(--text-muted);
    font-size:14px;
    font-weight:400;
}
.library-delete{
    width:147px;
    height:48px;
    margin-top:18px;
    border-radius:24px;
    background:var(--white);
    color:var(--primary);
    display:flex;
    align-items:center;
    justify-content:center;
    gap:14px;
    font-size:14px;
    font-weight:500;
}
.library-delete svg{
    width:14px;
    height:14px;
    display:block;
    color:currentColor;
}
.common-modal.is-auth .common-modal-panel{
    width:min(calc(100vw - 48px),500px);
    border-radius:34px;
    padding:34px 42px 42px;
}
.common-modal.is-auth .common-modal-message{
    display:none;
}
.common-modal-head{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:20px;
    margin-bottom:20px;
}
.common-modal-close{
    width:40px;
    height:40px;
    padding:0;
    flex:0 0 40px;
    margin-right: -13px;
    background:transparent;
}
.common-modal-close img{
    width:40px;
    height:40px;
    display:block;
}
.common-modal-panel h2{
    margin:0;
    font-size:20px;
    font-weight:500;
}
.common-modal-message{
    margin:0;
    color:var(--text-soft);
    font-size:16px;
    line-height:1.55;
    word-break:keep-all;
    white-space:pre-line;
}
.common-modal-actions{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:10px;
    margin-top:28px;
}
.common-modal-actions.is-single{
    grid-template-columns:1fr;
}
.common-modal-actions.is-three{
    grid-template-columns:repeat(3,minmax(0,1fr));
}
.common-modal-actions button{
    height:48px;
    border-radius:16px;
    font-size:15px;
    font-weight:500;
}
.common-modal-cancel{
    background:var(--white);
    color:var(--primary);
}
.common-modal-confirm{
    background:linear-gradient(135deg,#4D7CFE 0%,#F75165 100%);
    color:var(--white);
}
.common-modal-option{
    background:#343b68;
    color:var(--white);
}
@media(max-width:600px){
    .common-modal-actions.is-three{
        grid-template-columns:1fr;
    }
}
.credit-confirm-content{
    display:grid;
    grid-template-columns:1fr auto;
    gap:22px;
    align-items:center;
}
.credit-confirm-content p{
    margin: 0;
    color: var(--text-soft);
    font-size: 16px;
    line-height: 1.55;
    word-break: keep-all;
}

.credit-confirm-badge{
    min-width:86px;
    height:58px;
    border-radius:20px;
    display:flex;
    align-items:center;
    justify-content:center;
    gap:9px;
    background:#272b50;
    color:var(--text);
    font-size:24px;
    font-weight:500;
}
.credit-confirm-badge img{
    width:24px;
    height:24px;
}
.credit-confirm-badge strong{
    color:var(--text);
    font-size:24px;
    font-weight:500;
}
.auth-modal{
    margin-top:4px;
}
.auth-copy{
    margin:0 0 8px;
    color:var(--text-muted);
    font-size:15px;
    line-height:1.45;
}
.auth-form{
    display:none;
    flex-direction:column;
    gap:14px;
}
.auth-form.active{
    display:flex;
}
.auth-form label{
    position:relative;
    display:flex;
    flex-direction:column;
    gap:9px;
    color:var(--text-soft);
    font-size:13px;
    font-weight:400;
}
.auth-form label.has-required:after{
    content:"*";
    position:absolute;
    top:35px;
    right:10px;
    color:var(--white);
    font-size:12px;
    font-weight:300;
    line-height:1;
    pointer-events:none;
}
.auth-form label.has-required input{
    padding-right:34px;
}
.auth-form input[type="email"],
.auth-form input[type="password"],
.auth-form input[type="text"],
.auth-form input[type="tel"],
.auth-profile-file{
    min-height:48px;
    border:2px solid transparent;
    border-radius:16px;
    background:#171a33;
    color:var(--text);
    font:inherit;
    padding:0 18px;
    transition:border-color .2s ease, background .2s ease;
}
.auth-form input::placeholder{
    color:var(--text-muted);
}
.auth-form input:focus{
    outline:0;
    border-color:var(--primary);
}
.auth-form .auth-check{
    min-height:auto;
    flex-direction:row;
    align-items:center;
    gap:11px;
    width:max-content;
    margin-top:0;
    padding:0;
    border-radius:0;
    background:transparent;
    border:0;
    cursor:pointer;
    color:var(--text-muted);
    font-size:14px;
    transition:color .2s ease;
}
.auth-check input{
    position:absolute;
    width:1px;
    height:1px;
    opacity:0;
    pointer-events:none;
}
.auth-toggle-track{
    width:46px;
    height:26px;
    border-radius:999px;
    background:#171a33;
    border:1px solid rgba(255,255,255,.08);
    position:relative;
    display:block;
    transition:background .22s ease, border-color .22s ease;
}
.auth-toggle-thumb{
    position:absolute;
    left:3px;
    top:3px;
    width:18px;
    height:18px;
    border-radius:50%;
    background:#6f789f;
    transition:transform .22s ease, background .22s ease;
}
.auth-check:hover{
    color:var(--text-soft);
}
.auth-check input:focus-visible + .auth-toggle-track{
    border-color:var(--primary);
}
.auth-check input:checked + .auth-toggle-track{
    background:var(--primary);
    border-color:transparent;
}
.auth-check input:checked + .auth-toggle-track .auth-toggle-thumb{
    transform:translateX(20px);
    background:var(--white);
}
.auth-check:has(input:checked){
    color:var(--text);
}
.auth-member-type{
    display:grid !important;
    grid-template-columns:1fr 1fr;
    gap:8px;
    width:100%;
}
.auth-member-type .topic-chip{
    width:100%;
    justify-content:center;
    background:#202543;
}
.auth-member-type .topic-chip.active{
    background:var(--primary);
}
.auth-company-fields{
    display:flex;
    flex-direction:column;
    gap:14px;
}
.auth-company-fields[hidden]{
    display:none;
}
.auth-profile-file{
    padding:0;
    border-radius:16px;
    background:#171a33;
}
.auth-profile-title{
    height:auto;
    padding:16px 18px 0;
    display:flex;
    align-items:center;
    color:var(--text-soft);
    font-size:13px;
}
.auth-form .auth-profile-drop{
    min-height:75px;
    margin:0;
    border:0;
    border-radius:16px;
    display:grid;
    flex-direction:initial;
    grid-template-columns:1fr 66px;
    align-items:center;
    gap:20px;
    padding:12px 18px 18px;
    color:var(--text-soft);
    cursor:pointer;
}
.auth-form .auth-profile-drop.is-dragover{
    background:rgba(79,124,255,.08);
}
.auth-profile-preview{
    width:45px;
    height:45px;
    border-radius:50%;
    overflow:hidden;
    background:transparent;
    border:1px solid rgba(255,255,255,.1);
    display:block;
    grid-column:2;
    grid-row:1;
}
.auth-profile-preview img{
    width:100%;
    height:100%;
    object-fit:cover;
    display:block;
}
.auth-profile-guide{
    grid-column:1;
    grid-row:1;
    flex:1;
    font-size:13px;
    color:var(--text-soft);
    line-height:1.4;
}

.auth-profile-meta{
    display:block;
    margin-top:6px;
    color:var(--text-muted);
    font-size:12px;
}
.auth-file-badge{
    min-width:66px;
    height:36px;
    border-radius:999px;
    display:flex;
    align-items:center;
    justify-content:center;
    grid-column:2;
    grid-row:1;
    align-self:center;
    background:#272b50;
    color:var(--text-soft);
    font-size:13px;
    font-weight:500;
}
.auth-profile-drop.has-file .auth-file-badge{
    background:var(--primary);
    color:var(--white);
}
.auth-form .auth-profile-drop input{
    display:none;
}
.auth-submit{
    height:58px;
    margin-top:8px;
    border-radius:29px;
    background:linear-gradient(135deg,#4D7CFE 0%,#F75165 100%);
    color:var(--text);
    font-size:17px;
    font-weight:500;
}
.auth-divider{
    display:flex;
    align-items:center;
    gap:14px;
    color:var(--text-muted);
    font-size:13px;
}
.auth-divider:before,
.auth-divider:after{
    content:"";
    height:1px;
    flex:1;
    background:rgba(255,255,255,.12);
}
.auth-socials{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:10px;
}
.auth-social{
    height:50px;
    border-radius:16px;
    background:#2D325A;
    color:var(--text);
    display:flex;
    align-items:center;
    justify-content:center;
    gap:9px;
    font-size:15px;
    font-weight:500;
}
.auth-social.google{
    background:#2D325A;
}
.auth-social.kakao{
    background:#FEE500;
    color:#191600;
}
.auth-social img{
    width:25px;
    height:25px;
    display:block;
}
.auth-switch{
    margin-top:2px;
    background:transparent;
    color:var(--text-muted);
    font-size:16px;
    font-weight:400;
    text-align:center;
}
.auth-switch:hover{
    color:var(--text);
}
.auth-success{
    min-height:360px;
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    text-align:center;
}
.auth-success[hidden]{
    display:none;
}
.auth-success-icon{
    width:86px;
    height:86px;
    border-radius:50%;
    background:rgba(79,124,255,.12);
    color:var(--primary);
    display:flex;
    align-items:center;
    justify-content:center;
    font-size:50px;
    font-weight:500;
    margin-bottom:28px;
}
.auth-success strong{
    color:var(--text);
    font-size:22px;
    font-weight:400;
    line-height:1.4;
}
.auth-success p{
    margin:16px 0 0;
    color:var(--text-muted);
    font-size:16px;
    line-height:1.5;
}
