:root {
  --bios-blue: #0000AA;
  --bios-white: #AAAAAA;
  --bios-bright-white: #FFFFFF;
  --bios-yellow: #FFFF55;
  --bios-cyan: #55FFFF;
  --win95-gray: #C0C0C0;
  --win95-teal: #008080;
  --win95-black: #000000;
}

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

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

body {
  font-family: 'IBM_VGA', "Consolas", monospace;
  background: var(--bios-blue);
  color: var(--bios-white);
}

/* Award BIOS Boot Screen - Structured Layout */
.boot-screen {
  position: fixed;
  top: 0;
  left: 0;
  width: 100vw;
  height: 100vh;
  background: var(--bios-blue);
  z-index: 9999;
  display: flex;
  flex-direction: column;
}

/* Top Header (Fixed) */
.bios-header {
  padding: 12px 16px;
  background: var(--bios-blue);
}

.header-line {
  color: var(--bios-bright-white);
  font-size: 18px;
  line-height: 1.4;
  text-align: center;
  letter-spacing: 1.2px;
}

/* Separator Line */
.bios-separator {
  height: 2px;
  background: var(--bios-white);
  margin: 0;
}

/* Middle Content Area (Scrollable) */
.bios-content {
  flex: 1;
  overflow-y: auto;
  overflow-x: hidden;
  padding: 12px 16px;
  background: var(--bios-blue);
}

.output {
  font-size: 18px;
  line-height: 1.35;
  white-space: pre;
  color: var(--bios-white);
  font-weight: 700;
  letter-spacing: 1.2px;
  width: 100%;
  font-family: 'IBM_VGA', "Consolas", monospace;
  text-shadow: none;
  margin: 0;
  padding: 0;
}

/* Bottom Status Bar (Fixed) */
.bios-status {
  padding: 12px 16px;
  background: var(--bios-blue);
  color: var(--bios-yellow);
  font-size: 18px;
  letter-spacing: 1.2px;
  text-align: center;
}

#status-text {
  color: var(--bios-yellow);
}

.status-spinner {
  color: var(--bios-yellow);
  margin-left: 8px;
}

/* Yellow text for highlights */
.text-yellow {
  color: var(--bios-yellow) !important;
}

.text-white {
  color: var(--bios-bright-white) !important;
}

.text-cyan {
  color: var(--bios-cyan) !important;
}

/* Fade out animation */
.boot-screen.fade-out {
  animation: fadeOut 0.6s ease-out forwards;
}

@keyframes fadeOut {
  to {
    opacity: 0;
  }
}

/* Windows 95 Desktop */
.main-content {
  width: 100vw;
  height: 100vh;
  background: var(--win95-teal);
  position: relative;
  overflow: hidden;
}

.win95-desktop {
  width: 100%;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 20px;
}

/* Windows 95 Window */
.win95-window {
  background: var(--win95-gray);
  border: 2px solid;
  border-color: #DFDFDF #808080 #808080 #DFDFDF;
  box-shadow: 2px 2px 0 rgba(0,0,0,0.5);
  min-width: 600px;
  max-width: 800px;
}

/* Title Bar */
.title-bar {
  background: linear-gradient(90deg, #000080, #1084d0);
  padding: 3px 4px;
  display: flex;
  justify-content: space-between;
  align-items: center;
}

.title-bar-text {
  color: white;
  font-weight: bold;
  font-size: 14px;
  letter-spacing: 0;
  font-family: "MS Sans Serif", Arial, sans-serif;
}

.title-bar-controls {
  display: flex;
  gap: 2px;
}

.title-bar-controls button {
  width: 18px;
  height: 18px;
  background: var(--win95-gray);
  border: 1px solid;
  border-color: #FFFFFF #000000 #000000 #FFFFFF;
  font-weight: bold;
  font-size: 12px;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 0;
  font-family: "MS Sans Serif", Arial, sans-serif;
}

.title-bar-controls button:active {
  border-color: #000000 #FFFFFF #FFFFFF #000000;
}

/* Window Body */
.window-body {
  background: var(--win95-black);
  color: var(--bios-white);
  padding: 16px;
  font-family: 'IBM_VGA', "Courier New", monospace;
  font-size: 15px;
  line-height: 1.3;
  min-height: 300px;
}

.window-body p {
  margin: 0;
}

.cursor-blink {
  animation: blink 1s step-end infinite;
  color: var(--bios-bright-white);
}

@keyframes blink {
  50% {
    opacity: 0;
  }
}

/* Responsive */
@media (max-width: 700px) {
  .win95-window {
    min-width: 90vw;
  }
  .output {
    font-size: 14px;
    letter-spacing: 0.8px;
  }
  .header-line {
    font-size: 14px;
  }
  .bios-status {
    font-size: 14px;
  }
  .window-body {
    font-size: 13px;
  }
}

/* Web font for authentic DOS VGA look */
@font-face {
  font-family: 'IBM_VGA';
  src: url(Fonts/Px437_IBM_VGA_8x16.ttf) format('truetype');
  font-weight: normal;
  font-style: normal;
  font-display: block;
}