/* Restore the compact Home layout shown in the reference screenshot. */
body.kanau-has-global-topbar #home-app {
    margin: 0 auto;
    max-width: none;
    min-height: 100vh;
    padding: 0;
    width: 100%;
}

body.kanau-has-global-topbar #page-materials.page.active {
    display: block;
    min-height: 100vh;
    padding: calc(var(--kanau-topbar-height, 64px) + var(--kanau-topbar-offset, 16px) * 2 + 28px) 22px 132px;
}

body.kanau-has-global-topbar .home-local-topbar {
    align-items: center;
    display: grid;
    grid-template-columns: 1fr auto 1fr;
    margin: 0 auto 22px;
    max-width: 520px;
    min-height: 42px;
    width: 100%;
}

body.kanau-has-global-topbar .topbar-calendar {
    grid-column: 3;
    justify-self: end;
}

body.kanau-has-global-topbar #home-overview {
    display: block;
    margin: 0 auto;
    max-width: 520px;
    min-height: 0;
    padding-bottom: 40px;
    width: 100%;
}

body.kanau-has-global-topbar .tree-card {
    align-items: initial;
    background: rgba(255, 255, 255, 0.9);
    border: 0;
    border-radius: 24px;
    box-shadow: 0 12px 26px rgba(83, 78, 70, 0.08);
    display: block;
    margin: 0 auto 16px;
    min-height: 300px;
    overflow: visible;
    padding: 24px 18px 18px;
    position: relative;
    width: min(248px, 76vw);
}

body.kanau-has-global-topbar .tree-card::before,
body.kanau-has-global-topbar .tree-card::after,
body.kanau-has-global-topbar .home-mascot {
    display: none;
}

body.kanau-has-global-topbar .pinecone-count {
    margin: 0 0 18px;
    position: static;
}

body.kanau-has-global-topbar .pinecone-count strong {
    color: #777b72;
    font-size: 18px;
    letter-spacing: 0;
}

body.kanau-has-global-topbar .growth-tree {
    flex: initial;
    height: 232px;
    margin: 0;
    max-width: none;
    transform: none;
}

body.kanau-has-global-topbar .daily-goal-panel {
    background: transparent;
    border: 0;
    border-radius: 0;
    box-shadow: none;
    margin: 6px 0 0;
    padding: 0;
    position: static;
    text-align: left;
}

body.kanau-has-global-topbar .daily-goal-bar {
    background: #eeeae3;
    height: 8px;
}

body.kanau-has-global-topbar .daily-goal-fill {
    background: #8fa88f;
}

body.kanau-has-global-topbar .home-hub-actions {
    display: grid;
    gap: 18px;
    grid-template-columns: 1fr 1fr;
    margin-top: 18px;
    min-height: 148px;
}

body.kanau-has-global-topbar .hub-action {
    align-items: center;
    border: 0;
    border-radius: 18px;
    box-shadow: none;
    display: flex;
    flex-direction: column;
    gap: 8px;
    justify-content: center;
    min-height: 142px;
    overflow: visible;
    padding: 18px 10px;
    text-align: center;
}

body.kanau-has-global-topbar .hub-action::before {
    display: none;
}

body.kanau-has-global-topbar .hub-action-icon {
    border-radius: 13px;
    display: grid;
    flex: initial;
    height: 44px;
    margin-bottom: 8px;
    place-items: center;
    width: 44px;
}

body.kanau-has-global-topbar .hub-action-title {
    color: #494b48;
    font-size: 13px;
    font-weight: 800;
    letter-spacing: 0;
    line-height: 1.1;
    margin-top: 0;
    overflow-wrap: normal;
    word-break: normal;
}

body.kanau-has-global-topbar .hub-action-meta {
    color: #8b8d88;
    font-size: 11px;
    font-weight: 700;
    line-height: 1.4;
    margin-top: 0;
    overflow-wrap: normal;
}

body.kanau-has-global-topbar .bottom-nav {
    bottom: 0;
    max-width: 520px;
    padding-bottom: 10px;
    width: 100%;
}

body.kanau-has-global-topbar #page-mypage.page.active {
    display: block;
    margin: 0 auto;
    max-width: 760px;
    min-height: 100vh;
    padding: calc(var(--kanau-topbar-height, 64px) + var(--kanau-topbar-offset, 16px) * 2 + 56px) clamp(28px, 6vw, 56px) 152px;
    text-align: left;
    width: 100%;
}

body.kanau-has-global-topbar #page-mypage .profile-page-header {
    margin: 0 0 22px;
}

body.kanau-has-global-topbar #page-mypage .profile-page-header .page-kanau-btn {
    display: none;
}

body.kanau-has-global-topbar #page-mypage .profile-page-header h1 {
    color: #343834;
    font-size: clamp(30px, 4vw, 42px);
    line-height: 1.05;
    margin: 0;
}

body.kanau-has-global-topbar #page-mypage .profile-summary-card {
    border-radius: 18px;
    margin-bottom: 28px;
    padding: clamp(22px, 4vw, 34px);
}

body.kanau-has-global-topbar #page-mypage .profile-achievement-grid {
    gap: 18px;
}

body.kanau-has-global-topbar #page-mypage .profile-achievement {
    min-height: 96px;
    padding: 18px;
}

body.kanau-has-global-topbar #page-mypage .profile-menu {
    gap: 0;
    margin-top: 26px;
}

body.kanau-has-global-topbar #page-mypage .profile-menu-row {
    min-height: 72px;
    padding: 18px 4px;
}

@media (max-width: 640px) {
    body.kanau-has-global-topbar #page-mypage.page.active {
        padding: calc(var(--kanau-topbar-height, 64px) + var(--kanau-topbar-offset, 16px) * 2 + 44px) 24px 148px;
    }

    body.kanau-has-global-topbar #page-mypage .profile-achievement-grid {
        grid-template-columns: 1fr;
    }
}

/* Home hero rebuild: layered full-screen growth tree stage. */
body.kanau-has-global-topbar #page-materials.page.active {
    background:
        radial-gradient(circle at 50% 18%, rgba(255, 255, 255, 0.82), transparent 36%),
        radial-gradient(circle at 16% 32%, rgba(167, 190, 167, 0.28), transparent 30%),
        linear-gradient(180deg, #fbfaf6 0%, #f5f1e8 55%, #eee6d8 100%);
    display: flex;
    flex-direction: column;
    justify-content: center;
    min-height: 100vh;
    overflow: hidden;
    padding: 0;
    position: relative;
}

body.kanau-has-global-topbar .home-local-topbar {
    display: none;
}

body.kanau-has-global-topbar #home-overview.home-hero-shell {
    align-items: center;
    display: flex;
    flex-direction: column;
    height: 100vh;
    justify-content: space-between;
    margin: 0;
    max-width: none;
    min-height: 620px;
    overflow: hidden;
    padding: calc(var(--kanau-topbar-height, 64px) + var(--kanau-topbar-offset, 16px) + 34px) clamp(18px, 4vw, 48px) 128px;
    position: relative;
    width: 100vw;
}

.tree-stage {
    align-items: center;
    bottom: 0;
    display: flex;
    flex-direction: column;
    inset-inline: 0;
    justify-content: flex-end;
    pointer-events: none;
    position: absolute;
    top: 0;
    z-index: 0;
}

.hero-tree-canopy {
    align-items: center;
    display: flex;
    flex-direction: column;
    height: 85vh;
    justify-content: flex-end;
    max-width: min(760px, 112vw);
    transform-origin: bottom center;
    width: 100%;
}

@keyframes treeBloomGrow {
    0% {
        opacity: 0;
        transform: scale(0.2) translateY(120px);
    }

    60% {
        opacity: 1;
        transform: scale(1.04) translateY(-10px);
    }

    80% {
        transform: scale(0.98) translateY(4px);
    }

    100% {
        opacity: 1;
        transform: scale(1) translateY(0);
    }
}

.animate-tree-grow {
    animation: treeBloomGrow 1.4s cubic-bezier(0.34, 1.56, 0.64, 1) both;
}

.tree-crown {
    height: min(66vh, 620px);
    max-height: 620px;
    position: relative;
    width: min(720px, 108vw);
}

