/* SANDY-AI — компонент в страницата (0.2.10-CLAUDE; правилата на предишните версии са непроменени, новото е в края на файла).
   Всички селектори са в .sandy-root / с префикс sandy-. Котаракът е самостоятелно изображение с прозрачен фон;
   зелените фонове, текстът и бутоните са отделни HTML/CSS елементи. */

.sandy-root {
	--sandy-green: #1f8a35;
	--sandy-green-dark: #156d28;
	--sandy-title: #1e7a30;
	--sandy-ink: #15291a;
	--sandy-muted: #4f6152;
	--sandy-border: #a8e398;
	--sandy-user: #e3f1fb;
	--sandy-stage: linear-gradient(100deg, #c6f1ae 0%, #c3efad 40%, #def8cf 100%);
	box-sizing: border-box;
	position: relative;
	width: 100%;
	max-width: 100%;
	margin: 0 0 4px;
	container-type: inline-size; /* размерите на котарака се смятат от ширината на компонента */
	color: var(--sandy-ink);
	font-size: 16px;
	line-height: 1.4;
}
.sandy-root *, .sandy-root *::before, .sandy-root *::after { box-sizing: border-box; }
.sandy-root [hidden] { display: none !important; }
.sandy-root .sandy-sparkle,
.sandy-root .sandy-hero,
.sandy-root .sandy-panel {
	background:
		radial-gradient(circle at 74% 16%, rgba(255, 255, 255, .7) 0 2px, transparent 3px),
		radial-gradient(circle at 93% 70%, rgba(255, 255, 255, .6) 0 2px, transparent 3px),
		radial-gradient(circle at 47% 88%, rgba(255, 255, 255, .5) 0 1.5px, transparent 2.5px),
		radial-gradient(circle at 60% 40%, rgba(255, 255, 255, .45) 0 1.5px, transparent 2.5px),
		var(--sandy-stage);
	background-color: #c9f1b4;
	border: 2px solid var(--sandy-border);
	box-shadow: 0 0 0 5px rgba(168, 227, 152, .22), 0 12px 30px rgba(40, 120, 50, .10);
}

/* ================= CLOSED — компютър ================= */
.sandy-root .sandy-banner {
	display: grid;
	grid-template-columns: 37% minmax(0, 1fr) auto;
	grid-template-rows: auto auto;
	column-gap: 28px;
	align-items: center;
	padding: 0; /* без празна лента под менюто: главата излиза нагоре чрез позициониране (пред хедъра — вж. края на файла) */
}
.sandy-root .sandy-hero {
	grid-area: 1 / 1 / 3 / 4; position: relative; align-self: stretch; border-radius: 28px;
	/* височина = височината на котарака − 12 px (лапички върху ръба) − 24 px (глава над банера, в бялото под менюто) */
	min-height: calc(min(37cqw, 430px) * .8417 - 36px);
}
.sandy-root .sandy-cat-img {
	position: absolute;
	left: -12px; /* 1,5 % по-наляво от първата одобрена версия (~18 px) */
	bottom: -12px;
	width: min(37cqw, 430px);
	max-width: none;
	height: auto;
	margin: 0;
	border: 0;
	box-shadow: none;
	z-index: 3; /* над разгънатия панел — лапичките не се изрязват */
	pointer-events: none; /* не пречи на кликовете под него */
	user-select: none;
}
.sandy-root .sandy-name { grid-area: 1 / 2; z-index: 1; align-self: end; margin: 30px 0 16px; font-weight: 800; line-height: 1.08; letter-spacing: -.01em; }
.sandy-root .sandy-name-1 { display: block; font-size: 52px; color: var(--sandy-title); }
.sandy-root .sandy-name-2 { display: block; font-size: 29px; color: var(--sandy-ink); white-space: nowrap; }
.sandy-root .sandy-name-2 .sandy-badge { white-space: nowrap; }
.sandy-root .sandy-badge { display: inline-block; vertical-align: .2em; margin-left: 10px; padding: 3px 9px 2px; font-size: .62em; font-weight: 800; line-height: 1.2; letter-spacing: .02em; color: #fff; background: var(--sandy-green); border-radius: 8px; }
.sandy-root .sandy-suggest-wrap { grid-area: 2 / 2; z-index: 1; align-self: start; max-width: 560px; margin: 0 0 20px; }
.sandy-root .sandy-actions { grid-area: 1 / 3 / 3 / 4; z-index: 1; display: flex; align-items: center; margin-right: 32px; }

/* Бутони — собствени стилове, независими от темата */
.sandy-root .sandy-btn { -webkit-appearance: none; appearance: none; display: inline-flex; align-items: center; justify-content: center; margin: 0; font: inherit; font-weight: 700; line-height: 1.2; text-transform: none; letter-spacing: normal; border: 0; border-radius: 999px; cursor: pointer; box-shadow: none; text-decoration: none; }
.sandy-root .sandy-btn:focus-visible { outline: 3px solid #7fcf6c; outline-offset: 3px; }
.sandy-root .sandy-btn:disabled { opacity: .55; cursor: default; }
.sandy-root .sandy-suggest { display: flex; align-items: center; position: relative; margin: 0; line-height: 1.2; letter-spacing: normal; text-transform: none; border: 0; width: 100%; justify-content: flex-start; gap: 14px; padding: 13px 18px; font-size: 19px; font-weight: 500; text-align: left; color: var(--sandy-ink); background: rgba(255, 255, 255, .93); border-radius: 20px; box-shadow: 0 4px 14px rgba(40, 110, 50, .10); }
.sandy-root .sandy-bulb { flex: 0 0 28px; width: 28px; height: 28px; }
.sandy-root .sandy-bulb-glass { fill: #f6c623; }
.sandy-root .sandy-bulb-base { fill: #8a8f96; }
.sandy-root .sandy-suggest-text { flex: 1 1 auto; min-width: 0; }
/* Бутон „око“: поставя примерния въпрос в полето за писане (без изпращане) */
/* Мястото на старата стрелка „›“ се пази невидимо (същата ширина и височина като в 0.2.1 — полето не се променя),
   а бутонът „око“ стои върху него. Невидима зона около бутона дава по-голяма площ за докосване. */
.sandy-root .sandy-chev { flex: 0 0 auto; font-size: 30px; line-height: 1; visibility: hidden; }
.sandy-root .sandy-chev::before { content: "\203A"; }
.sandy-root .sandy-chip .sandy-chev { font-size: 26px; }
.sandy-root .sandy-eye { position: absolute; top: 50%; right: 6px; width: 34px; height: 34px; margin: -17px 0 0; padding: 0; color: var(--sandy-green-dark); background: #eef8e8; border: 1px solid rgba(168, 227, 152, .95); border-radius: 50%; }
.sandy-root .sandy-chip .sandy-eye { right: 4px; width: 32px; height: 32px; margin-top: -16px; }
.sandy-root .sandy-eye::after { content: ""; position: absolute; inset: -7px; border-radius: 50%; }
.sandy-root .sandy-eye:hover { color: #fff; background: var(--sandy-green); }
.sandy-root .sandy-eye-ico { width: 20px; height: 20px; fill: none; stroke: currentColor; stroke-width: 1.9; stroke-linecap: round; stroke-linejoin: round; }
.sandy-root .sandy-dots { display: flex; justify-content: center; gap: 2px; margin: 8px 0 0; }
.sandy-root .sandy-dot { width: 10px; height: 10px; border-radius: 50%; background: rgba(31, 138, 53, .3); }
.sandy-root .sandy-dot.sandy-dot-on { background: var(--sandy-green-dark); }
.sandy-root .sandy-ask { padding: 20px 34px; font-size: 22px; font-weight: 800; letter-spacing: .02em; white-space: nowrap; color: #fff; background: linear-gradient(180deg, #24963c 0%, #157028 100%); box-shadow: 0 0 0 3px rgba(255, 255, 255, .85), 0 0 0 6px rgba(120, 215, 110, .55), 0 8px 18px rgba(20, 100, 35, .25); }
.sandy-root .sandy-ask:hover { background: linear-gradient(180deg, #1f8a35 0%, #12601f 100%); color: #fff; }
.sandy-root .sandy-icon { width: 40px; height: 40px; padding: 0; font-size: 22px; color: var(--sandy-ink); background: transparent; }
.sandy-root .sandy-icon:hover { background: rgba(31, 138, 53, .08); color: var(--sandy-ink); }
.sandy-root .sandy-link { padding: 6px 8px; font-size: 13px; font-weight: 600; color: var(--sandy-muted); background: transparent; }
.sandy-root .sandy-link:hover { color: var(--sandy-ink); background: transparent; }

/* ================= OPEN — компютър =================
   Александър остава на същото място и в същия размер: банерът не се мести, зеленият контейнер се разгъва надолу.
   Вляво под лапичките — предложените въпроси (по два); вдясно — разговорът, започващ от горния край на банера. */
.sandy-root {
	--sandy-w: min(37cqw, 430px);                          /* ширина на приклекналия Александър (одобрен CLOSED) */
	--sandy-hero-h: calc(var(--sandy-w) * .8417 - 36px);   /* височина на банера */
	/* Изправеният Александър е подравнен по очите: същото разстояние между очите и същата средна точка като в CLOSED
	   (измерено по зелените ириси в двата оригинални PNG: 310,6 px и 248,4 px). */
	--sandy-open-w: calc(var(--sandy-w) * .9367);
	--sandy-open-left: calc(-12px + var(--sandy-w) * .0058);
	--sandy-open-top: calc(-24px + var(--sandy-w) * .0158);
	--sandy-open-bottom: calc(-24px + var(--sandy-w) * 1.4208); /* долен край на лапите спрямо горния ръб на банера */
}
/* Деликатни сенки (отделни CSS ефекти — регулират се или се махат само от тези две променливи) */
.sandy-root {
	--sandy-cat-shadow: drop-shadow(0 10px 14px rgba(28, 78, 34, .16)) drop-shadow(0 2px 3px rgba(28, 60, 30, .14)); /* следва контура на PNG */
	--sandy-contact: rgba(24, 66, 30, .30);                                                                          /* контактна сянка под лапите (OPEN) */
}
.sandy-root .sandy-cat-img, .sandy-root .sandy-cat-open { filter: var(--sandy-cat-shadow); }
.sandy-root .sandy-contact-shadow {
	display: none; position: absolute; z-index: 2; pointer-events: none;
	left: calc(var(--sandy-open-left) + var(--sandy-open-w) * .07);
	width: calc(var(--sandy-open-w) * .88);
	top: calc(var(--sandy-open-top) + var(--sandy-open-w) * 1.395);
	height: calc(var(--sandy-open-w) * .11);
	background: radial-gradient(ellipse at 50% 50%, var(--sandy-contact) 0%, rgba(24, 66, 30, .12) 42%, transparent 70%);
}
.sandy-root.sandy-is-open .sandy-contact-shadow, .sandy-root.sandy-is-expanded .sandy-contact-shadow { display: block; }
.sandy-root .sandy-cat-open { display: none; position: absolute; z-index: 3; left: var(--sandy-open-left); top: var(--sandy-open-top); width: var(--sandy-open-w); max-width: none; height: auto; margin: 0; border: 0; box-shadow: none; pointer-events: none; user-select: none; }
.sandy-root.sandy-is-open .sandy-cat-open, .sandy-root.sandy-is-expanded .sandy-cat-open { display: block; }
.sandy-root.sandy-is-open .sandy-cat-img, .sandy-root.sandy-is-expanded .sandy-cat-img { display: none; }
.sandy-root.sandy-is-open .sandy-name, .sandy-root.sandy-is-open .sandy-suggest-wrap, .sandy-root.sandy-is-open .sandy-actions,
.sandy-root.sandy-is-expanded .sandy-name, .sandy-root.sandy-is-expanded .sandy-suggest-wrap, .sandy-root.sandy-is-expanded .sandy-actions { visibility: hidden; }
.sandy-root.sandy-is-open .sandy-hero, .sandy-root.sandy-is-expanded .sandy-hero { border-bottom-color: transparent; border-bottom-left-radius: 0; border-bottom-right-radius: 0; box-shadow: none; }
.sandy-root .sandy-panel {
	position: relative;
	display: grid;
	grid-template-columns: 37% minmax(0, 1fr);
	column-gap: 28px;
	align-items: start;
	margin: 0;
	align-items: stretch;
	min-height: calc(var(--sandy-open-bottom) - var(--sandy-hero-h) + 110px); /* място за изправеното тяло + един въпрос под лапите */
	padding: 0 32px 26px 0;
	border-top: 0;
	border-radius: 0 0 28px 28px;
	box-shadow: 0 22px 26px -14px rgba(40, 120, 50, .18); /* сянка само надолу — без шев с банера */
}
.sandy-root .sandy-chips { grid-column: 1; align-self: start; display: grid; gap: 6px; margin: calc(var(--sandy-open-bottom) - var(--sandy-hero-h) + 16px) 0 0 24px; } /* под лапите */
.sandy-root .sandy-chips .sandy-chip { display: none; }
.sandy-root .sandy-chips[data-sandy-page="0"] .sandy-chip:nth-of-type(1),
.sandy-root .sandy-chips[data-sandy-page="1"] .sandy-chip:nth-of-type(2),
.sandy-root .sandy-chips[data-sandy-page="2"] .sandy-chip:nth-of-type(3),
.sandy-root .sandy-chips[data-sandy-page="3"] .sandy-chip:nth-of-type(4) { display: flex; } /* един видим въпрос (слайдер) */
.sandy-root .sandy-chip { position: relative; align-items: center; margin: 0; line-height: 1.2; letter-spacing: normal; text-transform: none; justify-content: flex-start; gap: 12px; min-height: 64px; padding: 12px 16px; font-size: 17px; font-weight: 600; text-align: left; color: var(--sandy-ink); background: rgba(255, 255, 255, .93); border: 1px solid rgba(168, 227, 152, .8); border-radius: 18px; box-shadow: 0 4px 12px rgba(40, 110, 50, .08); }
.sandy-root .sandy-chip-ico { flex: 0 0 30px; width: 30px; height: 30px; fill: none; stroke: var(--sandy-green); stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.sandy-root .sandy-chip-text { flex: 1 1 auto; min-width: 0; }
.sandy-root .sandy-chips-nav { display: flex; justify-content: center; gap: 4px; margin: 2px 0 0; }
.sandy-root .sandy-page-dot { width: 26px; height: 26px; padding: 0; background: transparent; }
.sandy-root .sandy-page-dot::before { content: ""; width: 10px; height: 10px; border-radius: 50%; background: rgba(31, 138, 53, .3); }
.sandy-root .sandy-page-dot.sandy-dot-on::before { background: var(--sandy-green-dark); }
.sandy-root .sandy-chat {
	grid-column: 2; grid-row: 1 / span 2; position: relative; z-index: 2; display: flex; flex-direction: column; min-width: 0;
	margin-top: calc(-1 * var(--sandy-hero-h) + 22px); /* започва от горния край на банера, вдясно от Александър */
	padding: 18px 22px 14px; background: rgba(255, 255, 255, .92); border: 2px solid rgba(168, 227, 152, .9); border-radius: 26px; box-shadow: 0 0 24px rgba(120, 215, 110, .45);
}
.sandy-root .sandy-chat-head { display: flex; align-items: center; justify-content: space-between; gap: 10px; padding: 0 0 12px; border-bottom: 1px solid rgba(168, 227, 152, .7); }
.sandy-root .sandy-chat-title { font-size: 21px; font-weight: 800; line-height: 1.2; }
.sandy-root .sandy-chat-title .sandy-badge { font-size: 12px; vertical-align: .15em; }
.sandy-root .sandy-log { flex: 1 1 auto; height: 300px; min-height: 300px; overflow-y: auto; padding: 14px 2px 6px; }
.sandy-root .sandy-msg { margin: 0 0 10px; max-width: 88%; }
.sandy-root .sandy-msg-user { margin-left: auto; }
.sandy-root .sandy-who { font-size: 12px; font-weight: 700; color: var(--sandy-muted); margin: 0 0 2px; }
.sandy-root .sandy-msg-user .sandy-who { text-align: right; }
.sandy-root .sandy-msg-hint .sandy-who { display: none; }
.sandy-root .sandy-text { white-space: pre-wrap; overflow-wrap: anywhere; padding: 10px 14px; border-radius: 16px; background: #eef8e8; font-size: 16px; }
.sandy-root .sandy-msg-hint .sandy-text { font-size: 17px; }
.sandy-root .sandy-msg-user .sandy-text { background: var(--sandy-user); }
.sandy-root .sandy-msg-system .sandy-text { background: transparent; color: var(--sandy-muted); font-style: italic; padding: 2px 0; }
.sandy-root .sandy-form { margin: 8px 0 0; }
.sandy-root .sandy-input-row { display: flex; align-items: center; gap: 8px; padding: 6px 6px 6px 18px; background: #fff; border: 1px solid rgba(168, 227, 152, .9); border-radius: 999px; }
.sandy-root .sandy-input { flex: 1 1 auto; display: block; width: 100%; min-height: 44px; max-height: 140px; margin: 0; padding: 11px 0; font: inherit; font-size: 16px; color: var(--sandy-ink); background: transparent; border: 0; border-radius: 0; resize: none; box-shadow: none; outline: none; }
.sandy-root .sandy-send { flex: 0 0 52px; width: 52px; height: 52px; padding: 0; color: #fff; background: linear-gradient(180deg, #24963c 0%, #157028 100%); }
.sandy-root .sandy-send:hover { background: var(--sandy-green-dark); color: #fff; }
.sandy-root .sandy-send-ico { width: 24px; height: 24px; fill: #fff; }
.sandy-root .sandy-form-row { display: flex; justify-content: flex-end; margin: 4px 0 0; }
.sandy-root .sandy-disclaimer { margin: 2px 0 0; font-size: 10px; line-height: 1.3; letter-spacing: .01em; color: #5d6e60; text-align: center; }

/* ================= Таблет ================= */
@media (max-width: 1000px) {
	.sandy-root .sandy-banner { grid-template-columns: 38% minmax(0, 1fr); grid-template-rows: auto auto auto; column-gap: 24px; }
	.sandy-root .sandy-hero { grid-area: 1 / 1 / 4 / 3; }
	.sandy-root .sandy-cat-img { width: 38cqw; }
	.sandy-root .sandy-hero { min-height: calc(38cqw * .8417 - 36px); }
	.sandy-root .sandy-name-1 { font-size: 40px; }
	.sandy-root .sandy-name-2 { font-size: 27px; white-space: normal; }
	.sandy-root .sandy-suggest-wrap { margin: 0 24px 16px 0; }
	.sandy-root .sandy-actions { grid-area: 3 / 2; justify-self: start; margin: 0 0 24px; }
	.sandy-root { --sandy-w: 38cqw; }
	.sandy-root .sandy-panel { grid-template-columns: 38% minmax(0, 1fr); column-gap: 20px; padding-right: 20px; }
	.sandy-root .sandy-chat { margin-top: 0; }
}

/* ================= Телефон (одобрен вариант Б) =================
   Голям центриран Александър с лапички върху горния ръб на зелената карта; в картата — име, въпрос, бутон.
   Главата се вдига над картата и навлиза в бялото под менюто, пред хедъра (вж. „Уши пред хедъра“ в края);
   розовият бутон е вляво, така че главата и ушите не го застъпват. */
@media (max-width: 600px) {
	.sandy-root { --sandy-lift: 24cqw; } /* с малкия розов бутон вляво (одобрен MOBILE CLOSED) */
	.sandy-root .sandy-banner { position: relative; grid-template-columns: minmax(0, 1fr); grid-template-rows: auto auto auto; padding-top: calc(90cqw * .8417 - 14px - var(--sandy-lift)); }
	.sandy-root .sandy-hero { grid-area: 1 / 1 / 4 / 2; position: static; min-height: 0; border-radius: 24px; }
	.sandy-root .sandy-cat-img { left: 5cqw; bottom: auto; top: calc(-1 * var(--sandy-lift)); width: 90cqw; max-width: none; }
	.sandy-root .sandy-name { grid-area: 1 / 1; align-self: start; margin: 22px 16px 14px; text-align: center; }
	.sandy-root .sandy-name-1 { font-size: 30px; }
	.sandy-root .sandy-name-2 { font-size: 20px; white-space: normal; }
	.sandy-root .sandy-badge { margin-left: 6px; }
	.sandy-root .sandy-suggest-wrap { grid-area: 2 / 1; max-width: none; margin: 0 14px; }
	.sandy-root .sandy-suggest { gap: 10px; padding: 12px 12px 12px 14px; font-size: 16px; border-radius: 16px; }
	.sandy-root .sandy-chev { font-size: 26px; }
	.sandy-root .sandy-eye { right: 2px; width: 28px; height: 28px; margin-top: -14px; }
	.sandy-root .sandy-eye-ico { width: 17px; height: 17px; }
	.sandy-root .sandy-bulb { flex-basis: 24px; width: 24px; height: 24px; }
	.sandy-root .sandy-dots { gap: 7px; margin-top: 10px; }
	.sandy-root .sandy-dot { width: 8px; height: 8px; }
	.sandy-root .sandy-actions { grid-area: 3 / 1; justify-self: stretch; margin: 16px 14px 18px; }
	.sandy-root .sandy-ask { width: 100%; padding: 16px 20px; font-size: 19px; }

	/* OPEN на телефон: приклекналият Александър остава, въпросът и бутонът се скриват, чатът се отваря отдолу */
	.sandy-root.sandy-is-open .sandy-cat-img, .sandy-root.sandy-is-expanded .sandy-cat-img { display: block; }
	.sandy-root.sandy-is-open .sandy-cat-open, .sandy-root.sandy-is-expanded .sandy-cat-open,
	.sandy-root.sandy-is-open .sandy-contact-shadow, .sandy-root.sandy-is-expanded .sandy-contact-shadow { display: none; }
	.sandy-root.sandy-is-open .sandy-name, .sandy-root.sandy-is-expanded .sandy-name { visibility: visible; }
	.sandy-root.sandy-is-open .sandy-hero, .sandy-root.sandy-is-expanded .sandy-hero { border-bottom: 2px solid var(--sandy-border); border-radius: 24px; box-shadow: 0 0 0 5px rgba(168, 227, 152, .22), 0 12px 30px rgba(40, 120, 50, .10); }
	.sandy-root.sandy-is-open .sandy-suggest-wrap, .sandy-root.sandy-is-open .sandy-actions,
	.sandy-root.sandy-is-expanded .sandy-suggest-wrap, .sandy-root.sandy-is-expanded .sandy-actions { display: none; }
	.sandy-root.sandy-is-open .sandy-name, .sandy-root.sandy-is-expanded .sandy-name { margin-bottom: 20px; }
	.sandy-root .sandy-panel { grid-template-columns: minmax(0, 1fr); min-height: 0; margin: 12px 0 0; padding: 10px; border-top: 2px solid var(--sandy-border); border-radius: 22px; box-shadow: 0 0 0 5px rgba(168, 227, 152, .22), 0 12px 30px rgba(40, 120, 50, .10); }
	.sandy-root .sandy-chips { display: none; } /* MOBILE OPEN: без предложени въпроси — само разговор */
	.sandy-root .sandy-chat { grid-column: 1; grid-row: auto; margin-top: 0; padding: 14px 14px 12px; border-radius: 18px; }
	.sandy-root .sandy-chat-title { display: none; } /* името вече е в картата над чата */
	.sandy-root .sandy-chat-head { justify-content: flex-end; padding-bottom: 4px; border-bottom: 0; }
	.sandy-root .sandy-log { height: 38vh; }
}
/* Много тесни екрани (≤ 340 px): главата става по-тясна от разстоянието около бутона — по-малко повдигане */
@media (max-width: 340px) { .sandy-root { --sandy-lift: 16px; } }

/* ================= DESKTOP CLOSED (0.2.4 · ЗАДАНИЕ 01) =================
   Само над 600 px и само в затворено състояние (.sandy-is-collapsed). Котаракът, зеленият фон, рамката, височината
   и заглавието не се променят — сменя се само подредбата на средната и дясната зона:
   средна — заглавие (по-нагоре) + поле за писане; дясна — четири примерни въпроса (без автоматична смяна).
   В отворено състояние новите елементи са display: none, а старите заемат точно предишното място →
   DESKTOP OPEN е геометрично същият като в 0.2.3. MOBILE (≤ 600 px) не се засяга. */
.sandy-root .sandy-quick, .sandy-root .sandy-qlist { display: none; }
.sandy-root { --sandy-q-font: 17px; --sandy-q-rows-max: 4; --sandy-audio-slot: 0px; }

/* Поле за писане */
.sandy-root .sandy-quick { margin: 0; }
.sandy-root .sandy-quick-box { position: relative; display: flex; align-items: flex-end; gap: 8px; padding: 10px 8px 8px 18px; background: rgba(255, 255, 255, .95); border: 1px solid rgba(168, 227, 152, .95); border-radius: 20px; box-shadow: 0 4px 14px rgba(40, 110, 50, .10); transition: border-color .15s ease, box-shadow .15s ease; }
.sandy-root .sandy-quick-box:focus-within { border-color: #7fcf6c; box-shadow: 0 0 0 3px rgba(127, 207, 108, .35), 0 4px 14px rgba(40, 110, 50, .10); }
.sandy-root .sandy-quick-input { flex: 1 1 auto; display: block; width: 100%; min-width: 0; height: calc(2 * 1.4em + 4px); min-height: calc(2 * 1.4em + 4px); max-height: calc(var(--sandy-q-rows-max) * 1.4em + 4px); margin: 0; padding: 2px 0; font: inherit; font-size: var(--sandy-q-font); font-weight: 500; line-height: 1.4; color: var(--sandy-ink); background: transparent; border: 0; border-radius: 0; box-shadow: none; outline: none; resize: none; overflow-y: auto; }
.sandy-root .sandy-quick-input::placeholder { color: #6c7d6f; opacity: 1; }
.sandy-root .sandy-quick-tools { flex: 0 0 auto; display: flex; align-items: center; gap: 6px; }
.sandy-root .sandy-quick-audio { display: block; width: var(--sandy-audio-slot); height: 44px; } /* резервирано място за бъдещи звукови контроли */
.sandy-root .sandy-quick-send { flex: 0 0 44px; width: 44px; height: 44px; padding: 0; color: #fff; background: linear-gradient(180deg, #24963c 0%, #157028 100%); box-shadow: 0 3px 8px rgba(20, 100, 35, .22); }
.sandy-root .sandy-quick-send:hover { background: var(--sandy-green-dark); color: #fff; }
.sandy-root .sandy-quick-send .sandy-send-ico { width: 21px; height: 21px; }

/* Примерни въпроси — компактни бели картички (лампичка + текст + око); кликът поставя въпроса в полето */
.sandy-root .sandy-qcard { position: relative; justify-content: flex-start; gap: 10px; width: 100%; min-height: 48px; padding: 7px 9px 7px 12px; font-size: 15px; font-weight: 500; line-height: 1.25; text-align: left; white-space: normal; color: var(--sandy-ink); background: rgba(255, 255, 255, .93); border: 1px solid rgba(168, 227, 152, .75); border-radius: 16px; box-shadow: 0 3px 10px rgba(40, 110, 50, .08); transition: border-color .15s ease, background-color .15s ease; }
.sandy-root .sandy-qcard:hover { color: var(--sandy-ink); background: #fff; border-color: #7fcf6c; }
.sandy-root .sandy-qcard .sandy-bulb { flex: 0 0 22px; width: 22px; height: 22px; }
.sandy-root .sandy-qcard-text { flex: 1 1 auto; min-width: 0; }
.sandy-root .sandy-qcard-eye { flex: 0 0 30px; display: inline-flex; align-items: center; justify-content: center; width: 30px; height: 30px; color: var(--sandy-green-dark); background: #eef8e8; border: 1px solid rgba(168, 227, 152, .95); border-radius: 50%; transition: color .15s ease, background-color .15s ease; }
.sandy-root .sandy-qcard:hover .sandy-qcard-eye { color: #fff; background: var(--sandy-green); }
.sandy-root .sandy-qcard .sandy-eye-ico { width: 18px; height: 18px; }

@media (min-width: 601px) {
	.sandy-root.sandy-is-collapsed .sandy-suggest-wrap,
	.sandy-root.sandy-is-collapsed .sandy-actions { display: none; }

	/* Вариант А (широк): котарак | заглавие + поле | четири въпроса */
	.sandy-root.sandy-is-collapsed .sandy-banner { grid-template-columns: 37% minmax(0, 1fr) auto; grid-template-rows: auto 1fr; }
	.sandy-root.sandy-is-collapsed .sandy-hero { grid-area: 1 / 1 / 3 / 4; }
	.sandy-root.sandy-is-collapsed .sandy-name { grid-area: 1 / 2; align-self: start; margin: 30px 0 14px; }
	.sandy-root.sandy-is-collapsed .sandy-quick { display: block; grid-area: 2 / 2; align-self: start; z-index: 1; width: 100%; max-width: 560px; margin: 0 0 22px; }
	.sandy-root.sandy-is-collapsed .sandy-qlist { display: flex; flex-direction: column; gap: 8px; grid-area: 1 / 3 / 3 / 4; align-self: center; z-index: 1; width: clamp(250px, 22cqw, 320px); margin: 0 24px 0 0; }

	/* Вариант Б (стеснен прозорец): котарак | заглавие, поле, въпроси 2 × 2 — нищо не се застъпва.
	   Кой вариант се ползва, решава скриптът, като измерва реалната ширина на заглавието с шрифта на сайта
	   (data-sandy-fit="a" | "b"). Преди скрипта — безопасна граница по ширина на компонента. */
	@container (max-width: 1239px) {
		.sandy-root.sandy-is-collapsed:not([data-sandy-fit]) { --sandy-q-rows-max: 3; }
		.sandy-root.sandy-is-collapsed:not([data-sandy-fit]) .sandy-banner { grid-template-columns: var(--sandy-cat-col, 37%) minmax(0, 1fr); grid-template-rows: auto auto auto; }
		.sandy-root.sandy-is-collapsed:not([data-sandy-fit]) .sandy-hero { grid-area: 1 / 1 / 4 / 3; }
		.sandy-root.sandy-is-collapsed:not([data-sandy-fit]) .sandy-name { margin: 26px 24px 12px 0; }
		.sandy-root.sandy-is-collapsed:not([data-sandy-fit]) .sandy-quick { grid-area: 2 / 2; max-width: none; width: auto; margin: 0 24px 0 0;
			min-height: calc(3 * 1.4 * var(--sandy-q-font) + 4px + 20px); } /* място за 3 реда: полето расте, без да мести въпросите */
		.sandy-root.sandy-is-collapsed:not([data-sandy-fit]) .sandy-qlist { display: grid; grid-template-columns: var(--sandy-qcols, 1fr 1fr); grid-area: 3 / 2; align-self: start; width: auto; margin: 10px 24px 24px 0; }
	}
	.sandy-root.sandy-is-collapsed[data-sandy-fit="b"] { --sandy-q-rows-max: 3; }
	.sandy-root.sandy-is-collapsed[data-sandy-fit="b"] .sandy-banner { grid-template-columns: var(--sandy-cat-col, 37%) minmax(0, 1fr); grid-template-rows: auto auto auto; }
	.sandy-root.sandy-is-collapsed[data-sandy-fit="b"] .sandy-hero { grid-area: 1 / 1 / 4 / 3; }
	.sandy-root.sandy-is-collapsed[data-sandy-fit="b"] .sandy-name { margin: 26px 24px 12px 0; }
	.sandy-root.sandy-is-collapsed[data-sandy-fit="b"] .sandy-quick { grid-area: 2 / 2; max-width: none; width: auto; margin: 0 24px 0 0;
		min-height: calc(3 * 1.4 * var(--sandy-q-font) + 4px + 20px); } /* място за 3 реда: полето расте, без да мести въпросите */
	.sandy-root.sandy-is-collapsed[data-sandy-fit="b"] .sandy-qlist { display: grid; grid-template-columns: var(--sandy-qcols, 1fr 1fr); grid-area: 3 / 2; align-self: start; width: auto; margin: 10px 24px 24px 0; }
}
@media (max-width: 1000px) { .sandy-root { --sandy-cat-col: 38%; } } /* таблет: колоната на котарака е 38 % (както в 0.2.3) */
@container (max-width: 760px) { .sandy-root .sandy-banner { --sandy-qcols: minmax(0, 1fr); } } /* тясно: въпросите един под друг */

/* ================= DESKTOP CLOSED — итерация 02: варианти A и B (за сравнение) =================
   Котаракът, зелената кутия и височината на банера не се променят: височината идва само от .sandy-hero (както в 0.2.3).
   Съдържанието започва веднага след котарака (вместо от 37 %) и се разпределя във височината на банера;
   полето заема останалата височина и никога не разширява банера (дълъг текст — вътрешно превъртане).
   Само > 600 px и само в затворено състояние. Третият ред използва първите три въпроса. */
@media (min-width: 601px) {
	.sandy-root.sandy-is-collapsed[data-sandy-layout] {
		--sandy-pad-y: clamp(14px, 1.9cqw, 24px);
		--sandy-gap: clamp(8px, 1.1cqw, 14px);
		--sandy-t: clamp(24px, 2.75cqw, 38px); /* заглавие на един ред — умерено адаптиран размер */
	}
	.sandy-root.sandy-is-collapsed[data-sandy-layout] .sandy-banner { column-gap: 0; row-gap: var(--sandy-gap); padding: var(--sandy-pad-y) clamp(18px, 2.2cqw, 28px) var(--sandy-pad-y) 0; }
	.sandy-root.sandy-is-collapsed[data-sandy-layout] .sandy-hero { margin: calc(-1 * var(--sandy-pad-y)) calc(-1 * clamp(18px, 2.2cqw, 28px)) calc(-1 * var(--sandy-pad-y)) 0; }
	.sandy-root.sandy-is-collapsed[data-sandy-layout] .sandy-name { margin: 0; align-self: start; }
	.sandy-root.sandy-is-collapsed[data-sandy-layout] .sandy-quick { display: flex; align-self: stretch; width: auto; max-width: none; min-height: 0; margin: 0; }
	.sandy-root.sandy-is-collapsed[data-sandy-layout] .sandy-quick-box { flex: 1 1 auto; min-height: 0; }
	.sandy-root.sandy-is-collapsed[data-sandy-layout] .sandy-quick-input { height: auto !important; min-height: calc(1.4em + 4px); max-height: none; align-self: stretch; }
	.sandy-root.sandy-is-collapsed[data-sandy-layout] .sandy-qcard:nth-child(n+4) { display: none; }
	.sandy-root.sandy-is-collapsed[data-sandy-layout] .sandy-qlist { margin: 0; width: auto; }

	/* ---- Вариант A (по схемата): заглавие / широко поле / три въпроса в ред ---- */
	.sandy-root.sandy-is-collapsed[data-sandy-layout="a"] .sandy-banner { grid-template-columns: calc(var(--sandy-w) - 4px) minmax(0, 1fr); grid-template-rows: auto minmax(0, 1fr) auto; }
	.sandy-root.sandy-is-collapsed[data-sandy-layout="a"] .sandy-hero { grid-area: 1 / 1 / 4 / 3; }
	.sandy-root.sandy-is-collapsed[data-sandy-layout="a"] .sandy-name { grid-area: 1 / 2; }
	/* заглавие на един ред (умерено по-малко); ако не се побира — второто име минава на нов ред */
	.sandy-root.sandy-is-collapsed[data-sandy-layout="a"] .sandy-name { font-size: var(--sandy-t); line-height: 1.12; }
	.sandy-root.sandy-is-collapsed[data-sandy-layout="a"] .sandy-name-1,
	.sandy-root.sandy-is-collapsed[data-sandy-layout="a"] .sandy-name-2 { display: inline-block; font-size: 1em; white-space: nowrap; }
	.sandy-root.sandy-is-collapsed[data-sandy-layout="a"] .sandy-name-1 { margin-right: .22em; }
	.sandy-root.sandy-is-collapsed[data-sandy-layout="a"] .sandy-name-2 .sandy-badge { font-size: .5em; vertical-align: .3em; }
	.sandy-root.sandy-is-collapsed[data-sandy-layout="a"] .sandy-quick { grid-area: 2 / 2; }
	.sandy-root.sandy-is-collapsed[data-sandy-layout="a"] .sandy-quick-box { flex-direction: column; align-items: stretch; gap: 4px; padding: 12px 10px 8px 18px; }
	.sandy-root.sandy-is-collapsed[data-sandy-layout="a"] .sandy-quick-input { flex: 1 1 auto; }
	.sandy-root.sandy-is-collapsed[data-sandy-layout="a"] .sandy-quick-tools { justify-content: flex-end; }
	.sandy-root.sandy-is-collapsed[data-sandy-layout="a"] .sandy-qlist { grid-area: 3 / 2; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; align-self: end; }
	.sandy-root.sandy-is-collapsed[data-sandy-layout="a"] .sandy-qcard { min-height: 56px; }
	/* ниска кутия (тесен прозорец): бутонът отива вдясно от текста, за да остане място за писане */
	@container (max-width: 1060px) {
		.sandy-root.sandy-is-collapsed[data-sandy-layout="a"] .sandy-quick-box { flex-direction: row; align-items: flex-end; padding: 10px 8px 8px 16px; }
	}
	@container (max-width: 1100px) {
		.sandy-root.sandy-is-collapsed[data-sandy-layout] .sandy-qcard { gap: 8px; padding-left: 10px; padding-right: 7px; font-size: 14px; }
		.sandy-root.sandy-is-collapsed[data-sandy-layout] .sandy-qcard .sandy-bulb { flex-basis: 18px; width: 18px; height: 18px; }
		.sandy-root.sandy-is-collapsed[data-sandy-layout] .sandy-qcard-eye { flex-basis: 28px; width: 28px; height: 28px; }
	}

	/* ---- Вариант B (предложение): оригиналното двуредово заглавие; отдолу полето и колона от три въпроса със същата височина ---- */
	.sandy-root.sandy-is-collapsed[data-sandy-layout="b"] .sandy-banner { grid-template-columns: calc(var(--sandy-w) - 4px) minmax(0, 1fr) clamp(230px, 25cqw, 340px); grid-template-rows: auto minmax(0, 1fr); column-gap: 0; }
	.sandy-root.sandy-is-collapsed[data-sandy-layout="b"] .sandy-hero { grid-area: 1 / 1 / 3 / 4; }
	.sandy-root.sandy-is-collapsed[data-sandy-layout="b"] .sandy-name { grid-area: 1 / 2 / 2 / 4; }
	.sandy-root.sandy-is-collapsed[data-sandy-layout="b"] .sandy-quick { grid-area: 2 / 2; margin-right: var(--sandy-gap); }
	.sandy-root.sandy-is-collapsed[data-sandy-layout="b"] .sandy-quick-box { align-items: flex-end; }
	.sandy-root.sandy-is-collapsed[data-sandy-layout="b"] .sandy-quick-input { flex: 1 1 auto; }
	.sandy-root.sandy-is-collapsed[data-sandy-layout="b"] .sandy-qlist { grid-area: 2 / 3; display: flex; flex-direction: column; gap: 8px; align-self: stretch; }
	.sandy-root.sandy-is-collapsed[data-sandy-layout="b"] .sandy-qcard { flex: 1 0 auto; min-height: 44px; padding-top: 4px; padding-bottom: 4px; } /* растат поравно, никога под текста си */
}

/* ================= DESKTOP OPEN (0.2.4) =================
   Само > 600 px. Изправеният Санди, зеленият панел и размерите не се променят.
   Под лапите — заглавието (вместо сменящите се въпроси); чатът е без повторно заглавие — мястото отива за разговора;
   бутонът „Свий“ е кръгъл бутон върху горния ръб на чата. MOBILE OPEN не се засяга. */
.sandy-root .sandy-open-name, .sandy-root .sandy-collapse-ico { display: none; }
@media (min-width: 601px) {
	/* Старият блок с въпроси остава невидим на мястото си (статичен, без въртене) — така зеленият панел е точно
	   със същата височина като в 0.2.3; заглавието стои в същата клетка, над него. */
	.sandy-root .sandy-chips { grid-row: 1; visibility: hidden; }
	/* Табелка с името (вариант 2 — минимална): центрирана по Санди; размерите на надписа следват ширината на Санди
	   (при пълна ширина 48 / 27 px — приблизително одобрените 52 / 29, за да се побере табелката без промяна на панела). */
	.sandy-root .sandy-open-name {
		display: block; grid-column: 1; grid-row: 1; align-self: start; justify-self: start; z-index: 1;
		width: max-content; max-width: calc(100% - 24px);
		/* хоризонталът идва от скрипта: центрирана по Санди, но поне 12 px от ръба на панела и от чата */
		margin: calc(var(--sandy-open-bottom) - var(--sandy-hero-h) + 6px) 0 0 var(--sandy-plate-x, 12px);
		font-weight: 800; line-height: 1.08; letter-spacing: -.01em; text-align: center;
	}
	.sandy-root .sandy-open-name { --sandy-plate-s: calc(var(--sandy-w) * .0628); } /* втори ред при пълна ширина: 27 px */

	/* Чатът е решетка: невидимото старо заглавие пази същата височина като в 0.2.3, а разговорът се простира
	   и върху неговото място (мястото от заглавието отива за разговора, без промяна на външните размери). */
	.sandy-root .sandy-chat { display: grid; grid-template-columns: minmax(0, 1fr); grid-template-rows: auto minmax(calc(300px - var(--sandy-grow, 0px)), 1fr) auto auto; } /* полето расте за сметка на разговора */
	.sandy-root .sandy-chat > * { grid-column: 1; }
	.sandy-root .sandy-chat-head { grid-row: 1; visibility: hidden; border-bottom-color: transparent; }
	.sandy-root .sandy-chat-head::after { content: ""; flex: 0 1 40px; height: 40px; } /* мястото на бутона в 0.2.3 — същата височина на реда */
	.sandy-root .sandy-log { grid-row: 1 / 3; min-height: 0; height: auto; padding-top: 16px; contain: size; } /* съдържанието не разтяга панела — превърта се */
	.sandy-root .sandy-form { grid-row: 3; }
	.sandy-root .sandy-disclaimer { grid-row: 4; }
	.sandy-root .sandy-collapse { visibility: visible; position: absolute; top: -18px; right: 22px; z-index: 3; width: 36px; height: 36px; color: var(--sandy-green-dark); background: #fff; border: 2px solid rgba(168, 227, 152, .95); box-shadow: 0 3px 10px rgba(40, 110, 50, .15); }
	.sandy-root .sandy-collapse:hover { color: #fff; background: var(--sandy-green); border-color: var(--sandy-green); }
	.sandy-root .sandy-collapse::after { content: ""; position: absolute; inset: -6px; border-radius: 50%; } /* по-голяма зона за клик */
	.sandy-root .sandy-collapse .sandy-icon-glyph { display: none; }
	.sandy-root .sandy-collapse-ico { display: block; width: 20px; height: 20px; fill: none; stroke: currentColor; stroke-width: 2.4; stroke-linecap: round; stroke-linejoin: round; }

	/* Съобщения: Санди вляво, потребителят вдясно — балончетата са колкото текста */
	.sandy-root .sandy-msg { width: fit-content; max-width: 82%; }
	.sandy-root .sandy-msg-system { max-width: 100%; }
	.sandy-root .sandy-msg-user .sandy-text { border-bottom-right-radius: 6px; }
	.sandy-root .sandy-msg-assistant .sandy-text { border-bottom-left-radius: 6px; }

	/* Поле: расте с текста до ~5 реда (за сметка на разговора, не на панела); бутонът остава вдясно вътре */
	.sandy-root .sandy-input-row { align-items: flex-end; border-radius: 22px; padding: 6px 6px 6px 18px; }
	.sandy-root .sandy-input { line-height: 1.4; padding: 11px 0; }
	.sandy-root .sandy-input::placeholder { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; } /* празното поле е на един ред */
}

/* ================= Табелка с името, поле без стрелки, MOBILE OPEN (0.2.4) ================= */
/* Табелка с името — одобреният дизайн (27.10.2026, preview-06). Типографията и цветовете са тези на DESKTOP CLOSED (B):
   „Санди –“ — --sandy-title, „Александър Котарака“ — --sandy-ink, AI — значката от B (--sandy-green, бели букви).
   Издължена форма с максимално заоблени краища, почти бял фон, тънък светлозелен контур, едва забележима сянка
   и тънка линия под надписа, избледняваща към краищата. Размерите са в em от втория ред (--sandy-plate-s),
   умножени по --sandy-plate-k (≤ 1, от скрипта), за да се побира без промяна на панелите. */
.sandy-root .sandy-open-name,
.sandy-root .sandy-name.sandy-plate {
	font-size: calc(var(--sandy-plate-s, 20px) * var(--sandy-plate-k, 1));
	padding: .62em 2.3em .55em;
	font-weight: 800; line-height: 1.08; letter-spacing: -.01em; text-align: center;
	color: var(--sandy-ink);
	background: #f5fcf1;
	border: 1.5px solid #7fcb78;
	border-radius: 1.6em;
	box-shadow: 0 .12em .5em rgba(40, 110, 50, .08);
}
.sandy-root .sandy-open-name::after,
.sandy-root .sandy-name.sandy-plate::after { content: ""; display: block; height: 2px; margin: .45em auto 0; width: 92%; border-radius: 2px; background: linear-gradient(90deg, rgba(31, 138, 53, 0) 0%, rgba(31, 138, 53, .55) 30%, var(--sandy-green-dark) 50%, rgba(31, 138, 53, .55) 70%, rgba(31, 138, 53, 0) 100%); }
.sandy-root .sandy-open-name .sandy-name-1,
.sandy-root .sandy-name.sandy-plate .sandy-name-1 { display: block; font-size: 1.793em; color: var(--sandy-title); } /* 52 : 29 — както в B */
.sandy-root .sandy-open-name .sandy-name-2,
.sandy-root .sandy-name.sandy-plate .sandy-name-2 { display: block; font-size: 1em; color: var(--sandy-ink); white-space: nowrap; }
.sandy-root .sandy-open-name .sandy-badge,
.sandy-root .sandy-name.sandy-plate .sandy-badge { margin-left: .4em; } /* значката е тази от B: --sandy-green, бели букви, .62em, заобляне 8 px */
/* Полето за писане: без видима лента и стрелки за превъртане; превъртането с колелце/пръст/курсор остава */
.sandy-root .sandy-input, .sandy-root .sandy-quick-input { scrollbar-width: none; -ms-overflow-style: none; overflow-y: auto; }
.sandy-root .sandy-input::-webkit-scrollbar, .sandy-root .sandy-quick-input::-webkit-scrollbar { display: none; width: 0; height: 0; }

/* Таблет (601–1000 px), отворен чат: чатът се разширява нагоре до ~30 px под горния ръб на зеления панел.
   Долният ръб остава; с колкото се вдига, с толкова расте мястото за разговора (--sandy-up идва от скрипта). */
@media (min-width: 601px) and (max-width: 1000px) {
	/* по-тясна колона под Санди: надписът на табелката е малко по-малък, за да има отстояния отляво и отдясно */
	.sandy-root .sandy-open-name { --sandy-plate-s: calc(var(--sandy-w) * .052); }
	.sandy-root .sandy-chat { margin-top: calc(-1 * var(--sandy-up, 0px)); grid-template-rows: auto minmax(calc(300px + var(--sandy-up, 0px) - var(--sandy-grow, 0px)), 1fr) auto auto; }
}

@media (max-width: 600px) {
	/* MOBILE OPEN: същата табелка; чатът използва почти цялата ширина, разговорът — повече височина */
	/* MOBILE OPEN: същата табелка около името в зелената карта (класът sandy-plate се слага от скрипта само при отворен чат) */
	.sandy-root .sandy-name.sandy-plate { --sandy-plate-s: 20px; display: block; width: max-content; max-width: calc(100% - 24px); margin: 11px auto 11px; }
	.sandy-root .sandy-panel { padding: 6px; border-radius: 20px; }
	.sandy-root .sandy-chat { padding: 12px 10px 10px; border-radius: 16px; }
	.sandy-root .sandy-chat-head { position: absolute; top: -14px; right: 14px; z-index: 3; padding: 0; }
	.sandy-root .sandy-collapse { width: 32px; height: 32px; color: var(--sandy-green-dark); background: #fff; border: 2px solid rgba(168, 227, 152, .95); box-shadow: 0 3px 10px rgba(40, 110, 50, .15); }
	.sandy-root .sandy-collapse::after { content: ""; position: absolute; inset: -8px; border-radius: 50%; } /* зона за докосване ≥ 44 px */
	.sandy-root .sandy-collapse .sandy-icon-glyph { display: none; }
	.sandy-root .sandy-collapse-ico { display: block; width: 18px; height: 18px; fill: none; stroke: currentColor; stroke-width: 2.4; stroke-linecap: round; stroke-linejoin: round; }
	.sandy-root .sandy-log { height: 52vh; height: 52svh; min-height: 260px; padding: 14px 0 6px; }
	.sandy-root .sandy-msg { max-width: 90%; }
	.sandy-root .sandy-input-row { align-items: flex-end; border-radius: 22px; padding: 5px 5px 5px 14px; }
	.sandy-root .sandy-input { line-height: 1.4; padding: 11px 0; }
	.sandy-root .sandy-input::placeholder { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
}

/* ================= Мобилно меню — само на тази страница и само когато Санди е показан =================
   Този файл се зарежда единствено за администратор на страницата на Санди, а правилата са ограничени
   и с класа sandy-ai-active на <body>. Глобалното меню на темата (Astra) не се променя. */
@media (max-width: 600px) {
	/* Astra центрира бутона с правила с по-висока специфичност (подреден мобилен хедър) — тук те се надделяват
	   само на тази страница. Размерът 48 × 48 px е проверен на реален телефон (0.2.1); позицията вляво — 0.2.3. */
	body.sandy-ai-active .ast-mobile-menu-buttons { justify-content: flex-start !important; align-self: stretch !important; text-align: left !important; margin-left: 0 !important; margin-right: auto !important; }
	body.sandy-ai-active .ast-mobile-menu-buttons .ast-button-wrap { margin-left: 0 !important; margin-right: auto !important; text-align: left !important; }
	body.sandy-ai-active .main-header-menu-toggle.ast-mobile-menu-buttons-fill { display: inline-flex; align-items: center; justify-content: center; width: 48px; height: 48px; min-height: 0; padding: 0; font-size: 24px; line-height: 1; border-radius: 6px; }
	body.sandy-ai-active .main-header-menu-toggle .menu-toggle-icon { font-size: 24px; height: auto; line-height: 1; }
}

/* ================= Уши пред хедъра (0.2.3) =================
   Причина (проверено на LIVE, Astra 4.13.12): хедърът #masthead е position: relative; z-index: 99, а белият му фон
   е в .main-header-bar (z-index: 4) — два отделни слоя, рисувани над цялото съдържание, включително над главата.
   Решение: само на тази страница и само при показан Санди (body.sandy-ai-active) двата слоя се „разтварят“
   (z-index: auto). Фонът на хедъра се рисува преди Санди (по реда в документа), падащите менюта (z-index: 99999)
   остават над всичко. Позициите и размерите не се променят; изображенията не приемат кликове (pointer-events: none). */
body.sandy-ai-active #masthead.site-header { z-index: auto; }
body.sandy-ai-active #masthead .main-header-bar { z-index: auto; }
/* Отворено мобилно меню (Astra добавя toggle-on): хедърът отново е горен слой — менюто покрива Санди */
body.sandy-ai-active #masthead.site-header:has(.main-header-bar-navigation.toggle-on) { z-index: 99; }

/* =====================================================================================================
   0.2.5-CLAUDE — първи пакет доработки (одобрен прототип preview-03)
   Всичко ново е тук; правилата на 0.2.4 над този ред не са променяни.
   ===================================================================================================== */

/* ---- Кръгли бутони на изгледа: кабарче и разгъване/свиване — един и същ стил с бутона „Свий“ от 0.2.4 ---- */
.sandy-root .sandy-viewbar { display: flex; gap: 12px; position: absolute; top: 12px; right: 14px; z-index: 4; }
.sandy-root.sandy-is-open .sandy-viewbar { display: none; }
.sandy-root .sandy-round { position: relative; width: 36px; height: 36px; padding: 0; color: var(--sandy-green-dark); background: #fff; border: 2px solid rgba(168, 227, 152, .95); box-shadow: 0 3px 10px rgba(40, 110, 50, .15); }
.sandy-root .sandy-round::after { content: ""; position: absolute; inset: -6px; border-radius: 50%; } /* по-голяма зона за клик/докосване */
.sandy-root .sandy-round:hover { color: #fff; background: var(--sandy-green); border-color: var(--sandy-green); }
.sandy-root .sandy-round svg { width: 20px; height: 20px; fill: none; stroke: currentColor; stroke-width: 2.2; stroke-linecap: round; stroke-linejoin: round; }
/* Кабарче: празно — изгледът не е запомнен; зелено и леко наклонено — запомнено */
.sandy-root .sandy-pin svg { width: 19px; height: 19px; stroke-width: 1.9; transition: transform .15s ease; }
.sandy-root .sandy-pin .sandy-pin-head { fill: transparent; }
.sandy-root .sandy-pin[aria-pressed="true"] { color: #fff; background: var(--sandy-green); border-color: var(--sandy-green); }
.sandy-root .sandy-pin[aria-pressed="true"] .sandy-pin-head { fill: currentColor; }
.sandy-root .sandy-pin[aria-pressed="true"] svg { transform: rotate(-28deg); }

/* Кабарчето в отворения чат стои вляво от бутона „Свий“ (върху горния ръб на чата) */
.sandy-root .sandy-chat-head .sandy-pin { flex: 0 0 auto; }
@media (min-width: 601px) {
	.sandy-root .sandy-chat-head .sandy-pin { visibility: visible; position: absolute; top: -18px; right: 70px; z-index: 3; }
}
@media (max-width: 600px) {
	.sandy-root .sandy-chat-head { gap: 12px; } /* зоните за докосване на двата бутона не се застъпват */
	.sandy-root .sandy-collapse { position: relative; } /* зоната за докосване (::after) да е около бутона, не върху съседното кабарче */
	.sandy-root .sandy-collapse::after { inset: -6px; } /* 32 + 2 × 6 = 44 px — колкото препоръката за докосване */
	.sandy-root .sandy-chat-head .sandy-pin { width: 32px; height: 32px; }
	.sandy-root .sandy-chat-head .sandy-pin svg { width: 17px; height: 17px; }
}

/* ---- Под всеки отговор на Санди: прослушване, харесвам, не харесвам ---- */
.sandy-root .sandy-acts { display: flex; align-items: center; gap: 2px; margin: 3px 0 0 4px; }
.sandy-root .sandy-act { position: relative; width: 30px; height: 30px; padding: 0; color: #6f8a73; background: transparent; border-radius: 50%; transition: color .15s ease, background-color .15s ease; }
.sandy-root .sandy-act::after { content: ""; position: absolute; inset: -5px; border-radius: 50%; } /* зона за докосване ~40 px */
.sandy-root .sandy-act:hover { color: var(--sandy-green-dark); background: rgba(31, 138, 53, .09); }
.sandy-root .sandy-act-ico { width: 18px; height: 18px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.sandy-root .sandy-act .sandy-ico-fill { fill: currentColor; stroke: none; }
.sandy-root .sandy-act-up[aria-pressed="true"] { color: #fff; background: var(--sandy-green); }
.sandy-root .sandy-act-down[aria-pressed="true"] { color: #fff; background: #7c8a7e; }
.sandy-root .sandy-act-up[aria-pressed="true"] .sandy-act-ico, .sandy-root .sandy-act-down[aria-pressed="true"] .sandy-act-ico { fill: rgba(255, 255, 255, .25); }
/* Прослушване: зарежда се (въртящ се пръстен) → звучи (бутон „Спри“ с пулсиращ ореол) */
.sandy-root .sandy-act-listen.sandy-is-loading::before { content: ""; position: absolute; inset: 2px; border: 2px solid rgba(31, 138, 53, .2); border-top-color: var(--sandy-green); border-radius: 50%; animation: sandy-spin .8s linear infinite; }
.sandy-root .sandy-act-listen.sandy-is-playing { color: #fff; background: var(--sandy-green); animation: sandy-pulse 1.6s ease-out infinite; }
@keyframes sandy-spin { to { transform: rotate(360deg); } }
@keyframes sandy-pulse { 0% { box-shadow: 0 0 0 0 rgba(31, 138, 53, .38); } 100% { box-shadow: 0 0 0 9px rgba(31, 138, 53, 0); } }
@media (prefers-reduced-motion: reduce) { .sandy-root .sandy-act-listen.sandy-is-playing, .sandy-root .sandy-act-listen.sandy-is-loading::before { animation: none; } }
.sandy-root .sandy-act-note { margin-left: 6px; font-size: 12px; color: var(--sandy-muted); }

/* ---- Markdown в отговорите: същият шрифт и междуредие (1,4); само структурата е нова ---- */
.sandy-root .sandy-text.sandy-md { white-space: normal; }
.sandy-root .sandy-md > * { margin: 0 0 .5em; }
.sandy-root .sandy-md > :last-child { margin-bottom: 0; }
.sandy-root .sandy-md strong { font-weight: 700; }
.sandy-root .sandy-md-h { font-weight: 700; }
.sandy-root .sandy-md-list { padding-left: 1.25em; }
.sandy-root .sandy-md-list li { margin: 0 0 .2em; padding-left: .1em; }
.sandy-root .sandy-md-list li::marker { color: var(--sandy-green); }
.sandy-root .sandy-md-quote { padding-left: .7em; border-left: 3px solid var(--sandy-border); color: var(--sandy-muted); }
.sandy-root .sandy-md-code { padding: .05em .3em; font-family: ui-monospace, Consolas, monospace; font-size: .9em; background: rgba(31, 138, 53, .08); border-radius: 4px; }
.sandy-root .sandy-md-pre { white-space: pre-wrap; padding: .5em .7em; font-family: ui-monospace, Consolas, monospace; font-size: .88em; background: rgba(255, 255, 255, .7); border-radius: 8px; }
.sandy-root .sandy-md-hr { height: 1px; border: 0; background: var(--sandy-border); }
.sandy-root .sandy-md a { color: var(--sandy-green-dark); text-decoration: underline; }

/* ---- Телефон: стандартна визия ----
   Изображението на Санди и името остават; въртящите се въпроси и „ПОПИТАЙ ТУК“ се махат;
   в картата има директно поле за писане с бутон за изпращане. Нищо не се сменя автоматично → страницата не подскача. */
@media (max-width: 600px) {
	.sandy-root .sandy-suggest-wrap, .sandy-root .sandy-actions { display: none !important; }
	.sandy-root.sandy-is-collapsed .sandy-quick { display: block; grid-area: 2 / 1; z-index: 1; margin: 0 14px 18px; }
	.sandy-root .sandy-quick-box { padding: 8px 6px 6px 14px; border-radius: 18px; }
	.sandy-root .sandy-quick-input { --sandy-q-font: 17px; min-height: calc(2 * 1.4em + 4px); max-height: calc(4 * 1.4em + 4px); }
	.sandy-root .sandy-name { margin-bottom: 12px; }
	/* Кабарче и разгъване: върху долния ръб на зелената карта, вдясно — като бутона „Свий“ върху ръба на чата;
	   далеч от лапите и заглавието. Под картата се оставя място за половината бутон. */
	.sandy-root .sandy-viewbar { top: auto; bottom: -16px; right: 16px; gap: 12px; }
	.sandy-root.sandy-is-collapsed { margin-bottom: 16px; } /* точно колкото стърчи стрелката — не застъпва съдържанието отдолу */
	.sandy-root .sandy-viewbar .sandy-round { width: 32px; height: 32px; }
	.sandy-root .sandy-viewbar .sandy-round svg { width: 17px; height: 17px; }
	/* Отворен чат: малко по-едри букви в съобщенията и полето; междуредието (1,4) и отстъпите са същите */
	.sandy-root .sandy-text { font-size: 17px; }
	.sandy-root .sandy-msg-hint .sandy-text { font-size: 17px; }
	.sandy-root .sandy-input { font-size: 17px; }
}

/* ---- Телефон: по-малко празно място под банера (одобрено 27.10.2026) ----
   Измерено на LIVE при 390 px: под банера WordPress (автоматичното форматиране на страницата) оставя празен ред <br>
   (~43 px), после идват собствените отстъпи на календара (14 + 24 px), които не се променят.
   Скрива се само този празен ред, само непосредствено след Санди и само на телефон. Компютърът не се засяга. */
@media (max-width: 600px) {
	#sandy-ai-root + br { display: none; }
}

/* =====================================================================================================
   0.2.6-CLAUDE — меню „Актуално“ (одобрено: preview-04 разположение, preview-05 икони)
   Хапче в групата от кръгли бутони; списъкът е плаващ (над съдържанието) — височината на панела не се променя.
   ===================================================================================================== */
.sandy-root .sandy-topics { position: relative; flex: 0 0 auto; }
.sandy-root .sandy-topics-btn { position: relative; gap: 6px; height: 36px; padding: 0 12px 0 10px; font-size: 14px; font-weight: 700; letter-spacing: .01em; color: var(--sandy-green-dark); background: #fff; border: 2px solid rgba(168, 227, 152, .95); box-shadow: 0 3px 10px rgba(40, 110, 50, .15); white-space: nowrap; }
.sandy-root .sandy-topics-btn::after { content: ""; position: absolute; inset: -6px; border-radius: 999px; }
.sandy-root .sandy-topics-btn:hover, .sandy-root .sandy-topics.sandy-is-on .sandy-topics-btn { color: #fff; background: var(--sandy-green); border-color: var(--sandy-green); }
.sandy-root .sandy-topics-ico { width: 16px; height: 16px; fill: #f6c623; stroke: none; }
.sandy-root .sandy-topics-caret { width: 16px; height: 16px; fill: none; stroke: currentColor; stroke-width: 2.4; stroke-linecap: round; stroke-linejoin: round; transition: transform .15s ease; }
.sandy-root .sandy-topics.sandy-is-on .sandy-topics-caret { transform: rotate(180deg); }
.sandy-root .sandy-topics-menu { position: absolute; z-index: 20; top: calc(100% + 8px); right: 0; width: 290px; max-width: calc(100vw - 32px); padding: 6px; background: #fff; border: 1px solid rgba(168, 227, 152, .95); border-radius: 16px; box-shadow: 0 14px 34px rgba(30, 80, 40, .18), 0 2px 6px rgba(30, 80, 40, .08); }
.sandy-root .sandy-topic { display: flex; align-items: center; justify-content: flex-start; gap: 12px; width: 100%; min-height: 48px; padding: 7px 10px; font-weight: 600; text-align: left; color: var(--sandy-ink); background: transparent; border-radius: 12px; }
.sandy-root .sandy-topic:hover, .sandy-root .sandy-topic:focus-visible { background: #eef8e8; outline: none; }
.sandy-root .sandy-topic[aria-current="true"] { background: #e2f3d9; }
.sandy-root .sandy-topic-ico { flex: 0 0 34px; display: inline-flex; align-items: center; justify-content: center; width: 34px; height: 34px; color: var(--sandy-green-dark); background: #eef8e8; border-radius: 50%; }
.sandy-root .sandy-topic-ico svg { width: 19px; height: 19px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.sandy-root .sandy-topic-txt { display: flex; flex-direction: column; min-width: 0; }
.sandy-root .sandy-topic-name { font-size: 15px; line-height: 1.25; }
.sandy-root .sandy-topic-sub { font-size: 12.5px; font-weight: 500; line-height: 1.3; color: var(--sandy-muted); }

/* Етикет на избраната тема над полето за писане (само в разгънатия чат) */
.sandy-root .sandy-topic-chip { display: inline-flex; align-items: center; gap: 6px; max-width: 100%; margin: 0 0 6px 8px; padding: 3px 4px 3px 10px; font-size: 13px; font-weight: 700; color: var(--sandy-green-dark); background: #eef8e8; border: 1px solid rgba(168, 227, 152, .95); border-radius: 999px; }
.sandy-root .sandy-topic-chip[hidden] { display: none !important; }
.sandy-root .sandy-topic-chip-txt { overflow: hidden; white-space: nowrap; text-overflow: ellipsis; }
.sandy-root .sandy-topic-clear { width: 24px; height: 24px; padding: 0; font-size: 16px; line-height: 1; color: var(--sandy-green-dark); background: transparent; }
.sandy-root .sandy-topic-clear:hover { color: #fff; background: var(--sandy-green); }
.sandy-root .sandy-msg-topic { display: inline-block; margin: 0 0 3px; padding: 1px 8px; font-size: 11.5px; font-weight: 700; color: var(--sandy-green-dark); background: #eef8e8; border-radius: 999px; }
.sandy-root .sandy-msg-user .sandy-msg-topic { float: right; clear: both; }
.sandy-root .sandy-msg-user .sandy-text { clear: both; }

/* Компютър, разгънат чат: хапчето е вляво от кабарчето върху горния ръб на чата */
@media (min-width: 601px) {
	.sandy-root .sandy-chat-head .sandy-topics { visibility: visible; position: absolute; top: -18px; right: 118px; z-index: 4; }
	.sandy-root .sandy-chat-head .sandy-topics-menu { top: calc(100% + 10px); }
	/* Отворено меню: чатът (z-index 2) не бива да е над списъка — групата се вдига временно */
	.sandy-root .sandy-chat-head .sandy-topics.sandy-is-on { z-index: 30; }
	.sandy-root .sandy-banner .sandy-viewbar { z-index: 30; }
}
/* Телефон */
@media (max-width: 600px) {
	.sandy-root .sandy-topics-btn { height: 32px; padding: 0 10px 0 8px; font-size: 13.5px; }
	.sandy-root .sandy-topics-btn::after { inset: -6px; }
	/* стандартен банер: групата е върху долния ръб на картата — списъкът се отваря нагоре, над картата */
	.sandy-root .sandy-viewbar .sandy-topics-menu { top: auto; bottom: calc(100% + 10px); }
	.sandy-root .sandy-viewbar { z-index: 30; }
	/* в разгънатия чат списъкът се подравнява по десния край на групата бутони (не излиза от екрана) */
	.sandy-root .sandy-chat-head .sandy-topics { position: static; }
	.sandy-root .sandy-chat-head .sandy-topics-menu { top: calc(100% + 10px); right: 0; }
	.sandy-root .sandy-chat-head { z-index: 30; }
	.sandy-root .sandy-topics-menu { width: min(300px, calc(100vw - 32px)); }
	.sandy-root .sandy-topic-name { font-size: 15.5px; }
}

/* =====================================================================================================
   0.2.7-CLAUDE — по-четим текст в разговора само на телефон (одобрено 27.10.2026)
   Същият стил като кратките тълкувания в ASTROCAT™ Personal Transits PRO на телефон (измерено на LIVE):
   19 px, височина на реда 1,55 (29,45 px), плътност 400, шрифтът на сайта (Lato — наследява се от темата).
   Само въпросите и отговорите; ширина, разположение, бутони, поле за писане и компютър — без промяна.
   ===================================================================================================== */
@media (max-width: 600px) {
	.sandy-root .sandy-log .sandy-text,
	.sandy-root .sandy-log .sandy-msg-hint .sandy-text { font-size: 19px; line-height: 1.55; font-weight: 400; }
	.sandy-root .sandy-log .sandy-md strong { font-weight: 700; } /* удебелен остава само маркираният текст */
}

/* =====================================================================================================
   0.2.8-CLAUDE — диктовка (реч → текст)
   Микрофонът е непосредствено вляво от „Изпрати“ — в стандартния банер (в запазеното място) и в разгънатия чат.
   Бутоните никога не сменят местата си; индикаторът на записа е само в колоната на текста.
   Без поддръжка (или изключена диктовка) класът sandy-has-mic липсва и всичко е както в 0.2.7.
   ===================================================================================================== */
.sandy-root.sandy-has-mic { --sandy-audio-slot: 44px; }
.sandy-root .sandy-quick-audio { display: flex; align-items: center; justify-content: center; }
.sandy-root .sandy-mic { position: relative; flex: 0 0 44px; width: 44px; height: 44px; padding: 0; color: var(--sandy-green-dark); background: #fff; border: 2px solid rgba(168, 227, 152, .95); box-shadow: 0 2px 6px rgba(40, 110, 50, .10); transition: background-color .15s ease, color .15s ease, border-color .15s ease; }
.sandy-root .sandy-mic:hover { color: #fff; background: var(--sandy-green); border-color: var(--sandy-green); }
.sandy-root .sandy-mic svg { width: 22px; height: 22px; fill: none; stroke: currentColor; stroke-width: 1.9; stroke-linecap: round; stroke-linejoin: round; }
.sandy-root .sandy-mic::after { content: ""; position: absolute; inset: -4px; border-radius: 50%; } /* зона за докосване */

/* Микрофонът сменя само иконата си — място и размер остават: микрофон → „Стоп“ (червен, бял квадрат) → разпознаване (кръг) */
.sandy-root .sandy-mic .sandy-mic-stop, .sandy-root .sandy-mic .sandy-mic-spin { display: none; }
.sandy-root .sandy-mic[data-sandy-mic="rec"] { color: #fff; background: #d64545; border-color: #d64545; box-shadow: 0 0 0 4px rgba(214, 69, 69, .16); }
.sandy-root .sandy-mic[data-sandy-mic="rec"]:hover { background: #b93636; border-color: #b93636; }
.sandy-root .sandy-mic[data-sandy-mic="rec"] .sandy-mic-ico { display: none; }
.sandy-root .sandy-mic[data-sandy-mic="rec"] .sandy-mic-stop { display: block; width: 16px; height: 16px; fill: #fff; stroke: none; }
.sandy-root .sandy-mic[data-sandy-mic="stt"] { opacity: 1; cursor: progress; color: var(--sandy-green); background: #fff; }
.sandy-root .sandy-mic[data-sandy-mic="stt"] .sandy-mic-ico { display: none; }
.sandy-root .sandy-mic[data-sandy-mic="stt"] .sandy-mic-spin { display: block; width: 20px; height: 20px; border: 2.5px solid rgba(31, 138, 53, .25); border-top-color: var(--sandy-green); border-radius: 50%; animation: sandy-rec-spin .8s linear infinite; }
@keyframes sandy-rec-spin { to { transform: rotate(360deg); } }
/* 0.3.14: докато браузърът потвърди записа (обикновено части от секундата) — само натиснат бутон: без надпис, без въртене */
.sandy-root .sandy-mic[data-sandy-mic="prep"] { color: #d64545; border-color: #d64545; background: #fff; }
.sandy-root .sandy-rec[data-sandy-phase="ask"] { visibility: hidden; }

/* Индикатор в колоната на текста: × (отказ), точка, „Слушам“, таймер, ниво. Дясната граница се задава от скрипта
   (малко преди микрофона) — бутоните вдясно никога не се покриват и не се местят. Размерът на полето не се променя. */
.sandy-root .sandy-input-row { position: relative; }
.sandy-root .sandy-rec { position: absolute; left: 0; top: 0; bottom: 0; right: 100px; z-index: 4; display: flex; align-items: center; gap: 9px; padding: 0 6px 0 8px; background: #fff; border-radius: inherit; border-top-right-radius: 0; border-bottom-right-radius: 0; font-size: 16px; font-weight: 700; line-height: 1.25; color: var(--sandy-ink); }
.sandy-root .sandy-rec-x { flex: 0 0 36px; width: 36px; height: 36px; padding: 0; color: var(--sandy-muted); background: #fff; border: 1px solid #d3ddd5; }
.sandy-root .sandy-rec-x:hover { color: var(--sandy-ink); background: #f3f6f3; }
.sandy-root .sandy-rec-x svg { width: 18px; height: 18px; fill: none; stroke: currentColor; stroke-width: 2.4; stroke-linecap: round; stroke-linejoin: round; }
.sandy-root .sandy-rec-label { min-width: 0; }
.sandy-root .sandy-rec-time { font-weight: 400; color: var(--sandy-muted); font-variant-numeric: tabular-nums; white-space: nowrap; }
.sandy-root .sandy-rec-warn .sandy-rec-time { color: #b4541a; font-weight: 700; }
/* r25: 10 s преди края — видимо предупреждение (оранжева пулсираща точка и мек оранжев фон на лентата) + звук от скрипта */
.sandy-root .sandy-rec.sandy-rec-warn .sandy-rec-dot { background: #e8893a; animation-duration: .6s; }
.sandy-root .sandy-rec.sandy-rec-warn { animation: sandy-rec-warnbg 1.2s ease-in-out infinite; }
@keyframes sandy-rec-warnbg { 0%, 100% { background-color: rgba(255, 237, 213, .55); } 50% { background-color: rgba(255, 214, 170, .9); } }
.sandy-root .sandy-rec-dot { flex: 0 0 auto; width: 11px; height: 11px; border-radius: 50%; background: #d64545; animation: sandy-rec-pulse 1.2s ease-in-out infinite; }
.sandy-root .sandy-rec-meter { display: inline-flex; align-items: center; gap: 3px; height: 22px; margin-left: auto; }
.sandy-root .sandy-rec-meter i { display: block; width: 4px; height: 22px; border-radius: 2px; background: var(--sandy-green); transform: scaleY(.16); transition: transform .1s linear; }
@keyframes sandy-rec-pulse { 50% { opacity: .35; } }
.sandy-root .sandy-rec[data-sandy-phase="ask"] .sandy-rec-meter,
.sandy-root .sandy-rec[data-sandy-phase="stt"] .sandy-rec-meter,
.sandy-root .sandy-rec[data-sandy-phase="err"] .sandy-rec-meter,
.sandy-root .sandy-rec[data-sandy-phase="ask"] .sandy-rec-dot,
.sandy-root .sandy-rec[data-sandy-phase="stt"] .sandy-rec-dot { display: none; }
.sandy-root .sandy-rec[data-sandy-phase="ask"],
.sandy-root .sandy-rec[data-sandy-phase="stt"] { font-weight: 400; color: var(--sandy-muted); }

/* Грешка: разбираемо съобщение в колоната на текста; затваря се с × или сама. Бутоните вдясно са вече нормални. */
.sandy-root .sandy-rec[data-sandy-phase="err"] { background: #fff8f3; font-size: 14.5px; font-weight: 400; line-height: 1.3; color: #6b3414; }
.sandy-root .sandy-rec[data-sandy-phase="err"] .sandy-rec-dot { display: block; position: relative; width: 20px; height: 20px; background: #e8893a; animation: none; }
.sandy-root .sandy-rec[data-sandy-phase="err"] .sandy-rec-dot::after { content: "!"; position: absolute; inset: 0; display: flex; align-items: center; justify-content: center; color: #fff; font-size: 13px; font-weight: 700; }
.sandy-root .sandy-rec[data-sandy-phase="err"] .sandy-rec-label { display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; }

/* След добавяне на текста: кратко зелено сияние около полето (без промяна на размера) */
.sandy-root .sandy-rec-added { animation: sandy-rec-added 1.6s ease-out; }
@keyframes sandy-rec-added { 0%, 30% { box-shadow: 0 0 0 4px rgba(127, 207, 108, .55); } 100% { box-shadow: 0 0 0 0 rgba(127, 207, 108, 0); } }

.sandy-root .sandy-sr { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); clip-path: inset(50%); white-space: nowrap; }

@media (prefers-reduced-motion: reduce) {
	.sandy-root .sandy-rec-dot, .sandy-root .sandy-rec-added, .sandy-root .sandy-mic-spin, .sandy-root .sandy-rec.sandy-rec-warn { animation: none !important; }
	.sandy-root .sandy-rec.sandy-rec-warn { background-color: rgba(255, 214, 170, .9); }
	.sandy-root .sandy-rec-meter i { transition: none; }
}

@media (max-width: 600px) {
	.sandy-root .sandy-rec { gap: 6px; padding: 0 4px 0 6px; font-size: 15px; }
	.sandy-root .sandy-rec[data-sandy-phase="err"] { font-size: 14px; line-height: 1.25; }
	.sandy-root .sandy-rec[data-sandy-phase="err"] .sandy-rec-dot { display: none; } /* тясно: без иконата, за да се чете целият текст */
	.sandy-root .sandy-rec[data-sandy-phase="err"] .sandy-rec-label { -webkit-line-clamp: 4; }
	.sandy-root .sandy-rec-x { flex-basis: 34px; width: 34px; height: 34px; }
	.sandy-root .sandy-rec-meter i:nth-child(n+5) { display: none; } /* на тесен екран — 4 чертички */
}

@media (max-width: 400px) {
	/* Разгънат чат на тесен телефон: „Слушам“ остава само за екранните четци — точката, таймерът и нивото казват същото */
	.sandy-root .sandy-input-row .sandy-rec[data-sandy-phase="rec"] .sandy-rec-label { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); clip-path: inset(50%); white-space: nowrap; }
}

/* =====================================================================================================
   0.2.8-CLAUDE — поле за писане на телефон (MASTER, т. 6; само мобилен CSS, компютърът не се променя)
   Стандартен банер и разгънат чат — въведен текст и подсказка: Lato (наследява се от темата), 19 px, 1,55.
   Плътност: банер 500, разгънат чат 400 (както досега). Височините на полето в банера (2–4 реда) следват новото междуредие.
   ===================================================================================================== */
@media (max-width: 600px) {
	.sandy-root .sandy-quick-input { --sandy-q-font: 19px; font-size: 19px; line-height: 1.55; font-weight: 500; height: calc(2 * 1.55em + 4px); min-height: calc(2 * 1.55em + 4px); max-height: calc(4 * 1.55em + 4px); }
	.sandy-root .sandy-quick-input::placeholder { font-size: 19px; line-height: 1.55; font-weight: 500; }
	.sandy-root .sandy-input { font-size: 19px; line-height: 1.55; font-weight: 400; }
	.sandy-root .sandy-input::placeholder { font-size: 19px; line-height: 1.55; font-weight: 400; }
}

/* =====================================================================================================
   0.2.8-CLAUDE — разгънат чат: микрофон и „Изпрати“ долу вдясно (окончателно, 27.10.2026)
   Микрофонът е непосредствено вляво от „Изпрати“; двата бутона са с еднакъв диаметър (44 px), подравнени
   по долния край на полето с еднакво отстояние (6 px отдолу, отдясно и помежду им). Текстът е в собствената
   си колона вляво — при много редове бутоните остават долу вдясно и не го закриват. Еднакво на компютър и телефон.
   Стандартният банер не се променя.
   ===================================================================================================== */
.sandy-root .sandy-input-row { align-items: flex-end; gap: 6px; padding: 6px 6px 6px 18px; border-radius: 22px; }
.sandy-root .sandy-input-row .sandy-send { flex: 0 0 44px; width: 44px; height: 44px; box-shadow: 0 3px 8px rgba(20, 100, 35, .22); }
.sandy-root .sandy-input-row .sandy-send .sandy-send-ico { width: 21px; height: 21px; }
.sandy-root .sandy-input-row .sandy-input { min-height: 44px; }
@media (max-width: 600px) {
	.sandy-root .sandy-input-row { padding: 6px 6px 6px 14px; }
	.sandy-root .sandy-input-row .sandy-input { padding: 7px 0; } /* 19 px × 1,55 + 14 = 44 px: един ред е точно на височината на бутоните */
}

/* =====================================================================================================
   0.2.9-CLAUDE (одобрен прототип preview-05) — жива звукова вълна, лапичка, дата и час, архив. Одобреният дизайн на 0.2.8-r2 не се променя.
   ===================================================================================================== */
/* Жива звукова вълна по време на запис (на мястото на чертичките; заема свободното място до бутоните) */
.sandy-root .sandy-rec-wave { display: block; flex: 1 1 auto; min-width: 40px; height: 26px; color: var(--sandy-green); }
.sandy-root .sandy-rec[data-sandy-phase="ask"] .sandy-rec-wave,
.sandy-root .sandy-rec[data-sandy-phase="stt"] .sandy-rec-wave,
.sandy-root .sandy-rec[data-sandy-phase="err"] .sandy-rec-wave { display: none; }

/* Лапичката на Санди — индикатор за отговор. r23: „Котаракът меси“ — две лапички натискат последователно:
   лява → дясна, цикъл 0,9 s (r24; беше 1,2 s), отчетливо натискане и отпускане; при натискане лапичката леко се свива надолу и сиянието под нея се усилва. */
.sandy-root .sandy-msg-paw { padding: 2px 0 4px 2px; background: transparent; }
.sandy-root .sandy-paw { display: block; width: 88px; height: 42px; overflow: visible; filter: drop-shadow(0 3px 4px rgba(31, 138, 53, .28)); }
.sandy-root .sandy-paw-hand { transform-box: fill-box; transform-origin: 50% 90%; }
.sandy-root .sandy-paw-l { animation: sandy-knead-l .9s cubic-bezier(.35, 0, .25, 1) infinite; }
.sandy-root .sandy-paw-r { animation: sandy-knead-r .9s cubic-bezier(.35, 0, .25, 1) infinite; }
.sandy-root .sandy-paw-glow { opacity: .14; }
.sandy-root .sandy-paw-glow-l { animation: sandy-knead-glow-l .9s cubic-bezier(.35, 0, .25, 1) infinite; }
.sandy-root .sandy-paw-glow-r { animation: sandy-knead-glow-r .9s cubic-bezier(.35, 0, .25, 1) infinite; }
.sandy-root .sandy-paw-shine { fill: #fff; opacity: .28; }
@keyframes sandy-knead-l { 0%, 44%, 100% { transform: translateY(0) scale(1, 1); } 13%, 24% { transform: translateY(2.5px) scale(1.04, .88); } }
@keyframes sandy-knead-r { 0%, 50%, 94%, 100% { transform: translateY(0) scale(1, 1); } 63%, 74% { transform: translateY(2.5px) scale(1.04, .88); } }
@keyframes sandy-knead-glow-l { 0%, 44%, 100% { opacity: .14; } 13%, 24% { opacity: .62; } }
@keyframes sandy-knead-glow-r { 0%, 50%, 94%, 100% { opacity: .14; } 63%, 74% { opacity: .62; } }

/* Дата и час на съобщенията — дискретно, без рамки */
.sandy-root .sandy-day { display: flex; align-items: center; gap: 10px; margin: 16px 0 10px; font-size: 12.5px; font-weight: 700; letter-spacing: .02em; color: var(--sandy-muted); }
.sandy-root .sandy-day::before, .sandy-root .sandy-day::after { content: ""; flex: 1 1 auto; height: 1px; background: rgba(168, 227, 152, .9); }
.sandy-root .sandy-day span { padding: 3px 12px; background: #eef8e8; border: 1px solid rgba(168, 227, 152, .9); border-radius: 999px; white-space: nowrap; } /* 0.3.0: по-видим, с дата */
@media (max-width: 600px) { .sandy-root .sandy-day { font-size: 14px; } }
.sandy-root .sandy-time { display: block; margin: 3px 4px 0; font-size: 10.5px; line-height: 1.2; font-weight: 400; color: #9ba89e; font-variant-numeric: tabular-nums; }
.sandy-root .sandy-msg-user .sandy-time { text-align: right; }
.sandy-root .sandy-acts .sandy-time { display: inline-block; margin: 0 0 0 4px; align-self: center; }

/* „Архив | Нов разговор“ — под полето, вдясно, без рамки и фонове */
.sandy-root .sandy-form-row { align-items: center; }
.sandy-root .sandy-form-sep { padding: 0 1px; font-size: 13px; color: #b9c6bb; }
.sandy-root .sandy-archive-btn[aria-pressed="true"] { color: var(--sandy-ink); }
/* r5: „← Обратно към разговора“ — долу вляво в „Моята информация“; „Архив | Нов разговор“ остават вдясно */
.sandy-root .sandy-form-links { display: inline-flex; align-items: center; margin-left: auto; }
.sandy-root .sandy-info-back { margin-right: auto; padding: 8px 8px 8px 2px; min-height: 40px; font-size: 14px; font-weight: 600; color: var(--sandy-green); white-space: nowrap; }
.sandy-root .sandy-info-back:hover { color: var(--sandy-green-dark); }
.sandy-root .sandy-info-back[hidden] { display: none; }
.sandy-root .sandy-info-head .sandy-arch-title { margin-left: 0; }
@media (max-width: 600px) {
	/* телефон: ако не се събира на един ред, „Архив | Нов разговор“ минава на втори ред вдясно — без застъпване */
	.sandy-root .sandy-form-row.sandy-has-back { flex-wrap: wrap; row-gap: 0; }
	.sandy-root .sandy-info-back { font-size: 16px; min-height: 44px; }
}

/* Архивът — на мястото на разговора, в прозореца на Санди */
.sandy-root .sandy-archive { display: flex; flex-direction: column; min-height: 0; }
.sandy-root .sandy-chat.sandy-in-archive .sandy-log,
.sandy-root .sandy-chat.sandy-in-archive .sandy-input-row,
.sandy-root .sandy-chat.sandy-in-archive .sandy-topic-chip { display: none !important; }
.sandy-root .sandy-arch-head { display: flex; align-items: center; gap: 8px; padding: 4px 0 8px; border-bottom: 1px solid rgba(168, 227, 152, .55); }
.sandy-root .sandy-arch-back { padding: 6px 6px; }
.sandy-root .sandy-arch-title { margin-left: auto; font-size: 14px; font-weight: 700; color: var(--sandy-ink); }
.sandy-root .sandy-arch-body { flex: 1 1 auto; min-height: 0; overflow-y: auto; padding: 6px 2px; }
.sandy-root .sandy-arch-list { margin: 0; padding: 0; list-style: none; }
.sandy-root .sandy-arch-list li + li { border-top: 1px solid #edf4ec; }
.sandy-root .sandy-arch-item { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 3px 12px; width: 100%; padding: 10px 8px; text-align: left; font-weight: 400; line-height: 1.3; color: var(--sandy-ink); background: transparent; border-radius: 12px; }
.sandy-root .sandy-arch-item:hover { color: var(--sandy-ink); background: #eef8e8; }
.sandy-root .sandy-arch-date { font-size: 12px; font-weight: 600; color: var(--sandy-muted); }
.sandy-root .sandy-arch-count { font-size: 12px; color: #8c9a8f; }
.sandy-root .sandy-arch-preview { grid-column: 1 / -1; font-size: 15px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.sandy-root .sandy-arch-note { margin: 14px 0; font-size: 13px; text-align: center; color: var(--sandy-muted); }
@media (min-width: 601px) {
	.sandy-root .sandy-archive { grid-row: 1 / 3; contain: size; padding-top: 10px; } /* на мястото на разговора — панелът не променя размера си */
}
@media (max-width: 600px) {
	.sandy-root .sandy-arch-conv .sandy-text { font-size: 19px; line-height: 1.55; font-weight: 400; } /* както съобщенията в чата (0.2.7) */
	.sandy-root .sandy-arch-preview { font-size: 16px; }
	.sandy-root .sandy-time { font-size: 11px; }
}
@media (prefers-reduced-motion: reduce) {
	.sandy-root .sandy-paw-hand, .sandy-root .sandy-paw-toe, .sandy-root .sandy-paw-glow { animation: none; }
}

/* ---- 0.2.9: пет икони под отговора (Слушане · Копиране · Споделяне · Харесвам · Не харесвам) ---- */
.sandy-root .sandy-acts { flex-wrap: wrap; gap: 0; } /* иконите и часът — един ред; бележката (Копирано…) — под тях */
.sandy-root .sandy-act { width: 28px; height: 28px; }
.sandy-root .sandy-act-ico { width: 17px; height: 17px; }
.sandy-root .sandy-act-soon, .sandy-root .sandy-act-soon:hover { color: #6f8a73; background: transparent; cursor: default; } /* неактивно до Sandy Voice AI, но ясно видимо */
.sandy-root .sandy-act.sandy-is-done { color: var(--sandy-green-dark); }
.sandy-root .sandy-acts .sandy-act-note { flex-basis: 100%; margin: 1px 0 2px 6px; white-space: normal; }

/* ---- 0.2.9: телефон, разгънат чат — почти цялата видима височина на екрана ----
   Височината следва екрана (svh — видимата част при показани ленти на Safari; без подскачане при превъртане).
   190 px = горна/долна рамка на панела, полето за писане, „Архив | Нов разговор“ и бележката отдолу. */
@media (max-width: 600px) {
	.sandy-root .sandy-panel { scroll-margin-top: 12px; }
	.sandy-root .sandy-log { height: calc(100vh - 190px); height: calc(100svh - 190px); min-height: 260px; }
}
/* Слушане: високоговорителят е с ~24 % по-голям от другите четири икони (те не се променят). */
.sandy-root .sandy-act-listen .sandy-act-ico { width: 21px; height: 21px; }

/* =====================================================================================================
   0.2.10-CLAUDE — окончателни мобилни корекции (28.10.2026). САМО телефон (≤ 600 px); компютърът е непроменен.
   1. Шрифт: въпроси и отговори 20 px / 500; текст в полето 20 px / 500; подсказката 20 px / 400, сива.
      Височината на реда (1,55) и шрифтът на сайта (Lato) са непроменени. Системните бележки — без промяна.
   2. Икони: видимите символи са ~20 % по-големи, с по-плътен контур (stroke-width 2,3).
      Бутоните (44 px микрофон, 28 px икони + зона за докосване ~40 px) и подредбата НЕ се променят.
   ===================================================================================================== */
@media (max-width: 600px) {
	.sandy-root .sandy-log .sandy-msg-user .sandy-text,
	.sandy-root .sandy-log .sandy-msg-assistant .sandy-text,
	.sandy-root .sandy-log .sandy-msg-hint .sandy-text,
	.sandy-root .sandy-arch-conv .sandy-msg-user .sandy-text,
	.sandy-root .sandy-arch-conv .sandy-msg-assistant .sandy-text { font-size: 20px; line-height: 1.55; font-weight: 500; }
	.sandy-root .sandy-log .sandy-md strong,
	.sandy-root .sandy-arch-conv .sandy-md strong { font-weight: 700; }

	.sandy-root .sandy-quick-input { --sandy-q-font: 20px; font-size: 20px; font-weight: 500; }
	.sandy-root .sandy-input { font-size: 20px; font-weight: 500; }
	.sandy-root .sandy-quick-input::placeholder,
	.sandy-root .sandy-input::placeholder { font-size: 20px; font-weight: 400; color: #8a968c; opacity: 1; }

	.sandy-root .sandy-mic .sandy-mic-ico { width: 26px; height: 26px; stroke-width: 2.3; }        /* 22 → 26 px */
	.sandy-root .sandy-act .sandy-act-ico { width: 20.5px; height: 20.5px; stroke-width: 2.3; }    /* 17 → 20,5 px */
	.sandy-root .sandy-act-listen .sandy-act-ico { width: 25px; height: 25px; stroke-width: 2.3; } /* слушане: 21 → 25 px, остава най-голямо */
	/* Зони за докосване: 6 px между иконите и зона 34 × 38 px около всяка — без застъпване между съседните. */
	.sandy-root .sandy-acts { gap: 6px; }
	.sandy-root .sandy-act::after { inset: -5px -3px; }
}

/* ---------------- 0.3.0: „За мен“ — покана за разговор + памет ---------------- */
/* Хапче до „Актуално“ (същия стил); прозорецът е с размерите на менюто „Актуално“ — първо за телефон. */
.sandy-root .sandy-about-ico { width: 16px; height: 16px; fill: none; stroke: currentColor; stroke-width: 2.2; stroke-linecap: round; }
.sandy-root .sandy-about.sandy-is-on .sandy-about-ico { stroke: #fff; }
.sandy-root .sandy-about-menu { padding: 14px 14px 10px; max-height: min(70vh, 520px); overflow-y: auto; overscroll-behavior: contain; color: var(--sandy-ink); }
.sandy-root .sandy-about-lead { margin: 0 0 12px; font-size: 15px; line-height: 1.45; font-weight: 500; }
.sandy-root .sandy-about-start { width: 100%; height: 42px; font-size: 15px; font-weight: 700; color: #fff; background: var(--sandy-green); border-radius: 999px; }
.sandy-root .sandy-about-start:hover { color: #fff; background: var(--sandy-green-dark); }
.sandy-root .sandy-about-info { display: flex; align-items: center; justify-content: space-between; width: 100%; margin-top: 12px; padding: 12px 4px 4px; font-size: 15px; font-weight: 700; color: var(--sandy-green-dark); background: transparent; border-top: 1px solid #edf4ec; border-radius: 0; }
.sandy-root .sandy-about-info:hover, .sandy-root .sandy-about-info:focus-visible { color: var(--sandy-green); outline: none; }
.sandy-root .sandy-about-info svg { width: 18px; height: 18px; fill: none; stroke: currentColor; stroke-width: 2.2; stroke-linecap: round; stroke-linejoin: round; }
/* 0.4.0: „Моето потребление“ — зелена лента с оставащия месечен ресурс (без евро, токени и единици) */
.sandy-root .sandy-about-usage { margin-top: 4px; }
.sandy-root .sandy-about-usage svg { transition: transform .15s ease; }
.sandy-root .sandy-about-usage.sandy-is-open svg { transform: rotate(180deg); }
.sandy-root .sandy-usage { padding: 6px 4px 4px; }
.sandy-root .sandy-usage-item { margin: 4px 0 10px; }
.sandy-root .sandy-usage-label { margin-bottom: 5px; font-size: 13px; font-weight: 700; color: var(--sandy-ink); }
.sandy-root .sandy-usage-bar { position: relative; height: 10px; background: #edf4ec; border-radius: 999px; overflow: hidden; }
.sandy-root .sandy-usage-fill { height: 100%; background: var(--sandy-green); border-radius: 999px; transition: width .3s ease; }
.sandy-root .sandy-usage-w80 .sandy-usage-fill { background: #c9a227; }
.sandy-root .sandy-usage-w95 .sandy-usage-fill, .sandy-root .sandy-usage-out .sandy-usage-fill { background: #c4643a; }
.sandy-root .sandy-usage-pct { margin-top: 5px; font-size: 13px; color: #5d6b5c; }
.sandy-root .sandy-usage-warn { margin-top: 4px; font-size: 13px; font-weight: 600; color: #8a4a20; }
.sandy-root .sandy-usage-note { margin: 4px 0 0; font-size: 13px; line-height: 1.4; color: #5d6b5c; }
@media (prefers-reduced-motion: reduce) { .sandy-root .sandy-usage-fill, .sandy-root .sandy-about-usage svg { transition: none; } }
/* 0.4.1: „Допълнителни пакети“ — компактен бутон (вариант А) */
.sandy-root .sandy-extras { padding: 2px 4px 0; }
.sandy-root .sandy-packs { margin-top: 10px; padding-top: 12px; border-top: 1px solid #edf4ec; }
.sandy-root .sandy-packs-btn { display: inline-flex; align-items: center; justify-content: center; gap: 8px; width: 100%; height: 40px; font-size: 15px; font-weight: 700; color: var(--sandy-green-dark); background: #fff; border: 2px solid rgba(168, 227, 152, .95); border-radius: 999px; box-shadow: 0 3px 10px rgba(40, 110, 50, .12); text-decoration: none; }
.sandy-root .sandy-packs-btn:hover, .sandy-root .sandy-packs-btn:focus-visible { color: #fff; background: var(--sandy-green); border-color: var(--sandy-green); outline: none; }
.sandy-root .sandy-packs-btn svg { width: 18px; height: 18px; fill: none; stroke: currentColor; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; }

/* „Моята информация“ — изглед на мястото на разговора (като архива) */
.sandy-root .sandy-info-list { margin: 0; padding: 0; list-style: none; }
.sandy-root .sandy-info-item { padding: 10px 8px 6px; border-bottom: 1px solid #edf4ec; }
.sandy-root .sandy-info-text { font-size: 15px; line-height: 1.45; color: var(--sandy-ink); overflow-wrap: anywhere; }
.sandy-root .sandy-info-row { display: flex; align-items: center; justify-content: space-between; gap: 8px; margin-top: 2px; }
.sandy-root .sandy-info-date { font-size: 12px; color: #8c9a8f; font-variant-numeric: tabular-nums; }
.sandy-root .sandy-info-icons { display: flex; gap: 4px; flex: 0 0 auto; }
.sandy-root .sandy-info-del:hover { color: #a33a2c; background: rgba(163, 58, 44, .09); }
.sandy-root .sandy-info-input { box-sizing: border-box; width: 100%; padding: 8px 10px; font: inherit; font-size: 15px; line-height: 1.4; color: var(--sandy-ink); background: #fff; border: 1px solid var(--sandy-border); border-radius: 10px; resize: vertical; }
.sandy-root .sandy-info-acts { display: flex; align-items: center; gap: 14px; margin-top: 6px; }
.sandy-root .sandy-info-save { padding: 6px 16px; font-size: 14px; font-weight: 700; color: #fff; background: var(--sandy-green); border-radius: 999px; }
.sandy-root .sandy-info-save:hover { color: #fff; background: var(--sandy-green-dark); }
.sandy-root .sandy-info-err { font-size: 12.5px; color: #a33a2c; }
.sandy-root .sandy-info-err:empty { display: none; }
@media (max-width: 600px) {
	.sandy-root .sandy-info-text { font-size: 18px; line-height: 1.5; }
	.sandy-root .sandy-info-date { font-size: 13.5px; }
	.sandy-root .sandy-info-input { font-size: 18px; }
	.sandy-root .sandy-about-info { font-size: 16.5px; }
}
@media (min-width: 601px) {
	/* разгънат чат: „За мен“ — вляво от „Актуално“ върху горния ръб на чата */
	.sandy-root .sandy-chat-head .sandy-about { right: 262px; }
}
@media (max-width: 600px) {
	/* стандартен банер на телефон: прозорецът се отваря надолу (по-висок е от „Актуално“) */
	.sandy-root .sandy-viewbar .sandy-about-menu { top: calc(100% + 10px); bottom: auto; left: 0; right: auto; } /* хапчето е вляво — прозорецът се отваря надясно, в екрана */
	.sandy-root .sandy-about-lead { font-size: 16.5px; }
}

/* =====================================================================================================
   Ф3б (A-009) — прослушване със SANDY Voice AI: изчакване и съобщения под отговора (одобрен прототип v01, 01.11.2026).
   Бутонът „Слушай“ е същият; иконите не се местят. Бележката е на реда под тях. */
.sandy-root .sandy-act-note.sandy-listen-wait { display: flex; flex-direction: column; gap: 4px; font-size: 12.5px; color: var(--sandy-muted); }
.sandy-root .sandy-listen-bar { position: relative; width: 100%; max-width: 280px; height: 3px; border-radius: 3px; background: rgba(31, 138, 53, .14); overflow: hidden; }
.sandy-root .sandy-listen-bar > i { position: absolute; top: 0; bottom: 0; left: 0; width: 0; border-radius: 3px; background: var(--sandy-green); transition: width .9s linear; }
.sandy-root .sandy-listen-bar.is-queue > i { width: 30%; background: rgba(31, 138, 53, .55); animation: sandy-listen-slide 1.8s ease-in-out infinite; }
@keyframes sandy-listen-slide { 0% { left: -30%; } 100% { left: 100%; } }
.sandy-root .sandy-act-listen.sandy-is-ready { color: var(--sandy-green-dark); background: rgba(31, 138, 53, .12); box-shadow: 0 0 0 2px var(--sandy-green); }
@media (prefers-reduced-motion: reduce) { .sandy-root .sandy-listen-bar.is-queue > i { animation: none; left: 0; } }
@media (max-width: 600px) { .sandy-root .sandy-act-note.sandy-listen-wait, .sandy-root .sandy-acts .sandy-act-note { font-size: 14px; } }

/* =====================================================================================================
   0.3.3-CLAUDE — визуални корекции (01.11.2026, одобрен прототип 0.3.3-preview-01). Само CSS.
   JS, PHP, гласов модул („Слушай“), Voice AI, диктовка и API — без промяна.
   ТЕЛЕФОН (≤ 600 px):
   1. Зеленият прозорец на чата (.sandy-panel) заема цялата ширина на екрана — без бели полета отстрани;
      зеленият кант и заоблените ъгли се запазват. Котаракът и зелената карта над чата не се променят.
   2. Текст на въпросите и отговорите: 20 → 22 px (тегло 500, ред 1,55 — без промяна).
   3. Бутоните под отговорите ~2 × по-едри: 28 → 48 px; икони 20,5 → 34 px; „Слушай“ 25 → 40 px (остава най-голям).
   4. Полето за писане ползва освободената ширина (същото оформление, по-широк прозорец).
   КОМПЮТЪР (≥ 601 px): само бутонът „Слушай“ +20 % (28 → 34 px, икона 21 → 25 px). Всичко друго — непроменено.
   ===================================================================================================== */
@media (max-width: 600px) {
	.sandy-root .sandy-panel {
		box-sizing: border-box;
		width: 100vw;
		max-width: none;
		margin-left: calc(50% - 50vw);
		margin-right: calc(50% - 50vw);
	}

	.sandy-root .sandy-log .sandy-msg-user .sandy-text,
	.sandy-root .sandy-log .sandy-msg-assistant .sandy-text,
	.sandy-root .sandy-log .sandy-msg-hint .sandy-text,
	.sandy-root .sandy-arch-conv .sandy-msg-user .sandy-text,
	.sandy-root .sandy-arch-conv .sandy-msg-assistant .sandy-text { font-size: 22px; }

	.sandy-root .sandy-acts { gap: 4px; margin-top: 6px; }
	.sandy-root .sandy-act { width: 48px; height: 48px; }
	.sandy-root .sandy-act::after { inset: 0; } /* 48 px вече е достатъчна зона за докосване */
	.sandy-root .sandy-act .sandy-act-ico { width: 34px; height: 34px; stroke-width: 2.1; }
	.sandy-root .sandy-act-listen .sandy-act-ico { width: 40px; height: 40px; stroke-width: 2.1; }
	.sandy-root .sandy-act-listen.sandy-is-loading::before { inset: 3px; border-width: 3px; }
}
@media (min-width: 601px) {
	.sandy-root .sandy-act-listen { width: 34px; height: 34px; }
	.sandy-root .sandy-act-listen .sandy-act-ico { width: 25px; height: 25px; }
}

/* =====================================================================================================
   0.3.4-CLAUDE — петте бутона под отговора, САМО телефон (≤ 600 px). Компютърът и всичко друго — без промяна.
   „Слушай“: бутон 48 × 48 px, икона 40 px — без промяна на размер и позиция.
   „Копирай“, „Сподели“, „Харесвам“, „Не харесвам“: икони 34 → 30 px; бутони 48 → 44 px ширина (височина 48 px);
   зоните им се допират, без да се припокриват (без отрицателни отстояния).
   Иконата на „Копирай“ започва от същата точка (59 px от началото на реда) → просвет „Слушай“–„Копирай“ 15 px, както в 0.3.3.
   Просвет между четирите второстепенни икони: 18 → 14 px, еднакъв. Часът запазва отстоянието си след „Не харесвам“.
   ===================================================================================================== */
@media (max-width: 600px) {
	.sandy-root .sandy-acts { gap: 0; }
	.sandy-root .sandy-act-listen { margin-right: 4px; }
	.sandy-root .sandy-act-copy,
	.sandy-root .sandy-act-share,
	.sandy-root .sandy-act-up,
	.sandy-root .sandy-act-down { width: 44px; height: 48px; }
	.sandy-root .sandy-act-down { margin-right: 4px; }
	.sandy-root .sandy-act-copy .sandy-act-ico,
	.sandy-root .sandy-act-share .sandy-act-ico,
	.sandy-root .sandy-act-up .sandy-act-ico,
	.sandy-root .sandy-act-down .sandy-act-ico { width: 30px; height: 30px; }
}

/* 0.3.16: „Архив | Текущ разговор | Нов разговор“. Текущият изглед е по-тъмен (както натиснатият „Архив“).
   Телефон: „Архив | Текущ разговор / Нов разговор“; под 350 px — „Архив | Текущ / Нов разговор“. Без пренасяне на думи. */
.sandy-root .sandy-form-links .sandy-link { white-space: nowrap; }
.sandy-root .sandy-current[aria-current="true"] { color: var(--sandy-ink); }
.sandy-root .sandy-lbl-short { display: none; }
@media (max-width: 600px) {
	.sandy-root .sandy-form-sep-cn .sandy-lbl-full { display: none; }
	.sandy-root .sandy-form-sep-cn .sandy-lbl-short { display: inline; }
}
@media (max-width: 349px) {
	.sandy-root .sandy-current .sandy-lbl-full { display: none; }
	.sandy-root .sandy-current .sandy-lbl-short { display: inline; }
}

/* 0.5.3 — „Моето потребление“: три самостоятелни секции; „За мен“ без фиксирана височина и вътрешен скрол */
.sandy-root .sandy-usage-sec { padding: 10px 0 2px; border-top: 1px solid rgba(168, 227, 152, .75); }
.sandy-root .sandy-usage-sec:first-of-type { border-top: 0; padding-top: 2px; }
.sandy-root .sandy-usage-sec .sandy-usage-item { margin: 0 0 8px; }
.sandy-root .sandy-usage-renew { margin-top: 3px; font-size: 12px; line-height: 1.4; opacity: .8; }
.sandy-root .sandy-about-menu { max-height: none; overflow: visible; overscroll-behavior: auto; }
.sandy-root .sandy-viewbar .sandy-about-menu { top: calc(100% + 10px); bottom: auto; }
