body *,
body {
    transition: background-color var(--transition), border-color var(--transition);
}

html {
    min-width: 1250px;
    position: relative;
    font-family:
        -apple-system,
        BlinkMacSystemFont,
        "Segoe UI",
        Roboto,
        Oxygen,
        Ubuntu,
        Cantarell,
        "Open Sans",
        "Helvetica Neue",
        sans-serif;
    scrollbar-width: none;
}

img {
    image-rendering: pixelated;
}

.scrollbar,
.scrollbarX {
    overflow-y: auto;
    scrollbar-width: thin;
}

.scrollbarX {
    overflow-x: auto;
}

.scrollbar::-webkit-scrollbar,
.scrollbarX::-webkit-scrollbar {
    width: 10px;
    height: 10px;
}

body::-webkit-scrollbar:horizontal {
    display: none;
}

.scrollbar::-webkit-scrollbar-thumb,
.scrollbarX::-webkit-scrollbar-thumb {
    background-color: var(--scrollbar-color);
    border-radius: 5px;
}

.scrollbar::-webkit-scrollbar-track,
.scrollbarX::-webkit-scrollbar-track {
    background-color: var(--scrollbar-bg-color);
}

body {
    margin: 0;
    box-sizing: border-box;

    /* Custom colors that are used for themes */
    --text-color: white;
    --darkorchid-text-color: darkorchid;
    --orchid-text-color: orchid;
    --violet-text-color: violet;
    --darkcyan-text-color: darkcyan;
    --red-text-color: red;
    --maroon-text-color: maroon;
    --orangered-text-color: orangered;
    --crimson-text-color: crimson;
    --gray-text-color: gray;
    --green-text-color: green;
    --lime-text-color: lime;
    --lightseagreen-text-color: lightseagreen;
    --amber-text-color: #ffbf00;
    --lightgoldenrodyellow-text-color: lightgoldenrodyellow;
    --header-color: var(--bg-color);
    --bg-color: #111;
    --alert-color: #141414;
    --history-lines: #262626;
    --boxmain-bordercolor: plum;
    --box-color: #111;
    --blueberry-box-color: #4f86f7;
    --button-color: #171717;
    --blackbtn-color: black;
    --purplebtn-color: purple;
    --purplehover-color: #b300b2;
    --hover-color: #333;
    --buttonbuy-color: #171717;
    --buildings-canbuy-color: #555;
    --buildings-hover-color: #666;
    --blessings-canbuy-color: #222;
    --blessings-hover-color: #444;
    --darkgold-color: #b59410;
    --tab-color: #171717;
    --singtab-color: black;
    --buttonimg-color: black;
    --hoversing-color: #252525;
    --shoptab-color: purple;
    --hovershop-color: #b300b2;
    --hepteract-bar-empty: #555;
    --hepteract-bar-red: red;
    --hepteract-bar-yellow: #cca300;
    --hepteract-bar-green: green;
    --scrollbar-color: #444;
    --scrollbar-bg-color: #111;
    --transition: 0;
    --transition-extra: 0.15s;
}

body.loading {
    overflow: hidden;
}

.bodycolor {
    color: var(--text-color);
    background-color: var(--bg-color);
}

.textOutline:not(button, #importFileButton) {
    text-shadow: -1px 0 #67647a, 0 1px #67647a, 1px 0 #67647a, 0 -1px #67647a;
}

.mainText { color: var(--text-color); }
.greenText { color: var(--green-text-color); }
.limeText { color: var(--lime-text-color); }
.lightseagreenText { color: var(--lightseagreen-text-color); }
.crimsonText { color: var(--crimson-text-color); }
.redText { color: var(--red-text-color); }
.grayText { color: var(--gray-text-color); }
.orangeredText { color: var(--orangered-text-color); }
.orchidText { color: var(--orchid-text-color); }
.darkorchidText { color: var(--darkorchid-text-color); }
.darkcyanText { color: var(--darkcyan-text-color); }
.amberText { color: var(--amber-text-color); }
.lightyellowText { color: var(--lightgoldenrodyellow-text-color); }

html[data-legacyicons="false"] {
    --wowcube-color: #fd0;
    --tesseract-color: orange;
    --hypercube-color: #ff004c;
    --platonic-color: orchid;
    --hepteract-color: mediumpurple;
}

html[data-legacyicons="true"] {
    --wowcube-color: #fff200;
    --tesseract-color: #a349a4;
    --hypercube-color: #ed1c24;
    --platonic-color: lightgoldenrodyellow;
    --hepteract-color: #ffc1d6;
}

.wowcubeText { color: var(--wowcube-color); }
.wowtesseractText { color: var(--tesseract-color); }
.wowhypercubeText { color: var(--hypercube-color); }
.wowplatonicText { color: var(--platonic-color); }
.wowhepteractText { color: var(--hepteract-color); }

.active-subtab {
    background-color: crimson;
}

#corrStatsBtn.active-subtab,
#corrLoadoutsBtn.active-subtab {
    background-color: dodgerblue;
}

.boxColor {
    border: 3px solid;
    border-color: var(--boxmain-bordercolor);
    background-color: var(--box-color);
}

.blueberryBoxColor {
    border: 3px solid;
    border-color: var(--blueberry-box-color);
    background-color: var(--box-color);
}

a {
    color: white;
    text-decoration: none;
}

a:hover {
    text-decoration: underline;
}

a:visited {
    color: white;
}

label {
    display: block;
}

input,
button,
select,
textarea {
    font-size: 0.75em;
    padding: 0;
    margin: 0;
    box-sizing: border-box;
    border: 0 solid #ccc;
}

input:disabled {
    color: gray;
}

input {
    min-height: 20px;
    color: white;
    padding: 0 0 0 0.2em;
    background-color: var(--blackbtn-color);
}

input[type="checkbox"] {
    min-height: auto;
}

button {
    min-height: 30px;
    color: white;
    transition: background-color var(--transition-extra), border-color var(--transition-extra);
    cursor: pointer;
    background-color: var(--button-color);
}

body button:hover:not(:disabled):not(.disable-hover-color),
body button:active:not(:disabled):not(.disable-hover-color) {
    background-color: var(--hover-color);
}

.flex {
    display: flex;
}

.flex.row {
    flex-flow: row;
}

.flex.column {
    flex-flow: column;
}

.flex.center {
    justify-content: center;
}

.vAlign {
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.hCenter {
    margin-left: auto;
    margin-right: auto;
}

.hCenter.tight {
    margin-top: 0;
    margin-bottom: 0;
}

@keyframes slide-in {
    from {
        transform: translate(-100%, 10%);
    }

    to {
        transform: translate(5%, 10%);
    }
}

@keyframes slide-out {
    to {
        transform: translate(-100%, 10%);
    }
}

#transparentBG {
    display: none;
    position: fixed;
    top: 0;
    left: 0;
    width: max(100vw, 100%);
    height: max(100vh, 100%);
    background-color: rgb(0 0 0 / 50%);
    z-index: 6968;
}

#notification {
    position: fixed;
    display: none;
    transform: translateY(10%);
    z-index: 6969;
    width: 15%;
    min-width: calc(140px + 10em);
    min-height: calc(40px + 5em);
    overflow: hidden;
    border: 1px solid gold;
    border-radius: 5px;
    box-sizing: border-box;
    font-size: min(1em, 24px);
    color: white;
    background-color: var(--alert-color);
}

#modal {
    position: fixed;
    display: none;
    z-index: 6969;
    width: 33%;
    overflow: hidden;
    border: 2px solid gold;
    border-radius: 5px;
    box-sizing: border-box;
    font-size: min(1em, 24px);
    color: white;
    background-color: var(--alert-color);
}

#modalContent {
    width: 100%;
    padding: 15px;
    box-sizing: border-box;
    justify-content: center;
    align-items: center;
}

.slide-in {
    animation: slide-in 1000ms;
    animation-fill-mode: forwards;
}

.slide-out {
    animation: slide-out 1000ms;
    animation-fill-mode: forwards;
}

#notification > p {
    position: fixed;
    top: 50%;
    left: 50%;
    width: 90%;
    transform: translate(-50%, -50%);
    margin: 0;
    text-align: center;
    white-space: pre-line;
}

#notifx {
    position: fixed;
    top: 2px;
    right: 2px;
    padding: 3px;
    border-radius: 2px;
    font-size: 0;
    z-index: 1;
    color: white;
    transition: background-color var(--transition-extra), border-color var(--transition-extra);
    cursor: pointer;
    background-color: var(--button-color);
}

#notifx:hover {
    background-color: var(--hover-color);
}

#confirmationBox,
#captchaHolder {
    display: none;
    position: fixed;
    top: 50vh;
    left: 50vw;
    transform: translate(-50%, -50%);
    z-index: 10000000;
    width: 30vw;
    height: 30vh;
    min-width: min(min(30em, 800px), 100vw);
    min-height: min(min(20em, 600px), 100vh);
    max-width: 100vw;
    max-height: 100vh;
    color: white;
    background-color: var(--alert-color);
    border: 1px solid gold;
    border-radius: 5px;
    box-sizing: border-box;
    font-size: min(1em, 24px);
    padding: 15px;
}

#confirmWrapper,
#alertWrapper,
#promptWrapper {
    height: 100%;
    display: none;
}

#confirm > p,
#alert > p,
#prompt > label {
    grid-area: txt;
    text-align: center;
    white-space: pre-line;
    margin: 0;
}

/* Elements relating to the browser popup functions (Alert, Confirm, etc) */

#ok_confirm,
#ok_alert,
#ok_prompt {
    grid-area: btn;
}

#cancel_confirm,
#cancel_prompt {
    grid-area: btn2;
}

#prompt_text {
    background-color: #171717;
    border: 1px solid gold;
    border-radius: 5px;
    font-size: 1em;
    grid-area: lbl;
    margin: 0 -20%;
    padding: 0 2px;
}

#confirm > button,
#alert > button,
#prompt > button {
    border: 1px solid gold;
}

#confirm {
    height: 100%;
    display: grid;
    grid-template-columns: auto 6em 1em 6em auto;
    grid-template-rows: auto 2em 0.5em;
    grid-template-areas:
        "txt txt txt txt txt"
        ". btn . btn2 ."
        ". . . . .";
}

#alert {
    height: 100%;
    display: grid;
    grid-template-columns: auto 8em auto;
    grid-template-rows: auto 2em 0.5em;
    grid-template-areas:
        "txt txt txt"
        ". btn ."
        ". . .";
}

#prompt {
    height: 100%;
    display: grid;
    grid-template-columns: auto 6em 2em 6em auto;
    grid-template-rows: auto 0.5em 2em 1em 2em 0.5em;
    grid-template-areas:
        "txt txt txt txt txt"
        ". . . . ."
        ". lbl lbl lbl ."
        ". . . . ."
        ". btn . btn2 ."
        ". . . . .";
}

.confirmBox {
    display: flex;
    align-items: center;
}

.mediumHorizontalLine {
    width: 50%;
    margin: 0;
    padding: 0;
}

#preloadDeleteGame {
    position: fixed;
    bottom: 1em;
    right: 1em;
    min-width: 8em;
    z-index: 1;
    border: 2px solid red;
    color: pink;
}

#offlineBlur {
    background-color: #111;
    position: fixed;
    top: 0;
    left: 0;
    z-index: 6969;
    width: max(100vw, 100%);
    height: max(100vh, 100%);
}

#offlineBlur img {
    width: 100%;
    height: 100%;
    filter: blur(4px);
}

#offlineContainer,
#fastForwardContainer {
    flex-direction: column;
    align-items: center;
    position: fixed;
    top: 0;
    left: 50vw;
    z-index: 6969;
    transform: translate(-50%, 0%);
    background-color: var(--alert-color);
    border-radius: 5px;
    border: 2px solid gold;
    box-sizing: border-box;
    padding: 15px;
    margin-top: max(0px, calc(10vh - 15px));
    max-height: 90vh;
    overflow: hidden;
    font-size: min(1em, 20px);
}

.offlineStats,
.cartList {
    display: flex;
    flex-direction: column;
    z-index: 3;
}

.offlineStat {
    display: flex;
    flex-direction: row;
    align-items: center;
    z-index: 3;
    margin-bottom: 2px;
}

.fastForwardStat {
    display: none;
    flex-direction: row;
    align-items: center;
    z-index: 3;
    margin-bottom: 2px;
}

.offlineStatElement,
.cartListElement {
    margin-left: 10px;
}

.offlineText {
    display: flex;
    z-index: 5;
}

#offlineTimer,
#progressbardescription {
    display: flex;
    z-index: 5;
    margin: 5px 0;
}

#exitOffline,
#exitFastForward,
#checkout,
#checkout-nowpayments {
    width: 18em;
    min-height: auto;
    min-width: 220px;
    padding: 6px 0;
    z-index: 3;
    margin-top: 20px;
    border: 2px solid ivory;
    background-color: var(--purplebtn-color);
    color: white;
}

#exitOffline:hover,
#checkout:not(:disabled):hover {
    background-color: var(--purplehover-color);
}

#checkout-buttons > #checkout-nowpayments:not(:disabled):hover {
    background-color: var(--blessings-hover-color);
}

.resetInformationContainer {
    display: flex;
    flex-direction: column;
    line-height: 1.2em;
    width: 45%;
    flex-basis: 45%;
}

.resetsContainer {
    display: flex;
    line-height: 1em;
    font-variant-numeric: tabular-nums;
    white-space: nowrap;
}