.tree-crown::before {
    background:
        linear-gradient(150deg, rgba(255, 255, 255, 0.18), transparent 42%),
        linear-gradient(180deg, rgba(98, 128, 98, 0.92), rgba(73, 103, 80, 0.94));
    border-radius: 48% 52% 45% 55% / 44% 42% 58% 56%;
    box-shadow:
        inset 0 -40px 90px rgba(44, 74, 54, 0.16),
        0 48px 120px rgba(83, 98, 75, 0.2);
    content: "";
    inset: 8% 7% 0;
    position: absolute;
}

.tree-crown::after {
    background:
        radial-gradient(circle at 52% 12%, rgba(245, 239, 214, 0.26), transparent 10%),
        radial-gradient(circle at 22% 36%, rgba(192, 211, 178, 0.38), transparent 18%),
        radial-gradient(circle at 78% 32%, rgba(180, 202, 164, 0.34), transparent 20%),
        radial-gradient(circle at 50% 72%, rgba(54, 86, 62, 0.24), transparent 26%);
    content: "";
    inset: 0;
    position: absolute;
}

.tree-crown-lobe {
    background: rgba(103, 134, 99, 0.92);
    border-radius: 999px;
    box-shadow: inset -16px -20px 44px rgba(48, 82, 55, 0.14);
    position: absolute;
}

.crown-a {
    height: 34%;
    left: 4%;
    top: 32%;
    width: 32%;
}

.crown-b {
    background: rgba(124, 153, 112, 0.94);
    height: 38%;
    left: 20%;
    top: 10%;
    width: 36%;
}

.crown-c {
    background: rgba(91, 125, 91, 0.94);
    height: 42%;
    right: 12%;
    top: 14%;
    width: 40%;
}

.crown-d {
    background: rgba(139, 163, 121, 0.92);
    bottom: 20%;
    height: 30%;
    right: 2%;
    width: 30%;
}

.crown-e {
    background: rgba(73, 111, 82, 0.9);
    bottom: 0;
    height: 34%;
    left: 24%;
    width: 52%;
}

.tree-crown-vein {
    background: rgba(238, 232, 202, 0.32);
    border-radius: 999px;
    height: 3px;
    position: absolute;
    transform-origin: left center;
    z-index: 2;
}

.vein-a {
    left: 28%;
    top: 46%;
    transform: rotate(-18deg);
    width: 22%;
}

.vein-b {
    left: 46%;
    top: 36%;
    transform: rotate(22deg);
    width: 25%;
}

.vein-c {
    left: 38%;
    top: 65%;
    transform: rotate(8deg);
    width: 30%;
}

.tree-trunk-hourglass {
    align-items: flex-end;
    background:
        linear-gradient(180deg, rgba(255, 255, 255, 0.32), rgba(255, 255, 255, 0.16)),
        linear-gradient(90deg, rgba(124, 96, 67, 0.7), rgba(204, 162, 108, 0.58), rgba(116, 83, 55, 0.72));
    border: 2px solid rgba(255, 255, 255, 0.52);
    border-radius: 48px;
    box-shadow:
        inset 0 4px 12px rgba(0, 0, 0, 0.08),
        0 8px 24px rgba(0, 0, 0, 0.06);
    display: flex;
    height: clamp(132px, 21vh, 180px);
    justify-content: center;
    margin-top: -46px;
    overflow: hidden;
    padding: 10px;
    pointer-events: auto;
    position: relative;
    width: clamp(82px, 12vw, 106px);
    z-index: 10;
    -webkit-backdrop-filter: blur(8px);
    backdrop-filter: blur(8px);
}

.tree-trunk-hourglass::before,
.tree-trunk-hourglass::after {
    background: rgba(255, 255, 255, 0.36);
    content: "";
    height: 38%;
    left: 50%;
    position: absolute;
    transform: translateX(-50%);
    width: 42%;
}

.tree-trunk-hourglass::before {
    border-radius: 0 0 30px 30px;
    top: 16px;
}

.tree-trunk-hourglass::after {
    border-radius: 30px 30px 0 0;
    bottom: 16px;
}

.hourglass-glass {
    align-items: flex-end;
    display: flex;
    height: 100%;
    justify-content: center;
    overflow: hidden;
    position: relative;
    width: 100%;
    z-index: 2;
}

.pinecone-stack {
    align-content: flex-end;
    display: flex;
    flex-wrap: wrap-reverse;
    gap: 4px;
    justify-content: center;
    width: 100%;
}

