:root {
    --kati-course-header-height: 64px;
    --kati-course-sidebar-width: 360px;
    --kati-course-ink: #162033;
    --kati-course-muted: #667085;
    --kati-course-line: #dfe3e8;
    --kati-course-blue: #1769e0;
    --kati-course-green: #16805c;
}

/* KatiLearning 0.9.0: refined lesson workspace and smaller video frame. */
.kati-learning-course-main {
    background:
        radial-gradient(circle at 18% 0%, rgba(23, 105, 224, 0.07), transparent 28%),
        linear-gradient(180deg, #f8fafc 0%, #eef2f7 100%);
}

.kati-learning-course-lesson {
    width: min(100%, 1000px);
    padding: 30px 28px 46px;
}

.kati-learning-course-lesson__heading {
    margin-bottom: 18px;
    padding: 0 2px;
}

.kati-learning-course-video {
    max-width: 900px;
    margin: 0 auto 26px;
    padding: 12px;
    border: 1px solid rgba(15, 23, 42, 0.08);
    border-radius: 18px;
    background: #ffffff;
    box-shadow: 0 18px 45px rgba(15, 23, 42, 0.12);
}

.kati-learning-course-video__viewport {
    max-height: calc(100vh - 250px);
    min-height: 360px;
    border-radius: 12px;
    background: #070a0f;
}

.kati-learning-course-content,
.kati-learning-course-lesson__footer {
    max-width: 900px;
    margin-right: auto;
    margin-left: auto;
}

.kati-learning-course-content {
    padding: 22px 24px;
    border: 1px solid rgba(15, 23, 42, 0.08);
    border-radius: 16px;
    background: rgba(255, 255, 255, 0.9);
    box-shadow: 0 12px 30px rgba(15, 23, 42, 0.06);
}

.kati-learning-course-lesson__footer {
    margin-top: 22px;
    padding: 18px 20px;
    border: 1px solid rgba(15, 23, 42, 0.08);
    border-radius: 16px;
    background: #ffffff;
    box-shadow: 0 12px 30px rgba(15, 23, 42, 0.06);
}

.kati-learning-course-curriculum {
    background: #f8fafc;
}

.kati-learning-course-curriculum__summary {
    background: #ffffff;
}

.kati-learning-course-curriculum__item {
    background: #ffffff;
}

.kati-learning-course-curriculum__item.is-current {
    background: #eaf2ff;
}

@media (max-width: 1180px) {
    .kati-learning-course-video {
        max-width: 820px;
    }

    .kati-learning-course-video__viewport {
        min-height: 300px;
        max-height: calc(100vh - 230px);
    }
}

@media (max-width: 760px) {
    .kati-learning-course-lesson {
        padding: 18px 12px 30px;
    }

    .kati-learning-course-video {
        max-width: none;
        padding: 0;
        border: 0;
        border-radius: 0;
        box-shadow: none;
    }

    .kati-learning-course-video__viewport {
        min-height: auto;
        max-height: none;
        border-radius: 0;
    }

    .kati-learning-course-content,
    .kati-learning-course-lesson__footer {
        padding: 16px;
        border-radius: 12px;
    }
}

html:has(.kati-learning-course-player-page),
body.kati-learning-course-player-page {
    width: 100%;
    min-height: 100%;
    margin: 0;
    overflow: hidden;
    background: #f5f7f9;
}

body.kati-learning-course-player-page {
    color: var(--kati-course-ink);
    font-family: Arial, Helvetica, sans-serif;
}

.kati-learning-course-player-page *,
.kati-learning-course-player-page *::before,
.kati-learning-course-player-page *::after {
    box-sizing: border-box;
}

.kati-learning-course-shell {
    width: 100%;
    min-width: 0;
    height: 100vh;
    overflow: hidden;
}

.kati-learning-course-header {
    position: relative;
    z-index: 30;
    display: grid;
    grid-template-columns: 44px minmax(0, 1fr) auto 44px;
    align-items: center;
    gap: 14px;
    height: var(--kati-course-header-height);
    padding: 0 16px;
    border-bottom: 1px solid #2c3440;
    background: #20262f;
    color: #ffffff;
}

.kati-learning-course-icon-button {
    display: inline-grid;
    width: 44px;
    height: 44px;
    place-items: center;
    border: 0;
    border-radius: 4px;
    background: transparent;
    color: #ffffff;
    font-size: 23px;
    line-height: 1;
    text-decoration: none;
    cursor: pointer;
}

.kati-learning-course-icon-button:hover,
.kati-learning-course-icon-button:focus-visible {
    background: #374151;
    color: #ffffff;
    outline: 2px solid #74a7ff;
    outline-offset: 1px;
}

.kati-learning-course-header__identity {
    min-width: 0;
}

.kati-learning-course-header__identity strong {
    display: block;
    overflow: hidden;
    font-size: 15px;
    font-weight: 600;
    text-transform: uppercase;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.kati-learning-course-header__progress {
    display: flex;
    align-items: baseline;
    gap: 6px;
    white-space: nowrap;
}

.kati-learning-course-header__progress strong {
    font-size: 18px;
}

.kati-learning-course-header__progress span {
    color: #c9d0d8;
    font-size: 12px;
}

.kati-learning-course-workspace {
    display: grid;
    grid-template-columns: minmax(0, 1fr) var(--kati-course-sidebar-width);
    height: calc(100vh - var(--kati-course-header-height));
    min-width: 0;
}

.kati-learning-course-main {
    min-width: 0;
    overflow-x: hidden;
    overflow-y: auto;
    background: #ffffff;
}

.kati-learning-course-lesson {
    width: min(100%, 1040px);
    margin: 0 auto;
    padding: 28px 32px 40px;
}

.kati-learning-course-lesson__heading {
    margin-bottom: 20px;
}

.kati-learning-course-lesson__heading > span {
    color: var(--kati-course-blue);
    font-size: 13px;
    font-weight: 700;
    text-transform: uppercase;
}

.kati-learning-course-lesson__heading h1 {
    margin: 6px 0 0;
    color: var(--kati-course-ink);
    font-size: 28px;
    line-height: 1.25;
}

.kati-learning-course-preview-note {
    margin: 10px 0 0;
    padding: 9px 12px;
    border-left: 3px solid #d88a09;
    background: #fff8e7;
    color: #744d00;
    font-size: 13px;
}

.kati-learning-course-video {
    width: 100%;
    margin: 0 0 24px;
}

.kati-learning-course-video__viewport {
    position: relative;
    overflow: hidden;
    width: 100%;
    aspect-ratio: 16 / 9;
    background: transparent;
}

.kati-learning-course-video__frame,
.kati-learning-course-video__frame iframe {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    border: 0;
}

.kati-learning-course-video__frame {
    z-index: 1;
}

.kati-learning-course-video__frame iframe {
    pointer-events: none;
}

.kati-learning-course-video__poster {
    position: absolute;
    inset: 0;
    z-index: 2;
    background-color: transparent;
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
    opacity: 1;
    visibility: visible;
    transition: opacity 160ms ease, visibility 160ms ease;
    pointer-events: none;
}

.kati-learning-course-video.is-playing .kati-learning-course-video__poster,
.kati-learning-course-video.has-played .kati-learning-course-video__poster {
    opacity: 0;
    visibility: hidden;
}

.kati-learning-course-video__click-shield {
    position: absolute;
    inset: 0;
    z-index: 3;
    width: 100%;
    height: 100%;
    margin: 0;
    padding: 0;
    border: 0;
    border-radius: 0;
    background: transparent;
    cursor: pointer;
}

.kati-learning-course-video__click-shield:hover,
.kati-learning-course-video__click-shield:focus {
    background: transparent;
    outline: 0;
}

.kati-learning-course-video__loading,
.kati-learning-course-video__error {
    position: absolute;
    inset: 0;
    z-index: 5;
    display: grid;
    place-content: center;
    padding: 24px;
    background: #0c0d0f;
    color: #ffffff;
    text-align: center;
}

.kati-learning-course-video__loading[hidden],
.kati-learning-course-video__error[hidden],
.kati-learning-course-video__resume[hidden] {
    display: none;
}

.kati-learning-course-video__loading span {
    width: 34px;
    height: 34px;
    margin: 0 auto 10px;
    border: 3px solid #4b5563;
    border-top-color: #74a7ff;
    border-radius: 50%;
    animation: kati-learning-course-spin 900ms linear infinite;
}

@keyframes kati-learning-course-spin {
    to { transform: rotate(360deg); }
}

.kati-learning-course-video__error strong {
    font-size: 18px;
}

.kati-learning-course-video__error p {
    margin: 8px 0 14px;
    color: #d1d5db;
}

.kati-learning-course-video__error button,
.kati-learning-course-video__resume button {
    min-height: 44px;
    padding: 8px 14px;
    border: 1px solid #8eb8ff;
    border-radius: 4px;
    background: #1769e0;
    color: #ffffff;
    cursor: pointer;
}

.kati-learning-course-video__large-play {
    position: absolute;
    top: 50%;
    left: 50%;
    z-index: 6;
    display: grid;
    width: 52px;
    height: 52px;
    place-items: center;
    border: 0;
    border-radius: 50%;
    background: transparent;
    color: #ffffff;
    font-size: 0;
    transform: translate(-50%, -50%);
    transition: opacity 160ms ease, transform 160ms ease;
    cursor: pointer;
}

.kati-learning-course-video__large-play:hover,
.kati-learning-course-video__large-play:focus-visible {
    background: transparent;
    outline: 0;
    opacity: 0.86;
    transform: translate(-50%, -50%) scale(1.08);
}

.kati-learning-course-video__large-play span::before {
    content: "";
    display: block;
    width: 0;
    height: 0;
    border-top: 13px solid transparent;
    border-bottom: 13px solid transparent;
    border-left: 21px solid #ffffff;
    filter: drop-shadow(0 2px 4px rgba(0, 0, 0, 0.72));
    transform: translateX(-7px);
}

.kati-learning-course-video.is-playing .kati-learning-course-video__large-play,
.kati-learning-course-video.has-played .kati-learning-course-video__large-play,
.kati-learning-course-video:not(.is-ready) .kati-learning-course-video__large-play {
    display: none;
}

.kati-learning-course-video__resume {
    position: absolute;
    top: 50%;
    left: 50%;
    z-index: 9;
    width: min(90%, 420px);
    padding: 18px;
    border: 1px solid #4b5563;
    background: rgba(18, 23, 30, 0.96);
    color: #ffffff;
    text-align: center;
    transform: translate(-50%, -50%);
}

.kati-learning-course-video__resume p {
    margin: 0 0 14px;
}

.kati-learning-course-video__resume div {
    display: flex;
    justify-content: center;
    gap: 8px;
}

.kati-learning-course-video__resume button:last-child {
    border-color: #6b7280;
    background: #374151;
}

.kati-learning-course-video__controls {
    position: absolute;
    right: 12px;
    bottom: 12px;
    left: 12px;
    z-index: 8;
    display: grid;
    grid-template-columns: 34px 84px minmax(120px, 1fr) 34px 32px 34px;
    align-items: center;
    gap: 9px;
    min-height: 50px;
    padding: 9px 12px;
    border-radius: 12px;
    background: transparent;
    -webkit-backdrop-filter: none;
    backdrop-filter: none;
    box-shadow: none;
    color: #ffffff;
}

.kati-learning-course-video__controls button,
.kati-learning-course-video__controls select {
    min-width: 32px;
    min-height: 32px;
    margin: 0;
    border: 0;
    border-radius: 999px;
    background: transparent !important;
    box-shadow: none;
    color: #ffffff;
    cursor: pointer;
}

.kati-learning-course-video__controls button {
    display: inline-grid;
    place-items: center;
    padding: 0;
    opacity: 0.98;
    transition: opacity 140ms ease, transform 140ms ease, background-color 140ms ease;
}

.kati-learning-course-video__controls button[data-kati-learning-action="toggle-video"] {
    background: transparent !important;
}

.kati-learning-course-video__controls button[data-kati-learning-action="toggle-video"]:hover,
.kati-learning-course-video__controls button[data-kati-learning-action="toggle-video"]:focus-visible {
    background: transparent !important;
}

.kati-learning-course-video__controls button:hover,
.kati-learning-course-video__controls button:focus-visible,
.kati-learning-course-video__controls select:focus-visible {
    background: transparent !important;
    outline: 0 !important;
    box-shadow: none !important;
    opacity: 1;
}

.kati-learning-course-video__controls button:hover {
    transform: scale(1.06);
}

[data-kati-learning-rate-icon] {
    display: block;
    width: 18px;
    height: 18px;
    font-size: 0;
}

[data-kati-learning-rate-icon]::before {
    content: "";
    display: block;
    width: 18px;
    height: 18px;
    background: currentColor;
    -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='none' stroke='black' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round' d='M9.7 3.8h4.6l.6 2.2 1.5.9 2.2-.6 2.3 4-1.6 1.6v1.8l1.6 1.6-2.3 4-2.2-.6-1.5.9-.6 2.2H9.7l-.6-2.2-1.5-.9-2.2.6-2.3-4 1.6-1.6v-1.8L3.1 10l2.3-4 2.2.6L9.1 6l.6-2.2Z'/%3E%3Ccircle cx='12' cy='12.8' r='2.7' fill='none' stroke='black' stroke-width='1.7'/%3E%3C/svg%3E") center / contain no-repeat;
    mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='none' stroke='black' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round' d='M9.7 3.8h4.6l.6 2.2 1.5.9 2.2-.6 2.3 4-1.6 1.6v1.8l1.6 1.6-2.3 4-2.2-.6-1.5.9-.6 2.2H9.7l-.6-2.2-1.5-.9-2.2.6-2.3-4 1.6-1.6v-1.8L3.1 10l2.3-4 2.2.6L9.1 6l.6-2.2Z'/%3E%3Ccircle cx='12' cy='12.8' r='2.7' fill='none' stroke='black' stroke-width='1.7'/%3E%3C/svg%3E") center / contain no-repeat;
}

.kati-learning-course-video__rate {
    position: relative;
    display: inline-flex;
    align-items: center;
}

.kati-learning-course-video__rate-button {
    background: transparent !important;
}

.kati-learning-course-video__rate-menu {
    position: absolute;
    right: 0;
    bottom: 40px;
    z-index: 20;
    min-width: 92px;
    padding: 6px;
    border-radius: 10px;
    background: rgba(22, 22, 22, 0.98);
    box-shadow: 0 10px 24px rgba(0, 0, 0, 0.28);
}

.kati-learning-course-video__rate-menu button {
    display: block;
    width: 100%;
    min-height: 30px;
    padding: 6px 8px;
    border: 0;
    border-radius: 7px;
    background: transparent !important;
    color: rgba(255, 255, 255, 0.92);
    font-size: 12px;
    line-height: 1;
    text-align: center;
    box-shadow: none;
}

.kati-learning-course-video__rate-menu button:hover,
.kati-learning-course-video__rate-menu button:focus-visible,
.kati-learning-course-video__rate-menu button.is-active {
    background: rgba(255, 255, 255, 0.12) !important;
}

[data-kati-learning-play-icon],
[data-kati-learning-volume-icon] {
    display: block;
    width: 18px;
    height: 18px;
    font-size: 0;
}

[data-kati-learning-play-icon]::before {
    content: "";
    display: block;
    width: 0;
    height: 0;
    margin: 2px 0 0 4px;
    border-top: 7px solid transparent;
    border-bottom: 7px solid transparent;
    border-left: 11px solid currentColor;
}

.kati-learning-course-video.is-playing [data-kati-learning-play-icon]::before {
    width: 12px;
    height: 15px;
    margin: 1px auto 0;
    border: 0;
    background: linear-gradient(to right, currentColor 0 4px, transparent 4px 8px, currentColor 8px 12px);
}

[data-kati-learning-volume-icon]::before,
[data-kati-learning-action="fullscreen-video"]::before {
    content: "";
    display: block;
    width: 18px;
    height: 18px;
    background: currentColor;
    -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round' d='M11 5 6.8 8.5H3.5v7h3.3L11 19V5Zm4 3.5a5 5 0 0 1 0 7m2.6-9.6a8.3 8.3 0 0 1 0 12.2'/%3E%3C/svg%3E") center / contain no-repeat;
    mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round' d='M11 5 6.8 8.5H3.5v7h3.3L11 19V5Zm4 3.5a5 5 0 0 1 0 7m2.6-9.6a8.3 8.3 0 0 1 0 12.2'/%3E%3C/svg%3E") center / contain no-repeat;
}

.kati-learning-course-video.is-muted [data-kati-learning-volume-icon]::before {
    -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round' d='M11 5 6.8 8.5H3.5v7h3.3L11 19V5Zm4.5 5 5 5m0-5-5 5'/%3E%3C/svg%3E");
    mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round' d='M11 5 6.8 8.5H3.5v7h3.3L11 19V5Zm4.5 5 5 5m0-5-5 5'/%3E%3C/svg%3E");
}

[data-kati-learning-action="fullscreen-video"] {
    font-size: 0;
}

[data-kati-learning-action="fullscreen-video"]::before {
    -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' d='M8.5 4H4v4.5M15.5 4H20v4.5M20 15.5V20h-4.5M8.5 20H4v-4.5'/%3E%3C/svg%3E");
    mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' d='M8.5 4H4v4.5M15.5 4H20v4.5M20 15.5V20h-4.5M8.5 20H4v-4.5'/%3E%3C/svg%3E");
}

.kati-learning-course-video__controls select option {
    color: #111827;
    font-size: 14px;
    text-indent: 0;
}

.kati-learning-course-video__controls select[data-kati-learning-video-rate] {
    width: 32px;
    min-width: 32px;
    min-height: 32px;
    padding: 0;
    border: 0;
    -webkit-appearance: none;
    appearance: none;
    background-color: transparent !important;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='none' stroke='white' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round' d='M9.7 3.8h4.6l.6 2.2 1.5.9 2.2-.6 2.3 4-1.6 1.6v1.8l1.6 1.6-2.3 4-2.2-.6-1.5.9-.6 2.2H9.7l-.6-2.2-1.5-.9-2.2.6-2.3-4 1.6-1.6v-1.8L3.1 10l2.3-4 2.2.6L9.1 6l.6-2.2Z'/%3E%3Ccircle cx='12' cy='12.8' r='2.7' fill='none' stroke='white' stroke-width='1.7'/%3E%3C/svg%3E") !important;
    background-repeat: no-repeat !important;
    background-position: center !important;
    background-size: 15px 15px !important;
    color: transparent;
    font-size: 0;
    text-indent: -999px;
}

@media (hover: hover) {
    .kati-learning-course-video.is-playing.is-controls-hidden .kati-learning-course-video__controls,
    .kati-learning-course-video.is-playing:not(:hover):not(.is-volume-open):not(.is-rate-open) .kati-learning-course-video__controls {
        display: none;
        background: transparent !important;
        box-shadow: none !important;
        opacity: 0 !important;
        visibility: hidden !important;
        pointer-events: none !important;
        min-height: 0 !important;
        height: 0 !important;
        padding: 0 !important;
        border: 0 !important;
    }

    .kati-learning-course-video__controls {
        transition: opacity 180ms ease, visibility 180ms ease, transform 180ms ease;
    }
}

.kati-learning-course-video__controls select[data-kati-learning-video-rate]:focus {
    outline: 0 !important;
    box-shadow: none !important;
}

[data-kati-learning-video-volume] {
    position: absolute !important;
    right: 67px;
    bottom: 78px;
    z-index: 12 !important;
    display: none;
    width: 84px !important;
    height: 22px !important;
    padding: 0 !important;
    border: 0 !important;
    outline: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    transform: rotate(-90deg);
    transform-origin: center;
}

.kati-learning-course-video.is-volume-open [data-kati-learning-video-volume] {
    display: block;
}

.kati-learning-course-video__controls::after {
    content: "";
    position: absolute;
    right: 88px;
    bottom: 47px;
    display: none;
    width: 42px;
    height: 112px;
    border: 1px solid rgba(255, 255, 255, 0.1);
    border-radius: 8px;
    background: rgba(15, 20, 27, 0.92);
    box-shadow: 0 8px 24px rgba(0, 0, 0, 0.24);
    pointer-events: none;
}

.kati-learning-course-video.is-volume-open .kati-learning-course-video__controls::after {
    display: block;
}

.kati-learning-course-video__timeline {
    position: relative;
    display: flex;
    align-items: center;
    height: 6px;
}

.kati-learning-course-video__timeline > span {
    position: absolute;
    top: 2px;
    left: 0;
    width: 0;
    height: 2px;
    border-radius: 999px;
    background: rgba(47, 134, 255, 0.5);
    pointer-events: none;
}

.kati-learning-course-video__timeline input,
[data-kati-learning-video-volume] {
    position: relative;
    z-index: 2;
    width: 100%;
    height: 2px;
    margin: 0;
    padding: 0;
    border: 0;
    border-radius: 0;
    -webkit-appearance: none;
    appearance: none;
    background: transparent !important;
    box-shadow: none;
    outline: 0 !important;
    cursor: pointer;
}

.kati-learning-course-video__timeline input::-webkit-slider-runnable-track,
[data-kati-learning-video-volume]::-webkit-slider-runnable-track {
    width: 100%;
    height: 2px;
    border: 0;
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.2);
}

.kati-learning-course-video__timeline input::-webkit-slider-thumb,
[data-kati-learning-video-volume]::-webkit-slider-thumb {
    width: 4px;
    height: 4px;
    margin-top: -1px;
    border: 0;
    border-radius: 50%;
    -webkit-appearance: none;
    appearance: none;
    background: #2f86ff;
    box-shadow: 0 0 0 1px rgba(255, 255, 255, 0.16);
}

.kati-learning-course-video__timeline input::-moz-range-track,
[data-kati-learning-video-volume]::-moz-range-track {
    width: 100%;
    height: 2px;
    border: 0;
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.2);
}

