body, html {
    height: 100%;
    margin: 0;
    background: #0d0d0d; /* match the footer's black (was #181818) */
}

.team-list::-webkit-scrollbar-track {
    background: #181818;
    border-radius: 10px;
}

.team-list::-webkit-scrollbar {
    width: 10px;
}

.team-list::-webkit-scrollbar-thumb {
    background: #616161;
    border-radius: 10px;
}

/*--new css starts 2021*/
.theme-header {
    border-bottom: 1px solid #282828;
    background-color: #0d0d0d; /* match the footer's black (was #181818) */
}

.theme-card .card {
    background: #181818;
    color: white;
    border: 1px solid #353535;
    border-radius: 15px;
}

.theme-card .card-header {
    background: none;
    border-bottom: 1px solid #353535;
}

.theme-card .card-footer {
    background: none;
    border-top: 1px solid #353535;
    text-align: center;
}

.border-yellow {
    border-color: #FFD764 !important;
}

.border-green {
    border-color: #14A800 !important;
}

.week-result {
    color: white !important;
    background: #616161;
    padding: 10px 25px;
    border-radius: 15px;
}

/* Self-hosted so it can't be blocked by ad-blockers / tracking prevention (unlike Google Fonts). */
@font-face {
    font-family: 'Baloo 2';
    font-style: normal;
    font-weight: 700 800;
    font-display: swap;
    src: url('/fonts/baloo2-latin.woff2') format('woff2');
}

/* "Cool" page/section title pill -- the gold replacement for the flat grey .week-result oval.
   Steeler-gold gradient fill, rounded soft bold text, soft glow, a little football. Reusable:
   swap a header's "week-result label-border-grey" classes for "page-title-pill". */