.hourglass-pinecone {
    animation: pineconePop 0.42s ease-out both;
    animation-delay: var(--pinecone-delay, 0ms);
    background:
        radial-gradient(circle at 50% 24%, rgba(255, 221, 151, 0.82) 0 10%, transparent 11%),
        linear-gradient(145deg, #d4a373, #8c5b2e);
    border-radius: 52% 52% 46% 46%;
    box-shadow: inset -3px -4px 0 rgba(80, 47, 20, 0.18), 0 0 12px rgba(212, 163, 115, 0.32);
    display: block;
    height: 17px;
    position: relative;
    width: 14px;
}

.hourglass-pinecone::before {
    background: #6f4627;
    border-radius: 999px 999px 4px 4px;
    content: "";
    height: 5px;
    left: 2px;
    position: absolute;
    top: -3px;
    width: 10px;
}

.pinecone-2,
.pinecone-5 {
    transform: rotate(-8deg);
}

.pinecone-3 {
    transform: rotate(9deg);
}

@keyframes pineconePop {
    from {
        opacity: 0;
        transform: translateY(10px) scale(0.72);
    }

    to {
        opacity: 1;
        transform: translateY(0) scale(1);
    }
}

.tree-root-shadow {
    background: radial-gradient(ellipse, rgba(79, 72, 57, 0.18), transparent 68%);
    height: 46px;
    margin-top: -10px;
    width: min(420px, 72vw);
}

body.kanau-has-global-topbar .home-hero-copy {
    align-items: center;
    display: flex;
    flex-direction: column;
    max-width: 680px;
    position: relative;
    text-align: center;
    width: 100%;
    z-index: 20;
}

.home-hero-copy h1 {
    color: #292524;
    font-size: clamp(38px, 6vw, 64px);
    font-weight: 900;
    letter-spacing: 0;
    line-height: 1.02;
    margin: 0;
}

.home-hero-copy h1 span {
    color: #2f6f55;
}

body.kanau-has-global-topbar .pinecone-count {
    align-items: center;
    background: rgba(255, 255, 255, 0.8);
    border: 1px solid rgba(214, 211, 209, 0.6);
    border-radius: 999px;
    box-shadow: 0 8px 22px rgba(68, 63, 54, 0.08);
    display: inline-flex;
    gap: 8px;
    justify-content: center;
    margin: 18px 0 0;
    min-height: 42px;
    padding: 8px 16px;
    position: relative;
    -webkit-backdrop-filter: blur(16px);
    backdrop-filter: blur(16px);
}

body.kanau-has-global-topbar .pinecone-count strong {
    color: #44403c;
    font-size: 16px;
    font-weight: 900;
    letter-spacing: 0;
}

.pinecone-count-icon {
    font-size: 20px;
    line-height: 1;
}

body.kanau-has-global-topbar .pinecone-count span:last-child {
    color: #a8a29e;
    font-size: 11px;
    font-weight: 800;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

body.kanau-has-global-topbar .daily-goal-panel {
    background: transparent;
    border: 0;
    box-shadow: none;
    margin: 16px 0 0;
    max-width: 280px;
    padding: 0;
    width: min(280px, 70vw);
}

body.kanau-has-global-topbar .daily-goal-bar {
    background: rgba(214, 211, 209, 0.7);
    border-radius: 999px;
    height: 8px;
    overflow: hidden;
    width: 100%;
}

body.kanau-has-global-topbar .daily-goal-fill {
    background: #2f6f55;
    border-radius: inherit;
    height: 100%;
    transition: width 1s ease;
}

body.kanau-has-global-topbar .daily-goal-meta,
body.kanau-has-global-topbar .daily-goal-status-line {
    color: #a8a29e;
    display: flex;
    font-size: 12px;
    font-weight: 700;
    justify-content: space-between;
    line-height: 1.4;
    margin-top: 6px;
    width: 100%;
}

body.kanau-has-global-topbar .daily-goal-meta strong {
    color: #78716c;
    font-size: 12px;
}

body.kanau-has-global-topbar .daily-goal-status-line {
    gap: 10px;
    justify-content: center;
    opacity: 0.82;
}

body.kanau-has-global-topbar .home-hub-actions {
    display: grid;
    gap: 16px;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    margin: 0;
    max-width: 640px;
    min-height: 0;
    position: relative;
    width: min(640px, 100%);
    z-index: 20;
}

body.kanau-has-global-topbar .hub-action {
    align-items: stretch;
    background: rgba(255, 255, 255, 0.9);
    border: 1px solid rgba(255, 255, 255, 0.58);
    border-radius: 20px;
    box-shadow: 0 18px 44px rgba(75, 68, 58, 0.14);
    display: flex;
    flex-direction: column;
    height: 144px;
    justify-content: space-between;
    min-height: 0;
    padding: 20px;
    text-align: left;
    transition: transform 0.22s ease, box-shadow 0.22s ease, color 0.22s ease;
    -webkit-backdrop-filter: blur(22px);
    backdrop-filter: blur(22px);
}

body.kanau-has-global-topbar .hub-action:hover {
    box-shadow: 0 24px 54px rgba(75, 68, 58, 0.18);
    transform: translateY(-4px);
}

body.kanau-has-global-topbar .hub-action::before {
    display: none;
}

body.kanau-has-global-topbar .hub-action-icon {
    align-items: center;
    border-radius: 14px;
    display: flex;
    height: 42px;
    justify-content: center;
    margin: 0;
    width: 42px;
}

body.kanau-has-global-topbar .hub-action-icon svg {
    height: 23px;
    width: 23px;
}

body.kanau-has-global-topbar .hub-action-language .hub-action-icon {
    background: #ecf8ef;
    color: #2f6f55;
}

body.kanau-has-global-topbar .hub-action-revision .hub-action-icon {
    background: #fff3dc;
    color: #b87232;
}

.hub-action-copy {
    display: grid;
    gap: 4px;
}

body.kanau-has-global-topbar .hub-action-title {
    color: #292524;
    font-size: 18px;
    font-weight: 850;
    letter-spacing: 0;
    line-height: 1.15;
}

body.kanau-has-global-topbar .hub-action-language:hover .hub-action-title {
    color: #2f6f55;
}

body.kanau-has-global-topbar .hub-action-revision:hover .hub-action-title {
    color: #b87232;
}

body.kanau-has-global-topbar .hub-action-meta {
    color: #a8a29e;
    font-size: 12px;
    font-weight: 700;
    line-height: 1.35;
}

body.kanau-has-global-topbar .bottom-nav {
    bottom: 20px;
    z-index: 30;
}

@media (max-width: 760px) {
    body.kanau-has-global-topbar #home-overview.home-hero-shell {
        min-height: 620px;
        padding-left: 16px;
        padding-right: 16px;
        padding-top: calc(var(--kanau-topbar-height, 64px) + var(--kanau-topbar-offset, 12px) + 28px);
    }

    .hero-tree-canopy {
        height: 82vh;
        max-width: 116vw;
    }

    .tree-crown {
        height: min(58vh, 520px);
        width: 112vw;
    }

    .home-hero-copy h1 {
        font-size: clamp(34px, 10vw, 48px);
    }

    body.kanau-has-global-topbar .home-hub-actions {
        gap: 12px;
    }

    body.kanau-has-global-topbar .hub-action {
        height: 136px;
        padding: 16px;
    }
}

@media (max-height: 740px) {
    body.kanau-has-global-topbar #home-overview.home-hero-shell {
        min-height: 560px;
        padding-bottom: 104px;
        padding-top: calc(var(--kanau-topbar-height, 64px) + var(--kanau-topbar-offset, 16px) + 20px);
    }

    .tree-crown {
        height: min(52vh, 470px);
    }

    .tree-trunk-hourglass {
        height: 126px;
    }

    body.kanau-has-global-topbar .hub-action {
        height: 124px;
    }
}

/* Premium University Language Bridge dashboard */
body:has(#home-overview) {
    background:
        radial-gradient(circle at 14% 12%, rgba(130, 168, 154, 0.18), transparent 30%),
        radial-gradient(circle at 88% 20%, rgba(198, 182, 235, 0.22), transparent 26%),
        linear-gradient(135deg, #fbf8f0 0%, #f3ebdc 58%, #e8dcc8 100%);
}

body:has(#home-overview) #kanau-global-topbar {
    display: flex;
}

body.kanau-has-global-topbar #page-materials.page.active,
#page-materials.page.active {
    background:
        radial-gradient(circle at 20% 16%, rgba(130, 168, 154, 0.18), transparent 28%),
        radial-gradient(circle at 78% 8%, rgba(198, 182, 235, 0.2), transparent 24%),
        linear-gradient(135deg, #fbf8f0 0%, #f4eddf 52%, #eadfcd 100%);
    display: flex;
    flex-direction: column;
    min-height: 100vh;
    overflow: hidden;
    padding: 0;
    position: relative;
}

body.kanau-has-global-topbar .home-local-topbar,
.home-local-topbar {
    align-items: center;
    display: flex;
    height: 72px;
    justify-content: space-between;
    left: 32px;
    position: fixed;
    right: 32px;
    top: 22px;
    z-index: 80;
}

.kanau-home-btn {
    align-items: baseline;
    border: 0;
    color: #1f3d2e;
    display: inline-flex;
    gap: 14px;
    grid-column: auto;
    letter-spacing: 0;
}

.kanau-home-btn span {
    font-size: 23px;
    font-weight: 950;
    letter-spacing: 0.14em;
}

.kanau-home-btn small {
    color: rgba(47, 74, 58, 0.68);
    font-size: 11px;
    font-weight: 850;
    letter-spacing: 0.18em;
}

.home-topbar-actions {
    align-items: center;
    display: inline-flex;
    gap: 12px;
}

.topbar-language {
    background: rgba(255, 253, 247, 0.72);
    border: 1px solid rgba(127, 154, 130, 0.24);
    box-shadow: 0 12px 34px rgba(72, 63, 49, 0.08);
    grid-column: auto;
    min-height: 42px;
    padding: 0 13px;
    -webkit-backdrop-filter: blur(22px);
    backdrop-filter: blur(22px);
}

.university-access-btn,
.home-primary-cta,
.home-secondary-cta {
    border: 0;
    cursor: pointer;
    font-weight: 850;
    letter-spacing: 0;
}

.university-access-btn {
    background: #1f3d2e;
    border-radius: 999px;
    box-shadow: 0 16px 34px rgba(31, 61, 46, 0.18);
    color: #fffdf7;
    min-height: 42px;
    padding: 0 18px;
}

body.kanau-has-global-topbar #home-overview.home-hero-shell,
#home-overview.home-hero-shell {
    display: grid;
    gap: 24px;
    grid-template-columns: minmax(280px, 0.9fr) minmax(420px, 1.22fr) minmax(260px, 0.78fr);
    grid-template-rows: 1fr auto;
    height: 100vh;
    margin: 0;
    max-width: none;
    min-height: 760px;
    overflow: hidden;
    padding: 126px clamp(28px, 4vw, 64px) 108px;
    position: relative;
    width: 100vw;
}

#home-overview.home-hero-shell::before {
    background:
        linear-gradient(rgba(127, 154, 130, 0.08) 1px, transparent 1px),
        linear-gradient(90deg, rgba(127, 154, 130, 0.08) 1px, transparent 1px);
    background-size: 42px 42px;
    content: "";
    inset: 0;
    mask-image: radial-gradient(circle at 50% 48%, black, transparent 72%);
    opacity: 0.7;
    pointer-events: none;
    position: absolute;
}

body.kanau-has-global-topbar .home-hero-copy,
.home-hero-copy {
    align-items: flex-start;
    align-self: center;
    display: flex;
    flex-direction: column;
    grid-column: 1;
    grid-row: 1;
    max-width: 460px;
    position: relative;
    text-align: left;
    width: 100%;
    z-index: 2;
}

