@import url('https://fonts.googleapis.com/css2?family=Outfit:wght@500;600;700;800&family=Tajawal:wght@400;500;700;800&family=JetBrains+Mono:wght@500;700&display=swap');
/* Lina assistant launcher + panel. One scroll area per tab; the Gemini Live engine stays hidden inside #lina-engine. */
#learning-widgets{position:fixed;right:24px;bottom:24px;z-index:90;font-family:'DM Sans',system-ui,sans-serif;direction:ltr;color:#0f172a}
#learning-widgets [hidden]{display:none!important}
#lina-engine{display:none!important}
#study-helper{display:none!important}
.site-header [data-view="tutors"],.overview-bottom-nav [data-view="tutors"]{display:none!important}
@keyframes lina-pop{from{opacity:0;transform:translateY(16px) scale(.97)}to{opacity:1;transform:none}}
@keyframes lina-ring{0%{transform:scale(1);opacity:.5}100%{transform:scale(1.6);opacity:0}}
@keyframes lina-typing{0%,100%{opacity:.25;transform:translateY(0)}50%{opacity:1;transform:translateY(-3px)}}
@keyframes lina-talk{0%,100%{ry:1.5}25%{ry:5}50%{ry:2.5}75%{ry:6}}
@keyframes lina-blink{0%,94%,100%{transform:scaleY(1)}97%{transform:scaleY(.1)}}
/* Launcher */
#lina-bubble{display:flex;align-items:center;gap:10px;padding:8px 18px 8px 8px;border-radius:999px;border:1px solid #e2e8f0;background:#fff;box-shadow:0 14px 30px -10px rgba(15,23,42,.35);font-family:Outfit,sans-serif;font-weight:800;font-size:16px;color:#0f172a;cursor:pointer;animation:lina-pop .3s ease both;transition:transform .2s}
#lina-bubble:hover{transform:translateY(-2px)}
.lina-launcher-text{display:flex;flex-direction:column;align-items:flex-start;line-height:1.1}
.lina-launcher-text span:last-child{font-family:Tajawal,sans-serif;font-weight:500;font-size:12px;color:#64748b}
.lina-avatar{position:relative;display:block;border-radius:50%;flex:none}
.lina-avatar svg{display:block;width:100%;height:100%;border-radius:50%}
.lina-avatar-s{width:40px;height:40px;box-shadow:0 0 0 2px #fff,0 0 0 3.5px #a7f3d0}
.lina-avatar-m{width:44px;height:44px}
.lina-avatar-l{width:112px;height:112px;margin:6px auto 0;transition:width .3s,height .3s;box-shadow:0 6px 0 #a7f3d0,0 0 0 4px #fff}
.lina-avatar-l.lina-large{width:150px;height:150px}
.lina-dot{position:absolute;top:-2px;right:-2px;width:12px;height:12px;border-radius:50%;background:#ef4444;border:2px solid #fff}
.lina-online{position:absolute;right:0;bottom:0;width:12px;height:12px;border-radius:50%;background:#10b981;border:2px solid #fff}
.lina-eyes{transform-box:fill-box;transform-origin:center;animation:lina-blink 4s infinite}
.lina-mouth{display:none}.lina-talking .lina-mouth{display:block;animation:lina-talk .45s ease-in-out infinite}.lina-talking .lina-smile{display:none}
.lina-ring{position:absolute;inset:0;border-radius:50%;border:2px solid #10b981;opacity:0;pointer-events:none}
.lina-talking .lina-ring,.lina-listening .lina-ring{animation:lina-ring 1.8s ease-out infinite}.lina-ring-2{animation-delay:.9s!important}
.lina-listening .lina-ring{border-color:#60a5fa}
/* Panel */
#lina-panel{position:fixed;right:24px;bottom:24px;z-index:95;width:400px;height:min(660px,100vh - 48px);display:flex;flex-direction:column;overflow:hidden;background:#fff;border:1px solid #e2e8f0;border-radius:26px;box-shadow:0 30px 70px -20px rgba(15,23,42,.35),0 8px 20px -10px rgba(15,23,42,.15);animation:lina-pop .35s cubic-bezier(.2,.8,.2,1) both;text-align:left;color:#0f172a}
.lina-head{flex:none;display:flex;align-items:center;gap:12px;padding:14px 14px 12px 16px}
.lina-head-text{flex:1;min-width:0;display:flex;flex-direction:column}
.lina-head-text strong{font-family:Outfit,sans-serif;font-size:18px;line-height:1.2}
.lina-subtitle{font-size:12px;color:#64748b;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.lina-icon{width:36px;height:36px;border-radius:12px;border:none;background:#f1f5f9;color:#475569;font-size:15px;flex:none;cursor:pointer}
.lina-icon-ghost{background:transparent}
.lina-tabs{flex:none;display:flex;margin:0 14px 12px;background:#f1f5f9;border-radius:14px;padding:4px}
.lina-tab{flex:1;padding:9px 8px;border-radius:10px;border:none;background:transparent;color:#64748b;display:flex;gap:8px;align-items:center;justify-content:center;font-weight:700;font-size:14px;white-space:nowrap;transition:all .2s;cursor:pointer}
.lina-tab[aria-pressed=true]{background:#fff;color:#0f172a;box-shadow:0 2px 6px rgba(15,23,42,.12)}
.lina-tab span:last-child{font-family:Tajawal,sans-serif;font-weight:500;opacity:.7}
.lina-label{font-size:11px;font-weight:800;letter-spacing:.6px;color:#64748b}
/* Speak tab */
.lina-speak{flex:1;min-height:0;overflow:auto;border-top:1px solid #f1f5f9;display:flex;flex-direction:column}
.lina-stage{position:relative;padding:22px 18px 18px;display:flex;flex-direction:column;align-items:center;gap:12px;text-align:center;background:linear-gradient(180deg,#ecfdf5 0%,#fff 100%)}
.lina-clock{position:absolute;top:14px;right:14px;font-family:'JetBrains Mono',monospace;font-weight:700;font-size:14px;padding:5px 10px;border-radius:10px;background:#fff;color:#0f172a}
.lina-clock-low{background:#fee2e2;color:#b91c1c}
.lina-call-status{position:absolute;top:14px;left:14px;display:flex;gap:6px;align-items:center;font-size:12px;font-weight:700;color:#047857}
.lina-status-dot{width:7px;height:7px;border-radius:50%;background:#94a3b8}.lina-status-dot[data-tone=green]{background:#10b981}.lina-status-dot[data-tone=blue]{background:#3b82f6}
.lina-caption{margin:0;max-width:320px;font-family:Outfit,sans-serif;font-weight:600;font-size:18px;line-height:1.45;color:#0f172a;text-wrap:pretty;min-height:52px}
.lina-setup,.lina-live{padding:6px 16px 16px;display:flex;flex-direction:column;gap:14px}
.lina-row{display:flex;justify-content:space-between;align-items:center;gap:10px}
.lina-pills{display:flex;background:#f1f5f9;border-radius:999px;padding:3px}
.lina-pill{padding:6px 16px;border-radius:999px;border:none;font-family:Outfit,sans-serif;font-weight:800;font-size:13px;background:transparent;color:#64748b;cursor:pointer}
.lina-pill[aria-pressed=true]{background:#fff;color:#0f172a;box-shadow:0 2px 6px rgba(15,23,42,.12)}
.lina-topics{display:flex;flex-wrap:wrap;gap:8px}
.lina-topic{padding:8px 12px;border-radius:12px;border:2px solid #e2e8f0;background:#fff;color:#334155;font-weight:700;font-size:13px;white-space:nowrap;cursor:pointer;max-width:100%;overflow:hidden;text-overflow:ellipsis}
.lina-topic[aria-pressed=true]{background:#ecfdf5;border-color:#10b981;color:#047857}
.lina-start{margin-top:4px;padding:14px 18px;border:none;border-radius:16px;background:#10b981;color:#fff;font-family:Outfit,sans-serif;font-weight:800;font-size:17px;box-shadow:0 5px 0 #047857;white-space:nowrap;cursor:pointer}
.lina-start:active{transform:translateY(4px);box-shadow:0 1px 0 #047857}
.lina-start:disabled{background:#cbd5e1;box-shadow:0 5px 0 #94a3b8;cursor:default}
.lina-gate{margin:0;font-size:13px;line-height:1.5;color:#b45309;min-height:0}.lina-gate:empty{display:none}
.lina-auto{display:flex;align-items:center;gap:8px;font-size:12px;color:#64748b}.lina-auto input{width:16px;height:16px;accent-color:#10b981}
.lina-privacy{margin:0;font-family:Tajawal,sans-serif;font-size:13px;line-height:1.6;color:#64748b;text-align:center}.lina-privacy a{font-weight:700;color:#047857}
.lina-lines{display:flex;flex-direction:column;gap:6px;max-height:140px;overflow:auto}
.lina-line{display:flex;gap:8px;font-size:13px;line-height:1.5}.lina-line strong{flex:none;color:#0f172a}.lina-line[data-who=Lina] strong{color:#047857}.lina-line span{color:#334155}
.lina-controls{display:flex;justify-content:center;align-items:center;gap:16px}
.lina-round{border-radius:50%;border:none;cursor:pointer;display:grid;place-items:center}
.lina-round-s{width:48px;height:48px;border:2px solid #e2e8f0;background:#fff;font-size:16px;color:#475569}
.lina-mic{width:72px;height:72px;background:#10b981;color:#fff;font-size:26px;box-shadow:0 5px 0 #047857}
.lina-mic:active{transform:translateY(4px);box-shadow:0 1px 0 #047857}
.lina-mic.lina-mic-off{background:#64748b;box-shadow:0 5px 0 #334155}.lina-mic:disabled{opacity:.6}
.lina-end{background:#fee2e2;color:#b91c1c;border-color:#fee2e2}
.lina-hint{text-align:center;font-size:12px;color:#64748b}
.lina-text-row{display:flex;justify-content:center;gap:16px}
.lina-text{background:transparent;border:none;color:#047857;font-weight:700;font-size:12px;cursor:pointer;padding:4px 0}.lina-text:disabled{color:#94a3b8;cursor:default}
/* Chat tab */
.lina-chat{flex:1;min-height:0;display:flex;flex-direction:column;border-top:1px solid #f1f5f9}
.lina-log{flex:1;min-height:0;overflow:auto;padding:4px 16px 12px;display:flex;flex-direction:column;gap:10px}
.lina-context{margin-top:10px;padding:10px 12px;border-radius:14px;background:#f8fafc;border:1px solid #eef2f6;display:flex;gap:10px;align-items:center;flex-wrap:wrap}
.lina-ctx-icon{width:30px;height:30px;border-radius:9px;flex:none;display:grid;place-items:center;background:#10b981;color:#fff;font-weight:800;font-size:13px}
.lina-ctx-body{flex:1;min-width:0;display:flex;flex-direction:column}
.lina-ctx-title{font-size:13px;font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.lina-ctx-badge{font-size:11px;font-weight:700;padding:3px 8px;border-radius:999px;white-space:nowrap;background:#f1f5f9;color:#64748b}.lina-ctx-badge[data-tone=ok]{color:#047857;background:#ecfdf5}
.lina-messages{display:flex;flex-direction:column;gap:10px}
.lina-bubble{max-width:88%;padding:10px 14px;font-size:15px;line-height:1.55;white-space:pre-wrap;text-align:start}
.lina-bubble[data-who=lina]{align-self:flex-start;background:#f1f5f9;color:#0f172a;border-radius:18px 18px 18px 6px}
.lina-bubble[data-who=me]{align-self:flex-end;background:#0f172a;color:#fff;border-radius:18px 18px 6px 18px}
.lina-typing{align-self:flex-start;display:flex;gap:4px;padding:12px 14px;border-radius:16px 16px 16px 6px;background:#f1f5f9}
.lina-typing i{width:6px;height:6px;border-radius:50%;background:#64748b;animation:lina-typing 1s infinite}.lina-typing i:nth-child(2){animation-delay:.15s}.lina-typing i:nth-child(3){animation-delay:.3s}
.lina-chips{display:flex;flex-wrap:wrap;gap:8px;padding-top:2px}
.lina-chip{padding:8px 12px;border-radius:999px;border:1.5px solid #d1fae5;background:#fff;color:#065f46;font-weight:700;font-size:13px;display:flex;gap:6px;align-items:center;white-space:nowrap;cursor:pointer}
.lina-chip:hover{background:#ecfdf5;border-color:#10b981}.lina-chip:disabled{opacity:.5;cursor:default}
.lina-chip span:last-child{font-family:Tajawal,sans-serif;font-weight:500;color:#64748b}
.lina-input-row{flex:none;padding:10px 12px 12px;border-top:1px solid #f1f5f9;display:flex;gap:8px;align-items:center}
.lina-field{flex:1;min-width:0;display:flex;align-items:center;gap:6px;background:#f1f5f9;border-radius:16px;padding:4px 4px 4px 14px;border:2px solid transparent;transition:border-color .2s}
.lina-field:focus-within{border-color:#10b981}
.lina-field input{flex:1;min-width:0;background:transparent;border:none;font-size:15px;padding:9px 0;font-family:inherit;color:#0f172a;outline:none}
.lina-send{width:46px;height:46px;flex:none;border-radius:15px;border:none;background:#10b981;color:#fff;font-size:18px;font-weight:800;box-shadow:0 3px 0 #047857;cursor:pointer;transition:background .2s}
.lina-send:disabled{background:#cbd5e1;box-shadow:0 3px 0 #94a3b8;cursor:default}
/* WhatsApp contact opposite the assistant */
#whatsapp-widget{position:fixed;left:20px;bottom:22px;width:58px;height:58px;padding:12px;border-radius:50%;box-sizing:border-box;display:flex;align-items:center;justify-content:center;background:#25d366;color:#fff;border:1px solid #25d366;box-shadow:0 5px 24px #0f392d26;text-decoration:none;cursor:pointer}
#whatsapp-widget svg{width:32px;height:32px;flex:none}#whatsapp-widget>span{display:none}#whatsapp-widget[aria-disabled=true]{opacity:.65;cursor:default}
#lesson #learning-widgets{bottom:98px}#lesson #whatsapp-widget{bottom:98px}#lesson #lina-panel{bottom:98px;height:min(620px,100vh - 130px)}
body.lina-open .home-badge{visibility:hidden}
@media(max-width:640px){
 #learning-widgets{right:12px;bottom:80px}#lina-bubble{font-size:14px;padding:6px 14px 6px 6px}
 #lina-panel,#lesson #lina-panel{inset:0;width:auto;height:auto;border-radius:0;padding-bottom:env(safe-area-inset-bottom)}
 #whatsapp-widget{left:12px;bottom:80px;width:52px;height:52px;padding:10px}#lesson #whatsapp-widget{bottom:132px}#lesson #learning-widgets{bottom:132px}
 .lina-avatar-l.lina-large{width:130px;height:130px}
}
@media(prefers-reduced-motion:reduce){#lina-panel,#lina-bubble{animation:none}.lina-ring{animation:none!important}.lina-eyes{animation:none}}
/* Answer ratings and the error notebook */
.lina-answer{display:flex;flex-direction:column;gap:4px;align-self:flex-start;max-width:88%}.lina-answer .lina-bubble{max-width:100%}
.lina-rate{display:flex;gap:4px;padding-left:6px}.lina-rate button{border:none;background:transparent;font-size:14px;padding:2px 6px;border-radius:8px;opacity:.55;cursor:pointer}.lina-rate button[aria-pressed=true]{opacity:1;background:#ecfdf5}.lina-rate[data-tone=down] button[aria-pressed=true]{background:#fee2e2}
.lina-notebook{display:flex;flex-direction:column;gap:8px;padding:12px;border-radius:14px;background:#f8fafc;border:1px solid #eef2f6}
.lina-note{display:flex;gap:8px;align-items:flex-start;padding:8px 10px;border-radius:12px;background:#fff;border:1px solid #e2e8f0}
.lina-note-body{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px;font-size:13px;line-height:1.45}.lina-note-body s{color:#b91c1c;text-decoration-color:#fca5a5}.lina-note-body b{color:#047857}.lina-note-body small{color:#64748b}
.lina-note-delete{border:none;background:#f1f5f9;color:#475569;width:26px;height:26px;border-radius:8px;cursor:pointer;flex:none}
.lina-note-empty{margin:0;font-size:13px;color:#64748b;line-height:1.5}
