:root {
    --deep-gray: #1b2025;
    --deep-gray-mobile: #252c33;
    --deep-gray-alpha: #252c33e3;
    --modal-gray: #2b343d;
    --modal-close: #2b343d48;
    --modal-header: #3a4652;
    --medium-gray: #394652;
    --medium-gray-alpha: #3c4752cc;
    --light-gray: #38424d;
    --ultralight-gray: #506273;
    --muted-white: #8b9dad;
    --white: #fff;
    --sky-blue: #a8f4ff;
    --purple: #a684ff;
    --purple-light: #ae8fff;
    --red: #ff8484
}

@font-face {
    font-family: Inter;
    src: url(../fonts/Inter-Regular.woff2)format("woff2");
    font-weight: 400;
    font-style: normal;
    font-display: swap
}

@font-face {
    font-family: Inter;
    src: url(../fonts/Inter-SemiBold.woff2)format("woff2");
    font-weight: 600;
    font-style: normal;
    font-display: swap
}

@font-face {
    font-family: Inter;
    src: url(../fonts/Inter-Bold.woff2)format("woff2");
    font-weight: 700;
    font-style: normal;
    font-display: swap
}

body {
    margin: 0
}

main {
    display: block
}

a {
    color: inherit;
    background-color: #0000
}

b,
strong {
    font-weight: 700
}

pre,
code,
kbd,
samp {
    font-family: monospace;
    font-size: inherit
}

img {
    border-style: none
}

button,
input,
optgroup,
select,
textarea {
    border: none;
    margin: 0;
    font-family: inherit;
    font-size: 100%;
    line-height: 1.15
}

button,
a {
    cursor: pointer;
    color: inherit
}

textarea {
    overflow: auto
}

[type=checkbox],
[type=radio] {
    box-sizing: border-box;
    padding: 0
}

details {
    display: block
}

summary {
    display: list-item
}

p,
h1,
h2,
h3,
h4,
h5,
h6 {
    margin: 0
}

::-webkit-scrollbar {
    display: none
}

@supports (scrollbar-width:none) {
    * {
        scrollbar-width: none;
        -ms-overflow-style: -ms-autohiding-scrollbar
    }
}

:root {
    --lightningcss-light: ;
    --lightningcss-dark: initial;
    color-scheme: dark;
    font-feature-settings: "ss01" on, "ss04" on, "tnum" on;
    color: var(--white);
    background: var(--deep-gray);
    font-synthesis: none;
    text-rendering: optimizelegibility;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    -webkit-text-size-adjust: 100%;
    font-family: Inter, system-ui, -apple-system, BlinkMacSystemFont, Segoe UI, Roboto, Noto Sans, Ubuntu, Cantarell, Helvetica Neue, Avenir, Helvetica, Arial, sans-serif;
    font-weight: 400;
    line-height: 1.5;
    overflow-x: hidden
}

.icon {
    width: 1.5rem;
    height: 1.5rem
}

svg {
    overflow: visible
}

.icon-sprite {
    width: 0;
    height: 0
}

.button {
    background: var(--bg);
    color: var(--text);
    border: 1px solid var(--outline-color);
    --accent: var(--purple);
    --bg: var(--accent);
    --text: var(--white);
    --button-highlight: #ffffff15;
    --outline-color: transparent;
    border-radius: .75rem;
    flex-direction: row;
    flex-grow: 0;
    justify-content: center;
    align-self: stretch;
    align-items: center;
    padding: 1rem 1.5rem;
    transition-property: opacity;
    transition-duration: .3s;
    transition-timing-function: ease;
    display: flex;
    position: relative;
    overflow: hidden
}

@media (hover:hover) {
    .button:hover:after {
        content: "";
        background: var(--button-highlight);
        width: 100%;
        height: 100%;
        position: absolute;
        top: 0;
        left: 0
    }
}

.button[disabled] {
    opacity: .5;
    cursor: not-allowed
}

.button[data-type=secondary] {
    --bg: transparent;
    --text: var(--purple);
    text-decoration: none
}

@media (hover:hover) {
    .button[data-type=secondary]:hover {
        --button-highlight: #ffffff05
    }
}

.button[data-type=outline] {
    --outline-color: #3a4652;
    --bg: transparent
}

@media (hover:hover) {
    .button[data-type=outline]:hover {
        --button-highlight: #ffffff05
    }
}

p.caption {
    margin-top: .5rem;
    margin-bottom: .25rem
}

.card {
    box-sizing: border-box;
    background: var(--medium-gray);
    border-radius: .75rem;
    flex-direction: column;
    padding: 0 .5rem;
    display: flex;
    position: relative
}

.card[data-active]:after {
    pointer-events: none;
    content: "";
    border: 2px var(--purple)solid;
    opacity: 0;
    z-index: 0;
    box-sizing: border-box;
    border-radius: .75rem;
    width: 100%;
    height: 100%;
    transition: opacity .3s;
    position: absolute;
    top: 0;
    left: 0
}

.card[data-active=true]:after {
    opacity: 1
}

h1 {
    font-feature-settings: "tnum" on, "lnum" on, "ss01" on, "ss04" on;
    color: var(--white);
    font-size: 1.75rem;
    font-weight: 700;
    line-height: 120%
}

.text-highlight {
    color: var(--sky-blue);
    white-space: pre
}

.info-card {
    align-self: stretch;
    padding-top: 1.25rem
}

.info-card .card {
    width: 100%;
    margin-top: .75rem
}

.info-card>p {
    padding: 0 .25rem
}

.bullet-separator {
    opacity: .5
}

.calculator {
    box-sizing: border-box;
    --gap: .75rem;
    flex-direction: column;
    align-items: flex-start;
    width: 100%;
    padding: 0;
    display: flex
}

