/* --- ESTILOS GERAIS E DO DESKTOP --- */
body {
	background-image: url('assets/desktop-bg.jpg');
	background-position: center;
	background-size: cover;
	font-family: 'Tahoma', sans-serif;
	overflow: hidden;
	margin: 0;
}

#desktop {
	height: calc(100vh - 30px);
	position: relative;
}

.desktop-icon {
	color: white;
	text-align: center;
	width: 80px;
	padding: 10px;
	cursor: pointer;
	margin: 10px;
	user-select: none;
}

.desktop-icon img {
	width: 48px;
	height: 48px;
}

.desktop-icon span {
	display: block;
	margin-top: 5px;
	text-shadow: 1px 1px 2px black;
}

/* --- ESTILOS DA BARRA DE TAREFAS FIEL AO XP --- */
.taskbar {
	height: 30px;
	background: linear-gradient(rgb(31, 47, 134) 0px, rgb(49, 101, 196) 3%, rgb(54, 130, 229) 6%, rgb(68, 144, 230) 10%, rgb(56, 131, 229) 12%, rgb(43, 113, 224) 15%, rgb(38, 99, 218) 18%, rgb(35, 91, 214) 20%, rgb(34, 88, 213) 23%, rgb(33, 87, 214) 38%, rgb(36, 93, 219) 54%, rgb(37, 98, 223) 86%, rgb(36, 95, 220) 89%, rgb(33, 88, 212) 92%, rgb(29, 78, 192) 95%, rgb(25, 65, 165) 98%);
	position: absolute;
	bottom: 0px;
	right: 0px;
	left: 0px;
	display: flex;
	z-index: 10000;
}

.start-menu-button {
  height: 100%;
  margin-right: 10px;
  position: relative;
  cursor: pointer;
}

.start-menu-button:hover {
	filter: brightness(105%);
}

.start-menu-button.active {
	pointer-events: none;
  filter: brightness(85%);
}

.taskbar-windows {
	display: flex;
	flex-grow: 1;
	height: 100%;
}

.taskbar-item {
	flex: 1 1 0%;
	max-width: 150px;
	color: rgb(255, 255, 255);
	border-radius: 2px;
	margin-top: 4px;
	padding: 0px 8px;
	height: 22px;
	font-size: 11px;
	background: rgb(60, 129, 243);
	box-shadow: rgba(0, 0, 0, 0.3) -1px 0px inset, rgba(255, 255, 255, 0.2) 1px 1px 1px inset;
	position: relative;
	display: flex;
	align-items: center;
	border: none;
	cursor: pointer;
}

.taskbar-item::before {
	display: block;
	content: "";
	position: absolute;
	left: -2px;
	top: -2px;
	width: 10px;
	height: 1px;
	border-bottom-right-radius: 50%;
	box-shadow: rgba(255, 255, 255, 0.5) 2px 2px 3px;
}

.taskbar-item:hover {
	background: rgb(83, 163, 255);
	box-shadow: rgba(0, 0, 0, 0.3) -1px 0px inset, rgba(255, 255, 255, 0.2) 1px 1px 1px inset;
}

.taskbar-item.active {
	background: rgb(30, 82, 183);
	box-shadow: rgba(0, 0, 0, 0.2) 0px 0px 1px 1px inset, rgba(0, 0, 0, 0.7) 1px 0px 1px inset;
}

.taskbar-item.active:hover {
	background: rgb(53, 118, 243);
}

.taskbar-tray {
	display: flex;
	align-items: center;
	flex-shrink: 0;
	background: linear-gradient(rgb(12, 89, 185) 1%, rgb(19, 158, 233) 6%, rgb(24, 181, 242) 10%, rgb(19, 155, 235) 14%, rgb(18, 144, 232) 19%, rgb(13, 141, 234) 63%, rgb(13, 159, 241) 81%, rgb(15, 158, 237) 88%, rgb(17, 155, 233) 91%, rgb(19, 146, 226) 94%, rgb(19, 126, 215) 97%, rgb(9, 91, 201) 100%);
	border-left: 1px solid rgb(16, 66, 175);
	box-shadow: rgb(24, 187, 255) 1px 0px 1px inset;
	padding: 0px 10px;
	margin-left: 10px;
	height: 100%;
}

.tray-icons {
	display: flex;
	gap: 6px;
	padding-right: 5px;
	height: 100%;
	align-items: center;
}

.tray-icons img {
	height: 15px;
	width: 15px;
}

.time {
	color: white;
	font-size: .8rem;
	margin-left: .75rem;
}

