:root {
  --bg-color: #c0c0c0;
  --window-bg: #dfdfdf;
  --text-color: #000000;
  --header-bg: #000080;
  --header-text: #ffffff;
  --link-color: #0000ee;
  --link-visited: #551a8b;
  --link-hover: #ff0000;
  --border-light: #ffffff;
  --border-dark: #808080;
  --border-shadow: #404040;
  
  --font-body: "MS Sans Serif", "Geneva", sans-serif;
  --font-heading: "Arial Black", "Gadget", sans-serif;
  
  --base-size: 16px;
  --type-scale-h1: 2.25rem;
  --type-scale-h2: 1.5rem;
  --type-scale-h3: 1.25rem;
  
  --spacing-sm: 8px;
  --spacing-md: 16px;
  --spacing-lg: 32px;
  
  --container-width: 900px;
}

* {
  box-sizing: border-box;
}

body {
  background-color: var(--bg-color);
  color: var(--text-color);
  font-family: var(--font-body);
  font-size: var(--base-size);
  line-height: 1.4;
  margin: 0;
  padding: var(--spacing-md);
  image-rendering: pixelated;
}

header {
  background-color: var(--header-bg);
  color: var(--header-text);
  padding: var(--spacing-sm);
  border: 2px solid;
  border-color: var(--border-light) var(--border-dark) var(--border-dark) var(--border-light);
  margin-bottom: var(--spacing-lg);
  max-width: var(--container-width);
  margin-left: auto;
  margin-right: auto;
}

header h1 {
  margin: 0;
  font-size: var(--type-scale-h2);
  font-family: var(--font-heading);
  letter-spacing: 1px;
  text-transform: uppercase;
}

nav {
  background-color: var(--bg-color);
  margin-top: var(--spacing-sm);
  padding: 4px;
  border: 1px inset var(--border-dark);
  display: flex;
  gap: var(--spacing-md);
}

nav a {
  color: var(--text-color) !important;
  text-decoration: none;
  font-weight: bold;
  padding: 2px 8px;
}

nav a:hover {
  background-color: var(--header-bg);
  color: var(--header-text) !important;
}

main {
  max-width: var(--container-width);
  margin: 0 auto;
  display: flex;
  flex-direction: column;
  gap: var(--spacing-lg);
}

section, .content-section {
  background-color: var(--window-bg);
  padding: var(--spacing-md);
  border: 2px solid;
  border-color: var(--border-light) var(--border-dark) var(--border-dark) var(--border-light);
  box-shadow: 2px 2px 0px var(--border-shadow);
}

h1, h2, h3 {
  margin-top: 0;
  font-family: var(--font-heading);
  color: var(--text-color);
}

h1 { font-size: var(--type-scale-h1); }
h2 { 
  font-size: var(--type-scale-h2);
  border-bottom: 2px solid var(--border-dark);
  padding-bottom: 4px;
  margin-bottom: var(--spacing-md);
}
h3 { font-size: var(--type-scale-h3); }

p {
  margin-bottom: var(--spacing-md);
}

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

a:visited {
  color: var(--link-visited);
}

a:hover {
  color: var(--link-hover);
}

button, submit-button, .submit-button, button[type="submit"] {
  font-family: var(--font-body);
  font-size: var(--base-size);
  background-color: var(--bg-color);
  border: 2px solid;
  border-color: var(--border-light) var(--border-dark) var(--border-dark) var(--border-light);
  padding: 4px 16px;
  cursor: pointer;
  outline: none;
}

button:active, button:focus {
  border-color: var(--border-dark) var(--border-light) var(--border-light) var(--border-dark);
  padding: 5px 15px 3px 17px;
}

table {
  width: 100%;
  border-collapse: collapse;
  background: #fff;
  border: 2px inset var(--border-dark);
  margin-bottom: var(--spacing-md);
}

th {
  background-color: var(--bg-color);
  text-align: left;
  padding: 8px;
  border: 1px solid var(--border-dark);
  font-family: var(--font-heading);
  font-size: 0.9rem;
}

td {
  padding: 8px;
  border: 1px solid #eeeeee;
}

tr:nth-child(even) {
  background-color: #f9f9f9;
}

form {
  display: grid;
  gap: var(--spacing-md);
}

.field-group {
  display: flex;
  flex-direction: column;
  gap: 4px;
}

label {
  font-weight: bold;
  font-size: 0.9rem;
}

input[type="text"], input[type="email"], textarea {
  padding: 6px;
  border: 2px inset var(--border-dark);
  background-color: #ffffff;
  font-family: var(--font-body);
}

aside {
  background-color: #ffffcc;
  padding: var(--spacing-md);
  border: 1px dashed var(--border-dark);
}

footer {
  max-width: var(--container-width);
  margin: var(--spacing-lg) auto;
  text-align: center;
  font-size: 0.8rem;
  border-top: 2px groove var(--border-light);
  padding-top: var(--spacing-md);
}

ul {
  padding-left: var(--spacing-lg);
}

li {
  margin-bottom: 4px;
}

@media (max-width: 640px) {
  body {
    padding: var(--spacing-sm);
  }
  
  header h1 {
    font-size: 1.25rem;
  }
  
  nav {
    flex-wrap: wrap;
    gap: var(--spacing-sm);
  }
  
  section, .content-section {
    padding: var(--spacing-sm);
  }
}

/* Neo-Y2K Scrollbar */
::-webkit-scrollbar {
  width: 16px;
}
::-webkit-scrollbar-track {
  background: var(--bg-color);
  box-shadow: inset 1px 1px var(--border-dark);
}
::-webkit-scrollbar-thumb {
  background: var(--bg-color);
  border: 2px solid;
  border-color: var(--border-light) var(--border-dark) var(--border-dark) var(--border-light);
}