.resetbtn {
    cursor: pointer;
    margin-right: 5px;
    background-color: var(--button-color);
}

.resetsButtons {
    display: flex;
    align-items: start;
}

#resetrow {
    display: flex;
    align-items: start;
}

#resetrow img {
    height: 32px;
    width: 32px;
}

#resetinfo {
    text-align: left; /* Keeps text from bouncing around */
    font-variant-numeric: tabular-nums;
    height: 3.6em;
    overflow: hidden;
    white-space: pre-line;
}

#resetrewards > div {
    display: flex;
    align-items: center;
}

#resetrewards > div > div {
    margin: auto 5px auto 2px;
}

#tabrow {
    text-align: center;
    width: 100%;
    list-style: none;
    margin: 0;
    margin-inline: unset;
    margin-block: unset;
    padding-inline: unset;
    display: flex;
    justify-content: center;
    gap: 0 5px;
}

.navbar {
    display: flex;
    justify-content: center;
    width: 100%;
}

nav button {
    display: block;
    border: 1px solid;
    min-width: 100px;
    min-height: 21px;
    line-height: 1em;
    font-size: min(1em, 20px);
    padding: 1px;
    color: white;
    border-top-left-radius: 5px;
    border-top-right-radius: 5px;
    border-bottom: none;
    text-align: center;
    overflow: hidden;
    white-space: nowrap;
}

#buildingstab {
    border-color: orange;
}

#upgradestab {
    border-color: orange;
}

#settingstab {
    color: white;
    border-color: white;
}

#achievementstab {
    border-color: white;
}

#runestab {
    border-color: cyan;
}

#challengetab {
    border-color: plum;
}

#researchtab {
    border-color: green;
}

#shoptab {
    border-color: white;
    background-color: var(--shoptab-color);
}

#singularitytab {
    border-color: lightgoldenrodyellow;
    background-color: var(--singtab-color);
    color: red;
}

#singularitytab:hover {
    background-color: var(--hoversing-color);
}

#shoptab:hover {
    background-color: var(--hovershop-color);
}

button.isEvent:hover {
    background-color: gold;
}

#anttab {
    border-color: maroon;
}

#cubetab {
    border-color: var(--wowcube-color);
    color: var(--hypercube-color);
}

#campaigntab {
    border-color: red;
    color: orange;
}

#traitstab {
    border-color: orange;
    color: red;
}

.subTabWrapper {
    display: grid;
    grid-template-columns: repeat(auto-fit, 145px);
    justify-content: center;
    gap: 10px 15px;
    width: 90%;
    margin: 15px auto 0;
}

.subTabWrapper > button {
    min-width: 150px;
    text-align: center;
}

#coinBuildings {
    display: flex;
    position: relative;
    padding: 0;
    flex-direction: column;
    align-items: center;
    max-width: 1600px;
    margin: 0 auto;
}

#coinBuildings p {
    margin: 0;
}

p#buildinghotkeys,
p#buildinghotkeys2 {
    margin-top: 15px;
    color: lightgray;
    text-align: center;
}

p#buildinghotkeys2 {
    margin-top: 0;
}

#buildingtext {
    padding: 0;
    text-align: center;
    width: 1000px;
}

#upgrades {
    position: relative;
    text-align: center;
    padding: 0;
    color: gold;
    margin: 0 auto;
    max-width: 1500px;
}

#upgradesFlex {
    display: flex;
    width: 90%;
    margin: 4% 5% 0;
    justify-content: space-around;
}

#upgradesFlex > section {
    display: flex;
    flex-direction: column;
    align-items: center;
}

#upgradesFlex > section > p {
    margin: 5px 0;
    line-height: 1em;
}

#upgradesFlex > section > table {
    font-size: 0;
    text-align: center;
    border-collapse: collapse;
    margin: 3px;
}

#upgradesFlex > section > table td {
    padding-left: 3px;
}

#upgradesFlex > section > table img {
    cursor: pointer;
}

#upgradesFlex > section > button {
    min-width: 80px;
}

#shoptogglecoin { grid-column-start: 1; }
#shoptoggleprestige { grid-column-start: 2; }
#shoptoggletranscend { grid-column-start: 3; }
#shoptogglegenerator { grid-column-start: 4; }
#particleAutoUpgrade { grid-column-start: 6; }

#upgradesrow3 {
    text-align: center;
    margin-top: 8px;
}

#upgradesrow3 > p {
    padding-top: 0;
    margin: 0;
}

#upgradeeffect { color: pink; }

#toggle9 {
    min-width: 130px;
    margin: 25px auto;
}

#settings {
    position: relative;
    padding: 0;
    text-align: center;
}

/* Settings settings sub tab */

#settingsubtab {
    flex-direction: column;
    justify-content: space-around;
    align-items: center;
    flex-wrap: wrap;
    margin-top: 15px;
}

.settingSubTabUpper {
    display: flex;
    justify-content: center;
}

#confirmationToggleBox,
#exportButtons,
#thirdParty {
    display: flex;
    flex-direction: column;
    align-items: center;
    width: 100%;
    min-width: 300px;
    max-width: 500px;
    padding: 5px;
}

.confirmationToggles {
    display: flex;
    justify-content: center;
    flex-flow: wrap;
    gap: 1em;
}

#confirmationToggleBox > p {
    margin: 5px 0;
}

p#specialActionsTitle,
p#themesTitle {
    margin-top: 15px;
}

#exportButtons > * { margin: 2px auto; }

#saveStringInput {
    width: 100%;
    padding: 1px;
    border: 1px solid white;
}

#importFileButton {
    font-size: 0.75em;
    padding: 0.05em;
    border: 2px solid white;
    color: white;
    cursor: pointer;
    background-color: var(--button-color);
}

#savegame,
#deleteGame,
#importFileButton,
#saveStringInput,
#exportButtons > label {
    width: 12em;
    min-width: 180px;
    min-height: 20px;
    margin: 2px auto;
    box-sizing: border-box;
    transition: background-color var(--transition-extra), border-color var(--transition-extra);
}

#importFileButton:hover {
    background-color: var(--hover-color);
}

#savegame[disabled] {
    background-color: crimson;
}

#exportgame {
    width: 12em;
    min-width: 150px;
    min-height: 40px;
    margin: 5px auto;
}

#thirdParty {
    gap: 1em;
}

#thirdParty p {
    margin: 0 auto;
}

/* Third party URLs (Discord or patch notes) */
#thirdParty > div {
    flex-wrap: wrap;
    display: flex;
    flex-direction: column;
    image-rendering: auto;
}

#thirdParty > div > a {
    /* For whatever reason this fixes the click area for the external links */
    margin: 0 auto;
    font-size: 0;
}

/* Confirmation toggle box */
.confirmationToggle {
    display: flex;
    flex-direction: column;
    align-items: center;
    width: 32px;
    gap: 5px;
}

.promocodeButton {
    min-width: 65%;
    margin-bottom: 3px;
}

div.addCodeBox {
    display: flex;
}

#addCode {
    flex-grow: 3;
    border: 2px solid green;
}

#addCodeAll {
    flex-grow: 1;
    border: 2px solid green;
    border-left: none;
    border-right: none;
}

#addCodeOne {
    flex-grow: 1;
    border: 2px solid green;
}

p#promocodeinfo {
    width: 100%;
}

#themeArea > button { width: 100%; }
#themeArea:focus-within > div { display: inline-grid; }

#themeArea > div {
    position: absolute;
    display: none;
    grid-template-columns: repeat(2, 150px);
    border: 3px solid var(--boxmain-bordercolor);
    background-color: var(--box-color);
    padding: 2px;
    margin-left: 8px;
}

#themeArea > div button {
    padding: 5px;
    margin: 1px;
}

.center {
    margin: auto;
}

.settingpic {
    flex-grow: unset;
}

.auto.square {
    min-width: 32px;
    min-height: 32px;
    padding: 0;
}

.auto.square:hover {
    background-color: var(--hover-color);
}

.buttonRow {
    display: flex;
    flex-direction: column;
    justify-content: center;
    margin-top: 35px;
    margin-left: 7.5%;
    margin-bottom: 20px;
    z-index: 1;
    font-size: min(1em, 20px);
}

#coinInformation {
    text-align: center;
    margin: 10px;
    padding: 10px;
    font-size: 1.2em;
}

#coinVanity {
    text-align: center;
    margin: 0;
    padding: 0;
}

.buttonRow > div {
    display: flex;
    justify-content: flex-start;
    align-items: center;
    gap: 10px;
    min-height: 35px;
}

.buildingSpacer {
    height: 35px;
}

.buttonRow > div > p {
    margin-top: 0.25em;
}

.buttonRow > div > .image {
    height: 32px;
    width: 32px;
}

.buttonRow > div > .desc {
    width: 22em;
}

.buildingPurchaseBtn {
    width: 15em;
    border-radius: 8px;
    border: 1px solid white;
    background-color: var(--buttonbuy-color);
    cursor: default;
}

.buildingPurchaseBtn:hover {
    background-color: var(--buttonbuy-color);
}

.buildingPurchaseBtn.buildingPurchaseBtnAvailable {
    cursor: pointer;
    background-color: var(--buildings-canbuy-color);
}

.buildingPurchaseBtn.buildingPurchaseBtnAvailable:hover {
    background-color: var(--buildings-hover-color);
}

.buttonRow > div > .auto {
    width: 6em;
    min-width: 80px;
}

.autobuyerToggleButton {
    background-color: var(--button-color);
    margin: 0 auto;
    min-width: 80px;
}

.buttonRow > div > .stats {
    width: 25em;
    line-height: 1em;
}

#buildtext12,
#buildtext14,
#buildtext16 {
    min-height: 2em;
}

#taxinfo {
    text-align: center;
    font-size: 1em;
    margin-top: 30px;
}

.tightText {
    margin: 0 auto;
    text-align: center;
}

#statistics {
    position: relative;
    text-align: center;
    padding: 0;
    color: whitesmoke;
}

#achievements {
    display: flex;
    justify-content: center;
}

#tieredAchievementsTable {
    display: grid;
    grid-template-columns: repeat(8, 48px);
    grid-template-rows: repeat(5, 48px);
    gap: 2px 2px;
}

#tieredAchievementsTable > div {
    width: 48px;
    height: 48px;
}

#ungroupedAchievementsTable {
    display: grid;
    grid-template-columns: repeat(12, 32px);
    grid-template-rows: repeat(5, 32px);
    gap: 2px 2px;
}

#ungroupedAchievementsTable > div {
    width: 32px;
    height: 32px;
}

#progressiveAchievementsTable {
    display: grid;
    grid-template-columns: repeat(8, 48px);
    grid-template-rows: repeat(5, 48px);
    gap: 2px 2px;
}

#progressiveAchievementsTable > div {
    width: 48px;
    height: 48px;
}

#achievementMultiline {
    white-space: pre-line;
}

#achievementstable {
    font-size: 0;
    border-collapse: collapse;
}

#achievementstable [id^="ach"] > img {
    image-rendering: unset;
}

#achievementHeader {
    display: flex;
    justify-self: center;
    align-items: center;
    flex-direction: column;
    margin: 10px;
}

#achievementHeader > p {
    margin: 4px 0;
    font-size: 1.2em;
}

#achievementTNLText {
    margin: 0;
}

.NotificationToggle {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 5px;
}

.NotificationToggle > p {
    margin: 2px 0;
}

.achNotification {
    flex-grow: unset;
}

.nonSquare {
    min-width: 39px;
    min-height: 20px;
}

#achievementinfo > p,
#achievementColorInfo > p {
    margin: 0;
}

#achievementinfo {
    margin-top: 5px;
}

#achievementColorInfo {
    margin-top: 10px;
}

.tieredAchievementType > img,
.progressiveAchievementType > img,
.synergismLevelRewardType > img {
    width: 48px;
    height: 48px;
}

.ungroupedAchievementType > img,
.synergismLevelMilestoneType > img {
    width: 32px;
    height: 32px;
}

.tieredAchievementType img.dimmed,
.ungroupedAchievementType img.dimmed,
.progressiveAchievementType img.dimmed {
    opacity: 0.3;
}

.achievement-ap-overlay {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    font-size: 1em;
    text-shadow: 2px 2px 4px #000;
    z-index: 999;
    color: white;
    font-weight: bold;
    display: flex;
    flex-direction: column;
    align-items: center;
    line-height: 0.8;
}

.achievement-fraction-numerator {
    border-bottom: 1px solid white;
    padding-bottom: 1px;
    min-width: 1em;
    text-align: center;
}

.achievement-fraction-denominator {
    padding-top: 1px;
    min-width: 1em;
    text-align: center;
}

.tieredAchievementType,
.ungroupedAchievementType,
.progressiveAchievementType {
    position: relative;
    display: inline-block;
}

.relative-container {
    position: relative;
    display: inline-block;
}

.achievement-ap-overlay.gold-text {
    color: gold;
}

#showAchievementProgress {
    width: 48px;
    cursor: pointer;
    text-align: center;
    border: 2px solid orange;
}

#achievementContainer1,
#achievementContainer2 {
    display: flex;
    flex-direction: column;
    align-items: center;
    position: relative;
}

#synergismLevelRewardsTable {
    display: grid;
    grid-template-columns: repeat(12, 48px);
    grid-template-rows: repeat(1, 48px);
    gap: 2px 2px;
    align-items: center;
    justify-content: center;
}

#synergismLevelRewardsTable > div {
    width: 48px;
    height: 48px;
}

