.toggle-section {
    width: 100%;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: flex-start;
    gap: .4rem
}

.toggle-section .toggle-section-header {
    width: 100%;
    display: flex;
    justify-content: space-between;
    align-items: center
}

.toggle-section .toggle-section-header .toggle-header-left {
    display: flex;
    gap: .7rem;
    justify-content: center;
    align-items: center
}

.toggle-section .toggle-section-header .toggle-cost,
.toggle-section .toggle-section-description {
    font-size: .8rem;
    color: #d6d6d6
}

.toggle-section .toggle-section-body {
    width: 100%;
    display: flex;
    justify-content: center;
    align-items: center;
    margin-top: .5rem;
    opacity: 0;
    animation: expand .35s ease-in forwards
}

@keyframes expand {
    to {
        height: max-content;
        opacity: 1
    }
}

.toggle {
    width: 2.4rem;
    height: 1.4rem;
    border: 2px solid #BABABA;
    border-radius: 3ex;
    padding: 2px;
    display: flex;
    position: relative;
    align-items: center;
    justify-content: flex-start;
    cursor: pointer
}

.toggle .toggle-marker {
    height: calc(100% - 4px);
    border-radius: 100%;
    transition: all .25s ease-in-out;
    aspect-ratio: 1;
    top: 0;
    left: 0;
    position: absolute
}

.toggle[data-toggled=true] .toggle-marker {
    background-color: #fff;
    transform: translate(calc(1rem + 2px), 2px)
}

.toggle[data-toggled=false] .toggle-marker {
    background-color: #bababa;
    transform: translate(2px, 2px)
}

.toggle-label .new-label {
    font-weight: bold;
    margin-left: 6px;
    background: linear-gradient(to right, #b2751e, #ae12e9);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    font-size: 0.9em;
}

.checkbox {
    display: flex;
    justify-content: center;
    align-items: center;
    aspect-ratio: 1;
    width: 1.4rem;
    border-radius: 1ex;
    border: 2px solid #8A8A8A;
    padding: 2px;
    position: relative
}

.checkbox .checkbox-marker {
    width: calc(100% - 4px);
    aspect-ratio: 1;
    border-radius: .6ex;
    position: absolute;
    transform: translate(2px, 2px);
    top: 0;
    left: 0;
    transition: background-color .3s ease-in-out
}

.checkbox[data-checked=true] .checkbox-marker {
    background-color: #d9d9d9
}

.checkbox[data-checked=false] .checkbox-marker {
    background-color: transparent
}

#create-token {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    width: 100%;
    padding-bottom: 6%
}

#create-token .title-box {
    margin-top: 10rem;
    display: flex;
    justify-content: center;
    align-items: center;
    flex-direction: column
}

#create-token .title-box .title-text {
    font-size: 3rem;
    font-weight: 700
}

#create-token .title-box .title-desc {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center
}

.token-creation-box {
    padding: 3.2rem;
    border-radius: 48px;
    display: flex;
    justify-content: center;
    align-items: center;
    margin-top: 3rem;
    flex-direction: column;
    gap: 1rem;
    width: 60%;
    background-color: #0b0b0b;
    overflow: hidden
}

.token-creation-box .form-section:nth-child(1) {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    justify-content: center;
    align-items: flex-start;
    gap: 2rem;
    width: 100%
}

.form-divider {
    width: 100%;
    height: 2px;
    border-radius: 1ex;
    background-color: var(--border-clr-2)
}

.form-field {
    display: flex;
    flex-direction: column;
    gap: .3rem
}

.form-field .field-input {
    color: #fff;
    text-align: left;
    line-height: 1;
    outline: 0;
    background-color: var(--bg-clr-2);
    padding: .8rem 1rem;
    border-radius: 2ex;
    border: 2px solid var(--border-clr-2);
    box-shadow: 0 3px 3px #5b5b5b40 inset, 0 -3px 3px #5b5b5b40 inset;
    transition: box-shadow .35s ease-in-out
}

.form-field .field-input:hover,
.form-field .field-input:focus,
.form-field .field-input:focus-within,
.form-field .field-input:focus-visible {
    box-shadow: 0 4px 8px 2px #5b5b5b40 inset, 0 -4px 8px 2px #5b5b5b40 inset;
    transition: box-shadow .35s ease-in-out
}

.form-field textarea.field-input {
    resize: none;
    min-height: 120px
}

.form-field .field-input::placeholder {
    color: #8a8a8a
}

.form-field .field-constraint,
.logo-wrapper .field-constraint {
    font-size: .8rem;
    color: var(--txt-clr-1)
}

.form-field:nth-child(6) {
    grid-column: span 2
}