.home-kicker {
    color: #6f7f62;
    font-size: 12px;
    font-weight: 900;
    letter-spacing: 0.16em;
    margin: 0 0 18px;
    text-transform: uppercase;
}

.home-hero-copy h1 {
    color: #1f2d25;
    font-size: clamp(54px, 5.6vw, 90px);
    font-weight: 850;
    letter-spacing: 0;
    line-height: 0.95;
    margin: 0;
}

.home-hero-copy h1 span {
    color: #315f48;
    display: inline;
    font-family: Georgia, "Times New Roman", serif;
    font-style: italic;
    font-weight: 500;
}

.home-brand-text {
    color: rgba(47, 58, 49, 0.7);
    font-size: 15px;
    font-weight: 600;
    line-height: 1.75;
    margin: 28px 0 0;
    max-width: 420px;
}

.home-hero-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    margin-top: 30px;
}

.home-primary-cta,
.home-secondary-cta {
    align-items: center;
    border-radius: 999px;
    display: inline-flex;
    min-height: 48px;
    padding: 0 22px;
}

.home-primary-cta {
    background: #244d39;
    box-shadow: 0 18px 42px rgba(36, 77, 57, 0.22);
    color: #fffdf7;
}

.home-secondary-cta {
    background: rgba(255, 253, 247, 0.7);
    border: 1px solid rgba(127, 154, 130, 0.26);
    color: #2f4a3a;
}

.tree-stage {
    align-items: center;
    bottom: auto;
    display: flex;
    grid-column: 2;
    grid-row: 1;
    inset-inline: auto;
    justify-content: center;
    pointer-events: auto;
    position: relative;
    top: auto;
    z-index: 2;
}

.knowledge-tree-panel {
    background:
        linear-gradient(145deg, rgba(255, 253, 247, 0.86), rgba(246, 239, 226, 0.72)),
        radial-gradient(circle at 50% 12%, rgba(255, 255, 255, 0.75), transparent 42%);
    border: 1px solid rgba(255, 255, 255, 0.74);
    border-radius: 30px;
    box-shadow:
        0 36px 90px rgba(83, 70, 52, 0.16),
        inset 0 1px 0 rgba(255, 255, 255, 0.82);
    height: min(610px, calc(100vh - 246px));
    min-height: 500px;
    overflow: hidden;
    padding: 22px;
    position: relative;
    width: min(560px, 100%);
}

.tree-panel-label,
.tree-panel-footer {
    color: rgba(47, 74, 58, 0.62);
    font-size: 11px;
    font-weight: 900;
    letter-spacing: 0.16em;
    text-transform: uppercase;
}

.tree-panel-label {
    margin: 0;
    position: relative;
    z-index: 2;
}

.knowledge-tree-visual {
    height: calc(100% - 58px);
    position: relative;
}

.tree-panel-footer {
    bottom: 22px;
    display: flex;
    justify-content: space-between;
    left: 22px;
    position: absolute;
    right: 22px;
    z-index: 2;
}

.tree-trunk-line,
.tree-branch,
.tree-root-line {
    background: linear-gradient(180deg, rgba(49, 95, 72, 0.15), rgba(49, 95, 72, 0.78));
    border-radius: 999px;
    display: block;
    left: 50%;
    position: absolute;
    transform-origin: bottom center;
}

.tree-trunk-line {
    bottom: 92px;
    height: 280px;
    transform: translateX(-50%);
    width: 7px;
}

.tree-branch {
    bottom: 258px;
    height: 142px;
    width: 4px;
}

.branch-vocab {
    transform: translateX(-50%) rotate(-53deg);
}

.branch-grammar {
    bottom: 276px;
    height: 150px;
    transform: translateX(-50%) rotate(48deg);
}

.branch-listening {
    bottom: 230px;
    height: 118px;
    transform: translateX(-50%) rotate(-78deg);
}

.branch-culture {
    bottom: 218px;
    height: 118px;
    transform: translateX(-50%) rotate(76deg);
}

.branch-speaking {
    bottom: 318px;
    height: 126px;
    transform: translateX(-50%) rotate(4deg);
}

.tree-root-line {
    bottom: 72px;
    height: 96px;
    width: 3px;
}

.root-a {
    transform: translateX(-50%) rotate(-54deg);
}

.root-b {
    transform: translateX(-50%) rotate(54deg);
}

.root-c {
    height: 110px;
    transform: translateX(-50%) rotate(0deg);
}

.tree-node {
    align-items: center;
    background: rgba(255, 253, 247, 0.86);
    border: 1px solid rgba(127, 154, 130, 0.28);
    border-radius: 999px;
    box-shadow: 0 14px 34px rgba(67, 78, 62, 0.12);
    color: #284635;
    display: inline-flex;
    font-size: 12px;
    font-weight: 900;
    min-height: 36px;
    padding: 0 14px;
    position: absolute;
    transform: translate(-50%, -50%);
    white-space: nowrap;
    z-index: 4;
}

.tree-node::before {
    background: #d7a86f;
    border-radius: 999px;
    content: "";
    height: 8px;
    margin-right: 8px;
    width: 8px;
}

.node-vocab {
    left: 24%;
    top: 31%;
}

.node-grammar {
    left: 75%;
    top: 29%;
}

.node-listening {
    left: 15%;
    top: 51%;
}

.node-culture {
    left: 84%;
    top: 54%;
}

.node-speaking {
    left: 51%;
    top: 20%;
}

