/* RED-LINE mix pages. Written for the CS 1.6 MOTD window (roughly 640-760px
   wide) and kept to CSS the older non-steam MOTD browser understands:
   no custom properties, no grid - flexbox with plain fallbacks. */

* { box-sizing: border-box; }

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

body {
    background: #0a0c11;
    background-image: radial-gradient(ellipse at top, rgba(255, 45, 75, 0.16) 0%, rgba(10, 12, 17, 0) 55%);
    background-repeat: no-repeat;
    color: #d9dde6;
    font-family: 'Rajdhani', 'Segoe UI', Tahoma, Arial, sans-serif;
    font-size: 15px;
    line-height: 1.4;
}

a { color: #00c8ff; text-decoration: none; }
a:hover { color: #7fe3ff; }

.wrap { max-width: 780px; margin: 0 auto; padding: 10px 14px 16px; }

/* ---------------------------------------------------------------- top bar */

.top {
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
    padding: 6px 0 10px;
    border-bottom: 1px solid rgba(255, 45, 75, 0.35);
    margin-bottom: 14px;
}

.logo {
    font-family: 'Orbitron', 'Arial Black', Arial, sans-serif;
    font-weight: 800;
    font-size: 20px;
    letter-spacing: 2px;
    color: #fff;
}
.logo span { color: #ff2d4b; }
.logo small { font-size: 11px; color: #ff2d4b; letter-spacing: 3px; margin-left: 4px; }
.logo:hover { color: #fff; }

.top nav { display: flex; flex-wrap: wrap; }
.top nav a {
    color: #aab1c0;
    font-weight: 700;
    font-size: 14px;
    text-transform: uppercase;
    letter-spacing: 1px;
    padding: 6px 10px;
    margin-left: 2px;
    border-radius: 4px;
    border-bottom: 2px solid transparent;
}
.top nav a:hover { color: #fff; background: rgba(255, 255, 255, 0.05); }
.top nav a.on { color: #fff; border-bottom-color: #ff2d4b; background: rgba(255, 45, 75, 0.1); }

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

.card {
    background: #11141c;
    border: 1px solid rgba(255, 255, 255, 0.07);
    border-radius: 8px;
    padding: 14px 16px;
    margin-bottom: 14px;
}

.card h2, .sec {
    font-family: 'Orbitron', 'Arial Black', Arial, sans-serif;
    font-size: 13px;
    font-weight: 600;
    letter-spacing: 2px;
    text-transform: uppercase;
    color: #ff2d4b;
    margin: 0 0 10px;
}

.sec-row { display: flex; justify-content: space-between; align-items: baseline; }
.sec-row a { font-size: 13px; font-weight: 600; }

.notice { color: #aab1c0; text-align: center; padding: 22px 16px; }

.muted { color: #7d8596; }
.pos { color: #3ddc84; }
.neg { color: #ff5a6e; }
.cyan { color: #00c8ff; }
.gold { color: #ffc83d; }

.cols { display: flex; flex-wrap: wrap; margin: 0 -7px; }
.cols > .col { flex: 1 1 300px; padding: 0 7px; }

/* ---------------------------------------------------------------- hero */

.hero { text-align: center; padding: 18px 16px 16px; }
.hero h1 {
    font-family: 'Orbitron', 'Arial Black', Arial, sans-serif;
    font-weight: 800;
    font-size: 24px;
    letter-spacing: 2px;
    color: #fff;
    margin: 0 0 4px;
}
.hero h1 span { color: #ff2d4b; }
.hero p { margin: 0; color: #aab1c0; font-size: 15px; }

/* ---------------------------------------------------------------- stat tiles */

.tiles { display: flex; flex-wrap: wrap; margin: 0 -4px; }
.tile {
    flex: 1 1 100px;
    margin: 4px;
    padding: 8px 10px;
    background: #0c0f15;
    border: 1px solid rgba(255, 255, 255, 0.05);
    border-radius: 6px;
    text-align: center;
}
.tile b {
    display: block;
    font-family: 'Orbitron', 'Arial Black', Arial, sans-serif;
    font-size: 18px;
    font-weight: 600;
    color: #fff;
}
.tile span { font-size: 12px; color: #7d8596; text-transform: uppercase; letter-spacing: 1px; }
.tiles.small .tile b { font-size: 15px; }
.tiles.small .tile { padding: 6px 4px; flex: 1 1 58px; }

/* ---------------------------------------------------------------- rank badges */

.rk {
    display: inline-block;
    min-width: 30px;
    padding: 1px 6px;
    border-radius: 4px;
    font-family: 'Orbitron', 'Arial Black', Arial, sans-serif;
    font-size: 11px;
    font-weight: 800;
    text-align: center;
    color: #0a0c11;
    background: #8a93a6;
    vertical-align: middle;
}
.rk-l { background: #8a93a6; }
.rk-m { background: #3ddc84; }
.rk-h { background: #00c8ff; }
.rk-p { background: #b57bff; }
.rk-g { background: #ffc83d; box-shadow: 0 0 8px rgba(255, 200, 61, 0.5); }
.rk.rk-big { font-size: 22px; padding: 6px 12px; min-width: 64px; border-radius: 6px; }

/* ---------------------------------------------------------------- profile head */

.who { display: flex; align-items: center; }
.who .rk-big { margin-right: 14px; }
.who .name { font-size: 22px; font-weight: 700; color: #fff; line-height: 1.1; }
.who .sub { color: #7d8596; font-size: 14px; }

.bar {
    height: 8px;
    background: #0c0f15;
    border-radius: 4px;
    overflow: hidden;
    margin: 10px 0 4px;
}
.bar i {
    display: block;
    height: 100%;
    background: #ff2d4b;
    background: linear-gradient(90deg, #ff2d4b, #ff6b00);
}
.bar-lbl { display: flex; justify-content: space-between; font-size: 12px; color: #7d8596; }

/* ---------------------------------------------------------------- tables */

table.t { width: 100%; border-collapse: collapse; }
table.t th {
    font-size: 11px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 1px;
    color: #7d8596;
    text-align: left;
    padding: 4px 6px 6px;
    border-bottom: 1px solid rgba(255, 255, 255, 0.08);
}
table.t td {
    padding: 6px;
    border-bottom: 1px solid rgba(255, 255, 255, 0.04);
    white-space: nowrap;
}
table.t .n { text-align: right; }
table.t th.n { text-align: right; }
table.t .nm { white-space: normal; word-break: break-word; }
table.t tr.me td { background: rgba(0, 200, 255, 0.08); }
table.t tr.me td:first-child { box-shadow: inset 3px 0 0 #00c8ff; }
table.t tr.left td { opacity: 0.55; }
table.t tr:hover td { background: rgba(255, 255, 255, 0.03); }
table.t a { color: #fff; font-weight: 600; }
table.t a:hover { color: #00c8ff; }

.place { font-family: 'Orbitron', 'Arial Black', Arial, sans-serif; font-weight: 800; color: #7d8596; }
.place-1 { color: #ffc83d; }
.place-2 { color: #cfd6e3; }
.place-3 { color: #d9895b; }

.dot { display: inline-block; width: 7px; height: 7px; border-radius: 50%; background: #3ddc84; margin-left: 5px; vertical-align: middle; }

.tag {
    display: inline-block;
    font-size: 10px;
    font-weight: 700;
    letter-spacing: 1px;
    text-transform: uppercase;
    padding: 1px 5px;
    border-radius: 3px;
    background: rgba(255, 255, 255, 0.08);
    color: #aab1c0;
    vertical-align: middle;
    margin-left: 4px;
}
.tag-win { background: rgba(61, 220, 132, 0.15); color: #3ddc84; }
.tag-loss { background: rgba(255, 90, 110, 0.15); color: #ff5a6e; }
.tag-ot { background: rgba(255, 107, 0, 0.18); color: #ff9a4d; }
.tag-ace { background: rgba(255, 45, 75, 0.2); color: #ff6b80; }
.tag-4k { background: rgba(0, 200, 255, 0.15); color: #58dbff; }

.crown-mini { width: 16px; height: 11px; vertical-align: -1px; margin-left: 4px; }

/* ---------------------------------------------------------------- match page */

.score {
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 6px 0 2px;
}
.score .side { flex: 1 1 0; text-align: center; }
.score .side .lbl { font-size: 13px; font-weight: 700; letter-spacing: 1px; text-transform: uppercase; color: #7d8596; }
.score .side .num {
    font-family: 'Orbitron', 'Arial Black', Arial, sans-serif;
    font-size: 44px;
    font-weight: 800;
    color: #5b6272;
    line-height: 1;
}
.score .side.win .num { color: #fff; text-shadow: 0 0 18px rgba(255, 45, 75, 0.55); }
.score .side.win .lbl { color: #ff2d4b; }
.score .vs { color: #5b6272; font-family: 'Orbitron', Arial, sans-serif; font-size: 18px; padding: 0 10px; }
.meta { text-align: center; color: #7d8596; font-size: 13px; margin-top: 6px; }

.mvp {
    text-align: center;
    border-color: rgba(255, 200, 61, 0.35);
    background: #14130f;
    background: linear-gradient(180deg, rgba(255, 200, 61, 0.12) 0%, #11141c 70%);
}
.mvp .crown { width: 56px; height: 38px; display: block; margin: 0 auto 2px; }
.mvp .title { font-family: 'Orbitron', 'Arial Black', Arial, sans-serif; font-size: 11px; letter-spacing: 3px; color: #ffc83d; }
.mvp .name { font-size: 26px; font-weight: 700; color: #fff; margin: 2px 0 8px; }
.mvp .tiles { max-width: 560px; margin: 0 auto; }
.mvp .feats { margin-top: 8px; }
.mvp .feats .tag { font-size: 12px; padding: 3px 8px; }

.team-head { display: flex; justify-content: space-between; align-items: baseline; }
.team-head .sec { margin-bottom: 6px; }

.mine { border-color: rgba(0, 200, 255, 0.3); }
.mine .gain {
    font-family: 'Orbitron', 'Arial Black', Arial, sans-serif;
    font-size: 30px;
    font-weight: 800;
    line-height: 1;
}
.mine-row { display: flex; align-items: center; flex-wrap: wrap; }
.mine-row .left { flex: 0 0 150px; text-align: center; padding-right: 12px; }
.mine-row .right { flex: 1 1 300px; }

/* ---------------------------------------------------------------- lists */

.list { margin: 0; padding: 0; list-style: none; }
.list li {
    display: flex;
    align-items: center;
    padding: 7px 0;
    border-bottom: 1px solid rgba(255, 255, 255, 0.05);
}
.list li:last-child { border-bottom: 0; }
.list .grow { flex: 1 1 auto; min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; padding: 0 8px; }
.list .grow a { color: #fff; font-weight: 600; }

.cmds { margin: 0; padding: 0; list-style: none; }
.cmds li { padding: 3px 0; color: #aab1c0; }
.cmds b { color: #fff; display: inline-block; min-width: 86px; }

/* ---------------------------------------------------------------- footer */

.foot {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    font-size: 12px;
    color: #5b6272;
    border-top: 1px solid rgba(255, 255, 255, 0.06);
    padding-top: 10px;
}
.foot b { color: #aab1c0; }
.foot a { color: #7d8596; }

@media (max-width: 560px) {
    .top nav a { padding: 5px 7px; font-size: 13px; }
    .score .side .num { font-size: 34px; }
    table.t .opt { display: none; }
}