.kati-learning-course-video__timeline input::-moz-range-progress,
[data-kati-learning-video-volume]::-moz-range-progress {
    height: 2px;
    border-radius: 999px;
    background: #2f86ff;
}

.kati-learning-course-video__timeline input::-moz-range-thumb,
[data-kati-learning-video-volume]::-moz-range-thumb {
    width: 4px;
    height: 4px;
    border: 0;
    border-radius: 50%;
    background: #2f86ff;
    box-shadow: 0 0 0 1px rgba(255, 255, 255, 0.16);
}

.kati-learning-course-video__timeline input:hover::-webkit-slider-thumb,
.kati-learning-course-video__timeline input:focus-visible::-webkit-slider-thumb,
[data-kati-learning-video-volume]:hover::-webkit-slider-thumb,
[data-kati-learning-video-volume]:focus-visible::-webkit-slider-thumb {
    width: 5px;
    height: 5px;
    margin-top: -1.5px;
}

.kati-learning-course-video__time {
    min-width: 86px;
    color: rgba(255, 255, 255, 0.92);
    font-size: 12px;
    font-variant-numeric: tabular-nums;
    text-align: left;
    white-space: nowrap;
}

.kati-learning-course-video__strict-note {
    margin: 8px 0 0;
    padding: 8px 10px;
    border-left: 3px solid #d88a09;
    background: #fff8e7;
    color: #744d00;
    font-size: 13px;
}

