:root {
    --kg-bg: #f6f7f9;
    --kg-surface: #ffffff;
    --kg-raised: #ffffff;

    --kg-text: #111318;
    --kg-muted: #68707d;
    --kg-border: #e5e8ec;

    --kg-blue: #1267e8;
    --kg-blue-hover: #0958ce;
    --kg-blue-soft: #eaf2ff;

    --kg-green: #128a56;
    --kg-green-soft: #eaf8f1;

    --kg-red: #d44343;
    --kg-red-soft: #fff0f0;

    --kg-shadow:
        0 8px 30px
        rgba(17, 19, 24, .055);

    --kg-shell-width: 1180px;

    color-scheme: light;
}


html[data-theme="dark"] {
    --kg-bg: #10151c;
    --kg-surface: #171d25;
    --kg-raised: #1d2530;

    --kg-text: #f4f6f8;
    --kg-muted: #9aa5b1;
    --kg-border: #29323d;

    --kg-blue: #3b82f6;
    --kg-blue-hover: #5592f7;
    --kg-blue-soft: rgba(59,130,246,.13);

    --kg-green: #47c98b;
    --kg-green-soft: rgba(71,201,139,.10);

    --kg-red: #ff7474;
    --kg-red-soft: rgba(255,116,116,.10);

    --kg-shadow:
        0 8px 32px
        rgba(0,0,0,.16);

    color-scheme: dark;
}


html,
body {
    background: var(--kg-bg);
    color: var(--kg-text);
}


.kg-topbar {
    width: min(
        calc(100% - 28px),
        var(--kg-shell-width)
    );

    min-height: 68px;

    margin: 0 auto;

    display: flex;
    align-items: center;
    justify-content: space-between;

    gap: 20px;

    padding-top:
        env(safe-area-inset-top);
}


.kg-brand {
    flex: 0 0 auto;

    display: flex;
    align-items: center;

    gap: 10px;

    color: var(--kg-text);
    text-decoration: none;
}


.kg-brand-mark {
    width: 36px;
    height: 36px;

    display: grid;
    place-items: center;

    border-radius: 11px;

    background: var(--kg-blue);
    color: #fff;

    font-size: 13px;
    font-weight: 850;

    letter-spacing: -.04em;
}


.kg-brand-copy {
    display: flex;
    flex-direction: column;

    gap: 1px;
}


.kg-brand-copy strong {
    color: var(--kg-text);

    font-size: 14px;
    line-height: 1.2;

    letter-spacing: -.015em;
}


.kg-brand-copy small {
    color: var(--kg-muted);

    font-size: 8px;
    font-weight: 650;

    letter-spacing: .07em;
    text-transform: uppercase;
}


.kg-desktop-nav {
    display: none;

    align-items: center;

    gap: 4px;
}


.kg-desktop-nav a {
    min-height: 39px;

    display: flex;
    align-items: center;

    gap: 7px;

    padding: 0 13px;

    border-radius: 11px;

    color: var(--kg-muted);
    text-decoration: none;

    font-size: 12px;
    font-weight: 680;

    transition:
        background .16s ease,
        color .16s ease;
}


.kg-desktop-nav a:hover {
    background: var(--kg-raised);
    color: var(--kg-text);
}


.kg-desktop-nav a.is-active {
    background: var(--kg-blue-soft);
    color: var(--kg-blue);
}


.kg-desktop-nav svg {
    width: 16px;
    height: 16px;

    fill: none;
    stroke: currentColor;
    stroke-width: 1.8;

    stroke-linecap: round;
    stroke-linejoin: round;
}


.kg-top-actions {
    flex: 0 0 auto;

    display: flex;
    align-items: center;

    gap: 8px;
}


.kg-data-status {
    display: none;

    align-items: center;

    gap: 6px;

    color: var(--kg-muted);

    font-size: 8px;
    font-weight: 780;

    letter-spacing: .09em;
}


.kg-data-status i {
    width: 6px;
    height: 6px;

    border-radius: 50%;

    background: var(--kg-green);

    box-shadow:
        0 0 0 4px
        var(--kg-green-soft);
}


.kg-theme-button {
    width: 38px;
    height: 38px;

    display: grid;
    place-items: center;

    padding: 0;

    border:
        1px solid
        var(--kg-border);

    border-radius: 12px;

    background: var(--kg-surface);
    color: var(--kg-text);

    cursor: pointer;
}


.kg-theme-button svg {
    width: 17px;
    height: 17px;

    fill: none;

    stroke: currentColor;
    stroke-width: 1.8;

    stroke-linecap: round;
    stroke-linejoin: round;
}


/* ==============================================================
   MOBILE DOCK
   ============================================================== */

.kg-mobile-dock {
    position: fixed;

    left: 10px;
    right: 10px;

    bottom:
        calc(
            8px
            + env(safe-area-inset-bottom)
        );

    z-index: 100;

    height: 62px;

    display: grid;

    grid-template-columns:
        repeat(
            4,
            minmax(0,1fr)
        );

    border:
        1px solid
        var(--kg-border);

    border-radius: 19px;

    background:
        color-mix(
            in srgb,
            var(--kg-surface) 94%,
            transparent
        );

    box-shadow:
        0 10px 35px
        rgba(17,19,24,.13);

    backdrop-filter:
        blur(20px);

    -webkit-backdrop-filter:
        blur(20px);
}


