*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
:root{
  --blue:#4A7CF5;--bl:#EEF3FF;--purple:#7B5CF5;--pl:#F0EDFF;
  --teal:#1DB87A;--tl:#E0F7EE;--amber:#F5A623;--al:#FEF5E4;
  --coral:#F55C5C;--cl:#FEF0F0;--pink:#F55CA8;--pkl:#FEF0F8;
  --g50:#EDEEF2;--g100:#F0F2F8;--g200:#E2E6F0;--g300:#C8CEDC;
  --g400:#9AA3B8;--g500:#6B7694;--g600:#4A5270;--g700:#333a52;--g900:#111827;--w:#fff;
  --tg-bg:#efebe3;--tg-admin:#eaf2ff;
  --shm:0 4px 16px rgba(74,124,245,.12);--shl:0 8px 32px rgba(74,124,245,.15);
  --rsm:8px;--rmd:12px;--rlg:16px;--rxl:24px;--sw:260px;
  --font:'Lato',sans-serif;
}
/* Единый шрифт Lato везде */
body,input,select,textarea,button{font-family:var(--font);background:var(--g50);color:var(--g900)}
body{min-height:100vh;overflow-x:hidden}
h1,h2,h3,h4,h5,h6,.mtit,.shero-t,.wb h2,.pn,.alogo h1,.sb-lt,.sc-t,.cc-t,.cr-t,.tg-post-header span,.qa-q-name,.qa-a-name{font-family:var(--font);font-weight:700}

#load{position:fixed;inset:0;background:linear-gradient(135deg,#EEF3FF,#F0EDFF);display:flex;flex-direction:column;align-items:center;justify-content:center;z-index:1000;gap:14px}
.spin{width:54px;height:54px;background:linear-gradient(135deg,var(--blue),var(--purple));border-radius:14px;display:flex;align-items:center;justify-content:center;font-size:24px;animation:pulse 1.4s infinite}
@keyframes pulse{0%,100%{transform:scale(1)}50%{transform:scale(1.07)}}
#load p{font-size:13px;color:var(--g400)}

#auth{min-height:100vh;display:none;align-items:center;justify-content:center;background:linear-gradient(135deg,#EEF3FF,#F0EDFF,#E0F7EE)}
#auth.on{display:flex}
.acard{background:var(--w);border-radius:var(--rxl);padding:44px 40px;width:calc(100% - 32px);max-width:420px;box-shadow:var(--shl);animation:up .4s ease}
@keyframes up{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}
.alogo{text-align:center;margin-bottom:26px}
.alogo-i{display:inline-flex;align-items:center;justify-content:center;width:52px;height:52px;background:linear-gradient(135deg,var(--blue),var(--purple));border-radius:var(--rmd);margin-bottom:10px;font-size:22px}
.alogo h1{font-size:20px;font-weight:700;color:var(--g900)}
.alogo h1 span{color:var(--blue)}
.alogo p{font-size:12px;color:var(--g400);margin-top:3px}
.atabs{display:flex;background:var(--g100);border-radius:var(--rmd);padding:4px;margin-bottom:22px}
.atab{flex:1;padding:8px;text-align:center;font-size:13px;font-weight:700;color:var(--g400);cursor:pointer;border-radius:var(--rsm);transition:all .2s;background:none;border:none}
.atab.on{background:var(--w);color:var(--g900);box-shadow:0 1px 4px rgba(0,0,0,.08)}
.fg{margin-bottom:13px}
.fl{display:block;font-size:11px;font-weight:700;color:var(--g500);margin-bottom:5px;text-transform:uppercase;letter-spacing:.3px}
.fi{width:100%;padding:11px 13px;border:1.5px solid var(--g200);border-radius:var(--rmd);font-size:16px;color:var(--g900);background:var(--w);outline:none;transition:border-color .2s}
.fi:focus{border-color:var(--blue);box-shadow:0 0 0 3px rgba(74,124,245,.1)}
.fi::placeholder{color:var(--g400)}
.bp{width:100%;padding:12px;background:linear-gradient(135deg,var(--blue),var(--purple));color:var(--w);border:none;border-radius:var(--rmd);font-size:14px;font-weight:700;cursor:pointer;margin-top:6px;transition:opacity .2s}
.bp:hover{opacity:.9}.bp:disabled{opacity:.6;cursor:not-allowed}
.aerr{background:var(--cl);border:1px solid var(--coral);border-radius:var(--rsm);padding:9px 13px;font-size:12px;color:var(--coral);margin-top:10px;display:none}
.aerr.on{display:block}
#app{display:none;min-height:100vh}
#app.on{display:flex}