.tree-leaf {
    background: linear-gradient(135deg, #8da984, #426b50);
    border-radius: 80% 20% 72% 28%;
    box-shadow: 0 14px 28px rgba(66, 107, 80, 0.16);
    height: 34px;
    position: absolute;
    transform: rotate(-28deg);
    width: 20px;
    z-index: 3;
}

.leaf-a { left: 35%; top: 21%; }
.leaf-b { left: 62%; top: 24%; transform: rotate(32deg); }
.leaf-c { left: 29%; top: 45%; transform: rotate(24deg); }
.leaf-d { left: 68%; top: 47%; transform: rotate(-34deg); }
.leaf-e { left: 46%; top: 35%; transform: rotate(12deg); }
.leaf-f { left: 55%; top: 57%; transform: rotate(-16deg); }

.tree-acorn-core {
    align-items: center;
    background:
        radial-gradient(circle at 48% 26%, rgba(255, 243, 216, 0.86), transparent 15%),
        linear-gradient(145deg, #d9a86c, #8c5f34);
    border: 8px solid rgba(255, 253, 247, 0.7);
    border-radius: 54% 54% 46% 46%;
    bottom: 134px;
    box-shadow: 0 22px 48px rgba(140, 95, 52, 0.22);
    display: flex;
    height: 86px;
    justify-content: center;
    left: 50%;
    overflow: hidden;
    position: absolute;
    transform: translateX(-50%);
    width: 72px;
    z-index: 5;
}

.tree-acorn-core::before {
    background: #6f4c2f;
    border-radius: 999px 999px 10px 10px;
    content: "";
    height: 22px;
    left: 10px;
    position: absolute;
    right: 10px;
    top: -4px;
}

.tree-acorn-core .pinecone-stack {
    display: none;
}

.home-dashboard-sidebar {
    align-self: center;
    display: grid;
    gap: 14px;
    grid-column: 3;
    grid-row: 1;
    position: relative;
    z-index: 2;
}

.dashboard-card {
    background: rgba(255, 253, 247, 0.74);
    border: 1px solid rgba(255, 255, 255, 0.74);
    border-radius: 22px;
    box-shadow: 0 20px 54px rgba(83, 70, 52, 0.12);
    color: #28392f;
    padding: 18px;
    text-align: left;
    -webkit-backdrop-filter: blur(22px);
    backdrop-filter: blur(22px);
}

.dashboard-card-head {
    align-items: center;
    display: flex;
    justify-content: space-between;
}

.dashboard-card-head span,
.dashboard-card-label {
    color: rgba(47, 74, 58, 0.58);
    display: block;
    font-size: 11px;
    font-weight: 900;
    letter-spacing: 0.12em;
    text-transform: uppercase;
}

.dashboard-card-head strong,
.dashboard-metric {
    color: #244d39;
    font-size: 28px;
    font-weight: 950;
}

body.kanau-has-global-topbar .daily-goal-panel,
.daily-goal-panel {
    margin: 0;
    max-width: none;
    padding: 18px;
    width: 100%;
}

body.kanau-has-global-topbar .daily-goal-bar,
.daily-goal-bar {
    background: rgba(127, 154, 130, 0.18);
    height: 9px;
    margin-top: 14px;
}

body.kanau-has-global-topbar .daily-goal-fill,
.daily-goal-fill {
    background: linear-gradient(90deg, #315f48, #9cb18f);
}

body.kanau-has-global-topbar .daily-goal-status-line,
.daily-goal-status-line {
    color: rgba(47, 58, 49, 0.62);
    font-size: 12px;
    justify-content: space-between;
    margin-top: 11px;
}

body.kanau-has-global-topbar .pinecone-count,
.pinecone-count {
    background: transparent;
    border: 0;
    box-shadow: none;
    justify-content: flex-start;
    margin: 8px 0 0;
    padding: 0;
}

.pinecone-count-icon {
    background:
        radial-gradient(circle at 48% 24%, rgba(255, 243, 216, 0.9), transparent 16%),
        linear-gradient(145deg, #d9a86c, #8c5f34);
    border-radius: 54% 54% 46% 46%;
    display: inline-block;
    height: 28px;
    position: relative;
    width: 22px;
}

.pinecone-count-icon::before {
    background: #6f4c2f;
    border-radius: 999px 999px 4px 4px;
    content: "";
    height: 8px;
    left: 3px;
    position: absolute;
    top: -2px;
    width: 16px;
}

body.kanau-has-global-topbar .pinecone-count strong,
.pinecone-count strong {
    color: #244d39;
    font-size: 34px;
}

body.kanau-has-global-topbar .pinecone-count span:last-child,
.pinecone-count span:last-child,
.dashboard-card p {
    color: rgba(47, 58, 49, 0.62);
    font-size: 12px;
    font-weight: 700;
    line-height: 1.5;
}

.dashboard-card p {
    margin: 8px 0 0;
}

.weekly-challenge-card {
    background:
        radial-gradient(circle at 86% 12%, rgba(198, 182, 235, 0.34), transparent 34%),
        rgba(255, 253, 247, 0.76);
}

body.kanau-has-global-topbar .home-hub-actions,
.home-hub-actions {
    align-self: end;
    display: grid;
    gap: 16px;
    grid-column: 1 / 4;
    grid-row: 2;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    margin: 0;
    max-width: none;
    position: relative;
    width: 100%;
    z-index: 2;
}

body.kanau-has-global-topbar .hub-action,
.hub-action {
    align-items: flex-start;
    background: rgba(255, 253, 247, 0.72);
    border: 1px solid rgba(255, 255, 255, 0.78);
    border-radius: 24px;
    box-shadow: 0 22px 60px rgba(83, 70, 52, 0.12);
    display: grid;
    gap: 24px;
    height: auto;
    min-height: 136px;
    padding: 22px;
    text-align: left;
    -webkit-backdrop-filter: blur(22px);
    backdrop-filter: blur(22px);
}

.hub-action-index {
    color: rgba(127, 154, 130, 0.82);
    font-family: Georgia, "Times New Roman", serif;
    font-size: 24px;
    font-style: italic;
}

body.kanau-has-global-topbar .hub-action-title,
.hub-action-title {
    color: #1f2d25;
    font-size: 24px;
}

body.kanau-has-global-topbar .hub-action-meta,
.hub-action-meta {
    color: rgba(47, 58, 49, 0.62);
    font-size: 13px;
}

body.kanau-has-global-topbar .bottom-nav,
.bottom-nav {
    background: rgba(255, 253, 247, 0.78);
    border: 1px solid rgba(255, 255, 255, 0.78);
    border-radius: 22px;
    bottom: 22px;
    box-shadow: 0 18px 48px rgba(83, 70, 52, 0.14);
    left: 50%;
    padding: 8px;
    transform: translateX(-50%);
    -webkit-backdrop-filter: blur(24px);
    backdrop-filter: blur(24px);
    z-index: 90;
}

@media (max-width: 1180px) {
    body.kanau-has-global-topbar #home-overview.home-hero-shell,
    #home-overview.home-hero-shell {
        grid-template-columns: minmax(260px, 0.9fr) minmax(360px, 1fr);
        grid-template-rows: 1fr auto auto;
        overflow-y: auto;
    }

    .home-dashboard-sidebar {
        grid-column: 1 / 3;
        grid-row: 2;
        grid-template-columns: repeat(4, minmax(0, 1fr));
    }

    body.kanau-has-global-topbar .home-hub-actions,
    .home-hub-actions {
        grid-column: 1 / 3;
        grid-row: 3;
    }
}

@media (max-width: 860px) {
    body.kanau-has-global-topbar .home-local-topbar,
    .home-local-topbar {
        left: 16px;
        right: 16px;
    }

    .kanau-home-btn small {
        display: none;
    }

    body.kanau-has-global-topbar #home-overview.home-hero-shell,
    #home-overview.home-hero-shell {
        display: flex;
        flex-direction: column;
        height: auto;
        min-height: 100vh;
        overflow-y: auto;
        padding: 112px 18px 118px;
    }

    .home-hero-copy,
    .tree-stage,
    .home-dashboard-sidebar,
    .home-hub-actions {
        width: 100%;
    }

    .knowledge-tree-panel {
        height: 520px;
        min-height: 520px;
    }

    .home-dashboard-sidebar,
    body.kanau-has-global-topbar .home-hub-actions,
    .home-hub-actions {
        grid-template-columns: 1fr;
    }
}

/* Final non-overlap layout pass. Keep this at EOF so earlier rebuilds cannot reintroduce collisions. */
body.kanau-has-global-topbar #page-materials.page.active,
#page-materials.page.active {
    overflow-x: hidden;
    overflow-y: auto;
}

body.kanau-has-global-topbar .home-local-topbar,
.home-local-topbar {
    gap: 18px;
    min-width: 0;
}

.kanau-home-btn,
.home-topbar-actions,
.home-hero-copy,
.tree-stage,
.home-dashboard-sidebar,
.home-hub-actions,
.dashboard-card,
.hub-action,
.hub-action-copy {
    min-width: 0;
}

.kanau-home-btn small,
.home-brand-text,
.dashboard-card p,
.hub-action-title,
.hub-action-meta {
    overflow-wrap: anywhere;
}

body.kanau-has-global-topbar #home-overview.home-hero-shell,
#home-overview.home-hero-shell {
    height: auto;
    min-height: 100vh;
    overflow: visible;
}

.knowledge-tree-panel {
    max-width: 100%;
}

.home-dashboard-sidebar {
    align-content: center;
}

.dashboard-card-head,
body.kanau-has-global-topbar .daily-goal-status-line,
.daily-goal-status-line,
.pinecone-count {
    flex-wrap: wrap;
    gap: 8px;
}

body.kanau-has-global-topbar .hub-action,
.hub-action {
    grid-template-rows: auto 1fr;
    overflow: hidden;
}

body.kanau-has-global-topbar .hub-action-title,
.hub-action-title {
    line-height: 1.16;
}

body.kanau-has-global-topbar .hub-action-meta,
.hub-action-meta {
    line-height: 1.45;
}

@media (max-width: 1180px) {
    .home-dashboard-sidebar {
        align-self: stretch;
    }

    .dashboard-card {
        min-height: 128px;
    }
}