.kg-mobile-dock a {
    min-width: 0;

    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;

    gap: 4px;

    border-radius: 15px;

    color: var(--kg-muted);
    text-decoration: none;

    font-size: 9px;
    font-weight: 690;
}


.kg-nav-icon {
    width: 19px;
    height: 19px;

    display: grid;
    place-items: center;
}


.kg-nav-icon svg {
    width: 18px;
    height: 18px;

    fill: none;

    stroke: currentColor;
    stroke-width: 1.8;

    stroke-linecap: round;
    stroke-linejoin: round;
}


.kg-mobile-dock a.is-active {
    color: var(--kg-blue);
}


.kg-mobile-dock a.is-active .kg-nav-icon {
    width: 34px;
    height: 26px;

    border-radius: 999px;

    background: var(--kg-blue-soft);
}


.kg-nav-label {
    overflow: hidden;

    max-width: 100%;

    text-overflow: ellipsis;
    white-space: nowrap;
}


/* ==============================================================
   SHARED PAGE
   ============================================================== */

.kg-page {
    width: min(
        100%,
        var(--kg-shell-width)
    );

    margin: 0 auto;

    padding:
        24px 16px
        calc(
            100px
            + env(safe-area-inset-bottom)
        );
}


.kg-page-hero {
    padding:
        28px 2px
        25px;
}


.kg-eyebrow {
    display: flex;
    align-items: center;

    gap: 8px;

    margin-bottom: 12px;

    color: var(--kg-blue);

    font-size: 10px;
    font-weight: 820;

    letter-spacing: .13em;
    text-transform: uppercase;
}


.kg-eyebrow i {
    width: 7px;
    height: 7px;

    border-radius: 50%;

    background: var(--kg-blue);

    box-shadow:
        0 0 0 5px
        var(--kg-blue-soft);
}


.kg-page-hero h1 {
    max-width: 680px;

    margin: 0;

    color: var(--kg-text);

    font-size:
        clamp(
            34px,
            9vw,
            61px
        );

    line-height: 1;

    letter-spacing: -.055em;
}


.kg-page-hero p {
    max-width: 570px;

    margin:
        15px 0 0;

    color: var(--kg-muted);

    font-size: 13px;
    line-height: 1.6;
}


.kg-actions {
    display: flex;
    flex-wrap: wrap;

    gap: 9px;

    margin-top: 20px;
}


.kg-btn {
    min-height: 42px;

    display: inline-flex;
    align-items: center;
    justify-content: center;

    padding: 0 16px;

    border-radius: 12px;

    background: var(--kg-blue);
    color: #fff;

    text-decoration: none;

    font-size: 12px;
    font-weight: 750;
}


.kg-btn.secondary {
    border:
        1px solid
        var(--kg-border);

    background: var(--kg-surface);
    color: var(--kg-text);
}


.kg-grid {
    display: grid;

    grid-template-columns:
        1fr;

    gap: 10px;
}


.kg-feature-card {
    display: block;

    padding: 18px;

    border:
        1px solid
        var(--kg-border);

    border-radius: 17px;

    background: var(--kg-surface);
    color: var(--kg-text);

    box-shadow: var(--kg-shadow);

    text-decoration: none;
}


.kg-feature-card small {
    color: var(--kg-blue);

    font-size: 9px;
    font-weight: 800;

    letter-spacing: .08em;
    text-transform: uppercase;
}


.kg-feature-card h2 {
    margin:
        9px 0 6px;

    font-size: 17px;

    letter-spacing: -.025em;
}


.kg-feature-card p {
    margin: 0;

    color: var(--kg-muted);

    font-size: 11px;
    line-height: 1.55;
}


.kg-coming {
    margin-top: 12px;

    padding: 28px 20px;

    border:
        1px solid
        var(--kg-border);

    border-radius: 17px;

    background: var(--kg-surface);
}


.kg-coming strong {
    display: block;

    margin-bottom: 7px;

    font-size: 15px;
}


.kg-coming p {
    margin: 0;

    color: var(--kg-muted);

    font-size: 11px;
    line-height: 1.6;
}


@media (min-width: 760px) {

    .kg-grid {
        grid-template-columns:
            repeat(
                3,
                minmax(0,1fr)
            );
    }

    .kg-page {
        padding:
            38px 24px
            110px;
    }
}


@media (min-width: 900px) {

    .kg-desktop-nav {
        display: flex;
    }

    .kg-data-status {
        display: flex;
    }

    .kg-mobile-dock {
        display: none;
    }

    .kg-page {
        padding-bottom: 55px;
    }
}

/* ================================================================
   KG-UX-COMPACT-v2.0.0
   SHELL
   ================================================================ */

:root {
    --kg-shell-width: 1240px;
}


/*
 * Desktop:
 * využít monitor, ale nevytahovat obsah až k okrajům.
 */
.kg-topbar,
.kg-page {
    width: min(
        calc(100% - 36px),
        var(--kg-shell-width)
    );
}


/*
 * Mobile dock:
 * kompaktnější a s jistou rezervou pod obsahem.
 */
@media (max-width: 899px) {

    .kg-page {
        padding-bottom:
            calc(
                92px
                + env(safe-area-inset-bottom)
            );
    }

    .kg-mobile-dock {
        width: calc(100% - 20px);

        max-width: 430px;

        bottom:
            calc(
                8px
                + env(safe-area-inset-bottom)
            );
    }

    .kg-mobile-dock a {
        min-height: 48px;

        padding:
            6px 4px;
    }

    .kg-nav-icon {
        width: 20px;
        height: 20px;
    }

    .kg-nav-label {
        font-size: 9px;
    }

}

