/* страница нейросети-помощника: template/wflex/assistant.php. Цвета — переменные темы из flexstyles.css */
.as{color:var(--content_text)}
.as_sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.as_box{border:1px solid var(--header_button_border_color);border-radius:10px;background:var(--content_background);margin:12px 0;display:flex;flex-direction:column}
/* переписка прокручивается вместе со страницей, поле ввода прилеплено к низу экрана (sticky), пока виден чат */
.as_log{min-height:200px;padding:14px;display:flex;flex-direction:column;gap:12px}
.as_empty{margin:auto;text-align:center;max-width:520px}
.as_ex_title{margin:14px 0 6px;font-size:.9em}
.as_ex{display:flex;flex-wrap:wrap;gap:8px;justify-content:center}
.as_chip{font:inherit;font-size:.9em;padding:6px 12px;border-radius:16px;border:1px solid var(--header_button_border_color);background:var(--body_background);color:var(--content_title);cursor:pointer}
.as_chip:hover{border-color:var(--content_link)}
.as_msg{max-width:88%;padding:10px 14px;border-radius:12px;line-height:1.55;overflow-wrap:anywhere}
.as_msg_user{align-self:flex-end;background:var(--modal_button);color:#fff;white-space:pre-wrap;border-bottom-right-radius:4px}
.as_msg_bot{align-self:flex-start;background:var(--formula_background);color:var(--content_title);border-bottom-left-radius:4px}
.as_msg_err{align-self:center;background:none;color:#d33;border:1px solid #d33;font-size:.92em}
.as_msg_err a{color:inherit;font-weight:600;text-decoration:underline}
.as_msg_bot p{margin:0 0 .6em}
.as_msg_bot p:last-child{margin-bottom:0}
.as_msg_bot ul,.as_msg_bot ol{margin:.3em 0 .6em;padding-left:1.4em}
.as_msg_bot h3,.as_msg_bot h4{font-size:1em;margin:.6em 0 .3em;color:var(--content_title)}
.as_msg_bot code{font:.92em ui-monospace,Menlo,Consolas,monospace;background:var(--content_background);padding:1px 4px;border-radius:4px}
.as_msg_bot pre{background:var(--content_background);padding:8px 10px;border-radius:6px;overflow-x:auto;margin:.4em 0}
.as_msg_bot pre code{padding:0;background:none}
.as_msg_bot table{border-collapse:collapse;margin:.4em 0;display:block;overflow-x:auto}
.as_msg_bot td,.as_msg_bot th{border:1px solid var(--header_button_border_color);padding:3px 8px}
.as_tools{margin-top:6px;text-align:right}
.as_copy{font:inherit;font-size:.8em;background:none;border:0;color:var(--content_link);cursor:pointer;padding:0}
.as_wait{opacity:.7;font-style:italic}
.as_wait::after{content:"";display:inline-block;width:1em;animation:as_dots 1.2s steps(4) infinite;overflow:hidden;vertical-align:bottom}
@keyframes as_dots{0%{content:""}25%{content:"."}50%{content:".."}75%{content:"..."}}
.as_form{position:sticky;bottom:0;z-index:5;border-top:1px solid var(--header_button_border_color);padding:10px 10px calc(8px + env(safe-area-inset-bottom));background:var(--content_background);border-radius:0 0 10px 10px;box-shadow:0 -6px 12px -8px rgba(0,0,0,.25)}
.as_row{display:flex;gap:8px;align-items:flex-end}
/* 16px — иначе iOS увеличивает страницу при фокусе; высота растёт с текстом (assistant.js) */
.as_q{flex:1;min-width:0;box-sizing:border-box;font:inherit;font-size:16px;line-height:1.4;padding:9px 11px;border:1px solid var(--header_button_border_color);border-radius:12px;background:var(--content_background);color:var(--content_title);resize:none;min-height:96px;max-height:45vh;overflow-y:auto}
.as_q:focus{outline:2px solid var(--focus_ring);outline-offset:0}
.as_bar{display:flex;gap:8px;align-items:center;margin-top:6px}
.as_hint{flex:1;font-size:.82em;min-width:150px}
.as_btn{font:inherit;flex-shrink:0;min-height:42px;border-radius:21px;padding:8px 16px;border:1px solid var(--modal_button);background:var(--modal_button);color:#fff;cursor:pointer}
.as_btn:hover{background:var(--modal_button_hover)}
.as_btn:disabled{opacity:.5;cursor:default}
.as_btn_light{background:none;color:var(--content_title);border-color:var(--header_button_border_color)}
.as_btn_light:hover{background:var(--body_background)}
.as_notice{font-size:.85em}
.as_off{padding:14px;border-radius:8px;border:1px solid var(--header_button_border_color);margin:12px 0}
.as_send_i{display:none;vertical-align:middle}
.as_link{font:inherit;font-size:.85em;background:none;border:0;padding:4px 0;color:var(--content_link);cursor:pointer;margin-left:auto}
.as_link:disabled{opacity:.5;cursor:default}
/* телефон: чат на всю ширину без рамки, кнопка отправки — круглая со значком */
@media (max-width:600px){
	.as_box{border:0;border-radius:0;background:none;margin:8px 0}
	.as_log{padding:4px 0;min-height:120px}
	.as_msg{max-width:92%;padding:9px 12px}
	.as_form{padding:8px 0 calc(8px + env(safe-area-inset-bottom));border-radius:0;box-shadow:0 -10px 12px -10px rgba(0,0,0,.25)}
	.as_hint{display:none}
	.as_send{width:42px;padding:0}
	.as_send_t{display:none}
	.as_send_i{display:inline}
	.as_empty{margin:12px auto}
	.as_q{min-height:76px;max-height:40vh}
}
.as_retry{margin-top:8px;font-size:.95em}
/* формулы LaTeX (KaTeX, include/libs/katex): отдельная формула прокручивается сама, если не помещается по ширине */
.as_msg_bot .katex{font-size:1.08em}
.as_msg_bot .katex-display{margin:.5em 0;overflow-x:auto;overflow-y:hidden;padding:2px 0}
.as_tex{font:.92em ui-monospace,Menlo,Consolas,monospace}
