/* Windows 95 font */
@font-face {
    font-family: "Pixel";
    src: url("fonts/Pixel.ttf") format("truetype");
    font-weight: normal;
    font-style: normal;
    font-display: swap;
}

body {
    font-family: "Pixel", "MS Sans Serif", sans-serif;
    font-weight: normal;
    margin: 0;
    padding: 0;
}


/* Windows 95 plocha */
#desktop {
    position: fixed;
    height: 100%;
    width: 100%;
    overflow: hidden;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: #008080;
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
}

/* START tlačidlo */
.startButton {
  display: inline-flex;
  align-items: center;
  /*gap: 1px;*/
  /*margin-left: 4px;*/
  height: 28px;
  padding: 0 12px;
  border: 2px outset #dfdfdf;
  background: #c0c0c0;
  font-weight: 700;
  cursor: pointer;
font-size: 13px;
padding-left: 1px;
}
.startButton:active { 
  border-style: inset;
}
.startIcon { font-size: 16px; line-height: 1; }

/* Start menu */
.startMenu {
  position: absolute;
  left: 4px;
  bottom: 38px;
  width: 300px;
  /*max-height: 60vh;*/
  overflow: auto;
  background: #c0c0c0;
  border: 2px outset #dfdfdf;
  padding: 2px;
  display: none;
  z-index: 2000;
}




.startMenu.open {
  display: flex;
  flex-direction: row;
}

#startMenuLabel {
  display: flex;
  align-items: flex-start;
  justify-content: left;
  writing-mode: vertical-lr;
  transform: rotate(180deg);
background: linear-gradient(to bottom, #002775, #0066cc);
  color: #fff;
  font-family: "MS Sans Serif", Tahoma, Arial, Helvetica, sans-serif;
  font-size: 18px;
  font-weight: bold;
  width: 28px;
  /*min-height: 180px;*/
  text-align: center;
  letter-spacing: 1px;
  text-shadow: 1px 1px 0 #000, 0 0 2px #fff;
  user-select: none;
  border-right: 2px solid #fff;
  box-shadow: 2px 0 6px rgba(0,0,0,0.12);
    padding: 4px;
}

.startMenu ul {
  flex: 1;
  left: 0;
  margin: 0;
  padding: 0;
  list-style: none;
}

.startMenu li {
  padding: 6px 2px 6px 8px;
  cursor: pointer;
  font-size: 13px;
  display: flex;
  align-items: left;
  gap: 8px;
}
.startMenu li:hover { 
  background: #000080; 
  color: #fff;
}
.startMenu li.sep {
  height: 1px;
  padding: 0;
  margin: 2px 0;
  background: #808080;
  pointer-events: none;
}
.startMenu a { color: inherit; text-decoration: none; display: block; }
.startMenu .menuIcon {
  width: 16px;
  height: 16px;
  flex-shrink: 0;
}
/* Ikony na ploche */
#icons {
    position: absolute;
    z-index: 10;
    top: 24px;
    left: 24px;
}

#icons a {
    display: block;
    cursor: pointer;
    padding: 4px 8px;
    color: #000;
}

#icons a:hover {
    background: #000080;
    color: #fff;
}

/* Okno */
.window {
    position: absolute;
    background: #c0c0c0;
    border: 2px outset #dfdfdf;
    box-shadow: 2px 2px 4px rgba(0,0,0,0.3);
    z-index: 100;
    display: flex;
    flex-direction: column;
    width: 500px;
    height: 400px;
    min-width: 320px;
    min-height: 200px;
}

.window.closed,
.window.minimizedWindow {
    display: none;
}

.window.fullSizeWindow {
    top: 0 !important;
    right: 0 !important;
    left: 0 !important;
    bottom: 32px !important;
    width: auto !important;
    height: auto !important;
}

.window.fullSizeWindow .resize-handle {
    display: none;
}

.fullSizeWindow .ui-resizable-handle {
    display: none;
}

/* Hlavička okna */
.windowHeader {
    background: #000080;
    color: #fff;
    text-align: left;
    padding: 2px 4px;
    cursor: move;
    height: 24px;
    display: flex;
    align-items: center;
    user-select: none;
    font-size: 13px;
    flex-shrink: 0;
}

.activeWindow .windowHeader {
    background: #000080;
    color: #fff;
}

.window:not(.activeWindow) .windowHeader {
    background: #808080;
    color: #c0c0c0;
}

