/* Define root variables for our color palette and common sizes */
:root {
    --bg-color: #030a1c;
    --panel-bg: #11244a;
    --accent-color: #1c86f0b5;
    --accent-hover: #1c86f0;
    --text-color: #ecf0f1;
    --secondary-text: #bdc3c7;
    --border-color: #333333;
    --hover-bg: #1c86f044;
}

/* Global Styles */
body {
    margin: 0;
    overflow: hidden;
    font-family: Arial, sans-serif;
    background-color: var(--bg-color);
	-webkit-user-select: none;
	-moz-user-select: none;

    
    zoom: 0.75;
}
canvas {
    display: block;
    background-color: var(--bg-color);
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 0;
}

/* Left Sidebar: Tools (vertically centered) */
.leftSidebar {
    position: fixed;
    top: 50%;
    left: 0;
    transform: translateY(-50%);
    width: 60px;
    background-color: var(--panel-bg);
    display: flex;
    flex-direction: column;
    align-items: center;
    padding: 10px 0;
    z-index: 10;
    margin: 0 10px;
    border-radius: 4px;
}
.leftSidebar .tool-button {
    background: none;
    border: none;
    color: var(--text-color);
    font-size: 24px;
    margin: 8px 0;
    cursor: pointer;
    padding: 8px 10px;
    width: 100%;
    height: auto;
    transition: all 100ms ease-out;
}
.leftSidebar .tool-button.selected {
    color: var(--accent-color);
    margin-left: 0px!important;
}
.leftSidebar .tool-button:hover {
    margin-left: 8px;
    opacity: 0.8;
}

/* Top Menu: Map Settings & Export Form (arranged horizontally) */
#topLeft {
    position: fixed;
    top: 10px;
    left: 60px;
    right: 320px; /* leaves room for the right sidebar */
    background-color: var(--panel-bg);
    padding: 10px;
    z-index: 10;
    display: flex;
    flex-direction: row;
    gap: 10px;
    border-radius: 4px;
    align-content: center;
    justify-content: space-between;
}
/* First row: Map settings arranged left-to-right */
#topLeft .map-settings {
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 10px;
}


#topLeft .map-settings .setting-item {
    display: flex;
    flex-direction: column;
}
#topLeft .map-settings .setting-item label {
    font-size: 12px;
    color: var(--secondary-text);
    margin-bottom: 3px;
}
#topLeft .map-settings .setting-item input[type="number"],
#topLeft .map-settings .setting-item input[type="text"] {
    padding: 5px;
    border-radius: 4px;
    border: 1px solid var(--border-color);
    background-color: var(--bg-color);
    color: var(--text-color);
}
#topLeft .map-settings .setting-item button {
    padding: 5px 10px;
    border: none;
    border-radius: 4px;
    background-color: var(--accent-color);
    color: var(--text-color);
    cursor: pointer;
}
#topLeft .map-settings .setting-item button:hover {
    background-color: var(--accent-hover);
}
/* Second row: Export form */
#topLeft .export-form {
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 10px;
    flex-wrap: wrap;
}
#topLeft .export-form .setting-item {
    display: flex;
    flex-direction: column;
}
#topLeft .export-form .setting-item label {
    font-size: 12px;
    color: var(--secondary-text);
    margin-bottom: 3px;
}
#topLeft .export-form .setting-item input[type="text"] {
    padding: 5px;
    border-radius: 4px;
    border: 1px solid var(--border-color);
    background-color: var(--bg-color);
    color: var(--text-color);
}
#topLeft .export-form .setting-item button {
    padding: 5px 10px;
    border: none;
    border-radius: 4px;
    background-color: var(--accent-color);
    color: var(--text-color);
    cursor: pointer;
    transition: all 100ms ease-out;
}
#topLeft .export-form .setting-item button:hover {
    background-color: var(--accent-hover);
}

