/* CW Academy Session Player */

.academy-session-player-shell {
    background: linear-gradient(135deg, rgba(17, 24, 39, 0.95) 0%, rgba(31, 41, 55, 0.95) 100%);
    border: 1px solid #374151;
}

.academy-session-nav {
    scroll-margin-top: 5.5rem;
}

@media (min-width: 768px) {
    .academy-session-nav {
        position: sticky;
        top: 5.5rem;
        z-index: 20;
        backdrop-filter: blur(6px);
    }

    body.academy-browser-edge .academy-session-nav {
        position: static;
        top: auto;
        z-index: auto;
    }
}

.academy-session-nav-chip {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0.35rem 0.7rem;
    border-radius: 9999px;
    border: 1px solid #4b5563;
    background: #111827;
    color: #d1d5db;
    font-size: 0.75rem;
    font-weight: 600;
    transition: all 120ms ease;
}

.academy-session-nav-chip:hover {
    border-color: #60a5fa;
    color: #dbeafe;
    background: #1e3a8a;
}

#plan-progress-section,
#plan-coach-section,
#plan-mission-board-card,
#plan-warmup-section,
#plan-reflection-section,
#plan-readiness-section,
#plan-modules-section {
    scroll-margin-top: 6rem;
}

.academy-session-tool > summary {
    list-style: none;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.5rem;
    color: #e5e7eb;
}

.academy-session-tool > summary::-webkit-details-marker {
    display: none;
}

.academy-session-tool > summary::after {
    content: "+";
    color: #93c5fd;
    font-size: 1rem;
    line-height: 1;
}

.academy-session-tool[open] > summary::after {
    content: "\2212";
}

.academy-session-tool-title {
    font-size: 0.78rem;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    font-weight: 700;
    color: #9ca3af;
}

.academy-session-tool-subtitle {
    font-size: 0.72rem;
    color: #6b7280;
}

.academy-session-tool-body {
    margin-top: 0.55rem;
}

.academy-section-drilldown {
    border: 1px solid #374151;
    border-radius: 0.65rem;
    background: #111827;
}

.academy-section-drilldown > summary {
    list-style: none;
    cursor: pointer;
    font-size: 0.7rem;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    font-weight: 600;
    color: #93c5fd;
    padding: 0.6rem 0.75rem;
}

.academy-section-drilldown > summary::before {
    content: "\25B8";
    margin-right: 0.35rem;
    display: inline-block;
    transition: transform 120ms ease;
}

.academy-section-drilldown[open] > summary::before {
    transform: rotate(90deg);
}

.academy-section-drilldown[open] > summary {
    color: #bfdbfe;
}

.academy-section-drilldown > summary::-webkit-details-marker {
    display: none;
}

.academy-section-checklist {
    margin: 0 0.75rem 0.75rem;
    display: grid;
    gap: 0.4rem;
    font-size: 0.74rem;
}

.academy-section-checklist-item {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.5rem;
    color: #d1d5db;
}

.academy-section-checklist-badge {
    border-radius: 9999px;
    border: 1px solid #4b5563;
    font-size: 0.64rem;
    line-height: 1;
    padding: 0.18rem 0.45rem;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    font-weight: 700;
}

.academy-section-progress-track {
    height: 0.34rem;
    border-radius: 9999px;
    border: 1px solid #374151;
    background: #030712;
    overflow: hidden;
}

.academy-section-progress-fill {
    height: 100%;
    border-radius: 9999px;
    background: linear-gradient(90deg, #10b981 0%, #38bdf8 100%);
    transition: width 180ms ease;
}

.academy-stage-lane-hidden {
    display: none !important;
}
