:root {
    --bg: #2e3440; /* Changed with theme */
    --bg-alt-light: #2b303a; /* Changed with theme */
    --bg-alt-darker: #1c1f24; /* Changed with theme */
    --bg-alt-darkest: #121217; /* Changed with theme */
    --bg-alt-inspect: #42586e; /* Changed with theme */
    --chatbox: #2d2d43; /* Changed with theme */
    --accent: #88c0d0; /* Changed with theme */
    --text: #eceff4; /* Changed with theme */
    --text-main: #dcdcdc; /* Changed with theme */
    --text-alt: #c68029; /* Changed with theme */
    --text-placeholder: #6d6d6d; /* Changed with theme */
    --glass: rgba(46, 52, 64, 0.6); /* Changed with theme */
    --glass-dark: rgba(36, 39, 45, 0.8); /* Changed with theme */
    --base: #3bff5f;
    --base-dark: #2f743b;
    --freq: #4cffb5;
    --freq-dark: #42745f;
    --infr: #47a3ff;
    --infr-dark: #42586d;
    --nota: #b786fc;
    --nota-dark: #534666;
    --pecu: #ff4646;
    --pecu-dark: #614040;
    --anom: #1beb00;
    --anom-dark: #206217;
    --pure: #e9edf1;
    --pure-dark: #464646;
    --phan: #88dbff;
    --phan-dark: #5a6e77;
    --exal: #fffb7c;
    --exal-dark: #6f6e48;
    --flaw: #9800d4;
    --flaw-dark: #40214c;
    --astr: #0b0b13;
    --astr-dark: #0b0b13;
    --monads: #ffdc3e;
    --flecks: #b8318d;
    --abstraction0: #eceff4;
    --abstraction1: #fff9d6;
    --abstraction2: #fff5bb;
    --abstraction3: #ffed87;
    --abstraction4: #ffe762;
    --abstraction5: #ffe02f;
    --abstraction6: #ffd700;
    --abs-card: #8f7c14;
    --asc-card: linear-gradient(to right, #e4fbff, #b4f4ff, #f5cfff)
    /* --mouseX: -100px;
    --mouseY: -100px */
}

.hidden {
    display: none !important;
}

body {
    margin: 0;
    font-family: 'Victor Mono', monospace;
    background-color: var(--bg);
    color: var(--text);
    display: flex;
    flex-direction: column;
    height: 100vh;
    overflow: hidden;
    font-weight: bold;
    user-select: none;
}

button {
    cursor: pointer;
}
input::placeholder {
    color: var(--text-placeholder);
}
textarea::placeholder {
    color: var(--text-placeholder);
}

.topbar {
    background: var(--bg-alt-darker);
    padding: 0rem 1rem;
    height: 50px;
    display: flex;
    align-items: center;
    /* justify-content: space-between; */
    position: relative;
}

.logo {
    height: 24px;
    width: 24px;
}

.user-menu {
    position: absolute;
    display: flex;
    align-items: center;
    right: 1rem;
    /* gap: 0.5rem; */
    /* cursor: pointer; */
}
.user-info {
    position: relative;
    padding-right: 3vw;
    color: var(--monads);
}
.user-info .user-fullinfo {
    display: none;
    animation: none;
    overflow: hidden;
    position: fixed;
    margin-top: 15px;
    background-color: var(--bg);
    border-radius: 7px;
    padding: 5px;
    z-index: 89;
}
.user-info:hover .user-fullinfo {
    display: block !important;
    animation: userInfoGrow 0.5s forwards ease;
}
.user-fullinfo-monads-plus {
    font-size: 0.5rem;
    color: var(--accent);
}
@keyframes userInfoGrow {
    from {
        height: 0;
    }
    to {
        height: 50px;
    }
}
#user-fullinfo-flecks {
    color: var(--flecks);
}
#menu-toggle {
    cursor: pointer;
    margin-left: 0.5rem;
}

#username {
    font-weight: bold;
}

.svg-icon svg {
    transition: transform 0.2s ease;
}

.dropdown {
    position: absolute;
    right: 0;
    top: 40px;
    background: var(--glass);
    backdrop-filter: blur(10px);
    border-radius: 6px;
    overflow: hidden;
    box-shadow: 0 0 10px rgba(0, 0, 0, 0.2);
    z-index: 89;
}

.dropdown>div {
    padding: 0.5rem 1rem;
    cursor: pointer;
}

.dropdown>div:hover {
    background: var(--accent);
    color: var(--bg);
}

.main-layout {
    display: flex;
    height: calc(100vh - 50px);
    /* adjust based on your topbar height */
}


.chat-panel {
    flex: 0.25;
    display: flex;
    flex-direction: column;
    background: var(--bg-alt-darkest);
    max-width: 25vw;
}
#usermuteddisplay {
    position: absolute;
    bottom: 0;
    left: 0;
    background-color: rgba(234, 0, 0, 0.5);
    width: calc(25% - 70px);
    height: 300px;
    padding: 35px;
    z-index: 80;
    outline: 3px solid red;
    outline-offset: -30px;
}

.game-panel {
    flex: 0.5;
    display: flex;
    flex-direction: column;
    background: var(--bg-alt-darker);
    position: relative;
}
.inventory-panel {
    flex: 0.25;
    display: flex;
    flex-direction: column;
    background: var(--bg-alt-darkest);
}

.messages {
    flex: 1;
    overflow-y: auto;
    padding: 1rem;
    display: flex;
    flex-direction: column;
    scroll-behavior: smooth;
    scrollbar-color: var(--accent) var(--bg-alt-darker);
}

.message-input {
    padding: 0.5rem 1rem;
    background: var(--bg-alt-darker);
    display: flex;
    gap: 0.5rem;
}

textarea#chat-input {
    flex: 1;
    resize: none;
    background: var(--bg-alt-light);
    border: none;
    color: white;
    padding: 0.5rem;
    border-radius: 5px;
    font-family: inherit;
    white-space: nowrap;
    overflow: hidden;
  }

.upload-icon {
    padding: 0.4rem;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
}
.emote-icon {
    padding: 0.4rem;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-family: 'Noto Emoji', sans-serif;
    cursor: pointer;
    color: var(--text);
}
.emote-icon:hover {
    color: var(--accent);
}

.upload-icon:hover {
    cursor: pointer;
}

.upload-icon svg {
    cursor: pointer;
    fill: var(--text);
    max-height: 4.5rem;
    height: 4.5rem;
}

.upload-icon i {
    font-size: 1.4rem;
    /* bump it up slightly */
    color: var(--accent);
    /* give it your theme's accent */
    transition: transform 0.2s ease, color 0.2s ease;
}

.upload-icon:hover i {
    /* gentle pop on hover */
    color: var(--accent-hover);
}

#chat-input {
    flex: 1;
    resize: none;
    max-height: 4.5rem;
    padding: 0.6rem;
    border: none;
    border-radius: 6px;
    background: var(--chatbox);
    color: var(--text);
    font-family: inherit;
    overflow-y: auto;
    outline: none;
}

.overlay-blur {
    position: fixed;
    inset: 0;
    background: rgba(0, 0, 0, 0.4);
    backdrop-filter: blur(5px);
    z-index: 90;
}