#synergismLevelMilestonesTable {
    display: grid;
    grid-template-columns: repeat(12, 32px);
    grid-template-rows: repeat(4, 32px);
    gap: 2px 2px;
    align-items: center;
    justify-content: center;
}

#synergismLevelMilestonesTable > div {
    width: 32px;
    height: 32px;
}

#buyamountoffering {
    left: calc(50% + 350px);
    top: 0;
    display: flex;
    flex-direction: column;
    align-items: center;
    z-index: 1;
}

.talismansModify {
    display: flex;
    flex-direction: column;
    align-items: center;
    position: relative;
}

.talismansModify p {
    margin: 0;
}

#buyamountcoin,
#buyamountcrystal,
#buyamountmythos,
#buyamountparticle,
#buyAmountTesseract {
    position: absolute;
    left: 80%;
}

.buyAmountBtn {
    background-color: var(--button-color);
    cursor: pointer;
    transition: background-color var(--transition-extra), border-color var(--transition-extra);
}

.buyAmountBtn:hover {
    background-color: var(--hover-color);
}

#prestige {
    position: relative;
    padding: 0;
    color: cyan;
    flex-direction: column;
    align-items: center;
    max-width: 1600px;
    margin: 0 auto;
}

#crystalupgrades {
    width: 50em;
    max-width: 1000px;
    color: white;
    text-align: center;
}

#crystalupgradestable { margin: 0 auto; }

#crystalupgrades img {
    background-color: var(--buttonbuy-color);
}

#autocrystalbuild {
    margin-top: 40px;
}

#toggle15,
#prestigeautotoggle,
#prestigeamount {
    width: 12em;
    min-width: 150px;
    min-height: auto;
}

#prestigeamount {
    color: white;
    border: 1px solid cyan;
    background-color: var(--blackbtn-color);
}

#prestige p {
    margin: 0;
}

#autoprestige {
    color: white;
}

p#prestigehotkeys {
    margin-top: 15px;
    width: 1000px;
    text-align: center;
}

#runes {
    position: relative;
    padding: 0;
}

#runesHeader {
    display: flex;
    justify-content: center;
    align-items: center;
    flex-direction: column;
    margin-bottom: 10px;
}

#runeContainer1,
#runeContainer3,
#runeContainer4 {
    display: flex;
    flex-direction: column;
    align-items: center;
    position: relative;
}

#runesToggle,
#achievementsToggle {
    display: flex;
    justify-content: center;
    flex-flow: wrap;
    margin: 15px 0 10px;
    gap: 10px 15px;
}

.heptNotification {
    height: 20px;
    width: 20px;
}

#runesToggle > button,
#achievementsToggle > button {
    min-width: 100px;
    text-align: center;
}

#offeringDetails,
#runeEffectDisplays {
    max-width: 1200px;
    display: flex;
    text-align: center;
    flex-direction: column;
}

#offeringDetails > p,
#runeEffectDisplays > p {
    margin: 0;
}

#runeDetails,
#runeBlessings,
#runeSpirits {
    display: flex;
    position: relative;
    justify-content: center;
    flex-wrap: wrap;
    width: 66%;
}

.runeType {
    display: flex;
    flex-direction: column;
    width: 180px;
    align-items: center;
    white-space: nowrap;
    padding: 2px;
    transition: box-shadow 0.3s ease-in-out, transform 0.3s ease-in-out;
}

.runeType:hover {
    transform: translateY(-2px);
    box-shadow:
        0 0 15px var(--glow-color),
        0 0 30px var(--glow-color),
        0 0 45px var(--glow-color);
    background-color: var(--box-color);
}

.runeType > button {
    min-width: 100px;
    text-align: center;
    border: 2px solid gold;
    cursor: default;
}

.runeType > button:hover {
    background-color: var(--button-color);
}

.runeTypeElement {
    margin: 0;
    text-align: center;
    transition: background-color var(--transition-extra), border-color var(--transition-extra);
}

img.runeTypeElement {
    background-color: var(--button-color);
    cursor: pointer;
}

img.runeTypeElement:hover {
    background-color: var(--hover-color);
}

.runeType > .runeButtonAvailable {
    background-color: var(--purplebtn-color);
    cursor: pointer;
}

.runeType > .runeButtonAvailable:hover {
    background-color: var(--purplehover-color);
}

.runeTypeLocked {
    opacity: 0.5;
}

.runeImageLocked {
    filter: grayscale(50%);
}

#runeContainer2 {
    display: grid;
    grid-template-columns: repeat(8, 1fr);
    grid-template-rows: repeat(3, 1fr);
    grid-column-gap: 0;
    grid-row-gap: 0;
    position: relative;
}

.talismansCenter {
    grid-area: 1 / 2 / 4 / 8;
    display: flex;
    flex-direction: column;
    width: 100%;
}

.talismanShardSection {
    grid-area: 1 / 1 / 4 / 2;
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    margin-left: 10px;
    width: 100%;
}

.talismanToggles {
    grid-area: 1 / 8 / 4 / 9;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    width: 100%;
}

.talismanSettingsContainer {
    display: flex;
    flex-direction: column;
    width: 60%;
    align-items: center;
}

#rarityInfoTexts {
    display: none;
    width: 75%;
    align-items: center;
}

.rarityReqNum {
    float: right;
}

#toggleautofortify {
    min-width: 125px;
    border: 2px solid red;
}

#talismanFragmentCost {
    width: 20em;
    text-align: center;
}

.talismanShardContainers {
    display: flex;
    flex-direction: column;
    width: 60%;
    align-items: center;
}

.talismanShardHeader {
    display: flex;
    flex-direction: column;
    align-items: center;
}

.talismanShardHeader > button {
    width: 100px;
    margin: 2px;
}

.talismanShardContainer {
    display: flex;
    align-items: center;
    padding: 5px;
}

.talismanShardIcon {
    width: 32px;
}

.talismanShardAmount {
    width: 5em;
    min-width: 70px;
    margin-left: 4px;
    font-size: 1em;
}

.fragmentBtn {
    width: 5em;
    min-width: 80px;
    color: orange;
    cursor: default;
}

.fragmentBtn:hover {
    background-color: var(--button-color);
}

.talismanBtn {
    width: 5em;
    min-width: 80px;
}

.talisminBtnAvailable {
    background-color: var(--purplebtn-color);
    cursor: pointer;
}

.talisminBtnAvailable:hover {
    background-color: var(--purplehover-color);
}

.talismansContainer {
    display: flex;
    position: relative;
    justify-content: center;
    flex-wrap: wrap;
    width: 100%;
}

.talismanContainer {
    flex-direction: column;
    width: 80px;
    align-items: center;
    white-space: nowrap;
    padding: 2px;
}

.talismanIcon {
    height: 64px;
    width: 64px;
    cursor: pointer;
}

.talismanIcon > img {
    position: relative;
    width: calc(100% - 6px);
    height: calc(100% - 6px);
    object-fit: none;
    background-color: var(--bg-color);
    border-radius: 3px;
}

.talismanLevel {
    margin-top: 1px;
    margin-bottom: 3px;
}

#talismanEffect,
#talismanLevelUpCost {
    margin-top: 10px;
    text-align: center;
}

#talismanlevelup {
    width: 100%;
    display: flex;
    flex-direction: column;
    justify-content: center;
}

#talismanlevelup table {
    font-size: 0;
}

#talismanlevelup table p {
    font-size: initial;
    width: 5em;
}

#transcension {
    position: relative;
    padding: 0;
    flex-direction: column;
    align-items: center;
    max-width: 1600px;
    margin: 0 auto;
}

#transcension p {
    margin: 0;
    text-align: center;
}

#transcension > .buttonRow {
    color: plum;
}

#transcendshardbonus {
    margin-top: 2px;
}

#autotranscend {
    text-align: center;
}

#toggle21,
#transcendautotoggle,
#transcendamount {
    width: 12em;
    min-width: 150px;
    min-height: auto;
}

#transcendamount {
    color: white;
    border: 1px solid plum;
    background-color: var(--blackbtn-color);
}

p#transcendhotkeys {
    margin-top: 15px;
}

#transcendhotkeys {
    text-align: center;
}

#challenges {
    position: relative;
    padding: 0;
}

#challengesTabsToggle {
    display: flex;
    justify-content: center;
    flex-flow: wrap;
    margin-top: 15px;
    margin-bottom: 10px;
    gap: 10px 15px;
}

#challengesTabsToggle > button {
    min-width: 100px;
    text-align: center;
}

.singularityChallenges {
    display: flex;
    justify-content: center;
    column-gap: 4px;
}

#challengesWrapper {
    display: flex;
    flex-direction: column;
    gap: 20px;
}

#challengeIntroduction {
    text-align: center;
    font-size: 1.2em;
    margin-top: 10px;
    margin-bottom: 10px;
}

#ExaltIntroduction {
    text-align: center;
    font-size: 1.2em;
    margin-top: 10px;
    margin-bottom: 10px;
}

#challengesAutoToggles {
    display: flex;
    justify-content: center;
    flex-flow: wrap;
    gap: 10px 15px;
    margin-bottom: 10px;
}

#challengesAutoToggles > button {
    min-width: 200px;
}

#toggleAutoChallengeStart { border: 2px solid gold; }

#startChallenge {
    border: 2px solid red;
    font-size: 1.1em;
    min-width: 300px;
    min-height: 75px;
    background-color: var(--blackbtn-color);
}

#startChallenge:hover {
    background-color: var(--hover-color);
}

#retryChallenge { border: 2px solid plum; }

/* Hide the last 3 buttons until the user clicks on a challenge */
#toggleAutoChallengeIgnore,
#startChallenge,
#retryChallenge { display: none; }

#challengeIcons {
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
    gap: 4px;
    align-self: center;
    color: white;
    text-align: center;
}

#challengeIcons img {
    width: 64px;
    height: 64px;
    cursor: pointer;
    vertical-align: top;
}

/* In webkit, the font-size px is fixed even if it is enlarged, but Firefox fluctuates */
.challengeLevels {
    min-width: 4.8em;
    max-width: 4.8em;
    margin: 4px auto 0;
    font-size: 12px;
    overflow: hidden;
}

#challengeDetails {
    display: grid;
    grid-template-columns: repeat(2, auto);
    justify-content: center;
    align-self: center;
    margin-top: 10px;
}

#challengeTimers {
    margin-right: 20px;
    width: 300px;
}

#oneChallengeDetails {
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    width: 42em;
}

#oneChallengeDetails > p {
    margin: auto;
    height: auto;
}

#challengeName { color: white; }
#challengeFlavor { color: plum; }
#challengeRestrictions { color: var(--crimson-text-color); }
#challengeGoal { color: gold; }
#challengePerCompletionRewards { color: var(--text-color); }
*[id^="challengePer"] { color: pink; }
#challengeFirst1 { color: orange; }
#challengeQuarkBonus { color: cyan; }

#challengeTimersText {
    display: flex;
    flex-direction: column;
}

#challengeTimersText > p {
    margin: 0;
}

#challengeTimersText > input {
    border: 2px solid orchid;
    width: 10em;
    min-width: 180px;
    max-width: 100%;
    font-size: 1.1em;
}

#challengeWorthlessTexts {
    display: flex;
    flex-direction: column;
    text-align: center;
}

#challengeWorthlessTexts > p {
    margin: 0;
}

#challengehotkeys { color: var(--gray-text-color); }
#challengewarning { color: var(--crimson-text-color); }
#challengewarningreincarnation { color: limegreen; }

.challenge {
    background-color: var(--button-color);
    transition: background-color var(--transition-extra), border-color var(--transition-extra);
}

.challenge:hover {
    background-color: var(--hover-color);
}

.challengeActive {
    background-color: plum;
}

.challengeActive:hover {
    background-color: #ebc7eb;
}

#reincarnation {
    position: relative;
    padding: 0;
    color: limegreen;
    flex-direction: column;
    align-items: center;
    max-width: 1600px;
    margin: 0 auto;
}

#reincarnateautomation {
    margin-top: 80px;
}

#reincarnationTexts {
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
}

#reincarnation p { margin: 0; }

#toggle27,
#reincarnationamount,
#reincarnateautotoggle {
    width: 12em;
    min-width: 150px;
    min-height: auto;
}

#reincarnationamount {
    color: white;
    border: 1px solid green;
    background-color: var(--blackbtn-color);
}

#reincarnateautomation > div {
    display: flex;
    flex-direction: column;
    align-items: center;
}

#reincarnationinfo {
    color: lime;
}

p#reincarnatehotkeys {
    margin-top: 15px;
    text-align: center;
}

#research {
    position: relative;
    padding: 0;
}

.researchUnlocked {
    display: block;
}

.researchLocked {
    display: none;
}

.researchContainer {
    display: flex;
    justify-content: center;
}

#researchtable {
    border-collapse: collapse;
    font-size: 0;
}

#researchtable > tbody {
    margin-top: 15px;
}

.researchDetails {
    display: flex;
    flex-direction: column;
    text-align: center;
    align-items: center;
    margin-top: 5px;
}

.researchDetails > p {
    width: 55em;
    max-width: 100%;
    margin: 0;
}

#researchToggles {
    display: flex;
    flex-direction: row;
    justify-content: center;
    gap: 10px 15px;
    margin: 15px 0;
}

#researchToggles > button {
    min-width: 175px;
}

#researchinfo2 {
    min-height: 3em;
}

#researchtable button > img {
    background-color: var(--buttonimg-color);
}

