/* Base CSS with Smooth Scrolling */
* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
    scroll-behavior: smooth;
    font-family: Lack Regular, sans-serif;
    appearance: none;
    -moz-appearance: none;
}

@font-face {
  font-family: 'Apple Color Emoji';
  src: url('../resources/AppleColorEmoji.ttf') format('truetype');
}

@font-face {
  font-family: 'Noto Color Emoji';
  src: url('../resources/NotoColorEmoji.ttf') format('truetype');
}

@font-face {
  font-family: 'Twitter Color Emoji';
  src: url('../resources/TwitterColorEmoji.ttf') format('truetype');
}

a {
    text-decoration: none;
}

html {
    scroll-behavior: smooth;
}

body {
    
    transition: background-color 0.3s ease, color 0.3s ease;
    background-color: #383838;
    display: flex;
    flex-direction: column;
}
header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 1rem 2rem;
    position: fixed;
    width: 100%;
    backdrop-filter: blur(10px);
    z-index: 100;
    background-color: var(--background-nav);
    transition: background-color 0.3s ease, color 0.3s ease;
}

#tooltip-bar {
    position: fixed;
    top: 60px; /* matches header height */
    left: 0;
    right: 0;
    background-color: var(--background-nav);
    color: var(--text-primary);
    backdrop-filter: blur(10px);
    text-align: center;
    padding: 6px 0;
    font-size: 0.9rem;
    font-family: "MicrogrammaExt";
    opacity: 0;
    pointer-events: none;
    transition: opacity 0.2s ease;
    z-index: 999;
}

#tooltip-bar.visible {
    opacity: 1;
}

/* Total Visits Section on Left */
.nav-left p {
    font-size: 1rem;
    color: var(--text-primary);
    margin: 0;
}
#theme-toggle {
    background: none;
    border: none;
    font-size: 1.5rem;
    color: var(--text-primary);
    cursor: pointer;
    transition: color 0.3s ease;
}

/* Hero Section */
.hero {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    height: 100vh;
    text-align: center;
    padding: 2rem;
    background-color: var(--background-hero);
    transition: background-color 0.3s ease, color 0.3s ease;
}
.hero img.profile-image {
    width: 150px;
    height: 150px;
    border-radius: 50%;
    margin-bottom: 1rem;
    border: 4px solid var(--accent-color);
    transition: border-color 0.3s ease;
}
.hero h1 {
    font-size: 3rem;
    margin: 0.5rem 0;
    color: var(--text-primary);
    transition: color 0.3s ease;
}

.hero h1.bigger {
    font-size: 8vmax;
    margin: 0.5rem 0;
    color: var(--text-primary);
    transition: color 0.3s ease;
}

.hero h1.big {
    margin-top: -2rem;
}
.hero .description {
    font-size: 1.2rem;
    color: var(--text-secondary);
    margin-bottom: 1rem;
    transition: color 0.3s ease;
}
.social-icons {
    display: flex;
    gap: 1.2rem;
    margin-bottom: 1.5rem;
}
.social-icons .social-link {
    font-size: 1.5rem;
    color: var(--text-primary);
    text-decoration: none;
    transition: color 0.3s ease;
}

.social-link img{
    width: 1.5rem;
}

.social-icons .social-link:hover {
    color: var(--accent-color);
    transition: color 0.3s ease;
}

/* Project Section */
.project-section {
    border-top: 2px dashed var(--project-dashed);
    padding: 4rem 2rem;
    background-color: var(--background-alt);
    transition: background-color 0.3s ease, color 0.3s ease;
}
.project-section h2 {
    font-size: 2.5rem;
    text-align: center;
    margin-bottom: 2rem;
    color: var(--text-primary);
    transition: color 0.3s ease;
}
.projects {
    display: flex;
    flex-wrap: wrap;
    gap: 2rem;
    justify-content: center;
}
.project {
    cursor: pointer;
    max-width: 400px;
    text-align: center;
    padding: 1rem;
    border-radius: 8px;
    background-color: var(--background-project);
    transition: transform 0.3s ease, background-color 0.3s ease, color 0.3s ease;
}

.project-u {
    cursor: not-allowed;
    max-width: 400px;
    text-align: center;
    padding: 1rem;
    border-radius: 8px;
    background-color: var(--background-project-u);
}

.project img {
    width: 100%;
    border-radius: 8px;
    margin-bottom: 1rem;
    transition: transform 0.3s ease;
}

