website_designs

Windows 95/98 - Design Reference

The Windows 95/98 aesthetic recreates the iconic graphical user interface of Microsoft’s mid-to-late 1990s operating systems. It is defined by grey panel surfaces, beveled 3D borders achieved through layered highlights and shadows, pixel-perfect bitmap typography, and a restrained palette anchored by silver-grey and teal. Every element – buttons, title bars, scrollbars, dialog boxes – uses a strict system of raised and sunken borders to communicate interactivity and depth on low-resolution CRT monitors. The style evokes nostalgia for an era when personal computing first became mainstream, and it has experienced a strong revival in web design, indie games, and digital art as designers embrace its lo-fi charm, rigorous structure, and unapologetic utilitarianism.


Visual Characteristics

Core Design Traits

Design Principles


Color Palette

Color Name Hex Role / Usage
Desktop Teal #008080 Default desktop wallpaper background, signature accent color
Button Face #C0C0C0 Default surface color for windows, buttons, panels, dialogs, and toolbars
Button Highlight #FFFFFF Top and left outer border edge on raised elements; brightest highlight
Button Light #DFDFDF Top and left inner border edge on raised elements; secondary highlight
Button Shadow #808080 Bottom and right inner border edge on raised elements; secondary shadow
Button Dark Shadow #000000 Bottom and right outer border edge on raised elements; deepest shadow
Active Title Bar #000080 Background gradient start for active window title bars
Active Title Bar End #1084D0 Background gradient end for active window title bars
Inactive Title Bar #808080 Background for inactive window title bars
Title Bar Text #FFFFFF White text rendered on title bars
Window Background #FFFFFF White content area inside text fields, list boxes, tree views
Window Text #000000 Black text inside content areas and body copy
Selected Item #000080 Background for selected/highlighted items in lists and menus
Selected Text #FFFFFF White text on selected item backgrounds
Disabled Text #808080 Greyed-out text for unavailable menu items and disabled buttons
Menu Bar #C0C0C0 Background for menu bars, matching the button face
Tooltip Background #FFFFE1 Pale yellow background for system tooltips
Tooltip Text #000000 Black text rendered inside tooltips
Link Blue #0000FF Hyperlink text in help files and early Internet Explorer
Visited Link #800080 Visited hyperlink purple

CSS Custom Properties

:root {
  /* Surface colors */
  --win98-desktop: #008080;
  --win98-surface: #C0C0C0;
  --win98-window-bg: #FFFFFF;
  --win98-tooltip-bg: #FFFFE1;

  /* Border system (raised) */
  --win98-border-lightest: #FFFFFF;
  --win98-border-light: #DFDFDF;
  --win98-border-dark: #808080;
  --win98-border-darkest: #000000;

  /* Title bar */
  --win98-titlebar-active: #000080;
  --win98-titlebar-active-end: #1084D0;
  --win98-titlebar-inactive: #808080;
  --win98-titlebar-inactive-end: #B5B5B5;
  --win98-titlebar-text: #FFFFFF;

  /* Text */
  --win98-text: #000000;
  --win98-text-disabled: #808080;
  --win98-text-link: #0000FF;
  --win98-text-visited: #800080;

  /* Selection */
  --win98-selection-bg: #000080;
  --win98-selection-text: #FFFFFF;

  /* Accent */
  --win98-teal: #008080;
  --win98-navy: #000080;
}

Typography

Typeface Characteristics

Windows 95/98 typography is:

Font Style Best For
VT323 Pixel/monospace, classic CRT feel Headings, display text, terminal output, nostalgic accents
Press Start 2P Chunky 8-bit pixel font Logos, hero headlines, decorative display text
Pixelify Sans Clean pixel sans-serif Body text in pixel style, UI labels, menus
IBM Plex Mono Modern monospace with retro roots Code blocks, status bars, system information text
IBM Plex Sans Clean humanist sans-serif Body text alternative when pixel fonts reduce readability
Roboto Neo-grotesque, neutral Body text fallback, readable at all sizes
Courier Prime Refined Courier revival Code, terminal output, monospaced content
Share Tech Mono Technical monospace Toolbars, system stats, address bars
Silkscreen Bitmap-style pixel font Navigation, buttons, small UI labels
DotGothic16 Japanese pixel font Multilingual pixel interfaces, decorative headers

Font Pairing Suggestions

Heading Font Body Font Character
VT323 (400) IBM Plex Sans (400) Nostalgic headings with readable body text
Press Start 2P (400) Pixelify Sans (400) Full pixel aesthetic, game/retro feel
Pixelify Sans (700) Roboto (400) Balanced retro heading with modern readability
Silkscreen (400) IBM Plex Mono (400) System UI feel, technical documentation
Share Tech Mono (400) IBM Plex Sans (400) Technical/developer oriented retro layout

Typography CSS Example

/* Import fonts */
@import url('https://fonts.googleapis.com/css2?family=VT323&family=IBM+Plex+Sans:wght@400;500;600&family=IBM+Plex+Mono:wght@400;500&family=Pixelify+Sans:wght@400;700&display=swap');

/* Headings -- pixel font for nostalgic feel */
h1, h2, h3, h4, h5, h6 {
  font-family: 'VT323', 'Pixelify Sans', monospace;
  font-weight: 400;
  color: var(--win98-text);
  line-height: 1.2;
  letter-spacing: 0.02em;
}

/* Display / Hero text */
.win98-display {
  font-family: 'VT323', monospace;
  font-size: clamp(2rem, 4vw, 3.5rem);
  font-weight: 400;
  line-height: 1.1;
}

/* Body text -- readable modern sans for comfort */
body {
  font-family: 'IBM Plex Sans', 'Roboto', 'Tahoma', 'MS Sans Serif', sans-serif;
  font-weight: 400;
  font-size: 13px;
  line-height: 1.5;
  color: var(--win98-text);
  -webkit-font-smoothing: none;
  -moz-osx-font-smoothing: grayscale;
}

/* UI labels -- small, system-like */
.win98-label {
  font-family: 'Pixelify Sans', 'IBM Plex Sans', sans-serif;
  font-weight: 400;
  font-size: 12px;
  letter-spacing: 0;
}

/* Monospace / code / status bar */
.win98-mono {
  font-family: 'IBM Plex Mono', 'Courier Prime', 'Fixedsys', monospace;
  font-weight: 400;
  font-size: 13px;
  line-height: 1.4;
}

/* Title bar text */
.win98-titlebar-text {
  font-family: 'Pixelify Sans', 'IBM Plex Sans', sans-serif;
  font-weight: 700;
  font-size: 12px;
  color: var(--win98-titlebar-text);
}

Layout Principles

Grid and Structure

Section Organization

Responsive Approach


CSS / Design Techniques

Window / Card Component

The fundamental building block of the Windows 95/98 aesthetic is the window panel with its characteristic beveled border system.