#researchtable .researchAvailable > img {
    cursor: pointer;
    transition: background-color var(--transition-extra), border-color var(--transition-extra);
}

#researchtable .researchAvailable:hover > img {
    background-color: var(--hover-color);
}

#researchtable .researchPurchased > img {
    background-color: purple;
}

#researchtable .researchPurchasedAvailable > img {
    cursor: pointer;
    transition: background-color var(--transition-extra), border-color var(--transition-extra);
}

#researchtable .researchPurchasedAvailable:hover > img {
    background-color: #b300b2;
}

#researchtable .researchRoomba > img {
    background-color: orange;
}

#researchtable .researchMaxed > img {
    background-color: green;
}

#shop {
    text-align: center;
    position: relative;
}

#shopWrapper {
    display: flex;
    justify-content: center;
}

#actualWrapper {
    display: flex;
    font-size: min(1em, 20px);
}

#actualShopContainer {
    display: flex;
    flex-direction: column;
    align-items: center;
}

#actualShop {
    display: flex;
    padding: 5px;
    margin-top: 10px;
    width: calc(115px * 8 - 5px);
    border: 3px solid plum;
    gap: 5px;
    flex-wrap: wrap;
}

#actualPotionShop > div,
#actualShop > div {
    width: 110px;
}

#actualPotionShop > div > p,
#actualShop > div > p {
    margin: 0 0 3px;
    line-height: 1em;
}

#shoptop {
    color: whitesmoke;
    font-size: 1.2em;
    margin-top: 20px;
}

#actualConsumables {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 10px;
    width: 250px;
    margin-right: 20px;
}

#actualPotionShop {
    display: flex;
    padding: 5px;
    width: calc(115px * 2 - 5px);
    border: 3px solid yellow;
    background-color: var(--box-color);
    gap: 5px;
    flex-wrap: wrap;
}

#goldenQuarksDisplay > img {
    font-size: 0;
}

#quarkamount {
    font-size: 1.2em;
    color: aqua;
    margin: 0 0 0 5px;
}

#quarksDisplay,
#goldenQuarksDisplay,
#octeractsDisplay,
#totalOcteractsDisplay,
#ambrosiaDisplay,
#redAmbrosiaDisplay,
#blueberryDisplay {
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: center;
    white-space: pre-line;
}

#blueberryDisplay > p,
#ambrosiaDisplay > p,
#redAmbrosiaDisplay > p {
    margin: 0 0 0 10px;
}

#ambrosiaTexts {
    line-height: 5px;
}

#totalOcteractsDisplay {
    margin-top: 15px;
    margin-bottom: 15px;
}

#octeractsDisplay > p,
#totalOcteractsDisplay > p {
    margin: 0 0 0 10px;
}

#goldenQuarkamount {
    font-size: 1.2em;
    color: gold;
    margin-left: 5px;
}

#octeractAmount {
    font-size: 1.2em;
    margin-left: 5px;
}

#ambrosiaAmount,
#redAmbrosiaAmount {
    font-size: 1.2em;
    margin-left: 5px;
}

#consumables {
    color: var(--orangered-text-color);
    font-size: 1.2em;
    margin-top: 20px;
}

#shopButtons {
    display: flex;
    justify-content: center;
    flex-flow: wrap;
    float: right;
    gap: 5px;
    margin-top: 5px;
}

#shopButtons > button {
    min-width: 150px;
    min-height: 40px;
    margin-bottom: 6px;
}

#shopHovers {
    width: 800px;
    min-height: 8.2em;
}

#shopHovers > p { margin: 0; }

.consumablebutton,
.permshopbutton {
    width: 100%;
    min-height: 40px;
    padding: 0;
    line-height: 1em;
    vertical-align: top;
}

#ants {
    position: relative;
    padding: 0;
    text-align: center;
    max-width: 1500px;
    margin: 0 auto;
}

#antsWrapper {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    flex-shrink: 0;
    margin-right: min(10em, 100px);
}

#antsWelcomeTexts { margin-top: 40px; }
#antsWelcomeTexts > p { margin: 0; }
#antwelcome { font-size: 1.3em; }

#antrow1 {
    display: flex;
    gap: 0 4px;
    margin-top: 12px;
    color: red;
    z-index: 1;
}

#antrow2 {
    max-width: 800px;
    margin-top: 10px;
    min-height: 10em;
}

#antrow3 {
    max-width: 800px;
    margin-top: 10px;
    min-height: 7em;
}

#antrow4 {
    display: flex;
    gap: 0 4px;
    margin-top: 10px;
    color: red;
    z-index: 1;
}

#antrow2 > p,
#antrow3 > p {
    margin: 0;
}

#crumbcount {
    font-size: 1.2em;
    min-height: 2.8em;
}

#antToggleFeatures {
    display: flex;
    justify-content: center;
    gap: 10px;
    margin: 5px 0;
}

.antSacrificeButtonsContainer {
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
    gap: 10px;
}

#toggleAntMax {
    min-width: 100px;
    border: 1px solid gold;
}

#toggleAutoSacrificeAnt {
    min-width: 150px;
    border: 1px solid crimson;
}

#autoSacrificeAntMode,
#autoAntSacrificeAmount {
    width: 12em;
    min-height: 20px;
    min-width: 150px;
    border: 1px solid green;
}

#sacrificeAnts {
    position: absolute;
    padding: 0;
    width: 200px;
    margin: 0 0 0 -340px;
    text-align: center;
    left: calc(80% - 5em);
    white-space: nowrap;
    z-index: 1;
}

.sacrificeStatus {
    display: flex;
    flex-direction: column;
    align-items: center;
}

#antSacrificeTimer {
    padding: 2px 0.5em;
}

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

#antSacrificeSummary {
    position: absolute;
    padding: 0;
    width: 300px;
    top: 30px;
    left: calc(80% - 5em);
    text-align: left;
    white-space: nowrap;
}

#antSacrificeSummary p {
    margin: 0;
}

.antSacrificeHeader {
    margin-bottom: 4px;
    overflow-wrap: break-word;
    white-space: initial;
}

#antSacrificeTable {
    margin: 15px 0 0 70px;
    border-spacing: 0;
    white-space: nowrap;
    font-variant-numeric: tabular-nums;
}

#antSacrificeTable p {
    margin-left: 5px;
}

.antBtn {
    height: 100%;
}

.antTierBtnAvailable,
.antUpgradeBtnAvailable {
    cursor: pointer;
    background-color: silver;
}

#cubes {
    display: flex;
    justify-content: center;
    position: relative;
}

/* Wow! Cube sidebar */
#wowCubeSidebar {
    display: flex;
    flex-direction: column;
    margin: 0 30px;
    line-height: 1.1em;
    text-align: center;
    width: 250px;
    align-items: center;
}

#wowCubeSidebarButtons {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 6px 15px;
    margin-bottom: 20px;
}

.cubesToQuark {
    display: flex;
    flex-direction: column;
    align-items: center;
    width: 126%;
}

.cubeToQuark {
    display: flex;
    flex-direction: column;
    align-items: center;
    margin-bottom: 10px;
}

.cubeSwitchTabBtn {
    width: 12em;
    min-width: 250px;
}

#wowCubeSidebar p {
    margin: 0;
}

#cubeToQuarkTimer,
#cubeToQuarkTimerValue {
    font-size: 1.2em;
}

.cubeBtn {
    min-width: 100px;
    background-color: var(--blackbtn-color);
    border: 1px solid var(--wowcube-color);
}

.autoOpensBtn {
    height: 30px;
    display: flex;
    flex-direction: column;
    overflow: visible;
}

.autoOpens {
    width: 8em;
    min-width: 100px;
    min-height: 30px;
    background-color: var(--blackbtn-color);
}

.autoOpensInput {
    width: 8em;
    min-width: 100px;
    color: white;
    background-color: var(--blackbtn-color);
    z-index: 1;
}

p[id$="BlessingsTotal"] {
    padding: 15px;
    margin-left: 22.5%;
    margin-right: auto;
}

#platonicFooter,
#cubeFooter {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    margin-top: 20px;
}

#platonicFooter p,
#cubeFooter p {
    margin: 0;
}

#platonicAsterisk {
    font-size: 0.75em;
}

#cubesWrapper {
    display: flex;
    justify-content: flex-start;
    margin-top: 30px;
    width: 1250px;
}

.cubesBonus {
    align-self: flex-start;
}

.cubesBonus tbody tr > td:first-child {
    font-size: 0;
}

.openGrid {
    display: flex;
    align-self: flex-start;
    margin: 10px 0 5px;
}

.openImage {
    height: 64px;
    width: 64px;
}

.inventory {
    margin: auto 10px;
}

.openBtn {
    display: flex;
    flex-flow: wrap;
    align-items: flex-start;
    gap: 5px;
    margin-left: 10px;
}

.openButtons {
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.cubeBonus {
    align-self: flex-start;
    margin-left: -1px;
    margin-top: 5px;
    white-space: nowrap;
}

.cubeIcon {
    border-spacing: 0;
}

.cubeIcon img {
    margin-right: 5px;
}

.cubeTab {
    flex-direction: column;
    align-items: center;
    width: 800px;
    margin-left: 50px;
}

.cubeTab > span {
    text-align: center;
}

#cubeTab5Wrapper {
    display: flex;
    flex-direction: column;
    align-items: center;
    margin-top: 15px;
    text-align: center;
    align-self: normal;
}

#cubeTab5Wrapper p {
    margin: 0;
}

#cubeTab6 {
    flex-direction: row;
    align-items: flex-start;
}

#cubeUpgradeTable {
    margin: 5px 0;
    border-collapse: collapse;
    font-size: 0;
}

.cubeUpgradeInfo {
    min-height: 4em;
}

.cubeUpgradeToggles {
    display: flex;
    justify-content: center;
    margin-top: 10px;
    gap: 0 15px;
}

#toggleCubeBuy {
    min-width: 200px;
}

#toggleAutoCubeUpgrades {
    min-width: 150px;
}

.gridImg {
    background-color: var(--buttonimg-color);
    cursor: pointer;
}

#languagesubtab {
    flex-direction: row;
    margin-top: 15px;
    align-items: center;
}

.languagesMenu {
    display: flex;
    flex-direction: column;
    justify-content: space-around;
    align-items: center;
    flex-basis: 1;
    flex-grow: 0;
    min-width: 450px;
    max-width: 750px;
    padding: 5px;
}

.languageOptions {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    justify-content: center;
}

button.language-select {
    border: 2px solid white;
    width: 12em;
    min-width: 150px;
    min-height: 40px;
    margin: 5px;
}

button.language-select span.lang-flag {
    font-size: 2em;
    padding-right: 4px;
    vertical-align: middle;
}

button.language-select span.lang-name {
    font-size: 1.2em;
    vertical-align: middle;
}

.languageContribution {
    flex-basis: 1;
    flex-grow: 0;
    min-width: 450px;
    max-width: 750px;
    padding: 5px;
}

/* Credits */

#creditssubtab {
    margin-top: 20px;
}

#creditssubtab > * {
    font-size: 1.2em;
    text-align: center;
    margin: 0.4em 0;
}

#creditssubtab img {
    image-rendering: unset;
}

#versionnumber {
    color: fuchsia;
}

#ascension {
    position: relative;
    padding: 0;
    color: orange;
    flex-direction: column;
    align-items: center;
    max-width: 1600px;
    margin: 0 auto;
}

#ascension p {
    margin: 0;
    text-align: center;
}

#ascendConstantUpgrades {
    display: flex;
    width: 50em;
    max-width: 1000px;
    flex-direction: column;
    align-items: center;
}

#ascendautomation {
    margin-top: 10px;
}

.resetautomation {
    display: flex;
    flex-direction: column;
    align-items: center;
    margin-top: 100px;
}

#constUpgradeLevel,
#constUpgradeCost,
#constUpgradeEffect1 {
    color: white;
}

#tesseractautobuytoggle,
#tesseractautobuymode,
#tesseractAmount {
    width: 12em;
    min-width: 150px;
    min-height: auto;
}

#tesseractAmount {
    color: white;
    border: 1px solid var(--tesseract-color);
    background-color: var(--blackbtn-color);
}

#autotessbuyeramount {
    margin: 0;
}

p#ascendHotKeys {
    margin-top: 15px;
    text-align: center;
}

#creditssubtab > h1 {
    font-size: 1.5em;
    text-align: center;
}

#creditList {
    display: grid;
    grid-template-columns: repeat(4, minmax(250px, 1fr));
    max-width: 1000px;
    margin: 0 auto;
}

.credit {
    display: flex;
    flex-direction: row;
    margin-top: 2px;
}

.credit > a {
    margin-left: 5px;
}

#artistList {
    display: grid;
    grid-template-columns: repeat(5, 160px);
    justify-content: center;
}

#artistList > p {
    margin: 0.4em 0;
}

#statisticsSubTab {
    padding-top: 25px;
    justify-content: center;
}

#statsForNerds {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: flex-start;
    width: 25em;
    min-width: 500px;
    max-width: 800px;
    height: fit-content;
    gap: 10px 15px;
}

#statsForNerds > button {
    min-width: 150px;
}

.statContainer {
    width: 30em;
    min-width: 600px;
    max-width: 750px;
    flex-direction: column;
    align-items: flex-end;
    margin-bottom: auto;
    padding-left: 25px;
    padding-right: 25px;
    padding-bottom: 25px;
    display: none;
}

#miscStats {
    display: block;
}