.project-u img {
    width: 100%;
    border-radius: 8px;
    margin-bottom: 1rem;
    transition: transform 0.3s ease;
    opacity: 0.2;
}


.project h3 {
    font-size: 1.8rem;
    color: var(--text-primary);
    transition: color 0.3s ease;
}

.project-u h3 {
    font-size: 1.8rem;
    color: var(--text-primary);
    transition: color 0.3s ease;
    opacity: 0.2;
}

.project p {
    color: var(--text-secondary);
    transition: color 0.3s ease;
}

.project-u p {
    color: var(--text-secondary);
    transition: color 0.3s ease;
    opacity: 0.2;
}
.project:hover {
    transform: translateY(-10px);
    background-color: var(--background-project-hover);
}

.tag-buttons {
    display: flex;
    gap: 1rem;
    justify-content: center;
    margin-bottom: 2rem;
}
.tag-button {
    padding: 0.5rem 1rem;
    border: none;
    border-radius: 5px;
    cursor: pointer;
    background-color: var(--accent-color);
    color: white;
    transition: background-color 0.3s ease;
}
.tag-button.active,
.tag-button:hover {
    background-color: var(--accent-hover);
}

/* Project Visibility */
.project {
    display: block; /* Display projects normally */
    transition: opacity 0.3s ease, transform 0.3s ease;
}
.project.hidden {
    display: none; /* Hide projects completely to allow grouping */
}
/* Footer */
footer {
    text-align: center;
    padding: 2rem;
    background-color: var(--background-heroD);
    color: var(--text-secondary);
    transition: background-color 0.3s ease, color 0.3s ease;
}
#top-button {
    background: var(--accent-color);
    color: white;
    padding: 0.5rem 1.5rem;
    margin-bottom: 1rem;
    border: none;
    border-radius: 5px;
    cursor: pointer;
    transition: background-color 0.3s ease;
}
#top-button:hover {
    background: var(--accent-hover);
}

input.input-gen {
    background: var(--background-alt);
    color: var(--acc-t);
    padding: 0.5rem 1.5rem;
    border: 1px solid var(--accent-color);
    margin-right: 0.2rem;
    margin-left: 0.2rem;
    border-radius: 5px;
    cursor: text;
    transition: background-color 0.3s ease;
}

input.input-session {
    background: var(--background-alt);
    color: var(--acc-t);
    padding: 0.5rem 1.5rem;
    border: 1px solid var(--accent-color);
    margin-right: 0.2rem;
    width: 7.5rem;
    margin-left: 0.2rem;
    border-radius: 5px;
    cursor: text;
    transition: background-color 0.3s ease;
}

option, optgroup {
    font-family: Lack Regular;
}



select.input-map {
    background: var(--background-alt);
    color: var(--acc-t);
    padding: 0.5rem 1.5rem;
    border: 1px solid var(--accent-color);
    margin-right: 0.2rem;
    width: 10rem;
    margin-left: 0.2rem;
    border-radius: 5px;
    cursor: text;
    transition: background-color 0.3s ease;
}

input:focus
{
    outline: none;
}

#acc-button {
    background: var(--acc-t);
    color: var(--background-alt);
    padding: 0.5rem 1.5rem;
    border: none;
    margin-right: 0.2rem;
    margin-left: 0.2rem;
    border-radius: 5px;
    cursor: pointer;
    transition: background-color 0.3s ease;
}

#acc-button.disabled {
    cursor: not-allowed;
    background: var(--acc-t-c);
}

#acc-button.disabled:hover {
    background: var(--acc-t-c);
}

#acc-button.disabled:active {
    background: var(--acc-t-c);
}


#acc-button:hover {
    background: var(--acc-t-h);
}

#acc-button:active {
    background: var(--acc-t-c);
}

#dwn-button {
    background: var(--acc-t);
    color: var(--background-alt);
    padding: 0.5rem 1.5rem;
    border: none;
    margin-right: 0.2rem;
    margin-left: 0.2rem;
    border-radius: 5px;
    cursor: pointer;
    transition: background-color 0.3s ease;
}

#dwn-button:hover {
    background: var(--acc-t-h);
}

#dwn-button:active {
    background: var(--acc-t-c);
}

#dwna-button {
    background: var(--acc-t);
    color: var(--background-alt);
    padding: 0.5rem 1.5rem;
    border: none;
    margin-right: 0.2rem;
    margin-left: 0.2rem;
    border-radius: 5px;
    cursor: pointer;
    transition: background-color 0.3s ease;
}

