:root {
    color-scheme: light;
    --kc-news-bg: #fff;
    --kc-news-soft: #f8f9fa;
    --kc-news-text: #202124;
    --kc-news-muted: #5f6368;
    --kc-news-faint: #80868b;
    --kc-news-border: #dadce0;
    --kc-news-border-soft: #e8eaed;
    --kc-news-green: #087f5b;
    --kc-news-green-hover: #076f50;
    --kc-news-green-wash: #e8f5ee;
    --kc-news-red: #b91f32;
    --kc-news-gold: #b7791f;
    --kc-news-radius: 16px;
    --kc-news-shadow: 0 1px 2px rgba(60, 64, 67, .08), 0 4px 16px rgba(60, 64, 67, .06);
    --kc-news-font: "Segoe UI", Tahoma, Arial, sans-serif;
}

*,
*::before,
*::after { box-sizing: border-box; }

html {
    scroll-behavior: smooth;
    background: var(--kc-news-bg);
}

body.kc-news-site {
    min-width: 320px;
    min-height: 100vh;
    margin: 0;
    background: var(--kc-news-bg);
    color: var(--kc-news-text);
    font-family: var(--kc-news-font);
    font-size: 16px;
    line-height: 1.7;
    -webkit-font-smoothing: antialiased;
    text-rendering: optimizeLegibility;
}

.kc-news-site :where(a) { color: inherit; text-decoration: none; }
.kc-news-site :where(img) { display: block; max-width: 100%; }
.kc-news-site :where(a, button):focus-visible {
    outline: 3px solid rgba(8, 127, 91, .3);
    outline-offset: 3px;
}

.kc-news-container {
    width: min(1180px, calc(100% - 48px));
    margin-inline: auto;
}

.kc-news-skip {
    position: fixed;
    inset-block-start: 8px;
    inset-inline-start: 12px;
    z-index: 1000;
    padding: 9px 14px;
    border-radius: 9px;
    background: var(--kc-news-text);
    color: #fff;
    transform: translateY(-160%);
}
.kc-news-skip:focus { transform: translateY(0); }

.kc-news-header {
    border-block-end: 1px solid var(--kc-news-border-soft);
    background: rgba(255, 255, 255, .98);
}

.kc-news-header__inner {
    display: flex;
    min-height: 72px;
    align-items: center;
    justify-content: space-between;
    gap: 30px;
}

.kc-news-brand {
    display: inline-flex;
    flex: 0 0 auto;
    align-items: center;
    gap: 11px;
}

.kc-news-brand img {
    width: 44px;
    height: 44px;
    border-radius: 11px;
    object-fit: cover;
    box-shadow: var(--kc-news-shadow);
}

.kc-news-brand span { display: grid; line-height: 1.25; }
.kc-news-brand strong { color: var(--kc-news-red); font-size: .98rem; letter-spacing: .035em; }
.kc-news-brand small { color: var(--kc-news-muted); font-size: .7rem; }

.kc-news-header__nav {
    display: flex;
    min-width: 0;
    align-self: stretch;
    align-items: stretch;
    gap: 4px;
}

.kc-news-header__nav a {
    position: relative;
    display: inline-flex;
    min-width: max-content;
    align-items: center;
    justify-content: center;
    padding-inline: 15px;
    color: var(--kc-news-muted);
    font-size: .88rem;
    font-weight: 700;
}
.kc-news-header__nav a:hover,
.kc-news-header__nav a[aria-current="page"] { color: var(--kc-news-green); }
.kc-news-header__nav a[aria-current="page"]::after {
    position: absolute;
    inset-inline: 14px;
    inset-block-end: 0;
    height: 3px;
    border-radius: 3px 3px 0 0;
    background: var(--kc-news-green);
    content: "";
}

.kc-news-kicker {
    display: inline-flex;
    align-items: center;
    min-height: 28px;
    padding: 4px 10px;
    border-radius: 999px;
    background: var(--kc-news-green-wash);
    color: var(--kc-news-green);
    font-size: .73rem;
    font-weight: 800;
}