.kati-learning-course-empty-video {
    display: grid;
    min-height: 180px;
    place-items: center;
    margin-bottom: 24px;
    padding: 24px;
    border: 1px dashed #aab2bd;
    background: #f8fafc;
    color: var(--kati-course-muted);
    text-align: center;
}

.kati-learning-course-media {
    margin: 0 0 24px;
}

.kati-learning-course-audio {
    width: 100%;
    min-height: 56px;
}

.kati-learning-course-pdf {
    overflow: hidden;
    min-height: 680px;
    border: 1px solid var(--kati-course-line);
    border-radius: 10px;
    background: #ffffff;
}

.kati-learning-course-pdf iframe {
    display: block;
    width: 100%;
    min-height: 680px;
    border: 0;
}

.kati-learning-course-content {
    color: #2d3748;
    font-size: 16px;
    line-height: 1.75;
}

.kati-learning-course-content img,
.kati-learning-course-content video,
.kati-learning-course-content iframe {
    max-width: 100%;
}

.kati-learning-course-lesson__footer {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    margin: -8px 0 24px;
    padding: 14px 0 18px;
    border-bottom: 1px solid var(--kati-course-line);
}

.kati-learning-course-navigation {
    display: flex;
    gap: 8px;
}

.kati-learning-course-lesson__actions {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 14px;
    margin-left: auto;
}