#dwna-button:hover {
    background: var(--acc-t-h);
}

#dwna-button:active {
    background: var(--acc-t-c);
}

#man-button {
    background: var(--acc-t);
    color: var(--background-alt);
    padding: 0.5rem 1.5rem;
    border: none;
    margin-right: 0.2rem;
    margin-left: 0.2rem;
    border-radius: 5px;
    cursor: pointer;
    transition: background-color 0.3s ease;
}

#man-button.disabled {
    cursor: not-allowed;
    background: var(--acc-t-c);
}

#man-button.disabled:hover {
    background: var(--acc-t-c);
}

#man-button.disabled:active {
    background: var(--acc-t-c);
}


#man-button:hover {
    background: var(--acc-t-h);
}

#man-button:active {
    background: var(--acc-t-c);
}


.mar_d {
    margin-top: 1rem !important;
}

.whi-button {
    background: var(--acc-t);
    color: var(--background-alt);
    padding: 0.5rem 1.5rem;
    border: none;
    margin-right: 0.2rem;
    margin-left: 0.2rem;
    border-radius: 5px;
    cursor: pointer;
    transition: background-color 0.3s ease;
}

.whi-button.disabled {
    cursor: not-allowed;
    background: var(--acc-t-c);
}

.whi-button.disabled:hover {
    background: var(--acc-t-c);
}

.whi-button.disabled:active {
    background: var(--acc-t-c);
}


.whi-button:hover {
    background: var(--acc-t-h);
}

.whi-button:active {
    background: var(--acc-t-c);
}

.blu-button {
    background: var(--accent-color);
    color: var(--background-alt);
    padding: 0.5rem 1.5rem;
    border: none;
    margin-right: 0.2rem;
    margin-left: 0.2rem;
    border-radius: 5px;
    cursor: pointer;
    transition: background-color 0.3s ease;
}

.blu-button.disabled {
    cursor: not-allowed;
    background: var(--accent-active);
}

.blu-button.disabled:hover {
    background: var(--accent-active);
}

.blu-button.disabled:active {
    background: var(--accent-active);
}


.blu-button:hover {
    background: var(--accent-hover);
}

.blu-button:active {
    background: var(--accent-active);
}

.acc-text {
    color: var(--acc-t);
    text-decoration: none;
    transition: color 0.3s ease;
}

.acc-text:hover {
    color: var(--acc-t-h);
    transition: color 0.3s ease;
}

.acc-text:active {
    color: var(--acc-t-c);
    transition: color 0.3s ease;
}

.acc-text-b {
    color: var(--accent-color);
    text-decoration: none;
    transition: color 0.3s ease;
}

.acc-text-b:hover {
    color: var(--accent-hover);
    transition: color 0.3s ease;
}

.acc-text-b:active {
    color: var(--accent-active);
    transition: color 0.3s ease;
}

#table-container {
    border-radius: 10px;
}

.records-table {
    width: 50rem;
    border-collapse: collapse;
    margin-top: 20px;
    margin-left: 0.2rem;
    margin-right: 0.2rem;
    border: 3px solid var(--background-project-u);
    border-radius: 10px;
    transition: border-color 0.3s ease;
}

.records-table:hover {
    border: 3px solid var(--accent-color);
    transition: border-color 0.3s ease;
}

.records-table th, .records-table td {
    padding: 8px;
    text-align: center;
    transition-duration: 0.3s;
}

.records-table th {
    background-color: var(--background-hero);
    transition-duration: 0.3s;
    font-weight: bold;
}

.records-table tr:hover {
    background-color: var(--background-project);
    border: 1px solid var(--background-project);
    transition-duration: 0s;
}

.records-table tr 
{
    transition-duration: 0.3s;
    border: 1px solid var(--background-project);
}

.records-table th:first-child {
    border-top-left-radius: 8px; /* Optional: Rounded corners for aesthetics */
}

.records-table th:last-child {
    border-top-right-radius: 8px; /* Optional: Rounded corners for aesthetics */
}


.info-text
{
    padding: 0.5rem;
    margin-right: 0.4rem;
    border: 1px solid var(--text-secondary);
    background: transparent;
    color: var(--text-secondary);
    border-radius: 5px;
}


.shortcut .key {
    display: inline-block;
    padding: 0.5rem;
    color: var(--accent-color);
    background-color: var(--background-project-u);
    border-radius: 3px;
    border: 1px solid var(--accent-color);
    font-size: 0.85rem;
    font-family: monospace;
}