.modal {
    position: fixed;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    background: var(--glass);
    border: 1px solid #4c566a;
    padding: 1.5rem;
    border-radius: 10px;
    box-shadow: 0 0 20px rgba(0, 0, 0, 0.3);
    z-index: 100;
    width: 400px;
    max-width: 90vw;
    color: var(--text);
    display: flex;
    flex-direction: column;
    gap: 1rem;
    max-height: 75%;
    overflow-y: auto;
    scrollbar-color: var(--accent) var(--bg-alt-darker);
}

.modal.small {
    width: 300px;
}

.modal h2,
.modal h3 {
    margin: 0 0 0.5rem;
    color: var(--accent);
}

.modal-option {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 0.5rem;
    background: var(--bg-alt-inspect);
    border-radius: 6px;
    position: relative;
}

.modal-option input[type="checkbox"],
.modal-option input[type="number"] {
    margin-left: auto;
}

.modal-option input[type="number"] {
    width: 80px;
    padding: 0.3rem;
    background: var(--bg-alt-light);
    border: 1px solid #4c566a;
    border-radius: 4px;
    color: var(--text);
    margin-top: 0.5rem;
}

.modal-option.clickable {
    cursor: pointer;
}

.modal-option.clickable:hover {
    background: var(--accent);
    color: var(--bg);
}

.modal-option.disabled {
    opacity: 0.4;
    cursor: not-allowed;
}

.tooltip {
    visibility: hidden;
    position: absolute;
    bottom: 110%;
    left: 0;
    background: #4c566a;
    padding: 0.4rem 0.6rem;
    border-radius: 6px;
    font-size: 0.8rem;
    white-space: nowrap;
    z-index: 10;
    opacity: 0;
    transition: all 0.75s linear;
}

.modal-option:hover .tooltip {
    visibility: visible;
    opacity: 1;
}

.modal button {
    padding: 0.5rem 1rem;
    background: var(--accent);
    border: none;
    border-radius: 6px;
    font-weight: bold;
    cursor: pointer;
    color: var(--bg);
    transition: background 0.2s ease;
}

.modal button:hover {
    background: var(--accent-hover);
}

.messages {
    display: flex;
    flex-direction: column;
    overflow-y: auto;
    height: calc(100vh - 150px);
    padding: 1rem;
    scroll-behavior: smooth;
    max-width: 25vw;
}

.message-bubble {
    background-color: var(--chatbox);
    border-radius: 12px;
    margin-bottom: 0.5rem;
    padding: 0.6rem 0.8rem;
    max-width: 90%;
    animation: fadeIn 0.3s ease;
    box-shadow: 0 0 10px rgba(0, 0, 0, 0.2);
    word-wrap: break-word;
}

.message-bubble.grouped {
    border-top-left-radius: 0;
    margin-top: -4px;
}

.msg-top {
    position: relative;
    display: flex;
    align-items: center;
    margin-bottom: 0.3rem;
    gap: 0.5rem;
    cursor: pointer;
    
}

.msg-top .pfp {
    width: 28px;
    height: 28px;
    border-radius: 100%;
}
.user-top .pfp {
    width: 28px;
    height: 28px;
    border-radius: 100%;
}

.msg-top .username {
    font-weight: bold;
    font-size: 0.95rem;
    color: #f0f0f0;
    background-clip: text; 
    -webkit-background-clip: text; 
    -webkit-text-fill-color: transparent; 
    -moz-background-clip: text; 
    -moz-text-fill-color: transparent;
    background-size: 100%;
    display: inline-block;
    cursor: pointer;
    /* background-image: linear-gradient(to right, #abcdef, #123456); */
}
.user-top .username {
    position: relative;
    top: -14px;
}
.user-top .status-text {
    position: relative;
    top: -16px;
    font-size: 10px;
    left: 36px;
}
.gradienttext {
    background-clip: text; 
    -webkit-background-clip: text; 
    -webkit-text-fill-color: transparent; 
    -moz-background-clip: text; 
    -moz-text-fill-color: transparent;
    background-size: 100%;
    display: inline-block;
}
#name-color-buttons {
    display: flex;
    flex-direction: row;
}
#name-color-buttons button {
    flex: 0.5;
    margin: 5px;
}
#pfp-edit-buttons {
    display: flex;
    flex-direction: row;
}
#pfp-edit-buttons button {
    flex: 0.5;
    margin: 5px;
}
.modal-close {
    position: absolute;
    top: 15px;
    right: 15px;
    width: fit-content;
}
.modal-close:hover {
    background: var(--pecu) !important;
}
.msg-top .time {
    margin-left: auto;
    font-size: 0.8rem;
    color: var(--text-main);
}

.msg-body {
    font-size: 0.72rem;
    color: var(--text-main);
    white-space: pre-line;
}

.fade-in {
    opacity: 0;
    animation: fadeIn 0.3s forwards;
}

.deletionbutton {
    float: right;
    color: red;
    border: 1px solid red;
    border-radius: 3px;
    width: 10px;
    height: 14px;
    text-align: center;
    padding: 0;
    margin-left: 1px;
    font-size: 12px;
    position: absolute;
    top: 0;
    right: -15px;
    opacity: 0;
    background-color: var(--text-placeholder);
    z-index: 75;
}
.deletionbutton:hover {
    animation: fadeIn 0.5s forwards;
}
.smallmessagecontainer {
    display: inline-block;
    width: calc(100% - 15px);
    position: relative;
}
.smallmessagecontainer:has(.deletionbutton):hover {
    background-color: var(--text-placeholder);
}
.message-fromserver {
    color: #ffa600 !important;
    /* text-shadow: -1px -1px 0 #ffa600, 1px -1px 0 #ffa600, -1px 1px 0 #ffa600, 1px 1px 0 #ffa600; */
}
.message-intext-emote {
    height: 1.5rem;
    width: 1.5rem;
}