.calculator .legal {
    width: 22rem
}

.calculator .icon-tonlogo {
    width: .8em;
    height: .8em
}

.calculator>h1,
.calculator>p {
    box-sizing: border-box;
    width: 100%;
    padding: 0 .5rem
}

.calculator .table {
    box-sizing: border-box;
    width: 100%;
    padding: .5rem .25rem
}

.calculator .legal {
    box-sizing: border-box;
    width: 100%;
    padding: 0 .25rem
}

.calculator-table {
    --gap: .625rem;
    flex-direction: column;
    align-items: flex-start;
    width: 100%;
    padding: .5rem 0;
    display: flex
}

.boost-card {
    opacity: 1;
    flex-direction: column;
    width: 100%;
    max-height: 8.75rem;
    padding: .6875rem 1rem 1rem;
    transition-property: opacity, max-height, padding, margin;
    transition-duration: .3s;
    transition-timing-function: ease;
    display: flex
}

.boost-card>* {
    --gap: .5rem
}

.boost-card[data-visible=false] {
    opacity: 0;
    max-height: 0;
    margin-top: 0;
    margin-bottom: 0;
    padding-top: 0;
    padding-bottom: 0
}

.boost-card-header {
    justify-content: space-between;
    align-items: center;
    display: flex
}

.boost-card-button {
    --outline-color: #ffffff0f;
    background: #5ad2e3;
    padding: .3125rem .75rem .3125rem .5625rem
}

.boost-card-button[data-active=true] {
    background: #506273
}

.boost-card-button .icon {
    width: 1.125rem;
    height: 1.125rem;
    margin-right: .25rem
}

.boost-card a {
    font-weight: 600;
    text-decoration: underline
}

.section-bar {
    background-color: #506273;
    border-radius: .375rem;
    align-items: center;
    width: 100%;
    height: .375rem;
    display: flex;
    overflow: hidden
}

.section-bar div {
    background: var(--local-accent);
    flex-grow: 0;
    width: 0;
    height: 100%;
    transition-property: opacity, flex-grow;
    transition-duration: .3s;
    transition-timing-function: ease
}

.section-bar div:not(:last-child) {
    margin-right: .0625rem
}

.section-bar div[data-active=false] {
    opacity: 0
}

.earn-offer {
    cursor: pointer;
    width: 100%;
    padding: 0
}

.earn-offer .offer-contents {
    margin-top: 0
}

.earn-offer .section-bar {
    margin-top: .75rem
}

.offer-boost-card {
    --gap: 8px;
    border-top: .0625rem solid #000;
    padding: 1rem 1rem .75rem
}

.earn-modal {
    --gap: 1rem;
    padding: 1.5rem
}

.earn-modal .button {
    --gap: 1.5rem
}

.offer {
    --gap: .75rem;
    border-radius: .75rem;
    flex-direction: column;
    width: 100%;
    padding: 0;
    display: flex;
    overflow: hidden;
    transform: translate(0%, 0)
}

.offer>* {
    --gap: .25rem
}

.offer[data-open=true] .offer-info .icon-chevron {
    rotate: 90deg
}

.offer .offer-contents {
    will-change: opacity;
    flex-direction: column;
    display: flex;
    transform: translate(0%, 0)
}

.offer .table {
    padding: 0 .25rem
}

.offer .button {
    --gap: .75rem;
    flex-shrink: 0
}

.offer .legal {
    --gap: .75rem;
    padding-left: .25rem;
    display: block
}

.offer .offer-info {
    cursor: pointer;
    padding: 0
}

.offer .offer-info .chevron-button {
    width: .625rem;
    height: 1.25rem;
    padding-left: 0
}

.offer .offer-info .icon-chevron {
    color: var(--muted-white);
    width: 100%;
    height: 100%;
    transition: rotate .3s
}

.offer .offer-info .token-logo {
    border-radius: .375rem;
    width: 2rem;
    height: 2rem
}

.offer-table-row {
    box-sizing: border-box;
    flex-direction: row;
    align-items: center;
    width: 100%;
    display: flex
}

.offer-table-row>* {
    flex-shrink: 0;
    justify-content: flex-end;
    align-items: center;
    width: 6.5rem;
    padding: .625rem .75rem;
    display: flex
}

.offer-table-row>:first-child {
    flex-grow: 1;
    justify-content: flex-start;
    padding: .625rem
}

.offer-table-row>:first-child img {
    margin-right: .625rem
}

.offer-table-row.titles {
    padding-right: 1.375rem
}

.offer-table-row.titles>* {
    padding: .625rem .75rem 0
}

.offer-table-row.titles>:first-child {
    padding: .625rem .5rem 0 .25rem
}

@media (max-width:420px) {

    .offer-table-row .text-body,
    .offer-table-row .text {
        font-size: .81rem
    }

    .offer-table-row>* {
        width: 5.5rem
    }
}

.connect-button {
    white-space: pre;
    border-radius: 2.5rem;
    flex-direction: row;
    justify-content: center;
    justify-self: end;
    align-items: center;
    width: auto;
    height: 2.25rem;
    padding: .375em 1em .375em .625em;
    font-size: 1rem;
    font-weight: 600;
    line-height: 130%;
    display: flex
}

.connect-button .icon {
    width: 1em;
    height: 1em;
    padding: .33em
}

.cookie-popup {
    background: var(--color-cookie-bg);
    border: .0625rem solid var(--color-cookie-border);
    z-index: 1;
    --color-cookie-bg: #252c33;
    --color-cookie-border: #38424d;
    border-radius: .75rem;
    grid-template-columns: min-content auto min-content;
    gap: .75rem;
    max-width: 35.4375rem;
    margin: auto;
    padding: 1rem;
    display: grid;
    position: fixed;
    bottom: .25rem;
    left: .75rem;
    right: .75rem
}