/* ================================================================
   KG-VISUAL-SYSTEM-v2.1.0
   GLOBAL
   ================================================================ */

:root {
    --kg-font-ui:
        "Inter",
        "Segoe UI Variable Text",
        "Segoe UI Variable",
        "Segoe UI",
        Roboto,
        Helvetica,
        Arial,
        sans-serif;

    --kg-shell-width: 1240px;
}


/*
 * HARD TYPOGRAPHY RESET
 *
 * KurzGuru is a product interface, not an editorial magazine.
 */
body,
button,
input,
select,
textarea,
.kg-topbar,
.kg-topbar *,
.kg-page,
.kg-page * {
    font-family:
        var(--kg-font-ui);
}


body {
    font-optical-sizing: auto;

    text-rendering:
        optimizeLegibility;

    -webkit-font-smoothing:
        antialiased;

    -moz-osx-font-smoothing:
        grayscale;
}


.kg-brand-copy strong {
    font-size: 14px;
    font-weight: 780;

    letter-spacing: -.025em;
}


.kg-brand-copy small {
    font-size: 7px;
    font-weight: 650;

    letter-spacing: .075em;
}


.kg-desktop-nav a {
    font-size: 12px;
    font-weight: 620;

    letter-spacing: -.012em;
}


/* ------------------------------------------------
   GLOBAL PAGE ALIGNMENT
   ------------------------------------------------ */

.kg-topbar,
.kg-page {
    width:
        min(
            calc(100% - 48px),
            var(--kg-shell-width)
        );

    margin-left: auto;
    margin-right: auto;
}


/* ------------------------------------------------
   HOMEPAGE HERO
   ------------------------------------------------ */

.kg-page-hero {
    max-width: 760px;

    padding-top: 58px;
    padding-bottom: 28px;
}


.kg-page-hero .kg-eyebrow {
    margin-bottom: 11px;

    font-size: 10px;
    font-weight: 750;

    letter-spacing: .09em;
}


.kg-page-hero h1 {
    max-width: 650px;

    margin:
        0 0 16px;

    font-family:
        var(--kg-font-ui);

    font-size:
        clamp(
            44px,
            4.7vw,
            64px
        );

    font-weight: 790;

    line-height: .98;

    letter-spacing: -.06em;
}


.kg-page-hero p {
    max-width: 620px;

    font-size: 14px;

    line-height: 1.55;
}


.kg-actions {
    gap: 8px;

    margin-top: 22px;
}


.kg-btn {
    min-height: 40px;

    padding:
        9px 15px;

    border-radius: 10px;

    font-size: 12px;
    font-weight: 680;
}


/* ------------------------------------------------
   HOMEPAGE FEATURE HIERARCHY
   ------------------------------------------------ */

.kg-grid {
    gap: 12px;
}


.kg-feature-card {
    min-height: 118px;

    padding:
        20px;

    border-radius: 16px;

    transition:
        transform .16s ease,
        border-color .16s ease,
        box-shadow .16s ease;
}


.kg-feature-card:first-child {
    border-color:
        color-mix(
            in srgb,
            var(--kg-blue) 24%,
            var(--kg-border)
        );

    background:
        linear-gradient(
            135deg,
            var(--kg-blue-soft),
            var(--kg-surface) 68%
        );
}


.kg-feature-card:hover {
    transform:
        translateY(-2px);

    border-color:
        color-mix(
            in srgb,
            var(--kg-blue) 22%,
            var(--kg-border)
        );

    box-shadow:
        0 12px 32px
        rgba(17,24,39,.07);
}


.kg-feature-card small {
    font-size: 9px;
    font-weight: 760;

    letter-spacing: .075em;
}


.kg-feature-card strong {
    font-size: 18px;
    font-weight: 740;

    letter-spacing: -.025em;
}


.kg-feature-card p {
    font-size: 11px;

    line-height: 1.5;
}


/* ------------------------------------------------
   MOBILE
   ------------------------------------------------ */

@media (max-width: 700px) {

    .kg-topbar,
    .kg-page {
        width:
            calc(100% - 24px);
    }

    .kg-page-hero {
        padding-top: 24px;
        padding-bottom: 18px;
    }

    .kg-page-hero h1 {
        font-size: 38px;
    }

}

/* ================================================================
   KG-DESKTOP-ARCH-v3.0.1
   ================================================================ */

@font-face {
    font-family: "KG Manrope";
    src:
        url("/assets/fonts/kg-manrope-v301/Manrope-VariableFont_wght.woff2")
        format("woff2");
    font-style: normal;
    font-weight: 200 800;
    font-display: swap;
}

:root {
    --kg-font-ui:
        "KG Manrope",
        system-ui,
        -apple-system,
        BlinkMacSystemFont,
        sans-serif;

    --kg-shell-width: 1260px;
}

html,
body,
button,
input,
select,
textarea,
.kg-page,
.kg-topbar,
.kg-mobile-dock {
    font-family:
        var(--kg-font-ui);
}

body {
    font-weight: 430;
    letter-spacing: -.008em;
}

.kg-brand-copy strong {
    font-weight: 720;
}

.kg-desktop-nav a {
    font-weight: 600;
}

