
header.site{background:linear-gradient(180deg,#34136E 0%,#280E54 100%)!important;box-shadow:0 10px 30px rgba(18,6,46,.38)!important;border-bottom:1px solid rgba(255,255,255,.08)!important}
header.site .nav{background:transparent!important}
header.site .logo-word,header.site .links>a,header.site .auth .login{color:#fff!important}
.topbar{box-shadow:0 2px 0 rgba(0,0,0,.12)!important}
.lhx-side{position:fixed;right:0;top:50%;transform:translateY(-50%);z-index:9990;font-family:'Nunito',system-ui,sans-serif}
.lhx-gt{writing-mode:vertical-rl;transform:rotate(0deg);display:inline-flex;align-items:center;gap:8px;padding:18px 11px;border-radius:12px 0 0 12px;font-weight:900;font-size:14px;letter-spacing:.03em;text-decoration:none;background:#2A0F57;color:#FFC400;border:1px solid rgba(255,255,255,.18);box-shadow:-6px 8px 22px rgba(18,6,46,.42);transition:background .14s,color .14s}
.lhx-gt:hover{background:#3A1473;color:#FFD23F}
.lhx-gt svg{width:16px;height:16px;stroke:currentColor;fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.pilot{position:relative;overflow:hidden;background:linear-gradient(90deg,#280E54 0%,#3A1473 55%,#280E54 100%)!important;padding:7px 0!important;border-bottom:2px solid #FFC400!important}
.pilot::before{content:"";position:absolute;inset:0;background:linear-gradient(100deg,transparent 35%,rgba(255,255,255,.10) 50%,transparent 65%);transform:translateX(-100%);animation:lhpsheen 6.5s ease-in-out infinite;pointer-events:none;will-change:transform}
@keyframes lhpsheen{0%,55%{transform:translateX(-100%)}100%{transform:translateX(100%)}}
.pilot .wrap,.pilot-in{position:relative;z-index:1;gap:8px 16px!important;align-items:center!important;flex-wrap:wrap!important;justify-content:center!important}
.pilot .pilot-row{display:flex!important;align-items:center;gap:10px!important;flex-wrap:wrap;justify-content:center}
.pilot .pi{display:none!important}
.pilot h3{color:#fff!important;font-size:clamp(13px,1.5vw,16px)!important;margin:0!important;line-height:1.15!important;font-weight:800!important}
.pilot p{display:none!important}
.pilot .btn-gold,.pilot a.btn-gold{background:#FFC400!important;color:#3a2c00!important;padding:8px 16px!important;font-size:13px!important;border-radius:999px!important;box-shadow:0 3px 0 #B8870A!important;animation:lhpbtn 2.6s ease-in-out infinite;will-change:transform}
@keyframes lhpbtn{0%,100%{transform:translateY(0)}50%{transform:translateY(-2px)}}
.pilot .tp{display:none!important}
@media(prefers-reduced-motion:reduce){.pilot::before,.pilot .btn-gold,.pilot .tp-stars i{animation:none!important}.pilot .tp-stars i{transform:scale(1)}}
@media(max-width:640px){.pilot{padding:6px 0!important}.pilot h3{font-size:12px!important}.pilot .tp-by{display:none!important}}
@media(max-width:820px){.lhx-gt{padding:14px 9px;font-size:12px}}
/* Per-role homepage section adaptation (driven by the hero role tabs; default shows everything for SEO) */
html[data-lh-role] #lh-main .sec{transition:opacity .25s ease}
html[data-lh-role="teacher"] #lh-main .sec.game,html[data-lh-role="teacher"] #lh-main .sec.xp{display:none!important}
html[data-lh-role="school"] #lh-main .sec.game,html[data-lh-role="school"] #lh-main .sec.xp,html[data-lh-role="school"] #lh-main .sec.taster{display:none!important}
html[data-lh-role="mat"] #lh-main .sec.game,html[data-lh-role="mat"] #lh-main .sec.xp,html[data-lh-role="mat"] #lh-main .sec.taster{display:none!important}
html[data-lh-role="student"] #lh-main .sec.safety,html[data-lh-role="student"] #lh-main .sec.how{display:none!important}
/* Full-width single-open accordion FAQ */
.lhx2 .faqsec .faqgrid{column-count:1!important;max-width:860px!important;margin:0 auto!important}
.lhx2 .faqsec .qa{display:block!important;width:auto!important;border-radius:14px!important;margin:0 0 10px!important;border:1px solid var(--line)!important}
.lhx2 .faqsec .qa summary{font-size:1.04rem!important;padding:17px 20px!important;align-items:center!important}
.lhx2 .faqsec .qa[open]{border-color:#D9C8F0!important;box-shadow:0 12px 28px rgba(107,47,160,.12)!important}
.lhx2 .faqsec .qa > :not(summary){padding:0 20px 17px!important;color:var(--mut)!important;font-weight:600!important}
@media print{.lhx-side{display:none}}