.kati-learning-course-lesson__actions form {
    margin: 0;
}

.kati-learning-course-navigation a,
.kati-learning-course-complete-button,
.kati-learning-course-action {
    display: inline-flex;
    min-height: 44px;
    align-items: center;
    justify-content: center;
    padding: 9px 15px;
    border: 1px solid #b8c0ca;
    border-radius: 7px;
    background: #ffffff;
    color: var(--kati-course-ink);
    font-weight: 600;
    text-decoration: none;
    cursor: pointer;
}

.kati-learning-course-complete-button,
.kati-learning-course-action {
    min-height: 48px;
    padding-right: 18px;
    padding-left: 18px;
    border-color: var(--kati-course-green);
    background: var(--kati-course-green);
    color: #ffffff;
}

.kati-learning-course-action:visited {
    color: #ffffff;
}

.kati-learning-course-complete-button:hover,
.kati-learning-course-complete-button:focus-visible,
.kati-learning-course-action:hover,
.kati-learning-course-action:focus-visible {
    border-color: #0d684b;
    background: #0d684b;
    color: #ffffff !important;
    text-decoration: none;
    outline: 0;
    box-shadow: 0 0 0 3px rgba(22, 128, 92, 0.2);
}

.kati-learning-course-navigation a:hover,
.kati-learning-course-navigation a:focus-visible {
    border-color: #8f9baa;
    background: #f4f7f9;
    color: var(--kati-course-ink) !important;
    text-decoration: none;
    outline: 0;
    box-shadow: 0 0 0 3px rgba(22, 32, 51, 0.08);
}

.kati-learning-course-completed {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    color: var(--kati-course-green);
    font-weight: 700;
    white-space: nowrap;
}

.kati-learning-course-completed > span {
    display: inline-grid;
    width: 22px;
    height: 22px;
    place-items: center;
    border-radius: 50%;
    background: #e8f7f0;
    font-size: 13px;
}

.kati-learning-course-curriculum {
    min-width: 0;
    overflow-y: auto;
    border-left: 1px solid var(--kati-course-line);
    background: #f7f9fb;
}

.kati-learning-course-curriculum__header {
    position: sticky;
    top: 0;
    z-index: 2;
    display: flex;
    min-height: 68px;
    align-items: center;
    justify-content: space-between;
    padding: 14px 16px;
    border-bottom: 1px solid var(--kati-course-line);
    background: #f7f9fb;
}

.kati-learning-course-curriculum__header span,
.kati-learning-course-curriculum__header strong {
    display: block;
}

.kati-learning-course-curriculum__header span {
    margin-bottom: 3px;
    color: var(--kati-course-muted);
    font-size: 12px;
}

.kati-learning-course-curriculum__header button {
    display: none;
    width: 44px;
    height: 44px;
    border: 0;
    background: transparent;
    cursor: pointer;
}

.kati-learning-course-curriculum__progress {
    height: 5px;
    background: #dfe5eb;
}

.kati-learning-course-curriculum__progress span {
    display: block;
    height: 100%;
    background: var(--kati-course-green);
}

.kati-learning-course-curriculum ol {
    margin: 0;
    padding: 0;
    list-style: none;
}

.kati-learning-course-curriculum li {
    border-bottom: 1px solid #e3e7ec;
}

.kati-learning-course-curriculum li a,
.kati-learning-course-curriculum li > div {
    display: grid;
    grid-template-columns: 30px minmax(0, 1fr);
    gap: 3px 9px;
    min-height: 76px;
    align-content: center;
    padding: 12px 16px;
    color: var(--kati-course-ink);
    text-decoration: none;
}

.kati-learning-course-curriculum li a:hover,
.kati-learning-course-curriculum li a:focus-visible {
    background: #edf4ff;
    outline: 2px solid #74a7ff;
    outline-offset: -2px;
}

.kati-learning-course-curriculum li.is-current {
    border-left: 4px solid var(--kati-course-blue);
    background: #eaf2ff;
}

.kati-learning-course-curriculum li.is-completed {
    border-left-color: var(--kati-course-green);
}

.kati-learning-course-curriculum li.is-locked {
    opacity: 0.58;
}

.kati-learning-course-curriculum li span {
    grid-row: 1 / span 2;
    display: grid;
    width: 28px;
    height: 28px;
    place-items: center;
    border: 1px solid #bac3cd;
    border-radius: 50%;
    font-size: 12px;
}

.kati-learning-course-curriculum li strong {
    overflow-wrap: anywhere;
    font-size: 14px;
    line-height: 1.35;
}

.kati-learning-course-curriculum li em {
    color: var(--kati-course-muted);
    font-size: 11px;
    font-style: normal;
}

.kati-learning-course-drawer-backdrop {
    display: none;
}

.kati-learning-course-state {
    display: grid;
    min-height: 100vh;
    place-items: center;
    padding: 24px;
    background: #eef2f5;
}

.kati-learning-course-state__panel {
    width: min(100%, 560px);
    padding: 36px;
    border: 1px solid #d5dae0;
    background: #ffffff;
    text-align: center;
}

.kati-learning-course-state__code {
    color: #b54708;
    font-size: 13px;
    font-weight: 700;
}

.kati-learning-course-state__panel h1 {
    margin: 8px 0;
    font-size: 28px;
}

.kati-learning-course-state__panel p {
    margin: 0 0 20px;
    color: var(--kati-course-muted);
}

@media (max-width: 1199px) {
    .kati-learning-course-workspace {
        display: block;
    }

    .kati-learning-course-curriculum {
        position: fixed;
        top: var(--kati-course-header-height);
        right: 0;
        bottom: 0;
        z-index: 50;
        width: min(88vw, 380px);
        border-left: 1px solid var(--kati-course-line);
        box-shadow: -16px 0 32px rgba(15, 23, 42, 0.18);
        transform: translateX(105%);
        transition: transform 180ms ease;
    }

    .kati-learning-course-shell.is-curriculum-open .kati-learning-course-curriculum {
        transform: translateX(0);
    }

    .kati-learning-course-curriculum__header button {
        display: block;
    }

    .kati-learning-course-drawer-backdrop {
        position: fixed;
        inset: var(--kati-course-header-height) 0 0;
        z-index: 40;
        width: 100%;
        height: calc(100vh - var(--kati-course-header-height));
        border: 0;
        background: rgba(15, 23, 42, 0.45);
    }

    .kati-learning-course-shell.is-curriculum-open .kati-learning-course-drawer-backdrop {
        display: block;
    }
}

