/* SoccerStats.us — clean, data-dense. */

:root {
    --ink: #1a1a1a;
    --ink-soft: #55606a;
    --accent: #0b6e4f;
    --accent-dark: #085239;
    --hairline: #e5e7e9;
    --fill: #f6f7f8;
    --fill-hover: #eef4f1;
    --win: #d9f0e1;
    --loss: #f8dcd9;
    --tie: #faf0cf;
}

* { box-sizing: border-box; }

html, body {
    margin: 0;
    padding: 0;
}

body {
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
    font-size: 15px;
    line-height: 1.45;
    color: var(--ink);
    background-color: #fff;
}

a, a:visited {
    color: var(--accent);
    text-decoration: none;
}

a:hover {
    color: var(--accent-dark);
    text-decoration: underline;
}

h1, h2, h3, h4 {
    line-height: 1.2;
    margin: 1.2em 0 0.5em;
}

h3 { font-size: 1.4em; }
h4 { font-size: 1.1em; color: var(--ink-soft); }

ul { list-style-type: none; padding-left: 0; }

.small { font-size: .8em; }
.center { text-align: center; }
.grey { color: #9aa3ab; }
.greybg { background-color: var(--fill); color: #9aa3ab; }


/* ---- Header ---- */

#site-header {
    border-bottom: 1px solid var(--hairline);
}

.header-inner {
    max-width: 1100px;
    margin: 0 auto;
    padding: 14px 16px 10px;
    display: flex;
    flex-wrap: wrap;
    align-items: baseline;
    gap: 8px 24px;
}

#title { white-space: nowrap; }

#maintitle {
    font-size: 26px;
    font-weight: 700;
    letter-spacing: -0.5px;
    color: var(--accent);
}

#maintitle:hover { text-decoration: none; color: var(--accent-dark); }

#subtitle {
    margin-left: 8px;
    font-size: 13px;
    color: var(--ink-soft);
}

#nav {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 16px;
    margin-left: auto;
    font-size: 15px;
}

#nav a { color: var(--ink); font-weight: 500; }
#nav a:hover { color: var(--accent); text-decoration: none; }

#search_form input {
    font-size: 14px;
    padding: 4px 10px;
    border: 1px solid var(--hairline);
    border-radius: 4px;
    background: var(--fill);
    width: 140px;
}

#search_form input:focus {
    outline: none;
    border-color: var(--accent);
    background: #fff;
}

#league-bar {
    max-width: 1100px;
    margin: 0 auto;
    padding: 0 16px 10px;
    display: flex;
    flex-wrap: wrap;
    gap: 4px 14px;
    font-size: 13px;
}

#league-bar a {
    color: var(--ink-soft);
    font-weight: 600;
    letter-spacing: 0.3px;
}

#league-bar a:hover { color: var(--accent); text-decoration: none; }


/* ---- Layout ---- */

#content {
    max-width: 1100px;
    margin: 0 auto;
    padding: 8px 16px 48px;
}

.leftcol, .rightcol { width: 48%; }
.leftcol { float: left; }
.rightcol { float: right; }

.col {
    float: left;
    width: 44%;
    margin: 0 3%;
}

.block { display: inline-block; }

#content::after {
    content: "";
    display: block;
    clear: both;
}


/* ---- Tables ---- */

table {
    width: 100%;
    border-collapse: collapse;
    font-size: 14px;
    text-align: center;
    margin: 8px 0 20px;
}

table th {
    position: sticky;
    top: 0;
    background: #fff;
    border-bottom: 2px solid var(--ink);
    padding: 5px 7px;
    font-size: 12px;
    text-transform: uppercase;
    letter-spacing: 0.4px;
    color: var(--ink-soft);
    cursor: pointer;
}

table td {
    border-bottom: 1px solid var(--hairline);
    padding: 4px 7px;
}

table tbody tr:nth-child(even) td { background-color: var(--fill); }
table tbody tr:hover td { background-color: var(--fill-hover); }

table td:first-child, table th:first-child { text-align: left; }

table.stats td:first-child,
table.game-list td:first-child {
    text-align: right;
    padding-right: 10px;
}

td.date { white-space: nowrap; }