.statPortion {
    margin: 0;
    text-align: left;
    font-size: 0.9em;
    min-width: max-content;
}

.statPortion.indented {
    width: 360px;
    padding-left: 20px;
}

.statNumber {
    color: yellow;
    float: right;
}

.statPortion.statTotal {
    color: orange;
    font-weight: bold;
    font-size: 1em;
}

.statNumber.statTotal {
    color: deepskyblue;
}

.constUpgrade {
    background-color: var(--button-color);
    transition: background-color var(--transition-extra), border-color var(--transition-extra);
}

.constUpgradeAvailable {
    background-color: purple;
    cursor: pointer;
}

.constUpgradeAvailable:hover {
    background-color: #b300b3;
}

.constUpgradeAuto {
    background-color: green;
}

.subtabContent {
    display: none;
}

#exitOffline.subtabContent {
    display: block;
    visibility: hidden;
}

.subtabContent.subtabActive {
    display: block;
}

.subtabContent.subtabActive.subtabDisplayFlex {
    display: flex;
    justify-content: center;
}

.subtabContent.subtabActive.historySubTab.subtabDisplayFlex > div {
    display: flex;
}

.historySubTab {
    color: white;
}

.historySubTab p:first-of-type {
    color: var(--text-color);
}

.historySubTab p {
    margin: 8px 0 12px;
}

.historySubTab table {
    margin: auto;
    border-collapse: collapse;
    width: 100%;
    white-space: nowrap;
    text-align: left;
    line-height: 1em;
}

.historySubTab tbody span {
    vertical-align: middle;
}

.historySubTab tbody img {
    vertical-align: middle;
    height: 20px;
    margin-right: 3px;
}

#historyAscendTable td:nth-last-child(3) > img {
    margin-right: 0;
}

#historyAscendTable td:nth-last-child(3) > span {
    visibility: hidden;
    font-size: 0;
}

.historySubTab tbody td {
    padding: 2px 6px;
    height: 28px;
}

.historySubTab tbody .history-gain:last-child { margin-right: 0; }

.historySubTab tbody tr:nth-child(odd) {
    background: var(--history-lines);
}

.historySubTab tbody .history-seconds {
    white-space: nowrap;
}

.historySubTab tbody .history-filler {
    padding: 0;
}

.historySubTab tbody *[title] {
    text-decoration: underline;
}

#historyReset,
#historyAnts {
    margin-left: 20px;
}

#historyAscend,
#historySingularity {
    margin: 0 auto;
}

#historyTogglePerSecondButton {
    min-width: 110px;
    min-height: 25px;
    float: right;
}

.onOffToggle {
    text-align: center;
    padding: 5px;
    border: 2px solid red;
    margin-top: 8px;
}

#historyResetTable {
    min-width: 400px;
}

#historyAntsTable {
    min-width: 700px;
}

#historyAscendTable,
#historySinhgularityTable {
    min-width: 1180px;
    white-space: nowrap;
}

.historyTableWrap {
    max-height: 650px;
    overflow-y: auto;
}

#historyAscend .historyTableWrap,
#historySingularity .historyTableWrap {
    min-width: 1212px;
}

.runeBlessingPurchaseSettings {
    display: flex;
    justify-content: center;
    align-items: center;
    flex-wrap: wrap;
    gap: 15px;
    min-height: 50px;
}

.runeIcons {
    height: 64px;
    width: 64px;
}

.runeTexts {
    width: 12em;
    max-width: 250px;
}

.runeButtons {
    width: 25em;
    min-width: 325px;
    max-width: 350px;
    border: 1px solid yellow;
    color: gold;
}

.runeEffectTexts {
    width: 35em;
    max-width: 600px;
}

.runeButtonsBuyAll {
    width: 10em;
    min-width: 120px;
    border: 1px solid yellow;
    color: gold;
}

#toggle36,
#toggle37 {
    width: 6em;
    min-width: 80px;
}

.runeButtonsAvailable {
    background-color: var(--blessings-canbuy-color);
    cursor: pointer;
}

.runeButtonsAvailable:hover {
    background-color: var(--blessings-hover-color);
}

.runeButtonsAvailable > span {
    pointer-events: none;
}

#buyRuneBlessingInput {
    min-width: 100px;
    width: 5em;
    font-size: 0.8em;
    border: 2px solid crimson;
    color: white;
}

#buyRuneSpiritInput {
    min-width: 100px;
    width: 5em;
    font-size: 0.8em;
    border: 2px solid orange;
    color: white;
}

#campaigns {
    justify-content: center;
    align-items: start;
    margin-top: 10px;
}

#campaignsMain {
    width: 100%;
    margin-top: 2%;
    height: 90%;
    justify-items: center;
    display: grid;
    grid-template-columns: repeat(5, 1fr);
    grid-template-rows: repeat(4, 1fr);
}

#campaignsIcons {
    display: flex;
    flex-direction: column;
    justify-content: center;
    justify-items: center;
    grid-area: 1 / 1 / 4 / 3;
    width: 90%;
    height: 100%;
}

#campaignIconGrid {
    display: grid;
    grid-template-columns: repeat(10, minmax(0, 48px));
    grid-template-rows: repeat(5, minmax(0, 48px));
    grid-column-gap: 5px;
    grid-row-gap: 5px;
    justify-content: center;
}

/* Credit: gwabo_ */
.campaignIcon:not(.green-background),
.tieredAchievementType img:not(.green-background),
.progressiveAchievementType img:not(.green-background) {
    --pct: 0;

    background-image:
        linear-gradient(
            0deg,
            #00800033 -25%,
            #00800088 calc(round(var(--pct) * 100%, 1px) - 1px),
            green calc(round(var(--pct) * 100%, 1px) - 1px),
            green calc(round(var(--pct) * 100%, 1px)),
            transparent calc(round(var(--pct) * 100%, 1px))
        );
}

#campaignsIcons h3 {
    text-align: center;
}

#campaignsIcons img {
    width: 48px;
    height: 48px;
    font-size: 0;
    cursor: pointer;
}

#campaignsIcons img:hover {
    background-color: var(--hover-color);
}

#campaignsDescriptions {
    grid-area: 1 / 3 / 4 / 6;
    border: 2px solid red;
    width: 90%;
    height: 100%;
    text-align: center;
    display: flex;
    flex-direction: column;
}

#campaignsDescriptions h3 {
    margin-top: 1px;
    margin-bottom: 1px;
}

#campaignsDescriptions h5 {
    margin-top: 1px;
    margin-bottom: 1px;
}

#campaignCorruptionInfo {
    display: flex;
    flex-direction: row;
    justify-content: center;
    align-items: center;
    margin-top: 10px;
}

.campaignCorrDisplay {
    display: flex;
    flex-direction: row;
}

.campaignCorrDisplay img {
    width: 32px;
    height: 32px;
    font-size: 0;
}

.campaignCorrDisplay p {
    margin: 0;
}

#campaignCorruptions {
    width: 50%;
    height: 100%;
    display: flex;
    flex-direction: column;
}

#campaignCorruptionStats {
    width: 50%;
    height: 100%;
    display: flex;
    flex-direction: column;
    text-align: left;
}

#campaignCorruptionStats p {
    margin: 0;
}

#campaignCorruptionStats button {
    align-self: flex-end;
    width: 100%;
    border: 1px solid gold;
    font-size: 1.2em;
}

#campaignsTokensInfo {
    grid-area: 4 / 1 / 5 / 6;
    display: flex;
    flex-direction: column;
    justify-content: center;
    justify-items: center;
    text-align: center;
    margin-top: 1%;
    height: 90%;
    width: 90%;
}

#campaignsTokensInfo img {
    width: 48px;
    height: 48px;
    font-size: 0;
    cursor: pointer;
    margin-left: 2px;
    margin-right: 2px;
}

#campaignsTokensInfo img:hover {
    background-color: var(--hover-color);
}

#campaignsTokensInfo h2 {
    margin-top: 1px;
    margin-bottom: 1px;
}

#campaignsTokensInfo h4 {
    margin-top: 1px;
    margin-bottom: 1px;
}

#traits {
    justify-content: center;
    align-items: start;

    /* Hopefully prevent some elements from overlapping with the tab buttons */
    margin-top: 10px;
}

#corruptionMain {
    min-width: 700px;
    max-width: 1200px;
    margin: 10px;
    padding: 10px 0;
}

#corruptionIntroduction {
    font-size: 1.2em;
    color: var(--darkorchid-text-color);
}

#corruptionInfo1 {
    color: yellow;
}

#corruptionSelected {
    width: 70px;
    height: 70px;
    margin-top: 15px;
}

#corruptionSelectedPic {
    height: 100%;
    object-fit: contain;
}

#corruptionDetails {
    display: flex;
    min-height: 9em;
    visibility: hidden;
}

#corruptionName {
    font-size: 1.2em;
}

#corruptionDescription {
    color: darkviolet;
}

#corruptionLevelCurrent {
    color: var(--orchid-text-color);
}

#corruptionLevelPlanned {
    color: lime;
}

#corruptionSpiritContribution {
    color: gold;
}

#ascensionAutomation {
    margin-top: 10px;
}

#ascensionAmount,
#ascensionAutoEnable,
#ascensionAutoToggle {
    width: 12em;
    min-width: 150px;
    min-height: auto;
}

#ascensionAmount {
    border: 1px solid orange;
    color: gold;
    background-color: var(--blackbtn-color);
}

#corruptionStatsLoadouts {
    min-width: 500px;
    max-width: 600px;
    margin: 10px;
    padding: 30px 10px;
    border: 1px solid orange;
    box-sizing: border-box;
    color: white;
    background-color: var(--box-color);
    text-align: center;
}

#corrStatsBtn,
#corrLoadoutsBtn {
    min-width: 120px;
    max-width: 100%;
    border: 2px solid;
}

#corrButtonRow {
    gap: 30px;
}

.corruptionContainer {
    display: flex;
    flex-direction: column;
    justify-content: space-around;
}

.corruptionStatRow {
    display: flex;
    flex-flow: row;
    align-items: center;
}

.corruptionStatRow > img {
    height: 40px;
}

.corrDesc {
    color: white;
    min-width: 240px;
    margin: 0 auto;
    text-align: center;
    line-height: 1em;
}

.corrLoadoutName:hover {
    text-decoration: underline;
    cursor: pointer;
}

.corrLoadoutNameCol {
    width: 20%;
}

.corrBtn {
    width: 30px;
    margin: 0 auto;
}

#corruptionStats button {
    white-space: nowrap;
}

.corruptionMax {
    border: 2px solid green;
    width: 3.5em;
}

.corruptionUp {
    border: 1px solid green;
    min-width: 30px;
    width: 1.5em;
}

.corruptionDown {
    border: 1px solid red;
    min-width: 30px;
    width: 1.5em;
}

.corruptionReset {
    border: 2px solid red;
    width: 3.5em;
}

#corruptionStats,
#corruptionLoadouts {
    font-size: min(1em, 20px);
    margin-top: 10px;
    min-height: 350px;
    box-sizing: border-box;
    z-index: 1;
}

#corruptionDisplays {
    margin-top: 5%;
}

.corrLoadoutName {
    white-space: nowrap;
}

#corruptionLoadoutTable {
    border-collapse: collapse;
    text-align: center;
    width: 100%;
}

#corruptionLoadoutTable tbody th {
    font-size: 0;
    padding: 0;
}

img.small {
    width: 32px;
}

img.corruptionImg.small {
    width: 100%;
    max-width: 32px;
}

.corrSave {
    min-height: 20px;
    min-width: 40px;
    border: 1px solid dodgerblue;
    width: 100%;
}

.corrLoad {
    min-height: 20px;
    min-width: 40px;
    border: 1px solid #5b5ddc;
    width: 100%;
}

.corrImport {
    min-height: 20px;
    min-width: 40px;
    border: 1px solid green;
    width: 100%;
}

#corruptionCleanse {
    width: 8em;
    min-width: 150px;
    margin: auto 20px;
    border: 2px solid darkmagenta;
    z-index: 2;
}

#corruptionCleanseConfirm {
    width: 100px;
    margin: auto;
    border: 2px solid green;
    visibility: hidden;
}

header {
    display: flex;
    flex-direction: column;
    align-items: center;
    background-color: var(--header-color);
}

header .img {
    height: 32px;
    width: 32px;
}

.subHeader {
    display: flex;
    flex-direction: row;
    min-width: 1250px;
    max-width: calc((38px + 7.5em) * 4 + 40em);
    min-height: 90px;
    margin-bottom: 5px;
}

.currenciesContainer {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    line-height: 1em;
    font-variant-numeric: tabular-nums;
    white-space: nowrap;
    justify-content: space-around;
    flex-basis: 55%;
}

.currencyContainer {
    display: flex;
    align-items: center;
    width: calc(38px + 7.5em);
    min-width: 150px;
}

header #quarkDisplay { color: white; }
header #coinDisplay { color: gold; }
header #diamondDisplay { color: cyan; }
header #offeringDisplay { color: gold; }
header #mythosDisplay { color: plum; }
header #mythosshardDisplay { color: plum; }
header #particlesDisplay { color: limegreen; }
header #obtainiumDisplay { color: pink; }

.statDisplay {
    padding-left: 6px;
    margin: auto 0;
    line-height: 1em;
}

#ascensionStats {
    display: flex;
    margin: 10px 0;
    min-width: 1250px;
    justify-content: center;
    align-content: center;
    flex-wrap: wrap;
    gap: 2px 10px;
    font-variant-numeric: tabular-nums;
    line-height: 1em;
}