.field-error {
    color: #e29790;
    font-size: .9rem
}

.logo-wrapper {
    display: grid;
    grid-column: span 2;
    gap: 2rem;
    grid-template-columns: repeat(2, 1fr)
}

.logo-box {
    display: flex;
    flex-direction: column;
    gap: .3rem
}

.logo-box .img-input-wrapper {
    position: relative;
    background-color: var(--bg-clr-2);
    border-radius: 24px;
    border: 2px solid var(--border-clr-2);
    color: #8a8a8a;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    gap: .2rem;
    height: 100%;
    overflow: hidden;
    box-shadow: 0 4px 4px #5b5b5b40 inset, 0 -4px 4px #5b5b5b40 inset
}

.logo-box .img-input-wrapper .material-symbols-rounded {
    font-size: 2.5rem;
    color: #fff
}

.logo-box .img-input-wrapper .text-1 {
    color: #fff;
    font-size: 1rem
}

.logo-box .img-input-wrapper .text-2 {
    color: #8a8a8aa4;
    font-size: .9rem
}

.logo-box .form-img {
    width: 100%;
    height: 100%;
    position: absolute;
    opacity: 0;
    border: none;
    outline: none
}

.logo-box .logo-preview {
    width: 100%;
    position: absolute;
    pointer-events: none;
    border: none !important;
    outline: none !important
}

.logo-generation-box {
    display: flex;
    flex-direction: column;
    justify-content: center;
    gap: .3rem
}

.generation-wrapper {
    width: 100%;
    display: flex;
    justify-content: center;
    align-items: center;
    position: relative
}

.generation-box {
    background-color: var(--bg-clr-2);
    border-radius: 24px;
    border: 2px solid var(--border-clr-2);
    color: #8a8a8a;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    aspect-ratio: 1;
    width: 36%;
    gap: .2rem;
    box-shadow: 0 4px 4px #5b5b5b40 inset, 0 -4px 4px #5b5b5b40 inset
}

.generate-btn {
    background-color: #fff;
    color: #000;
    border-radius: 100px;
    align-items: center;
    display: flex;
    justify-content: center;
    padding: .7rem 6rem;
    font-size: 1.1rem;
    opacity: .8
}

.generation-set {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: .5rem;
    text-align: center
}

.token-creation-box .form-section:nth-child(3),
.token-creation-box .form-section:nth-child(5) {
    width: 100%;
    display: flex;
    justify-content: center;
    align-items: center;
    flex-direction: column;
    gap: 1rem
}

.token-creation-box .form-section:nth-child(5) .form-section-title {
    width: 100%
}

.token-creation-box .form-section:nth-child(5) .form-section-authorities {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 2rem
}

.form-radio-field {
    background-color: var(--bg-clr-2);
    border: 2px solid var(--border-clr-2);
    border-radius: 2ex;
    padding: 1rem;
    display: flex;
    justify-content: center;
    align-items: center;
    flex-direction: column;
    gap: .2rem;
    box-shadow: 0 2px 2px #5b5b5b40 inset, 0 -2px 2px #5b5b5b40 inset
}

.form-radio-field .form-radio-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    width: 100%
}

.form-radio-field .form-radio-description {
    color: #8a8a8a;
    font-size: .8rem
}

.form-radio-field .form-radio-cost {
    color: var(--txt-clr-1);
    width: 100%;
    text-align: right;
    font-size: .8rem
}

.form-section-description {
    font-size: .8rem;
    color: var(--txt-clr-1);
    width: 100%
}

.submit-section {
    padding-top: 2rem;
    display: flex;
    flex-direction: column;
    width: 100%;
    justify-content: center;
    align-items: center;
    gap: .5rem
}

.submit-section .submit-btn {
    background-color: #fff;
    color: #000;
    border-radius: 4ex;
    outline: none;
    border: none;
    padding: .7rem 5rem;
    font-size: 1.2rem;
    cursor: pointer;
    box-shadow: 0 8px 17px #ffffff1a, 0 31px 31px #ffffff17, 0 69px 41px #ffffff0d, 0 122px 49px #ffffff03, 0 191px 54px #fff0
}

.submit-section .token-fees-container {
    display: flex;
    gap: .6ch;
    font-weight: 450
}

.submit-section .token-fees-container .fees-label,
.submit-section .token-fees-container .fees-discounted {
    display: flex;
    color: var(--txt-clr-1)
}

.submit-section .token-fees-container .fees-original {
    display: flex;
    color: #7c7c7c
}