#sspl-hlp
{
    background-color: var(--accent-color);
    transition-duration: 0.3s;
    cursor:pointer;
}

#sspl-hlp:hover
{
    background-color: var(--accent-hover);
    transition-duration: 0.3s;
}

#sspl-hlp:active
{
    background-color: var(--accent-active);
    transition-duration: 0.3s;
}

.sec-divo
{
    text-align: center;
    cursor: pointer;
    width: 50rem;
    border: 2px solid var(--background-project-u);
    transition-duration: 0.3s;
    background-color: var(--background-hero);
}

.sec-divo-in
{
    text-align: center;
    width: 50rem;
    margin: 0.2rem;
    border: 2px solid var(--background-project-u);
    background-color: var(--background-project);
}

.sec-divo:hover
{
    border: 2px solid var(--accent-color);
    transition-duration: 0.3s;
    background-color: var(--background-hero);
}



.content-s {
    max-height: 0;
    overflow: hidden;
    transition: max-height 0.3s ease-in-out, opacity 0.3s ease-in-out;;
    opacity: 0;
}
.content-s.show {
max-height: 1000px; /* Adjust according to your content */
transition: max-height 0.3s ease-in-out, opacity 0.3s ease-in-out;
opacity: 1;
}


div#thumb_div:hover
{
    border: 3px solid var(--accent-color) !important;
    transition-duration: 0.3s;
}


/* Dark/Light Mode Color Variables */
:root {
    --background-light: #ffffff;
    --background-dark: #070707;
    --text-light: #333333;
    --text-dark: #f5f5f5;
    --text-secondary-light: #666666;
    --text-secondary-dark: #aaaaaa;
    --project-dashed-light: #e9e9e9;
    --project-dashed-dark: #252525;
    --background-but-dark : rgba(100, 100, 100, 0.2);
    --background-but-light : rgba(255,255,255,0.3);
    --background-butN-dark: rgba(50, 50, 50, 0.2);
    --background-butN-light: rgb(209, 209, 209,0.2);
    --accent-color: #0078ff;
    --accent-active: rgba(0, 120, 255, 0.4);
    --accent-hover: #005bb5;
    --accent-darker: #001830;
    --red-color: #f74141;
    --red-active: rgb(247, 65, 65, 0.4);
    --lblue-color: #34f1ff;
    --lblue-active: rgba(52, 241, 255, 0.4);
    --lgreen-color: #00ff00;
    --lgreen-active: rgba(0, 255, 0, 0.4);
    --lpurple-color: #b677fd;
    --lpurple-active: rgba(182, 119, 253, 0.4);
    --background-alt-light: #f2f2f2;
    --background-alt-dark: #0e0e0e;
    --background-nav-light: #e9f1f8cb;
    --background-nav-dark: #0f0f0fcb;
    --background-hero-light: #ccdbe7;
    --background-heroD-light: #fafdff;
    --background-hero-dark: #070707;
    --background-heroD-dark: #0a0a0a;
    --background-project-light: #ffffff;
    --background-project-dark: #1c1c1c;
    --background-project-u-light: #bebebe;
    --background-project-u-dark: #131313;
    --background-project-hover-light: #e0e0e0;
    --background-project-hover-dark: #2a2a2a;
    --background-footer-light: #f2f2f2;
    --background-footer-dark: #0e0e0e;
    --acc-t-dark: #fff;
    --acc-t-dark-h: #cfcfcf;
    --acc-t-dark-c: #727272;
    --acc-t-light: #000000;
    --acc-t-light-h: #383838;
    --acc-t-light-c: #949494;

    --t-t-light: #bebebe;
    --t-t-dark: #424242;
}

/* Light Mode */
body.light-mode {
    background-color: var(--background-light);
    color: var(--text-light);
    --text-primary: var(--text-light);
    --text-secondary: var(--text-secondary-light);
    --text-terciary: var(--t-t-light);
    --background-alt: var(--background-alt-light);
    --background-nav: var(--background-nav-light);
    --background-hero: var(--background-hero-light);
    --background-heroD: var(--background-heroD-light);
    --background-project: var(--background-project-light);
    --background-project-hover: var(--background-project-hover-light);
    --background-footer: var(--background-footer-light);
    --background-but: var(--background-but-light);
    --background-butN: var(--background-butN-light);
    --project-dashed: var(--project-dashed-light);
    --acc-t: var(--acc-t-light);
    --acc-t-h: var(--acc-t-light-h);
    --acc-t-c: var(--acc-t-light-c);
    --background-project-u: var(--background-project-u-light);
}