.kc-news-hero {
    display: flex;
    min-height: 280px;
    align-items: center;
    justify-content: space-between;
    gap: 44px;
    padding-block: 58px 44px;
    border-block-end: 1px solid var(--kc-news-border-soft);
}

.kc-news-hero h1 {
    margin: 13px 0 8px;
    font-size: clamp(2.2rem, 6vw, 4rem);
    line-height: 1.15;
    letter-spacing: -.025em;
}
.kc-news-hero p {
    max-width: 760px;
    margin: 0;
    color: var(--kc-news-muted);
    font-size: clamp(1rem, 2vw, 1.22rem);
}

.kc-news-rss {
    display: grid;
    width: 72px;
    height: 72px;
    flex: 0 0 72px;
    place-items: center;
    border: 1px solid var(--kc-news-border);
    border-radius: 50%;
    background: #fff;
    color: var(--kc-news-green);
    font-size: .82rem;
    font-weight: 900;
    box-shadow: var(--kc-news-shadow);
}
.kc-news-rss:hover { border-color: var(--kc-news-green); background: var(--kc-news-green-wash); }

.kc-news-list,
.kc-news-related { padding-block: 42px 64px; }

.kc-news-section-head {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 22px;
    margin-block-end: 22px;
}
.kc-news-section-head h2 { margin: 8px 0 0; font-size: clamp(1.55rem, 3vw, 2.15rem); line-height: 1.25; }
.kc-news-section-head > span,
.kc-news-section-head > a { color: var(--kc-news-muted); font-size: .82rem; font-weight: 750; }
.kc-news-section-head > a:hover { color: var(--kc-news-green); }

.kc-news-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 22px;
}

.kc-news-card {
    min-width: 0;
    overflow: hidden;
    border: 1px solid var(--kc-news-border-soft);
    border-radius: var(--kc-news-radius);
    background: #fff;
    box-shadow: 0 1px 2px rgba(60, 64, 67, .04);
    transition: border-color .18s ease, box-shadow .18s ease, transform .18s ease;
}
.kc-news-card:hover {
    border-color: #c9cec9;
    box-shadow: var(--kc-news-shadow);
    transform: translateY(-2px);
}