@media (max-width: 860px) {
    body.kanau-has-global-topbar .home-local-topbar,
    .home-local-topbar {
        align-items: flex-start;
        height: auto;
        min-height: 72px;
    }

    .home-topbar-actions {
        flex-wrap: wrap;
        justify-content: flex-end;
    }

    body.kanau-has-global-topbar #home-overview.home-hero-shell,
    #home-overview.home-hero-shell {
        gap: 22px;
    }

    .home-hero-copy {
        align-self: stretch;
        max-width: none;
    }

    .home-hero-copy h1 {
        font-size: clamp(40px, 11vw, 58px);
        line-height: 1;
    }

    .home-hero-actions {
        width: 100%;
    }

    .home-primary-cta,
    .home-secondary-cta {
        flex: 1 1 220px;
        justify-content: center;
        text-align: center;
    }

    .knowledge-tree-panel {
        height: auto;
        min-height: 460px;
    }

    .home-dashboard-sidebar {
        align-self: stretch;
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    body.kanau-has-global-topbar .home-hub-actions,
    .home-hub-actions {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 560px) {
    body.kanau-has-global-topbar .home-local-topbar,
    .home-local-topbar {
        flex-direction: column;
        left: 14px;
        right: 14px;
        top: 14px;
    }

    .home-topbar-actions {
        justify-content: flex-start;
        width: 100%;
    }

    .university-access-btn {
        flex: 1 1 180px;
    }

    body.kanau-has-global-topbar #home-overview.home-hero-shell,
    #home-overview.home-hero-shell {
        padding-top: 136px;
    }

    .home-dashboard-sidebar {
        grid-template-columns: 1fr;
    }

    .knowledge-tree-panel {
        border-radius: 22px;
        min-height: 430px;
        padding: 18px;
    }

    .tree-node {
        font-size: 10px;
        min-height: 30px;
        padding: 0 10px;
    }
}

/* Main screen composition: header, content, and action cards each get real space. */
body.kanau-has-global-topbar #page-materials.page.active,
#page-materials.page.active {
    display: flex;
    flex-direction: column;
    gap: 28px;
    min-height: 100vh;
    overflow-x: hidden;
    overflow-y: auto;
    padding: 28px clamp(28px, 4vw, 64px) 140px;
}

body.kanau-has-global-topbar .bottom-nav,
.bottom-nav {
    pointer-events: auto;
    z-index: 1500;
}

body.kanau-has-global-topbar .home-local-topbar,
.home-local-topbar {
    flex: 0 0 auto;
    height: auto;
    left: auto;
    margin: 0 auto;
    max-width: 1760px;
    min-height: 52px;
    position: relative;
    right: auto;
    top: auto;
    width: 100%;
}

body.kanau-has-global-topbar #home-overview.home-hero-shell,
#home-overview.home-hero-shell {
    align-items: stretch;
    display: grid;
    flex: 1 1 auto;
    gap: clamp(20px, 2vw, 34px);
    grid-template-columns: minmax(300px, 0.82fr) minmax(420px, 1.06fr) minmax(300px, 0.82fr);
    grid-template-rows: minmax(0, auto) auto;
    height: auto;
    margin: 0 auto;
    max-width: 1760px;
    min-height: 0;
    overflow: visible;
    padding: 0;
    width: 100%;
}

body.kanau-has-global-topbar .home-hero-copy,
.home-hero-copy {
    align-self: center;
    grid-column: 1;
    grid-row: 1;
    max-width: none;
}

.home-hero-copy h1 {
    font-size: clamp(46px, 4.65vw, 78px);
    line-height: 1.02;
    max-width: 100%;
}

.home-brand-text {
    max-width: 36rem;
}

.tree-stage {
    align-self: stretch;
    grid-column: 2;
    grid-row: 1;
}

.knowledge-tree-panel {
    align-self: stretch;
    height: auto;
    min-height: clamp(500px, 58vh, 680px);
    width: 100%;
}

.home-dashboard-sidebar {
    align-self: center;
    grid-column: 3;
    grid-row: 1;
}

body.kanau-has-global-topbar .home-hub-actions,
.home-hub-actions {
    align-self: stretch;
    grid-column: 1 / -1;
    grid-row: 2;
    margin: 0;
}

body.kanau-has-global-topbar .hub-action,
.hub-action {
    min-height: 132px;
}

@media (max-width: 1280px) {
    body.kanau-has-global-topbar #home-overview.home-hero-shell,
    #home-overview.home-hero-shell {
        grid-template-columns: minmax(280px, 0.9fr) minmax(380px, 1.1fr);
        grid-template-rows: auto auto auto;
    }

    .home-dashboard-sidebar {
        align-self: stretch;
        grid-column: 1 / -1;
        grid-row: 2;
        grid-template-columns: repeat(4, minmax(0, 1fr));
    }

    body.kanau-has-global-topbar .home-hub-actions,
    .home-hub-actions {
        grid-column: 1 / -1;
        grid-row: 3;
    }
}

@media (max-width: 900px) {
    body.kanau-has-global-topbar #page-materials.page.active,
    #page-materials.page.active {
        padding: 22px 18px 42px;
    }

    body.kanau-has-global-topbar #home-overview.home-hero-shell,
    #home-overview.home-hero-shell {
        display: flex;
        flex-direction: column;
    }

    .tree-stage,
    .home-dashboard-sidebar,
    body.kanau-has-global-topbar .home-hub-actions,
    .home-hub-actions {
        width: 100%;
    }

    .home-dashboard-sidebar {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .knowledge-tree-panel {
        min-height: 500px;
    }
}

@media (max-width: 620px) {
    body.kanau-has-global-topbar .home-local-topbar,
    .home-local-topbar {
        align-items: stretch;
        flex-direction: column;
    }

    .home-topbar-actions {
        justify-content: flex-start;
    }

    .home-dashboard-sidebar,
    body.kanau-has-global-topbar .home-hub-actions,
    .home-hub-actions {
        grid-template-columns: 1fr;
    }

    .home-hero-copy h1 {
        font-size: clamp(38px, 12vw, 54px);
    }

    .knowledge-tree-panel {
        min-height: 430px;
    }
}

/* Botanical hero direction: quiet natural growth instead of infographic tree. */
body:has(#home-overview),
body.kanau-has-global-topbar #page-materials.page.active,
#page-materials.page.active {
    background:
        radial-gradient(circle at 18% 18%, rgba(156, 177, 143, 0.28), transparent 28%),
        radial-gradient(circle at 76% 14%, rgba(219, 196, 160, 0.24), transparent 26%),
        linear-gradient(180deg, rgba(255, 253, 247, 0.88), rgba(242, 235, 221, 0.94)),
        linear-gradient(135deg, #f7f5eb 0%, #edf1e5 46%, #efe3d3 100%);
}

#home-overview.home-hero-shell::before {
    background:
        linear-gradient(rgba(105, 128, 104, 0.055) 1px, transparent 1px),
        linear-gradient(90deg, rgba(105, 128, 104, 0.045) 1px, transparent 1px);
    background-size: 48px 48px;
    mask-image: radial-gradient(circle at 50% 42%, black, transparent 76%);
}

#home-overview.home-hero-shell::after {
    background:
        radial-gradient(ellipse at 48% 100%, rgba(94, 126, 91, 0.18), transparent 44%),
        linear-gradient(180deg, transparent 48%, rgba(219, 205, 179, 0.42) 100%);
    bottom: -2px;
    content: "";
    height: 42%;
    left: 0;
    pointer-events: none;
    position: absolute;
    right: 0;
    z-index: 0;
}

.home-streak-badge {
    align-items: center;
    align-self: flex-start;
    background: rgba(255, 253, 247, 0.82);
    border: 1px solid rgba(255, 255, 255, 0.74);
    border-radius: 999px;
    box-shadow: 0 14px 34px rgba(84, 74, 58, 0.1);
    color: #2f4a3a;
    display: inline-flex;
    gap: 8px;
    margin: 0 0 20px;
    min-height: 42px;
    padding: 0 15px;
    -webkit-backdrop-filter: blur(18px);
    backdrop-filter: blur(18px);
}

.home-streak-badge strong,
.home-streak-badge span:last-child {
    font-size: 13px;
    font-weight: 900;
}

.streak-flame {
    filter: saturate(0.86);
    font-size: 16px;
}

.knowledge-tree-panel {
    background:
        radial-gradient(circle at 50% 76%, rgba(98, 126, 91, 0.18), transparent 28%),
        radial-gradient(circle at 48% 28%, rgba(255, 255, 255, 0.72), transparent 42%),
        linear-gradient(180deg, rgba(255, 253, 247, 0.55), rgba(240, 233, 219, 0.36));
    border: 1px solid rgba(255, 255, 255, 0.58);
    box-shadow:
        inset 0 1px 0 rgba(255, 255, 255, 0.66),
        0 34px 86px rgba(78, 72, 58, 0.13);
    overflow: hidden;
}