@media (min-width: 980px) {

    .kg-topbar,
    .kg-page {
        width:
            min(
                calc(100% - 64px),
                1260px
            );

        margin-left: auto;
        margin-right: auto;
    }

}

/* ================================================================
   KG-PRODUCT-LAYER-v1.0.1
   ================================================================ */

.kg-product-pulse {
    margin:
        14px 0 30px;

    padding:
        18px;

    border:
        1px solid
        var(--kg-border);

    border-radius:
        18px;

    background:
        var(--kg-surface);

    box-shadow:
        0 12px 34px
        rgba(17,24,39,.045);
}


.kg-product-pulse-head {
    display:
        flex;

    align-items:
        flex-end;

    justify-content:
        space-between;

    gap:
        18px;
}


.kg-product-pulse-head small {
    display:
        block;

    color:
        var(--kg-blue);

    font-size:
        8px;

    font-weight:
        760;

    letter-spacing:
        .09em;
}


.kg-product-pulse-head h2 {
    margin:
        4px 0 0;

    font-size:
        24px;

    font-weight:
        720;

    line-height:
        1.05;

    letter-spacing:
        -.045em;
}


.kg-product-pulse-head > span {
    color:
        var(--kg-muted);

    font-size:
        10px;

    font-weight:
        600;
}


.kg-return-summary {
    display:
        flex;

    align-items:
        center;

    gap:
        10px;

    margin-top:
        13px;

    padding:
        10px 12px;

    border-radius:
        12px;

    background:
        var(--kg-blue-soft);
}


.kg-return-summary > span {
    color:
        var(--kg-blue);

    font-size:
        17px;
}


.kg-return-summary strong,
.kg-return-summary small {
    display:
        block;
}


.kg-return-summary strong {
    font-size:
        10px;

    font-weight:
        700;
}


.kg-return-summary small {
    margin-top:
        2px;

    color:
        var(--kg-muted);

    font-size:
        9px;

    line-height:
        1.4;
}


.kg-pulse-items {
    display:
        grid;

    grid-template-columns:
        repeat(
            4,
            minmax(0,1fr)
        );

    gap:
        8px;

    margin-top:
        10px;
}


.kg-pulse-item {
    min-width:
        0;

    display:
        flex;

    align-items:
        center;

    justify-content:
        space-between;

    gap:
        10px;

    padding:
        12px;

    border:
        1px solid
        var(--kg-border);

    border-radius:
        13px;

    background:
        var(--kg-bg);

    color:
        var(--kg-text);

    text-decoration:
        none;
}


.kg-pulse-item:hover {
    border-color:
        color-mix(
            in srgb,
            var(--kg-blue) 28%,
            var(--kg-border)
        );
}


.kg-pulse-item-main {
    min-width:
        0;
}


.kg-pulse-item-meta {
    display:
        flex;

    align-items:
        center;

    gap:
        6px;
}


.kg-pulse-item-meta span {
    padding:
        3px 5px;

    border-radius:
        6px;

    background:
        var(--kg-blue-soft);

    color:
        var(--kg-blue);

    font-size:
        6px;

    font-weight:
        800;

    letter-spacing:
        .06em;
}


.kg-pulse-item-meta small {
    overflow:
        hidden;

    color:
        var(--kg-muted);

    font-size:
        7px;

    text-overflow:
        ellipsis;

    white-space:
        nowrap;
}


.kg-pulse-item strong {
    display:
        block;

    margin-top:
        7px;

    font-size:
        11px;

    font-weight:
        720;

    line-height:
        1.28;
}


.kg-pulse-item p {
    overflow:
        hidden;

    margin:
        5px 0 0;

    font-size:
        9px;

    font-weight:
        600;

    text-overflow:
        ellipsis;

    white-space:
        nowrap;
}


.kg-pulse-item-main > small {
    display:
        block;

    margin-top:
        4px;

    color:
        var(--kg-muted);

    font-size:
        8px;
}


.kg-pulse-item > b {
    color:
        var(--kg-blue);

    font-size:
        14px;
}


.kg-pulse-loading {
    grid-column:
        1 / -1;

    padding:
        17px;

    border:
        1px dashed
        var(--kg-border);

    border-radius:
        12px;

    color:
        var(--kg-muted);

    font-size:
        10px;

    text-align:
        center;
}


.kg-pulse-note {
    margin:
        10px 0 0;

    color:
        var(--kg-muted);

    font-size:
        8px;
}


.kg-watch-button,
.kg-watch-detail {
    appearance:
        none;

    border:
        1px solid
        var(--kg-border);

    border-radius:
        999px;

    background:
        var(--kg-surface);

    color:
        var(--kg-muted);

    cursor:
        pointer;

    font-family:
        inherit;

    font-size:
        8px;

    font-weight:
        700;
}


.kg-watch-button {
    margin-left:
        auto;

    padding:
        4px 7px;
}


.kg-watch-button.is-active,
.kg-watch-detail.is-active {
    border-color:
        color-mix(
            in srgb,
            var(--kg-blue) 35%,
            var(--kg-border)
        );

    background:
        var(--kg-blue-soft);

    color:
        var(--kg-blue);
}


@media (max-width: 900px) {

    .kg-pulse-items {
        grid-template-columns:
            repeat(
                2,
                minmax(0,1fr)
            );
    }

}