.fullpack-el {
    width: 100%;
    height: 10vw;
    font-size: 1px;
    /* background-color: var(--bg-alt-darkest); */
    cursor: pointer;
    position: relative;
}
.fullpack-el img {
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
}
.pack-afk-button {
    position: absolute;
    top: 5px;
    right: 5px;
    font-size: 0.7rem;
    border: 3px solid var(--accent);
    background-color: var(--bg-alt-light);
    color: var(--text);
    border-radius: 6px;
    padding: 3px;
    margin: 3px;
}
.pack-afk-button:hover {
    background-color: var(--accent);
    border: 3px solid var(--infr);
    padding: 3px;
    transform: scale(1.1);
}
.pack-afk-button-special {
    font-size: 0.7rem;
    border: 3px solid var(--accent);
    background-color: var(--bg-alt-light);
    color: var(--text);
    border-radius: 6px;
    padding: 3px;
    margin: 3px;
}
.pack-afk-button-special:hover {
    background-color: var(--accent);
    border: 3px solid var(--infr);
    padding: 3px;
    transform: scale(1.1);
}
#pack-afk-buttons {
    position: absolute;
    bottom: 5px;
    right: 5px;
}
#inventory-supercontainer {
    flex: 0.8;
    /* display: grid; */
    /* grid-template-columns: 25% 25% 25% 25%; */
    overflow-y: scroll;
    overflow-x: hidden;
    scrollbar-color: var(--accent) var(--bg-alt-darker);
    height: min-content;
    max-height: min-content;
    position: relative;
}
.invitem {
    /* width: 5.6vw;
    height: 7.84vw; */
    width: 23%;
    height: auto;
    margin: 0 .2vw;
    aspect-ratio: 35 / 49;
    position: relative;
    overflow: hidden;
    cursor: pointer;
    border-radius: .3vw;
    display: inline-block;
}
.invitemhalfsize {
    width: 11.5% !important;
}
.invitemgridded {
    width: 100%;
}
.invitem-stackqty {
    position: absolute;
    bottom: 0;
    left: 0;
    background-color: var(--glass);
    font-size: 0.7rem;
    padding: 3px;
    border-radius: 4px;
}
#modal-stackpage {
    display: grid;
    grid-template-columns: 20% 20% 20% 20%;
    overflow-y: scroll;
    overflow-x: hidden;
    scrollbar-color: var(--accent) var(--bg-alt-darker);
    height: min-content;
    max-height: 70vh;
    padding: 5px;
    width: calc(inherit + 2vw);
}
#stackinspect-top {
    grid-column: 1 / 4;
}
/* .invitem:hover::after {
    content: attr(tooltipData);
    background: attr(tooltipRar);
    z-index: 70;
    position: fixed;
    top: var(--mouseY);
    left: var(--mouseX);
} */
.invitemimg {
    /* width: 5.8vw;
    height: 8.12vw; */
    width: 100%;
    height: 100%;
    /* margin: .2vw; */
    position: relative;
}
.invitemmodifier {
    /* width: 5.8vw;
    height: 8.12vw; */
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
}
.onitemtooltip {
    position: absolute;
    top: 0;
    left: 0;
    /* width: 5.8vw;
    height: 8.12vw; */
    width: 100%;
    height: 100%;
    padding: .15vw;
    justify-content: center;
    align-items: center;
    text-align: center;
    /* line-height: 100%; */
    display: none;
    background-color: rgba(0, 0, 0, 0.3);
    box-shadow: inset 0 0 25px 2vw rgba(0, 0, 0, 0.65);
    font-size: 10px;
    color: black;
    z-index: 60;
    text-shadow: -1px -1px 0 #ffffff, 1px -1px 0 #ffffff, -1px 1px 0 #ffffff, 1px 1px 0 #ffffff;
}
.onitemprice {
    height: calc(100% - 5px);
    width: calc(100% - 5px);
    position: absolute;
    bottom: 0;
    right: 0;
    padding: 5px;
    font-size: 10px;
    z-index: 50;
    color: black;
    text-shadow: -1px -1px 0 #ffffff, 1px -1px 0 #ffffff, -1px 1px 0 #ffffff, 1px 1px 0 #ffffff;
    /* -webkit-text-stroke: 1px white; */
    float: right;
    text-align: right;
    display: table-cell;
    vertical-align: bottom;    
}
.onitemprice span:first-child:not(.internal-abprice) {
    padding-left: 3px;
    float: left;
    text-align: left;
    vertical-align: top;
}
.onitemprice span:nth-child(3) {
    position: absolute;
    bottom: 5px;
    right: 5px;
}
.invitem:hover .onitemtooltip {
    display: flex;
}
.inventory-topbar {
    flex: 0.075;
    background-color: var(--bg-alt-darkest);
    color: var(--text-alt);
}
.inventory-footer {
    flex: 0.125;
    background-color: var(--bg-alt-darkest);
}
#inventory-footer-text {
    position: relative;
}
.inventory-pagebutton {
    border: none;
    background-color: var(--accent);
    color: var(--bg-alt-darker);
    width: 1.5vw;
    text-align: center;
    display: inline-block;
    border-radius: 3px;
    margin-left: 0.5vw;
    margin-right: 0.5vw;
}
#inventory-pagecounter {
    text-align: center;
    position: relative;
    display: inline-block;
    top: 2px;
    left: 0.35vw;
}
.inventory-sortbutton {
    border: none;
    background-color: var(--accent);
    color: var(--bg-alt-darker);
    width: fit-content;
    text-align: center;
    display: inline-block;
    border-radius: 3px;
    margin-left: 0.1vw;
    margin-right: 0.1vw;
}
.inventoryword {
    width: 25vw;
    text-align: center;
}
#game-pack-holder {
    display: flex;
    flex-direction: column;
    overflow-y: auto;
    width: 100%;
    min-height: 100%;
    scrollbar-color: var(--accent) var(--bg-alt-darker);
}
#game-tab-switcher {
    display: flex;
    float: left;
    flex-direction: row;
    /* background-color: var(--bg-alt-darkest); */
    width: 30%;
}
.game-tab {
    overflow-y: auto;
    scrollbar-color: var(--accent) var(--bg-alt-darker);
}
.game-tab-switch-button {
    flex: 1;
    margin: 10px 0px;
    text-align: center;
    cursor: pointer;
}
.game-tab-switch-button:nth-child(even):hover {
    text-decoration: underline;
}
.game-tab-switch-button:nth-child(odd) {
    cursor: default;
    color: #747474;
}
.game-tab-switch-active {
    color: var(--text-alt);
}
.game-tab-switch-active.game-tab-switch-wip {
    color: #474747;
}