.knowledge-tree-panel::before {
    background:
        radial-gradient(ellipse at 50% 100%, rgba(77, 104, 70, 0.22), transparent 54%),
        linear-gradient(180deg, transparent, rgba(194, 181, 151, 0.22));
    bottom: 0;
    content: "";
    height: 38%;
    left: 0;
    pointer-events: none;
    position: absolute;
    right: 0;
}

.tree-panel-label {
    color: rgba(47, 74, 58, 0.54);
    text-align: center;
}

.knowledge-tree-visual {
    height: calc(100% - 124px);
    min-height: 390px;
    overflow: visible;
}

.tree-node,
.tree-branch {
    display: none;
}

.tree-root-line {
    background: rgba(78, 111, 82, 0.42);
    bottom: 50px;
    height: 112px;
    opacity: 0;
    transform-origin: top center;
    width: 3px;
    animation: rootGrow 900ms ease 820ms forwards;
}

.root-a {
    transform: translateX(-50%) rotate(-48deg);
}

.root-b {
    transform: translateX(-50%) rotate(48deg);
}

.root-c {
    height: 132px;
    transform: translateX(-50%) rotate(0deg);
}

.tree-trunk-line {
    background:
        linear-gradient(90deg, rgba(111, 84, 56, 0.78), rgba(184, 134, 82, 0.82), rgba(96, 72, 48, 0.82));
    border-radius: 48% 52% 34% 36%;
    bottom: 76px;
    box-shadow: inset -8px 0 16px rgba(61, 43, 30, 0.12);
    height: 285px;
    transform: translateX(-50%) scaleY(0);
    transform-origin: bottom center;
    width: 28px;
    animation: trunkGrow 900ms cubic-bezier(0.2, 0.8, 0.2, 1) 240ms forwards;
}

.tree-trunk-line::before,
.tree-trunk-line::after {
    background: rgba(111, 84, 56, 0.58);
    border-radius: 999px;
    content: "";
    height: 128px;
    left: 50%;
    position: absolute;
    top: 74px;
    transform-origin: bottom center;
    width: 12px;
}

.tree-trunk-line::before {
    transform: translateX(-50%) rotate(-38deg);
}

.tree-trunk-line::after {
    top: 58px;
    transform: translateX(-50%) rotate(40deg);
}

.tree-leaf {
    animation: canopyBloom 900ms cubic-bezier(0.2, 0.9, 0.2, 1) forwards;
    background:
        radial-gradient(circle at 34% 28%, rgba(190, 215, 171, 0.95), transparent 34%),
        linear-gradient(135deg, rgba(135, 170, 124, 0.96), rgba(63, 113, 79, 0.98));
    border-radius: 48% 52% 44% 56% / 42% 46% 54% 58%;
    box-shadow:
        inset -24px -24px 42px rgba(37, 85, 55, 0.16),
        0 22px 54px rgba(66, 107, 80, 0.12);
    height: clamp(142px, 16vw, 210px);
    opacity: 0;
    transform: translate(-50%, -50%) scale(0.55);
    width: clamp(154px, 18vw, 230px);
    z-index: 2;
}

.leaf-a { left: 36%; top: 32%; animation-delay: 760ms; }
.leaf-b { left: 52%; top: 22%; animation-delay: 620ms; }
.leaf-c { left: 64%; top: 34%; animation-delay: 820ms; }
.leaf-d { left: 44%; top: 45%; animation-delay: 940ms; }
.leaf-e { left: 58%; top: 48%; animation-delay: 1040ms; }
.leaf-f { left: 50%; top: 36%; animation-delay: 700ms; }

.tree-acorn-core {
    background: transparent;
    border: 0;
    bottom: 198px;
    box-shadow: none;
    display: grid;
    gap: 6px;
    grid-template-columns: repeat(3, 18px);
    height: auto;
    left: 50%;
    overflow: visible;
    place-content: center;
    transform: translateX(-50%) scale(0.9);
    width: auto;
    z-index: 6;
}

.tree-acorn-core::before,
.tree-acorn-core::after {
    display: none;
}

.tree-acorn-core .pinecone-stack {
    display: contents;
}

.tree-acorn-core .hourglass-pinecone {
    height: 24px;
    width: 19px;
}

.tree-acorn-core .hourglass-pinecone:nth-child(n + 6) {
    display: none;
}

.tree-growth-steps {
    align-items: center;
    background: rgba(255, 253, 247, 0.74);
    border: 1px solid rgba(255, 255, 255, 0.68);
    border-radius: 999px;
    bottom: 58px;
    box-shadow: 0 14px 34px rgba(83, 70, 52, 0.08);
    color: rgba(47, 58, 49, 0.56);
    display: grid;
    gap: 6px;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    left: 24px;
    list-style: none;
    margin: 0;
    padding: 8px;
    position: absolute;
    right: 24px;
    z-index: 8;
}

.tree-growth-steps li {
    align-items: center;
    border-radius: 999px;
    display: inline-flex;
    font-size: 11px;
    font-weight: 900;
    justify-content: center;
    min-height: 30px;
    padding: 0 8px;
    text-align: center;
}

.tree-growth-steps .is-current {
    background: #2f6f55;
    color: #fffdf7;
}

.tree-panel-footer {
    display: none;
}

@keyframes trunkGrow {
    to {
        transform: translateX(-50%) scaleY(1);
    }
}

@keyframes canopyBloom {
    to {
        opacity: 1;
        transform: translate(-50%, -50%) scale(1);
    }
}

@keyframes rootGrow {
    to {
        opacity: 1;
    }
}

@media (max-width: 900px) {
    .knowledge-tree-visual {
        min-height: 370px;
    }

    .tree-growth-steps {
        border-radius: 18px;
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 620px) {
    .home-streak-badge {
        margin-bottom: 16px;
    }

    .tree-acorn-core {
        bottom: 178px;
    }
}

/* Final tree-only pass: preserve surrounding dashboard layout; only change tree shape/growth. */
body.kanau-has-global-topbar #home-overview.home-hero-shell,
#home-overview.home-hero-shell {
    align-items: stretch;
    display: grid;
    gap: clamp(20px, 2vw, 34px);
    grid-template-columns: minmax(300px, 0.82fr) minmax(420px, 1.06fr) minmax(300px, 0.82fr);
    grid-template-rows: minmax(0, auto) auto;
    height: auto;
    min-height: 0;
    overflow: visible;
    position: relative;
}

body.kanau-has-global-topbar .home-hero-copy,
.home-hero-copy {
    align-items: flex-start;
    align-self: center;
    display: flex;
    grid-column: 1;
    grid-row: 1;
    left: auto;
    max-width: none;
    position: relative;
    text-align: left;
    top: auto;
    transform: none;
    width: 100%;
    z-index: 2;
}

.home-kicker {
    display: block;
}

.home-brand-text {
    display: block;
}

.home-hero-actions {
    display: flex;
}

.home-streak-badge {
    left: auto;
    margin: 0 0 20px;
    position: relative;
    top: auto;
}

.home-streak-badge::after {
    content: none;
}

.home-streak-badge span:last-child {
    display: inline;
}

.home-hero-copy h1 {
    font-size: clamp(46px, 4.65vw, 78px);
    line-height: 1.02;
    text-align: left;
}

.home-hero-copy h1 span {
    display: inline;
    font-family: Georgia, "Times New Roman", serif;
    font-style: italic;
    font-weight: 500;
}

.tree-stage {
    align-self: stretch;
    grid-column: 2;
    grid-row: 1;
    height: auto;
    left: auto;
    pointer-events: auto;
    position: relative;
    top: auto;
    transform: none;
    width: auto;
    z-index: 2;
}

.home-dashboard-sidebar {
    align-self: center;
    display: grid;
    gap: 14px;
    grid-column: 3;
    grid-row: 1;
    position: relative;
    z-index: 2;
}

.home-dashboard-sidebar .dashboard-card,
.home-dashboard-sidebar .daily-goal-panel,
.home-dashboard-sidebar .acorn-card {
    display: block;
    left: auto;
    max-width: none;
    position: relative;
    top: auto;
    transform: none;
    width: 100%;
}

