/* Learning Net Assistant widget */
#lna-root { position: fixed; right: 22px; bottom: 22px; z-index: 99999; font-family: inherit; }
#lna-toggle {
	width: 60px; height: 60px; border-radius: 50%; border: none; cursor: pointer;
	background: #006f60; color: #fff;
	display: flex; align-items: center; justify-content: center;
	box-shadow: 0 6px 20px rgba(0,111,96,.35);
	transition: transform .15s ease;
}
#lna-toggle:hover { transform: scale(1.06); }
#lna-panel {
	position: absolute; right: 0; bottom: 72px;
	width: 340px; max-width: calc(100vw - 44px); height: 480px; max-height: calc(100vh - 120px);
	background: #fff; border-radius: 16px; overflow: hidden;
	display: flex; flex-direction: column;
	box-shadow: 0 12px 40px rgba(22,60,70,.25);
	border: 1px solid #dce7e3;
}
#lna-head {
	background: #006f60; color: #fff; padding: 14px 16px;
	display: flex; align-items: center; justify-content: space-between;
}
#lna-head strong { display: block; font-size: 15px; }
#lna-head span { display: block; font-size: 12px; opacity: .85; }
#lna-close { background: none; border: none; color: #fff; font-size: 24px; cursor: pointer; line-height: 1; }
/* Fix: author display:flex beats the UA [hidden] rule, so the panel could never close */
#lna-panel[hidden] { display: none !important; }
#lna-msgs { flex: 1; overflow-y: auto; padding: 14px; display: flex; flex-direction: column; gap: 10px; background: #f7faf8; }
.lna-msg { max-width: 85%; padding: 10px 13px; border-radius: 14px; font-size: 14px; line-height: 1.45; }
.lna-msg.bot { background: #fff; border: 1px solid #dce7e3; color: #102422; align-self: flex-start; border-bottom-left-radius: 4px; }
.lna-msg.user { background: #006f60; color: #fff; align-self: flex-end; border-bottom-right-radius: 4px; }
.lna-msg.bot a { color: #006f60; font-weight: 600; }
#lna-chips { display: flex; gap: 8px; padding: 10px 14px 0; flex-wrap: wrap; background: #f7faf8; }
.lna-chip {
	border: 1px solid #006f60; color: #006f60; background: #fff; border-radius: 20px;
	padding: 6px 13px; font-size: 13px; cursor: pointer;
}
.lna-chip:hover { background: #006f60; color: #fff; }
#lna-input-row { display: flex; gap: 8px; padding: 12px 14px; background: #fff; border-top: 1px solid #dce7e3; }
#lna-input { flex: 1; border: 1px solid #dce7e3; border-radius: 22px; padding: 10px 14px; font-size: 14px; outline: none; }
#lna-input:focus { border-color: #006f60; }
#lna-send { width: 42px; height: 42px; border-radius: 50%; border: none; background: #006f60; color: #fff; font-size: 18px; cursor: pointer; flex-shrink: 0; }
@media (max-width: 480px) {
	#lna-panel { width: calc(100vw - 44px); height: 70vh; }
}
