/* TFA Academy: uses TFA Neural theme tokens, with fallbacks */
.acad-grid,.acad-room,.acad-course,.acad-auth{--g:var(--gold,#D4AF37);--c:var(--cyan,#35e0ff);--ln:var(--line,rgba(212,175,55,.18));--pn:var(--panel,rgba(22,27,34,.55));--mu:var(--muted,#9aa3ad)}
.acad-h2{font-size:clamp(28px,3.4vw,44px)}
.acad-small{font-size:13px;color:var(--mu,#9aa3ad)}
.acad-small a,.acad-small{color:inherit}
a.acad-small{color:var(--gold,#D4AF37)}
.acad-ar{font-family:"Tajawal",sans-serif;color:var(--gold-2,#f3d777);margin:-.3em 0 .8em}
.acad-ar.big{font-size:22px}
.notice.info{border-color:var(--gold,#D4AF37);color:var(--gold-2,#f3d777);background:rgba(212,175,55,.06)}
.entry .notice,.notice{max-width:1200px}

/* catalog */
.acad-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,420px),1fr));gap:26px;margin:10px 0 40px}
.acad-card{position:relative;padding:34px;border-radius:22px;background:var(--pn);border:1px solid var(--ln);backdrop-filter:blur(12px);overflow:hidden;transition:border-color .4s,box-shadow .4s}
.acad-card::after{content:"";position:absolute;right:-80px;top:-80px;width:240px;height:240px;border-radius:50%;background:radial-gradient(circle,rgba(212,175,55,.18),transparent 70%);pointer-events:none}
.acad-card:hover{border-color:rgba(212,175,55,.55);box-shadow:0 30px 70px rgba(0,0,0,.45),0 0 50px rgba(212,175,55,.1)}
.acad-card-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:22px}
.acad-card .ico{width:58px;height:58px;border-radius:16px;display:grid;place-items:center;border:1px solid var(--ln);color:var(--g);background:rgba(212,175,55,.06)}
.acad-card .ico svg{width:28px;height:28px}
.acad-price{font:600 13px ui-monospace,monospace;letter-spacing:.15em;color:var(--c);border:1px solid rgba(53,224,255,.35);padding:7px 14px;border-radius:30px}
.acad-card h3{font-size:26px;margin-bottom:.2em}
.acad-card p{color:#cfd3d8}
.acad-meta{display:flex;flex-wrap:wrap;gap:8px;margin:18px 0 24px}
.acad-meta span{font:11px ui-monospace,monospace;letter-spacing:.12em;text-transform:uppercase;color:var(--mu);border:1px solid var(--ln);padding:6px 11px;border-radius:30px}
.acad-bar{height:4px;background:rgba(255,255,255,.07);border-radius:4px;overflow:hidden;margin:6px 0 16px}
.acad-bar i{display:block;height:100%;background:linear-gradient(90deg,var(--gold,#D4AF37),var(--cyan,#35e0ff));box-shadow:0 0 12px var(--gold,#D4AF37);transition:width .6s}

/* auth */
.acad-auth{max-width:560px;margin:10px auto 60px}
.acad-tabs{display:flex;gap:6px;padding:6px;border:1px solid var(--ln);border-radius:40px;margin-bottom:16px;background:rgba(0,0,0,.2)}
.acad-tabs button{flex:1;background:none;border:0;color:var(--mu);font:600 12px/1 var(--sans,sans-serif);letter-spacing:.12em;text-transform:uppercase;padding:13px 10px;border-radius:30px;cursor:pointer;transition:.3s}
.acad-tabs button.on{background:var(--gold,#D4AF37);color:var(--void,#0D1117)}
.acad-auth .form .btn{width:100%;justify-content:center}
.acad-wide{width:100%;justify-content:center}

/* dashboard */
.acad-dash-head{display:flex;justify-content:space-between;align-items:flex-end;gap:20px;flex-wrap:wrap;margin-bottom:30px}

/* course page */
.acad-course{display:grid;grid-template-columns:1.5fr 1fr;gap:40px;align-items:start;margin-bottom:50px}
@media (max-width:900px){.acad-course{grid-template-columns:1fr}}
.acad-course .lede{color:#cfd3d8;font-size:18px}
.acad-outline{list-style:none;counter-reset:l;padding:0;margin:0}
.acad-outline li{counter-increment:l;display:grid;grid-template-columns:44px 1fr;column-gap:12px;padding:16px 0;border-bottom:1px solid var(--ln)}
.acad-outline li::before{content:counter(l,decimal-leading-zero);grid-row:span 2;font:600 14px ui-monospace,monospace;color:var(--c);padding-top:3px}
.acad-outline b{color:#fff;font-weight:500}
.acad-outline span{color:var(--mu);font-family:"Tajawal",sans-serif;font-size:14px}
.acad-buy{position:sticky;top:100px;padding:30px;border-radius:22px;border:1px solid var(--ln);background:var(--pn);backdrop-filter:blur(14px)}
.acad-big-price{font:600 44px/1 var(--serif,serif);color:var(--g);margin:22px 0 14px;text-shadow:0 0 30px rgba(212,175,55,.3)}
.acad-incl{list-style:none;padding:0;margin:0 0 24px;color:#cfd3d8}
.acad-incl li{padding:7px 0;border-bottom:1px dashed var(--ln)}
.acad-incl li::before{content:"◆ ";color:var(--g);font-size:10px}
.acad-teacher-badge{display:flex;gap:14px;align-items:center}
.acad-teacher-badge b{display:block;font-family:var(--serif,serif);letter-spacing:.14em;color:#fff}
.acad-teacher-badge small{color:var(--c);font-size:12px}

/* avatar */
.acad-avatar{position:relative;flex:none;width:58px;height:58px;border-radius:50%;display:grid;place-items:center;color:var(--gold,#D4AF37);background:radial-gradient(circle at 50% 40%,rgba(212,175,55,.25),rgba(13,17,23,.95) 70%);border:1px solid rgba(212,175,55,.6);box-shadow:0 0 24px rgba(212,175,55,.35)}
.acad-avatar .acad-horus{width:70%;height:auto;filter:drop-shadow(0 0 6px rgba(212,175,55,.6))}
.acad-avatar i{position:absolute;inset:-6px;border-radius:50%;border:1px solid rgba(53,224,255,.35);opacity:0}
.acad-avatar i+i{inset:-12px;border-color:rgba(212,175,55,.3)}
.is-speaking .acad-avatar i{animation:ring 1.2s ease-out infinite}
.is-speaking .acad-avatar i+i{animation-delay:.4s}
.is-thinking .acad-avatar{animation:thinkp .7s ease-in-out infinite}
.is-listening .acad-avatar{border-color:#ff5f6d;box-shadow:0 0 30px rgba(255,95,109,.5)}
@keyframes ring{0%{opacity:.9;transform:scale(.9)}100%{opacity:0;transform:scale(1.35)}}
@keyframes thinkp{50%{box-shadow:0 0 40px var(--cyan,#35e0ff);color:var(--cyan,#35e0ff)}}

/* classroom */
.acad-room{display:grid;grid-template-columns:290px 1fr;gap:28px;align-items:start;margin-bottom:40px}
@media (max-width:980px){.acad-room{grid-template-columns:1fr}}
.acad-side{position:sticky;top:90px;padding:24px;border-radius:20px;border:1px solid var(--ln);background:var(--pn);backdrop-filter:blur(12px)}
@media (max-width:980px){.acad-side{position:static}}
.acad-side h3{font-size:20px;margin:12px 0 10px}
.acad-lessons{list-style:none;padding:0;margin:16px 0 0}
.acad-lessons a{display:flex;gap:12px;align-items:flex-start;padding:10px;border-radius:12px;color:#cfd3d8;font-size:14px;line-height:1.4;transition:.25s}
.acad-lessons a:hover{background:rgba(255,255,255,.04);color:#fff}
.acad-lessons .n{flex:none;width:26px;height:26px;border-radius:50%;display:grid;place-items:center;border:1px solid var(--ln);font:600 11px ui-monospace,monospace;color:var(--mu)}
.acad-lessons .cur a{background:rgba(212,175,55,.08);color:#fff;box-shadow:inset 2px 0 0 var(--gold,#D4AF37)}
.acad-lessons .cur .n{border-color:var(--gold,#D4AF37);color:var(--gold,#D4AF37)}
.acad-lessons .done .n{background:var(--gold,#D4AF37);border-color:var(--gold,#D4AF37);color:#0D1117;font-size:0}
.acad-lessons .done .n::after{content:"✓";font-size:12px}
.acad-lesson-head h2{font-size:clamp(24px,3vw,38px);margin-bottom:.2em}
.acad-teacher{border-radius:24px;border:1px solid var(--ln);background:linear-gradient(160deg,rgba(22,27,34,.8),rgba(13,17,23,.7));backdrop-filter:blur(16px);box-shadow:0 30px 80px rgba(0,0,0,.45);overflow:hidden;margin:18px 0}
.acad-t-head{display:flex;align-items:center;gap:14px;padding:16px 18px;border-bottom:1px solid var(--ln)}
.acad-t-id{flex:1;min-width:0}
.acad-t-id b{display:block;font-family:var(--serif,serif);letter-spacing:.16em;color:#fff}
.acad-t-id small{font:11px ui-monospace,monospace;letter-spacing:.14em;color:var(--c)}
.is-listening .acad-t-id small{color:#ff8a94}
.acad-t-ctl{display:flex;gap:8px;align-items:center}
.acad-seg{display:flex;border:1px solid var(--ln);border-radius:30px;overflow:hidden}
.acad-seg button{background:none;border:0;color:var(--mu);padding:8px 12px;font:600 12px var(--sans,sans-serif);cursor:pointer}
.acad-seg button.on{background:var(--gold,#D4AF37);color:#0D1117}
.acad-icbtn{width:38px;height:38px;border-radius:50%;border:1px solid var(--ln);background:none;color:var(--gold,#D4AF37);display:grid;place-items:center;cursor:pointer;transition:.25s}
.acad-icbtn svg{width:18px;height:18px}
.acad-icbtn:hover{border-color:var(--gold,#D4AF37)}
.acad-icbtn.off{color:var(--mu);opacity:.6}
.acad-wave{display:flex;gap:3px;align-items:center;justify-content:center;height:0;overflow:hidden;transition:height .3s}
.is-speaking .acad-wave,.is-listening .acad-wave{height:34px}
.acad-wave i{width:3px;height:6px;border-radius:3px;background:var(--gold,#D4AF37);animation:wv 1s ease-in-out infinite}
.is-listening .acad-wave i{background:#ff6b77}
.acad-wave i:nth-child(3n){animation-delay:.2s}.acad-wave i:nth-child(3n+1){animation-delay:.45s}.acad-wave i:nth-child(4n){animation-delay:.7s}
@keyframes wv{50%{height:26px}}
.acad-log{height:min(52vh,480px);overflow-y:auto;padding:20px;display:flex;flex-direction:column;gap:14px;scrollbar-width:thin;scrollbar-color:var(--ln) transparent}
.acad-msg{max-width:86%;padding:13px 17px;border-radius:18px;font-size:15.5px;line-height:1.6;animation:msgin .35s ease}
.acad-msg p{margin:0 0 .6em}.acad-msg p:last-child{margin:0}
.acad-msg ul{margin:.3em 0 .6em;padding-inline-start:1.2em}
.acad-msg.ai{align-self:flex-start;background:rgba(212,175,55,.07);border:1px solid rgba(212,175,55,.22);border-top-left-radius:4px}
.acad-msg.me{align-self:flex-end;background:rgba(53,224,255,.08);border:1px solid rgba(53,224,255,.25);border-top-right-radius:4px;color:#dff8ff}
.acad-msg[dir=rtl]{font-family:"Tajawal",sans-serif;font-size:16.5px}
.acad-msg code{background:rgba(0,0,0,.35);padding:1px 6px;border-radius:5px;font-size:.9em;color:var(--gold-2,#f3d777)}
.acad-msg pre{background:#07090d;border:1px solid var(--ln);border-radius:10px;padding:12px 14px;overflow-x:auto;direction:ltr;text-align:left}
.acad-msg pre code{background:none;padding:0;color:#d7e3ee}
.acad-typing{display:inline-flex;gap:5px}.acad-typing i{width:7px;height:7px;border-radius:50%;background:var(--gold,#D4AF37);animation:blink 1s infinite}
.acad-typing i:nth-child(2){animation-delay:.15s}.acad-typing i:nth-child(3){animation-delay:.3s}
@keyframes msgin{from{opacity:0;transform:translateY(8px)}}
@keyframes blink{50%{opacity:.2;transform:translateY(-3px)}}
.acad-chips{display:flex;gap:8px;padding:0 18px 12px;overflow-x:auto;scrollbar-width:none}
.acad-chips button{flex:none;background:rgba(255,255,255,.03);border:1px solid var(--ln);color:#e9e6dc;font:13px var(--sans,sans-serif);padding:8px 14px;border-radius:30px;cursor:pointer;transition:.25s}
.acad-chips button:first-child{border-color:var(--gold,#D4AF37);color:var(--gold,#D4AF37)}
.acad-chips button:hover{border-color:var(--cyan,#35e0ff);color:var(--cyan,#35e0ff)}
.acad-input{display:flex;gap:10px;align-items:center;padding:12px 14px;border-top:1px solid var(--ln);background:rgba(0,0,0,.22)}
.acad-input input{flex:1;min-width:0;background:transparent;border:0;outline:0;color:#fff;font:16px var(--sans,sans-serif);padding:10px 6px}
.acad-mic,.acad-send{flex:none;width:50px;height:50px;border-radius:50%;display:grid;place-items:center;cursor:pointer;transition:.25s}
.acad-mic svg,.acad-send svg{width:22px;height:22px}
.acad-mic{border:1px solid var(--gold,#D4AF37);background:rgba(212,175,55,.08);color:var(--gold,#D4AF37)}
.acad-mic:hover{box-shadow:0 0 22px rgba(212,175,55,.5)}
.acad-mic.on{background:#ff4d5e;border-color:#ff4d5e;color:#fff;box-shadow:0 0 0 8px rgba(255,77,94,.15),0 0 30px rgba(255,77,94,.6);animation:micp 1.2s infinite}
.acad-mic.na{opacity:.4}
@keyframes micp{50%{box-shadow:0 0 0 14px rgba(255,77,94,.05),0 0 30px rgba(255,77,94,.6)}}
.acad-send{border:0;background:var(--gold,#D4AF37);color:#0D1117}
.acad-send:hover{box-shadow:0 0 22px var(--gold,#D4AF37)}
.acad-handsfree{display:block;padding:0 18px 14px;font-size:12.5px;color:var(--mu);cursor:pointer}
.acad-handsfree input{accent-color:var(--gold,#D4AF37);margin-inline-end:6px}
.acad-notes{border:1px solid var(--ln);border-radius:18px;background:var(--pn);padding:6px 22px}
.acad-notes summary{cursor:pointer;padding:14px 0;font:600 12px ui-monospace,monospace;letter-spacing:.2em;text-transform:uppercase;color:var(--gold,#D4AF37)}
.acad-notes .entry{max-width:none;padding-bottom:10px}
.acad-foot{display:flex;flex-wrap:wrap;gap:12px;justify-content:space-between;margin-top:22px}
body.rtl .acad-msg.ai{border-top-left-radius:18px;border-top-right-radius:4px}
/* portal page layout */
.acad-hero{padding:150px 0 30px}
.acad-hero h1{font-size:clamp(34px,4.6vw,60px);margin:0}
.acad-page{padding-top:10px}
body:has(.acad-room) .acad-hero{display:none}
body:has(.acad-room) .acad-page{padding-top:110px}
.acad-page .notice{margin-bottom:22px}
.acad-page .entry{max-width:none}
.acad-page p{color:#cfd3d8}
.acad-room>*,.acad-course>*{min-width:0}
.acad-lessons a span{overflow-wrap:anywhere}
@media (max-width:980px){.acad-side{order:2}.acad-log{height:min(58vh,460px)}.acad-t-head{flex-wrap:wrap}.acad-msg{max-width:94%}}
.acad-t-id small[dir=rtl]{letter-spacing:0;font-family:"Tajawal",sans-serif;font-size:12.5px}
@media (max-width:980px){body:has(.acad-room) .wa{display:none}}

/* ===== v1.1: lesson plan, timer, visuals, Arabic mode ===== */
.acad-plan{margin:14px 0 4px;padding:16px 18px;border:1px solid var(--line,rgba(212,175,55,.18));border-radius:18px;background:var(--panel,rgba(22,27,34,.55))}
.acad-plan-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}
.acad-plan-label{font:600 11px ui-monospace,monospace;letter-spacing:.25em;text-transform:uppercase;color:var(--gold,#D4AF37)}
.acad-timer{display:inline-flex;gap:7px;align-items:center;font:500 13px ui-monospace,monospace;color:var(--muted,#9aa3ad)}
.acad-timer svg{width:16px;height:16px;color:var(--cyan,#35e0ff)}
.acad-timer b{color:#fff;font-weight:600}
.acad-timer.over b{color:#ffb86b}
.acad-segs{display:flex;gap:6px;list-style:none;margin:0;padding:0}
.acad-segs li{min-width:0;display:flex;flex-direction:column;gap:8px}
.acad-segs li i{display:block;height:6px;border-radius:6px;background:rgba(255,255,255,.08);transition:.5s}
.acad-segs li.past i{background:var(--gold,#D4AF37)}
.acad-segs li.now i{background:linear-gradient(90deg,var(--gold,#D4AF37),var(--cyan,#35e0ff));box-shadow:0 0 14px rgba(53,224,255,.6);animation:segp 2s ease-in-out infinite}
@keyframes segp{50%{opacity:.6}}
.acad-segs li span{display:flex;flex-direction:column;font-size:11.5px;line-height:1.3;color:var(--muted,#9aa3ad);overflow:hidden}
.acad-segs li b{font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.acad-segs li.now b{color:#fff}
.acad-segs li small{font:10px ui-monospace,monospace;opacity:.7}
@media (max-width:700px){.acad-segs li span{display:none}.acad-segs li.now span{display:flex;position:absolute;margin-top:14px}.acad-segs{position:relative;padding-bottom:30px}}
.acad-lessons small{display:block;font:10px ui-monospace,monospace;color:var(--muted,#9aa3ad);margin-top:2px}
.acad-lessons a>span:last-child{display:flex;flex-direction:column}

.acad-msg.has-vis{max-width:100%;width:100%}
.acad-vis{margin:12px 0;border-radius:14px;overflow:hidden;border:1px solid rgba(212,175,55,.25);background:#0a0e14}
.acad-img img{display:block;width:100%;height:auto;cursor:zoom-in;animation:msgin .6s ease}
.acad-chart{height:300px;padding:14px}
.acad-chart canvas{width:100%!important;height:100%!important}
.acad-diagram{padding:18px;text-align:center;overflow-x:auto}
.acad-diagram svg{max-width:100%;height:auto}
.acad-shimmer{aspect-ratio:3/2;display:grid;place-items:center;background:linear-gradient(110deg,#10151c 30%,#1a2230 50%,#10151c 70%);background-size:200% 100%;animation:shim 1.4s linear infinite}
.acad-shimmer.small{aspect-ratio:auto;height:160px}
.acad-shimmer span{font:12px ui-monospace,monospace;letter-spacing:.15em;color:var(--gold,#D4AF37)}
@keyframes shim{to{background-position:-200% 0}}
.acad-lightbox{position:fixed;inset:0;z-index:200;background:rgba(5,7,10,.92);display:grid;place-items:center;padding:20px;cursor:zoom-out}
.acad-lightbox[hidden]{display:none}
.acad-lightbox img{max-width:min(1400px,96vw);max-height:90vh;border-radius:14px;box-shadow:0 30px 90px rgba(0,0,0,.6)}
.acad-ar-h{font-family:"Tajawal",sans-serif!important;letter-spacing:0!important}
.is-ar .acad-plan-label,.is-ar .acad-notes summary,.is-ar .kicker{letter-spacing:.05em;font-family:"Tajawal",sans-serif}
.is-ar .acad-segs li span,.is-ar .acad-lessons [data-ar],.is-ar .acad-chips button,.is-ar .acad-handsfree,.is-ar .acad-foot .btn{font-family:"Tajawal",sans-serif;letter-spacing:0}
.is-ar .acad-notes .entry[dir=rtl]{font-family:"Tajawal",sans-serif;font-size:17px}
.acad-msg pre{direction:ltr;text-align:left}
