:root {
  --color-background: #000;  /* default background color */
  --card-color: #262626;
  --color-text: #fff;        /* default text color */
  --color-accent: #00FF80;      /* accent color for buttons, underline and title */
  --low-accent: rgba(0, 255, 128, 0.5); 
  --color-button-text: #000; /* text inside buttons */
  --background-2: #22222279;
  --error: #e63946;
}

* {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
  -webkit-tap-highlight-color: transparent; 
  -webkit-touch-callout: none;    
}

  html, body {
  height: 100dvh;
  width: 100vw;
  font-family: "Cagliostro", serif;
  display: flex;
  justify-content: center;
  align-items: center;
  background-color: var(--color-background); 
  color: #fff; 
  scrollbar-width: none;
  touch-action: none;
  overflow: hidden;
}

.startup {
  position: absolute;
  height: 100dvh;
  width: 100vw;
  background: #000;
  z-index: 2;
  display: flex;
  justify-content: center;
  align-items: center;
}

.startup-quote-line {
  position: absolute;
  justify-self: center;
  font-size: 21px;
  opacity: 0;
}


.container {
  position: fixed;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  width: 100%;
  min-height: 100vh;
}

.start-up-menu {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  text-align: center;
  padding: 20px;
  width: 90%;
  height: 500px;
  max-height: 600px;
  max-width: 400px;
}

.app-header {
  display: flex;
  justify-content: space-between; 
  gap: 40px;                  
  width: 100%;
  padding: 0.75rem 2rem;       
  position: absolute;
  top: 66px;
  z-index: 1;
}

.app-name {
  letter-spacing: 2px;
  padding-bottom: 4px;
  width: fit-content;
  margin-left: auto;
  margin-right: auto;
  color: #fff;
  z-index: 5;
  font-size: 2rem;
  user-select: none;  
  letter-spacing: 0.8px;
}

.app-name::after {
  content: '';
  background: var(--color-accent);
  display: block;
  margin-left: 2%;
  width: 43%;
  height: 1px;
}

.your-profile {
  display: none;
}

.bi-x-square {
  font-size: 20px;     
  color: #fff;         
  cursor: pointer;     
  transition: 0.3s;  
  display: none;
}

.bi-x-square:hover {
  color: var(--color-accent);
  transform: scale(1.1);
}

/* Date & Time */
.datetime {
  margin-bottom: 50px;
  width: 220px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  color: var(--color-accent);
}


#hr, #mn, #ss {
  width: 60px;
}

.date {
  display: flex;
  width: 220px;
  position: relative;
  height: 30px; 
  perspective: 500px;
}

.date-name {
  width: fit-content;
}

.quote-line {
  position: absolute;
  width: 100%;
  opacity: 0;
}

.your-clock {
  font-size: 3rem;
  display: flex;
}

.time {
  display: flex;
}

/* Menu styling */
.menu {
  list-style: none;
  display: flex;
  flex-direction: column;
  gap: 15px;
  width: 100%;
}

.menu li button {
  width: 70%;
  padding: 15px;
  background: var(--color-accent); 
  color: #000;
  font-size: 1.1rem;
  font-weight: bold;
  border: none;
  border-radius: 10px;
  cursor: pointer;
  transition: 0.3s ease;
}

.menu li button:hover {
  background: #00cc66;
  color: #000;     
  transform: scale(1.05);
}

/* Card Styling */
.dashboard {
  display: none;
  flex-direction: column;
  text-align: center;
  gap: 25px;
  width: 100%;
  height: 500px;
  max-height: 600px;
  max-width: 400px;
}

.tab {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 20px;
  width: 100%;
  max-width: 400px;
}

.card {
  background: var(--background-2);
  border-radius: 20px;
  width: 150px;
  height: 150px;
  padding: 14px 8px;
  border: 1px solid white;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  text-align: left;
  cursor: pointer;
  user-select: none;  
  transition: all 0.8s ease;
}

.card:hover {
  transform: translateY(-5px); 
  border-color: var(--color-accent); 
}

.card-icon {
  display: flex;
  gap: 30px;
}

.card-icon h3 {
  font-size: 18px;
  width: 50px;
  color: var(--color-accent);
  transition: all 0.8s ease;
}

.card:hover .card-icon h3 {
  color: white; 
}

.card-icon div {
  font-size: 24px;
  margin-bottom: 10px;
  border-bottom: 1px solid white;
}

.card p {
  font-size: 10px;
  margin: 0 15px 30px 0;
  color: #666;
  transition: all 0.8s ease;
}

.card:hover p {
  color: var(--color-accent); 
}

#reminder {
  width: 320px;
  padding: 15px;
}

#reminder .card-icon {
  justify-content: space-between;
}

#reminder h3 {
  width: max-content;
}

/*changes*/

/*---------------- LIGHT MODE ----------------*/
body.light {
  background-color: var(--color-background);
  color: #262626;
}

/* Header / App name */
body.light .app-name {
  color: #5c3a21;
}

body.light .bi-x-square {
  color: #a67c52;
}
body.light .bi-x-square:hover {
  color: #b18b66;
}

/* Date & Time */
body.light .datetime {
  color: #5c3a21;
}

/* Menu buttons */
body.light .menu li button {
  background: #a67c52;
  color: #ffffff;
  transition: all 0.3s ease;
}

body.light .menu li button:hover {
  background: #b18b66;  
  color: #fff;
}

/* Cards */
body.light .card {
  background: #d9b99b;
  border: 1px solid #ccc;
  transition: all 0.3s ease;
}

body.light .card-icon h3 {
  color: #fff;
}

body.light .card:hover {
  border-color: #b18b66;
  box-shadow: 0 4px 12px rgba(0,0,0,0.15);
}

body.light .card:hover .card-icon h3 {
  color: #e4dfdf;
}

body.light .card p {
  color: #313131;
  transition: color 0.3s ease;
}

body.light .card:hover p {
  color: #8a837c;
}