.page-title-pill {
    display: block;
    width: fit-content;   /* shrink-wrap to the text so margin:auto can center it... */
    margin: 0.25rem auto; /* ...regardless of whether the parent is text-center */
    padding: 0.5rem 1.9rem;
    font-family: 'Baloo 2', system-ui, sans-serif; /* rounded + soft, but still heavy */
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    color: #161616;
    background: linear-gradient(180deg, #ffe487 0%, #f3c265 55%, #e0a93f 100%);
    border: 1px solid rgba(255, 232, 150, 0.9);
    border-radius: 999px;
    box-shadow: 0 3px 12px rgba(0, 0, 0, 0.45), 0 0 16px rgba(243, 192, 128, 0.4);
}
.page-title-pill::before {
    content: "\1F3C8\00A0"; /* football + nbsp */
}


.eliminate {
    padding: 0.2rem 1.3rem;
    border-radius: 20px;
    text-decoration: none;
    background: #F3C080;
    color: black;
    font-weight: 500;
    margin: 1rem 0 0 0;
}

    .eliminate:hover {
        color: black;
    }

.strip {
    background: #616161;
    padding: 8px 0px;
}

.matt-footer {
    /* Solid black (was a left-to-right gradient whose lighter #212020 middle stood out
       from the site's black) + a consistent top margin so every page has the same
       breathing room before the footer, regardless of how tall its content is. */
    background: #0d0d0d;
    margin-top: 3rem;
    font-size: 13px;
}

.logout-btn {
    border-radius: 15px;
    border: none;
    background: #FA2626;
    padding: 4px 25px !important;
}

.theme-header .navbar-dark .navbar-nav .nav-link {
    color: #ffffff;
    text-transform: uppercase;
}

/* Steelers gold highlight for the primary game menu items (Manage Picks, Standings). */
.theme-header .navbar-nav .nav-link.steelers-gold {
    color: #FFB612 !important;
}

.theme-header .navbar-nav li {
    display: flex;
    align-items: center;
    font-size: .72rem;
    font-weight: 500;
    /* Nav stacks vertically (flex-column); give the items a little breathing room
       so they aren't sitting directly on top of each other. */
    margin-bottom: .35rem;
}

.eliminate:not(.collapsed) {
    background: #F3C080;
    color: black;
}

    .eliminate:not(.collapsed)::after {
        background-image: url(../images/arrow.svg);
    }

.team-img {
    border-radius: 15px;
}

.team-list {
    margin: 0;
    padding: 0;
    list-style-type: none;
    display: inline-flex;
    flex-wrap: wrap;
    color: #A3A3A3;
    font-family: 'Poppins', sans-serif;
    font-style: italic;
    font-weight: 800;
    max-height: 15.3rem;
    overflow-y: scroll;
    word-break: break-word;
}

    .team-list .team-item {
        margin-right: 10px;
    }

.team-head {
    color: #A3A3A3;
    font-weight: 800;
}

.eliminate-card .eliminate {
    margin: 0;
}

.vs {
    color: #FA0801;
    margin-top: -3rem;
    font-size: 17px;
    font-weight: 800;
}

.contact-form {
    background: #181818;
    border: 1px solid #ffd84d;
    border-radius: 10px;
    color: #fff;    
    
}

    .contact-form .contact-input {
        padding: 10px 15px;
        border: none;
        border-radius: 13px;
    }

    .contact-form .contact-item {
        line-height: 1;
    }

.send {
    padding: 0.2rem 1.3rem;
    border-radius: 20px;
    text-decoration: none;
    background: #F3C080;
    color: black;
    border: none;
    font-weight: 500;
}
.btn-send {
    font-weight: 500;
    --bs-btn-color: #000;
    --bs-btn-bg: #F3C080;
    --bs-btn-border-color: #F3C080;
    --bs-btn-hover-color: #000;
    --bs-btn-hover-bg: #FdC080;
    --bs-btn-hover-border-color: #000;
    --bs-btn-focus-shadow-rgb: 49,132,253;
    --bs-btn-active-color: #000;
    --bs-btn-active-bg: #FaC080;
    --bs-btn-active-border-color: #FaC080;
    --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
    --bs-btn-disabled-color: #fff;
    --bs-btn-disabled-bg: #F3C080;
    --bs-btn-disabled-border-color: #F3C080;
}

.rules {
    margin: 0;
    padding: 0 0 0 1rem;
}

.reg {
    line-height: 0;
}
.text-steeler-gold {
    color: #F3C080;
}
.text-rem-black {
    color: black;
}
.text-rem-white {
    color: white;
}
.rules-bg {
    background: #181818;
    border: 1px solid #ffd84d;
    border-radius: 10px;
    color: #ffffff;
}

.login-bg {
    background: #181818;
    /* Match the site's gold neon frame (2px + glow) like .rules-bg/.neon-yellow -- was a thinner
       1px border with no glow. Border/markup only; the reCAPTCHA script wiring is untouched. */
    border: 2px solid #ffd84d;
    border-radius: 10px;
    box-shadow: 0 0 12px rgba(255, 216, 77, 0.9);
    color: #ffffff;
}

.reg-list ul {
    margin: 0;
    padding: 0;
    list-style-type: none;
}

.rules-bg .card-header {
    border-bottom: 1px solid #ffd84d;
}

.standing {
    background: #181818;
    border: 1px solid #ffd84d;
    border-radius: 10px;
    /*    margin-top:19rem;*/
}

.h-65 {
    min-height: 65px;
}

.nf {
    color: #A8A8A8;
    font-weight: bold;
}

.picks .eliminate {
    margin: 0;
}

.picks .card {
    height: 100%;
}

.pool-btn {
    border: 1px solid #E8E8E8;
    color: #E8E8E8;
    font-size: 11px;
    border-radius: 15px;
    padding: 3px 7px;
    margin: 3px 0;
    display: inline-block;
    text-align: center
}

    .pool-btn:hover {
        color: #E8E8E8;
    }

.poolentry-btn {
    background: #E9E9E9;
    color: black;
    border-radius: 10px;
}

.pool-entry .eliminate:hover {
    color: black;
}

.alive {
    border-radius: 25px;
    border: 1px solid #14A800;
    color: #14A800;
    padding: 0px 18px;
    margin-bottom: 5px;
}

.eliminated {
    border-radius: 25px;
    border: 1px solid #FA2626;
    color: #FA2626;
    padding: 0px 18px;
    margin-bottom: 5px;
}

.pool-entry .text-steeler-gold {
    font-weight: bold;
}

/*--new css ends*/
@media (max-width: 768px) {
  
    .navbar-toggler {
        display: block;
    }

    .logout {
        width: 24%;
    }

    .defaultPick .rightBlock {
        padding: 10px 9px;
        width: 100%;
    }

    .defaultPick .leftblock {
        padding: 40px;
        width: 100%;
    }

    .mobile {
        display: block;
    }

    .web {
        display: none;
    }

    .reg {
        line-height: 1.4;
    }
}
.body-container {
    /*background-image: url('../images/MATT_homepage_background.png');*/
    background-image: url('../images/MATTBanner/MATTBanner.jpg');
    background-repeat: no-repeat;
    background-size: contain;
    background-position: top;
    padding: 0;
    padding-bottom: 50px;
}


@media (min-width: 768px) {
   

    .navbar-toggler {
        display: none;
    }

    #navbarSupportedContent {
        float: left;
    }

    .defaultPick .rightBlock {
        padding: 40px;
        width: 100%;
        margin-top: 10%;
    }

    .defaultPick .leftblock {
        padding: 85px;
        width: 100%;
    }
}