@media (max-width: 600px) {

    .kg-product-pulse {
        margin:
            8px 0 18px;

        padding:
            12px;
    }


    .kg-product-pulse-head {
        display:
            block;
    }


    .kg-product-pulse-head h2 {
        font-size:
            20px;
    }


    .kg-product-pulse-head > span {
        display:
            block;

        margin-top:
            6px;
    }


    .kg-pulse-items {
        grid-template-columns:
            1fr;
    }

}

/* ================================================================
   KG-PRODUCT-UX-v2.0.0
   HOME / LIVE BRIEF / LESS CARDS
   ================================================================ */


/* ------------------------------------------------
   LIVE BRIEF
   ------------------------------------------------ */

.kg-live-brief {
    margin:
        30px 0 32px;
}


.kg-live-brief-head {
    display:
        flex;

    align-items:
        flex-end;

    justify-content:
        space-between;

    gap:
        24px;

    padding-bottom:
        14px;

    border-bottom:
        1px solid
        var(--kg-border);
}


.kg-live-brief-head small {
    display:
        block;

    color:
        var(--kg-blue);

    font-size:
        8px;

    font-weight:
        780;

    letter-spacing:
        .095em;
}


.kg-live-brief-head h1 {
    max-width:
        760px;

    margin:
        5px 0 0;

    font-size:
        clamp(
            30px,
            3.2vw,
            43px
        );

    font-weight:
        740;

    line-height:
        1.02;

    letter-spacing:
        -.055em;
}


.kg-live-brief-counts {
    flex:
        0 0 auto;

    padding-bottom:
        3px;

    color:
        var(--kg-muted);

    font-size:
        10px;

    font-weight:
        600;
}


/* ------------------------------------------------
   LEAD + RETURN
   ------------------------------------------------ */

.kg-live-brief-grid {
    display:
        grid;

    grid-template-columns:
        minmax(0, 1.9fr)
        minmax(260px, .72fr);

    align-items:
        stretch;

    gap:
        16px;

    margin-top:
        16px;
}


.kg-live-lead {
    min-width:
        0;

    padding:
        21px 22px;

    border:
        1px solid
        var(--kg-border);

    border-radius:
        18px;

    background:
        var(--kg-surface);

    box-shadow:
        0 14px 38px
        rgba(17,24,39,.045);
}


.kg-live-lead-kicker {
    display:
        flex;

    align-items:
        center;

    gap:
        8px;
}


.kg-live-lead-kicker span {
    padding:
        4px 6px;

    border-radius:
        6px;

    background:
        var(--kg-blue-soft);

    color:
        var(--kg-blue);

    font-size:
        7px;

    font-weight:
        800;

    letter-spacing:
        .065em;
}


.kg-live-lead-kicker small {
    color:
        var(--kg-muted);

    font-size:
        8px;
}


.kg-live-lead-match {
    margin-top:
        13px;

    color:
        var(--kg-muted);

    font-size:
        10px;

    font-weight:
        650;
}


.kg-live-lead-body {
    display:
        grid;

    grid-template-columns:
        minmax(0,1fr)
        auto;

    align-items:
        end;

    gap:
        24px;

    margin-top:
        5px;
}


.kg-live-lead-title {
    display:
        block;

    max-width:
        620px;

    font-size:
        clamp(
            18px,
            1.8vw,
            25px
        );

    font-weight:
        720;

    line-height:
        1.14;

    letter-spacing:
        -.035em;
}


.kg-live-lead-metric {
    margin-top:
        10px;

    color:
        var(--kg-text);

    font-size:
        clamp(
            38px,
            5vw,
            62px
        );

    font-weight:
        760;

    line-height:
        .95;

    letter-spacing:
        -.065em;
}


.kg-live-lead-body > div:first-child > small {
    display:
        block;

    margin-top:
        5px;

    color:
        var(--kg-muted);

    font-size:
        8px;
}


.kg-live-lead-facts {
    display:
        grid;

    min-width:
        235px;

    border-top:
        1px solid
        var(--kg-border);
}


.kg-live-lead-facts > div {
    display:
        grid;

    grid-template-columns:
        minmax(0,1fr)
        auto;

    align-items:
        baseline;

    gap:
        12px;

    padding:
        8px 0;

    border-bottom:
        1px solid
        var(--kg-border);
}


.kg-live-lead-facts small {
    color:
        var(--kg-muted);

    font-size:
        7px;

    font-weight:
        700;

    letter-spacing:
        .05em;
}


.kg-live-lead-facts strong {
    font-size:
        14px;

    font-weight:
        740;
}


.kg-live-lead-facts span {
    grid-column:
        1 / -1;

    margin-top:
        -7px;

    color:
        var(--kg-muted);

    font-size:
        7px;
}


.kg-live-lead-copy {
    max-width:
        660px;

    margin:
        16px 0 0;

    color:
        var(--kg-muted);

    font-size:
        10px;

    line-height:
        1.55;
}


.kg-live-lead-link {
    display:
        inline-flex;

    margin-top:
        13px;

    color:
        var(--kg-blue);

    font-size:
        10px;

    font-weight:
        700;

    text-decoration:
        none;
}


/* ------------------------------------------------
   RETURN PANEL
   ------------------------------------------------ */

.kg-return-panel {
    padding:
        18px;

    border-radius:
        18px;

    background:
        color-mix(
            in srgb,
            var(--kg-blue-soft) 68%,
            var(--kg-surface)
        );
}