.kc-news-card__media {
    display: grid;
    aspect-ratio: 16 / 9;
    overflow: hidden;
    place-items: center;
    background: linear-gradient(135deg, #f1f8f4, #fff7f1);
    color: var(--kc-news-red);
    font-size: 2rem;
    font-weight: 900;
}
.kc-news-card__media img { width: 100%; height: 100%; object-fit: cover; transition: transform .25s ease; }
.kc-news-card:hover .kc-news-card__media img { transform: scale(1.018); }

.kc-news-card__body { display: grid; gap: 10px; padding: 20px; }
.kc-news-card__meta { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.kc-news-card small { color: var(--kc-news-green); font-size: .72rem; font-weight: 800; }
.kc-news-card time { color: var(--kc-news-faint); font-size: .72rem; }
.kc-news-card h2,
.kc-news-card h3 { margin: 0; font-size: 1.2rem; line-height: 1.45; }
.kc-news-card h3 { font-size: 1.08rem; }
.kc-news-card h2 a:hover,
.kc-news-card h3 a:hover { color: var(--kc-news-green); }
.kc-news-card p {
    display: -webkit-box;
    min-height: 3.25em;
    margin: 0;
    overflow: hidden;
    color: var(--kc-news-muted);
    font-size: .88rem;
    line-height: 1.65;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
}
.kc-news-card__more { width: max-content; color: var(--kc-news-green); font-size: .8rem; font-weight: 800; }
.kc-news-card__more:hover { text-decoration: underline; text-underline-offset: 4px; }

.kc-news-breadcrumb {
    display: flex;
    min-width: 0;
    align-items: center;
    gap: 8px;
    padding-block: 24px 8px;
    overflow: hidden;
    color: var(--kc-news-muted);
    font-size: .78rem;
    white-space: nowrap;
}
.kc-news-breadcrumb a:hover { color: var(--kc-news-green); }
.kc-news-breadcrumb span[aria-current="page"] { overflow: hidden; text-overflow: ellipsis; }

.kc-news-article {
    width: min(900px, calc(100% - 48px));
    padding-block: 32px 54px;
}
.kc-news-article__header { max-width: 820px; margin-inline: auto; text-align: center; }
.kc-news-article__header h1 {
    margin: 16px 0 14px;
    font-size: clamp(2rem, 5vw, 3.7rem);
    line-height: 1.24;
    letter-spacing: -.025em;
    text-wrap: balance;
}
.kc-news-article__summary {
    margin: 0;
    color: var(--kc-news-muted);
    font-size: clamp(1rem, 2vw, 1.2rem);
    line-height: 1.8;
}
.kc-news-byline {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px 18px;
    margin-block-start: 18px;
    color: var(--kc-news-faint);
    font-size: .78rem;
    font-weight: 650;
}
.kc-news-article__cover {
    margin: 34px 0;
    overflow: hidden;
    border: 1px solid var(--kc-news-border-soft);
    border-radius: 20px;
    background: var(--kc-news-soft);
}
.kc-news-article__cover img { width: 100%; height: auto; aspect-ratio: 16 / 9; object-fit: cover; }
.kc-news-article__body {
    width: min(760px, 100%);
    margin-inline: auto;
    color: #303134;
    font-size: 1.05rem;
    line-height: 2;
}
.kc-news-article__body p { margin: 0 0 1.4em; }
.kc-news-article__footer {
    display: flex;
    width: min(760px, 100%);
    align-items: center;
    justify-content: space-between;
    gap: 18px;
    margin: 34px auto 0;
    padding-block: 18px;
    border-block: 1px solid var(--kc-news-border-soft);
    color: var(--kc-news-muted);
    font-size: .8rem;
}
.kc-news-article__footer a { color: var(--kc-news-green); font-weight: 800; }

.kc-news-related { border-block-start: 1px solid var(--kc-news-border-soft); }

.kc-news-empty {
    padding: 48px 24px;
    border: 1px dashed var(--kc-news-border);
    border-radius: var(--kc-news-radius);
    background: var(--kc-news-soft);
    text-align: center;
}
.kc-news-empty h1,
.kc-news-empty h2 { margin: 12px 0 6px; }
.kc-news-empty p { max-width: 640px; margin: 0 auto; color: var(--kc-news-muted); }
.kc-news-empty--404 { margin-block: 72px; padding-block: 84px; }
.kc-news-button {
    display: inline-flex;
    min-height: 46px;
    align-items: center;
    justify-content: center;
    margin-block-start: 22px;
    padding-inline: 22px;
    border-radius: 9px;
    background: var(--kc-news-green);
    color: #fff;
    font-weight: 800;
}
.kc-news-button:hover { background: var(--kc-news-green-hover); }

.kc-news-footer { border-block-start: 1px solid var(--kc-news-border-soft); background: var(--kc-news-soft); }
.kc-news-footer__inner {
    display: flex;
    min-height: 116px;
    align-items: center;
    justify-content: space-between;
    gap: 24px;
    color: var(--kc-news-muted);
    font-size: .78rem;
}
.kc-news-footer__inner p { margin: 0; }
.kc-news-footer nav { display: flex; flex-wrap: wrap; gap: 8px 20px; }
.kc-news-footer a:hover { color: var(--kc-news-green); }

.kc-news-bottom-nav { display: none; }

@media (max-width: 900px) {
    .kc-news-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .kc-news-header__nav a { padding-inline: 10px; }
}

@media (max-width: 700px) {
    body.kc-news-site { padding-block-end: calc(72px + env(safe-area-inset-bottom)); font-size: 15px; }
    .kc-news-container { width: calc(100% - 32px); }
    .kc-news-header__inner { min-height: 62px; }
    .kc-news-brand img { width: 38px; height: 38px; border-radius: 10px; }
    .kc-news-brand small { display: none; }
    .kc-news-header__nav { display: none; }
    .kc-news-hero { min-height: 230px; padding-block: 38px 30px; }
    .kc-news-hero h1 { font-size: 2.25rem; }
    .kc-news-rss { width: 58px; height: 58px; flex-basis: 58px; }
    .kc-news-list,
    .kc-news-related { padding-block: 30px 46px; }
    .kc-news-grid { grid-template-columns: 1fr; gap: 16px; }
    .kc-news-card { display: grid; grid-template-columns: 124px minmax(0, 1fr); }
    .kc-news-card__media { height: 100%; min-height: 166px; aspect-ratio: auto; }
    .kc-news-card__body { gap: 7px; padding: 15px; }
    .kc-news-card h2,
    .kc-news-card h3 { font-size: 1rem; }
    .kc-news-card p { min-height: 0; font-size: .78rem; -webkit-line-clamp: 2; }
    .kc-news-card__more { font-size: .75rem; }
    .kc-news-breadcrumb { width: calc(100% - 32px); padding-block-start: 18px; }
    .kc-news-article { width: calc(100% - 32px); padding-block: 24px 40px; }
    .kc-news-article__header h1 { font-size: 2rem; }
    .kc-news-article__cover { margin-block: 25px; border-radius: 14px; }
    .kc-news-article__body { font-size: 1rem; line-height: 1.95; }
    .kc-news-article__footer { align-items: flex-start; flex-direction: column; }
    .kc-news-footer__inner { display: grid; gap: 14px; padding-block: 26px; }
    .kc-news-bottom-nav {
        position: fixed;
        inset-inline: 0;
        inset-block-end: 0;
        z-index: 80;
        display: grid;
        grid-template-columns: repeat(5, minmax(0, 1fr));
        padding: 7px 6px calc(7px + env(safe-area-inset-bottom));
        border-block-start: 1px solid var(--kc-news-border);
        background: rgba(255, 255, 255, .97);
        box-shadow: 0 -2px 12px rgba(60, 64, 67, .12);
        backdrop-filter: blur(12px);
    }
    .kc-news-bottom-nav a {
        position: relative;
        display: grid;
        min-width: 0;
        min-height: 54px;
        place-items: center;
        align-content: center;
        gap: 2px;
        border-radius: 9px;
        color: var(--kc-news-muted);
        text-align: center;
    }
    .kc-news-bottom-nav a span { font-size: 1.15rem; line-height: 1; }
    .kc-news-bottom-nav a b { overflow: hidden; font-size: .65rem; font-weight: 750; text-overflow: ellipsis; white-space: nowrap; }
    .kc-news-bottom-nav a[aria-current="page"] { background: var(--kc-news-green-wash); color: var(--kc-news-green); }
    .kc-news-bottom-nav a[aria-current="page"]::before {
        position: absolute;
        inset-block-start: 2px;
        width: 22px;
        height: 3px;
        border-radius: 99px;
        background: var(--kc-news-green);
        content: "";
    }
    .kc-news-bottom-nav a[href="/vip"] { color: var(--kc-news-gold); }
}

@media (max-width: 430px) {
    .kc-news-container,
    .kc-news-article,
    .kc-news-breadcrumb { width: calc(100% - 24px); }
    .kc-news-hero { align-items: flex-start; flex-direction: column; gap: 20px; }
    .kc-news-rss { width: auto; height: 42px; padding-inline: 18px; border-radius: 9px; }
    .kc-news-section-head { align-items: flex-start; }
    .kc-news-card { grid-template-columns: 108px minmax(0, 1fr); }
    .kc-news-card__media { min-height: 154px; }
    .kc-news-card__body { padding: 13px; }
    .kc-news-card__meta time { display: none; }
    .kc-news-byline { align-items: flex-start; flex-direction: column; }
}

@media (prefers-reduced-motion: reduce) {
    html { scroll-behavior: auto; }
    *,
    *::before,
    *::after { scroll-behavior: auto !important; transition-duration: .01ms !important; }
}

@media (forced-colors: active) {
    .kc-news-card,
    .kc-news-empty,
    .kc-news-bottom-nav { border: 1px solid CanvasText; }
}

@media print {
    body.kc-news-site { padding: 0; }
    .kc-news-header,
    .kc-news-footer,
    .kc-news-bottom-nav,
    .kc-news-related,
    .kc-news-rss { display: none !important; }
    .kc-news-article { width: 100%; padding: 0; }
    .kc-news-article__cover { break-inside: avoid; }
}