/* Dark Mode */
body.dark-mode {
    background-color: var(--background-dark);
    color: var(--text-dark);
    --text-primary: var(--text-dark);
    --text-secondary: var(--text-secondary-dark);
    --text-terciary: var(--t-t-dark);
    --background-alt: var(--background-alt-dark);
    --background-nav: var(--background-nav-dark);
    --background-hero: var(--background-hero-dark);
    --background-heroD: var(--background-heroD-dark);
    --background-project: var(--background-project-dark);
    --background-project-hover: var(--background-project-hover-dark);
    --background-footer: var(--background-footer-dark);
    --background-but: var(--background-but-dark);    
    --background-butN: var(--background-butN-dark);
    --project-dashed: var(--project-dashed-dark);
    --acc-t: var(--acc-t-dark);
    --acc-t-h: var(--acc-t-dark-h);
    --acc-t-c: var(--acc-t-dark-c);
    --background-project-u: var(--background-project-u-dark);
}

@font-face {
    font-family: 'Lack Regular';
    src: url('../resources/Lack-Regular.otf');
    src: local('Lack Regular'), local('Lack'),
      url("../resources/Lack-Regular.otf") format("opentype");
}

@font-face {
    font-family: 'Lack Line Regular';
    src: url('../resources/Lack-Line-Regular.otf');
    src: local('Lack Line Regular'), local('Lack Line'),
      url("../resources/Lack-Line-Regular.otf") format("opentype");
}

@font-face {
    font-family: 'Eurostile';
    src: url('../resources/Eurostile.ttf') format('truetype');
    font-weight: normal;
    font-style: normal;
  }

  @font-face {
    font-family: 'MicrogrammaExt';
    src: url('../resources/Microgramma.otf') format('opentype');
    font-weight: bold;
    font-style: normal;
  }