@media (max-width: 767px) {
    :root {
        --kati-course-header-height: 56px;
    }

    .kati-learning-course-header {
        grid-template-columns: 44px minmax(0, 1fr) auto 44px;
        gap: 5px;
        padding: 0 6px;
    }

    .kati-learning-course-header__progress span {
        display: none;
    }

    .kati-learning-course-header__identity strong {
        font-size: 13px;
    }

    .kati-learning-course-header__progress strong {
        font-size: 15px;
    }

    .kati-learning-course-lesson {
        padding: 18px 0 30px;
    }

    .kati-learning-course-lesson__heading,
    .kati-learning-course-content,
    .kati-learning-course-lesson__footer,
    .kati-learning-course-video__strict-note,
    .kati-learning-course-empty-video {
        margin-right: 14px;
        margin-left: 14px;
    }

    .kati-learning-course-lesson__heading h1 {
        font-size: 22px;
    }

    .kati-learning-course-video__controls {
        right: 10px;
        bottom: 10px;
        left: 10px;
        grid-template-columns: 30px 72px minmax(48px, 1fr) 30px 30px 30px;
        gap: 6px;
        min-height: 44px;
        padding: 7px 8px;
        border-radius: 10px;
    }

    .kati-learning-course-video__controls button,
    .kati-learning-course-video__controls select {
        min-width: 28px;
        min-height: 28px;
    }

    .kati-learning-course-video__time {
        min-width: 72px;
        font-size: 9px;
    }

    .kati-learning-course-video__controls select[data-kati-learning-video-rate] {
        width: 28px;
        min-width: 28px;
        min-height: 28px;
        background-size: 15px 15px !important;
    }

    .kati-learning-course-video__rate-menu {
        bottom: 34px;
        min-width: 84px;
    }

    [data-kati-learning-video-volume] {
        right: 48px;
        bottom: 74px;
    }

    .kati-learning-course-video__controls::after {
        right: 63px;
        bottom: 40px;
    }

    .kati-learning-course-video__large-play {
        width: 44px;
        height: 44px;
    }

    .kati-learning-course-video__large-play span::before {
        border-top-width: 10px;
        border-bottom-width: 10px;
        border-left-width: 17px;
        transform: translateX(-6px);
    }

    .kati-learning-course-lesson__footer {
        display: flex;
        align-items: stretch;
        flex-direction: column;
        gap: 12px;
    }

    .kati-learning-course-navigation {
        justify-content: flex-start;
        margin-bottom: 0;
    }

    .kati-learning-course-lesson__actions {
        width: 100%;
        align-items: stretch;
        flex-direction: column;
        gap: 10px;
        margin-left: 0;
    }

    .kati-learning-course-lesson__actions form,
    .kati-learning-course-complete-button,
    .kati-learning-course-action {
        width: 100%;
    }

    .kati-learning-course-completed {
        justify-content: center;
    }

    .kati-learning-course-curriculum {
        top: 0;
        width: 100vw;
    }

    .kati-learning-course-drawer-backdrop {
        inset: 0;
        height: 100vh;
    }
}