@media (min-width:62.5rem) {
    .cookie-popup {
        bottom: 1rem
    }
}

.close-cookie {
    align-self: unset;
    background: 0 0;
    border: none;
    height: 1.5rem;
    padding: 0
}

[data-currency-prefix]:before {
    content: attr(data-currency-prefix);
    color: var(--muted-white);
    align-items: center;
    display: inline-flex
}

[data-currency-suffix]:after {
    content: attr(data-currency-suffix);
    color: var(--muted-white);
    align-items: center;
    display: inline-flex
}

.currency-input {
    white-space: pre;
    flex-shrink: 1;
    min-width: .5em;
    max-width: 100%;
    display: inline-flex;
    position: relative
}

.currency-input input {
    font-weight: inherit;
    text-overflow: ellipsis;
    background: 0 0;
    border: none;
    outline: none;
    max-width: 100%;
    height: 100%;
    padding: 0;
    line-height: 120%;
    position: absolute;
    left: 0;
    overflow: hidden
}

.currency-input .display {
    pointer-events: none;
    opacity: 0;
    max-width: 100%
}

[data-focused=true] input,
[data-focused=true] .display {
    overflow: unset;
    max-width: unset;
    outline: none;
    height: 100%;
    overflow-y: hidden
}

.faq-point {
    grid-template-columns: auto 1fr;
    grid-template-areas: "icon title" ".content";
    padding: .625rem 1rem;
    display: grid;
    overflow-y: hidden
}

.faq-point-icon {
    cursor: pointer;
    color: var(--muted-white);
    grid-area: icon;
    justify-content: center;
    align-items: center;
    height: 1.25rem;
    margin-right: .75rem;
    transition: rotate .3s;
    display: flex
}

.faq-point-icon .icon {
    width: .6rem;
    height: .875rem;
    display: block
}

.faq-point-icon .icon svg {
    object-fit: cover
}

[data-open=true] .faq-point-icon {
    rotate: 90deg
}

.faq-point-title {
    cursor: pointer;
    letter-spacing: -.015em;
    grid-area: title;
    align-items: center;
    line-height: 130%;
    display: flex
}

.faq-point-content {
    opacity: 0;
    pointer-events: none;
    grid-area: content;
    max-height: 0;
    padding: 0;
    transition-property: padding, max-height, opacity;
    transition-duration: .3s;
    transition-timing-function: linear
}

[data-open=true] .faq-point-content {
    opacity: 1;
    pointer-events: all;
    max-height: 20rem;
    padding-top: .375rem
}

.faq-point a {
    color: var(--purple);
    text-decoration: none
}

.faq-section .card {
    padding: .25rem 0
}

.header {
    box-sizing: border-box;
    z-index: 1;
    border-bottom: 1px solid #0000;
    justify-content: space-between;
    align-self: stretch;
    align-items: center;
    width: 100%;
    height: 3.5rem;
    padding: .625rem 1rem;
    transition-property: border-color, background-color;
    transition-duration: .3s;
    display: flex;
    position: fixed;
    top: 0
}

@media (min-width:55rem) {
    .header {
        background: var(--deep-gray);
        -webkit-backdrop-filter: blur(50px);
        backdrop-filter: blur(50px)
    }

    .header.scrolled {
        background-color: var(--deep-gray-alpha);
        border-color: var(--light-gray)
    }
}

@media (max-width:55rem) {
    .header {
        background-color: var(--deep-gray);
        padding-left: 1.25rem;
        position: sticky
    }

    .header.scrolled {
        background-color: var(--deep-gray-mobile);
        border-color: var(--light-gray)
    }
}

.logo {
    height: 1.5rem;
    display: block
}

.input-card {
    width: 100%;
    padding: 0;
    overflow: hidden
}

.input-card label {
    cursor: text;
    display: inline-flex
}

.input-card[data-focused=false] label {
    max-width: 100%
}

.input-card[data-focused=false] label:before,
.input-card[data-focused=false] label:after {
    color: var(--white)
}

.input-card-tab-container {
    padding: .75rem .875rem 0
}

.input-card-tab-container .tabs {
    --gap: 0rem;
    --tab-size: 13.125rem;
    border: .0625rem solid #5f7589;
    border-radius: 1.0625rem;
    width: 100%;
    max-width: 100%;
    height: 2rem;
    padding: 0
}

.input-card-tab-container .tabs-slider {
    color: var(--white);
    background: #5f7589;
    height: 2rem
}

.input-card-tab-container .tabs-buttons.fake-buttons button {
    color: var(--white);
    height: 2rem
}

.input-card-padded {
    box-sizing: border-box;
    width: 100%;
    padding: 1rem 0;
    position: relative
}

.input-card-padded>* {
    margin-left: 1rem;
    margin-right: 1rem
}

.input-card-padded h1,
.input-card-padded .max-button {
    margin-left: 0;
    margin-right: 0
}

.input-card .slider {
    height: 3.125rem
}

.input-card .input-switch {
    background: 0 0;
    padding: 0
}

.input-card .input-subtitle {
    margin-top: .375rem
}

.input-card .input-subtitle a {
    color: var(--purple)
}

.input-card-input {
    white-space: pre;
    text-overflow: ellipsis;
    align-items: center;
    max-width: 100%;
    padding: 0 1rem;
    display: flex
}

[data-focused=true] .input-card-input {
    text-overflow: unset;
    max-width: 100%;
    overflow: scroll hidden
}

[data-focused=true] .input-card-input .currency-format {
    color: var(--muted-white)
}

[data-focused=true] .input-card-input .currency-input {
    overflow: unset
}

.input-card-input .icon {
    color: var(--muted-white);
    margin-right: .1em
}