#game-inspect-holder {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    overflow-y: auto;
    scrollbar-color: var(--accent) var(--bg-alt-darker);
    scrollbar-width: thin;
    overflow-x: hidden;
    display: grid;
    grid-template-areas: 
    "card header header"
    "card maintext maintext"
    "card maintext maintext"
    "modifiers abstractions abstractions"
    "footer footer footer";
    background-color: var(--bg);
    box-shadow: 0 0 30px inset var(--bg-alt-inspect);
    animation: box-glow 3s infinite alternate ease-in-out;
    z-index: 70;
}
@keyframes box-glow {
    from {
        box-shadow: 0 0 10px inset var(--bg-alt-inspect);
    }
    to {
        box-shadow: 0 0 100px inset var(--bg-alt-inspect);
    }
}
.game-inspect-card {
    padding-top: 15px;
    width: calc(50vw / 3);
    grid-area: card;
    /* background-color: orange; */
    display: flex;
    justify-content: center;
    align-items: center;
    flex-direction: column;
    /* width: calc(50vw / 3); */
}
#game-inspect-card-image-holder {
    aspect-ratio: 5 / 7;
    width: 15vw;
    height: 21vw;
    position: relative;
    top: 3px;
    transition: 0.2s;
    border-radius: .5625vw;
    overflow: hidden;
}
#game-inspect-card-image-holder:hover {
    transition: 0.1s !important;
    transform: rotate3d(var(--mouse-x), var(--mouse-y), 0.3, var(--mouse-deg)) scale(1.03);
    filter: brightness(var(--mouse-bright));
}
#game-inspect-card-image,#game-inspect-card-modifier,#game-inspect-card-abstract {
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
    image-rendering: pixelated;
}
#game-inspect-card-rarity {
    width: 10vw;
    height: 2.5vw;
    margin: 0 auto;
}
.game-inspect-header {
    grid-area: header;
    /* background-color: red; */
    position: relative;
    /* width: calc(100vw / 3); */
}
.game-inspect-header div {
    font-size: 1.5rem;
    color: white;
    padding: 12px;
    /* position: absolute; */
    /* bottom: 0;
    left: 0; */
}
.game-inspect-modifier {
    background-clip: text; 
    -webkit-background-clip: text; 
    -webkit-text-fill-color: transparent; 
    -moz-background-clip: text; 
    -moz-text-fill-color: transparent;
    background-size: 500%;
    display: inline-block;
    background-image: linear-gradient(to right, #e4fbff, #b4f4ff, #f5cfff);
    animation: fragmentButtonAnim alternate 2s ease-in-out infinite;
}
.game-inspect-maintext {
    grid-area: maintext;
    /* background-color: yellow; */
    padding: 20px;
}
.game-inspect-maintext img {
    width: 1.5rem;
    height: 1.5rem;
    position: relative;
    top: 3px;
}
.game-inspect-maintext span {
    color: var(--text-alt);
    font-size: 1.5rem;
}
#game-inspect-card-hp {
    font-size: 1.5rem;
}
.game-inspect-modifiers {
    width: calc(50vw / 3);
    grid-area: modifiers;
    /* background-color: green; */
}
.game-inspect-abstractions {
    grid-area: abstractions;
    /* background-color: blue; */
}
.game-inspect-footer {
    grid-area: footer;
    /* background-color: purple; */
}
#game-inspect-footer-nerdstats {
    width: calc(100%- 30px);
    padding: 5px;
    margin: 15px;
    border: 3px var(--glass-dark);
    background-color: var(--glass);
    border-radius: 15px;
    text-align: center;
    position: relative;
}
#game-inspect-footer-nerdstats:has(.nerd-baseprice:hover)::after {
    content: "The base price of this card.";
}
.nerd-plus {
    color: var(--text-alt);
}
#game-inspect-footer-nerdstats::after {
    position: absolute;
    width: 100%;
    bottom: -3rem;
    padding-bottom: 1rem;
    height: 2rem;
    left: 0;
    text-align: center;
    content: "Hover over something to view details...";
}
#game-inspect-footer-nerdstats:has(.nerd-plus:hover)::after {
    content: "Added to...";
}
.nerd-times {
    color: #249537;
}
#game-inspect-footer-nerdstats:has(.nerd-times:hover)::after {
    content: "Multiplied by...";
}
.nerd-power {
    background-clip: text; 
    -webkit-background-clip: text; 
    -webkit-text-fill-color: transparent; 
    -moz-background-clip: text; 
    -moz-text-fill-color: transparent;
    display: inline-block;
    background-image: linear-gradient(to right, #ed4bff, #a416b4, #71007e);
}
#game-inspect-footer-nerdstats:has(.nerd-power:hover)::after {
    content: "To the power of...";
}
.nerd-mod-a {
    color: #b4f4ff;
}
#game-inspect-footer-nerdstats:has(.nerd-mod-a:hover)::after {
    content: "The additive value from this card's Modifier.";
}
.nerd-mod-x {
    color: #f5cfff;
}
#game-inspect-footer-nerdstats:has(.nerd-mod-x:hover)::after {
    content: "The multiplicative value from this card's Modifier.";
}
.nerd-abs-base {
    color: var(--text-alt);
}
#game-inspect-footer-nerdstats:has(.nerd-abs-base:hover)::after {
    content: "The base multiplier for each Abstraction.";
}
.nerd-abs {
    background-clip: text; 
    -webkit-background-clip: text; 
    -webkit-text-fill-color: transparent; 
    -moz-background-clip: text; 
    -moz-text-fill-color: transparent;
    display: inline-block;
    background-image: linear-gradient(to bottom, #ed4bff, #a416b4, #71007e);
}
#game-inspect-footer-nerdstats:has(.nerd-abs:hover)::after {
    content: "The amount of Abstractions this card has.";
}
.nerd-asc {
    background-clip: text; 
    -webkit-background-clip: text; 
    -webkit-text-fill-color: transparent; 
    -moz-background-clip: text; 
    -moz-text-fill-color: transparent;
    background-size: 500%;
    display: inline-block;
    background-image: linear-gradient(to right, #e4fbff, #b4f4ff, #f5cfff);
    animation: fragmentButtonAnim alternate 2s ease-in-out infinite;
}
#game-inspect-footer-nerdstats:has(.nerd-asc:hover)::after {
    content: "The multiplicative value from this card's Ascension.";
}
#game-inspect-footer-nerdstats:has(.nerd-final:hover)::after {
    content: "The final price for this card.";
}

#game-inspect-maintext-price {
    color: var(--text-alt);
    line-height: 3rem;
    font-size: 1.2rem;
}
#game-inspect-desc {
    font-style: italic;
    padding: 15px;
}

.abs-toptext {
    font-size: 1.25rem;
    color: var(--text-alt);
}
.abs-bottomtext {
    font-size: 0.8rem;
}

