/* EvoGO Academy — shared design tokens & primitives (matte jade / paper) */
:root {
    /* Lower-saturation matte jade — zen, not admin green */
    --academy-green: #3f6350;
    --academy-green-dark: #2a4336;
    --academy-green-mid: #527a64;
    --academy-green-soft: #eaf0ec;
    --academy-green-glow: rgba(63, 99, 80, 0.08);
    /* Cream paper — refined warm-neutral */
    --academy-cream: #f9f7f3;
    --academy-cream-dark: #ebe6de;
    --academy-gold: #b8973a;
    --academy-gold-soft: #f4efdf;
    /* Stronger type contrast */
    --academy-text: #161c18;
    --academy-muted: #66756c;
    --academy-border: #e0e6e2;
    /* Soft shadow-sm feel */
    --academy-shadow: 0 1px 2px rgba(22, 28, 24, 0.03), 0 3px 10px rgba(22, 28, 24, 0.04);
    --academy-shadow-lg: 0 6px 20px rgba(22, 28, 24, 0.06);
    --academy-radius: 16px;
    --academy-radius-sm: 12px;
    --academy-radius-lg: 20px;
    /* Grounded tab bar height (content + labels) */
    --academy-tab-h: 56px;
    --academy-safe-t: env(safe-area-inset-top, 0px);
    --academy-safe-b: env(safe-area-inset-bottom, 0px);
    --academy-font: 'Nunito', 'Noto Sans SC', system-ui, sans-serif;
    --academy-display: 'Nunito', 'Noto Sans SC', system-ui, sans-serif;
    /* Soft jade paper band (light hero — not dark credit-card) */
    --academy-band: linear-gradient(165deg, #f3f7f4 0%, #eaf0ec 48%, #f9f7f3 100%);
    /* Rank accents — stay in jade family (no SaaS blue/purple) */
    --academy-kyu: #4a7a8c;
    --academy-dan: #5a6b4a;
    --academy-video: #5a6e62;
    --academy-surface: #ffffff;
    --academy-surface-soft: #f6f8f6;
}

.academy-app,
.academy-satellite,
.evo-auth-page--academy,
.puzzle-page--academy,
.dojo-page--academy {
    font-family: var(--academy-font);
    color: var(--academy-text);
    -webkit-font-smoothing: antialiased;
    -webkit-tap-highlight-color: transparent;
}

.evo-sr-only,
.academy-sr-only {
    position: absolute !important;
    width: 1px !important;
    height: 1px !important;
    padding: 0 !important;
    margin: -1px !important;
    overflow: hidden !important;
    clip: rect(0, 0, 0, 0) !important;
    clip-path: inset(50%) !important;
    white-space: nowrap !important;
    border: 0 !important;
}

.academy-brand {
    display: flex;
    align-items: center;
    gap: 10px;
}

.academy-brand__logo {
    width: 40px;
    height: 40px;
    border-radius: 12px;
    background: #0b1220;
    box-shadow: 0 2px 8px rgba(26, 31, 28, 0.12);
    flex-shrink: 0;
}

.academy-brand__icon {
    width: 40px;
    height: 40px;
    border-radius: 12px;
    background: var(--academy-green);
    color: #fff;
    display: none;
    place-items: center;
    box-shadow: 0 2px 8px var(--academy-green-glow);
}

.academy-brand__icon svg {
    width: 22px;
    height: 22px;
}

.academy-brand__name {
    font-weight: 800;
    font-size: 1.05rem;
    color: var(--academy-green-dark);
    letter-spacing: -0.02em;
    line-height: 1.2;
}
.academy-brand__ai {
    color: var(--academy-green-mid);
    font-weight: 700;
}

.academy-brand__sub {
    font-size: 0.72rem;
    color: var(--academy-muted);
    font-weight: 600;
}

/* Unified academy coach (compact bubble — fixed avatar size) */
.academy-coach-bubble {
    display: flex;
    align-items: flex-start;
    gap: 12px;
    padding: 12px 14px;
    background: var(--academy-green-soft);
    border: 1px solid rgba(63, 99, 80, 0.1);
    border-radius: var(--academy-radius-sm);
    position: relative;
}

.academy-coach-bubble__avatar {
    width: 40px;
    height: 40px;
    max-width: 40px;
    max-height: 40px;
    border-radius: 50%;
    object-fit: cover;
    object-position: top center;
    flex-shrink: 0;
    border: 2px solid #fff;
    box-shadow: 0 1px 4px rgba(26, 31, 28, 0.08);
}

.academy-coach-bubble__name {
    font-weight: 800;
    font-size: 0.82rem;
    color: var(--academy-green-dark);
    margin-bottom: 4px;
}

.academy-coach-bubble__line {
    margin: 0;
    font-size: 0.85rem;
    line-height: 1.45;
    font-weight: 600;
    color: var(--academy-text);
}

.academy-coach-bubble__mute {
    position: absolute;
    top: 8px;
    right: 8px;
    width: 2rem;
    height: 2rem;
    border-radius: 8px;
    border: 1px solid var(--academy-border);
    background: #fff;
    cursor: pointer;
    font-size: 0.9rem;
    line-height: 1;
}

/* Minimal topbar (puzzle / album / store) */
.academy-topbar {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 12px 16px;
    max-width: 520px;
    margin: 0 auto;
    background: rgba(250, 248, 245, 0.92);
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
    border-bottom: 1px solid rgba(221, 229, 223, 0.7);
    position: sticky;
    top: 0;
    z-index: 50;
}

.academy-topbar__title {
    flex: 1;
    margin: 0;
    font-size: 1.05rem;
    font-weight: 800;
    letter-spacing: -0.02em;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

/* Lang switcher */
.academy-app .evo-lang-switcher,
.evo-auth-page--academy .evo-lang-switcher,
.academy-satellite .evo-lang-switcher {
    display: flex;
    align-items: center;
    gap: 8px;
    margin: 0;
    padding: 0;
    border: none;
}

.academy-app .evo-lang-label,
.evo-auth-page--academy .evo-lang-label,
.academy-satellite .evo-lang-label {
    font-size: 0.72rem;
    font-weight: 700;
    color: var(--academy-muted);
    text-transform: uppercase;
    letter-spacing: 0.06em;
}

.academy-app .evo-lang-select,
.evo-auth-page--academy .evo-lang-select,
.academy-satellite .evo-lang-select {
    appearance: none;
    border: 1px solid var(--academy-border);
    border-radius: 10px;
    padding: 6px 28px 6px 10px;
    font-family: inherit;
    font-size: 0.82rem;
    font-weight: 700;
    color: var(--academy-green-dark);
    background: #fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%235c6b62' stroke-width='2'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E") no-repeat right 8px center;
}

/* Social auth */
.evo-auth-page--academy .evo-social {
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.evo-auth-page--academy .evo-social-btn {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    padding: 12px 16px;
    border-radius: 14px;
    border: 1px solid var(--academy-border);
    background: #fff;
    color: var(--academy-text);
    text-decoration: none;
    font-weight: 700;
    font-size: 0.9rem;
    box-shadow: var(--academy-shadow);
    transition: border-color 0.15s, transform 0.15s;
}

.evo-auth-page--academy .evo-social-btn:active {
    transform: scale(0.99);
    border-color: var(--academy-green-mid);
}

/* Legal footer */
.evo-auth-page--academy .legal-site-footer,
.academy-satellite .legal-site-footer {
    margin-top: 20px;
    text-align: center;
}

.evo-auth-page--academy .legal-site-footer__nav,
.academy-satellite .legal-site-footer__nav {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 8px 14px;
    margin-bottom: 8px;
}

.evo-auth-page--academy .legal-site-footer__nav a,
.academy-satellite .legal-site-footer__nav a {
    color: var(--academy-muted);
    font-size: 0.75rem;
    font-weight: 600;
    text-decoration: none;
}

.evo-auth-page--academy .legal-site-footer__copy,
.academy-satellite .legal-site-footer__copy {
    font-size: 0.72rem;
    color: var(--academy-muted);
    margin: 0;
}

/* Shared form controls in academy scope */
.academy-app .evo-input,
.academy-satellite .evo-input,
.evo-auth-page--academy .evo-input,
.academy-app .evo-select,
.academy-satellite .evo-select,
.evo-auth-page--academy .evo-select {
    width: 100%;
    max-width: 100%;
    box-sizing: border-box;
    padding: 12px 14px;
    border: 1px solid var(--academy-border);
    border-radius: var(--academy-radius-sm);
    font-family: inherit;
    font-size: 1rem;
    font-weight: 600;
    background: var(--academy-cream);
    color: var(--academy-text);
}

.academy-app .evo-input:focus,
.academy-satellite .evo-input:focus,
.evo-auth-page--academy .evo-input:focus {
    outline: none;
    border-color: var(--academy-green);
    background: #fff;
}

.academy-app .evo-btn-primary,
.academy-satellite .evo-btn-primary,
.evo-auth-page--academy .evo-btn-primary {
    background: var(--academy-green);
    border: none;
    color: #fff;
    font-weight: 800;
    border-radius: 14px;
    box-shadow: 0 2px 8px rgba(63, 99, 80, 0.18);
}

.academy-app .evo-btn-ghost,
.academy-satellite .evo-btn-ghost,
.evo-auth-page--academy .evo-btn-ghost {
    background: rgba(63, 99, 80, 0.06);
    border: 1px solid transparent;
    color: var(--academy-green-dark);
    font-weight: 700;
    border-radius: 12px;
}

.academy-app .evo-muted,
.academy-satellite .evo-muted,
.puzzle-page--academy .evo-muted {
    color: var(--academy-muted) !important;
}