.stake-display {
    margin-left: 1rem;
    margin-right: 1rem
}

.input-card-action {
    margin-bottom: .375rem
}

.max-button {
    text-align: right;
    letter-spacing: -.015em;
    color: var(--sky-blue);
    background: 0 0;
    justify-content: center;
    align-items: center;
    padding: 0;
    font-size: .9375rem;
    font-weight: 600;
    line-height: 1.1875rem;
    display: flex;
    position: absolute;
    top: 1rem;
    right: 1rem
}

.onboarding {
    flex-direction: column;
    display: flex
}

.onboarding-buttons {
    flex-direction: column;
    padding: 1rem 1.75rem 1.75rem;
    display: flex
}

.onboarding-point {
    align-items: center;
    display: flex
}

.onboarding-point .icon {
    color: var(--purple);
    width: 2.25rem;
    height: 2.25rem;
    margin-right: .75rem
}

.onboarding-points {
    --gap: 1.75rem;
    flex-direction: column;
    align-items: flex-start;
    padding: 1rem 1.5rem 2.25rem;
    display: flex
}

.onboarding h1 {
    padding: 1.5rem 1.5rem 1rem
}

.onboarding-earn h1 {
    text-align: center
}

.overview-points {
    justify-content: center;
    align-items: center;
    display: flex
}

.overview-point {
    box-sizing: border-box;
    text-align: center;
    white-space: pre;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    width: 33%;
    padding: 1rem 0;
    display: flex
}

.overview-point .icon {
    color: var(--sky-blue);
    flex-shrink: 0;
    width: 2.25rem;
    height: 2.25rem;
    margin-bottom: .375rem
}

.promocard {
    background-color: var(--card-background);
    box-sizing: border-box;
    border-radius: .75rem;
    flex-direction: column;
    align-items: flex-start;
    width: 100%;
    padding: .75rem 1rem;
    display: flex;
    position: relative
}

.promocard>* {
    --gap: 2px
}