.kg-return-panel > small {
    display:
        block;

    color:
        var(--kg-blue);

    font-size:
        7px;

    font-weight:
        800;

    letter-spacing:
        .075em;
}


.kg-return-panel > strong,
.kg-return-title strong {
    display:
        block;

    margin-top:
        8px;

    font-size:
        16px;

    font-weight:
        720;

    line-height:
        1.2;

    letter-spacing:
        -.025em;
}


.kg-return-panel > p {
    margin:
        10px 0 0;

    color:
        var(--kg-muted);

    font-size:
        9px;

    line-height:
        1.5;
}


.kg-return-panel > span {
    display:
        block;

    margin-top:
        12px;

    color:
        var(--kg-muted);

    font-size:
        7px;
}


.kg-return-changes {
    display:
        grid;

    gap:
        0;

    margin-top:
        12px;
}


.kg-return-changes > div {
    padding:
        10px 0;

    border-top:
        1px solid
        color-mix(
            in srgb,
            var(--kg-border) 70%,
            transparent
        );
}


.kg-return-changes strong,
.kg-return-changes span {
    display:
        block;
}


.kg-return-changes strong {
    font-size:
        9px;

    font-weight:
        700;
}


.kg-return-changes span {
    margin-top:
        3px;

    color:
        var(--kg-muted);

    font-size:
        8px;
}


/* ------------------------------------------------
   SECONDARY MOVEMENTS = ROWS, NOT CARDS
   ------------------------------------------------ */

.kg-live-secondary {
    margin-top:
        22px;
}


.kg-live-secondary-head {
    display:
        flex;

    align-items:
        center;

    justify-content:
        space-between;

    gap:
        14px;

    margin-bottom:
        5px;
}


.kg-live-secondary-head strong {
    font-size:
        12px;

    font-weight:
        710;
}


.kg-live-secondary-head a {
    color:
        var(--kg-blue);

    font-size:
        9px;

    font-weight:
        650;

    text-decoration:
        none;
}


.kg-pulse-rows {
    border-top:
        1px solid
        var(--kg-border);
}


.kg-pulse-row {
    display:
        grid;

    grid-template-columns:
        minmax(0,1fr)
        auto
        16px;

    align-items:
        center;

    gap:
        16px;

    min-height:
        64px;

    padding:
        9px 4px;

    border-bottom:
        1px solid
        var(--kg-border);

    color:
        var(--kg-text);

    text-decoration:
        none;
}


.kg-pulse-row:hover {
    background:
        color-mix(
            in srgb,
            var(--kg-blue-soft) 24%,
            transparent
        );
}


.kg-pulse-row-main strong,
.kg-pulse-row-main span {
    display:
        block;
}


.kg-pulse-row-main strong {
    font-size:
        10px;

    font-weight:
        710;
}


.kg-pulse-row-main span {
    margin-top:
        3px;

    color:
        var(--kg-muted);

    font-size:
        8px;
}


.kg-pulse-row-metric {
    min-width:
        100px;

    text-align:
        right;
}


.kg-pulse-row-metric strong,
.kg-pulse-row-metric small {
    display:
        block;
}


.kg-pulse-row-metric strong {
    font-size:
        14px;

    font-weight:
        750;
}


.kg-pulse-row-metric small {
    margin-top:
        2px;

    color:
        var(--kg-muted);

    font-size:
        7px;
}


.kg-pulse-row > b {
    color:
        var(--kg-blue);

    font-size:
        12px;
}


.kg-live-note {
    margin:
        10px 0 0;

    color:
        var(--kg-muted);

    font-size:
        7px;

    line-height:
        1.5;
}


.kg-live-loading {
    padding:
        20px;

    color:
        var(--kg-muted);

    font-size:
        9px;
}


/* ------------------------------------------------
   HOMEPAGE PRODUCT LINKS — NO MORE THREE BOXES
   ------------------------------------------------ */

.kg-home-more {
    margin-top:
        34px;

    padding-bottom:
        8px;

    border-bottom:
        1px solid
        var(--kg-border);
}


.kg-home-more span {
    color:
        var(--kg-muted);

    font-size:
        7px;

    font-weight:
        780;

    letter-spacing:
        .09em;
}


.kg-page > .kg-grid {
    gap:
        0;

    margin-top:
        0;

    border-bottom:
        1px solid
        var(--kg-border);
}


.kg-page > .kg-grid
.kg-feature-card {
    min-height:
        0;

    padding:
        17px 18px;

    border:
        0;

    border-right:
        1px solid
        var(--kg-border);

    border-radius:
        0;

    background:
        transparent;

    box-shadow:
        none;
}


.kg-page > .kg-grid
.kg-feature-card:last-child {
    border-right:
        0;
}


.kg-page > .kg-grid
.kg-feature-card:first-child {
    border-color:
        var(--kg-border);

    background:
        transparent;
}


.kg-page > .kg-grid
.kg-feature-card:hover {
    transform:
        none;

    background:
        color-mix(
            in srgb,
            var(--kg-blue-soft) 20%,
            transparent
        );

    box-shadow:
        none;
}


.kg-page > .kg-grid
.kg-feature-card h2 {
    margin-top:
        6px;

    font-size:
        15px;

    font-weight:
        710;
}


.kg-page > .kg-grid
.kg-feature-card p {
    margin-top:
        5px;

    font-size:
        9px;
}


/* ------------------------------------------------
   MOBILE
   ------------------------------------------------ */

