:root {
   /* Color Variables */
   --background-color: #222222;
   --container-bg: #fff8dc;
   --border-color: #b59e66;
   --shadow-color: rgba(0, 0, 0, 0.2);
   --header-color: #6b4e2a;
   --section-bg: #e7dcc3;
   --task-bg: #f7ebd1;
   --collection-bg: #f7ebd1;
   --button-bg: #8eb897;
   --button-hover-bg: #73967a;
   --red: #ff6b6b;
   --red-hover: #e63939;
   --tooltip-bg: #6b4e2a;
   --text-color: #333;
   --tooltip-text-color: #fff;
   --completed-task-bg: #e0e0e0;
   --completed-task-color: #888;

   /* Font Sizes */
   --base-font-size: 12px;
   --header-font-size: 20px;
   --section-header-font-size: 16px;
   --tooltip-font-size: 12px;

   /* Spacing Variables */
   --container-padding: 15px;
   --section-padding: 15px;
   --input-padding: 8px;
   --button-padding: 8px 12px;
   --task-padding: 10px;
   --collection-icon-size: 55px;
   --collection-icon-gap: 10px;
   --tooltip-padding: 5px;

   /* Border Radius */
   --border-radius: 10px;
   --small-border-radius: 5px;
   --icon-border-radius: 5px;
}

/* Base Styles */
* {
   box-sizing: border-box;
   margin: 0;
   padding: 0;
}

body {
   touch-action: manipulation;
   font-family: 'Noto Sans Mono', monospace;
   background-color: var(--background-color);
   display: flex;
   padding: 10px;
   justify-content: center;
   font-size: var(--base-font-size);
   color: var(--text-color);
   overflow-y: auto;
   text-transform: lowercase;
}

.container {
   width: 100%;
   max-width: 900px;
   padding: var(--container-padding);
   background-color: var(--container-bg);
   border: 2px solid var(--border-color);
   border-radius: var(--border-radius);
   box-shadow: 5px 5px 10px var(--shadow-color);
   text-align: center;
}

/* Header */

.header {
   display: flex;
   align-items: center;
   justify-content: space-between;
   margin-bottom: 15px;
   width: 100%; /* Ensure it spans the full container width */
}

h1 {
   font-family: 'Jersey 10', sans-serif;
   font-size: var(--header-font-size);
   color: var(--header-color);
   text-shadow: 1px 1px 2px var(--border-color);
   margin: 0;
}

.settings-menu {
   display: flex;
   align-items: center;
}



/* Main Content Layout */
.main-content {
   display: flex;
   gap: 20px;
   margin-top: 20px;
}

/* Box Styles for Task and Discovery */
.box {
   flex: 1;
   padding: var(--section-padding);
   background-color: var(--section-bg);
   border-radius: var(--border-radius);
   border: 1px solid var(--border-color);
   box-shadow: inset 1px 1px 5px rgba(0, 0, 0, 0.1);
}

.task-box {
   background-color: var(--task-bg);
}

.discovery-box {
   background-color: var(--collection-bg);
}

/* Responsive layout: stack vertically on smaller screens */
@media (max-width: 768px) {
   .main-content {
      flex-direction: column;
      align-items: stretch;
   }

   .box {
      width: 100%;
   }
}

/* Input and Button Styles */
input[type="text"] {
   padding: var(--input-padding);
   width: 100%;
   font-size: 18px;
   border: 1px solid var(--border-color);
   border-radius: 10px 10px 0px 0px;
   font-family: 'Noto Sans Mono', monospace;
}

input[type="text"]:focus {
   outline: none; /* Removes the default focus outline */
   border: 1px solid #ccc; /* Optional: Adds your custom border style */
}


button {
   padding: var(--button-padding);
   font-size: var(--base-font-size);
   font-family: 'Noto Sans Mono', monospace;
   align-items: center;
   background-color: var(--button-bg);
   border: none;
   border-radius: var(--small-border-radius);
   cursor: pointer;
   color: var(--tooltip-text-color);
   text-shadow: 1px 1px 1px rgba(0, 0, 0, 0.3);
   transition: background-color 0.3s;
}

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

.addtask {
   width: 100% !important;
   font-size: 18px;
   border-radius: 0px 0px 10px 10px;
   height: 40px;
}

/* Task List Styling */
.task-item {
   display: flex;
   align-items: center;
   text-align: left;
   justify-content: space-between;
   width: 100%;
   padding: var(--task-padding);
   margin-bottom: 8px;
   background-color: var(--task-bg);
   border-radius: var(--small-border-radius);
   border: 1px solid var(--border-color);
   font-family: 'Noto Sans Mono', monospace;
   color: var(--header-color);
}