#overlay {
    position: fixed;
    top: 0;
    left: 0;
    background: gray;
    width: 100%;
    height: 100vh;
    z-index: 111;
    display: flex;
    justify-content: center;
    align-items: center;
    box-shadow: 0 4px 4px #5b5b5b40 inset, 0 -4px 4px #5b5b5b40 inset;
    background: #ffffff0f;
    -webkit-backdrop-filter: blur(6px);
    backdrop-filter: blur(6px)
}

#overlay .overlay-container {
    max-width: 45%;
    display: flex;
    justify-content: center;
    align-items: center;
    flex-direction: column;
    gap: 2rem;
    background: #0b0b0b;
    padding: 2rem;
    border-radius: 4ex;
    position: relative
}

#overlay .overlay-container .overlay-content {
    width: 100%;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    gap: .8rem;
    text-align: center;
    opacity: 0;
    animation: fadeIn .3s linear forwards
}

#overlay .overlay-container .overlay-content .overlay-title {
    font-size: 1.9rem;
    font-weight: 700
}

#overlay .overlay-container .overlay-content .overlay-description {
    font-size: .9rem
}

#overlay .overlay-container .overlay-content .overlay-copy-container {
    padding: .9rem 1.5rem .9rem 2rem;
    background-color: #fff;
    color: #000;
    display: flex;
    gap: 1rem;
    justify-content: space-between;
    align-items: center;
    border-radius: 4ex;
    font-weight: 700;
    line-height: 1;
    max-width: calc(100% - 4rem);
    width: min-content
}

#overlay .overlay-container .overlay-content .overlay-copy-container .overlay-copy-text {
    width: min-content;
    display: flex;
    justify-content: flex-start;
    align-items: center;
    overflow: hidden
}

#overlay .overlay-container .overlay-content .overlay-copy-container .overlay-copy-btn {
    width: 23px;
    aspect-ratio: 1;
    overflow: hidden;
    cursor: pointer
}

#overlay .overlay-container .overlay-content .overlay-copy-container .overlay-copy-btn img {
    width: 100%;
    object-fit: contain
}

#overlay .overlay-container .overlay-link {
    font-weight: 700;
    color: #7bb4ff !important;
    text-decoration: none;
    display: flex;
    justify-content: center;
    align-items: center;
    gap: .5ch
}

#overlay .overlay-container .overlay-link span:nth-child(2) {
    text-decoration: underline;
    text-underline-offset: 3px
}

#overlay .overlay-progress {
    height: 3px;
    border-radius: 1ex;
    width: calc(100% - 3rem);
    background-color: #ffffff63;
    position: absolute;
    bottom: 1rem;
    left: 1.5rem;
    animation: progress calc(var(--duration) * 1ms) linear forwards
}

.error-circle {
    width: 0;
    aspect-ratio: 1;
    border-radius: 100%;
    border: 3rem solid rgb(219, 118, 118);
    animation: circle-expand .4s cubic-bezier(.91, .14, .23, 1.02) forwards;
    display: flex;
    justify-content: center;
    align-items: center
}

.error-circle span {
    width: 0;
    border-radius: 1ex;
    height: .3rem;
    background-color: #db7676;
    position: absolute;
    animation: error-bar .15s linear forwards
}

.error-circle span:nth-child(1) {
    transform: rotate(45deg);
    animation-delay: .41s
}

.error-circle span:nth-child(2) {
    transform: rotate(-45deg);
    animation-delay: .49s
}

.success-circle {
    width: 0;
    aspect-ratio: 1;
    border-radius: 100%;
    border: 3rem solid rgb(145, 241, 152);
    animation: circle-expand .4s cubic-bezier(.91, .14, .23, 1.02) forwards;
    display: flex;
    justify-content: center;
    align-items: center
}

.success-circle span {
    width: 0;
    border-radius: 1ex;
    height: .3rem;
    background-color: #91f198;
    position: absolute;
    animation: error-bar .15s linear forwards
}

.success-circle span:nth-child(1) {
    transform: rotate(45deg) translate(-.3rem, 1rem);
    animation: success-bar-1 .15s linear forwards;
    animation-delay: .41s
}

.success-circle span:nth-child(2) {
    transform: rotate(-48deg) translate(.35rem, .5rem);
    animation: success-bar-2 .15s linear forwards;
    animation-delay: .49s
}

@keyframes circle-expand {
    to {
        width: 5.7rem;
        border-width: .3rem
    }
}

@keyframes error-bar {
    to {
        width: 3.5rem
    }
}

@keyframes success-bar-1 {
    to {
        width: 2rem
    }
}

@keyframes success-bar-2 {
    to {
        width: 2.8rem
    }
}

@keyframes fadeIn {
    to {
        opacity: 1
    }
}

@keyframes progress {
    to {
        width: 0
    }
}