/* 
   The Analytics Engineer's Guidebook CSS
   Best viewed in Netscape Navigator 4.0 or Internet Explorer 5.0
   Screen Resolution: 800x600 recommended
*/

body {
    background-color: #000000;
    background-image: url('../assets/bg_carpet.png');
    background-repeat: repeat;
    color: #ffffff;
    /* White text for contrast */
    font-family: "Courier New", Courier, monospace;
    /* Arcady font */
    margin: 0;
    padding: 0;
}

/* Link Styles - keeping it classic */
a:link {
    color: #0000FF;
}

/* Standard Blue */
a:visited {
    color: #ff00ff;
    /* Neon Magenta */
}

a:active {
    color: #ffff00;
    /* Neon Yellow */
}

a:hover {
    color: #00ffff;
    /* Neon Cyan */
    text-decoration: none;
    background-color: #000000;
}

/* The Main Container - imitating a centered layout or frames */
.container {
    width: 800px;
    background-color: #000033;
    /* Deep Navy Blue */
    margin: 20px auto;
    border: 4px solid #ff00ff;
    /* Neon Pink Border */
    box-shadow: 0 0 10px #ff00ff;
    /* Neon Glow */
    padding: 10px;
    color: #00ffff;
    /* Cyan Text */
}

/* Header Section */
.header {
    text-align: center;
    background-color: #000080;
    /* Navy Blue */
    color: #ffffff;
    border: 3px inset #ffffff;
    padding: 10px;
    margin-bottom: 10px;
}

h1 {
    font-family: "Comic Sans MS", "Chalkboard SE", sans-serif;
    text-shadow: 2px 2px #ff0000;
    margin: 0;
    font-size: 24pt;
}

.marquee-container {
    background-color: #000000;
    color: #00ff00;
    font-family: "Courier New", monospace;
    border: 2px inset #c0c0c0;
    margin: 5px 0;
    padding: 2px;
}

/* Navigation Sidebar (Table based layout simulation) */
table.layout-table {
    width: 100%;
    border-collapse: collapse;
    table-layout: fixed;
    /* Enforce width constraints */
}

td.sidebar {
    width: 180px;
    min-width: 180px;
    /* Force minimum width */
    vertical-align: top;
    background-color: #008080;
    /* Teal */
    border: 2px inset #ffffff;
    padding: 10px;
    font-family: Arial, Helvetica, sans-serif;
    font-size: 10pt;
}

/* Content Elements */
td.content {
    vertical-align: top;
    padding: 20px;
    box-sizing: border-box;
    /* Fix padding bleeding */
}

/* Sidebar Menu */
.menu-item {
    background-color: #220022;
    /* Dark Purple */
    border: 2px solid #00ffff;
    /* Neon Cyan */
    margin-bottom: 5px;
    padding: 3px;
    text-align: center;
}

.menu-item a {
    text-decoration: none;
    color: #ffff00;
    /* Neon Yellow */
    font-weight: bold;
    display: block;
    font-family: "Comic Sans MS", cursive, sans-serif;
}

.menu-item a:hover {
    background-color: #ffff00;
    color: #000000;
    border: 2px dashed #ff00ff;
}

/* Content Elements */
h2 {
    color: #000080;
    border-bottom: 2px solid #000080;
    font-family: Arial, sans-serif;
}

h3 {
    color: #800000;
    /* Inset/Outset Boxes */
}

.box-outset {
    border: 2px outset #ff00ff;
    /* Neon Pink */
    background-color: #220022;
    padding: 10px;
    margin-bottom: 15px;
    width: 90%;
    /* Prevent overflow */
    box-sizing: border-box;
}

.box-inset {
    border: 2px inset #ffffff;
    background-color: #000000;
    padding: 5px;
    margin-bottom: 15px;
    width: 90%;
    /* Prevent overflow */
    box-sizing: border-box;
}

.warning-text {
    color: #ff0000;
    font-weight: bold;
    animation: blink 1s step-end infinite;
}

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

hr {
    border: 0;
    height: 1px;
    background-image: linear-gradient(to right, rgba(0, 0, 0, 0), rgba(0, 0, 0, 0.75), rgba(0, 0, 0, 0));
    margin: 20px 0;
}

.footer {
    text-align: center;
    font-size: small;
    margin-top: 20px;
    border-top: 2px groove #ffffff;
    padding-top: 5px;
}

pre {
    white-space: pre-wrap;
    /* Wrap long lines */
    word-wrap: break-word;
    /* Break long words */
    max-width: 100%;
    /* Prevent overflow */
    overflow-x: auto;
    /* Scroll if needed */
}