#ascensionStats > span {
    display: flex;
    white-space: pre;
    align-items: center;
}

#ascensionStats img {
    height: 20px;
    margin: auto 4px auto 0;
}

#ascLen {
    color: var(--darkcyan-text-color);
    min-width: 8em; /* prevent bouncing around */
}

#ascC10 {
    color: limegreen;
}

#ascTimeAccel {
    color: royalblue;
}

#ascAscensionTimeAccel {
    color: orange;
}

#ascSingularityCount {
    color: gold;
}

#ascSingLen {
    color: gold;
}

#tabBorder {
    height: 2px;
    position: relative;
    z-index: 0;
}

.challengeContainer {
    display: flex;
    flex-direction: column;
    margin-bottom: auto;
    padding: 5px 10px;
    text-align: left;
    font-size: 1em;
    line-height: 1.1em;
}

#c15RewardList {
    margin-bottom: 10px;
}

.challengePortion {
    width: 26em;
    max-width: 450px;
    color: white;
    margin: 0;
}

.challengeNumber {
    height: auto;
    text-align: left;
    font-size: 1em;
}

#c15Reward26,
#c15Reward26Num { color: var(--red-text-color); }

#c15Reward29,
#c15Reward29Num { color: var(--gray-text-color); }

#c15Reward33,
#c15Reward33Num,
#c15RewardList { color: var(--orchid-text-color); }

.platonicUpgradesContainer {
    display: flex;
    flex-direction: column;
    margin-left: 30px;
}

#platonicUpgradePics {
    font-size: 0;
}

#platonicUpgrades {
    display: flex;
    margin-bottom: 30px;
}

.platonicUpgradesToggles {
    display: flex;
    flex-direction: column;
    margin-left: 5px;
    margin-top: 6px;
    row-gap: 5px;
}

.platonicUpgradesToggles > button {
    width: 130px;
    height: 32px;
}

.platonicUpgradeImage {
    background-color: var(--buttonimg-color);
    cursor: pointer;
}

.platonicContainer {
    width: 400px;
    display: flex;
    flex-direction: column;
    margin-bottom: auto;
    padding: 5px 10px;
    color: white;
    text-align: left;
    font-size: 1em;
    white-space: pre-wrap;
}

.platonicPortion {
    width: 400px;
    margin: 0;
}

.hepteractGrid {
    display: grid;
    grid-template-columns: repeat(4, calc(60px + 3.8em * 2));
    grid-template-rows: repeat(3, calc(max(28px, 1.1em) * 3));
    margin-top: 10px;
    padding: 8px;
    width: calc((60px + 3.8em + 3.8em + 10px) * 4 + 8px);
    grid-column: shop 2/4;
    grid-row: 1;
    grid-column-gap: 15px;
    grid-row-gap: 15px;
    align-self: flex-start;
    line-height: 1.2em;
    padding-bottom: 2em;
    font-size: min(1em, 20px);
}

.hepteractGrid > div {
    display: grid;
    width: calc(60px + 3.8em + 3.8em);
    grid-template-columns: 60px 3.8em 3.8em;
    grid-template-rows: repeat(2, max(28px, 1.1em));
    align-items: center;
}

.heptTypeImage {
    grid-row: 1 / 3;
    align-self: center;
}

.heptGridInventory {
    grid-column: 1 / 4;
    display: block;
}

#warpAuto,
#powderDayWarp {
    grid-column: 2 / 4;
}

.heptGridInventoryLabel,
.heptGridInventoryValue {
    float: left;
}

.heptGridInventoryValue {
    float: right;
}

.hepteractGrid button {
    border: 2px solid pink;
    width: 100%;
    min-height: 26px;
    height: 1.4em;
    line-height: 1em;
    white-space: nowrap;
    margin: auto 0;
    padding: 0;
}

#hepteractAuto {
    display: block;
}

.autoHepteractText {
    margin-bottom: 5px;
    color: lightgoldenrodyellow;
    text-align: center;
}

.meter {
    height: 1em;
    position: relative;
    background: var(--hepteract-bar-empty);
    border-radius: 5px;
    padding: 2px;
    grid-column: 1 / 4;
    text-align: center;
    align-self: center;
}

.meter > span {
    display: block;
    height: 100%;
    color: white;
}

.progressBar {
    border-top-right-radius: 5px;
    border-bottom-right-radius: 5px;
    border-top-left-radius: 5px;
    border-bottom-left-radius: 5px;
    overflow: hidden;
    left: 0;
    top: 0;
    position: absolute;
    z-index: 1;
}

.progressText {
    position: absolute;
    color: white;
    z-index: 2;
    left: 50%;
    transform: translateX(-50%);
    top: 0;
    width: 100%;
    white-space: nowrap;
}

#hepteractCraftTexts {
    display: flex;
    flex-direction: column;
    text-align: center;
    margin-top: 15px;
}

#hepteractCraftTexts > p {
    margin: 0;
}

#hotkeys {
    flex-direction: column;
}

.hotkeys {
    display: grid;
    grid-template-columns: repeat(4, minmax(250px, 1fr));
    margin: 20px auto;
}

.hotkeyItem {
    display: flex;
    flex-direction: row;
    margin-top: 2px;
    gap: 0 5px;
}

#hotKeyDesc {
    margin: 0;
}

#hotkeyTooltip {
    color: var(--darkorchid-text-color);
}

.actualHotkey {
    padding: 1px 15px;
    color: gold;
    min-height: 2em;
}

.resetHotkeys {
    margin-top: 15px;
    display: flex;
    justify-content: center;
    gap: 10px;
}

.resetHotkeys > button {
    padding: 2px 4px;
}

#saveString {
    word-wrap: anywhere;
}

#singularity {
    position: relative;
    padding: 0;
    text-align: center;
}

#singularityTabsToggle {
    display: flex;
    justify-content: center;
    flex-flow: wrap;
    margin: 15px;
    gap: 10px 15px;
}

#singularityTabsToggle > button {
    min-width: 100px;
    text-align: center;
}

#singularityUpgradeContainer,
#singularityOcteracts,
#singularityAmbrosia {
    display: flex;
    flex-direction: column;
    align-items: center;
}

/* Singularity Elevator Styles */
.singularityElevatorContainer {
    border: 2px solid gold;
    border-radius: 8px;
    padding: 20px;
    margin: 20px auto;
    max-width: 600px;
    text-align: center;
}

.lookaheadInfo {
    margin: 20px;
}

.lookaheadInfo > p {
    margin: 0;
}

.elevatorControls {
    display: flex;
    flex-direction: column;
    gap: 20px;
    align-items: center;
}

.elevatorTargetSection {
    display: flex;
    flex-direction: column;
    gap: 10px;
    align-items: center;
}

.elevatorTargetSection label {
    color: var(--text-color);
    font-weight: bold;
}

.elevatorInput:focus {
    outline: none;
    border-color: orange;
}

.elevatorButton {
    --glow-color: gold;

    transition: background-color 0.2s ease, color 0.2s ease !important;
    border: 2px solid gold;
    border-radius: 6px;
    padding: 12px 24px;
    color: var(--text-color);
    min-width: 140px;
    font-size: 1.1em;
    font-weight: bold;
    cursor: pointer;
}

.elevatorInput {
    background-color: var(--input-color);
    border: 2px solid gold;
    border-radius: 4px;
    padding: 8px 12px;
    color: var(--text-color);
    font-size: 1.1em;
    width: 100px;
    text-align: center;
    box-sizing: border-box;
    appearance: textfield;
}

.elevatorInput::-webkit-outer-spin-button,
.elevatorInput::-webkit-inner-spin-button {
    appearance: none;
    margin: 0;
}

.elevatorButton:hover {
    background-color: white !important;
    border: 2px solid lightgoldenrodyellow;
    color: black;
    transform: translateY(-2px);
    box-shadow:
        0 0 15px var(--glow-color),
        0 0 30px var(--glow-color),
        0 0 45px var(--glow-color);
}

.elevatorLockSection {
    display: flex;
    flex-direction: column;
    gap: 10px;
    align-items: center;
    width: 100%;
}

.elevatorLockSection p {
    margin: 0;
}

#elevatorSettings {
    border: 2px solid white;
    width: 50%;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
}

.elevatorToggle {
    display: flex;
    align-items: center;
    gap: 10px;
    cursor: pointer;
    justify-content: flex-start;
    width: 75%;
    height: 32px;
}

#elevatorLockToggle,
#elevatorSlowClimbToggle {
    transform: scale(2);
    cursor: pointer;
    flex-shrink: 0;
    margin: 0;
}

.elevatorToggleLabel {
    color: var(--text-color);
    font-weight: bold;
    flex: 1;
    text-align: left;
}

.elevatorLockStatus {
    margin: 5px 0;
    font-weight: bold;
    text-align: center;
}

#actualSingularityUpgradeContainer,
#octeractUpgradeContainer,
#blueberryUpgradeContainer {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    padding: 10px;
    margin-top: 5px;
    width: calc(36px * 14);
    gap: 4px;
}

#blueberryUpgradeContainer {
    flex-direction: column;
}

.blueberryUpgradeTier {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    padding: 2px;
    width: 100%;
    gap: 4px;
}

.blueberryUpgradeTier > div {
    width: 32px;
    height: 32px;
}

.singularityUpgrade,
.octeractUpgrade,
.singularityChallenge {
    font-size: 0;
    cursor: pointer;
}

.ambrosiaLoadoutBtn {
    width: 20%;
    height: 30px;
    cursor: pointer;
    text-align: center;
}

#showCurrAmbrosiaUpgrades {
    width: 8%;
    height: 30px;
    cursor: pointer;
    text-align: center;
    border: 2px solid orange;
}

.blueberryLoadoutSlot {
    height: 32px;
    width: 32px;
    border: 2px solid blue;
}

.blueberryLoadoutSetting {
    height: 32px;
    width: 192px;
    border: 2px solid blue;
}

.rainbowBorder {
    width: 64px;
    height: 64px;
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
}

.rainbowBorder > img {
    position: relative;
    width: calc(100% - 6px); /* 58px */
    height: calc(100% - 6px);
    object-fit: none;
    background-color: var(--bg-color);
    border-radius: 3px;
}

.rainbowBorder:hover {
    cursor: pointer;
    background-color: var(--hover-color);
}

.rainbowBorder::before {
    position: absolute;
    width: 150%; /* 96px */
    height: 150%;
    background-image: conic-gradient(#ca001f, #ffb17f, #fff200, #22b14c, #767dda, #a349a4, #ca001f);
    animation: 3s linear infinite rotaterainbow;
    animation-play-state: inherit; /* For easier pause if needed */
    content: "";
}

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

.rainbowText {
    color: transparent;
    background-image: linear-gradient(90deg, #ca001f, #ffb17f, #fff200, #22b14c, #767dda, #a349a4, #ca001f, #ffb17f);
    background-clip: text;
    background-size: 700%;
    animation: rainbow-animation 5s linear infinite;
}

@keyframes rainbow-animation {
    0% {
        background-position: 0% 50%;
    }

    100% {
        background-position: 100% 50%;
    }
}

.gradientText {
    color: transparent;
    background-image: linear-gradient(90deg, var(--gradient-start), var(--gradient-end), var(--gradient-start));
    background-clip: text;
    background-size: 700%;
    animation: gradient-animation 5s linear infinite;
}

@keyframes gradient-animation {
    0% {
        background-position: 0% 50%;
    }

    100% {
        background-position: 100% 50%;
    }
}

.singularityGradient {
    --gradient-start: gold;
    --gradient-end: lightgoldenrodyellow;
}

.singularityUpgrade > img,
.octeractUpgrade > img,
.singularityChallenge img {
    cursor: pointer;
}

#singularityInfo {
    display: grid;
    grid-template-columns: repeat(2, auto);
    justify-content: center;
    align-content: center;
}

#singularityPenaltiesMultiline {
    white-space: pre-line;
    justify-content: center;
    margin-top: 1px;
    margin-bottom: 1px;
}

#singularityPerkContainer {
    display: grid;
    grid-template-rows: repeat(2, min-content);
}

#singularityPerksHeader {
    display: block;
    margin: 1px;
    height: min-content;
}

#singualrityPerksInfo {
    display: grid;
    grid-template-columns: repeat(2, auto);
}

img#singularityPerksIcon {
    display: grid;
    justify-self: end;
    align-self: end;
    padding-right: 5px;
}

#singularityPerksText {
    display: block;
    justify-self: start;
    margin-bottom: 1px;
}

#singularityPerksDesc {
    display: block;
    white-space: pre-line;
    margin: 5px 5px 1px;
    height: 150px;
    min-width: 39em;
    max-width: 39em;
    padding: 5px;
    overflow: auto;
    text-align: center;
}

#singularityPerksGrid {
    display: grid;
    grid-template-columns: repeat(5, 250px);
    grid-template-rows: repeat(10, auto);
    grid-auto-rows: auto;
    justify-content: center;
    align-content: center;
    grid-gap: 4px;
    font-size: 1em;
    margin-top: 5px;
}

#octeractUpgradeValues,
#ambrosiaUpgradeValues {
    width: 100%;
}

#goldenQuarkMultiline,
#singularityOcteractsMultiline,
#singularityAmbrosiaMultiline {
    white-space: pre-line;
    margin: 15px auto 0;
    justify-content: center;
    width: 40%;
    text-align: center;
}