/* ── САЙДБАР ──────────────────────────────────────────────*/
.sb{width:var(--sw);min-height:100vh;background:var(--w);border-right:1px solid var(--g200);display:flex;flex-direction:column;position:fixed;left:0;top:0;bottom:0;z-index:100;transition:transform .3s}
.sb-logo{padding:18px 18px 14px;border-bottom:1px solid var(--g100);display:flex;align-items:center;gap:10px}
.sb-close{display:none;margin-left:auto;width:32px;height:32px;border-radius:50%;background:var(--g100);border:none;font-size:16px;cursor:pointer;align-items:center;justify-content:center;color:var(--g600);flex-shrink:0}
.sb-close:hover{background:var(--cl);color:var(--coral)}
.sb-li{width:34px;height:34px;background:linear-gradient(135deg,var(--blue),var(--purple));border-radius:9px;display:flex;align-items:center;justify-content:center;font-size:16px;flex-shrink:0}
.sb-lt{font-size:15px;font-weight:700;color:var(--g900)}
.sb-lt span{color:var(--blue)}
.snav{flex:1;padding:10px;overflow-y:auto}
.snl{font-size:10px;font-weight:700;color:var(--g300);letter-spacing:1px;text-transform:uppercase;padding:8px 8px 4px;margin-top:6px}
.ni{display:flex;align-items:center;gap:9px;padding:8px 10px;border-radius:var(--rsm);cursor:pointer;transition:all .15s;margin-bottom:2px;color:var(--g600);font-size:13px;font-weight:400}
.ni:hover{background:var(--g50);color:var(--g900)}.ni.on{background:var(--bl);color:var(--blue);font-weight:700}
.ni .ic{width:26px;height:26px;border-radius:6px;display:flex;align-items:center;justify-content:center;font-size:13px;flex-shrink:0;position:relative}
.sb-foot{padding:10px;border-top:1px solid var(--g100)}
.uc{display:flex;align-items:center;gap:9px;padding:9px;border-radius:var(--rmd);cursor:pointer;transition:background .15s}
.uc:hover{background:var(--g50)}
.uav{width:32px;height:32px;border-radius:50%;background:linear-gradient(135deg,var(--blue),var(--purple));display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:700;color:#fff;flex-shrink:0}
.un{font-size:12px;font-weight:700;color:var(--g900)}.ue{font-size:11px;color:var(--g400);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.uout{font-size:13px;color:var(--g300);cursor:pointer;padding:4px;margin-left:auto}
.uout:hover{color:var(--coral)}
.main{margin-left:var(--sw);flex:1;min-height:100vh;display:flex;flex-direction:column}
.tbar{height:60px;background:var(--w);border-bottom:1px solid var(--g200);display:flex;align-items:center;padding:0 24px;gap:14px;position:sticky;top:0;z-index:50}
.tt{font-size:15px;font-weight:700;color:var(--g900);flex:1}
.hmenu{display:none;font-size:20px;cursor:pointer;color:var(--g600)}
.sw{display:flex;align-items:center;gap:7px;background:var(--g100);border:1.5px solid var(--g200);border-radius:var(--rmd);padding:7px 12px;width:240px;transition:all .2s;position:relative}
.sw:focus-within{border-color:var(--blue);background:var(--w)}
.sw input{border:none;background:none;outline:none;font-size:13px;color:var(--g900);width:100%}
.sw input::placeholder{color:var(--g400)}
.sr{display:none;position:absolute;top:calc(100% + 6px);left:0;right:0;background:var(--w);border-radius:var(--rlg);border:1.5px solid var(--g200);box-shadow:var(--shl);max-height:280px;overflow-y:auto;z-index:100}
.sr.on{display:block}
.sri{display:flex;align-items:center;gap:10px;padding:10px 14px;cursor:pointer;transition:background .15s;border-bottom:1px solid var(--g100)}
.sri:last-child{border-bottom:none}.sri:hover{background:var(--g50)}
.sri-t{font-size:13px;font-weight:700;color:var(--g900)}.sri-s{font-size:11px;color:var(--g400);margin-top:1px}
.pg{display:none;padding:24px;animation:up .25s ease}.pg.on{display:block}

/* ── ГЛАВНАЯ ──────────────────────────────────────────────*/
.wb{background:linear-gradient(135deg,#4A7CF5,#7B5CF5);border-radius:var(--rxl);padding:28px 32px;color:#fff;margin-bottom:22px;position:relative;overflow:hidden}
.wb::after{content:'🧠';position:absolute;right:28px;top:50%;transform:translateY(-50%);font-size:70px;opacity:.15;pointer-events:none}
.wb h2{font-size:20px;font-weight:700;margin-bottom:5px}
.wb p{font-size:13px;opacity:.85;max-width:440px}
.wst{display:flex;gap:20px;margin-top:16px}
.wsn{font-size:22px;font-weight:700}.wsl{font-size:11px;opacity:.7;margin-top:1px}
.sh{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px}
.sh h3{font-size:14px;font-weight:700;color:var(--g900)}
.sg{display:grid;grid-template-columns:repeat(auto-fill,minmax(168px,1fr));gap:10px;margin-bottom:26px}
.sc{background:var(--w);border-radius:var(--rlg);padding:16px;cursor:pointer;transition:all .2s;border:1.5px solid var(--g100);touch-action:manipulation;-webkit-tap-highlight-color:transparent}
.sc:hover{transform:translateY(-2px);box-shadow:var(--shm);border-color:var(--g200)}
.sc-i{width:40px;height:40px;border-radius:var(--rsm);display:flex;align-items:center;justify-content:center;font-size:18px;margin-bottom:10px}
.sc-t{font-size:13px;font-weight:700;color:var(--g900);line-height:1.3;margin-bottom:3px}
.sc-c{font-size:11px;color:var(--g400)}
.cg{display:grid;grid-template-columns:repeat(auto-fill,minmax(255px,1fr));gap:10px}
.cc{background:var(--w);border-radius:var(--rlg);padding:14px;cursor:pointer;border:1.5px solid var(--g100);transition:all .2s;display:flex;flex-direction:column;gap:7px}
.cc:hover{transform:translateY(-2px);box-shadow:var(--shm);border-color:var(--g200)}
.ct{display:flex;align-items:flex-start;justify-content:space-between;gap:7px}
.tb{font-size:10px;font-weight:700;padding:3px 8px;border-radius:5px;flex-shrink:0}
.tv{background:var(--cl);color:var(--coral)}.ti{background:var(--bl);color:var(--blue)}
.tp{background:var(--tl);color:var(--teal)}.tpo{background:var(--pl);color:var(--purple)}
.fv{color:var(--g300);cursor:pointer;font-size:16px;transition:color .2s;flex-shrink:0}
.fv.on{color:var(--amber)}.fv:hover{color:var(--amber)}
.cc-t{font-size:13px;font-weight:700;color:var(--g900);line-height:1.4}
.cc-p{font-size:12px;color:var(--g500);line-height:1.5;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.cc-f{display:flex;align-items:center;justify-content:space-between;margin-top:2px}
.cc-m{font-size:11px;color:var(--g400)}.cc-s{font-size:11px;color:var(--g400);background:var(--g100);padding:2px 7px;border-radius:4px}

/* ── РАЗДЕЛ ───────────────────────────────────────────────*/
.shero{display:flex;align-items:center;gap:14px;margin-bottom:20px;padding:20px;background:var(--w);border-radius:var(--rxl);border:1.5px solid var(--g100)}
.shero-i{width:52px;height:52px;border-radius:var(--rmd);display:flex;align-items:center;justify-content:center;font-size:24px;flex-shrink:0}
.shero-t{font-size:18px;font-weight:700;color:var(--g900)}
.shero-d{font-size:13px;color:var(--g500);margin-top:3px}
.fb{display:flex;gap:7px;margin-bottom:16px;flex-wrap:wrap}
.fc{padding:6px 13px;border-radius:20px;border:1.5px solid var(--g200);font-size:12px;font-weight:700;color:var(--g500);cursor:pointer;background:var(--w);transition:all .15s;touch-action:manipulation;-webkit-tap-highlight-color:transparent}
.fc:hover{border-color:var(--blue);color:var(--blue)}.fc.on{background:var(--blue);color:#fff;border-color:var(--blue)}
.cl2{display:flex;flex-direction:column;gap:9px}
.cr{background:var(--w);border-radius:var(--rlg);padding:14px 18px;cursor:pointer;border:1.5px solid var(--g100);transition:all .2s;display:flex;align-items:center;gap:14px;touch-action:manipulation;-webkit-tap-highlight-color:transparent}
.cr:hover{border-color:var(--g200);box-shadow:0 2px 8px rgba(74,124,245,.08);transform:translateX(3px)}
.cr-i{width:40px;height:40px;border-radius:var(--rsm);display:flex;align-items:center;justify-content:center;font-size:17px;flex-shrink:0}
.cr-b{flex:1;min-width:0}.cr-t{font-size:13px;font-weight:700;color:var(--g900)}.cr-m{font-size:11px;color:var(--g400);margin-top:2px}
.cr-r{display:flex;align-items:center;gap:8px;flex-shrink:0}

/* ── TELEGRAM ЛЕНТА ───────────────────────────────────────*/
.tg-feed{display:flex;flex-direction:column;gap:14px;max-width:600px;padding-bottom:20px;width:100%;margin:0 auto}
.tg-post{background:var(--w);border-radius:4px 18px 18px 18px;box-shadow:0 1px 4px rgba(0,0,0,.08);overflow:hidden}
.tg-prompt{border-radius:4px 18px 18px 18px}
.tg-post-header{font-size:14px;font-weight:700;color:var(--g900);padding:14px 14px 8px;display:flex;align-items:flex-start;justify-content:space-between;gap:10px;line-height:1.4}
.tg-post-desc{font-size:14px;color:var(--g700);padding:4px 14px 8px;line-height:1.6}
.tg-post-desc a,.tg-post-text a,.md a{color:var(--blue);text-decoration:underline}
.tg-post-text{font-size:14px;color:var(--g700);padding:4px 14px 8px;line-height:1.65;white-space:pre-wrap}
.tg-post-time{font-size:11px;color:var(--g400);text-align:right;padding:2px 14px 10px}
.tg-edit-btn{flex-shrink:0;background:none;border:none;font-size:14px;cursor:pointer;padding:2px 5px;border-radius:6px;color:var(--g400)}
.tg-edit-btn:hover{background:var(--bl);color:var(--blue)}
/* Промпт-блок */
.tg-prompt-box{margin:4px 14px 10px;background:var(--g50);border-radius:12px;overflow:hidden;border:1px solid var(--g200)}
.tg-prompt-text{font-size:13px;color:var(--g700);padding:10px 12px;font-family:monospace;line-height:1.7;white-space:pre-wrap;word-break:break-word}
.tg-copy-btn{width:100%;padding:8px;background:var(--blue);color:#fff;border:none;font-size:12px;font-weight:700;cursor:pointer;transition:background .2s}
.tg-copy-btn:hover{background:var(--purple)}.tg-copy-btn.ok{background:var(--teal)}

/* ── МЕДИА-СЕТКА ──────────────────────────────────────────*/
.tg-media-grid{display:grid;gap:2px;width:100%}
/* 1 item - natural size */
.tg-media-grid.g1{grid-template-columns:1fr}
.tg-media-grid.g1 .tg-media-item{aspect-ratio:unset;background:var(--g50);height:auto}
.tg-media-grid.g1 .tg-media-item img{width:100%;height:auto;max-height:500px;object-fit:contain;display:block;cursor:pointer}
.tg-media-grid.g1 .tg-media-item video.tg-video{width:100%;height:auto;max-height:500px;display:block;object-fit:contain}
/* 2 items - 2 columns */
.tg-media-grid.g2{grid-template-columns:1fr 1fr}
/* 3 items - 1 big left + 2 right (no empty cells) */
.tg-media-grid.g3{grid-template-columns:2fr 1fr;grid-template-rows:1fr 1fr;aspect-ratio:4/3}
.tg-media-grid.g3 .tg-media-item:first-child{grid-row:1/3}
.tg-media-grid.g3 .tg-media-item{aspect-ratio:unset;height:100%}
/* 4 items - 2x2 */
.tg-media-grid.g4{grid-template-columns:1fr 1fr;grid-template-rows:1fr 1fr}
/* 5 items - 2 top + 3 bottom */
.tg-media-grid.g5{grid-template-columns:repeat(6,1fr)}
.tg-media-grid.g5 .tg-media-item:nth-child(1){grid-column:span 3}
.tg-media-grid.g5 .tg-media-item:nth-child(2){grid-column:span 3}
.tg-media-grid.g5 .tg-media-item:nth-child(3){grid-column:span 2}
.tg-media-grid.g5 .tg-media-item:nth-child(4){grid-column:span 2}
.tg-media-grid.g5 .tg-media-item:nth-child(5){grid-column:span 2}
/* 6+ items - 3 columns */
.tg-media-grid.g-many{grid-template-columns:repeat(3,1fr)}
/* Base cell - square crop for grid uniformity */
.tg-media-item{position:relative;overflow:hidden;background:var(--g100);aspect-ratio:1}
/* Images in grid: cover = same size as videos */
.tg-media-item img{width:100%;height:100%;object-fit:cover;cursor:pointer;display:block;transition:opacity .2s}
.tg-media-item img:hover{opacity:.9}
/* Videos in grid: COVER to match image cell size */
.tg-media-item video.tg-video{width:100%;height:100%;object-fit:cover;display:block;cursor:pointer}
/* Play overlay (visual indicator only) */
.tg-play-overlay{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;pointer-events:none}
.tg-play-overlay svg{filter:drop-shadow(0 2px 6px rgba(0,0,0,.5))}
/* Fullscreen video player (opened on click) */
.tg-video-fullscreen{position:fixed;inset:0;z-index:1001;background:rgba(0,0,0,.96);display:flex;align-items:center;justify-content:center}
.tg-video-fullscreen video{max-width:95vw;max-height:92vh;object-fit:contain}
.tg-video-fullscreen .tg-vfs-close{position:fixed;top:14px;right:14px;width:42px;height:42px;border-radius:50%;background:rgba(255,255,255,.15);border:none;color:#fff;font-size:20px;cursor:pointer;display:flex;align-items:center;justify-content:center;backdrop-filter:blur(6px)}
.tg-play-btn{display:none}

/* ── ЛАЙТБОКС + СЛАЙДЕР ──────────────────────────────────*/
#lightbox{display:none;position:fixed;inset:0;z-index:1000;align-items:center;justify-content:center}
#lightbox.on{display:flex}
.lb-bg{position:absolute;inset:0;background:rgba(0,0,0,.94);cursor:pointer}
.lb-content{position:relative;z-index:1;display:flex;flex-direction:column;align-items:center;max-width:94vw}
#lb-img{max-width:94vw;max-height:88vh;object-fit:contain;border-radius:8px;display:block;transition:opacity .15s}
#lb-img.lb-fade{opacity:0}
.lb-counter{color:rgba(255,255,255,.7);font-size:13px;margin-top:10px;font-family:var(--font);text-align:center}
.lb-close{position:fixed;top:14px;right:14px;width:42px;height:42px;border-radius:50%;background:rgba(255,255,255,.15);border:none;color:#fff;font-size:20px;cursor:pointer;z-index:2;display:flex;align-items:center;justify-content:center;backdrop-filter:blur(6px);transition:background .2s;line-height:1}
.lb-close:hover{background:rgba(255,255,255,.3)}
.lb-prev,.lb-next{position:fixed;top:50%;transform:translateY(-50%);width:48px;height:48px;border-radius:50%;background:rgba(255,255,255,.15);border:none;color:#fff;font-size:28px;cursor:pointer;z-index:2;display:flex;align-items:center;justify-content:center;backdrop-filter:blur(6px);transition:background .2s;user-select:none;line-height:1}
.lb-prev{left:12px}.lb-next{right:12px}
.lb-prev:hover,.lb-next:hover{background:rgba(255,255,255,.3)}
@media(max-width:600px){
  .lb-prev{left:4px;width:40px;height:40px;font-size:22px}
  .lb-next{right:4px;width:40px;height:40px;font-size:22px}
  .lb-close{top:8px;right:8px;width:36px;height:36px;font-size:17px}
}

/* ── МАТЕРИАЛ ─────────────────────────────────────────────*/
.mc{max-width:740px;margin:0 auto;width:100%}
.bl{display:inline-flex;align-items:center;gap:5px;font-size:12px;font-weight:700;color:var(--g400);cursor:pointer;margin-bottom:18px;transition:color .15s}
.bl:hover{color:var(--blue)}
.mh{background:var(--w);border-radius:var(--rxl);overflow:hidden;border:1.5px solid var(--g100);margin-bottom:18px}
.vc{position:relative;padding-bottom:56.25%;height:0;background:#0f0f1a;overflow:hidden}
.vc iframe{position:absolute;top:0;left:0;width:100%;height:100%;border:none}
.vph{position:absolute;top:0;left:0;width:100%;height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px}
.vph-i{font-size:44px;opacity:.35}.vph-t{font-size:13px;color:rgba(255,255,255,.35);text-align:center;padding:0 20px}
.vbar{display:flex;align-items:center;justify-content:space-between;padding:9px 14px;background:#0f0f1a;border-top:1px solid rgba(255,255,255,.05)}
.vbar span{font-size:11px;color:rgba(255,255,255,.4)}
/* Отступ между фото и текстом */
.mat-imgs-wrap{margin:18px 0 24px}
.mb{padding:22px 26px}
.mt2{display:flex;gap:7px;margin-bottom:12px}
.mtit{font-size:19px;font-weight:700;color:var(--g900);line-height:1.35;margin-bottom:10px}
.md{font-size:14px;color:var(--g600);line-height:1.7;margin-bottom:12px}
.md a{color:var(--blue);text-decoration:underline}
/* Пары описание+промпт в материале */
.mb .tg-prompt-box{margin:8px 0 16px}
.mb .tg-post-desc{padding:0 0 8px;font-size:14px;color:var(--g600);line-height:1.7}
.mb .tg-post-desc a{color:var(--blue);text-decoration:underline}
.ma{display:flex;gap:9px;margin-top:18px;padding-top:18px;border-top:1px solid var(--g100)}
.bo{display:inline-flex;align-items:center;gap:5px;padding:8px 14px;border:1.5px solid var(--g200);border-radius:var(--rmd);font-size:12px;font-weight:700;color:var(--g600);cursor:pointer;background:none;transition:all .15s}
.bo:hover{border-color:var(--blue);color:var(--blue);background:var(--bl)}.bo.on{border-color:var(--amber);color:var(--amber);background:var(--al)}
.pb{background:var(--g50);border:1.5px solid var(--g200);border-radius:var(--rlg);margin-top:18px;overflow:hidden}
.ph2{display:flex;align-items:center;justify-content:space-between;padding:11px 15px;background:var(--w);border-bottom:1px solid var(--g200)}
.pl{font-size:11px;font-weight:700;color:var(--g400);letter-spacing:.8px;text-transform:uppercase}
.cb{display:inline-flex;align-items:center;gap:4px;padding:6px 13px;background:var(--blue);color:#fff;border:none;border-radius:var(--rsm);font-size:12px;font-weight:700;cursor:pointer;transition:all .2s}
.cb:hover{background:var(--purple)}.cb.ok{background:var(--teal)}
.pt{padding:14px;font-size:13px;line-height:1.7;color:var(--g700);font-family:monospace;white-space:pre-wrap}

/* ── ПРОФИЛЬ ──────────────────────────────────────────────*/
.phc{background:linear-gradient(135deg,var(--blue),var(--purple));border-radius:var(--rxl);padding:28px;color:#fff;margin-bottom:18px;display:flex;align-items:center;gap:20px}
.pav{width:68px;height:68px;border-radius:50%;background:rgba(255,255,255,.2);border:3px solid rgba(255,255,255,.35);display:flex;align-items:center;justify-content:center;font-size:22px;font-weight:900;flex-shrink:0}
.pn{font-size:18px;font-weight:700}.pe{font-size:13px;opacity:.8;margin-top:2px}
.sr2{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-bottom:18px}
.stc{background:var(--w);border-radius:var(--rlg);padding:18px;text-align:center;border:1.5px solid var(--g100)}
.stn{font-size:26px;font-weight:700;color:var(--g900)}.stl{font-size:12px;color:var(--g400);margin-top:3px}
.scard{background:var(--w);border-radius:var(--rxl);border:1.5px solid var(--g100);overflow:hidden;margin-bottom:10px}
.si{display:flex;align-items:center;gap:12px;padding:14px 18px;border-bottom:1px solid var(--g100);cursor:pointer;transition:background .15s}
.si:last-child{border-bottom:none}.si:hover{background:var(--g50)}
.si-i{width:34px;height:34px;border-radius:var(--rsm);display:flex;align-items:center;justify-content:center;font-size:15px;flex-shrink:0}
.si-t{font-size:13px;font-weight:700;color:var(--g900)}.si-s{font-size:11px;color:var(--g400);margin-top:1px}
.si-a{color:var(--g300);font-size:14px;margin-left:auto}

/* ── РЕФЕРАЛЬНАЯ ──────────────────────────────────────────*/
.ref-box{background:linear-gradient(135deg,#EEF3FF,#F0EDFF);border-radius:var(--rxl);padding:24px;margin-bottom:18px;border:1.5px solid var(--bl)}
.ref-link-wrap{display:flex;gap:8px;margin:12px 0}
.ref-link-input{flex:1;padding:10px 13px;border:1.5px solid var(--g200);border-radius:var(--rmd);font-size:13px;font-family:monospace;background:var(--w);color:var(--g900);outline:none}
.ref-copy-btn{padding:10px 16px;background:var(--blue);color:#fff;border:none;border-radius:var(--rmd);font-size:12px;font-weight:700;cursor:pointer;transition:background .2s;white-space:nowrap}
.ref-copy-btn:hover{background:var(--purple)}.ref-copy-btn.ok{background:var(--teal)}
.ref-stat{display:flex;gap:12px;margin-top:16px}
.ref-stat-item{background:var(--w);border-radius:var(--rmd);padding:14px;text-align:center;flex:1;border:1.5px solid var(--g200)}
.ref-stat-num{font-size:24px;font-weight:700;color:var(--blue)}
.ref-stat-lbl{font-size:11px;color:var(--g400);margin-top:3px}
.ref-list-item{display:flex;align-items:center;gap:10px;padding:10px 0;border-bottom:1px solid var(--g100);font-size:13px;color:var(--g600)}
.ref-list-item:last-child{border-bottom:none}

/* ── ВОПРОС-ОТВЕТ ─────────────────────────────────────────*/
.qa-wrap{display:flex;flex-direction:column;height:calc(100vh - 120px);max-width:600px;margin:0 auto;width:100%}
.qa-chat-area{flex:1;overflow-y:auto;padding:12px 0 16px;display:flex;flex-direction:column;gap:14px;-webkit-overflow-scrolling:touch}
.qa-empty{text-align:center;padding:60px 20px;color:var(--g400);font-size:14px;line-height:1.8}
/* Вопрос */
.qa-message{display:flex;gap:10px;align-items:flex-start}
.qa-q-avatar{width:36px;height:36px;border-radius:50%;background:linear-gradient(135deg,var(--blue),var(--purple));display:flex;align-items:center;justify-content:center;font-size:13px;font-weight:700;color:#fff;flex-shrink:0;margin-top:2px}
.qa-q-wrap{flex:1;min-width:0}
.qa-q-bubble{background:var(--w);border-radius:4px 18px 18px 18px;padding:11px 14px;box-shadow:0 1px 4px rgba(0,0,0,.08)}
.qa-q-name{font-size:11px;font-weight:700;color:var(--blue);margin-bottom:5px}
.qa-q-text{font-size:14px;color:var(--g900);line-height:1.55;word-break:break-word;white-space:pre-wrap}
.qa-q-time{font-size:11px;color:var(--g400);text-align:right;margin-top:6px}
/* Кнопка ответа */
.qa-reply-btn{background:none;border:1px solid var(--g200);border-radius:12px;padding:4px 12px;font-size:12px;color:var(--g500);cursor:pointer;margin-top:6px;transition:all .15s}
.qa-reply-btn:hover{border-color:var(--blue);color:var(--blue);background:var(--bl)}
/* Ответ */
.qa-answer{display:flex;gap:8px;align-items:flex-start;margin-top:8px;padding-left:18px}
.qa-a-avatar{width:28px;height:28px;border-radius:50%;background:linear-gradient(135deg,var(--teal),#1a9c68);display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:700;color:#fff;flex-shrink:0;margin-top:2px}
.qa-a-bubble{background:var(--tg-admin);border-radius:4px 14px 14px 14px;padding:9px 12px;flex:1;box-shadow:0 1px 3px rgba(0,0,0,.06)}
.qa-a-name{font-size:10px;font-weight:700;color:var(--teal);margin-bottom:4px}
.qa-a-text{font-size:13px;color:var(--g900);line-height:1.5;word-break:break-word;white-space:pre-wrap}
.qa-a-time{font-size:10px;color:var(--g400);text-align:right;margin-top:5px}
/* Форма */
.qa-form-area{border-top:1px solid var(--g200);padding:10px 0 4px;background:var(--g50)}
.qa-input-row{display:flex;gap:8px;align-items:flex-end}
.qa-attach-btn{width:38px;height:38px;border-radius:50%;background:var(--bl);border:none;font-size:18px;cursor:pointer;display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:background .15s}
.qa-attach-btn:hover{background:var(--blue);color:#fff}
.qa-textarea{flex:1;border:1.5px solid var(--g200);border-radius:20px;padding:9px 14px;font-size:16px;resize:none;outline:none;background:var(--w);transition:border-color .2s;line-height:1.4;max-height:120px;overflow-y:auto}
.qa-textarea:focus{border-color:var(--blue)}
.qa-send-ico{width:38px;height:38px;border-radius:50%;background:var(--blue);border:none;color:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:background .2s}
.qa-send-ico:hover{background:var(--purple)}.qa-send-ico:disabled{opacity:.6}

/* ── ADMIN ────────────────────────────────────────────────*/
.ah{background:linear-gradient(135deg,#1a1a2e,#2d1b69);border-radius:var(--rxl);padding:24px 28px;color:#fff;margin-bottom:20px;display:flex;align-items:center;gap:14px}
.ah h2{font-size:17px;font-weight:700}.ah p{font-size:13px;opacity:.65;margin-top:3px}
.atbr{display:flex;background:var(--g100);border-radius:var(--rmd);padding:4px;margin-bottom:20px;flex-wrap:wrap;gap:2px}
.atb{flex:1;min-width:80px;padding:9px 6px;text-align:center;font-size:12px;font-weight:700;color:var(--g400);cursor:pointer;border-radius:var(--rsm);transition:all .2s;background:none;border:none}
.atb.on{background:var(--w);color:var(--g900);box-shadow:0 1px 4px rgba(0,0,0,.08)}
.ap{display:none}.ap.on{display:block}
.af{background:var(--w);border-radius:var(--rxl);padding:22px;border:1.5px solid var(--g100);margin-bottom:18px}
.fr{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:10px}
.fr.full{grid-template-columns:1fr}.af .fg{margin:0}
.ast{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-bottom:18px}
.as{background:var(--w);border-radius:var(--rlg);padding:18px;border:1.5px solid var(--g100);text-align:center}
.asn{font-size:22px;font-weight:700;color:var(--g900)}.asl{font-size:11px;color:var(--g400);margin-top:3px}
.al2{display:flex;flex-direction:column;gap:7px}
.ar{background:var(--w);border-radius:var(--rmd);padding:12px 16px;border:1.5px solid var(--g100);display:flex;align-items:center;gap:10px}
.hb{background:var(--bl);border-radius:var(--rmd);padding:12px 16px;margin-bottom:14px;font-size:13px;color:var(--g600);line-height:1.6}
.hb strong{color:var(--blue)}
.bsm{padding:5px 10px;border-radius:6px;font-size:11px;font-weight:700;cursor:pointer;border:none;transition:all .15s}
.bdel{background:var(--cl);color:var(--coral)}.bdel:hover{background:var(--coral);color:#fff}
.bedit{background:var(--bl);color:var(--blue)}.bedit:hover{background:var(--blue);color:#fff}
/* Пары Описание+Промпт */
.dp-pair{background:var(--g50);border-radius:var(--rmd);padding:14px;margin-bottom:12px;border:1px solid var(--g100)}
.dp-pair .editor-body{min-height:60px}

/* ── QUILL EDITOR ─────────────────────────────────────────*/
.ql-wrap{border:1.5px solid var(--g200);border-radius:var(--rmd);overflow:hidden;transition:border-color .2s;background:var(--w)}
.ql-wrap:focus-within{border-color:var(--blue);box-shadow:0 0 0 3px rgba(74,124,245,.1)}
.ql-wrap .ql-toolbar{border:none!important;border-bottom:1px solid var(--g200)!important;background:var(--g50)!important;padding:5px 8px!important;font-family:var(--font)!important}
.ql-wrap .ql-toolbar .ql-formats{margin-right:8px}
.ql-wrap .ql-toolbar button{width:26px!important;height:26px!important;border-radius:5px!important;padding:2px!important}
.ql-wrap .ql-toolbar button:hover,.ql-wrap .ql-toolbar button.ql-active{background:var(--bl)!important;color:var(--blue)!important}
.ql-wrap .ql-toolbar .ql-stroke{stroke:var(--g600)}
.ql-wrap .ql-toolbar button:hover .ql-stroke,.ql-wrap .ql-toolbar button.ql-active .ql-stroke{stroke:var(--blue)!important}
.ql-wrap .ql-toolbar .ql-fill{fill:var(--g600)}
.ql-wrap .ql-toolbar button:hover .ql-fill,.ql-wrap .ql-toolbar button.ql-active .ql-fill{fill:var(--blue)!important}
.ql-wrap .ql-container{border:none!important;font-family:var(--font)!important;font-size:14px!important}
.ql-wrap .ql-editor{min-height:90px;padding:10px 14px;font-family:var(--font)!important;font-size:14px!important;line-height:1.7!important;color:var(--g900)!important}
.ql-wrap .ql-editor.ql-blank::before{color:var(--g400)!important;font-style:normal!important;font-family:var(--font)!important}
.ql-wrap .ql-editor p{margin:0 0 6px}
.ql-wrap .ql-editor a{color:var(--blue);text-decoration:underline}
.ql-wrap .ql-editor strong,.ql-wrap .ql-editor b{font-weight:700}
.ql-wrap .ql-editor h2{font-size:17px;font-weight:700;margin:8px 0 4px}
.ql-wrap .ql-editor h3{font-size:15px;font-weight:700;margin:6px 0 3px}
.ql-wrap .ql-editor ul,.ql-wrap .ql-editor ol{padding-left:20px;margin:4px 0}
.ql-wrap .ql-editor blockquote{border-left:3px solid var(--blue);padding:4px 12px;margin:6px 0;color:var(--g500);background:var(--bl);border-radius:0 var(--rsm) var(--rsm) 0}
.ql-with-emoji{display:flex;gap:6px;align-items:flex-start}
.ql-with-emoji .ql-wrap{flex:1}
.cke-emoji-btn{margin-top:2px;flex-shrink:0;align-self:flex-start}
.ql-editor-host{width:100%}

/* ── ЗАГРУЗКА МЕДИА ───────────────────────────────────────*/
.img-upload-area{border:2px dashed var(--g200);border-radius:var(--rmd);padding:20px;text-align:center;cursor:pointer;transition:border-color .2s;margin-bottom:8px;touch-action:manipulation;-webkit-tap-highlight-color:transparent}
.img-upload-area:hover{border-color:var(--blue)}
.img-upload-area input{display:none}
.img-upload-area p{font-size:13px;color:var(--g400);margin-top:6px}
.img-preview-list{display:flex;flex-wrap:wrap;gap:8px;margin-top:8px}
.img-preview-item{position:relative;width:80px;height:80px}
.img-preview-item img,.img-preview-item video{width:100%;height:100%;object-fit:cover;border-radius:var(--rsm)}
.del-img{position:absolute;top:-6px;right:-6px;width:18px;height:18px;background:var(--coral);color:#fff;border-radius:50%;font-size:10px;cursor:pointer;display:flex;align-items:center;justify-content:center;font-weight:700;z-index:2}

/* ── СМАЙЛЫ ───────────────────────────────────────────────*/
.field-with-emoji{display:flex;gap:6px;align-items:center}
.field-with-emoji .fi{flex:1}
.emoji-btn{flex-shrink:0;background:var(--g100);border:1.5px solid var(--g200);border-radius:var(--rsm);width:38px;height:42px;font-size:17px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .15s}
.emoji-btn:hover{background:var(--bl)}
.emoji-picker{position:fixed;z-index:500;background:var(--w);border:1.5px solid var(--g200);border-radius:var(--rlg);padding:10px;display:none;flex-wrap:wrap;gap:4px;width:260px;box-shadow:var(--shl)}
.emoji-picker.on{display:flex}
.emoji-item{font-size:20px;cursor:pointer;padding:4px;border-radius:6px;transition:background .15s;line-height:1}
.emoji-item:hover{background:var(--g100)}

/* ── ПРОКРУТКА ────────────────────────────────────────────*/
.scroll-btns{position:fixed;bottom:24px;right:20px;display:flex;flex-direction:column;gap:8px;z-index:400}
.scroll-btn{width:42px;height:42px;border-radius:50%;background:var(--w);border:1.5px solid var(--g200);color:var(--g600);font-size:14px;cursor:pointer;box-shadow:0 2px 8px rgba(0,0,0,.12);display:flex;align-items:center;justify-content:center;transition:all .2s;touch-action:manipulation;-webkit-tap-highlight-color:transparent}
.scroll-btn:hover{background:var(--blue);color:#fff;border-color:var(--blue);transform:scale(1.08)}

/* ── TOAST & MODAL ────────────────────────────────────────*/
.toast{position:fixed;bottom:22px;right:22px;background:var(--g900);color:#fff;padding:11px 18px;border-radius:var(--rmd);font-size:13px;font-weight:700;box-shadow:var(--shl);z-index:9999;transform:translateY(70px);opacity:0;transition:all .3s}
.toast.on{transform:translateY(0);opacity:1}.toast.ok{background:var(--teal)}.toast.err{background:var(--coral)}
.movl{display:none;position:fixed;inset:0;background:rgba(0,0,0,.5);z-index:200;align-items:center;justify-content:center;padding:16px;overflow-y:auto}
.movl.on{display:flex}
.modal{background:var(--w);border-radius:var(--rxl);padding:28px;width:100%;max-width:480px;animation:up .25s ease;max-height:90vh;overflow-y:auto}
.modal h3{font-size:15px;font-weight:700;margin-bottom:18px}
.ma2{display:flex;gap:9px;margin-top:18px}
.bg2{flex:1;padding:10px;border:1.5px solid var(--g200);border-radius:var(--rmd);font-size:13px;font-weight:700;color:var(--g600);cursor:pointer;background:none}
.ovl{display:none;position:fixed;inset:0;background:rgba(0,0,0,.4);z-index:99}
.ovl.on{display:block}

/* ── АДАПТИВ ─────────────────────────────────────────────*/
@media(max-width:900px){
  :root{--sw:0px}
  .sb{transform:translateX(-260px);width:260px}.sb.on{transform:translateX(0)}
  .hmenu{display:block}.main{margin-left:0}
  .sb-close{display:flex}
  .sg{grid-template-columns:repeat(2,1fr)}.fr{grid-template-columns:1fr}
  .pg{padding:12px}.tbar{padding:0 12px}.sw{width:160px}
  .wb{padding:20px 18px}.wb::after{display:none}
  .ast{grid-template-columns:1fr 1fr}
  .atbr{gap:2px}.atb{min-width:70px;font-size:11px;padding:8px 4px}
  .af{padding:16px}.mc{max-width:100%}.mb{padding:16px}
  .shero{padding:14px;gap:10px}.modal{padding:20px;margin:10px}
  .ref-box{padding:16px}.ref-link-wrap{flex-direction:column}.ref-copy-btn{width:100%}
  .acard{width:calc(100% - 32px);padding:28px 20px}
  .tg-feed{max-width:100%}.qa-wrap{height:calc(100vh - 88px)}
  .scroll-btns{bottom:16px;right:12px}
}
@media(max-width:600px){
  .cg{grid-template-columns:1fr}.sr2{gap:6px}.stn{font-size:20px}
  .phc{flex-direction:column;text-align:center;padding:20px}.pav{width:56px;height:56px;font-size:18px}
  .sw{display:none}.acard{width:calc(100% - 24px);padding:24px 16px}
  .ref-stat{flex-direction:column}.sg{grid-template-columns:repeat(2,1fr);gap:8px}
  .sc{padding:12px}.wb{border-radius:14px;padding:18px 16px}.wb h2{font-size:17px}
  .tbar{height:52px}.atbr{gap:1px}.atb{font-size:10px;padding:7px 3px;min-width:60px}
  .ar{flex-wrap:wrap;gap:8px}.mb{padding:14px}
  .ast{grid-template-columns:1fr 1fr}
  .shero{flex-direction:column;text-align:center}.shero-i{margin:0 auto}
  .cc{padding:12px}.ma2{flex-direction:column}.ma2 .bg2,.ma2 .bp{width:100%}
  .tg-media-grid.g3{grid-template-columns:repeat(3,1fr);grid-template-rows:auto;aspect-ratio:unset}.tg-media-grid.g3 .tg-media-item:first-child{grid-row:unset}.tg-media-grid.g3 .tg-media-item{aspect-ratio:1;height:auto}.tg-media-grid.g-many{grid-template-columns:1fr 1fr}
  .qa-answer{padding-left:6px}
  .scroll-btns{bottom:10px;right:8px}.scroll-btn{width:38px;height:38px;font-size:13px}
  .toast{bottom:14px;right:8px;font-size:12px;padding:9px 14px;max-width:calc(100vw - 70px)}
}

/* ── LOCKED SECTIONS ──────────────────────────────────────*/
.sc-locked{opacity:.65;cursor:default}
.sc-locked:hover{transform:none!important;box-shadow:none!important}
.sc-i{position:relative}
.sc-lock{position:absolute;bottom:-4px;right:-4px;font-size:12px;line-height:1}

/* ── CKE WITH EMOJI ───────────────────────────────────────*/


/* ── LOCKED SECTION ───────────────────────────────────────*/
.locked-msg{text-align:center;padding:60px 20px;color:var(--g400)}
.locked-icon{font-size:48px;margin-bottom:14px}
.locked-title{font-size:16px;font-weight:700;color:var(--g900);margin-bottom:8px}
.locked-desc{font-size:14px;line-height:1.6;color:var(--g500)}

/* ── NEW CONTENT BADGE ────────────────────────────────────*/
.sec-new-badge{position:absolute;top:8px;right:8px;width:10px;height:10px;background:#F55C5C;border-radius:50%;border:2px solid #fff;z-index:2}
.ni-new-badge{position:absolute;top:50%;right:8px;transform:translateY(-50%);width:8px;height:8px;background:#F55C5C;border-radius:50%;border:1.5px solid #fff}

/* ── QUILL SNOW ISOLATION (prevent Quill CSS from leaking globally) ──*/
.ql-snow *{box-sizing:border-box}
.ql-snow button{width:auto;height:auto;background:none;border:none;padding:2px;cursor:pointer}
.ql-snow .ql-picker-label{padding:0 8px;height:24px;line-height:24px}

/* ── ORDER BUTTONS ───────────────────────────────────────*/
.order-btn{color:var(--g400);cursor:pointer;font-size:11px;padding:2px 4px;border-radius:4px;line-height:1;user-select:none;flex-shrink:0;transition:all .15s}
.order-btn:hover{background:var(--bl);color:var(--blue)}

/* ── ПРОМПТЫ: unified media grid (images + videos same size) ─*/
/* tg-media-video-unified merged into main system */

/* ── ПРОМПТЫ: collapse/expand button ─────────────────────────*/
.prompt-expand-btn{display:block;width:100%;padding:9px 14px;background:none;border:none;border-top:1px solid var(--g100);font-size:13px;font-weight:700;color:var(--blue);cursor:pointer;text-align:center;transition:background .15s;font-family:var(--font)}
.prompt-expand-btn:hover{background:var(--bl)}
.prompt-body{padding:0 14px 4px;max-width:600px;box-sizing:border-box}

/* Description blocks inside material view */
.mat-desc{font-size:14px;color:var(--g600);line-height:1.7;margin-bottom:8px}
.mat-desc a{color:var(--blue);text-decoration:underline}
.mat-desc p{margin:0 0 6px}
.mat-desc strong,.mat-desc b{font-weight:700}

/* Video thumbnail via canvas */
.tg-vid-wrap{position:relative;overflow:hidden;background:#111}
.tg-vid-thumb{width:100%;height:100%;object-fit:cover;display:block;position:absolute;top:0;left:0}
.tg-vid-wrap video.tg-video{width:100%;height:100%;object-fit:cover}
.tg-vid-wrap .tg-play-overlay{z-index:2}
/* ── QA admin controls ────────────────────────────────── */
.qa-adm-btns{margin-left:auto;display:inline-flex;gap:2px;opacity:0;transition:opacity .2s}
.qa-a-bubble:hover .qa-adm-btns,.qa-q-bubble:hover .qa-adm-btns{opacity:1}
.qa-adm-btns button{background:none;border:none;cursor:pointer;font-size:13px;padding:2px 4px;border-radius:4px;line-height:1}
.qa-adm-btns button:hover{background:var(--g100)}
.qa-adm-del{background:none;border:none;cursor:pointer;font-size:13px;padding:2px 4px;border-radius:4px;margin-left:auto;opacity:0;transition:opacity .2s}
.qa-q-bubble:hover .qa-adm-del{opacity:1}
.qa-a-name{display:flex;align-items:center;gap:4px;font-size:12px;font-weight:700;color:var(--blue);margin-bottom:3px}