.card-atext {
    border: 3px rgb(75, 74, 74);
    background-color: rgba(38, 38, 38, 0.7);
    border-radius: 15px;
    padding: 7px;
    margin: 3px;
    box-shadow: 0 0 10px inset rgba(98, 98, 98, 1);
}
.card-atext-locked {
    filter: blur(2px);
}
.card-atext-locked .abs-bottomtext {
    filter: blur(8px);
}
.abs-intext-data {
    color: var(--flecks);
    position: relative;
}
.abs-intext-highlight {
    color: var(--monads);
    position: relative;
}
.abs-intext-data:hover::before {
    position: absolute;
    right: 3px;
    bottom: calc(110% - 3px);
    z-index: 1;
    border: 3px solid white;
    content: "\2800";
    width: 10px;
    height: 10px;
    border-radius: 4px;
}
.abs-intext-data:hover::after {
    text-align: right;
    position: absolute;
    right: 5px;
    bottom: 110%;
    content: attr(data-afterval);
    z-index: 2;
    width: 150px;
    /* max-width: 200px; */
    background: rgba(38, 38, 38, 0.95);
    box-shadow: rgb(98, 98, 98) 0px 0px 10px inset;
    border-radius: 5px;
    padding: 7px;
    
}
/* .card-atext:hover {
    animation: text-hoverpop .5s ease forwards;
} */
/* .card-modtext {

} */
.card-modtext::after {
    font-family: "Share Tech Mono", monospace;
    content: "Modifiers";
    display: table-cell;
    vertical-align: bottom;
    text-align: right;
    float: right;
    font-style: italic;
    font-size: 1.5rem;
    position: relative;
    bottom: 1.5rem;
    color: rgba(211, 211, 211, 0.5);
}
.game-inspect-close {
    color: red;
    text-decoration: underline;
    position: absolute;
    top: 10px;
    right: 10px;
    font-size: 1rem;
    background: none;
    border: none;
}
.pullOverlay {
    position: fixed;
    inset: 0;
    background: rgba(0, 0, 0, 0.5);
    z-index: 110;
}
.animatedPullItem {
    position: absolute;
    top: calc(50vh - 17.5vw);
    left: 40vw;
    background-color: transparent !important;
    width: 20vw;
    height: 28vw;
    perspective: 60vw;
    z-index: 120;
}
.pullitemmodifier {
    width: 20vw;
    height: 28vw;
    position: absolute;
    top: 0;
    left: 0;
}
.anim-supercontainer {
    filter: blur(3px);
    position: absolute;
    top: calc(50vh - 18.3vw);
    left: 38.5vw;
    width: 23vw;
    height: 30vw;
    overflow: hidden;
    z-index: 119;
    --pullGradientCone: conic-gradient(var(--base) 30%, var(--freq) 58%, var(--infr) 76%, var(--nota) 86%, var(--pecu) 90%, var(--anom) 92%, var(--pure) 94%, var(--phan) 95%, var(--exal) 96%, var(--flaw) 97%, var(--base) 100%);
    animation: pullGlowInOut 0.5s alternate infinite cubic-bezier(0.45, 0.52, 0.36, 0.8);
}
@keyframes pullGlowInOut {
    from {
        filter: blur(3px);
    }
    to {
        filter: blur(11px);
    }
}
@keyframes pullGlowExpand {
    from {
        scale: 0.9;
    }
    to {
        scale: 1;
    }
}
.anim-supercontainer-base::before {
    content: ".";
    position: absolute;
    background-color: var(--base);
    width: 40vw;
    height: 40vw;
    top: -6vw;
    left: -8vw;
    animation: pullGlowExpand 0.7s alternate 1 cubic-bezier(0.45, 0.52, 0.36, 0.8);
}
.anim-supercontainer-freq::before {
    content: ".";
    position: absolute;
    background-color: var(--freq);
    width: 40vw;
    height: 40vw;
    top: -6vw;
    left: -8vw;
    animation: pullGlowExpand 0.7s alternate 1 cubic-bezier(0.45, 0.52, 0.36, 0.8);
}
.anim-supercontainer-infr::before {
    content: ".";
    position: absolute;
    background-color: var(--infr);
    width: 40vw;
    height: 40vw;
    top: -6vw;
    left: -8vw;
    animation: pullGlowExpand 0.7s alternate 1 cubic-bezier(0.45, 0.52, 0.36, 0.8);
}
.anim-supercontainer-nota::before {
    content: ".";
    position: absolute;
    background-color: var(--nota);
    width: 40vw;
    height: 40vw;
    top: -6vw;
    left: -8vw;
    animation: pullGlowExpand 0.7s alternate 1 cubic-bezier(0.45, 0.52, 0.36, 0.8);
}
.anim-supercontainer-pecu::before {
    content: ".";
    position: absolute;
    background-color: var(--pecu);
    width: 40vw;
    height: 40vw;
    top: -6vw;
    left: -8vw;
    animation: pullGlowExpand 0.7s alternate 1 cubic-bezier(0.45, 0.52, 0.36, 0.8);
}
.anim-supercontainer-anom::before {
    content: ".";
    position: absolute;
    background-image: linear-gradient(to bottom, var(--pure), var(--anom));
    width: 40vw;
    height: 40vw;
    top: -6vw;
    left: -8vw;
    animation: pullGlowExpand 0.7s alternate 1 cubic-bezier(0.45, 0.52, 0.36, 0.8);
}
.anim-supercontainer-pure::before {
    content: ".";
    position: absolute;
    background-image: linear-gradient(to bottom, var(--pure), var(--anom));
    width: 40vw;
    height: 40vw;
    top: -6vw;
    left: -8vw;
    animation: pullGlowExpand 0.7s alternate 1 cubic-bezier(0.45, 0.52, 0.36, 0.8);
}
.anim-supercontainer-phan::before {
    content: ".";
    position: absolute;
    background-color: var(--phan);
    width: 40vw;
    height: 40vw;
    top: -6vw;
    left: -8vw;
    animation: pullGlowExpand 0.7s alternate 1 cubic-bezier(0.45, 0.52, 0.36, 0.8);
}
.anim-supercontainer-exal::before {
    content: ".";
    position: absolute;
    background-color: var(--exal);
    width: 40vw;
    height: 40vw;
    top: -6vw;
    left: -8vw;
    animation: pullGlowExpand 0.7s alternate 1 cubic-bezier(0.45, 0.52, 0.36, 0.8);
}
.anim-supercontainer-flaw::before {
    content: ".";
    position: absolute;
    background-color: var(--flaw);
    width: 40vw;
    height: 40vw;
    top: -6vw;
    left: -8vw;
    animation: pullGlowExpand 0.7s alternate 1 cubic-bezier(0.45, 0.52, 0.36, 0.8);
}
.anim-supercontainer-astr::before {
    content: ".";
    position: absolute;
    background-color: var(--astr);
    width: 40vw;
    height: 40vw;
    top: -6vw;
    left: -8vw;
    animation: pullGlowExpand 0.7s alternate 1 cubic-bezier(0.45, 0.52, 0.36, 0.8);
}
.animatedPullItem-inner {
    position: relative;
    width: 100%;
    height: 100%;
    text-align: center;
    transition: transform 0.8s;
    transform-style: preserve-3d;
}
.animatedPullItem-front, .animatedPullItem-back {
    position: absolute;
    width: 100%;
    height: 100%;
    backface-visibility: hidden;
    background-color: transparent !important;
}
.animatedPullItem-front img:first-child, .animatedPullItem-front img:nth-child(2), .animatedPullItem-back img:first-child {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}
.animatedPullItem-front {
    background-color: blue;
}
.pullitem-rarity {
    position: absolute;
    bottom: 0;
    right: -3vw;
    transform: rotate(-30deg);
    width: 10vw;
    height: 2.5vw;
    animation: anim-grow alternate 1s infinite ease;
}
.pullitem-mod {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}
@keyframes anim-grow {
    from {
        scale: 1;
    }
    to {
        scale: 1.2;
    }
}
.animatedPullItem-back {
    background-color: purple;
    transform: rotateY(180deg);
}
.pullItem-anim {
    animation: item-pullspin 0.8s forwards linear;
}
.pullItem-anim2 {
    animation: item-pullmove 1.5s forwards cubic-bezier(0.165, 0.84, 0.44, 1);
}
#game-inspect-absbutton button {
    border: none;
    background-color: var(--bg-alt-darker);
    color: var(--text);
    font-family: 'Victor Mono', monospace;
    margin: 5px;
    border-radius: 3px;
    padding: 3px;
}
#game-inspect-absbutton button:first-child {
    color: gold;
}
#game-inspect-absbutton button:nth-child(2) {
    color: red;
}
.fragment-button {
    background-clip: text; 
    -webkit-background-clip: text; 
    -webkit-text-fill-color: transparent; 
    -moz-background-clip: text; 
    -moz-text-fill-color: transparent;
    background-size: 500%;
    display: inline-block;
    background-image: linear-gradient(to right, var(--base), var(--freq), var(--infr), var(--nota), var(--pecu), var(--anom), var(--pure), var(--phan), var(--exal), var(--flaw), var(--astr));
    animation: fragmentButtonAnim alternate 5s ease-in-out infinite;
}
.ascend-button {
    background-clip: text; 
    -webkit-background-clip: text; 
    -webkit-text-fill-color: transparent; 
    -moz-background-clip: text; 
    -moz-text-fill-color: transparent;
    background-size: 500% 500%;
    display: inline-block;
    background-image: linear-gradient(to bottom, var(--abstraction1), var(--phan), var(--phan), var(--phan), var(--base), rgb(72, 52, 18), rgb(72, 52, 18));
    animation: ascendButtonAnim alternate 5s ease-in-out infinite;
}
.button-disabled {
    cursor: not-allowed;
    filter: grayscale(80%);
}
@keyframes fragmentButtonAnim {
    from {
        background-position: 0% 50%;
    }
    to {
        background-position: 100% 50%;
    }
}
@keyframes ascendButtonAnim {
    from {
        background-position: 50% 0%;
    }
    to {
        background-position: 50% 100%;
    }
}