.sliding-gradient {
    background: linear-gradient(90deg, #0078ff, #34f1ff, #34f1ff, #0078ff, #0078ff, #34f1ff, #34f1ff, #0078ff);
    background-size: 300%;
    color: transparent;
    -webkit-background-clip: text;
    background-clip: text;
    animation: slide-seamless 20s linear infinite;
}

.sliding-gradient-w {
    background: linear-gradient(90deg, #ffffff, #888888, #888888, #ffffff, #ffffff, #888888, #888888, #ffffff);
    background-size: 300%;
    color: transparent;
    -webkit-background-clip: text;
    background-clip: text;
    animation: slide-seamless 20s linear infinite;
}

.sliding-gradient-red {
    background: linear-gradient(90deg, #ff3434, #6e2525, #6e2525, #ff3434, #ff3434, #6e2525, #6e2525, #ff3434);
    background-size: 300%;
    color: transparent;
    -webkit-background-clip: text;
    background-clip: text;
    animation: slide-seamless 20s linear infinite;
}

.sliding-gradient-green
{
    background: linear-gradient(90deg, #00ff00, #006600, #006600, #00ff00, #00ff00, #006600, #006600, #00ff00);
    background-size: 300%;
    color: transparent;
    -webkit-background-clip: text;
    background-clip: text;
    animation: slide-seamless 20s linear infinite;
}

.sliding-gradient-gold
{
    background: linear-gradient(90deg, #ffff00, #999900, #999900, #ffff00, #ffff00, #999900, #999900, #ffff00);
    background-size: 300%;
    color: transparent;
    -webkit-background-clip: text;
    background-clip: text;
    animation: slide-seamless 20s linear infinite;
}

.sliding-gradient-bronze
{
    background: linear-gradient(90deg, #cd7f32, #8b4513, #8b4513, #cd7f32, #cd7f32, #8b4513, #8b4513, #cd7f32);
    background-size: 300%;
    color: transparent;
    -webkit-background-clip: text;
    background-clip: text;
    animation: slide-seamless 20s linear infinite;
}

@keyframes slide-seamless {
    0% { background-position: 0% 50%; }
    100% { background-position: 300% 50%; }
}

.sliding-gradient-bg-button {
    background: linear-gradient(90deg, #0078ff, #34f1ff, #0078ff);
    background-size: 300%;
    color: white; /* Adjust text color as needed */
    border: none;
    padding: 0.5rem 1.5rem;
    border-radius: 5px;
    cursor: pointer;
    animation: slide 5s ease-in-out infinite alternate;
    transition: background-color 0.3s ease;
}

.sliding-gradient-bg-button:hover {
    background-position: 100% 50%; /* Optional: Change position on hover */
}

@keyframes slide {
    0% { background-position: 0% 50%; }
    100% { background-position: 100% 50%; }
}

.sliding-gradient-b {
    background: linear-gradient(
        90deg,
        #111111,
        #333333,
        #333333,
        #111111,
        #111111,
        #333333,
        #333333,
        #111111
    );
    background-size: 300%;
    animation: slide-seamless 20s linear infinite;
}



#rankings-table-container {
    margin: 2rem auto;
    max-width: 2000px;
    background: var(--background-alt);
    padding: 1rem;
    border-radius: 1rem;
    display: flex;
    flex-direction: column;
    align-items: center;
    border: 2px solid var(--background-but);
}

.std-gen 
{
    margin: 2rem auto;
    max-width: 2000px;
    background: var(--background-alt);
    padding: 1rem;
    border-radius: 1rem;
    display: flex;
    flex-direction: column;
    align-items: center;
    border: 2px solid var(--background-but);
}

#info-table-container {
    margin: 2rem auto;
    max-width: 2000px;
    background: var(--background-alt);
    padding: 1rem;
    border-radius: 1rem;
    display: flex;
    flex-direction: column;
    align-items: center;
    width: 580px;
    border: 2px solid var(--background-but);
}

#record-table-container {
    margin: 2rem auto;
    max-width: 2000px;
    background: var(--background-but);
    padding: 1rem;
    border-radius: 1rem;
    margin: 1rem;
    display: flex;
    flex-direction: column;
    align-items: center;
    width: 90%;
    border: 2px solid var(--background-but);
}

#record-section
{
    width: 100%;
    border: 2px solid var(--background-but);
}

.rankings-table {
    width: 100%;
    border-radius: 1rem; /* has no effect unless border-collapse is changed */
    border-spacing: 0;
    /*table-layout: fixed;*/
    border: 5px solid var(--background-alt);
    color: var(--text-primary, white);
    background-color: var(--background-alt);
}

#tt
{
    max-width: 100%;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    flex-wrap: wrap;
}

.rankings-table th,
.rankings-table td {
    padding: 0.50rem 1rem;
    text-align: left;
    
    /*border-bottom: 1px solid #444;*/
}

.rankings-table th {
    color: var(--text-secondary, #888);
    font-weight: bold;
    text-transform: uppercase;
    font-size: 0.85rem;
}

.rankings-meta {
    text-align: center;
    margin-bottom: 1rem;
    color: var(--text-secondary, #ccc);
    font-size: 0.9rem;
}

.pagination-controls {
    display: flex;
    justify-content: center;
    gap: 1rem;
    margin-top: 1.5rem;
    margin-bottom: 1.5rem;
    flex-wrap: wrap;
}

.pagination-controls button {
    padding: 0.5rem 1rem;
    font-size: 1rem;
    border: none;
    background: var(--background-nav);
    border: 1px solid var(--text-primary);
    color: var(--text-primary, white);
    border-radius: 0.5rem;
    cursor: pointer;
    transition: background 0.2s;
}

.pagination-controls button:disabled {
    opacity: 0.4;
    cursor: not-allowed;
}

.pagination-controls button:hover:not(:disabled) {
    background: var(--background-hero, #444);
}

.page-input {
    width: 4rem;
    text-align: center;
    font-size: 1rem;
    padding: 0.3rem;
    border-radius: 0.5rem;
    border: 1px solid var(--text-primary);
    background-color: var(--background-nav);
    color: var(--text-primary, white);
}

.rankings-table tbody tr:hover {
    filter: brightness(1.4);
}

.rankings-table tbody tr {
    transition-duration: 0.4s;
}




.rankings-table img {
    height: 1.5rem;
}

#page-t {
    font-size: 6rem;
}

#player-map
{
    width: 100%;
}
.nav-center{
    margin-left: -1rem;
}


@media (min-width: 800px)
{
    .pppp
    {
        width:100%;
    }
}

@media (max-width: 1260px) {
    #player-map
    {
        width: inherit;
    }
}

.onsearch{
    min-width: 400px;
}

.onsearch-r
    {
        width: initial;
    }

@media (max-width: 800px) {
    .nav-center{
        margin-left: -1rem;
    }

    .video-container
    {
        width:100%
    }

    #rankings-table-container {
        padding: 0.5rem;
        border-radius: 0.5rem;
        max-width: 580px;
    }

    .rankings-table th,
    .rankings-table td {
        padding: 0.4rem 0.6rem;
        font-size: 0.6rem;
    }

        .onsearch{
        min-width: initial;
    }

    .onsearch-r
    {
        width: 35px !important;
        min-width: 35px !important;
        max-width: 35px !important;
    }

    .onsearch-p
    {
        width: 45px !important;
        min-width: 45px !important;
        max-width: 45px !important;
    }

    .rankings-meta {
        font-size: 0.75rem;
    }

    .pagination-controls {
        flex-direction: row;
        gap: 0.5rem;
    }

    .page-input {
        width: 100%;
        font-size: 0.9rem;
    }

    .rankings-table {
        font-size: 0.6rem;
        display: block;
        overflow-x: auto;
    }
    .rankings-table-lb {
        width: 100%;
    }

    .rankings-table td:last-child,
    .rankings-table th:last-child {
        text-align: right;
        white-space: nowrap;
        width: 100px; /* or any fixed width that fits your content */
        max-width: 100px;
    }

    .rankings-table thead,
    .rankings-table tbody,
    .rankings-table tr {
        display: table;
        width: 100%;
        table-layout: fixed;
    }

    .rankings-table td {
        word-break: break-word;
    }

    .rankings-table img {
        height: 1.2rem;
    }

    .yuh {
        width: 50px;
    }

    .t-player
    {
        white-space: nowrap;
        overflow: hidden;
        text-overflow: ellipsis;
    }

    #page-t {
        font-size: 3rem;
    }

    @media (max-width: 500px) {
        .rankings-table {
            display: table;
            width: 100%;
            table-layout: fixed;
        }

        .rankings-table {
            font-size: 0.6rem;
            display: block;
            overflow-x:auto;
        }

        .pagination-controls {
            flex-direction: row;
            gap: 0.5rem;
            
        }

        .pagination-controls button {
            font-size: 1rem;
            padding: 0.25rem .81rem;
        }
    
    }
}

.projects
{
    width: 100%;
}

#medalname {
        display: inline-block;
    }


@media (max-width: 856px) {
    header
    {
        width: 100vmin;
    }

    #medalname {
        display: none;
    }
}

@media (max-width: 1028px) {
    #page-t {
        font-size: 3rem;
    }

    @media (max-width: 550px) {
        #page-t {
            font-size: 2rem;
        }

        @media (max-width: 450px) {
            #page-t {
                font-size: 2rem;
            }
        }
    }
    
}