@media (min-width: 1000px) {
    .mobile {
        display: none;
    }

    .web {
        display: block;
    }
}

@media (max-width: 1150px) {
    #navbarSupportedContent {
        margin-right: 0;
    }
}

@media (max-width: 1000px) and (min-width: 768px) {
   

    #navbarSupportedContent {
        float: left;
    }

    .mobile {
        display: block;
    }

    .web {
        display: none;
    }
}

/* --------------------------------------------------- *
 * menu dropdown */
/* --------------------------------------------------- */
.topnavbar {
    list-style: none outside none;
    margin: 0;
    padding: 0;
    float: right;
}

@media (max-width: 767px) {
    .topnavbar {
        width: 100%;
        text-align: center;
    }
}

.topnavbar li {
    display: block;
    position: relative;
    float: left;
    margin-left: 15px;
}

@media (max-width: 767px) {
    .topnavbar li {
        float: none;
        display: inline-block;
    }
}

.topnavbar li.account-greating {
    color: white;
}

    .topnavbar li.account-greating > a {
        margin-left: 5px;
    }

.topnavbar li > a {
    display: inline-block;
    font-size: 12px;
    color: white;
    padding: 5px !important;
}

.navbar-nav {
    list-style: none;
    margin-top: 10px;
}

    .navbar-nav li {
        padding: 5px 10px;
    }

        .navbar-nav li a {
            color: #FFF;
        }

            .navbar-nav li a:hover {
                text-decoration: none;
            }

    .navbar-nav .dropdown.open {
        background: transparent !important;
    }

    .navbar-nav .dropdown-menu {
        list-style: none outside none;
        margin: 0;
        padding: 0;
        min-width: 180px;
        background: #303030;
        position: absolute;
        top: 100%;
        left: 0;
        z-index: 22;
    }

        .navbar-nav .dropdown-menu:before {
            content: "";
            position: absolute;
            left: 10px;
            top: -8px;
            border-left: 12px solid transparent;
            border-right: 12px solid transparent;
            border-bottom: 12px solid #303030;
        }

@media (max-width: 767px) {
    .navbar-nav .dropdown-menu:before {
        display: none !important;
    }
}



.nav .open > a, .nav .open > a:focus, .nav .open > a:hover {
    background: transparent !important;
}

.FullLeftRow {
    float: left;
    width: 100%;
}

.FullRightRow {
    float: right;
}

.question {
    color: #ffc411;
    font-family: "Damion", sans-serif;
}

.CompanyName {
    font-size: 3rem;
    /*    font-family: "Damion", sans-serif;*/
    font-family: 'Bebas Neue', cursive;
    color: #FFF;
/*    font-family: 'Roboto', sans-serif;*/
    /*  letter-spacing: 2px;*/
}

.notification {
    color: #FFF !important;
    padding: 0;
}

.lineheight8 {
    line-height: 0.8;
}