/* Result cells: soft tints, readable text. */
td.w, table tbody tr:nth-child(even) td.w, table tbody tr:hover td.w { background-color: var(--win); }
td.l, table tbody tr:nth-child(even) td.l, table tbody tr:hover td.l { background-color: var(--loss); }
td.t, table tbody tr:nth-child(even) td.t, table tbody tr:hover td.t { background-color: var(--tie); }

td.international { background-color: #dde8f7; }
td.domestic { background-color: #fdeed3; }
td.friendly { background-color: transparent; }

.bg-indoor-1 { background-color: #fbf6df; }
.bg-indoor-2 { background-color: #fdfbef; }
.bg-soccer-1 { background-color: #ddf1f1; }
.bg-soccer-2 { background-color: #eef8f8; }
.bg-soccer-3 { background-color: #f7fbfb; }


/* ---- Tabs ---- */

#tab_block ul, #subtabs, #subtabs2 {
    margin: 0 0 16px;
    padding: 0;
    display: flex;
    flex-wrap: wrap;
    gap: 4px;
    border-bottom: 1px solid var(--hairline);
}

.tabbing a { color: var(--ink-soft); }
.tabbing a:hover { text-decoration: none; }

.tabbing li {
    padding: 6px 14px;
    font-size: 14px;
    font-weight: 500;
    border: 1px solid transparent;
    border-bottom: none;
    border-radius: 4px 4px 0 0;
    cursor: pointer;
}

.tabbing li:hover { background-color: var(--fill); }

.tabbing li.active {
    color: var(--accent);
    border-color: var(--hairline);
    background: #fff;
    margin-bottom: -1px;
}


/* ---- Detail blocks ---- */

#team_info, #bio_block, #competition_block, #season_block, #draft_block,
#date_block, #game_block, #stadium_block, #city_block {
    margin: 0 0 12px;
}

#competition_block h3, #team_info h3, #bio_block h3 { margin-top: 0.4em; }

#date_block {
    font-size: 1.6em;
    font-weight: 300;
}

#bio_image {
    float: left;
    height: 150px;
    min-width: 120px;
    margin-right: 16px;
    background-color: var(--fill);
    border-radius: 4px;
}

#bio_data { display: inline-block; }

#team_logo {
    float: left;
    width: 120px;
    height: 120px;
    margin-right: 16px;
    background-color: var(--fill);
    border-radius: 4px;
}

.letter_link { font-size: 1.5em; margin-right: 6px; }


/* ---- Game detail ---- */

#game-detail #game-media { text-align: center; }

#game_score #team_results {
    margin: 0 auto;
    text-align: center;
}

#game_score .team_data {
    padding-top: 10px;
    display: inline-block;
    margin: 0 12px;
}

#goal_list {
    margin: 20px auto 0;
    width: 80%;
}

#goal_list .left_goal, #goal_list .right_goal { width: 45%; }

#goal_list .assist {
    font-size: .75em;
    color: var(--ink-soft);
}

table#game_lineup { margin: 20px auto 0; }


/* ---- Awards ---- */

#awards_index .cmp {
    font-size: 1.4em;
    margin: 24px 0 8px;
}

#awards_index ul {
    max-width: 640px;
    margin: 0 auto;
}

#award_detail { font-size: 1.2em; }


/* ---- Search ---- */

#search_box, #search_results { position: absolute; }

#search_box {
    text-align: left;
    background-color: var(--fill);
    padding: 32px;
    border: 1px solid var(--hairline);
    border-radius: 6px;
}

#search_results {
    right: 0;
    padding: 20px 0 20px 20px;
    background-color: var(--fill);
    height: 100%;
}

#search_results table {
    margin-top: 20px;
    width: 470px;
    border: 0;
}

#search_results td.model { width: 90px; }
#search_results td { border: 0; }

#search_results #search_directions {
    padding: 10px 0 10px 10px;
    position: fixed;
    bottom: 20px;
}

td.result { width: 70px; }


/* ---- Responsive ---- */

@media (max-width: 760px) {
    .leftcol, .rightcol, .col {
        float: none;
        width: 100%;
        margin: 0;
    }

    .header-inner { padding-bottom: 6px; }
    #nav { margin-left: 0; }
    #subtitle { display: none; }

    table {
        display: block;
        overflow-x: auto;
    }
}