.platform-selector {
    display: flex;
    gap: 10px;
    margin-bottom: 10px;
    justify-content: center;
}
.platform-button {
    border: none;
    padding: 8px 16px;
    border-radius: 999px;
    cursor: pointer;
    background-color: #eee;
    font-weight: bold;
}
.platform-button.active {
    background-color: #444;
    color: white;
}

h1.info-map  {
    font-size: 6rem;
    font-family: 'MicrogrammaExt';
}

.info-map sup
{
    font-size: 3rem;
}

div.info-m-title 
{
    display: flex;
    flex-direction: row;
    justify-content: center;
    align-items: center;
}

div.info-m-title-r
{
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    justify-content: center;
}

.info-m-title-r p
{
    font-family: 'MicrogrammaExt';
    font-size: 2.3rem;
    margin: 0;
    
}

#t-series
{
    margin-bottom: -1rem;
}

#t-envi
{
    margin-top: -.2rem;
}

div.info-b
{
    display: flex;
    flex-direction: column;
    align-items: center;
}

.info-b svg
{
    height: 1rem;
    width: 1rem;
}

.acc-rev-t
{
    color: var(--text-secondary);
    transition-duration: 0.4s;
}

.acc-rev-t:hover
{
    color: var(--text-primary);
    transition-duration: 0.4s;
}

.acc-rev-t:active
{
    color: var(--text-primary);
    transition-duration: 0s;
}

div.info-b-btn
{
    margin: 1rem;
    display: flex;
    flex-direction: row;
}


.sq_w_btn {
    width: 40px;
    height: 40px;
    border: none;
    border-radius: 8px;
    cursor: pointer;
    font-weight: bold;
    transition: width 0.4s ease, background-color 0.4s ease;
    display: flex;
    align-items: center;
    overflow: hidden;
    padding: 0 10px;
    white-space: nowrap;
    margin: 0.2rem;
}

.sq_w_btn a {
    color: var(--background-alt);
}

.sq_w_btn .icon {
    flex-shrink: 0;
    margin-left: 2px;
    transition: transform 0.4s ease;
    vertical-align: middle;
    display: flex;
}