/* Raised panel (window frame, buttons) */
.win98-window {
  background: var(--win98-surface);
  border-top: 2px solid var(--win98-border-lightest);
  border-left: 2px solid var(--win98-border-lightest);
  border-right: 2px solid var(--win98-border-darkest);
  border-bottom: 2px solid var(--win98-border-darkest);
  box-shadow:
    inset 1px 1px 0 var(--win98-border-light),
    inset -1px -1px 0 var(--win98-border-dark);
  padding: 3px;
}

/* Alternative: box-shadow-only approach for raised effect */
.win98-raised {
  background: var(--win98-surface);
  box-shadow:
    inset -1px -1px 0 var(--win98-border-darkest),
    inset 1px 1px 0 var(--win98-border-lightest),
    inset -2px -2px 0 var(--win98-border-dark),
    inset 2px 2px 0 var(--win98-border-light);
}

/* Sunken panel (text inputs, status bar fields, content wells) */
.win98-sunken {
  background: var(--win98-window-bg);
  box-shadow:
    inset -1px -1px 0 var(--win98-border-lightest),
    inset 1px 1px 0 var(--win98-border-darkest),
    inset -2px -2px 0 var(--win98-border-light),
    inset 2px 2px 0 var(--win98-border-dark);
}

/* Title bar */
.win98-titlebar {
  background: linear-gradient(to right, var(--win98-titlebar-active), var(--win98-titlebar-active-end));
  color: var(--win98-titlebar-text);
  font-weight: bold;
  font-size: 12px;
  padding: 2px 4px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  user-select: none;
}

.win98-titlebar.inactive {
  background: linear-gradient(to right, var(--win98-titlebar-inactive), var(--win98-titlebar-inactive-end));
}

/* Title bar buttons (minimize, maximize, close) */
.win98-titlebar-btn {
  width: 16px;
  height: 14px;
  min-width: 16px;
  background: var(--win98-surface);
  border-top: 1px solid var(--win98-border-lightest);
  border-left: 1px solid var(--win98-border-lightest);
  border-right: 1px solid var(--win98-border-darkest);
  border-bottom: 1px solid var(--win98-border-darkest);
  box-shadow:
    inset 1px 1px 0 var(--win98-border-light),
    inset -1px -1px 0 var(--win98-border-dark);
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 0;
  font-size: 10px;
  line-height: 1;
  cursor: pointer;
}

Button Component

/* Standard raised button */
.win98-button {
  background: var(--win98-surface);
  color: var(--win98-text);
  border: none;
  font-family: 'IBM Plex Sans', 'Tahoma', sans-serif;
  font-size: 12px;
  padding: 4px 16px;
  min-width: 75px;
  min-height: 23px;
  cursor: pointer;
  box-shadow:
    inset -1px -1px 0 var(--win98-border-darkest),
    inset 1px 1px 0 var(--win98-border-lightest),
    inset -2px -2px 0 var(--win98-border-dark),
    inset 2px 2px 0 var(--win98-border-light);
}

/* Pressed / active state -- borders invert */
.win98-button:active {
  box-shadow:
    inset -1px -1px 0 var(--win98-border-lightest),
    inset 1px 1px 0 var(--win98-border-darkest),
    inset -2px -2px 0 var(--win98-border-light),
    inset 2px 2px 0 var(--win98-border-dark);
  padding: 5px 15px 3px 17px;
}

/* Focused button -- dotted inner border */
.win98-button:focus {
  outline: none;
  box-shadow:
    inset -1px -1px 0 var(--win98-border-darkest),
    inset 1px 1px 0 var(--win98-border-lightest),
    inset -2px -2px 0 var(--win98-border-dark),
    inset 2px 2px 0 var(--win98-border-light);
}

.win98-button:focus::after {
  content: '';
  position: absolute;
  top: 4px;
  left: 4px;
  right: 4px;
  bottom: 4px;
  border: 1px dotted var(--win98-text);
  pointer-events: none;
}

/* Default (primary) button -- extra outer border */
.win98-button.default {
  border: 2px solid var(--win98-border-darkest);
  padding: 2px 14px;
}

/* Disabled button */
.win98-button:disabled {
  color: var(--win98-border-dark);
  text-shadow: 1px 1px 0 var(--win98-border-lightest);
  cursor: default;
}
/* Menu bar strip */
.win98-menubar {
  background: var(--win98-surface);
  display: flex;
  padding: 2px 0;
  border-bottom: 1px solid var(--win98-border-dark);
}

/* Menu bar item */
.win98-menubar-item {
  padding: 2px 8px;
  font-family: 'IBM Plex Sans', 'Tahoma', sans-serif;
  font-size: 12px;
  cursor: pointer;
  position: relative;
}

.win98-menubar-item:hover {
  box-shadow:
    inset -1px -1px 0 var(--win98-border-darkest),
    inset 1px 1px 0 var(--win98-border-lightest);
}

/* Dropdown menu */
.win98-dropdown {
  position: absolute;
  background: var(--win98-surface);
  border-top: 2px solid var(--win98-border-lightest);
  border-left: 2px solid var(--win98-border-lightest);
  border-right: 2px solid var(--win98-border-darkest);
  border-bottom: 2px solid var(--win98-border-darkest);
  box-shadow:
    inset 1px 1px 0 var(--win98-border-light),
    inset -1px -1px 0 var(--win98-border-dark);
  padding: 2px;
  min-width: 160px;
  z-index: 1000;
}

/* Menu item */
.win98-menu-item {
  padding: 3px 24px 3px 28px;
  font-size: 12px;
  cursor: pointer;
  white-space: nowrap;
}

.win98-menu-item:hover {
  background: var(--win98-selection-bg);
  color: var(--win98-selection-text);
}

/* Menu separator */
.win98-menu-separator {
  height: 1px;
  background: var(--win98-border-dark);
  border-bottom: 1px solid var(--win98-border-lightest);
  margin: 3px 2px;
}

/* Disabled menu item */
.win98-menu-item.disabled {
  color: var(--win98-border-dark);
  text-shadow: 1px 1px 0 var(--win98-border-lightest);
  cursor: default;
}

.win98-menu-item.disabled:hover {
  background: transparent;
  color: var(--win98-border-dark);
}

Hero / Desktop Area

/* Desktop background */
.win98-desktop {
  background: var(--win98-desktop);
  min-height: 100vh;
  padding: 8px;
  padding-bottom: 40px; /* space for taskbar */
  position: relative;
}

/* Desktop icon */
.win98-desktop-icon {
  display: flex;
  flex-direction: column;
  align-items: center;
  width: 75px;
  padding: 4px;
  cursor: pointer;
  text-align: center;
}

.win98-desktop-icon img {
  width: 32px;
  height: 32px;
  image-rendering: pixelated;
}

