/* ICOSpeaks — стили статей (TOC, типографика, reveal, якоря) */

/* ============ PROGRESS BAR ============ */
#ico-reading-progress{position:fixed;top:0;left:0;height:3px;width:0;background:linear-gradient(90deg,#6366f1,#a78bfa,#6366f1);background-size:200% 100%;animation:progressShimmer 2s linear infinite;z-index:99999;transition:width .15s linear}
@keyframes progressShimmer{0%{background-position:200% 0}100%{background-position:-200% 0}}
#ico-progress-badge{position:fixed;top:14px;right:16px;z-index:99999;padding:5px 12px;font-size:12px;font-weight:700;color:#fff;background:linear-gradient(135deg,#6366f1,#8b5cf6);border-radius:999px;box-shadow:0 3px 12px rgba(99,102,241,.35);opacity:0;transform:translateY(-8px);transition:opacity .25s ease,transform .25s ease;pointer-events:none;font-variant-numeric:tabular-nums}
#ico-progress-badge.visible{opacity:1;transform:translateY(0)}
@media (max-width:768px){#ico-progress-badge{top:10px;right:10px;font-size:11px;padding:4px 10px}}
/* ============ DESKTOP TOC ============ */
@media (min-width:1300px){
#ico-toc-box{position:fixed;left:max(16px,calc((100vw - 1400px)/2 - 260px));width:230px;top:auto;max-height:none;overflow-y:auto;padding:20px 18px;background:#fff;border:1px solid rgba(99,102,241,.15);border-radius:14px;box-shadow:0 1px 3px rgba(0,0,0,.04),0 8px 24px rgba(99,102,241,.06);z-index:999;font-size:13px;line-height:1.55;transition:max-height .2s ease}
#ico-toc-box h3{margin:0 0 14px;padding-bottom:10px;font-size:13px;font-weight:700;color:#6366f1;letter-spacing:.08em;text-transform:uppercase;border-bottom:2px solid rgba(99,102,241,.12)}
#ico-toc-box a{display:block;padding:7px 0 7px 14px;margin:1px 0;color:#334155;text-decoration:none;border-left:2px solid #e2e8f0;border-radius:0 6px 6px 0;transition:all .2s ease;font-size:12.5px;line-height:1.5;font-weight:650}
#ico-toc-box a:hover{color:#6366f1;border-left-color:#a78bfa;background:rgba(99,102,241,.04);padding-left:18px}
#ico-toc-box a.active{color:#6366f1;font-weight:700;border-left:3px solid #6366f1;background:rgba(99,102,241,.06);padding-left:16px}
#ico-toc-box a.toc-h3{padding-left:26px;font-size:11.5px;color:#94a3b8;font-weight:400}
#ico-toc-box a.toc-h3:hover{padding-left:30px}
#ico-toc-box a.toc-h3.active{padding-left:28px;color:#6366f1}
#ico-toc-box::-webkit-scrollbar{width:3px}
#ico-toc-box::-webkit-scrollbar-track{background:transparent}
#ico-toc-box::-webkit-scrollbar-thumb{background:rgba(99,102,241,.2);border-radius:3px}
}
@media (max-width:1299px){#ico-toc-box{display:none!important}}

/* ============ MOBILE TOC ============ */
#ico-toc-toggle{display:none}
@media (max-width:1299px){
#ico-toc-toggle{display:flex;align-items:center;gap:6px;position:fixed;bottom:20px;right:20px;z-index:9999;padding:12px 20px;background:linear-gradient(135deg,#6366f1,#8b5cf6);color:#fff;border:none;border-radius:50px;font-size:14px;font-weight:600;cursor:pointer;box-shadow:0 4px 14px rgba(99,102,241,.35),0 1px 3px rgba(0,0,0,.1);transition:transform .2s,box-shadow .2s}
#ico-toc-toggle:active{transform:scale(.95)}
#ico-toc-toggle::before{content:"☰";font-size:15px}
}
#ico-toc-mobile{display:none;position:fixed;inset:0;z-index:99999;background:rgba(0,0,0,.45);backdrop-filter:blur(4px)}
#ico-toc-mobile.open{display:flex;justify-content:flex-end}
#ico-toc-mobile .toc-panel{width:300px;max-width:85vw;height:100%;background:#fff;padding:24px 20px;overflow-y:auto;box-shadow:-4px 0 30px rgba(0,0,0,.15);animation:slideIn .25s ease}
@keyframes slideIn{from{transform:translateX(100%)}to{transform:translateX(0)}}
#ico-toc-mobile .toc-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px;padding-bottom:12px;border-bottom:2px solid rgba(99,102,241,.12)}
#ico-toc-mobile .toc-header h3{margin:0;font-size:13px;font-weight:700;color:#6366f1;letter-spacing:.08em;text-transform:uppercase}
#ico-toc-mobile .toc-close{width:32px;height:32px;display:flex;align-items:center;justify-content:center;font-size:22px;color:#64748b;cursor:pointer;border-radius:8px;border:none;background:#f1f5f9;transition:background .15s}
#ico-toc-mobile .toc-close:hover{background:#e2e8f0}
#ico-toc-mobile .toc-links a{display:block;padding:9px 0 9px 14px;margin:1px 0;color:#1e293b;text-decoration:none;font-size:14px;font-weight:650;border-left:2px solid #e2e8f0;border-radius:0 6px 6px 0;transition:all .2s}
#ico-toc-mobile .toc-links a:hover{color:#6366f1;border-left-color:#6366f1;background:rgba(99,102,241,.04)}
#ico-toc-mobile .toc-links a.toc-h3{padding-left:26px;font-size:13px;color:#64748b;font-weight:400}

/* ============ КОНТЕЙНЕР ============ */
@media (min-width:1019px){
.td-container{max-width:1600px!important;margin:0 auto!important}
.single-post .td-pb-span8.td-main-content{width:85%!important;margin:0 auto!important;float:none!important}
.single-post .td-pb-span4.td-main-sidebar{display:none!important}
}

/* ============ ТИПОГРАФИКА ============ */
.td-post-content{font-size:17.5px;line-height:1.72;color:#1e293b;overflow-x:hidden}
.single-post h1.entry-title,.td-post-title .entry-title{font-family:Georgia,'Times New Roman',serif;font-size:40px;line-height:1.22;font-weight:700;letter-spacing:-.01em;color:#0f172a;margin-bottom:24px}
.td-post-content h2{font-family:Georgia,'Times New Roman',serif;font-size:29px;line-height:1.3;font-weight:700;letter-spacing:-.005em;color:#0f172a;margin:2.4em 0 1em;padding:22px 26px;background:linear-gradient(135deg,#eef2ff 0,#f5f3ff 100%);border-left:5px solid #6366f1;border-radius:0 12px 12px 0}
.td-post-content h3{font-family:Georgia,'Times New Roman',serif;font-size:22px;line-height:1.35;font-weight:700;color:#1e293b;margin:2em 0 .8em;padding:14px 20px;background:#f8fafc;border-left:4px solid #a78bfa;border-radius:0 10px 10px 0}
.td-post-content h4{font-size:19px;font-weight:700;color:#334155;margin:1.6em 0 .6em;padding-left:14px;border-left:3px solid #cbd5e1}
.td-post-content p{margin:0 0 1.1em;padding:4px 0 4px 20px;border-left:2px solid #e2e8f0;max-width:none}
.td-post-content h2+p{padding:20px 24px;background:#f8fafc;border-left:4px solid #818cf8;border-radius:0 10px 10px 0;font-size:18px;margin-bottom:1.4em}

/* Списки */
.td-post-content ul,.td-post-content ol{margin:1.3em 0;padding-left:2em;list-style:none}
.td-post-content li{position:relative;margin-bottom:.75em;padding:3px 0 3px 18px;border-left:2px solid #e2e8f0;line-height:1.65}
.td-post-content ul>li::before{content:"";position:absolute;left:-6px;top:.72em;width:7px;height:7px;border-radius:50%;background:#818cf8}
.td-post-content ol{counter-reset:ico-list}
.td-post-content ol>li{counter-increment:ico-list}
.td-post-content ol>li::before{content:counter(ico-list);position:absolute;left:-14px;top:.15em;width:22px;height:22px;display:flex;align-items:center;justify-content:center;background:#6366f1;color:#fff;font-size:12px;font-weight:700;border-radius:50%}

/* Ссылки */
.td-post-content a{color:#4f46e5;font-weight:600;text-decoration:none;border-bottom:2px solid rgba(79,70,229,.25);transition:all .15s}
.td-post-content a:hover{color:#4338ca;border-bottom-color:#4338ca}
.td-post-content strong,.td-post-content b{font-weight:700;color:#0f172a}

/* Цитаты */
.td-post-content blockquote{margin:2em 0;padding:22px 28px;background:linear-gradient(135deg,#eef2ff,#faf5ff);border-left:5px solid #6366f1;border-radius:0 12px 12px 0;font-size:18px;line-height:1.7;color:#334155;font-style:normal}
.td-post-content blockquote p{border:none;padding:0;background:none;margin-bottom:.6em}
.td-post-content blockquote p:last-child{margin-bottom:0}

/* Разделители */
.td-post-content hr{margin:2.5em 0;border:none;height:1px;background:linear-gradient(90deg,transparent,#e2e8f0 15%,#e2e8f0 85%,transparent)}

/* Картинки */
.td-post-content img,.td-post-content figure img{max-width:100%!important;height:auto!important;border-radius:14px;box-shadow:0 4px 24px rgba(15,23,42,.1);margin:1.6em 0}
.td-post-content figure{margin:2em 0}
.td-post-content figcaption{margin-top:12px;font-size:14px;color:#64748b;text-align:center;font-style:italic}

/* Таблицы */
.td-post-content table{width:100%;max-width:100%!important;border-collapse:collapse;margin:2em 0;font-size:15px;border-radius:12px;overflow:hidden;box-shadow:0 2px 16px rgba(15,23,42,.07)}
.td-post-content table th{background:#eef2ff;padding:15px 18px;text-align:left;font-weight:700;color:#312e81;border-bottom:2px solid #c7d2fe}
.td-post-content table td{padding:14px 18px;border-bottom:1px solid #f1f5f9;vertical-align:top}
.td-post-content table tr:last-child td{border-bottom:none}
.td-post-content table tr:nth-child(even) td{background:#fafbff}
.td-post-content iframe,.td-post-content .wp-block-table{max-width:100%!important}

/* Код */
.td-post-content code{background:#f1f5f9;padding:3px 8px;border-radius:5px;font-size:.88em;color:#be123c;font-family:'SF Mono',Monaco,Consolas,monospace;border-left:none}
.td-post-content pre{background:#0f172a;color:#e2e8f0;padding:22px;border-radius:12px;overflow-x:auto;margin:1.8em 0;font-size:14px;line-height:1.6;border-left:5px solid #6366f1}
.td-post-content pre code{background:none;color:inherit;padding:0}

/* ============ SCROLL REVEAL ============ */
@media (prefers-reduced-motion:no-preference){
.td-post-content .ico-reveal{opacity:0;transform:translateY(18px);transition:opacity .55s cubic-bezier(.22,.61,.36,1),transform .55s cubic-bezier(.22,.61,.36,1);will-change:opacity,transform}
.td-post-content .ico-reveal.ico-visible{opacity:1;transform:translateY(0)}
.td-post-content h2.ico-reveal,.td-post-content h3.ico-reveal{transform:translateY(20px) translateX(-8px)}
.td-post-content h2.ico-reveal.ico-visible,.td-post-content h3.ico-reveal.ico-visible{transform:none}
.td-post-content img.ico-reveal,.td-post-content figure.ico-reveal,.td-post-content table.ico-reveal{transform:translateY(22px) scale(.985)}
.td-post-content img.ico-reveal.ico-visible,.td-post-content figure.ico-reveal.ico-visible,.td-post-content table.ico-reveal.ico-visible{transform:translateY(0) scale(1)}
}
@media (prefers-reduced-motion:reduce){.td-post-content .ico-reveal{opacity:1!important;transform:none!important}}

/* ============ ЯКОРНЫЕ ССЫЛКИ ============ */
.td-post-content .ico-anchor-list a{color:#1e293b;font-weight:600;text-decoration:none;border-bottom:2px solid transparent;transition:all .18s ease;display:inline-block}
.td-post-content .ico-anchor-list a:hover{color:#4f46e5;border-bottom-color:#4f46e5;transform:translateX(3px)}
.td-post-content [id^="ch-"]{scroll-margin-top:100px}

/* ============ МОБИЛЬНЫЕ ============ */
@media (max-width:768px){
.td-post-content{font-size:16.5px;line-height:1.68}
.single-post h1.entry-title,.td-post-title .entry-title{font-size:28px}
.td-post-content h2{font-size:22px;padding:16px 18px;border-left-width:4px;margin:1.8em 0 .8em}
.td-post-content h3{font-size:19px;padding:12px 16px}
.td-post-content p{padding-left:14px}
.td-post-content h2+p{padding:16px 18px;font-size:17px}
.td-post-content ul,.td-post-content ol{padding-left:1.6em}
.td-post-content blockquote{padding:18px 20px;font-size:16.5px}
.td-post-content table{font-size:14px;display:block;overflow-x:auto}
}