.promocard:before {
    pointer-events: none;
    content: "";
    box-sizing: border-box;
    opacity: .4;
    border: 1px solid #fff;
    border-radius: .75rem;
    width: 100%;
    height: 100%;
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    -webkit-mask-image: linear-gradient(#ffffff47 0%, #ffffff0a 100%);
    mask-image: linear-gradient(#ffffff47 0%, #ffffff0a 100%)
}

.promocard[data-variant=cyan] {
    --card-background: #304552;
    --card-accent: var(--sky-blue);
    --card-gradient-start: var(--sky-blue);
    --card-gradient-end: var(--sky-blue)
}

.promocard[data-variant=purple] {
    --card-background: #403952;
    --card-accent: var(--purple);
    --card-gradient-start: var(--purple);
    --card-gradient-end: var(--purple)
}

.promocard[data-variant=yellow] {
    --card-background: #474021;
    --card-accent: #feda47;
    --card-gradient-start: #fed42b;
    --card-gradient-end: #ff9211;
    background-image: url(../yellow-shards.svg);
    background-position: 103% -4%;
    background-repeat: no-repeat;
    background-size: 112px 60px
}

.promocard[data-variant=yellow] p {
    padding-right: 1.5rem
}

.promocard .text-highlight,
.promocard a {
    color: var(--card-accent)
}

.promocard .button {
    --accent: var(--card-accent);
    --text: var(--accent);
    margin-top: 1rem
}

.promocard .button[data-type=primary] {
    --text: var(--deep-gray)
}

.promocard .button[data-type=outline] {
    --outline-color: #fff2
}

.promocard .button[disabled] {
    opacity: .6;
    cursor: not-allowed
}

.promocard .text-gradient {
    background-image: linear-gradient(9deg, var(--card-gradient-start)0%, var(--card-gradient-end)100%);
    color: #0000;
    -webkit-background-clip: text;
    background-clip: text
}

.protocol-details {
    display: flex
}

.protocol-details-point {
    box-sizing: border-box;
    text-align: center;
    flex-direction: column;
    flex-shrink: 0;
    justify-content: flex-start;
    align-items: center;
    width: 33%;
    padding: 1.25em 1em;
    display: flex
}

@media (max-width:359px) {
    .protocol-details-point {
        padding: 1em .8em
    }
}

.reward-card {
    align-self: stretch;
    align-items: center;
    display: flex
}

.reward-card>.icon {
    color: var(--sky-blue)
}

.reward-card-description {
    flex-direction: column;
    display: flex
}

.reward-card-description>* {
    --gap: .25rem
}

.plaque {
    background: var(--modal-header);
    --gap: .75rem;
    border-radius: .75rem;
    padding: .675rem .875rem;
    transition-property: padding, margin-top, max-height;
    transition-duration: .3s;
    transition-timing-function: ease
}

.plaque[data-shown=false] {
    max-height: 0;
    margin-top: 0;
    padding-top: 0;
    padding-bottom: 0;
    overflow: hidden
}

.security-card {
    align-items: center;
    padding: 1.25rem .75rem;
    display: flex
}

.security-card .icon {
    color: var(--sky-blue);
    width: 2.25rem;
    height: 2.25rem;
    margin-right: .75rem
}

.security-title {
    align-items: center;
    padding-bottom: .125rem;
    display: flex
}

.badge {
    color: var(--deep-gray);
    background-color: var(--sky-blue);
    border-radius: .25rem;
    margin-left: .5rem;
    padding: .125rem .375rem
}

.stake-modal-header {
    background: var(--modal-header);
    --gap: .5rem;
    border-radius: 1rem 1rem 0 0;
    padding: 1.5rem
}

.stake-modal-header .currency-format {
    color: var(--muted-white)
}

.stake-modal-content {
    --gap: .625rem;
    padding: 1.25rem 1.5rem 1rem
}

.stake-modal-confirm {
    flex-direction: column;
    padding: 1rem;
    display: flex
}

.stake-modal-result-header {
    --gap: 1.1875rem;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    padding: 2.75rem 2.75rem 1.75rem;
    display: flex
}

.stake-modal-result-header .description {
    text-align: center
}

.stake-modal-result-icon {
    color: var(--modal-gray);
    border-radius: 100%;
    width: 4rem;
    height: 4rem
}

[data-success=true] .stake-modal-result-icon {
    background: var(--sky-blue)
}

[data-success=false] .stake-modal-result-icon {
    background: var(--red)
}

.stake-modal-result-icon .icon {
    width: 100%;
    height: 100%;
    display: block
}

.stake-modal-result-buttons {
    --gap: .5rem;
    flex-direction: column;
    align-items: stretch;
    padding: .5rem 1rem 1rem;
    display: flex
}

.stake-modal-rate-select {
    background: var(--modal-gray);
    --gap: .25rem;
    border-radius: .75rem;
    align-items: center;
    padding: .25rem;
    display: flex
}

.stake-modal-rate-select:not(.button) {
    margin-top: 1rem
}

.stake-modal-rate {
    text-align: left;
    background: 0 0;
    border: .0625rem solid #0000;
    border-radius: .5rem;
    flex-direction: column;
    align-items: flex-start;
    width: 50%;
    height: 4.5625rem;
    padding: .5rem .75rem;
    display: flex
}

@media (hover:hover) {
    .stake-modal-rate:hover {
        background: #313c47;
        border-color: #272f37
    }
}

.stake-modal-rate:after {
    display: none
}

.stake-modal-rate[data-selected=true] {
    background: var(--medium-gray);
    border-color: #272f37
}

@media (hover:hover) {
    .stake-modal-rate[data-selected=true]:hover {
        background: var(--medium-gray)
    }
}

.stake-modal-rate .unstake-type {
    color: var(--purple)
}

.explorer-link {
    color: var(--purple);
    text-decoration: none
}

.stake-nft-card {
    background: var(--modal-header);
    --gap: .75rem;
    border-radius: .75rem;
    align-items: flex-start;
    margin: .5rem 1rem;
    padding: .625rem .875rem;
    display: flex
}

.stake-nft-card .icon {
    color: var(--sky-blue);
    padding: .25rem 0
}

.stake-success-header {
    --gap: 1rem;
    border-bottom: .0625rem solid #455361;
    justify-content: flex-start;
    align-items: center;
    padding: 1rem 1.25rem;
    display: flex
}

.stake-success-header .stake-modal-result-icon {
    flex-shrink: 0;
    width: 2.75rem;
    height: 2.75rem
}

.stake-success-content {
    flex-direction: column;
    padding: 1.25rem 1.5rem;
    display: flex
}

.stake-success-content img {
    width: 2.75rem;
    height: 2.75rem
}

.stake-success-caption {
    --gap: 1rem;
    margin-bottom: .25rem
}

.stake-success-offer {
    cursor: pointer;
    --gap: 1rem;
    flex-direction: row;
    justify-content: space-between;
    align-items: flex-start;
    padding: .875rem;
    display: flex
}

.stake-success-offer>div {
    --gap: .25rem
}

.stake-success-offer .stonks {
    color: #84ffa3
}

.stake-success .stake-modal-result-buttons {
    padding-left: 1.5rem;
    padding-right: 1.5rem
}

a.screaming-link {
    padding: var(--padding);
    --padding: 4px;
    text-decoration: none;
    position: relative
}

a.screaming-link:before {
    content: "";
    border-radius: var(--padding);
    background: var(--purple);
    opacity: .15;
    width: 100%;
    height: 100%;
    display: block;
    position: absolute;
    top: 0;
    left: 0
}

a.screaming-link:hover:before {
    opacity: .2
}

.tab-panel {
    justify-content: space-between;
    align-items: center;
    width: 28rem;
    max-width: 100%;
    display: flex
}

@media (min-width:55rem) {
    .tab-panel {
        z-index: 3;
        height: 3.5rem;
        position: fixed;
        top: 0
    }
}

@media (max-width:55rem) {
    .tab-panel {
        z-index: unset;
        width: 100%;
        padding-top: 1rem;
        position: relative
    }

    .tab-panel .overlay,
    .tab-panel .select-items {
        z-index: 2
    }
}

.balance-modal-description {
    --gap: 1rem;
    flex-direction: column;
    justify-content: center;
    align-items: flex-start;
    padding: 1.5rem;
    display: flex
}

.balance-modal-buttons {
    flex-direction: column;
    padding: 0 1rem 1rem;
    display: flex
}

a.help-button {
    place-content: center;
    text-decoration: none;
    display: inline-flex;
    position: relative
}

a.help-button:not(.m) {
    color: inherit
}

a.help-button:before {
    position: absolute;
    left: -4rem;
    right: -.5em
}

a.help-button svg {
    width: 1.125rem;
    height: 1.125rem;
    display: inline-block
}

.farming-token {
    --gap: .75rem;
    flex-direction: column;
    padding: 0;
    display: flex;
    overflow: hidden;
    transform: translate(0%, 0)
}

.farming-token>* {
    --gap: .25rem
}

.farming-token[data-open=true] .farming-token-info .icon-chevron {
    rotate: 90deg
}

.farming-token .token-contents {
    will-change: opacity;
    flex-direction: column;
    display: flex;
    transform: translate(0%, 0)
}

.farming-token .table {
    padding: 0 .25rem
}

.farming-token .button {
    --gap: .75rem;
    flex-shrink: 0
}

.farming-token .legal {
    --gap: .75rem;
    padding-left: .25rem;
    display: block
}

.farming-token .farming-token-info {
    cursor: pointer;
    padding: 0
}

.farming-token .farming-token-info .chevron-button {
    width: .625rem;
    height: 1.25rem;
    padding-left: 0
}

.farming-token .farming-token-info .icon-chevron {
    color: var(--muted-white);
    width: 100%;
    height: 100%;
    transition: rotate .3s
}

.farming-token .farming-token-info .token-logo {
    border-radius: .375rem;
    width: 2rem;
    height: 2rem
}

.farming-nft {
    max-height: 20rem;
    transition-property: max-height, padding;
    transition-duration: .3s;
    transition-timing-function: ease
}

.farming-nft.farming-card {
    padding: 1rem
}

.farming-nft[data-visible=false] {
    opacity: 0;
    max-height: 0;
    padding-top: 0;
    padding-bottom: 0
}

.farming-nft[data-visible=false]+*,
.farming-nft[data-visible=false]:last-child {
    --gap: 0
}

.farming-nft-buttons {
    grid-template-columns: repeat(2, 1fr);
    gap: .5rem;
    margin-top: 1rem;
    display: grid
}

.farming-input {
    background: var(--medium-gray);
    border-radius: .75rem;
    flex-direction: column;
    align-items: flex-start;
    padding: 1rem;
    display: flex;
    position: relative
}

.farming-input .max-button {
    top: 1rem;
    right: 1rem
}

.farming-input .stake-input {
    padding: 0
}

.farming-input[data-focused=false] label {
    max-width: 100%
}

.farming-input[data-focused=false] label:before,
.farming-input[data-focused=false] label:after {
    color: var(--white)
}

.farming-card {
    background: var(--medium-gray);
    border-radius: .75rem;
    padding: .5rem 1rem
}

.farming-card .button[data-type=outline] {
    --outline-color: #ffffff14;
    --bg: #4e6070
}

.please-buy a {
    color: var(--purple)
}

.please-buy-card {
    text-align: center;
    padding: 1rem 1.5rem
}

.please-buy-button.button {
    margin-top: 4px
}

.stake-modal-confirm.farming-modal {
    margin-top: 2rem
}

.modal-container {
    z-index: 10;
    pointer-events: none;
    background: 0 0;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    width: 100%;
    height: 100%;
    transition: background .3s;
    display: flex;
    position: fixed
}

.modal-container[data-open=true] {
    pointer-events: all;
    background: #0009
}

.modal-close {
    background-color: var(--modal-close);
    border-radius: 2rem;
    justify-content: center;
    align-items: center;
    width: 2.25rem;
    height: 2.25rem;
    padding: 0;
    display: flex;
    position: absolute;
    left: calc(100% + 1rem)
}

.modal-close .icon {
    color: var(--muted-white);
    width: 1.5rem;
    height: 1.5rem;
    display: block
}

[data-open=false] .modal-close {
    display: none
}

@media (max-width:55rem) {
    .modal-close {
        display: none
    }
}

.modal-card {
    background-color: var(--modal-gray);
    box-sizing: border-box;
    touch-action: none;
    pointer-events: all;
    border-radius: 1rem;
    flex-direction: column;
    width: 31.25rem;
    display: flex;
    position: absolute
}

.modal-card[data-mobile=true] {
    border-radius: 1rem 1rem 0 0;
    width: 100%;
    position: fixed;
    left: 0
}

.modal-card[data-mobile=true]:after {
    background-color: var(--modal-gray);
    content: "";
    width: 100%;
    height: 100vh;
    position: absolute;
    top: 100%;
    left: 0
}

.modal-card[data-mobile=false] {
    transition: all .3s;
    transition-property: scale opacity;
    opacity: 1;
    scale: 96%
}

.overlay+.modal-card[data-mobile=false] {
    scale: 100%
}

.modal-card[data-mobile=false][data-open=false] {
    opacity: 0;
    scale: 96%
}

.overlay {
    pointer-events: none;
    background: 0 0;
    width: 100vw;
    height: 100vh;
    transition: background .3s;
    display: block;
    position: fixed;
    top: 0;
    left: 0
}

.overlay[data-open=true] {
    pointer-events: all;
    background: #00000080
}

.select {
    justify-content: flex-end;
    display: flex;
    position: relative
}

.select-button {
    background: var(--medium-gray);
    border-radius: 1rem;
    justify-content: space-between;
    align-items: center;
    width: 4rem;
    height: 2rem;
    padding: .25rem .625rem .25rem .75rem;
    display: flex
}

.select-button .icon-chevron {
    color: var(--muted-white);
    width: .5rem;
    height: .5rem;
    margin-left: .2rem;
    rotate: 90deg
}

.select-items {
    background: var(--medium-gray);
    opacity: 1;
    border-radius: .625rem;
    flex-direction: column;
    width: 10rem;
    max-width: 15rem;
    max-height: 7.5rem;
    padding: .25rem 0;
    transition-property: border-radius, opacity;
    transition-duration: .3s;
    transition-timing-function: ease-in-out;
    display: flex;
    position: absolute;
    overflow: hidden
}

[data-open=false]>.select-items {
    opacity: 0;
    pointer-events: none;
    border-radius: 1rem
}

.select-item {
    background-color: #0000;
    justify-content: space-between;
    align-items: center;
    min-width: max-content;
    padding: .5rem 1rem;
    display: flex
}

.select-item:hover {
    background-color: #0001
}

.select .tick {
    background-color: var(--purple);
    border-radius: 1.25rem;
    justify-content: center;
    align-items: center;
    width: 1.375rem;
    height: 1.375rem;
    transition: scale .3s;
    display: flex;
    scale: 0
}

.select .tick[data-visible=true] {
    scale: 1
}

.select .tick .icon {
    width: 1.3rem;
    height: 1.3rem;
    display: block
}

.table-row {
    opacity: 1;
    justify-content: space-between;
    align-items: center;
    max-height: 1.25rem;
    transition-property: margin, max-height, opacity;
    transition-duration: .3s;
    transition-timing-function: linear;
    display: flex;
    overflow: visible
}

.table-row[data-visible=false] {
    opacity: 0;
    max-height: 0
}

.table-row[data-visible=false]+*,
.table-row[data-visible=false]:last-child {
    margin-top: 0
}

.table-row [data-side=right] .loader {
    justify-content: flex-end
}

.table {
    box-sizing: border-box;
    flex-direction: column;
    width: 100%;
    display: flex
}

.table>* {
    --gap: .625rem
}

.table a {
    color: var(--card-accent, var(--purple))
}

.tabs {
    padding: var(--gap);
    background: var(--medium-gray);
    max-width: calc(var(--entry-count)*var(--tab-full-size));
    --gap: .125rem;
    --tab-size: 5rem;
    --tab-full-size: calc(var(--tab-size) + var(--gap));
    border-radius: 2.75rem;
    align-items: center;
    transition: max-width .5s;
    display: flex;
    position: relative;
    overflow: hidden
}

.tabs-slider {
    width: var(--tab-size);
    background-color: var(--white);
    transform: translateX(var(--gap));
    border-radius: 2.75rem;
    height: 1.75rem;
    position: absolute;
    overflow: hidden
}

.tabs-buttons {
    flex-direction: row;
    display: flex;
    position: relative
}

.tabs-buttons.fake-buttons {
    box-sizing: border-box;
    position: absolute;
    top: 0
}

.tabs-buttons.fake-buttons button {
    color: #000;
    flex-shrink: 0
}

.tabs-buttons.fake-buttons button [data-earn]:after {
    color: #000
}

.tabs-buttons button {
    width: var(--tab-size);
    color: var(--white);
    text-align: center;
    margin-left: var(--gap);
    background: 0 0;
    border-radius: 2.5rem;
    justify-content: center;
    align-items: center;
    height: 1.75rem;
    display: flex
}

.tabs-buttons button:first-child {
    margin-left: 0
}

.text {
    white-space: pre-wrap;
    transition: color .5s
}

.text-muted {
    color: var(--muted-white)
}

.text-normal {
    font-weight: 400
}

.text-semibold {
    font-weight: 600
}

.text-bold {
    font-weight: 700
}

.text-h3 {
    font-size: 1.125rem;
    line-height: 130%
}

.text-h4 {
    font-size: 1.0625rem;
    line-height: 130%
}

.text-subtitle {
    font-size: .875rem;
    line-height: 130%
}

.text-caption {
    font-size: .8125rem;
    line-height: 150%
}

.text-body {
    font-size: .9375rem;
    line-height: 130%
}

.slider {
    touch-action: none;
    --thumb-size: 2.5rem;
    width: 100%;
    position: relative
}

.slider input {
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    cursor: pointer;
    padding-left: calc(var(--thumb-size)*.5);
    box-sizing: border-box;
    background: 0 0;
    background: var(--ultralight-gray);
    width: 100%;
    height: 100%
}

.slider-progress {
    background: var(--sky-blue);
    pointer-events: none;
    align-items: center;
    height: 100%;
    display: flex;
    position: absolute;
    top: 0;
    left: 0
}

.slider-thumb {
    right: calc(var(--thumb-size)/2 - .5rem);
    position: absolute;
    transform: translate(50%)
}

.slider-thumb:before,
.slider-thumb:after,
.slider-thumb {
    content: "";
    background-color: #74bec9;
    border-radius: 1rem;
    width: 2px;
    height: 1rem;
    display: block;
    position: absolute
}

.slider-thumb:before,
.slider-thumb:after {
    top: 0
}

.slider-thumb:before {
    opacity: .32;
    right: 1rem
}

.slider-thumb:after {
    opacity: .72;
    right: .5rem
}

.slider ::-moz-range-thumb {
    opacity: 0
}

.slider ::-webkit-slider-thumb {
    opacity: 0
}

.slider ::-webkit-slider-thumb {
    opacity: 0
}

a.button {
    text-decoration: none
}

.loader {
    border-radius: .25rem;
    justify-content: flex-start;
    align-items: center;
    width: max-content;
    height: max-content;
    transition: max-width .3s;
    display: inline-flex;
    position: relative
}

.loader>* {
    white-space: pre
}

.loader * {
    flex-shrink: 0
}

.loader[data-active=true] {
    background: #fff1;
    overflow: hidden
}

.loader[data-active=true]>* {
    filter: blur(8px);
    will-change: filter;
    border-radius: .25rem;
    animation: 1s linear infinite move-gradient;
    display: inline-block;
    -webkit-mask-image: repeating-linear-gradient(90deg, #fff4 0% 5%, #fff8 45% 55%, #fff4 95% 100%);
    mask-image: repeating-linear-gradient(90deg, #fff4 0% 5%, #fff8 45% 55%, #fff4 95% 100%);
    -webkit-mask-size: 4rem 100%;
    mask-size: 4rem 100%
}

@keyframes move-gradient {
    0% {
        -webkit-mask-position: 0;
        mask-position: 0
    }

    to {
        -webkit-mask-position: 4rem;
        mask-position: 4rem
    }
}

.spinner {
    width: 2em;
    height: 2em
}

.spinner-arc {
    fill: none;
    stroke: var(--muted-white);
    stroke-linecap: round;
    stroke-width: 4px;
    transform-origin: 50%;
    animation: 1s linear infinite spin
}

@keyframes spin {
    0% {
        transform: rotate(0)
    }

    to {
        transform: rotate(360deg)
    }
}

.point-list {
    flex-direction: column;
    justify-content: center;
    align-items: flex-start;
    display: flex
}

.point-list-marker {
    background: var(--local-accent);
    border-radius: .5rem;
    width: .5rem;
    height: .5rem;
    margin-right: .375rem;
    transition: background .3s
}

.point-list-marker[data-active=false] {
    background: #506273
}

.point-list-point {
    --gap: .25rem;
    justify-content: flex-start;
    align-items: center;
    display: flex
}

.account-section .info-card-title {
    color: var(--muted-white)
}

.account-section .card {
    padding: 1rem .75rem
}

.logout-button {
    flex-direction: column;
    width: 100%;
    padding: 1rem 0;
    display: flex
}

.rewards {
    grid-template-columns: 1fr 1fr;
    padding: .75rem 1rem;
    display: grid
}

.rewards-section .card {
    padding: 0
}

.stake-more-button {
    border-top: 1px solid #455361;
    border-top-left-radius: 0;
    border-top-right-radius: 0
}

main {
    box-sizing: border-box;
    --gap: .75rem;
    flex-direction: column;
    width: 28rem;
    padding-bottom: 1.3125rem;
    display: flex
}

@media (min-width:55rem) {
    main {
        padding-top: 3.5rem
    }
}

@media (max-width:55rem) {
    main {
        width: 100%;
        max-width: 100%;
        padding: 0 1rem 1.375rem
    }
}

main>p {
    padding: 0 .25rem
}

.farm-card .farm-name {
    white-space: pre;
    align-items: baseline;
    display: flex
}

.farm-card img {
    border-radius: .2em;
    width: 1em;
    height: 1em
}

.farm-card .nft-data {
    --gap: .625rem;
    border-top: .0625rem solid #fff2;
    border-bottom: .0625rem solid #fff2;
    flex-direction: column;
    width: 100%;
    padding: 1rem 0;
    display: flex
}

.farm-card .nft-data .raw-data {
    white-space: pre-wrap;
    width: 100%
}

.farm-card .nft-buttons {
    --gap: .625rem;
    width: 100%;
    display: flex
}

.farm-card .nft-buttons>.button {
    width: 50%;
    margin-top: 0
}

.farm-card.promocard>* {
    --gap: .8rem
}

.farm-card h1 {
    justify-content: space-between;
    width: 100%;
    display: flex
}

.farm-card .stake-input {
    box-sizing: border-box;
    background: #0001;
    border-radius: .2em;
    width: 100%;
    padding: .2em;
    overflow: hidden
}

.farming-table-row {
    align-items: center;
    display: flex
}

.farming-table-row>* {
    justify-content: flex-end;
    align-items: center;
    width: 6rem;
    padding: .625rem .75rem;
    display: flex
}

.farming-table-row>:first-child {
    flex-grow: 1;
    justify-content: flex-start;
    padding: .625rem
}

.farming-table-row>:first-child img {
    margin-right: .625rem
}

.farming-table-row.titles {
    --gap: 0;
    padding-right: 1.375rem
}

.farming-table-row.titles>* {
    padding: .625rem .75rem 0
}

.farming-table-row.titles>:first-child {
    padding: .625rem .5rem 0 .25rem
}

.farm-portfolio-heading {
    --gap: 1.25rem
}

.farm-farms-heading {
    --gap: 2rem
}

.farming-header+.farm-farms-heading {
    --gap: 1.25rem
}

.farming-header {
    padding: 0 .25rem
}

.farming-portfolio-spinner {
    justify-content: center;
    align-items: center;
    animation: .3s forwards addloader;
    display: flex
}

@keyframes addloader {
    0% {
        height: 0
    }

    to {
        height: 7.22188rem
    }
}

.farm-portfolio-heading,
.farming-portfolio-titles,
.farming-portfolio-token {
    animation: .3s forwards portfoliofadein
}

@keyframes portfoliofadein {
    0% {
        opacity: 0
    }

    to {
        opacity: 1
    }
}

body {
    min-height: 100vh;
    min-height: 100svh;
    max-height: 100vh;
    height: 100vh;
    max-height: 100dvh
}

#app {
    flex-direction: column;
    align-items: center;
    width: 100%;
    display: flex
}

.gap-vertical>* {
    margin-top: var(--gap, 0)
}

.gap-vertical>:first-child {
    margin-top: 0
}

.gap-horizontal>* {
    margin-left: var(--gap, 0)
}

.gap-horizontal>:first-child {
    margin-left: 0
}

.error {
    color: var(--red)
}

@media (max-width:24rem) {
    :root {
        font-size: .9em
    }
}

@media (max-width:23rem) {
    :root {
        font-size: .8em
    }
}

.conditional-line {
    transition: opacity .5s, max-height .5s, margin .5s;
    overflow: visible
}

.conditional-line[data-visible=true] {
    opacity: 1;
    max-height: 2rem
}

.conditional-line[data-visible=false] {
    opacity: 0;
    max-height: 0;
    margin-top: 0;
    margin-bottom: 0
}

* {
    font-feature-settings: "ss01" on, "ss04" on, "tnum" on;
    scroll-behavior: smooth
}

img {
    transition: opacity .3s
}

img[src=""] {
    opacity: 0
}

[data-color=purple] {
    --local-accent: var(--purple)
}

[data-color=cyan] {
    --local-accent: var(--sky-blue)
}

[data-color=blue] {
    --local-accent: #68a7ff
}

[data-color=green] {
    --local-accent: #84ffa3
}

[data-earn]:after {
    content: "+";
    color: var(--sky-blue);
    text-decoration: none;
    display: inline-block;
    transform: skew(-10deg)translateY(-30%)
}