.win98-desktop-icon span {
  font-size: 11px;
  color: white;
  text-shadow: 1px 1px 1px black;
  margin-top: 4px;
  word-wrap: break-word;
}

.win98-desktop-icon:focus span,
.win98-desktop-icon.selected span {
  background: var(--win98-selection-bg);
  color: var(--win98-selection-text);
}

Taskbar

/* Taskbar */
.win98-taskbar {
  position: fixed;
  bottom: 0;
  left: 0;
  right: 0;
  height: 32px;
  background: var(--win98-surface);
  border-top: 2px solid var(--win98-border-lightest);
  display: flex;
  align-items: center;
  padding: 2px 4px;
  z-index: 9999;
  gap: 4px;
}

/* Start button */
.win98-start-btn {
  font-weight: bold;
  font-size: 12px;
  padding: 2px 8px;
  display: flex;
  align-items: center;
  gap: 4px;
  min-width: auto;
  height: 24px;
}

/* Taskbar window buttons area */
.win98-taskbar-windows {
  display: flex;
  flex: 1;
  gap: 2px;
  overflow: hidden;
}

.win98-taskbar-window-btn {
  font-size: 11px;
  padding: 2px 8px;
  height: 22px;
  min-width: 120px;
  max-width: 180px;
  text-align: left;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

/* System tray / notification area */
.win98-systray {
  display: flex;
  align-items: center;
  gap: 6px;
  padding: 1px 8px;
  font-size: 11px;
  box-shadow:
    inset -1px -1px 0 var(--win98-border-lightest),
    inset 1px 1px 0 var(--win98-border-dark);
  height: 22px;
}

Form Inputs

/* Text input */
.win98-input {
  background: var(--win98-window-bg);
  color: var(--win98-text);
  font-family: 'IBM Plex Sans', 'Tahoma', sans-serif;
  font-size: 12px;
  padding: 3px 4px;
  border: none;
  box-shadow:
    inset -1px -1px 0 var(--win98-border-lightest),
    inset 1px 1px 0 var(--win98-border-darkest),
    inset -2px -2px 0 var(--win98-border-light),
    inset 2px 2px 0 var(--win98-border-dark);
  outline: none;
}

/* Checkbox */
.win98-checkbox {
  appearance: none;
  -webkit-appearance: none;
  width: 13px;
  height: 13px;
  background: var(--win98-window-bg);
  box-shadow:
    inset -1px -1px 0 var(--win98-border-lightest),
    inset 1px 1px 0 var(--win98-border-darkest),
    inset -2px -2px 0 var(--win98-border-light),
    inset 2px 2px 0 var(--win98-border-dark);
  cursor: pointer;
  vertical-align: middle;
  position: relative;
}

.win98-checkbox:checked::after {
  content: '\\2713';
  position: absolute;
  top: -1px;
  left: 1px;
  font-size: 12px;
  font-weight: bold;
  color: var(--win98-text);
}

/* Select / dropdown */
.win98-select {
  background: var(--win98-window-bg);
  color: var(--win98-text);
  font-family: 'IBM Plex Sans', 'Tahoma', sans-serif;
  font-size: 12px;
  padding: 2px 20px 2px 4px;
  border: none;
  box-shadow:
    inset -1px -1px 0 var(--win98-border-lightest),
    inset 1px 1px 0 var(--win98-border-darkest),
    inset -2px -2px 0 var(--win98-border-light),
    inset 2px 2px 0 var(--win98-border-dark);
  outline: none;
  cursor: pointer;
}

/* Group box (fieldset) */
.win98-groupbox {
  border: none;
  padding: 12px 8px 8px;
  margin: 8px 0;
  box-shadow:
    inset 0 0 0 1px var(--win98-border-dark),
    inset 0 0 0 2px var(--win98-border-lightest);
}

.win98-groupbox legend {
  font-size: 12px;
  padding: 0 4px;
  background: var(--win98-surface);
}

Tab Control

/* Tab container */
.win98-tabs {
  display: flex;
  padding: 0 4px;
  position: relative;
  bottom: -2px;
  z-index: 1;
}

/* Individual tab */
.win98-tab {
  background: var(--win98-surface);
  border-top: 2px solid var(--win98-border-lightest);
  border-left: 2px solid var(--win98-border-lightest);
  border-right: 2px solid var(--win98-border-darkest);
  border-bottom: none;
  padding: 4px 16px;
  font-size: 12px;
  cursor: pointer;
  position: relative;
  margin-right: 2px;
}

.win98-tab.active {
  background: var(--win98-surface);
  padding-bottom: 6px;
  margin-bottom: -2px;
  z-index: 2;
}

/* Tab content area */
.win98-tab-content {
  background: var(--win98-surface);
  border-top: 2px solid var(--win98-border-lightest);
  border-left: 2px solid var(--win98-border-lightest);
  border-right: 2px solid var(--win98-border-darkest);
  border-bottom: 2px solid var(--win98-border-darkest);
  padding: 12px;
  position: relative;
  z-index: 0;
}

Progress Bar

/* Progress bar track */
.win98-progress {
  width: 100%;
  height: 18px;
  background: var(--win98-window-bg);
  box-shadow:
    inset -1px -1px 0 var(--win98-border-lightest),
    inset 1px 1px 0 var(--win98-border-darkest),
    inset -2px -2px 0 var(--win98-border-light),
    inset 2px 2px 0 var(--win98-border-dark);
  padding: 2px;
}

/* Segmented fill (classic Win98 style) */
.win98-progress-fill {
  height: 100%;
  background: repeating-linear-gradient(
    to right,
    var(--win98-selection-bg) 0px,
    var(--win98-selection-bg) 8px,
    transparent 8px,
    transparent 10px
  );
}

Tooltip

.win98-tooltip {
  background: var(--win98-tooltip-bg);
  color: var(--win98-text);
  border: 1px solid var(--win98-border-darkest);
  padding: 2px 6px;
  font-size: 11px;
  font-family: 'IBM Plex Sans', 'Tahoma', sans-serif;
  position: absolute;
  white-space: nowrap;
  z-index: 10000;
  pointer-events: none;
  box-shadow: 2px 2px 0 rgba(0, 0, 0, 0.15);
}

Design Do’s and Don’ts

Do

Don’t


Aesthetic Relationship
8-Bit Shares pixel-grid precision and bitmap rendering, but 8-Bit focuses on gaming consoles rather than desktop operating systems
Early Cyber Both emerged from 1990s computing, but Early Cyber leans toward internet culture (animated GIFs, under-construction banners) while Win95/98 is about the OS itself
Dial-Up Delight Overlaps in era and technology nostalgia; Dial-Up Delight focuses on the internet experience (loading bars, AOL) while Win95/98 focuses on the desktop shell
Flat Design A philosophical descendant – Flat Design stripped away the bevels and 3D effects that define Win95/98, replacing them with pure 2D surfaces
Material Design Google’s system inherits the structured component hierarchy and elevation concept from Win95/98 but replaces pixel borders with soft shadows and motion
Frutiger Aero The glossy, transparent, nature-infused aesthetic that replaced the Win95/98 look in Windows Vista/7 – a direct visual successor
Skeuomorphism Win95/98 is proto-skeuomorphic: the beveled buttons simulate physical pushbuttons, preceding Apple’s richer texture-heavy skeuomorphism
Metro Design Microsoft’s own reaction against Win95/98 chrome – Metro stripped all bevels, borders, and ornamentation in favor of typography and flat tiles
Cyberpunk Can borrow Win95/98 UI frames as retro-tech elements, embedding them in neon-lit dystopian compositions
Mallsoft Shares the 1990s nostalgia angle and often uses Win95/98 interface frames as visual motifs in vaporwave-adjacent digital collage

Quick-Start HTML Template

<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>Windows 95/98 Aesthetic</title>
  <link rel="preconnect" href="https://fonts.googleapis.com">
  <link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
  <link href="https://fonts.googleapis.com/css2?family=IBM+Plex+Mono:wght@400;500&family=IBM+Plex+Sans:wght@400;500;600&family=Pixelify+Sans:wght@400;700&family=VT323&display=swap" rel="stylesheet">
  <style>
    /* ========================================
       CSS CUSTOM PROPERTIES
    ======================================== */
    :root {
      --win98-desktop: #008080;
      --win98-surface: #C0C0C0;
      --win98-window-bg: #FFFFFF;
      --win98-tooltip-bg: #FFFFE1;

      --win98-border-lightest: #FFFFFF;
      --win98-border-light: #DFDFDF;
      --win98-border-dark: #808080;
      --win98-border-darkest: #000000;

      --win98-titlebar-active: #000080;
      --win98-titlebar-active-end: #1084D0;
      --win98-titlebar-inactive: #808080;
      --win98-titlebar-inactive-end: #B5B5B5;
      --win98-titlebar-text: #FFFFFF;

      --win98-text: #000000;
      --win98-text-disabled: #808080;
      --win98-text-link: #0000FF;
      --win98-text-visited: #800080;

      --win98-selection-bg: #000080;
      --win98-selection-text: #FFFFFF;
    }

    /* ========================================
       RESET & BASE
    ======================================== */
    *, *::before, *::after {
      margin: 0;
      padding: 0;
      box-sizing: border-box;
    }

    html {
      height: 100%;
    }

    body {
      font-family: 'IBM Plex Sans', 'Tahoma', 'MS Sans Serif', sans-serif;
      font-size: 12px;
      line-height: 1.4;
      color: var(--win98-text);
      background: var(--win98-desktop);
      min-height: 100%;
      padding-bottom: 40px;
      -webkit-font-smoothing: none;
      -moz-osx-font-smoothing: grayscale;
    }

    /* ========================================
       RAISED & SUNKEN UTILITIES
    ======================================== */
    .raised {
      box-shadow:
        inset -1px -1px 0 var(--win98-border-darkest),
        inset 1px 1px 0 var(--win98-border-lightest),
        inset -2px -2px 0 var(--win98-border-dark),
        inset 2px 2px 0 var(--win98-border-light);
    }

    .sunken {
      box-shadow:
        inset -1px -1px 0 var(--win98-border-lightest),
        inset 1px 1px 0 var(--win98-border-darkest),
        inset -2px -2px 0 var(--win98-border-light),
        inset 2px 2px 0 var(--win98-border-dark);
    }

    /* ========================================
       WINDOW COMPONENT
    ======================================== */
    .window {
      background: var(--win98-surface);
      box-shadow:
        inset -1px -1px 0 var(--win98-border-darkest),
        inset 1px 1px 0 var(--win98-border-lightest),
        inset -2px -2px 0 var(--win98-border-dark),
        inset 2px 2px 0 var(--win98-border-light);
      padding: 3px;
    }

    .title-bar {
      background: linear-gradient(to right, var(--win98-titlebar-active), var(--win98-titlebar-active-end));
      color: var(--win98-titlebar-text);
      font-family: 'Pixelify Sans', 'IBM Plex Sans', sans-serif;
      font-weight: 700;
      font-size: 12px;
      padding: 3px 4px;
      display: flex;
      align-items: center;
      justify-content: space-between;
      user-select: none;
      margin-bottom: 2px;
    }

    .title-bar.inactive {
      background: linear-gradient(to right, var(--win98-titlebar-inactive), var(--win98-titlebar-inactive-end));
    }

    .title-bar-text {
      overflow: hidden;
      white-space: nowrap;
      text-overflow: ellipsis;
      letter-spacing: 0.5px;
    }

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

    .title-bar-controls button {
      width: 16px;
      height: 14px;
      min-width: 16px;
      background: var(--win98-surface);
      border: none;
      box-shadow:
        inset -1px -1px 0 var(--win98-border-darkest),
        inset 1px 1px 0 var(--win98-border-lightest),
        inset -2px -2px 0 var(--win98-border-dark),
        inset 2px 2px 0 var(--win98-border-light);
      display: flex;
      align-items: center;
      justify-content: center;
      padding: 0;
      font-size: 9px;
      font-family: 'IBM Plex Mono', monospace;
      font-weight: bold;
      line-height: 1;
      cursor: pointer;
    }

    .title-bar-controls button:active {
      box-shadow:
        inset -1px -1px 0 var(--win98-border-lightest),
        inset 1px 1px 0 var(--win98-border-darkest),
        inset -2px -2px 0 var(--win98-border-light),
        inset 2px 2px 0 var(--win98-border-dark);
    }

    .window-body {
      padding: 8px;
    }

    /* ========================================
       MENU BAR
    ======================================== */
    .menu-bar {
      display: flex;
      padding: 1px 0;
      margin-bottom: 2px;
    }

    .menu-bar span {
      padding: 2px 8px;
      cursor: pointer;
      font-size: 12px;
    }

    .menu-bar span:hover {
      box-shadow:
        inset -1px -1px 0 var(--win98-border-darkest),
        inset 1px 1px 0 var(--win98-border-lightest);
    }

    .menu-bar span:active,
    .menu-bar span.open {
      box-shadow:
        inset -1px -1px 0 var(--win98-border-lightest),
        inset 1px 1px 0 var(--win98-border-darkest);
    }

    /* ========================================
       BUTTONS
    ======================================== */
    button, .btn {
      background: var(--win98-surface);
      color: var(--win98-text);
      border: none;
      font-family: 'IBM Plex Sans', 'Tahoma', sans-serif;
      font-size: 12px;
      padding: 4px 16px;
      min-width: 75px;
      min-height: 23px;
      cursor: pointer;
      box-shadow:
        inset -1px -1px 0 var(--win98-border-darkest),
        inset 1px 1px 0 var(--win98-border-lightest),
        inset -2px -2px 0 var(--win98-border-dark),
        inset 2px 2px 0 var(--win98-border-light);
      position: relative;
    }

    button:active, .btn:active {
      box-shadow:
        inset -1px -1px 0 var(--win98-border-lightest),
        inset 1px 1px 0 var(--win98-border-darkest),
        inset -2px -2px 0 var(--win98-border-light),
        inset 2px 2px 0 var(--win98-border-dark);
      padding: 5px 15px 3px 17px;
    }

    button.default-btn {
      outline: 2px solid var(--win98-border-darkest);
      outline-offset: -4px;
    }

    button:disabled {
      color: var(--win98-border-dark);
      text-shadow: 1px 1px 0 var(--win98-border-lightest);
      cursor: default;
    }

    button:disabled:active {
      box-shadow:
        inset -1px -1px 0 var(--win98-border-darkest),
        inset 1px 1px 0 var(--win98-border-lightest),
        inset -2px -2px 0 var(--win98-border-dark),
        inset 2px 2px 0 var(--win98-border-light);
      padding: 4px 16px;
    }

    /* ========================================
       FORM INPUTS
    ======================================== */
    input[type="text"],
    input[type="email"],
    input[type="password"],
    textarea,
    select {
      background: var(--win98-window-bg);
      color: var(--win98-text);
      font-family: 'IBM Plex Sans', 'Tahoma', sans-serif;
      font-size: 12px;
      padding: 3px 4px;
      border: none;
      box-shadow:
        inset -1px -1px 0 var(--win98-border-lightest),
        inset 1px 1px 0 var(--win98-border-darkest),
        inset -2px -2px 0 var(--win98-border-light),
        inset 2px 2px 0 var(--win98-border-dark);
      outline: none;
    }

    textarea {
      resize: vertical;
      font-family: 'IBM Plex Mono', 'Courier New', monospace;
    }

    /* ========================================
       TABS
    ======================================== */
    .tabs {
      display: flex;
      padding: 0 4px;
      position: relative;
      bottom: -2px;
      z-index: 1;
    }

    .tab {
      background: var(--win98-surface);
      border-top: 2px solid var(--win98-border-lightest);
      border-left: 2px solid var(--win98-border-lightest);
      border-right: 2px solid var(--win98-border-darkest);
      border-bottom: none;
      padding: 4px 14px;
      font-size: 12px;
      cursor: pointer;
      position: relative;
      margin-right: 2px;
      box-shadow: none;
      min-width: auto;
      min-height: auto;
    }

    .tab.active {
      padding-bottom: 6px;
      margin-bottom: -2px;
      z-index: 2;
    }

    .tab-content {
      background: var(--win98-surface);
      border: 2px solid;
      border-color: var(--win98-border-lightest) var(--win98-border-darkest) var(--win98-border-darkest) var(--win98-border-lightest);
      box-shadow:
        inset 1px 1px 0 var(--win98-border-light),
        inset -1px -1px 0 var(--win98-border-dark);
      padding: 12px;
      position: relative;
    }

    /* ========================================
       PROGRESS BAR
    ======================================== */
    .progress-track {
      width: 100%;
      height: 18px;
      background: var(--win98-window-bg);
      box-shadow:
        inset -1px -1px 0 var(--win98-border-lightest),
        inset 1px 1px 0 var(--win98-border-darkest),
        inset -2px -2px 0 var(--win98-border-light),
        inset 2px 2px 0 var(--win98-border-dark);
      padding: 2px;
    }

    .progress-fill {
      height: 100%;
      background: repeating-linear-gradient(
        to right,
        var(--win98-selection-bg) 0px,
        var(--win98-selection-bg) 8px,
        transparent 8px,
        transparent 10px
      );
    }

    /* ========================================
       STATUS BAR
    ======================================== */
    .status-bar {
      display: flex;
      gap: 2px;
      margin-top: 2px;
    }

    .status-bar-field {
      box-shadow:
        inset -1px -1px 0 var(--win98-border-lightest),
        inset 1px 1px 0 var(--win98-border-dark);
      padding: 2px 6px;
      font-size: 11px;
      flex: 1;
      overflow: hidden;
      white-space: nowrap;
      text-overflow: ellipsis;
    }

    /* ========================================
       GROUP BOX
    ======================================== */
    fieldset {
      border: none;
      padding: 12px 8px 8px;
      margin: 8px 0;
      box-shadow:
        inset 0 0 0 1px var(--win98-border-dark),
        inset 0 0 0 2px var(--win98-border-lightest);
    }

    fieldset legend {
      font-size: 12px;
      padding: 0 4px;
      background: var(--win98-surface);
    }

    /* ========================================
       TREE VIEW
    ======================================== */
    .tree-view {
      background: var(--win98-window-bg);
      box-shadow:
        inset -1px -1px 0 var(--win98-border-lightest),
        inset 1px 1px 0 var(--win98-border-darkest),
        inset -2px -2px 0 var(--win98-border-light),
        inset 2px 2px 0 var(--win98-border-dark);
      padding: 4px;
      font-size: 12px;
      overflow: auto;
    }

    .tree-view ul {
      list-style: none;
      padding-left: 16px;
    }

    .tree-view > ul {
      padding-left: 4px;
    }

    .tree-view li {
      padding: 1px 4px;
      cursor: pointer;
      white-space: nowrap;
    }

    .tree-view li:hover {
      background: var(--win98-selection-bg);
      color: var(--win98-selection-text);
    }

    .tree-view li::before {
      content: '\1F4C4 ';
      font-size: 11px;
    }

    .tree-view li.folder::before {
      content: '\1F4C1 ';
    }

    /* ========================================
       TASKBAR
    ======================================== */
    .taskbar {
      position: fixed;
      bottom: 0;
      left: 0;
      right: 0;
      height: 32px;
      background: var(--win98-surface);
      border-top: 2px solid var(--win98-border-lightest);
      display: flex;
      align-items: center;
      padding: 2px 4px;
      z-index: 9999;
      gap: 4px;
    }

    .start-btn {
      font-weight: bold;
      font-size: 12px;
      padding: 2px 8px;
      display: flex;
      align-items: center;
      gap: 4px;
      min-width: auto;
      height: 24px;
    }

    .start-btn .start-logo {
      width: 16px;
      height: 16px;
      background: linear-gradient(135deg, #FF0000 25%, #00FF00 25%, #00FF00 50%, #0000FF 50%, #0000FF 75%, #FFFF00 75%);
      display: inline-block;
    }

    .taskbar-windows {
      display: flex;
      flex: 1;
      gap: 2px;
      overflow: hidden;
    }

    .taskbar-window-btn {
      font-size: 11px;
      padding: 2px 8px;
      height: 22px;
      min-width: 100px;
      max-width: 160px;
      text-align: left;
      overflow: hidden;
      text-overflow: ellipsis;
      white-space: nowrap;
      min-height: auto;
    }

    .taskbar-window-btn.active-window {
      box-shadow:
        inset -1px -1px 0 var(--win98-border-lightest),
        inset 1px 1px 0 var(--win98-border-darkest),
        inset -2px -2px 0 var(--win98-border-light),
        inset 2px 2px 0 var(--win98-border-dark);
      font-weight: bold;
    }

    .systray {
      display: flex;
      align-items: center;
      gap: 6px;
      padding: 1px 8px;
      font-size: 11px;
      box-shadow:
        inset -1px -1px 0 var(--win98-border-lightest),
        inset 1px 1px 0 var(--win98-border-dark);
      height: 22px;
      font-family: 'IBM Plex Sans', 'Tahoma', sans-serif;
    }

    /* ========================================
       DESKTOP & ICONS
    ======================================== */
    .desktop {
      min-height: 100vh;
      padding: 12px;
      padding-bottom: 48px;
      display: flex;
      flex-direction: column;
      gap: 8px;
    }

    .desktop-icons {
      display: flex;
      flex-direction: column;
      gap: 8px;
      position: absolute;
      top: 12px;
      left: 12px;
    }

    .desktop-icon {
      display: flex;
      flex-direction: column;
      align-items: center;
      width: 70px;
      padding: 4px;
      cursor: pointer;
      text-align: center;
      border: 1px solid transparent;
    }

    .desktop-icon:hover {
      border: 1px dotted var(--win98-border-lightest);
    }

    .desktop-icon .icon {
      width: 32px;
      height: 32px;
      font-size: 28px;
      line-height: 32px;
      image-rendering: pixelated;
    }

    .desktop-icon span {
      font-size: 11px;
      color: white;
      text-shadow: 1px 1px 1px black;
      margin-top: 2px;
      word-wrap: break-word;
      max-width: 68px;
    }

    /* ========================================
       LAYOUT HELPERS
    ======================================== */
    .windows-container {
      display: flex;
      flex-wrap: wrap;
      gap: 16px;
      padding: 12px;
      max-width: 1024px;
      margin: 0 auto;
      position: relative;
      z-index: 1;
    }

    .window-sm { width: 320px; }
    .window-md { width: 480px; }
    .window-lg { width: 100%; max-width: 680px; }
    .window-full { width: 100%; }

    /* ========================================
       TYPOGRAPHY
    ======================================== */
    h1, h2, h3 {
      font-family: 'VT323', 'Pixelify Sans', monospace;
      font-weight: 400;
    }

    h1 { font-size: 28px; }
    h2 { font-size: 22px; }
    h3 { font-size: 18px; }

    a {
      color: var(--win98-text-link);
    }

    a:visited {
      color: var(--win98-text-visited);
    }

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

    .mono-text {
      font-family: 'IBM Plex Mono', 'Courier New', monospace;
    }

    /* ========================================
       SEPARATOR
    ======================================== */
    hr {
      border: none;
      border-top: 1px solid var(--win98-border-dark);
      border-bottom: 1px solid var(--win98-border-lightest);
      margin: 8px 0;
    }

    /* ========================================
       DIALOG BOX
    ======================================== */
    .dialog-content {
      display: flex;
      gap: 16px;
      align-items: flex-start;
      margin-bottom: 16px;
    }

    .dialog-icon {
      font-size: 32px;
      flex-shrink: 0;
    }

    .dialog-buttons {
      display: flex;
      justify-content: center;
      gap: 6px;
    }

    /* ========================================
       LIST VIEW
    ======================================== */
    .list-view {
      background: var(--win98-window-bg);
      box-shadow:
        inset -1px -1px 0 var(--win98-border-lightest),
        inset 1px 1px 0 var(--win98-border-darkest),
        inset -2px -2px 0 var(--win98-border-light),
        inset 2px 2px 0 var(--win98-border-dark);
    }

    .list-view-header {
      display: flex;
      border-bottom: 1px solid var(--win98-border-dark);
    }

    .list-view-header span {
      padding: 2px 8px;
      font-size: 12px;
      font-weight: 500;
      background: var(--win98-surface);
      box-shadow:
        inset -1px -1px 0 var(--win98-border-darkest),
        inset 1px 1px 0 var(--win98-border-lightest);
      cursor: pointer;
      white-space: nowrap;
    }

    .list-view-row {
      display: flex;
      padding: 1px 0;
      font-size: 12px;
    }

    .list-view-row:hover {
      background: var(--win98-selection-bg);
      color: var(--win98-selection-text);
    }

    .list-view-row span {
      padding: 1px 8px;
      overflow: hidden;
      text-overflow: ellipsis;
      white-space: nowrap;
    }

    /* Column widths */
    .col-name { width: 45%; }
    .col-size { width: 15%; text-align: right; }
    .col-type { width: 20%; }
    .col-modified { width: 20%; }

    /* ========================================
       RESPONSIVE
    ======================================== */
    @media (max-width: 768px) {
      .windows-container {
        padding: 8px;
        gap: 8px;
      }

      .window-sm,
      .window-md,
      .window-lg {
        width: 100%;
      }

      .desktop-icons {
        position: relative;
        top: auto;
        left: auto;
        flex-direction: row;
        flex-wrap: wrap;
        margin-bottom: 8px;
      }

      .taskbar-windows {
        display: none;
      }
    }
  </style>
</head>
<body>

  <!-- DESKTOP ICONS -->
  <div class="desktop-icons">
    <div class="desktop-icon">
      <div class="icon">&#128187;</div>
      <span>My Computer</span>
    </div>
    <div class="desktop-icon">
      <div class="icon">&#128193;</div>
      <span>My Documents</span>
    </div>
    <div class="desktop-icon">
      <div class="icon">&#128279;</div>
      <span>Internet Explorer</span>
    </div>
    <div class="desktop-icon">
      <div class="icon">&#128225;</div>
      <span>Network Neighborhood</span>
    </div>
    <div class="desktop-icon">
      <div class="icon">&#9851;</div>
      <span>Recycle Bin</span>
    </div>
  </div>

  <!-- MAIN CONTENT -->
  <div class="windows-container">

    <!-- ==========================================
         WINDOW 1: WELCOME / ABOUT
    ========================================== -->
    <div class="window window-lg">
      <div class="title-bar">
        <span class="title-bar-text">Welcome to Windows 98</span>
        <div class="title-bar-controls">
          <button>_</button>
          <button>&#9633;</button>
          <button>X</button>
        </div>
      </div>
      <div class="menu-bar">
        <span>File</span>
        <span>Edit</span>
        <span>View</span>
        <span>Help</span>
      </div>
      <div class="window-body">
        <h1 class="pixel-text" style="margin-bottom: 12px;">Welcome to Windows 98</h1>
        <p style="margin-bottom: 10px;">
          Thank you for choosing Microsoft Windows 98, the most exciting and powerful
          version of Windows yet. Windows 98 brings you faster system performance,
          easier ways to use your computer, and seamless integration with the Internet.
        </p>
        <p style="margin-bottom: 16px;">
          This page demonstrates the classic Windows 95/98 visual aesthetic recreated
          entirely with modern HTML and CSS. Every beveled border, grey panel, and
          pixel-perfect detail has been faithfully reproduced using box-shadow
          techniques and the original system color palette.
        </p>

        <!-- Tabs -->
        <div class="tabs">
          <div class="tab active">General</div>
          <div class="tab">Features</div>
          <div class="tab">Support</div>
        </div>
        <div class="tab-content">
          <fieldset>
            <legend>System Information</legend>
            <div style="display: grid; grid-template-columns: auto 1fr; gap: 4px 12px; font-size: 12px;">
              <strong>OS:</strong> <span>Microsoft Windows 98 Second Edition</span>
              <strong>Version:</strong> <span>4.10.2222 A</span>
              <strong>Registered to:</strong> <span>Home User</span>
              <strong>Product ID:</strong> <span>12345-OEM-6789012-34567</span>
              <strong>Processor:</strong> <span>Intel Pentium II 350 MHz</span>
              <strong>Memory:</strong> <span>64.0 MB RAM</span>
              <strong>Display:</strong> <span>800 x 600, 256 Colors</span>
            </div>
          </fieldset>
        </div>
      </div>
      <div class="status-bar">
        <div class="status-bar-field">Ready</div>
        <div class="status-bar-field" style="flex: 0 0 120px;">My Computer</div>
      </div>
    </div>

    <!-- ==========================================
         WINDOW 2: FILE EXPLORER
    ========================================== -->
    <div class="window window-lg">
      <div class="title-bar">
        <span class="title-bar-text">C:\My Documents</span>
        <div class="title-bar-controls">
          <button>_</button>
          <button>&#9633;</button>
          <button>X</button>
        </div>
      </div>
      <div class="menu-bar">
        <span>File</span>
        <span>Edit</span>
        <span>View</span>
        <span>Favorites</span>
        <span>Tools</span>
        <span>Help</span>
      </div>
      <div class="window-body" style="padding: 4px;">
        <!-- Address bar -->
        <div style="display: flex; align-items: center; gap: 4px; margin-bottom: 4px;">
          <span style="font-size: 12px;">Address</span>
          <input type="text" value="C:\My Documents" style="flex: 1; font-size: 12px;" readonly>
          <button style="min-width: auto; padding: 2px 8px; min-height: 20px;">Go</button>
        </div>

        <div style="display: flex; gap: 0;">
          <!-- Tree view sidebar -->
          <div class="tree-view" style="width: 180px; min-height: 200px; flex-shrink: 0;">
            <ul>
              <li class="folder">Desktop
                <ul>
                  <li class="folder">My Computer
                    <ul>
                      <li class="folder">C:</li>
                      <li class="folder">D:</li>
                    </ul>
                  </li>
                  <li class="folder" style="background: var(--win98-selection-bg); color: var(--win98-selection-text);">My Documents</li>
                  <li class="folder">Network</li>
                  <li class="folder">Recycle Bin</li>
                </ul>
              </li>
            </ul>
          </div>

          <!-- File list -->
          <div class="list-view" style="flex: 1;">
            <div class="list-view-header">
              <span class="col-name">Name</span>
              <span class="col-size">Size</span>
              <span class="col-type">Type</span>
              <span class="col-modified">Modified</span>
            </div>
            <div class="list-view-row">
              <span class="col-name">&#128193; My Pictures</span>
              <span class="col-size"></span>
              <span class="col-type">File Folder</span>
              <span class="col-modified">3/15/1999</span>
            </div>
            <div class="list-view-row">
              <span class="col-name">&#128193; My Music</span>
              <span class="col-size"></span>
              <span class="col-type">File Folder</span>
              <span class="col-modified">6/02/1999</span>
            </div>
            <div class="list-view-row">
              <span class="col-name">&#128196; Budget.xls</span>
              <span class="col-size">45 KB</span>
              <span class="col-type">Excel File</span>
              <span class="col-modified">11/23/1998</span>
            </div>
            <div class="list-view-row">
              <span class="col-name">&#128196; Letter.doc</span>
              <span class="col-size">12 KB</span>
              <span class="col-type">Word File</span>
              <span class="col-modified">1/08/1999</span>
            </div>
            <div class="list-view-row">
              <span class="col-name">&#128196; Notes.txt</span>
              <span class="col-size">2 KB</span>
              <span class="col-type">Text File</span>
              <span class="col-modified">4/17/1999</span>
            </div>
            <div class="list-view-row">
              <span class="col-name">&#127912; Wallpaper.bmp</span>
              <span class="col-size">1.4 MB</span>
              <span class="col-type">Bitmap Image</span>
              <span class="col-modified">8/30/1998</span>
            </div>
            <div class="list-view-row">
              <span class="col-name">&#128196; README.txt</span>
              <span class="col-size">1 KB</span>
              <span class="col-type">Text File</span>
              <span class="col-modified">9/12/1998</span>
            </div>
          </div>
        </div>
      </div>
      <div class="status-bar">
        <div class="status-bar-field">7 object(s)</div>
        <div class="status-bar-field" style="flex: 0 0 100px;">1.46 MB</div>
        <div class="status-bar-field" style="flex: 0 0 120px;">My Computer</div>
      </div>
    </div>

    <!-- ==========================================
         WINDOW 3: CONTROL PANEL / SETTINGS
    ========================================== -->
    <div class="window window-md">
      <div class="title-bar">
        <span class="title-bar-text">Display Properties</span>
        <div class="title-bar-controls">
          <button>X</button>
        </div>
      </div>
      <div class="window-body">
        <div class="tabs">
          <div class="tab">Background</div>
          <div class="tab">Screen Saver</div>
          <div class="tab active">Appearance</div>
          <div class="tab">Settings</div>
        </div>
        <div class="tab-content">
          <!-- Preview box -->
          <div class="sunken" style="background: var(--win98-desktop); padding: 16px; margin-bottom: 12px; min-height: 120px; display: flex; align-items: center; justify-content: center;">
            <div class="window" style="width: 200px;">
              <div class="title-bar" style="font-size: 10px; padding: 2px 3px;">
                <span class="title-bar-text">Active Window</span>
                <div class="title-bar-controls">
                  <button style="width: 12px; height: 10px; font-size: 7px;">X</button>
                </div>
              </div>
              <div class="window-body" style="padding: 6px; font-size: 10px;">
                Window Text Sample
              </div>
            </div>
          </div>

          <div style="display: flex; gap: 8px; align-items: center; margin-bottom: 8px;">
            <label style="font-size: 12px;">Scheme:</label>
            <select style="flex: 1;">
              <option>Windows Standard</option>
              <option>High Contrast Black</option>
              <option>Desert</option>
              <option>Eggplant</option>
              <option>Lilac</option>
              <option>Maple</option>
              <option>Marine</option>
              <option>Rainy Day</option>
              <option>Rose</option>
              <option>Slate</option>
              <option>Teal</option>
            </select>
          </div>

          <div style="display: flex; gap: 8px; align-items: center;">
            <label style="font-size: 12px;">Item:</label>
            <select style="flex: 1;">
              <option>Desktop</option>
              <option>Active Title Bar</option>
              <option>Inactive Title Bar</option>
              <option>Menu</option>
              <option>Message Box</option>
              <option>Scrollbar</option>
              <option>Window</option>
            </select>
          </div>
        </div>

        <div style="display: flex; justify-content: flex-end; gap: 6px; margin-top: 12px;">
          <button>OK</button>
          <button>Cancel</button>
          <button>Apply</button>
        </div>
      </div>
    </div>

    <!-- ==========================================
         WINDOW 4: NOTEPAD
    ========================================== -->
    <div class="window window-md">
      <div class="title-bar">
        <span class="title-bar-text">Untitled - Notepad</span>
        <div class="title-bar-controls">
          <button>_</button>
          <button>&#9633;</button>
          <button>X</button>
        </div>
      </div>
      <div class="menu-bar">
        <span>File</span>
        <span>Edit</span>
        <span>Search</span>
        <span>Help</span>
      </div>
      <div class="window-body" style="padding: 0;">
        <textarea rows="10" style="width: 100%; border: none; box-shadow: none; padding: 4px; font-size: 13px; resize: vertical;">Dear Diary,

Today I finally got Windows 98 installed. It only
took three floppy disks and two hours. The new
desktop looks amazing with that teal wallpaper.

I discovered you can right-click on things now
and a little menu pops up. The future is here.

Also found something called "The Internet" --
it makes a loud screeching noise when connecting
but then you can look at web pages. Amazing.

- Me, 1998</textarea>
      </div>
    </div>

    <!-- ==========================================
         WINDOW 5: DIALOG BOX
    ========================================== -->
    <div class="window window-sm">
      <div class="title-bar">
        <span class="title-bar-text">Windows</span>
        <div class="title-bar-controls">
          <button>X</button>
        </div>
      </div>
      <div class="window-body">
        <div class="dialog-content">
          <div class="dialog-icon">&#9432;</div>
          <div>
            <p style="margin-bottom: 4px; font-size: 12px;">
              This page has been designed using the authentic Windows 95/98
              visual language, including beveled borders, grey panels, and
              pixel-precise typography.
            </p>
            <p style="font-size: 12px;">
              Do you want to continue exploring?
            </p>
          </div>
        </div>
        <div class="dialog-buttons">
          <button class="default-btn">Yes</button>
          <button>No</button>
        </div>
      </div>
    </div>

    <!-- ==========================================
         WINDOW 6: DOWNLOAD PROGRESS
    ========================================== -->
    <div class="window window-sm">
      <div class="title-bar">
        <span class="title-bar-text">Downloading...</span>
        <div class="title-bar-controls">
          <button>X</button>
        </div>
      </div>
      <div class="window-body">
        <p style="font-size: 12px; margin-bottom: 8px;">
          Downloading file from the Internet...
        </p>
        <div style="display: flex; gap: 8px; align-items: center; margin-bottom: 12px; font-size: 24px;">
          <span>&#128196;</span>
          <span style="font-size: 12px;">&#10132;&#10132;&#10132;</span>
          <span>&#128187;</span>
        </div>

        <div class="progress-track" style="margin-bottom: 8px;">
          <div class="progress-fill" style="width: 68%;"></div>
        </div>

        <div style="display: grid; grid-template-columns: auto 1fr; gap: 2px 12px; font-size: 11px; margin-bottom: 12px;">
          <span>Saving:</span>
          <span class="mono-text">setup.exe from ftp.microsoft.com</span>
          <span>Estimated time:</span>
          <span>47 min 23 sec (28.8 Kbps)</span>
          <span>Downloaded:</span>
          <span>342 KB of 502 KB</span>
        </div>

        <div style="display: flex; justify-content: flex-end; gap: 6px;">
          <button>Cancel</button>
        </div>
      </div>
    </div>

    <!-- ==========================================
         WINDOW 7: FORM / SIGN-UP
    ========================================== -->
    <div class="window window-sm">
      <div class="title-bar">
        <span class="title-bar-text">Internet Connection Wizard</span>
        <div class="title-bar-controls">
          <button>X</button>
        </div>
      </div>
      <div class="window-body">
        <p style="font-size: 12px; margin-bottom: 12px;">
          Enter your information to set up your Internet connection.
        </p>

        <fieldset style="margin-bottom: 8px;">
          <legend>Account Information</legend>
          <div style="display: grid; grid-template-columns: 80px 1fr; gap: 6px 8px; align-items: center;">
            <label style="font-size: 12px; text-align: right;">Name:</label>
            <input type="text" value="John Smith" style="width: 100%;">
            <label style="font-size: 12px; text-align: right;">Email:</label>
            <input type="email" value="john@geocities.com" style="width: 100%;">
            <label style="font-size: 12px; text-align: right;">Password:</label>
            <input type="password" value="password" style="width: 100%;">
          </div>
        </fieldset>

        <fieldset>
          <legend>Connection Type</legend>
          <div style="display: flex; flex-direction: column; gap: 4px; font-size: 12px;">
            <label><input type="radio" name="conn" checked> 28.8 Kbps Modem</label>
            <label><input type="radio" name="conn"> 56 Kbps Modem</label>
            <label><input type="radio" name="conn"> ISDN</label>
            <label><input type="radio" name="conn" disabled> Cable Modem</label>
          </div>
        </fieldset>

        <hr>

        <div style="display: flex; justify-content: flex-end; gap: 6px;">
          <button>&lt; Back</button>
          <button class="default-btn">Next &gt;</button>
          <button>Cancel</button>
        </div>
      </div>
    </div>

  </div>

  <!-- ==========================================
       TASKBAR
  ========================================== -->
  <div class="taskbar">
    <button class="start-btn raised">
      <span class="start-logo"></span>
      Start
    </button>

    <div class="taskbar-windows">
      <button class="taskbar-window-btn active-window">&#128187; Welcome to Windows 98</button>
      <button class="taskbar-window-btn raised">&#128193; C:\My Documents</button>
      <button class="taskbar-window-btn raised">&#128196; Untitled - Notepad</button>
    </div>

    <div class="systray">
      <span>&#128264;</span>
      <span>3:14 PM</span>
    </div>
  </div>

</body>
</html>