/* Right Sidebar: Tile Palette (vertically centered) */
#rightSidebar {
    position: fixed;
    top: 50%;
    right: 0;
    transform: translateY(-50%);
    width: 300px;
    background-color: var(--panel-bg);
    color: var(--text-color);
    padding: 10px;
    z-index: 10;
    overflow-y: auto;
    border-radius: 4px;
    margin: 0 10px;
}
#rightSidebar button {
    background-color: var(--accent-color);
    border: none;
    border-radius: 4px;
    color: var(--text-color);
    padding: 5px 10px;
    width: 100%;
    cursor: pointer;
    margin-bottom: 10px;
    transition: all 100ms ease-out;
}
#rightSidebar button:hover {
    background-color: var(--accent-hover);
}
#rightSidebar .tile {
    display: flex;
    align-items: center;
    padding: 5px;
    margin: 5px 0;
    border-radius: 4px;
    cursor: pointer;
    transition: all 100ms ease-out;
}
#rightSidebar .tile .tile-color {
    width: 22px;
    height: 24px;
    margin-right: 10px;
    clip-path: polygon(-50% 50%,50% 100%,150% 50%,50% 0);
}
#rightSidebar .tile:hover {
    background-color: var(--hover-bg);
}
#rightSidebar .tile.selected {
    background-color: var(--accent-color);
}
/* Adjust SVG size in objects menu */
.tile-flag img {
    width: 24px;
    height: 24px;
    object-fit: contain;
    margin-right: 10px;
}

/* Bottom Left Panel: Big Pencil Slider */
#bottomLeft {
    position: fixed;
    bottom: 10px;
    left: 10px;
    z-index: 10;
    background-color: var(--panel-bg);
    padding: 10px;
    border-radius: 4px;
}
#bottomLeft .slider-container {
    margin-bottom: 10px;
}
#bottomLeft .slider-container label {
    font-size: 12px;
    color: var(--secondary-text);
    margin-bottom: 3px;
    display: block;
}
#bottomLeft .slider-container input[type="range"] {
    width: 150px;
}

/* Bottom Center Panel: Zoom Controls */
#bottomCenter {
    position: fixed;
    bottom: 10px;
    left: 50%;
    transform: translateX(-50%);
    z-index: 10;
    background-color: var(--panel-bg);
    padding: 10px;
    border-radius: 4px;
    display: flex;
    align-items: center;
    gap: 10px;
}
#bottomCenter button {
    background-color: var(--accent-color);
    border: none;
    border-radius: 4px;
    color: var(--text-color);
    padding: 5px 10px;
    cursor: pointer;
}
#bottomCenter button:hover {
    background-color: var(--accent-hover);
}
#bottomCenter input[type="range"] {
    width: 200px;
}

/* Bottom Right Panel: Undo / Redo */
#bottomRight {
    position: fixed;
    bottom: 10px;
    right: 10px;
    z-index: 10;
    background-color: var(--panel-bg);
    padding: 10px;
    border-radius: 4px;
    display: flex;
    gap: 10px;
}
#bottomRight button {
    background-color: var(--accent-color);
    border: none;
    border-radius: 4px;
    color: var(--text-color);
    padding: 8px 10px;
    cursor: pointer;
    font-size: 16px;
}
#bottomRight button:hover {
    background-color: var(--accent-hover);
}

input, button {
    font-family: inherit;
}




.team { 
    margin: 10px; 
    padding: 10px;
}
.team-list { 
    list-style: none; 
    padding: 0; 
}
.team-list li.tile-flag { 
    padding: 5px;  
    margin: 2px; 
    display: flex; 
    justify-content: space-between; 
    cursor: pointer;
    transition: all 100ms ease-out;
    border-radius: 4px;
}

.team-list li.nationSelected { 
    background-color: var(--accent-color)!important;
}
.team-list li.tile-flag:hover { 
    background-color: var(--hover-bg);
}









#objectList {
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 10px;
}



#objectList > div {
    display: flex;
    flex-direction: row;
    align-items: center;
    background: none;
    border: none;
    color: var(--text-color);
    font-size: 14px;
    margin: 8px 0;
    cursor: pointer;
    padding: 8px 10px;
    width: 100%;
    height: auto;
    transition: all 100ms ease-out;
}
#objectList > div.objectSelected {
    color: var(--accent-color);
    margin-top: 0px!important;
    margin-bottom: 0px!important;
}
#objectList > div:hover {
    margin-top: 8px;
    margin-bottom: -8px;
    opacity: 0.8;
}


#objectList > .tile-flag img {
    width: 40px;
    height: 40px;
}









