/* Каркас практики и полоса текущей сессии.
   Часть components/lesson-ui.css; порядок частей важен — см. static/README.md. */
/* Shared lesson UI layer used by /learn/ and /game/. */

.app-shell--learn {
    --learn-grid-min-compact: 120px;
    --learn-grid-min-modal: 240px;
    --learn-grid-gap-tight: 8px;
    --learn-grid-gap-base: 10px;
    --learn-grid-gap-loose: 14px;
    /* Game feedback color-mix aliases — used across card/button/input feedback states */
    --game-teal-border: var(--game-teal-border);
    --game-teal-surface: var(--game-teal-surface);
    --game-danger-border: var(--game-danger-border);
}

[data-learn-grid] {
    display: grid;
    gap: 24px;
    grid-template-columns: minmax(0, 1fr);
    margin-top: 24px;
}

[data-learn-grid] > * {
    min-width: 0;
}

.game-page [data-learn-grid] {
    max-width: 980px;
    margin: 28px auto 0;
    padding: 0 var(--section-padding);
    align-items: start;
}

.app-shell--learn :is([data-game-card], #game-path-recommendation, [data-step-card]) {
    --item-card-shadow: none;
}

#game-welcome .button-panel__actions {
    --button-panel-gap: 10px;
}

.learn-session-bar {
    --item-card-gap: 8px;
    --item-card-padding: 10px 12px;
    --item-card-radius: var(--surface-radius);
    --item-card-border: 1px solid var(--theme-border-normal);
    --item-card-bg: var(--theme-surface-subtle);
    --item-card-shadow: none;
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: center;
    column-gap: 12px;
    row-gap: 8px;
    width: min(100%, 920px);
    margin-inline: auto;
}

.learn-session-bar__mode {
    margin: 0;
    font-size: 18px;
    font-weight: 500;
    line-height: 1.2;
    color: var(--text-primary);
    min-width: 0;
}

.learn-session-bar__counter {
    white-space: nowrap;
    text-align: right;
}

.learn-session-bar__progress {
    grid-column: 1 / -1;
    min-width: 0;
}

.learn-session-bar__progress .progress-bar {
    display: block;
    width: 100%;
    height: 6px;
    border-radius: var(--radius-pill);
    background: var(--theme-border-normal);
    overflow: hidden;
}

#learn-session-progress-fill {
    display: block;
    height: 100%;
    width: 0;
    background: linear-gradient(90deg, rgba(var(--game-teal), 1), rgba(var(--game-sky), 1));
    transition: width 180ms ease;
}

.learn-session-inline {
    --item-card-gap: 12px;
    --item-card-padding: 14px;
    --item-card-radius: var(--surface-radius);
    --item-card-border: 1px solid var(--theme-border-normal);
    --item-card-bg: var(--theme-surface-subtle);
    --item-card-shadow: none;
    width: 100%;
}

.learn-session-inline__metrics {
    --layout-grid-min: var(--learn-grid-min-compact);
    --layout-grid-gap: var(--learn-grid-gap-tight);
}

.learn-session-inline__metrics .item-card {
    --item-card-gap: 4px;
    --item-card-padding: 10px 12px;
    --item-card-radius: var(--surface-radius);
    --item-card-border: 1px solid var(--theme-border-normal);
    --item-card-bg: var(--theme-surface-base);
    --item-card-shadow: none;
}

.learn-session-inline .button-panel__actions {
    --button-panel-gap: 8px;
}

[data-game-session-slot] > .learn-session-inline {
    margin-top: 6px;
}

#game-path-recommendation {
    --item-card-gap: 16px;
    --item-card-padding: 20px;
    --item-card-radius: var(--surface-radius);
    --item-card-border: 1px solid var(--theme-border-normal);
    --item-card-bg: var(--theme-surface-base);
    --item-card-shadow: none;
    display: grid;
    grid-template-columns: minmax(0, 1.5fr) minmax(220px, 0.9fr);
    margin-bottom: 18px;
}
