/* Legend of Strategy Theme */
/* Based on Aurora theme with custom color palette */

/* Color Variables */
:root {
    --primary-orange: #d7522f;
    --accent-navy: #232e40;
    --primary-black: #000000;
    --primary-white: #ffffff;
    --orange-light: #e66b47;
    --orange-dark: #b8441f;
    --black-light: #2a2a2a;
    --black-dark: #0d0d0d;
    --gray-light: #f5f5f5;
    --gray-medium: #cccccc;
}

/* Import Bebas Neue font */
@import url('https://fonts.googleapis.com/css2?family=Bebas+Neue&display=swap');

/* Reset and Base Styles */
* {
    box-sizing: border-box;
}

body {
    margin: 0;
    padding: 0;
    font-family: 'Bebas Neue', 'Arial Black', sans-serif;
    background-color: var(--primary-white);
    color: var(--primary-black);
    line-height: 1.4;
    letter-spacing: 0.5px;
}

.main-body {
    background: linear-gradient(135deg, var(--gray-light) 0%, var(--primary-white) 100%);
    min-height: 100vh;
}

/* Layout Tables */
.layout-table {
    border-collapse: collapse;
    width: 100%;
}

.layout-table td {
    padding: 8px;
}

.noborder {
    border: none !important;
    padding: 0 !important;
}

/* Header Styles */
.page-header {
    background: linear-gradient(90deg, var(--primary-orange) 0%, var(--orange-dark) 100%);
    padding: 20px;
    margin-bottom: 0;
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.3);
    border-bottom: 3px solid var(--orange-dark);
}

.pageheader-left,
.pageheader-center,
.pageheader-right {
    display: flex;
    align-items: center;
    color: var(--primary-white);
}

.pageheader-center {
    justify-content: center;
}

.pageheader-right {
    justify-content: flex-end;
}

.pageheader-left .motd,
.pageheader-left .petition {
    background: rgba(0, 0, 0, 0.2);
    padding: 8px 12px;
    border-radius: 4px;
    margin-right: 10px;
    border: 1px solid var(--accent-navy);
}

/* Navigation Styles */
.sidebar-content {
    background: var(--primary-black);
    padding: 20px;
    border-right: 2px solid var(--primary-orange);
    min-height: calc(100vh - 200px);
    color: var(--primary-white);
}

.nav-container {
    background: var(--black-light);
    border: 2px solid var(--primary-orange);
    border-radius: 8px;
    padding: 15px;
    margin: 10px 0;
    box-shadow: inset 0 0 10px rgba(215, 82, 47, 0.1);
}

.nav-top, .nav-bottom {
    width: 100%;
    height: auto;
    display: block;
}

.navad-wrapper {
    margin-bottom: 15px;
    text-align: center;
}

