/* SlideCraft — сцена 1600×900, блоки абсолютные; размеры в em от --fit (раскладка) и --bf (подгонка в блоке). Шрифты системные. */
.sc-stage{position:relative;width:1600px;height:900px;overflow:hidden;background:var(--bg);color:var(--fg);font-family:var(--font);transform-origin:0 0;user-select:none;
  --font-base:system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;--font:var(--font-base);--mono:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;
  --bg:#0b1020;--fg:#f1ede4;--muted:#8d93a6;--accent:#ff6f59;--card:rgba(255,255,255,.06);--line:rgba(255,255,255,.16);--ok:#3fb97b;--bad:#ff5c5c}
.sc-stage.theme-paper{--bg:#f4f5f7;--fg:#15181d;--muted:#687080;--accent:#1f5fbf;--card:#ffffff;--line:#d6dae2;--ok:#1d8f52;--bad:#c7362a}
.sc-stage.theme-pop{--bg:#0a0a0a;--fg:#fafafa;--muted:#9a9a9a;--accent:#ff4fa3;--card:#161616;--line:#2a2a2a;--font:var(--font-base)}
.sc-measure{position:absolute;left:-20000px;top:0;visibility:hidden;pointer-events:none;height:auto;overflow:visible}
.sc-measure .blk{position:relative}
.sc-stage *{box-sizing:border-box}
.blk{position:absolute;font-size:calc(36px * var(--fit,1) * var(--bf,1));line-height:1.3;overflow:hidden;overflow-wrap:break-word}
.al-center{text-align:center}
.va-center{display:flex;flex-direction:column;justify-content:center}
.va-bottom{display:flex;flex-direction:column;justify-content:flex-end}

/* виды блоков */
.k-title .t{font-size:2em;font-weight:800;line-height:1.1;letter-spacing:-.02em;text-wrap:balance}
.k-title.sz-xl .t{font-size:3.2em}
.k-title.sz-s .t{font-size:.8em;font-weight:700;color:var(--muted);text-transform:uppercase;letter-spacing:.08em}
.k-sub .t{font-size:1.2em;color:var(--muted);text-wrap:balance}
.k-p .t{font-size:1em;text-wrap:pretty}
.k-cap .t{font-size:.7em;color:var(--muted)}
.k-label .t{font-size:.75em;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--accent)}
.k-li{padding-left:1.1em}
.k-li::before{content:"";position:absolute;left:.15em;top:.5em;width:.38em;height:.38em;border-radius:50%;background:var(--accent)}
.k-li ul,.sub-li ul,.k-side ul{list-style:none;margin:0;padding:0}
.k-li>ul{margin-top:.25em;font-size:.85em}
.k-li ul li{position:relative;padding-left:1em;margin-top:.15em}
.k-li ul li::before{content:"–";position:absolute;left:0;color:var(--muted)}
.k-num{background:var(--card);border:1px solid var(--line);border-radius:.4em;padding:.7em .9em;display:flex;flex-direction:column;gap:.15em;justify-content:center}
.k-num .v{display:block;font-size:2.2em;font-weight:800;line-height:1;letter-spacing:-.03em;color:var(--accent);font-variant-numeric:tabular-nums}
.k-num .l{display:block;color:var(--muted);font-size:.8em;line-height:1.25}
.k-num .d{display:block;font-style:normal;font-weight:700;font-size:.75em}
.k-num .d.up{color:var(--ok)}.k-num .d.down{color:var(--bad)}
.k-num.sz-xl{background:none;border:0;align-items:center;text-align:center}
.k-num.sz-xl .v{font-size:5.5em}.k-num.sz-xl .l{font-size:1.1em;margin-top:.3em}
.k-card{background:var(--card);border:1px solid var(--line);border-radius:.4em;padding:.8em .9em}
.k-card h3,.k-step h3,.k-side h3{margin:0 0 .35em;font-size:1em;line-height:1.2;font-weight:700}
.k-card .body,.k-step .body{font-size:.78em}
.k-card .body p,.k-step .body p{margin:0 0 .3em}
.k-card .body .sub-li,.k-step .body .sub-li{position:relative;padding-left:1em;margin:.15em 0}
.k-card .body .sub-li::before,.k-step .body .sub-li::before{content:"•";position:absolute;left:0;color:var(--accent)}
.k-step{padding-top:.2em}
.k-step .no{display:grid;place-items:center;width:1.5em;height:1.5em;border-radius:50%;background:var(--accent);color:var(--bg);font-weight:800;font-style:normal;font-size:.9em;margin-bottom:.4em}
.k-step .body{color:var(--muted)}
.k-side{padding:.8em .9em;background:var(--card);border:1px solid var(--line);border-radius:.4em}
.k-side h3{font-size:1.1em;color:var(--accent)}
.k-side li{position:relative;padding-left:1em;margin:.25em 0;font-size:.85em}
.k-side li::before{content:"";position:absolute;left:0;top:.5em;width:.35em;height:.35em;border-radius:50%;background:var(--accent)}
.k-quote .q{margin:0;font-size:1.5em;line-height:1.3;font-weight:500;text-wrap:balance}
.k-quote cite{display:block;font-style:normal;font-size:.8em;color:var(--muted);margin-top:.8em}
.k-img{display:flex;flex-direction:column;gap:.3em}
.k-img img{display:block;width:100%;height:100%;min-height:0;object-fit:contain;border-radius:.3em;flex:1 1 auto}
.k-img .ph{flex:1 1 auto;min-height:2.5em;display:grid;place-items:center;border:2px dashed var(--line);border-radius:.3em;color:var(--muted);font-size:.75em;text-align:center;padding:.5em}
.k-img figcaption{font-size:.65em;color:var(--muted);flex:none}
.k-chart svg{width:100%;height:100%;display:block}
.k-chart .bar{fill:var(--accent);opacity:.65}.k-chart .bar.last{opacity:1}
.k-chart .ln{fill:none;stroke:var(--accent);stroke-width:6;stroke-linejoin:round}
.k-chart .pt{fill:var(--bg);stroke:var(--accent);stroke-width:5}.k-chart .pt.last{fill:var(--accent)}
.k-chart .axis{stroke:var(--line);stroke-width:2}
.k-chart text{fill:var(--fg);font-size:22px;font-family:var(--font)}.k-chart .lbl{fill:var(--muted)}.k-chart .val{font-weight:700}
.k-table table{border-collapse:collapse;width:100%;color:inherit;font:inherit;font-size:.78em;line-height:1.35;font-variant-numeric:tabular-nums}
.k-table td,.k-table th{padding:.4em .7em;border-bottom:1px solid var(--line);text-align:left;vertical-align:top}
.k-table th{color:var(--muted);font-weight:600;font-size:.9em}
.k-code pre{margin:0;height:100%;background:var(--card);border:1px solid var(--line);border-radius:.4em;padding:.9em 1.1em;font:.7em/1.5 var(--mono);white-space:pre-wrap;overflow:hidden;tab-size:2}
.k-box{border-radius:.4em;padding:.6em .8em}
.k-agenda ol{margin:0;padding:0;list-style:none;counter-reset:ag;display:flex;flex-direction:column;gap:.5em;font-size:1.2em}
.k-agenda li{display:flex;gap:.8em;align-items:baseline;color:var(--muted)}
.k-agenda li::before{counter-increment:ag;content:counter(ag,decimal-leading-zero);font-size:.65em;color:var(--accent);font-weight:800;font-variant-numeric:tabular-nums}
.k-agenda li.now{color:var(--fg);font-weight:700}
.blk.accent,.blk.accent .t,.blk.accent .q{color:var(--accent)}
.blk b{color:var(--accent)}
.blk code{font-family:var(--mono);font-size:.85em;background:var(--card);padding:0 .3em;border-radius:.2em}
.blk.hid{opacity:0;visibility:hidden}
.blk{transition:opacity .35s ease}

.sc-edit .blk{outline:0}
@media (prefers-reduced-motion:reduce){.blk{transition:none}}