.sq_w_btn .label {
    margin-left: 8px;
    opacity: 0;
    transform: translateX(-10px);
    transition: opacity 0.3s ease, transform 0.3s ease;
}

.sq_w_btn.primary:hover {
    width: 150px; /* Adjust expanded size */
}

.sq_w_btn.view:hover {
    width: 220px; /* Adjust expanded size */
}

.sq_w_btn.red:hover {
    width: 185px; /* Adjust expanded size */
}


.sq_w_btn:hover .label {
    opacity: 1;
    transform: translateX(0);
}

.sq_w_btn:active {
    transition-duration: 0s;
}

/* Variations */
.sq_w_btn.primary {
    background-color: var(--text-primary);
    color: var(--background-alt);
}

.sq_w_btn.primary:hover {
    background-color: var(--text-primary);
}

.sq_w_btn.primary:active {
    background-color: var(--text-terciary);
}

.sq_w_btn.view {
    background-color: var(--accent-color);
    color: var(--background-alt);
}

.sq_w_btn.view:hover {
    background-color: var(--accent-color);
}

.sq_w_btn.view:active {
    background-color: var(--accent-active);
}

.sq_w_btn.red {
    background-color: var(--red-color);
    color: var(--background-alt);
}

.sq_w_btn.red:hover {
    background-color: var(--red-color);
}

.sq_w_btn.red:active {
    background-color: var(--red-active);
}


.nav-center svg
{
    color: var(--text-terciary);
    transition-duration: 0.4s;
}

.nav-center svg:hover
{
    color: var(--lblue-color);
    transition-duration: 0.4s;
}

.envi-w:hover{ background-color: #FFF; color: #000;transition-duration: 0s;}
.envi-g:hover{ background-color: #00FF00; color: #000;transition-duration: 0s;}
.envi-b:hover{ background-color: #00a4f0; color: #FFF;transition-duration: 0s;}
.envi-r:hover{ background-color: #e75757; color: #FFF;transition-duration: 0s;}
.envi-z:hover{ background-color: #555; color: #FFF;transition-duration: 0s;}

.envi-w{transition-duration: 0.4s;}
.envi-g{transition-duration: 0.4s;}
.envi-b{transition-duration: 0.4s;}
.envi-r{transition-duration: 0.4s;}
.envi-z{transition-duration: 0.4s;}


button.h-b
{
    background-color: var(--background-butN);

    color: var(--text-primary);
    border: 2px solid var(--background-butN);
    font-family: MicrogrammaExt;
    padding: 1rem 2rem;
    border-radius: 5px;
    cursor: pointer;
    transition: background-color 0.3s ease, color 0.3s ease;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    width: 10rem;
    transition-duration: 0.4s;
}

button.h-b:hover
{
    background-color: var(--background-but);
    border: 2px solid var(--background-but);
    color: var(--accent-color);
    transition-duration: 0.2s;
}

.h-b svg
{
    height:5rem;
}

.gen-div
{
    display:flex;
    flex-direction: column;
    gap:1rem;
    background-color: var(--background-but);
    padding:1rem;
    border-radius:10px;
    border: 2px solid var(--background-but);
    justify-content: space-between;
}

.gen-div button
{
    background-color: var(--lblue-color);
    color:var(--background-alt);
    border:1px solid var(--background-butN);
    padding:0.3rem;
    border-radius:10px;
    cursor: pointer;
    width:100%;
}

.gen-div button:active
{
    background-color: var(--lblue-active);
    color:var(--background-alt);
    border:1px solid var(--background-but);
    transition-duration: 0.2s;
}

.gen-div h1
{
    font-family: MicrogrammaExt;
}

.gen-div a
{
    width: 100%;
}

button.h-ab
{
    background-color: var(--background-butN);

    color: var(--text-primary);
    border: 2px solid var(--background-butN);
    font-family: MicrogrammaExt;
    padding: 1rem 2rem;
    border-radius: 5px;
    cursor: pointer;
    transition: background-color 0.3s ease, color 0.3s ease;
    display: flex;
    flex-direction: row;
    justify-content: center;
    align-items: center;
    width: 100%;
    transition-duration: 0.4s;
    gap:0.5rem;
}

button.h-ab:hover
{
    background-color: var(--background-but);
    border: 2px solid var(--background-but);
    color: var(--accent-color);
    transition-duration: 0.2s;
}

.h-ab svg
{
    height:2rem;
}