:root{--navy:#243b53;--text:#334e68;--muted:#627d98;--accent:#b8833f;--light:#f7eedf;--page:#fbf6ed;--border:#eadcc4;--shadow:0 12px 30px rgba(44,92,94,.08)}
*{box-sizing:border-box}body{margin:0;background:var(--page);color:var(--text);font-family:Arial,Helvetica,sans-serif;line-height:1.65}
.announcement-bar{padding:10px 20px;background:#e1b954;color:var(--navy);text-align:center;font-weight:800}
.site-header{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:16px clamp(18px,5vw,70px);background:white;border-bottom:1px solid var(--border)}
.logo{color:var(--navy);font-weight:900;text-decoration:none;font-size:1.25rem}.main-navigation{display:flex;gap:8px;flex-wrap:wrap}.main-navigation a{padding:8px 11px;border-radius:11px;text-decoration:none;color:var(--muted);font-weight:750}
.topic-hero{display:grid;grid-template-columns:1.2fr .8fr;gap:35px;align-items:center;width:min(1120px,calc(100% - 34px));margin:38px auto;padding:clamp(30px,5vw,58px);border:1px solid var(--border);border-radius:32px;background:linear-gradient(135deg,#f9fdfd,#f7eedf);box-shadow:var(--shadow)}
.topic-label{color:var(--accent);font-weight:900;letter-spacing:.1em}.topic-hero h1{margin:8px 0;color:var(--navy);font-size:clamp(2.8rem,6vw,5rem)}.topic-hero p{max-width:670px}
.primary-button{display:inline-flex;margin-top:18px;padding:13px 20px;border-radius:14px;background:var(--navy);color:white;text-decoration:none;font-weight:850}
.hero-mini-chart{display:flex;align-items:flex-end;justify-content:center;gap:16px;height:240px;padding:35px;border:1px solid var(--border);border-radius:28px;background:white;box-shadow:var(--shadow)}
.hero-mini-chart span{width:35px;border-radius:9px 9px 0 0;background:var(--accent)}.hero-mini-chart span:nth-child(1){height:65px}.hero-mini-chart span:nth-child(2){height:125px}.hero-mini-chart span:nth-child(3){height:180px}.hero-mini-chart span:nth-child(4){height:105px}
.page-section{width:min(1120px,calc(100% - 34px));margin:40px auto}.section-heading{text-align:center}.section-heading h2{color:var(--navy);font-size:2rem}
.lesson-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.lesson-card{display:flex;flex-direction:column;padding:23px;border:1px solid var(--border);border-radius:22px;background:white;box-shadow:var(--shadow);color:inherit;text-decoration:none}.lesson-top{display:flex;justify-content:space-between}.lesson-number,.lesson-status{font-weight:850;color:var(--accent)}.lesson-icon{font-size:2rem;margin:18px 0 5px}.lesson-card h3{margin:6px 0;color:var(--navy)}.lesson-open-text{margin-top:auto;padding-top:18px;color:var(--navy);font-weight:850}
.site-footer{margin-top:60px;padding:35px 20px;background:var(--navy);color:white;text-align:center}
@media(max-width:820px){.topic-hero{grid-template-columns:1fr}.lesson-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.site-header{align-items:flex-start;flex-direction:column}}
@media(max-width:560px){.lesson-grid{grid-template-columns:1fr}}

/* ======================================== */
/* PROBABILITY-SPECIFIC LANDING ANIMATION   */
/* ======================================== */

.probability-landing-art {
    position: relative;
    width: 100%;
    min-height: 265px;
    border: 1px solid var(--border);
    border-radius: 28px;
    background:
        radial-gradient(circle at 18% 15%, rgba(255,255,255,.98), transparent 32%),
        linear-gradient(145deg, #fffdf9, #f7eedf);
    box-shadow: var(--shadow);
    overflow: hidden;
}

.landing-die {
    position: absolute;
    left: 38px;
    bottom: 42px;
    width: 96px;
    height: 96px;
    border: 5px solid var(--navy);
    border-radius: 21px;
    background: white;
    animation: landingDie 4.8s ease-in-out infinite;
}

.landing-die i {
    position: absolute;
    width: 15px;
    height: 15px;
    border-radius: 50%;
    background: var(--navy);
}

.landing-die i:nth-child(1) { top: 17px; left: 17px; }
.landing-die i:nth-child(2) { top: 17px; right: 17px; }
.landing-die i:nth-child(3) { top: 39px; left: 39px; }
.landing-die i:nth-child(4) { bottom: 17px; left: 17px; }
.landing-die i:nth-child(5) { bottom: 17px; right: 17px; }

.landing-coin {
    position: absolute;
    top: 41px;
    right: 48px;
    display: grid;
    width: 92px;
    height: 92px;
    place-items: center;
    border: 7px double var(--accent);
    border-radius: 50%;
    color: var(--navy);
    background: #fffaf0;
    font-size: 2.1rem;
    font-weight: 900;
    animation: landingCoin 5s ease-in-out infinite;
}

.landing-spinner {
    position: absolute;
    right: 46px;
    bottom: 31px;
    width: 103px;
    height: 103px;
    border: 5px solid var(--navy);
    border-radius: 50%;
    background:
        conic-gradient(
            #b8833f 0 25%,
            #6f83af 25% 50%,
            #d7b65d 50% 75%,
            #8a6e9f 75% 100%
        );
    animation: landingSpin 9s linear infinite;
}

.landing-spinner::after {
    content: "";
    position: absolute;
    left: 49px;
    top: 16px;
    width: 6px;
    height: 40px;
    border-radius: 99px;
    background: var(--navy);
    transform-origin: bottom center;
    transform: rotate(29deg);
}

.landing-spinner::before {
    content: "";
    position: absolute;
    z-index: 2;
    left: 44px;
    top: 44px;
    width: 15px;
    height: 15px;
    border: 4px solid white;
    border-radius: 50%;
    background: var(--navy);
}

.landing-prob-token {
    position: absolute;
    z-index: 6;
    display: grid;
    min-width: 62px;
    height: 47px;
    padding: 7px;
    place-items: center;
    border: 1px solid var(--border);
    border-radius: 14px;
    color: var(--navy);
    background: white;
    box-shadow: var(--shadow);
    font-weight: 900;
    animation: landingToken 4.5s ease-in-out infinite;
}

.landing-half { top: 17px; left: 22px; }
.landing-p { left: 131px; bottom: 18px; animation-delay: .8s; }

.landing-tree {
    position: absolute;
    left: 136px;
    top: 88px;
    width: 100px;
    height: 100px;
}

.tree-start,
.tree-end {
    position: absolute;
    width: 13px;
    height: 13px;
    border-radius: 50%;
    background: var(--navy);
}

.tree-start { left: 4px; top: 44px; }
.end-one { right: 2px; top: 10px; }
.end-two { right: 2px; bottom: 10px; }

.branch {
    position: absolute;
    left: 14px;
    width: 80px;
    height: 4px;
    border-radius: 99px;
    background: var(--accent);
    transform-origin: left center;
}

.branch-one { top: 47px; transform: rotate(-25deg); }
.branch-two { top: 50px; transform: rotate(25deg); }

@keyframes landingDie {
    0%,100% { transform: translateY(0) rotate(-8deg); }
    50% { transform: translateY(-9px) rotate(5deg); }
}

@keyframes landingCoin {
    0%,100% { transform: translateY(0) rotateY(0); }
    50% { transform: translateY(-8px) rotateY(180deg); }
}

@keyframes landingSpin {
    from { transform: rotate(0deg); }
    to { transform: rotate(360deg); }
}

@keyframes landingToken {
    0%,100% { transform: translateY(0); }
    50% { transform: translateY(-7px); }
}

@media (prefers-reduced-motion: reduce) {
    .landing-die,
    .landing-coin,
    .landing-spinner,
    .landing-prob-token {
        animation: none;
    }
}