#emote-wheel {
    position: absolute;
    left: 25%;
    bottom: 1rem;
    max-height: 150px;
    display: grid;
    grid-template-columns: 1.75rem 1.75rem 1.75rem 1.75rem 1.75rem;
    width: fit-content;
    overflow-y: auto;
    overflow-x: hidden;
    z-index: 30;
    background-color: var(--glass-dark);
    padding: 0.5rem;
    scrollbar-width: none;
    /* scrollbar-color: var(--accent) var(--bg-alt-darker); */
    border-radius: 10px;
    border: 2px solid var(--bg-alt-darker);
}
#emote-wheel img {
    height: 1.5rem;
    width: 1.5rem;
    padding: .125rem;
    cursor: pointer;
}

#game-command-autocomplete {
    position: absolute;
    left: 0;
    bottom: 50px;
    max-height: 150px;
    overflow-y: scroll;
    overflow-x: hidden;
    width: calc(25vw - 5px);
    scrollbar-width: none;
    /* padding-bottom: 15px; */
    background-color: #1b1b26;
}
#game-command-autocomplete .game-command-item:nth-child(odd) {
    background-color: var(--bg-alt-light);
}
#game-command-autocomplete .game-command-item:nth-child(even) {
    background-color: var(--bg);
}
.game-command-item {
    min-height: 20px;
    padding: 5px 15px;
    width: calc(100% - 30px);
    height: fit-content;
    position: relative;
}
.game-command-rankspan {
    position: absolute;
    top: 5px;
    right: 2px;
    height: 16px;
    width: auto;
    border-radius: 8px;
    border: 1px solid var(--text-alt);
    color: var(--text-alt);
    font-size: 0.7rem;
    padding: 3px;
}
.cmd-smalltext {
    font-size: 0.6rem;
}

#game-trade-holder {
    display: flex;
    flex-direction: row;
    height: 100%;
    width: 100%;
}
#game-trade-reqs {
    flex: 0.3;
    background-color: var(--bg-alt-light);
    display: flex;
    flex-direction: column;
}
#game-trade-inb {
    flex: 0.5;
    background-color: var(--bg-alt-light);
    position: relative;
}
#game-trade-inb::after {
    font-family: "Share Tech Mono", monospace;
    content: "Inbound";
    text-align: right;
    float: right;
    font-style: italic;
    font-size: 1.5rem;
    position: absolute;
    bottom: 2px;
    right: 5px;
    color: rgba(211, 211, 211, 0.5);
}
#game-trade-out {
    flex: 0.5;
    position: relative;
}
#game-trade-out::after {
    font-family: "Share Tech Mono", monospace;
    content: "Outbound";
    text-align: right;
    float: right;
    font-style: italic;
    font-size: 1.5rem;
    position: absolute;
    bottom: 2px;
    right: 5px;
    color: rgba(211, 211, 211, 0.5);
}
#game-trade-active {
    flex: 0.7;
    background-color: var(--bg);
}
#game-trade-active::after {
    font-family: "Share Tech Mono", monospace;
    content: "Active";
    text-align: right;
    float: right;
    font-style: italic;
    font-size: 1.5rem;
    position: absolute;
    bottom: 2px;
    right: 5px;
    color: rgba(211, 211, 211, 0.5);
}
#game-trade-active button:nth-child(1) {
    width: 35%;
    height: 2rem;
    background-color: var(--glass);
    color: var(--text-alt);
    font-family: 'Victor Mono', monospace;
}
#trade-targetid {
    width: 60%;
    height: 2rem;
    background-color: var(--glass);
    color: var(--text-alt);
    font-family: 'Victor Mono', monospace;
}

.tradereqitem {
    height: 20%;
    background-color: var(--glass);
    position: relative;
    color: var(--text-alt);
}
.tradereqitem:nth-child(odd) {
    background-color: var(--glass-dark);
}
.tradereqitem {
    padding: 7px;
}
.tradereqitem button {
    width: 50%;
    height: 25px;
    bottom: 0;
    left: 0;
    border: none;
    background-color: transparent;
    color: var(--text-alt);
}
.game-tab-switch-wip {
    color: gray;
}
#game-tradeinspect-holder {
    display: flex;
    flex-direction: row;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    overflow-y: auto;
    scrollbar-color: var(--accent) var(--bg-alt-darker);
    scrollbar-width: thin;
    overflow-x: hidden;
    background-color: var(--bg-alt-light);
}
#game-tradeinspect-left,#game-tradeinspect-right {
    flex: 0.5;
    background-color: var(--glass);
}
#game-tradeinspect-right {
    flex: 0.5;
    background-color: var(--glass-dark);
}
#game-tradeinspect-give {
    padding: 15px;
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
    overflow-y: auto;
    overflow-x: hidden;
    height: min-content;
    max-height: min-content;
}
#game-tradeinspect-offer {
    padding: 15px;
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
    overflow-y: auto;
    overflow-x: hidden;
    height: min-content;
    max-height: min-content;
}
#game-tradeinspect-giveuser,#game-tradeinspect-offeruser {
    padding: 15px;
}
.tradefullobj {
    background-color: var(--glass);
    padding: 5px;
}
.tradefullobj:nth-child(odd) {
    background-color: var(--glass-dark);
}
.tradefullobj button {
    border: none;
    background-color: transparent;
    color: var(--text-alt);
    width: 20%;
}
#trade-confirmButton {
    background-color: transparent;
    border: none;
    color: var(--text-alt);
    font-size: 1rem;
    padding-left: 20px;
}

#main-tooltip {
    position: fixed;
    top: 0;
    left: 0;
    transition: cubic-bezier(0.24, 0.89, 0.29, 0.89) 0.2s;
    z-index: 75;
    padding: 5px;
    border-radius: 5px;
    max-width: 250px;
}
.rartextsmall {
    font-size: 0.6rem;
    padding-left: 5px;
}
.tooltip-abstraction {
    font-size: 0.75rem;
}
.tooltip-maindata {
    font-size: 0.8rem;
}
.tooltip-ooname {
    font-size: 0.9rem;
    color: var(--text-alt);
}
.tooltip-price {
    font-size: 0.7rem;
}
.tooltip-price1 {
    border: 1px solid var(--monads);
    border-radius: 2px;
    padding: 3px;
    color: var(--monads);
}
.tooltip-price2 {
    border: 1px solid var(--flecks);
    border-radius: 2px;
    padding: 3px;
    color: var(--flecks);
}

#sell-below-input {
    background: var(--bg-alt-light);
    border: none;
    color: white;
    padding: 0.5rem;
    border-radius: 5px;
    font-family: inherit;
    margin-top: 5px;
}
#sell-below-button {
    background: #ce4545;
    color: var(--bg-alt-darker);
    border-radius: 5px;
    border: none;
}
#sell-below-button:hover {
    background: #ff0000;
    color: var(--text);
}

.toast-item {
    position: fixed;
    animation: toast-move 1s forwards;
    color: var(--text-alt);
    font-size: 1.25rem;
}
#inv-monaddata-holder {
    position: relative;
}

.pfpbadge {
    position: absolute;
    top: -5px;
    left: -5px;
    height: 38px;
    width: 76px;
    /* z-index: -1; */
    mask-image: linear-gradient(to right, white, white, transparent);
}

