:root {
  --dock-height: 0px !important;
}

/* Ensure no top switcher is rendered in Windows XP */
.retro-dock,
#retro-dock,
.win-edition-bar,
#win-edition-bar {
  display: none !important;
  visibility: hidden !important;
  height: 0 !important;
  padding: 0 !important;
  margin: 0 !important;
  pointer-events: none !important;
}

/* ==========================================================================
   theme-winxp.css: Windows XP Luna Desktop Environment for furphy.link
   Authentic Luna Blue Windowed Desktop with Floating Window, Resizers,
   Internal Scrolling, Taskbar, Start Menu, and Anti-Clipping Layouts.
   ========================================================================== */

/* ==========================================================================
   1. DESKTOP WALLPAPER & ENVIRONMENT (BLISS)
   ========================================================================== */

body[data-theme-layout="winxp"],
[data-theme-layout="winxp"] body,
body[data-win-edition="winxp"],
[data-win-edition="winxp"] body {
  background-color: #245edb !important;
  background-image:
    image-set(
      url('/themes/bliss.webp') type('image/webp'),
      url('/themes/bliss.jpg') type('image/jpeg')
    ),
    url('/themes/bliss.jpg'),
    linear-gradient(180deg, #1b499e 0%, #3a75d1 35%, #76a9f6 52%, #4da027 52%, #388219 75%, #2a6812 100%) !important;
  background-attachment: fixed !important;
  background-position: center bottom !important;
  background-repeat: no-repeat !important;
  background-size: cover !important;
  color: #000000;
  font-family: Tahoma, 'Segoe UI', 'Pixelify Sans', sans-serif;
  height: 100vh;
  width: 100vw;
  overflow: hidden !important;
  position: fixed;
  inset: 0;
  padding-bottom: 30px;
  box-sizing: border-box;
}

/* Suppress ambient elements and artificial cloud overlays in favor of real Bliss photography */
body[data-theme-layout="winxp"]::before,
body[data-win-edition="winxp"]::before {
  content: "";
  display: none !important;
}

/* Suppress ambient elements from default theme */
body[data-theme-layout="winxp"] .bg,
body[data-win-edition="winxp"] .bg,
body[data-theme-layout="winxp"] #sun,
body[data-win-edition="winxp"] #sun,
body[data-theme-layout="winxp"] #moon,
body[data-win-edition="winxp"] #moon,
body[data-theme-layout="winxp"] .stars,
body[data-win-edition="winxp"] .stars,
body[data-theme-layout="winxp"] #city,
body[data-win-edition="winxp"] #city,
body[data-theme-layout="winxp"] .floatcat,
body[data-win-edition="winxp"] .floatcat {
  display: none !important;
}

/* Suppress default footer in winxp mode (handled by #winxp-statusbar) */
body[data-theme-layout="winxp"] footer,
body[data-win-edition="winxp"] footer {
  display: none !important;
}

/* ==========================================================================
   2. DESKTOP SHORTCUT ICONS (#winxp-desktop-icons, .winxp-desktop-icons)
   ========================================================================== */

#winxp-desktop-icons,
.winxp-desktop-icons,
.xp-desktop-icons {
  position: fixed;
  left: 16px;
  top: 16px;
  display: flex;
  flex-direction: column;
  gap: 16px;
  z-index: 20;
  pointer-events: auto;
  user-select: none;
}

.winxp-desktop-icon,
.xp-desktop-icon,
.xp-icon {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  width: 76px;
  padding: 6px 4px;
  background: transparent;
  border: 1px dotted transparent;
  border-radius: 3px;
  color: #ffffff;
  cursor: pointer;
  text-align: center;
  font-family: Tahoma, 'Pixelify Sans', sans-serif;
  font-size: 11px;
  line-height: 1.2;
  text-decoration: none;
  transition: background 0.08s ease, border-color 0.08s ease;
  box-sizing: border-box;
}

.winxp-desktop-icon:hover,
.xp-desktop-icon:hover,
.xp-icon:hover {
  background: rgba(255, 255, 255, 0.12);
  border-color: rgba(255, 255, 255, 0.25);
}

.winxp-desktop-icon:active,
.winxp-desktop-icon:focus-visible,
.winxp-desktop-icon.selected,
.xp-desktop-icon:active,
.xp-desktop-icon.selected {
  background: rgba(49, 106, 197, 0.32);
  border: 1px dotted #ffffff;
  outline: none !important;
}

.winxp-desktop-icon.selected .winxp-desktop-text,
.winxp-desktop-icon:focus-visible .winxp-desktop-text,
.xp-desktop-icon.selected .xp-desktop-icon-label {
  background: #316ac5;
  color: #ffffff;
  text-shadow: none;
  border-radius: 2px;
  padding: 1px 3px;
}

.winxp-desktop-glyph,
.xp-desktop-icon-img,
.xp-icon-glyph {
  width: 38px;
  height: 38px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 30px;
  line-height: 1;
  margin-bottom: 4px;
  filter: drop-shadow(1px 2px 2px rgba(0, 0, 0, 0.55));
}

.winxp-desktop-glyph svg,
.xp-desktop-icon-img svg,
.xp-icon-glyph svg {
  width: 32px;
  height: 32px;
}

.winxp-desktop-text,
.xp-desktop-icon-label,
.xp-icon-label {
  font-family: Tahoma, 'Pixelify Sans', sans-serif;
  font-size: 11px;
  color: #ffffff;
  text-shadow: 1px 1px 1px #000000, -1px -1px 1px #000000, 1px -1px 1px #000000, -1px 1px 1px #000000;
  word-break: break-word;
  line-height: 1.25;
}

/* ==========================================================================
   3. EXPLORER WINDOW FRAME & LUNA TITLEBAR
   ========================================================================== */

/* Floating Windowed Desktop Container */
body[data-theme-layout="winxp"] main,
body[data-win-edition="winxp"] main,
.luna-window {
  position: fixed !important;
  top: max(10px, calc((100vh - 30px - min(760px, calc(100vh - 46px))) / 2));
  left: max(16px, calc((100vw - min(1180px, calc(100vw - 48px))) / 2));
  width: min(1180px, calc(100vw - 48px));
  height: min(760px, calc(100vh - 46px));
  min-width: 360px !important;
  min-height: 280px !important;
  max-width: 100vw !important;
  max-height: calc(100vh - 30px) !important;
  margin: 0 !important;
  display: flex !important;
  flex-direction: column !important;
  overflow: hidden !important;
  background: #ece9d8;
  border: 3px solid #0058ee;
  border-radius: 4px 4px 0 0;
  box-shadow: 2px 2px 6px rgba(0, 0, 0, 0.35), 0 4px 16px rgba(0, 20, 80, 0.25);
  z-index: 50;
  box-sizing: border-box;
  resize: none !important;
}

/* Maximized Window State */
body[data-theme-layout="winxp"] main.winxp-maximized,
body[data-win-edition="winxp"] main.winxp-maximized,
.luna-window.winxp-maximized {
  top: 0 !important;
  left: 0 !important;
  width: 100vw !important;
  height: calc(100vh - 30px) !important;
  border-radius: 0 !important;
  border-width: 2px !important;
  box-shadow: none !important;
  max-width: 100vw !important;
  max-height: calc(100vh - 30px) !important;
  resize: none !important;
}

/* Minimized Window State */
body[data-theme-layout="winxp"] main.winxp-minimized,
body[data-win-edition="winxp"] main.winxp-minimized,
.luna-window.winxp-minimized {
  display: none !important;
}

/* Suppress pseudo-element fake titlebars and buttons */
body[data-theme-layout="winxp"] .player::before,
body[data-win-edition="winxp"] .player::before,
body[data-theme-layout="winxp"] .player::after,
body[data-win-edition="winxp"] .player::after,
body[data-theme-layout="winxp"]::after,
body[data-win-edition="winxp"]::after {
  display: none !important;
  content: none !important;
}

/* Luna Blue Curved Titlebar */
#winxp-titlebar,
.winxp-titlebar,
.luna-titlebar {
  flex: 0 0 30px;
  height: 30px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  background: linear-gradient(180deg, #0058ee 0%, #2f7eff 12%, #0055ea 50%, #0040be 100%);
  border-radius: 4px 4px 0 0;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.65), inset 1px 0 0 rgba(255, 255, 255, 0.4), inset -1px 0 0 rgba(255, 255, 255, 0.4);
  padding: 0 6px 0 8px;
  color: #ffffff;
  font-family: Tahoma, 'Pixelify Sans', sans-serif;
  font-size: 12px;
  font-weight: bold;
  text-shadow: 1px 1px 1px #001e64;
  letter-spacing: 0.02em;
  box-sizing: border-box;
  cursor: grab;
  user-select: none;
}

/* Dragging active state */
main.winxp-dragging,
main.winxp-dragging #winxp-titlebar,
main.winxp-dragging .winxp-titlebar,
.luna-window.winxp-dragging,
.luna-window.winxp-dragging .luna-titlebar {
  cursor: grabbing !important;
  user-select: none !important;
}

.winxp-title-left,
.luna-titlebar-title {
  display: flex;
  align-items: center;
  gap: 6px;
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.winxp-title-icon,
.luna-titlebar-icon {
  width: 16px;
  height: 16px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  margin-right: 6px;
  font-size: 14px;
  line-height: 1;
  flex-shrink: 0;
}

.winxp-title-icon svg,
.winxp-title-icon img,
.luna-titlebar-icon svg,
.luna-titlebar-icon img {
  width: 16px;
  height: 16px;
  object-fit: contain;
}

.winxp-title-text {
  font-family: Tahoma, 'Pixelify Sans', sans-serif;
  font-size: 12px;
  font-weight: bold;
  color: #ffffff;
  text-shadow: 1px 1px 1px #001e64;
}

/* Window Control Buttons */
.winxp-title-controls,
.luna-controls {
  display: flex;
  align-items: center;
  gap: 0;
  flex-shrink: 0;
}

.winxp-btn-ctrl,
.winxp-titlebar-btn,
.luna-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 21px;
  height: 21px;
  border-radius: 3px;
  border: 1px solid #ffffff;
  font-family: Tahoma, sans-serif;
  font-size: 11px;
  font-weight: bold;
  line-height: 1;
  cursor: pointer;
  box-shadow: inset 1px 1px 0 rgba(255, 255, 255, 0.7), 1px 1px 2px rgba(0, 0, 0, 0.3);
  box-sizing: border-box;
  padding: 0;
}

.winxp-btn-ctrl svg,
.luna-btn svg {
  width: 10px;
  height: 10px;
  display: block;
  margin: auto;
  fill: currentColor;
}

.winxp-btn-min,
.winxp-btn-max,
.luna-btn-min,
.luna-btn-max {
  background: linear-gradient(180deg, #3884e8 0%, #216bd9 100%);
  color: #ffffff;
  margin-right: 2px;
}

.winxp-btn-min:hover,
.winxp-btn-max:hover,
.luna-btn-min:hover,
.luna-btn-max:hover {
  background: linear-gradient(180deg, #4f9aff 0%, #357ee8 100%);
  filter: none;
}

.winxp-btn-min:active,
.winxp-btn-max:active,
.luna-btn-min:active,
.luna-btn-max:active {
  background: linear-gradient(180deg, #184ea0 0%, #2974d6 100%);
  box-shadow: inset 1px 1px 1px rgba(0, 0, 0, 0.4);
}

.winxp-btn-close,
.luna-btn-close {
  background: linear-gradient(180deg, #e04430 0%, #c02010 100%) !important;
  color: #ffffff !important;
  border: 1px solid #ffffff !important;
  margin-left: 1px;
}

.winxp-btn-close:hover,
.luna-btn-close:hover {
  background: linear-gradient(180deg, #f0543e 0%, #d12513 100%) !important;
  filter: none;
}

.winxp-btn-close:active,
.luna-btn-close:active {
  background: linear-gradient(180deg, #992008 0%, #bd3014 100%) !important;
  box-shadow: inset 1px 1px 1px rgba(0, 0, 0, 0.4);
}

/* ==========================================================================
   4. WINDOW RESIZER HANDLES & STATUS BAR GRIP
   ========================================================================== */

/* Resizer handle base */
.winxp-resizer {
  position: absolute;
  z-index: 100;
  user-select: none;
}

.winxp-resizer-t {
  top: -3px;
  left: 8px;
  right: 8px;
  height: 7px;
  cursor: ns-resize;
}

.winxp-resizer-b {
  bottom: -3px;
  left: 8px;
  right: 8px;
  height: 7px;
  cursor: ns-resize;
}

.winxp-resizer-l {
  left: -3px;
  top: 8px;
  bottom: 8px;
  width: 7px;
  cursor: ew-resize;
}

.winxp-resizer-r {
  right: -3px;
  top: 8px;
  bottom: 8px;
  width: 7px;
  cursor: ew-resize;
}

.winxp-resizer-nw {
  top: -3px;
  left: -3px;
  width: 14px;
  height: 14px;
  cursor: nwse-resize;
  z-index: 101;
}

.winxp-resizer-ne {
  top: -3px;
  right: -3px;
  width: 14px;
  height: 14px;
  cursor: nesw-resize;
  z-index: 101;
}

.winxp-resizer-sw {
  bottom: -3px;
  left: -3px;
  width: 14px;
  height: 14px;
  cursor: nesw-resize;
  z-index: 101;
}

.winxp-resizer-se {
  bottom: -3px;
  right: -3px;
  width: 14px;
  height: 14px;
  cursor: nwse-resize;
  z-index: 101;
}

/* Hide resizers when maximized */
main.winxp-maximized .winxp-resizer,
body[data-theme-layout="winxp"] main.winxp-maximized .winxp-resizer,
.luna-window.winxp-maximized .winxp-resizer {
  display: none !important;
}

/* Corner resize grip in status bar */
.winxp-grip {
  width: 14px;
  height: 14px;
  margin-left: auto;
  cursor: nwse-resize;
  flex: 0 0 14px;
  background:
    radial-gradient(circle at 13px 13px, #ffffff 1px, transparent 1px),
    radial-gradient(circle at 12px 12px, #808080 1px, transparent 1px),
    radial-gradient(circle at 9px 13px, #ffffff 1px, transparent 1px),
    radial-gradient(circle at 8px 12px, #808080 1px, transparent 1px),
    radial-gradient(circle at 5px 13px, #ffffff 1px, transparent 1px),
    radial-gradient(circle at 4px 12px, #808080 1px, transparent 1px),
    radial-gradient(circle at 13px 9px, #ffffff 1px, transparent 1px),
    radial-gradient(circle at 12px 8px, #808080 1px, transparent 1px),
    radial-gradient(circle at 9px 9px, #ffffff 1px, transparent 1px),
    radial-gradient(circle at 8px 8px, #808080 1px, transparent 1px),
    radial-gradient(circle at 13px 5px, #ffffff 1px, transparent 1px),
    radial-gradient(circle at 12px 4px, #808080 1px, transparent 1px);
  pointer-events: auto;
}

main.winxp-maximized .winxp-grip {
  display: none !important;
}

/* ==========================================================================
   5. MENU BAR, TOOLBAR & ADDRESS BAR
   ========================================================================== */

#winxp-toolbar-wrapper,
.winxp-toolbar-wrapper {
  flex: 0 0 auto;
  background: #ece9d8;
  border-bottom: 1px solid #d4d0c8;
}

.winxp-menubar,
.luna-menubar {
  display: flex;
  align-items: center;
  background: #ece9d8;
  border-bottom: 1px solid #d4d0c8;
  box-shadow: 0 1px 0 #ffffff;
  padding: 2px 6px;
  font-family: Tahoma, 'Pixelify Sans', sans-serif;
  font-size: 11px;
  color: #000000;
  user-select: none;
}

.winxp-menu-item,
.luna-menu-item {
  padding: 2px 7px;
  cursor: pointer;
  border-radius: 2px;
  border: 1px solid transparent;
  font-family: Tahoma, sans-serif;
  font-size: 11px;
  color: #000000;
}

.winxp-menu-item:hover,
.luna-menu-item:hover {
  background: #c1d2ee;
  border: 1px solid #316ac5;
  color: #000000;
  border-radius: 2px;
}

.winxp-menu-item.active,
.winxp-menu-item[aria-expanded="true"],
.luna-menu-item.active {
  background: #e0e8f6;
  border: 1px solid #316ac5;
  color: #000000;
}

.winxp-menu-item:focus-visible,
.luna-menu-item:focus-visible {
  background: #316ac5;
  color: #ffffff;
  border-radius: 2px;
  outline: 1px dotted #ffffff !important;
  outline-offset: -2px !important;
}

/* Menubar Dropdown Menus */
.winxp-dropdown-menu {
  position: absolute;
  background: #ffffff;
  border: 1px solid #0058ee;
  box-shadow: 2px 4px 10px rgba(0, 0, 0, 0.3);
  z-index: 10000;
  padding: 2px;
  font-family: Tahoma;
  font-size: 11px;
}

.winxp-dropdown-menu .winxp-menu-item,
.winxp-dropdown-item {
  display: flex;
  align-items: center;
  gap: 6px;
  padding: 3px 18px 3px 6px;
  border-radius: 2px;
  border: 1px solid transparent;
  cursor: pointer;
  color: #000000;
  text-decoration: none;
  font-family: Tahoma, sans-serif;
  font-size: 11px;
  user-select: none;
  white-space: nowrap;
}

.winxp-dropdown-menu .winxp-menu-item:hover,
.winxp-dropdown-item:hover {
  background: #316ac5;
  color: #ffffff;
}

.winxp-dropdown-menu .winxp-menu-item:focus-visible,
.winxp-dropdown-item:focus-visible {
  background: #316ac5;
  color: #ffffff;
  outline: 1px dotted #ffffff;
  outline-offset: -1px;
}

.winxp-dropdown-sep {
  height: 1px;
  background: #d4d0c8;
  border-bottom: 1px solid #ffffff;
  margin: 3px 2px;
}

.winxp-toolbar,
.luna-toolbar {
  display: flex;
  align-items: center;
  gap: 4px;
  background: #ece9d8;
  border-bottom: 1px solid #d4d0c8;
  padding: 3px 6px;
  font-family: Tahoma, 'Pixelify Sans', sans-serif;
  font-size: 11px;
  color: #000000;
  user-select: none;
  overflow-x: auto;
}

.winxp-tb-btn,
.luna-tool-btn {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  padding: 3px 6px;
  border: 1px solid transparent;
  border-radius: 3px;
  background: transparent;
  cursor: pointer;
  font-family: Tahoma, 'Pixelify Sans', sans-serif;
  font-size: 11px;
  color: #000000;
  white-space: nowrap;
}

.winxp-tb-btn svg,
.luna-tool-btn svg,
.winxp-tb-icon svg {
  width: 20px;
  height: 20px;
  flex-shrink: 0;
}

.winxp-tb-btn:hover,
.luna-tool-btn:hover {
  background: #ffffff;
  border-color: #b5c7de;
  box-shadow: 1px 1px 2px rgba(0, 0, 0, 0.1);
}

.winxp-tb-btn:active,
.luna-tool-btn:active {
  background: #dbe8fb;
  border-color: #316ac5;
  box-shadow: inset 1px 1px 1px rgba(0, 0, 0, 0.15);
}

/* Signature XP Green Toolbar Navigation Buttons */
.winxp-tb-back-group {
  display: inline-flex;
  align-items: center;
  margin-right: 2px;
}

.winxp-tb-back {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  padding: 2px 6px 2px 2px;
  background: transparent;
  border: 1px solid transparent;
  border-radius: 3px 0 0 3px;
  font-family: Tahoma, 'Pixelify Sans', sans-serif;
  font-size: 11px;
  color: #000000;
  cursor: pointer;
  white-space: nowrap;
}

.winxp-tb-back .winxp-tb-icon {
  width: 28px;
  height: 28px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

.winxp-tb-back .winxp-tb-icon svg {
  width: 28px;
  height: 28px;
  display: block;
  filter: drop-shadow(1px 1px 2px rgba(0, 0, 0, 0.3));
}

.winxp-tb-back:hover {
  background: linear-gradient(180deg, #ffffff 0%, #e6effa 100%);
  border-color: #b5c7de;
  box-shadow: 1px 1px 2px rgba(0, 0, 0, 0.12);
}

.winxp-tb-back:active {
  background: #d4e4f8;
  border-color: #316ac5;
  box-shadow: inset 1px 1px 1px rgba(0, 0, 0, 0.2);
}

.winxp-tb-back-drop {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  width: 14px;
  height: 32px;
  padding: 0;
  margin-left: -1px;
  background: transparent;
  border: 1px solid transparent;
  border-radius: 0 3px 3px 0;
  cursor: pointer;
  color: #333333;
}

.winxp-tb-back-drop:hover {
  background: linear-gradient(180deg, #ffffff 0%, #e6effa 100%);
  border-color: #b5c7de;
  box-shadow: 1px 1px 2px rgba(0, 0, 0, 0.12);
}

.winxp-tb-back-drop:active {
  background: #d4e4f8;
  border-color: #316ac5;
  box-shadow: inset 1px 1px 1px rgba(0, 0, 0, 0.2);
}

.winxp-tb-forward {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 3px 4px;
  background: transparent;
  border: 1px solid transparent;
  border-radius: 3px;
  cursor: pointer;
  margin-right: 4px;
}

.winxp-tb-forward .winxp-tb-icon {
  width: 24px;
  height: 24px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

.winxp-tb-forward .winxp-tb-icon svg {
  width: 24px;
  height: 24px;
  display: block;
  filter: drop-shadow(1px 1px 2px rgba(0, 0, 0, 0.25));
}

.winxp-tb-forward:hover {
  background: #ffffff;
  border-color: #b5c7de;
  box-shadow: 1px 1px 2px rgba(0, 0, 0, 0.1);
}

.winxp-tb-forward:active {
  background: #dbe8fb;
  border-color: #316ac5;
  box-shadow: inset 1px 1px 1px rgba(0, 0, 0, 0.15);
}

.winxp-tb-sep,
.luna-toolbar-separator {
  width: 1px;
  height: 22px;
  background: #b5b1a7;
  border-right: 1px solid #ffffff;
  margin: 0 3px;
  flex-shrink: 0;
}

.winxp-addressbar,
.luna-addressbar {
  display: flex;
  align-items: center;
  gap: 6px;
  background: #ece9d8;
  border-bottom: 1px solid #7f9db9;
  padding: 3px 8px 4px;
  font-family: Tahoma, 'Pixelify Sans', sans-serif;
  font-size: 11px;
}

.winxp-address-label,
.luna-address-label {
  color: #444444;
  font-family: Tahoma, sans-serif;
  font-size: 11px;
  font-weight: 500;
}

.winxp-address-box,
.luna-address-input {
  flex: 1;
  display: flex;
  align-items: center;
  gap: 4px;
  background: #ffffff;
  border: 1px solid #7f9db9;
  border-radius: 1px;
  padding: 2px 6px;
  font-family: Tahoma, sans-serif;
  font-size: 11px;
  color: #000000;
}

.winxp-go-btn,
.luna-address-go {
  display: inline-flex;
  align-items: center;
  gap: 3px;
  background: linear-gradient(180deg, #62c332 0%, #4da822 45%, #328c10 50%, #206d08 100%) !important;
  border: 1px solid #1a5806 !important;
  border-radius: 2px;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.6), 0 1px 1px rgba(0, 0, 0, 0.2) !important;
  color: #000000 !important;
  font-family: Tahoma, sans-serif;
  font-size: 11px;
  font-weight: bold !important;
  padding: 2px 8px;
  cursor: pointer;
}

.winxp-go-btn:hover,
.luna-address-go:hover {
  filter: brightness(1.1);
}

.winxp-go-btn:active,
.luna-address-go:active {
  filter: brightness(0.95);
  box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.4) !important;
}

/* ==========================================================================
   6. WINDOW CLIENT AREA & COMMON TASKS SIDEBAR
   ========================================================================== */

/* Client Body Split */
body[data-theme-layout="winxp"] #winxp-body-split,
body[data-win-edition="winxp"] #winxp-body-split,
.winxp-body-split,
.luna-client-area {
  flex: 1 1 auto;
  min-height: 0;
  display: flex !important;
  flex-direction: row !important;
  overflow: hidden !important;
  background: #ffffff;
}

/* Common Tasks Sidebar */
body[data-theme-layout="winxp"] #winxp-sidebar,
body[data-win-edition="winxp"] #winxp-sidebar,
.winxp-sidebar,
.luna-sidebar {
  flex: 0 0 210px !important;
  width: 210px !important;
  background: linear-gradient(180deg, #7499ff 0%, #6375d6 50%, #4a75e6 100%) !important;
  overflow-y: auto !important;
  overflow-x: hidden !important;
  padding: 10px 8px !important;
  box-sizing: border-box !important;
  display: flex;
  flex-direction: column;
  gap: 10px;
}

/* When sidebar is toggled off */
main.winxp-sidebar-hidden #winxp-sidebar,
.luna-window.winxp-sidebar-hidden .luna-sidebar {
  display: none !important;
}

/* Sidebar Panels & Cards */
.winxp-side-panel,
.luna-sidebar-card {
  border-radius: 4px;
  overflow: hidden;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.25);
  background: #edf4fc;
  margin-bottom: 10px;
}

.winxp-side-header,
.luna-sidebar-header {
  background: linear-gradient(90deg, #215dc6 0%, #296ecf 100%) !important;
  color: #ffffff;
  font-family: Tahoma, sans-serif;
  font-size: 11px;
  font-weight: bold;
  padding: 5px 8px;
  display: flex;
  justify-content: space-between;
  align-items: center;
  cursor: pointer;
  user-select: none;
}

.winxp-side-header:hover,
.luna-sidebar-header:hover {
  filter: brightness(1.1);
}

.winxp-side-chevron,
.luna-sidebar-chevron {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 14px;
  height: 14px;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.25);
  color: #ffffff;
  font-size: 9px;
  line-height: 1;
  transition: transform 0.15s ease;
}

[aria-expanded="false"] .winxp-side-chevron,
[aria-expanded="false"] .luna-sidebar-chevron,
.winxp-side-header[aria-expanded="false"] .winxp-side-chevron,
.winxp-side-panel.collapsed .winxp-side-chevron {
  transform: rotate(180deg);
}

.winxp-side-body,
.luna-sidebar-body {
  background: #edf4fc;
  padding: 6px 8px;
  font-family: Tahoma, sans-serif;
  font-size: 11px;
  display: flex;
  flex-direction: column;
  gap: 4px;
}

.winxp-side-item,
.luna-sidebar-link {
  display: flex;
  align-items: center;
  gap: 6px;
  color: #0c3298;
  text-decoration: none;
  cursor: pointer;
  padding: 2px 4px;
  border-radius: 2px;
  background: transparent;
  border: none;
  text-align: left;
  font-family: Tahoma, sans-serif;
  font-size: 11px;
}

.winxp-side-item svg,
.luna-sidebar-link svg {
  width: 16px;
  height: 16px;
  flex: 0 0 16px;
}

.winxp-side-item:hover,
.winxp-side-item:focus-visible,
.luna-sidebar-link:hover {
  text-decoration: underline;
  background: rgba(33, 93, 198, 0.1);
  color: #0c3298;
}

.winxp-side-detail-row {
  display: flex;
  justify-content: space-between;
  font-size: 10px;
  color: #333333;
  padding: 1px 0;
}

.winxp-side-detail-strong {
  font-weight: bold;
  color: #0c3298;
}

/* ==========================================================================
   7. CONTENT AREA & AUTHENTIC XP SCROLLBARS
   ========================================================================== */

/* Main Content Area */
body[data-theme-layout="winxp"] #winxp-content-area,
body[data-win-edition="winxp"] #winxp-content-area,
.winxp-content-area,
.luna-main-view {
  flex: 1 1 auto !important;
  min-width: 0 !important;
  background: #ffffff !important;
  overflow-y: auto !important;
  overflow-x: hidden !important;
  padding: 12px 14px !important;
  box-sizing: border-box !important;
}

/* Authentic XP Scrollbars */
#winxp-content-area,
.winxp-content-area,
#winxp-sidebar,
.winxp-sidebar,
.luna-sidebar,
.luna-main-view {
  scrollbar-width: thin;
  scrollbar-color: #316ac5 #ece9d8;
}

#winxp-content-area::-webkit-scrollbar,
.winxp-content-area::-webkit-scrollbar,
#winxp-sidebar::-webkit-scrollbar,
.winxp-sidebar::-webkit-scrollbar,
.luna-sidebar::-webkit-scrollbar,
.luna-main-view::-webkit-scrollbar {
  width: 16px;
  background: #ece9d8;
}

#winxp-content-area::-webkit-scrollbar-thumb,
.winxp-content-area::-webkit-scrollbar-thumb,
#winxp-sidebar::-webkit-scrollbar-thumb,
.winxp-sidebar::-webkit-scrollbar-thumb,
.luna-sidebar::-webkit-scrollbar-thumb,
.luna-main-view::-webkit-scrollbar-thumb {
  background: #c4d7ed;
  border: 1px solid #7f9db9;
  box-shadow: inset 1px 1px 0 #ffffff;
}

#winxp-content-area::-webkit-scrollbar-thumb:hover,
.winxp-content-area::-webkit-scrollbar-thumb:hover,
#winxp-sidebar::-webkit-scrollbar-thumb:hover,
.winxp-sidebar::-webkit-scrollbar-thumb:hover,
.luna-sidebar::-webkit-scrollbar-thumb:hover,
.luna-main-view::-webkit-scrollbar-thumb:hover {
  background: #9bbfe6;
}

/* ==========================================================================
   8. PLAYER PROFILE CARD & SOCIAL CONTROLS (ANTI-CLIPPING)
   ========================================================================== */

body[data-theme-layout="winxp"] .player,
body[data-win-edition="winxp"] .player {
  position: relative;
  background: #ece9d8;
  border: 1px solid #aca899;
  border-radius: 4px;
  padding: 8px 12px;
  margin-bottom: 12px;
  text-align: center;
  box-sizing: border-box;
  box-shadow: none;
}

body[data-theme-layout="winxp"] .avatar-slot,
body[data-win-edition="winxp"] .avatar-slot {
  width: 64px;
  height: 64px;
  border: 2px solid #0058ee;
  border-radius: 3px;
  margin: 4px auto 6px;
  padding: 1px;
  box-shadow: 0 2px 5px rgba(0, 0, 0, 0.2);
  background: #ffffff;
  animation: none;
  box-sizing: border-box;
  display: flex;
  align-items: center;
  justify-content: center;
}

body[data-theme-layout="winxp"] .avatar-slot img,
body[data-theme-layout="winxp"] .avatar-slot canvas,
body[data-win-edition="winxp"] .avatar-slot img,
body[data-win-edition="winxp"] .avatar-slot canvas {
  width: 58px;
  height: 58px;
  border-radius: 2px;
  object-fit: contain;
}

body[data-theme-layout="winxp"] h1,
body[data-win-edition="winxp"] h1 {
  font-family: Tahoma, 'Pixelify Sans', sans-serif;
  font-size: 1.2rem;
  font-weight: bold;
  color: #00136b;
  text-shadow: none;
  margin: 2px 0;
  letter-spacing: 0;
}

body[data-theme-layout="winxp"] .kana,
body[data-win-edition="winxp"] .kana {
  font-family: Tahoma, sans-serif;
  font-size: 0.75rem;
  color: #555555;
  letter-spacing: 0.1em;
  margin: 0 0 4px;
}

body[data-theme-layout="winxp"] .tagline,
body[data-win-edition="winxp"] .tagline {
  font-family: Tahoma, sans-serif;
  font-size: 0.8rem;
  line-height: 1.35;
  color: #333333;
  max-width: 48ch;
  margin: 0 auto 6px;
}

body[data-theme-layout="winxp"] .socials,
body[data-win-edition="winxp"] .socials {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  gap: 6px;
  margin: 4px 0;
}

body[data-theme-layout="winxp"] .slot-btn,
body[data-win-edition="winxp"] .slot-btn {
  width: 36px;
  height: 36px;
  background: #ece9d8;
  border: 1px solid #aca899;
  border-radius: 3px;
  box-shadow: inset 1px 1px 0 #ffffff, 1px 1px 2px rgba(0, 0, 0, 0.1);
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  transition: background 0.08s, border-color 0.08s;
  box-sizing: border-box;
}

body[data-theme-layout="winxp"] .slot-btn:hover,
body[data-win-edition="winxp"] .slot-btn:hover {
  background: #dce6f4;
  border-color: #316ac5;
  box-shadow: inset 0 1px 0 #ffffff;
  transform: none;
}

body[data-theme-layout="winxp"] .slot-btn:active,
body[data-win-edition="winxp"] .slot-btn:active {
  background: #b5c7de;
  border-color: #245edb;
  transform: none;
}

body[data-theme-layout="winxp"] .slot-btn canvas,
body[data-win-edition="winxp"] .slot-btn canvas {
  width: 24px;
  height: 24px;
}

body[data-theme-layout="winxp"] .divider,
body[data-win-edition="winxp"] .divider {
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 8px 0;
  font-family: Tahoma, sans-serif;
  font-size: 11px;
  color: #555555;
  letter-spacing: 0;
}

body[data-theme-layout="winxp"] .divider::before,
body[data-theme-layout="winxp"] .divider::after,
body[data-win-edition="winxp"] .divider::before,
body[data-win-edition="winxp"] .divider::after {
  content: "";
  flex: 1;
  border-top: 1px solid #aca899;
  box-shadow: 0 1px 0 #ffffff;
  margin: 0 8px;
}

/* ==========================================================================
   9. FILE EXPLORER WORLDS GRID & CARDS (ZERO-CLIP)
   ========================================================================== */

body[data-theme-layout="winxp"] .worlds,
body[data-win-edition="winxp"] .worlds {
  display: grid !important;
  grid-template-columns: repeat(auto-fill, minmax(min(100%, 220px), 1fr)) !important;
  gap: 10px !important;
  padding: 0 !important;
  margin: 0;
  box-sizing: border-box;
}

body[data-theme-layout="winxp"] .world,
body[data-win-edition="winxp"] .world,
.luna-window .world {
  min-width: 0 !important;
  overflow: hidden !important;
  padding: 6px 10px !important;
  display: flex !important;
  gap: 10px !important;
  align-items: center !important;
  background: #ffffff !important;
  border: 1px solid transparent !important;
  border-radius: 2px !important;
  text-decoration: none !important;
  color: #000000 !important;
  box-shadow: none !important;
  transition: background 0.08s ease, border-color 0.08s ease, box-shadow 0.08s ease !important;
  animation: none !important;
  box-sizing: border-box !important;
}

body[data-theme-layout="winxp"] .world:hover,
body[data-win-edition="winxp"] .world:hover,
.luna-window .world:hover {
  background: #eef4ff !important;
  border-color: #316ac5 !important;
  box-shadow: 0 0 6px rgba(49, 106, 197, 0.35) !important;
  transform: none !important;
}

body[data-theme-layout="winxp"] .world:focus-visible,
body[data-theme-layout="winxp"] .world.selected,
body[data-theme-layout="winxp"] .world[aria-selected="true"],
body[data-win-edition="winxp"] .world:focus-visible,
body[data-win-edition="winxp"] .world.selected,
body[data-win-edition="winxp"] .world[aria-selected="true"],
.luna-window .world:focus-visible,
.luna-window .world.selected,
.luna-window .world[aria-selected="true"] {
  background: #dbe8fb !important;
  border-color: #316ac5 !important;
  outline: 1px dotted #00136b !important;
  outline-offset: -1px !important;
  transform: none !important;
}

body[data-theme-layout="winxp"] .world:active,
body[data-win-edition="winxp"] .world:active,
.luna-window .world:active {
  background: #dbe8fb !important;
  border-color: #316ac5 !important;
  transform: none !important;
}

body[data-theme-layout="winxp"] .icon-slot,
body[data-win-edition="winxp"] .icon-slot,
.luna-window .icon-slot {
  flex: 0 0 48px !important;
  width: 48px !important;
  height: 48px !important;
  background: #ffffff !important;
  border: 1px solid #d4d0c8 !important;
  border-radius: 3px !important;
  box-shadow: inset 1px 1px 0 #ffffff !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  flex-shrink: 0 !important;
}

body[data-theme-layout="winxp"] .icon-slot canvas,
body[data-theme-layout="winxp"] .icon-slot img,
body[data-win-edition="winxp"] .icon-slot canvas,
body[data-win-edition="winxp"] .icon-slot img,
.luna-window .icon-slot canvas,
.luna-window .icon-slot img {
  width: 36px !important;
  height: 36px !important;
  object-fit: contain !important;
}

body[data-theme-layout="winxp"] .meta,
body[data-win-edition="winxp"] .meta {
  min-width: 0;
  flex: 1;
  overflow: hidden;
}

body[data-theme-layout="winxp"] .titlerow,
body[data-win-edition="winxp"] .titlerow {
  display: flex !important;
  align-items: center !important;
  flex-wrap: wrap !important;
  gap: 6px !important;
  min-width: 0 !important;
  margin-bottom: 2px !important;
}

body[data-theme-layout="winxp"] .wname,
body[data-win-edition="winxp"] .wname,
.luna-window .wname {
  word-break: break-word !important;
  min-width: 0 !important;
  font-size: 11px !important;
  font-family: Tahoma, 'Pixelify Sans', sans-serif !important;
  font-weight: bold !important;
  color: #00136b !important;
  line-height: 1.3 !important;
}

body[data-theme-layout="winxp"] .world:hover .wname,
body[data-win-edition="winxp"] .world:hover .wname,
.luna-window .world:hover .wname {
  color: #0022cc !important;
  text-decoration: underline !important;
}

body[data-theme-layout="winxp"] .badge,
body[data-win-edition="winxp"] .badge {
  flex-shrink: 0 !important;
  font-family: Tahoma, sans-serif !important;
  font-size: 0.65rem !important;
  font-weight: bold !important;
  background: #ece9d8 !important;
  color: #00136b !important;
  border: 1px solid #aca899 !important;
  border-radius: 2px !important;
  padding: 1px 5px !important;
  box-shadow: none !important;
}

body[data-theme-layout="winxp"] .blurb,
body[data-win-edition="winxp"] .blurb {
  word-break: break-word !important;
  font-size: 0.78rem !important;
  margin: 3px 0 5px !important;
  font-family: Tahoma, sans-serif !important;
  line-height: 1.35 !important;
  color: #444444 !important;
}

body[data-theme-layout="winxp"] .chips,
body[data-win-edition="winxp"] .chips {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 4px !important;
}

body[data-theme-layout="winxp"] .chip,
body[data-win-edition="winxp"] .chip {
  font-family: Tahoma, sans-serif !important;
  font-size: 0.68rem !important;
  font-weight: normal !important;
  text-transform: none !important;
  background: #f0f0f0 !important;
  color: #333333 !important;
  border: 1px solid #d4d0c8 !important;
  border-radius: 2px !important;
  padding: 1px 5px !important;
  box-shadow: none !important;
}

/* ==========================================================================
   10. STATUS BAR (#winxp-statusbar)
   ========================================================================== */

#winxp-statusbar,
.winxp-statusbar,
.luna-statusbar {
  flex: 0 0 auto !important;
  height: 22px;
  background: #ece9d8;
  border-top: 1px solid #7f9db9;
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  padding: 0 4px !important;
  box-sizing: border-box !important;
  user-select: none;
  font-family: Tahoma, 'Pixelify Sans', sans-serif;
  font-size: 11px;
  color: #000000;
}

.winxp-status-pane {
  display: flex;
  align-items: center;
  gap: 4px;
  padding: 2px 6px;
  border-top: 1px solid #7f9db9;
  border-left: 1px solid #7f9db9;
  border-right: 1px solid #ffffff;
  border-bottom: 1px solid #ffffff;
  box-shadow: inset 1px 1px 1px rgba(0, 0, 0, 0.1);
  background: #ece9d8;
  font-family: Tahoma, sans-serif;
  font-size: 11px;
  box-sizing: border-box;
}

.winxp-status-left {
  flex: 1;
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.winxp-status-icon {
  font-size: 12px;
}

/* ==========================================================================
   11. TASKBAR AT BOTTOM (#winxp-taskbar)
   ========================================================================== */

#winxp-taskbar,
.winxp-taskbar,
.xp-taskbar {
  position: fixed;
  bottom: 0;
  left: 0;
  right: 0;
  height: 30px;
  line-height: 30px;
  background: linear-gradient(180deg, #245edb 0%, #3f8cf3 9%, #245edb 18%, #245edb 92%, #1941a5 100%);
  border-top: 1px solid #538af2;
  box-shadow: 0 -1px 2px rgba(0, 0, 0, 0.4);
  display: flex;
  align-items: center;
  z-index: 99990;
  padding: 0;
  user-select: none;
  box-sizing: border-box;
}

/* Authentic Luna Green Start Button */
#winxp-start-btn,
.winxp-start-btn,
#xp-start-btn,
.xp-start-button {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  height: 30px;
  padding: 0 16px 0 10px;
  background: linear-gradient(180deg, #2f822f 0%, #2a752a 35%, #1b5e20 100%);
  border: none;
  border-radius: 0 16px 16px 0;
  box-shadow: inset 0 1px 1px rgba(255, 255, 255, 0.7), 0 2px 5px rgba(0, 0, 0, 0.35);
  cursor: pointer;
  color: #ffffff;
  font-family: "Franklin Gothic Medium", "Trebuchet MS", Tahoma, sans-serif;
  font-size: 15px;
  font-weight: bold;
  font-style: italic;
  letter-spacing: 0.04em;
  text-shadow: 1px 1px 1px rgba(0, 0, 0, 0.7);
  box-sizing: border-box;
}

#winxp-start-btn:hover,
.winxp-start-btn:hover,
#xp-start-btn:hover,
.xp-start-button:hover {
  background: radial-gradient(ellipse at 50% 0%, #7ecc3d 0%, #52b328 40%, #449920 70%, #266b0f 100%);
}

#winxp-start-btn:active,
#winxp-start-btn[aria-expanded="true"],
.winxp-start-btn:active,
.winxp-start-btn[aria-expanded="true"] {
  background: radial-gradient(ellipse at 50% 0%, #2e6e14 0%, #1e4d0d 80%);
  box-shadow: inset 1px 1px 2px #0f2b06, inset -1px -1px 1px #1d520c, 1px 0 2px rgba(0, 0, 0, 0.3);
}

.winxp-start-flag,
.xp-start-flag {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 18px;
  height: 18px;
  line-height: 1;
}

.winxp-start-flag svg,
.xp-start-flag svg {
  width: 18px;
  height: 18px;
  display: block;
}

.winxp-start-text {
  font-family: "Franklin Gothic Medium", "Trebuchet MS", Tahoma, sans-serif;
  font-size: 15px;
  font-weight: bold;
  font-style: italic;
  letter-spacing: 0.04em;
  text-shadow: 1px 1px 1px rgba(0, 0, 0, 0.7);
  color: #ffffff;
}

.winxp-quicklaunch,
.xp-quicklaunch {
  display: flex;
  align-items: center;
  gap: 2px;
  padding: 0 4px;
}

.winxp-ql-btn,
.xp-ql-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 24px;
  height: 24px;
  background: transparent;
  border: 1px solid transparent;
  border-radius: 2px;
  font-size: 13px;
  cursor: pointer;
}

.winxp-ql-btn:hover,
.xp-ql-icon:hover {
  background: rgba(255, 255, 255, 0.25);
  border-color: rgba(255, 255, 255, 0.4);
}

.winxp-ql-sep,
.xp-toolbar-separator {
  width: 4px;
  height: 22px;
  margin: 0 4px;
  border-left: 1px solid rgba(255, 255, 255, 0.45);
  border-right: 1px solid rgba(0, 0, 0, 0.3);
  box-sizing: border-box;
  background-image:
    radial-gradient(circle at 2.5px 3.5px, #ffffff 1px, transparent 1px),
    radial-gradient(circle at 1.5px 2.5px, #0c2c70 1px, transparent 1px),
    radial-gradient(circle at 2.5px 8.5px, #ffffff 1px, transparent 1px),
    radial-gradient(circle at 1.5px 7.5px, #0c2c70 1px, transparent 1px),
    radial-gradient(circle at 2.5px 13.5px, #ffffff 1px, transparent 1px),
    radial-gradient(circle at 1.5px 12.5px, #0c2c70 1px, transparent 1px),
    radial-gradient(circle at 2.5px 18.5px, #ffffff 1px, transparent 1px),
    radial-gradient(circle at 1.5px 17.5px, #0c2c70 1px, transparent 1px);
  cursor: ew-resize;
}

.winxp-taskbar-tasks {
  flex: 1;
  display: flex;
  align-items: center;
  gap: 4px;
  padding: 0 6px;
  overflow-x: auto;
}

.winxp-task-tab,
.xp-task-btn {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  height: 25px;
  max-width: 180px;
  padding: 0 8px;
  background: linear-gradient(180deg, #3884e8 0%, #317be2 30%, #226dd9 60%, #1a5ec7 100%);
  border: 1px solid #14499d;
  border-top: 1px solid #6ab0ff;
  border-left: 1px solid #4a94f8;
  border-radius: 3px;
  color: #ffffff;
  font-family: Tahoma, 'Pixelify Sans', sans-serif;
  font-size: 11px;
  cursor: pointer;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.45);
  text-shadow: 1px 1px 1px rgba(0, 0, 0, 0.4);
  box-sizing: border-box;
}

.winxp-task-tab:hover,
.xp-task-btn:hover {
  background: linear-gradient(180deg, #5ba3ff 0%, #4092ff 40%, #297fe8 100%);
  border-top-color: #a4d0ff;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.7);
}

.winxp-task-tab.active,
.winxp-task-tab[aria-pressed="true"] {
  background: linear-gradient(180deg, #184585 0%, #1d529d 25%, #18478d 60%, #205ca8 100%);
  border: 1px solid #09285f;
  border-top: 2px solid #e68b2c;
  box-shadow: inset 1px 1px 2px rgba(0, 0, 0, 0.65), inset -1px 0 1px rgba(0, 0, 0, 0.3);
  color: #ffffff;
  font-weight: bold;
}

.winxp-tray,
.xp-tray {
  display: flex;
  align-items: center;
  gap: 8px;
  height: 30px;
  padding: 0 10px;
  background: linear-gradient(180deg, #0c59b8 0%, #166ae0 10%, #0d469b 50%, #0e56b5 85%, #106be0 100%);
  border-left: 1px solid #092e76;
  box-shadow: inset 1px 0 0 rgba(76, 140, 240, 0.5), inset 0 1px 2px rgba(0, 0, 0, 0.45);
  color: #ffffff;
  font-family: Tahoma, 'Pixelify Sans', sans-serif;
  font-size: 11px;
}

.winxp-tray-btn {
  background: transparent;
  border: none;
  color: #ffffff;
  cursor: pointer;
  font-size: 12px;
  padding: 0;
}

.winxp-clock,
.xp-tray-clock {
  font-family: Tahoma, sans-serif;
  font-size: 11px;
  color: #ffffff;
  white-space: nowrap;
}

/* ==========================================================================
   12. INTERACTIVE START MENU (#winxp-start-menu)
   ========================================================================== */

#winxp-start-menu,
.winxp-start-menu,
#xp-start-menu,
.xp-start-menu {
  position: fixed;
  bottom: 30px;
  left: 0;
  width: 380px;
  max-width: calc(100vw - 12px);
  background: #ffffff;
  border: 1px solid #002e82;
  border-radius: 6px 6px 0 0;
  box-shadow: 4px -2px 16px rgba(0, 0, 0, 0.45);
  z-index: 99995;
  display: flex;
  flex-direction: column;
  overflow: hidden;
  font-family: Tahoma, sans-serif;
}

.winxp-sm-header,
.start-menu-header {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 8px 12px;
  background: linear-gradient(180deg, #0058ee 0%, #1970f5 50%, #0a4ec9 100%);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.45);
  border-bottom: 2px solid #e58a22;
  color: #ffffff;
}

.winxp-sm-avatar-frame,
.start-avatar {
  width: 44px;
  height: 44px;
  border: 2px solid #ffffff;
  box-shadow: 0 1px 4px rgba(0, 0, 0, 0.5), inset 0 0 1px rgba(0, 0, 0, 0.4);
  border-radius: 4px;
  overflow: hidden;
  background: #ffffff;
  display: flex;
  align-items: center;
  justify-content: center;
}

.winxp-sm-avatar {
  width: 38px;
  height: 38px;
  image-rendering: pixelated;
}

.winxp-sm-username,
.start-username {
  font-family: "Franklin Gothic Medium", Tahoma, sans-serif;
  font-size: 16px;
  font-weight: bold;
  text-shadow: 1px 1px 2px #0b2d73;
  color: #ffffff;
}

.winxp-sm-body,
.start-menu-body {
  display: flex;
  flex-direction: row;
  min-height: 340px;
}

.winxp-sm-left,
.start-column-left {
  flex: 1.1;
  background: #ffffff;
  padding: 6px;
  display: flex;
  flex-direction: column;
  gap: 2px;
}

.winxp-sm-right,
.start-column-right {
  flex: 0.9;
  background: #d3e5fa;
  border-left: 1px solid #95bdee;
  padding: 6px;
  display: flex;
  flex-direction: column;
  gap: 2px;
}

.winxp-sm-item,
.start-menu-item {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 4px 6px;
  border-radius: 2px;
  text-decoration: none;
  color: #111111;
  border: 1px solid transparent;
  cursor: pointer;
  background: transparent;
  text-align: left;
  font-size: 11px;
}

.winxp-sm-item:hover,
.winxp-sm-item:focus-visible,
.start-column-left .start-menu-item:hover {
  background: #316ac5;
  color: #ffffff;
}

.winxp-sm-item:hover .winxp-sm-sub,
.winxp-sm-item:focus-visible .winxp-sm-sub {
  color: #ffffff;
}

.winxp-sm-icon,
.start-item-icon {
  font-size: 20px;
  flex: 0 0 24px;
  text-align: center;
}

.winxp-sm-meta {
  display: flex;
  flex-direction: column;
  min-width: 0;
}

.winxp-sm-title {
  font-family: Tahoma, sans-serif;
  font-size: 11px;
  font-weight: bold;
}

.winxp-sm-sub {
  font-family: Tahoma, sans-serif;
  font-size: 10px;
  color: #555555;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.winxp-sm-divider,
.start-menu-divider {
  border-top: 1px solid #95bdee;
  border-bottom: 1px solid #ffffff;
  height: 0;
  background: transparent;
  margin: 4px 6px;
}

.winxp-sm-divider-r {
  border-top: 1px solid #95bdee;
  border-bottom: 1px solid #ffffff;
  height: 0;
  background: transparent;
  margin: 4px 6px;
}

.winxp-sm-allprogs {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  padding: 6px;
  margin-top: auto;
  border: 1px solid transparent;
  border-radius: 3px;
  background: transparent;
  cursor: pointer;
  font-family: Tahoma, sans-serif;
  font-size: 11px;
  font-weight: bold;
  color: #111111;
}

.winxp-sm-allprogs:hover {
  background: #c1d2ee;
  border-color: #316ac5;
  color: #000000;
}

.winxp-sm-allprogs:focus-visible {
  outline: 1px dotted #316ac5;
}

/* Bold Personal Folders in Right Column */
.winxp-sm-right > .winxp-sm-item-r:nth-child(-n+4),
.winxp-sm-item-r.bold {
  font-weight: bold;
}

.winxp-sm-item-r {
  display: flex;
  align-items: center;
  gap: 6px;
  padding: 3px 6px;
  border: 1px solid transparent;
  border-radius: 2px;
  background: transparent;
  color: #00136b;
  text-decoration: none;
  font-family: Tahoma, sans-serif;
  font-size: 11px;
  font-weight: 500;
  cursor: pointer;
  text-align: left;
}

.winxp-sm-item-r:hover,
.winxp-sm-item-r:focus-visible,
.start-column-right .start-menu-item:hover {
  background: #316ac5;
  color: #ffffff;
}

.winxp-sm-footer,
.start-menu-footer {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 10px;
  padding: 8px 14px;
  background: linear-gradient(180deg, #245edb 0%, #1e52bc 100%);
  border-top: 1px solid #3f8cf3;
}

.winxp-sm-foot-btn,
.start-footer-btn {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  background: transparent;
  border: 1px solid transparent;
  color: #ffffff;
  font-family: Tahoma, sans-serif;
  font-size: 11px;
  cursor: pointer;
  padding: 3px 8px;
  border-radius: 2px;
  transition: background 0.1s ease, border-color 0.1s ease, box-shadow 0.1s ease;
}

.winxp-sm-foot-btn:hover,
.start-footer-btn:hover {
  background: rgba(255, 255, 255, 0.22);
  border-color: rgba(255, 255, 255, 0.45);
  box-shadow: 0 0 6px rgba(255, 255, 255, 0.5), inset 0 1px 0 rgba(255, 255, 255, 0.4);
}

.winxp-sm-foot-btn:focus-visible,
.start-footer-btn:focus-visible {
  outline: 1px dotted #ffffff !important;
  outline-offset: 1px !important;
  border-color: #ffffff !important;
  box-shadow: 0 0 6px rgba(255, 255, 255, 0.6);
}

#winxp-sm-logoff:hover,
.winxp-start-logoff:hover {
  box-shadow: 0 0 8px rgba(253, 224, 71, 0.6), inset 0 1px 0 rgba(255, 255, 255, 0.4);
  border-color: rgba(253, 224, 71, 0.8);
}

#winxp-sm-turnoff:hover,
.winxp-start-turnoff:hover {
  box-shadow: 0 0 8px rgba(248, 113, 113, 0.6), inset 0 1px 0 rgba(255, 255, 255, 0.4);
  border-color: rgba(248, 113, 113, 0.8);
}

/* ==========================================================================
   13. NOTIFICATION BALLOON (#winxp-balloon)
   ========================================================================== */

#winxp-balloon,
.winxp-balloon,
.xp-balloon {
  position: fixed;
  bottom: 40px;
  right: 14px;
  width: 260px;
  padding: 10px 12px 10px 10px;
  background: #ffffe1;
  border: 1px solid #333333;
  border-radius: 6px;
  box-shadow: 2px 2px 6px rgba(0, 0, 0, 0.35);
  z-index: 99999;
  font-family: Tahoma, 'Pixelify Sans', sans-serif;
  color: #111111;
  cursor: pointer;
}

.winxp-balloon-close,
.xp-balloon-close {
  position: absolute;
  top: 4px;
  right: 6px;
  background: transparent;
  border: none;
  font-size: 11px;
  color: #555555;
  cursor: pointer;
  padding: 2px 4px;
}

.winxp-balloon-close:hover,
.xp-balloon-close:hover {
  color: #000000;
}

.winxp-balloon-header,
.xp-balloon-header {
  display: flex;
  align-items: center;
  gap: 6px;
  margin-bottom: 4px;
}

.winxp-balloon-icon {
  font-size: 16px;
}

.winxp-balloon-title,
.xp-balloon-title {
  font-size: 11px;
  font-weight: bold;
  color: #002f87;
}

.winxp-balloon-body,
.xp-balloon-msg {
  font-size: 11px;
  line-height: 1.35;
  color: #333333;
}

.winxp-balloon-body strong {
  display: block;
  margin-bottom: 2px;
  color: #000000;
}

.winxp-balloon-body p {
  margin: 0;
  color: #333333;
  font-size: 10px;
}

.winxp-balloon-tail {
  position: absolute;
  bottom: -9px;
  right: 38px;
  width: 0;
  height: 0;
  border-left: 8px solid transparent;
  border-right: 8px solid transparent;
  border-top: 9px solid #333333;
}

.winxp-balloon-tail::after {
  content: "";
  position: absolute;
  bottom: 1px;
  left: -7px;
  width: 0;
  height: 0;
  border-left: 7px solid transparent;
  border-right: 7px solid transparent;
  border-top: 8px solid #ffffe1;
}

/* ==========================================================================
   14. ACCESSIBILITY, FOCUS-VISIBLE & QUALITY LOCKS
   ========================================================================== */

body[data-theme-layout="winxp"] a:focus-visible,
body[data-theme-layout="winxp"] button:focus-visible,
body[data-theme-layout="winxp"] input:focus-visible,
body[data-theme-layout="winxp"] [tabindex="0"]:focus-visible,
body[data-win-edition="winxp"] a:focus-visible,
body[data-win-edition="winxp"] button:focus-visible,
body[data-win-edition="winxp"] input:focus-visible,
body[data-win-edition="winxp"] [tabindex="0"]:focus-visible {
  outline: 2px dotted #00136b !important;
  outline-offset: 2px !important;
}

#winxp-start-btn:focus-visible,
.winxp-start-btn:focus-visible,
.winxp-btn-ctrl:focus-visible,
.winxp-ql-btn:focus-visible,
.winxp-task-tab:focus-visible,
.winxp-tray-btn:focus-visible,
.winxp-sm-foot-btn:focus-visible,
.winxp-desktop-icon:focus-visible,
.xp-desktop-icon:focus-visible {
  outline: 2px dotted #ffffff !important;
  outline-offset: 1px !important;
}

/* ==========================================================================
   15. RESPONSIVE DESIGN & MOBILE BEHAVIOR
   ========================================================================== */

@media (max-width: 768px) {
  body[data-theme-layout="winxp"] .winxp-aux-window,
  body[data-theme-layout="winxp"] main.luna-window,
  body[data-theme-layout="winxp"] main,
  body[data-win-edition="winxp"] main,
  .luna-window {
    left: 0 !important;
    top: 0 !important;
    width: 100vw !important;
    max-width: 100vw !important;
    height: calc(100vh - 30px) !important;
    border-radius: 0 !important;
    border-left: none !important;
    border-right: none !important;
    border-width: 2px !important;
    box-shadow: none !important;
    resize: none !important;
  }

  .winxp-titlebar-btn,
  .luna-btn {
    min-width: 28px !important;
    min-height: 24px !important;
  }

  /* Desktop shortcuts tucked away on narrow phones */
  #winxp-desktop-icons,
  .winxp-desktop-icons,
  .xp-desktop-icons {
    display: none !important;
  }

  /* Stack sidebar and content on small displays */
  body[data-theme-layout="winxp"] #winxp-body-split,
  body[data-win-edition="winxp"] #winxp-body-split,
  .winxp-body-split,
  .luna-client-area {
    flex-direction: column !important;
  }

  body[data-theme-layout="winxp"] #winxp-sidebar,
  body[data-win-edition="winxp"] #winxp-sidebar,
  .winxp-sidebar,
  .luna-sidebar {
    width: 100% !important;
    flex: 0 0 auto !important;
    max-height: 200px;
  }

  /* Mobile start menu sizing */
  #winxp-start-menu,
  .winxp-start-menu,
  #xp-start-menu,
  .xp-start-menu {
    width: 94vw !important;
    left: 3vw !important;
  }

  /* Hide resizer handles and status bar grip on mobile touchscreens */
  .winxp-resizer,
  .winxp-grip {
    display: none !important;
  }
}

@media (max-width: 480px) {
  .winxp-aux-window {
    max-width: calc(100vw - 12px) !important;
    left: 6px !important;
  }
}

/* ==========================================================================
   16. MOTION SAFETY
   ========================================================================== */

@media (prefers-reduced-motion: reduce) {
  body[data-theme-layout="winxp"] *,
  body[data-win-edition="winxp"] * {
    animation-duration: 0.001ms !important;
    transition-duration: 0.001ms !important;
  }
}

/* ==========================================================================
   17. AUXILIARY WINDOWS & INACTIVE LUNA TITLEBARS (.winxp-aux-window)
   ========================================================================== */

/* Auxiliary Window Floating Container */
.winxp-aux-window {
  position: fixed;
  background: #ece9d8;
  border: 3px solid #0058ee;
  border-radius: 4px 4px 0 0;
  box-shadow: 0 8px 24px rgba(0, 30, 90, 0.4), 0 2px 6px rgba(0, 0, 0, 0.25);
  display: flex;
  flex-direction: column;
  overflow: hidden;
  z-index: 60;
  font-family: Tahoma, 'Pixelify Sans', sans-serif;
  box-sizing: border-box;
  min-width: 240px;
  min-height: 140px;
}

/* Active Aux Window (default when not .inactive) */
.winxp-aux-window:not(.inactive),
.winxp-aux-window.active {
  border-color: #0058ee;
  z-index: 70;
}

.winxp-aux-window:not(.inactive) .winxp-titlebar,
.winxp-aux-window.active .winxp-titlebar {
  background: linear-gradient(180deg, #0058ee 0%, #2f7eff 12%, #0055ea 50%, #0040be 100%);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.65), inset 1px 0 0 rgba(255, 255, 255, 0.4), inset -1px 0 0 rgba(255, 255, 255, 0.4);
  color: #ffffff;
  text-shadow: 1px 1px 1px #001e64;
}

/* Inactive Window State (Luna Blue Inactive #7a96df Gradient) */
.winxp-aux-window.inactive,
.winxp-aux-window.winxp-window-inactive,
body[data-theme-layout="winxp"] main.inactive,
body[data-theme-layout="winxp"] main.winxp-window-inactive,
body[data-win-edition="winxp"] main.inactive,
body[data-win-edition="winxp"] main.winxp-window-inactive,
.luna-window.inactive {
  border-color: #7a96df !important;
  box-shadow: 0 4px 14px rgba(0, 0, 0, 0.25) !important;
}

.inactive .winxp-titlebar,
.winxp-titlebar.inactive,
main.winxp-window-inactive #winxp-titlebar,
main.inactive #winxp-titlebar,
.winxp-aux-window.inactive .winxp-titlebar,
.winxp-aux-window.winxp-window-inactive .winxp-titlebar,
body[data-theme-layout="winxp"] main.inactive #winxp-titlebar,
body[data-theme-layout="winxp"] main.inactive .winxp-titlebar,
body[data-theme-layout="winxp"] main.winxp-window-inactive #winxp-titlebar,
body[data-theme-layout="winxp"] main.winxp-window-inactive .winxp-titlebar,
body[data-win-edition="winxp"] main.inactive #winxp-titlebar,
body[data-win-edition="winxp"] main.inactive .winxp-titlebar,
body[data-win-edition="winxp"] main.winxp-window-inactive #winxp-titlebar,
body[data-win-edition="winxp"] main.winxp-window-inactive .winxp-titlebar,
.luna-window.inactive .luna-titlebar {
  background: linear-gradient(180deg, #7697ca 0%, #abbfdf 4%, #a2b8db 18%, #8fa9d3 35%, #809ccb 60%, #7592c3 85%, #6a87b8 100%) !important;
  color: #ffffff !important;
  text-shadow: 1px 1px 1px #445c8c !important;
}

.inactive .winxp-titlebar .winxp-title-text,
.winxp-titlebar.inactive .winxp-title-text,
main.winxp-window-inactive #winxp-titlebar .winxp-title-text,
main.inactive #winxp-titlebar .winxp-title-text,
.winxp-aux-window.inactive .winxp-title-text,
.luna-window.inactive .winxp-title-text,
.luna-window.inactive .luna-titlebar-title {
  color: #ffffff !important;
  text-shadow: 1px 1px 1px #1d2b48 !important;
}

/* Inactive Control Buttons (Desaturated Glass & Opacity 0.65) */
.winxp-aux-window.inactive .winxp-btn-ctrl,
.winxp-aux-window.inactive .luna-btn,
.winxp-aux-window.inactive .winxp-titlebar-btn,
.winxp-aux-window.winxp-window-inactive .winxp-btn-ctrl,
.winxp-aux-window.winxp-window-inactive .winxp-titlebar-btn,
.inactive .winxp-titlebar .winxp-btn-ctrl,
.inactive .winxp-titlebar .luna-btn,
.inactive .winxp-titlebar .winxp-titlebar-btn,
.winxp-titlebar.inactive .winxp-btn-ctrl,
.winxp-titlebar.inactive .luna-btn,
.winxp-titlebar.inactive .winxp-titlebar-btn,
main.inactive #winxp-titlebar .winxp-btn-ctrl,
main.inactive #winxp-titlebar .luna-btn,
main.inactive #winxp-titlebar .winxp-titlebar-btn,
main.winxp-window-inactive #winxp-titlebar .winxp-btn-ctrl,
main.winxp-window-inactive #winxp-titlebar .luna-btn,
main.winxp-window-inactive #winxp-titlebar .winxp-titlebar-btn,
.luna-window.inactive .luna-btn {
  opacity: 0.65;
}

.winxp-aux-window.inactive .winxp-btn-min,
.winxp-aux-window.inactive .winxp-btn-max,
.winxp-aux-window.winxp-window-inactive .winxp-btn-min,
.winxp-aux-window.winxp-window-inactive .winxp-btn-max,
main.inactive .winxp-btn-min,
main.inactive .winxp-btn-max,
main.winxp-window-inactive .winxp-btn-min,
main.winxp-window-inactive .winxp-btn-max,
.luna-window.inactive .luna-btn-min,
.luna-window.inactive .luna-btn-max {
  background: linear-gradient(180deg, #8faae9 0%, #7393de 100%) !important;
  border-color: #c4d4f7 !important;
  box-shadow: inset 1px 1px 0 rgba(255, 255, 255, 0.5), 1px 1px 1px rgba(0, 0, 0, 0.15) !important;
}

.winxp-aux-window.inactive .winxp-btn-close,
.winxp-aux-window.winxp-window-inactive .winxp-btn-close,
main.inactive .winxp-btn-close,
main.winxp-window-inactive .winxp-btn-close,
.luna-window.inactive .luna-btn-close {
  background: linear-gradient(180deg, #d88b7d 0%, #bd6151 100%) !important;
  border-color: #f1c5be !important;
  box-shadow: inset 1px 1px 0 rgba(255, 255, 255, 0.5), 1px 1px 1px rgba(0, 0, 0, 0.15) !important;
}

/* Auxiliary Window Client Area */
.winxp-aux-body,
.winxp-aux-content {
  flex: 1 1 auto;
  background: #ece9d8;
  color: #000000;
  font-family: Tahoma, 'Pixelify Sans', sans-serif;
  font-size: 11px;
  overflow: auto;
  box-sizing: border-box;
  padding: 8px;
}

.winxp-aux-window.winxp-minimized {
  display: none !important;
}

.winxp-aux-window.winxp-maximized {
  top: 0 !important;
  left: 0 !important;
  width: 100vw !important;
  height: calc(100vh - 30px) !important;
  border-radius: 0 !important;
  border-width: 2px !important;
  box-shadow: none !important;
}

/* ==========================================================================
   18. DESKTOP RIGHT-CLICK CONTEXT MENU (#winxp-context-menu)
   ========================================================================== */

#winxp-context-menu,
.winxp-context-menu {
  position: fixed;
  z-index: 99998;
  background: #ffffff;
  border: 1px solid #716f64;
  outline: 1px solid #aca899;
  box-shadow: 2px 2px 5px rgba(0, 0, 0, 0.3), 4px 4px 12px rgba(0, 0, 0, 0.15);
  padding: 2px;
  min-width: 176px;
  font-family: Tahoma, 'Pixelify Sans', sans-serif;
  font-size: 11px;
  color: #000000;
  user-select: none;
  display: flex;
  flex-direction: column;
  box-sizing: border-box;
}

/* Hidden by default unless active */
#winxp-context-menu:not(.active):not([data-visible="true"]),
.winxp-context-menu:not(.active):not([data-visible="true"]) {
  display: none;
}

#winxp-context-menu.active,
#winxp-context-menu[data-visible="true"],
.winxp-context-menu.active,
.winxp-context-menu[data-visible="true"] {
  display: flex;
}

/* Context Menu Item */
.winxp-ctx-item,
.winxp-context-item {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 3px 20px 3px 26px;
  position: relative;
  border-radius: 1px;
  color: #000000;
  text-decoration: none;
  cursor: pointer;
  font-family: Tahoma, sans-serif;
  font-size: 11px;
  line-height: 1.4;
  border: 1px solid transparent;
  background: transparent;
  width: 100%;
  box-sizing: border-box;
  text-align: left;
}

/* Leading Icon or Checkmark */
.winxp-ctx-icon,
.winxp-context-icon {
  position: absolute;
  left: 5px;
  width: 16px;
  height: 16px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 12px;
  line-height: 1;
}

.winxp-ctx-icon svg,
.winxp-context-icon svg {
  width: 14px;
  height: 14px;
}

/* Context Item Hover / Keyboard Focus */
.winxp-ctx-item:hover,
.winxp-ctx-item:focus-visible,
.winxp-context-item:hover,
.winxp-context-item:focus-visible {
  background: #316ac5 !important;
  color: #ffffff !important;
  border-color: #316ac5 !important;
  outline: 1px dotted #ffffff !important;
  outline-offset: -2px !important;
}

/* Separator Line with Sunken 3D Groove */
.winxp-ctx-sep,
.winxp-context-separator {
  height: 1px;
  background: #aca899;
  border-bottom: 1px solid #ffffff;
  margin: 3px 2px;
  padding: 0;
  border-top: none;
  border-left: none;
  border-right: none;
}

/* Submenu Indicator Arrow */
.winxp-ctx-arrow,
.winxp-context-arrow {
  margin-left: auto;
  width: 0;
  height: 0;
  border-top: 4px solid transparent;
  border-bottom: 4px solid transparent;
  border-left: 4px solid #000000;
  margin-right: -10px;
}

.winxp-ctx-item:hover .winxp-ctx-arrow,
.winxp-ctx-item:focus-visible .winxp-ctx-arrow,
.winxp-context-item:hover .winxp-context-arrow,
.winxp-context-item:focus-visible .winxp-context-arrow {
  border-left-color: #ffffff;
}

/* Disabled Context Item */
.winxp-ctx-item.disabled,
.winxp-ctx-item[aria-disabled="true"],
.winxp-context-item.disabled,
.winxp-context-item[aria-disabled="true"] {
  color: #888888 !important;
  text-shadow: 1px 1px 0 #ffffff;
  cursor: default !important;
  pointer-events: none;
}

.winxp-ctx-item.disabled:hover,
.winxp-context-item.disabled:hover {
  background: transparent !important;
  border-color: transparent !important;
  color: #888888 !important;
}

/* ==========================================================================
   19. RUBBERBAND MARQUEE SELECTION BOX (#winxp-marquee)
   ========================================================================== */

#winxp-marquee,
.winxp-marquee {
  position: fixed;
  pointer-events: none;
  z-index: 45;
  background: rgba(49, 106, 197, 0.25) !important;
  border: 1px dotted #316ac5 !important;
  box-sizing: border-box;
  display: none;
}

#winxp-marquee.active,
#winxp-marquee[data-active="true"],
.winxp-marquee.active,
.winxp-marquee[data-active="true"] {
  display: block;
}

/* ==========================================================================
   20. COMMAND PROMPT APP (cmd.exe)
   ========================================================================== */

.winxp-cmd-window {
  min-width: 460px;
  min-height: 280px;
  background: #000000;
}

.winxp-cmd-body {
  background-color: #000000 !important;
  color: #c0c0c0;
  font-family: 'Lucida Console', Consolas, 'Courier New', monospace !important;
  font-size: 13px;
  line-height: 1.35;
  padding: 8px 10px;
  overflow-y: auto;
  overflow-x: hidden;
  height: 100%;
  min-height: 240px;
  box-sizing: border-box;
  flex: 1 1 auto;
}

/* Green Font Variant */
.winxp-cmd-body.cmd-green,
.winxp-cmd-body[data-color="green"],
.winxp-cmd-green {
  color: #00ff00 !important;
}

/* Silver Font Variant */
.cmd-silver,
.winxp-cmd-body[data-color="silver"],
.winxp-cmd-silver {
  color: #c0c0c0 !important;
}

/* Command Prompt Banner / Microsoft Windows XP Text */
.winxp-cmd-header {
  margin-bottom: 12px;
  white-space: pre-wrap;
  color: inherit;
}

/* Interactive Command Line */
.winxp-cmd-line {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  margin: 3px 0;
  color: inherit;
}

.winxp-cmd-prompt {
  margin-right: 6px;
  user-select: none;
  color: inherit;
  font-weight: normal;
}

.winxp-cmd-input {
  background: transparent !important;
  border: none !important;
  outline: none !important;
  color: inherit !important;
  font-family: 'Lucida Console', Consolas, 'Courier New', monospace !important;
  font-size: 13px !important;
  flex: 1;
  min-width: 140px;
  padding: 0 !important;
  margin: 0 !important;
  caret-color: #00ff00 !important;
}

.winxp-cmd-input:focus-visible {
  outline: 1px dotted #00ff00 !important;
  outline-offset: 1px !important;
}

/* Blinking Horizontal Bar Cursor (WinXP cmd default) */
.winxp-cmd-cursor {
  display: inline-block;
  width: 8px;
  height: 2px;
  background: currentColor;
  vertical-align: baseline;
  margin-left: 1px;
  animation: winxp-cursor-blink 1s step-end infinite;
}

/* Blinking Block Cursor Variant */
.winxp-cmd-cursor-block {
  display: inline-block;
  width: 8px;
  height: 14px;
  background: currentColor;
  vertical-align: text-bottom;
  animation: winxp-cursor-blink 1s step-end infinite;
}

@keyframes winxp-cursor-blink {
  0%, 49% {
    opacity: 1;
  }
  50%, 100% {
    opacity: 0;
  }
}

/* Retro Scrollbars inside CMD */
.winxp-cmd-body::-webkit-scrollbar {
  width: 16px;
  background: #000000;
}

.winxp-cmd-body::-webkit-scrollbar-thumb {
  background: #333333;
  border: 1px solid #555555;
}

.winxp-cmd-body::-webkit-scrollbar-thumb:hover {
  background: #555555;
}

/* ==========================================================================
   21. MINESWEEPER RETRO GAME (winmine.exe)
   ========================================================================== */

/* Outer Game Window Container */
.winxp-minesweeper,
.winmine-window {
  background: #c0c0c0 !important;
  padding: 6px !important;
  display: inline-flex !important;
  flex-direction: column !important;
  gap: 6px !important;
  font-family: Tahoma, Arial, sans-serif !important;
  user-select: none !important;
  border-top: 3px solid #ffffff !important;
  border-left: 3px solid #ffffff !important;
  border-right: 3px solid #808080 !important;
  border-bottom: 3px solid #808080 !important;
  box-sizing: border-box !important;
  width: fit-content !important;
  margin: 0 auto;
}

/* Winmine Menubar (Game, Help) */
.winmine-menubar {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 1px 4px 3px;
  font-family: Tahoma, sans-serif;
  font-size: 11px;
  color: #000000;
}

.winmine-menu-item {
  cursor: pointer;
  padding: 1px 4px;
  border-radius: 1px;
}

.winmine-menu-item:hover {
  background: #316ac5;
  color: #ffffff;
}

.winmine-menu-item:focus-visible {
  background: #316ac5;
  color: #ffffff;
  outline: 1px dotted #ffffff !important;
  outline-offset: -2px !important;
}

/* Scoreboard Header: 3-Digit LED, Smiley Button, 3-Digit Timer */
.winmine-header {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  padding: 4px 7px !important;
  background: #c0c0c0 !important;
  border-top: 2px solid #808080 !important;
  border-left: 2px solid #808080 !important;
  border-right: 2px solid #ffffff !important;
  border-bottom: 2px solid #ffffff !important;
  box-sizing: border-box !important;
}

/* LED 3-Digit Score / Timer Displays */
.winmine-led,
.winmine-digital-display,
.winxp-led-display {
  background: #000000 !important;
  color: #ff0000 !important;
  font-family: 'Courier New', 'Lucida Console', monospace !important;
  font-size: 22px !important;
  font-weight: bold !important;
  line-height: 1 !important;
  padding: 2px 3px 0 3px !important;
  border-top: 1px solid #808080 !important;
  border-left: 1px solid #808080 !important;
  border-right: 1px solid #ffffff !important;
  border-bottom: 1px solid #ffffff !important;
  letter-spacing: 2px !important;
  height: 26px !important;
  min-width: 48px !important;
  text-align: right !important;
  box-sizing: border-box !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: flex-end !important;
  text-shadow: 0 0 3px #ff0000;
}

/* Smiley Face 24x24 Beveled Center Button */
.winmine-smiley,
.winxp-smiley-btn {
  width: 26px !important;
  height: 26px !important;
  background: #c0c0c0 !important;
  border-top: 2px solid #ffffff !important;
  border-left: 2px solid #ffffff !important;
  border-right: 2px solid #808080 !important;
  border-bottom: 2px solid #808080 !important;
  border-radius: 0 !important;
  padding: 0 !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  font-size: 16px !important;
  line-height: 1 !important;
  cursor: pointer !important;
  box-sizing: border-box !important;
}

.winmine-smiley:hover,
.winxp-smiley-btn:hover {
  filter: brightness(1.04);
}

.winmine-smiley:active,
.winmine-smiley.pressed,
.winxp-smiley-btn:active,
.winxp-smiley-btn.pressed {
  border-top: 2px solid #808080 !important;
  border-left: 2px solid #808080 !important;
  border-right: 2px solid #ffffff !important;
  border-bottom: 2px solid #ffffff !important;
  padding: 1px 0 0 1px !important;
}

.winmine-smiley:focus-visible,
.winxp-smiley-btn:focus-visible {
  outline: 1px dotted #000000 !important;
  outline-offset: 1px !important;
}

/* Minesweeper 9x9 Grid Board Frame */
.winmine-grid {
  display: grid !important;
  grid-template-columns: repeat(var(--winmine-cols, 9), 16px) !important;
  grid-template-rows: repeat(var(--winmine-rows, 9), 16px) !important;
  background: #808080 !important;
  border-top: 3px solid #808080 !important;
  border-left: 3px solid #808080 !important;
  border-right: 3px solid #ffffff !important;
  border-bottom: 3px solid #ffffff !important;
  padding: 0 !important;
  box-sizing: content-box !important;
  margin: 0 auto;
}

/* 16x16px Cells */
.winmine-cell {
  width: 16px !important;
  height: 16px !important;
  box-sizing: border-box !important;
  font-family: Arial, Tahoma, sans-serif !important;
  font-size: 12px !important;
  font-weight: 900 !important;
  line-height: 14px !important;
  text-align: center !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 0 !important;
  border-radius: 0 !important;
  user-select: none !important;
}

/* Unrevealed: Raised 2px Bevel */
.winmine-cell:not(.revealed),
.winmine-cell.unrevealed {
  background: #c0c0c0 !important;
  border-top: 2px solid #ffffff !important;
  border-left: 2px solid #ffffff !important;
  border-right: 2px solid #808080 !important;
  border-bottom: 2px solid #808080 !important;
  cursor: pointer !important;
}

.winmine-cell:not(.revealed):active {
  border-top: 1px solid #808080 !important;
  border-left: 1px solid #808080 !important;
  border-right: 1px solid #808080 !important;
  border-bottom: 1px solid #808080 !important;
}

/* Revealed: Flat 1px Sunken Border, Gray Background */
.winmine-cell.revealed {
  background: #c0c0c0 !important;
  border: 1px solid #7b7b7b !important;
  cursor: default !important;
}

.winmine-cell:focus-visible,
.winxp-mine-cell:focus-visible {
  outline: 1px dotted #000000 !important;
  outline-offset: -2px !important;
}

/* Number Colors (Authentic GDI winmine.exe spec with WCAG AA compliance >= 4.5:1) */
.winmine-cell[data-num="1"],
.winmine-cell.num-1,
.winxp-mine-cell[data-num="1"] {
  color: #0000ff !important;
}

.winmine-cell[data-num="2"],
.winmine-cell.num-2,
.winxp-mine-cell[data-num="2"] {
  color: #005800 !important;
}

.winmine-cell[data-num="3"],
.winmine-cell.num-3,
.winxp-mine-cell[data-num="3"] {
  color: #a00000 !important;
}

.winmine-cell[data-num="4"],
.winmine-cell.num-4,
.winxp-mine-cell[data-num="4"] {
  color: #000080 !important;
}

.winmine-cell[data-num="5"],
.winmine-cell.num-5,
.winxp-mine-cell[data-num="5"] {
  color: #800000 !important;
}

.winmine-cell[data-num="6"],
.winmine-cell.num-6,
.winxp-mine-cell[data-num="6"] {
  color: #005555 !important;
}

.winmine-cell[data-num="7"],
.winmine-cell.num-7,
.winxp-mine-cell[data-num="7"] {
  color: #000000 !important;
}

.winmine-cell[data-num="8"],
.winmine-cell.num-8,
.winxp-mine-cell[data-num="8"] {
  color: #4b4b4b !important;
}

/* Exploded Mine Cell */
.winmine-cell.exploded {
  background: #ff0000 !important;
  border: 1px solid #7b7b7b !important;
}

/* Flagged Cell */
.winmine-cell.flagged {
  color: #ff0000 !important;
}

/* ==========================================================================
   22. DISPLAY PROPERTIES DIALOG (desk.cpl)
   ========================================================================== */

.winxp-deskcpl-window,
.winxp-display-props {
  width: 410px;
  max-width: calc(100vw - 20px);
  background: #ece9d8;
  font-family: Tahoma, 'Pixelify Sans', sans-serif;
  box-sizing: border-box;
}

/* Tabbed Dialog Header */
.winxp-dialog-tabs {
  display: flex !important;
  align-items: flex-end !important;
  padding: 6px 6px 0 !important;
  gap: 2px !important;
  border-bottom: 1px solid #919b9c !important;
  position: relative !important;
  z-index: 1 !important;
  user-select: none !important;
  background: #ece9d8;
  margin: 0 !important;
  list-style: none !important;
}

.winxp-dialog-tab {
  padding: 4px 10px !important;
  font-family: Tahoma, sans-serif !important;
  font-size: 11px !important;
  background: #ece9d8 !important;
  border-top: 1px solid #ffffff !important;
  border-left: 1px solid #ffffff !important;
  border-right: 1px solid #919b9c !important;
  border-bottom: 1px solid #919b9c !important;
  border-radius: 4px 4px 0 0 !important;
  color: #000000 !important;
  cursor: pointer !important;
  position: relative !important;
  top: 1px !important;
  text-decoration: none !important;
  border-bottom-color: #919b9c !important;
  white-space: nowrap;
}

.winxp-dialog-tab:hover {
  background: #f7f5ed !important;
}

.winxp-dialog-tab.active,
.winxp-dialog-tab[aria-selected="true"] {
  background: #ffffff !important;
  border-bottom: 1px solid #ffffff !important;
  padding: 6px 12px 5px !important;
  top: 0 !important;
  font-weight: bold !important;
  z-index: 2 !important;
}

.winxp-dialog-tab:focus-visible,
.winxp-desk-tab-btn:focus-visible {
  outline: 1px dotted #00136b !important;
  outline-offset: -2px !important;
}

/* Dialog Panel Body */
.winxp-dialog-panel {
  background: #ffffff;
  border: 1px solid #919b9c;
  border-top: none;
  padding: 12px;
  box-sizing: border-box;
  color: #000000;
  font-size: 11px;
}

/* Mini CRT Monitor Preview Frame */
.winxp-crt-monitor {
  width: 180px;
  height: 146px;
  margin: 0 auto 12px;
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  user-select: none;
}

.winxp-crt-bezel {
  width: 164px;
  height: 116px;
  background: linear-gradient(180deg, #dfdfd7 0%, #d0d0c6 60%, #bcbcb0 100%);
  border: 3px solid #f0f0ea;
  border-right-color: #a0a096;
  border-bottom-color: #94948a;
  border-radius: 12px;
  box-shadow: inset 1px 1px 0 #ffffff, 2px 2px 6px rgba(0, 0, 0, 0.25);
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
  z-index: 2;
  box-sizing: border-box;
}

.winxp-crt-screen {
  width: 140px;
  height: 94px;
  background-color: #245edb;
  background-image:
    image-set(
      url('/themes/bliss.webp') type('image/webp'),
      url('/themes/bliss.jpg') type('image/jpeg')
    ),
    url('/themes/bliss.jpg'),
    linear-gradient(180deg, #1b499e 0%, #3a75d1 35%, #76a9f6 52%, #4da027 52%, #2a6812 100%);
  background-size: cover;
  background-position: center bottom;
  border-radius: 6px;
  box-shadow: inset 2px 2px 5px rgba(0, 0, 0, 0.7);
  position: relative;
  overflow: hidden;
  box-sizing: border-box;
}

.winxp-crt-screen::after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 44px;
  background: linear-gradient(135deg, rgba(255, 255, 255, 0.35) 0%, transparent 65%);
  pointer-events: none;
}

.winxp-crt-neck {
  width: 38px;
  height: 10px;
  background: #b2b2a6;
  border-left: 2px solid #dfdfd7;
  border-right: 2px solid #8e8e82;
  box-sizing: border-box;
  position: relative;
  z-index: 1;
}

.winxp-crt-base {
  width: 96px;
  height: 12px;
  background: linear-gradient(180deg, #cfcfc7 0%, #a2a298 100%);
  border-radius: 4px 4px 2px 2px;
  border-top: 1px solid #ffffff;
  border-bottom: 1px solid #7a7a70;
  box-shadow: 1px 2px 4px rgba(0, 0, 0, 0.3);
  box-sizing: border-box;
}

/* Theme Scheme Selector Controls */
.winxp-prop-group {
  border: 1px solid #d4d0c8;
  border-radius: 4px;
  padding: 8px 10px;
  margin-bottom: 10px;
  background: #faf9f5;
  box-sizing: border-box;
}

.winxp-prop-legend {
  font-family: Tahoma, sans-serif;
  font-size: 11px;
  font-weight: bold;
  color: #00136b;
  padding: 0 4px;
}

.winxp-prop-row {
  display: flex;
  align-items: center;
  gap: 8px;
  margin: 6px 0;
}

.winxp-prop-label {
  font-size: 11px;
  min-width: 80px;
  color: #111111;
  font-family: Tahoma, sans-serif;
}

.winxp-prop-select {
  flex: 1;
  height: 22px;
  font-family: Tahoma, sans-serif;
  font-size: 11px;
  border: 1px solid #7f9db9;
  padding: 1px 4px;
  background: #ffffff;
  color: #000000;
  border-radius: 2px;
  box-sizing: border-box;
}

.winxp-prop-select:focus-visible {
  outline: 2px dotted #00136b !important;
}

/* Dialog Action Buttons (OK, Cancel, Apply) */
.winxp-dialog-actions {
  display: flex;
  justify-content: flex-end;
  gap: 6px;
  padding: 8px 10px;
  background: #ece9d8;
  box-sizing: border-box;
}

.winxp-dialog-btn,
.winxp-btn-dialog {
  min-width: 75px;
  height: 23px;
  font-family: Tahoma, sans-serif;
  font-size: 11px;
  padding: 0 10px;
  background: #ece9d8;
  border: 1px solid #003c74;
  border-radius: 3px;
  box-shadow: inset 0 1px 0 #ffffff, inset 0 -1px 0 #e3e3db;
  cursor: pointer;
  color: #000000;
  box-sizing: border-box;
}

.winxp-dialog-btn:hover,
.winxp-btn-dialog:hover {
  background: #dbe8fb;
  border-color: #245edb;
}

.winxp-dialog-btn:active,
.winxp-btn-dialog:active {
  background: #c5d9f8;
  box-shadow: inset 1px 1px 1px rgba(0, 0, 0, 0.2);
}

.winxp-dialog-btn:focus-visible,
.winxp-btn-dialog:focus-visible {
  outline: 2px dotted #00136b !important;
  outline-offset: 1px !important;
}

.winxp-dialog-btn.default-btn,
.winxp-dialog-btn[type="submit"],
.winxp-btn-dialog.default-btn,
.winxp-btn-dialog[type="submit"] {
  border: 2px solid #0058ee;
}

/* ==========================================================================
   23. RUN DIALOG MODAL (.winxp-run-window, #winxp-run-dialog)
   ========================================================================== */

.winxp-run-window,
#winxp-run-dialog {
  position: fixed;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 410px;
  max-width: calc(100vw - 24px);
  background: #ece9d8;
  border: 3px solid #0058ee;
  border-radius: 4px 4px 0 0;
  box-shadow: 0 10px 30px rgba(0, 30, 90, 0.5), 0 2px 8px rgba(0, 0, 0, 0.3);
  z-index: 99996;
  font-family: Tahoma, 'Pixelify Sans', sans-serif;
  box-sizing: border-box;
}

/* Hidden by default unless active */
.winxp-run-window:not(.active):not([data-visible="true"]),
#winxp-run-dialog:not(.active):not([data-visible="true"]) {
  display: none;
}

.winxp-run-window.active,
.winxp-run-window[data-visible="true"],
#winxp-run-dialog.active,
#winxp-run-dialog[data-visible="true"] {
  display: block;
}

.winxp-run-body {
  padding: 12px 14px;
  background: #ece9d8;
  display: flex;
  flex-direction: column;
  gap: 12px;
  font-size: 11px;
  box-sizing: border-box;
}

.winxp-run-header-row {
  display: flex;
  gap: 12px;
  align-items: flex-start;
}

.winxp-run-icon {
  width: 32px;
  height: 32px;
  flex-shrink: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 26px;
  line-height: 1;
}

.winxp-run-text {
  font-family: Tahoma, sans-serif;
  font-size: 11px;
  line-height: 1.4;
  color: #000000;
  flex: 1;
}

.winxp-run-input-row {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-top: 4px;
}

.winxp-run-label {
  font-family: Tahoma, sans-serif;
  font-size: 11px;
  font-weight: 500;
  min-width: 42px;
  color: #000000;
}

.winxp-run-combobox {
  flex: 1;
  display: flex;
  align-items: center;
  background: #ffffff;
  border: 1px solid #7f9db9;
  border-radius: 1px;
  height: 22px;
  padding: 0 2px 0 6px;
  box-sizing: border-box;
}

.winxp-run-input {
  flex: 1;
  border: none !important;
  outline: none !important;
  font-family: Tahoma, sans-serif;
  font-size: 11px;
  color: #000000;
  background: transparent;
  padding: 0;
  margin: 0;
}

.winxp-run-combo-arrow {
  width: 16px;
  height: 18px;
  background: #ece9d8;
  border: 1px solid #aca899;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 8px;
  color: #000000;
  user-select: none;
}

.winxp-run-combo-arrow:hover {
  background: #dbe8fb;
}

.winxp-run-buttons {
  display: flex;
  justify-content: flex-end;
  gap: 6px;
  padding: 8px 12px 10px;
  background: #ece9d8;
  border-top: 1px solid #d4d0c8;
  box-shadow: 0 1px 0 #ffffff;
}

/* ==========================================================================
   24. SUB-THEME VARIATIONS (Luna Blue, Royale Blue, Royale Noir, Windows Classic)
   ========================================================================== */

/* --------------------------------------------------------------------------
   24.1 Luna Blue Explicit Theme Namespace
   -------------------------------------------------------------------------- */

body[data-win-subtheme="luna-blue"],
body[data-win-theme="luna-blue"],
.theme-luna-blue {
  /* Default Luna Blue styling explicitly scoped */
}

/* --------------------------------------------------------------------------
   24.2 Royale Blue (Windows XP Media Center / Energy Blue)
   -------------------------------------------------------------------------- */

body[data-win-subtheme="royale"] #winxp-taskbar,
body[data-xp-subtheme="royale"] #winxp-taskbar,
body[data-win-theme="royale"] #winxp-taskbar,
.theme-royale-blue #winxp-taskbar,
.theme-royale-blue.winxp-taskbar {
  background: linear-gradient(180deg, #10388a 0%, #1e5dd9 9%, #10388a 18%, #10388a 92%, #0a2560 100%) !important;
  border-top: 1px solid #2f73ff !important;
}

body[data-win-subtheme="royale"] .winxp-tray,
body[data-xp-subtheme="royale"] .winxp-tray,
body[data-win-theme="royale"] .winxp-tray,
.theme-royale-blue .winxp-tray {
  background: #092562 !important;
  border-left-color: #061944 !important;
}

body[data-win-subtheme="royale"] main,
body[data-xp-subtheme="royale"] main,
body[data-win-theme="royale"] main,
.theme-royale-blue.luna-window,
.theme-royale-blue.winxp-aux-window {
  border-color: #10388a !important;
}

body[data-win-subtheme="royale"] #winxp-titlebar,
body[data-win-subtheme="royale"] .winxp-titlebar,
body[data-xp-subtheme="royale"] #winxp-titlebar,
body[data-xp-subtheme="royale"] .winxp-titlebar,
body[data-win-theme="royale"] #winxp-titlebar,
body[data-win-theme="royale"] .winxp-titlebar,
.theme-royale-blue .winxp-titlebar,
.theme-royale-blue .luna-titlebar {
  background: linear-gradient(180deg, #184ebd 0%, #3a7eed 8%, #286ee6 12%, #144eb8 50%, #0d388c 100%) !important;
  color: #ffffff !important;
  text-shadow: 1px 1px 1px #05163d !important;
}

body[data-win-subtheme="royale"] #winxp-start-btn,
body[data-xp-subtheme="royale"] #winxp-start-btn,
body[data-win-theme="royale"] #winxp-start-btn,
.theme-royale-blue #winxp-start-btn {
  background: radial-gradient(ellipse at 50% 0%, #1da34e 0%, #13853e 40%, #0c6a30 70%, #07471f 100%) !important;
  box-shadow: inset 1px 1px 1px #59cf83, inset -1px -1px 1px #053b18, 2px 0 4px rgba(0, 0, 0, 0.35) !important;
  text-shadow: 1px 1px 1px #053b18 !important;
}

/* --------------------------------------------------------------------------
   24.3 Royale Noir (Sleek Charcoal & Black with Orange Start Button)
   -------------------------------------------------------------------------- */

body[data-win-subtheme="royale-noir"] #winxp-taskbar,
body[data-win-subtheme="noir"] #winxp-taskbar,
body[data-xp-subtheme="noir"] #winxp-taskbar,
body[data-xp-subtheme="royale-noir"] #winxp-taskbar,
body[data-win-theme="royale-noir"] #winxp-taskbar,
.theme-royale-noir #winxp-taskbar,
.theme-royale-noir.winxp-taskbar {
  background: linear-gradient(180deg, #2c2c2c 0%, #3f3f3f 9%, #252525 18%, #1f1f1f 92%, #141414 100%) !important;
  border-top: 1px solid #484848 !important;
}

body[data-win-subtheme="royale-noir"] .winxp-tray,
body[data-win-subtheme="noir"] .winxp-tray,
body[data-xp-subtheme="noir"] .winxp-tray,
body[data-xp-subtheme="royale-noir"] .winxp-tray,
body[data-win-theme="royale-noir"] .winxp-tray,
.theme-royale-noir .winxp-tray {
  background: #141414 !important;
  border-left-color: #0a0a0a !important;
}

body[data-win-subtheme="royale-noir"] main,
body[data-win-subtheme="noir"] main,
body[data-xp-subtheme="noir"] main,
body[data-xp-subtheme="royale-noir"] main,
body[data-win-theme="royale-noir"] main,
.theme-royale-noir.luna-window,
.theme-royale-noir.winxp-aux-window {
  border-color: #2b2b2b !important;
}

body[data-win-subtheme="royale-noir"] #winxp-titlebar,
body[data-win-subtheme="royale-noir"] .winxp-titlebar,
body[data-win-subtheme="noir"] #winxp-titlebar,
body[data-win-subtheme="noir"] .winxp-titlebar,
body[data-xp-subtheme="noir"] #winxp-titlebar,
body[data-xp-subtheme="noir"] .winxp-titlebar,
body[data-xp-subtheme="royale-noir"] #winxp-titlebar,
body[data-xp-subtheme="royale-noir"] .winxp-titlebar,
body[data-win-theme="royale-noir"] #winxp-titlebar,
body[data-win-theme="royale-noir"] .winxp-titlebar,
.theme-royale-noir .winxp-titlebar,
.theme-royale-noir .luna-titlebar {
  background: linear-gradient(180deg, #383838 0%, #4c4c4c 8%, #363636 12%, #222222 50%, #181818 100%) !important;
  color: #ffffff !important;
  text-shadow: 1px 1px 1px #000000 !important;
}

body[data-win-subtheme="royale-noir"] #winxp-start-btn,
body[data-win-subtheme="noir"] #winxp-start-btn,
body[data-xp-subtheme="noir"] #winxp-start-btn,
body[data-xp-subtheme="royale-noir"] #winxp-start-btn,
body[data-win-theme="royale-noir"] #winxp-start-btn,
.theme-royale-noir #winxp-start-btn {
  background: radial-gradient(ellipse at 50% 0%, #ff8c00 0%, #e66000 45%, #b34200 80%, #802a00 100%) !important;
  box-shadow: inset 1px 1px 1px #ffa94d, inset -1px -1px 1px #661e00, 2px 0 4px rgba(0, 0, 0, 0.45) !important;
  text-shadow: 1px 1px 1px #661e00 !important;
}

body[data-win-subtheme="royale-noir"] #winxp-start-btn:hover,
body[data-win-subtheme="noir"] #winxp-start-btn:hover,
body[data-xp-subtheme="noir"] #winxp-start-btn:hover,
body[data-xp-subtheme="royale-noir"] #winxp-start-btn:hover,
body[data-win-theme="royale-noir"] #winxp-start-btn:hover,
.theme-royale-noir #winxp-start-btn:hover {
  background: radial-gradient(ellipse at 50% 0%, #ffa01e 0%, #ff7300 45%, #cc4e00 80%, #993300 100%) !important;
}

/* --------------------------------------------------------------------------
   24.4 Windows Classic (3D Silver-Gray #c0c0c0 Beveled Window Chrome)
   -------------------------------------------------------------------------- */

body[data-win-subtheme="classic"] main,
body[data-xp-subtheme="classic"] main,
body[data-win-theme="classic"] main,
.theme-win-classic.luna-window,
.theme-win-classic.winxp-aux-window {
  background: #c0c0c0 !important;
  border-top: 2px solid #ffffff !important;
  border-left: 2px solid #ffffff !important;
  border-right: 2px solid #000000 !important;
  border-bottom: 2px solid #000000 !important;
  border-radius: 0 !important;
  box-shadow: inset 1px 1px 0 #dfdfdf, inset -1px -1px 0 #808080 !important;
}

body[data-win-subtheme="classic"] #winxp-titlebar,
body[data-win-subtheme="classic"] .winxp-titlebar,
body[data-xp-subtheme="classic"] #winxp-titlebar,
body[data-xp-subtheme="classic"] .winxp-titlebar,
body[data-win-theme="classic"] #winxp-titlebar,
body[data-win-theme="classic"] .winxp-titlebar,
.theme-win-classic .winxp-titlebar,
.theme-win-classic .luna-titlebar {
  flex: 0 0 22px !important;
  height: 22px !important;
  border-radius: 0 !important;
  background: linear-gradient(90deg, #0a246a 0%, #a6caf0 100%) !important;
  color: #ffffff !important;
  text-shadow: none !important;
  font-family: Tahoma, 'Segoe UI', sans-serif !important;
  font-size: 11px !important;
  font-weight: bold !important;
  padding: 0 3px !important;
}

body[data-win-subtheme="classic"] main.inactive #winxp-titlebar,
body[data-win-subtheme="classic"] main.winxp-window-inactive #winxp-titlebar,
body[data-win-subtheme="classic"] .winxp-titlebar.inactive,
body[data-xp-subtheme="classic"] main.inactive #winxp-titlebar,
body[data-xp-subtheme="classic"] main.winxp-window-inactive #winxp-titlebar,
body[data-xp-subtheme="classic"] .winxp-titlebar.inactive,
body[data-win-theme="classic"] main.inactive #winxp-titlebar,
body[data-win-theme="classic"] main.winxp-window-inactive #winxp-titlebar,
body[data-win-theme="classic"] .winxp-titlebar.inactive,
.theme-win-classic.inactive .winxp-titlebar,
.theme-win-classic.inactive .luna-titlebar {
  background: linear-gradient(90deg, #505050 0%, #707070 100%) !important;
  color: #ffffff !important;
  text-shadow: none !important;
}

body[data-win-subtheme="classic"] .winxp-btn-ctrl,
body[data-win-subtheme="classic"] .luna-btn,
body[data-xp-subtheme="classic"] .winxp-btn-ctrl,
body[data-xp-subtheme="classic"] .luna-btn,
body[data-win-theme="classic"] .winxp-btn-ctrl,
body[data-win-theme="classic"] .luna-btn,
.theme-win-classic .winxp-btn-ctrl,
.theme-win-classic .luna-btn {
  width: 16px !important;
  height: 14px !important;
  border-radius: 0 !important;
  border-top: 1px solid #ffffff !important;
  border-left: 1px solid #ffffff !important;
  border-right: 1px solid #000000 !important;
  border-bottom: 1px solid #000000 !important;
  background: #c0c0c0 !important;
  color: #000000 !important;
  box-shadow: inset 1px 1px 0 #dfdfdf, inset -1px -1px 0 #808080 !important;
}

body[data-win-subtheme="classic"] .winxp-btn-ctrl:active,
body[data-win-subtheme="classic"] .luna-btn:active,
body[data-xp-subtheme="classic"] .winxp-btn-ctrl:active,
body[data-xp-subtheme="classic"] .luna-btn:active,
body[data-win-theme="classic"] .winxp-btn-ctrl:active,
body[data-win-theme="classic"] .luna-btn:active,
.theme-win-classic .winxp-btn-ctrl:active,
.theme-win-classic .luna-btn:active {
  border-top: 1px solid #000000 !important;
  border-left: 1px solid #000000 !important;
  border-right: 1px solid #ffffff !important;
  border-bottom: 1px solid #ffffff !important;
  padding: 1px 0 0 1px !important;
}

body[data-win-subtheme="classic"] #winxp-taskbar,
body[data-xp-subtheme="classic"] #winxp-taskbar,
body[data-win-theme="classic"] #winxp-taskbar,
.theme-win-classic #winxp-taskbar,
.theme-win-classic.winxp-taskbar {
  background: #c0c0c0 !important;
  border-top: 2px solid #ffffff !important;
  box-shadow: none !important;
  height: 28px !important;
  line-height: 28px !important;
}

body[data-win-subtheme="classic"] #winxp-start-btn,
body[data-xp-subtheme="classic"] #winxp-start-btn,
body[data-win-theme="classic"] #winxp-start-btn,
.theme-win-classic #winxp-start-btn {
  height: 22px !important;
  margin: 2px 3px !important;
  padding: 0 6px !important;
  background: #c0c0c0 !important;
  border-top: 2px solid #ffffff !important;
  border-left: 2px solid #ffffff !important;
  border-right: 2px solid #000000 !important;
  border-bottom: 2px solid #000000 !important;
  border-radius: 0 !important;
  box-shadow: inset 1px 1px 0 #dfdfdf, inset -1px -1px 0 #808080 !important;
  color: #000000 !important;
  text-shadow: none !important;
  font-family: Tahoma, sans-serif !important;
  font-weight: bold !important;
  font-style: normal !important;
  font-size: 11px !important;
  letter-spacing: normal !important;
}

body[data-win-subtheme="classic"] #winxp-start-btn:active,
body[data-xp-subtheme="classic"] #winxp-start-btn:active,
body[data-win-theme="classic"] #winxp-start-btn:active,
.theme-win-classic #winxp-start-btn:active {
  border-top: 2px solid #000000 !important;
  border-left: 2px solid #000000 !important;
  border-right: 2px solid #ffffff !important;
  border-bottom: 2px solid #ffffff !important;
  box-shadow: none !important;
  padding: 1px 5px 0 7px !important;
}

body[data-win-subtheme="classic"] .winxp-tray,
body[data-xp-subtheme="classic"] .winxp-tray,
body[data-win-theme="classic"] .winxp-tray,
.theme-win-classic .winxp-tray {
  background: #c0c0c0 !important;
  border-top: 1px solid #808080 !important;
  border-left: 1px solid #808080 !important;
  border-right: 1px solid #ffffff !important;
  border-bottom: 1px solid #ffffff !important;
  height: 22px !important;
  margin: 2px 3px !important;
  padding: 0 6px !important;
  box-shadow: none !important;
  color: #000000 !important;
}

body[data-win-subtheme="classic"] .winxp-clock,
body[data-xp-subtheme="classic"] .winxp-clock,
body[data-win-theme="classic"] .winxp-clock,
.theme-win-classic .winxp-clock {
  color: #000000 !important;
}


/* ==========================================================================
   25. CALCULATOR (calc.exe) (.winxp-calc-window, .winxp-calc-*)
   ========================================================================== */

.winxp-calc-window,
#winxp-win-calc {
  width: 256px;
  height: 330px;
  background: #ece9d8;
  display: flex;
  flex-direction: column;
  user-select: none;
  font-family: Tahoma, sans-serif;
  box-sizing: border-box;
}

.winxp-calc-menubar {
  display: flex;
  align-items: center;
  height: 22px;
  background: #ece9d8;
  border-bottom: 1px solid #d4d0c8;
  padding: 0 4px;
  gap: 2px;
  box-sizing: border-box;
  flex-shrink: 0;
}

.winxp-calc-menuitem {
  padding: 2px 6px;
  font-family: Tahoma, sans-serif;
  font-size: 11px;
  color: #000000;
  cursor: pointer;
  border-radius: 2px;
}

.winxp-calc-menuitem:hover {
  background: #316ac5;
  color: #ffffff;
}

.winxp-calc-menuitem:focus-visible {
  outline: 1px dotted #ffffff;
  outline-offset: -2px;
}

.winxp-calc-body {
  display: flex;
  flex-direction: column;
  flex: 1;
  padding: 0 2px 4px 2px;
  box-sizing: border-box;
}

/* White LCD display: Lucida Console, navy blue readout */
.winxp-calc-display {
  background: #ffffff;
  color: #000080;
  font-family: 'Lucida Console', monospace;
  font-size: 20px;
  font-weight: bold;
  text-align: right;
  padding: 4px 8px;
  margin: 8px;
  border: 2px inset #7f9db9;
  min-height: 28px;
  line-height: 28px;
  box-sizing: border-box;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

/* Memory Status Indicator Box */
.winxp-calc-mem-box {
  width: 26px;
  height: 22px;
  border: 1px inset #7f9db9;
  background: #ece9d8;
  font-family: Tahoma, sans-serif;
  font-size: 11px;
  font-weight: bold;
  color: #000000;
  display: flex;
  align-items: center;
  justify-content: center;
  box-sizing: border-box;
}

/* Memory & functional button grid: 5 columns, gap 4px, padding 0 8px 8px 8px */
.winxp-calc-grid {
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  gap: 4px;
  padding: 0 8px 8px 8px;
  box-sizing: border-box;
}

/* Button Base */
.winxp-calc-btn {
  height: 26px;
  background: #ece9d8;
  border: 1px solid #7f9db9;
  box-shadow: inset 1px 1px 0 #ffffff, 1px 1px 2px rgba(0, 0, 0, 0.25);
  border-radius: 2px;
  font-family: Tahoma, sans-serif;
  font-size: 11px;
  font-weight: bold;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  user-select: none;
  padding: 0;
  box-sizing: border-box;
  transition: transform 0.05s ease, box-shadow 0.05s ease;
}

.winxp-calc-btn:hover {
  background: #f5f3ec;
}

/* Button active / pressed state */
.winxp-calc-btn:active,
.winxp-calc-btn.pressed {
  box-shadow: inset 1px 1px 2px rgba(0, 0, 0, 0.4);
  transform: translate(1px, 1px);
}

/* Focus ring */
.winxp-calc-btn:focus-visible {
  outline: 1px dotted #000000;
  outline-offset: -2px;
}

/* Digits (0-9, ., +/-): #000000 on #ece9d8 (>17:1 PASS) */
.winxp-calc-btn.digit,
.winxp-calc-btn[data-type="digit"],
.winxp-calc-digit {
  color: #000000;
}

/* Operators (+, -, *, /, =, sqrt, %, 1/x): #000080 on #ece9d8 (>13:1 PASS) */
.winxp-calc-btn.operator,
.winxp-calc-btn[data-type="operator"],
.winxp-calc-op {
  color: #000080;
}

/* Clear / Backspace (Backspace, CE, C): #cf0000 on #ece9d8 (4.71:1 PASS) */
.winxp-calc-btn.clear,
.winxp-calc-btn[data-type="clear"],
.winxp-calc-clear {
  color: #cf0000;
}

/* Memory keys (MC, MR, MS, M+): #cf0000 on #ece9d8 (4.71:1 PASS) */
.winxp-calc-btn.memory,
.winxp-calc-btn[data-type="memory"],
.winxp-calc-mem {
  color: #cf0000;
}

.winxp-calc-btn.equals,
.winxp-calc-btn[data-key="="] {
  color: #000080;
}

/* ==========================================================================
   26. NOTEPAD (notepad.exe) (.winxp-notepad-window, .winxp-notepad-*)
   ========================================================================== */

.winxp-notepad-window,
#winxp-win-notepad {
  width: 620px;
  height: 440px;
  display: flex;
  flex-direction: column;
  background: #ece9d8;
  box-sizing: border-box;
}

.winxp-notepad-menubar {
  display: flex;
  align-items: center;
  height: 22px;
  background: #ece9d8;
  border-bottom: 1px solid #d4d0c8;
  padding: 0 4px;
  gap: 4px;
  user-select: none;
  flex-shrink: 0;
  box-sizing: border-box;
}

.winxp-notepad-menuitem {
  padding: 2px 6px;
  font-size: 11px;
  font-family: Tahoma, sans-serif;
  color: #000000;
  cursor: pointer;
  border-radius: 2px;
}

.winxp-notepad-menuitem:hover {
  background: #316ac5;
  color: #ffffff;
}

.winxp-notepad-menuitem:focus-visible {
  outline: 1px dotted #ffffff;
  outline-offset: -2px;
}

.winxp-notepad-textarea {
  flex: 1;
  width: 100%;
  box-sizing: border-box;
  background: #ffffff;
  color: #000000;
  font-family: 'Lucida Console', 'Courier New', monospace;
  font-size: 13px;
  line-height: 1.4;
  border: 2px inset #7f9db9;
  padding: 6px;
  resize: none;
  outline: none;
  margin: 0;
  overflow-y: auto;
  white-space: pre-wrap;
  word-break: break-word;
}

.winxp-notepad-textarea:focus-visible {
  outline: 1px dotted #000080;
  outline-offset: -1px;
}

.winxp-notepad-statusbar {
  display: flex;
  justify-content: flex-end;
  align-items: center;
  height: 22px;
  background: #ece9d8;
  border-top: 1px solid #d4d0c8;
  font-size: 11px;
  font-family: Tahoma, sans-serif;
  color: #222222;
  padding: 0 10px;
  gap: 12px;
  user-select: none;
  flex-shrink: 0;
  box-sizing: border-box;
}

.winxp-notepad-status-item {
  border-left: 1px solid #aca899;
  border-right: 1px solid #ffffff;
  padding: 0 8px;
  height: 16px;
  line-height: 16px;
}

/* ==========================================================================
   27. TURN OFF COMPUTER OVERLAY & MODAL (#winxp-shutdown-overlay, .winxp-shutdown-*)
   ========================================================================== */

#winxp-shutdown-overlay {
  position: fixed;
  inset: 0;
  z-index: 99999;
  display: flex;
  align-items: center;
  justify-content: center;
  background: rgba(0, 0, 0, 0.4);
  backdrop-filter: grayscale(100%) brightness(0.65);
  -webkit-backdrop-filter: grayscale(100%) brightness(0.65);
}

#winxp-shutdown-overlay[hidden],
#winxp-shutdown-overlay:not(.active):not([data-visible="true"]) {
  display: none;
}

.winxp-shutdown-modal {
  width: 480px;
  max-width: calc(100vw - 24px);
  background: #ece9d8;
  border: 3px solid #0058ee;
  border-radius: 4px 4px 0 0;
  box-shadow: 0 20px 60px rgba(0, 0, 0, 0.7);
  overflow: hidden;
  font-family: Tahoma, sans-serif;
  box-sizing: border-box;
}

.winxp-shutdown-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  height: 36px;
  padding: 0 14px;
  background: linear-gradient(180deg, #0058ee 0%, #0040be 100%);
  color: #ffffff;
  font-weight: bold;
  font-size: 13px;
  text-shadow: 1px 1px 2px #001e64;
  user-select: none;
  box-sizing: border-box;
}

.winxp-shutdown-actions {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 36px;
  padding: 32px 24px;
  background: #ece9d8;
  box-sizing: border-box;
}

.winxp-shutdown-action {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 10px;
  background: transparent;
  border: none;
  cursor: pointer;
  padding: 0;
  color: inherit;
  font-family: inherit;
}

.winxp-shutdown-action:focus-visible {
  outline: none;
}

.winxp-shutdown-action:focus-visible .winxp-shutdown-circle {
  outline: 2px dotted #001e64;
  outline-offset: 3px;
}

.winxp-shutdown-circle {
  width: 52px;
  height: 52px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  box-shadow: 0 3px 8px rgba(0, 0, 0, 0.35);
  border: 2px solid rgba(255, 255, 255, 0.8);
  transition: transform 0.1s ease, filter 0.1s ease;
  box-sizing: border-box;
}

.winxp-shutdown-circle svg,
.winxp-shutdown-circle img {
  width: 24px;
  height: 24px;
  fill: #ffffff;
  color: #ffffff;
  filter: drop-shadow(0 1px 2px rgba(0, 0, 0, 0.4));
}

.winxp-shutdown-action:hover .winxp-shutdown-circle,
.winxp-shutdown-circle:hover {
  filter: brightness(1.15);
  transform: scale(1.06);
}

.winxp-shutdown-action:active .winxp-shutdown-circle {
  transform: scale(0.96);
  filter: brightness(0.9);
}

/* Stand By: amber yellow gradient */
.winxp-shutdown-circle.standby {
  background: radial-gradient(circle at 35% 35%, #ffe600, #d49a00);
}

/* Turn Off: crimson red gradient */
.winxp-shutdown-circle.turnoff {
  background: radial-gradient(circle at 35% 35%, #ff5242, #c92212);
}

/* Restart: emerald green gradient */
.winxp-shutdown-circle.restart {
  background: radial-gradient(circle at 35% 35%, #5ce66a, #209930);
}

.winxp-shutdown-label {
  font-family: Tahoma, sans-serif;
  font-size: 11px;
  font-weight: bold;
  color: #000000;
  text-align: center;
  user-select: none;
}

.winxp-shutdown-footer {
  display: flex;
  justify-content: flex-end;
  padding: 10px 16px;
  background: #ece9d8;
  border-top: 1px solid #d4d0c8;
  box-sizing: border-box;
}

.winxp-shutdown-cancel {
  min-width: 75px;
  height: 23px;
  font-family: Tahoma, sans-serif;
  font-size: 11px;
  padding: 0 10px;
  background: #ece9d8;
  border: 1px solid #003c74;
  border-radius: 3px;
  box-shadow: inset 0 1px 0 #ffffff, inset 0 -1px 0 #e3e3db;
  cursor: pointer;
  color: #000000;
  box-sizing: border-box;
}

.winxp-shutdown-cancel:hover {
  background: #dbe8fb;
  border-color: #245edb;
}

.winxp-shutdown-cancel:active {
  background: #c5d9f8;
  box-shadow: inset 1px 1px 1px rgba(0, 0, 0, 0.2);
}

.winxp-shutdown-cancel:focus-visible {
  outline: 2px dotted #00136b;
  outline-offset: 1px;
}

.winxp-btn-turnon:focus-visible {
  outline: 2px dotted #ff9900;
  outline-offset: 3px;
}

/* Safe to Turn Off PC Screen */
#winxp-safe-to-turn-off {
  position: fixed;
  inset: 0;
  z-index: 100000;
  background: #000000;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 20px;
  font-family: 'Lucida Console', monospace;
  cursor: pointer;
}

#winxp-safe-to-turn-off[hidden] {
  display: none;
}

.winxp-safe-text,
#winxp-safe-to-turn-off p {
  color: #ff9900;
  font-size: 20px;
  text-align: center;
  text-shadow: 0 0 10px rgba(255, 153, 0, 0.5);
  font-family: 'Lucida Console', 'Courier New', monospace;
  line-height: 1.5;
  margin: 0;
  padding: 0 16px;
}

/* ==========================================================================
   28. DATE & TIME PROPERTIES (timedate.cpl) (.winxp-timedate-window, .winxp-timedate-*)
   ========================================================================== */

.winxp-timedate-window,
#winxp-win-timedate {
  width: 420px;
  height: 390px;
  background: #ece9d8;
  font-family: Tahoma, sans-serif;
  box-sizing: border-box;
  display: flex;
  flex-direction: column;
}

.winxp-timedate-body {
  padding: 10px;
  background: #ece9d8;
  flex: 1;
  display: flex;
  flex-direction: column;
  gap: 8px;
  box-sizing: border-box;
}

.winxp-timedate-cols {
  display: flex;
  gap: 12px;
  align-items: flex-start;
  justify-content: space-between;
}

.winxp-timedate-col {
  flex: 1;
  display: flex;
  flex-direction: column;
}

/* Analog Clock */
.winxp-clock-container {
  display: flex;
  flex-direction: column;
  align-items: center;
  margin: 10px 0;
}

.winxp-analog-clock {
  width: 130px;
  height: 130px;
  border-radius: 50%;
  border: 3px solid #7f9db9;
  background: #ffffff;
  position: relative;
  box-shadow: inset 1px 1px 3px rgba(0, 0, 0, 0.2);
  box-sizing: border-box;
}

.winxp-clock-pin {
  position: absolute;
  top: 50%;
  left: 50%;
  width: 8px;
  height: 8px;
  margin-left: -4px;
  margin-top: -4px;
  background: #0058ee;
  border-radius: 50%;
  z-index: 5;
}

.winxp-clock-hand {
  position: absolute;
  bottom: 50%;
  left: 50%;
  transform-origin: 50% 100%;
  border-radius: 2px;
}

.winxp-clock-hand.hour {
  width: 4px;
  height: 34px;
  margin-left: -2px;
  background: #000000;
  z-index: 2;
}

.winxp-clock-hand.minute {
  width: 3px;
  height: 48px;
  margin-left: -1.5px;
  background: #000000;
  z-index: 3;
}

.winxp-clock-hand.second {
  width: 1.5px;
  height: 52px;
  margin-left: -0.75px;
  background: #cf0000;
  z-index: 4;
}

.winxp-digital-time {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 4px;
  margin-top: 8px;
  font-family: Tahoma, sans-serif;
  font-size: 12px;
  color: #000000;
}

.winxp-digital-time-box {
  background: #ffffff;
  border: 1px solid #7f9db9;
  padding: 2px 6px;
  font-size: 11px;
}

/* Calendar Widget */
.winxp-calendar {
  background: #ffffff;
  border: 1px solid #7f9db9;
  padding: 6px;
  font-family: Tahoma, sans-serif;
  font-size: 11px;
  box-sizing: border-box;
}

.winxp-calendar-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 6px;
  font-size: 11px;
  font-weight: bold;
  color: #000000;
}

.winxp-calendar-table,
.winxp-calendar-days {
  width: 100%;
  border-collapse: collapse;
  text-align: center;
  font-size: 11px;
}

.winxp-calendar-table th,
.winxp-calendar-days th {
  font-weight: normal;
  color: #555555;
  padding: 2px;
}

.winxp-calendar-table td,
.winxp-calendar-days td {
  padding: 2px 4px;
  cursor: pointer;
  color: #000000;
}

.winxp-calendar-table td:hover,
.winxp-calendar-days td:hover {
  background: #dbe8fb;
}

.winxp-calendar-table td.selected,
.winxp-calendar-days td.selected,
.winxp-calendar-selected {
  background: #316ac5 !important;
  color: #ffffff !important;
  border-radius: 2px;
}

.winxp-calendar-table td.today,
.winxp-calendar-days td.today {
  outline: 1px dotted #316ac5;
}

.winxp-timedate-zone {
  font-size: 11px;
  color: #333333;
  margin-top: 8px;
  text-align: center;
}

.winxp-timedate-actions {
  display: flex;
  justify-content: flex-end;
  gap: 6px;
  padding: 8px 10px;
  background: #ece9d8;
  border-top: 1px solid #d4d0c8;
}

/* ==========================================================================
   29. TRAY VOLUME POPUP (#winxp-volume-popup, .winxp-vol-*)
   ========================================================================== */

#winxp-volume-popup,
.winxp-volume-popup {
  position: fixed;
  bottom: 36px;
  right: 20px;
  width: 76px;
  background: #ece9d8;
  border: 2px solid #0058ee;
  border-radius: 3px;
  box-shadow: 2px 2px 10px rgba(0, 0, 0, 0.35);
  padding: 10px 6px;
  display: flex;
  flex-direction: column;
  align-items: center;
  z-index: 10000;
  font-family: Tahoma, sans-serif;
  box-sizing: border-box;
  user-select: none;
}

#winxp-volume-popup[hidden],
#winxp-volume-popup:not(.active):not([data-visible="true"]) {
  display: none;
}

#winxp-volume-popup.active,
#winxp-volume-popup[data-visible="true"] {
  display: flex;
}

.winxp-vol-label,
.winxp-vol-title {
  font-size: 11px;
  font-weight: bold;
  color: #000000;
  text-align: center;
  margin-bottom: 2px;
}

.winxp-vol-slider {
  writing-mode: vertical-lr;
  direction: rtl;
  width: 26px;
  height: 100px;
  accent-color: #316ac5;
  margin: 8px 0;
  cursor: pointer;
}

.winxp-vol-mute {
  display: flex;
  align-items: center;
  gap: 4px;
  font-size: 11px;
  color: #000000;
  margin-top: 4px;
  cursor: pointer;
}

.winxp-vol-mute input[type="checkbox"] {
  cursor: pointer;
  margin: 0;
}

.winxp-vol-mute span {
  font-size: 11px;
  font-family: Tahoma, sans-serif;
}

.winxp-vol-slider:focus-visible {
  outline: 1px dotted #000000;
  outline-offset: 2px;
}

.winxp-vol-mute input[type="checkbox"]:focus-visible {
  outline: 1px dotted #000000;
  outline-offset: 1px;
}

/* Sub-theme variations for volume popup & modals */
body[data-win-subtheme="royale"] #winxp-volume-popup,
.theme-royale-blue #winxp-volume-popup,
body[data-win-subtheme="royale"] .winxp-shutdown-modal,
.theme-royale-blue .winxp-shutdown-modal {
  border-color: #10388a;
}

body[data-win-subtheme="royale-noir"] #winxp-volume-popup,
.theme-royale-noir #winxp-volume-popup,
body[data-win-subtheme="royale-noir"] .winxp-shutdown-modal,
.theme-royale-noir .winxp-shutdown-modal {
  border-color: #2b2b2b;
}

body[data-win-subtheme="classic"] #winxp-volume-popup,
.theme-win-classic #winxp-volume-popup {
  background: #c0c0c0;
  border-top: 2px solid #ffffff;
  border-left: 2px solid #ffffff;
  border-right: 2px solid #000000;
  border-bottom: 2px solid #000000;
  border-radius: 0;
}


/* ==========================================================================
   30. 3D PINBALL FOR WINDOWS - SPACE CADET (pinball.exe)
       (.winxp-pinball-window, #winxp-win-pinball, .winxp-pinball-*)
   ========================================================================== */

/* Outer Pinball Window Container */
.winxp-pinball-window,
#winxp-win-pinball {
  width: 440px;
  max-width: calc(100vw - 16px);
  background: #ece9d8;
  border: 3px solid #0058ee;
  border-radius: 4px 4px 0 0;
  box-shadow: 0 10px 30px rgba(0, 30, 90, 0.5);
  display: flex;
  flex-direction: column;
  user-select: none;
  font-family: Tahoma, sans-serif;
  box-sizing: border-box;
}

#winxp-win-pinball[hidden],
.winxp-pinball-window[hidden],
#winxp-win-pinball.winxp-minimized,
.winxp-pinball-window.winxp-minimized {
  display: none !important;
}

/* Authentic Menubar */
.winxp-pinball-menubar {
  height: 22px;
  background: #ece9d8;
  border-bottom: 1px solid #d4d0c8;
  display: flex;
  align-items: center;
  padding: 0 6px;
  gap: 4px;
  box-sizing: border-box;
  flex-shrink: 0;
}

.winxp-pinball-menuitem {
  font-family: Tahoma, sans-serif;
  font-size: 11px;
  color: #000000;
  padding: 2px 6px;
  cursor: pointer;
  border-radius: 2px;
  box-sizing: border-box;
  user-select: none;
}

.winxp-pinball-menuitem:hover {
  background: #316ac5;
  color: #ffffff;
}

.winxp-pinball-menuitem:focus-visible {
  outline: 1px dotted #000000;
  outline-offset: -1px;
}

.winxp-pinball-dropdown {
  display: none;
  position: absolute;
  top: 100%;
  left: 0;
  background: #ffffff;
  border: 1px solid #716f64;
  box-shadow: 2px 2px 4px rgba(0, 0, 0, 0.3);
  padding: 2px 0;
  min-width: 160px;
  z-index: 1000;
  color: #000000;
}

.winxp-pinball-menuitem.active .winxp-pinball-dropdown {
  display: block;
}

.winxp-pb-item {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 3px 14px;
  cursor: pointer;
  white-space: nowrap;
  font-size: 11px;
}

.winxp-pb-item:hover,
.winxp-pb-item:focus-visible {
  background: #316ac5;
  color: #ffffff;
  outline: 1px dotted #ffffff;
  outline-offset: -1px;
}

.winxp-pb-sep {
  height: 1px;
  background: #d4d0c8;
  margin: 3px 2px;
}

.winxp-pb-shortcut {
  margin-left: 16px;
  color: #666666;
  font-size: 10px;
}

.winxp-pb-item:hover .winxp-pb-shortcut,
.winxp-pb-item:focus-visible .winxp-pb-shortcut {
  color: #ffffff;
}

/* Scoreboard & Status HUD Panel */
.winxp-pinball-scoreboard,
.winxp-pinball-scorebar {
  background: #0a0e17;
  border: 2px inset #7f9db9;
  margin: 6px 8px 4px 8px;
  padding: 6px 12px;
  display: flex;
  justify-content: space-between;
  align-items: center;
  border-radius: 3px;
  box-sizing: border-box;
}

.winxp-pinball-led-group {
  display: flex;
  flex-direction: column;
  align-items: center;
}

.winxp-pinball-led-label {
  font-size: 9px;
  color: #94a3b8;
  font-weight: bold;
  text-transform: uppercase;
  letter-spacing: 1px;
  margin-bottom: 2px;
}

.winxp-pinball-led {
  background: #000000;
  color: #38bdf8;
  font-family: 'Lucida Console', 'Courier New', monospace;
  font-size: 15px;
  font-weight: bold;
  letter-spacing: 1.5px;
  padding: 2px 6px;
  border: 1px inset #334155;
  text-shadow: 0 0 5px #0284c7;
  min-width: 76px;
  text-align: right;
  box-sizing: border-box;
}

.winxp-pinball-rank {
  color: #facc15;
  text-shadow: 0 0 5px #ca8a04;
  min-width: 82px;
  text-align: center;
}

.winxp-pinball-score-val {
  font-family: 'Lucida Console', 'Courier New', monospace;
  font-size: 18px;
  font-weight: bold;
  letter-spacing: 2px;
  color: #39ff14;
  text-shadow: 0 0 6px rgba(57, 255, 20, 0.6);
}

.winxp-pinball-score-val.amber,
.winxp-pinball-led.amber {
  color: #ffaa00;
  text-shadow: 0 0 6px rgba(255, 170, 0, 0.6);
}

.winxp-pinball-hud {
  display: flex;
  align-items: center;
  gap: 12px;
}

.winxp-pinball-hud-item {
  font-family: Tahoma, sans-serif;
  font-size: 11px;
  color: #8bb4f7;
  text-transform: uppercase;
  display: flex;
  align-items: center;
  gap: 4px;
}

.winxp-pinball-hud-val {
  font-family: 'Lucida Console', 'Courier New', monospace;
  color: #ffffff;
  font-weight: bold;
  font-size: 12px;
}

/* Playfield Canvas Container */
.winxp-pinball-canvas-wrap,
.winxp-pinball-playfield-wrap {
  margin: 0 8px 6px 8px;
  display: flex;
  flex-direction: column;
  align-items: center;
  background: #050811;
  border: 2px inset #7f9db9;
  border-radius: 3px;
  position: relative;
  overflow: hidden;
  box-sizing: border-box;
  flex: 1;
}

.winxp-pinball-canvas,
#pinball-canvas {
  display: block;
  width: 380px;
  height: 500px;
  max-width: 100%;
  aspect-ratio: 380 / 500;
  background: #070c18;
  cursor: crosshair;
  touch-action: none;
}

.winxp-pinball-canvas:focus-visible,
#pinball-canvas:focus-visible {
  outline: 1px dotted #38bdf8;
  outline-offset: 1px;
}

/* Controls Legend & Hint Bar */
.winxp-pinball-hints {
  background: #ece9d8;
  border-top: 1px solid #d4d0c8;
  padding: 4px 10px;
  font-family: Tahoma, sans-serif;
  font-size: 11px;
  color: #222222;
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-wrap: wrap;
  gap: 6px;
  box-sizing: border-box;
}

.winxp-pinball-key {
  background: #ffffff;
  border: 1px solid #7f9db9;
  box-shadow: 1px 1px 0 rgba(0, 0, 0, 0.15);
  border-radius: 2px;
  padding: 1px 4px;
  font-weight: bold;
  font-size: 10px;
  color: #000080;
  display: inline-block;
  line-height: 1.2;
}

/* Pause & Game Over Overlays */
.winxp-pinball-overlay {
  position: absolute;
  inset: 0;
  background: rgba(5, 8, 17, 0.85);
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 12px;
  color: #ffffff;
  font-family: Tahoma, sans-serif;
  z-index: 10;
  padding: 20px;
  text-align: center;
  box-sizing: border-box;
}

.winxp-pinball-overlay[hidden],
.winxp-pinball-overlay.hidden {
  display: none !important;
}

.winxp-pinball-overlay-title {
  font-size: 22px;
  font-weight: bold;
  color: #ffe600;
  text-shadow: 0 0 10px rgba(255, 230, 0, 0.6);
  margin: 0;
}

.winxp-pinball-overlay-subtitle,
.winxp-pinball-overlay-score,
.winxp-pinball-overlay-info,
.winxp-pinball-overlay-msg {
  font-size: 12px;
  color: #e2e8f0;
  margin: 0;
}

.winxp-pinball-overlay-btn {
  background: #316ac5;
  border: 1px solid #003c74;
  border-radius: 3px;
  color: #ffffff;
  font-family: Tahoma, sans-serif;
  font-size: 11px;
  padding: 4px 14px;
  cursor: pointer;
  margin-top: 6px;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.35);
}

.winxp-pinball-overlay-btn:hover {
  background: #2b5eb0;
}

.winxp-pinball-overlay-btn:focus-visible {
  outline: 1px dotted #ffffff;
  outline-offset: 1px;
}

/* Sub-theme variations for Pinball */
body[data-win-subtheme="royale"] #winxp-win-pinball,
.theme-royale-blue #winxp-win-pinball,
body[data-win-subtheme="royale"] .winxp-pinball-window,
.theme-royale-blue .winxp-pinball-window {
  border-color: #10388a;
}

body[data-win-subtheme="royale-noir"] #winxp-win-pinball,
.theme-royale-noir #winxp-win-pinball,
body[data-win-subtheme="royale-noir"] .winxp-pinball-window,
.theme-royale-noir .winxp-pinball-window {
  border-color: #2b2b2b;
}

body[data-win-subtheme="classic"] #winxp-win-pinball,
.theme-win-classic #winxp-win-pinball,
body[data-win-subtheme="classic"] .winxp-pinball-window,
.theme-win-classic .winxp-pinball-window {
  background: #c0c0c0;
  border-top: 2px solid #ffffff;
  border-left: 2px solid #ffffff;
  border-right: 2px solid #000000;
  border-bottom: 2px solid #000000;
  border-radius: 0;
}

body[data-win-subtheme="classic"] .winxp-pinball-menubar,
body[data-win-subtheme="classic"] .winxp-pinball-hints {
  background: #c0c0c0;
  border-color: #808080;
}


/* ==========================================================================
   31. MS PAINT (mspaint.exe)
       (.winxp-paint-window, #winxp-win-paint, .winxp-paint-*)
   ========================================================================== */

/* Outer Paint Window Container */
.winxp-paint-window,
#winxp-win-paint {
  width: 560px;
  max-width: calc(100vw - 16px);
  height: 430px;
  max-height: calc(100vh - 40px);
  background: #ece9d8;
  border: 3px solid #0058ee;
  border-radius: 4px 4px 0 0;
  box-shadow: 0 10px 30px rgba(0, 30, 90, 0.5);
  display: flex;
  flex-direction: column;
  user-select: none;
  font-family: Tahoma, 'Segoe UI', sans-serif;
  box-sizing: border-box;
}

#winxp-win-paint[hidden],
.winxp-paint-window[hidden],
#winxp-win-paint.winxp-minimized,
.winxp-paint-window.winxp-minimized {
  display: none !important;
}

/* Authentic Menubar */
.winxp-paint-menubar {
  height: 22px;
  background: #ece9d8;
  border-bottom: 1px solid #d4d0c8;
  font-family: Tahoma, 'Segoe UI', sans-serif;
  font-size: 11px;
  display: flex;
  align-items: center;
  padding: 0 6px;
  gap: 4px;
  box-sizing: border-box;
  flex-shrink: 0;
}

.winxp-paint-menuitem {
  position: relative;
  font-family: Tahoma, sans-serif;
  font-size: 11px;
  color: #000000;
  padding: 2px 6px;
  cursor: pointer;
  border-radius: 2px;
  box-sizing: border-box;
  user-select: none;
}

.winxp-paint-menuitem:hover,
.winxp-paint-menubar > button:hover {
  background: #316ac5;
  color: #ffffff;
}

.winxp-paint-menuitem:focus-visible,
.winxp-paint-menubar > button:focus-visible {
  outline: 1px dotted #000000;
  outline-offset: -1px;
}

.winxp-paint-menuitem:hover:focus-visible {
  outline: 1px dotted #ffffff;
}

/* Paint Menubar Dropdown */
.winxp-paint-dropdown {
  display: none;
  position: absolute;
  top: 100%;
  left: 0;
  background: #ffffff;
  border: 1px solid #716f64;
  box-shadow: 2px 2px 4px rgba(0, 0, 0, 0.3);
  padding: 2px 0;
  min-width: 140px;
  z-index: 1000;
  color: #000000;
}

.winxp-paint-menuitem.active .winxp-paint-dropdown {
  display: block;
}

.winxp-paint-dropdown-item,
.winxp-paint-item {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 3px 14px;
  cursor: pointer;
  white-space: nowrap;
  font-size: 11px;
  color: #000000;
}

.winxp-paint-dropdown-item:hover,
.winxp-paint-dropdown-item:focus-visible,
.winxp-paint-item:hover,
.winxp-paint-item:focus-visible {
  background: #316ac5;
  color: #ffffff;
  outline: 1px dotted #ffffff;
  outline-offset: -1px;
}

.winxp-paint-sep {
  height: 1px;
  background: #d4d0c8;
  margin: 3px 1px;
}

.winxp-np-shortcut,
.winxp-paint-shortcut {
  margin-left: 20px;
  color: #716f64;
  font-size: 10px;
}

.winxp-paint-item:hover .winxp-np-shortcut,
.winxp-paint-item:hover .winxp-paint-shortcut,
.winxp-paint-dropdown-item:hover .winxp-np-shortcut,
.winxp-paint-dropdown-item:hover .winxp-paint-shortcut {
  color: #ffffff;
}

/* Paint Work Area: Toolbox on Left, Canvas in Center */
.winxp-paint-workarea,
.winxp-paint-body {
  display: flex;
  flex-direction: row;
  flex: 1;
  min-height: 0;
  overflow: hidden;
  background: #ece9d8;
  box-sizing: border-box;
}

/* Toolbox */
.winxp-paint-toolbox {
  width: 54px;
  background: #ece9d8;
  border: 2px outset #ffffff;
  padding: 3px;
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 2px;
  align-content: start;
  box-sizing: border-box;
  flex-shrink: 0;
}

/* Tool Buttons */
.winxp-paint-tool-btn {
  width: 22px;
  height: 22px;
  background: #ece9d8;
  border: 1px solid #7f9db9;
  box-shadow: inset 1px 1px 0 #ffffff;
  border-radius: 2px;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 11px;
  padding: 0;
  color: #000000;
  box-sizing: border-box;
}

.winxp-paint-tool-btn:hover {
  background: #f5f3ec;
  border-color: #316ac5;
}

.winxp-paint-tool-btn.active,
.winxp-paint-tool-btn[aria-pressed="true"],
.winxp-paint-tool-btn:active {
  background: #d4d0c8;
  border-color: #404040 #ffffff #ffffff #404040;
  box-shadow: inset 1px 1px 2px rgba(0, 0, 0, 0.4);
}

.winxp-paint-tool-btn:focus-visible {
  outline: 1px dotted #000000;
  outline-offset: -1px;
}

/* Canvas Wrapper */
.winxp-paint-canvas-wrap,
.winxp-paint-canvas-container {
  flex: 1;
  background: #808080;
  padding: 6px;
  overflow: auto;
  display: flex;
  align-items: center;
  justify-content: center;
  min-width: 0;
  min-height: 0;
  box-sizing: border-box;
}

/* Drawing Canvas */
.winxp-paint-canvas {
  background: #ffffff;
  border: 2px inset #7f9db9;
  cursor: crosshair;
  display: block;
  box-shadow: 2px 2px 4px rgba(0, 0, 0, 0.2);
  box-sizing: border-box;
}

/* Bottom Color Palette Bar */
.winxp-paint-palette-bar,
.winxp-paint-bottom {
  height: 38px;
  background: #ece9d8;
  border-top: 1px solid #d4d0c8;
  display: flex;
  align-items: center;
  padding: 2px 6px;
  gap: 8px;
  box-sizing: border-box;
  flex-shrink: 0;
}

/* Swatch Container */
.winxp-paint-swatches {
  position: relative;
  width: 28px;
  height: 28px;
  box-sizing: border-box;
  flex-shrink: 0;
  background: #ece9d8;
  border: 1px inset #d4d0c8;
}

.winxp-paint-swatch-primary,
.winxp-paint-swatch-pri {
  position: absolute;
  top: 2px;
  left: 2px;
  width: 14px;
  height: 14px;
  border: 1px solid #000000;
  z-index: 2;
  box-sizing: border-box;
  cursor: pointer;
  background: #000000;
}

.winxp-paint-swatch-secondary,
.winxp-paint-swatch-sec {
  position: absolute;
  bottom: 2px;
  right: 2px;
  width: 14px;
  height: 14px;
  border: 1px solid #000000;
  z-index: 1;
  box-sizing: border-box;
  cursor: pointer;
  background: #ffffff;
}

/* 28-color Grid */
.winxp-paint-color-grid,
.winxp-paint-palette {
  display: grid;
  grid-template-rows: repeat(2, 12px);
  grid-auto-flow: column;
  gap: 2px;
  box-sizing: border-box;
}

/* Color Cell */
.winxp-paint-color-cell {
  width: 12px;
  height: 12px;
  border: 1px solid #808080;
  cursor: pointer;
  box-sizing: border-box;
  padding: 0;
}

.winxp-paint-color-cell:hover {
  border-color: #000000;
}

.winxp-paint-color-cell:focus-visible {
  outline: 1px dotted #000000;
  outline-offset: 1px;
}

/* Status Bar */
.winxp-paint-statusbar {
  height: 20px;
  background: #ece9d8;
  border-top: 1px solid #d4d0c8;
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 0 8px;
  font-size: 11px;
  color: #222222;
  box-sizing: border-box;
  flex-shrink: 0;
  user-select: none;
}

.winxp-paint-status-item,
.winxp-paint-status-cell {
  display: flex;
  align-items: center;
  gap: 4px;
  border-left: 1px solid #aca899;
  border-right: 1px solid #ffffff;
  padding: 0 6px;
  height: 16px;
  font-family: Tahoma, sans-serif;
  font-size: 11px;
  color: #222222;
  box-sizing: border-box;
}

/* Sub-theme variations for Paint */
body[data-win-subtheme="royale"] #winxp-win-paint,
.theme-royale-blue #winxp-win-paint,
body[data-win-subtheme="royale"] .winxp-paint-window,
.theme-royale-blue .winxp-paint-window {
  border-color: #10388a;
}

body[data-win-subtheme="royale-noir"] #winxp-win-paint,
.theme-royale-noir #winxp-win-paint,
body[data-win-subtheme="royale-noir"] .winxp-paint-window,
.theme-royale-noir .winxp-paint-window {
  border-color: #2b2b2b;
}

body[data-win-subtheme="classic"] #winxp-win-paint,
.theme-win-classic #winxp-win-paint,
body[data-win-subtheme="classic"] .winxp-paint-window,
.theme-win-classic .winxp-paint-window {
  background: #c0c0c0;
  border-top: 2px solid #ffffff;
  border-left: 2px solid #ffffff;
  border-right: 2px solid #000000;
  border-bottom: 2px solid #000000;
  border-radius: 0;
}

body[data-win-subtheme="classic"] .winxp-paint-menubar,
body[data-win-subtheme="classic"] .winxp-paint-toolbox,
body[data-win-subtheme="classic"] .winxp-paint-palette-bar,
body[data-win-subtheme="classic"] .winxp-paint-statusbar {
  background: #c0c0c0;
  border-color: #808080;
}


/* ==========================================================================
   32. WINDOWS MEDIA PLAYER 9 (wmplayer.exe)
       (.winxp-wmp-window, #winxp-win-wmp, .winxp-wmp-*)
   ========================================================================== */

/* Outer WMP Window Container */
.winxp-wmp-window,
#winxp-win-wmp {
  width: 420px;
  max-width: calc(100vw - 16px);
  height: 370px;
  max-height: calc(100vh - 40px);
  background: linear-gradient(180deg, #1b263b 0%, #0d1b2a 100%);
  border: 3px solid #3a506b;
  border-radius: 4px 4px 0 0;
  box-shadow: 0 12px 36px rgba(0, 0, 0, 0.7);
  display: flex;
  flex-direction: column;
  overflow: hidden;
  box-sizing: border-box;
  user-select: none;
  font-family: Tahoma, 'Segoe UI', sans-serif;
}

#winxp-win-wmp[hidden],
.winxp-wmp-window[hidden],
#winxp-win-wmp.winxp-minimized,
.winxp-wmp-window.winxp-minimized {
  display: none !important;
}

/* WMP Titlebar */
.winxp-wmp-titlebar {
  background: linear-gradient(180deg, #2b3a4a 0%, #151e28 100%);
  color: #64b5f6;
  font-size: 11px;
  font-weight: bold;
  padding: 4px 10px;
  display: flex;
  justify-content: space-between;
  align-items: center;
  box-sizing: border-box;
  flex-shrink: 0;
  border-bottom: 1px solid #1a2536;
}

.winxp-wmp-title {
  display: flex;
  align-items: center;
  gap: 6px;
  color: #64b5f6;
}

.winxp-wmp-title-btns {
  display: flex;
  align-items: center;
  gap: 4px;
}

.winxp-wmp-btn-title,
.winxp-wmp-close,
.winxp-wmp-min {
  background: transparent;
  border: 1px solid #3a506b;
  color: #64b5f6;
  border-radius: 2px;
  cursor: pointer;
  padding: 1px 5px;
  font-size: 10px;
  line-height: 1;
}

.winxp-wmp-btn-title:hover,
.winxp-wmp-min:hover {
  background: #3a506b;
  color: #ffffff;
}

.winxp-wmp-close:hover {
  background: #e81123;
  border-color: #e81123;
  color: #ffffff;
}

.winxp-wmp-btn-title:focus-visible,
.winxp-wmp-close:focus-visible,
.winxp-wmp-min:focus-visible {
  outline: 1px dotted #64b5f6;
  outline-offset: 1px;
}

/* Visualization Display Screen */
.winxp-wmp-screen,
.winxp-wmp-viz-wrap {
  height: 180px;
  background: #000000;
  border: 2px inset #1e293b;
  margin: 8px 8px 4px 8px;
  border-radius: 4px;
  position: relative;
  overflow: hidden;
  display: flex;
  align-items: center;
  justify-content: center;
  box-sizing: border-box;
}

.winxp-wmp-screen canvas,
.winxp-wmp-canvas,
.winxp-wmp-viz-canvas {
  width: 100%;
  height: 100%;
  display: block;
}

/* Track Info Readout */
.winxp-wmp-trackinfo,
.winxp-wmp-track-info {
  position: absolute;
  top: 8px;
  left: 10px;
  right: 10px;
  color: #00f0ff;
  font-family: 'Lucida Console', monospace;
  font-size: 11px;
  text-shadow: 0 0 5px rgba(0, 240, 255, 0.7);
  pointer-events: none;
  max-width: calc(100% - 20px);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  z-index: 2;
  display: flex;
  justify-content: space-between;
  align-items: center;
}

.winxp-wmp-track-title {
  color: #5ce1e6;
  font-weight: bold;
}

/* Controls Deck */
.winxp-wmp-controls {
  background: linear-gradient(180deg, #1a2536 0%, #0e1520 100%);
  padding: 8px 12px;
  display: flex;
  flex-direction: column;
  gap: 6px;
  border-top: 1px solid #2d3e52;
  box-sizing: border-box;
  flex-shrink: 0;
}

/* Seekbar Row */
.winxp-wmp-seek-row {
  display: flex;
  align-items: center;
  gap: 8px;
  box-sizing: border-box;
}

.winxp-wmp-seekbar {
  flex: 1;
  height: 4px;
  accent-color: #00f0ff;
  cursor: pointer;
}

.winxp-wmp-seekbar:focus-visible {
  outline: 1px dotted #00f0ff;
  outline-offset: 2px;
}

/* Time Label */
.winxp-wmp-time,
.winxp-wmp-track-time {
  font-family: 'Courier New', monospace;
  font-size: 11px;
  color: #94a3b8;
  min-width: 80px;
  text-align: right;
  user-select: none;
}

/* Buttons Row */
.winxp-wmp-btn-row {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  box-sizing: border-box;
}

/* Circular Play / Pause Button */
.winxp-wmp-play-btn {
  width: 36px;
  height: 36px;
  border-radius: 50%;
  background: radial-gradient(circle at 35% 35%, #4a90e2, #14468c);
  border: 2px solid #60a5fa;
  color: #ffffff;
  cursor: pointer;
  font-size: 14px;
  display: flex;
  align-items: center;
  justify-content: center;
  box-shadow: 0 2px 6px rgba(0, 0, 0, 0.5);
  text-shadow: 0 1px 2px rgba(0, 0, 0, 0.6);
  padding: 0;
  box-sizing: border-box;
  transition: transform 0.05s ease, filter 0.1s ease;
}

.winxp-wmp-play-btn:hover {
  background: radial-gradient(circle at 35% 35%, #4a90e2, #14468c);
  filter: brightness(1.15);
}

.winxp-wmp-play-btn:active {
  transform: scale(0.95);
}

.winxp-wmp-play-btn:focus-visible {
  outline: 2px solid #00f0ff;
  outline-offset: 2px;
}

/* Sub-buttons (Prev, Next, Stop) */
.winxp-wmp-ctrl-btn {
  width: 26px;
  height: 26px;
  border-radius: 50%;
  background: #1e293b;
  border: 1px solid #475569;
  color: #94a3b8;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 11px;
  padding: 0;
  box-sizing: border-box;
  transition: background 0.1s ease, color 0.1s ease, border-color 0.1s ease;
}

.winxp-wmp-ctrl-btn:not(.winxp-wmp-play-btn):hover {
  background: #2b3a4a;
  color: #ffffff;
  border-color: #64b5f6;
}

.winxp-wmp-ctrl-btn:active {
  background: #0f172a;
}

.winxp-wmp-ctrl-btn:focus-visible {
  outline: 1px dotted #00f0ff;
  outline-offset: 1px;
}

/* Volume Slider */
.winxp-wmp-vol,
.winxp-wmp-vol-slider {
  width: 70px;
  height: 4px;
  accent-color: #00f0ff;
  cursor: pointer;
}

.winxp-wmp-vol:focus-visible,
.winxp-wmp-vol-slider:focus-visible {
  outline: 1px dotted #00f0ff;
  outline-offset: 2px;
}

.winxp-wmp-vol-wrap {
  display: flex;
  align-items: center;
  gap: 4px;
  margin-left: 6px;
}


/* ==========================================================================
   33. TASKBAR QUICK LAUNCH BAR
       (.winxp-quicklaunch, .winxp-ql-*)
   ========================================================================== */

/* Quick Launch Container */
.winxp-quicklaunch {
  display: flex;
  align-items: center;
  gap: 2px;
  height: 100%;
  padding: 0 4px;
  box-sizing: border-box;
  flex-shrink: 0;
}

/* Gripper / Separator */
.winxp-ql-gripper,
.winxp-quicklaunch .winxp-ql-sep {
  width: 4px;
  height: 22px;
  border-left: 1px dotted #808080;
  border-right: 1px solid rgba(255, 255, 255, 0.6);
  margin-right: 4px;
  cursor: default;
  box-sizing: border-box;
  flex-shrink: 0;
  display: inline-block;
}

/* Quick Launch Icon Button */
.winxp-ql-btn {
  width: 22px;
  height: 22px;
  background: transparent;
  border: 1px solid transparent;
  border-radius: 2px;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 0;
  box-sizing: border-box;
  color: inherit;
  font-size: 13px;
}

.winxp-ql-btn:hover {
  background: rgba(255, 255, 255, 0.2);
  border: 1px solid rgba(255, 255, 255, 0.4);
  box-shadow: inset 1px 1px 0 rgba(255, 255, 255, 0.3);
}

.winxp-ql-btn:active,
.winxp-ql-btn.active {
  background: rgba(0, 0, 0, 0.2);
  border: 1px solid rgba(0, 0, 0, 0.3);
  box-shadow: inset 1px 1px 1px rgba(0, 0, 0, 0.3);
}

.winxp-ql-btn:focus-visible {
  outline: 1px dotted #ffffff;
  outline-offset: -1px;
}


/* ==========================================================================
   34. FULLSCREEN SCREENSAVER OVERLAY
       (#winxp-screensaver)
   ========================================================================== */

#winxp-screensaver {
  position: fixed;
  inset: 0;
  z-index: 99998;
  background: #000000;
  display: none;
  cursor: none;
  overflow: hidden;
  box-sizing: border-box;
}

#winxp-screensaver.active,
#winxp-screensaver.winxp-screensaver-active {
  display: block;
}

#winxp-screensaver[hidden],
#winxp-screensaver.hidden {
  display: none !important;
}

#winxp-screensaver canvas,
.winxp-screensaver-canvas {
  width: 100vw;
  height: 100vh;
  display: block;
}



/* ==========================================================================
   35. HARAMBE MEMORIAL WINDOW
       (.winxp-memorial-window, #winxp-win-memorial, .winxp-memorial-*)
   ========================================================================== */

/* 35.1 Window Frame */
#winxp-win-memorial {
  width: 480px;
  max-width: calc(100vw - 20px);
  background: #ece9d8;
  border: 3px solid #0058ee;
  border-radius: 4px 4px 0 0;
  box-shadow: 0 12px 36px rgba(0, 30, 90, 0.6);
  display: flex;
  flex-direction: column;
  user-select: none;
  font-family: Tahoma, 'Pixelify Sans', sans-serif;
  box-sizing: border-box;
}

#winxp-win-memorial.inactive,
#winxp-win-memorial.winxp-window-inactive {
  border-color: #7a96df;
}

/* 35.2 Window Body & Interior Memorial Plaque */
.winxp-memorial-window,
.winxp-memorial-body {
  display: flex;
  flex-direction: column;
  height: 100%;
  width: 100%;
  padding: 0;
  box-sizing: border-box;
  background: #ece9d8;
  overflow: hidden;
}

.winxp-memorial-plaque {
  margin: 8px;
  padding: 20px 16px;
  background: linear-gradient(180deg, #0b1120 0%, #162036 100%);
  border: 2px solid #d4af37;
  border-radius: 4px;
  box-shadow: inset 0 0 20px rgba(212, 175, 55, 0.2), 0 4px 12px rgba(0, 0, 0, 0.4);
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  gap: 10px;
  box-sizing: border-box;
}

/* 35.3 Avatar & Celestial Halo */
.winxp-memorial-avatar-wrap {
  width: 88px;
  height: 88px;
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  box-sizing: border-box;
}

.winxp-memorial-halo,
.winxp-memorial-avatar-halo {
  position: absolute;
  inset: -4px;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(255, 215, 0, 0.35) 0%, rgba(255, 215, 0, 0) 70%);
  filter: drop-shadow(0 0 10px #ffd700);
  pointer-events: none;
}

.winxp-memorial-svg,
.winxp-memorial-avatar,
.winxp-memorial-avatar-wrap svg,
.winxp-memorial-avatar-wrap img {
  width: 72px;
  height: 72px;
  z-index: 2;
  position: relative;
  display: block;
}

/* 35.4 Commemorative Typography & Contrast */
.winxp-memorial-title {
  font-family: Tahoma, sans-serif;
  font-size: 13px;
  font-weight: bold;
  letter-spacing: 1px;
  color: #ffd700;
  text-shadow: 0 0 8px rgba(255, 215, 0, 0.5);
  margin: 0;
}

.winxp-memorial-dates {
  font-family: 'Lucida Console', monospace;
  font-size: 11px;
  color: #94a3b8;
  letter-spacing: 1px;
  margin: 0;
}

.winxp-memorial-divider {
  width: 140px;
  height: 1px;
  background: linear-gradient(90deg, transparent 0%, #d4af37 50%, transparent 100%);
  margin: 0 auto;
}

.winxp-memorial-quote,
.winxp-memorial-epigraph {
  font-family: Tahoma, sans-serif;
  font-size: 12px;
  font-style: italic;
  color: #f1f5f9;
  line-height: 1.4;
  max-width: 380px;
  margin: 4px 0;
}

.winxp-memorial-sub {
  font-size: 11px;
  color: #cbd5e1;
  margin: 0;
}

/* 35.5 Interactive Respects Button & Counter */
.winxp-memorial-actions {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 6px;
  margin-top: 4px;
}

.winxp-memorial-respect-btn {
  background: linear-gradient(180deg, #d4af37 0%, #b8860b 100%);
  color: #0b1120;
  font-family: Tahoma, sans-serif;
  font-weight: bold;
  font-size: 11px;
  padding: 6px 16px;
  border: 1px solid #ffd700;
  border-radius: 3px;
  cursor: pointer;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.4), 0 2px 4px rgba(0, 0, 0, 0.3);
  transition: all 0.15s ease;
  user-select: none;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
}

.winxp-memorial-respect-btn:hover {
  background: linear-gradient(180deg, #ffd700 0%, #d4af37 100%);
  box-shadow: 0 0 10px rgba(255, 215, 0, 0.7);
}

.winxp-memorial-respect-btn:active,
.winxp-memorial-respect-btn.active,
.winxp-memorial-respect-btn.pulse {
  background: #b8860b;
  transform: translateY(1px) scale(0.97);
  box-shadow: 0 0 16px #ffd700, inset 0 0 8px #ffffff;
}

.winxp-memorial-respect-btn:focus-visible {
  outline: 2px dotted #ffd700;
  outline-offset: 2px;
}

.winxp-memorial-counter {
  font-family: 'Lucida Console', monospace;
  font-size: 11px;
  color: #ffd700;
  margin-top: 2px;
}

/* 35.6 Subtheme Adaptations */

/* Royale Blue Subtheme */
body[data-win-subtheme="royale"] #winxp-win-memorial,
body[data-xp-subtheme="royale"] #winxp-win-memorial,
body[data-win-theme="royale"] #winxp-win-memorial,
.theme-royale-blue #winxp-win-memorial,
.theme-royale-blue#winxp-win-memorial {
  border-color: #10388a;
}

/* Royale Noir Subtheme */
body[data-win-subtheme="royale-noir"] #winxp-win-memorial,
body[data-win-subtheme="noir"] #winxp-win-memorial,
body[data-xp-subtheme="noir"] #winxp-win-memorial,
body[data-xp-subtheme="royale-noir"] #winxp-win-memorial,
body[data-win-theme="royale-noir"] #winxp-win-memorial,
.theme-royale-noir #winxp-win-memorial,
.theme-royale-noir#winxp-win-memorial {
  border-color: #2b2b2b;
}

/* Windows Classic Subtheme (3D Frame) */
body[data-win-subtheme="classic"] #winxp-win-memorial,
body[data-xp-subtheme="classic"] #winxp-win-memorial,
body[data-win-theme="classic"] #winxp-win-memorial,
.theme-win-classic #winxp-win-memorial,
.theme-win-classic#winxp-win-memorial {
  background: #c0c0c0;
  border-top: 2px solid #ffffff;
  border-left: 2px solid #ffffff;
  border-right: 2px solid #000000;
  border-bottom: 2px solid #000000;
  border-radius: 0;
  box-shadow: inset 1px 1px 0 #dfdfdf, inset -1px -1px 0 #808080;
}

body[data-win-subtheme="classic"] .winxp-memorial-body,
body[data-xp-subtheme="classic"] .winxp-memorial-body,
body[data-win-theme="classic"] .winxp-memorial-body,
.theme-win-classic .winxp-memorial-body {
  background: #c0c0c0;
}


/* ==========================================================================
   36. WINDOWS XP SOLITAIRE (sol.exe)
       (.winxp-sol-window, #winxp-win-sol, .winxp-sol-*)
   ========================================================================== */

/* 36.1 Window Frame & Container */
#winxp-win-sol,
#winxp-win-solitaire {
  min-width: 480px;
  min-height: 380px;
}

#winxp-win-sol[hidden],
#winxp-win-solitaire[hidden],
#winxp-win-sol.winxp-minimized,
#winxp-win-solitaire.winxp-minimized {
  display: none !important;
}

#winxp-win-sol.inactive,
#winxp-win-sol.winxp-window-inactive,
#winxp-win-solitaire.inactive,
#winxp-win-solitaire.winxp-window-inactive {
  border-color: #7a96df;
}

#winxp-win-sol .winxp-aux-content,
#winxp-win-solitaire .winxp-aux-content,
.winxp-sol-container,
.winxp-sol-window {
  padding: 0;
  display: flex;
  flex-direction: column;
  flex: 1 1 auto;
  height: 100%;
  width: 100%;
  min-height: 0;
  overflow: hidden;
  background: #ece9d8;
  border: none;
  border-radius: 0;
  box-shadow: none;
  box-sizing: border-box;
}

/* 36.2 Authentic Menubar */
.winxp-sol-menubar {
  height: 22px;
  background: #ece9d8;
  border-bottom: 1px solid #d4d0c8;
  font-family: Tahoma, sans-serif;
  font-size: 11px;
  display: flex;
  align-items: center;
  padding: 0 6px;
  gap: 4px;
  box-sizing: border-box;
  flex-shrink: 0;
}

.winxp-sol-menuitem,
.winxp-sol-menubar > button {
  position: relative;
  font-family: Tahoma, sans-serif;
  font-size: 11px;
  color: #000000;
  background: transparent;
  border: 1px solid transparent;
  padding: 2px 6px;
  cursor: pointer;
  border-radius: 2px;
  box-sizing: border-box;
  user-select: none;
}

.winxp-sol-menuitem:hover,
.winxp-sol-menuitem.active,
.winxp-sol-menubar > button:hover {
  background: #316ac5;
  color: #ffffff;
}

.winxp-sol-menuitem:focus-visible,
.winxp-sol-menubar > button:focus-visible {
  outline: 1px dotted #000000;
  outline-offset: -1px;
}

.winxp-sol-menuitem:hover:focus-visible,
.winxp-sol-menubar > button:hover:focus-visible {
  outline: 1px dotted #ffffff;
}

.winxp-sol-dropdown {
  display: none;
  position: absolute;
  top: 100%;
  left: 0;
  background: #ffffff;
  border: 1px solid #716f64;
  box-shadow: 2px 2px 4px rgba(0, 0, 0, 0.3);
  padding: 2px 0;
  min-width: 140px;
  z-index: 1000;
  color: #000000;
}

.winxp-sol-menuitem.active .winxp-sol-dropdown {
  display: block;
}

.winxp-sol-dropdown-item {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 3px 14px;
  cursor: pointer;
  white-space: nowrap;
  font-size: 11px;
  color: #000000;
  background: transparent;
  border: none;
  width: 100%;
  text-align: left;
  font-family: Tahoma, sans-serif;
  box-sizing: border-box;
}

.winxp-sol-dropdown-item:hover,
.winxp-sol-dropdown-item:focus-visible {
  background: #316ac5;
  color: #ffffff;
  outline: 1px dotted #ffffff;
  outline-offset: -1px;
}

.winxp-sol-sep {
  height: 1px;
  background: #d4d0c8;
  margin: 3px 1px;
}

/* 36.3 Green Felt Table & Card Areas */
.winxp-sol-table {
  flex: 1;
  background: #008000;
  box-shadow: inset 0 0 40px rgba(0, 0, 0, 0.4);
  padding: 12px;
  position: relative;
  overflow: hidden;
  display: flex;
  flex-direction: column;
  gap: 14px;
  box-sizing: border-box;
  min-height: 0;
}

.winxp-sol-top-row {
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-shrink: 0;
}

.winxp-sol-stock-waste,
.winxp-sol-stock-area,
.winxp-sol-deck-area {
  display: flex;
  gap: 10px;
  align-items: center;
}

.winxp-sol-foundations,
.winxp-sol-foundations-area {
  display: flex;
  gap: 10px;
  align-items: center;
}

.winxp-sol-tableau {
  display: flex;
  justify-content: space-between;
  gap: 8px;
  flex: 1;
  position: relative;
  min-height: 220px;
}

.winxp-sol-col,
.sol-col {
  flex: 1;
  position: relative;
  min-height: 200px;
  display: flex;
  flex-direction: column;
}

/* 36.4 Card Slots & Foundation Placeholders */
.sol-slot {
  width: 60px;
  height: 84px;
  border: 1px dashed rgba(255, 255, 255, 0.4);
  border-radius: 4px;
  position: relative;
  box-sizing: border-box;
  flex-shrink: 0;
}

.sol-slot:focus-visible {
  outline: 2px dotted #ffffff;
  outline-offset: 1px;
}

.sol-slot.drag-over,
.sol-slot:hover {
  border-color: rgba(255, 255, 255, 0.85);
  background: rgba(255, 255, 255, 0.05);
}

.sol-slot.foundation,
.sol-foundation-slot,
.sol-slot[data-foundation] {
  border: 1px solid rgba(0, 60, 0, 0.7);
  background: rgba(0, 0, 0, 0.15);
  box-shadow: inset 0 1px 3px rgba(0, 0, 0, 0.35);
  border-radius: 4px;
}

.sol-slot.foundation::after,
.sol-foundation-slot::after,
.sol-slot[data-foundation]::after {
  content: attr(data-suit-symbol);
  position: absolute;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 26px;
  color: rgba(255, 255, 255, 0.2);
  pointer-events: none;
}

/* 36.5 Playing Cards */
.sol-card {
  width: 60px;
  height: 84px;
  border-radius: 4px;
  background: #ffffff;
  border: 1px solid #111111;
  box-shadow: 1px 1px 3px rgba(0, 0, 0, 0.35);
  position: absolute;
  user-select: none;
  cursor: pointer;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  padding: 3px 4px;
  box-sizing: border-box;
  font-family: Tahoma, sans-serif;
  font-size: 11px;
  font-weight: bold;
}

.sol-card:focus-visible {
  outline: 2px dotted #000000;
  outline-offset: 1px;
}

.sol-card-corner,
.sol-card-top {
  display: flex;
  align-items: center;
  gap: 2px;
  line-height: 1;
}

.sol-card-suit-center,
.sol-card-center {
  align-self: center;
  font-size: 22px;
  line-height: 1;
}

.sol-card-bottom {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 2px;
  transform: rotate(180deg);
  line-height: 1;
}

/* Card Colors & Back */
.sol-card.red,
.sol-card .red,
.sol-red,
.red {
  color: #d32020;
}

.sol-card.black,
.sol-card .black,
.sol-black,
.black {
  color: #000000;
}

.sol-card.back {
  background: repeating-linear-gradient(45deg, #1e3a8a, #1e3a8a 6px, #1d4ed8 6px, #1d4ed8 12px);
  border: 2px solid #ffffff;
  box-shadow: 1px 1px 3px rgba(0, 0, 0, 0.4);
}

.sol-card.dragging {
  opacity: 0.92;
  box-shadow: 3px 6px 14px rgba(0, 0, 0, 0.55);
  z-index: 1000;
  cursor: grabbing;
}

.sol-card.selected {
  outline: 2px solid #316ac5;
  box-shadow: 0 0 6px rgba(49, 106, 197, 0.8);
}

/* 36.6 Solitaire Status Bar */
.winxp-sol-statusbar {
  height: 20px;
  background: #ece9d8;
  border-top: 1px solid #d4d0c8;
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 0 10px;
  font-size: 11px;
  color: #222222;
  box-sizing: border-box;
  flex-shrink: 0;
  font-family: Tahoma, sans-serif;
}

.winxp-sol-status-panel,
.winxp-sol-status-score,
.winxp-sol-status-time {
  display: flex;
  align-items: center;
  gap: 4px;
}

/* 36.7 Solitaire Win Overlay */
.winxp-sol-win-overlay {
  position: absolute;
  inset: 0;
  pointer-events: none;
  z-index: 2000;
  display: flex;
  align-items: center;
  justify-content: center;
}

.winxp-sol-win-canvas {
  width: 100%;
  height: 100%;
  display: block;
}

/* 36.8 Solitaire Subtheme Adaptations */
body[data-win-subtheme="royale"] #winxp-win-sol,
body[data-win-subtheme="royale"] #winxp-win-solitaire,
body[data-xp-subtheme="royale"] #winxp-win-sol,
body[data-win-theme="royale"] #winxp-win-sol,
.theme-royale-blue #winxp-win-sol,
.theme-royale-blue#winxp-win-sol,
body[data-win-subtheme="royale"] .winxp-sol-window,
body[data-xp-subtheme="royale"] .winxp-sol-window,
body[data-win-theme="royale"] .winxp-sol-window,
.theme-royale-blue .winxp-sol-window,
.theme-royale-blue.winxp-sol-window {
  border-color: #10388a;
}

body[data-win-subtheme="royale-noir"] #winxp-win-sol,
body[data-win-subtheme="royale-noir"] #winxp-win-solitaire,
body[data-win-subtheme="noir"] #winxp-win-sol,
body[data-xp-subtheme="noir"] #winxp-win-sol,
body[data-xp-subtheme="royale-noir"] #winxp-win-sol,
body[data-win-theme="royale-noir"] #winxp-win-sol,
.theme-royale-noir #winxp-win-sol,
.theme-royale-noir#winxp-win-sol,
body[data-win-subtheme="royale-noir"] .winxp-sol-window,
body[data-win-subtheme="noir"] .winxp-sol-window,
body[data-xp-subtheme="noir"] .winxp-sol-window,
body[data-xp-subtheme="royale-noir"] .winxp-sol-window,
body[data-win-theme="royale-noir"] .winxp-sol-window,
.theme-royale-noir .winxp-sol-window,
.theme-royale-noir.winxp-sol-window {
  border-color: #2b2b2b;
}

body[data-win-subtheme="classic"] #winxp-win-sol,
body[data-win-subtheme="classic"] #winxp-win-solitaire,
body[data-xp-subtheme="classic"] #winxp-win-sol,
body[data-win-theme="classic"] #winxp-win-sol,
.theme-win-classic #winxp-win-sol,
.theme-win-classic#winxp-win-sol,
body[data-win-subtheme="classic"] .winxp-sol-window,
body[data-xp-subtheme="classic"] .winxp-sol-window,
body[data-win-theme="classic"] .winxp-sol-window,
.theme-win-classic .winxp-sol-window,
.theme-win-classic.winxp-sol-window {
  background: #c0c0c0;
  border-top: 2px solid #ffffff;
  border-left: 2px solid #ffffff;
  border-right: 2px solid #000000;
  border-bottom: 2px solid #000000;
  border-radius: 0;
  box-shadow: inset 1px 1px 0 #dfdfdf, inset -1px -1px 0 #808080;
}

body[data-win-subtheme="classic"] .winxp-sol-menubar,
body[data-xp-subtheme="classic"] .winxp-sol-menubar,
body[data-win-theme="classic"] .winxp-sol-menubar,
.theme-win-classic .winxp-sol-menubar,
body[data-win-subtheme="classic"] .winxp-sol-statusbar,
body[data-xp-subtheme="classic"] .winxp-sol-statusbar,
body[data-win-theme="classic"] .winxp-sol-statusbar,
.theme-win-classic .winxp-sol-statusbar {
  background: #c0c0c0;
  border-color: #808080;
}


/* ==========================================================================
   37. INTERNET EXPLORER 6 (iexplore.exe)
       (.winxp-ie-window, #winxp-win-ie, .winxp-ie-*)
   ========================================================================== */

/* 37.1 Window Frame & Container */
#winxp-win-ie,
#winxp-win-iexplore {
  min-width: 520px;
  min-height: 400px;
}

#winxp-win-ie[hidden],
#winxp-win-iexplore[hidden],
#winxp-win-ie.winxp-minimized,
#winxp-win-iexplore.winxp-minimized {
  display: none !important;
}

#winxp-win-ie.inactive,
#winxp-win-ie.winxp-window-inactive,
#winxp-win-iexplore.inactive,
#winxp-win-iexplore.winxp-window-inactive {
  border-color: #7a96df;
}

#winxp-win-ie .winxp-aux-content,
#winxp-win-iexplore .winxp-aux-content,
.winxp-ie-container,
.winxp-ie-window {
  padding: 0;
  display: flex;
  flex-direction: column;
  flex: 1 1 auto;
  height: 100%;
  width: 100%;
  min-height: 0;
  overflow: hidden;
  background: #ece9d8;
  border: none;
  border-radius: 0;
  box-shadow: none;
  box-sizing: border-box;
}

/* 37.2 Authentic Menubar */
.winxp-ie-menubar {
  height: 22px;
  background: #ece9d8;
  border-bottom: 1px solid #d4d0c8;
  display: flex;
  align-items: center;
  padding: 0 4px;
  gap: 4px;
  font-family: Tahoma, sans-serif;
  font-size: 11px;
  box-sizing: border-box;
  flex-shrink: 0;
}

.winxp-ie-menuitem,
.winxp-ie-menubar > button {
  position: relative;
  font-family: Tahoma, sans-serif;
  font-size: 11px;
  color: #000000;
  background: transparent;
  border: 1px solid transparent;
  padding: 2px 6px;
  cursor: pointer;
  border-radius: 2px;
  box-sizing: border-box;
  user-select: none;
}

.winxp-ie-menuitem:hover,
.winxp-ie-menuitem.active,
.winxp-ie-menubar > button:hover {
  background: #316ac5;
  color: #ffffff;
}

.winxp-ie-menuitem:focus-visible,
.winxp-ie-menubar > button:focus-visible {
  outline: 1px dotted #000000;
  outline-offset: -1px;
}

.winxp-ie-menuitem:hover:focus-visible,
.winxp-ie-menubar > button:hover:focus-visible {
  outline: 1px dotted #ffffff;
}

.winxp-ie-dropdown {
  display: none;
  position: absolute;
  top: 100%;
  left: 0;
  background: #ffffff;
  border: 1px solid #716f64;
  box-shadow: 2px 2px 4px rgba(0, 0, 0, 0.3);
  padding: 2px 0;
  min-width: 150px;
  z-index: 1000;
  color: #000000;
}

.winxp-ie-menuitem.active .winxp-ie-dropdown {
  display: block;
}

.winxp-ie-dropdown-item {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 3px 14px;
  cursor: pointer;
  white-space: nowrap;
  font-size: 11px;
  color: #000000;
  background: transparent;
  border: none;
  width: 100%;
  text-align: left;
  font-family: Tahoma, sans-serif;
  box-sizing: border-box;
}

.winxp-ie-dropdown-item:hover,
.winxp-ie-dropdown-item:focus-visible {
  background: #316ac5;
  color: #ffffff;
  outline: 1px dotted #ffffff;
  outline-offset: -1px;
}

/* 37.3 Navigation Toolbar */
.winxp-ie-toolbar {
  background: #ece9d8;
  border-bottom: 1px solid #aca899;
  padding: 3px 6px;
  display: flex;
  align-items: center;
  gap: 4px;
  position: relative;
  flex-shrink: 0;
  box-sizing: border-box;
  min-height: 42px;
}

.winxp-ie-separator {
  width: 1px;
  height: 28px;
  background: #aca899;
  margin: 0 3px;
  border-right: 1px solid #ffffff;
  flex-shrink: 0;
}

/* Back & Forward Buttons */
.winxp-ie-btn-back,
.winxp-ie-btn-fwd {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  height: 32px;
  padding: 2px 8px;
  font-size: 11px;
  color: #000000;
  font-family: Tahoma, sans-serif;
  background: transparent;
  border: 1px solid transparent;
  cursor: pointer;
  border-radius: 3px;
  user-select: none;
  box-sizing: border-box;
}

.winxp-ie-bubble {
  width: 22px;
  height: 22px;
  border-radius: 50%;
  background: radial-gradient(circle at 35% 35%, #8ee04e 0%, #44aa18 60%, #29740a 100%);
  border: 1px solid #236c07;
  box-shadow: inset 0 1px 1px rgba(255, 255, 255, 0.6), 0 1px 2px rgba(0, 0, 0, 0.25);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: #ffffff;
  font-weight: bold;
  font-size: 11px;
  line-height: 1;
  text-shadow: 0 -1px 0 #1b5305;
  flex-shrink: 0;
}

.winxp-ie-btn-back:hover:not(:disabled),
.winxp-ie-btn-fwd:hover:not(:disabled) {
  background: #dce6f4;
  border-color: #316ac5;
}

.winxp-ie-btn-back:focus-visible,
.winxp-ie-btn-fwd:focus-visible {
  outline: 1px dotted #316ac5;
  outline-offset: 1px;
}

.winxp-ie-btn-back:disabled,
.winxp-ie-btn-fwd:disabled,
.winxp-ie-btn-back[disabled],
.winxp-ie-btn-fwd[disabled] {
  opacity: 0.5;
  cursor: default;
  filter: grayscale(1);
}

/* Action Buttons */
.winxp-ie-btn-action,
.winxp-ie-toolbar-btn {
  height: 30px;
  min-width: 36px;
  padding: 2px 6px;
  display: inline-flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  font-size: 10px;
  color: #000000;
  font-family: Tahoma, sans-serif;
  background: transparent;
  border: 1px solid transparent;
  cursor: pointer;
  border-radius: 2px;
  box-sizing: border-box;
  user-select: none;
}

.winxp-ie-btn-action:hover,
.winxp-ie-toolbar-btn:hover {
  background: #dce6f4;
  border-color: #316ac5;
}

.winxp-ie-btn-action:focus-visible,
.winxp-ie-toolbar-btn:focus-visible {
  outline: 1px dotted #316ac5;
  outline-offset: 1px;
}

.winxp-ie-btn-icon {
  width: 16px;
  height: 16px;
  display: flex;
  align-items: center;
  justify-content: center;
}

.winxp-ie-btn-icon svg {
  width: 16px;
  height: 16px;
  display: block;
}

/* Spinning Globe Indicator */
.winxp-ie-globe {
  position: absolute;
  right: 8px;
  top: 4px;
  width: 28px;
  height: 28px;
  border: 1px solid #aca899;
  border-radius: 3px;
  background: #000000;
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
  box-sizing: border-box;
}

.winxp-ie-globe svg,
.winxp-ie-globe-icon {
  width: 20px;
  height: 20px;
  fill: #48a0dc;
  display: block;
  transform-origin: center center;
}

@keyframes ie-globe-spin {
  0% {
    transform: rotate(0deg);
  }
  100% {
    transform: rotate(360deg);
  }
}

.winxp-ie-globe.loading svg,
.winxp-ie-globe.spinning svg,
.winxp-ie-globe.loading .winxp-ie-globe-icon,
.winxp-ie-globe.spinning .winxp-ie-globe-icon {
  animation: ie-globe-spin 1s linear infinite;
}

/* 37.4 Address Bar Row */
.winxp-ie-address-row {
  display: flex;
  align-items: center;
  gap: 6px;
  padding: 3px 8px;
  background: #ece9d8;
  border-bottom: 1px solid #aca899;
  font-size: 11px;
  flex-shrink: 0;
  box-sizing: border-box;
}

.winxp-ie-address-label {
  color: #444444;
  font-family: Tahoma, sans-serif;
  font-size: 11px;
  white-space: nowrap;
}

.winxp-ie-address-input,
.winxp-ie-address-box {
  flex: 1;
  height: 22px;
  background: #ffffff;
  border: 1px solid #7f9db9;
  padding: 0 6px;
  font-family: Tahoma, sans-serif;
  font-size: 11px;
  color: #000000;
  display: flex;
  align-items: center;
  box-sizing: border-box;
  border-radius: 0;
}

.winxp-ie-address-input:focus-visible,
.winxp-ie-address-box:focus-visible {
  outline: 1px dotted #000000;
  border-color: #316ac5;
}

.winxp-ie-btn-go {
  height: 22px;
  padding: 0 8px;
  background: linear-gradient(180deg, #62c332 0%, #3a9b12 100%);
  border: 1px solid #236c07;
  border-radius: 2px;
  color: #000000;
  font-family: Tahoma, sans-serif;
  font-size: 11px;
  font-weight: bold;
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  gap: 3px;
  user-select: none;
  box-sizing: border-box;
}

.winxp-ie-btn-go:hover {
  background: linear-gradient(180deg, #74d843 0%, #44aa18 100%);
}

.winxp-ie-btn-go:active {
  background: #2f830d;
  color: #ffffff;
}

.winxp-ie-btn-go:focus-visible {
  outline: 1px dotted #000000;
  outline-offset: 1px;
}

/* 37.5 Body Split: Favorites Sidebar & Viewport */
.winxp-ie-body,
.winxp-ie-main {
  display: flex;
  flex: 1;
  overflow: hidden;
  position: relative;
  min-height: 0;
}

.winxp-ie-favorites-pane {
  width: 190px;
  background: #fbfaf5;
  border-right: 1px solid #7f9db9;
  padding: 8px;
  overflow-y: auto;
  display: flex;
  flex-direction: column;
  gap: 6px;
  font-size: 11px;
  font-family: Tahoma, sans-serif;
  flex-shrink: 0;
  box-sizing: border-box;
}

.winxp-ie-favorites-pane[hidden],
.winxp-ie-favorites-pane.hidden {
  display: none;
}

.winxp-ie-favorites-header {
  font-weight: bold;
  font-size: 11px;
  color: #000000;
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding-bottom: 4px;
  border-bottom: 1px solid #e2decb;
}

.winxp-ie-fav-close {
  background: transparent;
  border: 1px solid transparent;
  cursor: pointer;
  font-size: 11px;
  padding: 1px 4px;
  border-radius: 2px;
  color: #222222;
}

.winxp-ie-fav-close:hover {
  background: #dce6f4;
  border-color: #316ac5;
}

.winxp-ie-fav-close:focus-visible {
  outline: 1px dotted #000000;
}

.winxp-ie-fav-list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 3px;
}

.winxp-ie-fav-item,
.winxp-ie-fav-link {
  display: flex;
  align-items: center;
  gap: 6px;
  padding: 3px 6px;
  border-radius: 2px;
  color: #000000;
  text-decoration: none;
  cursor: pointer;
  font-size: 11px;
  font-family: Tahoma, sans-serif;
}

.winxp-ie-fav-item:hover,
.winxp-ie-fav-link:hover {
  background: #316ac5;
  color: #ffffff;
}

.winxp-ie-fav-item:focus-visible,
.winxp-ie-fav-link:focus-visible {
  outline: 1px dotted #316ac5;
  outline-offset: -1px;
}

.winxp-ie-viewport {
  flex: 1;
  background: #ffffff;
  overflow-y: auto;
  padding: 12px;
  font-family: Tahoma, Arial, sans-serif;
  box-sizing: border-box;
  position: relative;
  min-height: 0;
}

/* 37.6 Retro MSN Page Styles */
.msn-portal-page {
  font-family: Arial, Tahoma, sans-serif;
  color: #000000;
  font-size: 12px;
  line-height: 1.4;
}

.msn-portal-header {
  background: #003399;
  color: #ffffff;
  padding: 8px 12px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  border-bottom: 3px solid #ff6600;
}

.msn-portal-logo {
  font-weight: bold;
  font-size: 18px;
  color: #ffffff;
  letter-spacing: -0.5px;
  display: flex;
  align-items: center;
  gap: 6px;
}

.msn-portal-butterfly {
  color: #ff9900;
  font-size: 16px;
}

.msn-portal-nav {
  display: flex;
  gap: 12px;
  font-size: 11px;
}

.msn-portal-nav a,
.msn-portal-nav-link {
  color: #ffffff;
  text-decoration: none;
  font-weight: bold;
}

.msn-portal-nav a:hover,
.msn-portal-nav-link:hover {
  text-decoration: underline;
}

.msn-portal-nav a:focus-visible,
.msn-portal-nav-link:focus-visible {
  outline: 1px dotted #ffffff;
  outline-offset: 2px;
}

.msn-portal-search-row {
  background: #f0f4f9;
  padding: 8px 12px;
  border-bottom: 1px solid #d0d7e2;
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 11px;
}

.msn-portal-search-input {
  flex: 1;
  max-width: 340px;
  height: 22px;
  border: 1px solid #7f9db9;
  padding: 0 6px;
  font-size: 11px;
  font-family: Tahoma, Arial, sans-serif;
  color: #000000;
  background: #ffffff;
  box-sizing: border-box;
}

.msn-portal-search-input:focus-visible {
  outline: 1px dotted #000000;
  border-color: #003399;
}

.msn-portal-search-btn {
  height: 22px;
  padding: 0 10px;
  background: #003399;
  color: #ffffff;
  border: 1px solid #002060;
  border-radius: 2px;
  font-size: 11px;
  font-weight: bold;
  cursor: pointer;
  font-family: Tahoma, Arial, sans-serif;
}

.msn-portal-search-btn:hover {
  background: #002570;
}

.msn-portal-search-btn:focus-visible {
  outline: 1px dotted #ffffff;
  outline-offset: -2px;
}

.msn-portal-hotmail {
  background: linear-gradient(90deg, #ff8800 0%, #ffaa33 100%);
  color: #111111;
  padding: 6px 12px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin: 8px 0;
  border-radius: 3px;
  font-size: 11px;
  box-sizing: border-box;
}

.msn-portal-hotmail a {
  color: #000000;
  font-weight: bold;
  text-decoration: underline;
}

.msn-portal-hotmail a:focus-visible {
  outline: 1px dotted #000000;
  outline-offset: 2px;
}

.msn-portal-grid {
  display: grid;
  grid-template-columns: 2fr 1fr;
  gap: 14px;
  margin-top: 10px;
}

.msn-portal-news {
  display: flex;
  flex-direction: column;
  gap: 10px;
}

.msn-portal-headline {
  font-size: 14px;
  font-weight: bold;
  color: #0033cc;
  margin: 0 0 4px 0;
}

.msn-portal-headline a {
  color: #0033cc;
  text-decoration: none;
}

.msn-portal-headline a:hover {
  text-decoration: underline;
}

.msn-portal-headline a:focus-visible {
  outline: 1px dotted #0033cc;
  outline-offset: 1px;
}

.msn-portal-teaser {
  font-size: 11px;
  color: #222222;
  margin: 0;
  line-height: 1.4;
}

.msn-portal-news-list {
  list-style: square;
  padding-left: 18px;
  margin: 6px 0;
  display: flex;
  flex-direction: column;
  gap: 4px;
  font-size: 11px;
}

.msn-portal-news-list a {
  color: #0033cc;
  text-decoration: none;
}

.msn-portal-news-list a:hover {
  text-decoration: underline;
}

.msn-portal-news-list a:focus-visible {
  outline: 1px dotted #0033cc;
  outline-offset: 1px;
}

.msn-portal-sidebar {
  display: flex;
  flex-direction: column;
  gap: 12px;
}

.msn-portal-box {
  border: 1px solid #b4c5dd;
  border-radius: 3px;
  overflow: hidden;
  background: #fdfdfd;
}

.msn-portal-box-title {
  background: #e0eaf6;
  padding: 4px 8px;
  font-weight: bold;
  font-size: 11px;
  color: #003399;
  border-bottom: 1px solid #b4c5dd;
}

.msn-portal-box-body {
  padding: 8px;
  font-size: 11px;
  display: flex;
  flex-direction: column;
  gap: 6px;
  color: #222222;
}

.msn-portal-links {
  display: flex;
  flex-direction: column;
  gap: 4px;
}

.msn-portal-link {
  color: #0033cc;
  text-decoration: none;
  font-size: 11px;
}

.msn-portal-link:hover {
  text-decoration: underline;
}

.msn-portal-link:focus-visible {
  outline: 1px dotted #0033cc;
  outline-offset: 1px;
}

/* 37.7 Status Bar & Progress Indicator */
.winxp-ie-statusbar {
  height: 20px;
  background: #ece9d8;
  border-top: 1px solid #aca899;
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 0 8px;
  font-size: 11px;
  color: #222222;
  box-sizing: border-box;
  flex-shrink: 0;
  font-family: Tahoma, sans-serif;
}

.winxp-ie-status-left {
  display: flex;
  align-items: center;
  gap: 6px;
  flex: 1;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.winxp-ie-status-icon {
  width: 14px;
  height: 14px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}

.winxp-ie-status-right {
  display: flex;
  align-items: center;
  gap: 8px;
  flex-shrink: 0;
}

.winxp-ie-progress {
  width: 80px;
  height: 10px;
  background: #ffffff;
  border: 1px solid #7f9db9;
  display: none;
  overflow: hidden;
  border-radius: 1px;
  box-sizing: border-box;
}

.winxp-ie-progress.active,
.winxp-ie-statusbar.loading .winxp-ie-progress {
  display: block;
}

.winxp-ie-progress-fill {
  height: 100%;
  background: linear-gradient(90deg, #316ac5 0%, #468bf0 100%);
  width: 0%;
  transition: width 0.2s ease;
}

.winxp-ie-zone {
  display: flex;
  align-items: center;
  gap: 4px;
  border-left: 1px solid #aca899;
  padding-left: 8px;
  color: #222222;
  font-size: 11px;
}

/* 37.8 IE6 Subtheme Adaptations */
body[data-win-subtheme="royale"] #winxp-win-ie,
body[data-win-subtheme="royale"] #winxp-win-iexplore,
body[data-xp-subtheme="royale"] #winxp-win-ie,
body[data-win-theme="royale"] #winxp-win-ie,
.theme-royale-blue #winxp-win-ie,
.theme-royale-blue#winxp-win-ie,
body[data-win-subtheme="royale"] .winxp-ie-window,
body[data-xp-subtheme="royale"] .winxp-ie-window,
body[data-win-theme="royale"] .winxp-ie-window,
.theme-royale-blue .winxp-ie-window,
.theme-royale-blue.winxp-ie-window {
  border-color: #10388a;
}

body[data-win-subtheme="royale-noir"] #winxp-win-ie,
body[data-win-subtheme="royale-noir"] #winxp-win-iexplore,
body[data-win-subtheme="noir"] #winxp-win-ie,
body[data-xp-subtheme="noir"] #winxp-win-ie,
body[data-xp-subtheme="royale-noir"] #winxp-win-ie,
body[data-win-theme="royale-noir"] #winxp-win-ie,
.theme-royale-noir #winxp-win-ie,
.theme-royale-noir#winxp-win-ie,
body[data-win-subtheme="royale-noir"] .winxp-ie-window,
body[data-win-subtheme="noir"] .winxp-ie-window,
body[data-xp-subtheme="noir"] .winxp-ie-window,
body[data-xp-subtheme="royale-noir"] .winxp-ie-window,
body[data-win-theme="royale-noir"] .winxp-ie-window,
.theme-royale-noir .winxp-ie-window,
.theme-royale-noir.winxp-ie-window {
  border-color: #2b2b2b;
}

body[data-win-subtheme="classic"] #winxp-win-ie,
body[data-win-subtheme="classic"] #winxp-win-iexplore,
body[data-xp-subtheme="classic"] #winxp-win-ie,
body[data-win-theme="classic"] #winxp-win-ie,
.theme-win-classic #winxp-win-ie,
.theme-win-classic#winxp-win-ie,
body[data-win-subtheme="classic"] .winxp-ie-window,
body[data-xp-subtheme="classic"] .winxp-ie-window,
body[data-win-theme="classic"] .winxp-ie-window,
.theme-win-classic .winxp-ie-window,
.theme-win-classic.winxp-ie-window {
  background: #c0c0c0;
  border-top: 2px solid #ffffff;
  border-left: 2px solid #ffffff;
  border-right: 2px solid #000000;
  border-bottom: 2px solid #000000;
  border-radius: 0;
  box-shadow: inset 1px 1px 0 #dfdfdf, inset -1px -1px 0 #808080;
}

body[data-win-subtheme="classic"] .winxp-ie-menubar,
body[data-xp-subtheme="classic"] .winxp-ie-menubar,
body[data-win-theme="classic"] .winxp-ie-menubar,
.theme-win-classic .winxp-ie-menubar,
body[data-win-subtheme="classic"] .winxp-ie-toolbar,
body[data-xp-subtheme="classic"] .winxp-ie-toolbar,
body[data-win-theme="classic"] .winxp-ie-toolbar,
.theme-win-classic .winxp-ie-toolbar,
body[data-win-subtheme="classic"] .winxp-ie-address-row,
body[data-xp-subtheme="classic"] .winxp-ie-address-row,
body[data-win-theme="classic"] .winxp-ie-address-row,
.theme-win-classic .winxp-ie-address-row,
body[data-win-subtheme="classic"] .winxp-ie-statusbar,
body[data-xp-subtheme="classic"] .winxp-ie-statusbar,
body[data-win-theme="classic"] .winxp-ie-statusbar,
.theme-win-classic .winxp-ie-statusbar {
  background: #c0c0c0;
  border-color: #808080;
}


/* ==========================================================================
   38. WINDOWS XP TASK MANAGER (taskmgr.exe)
       (#winxp-win-taskmgr, .winxp-taskmgr-window, .winxp-taskmgr-*)
   ========================================================================== */

/* 38.1 Window Frame & Geometry */
#winxp-win-taskmgr,
.winxp-taskmgr-window {
  min-width: 440px;
  min-height: 420px;
}

#winxp-win-taskmgr[hidden],
.winxp-taskmgr-window[hidden],
#winxp-win-taskmgr.winxp-minimized,
.winxp-taskmgr-window.winxp-minimized {
  display: none !important;
}

#winxp-win-taskmgr.inactive,
#winxp-win-taskmgr.winxp-window-inactive,
.winxp-taskmgr-window.inactive,
.winxp-taskmgr-window.winxp-window-inactive {
  border-color: #7a96df;
}

#winxp-win-taskmgr .winxp-aux-content,
.winxp-taskmgr-window .winxp-aux-content,
.winxp-taskmgr-container {
  display: flex;
  flex-direction: column;
  flex: 1 1 auto;
  height: 100%;
  width: 100%;
  min-height: 0;
  overflow: hidden;
  background: #ece9d8;
  border: none;
  border-radius: 0;
  box-shadow: none;
  box-sizing: border-box;
  font-family: Tahoma, 'Segoe UI', sans-serif;
  font-size: 11px;
  color: #000000;
  user-select: none;
}

/* 38.2 Menubar */
.winxp-taskmgr-menubar,
.winxp-taskmgr-menu {
  display: flex;
  align-items: center;
  height: 22px;
  background: #ece9d8;
  border-bottom: 1px solid #d4d0c8;
  padding: 0 4px;
  gap: 2px;
  box-sizing: border-box;
  flex-shrink: 0;
}

.winxp-taskmgr-menuitem,
.winxp-taskmgr-menubar button,
.winxp-taskmgr-menu-item,
.winxp-taskmgr-menu button {
  padding: 2px 6px;
  font-family: Tahoma, sans-serif;
  font-size: 11px;
  color: #000000;
  background: transparent;
  border: none;
  cursor: pointer;
  border-radius: 2px;
  line-height: 1.2;
}

.winxp-taskmgr-menuitem:hover,
.winxp-taskmgr-menubar button:hover,
.winxp-taskmgr-menu-item:hover,
.winxp-taskmgr-menu button:hover {
  background: #316ac5;
  color: #ffffff;
}

.winxp-taskmgr-menuitem:focus-visible,
.winxp-taskmgr-menubar button:focus-visible,
.winxp-taskmgr-menu-item:focus-visible,
.winxp-taskmgr-menu button:focus-visible {
  outline: 1px dotted #000000;
  outline-offset: -1px;
}

.winxp-taskmgr-menuitem:hover:focus-visible,
.winxp-taskmgr-menubar button:hover:focus-visible,
.winxp-taskmgr-menu-item:hover:focus-visible,
.winxp-taskmgr-menu button:hover:focus-visible {
  outline-color: #ffffff;
}

/* 38.3 Tabs Bar */
.winxp-taskmgr-tabs,
.winxp-taskmgr-tab-bar {
  display: flex;
  flex-direction: row;
  align-items: flex-end;
  padding: 4px 8px 0 8px;
  gap: 2px;
  background: #ece9d8;
  border-bottom: 1px solid #919b9c;
  position: relative;
  z-index: 1;
  flex-shrink: 0;
  box-sizing: border-box;
}

.winxp-taskmgr-tab,
button.winxp-taskmgr-tab,
.winxp-taskmgr-tab-item {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 3px 12px 4px 12px;
  font-family: Tahoma, sans-serif;
  font-size: 11px;
  color: #000000;
  background: linear-gradient(180deg, #f0ede0 0%, #ece9d8 30%, #e1dcc9 100%);
  border: 1px solid #919b9c;
  border-bottom: none;
  border-radius: 3px 3px 0 0;
  cursor: pointer;
  position: relative;
  margin-bottom: -1px;
  transition: background 0.08s ease;
  user-select: none;
  white-space: nowrap;
  box-shadow: inset 0 1px 0 #ffffff, inset 1px 0 0 rgba(255, 255, 255, 0.7), inset -1px 0 0 rgba(255, 255, 255, 0.7);
}

.winxp-taskmgr-tab:hover,
.winxp-taskmgr-tab-item:hover {
  background: linear-gradient(180deg, #ffffff 0%, #f4efe2 40%, #e6e0ce 100%);
}

.winxp-taskmgr-tab.active,
.winxp-taskmgr-tab[aria-selected="true"],
.winxp-taskmgr-tab-item.active {
  background: #ece9d8;
  border-color: #919b9c;
  border-bottom: 1px solid #ece9d8;
  padding-top: 5px;
  padding-bottom: 5px;
  font-weight: bold;
  z-index: 3;
  margin-bottom: -1px;
  box-shadow:
    inset 0 2px 0 #e68b2c,
    inset 0 3px 0 #ffffff,
    inset 1px 0 0 #ffffff,
    inset -1px 0 0 #ffffff;
}

.winxp-taskmgr-tab:focus-visible,
.winxp-taskmgr-tab-item:focus-visible {
  outline: 1px dotted #000000;
  outline-offset: -3px;
}

/* 38.4 Panels Container & Panel Layout */
.winxp-taskmgr-panels,
.winxp-taskmgr-panel-container {
  display: flex;
  flex-direction: column;
  flex: 1 1 auto;
  min-height: 0;
  padding: 8px;
  background: #ece9d8;
  overflow: hidden;
  box-sizing: border-box;
}

.winxp-taskmgr-panel {
  display: none;
  flex-direction: column;
  flex: 1 1 auto;
  min-height: 0;
  height: 100%;
  box-sizing: border-box;
}

.winxp-taskmgr-panel.active,
.winxp-taskmgr-panel[data-active="true"],
.winxp-taskmgr-panel[aria-hidden="false"] {
  display: flex;
}

/* 38.5 Applications & Processes Tables */
.winxp-taskmgr-table-wrap,
.winxp-taskmgr-list-wrap {
  flex: 1 1 auto;
  min-height: 0;
  background: #ffffff;
  border: 2px inset #7f9db9;
  overflow: auto;
  box-sizing: border-box;
  margin-bottom: 8px;
}

.winxp-taskmgr-table {
  width: 100%;
  border-collapse: collapse;
  font-family: Tahoma, sans-serif;
  font-size: 11px;
  table-layout: fixed;
  color: #000000;
}

.winxp-taskmgr-table thead,
.winxp-taskmgr-thead {
  position: sticky;
  top: 0;
  z-index: 2;
}

.winxp-taskmgr-table th,
.winxp-taskmgr-th {
  height: 20px;
  padding: 2px 6px;
  font-weight: normal;
  font-size: 11px;
  text-align: left;
  color: #000000;
  background: linear-gradient(180deg, #ffffff 0%, #ece9d8 15%, #dcd7c8 85%, #cac5b5 100%);
  border-right: 1px solid #aca899;
  border-bottom: 1px solid #aca899;
  border-top: 1px solid #ffffff;
  border-left: 1px solid #ffffff;
  cursor: pointer;
  user-select: none;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  box-sizing: border-box;
}

.winxp-taskmgr-table th:hover,
.winxp-taskmgr-th:hover {
  background: linear-gradient(180deg, #ffffff 0%, #f4efe1 15%, #e8e3d4 85%, #d6d1c1 100%);
}

.winxp-taskmgr-table th:active,
.winxp-taskmgr-th:active {
  background: linear-gradient(180deg, #dcd7c8 0%, #ece9d8 100%);
  border-top: 1px solid #aca899;
  border-left: 1px solid #aca899;
  border-right: 1px solid #ffffff;
  border-bottom: 1px solid #ffffff;
}

.winxp-taskmgr-table tbody tr,
.winxp-taskmgr-tr {
  height: 18px;
  cursor: default;
  background: #ffffff;
}

.winxp-taskmgr-table tbody tr:hover,
.winxp-taskmgr-tr:hover {
  background: #eef3fb;
}

.winxp-taskmgr-table td,
.winxp-taskmgr-td {
  padding: 1px 6px;
  font-size: 11px;
  color: #000000;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  vertical-align: middle;
  border-right: 1px solid #efefef;
  box-sizing: border-box;
}

.winxp-taskmgr-table tr.selected,
.winxp-taskmgr-table tr[aria-selected="true"],
.winxp-taskmgr-tr.selected {
  background: #316ac5 !important;
  color: #ffffff !important;
  outline: 1px dotted #ffffff;
  outline-offset: -1px;
}

.winxp-taskmgr-table tr.selected td,
.winxp-taskmgr-table tr[aria-selected="true"] td,
.winxp-taskmgr-tr.selected td {
  color: #ffffff !important;
}

.winxp-taskmgr-status-running {
  color: #006600;
  font-weight: normal;
}

.winxp-taskmgr-status-not-responding {
  color: #cc0000;
  font-weight: bold;
}

/* 38.6 Buttons Bar */
.winxp-taskmgr-actions,
.winxp-taskmgr-btn-row {
  display: flex;
  flex-direction: row;
  justify-content: flex-end;
  align-items: center;
  gap: 6px;
  flex-shrink: 0;
  padding-top: 2px;
  box-sizing: border-box;
}

.winxp-taskmgr-btn,
button.winxp-taskmgr-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 75px;
  height: 23px;
  padding: 0 12px;
  font-family: Tahoma, sans-serif;
  font-size: 11px;
  color: #000000;
  background: linear-gradient(180deg, #ffffff 0%, #f2efe4 20%, #ebe7d8 50%, #dcd7c8 100%);
  border: 1px solid #003c74;
  border-radius: 3px;
  box-shadow:
    inset 0 1px 0 #ffffff,
    inset 1px 0 0 rgba(255, 255, 255, 0.7),
    inset -1px 0 0 rgba(255, 255, 255, 0.7),
    inset 0 -1px 0 rgba(0, 0, 0, 0.1),
    0 1px 1px rgba(0, 0, 0, 0.1);
  cursor: pointer;
  box-sizing: border-box;
  text-decoration: none;
  user-select: none;
}

.winxp-taskmgr-btn:hover,
button.winxp-taskmgr-btn:hover {
  background: linear-gradient(180deg, #fffedc 0%, #fee9a6 45%, #ffd460 50%, #fedd7c 100%);
  border-color: #f69d27;
  box-shadow: 0 0 3px rgba(255, 180, 0, 0.8), inset 0 1px 0 #ffffff;
}

.winxp-taskmgr-btn:active,
button.winxp-taskmgr-btn:active {
  background: linear-gradient(180deg, #d8d3c5 0%, #ece9d8 50%, #f4efe4 100%);
  border-color: #003c74;
  box-shadow: inset 1px 1px 2px rgba(0, 0, 0, 0.3);
}

.winxp-taskmgr-btn:disabled,
button.winxp-taskmgr-btn:disabled,
.winxp-taskmgr-btn[aria-disabled="true"] {
  opacity: 0.6;
  cursor: default;
  pointer-events: none;
  color: #888888;
  text-shadow: 1px 1px 0 #ffffff;
  border-color: #aca899;
}

.winxp-taskmgr-btn:focus-visible,
button.winxp-taskmgr-btn:focus-visible {
  outline: 1px dotted #000000;
  outline-offset: -3px;
}

/* 38.7 Performance Panel */
.winxp-taskmgr-perf-panel {
  display: flex;
  flex-direction: column;
  flex: 1 1 auto;
  min-height: 0;
  gap: 8px;
}

.winxp-taskmgr-perf-top {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 8px;
  flex: 1 1 auto;
  min-height: 0;
}

.winxp-taskmgr-perf-box {
  border: 1px solid #d4d0c8;
  border-radius: 3px;
  padding: 6px 8px;
  background: #ece9d8;
  display: flex;
  flex-direction: column;
  gap: 6px;
  min-height: 0;
  box-sizing: border-box;
}

.winxp-taskmgr-perf-title {
  font-size: 11px;
  font-weight: normal;
  color: #000000;
  margin-bottom: 2px;
}

.winxp-taskmgr-perf-row {
  display: flex;
  flex-direction: row;
  gap: 8px;
  flex: 1 1 auto;
  min-height: 0;
}

/* Green Phosphor LED Bar Gauge */
.winxp-taskmgr-gauge-wrap {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 4px;
  flex-shrink: 0;
}

.winxp-taskmgr-gauge {
  width: 58px;
  flex: 1 1 auto;
  min-height: 90px;
  background: #000000;
  border: 2px inset #003300;
  position: relative;
  display: flex;
  flex-direction: column-reverse;
  padding: 2px;
  box-sizing: border-box;
  overflow: hidden;
}

.winxp-taskmgr-gauge-fill {
  width: 100%;
  height: var(--gauge-percent, 18%);
  max-height: 100%;
  min-height: 0;
  background: repeating-linear-gradient(
    180deg,
    #00ff00 0px,
    #00ff00 3px,
    #000000 3px,
    #000000 5px
  );
  box-shadow: 0 0 6px rgba(0, 255, 0, 0.7);
  transition: height 0.3s ease;
}

.winxp-taskmgr-gauge-val {
  color: #00ff00;
  font-family: 'Lucida Console', monospace;
  font-size: 11px;
  font-weight: bold;
  text-align: center;
  background: #000000;
  padding: 1px 4px;
  border: 1px solid #003300;
  min-width: 44px;
  box-sizing: border-box;
}

/* Graph Canvas with Green Grid */
.winxp-taskmgr-graph {
  flex: 1 1 auto;
  min-height: 90px;
  background-color: #000000;
  background-image:
    linear-gradient(0deg, rgba(0, 68, 0, 0.6) 1px, transparent 1px),
    linear-gradient(90deg, rgba(0, 68, 0, 0.6) 1px, transparent 1px);
  background-size: 12px 12px;
  border: 2px inset #003300;
  position: relative;
  overflow: hidden;
  box-sizing: border-box;
}

.winxp-taskmgr-graph canvas,
canvas.winxp-taskmgr-canvas {
  width: 100%;
  height: 100%;
  display: block;
}

/* 38.8 Stats Summary 4-Box Grid */
.winxp-taskmgr-stats-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 6px;
  flex-shrink: 0;
  box-sizing: border-box;
}

.winxp-taskmgr-stat-box {
  border: 1px solid #d4d0c8;
  border-radius: 3px;
  padding: 4px 6px;
  background: #ece9d8;
  box-sizing: border-box;
}

.winxp-taskmgr-stat-legend {
  font-size: 10px;
  font-weight: normal;
  color: #000000;
  margin-bottom: 4px;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.winxp-taskmgr-stat-item {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  font-size: 10px;
  font-family: Tahoma, sans-serif;
  color: #000000;
  line-height: 1.35;
  gap: 4px;
}

.winxp-taskmgr-stat-label {
  color: #000000;
  white-space: nowrap;
}

.winxp-taskmgr-stat-val {
  color: #000000;
  font-variant-numeric: tabular-nums;
  text-align: right;
  white-space: nowrap;
}

/* 38.9 Inset 3-Panel Status Bar */
.winxp-taskmgr-statusbar {
  display: flex;
  height: 22px;
  background: #ece9d8;
  border-top: 1px solid #aca899;
  padding: 1px 2px;
  gap: 2px;
  flex-shrink: 0;
  box-sizing: border-box;
}

.winxp-taskmgr-status-pane,
.winxp-taskmgr-status-seg {
  flex: 1;
  display: flex;
  align-items: center;
  padding: 0 6px;
  border: 1px inset #ffffff;
  box-shadow: inset 1px 1px 0 #aca899, inset -1px -1px 0 #ffffff;
  font-family: Tahoma, sans-serif;
  font-size: 11px;
  color: #000000;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}


/* ==========================================================================
   39. WINDOWS XP VOLUME CONTROL MIXER (sndvol32.exe)
       (#winxp-win-volume, .winxp-vol-mixer, .winxp-volume-mixer-*)
   ========================================================================== */

/* 39.1 Window Frame & Geometry */
#winxp-win-volume,
.winxp-vol-mixer-window {
  min-width: 480px;
  min-height: 270px;
}

#winxp-win-volume[hidden],
.winxp-vol-mixer-window[hidden],
#winxp-win-volume.winxp-minimized,
.winxp-vol-mixer-window.winxp-minimized {
  display: none !important;
}

#winxp-win-volume.inactive,
#winxp-win-volume.winxp-window-inactive,
.winxp-vol-mixer-window.inactive,
.winxp-vol-mixer-window.winxp-window-inactive {
  border-color: #7a96df;
}

#winxp-win-volume .winxp-aux-content,
.winxp-vol-mixer,
.winxp-mixer {
  display: flex;
  flex-direction: column;
  flex: 1 1 auto;
  height: 100%;
  width: 100%;
  min-height: 0;
  overflow: hidden;
  background: #ece9d8;
  box-sizing: border-box;
  font-family: Tahoma, sans-serif;
  font-size: 11px;
  color: #000000;
  user-select: none;
}

/* 39.2 Menubar */
.winxp-vol-menubar,
.winxp-mixer-menubar {
  display: flex;
  align-items: center;
  height: 22px;
  background: #ece9d8;
  border-bottom: 1px solid #d4d0c8;
  padding: 0 4px;
  gap: 2px;
  box-sizing: border-box;
  flex-shrink: 0;
}

.winxp-vol-menuitem,
.winxp-vol-menubar button,
.winxp-mixer-menubar button {
  padding: 2px 6px;
  font-family: Tahoma, sans-serif;
  font-size: 11px;
  color: #000000;
  background: transparent;
  border: none;
  cursor: pointer;
  border-radius: 2px;
  line-height: 1.2;
}

.winxp-vol-menuitem:hover,
.winxp-vol-menubar button:hover {
  background: #316ac5;
  color: #ffffff;
}

.winxp-vol-menuitem:focus-visible,
.winxp-vol-menubar button:focus-visible {
  outline: 1px dotted #000000;
  outline-offset: -1px;
}

/* 39.3 Horizontal Flex Layout of Channel Strips */
.winxp-vol-strips,
.winxp-mixer-strips {
  display: flex;
  flex-direction: row;
  flex: 1 1 auto;
  min-height: 0;
  overflow-x: auto;
  overflow-y: hidden;
  background: #ece9d8;
  padding: 8px 4px 6px 4px;
  box-sizing: border-box;
}

.winxp-vol-strip,
.winxp-mixer-strip {
  display: flex;
  flex-direction: column;
  align-items: center;
  width: 82px;
  min-width: 78px;
  flex-shrink: 0;
  padding: 2px 4px 6px 4px;
  box-sizing: border-box;
  border-right: 1px solid #ffffff;
  box-shadow: 1px 0 0 #aca899;
}

.winxp-vol-strip:last-child,
.winxp-mixer-strip:last-child {
  border-right: none;
  box-shadow: none;
}

.winxp-vol-strip-title,
.winxp-vol-strip-header,
.winxp-mixer-strip-name {
  font-size: 11px;
  font-weight: bold;
  text-align: center;
  margin-bottom: 6px;
  color: #000000;
  font-family: Tahoma, sans-serif;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  width: 100%;
}

/* 39.4 Balance Slider */
.winxp-vol-balance-group {
  display: flex;
  flex-direction: column;
  align-items: center;
  width: 100%;
  margin-bottom: 6px;
}

.winxp-vol-balance-label {
  font-size: 10px;
  color: #000000;
  margin-bottom: 2px;
  text-align: center;
}

.winxp-vol-balance-track-wrap {
  width: 60px;
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
}

.winxp-vol-balance-track-wrap input[type="range"] {
  width: 60px;
  height: 16px;
  cursor: pointer;
  accent-color: #316ac5;
  margin: 0;
}

.winxp-vol-balance-track-wrap input[type="range"]:focus-visible,
.winxp-mixer-bal-slider:focus-visible {
  outline: 1px dotted #000000;
  outline-offset: 1px;
}

.winxp-vol-balance-ticks {
  display: flex;
  justify-content: space-between;
  width: 56px;
  font-size: 9px;
  font-weight: bold;
  color: #000000;
  margin-top: 1px;
}

/* 39.5 Vertical Volume Slider with Groove & Tick Marks */
.winxp-vol-slider-group {
  display: flex;
  flex-direction: column;
  align-items: center;
  flex: 1 1 auto;
  min-height: 0;
  width: 100%;
  margin-bottom: 6px;
}

.winxp-vol-slider-label {
  font-size: 10px;
  color: #000000;
  margin-bottom: 4px;
  text-align: center;
}

.winxp-vol-track-wrap {
  position: relative;
  height: 106px;
  width: 32px;
  display: flex;
  justify-content: center;
  align-items: center;
  background-image: repeating-linear-gradient(
    180deg,
    #aca899 0px,
    #aca899 1px,
    transparent 1px,
    transparent 12px
  );
  background-position: right 2px top 6px;
  background-size: 5px 98px;
  background-repeat: no-repeat;
}

.winxp-vol-track-wrap input[type="range"],
input[type="range"].winxp-vol-slider-vertical {
  writing-mode: vertical-lr;
  direction: rtl;
  width: 24px;
  height: 98px;
  accent-color: #316ac5;
  cursor: pointer;
  margin: 0;
}

.winxp-vol-track-wrap input[type="range"]:focus-visible,
input[type="range"].winxp-vol-slider-vertical:focus-visible,
.winxp-mixer-vslider:focus-visible {
  outline: 1px dotted #000000;
  outline-offset: 2px;
}

/* 39.6 Mute Checkbox */
.winxp-vol-mute-group,
.winxp-mixer-mute {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 4px;
  margin-top: auto;
  padding-top: 6px;
  width: 100%;
  cursor: pointer;
  font-size: 11px;
  color: #000000;
}

.winxp-vol-mute-group input[type="checkbox"],
.winxp-mixer-mute input[type="checkbox"] {
  cursor: pointer;
  margin: 0;
}

.winxp-vol-mute-group input[type="checkbox"]:focus-visible,
.winxp-mixer-mute input[type="checkbox"]:focus-visible {
  outline: 1px dotted #000000;
  outline-offset: 1px;
}

.winxp-vol-mute-group label,
.winxp-vol-mute-group span {
  font-size: 11px;
  font-family: Tahoma, sans-serif;
  color: #000000;
  cursor: pointer;
  user-select: none;
}


/* ==========================================================================
   40. WINDOWS XP TASKBAR CONTEXT MENU (.winxp-taskbar-context-menu)
   ========================================================================== */

.winxp-taskbar-context-menu,
#winxp-taskbar-context-menu {
  position: fixed;
  z-index: 99999;
  background: linear-gradient(90deg, #f1efe2 0px, #f1efe2 24px, #ffffff 24px, #ffffff 100%);
  border: 1px solid #716f64;
  outline: 1px solid #aca899;
  box-shadow: 2px 2px 4px rgba(0, 0, 0, 0.3), 3px 3px 8px rgba(0, 0, 0, 0.15);
  padding: 2px;
  min-width: 180px;
  font-family: Tahoma, sans-serif;
  font-size: 11px;
  color: #000000;
  user-select: none;
  display: flex;
  flex-direction: column;
  box-sizing: border-box;
}

.winxp-taskbar-context-menu:not(.active):not([data-visible="true"]) {
  display: none;
}

.winxp-taskbar-context-menu.active,
.winxp-taskbar-context-menu[data-visible="true"] {
  display: flex;
}

.winxp-taskbar-ctx-item,
.winxp-taskbar-context-item,
.winxp-taskbar-context-menu li,
.winxp-taskbar-context-menu button {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 4px 20px 4px 28px;
  position: relative;
  border-radius: 1px;
  color: #000000;
  text-decoration: none;
  cursor: pointer;
  font-family: Tahoma, sans-serif;
  font-size: 11px;
  line-height: 1.4;
  border: 1px solid transparent;
  background: transparent;
  width: 100%;
  box-sizing: border-box;
  text-align: left;
}

.winxp-taskbar-ctx-item:hover,
.winxp-taskbar-ctx-item:focus-visible,
.winxp-taskbar-context-item:hover,
.winxp-taskbar-context-item:focus-visible,
.winxp-tb-ctx-item:hover,
.winxp-tb-ctx-item:focus-visible,
.winxp-taskbar-context-menu li:hover,
.winxp-taskbar-context-menu button:hover {
  background: #316ac5 !important;
  color: #ffffff !important;
  border-color: #316ac5 !important;
  outline: 1px dotted #ffffff !important;
  outline-offset: -2px !important;
}

.winxp-taskbar-ctx-item.checked::before,
.winxp-taskbar-context-item.checked::before,
.winxp-taskbar-context-menu li.checked::before {
  content: "\2713";
  position: absolute;
  left: 6px;
  top: 50%;
  transform: translateY(-50%);
  font-size: 11px;
  font-weight: bold;
  color: #000000;
}

.winxp-taskbar-ctx-item.checked:hover::before,
.winxp-taskbar-context-item.checked:hover::before,
.winxp-taskbar-context-menu li.checked:hover::before {
  color: #ffffff;
}

.winxp-taskbar-ctx-sep,
.winxp-taskbar-context-separator,
.winxp-taskbar-context-menu hr {
  height: 0;
  margin: 3px 2px;
  border-top: 1px solid #aca899;
  border-bottom: 1px solid #ffffff;
  border-left: none;
  border-right: none;
  background: transparent;
  padding: 0;
}

.winxp-taskbar-ctx-arrow {
  margin-left: auto;
  width: 0;
  height: 0;
  border-top: 4px solid transparent;
  border-bottom: 4px solid transparent;
  border-left: 4px solid #000000;
  margin-right: -10px;
}

.winxp-taskbar-ctx-item:hover .winxp-taskbar-ctx-arrow,
.winxp-taskbar-context-item:hover .winxp-taskbar-ctx-arrow {
  border-left-color: #ffffff;
}

.winxp-taskbar-ctx-item.disabled,
.winxp-taskbar-ctx-item[aria-disabled="true"],
.winxp-taskbar-context-item.disabled,
.winxp-taskbar-context-item[aria-disabled="true"],
.winxp-tb-ctx-item.disabled,
.winxp-tb-ctx-item[aria-disabled="true"] {
  color: #5e5e5e !important;
  text-shadow: 1px 1px 0 #ffffff;
  cursor: default !important;
  pointer-events: none;
}


/* ==========================================================================
   41. ROVER THE SEARCH COMPANION (.winxp-rover-container, .winxp-rover-panel)
   ========================================================================== */

.winxp-rover-container,
.winxp-rover-panel {
  width: 220px;
  min-width: 200px;
  background: linear-gradient(180deg, #e3ebf6 0%, #c9daf1 100%);
  border-right: 1px solid #7f9db9;
  display: flex;
  flex-direction: column;
  gap: 10px;
  padding: 10px 8px;
  box-sizing: border-box;
  overflow-y: auto;
  font-family: Tahoma, sans-serif;
  font-size: 11px;
  color: #000000;
}

.winxp-rover-header {
  background: linear-gradient(90deg, #215dc6 0%, #296ecf 100%);
  color: #ffffff;
  font-weight: bold;
  font-size: 11px;
  padding: 6px 10px;
  border-radius: 4px 4px 0 0;
  display: flex;
  align-items: center;
  justify-content: space-between;
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.2);
}

.winxp-rover-avatar,
.winxp-rover-dog {
  width: 84px;
  height: 84px;
  margin: 4px auto;
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
}

.winxp-rover-avatar svg,
.winxp-rover-dog svg {
  width: 80px;
  height: 80px;
  display: block;
}

@keyframes roverWag {
  0%, 100% {
    transform: rotate(0deg);
  }
  25% {
    transform: rotate(-16deg);
  }
  75% {
    transform: rotate(16deg);
  }
}

.winxp-rover-tail,
.winxp-rover-avatar .tail,
.winxp-rover-dog svg .rover-tail {
  transform-origin: 30% 90%;
  animation: roverWag 0.55s ease-in-out infinite;
}

@keyframes roverEar {
  0%, 100% {
    transform: translateY(0);
  }
  50% {
    transform: translateY(-1.5px);
  }
}

.winxp-rover-ear,
.winxp-rover-avatar .ear {
  animation: roverEar 1.2s ease-in-out infinite;
}

/* Speech Bubble with Arrow pointing to Rover */
.winxp-rover-bubble,
.winxp-rover-speech {
  background: #ffffff;
  border: 1px solid #7f9db9;
  border-radius: 8px;
  padding: 10px 12px;
  position: relative;
  box-shadow: 2px 2px 6px rgba(0, 0, 0, 0.15);
  font-family: Tahoma, sans-serif;
  font-size: 11px;
  line-height: 1.45;
  color: #000000;
  box-sizing: border-box;
}

.winxp-rover-bubble::before {
  content: "";
  position: absolute;
  bottom: -9px;
  left: 36px;
  width: 0;
  height: 0;
  border-left: 8px solid transparent;
  border-right: 8px solid transparent;
  border-top: 9px solid #7f9db9;
}

.winxp-rover-bubble::after {
  content: "";
  position: absolute;
  bottom: -7px;
  left: 37px;
  width: 0;
  height: 0;
  border-left: 7px solid transparent;
  border-right: 7px solid transparent;
  border-top: 8px solid #ffffff;
}

.winxp-rover-bubble-title {
  font-weight: bold;
  font-size: 11px;
  color: #000000;
  margin-bottom: 4px;
}

/* Interactive Choices */
.winxp-rover-choices {
  display: flex;
  flex-direction: column;
  gap: 4px;
  margin-top: 6px;
}

.winxp-rover-choice,
.winxp-rover-link,
.winxp-rover-choices a,
.winxp-rover-opt-btn {
  display: flex;
  align-items: flex-start;
  gap: 6px;
  color: #0000cc;
  font-size: 11px;
  text-decoration: none;
  cursor: pointer;
  padding: 3px 4px;
  border-radius: 2px;
  transition: color 0.1s ease;
  line-height: 1.35;
}

.winxp-rover-choice:hover,
.winxp-rover-link:hover,
.winxp-rover-choices a:hover,
.winxp-rover-opt-btn:hover {
  text-decoration: underline;
  color: #0000cc;
}

.winxp-rover-choice:focus-visible,
.winxp-rover-link:focus-visible,
.winxp-rover-choices a:focus-visible,
.winxp-rover-opt-btn:focus-visible {
  outline: 1px dotted #0000cc;
  outline-offset: 1px;
}

.winxp-rover-card:focus-visible {
  outline: 1px dotted #316ac5;
  outline-offset: 1px;
}

.winxp-rover-input:focus-visible {
  outline: 2px solid #316ac5;
  outline-offset: -1px;
}

.winxp-rover-choice::before,
.winxp-rover-link::before,
.winxp-rover-choices a::before {
  content: "\1F43E";
  font-size: 11px;
  line-height: 1.2;
  flex-shrink: 0;
  filter: drop-shadow(0 1px 1px rgba(0, 0, 0, 0.15));
}

.winxp-rover-choice.arrow::before,
.winxp-rover-link.arrow::before {
  content: "\25B6";
  font-size: 9px;
  color: #0000cc;
}


/* ==========================================================================
   42. RECYCLE BIN WINDOW (.winxp-recycle-window, #winxp-win-recycle)
   ========================================================================== */

/* 42.1 Window Frame & Geometry */
#winxp-win-recycle,
.winxp-recycle-window {
  min-width: 540px;
  min-height: 380px;
}

#winxp-win-recycle[hidden],
.winxp-recycle-window[hidden],
#winxp-win-recycle.winxp-minimized,
.winxp-recycle-window.winxp-minimized {
  display: none !important;
}

#winxp-win-recycle.inactive,
#winxp-win-recycle.winxp-window-inactive,
.winxp-recycle-window.inactive,
.winxp-recycle-window.winxp-window-inactive {
  border-color: #7a96df;
}

#winxp-win-recycle .winxp-aux-content,
.winxp-recycle-window .winxp-aux-content,
.winxp-recycle-container {
  display: flex;
  flex-direction: column;
  flex: 1 1 auto;
  height: 100%;
  width: 100%;
  min-height: 0;
  overflow: hidden;
  background: #ece9d8;
  border: none;
  border-radius: 0;
  box-shadow: none;
  box-sizing: border-box;
  font-family: Tahoma, sans-serif;
  font-size: 11px;
  color: #000000;
}

/* 42.2 Explorer Menubar */
.winxp-recycle-menubar {
  display: flex;
  align-items: center;
  height: 22px;
  background: #ece9d8;
  border-bottom: 1px solid #d4d0c8;
  padding: 0 4px;
  gap: 2px;
  box-sizing: border-box;
  flex-shrink: 0;
}

.winxp-recycle-menuitem,
.winxp-recycle-menubar button {
  padding: 2px 6px;
  font-family: Tahoma, sans-serif;
  font-size: 11px;
  color: #000000;
  background: transparent;
  border: none;
  cursor: pointer;
  border-radius: 2px;
  line-height: 1.2;
}

.winxp-recycle-menuitem:hover,
.winxp-recycle-menubar button:hover {
  background: #316ac5;
  color: #ffffff;
}

.winxp-recycle-menuitem:focus-visible,
.winxp-recycle-menubar button:focus-visible {
  outline: 1px dotted #000000;
  outline-offset: -1px;
}

/* 42.3 Explorer Toolbar */
.winxp-recycle-toolbar {
  height: 36px;
  background: linear-gradient(180deg, #ffffff 0%, #ece9d8 10%, #ebe7d8 90%, #d8d3c5 100%);
  border-bottom: 1px solid #aca899;
  display: flex;
  align-items: center;
  padding: 0 4px;
  gap: 2px;
  box-sizing: border-box;
  flex-shrink: 0;
}

.winxp-recycle-toolbtn {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  padding: 2px 6px;
  height: 28px;
  border: 1px solid transparent;
  border-radius: 3px;
  background: transparent;
  cursor: pointer;
  font-family: Tahoma, sans-serif;
  font-size: 11px;
  color: #000000;
  box-sizing: border-box;
  user-select: none;
}

.winxp-recycle-toolbtn:hover {
  border-color: #aca899;
  background: rgba(255, 255, 255, 0.6);
  box-shadow: inset 1px 1px 0 rgba(255, 255, 255, 0.8);
}

.winxp-recycle-toolbtn:active {
  border-color: #716f64;
  background: #e0ded4;
  box-shadow: inset 1px 1px 2px rgba(0, 0, 0, 0.2);
}

.winxp-recycle-toolbtn:focus-visible {
  outline: 1px dotted #000000;
  outline-offset: -2px;
}

.winxp-recycle-toolbtn svg {
  width: 18px;
  height: 18px;
}

.winxp-recycle-toolsep {
  width: 1px;
  height: 22px;
  background: #aca899;
  border-right: 1px solid #ffffff;
  margin: 0 2px;
  flex-shrink: 0;
}

/* 42.4 Address Bar */
.winxp-recycle-address-row {
  height: 26px;
  background: #ece9d8;
  border-bottom: 1px solid #d4d0c8;
  display: flex;
  align-items: center;
  padding: 2px 8px;
  gap: 6px;
  box-sizing: border-box;
  flex-shrink: 0;
}

.winxp-recycle-address-label {
  font-size: 11px;
  color: #444444;
  flex-shrink: 0;
}

.winxp-recycle-address-box {
  flex: 1 1 auto;
  min-width: 0;
  height: 20px;
  background: #ffffff;
  border: 1px solid #7f9db9;
  padding: 1px 6px;
  display: flex;
  align-items: center;
  gap: 4px;
  box-sizing: border-box;
  font-family: Tahoma, sans-serif;
  font-size: 11px;
  color: #000000;
}

.winxp-recycle-address-box svg {
  width: 14px;
  height: 14px;
  flex-shrink: 0;
}

.winxp-recycle-go-btn {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  height: 20px;
  padding: 0 6px;
  background: linear-gradient(180deg, #f2efe4 0%, #ebe7d8 50%, #dcd7c8 100%);
  border: 1px solid #003c74;
  border-radius: 3px;
  font-family: Tahoma, sans-serif;
  font-size: 11px;
  color: #000000;
  cursor: pointer;
  flex-shrink: 0;
}

.winxp-recycle-go-btn:hover {
  background: linear-gradient(180deg, #fffedc 0%, #fee9a6 45%, #ffd460 50%, #fedd7c 100%);
  border-color: #f69d27;
}

/* 42.5 Client Area Split: Task Pane & Files List */
.winxp-recycle-body,
.winxp-recycle-client {
  display: flex;
  flex-direction: row;
  flex: 1 1 auto;
  min-height: 0;
  overflow: hidden;
  box-sizing: border-box;
}

/* Left Common Tasks Sidebar */
.winxp-recycle-sidebar,
.winxp-recycle-taskpane {
  flex: 0 0 200px;
  width: 200px;
  background: linear-gradient(180deg, #7499ff 0%, #6375d6 50%, #4a75e6 100%);
  overflow-y: auto;
  overflow-x: hidden;
  padding: 10px 8px;
  box-sizing: border-box;
  display: flex;
  flex-direction: column;
  gap: 10px;
}

.winxp-recycle-card,
.winxp-recycle-panel {
  border-radius: 4px;
  overflow: hidden;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.25);
  background: #edf4fc;
}

.winxp-recycle-card-header,
.winxp-recycle-panel-hdr {
  background: linear-gradient(90deg, #215dc6 0%, #296ecf 100%);
  color: #ffffff;
  font-family: Tahoma, sans-serif;
  font-size: 11px;
  font-weight: bold;
  padding: 5px 8px;
  display: flex;
  justify-content: space-between;
  align-items: center;
  cursor: pointer;
  user-select: none;
}

.winxp-recycle-card-header:hover,
.winxp-recycle-panel-hdr:hover {
  filter: brightness(1.1);
}

.winxp-recycle-card-body,
.winxp-recycle-panel-body {
  background: #edf4fc;
  padding: 6px 8px;
  font-family: Tahoma, sans-serif;
  font-size: 11px;
  display: flex;
  flex-direction: column;
  gap: 4px;
}

.winxp-recycle-task-item,
.winxp-recycle-empty-btn,
.winxp-recycle-restore-btn,
.winxp-recycle-link {
  display: flex;
  align-items: center;
  gap: 6px;
  color: #0c3298;
  text-decoration: none;
  cursor: pointer;
  padding: 2px 4px;
  border-radius: 2px;
  background: transparent;
  border: none;
  text-align: left;
  font-family: Tahoma, sans-serif;
  font-size: 11px;
}

.winxp-recycle-task-item:hover,
.winxp-recycle-empty-btn:hover,
.winxp-recycle-restore-btn:hover,
.winxp-recycle-link:hover {
  text-decoration: underline;
  color: #215dc6;
}

.winxp-recycle-task-item:focus-visible,
.winxp-recycle-empty-btn:focus-visible,
.winxp-recycle-restore-btn:focus-visible,
.winxp-recycle-link:focus-visible {
  outline: 1px dotted #0c3298;
  outline-offset: 1px;
}

.winxp-recycle-link:disabled {
  color: #595959 !important;
  cursor: default;
  text-decoration: none;
}

.winxp-recycle-task-item svg,
.winxp-recycle-empty-btn svg,
.winxp-recycle-restore-btn svg {
  width: 16px;
  height: 16px;
  flex-shrink: 0;
}

/* Right Client Area: Files List Table */
.winxp-recycle-files,
.winxp-recycle-view,
.winxp-recycle-main {
  flex: 1 1 auto;
  min-width: 0;
  background: #ffffff;
  border: 2px inset #7f9db9;
  overflow: auto;
  box-sizing: border-box;
}

.winxp-recycle-empty-msg {
  padding: 40px;
  text-align: center;
  color: #595959;
  font-style: italic;
}

.winxp-recycle-table {
  width: 100%;
  border-collapse: collapse;
  font-family: Tahoma, sans-serif;
  font-size: 11px;
  table-layout: fixed;
  color: #000000;
}

.winxp-recycle-table thead {
  position: sticky;
  top: 0;
  z-index: 2;
}

.winxp-recycle-table th {
  height: 20px;
  padding: 2px 6px;
  font-weight: normal;
  font-size: 11px;
  text-align: left;
  color: #000000;
  background: linear-gradient(180deg, #ffffff 0%, #ece9d8 15%, #dcd7c8 85%, #cac5b5 100%);
  border-right: 1px solid #aca899;
  border-bottom: 1px solid #aca899;
  border-top: 1px solid #ffffff;
  border-left: 1px solid #ffffff;
  cursor: pointer;
  user-select: none;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  box-sizing: border-box;
}

.winxp-recycle-table th:hover {
  background: linear-gradient(180deg, #ffffff 0%, #f4efe1 15%, #e8e3d4 85%, #d6d1c1 100%);
}

.winxp-recycle-table tbody tr {
  height: 18px;
  cursor: default;
  background: #ffffff;
}

.winxp-recycle-table tbody tr:hover {
  background: #eef3fb;
}

.winxp-recycle-table td {
  padding: 1px 6px;
  font-size: 11px;
  color: #000000;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  vertical-align: middle;
  border-right: 1px solid #efefef;
  box-sizing: border-box;
}

.winxp-recycle-table tr.selected,
.winxp-recycle-table tr[aria-selected="true"] {
  background: #316ac5 !important;
  color: #ffffff !important;
  outline: 1px dotted #ffffff;
  outline-offset: -1px;
}

.winxp-recycle-table tr.selected td,
.winxp-recycle-table tr[aria-selected="true"] td {
  color: #ffffff !important;
}

.winxp-recycle-file-icon {
  width: 16px;
  height: 16px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  margin-right: 4px;
  vertical-align: middle;
}

.winxp-recycle-file-icon svg {
  width: 14px;
  height: 14px;
}

/* 42.6 Status Bar */
.winxp-recycle-statusbar {
  display: flex;
  height: 22px;
  background: #ece9d8;
  border-top: 1px solid #aca899;
  padding: 1px 2px;
  gap: 2px;
  flex-shrink: 0;
  box-sizing: border-box;
}

.winxp-recycle-status-pane {
  flex: 1;
  display: flex;
  align-items: center;
  padding: 0 6px;
  border: 1px inset #ffffff;
  box-shadow: inset 1px 1px 0 #aca899, inset -1px -1px 0 #ffffff;
  font-family: Tahoma, sans-serif;
  font-size: 11px;
  color: #000000;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}


/* ==========================================================================
   43. SUBTHEME VARIATIONS (Royale, Royale Noir, Classic)
       for Task Manager, Volume Control, Context Menu & Recycle Bin
   ========================================================================== */

/* Royale Blue Variations */
body[data-win-subtheme="royale"] #winxp-win-taskmgr,
body[data-win-subtheme="royale"] #winxp-win-volume,
body[data-win-subtheme="royale"] #winxp-win-rover,
body[data-win-subtheme="royale"] #winxp-win-recycle,
body[data-xp-subtheme="royale"] #winxp-win-taskmgr,
body[data-xp-subtheme="royale"] #winxp-win-volume,
body[data-xp-subtheme="royale"] #winxp-win-rover,
body[data-xp-subtheme="royale"] #winxp-win-recycle,
.theme-royale-blue #winxp-win-taskmgr,
.theme-royale-blue #winxp-win-volume,
.theme-royale-blue #winxp-win-rover,
.theme-royale-blue #winxp-win-recycle {
  border-color: #10388a;
}

body[data-win-subtheme="royale"] .winxp-taskmgr-tab.active,
.theme-royale-blue .winxp-taskmgr-tab.active {
  box-shadow:
    inset 0 2px 0 #2b6fe5,
    inset 0 3px 0 #ffffff,
    inset 1px 0 0 #ffffff,
    inset -1px 0 0 #ffffff;
}

/* Royale Noir Variations */
body[data-win-subtheme="royale-noir"] #winxp-win-taskmgr,
body[data-win-subtheme="royale-noir"] #winxp-win-volume,
body[data-win-subtheme="royale-noir"] #winxp-win-rover,
body[data-win-subtheme="royale-noir"] #winxp-win-recycle,
body[data-win-subtheme="noir"] #winxp-win-taskmgr,
body[data-win-subtheme="noir"] #winxp-win-volume,
body[data-win-subtheme="noir"] #winxp-win-rover,
body[data-win-subtheme="noir"] #winxp-win-recycle,
body[data-xp-subtheme="noir"] #winxp-win-taskmgr,
body[data-xp-subtheme="noir"] #winxp-win-volume,
body[data-xp-subtheme="noir"] #winxp-win-rover,
body[data-xp-subtheme="noir"] #winxp-win-recycle,
.theme-royale-noir #winxp-win-taskmgr,
.theme-royale-noir #winxp-win-volume,
.theme-royale-noir #winxp-win-rover,
.theme-royale-noir #winxp-win-recycle {
  border-color: #2b2b2b;
}

body[data-win-subtheme="royale-noir"] .winxp-taskmgr-tab.active,
.theme-royale-noir .winxp-taskmgr-tab.active {
  box-shadow:
    inset 0 2px 0 #e68b2c,
    inset 0 3px 0 #ffffff,
    inset 1px 0 0 #ffffff,
    inset -1px 0 0 #ffffff;
}

/* Classic Windows 9x / 2000 Variations */
body[data-win-subtheme="classic"] #winxp-win-taskmgr,
body[data-win-subtheme="classic"] #winxp-win-volume,
body[data-win-subtheme="classic"] #winxp-win-rover,
body[data-win-subtheme="classic"] #winxp-win-recycle,
body[data-xp-subtheme="classic"] #winxp-win-taskmgr,
body[data-xp-subtheme="classic"] #winxp-win-volume,
body[data-xp-subtheme="classic"] #winxp-win-rover,
body[data-xp-subtheme="classic"] #winxp-win-recycle,
.theme-win-classic #winxp-win-taskmgr,
.theme-win-classic #winxp-win-volume,
.theme-win-classic #winxp-win-rover,
.theme-win-classic #winxp-win-recycle {
  background: #c0c0c0;
  border-top: 2px solid #ffffff;
  border-left: 2px solid #ffffff;
  border-right: 2px solid #000000;
  border-bottom: 2px solid #000000;
  border-radius: 0;
  box-shadow: inset 1px 1px 0 #dfdfdf, inset -1px -1px 0 #808080;
}

body[data-win-subtheme="classic"] .winxp-taskmgr-menubar,
body[data-win-subtheme="classic"] .winxp-taskmgr-menu,
body[data-win-subtheme="classic"] .winxp-vol-menubar,
body[data-win-subtheme="classic"] .winxp-mixer-menubar,
body[data-win-subtheme="classic"] .winxp-recycle-menubar,
body[data-win-subtheme="classic"] .winxp-recycle-toolbar,
body[data-win-subtheme="classic"] .winxp-recycle-address-row,
body[data-win-subtheme="classic"] .winxp-taskmgr-statusbar,
body[data-win-subtheme="classic"] .winxp-taskmgr-status-seg,
body[data-win-subtheme="classic"] .winxp-recycle-statusbar,
body[data-win-subtheme="classic"] .winxp-vol-strips,
body[data-win-subtheme="classic"] .winxp-mixer-strips,
body[data-win-subtheme="classic"] .winxp-taskmgr-panels,
.theme-win-classic .winxp-taskmgr-menubar,
.theme-win-classic .winxp-taskmgr-menu,
.theme-win-classic .winxp-vol-menubar,
.theme-win-classic .winxp-mixer-menubar,
.theme-win-classic .winxp-recycle-menubar,
.theme-win-classic .winxp-recycle-toolbar,
.theme-win-classic .winxp-recycle-address-row,
.theme-win-classic .winxp-taskmgr-statusbar,
.theme-win-classic .winxp-taskmgr-status-seg,
.theme-win-classic .winxp-recycle-statusbar,
.theme-win-classic .winxp-vol-strips,
.theme-win-classic .winxp-mixer-strips,
.theme-win-classic .winxp-taskmgr-panels {
  background: #c0c0c0;
}

body[data-win-subtheme="classic"] .winxp-taskmgr-btn,
body[data-win-subtheme="classic"] .winxp-recycle-go-btn,
.theme-win-classic .winxp-taskmgr-btn,
.theme-win-classic .winxp-recycle-go-btn {
  background: #c0c0c0;
  border-top: 2px solid #ffffff;
  border-left: 2px solid #ffffff;
  border-right: 2px solid #000000;
  border-bottom: 2px solid #000000;
  border-radius: 0;
  box-shadow: none;
}

body[data-win-subtheme="classic"] .winxp-taskmgr-btn:hover,
body[data-win-subtheme="classic"] .winxp-recycle-go-btn:hover,
.theme-win-classic .winxp-taskmgr-btn:hover,
.theme-win-classic .winxp-recycle-go-btn:hover {
  background: #c0c0c0;
  border-color: #000000 #ffffff #ffffff #000000;
}

body[data-win-subtheme="classic"] .winxp-taskmgr-tab,
.theme-win-classic .winxp-taskmgr-tab {
  background: #c0c0c0;
  border-top: 2px solid #ffffff;
  border-left: 2px solid #ffffff;
  border-right: 2px solid #000000;
  border-bottom: none;
  border-radius: 0;
  box-shadow: none;
}

body[data-win-subtheme="classic"] .winxp-taskmgr-tab.active,
.theme-win-classic .winxp-taskmgr-tab.active {
  background: #c0c0c0;
  border-top: 2px solid #ffffff;
  border-left: 2px solid #ffffff;
  border-right: 2px solid #000000;
  border-bottom: 2px solid #c0c0c0;
  box-shadow: none;
}


/* ==========================================================================
   44. WINDOWS MESSENGER (msmsgs.exe)
       (#winxp-win-messenger, .winxp-msn-window, .winxp-msn-chat-window)
   ========================================================================== */

/* 44.1 Messenger Contact List Window Frame */
#winxp-win-messenger,
.winxp-msn-window {
  min-width: 250px;
  min-height: 440px;
}

#winxp-win-messenger[hidden],
.winxp-msn-window[hidden],
#winxp-win-messenger.winxp-minimized,
.winxp-msn-window.winxp-minimized {
  display: none !important;
}

#winxp-win-messenger.inactive,
#winxp-win-messenger.winxp-window-inactive,
.winxp-msn-window.inactive,
.winxp-msn-window.winxp-window-inactive {
  border-color: #7a96df;
}

#winxp-win-messenger .winxp-aux-content,
.winxp-msn-window .winxp-aux-content,
.winxp-msn-content,
.winxp-msn-container {
  display: flex;
  flex-direction: column;
  flex: 1 1 auto;
  height: 100%;
  width: 100%;
  min-height: 0;
  overflow: hidden;
  background: #f0ede0;
  box-sizing: border-box;
  font-family: Tahoma, 'Segoe UI', sans-serif;
  font-size: 11px;
  color: #000000;
}

/* 44.2 Luna Blue Brand Header Banner */
.winxp-msn-brand-header,
.winxp-msn-header-banner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 6px 10px;
  background: linear-gradient(180deg, #2563eb 0%, #1d4ed8 35%, #1952aa 100%);
  color: #ffffff;
  border-bottom: 1px solid #002275;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.4), 0 1px 2px rgba(0, 0, 0, 0.15);
  flex-shrink: 0;
}

.winxp-msn-brand-title {
  font-family: Tahoma, 'Segoe UI', sans-serif;
  font-size: 13px;
  font-weight: bold;
  color: #ffffff;
  text-shadow: 1px 1px 2px #0a246a;
  display: flex;
  align-items: center;
  gap: 6px;
}

.winxp-msn-brand-subtitle {
  font-size: 10px;
  color: #dbeafe;
  text-shadow: 1px 1px 1px #0a246a;
}

/* 44.3 Messenger Menubar */
.winxp-msn-menubar {
  display: flex;
  align-items: center;
  height: 22px;
  background: #ece9d8;
  border-bottom: 1px solid #d4d0c8;
  padding: 0 4px;
  gap: 2px;
  box-sizing: border-box;
  flex-shrink: 0;
}

.winxp-msn-menuitem,
.winxp-msn-menubar button {
  padding: 2px 6px;
  font-family: Tahoma, sans-serif;
  font-size: 11px;
  color: #000000;
  background: transparent;
  border: none;
  cursor: pointer;
  border-radius: 2px;
  line-height: 1.2;
}

.winxp-msn-menuitem:hover,
.winxp-msn-menubar button:hover {
  background: #316ac5;
  color: #ffffff;
}

.winxp-msn-menuitem:focus-visible,
.winxp-msn-menubar button:focus-visible {
  outline: 1px dotted #000000;
  outline-offset: -1px;
}

/* 44.4 User Card with Dratini Avatar & Status Dropdown */
.winxp-msn-usercard {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 8px 10px;
  background: linear-gradient(180deg, #ffffff 0%, #f7f5ed 50%, #ece9d8 100%);
  border-bottom: 1px solid #c8c5b8;
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.05);
  flex-shrink: 0;
}

.winxp-msn-usercard-avatar-wrap {
  position: relative;
  flex-shrink: 0;
}

.winxp-msn-avatar,
.winxp-msn-usercard-avatar {
  width: 48px;
  height: 48px;
  border-radius: 4px;
  border: 2px solid #7f9db9;
  box-shadow:
    inset 1px 1px 2px rgba(0, 0, 0, 0.25),
    0 1px 3px rgba(0, 0, 0, 0.15);
  object-fit: cover;
  background: #ffffff;
  display: block;
}

.winxp-msn-usercard-details {
  display: flex;
  flex-direction: column;
  gap: 3px;
  flex: 1 1 auto;
  min-width: 0;
}

.winxp-msn-usercard-name-row {
  display: flex;
  align-items: center;
  gap: 6px;
  min-width: 0;
}

.winxp-msn-username {
  font-family: Tahoma, sans-serif;
  font-size: 11px;
  font-weight: bold;
  color: #000000;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

/* Status Dropdown Indicator Orbs (green, red, orange, gray) */
.winxp-msn-status-orb {
  width: 10px;
  height: 10px;
  border-radius: 50%;
  flex-shrink: 0;
  display: inline-block;
  vertical-align: middle;
}

.winxp-msn-status-orb.online,
.winxp-msn-status-orb.orb-online,
.winxp-msn-status-orb[data-status="online"] {
  background: radial-gradient(circle at 3px 3px, #5ce85c 0%, #22c55e 50%, #15803d 100%);
  border: 1px solid #14532d;
  box-shadow: 0 0 2px #15803d;
}

.winxp-msn-status-orb.busy,
.winxp-msn-status-orb.orb-busy,
.winxp-msn-status-orb[data-status="busy"] {
  background: radial-gradient(circle at 3px 3px, #ff6b6b 0%, #ef4444 50%, #b91c1c 100%);
  border: 1px solid #7f1d1d;
  box-shadow: 0 0 2px #b91c1c;
}

.winxp-msn-status-orb.away,
.winxp-msn-status-orb.orb-away,
.winxp-msn-status-orb[data-status="away"] {
  background: radial-gradient(circle at 3px 3px, #fde047 0%, #f59e0b 50%, #d97706 100%);
  border: 1px solid #92400e;
  box-shadow: 0 0 2px #b45309;
}

.winxp-msn-status-orb.offline,
.winxp-msn-status-orb.orb-offline,
.winxp-msn-status-orb[data-status="offline"] {
  background: radial-gradient(circle at 3px 3px, #d1d5db 0%, #9ca3af 50%, #6b7280 100%);
  border: 1px solid #374151;
  box-shadow: 0 0 1px #4b5563;
}

.winxp-msn-status-select,
select.winxp-msn-status-select {
  font-family: Tahoma, sans-serif;
  font-size: 10px;
  color: #000000;
  background: #ffffff;
  border: 1px solid #7f9db9;
  border-radius: 2px;
  padding: 1px 4px;
  cursor: pointer;
  box-sizing: border-box;
}

.winxp-msn-status-select:focus-visible {
  outline: 1px dotted #000000;
}

/* Custom personal status message input */
.winxp-msn-status-input,
.winxp-msn-personal-msg,
input.winxp-msn-personal-msg {
  font-family: Tahoma, sans-serif;
  font-size: 10px;
  font-style: italic;
  color: #545454;
  background: #ffffff;
  border: 1px solid #7f9db9;
  border-radius: 2px;
  padding: 2px 5px;
  width: 100%;
  box-sizing: border-box;
  transition: border-color 0.08s ease;
}

.winxp-msn-status-input:focus,
.winxp-msn-status-input:focus-visible,
.winxp-msn-personal-msg:focus,
.winxp-msn-personal-msg:focus-visible {
  font-style: normal;
  color: #000000;
  border-color: #0055ea;
  outline: 1px solid #0055ea;
}

/* 44.5 Contacts List Container */
.winxp-msn-contact-list,
.winxp-msn-contacts-area {
  display: flex;
  flex-direction: column;
  flex: 1 1 auto;
  min-height: 0;
  overflow-y: auto;
  background: #ffffff;
  border: 2px inset #aca899;
  margin: 6px 8px;
  box-sizing: border-box;
}

/* Category Headers (Collapsible Accordion: Online (4), Offline (2)) */
.winxp-msn-category {
  display: flex;
  flex-direction: column;
  user-select: none;
}

.winxp-msn-category-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 4px 8px;
  background: linear-gradient(180deg, #f7fafd 0%, #e6effa 100%);
  border-bottom: 1px solid #d0e0f5;
  cursor: pointer;
  font-family: Tahoma, sans-serif;
  font-size: 11px;
  font-weight: bold;
  color: #003399;
  box-sizing: border-box;
}

.winxp-msn-category-header:hover {
  background: linear-gradient(180deg, #ffffff 0%, #edf4fe 100%);
}

.winxp-msn-category-header:focus-visible {
  outline: 1px dotted #003399;
  outline-offset: -1px;
}

.winxp-msn-category-title-wrap {
  display: flex;
  align-items: center;
  gap: 5px;
}

.winxp-msn-category-arrow {
  font-size: 8px;
  transition: transform 0.15s ease;
  display: inline-block;
  transform: rotate(0deg);
}

.winxp-msn-category.collapsed .winxp-msn-category-arrow {
  transform: rotate(-90deg);
}

.winxp-msn-category.collapsed .winxp-msn-contact-items,
.winxp-msn-category.collapsed .winxp-msn-category-content {
  display: none !important;
}

.winxp-msn-category-count {
  font-size: 10px;
  font-weight: normal;
  color: #545454;
}

.winxp-msn-contact-items,
.winxp-msn-category-content {
  display: flex;
  flex-direction: column;
}

/* Contact Items */
.winxp-msn-contact {
  display: flex;
  align-items: center;
  gap: 6px;
  padding: 3px 8px;
  cursor: pointer;
  user-select: none;
  border: 1px solid transparent;
  border-radius: 2px;
  transition: background 0.08s ease;
  box-sizing: border-box;
}

.winxp-msn-contact:hover {
  background: #e8f1fc;
  border-color: #b5d5ff;
}

.winxp-msn-contact:focus-visible {
  outline: 1px dotted #000000;
  outline-offset: -1px;
}

.winxp-msn-contact.selected,
.winxp-msn-contact:active {
  background: #316ac5;
  border-color: #0a246a;
  color: #ffffff;
}

.winxp-msn-contact-avatar {
  width: 20px;
  height: 20px;
  border-radius: 2px;
  border: 1px solid #aca899;
  object-fit: cover;
  flex-shrink: 0;
  background: #ffffff;
}

.winxp-msn-contact-orb {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  flex-shrink: 0;
  display: inline-block;
}

.winxp-msn-contact-orb.online,
.winxp-msn-contact-orb[data-status="online"] {
  background: radial-gradient(circle at 2px 2px, #5ce85c 0%, #22c55e 60%, #15803d 100%);
  border: 1px solid #14532d;
}

.winxp-msn-contact-orb.busy,
.winxp-msn-contact-orb[data-status="busy"] {
  background: radial-gradient(circle at 2px 2px, #ff6b6b 0%, #ef4444 60%, #b91c1c 100%);
  border: 1px solid #7f1d1d;
}

.winxp-msn-contact-orb.away,
.winxp-msn-contact-orb[data-status="away"] {
  background: radial-gradient(circle at 2px 2px, #fde047 0%, #f59e0b 60%, #d97706 100%);
  border: 1px solid #92400e;
}

.winxp-msn-contact-orb.offline,
.winxp-msn-contact-orb[data-status="offline"] {
  background: radial-gradient(circle at 2px 2px, #d1d5db 0%, #9ca3af 60%, #6b7280 100%);
  border: 1px solid #374151;
}

.winxp-msn-contact-info {
  display: flex;
  flex-direction: column;
  min-width: 0;
  flex: 1 1 auto;
  overflow: hidden;
}

.winxp-msn-contact-name {
  font-family: Tahoma, sans-serif;
  font-size: 11px;
  font-weight: bold;
  color: #000000;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  line-height: 1.25;
}

.winxp-msn-contact.selected .winxp-msn-contact-name,
.winxp-msn-contact:active .winxp-msn-contact-name {
  color: #ffffff;
}

.winxp-msn-contact-status,
.winxp-msn-contact-msg {
  font-family: Tahoma, sans-serif;
  font-size: 10px;
  font-style: italic;
  color: #545454;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  line-height: 1.2;
}

.winxp-msn-contact.selected .winxp-msn-contact-status,
.winxp-msn-contact.selected .winxp-msn-contact-msg,
.winxp-msn-contact:active .winxp-msn-contact-status,
.winxp-msn-contact:active .winxp-msn-contact-msg {
  color: #e0ecff;
}

/* 44.6 Messenger Bottom Action Footer */
.winxp-msn-footer,
.winxp-msn-action-bar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 4px 8px;
  background: #ece9d8;
  border-top: 1px solid #d4d0c8;
  flex-shrink: 0;
  font-size: 10px;
  color: #545454;
}

.winxp-msn-action-link {
  color: #003399;
  text-decoration: underline;
  cursor: pointer;
}

.winxp-msn-action-link:hover {
  color: #0055ea;
}

/* 44.7 Messenger Chat Window Frame */
#winxp-win-msn-chat,
.winxp-msn-chat-window {
  min-width: 440px;
  min-height: 380px;
}

#winxp-win-msn-chat[hidden],
.winxp-msn-chat-window[hidden],
#winxp-win-msn-chat.winxp-minimized,
.winxp-msn-chat-window.winxp-minimized {
  display: none !important;
}

#winxp-win-msn-chat.inactive,
#winxp-win-msn-chat.winxp-window-inactive,
.winxp-msn-chat-window.inactive,
.winxp-msn-chat-window.winxp-window-inactive {
  border-color: #7a96df;
}

#winxp-win-msn-chat .winxp-aux-content,
.winxp-msn-chat-window .winxp-aux-content,
.winxp-msn-chat-container {
  display: flex;
  flex-direction: column;
  flex: 1 1 auto;
  height: 100%;
  width: 100%;
  min-height: 0;
  overflow: hidden;
  background: #ece9d8;
  box-sizing: border-box;
  font-family: Tahoma, 'Segoe UI', sans-serif;
  font-size: 11px;
  color: #000000;
}

/* Contact Header Bar in Chat Window */
.winxp-msn-chat-header {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 6px 10px;
  background: linear-gradient(180deg, #ffffff 0%, #f7f5ed 40%, #ece9d8 100%);
  border-bottom: 1px solid #aca899;
  flex-shrink: 0;
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.05);
}

.winxp-msn-chat-header-avatar {
  width: 36px;
  height: 36px;
  border-radius: 3px;
  border: 2px solid #7f9db9;
  box-shadow: inset 1px 1px 2px rgba(0, 0, 0, 0.15);
  object-fit: cover;
  flex-shrink: 0;
  background: #ffffff;
}

.winxp-msn-chat-header-info {
  display: flex;
  flex-direction: column;
  gap: 2px;
  min-width: 0;
  flex: 1;
}

.winxp-msn-chat-header-name {
  font-family: Tahoma, sans-serif;
  font-size: 12px;
  font-weight: bold;
  color: #000000;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.winxp-msn-chat-header-status {
  font-family: Tahoma, sans-serif;
  font-size: 11px;
  color: #545454;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

/* Action Toolbar */
.winxp-msn-toolbar {
  display: flex;
  align-items: center;
  gap: 4px;
  padding: 3px 6px;
  background: #ece9d8;
  border-bottom: 1px solid #aca899;
  flex-shrink: 0;
  box-sizing: border-box;
}

.winxp-msn-tool-btn,
.winxp-msn-toolbar button {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  padding: 2px 6px;
  font-family: Tahoma, sans-serif;
  font-size: 11px;
  color: #000000;
  background: transparent;
  border: 1px solid transparent;
  border-radius: 2px;
  cursor: pointer;
  user-select: none;
  line-height: 1.2;
}

.winxp-msn-tool-btn:hover,
.winxp-msn-toolbar button:hover {
  background: #e8f1fc;
  border-color: #316ac5;
}

.winxp-msn-tool-btn:active,
.winxp-msn-toolbar button:active {
  background: #d8e5f8;
  border-color: #0a246a;
}

.winxp-msn-tool-btn:focus-visible,
.winxp-msn-toolbar button:focus-visible {
  outline: 1px dotted #000000;
  outline-offset: -1px;
}

/* Nudge button with distinctive bell/vibrate icon & active hover */
.winxp-msn-btn-nudge,
button.winxp-msn-btn-nudge {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  padding: 2px 8px;
  font-family: Tahoma, sans-serif;
  font-size: 11px;
  font-weight: bold;
  color: #000000;
  background: linear-gradient(180deg, #ffffff 0%, #f2efe4 20%, #ebe7d8 50%, #dcd7c8 100%);
  border: 1px solid #003c74;
  border-radius: 3px;
  cursor: pointer;
  user-select: none;
  box-shadow:
    inset 0 1px 0 #ffffff,
    inset 1px 0 0 rgba(255, 255, 255, 0.7),
    inset -1px 0 0 rgba(255, 255, 255, 0.7),
    0 1px 1px rgba(0, 0, 0, 0.1);
}

.winxp-msn-btn-nudge:hover,
button.winxp-msn-btn-nudge:hover {
  background: linear-gradient(180deg, #fffedc 0%, #fee9a6 45%, #ffd460 50%, #fedd7c 100%);
  border-color: #f69d27;
  box-shadow: 0 0 4px rgba(255, 180, 0, 0.8), inset 0 1px 0 #ffffff;
}

.winxp-msn-btn-nudge:active,
button.winxp-msn-btn-nudge:active {
  background: linear-gradient(180deg, #d8d3c5 0%, #ece9d8 50%, #f4efe4 100%);
  border-color: #003c74;
  box-shadow: inset 1px 1px 2px rgba(0, 0, 0, 0.3);
}

.winxp-msn-btn-nudge:focus-visible,
button.winxp-msn-btn-nudge:focus-visible {
  outline: 1px dotted #000000;
  outline-offset: -2px;
}

.winxp-msn-nudge-icon {
  display: inline-block;
  font-size: 12px;
  line-height: 1;
}

/* Emoticons & Block buttons */
.winxp-msn-btn-emoticons,
.winxp-msn-btn-block {
  display: inline-flex;
  align-items: center;
  gap: 3px;
}

/* Chat Transcript Container */
.winxp-msn-transcript {
  flex: 1 1 auto;
  min-height: 0;
  background: #ffffff;
  border: 2px inset #aca899;
  overflow-y: auto;
  padding: 8px 10px;
  margin: 6px 8px;
  box-sizing: border-box;
  font-family: Tahoma, sans-serif;
  font-size: 11px;
  line-height: 1.4;
}

/* System message banner */
.winxp-msn-system-msg,
.winxp-msn-transcript-warning {
  background: #ffffd9;
  border: 1px solid #e2dd9e;
  border-radius: 2px;
  padding: 4px 8px;
  margin-bottom: 8px;
  font-size: 10px;
  color: #4b4b4b;
  line-height: 1.35;
  user-select: none;
}

/* Chat message items */
.winxp-msn-msg {
  margin-bottom: 6px;
  word-break: break-word;
  line-height: 1.35;
}

.winxp-msn-msg-time {
  font-size: 10px;
  color: #545454;
  margin-right: 4px;
  user-select: none;
}

.winxp-msn-msg-sender {
  font-weight: bold;
  margin-right: 4px;
}

.winxp-msn-msg-user .winxp-msn-msg-sender,
.winxp-msn-msg.user .winxp-msn-msg-sender {
  color: #0055ea;
}

.winxp-msn-msg-buddy .winxp-msn-msg-sender,
.winxp-msn-msg.buddy .winxp-msn-msg-sender {
  color: #15803d;
}

.winxp-msn-msg-buddy.purple .winxp-msn-msg-sender,
.winxp-msn-msg-purple .winxp-msn-msg-sender {
  color: #7e22ce;
}

.winxp-msn-msg-text {
  color: #000000;
}

/* Nudge notification banner */
.winxp-msn-nudge-banner,
.winxp-msn-msg-nudge,
.winxp-msn-nudge-alert {
  background: #fef2f2;
  border: 1px dashed #f87171;
  border-radius: 3px;
  padding: 4px 8px;
  margin: 6px 0;
  font-weight: bold;
  color: #b91c1c;
  font-size: 11px;
  display: flex;
  align-items: center;
  gap: 6px;
  user-select: none;
}

/* Chat Input Area */
.winxp-msn-input-area {
  display: flex;
  gap: 6px;
  padding: 0 8px 8px 8px;
  align-items: stretch;
  flex-shrink: 0;
  box-sizing: border-box;
}

.winxp-msn-input,
textarea.winxp-msn-textarea,
textarea.winxp-msn-input {
  flex: 1 1 auto;
  height: 50px;
  min-height: 50px;
  background: #ffffff;
  border: 1px solid #7f9db9;
  border-radius: 2px;
  padding: 4px 6px;
  font-family: Tahoma, sans-serif;
  font-size: 11px;
  color: #000000;
  resize: none;
  box-sizing: border-box;
  line-height: 1.3;
}

.winxp-msn-input:focus,
.winxp-msn-input:focus-visible,
textarea.winxp-msn-textarea:focus,
textarea.winxp-msn-textarea:focus-visible {
  outline: 2px solid #0055ea;
  outline-offset: -1px;
  border-color: #0055ea;
}

/* Prominent Send button */
.winxp-msn-send-btn,
button.winxp-msn-send-btn {
  min-width: 68px;
  height: 50px;
  font-family: Tahoma, sans-serif;
  font-size: 12px;
  font-weight: bold;
  color: #000000;
  background: linear-gradient(180deg, #ffffff 0%, #f2efe4 20%, #ebe7d8 50%, #dcd7c8 100%);
  border: 1px solid #003c74;
  border-radius: 3px;
  cursor: pointer;
  user-select: none;
  box-shadow:
    inset 0 1px 0 #ffffff,
    inset 1px 0 0 rgba(255, 255, 255, 0.7),
    inset -1px 0 0 rgba(255, 255, 255, 0.7),
    0 1px 1px rgba(0, 0, 0, 0.1);
  box-sizing: border-box;
  flex-shrink: 0;
}

.winxp-msn-send-btn:hover,
button.winxp-msn-send-btn:hover {
  background: linear-gradient(180deg, #fffedc 0%, #fee9a6 45%, #ffd460 50%, #fedd7c 100%);
  border-color: #f69d27;
  box-shadow: 0 0 4px rgba(255, 180, 0, 0.8), inset 0 1px 0 #ffffff;
}

.winxp-msn-send-btn:active,
button.winxp-msn-send-btn:active {
  background: linear-gradient(180deg, #d8d3c5 0%, #ece9d8 50%, #f4efe4 100%);
  border-color: #003c74;
  box-shadow: inset 1px 1px 2px rgba(0, 0, 0, 0.3);
}

.winxp-msn-send-btn:focus-visible,
button.winxp-msn-send-btn:focus-visible {
  outline: 1px dotted #000000;
  outline-offset: -2px;
}

/* 44.8 MSN Nudge Vibration Keyframes */
@keyframes msnNudge {
  0% { transform: translate(0, 0); }
  10% { transform: translate(-8px, 6px); }
  20% { transform: translate(8px, -6px); }
  30% { transform: translate(-6px, -4px); }
  40% { transform: translate(6px, 4px); }
  50% { transform: translate(-4px, 2px); }
  60% { transform: translate(4px, -2px); }
  70% { transform: translate(-2px, 1px); }
  80% { transform: translate(2px, -1px); }
  90% { transform: translate(-1px, 0); }
  100% { transform: translate(0, 0); }
}

.winxp-msn-shaking {
  animation: msnNudge 0.4s ease-in-out !important;
}


/* ==========================================================================
   45. WINDOWS XP SOUND RECORDER (sndrec32.exe)
       (#winxp-win-soundrec, .winxp-soundrec-window, .winxp-soundrec-*)
   ========================================================================== */

/* 45.1 Window Frame & Geometry */
#winxp-win-soundrec,
.winxp-soundrec-window {
  min-width: 320px;
  width: 330px;
  min-height: 180px;
}

#winxp-win-soundrec[hidden],
.winxp-soundrec-window[hidden],
#winxp-win-soundrec.winxp-minimized,
.winxp-soundrec-window.winxp-minimized {
  display: none !important;
}

#winxp-win-soundrec.inactive,
#winxp-win-soundrec.winxp-window-inactive,
.winxp-soundrec-window.inactive,
.winxp-soundrec-window.winxp-window-inactive {
  border-color: #7a96df;
}

#winxp-win-soundrec .winxp-aux-content,
.winxp-soundrec-window .winxp-aux-content,
.winxp-soundrec-container {
  display: flex;
  flex-direction: column;
  flex: 1 1 auto;
  height: 100%;
  width: 100%;
  min-height: 0;
  overflow: hidden;
  background: #ece9d8;
  box-sizing: border-box;
  font-family: Tahoma, sans-serif;
  font-size: 11px;
  color: #000000;
  user-select: none;
}

/* 45.2 Menubar */
.winxp-soundrec-menubar {
  display: flex;
  align-items: center;
  height: 22px;
  background: #ece9d8;
  border-bottom: 1px solid #d4d0c8;
  padding: 0 4px;
  gap: 2px;
  box-sizing: border-box;
  flex-shrink: 0;
}

.winxp-soundrec-menuitem,
.winxp-soundrec-menubar button {
  padding: 2px 6px;
  font-family: Tahoma, sans-serif;
  font-size: 11px;
  color: #000000;
  background: transparent;
  border: none;
  cursor: pointer;
  border-radius: 2px;
  line-height: 1.2;
}

.winxp-soundrec-menuitem:hover,
.winxp-soundrec-menubar button:hover {
  background: #316ac5;
  color: #ffffff;
}

.winxp-soundrec-menuitem:focus-visible,
.winxp-soundrec-menubar button:focus-visible {
  outline: 1px dotted #000000;
  outline-offset: -1px;
}

/* 45.3 CRT Oscilloscope Display */
.winxp-soundrec-display {
  height: 64px;
  margin: 8px 12px 4px 12px;
  background: #001100;
  border: 2px inset #aca899;
  border-radius: 2px;
  position: relative;
  overflow: hidden;
  box-sizing: border-box;
  box-shadow:
    inset 0 0 10px rgba(51, 255, 51, 0.25),
    inset 1px 1px 3px rgba(0, 0, 0, 0.8);
}

/* CRT Scanline Overlay */
.winxp-soundrec-display::before {
  content: "";
  position: absolute;
  inset: 0;
  background: repeating-linear-gradient(
    0deg,
    rgba(0, 17, 0, 0.95),
    rgba(0, 17, 0, 0.95) 2px,
    rgba(0, 35, 0, 0.35) 2px,
    rgba(0, 35, 0, 0.35) 4px
  );
  pointer-events: none;
  z-index: 2;
}

/* Oscilloscope Baseline Centerline */
.winxp-soundrec-centerline {
  position: absolute;
  top: 50%;
  left: 0;
  right: 0;
  height: 1px;
  background: rgba(51, 255, 51, 0.45);
  box-shadow: 0 0 4px #33ff33;
  z-index: 1;
  transform: translateY(-50%);
}

/* Phosphor Green Oscilloscope Wave Canvas */
.winxp-soundrec-canvas,
.winxp-soundrec-wave {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  color: #33ff33;
  filter: drop-shadow(0 0 3px rgba(51, 255, 51, 0.85));
  z-index: 1;
}

/* 45.4 Position & Length Display Labels */
.winxp-soundrec-readouts {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 2px 14px 4px 14px;
  font-family: Tahoma, sans-serif;
  font-size: 11px;
  color: #000000;
  font-weight: normal;
  user-select: none;
  flex-shrink: 0;
}

.winxp-soundrec-pos,
.winxp-soundrec-len {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  white-space: nowrap;
}

/* 45.5 Seek Slider Track */
.winxp-soundrec-slider-container {
  padding: 2px 12px 6px 12px;
  display: flex;
  align-items: center;
  flex-shrink: 0;
}

.winxp-soundrec-slider,
input[type="range"].winxp-soundrec-slider {
  -webkit-appearance: none;
  appearance: none;
  width: 100%;
  height: 20px;
  background: transparent;
  margin: 0;
  cursor: pointer;
}

input[type="range"].winxp-soundrec-slider::-webkit-slider-runnable-track {
  height: 4px;
  background: #716f64;
  border-bottom: 1px solid #ffffff;
  border-right: 1px solid #ffffff;
  border-radius: 1px;
}

input[type="range"].winxp-soundrec-slider::-moz-range-track {
  height: 4px;
  background: #716f64;
  border-bottom: 1px solid #ffffff;
  border-right: 1px solid #ffffff;
  border-radius: 1px;
}

input[type="range"].winxp-soundrec-slider::-webkit-slider-thumb {
  -webkit-appearance: none;
  appearance: none;
  width: 11px;
  height: 19px;
  background: linear-gradient(180deg, #ece9d8 0%, #dcd7c8 100%);
  border: 1px solid #716f64;
  border-radius: 1px;
  box-shadow: inset 1px 1px 0 #ffffff, 1px 1px 2px rgba(0, 0, 0, 0.2);
  margin-top: -8px;
}

input[type="range"].winxp-soundrec-slider::-moz-range-thumb {
  width: 11px;
  height: 19px;
  background: linear-gradient(180deg, #ece9d8 0%, #dcd7c8 100%);
  border: 1px solid #716f64;
  border-radius: 1px;
  box-shadow: inset 1px 1px 0 #ffffff, 1px 1px 2px rgba(0, 0, 0, 0.2);
}

input[type="range"].winxp-soundrec-slider:focus-visible {
  outline: 1px dotted #000000;
  outline-offset: 2px;
}

/* 45.6 Transport Controls Row */
.winxp-soundrec-controls {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 4px;
  padding: 6px 12px 10px 12px;
  border-top: 1px solid #ffffff;
  box-shadow: inset 0 1px 0 #d4d0c8;
  flex-shrink: 0;
}

.winxp-soundrec-btn,
button.winxp-soundrec-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 34px;
  height: 26px;
  font-family: Tahoma, sans-serif;
  font-size: 13px;
  color: #000000;
  background: linear-gradient(180deg, #ffffff 0%, #f2efe4 20%, #ebe7d8 50%, #dcd7c8 100%);
  border: 1px solid #003c74;
  border-radius: 3px;
  cursor: pointer;
  user-select: none;
  box-shadow:
    inset 0 1px 0 #ffffff,
    inset 1px 0 0 rgba(255, 255, 255, 0.7),
    inset -1px 0 0 rgba(255, 255, 255, 0.7),
    0 1px 1px rgba(0, 0, 0, 0.1);
  box-sizing: border-box;
}

.winxp-soundrec-btn:hover,
button.winxp-soundrec-btn:hover {
  background: linear-gradient(180deg, #fffedc 0%, #fee9a6 45%, #ffd460 50%, #fedd7c 100%);
  border-color: #f69d27;
  box-shadow: 0 0 3px rgba(255, 180, 0, 0.8), inset 0 1px 0 #ffffff;
}

.winxp-soundrec-btn:active,
button.winxp-soundrec-btn:active {
  background: linear-gradient(180deg, #d8d3c5 0%, #ece9d8 50%, #f4efe4 100%);
  border-color: #003c74;
  box-shadow: inset 1px 1px 2px rgba(0, 0, 0, 0.3);
}

.winxp-soundrec-btn:disabled,
button.winxp-soundrec-btn:disabled {
  opacity: 0.5;
  cursor: default;
  border-color: #aca899;
  background: #ece9d8;
  box-shadow: none;
  color: #888888;
}

.winxp-soundrec-btn:focus-visible,
button.winxp-soundrec-btn:focus-visible {
  outline: 1px dotted #000000;
  outline-offset: -2px;
}

/* Specific transport buttons */
.winxp-soundrec-btn-record,
button.winxp-soundrec-btn-record {
  color: #b91c1c;
  font-weight: bold;
}

.winxp-soundrec-btn-record:hover,
button.winxp-soundrec-btn-record:hover {
  color: #b91c1c;
}


/* ==========================================================================
   46. WINDOWS XP SYSTEM PROPERTIES (sysdm.cpl)
       (#winxp-win-sysdm, .winxp-sysdm-window, .winxp-sysdm-*)
   ========================================================================== */

/* 46.1 Window Frame & Geometry */
#winxp-win-sysdm,
.winxp-sysdm-window {
  min-width: 420px;
  width: 440px;
  min-height: 480px;
  height: 500px;
}

#winxp-win-sysdm[hidden],
.winxp-sysdm-window[hidden],
#winxp-win-sysdm.winxp-minimized,
.winxp-sysdm-window.winxp-minimized {
  display: none !important;
}

#winxp-win-sysdm.inactive,
#winxp-win-sysdm.winxp-window-inactive,
.winxp-sysdm-window.inactive,
.winxp-sysdm-window.winxp-window-inactive {
  border-color: #7a96df;
}

#winxp-win-sysdm .winxp-aux-content,
.winxp-sysdm-window .winxp-aux-content,
.winxp-sysdm-container {
  display: flex;
  flex-direction: column;
  flex: 1 1 auto;
  height: 100%;
  width: 100%;
  min-height: 0;
  overflow: hidden;
  background: #ece9d8;
  box-sizing: border-box;
  font-family: Tahoma, 'Segoe UI', sans-serif;
  font-size: 11px;
  color: #000000;
  user-select: none;
}

/* 46.2 System Properties Tab Bar */
.winxp-sysdm-tabs,
.winxp-sysdm-tab-bar {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-end;
  padding: 6px 8px 0 8px;
  gap: 2px;
  background: #ece9d8;
  border-bottom: 1px solid #919b9c;
  position: relative;
  z-index: 2;
  flex-shrink: 0;
  box-sizing: border-box;
}

.winxp-sysdm-tab,
button.winxp-sysdm-tab {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 3px 8px 4px 8px;
  font-family: Tahoma, sans-serif;
  font-size: 11px;
  color: #000000;
  background: linear-gradient(180deg, #f0ede0 0%, #ece9d8 30%, #e1dcc9 100%);
  border: 1px solid #919b9c;
  border-bottom: none;
  border-radius: 3px 3px 0 0;
  cursor: pointer;
  position: relative;
  margin-bottom: -1px;
  transition: background 0.08s ease;
  user-select: none;
  white-space: nowrap;
  box-shadow:
    inset 0 1px 0 #ffffff,
    inset 1px 0 0 rgba(255, 255, 255, 0.7),
    inset -1px 0 0 rgba(255, 255, 255, 0.7);
  box-sizing: border-box;
}

.winxp-sysdm-tab:hover,
button.winxp-sysdm-tab:hover {
  background: linear-gradient(180deg, #ffffff 0%, #f6f4ec 50%, #ebe7d8 100%);
}

.winxp-sysdm-tab.active,
button.winxp-sysdm-tab.active {
  background: #ece9d8;
  border-bottom: 1px solid #ece9d8;
  font-weight: bold;
  z-index: 3;
  padding-top: 4px;
  padding-bottom: 5px;
  box-shadow:
    inset 0 2px 0 #e68b2c,
    inset 0 3px 0 #ffffff,
    inset 1px 0 0 #ffffff,
    inset -1px 0 0 #ffffff;
}

.winxp-sysdm-tab:focus-visible,
button.winxp-sysdm-tab:focus-visible {
  outline: 1px dotted #000000;
  outline-offset: -2px;
}

/* 46.3 Panels Container */
.winxp-sysdm-panels,
.winxp-sysdm-tab-content-area {
  flex: 1 1 auto;
  min-height: 0;
  overflow-y: auto;
  background: #ece9d8;
  border: 1px solid #919b9c;
  border-top: none;
  margin: 0 8px;
  padding: 12px 14px;
  box-sizing: border-box;
  display: flex;
  flex-direction: column;
}

.winxp-sysdm-panel {
  display: none;
  flex-direction: column;
  height: 100%;
}

.winxp-sysdm-panel.active {
  display: flex;
}

/* 46.4 General Tab Layout */
.winxp-sysdm-general {
  display: grid;
  grid-template-columns: 84px 1fr;
  gap: 16px;
  align-items: flex-start;
}

.winxp-sysdm-logo {
  width: 80px;
  height: 80px;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  filter: drop-shadow(1px 2px 3px rgba(0, 0, 0, 0.25));
}

.winxp-sysdm-logo svg,
.winxp-sysdm-logo img {
  width: 76px;
  height: 76px;
  object-fit: contain;
}

.winxp-sysdm-info {
  display: flex;
  flex-direction: column;
  gap: 12px;
  font-family: Tahoma, sans-serif;
  font-size: 11px;
  line-height: 1.4;
  color: #000000;
}

.winxp-sysdm-section {
  display: flex;
  flex-direction: column;
  gap: 2px;
}

.winxp-sysdm-section-title {
  font-weight: bold;
  color: #000000;
}

.winxp-sysdm-section-content {
  padding-left: 12px;
  color: #222222;
  display: flex;
  flex-direction: column;
  gap: 1px;
}

/* 46.5 Hardware Tab & Groupboxes */
.winxp-sysdm-hardware {
  display: flex;
  flex-direction: column;
  gap: 10px;
}

.winxp-sysdm-groupbox,
fieldset.winxp-sysdm-groupbox {
  border: 1px solid #d4d0c8;
  border-radius: 4px;
  padding: 10px 12px 12px 12px;
  margin: 0 0 10px 0;
  background: transparent;
  position: relative;
  box-sizing: border-box;
}

.winxp-sysdm-groupbox-legend,
legend.winxp-sysdm-legend {
  font-family: Tahoma, sans-serif;
  font-size: 11px;
  font-weight: bold;
  color: #003399;
  padding: 0 4px;
  margin-left: 4px;
}

.winxp-sysdm-groupbox-desc {
  font-size: 11px;
  line-height: 1.35;
  color: #000000;
  margin-bottom: 8px;
}

.winxp-sysdm-groupbox-action {
  display: flex;
  justify-content: flex-end;
}

/* 46.6 Dialog Action Buttons (OK, Cancel, Apply) */
.winxp-sysdm-dialog-buttons,
.winxp-sysdm-btn-row {
  display: flex;
  justify-content: flex-end;
  gap: 6px;
  padding: 8px 8px 10px 8px;
  flex-shrink: 0;
  box-sizing: border-box;
}

.winxp-sysdm-btn,
button.winxp-sysdm-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 75px;
  height: 23px;
  padding: 0 12px;
  font-family: Tahoma, sans-serif;
  font-size: 11px;
  color: #000000;
  background: linear-gradient(180deg, #ffffff 0%, #f2efe4 20%, #ebe7d8 50%, #dcd7c8 100%);
  border: 1px solid #003c74;
  border-radius: 3px;
  box-shadow:
    inset 0 1px 0 #ffffff,
    inset 1px 0 0 rgba(255, 255, 255, 0.7),
    inset -1px 0 0 rgba(255, 255, 255, 0.7),
    0 1px 1px rgba(0, 0, 0, 0.1);
  cursor: pointer;
  box-sizing: border-box;
  text-decoration: none;
  user-select: none;
}

.winxp-sysdm-btn:hover,
button.winxp-sysdm-btn:hover {
  background: linear-gradient(180deg, #fffedc 0%, #fee9a6 45%, #ffd460 50%, #fedd7c 100%);
  border-color: #f69d27;
  box-shadow: 0 0 3px rgba(255, 180, 0, 0.8), inset 0 1px 0 #ffffff;
}

.winxp-sysdm-btn:active,
button.winxp-sysdm-btn:active {
  background: linear-gradient(180deg, #d8d3c5 0%, #ece9d8 50%, #f4efe4 100%);
  border-color: #003c74;
  box-shadow: inset 1px 1px 2px rgba(0, 0, 0, 0.3);
}

.winxp-sysdm-btn.default,
.winxp-sysdm-btn-ok {
  border-color: #003c74;
  box-shadow: 0 0 0 1px #003c74, inset 0 1px 0 #ffffff;
  font-weight: bold;
}

.winxp-sysdm-btn:focus-visible,
button.winxp-sysdm-btn:focus-visible {
  outline: 1px dotted #000000;
  outline-offset: -2px;
}


/* ==========================================================================
   47. DESKTOP ICON DRAGGING & FREE POSITIONING
       (#winxp-desktop-icons, .winxp-desktop-icon)
   ========================================================================== */

/* 47.1 Free Absolute Positioning & Legacy Grid Support */
#winxp-desktop-icons.is-free-layout,
#winxp-desktop-icons.free-layout,
#winxp-desktop-icons[data-layout="free"],
#winxp-desktop-icons[data-free-layout="true"],
#winxp-desktop-icons.absolute-layout,
.winxp-desktop-icons.is-free-layout {
  position: fixed;
  inset: 0;
  top: 0;
  left: 0;
  width: 100vw;
  height: calc(100vh - 30px);
  display: block;
  pointer-events: none;
  background: transparent;
  gap: 0;
}

#winxp-desktop-icons.is-free-layout .winxp-desktop-icon,
#winxp-desktop-icons.free-layout .winxp-desktop-icon,
#winxp-desktop-icons[data-layout="free"] .winxp-desktop-icon,
#winxp-desktop-icons[data-free-layout="true"] .winxp-desktop-icon,
#winxp-desktop-icons.absolute-layout .winxp-desktop-icon,
.winxp-desktop-icon.is-free-positioned,
.winxp-desktop-icon.is-positioned,
.winxp-desktop-icon[style*="position: absolute"],
.winxp-desktop-icon[style*="left:"] {
  position: absolute;
  pointer-events: auto;
}

/* 47.2 Cursor & Dragging States */
.winxp-desktop-icon,
.xp-desktop-icon {
  cursor: pointer;
  cursor: grab;
}

.winxp-desktop-icon:active,
.xp-desktop-icon:active {
  cursor: grabbing;
}

.winxp-desktop-icon.is-dragging,
.winxp-desktop-icon.winxp-icon-dragging,
.xp-desktop-icon.is-dragging,
.xp-desktop-icon.winxp-icon-dragging {
  position: absolute;
  opacity: 0.85 !important;
  cursor: grabbing !important;
  z-index: 9999 !important;
  pointer-events: auto !important;
  user-select: none !important;
  filter: drop-shadow(2px 6px 12px rgba(0, 0, 0, 0.45));
  transition: none !important;
}

/* 47.3 Selection in Free & Grid Layouts */
.winxp-desktop-icon.selected,
.xp-desktop-icon.selected,
.winxp-desktop-icon:focus-visible,
.xp-desktop-icon:focus-visible {
  background: rgba(49, 106, 197, 0.65) !important;
  border: 1px dotted #ffffff !important;
  outline: 1px dotted #ffffff !important;
  outline-offset: -1px !important;
}


/* ==========================================================================
   48. SUBTHEME VARIATIONS (Royale, Royale Noir, Classic)
       for Messenger, Sound Recorder & System Properties
   ========================================================================== */

/* 48.1 Royale Blue Variations */
body[data-win-subtheme="royale"] #winxp-win-messenger,
body[data-win-subtheme="royale"] #winxp-win-msn-chat,
body[data-win-subtheme="royale"] #winxp-win-soundrec,
body[data-win-subtheme="royale"] #winxp-win-sysdm,
body[data-xp-subtheme="royale"] #winxp-win-messenger,
body[data-xp-subtheme="royale"] #winxp-win-msn-chat,
body[data-xp-subtheme="royale"] #winxp-win-soundrec,
body[data-xp-subtheme="royale"] #winxp-win-sysdm,
body[data-win-theme="royale"] #winxp-win-messenger,
body[data-win-theme="royale"] #winxp-win-msn-chat,
body[data-win-theme="royale"] #winxp-win-soundrec,
body[data-win-theme="royale"] #winxp-win-sysdm,
.theme-royale-blue #winxp-win-messenger,
.theme-royale-blue #winxp-win-msn-chat,
.theme-royale-blue #winxp-win-soundrec,
.theme-royale-blue #winxp-win-sysdm,
.winxp-msn-window,
.winxp-msn-chat-window,
.winxp-soundrec-window,
.winxp-sysdm-window {
  border-color: #10388a;
}

body[data-win-subtheme="royale"] .winxp-msn-brand-header,
.theme-royale-blue .winxp-msn-brand-header {
  background: linear-gradient(180deg, #4b89e6 0%, #205ac8 40%, #0d3da3 100%);
  border-bottom-color: #0b2f7d;
}

body[data-win-subtheme="royale"] .winxp-sysdm-tab.active,
.theme-royale-blue .winxp-sysdm-tab.active {
  box-shadow:
    inset 0 2px 0 #2b6fe5,
    inset 0 3px 0 #ffffff,
    inset 1px 0 0 #ffffff,
    inset -1px 0 0 #ffffff;
}

/* 48.2 Royale Noir Variations */
body[data-win-subtheme="royale-noir"] #winxp-win-messenger,
body[data-win-subtheme="royale-noir"] #winxp-win-msn-chat,
body[data-win-subtheme="royale-noir"] #winxp-win-soundrec,
body[data-win-subtheme="royale-noir"] #winxp-win-sysdm,
body[data-win-subtheme="noir"] #winxp-win-messenger,
body[data-win-subtheme="noir"] #winxp-win-msn-chat,
body[data-win-subtheme="noir"] #winxp-win-soundrec,
body[data-win-subtheme="noir"] #winxp-win-sysdm,
body[data-xp-subtheme="noir"] #winxp-win-messenger,
body[data-xp-subtheme="noir"] #winxp-win-msn-chat,
body[data-xp-subtheme="noir"] #winxp-win-soundrec,
body[data-xp-subtheme="noir"] #winxp-win-sysdm,
body[data-xp-subtheme="royale-noir"] #winxp-win-messenger,
body[data-xp-subtheme="royale-noir"] #winxp-win-msn-chat,
body[data-xp-subtheme="royale-noir"] #winxp-win-soundrec,
body[data-xp-subtheme="royale-noir"] #winxp-win-sysdm,
body[data-win-theme="royale-noir"] #winxp-win-messenger,
body[data-win-theme="royale-noir"] #winxp-win-msn-chat,
body[data-win-theme="royale-noir"] #winxp-win-soundrec,
body[data-win-theme="royale-noir"] #winxp-win-sysdm,
.theme-royale-noir #winxp-win-messenger,
.theme-royale-noir #winxp-win-msn-chat,
.theme-royale-noir #winxp-win-soundrec,
.theme-royale-noir #winxp-win-sysdm {
  border-color: #2b2b2b;
}

body[data-win-subtheme="royale-noir"] .winxp-msn-brand-header,
.theme-royale-noir .winxp-msn-brand-header {
  background: linear-gradient(180deg, #444444 0%, #2b2b2b 40%, #1a1a1a 100%);
  border-bottom-color: #e68b2c;
}

body[data-win-subtheme="royale-noir"] .winxp-sysdm-tab.active,
.theme-royale-noir .winxp-sysdm-tab.active {
  box-shadow:
    inset 0 2px 0 #e68b2c,
    inset 0 3px 0 #ffffff,
    inset 1px 0 0 #ffffff,
    inset -1px 0 0 #ffffff;
}

/* 48.3 Classic Windows 9x / 2000 Variations */
body[data-win-subtheme="classic"] #winxp-win-messenger,
body[data-win-subtheme="classic"] #winxp-win-msn-chat,
body[data-win-subtheme="classic"] #winxp-win-soundrec,
body[data-win-subtheme="classic"] #winxp-win-sysdm,
body[data-xp-subtheme="classic"] #winxp-win-messenger,
body[data-xp-subtheme="classic"] #winxp-win-msn-chat,
body[data-xp-subtheme="classic"] #winxp-win-soundrec,
body[data-xp-subtheme="classic"] #winxp-win-sysdm,
body[data-win-theme="classic"] #winxp-win-messenger,
body[data-win-theme="classic"] #winxp-win-msn-chat,
body[data-win-theme="classic"] #winxp-win-soundrec,
body[data-win-theme="classic"] #winxp-win-sysdm,
.theme-win-classic #winxp-win-messenger,
.theme-win-classic #winxp-win-msn-chat,
.theme-win-classic #winxp-win-soundrec,
.theme-win-classic #winxp-win-sysdm {
  background: #c0c0c0;
  border-top: 2px solid #ffffff;
  border-left: 2px solid #ffffff;
  border-right: 2px solid #000000;
  border-bottom: 2px solid #000000;
  border-radius: 0;
  box-shadow: inset 1px 1px 0 #dfdfdf, inset -1px -1px 0 #808080;
}

body[data-win-subtheme="classic"] .winxp-msn-brand-header,
.theme-win-classic .winxp-msn-brand-header {
  background: #000080;
  border-bottom: 1px solid #000000;
}

body[data-win-subtheme="classic"] .winxp-msn-content,
body[data-win-subtheme="classic"] .winxp-msn-container,
body[data-win-subtheme="classic"] .winxp-msn-chat-container,
body[data-win-subtheme="classic"] .winxp-soundrec-container,
body[data-win-subtheme="classic"] .winxp-sysdm-container,
body[data-win-subtheme="classic"] .winxp-msn-usercard,
body[data-win-subtheme="classic"] .winxp-msn-menubar,
body[data-win-subtheme="classic"] .winxp-msn-toolbar,
body[data-win-subtheme="classic"] .winxp-msn-footer,
body[data-win-subtheme="classic"] .winxp-msn-input-area,
body[data-win-subtheme="classic"] .winxp-soundrec-menubar,
body[data-win-subtheme="classic"] .winxp-soundrec-controls,
body[data-win-subtheme="classic"] .winxp-sysdm-tabs,
body[data-win-subtheme="classic"] .winxp-sysdm-panels,
body[data-win-subtheme="classic"] .winxp-sysdm-btn-row,
.theme-win-classic .winxp-msn-content,
.theme-win-classic .winxp-msn-container,
.theme-win-classic .winxp-msn-chat-container,
.theme-win-classic .winxp-soundrec-container,
.theme-win-classic .winxp-sysdm-container,
.theme-win-classic .winxp-msn-usercard,
.theme-win-classic .winxp-msn-menubar,
.theme-win-classic .winxp-msn-toolbar,
.theme-win-classic .winxp-msn-footer,
.theme-win-classic .winxp-msn-input-area,
.theme-win-classic .winxp-soundrec-menubar,
.theme-win-classic .winxp-soundrec-controls,
.theme-win-classic .winxp-sysdm-tabs,
.theme-win-classic .winxp-sysdm-panels,
.theme-win-classic .winxp-sysdm-btn-row {
  background: #c0c0c0;
}

body[data-win-subtheme="classic"] .winxp-msn-send-btn,
body[data-win-subtheme="classic"] .winxp-msn-btn-nudge,
body[data-win-subtheme="classic"] .winxp-soundrec-btn,
body[data-win-subtheme="classic"] .winxp-sysdm-btn,
.theme-win-classic .winxp-msn-send-btn,
.theme-win-classic .winxp-msn-btn-nudge,
.theme-win-classic .winxp-soundrec-btn,
.theme-win-classic .winxp-sysdm-btn {
  background: #c0c0c0;
  border-top: 2px solid #ffffff;
  border-left: 2px solid #ffffff;
  border-right: 2px solid #000000;
  border-bottom: 2px solid #000000;
  border-radius: 0;
  box-shadow: none;
}

body[data-win-subtheme="classic"] .winxp-msn-send-btn:hover,
body[data-win-subtheme="classic"] .winxp-msn-btn-nudge:hover,
body[data-win-subtheme="classic"] .winxp-soundrec-btn:hover,
body[data-win-subtheme="classic"] .winxp-sysdm-btn:hover,
.theme-win-classic .winxp-msn-send-btn:hover,
.theme-win-classic .winxp-msn-btn-nudge:hover,
.theme-win-classic .winxp-soundrec-btn:hover,
.theme-win-classic .winxp-sysdm-btn:hover {
  background: #c0c0c0;
  border-color: #000000 #ffffff #ffffff #000000;
}

body[data-win-subtheme="classic"] .winxp-sysdm-tab,
.theme-win-classic .winxp-sysdm-tab {
  background: #c0c0c0;
  border-top: 2px solid #ffffff;
  border-left: 2px solid #ffffff;
  border-right: 2px solid #000000;
  border-bottom: none;
  border-radius: 0;
  box-shadow: none;
}

body[data-win-subtheme="classic"] .winxp-sysdm-tab.active,
.theme-win-classic .winxp-sysdm-tab.active {
  background: #c0c0c0;
  border-top: 2px solid #ffffff;
  border-left: 2px solid #ffffff;
  border-right: 2px solid #000000;
  border-bottom: 2px solid #c0c0c0;
  box-shadow: none;
}


/* ==========================================================================
   49. WINDOWS XP SPIDER SOLITAIRE (spider.exe)
       (#winxp-win-spider, .winxp-spider-window, .winxp-spider-*)
   ========================================================================== */

/* 49.1 Window Frame & Container */
#winxp-win-spider,
#winxp-win-spider-solitaire,
.winxp-spider-window {
  min-width: 680px;
  width: 760px;
  min-height: 520px;
  height: 580px;
}

#winxp-win-spider[hidden],
#winxp-win-spider-solitaire[hidden],
.winxp-spider-window[hidden],
#winxp-win-spider.winxp-minimized,
#winxp-win-spider-solitaire.winxp-minimized,
.winxp-spider-window.winxp-minimized {
  display: none !important;
}

#winxp-win-spider.inactive,
#winxp-win-spider.winxp-window-inactive,
#winxp-win-spider-solitaire.inactive,
#winxp-win-spider-solitaire.winxp-window-inactive,
.winxp-spider-window.inactive,
.winxp-spider-window.winxp-window-inactive {
  border-color: #7a96df;
}

#winxp-win-spider .winxp-aux-content,
#winxp-win-spider-solitaire .winxp-aux-content,
.winxp-spider-window .winxp-aux-content,
.winxp-spider-container,
.winxp-spider-content {
  padding: 0;
  display: flex;
  flex-direction: column;
  flex: 1 1 auto;
  height: 100%;
  width: 100%;
  min-height: 0;
  overflow: hidden;
  background: #ece9d8;
  border: none;
  border-radius: 0;
  box-shadow: none;
  box-sizing: border-box;
  font-family: Tahoma, 'Segoe UI', sans-serif;
  user-select: none;
}

/* 49.2 Spider Solitaire Menubar */
.winxp-spider-menubar {
  height: 22px;
  background: #ece9d8;
  border-bottom: 1px solid #d4d0c8;
  font-family: Tahoma, sans-serif;
  font-size: 11px;
  display: flex;
  align-items: center;
  padding: 0 6px;
  gap: 4px;
  box-sizing: border-box;
  flex-shrink: 0;
}

.winxp-spider-menuitem,
.winxp-spider-menubar > button {
  position: relative;
  font-family: Tahoma, sans-serif;
  font-size: 11px;
  color: #000000;
  background: transparent;
  border: 1px solid transparent;
  padding: 2px 6px;
  cursor: pointer;
  border-radius: 2px;
  box-sizing: border-box;
  user-select: none;
}

.winxp-spider-menuitem:hover,
.winxp-spider-menuitem.active,
.winxp-spider-menubar > button:hover {
  background: #316ac5;
  color: #ffffff;
}

.winxp-spider-menuitem:focus-visible,
.winxp-spider-menubar > button:focus-visible {
  outline: 1px dotted #000000;
  outline-offset: -1px;
}

.winxp-spider-menuitem:hover:focus-visible,
.winxp-spider-menubar > button:hover:focus-visible {
  outline: 1px dotted #ffffff;
}

.winxp-spider-dropdown {
  display: none;
  position: absolute;
  top: 100%;
  left: 0;
  background: #ffffff;
  border: 1px solid #716f64;
  box-shadow: 2px 2px 4px rgba(0, 0, 0, 0.3);
  padding: 2px 0;
  min-width: 140px;
  z-index: 1000;
  color: #000000;
}

.winxp-spider-menuitem.active .winxp-spider-dropdown {
  display: block;
}

.winxp-spider-dropdown-item {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 3px 14px;
  cursor: pointer;
  white-space: nowrap;
  font-size: 11px;
  color: #000000;
  background: transparent;
  border: none;
  width: 100%;
  text-align: left;
  font-family: Tahoma, sans-serif;
  box-sizing: border-box;
}

.winxp-spider-dropdown-item:hover,
.winxp-spider-dropdown-item:focus-visible {
  background: #316ac5;
  color: #ffffff;
  outline: 1px dotted #ffffff;
  outline-offset: -1px;
}

.winxp-spider-sep {
  height: 1px;
  background: #d4d0c8;
  margin: 3px 1px;
}

/* 49.3 Green Felt Table & Board */
.winxp-spider-table,
.winxp-spider-board,
#winxp-spider-table {
  flex: 1 1 auto;
  background: radial-gradient(circle at 50% 30%, #0c7a36 0%, #065423 100%);
  box-shadow: inset 0 0 50px rgba(0, 0, 0, 0.45);
  padding: 10px;
  position: relative;
  overflow: hidden;
  display: flex;
  flex-direction: column;
  gap: 10px;
  box-sizing: border-box;
  min-height: 0;
}

/* 49.4 Top Layout Row: Stock Pile & 8 Completed Foundations */
.winxp-spider-top,
.winxp-spider-top-row {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  padding: 2px 4px;
  flex-shrink: 0;
  box-sizing: border-box;
}

/* Stock Pile */
.winxp-spider-stock-area,
.winxp-spider-stock-wrap {
  display: flex;
  align-items: center;
}

.winxp-spider-stock,
.winxp-spider-deck {
  width: 60px;
  height: 84px;
  position: relative;
  border-radius: 3px;
  cursor: pointer;
  box-sizing: border-box;
  user-select: none;
}

/* Stock remaining deals stacked offset shadow (1-5 deals) */
.winxp-spider-stock {
  box-shadow:
    1px 1px 0 #0d2f78,
    2px 2px 0 #ffffff,
    3px 3px 0 #0d2f78,
    4px 4px 0 #ffffff,
    5px 5px 0 #0d2f78,
    6px 6px 0 #ffffff,
    7px 7px 0 #0d2f78,
    8px 8px 3px rgba(0, 0, 0, 0.45);
}

.winxp-spider-stock[data-deals="5"] {
  box-shadow:
    2px 2px 0 #0d2f78,
    4px 4px 0 #1c52b2,
    6px 6px 0 #0a2258,
    8px 8px 0 #123d91,
    10px 10px 4px rgba(0, 0, 0, 0.5);
}

.winxp-spider-stock[data-deals="4"] {
  box-shadow:
    2px 2px 0 #0d2f78,
    4px 4px 0 #1c52b2,
    6px 6px 0 #0a2258,
    8px 8px 4px rgba(0, 0, 0, 0.45);
}

.winxp-spider-stock[data-deals="3"] {
  box-shadow:
    2px 2px 0 #0d2f78,
    4px 4px 0 #1c52b2,
    6px 6px 3px rgba(0, 0, 0, 0.4);
}

.winxp-spider-stock[data-deals="2"] {
  box-shadow:
    2px 2px 0 #0d2f78,
    4px 4px 3px rgba(0, 0, 0, 0.35);
}

.winxp-spider-stock[data-deals="1"] {
  box-shadow: 2px 2px 2px rgba(0, 0, 0, 0.3);
}

.winxp-spider-stock[data-deals="0"],
.winxp-spider-stock.empty {
  box-shadow: none;
  background: rgba(0, 0, 0, 0.15);
  border: 1px dashed rgba(255, 255, 255, 0.3);
  cursor: default;
}

.winxp-spider-stock:focus-visible {
  outline: 2px dotted #ffffff;
  outline-offset: 2px;
}

/* Foundation Area (8 completed suit slots) */
.winxp-spider-foundations,
.winxp-spider-foundation-area {
  display: flex;
  gap: 6px;
  align-items: center;
}

.winxp-spider-foundation-slot,
.winxp-spider-foundation {
  width: 60px;
  height: 84px;
  border: 1px dashed rgba(255, 255, 255, 0.35);
  border-radius: 3px;
  position: relative;
  box-sizing: border-box;
  background: rgba(0, 0, 0, 0.2);
  box-shadow: inset 0 1px 3px rgba(0, 0, 0, 0.4);
  flex-shrink: 0;
  display: flex;
  align-items: center;
  justify-content: center;
}

.winxp-spider-foundation-slot::after,
.winxp-spider-foundation::after {
  content: '♠';
  font-size: 24px;
  color: rgba(255, 255, 255, 0.15);
  pointer-events: none;
}

.winxp-spider-foundation-slot.completed,
.winxp-spider-foundation.completed {
  border: 1px solid #111111;
  background: #ffffff;
  box-shadow: 1px 1px 3px rgba(0, 0, 0, 0.35);
}

.winxp-spider-foundation-slot.completed::after,
.winxp-spider-foundation.completed::after {
  display: none;
}

/* 49.5 10-Column Tableau Layout */
.winxp-spider-tableau,
.winxp-spider-tableau-area {
  display: flex;
  gap: 6px;
  justify-content: space-between;
  flex: 1 1 auto;
  position: relative;
  min-height: 240px;
  overflow-x: auto;
  overflow-y: hidden;
  padding: 4px 0 12px 0;
  box-sizing: border-box;
}

.winxp-spider-col,
.winxp-spider-column {
  flex: 1 1 0;
  min-width: 58px;
  max-width: 68px;
  position: relative;
  min-height: 220px;
  display: flex;
  flex-direction: column;
  box-sizing: border-box;
}

.winxp-spider-col-placeholder,
.winxp-spider-col-slot {
  width: 60px;
  height: 84px;
  border: 1px dashed rgba(255, 255, 255, 0.25);
  border-radius: 3px;
  background: rgba(0, 0, 0, 0.12);
  box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.3);
  position: absolute;
  top: 0;
  left: 0;
  pointer-events: none;
}

/* 49.6 Playing Card Styling */
.winxp-spider-card,
.spider-card {
  width: 60px;
  height: 84px;
  border-radius: 3px;
  background: #ffffff;
  border: 1px solid #111111;
  box-shadow: 1px 1px 2px rgba(0, 0, 0, 0.35);
  position: relative;
  user-select: none;
  cursor: pointer;
  box-sizing: border-box;
  font-family: Tahoma, 'Segoe UI', Arial, sans-serif;
  color: #000000;
  transition: transform 0.05s ease;
  flex-shrink: 0;
}

.winxp-spider-card:focus-visible {
  outline: 2px solid #ffcc00;
  outline-offset: 1px;
}

/* Face-down XP Blue Patterned Back */
.winxp-spider-card.face-down,
.winxp-spider-card[data-face="down"],
.winxp-spider-card.back,
.winxp-spider-stock .winxp-spider-card,
.winxp-spider-stock:not(.empty) {
  background-color: #1c52b2;
  background-image:
    repeating-linear-gradient(45deg, rgba(255, 255, 255, 0.08) 0px, rgba(255, 255, 255, 0.08) 2px, transparent 2px, transparent 4px),
    repeating-linear-gradient(-45deg, rgba(255, 255, 255, 0.08) 0px, rgba(255, 255, 255, 0.08) 2px, transparent 2px, transparent 4px),
    linear-gradient(135deg, #1c52b2 0%, #0d2f78 100%);
  border: 1px solid #082054;
  box-shadow:
    inset 0 0 0 2px #ffffff,
    inset 0 0 0 3px #133d87,
    1px 1px 2px rgba(0, 0, 0, 0.35);
  color: transparent !important;
}

.winxp-spider-card.face-down *,
.winxp-spider-card[data-face="down"] *,
.winxp-spider-card.back * {
  display: none !important;
}

/* Face-up Card Content */
.winxp-spider-card-corner,
.winxp-spider-corner {
  position: absolute;
  top: 2px;
  left: 3px;
  display: flex;
  flex-direction: column;
  align-items: center;
  line-height: 1;
  pointer-events: none;
}

.winxp-spider-card-rank,
.winxp-spider-rank {
  font-size: 13px;
  font-weight: bold;
  line-height: 1;
}

.winxp-spider-card-suit,
.winxp-spider-suit {
  font-size: 11px;
  line-height: 1;
  margin-top: 1px;
}

.winxp-spider-card-corner-bottom {
  position: absolute;
  bottom: 2px;
  right: 3px;
  display: flex;
  flex-direction: column;
  align-items: center;
  line-height: 1;
  transform: rotate(180deg);
  pointer-events: none;
}

.winxp-spider-card-center,
.winxp-spider-center-suit {
  position: absolute;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 26px;
  pointer-events: none;
}

/* Suit Colors (WCAG AA Compliant: #d00000 on #ffffff computes to 5.70:1) */
.winxp-spider-card.spades,
.winxp-spider-card.clubs,
.winxp-spider-card[data-suit="spades"],
.winxp-spider-card[data-suit="clubs"],
.winxp-spider-card.black {
  color: #000000;
}

.winxp-spider-card.hearts,
.winxp-spider-card.diamonds,
.winxp-spider-card[data-suit="hearts"],
.winxp-spider-card[data-suit="diamonds"],
.winxp-spider-card.red {
  color: #d00000;
}

/* 49.7 Overlapping Vertical Stack Offsets & Dragging States */
.winxp-spider-col .winxp-spider-card + .winxp-spider-card,
.winxp-spider-col > .winxp-spider-card:not(:first-child) {
  margin-top: -50px;
}

.winxp-spider-col .winxp-spider-card.face-down + .winxp-spider-card,
.winxp-spider-col .winxp-spider-card[data-face="down"] + .winxp-spider-card,
.winxp-spider-col .winxp-spider-card.stacked-face-down {
  margin-top: -68px;
}

.winxp-spider-col .winxp-spider-card.stacked-face-up {
  margin-top: -50px;
}

/* Selection and Dragging */
.winxp-spider-card.selected,
.winxp-spider-card.active {
  outline: 2px solid #ffcc00;
  outline-offset: 1px;
  box-shadow: 0 0 8px rgba(255, 204, 0, 0.85);
  z-index: 50;
}

.winxp-spider-card.is-dragging,
.winxp-spider-card.dragging,
.winxp-spider-drag-stack {
  z-index: 1000 !important;
  transform: scale(1.02);
  box-shadow: 4px 8px 16px rgba(0, 0, 0, 0.55) !important;
  cursor: grabbing !important;
}

.winxp-spider-card.hint {
  box-shadow: 0 0 10px #00ff00;
  border-color: #00dd00;
}

/* 49.8 Spider Solitaire Status Bar */
.winxp-spider-statusbar {
  height: 22px;
  background: #ece9d8;
  border-top: 1px solid #919b9c;
  display: flex;
  align-items: center;
  padding: 2px 4px;
  gap: 4px;
  box-sizing: border-box;
  flex-shrink: 0;
  font-family: Tahoma, sans-serif;
  font-size: 11px;
  color: #000000;
}

.winxp-spider-status-item,
.winxp-spider-status-panel,
.winxp-spider-score,
.winxp-spider-moves,
.winxp-spider-time {
  border-top: 1px solid #716f64;
  border-left: 1px solid #716f64;
  border-right: 1px solid #ffffff;
  border-bottom: 1px solid #ffffff;
  padding: 1px 8px;
  background: #ece9d8;
  min-height: 16px;
  display: flex;
  align-items: center;
  white-space: nowrap;
  font-size: 11px;
  box-sizing: border-box;
}

.winxp-spider-score {
  flex: 1 1 auto;
}

.winxp-spider-moves,
.winxp-spider-time {
  flex: 0 0 auto;
  min-width: 90px;
}

/* 49.9 Difficulty Selection Dialog & Victory Overlay */
.winxp-spider-dialog-backdrop,
.winxp-spider-overlay {
  position: absolute;
  inset: 0;
  background: rgba(0, 0, 0, 0.35);
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 1200;
}

.winxp-spider-dialog {
  background: #ece9d8;
  border: 1px solid #0055ea;
  box-shadow: 2px 4px 12px rgba(0, 0, 0, 0.5);
  padding: 14px 18px;
  width: 280px;
  display: flex;
  flex-direction: column;
  gap: 12px;
  font-family: Tahoma, sans-serif;
  font-size: 11px;
  color: #000000;
}

.winxp-spider-dialog-title {
  font-weight: bold;
  font-size: 12px;
  margin-bottom: 4px;
}

.winxp-spider-options {
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.winxp-spider-radio-label {
  display: flex;
  align-items: center;
  gap: 8px;
  cursor: pointer;
}

.winxp-spider-btn-row {
  display: flex;
  justify-content: flex-end;
  gap: 8px;
  margin-top: 8px;
}


/* ==========================================================================
   50. WINDOWS XP TOUR (tourstart.exe / tour.exe)
       (#winxp-win-tour, .winxp-tour-window, .winxp-tour-*)
   ========================================================================== */

/* 50.1 Window Frame & Geometry */
#winxp-win-tour,
.winxp-tour-window {
  min-width: 640px;
  width: 720px;
  min-height: 440px;
  height: 500px;
}

#winxp-win-tour[hidden],
.winxp-tour-window[hidden],
#winxp-win-tour.winxp-minimized,
.winxp-tour-window.winxp-minimized {
  display: none !important;
}

#winxp-win-tour.inactive,
#winxp-win-tour.winxp-window-inactive,
.winxp-tour-window.inactive,
.winxp-tour-window.winxp-window-inactive {
  border-color: #7a96df;
}

#winxp-win-tour .winxp-aux-content,
.winxp-tour-window .winxp-aux-content,
.winxp-tour-container {
  display: flex;
  flex-direction: column;
  flex: 1 1 auto;
  height: 100%;
  width: 100%;
  min-height: 0;
  overflow: hidden;
  background: #ece9d8;
  font-family: Tahoma, 'Segoe UI', sans-serif;
  font-size: 11px;
  color: #000000;
  box-sizing: border-box;
}

/* 50.2 Header Banner, Windows XP Emblem & Audio Soundtrack Toggle */
.winxp-tour-header {
  background: linear-gradient(90deg, #001f5c 0%, #0038a8 50%, #001f5c 100%);
  color: #ffffff;
  padding: 12px 18px;
  display: flex;
  justify-content: space-between;
  align-items: center;
  border-bottom: 2px solid #f69d27;
  box-shadow: 0 2px 6px rgba(0, 0, 0, 0.35);
  flex-shrink: 0;
  box-sizing: border-box;
}

.winxp-tour-brand {
  display: flex;
  align-items: center;
  gap: 12px;
}

.winxp-tour-emblem,
.winxp-tour-flag {
  width: 28px;
  height: 28px;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  filter: drop-shadow(1px 2px 2px rgba(0, 0, 0, 0.6));
}

.winxp-tour-emblem svg,
.winxp-tour-flag svg {
  width: 28px;
  height: 28px;
}

.winxp-tour-title-group {
  display: flex;
  flex-direction: column;
}

.winxp-tour-title {
  font-size: 15px;
  font-weight: bold;
  letter-spacing: 0.5px;
  color: #ffffff;
  text-shadow: 1px 1px 2px rgba(0, 0, 0, 0.6);
  line-height: 1.2;
}

.winxp-tour-subtitle {
  font-size: 11px;
  color: #c4d8ff;
  line-height: 1.2;
  margin-top: 2px;
}

/* Soundtrack toggle button */
.winxp-tour-sound-btn,
button.winxp-tour-sound-btn {
  background: linear-gradient(180deg, #1848a0 0%, #0c2b66 100%);
  border: 1px solid #3c72d6;
  border-radius: 3px;
  color: #ffffff;
  padding: 5px 12px;
  font-family: Tahoma, sans-serif;
  font-size: 11px;
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  gap: 6px;
  user-select: none;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.35), 0 1px 2px rgba(0, 0, 0, 0.25);
  transition: background 0.1s ease, border-color 0.1s ease;
  box-sizing: border-box;
}

.winxp-tour-sound-btn:hover,
button.winxp-tour-sound-btn:hover {
  background: linear-gradient(180deg, #2460cc 0%, #153c8a 100%);
  border-color: #60a0ff;
  box-shadow: 0 0 6px rgba(70, 140, 255, 0.6), inset 0 1px 0 rgba(255, 255, 255, 0.5);
}

.winxp-tour-sound-btn:active,
button.winxp-tour-sound-btn:active {
  background: #081d44;
  border-color: #1a428a;
  box-shadow: inset 1px 1px 2px rgba(0, 0, 0, 0.5);
}

.winxp-tour-sound-btn:focus-visible,
button.winxp-tour-sound-btn:focus-visible {
  outline: 1px dotted #ffffff;
  outline-offset: 1px;
}

.winxp-tour-sound-btn.muted,
.winxp-tour-sound-btn[data-muted="true"] {
  opacity: 0.75;
  filter: grayscale(0.6);
}

/* 50.3 Main Tour Body Layout & Left Chapter Sidebar */
.winxp-tour-body,
.winxp-tour-main {
  display: flex;
  flex: 1 1 auto;
  min-height: 0;
  overflow: hidden;
  box-sizing: border-box;
}

.winxp-tour-sidebar {
  width: 200px;
  min-width: 180px;
  max-width: 220px;
  background: #002e7a;
  color: #ffffff;
  display: flex;
  flex-direction: column;
  border-right: 1px solid #001a47;
  box-shadow: inset -2px 0 6px rgba(0, 0, 0, 0.25);
  overflow-y: auto;
  flex-shrink: 0;
  box-sizing: border-box;
}

.winxp-tour-sidebar-title {
  padding: 10px 14px 6px 14px;
  font-size: 11px;
  font-weight: bold;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  color: #8bb4ff;
  border-bottom: 1px solid rgba(255, 255, 255, 0.1);
}

.winxp-tour-chapters,
.winxp-tour-chapter-list {
  display: flex;
  flex-direction: column;
  list-style: none;
  padding: 0;
  margin: 0;
}

/* 50.4 Chapter Navigation Items & Active Arrow Indicator */
.winxp-tour-chapter,
button.winxp-tour-chapter,
a.winxp-tour-chapter {
  padding: 10px 14px;
  color: #dce7ff;
  background: transparent;
  border: none;
  border-bottom: 1px solid rgba(255, 255, 255, 0.08);
  text-align: left;
  font-family: Tahoma, sans-serif;
  font-size: 11px;
  font-weight: normal;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  transition: background 0.12s ease, color 0.12s ease;
  box-sizing: border-box;
  width: 100%;
  text-decoration: none;
  user-select: none;
}

.winxp-tour-chapter:hover,
button.winxp-tour-chapter:hover,
a.winxp-tour-chapter:hover {
  background: #1b4ba5;
  color: #ffffff;
}

.winxp-tour-chapter.active,
.winxp-tour-chapter[aria-selected="true"],
button.winxp-tour-chapter.active {
  background: #316ac5;
  color: #ffffff;
  font-weight: bold;
  box-shadow: inset 3px 0 0 #f69d27;
}

.winxp-tour-chapter::after {
  content: '▶';
  font-size: 9px;
  color: #ffffff;
  opacity: 0;
  transition: opacity 0.1s ease;
  flex-shrink: 0;
}

.winxp-tour-chapter.active::after,
.winxp-tour-chapter[aria-selected="true"]::after {
  opacity: 1;
}

.winxp-tour-chapter:focus-visible,
button.winxp-tour-chapter:focus-visible {
  outline: 1px dotted #ffffff;
  outline-offset: -2px;
}

/* 50.5 Right Content Pane, Headings & Feature Cards */
.winxp-tour-content,
.winxp-tour-pane {
  background: #ffffff;
  padding: 20px 24px;
  flex: 1 1 auto;
  overflow-y: auto;
  display: flex;
  flex-direction: column;
  gap: 14px;
  box-sizing: border-box;
}

.winxp-tour-content-title,
.winxp-tour-heading {
  font-size: 16px;
  font-weight: bold;
  color: #003399;
  margin: 0 0 4px 0;
  font-family: Tahoma, 'Segoe UI', sans-serif;
  line-height: 1.3;
}

.winxp-tour-content-desc,
.winxp-tour-intro {
  font-size: 12px;
  line-height: 1.5;
  color: #222222;
  margin: 0;
}

/* Feature cards / illustrations */
.winxp-tour-card,
.winxp-tour-feature {
  background: #f4f8ff;
  border: 1px solid #b8d0f4;
  border-radius: 4px;
  padding: 12px 16px;
  margin: 4px 0;
  display: flex;
  gap: 14px;
  align-items: flex-start;
  box-shadow: 0 1px 3px rgba(0, 40, 100, 0.08);
  box-sizing: border-box;
}

.winxp-tour-card-icon,
.winxp-tour-feature-icon {
  font-size: 24px;
  line-height: 1;
  flex-shrink: 0;
  color: #0038a8;
  margin-top: 2px;
}

.winxp-tour-card-body,
.winxp-tour-feature-body {
  display: flex;
  flex-direction: column;
  gap: 4px;
}

.winxp-tour-card-title,
.winxp-tour-feature-title {
  font-size: 12px;
  font-weight: bold;
  color: #002e7a;
  margin: 0;
}

.winxp-tour-card-desc,
.winxp-tour-feature-desc {
  font-size: 11px;
  color: #333333;
  line-height: 1.45;
  margin: 0;
}

/* 50.6 Bullet list with checkmarks or blue arrows */
.winxp-tour-list,
ul.winxp-tour-list {
  list-style: none;
  padding: 0;
  margin: 6px 0;
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.winxp-tour-list li {
  position: relative;
  padding-left: 22px;
  font-size: 11px;
  color: #111111;
  line-height: 1.45;
}

.winxp-tour-list li::before {
  content: '✔';
  position: absolute;
  left: 0;
  top: 0;
  color: #167a1e;
  font-weight: bold;
  font-size: 13px;
  line-height: 1.2;
}

.winxp-tour-list.arrows li::before {
  content: '►';
  color: #0055ea;
  font-size: 9px;
  top: 2px;
}

/* 50.7 Bottom Navigation Controls & Authentic XP Luna 3D Buttons */
.winxp-tour-nav,
.winxp-tour-footer {
  background: #ece9d8;
  border-top: 1px solid #919b9c;
  padding: 8px 16px;
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-shrink: 0;
  box-sizing: border-box;
}

.winxp-tour-nav-group {
  display: flex;
  gap: 8px;
  align-items: center;
}

.winxp-tour-btn,
button.winxp-tour-btn {
  font-family: Tahoma, sans-serif;
  font-size: 11px;
  min-width: 75px;
  height: 23px;
  padding: 0 12px;
  border: 1px solid #003c74;
  border-radius: 3px;
  background: linear-gradient(180deg, #ffffff 0%, #ece9d8 15%, #d8d3c5 100%);
  cursor: pointer;
  color: #000000;
  box-shadow:
    inset 0 1px 0 #ffffff,
    inset 1px 0 0 rgba(255, 255, 255, 0.7),
    inset -1px 0 0 rgba(255, 255, 255, 0.7),
    0 1px 1px rgba(0, 0, 0, 0.1);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  user-select: none;
  box-sizing: border-box;
}

.winxp-tour-btn:hover,
button.winxp-tour-btn:hover {
  background: linear-gradient(180deg, #fffedc 0%, #fee9a6 45%, #ffd460 50%, #fedd7c 100%);
  border-color: #f69d27;
  box-shadow: 0 0 3px rgba(255, 180, 0, 0.8), inset 0 1px 0 #ffffff;
}

.winxp-tour-btn:active,
button.winxp-tour-btn:active {
  background: linear-gradient(180deg, #d8d3c5 0%, #ece9d8 50%, #f4efe4 100%);
  border-color: #003c74;
  box-shadow: inset 1px 1px 2px rgba(0, 0, 0, 0.3);
}

.winxp-tour-btn:disabled,
button.winxp-tour-btn:disabled {
  opacity: 0.5;
  cursor: default;
  border-color: #aca899;
  background: #ece9d8;
  box-shadow: none;
  color: #888888;
}

.winxp-tour-btn:focus-visible,
button.winxp-tour-btn:focus-visible {
  outline: 1px dotted #000000;
  outline-offset: -2px;
}

.winxp-tour-btn-primary,
button.winxp-tour-btn-primary {
  font-weight: bold;
}


/* ==========================================================================
   51. WINDOWS XP CHARACTER MAP (charmap.exe)
       (#winxp-win-charmap, .winxp-charmap-window, .winxp-charmap-*)
   ========================================================================== */

/* 51.1 Window Frame & Geometry */
#winxp-win-charmap,
.winxp-charmap-window {
  min-width: 480px;
  width: 540px;
  min-height: 440px;
  height: 480px;
}

#winxp-win-charmap[hidden],
.winxp-charmap-window[hidden],
#winxp-win-charmap.winxp-minimized,
.winxp-charmap-window.winxp-minimized {
  display: none !important;
}

#winxp-win-charmap.inactive,
#winxp-win-charmap.winxp-window-inactive,
.winxp-charmap-window.inactive,
.winxp-charmap-window.winxp-window-inactive {
  border-color: #7a96df;
}

#winxp-win-charmap .winxp-aux-content,
.winxp-charmap-window .winxp-aux-content,
.winxp-charmap-container {
  display: flex;
  flex-direction: column;
  flex: 1 1 auto;
  height: 100%;
  width: 100%;
  min-height: 0;
  overflow: hidden;
  background: #ece9d8;
  padding: 8px;
  gap: 8px;
  box-sizing: border-box;
  font-family: Tahoma, 'Segoe UI', sans-serif;
  font-size: 11px;
  color: #000000;
}

/* 51.2 Top Font Row */
.winxp-charmap-font-row,
.winxp-charmap-top {
  display: flex;
  align-items: center;
  gap: 8px;
  flex-shrink: 0;
  box-sizing: border-box;
}

.winxp-charmap-font-label {
  font-size: 11px;
  color: #000000;
  white-space: nowrap;
}

.winxp-charmap-font-select,
select.winxp-charmap-font-select {
  height: 22px;
  border: 1px solid #7f9db9;
  border-radius: 0;
  background: #ffffff;
  padding: 1px 4px;
  font-family: Tahoma, 'Segoe UI', sans-serif;
  font-size: 11px;
  color: #000000;
  flex: 1 1 auto;
  max-width: 260px;
  box-sizing: border-box;
}

.winxp-charmap-font-select:focus-visible,
select.winxp-charmap-font-select:focus-visible {
  outline: 1px dotted #000000;
  outline-offset: -1px;
  border-color: #316ac5;
}

/* 51.3 Sunken Character Grid Container & 20-Column Layout */
.winxp-charmap-grid-container,
.winxp-charmap-grid-scroll {
  flex: 1 1 auto;
  min-height: 200px;
  background: #ffffff;
  border: 2px inset #aca899;
  overflow-y: scroll;
  overflow-x: hidden;
  position: relative;
  padding: 4px;
  box-sizing: border-box;
}

.winxp-charmap-grid {
  display: grid;
  grid-template-columns: repeat(20, 22px);
  gap: 0;
  width: fit-content;
  margin: 0 auto;
  box-sizing: border-box;
}

/* 51.4 Character Cells */
.winxp-charmap-cell,
button.winxp-charmap-cell {
  width: 22px;
  height: 22px;
  display: flex;
  align-items: center;
  justify-content: center;
  border: 1px solid #e0dfd8;
  margin: -1px 0 0 -1px;
  background: #ffffff;
  color: #000000;
  font-family: Tahoma, 'Segoe UI', Arial, sans-serif;
  font-size: 12px;
  cursor: pointer;
  padding: 0;
  box-sizing: border-box;
  user-select: none;
  line-height: 1;
  position: relative;
}

.winxp-charmap-cell:hover,
button.winxp-charmap-cell:hover {
  background: #316ac5;
  color: #ffffff;
  border-color: #10388a;
  z-index: 2;
}

.winxp-charmap-cell.selected,
.winxp-charmap-cell.active,
.winxp-charmap-cell[aria-selected="true"],
.winxp-charmap-cell:focus,
button.winxp-charmap-cell.selected,
button.winxp-charmap-cell:focus {
  background: #316ac5;
  color: #ffffff;
  border-color: #002266;
  z-index: 3;
  outline: 1px dotted #ffffff;
  outline-offset: -2px;
}

/* 51.5 Hover Zoom Lens Preview Callout */
.winxp-charmap-lens,
.winxp-charmap-zoom {
  position: absolute;
  width: 54px;
  height: 54px;
  background: #ffffff;
  border: 2px solid #000000;
  box-shadow: 2px 3px 6px rgba(0, 0, 0, 0.45);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 32px;
  font-family: Tahoma, 'Segoe UI', Arial, sans-serif;
  color: #000000;
  pointer-events: none;
  z-index: 100;
  transform: translate(-50%, -115%);
  box-sizing: border-box;
  border-radius: 1px;
  line-height: 1;
}

.winxp-charmap-lens[hidden],
.winxp-charmap-zoom[hidden] {
  display: none !important;
}

/* 51.6 Characters to Copy Input Row & Action Buttons */
.winxp-charmap-bottom,
.winxp-charmap-controls {
  display: flex;
  align-items: center;
  gap: 8px;
  padding-top: 2px;
  flex-shrink: 0;
  box-sizing: border-box;
  flex-wrap: wrap;
}

.winxp-charmap-copy-label {
  font-size: 11px;
  color: #000000;
  white-space: nowrap;
}

.winxp-charmap-input,
input.winxp-charmap-input {
  flex: 1 1 140px;
  min-width: 120px;
  height: 22px;
  border: 1px solid #7f9db9;
  border-radius: 0;
  background: #ffffff;
  padding: 2px 6px;
  font-family: Tahoma, 'Segoe UI', Arial, sans-serif;
  font-size: 12px;
  color: #000000;
  box-sizing: border-box;
}

.winxp-charmap-input:focus-visible,
input.winxp-charmap-input:focus-visible {
  outline: 1px dotted #000000;
  outline-offset: -1px;
  border-color: #316ac5;
}

.winxp-charmap-btn,
button.winxp-charmap-btn,
.winxp-charmap-btn-select,
.winxp-charmap-btn-copy {
  font-family: Tahoma, sans-serif;
  font-size: 11px;
  min-width: 68px;
  height: 23px;
  padding: 0 10px;
  border: 1px solid #003c74;
  border-radius: 3px;
  background: linear-gradient(180deg, #ffffff 0%, #ece9d8 15%, #d8d3c5 100%);
  cursor: pointer;
  color: #000000;
  box-shadow:
    inset 0 1px 0 #ffffff,
    inset 1px 0 0 rgba(255, 255, 255, 0.7),
    inset -1px 0 0 rgba(255, 255, 255, 0.7),
    0 1px 1px rgba(0, 0, 0, 0.1);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  user-select: none;
  box-sizing: border-box;
}

.winxp-charmap-btn:hover,
button.winxp-charmap-btn:hover,
.winxp-charmap-btn-select:hover,
.winxp-charmap-btn-copy:hover {
  background: linear-gradient(180deg, #fffedc 0%, #fee9a6 45%, #ffd460 50%, #fedd7c 100%);
  border-color: #f69d27;
  box-shadow: 0 0 3px rgba(255, 180, 0, 0.8), inset 0 1px 0 #ffffff;
}

.winxp-charmap-btn:active,
button.winxp-charmap-btn:active,
.winxp-charmap-btn-select:active,
.winxp-charmap-btn-copy:active {
  background: linear-gradient(180deg, #d8d3c5 0%, #ece9d8 50%, #f4efe4 100%);
  border-color: #003c74;
  box-shadow: inset 1px 1px 2px rgba(0, 0, 0, 0.3);
}

.winxp-charmap-btn:focus-visible,
button.winxp-charmap-btn:focus-visible,
.winxp-charmap-btn-select:focus-visible,
.winxp-charmap-btn-copy:focus-visible {
  outline: 1px dotted #000000;
  outline-offset: -2px;
}

/* 51.7 Character Map Status Bar */
.winxp-charmap-statusbar {
  height: 22px;
  background: #ece9d8;
  border-top: 1px solid #919b9c;
  display: flex;
  align-items: center;
  padding: 2px 4px;
  gap: 4px;
  box-sizing: border-box;
  flex-shrink: 0;
  font-family: Tahoma, sans-serif;
  font-size: 11px;
  color: #000000;
}

.winxp-charmap-status-panel,
.winxp-charmap-status-left,
.winxp-charmap-status-right,
.winxp-charmap-status-unicode,
.winxp-charmap-status-keystroke {
  border-top: 1px solid #716f64;
  border-left: 1px solid #716f64;
  border-right: 1px solid #ffffff;
  border-bottom: 1px solid #ffffff;
  padding: 1px 8px;
  background: #ece9d8;
  min-height: 16px;
  display: flex;
  align-items: center;
  font-size: 11px;
  box-sizing: border-box;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.winxp-charmap-status-left,
.winxp-charmap-status-unicode {
  flex: 1 1 auto;
}

.winxp-charmap-status-right,
.winxp-charmap-status-keystroke {
  flex: 0 0 auto;
  min-width: 140px;
}


/* ==========================================================================
   52. SUBTHEME VARIATIONS (Royale, Royale Noir, Classic)
       for Spider Solitaire, XP Tour & Character Map
   ========================================================================== */

/* 52.1 Royale Blue Subtheme */
body[data-win-subtheme="royale"] #winxp-win-spider,
body[data-win-subtheme="royale"] #winxp-win-tour,
body[data-win-subtheme="royale"] #winxp-win-charmap,
body[data-xp-subtheme="royale"] #winxp-win-spider,
body[data-xp-subtheme="royale"] #winxp-win-tour,
body[data-xp-subtheme="royale"] #winxp-win-charmap,
body[data-win-theme="royale"] #winxp-win-spider,
body[data-win-theme="royale"] #winxp-win-tour,
body[data-win-theme="royale"] #winxp-win-charmap,
.theme-royale-blue #winxp-win-spider,
.theme-royale-blue #winxp-win-tour,
.theme-royale-blue #winxp-win-charmap,
.winxp-spider-window,
.winxp-tour-window,
.winxp-charmap-window {
  border-color: #10388a;
}

body[data-win-subtheme="royale"] .winxp-tour-header,
.theme-royale-blue .winxp-tour-header {
  background: linear-gradient(90deg, #0a2560 0%, #1c52b8 50%, #0a2560 100%);
  border-bottom-color: #4b89e6;
}

body[data-win-subtheme="royale"] .winxp-tour-sidebar,
.theme-royale-blue .winxp-tour-sidebar {
  background: #0d2c6b;
}

body[data-win-subtheme="royale"] .winxp-tour-chapter:hover,
.theme-royale-blue .winxp-tour-chapter:hover {
  background: #174291;
}

body[data-win-subtheme="royale"] .winxp-tour-chapter.active,
.theme-royale-blue .winxp-tour-chapter.active {
  background: #2460cc;
  box-shadow: inset 3px 0 0 #4b89e6;
}

body[data-win-subtheme="royale"] .winxp-charmap-cell:hover,
body[data-win-subtheme="royale"] .winxp-charmap-cell.selected,
.theme-royale-blue .winxp-charmap-cell:hover,
.theme-royale-blue .winxp-charmap-cell.selected {
  background: #2b6fe5;
}

body[data-win-subtheme="royale"] .winxp-spider-menuitem:hover,
body[data-win-subtheme="royale"] .winxp-spider-dropdown-item:hover,
.theme-royale-blue .winxp-spider-menuitem:hover,
.theme-royale-blue .winxp-spider-dropdown-item:hover {
  background: #2b6fe5;
}

/* 52.2 Royale Noir Subtheme */
body[data-win-subtheme="royale-noir"] #winxp-win-spider,
body[data-win-subtheme="royale-noir"] #winxp-win-tour,
body[data-win-subtheme="royale-noir"] #winxp-win-charmap,
body[data-win-subtheme="noir"] #winxp-win-spider,
body[data-win-subtheme="noir"] #winxp-win-tour,
body[data-win-subtheme="noir"] #winxp-win-charmap,
body[data-xp-subtheme="noir"] #winxp-win-spider,
body[data-xp-subtheme="noir"] #winxp-win-tour,
body[data-xp-subtheme="noir"] #winxp-win-charmap,
body[data-xp-subtheme="royale-noir"] #winxp-win-spider,
body[data-xp-subtheme="royale-noir"] #winxp-win-tour,
body[data-xp-subtheme="royale-noir"] #winxp-win-charmap,
body[data-win-theme="royale-noir"] #winxp-win-spider,
body[data-win-theme="royale-noir"] #winxp-win-tour,
body[data-win-theme="royale-noir"] #winxp-win-charmap,
.theme-royale-noir #winxp-win-spider,
.theme-royale-noir #winxp-win-tour,
.theme-royale-noir #winxp-win-charmap {
  border-color: #2b2b2b;
}

body[data-win-subtheme="royale-noir"] .winxp-spider-container,
body[data-win-subtheme="royale-noir"] .winxp-tour-container,
body[data-win-subtheme="royale-noir"] .winxp-charmap-container,
body[data-win-subtheme="royale-noir"] .winxp-tour-nav,
body[data-win-subtheme="royale-noir"] .winxp-spider-menubar,
body[data-win-subtheme="royale-noir"] .winxp-spider-statusbar,
body[data-win-subtheme="royale-noir"] .winxp-charmap-statusbar,
.theme-royale-noir .winxp-spider-container,
.theme-royale-noir .winxp-tour-container,
.theme-royale-noir .winxp-charmap-container,
.theme-royale-noir .winxp-tour-nav,
.theme-royale-noir .winxp-spider-menubar,
.theme-royale-noir .winxp-spider-statusbar,
.theme-royale-noir .winxp-charmap-statusbar {
  background: #2b2b2b;
  color: #ffffff;
}

body[data-win-subtheme="royale-noir"] .winxp-spider-menuitem,
body[data-win-subtheme="royale-noir"] .winxp-charmap-font-label,
body[data-win-subtheme="royale-noir"] .winxp-charmap-copy-label,
.theme-royale-noir .winxp-spider-menuitem,
.theme-royale-noir .winxp-charmap-font-label,
.theme-royale-noir .winxp-charmap-copy-label {
  color: #ffffff;
}

body[data-win-subtheme="royale-noir"] .winxp-spider-status-item,
body[data-win-subtheme="royale-noir"] .winxp-charmap-status-panel,
.theme-royale-noir .winxp-spider-status-item,
.theme-royale-noir .winxp-charmap-status-panel {
  background: #1c1c1c;
  color: #ffffff;
  border-color: #0e0e0e #444444 #444444 #0e0e0e;
}

body[data-win-subtheme="royale-noir"] .winxp-tour-header,
.theme-royale-noir .winxp-tour-header {
  background: linear-gradient(90deg, #111111 0%, #292929 50%, #111111 100%);
  border-bottom-color: #e68b2c;
}

body[data-win-subtheme="royale-noir"] .winxp-tour-sidebar,
.theme-royale-noir .winxp-tour-sidebar {
  background: #1a1a1a;
  border-right-color: #0e0e0e;
}

body[data-win-subtheme="royale-noir"] .winxp-tour-chapter:hover,
.theme-royale-noir .winxp-tour-chapter:hover {
  background: #333333;
}

body[data-win-subtheme="royale-noir"] .winxp-tour-chapter.active,
.theme-royale-noir .winxp-tour-chapter.active {
  background: #444444;
  color: #ffffff;
  box-shadow: inset 3px 0 0 #e68b2c;
}

body[data-win-subtheme="royale-noir"] .winxp-tour-content,
.theme-royale-noir .winxp-tour-content {
  background: #242424;
  color: #f0f0f0;
}

body[data-win-subtheme="royale-noir"] .winxp-tour-content-title,
.theme-royale-noir .winxp-tour-content-title {
  color: #ffa733;
}

body[data-win-subtheme="royale-noir"] .winxp-tour-content-desc,
body[data-win-subtheme="royale-noir"] .winxp-tour-list li,
.theme-royale-noir .winxp-tour-content-desc,
.theme-royale-noir .winxp-tour-list li {
  color: #e0e0e0;
}

body[data-win-subtheme="royale-noir"] .winxp-tour-card,
.theme-royale-noir .winxp-tour-card {
  background: #1c1c1c;
  border-color: #444444;
}

body[data-win-subtheme="royale-noir"] .winxp-tour-card-title,
.theme-royale-noir .winxp-tour-card-title {
  color: #ffa733;
}

body[data-win-subtheme="royale-noir"] .winxp-tour-card-desc,
.theme-royale-noir .winxp-tour-card-desc {
  color: #d0d0d0;
}

body[data-win-subtheme="royale-noir"] .winxp-charmap-grid-container,
.theme-royale-noir .winxp-charmap-grid-container {
  background: #1a1a1a;
  border-color: #555555;
}

body[data-win-subtheme="royale-noir"] .winxp-charmap-cell,
.theme-royale-noir .winxp-charmap-cell {
  background: #242424;
  color: #ffffff;
  border-color: #383838;
}

body[data-win-subtheme="royale-noir"] .winxp-charmap-cell:hover,
body[data-win-subtheme="royale-noir"] .winxp-charmap-cell.selected,
.theme-royale-noir .winxp-charmap-cell:hover,
.theme-royale-noir .winxp-charmap-cell.selected {
  background: #e68b2c;
  color: #000000;
  border-color: #ffaa33;
}

body[data-win-subtheme="royale-noir"] .winxp-charmap-lens,
.theme-royale-noir .winxp-charmap-lens {
  background: #1c1c1c;
  color: #ffffff;
  border-color: #e68b2c;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.85);
}

body[data-win-subtheme="royale-noir"] .winxp-charmap-font-select,
body[data-win-subtheme="royale-noir"] .winxp-charmap-input,
.theme-royale-noir .winxp-charmap-font-select,
.theme-royale-noir .winxp-charmap-input {
  background: #1a1a1a;
  color: #ffffff;
  border-color: #555555;
}

body[data-win-subtheme="royale-noir"] .winxp-tour-btn,
body[data-win-subtheme="royale-noir"] .winxp-charmap-btn,
.theme-royale-noir .winxp-tour-btn,
.theme-royale-noir .winxp-charmap-btn {
  background: linear-gradient(180deg, #444444 0%, #2b2b2b 40%, #1a1a1a 100%);
  color: #ffffff;
  border-color: #555555;
  box-shadow: inset 0 1px 0 #666666;
}

body[data-win-subtheme="royale-noir"] .winxp-tour-btn:hover,
body[data-win-subtheme="royale-noir"] .winxp-charmap-btn:hover,
.theme-royale-noir .winxp-tour-btn:hover,
.theme-royale-noir .winxp-charmap-btn:hover {
  background: linear-gradient(180deg, #555555 0%, #3a3a3a 40%, #222222 100%);
  border-color: #e68b2c;
  box-shadow: 0 0 4px rgba(230, 139, 44, 0.6);
}

/* 52.3 Classic Windows 9x / 2000 Subtheme */
body[data-win-subtheme="classic"] #winxp-win-spider,
body[data-win-subtheme="classic"] #winxp-win-tour,
body[data-win-subtheme="classic"] #winxp-win-charmap,
body[data-xp-subtheme="classic"] #winxp-win-spider,
body[data-xp-subtheme="classic"] #winxp-win-tour,
body[data-xp-subtheme="classic"] #winxp-win-charmap,
body[data-win-theme="classic"] #winxp-win-spider,
body[data-win-theme="classic"] #winxp-win-tour,
body[data-win-theme="classic"] #winxp-win-charmap,
.theme-win-classic #winxp-win-spider,
.theme-win-classic #winxp-win-tour,
.theme-win-classic #winxp-win-charmap {
  background: #c0c0c0;
  border-top: 2px solid #ffffff;
  border-left: 2px solid #ffffff;
  border-right: 2px solid #000000;
  border-bottom: 2px solid #000000;
  border-radius: 0;
  box-shadow: inset 1px 1px 0 #dfdfdf, inset -1px -1px 0 #808080;
}

body[data-win-subtheme="classic"] .winxp-spider-container,
body[data-win-subtheme="classic"] .winxp-tour-container,
body[data-win-subtheme="classic"] .winxp-charmap-container,
body[data-win-subtheme="classic"] .winxp-tour-nav,
body[data-win-subtheme="classic"] .winxp-spider-menubar,
body[data-win-subtheme="classic"] .winxp-spider-statusbar,
body[data-win-subtheme="classic"] .winxp-charmap-statusbar,
.theme-win-classic .winxp-spider-container,
.theme-win-classic .winxp-tour-container,
.theme-win-classic .winxp-charmap-container,
.theme-win-classic .winxp-tour-nav,
.theme-win-classic .winxp-spider-menubar,
.theme-win-classic .winxp-spider-statusbar,
.theme-win-classic .winxp-charmap-statusbar {
  background: #c0c0c0;
}

body[data-win-subtheme="classic"] .winxp-tour-header,
.theme-win-classic .winxp-tour-header {
  background: #000080;
  border-bottom: 1px solid #000000;
}

body[data-win-subtheme="classic"] .winxp-tour-sidebar,
.theme-win-classic .winxp-tour-sidebar {
  background: #808080;
  border-right: 1px solid #000000;
}

body[data-win-subtheme="classic"] .winxp-tour-chapter.active,
.theme-win-classic .winxp-tour-chapter.active {
  background: #000080;
  box-shadow: none;
}

body[data-win-subtheme="classic"] .winxp-charmap-cell:hover,
body[data-win-subtheme="classic"] .winxp-charmap-cell.selected,
.theme-win-classic .winxp-charmap-cell:hover,
.theme-win-classic .winxp-charmap-cell.selected {
  background: #000080;
}

body[data-win-subtheme="classic"] .winxp-tour-btn,
body[data-win-subtheme="classic"] .winxp-charmap-btn,
.theme-win-classic .winxp-tour-btn,
.theme-win-classic .winxp-charmap-btn {
  background: #c0c0c0;
  border-top: 2px solid #ffffff;
  border-left: 2px solid #ffffff;
  border-right: 2px solid #000000;
  border-bottom: 2px solid #000000;
  border-radius: 0;
  box-shadow: none;
}

body[data-win-subtheme="classic"] .winxp-tour-btn:hover,
body[data-win-subtheme="classic"] .winxp-charmap-btn:hover,
.theme-win-classic .winxp-tour-btn:hover,
.theme-win-classic .winxp-charmap-btn:hover {
  background: #c0c0c0;
  border-color: #000000 #ffffff #ffffff #000000;
}

body[data-win-subtheme="classic"] .winxp-spider-status-item,
body[data-win-subtheme="classic"] .winxp-charmap-status-panel,
.theme-win-classic .winxp-spider-status-item,
.theme-win-classic .winxp-charmap-status-panel {
  border-top: 1px solid #808080;
  border-left: 1px solid #808080;
  border-right: 1px solid #ffffff;
  border-bottom: 1px solid #ffffff;
  background: #c0c0c0;
}

/* ==========================================================================
   53. ABOUT WINDOWS (winver.exe) (.winxp-winver-window, #winxp-win-winver)
   ========================================================================== */
.winxp-winver-window,
#winxp-win-winver {
  background: #ece9d8;
  font-family: Tahoma, 'Pixelify Sans', sans-serif;
  font-size: 11px;
  color: #000000;
  user-select: none;
}

.winxp-winver-content {
  padding: 16px;
  display: flex;
  flex-direction: column;
  gap: 12px;
}

.winxp-winver-banner {
  display: flex;
  align-items: center;
  gap: 16px;
  padding-bottom: 8px;
  border-bottom: 1px solid #ffffff;
  box-shadow: 0 1px 0 #aca899;
}

.winxp-winver-logo {
  width: 52px;
  height: 52px;
  flex-shrink: 0;
}

.winxp-winver-title {
  font-size: 14px;
  font-weight: bold;
  color: #003399;
  margin-bottom: 4px;
}

.winxp-winver-ver {
  font-size: 11px;
  color: #333333;
  line-height: 1.4;
}

.winxp-winver-body {
  font-size: 11px;
  line-height: 1.5;
  color: #000000;
}

.winxp-winver-userbox {
  background: #ffffff;
  border: 1px solid #7f9db9;
  padding: 8px 10px;
  border-radius: 2px;
  margin: 6px 0;
  line-height: 1.5;
}

.winxp-winver-userbox strong {
  color: #003399;
}

.winxp-winver-footer {
  display: flex;
  justify-content: flex-end;
  padding-top: 8px;
}

.winxp-winver-btn {
  min-width: 75px;
  padding: 4px 16px;
  font-family: Tahoma, sans-serif;
  font-size: 11px;
  color: #000000;
  background: linear-gradient(180deg, #ffffff 0%, #ece9d8 100%);
  border: 1px solid #003c74;
  border-radius: 3px;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.8);
  cursor: pointer;
}

.winxp-winver-btn:hover {
  background: linear-gradient(180deg, #eef4fb 0%, #dbe8f6 100%);
  box-shadow: 0 0 4px #f69d27;
}

.winxp-winver-btn:active {
  background: linear-gradient(180deg, #d2e1f2 0%, #e2ecf7 100%);
  box-shadow: inset 1px 1px 1px rgba(0, 0, 0, 0.3);
}

.winxp-winver-btn:focus-visible {
  outline: 1px dotted #000000;
  outline-offset: -2px;
}

/* ==========================================================================
   54. HELP AND SUPPORT CENTER (helpctr.exe) (.winxp-helpctr-window, #winxp-win-helpctr)
   ========================================================================== */
.winxp-helpctr-window,
#winxp-win-helpctr {
  background: #ffffff;
  font-family: Tahoma, 'Pixelify Sans', sans-serif;
  font-size: 11px;
  color: #000000;
  display: flex;
  flex-direction: column;
}

.winxp-helpctr-header {
  background: linear-gradient(90deg, #2a5210 0%, #366816 35%, #447a1d 65%, #305e13 100%);
  padding: 10px 16px;
  color: #ffffff;
  display: flex;
  justify-content: space-between;
  align-items: center;
  border-bottom: 2px solid #3c651e;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.4);
}

.winxp-helpctr-brand {
  display: flex;
  align-items: center;
  gap: 10px;
}

.winxp-helpctr-brand-icon {
  width: 28px;
  height: 28px;
}

.winxp-helpctr-title {
  font-size: 16px;
  font-weight: bold;
  text-shadow: 0 1px 2px rgba(0, 0, 0, 0.4);
}

.winxp-helpctr-search {
  display: flex;
  align-items: center;
  gap: 6px;
  background: rgba(255, 255, 255, 0.2);
  padding: 3px 8px;
  border-radius: 3px;
  border: 1px solid rgba(255, 255, 255, 0.4);
}

.winxp-helpctr-search input {
  font-family: Tahoma, sans-serif;
  font-size: 11px;
  padding: 2px 6px;
  border: 1px solid #7f9db9;
  border-radius: 2px;
  outline: none;
  width: 160px;
}

.winxp-helpctr-search-btn {
  background: linear-gradient(180deg, #22b14c 0%, #15803d 100%);
  color: #ffffff;
  border: 1px solid #0f5c2a;
  border-radius: 2px;
  padding: 2px 8px;
  font-size: 11px;
  font-weight: bold;
  cursor: pointer;
}

.winxp-helpctr-nav {
  display: flex;
  background: linear-gradient(180deg, #ece9d8 0%, #e0dcc8 100%);
  border-bottom: 1px solid #aca899;
  padding: 4px 8px;
  gap: 4px;
}

.winxp-helpctr-nav-btn {
  display: flex;
  align-items: center;
  gap: 4px;
  padding: 3px 8px;
  font-size: 11px;
  color: #000000;
  background: transparent;
  border: 1px solid transparent;
  border-radius: 2px;
  cursor: pointer;
}

.winxp-helpctr-nav-btn:hover {
  background: #ffffff;
  border-color: #316ac5;
  color: #003399;
}

.winxp-helpctr-nav-btn.active {
  background: #ffffff;
  border-color: #7f9db9;
  font-weight: bold;
}

.winxp-helpctr-body {
  flex: 1;
  display: flex;
  overflow: hidden;
  background: #ffffff;
}

.winxp-helpctr-left {
  width: 240px;
  background: #f1efe2;
  border-right: 1px solid #aca899;
  padding: 12px;
  overflow-y: auto;
  display: flex;
  flex-direction: column;
  gap: 12px;
}

.winxp-helpctr-card {
  background: #ffffff;
  border: 1px solid #dcdad0;
  border-radius: 3px;
  padding: 8px;
}

.winxp-helpctr-card-hdr {
  font-weight: bold;
  color: #003399;
  margin-bottom: 6px;
  display: flex;
  align-items: center;
  gap: 6px;
}

.winxp-helpctr-link {
  display: block;
  color: #0022cc;
  text-decoration: none;
  padding: 3px 0;
  cursor: pointer;
  font-size: 11px;
}

.winxp-helpctr-link:hover {
  text-decoration: underline;
  color: #cc0000;
}

.winxp-helpctr-right {
  flex: 1;
  padding: 16px 20px;
  overflow-y: auto;
  line-height: 1.5;
}

.winxp-helpctr-right h2 {
  font-size: 16px;
  color: #003399;
  margin-bottom: 8px;
  border-bottom: 1px solid #e0dfd8;
  padding-bottom: 4px;
}

.winxp-helpctr-tipbox {
  background: #ffffe1;
  border: 1px solid #e0d080;
  padding: 10px 14px;
  border-radius: 3px;
  margin: 12px 0;
  display: flex;
  gap: 10px;
  align-items: flex-start;
}

/* ==========================================================================
   55. SOUNDS AND AUDIO DEVICES PROPERTIES (mmsys.cpl) (.winxp-mmsys-window, #winxp-win-mmsys)
   ========================================================================== */
.winxp-mmsys-window,
#winxp-win-mmsys {
  background: #ece9d8;
  font-family: Tahoma, 'Pixelify Sans', sans-serif;
  font-size: 11px;
  color: #000000;
  display: flex;
  flex-direction: column;
}

.winxp-mmsys-tabs {
  display: flex;
  gap: 2px;
  padding: 6px 8px 0;
  border-bottom: 1px solid #919b9c;
}

.winxp-mmsys-tab {
  padding: 4px 10px;
  background: #d8d4c4;
  border: 1px solid #919b9c;
  border-bottom: none;
  border-top-left-radius: 3px;
  border-top-right-radius: 3px;
  cursor: pointer;
  font-size: 11px;
}

.winxp-mmsys-tab.active {
  background: #ece9d8;
  border-bottom: 1px solid #ece9d8;
  margin-bottom: -1px;
  font-weight: bold;
}

.winxp-mmsys-content {
  padding: 12px;
  flex: 1;
  display: flex;
  flex-direction: column;
  gap: 10px;
}

.winxp-mmsys-panel {
  display: none;
  flex-direction: column;
  gap: 10px;
  flex: 1;
}

.winxp-mmsys-panel.active {
  display: flex !important;
}

.winxp-mmsys-panel-volume,
.winxp-mmsys-panel-sounds,
.winxp-mmsys-panel-audio,
.winxp-mmsys-panel-voice,
.winxp-mmsys-panel-hardware {
  display: none;
  flex-direction: column;
  gap: 10px;
}

.winxp-mmsys-panel-volume.active,
.winxp-mmsys-panel-sounds.active,
.winxp-mmsys-panel-audio.active,
.winxp-mmsys-panel-voice.active,
.winxp-mmsys-panel-hardware.active {
  display: flex !important;
}

.winxp-mmsys-group {
  border: 1px solid #d0ccc0;
  border-radius: 4px;
  padding: 8px 10px;
  background: #ece9d8;
}

.winxp-mmsys-group legend {
  font-weight: bold;
  color: #003399;
  padding: 0 4px;
}

.winxp-mmsys-tree {
  background: #ffffff;
  border: 1px solid #7f9db9;
  height: 180px;
  overflow-y: auto;
  padding: 4px;
}

.winxp-mmsys-tree-item {
  display: flex;
  align-items: center;
  gap: 6px;
  padding: 3px 6px;
  cursor: pointer;
  border-radius: 2px;
}

.winxp-mmsys-tree-item:hover {
  background: #e8f1fc;
}

.winxp-mmsys-tree-item.selected {
  background: #316ac5;
  color: #ffffff;
}

.winxp-mmsys-play-bar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-top: 6px;
}

.winxp-mmsys-play-btn {
  display: flex;
  align-items: center;
  gap: 6px;
  padding: 4px 12px;
  background: linear-gradient(180deg, #ffffff 0%, #ece9d8 100%);
  border: 1px solid #003c74;
  border-radius: 3px;
  cursor: pointer;
  font-size: 11px;
}

.winxp-mmsys-play-btn:hover {
  background: linear-gradient(180deg, #eef4fb 0%, #dbe8f6 100%);
  box-shadow: 0 0 4px #f69d27;
}

.winxp-mmsys-play-btn:disabled {
  opacity: 0.5;
  cursor: default;
  box-shadow: none;
}

.winxp-volume-slider {
  -webkit-appearance: none;
  appearance: none;
  width: 100%;
  height: 20px;
  background: transparent;
  cursor: pointer;
  accent-color: #316ac5;
  margin: 6px 0;
}

.winxp-volume-slider:focus {
  outline: none;
}

.winxp-volume-slider:focus-visible {
  outline: 1px dotted #000000;
  outline-offset: 2px;
}

.winxp-volume-slider::-webkit-slider-runnable-track {
  width: 100%;
  height: 4px;
  cursor: pointer;
  background: #aca899;
  border-top: 1px solid #716f64;
  border-left: 1px solid #716f64;
  border-bottom: 1px solid #ffffff;
  border-right: 1px solid #ffffff;
  border-radius: 1px;
}

.winxp-volume-slider::-webkit-slider-thumb {
  -webkit-appearance: none;
  appearance: none;
  height: 18px;
  width: 11px;
  background: #ece9d8;
  background-image: linear-gradient(180deg, #ffffff 0%, #ece9d8 40%, #d8d4c4 100%);
  border: 1px solid #716f64;
  border-top-color: #ffffff;
  border-left-color: #ffffff;
  border-radius: 2px;
  box-shadow: 1px 1px 2px rgba(0, 0, 0, 0.25);
  margin-top: -7px;
  cursor: pointer;
}

.winxp-volume-slider::-webkit-slider-thumb:hover {
  background: #f5f3ec;
  box-shadow: 0 0 3px #f69d27;
}

.winxp-volume-slider::-moz-range-track {
  width: 100%;
  height: 4px;
  cursor: pointer;
  background: #aca899;
  border-top: 1px solid #716f64;
  border-left: 1px solid #716f64;
  border-bottom: 1px solid #ffffff;
  border-right: 1px solid #ffffff;
  border-radius: 1px;
}

.winxp-volume-slider::-moz-range-thumb {
  height: 18px;
  width: 11px;
  background: #ece9d8;
  background-image: linear-gradient(180deg, #ffffff 0%, #ece9d8 40%, #d8d4c4 100%);
  border: 1px solid #716f64;
  border-top-color: #ffffff;
  border-left-color: #ffffff;
  border-radius: 2px;
  box-shadow: 1px 1px 2px rgba(0, 0, 0, 0.25);
  cursor: pointer;
}

.winxp-volume-slider::-moz-range-thumb:hover {
  background: #f5f3ec;
  box-shadow: 0 0 3px #f69d27;
}

.winxp-mmsys-check-row {
  display: flex;
  align-items: center;
  gap: 6px;
  font-size: 11px;
  cursor: pointer;
  margin-top: 4px;
}

.winxp-mmsys-check-row input[type="checkbox"] {
  margin: 0;
  cursor: pointer;
}

.winxp-mmsys-select {
  font-family: Tahoma, 'Pixelify Sans', sans-serif;
  font-size: 11px;
  width: 100%;
  height: 22px;
  padding: 2px 4px;
  border: 1px solid #7f9db9;
  background: #ffffff;
  color: #000000;
  box-sizing: border-box;
}

.winxp-mmsys-select:focus-visible {
  outline: 1px dotted #000000;
  outline-offset: -1px;
}

.winxp-mmsys-hw-list {
  background: #ffffff;
  border: 1px solid #7f9db9;
  height: 160px;
  overflow-y: auto;
  padding: 2px;
  box-sizing: border-box;
  font-family: Tahoma, sans-serif;
  font-size: 11px;
}

.winxp-mmsys-hw-item {
  display: flex;
  align-items: center;
  gap: 6px;
  padding: 3px 6px;
  cursor: pointer;
}

.winxp-mmsys-hw-item:hover {
  background: #eef4fb;
}

.winxp-mmsys-hw-item.selected {
  background: #316ac5;
  color: #ffffff;
}

.winxp-mmsys-footer {
  display: flex;
  justify-content: flex-end;
  gap: 6px;
  padding: 8px 12px;
  border-top: 1px solid #d0ccc0;
}

/* ==========================================================================
   56. DISK DEFRAGMENTER (dfrg.msc) (.winxp-defrag-window, #winxp-win-defrag)
   ========================================================================== */
.winxp-defrag-window,
#winxp-win-defrag {
  background: #ece9d8;
  font-family: Tahoma, 'Pixelify Sans', sans-serif;
  font-size: 11px;
  color: #000000;
  display: flex;
  flex-direction: column;
}

.winxp-defrag-toolbar {
  display: flex;
  gap: 6px;
  padding: 4px 8px;
  background: #ece9d8;
  border-bottom: 1px solid #aca899;
}

.winxp-defrag-btn {
  padding: 3px 12px;
  background: linear-gradient(180deg, #ffffff 0%, #ece9d8 100%);
  border: 1px solid #003c74;
  border-radius: 3px;
  font-family: Tahoma, sans-serif;
  font-size: 11px;
  cursor: pointer;
  color: #000000;
}

.winxp-defrag-btn:hover {
  background: linear-gradient(180deg, #eef4fb 0%, #dbe8f6 100%);
  box-shadow: 0 0 4px #f69d27;
}

.winxp-defrag-btn:disabled {
  opacity: 0.5;
  cursor: default;
  box-shadow: none;
}

.winxp-defrag-table-wrap {
  background: #ffffff;
  border: 1px solid #7f9db9;
  margin: 8px 10px;
  height: 90px;
  overflow-y: auto;
}

.winxp-defrag-table {
  width: 100%;
  border-collapse: collapse;
  font-size: 11px;
  text-align: left;
}

.winxp-defrag-table th {
  background: linear-gradient(180deg, #ffffff 0%, #ece9d8 100%);
  border-right: 1px solid #d0ccc0;
  border-bottom: 1px solid #aca899;
  padding: 3px 8px;
  font-weight: normal;
  color: #000000;
}

.winxp-defrag-table td {
  padding: 3px 8px;
  border-bottom: 1px solid #f0eee5;
}

.winxp-defrag-table tr.selected {
  background: #316ac5;
  color: #ffffff;
}

.winxp-defrag-canvas-wrap {
  margin: 6px 10px;
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.winxp-defrag-strip-box {
  background: #ffffff;
  border: 1px solid #7f9db9;
  padding: 4px;
}

.winxp-defrag-label {
  font-size: 10px;
  font-weight: bold;
  color: #003399;
  margin-bottom: 4px;
}

.winxp-defrag-canvas {
  width: 100%;
  height: 40px;
  background: #ffffff;
  display: block;
  border: 1px solid #aca899;
}

.winxp-defrag-legend {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  margin: 6px 10px;
  padding: 6px 10px;
  background: #ffffff;
  border: 1px solid #aca899;
  border-radius: 2px;
  font-size: 10px;
}

.winxp-defrag-legend-item {
  display: flex;
  align-items: center;
  gap: 4px;
}

.winxp-defrag-swatch {
  width: 12px;
  height: 12px;
  border: 1px solid #333333;
}

/* ==========================================================================
   57. FREECELL (freecell.exe) (.winxp-freecell-window, #winxp-win-freecell)
   ========================================================================== */
.winxp-freecell-window,
#winxp-win-freecell {
  background: #007733;
  font-family: Tahoma, 'Pixelify Sans', sans-serif;
  font-size: 11px;
  color: #000000;
  display: flex;
  flex-direction: column;
  user-select: none;
}

.winxp-freecell-table {
  flex: 1;
  padding: 10px;
  display: flex;
  flex-direction: column;
  gap: 12px;
  background: radial-gradient(circle at 50% 35%, #0d833c 0%, #065423 100%);
  position: relative;
  overflow: hidden;
}

.winxp-freecell-top {
  display: flex;
  justify-content: space-between;
  gap: 20px;
}

.winxp-freecell-cells,
.winxp-freecell-foundations {
  display: flex;
  gap: 8px;
}

.winxp-freecell-slot {
  width: 62px;
  height: 86px;
  border: 2px inset #054019;
  border-radius: 4px;
  background: rgba(0, 50, 15, 0.4);
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
}

.winxp-freecell-tableau {
  display: flex;
  justify-content: space-between;
  gap: 8px;
  flex: 1;
}

.winxp-freecell-col {
  width: 62px;
  min-height: 240px;
  position: relative;
  border-radius: 4px;
  background: rgba(0, 50, 15, 0.15);
}

.winxp-freecell-card {
  width: 62px;
  height: 86px;
  border-radius: 4px;
  background: #ffffff;
  border: 1px solid #777777;
  box-shadow: 1px 1px 3px rgba(0, 0, 0, 0.35);
  position: absolute;
  cursor: grab;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  padding: 3px 4px;
  font-family: Tahoma, sans-serif;
  font-size: 12px;
  font-weight: bold;
}

.winxp-freecell-card.red {
  color: #dc0000;
}

.winxp-freecell-card.black {
  color: #000000;
}

.winxp-freecell-card.selected {
  outline: 2px solid #ffff00;
  box-shadow: 0 0 6px #ffff00;
}

.winxp-freecell-statusbar {
  display: flex;
  justify-content: space-between;
  background: #ece9d8;
  border-top: 1px solid #aca899;
  padding: 2px 8px;
  font-size: 11px;
}

/* ==========================================================================
   58. WORDPAD (wordpad.exe) (.winxp-wordpad-window, #winxp-win-wordpad)
   ========================================================================== */
.winxp-wordpad-window,
#winxp-win-wordpad {
  background: #ece9d8;
  font-family: Tahoma, 'Pixelify Sans', sans-serif;
  font-size: 11px;
  color: #000000;
  display: flex;
  flex-direction: column;
}

.winxp-wordpad-toolbar {
  display: flex;
  align-items: center;
  gap: 4px;
  padding: 3px 6px;
  background: #ece9d8;
  border-bottom: 1px solid #d0ccc0;
  flex-wrap: wrap;
}

.winxp-wordpad-toolbtn {
  padding: 2px 6px;
  background: transparent;
  border: 1px solid transparent;
  border-radius: 2px;
  cursor: pointer;
  font-size: 11px;
  font-family: Tahoma, sans-serif;
  min-width: 22px;
  height: 22px;
  display: flex;
  align-items: center;
  justify-content: center;
}

.winxp-wordpad-toolbtn:hover {
  background: #ffffff;
  border-color: #316ac5;
}

.winxp-wordpad-toolbtn.active {
  background: #dbe8f6;
  border-color: #7f9db9;
  font-weight: bold;
}

.winxp-wordpad-ruler {
  height: 16px;
  background: #ffffff;
  border-bottom: 1px solid #aca899;
  position: relative;
  background-image: repeating-linear-gradient(90deg, #999999 0, #999999 1px, transparent 1px, transparent 10px);
}

.winxp-wordpad-editor-wrap {
  flex: 1;
  background: #808080;
  padding: 16px;
  overflow: auto;
  display: flex;
  justify-content: center;
}

.winxp-wordpad-sheet {
  width: 580px;
  min-height: 500px;
  background: #ffffff;
  box-shadow: 2px 2px 8px rgba(0, 0, 0, 0.4);
  padding: 30px 40px;
  outline: none;
  font-family: Tahoma, sans-serif;
  font-size: 13px;
  line-height: 1.5;
  color: #000000;
}

/* ==========================================================================
   59. CONTROL PANEL (control.exe) (.winxp-control-window, #winxp-win-control)
   ========================================================================== */
.winxp-control-window,
#winxp-win-control {
  background: #ffffff;
  font-family: Tahoma, 'Pixelify Sans', sans-serif;
  font-size: 11px;
  color: #000000;
  display: flex;
  flex-direction: column;
}

.winxp-control-body {
  flex: 1;
  display: flex;
  overflow: hidden;
  background: #ffffff;
}

.winxp-control-sidebar {
  width: 200px;
  background: #6b8dc8 linear-gradient(180deg, #7497d6 0%, #587ab7 100%);
  padding: 10px;
  color: #ffffff;
  display: flex;
  flex-direction: column;
  gap: 12px;
  border-right: 1px solid #4a689d;
  flex-shrink: 0;
}

.winxp-control-side-box {
  background: #ffffff;
  border-radius: 4px;
  overflow: hidden;
  border: 1px solid #ffffff;
  box-shadow: 0 1px 3px rgba(0,0,0,0.25);
}

.winxp-control-side-hdr {
  background: linear-gradient(90deg, #215dc6 0%, #3d8bf4 100%);
  color: #ffffff;
  font-weight: bold;
  padding: 5px 8px;
  font-size: 11px;
}

.winxp-control-side-body {
  background: #d3e5fa;
  padding: 6px 8px;
  display: flex;
  flex-direction: column;
  gap: 4px;
}

.winxp-control-side-link {
  color: #0022cc;
  text-decoration: none;
  cursor: pointer;
  font-size: 11px;
  display: flex;
  align-items: center;
  gap: 4px;
}

.winxp-control-side-link:hover {
  text-decoration: underline;
  color: #cc0000;
}

.winxp-control-content {
  flex: 1;
  padding: 16px 20px;
  overflow-y: auto;
  background: #ffffff;
}

.winxp-control-cat-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
  gap: 16px;
  margin-top: 10px;
}

.winxp-control-cat-card {
  display: flex;
  gap: 10px;
  align-items: flex-start;
  padding: 8px;
  border-radius: 4px;
  cursor: pointer;
  border: 1px solid transparent;
}

.winxp-control-cat-card:hover {
  background: #e8f1fc;
  border-color: #316ac5;
}

.winxp-control-cat-icon {
  width: 36px;
  height: 36px;
  flex-shrink: 0;
}

.winxp-control-cat-title {
  font-weight: bold;
  color: #003399;
  font-size: 12px;
  margin-bottom: 2px;
}

.winxp-control-cat-desc {
  font-size: 11px;
  color: #555555;
  line-height: 1.3;
}

/* Classic View Grid */
.winxp-control-classic-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(90px, 1fr));
  gap: 12px;
  margin-top: 10px;
}

.winxp-control-classic-item {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 6px;
  padding: 8px 4px;
  cursor: pointer;
  border-radius: 3px;
  border: 1px solid transparent;
  text-align: center;
}

.winxp-control-classic-item:hover {
  background: #e8f1fc;
  border-color: #316ac5;
}

/* ==========================================================================
   60. REGISTRY EDITOR (regedit.exe) (.winxp-regedit-window, #winxp-win-regedit)
   ========================================================================== */
.winxp-regedit-window,
#winxp-win-regedit {
  background: #ece9d8;
  font-family: Tahoma, 'Pixelify Sans', sans-serif;
  font-size: 11px;
  color: #000000;
  display: flex;
  flex-direction: column;
}

.winxp-regedit-body {
  flex: 1;
  display: flex;
  overflow: hidden;
  background: #ffffff;
  border-top: 1px solid #aca899;
}

.winxp-regedit-tree {
  width: 240px;
  background: #ffffff;
  border-right: 1px solid #aca899;
  overflow: auto;
  padding: 4px;
  flex-shrink: 0;
}

.winxp-regedit-node {
  display: flex;
  align-items: center;
  gap: 4px;
  padding: 2px 4px;
  cursor: pointer;
  white-space: nowrap;
  border-radius: 2px;
}

.winxp-regedit-node:hover {
  background: #e8f1fc;
}

.winxp-regedit-node.selected {
  background: #316ac5;
  color: #ffffff;
}

.winxp-regedit-table-wrap {
  flex: 1;
  background: #ffffff;
  overflow: auto;
}

.winxp-regedit-table {
  width: 100%;
  border-collapse: collapse;
  font-size: 11px;
}

.winxp-regedit-table th {
  background: linear-gradient(180deg, #ffffff 0%, #ece9d8 100%);
  border-right: 1px solid #d0ccc0;
  border-bottom: 1px solid #aca899;
  padding: 3px 8px;
  font-weight: normal;
  text-align: left;
}

.winxp-regedit-table td {
  padding: 3px 8px;
  border-bottom: 1px solid #f0eee5;
}

.winxp-regedit-table tr:hover {
  background: #e8f1fc;
}

.winxp-regedit-table tr.selected {
  background: #316ac5;
  color: #ffffff;
}

.winxp-regedit-statusbar {
  background: #ece9d8;
  border-top: 1px solid #aca899;
  padding: 2px 8px;
  font-size: 11px;
  color: #000000;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

/* ==========================================================================
   61. ADD OR REMOVE PROGRAMS (appwiz.cpl) (.winxp-appwiz-window, #winxp-win-appwiz)
   ========================================================================== */
.winxp-appwiz-window,
#winxp-win-appwiz {
  background: #ece9d8;
  font-family: Tahoma, 'Pixelify Sans', sans-serif;
  font-size: 11px;
  color: #000000;
  display: flex;
  flex-direction: column;
}

.winxp-appwiz-body {
  flex: 1;
  display: flex;
  overflow: hidden;
  background: #ece9d8;
  padding: 10px;
  gap: 10px;
}

.winxp-appwiz-nav {
  width: 140px;
  background: #d8d4c4;
  border: 1px solid #7f9db9;
  border-radius: 3px;
  display: flex;
  flex-direction: column;
  padding: 4px;
  gap: 4px;
  flex-shrink: 0;
}

.winxp-appwiz-nav-btn {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 4px;
  padding: 8px 4px;
  background: transparent;
  border: 1px solid transparent;
  border-radius: 2px;
  cursor: pointer;
  font-size: 10px;
  text-align: center;
}

.winxp-appwiz-nav-btn.active {
  background: #316ac5;
  color: #ffffff;
  font-weight: bold;
}

.winxp-appwiz-list-wrap {
  flex: 1;
  background: #ffffff;
  border: 1px solid #7f9db9;
  overflow-y: auto;
}

.winxp-appwiz-item {
  display: flex;
  flex-direction: column;
  padding: 6px 10px;
  border-bottom: 1px solid #e0dfd8;
  cursor: pointer;
}

.winxp-appwiz-item:hover {
  background: #eef4fb;
}

.winxp-appwiz-item.expanded {
  background: #dbe8f6;
  border-color: #7f9db9;
}

.winxp-appwiz-item-row {
  display: flex;
  justify-content: space-between;
  align-items: center;
}

.winxp-appwiz-item-title {
  font-weight: bold;
  display: flex;
  align-items: center;
  gap: 6px;
}

.winxp-appwiz-expanded-row {
  margin-top: 8px;
  padding-top: 6px;
  border-top: 1px dashed #aca899;
  display: flex;
  justify-content: space-between;
  align-items: center;
  font-size: 11px;
}

.winxp-appwiz-btn {
  padding: 3px 12px;
  background: linear-gradient(180deg, #ffffff 0%, #ece9d8 100%);
  border: 1px solid #003c74;
  border-radius: 3px;
  cursor: pointer;
  font-size: 11px;
}

.winxp-appwiz-btn:hover {
  background: linear-gradient(180deg, #eef4fb 0%, #dbe8f6 100%);
  box-shadow: 0 0 4px #f69d27;
}


/* -------------------------------------------------------------------------- */
/* Windows XP System Tray Polish & Security Shield                           */
/* -------------------------------------------------------------------------- */
.winxp-tray-btn {
  background: transparent;
  border: none;
  cursor: pointer;
  padding: 1px 2px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 2px;
}
.winxp-tray-btn:hover {
  background: rgba(255, 255, 255, 0.25);
  box-shadow: inset 0 0 2px rgba(255, 255, 255, 0.4);
}
.winxp-tray-btn:focus-visible {
  outline: 1px dotted #ffffff;
}
.winxp-tray-chevron {
  width: 14px;
  height: 20px;
  background: linear-gradient(90deg, #1860d5 0%, #114fb0 100%);
  border: 1px solid #0a367c;
  border-radius: 3px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  margin-right: 4px;
  padding: 0;
}
.winxp-tray-chevron:hover {
  background: linear-gradient(90deg, #2b7cf5 0%, #1a63d9 100%);
}
.winxp-tray-chevron:focus-visible {
  outline: 1px dotted #ffffff;
}
.winxp-tray-sec-alert {
  animation: winxpSecPulse 2s infinite ease-in-out;
}
@keyframes winxpSecPulse {
  0%, 100% { filter: drop-shadow(0 0 1px #ff0000); }
  50% { filter: drop-shadow(0 0 4px #ff3333); }
}

/* -------------------------------------------------------------------------- */
/* Windows Security Center (wscui.cpl)                                       */
/* -------------------------------------------------------------------------- */
.winxp-wsc-window {
  font-family: Tahoma, 'Segoe UI', sans-serif;
  font-size: 11px;
  color: #000000;
  display: flex;
  flex-direction: column;
  height: 100%;
  background: #ffffff;
  overflow: hidden;
}
.winxp-wsc-header {
  background: linear-gradient(180deg, #1a57b8 0%, #0d3e8e 100%);
  color: #ffffff;
  padding: 10px 16px;
  display: flex;
  align-items: center;
  gap: 14px;
  border-bottom: 2px solid #e68b2c;
  flex-shrink: 0;
}
.winxp-wsc-header-icon {
  width: 36px;
  height: 36px;
  flex-shrink: 0;
}
.winxp-wsc-header-title {
  font-size: 16px;
  font-weight: bold;
  letter-spacing: 0.2px;
  color: #ffffff;
  text-shadow: 1px 1px 2px rgba(0, 0, 0, 0.6);
}
.winxp-wsc-header-sub {
  font-size: 11px;
  color: #d8e8fc;
  margin-top: 2px;
}
.winxp-wsc-body {
  display: flex;
  flex: 1;
  overflow: hidden;
}
.winxp-wsc-sidebar {
  width: 180px;
  background: #dbe8f9;
  border-right: 1px solid #7f9db9;
  padding: 12px;
  overflow-y: auto;
  flex-shrink: 0;
}
.winxp-wsc-sidebar-title {
  font-weight: bold;
  color: #003399;
  margin-bottom: 6px;
  font-size: 11px;
}
.winxp-wsc-sidebar-links {
  list-style: none;
  padding: 0;
  margin: 0 0 16px 0;
}
.winxp-wsc-sidebar-link {
  color: #003399;
  text-decoration: underline;
  cursor: pointer;
  display: block;
  margin-bottom: 6px;
  font-size: 11px;
}
.winxp-wsc-sidebar-link:hover {
  color: #e68b2c;
}
.winxp-wsc-sidebar-link:focus-visible {
  outline: 1px dotted #003399;
}
.winxp-wsc-content {
  flex: 1;
  padding: 14px 16px;
  overflow-y: auto;
  background: #ffffff;
}
.winxp-wsc-banner-alert {
  background: #ffffcc;
  border: 1px solid #e6db55;
  border-radius: 4px;
  padding: 10px 12px;
  display: flex;
  align-items: flex-start;
  gap: 10px;
  margin-bottom: 14px;
}
.winxp-wsc-banner-alert strong {
  color: #b91c1c;
  display: block;
  margin-bottom: 3px;
}
.winxp-wsc-card {
  border: 1px solid #b5c7de;
  border-radius: 4px;
  margin-bottom: 10px;
  overflow: hidden;
  background: #ffffff;
}
.winxp-wsc-card-header {
  background: linear-gradient(180deg, #f4f8fe 0%, #e2ecf9 100%);
  padding: 8px 12px;
  display: flex;
  justify-content: space-between;
  align-items: center;
  border-bottom: 1px solid #b5c7de;
  cursor: pointer;
}
.winxp-wsc-card-title {
  font-weight: bold;
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 12px;
}
.winxp-wsc-badge {
  padding: 2px 8px;
  border-radius: 3px;
  font-size: 10px;
  font-weight: bold;
}
.winxp-wsc-badge-on {
  background: #dcfce7;
  color: #15803d;
  border: 1px solid #86efac;
}
.winxp-wsc-badge-alert {
  background: #fee2e2;
  color: #b91c1c;
  border: 1px solid #fca5a5;
}
.winxp-wsc-card-body {
  padding: 10px 14px;
  font-size: 11px;
  line-height: 1.4;
  color: #222222;
}
.winxp-wsc-card-actions {
  margin-top: 8px;
  display: flex;
  justify-content: flex-end;
  gap: 8px;
}
.winxp-wsc-btn {
  padding: 3px 12px;
  font-family: Tahoma, sans-serif;
  font-size: 11px;
  background: linear-gradient(180deg, #ffffff 0%, #ece9d8 100%);
  border: 1px solid #003c74;
  border-radius: 3px;
  cursor: pointer;
}
.winxp-wsc-btn:hover {
  background: linear-gradient(180deg, #eef4fb 0%, #dbe8f6 100%);
  box-shadow: 0 0 3px #f69d27;
}
.winxp-wsc-btn:focus-visible {
  outline: 1px dotted #000000;
}

/* -------------------------------------------------------------------------- */
/* Disk Cleanup (cleanmgr.exe)                                               */
/* -------------------------------------------------------------------------- */
.winxp-cleanmgr-window {
  font-family: Tahoma, 'Segoe UI', sans-serif;
  font-size: 11px;
  color: #000000;
  display: flex;
  flex-direction: column;
  height: 100%;
  background: #ece9d8;
  padding: 10px;
  box-sizing: border-box;
}
.winxp-cleanmgr-calc {
  text-align: center;
  padding: 16px;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 12px;
}
.winxp-cleanmgr-tabs {
  display: flex;
  gap: 2px;
  margin-bottom: -1px;
  z-index: 1;
}
.winxp-cleanmgr-tab {
  padding: 4px 12px;
  background: #d8d3c5;
  border: 1px solid #918b78;
  border-bottom: none;
  border-top-left-radius: 4px;
  border-top-right-radius: 4px;
  cursor: pointer;
  font-size: 11px;
}
.winxp-cleanmgr-tab.active {
  background: #ece9d8;
  border-color: #ffffff #918b78 #ece9d8 #ffffff;
  font-weight: bold;
}
.winxp-cleanmgr-tabpanel {
  border: 1px solid #ffffff;
  border-right-color: #918b78;
  border-bottom-color: #918b78;
  background: #ece9d8;
  padding: 12px;
  flex: 1;
  display: flex;
  flex-direction: column;
  overflow: hidden;
}
.winxp-cleanmgr-header {
  display: flex;
  align-items: center;
  gap: 12px;
  margin-bottom: 10px;
}
.winxp-cleanmgr-list-wrap {
  flex: 1;
  background: #ffffff;
  border: 1px solid #7f9db9;
  overflow-y: auto;
  max-height: 140px;
  margin-bottom: 8px;
}
.winxp-cleanmgr-row {
  display: flex;
  align-items: center;
  padding: 3px 6px;
  cursor: pointer;
  border-bottom: 1px solid #f0f0f0;
}
.winxp-cleanmgr-row:hover {
  background: #eef4fb;
}
.winxp-cleanmgr-row.selected {
  background: #316ac5;
  color: #ffffff;
}
.winxp-cleanmgr-descbox {
  background: #ece9d8;
  border: 1px solid #aca899;
  padding: 6px 8px;
  font-size: 10px;
  line-height: 1.35;
  height: 60px;
  overflow-y: auto;
  margin-bottom: 10px;
}
.winxp-cleanmgr-footer {
  display: flex;
  justify-content: flex-end;
  gap: 8px;
  margin-top: 6px;
}

/* -------------------------------------------------------------------------- */
/* Device Manager (devmgmt.msc)                                              */
/* -------------------------------------------------------------------------- */
.winxp-devmgmt-window {
  font-family: Tahoma, 'Segoe UI', sans-serif;
  font-size: 11px;
  color: #000000;
  display: flex;
  flex-direction: column;
  height: 100%;
  background: #ece9d8;
}
.winxp-devmgmt-menubar {
  display: flex;
  background: #ece9d8;
  border-bottom: 1px solid #aca899;
  padding: 2px 6px;
}
.winxp-devmgmt-menuitem {
  padding: 2px 6px;
  cursor: pointer;
}
.winxp-devmgmt-menuitem:hover {
  background: #316ac5;
  color: #ffffff;
}
.winxp-devmgmt-toolbar {
  display: flex;
  gap: 4px;
  padding: 3px 6px;
  background: linear-gradient(180deg, #ffffff 0%, #ece9d8 100%);
  border-bottom: 1px solid #aca899;
  align-items: center;
}
.winxp-devmgmt-tb-btn {
  padding: 2px 6px;
  background: transparent;
  border: 1px solid transparent;
  border-radius: 2px;
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  gap: 4px;
  font-size: 11px;
}
.winxp-devmgmt-tb-btn:hover {
  border-color: #316ac5;
  background: #eef4fb;
}
.winxp-devmgmt-tree-wrap {
  flex: 1;
  background: #ffffff;
  border: 1px solid #7f9db9;
  margin: 6px;
  overflow: auto;
  padding: 4px;
}
.winxp-devmgmt-node {
  display: flex;
  align-items: center;
  gap: 4px;
  padding: 2px 4px;
  cursor: pointer;
  user-select: none;
}
.winxp-devmgmt-node:hover {
  background: #eef4fb;
}
.winxp-devmgmt-node.selected {
  background: #316ac5;
  color: #ffffff;
}
.winxp-devmgmt-toggle {
  width: 12px;
  height: 12px;
  border: 1px solid #7f9db9;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 9px;
  line-height: 1;
  font-family: monospace;
  background: #ffffff;
  cursor: pointer;
  color: #000000;
}
.winxp-devmgmt-subnodes {
  padding-left: 20px;
}

/* -------------------------------------------------------------------------- */
/* System Information (msinfo32.exe)                                         */
/* -------------------------------------------------------------------------- */
.winxp-msinfo-window {
  font-family: Tahoma, 'Segoe UI', sans-serif;
  font-size: 11px;
  color: #000000;
  display: flex;
  flex-direction: column;
  height: 100%;
  background: #ece9d8;
}
.winxp-msinfo-body {
  display: flex;
  flex: 1;
  overflow: hidden;
  margin: 6px;
  gap: 6px;
}
.winxp-msinfo-tree {
  width: 180px;
  background: #ffffff;
  border: 1px solid #7f9db9;
  overflow-y: auto;
  padding: 4px;
}
.winxp-msinfo-table-wrap {
  flex: 1;
  background: #ffffff;
  border: 1px solid #7f9db9;
  overflow: auto;
}
.winxp-msinfo-table {
  width: 100%;
  border-collapse: collapse;
  font-size: 11px;
}
.winxp-msinfo-table th {
  background: linear-gradient(180deg, #f9f8f4 0%, #ece9d8 100%);
  border: 1px solid #aca899;
  padding: 3px 6px;
  text-align: left;
  font-weight: bold;
}
.winxp-msinfo-table td {
  padding: 3px 6px;
  border-bottom: 1px solid #f0f0f0;
}
.winxp-msinfo-table tr:hover {
  background: #eef4fb;
}
.winxp-msinfo-filterbar {
  display: flex;
  align-items: center;
  gap: 6px;
  padding: 4px 6px;
  border-top: 1px solid #aca899;
  background: #ece9d8;
}

/* ==========================================================================
   AUTHENTIC WINDOWS XP LUNA GLOBAL DESIGN HARMONIZATION
   ========================================================================== */

/* Scoped Luna Scrollbars for all elements in winxp layout */
body[data-theme-layout="winxp"] *::-webkit-scrollbar {
  width: 16px;
  height: 16px;
  background: #ece9d8;
}

body[data-theme-layout="winxp"] *::-webkit-scrollbar-track {
  background: #ece9d8;
  border: 1px solid #dcd8c8;
}

body[data-theme-layout="winxp"] *::-webkit-scrollbar-thumb {
  background: linear-gradient(180deg, #d8e5f5 0%, #c4d7ed 50%, #b2cbdf 100%);
  border: 1px solid #7f9db9;
  border-radius: 2px;
  box-shadow: inset 1px 1px 0 #ffffff;
}

body[data-theme-layout="winxp"] *::-webkit-scrollbar-thumb:hover {
  background: linear-gradient(180deg, #e6f0fb 0%, #d2e3f5 50%, #c1d6ea 100%);
}

body[data-theme-layout="winxp"] *::-webkit-scrollbar-corner {
  background: #ece9d8;
}

/* Authentic Luna Groupbox & Legend */
body[data-theme-layout="winxp"] fieldset,
body[data-theme-layout="winxp"] .winxp-groupbox {
  border: 1px solid #d4d0c8;
  border-radius: 4px;
  padding: 8px 10px;
  margin: 6px 0;
  box-sizing: border-box;
}

body[data-theme-layout="winxp"] legend,
body[data-theme-layout="winxp"] .winxp-legend {
  color: #003399;
  font-family: Tahoma, sans-serif;
  font-size: 11px;
  font-weight: bold;
  padding: 0 4px;
}

/* Authentic Windows XP Text Inputs & Controls */
body[data-theme-layout="winxp"] input[type="text"],
body[data-theme-layout="winxp"] input[type="password"],
body[data-theme-layout="winxp"] select,
body[data-theme-layout="winxp"] textarea {
  font-family: Tahoma, sans-serif;
  font-size: 11px;
  border: 1px solid #7f9db9;
  background: #ffffff;
  color: #000000;
  box-sizing: border-box;
}

body[data-theme-layout="winxp"] input[type="text"]:focus,
body[data-theme-layout="winxp"] input[type="password"]:focus,
body[data-theme-layout="winxp"] select:focus,
body[data-theme-layout="winxp"] textarea:focus {
  border-color: #0055ea;
  outline: none;
  box-shadow: 0 0 2px rgba(0, 85, 234, 0.4);
}

/* Secondary Common Tasks Sidebar Panels (Authentic Luna White-to-Slate Gradient) */
.winxp-side-panel:not(:first-child) .winxp-side-header,
.luna-sidebar-card:not(:first-child) .luna-sidebar-header {
  background: linear-gradient(90deg, #ffffff 0%, #c6d9f7 100%) !important;
  color: #215dc6 !important;
  border-bottom: 1px solid #d0ddf5 !important;
}

.winxp-side-panel:not(:first-child) .winxp-side-chevron,
.luna-sidebar-card:not(:first-child) .luna-sidebar-chevron {
  background: #215dc6 !important;
  color: #ffffff !important;
}

/* Quick Launch Toolbar Elevated Glassy Hover */
.winxp-ql-btn:hover,
.xp-ql-icon:hover {
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.4) 0%, rgba(255, 255, 255, 0.15) 100%) !important;
  border: 1px solid rgba(255, 255, 255, 0.6) !important;
  box-shadow: inset 1px 1px 0 rgba(255, 255, 255, 0.7), 1px 1px 2px rgba(0, 0, 0, 0.25) !important;
}

.winxp-ql-btn:active,
.xp-ql-icon:active {
  background: rgba(0, 0, 0, 0.15) !important;
  border: 1px solid rgba(0, 0, 0, 0.3) !important;
  box-shadow: inset 1px 1px 2px rgba(0, 0, 0, 0.4) !important;
}

/* Authentic Windows XP Luna Specular Glass Titlebar Gloss Overlay */
#winxp-titlebar,
.winxp-titlebar {
  position: relative;
}

#winxp-titlebar::before,
.winxp-titlebar::before {
  content: "";
  position: absolute;
  top: 1px;
  left: 2px;
  right: 2px;
  height: 12px;
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.38) 0%, rgba(255, 255, 255, 0.12) 50%, rgba(255, 255, 255, 0) 100%);
  border-radius: 3px 3px 0 0;
  pointer-events: none;
}

.winxp-titlebar.inactive::before,
.winxp-aux-window.inactive .winxp-titlebar::before,
.winxp-aux-window.winxp-window-inactive .winxp-titlebar::before,
body[data-theme-layout="winxp"] main.winxp-window-inactive #winxp-titlebar::before {
  opacity: 0.25 !important;
}

/* ==========================================================================
   AUTHENTIC LUNA COLOR SCHEMES: OLIVE GREEN & METALLIC SILVER
   ========================================================================== */

/* --- OLIVE GREEN --- */
body[data-xp-subtheme="olive"] main,
body[data-xp-subtheme="olive"] .winxp-aux-window,
body[data-xp-subtheme="olive"] .winxp-msgbox-window {
  border-color: #8b9e6b !important;
}

body[data-xp-subtheme="olive"] #winxp-titlebar,
body[data-xp-subtheme="olive"] .winxp-titlebar {
  background: linear-gradient(180deg, #a7b789 0%, #b8c89c 12%, #8fa06f 50%, #768656 100%) !important;
  border-color: #8b9e6b !important;
}

body[data-xp-subtheme="olive"] #winxp-taskbar,
body[data-xp-subtheme="olive"] .winxp-taskbar {
  background: linear-gradient(180deg, #99ab7b 0%, #839762 100%) !important;
  border-top-color: #abbc8d !important;
}

body[data-xp-subtheme="olive"] #winxp-start-btn,
body[data-xp-subtheme="olive"] .winxp-start-btn {
  background: linear-gradient(180deg, #a86c2e 0%, #bd7d39 12%, #965f24 50%, #744413 100%) !important;
}

body[data-xp-subtheme="olive"] .winxp-sm-header {
  background: linear-gradient(180deg, #768656 0%, #8fa06f 100%) !important;
}

body[data-xp-subtheme="olive"] .winxp-sm-footer {
  background: linear-gradient(180deg, #8fa06f 0%, #768656 100%) !important;
}

body[data-xp-subtheme="olive"] .winxp-task-tab.active,
body[data-xp-subtheme="olive"] .winxp-task-tab[aria-pressed="true"] {
  background: linear-gradient(180deg, #e68b2c 0%, #e68b2c 2px, #58673f 2px, #4d5b36 50%, #414e2c 100%) !important;
  border-color: #333d22 !important;
}

body[data-xp-subtheme="olive"] .winxp-titlebar.inactive,
body[data-xp-subtheme="olive"] .winxp-aux-window.inactive .winxp-titlebar,
body[data-xp-subtheme="olive"] main.winxp-window-inactive #winxp-titlebar {
  background: linear-gradient(180deg, #c1cca8 0%, #adb993 100%) !important;
  border-color: #adb993 !important;
}

/* --- SILVER --- */
body[data-xp-subtheme="silver"] main,
body[data-xp-subtheme="silver"] .winxp-aux-window,
body[data-xp-subtheme="silver"] .winxp-msgbox-window {
  border-color: #9e9d99 !important;
}

body[data-xp-subtheme="silver"] #winxp-titlebar,
body[data-xp-subtheme="silver"] .winxp-titlebar {
  background: linear-gradient(180deg, #c0c0c0 0%, #eaeaea 12%, #b5b5b5 50%, #8c8c8c 100%) !important;
  border-color: #9e9d99 !important;
}

body[data-xp-subtheme="silver"] #winxp-taskbar,
body[data-xp-subtheme="silver"] .winxp-taskbar {
  background: linear-gradient(180deg, #c4c4c4 0%, #a2a2a2 100%) !important;
  border-top-color: #e0e0e0 !important;
}

body[data-xp-subtheme="silver"] .winxp-sm-header {
  background: linear-gradient(180deg, #8c8c8c 0%, #b5b5b5 100%) !important;
}

body[data-xp-subtheme="silver"] .winxp-sm-footer {
  background: linear-gradient(180deg, #b5b5b5 0%, #8c8c8c 100%) !important;
}

body[data-xp-subtheme="silver"] .winxp-task-tab.active,
body[data-xp-subtheme="silver"] .winxp-task-tab[aria-pressed="true"] {
  background: linear-gradient(180deg, #e68b2c 0%, #e68b2c 2px, #6e6e6e 2px, #5f5f5f 50%, #505050 100%) !important;
  border-color: #3a3a3a !important;
}

body[data-xp-subtheme="silver"] .winxp-titlebar.inactive,
body[data-xp-subtheme="silver"] .winxp-aux-window.inactive .winxp-titlebar,
body[data-xp-subtheme="silver"] main.winxp-window-inactive #winxp-titlebar {
  background: linear-gradient(180deg, #d8d8d8 0%, #bfbfbf 100%) !important;
  border-color: #bfbfbf !important;
}


/* --- Windows XP On-Screen Keyboard (osk.exe) --- */
.winxp-osk-container {
  display: flex;
  flex-direction: column;
  height: 100%;
  background: #ece9d8;
  font-family: Tahoma, 'Segoe UI', sans-serif;
  font-size: 11px;
  user-select: none;
  box-sizing: border-box;
}
.winxp-osk-menubar {
  display: flex;
  background: #ece9d8;
  border-bottom: 1px solid #919b9c;
  padding: 1px 4px;
}
.winxp-osk-menu-item {
  padding: 2px 6px;
  cursor: pointer;
  color: #000;
  border-radius: 2px;
}
.winxp-osk-menu-item:hover {
  background: #316ac5;
  color: #fff;
}
.winxp-osk-board {
  display: flex;
  flex-direction: column;
  gap: 3px;
  padding: 6px;
  background: #ece9d8;
  flex: 1;
  overflow: hidden;
}
.winxp-osk-row {
  display: flex;
  gap: 3px;
  align-items: center;
}
.winxp-osk-key {
  height: 25px;
  background: #f0ede0;
  border-top: 1px solid #ffffff;
  border-left: 1px solid #ffffff;
  border-bottom: 2px solid #716f64;
  border-right: 2px solid #716f64;
  border-radius: 2px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 11px;
  font-weight: 500;
  color: #000000;
  cursor: pointer;
  box-sizing: border-box;
  text-align: center;
  user-select: none;
  padding: 0 2px;
}
.winxp-osk-key:hover {
  background: #ffffff;
}
.winxp-osk-key:active, .winxp-osk-key.active {
  border-top: 2px solid #716f64;
  border-left: 2px solid #716f64;
  border-bottom: 1px solid #ffffff;
  border-right: 1px solid #ffffff;
  background: #dcd8c8;
}
.winxp-osk-key.modifier-active {
  background: #b5c7e3;
  border-top: 2px solid #316ac5;
  border-left: 2px solid #316ac5;
  border-bottom: 1px solid #ffffff;
  border-right: 1px solid #ffffff;
  color: #000000;
}
.winxp-osk-status {
  padding: 3px 6px;
  border-top: 1px solid #919b9c;
  font-size: 10px;
  color: #444444;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  background: #ece9d8;
}


/* --- Windows XP Microsoft Hearts (mshearts.exe) --- */
.winxp-hearts-container {
  display: flex;
  flex-direction: column;
  height: 100%;
  background: #076324;
  font-family: Tahoma, 'Segoe UI', sans-serif;
  font-size: 11px;
  user-select: none;
  box-sizing: border-box;
  overflow: hidden;
  position: relative;
}
.winxp-hearts-menubar {
  display: flex;
  background: #ece9d8;
  border-bottom: 1px solid #919b9c;
  padding: 1px 4px;
}
.winxp-hearts-menu-item {
  padding: 2px 6px;
  cursor: pointer;
  color: #000000;
  border-radius: 2px;
}
.winxp-hearts-menu-item:hover {
  background: #316ac5;
  color: #ffffff;
}
.winxp-hearts-table {
  flex: 1;
  position: relative;
  overflow: hidden;
  display: flex;
  align-items: center;
  justify-content: center;
}
.winxp-hearts-player-label {
  position: absolute;
  color: #ffffff;
  font-size: 11px;
  font-weight: bold;
  text-shadow: 1px 1px 2px #000000;
  background: rgba(0, 0, 0, 0.45);
  padding: 2px 8px;
  border-radius: 3px;
  z-index: 5;
}
.winxp-hearts-card {
  width: 54px;
  height: 76px;
  border-radius: 4px;
  background: #ffffff;
  border: 1px solid #222222;
  box-shadow: 1px 1px 3px rgba(0, 0, 0, 0.4);
  position: absolute;
  user-select: none;
  cursor: pointer;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  padding: 2px 3px;
  box-sizing: border-box;
  font-family: Tahoma, sans-serif;
  font-size: 11px;
  font-weight: bold;
  transition: transform 0.15s ease, top 0.15s ease;
}
.winxp-hearts-card.face-down {
  background: repeating-linear-gradient(
    45deg,
    #154b8c,
    #154b8c 4px,
    #1e64b8 4px,
    #1e64b8 8px
  );
  border: 1px solid #0b2e59;
}
.winxp-hearts-card.selected {
  transform: translateY(-16px);
  box-shadow: 0 4px 8px rgba(0, 0, 0, 0.6);
  border: 2px solid #ffcc00;
}
.winxp-hearts-card.red {
  color: #d32f2f;
}
.winxp-hearts-card.black {
  color: #111111;
}
.winxp-hearts-status {
  background: #ece9d8;
  border-top: 1px solid #919b9c;
  padding: 3px 8px;
  font-size: 11px;
  color: #000000;
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.winxp-hearts-btn {
  background: #ece9d8;
  border: 1px solid #003c74;
  border-radius: 3px;
  padding: 3px 12px;
  font-size: 11px;
  font-family: Tahoma, sans-serif;
  cursor: pointer;
  box-shadow: inset 0 1px 0 #ffffff;
}
.winxp-hearts-btn:hover {
  background: #e0ded0;
}
.winxp-hearts-btn:active {
  background: #c8c5b5;
}


/* --- Windows XP Desktop Shortcut Arrow Overlay Badge (.lnk) --- */
.winxp-desktop-glyph {
  position: relative !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
}

.winxp-shortcut-badge {
  position: absolute !important;
  bottom: 0px !important;
  left: 0px !important;
  width: 11px !important;
  height: 11px !important;
  background-color: #ffffff !important;
  border: 1px solid #7f9db9 !important;
  border-radius: 1px !important;
  box-shadow: 1px 1px 2px rgba(0, 0, 0, 0.45) !important;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 10 10'%3E%3Cpath d='M2 6 L6 2 L6 4.5 C7.5 4.5 9 5.5 9 8 C8 6.5 7 6 6 6 L6 8.5 Z' fill='%230058ee'/%3E%3C/svg%3E") !important;
  background-size: 9px 9px !important;
  background-position: center !important;
  background-repeat: no-repeat !important;
  pointer-events: none !important;
  z-index: 5 !important;
}

/* --- Windows XP Run Dialog Combobox (ComboBoxEx32) --- */
.winxp-run-combobox {
  display: flex !important;
  flex: 1 !important;
  position: relative !important;
  background: #ffffff !important;
  border: 1px solid #7f9db9 !important;
  box-shadow: inset 1px 1px 1px rgba(0, 0, 0, 0.15) !important;
  height: 22px !important;
  box-sizing: border-box !important;
}

.winxp-run-combobox .winxp-run-field {
  flex: 1 !important;
  border: none !important;
  outline: none !important;
  background: transparent !important;
  padding: 2px 6px !important;
  font-family: Tahoma, 'Segoe UI', sans-serif !important;
  font-size: 11px !important;
  color: #000000 !important;
  box-sizing: border-box !important;
}

.winxp-run-dropdown-btn {
  width: 17px !important;
  height: 100% !important;
  background: linear-gradient(180deg, #ffffff 0%, #ece9d8 100%) !important;
  border: none !important;
  border-left: 1px solid #7f9db9 !important;
  cursor: pointer !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 0 !important;
  font-size: 7px !important;
  color: #000000 !important;
  box-sizing: border-box !important;
}

.winxp-run-dropdown-btn:hover {
  background: #e0ded0 !important;
}

.winxp-run-dropdown-btn:active {
  background: #c8c5b5 !important;
}

.winxp-run-dropdown-menu {
  position: absolute !important;
  top: 100% !important;
  left: -1px !important;
  right: -1px !important;
  background: #ffffff !important;
  border: 1px solid #7f9db9 !important;
  box-shadow: 2px 3px 6px rgba(0, 0, 0, 0.3) !important;
  max-height: 140px !important;
  overflow-y: auto !important;
  z-index: 1000 !important;
  box-sizing: border-box !important;
}

.winxp-run-dropdown-item {
  padding: 3px 6px !important;
  font-family: Tahoma, sans-serif !important;
  font-size: 11px !important;
  color: #000000 !important;
  cursor: pointer !important;
  white-space: nowrap !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
}

.winxp-run-dropdown-item:hover,
.winxp-run-dropdown-item.selected {
  background: #316ac5 !important;
  color: #ffffff !important;
}

/* --- Authentic Windows XP Turn Off Computer Grayscale Overlay --- */
.winxp-shutdown-overlay,
#winxp-shutdown-overlay {
  position: fixed !important;
  top: 0 !important;
  left: 0 !important;
  right: 0 !important;
  bottom: 0 !important;
  width: 100vw !important;
  height: 100vh !important;
  z-index: 99999 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  backdrop-filter: grayscale(100%) brightness(0.65) !important;
  -webkit-backdrop-filter: grayscale(100%) brightness(0.65) !important;
  background: rgba(0, 0, 0, 0.35) !important;
  user-select: none !important;
}


/* --- Phase 2: Start Menu Authentic Green All Programs Badge --- */
.winxp-sm-allprogs-badge {
  display: inline-flex !important;
  width: 15px !important;
  height: 15px !important;
  background: linear-gradient(180deg, #48bb78 0%, #2f855a 100%) !important;
  border: 1px solid #22543d !important;
  border-radius: 2px !important;
  align-items: center !important;
  justify-content: center !important;
  margin-left: 6px !important;
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.25) !important;
  vertical-align: middle !important;
}

.winxp-sm-allprogs-badge svg {
  width: 7px !important;
  height: 7px !important;
  fill: #ffffff !important;
}

/* --- Context Menu Cascading Submenus --- */
.winxp-ctx-has-sub {
  position: relative !important;
}

.winxp-ctx-submenu {
  display: none !important;
  position: absolute !important;
  left: 98% !important;
  top: -2px !important;
  min-width: 170px !important;
  background: #ece9d8 !important;
  border: 1px solid #00136b !important;
  box-shadow: 2px 2px 5px rgba(0, 0, 0, 0.35) !important;
  padding: 1px !important;
  z-index: 100001 !important;
  box-sizing: border-box !important;
}

.winxp-ctx-has-sub:hover > .winxp-ctx-submenu {
  display: block !important;
}

/* --- Taskbar Buttons Active Inset & Flashing State --- */
.winxp-task-tab.active,
.winxp-task-tab[aria-pressed="true"] {
  border: 1px solid #102a70 !important;
  background: linear-gradient(180deg, #1941a5 0%, #225bc5 50%, #1941a5 100%) !important;
  box-shadow: inset 1px 1px 2px rgba(0, 0, 0, 0.5) !important;
  color: #ffffff !important;
}

.winxp-task-tab.flashing {
  animation: winxp-flash-pulse 0.9s infinite alternate !important;
}

@keyframes winxp-flash-pulse {
  0% {
    background: linear-gradient(180deg, #1f55cc 0%, #3b73e8 100%) !important;
    color: #ffffff !important;
  }
  100% {
    background: linear-gradient(180deg, #f59e0b 0%, #fbbf24 100%) !important;
    color: #000000 !important;
  }
}

/* --- Screensaver Mini Monitor Screen --- */
.winxp-desk-mini-screen {
  width: 152px !important;
  height: 112px !important;
  background: #000000 !important;
  border: 2px inset #7f9db9 !important;
  border-radius: 4px !important;
  margin: 0 auto 10px !important;
  overflow: hidden !important;
  position: relative !important;
  box-shadow: inset 0 0 10px rgba(0, 0, 0, 0.8) !important;
}

.winxp-desk-mini-screen canvas {
  width: 100% !important;
  height: 100% !important;
  display: block !important;
}


/* --- Phase 3: Forensic Multi-stop Control Buttons & Tooltips --- */
.winxp-btn-close,
.luna-btn-close,
#winxp-btn-close {
  background: linear-gradient(180deg, #e05342 0%, #d83520 45%, #b51c08 50%, #901402 100%) !important;
  border: 1px solid #ffffff !important;
  border-radius: 3px !important;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.7), 0 1px 2px rgba(0, 0, 0, 0.4) !important;
}

.winxp-btn-close:hover,
.luna-btn-close:hover,
#winxp-btn-close:hover {
  background: linear-gradient(180deg, #f26859 0%, #ea4732 45%, #c42914 50%, #a02008 100%) !important;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.85), 0 0 6px rgba(234, 71, 50, 0.75) !important;
}

.winxp-btn-close:active,
.luna-btn-close:active,
#winxp-btn-close:active {
  background: linear-gradient(180deg, #801000 0%, #991c08 50%, #b5220c 100%) !important;
  box-shadow: inset 1px 1px 2px rgba(0, 0, 0, 0.6) !important;
}

.winxp-btn-min,
.winxp-btn-max,
.luna-btn-min,
.luna-btn-max,
#winxp-btn-min,
#winxp-btn-max {
  background: linear-gradient(180deg, #3c8ce7 0%, #1c65d6 45%, #1859cb 50%, #1043a5 100%) !important;
  border: 1px solid #ffffff !important;
  border-radius: 3px !important;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.7), 0 1px 2px rgba(0, 0, 0, 0.3) !important;
}

.winxp-btn-min:hover,
.winxp-btn-max:hover,
.luna-btn-min:hover,
.luna-btn-max:hover,
#winxp-btn-min:hover,
#winxp-btn-max:hover {
  background: linear-gradient(180deg, #599ff0 0%, #357ee8 45%, #2c72e0 50%, #1e58c2 100%) !important;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.85), 0 0 6px rgba(53, 126, 232, 0.6) !important;
}

.winxp-btn-min:active,
.winxp-btn-max:active,
.luna-btn-min:active,
.luna-btn-max:active,
#winxp-btn-min:active,
#winxp-btn-max:active {
  background: linear-gradient(180deg, #0e347d 0%, #15459e 50%, #1d5ec4 100%) !important;
  box-shadow: inset 1px 1px 2px rgba(0, 0, 0, 0.6) !important;
}

.winxp-aux-window.inactive .winxp-btn-min,
.winxp-aux-window.inactive .winxp-btn-max,
.inactive .winxp-btn-min,
.inactive .winxp-btn-max {
  background: linear-gradient(180deg, #b8c7e8 0%, #9cb2df 100%) !important;
  border-color: #d6e0f7 !important;
  color: #6d85b4 !important;
}

.winxp-aux-window.inactive .winxp-btn-close,
.inactive .winxp-btn-close {
  background: linear-gradient(180deg, #e3b8b0 0%, #cc9990 100%) !important;
  border-color: #f2deda !important;
  color: #9c6054 !important;
}

.winxp-title-text,
.luna-titlebar span:first-child,
.winxp-titlebar span:first-child {
  font-family: 'Trebuchet MS', Tahoma, sans-serif !important;
  font-size: 12px !important;
  font-weight: bold !important;
  color: #ffffff !important;
  text-shadow: 1px 1px 1px #0e2a6d !important;
  letter-spacing: 0.02em !important;
}

/* Authentic Luna Tooltip */
.winxp-tooltip {
  position: absolute !important;
  background: #ffffe1 !important;
  border: 1px solid #000000 !important;
  font-family: Tahoma, 'Segoe UI', sans-serif !important;
  font-size: 11px !important;
  color: #000000 !important;
  padding: 2px 5px !important;
  box-shadow: 2px 2px 3px rgba(0, 0, 0, 0.35) !important;
  z-index: 999999 !important;
  pointer-events: none !important;
  white-space: nowrap !important;
  line-height: 1.2 !important;
}

/* Start Menu My Recent Documents Submenu */
.winxp-sm-recent-wrap {
  position: relative !important;
}

.winxp-sm-recent-sub {
  display: none !important;
  position: absolute !important;
  left: 98% !important;
  top: 0 !important;
  background: #ffffff !important;
  border: 1px solid #716f64 !important;
  box-shadow: 2px 2px 6px rgba(0, 0, 0, 0.35) !important;
  min-width: 190px !important;
  flex-direction: column !important;
  z-index: 10005 !important;
  padding: 2px 0 !important;
  box-sizing: border-box !important;
}

.winxp-sm-recent-wrap:hover .winxp-sm-recent-sub {
  display: flex !important;
}

/* Desktop Icon Anti-Slop Font & Selection */
.winxp-desktop-icon .winxp-desktop-text {
  font-family: Tahoma, 'Segoe UI', sans-serif !important;
  font-size: 11px !important;
  color: #ffffff !important;
  text-shadow: 1px 1px 2px #000000, 0 0 4px #000000 !important;
  line-height: 1.2 !important;
}

.winxp-desktop-icon.selected .winxp-desktop-text {
  background: #0a246a !important;
  border-radius: 2px !important;
}

/* Volume Popup Bevel */
#winxp-volume-popup,
.winxp-volume-popup {
  background: #ece9d8 !important;
  border-top: 1px solid #ffffff !important;
  border-left: 1px solid #ffffff !important;
  border-right: 1px solid #716f64 !important;
  border-bottom: 1px solid #716f64 !important;
  box-shadow: 2px 2px 6px rgba(0, 0, 0, 0.35) !important;
}


/* ==========================================================================
   Phase 4: Authentic Windows XP Luna Polish
   - Universal Luna Blue WebKit Scrollbars with grip ridges and 3D buttons
   - Embossed double-dotted Taskbar Gripper (||)
   - Rounded 8px outer window frame & Trebuchet MS titlebars with text-shadow
   - Beveled Start Menu avatar frame
   - Authentic Explorer Task Pane gradients (#7ba2e7 -> #6375d6)
   - 100% Grayscale desaturation on Log Off backdrop
   ========================================================================== */

/* Universal Luna Blue Scrollbars */
body[data-theme-layout="winxp"] *::-webkit-scrollbar {
  width: 17px !important;
  height: 17px !important;
  background: #ece9d8 !important;
}

body[data-theme-layout="winxp"] *::-webkit-scrollbar-track {
  background: #f1efe2 !important;
  border: 1px solid #d4d0c8 !important;
  box-shadow: inset 1px 1px 0 #aca899 !important;
}

body[data-theme-layout="winxp"] *::-webkit-scrollbar-thumb {
  background: linear-gradient(180deg, #e4efff 0%, #c4d7ed 40%, #9bbfe6 80%, #7daadc 100%) !important;
  border: 1px solid #003c74 !important;
  border-radius: 2px !important;
  box-shadow: inset 1px 1px 0 #ffffff, inset -1px -1px 0 #7f9db9 !important;
  min-height: 32px !important;
}

body[data-theme-layout="winxp"] *::-webkit-scrollbar-thumb:hover {
  background: linear-gradient(180deg, #f0f6ff 0%, #d4e3f5 40%, #b2d0ef 80%, #9bc2e8 100%) !important;
  border-color: #002d5d !important;
}

body[data-theme-layout="winxp"] *::-webkit-scrollbar-thumb:active {
  background: linear-gradient(180deg, #9bbfe6 0%, #c4d7ed 50%, #e4efff 100%) !important;
  box-shadow: inset 1px 1px 1px rgba(0, 0, 0, 0.4) !important;
}

body[data-theme-layout="winxp"] *::-webkit-scrollbar-button {
  background: linear-gradient(180deg, #e4efff 0%, #c4d7ed 50%, #9bbfe6 100%) !important;
  border: 1px solid #003c74 !important;
  border-radius: 2px !important;
  box-shadow: inset 1px 1px 0 #ffffff, inset -1px -1px 0 #7f9db9 !important;
  height: 17px !important;
  width: 17px !important;
  display: block !important;
}

body[data-theme-layout="winxp"] *::-webkit-scrollbar-button:hover {
  background: linear-gradient(180deg, #f0f6ff 0%, #d4e3f5 50%, #b2d0ef 100%) !important;
}

body[data-theme-layout="winxp"] *::-webkit-scrollbar-button:active {
  background: linear-gradient(180deg, #9bbfe6 0%, #c4d7ed 50%, #e4efff 100%) !important;
  box-shadow: inset 1px 1px 1px rgba(0, 0, 0, 0.4) !important;
}

body[data-theme-layout="winxp"] *::-webkit-scrollbar-button:single-button:vertical:decrement {
  background: linear-gradient(180deg, #e4efff 0%, #c4d7ed 50%, #9bbfe6 100%) url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='16' height='16'><path d='M8 5 L4 10 L12 10 Z' fill='%23000000'/></svg>") center no-repeat !important;
}

body[data-theme-layout="winxp"] *::-webkit-scrollbar-button:single-button:vertical:increment {
  background: linear-gradient(180deg, #e4efff 0%, #c4d7ed 50%, #9bbfe6 100%) url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='16' height='16'><path d='M8 11 L4 6 L12 6 Z' fill='%23000000'/></svg>") center no-repeat !important;
}

body[data-theme-layout="winxp"] *::-webkit-scrollbar-button:single-button:horizontal:decrement {
  background: linear-gradient(180deg, #e4efff 0%, #c4d7ed 50%, #9bbfe6 100%) url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='16' height='16'><path d='M5 8 L10 4 L10 12 Z' fill='%23000000'/></svg>") center no-repeat !important;
}

body[data-theme-layout="winxp"] *::-webkit-scrollbar-button:single-button:horizontal:increment {
  background: linear-gradient(180deg, #e4efff 0%, #c4d7ed 50%, #9bbfe6 100%) url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='16' height='16'><path d='M11 8 L6 4 L6 12 Z' fill='%23000000'/></svg>") center no-repeat !important;
}

/* Embossed Double-Dotted Taskbar Gripper (||) */
.winxp-ql-gripper,
.winxp-quicklaunch .winxp-ql-sep {
  width: 6px !important;
  height: 22px !important;
  background: transparent !important;
  border-left: 1px solid #716f64 !important;
  border-right: 1px solid #ffffff !important;
  margin: 0 4px !important;
  box-sizing: border-box !important;
  flex-shrink: 0 !important;
  display: inline-block !important;
  position: relative !important;
}
.winxp-ql-gripper::before {
  content: "";
  position: absolute;
  left: 1px;
  top: 1px;
  bottom: 1px;
  width: 2px;
  border-left: 1px dotted #716f64;
  border-right: 1px dotted #ffffff;
}

/* Window Chrome & Titlebar Typography */
.luna-window,
.winxp-aux-window,
body[data-theme-layout="winxp"] main {
  border: 3px solid #0055ea !important;
  border-radius: 8px 8px 0 0 !important;
  box-shadow: 2px 4px 16px rgba(0, 0, 0, 0.45), 0 0 1px rgba(0, 0, 0, 0.6) !important;
}

#winxp-titlebar,
.winxp-titlebar,
.luna-titlebar,
.winxp-aux-titlebar {
  font-family: "Trebuchet MS", Tahoma, sans-serif !important;
  font-size: 13px !important;
  font-weight: bold !important;
  letter-spacing: 0.02em !important;
  text-shadow: 1px 1px 1px #0a246a !important;
  border-radius: 5px 5px 0 0 !important;
}

/* Start Menu Avatar Box */
.winxp-sm-avatar-frame,
.start-avatar {
  width: 48px !important;
  height: 48px !important;
  border: 2px solid #ffffff !important;
  box-shadow: 0 2px 5px rgba(0, 0, 0, 0.4), inset 1px 1px 1px #aca899, inset -1px -1px 1px #7f9db9 !important;
  border-radius: 3px !important;
  overflow: hidden !important;
  background: #ffffff !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
}

/* Explorer Task Pane Gradient */
.winxp-recycle-sidebar,
.winxp-recycle-taskpane {
  background: linear-gradient(180deg, #7ba2e7 0%, #6375d6 65%, #5568d1 100%) !important;
}

.winxp-recycle-card-header,
.winxp-recycle-panel-hdr {
  background: linear-gradient(90deg, #215dc6 0%, #3576ec 100%) !important;
  border-bottom: 1px solid #184ea0 !important;
}

/* Log Off Backdrop Full Desaturation */
#winxp-logoff-overlay,
.winxp-logoff-overlay {
  backdrop-filter: grayscale(100%) brightness(0.65) !important;
}

/* Universal Standard Pushbuttons */
.winxp-btn,
button.winxp-btn,
body[data-theme-layout="winxp"] .winxp-dialog-btn {
  min-width: 75px;
  height: 23px;
  padding: 0 10px;
  font-family: Tahoma, sans-serif;
  font-size: 11px;
  color: #000000;
  background: linear-gradient(180deg, #ffffff 0%, #ece9d8 15%, #dcd7c8 85%, #d0cbba 100%);
  border: 1px solid #003c74;
  border-radius: 3px;
  box-shadow: inset 1px 1px 0 rgba(255, 255, 255, 0.8), 0 1px 2px rgba(0, 0, 0, 0.15);
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  box-sizing: border-box;
}

.winxp-btn:hover,
button.winxp-btn:hover,
body[data-theme-layout="winxp"] .winxp-dialog-btn:hover {
  background: linear-gradient(180deg, #ffffff 0%, #fff4cf 15%, #ffdb88 85%, #ffcc66 100%);
  border-color: #f69d27;
  box-shadow: inset 1px 1px 0 #ffffff, 0 0 3px #f69d27;
}

.winxp-btn:active,
button.winxp-btn:active,
body[data-theme-layout="winxp"] .winxp-dialog-btn:active {
  background: linear-gradient(180deg, #c5bfb0 0%, #dcd7c8 20%, #ece9d8 100%);
  border-color: #003c74;
  box-shadow: inset 1px 1px 2px rgba(0, 0, 0, 0.4);
  padding-top: 1px;
  padding-left: 11px;
}

.winxp-btn:focus-visible,
body[data-theme-layout="winxp"] .winxp-dialog-btn:focus-visible {
  outline: 1px dotted #000000;
  outline-offset: -3px;
}

/* Universal Luna Segmented Green Progress Bar */
.winxp-progress {
  height: 16px;
  background: #fcfcfc;
  border: 1px solid #7f9db9;
  border-right-color: #96adcc;
  border-bottom-color: #96adcc;
  border-radius: 2px;
  box-shadow: inset 1px 1px 2px rgba(0, 0, 0, 0.15);
  overflow: hidden;
  position: relative;
  display: flex;
  padding: 1px;
  box-sizing: border-box;
}

.winxp-progress-bar {
  height: 100%;
  background-color: #249419;
  background-image:
    repeating-linear-gradient(90deg, rgba(255, 255, 255, 0.15) 0px, rgba(255, 255, 255, 0.15) 6px, transparent 6px, transparent 9px),
    linear-gradient(180deg, #36bd29 0%, #2ba51e 50%, #249419 100%);
  background-size: 9px 100%, 100% 100%;
  border-radius: 1px;
  position: relative;
  transition: width 0.2s ease;
}

.winxp-progress-bar::after {
  content: '';
  position: absolute;
  top: 0; left: 0; right: 0; height: 50%;
  background: linear-gradient(180deg, rgba(255,255,255,0.4) 0%, rgba(255,255,255,0.1) 100%);
  border-radius: 1px 1px 0 0;
  pointer-events: none;
}

/* Universal Tab Controls */
.winxp-tabs {
  display: flex;
  gap: 2px;
  border-bottom: 1px solid #919b9c;
  padding-left: 6px;
  margin-bottom: 8px;
}

.winxp-tab {
  padding: 3px 12px 4px;
  font-family: Tahoma, sans-serif;
  font-size: 11px;
  background: #ece9d8;
  border: 1px solid #919b9c;
  border-bottom: none;
  border-radius: 3px 3px 0 0;
  cursor: pointer;
  color: #000000;
  position: relative;
  bottom: -1px;
}

.winxp-tab.active {
  background: #ffffff;
  border-bottom: 1px solid #ffffff;
  padding-top: 4px;
  font-weight: bold;
  z-index: 2;
}

.winxp-tab-panel {
  display: none;
  background: #ffffff;
  border: 1px solid #919b9c;
  border-radius: 0 3px 3px 3px;
  padding: 12px;
}

.winxp-tab-panel.active {
  display: block;
}

/* Message Box Window */
.winxp-msgbox-window {
  min-width: 280px;
  max-width: 440px;
  background: #ece9d8;
  border: 3px solid #0055ea;
  border-radius: 8px 8px 0 0;
  box-shadow: 2px 4px 16px rgba(0, 0, 0, 0.45);
  font-family: Tahoma, sans-serif;
  font-size: 11px;
  color: #000000;
  z-index: 100050;
}

.winxp-msgbox-body {
  padding: 16px;
  display: flex;
  align-items: center;
  gap: 14px;
}

.winxp-msgbox-icon {
  width: 32px;
  height: 32px;
  flex-shrink: 0;
}

.winxp-msgbox-msg {
  font-size: 11px;
  line-height: 1.4;
  word-break: break-word;
}

.winxp-msgbox-buttons {
  background: #ece9d8;
  padding: 10px 14px 12px;
  display: flex;
  justify-content: flex-end;
  gap: 8px;
  border-top: 1px solid #d4d0c8;
}


/* ==========================================================================
   Window System Menu (Alt+Space / Titlebar Icon & Context Menu)
   ========================================================================== */

.winxp-system-menu,
.winxp-sys-menu {
  position: fixed;
  z-index: 100060;
  min-width: 145px;
  background: #ffffff;
  border: 1px solid #716f64;
  box-shadow: 2px 2px 8px rgba(0, 0, 0, 0.45);
  padding: 2px;
  font-family: Tahoma, sans-serif;
  font-size: 11px;
  color: #000000;
  user-select: none;
  box-sizing: border-box;
  outline: none;
}

.winxp-sys-menu-item,
.winxp-sysmenu-item {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 3px 18px 3px 22px;
  cursor: pointer;
  white-space: nowrap;
  position: relative;
  line-height: 1.3;
  outline: none;
}

.winxp-sys-menu-item:hover:not(.disabled),
.winxp-sys-menu-item:focus:not(.disabled),
.winxp-sysmenu-item:hover:not(.disabled),
.winxp-sysmenu-item:focus:not(.disabled) {
  background: #316ac5 !important;
  color: #ffffff !important;
}

.winxp-sys-menu-item.disabled,
.winxp-sysmenu-item.disabled {
  color: #808080 !important;
  text-shadow: 1px 1px 0 #ffffff !important;
  cursor: default !important;
  pointer-events: none !important;
}

.winxp-sys-menu-item.bold,
.winxp-sysmenu-item.bold {
  font-weight: bold !important;
}

.winxp-sys-menu-icon,
.winxp-sysmenu-icon {
  position: absolute;
  left: 4px;
  top: 50%;
  transform: translateY(-50%);
  width: 14px;
  height: 14px;
  display: flex;
  align-items: center;
  justify-content: center;
}

.winxp-sys-menu-label,
.winxp-sysmenu-text {
  flex: 1;
}

.winxp-sys-menu-shortcut,
.winxp-sysmenu-shortcut {
  margin-left: 18px;
  font-size: 10px;
  color: #555555;
}

.winxp-sys-menu-item:hover:not(.disabled) .winxp-sys-menu-shortcut,
.winxp-sys-menu-item:focus:not(.disabled) .winxp-sys-menu-shortcut,
.winxp-sysmenu-item:hover:not(.disabled) .winxp-sysmenu-shortcut,
.winxp-sysmenu-item:focus:not(.disabled) .winxp-sysmenu-shortcut {
  color: #ffffff !important;
}

.winxp-sys-menu-sep,
.winxp-sysmenu-separator {
  height: 1px;
  background: #aca899;
  border-bottom: 1px solid #ffffff;
  margin: 3px 2px;
}

/* Titlebar icon cursor */
.winxp-title-icon {
  cursor: pointer;
}


/* Interactive Address Bar Combobox */
.winxp-address-combobox {
  display: flex;
  align-items: center;
  background: #ffffff;
  border: 1px solid #7f9db9;
  box-shadow: inset 1px 1px 1px rgba(0, 0, 0, 0.15);
  height: 22px;
  flex: 1;
  max-width: 480px;
  box-sizing: border-box;
  position: relative;
}

.winxp-address-icon {
  width: 16px;
  height: 16px;
  margin: 0 4px 0 3px;
  flex-shrink: 0;
  display: flex;
  align-items: center;
  justify-content: center;
}

.winxp-address-input {
  border: none;
  outline: none;
  font-family: Tahoma, sans-serif;
  font-size: 11px;
  color: #000000;
  background: transparent;
  flex: 1;
  padding: 0;
  margin: 0;
  height: 100%;
}

.winxp-address-dropdown-btn {
  width: 17px;
  height: 100%;
  border: none;
  border-left: 1px solid #d4d0c8;
  background: #ece9d8;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  padding: 0;
  font-size: 8px;
  color: #000000;
}

.winxp-address-dropdown-btn:hover {
  background: #f5f3ec;
}

.winxp-address-dropdown-btn:active {
  background: #dcd7c8;
  box-shadow: inset 1px 1px 1px rgba(0, 0, 0, 0.2);
}

.winxp-address-history-menu {
  position: absolute;
  top: 100%;
  left: -1px;
  right: -1px;
  background: #ffffff;
  border: 1px solid #716f64;
  box-shadow: 2px 4px 8px rgba(0, 0, 0, 0.35);
  z-index: 100050;
  font-family: Tahoma, sans-serif;
  font-size: 11px;
  max-height: 200px;
  overflow-y: auto;
}

.winxp-address-history-item {
  display: flex;
  align-items: center;
  gap: 6px;
  padding: 3px 6px;
  cursor: pointer;
  white-space: nowrap;
}

.winxp-address-history-item:hover,
.winxp-address-history-item:focus,
.winxp-address-history-item:focus-visible {
  background: #316ac5 !important;
  color: #ffffff !important;
  outline: none !important;
}


/* Explorer Left Task Pane Links & Interactive States */
.winxp-side-item,
.winxp-side-link,
.winxp-task-link,
.winxp-other-place-link,
.winxp-recycle-link {
  display: flex;
  align-items: center;
  gap: 6px;
  background: transparent;
  border: none;
  padding: 2px 4px;
  font-family: Tahoma, sans-serif;
  font-size: 11px;
  color: #003399;
  cursor: pointer;
  text-decoration: none;
  width: 100%;
  text-align: left;
  box-sizing: border-box;
}

.winxp-side-item:hover,
.winxp-side-link:hover,
.winxp-task-link:hover,
.winxp-other-place-link:hover,
.winxp-recycle-link:hover {
  text-decoration: underline;
  color: #1c52b8;
}

.winxp-side-item:focus-visible,
.winxp-side-link:focus-visible,
.winxp-task-link:focus-visible,
.winxp-other-place-link:focus-visible {
  outline: 1px dotted #003399;
  outline-offset: 1px;
}

/* Desktop Icon Keyboard Focus Outline */
.winxp-desktop-icon:focus-visible {
  outline: 1px dotted #ffffff !important;
  outline-offset: 1px !important;
}

.winxp-desktop-icon.selected .winxp-desktop-text {
  background: #0a246a !important;
  color: #ffffff !important;
  outline: 1px dotted #ffffff !important;
}

/* ==========================================================================
   Date and Time Properties: Time Zone Tab & Illustrated World Map
   ========================================================================== */

.winxp-timedate-window {
  background: #ece9d8;
  font-family: Tahoma, sans-serif;
  font-size: 11px;
}

.winxp-timedate-tabs {
  margin-bottom: 0 !important;
}

.winxp-timedate-tab-panel {
  display: none;
  background: #ece9d8;
  border: 1px solid #919b9c;
  border-top: none;
  padding: 12px;
  box-sizing: border-box;
}

.winxp-timedate-tab-panel.active {
  display: block;
}

.winxp-tz-select-wrap {
  margin-bottom: 10px;
}

.winxp-tz-select {
  width: 100%;
  height: 22px;
  font-family: Tahoma, sans-serif;
  font-size: 11px;
  color: #000000;
  background: #ffffff;
  border: 1px solid #7f9db9;
  padding: 1px 4px;
  box-sizing: border-box;
}

.winxp-tz-map-frame {
  width: 100%;
  height: 150px;
  background: #104a7b;
  border: 1px solid #7f9db9;
  border-right-color: #ffffff;
  border-bottom-color: #ffffff;
  box-shadow: inset 1px 1px 2px rgba(0, 0, 0, 0.4);
  position: relative;
  overflow: hidden;
  margin-bottom: 12px;
  display: flex;
  align-items: center;
  justify-content: center;
}

.winxp-tz-map-svg {
  width: 100%;
  height: 100%;
  display: block;
}

.winxp-tz-dst-wrap {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 11px;
  color: #000000;
}

/* ==========================================================================
   56. FOLDER OPTIONS (folderoptions.cpl) (.winxp-folderoptions-window, #winxp-win-folderoptions)
   ========================================================================== */
.winxp-folderoptions-window,
#winxp-win-folderoptions {
  background: #ece9d8;
  font-family: Tahoma, 'Pixelify Sans', sans-serif;
  font-size: 11px;
  color: #000000;
  display: flex;
  flex-direction: column;
}

.winxp-fo-tabs {
  display: flex;
  gap: 2px;
  padding: 6px 8px 0;
  border-bottom: 1px solid #919b9c;
  background: #ece9d8;
}

.winxp-fo-tab {
  background: #d8d4c4;
  border: 1px solid #919b9c;
  border-bottom: none;
  border-radius: 3px 3px 0 0;
  padding: 4px 12px;
  font-size: 11px;
  font-family: Tahoma, 'Pixelify Sans', sans-serif;
  color: #000000;
  cursor: pointer;
}

.winxp-fo-tab:hover {
  background: #e5e2d6;
}

.winxp-fo-tab:focus-visible {
  outline: 1px dotted #000000;
  outline-offset: -2px;
}

.winxp-fo-tab.active {
  background: #ece9d8;
  border-bottom: 1px solid #ece9d8;
  margin-bottom: -1px;
  font-weight: bold;
}

.winxp-fo-content {
  padding: 12px;
  flex: 1;
  display: flex;
  flex-direction: column;
  background: #ece9d8;
}

.winxp-fo-panel {
  display: none;
  flex-direction: column;
  gap: 10px;
}

.winxp-fo-panel.active {
  display: flex !important;
}

.winxp-fo-groupbox {
  border: 1px solid #d0ccc0;
  border-radius: 4px;
  padding: 8px 10px;
  background: #ece9d8;
}

.winxp-fo-groupbox legend {
  font-weight: bold;
  color: #003399;
  padding: 0 4px;
}

.winxp-fo-radio-row {
  display: flex;
  align-items: flex-start;
  gap: 8px;
  margin-bottom: 6px;
  cursor: pointer;
}

.winxp-fo-radio-row:last-child {
  margin-bottom: 0;
}

.winxp-fo-radio-row input[type="radio"] {
  margin-top: 2px;
  cursor: pointer;
}

.winxp-fo-radio-desc {
  display: flex;
  flex-direction: column;
  gap: 2px;
}

.winxp-fo-radio-title {
  font-weight: normal;
  color: #000000;
}

.winxp-fo-adv-tree {
  background: #ffffff;
  border: 1px solid #7f9db9;
  height: 160px;
  overflow-y: auto;
  padding: 4px;
  box-sizing: border-box;
}

.winxp-fo-adv-item {
  display: flex;
  align-items: center;
  gap: 6px;
  padding: 2px 4px;
  cursor: pointer;
  user-select: none;
}

.winxp-fo-adv-item:hover {
  background: #e8f1fc;
}

.winxp-fo-adv-item input[type="checkbox"] {
  margin: 0;
  cursor: pointer;
}

.winxp-fo-table-wrap {
  background: #ffffff;
  border: 1px solid #7f9db9;
  height: 170px;
  overflow-y: auto;
  box-sizing: border-box;
}

.winxp-fo-ft-row {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 3px 6px;
  cursor: pointer;
  user-select: none;
}

.winxp-fo-ft-row:hover:not(.selected) {
  background: #e8f1fc;
}

.winxp-fo-ft-row.selected {
  background: #316ac5;
  color: #ffffff;
}

.winxp-fo-ft-ext {
  font-weight: bold;
  min-width: 50px;
}

.winxp-fo-ft-desc {
  flex: 1;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.winxp-fo-footer {
  display: flex;
  justify-content: flex-end;
  gap: 6px;
  padding: 8px 12px;
  background: #ece9d8;
  border-top: 1px solid #d0ccc0;
}

.winxp-fo-footer button,
.winxp-fo-btn {
  min-width: 75px;
  padding: 3px 12px;
  background: linear-gradient(180deg, #ffffff 0%, #ece9d8 100%);
  border: 1px solid #003c74;
  border-radius: 3px;
  font-family: Tahoma, 'Pixelify Sans', sans-serif;
  font-size: 11px;
  color: #000000;
  cursor: pointer;
}

.winxp-fo-footer button:hover,
.winxp-fo-btn:hover {
  background: linear-gradient(180deg, #eef4fb 0%, #dbe8f6 100%);
  box-shadow: 0 0 4px #f69d27;
}

.winxp-fo-footer button:focus-visible,
.winxp-fo-btn:focus-visible {
  outline: 1px dotted #000000;
  outline-offset: -2px;
}

/* ==========================================================================
   Start Menu Submenu Hover Bridge & Vector Arrow Styles
   ========================================================================== */
.winxp-sm-arrow {
  width: 4px;
  height: 7px;
  margin-left: auto;
  fill: currentColor;
  opacity: 0.85;
}

.winxp-sm-prog-sub::before,
.winxp-sm-recent-sub::before {
  content: '';
  position: absolute;
  left: -20px;
  top: -10px;
  bottom: -10px;
  width: 25px;
  z-index: -1;
  pointer-events: auto;
}
