@import url('https://fonts.googleapis.com/css2?family=VT323&display=swap');

* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}

body {
  overflow: hidden;
  font-family: 'Tahoma', 'MS Sans Serif', sans-serif;
  font-size: 12px;
  cursor: default;
  user-select: none;
}

.font-vt { font-family: 'VT323', monospace; }

/* Windows 99 3D borders */
.win-raised {
  border: 2px solid;
  border-color: #ffffff #808080 #808080 #ffffff;
}

.win-sunken {
  border: 2px solid;
  border-color: #808080 #ffffff #ffffff #808080;
}

.win-raised-thin {
  border: 1px solid;
  border-color: #dfdfdf #808080 #808080 #dfdfdf;
}

.win-sunken-thin {
  border: 1px solid;
  border-color: #808080 #dfdfdf #dfdfdf #808080;
}

.win-button {
  background: #c0c0c0;
  border: 2px solid;
  border-color: #ffffff #404040 #404040 #ffffff;
  padding: 2px 12px;
  font-family: 'Tahoma', 'MS Sans Serif', sans-serif;
  font-size: 11px;
  cursor: pointer;
  min-height: 23px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

.win-button:active, .win-button.active {
  border-color: #404040 #ffffff #ffffff #404040;
  padding: 3px 11px 1px 13px;
}

.win-button:focus {
  outline: 1px dotted #000;
  outline-offset: -4px;
}

.win-input {
  background: #fff;
  border: 2px solid;
  border-color: #808080 #ffffff #ffffff #808080;
  padding: 3px 4px;
  font-family: 'Tahoma', 'MS Sans Serif', sans-serif;
  font-size: 11px;
  color: #000;
  resize: none;
}

.win-input:focus {
  outline: none;
}

/* Title bar gradient */
.titlebar-active {
  background: linear-gradient(90deg, #000080 0%, #1084d0 100%);
  color: white;
}

.titlebar-inactive {
  background: linear-gradient(90deg, #808080 0%, #b0b0b0 100%);
  color: #d4d0c8;
}

/* Titlebar buttons */
.titlebar-btn {
  width: 16px;
  height: 14px;
  background: #c0c0c0;
  border: 1px solid;
  border-color: #ffffff #404040 #404040 #ffffff;
  font-size: 9px;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  padding: 0;
  line-height: 1;
}

.titlebar-btn:active {
  border-color: #404040 #ffffff #ffffff #404040;
}

/* Progress bar */
.progress-container {
  background: #c0c0c0;
  border: 2px solid;
  border-color: #808080 #ffffff #ffffff #808080;
  height: 20px;
  position: relative;
  overflow: hidden;
}

.progress-bar {
  height: 100%;
  background: repeating-linear-gradient(
    90deg,
    #000080 0px,
    #000080 8px,
    transparent 8px,
    transparent 10px
  );
  transition: width 0.3s;
}

/* Scanline overlay */
.scanlines::after {
  content: '';
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  pointer-events: none;
  z-index: 99999;
  background: repeating-linear-gradient(
    0deg,
    rgba(0,0,0,0) 0px,
    rgba(0,0,0,0) 2px,
    rgba(0,0,0,0.03) 2px,
    rgba(0,0,0,0.03) 4px
  );
}





/* Menu bar */
.menu-item {
  padding: 2px 8px;
  font-size: 11px;
  cursor: pointer;
}

.menu-item:hover {
  background: #000080;
  color: white;
}

.dropdown-menu {
  background: #c0c0c0;
  border: 2px solid;
  border-color: #ffffff #404040 #404040 #ffffff;
  position: absolute;
  top: 100%;
  left: 0;
  z-index: 1000;
  box-shadow: 2px 2px 0 rgba(0,0,0,0.3);
  min-width: 160px;
}

.dropdown-item {
  padding: 3px 20px;
  font-size: 11px;
  cursor: pointer;
  white-space: nowrap;
}

.dropdown-item:hover {
  background: #000080;
  color: white;
}

.dropdown-sep {
  border-top: 1px solid #808080;
  border-bottom: 1px solid #ffffff;
  margin: 2px 4px;
}



/* Style chips */
.style-chip {
  background: #c0c0c0;
  border: 2px solid;
  border-color: #ffffff #404040 #404040 #ffffff;
  padding: 1px 8px;
  font-size: 10px;
  cursor: pointer;
  white-space: nowrap;
}

.style-chip:active, .style-chip.active {
  border-color: #404040 #ffffff #ffffff #404040;
  background: #a0a0a0;
}

/* Hourglass cursor */
.cursor-wait, .cursor-wait * {
  cursor: wait !important;
}

/* Gallery thumbnail */
.gallery-thumb {
  width: 80px;
  height: 80px;
  object-fit: cover;
  border: 2px solid;
  border-color: #808080 #ffffff #ffffff #808080;
  cursor: pointer;
  background: #c0c0c0;
}

/* Dialog overlay */
.dialog-overlay {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: transparent;
  z-index: 10000;
  display: flex;
  align-items: center;
  justify-content: center;
}

/* Boot screen */
.boot-screen {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: #000;
  z-index: 100000;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  color: #c0c0c0;
}

/* Scrollbar win99 style */
::-webkit-scrollbar {
  width: 16px;
  height: 16px;
}

::-webkit-scrollbar-track {
  background: repeating-conic-gradient(#c0c0c0 0% 25%, #ffffff 0% 50%) 50% / 2px 2px;
}

::-webkit-scrollbar-thumb {
  background: #c0c0c0;
  border: 2px solid;
  border-color: #ffffff #404040 #404040 #ffffff;
}

::-webkit-scrollbar-button {
  background: #c0c0c0;
  border: 1px solid;
  border-color: #ffffff #404040 #404040 #ffffff;
  height: 16px;
  width: 16px;
}

