/*
 * Общий «умный редактор текста» Corona Records (движок CREditor).
 * Подключается и в ЛК (cr-ai-tools.php), и в чек-листе релиза (release.php).
 * Классы .le-* — глобальные (по одному редактору на странице). Фокус-контейнер
 * получает класс .cr-focus (это может быть .le-area или карточка-обёртка).
 * Цвета берём из CSS-переменных темы с фолбэками (работает в кабинете и админке).
 */
.le-toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:7px;margin-bottom:9px}
.le-tag,.le-btn{background:#0a0a0d;border:1px solid var(--line,#2a2a33);border-radius:8px;padding:6px 11px;color:#cbcbd4;font:700 12px inherit;cursor:pointer;font-family:inherit}
.le-tag:hover,.le-btn:hover{border-color:var(--gold,#e1162b);color:#fff}
.le-toggle{display:inline-flex;align-items:center;gap:5px;font-size:12px;color:var(--mut,#9a9aa6);cursor:pointer;user-select:none}
.le-toggle input{accent-color:var(--gold,#e1162b)}
/* заблокированная премиум-фича (авто-подсказки только в Corona Records+) */
.le-toggle-lock{text-decoration:none;cursor:help;opacity:.9}
.le-lock{font-size:9.5px;font-weight:800;letter-spacing:.3px;text-transform:uppercase;color:#12121a;background:linear-gradient(135deg,#ffd76a,#f0b429);padding:1px 6px;border-radius:6px}
.le-area{position:relative;background:#0c0c11;border:1px solid var(--line,#2a2a33);border-radius:12px;overflow:hidden;box-shadow:inset 0 1px 0 rgba(255,255,255,.03)}
.le-area:focus-within{border-color:rgba(255,255,255,.24);box-shadow:inset 0 1px 0 rgba(255,255,255,.04),0 0 0 3px rgba(255,255,255,.05)}
.le-hl,.le-ta{margin:0;padding:15px 16px;font-family:inherit;font-size:15.5px;line-height:1.75;white-space:pre-wrap;word-break:break-word;overflow-wrap:break-word;box-sizing:border-box;width:100%}
.le-hl{position:absolute;inset:0;color:transparent;pointer-events:none;z-index:0;overflow:hidden}
.le-ta{position:relative;z-index:1;display:block;background:transparent;border:0;color:var(--txt,#f3f1ec);resize:none;overflow:hidden;min-height:160px}
.le-ta:focus{outline:none}
.le-rh{border-bottom:2px solid currentColor;padding-bottom:1px}
.le-rh-weak{border-bottom-style:dotted;opacity:.85}
.le-tip{font-size:11.5px;color:var(--mut,#9a9aa6);margin-top:8px;line-height:1.5}
.le-tip b{color:#cbcbd4;font-weight:700}
/* Счётчик слогов был rgba(255,255,255,.28) на почти чёрном — контраст ~2.5:1 при норме 4.5.
   Это не украшение: считать слоги в строке — основная работа автора текста. */
.le-syl{display:inline-block;width:0;white-space:nowrap;color:rgba(255,255,255,.5);font-size:.72em;font-weight:700;transform:translateX(.55em);vertical-align:baseline}
.le-r1{color:#ff6b6b}.le-r2{color:#ffd166}.le-r3{color:#5ad1c9}.le-r4{color:#7aa2ff}.le-r5{color:#c792ea}.le-r6{color:#ff9f6b}.le-r7{color:#74e0a8}.le-r8{color:#f78fb3}
/* лента умных подсказок (smart-replies) */
.le-sugg{display:flex;gap:7px;overflow-x:auto;padding:9px 1px 1px;margin-top:1px;-webkit-overflow-scrolling:touch;scrollbar-width:none}
.le-sugg::-webkit-scrollbar{display:none}
.le-sugg:empty{display:none}
.le-sugg-chip{flex:0 0 auto;white-space:nowrap;background:rgba(225,170,60,.10);border:1px solid rgba(225,170,60,.30);color:#e8c98a;border-radius:999px;padding:7px 13px;font:700 12.5px inherit;font-family:inherit;cursor:pointer;transition:.12s}
.le-sugg-chip:hover{background:rgba(225,22,43,.12);border-color:var(--gold,#e1162b);color:#fff}
.le-sugg-chip.plain{background:#13131a;border-color:var(--line,#2a2a33);color:#e8e8ee}
.le-sugg-chip.plain:hover{border-color:var(--gold,#e1162b);color:#fff;background:rgba(225,22,43,.08)}
/* мобила: лента плывёт над клавиатурой как композер-бар */
.le-sugg-float{position:fixed!important;left:0;right:0;z-index:3200;background:#0c0c11;border-top:1px solid var(--line,#2a2a33);padding:9px 12px;box-shadow:0 -12px 34px rgba(0,0,0,.55);margin:0}
.le-stats{display:flex;flex-wrap:wrap;gap:14px;margin-top:9px;font-size:12px;color:var(--mut,#9a9aa6)}
.le-stats b{color:#fff;font-weight:700}
/* режим фокуса: фуллскрин-контейнер «матовое стекло» поверх размытой страницы */
.cr-focus{position:fixed;inset:12px;z-index:3000;margin:0;overflow:auto;border-radius:18px;background:rgba(13,13,17,.82);-webkit-backdrop-filter:blur(30px) saturate(1.35);backdrop-filter:blur(30px) saturate(1.35);border:1px solid rgba(255,255,255,.09);box-shadow:0 24px 90px rgba(0,0,0,.6),inset 0 1px 0 rgba(255,255,255,.06);scrollbar-width:none;-ms-overflow-style:none}
.cr-focus::-webkit-scrollbar{display:none}
.cr-focus .le-ta{min-height:calc(100vh - 120px)}
/* в фокусе убираем красную рамку и видимый скролл — чистый лист; внутренний слой прозрачный, чтобы просвечивало стекло */
.cr-focus.le-area,.cr-focus .le-area,.cr-focus.le-area:focus-within,.cr-focus .le-area:focus-within{border-color:transparent}
.cr-focus .le-area{background:transparent}
.le-exit{display:none;position:absolute;top:10px;right:12px;z-index:5;width:36px;height:36px;align-items:center;justify-content:center;border-radius:10px;background:rgba(18,18,24,.72);border:1px solid var(--line,#2a2a33);color:#cbcbd4;font-size:17px;line-height:1;cursor:pointer;font-family:inherit;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}
.le-exit:hover{border-color:var(--gold,#e1162b);color:#fff}
.le-fhint{display:none;position:absolute;left:0;right:0;bottom:10px;text-align:center;z-index:4;pointer-events:none;font-size:11.5px;color:rgba(255,255,255,.30);font-weight:600}
.cr-focus .le-exit{display:flex}
.cr-focus .le-fhint{display:block}
/* ghost-подсказка структуры (как плейсхолдер) */
.le-ghost{color:rgba(255,255,255,.38);font-weight:600;font-style:normal}
.le-ghost-key{color:rgba(255,120,130,.92);font-weight:800}
/* AI-призрак следующей строки (Copilot-стиль) — как реальная строка, но приглушённо и курсивом */
.le-ghost-ai{color:rgba(255,255,255,.5);font-weight:inherit;font-style:italic}
.le-ghost-ai + .le-ghost-key{font-size:.72em;padding:1px 6px;margin-left:6px;border:1px solid rgba(255,120,130,.5);border-radius:6px;vertical-align:middle;font-weight:700}
/* контекст-меню (ПКМ / долгий тап) — своё, не нативное */
.le-menu{display:none;position:fixed;z-index:3500;min-width:210px;max-width:280px;background:#16161c;border:1px solid var(--line,#2a2a33);border-radius:12px;padding:6px;box-shadow:0 18px 60px rgba(0,0,0,.6);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}
.le-mi{display:flex;align-items:center;gap:9px;width:100%;background:none;border:0;border-radius:8px;padding:9px 11px;color:#e8e8ee;font:600 13px inherit;font-family:inherit;cursor:pointer;text-align:left}
.le-mi:hover{background:rgba(225,22,43,.12);color:#fff}
.le-mi.le-mi-ai span:first-child{color:#e8c98a}
.le-mi.le-mi-dim{color:var(--mut,#9a9aa6);cursor:default}
.le-mi.le-mi-dim:hover{background:none;color:var(--mut,#9a9aa6)}
.le-mi-ico{width:17px;text-align:center;flex:0 0 auto;opacity:.9}
.le-mi-sep{height:1px;background:var(--line,#2a2a33);margin:5px 8px}
/* всплывающий результат у курсора (рифмы / синонимы / перефраз) — «матовое стекло» */
.le-pop{display:none;position:fixed;z-index:3600;width:min(340px,calc(100vw - 24px));background:rgba(22,22,28,.72);border:1px solid rgba(255,255,255,.10);border-radius:16px;box-shadow:0 18px 60px rgba(0,0,0,.55),inset 0 1px 0 rgba(255,255,255,.07);-webkit-backdrop-filter:blur(22px) saturate(1.4);backdrop-filter:blur(22px) saturate(1.4)}
.le-pop-h{display:flex;align-items:center;gap:8px;padding:11px 13px 8px;font:800 12.5px inherit;color:#fff}
.le-pop-h .x{margin-left:auto;color:var(--mut,#9a9aa6);background:none;border:0;font-size:16px;cursor:pointer;line-height:1;font-family:inherit}
.le-pop-h .x:hover{color:#fff}
.le-pop-b{padding:0 13px 12px;max-height:46vh;overflow:auto;font-size:13.5px;line-height:1.55;color:#e8e8ee;white-space:pre-wrap}
.le-pop-chips{display:flex;flex-wrap:wrap;gap:7px;padding:2px 13px 13px}
.le-chip{background:#0a0a0d;border:1px solid var(--line,#2a2a33);border-radius:999px;padding:6px 12px;color:#e8e8ee;font:600 12.5px inherit;font-family:inherit;cursor:pointer}
.le-chip:hover{border-color:var(--gold,#e1162b);background:rgba(225,22,43,.1);color:#fff}
.le-struct-g{padding:9px 13px 4px;font-size:10.5px;text-transform:uppercase;letter-spacing:.05em;color:var(--mut,#9a9aa6);font-weight:800}
.le-pop-lines{display:flex;flex-direction:column;gap:6px;padding:2px 13px 13px}
.le-line{text-align:left;background:#0a0a0d;border:1px solid var(--line,#2a2a33);border-radius:9px;padding:9px 11px;color:#e8e8ee;font:500 13px inherit;font-family:inherit;cursor:pointer;line-height:1.4}
.le-line:hover{border-color:var(--gold,#e1162b);background:rgba(225,22,43,.08);color:#fff}
.le-pop-foot{padding:0 13px 12px;font-size:11.5px;color:var(--mut,#9a9aa6)}
.le-pop-cached{color:#37c978}
/* мобила: контекст-меню и попап-результат выезжают снизу (не перекрывают текст под пальцем) */
@media (max-width:600px){
  .le-menu.le-sheet, .le-pop.le-sheet{
    box-sizing:border-box;
    left:0!important; right:0!important; bottom:0!important; top:auto!important;
    width:100%!important; max-width:100%!important;
    border-radius:16px 16px 0 0; border-bottom:0;
    max-height:72vh; overflow:auto;
    padding-bottom:calc(env(safe-area-inset-bottom,0px) + 10px);
    box-shadow:0 -16px 50px rgba(0,0,0,.6);
    animation:le-sheet-up .18s ease-out;
  }
  .le-menu.le-sheet{padding-top:4px}
  .le-menu.le-sheet .le-mi{padding:13px 14px;font-size:14px}
  .le-menu.le-sheet .le-mi-sep{margin:5px 14px}
  .le-sheet::before{content:'';display:block;width:40px;height:4px;border-radius:3px;background:rgba(255,255,255,.22);margin:8px auto 6px}
  /* на телефоне нет Tab/Esc — прячем клавиатурные подсказки */
  .cr-focus .le-fhint{display:none!important}
  .le-kbdtip{display:none}
  .le-focus-btn{display:none}  /* фокус-фуллскрин на мобиле не нужен (клавиатура и так фокусит) */
}
@keyframes le-sheet-up{from{transform:translateY(100%)}to{transform:translateY(0)}}
