:root {
  --bg-desktop: #2e9cca;
  --win-bg: #f9f9f9;
  --title-pink: #ff65a3;
  --title-yellow: #fdfd96;
  --title-blue: #78c7ff;
  --border-light: #ffffff;
  --border-dark: #808080;
  --font: 'Microsoft Sans Serif', Tahoma, sans-serif;
}

* { box-sizing: border-box; }

body, html {
  margin: 0;
  padding: 0;
  width: 100%;
  height: 100%;
  background: var(--bg-desktop);
  font-family: var(--font);
}

.desktop {
  position: relative;
  width: 100%;
  height: 100%;
  overflow: hidden;
}

/* 아이콘 스타일 */
.icons {
  position: absolute;
  top: 20px;
  left: 20px;
  display: flex;
  flex-direction: column;
  gap: 20px;
}
.icon {
  display: flex;
  flex-direction: column;
  align-items: center;
  color: #fff;
  text-shadow: 1px 1px #000;
  cursor: pointer;
}
.icon img {
  width: 48px;
  height: 48px;
}

/* 윈도우 기본 */
.window {
  --w: 300px;
  --h: 200px;
  position: absolute;
  top: var(--win-y);
  left: var(--win-x);
  width: var(--w);
  height: var(--h);
  background: var(--win-bg);
  border: 2px solid var(--border-light);
  box-shadow: inset -1px -1px 0 var(--border-dark),
              inset  1px  1px 0 var(--border-light);
  display: flex;
  flex-direction: column;
}
.window[style*="width"]  { width: auto; }
.window[style*="height"] { height: auto; }

/* 타이틀 바 */
.title-bar {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 2px 6px;
  font-size: 12px;
  color: #000;
  border-bottom: 2px solid var(--border-light);
  border-top:    2px solid var(--border-light);
  border-left:   2px solid var(--border-light);
  border-right:  2px solid var(--border-dark);
}
.window-pink .title-bar   { background: var(--title-pink); }
.window-yellow .title-bar { background: var(--title-yellow); }
.window-blue .title-bar   { background: var(--title-blue); }

/* 창 컨트롤 버튼 */
.controls button {
  margin-left: 2px;
  padding: 0 4px;
  border: 2px solid var(--border-light);
  box-shadow: inset -1px -1px 0 var(--border-dark),
              inset  1px  1px 0 var(--border-light);
  background: var(--win-bg);
  cursor: pointer;
  font-weight: bold;
}
.controls button:active {
  box-shadow: inset  1px  1px 0 var(--border-dark),
              inset -1px -1px 0 var(--border-light);
}

/* 창 내용 */
.window-content {
  flex: 1;
  padding: 8px;
  font-size: 12px;
}

/* 검색 UI */
.search {
  display: flex;
  gap: 4px;
}
.search input {
  flex: 1;
  padding: 2px;
  border: 2px solid var(--border-light);
  box-shadow: inset -1px -1px 0 var(--border-dark),
              inset  1px  1px 0 var(--border-light);
}
.search button {
  padding: 2px 6px;
  border: 2px solid var(--border-light);
  box-shadow: inset -1px -1px 0 var(--border-dark),
              inset  1px  1px 0 var(--border-light);
  background: var(--win-bg);
  cursor: pointer;
}
.search button:active {
  box-shadow: inset  1px  1px 0 var(--border-dark),
              inset -1px -1px 0 var(--border-light);
}
