/* ===== RESET & BASE ===== */
* { margin: 0; padding: 0; box-sizing: border-box; }

html, body {
  width: 100%;
  height: 100%;
  overflow: hidden;
}

body {
  font-family: var(--font);
  user-select: none;
  -webkit-user-select: none;
  cursor: default;
}

/* OS Root Container — scaling target */
#os-root {
  width: 100vw;
  height: 100vh;
  position: relative;
  overflow: hidden;
  transform-origin: 0 0;
}

/* Desktop */
#desktop {
  width: 100%;
  height: 100%;
  position: relative;
  background: var(--bg-desktop, linear-gradient(135deg, #0f0c29 0%, #302b63 50%, #24243e 100%));
  transition: background 0.3s ease;
}

#desktop::before {
  content: '';
  position: absolute;
  inset: 0;
  background: var(--bg-desktop-overlay,
    radial-gradient(ellipse at 30% 40%, rgba(101,78,163,0.5), transparent 60%),
    radial-gradient(ellipse at 70% 60%, rgba(234,175,200,0.25), transparent 50%)
  );
  pointer-events: none;
  transition: background 0.3s ease;
}

/* Desktop Icons */
.dicon {
  position: absolute;
  width: 78px;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 3px;
  cursor: pointer;
  padding: 5px;
  border-radius: 8px;
}
.dicon:hover { background: rgba(255,255,255,0.1); }
.dicon .ico { font-size: 46px; filter: drop-shadow(0 2px 4px rgba(0,0,0,0.3)); }
.dicon .iname {
  font-size: 11px;
  color: #fff;
  text-shadow: 0 1px 3px rgba(0,0,0,0.5);
  text-align: center;
  font-weight: 500;
}