body.kanau-has-global-topbar .home-hub-actions,
.home-hub-actions {
    align-self: stretch;
    bottom: auto;
    display: grid;
    gap: 16px;
    grid-column: 1 / -1;
    grid-row: 2;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    left: auto;
    margin: 0;
    max-width: none;
    position: relative;
    transform: none;
    width: 100%;
    z-index: 2;
}

.home-hub-actions .hub-action:first-child {
    display: grid;
}

.knowledge-tree-panel {
    align-self: stretch;
    background: transparent;
    border: 0;
    border-radius: 0;
    box-shadow: none;
    height: auto;
    min-height: clamp(500px, 58vh, 680px);
    overflow: visible;
    padding: 0;
    position: relative;
    width: 100%;
}

.knowledge-tree-panel::before,
.tree-panel-label,
.tree-panel-footer,
.tree-growth-steps,
.tree-node,
.tree-branch {
    display: none;
}

.knowledge-tree-visual {
    height: 100%;
    min-height: 500px;
    overflow: visible;
    position: relative;
    width: 100%;
}

.tree-leaf {
    animation: referenceTreeBloom 900ms cubic-bezier(0.2, 0.9, 0.2, 1) forwards;
    background:
        radial-gradient(circle at 35% 26%, rgba(152, 190, 139, 0.95), transparent 34%),
        linear-gradient(135deg, rgba(108, 150, 103, 0.96), rgba(48, 94, 64, 0.98));
    border-radius: 48% 52% 44% 56% / 42% 46% 54% 58%;
    box-shadow: inset -28px -24px 56px rgba(31, 70, 44, 0.18);
    filter: drop-shadow(0 20px 34px rgba(54, 82, 56, 0.1));
    height: clamp(190px, 18vw, 290px);
    opacity: 0;
    transform: translate(-50%, -50%) scale(0.34);
    width: clamp(210px, 21vw, 330px);
    z-index: 2;
}

.leaf-a { left: 33%; top: 38%; animation-delay: 460ms; }
.leaf-b { left: 47%; top: 28%; animation-delay: 360ms; }
.leaf-c { left: 62%; top: 38%; animation-delay: 520ms; }
.leaf-d { left: 42%; top: 54%; animation-delay: 620ms; }
.leaf-e { left: 57%; top: 55%; animation-delay: 700ms; }
.leaf-f { left: 50%; top: 42%; animation-delay: 430ms; }

.tree-trunk-line {
    background:
        linear-gradient(90deg, rgba(118, 88, 58, 0.78), rgba(191, 143, 88, 0.84), rgba(100, 74, 49, 0.82));
    border-radius: 48% 52% 34% 36%;
    bottom: 76px;
    box-shadow: inset -8px 0 16px rgba(61, 43, 30, 0.12);
    height: 300px;
    transform: translateX(-50%) scaleY(0);
    transform-origin: bottom center;
    width: 30px;
    z-index: 1;
    animation: trunkGrow 900ms cubic-bezier(0.2, 0.8, 0.2, 1) 180ms forwards;
}

.tree-trunk-line::before,
.tree-trunk-line::after {
    background: rgba(112, 139, 98, 0.58);
    border-radius: 999px;
    content: "";
    height: 170px;
    left: 50%;
    opacity: 0.72;
    position: absolute;
    top: 70px;
    transform-origin: bottom center;
    width: 6px;
}

.tree-trunk-line::before {
    transform: translateX(-50%) rotate(-70deg);
}

.tree-trunk-line::after {
    top: 78px;
    transform: translateX(-50%) rotate(68deg);
}

.tree-root-line {
    background: rgba(78, 111, 82, 0.36);
    bottom: 48px;
    height: 120px;
    opacity: 0;
    transform-origin: top center;
    width: 3px;
    animation: rootGrow 900ms ease 760ms forwards;
}

.tree-acorn-core {
    background: transparent;
    border: 0;
    bottom: 172px;
    box-shadow: none;
    display: grid;
    gap: 6px;
    grid-template-columns: repeat(3, 20px);
    height: auto;
    left: 50%;
    overflow: visible;
    place-content: center;
    pointer-events: auto;
    transform: translateX(-50%) scale(1);
    width: auto;
    z-index: 6;
}

.tree-acorn-core::before,
.tree-acorn-core::after {
    display: none;
}

.tree-acorn-core .pinecone-stack {
    display: contents;
}

.tree-acorn-core .hourglass-pinecone {
    height: 27px;
    width: 21px;
}

.tree-acorn-core .hourglass-pinecone:nth-child(n + 6) {
    display: none;
}

@keyframes referenceTreeBloom {
    0% {
        opacity: 0;
        transform: translate(-50%, -50%) scale(0.34);
    }

    70% {
        opacity: 1;
        transform: translate(-50%, -50%) scale(1.04);
    }

    100% {
        opacity: 1;
        transform: translate(-50%, -50%) scale(1);
    }
}

@media (max-width: 1280px) {
    body.kanau-has-global-topbar #home-overview.home-hero-shell,
    #home-overview.home-hero-shell {
        grid-template-columns: minmax(280px, 0.9fr) minmax(380px, 1.1fr);
        grid-template-rows: auto auto auto;
    }

    .home-dashboard-sidebar {
        align-self: stretch;
        grid-column: 1 / -1;
        grid-row: 2;
        grid-template-columns: repeat(4, minmax(0, 1fr));
    }

    body.kanau-has-global-topbar .home-hub-actions,
    .home-hub-actions {
        grid-column: 1 / -1;
        grid-row: 3;
    }
}

@media (max-width: 900px) {
    body.kanau-has-global-topbar #home-overview.home-hero-shell,
    #home-overview.home-hero-shell {
        display: flex;
        flex-direction: column;
    }

    .home-dashboard-sidebar {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 620px) {
    .home-dashboard-sidebar,
    body.kanau-has-global-topbar .home-hub-actions,
    .home-hub-actions {
        grid-template-columns: 1fr;
    }
}

/* Final three-mode home actions. */
body.kanau-has-global-topbar .home-hub-actions,
.home-hub-actions {
    align-self: stretch;
    gap: clamp(18px, 2vw, 32px);
    grid-column: 1 / -1;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    width: 100%;
}

body.kanau-has-global-topbar .hub-action,
.hub-action {
    grid-column: auto;
    min-height: clamp(156px, 20vh, 220px);
    padding: clamp(22px, 2.4vw, 34px);
}

body.kanau-has-global-topbar .hub-action-language,
.hub-action-language {
    background:
        radial-gradient(circle at 20% 18%, rgba(255, 255, 255, 0.76), transparent 34%),
        linear-gradient(145deg, rgba(212, 231, 216, 0.86), rgba(255, 253, 247, 0.74));
    border-color: rgba(107, 151, 119, 0.3);
}

body.kanau-has-global-topbar .hub-action-revision,
.hub-action-revision {
    background:
        radial-gradient(circle at 22% 18%, rgba(255, 255, 255, 0.74), transparent 34%),
        linear-gradient(145deg, rgba(241, 220, 189, 0.88), rgba(255, 253, 247, 0.76));
    border-color: rgba(198, 143, 72, 0.3);
}

body.kanau-has-global-topbar .hub-action-classroom,
.hub-action-classroom {
    background:
        radial-gradient(circle at 22% 18%, rgba(255, 255, 255, 0.74), transparent 34%),
        linear-gradient(145deg, rgba(198, 223, 235, 0.88), rgba(255, 253, 247, 0.76));
    border-color: rgba(88, 134, 154, 0.3);
}

body.kanau-has-global-topbar .hub-action-index,
.hub-action-index {
    color: #86a28c;
}

body.kanau-has-global-topbar .hub-action-revision .hub-action-index,
.hub-action-revision .hub-action-index {
    color: #c28d4e;
}

@media (max-width: 620px) {
    body.kanau-has-global-topbar .home-hub-actions,
    .home-hub-actions {
        grid-template-columns: 1fr;
    }

    body.kanau-has-global-topbar .hub-action,
    .hub-action {
        grid-column: 1;
    }
}