.task-buttons {
   display: flex;
   padding: 5px;
   gap: 5px;
}

.completed-task {
   background-color: var(--completed-task-bg);
   color: var(--completed-task-color);
   opacity: 0.7;
}

/* Collection List Styling */
.collection-list {
   display: grid;
   grid-template-columns: repeat(auto-fill, minmax(50px, 1fr));
   gap: var(--collection-icon-gap);
   justify-items: center;
   padding: 10px;
}

/* Collection Item Styling */
.collection-item {
   position: relative;
   width: var(--collection-icon-size);
   height: var(--collection-icon-size);
   overflow: visible; /* Allows the badge to extend beyond the item boundary */
   display: flex;
   align-items: center;
   justify-content: center;
}

/* Image Styling */
.collection-item img {
   max-width: 100%;
   max-height: 100%;
   width: auto;
   height: auto;
   border: 1px solid var(--border-color);
   border-radius: var(--icon-border-radius);
   transition: transform 0.2s;
}

.collection-item:hover img {
   transform: scale(1.1); /* Slight zoom on hover */
}

/* Tooltip styling */
.collection-item::after {
   content: attr(data-name);
   position: absolute;
   bottom: 100%;
   left: 50%;
   transform: translateX(-50%);
   background-color: var(--tooltip-bg);
   color: var(--tooltip-text-color);
   padding: var(--tooltip-padding);
   border-radius: var(--small-border-radius);
   white-space: nowrap;
   font-size: var(--tooltip-font-size);
   opacity: 0;
   pointer-events: none;
   transition: opacity 0.2s;
   font-style: italic;
}

.collection-item:hover::after {
   opacity: 1;
}

/* Badge styling for quantity display */
.quantity-badge {
   position: absolute;
   overflow: visible;
   top: -5px; /* Move above the icon */
   left: -5px; /* Align to the top-right corner */
   background-color: var(--red);
   color: #fff;
   font-size: 10px;
   padding: 2px 5px;
   border-radius: 50%;
   font-weight: bold;
   box-shadow: 0px 2px 5px rgba(0, 0, 0, 0.2);
}

/* Delete Button Styling */
.delete-button {
   color: #fff;
   background: var(--red);
   border: none;
   border-radius: var(--small-border-radius);
   padding: var(--button-padding);
   cursor: pointer;
   text-shadow: 1px 1px 1px rgba(0, 0, 0, 0.3);
   transition: background-color 0.3s;
}

.delete-button:hover {
   background: var(--red-hover);
}

/* Settings menu styles */
.settings-menu {
   position: relative;
   display: inline-block;
}

.settings-button {
   background: none;
   color: white;
   padding: 8px 16px;
   border: none;
   cursor: pointer;
   border-radius: 4px;
}

.settings-button:hover{
   background: none;
}

.settings-dropdown {
   display: none; /* Initially hidden */
   position: absolute;
   background: var(--text-color);
   width: 260px;
   padding: 15px;
   border-radius: var(--border-radius);
   right: 0;
   top: 100%;
   z-index: 1;
   line-height: 1;
}

.settings-menu:hover .settings-dropdown {
   display: block; /* Show on hover */
}

.settings-dropdown button {
   color: white;
   border: none;
   padding: 8px 16px;
   font-size: 14px;
   cursor: pointer;
   border-radius: 4px;
   display: block;
   width: 100%;
   margin: 4px 0;
}

.stats {
   padding: 10px 5px;
   background: wheat;
}

.achievement-popup {
   background-color: wheat;
   color: #333;
   padding: 10px 20px;
   border-radius: 10px;
   font-size: 12px;
   display: none;
   animation: fadeInOut 6s ease;
}

@keyframes fadeInOut {
   0% { opacity: 0; transform: translateY(-10px); }
   10%, 90% { opacity: 1; transform: translateY(0); }
   100% { opacity: 0; transform: translateY(-10px); }
}

.timer-box {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 5px; 
}

.timer-box h3 {
    margin: 0;
    flex: 1;
    padding: 10px 0px 0px 0px;
    text-align: left;
    
}

.timer-controls {
    display: flex;
    align-items: center;
    gap: 10px;
}

#time[contenteditable="true"] {
    font-weight: bold;
    text-align: center;
    border: 1px solid var(--border-color);
    padding: 10px;
    border-radius: var(--small-border-radius);
    background-color: var(--task-bg);
    color: var(--header-color);
    outline: none;
    width: 80px;
}

.controls {
    display: flex;
    gap: 5px; /* Space between buttons */
}
