/* TradingWorldChampion.com */
body {
    font-family: 'Times New Roman', Times, serif;
    background: #0b1526;
    color: #c0c0c0;
    font-size: 13px;
    line-height: 1.5;
    margin: 0;
    padding: 0;
}

a { color: #d4aa45; }
a:visited { color: #a08030; }
a:hover { color: #ffcc55; }

img { border: 0; }

/* Header */
.site-header {
    background: #060e1a;
    border-bottom: 2px solid #1a2a44;
    padding: 8px 15px;
}

.header-inner {
    width: 780px;
    margin: 0 auto;
}

.site-title {
    font-size: 20px;
    color: #fff;
    font-weight: bold;
}

.site-title a { color: #fff; text-decoration: none; }

.site-subtitle {
    font-size: 10px;
    color: #5a7090;
    margin-top: 1px;
}

/* Nav */
.site-nav {
    background: #0e1a2e;
    border-bottom: 1px solid #1a2a44;
    padding: 0 15px;
    font-family: Verdana, Arial, sans-serif;
}

.nav-inner {
    width: 780px;
    margin: 0 auto;
}

.nav-inner a {
    display: inline-block;
    padding: 5px 12px;
    color: #7788aa;
    font-size: 11px;
    font-weight: bold;
    text-decoration: none;
    text-transform: uppercase;
}

.nav-inner a:hover {
    color: #fff;
    background: #162540;
}

.nav-inner a.active {
    color: #d4aa45;
    background: #162540;
}

.nav-inner .nav-sep {
    color: #2a3a55;
    padding: 0 2px;
}

/* Content */
.content {
    width: 780px;
    margin: 0 auto;
    padding: 15px 0 30px;
}

h1 {
    font-size: 20px;
    color: #fff;
    font-weight: bold;
    margin: 0 0 10px;
    padding-bottom: 5px;
    border-bottom: 1px solid #1a2a44;
}

h2 {
    font-size: 16px;
    color: #e0e0e0;
    font-weight: bold;
    margin: 18px 0 8px;
}

h3 {
    font-size: 14px;
    color: #d0d0d0;
    font-weight: bold;
    margin: 12px 0 5px;
}

p {
    margin: 0 0 8px;
}

hr {
    border: none;
    border-top: 1px solid #1a2a44;
    margin: 15px 0;
}

/* Champion feature */
.champion-feature {
    border: 1px solid #2a3a55;
    background: #0c1825;
    padding: 12px;
    margin-bottom: 15px;
}

.champion-feature td {
    vertical-align: top;
}

.champion-photo {
    width: 140px;
    height: 175px;
    border: 2px solid #2a3a55;
    background: #111e30;
    display: block;
}

.champion-photo-placeholder {
    width: 140px;
    height: 175px;
    border: 2px solid #2a3a55;
    background: #111e30;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #3a4a60;
    font-size: 10px;
    font-family: Verdana, sans-serif;
    text-align: center;
}

.champion-name-big {
    font-size: 22px;
    color: #d4aa45;
    font-weight: bold;
    margin-bottom: 2px;
}

.champion-label {
    font-family: Verdana, sans-serif;
    font-size: 10px;
    color: #5a7090;
    text-transform: uppercase;
    letter-spacing: 1px;
    margin-bottom: 6px;
}

/* Tables */
table.rankings {
    width: 100%;
    border: 1px solid #2a3a55;
    border-collapse: collapse;
    margin-bottom: 15px;
    font-size: 12px;
}

table.rankings th {
    background: #0e1a2e;
    color: #7788aa;
    font-family: Verdana, sans-serif;
    font-size: 10px;
    font-weight: bold;
    text-align: left;
    padding: 4px 8px;
    border: 1px solid #2a3a55;
    text-transform: uppercase;
}

table.rankings td {
    padding: 4px 8px;
    border: 1px solid #1a2840;
    vertical-align: top;
}

table.rankings tr.even {
    background: #0c1825;
}

table.rankings td.rank {
    width: 30px;
    text-align: center;
    font-weight: bold;
    color: #d4aa45;
}

table.rankings td.name {
    font-weight: bold;
    color: #e0e0e0;
}

table.rankings td.name a {
    color: #e0e0e0;
}

/* Trader profiles */
.profile {
    padding: 10px 0;
    border-bottom: 1px dashed #1a2a44;
}

.profile-rank-name {
    font-size: 15px;
    color: #fff;
    font-weight: bold;
    margin-bottom: 2px;
}

.profile-rank-name .rank-num {
    color: #d4aa45;
}

.profile-meta {
    font-family: Verdana, sans-serif;
    font-size: 10px;
    color: #5a7090;
    margin-bottom: 6px;
}

.profile-body {
    font-size: 13px;
    color: #a0a0a0;
    line-height: 1.55;
}

.profile-body p {
    margin: 0 0 6px;
}

.profile-photo {
    float: left;
    margin: 2px 12px 8px 0;
    border: 1px solid #2a3a55;
    width: 90px;
    height: 110px;
    background: #111e30;
}

.profile-photo-placeholder {
    float: left;
    margin: 2px 12px 8px 0;
    border: 1px solid #2a3a55;
    width: 90px;
    height: 110px;
    background: #111e30;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #2a3a55;
    font-size: 9px;
    font-family: Verdana, sans-serif;
    text-align: center;
}

.clearfix::after {
    content: "";
    display: table;
    clear: both;
}

/* Year context */
.year-context {
    background: #0c1825;
    border: 1px solid #2a3a55;
    padding: 8px 10px;
    margin-bottom: 12px;
    font-size: 12px;
    color: #7788aa;
}

/* Breadcrumb */
.breadcrumb {
    font-family: Verdana, sans-serif;
    font-size: 10px;
    color: #5a7090;
    margin-bottom: 8px;
}

.breadcrumb a { color: #5a7090; font-size: 10px; }
.breadcrumb a:hover { color: #d4aa45; }

/* Small text */
.smalltext {
    font-family: Verdana, sans-serif;
    font-size: 10px;
    color: #5a7090;
}

.updated {
    font-family: Verdana, sans-serif;
    font-size: 10px;
    color: #4a5a70;
    font-style: italic;
}

/* About page */
.about-text {
    font-size: 13px;
    color: #b0b0b0;
    line-height: 1.6;
}

.about-text p {
    margin-bottom: 10px;
}

.disclaimer-box {
    background: #0c1825;
    border: 1px solid #2a3a55;
    padding: 10px;
    font-size: 11px;
    color: #5a7090;
    line-height: 1.5;
    margin-top: 15px;
}

/* Archive */
.archive-list {
    list-style: none;
    padding: 0;
    margin: 0 0 15px;
}

.archive-list li {
    padding: 5px 0;
    border-bottom: 1px solid #111d30;
    font-size: 13px;
}

.archive-list li .year-link {
    font-weight: bold;
    color: #d4aa45;
    display: inline-block;
    width: 50px;
}

.archive-list li .winner-name {
    color: #e0e0e0;
    font-weight: bold;
}

/* Footer */
.site-footer {
    background: #060e1a;
    border-top: 2px solid #1a2a44;
    padding: 10px 15px;
    margin-top: 30px;
}

.footer-inner {
    width: 780px;
    margin: 0 auto;
    font-family: Verdana, sans-serif;
    font-size: 10px;
    color: #3a4a60;
}

.footer-inner a { color: #3a4a60; font-size: 10px; }
.footer-inner a:hover { color: #7788aa; }

.footer-links {
    margin-bottom: 5px;
}

.footer-links a {
    margin-right: 10px;
}

.footer-disclaimer {
    font-size: 9px;
    color: #2a3a50;
    line-height: 1.4;
    margin-top: 5px;
}

/* Hamburger nav — hidden on desktop. WCAG AA tap target: min 44x44 */
.nav-toggle {
    display: none;
    background: none;
    border: none;
    color: #7788aa;
    font-size: 22px;
    cursor: pointer;
    padding: 8px 10px;
    min-width: 44px;
    min-height: 44px;
    line-height: 1;
}

.hamburger {
    display: none;
    background: none;
    border: none;
    color: #7788aa;
    font-size: 22px;
    cursor: pointer;
    padding: 8px 10px;
    min-width: 44px;
    min-height: 44px;
    line-height: 1;
}

@media (max-width: 768px) {
    .hamburger {
        display: inline-block;
    }

    .nav-inner a,
    .nav-inner .nav-sep {
        display: none;
    }

    .nav-inner.nav-open a {
        display: block;
        padding: 8px 12px;
        border-top: 1px solid #1a2a44;
    }

    .nav-inner.nav-open .nav-sep {
        display: none;
    }

    /* Mobile nav for subpages (nav-toggle / nav-links pattern) */
    .nav-toggle {
        display: block;
        background: none;
        border: none;
        color: #7788aa;
        font-size: 22px;
        cursor: pointer;
        padding: 8px 10px;
        min-width: 44px;
        min-height: 44px;
        line-height: 1;
    }

    .nav-toggle span::before {
        content: "\2630";
    }

    .nav-links {
        display: none;
    }

    .nav-links.open {
        display: flex;
        flex-direction: column;
    }

    .nav-links.open a {
        display: block;
        padding: 8px 12px;
        border-top: 1px solid #1a2a44;
    }

    .nav-links.open .nav-sep {
        display: none;
    }

    /* Fix 7: Responsive width */
    .header-inner, .nav-inner, .content, .footer-inner {
        width: auto;
        max-width: 100%;
        padding-left: 1rem;
        padding-right: 1rem;
    }
}

/* ===== Skip-to-content link a11y ===== */
.skip-link:focus {
    left: 8px !important;
    outline: 2px solid #fff;
    border-radius: 4px;
}

/* ===== Print stylesheet ===== */
@media print {
    body { background: #fff !important; color: #000 !important; font-family: Georgia, 'Times New Roman', serif !important; font-size: 11pt; }
    .site-header, .site-nav, .site-footer, .nav-toggle, .skip-link, button { display: none !important; }
    main.content { max-width: 100%; padding: 0; margin: 0; color: #000 !important; }
    h1, h2, h3, h4 { color: #000 !important; page-break-after: avoid; }
    h1 { font-size: 22pt; border-bottom: 1px solid #000; padding-bottom: 6pt; }
    h2 { font-size: 16pt; margin-top: 18pt; }
    h3 { font-size: 13pt; }
    a { color: #000 !important; text-decoration: underline; }
    a[href^="http"]::after { content: " (" attr(href) ")"; font-size: 9pt; color: #555; }
    a[href^="#"]::after, a[href^="mailto"]::after { content: ""; }
    aside.key-facts { background: #f5f5f5 !important; color: #000 !important; border-left: 3px solid #000 !important; page-break-inside: avoid; }
    aside.key-facts * { color: #000 !important; }
    table { border-collapse: collapse; width: 100%; page-break-inside: avoid; }
    table th, table td { border: 1px solid #000; padding: 4pt 6pt; }
    img { max-width: 100%; page-break-inside: avoid; }
    .breadcrumb, .updated { font-size: 9pt; color: #555 !important; }
    p, li { orphans: 3; widows: 3; }
    @page { margin: 2cm; }
}