/* --- ESTILOS DAS JANELAS E DIÁRIO --- */

.window {
	position: absolute;
	resize: both;
	overflow: hidden;
	z-index: 100;
}

.window.active {
	z-index: 200;
}

.sticker {
	position: absolute;
	width: 48px;
	height: 48px;
}

.window-body {
	padding: 0;
	margin: 2px;
	height: calc(100% - 32px);
	overflow: auto;
}

.window-body:not(.diary-body) {
	padding: 10px;
}

.diary-body {
	display: flex;
	height: calc(100% - 32px);
}

.sidebar {
	width: 180px;
	flex-shrink: 0;
	padding: 5px;
	border-right: 2px solid #c0c0c0;
	background-color: #f0f0f0;
	overflow-y: auto;
}

.sidebar .tree-view a:hover,
.sidebar .tree-view a.active {
	background-color: #316ac5;
	color: white;
}

.diary-content {
	padding: 10px 20px;
	flex-grow: 1;
	overflow-y: auto;
	background-color: #e8e8e8;
}

.diary-entry {
	background-color: #fff8e1;
	border: 1px solid #ccc;
	box-shadow: 2px 2px 4px rgba(0, 0, 0, 0.1);
	padding: 15px;
	margin-bottom: 20px;
}

.entry-date {
	display: block;
	text-align: right;
	font-style: italic;
	color: #777;
	font-size: 0.9em;
	margin-bottom: 10px;
}

.entry-separator {
	height: 1px;
	background-image: linear-gradient(to right, transparent, #aaa, transparent);
	border: 0;
	margin: 20px 0;
}

/* --- ESTILOS DOS WIDGETS --- */
#widgets {
	position: absolute;
	top: 20px;
	right: 20px;
	display: flex;
	flex-direction: column;
	gap: 30px;
	user-select: none;
	align-items: center;
}

.xp-widget {
	border: 1px solid #000;
	box-shadow: 2px 2px 5px rgba(0, 0, 0, 0.5);
	background-color: #f0f0f0;
}

.clock-widget {
	width: 150px;
	height: 150px;
	border-radius: 50%;
	background: radial-gradient(ellipse at center, #f0f0f0 0%, #cacaca 100%);
	border: 5px solid;
	border-color: #d1d1d1 #9e9e9e #9e9e9e #d1d1d1;
	position: relative;
	padding: 5px;
}

.clock-face {
	width: 100%;
	height: 100%;
	position: relative;
}

.clock-face .number {
	position: absolute;
	font-size: 14px;
	font-weight: bold;
	color: #333;
}

.number-12 { top: 0; left: 50%; transform: translateX(-50%); }
.number-3 { top: 50%; right: 5px; transform: translateY(-50%); }
.number-6 { bottom: 0; left: 50%; transform: translateX(-50%); }
.number-9 { top: 50%; left: 5px; transform: translateY(-50%); }

.hand { position: absolute; background-color: black; bottom: 50%; left: 50%; transform-origin: bottom; border-radius: 2px; }
.hour-hand { width: 4px; height: 30%; margin-left: -2px; }
.minute-hand { width: 3px; height: 40%; margin-left: -1.5px; }
.second-hand { width: 1px; height: 45%; background-color: red; margin-left: -0.5px; }
.center-dot { width: 8px; height: 8px; background-color: black; border-radius: 50%; position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); }