.tooltip-pack-more {
    margin-top: 5px;
    color: var(--text-alt);
    font-size: 0.5rem;
}
.tooltip-pack-more-expanded {
    position: absolute;
    z-index: 89;
    background-color: var(--glass-dark);
    font-size: 0.7rem;
    padding: 7px;
    border-radius: 4px;
    overflow: hidden;
    max-height: fit-content;
    max-width: fit-content;
    animation: more-expanded-expand 0.3s cubic-bezier(0, 0, 0, 1) forwards;
    transform-origin: top left;
}
.tooltip-pack-more-expanded::after {
    top: 0px;
    left: 0px;
    content: "";
    width: 15px;
    height: 15px;
    position: absolute;
    border-top: 5px solid var(--text-alt);
    border-left: 5px solid var(--text-alt);
}

.user-inspect-top {
    font-size: 0.9rem;
    color: var(--text);
}
.user-inspect-top-rank {
    font-size: 0.6rem;
    color: var(--abs-card);
}
.user-inspect-middle-inv {
    font-size: 0.6rem;
    color: var(--text);
}



#pfp-edit-canvas {
    height: 256px;
    width: 256px;
    z-index: 100;
    image-rendering: pixelated;
}
.pfp-edit-span {
    text-align: center;
}
.pfp-edit-span button {
    padding: 3px;
    width: auto;
}
#pfp-edit-modal {
    align-items: center;
}

@keyframes more-expanded-expand {
    from {
        transform: scale(0);
    }
    to {
        transform: scale(1);
    }
}
@keyframes toast-move {
    from {
        transform: translateY(0px);
        opacity: 1;
    }
    to {
        transform: translateY(-30px);
        opacity: 0;
    }
}

@keyframes item-pullspin {
    from {
        transform: rotateY(0deg);
    }
    to {
        transform: rotateY(180deg);
    }
}
@keyframes item-pullmove {
    0% {
        scale: 1;
        transform: translate(0, 0);
    }
    25% {
        scale: 0.2;
        transform: translate(0, 0);
    }
    100% {
        scale: 0.15;
        transform: translate(160vw, 100vw);
    }
}

@keyframes text-hoverpop {
    to {
        translate: 5px 3px;
    }
}

@keyframes fadeIn {
    to {
        opacity: 1;
    }
}


@keyframes fadePop {
    from {
        opacity: 0;
        transform: scale(0.97);
    }

    to {
        opacity: 1;
        transform: scale(1);
    }
}
#game-battle-holder {
    overflow-y: auto;
    /* overflow-x: wrap; */
    scrollbar-color: var(--accent) var(--bg-alt-darker);
    /* flex: 0.5; */
    height: 100%;
    scrollbar-width: none;
}
#game-battle-holder-inventory {
    /* display: grid;
    grid-template-columns: 1fr 1fr 1fr 1fr 1fr 1fr 1fr 1fr; */
    overflow-y: scroll;
    overflow-x: hidden;
    scrollbar-color: var(--accent) var(--bg-alt-darker);
    scrollbar-width: none;
    height: min-content;
    max-height: min-content;
}
#game-tab-switch-battle-idinput {
    background: #2a2a3b;
    border: none;
    color: white;
    padding: 0.5rem;
    border-radius: 5px;
    font-family: inherit;
    margin-top: 5px;
}
#game-tab-switch-battle-idbutton {
    background: var(--accent);
    color: var(--bg-alt-darker);
    border-radius: 5px;
    border: none;
}
.game-battle-card {
    padding: 15px;
    position: relative;
}
.battle-horizontal-line {
    width: 90%;
    left: 5%;
    height: 3px;
    background-color: var(--abstraction0);
    margin-top: 15px;
    margin-bottom: 15px;
}
.battle-targeted {
    background-color: var(--flaw);
    border: 2px solid var(--flaw-dark);
}
.battle-card-dead {
    background-color: var(--pecu) !important;
    border: 2px solid var(--pecu-dark) !important;
}
#battle-unleash-button {
    position: fixed;
    bottom: 25px;
    right: 28%;
    width: 120px;
    height: 120px;
    border-radius: 100%;
    display: flex;
    align-items: center;
    text-wrap: auto;
    background-color: var(--flecks);
}
.battle-unleash-nr {
    background-color: var(--phan-dark) !important;
}
#battle-unleash-button span:first-child {
    text-align: center;
    vertical-align: middle;
    display: inline-block;
    font-size: 1rem;
    width: 100%;
}
.battle-unleash-small {
    font-size: .5rem;
    text-align: center;
    width: 100%;
}
.battle-abutton {
    position: relative;
    font-size: 0.7rem;
    border: 3px solid var(--accent);
    background-color: var(--bg-alt-light);
    color: var(--text);
    border-radius: 6px;
    padding: 3px;
    margin: 3px;
}
.battle-abutton:hover {
    background-color: var(--accent);
    border: 3px solid var(--infr);
    padding: 3px;
    transform: scale(1.1);
}
.battle-genesisbutton {
    position: relative;
    font-size: 0.7rem;
    border: 3px solid var(--accent);
    background: radial-gradient(
        circle at 100%,
        #3d72a4,
        #041424 50%,
        #e5cd31 50%
    );
    background-size: 200% 200%;
    animation: fragmentButtonAnim alternate 3s cubic-bezier(0.83, 0, 0, 1) infinite;
    color: var(--text);
    border-radius: 6px;
    padding: 3px;
    margin: 3px;
}
.battle-targetbutton {
    position: relative;
    font-size: 0.7rem;
    border: 3px solid var(--accent);
    background-color: var(--bg-alt-light);
    color: var(--text);
    border-radius: 6px;
    padding: 3px;
    margin: 3px;
}
.battle-targetbutton:hover {
    background-color: var(--accent);
    border: 3px solid var(--infr);
    padding: 3px;
    transform: scale(1.1);
}
.battle-fres-text {
    position: absolute;
    bottom: 0;
    left: 15px;
    animation: battle-fres-anim 1.5s forwards linear;
    font-size: 1rem;
    z-index: 60;
    font-family: "Merienda", cursive;
    text-shadow: -1px -1px 0 #ffffff, 1px -1px 0 #ffffff, -1px 1px 0 #ffffff, 1px 1px 0 #ffffff;
}
.inv-battle-selected-overlay {
    display: flex;
    justify-content: center;
    align-items: center;
    background-color: rgba(184, 49, 141, 0.6);
    position: absolute;
    top: 0;
    left: 0;
    /* width: 5.8vw;
    height: 8.12vw; */
    width: 100%;
    height: 100%;
    z-index: 55;
}
#game-tab-battle-extras {
    height: max-content;
    max-height: 100%;
}
.battle-copyid {
    float: right;
    font-size: 0.7rem;
    border: 3px solid var(--accent);
    border-radius: 6px;
    padding: 3px;
}
.battle-copyid:hover {
    background-color: var(--accent);
    border: 3px solid var(--infr);
    padding: 3px;
}
#game-battle-holder-act div {
    padding: 5px;
}
.game-battle-holder-act-view {
    float: right;
    font-size: 0.7rem;
    border: 3px solid var(--accent);
    border-radius: 6px;
    padding: 3px;
}
.game-battle-holder-act-view:hover {
    background-color: var(--accent);
    border: 3px solid var(--infr);
    padding: 3px;
}
.card-inspect-tagel {
    width: calc(100% - 10px);
    height: auto;
    display: block;
    padding: 5px;
}
#card-inspect-tags {
    padding: 5px;
    display: grid;
    grid-template-columns: 1fr 1fr;
}

