    * { box-sizing: border-box; }
    body, html {
      margin: 0;
      padding: 0;
      height: 100%;
      font-family: "MS Sans Serif", Tahoma, sans-serif;
      overflow-x: hidden;
      touch-action: manipulation;
    }

    /* Improve touch targets on mobile */
    @media (max-width: 768px) {
      * {
        -webkit-tap-highlight-color: rgba(0, 0, 0, 0.1);
      }
    }

    /* Game Overlay Styles */
    .game-overlay {
      position: fixed;
      top: 0;
      left: 0;
      width: 100vw;
      height: 100vh;
      background: 
        radial-gradient(ellipse at 30% 20%, rgba(50, 50, 70, 0.3) 0%, transparent 50%),
        radial-gradient(ellipse at 70% 80%, rgba(40, 40, 60, 0.2) 0%, transparent 50%),
        linear-gradient(135deg, #2a2a2a 0%, #1a1a1a 25%, #0f0f0f 50%, #1a1a1a 75%, #2a2a2a 100%);
      display: flex;
      flex-direction: column;
      justify-content: center;
      align-items: center;
      z-index: 99999;
      font-family: 'Courier New', monospace;
      color: #c0c0c0;
      opacity: 1;
      transition: opacity 0.5s ease-out;
      overflow: hidden;
      cursor: pointer;
    }

    .game-overlay::before {
      content: '';
      position: absolute;
      top: 0;
      left: 0;
      right: 0;
      bottom: 0;
      background: 
        radial-gradient(circle at 20% 30%, rgba(255, 255, 255, 0.02) 0%, transparent 40%),
        radial-gradient(circle at 80% 70%, rgba(255, 255, 255, 0.01) 0%, transparent 40%),
        repeating-linear-gradient(
          45deg,
          transparent 0px,
          transparent 2px,
          rgba(255, 255, 255, 0.005) 2px,
          rgba(255, 255, 255, 0.005) 4px
        );
      animation: ambient-shift 20s ease-in-out infinite;
      pointer-events: none;
    }

    @keyframes ambient-shift {
      0%, 100% { opacity: 0.3; transform: scale(1) rotate(0deg); }
      50% { opacity: 0.6; transform: scale(1.02) rotate(1deg); }
    }

    .game-overlay.hidden {
      opacity: 0;
      pointer-events: none;
    }

    .terminal-container {
      display: flex;
      flex-direction: column;
      align-items: center;
      gap: 0;
      filter: drop-shadow(0 20px 40px rgba(0, 0, 0, 0.6));
    }

    .screen-border {
      background: linear-gradient(135deg, #b8a082, #8b7355, #654321);
      padding: 2rem;
      border-radius: 10px;
      box-shadow: 
        inset 0 2px 0 rgba(255, 255, 255, 0.2),
        inset 0 -2px 0 rgba(0, 0, 0, 0.3),
        inset 2px 0 0 rgba(255, 255, 255, 0.1),
        inset -2px 0 0 rgba(0, 0, 0, 0.2),
        0 10px 30px rgba(0, 0, 0, 0.5),
        0 5px 15px rgba(0, 0, 0, 0.3);
    }

    .screen-content {
      background: #000;
      width: 400px;
      height: 300px;
      padding: 1rem;
      border: 3px solid #333;
      border-radius: 3px;
      box-shadow: 
        inset 0 0 20px rgba(0, 0, 0, 0.8),
        inset 0 0 5px rgba(0, 0, 0, 0.9);
      position: relative;
      overflow: hidden;
    }

    .screen-content::before {
      content: '';
      position: absolute;
      top: 0;
      left: 0;
      right: 0;
      bottom: 0;
      background: repeating-linear-gradient(
        0deg,
        transparent 0px,
        transparent 2px,
        rgba(255, 255, 255, 0.02) 2px,
        rgba(255, 255, 255, 0.02) 4px
      );
      pointer-events: none;
    }

    .dos-prompt {
      color: #ffffff;
      font-size: 1.2rem;
      font-family: 'Courier New', monospace;
      margin-top: 1rem;
    }

    .prompt-text {
      color: #ffffff;
    }

    .cursor {
      animation: cursor-blink 1s infinite;
      color: #ffffff;
    }

    @keyframes cursor-blink {
      0%, 50% { opacity: 1; }
      51%, 100% { opacity: 0; }
    }

    .terminal-base {
      width: 450px;
      height: 40px;
      background: linear-gradient(135deg, #b8a082, #8b7355, #654321);
      border-radius: 0 0 20px 20px;
      position: relative;
      box-shadow: 
        0 5px 15px rgba(0, 0, 0, 0.4),
        inset 0 2px 0 rgba(255, 255, 255, 0.1),
        inset 0 -1px 0 rgba(0, 0, 0, 0.2);
    }

    .power-light {
      position: absolute;
      right: 20px;
      top: 50%;
      transform: translateY(-50%);
      width: 8px;
      height: 8px;
      background: #00ff00;
      border-radius: 50%;
      box-shadow: 
        0 0 10px #00ff00,
        inset 0 1px 0 rgba(255, 255, 255, 0.3);
      animation: power-pulse 2s ease-in-out infinite;
    }

    @keyframes power-pulse {
      0%, 100% { opacity: 1; }
      50% { opacity: 0.3; }
    }

    @keyframes button-ready-glow {
      0% { 
        box-shadow: 0 0 15px rgba(0, 255, 0, 0.3);
        transform: scale(1);
      }
      100% { 
        box-shadow: 0 0 30px rgba(0, 255, 0, 0.8);
        transform: scale(1.02);
      }
    }

    /* Mobile responsiveness for splash screen */
    @media (max-width: 768px) {
      .terminal-container {
        transform: scale(0.9);
      }
      
      .screen-border {
        padding: 1.5rem;
      }
      
      .screen-content {
        width: 300px;
        height: 225px;
        padding: 0.8rem;
      }
      
      .terminal-base {
        width: 350px;
        height: 35px;
      }
      
      .dos-prompt {
        font-size: 1rem;
      }
    }

    @media (max-width: 480px) {
      .terminal-container {
        transform: scale(0.8);
      }
      
      .screen-border {
        padding: 1rem;
      }
      
      .screen-content {
        width: 250px;
        height: 180px;
      }
      
      .terminal-base {
        width: 290px;
        height: 30px;
      }
      
      .dos-prompt {
        font-size: 0.9rem;
      }
    }

    .game-title {
      font-size: 4rem;
      font-weight: bold;
      text-align: center;
      margin-bottom: 2rem;
      text-shadow: 2px 2px 4px rgba(0, 0, 0, 0.5);
      animation: titlePulse 2s ease-in-out infinite alternate;
      font-family: monospace;
      letter-spacing: 0.1em;
    }

    @keyframes titlePulse {
      from {
        transform: scale(1);
      }
      to {
        transform: scale(1.05);
      }
    }
    #dosScreen {
      background: BLACK;
      color: #FFF;
      font-family: monospace;
      padding: 20px;
      height: calc(100vh - 30px);
    }
    #dosContainer {
      display: flex;
      flex-direction: column;
    }
    .dos-line {
      display: flex;
      align-items: center;
    }
    .dos-line span.prompt {
      white-space: pre;
    }
    #currentDOSLine {
      display: flex;
      align-items: center;
    }
    #currentDOSLine span.prompt {
      white-space: pre;
    }
    #dosInput {
      background: black;
      color: #FFF;
      border: none;
      outline: none;
      font-family: monospace;
      font-size: 16px;
      flex: 1;
    }
    #bootScreen {
      background: black;
      color: #FFF;
      font-family: monospace;
      padding: 20px;
      height: calc(100vh - 30px);
      display: none;
    }
    #loginScreen {
      background: #008080;
      height: calc(100vh - 30px);
      display: none;
      align-items: center;
      justify-content: center;
    }
    .login-window {
      background: #C0C0C0;
      border: 2px solid #000;
      box-shadow: 3px 3px 0 #808080;
      width: 300px;
      padding: 10px;
    }
    .login-window h2 {
      margin: 0;
      padding: 0 0 10px 0;
      font-size: 16px;
      text-align: center;
      background: #000080;
      color: #fff;
      padding: 5px;
    }
    .login-window input, .login-window button {
      width: 100%;
      padding: 5px;
      margin-top: 10px;
      font-family: "MS Sans Serif", Tahoma, sans-serif;
      font-size: 14px;
    }
    .login-window button { cursor: pointer; }
    #aolLoginModal {
      position: fixed;
      top: 50%;
      left: 50%;
      width: 320px;
      transform: translate(-50%, -50%);
      background: #c0c0c0;
      border: 2px outset #c0c0c0;
      box-shadow: 3px 3px 6px rgba(0, 0, 0, 0.3);
      padding: 0;
      z-index: 2000;
      display: none;
      font-family: 'MS Sans Serif', sans-serif;
    }
    
    #aolLoginModal h3 {
      margin: 0;
      background: linear-gradient(to right, #000080, #0000cc);
      color: #ffffff;
      padding: 6px 8px;
      text-align: left;
      font-size: 11px;
      font-weight: bold;
      border-bottom: 1px solid #404040;
    }
    
    #aolLoginModal .modal-content {
      padding: 12px;
    }
    
    #aolLoginModal input, #aolLoginModal button {
      width: 100%;
      padding: 4px 6px;
      margin-top: 8px;
      font-family: 'MS Sans Serif', sans-serif;
      font-size: 11px;
      border: 2px inset #c0c0c0;
      background: #ffffff;
    }
    
    #aolLoginModal button {
      background: #c0c0c0;
      border: 2px outset #c0c0c0;
      cursor: pointer;
      margin-top: 12px;
      padding: 6px;
    }
    
    #aolLoginModal button:hover {
      background: #d0d0d0;
    }
    
    #aolLoginModal button:active {
      border: 2px inset #c0c0c0;
      background: #b0b0b0;
    }
    #desktopScreen {
      background: #008080;
      height: 100vh;
      display: none;
      position: relative;
      overflow: hidden;
    }
    #desktopIcons {
      position: absolute;
      top: 10px;
      left: 10px;
      right: 10px;
      bottom: 50px; /* Leave space for taskbar */
      z-index: 10;
      overflow: hidden;
      pointer-events: none; /* Allow children to handle events */
    }
    .desktop-icon {
      width: 75px;
      height: 85px;
      text-align: center;
      cursor: pointer;
      -webkit-user-select: none;
      -moz-user-select: none;
      -ms-user-select: none;
      user-select: none;
      position: absolute;
      z-index: 15;
      padding: 4px;
      border: 1px solid transparent;
      pointer-events: auto;
      font-size: 11px;
      color: white;
      text-shadow: 1px 1px 2px rgba(0,0,0,0.8);
    }
    .desktop-icon.selected {
      background: rgba(0, 0, 255, 0.3);
      border: 2px dotted #000;
    }
    .desktop-icon img {
      width: 48px;
      height: 48px;
      display: block;
      margin: 0 auto 5px;
    }
    
    /* Window resize handles */
    .resize-handle {
      position: absolute;
      background: transparent;
    }
    .resize-nw { top: -5px; left: -5px; width: 10px; height: 10px; cursor: nw-resize; }
    .resize-n { top: -5px; left: 10px; right: 10px; height: 5px; cursor: n-resize; }
    .resize-ne { top: -5px; right: -5px; width: 10px; height: 10px; cursor: ne-resize; }
    .resize-e { top: 10px; right: -5px; width: 5px; bottom: 10px; cursor: e-resize; }
    .resize-se { bottom: -5px; right: -5px; width: 10px; height: 10px; cursor: se-resize; }
    .resize-s { bottom: -5px; left: 10px; right: 10px; height: 5px; cursor: s-resize; }
    .resize-sw { bottom: -5px; left: -5px; width: 10px; height: 10px; cursor: sw-resize; }
    .resize-w { top: 10px; left: -5px; width: 5px; bottom: 10px; cursor: w-resize; }
    
    /* Selection rectangle */
    .selection-rectangle {
      position: absolute;
      border: 1px dotted #000;
      background: rgba(0, 0, 255, 0.1);
      pointer-events: none;
      z-index: 9999;
    }
    #taskbar {
      position: fixed;
      bottom: 0;
      left: 0;
      right: 0;
      height: 40px;
      background: linear-gradient(to bottom, #dfdfdf, #c0c0c0);
      border-top: 2px solid #fff;
      border-right: 2px solid #fff;
      display: flex;
      align-items: center;
      padding: 0 10px;
      z-index: 4000;
      transition: all 0.2s ease;
      box-shadow: 0 -2px 5px rgba(0, 0, 0, 0.1);
      min-height: 40px;
    }

    /* Responsive taskbar */
    @media (max-width: 768px) {
      #taskbar {
        height: 48px;
        min-height: 48px;
        padding: 0 8px;
      }
    }

    @media (max-width: 480px) {
      #taskbar {
        height: 52px;
        min-height: 52px;
        padding: 0 6px;
        flex-wrap: wrap;
      }
    }
    #startButton {
      background: linear-gradient(to bottom, #dfdfdf, #c0c0c0);
      border: 2px outset #c0c0c0;
      padding: 6px 12px;
      cursor: pointer;
      font-family: "MS Sans Serif", Tahoma, sans-serif;
      font-size: 14px;
      margin-right: 10px;
      transition: all 0.1s ease;
      user-select: none;
      -webkit-user-select: none;
      -moz-user-select: none;
      -ms-user-select: none;
      min-width: 60px;
      white-space: nowrap;
      touch-action: manipulation;
    }

    #startButton:hover {
      background: linear-gradient(to bottom, #e8e8e8, #d0d0d0);
      border-color: #a0a0a0;
    }

    #startButton:active {
      border: 2px inset #c0c0c0;
      background: linear-gradient(to bottom, #b8b8b8, #a0a0a0);
      transform: translateY(1px);
    }

    /* Responsive start button */
    @media (max-width: 480px) {
      #startButton {
        padding: 8px 10px;
        font-size: 16px;
        min-width: 70px;
      }
    }
    #taskbarTime {
      margin-left: auto;
      font-size: 14px;
      font-family: "MS Sans Serif", Tahoma, sans-serif;
      background: rgba(192, 192, 192, 0.8);
      padding: 2px 6px;
      border: 1px inset #c0c0c0;
      white-space: nowrap;
      min-width: 140px;
      text-align: center;
      transition: background-color 0.2s ease;
      -webkit-user-select: none;
      -moz-user-select: none;
      -ms-user-select: none;
      user-select: none;
    }

    #taskbarTime:hover {
      background: rgba(224, 224, 224, 0.9);
    }

    /* Responsive taskbar time */
    @media (max-width: 768px) {
      #taskbarTime {
        font-size: 12px;
        min-width: 120px;
        padding: 3px 4px;
      }
    }

    @media (max-width: 480px) {
      #taskbarTime {
        font-size: 11px;
        min-width: 100px;
        padding: 4px 3px;
      }
    }
    #minimizedWindows {
      display: flex;
      gap: 5px;
      flex: 1;
      max-width: calc(100% - 200px);
      overflow-x: auto;
      overflow-y: hidden;
      scrollbar-width: thin;
      scrollbar-color: #808080 #c0c0c0;
      padding: 2px;
      margin: 0 10px;
    }

    #minimizedWindows::-webkit-scrollbar {
      height: 8px;
    }

    #minimizedWindows::-webkit-scrollbar-track {
      background: #c0c0c0;
      border: 1px inset #c0c0c0;
    }

    #minimizedWindows::-webkit-scrollbar-thumb {
      background: #808080;
      border: 1px outset #808080;
    }

    #minimizedWindows::-webkit-scrollbar-thumb:hover {
      background: #606060;
    }

    #minimizedWindows .minimized-tab,
    #minimizedWindows .taskbar-tab {
      background: linear-gradient(to bottom, #4a4a4a, #333);
      color: #fff;
      padding: 4px 8px;
      cursor: pointer;
      border: 1px outset #555;
      font-size: 12px;
      border-radius: 2px;
      white-space: nowrap;
      min-width: 80px;
      max-width: 150px;
      overflow: hidden;
      text-overflow: ellipsis;
      transition: all 0.2s ease;
      -webkit-user-select: none;
      -moz-user-select: none;
      -ms-user-select: none;
      user-select: none;
      touch-action: manipulation;
      flex-shrink: 0;
    }

    /* Active taskbar tab styling */
    #minimizedWindows .taskbar-tab.active {
      background: linear-gradient(to bottom, #dfdfdf, #c0c0c0);
      color: #000;
      border: 1px inset #c0c0c0;
    }

    #minimizedWindows .minimized-tab:hover,
    #minimizedWindows .taskbar-tab:hover {
      background: linear-gradient(to bottom, #5a5a5a, #444);
      border-color: #666;
      transform: translateY(-1px);
    }

    #minimizedWindows .taskbar-tab.active:hover {
      background: linear-gradient(to bottom, #e8e8e8, #d0d0d0);
      border-color: #a0a0a0;
    }

    #minimizedWindows .minimized-tab:active,
    #minimizedWindows .taskbar-tab:active {
      border: 1px inset #555;
      background: linear-gradient(to bottom, #2a2a2a, #1a1a1a);
      transform: translateY(0);
    }

    #minimizedWindows .taskbar-tab.active:active {
      border: 1px inset #c0c0c0;
      background: linear-gradient(to bottom, #b8b8b8, #a0a0a0);
    }

    /* Responsive minimized windows */
    @media (max-width: 768px) {
      #minimizedWindows {
        max-width: calc(100% - 180px);
        gap: 3px;
      }
      
      #minimizedWindows .minimized-tab,
      #minimizedWindows .taskbar-tab {
        font-size: 11px;
        padding: 5px 6px;
        min-width: 60px;
        max-width: 120px;
      }
    }

    @media (max-width: 480px) {
      #minimizedWindows {
        max-width: calc(100% - 160px);
        gap: 2px;
      }
      
      #minimizedWindows .minimized-tab,
      #minimizedWindows .taskbar-tab {
        font-size: 10px;
        padding: 6px 4px;
        min-width: 50px;
        max-width: 100px;
      }
    }
    #startMenu {
      position: fixed;
      bottom: 40px;
      left: 10px;
      width: 200px;
      max-height: 400px;
      background: linear-gradient(to bottom, #dfdfdf, #c0c0c0);
      border: 2px outset #c0c0c0;
      box-shadow: 3px 3px 8px rgba(0, 0, 0, 0.3);
      display: none;
      font-family: "MS Sans Serif", Tahoma, sans-serif;
      z-index: 5000;
      overflow-y: auto;
      transition: all 0.2s ease;
      border-radius: 0 8px 0 0;
    }

    /* Responsive start menu */
    @media (max-width: 768px) {
      #startMenu {
        bottom: 48px;
        width: 180px;
        max-height: 350px;
      }
    }

    @media (max-width: 480px) {
      #startMenu {
        bottom: 52px;
        left: 6px;
        width: 160px;
        max-height: 300px;
      }
    }

    #startMenu ul {
      list-style: none;
      margin: 0;
      padding: 3px;
    }

    #startMenu li {
      padding: 6px 12px;
      cursor: pointer;
      border-bottom: 1px solid #a0a0a0;
      transition: all 0.15s ease;
      font-size: 14px;
      -webkit-user-select: none;
      -moz-user-select: none;
      -ms-user-select: none;
      user-select: none;
      touch-action: manipulation;
      position: relative;
    }

    #startMenu li:last-child {
      border-bottom: none;
    }

    #startMenu li:hover {
      background: linear-gradient(to right, #0078d4, #106ebe);
      color: #fff;
      border-left: 3px solid #fff;
      padding-left: 9px;
      transform: translateX(2px);
    }

    #startMenu li:active {
      background: linear-gradient(to right, #106ebe, #005a9e);
      transform: translateX(0px);
    }

    /* Responsive start menu items */
    @media (max-width: 480px) {
      #startMenu li {
        padding: 8px 10px;
        font-size: 16px;
      }
      
      #startMenu li:hover {
        padding-left: 7px;
      }
    }
    .app-window {
      position: absolute;
      background: #C0C0C0;
      border: 2px solid #000;
      box-shadow: 3px 3px 0 #808080;
      width: 400px;
      height: 300px;
      top: 100px;
      left: 100px;
      z-index: 10;
      transition: opacity 0.3s;
      resize: both;
      overflow: auto;
    }
    .app-window.minimized { display: none; }
    .app-window.fullscreen {
      top: 0 !important;
      left: 0 !important;
      width: 100% !important;
      height: 100% !important;
    }
    .app-window .title-bar {
      background: #000080;
      color: #fff;
      padding: 4px;
      cursor: move;
      display: flex;
      justify-content: space-between;
      align-items: center;
    }
    .app-window .title-bar .title {
      font-size: 14px;
      font-weight: bold;
    }
    .app-window .title-bar .controls {
      display: flex;
      gap: 5px;
    }
    .app-window .title-bar .minimize-btn,
    .app-window .title-bar .maximize-btn,
    .app-window .title-bar .close-btn {
      background: #C0C0C0;
      border: 1px solid #fff;
      width: 16px;
      height: 16px;
      text-align: center;
      line-height: 14px;
      cursor: pointer;
      font-size: 12px;
    }
    .app-window .content {
      padding: 10px;
      background: #fff;
      height: calc(100% - 30px);
      overflow: auto;
      font-family: "Courier New", monospace;
      font-size: 14px;
    }
    .uol-window .title-bar { background: #003366; }
    .uol-window .content { background: #cce6ff; }
    .kidzkrypt-window {
      background: #000;
      color: #0f0;
      font-family: "Courier New", monospace;
    }
    .kidzkrypt-window .title-bar {
      background: #003300;
      color: #0f0;
    }
    .kidzkrypt-window .content {
      background: #001100;
      color: #0f0;
      display: flex;
      flex-direction: column;
      gap: 10px;
    }
    .kidzkrypt-window .content button {
      width: 100%;
      padding: 10px;
      font-size: 14px;
      cursor: pointer;
    }
    .minesweeper-grid {
      display: grid;
      grid-template-columns: repeat(8, 30px);
      grid-template-rows: repeat(8, 30px);
      gap: 2px;
      margin: 10px 0;
    }
    .minesweeper-cell {
      width: 30px;
      height: 30px;
      background: #ddd;
      text-align: center;
      line-height: 30px;
      font-size: 14px;
      border: 1px solid #999;
      cursor: pointer;
      user-select: none;
    }
    .minesweeper-cell.revealed { background: #eee; cursor: default; }
    .minesweeper-cell.mine { background: red; color: #fff; }
    #aolChatContainer {
      height: 65%;
      overflow-y: auto;
      border: 2px inset #c0c0c0;
      padding: 8px;
      background: #ffffff;
      font-family: 'MS Sans Serif', sans-serif;
      font-size: 11px;
      scrollbar-width: thin;
      scrollbar-color: #c0c0c0 #f0f0f0;
    }
    
    /* Custom scrollbar for webkit browsers (period-accurate) */
    #aolChatContainer::-webkit-scrollbar {
      width: 16px;
    }
    
    #aolChatContainer::-webkit-scrollbar-track {
      background: #c0c0c0;
      border: 1px inset #c0c0c0;
    }
    
    #aolChatContainer::-webkit-scrollbar-thumb {
      background: #808080;
      border: 1px outset #808080;
      border-radius: 0;
    }
    
    #aolChatContainer::-webkit-scrollbar-thumb:hover {
      background: #606060;
    }
    
    #aolChatContainer p { 
      margin: 2px 0; 
      padding: 1px 0;
      line-height: 1.3;
      word-wrap: break-word;
    }
    
    /* Enhanced message styling */
    .chat-message {
      margin: 2px 0;
      padding: 1px 0;
    }
    
    .system-message {
      color: #666666;
      font-style: italic;
      font-size: 10px;
    }
    
    .player-name {
      color: #0066cc;
      font-weight: bold;
    }
    
    .username {
      color: #cc0000;
      font-weight: bold;
    }
    
    .message-text {
      color: #000000;
    }
    
    .player-message {
      color: #000000;
    }
    
    /* Improve input area */
    #aolChatInput {
      border: 2px inset #c0c0c0;
      padding: 4px;
      font-family: 'MS Sans Serif', sans-serif;
      font-size: 11px;
      background: #ffffff;
    }
    
    #aolChatInput:focus {
      outline: none;
      border-color: #0000ff;
    }
    #friendsOnline { font-weight: bold; }
    #calcDisplay {
      width: 100%;
      height: 40px;
      text-align: right;
      font-size: 20px;
      margin-bottom: 5px;
      padding: 5px;
    }
    #calcButtons button {
      width: 23%;
      margin: 1%;
      padding: 10px;
      font-size: 16px;
      cursor: pointer;
    }
    #clippy {
      position: absolute;
      bottom: 50px;
      right: 50px;
      z-index: 1000;
      cursor: pointer;
      display: none;
    }
    #clippy img { width: 80px; }
    #clippyMessage {
      background: #C0C0C0;
      border: 1px solid #000;
      padding: 5px;
      font-family: "MS Sans Serif", sans-serif;
      font-size: 12px;
      margin-top: 3px;
    }
    #redFlash {
      position: fixed;
      top: 0;
      left: 0;
      width: 100%;
      height: 100%;
      background: red;
      opacity: 0;
      z-index: 3000;
      pointer-events: none;
    }
    .notification {
      position: fixed;
      top: 20px;
      right: 20px;
      background: rgba(0,0,0,0.8);
      color: #0f0;
      padding: 10px 15px;
      border: 2px solid #0f0;
      border-radius: 5px;
      z-index: 6000;
      font-family: monospace;
    }
    #dialUpOverlay {
      display: none;
      position: fixed;
      top: 50%;
      left: 50%;
      transform: translate(-50%, -50%);
      background: #222;
      color: #0f0;
      font-family: "Courier New", monospace;
      padding: 20px;
      border: 2px solid #0f0;
      border-radius: 8px;
      z-index: 4500;
      flex-direction: column;
      align-items: center;
    }
    #dialUpOverlay img {
      width: 100px;
      height: 100px;
      animation: rotate360 1s linear infinite;
    }
    #dialUpProgress {
      margin-top: 20px;
      font-size: 18px;
    }
    @keyframes rotate360 {
      from { transform: rotate(0deg); }
      to { transform: rotate(360deg); }
    }