@media (max-width: 760px) {

    .kg-live-brief {
        margin-top:
            18px;
    }


    .kg-live-brief-head {
        display:
            block;
    }


    .kg-live-brief-head h1 {
        font-size:
            28px;
    }


    .kg-live-brief-counts {
        margin-top:
            8px;
    }


    .kg-live-brief-grid {
        grid-template-columns:
            1fr;
    }


    .kg-live-lead {
        padding:
            15px;
    }


    .kg-live-lead-body {
        display:
            block;
    }


    .kg-live-lead-metric {
        font-size:
            43px;
    }


    .kg-live-lead-facts {
        margin-top:
            17px;

        min-width:
            0;
    }


    .kg-return-panel {
        padding:
            14px;
    }


    .kg-pulse-row {
        grid-template-columns:
            minmax(0,1fr)
            auto;

        gap:
            10px;
    }


    .kg-pulse-row > b {
        display:
            none;
    }


    .kg-page > .kg-grid {
        display:
            block;
    }


    .kg-page > .kg-grid
    .kg-feature-card {
        border-right:
            0;

        border-bottom:
            1px solid
            var(--kg-border);
    }

}

/* ================================================================
   KG-PREMIUM-PRODUCT-UX-v2.1.0
   ================================================================ */

:root {
    --kg-bg: #edf1f5;
    --kg-surface: #ffffff;
    --kg-surface-2: #f7f9fc;

    --kg-text: #172033;
    --kg-muted: #6f7b8d;
    --kg-border: #dce3ec;

    --kg-blue: #1769e0;
    --kg-blue-soft: #eaf2ff;

    --kg-terminal: #182333;
    --kg-terminal-soft: #223044;
    --kg-terminal-text: #f5f8fc;

    --kg-shadow-soft:
        0 16px 45px
        rgba(28,40,58,.055);

    --kg-shadow-lift:
        0 22px 60px
        rgba(28,40,58,.09);
}


html[data-theme="dark"] {
    --kg-bg: #0e141c;
    --kg-surface: #151d27;
    --kg-surface-2: #111923;

    --kg-text: #edf3fb;
    --kg-muted: #8f9caf;
    --kg-border: #273241;

    --kg-blue: #65a2ff;
    --kg-blue-soft: #172740;

    --kg-terminal: #192432;
    --kg-terminal-soft: #223044;
    --kg-terminal-text: #f6f9fd;

    --kg-shadow-soft:
        0 18px 48px
        rgba(0,0,0,.16);

    --kg-shadow-lift:
        0 25px 70px
        rgba(0,0,0,.24);
}


html {
    background:
        var(--kg-bg);
}


body {
    background:
        linear-gradient(
            180deg,
            color-mix(
                in srgb,
                var(--kg-surface) 30%,
                var(--kg-bg)
            ) 0,
            var(--kg-bg) 210px
        );

    color:
        var(--kg-text);
}


/* ------------------------------------------------
   HEADER
   ------------------------------------------------ */

.kg-topbar {
    position:
        sticky;

    top:
        0;

    z-index:
        80;

    background:
        color-mix(
            in srgb,
            var(--kg-bg) 82%,
            transparent
        );

    border-bottom:
        1px solid
        color-mix(
            in srgb,
            var(--kg-border) 86%,
            transparent
        );

    backdrop-filter:
        blur(18px)
        saturate(135%);

    -webkit-backdrop-filter:
        blur(18px)
        saturate(135%);
}


.kg-brand-copy strong {
    letter-spacing:
        -.035em;
}


.kg-brand-copy small {
    color:
        var(--kg-muted);

    letter-spacing:
        .01em;
}


.kg-desktop-nav a {
    transition:
        color .16s ease,
        background .16s ease;
}


.kg-desktop-nav a.is-active {
    background:
        var(--kg-surface);

    box-shadow:
        0 3px 12px
        rgba(28,40,58,.04);
}


/* ------------------------------------------------
   LIVE BRIEF
   ------------------------------------------------ */

.kg-live-brief {
    margin-top:
        34px;
}


.kg-live-brief-head {
    padding-bottom:
        17px;
}


.kg-live-brief-head small {
    font-size:
        9px;

    letter-spacing:
        .105em;
}


.kg-live-brief-head h1 {
    max-width:
        820px;

    margin-top:
        7px;

    font-size:
        clamp(
            34px,
            3.8vw,
            50px
        );

    font-weight:
        760;

    line-height:
        .99;

    letter-spacing:
        -.06em;
}


.kg-live-brief-counts {
    padding:
        6px 0;

    font-size:
        11px;
}


/* ------------------------------------------------
   MAIN LIVE STORY
   ------------------------------------------------ */

.kg-live-brief-grid {
    grid-template-columns:
        minmax(0, 2.25fr)
        minmax(285px, .78fr);

    gap:
        18px;

    margin-top:
        18px;
}


.kg-live-lead {
    position:
        relative;

    overflow:
        hidden;

    padding:
        25px 27px;

    border:
        1px solid
        color-mix(
            in srgb,
            var(--kg-blue) 14%,
            var(--kg-border)
        );

    border-radius:
        20px;

    background:
        linear-gradient(
            135deg,
            var(--kg-surface) 0%,
            color-mix(
                in srgb,
                var(--kg-blue-soft) 28%,
                var(--kg-surface)
            ) 100%
        );

    box-shadow:
        var(--kg-shadow-soft);
}