@keyframes battle-fres-anim {
    from {
        transform: translateY(0px);
        opacity: 1;
    }
    to {
        transform: translateY(-60px);
        opacity: 0;
    }
}

.themechange-colorsquare {
    position: relative;
    width: 10px;
    height: 10px;
    border: 1px solid white;
    display: inline-block;
}
.themechange-button {
    position: absolute;
    font-size: 0.7rem;
    border: 3px solid var(--accent);
    background-color: var(--bg-alt-light);
    color: var(--text);
    border-radius: 6px;
    padding: 3px;
    margin: 3px;
    top: 0;
    right: 0;
}
.themechange-full {
    position: relative;
    border-top: 1px solid var(--text-placeholder);
}


.home-element {
    border-radius: 1rem;
    border: 2px solid var(--text-main);
    background-color: var(--bg);
    margin: 1rem;
    padding: 0.8rem;
    font-size: 0.8rem;
}
.home-header {
    font-size: 1.5rem;
}
.home-subheader {
    font-size: 1.2rem;
}
.home-patchno {
    font-size: 0.7rem;
    color: var(--text-placeholder);
}
.home-link {
    color: var(--text);
}
.home-link:active {
    color: var(--text);
}
#artist-thanks {
    color: var(--text-alt);
}
.home-event-important {
    color: var(--text-alt);
}

.fly-text {
    animation: text-fly-vertical 1.5s forwards;
    transition: 0.1s;
    position: absolute;
    z-index: 89;
    font-size: 1.2rem;
    font-family: 'Victor Mono', monospace;
    text-shadow: -1px -1px 0 #ffffff, 1px -1px 0 #ffffff, -1px 1px 0 #ffffff, 1px 1px 0 #ffffff;
    white-space: nowrap;
    width: 100vw;
    height: 0;
    pointer-events: none;
}

@keyframes text-fly-vertical {
    /* 0% {
        transform: translate(0px, 0px);
        opacity: 1;
    }
    50% {
        transform: translate(0px, 0px) rotate(180deg);
    }
    100% {
        transform: translate(0px, 6.28rem) rotate(180deg);
        opacity: 0.1;
    } */
    0% { 
        transform: translateY(0rem); 
        animation-timing-function: cubic-bezier(0.33333, 0.66667, 0.66667, 1);
        opacity: 1;
    }
    69.0983% { 
        transform: translateY(-4rem); 
        animation-timing-function: cubic-bezier(0.33333, 0, 0.66667, 0.33333);
        opacity: 0.690983;
    }
    100% {
        transform: translateY(0rem);
        opacity: 0;
    }
}
@keyframes text-fly-horizontal {
    /* 0% {
        transform: rotate(0deg);
    }
    50% {
        transform: rotate(-180deg);
    }
    100% {
        transform: rotate(-180deg);
    } */
    from {
        transform: translateX(0px);
    }
    to {
        transform: translateX(2rem);
    }
}
#afk-earned-modal {
    max-height: 50%;
    overflow-y: scroll;
}

.profile-bottom span {
    color: var(--text-alt);
}
#profile-header {
    padding: 30px 15px 5px 15px;
}
.profile-top {
    font-size: 1.5rem;
}
.profile-middle {
    font-size: 1.1rem;
}
.profile-bottom {
    font-size: 0.8rem;
}
.profile-tiny {
    font-size: 0.5rem;
    color: var(--text-placeholder);
}

#achmenuopener {
    color: var(--accent);
}
#profile-ach-holder {
    width: 100%;
    /* display: grid;
    grid-template-columns: 10% 10% 10% 10% 10% 10% 10% 10% 10% 10%; */
    position: relative;
}
.achievement-full {
    width: 3.2vw;
    height: 3.2vw;
    position: relative;
    margin: .2vw;
    display: inline-block;
}
.achievement-icon {
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
}
.achievement-icon-locked {
    filter: grayscale(90%);
}

#game-commandlog {
    position: relative;
}
#game-commandlog::before {
    content: "Command Log";
    font-size: 1.5rem;
}

.game-admin-cmdobj {
    width: calc(100% - 1rem);
    height: auto;
    min-height: 5rem;
    padding: .5rem;
    font-size: .8rem;
}
.game-admin-cmdobj img {
    width: 4.5rem;
    height: 4.5rem;
    float: left;
    margin: .25rem;
}
.game-admin-cmdobj div:first-child {
    width: 5rem;
    height: 5rem;
    float: right;
    width: calc(100% - 6rem);
}

#game-commandlog .game-admin-cmdobj:nth-child(odd) {
    background-color: var(--bg-alt-light);
}

#game-console {
    background-color: var(--bg-alt-darkest);
    margin: 1rem;
    font-size: 0.8rem;
    line-height: 1rem;
    padding: 0.5rem;
    height: 26rem;
    position: relative;
    overflow: auto;
    display: flex;
    flex-direction: column-reverse;
    scrollbar-color: var(--text) var(--bg-alt-darkest);
    scrollbar-width: thin;
}
#game-console-log {
    height: 25rem;
    position: absolute;
    bottom: 1.5rem;
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    width: calc(100% - 1rem);
}
#game-console-log div {
    white-space: pre-wrap;
    width: 100%;
}
#game-console span {
    position: absolute;
    bottom: .5rem;
    width: calc(100% - 1rem);
}
#game-console-text {
    background-color: transparent;
    border: none;
    color: var(--text);
    font-family: 'Victor Mono', monospace;
    margin-left: 5px;
    height: 1rem;
    width: calc(100% - 1rem);
    font-weight: bold;
}
#game-console-text:focus {
    outline-width: 0;
}

.achpopup {
    position: absolute;
    bottom: 1rem;
    left: 1rem;
    height: 120px;
    width: 292px;
    background-color: var(--bg);
    border: 3px solid var(--accent);
    animation: achpopup-scrollin 10s linear forwards;
}
.achpopup-img {
    height: 96px;
    width: 96px;
    position: absolute;
    top: 12px;
    left: 12px;
}
.achpopup-top {
    position: absolute;
    top: 12px;
    left: 120px;
    width: 160px;
    font-size: 0.8rem;
}
.achpopup-bot {
    position: absolute;
    top: calc(16px + 0.8rem);
    left: 120px;
    font-size: 0.6rem;
    width: 160px;
}
@keyframes achpopup-scrollin {
    0% {
        transform: translateY(calc(150px + 1rem));
        opacity: 1;
    }
    5% {
        transform: translateY(0px);
        opacity: 1;
    }
    80% {
        opacity: 1;
    }
    100% {
        opacity: 0;
    }
}

#modal-galaxy-expandplease h5 {
    margin: 0;
}
#modal-tutorial h4 {
    margin: 0;
    font-size: 0.85rem;
}
#modal-tutorial h5 {
    margin: 0;
    font-size: 0.7rem;
}
#modal-tutorial span {
    margin: 0 15px;
    font-size: 0.7rem;
}
#button-tutorial-open {
    position: fixed;
    bottom: 15px;
    right: 15px;
    width: 40px;
    height: 40px;
    text-align: center;
    line-height: 40px;
    background-image: url(/assets/tileables/tileable1_bg.png);
    border-radius: 5px;
}
#button-tutorial-open:hover {
    filter: hue-rotate(10deg);
    box-shadow: 0 0 7px inset black;
}