#accountSubTab {
    white-space: pre-line;
    margin: 15px 0 0;
    justify-content: center;
    flex-direction: column;
}

#singularityChallengeDetails {
    display: block;
}

#singularityChallengesInfo {
    white-space: pre-line;
    margin-top: 10px;
    margin-bottom: 5px;
    text-align: center;
}

#singularityChallengeAllRewards {
    display: grid;
    grid-template-rows: repeat(2, auto);
    grid-template-columns: repeat(2, 375px);
    justify-content: center;
    grid-gap: 10px;
}

#singularityChallengeScalingHeader {
    font-weight: bold;
    font-size: 1.2em;
    text-align: center;
    margin: 0;
}

#singularityChallengeUniqueHeader {
    font-weight: bold;
    font-size: 1.2em;
    text-align: center;
    margin: 0;
}

#singularityChallengesScalingRewards {
    display: block;
    white-space: pre-line;
    margin: 0;
    text-align: center;
}

#singularityChallengesUniqueRewards {
    display: block;
    white-space: pre-line;
    margin: 0;
}

.newPerk {
    display: grid;
    grid-template-columns: repeat(2, auto);
    justify-items: left;
    align-items: center;
    text-align: center;
    padding: 2px;
    cursor: pointer;
    color: gold;
    border: 2px ridge gold;
    font-weight: bold;
    background-color: var(--button-color);
    transition: background-color var(--transition-extra), border-color var(--transition-extra);
}

.oldPerk {
    display: grid;
    grid-template-columns: repeat(2, auto);
    justify-items: left;
    align-items: center;
    text-align: center;
    padding: 2px;
    cursor: pointer;
    border: 2px solid gold;
    background-color: var(--button-color);
    transition: background-color var(--transition-extra), border-color var(--transition-extra);
}

.newPerk:hover {
    background-color: var(--hover-color);
}

.oldPerk:hover {
    background-color: var(--hover-color);
}

#autoHepteractPercentage {
    display: block;
    width: 100%;
    text-align: center;
    padding-bottom: 5px;
}

#event {
    position: relative;
    padding: 20px;
    text-align: center;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 20px;
    width: 100%;
}

.event-container {
    border-radius: 8px;
    padding: 15px;
}

.event-title {
    margin: 0 0 10px;
    color: #ffd700;
}

.event-bonus,
.event-timer {
    margin: 5px 0;
}

#globalEventBonus,
#consumableEventBonus,
#globalEventTimer,
#consumableEventTimer {
    color: #8f8;
}

#eventBuffContainer,
#consumableBuffContainer {
    display: flex;
    flex-direction: row;
    justify-content: center;
}

.eventBuffVal,
.consumableBuffVal {
    display: flex;
    align-items: center;
}

.eventBuffVal img,
.consumableBuffVal img {
    margin: 0;
    padding: 0;
    height: 32px;
    width: 32px;
}

.eventBuffVal p,
.consumableBuffVall p {
    margin: 0;
    padding: 0;
}

.consumableButton,
#apply-tips {
    border: 2px solid #ffd700;
    background-color: #ffd700;
    color: black;
    cursor: pointer;
    padding: 5px;
    margin: 5px;
    width: 150px;
}

#apply-tips:not(:hover) {
    border: 2px solid var(--hovershop-color);
    background-color: var(--hovershop-color);
}

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

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

*[class^="hoveredBlueberryLoadout"] div[class^="bbPurchasedLoadout"] {
    background-color: green;
}

.blueberryPrereq {
    height: 28px;
    width: 28px;
    border: 2px solid gold;
}

/* Style for dimmed image */
.blueberryUpgrade img.dimmed,
.redAmbrosiaUpgrade img.dimmed {
    opacity: 0.3;
}

.blueberryUpgrade img.superDimmed,
.redAmbrosiaUpgrade img.superDimmed {
    opacity: 0; /* if not bought, fully dim */
}

/* Style for level display */
.blueberryUpgrade .level-overlay,
.redAmbrosiaUpgrade .level-overlay {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    font-size: 1.2em;
    text-shadow: 2px 2px 4px #000;
    z-index: 999;
    display: flex;
    flex-direction: column;
    align-items: center;
    line-height: 0.8;
    background-color: black;
}

/* Style for relative positioning */
.blueberryUpgrade,
.redAmbrosiaUpgrade {
    position: relative;
    display: inline-block; /* Or block, depending on your layout */
    cursor: pointer;
}

.maxBlueberryLevel,
.maxRedAmbrosiaLevel {
    color: orchid;
    font-weight: bold;
}

.notMaxBlueberryLevel,
.notMaxRedAmbrosiaLevel {
    color: white;
}

/* Stolen from https://codepen.io/mike-schultz/pen/NgQvGO */
#switchSettingSubTab9 {
    --border-width: 2px;

    position: relative;
    border-radius: var(--border-width);
}

#switchSettingSubTab9::after,
.blueberryPrereq::after {
    content: "";
    position: absolute;
    top: calc(-1 * var(--border-width));
    left: calc(-1 * var(--border-width));
    height: calc(100% + var(--border-width) * 2);
    width: calc(100% + var(--border-width) * 2);
    background: linear-gradient(60deg, #f79533, #f37055, #ef4e7b, #a166ab, #5073b8, #1098ad, #07b39b, #6fba82);
    border-radius: calc(2 * var(--border-width));
    z-index: -1;
    animation: animatedgradient 3s ease alternate infinite;
    background-size: 300% 300%;
}

#switchSettingSubTab9:hover {
    background-color: var(--hover-color);
}

@keyframes animatedgradient {
    0% {
        background-position: 0% 50%;
    }

    50% {
        background-position: 100% 50%;
    }

    100% {
        background-position: 0% 50%;
    }
}

/* // Stolen from https://codepen.io/mike-schultz/pen/NgQvGO */

#accountSubTab div#left.scrollbarX > div[id="button-holder"] {
    display: flex;
    flex-direction: row;
    justify-content: center;
}

#accountSubTab div#left.scrollbarX > div[id="button-holder"] > button {
    border: 2px solid red;
    min-width: 150px;
    min-height: 30px;
    margin: 2px;
}

#accountSubTab div#left.scrollbarX > div:is(#register, #login, #forgotpassword) {
    display: flex;
    flex-direction: column;
    border: 1px solid gold;
    width: max-content;
    margin: 0 auto;
}

#accountSubTab div#left.scrollbarX > div:is(#login, #forgotpassword) {
    display: none;
}

/** Remove vertical spacing */
#accountSubTab div#left.scrollbarX > div > form {
    font-size: 0;
}

#accountSubTab div#left.scrollbarX > div > form > * {
    font-size: medium;
    margin: 2px 10px;
}

#accountSubTab div#left.scrollbarX > div > form > input[type="submit"] {
    border: 1px solid gold;
    padding: 3px 5px;
}

.splitContainer {
    display: flex;
    flex-direction: row;
}

.splitContainer > .scrollbarX {
    width: 50%;
}

#accountSubTab div#right.scrollbarX > #buttons {
    display: flex;
    justify-content: center;
}

#accountSubTab div#right.scrollbarX #upload,
#accountSubTab div#right.scrollbarX #transfer {
    min-width: 100px;
    min-height: 30px;
    border: 2px solid purple;
    margin: 2px;
}

#accountSubTab div#right.scrollbarX #transfer {
    border: 2px solid pink;
}

.spinner {
    border: 2px solid #f3f3f3;
    border-top: 2px solid #3498db;
    border-radius: 50%;
    width: 16px;
    height: 16px;
    animation: spin 1s linear infinite;
    display: inline-block;
    transform: translateY(-1px); /* Fine-tune this value */
    vertical-align: middle;
}

@keyframes spin {
    0% { transform: translateY(-1px) rotate(0deg); }
    100% { transform: translateY(-1px) rotate(360deg); }
}

#accountSubTab div#right.scrollbarX > #table {
    white-space: nowrap;
}

#accountSubTab div#right.scrollbarX > #table > .grid-table {
    display: grid;
    grid-template-columns: 80px 0.5fr 0.5fr;
    width: 99%;
    justify-content: center;
}

#accountSubTab div#right.scrollbarX > #table > .grid-table > * {
    display: flex;
    align-items: center;
    padding: 16px 0;
}

#accountSubTab div#right.scrollbarX > #table > .grid-table > .grid-header {
    font-weight: 600;
    font-size: 14px;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    border-bottom: 1px solid white;
    padding-bottom: 5px;
    padding-top: 0;
}

#accountSubTab div#right.scrollbarX > #table > .grid-table .grid-cell {
    text-align: left;
    padding: 5px;
}

#accountSubTab div#right.scrollbarX > #table > .grid-table .grid-cell.alt-row {
    background: var(--history-lines);
}

#accountSubTab div#right.scrollbarX > #table > .grid-table .name-cell {
    font-weight: 500;
}

#accountSubTab div#right.scrollbarX > #table > .grid-table .date-cell {
    font-size: 14px;
}

#accountSubTab div#right.scrollbarX > #table > .grid-table .grid-details-row {
    background: var(--alert-color);
    border-left: 3px solid #007bff;
    margin: 0;
    padding: 0;
}

/* Details content container */
.details-content {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    padding: 20px;
    gap: 20px;
}

/* Details actions section */
.details-actions {
    display: flex;
    gap: 10px;
    flex-shrink: 0;
}

.details-actions button {
    padding: 8px 16px;
    border: none;
    border-radius: 4px;
    font-size: 14px;
    font-weight: 500;
    cursor: pointer;
    transition: all 0.2s ease;
}

.details-actions .btn-download {
    background: var(--success-color, #28a745);
    color: white;
}

.details-actions .btn-download:hover {
    background: var(--success-hover, #218838);
}

.details-actions .btn-load {
    background: var(--primary-color, #007bff);
    color: white;
}

.details-actions .btn-load:hover {
    background: var(--primary-hover, #0056b3);
}

.details-actions .btn-delete {
    background: var(--danger-color, #dc3545);
    color: white;
}

.details-actions .btn-delete:hover {
    background: var(--danger-hover, #c82333);
}

/* Add hover effect to main rows to indicate they're clickable */
#accountSubTab div#right.scrollbarX > #table > .grid-table .grid-row:hover .grid-cell {
    background: var(--hover-color, rgb(0 123 255 / 10%));
}

/* Smooth animation for expanding rows */
.grid-details-row {
    animation: slide-down 0.2s ease-out;
}

@keyframes slide-down {
    from {
        opacity: 0;
        transform: translateY(-10px);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }
}

@media (max-width: 768px) {
    .details-content {
        flex-direction: column;
        gap: 15px;
    }

    .details-actions {
        justify-content: flex-start;
        flex-wrap: wrap;
    }
}

#pixelProgressBar {
    width: 25%;
    height: 30px;
    background-color: black;
    border: solid white;
    border-radius: 5px;
    box-shadow: 0 1px 3px rgb(0 0 0 / 20%);
    position: relative;
}

#pixelProgress {
    height: 100%;
    background: linear-gradient(to right, maroon, red);
    border-radius: 5px;
    transition: width 0.4s ease;
}

#pixelProgressText {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    display: flex;
    align-items: center; /* Center the text vertically */
    justify-content: center; /* Center the text horizontally */
    color: white;
    font-weight: bold;
}

#ambrosiaProgressBar {
    width: 25%;
    height: 30px;
    background-color: black;
    border: solid white;
    border-radius: 5px;
    box-shadow: 0 1px 3px rgb(0 0 0 / 20%);
    position: relative;
}

#ambrosiaProgress {
    height: 100%;
    background: linear-gradient(to right, navy, darkturquoise);
    border-radius: 5px;
    transition: width 0.4s ease;
}

#ambrosiaProgressText {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    display: flex;
    align-items: center; /* Center the text vertically */
    justify-content: center; /* Center the text horizontally */
    color: white;
    font-weight: bold;
}

#bbLoadoutContainer {
    display: flex;
    flex-direction: row;
    align-items: center;
    margin-top: 10px;
}

form input:hover {
    background-color: var(--hover-color);
    cursor: pointer;
}

#logoutButton {
    border: 2px solid #5865f2;
    height: 25px;
    width: 150px;
    margin-left: auto;
    margin-right: auto;
    margin-top: 5px;
}

.pseudoUpgradeContainer {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 10px;
    justify-items: center;
    width: 70%;
    margin: 0 auto;
}

.pseudoSubscriptionContainer {
    display: flex;
    flex-direction: column;
    align-items: center;
}

.pseudoSubscriptionContainer > form {
    display: flex;
    flex-direction: column;
    justify-content: center;
    margin-top: 10px;
}

.pseudoSubscriptionContainer > form > input[type="submit"] {
    border: 2px solid gold;
    width: 200px;
    height: 40px;
}

.pseudoSubscriptionContainer > #sub-section-holder {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    width: 70%;
}

.pseudoCoinContainer {
    margin: 10px 10px 0 0;
    border: 1px solid #ccc;
    border: 2px solid orchid;
    text-align: center;
}

.subscriptionContainer {
    margin: 10px 10px 0 0;
    border: 1px solid lightgoldenrodyellow;
    border: 2px solid gold;
    text-align: center;
}

#pseudoCoins > #productContainer > section > * > .pseudoCoinImage {
    margin-top: 8px;
}

#pseudoCoins > #supportContainer {
    text-align: center;
    padding-top: 10px;
}

#pseudoCoins > #supportContainer > a {
    border: 1px solid gold;
    padding: 4px 8px;
}

#pseudoCoins img {
    image-rendering: unset;
}