.notes-widget { background-color: #ffffe1; width: 200px; height: 150px; padding: 10px; font-family: 'Comic Sans MS', cursive; box-shadow: 5px 5px 7px rgba(33, 33, 33, .7); transform: rotate(2deg); border: none; }

.calendar-widget { width: 220px; background: #fff; border: 1px solid #a0a0a0; }
.calendar-header { background: linear-gradient(to bottom, #0a246a 0%, #a6c2f4 100%); color: white; padding: 5px; text-align: center; font-weight: bold; font-size: 14px; }
.calendar-grid { width: 100%; border-collapse: collapse; font-size: 12px; }
.calendar-grid th, .calendar-grid td { text-align: center; padding: 5px; }
.calendar-grid th.wknd { color: #cc0000; }
.calendar-grid .today { background-color: #a6c2f4; border: 1px solid #0a246a; }
.calendar-grid .other-month { color: #ccc; }

/* --- MENU INICIAR --- */
#start-menu {
    position: absolute;
    bottom: 20px;
    left: 0;
    width: 400px;
    height: 480px;
    box-shadow: 2px 2px 4px rgba(0,0,0,0.5);
    z-index: 9999;
    display: flex;
    flex-direction: column;
}

#start-menu hr {
  width: 100%;
  height: 2px;
  background: linear-gradient(90deg, transparent 0, #d2d2d2 50%, transparent);
  border: 0; 
  margin: 0;
}

.start-menu-right hr {
  background: linear-gradient(90deg, transparent 0, rgba(135, 179, 226, .71) 50%, transparent) !important;
}

hr.orange {
  background: linear-gradient(90deg, transparent 10%, orange 50%, transparent) !important;
}


.start-menu-header {
    background: linear-gradient(rgb(24, 104, 206), rgb(14, 96, 203) 12%, rgb(14, 96, 203) 20%, rgb(17, 100, 207) 32%, rgb(22, 103, 207) 33%, rgb(27, 108, 211) 47%, rgb(30, 112, 217) 54%, rgb(36, 118, 220) 60%, rgb(41, 122, 224) 65%, rgb(52, 130, 227) 77%, rgb(55, 134, 229) 79%, rgb(66, 142, 233) 90%, rgb(71, 145, 235));
    padding: 10px;
    display: flex;
    align-items: center;
    color: white;
    font-weight: bold;
    text-shadow: 1px 1px 2px #245edc;
    border-top-left-radius: 5px;
    border-top-right-radius: 5px;
}

.start-menu-header::before {
    content: "";
    display: block;
    position: absolute;
    top: 1px;
    left: 0px;
    width: 100%;
    height: 3px;
    background: linear-gradient(to right, transparent 0px, rgba(255, 255, 255, 0.3) 1%, rgba(255, 255, 255, 0.5) 2%, rgba(255, 255, 255, 0.5) 95%, rgba(255, 255, 255, 0.3) 98%, rgba(255, 255, 255, 0.2) 99%, transparent 100%);
    box-shadow: rgb(14, 96, 203) 0px -1px 1px inset;
}

.start-menu-header img {
    width: 48px;
    height: 48px;
    margin-right: 10px;
    background: white;
    border-radius: 5px;
    padding: 2px;
}

.start-menu-body {
    display: flex;
    flex-grow: 1;
}

.start-menu-left {
    width: 50%;
    background: #fff;
    padding: 6px 5px 0px;
    border-right: 1px solid #dcdcdc;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
}

.start-menu-right {
    width: 50%;
    background: #d6e8ff;
    padding: 5px;
}

.menu-item {
    display: flex;
    align-items: center;
    padding: 8px;
    cursor: pointer;
}

.menu-item:hover {
    background: #316ac5;
    color: white;
}
.menu-item:hover span {
    color: white;
}

.menu-item img {
    width: 32px;
    height: 32px;
    margin-right: 10px;
}
.start-menu-right .menu-item img {
    width: 40px;
    height: 40px;
}

.menu-item div {
    display: flex;
    flex-direction: column;
}
.menu-item span {
    font-size: 0.8em;
    color: #888;
}

.menu-item.disabled {
    cursor: default;
    color: #888;
}
.menu-item.disabled:hover {
    background: none;
}

.all-programs {
    display: flex;
    flex-direction: row;
    justify-content: center;
    align-items: center;
    font-weight: 700;
    height: 30px;
    margin: 3px;
    cursor: default;  
    padding: 0;
}

.all-programs img{
    width: 18px;
    height: 18px;
    margin-right: 0;
    margin-left: 5px;
}

.start-menu-footer {
    background: linear-gradient(rgb(66, 130, 214), rgb(59, 133, 224) 3%, rgb(65, 138, 227) 5%, rgb(65, 138, 227) 17%, rgb(60, 135, 226) 21%, rgb(55, 134, 228) 26%, rgb(52, 130, 227) 29%, rgb(46, 126, 225) 39%, rgb(35, 116, 223) 49%, rgb(32, 114, 219) 57%, rgb(25, 110, 219) 62%, rgb(23, 107, 216) 72%, rgb(20, 104, 213) 75%, rgb(17, 101, 210) 83%, rgb(15, 97, 203) 88%);
    text-align: right;
}

.start-menu-footer span{
    color: #fff !important;
    font-size: 12px;
}

.start-menu-footer .menu-item {
    display: inline-flex;
    color: white;
    text-shadow: 1px 1px 2px #245edc;
}

.start-menu-footer .menu-item img {
    width: 26px;
    height: 26px;
    margin-right: 3px;
}

.start-menu-footer .menu-item:hover {
    background: rgba(255,255,255,0.2);
}