body { font-family: Tahoma, sans-serif; margin: 2rem; background-color: #e0b0ff; } .window { position: absolute; border: 1px solid #555; border-radius: 10px; box-shadow: 0 4px 8px rgba(0, 0, 0, 0.3), /* Soft outer shadow */ inset 0 0 5px rgba(255, 255, 255, 0.1); /* Inner highlight for 3D */ overflow: hidden; background-color: #f0f0f0; font-family: sans-serif; cursor: default; display: flex; flex-direction: column; height: auto; /* allow flexible height */ box-sizing: border-box; } .titlebar .title { flex: 1; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; } .titlebar { width: 100%; height: 30px; background: linear-gradient(to bottom, #8a2be2, #6a1dbf); color: white; display: flex; justify-content: space-between; align-items: center; padding-left: 10px; box-sizing: border-box; cursor: move; border-top-left-radius: 10px; border-top-right-radius: 10px; box-shadow: inset 0 -1px 1px rgba(255, 255, 255, 0.3); } .content { padding: 10px; background: #C0C0C0; overflow: auto; box-sizing: border-box; } .close-btn { background: transparent; border: none; color: white; font-size: 20px; margin-right: 8px; cursor: pointer; transition: color 0.2s ease; } .close-btn:hover { color: #ffaaaa; } .desktop { display: grid; grid-template-columns: repeat(auto-fill, 80px); grid-auto-rows: 100px; gap: 20px; padding: 20px; position: absolute; top: 0; left: 0; z-index: 0; } .shortcut { width: 80px; text-align: center; color: black; font-size: 12px; font-family: sans-serif; margin: 10px; cursor: pointer; user-select: none; } .shortcut img { width: 32px; height: 32px; display: block; margin: 0 auto 5px; } .shortcut span { display: block; text-shadow: 1px 1px 2px white; } .content textarea { font-family: monospace; padding: 8px; resize: none; outline: none; } .content iframe, .content textarea { width: 100%; height: 100%; border-radius: 6px; border: none; } .window .resizer { position: absolute; background: transparent; z-index: 10; } /* Corners */ .window .resizer.nw, .window .resizer.ne, .window .resizer.sw, .window .resizer.se { width: 10px; height: 10px; } .window .resizer.nw { top: 0; left: 0; cursor: nw-resize; } .window .resizer.ne { top: 0; right: 0; cursor: ne-resize; } .window .resizer.sw { bottom: 0; left: 0; cursor: sw-resize; } .window .resizer.se { bottom: 0; right: 0; cursor: se-resize; } /* Sides */ .window .resizer.n, .window .resizer.s { height: 6px; left: 0; right: 0; cursor: ns-resize; } .window .resizer.n { top: 0; } .window .resizer.s { bottom: 0; } .window .resizer.e, .window .resizer.w { width: 6px; top: 0; bottom: 0; cursor: ew-resize; } .window .resizer.e { right: 0; } .window .resizer.w { left: 0; }