.windowHeader > strong {
    flex: 1;
    font-size: 13px;
    font-weight: 700;
    padding-left: 4px;
}

.windowHeader > span {
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    margin-left: 2px;
    width: 16px;
    height: 16px;
    border: 1px outset #dfdfdf;
    background: #c0c0c0;
    font-size: 10px;
    position: relative;
}

.windowHeader > span:hover {
    background: #dfdfdf;
}

.windowHeader > span:active {
    border-style: inset;
}

.windowHeader > span.winclose:hover {
    background: #dfdfdf;
}

.windowHeader > span > span {
    display: block;
    width: 8px;
    height: 8px;
}

.winminimize > span {
    width: 8px;
    height: 2px;
    background: #000;
    position: relative;
    top: 3px;
}

.winmaximize > span {
    border: 1px solid #000;
    width: 8px;
    height: 8px;
}

.winmaximize > span:nth-child(2) {
    display: none;
}

.winclose > span::before,
.winclose > span::after {
    content: '';
    position: absolute;
    width: 10px;
    height: 2px;
    background: #000;
    top: 50%;
    left: 50%;
}

.winclose > span::before {
    transform: translate(-50%, -50%) rotate(45deg);
}

.winclose > span::after {
    transform: translate(-50%, -50%) rotate(-45deg);
}

/* Obsah okna */
.wincontent {
    padding: 8px;
    background: #fff;
    color: #000;
    font-size: 13px;
    overflow: auto;
    flex: 1;
    border-top: 2px solid #808080;
}

.taskbarPanel {
    display: inline-block;
    border: none;
    border-radius: 5px;
    line-height: 28px;
    margin: 2px 0 0 10px;
    font-size: 16px;
    padding: 0 18px;
    background: #80c8ff;
    font-weight: 500;
    color: #222;
    box-shadow: 0 2px 4px rgba(60,60,90,0.07);
    cursor: pointer;
    transition: background 0.15s, color 0.15s;
}

.taskbarPanel.activeTab {
    background: #fff;
    color: #0078d7;
}

.taskbarPanel.minimizedTab {
    background: #808080;
    color: #c0c0c0;
    border-style: inset;
}

.taskbarPanel.minimizedTab:hover {
    background: #d3d3d3;
}

.taskbarPanel.closed {
    display: none;
}

#taskbar {
    position: absolute;
    height: 38px;
    border-top: 1.5px solid #202024;
    bottom: 0;
    left: 0;
    right: 0;
    background: linear-gradient(90deg, #f5f7fa 0%, #e9ecef 100%);
    box-shadow: 0 -2px 8px rgba(60,60,90,0.07);
    display: flex;
    align-items: center;
    padding-left: 8px;
}



#templateLink {
    position: absolute;
    display: inline-block;
    bottom: 14px;
    right: 24px;
    font-weight: bold;
    font-size: 15px;
    color: #0078d7;
    text-decoration: none;
    transition: color 0.15s;
}
#templateLink:hover {
    color: #005fa3;
}

/* Pozície okien */
#window0 { top: 40px; left: 100px; }
#window1 { top: 80px; left: 150px; }
#window2 { top: 120px; left: 200px; }
#window3 { top: 160px; left: 250px; }
#window4 { top: 200px; left: 300px; }
#window5 { top: 240px; left: 350px; }
#window6 { top: 280px; left: 400px; }
#window7 { top: 40px; left: 450px; }
#window8 { top: 80px; left: 500px; }
#window9 { top: 120px; left: 550px; }
#window10 { top: 160px; left: 600px; }

@media screen and (max-width:960px){
    #window0 { left: 10px; }
    #window3 { left: 50px; }
}
@media screen and (max-width:770px){
    #window0 .wincontent { width: 460px; }
    #window2 { left: 100px; }
    #window1 { top: 190px; left: -5px; }
}
@media screen and (max-width:540px){
    #window0 .wincontent { width: 230px; height: 200px; }
    #window3 .wincontent {
        width: 275px;
        height: auto;
    }
    #window3 { top: 9px; left: 10px; }
    #window2 { left: -118px; }
    #window1 .wincontent { width: auto; height: 300px; }
}

/* Resize handles */
.resize-handle {
    position: absolute;
    z-index: 10;
}

