/* JuntoVerse Unified Learner Dashboard
   Dashboard-only visual enhancements. */

body:has(#stat-activities) .jv2-hero {
    padding-top: 52px;
    padding-bottom: 24px;
}

body:has(#stat-activities) .jv2-hero h1 {
    max-width: 850px;
    font-size: clamp(2.5rem, 5vw, 4.3rem);
    line-height: 1.08;
}

body:has(#stat-activities) .jv2-hero p {
    max-width: 720px;
}

body:has(#stat-activities) .jv2-topnav {
    gap: 9px;
    margin: 14px 0 28px;
    padding-bottom: 5px;
}

body:has(#stat-activities) .jv2-topnav a {
    transition: background .2s ease, border-color .2s ease;
}

body:has(#stat-activities) .jv2-panel {
    position: relative;
    overflow: hidden;
    border-color: rgba(148, 183, 237, .22);
    background:
        radial-gradient(
            circle at 100% 0%,
            rgba(105, 234, 214, .055),
            transparent 42%
        ),
        linear-gradient(145deg, #172344, #101a34 85%);
    box-shadow: 0 14px 38px rgba(0, 0, 0, .12);
    transition: border-color .2s ease;
}

body:has(#stat-activities) .jv2-panel h2 {
    font-size: clamp(1.35rem, 2.2vw, 1.8rem);
    letter-spacing: -.025em;
}

body:has(#stat-activities) .jv2-stats {
    gap: 12px;
}

body:has(#stat-activities) .jv2-stat {
    min-width: 0;
    border: 1px solid rgba(148, 183, 237, .14);
    background: rgba(8, 17, 39, .48);
    padding: 18px;
}

body:has(#stat-activities) .jv2-stat strong {
    font-size: clamp(1.65rem, 3vw, 2.25rem);
    line-height: 1.2;
    overflow-wrap: anywhere;
}

body:has(#stat-activities) #dash-next-link {
    box-shadow: 0 6px 22px rgba(40, 181, 174, .12);
}

body:has(#stat-activities) #dash-history > p {
    padding: 12px 0;
    margin: 0;
    border-bottom: 1px solid rgba(148, 183, 237, .12);
}

body:has(#stat-activities) #dash-history > p:last-child {
    border-bottom: 0;
}

body:has(#stat-activities) .jv21-reco {
    background: rgba(8, 17, 39, .34);
    border-color: rgba(148, 183, 237, .17);
    transition: border-color .2s ease, background .2s ease;
}

body:has(#stat-activities) .jv21-reco:hover {
    border-color: rgba(105, 234, 214, .4);
    background: rgba(105, 234, 214, .045);
}

body:has(#stat-activities) .jv21-topic {
    padding: 13px;
    border: 1px solid rgba(148, 183, 237, .12);
    border-radius: 13px;
    background: rgba(8, 17, 39, .25);
}

body:has(#stat-activities) .jv2-progress {
    height: 8px;
}

body:has(#stat-activities) a:focus-visible,
body:has(#stat-activities) button:focus-visible {
    outline: 3px solid var(--aqua);
    outline-offset: 4px;
}

@media (max-width: 620px) {
    body:has(#stat-activities) .jv2-hero {
        padding-top: 34px;
    }

    body:has(#stat-activities) .jv2-stats {
        grid-template-columns: 1fr;
    }

    body:has(#stat-activities) .jv2-stat {
        padding: 15px;
    }

    body:has(#stat-activities) .jv2-stat strong {
        font-size: 1.8rem;
    }

    body:has(#stat-activities) .jv21-reco .jv2-btn {
        width: 100%;
        text-align: center;
    }
}

@media (prefers-reduced-motion: reduce) {
    body:has(#stat-activities) *,
    body:has(#stat-activities) *::before,
    body:has(#stat-activities) *::after {
        transition: none !important;
        animation: none !important;
    }
}
/* Phase 7 Step 410: Dashboard quick-start, scoped to the Dashboard only. */
.jv410-start{margin:18px 0 24px;padding:clamp(22px,3vw,34px);border:1px solid rgba(155,181,240,.25);border-radius:24px;background:radial-gradient(circle at 85% 5%,rgba(105,234,214,.12),transparent 38%),linear-gradient(120deg,#202b57,#111b38);box-shadow:0 16px 42px rgba(0,0,0,.16)}
.jv410-start-head{display:flex;justify-content:space-between;align-items:center;gap:18px;flex-wrap:wrap}
.jv410-start h2{font-size:clamp(1.55rem,3vw,2.2rem);margin:9px 0 7px;line-height:1.15}
.jv410-start p{margin:0;color:#c9d5ed;max-width:52ch}
.jv410-actions{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-top:23px}
.jv410-actions a{display:flex;flex-direction:column;gap:7px;min-width:0;padding:18px 15px;border:1px solid rgba(171,190,239,.19);border-radius:16px;background:rgba(7,14,34,.43);color:#f7f9ff;text-decoration:none;transition:transform .18s,border-color .18s,background .18s}
.jv410-actions a:hover{transform:translateY(-3px);border-color:rgba(105,234,214,.65);background:rgba(30,49,84,.68)}
.jv410-actions a>span{font-size:1.45rem;color:#84e8dd;line-height:1.1}
.jv410-actions strong{font-size:1rem;line-height:1.25}
.jv410-actions small{font-size:.82rem;color:#bfcae0;line-height:1.4}
.jv410-actions a:focus-visible{outline:3px solid #69ead6;outline-offset:3px}
@media(max-width:850px){.jv410-actions{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:480px){.jv410-actions{grid-template-columns:1fr}.jv410-start{border-radius:18px}.jv410-actions a{padding:15px}}
@media(prefers-reduced-motion:reduce){.jv410-actions a{transition:none}.jv410-actions a:hover{transform:none}}

/* Phase 7 Step 410C — recorded learning activity */
.jv410c-chart{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:clamp(6px,1.5vw,16px);align-items:end;min-height:205px;padding:20px 12px 12px;border:1px solid rgba(148,183,237,.17);border-radius:18px;background:rgba(8,17,39,.32)}
.jv410c-day{display:flex;flex-direction:column;align-items:center;justify-content:end;gap:7px;min-width:0;text-align:center}
.jv410c-number{font-size:.78rem;color:#e3ebff;font-variant-numeric:tabular-nums}
.jv410c-track{width:min(100%,44px);height:126px;display:flex;align-items:end;justify-content:center;border-radius:10px;background:rgba(148,183,237,.075);overflow:hidden}
.jv410c-bar{display:block;width:100%;min-height:0;border-radius:9px 9px 0 0;background:linear-gradient(180deg,#69ead6,#8b78e8)}
.jv410c-day-label{font-size:.77rem;color:#d1ddf6;white-space:nowrap}
.jv410c-day.today .jv410c-day-label{font-weight:800;color:#69ead6}
.jv410c-footnote{color:#b8c7e6;font-size:.83rem;margin:12px 0}
.jv410c-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:14px}
.jv410c-tile{padding:15px;border-radius:14px;border:1px solid rgba(148,183,237,.15);background:rgba(8,17,39,.28)}
.jv410c-tile strong{display:block;font-size:1.5rem;color:#f5f7ff;font-variant-numeric:tabular-nums}
.jv410c-tile span{display:block;color:#c0cde6;font-size:.8rem;margin-top:4px}
@media(max-width:600px){.jv410c-chart{gap:4px;padding:15px 5px 10px}.jv410c-track{height:100px}.jv410c-summary{grid-template-columns:1fr}.jv410c-day-label{font-size:.68rem}}