.lineheight12 {
    line-height: 1.2;
}

.toppadding20 {
    padding-top: 20px;
}

.font20 {
    font-size: 20px;
}

.font15 {
    font-size: 15px;
}



.danger {
    background-color: red;
    color: #fff;
    padding-left: 10px;
}

.footer-title {
    color: #fff;
    text-align: center;
    background: #303030;
}


.footer {
    position: fixed;
    bottom: 0;
    width: 100%;
}

.alert-Auto-Size {
    margin: auto;
    display: table;
}

.underline {
    text-decoration: underline;
    text-decoration-color: #f3c080;
}

.collapsible {
    cursor: auto;
    width: 100%;
    text-align: left;
    outline: none;
    padding: 10px;
    border-bottom: 1px solid #d9d9d9;
}

.collapse_content {
    padding: 0 18px;
    display: none;
    overflow: hidden;
}

.oval {
    width: 80px;
    height: 40px;
    background: #008000;
    border-radius: 50%;
}

.pool-entry-border {
    display: block;
    /*width: 200px;
    height: 150px;*/
    border: 1px solid red;
    /* margin: auto;*/
}

@media (min-width: 1200px) {
    .container, .container-lg, .container-md, .container-sm, .container-xl {
        max-width: 1155px;
    }
}


@media only screen and (min-device-width: 768px) and (max-device-width: 1024px) and (-webkit-min-device-pixel-ratio: 2) {

    .pool-entry .team-img {
        float: none !important;
    }

    .pool-entry .pool-img {
        width: 100%;
    }
}

.border-size-1 {
    border: 1px solid;
}

.alive, .eliminated, .label-border-grey {
    display: inline-block;
    font-weight: 400;
    vertical-align: middle;
    background-color: none;
}

.label-border-grey {
    font-size: 1rem !important;
}

.rounded-5 {
    border-radius: 0.5rem !important;
}

.nav-pills .nav-link.active, .nav-pills .show > .nav-link {
    color: #260303;
    background-color: #cbcee3;
}

.nav-pills .nav-link:hover {
    color: #260303;
    background-color: #cbcee3;
    text-decoration: none;
}

.nav-pills .nav-link {
    color: #fff;
}
.hidePoolEntryInput {
    display: none;
}