/* Navigation Links */
.nav {
    display: block;
    color: var(--primary-white);
    text-decoration: none;
    padding: 8px 12px;
    margin: 2px 0;
    border-left: 3px solid transparent;
    transition: all 0.3s ease;
    font-weight: normal;
    font-size: 1.1em;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

.nav:hover {
    background: var(--primary-orange);
    border-left-color: var(--orange-light);
    color: var(--primary-white);
    text-decoration: none;
    transform: translateX(5px);
}

.nav:visited {
    color: var(--primary-white);
}

/* Navigation Headers */
.navhead {
    display: block;
    color: var(--primary-orange);
    font-weight: normal;
    font-size: 1.3em;
    text-align: center;
    margin: 15px 0 10px 0;
    padding: 8px;
    border-bottom: 2px solid var(--primary-orange);
    text-transform: uppercase;
    letter-spacing: 1px;
}

.navheadsub {
    display: block;
    color: var(--orange-light);
    font-weight: normal;
    font-size: 1.1em;
    text-align: center;
    margin: 10px 0 8px 0;
    padding: 6px;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

.navhelp {
    display: block;
    color: #ccc;
    font-size: 0.9em;
    text-align: center;
    margin: 5px 0;
    padding: 4px;
    font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
    font-style: italic;
    letter-spacing: normal;
}

.navhi {
    color: var(--primary-orange);
    text-decoration: underline;
}


/* Additional game-specific styles */
.strategy-highlight {
    color: var(--primary-orange);
    font-weight: normal;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

.legend-accent {
    border-left: 3px solid var(--primary-orange);
    padding-left: 10px;
    margin: 10px 0;
}

/* Main content typography adjustments */
.main-content {
    background: var(--primary-white);
    color: var(--primary-black);
    padding: 30px;
    border-radius: 8px;
    margin: 0 20px;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.2);
    min-height: 500px;
    font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
    line-height: 1.6;
}

.main-content h1,
.main-content h2,
.main-content h3,
.main-content h4,
.main-content h5,
.main-content h6 {
    font-family: 'Bebas Neue', 'Arial Black', sans-serif;
    text-transform: uppercase;
    letter-spacing: 1px;
    color: var(--primary-orange);
}
.charinfo {
    background: var(--primary-white);
    border: 1px solid var(--navy-light);
    padding: 8px;
    color: var(--primary-black);
    font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
    font-size: 0.9em;
}

.charhead {
    background: var(--primary-orange);
    color: var(--primary-white);
    font-weight: normal;
    text-align: center;
    padding: 10px;
    border: 1px solid var(--orange-dark);
    font-size: 1.2em;
    text-transform: uppercase;
    letter-spacing: 1px;
}

/* Tables */
table {
    border-collapse: collapse;
    margin: 10px 0;
}

td {
    padding: 6px 8px;
    border: 1px solid var(--gray-medium);
}

.trhead {
    background: var(--primary-orange);
    color: var(--primary-white);
    font-weight: normal;
    text-align: center;
    font-size: 1.1em;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

.colOtWhite {
    background: var(--primary-white);
    color: var(--primary-black);
    padding: 8px;
    text-align: center;
}

/* Login Styles */

.login-hero {
    width: 100%;
    max-width: 512px;
    height: auto;
    aspect-ratio: 1 / 1;
    background: url('login-hero.png') center/cover no-repeat;
    display: block;
    border-radius: 16px;
    overflow: hidden;
}

.login-table {
    background: var(--primary-white);
    border: 2px solid var(--primary-orange);
    border-radius: 8px;
    overflow: hidden;
    box-shadow: 0 6px 20px rgba(0, 0, 0, 0.3);
    max-width: 800px;
    margin: 0 auto;
}

.login-inner {
    width: 100%;
    padding: 20px;
}

.login-label {
    color: var(--accent-navy);
    font-weight: normal;
    text-align: center;
    padding: 10px;
    font-size: 1.1em;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

.login-submit {
    text-align: center;
    padding-top: 20px;
}

/* Form Elements */
input[type="text"],
input[type="password"],
input[name="name"],
input[name="password"] {
    width: 100%;
    padding: 12px;
    border: 2px solid var(--gray-medium);
    border-radius: 4px;
    font-size: 14px;
    transition: border-color 0.3s ease;
    color: var(--primary-black);
    background: var(--primary-white);
    font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
}

input[type="text"]:focus,
input[type="password"]:focus,
input[name="name"]:focus,
input[name="password"]:focus {
    outline: none;
    border-color: var(--primary-orange);
    box-shadow: 0 0 0 3px rgba(215, 82, 47, 0.1);
}

.button,
input[type="submit"] {
    background: linear-gradient(135deg, var(--primary-orange) 0%, var(--orange-dark) 100%);
    color: var(--primary-white);
    border: none;
    padding: 12px 24px;
    border-radius: 4px;
    font-weight: normal;
    font-size: 16px;
    cursor: pointer;
    transition: all 0.3s ease;
    text-transform: uppercase;
    letter-spacing: 1.5px;
    font-family: 'Bebas Neue', 'Arial Black', sans-serif;
}

.button:hover,
input[type="submit"]:hover {
    background: linear-gradient(135deg, var(--orange-light) 0%, var(--primary-orange) 100%);
    transform: translateY(-2px);
    box-shadow: 0 4px 8px rgba(215, 82, 47, 0.3);
}

/* Server Full Message */
.loginfull-table {
    background: var(--primary-white);
    border: 2px solid var(--primary-orange);
    border-radius: 8px;
    max-width: 400px;
    margin: 0 auto;
}

.loginfull-inner {
    width: 100%;
    padding: 20px;
}

.server-full-message {
    color: var(--primary-orange);
    font-weight: normal;
    font-size: 1.4em;
    text-align: center;
    padding: 20px;
    text-transform: uppercase;
    letter-spacing: 1px;
}

/* Ad Wrapper */
.ad-wrapper {
    background: var(--gray-light);
    border: 1px solid var(--accent-navy);
    border-radius: 4px;
    padding: 10px;
    margin: 10px 0;
    text-align: center;
}

/* Petition Count */
.petition-count {
    background: var(--primary-orange);
    border-radius: 4px;
    padding: 5px;
    text-align: center;
}

/* Footer */
.bootstrap-footer {
    background: var(--primary-black);
    color: var(--primary-white);
    text-align: center;
    padding: 20px;
    margin-top: 40px;
    border-top: 2px solid var(--primary-orange);
}

/* Mobile Styles */
.mobile-toggles {
    background: var(--primary-black);
}

.navbar-toggler {
    border-color: var(--primary-orange);
    color: var(--primary-orange);
}

.navbar-toggler:focus {
    box-shadow: 0 0 0 2px rgba(215, 82, 47, 0.3);
}

.offcanvas {
    background: var(--primary-black);
    color: var(--primary-white);
    border-left: 2px solid var(--accent-navy);
}

.offcanvas-header {
    border-bottom: 1px solid var(--primary-orange);
    background: var(--black-light);
}

.offcanvas-title {
    color: var(--primary-orange);
    font-weight: normal;
    font-size: 1.3em;
    text-transform: uppercase;
    letter-spacing: 1px;
}

.btn-close {
    filter: invert(1);
}

/* Popup Styles */
.popup-body {
    background: var(--primary-white);
    color: var(--primary-black);
}

.popup-header {
    background: var(--primary-orange);
    color: var(--primary-white);
    padding: 15px;
}

/* Utility Classes */
.clear {
    clear: both;
}

.text-center {
    text-align: center;
}

.text-end {
    text-align: right;
}

.valign-top {
    vertical-align: top;
}

.align-left {
    text-align: left;
}

/* Responsive Design */
@media (max-width: 768px) {
    .main-content {
        margin: 0 10px;
        padding: 20px;
    }
    
    .page-header {
        padding: 15px;
    }
    
    .pageheader-left,
    .pageheader-center,
    .pageheader-right {
        flex-direction: column;
        text-align: center;
        margin-bottom: 10px;
    }
    
    .login-hero::after {
        font-size: 1.8em;
        letter-spacing: 1px;
    }
}

@media (max-width: 576px) {
    .login-table {
        margin: 0 20px;
    }
    
    .login-inner {
        padding: 15px;
    }
    
    .main-content {
        padding: 15px;
    }
}

/* Dark mode for stats sidebar */
aside.sidebar-content {
    background: var(--primary-black);
    border-left: 2px solid var(--primary-orange);
    color: var(--primary-white);
}

/* Additional game-specific styles */
.strategy-highlight {
    color: var(--primary-orange);
    font-weight: normal;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

.legend-accent {
    border-left: 3px solid var(--primary-orange);
    padding-left: 10px;
    margin: 10px 0;
}

/* Animation for interactive elements */
@keyframes glow {
    0% { box-shadow: 0 0 5px var(--primary-orange); }
    50% { box-shadow: 0 0 20px var(--primary-orange), 0 0 30px var(--primary-orange); }
    100% { box-shadow: 0 0 5px var(--primary-orange); }
}

.nav:hover,
.button:hover {
    animation: glow 2s infinite;
}