/* KatiLearning 0.9.0 final overrides: smaller, cleaner lesson workspace. */
.kati-learning-course-main {
    background:
        radial-gradient(circle at 18% 0%, rgba(23, 105, 224, 0.07), transparent 28%),
        linear-gradient(180deg, #f8fafc 0%, #eef2f7 100%);
}

.kati-learning-course-lesson {
    width: min(100%, 1000px);
    padding: 30px 28px 46px;
}

.kati-learning-course-lesson__heading {
    margin-bottom: 18px;
    padding: 0 2px;
}

.kati-learning-course-video {
    max-width: 900px;
    margin: 0 auto 26px;
    padding: 12px;
    border: 1px solid rgba(15, 23, 42, 0.08);
    border-radius: 18px;
    background: #ffffff;
    box-shadow: 0 18px 45px rgba(15, 23, 42, 0.12);
}

.kati-learning-course-video__viewport {
    max-height: calc(100vh - 250px);
    min-height: 360px;
    border-radius: 12px;
    background: #070a0f;
}

.kati-learning-course-content,
.kati-learning-course-lesson__footer {
    max-width: 900px;
    margin-right: auto;
    margin-left: auto;
}

.kati-learning-course-content {
    padding: 22px 24px;
    border: 1px solid rgba(15, 23, 42, 0.08);
    border-radius: 16px;
    background: rgba(255, 255, 255, 0.92);
    box-shadow: 0 12px 30px rgba(15, 23, 42, 0.06);
}

.kati-learning-course-lesson__footer {
    margin-top: 22px;
    padding: 18px 20px;
    border: 1px solid rgba(15, 23, 42, 0.08);
    border-radius: 16px;
    background: #ffffff;
    box-shadow: 0 12px 30px rgba(15, 23, 42, 0.06);
}

.kati-learning-course-curriculum {
    background: #f8fafc;
}

.kati-learning-course-curriculum__summary,
.kati-learning-course-curriculum__item {
    background: #ffffff;
}

.kati-learning-course-curriculum__item.is-current {
    background: #eaf2ff;
}

@media (max-width: 1180px) {
    .kati-learning-course-video {
        max-width: 820px;
    }

    .kati-learning-course-video__viewport {
        min-height: 300px;
        max-height: calc(100vh - 230px);
    }
}

@media (max-width: 760px) {
    .kati-learning-course-lesson {
        padding: 18px 12px 30px;
    }

    .kati-learning-course-video {
        max-width: none;
        padding: 0;
        border: 0;
        border-radius: 0;
        box-shadow: none;
    }

    .kati-learning-course-video__viewport {
        min-height: auto;
        max-height: none;
        border-radius: 0;
    }

    .kati-learning-course-content,
    .kati-learning-course-lesson__footer {
        padding: 16px;
        border-radius: 12px;
    }
}

/* KatiLearning 0.9.5 last rule: keep YouTube wrapper and iframe exactly 16:9. */
.kati-learning-course-video {
    width: min(100%, 864px);
    max-width: 864px;
    box-sizing: border-box;
}

.kati-learning-course-video__viewport {
    position: relative;
    width: 100%;
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
    aspect-ratio: 16 / 9;
    overflow: hidden;
    background: #000000;
}

.kati-learning-course-video__frame,
.kati-learning-course-video__frame iframe,
.kati-learning-course-video__frame > div,
.kati-learning-course-video__poster,
.kati-learning-course-video__click-shield {
    position: absolute;
    inset: 0;
    width: 100% !important;
    height: 100% !important;
}

.kati-learning-course-video__frame iframe {
    display: block;
    max-width: none !important;
    max-height: none !important;
}

.kati-learning-course-video__poster {
    background-size: cover;
    background-position: center;
}

@media (max-width: 760px) {
    .kati-learning-course-video {
        width: 100%;
        max-width: none;
    }
}

/* KatiLearning 0.9.8: curriculum toggle and learner light/dark mode. */
.kati-learning-course-header {
    grid-template-columns: 44px minmax(0, 1fr) auto 44px 44px;
}

.kati-learning-course-workspace {
    transition: grid-template-columns 180ms ease;
}

.kati-learning-course-curriculum {
    transition: width 180ms ease, transform 180ms ease, opacity 180ms ease;
}

.kati-learning-course-shell.is-curriculum-collapsed .kati-learning-course-workspace {
    grid-template-columns: minmax(0, 1fr) 0;
}

.kati-learning-course-shell.is-curriculum-collapsed .kati-learning-course-curriculum {
    width: 0;
    min-width: 0;
    border-left: 0;
    opacity: 0;
    overflow: hidden;
    visibility: hidden;
}

.kati-learning-course-shell.is-theme-dark {
    --kati-course-ink: #f8fafc;
    --kati-course-muted: #aab4c2;
    --kati-course-line: #303846;
    background: #111827;
}

body.kati-learning-course-player-page:has(.kati-learning-course-shell.is-theme-dark) {
    background: #111827;
}

.kati-learning-course-shell.is-theme-dark .kati-learning-course-header {
    border-bottom-color: #343d4c;
    background: #20242c;
}

.kati-learning-course-shell.is-theme-dark .kati-learning-course-main {
    background:
        radial-gradient(circle at 18% 0%, rgba(59, 130, 246, 0.14), transparent 28%),
        linear-gradient(180deg, #111827 0%, #0f172a 100%);
}

.kati-learning-course-shell.is-theme-dark .kati-learning-course-video,
.kati-learning-course-shell.is-theme-dark .kati-learning-course-content,
.kati-learning-course-shell.is-theme-dark .kati-learning-course-lesson__footer {
    border-color: rgba(148, 163, 184, 0.22);
    background: rgba(17, 24, 39, 0.92);
    box-shadow: 0 18px 45px rgba(0, 0, 0, 0.28);
}

.kati-learning-course-shell.is-theme-dark .kati-learning-course-curriculum,
.kati-learning-course-shell.is-theme-dark .kati-learning-course-curriculum__header {
    border-color: #303846;
    background: #151c28;
}

.kati-learning-course-shell.is-theme-dark .kati-learning-course-curriculum__progress {
    background: #2f3846;
}

.kati-learning-course-shell.is-theme-dark .kati-learning-course-curriculum li {
    border-bottom-color: #283241;
}

.kati-learning-course-shell.is-theme-dark .kati-learning-course-curriculum li a,
.kati-learning-course-shell.is-theme-dark .kati-learning-course-curriculum li > div {
    color: #f8fafc;
}

.kati-learning-course-shell.is-theme-dark .kati-learning-course-curriculum li a:hover,
.kati-learning-course-shell.is-theme-dark .kati-learning-course-curriculum li a:focus-visible {
    background: #1e293b;
}

.kati-learning-course-shell.is-theme-dark .kati-learning-course-curriculum li.is-current {
    background: #1d3558;
}

.kati-learning-course-shell.is-theme-dark .kati-learning-course-curriculum li span {
    border-color: #526071;
}

@media (max-width: 1199px) {
    .kati-learning-course-shell.is-curriculum-collapsed .kati-learning-course-workspace {
        display: block;
    }

    .kati-learning-course-shell.is-curriculum-collapsed .kati-learning-course-curriculum {
        width: min(88vw, 380px);
        border-left: 1px solid var(--kati-course-line);
        opacity: 1;
        visibility: visible;
    }
}

@media (max-width: 767px) {
    .kati-learning-course-header {
        grid-template-columns: 40px minmax(0, 1fr) auto 40px 40px;
    }
}


/* KatiLearning 0.9.9: clear learner theme icon and cleaner previous lesson button. */
.kati-learning-course-theme-toggle {
    border-left: 1px solid rgba(255, 255, 255, 0.08);
    border-right: 1px solid rgba(255, 255, 255, 0.08);
}

.kati-learning-course-theme-icon {
    display: block;
    width: 23px;
    height: 23px;
    background: currentColor;
}

.kati-learning-course-theme-icon[data-kati-learning-theme-icon-state="sun"] {
    color: #fbbf24;
    -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Ccircle cx='12' cy='12' r='4.2' fill='black'/%3E%3Cpath fill='none' stroke='black' stroke-width='2' stroke-linecap='round' d='M12 2.5v2.1M12 19.4v2.1M4.6 4.6l1.5 1.5M17.9 17.9l1.5 1.5M2.5 12h2.1M19.4 12h2.1M4.6 19.4l1.5-1.5M17.9 6.1l1.5-1.5'/%3E%3C/svg%3E") center / contain no-repeat;
    mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Ccircle cx='12' cy='12' r='4.2' fill='black'/%3E%3Cpath fill='none' stroke='black' stroke-width='2' stroke-linecap='round' d='M12 2.5v2.1M12 19.4v2.1M4.6 4.6l1.5 1.5M17.9 17.9l1.5 1.5M2.5 12h2.1M19.4 12h2.1M4.6 19.4l1.5-1.5M17.9 6.1l1.5-1.5'/%3E%3C/svg%3E") center / contain no-repeat;
}

.kati-learning-course-theme-icon[data-kati-learning-theme-icon-state="moon"] {
    color: #e8eef7;
    -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M19.6 14.3A7.6 7.6 0 0 1 9.7 4.4a8.3 8.3 0 1 0 9.9 9.9Z'/%3E%3C/svg%3E") center / contain no-repeat;
    mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M19.6 14.3A7.6 7.6 0 0 1 9.7 4.4a8.3 8.3 0 1 0 9.9 9.9Z'/%3E%3C/svg%3E") center / contain no-repeat;
}

.kati-learning-course-navigation a.kati-learning-course-prev-button {
    min-height: 42px;
    gap: 8px;
    padding: 8px 14px;
    border-color: rgba(23, 105, 224, 0.22);
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.92);
    color: #1f2937 !important;
    box-shadow: 0 10px 24px rgba(15, 23, 42, 0.06);
}

.kati-learning-course-navigation a.kati-learning-course-prev-button span {
    display: inline-grid;
    width: 24px;
    height: 24px;
    place-items: center;
    border-radius: 50%;
    background: #edf4ff;
    color: #1769e0;
    font-size: 17px;
    line-height: 1;
}

.kati-learning-course-navigation a.kati-learning-course-prev-button strong {
    font-size: 14px;
    font-weight: 700;
    line-height: 1;
}

.kati-learning-course-navigation a.kati-learning-course-prev-button:hover,
.kati-learning-course-navigation a.kati-learning-course-prev-button:focus-visible {
    border-color: #1769e0;
    background: #ffffff;
    color: #1769e0 !important;
    box-shadow: 0 0 0 3px rgba(23, 105, 224, 0.14), 0 10px 24px rgba(15, 23, 42, 0.08);
}

.kati-learning-course-shell.is-theme-dark .kati-learning-course-navigation a.kati-learning-course-prev-button {
    border-color: rgba(148, 163, 184, 0.26);
    background: rgba(15, 23, 42, 0.86);
    color: #f8fafc !important;
    box-shadow: none;
}

.kati-learning-course-shell.is-theme-dark .kati-learning-course-navigation a.kati-learning-course-prev-button span {
    background: rgba(59, 130, 246, 0.18);
    color: #93c5fd;
}

.kati-learning-course-shell.is-theme-dark .kati-learning-course-navigation a.kati-learning-course-prev-button:hover,
.kati-learning-course-shell.is-theme-dark .kati-learning-course-navigation a.kati-learning-course-prev-button:focus-visible {
    border-color: #60a5fa;
    background: rgba(30, 41, 59, 0.96);
    color: #ffffff !important;
}

@media (max-width: 767px) {
    .kati-learning-course-theme-icon {
        width: 21px;
        height: 21px;
    }

    .kati-learning-course-navigation a.kati-learning-course-prev-button {
        width: auto;
        align-self: flex-start;
    }
}

/* KatiLearning 0.9.10: compact player header, higher lesson title and safer video height at 100% browser zoom. */
:root {
    --kati-course-header-height: 52px;
}

.kati-learning-course-header {
    height: var(--kati-course-header-height) !important;
    min-height: var(--kati-course-header-height) !important;
    padding: 0 12px !important;
    gap: 10px !important;
}

.kati-learning-course-icon-button {
    width: 38px !important;
    height: 38px !important;
    font-size: 20px !important;
}

.kati-learning-course-header__identity strong {
    font-size: 14px !important;
    line-height: 1.15 !important;
}

.kati-learning-course-header__progress strong {
    font-size: 16px !important;
}

.kati-learning-course-header__progress span {
    font-size: 11px !important;
}

.kati-learning-course-lesson {
    padding-top: 16px !important;
}

.kati-learning-course-lesson__heading {
    margin-bottom: 12px !important;
}

.kati-learning-course-lesson__heading h1 {
    margin-top: 0 !important;
    font-size: clamp(24px, 2.15vw, 32px) !important;
    line-height: 1.18 !important;
}

.kati-learning-course-player-page .kati-learning-course-shell .kati-learning-course-video {
    width: min(100%, 760px) !important;
    max-width: 760px !important;
    margin-bottom: 16px !important;
    padding: 8px !important;
}

.kati-learning-course-player-page .kati-learning-course-shell .kati-learning-course-video__viewport {
    aspect-ratio: 16 / 9 !important;
    min-height: 0 !important;
    max-height: calc(100vh - var(--kati-course-header-height) - 190px) !important;
}

.kati-learning-course-player-page .kati-learning-course-shell .kati-learning-course-video__frame,
.kati-learning-course-player-page .kati-learning-course-shell .kati-learning-course-video__frame iframe,
.kati-learning-course-player-page .kati-learning-course-shell .kati-learning-course-video__frame > div,
.kati-learning-course-player-page .kati-learning-course-shell .kati-learning-course-video__poster,
.kati-learning-course-player-page .kati-learning-course-shell .kati-learning-course-video__click-shield {
    border-radius: 10px;
}

@media (max-width: 767px) {
    :root {
        --kati-course-header-height: 50px;
    }

    .kati-learning-course-header {
        grid-template-columns: 36px minmax(0, 1fr) auto 36px 36px !important;
        padding: 0 6px !important;
        gap: 4px !important;
    }

    .kati-learning-course-icon-button {
        width: 36px !important;
        height: 36px !important;
        font-size: 19px !important;
    }

    .kati-learning-course-lesson {
        padding-top: 12px !important;
    }

    .kati-learning-course-lesson__heading h1 {
        font-size: 22px !important;
    }

    .kati-learning-course-player-page .kati-learning-course-shell .kati-learning-course-video {
        width: 100% !important;
        max-width: none !important;
        padding: 0 !important;
    }
}

/* KatiLearning 0.9.11: smaller lesson title and one-step smaller 16:9 video frame. */
.kati-learning-course-player-page .kati-learning-course-shell .kati-learning-course-lesson__heading h1 {
    font-size: clamp(22px, 1.95vw, 29px) !important;
    line-height: 1.16 !important;
}

.kati-learning-course-player-page .kati-learning-course-shell .kati-learning-course-video {
    width: min(100%, 720px) !important;
    max-width: 720px !important;
}

.kati-learning-course-player-page .kati-learning-course-shell .kati-learning-course-video__viewport {
    aspect-ratio: 16 / 9 !important;
    max-height: calc(100vh - var(--kati-course-header-height) - 205px) !important;
}

@media (max-width: 767px) {
    .kati-learning-course-player-page .kati-learning-course-shell .kati-learning-course-lesson__heading h1 {
        font-size: 20px !important;
    }

    .kati-learning-course-player-page .kati-learning-course-shell .kati-learning-course-video {
        width: 100% !important;
        max-width: none !important;
    }
}

/* KatiLearning 0.9.12: 15% smaller lesson title and responsive 16:9 video frame without height squeezing. */
.kati-learning-course-player-page .kati-learning-course-shell .kati-learning-course-lesson__heading h1 {
    font-size: clamp(19px, 1.65vw, 25px) !important;
    line-height: 1.14 !important;
    letter-spacing: -0.01em;
}

.kati-learning-course-player-page .kati-learning-course-shell .kati-learning-course-video {
    width: min(100%, 720px) !important;
    max-width: 720px !important;
    height: auto !important;
}

.kati-learning-course-player-page .kati-learning-course-shell .kati-learning-course-video__viewport {
    width: 100% !important;
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
    aspect-ratio: 16 / 9 !important;
    background: #000000;
}

.kati-learning-course-player-page .kati-learning-course-shell .kati-learning-course-video__frame,
.kati-learning-course-player-page .kati-learning-course-shell .kati-learning-course-video__frame iframe,
.kati-learning-course-player-page .kati-learning-course-shell .kati-learning-course-video__frame > div {
    width: 100% !important;
    height: 100% !important;
    max-width: none !important;
    max-height: none !important;
}

@media (max-height: 760px) and (min-width: 768px) {
    .kati-learning-course-player-page .kati-learning-course-shell .kati-learning-course-video {
        width: min(100%, 680px) !important;
        max-width: 680px !important;
    }
}

@media (max-height: 680px) and (min-width: 768px) {
    .kati-learning-course-player-page .kati-learning-course-shell .kati-learning-course-video {
        width: min(100%, 620px) !important;
        max-width: 620px !important;
    }
}

@media (max-height: 610px) and (min-width: 768px) {
    .kati-learning-course-player-page .kati-learning-course-shell .kati-learning-course-video {
        width: min(100%, 560px) !important;
        max-width: 560px !important;
    }
}

@media (max-width: 767px) {
    .kati-learning-course-player-page .kati-learning-course-shell .kati-learning-course-lesson__heading h1 {
        font-size: 17px !important;
        line-height: 1.16 !important;
    }

    .kati-learning-course-player-page .kati-learning-course-shell .kati-learning-course-video {
        width: 100% !important;
        max-width: none !important;
    }
}

/* KatiLearning 0.9.13: strict responsive 16:9 lock for outer frame, viewport and YouTube iframe. */
.kati-learning-course-player-page .kati-learning-course-shell .kati-learning-course-video {
    width: min(100%, 720px, calc((100vh - var(--kati-course-header-height, 52px) - 180px) * 16 / 9)) !important;
    max-width: min(100%, 720px, calc((100vh - var(--kati-course-header-height, 52px) - 180px) * 16 / 9)) !important;
    height: auto !important;
    aspect-ratio: 16 / 9 !important;
    padding: 0 !important;
    box-sizing: border-box !important;
    overflow: hidden !important;
    position: relative !important;
}

.kati-learning-course-player-page .kati-learning-course-shell .kati-learning-course-video__viewport {
    position: absolute !important;
    inset: 0 !important;
    width: 100% !important;
    height: 100% !important;
    min-height: 0 !important;
    max-height: none !important;
    aspect-ratio: 16 / 9 !important;
    box-sizing: border-box !important;
    border-radius: inherit !important;
}

.kati-learning-course-player-page .kati-learning-course-shell .kati-learning-course-video__frame,
.kati-learning-course-player-page .kati-learning-course-shell .kati-learning-course-video__frame > div,
.kati-learning-course-player-page .kati-learning-course-shell .kati-learning-course-video__frame iframe,
.kati-learning-course-player-page .kati-learning-course-shell .kati-learning-course-video__poster,
.kati-learning-course-player-page .kati-learning-course-shell .kati-learning-course-video__click-shield {
    position: absolute !important;
    inset: 0 !important;
    width: 100% !important;
    height: 100% !important;
    max-width: none !important;
    max-height: none !important;
    aspect-ratio: 16 / 9 !important;
    box-sizing: border-box !important;
    border-radius: inherit !important;
}

.kati-learning-course-player-page .kati-learning-course-shell .kati-learning-course-video__frame iframe {
    display: block !important;
    object-fit: contain !important;
}

@media (max-width: 767px) {
    .kati-learning-course-player-page .kati-learning-course-shell .kati-learning-course-video {
        width: min(100%, calc((100vh - var(--kati-course-header-height, 50px) - 150px) * 16 / 9)) !important;
        max-width: min(100%, calc((100vh - var(--kati-course-header-height, 50px) - 150px) * 16 / 9)) !important;
    }
}


/* KatiLearning 0.9.14: tighter video corner radius and non-layout frame border. */
.kati-learning-course-player-page .kati-learning-course-shell .kati-learning-course-video {
    border: 0 !important;
    border-radius: 8px !important;
    background: #000000 !important;
    outline: 1px solid rgba(148, 163, 184, 0.34) !important;
    box-shadow: 0 0 0 1px rgba(15, 23, 42, 0.18), 0 14px 34px rgba(0, 0, 0, 0.24) !important;
}

.kati-learning-course-player-page .kati-learning-course-shell .kati-learning-course-video__viewport,
.kati-learning-course-player-page .kati-learning-course-shell .kati-learning-course-video__frame,
.kati-learning-course-player-page .kati-learning-course-shell .kati-learning-course-video__frame > div,
.kati-learning-course-player-page .kati-learning-course-shell .kati-learning-course-video__frame iframe,
.kati-learning-course-player-page .kati-learning-course-shell .kati-learning-course-video__poster,
.kati-learning-course-player-page .kati-learning-course-shell .kati-learning-course-video__click-shield {
    border-radius: 8px !important;
}

.kati-learning-course-player-page .kati-learning-course-shell .kati-learning-course-video__controls {
    border-radius: 8px !important;
}


/* KatiLearning 0.9.15: center the theme/curriculum icons inside a shared action card. */
.kati-learning-course-header {
    grid-template-columns: 38px minmax(0, 1fr) auto auto !important;
}

.kati-learning-course-header__actions {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    align-self: center;
    justify-self: end;
    gap: 0;
    min-height: 38px;
    padding: 0;
    border: 1px solid rgba(255, 255, 255, 0.08);
    border-radius: 8px;
    overflow: hidden;
    background: rgba(255, 255, 255, 0.02);
}

.kati-learning-course-header__actions .kati-learning-course-icon-button {
    border-radius: 0 !important;
    align-self: stretch;
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

.kati-learning-course-header__actions .kati-learning-course-icon-button + .kati-learning-course-icon-button {
    border-left: 1px solid rgba(255, 255, 255, 0.08);
}

.kati-learning-course-theme-toggle {
    border-left: 0 !important;
    border-right: 0 !important;
}

@media (max-width: 767px) {
    .kati-learning-course-header {
        grid-template-columns: 36px minmax(0, 1fr) auto auto !important;
    }

    .kati-learning-course-header__actions {
        min-height: 36px;
    }
}


/* KatiLearning 0.9.16: restore visible light/dark icon inside centered action card. */
.kati-learning-course-header__actions .kati-learning-course-theme-icon {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 22px !important;
    height: 22px !important;
    background: none !important;
    -webkit-mask: none !important;
    mask: none !important;
    color: #e8eef7 !important;
    font-size: 22px !important;
    font-weight: 700 !important;
    line-height: 1 !important;
    text-align: center !important;
}

.kati-learning-course-header__actions .kati-learning-course-theme-icon::before {
    content: "☾";
    display: block;
    transform: translateY(-1px);
}

.kati-learning-course-header__actions .kati-learning-course-theme-icon[data-kati-learning-theme-icon-state="sun"] {
    color: #fbbf24 !important;
}

.kati-learning-course-header__actions .kati-learning-course-theme-icon[data-kati-learning-theme-icon-state="sun"]::before {
    content: "☀";
}

.kati-learning-course-header__actions .kati-learning-course-theme-icon[data-kati-learning-theme-icon-state="moon"]::before {
    content: "☾";
}


/* KatiLearning 0.9.17: keep previous/complete buttons on one row on mobile. */
.kati-learning-public-enroll-form--player {
    display: grid;
    gap: 12px;
    width: min(720px, 100%);
}

.kati-learning-public-enroll-form--player .kati-learning-public-enroll-fields {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 10px;
}

.kati-learning-public-enroll-form--player label {
    display: grid;
    gap: 6px;
    margin: 0;
}

.kati-learning-public-enroll-form--player span {
    color: #dbeafe;
    font-size: 13px;
    font-weight: 700;
}

.kati-learning-public-enroll-form--player input {
    width: 100%;
    min-height: 44px;
    padding: 9px 12px;
    border: 1px solid rgba(226,232,240,.28);
    border-radius: 12px;
    background: rgba(15,23,42,.8);
    color: #fff;
    font: inherit;
}

.kati-learning-public-enroll-form--player input:focus {
    border-color: #60a5fa;
    box-shadow: 0 0 0 3px rgba(96,165,250,.18);
    outline: 0;
}

.kati-learning-public-enroll-form--player .kati-learning-course-complete-button {
    border: 0;
    cursor: pointer;
}

@media (max-width: 767px) {
    .kati-learning-course-lesson__footer {
        display: flex;
        flex-direction: row;
        align-items: flex-start;
        justify-content: space-between;
        gap: 12px;
        flex-wrap: wrap;
    }

    .kati-learning-course-navigation {
        flex: 0 0 auto;
        justify-content: flex-start;
        margin-bottom: 0;
    }

    .kati-learning-course-lesson__actions {
        flex: 1 1 auto;
        width: auto;
        min-width: 0;
        display: flex;
        flex-direction: row;
        align-items: center;
        justify-content: flex-end;
        gap: 10px;
        margin-left: 0;
    }

    .kati-learning-course-lesson__actions form {
        flex: 1 1 auto;
        width: 100%;
        min-width: 0;
        margin: 0;
    }

    .kati-learning-public-enroll-form--player .kati-learning-public-enroll-fields {
        grid-template-columns: 1fr;
    }

    .kati-learning-course-complete-button,
    .kati-learning-course-action {
        width: 100%;
    }

    .kati-learning-course-navigation a.kati-learning-course-prev-button {
        width: auto;
        min-width: 0;
        white-space: nowrap;
        align-self: center;
    }
}


/* KatiLearning 0.14.15: keep lesson-player play triangle optically centered inside its control. */
.kati-learning-course-video__large-play {
    place-items: center !important;
}
.kati-learning-course-video__large-play > span {
    display: block;
    width: 0;
    height: 0;
    margin: 0;
}

/* KatiLearning 0.14.17:
   Keep lesson description/content readable in dark mode, including imported
   content that carries inline text colors from another LMS. Light mode keeps
   the normal/original content colors. */
.kati-learning-course-shell.is-theme-dark .kati-learning-course-content {
    color: #e5e7eb !important;
}

.kati-learning-course-shell.is-theme-dark .kati-learning-course-content :where(
    p,
    div,
    span,
    li,
    ul,
    ol,
    dl,
    dt,
    dd,
    strong,
    b,
    em,
    i,
    small,
    figcaption,
    blockquote,
    td,
    th
) {
    color: #e5e7eb !important;
}

.kati-learning-course-shell.is-theme-dark .kati-learning-course-content :where(
    h1,
    h2,
    h3,
    h4,
    h5,
    h6
) {
    color: #f8fafc !important;
}

.kati-learning-course-shell.is-theme-dark .kati-learning-course-content a {
    color: #93c5fd !important;
}

.kati-learning-course-shell.is-theme-dark .kati-learning-course-content a:hover,
.kati-learning-course-shell.is-theme-dark .kati-learning-course-content a:focus-visible {
    color: #bfdbfe !important;
}

.kati-learning-course-shell.is-theme-dark .kati-learning-course-content blockquote {
    border-color: rgba(148, 163, 184, 0.35);
}

.kati-learning-course-shell.is-theme-dark .kati-learning-course-content hr {
    border-color: rgba(148, 163, 184, 0.28);
}



/* KatiLearning 0.14.20 — YouTube chrome isolation, MasterStudy-style rendering principle.
   IMPORTANT: These selectors intentionally outrank the legacy 16:9 iframe lock above.
   The visible Kati viewport stays 16:9; only the YouTube iframe viewport becomes 200%
   high and is centered with top:-50%, matching the proven LMS technique. */
.kati-learning-course-player-page .kati-learning-course-shell .kati-learning-course-video__viewport {
    overflow: hidden !important;
}

.kati-learning-course-player-page .kati-learning-course-shell .kati-learning-course-video__frame {
    position: absolute !important;
    inset: 0 !important;
    width: 100% !important;
    height: 100% !important;
    overflow: visible !important;
    aspect-ratio: auto !important;
}

.kati-learning-course-player-page .kati-learning-course-shell .kati-learning-course-video__frame > div {
    position: absolute !important;
    inset: 0 !important;
    width: 100% !important;
    height: 100% !important;
    overflow: visible !important;
    aspect-ratio: auto !important;
}

.kati-learning-course-player-page .kati-learning-course-shell .kati-learning-course-video__frame iframe {
    position: absolute !important;
    top: -50% !important;
    right: auto !important;
    bottom: auto !important;
    left: 0 !important;
    width: 100% !important;
    height: 200% !important;
    min-width: 100% !important;
    max-width: none !important;
    min-height: 200% !important;
    max-height: none !important;
    aspect-ratio: auto !important;
    object-fit: unset !important;
    border: 0 !important;
    border-radius: 8px !important;
    pointer-events: none !important;
}

/* Transparent interaction layers equivalent to the overlays MasterStudy inserts
   around the YouTube iframe. They do not paint over or crop the edited picture. */
.kati-learning-course-player-page .kati-learning-course-shell .kati-learning-course-video__youtube-overlay {
    position: absolute !important;
    top: -50% !important;
    left: 0 !important;
    width: 100% !important;
    height: 200% !important;
    display: block !important;
    opacity: 0 !important;
    background: transparent !important;
    pointer-events: none !important;
    z-index: 2 !important;
}

.kati-learning-course-player-page .kati-learning-course-shell .kati-learning-course-video__poster { z-index: 3 !important; }
.kati-learning-course-player-page .kati-learning-course-shell .kati-learning-course-video__click-shield { z-index: 4 !important; }
.kati-learning-course-player-page .kati-learning-course-shell .kati-learning-course-video__large-play { z-index: 6 !important; }
.kati-learning-course-player-page .kati-learning-course-shell .kati-learning-course-video__controls { z-index: 8 !important; }

/* MasterStudy also relaxes the compensation for very large fullscreen surfaces. */
@media (min-width: 2560px) {
    .kati-learning-course-player-page .kati-learning-course-shell .kati-learning-course-video__viewport:fullscreen .kati-learning-course-video__frame iframe,
    .kati-learning-course-player-page .kati-learning-course-shell .kati-learning-course-video__viewport:-webkit-full-screen .kati-learning-course-video__frame iframe {
        top: -7% !important;
        height: 107% !important;
        min-height: 107% !important;
    }
}