.kg-live-lead::after {
    content:
        "";

    position:
        absolute;

    top:
        -70px;

    right:
        -55px;

    width:
        210px;

    height:
        210px;

    border-radius:
        50%;

    background:
        var(--kg-blue-soft);

    opacity:
        .58;

    pointer-events:
        none;
}


.kg-live-lead > * {
    position:
        relative;

    z-index:
        1;
}


.kg-live-lead-kicker span {
    padding:
        5px 7px;

    font-size:
        7px;
}


.kg-live-lead-match {
    margin-top:
        17px;

    color:
        var(--kg-text);

    font-size:
        12px;

    font-weight:
        670;
}


.kg-live-lead-body {
    margin-top:
        10px;
}


.kg-live-lead-title {
    max-width:
        650px;

    font-size:
        clamp(
            20px,
            2vw,
            28px
        );

    font-weight:
        740;
}


.kg-live-lead-metric {
    margin-top:
        12px;

    color:
        var(--kg-blue);

    font-size:
        clamp(
            50px,
            6vw,
            76px
        );

    font-weight:
        780;

    line-height:
        .88;

    letter-spacing:
        -.075em;
}


.kg-live-lead-body
> div:first-child
> small {
    margin-top:
        8px;

    font-size:
        9px;
}


.kg-live-lead-facts {
    min-width:
        255px;

    border-top:
        0;
}


.kg-live-lead-facts > div {
    padding:
        10px 0;

    border-bottom:
        1px solid
        color-mix(
            in srgb,
            var(--kg-border) 76%,
            transparent
        );
}


.kg-live-lead-facts small {
    font-size:
        8px;
}


.kg-live-lead-facts strong {
    font-size:
        17px;
}


.kg-live-lead-copy {
    margin-top:
        20px;

    font-size:
        11px;

    line-height:
        1.55;
}


.kg-live-lead-link {
    margin-top:
        15px;

    font-size:
        11px;

    transition:
        transform .15s ease;
}


.kg-live-lead-link:hover {
    transform:
        translateX(3px);
}


/* ------------------------------------------------
   RETURN PANEL
   ------------------------------------------------ */

.kg-return-panel {
    padding:
        21px;

    border:
        1px solid
        rgba(255,255,255,.04);

    border-radius:
        20px;

    background:
        linear-gradient(
            155deg,
            var(--kg-terminal-soft),
            var(--kg-terminal)
        );

    color:
        var(--kg-terminal-text);

    box-shadow:
        var(--kg-shadow-soft);
}


.kg-return-panel > small {
    color:
        #87b8ff;

    font-size:
        8px;
}


.kg-return-panel > strong,
.kg-return-title strong {
    color:
        var(--kg-terminal-text);

    font-size:
        18px;
}


.kg-return-panel > p {
    color:
        rgba(245,248,252,.68);

    font-size:
        10px;
}


.kg-return-panel > span {
    color:
        rgba(245,248,252,.48);

    font-size:
        8px;
}


.kg-return-changes > div {
    border-top-color:
        rgba(255,255,255,.11);
}


.kg-return-changes strong {
    color:
        var(--kg-terminal-text);

    font-size:
        10px;
}


.kg-return-changes span {
    color:
        #9fc7ff;

    font-size:
        9px;
}


/* ------------------------------------------------
   SECONDARY LIVE MOVEMENTS
   ------------------------------------------------ */

.kg-live-secondary {
    margin-top:
        26px;
}


.kg-live-secondary-head {
    padding-bottom:
        7px;
}


.kg-live-secondary-head strong {
    font-size:
        14px;
}


.kg-live-secondary-head a {
    font-size:
        10px;
}


.kg-pulse-row {
    min-height:
        72px;

    padding:
        11px 7px;

    transition:
        background .15s ease,
        padding .15s ease;
}


.kg-pulse-row:hover {
    padding-left:
        11px;
}


.kg-pulse-row-main strong {
    font-size:
        11px;
}


.kg-pulse-row-main span {
    margin-top:
        4px;

    font-size:
        9px;
}


.kg-pulse-row-metric {
    min-width:
        115px;
}


.kg-pulse-row-metric strong {
    color:
        var(--kg-blue);

    font-size:
        17px;
}


.kg-pulse-row-metric small {
    font-size:
        8px;
}


/* ------------------------------------------------
   LOWER HOME NAV
   ------------------------------------------------ */

.kg-home-more {
    margin-top:
        40px;
}


.kg-page > .kg-grid
.kg-feature-card {
    padding:
        20px 19px;
}


.kg-page > .kg-grid
.kg-feature-card small {
    font-size:
        7px;
}


.kg-page > .kg-grid
.kg-feature-card h2 {
    font-size:
        17px;
}


.kg-page > .kg-grid
.kg-feature-card p {
    max-width:
        280px;

    font-size:
        10px;

    line-height:
        1.45;
}


/* ------------------------------------------------
   MOTION
   ------------------------------------------------ */

@media (prefers-reduced-motion: reduce) {

    .kg-live-lead-link,
    .kg-pulse-row,
    .kg-desktop-nav a {
        transition:
            none;
    }

}


@media (max-width: 760px) {

    .kg-live-brief-head h1 {
        font-size:
            31px;
    }


    .kg-live-lead {
        padding:
            17px;
    }


    .kg-live-lead-metric {
        font-size:
            50px;
    }


    .kg-return-panel {
        padding:
            17px;
    }

}
