:root {
    --ocean-dark: #061421;
    --ocean: #003b73;
    --marlin: #0078d7;
    --snapper: #c8102e;
    --gold: #f4c542;
    --foam: #f5fbff;
    --ink: #14202b;
    --muted: #6c7a86;
}

body {
    min-height: 100vh;
    background:
        radial-gradient(circle at top left, rgba(0,120,215,.25), transparent 35%),
        linear-gradient(180deg, #07111c 0%, #0c2338 32%, #f2f7fb 32%, #f2f7fb 100%);
    color: var(--ink);
}
.badge-other {
    background: #39ff14;
    color: #000;
    font-weight: 700;
    border: 1px solid #2ecc00;
    box-shadow: 0 0 8px rgba(57,255,20,.7);
}
.site-navbar {
    background: linear-gradient(90deg, rgba(6,20,33,.97), rgba(0,59,115,.97), rgba(6,20,33,.97));
    box-shadow: 0 12px 30px rgba(0,0,0,.25);
    border-bottom: 3px solid var(--gold);
}

.nav-logo {
    width: 86px;
    height: 86px;
    object-fit: contain;
    filter: drop-shadow(0 8px 18px rgba(0,0,0,.35));
}

.brand-text strong {
    display: block;
    color: #fff;
    line-height: 1.05;
    font-size: 1.05rem;
    letter-spacing: .02em;
}

.brand-text small {
    display: block;
    color: var(--gold);
    font-weight: 700;
    letter-spacing: .08em;
    text-transform: uppercase;
    font-size: .7rem;
}

.nav-pills .nav-link {
    color: rgba(255,255,255,.9);
    border: 1px solid rgba(255,255,255,.12);
    border-radius: 999px;
    padding: .45rem .75rem;
    font-weight: 700;
    font-size: .86rem;
}

.nav-pills .nav-link:hover,
.nav-pills .nav-link.active {
    color: #07111c;
    background: var(--gold);
    border-color: var(--gold);
}

.page-wrap { max-width: 1500px; }

.hero-card {
    position: relative;
    overflow: hidden;
    background: linear-gradient(135deg, rgba(0,59,115,.98), rgba(0,120,215,.85) 55%, rgba(200,16,46,.88));
    color: #fff;
    border: 0;
    border-radius: 28px;
    box-shadow: 0 24px 60px rgba(3,25,45,.28);
}

.hero-card:after {
    content: '';
    position: absolute;
    right: -90px;
    bottom: -180px;
    width: 520px;
    height: 520px;
    background: rgba(255,255,255,.12);
    border-radius: 50%;
}

.hero-logo {
    max-height: 360px;
    width: auto;
    object-fit: contain;
    filter: drop-shadow(0 20px 35px rgba(0,0,0,.35));
    position: relative;
    z-index: 2;
}

.kicker {
    color: var(--gold);
    font-size: .78rem;
    font-weight: 900;
    letter-spacing: .16em;
    text-transform: uppercase;
}

.hero-title {
    font-weight: 900;
    font-size: clamp(2rem, 4vw, 4.6rem);
    line-height: .95;
    text-transform: uppercase;
    text-shadow: 0 4px 20px rgba(0,0,0,.2);
}

.card, .table-card {
    border: 0;
    border-radius: 22px;
    box-shadow: 0 14px 36px rgba(11,35,55,.10);
}

.stat-card {
    background: #fff;
    border-top: 5px solid var(--marlin);
}

.stat-card.snapper { border-top-color: var(--snapper); }
.stat-card.gold { border-top-color: var(--gold); }

.stat-label {
    color: var(--muted);
    font-weight: 900;
    text-transform: uppercase;
    letter-spacing: .08em;
    font-size: .76rem;
}

.stat-value {
    font-size: clamp(1.8rem, 3vw, 3rem);
    font-weight: 900;
    color: var(--ocean-dark);
}

.btn-tournament {
    background: var(--gold);
    color: var(--ocean-dark);
    border: 0;
    font-weight: 900;
    border-radius: 999px;
    padding: .72rem 1.2rem;
}

.btn-tournament:hover { background: #ffe177; color: var(--ocean-dark); }
.btn-ocean { background: var(--ocean); color: #fff; border: 0; font-weight: 800; border-radius: 999px; }
.btn-ocean:hover { background: var(--marlin); color: #fff; }

.section-title {
    font-weight: 900;
    color: var(--ocean-dark);
}

.table thead th {
    background: #09233a;
    color: #fff;
    border: 0;
    font-size: .78rem;
    text-transform: uppercase;
    letter-spacing: .06em;
}

.table tbody td { vertical-align: middle; }
.table-hover tbody tr:hover { background-color: rgba(0,120,215,.06); }

.rank-badge {
    display: inline-flex;
    width: 38px;
    height: 38px;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    font-weight: 900;
    color: #fff;
    background: var(--ocean);
}
.rank-gold { background: linear-gradient(135deg, #b8860b, var(--gold)); color: #07111c; }
.rank-silver { background: linear-gradient(135deg, #7e8790, #e5edf5); color: #07111c; }
.rank-bronze { background: linear-gradient(135deg, #8c4b20, #d98a42); }

.team-card { border-left: 6px solid var(--marlin); }
.team-card .boat { color: var(--snapper); font-weight: 800; }

.form-control, .form-select {
    border-radius: 14px;
    border-color: #d9e3ec;
    padding: .78rem .95rem;
}
.form-control:focus, .form-select:focus {
    border-color: var(--marlin);
    box-shadow: 0 0 0 .2rem rgba(0,120,215,.15);
}

.weight-form-card {
    border-top: 6px solid var(--gold);
}

.badge-species {
    border-radius: 999px;
    font-weight: 900;
    padding: .45rem .7rem;
}
.badge-tuna { background: rgba(0,120,215,.12); color: var(--ocean); }
.badge-snapper { background: rgba(200,16,46,.12); color: var(--snapper); }

.footer {
    background: #061421;
    color: rgba(255,255,255,.78);
    border-top: 3px solid var(--gold);
}
.text-gold { color: var(--gold); }

@media (max-width: 767px) {
    .nav-logo { width: 66px; height: 66px; }
    .hero-logo { max-height: 240px; }
    .hero-card { border-radius: 18px; }
}