/* Custom CSS for audio player */
.custom-audio {
    background-color: #181818; /* Black background */
    color: #fff; /* White text */
    border: none; /* No border */
    border-radius: 5px; /* Rounded corners */
    padding: 10px;
    width: 100%; /* Full width */
}
.custom-audio-bruce {
    border: 3px solid #FFD700; /* Steeler gold */
    border-radius: 8px;
    padding: 10px;
    background: linear-gradient(135deg, #1a1a1a, #333);
    box-shadow: 0 0 10px rgba(255, 215, 0, 0.5);
}

    .custom-audio::-webkit-media-controls-panel,
    .custom-audio::-webkit-media-controls-enclosure {
        background-color: #181818; /* Black background for controls */
        border-radius: 5px; /* Match rounded corners */
    }
audio::-webkit-media-controls-play-button {
    filter: brightness(2) drop-shadow(0 0 2px #FFD700);
}

    /*.custom-audio::-webkit-media-controls-play-button,*/
    .custom-audio::-webkit-media-controls-pause-button,
    .custom-audio::-webkit-media-controls-volume-slider,
    .custom-audio::-webkit-media-controls-mute-button,
    .custom-audio::-webkit-media-controls-current-time-display,
    .custom-audio::-webkit-media-controls-time-remaining-display,
    .custom-audio::-webkit-media-controls-timeline,
    .custom-audio::-webkit-media-controls-timeline-container,
    .custom-audio::-webkit-media-controls-seek-back-button,
    .custom-audio::-webkit-media-controls-seek-forward-button,
    .custom-audio::-webkit-media-controls-fullscreen-button,
    .custom-audio::-webkit-media-controls-rewind-button,
    .custom-audio::-webkit-media-controls-return-to-realtime-button,
    .custom-audio::-webkit-media-controls-toggle-closed-captions-button {
        filter: invert(100%) sepia(0%) saturate(0%) hue-rotate(0deg) brightness(100%) contrast(100%);
    }

    .custom-audio::-moz-range-track {
        background-color: #fff; /* White progress bar */
    }

    .custom-audio::-ms-track {
        background-color: #fff; /* White progress bar */
    }

    .custom-audio::-webkit-slider-runnable-track {
        background-color: #fff; /* White progress bar */
    }

    .custom-audio::-webkit-slider-thumb {
        background-color: #fff; /* White progress bar thumb */
    }

    .custom-audio::-moz-range-thumb {
        background-color: #fff; /* White progress bar thumb */
    }

    .custom-audio::-ms-thumb {
        background-color: #fff; /* White progress bar thumb */
    }

.underline-text {
    text-decoration: underline;
}
.amount-box {
    background-color: black;
    color: white;
    padding: 1rem;
    border: 2px solid #fdd835; /* Steeler Yellow */
    border-radius: 8px;
}

/* 🔴 Bold & Urgent */
.alert-red {
    border: 2px solid #ff4d4d;
}

/* 🩶 Sleek & Subtle */
.alert-gray {
    border: 1px solid #888;
    border-radius: 6px;
}

/* 🌟 Dramatic with Shadow -- "Neon Red" */
.alert-glow {
    border: 2px solid #ff4d4d;
   /* box-shadow: 0 0 8px rgba(255, 77, 77, 0.6);*/
    box-shadow: 0 0 12px rgba(255, 77, 77, 0.9);
    border-radius: 10px;
}

/* 💛 "Neon Yellow" / "Steelers Neon" -- the Steelers-gold glow (same yellow as the
   hero strip's "Still Standing" number). The yellow sibling of .alert-glow. */
.neon-yellow {
    border: 2px solid #ffd84d;
    box-shadow: 0 0 12px rgba(255, 216, 77, 0.9);
    border-radius: 10px;
}

/* 💚 "Neon Green" -- the green sibling of .alert-glow (red) and .neon-yellow (gold).
   For winning / surviving picks. */
.neon-green {
    border: 2px solid #4dff88;
    box-shadow: 0 0 12px rgba(77, 255, 136, 0.9);
    border-radius: 10px;
}

/* 🤍 "Neon White" + 💙 "Neon Blue" -- the white/blue siblings of the neon family.
   With .alert-glow (red) they make the red/white/blue set for America's 250th. */
.neon-white {
    border: 2px solid #ffffff;
    box-shadow: 0 0 12px rgba(255, 255, 255, 0.9);
    border-radius: 10px;
}

.neon-blue {
    border: 2px solid #4da6ff;
    box-shadow: 0 0 12px rgba(77, 166, 255, 0.9);
    border-radius: 10px;
}

/* ---- Uniform status / message banner -------------------------------------
   ONE shape for every status message on the site; pair it with a neon color
   class that carries the MEANING (not decoration):
     .alert-glow  (red)   -> urgent action or error  ("SEND YOUR MONEY!", errors, eliminated)
     .neon-yellow (gold)  -> time-sensitive heads-up  (pick deadline, registration ends/closed)
     .neon-green  (green)  -> good news / success       (email sent, you advanced)
     .neon-blue   (blue)   -> neutral FYI               (informational-only notes)
   The paired neon class supplies the border + glow + radius; this supplies the
   shared black panel, centering, width and padding. NOTE: this is for MESSAGES
   only -- gold page FRAMES (.contact-form/.rules-bg/.hero-strip) keep their look. */
.status-banner {
    max-width: 640px;
    margin: 1rem auto;
    padding: 1rem 1.25rem;
    text-align: center;
    background-color: black;
    color: white;
}
.status-banner > :last-child { margin-bottom: 0; }

/* About Me photo -- a gold-rimmed portrait card (3:4) that keeps the whole shot -- Doug and the
   graffiti horse. The placeholder shows if the image file is missing (the <img> onerror reveals it). */
.about-photo { width: 260px; max-width: 100%; }
.about-photo__img,
.about-photo__placeholder {
    width: 260px;
    max-width: 100%;
    height: 347px;
    border-radius: 16px;
    border: 2px solid #ffd84d;
    box-shadow: 0 0 12px rgba(255, 216, 77, 0.9);
}
.about-photo__img { object-fit: cover; display: block; }
.about-photo__placeholder {
    display: none; /* revealed via the img's onerror until the real photo exists */
    align-items: center;
    justify-content: center;
    text-align: center;
    background: #1a1a1a;
    color: #ffd84d;
    font-weight: 700;
    font-size: 0.9rem;
    line-height: 1.2;
}

/* ---- "What's New" announcement toast (Home page) -------------------------
   Markup: Pages/Home/_WhatsNew.cshtml. Behavior: wwwroot/TypeScripts/whatsNew.ts.
   Steeler-gold border/glow comes from the shared .neon-yellow class above.    */
.whats-new {
    position: fixed;
    right: 1rem;
    bottom: 1rem;
    z-index: 1080; /* above page content, below a Bootstrap modal (1055/1090) */
    width: min(92vw, 360px);
    max-height: 82vh;
    overflow-y: auto;
    background: #161616;
    color: #fff;
    /* start hidden + nudged down, ready to slide up into view */
    opacity: 0;
    transform: translateY(26px) scale(.98);
    pointer-events: none;
    transition: opacity .45s ease, transform .45s ease;
}
.whats-new.is-visible {
    opacity: 1;
    transform: translateY(0) scale(1);
    pointer-events: auto;
}
/* the gentle "going... going... gone" -- slow drift down + fade, Outlook-style.
   Keep the 2s here in sync with LEAVE_MS in whatsNew.ts. */
.whats-new.is-leaving {
    opacity: 0;
    transform: translateY(44px) scale(.96);
    transition: opacity 2s ease, transform 2s ease;
    pointer-events: none;
}
/* Page variant of the card: same dark/neon look, but STATIC (not a fixed pop-up) and
   always visible -- used by the dedicated /Home/WhatsNew page. */
.whats-new--page {
    position: static;
    width: min(96vw, 640px);
    max-height: none;
    overflow: visible;
    opacity: 1;
    transform: none;
    pointer-events: auto;
    margin: 1.5rem auto;
}

/* Commissioner "Player Photos" grid */
.player-card { background: #161616; border: 1px solid rgba(255, 216, 77, .35); border-radius: 10px; color: #fff; }
.player-card__img { width: 100%; aspect-ratio: 1; object-fit: cover; border-radius: 8px; display: block; }
.player-card__placeholder { width: 100%; aspect-ratio: 1; display: flex; flex-direction: column; align-items: center; justify-content: center; background: #222; border-radius: 8px; color: #888; font-size: .8rem; }
.player-card__name { font-weight: 700; font-size: .9rem; margin-top: .4rem; line-height: 1.15; }
.player-card__state { color: #ffd84d; font-size: .85rem; }

.whats-new__head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: .5rem .85rem;
    border-bottom: 1px solid rgba(255, 216, 77, .35);
}
.whats-new__title { font-weight: 700; color: #ffd84d; }
.whats-new__close {
    background: none;
    border: 0;
    color: #ffd84d;
    font-size: 1.45rem;
    line-height: 1;
    cursor: pointer;
    padding: 0 .25rem;
}
.whats-new__body { padding: .75rem .85rem; }
.whats-new__pitch { display: flex; gap: .6rem; align-items: center; margin-bottom: .65rem; }
.whats-new__browns { width: 56px; height: 56px; object-fit: contain; flex: 0 0 auto; border-radius: 8px; }
.whats-new__tag { font-size: .92rem; }
/* Neon-red phone-verification callout (.alert-glow supplies the red border + glow). */
.whats-new__alert {
    display: flex;
    gap: .55rem;
    align-items: center;
    margin-bottom: .65rem;
    padding: .55rem .65rem;
    font-size: .88rem;
    background: rgba(255, 77, 77, .08);
}
.whats-new__watch { font-size: 2rem; line-height: 1; flex: 0 0 auto; } /* swap for a real watch image later */
/* Neon-blue patriotic sign-off (.neon-blue supplies the blue border + glow). */
.whats-new__usa { text-align: center; padding: .6rem .65rem; margin-bottom: .65rem; }
.whats-new__usa-msg { font-size: .9rem; line-height: 1.25; }
.whats-new__usa-sub { font-size: .78rem; color: #cfcfcf; }
.whats-new__flag {
    width: 140px;
    max-width: 80%;
    height: auto;
    border-radius: 4px;
    border: 1px solid rgba(255, 255, 255, .25);
    box-shadow: 0 1px 5px rgba(0, 0, 0, .55);
}
.whats-new__list { list-style: none; padding-left: 0; margin: 0 0 .65rem; font-size: .9rem; }
.whats-new__list li { margin-bottom: .32rem; }
.whats-new__check { color: #ffd84d; font-weight: 700; margin-right: .25rem; }
.whats-new__profile { font-size: .85rem; border-top: 1px solid rgba(255, 255, 255, .12); padding-top: .55rem; margin-bottom: .65rem; }
.whats-new__fine { font-size: .78rem; color: #cfcfcf; }
/* Super Bowl Grid teaser -- .neon-white supplies the border + glow. */
.whats-new__soon { padding: .5rem .65rem; margin-bottom: .65rem; font-size: .88rem; text-align: center; }
.whats-new__soon-tag { display: block; font-size: .7rem; letter-spacing: .12em; text-transform: uppercase; color: #ffffff; font-weight: 700; margin-bottom: .15rem; }
.whats-new__foot {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: .5rem;
    padding: .5rem .85rem .7rem;
}
.whats-new__dontshow { font-size: .78rem; color: #9aa0a6; text-decoration: underline; }
.whats-new__dontshow:hover { color: #cfcfcf; }

@media (prefers-reduced-motion: reduce) {
    .whats-new { transition: opacity .3s ease; transform: none; }
    .whats-new.is-visible { transform: none; }
    .whats-new.is-leaving { transition: opacity .6s ease; transform: none; }
}

/* ===== Weekly Results "Hero Strip" (the survivor headline) ===== */
.hero-strip {
    background: radial-gradient(ellipse at top, #2a2a2e 0%, #18181b 70%);
    border-radius: 14px;   /* border + glow now come from the .neon-yellow class */
    color: #f5f5f5;
    padding: 1.25rem 1rem;
    text-align: center;
}

.hero-week {
    text-transform: uppercase;
    letter-spacing: 0.18em;
    font-size: 0.8rem;
    color: #b9b9c0;
    margin-bottom: 0.25rem;
}

.hero-standing {
    line-height: 1;
    margin: 0.35rem 0 0.5rem;
}
/* The single-champion display (🏆 + name) gets breathing room around the trophy and the name. */
.hero-champion {
    margin-top: 1.25rem;
    margin-bottom: 1.25rem;
}
.hero-champion .count {
    margin-bottom: 0.6rem;
}

.hero-standing .count {
    display: block;
    font-size: clamp(3rem, 12vw, 5.5rem);
    font-weight: 800;
    color: #ffd84d;
    text-shadow: 0 0 14px rgba(255, 216, 77, 0.85), 0 0 28px rgba(255, 216, 77, 0.45);
}

.hero-standing .label {
    display: block;
    text-transform: uppercase;
    letter-spacing: 0.22em;
    font-size: 0.95rem;
    color: #ffe9a6;
    margin-top: 0.15rem;
}

.hero-thisweek {
    font-size: 1rem;
    margin-bottom: 0.9rem;
}
.hero-thisweek .out { color: #ff6b6b; font-weight: 700; }
.hero-thisweek .advance { color: #7CFC9B; font-weight: 700; }
.hero-thisweek .sep { color: #777; margin: 0 0.5rem; }

/* End-of-season: the survivors ARE the winners -- celebratory gold line in place of the
   weekly "advanced/eliminated" tally. */
.hero-winners {
    font-size: 1.1rem;
    font-weight: 700;
    color: #ffd84d;
    text-shadow: 0 0 12px rgba(255, 216, 77, 0.6);
    margin-bottom: 0.9rem;
}

/* week-by-week shrinking field */
.hero-field {
    max-width: 460px;
    margin: 0.5rem auto 0.9rem;
    text-align: left;
}
.hero-field-title {
    font-size: 0.78rem;
    text-transform: uppercase;
    letter-spacing: 0.12em;
    color: #b9b9c0;
    margin-bottom: 0.4rem;
    text-align: center;
}
.hero-field-row {
    display: grid;
    grid-template-columns: 2.9rem 1fr 2.6rem;
    align-items: center;
    gap: 0.5rem;
    margin: 0.18rem 0;
    font-size: 0.85rem;
}
.hero-field-row .wk { color: #b9b9c0; }
.hero-bar-track {
    background: #34343a;
    border-radius: 6px;
    height: 0.85rem;
    overflow: hidden;
}
.hero-bar-fill {
    display: block;          /* was inline -> the inline width:X% (and height:100%) were ignored, so the bar never showed or shrank */
    height: 100%;
    background: #F3C080;      /* the steeler gold used site-wide -- solid, no neon glow */
    border-radius: 6px;
}
.hero-field-row .cnt { text-align: right; color: #e7e7ea; font-variant-numeric: tabular-nums; }
.hero-field-row.current .wk,
.hero-field-row.current .cnt { color: #ffd84d; font-weight: 700; }
/* The "Start" baseline row (full field before any eliminations) -- brighter so it reads
   as the starting line the weekly counts shrink from. */
.hero-field-row.start .wk,
.hero-field-row.start .cnt { color: #ffffff; font-weight: 700; }
/* Every week's bar is the same steeler gold (no neon) -- the current week stands out
   via its brighter gold W## + count text above, not a glowing bar. */

.hero-spoiler {
    font-size: 0.92rem;
    color: #ffb84d;
    margin-bottom: 0.6rem;
}
.hero-spoiler .team { font-weight: 700; }

.hero-footer {
    border-top: 1px solid #3a3a40;
    padding-top: 0.6rem;
    font-size: 0.95rem;
    color: #d9d9de;
}
.hero-footer .pot { color: #7CFC9B; font-weight: 700; }
.hero-footer .sep { color: #777; margin: 0 0.45rem; }
.hero-footer .field-stat { color: #ffe9a6; font-weight: 600; }
.hero-footer .togo { color: #b9b9c0; }
/* ===== end Hero Strip ===== */

/* ===== Discoverability: make collapsible result rows obviously clickable ===== */
.result-toggle {
    position: relative;
    padding-right: 2.4rem;
    border: 1px solid rgba(255, 207, 77, 0.55);
    border-radius: 8px;
    box-shadow: 0 0 6px rgba(255, 207, 77, 0.22);
    text-decoration: none;
    cursor: pointer;
}
.result-toggle:hover,
.result-toggle:focus {
    box-shadow: 0 0 12px rgba(255, 207, 77, 0.55);
}
/* rotating chevron (Unicode, no font dependency): points right when closed, down when open */
.result-toggle::after {
    content: "\25BE";
    position: absolute;
    right: 0.85rem;
    top: 50%;
    transform: translateY(-50%) rotate(0deg);
    transition: transform 0.2s ease;
    font-size: 1.05em;
    opacity: 0.9;
}
.result-toggle.collapsed::after {
    transform: translateY(-50%) rotate(-90deg);
}
.result-toggle .toggle-hint {
    display: block;
    font-size: 0.72rem;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    opacity: 0.85;
    margin-top: 0.1rem;
}
/* ===== end discoverability ===== */

.password-wrapper {
  position: relative;
}

  .password-wrapper input {
    padding-right: 3.5rem;
  }

.password-toggle-btn {
  position: absolute;
  top: 50%;
  right: 0.9rem;
  transform: translateY(-50%);
  width: 2.25rem;
  height: 2.25rem;
  border: 0;
  background: transparent;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #0d6efd;
}

  .password-toggle-btn:hover {
    color: #084298;
  }

  .password-toggle-btn i {
    pointer-events: none;
    font-size: 1.2rem;
  }