.pseudoCoinSubImage {
    height: 48px;
    width: 48px;
}

.pseudoCoinText {
    width: 90%;
    height: 80px;
    padding: 10px;
    box-sizing: border-box;
    text-align: center;
    box-shadow: 0 0 10px rgb(0 0 0 / 10%);
    border: 1px solid #ccc;
    margin: 5px auto;
}

.pseudoSubscriptionText {
    width: 100%;
    padding: 10px;
    box-sizing: border-box;
    text-align: center;
    box-shadow: 0 0 10px rgb(0 0 0 / 10%);
    margin: 5px auto;
}

.pseudoCoinButton {
    width: 75%;
    height: 65px;
    padding: 10px;
    background-color: black;
    color: white;
    cursor: pointer;
    border: 2px solid white;
    font-size: 1.2em;
    word-wrap: break-word;
    margin-bottom: 5px;
}

.pseudoCoinButton:hover {
    background-color: white;
    color: black;
}

#cart {
    width: fit-content;
    margin: 5px auto 0;
    border: 2px solid white;
    border-radius: 5px;
}

#cart > img {
    width: 24px;
    height: 24px;
}

#totalCost {
    margin: 0 auto;
}

#checkout-buttons {
    display: flex;
    justify-content: center;
    flex-direction: column;
    margin: 0 auto;
}

#checkout-buttons > button[id^="checkout"] {
    margin: 2px auto 4px;
}

#checkout-buttons > #checkout-nowpayments {
    background-color: cadetblue;
}

.cartListElementContainer > * {
    width: 5vh;
}

.cartListElementContainer > button {
    min-height: unset;
    height: 50%;
    border: 2px solid green;
    border-radius: 2px;
}

#itemList {
    display: flex;
    flex-wrap: wrap;
    flex-direction: column;
}

.cartListElementContainer {
    display: flex;
}

.cartListElement {
    width: 30vh;
}

.cartListElementContainer > span:first-of-type {
    width: 80%;
}

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

#cartContainer {
    display: flex;
    width: 70vh;
    justify-content: center;
    margin: 0 auto;
    margin-top: 10px;
}

#consumablesSection {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    margin: 0 auto;
    width: 70%;
}

.purchaseConsumableContainer {
    border: 2px solid var(--amber-text-color);
    padding: 5px;
    box-sizing: border-box;
}

.consumablePurchaseBtn {
    display: flex;
    align-items: center;
    white-space: pre;
    padding: 0 5px;
    box-sizing: border-box;
    border: 2px solid var(--amber-text-color);
    margin: 5px auto 0;
}

.timeSkipSet {
    display: flex;
    flex-direction: row;
    justify-content: center;
    align-items: center;
    margin: 0 auto;
}

.timeSkipContainer {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    margin: 0;
    width: 33%;
    height: 30%;
}

.timeSkipOptions {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    margin: 0;
    padding: 0;
}

/* Cost text */
#consumablesGrid > div > button > :nth-child(2) {
    color: var(--amber-text-color);
}

#consumablesGrid > div > * {
    margin: 0;
}

#upgradeGrid {
    display: grid;
    grid-template-columns: repeat(6, 15%);
    grid-template-rows: repeat(3, 15%);
    column-gap: 10px;
    row-gap: 64px;
    margin: 0;
    width: 38%;
    padding-top: 15px;
    max-height: 256px;
}

#upgradeGrid > div {
    position: relative;
    height: 64px;
    width: 64px;
    background: #222;
    place-self: center;
}

#upgradeGrid > div > p {
    margin: 0;
    position: absolute;
    bottom: 0;
}

#upgradeGrid > div > p:nth-child(odd) {
    margin: 0;
    position: absolute;
    top: 0;
    right: 0;
}

#upgradeGrid > div > img {
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
    border-radius: 50%;
    width: 70%;
}

#upgradeGrid > div[data-id].active {
    outline: 2px solid white;
}

#pseudoCoinAmounts,
#pseudoCoinAmounts2 {
    display: flex;
    flex-direction: row;
    justify-content: center;
    align-items: center;
    margin: 10px;
}

#pseudoCoinAmounts > img,
#pseudoCoinAmounts2 > img {
    max-height: 32px;
    max-width: 32px;
}

#upgradeInfo {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    margin: 10px auto;
    width: 50%;
    border: 3px solid var(--darkgold-color);
}

#pseudoCoinUpgradeName {
    background-color: var(--darkgold-color);
    width: 100%;
    text-align: center;
    font-size: 0.8em;
}

#pseudoCoinUpgradeDescription {
    display: grid;
    height: 192px;
    grid-template-columns: repeat(3, 1fr);
    grid-template-rows: 192px;
    width: 100%;
}

#pseudoCoinUpgradeIcon {
    grid-column: 1;
    margin: auto;
}

#pseudoCoinUpgradeTexts {
    display: grid;
    grid-template-rows: repeat(6, 1fr);
    grid-column: 2 / 4;
    margin: auto;
    width: 100%;
    height: 100%;
    align-items: center;
}

#pCoinUpgradeDesc {
    grid-row: 1 / 6;
    text-align: center;
    margin: auto;
    width: 100%;
}

#pCoinUpgradeDesc > p {
    margin: 0;
}

#pCoinButton {
    grid-row: 6;
    margin: 0 auto;
    width: 100%;
}

#buy {
    width: 100%;
    border: 2px solid gold;
    font-size: 1.2em;
}

#captchaHolder > .cf-turnstile {
    max-width: fit-content;
    max-height: fit-content;
    margin: auto;
}

#merchContainer {
    flex-direction: column;
    justify-content: center;
    align-items: center;
}

#merchContainer > a {
    text-decoration: none;
    margin-top: 10px;
    border: 2px solid purple;
    min-width: 150px;
    text-align: center;
}

#merchContainer > a:hover {
    background-color: var(--hover-color);
}

#merchContainer > #slideshows {
    display: flex;
    flex-direction: row;
    justify-content: center;
    width: 100%;
    margin-top: 10px;
    flex-wrap: wrap;
}

.slideshow-container {
    max-width: 1000px;
    position: relative;
}

.slideshow-container .slide {
    display: none;
}

.slideshow-container .prev,
.slideshow-container .next {
    cursor: pointer;
    position: absolute;
    top: 50%;
    width: auto;
    margin-top: -22px;
    padding: 16px;
    color: black;
    font-weight: bold;
    font-size: 18px;
    transition: 0.6s ease;
    border-radius: 0 3px 3px 0;
    user-select: none;
}

.slideshow-container .next {
    right: 0;
    border-radius: 3px 0 0 3px;
}

.slideshow-container .prev:hover,
.slideshow-container .next:hover {
    background-color: rgba(0 0 0 / 80%);
}

.slideshow-container .text {
    color: black;
    background-color: #e3e3e3;
    width: max-content;
    font-weight: bold;
    padding: 8px 12px;
    position: absolute;
    bottom: 8px;
    left: 50%;
    transform: translateX(-50%);
    text-align: center;
}

.slideshow-container .pageNumber {
    color: black;
    font-size: 12px;
    padding: 8px 12px;
    position: absolute;
    top: 0;
}

.slideshow-container .active {
    background-color: #717171;
    display: block;
}

.slideshow-container .fade {
    animation-name: fade;
    animation-duration: 1.5s;
}

@keyframes fade {
    from { opacity: 0.4; }
    to { opacity: 1; }
}

.sr-only {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    border: 0;
}

.upgrade-button {
    background: none;
    cursor: pointer;
}

.upgrade-button:focus-visible {
    outline: 2px solid #4a90e2;
}

.upgrade-button[aria-disabled="true"] {
    opacity: 0.6;
    cursor: not-allowed;
}

.fastForwardVisible {
    display: flex !important;
}

h2,
h3 {
    margin: 2px;
}

.green-background {
    background-color: var(--green-text-color);
}

.purple-background {
    background-color: var(--purplebtn-color);
}

.green-background img {
    background-color: var(--green-text-color);
}

.purple-background img {
    background-color: var(--purplebtn-color);
}

html[data-coin-one="true"] .coinunlock1 {
    display: flex;
}

html[data-coin-one="false"] .coinunlock1 {
    display: none;
}

html[data-coin-two="true"] .coinunlock2 {
    display: flex;
}

html[data-coin-two="false"] .coinunlock2 {
    display: none;
}

html[data-coin-three="true"] .coinunlock3 {
    display: flex;
}

html[data-coin-three="false"] .coinunlock3 {
    display: none;
}

html[data-coin-four="true"] .coinunlock4 {
    display: flex;
}

html[data-coin-four="false"] .coinunlock4 {
    display: none;
}

html[data-generation-unlock="true"] .generationunlock {
    display: block;
}

html[data-generation-unlock="false"] .generationunlock {
    display: none;
}

html[data-reincarnation-one="true"] .reinrow1 {
    display: block;
}

html[data-reincarnation-one="false"] .reinrow1 {
    display: none;
}

html[data-reincarnation-two="true"] .reinrow2 {
    display: block;
}

html[data-reincarnation-two="false"] .reinrow2 {
    display: none;
}

html[data-reincarnation-three="true"] .reinrow3 {
    display: block;
}

html[data-reincarnation-three="false"] .reinrow3 {
    display: none;
}

html[data-reincarnation-four="true"] .reinrow4 {
    display: block;
}

html[data-reincarnation-four="false"] .reinrow4 {
    display: none;
}

html[data-chal6="true"] .chal6 {
    display: block;
}

html[data-chal6="false"] .chal6 {
    display: none;
}

html[data-chal7="true"] .chal7 {
    display: block;
}

html[data-chal7="false"] .chal7 {
    display: none;
}

html[data-chal7x10="true"] .chal7x10 {
    display: block;
}

html[data-chal7x10="false"] .chal7x10 {
    display: none;
}

html[data-chal9="true"] .chal9 {
    display: block;
}

html[data-chal9="false"] .chal9 {
    display: none;
}

html[data-chal9x1="true"] .chal9x1 {
    display: block;
}

html[data-chal9x1="false"] .chal9x1 {
    display: none;
}

html[data-chal10="true"] .chal10 {
    display: block;
}

html[data-chal10="false"] .chal10 {
    display: none;
}

html[data-chal11="true"] .chal11 {
    display: block;
}

html[data-chal11="false"] .chal11 {
    display: none;
}

html[data-chal12="true"] .chal12 {
    display: block;
}

html[data-chal12="false"] .chal12 {
    display: none;
}

html[data-chal13="true"] .chal13 {
    display: block;
}

html[data-chal13="false"] .chal13 {
    display: none;
}

html[data-chal14="true"] .chal14 {
    display: block;
}

html[data-chal14="false"] .chal14 {
    display: none;
}

html[data-ascend-unlock="true"] .ascendunlockib {
    display: inline-block;
}

html[data-ascend-unlock="false"] .ascendunlockib {
    display: none;
}

html[data-prestige-unlock="true"] .prestigeunlockib {
    display: inline-block;
}

html[data-prestige-unlock="false"] .prestigeunlockib {
    display: none;
}

html[data-research150="true"] .research150 {
    display: block;
}

html[data-research150="false"] .research150 {
    display: none;
}

html[data-cube-upgrade10="true"] .cubeUpgrade10 {
    display: flex;
}

html[data-cube-upgrade10="false"] .cubeUpgrade10 {
    display: none;
}

html[data-cube-upgrade19="true"] .cubeUpgrade19 {
    display: block;
}

html[data-cube-upgrade19="false"] .cubeUpgrade19 {
    display: none;
}

html[data-sacrifice-ants="true"] .sacrificeAnts {
    display: block;
}

html[data-sacrifice-ants="false"] .sacrificeAnts {
    display: none;
}

html[data-hepteracts="true"] .hepteracts {
    display: block;
}

html[data-hepteracts="false"] .hepteracts {
    display: none;
}

html[data-singularity="true"] .singularity {
    display: block;
}

html[data-singularity="false"] .singularity {
    display: none;
}

html[data-cookies1="true"] .assortedCookies1 {
    display: block;
}

html[data-cookies1="false"] .assortedCookies1 {
    display: none;
}

html[data-cookies2="true"] .assortedCookies2 {
    display: block;
}

html[data-cookies2="false"] .assortedCookies2 {
    display: none;
}

html[data-cookies3="true"] .assortedCookies3 {
    display: block;
}

html[data-cookies3="false"] .assortedCookies3 {
    display: none;
}

html[data-cookies4="true"] .assortedCookies4 {
    display: block;
}

html[data-cookies4="false"] .assortedCookies4 {
    display: none;
}

html[data-cookies5="true"] .assortedCookies5 {
    display: block;
}

html[data-cookies5="false"] .assortedCookies5 {
    display: none;
}

html[data-golden-quark3-upg="true"] .goldenQuark3Upg {
    display: block;
}

html[data-golden-quark3-upg="false"] .goldenQuark3Upg {
    display: none;
}

.modalBtnBuy {
    width: 60px;
    height: 30px;
    background-color: var(--button-color);
    border: 2px solid gold;
    margin: 5px auto;
    text-align: center;
}

#patchnotes {
    cursor: pointer;
}

#changelogWrapper {
    width: 50%;
    height: 100%;
    z-index: 10000;
    position: fixed;
    margin: 0 auto;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    display: none;
}

#changelogBlur {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 9999;
    backdrop-filter: blur(8px);
    background-color: rgb(0 0 0 / 30%);
    pointer-events: all;
    display: none;
}
