:root {
    --color-bg-primary: #4a7c85;
    --color-bg-secondary: #3a5f66;
    --color-text: #ffffff;
    --color-link: #ffcc00;
    --color-border: #7f7f7f;
    --color-border-transparent: #FFFFFF30;
    --color-button-bg: #00000040;
}

body {
    font-family: 'Kanit', sans-serif;
    background-color: var(--color-bg-primary);
    color: var(--color-text);
    margin: 0;
    margin-left: 7px;
    margin-right: 7px;
    display: flex;
    flex-direction: column;
    align-items: center;
    padding-left: 0px;
    padding-right: 0px;
    gap: 0px;
    overflow-x: hidden;
}
#content {
    max-width: calc(320px * 3);
    width: 100%;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 0px;
    background-color: var(--color-bg-secondary);
    min-height: 100vh;
    padding-bottom: 200px;
}
#content > * {
    margin: 3px 0;
    align-items: center;
    text-align: center;
}
hr {
    width: 80%;
    border: 0;
    border-top: 1px solid var(--color-border-transparent);
    margin: 10px 0;
}
a {
    color: var(--color-link);
}
.art {
    image-rendering: pixelated;        /* Chrome, Firefox */
    image-rendering: crisp-edges;      /* Older Safari, fallback */
    image-rendering: -moz-crisp-edges; /* Legacy Firefox */
    -ms-interpolation-mode: nearest-neighbor; /* IE */
    max-width: 100%;
    height: auto;
}
#colors {
    display: flex;
    flex-direction: row;
    align-items: center;
    margin-top: 0px;
    max-width: 100%;
    flex-wrap: wrap;
    justify-content: center;
}
.color-items {
    display: flex;
    flex-direction: row;
    align-items: center;
    margin-top: 0px;
    max-width: 100%;
    flex-wrap: wrap;
    justify-content: center;
}
.color-category > h3 {
    margin: 0px;
    margin-bottom: 5px;
    font-weight: normal;
    font-size: 16px;
}
.color {
    display: flex;
    flex-direction: row;
    margin-right: 10px;
    vertical-align: middle;
}
.color-box {
    width: 35px;
    height: 28px;
    border-radius: 5px;
    display: inline-block;
    border: 1.5px solid var(--color-border);
    margin: 5px;
    vertical-align: middle;
}
.color-info {
    display: flex;
    flex-direction: column;
}
.color-name {
    font-size: 15px;
    margin: 0px;
    /* margin-top: 7px; */
    margin-left: 2px;
    color: var(--color-text);
    width: 110px;
    text-align: left;
    vertical-align: middle;
    position: relative;
}
.pixel-count {
    font-size: 13px;
    margin: 0px;
    margin-left: 2px;
    color: var(--color-text);
    opacity: 0.7;
    width: 110px;
    text-align: left;
    vertical-align: middle;
    position: relative;
    top: -4px;
}
.codeblock {
    background-color: var(--color-button-bg);
    padding: 5px;
    font-family: monospace;
    font-size: 14px;
    overflow-y: scroll;
    overflow-x: hidden;
    word-break: break-all;
    user-select: all;
    max-height: 80px;
    padding: 10px;
}
#overlay-link-btn {
    background: #ffcc00; 
    color: #222; 
    font-weight: bold; 
    font-size: 1.2em; 
    padding: 8px 20px; 
    margin-top: 10px;
}
.btn-important {
    font-weight: bold; 
    font-size: 1.2em; 
    padding: 8px 20px; 
}
button {
    background-color: var(--color-button-bg);
    color: white;
    border: none;
    text-align: center;
    text-decoration: none;
    display: inline-block;
    font-size: 16px;
    margin: 4px 2px;
    padding: 4px 10px;
    cursor: pointer;
    border-radius: 5px;
    font-family: 'Kanit', sans-serif;
}
#install-instructions {
    display: flex;
    flex-direction: row;
    margin-top: 0px;
    width: calc(100% - 50px);
    flex-wrap: wrap;
    align-items: start;
    gap: 1px;
    height: 330px;
}
#install-instructions > div > * {
    margin: 5px;
    align-items: start;
}
#install-instructions > div {
    flex: 1;
}
#install-instructions > .divider {
    flex: 0;
    min-width: 1px;
    min-height: 1px;
    height: 80%;
    background-color: var(--color-border-transparent);
    flex: 0;
    align-self: center;
    margin: 10px;
}
a:has(button) {
    text-decoration: none;
}
@media (max-width: 768px) {
    #install-instructions {
        align-items: center;
        flex-direction: column;
        width: calc(100% - 25px);
        height: unset;
    }
    #install-instructions > .divider {
        height: 1px;
        width: 65%;
    }
}
#bluemarble > #coordinates {
    display: flex;
    flex-direction: row;
    align-items: center;
    margin-top: 0px;
    max-width: 100%;
    flex-wrap: wrap;
    justify-content: center;
}
#coordinates > p {
    margin: 0px 3px;
    background-color: var(--color-button-bg);
    padding: 2px 7px;
    border-radius: 5px;
    width: 35px;
    text-align: left;
    font-size: 17px;
}
button:disabled {
    cursor: not-allowed;
    opacity: 0.5;
}
img {
    max-width: 100%;
    height: auto;
}
@keyframes brighten {
    0% { filter: brightness(1); }
    50% { filter: brightness(1.1); }
    100% { filter: brightness(1); }
}
summary {
    cursor: pointer;
    color: var(--color-link);
}
summary::marker {
    color: var(--color-text);
}
details > div.details-contents {
    display: flex;
    flex-direction: column;
    align-items: center;
    background-color: #00000020;
    padding-bottom: 20px;
}
details > div.details-contents > * {
    margin: 3px 0;
}