/*
 * Style layoutu "nowa startowa" (koncepcja wnba.pl / wronba2.pl).
 * Wydzielone z partiali Blade: Modules/Wronba/Resources/views/nowa_startowa/
 * (_styles.blade.php, _header_styles.blade.php, _footer_styles.blade.php,
 * podglad/_podglad_styles.blade.php).
 *
 * Podpięte globalnie w Modules/Wronba/Resources/views/layouts/wronba.blade.php,
 * obok wronba_v1_24.css. Wszystkie reguły poza header/nav/stopką są zamknięte
 * w klasie .nowa-startowa, więc bezpiecznie ładują się na każdej stronie.
 */

/* ============================================================
   1. RDZEŃ / TOKENY / SEKCJE STRONY /nowa-startowa
   (dawniej: nowa_startowa/_styles.blade.php)
   ============================================================ */

    .nowa-startowa {
        --ns-accent: var(--main-color, #f56b06);
        --ns-ink: #1a1a1a;
        --ns-line: #e3e3e3;
    }

    /* treść na oryginalnej szerokości strony (jak pasek term_score_scroll_slider) */
    .nowa-startowa .ns-main {
        max-width: none;
    }

    .nowa-startowa .ns-section {
        margin-top: 3.25rem;
        margin-bottom: 0;
    }
    .nowa-startowa .ns-section:first-child {
        margin-top: 2rem;
    }
    /* sekcja Mecze - tuż pod nawigacją */
    .nowa-startowa #ns-fx.ns-section {
        margin-top: 1.4rem;
    }
    .nowa-startowa #ns-fx .d-flex.mb-2 { margin-bottom: .3rem !important; }

    /* nagłówki sekcji */
    .nowa-startowa .ns-section > .d-flex > h2,
    .nowa-startowa .ns-section > h2 {
        font-size: clamp(1.4rem, 1.1rem + 1.2vw, 2rem);
        position: relative;
        display: flex;
        align-items: center;
        gap: .15rem;
        padding-left: 0;
    }
    /* kwadratowy badge z ikoną przy nagłówku sekcji */
    .nowa-startowa .ns-badge {
        flex: 0 0 auto;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        width: 51px;
        height: 51px;
        margin-right: -18px;
        background: #171717;
        color: #fff;
        box-shadow: 0 6px 16px rgba(0, 0, 0, .18);
        transform: translateX(-35%);
    }
    .nowa-startowa .ns-badge svg { width: 25px; height: 25px; }
    @media (max-width: 575.98px) {
        .nowa-startowa .ns-badge { width: 44px; height: 44px; }
        .nowa-startowa .ns-badge svg { width: 22px; height: 22px; }
    }

    .nowa-startowa .ns-more {
        font-size: .8rem;
        color: var(--ns-accent) !important;
        white-space: nowrap;
    }
    .nowa-startowa .ns-more:hover { text-decoration: underline; }

    /* nazwa sekcji jako link */
    .nowa-startowa .ns-section > .d-flex > h2 a,
    .nowa-startowa .ns-section > h2 a {
        color: inherit;
        text-decoration: none;
        transition: color .15s ease;
    }
    .nowa-startowa .ns-section > .d-flex > h2 a:hover,
    .nowa-startowa .ns-section > h2 a:hover { color: var(--ns-accent); }

    /* mobile: nagłówek sekcji wyśrodkowany - ikona na górze, nazwa sekcji pod nią,
       link "wszyscy / więcej" w nowej linii, też wyśrodkowany */
    @media (max-width: 575.98px) {
        .nowa-startowa .ns-section > .d-flex.justify-content-between {
            flex-direction: column;
            align-items: center;
            text-align: center;
        }
        .nowa-startowa .ns-section > .d-flex.justify-content-between > h2 {
            flex-direction: column;
            align-items: center;
            gap: .5rem;
            width: 100%;
        }
        .nowa-startowa .ns-section > .d-flex.justify-content-between > h2 .ns-badge {
            margin-right: 0;
            transform: none;
        }
        /* pojedynczy link "więcej" - w nowej linii, wyśrodkowany */
        .nowa-startowa .ns-section > .d-flex.justify-content-between > .ns-more {
            display: block;
            width: 100%;
        }
        /* kilka linków (np. "Pełny terminarz" + "Wyniki") - w jednej linii, wyśrodkowane */
        .nowa-startowa .ns-section > .d-flex.justify-content-between > .d-flex {
            width: 100%;
            justify-content: center;
            flex-wrap: nowrap;
            gap: .85rem;
        }
    }

    /* ---------- AKTUALNOŚCI ---------- */
    /* ciemny pas na całą szerokość ekranu - tło jak stopka */
    .nowa-startowa .ns-news-band {
        width: 100vw;
        margin-left: 50%;
        transform: translateX(-50%);
        padding: 3.75rem max(1.25rem, calc((100vw - 1280px) / 2)) 4.25rem;
        /* czarne tło z wchodzącym pomarańczem (radial gradient) */
        background:
            radial-gradient(1900px 780px at 8% -20%, rgba(245, 107, 6, .55), transparent 72%),
            radial-gradient(1100px 520px at 102% 120%, rgba(245, 107, 6, .28), transparent 66%),
            linear-gradient(115deg, #1f1f1f 0%, #171717 50%, #2a1708 100%);
        color: #fff;
    }
    .nowa-startowa .ns-news-band > .d-flex > h2 {
        font-size: clamp(2rem, 1.3rem + 2.6vw, 3.2rem);
    }
    .nowa-startowa .ns-news-band > .d-flex.mb-3 {
        margin-bottom: 2.4rem !important;
    }
    @media (max-width: 575.98px) {
        .nowa-startowa .ns-news-band { padding: 2.75rem 1.25rem 3rem; }
    }
    .nowa-startowa .ns-news-band .ns-badge {
        background: var(--ns-accent);
        box-shadow: 0 6px 16px rgba(245, 107, 6, .32);
    }
    .nowa-startowa .ns-news-band .ns-news-lead__lead { color: #c9c9c9; }
    .nowa-startowa .ns-news-band .ns-news-lead__media,
    .nowa-startowa .ns-news-band .ns-news-item__media { background: #4d4d4d; }
    .nowa-startowa .ns-news-band .ns-sep-section { display: none; }

    .nowa-startowa .ns-news-layout {
        display: grid;
        grid-template-columns: minmax(0, 1.9fr) minmax(0, 1fr);
        gap: clamp(1rem, 3vw, 2.25rem);
        align-items: start;
    }
    @media (max-width: 767.98px) {
        .nowa-startowa .ns-news-layout { grid-template-columns: 1fr; }
    }

    .nowa-startowa .ns-news-lead {
        display: flex;
        flex-direction: column;
        gap: .85rem;
        color: inherit;
    }
    .nowa-startowa .ns-news-lead__media,
    .nowa-startowa .ns-news-item__media {
        display: block;
        aspect-ratio: 3 / 2;
        overflow: hidden;
        background: var(--ns-line);
    }
    .nowa-startowa .ns-news-lead__media img,
    .nowa-startowa .ns-news-item__media img {
        width: 100%;
        height: 100%;
        object-fit: cover;
        display: block;
        transition: transform .4s ease;
    }
    .nowa-startowa .ns-news-lead:hover .ns-news-lead__media img,
    .nowa-startowa .ns-news-item:hover .ns-news-item__media img { transform: scale(1.04); }

    .nowa-startowa .ns-news-lead__body {
        display: flex;
        flex-direction: column;
        align-items: flex-start;
        gap: .55rem;
    }
    .nowa-startowa .ns-news-kicker {
        font-family: 'Bree Serif', serif;
        text-transform: uppercase;
        font-size: .68rem;
        letter-spacing: .4px;
        color: #fff;
        background: var(--ns-accent);
        padding: .16rem .55rem;
    }
    .nowa-startowa .ns-news-lead__title {
        font-size: clamp(1.65rem, 1.15rem + 2.2vw, 2.75rem);
        line-height: 1.12;
        transition: color .18s ease;
    }
    .nowa-startowa .ns-news-lead:hover .ns-news-lead__title { color: var(--ns-accent); }
    .nowa-startowa .ns-news-lead__lead {
        font-family: system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
        font-weight: 400;
        text-transform: none;
        letter-spacing: 0;
        font-size: .93rem;
        line-height: 1.5;
        color: #666;
    }
    .nowa-startowa .ns-news-more {
        display: inline-flex;
        align-items: center;
        gap: .3rem;
        font-family: 'Bree Serif', serif;
        text-transform: uppercase;
        font-size: .76rem;
        letter-spacing: .3px;
        color: var(--ns-accent);
    }
    .nowa-startowa .ns-news-more svg { transition: transform .18s ease; }
    .nowa-startowa .ns-news-lead:hover .ns-news-more svg { transform: translateX(4px); }

    .nowa-startowa .ns-news-side {
        display: flex;
        flex-direction: column;
        gap: clamp(1rem, 2.5vw, 1.6rem);
    }
    @media (max-width: 767.98px) {
        .nowa-startowa .ns-news-side {
            display: grid;
            grid-template-columns: repeat(2, 1fr);
        }
    }
    @media (max-width: 479.98px) {
        .nowa-startowa .ns-news-side { grid-template-columns: 1fr; }
    }
    .nowa-startowa .ns-news-item {
        display: flex;
        flex-direction: column;
        gap: .5rem;
        color: inherit;
    }
    .nowa-startowa .ns-news-item__title {
        font-size: 1.7rem;
        line-height: 1.2;
        display: -webkit-box;
        -webkit-line-clamp: 2;
        -webkit-box-orient: vertical;
        overflow: hidden;
        transition: color .18s ease;
    }
    .nowa-startowa .ns-news-item:hover .ns-news-item__title { color: var(--ns-accent); }

    /* ---------- WYNIKI KOLEJKI (jeden wiersz) ---------- */
    .nowa-startowa .ns-kolejka-strip {
        overflow-x: auto;
        padding-bottom: .5rem;
    }
    .nowa-startowa .ns-kolejka-strip > .ns-kolejka-item {
        flex: 1 1 190px;
        min-width: 176px;
    }
    .nowa-startowa .ns-score-card {
        background: #fff;
        border: 1px solid var(--ns-line);
        height: 100%;
        display: flex;
        flex-direction: column;
        transition: border-color .18s ease;
    }
    .nowa-startowa .ns-kolejka-item:hover .ns-score-card { border-color: var(--ns-accent); }
    /* cała karta jest linkiem do meczu - nie dziedziczymy globalnego a:hover */
    .nowa-startowa a.ns-score-card,
    .nowa-startowa a.ns-score-card:hover { color: inherit !important; text-decoration: none; }
    .nowa-startowa a.ns-score-card:hover { border-color: var(--ns-accent); }
    .nowa-startowa .ns-score-head {
        padding: .5rem .8rem .3rem;
        font-size: .7rem;
        letter-spacing: .3px;
        color: #999;
    }
    .nowa-startowa .ns-score-body {
        padding: .15rem .8rem .55rem;
        display: grid;
        gap: .2rem;
    }
    .nowa-startowa .ns-score-row {
        display: flex;
        justify-content: space-between;
        align-items: baseline;
        gap: .5rem;
        font-size: .9rem;
    }
    .nowa-startowa .ns-score-row .ns-team {
        overflow: hidden;
        text-overflow: ellipsis;
        white-space: nowrap;
        transition: color .18s ease;
    }
    .nowa-startowa .ns-score-row .ns-team a { color: inherit; }
    .nowa-startowa .ns-score-row .ns-team a:hover { color: var(--ns-accent) !important; }
    .nowa-startowa .ns-score-row .ns-pts {
        min-width: 1.6rem;
        text-align: right;
        font-variant-numeric: tabular-nums;
        color: #888;
        transition: color .18s ease;
    }
    .nowa-startowa .ns-score-row.ns-win .ns-team,
    .nowa-startowa .ns-score-row.ns-win .ns-team a { color: var(--ns-accent); }
    .nowa-startowa .ns-score-row.ns-win .ns-pts {
        color: var(--ns-accent);
        font-size: 1.02rem;
    }
    /* hover karty - podświetlamy obie drużyny (także przegraną) na pomarańczowo */
    .nowa-startowa .ns-kolejka-item:hover .ns-score-row .ns-team,
    .nowa-startowa .ns-kolejka-item:hover .ns-score-row .ns-team a,
    .nowa-startowa .ns-kolejka-item:hover .ns-score-row .ns-pts { color: var(--ns-accent); }

    /* ---------- TERMINARZ / slider wyników (lekki) ---------- */
    .nowa-startowa .ns-fx-wrap {
        position: relative;
    }
    .nowa-startowa .ns-fx-strip {
        display: flex;
        overflow-x: auto;
        scroll-behavior: smooth;
        scroll-snap-type: x proximity;
        border-top: 1px solid var(--ns-line);
        border-bottom: 1px solid var(--ns-line);
        scrollbar-width: none;
        -ms-overflow-style: none;
    }
    .nowa-startowa .ns-fx-strip::-webkit-scrollbar { display: none; }
    /* eleganckie strzałki przewijania - ciemne kwadraty */
    /* pierwotny kształt (prosty prostokąt, bez skew) - błysk na hover dołożony */
    .nowa-startowa .ns-fx-nav {
        position: absolute;
        top: 50%;
        transform: translateY(-50%);
        width: 40px;
        height: 46px;
        display: flex;
        align-items: center;
        justify-content: center;
        background: var(--ns-accent);
        border: 1px solid var(--ns-accent);
        color: #fff;
        box-shadow: 0 8px 22px rgba(245, 107, 6, .35);
        cursor: pointer;
        overflow: hidden;
        z-index: 4;
        opacity: .85;
        transition: opacity .2s ease, background-color .2s ease, color .2s ease, border-color .2s ease, transform .2s ease, box-shadow .2s ease;
    }
    .nowa-startowa .ns-fx-wrap:hover .ns-fx-nav:not([disabled]) { opacity: 1; }
    /* błysk przesuwający się po przycisku na hover */
    .nowa-startowa .ns-fx-nav::after {
        content: "";
        position: absolute;
        top: 0; bottom: 0;
        left: -60%;
        width: 40%;
        background: linear-gradient(115deg, transparent, rgba(255, 255, 255, .4), transparent);
        transform: skewX(-20deg);
        transition: left .5s ease;
        pointer-events: none;
    }
    .nowa-startowa .ns-fx-nav:hover::after { left: 130%; }
    .nowa-startowa .ns-fx-nav:hover {
        background: #171717;
        border-color: #171717;
        color: #fff;
        box-shadow: 0 12px 22px rgba(0, 0, 0, .28);
    }
    .nowa-startowa .ns-fx-nav:active { transform: translateY(-50%) scale(.94); }
    .nowa-startowa .ns-fx-nav[disabled] {
        opacity: 0;
        pointer-events: none;
    }
    .nowa-startowa .ns-fx-nav svg { width: 15px; height: 15px; transition: transform .16s ease; }
    .nowa-startowa .ns-fx-nav:hover svg { transform: scale(1.1); }
    .nowa-startowa .ns-fx-nav--prev { left: -10px; }
    .nowa-startowa .ns-fx-nav--next { right: -10px; }
    /* szersze widoki - jest miejsce poza kontenerem, przesuwamy strzałki na zewnątrz */
    @media (min-width: 1400px) {
        .nowa-startowa .ns-fx-nav--prev { left: -32px; }
        .nowa-startowa .ns-fx-nav--next { right: -32px; }
    }
    @media (max-width: 767.98px) {
        .nowa-startowa .ns-fx-nav { display: none; }
    }
    .nowa-startowa .ns-fx {
        flex: 0 0 auto;
        width: calc(100% / 6);
        min-width: 190px;
        padding: .8rem 1.1rem .9rem;
        border-left: 1px solid var(--ns-line);
        scroll-snap-align: start;
    }
    .nowa-startowa .ns-fx:first-child { border-left: 0; }
    .nowa-startowa .ns-fx.is-live { background: rgba(245, 107, 6, .06); }
    .nowa-startowa a.ns-fx { color: inherit; display: block; }
    .nowa-startowa a.ns-fx.is-live:hover { background: rgba(245, 107, 6, .14); }
    .nowa-startowa .ns-fx-watch {
        color: var(--ns-accent);
        font-weight: 700;
    }
    .nowa-startowa .ns-fx-top {
        display: flex;
        justify-content: space-between;
        align-items: center;
        gap: .4rem;
        margin-bottom: .5rem;
        font-size: .72rem;
        letter-spacing: .3px;
        color: #999;
    }
    .nowa-startowa .ns-fx-live {
        color: var(--ns-accent);
        font-weight: 700;
    }
    /* separator "/////" - pomarańczowa ukośna kreska, wygaszana ku krawędziom */
    .nowa-startowa .ns-fx-sep {
        height: 11px;
        margin: .65rem 0 .5rem;
        background:
            repeating-linear-gradient(-45deg,
                var(--ns-accent) 0 3px,
                transparent 3px 9px),
            repeating-linear-gradient(-45deg,
                rgba(245, 107, 6, .28) 4.5px 6px,
                transparent 6px 9px);
        -webkit-mask-image: linear-gradient(90deg, transparent, #000 16%, #000 84%, transparent);
                mask-image: linear-gradient(90deg, transparent, #000 16%, #000 84%, transparent);
    }
    .nowa-startowa .ns-fx.is-live .ns-fx-sep {
        -webkit-mask-image: none;
                mask-image: none;
    }
    /* separator jako przerywnik między sekcjami */
    .nowa-startowa .ns-sep-section {
        height: 13px;
        margin: 2.25rem 0 0;
    }
    .nowa-startowa .ns-fx-liga {
        text-align: center;
        font-size: .66rem;
        letter-spacing: .4px;
        color: #999;
        overflow: hidden;
        text-overflow: ellipsis;
        white-space: nowrap;
    }
    .nowa-startowa .ns-fx.is-next .ns-fx-date { color: var(--ns-ink); }
    .nowa-startowa .ns-fx-row {
        display: flex;
        justify-content: space-between;
        align-items: baseline;
        gap: .5rem;
        font-size: .92rem;
        padding: .16rem 0;
    }
    .nowa-startowa .ns-fx-team {
        overflow: hidden;
        text-overflow: ellipsis;
        white-space: nowrap;
    }
    .nowa-startowa .ns-fx-team a { color: inherit; }
    .nowa-startowa .ns-fx-team a:hover { color: var(--ns-accent) !important; }
    .nowa-startowa .ns-fx-pts {
        font-variant-numeric: tabular-nums;
        color: #888;
    }
    .nowa-startowa .ns-fx-row.is-win .ns-fx-team,
    .nowa-startowa .ns-fx-row.is-win .ns-fx-team a { color: var(--ns-accent); }
    .nowa-startowa .ns-fx-row.is-win .ns-fx-pts {
        color: var(--ns-accent);
        font-size: 1.05rem;
    }
    @media (prefers-reduced-motion: reduce) {
        .nowa-startowa .ns-fx-strip { scroll-behavior: auto; }
    }

    /* ---------- YOUTUBE (lekki) ---------- */
    .nowa-startowa .ns-yt-grid {
        display: grid;
        grid-template-columns: repeat(3, 1fr);
        gap: clamp(.7rem, 2vw, 1.25rem);
    }
    @media (min-width: 768px) and (max-width: 991.98px) {
        .nowa-startowa .ns-yt-grid { grid-template-columns: repeat(2, 1fr); }
    }
    @media (max-width: 767.98px) {
        .nowa-startowa .ns-yt-grid { grid-template-columns: 1fr; }
    }
    .nowa-startowa .ns-yt-card {
        display: flex;
        flex-direction: column;
        background: #fff;
        border: 1px solid var(--ns-line);
        color: inherit;
        transition: transform .2s ease, border-color .2s ease, box-shadow .2s ease;
    }
    .nowa-startowa a.ns-yt-card:hover {
        border-color: var(--ns-accent);
        transform: translateY(-3px);
        box-shadow: 0 12px 22px rgba(0, 0, 0, .1);
    }
    .nowa-startowa .ns-yt-media {
        position: relative;
        display: block;
        aspect-ratio: 16 / 9;
        overflow: hidden;
        background: #000;
    }
    .nowa-startowa .ns-yt-media img {
        width: 100%;
        height: 100%;
        object-fit: cover;
        display: block;
        transition: transform .35s ease;
    }
    .nowa-startowa a.ns-yt-card:hover .ns-yt-media img { transform: scale(1.05); }
    .nowa-startowa .ns-yt-media iframe {
        position: absolute;
        inset: 0;
        width: 100%;
        height: 100%;
        border: 0;
    }
    .nowa-startowa .ns-yt-play {
        position: absolute;
        left: 50%;
        top: 50%;
        transform: translate(-50%, -50%);
        width: 44px;
        height: 44px;
        display: flex;
        align-items: center;
        justify-content: center;
        color: #fff;
        background: rgba(0, 0, 0, .42);
        border: 1px solid rgba(255, 255, 255, .7);
        transition: background-color .2s ease, border-color .2s ease, transform .2s ease;
        pointer-events: none;
    }
    .nowa-startowa .ns-yt-play svg {
        width: 18px;
        height: 18px;
        margin-left: 2px;
    }
    .nowa-startowa a.ns-yt-card:hover .ns-yt-play {
        background: var(--ns-accent);
        border-color: var(--ns-accent);
        transform: translate(-50%, -50%) scale(1.08);
    }
    .nowa-startowa .ns-yt-title {
        padding: .6rem .8rem .7rem;
        font-family: 'Bree Serif', serif;
        text-transform: uppercase;
        font-size: .82rem;
        line-height: 1.25;
        letter-spacing: .2px;
        display: -webkit-box;
        -webkit-line-clamp: 2;
        -webkit-box-orient: vertical;
        overflow: hidden;
    }

    /* ---------- WSPÓLNY PANEL (Zawodnicy/Info + Partnerzy/Sponsorzy) ---------- */
    .nowa-startowa #ns-boxes .ns-panel + .ns-panel {
        margin-top: 1rem;
    }
    .nowa-startowa .ns-panel {
        background: #fff;
    }
    .nowa-startowa .ns-panel-inner {
        padding: 1.75rem clamp(1rem, 3vw, 2.5rem);
    }
    .nowa-startowa .ns-panel-title {
        text-align: center;
        margin: 0 0 1.25rem;
        padding-bottom: .55rem;
        position: relative;
        font-size: 1.05rem;
    }
    .nowa-startowa .ns-panel-title a { color: inherit; }
    .nowa-startowa .ns-panel-title::after {
        content: "";
        position: absolute;
        left: 50%;
        bottom: 0;
        width: 46px;
        height: 4px;
        background: var(--ns-accent);
        transform: translateX(-50%) skewX(-12deg);
    }
    .nowa-startowa .ns-panel-divider {
        height: 1px;
        background: var(--ns-line);
        margin: 1.6rem 0;
    }

    /* ---------- ZAWODNICY + PRZYDATNE INFORMACJE ---------- */
    .nowa-startowa .ns-info-pad {
        padding: 0 clamp(0px, 1.5vw, 1.25rem);
        height: 100%;
    }
    @media (min-width: 992px) {
        .nowa-startowa .ns-info-col--right { border-left: 1px solid var(--ns-line); }
    }
    @media (max-width: 991.98px) {
        .nowa-startowa .ns-info-col--right {
            border-top: 1px solid var(--ns-line);
            margin-top: 1.4rem;
            padding-top: 1.4rem;
        }
    }

    /* Zawodnicy - ranking (6 widocznych, reszta przewijana) */
    .nowa-startowa .ns-players {
        list-style: none;
        margin: 0;
        padding: 0;
        max-height: 24.75rem;
        overflow-y: auto;
        overscroll-behavior: contain;
        scrollbar-width: thin;
        scrollbar-color: var(--ns-line) transparent;
    }
    .nowa-startowa .ns-players::-webkit-scrollbar { width: 6px; }
    .nowa-startowa .ns-players::-webkit-scrollbar-thumb {
        background: var(--ns-line);
        border-radius: 3px;
    }
    .nowa-startowa .ns-player + .ns-player { border-top: 1px solid var(--ns-line); }
    .nowa-startowa .ns-player-link {
        display: flex;
        align-items: center;
        gap: .85rem;
        padding: .62rem .4rem;
        color: inherit;
        transition: background-color .18s ease, padding-left .18s ease;
    }
    .nowa-startowa .ns-player-link:hover {
        background: #faf6f2;
        padding-left: .8rem;
    }
    .nowa-startowa .ns-player-rank {
        flex: 0 0 auto;
        width: 27px;
        height: 27px;
        display: flex;
        align-items: center;
        justify-content: center;
        font-family: 'Bree Serif', serif;
        font-size: .82rem;
        color: #fff;
        background: var(--ns-ink);
    }
    .nowa-startowa .ns-player:nth-child(1) .ns-player-rank { background: var(--ns-accent); }
    .nowa-startowa .ns-player:nth-child(2) .ns-player-rank,
    .nowa-startowa .ns-player:nth-child(3) .ns-player-rank { background: #c8621a; }
    .nowa-startowa .ns-player-avatar {
        flex: 0 0 auto;
        width: 46px;
        height: 46px;
        border-radius: 50%;
        overflow: hidden;
        display: flex;
        align-items: center;
        justify-content: center;
        background: var(--ns-line);
        box-shadow: 0 0 0 1px var(--ns-line);
    }
    .nowa-startowa .ns-player-avatar img {
        width: 100%;
        height: 100%;
        object-fit: cover;
        transition: transform .2s ease;
    }
    .nowa-startowa .ns-player-link:hover .ns-player-avatar img { transform: scale(1.09); }
    .nowa-startowa .ns-player-initials {
        font-family: 'Bree Serif', serif;
        font-size: .9rem;
        color: #888;
    }
    .nowa-startowa .ns-player-meta {
        min-width: 0;
        display: flex;
        flex-direction: column;
        line-height: 1.18;
    }
    .nowa-startowa .ns-player-name {
        font-family: 'Bree Serif', serif;
        text-transform: uppercase;
        font-size: .92rem;
        letter-spacing: .2px;
        white-space: nowrap;
        overflow: hidden;
        text-overflow: ellipsis;
    }
    .nowa-startowa .ns-player-team {
        font-size: .78rem;
        color: #8a8a8a;
        white-space: nowrap;
        overflow: hidden;
        text-overflow: ellipsis;
    }

    /* Przydatne informacje - lista chipów */
    .nowa-startowa .ns-links {
        list-style: none;
        margin: 0;
        padding: 0;
        display: flex;
        flex-direction: column;
        gap: .5rem;
    }
    .nowa-startowa .ns-link {
        display: flex;
        align-items: center;
        justify-content: space-between;
        gap: .75rem;
        padding: .65rem .8rem;
        border: 1px solid var(--ns-line);
        color: #444;
        font-family: 'Bree Serif', serif;
        text-transform: uppercase;
        font-size: .78rem;
        letter-spacing: .2px;
        transition: transform .18s ease, background-color .18s ease, color .18s ease, border-color .18s ease;
    }
    .nowa-startowa .ns-link .ns-link-text {
        overflow: hidden;
        text-overflow: ellipsis;
        white-space: nowrap;
    }
    .nowa-startowa .ns-link svg {
        flex: 0 0 auto;
        transition: transform .18s ease;
    }
    .nowa-startowa .ns-link:hover,
    .nowa-startowa .ns-link.is-active {
        background: var(--ns-accent);
        border-color: var(--ns-accent);
        color: #fff !important;
        transform: translateX(4px);
    }
    .nowa-startowa .ns-link:hover svg { transform: translateX(3px); }

    /* ---------- CTA WRONBA (sponsoring / zgłoszenie / kontakt) ---------- */
    .nowa-startowa .ns-cta-grid {
        display: grid;
        grid-template-columns: repeat(3, 1fr);
        gap: clamp(.6rem, 2vw, 1.1rem);
    }
    @media (max-width: 767.98px) {
        .nowa-startowa .ns-cta-grid { grid-template-columns: 1fr; }
    }
    .nowa-startowa .ns-cta {
        display: flex;
        flex-direction: column;
        align-items: center;
        text-align: center;
        gap: .55rem;
        padding: 1.7rem 1rem;
        border: 1px solid var(--ns-line);
        color: #444;
        transition: transform .22s ease, background-color .22s ease, color .22s ease, border-color .22s ease, box-shadow .22s ease;
    }
    .nowa-startowa .ns-cta__icon {
        width: 54px;
        height: 54px;
        display: flex;
        align-items: center;
        justify-content: center;
        color: var(--ns-accent);
        border: 1px solid currentColor;
        transition: color .22s ease, border-color .22s ease, transform .22s ease;
    }
    .nowa-startowa .ns-cta__icon svg {
        width: 26px;
        height: 26px;
        display: block;
    }
    .nowa-startowa .ns-cta__title {
        font-family: 'Bree Serif', serif;
        text-transform: uppercase;
        letter-spacing: .3px;
        font-size: .92rem;
    }
    .nowa-startowa .ns-cta__desc {
        font-size: .78rem;
        color: #8a8a8a;
        text-transform: none;
        letter-spacing: 0;
        font-weight: 400;
        font-family: system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
    }
    .nowa-startowa .ns-cta:hover {
        color: #fff !important;
        background: var(--ns-accent);
        border-color: var(--ns-accent);
        transform: translateY(-5px);
        box-shadow: 0 14px 26px rgba(245, 107, 6, .28);
    }
    .nowa-startowa .ns-cta:hover .ns-cta__icon {
        color: #fff;
        border-color: rgba(255, 255, 255, .6);
        transform: rotate(-6deg) scale(1.06);
    }
    .nowa-startowa .ns-cta:hover .ns-cta__desc { color: rgba(255, 255, 255, .85); }

    /* ---------- PARTNERZY + SPONSORZY ---------- */
    /* Partnerzy - kafelki social */
    .nowa-startowa .ns-psp-socials {
        display: flex;
        flex-wrap: wrap;
        justify-content: center;
        gap: clamp(.6rem, 2vw, 1.25rem);
    }
    /* pierwotny rozmiar/układ (ikona nad etykietą) - tylko błysk na hover dołożony,
       bez skew */
    .nowa-startowa .ns-psp-socials a {
        position: relative;
        flex: 1 1 0;
        min-width: 120px;
        max-width: 210px;
        display: flex;
        flex-direction: column;
        align-items: center;
        gap: .5rem;
        padding: 1.1rem .75rem;
        border: 1px solid var(--ns-line);
        color: #555;
        overflow: hidden;
        transition: transform .22s ease, background-color .22s ease, color .22s ease, border-color .22s ease, box-shadow .22s ease;
    }
    .nowa-startowa .ns-psp-socials a span {
        font-family: 'Bree Serif', serif;
        text-transform: uppercase;
        letter-spacing: .3px;
        font-size: .78rem;
    }
    /* błysk przesuwający się po kafelku na hover */
    .nowa-startowa .ns-psp-socials a::after {
        content: "";
        position: absolute;
        top: 0; bottom: 0;
        left: -60%;
        width: 40%;
        background: linear-gradient(115deg, transparent, rgba(255, 255, 255, .35), transparent);
        transform: skewX(-20deg);
        transition: left .5s ease;
        pointer-events: none;
    }
    .nowa-startowa .ns-psp-socials a:hover::after { left: 130%; }
    .dark-mode .nowa-startowa .ns-psp-socials a { border-color: #444; color: #bbb; }
    .nowa-startowa .ns-psp-socials a:hover {
        color: #fff !important;
        background: var(--ns-accent);
        border-color: var(--ns-accent);
        transform: translateY(-5px);
        box-shadow: 0 12px 22px rgba(245, 107, 6, .28);
    }
    /* mobile: 3 ikonki sociali zawsze w jednym rzędzie */
    @media (max-width: 575.98px) {
        .nowa-startowa .ns-psp-socials {
            flex-wrap: nowrap;
            gap: .5rem;
        }
        .nowa-startowa .ns-psp-socials a {
            flex: 1 1 0;
            min-width: 0;
            max-width: none;
            padding: .85rem .35rem;
        }
        .nowa-startowa .ns-psp-socials a svg { width: 28px; height: 28px; }
        .nowa-startowa .ns-psp-socials a span { font-size: .66rem; }
    }

    /* Sponsorzy - przewijająca się wstęga logotypów */
    .nowa-startowa .ns-marquee {
        overflow: hidden;
        -webkit-mask-image: linear-gradient(90deg, transparent, #000 7%, #000 93%, transparent);
                mask-image: linear-gradient(90deg, transparent, #000 7%, #000 93%, transparent);
    }
    .nowa-startowa .ns-marquee-track {
        display: flex;
        align-items: stretch;
        width: max-content;
        animation: ns-marquee 34s linear infinite;
    }
    .nowa-startowa .ns-marquee:hover .ns-marquee-track {
        animation-play-state: paused;
    }
    .nowa-startowa .ns-marquee-item {
        flex: 0 0 auto;
        display: flex;
        align-items: center;
        justify-content: center;
        width: 168px;
        height: 78px;
        margin-right: 1rem;
        padding: 12px 20px;
        background: #fff;
        border: 1px solid var(--ns-line);
    }
    .nowa-startowa .ns-marquee-item img {
        max-width: 100%;
        max-height: 100%;
        object-fit: contain;
        filter: grayscale(1);
        opacity: .72;
        transition: filter .25s ease, opacity .25s ease, transform .25s ease;
    }
    .nowa-startowa a.ns-marquee-item:hover img {
        filter: grayscale(0);
        opacity: 1;
        transform: scale(1.07);
    }
    @keyframes ns-marquee {
        from { transform: translateX(0); }
        to   { transform: translateX(-50%); }
    }
    @media (prefers-reduced-motion: reduce) {
        .nowa-startowa .ns-marquee-track { animation: none; }
        .nowa-startowa .ns-marquee { overflow-x: auto; }
    }

    /* CTA: zostań partnerem / sponsorem */
    .nowa-startowa .ns-psp-cta-kicker {
        color: var(--ns-accent);
        font-size: .76rem;
        letter-spacing: .5px;
    }
    .nowa-startowa .ns-psp-cta h4 {
        font-size: 1.15rem;
        margin: 0;
    }
    .nowa-startowa .ns-psp-cta-lead {
        max-width: 620px;
        margin-inline: auto;
        color: #666;
        text-transform: none;
        font-weight: 400;
        letter-spacing: 0;
        font-family: system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
        font-size: .95rem;
    }
    /* przyciski CTA - ten sam fancy styl co .ns-gd-nav (statystyki/rozkład rzutów/
       akcja na stronie meczu): mocniejszy skew, obramowanie, błysk na hover */
    .nowa-startowa .ns-psp-cta .wronba-btn-red,
    .nowa-startowa .ns-psp-cta .ns-more {
        position: relative;
        overflow: hidden;
        font-family: 'Bree Serif', serif;
        text-transform: uppercase;
        letter-spacing: .3px;
        transform: skew(-9deg);
        transition: background-color .16s ease, color .16s ease, border-color .16s ease, transform .16s ease, box-shadow .16s ease;
    }
    .nowa-startowa .ns-psp-cta .wronba-btn-red {
        border: 1px solid var(--ns-accent);
        padding: .78rem 1.6rem;
    }
    .nowa-startowa .ns-psp-cta .ns-more {
        display: inline-block;
        padding: .78rem 1.6rem;
        border: 1px solid var(--ns-ink);
        font-size: 1rem;
        color: var(--ns-ink) !important;
        text-decoration: none !important;
    }
    .dark-mode .nowa-startowa .ns-psp-cta .ns-more { color: #eee !important; border-color: #eee; }
    /* błysk przesuwający się po przycisku na hover */
    .nowa-startowa .ns-psp-cta .wronba-btn-red::after,
    .nowa-startowa .ns-psp-cta .ns-more::after {
        content: "";
        position: absolute;
        top: 0; bottom: 0;
        left: -60%;
        width: 40%;
        background: linear-gradient(115deg, transparent, rgba(255, 255, 255, .4), transparent);
        transform: skewX(-20deg);
        transition: left .5s ease;
        pointer-events: none;
    }
    .nowa-startowa .ns-psp-cta .wronba-btn-red:hover::after,
    .nowa-startowa .ns-psp-cta .ns-more:hover::after { left: 130%; }
    .nowa-startowa .ns-psp-cta .wronba-btn-red:hover {
        background: #171717;
        border-color: #171717;
        transform: skew(-9deg) translateY(-3px);
        box-shadow: 0 12px 22px rgba(0, 0, 0, .25);
    }
    .nowa-startowa .ns-psp-cta .ns-more:hover {
        background: var(--ns-ink);
        border-color: var(--ns-ink);
        color: #fff !important;
        transform: skew(-9deg) translateY(-3px);
        box-shadow: 0 12px 22px rgba(0, 0, 0, .18);
    }
    .dark-mode .nowa-startowa .ns-psp-cta .ns-more:hover { background: var(--ns-accent); border-color: var(--ns-accent); }

    /* ---------- responsywność ---------- */
    @media (max-width: 575.98px) {
        .nowa-startowa .ns-section { margin-top: 2.25rem; }
    }

    /* ---------- dark mode ---------- */
    .dark-mode .nowa-startowa .ns-badge { background: #000; border: 1px solid #333; }
    .dark-mode .nowa-startowa .ns-score-card {
        background: #2b2b2b;
        border-color: #444;
        color: #ddd;
    }
    .dark-mode .nowa-startowa .ns-news-lead__lead { color: #aaa; }
    .dark-mode .nowa-startowa .ns-news-lead__media,
    .dark-mode .nowa-startowa .ns-news-item__media { background: #333; }
    .dark-mode .nowa-startowa .ns-panel { background: #2b2b2b; }
    .dark-mode .nowa-startowa .ns-panel-divider { background: #444; }
    .dark-mode .nowa-startowa .ns-psp-cta-lead { color: #aaa; }
    /* logo sponsorow maja biale tlo - w dark mode odwracamy, zeby wtopic je w ciemny panel */
    .dark-mode .nowa-startowa .ns-marquee-item { background: #1e1e1e; border-color: #3a3a3a; }
    .dark-mode .nowa-startowa .ns-marquee-item img {
        filter: grayscale(1) invert(1) brightness(1.1);
        opacity: .7;
    }
    .dark-mode .nowa-startowa a.ns-marquee-item:hover img {
        filter: invert(1) hue-rotate(180deg);
        opacity: 1;
    }
    .dark-mode .nowa-startowa .ns-info-col--right { border-color: #444; }
    .dark-mode .nowa-startowa .ns-player + .ns-player { border-color: #444; }
    .dark-mode .nowa-startowa .ns-player-link:hover { background: #343434; }
    .dark-mode .nowa-startowa .ns-player-team { color: #999; }
    .dark-mode .nowa-startowa .ns-link { border-color: #444; color: #bbb; }
    .dark-mode .nowa-startowa .ns-cta { border-color: #444; color: #bbb; }
    .dark-mode .nowa-startowa .ns-cta__desc { color: #999; }
    .dark-mode .nowa-startowa .ns-yt-card { background: #2b2b2b; border-color: #444; }
    .dark-mode .nowa-startowa .ns-fx-strip,
    .dark-mode .nowa-startowa .ns-fx { border-color: #444; }
    .dark-mode .nowa-startowa .ns-fx.is-live { background: rgba(245, 107, 6, .12); }
    .dark-mode .nowa-startowa .ns-fx.is-next .ns-fx-date { color: #eee; }
    .dark-mode .nowa-startowa .ns-fx-nav {
        background: var(--ns-accent);
        border-color: var(--ns-accent);
        color: #fff;
    }
    .dark-mode .nowa-startowa .ns-fx-nav:hover {
        background: #000;
        border-color: #000;
    }

/* ============================================================
   2. HEADER + NAWIGACJA (ładowane globalnie na każdej stronie)
   (dawniej: nowa_startowa/_header_styles.blade.php)
   ============================================================ */

    /* ================= HEADER + NAV (tylko /nowa-startowa) ================= */
    /* nowy header nie jest fixed - zerujemy kompensację z globalnego CSS */
    /* nowy header w normalnym flow (tylko .ns-nav jest sticky) - zerujemy kompensacje starego fixed-header z wronba_v1_24.css */
    main { margin-top: 0 !important; }
    body { overflow-x: clip; }

    /* --- header: koncepcja wronba2.pl, lżejsza --- */
    .ns-header {
        margin: 0;
        background: linear-gradient(100deg, #dd5f0a 0%, #f56b06 55%, #f98a30 100%);
        color: #fff;
    }
    .ns-header__topline {
        height: 12px;
        background: #171717;
    }
    .ns-header__bar {
        height: 5px;
        background: #c4530a;
    }
    .ns-header__inner {
        position: relative;
        display: flex;
        align-items: center;
        justify-content: space-between;
        gap: 1rem 1.75rem;
        padding: 1.15rem 2rem;
        flex-wrap: wrap;
    }
    /* białe naroża - motyw "rectangle" z wronba2, subtelne */
    .ns-header__corner {
        position: absolute;
        width: 15px;
        height: 15px;
        border: 2px solid rgba(255, 255, 255, .75);
        pointer-events: none;
    }
    .ns-header__corner--tl { top: 6px; left: 6px; border-right: 0; border-bottom: 0; }
    .ns-header__corner--tr { top: 6px; right: 6px; border-left: 0; border-bottom: 0; }
    .ns-header__corner--bl { bottom: 6px; left: 6px; border-right: 0; border-top: 0; }
    .ns-header__corner--br { bottom: 6px; right: 6px; border-left: 0; border-top: 0; }

    .ns-header__brand {
        display: flex;
        align-items: center;
        flex: 0 0 auto;
        color: #fff;
    }
    .ns-header__logo {
        height: 132px;
        width: auto;
        display: block;
    }
    .ns-header__main {
        display: flex;
        flex-direction: column;
        align-items: flex-start;
        gap: .35rem;
    }
    .ns-header__name {
        margin: 0;
        /* skaluje się płynnie w całym widocznym zakresie (>=1200px, xl) - 3.4rem
           przy xxl (1400px) w dół do ok. 2.97rem tuż przed przejściem w tryb kompaktowy (1200px) */
        font-size: clamp(2.5rem, .34rem + 3.5vw, 3.4rem);
        line-height: .96;
        text-transform: uppercase;
        letter-spacing: .5px;
        color: #fff;
        /* "grubszy" krój - Bree Serif ma jedną wagę, pogrubiamy obrysem */
        -webkit-text-stroke: .9px #fff;
        text-stroke: .9px #fff;
        paint-order: stroke fill;
        text-shadow: 2px 3px 7px rgba(0, 0, 0, .4);
    }
    .ns-header__season {
        margin: 0;
        font-size: clamp(1.15rem, .95rem + .8vw, 1.65rem);
        color: rgba(255, 255, 255, .95);
        font-family: 'Bree Serif', serif;
        text-shadow: 1px 1px 3px rgba(0, 0, 0, .3);
    }
    .ns-header__pill {
        position: relative;
        overflow: hidden;
        display: inline-block;
        margin-top: .35rem;
        padding: .6rem 1.7rem;
        background: rgba(0, 0, 0, .26);
        color: #fff !important;
        font-size: clamp(.88rem, .78rem + .35vw, 1.05rem);
        letter-spacing: .5px;
        transform: skew(-6deg);
        transition: background-color .25s ease, box-shadow .25s ease;
    }
    /* błysk przesuwający się po przycisku na hover - jak strzałki slidera (.ns-fx-nav) */
    .ns-header__pill::after {
        content: "";
        position: absolute;
        top: 0; bottom: 0;
        left: -60%;
        width: 40%;
        background: linear-gradient(115deg, transparent, rgba(255, 255, 255, .4), transparent);
        transform: skewX(-20deg);
        transition: left .5s ease;
        pointer-events: none;
    }
    .ns-header__pill:hover::after { left: 130%; }
    .ns-header__pill:hover {
        color: #fff !important;
        background: rgba(0, 0, 0, .5);
        box-shadow: 0 0 14px rgba(0, 0, 0, .25);
    }
    /* na desktopie (>=1200px, xl) nazwa zawsze w jednej linii - jest miejsce;
       poniżej tego progu header i tak przechodzi w tryb kompaktowy (patrz niżej),
       więc .ns-header__name w ogóle się tu nie renderuje */
    @media (min-width: 1200px) {
        .ns-header__name { white-space: nowrap; }
    }
    .ns-header__actions {
        display: flex;
        flex-direction: column;
        align-items: flex-end;
        gap: .45rem;
        align-self: flex-start;
    }
    .ns-header__icons,
    .ns-header__langs {
        display: flex;
        gap: .45rem;
    }
    .ns-header__icon {
        position: relative;
        overflow: hidden;
        width: 34px;
        height: 34px;
        display: flex;
        align-items: center;
        justify-content: center;
        border: 1px solid rgba(255, 255, 255, .5);
        color: #fff;
        transition: transform .18s ease, background-color .18s ease, color .18s ease, border-color .18s ease;
    }
    .ns-header__icon svg { width: 16px; height: 16px; }
    /* błysk przesuwający się po ikonce na hover - jak strzałki slidera (.ns-fx-nav) */
    .ns-header__icon::after {
        content: "";
        position: absolute;
        top: 0; bottom: 0;
        left: -60%;
        width: 40%;
        background: linear-gradient(115deg, transparent, rgba(255, 255, 255, .5), transparent);
        transform: skewX(-20deg);
        transition: left .5s ease;
        pointer-events: none;
    }
    .ns-header__icon:hover::after { left: 130%; }
    .ns-header__icon:hover {
        color: #fff !important;
        background: #171717;
        border-color: #171717;
        transform: translateY(-2px);
    }
    /* przełącznik języka - kwadraty jak sociale: pomarańczowe tło, czarny hover; PL/EN mocno pogrubione */
    .ns-header__lang {
        min-width: 34px;
        height: 34px;
        padding: 0 .35rem;
        display: flex;
        align-items: center;
        justify-content: center;
        border: 1px solid rgba(255, 255, 255, .5);
        background: transparent;
        color: #fff !important;
        font-family: 'Bree Serif', serif;
        font-size: .86rem;
        font-weight: 700;
        letter-spacing: .6px;
        -webkit-text-stroke: .5px currentColor;
        text-stroke: .5px currentColor;
        paint-order: stroke fill;
        transition: transform .18s ease, background-color .18s ease, color .18s ease, border-color .18s ease;
    }
    .ns-header__lang:hover {
        color: #fff !important;
        background: #171717;
        border-color: #171717;
        transform: translateY(-2px);
    }
    .ns-header__lang.is-active {
        cursor: default;
        text-decoration: underline;
        text-underline-offset: 3px;
    }
    .ns-header__lang.is-active:hover {
        background: transparent;
        border-color: rgba(255, 255, 255, .5);
        transform: none;
    }
    /* 3ci rząd akcji - kafelek z flagą (szybka zmiana języka); ukryty na mobile razem z .ns-header__actions */
    .ns-header__flags {
        display: flex;
        gap: .45rem;
    }
    .ns-header__flag {
        width: 34px;
        height: 34px;
        display: flex;
        align-items: center;
        justify-content: center;
        border: 1px solid rgba(255, 255, 255, .5);
        transition: transform .18s ease, border-color .18s ease, background-color .18s ease;
    }
    .ns-header__flag span {
        font-size: 1.15rem;           /* emotikon nieco większy niż tekst PL/EN */
        line-height: 1;
    }
    .ns-header__flag:hover {
        background: #171717;
        border-color: #171717;
        transform: translateY(-2px);
    }
    /* desktop (>=1200px, xl): logo lekko maleje na progu xxl->xl,
       zanim header przejdzie w tryb kompaktowy poniżej xl */
    @media (max-width: 1399.98px) { .ns-header__logo { height: 122px; } }
    @media (max-width: 1199.98px) {
        /* MOBILE (< xl, obejmuje też lg 992-1199px): kompaktowy, przyklejony header -
           tylko logo + burger (po prawej). container-xxl jest płynny poniżej 1400px,
           więc w lg (992-1199px) pełny header (logo+napis+akcje) nie mieścił się w rzędzie -
           ten zakres dostaje więc ten sam kompaktowy widok co reszta mobile.
           Nazwa ligi, "Wrocław sezon N", pill i akcje są w menu pełnoekranowym. */
        .ns-header {
            position: sticky;
            top: 0;
            z-index: 1035;
        }
        .ns-header__topline { height: 3px; }
        .ns-header__bar { height: 2px; }
        .ns-header__inner {
            padding: 0 1rem;
            padding-right: 78px;            /* miejsce na burger po prawej */
            gap: 0;
            flex-wrap: nowrap;
            align-items: center;
            justify-content: flex-start;
        }
        .ns-header__logo { height: 104px; }
        .ns-header__main,
        .ns-header__actions { display: none; }
        .ns-header__corner { display: none; }
    }
    @media (max-width: 767.98px) {
        .ns-header__logo { height: 92px; }
    }
    @media (max-width: 575.98px) {
        .ns-header__inner { padding: 0 .85rem; padding-right: 72px; }
        .ns-header__logo { height: 82px; }
    }
    @media (max-width: 359.98px) {
        .ns-header__inner { padding-right: 66px; }
        .ns-header__logo { height: 70px; }
    }

    /* --- nav: lekki, przyklejony --- */
    .ns-nav.navbar {
        background: rgba(255, 255, 255, .92);
        backdrop-filter: saturate(1.4) blur(6px);
        border-top: 1px solid #efefef;
        border-bottom: 1px solid #efefef;
        padding: 0;
        position: sticky;
        top: 0;
        z-index: 1030;
    }
    .ns-nav .container-xxl { align-items: stretch; }

    /* --- hamburger (mobile) --- */
    .ns-nav__toggler {
        display: none;
        align-items: center;
        gap: .6rem;
        margin: .55rem 0;
        padding: .5rem .8rem .5rem .65rem;
        background: transparent;
        border: 1px solid rgba(0, 0, 0, .18);
        color: #2a2a2a;
        cursor: pointer;
        transition: border-color .18s ease, color .18s ease, background-color .18s ease;
    }
    .ns-nav__toggler:hover { border-color: var(--main-color, #f56b06); color: #111; }
    .ns-nav__burger {
        position: relative;
        width: 22px;
        height: 14px;
        flex: 0 0 auto;
    }
    .ns-nav__burger i {
        position: absolute;
        left: 0;
        width: 100%;
        height: 2px;
        background: currentColor;
        transition: transform .25s ease, opacity .2s ease, top .25s ease;
    }
    .ns-nav__burger i:nth-child(1) { top: 0; }
    .ns-nav__burger i:nth-child(2) { top: 6px; }
    .ns-nav__burger i:nth-child(3) { top: 12px; }
    .ns-nav__toggler.is-active .ns-nav__burger i:nth-child(1) { top: 6px; transform: rotate(45deg); }
    .ns-nav__toggler.is-active .ns-nav__burger i:nth-child(2) { opacity: 0; }
    .ns-nav__toggler.is-active .ns-nav__burger i:nth-child(3) { top: 6px; transform: rotate(-45deg); }
    .ns-nav__toggler-txt {
        font-size: .8rem;
        letter-spacing: .5px;
    }

    /* elementy tylko dla menu pełnoekranowego */
    .ns-nav__panel-head,
    .ns-nav__panel-foot,
    .ns-nav__close,
    .ns-nav__zone,
    .ns-nav__extra,
    .ns-nav__langs { display: none; }

    .ns-nav__list {
        gap: 0 .15rem;
        align-items: stretch;
    }
    /* "WRO-LIKE-NBA" - mocniej pogrubione niz reszta (Bree Serif ma jedna wage - obrys);
       dosuniete do prawej krawedzi paska (tylko desktop) */
    .ns-nav__item--right .ns-nav__link {
        -webkit-text-stroke: .6px currentColor;
        text-stroke: .6px currentColor;
        paint-order: stroke fill;
    }
    @media (min-width: 1200px) {
        .ns-nav__list { flex: 1 1 auto; }
        .ns-nav__item--right { margin-left: auto; }
    }
    .ns-nav__link {
        position: relative;
        display: flex;
        align-items: center;
        padding: 1.3rem 1.15rem;
        color: #3a3a3a;
        font-size: .95rem;
        letter-spacing: .35px;
        transition: color .18s ease;
    }
    .ns-nav__link::after {
        content: "";
        position: absolute;
        left: .95rem;
        right: .95rem;
        bottom: 0;
        height: 2px;
        background: var(--main-color, #f56b06);
        transform: scaleX(0);
        transform-origin: left;
        transition: transform .2s ease;
    }
    .ns-nav__link:hover { color: #111 !important; }
    .ns-nav__link:hover::after,
    .ns-nav__link.is-active::after { transform: scaleX(1); }
    .ns-nav__link.is-active { color: #111; }
    .ns-nav__link--accent { color: var(--main-color, #f56b06); }
    .ns-nav__link.dropdown-toggle::after { margin-left: .4rem; }

    .ns-nav__menu.dropdown-menu {
        background: #fff;
        border: 1px solid #e6e6e6;
        border-radius: 0;
        padding: .25rem 0;
        margin-top: 0;
        box-shadow: 0 14px 26px rgba(0, 0, 0, .08);
        font-family: 'Bree Serif', serif;
        text-transform: uppercase;
        font-size: .76rem;
    }
    .ns-nav__menu .dropdown-item {
        padding: .5rem 1.1rem;
        color: #444;
    }
    .ns-nav__menu .dropdown-item:hover,
    .ns-nav__menu .dropdown-item:focus {
        background: #f1f1f1;
        color: #111;
    }
    /* Statystyki - rozwijane na hover (desktop), klik zostaje jako fallback */
    @media (min-width: 1200px) {
        .ns-nav__drop:hover > .ns-nav__menu {
            display: block;
        }
    }
    /* ================= MENU MOBILNE - pełny ekran (poniżej xl, 1200px) ================= */
    @media (max-width: 1199.98px) {
        body.ns-nav-open { overflow: hidden; }

        /* Pasek nawigacji znika - zostaje sam burger wpięty w prawy górny róg headera.
           backdrop-filter zdjęty (tworzył "containing block" dla position:fixed panelu). */
        .ns-nav.navbar {
            position: absolute;
            top: 0;
            right: 0;
            bottom: 0;                 /* pełna wysokość headera - do wyśrodkowania burgera */
            width: auto;
            display: flex;
            align-items: center;
            padding: 0;
            background: none;
            border: 0;
            box-shadow: none;
            overflow: visible;
            backdrop-filter: none;
            -webkit-backdrop-filter: none;
            z-index: 6;
        }
        .ns-nav > .container-xxl {
            display: flex;
            align-items: center;
            width: auto;
            max-width: none;
            margin: 0;
            padding: 0;
            overflow: visible;
        }
        /* navbar-expand-lg z Bootstrapa przełącza .navbar-collapse w display:flex już
           od lg (992px), ale header ma tryb kompaktowy aż do xl (1200px) - w zakresie
           992-1199px override'ujemy więc Bootstrapowe zachowanie i trzymamy panel
           jako ukryty overlay (reguła niżej), żeby był spójny z headerem */
        .ns-nav__toggler {
            display: inline-flex;
            align-items: center;
            margin: 0 14px 0 0;
            padding: .65rem .7rem;
            background: rgba(0, 0, 0, .24);
            border: 1px solid rgba(255, 255, 255, .65);
            color: #fff;
        }
        .ns-nav__toggler:hover {
            background: rgba(0, 0, 0, .38);
            border-color: #fff;
            color: #fff;
        }
        .ns-nav__toggler-txt { display: none; }   /* sam burger, bez napisu "Menu" */
        /* większy hamburger */
        .ns-nav__burger { width: 30px; height: 20px; }
        .ns-nav__burger i { height: 3px; }
        .ns-nav__burger i:nth-child(2) { top: 8px; }
        .ns-nav__burger i:nth-child(3) { top: 17px; }
        .ns-nav__toggler.is-active .ns-nav__burger i:nth-child(1) { top: 8px; }
        .ns-nav__toggler.is-active .ns-nav__burger i:nth-child(3) { top: 8px; }

        .ns-nav__panel {
            position: fixed;
            inset: 0;
            z-index: 1080;
            display: flex !important;
            flex-direction: column;
            padding: 1.1rem clamp(1.25rem, 6vw, 2.75rem) 2rem;
            background:
                radial-gradient(1100px 420px at 12% -8%, rgba(245, 107, 6, .38), transparent 62%),
                linear-gradient(160deg, #1c1c1c 0%, #171717 55%, #241606 100%);
            color: #fff;
            overflow-y: auto;
            overscroll-behavior: contain;
            opacity: 0;
            visibility: hidden;
            transform: translateY(-12px);
            transition: opacity .3s ease, transform .3s ease, visibility .3s ease;
        }
        .ns-nav__panel.is-open {
            opacity: 1;
            visibility: visible;
            transform: none;
        }

        .ns-nav__panel-head {
            display: grid;
            grid-template-columns: 1fr auto 1fr; /* PL 20px z lewej, X wyśrodkowany, EN 20px z prawej */
            align-items: center;
            width: 100%; /* .ns-nav__panel ma align-items:center, więc bez tego rząd
                            kurczyłby się do treści i cała paczka byłaby ściśnięta
                            na środku zamiast rozciągać się od krawędzi do krawędzi */
            padding: 0 20px 1rem;
            margin-bottom: .4rem;
            border-bottom: 1px solid rgba(255, 255, 255, .14);
        }
        .ns-nav__panel-head .ns-nav__lang:first-child { justify-self: start; }
        .ns-nav__panel-head .ns-nav__close { justify-self: center; }
        .ns-nav__panel-head .ns-nav__lang:last-child { justify-self: end; }
        .ns-nav__close {
            display: inline-flex;
            align-items: center;
            justify-content: center;
            width: 42px;
            height: 42px;
            background: transparent;
            border: 1px solid rgba(255, 255, 255, .35);
            color: #fff;
            cursor: pointer;
            transition: background-color .18s ease, border-color .18s ease, transform .18s ease;
        }
        .ns-nav__close:hover {
            background: var(--main-color, #f56b06);
            border-color: var(--main-color, #f56b06);
            transform: rotate(90deg);
        }

        /* zamknięcie na dole menu - wycentrowane, jak górny przycisk */
        .ns-nav__panel-foot {
            display: flex;
            justify-content: center;
            padding-top: 1.2rem;
            margin-top: .2rem;
            border-top: 1px solid rgba(255, 255, 255, .14);
        }

        .ns-nav__panel .ns-nav__list {
            flex-direction: column;
            align-items: stretch;
            gap: 0;
            margin: .4rem 0 0;
            width: 100%;
        }
        .ns-nav__panel .nav-item { border-bottom: 1px solid rgba(255, 255, 255, .10); }
        .ns-nav__panel .nav-item:first-child { border-top: 1px solid rgba(255, 255, 255, .10); }

        .ns-nav__panel .ns-nav__link {
            padding: 1.15rem .25rem;
            font-size: clamp(1.35rem, 1rem + 2.6vw, 1.9rem);
            color: rgba(255, 255, 255, .9);
            letter-spacing: .5px;
        }
        .ns-nav__panel.is-open .nav-item {
            opacity: 0;
            transform: translateY(10px);
            animation: ns-nav-in .38s ease forwards;
        }
        .ns-nav__panel.is-open .nav-item:nth-child(1) { animation-delay: .06s; }
        .ns-nav__panel.is-open .nav-item:nth-child(2) { animation-delay: .10s; }
        .ns-nav__panel.is-open .nav-item:nth-child(3) { animation-delay: .14s; }
        .ns-nav__panel.is-open .nav-item:nth-child(4) { animation-delay: .18s; }
        .ns-nav__panel.is-open .nav-item:nth-child(5) { animation-delay: .22s; }
        .ns-nav__panel.is-open .nav-item:nth-child(6) { animation-delay: .26s; }
        @keyframes ns-nav-in { to { opacity: 1; transform: none; } }
        .ns-nav__panel .ns-nav__link::after {
            left: .25rem;
            right: auto;
            width: 34px;
            height: 3px;
            background: var(--main-color, #f56b06);
        }
        .ns-nav__panel .ns-nav__link:hover,
        .ns-nav__panel .ns-nav__link.is-active { color: #fff !important; }
        .ns-nav__panel .ns-nav__link--accent { color: var(--main-color, #f56b06); }
        .ns-nav__panel .ns-nav__link.dropdown-toggle::after { display: none; }

        /* podmenu Statystyki - rozwinięte na stałe, wcięte */
        .ns-nav__panel .ns-nav__drop { position: static; }
        .ns-nav__panel .ns-nav__menu.dropdown-menu {
            position: static !important;
            transform: none !important;
            display: block;
            float: none;
            inset: auto !important;
            width: 100%;
            margin: 0 0 .6rem;
            padding: 0 0 .4rem .9rem;
            background: transparent;
            border: 0;
            box-shadow: none;
        }
        .ns-nav__panel .ns-nav__menu .dropdown-item {
            padding: .5rem .25rem;
            color: rgba(255, 255, 255, .62);
            font-size: .9rem;
        }
        .ns-nav__panel .ns-nav__menu .dropdown-item:hover,
        .ns-nav__panel .ns-nav__menu .dropdown-item:focus {
            background: transparent;
            color: var(--main-color, #f56b06);
        }

        /* Strefa zawodnika / trenera - CTA w menu (przeniesione z headera) */
        .ns-nav__zone {
            display: block;
            margin: .3rem 0 .2rem;
            padding: .95rem 1.35rem;
            text-align: center;
            text-transform: uppercase;
            letter-spacing: .5px;
            font-size: 1.02rem;
            color: #fff !important;
            background: var(--main-color, #f56b06);
            border: 2px solid var(--main-color, #f56b06);
            transform: skew(-6deg);
            transition: background-color .18s ease, transform .18s ease;
        }
        .ns-nav__zone:hover {
            background: transparent;
            transform: skew(-6deg) translateY(-2px);
        }

        /* stopka menu - motyw + social + język (same ikony, bez podpisów) */
        .ns-nav__extra {
            display: flex;
            gap: .55rem;
            margin-top: auto;
            padding-top: 1.3rem;
            border-top: 1px solid rgba(255, 255, 255, .14);
        }
        .ns-nav__extra-icon {
            width: 46px;
            height: 46px;
            display: inline-flex;
            align-items: center;
            justify-content: center;
            border: 1px solid rgba(255, 255, 255, .3);
            color: #fff;
            transition: background-color .18s ease, border-color .18s ease, transform .18s ease;
        }
        .ns-nav__extra-icon svg { width: 18px; height: 18px; }
        .ns-nav__extra-icon:hover {
            color: #fff !important;
            background: var(--main-color, #f56b06);
            border-color: var(--main-color, #f56b06);
            transform: translateY(-2px);
        }

        /* przełącznik języka w menu pełnoekranowym - pod ikonami */
        .ns-nav__langs {
            display: flex;
            gap: .55rem;
            padding-top: 1rem;
            margin-top: .2rem;
        }
        .ns-nav__lang {
            min-width: 46px;
            height: 46px;
            padding: 0 .5rem;
            display: inline-flex;
            align-items: center;
            justify-content: center;
            border: 1px solid rgba(255, 255, 255, .3);
            color: #fff !important;
            font-family: 'Bree Serif', serif;
            font-size: 1.05rem;
            font-weight: 700;
            letter-spacing: .6px;
            -webkit-text-stroke: .5px currentColor;
            text-stroke: .5px currentColor;
            paint-order: stroke fill;
            transition: background-color .18s ease, border-color .18s ease, transform .18s ease;
        }
        .ns-nav__lang:hover { border-color: rgba(255, 255, 255, .7); transform: translateY(-2px); }
        .ns-nav__lang.is-active {
            background: var(--main-color, #f56b06);
            border-color: var(--main-color, #f56b06);
            cursor: default;
        }
        .ns-nav__lang.is-active:hover { transform: none; }

        @media (prefers-reduced-motion: reduce) {
            .ns-nav__panel { transition: opacity .001s; transform: none; }
            .ns-nav__panel.is-open .nav-item { animation: none; opacity: 1; transform: none; }
        }
    }

    /* --- dark mode nav (header zostaje pomarańczowy) --- */
    .dark-mode .ns-header {
        background: linear-gradient(100deg, #b64d08 0%, #d65c07 55%, #dd7522 100%);
    }
    .dark-mode .ns-nav.navbar {
        background: rgba(20, 20, 20, .92);
        border-color: #2c2c2c;
    }
    .dark-mode .ns-nav__link { color: #ccc; }
    .dark-mode .ns-nav__menu.dropdown-menu { background: #222; border-color: #444; }
    .dark-mode .ns-nav__menu .dropdown-item { color: #ccc; }

/* ============================================================
   3. STOPKA (ciemna, wspólna dla całego serwisu)
   (dawniej: nowa_startowa/_footer_styles.blade.php)
   ============================================================ */

    /* ================= STOPKA (ciemna, wspólna dla całego serwisu) ================= */
    .ns-footer {
        background: #171717;
        color: #cfcfcf;
        margin-top: 4.5rem;
    }
    .ns-footer__bar {
        height: 4px;
        background: var(--main-color, #f56b06);
    }
    .ns-footer__inner {
        padding: 3rem 0 2.25rem;
        display: flex;
        flex-direction: column;
        gap: 1.5rem;
    }
    .ns-footer__top {
        display: flex;
        justify-content: space-between;
        align-items: center;
        flex-wrap: wrap;
        gap: 1.25rem;
    }
    .ns-footer__brand {
        display: flex;
        flex-direction: column;
        align-items: flex-start;
        gap: .35rem;
        line-height: 1.25;
    }
    .ns-footer__name {
        font-size: 1.5rem;
        letter-spacing: 1.5px;
        color: #fff;
    }
    .ns-footer__tag {
        font-size: .88rem;
        color: #9a9a9a;
    }
    .ns-footer__admin {
        display: inline-flex;
        margin-top: .1rem;
        color: #9a9a9a;
        cursor: default;
    }
    .ns-footer__admin svg {
        width: 12px;
        height: 12px;
    }
    .ns-footer__right {
        display: flex;
        flex-direction: column;
        align-items: flex-end;
        gap: 1.1rem;
    }
    .ns-footer__logo {
        display: block;
        height: 180px;
        width: auto;
        max-width: 100%;
        object-fit: contain;
    }
    .ns-footer__social {
        display: flex;
        gap: .55rem;
    }
    .ns-footer__social a {
        position: relative;
        overflow: hidden;
        width: 42px;
        height: 42px;
        display: flex;
        align-items: center;
        justify-content: center;
        border: 1px solid rgba(255, 255, 255, .22);
        color: #cfcfcf;
        transition: transform .2s ease, background-color .2s ease, color .2s ease, border-color .2s ease;
    }
    /* błysk przesuwający się po ikonce na hover - jak strzałki slidera (.ns-fx-nav) */
    .ns-footer__social a::after {
        content: "";
        position: absolute;
        top: 0; bottom: 0;
        left: -60%;
        width: 40%;
        background: linear-gradient(115deg, transparent, rgba(255, 255, 255, .4), transparent);
        transform: skewX(-20deg);
        transition: left .5s ease;
        pointer-events: none;
    }
    .ns-footer__social a:hover::after { left: 130%; }
    .ns-footer__social a:hover {
        color: #fff !important;
        background: var(--main-color, #f56b06);
        border-color: var(--main-color, #f56b06);
        transform: translateY(-3px);
    }
    .ns-footer__social svg {
        width: 20px;
        height: 20px;
    }
    .ns-footer__nav {
        display: flex;
        flex-wrap: wrap;
        gap: .55rem 1.4rem;
        margin-top: -3.25rem;
        padding-right: 200px;
        font-size: .86rem;
        letter-spacing: .3px;
    }
    @media (max-width: 767.98px) {
        .ns-footer { margin-top: 3rem; }
        .ns-footer__inner {
            padding: 2.25rem 0 1.75rem;
            gap: 1.25rem;
            text-align: center;
        }
        .ns-footer__top {
            flex-direction: column;
            align-items: center;
            gap: 1.25rem;
        }
        .ns-footer__brand {
            align-items: center;
            text-align: center;
        }
        .ns-footer__name { font-size: 1.3rem; }
        .ns-footer__right {
            align-items: center;
            gap: .9rem;
        }
        .ns-footer__logo { height: 120px; }
        .ns-footer__social { gap: .6rem; }
        .ns-footer__nav {
            margin-top: 0;
            padding-right: 0;
            justify-content: center;
            gap: .5rem 1.1rem;
        }
        .ns-footer__copy { font-size: .78rem; }
    }
    @media (max-width: 400px) {
        .ns-footer__social a { width: 38px; height: 38px; }
        .ns-footer__logo { height: 100px; }
        .ns-footer__nav {
            gap: .4rem .9rem;
            font-size: .82rem;
        }
    }
    .ns-footer__nav a {
        position: relative;
        color: #cfcfcf;
        padding-bottom: 3px;
        transition: color .18s ease;
    }
    .ns-footer__nav a::after {
        content: "";
        position: absolute;
        left: 0;
        bottom: 0;
        width: 0;
        height: 2px;
        background: var(--main-color, #f56b06);
        transition: width .2s ease;
    }
    .ns-footer__nav a:hover { color: var(--main-color, #f56b06) !important; }
    .ns-footer__nav a:hover::after { width: 100%; }
    .ns-footer__copy {
        margin: 0;
        font-size: .8rem;
        color: #8a8a8a;
    }
    .ns-footer__bottom {
        display: flex;
        justify-content: space-between;
        align-items: flex-start;
        flex-wrap: wrap;
        gap: .6rem 2rem;
        padding-top: 1.2rem;
        border-top: 1px solid #333;
    }
    .ns-footer__cookies {
        margin: 0;
        font-size: .84rem;
        line-height: 1.6;
        color: #808080;
        max-width: 960px;
    }
    .ns-footer__made {
        margin: 0;
        font-size: .82rem;
        color: #808080;
        white-space: nowrap;
    }
    .ns-footer__made a {
        color: #808080;
        transition: color .18s ease;
    }
    .ns-footer__made a:hover {
        color: var(--main-color, #f56b06);
    }

    /* mobile: cały dolny pasek stopki w kolumnie, "made with heart" wyśrodkowane
       (reguły PO bazowych - inaczej @media nie wygrywa kolejnością) */
    @media (max-width: 767.98px) {
        .ns-footer__bottom {
            flex-direction: column;
            align-items: center;
            gap: .9rem;
            text-align: center;
        }
        .ns-footer__cookies {
            padding: 0 1rem;
            font-size: .8rem;
            text-align: justify;
        }
        .ns-footer__made {
            width: 100%;
            white-space: normal;
            text-align: center;
        }
    }

/* ============================================================
   4. STRONY PODGLĄDOWE (/terminarz-fancy-*, /tabele-fancy-*, /kontakt-fancy-*)
   (dawniej: nowa_startowa/podglad/_podglad_styles.blade.php)
   ============================================================ */

    .nowa-startowa .ns-pg-lead {
        color: #6a6a6a;
        font-family: system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
        text-transform: none;
        letter-spacing: 0;
        font-weight: 400;
        max-width: 62ch;
    }
    .dark-mode .nowa-startowa .ns-pg-lead { color: #a6a6a6; }

    .nowa-startowa .ns-pg-note {
        display: inline-flex;
        align-items: center;
        gap: .4rem;
        margin-bottom: 1.25rem;
        padding: .3rem .7rem;
        font-size: .72rem;
        letter-spacing: .3px;
        background: rgba(245, 107, 6, .1);
        color: var(--ns-accent);
        font-family: 'Bree Serif', serif;
        text-transform: uppercase;
    }

    /* ====================== TOOLBAR / FILTRY (sticky) ====================== */
    .nowa-startowa .ns-pg-toolbar {
        position: sticky;
        top: 60px;
        z-index: 20;
        display: flex;
        flex-wrap: wrap;
        align-items: center;
        gap: .6rem;
        margin: 1rem 0 1.75rem;
        padding: .7rem .85rem;
        background: rgba(255, 255, 255, .96);
        border: 1px solid var(--ns-line);
        backdrop-filter: saturate(1.3) blur(5px);
    }
    .dark-mode .nowa-startowa .ns-pg-toolbar {
        background: rgba(30, 30, 30, .96);
        border-color: #3d3d3d;
    }
    .nowa-startowa .ns-pg-toolbar .form-select,
    .nowa-startowa .ns-pg-toolbar .form-control {
        border-radius: 0;
        border-color: var(--ns-line);
        font-family: 'Bree Serif', serif;
        text-transform: uppercase;
        font-size: .8rem;
        min-height: 42px;
        width: auto;
        min-width: 190px;
    }
    .nowa-startowa .ns-pg-toolbar .form-select:focus,
    .nowa-startowa .ns-pg-toolbar .form-control:focus {
        border-color: var(--ns-accent);
        box-shadow: 0 0 0 .18rem rgba(245, 107, 6, .18);
    }
    .nowa-startowa .ns-pg-toolbar__label {
        font-family: 'Bree Serif', serif;
        text-transform: uppercase;
        font-size: .72rem;
        letter-spacing: .4px;
        color: #999;
        margin-right: .1rem;
    }
    .nowa-startowa .ns-pg-chip {
        display: inline-flex;
        align-items: center;
        gap: .4rem;
        padding: .5rem .9rem;
        min-height: 42px;
        border: 1px solid var(--ns-ink);
        background: var(--ns-ink);
        color: #fff !important;
        font-family: 'Bree Serif', serif;
        text-transform: uppercase;
        font-size: .74rem;
        letter-spacing: .3px;
        transition: transform .18s ease, background-color .18s ease, border-color .18s ease;
    }
    .nowa-startowa .ns-pg-chip:hover {
        background: var(--ns-accent);
        border-color: var(--ns-accent);
        transform: translateY(-2px);
    }
    .nowa-startowa .ns-pg-chip--ghost {
        background: transparent;
        color: var(--ns-ink) !important;
    }
    .dark-mode .nowa-startowa .ns-pg-chip--ghost { color: #ddd !important; border-color: #555; }
    .nowa-startowa .ns-pg-toolbar__spacer { margin-left: auto; }
    .nowa-startowa .ns-pg-count {
        font-family: 'Bree Serif', serif;
        text-transform: uppercase;
        font-size: .74rem;
        color: #8a8a8a;
        white-space: nowrap;
    }
    .nowa-startowa .ns-pg-count b { color: var(--ns-accent); }

    @media (max-width: 991.98px) {
        .nowa-startowa .ns-pg-toolbar { top: 0; }
    }
    @media (max-width: 575.98px) {
        .nowa-startowa .ns-pg-toolbar { gap: .5rem; padding: .6rem; }
        .nowa-startowa .ns-pg-toolbar .form-select,
        .nowa-startowa .ns-pg-toolbar .form-control { min-width: 0; flex: 1 1 100%; }
        .nowa-startowa .ns-pg-toolbar__spacer { margin-left: 0; flex-basis: 100%; }
    }

    /* ====================== NAGLOWEK DATY / GRUPY ====================== */
    .nowa-startowa .ns-pg-daterow {
        display: flex;
        align-items: baseline;
        justify-content: space-between;
        gap: 1rem;
        flex-wrap: wrap;
        margin: 2.25rem 0 .9rem;
    }
    .nowa-startowa .ns-pg-date {
        margin: 0;
        font-family: 'Bree Serif', serif;
        text-transform: uppercase;
        font-size: clamp(1.1rem, .9rem + 1vw, 1.5rem);
        position: relative;
        padding-bottom: .45rem;
    }
    .nowa-startowa .ns-pg-date::after {
        content: "";
        position: absolute;
        left: 0;
        bottom: 0;
        width: 46px;
        height: 4px;
        background: var(--ns-accent);
        transform: skewX(-12deg);
    }
    .nowa-startowa .ns-pg-date small {
        display: block;
        font-size: .68rem;
        letter-spacing: .5px;
        color: #9a9a9a;
        margin-top: .2rem;
    }
    .nowa-startowa .ns-pg-date--next span {
        margin-left: .5rem;
        padding: .1rem .5rem;
        font-size: .6rem;
        background: var(--ns-accent);
        color: #fff;
        vertical-align: middle;
    }

    /* ====================== TERMINARZ v1 - "tabela" jako grid ====================== */
    .nowa-startowa .ns-fxt {
        border: 1px solid var(--ns-line);
        background: #fff;
    }
    .dark-mode .nowa-startowa .ns-fxt { background: #262626; border-color: #3d3d3d; }
    .nowa-startowa .ns-fxt__head,
    .nowa-startowa .ns-fxt__row {
        display: grid;
        grid-template-columns: 44px 62px minmax(0, 1fr) 92px minmax(0, 1fr) 160px 46px;
        align-items: center;
        gap: .6rem;
        padding: .55rem .9rem;
    }
    .nowa-startowa .ns-fxt__head {
        font-family: 'Bree Serif', serif;
        text-transform: uppercase;
        font-size: .66rem;
        letter-spacing: .4px;
        color: #9a9a9a;
        border-bottom: 2px solid var(--ns-ink);
    }
    .nowa-startowa .ns-fxt__row + .ns-fxt__row { border-top: 1px solid var(--ns-line); }
    .dark-mode .nowa-startowa .ns-fxt__row + .ns-fxt__row { border-color: #3a3a3a; }
    .nowa-startowa .ns-fxt__row {
        font-size: .9rem;
        transition: background-color .16s ease;
    }
    .nowa-startowa .ns-fxt__row:hover { background: #faf4ef; }
    .dark-mode .nowa-startowa .ns-fxt__row:hover { background: #2f2f2f; }
    .nowa-startowa .ns-fxt__row.is-live { background: rgba(245, 107, 6, .08); }
    .nowa-startowa .ns-fxt__nr {
        font-family: 'Bree Serif', serif;
        color: #b5b5b5;
        font-size: .8rem;
    }
    .nowa-startowa .ns-fxt__time { color: #7a7a7a; font-variant-numeric: tabular-nums; }
    .nowa-startowa .ns-fxt__home { text-align: right; }
    .nowa-startowa .ns-fxt__team {
        font-family: 'Bree Serif', serif;
        text-transform: uppercase;
        font-size: .86rem;
        overflow: hidden;
        text-overflow: ellipsis;
        white-space: nowrap;
    }
    .nowa-startowa .ns-fxt__team a { color: inherit; }
    .nowa-startowa .ns-fxt__team a:hover { color: var(--ns-accent) !important; }
    .nowa-startowa .ns-fxt__score {
        text-align: center;
        font-family: 'Bree Serif', serif;
        font-variant-numeric: tabular-nums;
        letter-spacing: .5px;
        white-space: nowrap;
    }
    .nowa-startowa .ns-fxt__score a { color: inherit; }
    .nowa-startowa .ns-fxt__score .w { color: var(--ns-accent); }
    .nowa-startowa .ns-fxt__score--soon { color: #b0b0b0; font-size: .8rem; }
    .nowa-startowa .ns-fxt__meta {
        font-size: .72rem;
        color: #9a9a9a;
        overflow: hidden;
        text-overflow: ellipsis;
        white-space: nowrap;
    }
    .nowa-startowa .ns-fxt__go {
        justify-self: end;
        width: 30px;
        height: 30px;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        border: 1px solid var(--ns-line);
        color: var(--ns-ink);
        transition: background-color .16s ease, color .16s ease, border-color .16s ease;
    }
    .dark-mode .nowa-startowa .ns-fxt__go { color: #ddd; border-color: #555; }
    .nowa-startowa .ns-fxt__go:hover {
        background: var(--ns-accent);
        border-color: var(--ns-accent);
        color: #fff !important;
    }
    .nowa-startowa .ns-fxt__live {
        display: inline-block;
        font-family: 'Bree Serif', serif;
        font-size: .62rem;
        letter-spacing: .5px;
        color: var(--ns-accent);
    }

    /* label pomocniczy (widoczny tylko w wersji kart / mobile) */
    .nowa-startowa .ns-fxt__row [data-l]::before { content: none; }

    @media (max-width: 860px) {
        .nowa-startowa .ns-fxt { border: 0; background: transparent; }
        .nowa-startowa .ns-fxt__head { display: none; }
        .nowa-startowa .ns-fxt__row {
            grid-template-columns: 1fr auto 1fr;
            grid-template-areas:
                "meta  meta  meta"
                "home  score away"
                "foot  foot  foot";
            gap: .35rem .6rem;
            padding: .85rem .95rem;
            border: 1px solid var(--ns-line);
            background: #fff;
        }
        .dark-mode .nowa-startowa .ns-fxt__row { background: #262626; border-color: #3d3d3d; }
        .nowa-startowa .ns-fxt__row + .ns-fxt__row { border-top: 1px solid var(--ns-line); margin-top: .5rem; }
        .dark-mode .nowa-startowa .ns-fxt__row + .ns-fxt__row { border-color: #3d3d3d; }
        .nowa-startowa .ns-fxt__nr,
        .nowa-startowa .ns-fxt__time,
        .nowa-startowa .ns-fxt__meta { display: none; }
        .nowa-startowa .ns-fxt__meta-line {
            grid-area: meta;
            display: flex;
            gap: .5rem;
            align-items: center;
            font-size: .68rem;
            letter-spacing: .3px;
            color: #9a9a9a;
            font-family: 'Bree Serif', serif;
            text-transform: uppercase;
        }
        .nowa-startowa .ns-fxt__home { grid-area: home; text-align: left; }
        .nowa-startowa .ns-fxt__away { grid-area: away; text-align: right; }
        .nowa-startowa .ns-fxt__team { font-size: 1rem; white-space: normal; }
        .nowa-startowa .ns-fxt__score { grid-area: score; font-size: 1.15rem; align-self: center; }
        .nowa-startowa .ns-fxt__foot {
            grid-area: foot;
            display: flex;
            justify-content: space-between;
            align-items: center;
            margin-top: .35rem;
            padding-top: .5rem;
            border-top: 1px dashed var(--ns-line);
            font-size: .7rem;
            color: #9a9a9a;
        }
        .nowa-startowa .ns-fxt__go { justify-self: auto; }
    }
    @media (min-width: 861px) {
        .nowa-startowa .ns-fxt__meta-line,
        .nowa-startowa .ns-fxt__foot { display: none; }
    }

    /* ====================== TERMINARZ v2 - scoreboardy ====================== */
    .nowa-startowa .ns-band {
        width: 100vw;
        margin-left: 50%;
        transform: translateX(-50%);
        padding: 1rem max(1.25rem, calc((100vw - 1280px) / 2));
        background: #171717;
        color: #fff;
        display: flex;
        align-items: center;
        justify-content: space-between;
        gap: 1rem;
        flex-wrap: wrap;
        margin-top: 2.5rem;
    }
    .nowa-startowa .ns-band__date {
        margin: 0;
        font-family: 'Bree Serif', serif;
        text-transform: uppercase;
        font-size: clamp(1.15rem, .95rem + 1vw, 1.7rem);
        letter-spacing: .5px;
    }
    .nowa-startowa .ns-band__date span { color: var(--ns-accent); }
    .nowa-startowa .ns-band__meta {
        font-family: 'Bree Serif', serif;
        text-transform: uppercase;
        font-size: .72rem;
        letter-spacing: .4px;
        color: #b5b5b5;
    }
    .nowa-startowa .ns-sb-grid {
        display: grid;
        grid-template-columns: repeat(auto-fill, minmax(320px, 1fr));
        gap: clamp(.7rem, 2vw, 1.1rem);
        margin-top: 1.1rem;
    }
    @media (max-width: 400px) {
        .nowa-startowa .ns-sb-grid { grid-template-columns: 1fr; }
    }
    .nowa-startowa .ns-sb {
        position: relative;
        display: block;
        border: 1px solid var(--ns-line);
        background: #fff;
        color: inherit;
        padding: .9rem 1rem 1rem;
        overflow: hidden;
        transition: transform .2s ease, box-shadow .2s ease, border-color .2s ease;
    }
    .dark-mode .nowa-startowa .ns-sb { background: #262626; border-color: #3d3d3d; }
    .nowa-startowa a.ns-sb:hover {
        transform: translateY(-4px);
        border-color: var(--ns-accent);
        box-shadow: 0 16px 30px rgba(0, 0, 0, .12);
    }
    .nowa-startowa .ns-sb::before {
        content: "";
        position: absolute;
        left: 0;
        top: 0;
        bottom: 0;
        width: 4px;
        background: var(--ns-line);
    }
    .nowa-startowa .ns-sb.is-live::before { background: var(--ns-accent); }
    .nowa-startowa .ns-sb.is-home::before { background: linear-gradient(#f56b06 50%, var(--ns-line) 50%); }
    .nowa-startowa .ns-sb.is-away::before { background: linear-gradient(var(--ns-line) 50%, #f56b06 50%); }
    .nowa-startowa .ns-sb__top {
        display: flex;
        justify-content: space-between;
        align-items: center;
        font-family: 'Bree Serif', serif;
        text-transform: uppercase;
        font-size: .66rem;
        letter-spacing: .4px;
        color: #9a9a9a;
        margin-bottom: .6rem;
    }
    .nowa-startowa .ns-sb__live {
        color: var(--ns-accent);
        display: inline-flex;
        align-items: center;
        gap: .35rem;
    }
    .nowa-startowa .ns-sb__live::before {
        content: "";
        width: 7px;
        height: 7px;
        border-radius: 50%;
        background: var(--ns-accent);
        animation: ns-pg-pulse 1.4s ease-in-out infinite;
    }
    @keyframes ns-pg-pulse { 0%,100% { opacity: 1; } 50% { opacity: .25; } }
    @media (prefers-reduced-motion: reduce) {
        .nowa-startowa .ns-sb__live::before { animation: none; }
    }
    .nowa-startowa .ns-sb__side {
        display: grid;
        grid-template-columns: 34px minmax(0, 1fr) auto;
        align-items: center;
        gap: .65rem;
        padding: .3rem 0;
    }
    .nowa-startowa .ns-sb__crest {
        width: 34px;
        height: 34px;
        border-radius: 50%;
        display: flex;
        align-items: center;
        justify-content: center;
        background: var(--ns-line);
        color: #666;
        font-family: 'Bree Serif', serif;
        font-size: .74rem;
    }
    .dark-mode .nowa-startowa .ns-sb__crest { background: #3a3a3a; color: #bbb; }
    .nowa-startowa .ns-sb__name {
        font-family: 'Bree Serif', serif;
        text-transform: uppercase;
        font-size: .92rem;
        overflow: hidden;
        text-overflow: ellipsis;
        white-space: nowrap;
    }
    .nowa-startowa .ns-sb__pts {
        font-family: 'Bree Serif', serif;
        font-size: 1.5rem;
        font-variant-numeric: tabular-nums;
        color: #9a9a9a;
        min-width: 2ch;
        text-align: right;
    }
    .nowa-startowa .ns-sb__side.w .ns-sb__name,
    .nowa-startowa .ns-sb__side.w .ns-sb__pts { color: var(--ns-accent); }
    .nowa-startowa .ns-sb__side.w .ns-sb__crest { background: var(--ns-accent); color: #fff; }
    .nowa-startowa .ns-sb__div {
        display: flex;
        align-items: center;
        gap: .6rem;
        margin: .1rem 0;
        font-family: 'Bree Serif', serif;
        font-size: .6rem;
        letter-spacing: .5px;
        color: #b5b5b5;
    }
    .nowa-startowa .ns-sb__div::before,
    .nowa-startowa .ns-sb__div::after {
        content: "";
        flex: 1;
        height: 1px;
        background: var(--ns-line);
    }
    .nowa-startowa .ns-sb__foot {
        display: flex;
        justify-content: space-between;
        align-items: center;
        margin-top: .7rem;
        padding-top: .6rem;
        border-top: 1px dashed var(--ns-line);
        font-family: 'Bree Serif', serif;
        text-transform: uppercase;
        font-size: .66rem;
        letter-spacing: .3px;
        color: #9a9a9a;
    }
    .nowa-startowa .ns-sb__watch { color: var(--ns-accent); }

    /* ====================== TABELE v1 ====================== */
    .nowa-startowa .ns-tbl {
        border: 1px solid var(--ns-line);
        background: #fff;
        margin-bottom: 1.5rem;
    }
    .dark-mode .nowa-startowa .ns-tbl { background: #262626; border-color: #3d3d3d; }
    .nowa-startowa .ns-tbl__cap {
        display: flex;
        align-items: baseline;
        gap: .6rem;
        flex-wrap: wrap;
        padding: .8rem 1rem;
        border-bottom: 2px solid var(--ns-ink);
    }
    .nowa-startowa .ns-tbl__league {
        font-family: 'Bree Serif', serif;
        text-transform: uppercase;
        font-size: .7rem;
        letter-spacing: .4px;
        color: var(--ns-accent);
    }
    .nowa-startowa .ns-tbl__group {
        font-family: 'Bree Serif', serif;
        text-transform: uppercase;
        font-size: 1rem;
    }
    .nowa-startowa .ns-tr {
        display: grid;
        grid-template-columns: 40px minmax(0, 1fr) 52px 52px 72px 96px 118px;
        align-items: center;
        gap: .5rem;
        padding: .5rem 1rem;
        font-size: .9rem;
    }
    .nowa-startowa .ns-tr--head {
        font-family: 'Bree Serif', serif;
        text-transform: uppercase;
        font-size: .62rem;
        letter-spacing: .3px;
        color: #9a9a9a;
    }
    .nowa-startowa .ns-tr + .ns-tr { border-top: 1px solid var(--ns-line); }
    .dark-mode .nowa-startowa .ns-tr + .ns-tr { border-color: #3a3a3a; }
    .nowa-startowa .ns-tr--body:hover { background: #faf4ef; }
    .dark-mode .nowa-startowa .ns-tr--body:hover { background: #2f2f2f; }
    .nowa-startowa .ns-tr__rank {
        width: 26px;
        height: 26px;
        display: flex;
        align-items: center;
        justify-content: center;
        background: var(--ns-ink);
        color: #fff;
        font-family: 'Bree Serif', serif;
        font-size: .78rem;
    }
    .nowa-startowa .ns-tr--body:nth-of-type(2) .ns-tr__rank { background: var(--ns-accent); }
    .nowa-startowa .ns-tr--body:nth-of-type(3) .ns-tr__rank,
    .nowa-startowa .ns-tr--body:nth-of-type(4) .ns-tr__rank { background: #c8621a; }
    .nowa-startowa .ns-tr.is-promo { box-shadow: inset 3px 0 0 dodgerblue; }
    .nowa-startowa .ns-tr.is-releg { box-shadow: inset 3px 0 0 orangered; }
    .nowa-startowa .ns-tr__team {
        display: flex;
        align-items: center;
        gap: .5rem;
        font-family: 'Bree Serif', serif;
        text-transform: uppercase;
        font-size: .88rem;
        min-width: 0;
    }
    .nowa-startowa .ns-tr__team a {
        color: inherit;
        overflow: hidden;
        text-overflow: ellipsis;
        white-space: nowrap;
    }
    .nowa-startowa .ns-tr__team a:hover { color: var(--ns-accent) !important; }
    .nowa-startowa .ns-tr__num { text-align: center; font-variant-numeric: tabular-nums; color: #777; }
    .nowa-startowa .ns-tr__pts {
        text-align: center;
        font-family: 'Bree Serif', serif;
        font-size: 1rem;
        color: var(--ns-ink);
    }
    .dark-mode .nowa-startowa .ns-tr__pts { color: #eee; }
    .nowa-startowa .ns-tr__diff { text-align: center; font-variant-numeric: tabular-nums; }
    .nowa-startowa .ns-tr__diff.pos { color: #1f9d55; }
    .nowa-startowa .ns-tr__diff.neg { color: #d9480f; }
    .nowa-startowa .ns-tr__balance { text-align: center; font-variant-numeric: tabular-nums; color: #777; font-size: .82rem; }
    .nowa-startowa .ns-tr__live {
        width: 8px;
        height: 8px;
        border-radius: 50%;
        background: var(--ns-accent);
        display: inline-block;
        margin-right: .35rem;
        animation: ns-pg-pulse 1.4s ease-in-out infinite;
    }
    .nowa-startowa .ns-tbl__legend {
        display: flex;
        flex-wrap: wrap;
        gap: .5rem 1.1rem;
        padding: .7rem 1rem;
        border-top: 1px solid var(--ns-line);
        font-family: 'Bree Serif', serif;
        text-transform: uppercase;
        font-size: .66rem;
        letter-spacing: .3px;
        color: #8a8a8a;
    }
    .nowa-startowa .ns-tbl__legend i {
        width: 22px;
        height: 3px;
        display: inline-block;
        vertical-align: middle;
        margin-right: .35rem;
    }

    @media (max-width: 720px) {
        .nowa-startowa .ns-tr {
            grid-template-columns: 34px minmax(0, 1fr) auto;
            grid-template-areas:
                "rank team team"
                "rank sub  sub";
            row-gap: .3rem;
        }
        .nowa-startowa .ns-tr--head { display: none; }
        .nowa-startowa .ns-tr__rank { grid-area: rank; align-self: start; }
        .nowa-startowa .ns-tr__team { grid-area: team; }
        .nowa-startowa .ns-tr__num,
        .nowa-startowa .ns-tr__balance { display: none; }
        .nowa-startowa .ns-tr__sub {
            grid-area: sub;
            display: flex;
            gap: .9rem;
            font-family: 'Bree Serif', serif;
            text-transform: uppercase;
            font-size: .66rem;
            letter-spacing: .3px;
            color: #8a8a8a;
        }
        .nowa-startowa .ns-tr__sub b { color: var(--ns-accent); font-size: .8rem; }
        .nowa-startowa .ns-tr__pts,
        .nowa-startowa .ns-tr__diff { grid-area: sub; display: none; }
    }
    @media (min-width: 721px) {
        .nowa-startowa .ns-tr__sub { display: none; }
    }

    /* ====================== TABELE v2 ====================== */
    .nowa-startowa .ns-tv2 {
        border: 1px solid var(--ns-line);
        background: #fff;
        margin-bottom: 1.75rem;
    }
    .dark-mode .nowa-startowa .ns-tv2 { background: #242424; border-color: #3d3d3d; }
    .nowa-startowa .ns-tv2__cap {
        background: #171717;
        color: #fff;
        padding: .9rem 1.1rem;
        display: flex;
        align-items: baseline;
        gap: .7rem;
        flex-wrap: wrap;
    }
    .nowa-startowa .ns-tv2__cap .lg {
        font-family: 'Bree Serif', serif;
        text-transform: uppercase;
        font-size: .68rem;
        letter-spacing: .5px;
        color: var(--ns-accent);
    }
    .nowa-startowa .ns-tv2__cap .gp {
        font-family: 'Bree Serif', serif;
        text-transform: uppercase;
        font-size: 1.15rem;
        letter-spacing: .5px;
    }
    .nowa-startowa .ns-tv2__zone {
        padding: .3rem 1.1rem;
        font-family: 'Bree Serif', serif;
        text-transform: uppercase;
        font-size: .6rem;
        letter-spacing: .5px;
    }
    .nowa-startowa .ns-tv2__zone.promo { background: rgba(30, 144, 255, .12); color: #1c6fb8; }
    .nowa-startowa .ns-tv2__zone.releg { background: rgba(255, 69, 0, .1); color: #c0390c; }
    .nowa-startowa .ns-rw {
        display: grid;
        grid-template-columns: 46px minmax(0, 1.5fr) minmax(120px, 1fr) 60px 88px;
        align-items: center;
        gap: .75rem;
        padding: .6rem 1.1rem;
        position: relative;
    }
    .nowa-startowa .ns-rw + .ns-rw { border-top: 1px solid var(--ns-line); }
    .dark-mode .nowa-startowa .ns-rw + .ns-rw { border-color: #383838; }
    .nowa-startowa .ns-rw--head {
        font-family: 'Bree Serif', serif;
        text-transform: uppercase;
        font-size: .6rem;
        letter-spacing: .3px;
        color: #9a9a9a;
    }
    .nowa-startowa .ns-rw--body { transition: background-color .16s ease; }
    .nowa-startowa .ns-rw--body:hover { background: #faf3ed; }
    .dark-mode .nowa-startowa .ns-rw--body:hover { background: #2d2d2d; }
    .nowa-startowa .ns-rw.top1 { background: linear-gradient(90deg, rgba(245,107,6,.12), transparent 60%); }
    .nowa-startowa .ns-rw.top3::after {
        content: "";
        position: absolute;
        left: 0; top: 0; bottom: 0;
        width: 3px;
        background: var(--ns-accent);
    }
    .nowa-startowa .ns-rw__rank {
        display: flex;
        align-items: center;
        gap: .3rem;
        font-family: 'Bree Serif', serif;
        font-size: 1.15rem;
        color: #c0c0c0;
    }
    .nowa-startowa .ns-rw.top3 .ns-rw__rank { color: var(--ns-accent); }
    .nowa-startowa .ns-rw__team {
        display: flex;
        align-items: center;
        gap: .6rem;
        min-width: 0;
    }
    .nowa-startowa .ns-rw__crest {
        width: 32px;
        height: 32px;
        flex: 0 0 auto;
        border-radius: 50%;
        background: var(--ns-line);
        color: #666;
        display: flex;
        align-items: center;
        justify-content: center;
        font-family: 'Bree Serif', serif;
        font-size: .72rem;
    }
    .dark-mode .nowa-startowa .ns-rw__crest { background: #3a3a3a; color: #bbb; }
    .nowa-startowa .ns-rw.top1 .ns-rw__crest { background: var(--ns-accent); color: #fff; }
    .nowa-startowa .ns-rw__name {
        font-family: 'Bree Serif', serif;
        text-transform: uppercase;
        font-size: .9rem;
        overflow: hidden;
        text-overflow: ellipsis;
        white-space: nowrap;
    }
    .nowa-startowa .ns-rw__name a { color: inherit; }
    .nowa-startowa .ns-rw__name a:hover { color: var(--ns-accent) !important; }
    .nowa-startowa .ns-rw__sub {
        font-family: system-ui, -apple-system, sans-serif;
        text-transform: none;
        letter-spacing: 0;
        font-size: .72rem;
        color: #9a9a9a;
    }
    .nowa-startowa .ns-form {
        display: flex;
        gap: 3px;
        align-items: center;
    }
    .nowa-startowa .ns-form span {
        width: 16px;
        height: 16px;
        display: flex;
        align-items: center;
        justify-content: center;
        font-family: 'Bree Serif', serif;
        font-size: .58rem;
        color: #fff;
        background: #c9c9c9;
    }
    .nowa-startowa .ns-form span.w { background: #1f9d55; }
    .nowa-startowa .ns-form span.l { background: #d9480f; }
    .nowa-startowa .ns-form small {
        margin-left: .35rem;
        font-family: 'Bree Serif', serif;
        font-size: .68rem;
        color: #9a9a9a;
    }
    .nowa-startowa .ns-rw__pts {
        text-align: center;
        font-family: 'Bree Serif', serif;
        font-size: 1.35rem;
        color: var(--ns-ink);
        font-variant-numeric: tabular-nums;
    }
    .dark-mode .nowa-startowa .ns-rw__pts { color: #eee; }
    .nowa-startowa .ns-rw__diffwrap { text-align: right; }
    .nowa-startowa .ns-rw__diff {
        font-family: 'Bree Serif', serif;
        font-variant-numeric: tabular-nums;
        font-size: .82rem;
    }
    .nowa-startowa .ns-rw__diff.pos { color: #1f9d55; }
    .nowa-startowa .ns-rw__diff.neg { color: #d9480f; }
    .nowa-startowa .ns-rw__bar {
        height: 4px;
        margin-top: .25rem;
        background: var(--ns-line);
        position: relative;
        overflow: hidden;
    }
    .nowa-startowa .ns-rw__bar i {
        position: absolute;
        top: 0;
        bottom: 0;
        left: 50%;
        background: var(--ns-accent);
        transform-origin: left center;
        transition: width .6s ease;
    }
    .nowa-startowa .ns-rw__bar i.neg {
        background: #d9480f;
        left: auto;
        right: 50%;
    }
    .nowa-startowa .ns-rw__live {
        width: 8px; height: 8px; border-radius: 50%;
        background: var(--ns-accent);
        display: inline-block;
        animation: ns-pg-pulse 1.4s ease-in-out infinite;
    }

    @media (max-width: 760px) {
        .nowa-startowa .ns-rw {
            grid-template-columns: 38px minmax(0, 1fr) auto;
            grid-template-areas:
                "rank team pts"
                "rank form form";
            row-gap: .35rem;
        }
        .nowa-startowa .ns-rw--head { display: none; }
        .nowa-startowa .ns-rw__rank { grid-area: rank; align-self: start; }
        .nowa-startowa .ns-rw__team { grid-area: team; }
        .nowa-startowa .ns-rw__formwrap { grid-area: form; }
        .nowa-startowa .ns-rw__pts { grid-area: pts; font-size: 1.15rem; }
        .nowa-startowa .ns-rw__diffwrap { display: none; }
    }

    /* ====================== KONTAKT (wspolne) ====================== */
    .nowa-startowa .ns-kc-grid {
        display: grid;
        grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
        gap: clamp(.7rem, 2vw, 1.1rem);
    }
    .nowa-startowa .ns-kc {
        display: flex;
        flex-direction: column;
        gap: .5rem;
        padding: 1.5rem 1.2rem;
        border: 1px solid var(--ns-line);
        background: #fff;
        color: inherit;
        transition: transform .2s ease, background-color .2s ease, color .2s ease, border-color .2s ease, box-shadow .2s ease;
    }
    .dark-mode .nowa-startowa .ns-kc { background: #262626; border-color: #3d3d3d; }
    .nowa-startowa .ns-kc__icon {
        width: 46px;
        height: 46px;
        display: flex;
        align-items: center;
        justify-content: center;
        color: var(--ns-accent);
        border: 1px solid currentColor;
        transition: transform .22s ease, color .22s ease, border-color .22s ease;
    }
    .nowa-startowa .ns-kc__icon svg { width: 22px; height: 22px; }
    .nowa-startowa .ns-kc__label {
        font-family: 'Bree Serif', serif;
        text-transform: uppercase;
        font-size: .7rem;
        letter-spacing: .3px;
        color: #9a9a9a;
    }
    .nowa-startowa .ns-kc__value {
        font-family: 'Bree Serif', serif;
        text-transform: uppercase;
        font-size: 1.05rem;
        word-break: break-word;
    }
    .nowa-startowa .ns-kc__value a { color: inherit; }
    .nowa-startowa .ns-kc__sub {
        font-family: system-ui, -apple-system, sans-serif;
        text-transform: none;
        letter-spacing: 0;
        font-size: .8rem;
        color: #9a9a9a;
    }
    .nowa-startowa a.ns-kc:hover {
        color: #fff !important;
        background: var(--ns-accent);
        border-color: var(--ns-accent);
        transform: translateY(-5px);
        box-shadow: 0 14px 26px rgba(245, 107, 6, .26);
    }
    .nowa-startowa a.ns-kc:hover .ns-kc__icon { color: #fff; border-color: rgba(255,255,255,.6); transform: rotate(-6deg) scale(1.06); }
    .nowa-startowa a.ns-kc:hover .ns-kc__label,
    .nowa-startowa a.ns-kc:hover .ns-kc__sub { color: rgba(255,255,255,.85); }

    .nowa-startowa .ns-kc-split {
        display: grid;
        grid-template-columns: 1fr 1fr;
        gap: clamp(1rem, 3vw, 2rem);
        align-items: start;
    }
    @media (max-width: 860px) {
        .nowa-startowa .ns-kc-split { grid-template-columns: 1fr; }
    }
    /* kadr ze znacznikami naroznymi (uzywany np. dla zdjecia hali) */
    .nowa-startowa .ns-frame {
        position: relative;
        border: 1px solid var(--ns-line);
        padding: 8px;
        background: #fff;
    }
    .dark-mode .nowa-startowa .ns-frame { background: #262626; border-color: #3d3d3d; }
    .nowa-startowa .ns-frame img { display: block; width: 100%; height: auto; }
    .nowa-startowa .ns-frame__corner {
        position: absolute;
        width: 16px;
        height: 16px;
        border: 2px solid var(--ns-accent);
        z-index: 2;
        pointer-events: none;
    }
    .nowa-startowa .ns-frame__corner.tl { top: 8px; left: 8px; border-right: 0; border-bottom: 0; }
    .nowa-startowa .ns-frame__corner.tr { top: 8px; right: 8px; border-left: 0; border-bottom: 0; }
    .nowa-startowa .ns-frame__corner.bl { bottom: 8px; left: 8px; border-right: 0; border-top: 0; }
    .nowa-startowa .ns-frame__corner.br { bottom: 8px; right: 8px; border-left: 0; border-top: 0; }
    .nowa-startowa .ns-frame__cap {
        font-size: .72rem;
        color: #9a9a9a;
        margin-top: .5rem;
        word-break: break-word;
    }
    .nowa-startowa .ns-frame__cap a { color: #9a9a9a; }

    /* karty "do kogo napisac" */
    .nowa-startowa .ns-role {
        display: grid;
        grid-template-columns: 44px minmax(0, 1fr);
        gap: .3rem .9rem;
        padding: 1.1rem;
        border: 1px solid var(--ns-line);
        background: #fff;
    }
    .dark-mode .nowa-startowa .ns-role { background: #262626; border-color: #3d3d3d; }
    .nowa-startowa .ns-role + .ns-role { border-top: 0; }
    .nowa-startowa .ns-role__no {
        grid-row: span 3;
        width: 44px;
        height: 44px;
        display: flex;
        align-items: center;
        justify-content: center;
        background: var(--ns-ink);
        color: #fff;
        font-family: 'Bree Serif', serif;
    }
    .nowa-startowa .ns-role__topic {
        font-family: system-ui, -apple-system, sans-serif;
        font-size: .82rem;
        color: #6a6a6a;
    }
    .dark-mode .nowa-startowa .ns-role__topic { color: #a6a6a6; }
    .nowa-startowa .ns-role__who {
        font-family: 'Bree Serif', serif;
        text-transform: uppercase;
        font-size: .95rem;
    }
    .nowa-startowa .ns-role__contact {
        display: flex;
        flex-wrap: wrap;
        gap: .3rem 1rem;
        font-family: 'Bree Serif', serif;
        text-transform: uppercase;
        font-size: .74rem;
    }
    .nowa-startowa .ns-role__contact a { color: var(--ns-accent); }

    /* ====================== KONTAKT v2 - hero + formularz ====================== */
    .nowa-startowa .ns-khero {
        width: 100vw;
        margin-left: 50%;
        transform: translateX(-50%);
        padding: 3.25rem max(1.25rem, calc((100vw - 1280px) / 2)) 3.5rem;
        background:
            radial-gradient(1200px 400px at 15% -10%, rgba(245,107,6,.35), transparent 60%),
            linear-gradient(115deg, #1c1c1c, #171717 60%, #201509);
        color: #fff;
        position: relative;
        overflow: hidden;
        margin-top: 1.5rem;
    }
    .nowa-startowa .ns-khero__kicker {
        font-family: 'Bree Serif', serif;
        text-transform: uppercase;
        letter-spacing: .6px;
        font-size: .74rem;
        color: var(--ns-accent);
    }
    .nowa-startowa .ns-khero__title {
        font-family: 'Bree Serif', serif;
        text-transform: uppercase;
        line-height: 1.04;
        font-size: clamp(1.9rem, 1.2rem + 3vw, 3.4rem);
        margin: .35rem 0 .6rem;
        text-shadow: 2px 2px 6px rgba(0,0,0,.35);
    }
    .nowa-startowa .ns-khero__lead {
        max-width: 54ch;
        color: #c9c9c9;
        font-family: system-ui, -apple-system, sans-serif;
        font-size: .96rem;
    }
    .nowa-startowa .ns-khero__actions {
        display: flex;
        flex-wrap: wrap;
        gap: .7rem;
        margin-top: 1.4rem;
    }
    .nowa-startowa .ns-kbtn {
        display: inline-flex;
        align-items: center;
        gap: .5rem;
        padding: .7rem 1.4rem;
        font-family: 'Bree Serif', serif;
        text-transform: uppercase;
        font-size: .8rem;
        letter-spacing: .4px;
        transform: skew(-6deg);
        transition: transform .2s ease, box-shadow .2s ease, background-color .2s ease;
    }
    .nowa-startowa .ns-kbtn > * { transform: skew(6deg); }
    .nowa-startowa .ns-kbtn--solid { background: var(--ns-accent); color: #fff !important; }
    .nowa-startowa .ns-kbtn--ghost { border: 1px solid rgba(255,255,255,.6); color: #fff !important; }
    .nowa-startowa .ns-kbtn:hover { transform: skew(-6deg) translateY(-3px); box-shadow: 0 12px 24px rgba(245,107,6,.3); }

    /* ---- zakladki (Kontakt/Zarzad/Sedziowie/O nas/Historia/Hale) ---- */
    /* ---- zakladki w stylu statystyk (jak .ns-stat-tabs na /statystyki/*) ---- */
    .nowa-startowa .ns-tabs {
        display: flex;
        /* Bootstrap .nav ma domyślnie flex-wrap:wrap - bez nadpisania na wąskich
           ekranach zakładki łamały się do kilku wierszy zamiast przewijać się
           poziomo (do tego służy overflow-x:auto niżej) */
        flex-wrap: nowrap;
        align-items: flex-end;
        gap: .18rem;
        margin: 1.5rem 0 1.75rem;
        padding: .55rem .55rem 0;
        background: linear-gradient(#ffffff, #fafafa);
        border-bottom: 2px solid #171717;
        overflow-x: auto;
        overflow-y: hidden;
        -webkit-overflow-scrolling: touch;
        overscroll-behavior-x: contain;
        scrollbar-width: none;
    }
    .dark-mode .nowa-startowa .ns-tabs { background: #1c1c1c; border-bottom-color: #fff; }
    .nowa-startowa .ns-tabs::-webkit-scrollbar { display: none; }
    .nowa-startowa .ns-tabs .nav-item { margin: 0; }
    .nowa-startowa .ns-tabs .nav-link {
        position: relative;
        display: inline-flex;
        align-items: center;
        margin: 0;
        padding: .78rem 1.2rem .68rem;
        border: 1px solid transparent;
        border-bottom: none;
        border-radius: 0;
        background: transparent;
        font-family: 'Bree Serif', serif;
        font-size: .95rem;
        letter-spacing: .7px;
        text-transform: uppercase;
        color: #8a8a8a;
        white-space: nowrap;
        transition: color .16s ease, transform .16s ease;
    }
    .nowa-startowa .ns-tabs .nav-link:not(.active):hover,
    .nowa-startowa .ns-tabs .nav-link:not(.active):focus-visible {
        color: #171717;
        transform: translateY(-1px);
        outline: none;
    }
    .nowa-startowa .ns-tabs .nav-link.active {
        color: #fff;
        background: #171717;
        border-color: #171717;
        transform: translateY(1px);
        clip-path: polygon(0 0, 100% 0, calc(100% - 11px) 100%, 0 100%);
    }
    .dark-mode .nowa-startowa .ns-tabs .nav-link { color: #9a9a9a; }
    .dark-mode .nowa-startowa .ns-tabs .nav-link:not(.active):hover { color: #fff; }
    .dark-mode .nowa-startowa .ns-tabs .nav-link.active { background: #000; border-color: #000; color: #fff; }
    @media (max-width: 575.98px) {
        .nowa-startowa .ns-tabs { width: 100%; }
        .nowa-startowa .ns-tabs .nav-link { padding: .64rem .8rem .54rem; font-size: .86rem; letter-spacing: .45px; }
    }
    @media (max-width: 400px) {
        .nowa-startowa .ns-tabs { padding: .45rem .4rem 0; }
        .nowa-startowa .ns-tabs .nav-link { padding: .58rem .62rem .5rem; font-size: .8rem; letter-spacing: .3px; }
        .nowa-startowa .ns-tabs .nav-link.active { clip-path: polygon(0 0, 100% 0, calc(100% - 8px) 100%, 0 100%); }
    }

    /* ---- podnawigacja kotwicowa (wersja 2) ---- */
    .nowa-startowa .ns-subnav {
        position: sticky;
        top: 60px;
        z-index: 20;
        display: flex;
        flex-wrap: wrap;
        gap: .4rem;
        margin: 1.25rem 0 1.75rem;
        padding: .6rem .7rem;
        background: rgba(255, 255, 255, .96);
        border: 1px solid var(--ns-line);
        backdrop-filter: saturate(1.3) blur(5px);
    }
    .dark-mode .nowa-startowa .ns-subnav { background: rgba(30, 30, 30, .96); border-color: #3d3d3d; }
    @media (max-width: 991.98px) { .nowa-startowa .ns-subnav { top: 0; } }
    .nowa-startowa .ns-subnav a {
        padding: .35rem .7rem;
        font-family: 'Bree Serif', serif;
        text-transform: uppercase;
        font-size: .72rem;
        letter-spacing: .3px;
        color: #6a6a6a;
        border: 1px solid var(--ns-line);
        transition: background-color .15s, color .15s, border-color .15s;
    }
    .dark-mode .nowa-startowa .ns-subnav a { color: #bbb; border-color: #4a4a4a; }
    .nowa-startowa .ns-subnav a:hover {
        background: var(--ns-accent);
        border-color: var(--ns-accent);
        color: #fff !important;
    }
    .nowa-startowa .ns-anchor { scroll-margin-top: 120px; }

    /* ---- blok danych rejestrowych fundacji ---- */
    .nowa-startowa .ns-org {
        display: grid;
        grid-template-columns: repeat(auto-fit, minmax(160px, 1fr));
        gap: .8rem 1.5rem;
        padding: 1.2rem 1.3rem;
        border: 1px solid var(--ns-line);
        background: #fff;
    }
    .dark-mode .nowa-startowa .ns-org { background: #262626; border-color: #3d3d3d; }
    .nowa-startowa .ns-org > div:first-child {
        grid-column: 1 / -1;
        font-family: 'Bree Serif', serif;
        text-transform: uppercase;
        font-size: .95rem;
    }
    .nowa-startowa .ns-org dt {
        font-family: 'Bree Serif', serif;
        text-transform: uppercase;
        font-size: .62rem;
        letter-spacing: .4px;
        color: #9a9a9a;
    }
    .nowa-startowa .ns-org dd {
        margin: 0;
        font-family: 'Bree Serif', serif;
        font-size: .9rem;
        font-variant-numeric: tabular-nums;
    }

    /* ---- lista sedziow ---- */
    .nowa-startowa .ns-ref-grid {
        display: grid;
        grid-template-columns: repeat(auto-fill, minmax(240px, 1fr));
        gap: .4rem;
    }
    .nowa-startowa .ns-ref {
        display: grid;
        grid-template-columns: 30px minmax(0, 1fr) auto;
        align-items: center;
        gap: .7rem;
        padding: .55rem .7rem;
        border: 1px solid var(--ns-line);
        background: #fff;
    }
    .dark-mode .nowa-startowa .ns-ref { background: #262626; border-color: #3d3d3d; }
    .nowa-startowa .ns-ref__no {
        font-family: 'Bree Serif', serif;
        font-size: .8rem;
        color: #b5b5b5;
        text-align: right;
    }
    .nowa-startowa .ns-ref__name {
        font-family: 'Bree Serif', serif;
        text-transform: uppercase;
        font-size: .84rem;
        overflow: hidden;
        text-overflow: ellipsis;
        white-space: nowrap;
    }
    .nowa-startowa .ns-ref__role {
        font-family: 'Bree Serif', serif;
        text-transform: uppercase;
        font-size: .6rem;
        letter-spacing: .3px;
        padding: .12rem .45rem;
        border: 1px solid var(--ns-line);
        color: #8a8a8a;
    }
    .nowa-startowa .ns-ref__role.boiskowy { color: var(--ns-accent); border-color: var(--ns-accent); }

    /* ---- statystyki-chipy (O nas) ---- */
    .nowa-startowa .ns-stat-row {
        display: grid;
        grid-template-columns: repeat(auto-fit, minmax(140px, 1fr));
        gap: .6rem;
        margin: 1.4rem 0;
    }
    .nowa-startowa .ns-stat {
        border: 1px solid var(--ns-line);
        padding: .9rem 1rem;
        background: #fff;
    }
    .dark-mode .nowa-startowa .ns-stat { background: #262626; border-color: #3d3d3d; }
    .nowa-startowa .ns-stat b {
        display: block;
        font-family: 'Bree Serif', serif;
        font-size: 1.5rem;
        color: var(--ns-accent);
        line-height: 1;
    }
    .nowa-startowa .ns-stat span {
        font-family: 'Bree Serif', serif;
        text-transform: uppercase;
        font-size: .66rem;
        letter-spacing: .3px;
        color: #8a8a8a;
    }
    .nowa-startowa .ns-prose {
        max-width: 68ch;
        font-family: system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
        font-size: .96rem;
        line-height: 1.6;
        color: #3a3a3a;
    }
    .dark-mode .nowa-startowa .ns-prose { color: #ccc; }
    .nowa-startowa .ns-prose p + p { margin-top: .9rem; }

    /* ---- os czasu (Historia, wersja 2) ---- */
    .nowa-startowa .ns-tl { position: relative; margin-top: 1.5rem; }
    .nowa-startowa .ns-tl::before {
        content: "";
        position: absolute;
        left: 7px; top: 6px; bottom: 6px;
        width: 2px;
        background: var(--ns-line);
    }
    .nowa-startowa .ns-tl__item { position: relative; padding: 0 0 1.6rem 2rem; }
    .nowa-startowa .ns-tl__item::before {
        content: "";
        position: absolute;
        left: 0; top: 4px;
        width: 16px; height: 16px;
        background: var(--ns-accent);
        border: 3px solid #fff;
        box-shadow: 0 0 0 1px var(--ns-accent);
    }
    .dark-mode .nowa-startowa .ns-tl__item::before { border-color: #1f1f1f; }
    .nowa-startowa .ns-tl__h {
        font-family: 'Bree Serif', serif;
        text-transform: uppercase;
        font-size: 1rem;
        margin-bottom: .4rem;
    }

    /* akordeon "do kogo" / historia - w duchu ns */
    .nowa-startowa .ns-acc .accordion-item {
        border: 1px solid var(--ns-line);
        border-radius: 0;
        background: #fff;
    }
    .dark-mode .nowa-startowa .ns-acc .accordion-item { background: #262626; border-color: #3d3d3d; }
    .nowa-startowa .ns-acc .accordion-item + .accordion-item { border-top: 0; }
    .nowa-startowa .ns-acc .accordion-button {
        border-radius: 0;
        font-family: 'Bree Serif', serif;
        text-transform: uppercase;
        font-size: .84rem;
        letter-spacing: .3px;
        background: #fff;
        color: var(--ns-ink);
        box-shadow: none;
    }
    .dark-mode .nowa-startowa .ns-acc .accordion-button { background: #262626; color: #eee; }
    .nowa-startowa .ns-acc .accordion-button:not(.collapsed) {
        background: var(--ns-accent);
        color: #fff;
    }
    .nowa-startowa .ns-acc .accordion-button:not(.collapsed)::after {
        filter: brightness(0) invert(1);
    }
    .nowa-startowa .ns-acc .accordion-button:focus {
        border-color: var(--ns-accent);
        box-shadow: 0 0 0 .18rem rgba(245, 107, 6, .18);
    }
    .nowa-startowa .ns-acc .accordion-body {
        font-family: 'Bree Serif', serif;
        text-transform: uppercase;
        font-size: .8rem;
    }
    .nowa-startowa .ns-acc .accordion-body a { color: var(--ns-accent); }
    .nowa-startowa .ns-acc__topic {
        display: block;
        font-family: system-ui, -apple-system, sans-serif;
        text-transform: none;
        letter-spacing: 0;
        font-size: .8rem;
        color: #8a8a8a;
        margin-bottom: .5rem;
    }

/* ============================================================
   5. AKTUALNOŚCI - lista + pojedynczy wpis
   (dawniej: aktualnosci/_styles.blade.php)
   ============================================================ */

    /* ---------- pasek kategorii / tagów ---------- */
    .nowa-startowa .ns-ak-chips {
        display: flex;
        flex-wrap: wrap;
        gap: .45rem;
        margin: .25rem 0 2rem;
    }
    .nowa-startowa .ns-ak-chip {
        display: inline-flex;
        align-items: center;
        gap: .35rem;
        padding: .38rem .8rem;
        border: 1px solid var(--ns-line);
        font-family: 'Bree Serif', serif;
        text-transform: uppercase;
        font-size: .72rem;
        letter-spacing: .3px;
        color: #555;
        transition: background-color .16s ease, color .16s ease, border-color .16s ease, transform .16s ease;
    }
    .nowa-startowa .ns-ak-chip b { color: var(--ns-accent); font-weight: 400; }
    .nowa-startowa .ns-ak-chip:hover {
        background: var(--ns-accent);
        border-color: var(--ns-accent);
        color: #fff !important;
        transform: translateY(-2px);
    }
    .nowa-startowa .ns-ak-chip:hover b { color: rgba(255, 255, 255, .8); }
    .dark-mode .nowa-startowa .ns-ak-chip { color: #aaa; border-color: #444; }
    .nowa-startowa .ns-ak-chip.is-active {
        background: var(--ns-ink);
        border-color: var(--ns-ink);
        color: #fff;
        cursor: default;
    }
    .nowa-startowa .ns-ak-chip.is-active:hover { transform: none; background: var(--ns-ink); border-color: var(--ns-ink); }
    .nowa-startowa .ns-ak-chip.is-active b { color: rgba(255, 255, 255, .8); }

    .nowa-startowa .ns-ak-lead-count {
        margin: -.35rem 0 1.1rem;
        font-size: .8rem;
        letter-spacing: .4px;
        text-transform: uppercase;
        color: #8a8a8a;
    }
    .dark-mode .nowa-startowa .ns-ak-lead-count { color: #9a9a9a; }

    /* siatka kategorii / tagów - strony indeksu */
    .nowa-startowa .ns-ak-chips--grid {
        margin: .5rem 0 2.5rem;
        gap: .6rem;
    }
    .nowa-startowa .ns-ak-chips--grid .ns-ak-chip {
        padding: .7rem 1.15rem;
        font-size: .82rem;
    }

    /* ================= INDEKS AKTUALNOŚCI (ciemny pasek, jak /kontakt) ================= */
    .nowa-startowa .ns-ak-ihero {
        width: 100vw;
        /* bez marginesu na dole - .ns-ak-band zaczyna się od razu pod czarnym tłem */
        margin: 1.5rem 0 0;
        margin-left: 50%;
        transform: translateX(-50%);
        padding: clamp(2.4rem, 1.6rem + 3vw, 3.6rem) 1rem;
        background:
            radial-gradient(1200px 400px at 15% -10%, rgba(245, 107, 6, .35), transparent 60%),
            linear-gradient(115deg, #1c1c1c, #171717 60%, #201509);
        color: #fff;
        overflow: hidden;
    }
    .nowa-startowa .ns-ak-ihero__in {
        max-width: 1040px;
        margin: 0 auto;
    }
    .nowa-startowa .ns-ak-ihero__kicker {
        margin: 0 0 .55rem;
        font-family: 'Bree Serif', serif;
        text-transform: uppercase;
        font-size: .82rem;
        letter-spacing: 2px;
        color: var(--ns-accent);
    }
    .nowa-startowa .ns-ak-ihero__title {
        margin: 0 0 .7rem;
        font-family: 'Bree Serif', serif;
        text-transform: uppercase;
        line-height: 1.02;
        font-size: clamp(2.2rem, 1.3rem + 4vw, 3.6rem);
        color: #fff;
        text-shadow: 2px 2px 6px rgba(0, 0, 0, .35);
    }
    .nowa-startowa .ns-ak-ihero__lead {
        margin: 0;
        max-width: none;
        font-size: 1.1rem;
        line-height: 1.6;
        color: #c9c9c9;
    }
    /* breadcrumbs na ciemnym pasku (podbita specyficzność - nadpisuje bazowe .ns-ak-crumbs) */
    .nowa-startowa .ns-ak-crumbs.ns-ak-crumbs--ondark {
        margin-bottom: 1.1rem;
        color: rgba(255, 255, 255, .6);
    }
    .nowa-startowa .ns-ak-crumbs.ns-ak-crumbs--ondark a { color: rgba(255, 255, 255, .6); }
    .nowa-startowa .ns-ak-crumbs.ns-ak-crumbs--ondark a:hover { color: #fff; }
    .nowa-startowa .ns-ak-crumbs.ns-ak-crumbs--ondark .is-current { color: #fff; }

    /* ---- lekkie pomarańczowe tło na całą szerokość pod resztą strony
       (ten sam przepis co .ls-band z sekcji "Liderzy" na stronie startowej,
       tylko dopasowany do węższej treści tej strony - 1040px) ---- */
    .nowa-startowa .ns-ak-band {
        width: 100vw;
        margin-left: 50%;
        transform: translateX(-50%);
        padding: 2.75rem max(1.25rem, calc((100vw - 1040px) / 2)) 3rem;
        /* biel w centrum (tam siedzi treść), pomarańcz wygaszany ku bokom */
        background:
            linear-gradient(90deg,
                rgba(245, 107, 6, .06) 0%,
                rgba(245, 107, 6, .06) 24%,
                #ffffff 47%,
                #ffffff 53%,
                rgba(245, 107, 6, .06) 76%,
                rgba(245, 107, 6, .17) 100%);
        border-top: 1px solid rgba(245, 107, 6, .1);
        border-bottom: 1px solid rgba(245, 107, 6, .1);
        box-shadow:
            0 -5px 14px -12px rgba(0, 0, 0, .1),
            0 6px 16px -12px rgba(0, 0, 0, .1),
            inset 0 9px 12px -13px rgba(0, 0, 0, .12),
            inset 0 -9px 12px -13px rgba(0, 0, 0, .12);
    }
    .dark-mode .nowa-startowa .ns-ak-band {
        background:
            radial-gradient(1500px 640px at 8% -15%, rgba(245, 107, 6, .08), transparent 68%),
            #1c1c1c;
        border-color: rgba(245, 107, 6, .15);
    }
    @media (max-width: 575.98px) {
        .nowa-startowa .ns-ak-band { padding: 2rem 1rem 2.25rem; }
    }
    /* .ns-footer ma domyślnie margin-top: 4.5rem (wspólne dla całego serwisu, żeby
       zwykłym białym stronom nie "dyszała" stopka w treść) - na stronach z .ns-ak-band
       to tworzy niechcianą białą przerwę między pasem a stopką, więc na tych stronach
       zerujemy go (<main> i <footer> są rodzeństwem w layoucie). */
    main:has(.ns-ak-band) + .ns-footer { margin-top: 0; }

    /* segmentowany filtr kategorii */
    .nowa-startowa .ns-ak-filter {
        display: flex;
        flex-wrap: wrap;
        align-items: center;
        gap: .5rem;
        max-width: 1040px;
        margin: 0 auto 2.5rem;
        padding-bottom: 1.4rem;
        border-bottom: 1px solid var(--ns-line);
    }
    .dark-mode .nowa-startowa .ns-ak-filter { border-color: #3a3a3a; }
    .nowa-startowa .ns-ak-filter__item {
        display: inline-flex;
        align-items: center;
        gap: .4rem;
        padding: .42rem 1rem;
        border: 1px solid var(--ns-line);
        font-family: 'Bree Serif', serif;
        text-transform: uppercase;
        font-size: .84rem;
        letter-spacing: .4px;
        color: var(--ns-ink);
        text-decoration: none;
        transition: background-color .15s ease, color .15s ease, border-color .15s ease, transform .15s ease;
    }
    .dark-mode .nowa-startowa .ns-ak-filter__item { color: #ddd; border-color: #444; }
    .nowa-startowa .ns-ak-filter__item:hover {
        border-color: var(--ns-accent);
        color: var(--ns-accent);
        transform: translateY(-2px);
    }
    .nowa-startowa .ns-ak-filter__item.is-active {
        background: var(--ns-ink);
        border-color: var(--ns-ink);
        color: #fff;
        cursor: default;
    }
    .dark-mode .nowa-startowa .ns-ak-filter__item.is-active { background: var(--ns-accent); border-color: var(--ns-accent); }
    .nowa-startowa .ns-ak-filter__n { font-size: .74em; color: var(--ns-accent); }
    .nowa-startowa .ns-ak-filter__item.is-active .ns-ak-filter__n { color: rgba(255, 255, 255, .75); }
    .nowa-startowa .ns-ak-filter__more {
        margin-left: .25rem;
        font-family: 'Bree Serif', serif;
        text-transform: uppercase;
        font-size: .82rem;
        letter-spacing: .3px;
        color: var(--ns-accent);
        text-decoration: none;
    }

    /* wspólne: kicker kategorii + meta na kartach */
    .nowa-startowa .ns-ak-kicker {
        align-self: flex-start;
        font-family: 'Bree Serif', serif;
        text-transform: uppercase;
        font-size: .74rem;
        letter-spacing: .4px;
        background: var(--ns-accent);
        color: #fff;
        padding: .2rem .6rem;
    }
    .nowa-startowa .ns-ak-meta {
        display: flex;
        flex-wrap: wrap;
        align-items: baseline;
        gap: .3rem .55rem;
        font-family: 'Bree Serif', serif;
        text-transform: uppercase;
        font-size: .8rem;
        letter-spacing: .3px;
        color: #9a9a9a;
    }
    .nowa-startowa .ns-ak-meta__author { color: var(--ns-accent); white-space: nowrap; }

    /* ---------- pasek wyróżniony (tylko str. 1) ---------- */
    .nowa-startowa .ns-ak-feat {
        max-width: 1040px;
        margin: 0 auto 3rem;
        display: grid;
        grid-template-columns: minmax(0, 1.6fr) minmax(0, 1fr);
        gap: clamp(1rem, 3vw, 2rem);
    }
    @media (max-width: 820px) {
        .nowa-startowa .ns-ak-feat { grid-template-columns: 1fr; }
    }
    .nowa-startowa .ns-ak-feat__lead { display: flex; flex-direction: column; color: inherit; }
    .nowa-startowa .ns-ak-feat__media {
        display: block;
        aspect-ratio: 16 / 9;
        overflow: hidden;
        background: var(--ns-line);
        margin-bottom: 1rem;
        box-shadow: 0 14px 28px -12px rgba(0, 0, 0, .28);
    }
    .nowa-startowa .ns-ak-feat__media img,
    .nowa-startowa .ns-ak-feat__item-media img {
        width: 100%; height: 100%;
        object-fit: cover;
        display: block;
        transition: transform .45s ease;
    }
    .nowa-startowa .ns-ak-feat__lead:hover .ns-ak-feat__media img,
    .nowa-startowa .ns-ak-feat__item:hover .ns-ak-feat__item-media img { transform: scale(1.05); }
    .nowa-startowa .ns-ak-feat__body { display: flex; flex-direction: column; gap: .55rem; }
    .nowa-startowa .ns-ak-feat__title {
        font-family: 'Bree Serif', serif;
        text-transform: uppercase;
        line-height: 1.08;
        font-size: clamp(1.6rem, 1.1rem + 2.4vw, 2.5rem);
        transition: color .18s ease;
    }
    .nowa-startowa .ns-ak-feat__lead:hover .ns-ak-feat__title { color: var(--ns-accent); }
    .nowa-startowa .ns-ak-feat__lead-txt {
        font-size: 1.02rem;
        line-height: 1.55;
        color: #666;
    }
    .dark-mode .nowa-startowa .ns-ak-feat__lead-txt { color: #a6a6a6; }

    .nowa-startowa .ns-ak-feat__side { display: flex; flex-direction: column; gap: 1.4rem; }
    @media (max-width: 820px) {
        .nowa-startowa .ns-ak-feat__side {
            flex-direction: row;
            flex-wrap: wrap;
        }
        .nowa-startowa .ns-ak-feat__item { flex: 1 1 240px; }
    }
    .nowa-startowa .ns-ak-feat__item { display: flex; flex-direction: column; color: inherit; }
    .nowa-startowa .ns-ak-feat__item-media {
        display: block;
        aspect-ratio: 16 / 9;
        overflow: hidden;
        background: var(--ns-line);
        margin-bottom: .6rem;
        box-shadow: 0 10px 20px -10px rgba(0, 0, 0, .26);
    }
    .nowa-startowa .ns-ak-feat__item-body { display: flex; flex-direction: column; gap: .35rem; }
    .nowa-startowa .ns-ak-feat__item-title {
        font-family: 'Bree Serif', serif;
        text-transform: uppercase;
        line-height: 1.14;
        font-size: 1.14rem;
        transition: color .18s ease;
    }
    .nowa-startowa .ns-ak-feat__item:hover .ns-ak-feat__item-title { color: var(--ns-accent); }

    /* ---------- lista wpisów ---------- */
    .nowa-startowa .ns-ak-list {
        max-width: 1040px;
        margin: 0 auto;
        border-top: 2px solid var(--ns-ink);
    }
    .dark-mode .nowa-startowa .ns-ak-list { border-color: #e6e6e6; }
    .nowa-startowa .ns-ak-row {
        display: grid;
        grid-template-columns: minmax(0, 320px) minmax(0, 1fr);
        gap: clamp(1rem, 3vw, 2.2rem);
        align-items: center;
        padding: clamp(1.4rem, 3vw, 2.1rem) 0;
        border-bottom: 1px solid var(--ns-line);
        color: inherit;
    }
    .dark-mode .nowa-startowa .ns-ak-row { border-color: #3a3a3a; }
    @media (max-width: 640px) {
        .nowa-startowa .ns-ak-row { grid-template-columns: 1fr; gap: .9rem; }
    }
    .nowa-startowa .ns-ak-row--noimg { grid-template-columns: 1fr; }
    .nowa-startowa .ns-ak-row__media {
        display: block;
        aspect-ratio: 16 / 9;
        overflow: hidden;
        background: var(--ns-line);
        box-shadow: 0 10px 20px -10px rgba(0, 0, 0, .26);
    }
    .nowa-startowa .ns-ak-row__media img {
        width: 100%; height: 100%;
        object-fit: cover;
        display: block;
        transition: transform .45s ease;
    }
    .nowa-startowa .ns-ak-row:hover .ns-ak-row__media img { transform: scale(1.05); }
    .nowa-startowa .ns-ak-row__main { display: flex; flex-direction: column; gap: .5rem; }
    .nowa-startowa .ns-ak-row__title {
        font-family: 'Bree Serif', serif;
        text-transform: uppercase;
        line-height: 1.1;
        font-size: clamp(1.4rem, 1rem + 1.8vw, 2.1rem);
        transition: color .18s ease;
    }
    .nowa-startowa .ns-ak-row:hover .ns-ak-row__title { color: var(--ns-accent); }
    .nowa-startowa .ns-ak-row__lead {
        font-family: system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
        font-size: 1rem;
        line-height: 1.58;
        color: #666;
    }
    .dark-mode .nowa-startowa .ns-ak-row__lead { color: #a6a6a6; }
    .nowa-startowa .ns-ak-row__more {
        display: inline-flex;
        align-items: center;
        gap: .35rem;
        font-family: 'Bree Serif', serif;
        text-transform: uppercase;
        font-size: .8rem;
        letter-spacing: .3px;
        color: var(--ns-accent);
    }
    .nowa-startowa .ns-ak-row__more svg { transition: transform .18s ease; }
    .nowa-startowa .ns-ak-row:hover .ns-ak-row__more svg { transform: translateX(4px); }

    /* ---------- stan pusty ---------- */
    .nowa-startowa .ns-ak-empty {
        max-width: 1040px;
        margin: 0 auto;
        padding: 4rem 1rem;
        text-align: center;
        border-bottom: 1px solid var(--ns-line);
    }
    .nowa-startowa .ns-ak-empty__t {
        font-family: 'Bree Serif', serif;
        text-transform: uppercase;
        font-size: 1.1rem;
        letter-spacing: .5px;
        color: #9a9a9a;
        margin: 0;
    }

    /* ---------- paginacja ---------- */
    .nowa-startowa .ns-ak-pager { display: flex; justify-content: center; margin: 2.75rem 0 .5rem; }
    .nowa-startowa .ns-ak-pager nav { width: auto; }
    .nowa-startowa .ns-ak-pager .pagination {
        display: flex;
        align-items: stretch;
        gap: .3rem;
        margin: 0;
        padding: 0;
        list-style: none;
    }
    .nowa-startowa .ns-ak-pager .page-item { display: flex; }
    .nowa-startowa .ns-ak-pager .page-link {
        display: flex;
        align-items: center;
        justify-content: center;
        min-width: 44px;
        height: 44px;
        padding: 0 .55rem;
        border: 1px solid var(--ns-line);
        border-radius: 0;
        background: #fff;
        color: var(--ns-ink);
        font-family: 'Bree Serif', serif;
        font-size: .95rem;
        line-height: 1;
        transition: background-color .16s ease, color .16s ease, border-color .16s ease, transform .16s ease;
    }
    .dark-mode .nowa-startowa .ns-ak-pager .page-link { background: #2b2b2b; border-color: #444; color: #ddd; }
    .nowa-startowa .ns-ak-pager .page-link:hover {
        background: var(--ns-accent);
        border-color: var(--ns-accent);
        color: #fff !important;
        transform: translateY(-2px);
        z-index: 1;
    }
    .nowa-startowa .ns-ak-pager .page-item.active .page-link {
        background: var(--ns-ink);
        border-color: var(--ns-ink);
        color: #fff;
        cursor: default;
    }
    .nowa-startowa .ns-ak-pager .page-item.active .page-link:hover { transform: none; }
    .nowa-startowa .ns-ak-pager .page-item.disabled .page-link {
        color: #c5c5c5;
        background: transparent;
        border-color: var(--ns-line);
        pointer-events: none;
    }
    /* strzałki prev/next - większe i wyróżnione */
    .nowa-startowa .ns-ak-pager .page-item:first-child .page-link,
    .nowa-startowa .ns-ak-pager .page-item:last-child .page-link {
        min-width: 52px;
        font-size: 1.4rem;
    }

    /* ================= POJEDYNCZY WPIS ================= */
    /* HERO - ciemny pełnoszerokościowy pasek, jak /kontakt i indeks /aktualnosci */
    .nowa-startowa .ns-ak-hero {
        width: 100vw;
        margin: 1.5rem 0 0;
        margin-left: 50%;
        transform: translateX(-50%);
        padding: clamp(2.2rem, 1.5rem + 3vw, 3.4rem) 1rem clamp(2rem, 1.4rem + 2.6vw, 3rem);
        background:
            radial-gradient(1200px 400px at 15% -10%, rgba(245, 107, 6, .35), transparent 60%),
            linear-gradient(115deg, #1c1c1c, #171717 60%, #201509);
        color: #fff;
        overflow: hidden;
    }
    .nowa-startowa .ns-ak-hero__in {
        max-width: 1040px;
        margin: 0 auto;
    }

    /* okruszki */
    .nowa-startowa .ns-ak-crumbs {
        display: flex;
        flex-wrap: wrap;
        align-items: center;
        gap: .5rem;
        margin-bottom: 1.7rem;
        font-family: 'Bree Serif', serif;
        text-transform: uppercase;
        font-size: .82rem;
        letter-spacing: .5px;
        color: #9a9a9a;
    }
    .nowa-startowa .ns-ak-crumbs a { color: #9a9a9a; text-decoration: none; transition: color .15s ease; }
    .nowa-startowa .ns-ak-crumbs a:hover { color: var(--ns-accent); }
    .nowa-startowa .ns-ak-crumbs .is-current {
        color: var(--ns-ink);
        max-width: 52ch;
        overflow: hidden;
        text-overflow: ellipsis;
        white-space: nowrap;
    }
    .dark-mode .nowa-startowa .ns-ak-crumbs,
    .dark-mode .nowa-startowa .ns-ak-crumbs a { color: #8f8f8f; }
    .dark-mode .nowa-startowa .ns-ak-crumbs .is-current { color: #e6e6e6; }

    .nowa-startowa .ns-ak-hero__kickers {
        display: flex;
        flex-wrap: wrap;
        gap: .5rem;
        margin-bottom: 1.1rem;
    }
    .nowa-startowa .ns-ak-hero__kicker {
        font-family: 'Bree Serif', serif;
        text-transform: uppercase;
        font-size: .86rem;
        letter-spacing: .5px;
        background: var(--ns-accent);
        color: #fff !important;
        text-decoration: none;
        padding: .32rem .9rem;
        transition: background-color .15s ease, transform .15s ease;
    }
    .nowa-startowa .ns-ak-hero__kicker:hover { background: var(--ns-ink); transform: translateY(-1px); }

    .nowa-startowa .ns-ak-hero__title {
        font-family: 'Bree Serif', serif;
        text-transform: uppercase;
        line-height: 1.04;
        font-size: clamp(1.9rem, 1.2rem + 3.4vw, 3.3rem);
        margin: 0 0 .85rem;
        color: #fff;
        text-shadow: 2px 2px 6px rgba(0, 0, 0, .35);
    }
    .nowa-startowa .ns-ak-hero__lead {
        font-family: system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
        font-size: 1.12rem;
        line-height: 1.6;
        color: #c9c9c9;
        margin: 0 0 1.1rem;
    }
    .nowa-startowa .ns-ak-hero__meta {
        display: flex;
        flex-wrap: wrap;
        align-items: baseline;
        gap: .35rem .7rem;
        font-family: 'Bree Serif', serif;
        text-transform: uppercase;
        font-size: .88rem;
        letter-spacing: .4px;
        color: rgba(255, 255, 255, .65);
    }
    .nowa-startowa .ns-ak-hero__meta .ns-ak-hero__author { color: var(--ns-accent); }
    .nowa-startowa .ns-ak-hero__meta .ns-ak-hero__upd { color: rgba(255, 255, 255, .5); }

    /* zdjęcie główne - kadr 16:9, pod ciemnym paskiem, w osi treści */
    .nowa-startowa .ns-ak-figure {
        max-width: 1040px;
        margin: 1.8rem auto 0;
    }
    .nowa-startowa .ns-ak-figure img {
        display: block;
        width: 100%;
        aspect-ratio: 16 / 9;
        object-fit: cover;
        background: var(--ns-line);
        border: 1px solid var(--ns-line);
        box-shadow: 0 22px 48px -24px rgba(0, 0, 0, .3), 0 8px 18px -10px rgba(0, 0, 0, .16);
    }
    .dark-mode .nowa-startowa .ns-ak-figure img { border-color: #3a3a3a; }
    .nowa-startowa .ns-ak-figure figcaption {
        margin-top: .5rem;
        font-family: 'Bree Serif', serif;
        text-transform: uppercase;
        font-size: .68rem;
        letter-spacing: .3px;
        color: #9a9a9a;
    }
    .nowa-startowa .ns-ak-figure figcaption a { color: var(--ns-accent); }

    .nowa-startowa .ns-ak-article {
        max-width: 1040px;
        margin: 2.75rem auto 0;
    }
    .nowa-startowa .ns-ak-prose {
        font-family: system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
        font-size: 1.08rem;
        line-height: 1.72;
        color: #2c2c2c;
        overflow-wrap: break-word;
    }
    .dark-mode .nowa-startowa .ns-ak-prose { color: #d0d0d0; }
    /* inicjał tylko gdy wpis zaczyna się akapitem (nie obrazkiem / nagłówkiem) */
    .nowa-startowa .ns-ak-prose > p:first-child::first-letter {
        font-family: 'Bree Serif', serif;
        float: left;
        font-size: 3.4rem;
        line-height: .82;
        padding: .1rem .5rem 0 0;
        color: var(--ns-accent);
    }
    .nowa-startowa .ns-ak-prose p { margin: 0 0 1.15rem; }
    .nowa-startowa .ns-ak-prose > :first-child { margin-top: 0; }
    .nowa-startowa .ns-ak-prose > :last-child { margin-bottom: 0; }
    .nowa-startowa .ns-ak-prose img { height: auto; margin: 1.4rem 0; }
    .nowa-startowa .ns-ak-prose figure { margin: 1.6rem 0; }
    .nowa-startowa .ns-ak-prose figure img { margin: 0; }
    .nowa-startowa .ns-ak-prose figcaption {
        margin-top: .45rem;
        font-size: .85rem;
        color: #8a8a8a;
        text-align: center;
    }
    .nowa-startowa .ns-ak-prose h2,
    .nowa-startowa .ns-ak-prose h3,
    .nowa-startowa .ns-ak-prose h4 {
        font-family: 'Bree Serif', serif;
        text-transform: uppercase;
        margin: 1.9rem 0 .6rem;
        line-height: 1.15;
        scroll-margin-top: 90px;
    }
    .nowa-startowa .ns-ak-prose h2 { font-size: 1.55rem; }
    .nowa-startowa .ns-ak-prose h3 { font-size: 1.25rem; }
    .nowa-startowa .ns-ak-prose h4 { font-size: 1.05rem; letter-spacing: .3px; }
    .nowa-startowa .ns-ak-prose ul,
    .nowa-startowa .ns-ak-prose ol { margin: 0 0 1.15rem; padding-left: 1.4rem; }
    .nowa-startowa .ns-ak-prose li { margin: .3rem 0; }
    .nowa-startowa .ns-ak-prose li::marker { color: var(--ns-accent); }
    .nowa-startowa .ns-ak-prose a { color: var(--ns-accent); text-decoration: underline; text-underline-offset: 2px; }
    .nowa-startowa .ns-ak-prose hr {
        margin: 2rem 0;
        border: 0;
        border-top: 1px solid var(--ns-line);
    }
    .dark-mode .nowa-startowa .ns-ak-prose hr { border-color: #3a3a3a; }
    .nowa-startowa .ns-ak-prose blockquote {
        margin: 1.6rem 0;
        padding: .6rem 0 .6rem 1.2rem;
        border-left: 3px solid var(--ns-accent);
        font-style: italic;
        color: #555;
    }
    .dark-mode .nowa-startowa .ns-ak-prose blockquote { color: #a8a8a8; }
    .nowa-startowa .ns-ak-prose pre,
    .nowa-startowa .ns-ak-prose code {
        font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
        font-size: .92em;
    }
    .nowa-startowa .ns-ak-prose code {
        background: rgba(0, 0, 0, .06);
        padding: .1rem .35rem;
    }
    .dark-mode .nowa-startowa .ns-ak-prose code { background: rgba(255, 255, 255, .1); }
    .nowa-startowa .ns-ak-prose pre {
        margin: 1.5rem 0;
        padding: 1rem 1.15rem;
        background: #1e1e1e;
        color: #eee;
        overflow-x: auto;
    }
    .nowa-startowa .ns-ak-prose pre code { background: none; padding: 0; }
    .nowa-startowa .ns-ak-prose .table-wrap,
    .nowa-startowa .ns-ak-prose table { display: block; overflow-x: auto; }
    .nowa-startowa .ns-ak-prose table {
        width: 100%;
        border-collapse: collapse;
        margin: 1.5rem 0;
        font-size: .95rem;
    }
    .nowa-startowa .ns-ak-prose th,
    .nowa-startowa .ns-ak-prose td {
        border: 1px solid var(--ns-line);
        padding: .5rem .7rem;
        text-align: left;
    }
    .dark-mode .nowa-startowa .ns-ak-prose th,
    .dark-mode .nowa-startowa .ns-ak-prose td { border-color: #3a3a3a; }
    .nowa-startowa .ns-ak-prose th {
        font-family: 'Bree Serif', serif;
        text-transform: uppercase;
        font-size: .8rem;
        letter-spacing: .3px;
        background: rgba(245, 107, 6, .08);
    }
    .nowa-startowa .ns-ak-prose iframe {
        display: block;
        width: 100%;
        aspect-ratio: 16 / 9;
        height: auto;
        margin: 1.6rem 0;
        border: 0;
    }

    /* tagi pod treścią wpisu */
    .nowa-startowa .ns-ak-tags {
        display: flex;
        flex-wrap: wrap;
        align-items: center;
        gap: .55rem;
        margin: 2.4rem 0 0;
        padding-top: 1.6rem;
        border-top: 1px solid var(--ns-line);
    }
    .dark-mode .nowa-startowa .ns-ak-tags { border-color: #3a3a3a; }
    .nowa-startowa .ns-ak-tags__label {
        flex: 0 0 auto;
        margin-right: .35rem;
        font-family: 'Bree Serif', serif;
        text-transform: uppercase;
        font-size: .86rem;
        letter-spacing: .5px;
        color: #8a8a8a;
        text-decoration: none;
        transition: color .15s ease;
    }
    .nowa-startowa .ns-ak-tags__label:hover { color: var(--ns-accent); }
    .nowa-startowa .ns-ak-tags a:not(.ns-ak-tags__label) {
        font-family: 'Bree Serif', serif;
        text-transform: uppercase;
        font-size: .88rem;
        letter-spacing: .4px;
        padding: .4rem 1rem;
        border: 1px solid var(--ns-line);
        color: var(--ns-accent);
        text-decoration: none;
        transition: background .15s ease, color .15s ease, border-color .15s ease;
    }
    .dark-mode .nowa-startowa .ns-ak-tags a:not(.ns-ak-tags__label) { border-color: #444; }
    .nowa-startowa .ns-ak-tags a:not(.ns-ak-tags__label):hover {
        background: var(--ns-accent);
        border-color: var(--ns-accent);
        color: #fff !important;
    }

    .nowa-startowa .ns-ak-foot {
        margin: 2rem 0 0;
        padding-top: 1.1rem;
        border-top: 1px solid var(--ns-line);
        display: flex;
        justify-content: space-between;
        align-items: center;
        flex-wrap: wrap;
        gap: .6rem;
        font-family: 'Bree Serif', serif;
        text-transform: uppercase;
        font-size: .74rem;
        letter-spacing: .3px;
        color: #8a8a8a;
    }
    .dark-mode .nowa-startowa .ns-ak-foot { border-color: #3a3a3a; }
    .nowa-startowa .ns-ak-foot__src a { color: var(--ns-accent); }

    /* prev / next */
    .nowa-startowa .ns-ak-nav {
        display: grid;
        grid-template-columns: 1fr 1fr;
        gap: clamp(.6rem, 2vw, 1rem);
        max-width: 1040px;
        margin: 2.5rem auto 0;
    }
    @media (max-width: 640px) { .nowa-startowa .ns-ak-nav { grid-template-columns: 1fr; } }
    .nowa-startowa .ns-ak-navcard {
        display: flex;
        align-items: center;
        gap: 1rem;
        padding: 1.35rem 1.5rem;
        border: 1px solid var(--ns-line);
        color: inherit;
        transition: border-color .18s ease, transform .18s ease, box-shadow .18s ease;
    }
    .dark-mode .nowa-startowa .ns-ak-navcard { border-color: #3a3a3a; }
    .nowa-startowa .ns-ak-navcard:hover {
        border-color: var(--ns-accent);
        transform: translateY(-3px);
        box-shadow: 0 12px 24px rgba(0, 0, 0, .1);
    }
    .nowa-startowa .ns-ak-navcard--next { text-align: right; justify-content: flex-end; }
    .nowa-startowa .ns-ak-navcard__dir {
        font-family: 'Bree Serif', serif;
        text-transform: uppercase;
        font-size: .82rem;
        letter-spacing: .5px;
        color: var(--ns-accent);
        margin-bottom: .15rem;
    }
    .nowa-startowa .ns-ak-navcard__title {
        font-family: 'Bree Serif', serif;
        text-transform: uppercase;
        font-size: 1.18rem;
        line-height: 1.22;
        display: -webkit-box;
        -webkit-line-clamp: 2;
        -webkit-box-orient: vertical;
        overflow: hidden;
    }
    .nowa-startowa .ns-ak-navcard svg { flex: 0 0 auto; width: 26px; height: 26px; color: var(--ns-accent); }

/* ============================================================
   6. STATYSTYKI - lista meczów (/statystyki/dane-meczu)
   (dawniej: statistics/_games_styles.blade.php)
   ============================================================ */

    /* filtr sezonu (bez ramki) */
    .nowa-startowa .ns-gm-filter {
        display: flex;
        flex-wrap: wrap;
        align-items: center;
        gap: .55rem;
        margin: .1rem 0 1.6rem;
        padding-bottom: .7rem;
        border-bottom: 1px solid var(--ns-line);
    }
    .nowa-startowa .ns-gm-filter__label {
        font-family: 'Bree Serif', serif;
        text-transform: uppercase;
        font-size: .72rem;
        letter-spacing: .5px;
        color: #9a9a9a;
    }
    .nowa-startowa .ns-gm-filter form { margin: 0; position: relative; }
    /* select sezonu - ramka jak na /terminarz. To fallback na wypadek braku JS;
       po enhancemencie (patrz nsGmEnhanceSelect w bottom-js-script) select znika,
       a w jego miejsce staje .ns-gm-filter__btn + własna, stylowana lista
       .ns-gm-filter__list (natywnej listy opcji przeglądarka nie pozwala ostylować) */
    .nowa-startowa .ns-gm-filter select {
        border: 1px solid var(--ns-ink);
        background-color: rgba(245, 107, 6, .06);
        font-family: 'Bree Serif', serif;
        text-transform: uppercase;
        font-size: .95rem;
        letter-spacing: .3px;
        color: var(--ns-ink);
        min-width: 17rem;
        max-width: 100%;
        padding: .55rem 2.8rem .55rem 1rem;
        cursor: pointer;
        -webkit-appearance: none;
        -moz-appearance: none;
        appearance: none;
        background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 16 16' fill='%23f56b06'><path d='M8 11L3 6h10z'/></svg>");
        background-repeat: no-repeat;
        background-position: right .55rem center;
        background-size: 20px;
        outline: none;
        transition: border-color .16s ease, box-shadow .16s ease;
    }
    .dark-mode .nowa-startowa .ns-gm-filter select { background-color: rgba(245, 107, 6, .14); color: #eee; border-color: #f1f1f1; }
    .nowa-startowa .ns-gm-filter select:hover { border-color: var(--ns-accent); }
    .nowa-startowa .ns-gm-filter select:focus {
        border-color: var(--ns-accent);
        box-shadow: 0 0 0 3px rgba(245, 107, 6, .15);
    }

    /* natywny select po enhancemencie JS - zostaje w DOM (wartość + event change),
       wizualnie schowany tak, żeby dało się go jeszcze focusować/odczytać */
    .nowa-startowa .ns-gm-filter select.ns-gm-filter__native--hidden {
        position: absolute !important;
        width: 1px !important;
        height: 1px !important;
        padding: 0 !important;
        margin: -1px !important;
        overflow: hidden !important;
        clip: rect(0, 0, 0, 0) !important;
        white-space: nowrap !important;
        border: 0 !important;
    }
    .nowa-startowa .ns-gm-filter__btn {
        display: flex;
        align-items: center;
        justify-content: space-between;
        gap: .6rem;
        min-width: 17rem;
        max-width: 100%;
        border: 1px solid var(--ns-ink);
        background: rgba(245, 107, 6, .06);
        font-family: 'Bree Serif', serif;
        text-transform: uppercase;
        font-size: .95rem;
        letter-spacing: .3px;
        color: var(--ns-ink);
        padding: .55rem 1rem;
        cursor: pointer;
        transition: border-color .16s ease, box-shadow .16s ease;
    }
    .dark-mode .nowa-startowa .ns-gm-filter__btn { background: rgba(245, 107, 6, .14); border-color: #f1f1f1; color: #f1f1f1; }
    .nowa-startowa .ns-gm-filter__btn:hover { border-color: var(--ns-accent); }
    .nowa-startowa .ns-gm-filter__btn:focus-visible,
    .nowa-startowa .ns-gm-filter form.is-open .ns-gm-filter__btn {
        border-color: var(--ns-accent);
        box-shadow: 0 0 0 3px rgba(245, 107, 6, .15);
        outline: none;
    }
    .nowa-startowa .ns-gm-filter__value { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
    .nowa-startowa .ns-gm-filter__arrow {
        flex: 0 0 auto;
        width: 20px;
        height: 20px;
        color: var(--ns-accent);
        transition: transform .18s ease;
    }
    .nowa-startowa .ns-gm-filter form.is-open .ns-gm-filter__arrow { transform: rotate(180deg); }

    .nowa-startowa .ns-gm-filter__list {
        position: absolute;
        top: calc(100% + 6px);
        left: 0;
        right: 0;
        z-index: 40;
        max-height: 280px;
        overflow-y: auto;
        margin: 0;
        padding: .3rem 0;
        list-style: none;
        background: #fff;
        border: 1px solid var(--ns-ink);
        box-shadow: 0 12px 28px rgba(0, 0, 0, .16);
    }
    .dark-mode .nowa-startowa .ns-gm-filter__list {
        background: #1e1e1e;
        border-color: #f1f1f1;
        box-shadow: 0 12px 28px rgba(0, 0, 0, .5);
    }
    .nowa-startowa .ns-gm-filter__option {
        padding: .55rem 1rem;
        font-family: 'Bree Serif', serif;
        text-transform: uppercase;
        font-size: .85rem;
        letter-spacing: .2px;
        color: var(--ns-ink);
        cursor: pointer;
        transition: background-color .12s ease, color .12s ease;
    }
    .dark-mode .nowa-startowa .ns-gm-filter__option { color: #eee; }
    .nowa-startowa .ns-gm-filter__option:hover { background: rgba(245, 107, 6, .12); }
    .nowa-startowa .ns-gm-filter__option.is-selected {
        background: var(--ns-accent);
        color: #fff;
        font-weight: 700;
    }

    @media (max-width: 480px) {
        .nowa-startowa .ns-gm-filter { flex-wrap: wrap; }
        .nowa-startowa .ns-gm-filter form,
        .nowa-startowa .ns-gm-filter select,
        .nowa-startowa .ns-gm-filter__btn { width: 100%; min-width: 0; }
        .nowa-startowa .ns-gm-filter select,
        .nowa-startowa .ns-gm-filter__btn { font-size: 1rem; }
    }

    .nowa-startowa .ns-gm-filter__count {
        margin-left: auto;
        font-family: 'Bree Serif', serif;
        text-transform: uppercase;
        font-size: .72rem;
        letter-spacing: .3px;
        color: #9a9a9a;
    }
    .nowa-startowa .ns-gm-filter__count b { color: var(--ns-accent); }

    /* lista meczów - karty w siatce, z okrągłymi herbami */
    .nowa-startowa .ns-gm-list {
        display: grid;
        grid-template-columns: repeat(auto-fill, minmax(430px, 1fr));
        gap: clamp(.7rem, 2vw, 1.1rem);
    }
    @media (max-width: 560px) {
        .nowa-startowa .ns-gm-list { grid-template-columns: 1fr; }
    }
    .nowa-startowa .ns-gm-card {
        position: relative;
        display: block;
        padding: 1.15rem 1.3rem 1rem;
        background: #fff;
        border: 1px solid var(--ns-line);
        color: inherit;
        text-decoration: none;
        overflow: hidden;
        transition: transform .18s ease, border-color .18s ease, box-shadow .18s ease;
    }
    .dark-mode .nowa-startowa .ns-gm-card { background: #262626; border-color: #3d3d3d; }
    .nowa-startowa .ns-gm-card::before {
        content: "";
        position: absolute;
        left: 0; top: 0; bottom: 0;
        width: 2px;
        background: var(--ns-line);
        transition: background-color .18s ease;
    }
    .nowa-startowa a.ns-gm-card:hover {
        transform: translateY(-4px);
        border-color: var(--ns-accent);
        box-shadow: 0 16px 30px rgba(0, 0, 0, .12);
    }
    .nowa-startowa a.ns-gm-card:hover::before { background: var(--ns-accent); }

    .nowa-startowa .ns-gm-score {
        display: grid;
        grid-template-columns: 1fr auto 1fr;
        align-items: center;
        gap: .9rem;
    }
    .nowa-startowa .ns-gm-side {
        display: flex;
        align-items: center;
        gap: .65rem;
        min-width: 0;
        font-family: 'Bree Serif', serif;
        text-transform: uppercase;
    }
    .nowa-startowa .ns-gm-side.home { justify-content: flex-end; }
    .nowa-startowa .ns-gm-side.away { justify-content: flex-start; }
    .nowa-startowa .ns-gm-name {
        min-width: 0;
        font-size: 1.05rem;
        line-height: 1.15;
        color: var(--ns-ink);
        overflow: hidden;
        text-overflow: ellipsis;
        white-space: nowrap;
    }
    .dark-mode .nowa-startowa .ns-gm-name { color: #eee; }
    .nowa-startowa .ns-gm-side.win .ns-gm-name { color: var(--ns-accent); }
    .nowa-startowa .ns-gm-crest {
        flex: 0 0 auto;
        width: 42px;
        height: 42px;
        border-radius: 50%;
        display: flex;
        align-items: center;
        justify-content: center;
        background: var(--ns-line);
        color: #666;
        font-family: 'Bree Serif', serif;
        font-size: .82rem;
        transition: background-color .18s ease, color .18s ease;
    }
    .dark-mode .nowa-startowa .ns-gm-crest { background: #3a3a3a; color: #bbb; }
    .nowa-startowa .ns-gm-side.win .ns-gm-crest { background: var(--ns-accent); color: #fff; }
    .nowa-startowa .ns-gm-pts {
        font-family: 'Bree Serif', serif;
        font-size: 1.5rem;
        font-variant-numeric: tabular-nums;
        white-space: nowrap;
        padding: .15rem .8rem;
        border: 1px solid var(--ns-ink);
        color: var(--ns-ink);
    }
    .dark-mode .nowa-startowa .ns-gm-pts { color: #eee; border-color: #666; }

    .nowa-startowa .ns-gm-meta {
        margin-top: .9rem;
        padding-top: .7rem;
        border-top: 1px dashed var(--ns-line);
        display: flex;
        flex-wrap: wrap;
        gap: .25rem .9rem;
        font-family: 'Bree Serif', serif;
        text-transform: uppercase;
        font-size: .67rem;
        letter-spacing: .3px;
        color: #8a8a8a;
    }
    .nowa-startowa .ns-gm-meta b { color: var(--ns-ink); font-weight: 400; }
    .dark-mode .nowa-startowa .ns-gm-meta b { color: #ddd; }
    .nowa-startowa .ns-gm-meta .id { margin-left: auto; color: #b5b5b5; }

    @media (max-width: 540px) {
        .nowa-startowa .ns-gm-score { gap: .5rem; }
        .nowa-startowa .ns-gm-crest { width: 34px; height: 34px; font-size: .74rem; }
        .nowa-startowa .ns-gm-name { font-size: .9rem; }
        .nowa-startowa .ns-gm-pts { font-size: 1.2rem; padding: .1rem .55rem; }
        .nowa-startowa .ns-gm-meta .id { margin-left: 0; }
    }

    .nowa-startowa .ns-gm-empty {
        padding: 1.5rem .2rem;
        font-family: 'Bree Serif', serif;
        text-transform: uppercase;
        letter-spacing: .4px;
        font-size: .8rem;
        color: #9a9a9a;
    }

/* ============================================================
   7. STATYSTYKI - widok meczu (/statystyki/dane-meczu/{id})
   (dawniej: statistics/_game_styles.blade.php)
   ============================================================ */

    .nowa-startowa .ns-gd { margin-top: .4rem; }

    /* ---------- tablica wyniku ---------- */
    .nowa-startowa .ns-gd-board {
        display: grid;
        grid-template-columns: 1fr auto 1fr;
        align-items: center;
        gap: clamp(.8rem, 3vw, 2.4rem);
        padding: 1.4rem clamp(1rem, 3vw, 2rem);
        background:
            radial-gradient(900px 320px at 12% -30%, rgba(245, 107, 6, .16), transparent 62%),
            linear-gradient(160deg, #1c1c1c 0%, #171717 60%, #241606 100%);
        color: #fff;
    }
    .nowa-startowa .ns-gd-board__team {
        min-width: 0;
        font-family: 'Bree Serif', serif;
        text-transform: uppercase;
        font-size: clamp(1.15rem, .8rem + 2vw, 1.9rem);
        line-height: 1.12;
    }
    .nowa-startowa .ns-gd-board__team--a { text-align: right; }
    .nowa-startowa .ns-gd-board__team a { color: #fff; text-decoration: none; }
    .nowa-startowa .ns-gd-board__team a:hover { color: var(--ns-accent); }
    .nowa-startowa .ns-gd-board__team.win a,
    .nowa-startowa .ns-gd-board__team.win { color: var(--ns-accent); }

    .nowa-startowa .ns-gd-board__score {
        display: flex;
        align-items: center;
        gap: .55rem;
        font-family: 'Bree Serif', serif;
        font-variant-numeric: tabular-nums;
        font-size: clamp(2rem, 1.2rem + 4vw, 3.4rem);
        font-weight: 700;
        -webkit-text-stroke: .6px currentColor;
        paint-order: stroke fill;
        line-height: 1;
        white-space: nowrap;
    }
    .nowa-startowa .ns-gd-board__score .sep { color: rgba(255, 255, 255, .35); }
    .nowa-startowa .ns-gd-board__score .win { color: var(--ns-accent); }

    /* ---------- nawigacja meczu (pochyłe kafle z hoverem) ---------- */
    .nowa-startowa .ns-gd-nav {
        display: flex;
        flex-wrap: wrap;
        gap: .65rem;
        margin: 1.3rem 0 0;
        padding: 0;
        list-style: none;
    }
    .nowa-startowa .ns-gd-nav a {
        position: relative;
        display: inline-flex;
        align-items: center;
        padding: .9rem 1.85rem;
        border: 1px solid var(--ns-ink);
        font-family: 'Bree Serif', serif;
        text-transform: uppercase;
        font-size: 1.12rem;
        letter-spacing: .5px;
        color: var(--ns-ink) !important;
        background: #fff;
        text-decoration: none;
        overflow: hidden;
        transform: skew(-9deg);
        transition: background-color .16s ease, color .16s ease, border-color .16s ease, transform .16s ease, box-shadow .16s ease;
    }
    .nowa-startowa .ns-gd-nav a > span {
        display: inline-flex;
        align-items: center;
        gap: .6rem;
        flex-shrink: 0; /* domyślne flex-shrink:1 na tym spanie kurczyło tekst do 2 linii
                            mimo flex-shrink:0 na samym <a> - stąd różna wysokość kafli */
        white-space: nowrap;
        transform: skew(9deg);
    }
    .nowa-startowa .ns-gd-nav a svg { flex: 0 0 auto; width: 19px; height: 19px; opacity: .55; transition: opacity .16s ease, transform .16s ease; }
    /* błysk przesuwający się po kafelku na hover - dodatkowy "fancy" akcent */
    .nowa-startowa .ns-gd-nav a::after {
        content: "";
        position: absolute;
        top: 0; bottom: 0;
        left: -60%;
        width: 40%;
        background: linear-gradient(115deg, transparent, rgba(255, 255, 255, .35), transparent);
        transform: skewX(-20deg);
        transition: left .5s ease;
        pointer-events: none;
    }
    .nowa-startowa .ns-gd-nav a:hover::after { left: 130%; }
    .dark-mode .nowa-startowa .ns-gd-nav a { color: #eee !important; background: #2b2b2b; border-color: #eee; }
    .nowa-startowa .ns-gd-nav a:hover {
        background: var(--ns-ink);
        border-color: var(--ns-ink);
        color: #fff !important;
        transform: skew(-9deg) translateY(-3px);
        box-shadow: 0 12px 22px rgba(0, 0, 0, .16);
    }
    .nowa-startowa .ns-gd-nav a:hover svg { opacity: 1; transform: scale(1.1); }
    .dark-mode .nowa-startowa .ns-gd-nav a:hover { background: #000; border-color: #000; }
    .nowa-startowa .ns-gd-nav a.is-active {
        background: var(--ns-accent);
        border-color: var(--ns-accent);
        color: #fff !important;
        box-shadow: 0 0 0 3px rgba(245, 107, 6, .18);
    }
    .nowa-startowa .ns-gd-nav a.is-active svg { opacity: 1; }
    .nowa-startowa .ns-gd-nav a.is-active:hover {
        background: var(--ns-accent);
        border-color: var(--ns-accent);
        box-shadow: 0 12px 22px rgba(245, 107, 6, .3);
    }
    @media (max-width: 700px) {
        .nowa-startowa .ns-gd-nav a { padding: .6rem 1.1rem; font-size: .88rem; }
    }
    /* mobile: statystyki / rozkład rzutów / akcja po akcji muszą zmieścić się
       w jednej linii - mocno ścieśniamy kafle, a na najwęższych ekranach pasek
       staje się poziomo przewijalny zamiast się łamać na kolejne wiersze */
    @media (max-width: 480px) {
        .nowa-startowa .ns-gd-nav {
            flex-wrap: nowrap;
            gap: .35rem;
            overflow-x: auto;
            padding-bottom: .2rem;
        }
        .nowa-startowa .ns-gd-nav a {
            flex: 0 0 auto;
            padding: .5rem .6rem;
            font-size: .7rem;
            letter-spacing: .2px;
        }
        .nowa-startowa .ns-gd-nav a > span { gap: .35rem; }
        .nowa-startowa .ns-gd-nav a svg { width: 13px; height: 13px; }
    }

    /* ---------- zakładki z nazwami drużyn (skład A/B) - ten sam fancy styl
       co .ns-gd-nav: skośne kafle, błysk na hover, aktywna = pomarańcz ---------- */
    .nowa-startowa .ns-gd-teamtabs {
        display: flex;
        gap: .65rem;
        margin: 1.3rem 0 0;
        padding: 0;
        list-style: none;
    }
    .nowa-startowa .ns-gd-teamtabs .nav-item { flex: 1 1 0; }
    .nowa-startowa .ns-gd-teamtabs .nav-link {
        position: relative;
        display: flex;
        align-items: center;
        justify-content: center;
        width: 100%;
        padding: .9rem 1rem;
        margin: 0;
        border: 1px solid var(--ns-ink);
        border-radius: 0;
        background: #fff;
        overflow: hidden;
        transform: skew(-9deg);
        transition: background-color .16s ease, border-color .16s ease, transform .16s ease, box-shadow .16s ease;
    }
    .nowa-startowa .ns-gd-teamtabs .nav-link h3 {
        margin: 0;
        font-size: 1.05rem;
        text-transform: uppercase;
        letter-spacing: .5px;
        color: var(--ns-ink);
        transform: skew(9deg);
        transition: color .16s ease;
    }
    /* błysk przesuwający się po kafelku na hover */
    .nowa-startowa .ns-gd-teamtabs .nav-link::after {
        content: "";
        position: absolute;
        top: 0; bottom: 0;
        left: -60%;
        width: 40%;
        background: linear-gradient(115deg, transparent, rgba(255, 255, 255, .35), transparent);
        transform: skewX(-20deg);
        transition: left .5s ease;
        pointer-events: none;
    }
    .nowa-startowa .ns-gd-teamtabs .nav-link:hover::after { left: 130%; }
    .dark-mode .nowa-startowa .ns-gd-teamtabs .nav-link { background: #2b2b2b; border-color: #eee; }
    .dark-mode .nowa-startowa .ns-gd-teamtabs .nav-link h3 { color: #eee; }
    .nowa-startowa .ns-gd-teamtabs .nav-link:hover {
        background: var(--ns-ink);
        border-color: var(--ns-ink);
        transform: skew(-9deg) translateY(-3px);
        box-shadow: 0 12px 22px rgba(0, 0, 0, .16);
    }
    .nowa-startowa .ns-gd-teamtabs .nav-link:hover h3 { color: #fff; }
    .dark-mode .nowa-startowa .ns-gd-teamtabs .nav-link:hover { background: #000; border-color: #000; }
    .nowa-startowa .ns-gd-teamtabs .nav-link.active {
        background: var(--ns-accent);
        border-color: var(--ns-accent);
        box-shadow: 0 0 0 3px rgba(245, 107, 6, .18);
    }
    .nowa-startowa .ns-gd-teamtabs .nav-link.active h3 { color: #fff; }
    .nowa-startowa .ns-gd-teamtabs .nav-link.active:hover {
        background: var(--ns-accent);
        border-color: var(--ns-accent);
        box-shadow: 0 12px 22px rgba(245, 107, 6, .3);
    }
    @media (max-width: 480px) {
        .nowa-startowa .ns-gd-teamtabs { gap: .35rem; }
        .nowa-startowa .ns-gd-teamtabs .nav-link { padding: .6rem .4rem; }
        .nowa-startowa .ns-gd-teamtabs .nav-link h3 { font-size: .8rem; }
    }

    /* ---------- przycisk-przełącznik widoku (siatka 4/6 kolumn) - błysk jak
       przy ikonkach w headerze/footerze, działanie bez zmian ---------- */
    #switch-tab {
        position: relative;
        overflow: hidden;
    }
    #switch-tab::after {
        content: "";
        position: absolute;
        top: 0; bottom: 0;
        left: -60%;
        width: 40%;
        background: linear-gradient(115deg, transparent, rgba(255, 255, 255, .4), transparent);
        transform: skewX(-20deg);
        transition: left .5s ease;
        pointer-events: none;
    }
    #switch-tab:hover::after { left: 130%; }

    /* ---------- pierwszy wiersz (nagłówek) i "Podsumowanie" tabeli zawodników -
       czarne, jak nagłówek tabeli kwartałów (.ns-gd-quarters thead th), żeby oba
       widoki (karty A/B osobno lub jedna pod drugą) wyglądały spójnie ---------- */
    .nowa-startowa .ns-gd-playertbl thead th {
        background: var(--ns-ink);
        color: #fff !important;
        font-family: 'Bree Serif', serif;
        text-transform: uppercase;
        letter-spacing: .3px;
        font-size: .74rem;
        vertical-align: middle;
    }
    .nowa-startowa .ns-gd-playertbl thead th .small { color: rgba(255, 255, 255, .7); }
    .nowa-startowa .ns-gd-summary { border-top: 2px solid var(--ns-accent); }
    /* tło na samych <td>, nie tylko <tr> - inaczej table-striped-columns z
       Bootstrapa maluje swoje tło na komórkach na wierzchu i chowa czarne tło rzędu */
    .nowa-startowa .ns-gd-summary > td {
        background: var(--ns-ink) !important;
        color: #fff !important;
        font-weight: 700;
    }

    /* nazwa drużyny nad tabelą zawodników - większa, z odstępem nad sobą (w widoku
       "jedna pod drugą" to właśnie ten margines rozdziela dwie tabele) */
    .nowa-startowa .ns-gd-teamname {
        margin-top: 2.25rem;
        font-size: 1.7rem;
        text-transform: uppercase;
        letter-spacing: .5px;
    }
    .nowa-startowa .ns-gd-teamname a { color: inherit; text-decoration: none; }
    .nowa-startowa .ns-gd-teamname a:hover { color: var(--ns-accent); }
    @media (max-width: 575.98px) {
        .nowa-startowa .ns-gd-teamname { font-size: 1.3rem; }
    }

    /* ---------- pasek meta nagłówka - kafelki z akcentem po lewej (jak
       .ns-scr-info na /statystyki/wyniki) zamiast płaskiej listy klucz-wartość ---------- */
    .nowa-startowa .ns-gd-meta {
        display: grid;
        grid-template-columns: repeat(auto-fill, minmax(160px, 1fr));
        gap: .6rem;
        margin: 1.3rem 0 0;
        padding: 0;
        list-style: none;
        font-family: 'Bree Serif', serif;
        font-size: .92rem;
    }
    .nowa-startowa .ns-gd-meta li {
        position: relative;
        list-style: none;
        min-width: 0;
        padding: .6rem .9rem .6rem 1rem;
        border: 1px solid var(--ns-line);
        background: #fafafa;
        overflow: hidden;
        transition: border-color .16s ease, background-color .16s ease;
    }
    .dark-mode .nowa-startowa .ns-gd-meta li { background: #232323; border-color: #3d3d3d; }
    .nowa-startowa .ns-gd-meta li::before {
        content: "";
        position: absolute;
        left: 0; top: 0; bottom: 0;
        width: 2px;
        background: var(--ns-accent);
    }
    .nowa-startowa .ns-gd-meta li:hover {
        border-color: var(--ns-accent);
        background: rgba(245, 107, 6, .06);
    }
    .nowa-startowa .ns-gd-meta .k {
        display: block;
        text-transform: uppercase;
        font-size: .64rem;
        letter-spacing: .5px;
        color: #9a9a9a;
        margin: 0 0 .1rem;
    }
    .nowa-startowa .ns-gd-meta .v {
        display: block;
        font-weight: 700;
        -webkit-text-stroke: .3px currentColor;
        paint-order: stroke fill;
        color: var(--ns-ink);
        overflow-wrap: anywhere;
    }
    .dark-mode .nowa-startowa .ns-gd-meta .v { color: #eee; }
    @media (max-width: 400px) {
        .nowa-startowa .ns-gd-meta { grid-template-columns: 1fr 1fr; }
    }

    /* ---------- stopka: godziny/ID po lewej, sędziowie po prawej - bootstrapowe
       .row/.col-md-6 (przerwa pośrodku z gutter'a), a w środku każdej kolumny
       mini-siatka kafelków (Miejsce rozciąga się na całą szerokość, bo to zwykle
       długi adres) ---------- */
    .nowa-startowa .ns-gd-foot {
        margin: 1.6rem 0 1.5rem;
        padding-top: 1.3rem;
        border-top: 1px solid var(--ns-line);
        font-family: 'Bree Serif', serif;
        font-size: .92rem;
    }
    .nowa-startowa .ns-gd-foot .red-dots {
        display: grid;
        grid-template-columns: repeat(4, minmax(0, 1fr));
        gap: .6rem;
        margin: 0;
        padding: 0;
        list-style: none;
    }
    .nowa-startowa .ns-gd-foot .ns-gd-foot__grid--2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .nowa-startowa .ns-gd-foot .ns-gd-foot__wide { grid-column: span 3; }
    .nowa-startowa .ns-gd-foot .ns-gd-foot__right { grid-column: 2; }
    /* Miejsce (span 3) zostawia wolną 4. kolumnę w swoim wierszu - domyślnie grid
       auto-placement wciągnąłby tam "Godzinę rozpoczęcia" zamiast zejść niżej;
       wymuszamy 3 dolne kafle w osobnym wierszu, wyrównane pod Miejscem */
    .nowa-startowa .ns-gd-foot .ns-gd-foot__grid--4 li:nth-child(2) { grid-column: 1; grid-row: 2; }
    .nowa-startowa .ns-gd-foot .ns-gd-foot__grid--4 li:nth-child(3) { grid-column: 2; grid-row: 2; }
    .nowa-startowa .ns-gd-foot .ns-gd-foot__grid--4 li:nth-child(4) { grid-column: 3; grid-row: 2; }
    @media (max-width: 480px) {
        .nowa-startowa .ns-gd-foot .red-dots { grid-template-columns: repeat(2, minmax(0, 1fr)); }
        .nowa-startowa .ns-gd-foot .ns-gd-foot__wide { grid-column: span 2; }
        .nowa-startowa .ns-gd-foot .ns-gd-foot__right { grid-column: 1; }
        .nowa-startowa .ns-gd-foot .ns-gd-foot__grid--4 li:nth-child(2),
        .nowa-startowa .ns-gd-foot .ns-gd-foot__grid--4 li:nth-child(3),
        .nowa-startowa .ns-gd-foot .ns-gd-foot__grid--4 li:nth-child(4) { grid-column: auto; grid-row: auto; }
    }
    .nowa-startowa .ns-gd-foot .red-dots li {
        position: relative;
        list-style: none;
        min-width: 0;
        padding: .6rem .9rem .6rem 1rem;
        border: 1px solid var(--ns-line);
        background: #fafafa;
        overflow: hidden;
        transition: border-color .16s ease, background-color .16s ease;
    }
    .dark-mode .nowa-startowa .ns-gd-foot .red-dots li { background: #232323; border-color: #3d3d3d; }
    .nowa-startowa .ns-gd-foot .red-dots li::marker { content: none; }
    .nowa-startowa .ns-gd-foot .red-dots li::before {
        content: "";
        position: absolute;
        left: 0; top: 0; bottom: 0;
        width: 2px;
        margin: 0;
        padding: 0;
        border: 0;
        font-size: 0;
        line-height: 0;
        background: var(--ns-accent);
    }
    .nowa-startowa .ns-gd-foot .red-dots li:hover {
        border-color: var(--ns-accent);
        background: rgba(245, 107, 6, .06);
    }
    .nowa-startowa .ns-gd-foot .red-dots .text-secondary,
    .nowa-startowa .ns-gd-foot .red-dots .text-muted {
        display: block;
        text-transform: uppercase;
        font-size: .64rem;
        letter-spacing: .5px;
        color: #9a9a9a !important;
        margin: 0 0 .1rem;
    }
    .nowa-startowa .ns-gd-foot .red-dots .fw-bold {
        display: block;
        color: var(--ns-ink);
        -webkit-text-stroke: .3px currentColor;
        paint-order: stroke fill;
        overflow-wrap: anywhere;
    }
    .dark-mode .nowa-startowa .ns-gd-foot .red-dots .fw-bold { color: #eee; }

    @media (max-width: 600px) {
        .nowa-startowa .ns-gd-foot { flex-direction: column; }
        .nowa-startowa .ns-gd-foot .red-dots:last-child { margin-left: 0; }
    }

    /* ---------- tabelka kwartowa ---------- */
    .nowa-startowa .ns-gd-quarters {
        width: 100%;
        margin: 1.4rem 0 .4rem;
        border-collapse: collapse;
        font-family: 'Bree Serif', serif;
        font-variant-numeric: tabular-nums;
        font-size: .94rem;
    }
    .nowa-startowa .ns-gd-quarters th,
    .nowa-startowa .ns-gd-quarters td {
        border: 1px solid var(--ns-line);
        padding: .5rem .55rem;
        text-align: center;
    }
    .dark-mode .nowa-startowa .ns-gd-quarters th,
    .dark-mode .nowa-startowa .ns-gd-quarters td { border-color: #3d3d3d; }
    .nowa-startowa .ns-gd-quarters thead th {
        background: var(--ns-ink);
        color: #fff;
        text-transform: uppercase;
        font-size: .72rem;
        letter-spacing: .3px;
    }
    .nowa-startowa .ns-gd-quarters thead th .small { font-size: .64rem; color: rgba(255, 255, 255, .7); }
    .nowa-startowa .ns-gd-quarters tbody th,
    .nowa-startowa .ns-gd-quarters tbody td.text-start,
    .nowa-startowa .ns-gd-quarters td:first-child {
        text-align: left;
        text-transform: uppercase;
    }
    /* pierwsza kolumna (nazwa drużyny) jest position:sticky (patrz .stat-tbl-block-first-row
       w wronba_v1_24.css) - bez własnego tła jest przezroczysta, więc na mobile przy
       przewijaniu tabeli w poziomie widać "przez nią" przesuwające się kolumny liczbowe */
    .nowa-startowa .ns-gd-quarters td:first-child { background: #fff; }
    .dark-mode .nowa-startowa .ns-gd-quarters td:first-child { background: #1c1c1c; }
    .nowa-startowa .ns-gd-quarters td:first-child a { color: var(--ns-ink); }
    .dark-mode .nowa-startowa .ns-gd-quarters td:first-child a { color: #eee; }
    .nowa-startowa .ns-gd-quarters td:first-child a:hover { color: var(--ns-accent); }
    .nowa-startowa .ns-gd-quarters .col-razem { background: rgba(245, 107, 6, .08); font-weight: 700; }

    @media (max-width: 700px) {
        .nowa-startowa .ns-gd-board {
            grid-template-columns: 1fr auto 1fr;
            gap: .6rem;
            padding: 1.1rem .9rem;
        }
        .nowa-startowa .ns-gd-board__team { font-size: 1rem; }
        .nowa-startowa .ns-gd-quarters { font-size: .82rem; display: block; overflow-x: auto; white-space: nowrap; }
    }

    /* ---------- akcja po akcji ---------- */
    .nowa-startowa .ns-ap-wrap { margin: 1.4rem 0 .4rem; }
    .nowa-startowa .ns-ap-scroll { overflow-x: auto; }
    .nowa-startowa .ns-ap {
        width: 100%;
        border-collapse: collapse;
        font-family: 'Bree Serif', serif;
        font-size: .92rem;
    }
    .nowa-startowa .ns-ap thead th {
        background: var(--ns-ink);
        color: #fff;
        text-transform: uppercase;
        font-size: .7rem;
        letter-spacing: .4px;
        text-align: left;
        padding: .55rem .7rem;
        white-space: nowrap;
    }
    .nowa-startowa .ns-ap tbody td {
        border-bottom: 1px solid var(--ns-line);
        padding: .5rem .7rem;
        vertical-align: middle;
    }
    .dark-mode .nowa-startowa .ns-ap tbody td { border-bottom-color: #3d3d3d; }
    .nowa-startowa .ns-ap tbody tr:hover td { background: #faf4ef; }
    .dark-mode .nowa-startowa .ns-ap tbody tr:hover td { background: #2f2f2f; }

    .nowa-startowa .ns-ap__time {
        font-variant-numeric: tabular-nums;
        white-space: nowrap;
        color: var(--ns-ink);
    }
    .dark-mode .nowa-startowa .ns-ap__time { color: #eee; }
    .nowa-startowa .ns-ap__kw { text-align: center; }
    .nowa-startowa .ns-ap__kw span {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        width: 22px;
        height: 22px;
        font-size: .74rem;
        border: 1px solid var(--ns-line);
        color: #8a8a8a;
    }
    .nowa-startowa .ns-ap__score {
        font-variant-numeric: tabular-nums;
        text-align: center;
        color: var(--ns-accent);
        white-space: nowrap;
    }
    .nowa-startowa .ns-ap__team,
    .nowa-startowa .ns-ap__player { text-transform: uppercase; font-size: .84rem; white-space: nowrap; }
    .nowa-startowa .ns-ap__team a,
    .nowa-startowa .ns-ap__player a { color: var(--ns-ink); text-decoration: none; }
    .dark-mode .nowa-startowa .ns-ap__team a,
    .dark-mode .nowa-startowa .ns-ap__player a { color: #eee; }
    .nowa-startowa .ns-ap__team a:hover,
    .nowa-startowa .ns-ap__player a:hover { color: var(--ns-accent); }
    .nowa-startowa .ns-ap__act {
        font-family: system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
        font-size: .88rem;
        color: #555;
    }
    .dark-mode .nowa-startowa .ns-ap__act { color: #bbb; }

    .nowa-startowa .ns-ap__sep td {
        background: #f4f4f4;
        text-align: center;
        text-transform: uppercase;
        letter-spacing: .5px;
        font-size: .72rem;
        color: #9a9a9a;
        padding: .45rem .7rem;
        border-bottom: 1px solid var(--ns-line);
    }
    .dark-mode .nowa-startowa .ns-ap__sep td { background: #222; }
    .nowa-startowa .ns-ap__empty {
        text-align: center;
        padding: 1.4rem;
        color: #9a9a9a;
        text-transform: uppercase;
        letter-spacing: .4px;
    }

    @media (max-width: 700px) {
        .nowa-startowa .ns-ap { font-size: .84rem; }
        .nowa-startowa .ns-ap thead th,
        .nowa-startowa .ns-ap tbody td { padding: .45rem .5rem; }
        .nowa-startowa .ns-ap__team, .nowa-startowa .ns-ap__player { white-space: normal; }
    }

/* ============================================================
   8. STATYSTYKI - Liderzy (fancy)
   (dawniej: statistics/_leaders_styles.blade.php)
   ============================================================ */

    .nowa-startowa .ns-lf { margin-top: 1.6rem; }
    .nowa-startowa .ns-lf-note {
        display: inline-flex;
        align-items: center;
        gap: .4rem;
        margin-bottom: 1rem;
        padding: .3rem .7rem;
        font-family: 'Bree Serif', serif;
        text-transform: uppercase;
        font-size: .68rem;
        letter-spacing: .5px;
        color: var(--ns-accent);
        background: rgba(245, 107, 6, .1);
    }

    /* pasek filtrów (na razie dekoracyjny) */
    .nowa-startowa .ns-lf-bar {
        display: flex;
        flex-wrap: wrap;
        align-items: center;
        gap: .5rem .7rem;
        margin-bottom: 1.4rem;
        padding-bottom: .8rem;
        border-bottom: 1px solid var(--ns-line);
    }
    .nowa-startowa .ns-lf-bar .lbl {
        font-family: 'Bree Serif', serif;
        text-transform: uppercase;
        font-size: .68rem;
        letter-spacing: .5px;
        color: #9a9a9a;
    }
    .nowa-startowa .ns-lf-pill {
        font-family: 'Bree Serif', serif;
        text-transform: uppercase;
        font-size: .74rem;
        letter-spacing: .4px;
        padding: .35rem .8rem;
        border: 1px solid var(--ns-line);
        color: var(--ns-ink);
        background: #fff;
    }
    .dark-mode .nowa-startowa .ns-lf-pill { background: #262626; color: #eee; border-color: #444; }
    .nowa-startowa .ns-lf-pill.is-on { background: #171717; border-color: #171717; color: #fff; }
    .nowa-startowa .ns-lf-seg { display: inline-flex; }
    .nowa-startowa .ns-lf-seg .ns-lf-pill + .ns-lf-pill { border-left: 0; }

    /* wyróżniona karta EFEKTYWNOŚĆ */
    .nowa-startowa .ns-lf-feat {
        border: 1px solid var(--ns-line);
        background: #fff;
        margin-bottom: 1.4rem;
    }
    .dark-mode .nowa-startowa .ns-lf-feat { background: #242424; border-color: #3d3d3d; }
    .nowa-startowa .ns-lf-feat__head {
        display: flex;
        align-items: baseline;
        gap: .7rem;
        flex-wrap: wrap;
        padding: .85rem 1.1rem;
        background: #1f1f1f;
        border-bottom: 2px solid var(--ns-accent);
    }
    .nowa-startowa .ns-lf-feat__title {
        font-family: 'Bree Serif', serif;
        text-transform: uppercase;
        letter-spacing: .5px;
        font-size: 1.3rem;
        color: #fff;
    }
    .nowa-startowa .ns-lf-feat__title--mvp {
        font-size: 2.1rem;
        font-weight: 800;
        letter-spacing: 1.5px;
        color: var(--ns-accent);
        line-height: 1;
    }
    .nowa-startowa .ns-lf-feat__sub {
        margin-left: auto;
        font-family: 'Bree Serif', serif;
        text-transform: uppercase;
        letter-spacing: .4px;
        font-size: .7rem;
        color: #cfcfcf;
    }
    .nowa-startowa .ns-lf-feat__body {
        display: grid;
        grid-template-columns: minmax(240px, 320px) 1fr;
        gap: 1.2rem;
        padding: 1.1rem;
    }
    @media (max-width: 720px) {
        .nowa-startowa .ns-lf-feat__body { grid-template-columns: 1fr; }
    }
    .nowa-startowa .ns-lf-hero {
        display: flex;
        align-items: center;
        gap: .9rem;
        padding: .9rem 1rem;
        background: linear-gradient(100deg, rgba(245,107,6,.14), transparent 70%);
        border: 1px solid var(--ns-line);
    }
    .nowa-startowa .ns-lf-hero { transition: border-color .15s ease; }
    .nowa-startowa .ns-lf-hero:hover { border-color: var(--ns-accent); }
    .nowa-startowa a.ns-lf-hero__crest {
        flex: 0 0 auto;
        display: block;
        text-decoration: none;
    }

    /* awatar zawodnika (zdjęcie na wierzchu, inicjały pod spodem jako fallback) */
    .nowa-startowa .ns-lf-av {
        position: relative;
        flex: 0 0 auto;
        width: 32px;
        height: 32px;
        border-radius: 50%;
        overflow: hidden;
        display: flex;
        align-items: center;
        justify-content: center;
        background: var(--ns-line);
        color: #666;
        font-family: 'Bree Serif', serif;
        font-size: .68rem;
    }
    .dark-mode .nowa-startowa .ns-lf-av { background: #3a3a3a; color: #bbb; }
    .nowa-startowa .ns-lf-av__i { line-height: 1; }
    .nowa-startowa .ns-lf-av img {
        position: absolute;
        inset: 0;
        width: 100%;
        height: 100%;
        object-fit: cover;
        display: block;
        background: var(--ns-line);
    }
    .nowa-startowa .ns-lf-row.is-first .ns-lf-av { box-shadow: inset 0 0 0 2px var(--ns-accent); }
    .nowa-startowa .ns-lf-av--lg {
        width: 54px;
        height: 54px;
        font-size: 1.1rem;
        box-shadow: inset 0 0 0 2px var(--ns-accent);
    }
    .nowa-startowa a.ns-lf-hero__name {
        display: block;
        font-family: 'Bree Serif', serif; text-transform: uppercase;
        font-size: 1.12rem; line-height: 1.1; color: var(--ns-ink);
        text-decoration: none;
        transition: color .14s ease;
    }
    .dark-mode .nowa-startowa a.ns-lf-hero__name { color: #eee; }
    .nowa-startowa a.ns-lf-hero__name:hover { color: var(--ns-accent); }
    .nowa-startowa .ns-lf-hero__team {
        font-family: 'Bree Serif', serif; text-transform: uppercase;
        font-size: .72rem; letter-spacing: .3px; color: #8a8a8a; margin-top: .15rem;
    }
    .nowa-startowa .ns-lf-hero__team a { color: inherit; text-decoration: none; transition: color .14s ease; }
    .nowa-startowa .ns-lf-hero__team a:hover { color: var(--ns-accent); }
    .nowa-startowa .ns-lf-hero__val {
        margin-left: auto;
        font-family: 'Bree Serif', serif;
        font-size: 2rem;
        font-variant-numeric: tabular-nums;
        color: var(--ns-accent);
    }

    /* siatka kart kategorii */
    .nowa-startowa .ns-lf-grid {
        display: grid;
        grid-template-columns: repeat(auto-fill, minmax(320px, 1fr));
        gap: clamp(.8rem, 2vw, 1.2rem);
    }
    .nowa-startowa .ns-lf-card {
        border: 1px solid var(--ns-line);
        background: #fff;
        display: flex;
        flex-direction: column;
    }
    .dark-mode .nowa-startowa .ns-lf-card { background: #242424; border-color: #3d3d3d; }
    .nowa-startowa .ns-lf-card__head {
        display: flex;
        align-items: center;
        gap: .5rem;
        padding: .7rem .9rem;
        background: #1f1f1f;
        border-bottom: 2px solid var(--ns-accent);
        color: #fff;
        text-decoration: none;
    }
    .nowa-startowa .ns-lf-card__head .t {
        font-family: 'Bree Serif', serif;
        text-transform: uppercase;
        letter-spacing: .4px;
        font-size: .95rem;
    }
    .nowa-startowa .ns-lf-card__head .arr {
        margin-left: auto;
        width: 15px; height: 15px;
        color: var(--ns-accent);
        transition: transform .15s ease;
    }
    .nowa-startowa a.ns-lf-card__head:hover .arr { transform: translateX(3px); }

    .nowa-startowa .ns-lf-row {
        position: relative;
        display: grid;
        grid-template-columns: 24px 1fr auto;
        align-items: center;
        gap: .55rem;
        padding: .48rem .9rem .55rem;
        border-top: 1px solid var(--ns-line);
        color: inherit;
        text-decoration: none;
        transition: background-color .14s ease;
    }
    .nowa-startowa .ns-lf-row:hover { background: #faf4ef; }
    .dark-mode .nowa-startowa .ns-lf-row:hover { background: #2f2f2f; }
    .dark-mode .nowa-startowa .ns-lf-row { border-color: #383838; }
    .nowa-startowa .ns-lf-row:first-child,
    .nowa-startowa .ns-lf-card__head + .ns-lf-row { border-top: 0; }
    .nowa-startowa .ns-lf-fill {
        position: absolute;
        left: .9rem;
        bottom: 0;
        height: 2px;
        background: var(--ns-line);
        transition: width .5s ease;
    }
    .nowa-startowa .ns-lf-row.is-first .ns-lf-fill { background: var(--ns-accent); }
    .nowa-startowa .ns-lf-rank {
        font-family: 'Bree Serif', serif;
        font-size: .95rem;
        color: #b3b3b3;
        text-align: center;
    }
    /* miejsca 1-3 w kółeczkach, pomarańcz gaśnie od 1 do 3 */
    .nowa-startowa .ns-lf-row.rk1 .ns-lf-rank,
    .nowa-startowa .ns-lf-row.rk2 .ns-lf-rank,
    .nowa-startowa .ns-lf-row.rk3 .ns-lf-rank {
        color: #fff;
        border-radius: 50%;
        width: 22px; height: 22px;
        display: flex; align-items: center; justify-content: center;
        font-size: .8rem;
    }
    .nowa-startowa .ns-lf-row.rk1 .ns-lf-rank { background: var(--ns-accent); }
    .nowa-startowa .ns-lf-row.rk2 .ns-lf-rank { background: #f88c3f; }
    .nowa-startowa .ns-lf-row.rk3 .ns-lf-rank { background: #fbb072; }
    .nowa-startowa .ns-lf-who {
        display: flex;
        align-items: center;
        gap: .55rem;
        min-width: 0;
    }
    .nowa-startowa .ns-lf-nt { min-width: 0; }
    .nowa-startowa a.ns-lf-name {
        display: block;
        font-family: 'Bree Serif', serif;
        text-transform: uppercase;
        font-size: .92rem;
        color: var(--ns-ink);
        text-decoration: none;
        overflow: hidden; text-overflow: ellipsis; white-space: nowrap;
        transition: color .14s ease;
    }
    .dark-mode .nowa-startowa a.ns-lf-name { color: #eee; }
    .nowa-startowa .ns-lf-row.is-first a.ns-lf-name { color: var(--ns-accent); }
    .nowa-startowa a.ns-lf-name:hover { color: var(--ns-accent); }
    .nowa-startowa a.ns-lf-team {
        display: block;
        font-family: 'Bree Serif', serif;
        text-transform: uppercase;
        letter-spacing: .3px;
        font-size: .72rem;
        color: #9a9a9a;
        text-decoration: none;
        overflow: hidden; text-overflow: ellipsis; white-space: nowrap;
        transition: color .14s ease;
    }
    .nowa-startowa a.ns-lf-team:hover { color: var(--ns-accent); }
    .nowa-startowa .ns-lf-val {
        font-family: 'Bree Serif', serif;
        font-size: 1rem;
        font-variant-numeric: tabular-nums;
        color: var(--ns-ink);
    }
    .dark-mode .nowa-startowa .ns-lf-val { color: #eee; }
    .nowa-startowa .ns-lf-row.is-first .ns-lf-val { color: var(--ns-accent); font-size: 1.1rem; }

    /* ---- start: bardzo delikatne pomaranczowe tlo ---- */
    .nowa-startowa .ls-band {
        width: 100vw;
        margin-left: 50%;
        transform: translateX(-50%);
        padding: 2.75rem max(1.25rem, calc((100vw - 1280px) / 2)) 3rem;
        /* biel w centrum (tam siedzi treść), pomarańcz wygaszany ku bokom */
        background:
            linear-gradient(90deg,
                rgba(245, 107, 6, .12) 0%,
                rgba(245, 107, 6, .12) 24%,
                #ffffff 47%,
                #ffffff 53%,
                rgba(245, 107, 6, .12) 76%,
                rgba(245, 107, 6, .32) 100%);
        border-top: 1px solid rgba(245, 107, 6, .16);
        border-bottom: 1px solid rgba(245, 107, 6, .16);
        box-shadow:
            0 -5px 14px -12px rgba(0, 0, 0, .14),
            0 6px 16px -12px rgba(0, 0, 0, .14),
            inset 0 9px 12px -13px rgba(0, 0, 0, .18),
            inset 0 -9px 12px -13px rgba(0, 0, 0, .18);
    }
    .dark-mode .nowa-startowa .ls-band {
        background:
            radial-gradient(1500px 640px at 8% -15%, rgba(245, 107, 6, .12), transparent 68%),
            #1c1c1c;
        border-color: rgba(245, 107, 6, .22);
    }
    @media (max-width: 575.98px) {
        .nowa-startowa .ls-band { padding: 2rem 1rem 2.25rem; }
    }

    /* ---- start: MVP (2/3) + wykres efektywności (1/3) w jednym wierszu, responsywnie ---- */
    .nowa-startowa .ls-split {
        display: grid;
        grid-template-columns: minmax(0, 2fr) minmax(0, 1fr);
        align-items: stretch;
        gap: clamp(.8rem, 2vw, 1.2rem);
        margin-bottom: clamp(.8rem, 2vw, 1.2rem);
    }
    .nowa-startowa .ls-split.ls-split--solo { grid-template-columns: 1fr; }
    .nowa-startowa .ls-split > * { min-width: 0; }
    .nowa-startowa .ls-split .ns-lf-feat,
    .nowa-startowa .ls-split .ns-lc { margin: 0; }
    /* wykres MVP top 8 dociągnięty do wysokości sekcji MVP obok */
    .nowa-startowa .ls-split .ns-lc {
        display: flex;
        flex-direction: column;
    }
    /* tytuł "MVP — top 8" - duży jak MVP w sekcji obok, ale bez pogrubienia i na biało */
    .nowa-startowa .ls-split .ns-lc-title {
        font-size: 2.1rem;
        font-weight: 400;
        letter-spacing: 1.5px;
        line-height: 1;
        color: #fff;
    }
    .nowa-startowa .ls-split .ns-lc-canvas {
        flex: 1 1 auto;
        height: auto;
        min-height: 320px;
    }
    @media (max-width: 900px) {
        .nowa-startowa .ls-split { grid-template-columns: 1fr; }
    }

    /* ---- wykres liderów (Chart.js) ---- */
    .nowa-startowa .ns-lc {
        margin-top: 1.5rem;
        border: 1px solid var(--ns-line);
        background: #fff;
    }
    .dark-mode .nowa-startowa .ns-lc { background: #242424; border-color: #3d3d3d; }
    .nowa-startowa .ns-lc-head {
        display: flex;
        flex-wrap: wrap;
        align-items: center;
        gap: .6rem .9rem;
        padding: .8rem 1rem;
        background: #1f1f1f;
        border-bottom: 2px solid var(--ns-accent);
    }
    .nowa-startowa .ns-lc-title {
        font-family: 'Bree Serif', serif;
        text-transform: uppercase;
        letter-spacing: .5px;
        font-size: 1.15rem;
        color: #fff;
    }
    .nowa-startowa .ns-lc-tabs {
        display: flex;
        flex-wrap: wrap;
        gap: .3rem;
        margin-left: auto;
    }
    .nowa-startowa .ns-lc-tab {
        font-family: 'Bree Serif', serif;
        text-transform: uppercase;
        letter-spacing: .3px;
        font-size: .68rem;
        padding: .32rem .7rem;
        border: 1px solid #444;
        background: transparent;
        color: #cfcfcf;
        cursor: pointer;
        transition: background .14s ease, color .14s ease, border-color .14s ease;
    }
    .nowa-startowa .ns-lc-tab:hover { color: #fff; border-color: #777; }
    .nowa-startowa .ns-lc-tab.is-on {
        background: var(--ns-accent);
        border-color: var(--ns-accent);
        color: #fff;
    }
    .nowa-startowa .ns-lc-canvas {
        padding: 1rem;
        height: 360px;
    }
    @media (max-width: 560px) {
        .nowa-startowa .ns-lc-canvas { height: 300px; }
    }

    /* ---------- filtr ligi / sezonu - "chipy" z ramką, w duchu .trm-btn / .ns-lf-pill ---------- */
    .nowa-startowa .ns-lead-filter {
        display: flex;
        flex-wrap: wrap;
        align-items: center;
        gap: .7rem;
        margin: .1rem 0 1.4rem;
        padding-bottom: .9rem;
        border-bottom: 1px solid var(--ns-line);
    }
    .nowa-startowa .ns-lead-filter__group {
        display: flex;
        align-items: center;
        gap: .55rem;
        min-width: 0;
        padding: .42rem .55rem .42rem 1rem;
        border: 1px solid var(--ns-ink);
        background: #fff;
        position: relative;
        transition: border-color .16s ease, box-shadow .16s ease, background-color .16s ease;
    }
    .dark-mode .nowa-startowa .ns-lead-filter__group { background: #1e1e1e; border-color: #f1f1f1; }
    .nowa-startowa .ns-lead-filter__group:hover { border-color: var(--ns-accent); }
    .nowa-startowa .ns-lead-filter__group:focus-within {
        border-color: var(--ns-accent);
        box-shadow: 0 0 0 3px rgba(245, 107, 6, .15);
    }
    /* podświetlenie, gdy filtr jest aktywny (inny niż domyślny) */
    .nowa-startowa .ns-lead-filter__group.is-active {
        border-color: var(--ns-accent);
        background: rgba(245, 107, 6, .07);
    }
    .dark-mode .nowa-startowa .ns-lead-filter__group.is-active { background: rgba(245, 107, 6, .14); }
    .nowa-startowa .ns-lead-filter__group.is-active .ns-lead-filter__label { color: var(--ns-accent); }
    .nowa-startowa .ns-lead-filter__label {
        font-family: 'Bree Serif', serif;
        text-transform: uppercase;
        font-size: .68rem;
        letter-spacing: .5px;
        color: #9a9a9a;
        flex: 0 0 auto;
        transition: color .16s ease;
    }

    /* wspólny wygląd selecta - filtr na /statystyki/liderzy oraz picker w widgecie na starcie */
    .nowa-startowa .ns-lead-filter select,
    .nowa-startowa .ns-lead-select {
        border: 0;
        background-color: transparent;
        font-family: 'Bree Serif', serif;
        text-transform: uppercase;
        font-size: .95rem;
        letter-spacing: .3px;
        color: var(--ns-ink);
        max-width: 100%;
        padding: .3rem 2.15rem .3rem .15rem;
        cursor: pointer;
        -webkit-appearance: none;
        -moz-appearance: none;
        appearance: none;
        background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 16 16' fill='%23f56b06'><path d='M8 11L3 6h10z'/></svg>");
        background-repeat: no-repeat;
        background-position: right .3rem center;
        background-size: 17px;
        outline: none;
    }
    .dark-mode .nowa-startowa .ns-lead-filter select,
    .dark-mode .nowa-startowa .ns-lead-select { color: #eee; }
    /* podkreślenie na focus tylko tam, gdzie select nie siedzi już w obramowanym chipie
       (chip ma własny focus-within ring) */
    .nowa-startowa .ns-lead-select:focus { box-shadow: 0 2px 0 var(--ns-accent); }
    .nowa-startowa .ns-lead-select option,
    .nowa-startowa .ns-lead-filter select option { text-transform: none; }

    /* select wewnątrz chipa .ns-lead-filter__group - ciaśniejszy padding, bo ramkę
       i odstęp daje już sam chip. To jest fallback na wypadek braku JS - po
       enhancemencie (patrz nsEnhanceLeadSelect w bottom-js-script) select znika,
       a w jego miejsce staje .ns-lead-filter__btn + własna, stylowana lista
       .ns-lead-filter__list (tak jak na /terminarz - natywnej listy opcji
       przeglądarka nie pozwala ostylować). */
    .nowa-startowa .ns-lead-filter select {
        padding: 0 2rem 0 0;
        background-position: right 0 center;
        background-size: 18px;
    }

    /* natywny select po enhancemencie JS - zostaje w DOM (wartość + event change),
       wizualnie schowany tak, żeby dało się go jeszcze focusować/odczytać */
    .nowa-startowa .ns-lead-filter select.ns-lead-filter__native--hidden {
        position: absolute !important;
        width: 1px !important;
        height: 1px !important;
        padding: 0 !important;
        margin: -1px !important;
        overflow: hidden !important;
        clip: rect(0, 0, 0, 0) !important;
        white-space: nowrap !important;
        border: 0 !important;
    }
    .nowa-startowa .ns-lead-filter__btn {
        display: none;
        align-items: center;
        gap: .5rem;
        border: 0;
        background: transparent;
        padding: 0;
        margin: 0;
        font-family: 'Bree Serif', serif;
        text-transform: uppercase;
        font-size: .95rem;
        letter-spacing: .3px;
        color: var(--ns-ink);
        cursor: pointer;
        max-width: 16rem;
    }
    .dark-mode .nowa-startowa .ns-lead-filter__btn { color: #eee; }
    .nowa-startowa .ns-lead-filter select.ns-lead-filter__native--hidden + .ns-lead-filter__btn { display: inline-flex; }
    .nowa-startowa .ns-lead-filter__btn:focus-visible { outline: none; }
    .nowa-startowa .ns-lead-filter__value {
        overflow: hidden;
        text-overflow: ellipsis;
        white-space: nowrap;
    }
    .nowa-startowa .ns-lead-filter__arrow {
        flex: 0 0 auto;
        width: 18px;
        height: 18px;
        color: var(--ns-accent);
        transition: transform .18s ease;
    }
    .nowa-startowa .ns-lead-filter__group.is-open .ns-lead-filter__arrow { transform: rotate(180deg); }

    /* rozwinięta lista - własny, w pełni stylowany panel (to, czego nie da się
       zrobić z natywną listą opcji <select>) */
    .nowa-startowa .ns-lead-filter__list {
        position: absolute;
        top: calc(100% + 6px);
        left: -1px;
        z-index: 40;
        min-width: calc(100% + 2px);
        max-height: 280px;
        overflow-y: auto;
        margin: 0;
        padding: .3rem 0;
        list-style: none;
        background: #fff;
        border: 1px solid var(--ns-ink);
        box-shadow: 0 12px 28px rgba(0, 0, 0, .16);
    }
    .dark-mode .nowa-startowa .ns-lead-filter__list {
        background: #1e1e1e;
        border-color: #f1f1f1;
        box-shadow: 0 12px 28px rgba(0, 0, 0, .5);
    }
    .nowa-startowa .ns-lead-filter__option {
        padding: .55rem 1rem;
        font-family: 'Bree Serif', serif;
        text-transform: uppercase;
        font-size: .85rem;
        letter-spacing: .2px;
        color: var(--ns-ink);
        cursor: pointer;
        white-space: nowrap;
        transition: background-color .12s ease, color .12s ease;
    }
    .dark-mode .nowa-startowa .ns-lead-filter__option { color: #eee; }
    .nowa-startowa .ns-lead-filter__option:hover { background: rgba(245, 107, 6, .12); }
    .nowa-startowa .ns-lead-filter__option.is-selected {
        background: var(--ns-accent);
        color: #fff;
        font-weight: 700;
    }

    /* mobile: pary etykieta+select pod sobą na pełną szerokość, wygodniejsze do dotyku
       i font-size 16px, żeby Safari na iOS nie robił zoomu po dotknięciu selecta */
    @media (max-width: 480px) {
        .nowa-startowa .ns-lead-filter { gap: .7rem; }
        .nowa-startowa .ns-lead-filter__group {
            flex: 1 1 100%;
            gap: .5rem;
        }
        .nowa-startowa .ns-lead-filter__group { padding: .55rem .6rem .55rem 1rem; }
        .nowa-startowa .ns-lead-filter__label { flex: 0 0 4rem; }
        .nowa-startowa .ns-lead-filter select {
            flex: 1 1 auto;
            min-width: 0;
            font-size: 1rem;
            padding: 0 2.2rem 0 0;
            background-size: 19px;
        }
        .nowa-startowa .ns-lead-filter__btn { flex: 1 1 auto; font-size: 1rem; max-width: none; }
        .nowa-startowa .ns-lead-filter__list { left: -1px; right: -1px; min-width: 0; }
    }

    /* picker ligi w widgecie na stronie startowej - wyraźnie większy niż filtr na /statystyki/liderzy */
    .nowa-startowa .ns-lead-select {
        font-size: 1.25rem;
        font-weight: 700;
        letter-spacing: .4px;
        padding: .35rem 2.9rem .35rem .2rem;
        background-size: 24px;
        background-position: right .35rem center;
        /* mieści najdłuższą nazwę ligi (np. SUPERWRONBA / WSZYSTKIE LIGI) bez ucinania */
        min-width: 14rem;
        text-overflow: ellipsis;
    }

    /* prawa strona nagłówka widgetu na stronie startowej: picker ligi + link "wszyscy" */
    .nowa-startowa .ns-lead-ctl {
        display: flex;
        align-items: center;
        gap: .3rem 1rem;
        flex-wrap: wrap;
    }
    .nowa-startowa .ns-lead-select[disabled] { opacity: .5; }

    .nowa-startowa .ns-lead-empty {
        margin: .4rem 0 0;
        padding: 1rem 0;
        font-size: .95rem;
        color: #9a9a9a;
    }

    /* info o podmianie sezonu (fallback) */
    .nowa-startowa .ns-lead-fallback {
        margin: 0 0 1rem;
        padding: .55rem .8rem;
        font-family: 'Bree Serif', serif;
        font-size: .82rem;
        letter-spacing: .2px;
        color: var(--ns-accent);
        background: rgba(245, 107, 6, .1);
        border-left: 3px solid var(--ns-accent);
    }
    .dark-mode .nowa-startowa .ns-lead-fallback { background: rgba(245, 107, 6, .14); }

/* ============================================================
   9. STATYSTYKI - lista zawodników (/statystyki/zawodnicy)
   (dawniej: statistics/_players_styles.blade.php)
   ============================================================ */

    .nowa-startowa .ns-pl-acc {
        margin-top: 1rem;
        border: 1px solid var(--ns-line);
    }
    .nowa-startowa .ns-pl-acc + .ns-pl-acc { margin-top: 1.15rem; }
    .dark-mode .nowa-startowa .ns-pl-acc { border-color: #3d3d3d; }

    .nowa-startowa summary.ns-pl-head {
        display: flex;
        align-items: center;
        gap: .7rem;
        flex-wrap: wrap;
        padding: .85rem 1rem;
        background: #1f1f1f;
        border-bottom: 2px solid var(--ns-accent);
        cursor: pointer;
        list-style: none;
        user-select: none;
    }
    .nowa-startowa summary.ns-pl-head::-webkit-details-marker { display: none; }
    .nowa-startowa summary.ns-pl-head:focus-visible { outline: 2px solid var(--ns-accent); outline-offset: -2px; }
    .nowa-startowa .ns-pl-acc:not([open]) summary.ns-pl-head { border-bottom-width: 0; }
    .nowa-startowa summary.ns-pl-head:hover .ns-pl-head__title { color: var(--ns-accent); }
    .nowa-startowa .ns-pl-head__title {
        font-family: 'Bree Serif', serif;
        text-transform: uppercase;
        letter-spacing: .5px;
        font-size: 1.45rem;
        color: #fff;
        transition: color .16s ease;
    }
    .nowa-startowa .ns-pl-head__count {
        margin-left: auto;
        font-family: 'Bree Serif', serif;
        text-transform: uppercase;
        letter-spacing: .4px;
        font-size: .95rem;
        color: #cfcfcf;
    }
    .nowa-startowa .ns-pl-head__count b { color: var(--ns-accent); }
    .nowa-startowa .ns-pl-head__chev {
        flex: 0 0 auto;
        width: 20px;
        height: 20px;
        color: #fff;
        transition: transform .2s ease;
    }
    .nowa-startowa .ns-pl-acc[open] .ns-pl-head__chev { transform: rotate(180deg); }

    .nowa-startowa .ns-pl-body { padding: 0 1.1rem 1.1rem; }

    /* pasek A-Z */
    .nowa-startowa .ns-pl-az {
        position: sticky;
        top: 0;
        z-index: 3;
        display: flex;
        flex-wrap: wrap;
        gap: .3rem;
        padding: .75rem 0 .7rem;
        margin-bottom: .4rem;
        background: #fff;
        border-bottom: 1px solid var(--ns-line);
    }
    .dark-mode .nowa-startowa .ns-pl-az { background: #262626; border-color: #3d3d3d; }
    .nowa-startowa .ns-pl-az a {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        min-width: 30px;
        height: 30px;
        padding: 0 .25rem;
        font-family: 'Bree Serif', serif;
        font-size: .92rem;
        color: var(--ns-ink);
        text-decoration: none;
        border: 1px solid var(--ns-line);
        transition: background .14s ease, color .14s ease, border-color .14s ease, transform .14s ease;
    }
    .dark-mode .nowa-startowa .ns-pl-az a { color: #eee; border-color: #444; }
    .nowa-startowa .ns-pl-az a:hover {
        background: var(--ns-accent);
        border-color: var(--ns-accent);
        color: #fff;
        transform: translateY(-2px);
    }

    .nowa-startowa .ns-pl-group {
        scroll-margin-top: 58px;
        padding-top: 1.1rem;
    }
    .nowa-startowa .ns-pl-letter {
        display: flex;
        align-items: center;
        gap: .7rem;
        font-family: 'Bree Serif', serif;
        text-transform: uppercase;
        font-size: 1.5rem;
        color: var(--ns-accent);
        margin: 0 0 .7rem;
    }
    .nowa-startowa .ns-pl-letter::after {
        content: "";
        flex: 1;
        height: 2px;
        background: var(--ns-line);
    }

    .nowa-startowa .ns-pl-list {
        list-style: none;
        margin: 0;
        padding: 0;
        columns: 260px 4;
        column-gap: 1.6rem;
    }
    .nowa-startowa .ns-pl-list li {
        break-inside: avoid;
        margin: 0 0 .1rem;
    }
    .nowa-startowa .ns-pl-list a {
        display: block;
        padding: .4rem .55rem;
        color: inherit;
        text-decoration: none;
        border-left: 2px solid transparent;
        font-size: .98rem;
        transition: background .14s ease, border-color .14s ease, padding-left .14s ease, color .14s ease;
    }
    .nowa-startowa .ns-pl-list a b { font-weight: 400; font-family: 'Bree Serif', serif; text-transform: uppercase; }
    .nowa-startowa .ns-pl-list a:hover {
        background: #faf4ef;
        border-left-color: var(--ns-accent);
        padding-left: .8rem;
        color: var(--ns-accent);
    }
    .dark-mode .nowa-startowa .ns-pl-list a:hover { background: #2f2f2f; }

    .nowa-startowa .ns-pl-empty {
        padding: 1.5rem .2rem;
        font-family: 'Bree Serif', serif;
        text-transform: uppercase;
        letter-spacing: .4px;
        font-size: .8rem;
        color: #9a9a9a;
    }

    @media (max-width: 575.98px) {
        .nowa-startowa .ns-pl-list { columns: 1; }
        .nowa-startowa .ns-pl-az a { min-width: 27px; height: 27px; font-size: .84rem; }
    }

/* ============================================================
   10. STATYSTYKI - widok zawodnika (/statystyki/zawodnicy/{id})
   (dawniej: statistics/_player_styles.blade.php)
   ============================================================ */

    .nowa-startowa .ns-ps-hero {
        display: grid;
        grid-template-columns: 168px minmax(0, 1fr);
        gap: clamp(1rem, 3vw, 1.8rem);
        border: 1px solid var(--ns-line);
        background: #fff;
        padding: clamp(1rem, 3vw, 1.6rem);
    }
    .dark-mode .nowa-startowa .ns-ps-hero { background: #242424; border-color: #3d3d3d; }
    @media (max-width: 560px) {
        .nowa-startowa .ns-ps-hero { grid-template-columns: 110px minmax(0, 1fr); gap: 1rem; }
    }

    .nowa-startowa .ns-ps-photo {
        position: relative;
        width: 100%;
        aspect-ratio: 3 / 4;
        border: 1px solid var(--ns-line);
        background: var(--ns-line);
        overflow: hidden;
        box-shadow: 0 22px 44px -18px rgba(0, 0, 0, .45), 0 8px 18px -10px rgba(0, 0, 0, .25);
    }
    .dark-mode .nowa-startowa .ns-ps-photo { box-shadow: 0 22px 44px -18px rgba(0, 0, 0, .7); }
    .nowa-startowa .ns-ps-photo img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
    .nowa-startowa .ns-ps-photo__ph {
        position: absolute; inset: 0;
        display: flex; align-items: center; justify-content: center;
        font-family: 'Bree Serif', serif;
        font-size: 2.2rem;
        color: #8a8a8a;
    }

    .nowa-startowa .ns-ps-name {
        font-family: 'Bree Serif', serif;
        text-transform: uppercase;
        line-height: 1.03;
        font-size: clamp(2rem, 1.3rem + 3.4vw, 3.6rem);
        color: var(--ns-ink);
        margin: 0;
        -webkit-text-stroke: .5px currentColor;
        text-shadow: 2px 3px 9px rgba(0, 0, 0, .22);
    }
    .dark-mode .nowa-startowa .ns-ps-name { color: #eee; text-shadow: 2px 3px 12px rgba(0, 0, 0, .6); }
    .nowa-startowa .ns-ps-num {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        min-width: 5.6rem;
        padding: 0 .65rem;
        height: 5.6rem;
        margin-right: 1rem;
        background: var(--ns-accent);
        color: #fff;
        font-family: 'Bree Serif', serif;
        font-size: 4rem;
        line-height: 1;
        position: relative;
        top: -1.1rem;
        vertical-align: -.7rem;
        text-shadow: 2px 3px 9px rgba(0, 0, 0, .42);
        box-shadow: 0 20px 36px -10px rgba(245, 107, 6, .62);
    }
    .nowa-startowa .ns-ps-team {
        display: inline-flex;
        align-items: center;
        margin-top: .85rem;
        padding: .5rem 1.1rem;
        font-family: 'Bree Serif', serif;
        text-transform: uppercase;
        letter-spacing: .6px;
        font-size: 1.05rem;
        color: #fff;
        background: var(--ns-accent);
        border: 2px solid var(--ns-accent);
        text-decoration: none;
        -webkit-text-stroke: .4px currentColor;
        box-shadow: 0 12px 24px -10px rgba(245, 107, 6, .55);
        transition: background-color .15s ease, color .15s ease, transform .15s ease;
    }
    .nowa-startowa .ns-ps-team:hover {
        background: transparent;
        color: var(--ns-accent);
        transform: translateY(-2px);
    }
    .dark-mode .nowa-startowa .ns-ps-team:hover { color: #ffb266; border-color: #ffb266; }

    .nowa-startowa .ns-ps-meta {
        display: flex;
        flex-wrap: wrap;
        gap: .6rem;
        margin-top: 1.1rem;
    }
    .nowa-startowa .ns-ps-chip {
        display: inline-flex;
        flex-direction: column;
        gap: .15rem;
        padding: .6rem 1rem;
        border: 1px solid var(--ns-line);
        min-width: 108px;
        box-shadow: 0 8px 18px -12px rgba(0, 0, 0, .25);
    }
    .dark-mode .nowa-startowa .ns-ps-chip { border-color: #3d3d3d; box-shadow: 0 8px 18px -12px rgba(0, 0, 0, .5); }
    .nowa-startowa .ns-ps-chip__k {
        font-family: 'Bree Serif', serif;
        text-transform: uppercase;
        letter-spacing: .5px;
        font-size: .72rem;
        color: #9a9a9a;
    }
    .nowa-startowa .ns-ps-chip__v {
        font-family: 'Bree Serif', serif;
        text-transform: uppercase;
        font-size: 1.35rem;
        line-height: 1.1;
        color: var(--ns-ink);
        text-shadow: 1px 2px 6px rgba(0, 0, 0, .22);
    }
    .dark-mode .nowa-startowa .ns-ps-chip__v { color: #eee; text-shadow: 1px 2px 8px rgba(0, 0, 0, .55); }

    /* pod-nawigacja: mecz po meczu / średnie / rekordy */
    .nowa-startowa .ns-ps-nav {
        display: flex;
        flex-wrap: wrap;
        gap: .3rem;
        margin: 1.4rem 0 .2rem;
        border-bottom: 2px solid var(--ns-ink);
    }
    .dark-mode .nowa-startowa .ns-ps-nav { border-bottom-color: #fff; }
    .nowa-startowa .ns-ps-nav a {
        position: relative;
        padding: .95rem 1.5rem .85rem;
        font-family: 'Bree Serif', serif;
        text-transform: uppercase;
        letter-spacing: .6px;
        font-size: 1.05rem;
        color: #8a8a8a;
        text-decoration: none;
        border: 1px solid transparent;
        border-bottom: none;
        transition: color .15s ease, transform .15s ease;
    }
    @media (max-width: 575.98px) {
        .nowa-startowa .ns-ps-nav a { padding: .8rem 1rem .7rem; font-size: .92rem; letter-spacing: .3px; }
    }
    .nowa-startowa .ns-ps-nav a:hover { color: var(--ns-ink); transform: translateY(-1px); }
    .dark-mode .nowa-startowa .ns-ps-nav a:hover { color: #fff; }
    .nowa-startowa .ns-ps-nav a.is-on {
        color: #fff;
        background: #171717;
        border-color: #171717;
        transform: translateY(1px);
        clip-path: polygon(0 0, 100% 0, calc(100% - 11px) 100%, 0 100%);
    }
    .dark-mode .nowa-startowa .ns-ps-nav a.is-on { background: #000; border-color: #000; }

    /* g-old / a-old / r-old po prawej */
    .nowa-startowa .ns-ps-nav a.ns-ps-nav__alt {
        align-self: center;
        margin: 0 0 .3rem .3rem;
        padding: .42rem .75rem;
        font-size: .74rem;
        letter-spacing: .4px;
        color: #a2a2a2;
        border: 1px dashed #d0d0d0;
        border-bottom: 1px dashed #d0d0d0;
        clip-path: none;
        transform: none;
        transition: color .15s ease, border-color .15s ease;
    }
    .nowa-startowa .ns-ps-nav a.ns-ps-nav__alt--first { margin-left: auto; }
    .nowa-startowa .ns-ps-nav a.ns-ps-nav__alt:hover {
        color: #171717;
        border-style: solid;
        border-color: var(--ns-accent);
        transform: none;
    }
    .dark-mode .nowa-startowa .ns-ps-nav a.ns-ps-nav__alt { color: #8f8f8f; border-color: #444; }
    .dark-mode .nowa-startowa .ns-ps-nav a.ns-ps-nav__alt:hover { color: #fff; }
    @media (max-width: 575.98px) {
        .nowa-startowa .ns-ps-nav a.ns-ps-nav__alt--first { margin-left: .3rem; }
    }

    /* filtr edycji (bez ramki) */
    .nowa-startowa .ns-ps-filter {
        display: flex;
        align-items: center;
        gap: .55rem;
        margin: 1.1rem 0 .4rem;
        padding-bottom: .7rem;
        border-bottom: 1px solid var(--ns-line);
    }
    .nowa-startowa .ns-ps-filter__label {
        font-family: 'Bree Serif', serif;
        text-transform: uppercase;
        font-size: .72rem;
        letter-spacing: .5px;
        color: #9a9a9a;
    }
    .nowa-startowa .ns-ps-filter form { margin: 0; }
    .nowa-startowa .ns-ps-filter select {
        border: 0;
        background-color: transparent;
        font-family: 'Bree Serif', serif;
        text-transform: uppercase;
        font-size: .95rem;
        letter-spacing: .3px;
        color: var(--ns-ink);
        min-width: 12rem;
        padding: .3rem 2.1rem .3rem .15rem;
        cursor: pointer;
        -webkit-appearance: none;
        -moz-appearance: none;
        appearance: none;
        background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 16 16' fill='%23f56b06'><path d='M8 11L3 6h10z'/></svg>");
        background-repeat: no-repeat;
        background-position: right .3rem center;
        background-size: 17px;
        outline: none;
    }
    .dark-mode .nowa-startowa .ns-ps-filter select { color: #eee; }
    .nowa-startowa .ns-ps-filter select:focus { box-shadow: 0 2px 0 var(--ns-accent); }

    /* tabele statystyk zawodnika - przewijane, ciemny nagłówek, Bree Serif */
    .nowa-startowa .ns-ps-tbl {
        margin-top: 1.1rem;
        border: 1px solid var(--ns-line);
        overflow-x: auto;
        -webkit-overflow-scrolling: touch;
    }
    .dark-mode .nowa-startowa .ns-ps-tbl { border-color: #3d3d3d; }
    .nowa-startowa .ns-ps-tbl > .statistics-table { margin: 0; }
    .nowa-startowa .ns-ps-tbl table {
        width: 100%;
        margin: 0;
        border-collapse: collapse;
        font-family: 'Bree Serif', serif;
        font-size: .82rem;
        background: #fff;
        box-shadow: none !important;
        border: 0 !important;
    }
    .dark-mode .nowa-startowa .ns-ps-tbl table { background: #242424; color: #ddd; }
    .nowa-startowa .ns-ps-tbl thead th {
        background: #1f1f1f;
        color: #fff;
        border: 0;
        border-bottom: 2px solid var(--ns-accent);
        text-transform: uppercase;
        letter-spacing: .3px;
        font-size: .68rem;
        padding: .55rem .5rem;
        white-space: nowrap;
        text-align: center;
        vertical-align: middle;
    }
    .nowa-startowa .ns-ps-tbl thead th .small,
    .nowa-startowa .ns-ps-tbl thead th .small span { color: #cfcfcf; }
    .nowa-startowa .ns-ps-tbl tbody td,
    .nowa-startowa .ns-ps-tbl tbody th {
        border: 0;
        border-top: 1px solid var(--ns-line);
        padding: .5rem .5rem;
        text-align: center;
        font-variant-numeric: tabular-nums;
        white-space: nowrap;
    }
    .dark-mode .nowa-startowa .ns-ps-tbl tbody td,
    .dark-mode .nowa-startowa .ns-ps-tbl tbody th { border-color: #383838; }
    .nowa-startowa .ns-ps-tbl tbody tr:hover td,
    .nowa-startowa .ns-ps-tbl tbody tr:hover th { background: #faf4ef; }
    .dark-mode .nowa-startowa .ns-ps-tbl tbody tr:hover td,
    .dark-mode .nowa-startowa .ns-ps-tbl tbody tr:hover th { background: #2f2f2f; }
    .nowa-startowa .ns-ps-tbl td.text-start,
    .nowa-startowa .ns-ps-tbl th.text-start { text-align: left; }
    .nowa-startowa .ns-ps-tbl a { color: var(--ns-accent); text-decoration: none; }
    .nowa-startowa .ns-ps-tbl a:hover { text-decoration: underline; }

    /* ---------- TENDENCJE (wykresy formy) ---------- */
    .nowa-startowa .ns-tnd-intro {
        margin: 1rem 0 0;
        font-size: .92rem;
        color: #6a6a6a;
    }
    .dark-mode .nowa-startowa .ns-tnd-intro { color: #b0b0b0; }
    .nowa-startowa .ns-tnd-gapnote {
        margin: .5rem 0 0;
        font-size: .76rem;
        color: #9a9a9a;
    }
    .nowa-startowa .ns-tnd-empty {
        padding: 2.2rem 0;
        font-family: 'Bree Serif', serif;
        color: #8a8a8a;
    }
    .nowa-startowa .ns-tnd-badges {
        display: grid;
        grid-template-columns: repeat(3, 1fr);
        gap: .7rem;
        margin: 1.2rem 0 1.6rem;
    }
    @media (max-width: 720px) {
        .nowa-startowa .ns-tnd-badges { grid-template-columns: repeat(2, 1fr); }
    }
    @media (max-width: 420px) {
        .nowa-startowa .ns-tnd-badges { grid-template-columns: 1fr; }
    }
    .nowa-startowa .ns-tnd-badge {
        display: flex;
        flex-direction: column;
        gap: .25rem;
        padding: .7rem .85rem;
        border: 1px solid var(--ns-line);
        box-shadow: 0 8px 18px -12px rgba(0, 0, 0, .25);
    }
    .dark-mode .nowa-startowa .ns-tnd-badge { border-color: #3d3d3d; box-shadow: 0 8px 18px -12px rgba(0, 0, 0, .5); }
    .nowa-startowa .ns-tnd-badge__k {
        font-family: 'Bree Serif', serif;
        text-transform: uppercase;
        letter-spacing: .5px;
        font-size: .72rem;
        color: #9a9a9a;
    }
    .nowa-startowa .ns-tnd-badge__v {
        display: flex;
        align-items: center;
        gap: .4rem;
        font-family: 'Bree Serif', serif;
        text-transform: uppercase;
        font-size: 1rem;
        line-height: 1.1;
    }
    .nowa-startowa .ns-tnd-badge__d { font-size: .74rem; color: #8a8a8a; }
    .dark-mode .nowa-startowa .ns-tnd-badge__d { color: #a0a0a0; }
    .nowa-startowa .ns-tnd-up   { color: #1f9d55; }
    .nowa-startowa .ns-tnd-down { color: #d9480f; }
    .nowa-startowa .ns-tnd-flat { color: #8a8a8a; }

    .nowa-startowa .ns-tnd-grid {
        display: grid;
        grid-template-columns: 1fr;
        gap: 1.1rem;
        margin-top: 1.1rem;
    }
    .nowa-startowa .ns-tnd-card {
        border: 1px solid var(--ns-line);
        background: #fff;
        padding: .9rem 1rem 1rem;
        box-shadow: 0 12px 26px -18px rgba(0, 0, 0, .3);
    }
    .dark-mode .nowa-startowa .ns-tnd-card { background: #242424; border-color: #3d3d3d; }
    .nowa-startowa .ns-tnd-card + .ns-tnd-grid { margin-top: 1rem; }
    .nowa-startowa .ns-tnd-card__h {
        display: flex;
        align-items: baseline;
        justify-content: space-between;
        flex-wrap: wrap;
        gap: .4rem;
        margin: 0 0 .6rem;
        font-family: 'Bree Serif', serif;
        text-transform: uppercase;
        letter-spacing: .5px;
        font-size: 1rem;
        color: var(--ns-ink);
    }
    .dark-mode .nowa-startowa .ns-tnd-card__h { color: #eee; }
    .nowa-startowa .ns-tnd-card__hint {
        font-family: 'Bree Serif', serif;
        text-transform: none;
        letter-spacing: 0;
        font-size: .72rem;
        color: #9a9a9a;
    }
    .nowa-startowa .ns-tnd-canvas { position: relative; width: 100%; height: 300px; }
    .nowa-startowa .ns-tnd-canvas > canvas { max-width: 100%; }
    .nowa-startowa .ns-tnd-card--wide { margin-top: 1rem; }
    .nowa-startowa .ns-tnd-card--wide .ns-tnd-canvas { height: 320px; }
    @media (max-width: 575.98px) {
        .nowa-startowa .ns-tnd-canvas { height: 258px; }
        .nowa-startowa .ns-tnd-card--wide .ns-tnd-canvas { height: 272px; }
        .nowa-startowa .ns-tnd-card { padding: .8rem .75rem .9rem; }
        .nowa-startowa .ns-tnd-card__h { font-size: .92rem; }
    }

/* ============================================================
   11. STATYSTYKI - wyniki dnia (/statystyki/wyniki)
   (dawniej: statistics/_scores_styles.blade.php)
   ============================================================ */

    .nowa-startowa .ns-scr-head {
        display: flex;
        flex-wrap: wrap;
        align-items: baseline;
        gap: .6rem 1rem;
        margin: .4rem 0 1.4rem;
        padding-bottom: .7rem;
        border-bottom: 1px solid var(--ns-line);
    }
    .nowa-startowa .ns-scr-head__label {
        font-family: 'Bree Serif', serif;
        text-transform: uppercase;
        font-size: .82rem;
        letter-spacing: .5px;
        color: #9a9a9a;
    }
    .nowa-startowa .ns-scr-date {
        font-family: 'Bree Serif', serif;
        text-transform: uppercase;
        font-size: clamp(1.4rem, 1rem + 1.6vw, 1.9rem);
        font-weight: 700;
        -webkit-text-stroke: .4px currentColor;
        text-stroke: .4px currentColor;
        paint-order: stroke fill;
        letter-spacing: .3px;
        color: var(--ns-ink);
    }
    .dark-mode .nowa-startowa .ns-scr-date { color: #eee; }
    .nowa-startowa .ns-scr-date:empty::after { content: "—"; color: #b5b5b5; }

    .nowa-startowa .ns-scr-list {
        margin-top: 1.6rem;
    }

    /* ---------- karta meczu dnia ---------- */
    .nowa-startowa .ns-scr-card {
        position: relative;
        padding: 1.2rem 1.35rem 1.1rem;
        margin-bottom: clamp(1.75rem, 4vw, 3rem);
        background: #fff;
        border: 1px solid var(--ns-line);
        overflow: hidden;
    }
    .nowa-startowa .ns-scr-card:last-child { margin-bottom: 0; }
    .nowa-startowa #results > .ns-scr-card:first-child { margin-top: 1.6rem; }
    .dark-mode .nowa-startowa .ns-scr-card { background: #262626; border-color: #3d3d3d; }
    .nowa-startowa .ns-scr-card::before {
        content: "";
        position: absolute;
        left: 0; top: 0; bottom: 0;
        width: 2px;
        background: var(--ns-accent);
    }

    /* meta karty meczu - 3 wiersze: data (wyśrodkowana) / liga - final - sezon
       (wyśrodkowane, oddzielone myślnikiem) / kolejka + id */
    .nowa-startowa .ns-scr-meta {
        display: flex;
        flex-direction: column;
        gap: .35rem;
        font-family: 'Bree Serif', serif;
        text-transform: uppercase;
        font-size: .8rem;
        letter-spacing: .3px;
        color: #8a8a8a;
    }
    .nowa-startowa .ns-scr-meta b {
        color: var(--ns-ink);
        font-weight: 700;
        font-size: .92rem;
        -webkit-text-stroke: .3px currentColor;
        paint-order: stroke fill;
    }
    .dark-mode .nowa-startowa .ns-scr-meta b { color: #eee; }

    .nowa-startowa .ns-scr-meta__date { text-align: center; }
    .nowa-startowa .ns-scr-meta__mid {
        display: flex;
        flex-wrap: wrap;
        justify-content: center;
        gap: .25rem 0;
    }
    /* myślnik między liga / final / sezon - tylko między obecnymi elementami */
    .nowa-startowa .ns-scr-meta__mid > span:not(:first-child)::before {
        content: "\2014";
        margin: 0 .4em;
        color: #c7c7c7;
    }
    .dark-mode .nowa-startowa .ns-scr-meta__mid > span:not(:first-child)::before { color: #555; }
    .nowa-startowa .ns-scr-meta__bottom {
        display: flex;
        flex-wrap: wrap;
        justify-content: center;
        gap: .25rem 1rem;
    }

    .nowa-startowa .ns-scr-teams {
        display: grid;
        grid-template-columns: 1fr auto 1fr;
        align-items: center;
        gap: .9rem;
        margin: .95rem 0 .1rem;
    }
    .nowa-startowa .ns-scr-team {
        min-width: 0;
        font-family: 'Bree Serif', serif;
        text-transform: uppercase;
        font-size: 1.3rem;
        line-height: 1.15;
        color: var(--ns-ink);
    }
    .dark-mode .nowa-startowa .ns-scr-team { color: #eee; }
    .nowa-startowa .ns-scr-team--home { text-align: right; }
    .nowa-startowa .ns-scr-team a { color: inherit; }
    .nowa-startowa .ns-scr-team a:hover { color: var(--ns-accent); }
    .nowa-startowa .ns-scr-team.win a,
    .nowa-startowa .ns-scr-team.win { color: var(--ns-accent); }
    .nowa-startowa .ns-scr-pts {
        font-family: 'Bree Serif', serif;
        font-size: 1.85rem;
        font-variant-numeric: tabular-nums;
        white-space: nowrap;
        padding: .12rem .9rem;
        border: 1px solid var(--ns-ink);
        color: var(--ns-ink);
    }
    .dark-mode .nowa-startowa .ns-scr-pts { color: #eee; border-color: #666; }

    /* ---------- info o meczu (hala / godziny / sędziowie / id) - siatka "kafelków" ---------- */
    .nowa-startowa .ns-scr-info {
        margin-top: 1rem;
        padding-top: .9rem;
        border-top: 1px dashed var(--ns-line);
        display: grid;
        grid-template-columns: repeat(auto-fill, minmax(140px, 1fr));
        gap: .6rem;
    }
    .nowa-startowa .ns-scr-info__item {
        position: relative;
        min-width: 0;
        padding: .5rem .7rem .5rem .85rem;
        border: 1px solid var(--ns-line);
        background: #fafafa;
        overflow: hidden;
        transition: border-color .16s ease, background-color .16s ease;
    }
    .dark-mode .nowa-startowa .ns-scr-info__item { background: #232323; border-color: #3d3d3d; }
    .nowa-startowa .ns-scr-info__item::before {
        content: "";
        position: absolute;
        left: 0; top: 0; bottom: 0;
        width: 2px;
        background: var(--ns-accent);
        opacity: .5;
    }
    .nowa-startowa .ns-scr-info__item:hover {
        border-color: var(--ns-accent);
        background: rgba(245, 107, 6, .06);
    }
    .nowa-startowa .ns-scr-info__label {
        display: block;
        font-family: 'Bree Serif', serif;
        text-transform: uppercase;
        font-size: .64rem;
        letter-spacing: .5px;
        color: #9a9a9a;
        margin-bottom: .1rem;
    }
    .nowa-startowa .ns-scr-info__val {
        display: block;
        font-family: 'Bree Serif', serif;
        font-size: .92rem;
        letter-spacing: .2px;
        color: var(--ns-ink);
        line-height: 1.25;
        overflow-wrap: anywhere;
    }
    .dark-mode .nowa-startowa .ns-scr-info__val { color: #eee; }

    /* hala na całą szerokość - Start i Koniec zaczynają wtedy nowy, wspólny wiersz */
    .nowa-startowa .ns-scr-info__item--wide { grid-column: 1 / -1; }

    /* kafelek z id meczu - wyróżniony, odwrócone kolory jak .ns-lf-pill.is-on */
    .nowa-startowa .ns-scr-info__item--id {
        background: #171717;
        border-color: #171717;
    }
    .nowa-startowa .ns-scr-info__item--id::before { opacity: 1; }
    .nowa-startowa .ns-scr-info__item--id:hover { border-color: var(--ns-accent); }
    .nowa-startowa .ns-scr-info__item--id .ns-scr-info__label { color: #8a8a8a; }
    .nowa-startowa .ns-scr-info__item--id .ns-scr-info__val {
        color: #fff;
        font-variant-numeric: tabular-nums;
    }

    @media (max-width: 400px) {
        .nowa-startowa .ns-scr-info { grid-template-columns: 1fr 1fr; }
    }

    /* ---------- tabela bilansu ---------- */
    /* owijka ze scrollem w poziomie - zabezpieczenie na bardzo wąskich ekranach,
       żeby tabela nie rozpychała karty/strony zamiast się przewinąć */
    .nowa-startowa .ns-scr-bal-wrap {
        margin: 1rem 0 0;
        overflow-x: auto;
        -webkit-overflow-scrolling: touch;
    }
    .nowa-startowa .ns-scr-bal {
        width: 100%;
        min-width: 420px;
        margin: 0;
        border-collapse: collapse;
        font-size: .92rem;
    }
    .nowa-startowa .ns-scr-bal th,
    .nowa-startowa .ns-scr-bal td {
        border: 1px solid var(--ns-line);
        padding: .45rem .6rem;
        text-align: center;
        font-variant-numeric: tabular-nums;
    }
    .dark-mode .nowa-startowa .ns-scr-bal th,
    .dark-mode .nowa-startowa .ns-scr-bal td { border-color: #3d3d3d; }
    .nowa-startowa .ns-scr-bal thead th {
        background: var(--ns-ink);
        color: #fff;
        font-family: 'Bree Serif', serif;
        text-transform: uppercase;
        font-size: .78rem;
        letter-spacing: .3px;
    }
    .nowa-startowa .ns-scr-bal tbody td:first-child,
    .nowa-startowa .ns-scr-bal thead th:first-child {
        text-align: left;
        font-family: 'Bree Serif', serif;
        text-transform: uppercase;
    }
    .nowa-startowa .ns-scr-bal tbody tr:nth-child(even) td { background: #fafafa; }
    .dark-mode .nowa-startowa .ns-scr-bal tbody tr:nth-child(even) td { background: #2b2b2b; }

    /* ---------- przycisk "Zobacz szczegóły" - wyśrodkowany, 1/3 szerokości wiersza,
       ten sam fancy styl (skew + błysk) co przyciski na stronie meczu (.ns-gd-nav) ---------- */
    .nowa-startowa .ns-scr-more {
        position: relative;
        display: flex;
        align-items: center;
        justify-content: center;
        gap: .5rem;
        width: 33.333%;
        min-width: 220px;
        margin: 1.1rem auto 0;
        padding: .78rem 1.3rem;
        background: var(--ns-accent);
        border: 1px solid var(--ns-accent);
        color: #fff !important;
        font-family: 'Bree Serif', serif;
        text-transform: uppercase;
        letter-spacing: .4px;
        font-size: .92rem;
        text-decoration: none;
        overflow: hidden;
        transform: skew(-9deg);
        transition: background-color .16s ease, border-color .16s ease, transform .16s ease, box-shadow .16s ease;
    }
    .nowa-startowa .ns-scr-more > span { display: inline-flex; align-items: center; transform: skew(9deg); }
    /* błysk przesuwający się po przycisku na hover */
    .nowa-startowa .ns-scr-more::after {
        content: "";
        position: absolute;
        top: 0; bottom: 0;
        left: -60%;
        width: 40%;
        background: linear-gradient(115deg, transparent, rgba(255, 255, 255, .4), transparent);
        transform: skewX(-20deg);
        transition: left .5s ease;
        pointer-events: none;
    }
    .nowa-startowa .ns-scr-more:hover::after { left: 130%; }
    .nowa-startowa .ns-scr-more:hover {
        background: var(--ns-ink);
        border-color: var(--ns-ink);
        transform: skew(-9deg) translateY(-3px);
        box-shadow: 0 12px 22px rgba(0, 0, 0, .18);
    }
    @media (max-width: 560px) {
        .nowa-startowa .ns-scr-more { width: 100%; min-width: 0; }
    }

    .nowa-startowa .ns-scr-empty {
        padding: 1.5rem .2rem;
        font-family: 'Bree Serif', serif;
        text-transform: uppercase;
        letter-spacing: .4px;
        font-size: .92rem;
        color: #9a9a9a;
    }

    @media (max-width: 560px) {
        .nowa-startowa .ns-scr-teams { gap: .5rem; }
        .nowa-startowa .ns-scr-team { font-size: 1.08rem; }
        .nowa-startowa .ns-scr-pts { font-size: 1.4rem; padding: .1rem .6rem; }
        .nowa-startowa .ns-scr-bal { font-size: .84rem; }
        .nowa-startowa .ns-scr-bal th, .nowa-startowa .ns-scr-bal td { padding: .38rem .45rem; }
    }

/* ============================================================
   12. STATYSTYKI - tabele (/statystyki/tabele)
   (dawniej: statistics/_tables_styles.blade.php)
   ============================================================ */

    /* ---------- filtr sezonu (input bez ramki) ---------- */
    .nowa-startowa .ns-tbl-filter {
        display: flex;
        flex-wrap: wrap;
        align-items: center;
        gap: .55rem;
        margin: .1rem 0 1.6rem;
        padding-bottom: .7rem;
        border-bottom: 1px solid var(--ns-line);
    }
    .nowa-startowa .ns-tbl-filter__label {
        font-family: 'Bree Serif', serif;
        text-transform: uppercase;
        font-size: .72rem;
        letter-spacing: .5px;
        color: #9a9a9a;
    }
    .nowa-startowa .ns-tbl-filter form { margin: 0; position: relative; }
    /* select sezonu - ramka jak na /terminarz, z lekkim pomarańczowym tłem jak
       w aktywnym chipie na /statystyki/liderzy. To fallback na wypadek braku JS;
       po enhancemencie (patrz nsTblEnhanceSelect w bottom-js-script) select znika,
       a w jego miejsce staje .ns-tbl-filter__btn + własna, stylowana lista
       .ns-tbl-filter__list (natywnej listy opcji przeglądarka nie pozwala ostylować) */
    .nowa-startowa .ns-tbl-filter select {
        border: 1px solid var(--ns-ink);
        background-color: rgba(245, 107, 6, .06);
        font-family: 'Bree Serif', serif;
        text-transform: uppercase;
        font-size: .95rem;
        letter-spacing: .3px;
        color: var(--ns-ink);
        min-width: 17rem;
        max-width: 100%;
        padding: .55rem 2.8rem .55rem 1rem;
        cursor: pointer;
        -webkit-appearance: none;
        -moz-appearance: none;
        appearance: none;
        background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 16 16' fill='%23f56b06'><path d='M8 11L3 6h10z'/></svg>");
        background-repeat: no-repeat;
        background-position: right .55rem center;
        background-size: 20px;
        outline: none;
        transition: border-color .16s ease, box-shadow .16s ease;
    }
    .dark-mode .nowa-startowa .ns-tbl-filter select { background-color: rgba(245, 107, 6, .14); color: #eee; border-color: #f1f1f1; }
    .nowa-startowa .ns-tbl-filter select:hover { border-color: var(--ns-accent); }
    .nowa-startowa .ns-tbl-filter select:focus {
        border-color: var(--ns-accent);
        box-shadow: 0 0 0 3px rgba(245, 107, 6, .15);
    }

    /* natywny select po enhancemencie JS - zostaje w DOM (wartość + event change),
       wizualnie schowany tak, żeby dało się go jeszcze focusować/odczytać */
    .nowa-startowa .ns-tbl-filter select.ns-tbl-filter__native--hidden {
        position: absolute !important;
        width: 1px !important;
        height: 1px !important;
        padding: 0 !important;
        margin: -1px !important;
        overflow: hidden !important;
        clip: rect(0, 0, 0, 0) !important;
        white-space: nowrap !important;
        border: 0 !important;
    }
    .nowa-startowa .ns-tbl-filter__btn {
        display: flex;
        align-items: center;
        justify-content: space-between;
        gap: .6rem;
        min-width: 17rem;
        max-width: 100%;
        border: 1px solid var(--ns-ink);
        background: rgba(245, 107, 6, .06);
        font-family: 'Bree Serif', serif;
        text-transform: uppercase;
        font-size: .95rem;
        letter-spacing: .3px;
        color: var(--ns-ink);
        padding: .55rem 1rem;
        cursor: pointer;
        transition: border-color .16s ease, box-shadow .16s ease;
    }
    .dark-mode .nowa-startowa .ns-tbl-filter__btn { background: rgba(245, 107, 6, .14); border-color: #f1f1f1; color: #f1f1f1; }
    .nowa-startowa .ns-tbl-filter__btn:hover { border-color: var(--ns-accent); }
    .nowa-startowa .ns-tbl-filter__btn:focus-visible,
    .nowa-startowa .ns-tbl-filter form.is-open .ns-tbl-filter__btn {
        border-color: var(--ns-accent);
        box-shadow: 0 0 0 3px rgba(245, 107, 6, .15);
        outline: none;
    }
    .nowa-startowa .ns-tbl-filter__value { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
    .nowa-startowa .ns-tbl-filter__arrow {
        flex: 0 0 auto;
        width: 20px;
        height: 20px;
        color: var(--ns-accent);
        transition: transform .18s ease;
    }
    .nowa-startowa .ns-tbl-filter form.is-open .ns-tbl-filter__arrow { transform: rotate(180deg); }

    .nowa-startowa .ns-tbl-filter__list {
        position: absolute;
        top: calc(100% + 6px);
        left: 0;
        right: 0;
        z-index: 40;
        max-height: 280px;
        overflow-y: auto;
        margin: 0;
        padding: .3rem 0;
        list-style: none;
        background: #fff;
        border: 1px solid var(--ns-ink);
        box-shadow: 0 12px 28px rgba(0, 0, 0, .16);
    }
    .dark-mode .nowa-startowa .ns-tbl-filter__list {
        background: #1e1e1e;
        border-color: #f1f1f1;
        box-shadow: 0 12px 28px rgba(0, 0, 0, .5);
    }
    .nowa-startowa .ns-tbl-filter__option {
        padding: .55rem 1rem;
        font-family: 'Bree Serif', serif;
        text-transform: uppercase;
        font-size: .85rem;
        letter-spacing: .2px;
        color: var(--ns-ink);
        cursor: pointer;
        transition: background-color .12s ease, color .12s ease;
    }
    .dark-mode .nowa-startowa .ns-tbl-filter__option { color: #eee; }
    .nowa-startowa .ns-tbl-filter__option:hover { background: rgba(245, 107, 6, .12); }
    .nowa-startowa .ns-tbl-filter__option.is-selected {
        background: var(--ns-accent);
        color: #fff;
        font-weight: 700;
    }

    @media (max-width: 480px) {
        .nowa-startowa .ns-tbl-filter { flex-wrap: wrap; }
        .nowa-startowa .ns-tbl-filter form,
        .nowa-startowa .ns-tbl-filter select,
        .nowa-startowa .ns-tbl-filter__btn { width: 100%; min-width: 0; }
        .nowa-startowa .ns-tbl-filter select,
        .nowa-startowa .ns-tbl-filter__btn { font-size: 1rem; }
    }

    .nowa-startowa .ns-tbl-filter__count {
        margin-left: auto;
        font-family: 'Bree Serif', serif;
        text-transform: uppercase;
        font-size: .72rem;
        letter-spacing: .3px;
        color: #9a9a9a;
    }
    .nowa-startowa .ns-tbl-filter__count b { color: var(--ns-accent); }

    /* ---------- tabela (fancy 1) ---------- */
    .nowa-startowa .ns-tbl {
        border: 1px solid var(--ns-line);
        background: #fff;
        margin-bottom: 3rem;
    }
    .dark-mode .nowa-startowa .ns-tbl { background: #262626; border-color: #3d3d3d; }
    .nowa-startowa .ns-tbl__cap {
        display: flex;
        align-items: baseline;
        justify-content: space-between;
        gap: .6rem 1rem;
        flex-wrap: wrap;
        padding: .75rem 1rem;
        background: #1f1f1f;
        border-bottom: 2px solid var(--ns-accent);
    }
    .nowa-startowa .ns-tbl__league {
        font-family: 'Bree Serif', serif;
        text-transform: uppercase;
        font-size: 1.05rem;
        letter-spacing: .6px;
        color: #ffb266;
    }
    .nowa-startowa .ns-tbl__league-lbl {
        color: #a7a7a7;
        margin-right: .15rem;
    }
    .nowa-startowa .ns-tbl__group {
        margin-left: auto;
        font-family: 'Bree Serif', serif;
        text-transform: uppercase;
        font-size: 1.4rem;
        letter-spacing: .5px;
        color: #fff;
    }
    .nowa-startowa .ns-tr {
        display: grid;
        grid-template-columns: 44px minmax(0, 1fr) 50px 58px 84px 64px 100px minmax(226px, 256px);
        align-items: center;
        gap: .9rem;
        padding: .6rem 1rem;
        font-size: .98rem;
        position: relative;
    }
    .nowa-startowa .ns-tr--head {
        font-family: 'Bree Serif', serif;
        text-transform: uppercase;
        font-size: .72rem;
        letter-spacing: .3px;
        color: #9a9a9a;
    }
    .nowa-startowa .ns-tr--head .has-hint {
        cursor: help;
        text-decoration: underline dotted;
        text-underline-offset: 3px;
    }
    .nowa-startowa .ns-tr + .ns-tr { border-top: 1px solid var(--ns-line); }
    .dark-mode .nowa-startowa .ns-tr + .ns-tr { border-color: #3a3a3a; }
    .nowa-startowa .ns-tr--body:hover { background: #faf4ef; }
    .dark-mode .nowa-startowa .ns-tr--body:hover { background: #2f2f2f; }
    .nowa-startowa .ns-tr__rank {
        width: 26px;
        height: 26px;
        display: flex;
        align-items: center;
        justify-content: center;
        background: var(--ns-ink);
        color: #fff;
        font-family: 'Bree Serif', serif;
        font-size: .78rem;
    }
    /* kwadraty z numerem miejsca 1-3: 1. najmocniejszy pomarancz, 3. najjasniejszy */
    .nowa-startowa .ns-tr.rk1 .ns-tr__rank { background: var(--ns-accent); }
    .nowa-startowa .ns-tr.rk2 .ns-tr__rank { background: #f88c3f; }
    .nowa-startowa .ns-tr.rk3 .ns-tr__rank { background: #fbb072; }
    .nowa-startowa .ns-tr.is-promo { box-shadow: inset 3px 0 0 dodgerblue; }
    .nowa-startowa .ns-tr.is-releg { box-shadow: inset 3px 0 0 #d9480f; }

    /* 3 pierwsze miejsca - pomaranczowy border z lewej */
    .nowa-startowa .ns-tr.top3::after {
        content: "";
        position: absolute;
        left: 0;
        top: 0;
        bottom: 0;
        width: 3px;
        background: var(--ns-accent);
    }
    /* pierwsze miejsce - caly wiersz podswietlony na pomaranczowo */
    .nowa-startowa .ns-tr.top1 {
        background: linear-gradient(90deg, rgba(245, 107, 6, .12), transparent 60%);
    }
    .nowa-startowa .ns-tr.top1:hover {
        background: linear-gradient(90deg, rgba(245, 107, 6, .2), rgba(250, 244, 239, .6) 60%);
    }
    /* ostatni wiersz w grupie - czerwony border z lewej (jak spadek) */
    .nowa-startowa .ns-tr.is-last::after {
        content: "";
        position: absolute;
        left: 0;
        top: 0;
        bottom: 0;
        width: 3px;
        background: #d9480f;
    }

    /* wiersze "strefa awansu / strefa spadku" (jak w tabele-fancy-2) */
    .nowa-startowa .ns-tbl__zone {
        padding: .34rem 1rem;
        font-family: 'Bree Serif', serif;
        text-transform: uppercase;
        font-size: .62rem;
        letter-spacing: .5px;
        border-top: 1px solid var(--ns-line);
    }
    .dark-mode .nowa-startowa .ns-tbl__zone { border-color: #3a3a3a; }
    .nowa-startowa .ns-tbl__zone.promo { background: rgba(30, 144, 255, .12); color: #1c6fb8; }
    .nowa-startowa .ns-tbl__zone.releg { background: rgba(255, 69, 0, .1); color: #c0390c; }
    .nowa-startowa .ns-tbl__zone + .ns-tr { border-top: 1px solid var(--ns-line); }
    .nowa-startowa .ns-tr__team {
        display: flex;
        align-items: center;
        gap: .5rem;
        font-family: 'Bree Serif', serif;
        text-transform: uppercase;
        font-size: 1rem;
        min-width: 0;
    }
    .nowa-startowa .ns-tr__team a {
        color: inherit;
        overflow: hidden;
        text-overflow: ellipsis;
        white-space: nowrap;
    }
    .nowa-startowa .ns-tr__team a:hover { color: var(--ns-accent) !important; }
    .nowa-startowa .ns-tr__num { text-align: center; font-variant-numeric: tabular-nums; color: #777; font-size: .95rem; }
    .nowa-startowa .ns-tr__sum {
        text-align: center;
        font-variant-numeric: tabular-nums;
        white-space: nowrap;
        color: #555;
        font-size: .92rem;
    }
    .dark-mode .nowa-startowa .ns-tr__sum { color: #bbb; }
    .nowa-startowa .ns-tr__pts {
        text-align: center;
        font-family: 'Bree Serif', serif;
        font-size: 1.18rem;
        color: var(--ns-ink);
    }
    .dark-mode .nowa-startowa .ns-tr__pts { color: #eee; }
    .nowa-startowa .ns-tr__diff { text-align: center; font-variant-numeric: tabular-nums; white-space: nowrap; }
    .nowa-startowa .ns-tr__diff small { margin-left: .25rem; color: #999; }
    .nowa-startowa .ns-tr__diff.pos { color: #1f9d55; }
    .nowa-startowa .ns-tr__diff.neg { color: #d9480f; }
    .nowa-startowa .ns-tr__balance {
        text-align: center;
        font-variant-numeric: tabular-nums;
        white-space: nowrap;
        letter-spacing: .3px;
        color: #777;
        font-size: .92rem;
    }

    /* kolumna "Forma (10)" - kwadraty W/P jak w tabele-fancy-2 (na koncu tabeli) */
    .nowa-startowa .ns-tr__formwrap { display: flex; }
    .nowa-startowa .ns-form {
        display: flex;
        align-items: center;
        flex-wrap: nowrap;
        gap: 2px;
    }
    .nowa-startowa .ns-form small {
        margin-right: .4rem;
        font-family: 'Bree Serif', serif;
        font-size: .8rem;
        color: #9a9a9a;
        font-variant-numeric: tabular-nums;
        white-space: nowrap;
    }
    .nowa-startowa .ns-form > span {
        flex: 0 0 auto;
        width: 16px;
        height: 16px;
        display: flex;
        align-items: center;
        justify-content: center;
        font-family: 'Bree Serif', serif;
        font-size: .6rem;
        color: #fff;
        background: #c9c9c9;
    }
    .nowa-startowa .ns-form > span.w { background: #1f9d55; }
    .nowa-startowa .ns-form > span.l { background: #d9480f; }
    .nowa-startowa .ns-tr__live {
        width: 8px;
        height: 8px;
        border-radius: 50%;
        background: var(--ns-accent);
        display: inline-block;
        margin-right: .35rem;
        animation: ns-pg-pulse 1.4s ease-in-out infinite;
    }
    .nowa-startowa .ns-tbl__legend {
        display: flex;
        flex-wrap: wrap;
        gap: .5rem 1.1rem;
        padding: .7rem 1rem;
        border-top: 1px solid var(--ns-line);
        font-family: 'Bree Serif', serif;
        text-transform: uppercase;
        font-size: .66rem;
        letter-spacing: .3px;
        color: #8a8a8a;
    }
    .nowa-startowa .ns-tbl__legend i {
        width: 22px;
        height: 3px;
        display: inline-block;
        vertical-align: middle;
        margin-right: .35rem;
    }

    @keyframes ns-pg-pulse { 0%,100% { opacity: 1; } 50% { opacity: .25; } }
    @media (prefers-reduced-motion: reduce) {
        .nowa-startowa .ns-tr__live { animation: none; }
    }

    @media (max-width: 720px) {
        .nowa-startowa .ns-tr {
            grid-template-columns: 38px minmax(0, 1fr) auto;
            grid-template-areas:
                "rank team team"
                "rank sub  sub";
            row-gap: .35rem;
            font-size: 1rem;
        }
        .nowa-startowa .ns-tr--head { display: none; }
        .nowa-startowa .ns-tr__rank { grid-area: rank; align-self: start; }
        .nowa-startowa .ns-tr__team { grid-area: team; }
        .nowa-startowa .ns-tr__num,
        .nowa-startowa .ns-tr__formwrap,
        .nowa-startowa .ns-tr__balance { display: none; }
        .nowa-startowa .ns-tr__sub {
            grid-area: sub;
            display: flex;
            gap: 1rem;
            font-family: 'Bree Serif', serif;
            text-transform: uppercase;
            font-size: .74rem;
            letter-spacing: .3px;
            color: #8a8a8a;
        }
        .nowa-startowa .ns-tr__sub b { color: var(--ns-accent); font-size: .88rem; }
        .nowa-startowa .ns-tr__pts,
        .nowa-startowa .ns-tr__sum,
        .nowa-startowa .ns-tr__diff { grid-area: sub; display: none; }
    }
    @media (min-width: 721px) {
        .nowa-startowa .ns-tr__sub { display: none; }
    }

/* ============================================================
   13. STATYSTYKI - lista drużyn (/statystyki/druzyny)
   (dawniej: statistics/_teams_styles.blade.php)
   ============================================================ */

    /* akordeon sekcji drużyn */
    .nowa-startowa .ns-tm-acc {
        margin-top: 1rem;
        border: 1px solid var(--ns-line);
    }
    .nowa-startowa .ns-tm-acc + .ns-tm-acc { margin-top: 1.15rem; }
    .dark-mode .nowa-startowa .ns-tm-acc { border-color: #3d3d3d; }

    .nowa-startowa summary.ns-tm-head {
        display: flex;
        align-items: center;
        gap: .7rem;
        flex-wrap: wrap;
        padding: .85rem 1rem;
        background: #1f1f1f;
        border-bottom: 2px solid var(--ns-accent);
        cursor: pointer;
        list-style: none;
        user-select: none;
    }
    .nowa-startowa summary.ns-tm-head::-webkit-details-marker { display: none; }
    .nowa-startowa summary.ns-tm-head:focus-visible {
        outline: 2px solid var(--ns-accent);
        outline-offset: -2px;
    }
    .nowa-startowa .ns-tm-acc:not([open]) summary.ns-tm-head { border-bottom-width: 0; }
    .nowa-startowa summary.ns-tm-head:hover .ns-tm-head__title { color: var(--ns-accent); }
    .nowa-startowa .ns-tm-head__title {
        font-family: 'Bree Serif', serif;
        text-transform: uppercase;
        letter-spacing: .5px;
        font-size: 1.45rem;
        color: #fff;
        transition: color .16s ease;
    }
    .nowa-startowa .ns-tm-head__count {
        margin-left: auto;
        font-family: 'Bree Serif', serif;
        text-transform: uppercase;
        letter-spacing: .4px;
        font-size: .95rem;
        color: #cfcfcf;
    }
    .nowa-startowa .ns-tm-head__count b { color: var(--ns-accent); }
    .nowa-startowa .ns-tm-head__chev {
        flex: 0 0 auto;
        width: 20px;
        height: 20px;
        color: #fff;
        transition: transform .2s ease;
    }
    .nowa-startowa .ns-tm-acc[open] .ns-tm-head__chev { transform: rotate(180deg); }

    /* lista drużyn - karty w siatce 2-kolumnowej */
    .nowa-startowa .ns-tm-list {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: clamp(.7rem, 2vw, 1.05rem);
        padding: 1rem 1.1rem 1.15rem;
    }
    @media (max-width: 640px) {
        .nowa-startowa .ns-tm-list { grid-template-columns: 1fr; }
    }
    .nowa-startowa .ns-tm-card {
        position: relative;
        display: flex;
        gap: 1rem;
        padding: 1.05rem 1.2rem;
        background: #fff;
        border: 1px solid var(--ns-line);
        color: inherit;
        text-decoration: none;
        overflow: hidden;
        transition: transform .18s ease, border-color .18s ease, box-shadow .18s ease;
    }
    .dark-mode .nowa-startowa .ns-tm-card { background: #262626; border-color: #3d3d3d; }
    .nowa-startowa .ns-tm-card::before {
        content: "";
        position: absolute;
        left: 0; top: 0; bottom: 0;
        width: 2px;
        background: var(--ns-line);
        transition: background-color .18s ease;
    }
    .nowa-startowa a.ns-tm-card:hover {
        transform: translateY(-4px);
        border-color: var(--ns-accent);
        box-shadow: 0 16px 30px rgba(0, 0, 0, .12);
    }
    .nowa-startowa a.ns-tm-card:hover::before { background: var(--ns-accent); }

    .nowa-startowa .ns-tm-crest {
        flex: 0 0 auto;
        width: 52px;
        height: 52px;
        border-radius: 50%;
        display: flex;
        align-items: center;
        justify-content: center;
        background: var(--ns-line);
        color: #666;
        font-family: 'Bree Serif', serif;
        font-size: 1.1rem;
        transition: background-color .18s ease, color .18s ease;
    }
    .dark-mode .nowa-startowa .ns-tm-crest { background: #3a3a3a; color: #bbb; }
    .nowa-startowa a.ns-tm-card:hover .ns-tm-crest { background: var(--ns-accent); color: #fff; }

    .nowa-startowa .ns-tm-body { min-width: 0; }
    .nowa-startowa .ns-tm-name {
        font-family: 'Bree Serif', serif;
        text-transform: uppercase;
        font-size: 1.22rem;
        line-height: 1.18;
        color: var(--ns-ink);
    }
    .dark-mode .nowa-startowa .ns-tm-name { color: #eee; }
    .nowa-startowa .ns-tm-city {
        margin-top: .25rem;
        font-family: 'Bree Serif', serif;
        text-transform: uppercase;
        letter-spacing: .4px;
        font-size: .82rem;
        color: var(--ns-accent);
    }
    /* osiagniecia / MEMO - lista z pomarańczowym kwadratem (jak na stronie druzyny) */
    .nowa-startowa .ns-tm-memo {
        list-style: none;
        margin: .6rem 0 0;
        padding: 0;
        font-family: system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
        font-size: .9rem;
        line-height: 1.5;
        color: #6a6a6a;
    }
    .nowa-startowa .ns-tm-memo li {
        position: relative;
        padding-left: 1.1rem;
        margin: .2rem 0;
    }
    .nowa-startowa .ns-tm-memo li::before {
        content: "";
        position: absolute;
        left: 0;
        top: .45em;
        width: .45rem;
        height: .45rem;
        background: var(--ns-accent);
    }
    .dark-mode .nowa-startowa .ns-tm-memo { color: #a6a6a6; }

    .nowa-startowa .ns-tm-empty {
        padding: 1.4rem .2rem;
        font-family: 'Bree Serif', serif;
        text-transform: uppercase;
        letter-spacing: .4px;
        font-size: .8rem;
        color: #9a9a9a;
    }

/* ============================================================
   14. STATYSTYKI - widok drużyny (/statystyki/druzyny/{id})
   (dawniej: statistics/_team_styles.blade.php)
   ============================================================ */

    .nowa-startowa .ns-ts-hero {
        display: flex;
        align-items: center;
        gap: clamp(1rem, 3vw, 1.8rem);
        border: 1px solid var(--ns-line);
        background: #fff;
        padding: clamp(1rem, 3vw, 1.6rem);
        box-shadow: 0 20px 40px -22px rgba(0, 0, 0, .3);
    }
    .dark-mode .nowa-startowa .ns-ts-hero { background: #242424; border-color: #3d3d3d; }

    .nowa-startowa .ns-ts-crest {
        flex: 0 0 auto;
        width: clamp(74px, 14vw, 108px);
        height: clamp(74px, 14vw, 108px);
        border-radius: 50%;
        display: flex;
        align-items: center;
        justify-content: center;
        background: var(--ns-accent);
        color: #fff;
        font-family: 'Bree Serif', serif;
        font-size: clamp(1.8rem, 1rem + 3vw, 2.9rem);
        text-shadow: 2px 3px 8px rgba(0, 0, 0, .4);
        box-shadow: 0 16px 30px -8px rgba(245, 107, 6, .6);
    }

    .nowa-startowa .ns-ts-name {
        font-family: 'Bree Serif', serif;
        text-transform: uppercase;
        line-height: 1.02;
        font-size: clamp(1.8rem, 1.2rem + 3.2vw, 3.4rem);
        color: var(--ns-ink);
        margin: 0;
        -webkit-text-stroke: .5px currentColor;
        text-shadow: 2px 3px 9px rgba(0, 0, 0, .22);
    }
    .dark-mode .nowa-startowa .ns-ts-name { color: #eee; text-shadow: 2px 3px 12px rgba(0, 0, 0, .6); }

    .nowa-startowa .ns-ts-meta {
        display: flex;
        flex-wrap: wrap;
        gap: .55rem;
        margin-top: .9rem;
    }
    .nowa-startowa .ns-ts-chip {
        display: inline-flex;
        align-items: center;
        gap: .4rem;
        padding: .42rem .9rem;
        border: 1px solid var(--ns-line);
        font-family: 'Bree Serif', serif;
        text-transform: uppercase;
        letter-spacing: .4px;
        font-size: .84rem;
        color: var(--ns-ink);
        text-decoration: none;
        box-shadow: 0 8px 18px -12px rgba(0, 0, 0, .25);
    }
    .dark-mode .nowa-startowa .ns-ts-chip { border-color: #3d3d3d; color: #eee; }
    .nowa-startowa .ns-ts-chip b { color: var(--ns-accent); font-weight: 400; }
    .nowa-startowa a.ns-ts-chip:hover { border-color: var(--ns-accent); color: var(--ns-accent); }

    /* pod-nawigacja */
    .nowa-startowa .ns-ts-nav {
        display: flex;
        flex-wrap: wrap;
        gap: .3rem;
        margin: 1.4rem 0 .2rem;
        border-bottom: 2px solid var(--ns-ink);
    }
    .dark-mode .nowa-startowa .ns-ts-nav { border-bottom-color: #fff; }
    .nowa-startowa .ns-ts-nav a {
        position: relative;
        padding: .8rem 1.25rem .72rem;
        font-family: 'Bree Serif', serif;
        text-transform: uppercase;
        letter-spacing: .5px;
        font-size: .92rem;
        color: #8a8a8a;
        text-decoration: none;
        border: 1px solid transparent;
        border-bottom: none;
        white-space: nowrap;
        transition: color .15s ease, transform .15s ease;
    }
    .nowa-startowa .ns-ts-nav a:hover { color: var(--ns-ink); transform: translateY(-1px); }
    .dark-mode .nowa-startowa .ns-ts-nav a:hover { color: #fff; }
    .nowa-startowa .ns-ts-nav a.is-on {
        color: #fff;
        background: #171717;
        border-color: #171717;
        transform: translateY(1px);
        clip-path: polygon(0 0, 100% 0, calc(100% - 11px) 100%, 0 100%);
    }
    .dark-mode .nowa-startowa .ns-ts-nav a.is-on { background: #000; border-color: #000; }

    .nowa-startowa .ns-ts-nav a.ns-ts-nav__alt {
        align-self: center;
        margin: 0 0 .3rem .3rem;
        padding: .42rem .8rem;
        font-size: .74rem;
        color: #a2a2a2;
        border: 1px dashed #d0d0d0;
        clip-path: none;
        transform: none;
    }
    .nowa-startowa .ns-ts-nav a.ns-ts-nav__alt--first { margin-left: auto; }
    .nowa-startowa .ns-ts-nav a.ns-ts-nav__alt:hover {
        color: #171717;
        border-style: solid;
        border-color: var(--ns-accent);
        transform: none;
    }
    .dark-mode .nowa-startowa .ns-ts-nav a.ns-ts-nav__alt { color: #8f8f8f; border-color: #444; }
    .dark-mode .nowa-startowa .ns-ts-nav a.ns-ts-nav__alt:hover { color: #fff; }
    @media (max-width: 575.98px) {
        .nowa-startowa .ns-ts-nav a { padding: .68rem .85rem .6rem; font-size: .82rem; letter-spacing: .3px; }
        .nowa-startowa .ns-ts-nav a.ns-ts-nav__alt--first { margin-left: .3rem; }
    }

    /* obszar treści - zawartość starych partiali, tylko odchudzona / ostylowana */
    .nowa-startowa .ns-ts-body { margin-top: 1.2rem; }
    .nowa-startowa .ns-ts-body .card {
        border: 1px solid var(--ns-line) !important;
        box-shadow: none !important;
        background: #fff;
    }
    .dark-mode .nowa-startowa .ns-ts-body .card { background: #242424; border-color: #3d3d3d !important; }
    .nowa-startowa .ns-ts-body .card-body { padding: 1rem 1.1rem 1.2rem; }
    .nowa-startowa .ns-ts-body h3 {
        font-family: 'Bree Serif', serif !important;
        text-transform: uppercase;
        font-size: 1.55rem !important;
        letter-spacing: .3px;
        color: var(--ns-ink);
        margin: 0 0 .9rem;
        -webkit-text-stroke: .5px currentColor;
        text-stroke: .5px currentColor;
        paint-order: stroke fill;
        text-shadow: 1px 2px 6px rgba(0, 0, 0, .16);
    }
    .dark-mode .nowa-startowa .ns-ts-body h3 { text-shadow: 1px 2px 8px rgba(0, 0, 0, .5); }
    .nowa-startowa .ns-ts-body h3.mt-4 { margin-top: 1.8rem; }
    .dark-mode .nowa-startowa .ns-ts-body h3 { color: #eee; }

    .nowa-startowa .ns-ts-body .statistics-table {
        border: 1px solid var(--ns-line);
        overflow-x: auto;
        -webkit-overflow-scrolling: touch;
        margin: 0 0 .6rem;
    }
    .dark-mode .nowa-startowa .ns-ts-body .statistics-table { border-color: #3d3d3d; }
    .nowa-startowa .ns-ts-body table {
        width: 100%;
        margin: 0;
        border-collapse: collapse;
        font-family: 'Bree Serif', serif;
        font-size: .82rem;
        background: #fff;
        box-shadow: none !important;
        border: 0 !important;
    }
    .dark-mode .nowa-startowa .ns-ts-body table { background: #242424; color: #ddd; }
    .nowa-startowa .ns-ts-body thead th {
        background: #1f1f1f;
        color: #fff;
        border: 0;
        border-bottom: 2px solid var(--ns-accent);
        text-transform: uppercase;
        letter-spacing: .3px;
        font-size: .66rem;
        padding: .55rem .5rem;
        white-space: nowrap;
        text-align: center;
        vertical-align: middle;
    }
    .nowa-startowa .ns-ts-body thead th .small { color: #cfcfcf; }
    .nowa-startowa .ns-ts-body tbody td,
    .nowa-startowa .ns-ts-body tbody th {
        border: 0;
        border-top: 1px solid var(--ns-line);
        padding: .5rem;
        vertical-align: middle;
        font-variant-numeric: tabular-nums;
    }
    .dark-mode .nowa-startowa .ns-ts-body tbody td,
    .dark-mode .nowa-startowa .ns-ts-body tbody th { border-color: #383838; }
    .nowa-startowa .ns-ts-body tbody tr:hover td,
    .nowa-startowa .ns-ts-body tbody tr:hover th { background: #faf4ef; }
    .dark-mode .nowa-startowa .ns-ts-body tbody tr:hover td,
    .dark-mode .nowa-startowa .ns-ts-body tbody tr:hover th { background: #2f2f2f; }
    .nowa-startowa .ns-ts-body a { color: var(--ns-accent); text-decoration: none; }
    .nowa-startowa .ns-ts-body a:hover { text-decoration: underline; }

    /* skład drużyny - awatar zawodnika przy nazwisku (jak w season leaders) */
    .nowa-startowa .ns-ts-body .ns-ts-plink {
        display: inline-flex;
        align-items: center;
        gap: .6rem;
    }
    .nowa-startowa .ns-ts-body .ns-lf-av {
        position: relative;
        flex: 0 0 auto;
        width: 36px;
        height: 36px;
        border-radius: 50%;
        overflow: hidden;
        display: flex;
        align-items: center;
        justify-content: center;
        background: var(--ns-line);
        color: #666;
        font-family: 'Bree Serif', serif;
        font-size: .72rem;
    }
    .dark-mode .nowa-startowa .ns-ts-body .ns-lf-av { background: #3a3a3a; color: #bbb; }
    .nowa-startowa .ns-ts-body .ns-lf-av img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }

    /* Informacje o drużynie - lista klucz/wartość */
    .nowa-startowa .ns-ts-body .ns-ts-kv {
        display: grid;
        grid-template-columns: minmax(160px, 220px) 1fr;
        gap: 0;
        margin: 0 0 1.6rem;
        border: 1px solid var(--ns-line);
    }
    .dark-mode .nowa-startowa .ns-ts-body .ns-ts-kv { border-color: #3d3d3d; }
    @media (max-width: 560px) {
        .nowa-startowa .ns-ts-body .ns-ts-kv { grid-template-columns: 1fr; }
    }
    .nowa-startowa .ns-ts-body .ns-ts-kv dt,
    .nowa-startowa .ns-ts-body .ns-ts-kv dd {
        margin: 0;
        padding: .85rem 1.05rem;
        border-top: 1px solid var(--ns-line);
    }
    .dark-mode .nowa-startowa .ns-ts-body .ns-ts-kv dt,
    .dark-mode .nowa-startowa .ns-ts-body .ns-ts-kv dd { border-color: #383838; }
    .nowa-startowa .ns-ts-body .ns-ts-kv dt:first-of-type,
    .nowa-startowa .ns-ts-body .ns-ts-kv dd:first-of-type { border-top: 0; }
    .nowa-startowa .ns-ts-body .ns-ts-kv dt {
        display: flex;
        align-items: center;
        font-family: 'Bree Serif', serif;
        text-transform: uppercase;
        letter-spacing: .4px;
        font-size: .84rem;
        color: #8a8a8a;
        background: #fafafa;
        -webkit-text-stroke: .2px currentColor;
        paint-order: stroke fill;
    }
    .dark-mode .nowa-startowa .ns-ts-body .ns-ts-kv dt { background: #1f1f1f; color: #a6a6a6; }
    .nowa-startowa .ns-ts-body .ns-ts-kv dd {
        font-family: 'Bree Serif', serif;
        font-size: 1.18rem;
        line-height: 1.4;
        text-transform: uppercase;
        letter-spacing: .3px;
        color: var(--ns-ink);
        -webkit-text-stroke: .35px currentColor;
        text-stroke: .35px currentColor;
        paint-order: stroke fill;
        text-shadow: 1px 1px 4px rgba(0, 0, 0, .12);
    }
    .dark-mode .nowa-startowa .ns-ts-body .ns-ts-kv dd { color: #eee; text-shadow: 1px 1px 5px rgba(0, 0, 0, .45); }
    @media (max-width: 560px) {
        .nowa-startowa .ns-ts-body .ns-ts-kv dt { border-top: 1px solid var(--ns-line); }
        .nowa-startowa .ns-ts-body .ns-ts-kv dt:first-of-type { border-top: 0; }
        .nowa-startowa .ns-ts-body .ns-ts-kv dd { padding-top: .1rem; }
    }

    /* "Informacje dodatkowe" / osiagniecia - lista z pomarańczowym kwadratem */
    .nowa-startowa .ns-ts-body .ns-memo {
        list-style: none;
        margin: 0;
        padding: 0;
        text-align: left;
    }
    .nowa-startowa .ns-ts-body .ns-memo li {
        position: relative;
        padding-left: 1.2rem;
        margin: .32rem 0;
        font-size: 1.12rem;
        line-height: 1.45;
        -webkit-text-stroke: .3px currentColor;
        paint-order: stroke fill;
    }
    .nowa-startowa .ns-ts-body .ns-memo li::before {
        content: "";
        position: absolute;
        left: 0;
        top: .45em;
        width: .5rem;
        height: .5rem;
        background: var(--ns-accent);
    }

/* ============================================================
   15. TERMINARZ - wyniki / daty (/terminarz)
   (dawniej: terminarz/_results_styles.blade.php)
   ============================================================ */

    .nowa-startowa .trm-wrap { margin-top: 1.5rem; }

    /* ---------- nagłówek daty ---------- */
    .nowa-startowa .trm-daterow {
        display: flex;
        align-items: baseline;
        justify-content: space-between;
        gap: 1rem;
        flex-wrap: wrap;
        margin: 2.4rem 0 .9rem;
    }
    .nowa-startowa .trm-group:first-child .trm-daterow { margin-top: .5rem; }
    .nowa-startowa .trm-date {
        margin: 0;
        font-family: 'Bree Serif', serif;
        text-transform: uppercase;
        font-size: clamp(1.45rem, 1rem + 1.8vw, 2rem);
        font-weight: 700;
        -webkit-text-stroke: .4px currentColor;
        text-stroke: .4px currentColor;
        paint-order: stroke fill;
        letter-spacing: .3px;
        position: relative;
        padding-bottom: .5rem;
        color: var(--ns-ink);
    }
    .dark-mode .nowa-startowa .trm-date { color: #f1f1f1; }
    .nowa-startowa .trm-date::after {
        content: "";
        position: absolute;
        left: 0;
        bottom: 0;
        width: 58px;
        height: 5px;
        background: var(--ns-accent);
        transform: skewX(-12deg);
    }
    .nowa-startowa .trm-date small {
        display: block;
        font-size: .8rem;
        letter-spacing: .5px;
        color: #9a9a9a;
        margin-top: .25rem;
    }

    /* ---------- lista meczów ---------- */
    .nowa-startowa .trm-list {
        border: 1px solid var(--ns-line);
        background: #fff;
    }
    .dark-mode .nowa-startowa .trm-list { background: #262626; border-color: #3d3d3d; }

    .nowa-startowa .trm-head,
    .nowa-startowa .trm-row {
        display: grid;
        grid-template-columns: 42px 70px minmax(0, 1fr) 100px minmax(0, 1fr) minmax(0, 280px) 90px;
        align-items: center;
        gap: .6rem;
        padding: .72rem 1rem;
    }
    .nowa-startowa .trm-head {
        font-family: 'Bree Serif', serif;
        text-transform: uppercase;
        font-size: .74rem;
        letter-spacing: .45px;
        color: #9a9a9a;
        border-bottom: 2px solid var(--ns-ink);
    }
    .dark-mode .nowa-startowa .trm-head { border-bottom-color: #f1f1f1; }
    .nowa-startowa .trm-row {
        font-size: 1rem;
        border-top: 1px solid var(--ns-line);
        transition: background-color .16s ease;
    }
    .nowa-startowa .trm-row:first-child { border-top: 0; }
    .dark-mode .nowa-startowa .trm-row { border-top-color: #3a3a3a; }
    .nowa-startowa .trm-row:hover { background: #faf4ef; }
    .dark-mode .nowa-startowa .trm-row:hover { background: #2f2f2f; }

    .nowa-startowa .trm-nr {
        font-family: 'Bree Serif', serif;
        color: #b5b5b5;
        font-size: .9rem;
    }
    .nowa-startowa .trm-when { display: flex; flex-direction: column; line-height: 1.2; }
    .nowa-startowa .trm-when b {
        font-family: 'Bree Serif', serif;
        font-weight: 400;
        font-size: 1.02rem;
        font-variant-numeric: tabular-nums;
        color: var(--ns-ink);
    }
    .dark-mode .nowa-startowa .trm-when b { color: #eee; }
    .nowa-startowa .trm-when i { font-style: normal; font-size: .8rem; color: #9a9a9a; }

    .nowa-startowa .trm-team {
        font-family: 'Bree Serif', serif;
        text-transform: uppercase;
        font-size: .98rem;
        overflow: hidden;
        text-overflow: ellipsis;
        white-space: nowrap;
    }
    .nowa-startowa .trm-team--home { text-align: right; }
    .nowa-startowa .trm-team a { color: inherit; }
    .nowa-startowa .trm-team a:hover { color: var(--ns-accent) !important; }

    .nowa-startowa .trm-score {
        text-align: center;
        font-family: 'Bree Serif', serif;
        font-size: 1.2rem;
        font-variant-numeric: tabular-nums;
        letter-spacing: .5px;
        white-space: nowrap;
    }
    .nowa-startowa .trm-score a { color: inherit; }
    .nowa-startowa .trm-score a:hover { color: var(--ns-accent); }
    .nowa-startowa .trm-score .w { color: var(--ns-accent); }
    .nowa-startowa .trm-score--soon { color: #b0b0b0; font-size: .92rem; }

    .nowa-startowa .trm-meta {
        font-size: .82rem;
        color: #9a9a9a;
        white-space: normal;
        overflow-wrap: anywhere;
        line-height: 1.4;
    }
    .nowa-startowa .trm-meta-top { display: inline; }
    .nowa-startowa .trm-liga::before { content: "\2014"; margin: 0 .4em; }
    .nowa-startowa .trm-hall {
        display: block;
        margin-top: .1rem;
    }

    .nowa-startowa .trm-actions {
        display: inline-flex;
        gap: .35rem;
        justify-self: end;
    }
    .nowa-startowa .trm-btn {
        width: 32px;
        height: 32px;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        padding: 0;
        border: 1px solid #111;
        background: #fff;
        color: #111 !important;
        cursor: pointer;
        transition: background-color .16s ease, color .16s ease, border-color .16s ease;
    }
    .dark-mode .nowa-startowa .trm-btn { background: #1e1e1e; color: #f1f1f1 !important; border-color: #f1f1f1; }
    .nowa-startowa .trm-btn svg { fill: currentColor; transition: transform .2s ease; }
    .nowa-startowa .trm-btn:hover,
    .nowa-startowa .trm-btn:focus-visible {
        background: var(--ns-accent);
        border-color: var(--ns-accent);
        color: #fff !important;
        outline: none;
    }
    .nowa-startowa .trm-btn:hover svg,
    .nowa-startowa .trm-btn:focus-visible svg { fill: #fff; }
    .nowa-startowa .trm-btn--toggle[aria-expanded="true"] {
        background: var(--ns-accent);
        border-color: var(--ns-accent);
        color: #fff !important;
    }
    .nowa-startowa .trm-btn--toggle[aria-expanded="true"] svg { fill: #fff; transform: rotate(180deg); }

    /* ---------- panel rozwijany (skład / punkty) ---------- */
    .nowa-startowa .trm-detail .accordion,
    .nowa-startowa .trm-detail .accordion-item {
        border: 0;
        background: transparent;
    }
    .nowa-startowa .trm-detail .accordion-body {
        padding: .9rem 1.1rem 1.1rem;
        border-top: 1px dashed var(--ns-line);
        background: #fbfbfb;
        font-size: .96rem;
        line-height: 1.75;
        color: #444;
    }
    .dark-mode .nowa-startowa .trm-detail .accordion-body { background: #222; border-top-color: #3d3d3d; color: #bbb; }
    .nowa-startowa .trm-detail .trm-detail__team {
        font-family: 'Bree Serif', serif;
        text-transform: uppercase;
        font-size: .84rem;
        letter-spacing: .4px;
        color: #8a8a8a;
        display: block;
        margin-bottom: .1rem;
    }
    .nowa-startowa .trm-detail a { color: var(--ns-accent); }
    .nowa-startowa .trm-detail__empty { color: #9a9a9a; }

    .nowa-startowa .trm-none {
        padding: 1.3rem .2rem;
        color: #9a9a9a;
        font-family: 'Bree Serif', serif;
        text-transform: uppercase;
        letter-spacing: .5px;
        font-size: .92rem;
    }

    /* ---------- filtry drużyna/data (poza .nowa-startowa, więc bez tokenów --ns-*;
       --main-color jest globalny) ----------
       1) fallback bez JS: natywny select, ostylowany na tyle ile CSS pozwala
       2) po enhancemencie JS-em (patrz trmEnhanceSelect w bottom-js-script)
          natywny select znika, a w jego miejsce staje w pełni stylowany
          custom dropdown - .trm-select / __trigger / __list / __option,
          bo listy natywnego <select> po rozwinięciu praktycznie nie da się
          ostylować (to UI przeglądarki/OS, nie DOM) */
    .trm-filters select.form-select {
        -webkit-appearance: none;
        -moz-appearance: none;
        appearance: none;
        min-width: 230px;
        border: 1px solid #1a1a1a;
        border-radius: 0;
        background-color: #fff;
        font-family: 'Bree Serif', serif;
        text-transform: uppercase;
        font-size: 1rem;
        letter-spacing: .3px;
        color: #1a1a1a;
        padding: .7rem 3rem .7rem 1.1rem;
        cursor: pointer;
        background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='22' height='22' viewBox='0 0 16 16' fill='%23f56b06'><path d='M8 11L3 6h10z'/></svg>");
        background-repeat: no-repeat;
        background-position: right .6rem center;
        background-size: 22px;
        transition: border-color .16s ease, box-shadow .16s ease, background-color .16s ease;
    }
    .dark-mode .trm-filters select.form-select {
        background-color: #1e1e1e;
        border-color: #f1f1f1;
        color: #f1f1f1;
    }
    .trm-filters select.form-select:hover { border-color: var(--main-color); }
    .trm-filters select.form-select:focus {
        border-color: var(--main-color);
        box-shadow: 0 0 0 3px rgba(245, 107, 6, .15);
        outline: none;
    }
    .trm-filters select.form-select option { text-transform: none; }

    /* natywny <select> po enhancemencie JS - zostaje w DOM (wartość + event change),
       ale wizualnie chowamy go tak, żeby dało się go jeszcze focusować/odczytać
       (czytnik ekranu), zamiast display:none */
    .trm-select { position: relative; display: inline-block; min-width: 230px; }
    .trm-select__native {
        position: absolute !important;
        width: 1px !important;
        height: 1px !important;
        padding: 0 !important;
        margin: -1px !important;
        overflow: hidden !important;
        clip: rect(0, 0, 0, 0) !important;
        white-space: nowrap !important;
        border: 0 !important;
    }
    .trm-select__trigger {
        display: flex;
        align-items: center;
        justify-content: space-between;
        gap: .7rem;
        width: 100%;
        border: 1px solid #1a1a1a;
        background: #fff;
        font-family: 'Bree Serif', serif;
        text-transform: uppercase;
        font-size: 1rem;
        letter-spacing: .3px;
        color: #1a1a1a;
        padding: .7rem 1.1rem;
        cursor: pointer;
        transition: border-color .16s ease, box-shadow .16s ease;
    }
    .dark-mode .trm-select__trigger { background: #1e1e1e; border-color: #f1f1f1; color: #f1f1f1; }
    .trm-select__trigger:hover { border-color: var(--main-color); }
    .trm-select__trigger:focus-visible,
    .trm-select.is-open .trm-select__trigger {
        border-color: var(--main-color);
        box-shadow: 0 0 0 3px rgba(245, 107, 6, .15);
        outline: none;
    }
    .trm-select__value { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
    .trm-select__arrow {
        flex: 0 0 auto;
        width: 22px;
        height: 22px;
        color: var(--main-color);
        transition: transform .18s ease;
    }
    .trm-select.is-open .trm-select__arrow { transform: rotate(180deg); }

    /* panel z listą opcji - własny, w pełni stylowany */
    .trm-select__list {
        position: absolute;
        top: calc(100% + 6px);
        left: 0;
        right: 0;
        z-index: 40;
        max-height: 280px;
        overflow-y: auto;
        margin: 0;
        padding: .3rem 0;
        list-style: none;
        background: #fff;
        border: 1px solid #1a1a1a;
        box-shadow: 0 12px 28px rgba(0, 0, 0, .16);
    }
    .dark-mode .trm-select__list {
        background: #1e1e1e;
        border-color: #f1f1f1;
        box-shadow: 0 12px 28px rgba(0, 0, 0, .5);
    }
    .trm-select__option {
        padding: .65rem 1.1rem;
        font-family: 'Bree Serif', serif;
        text-transform: uppercase;
        font-size: .92rem;
        letter-spacing: .2px;
        color: #1a1a1a;
        cursor: pointer;
        transition: background-color .12s ease, color .12s ease;
    }
    .dark-mode .trm-select__option { color: #eee; }
    .trm-select__option:hover { background: rgba(245, 107, 6, .12); }
    .trm-select__option.is-selected {
        background: var(--main-color);
        color: #fff;
        font-weight: 700;
    }

    /* ---------- mobile: filtry drużyna/data pod sobą, na pełną szerokość ---------- */
    @media (max-width: 576px) {
        .trm-filters { flex-wrap: wrap; }
        .trm-filters > div { width: 100%; }
        .trm-filters .d-inline-block {
            display: block !important;
            width: 100%;
            margin-right: 0 !important;
            margin-bottom: .5rem;
        }
        .trm-filters .form-select,
        .trm-filters .trm-select { width: 100%; }
        .trm-filters .form-select {
            /* min. 16px, żeby Safari na iOS nie zoomował po dotknięciu selecta */
            font-size: 1.05rem;
            padding: .75rem 2.9rem .75rem 1.1rem;
            background-size: 22px;
        }
        .trm-filters .trm-select__trigger {
            font-size: 1.05rem;
            padding: .8rem 1.1rem;
        }
        .trm-filters a.btn { display: block; text-align: center; margin-top: -3px; }
    }

    /* ---------- mobile: wiersz -> karta ---------- */
    @media (max-width: 860px) {
        .nowa-startowa .trm-list { border: 0; background: transparent; }
        .nowa-startowa .trm-head { display: none; }
        .nowa-startowa .trm-row {
            grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr);
            grid-template-areas:
                "meta   meta   meta"
                "home   score  away"
                "foot   foot   foot";
            gap: .4rem .6rem;
            padding: .85rem .95rem;
            border: 1px solid var(--ns-line);
            background: #fff;
        }
        .dark-mode .nowa-startowa .trm-row { background: #262626; border-color: #3d3d3d; }
        .nowa-startowa .trm-row + .trm-row { border-top: 1px solid var(--ns-line); margin-top: .55rem; }
        .nowa-startowa .trm-detail { margin-top: -.55rem; }

        .nowa-startowa .trm-nr { display: none; }
        .nowa-startowa .trm-when {
            grid-area: meta;
            flex-direction: row;
            gap: .5rem;
            align-items: baseline;
            font-size: .8rem;
            color: #9a9a9a;
            text-transform: uppercase;
            min-width: 0;
        }
        .nowa-startowa .trm-when b { font-size: .9rem; }
        .nowa-startowa .trm-team--home { grid-area: home; text-align: left; }
        .nowa-startowa .trm-team--away { grid-area: away; text-align: right; }
        .nowa-startowa .trm-team { font-size: 1.06rem; white-space: normal; min-width: 0; }
        .nowa-startowa .trm-score { grid-area: score; font-size: 1.32rem; align-self: center; }
        .nowa-startowa .trm-meta {
            grid-area: foot;
            white-space: normal;
            font-size: .78rem;
        }
        /* faza i liga wyśrodkowane, linia oddzielająca od wyniku nad nimi */
        .nowa-startowa .trm-meta-top {
            position: relative;
            display: flex;
            justify-content: center;
            padding-top: .55rem;
            margin-top: .1rem;
        }
        .nowa-startowa .trm-meta-top::before {
            content: "";
            position: absolute;
            top: 0;
            left: 25%;
            width: 50%;
            height: 1px;
            background: var(--ns-line);
        }
        .dark-mode .nowa-startowa .trm-meta-top::before { background: #3d3d3d; }
        .nowa-startowa .trm-hall { text-align: center; }
        /* przyciski akcji obok godziny/daty, nie nad opisem hali - inaczej przy dłuższej
           nazwie hali tekst zawijał się pod zarezerwowany margines i wyglądało to krzywo */
        .nowa-startowa .trm-actions {
            grid-area: meta;
            justify-self: end;
            align-self: center;
        }
    }

/* ============================================================
   16. ZAPISY - formularze, zakładki, alerty
   (dawniej: zapisy/_styles.blade.php)
   ============================================================ */

    /* ---------- nagłówek strefy ---------- */
    .nowa-startowa .ns-zp-headbar {
        display: flex;
        justify-content: space-between;
        align-items: center;
        gap: .75rem 1.25rem;
        flex-wrap: wrap;
        margin-bottom: .5rem;
    }
    .nowa-startowa .ns-zp-title {
        margin: 0;
        font-family: 'Bree Serif', serif;
        text-transform: uppercase;
        line-height: .98;
        font-size: clamp(1.7rem, 1.05rem + 2.8vw, 2.9rem);
    }
    .nowa-startowa .ns-zp-title a { color: inherit; }
    .nowa-startowa .ns-zp-title__sep { color: var(--ns-accent); margin: 0 .1em; }
    .nowa-startowa .ns-zp-headbar__aside {
        display: flex;
        align-items: center;
        gap: .4rem;
        flex-wrap: wrap;
    }
    .nowa-startowa .ns-zp-headbar__aside > a:not(.ns-zp-pill) {
        font-family: 'Bree Serif', serif;
        text-transform: uppercase;
        font-size: .74rem;
        letter-spacing: .3px;
        color: var(--ns-accent);
    }
    .nowa-startowa .ns-zp-headbar__aside > a:not(.ns-zp-pill):hover { text-decoration: underline; }
    .nowa-startowa .ns-zp-user__mail {
        font-family: 'Bree Serif', serif;
        text-transform: uppercase;
        color: var(--ns-accent);
        word-break: break-all;
        margin: 0 0 1rem;
        font-size: .95rem;
    }

    /* ---------- zakładki ---------- */
    .nowa-startowa .ns-zp-tabs {
        display: flex;
        gap: .2rem;
        padding: 0 .35rem;
        border-bottom: 2px solid var(--ns-ink);
        overflow-x: auto;
        scrollbar-width: none;
    }
    .nowa-startowa .ns-zp-tabs::-webkit-scrollbar { display: none; }
    .nowa-startowa .ns-zp-tab {
        position: relative;
        padding: .9rem 1.15rem;
        font-family: 'Bree Serif', serif;
        text-transform: uppercase;
        font-size: .8rem;
        letter-spacing: .3px;
        color: #7a7a7a;
        white-space: nowrap;
    }
    .nowa-startowa .ns-zp-tab::after {
        content: "";
        position: absolute;
        left: .75rem; right: .75rem; bottom: -2px;
        height: 3px;
        background: var(--ns-accent);
        transform: scaleX(0);
        transform-origin: left;
        transition: transform .2s ease;
    }
    .nowa-startowa .ns-zp-tab:hover { color: var(--ns-ink); }
    .nowa-startowa .ns-zp-tab.is-active { color: var(--ns-ink); }
    .nowa-startowa .ns-zp-tab.is-active::after { transform: scaleX(1); }
    .dark-mode .nowa-startowa .ns-zp-tab { color: #9a9a9a; }
    .dark-mode .nowa-startowa .ns-zp-tab:hover,
    .dark-mode .nowa-startowa .ns-zp-tab.is-active { color: #eee; }

    .nowa-startowa .ns-zp-body { padding: clamp(1.1rem, 3vw, 2rem); }

    .nowa-startowa .ns-zp-h {
        font-family: 'Bree Serif', serif;
        text-transform: uppercase;
        margin: 0 0 .3rem;
        font-size: 1.15rem;
    }
    .nowa-startowa .ns-zp-sub {
        color: #8a8a8a;
        font-size: .85rem;
        margin: 0 0 1.15rem;
        font-family: system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
        text-transform: none;
        letter-spacing: 0;
    }

    /* ---------- formularz ---------- */
    .nowa-startowa .ns-zp-form { max-width: 460px; }
    .nowa-startowa .ns-zp-field { margin-bottom: 1.1rem; }
    .nowa-startowa .ns-zp-label {
        display: block;
        font-family: 'Bree Serif', serif;
        text-transform: uppercase;
        font-size: .7rem;
        letter-spacing: .3px;
        color: #8a8a8a;
        margin-bottom: .3rem;
    }
    .nowa-startowa .ns-zp-input {
        display: block;
        width: 100%;
        border: 1px solid var(--ns-line);
        border-radius: 0;
        background: #fff;
        padding: .72rem .85rem;
        font-size: .95rem;
        color: #1a1a1a;
        font-family: system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
        transition: border-color .15s ease, box-shadow .15s ease;
    }
    .nowa-startowa .ns-zp-input:focus {
        outline: 0;
        border-color: var(--ns-accent);
        box-shadow: 0 0 0 .18rem rgba(245, 107, 6, .18);
    }
    .nowa-startowa .ns-zp-input.is-invalid { border-color: #d9480f; }
    .dark-mode .nowa-startowa .ns-zp-input { background: #2b2b2b; border-color: #444; color: #eee; }
    .nowa-startowa .ns-zp-hint { font-size: .75rem; color: #9a9a9a; margin-top: .35rem; }
    .nowa-startowa .ns-zp-err { font-size: .8rem; color: #d9480f; margin-top: .3rem; }

    .nowa-startowa .ns-zp-pw { position: relative; }
    .nowa-startowa .ns-zp-pw .ns-zp-input { padding-right: 2.7rem; }
    .nowa-startowa .ns-zp-pw__toggle {
        position: absolute;
        right: 0; top: 0;
        height: 100%;
        width: 2.7rem;
        display: flex;
        align-items: center;
        justify-content: center;
        background: transparent;
        border: 0;
        color: #9a9a9a;
        cursor: pointer;
    }
    .nowa-startowa .ns-zp-pw__toggle:hover { color: var(--ns-accent); }
    .nowa-startowa .ns-zp-pw__toggle svg { width: 18px; height: 18px; }

    .nowa-startowa .ns-zp-btn {
        display: inline-flex;
        align-items: center;
        gap: .5rem;
        border: 0;
        background: var(--ns-ink);
        color: #fff;
        font-family: 'Bree Serif', serif;
        text-transform: uppercase;
        letter-spacing: .4px;
        font-size: .85rem;
        padding: .78rem 1.7rem;
        cursor: pointer;
        transition: background-color .18s ease, transform .18s ease;
    }
    .nowa-startowa .ns-zp-btn:hover { background: var(--ns-accent); color: #fff !important; transform: translateY(-2px); }

    /* ---------- pigułki nawigacji konta ---------- */
    .nowa-startowa .ns-zp-pills { display: flex; flex-wrap: wrap; gap: .4rem; }
    .nowa-startowa .ns-zp-pill {
        padding: .5rem 1rem;
        font-family: 'Bree Serif', serif;
        text-transform: uppercase;
        font-size: .76rem;
        letter-spacing: .3px;
        border: 1px solid var(--ns-ink);
        color: var(--ns-ink);
        transition: background-color .15s ease, color .15s ease, border-color .15s ease;
    }
    .nowa-startowa .ns-zp-pill:hover { background: var(--ns-ink); color: #fff !important; }
    .nowa-startowa .ns-zp-pill.is-active { background: var(--ns-accent); border-color: var(--ns-accent); color: #fff !important; }
    .nowa-startowa button.ns-zp-pill { background: transparent; cursor: pointer; font-family: 'Bree Serif', serif; }
    .dark-mode .nowa-startowa .ns-zp-pill { color: #ddd; border-color: #555; }

    /* ---------- karta danych konta ---------- */
    .nowa-startowa .ns-zp-kv {
        display: grid;
        grid-template-columns: minmax(0, auto) 1fr;
        gap: .35rem 1rem;
        padding: 1.1rem 1.2rem;
        border: 1px solid var(--ns-line);
        margin-bottom: 1.25rem;
    }
    .dark-mode .nowa-startowa .ns-zp-kv { border-color: #3a3a3a; }
    .nowa-startowa .ns-zp-kv dt {
        font-family: 'Bree Serif', serif;
        text-transform: uppercase;
        font-size: .66rem;
        letter-spacing: .4px;
        color: #9a9a9a;
        align-self: center;
    }
    .nowa-startowa .ns-zp-kv dd {
        margin: 0;
        font-family: 'Bree Serif', serif;
        font-size: 1rem;
        word-break: break-word;
    }

    /* ---------- alerty ---------- */
    .nowa-startowa .ns-zp-alert {
        display: flex;
        align-items: flex-start;
        gap: .6rem;
        border: 1px solid var(--ns-line);
        border-left: 4px solid var(--ns-line);
        padding: .8rem 1rem;
        margin-bottom: .8rem;
        font-size: .9rem;
        font-family: system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
    }
    .dark-mode .nowa-startowa .ns-zp-alert { border-color: #3a3a3a; }
    .nowa-startowa .ns-zp-alert--ok   { border-left-color: #1f9d55; }
    .nowa-startowa .ns-zp-alert--err  { border-left-color: #d9480f; }
    .nowa-startowa .ns-zp-alert--warn { border-left-color: #e8901b; }
    .nowa-startowa .ns-zp-alert--info { border-left-color: var(--ns-accent); }
    .nowa-startowa .ns-zp-alert__tag {
        font-family: 'Bree Serif', serif;
        text-transform: uppercase;
        font-size: .68rem;
        letter-spacing: .4px;
        color: var(--ns-accent);
        flex: 0 0 auto;
        padding-top: .1rem;
    }
    .nowa-startowa .ns-zp-alert__x {
        margin-left: auto;
        background: 0;
        border: 0;
        color: #9a9a9a;
        cursor: pointer;
        font-size: 1.15rem;
        line-height: 1;
    }
    .nowa-startowa .ns-zp-alert ul { margin: .3rem 0 0; padding-left: 1.1rem; }

    /* ---------- box pomocy ---------- */
    .nowa-startowa .ns-zp-help {
        margin-top: 1.5rem;
        border: 1px solid var(--ns-line);
        border-left: 4px solid var(--ns-accent);
        padding: 1rem 1.15rem;
        max-width: 560px;
    }
    .dark-mode .nowa-startowa .ns-zp-help { border-color: #3a3a3a; }
    .nowa-startowa .ns-zp-help h4 {
        font-family: 'Bree Serif', serif;
        text-transform: uppercase;
        font-size: .95rem;
        margin: 0 0 .35rem;
    }
    .nowa-startowa .ns-zp-help p {
        margin: 0;
        font-size: .9rem;
        font-family: system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
    }
    .nowa-startowa .ns-zp-help a { color: var(--ns-accent); }

/* ============================================================
   X. KATALOG ZAWODNIKÓW (/zawodnicy) + PROFIL ZAWODNIKA (/zawodnicy/{id})
   ============================================================ */

    /* siatka kart zawodnika w katalogu, grupowana pod nagłówkiem litery (.ns-pg-date) */
    .nowa-startowa .ns-roster-grid {
        display: grid;
        grid-template-columns: repeat(auto-fill, minmax(230px, 1fr));
        gap: .7rem;
        margin-bottom: .5rem;
    }
    .nowa-startowa .ns-roster-card {
        display: flex;
        align-items: center;
        gap: .8rem;
        padding: .55rem .7rem;
        border: 1px solid var(--ns-line);
        color: inherit;
        text-decoration: none;
        transition: border-color .16s ease, background-color .16s ease, transform .16s ease;
    }
    .dark-mode .nowa-startowa .ns-roster-card { border-color: #3d3d3d; }
    .nowa-startowa .ns-roster-card:hover {
        border-color: var(--ns-accent);
        background: #faf6f2;
        transform: translateY(-2px);
    }
    .dark-mode .nowa-startowa .ns-roster-card:hover { background: #2c2c2c; }
    .nowa-startowa .ns-roster-name {
        min-width: 0;
        font-family: 'Bree Serif', serif;
        text-transform: uppercase;
        font-size: .88rem;
        letter-spacing: .2px;
        line-height: 1.2;
        overflow: hidden;
        text-overflow: ellipsis;
        white-space: nowrap;
    }
    .nowa-startowa .ns-roster-empty {
        padding: 2rem 1rem;
        text-align: center;
        color: #9a9a9a;
        font-family: 'Bree Serif', serif;
        text-transform: uppercase;
        font-size: .85rem;
        border: 1px dashed var(--ns-line);
    }
    .dark-mode .nowa-startowa .ns-roster-empty { border-color: #3d3d3d; }