.resize-n { top: 0; left: 0; right: 0; height: 4px; cursor: ns-resize; }
.resize-s { bottom: 0; left: 0; right: 0; height: 4px; cursor: ns-resize; }
.resize-e { right: 0; top: 0; bottom: 0; width: 4px; cursor: ew-resize; }
.resize-w { left: 0; top: 0; bottom: 0; width: 4px; cursor: ew-resize; }

.resize-nw { top: 0; left: 0; width: 8px; height: 8px; cursor: nwse-resize; }
.resize-ne { top: 0; right: 0; width: 8px; height: 8px; cursor: nesw-resize; }
.resize-se { bottom: 0; right: 0; width: 8px; height: 8px; cursor: nwse-resize; }
.resize-sw { bottom: 0; left: 0; width: 8px; height: 8px; cursor: nesw-resize; }

/* Taskbar Win95 */
#taskbar { 
  background: #c0c0c0; 
  border-top: 2px solid #fff;
  height: 32px;
  position: fixed;
  bottom: 0;
  left: 0;
  right: 0;
  display: flex;
  align-items: center;
  padding: 2px;
  gap: 2px;
  z-index: 1000;
}
.startButton {
  background: #c0c0c0; 
  color: #000;
  border: 2px outset #dfdfdf;
  height: 28px;
}
.startButton:active { 
  border-style: inset;
}
.taskbarPanel { 
  background: #c0c0c0; 
  color: #000; 
  border: 2px outset #dfdfdf;
  padding: 3px 8px;
  margin: 0 2px;
  cursor: pointer;
  font-size: 12px;
  max-width: 160px;
  overflow: hidden;
  white-space: nowrap;
  text-overflow: ellipsis;
}
.taskbarPanel.activeTab { 
  border-style: inset;
}

.startMenu { 
    background: #c0c0c0; 
    border: 2px outset #dfdfdf;
}
.startMenu li:hover { 
    background: #000080; 
    color: #fff;
}

#icons a { 
    color: #000;
}
#icons a:hover { 
    background: #000080; 
    color: #fff;
}

#icons a.openWindow {
  display: inline-flex;
  flex-direction: column;
  align-items: center;
  width: 80px;
  text-align: center;
  color: #000;
  text-decoration: none;
  padding: 4px 8px;
  margin: 4px;
}
#icons a.openWindow span.icon {
  display: block;
  margin-bottom: 4px;
}
#icons a.openWindow span.icon img {
  display: block;
  width: 32px;
  height: 32px;
}
#icons a.openWindow .caption {
  font-size: 12px;
  word-break: break-word;
}
#icons a.openWindow:hover { 
  background: #000080; 
  color: #fff;
}

/* Minimalizované okno (skryté) */
.minimizedWindow {
  display: none !important;
}

/* Panel v taskbare pre minimalizované okno */
.taskbarPanel.minimizedTab {
  background: #808080;
  color: #c0c0c0;
  border-style: inset;
}

#sideLabel {
  position: fixed;
  left: 0;
  top: 0;
  height: 100%;
  width: 28px;
  background: #003399;
  color: #fff;
  font-family: "MS Sans Serif", Tahoma, Arial, Helvetica, sans-serif;
  font-size: 15px;
  font-weight: bold;
  writing-mode: vertical-rl;
  text-align: center;
  letter-spacing: 1px;
  text-shadow: 1px 1px 0 #000, 0 0 2px #fff;
  z-index: 3000;
  box-shadow: 2px 0 6px rgba(0,0,0,0.12);
  border-right: 2px solid #fff;
  user-select: none;
}

#taskbarLabel {
  position: absolute;
  left: 0;
  bottom: 0;
  height: 32px;
  width: 28px;
  background: #003399;
  color: #fff;
  font-family: "MS Sans Serif", Tahoma, Arial, Helvetica, sans-serif;
  font-size: 13px;
  font-weight: bold;
  writing-mode: vertical-lr;
  transform: rotate(180deg);
  text-align: center;
  letter-spacing: 1px;
  text-shadow: 1px 1px 0 #000, 0 0 2px #fff;
  z-index: 3500;
  box-shadow: 2px 0 6px rgba(0,0,0,0.12);
  border-right: 2px solid #fff;
  user-select: none;
}

/* Webamp kontajner - izolácia štýlov */
#winamp-container {
  width: 100% !important;
  height: 100% !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  background: #c0c0c0 !important;
  padding: 0 !important;
  margin: 0 !important;
  box-sizing: border-box !important;
}

#winamp-container > * {
  margin: 0 !important;
  padding: 0 !important;
}
