@font-face{font-family:'JetBrains Mono';src:url('assets/JetBrainsMono-Regular.woff2') format('woff2');font-display:swap}

/* ═══════════════════════════════════════════════════════════
   {space} · осенний сезон · открытый эфир 23.09.2026
   Режим paper (сцена 1600×900) в токенах сайта сезона:
   белая бумага, чернила #111, служебный #66655f, линия #d9d9d9,
   один акцент #d92027. Шрифт один – JetBrains Mono.
   ═══════════════════════════════════════════════════════════ */

:root{
  --bg:#ffffff; --bg-dim:#f4f4f2; --bg-dark:#111111;
  --ink:#111111; --ink-soft:#3a3a36; --ink-mute:#66655f;
  --line:#d9d9d9; --line-soft:#ececea;
  --accent:#d92027; --accent-soft:#fbe9ea;
  --paper:#ffffff;
}
html[data-theme="dark"]{
  --bg:#111111; --bg-dim:#1c1c1b; --bg-dark:#ffffff;
  --ink:#f2f1ec; --ink-soft:#c9c8c1; --ink-mute:#8f8e87;
  --line:#3a3a38; --line-soft:#2a2a28;
  --accent:#ff3b42; --accent-soft:#3a1214;
}

*{box-sizing:border-box;margin:0;padding:0}
html,body{background:var(--bg);height:100%;overflow:hidden;
  font-family:'JetBrains Mono',monospace;color:var(--ink);-webkit-font-smoothing:antialiased}
a{color:inherit;text-decoration:none}

.deck{position:fixed;inset:0;background:var(--bg);display:flex;align-items:center;justify-content:center}
.stage{width:1600px;height:900px;transform-origin:center center;position:relative}
.slide{position:absolute;inset:0;background:var(--bg);padding:60px 80px;opacity:0;
  pointer-events:none;transition:opacity .35s ease;overflow:hidden}
.slide.active{opacity:1;pointer-events:auto}

/* тёмный слайд внутри светлой темы */
.slide.dark{background:var(--bg-dark)}
html:not([data-theme="dark"]) .slide.dark{color:#f2f1ec}
html:not([data-theme="dark"]) .slide.dark .frame{border-color:#f2f1ec}
html:not([data-theme="dark"]) .slide.dark .corner{background:#111;border-color:#f2f1ec}
html:not([data-theme="dark"]) .slide.dark .meta,
html:not([data-theme="dark"]) .slide.dark h1,
html:not([data-theme="dark"]) .slide.dark h2,
html:not([data-theme="dark"]) .slide.dark h3,
html:not([data-theme="dark"]) .slide.dark p{color:#f2f1ec}
html:not([data-theme="dark"]) .slide.dark .footmeta,
html:not([data-theme="dark"]) .slide.dark .fig,
html:not([data-theme="dark"]) .slide.dark .meta .right,
html:not([data-theme="dark"]) .slide.dark .mute{color:#9a9992}
html:not([data-theme="dark"]) .slide.dark .footmeta .num{color:#f2f1ec}
html:not([data-theme="dark"]) .slide.dark .grid-bg{background-image:radial-gradient(circle,rgba(242,241,236,.09) 1px,transparent 1px)}
html:not([data-theme="dark"]) .slide.dark .logo img{filter:invert(1)}
html:not([data-theme="dark"]) .slide.dark .srail .sec{color:#6e6d67;border-top-color:#333}
html:not([data-theme="dark"]) .slide.dark .srail .sec.done{color:#9a9992;border-top-color:#9a9992}
html:not([data-theme="dark"]) .slide.dark .srail .sec.cur{color:#ff3b42;border-top-color:#ff3b42}
html:not([data-theme="dark"]) .slide.dark .accent-line{background:#ff3b42}
html:not([data-theme="dark"]) .slide.dark em{color:#ff3b42}
html:not([data-theme="dark"]) .slide.dark .lab-path{stroke:#f2f1ec}
html:not([data-theme="dark"]) .slide.dark .fig strong{color:#f2f1ec}

/* ── рамка листа ── */
.frame{position:absolute;inset:20px;border:1px solid var(--ink);pointer-events:none;z-index:1}
.corner{position:absolute;width:12px;height:12px;border:1px solid var(--ink);background:var(--bg);z-index:2}
.corner.tl{top:14px;left:14px} .corner.tr{top:14px;right:14px}
.corner.bl{bottom:14px;left:14px} .corner.br{bottom:14px;right:14px}
.grid-bg{position:absolute;inset:30px;pointer-events:none;z-index:0;opacity:.7;
  background-image:radial-gradient(circle,rgba(17,17,17,.07) 1px,transparent 1px);background-size:14px 14px}
html[data-theme="dark"] .grid-bg{background-image:radial-gradient(circle,rgba(242,241,236,.09) 1px,transparent 1px)}

.meta{position:absolute;top:38px;left:80px;right:80px;display:flex;justify-content:space-between;
  align-items:center;font-size:12px;letter-spacing:.16em;text-transform:uppercase;z-index:3}
.meta .left::before{content:'◇  '}
.meta .right{display:flex;align-items:center;gap:14px;color:var(--ink-mute)}
.meta .logo{width:30px;height:30px;flex-shrink:0}
.meta .logo img{width:100%;height:100%;object-fit:contain}
html[data-theme="dark"] .meta .logo img{filter:invert(1)}

.footmeta{position:absolute;bottom:38px;left:80px;right:80px;gap:40px;display:flex;justify-content:space-between;
  font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-mute);z-index:3}
.footmeta .num{color:var(--ink);font-weight:500}

.srail{position:absolute;top:96px;left:80px;right:80px;display:flex;gap:2px;z-index:3}
.srail .sec{flex:1;border-top:2px solid var(--line);padding-top:8px;font-size:11px;letter-spacing:.14em;
  text-transform:uppercase;color:var(--ink-mute);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.srail .sec.done{border-top-color:var(--ink-soft);color:var(--ink-soft)}
.srail .sec.cur{border-top-color:var(--accent);color:var(--accent);font-weight:500}

.body{position:relative;margin-top:78px;padding:12px 0 88px;height:calc(900px - 78px - 60px - 88px);z-index:2}
.slide.active .body>*{animation:fadeUp .5s ease both}
.slide.active .body>*:nth-child(1){animation-delay:.05s}
.slide.active .body>*:nth-child(2){animation-delay:.12s}
.slide.active .body>*:nth-child(3){animation-delay:.20s}
.slide.active .body>*:nth-child(4){animation-delay:.28s}
@keyframes fadeUp{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}

/* ── типографика ── */
h1{font-size:104px;font-weight:400;line-height:.94;letter-spacing:-.05em}
h2{font-size:72px;font-weight:400;line-height:.98;letter-spacing:-.045em}
h3{font-size:44px;font-weight:400;line-height:1.06;letter-spacing:-.03em}
h4{font-size:24px;font-weight:400;letter-spacing:-.02em}
p{font-size:22px;line-height:1.45}
em{font-style:normal;color:var(--accent)}
.mute{color:var(--ink-mute)}
.fig{font-size:12px;letter-spacing:.18em;text-transform:uppercase;color:var(--ink-mute);margin-bottom:14px}
.fig strong{color:var(--ink);font-weight:500}
.accent-line{width:80px;height:2px;background:var(--accent);margin:22px 0}
.pill{display:inline-block;background:var(--bg-dim);color:var(--ink);padding:4px 12px;border:1px solid var(--ink);
  margin-right:10px;font-size:13px;letter-spacing:.12em;text-transform:uppercase}
.pill.red{background:var(--accent);border-color:var(--accent);color:#fff}
.dotq{color:var(--accent)}

/* ── обложка ── */
.cover-grid{display:grid;grid-template-columns:1fr 600px;gap:56px;align-items:center;height:100%}
.cover-info .topic{border-top:1px solid var(--ink);border-bottom:1px solid var(--ink);padding:24px 0 26px;margin-top:30px}
.topic-label{font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:var(--ink-mute)}
.topic-title{font-size:36px;line-height:1.16;margin-top:10px}
.meta-line{margin-top:26px;font-size:14px;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-soft)}
.cover-art{border:1px solid var(--ink);background:var(--bg);aspect-ratio:1;display:flex;align-items:center;justify-content:center;overflow:hidden}
.cover-art svg{width:100%;height:100%}

/* ── хук ── */
.hook{display:flex;flex-direction:column;justify-content:center;height:100%;padding:20px 40px}
.hook-text{font-size:64px;line-height:1.06;letter-spacing:-.04em;max-width:1340px}
.hook-attr{margin-top:42px;font-size:13px;letter-spacing:.18em;text-transform:uppercase;color:var(--ink-mute)}

/* ── раскладки ── */
.split{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:56px;align-items:start;height:100%}
.split.wide-right{grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr)}
.split.wide-left{grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr)}
.stack>*+*{margin-top:18px}
.lead{font-size:26px;line-height:1.4;max-width:1100px}
.reading p{font-size:20px;line-height:1.55;margin-bottom:14px}
.reading strong{font-weight:400;color:var(--ink);border-bottom:1px solid var(--ink)}

.cards{display:grid;gap:1px;background:var(--line);border:1px solid var(--line);margin-top:18px}
.cards.c2{grid-template-columns:repeat(2,1fr)}
.cards.c3{grid-template-columns:repeat(3,1fr)}
.cards.c3 .card{min-height:230px;padding:24px 26px}
.cards.c3 .card b{font-size:24px}
.cards.c3 .card p{font-size:17px}
.cards.c4{grid-template-columns:repeat(4,1fr)}
.cards.c5{grid-template-columns:repeat(5,1fr)}
.card{background:var(--bg);padding:20px 22px;display:flex;flex-direction:column;gap:8px;min-height:150px}
.card small{font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-mute)}
.card b{font-weight:400;font-size:20px;line-height:1.2;letter-spacing:-.02em}
.card p{font-size:15px;line-height:1.5;color:var(--ink-soft)}
.card .src{margin-top:auto;font-size:11px;color:var(--ink-mute)}
.card.hot{background:var(--accent-soft)}
.card.hot small{color:var(--accent)}

.rows{margin-top:16px}
.row{display:grid;grid-template-columns:200px minmax(0,1fr);gap:24px;padding:14px 0;border-top:1px solid var(--line);align-items:baseline}
.row:last-child{border-bottom:1px solid var(--line)}
.row .k{font-size:13px;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-mute)}
.row .v{font-size:19px;line-height:1.45}

/* ── цикл сезона ── */
.cycle svg{width:100%;height:auto;display:block}
.figbox{border:1px solid var(--line);padding:22px 26px;background:var(--bg)}
.figbox svg{width:100%;height:auto;display:block}

/* ── карточка группы ── */
.gnum{font-size:12px;letter-spacing:.2em;text-transform:uppercase;color:var(--ink-mute)}
.gnum b{color:var(--accent);font-weight:500}
.gtitle{font-size:52px;line-height:1;letter-spacing:-.045em;margin-top:8px}
.gtitle span{color:var(--accent)}
.gq{font-size:30px;line-height:1.35;margin-top:22px;padding:20px 0;border-top:1px solid var(--ink);border-bottom:1px solid var(--ink)}
.gq::before{content:'вопрос группы. ';color:var(--ink-mute);font-size:12px;letter-spacing:.16em;text-transform:uppercase;display:block;margin-bottom:8px}
.gfor{font-size:20px;color:var(--ink-soft);margin-top:14px;line-height:1.5}
.gmeta{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:var(--line);border:1px solid var(--line);margin-top:22px}
.gmeta div{background:var(--bg);padding:16px 18px;font-size:17px;line-height:1.5}
.gmeta small{display:block;font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-mute);margin-bottom:4px}
.ghyp{margin-top:20px;font-size:16px;line-height:1.5;color:var(--ink-mute)}
.ghyp b{font-weight:400;color:var(--accent)}
.authors{display:flex;flex-direction:column;gap:16px}
.author{display:grid;grid-template-columns:190px 1fr;gap:18px;align-items:center;border:1px solid var(--ink);padding:0}
.author img{width:190px;height:190px;object-fit:cover;object-position:center top;display:block;filter:grayscale(1) contrast(1.05)}
.author div{padding:12px 16px 12px 0}
.author b{display:block;font-weight:400;font-size:24px;letter-spacing:-.02em}
.author span{display:block;font-size:14px;color:var(--ink-mute);margin-top:6px;line-height:1.45}
.author .h{font-size:12px;color:var(--accent);margin-top:6px}

/* ── матрица разнообразия ── */
.matrix{display:grid;grid-template-columns:230px 1fr;gap:6px 18px;margin-top:10px;font-size:12px}
.matrix .pn{color:var(--ink-mute);letter-spacing:.06em;text-transform:uppercase;font-size:10.5px;padding-top:6px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.matrix .opts{display:flex;gap:5px;flex-wrap:wrap}
.matrix .o{border:1px solid var(--line);padding:5px 8px;font-size:11px;color:var(--ink-soft);line-height:1.2;background:var(--bg)}
.matrix .o.on{border-color:var(--accent);background:var(--accent);color:#fff}
.matrix .o.gap{border-style:dashed;color:var(--ink-mute);background:repeating-linear-gradient(45deg,transparent 0 4px,var(--line-soft) 4px 5px)}
.legend{display:flex;gap:22px;font-size:11px;color:var(--ink-mute);margin-top:14px;letter-spacing:.06em}
.legend i{display:inline-block;width:14px;height:10px;border:1px solid var(--line);vertical-align:middle;margin-right:6px}
.legend i.on{background:var(--accent);border-color:var(--accent)}
.legend i.gap{border-style:dashed;background:repeating-linear-gradient(45deg,transparent 0 3px,var(--line) 3px 4px)}

/* ── воронка/лестница ── */
.ladder{display:grid;grid-template-columns:repeat(5,1fr);gap:0;margin-top:18px;border:1px solid var(--ink)}
.ladder>div{padding:18px 16px;border-right:1px solid var(--line);min-height:190px;display:flex;flex-direction:column;gap:8px}
.ladder>div:last-child{border-right:0}
.ladder small{font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-mute)}
.ladder .n{font-size:44px;line-height:1;letter-spacing:-.04em}
.ladder .n.red{color:var(--accent)}
.ladder p{font-size:14px;line-height:1.45;color:var(--ink-soft)}

/* ── карта форматов ── */
.map{width:100%;height:auto;display:block}
.map text{font-family:'JetBrains Mono',monospace;font-size:11.5px;fill:var(--ink)}
.map text.axis{fill:var(--ink-mute);font-size:10px;letter-spacing:.1em}
.map .dot{fill:var(--bg);stroke:var(--ink);stroke-width:1.3}
.map .here{fill:var(--accent);stroke:var(--accent)}
.map .ax{stroke:var(--ink)}
.map .mid{stroke:var(--line);stroke-dasharray:3 5}

/* ── лабиринт ── */
.lab-wrap{display:flex;align-items:center;justify-content:center;height:100%}
.lab-wrap svg{height:100%;max-height:640px;width:auto;overflow:visible}
.lab-path{fill:none;stroke:var(--ink);stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round;
  stroke-dasharray:1;stroke-dashoffset:1}
.slide.active .lab-path{animation:draw 6s cubic-bezier(.4,0,.2,1) .3s forwards}
@keyframes draw{to{stroke-dashoffset:0}}
.lab-core{fill:var(--accent)}
.lab-wrap.still .lab-path{animation:none;stroke-dashoffset:0}

/* ── знак салона ── */
.sign{display:flex;align-items:center;justify-content:center}
.sign svg{width:100%;max-width:520px;height:auto}
.sign .ring{fill:none;stroke:currentColor;stroke-width:1.6}
.sign .seat{fill:currentColor}
.sign .gapseat{fill:none;stroke:currentColor;stroke-width:1.2;stroke-dasharray:3 3}
.sign .core{fill:var(--accent)}

/* ── список экспериментов ── */
.exp{display:grid;grid-template-columns:repeat(4,1fr)}
.exp.c3{grid-template-columns:repeat(3,1fr)}
.exp.c3>div{min-height:230px;padding:22px 22px}
.exp.c3 b{font-size:22px}
.exp.c3 p{font-size:16px}
.exp{;gap:1px;background:var(--line);border:1px solid var(--line);margin-top:16px}
.exp>div{background:var(--bg);padding:16px 16px;min-height:170px;display:flex;flex-direction:column;gap:6px}
.exp small{font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--accent)}
.exp b{font-weight:400;font-size:17px;letter-spacing:-.02em;line-height:1.2}
.exp p{font-size:13px;line-height:1.45;color:var(--ink-soft)}
.exp .src{margin-top:auto;font-size:10.5px;color:var(--ink-mute)}

/* ── иллюстрация ── */
.ill{display:block;max-width:100%;max-height:100%;object-fit:contain;margin:auto}
html[data-theme="dark"] .ill{filter:invert(1) hue-rotate(180deg)}

/* ── обвязка ── */
.progress{position:fixed;left:0;top:0;height:2px;background:var(--accent);width:0;z-index:9;transition:width .3s}
.nav-controls{position:fixed;right:18px;bottom:16px;display:flex;gap:6px;z-index:9;opacity:0;transition:opacity .25s;pointer-events:none}
.themetag{position:fixed;left:18px;bottom:16px;font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-mute);z-index:9;opacity:0;transition:opacity .25s;pointer-events:none}
body.ui .nav-controls,body.ui .themetag{opacity:1;pointer-events:auto}
.pn-btn{width:38px;height:38px;border:1px solid var(--ink);background:var(--bg);color:var(--ink);font:inherit;font-size:20px;cursor:pointer}
.pn-btn:hover{border-color:var(--accent);color:var(--accent)}
.notes{position:fixed;left:50%;bottom:70px;transform:translateX(-50%);max-width:820px;background:var(--ink);color:var(--bg);
  padding:14px 18px;font-size:14px;line-height:1.5;z-index:9;display:none}
.notes.on{display:block}
.notes .who{font-size:10px;letter-spacing:.16em;text-transform:uppercase;opacity:.6;margin-bottom:6px}

@media print{
  html,body{overflow:visible;height:auto}
  .deck{position:static;display:block}
  .stage{transform:none!important;width:1600px;height:auto}
  .slide{position:relative;opacity:1;height:900px;page-break-after:always}
  .progress,.nav-controls,.themetag,.notes{display:none}
}

/* ═══ v2 · 23.09 ═══ */
/* дерево на обложке */
.tree-cover{grid-template-columns:1fr 700px}
.tree-box{width:700px;height:640px;display:flex;align-items:center;justify-content:center;overflow:visible}
.tree-box svg{width:100%;height:100%;overflow:visible}
.tree-box .node-name{font-size:14px}
.tree-box .twig{stroke-dasharray:1;stroke-dashoffset:1}
.slide.active .tree-box .twig{animation:draw 2.4s ease-out forwards}
.slide.active .tree-box .leaf{animation:leafIn 1s ease-out 1.6s both}
@keyframes leafIn{from{opacity:0}to{opacity:.5}}
.tree-box .leaf.selected{opacity:.85}
.tree-box .branch-art{opacity:.55}.tree-box .branch-art.selected{opacity:1}
.tree-box .node-hit{cursor:pointer}
.tree-pick{font-size:13px;margin-top:22px;min-height:20px;letter-spacing:.04em}
html:not([data-theme="dark"]) .tree-box .root-label{fill:var(--ink-mute)}

/* мозаика плашек */
.mosaic{display:grid;grid-template-columns:repeat(6,1fr);gap:14px 16px;margin-top:8px}
.mosaic figure{border:1px solid var(--line);background:var(--bg);padding:0;overflow:hidden}
.mosaic img{width:100%;aspect-ratio:1;object-fit:cover;display:block}
.mosaic figcaption{padding:10px 12px;font-size:12px;line-height:1.35;border-top:1px solid var(--line);min-height:54px}
.mosaic figcaption b{font-weight:400;color:var(--accent);margin-right:4px}

/* матрица v2 */
.mx-head{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:30px;align-items:end;margin-bottom:12px}
.mx-head h3{font-size:30px}
.pickers{display:flex;gap:6px}
.pk{width:66px;border:1px solid var(--line);background:var(--bg);padding:0;display:flex;flex-direction:column;align-items:center;cursor:pointer;opacity:.75}
.pk img{width:100%;aspect-ratio:1;object-fit:cover;display:block}
.pk span{font-size:11px;padding:4px 0;color:var(--ink-mute)}
.pk.on{border-color:var(--accent);opacity:1}.pk.on span{color:var(--accent)}
.pk:hover{opacity:1}
.matrix .o{transition:background .2s,border-color .2s}
.legend b{font-weight:400;color:var(--accent)}

/* карточка группы v2 · компактная */
.gcard{display:grid;grid-template-columns:330px minmax(0,1fr);gap:48px;align-items:start;height:100%}
.glogo{display:flex;flex-direction:column;gap:14px}
.glogo-img{width:330px;height:330px;object-fit:cover;border:1px solid var(--line);display:block}
.ports{display:flex;gap:10px}
.ports img{width:100px;height:100px;object-fit:cover;object-position:center top;border:1px solid var(--ink);filter:grayscale(1) contrast(1.05)}
.gwho{font-size:17px;margin-top:10px}
.gwho .mute{font-size:14px}

/* таймер салона */
.timer-wrap{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%}
.timer{font-size:180px;line-height:1;letter-spacing:-.06em;font-variant-numeric:tabular-nums}
.timer.done{color:var(--accent)}
.timer-sub{font-size:13px;letter-spacing:.14em;text-transform:uppercase;margin-top:18px}
html:not([data-theme="dark"]) .slide.dark .timer{color:#f2f1ec}
html:not([data-theme="dark"]) .slide.dark .timer.done{color:#ff3b42}

/* спектр */
.spectrum{display:flex;justify-content:space-between;align-items:center;border-top:1px solid var(--ink);border-bottom:1px solid var(--ink);padding:18px 0;font-size:18px;position:relative}
.spectrum span{color:var(--ink-mute)}
.spectrum span.here{color:var(--accent);font-size:26px;letter-spacing:-.03em}
.spectrum span.here::before{content:'● ';font-size:14px;vertical-align:middle}

/* фото эпох */
.eras{display:grid;grid-template-columns:repeat(6,1fr);gap:1px;background:var(--line);border:1px solid var(--line);margin-top:6px}
.eras figure{background:var(--bg);margin:0;display:flex;flex-direction:column}
.eras img{width:100%;height:250px;object-fit:cover;display:block;filter:grayscale(1) contrast(1.05)}
.eras figcaption{padding:14px 14px 16px;display:flex;flex-direction:column;gap:6px;flex:1}
.eras small{font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-mute)}
.eras b{font-weight:400;font-size:17px;line-height:1.2;letter-spacing:-.02em}
.eras p{font-size:12.5px;line-height:1.45;color:var(--ink-soft);margin:0}
.eras .src{margin-top:auto;font-size:10.5px;color:var(--ink-mute)}
.cards.pract .card{min-height:250px}
.cards.pract .card.withimg{display:grid;grid-template-columns:150px 1fr;gap:16px;align-items:start}
.cards.pract .card.withimg img{width:150px;height:150px;object-fit:cover;filter:grayscale(1)}
.cards.pract .card b{font-size:21px}.cards.pract .card p{font-size:14.5px}

/* мозаика практик */
.pmosaic{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--line);border:1px solid var(--line);margin-top:6px}
.pmosaic>div{background:var(--bg);padding:20px 20px;min-height:200px;display:flex;flex-direction:column;gap:8px}
.pmosaic small{font-size:11px;letter-spacing:.14em;color:var(--accent)}
.pmosaic b{font-weight:400;font-size:22px;letter-spacing:-.02em;line-height:1.15}
.pmosaic p{font-size:15px;line-height:1.5;color:var(--ink-soft);margin:0}

/* пятницы */
.fridays{padding-top:10px}
.fr-row{display:grid;grid-template-columns:repeat(7,1fr);gap:6px;font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-mute);margin-bottom:8px}
.fr-row .fri{color:var(--accent)}
.fr-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:6px}
.fr-grid .d{border:1px solid var(--line);height:38px;display:flex;align-items:center;justify-content:center;font-size:13px;color:var(--ink-soft)}
.fr-grid .d.out{opacity:.25}
.fr-grid .d.fri{background:var(--accent);border-color:var(--accent);color:#fff}
.fr-grid .d.mark{border-color:var(--ink);color:var(--ink)}
.tree-box{height:600px;overflow:hidden}.tree-box svg{overflow:hidden}
.mx-head h3{font-size:25px}.pk{width:56px}.pk span{font-size:10.5px;padding:3px 0}
.matrix{gap:5px 18px}.matrix .o{padding:4px 7px;font-size:10.5px}
.lab-wrap svg{max-height:560px}

/* ═══ v3 · 23.09 ═══ */
.br svg{width:100%;height:100%;display:block}
.br .main-limb{stroke:var(--accent)}.br .branch-art{opacity:1}.br .leaf{fill:var(--accent);opacity:.55}.br .twig{stroke:var(--ink)}
.br .node-disc{fill:var(--bg);stroke:var(--accent);stroke-width:2}.br .node-dot{fill:var(--accent)}
.mosaic figure{padding:12px 12px 0}
.mosaic .br{height:150px;display:flex;align-items:center;justify-content:center}
.mosaic .br svg{height:100%;width:auto;max-width:100%}
.mosaic figcaption{border-top:0;font-size:13px;min-height:58px;padding:10px 0 12px}
.pk .br{width:100%;height:56px}.pk .br svg{height:100%;width:auto;margin:auto}
.pk{width:64px;padding:4px 0 0}
.legend.big{font-size:15px;margin-top:12px}.legend.big b{font-size:20px;letter-spacing:-.02em}
/* карточка группы v3 */
.gcard{grid-template-columns:420px minmax(0,1fr)}
.gbranch{position:relative;height:660px;display:flex;align-items:flex-end;justify-content:center}
.gbranch .br{height:100%;width:100%;display:flex;align-items:flex-end;justify-content:center}
.gbranch .br svg{height:100%;width:auto;max-width:100%}
.gbig{position:absolute;left:0;top:0;font-size:140px;line-height:1;letter-spacing:-.06em;color:var(--line);z-index:0}
.gbig::first-letter{color:var(--line)}
.gbranch .br{position:relative;z-index:1}
.gwho{display:flex;align-items:center;gap:14px;margin-top:14px;font-size:18px}
.gwho .ports img{width:64px;height:64px}
.gtitle{font-size:54px}
.gq{font-size:31px;margin-top:26px}
.gmeta div{font-size:18px}
/* таймер во весь слайд */
.timer-full{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;text-align:center;gap:10px}
.timer-full .timer{font-size:300px;letter-spacing:-.07em}
.timer-full h2{font-size:44px}
.timer-full .lead{font-size:20px}
.timer-top{display:flex;flex-direction:column;align-items:center;gap:8px}
/* фото */
.photo{margin:0;border:1px solid var(--ink);background:var(--bg-dim);display:flex;flex-direction:column;height:100%;max-height:640px}
.photo img{width:100%;height:100%;object-fit:cover;object-position:center;display:block;filter:grayscale(1) contrast(1.05);flex:1;min-height:0}
.photo figcaption{border-top:1px solid var(--ink);padding:10px 14px;font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-mute)}
.spectrum.sm{font-size:14px;padding:12px 0}.spectrum.sm span.here{font-size:20px}
/* мозаика практик с иконками */
.pmosaic>div{position:relative;padding-top:20px}
.pic{width:52px;height:52px;fill:none;stroke:var(--ink);stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round;margin-bottom:4px}
.pic .f{fill:var(--accent);stroke:none}.pic .t{fill:var(--accent);stroke:none}
.pmosaic b{font-size:20px}.pmosaic p{font-size:14px}.pmosaic>div{min-height:190px}
/* пятницы v3 */
.fr-grid .d.fri{color:var(--accent);border-color:var(--accent);font-weight:500}
.fr-grid .d.on{background:var(--accent);color:#fff}
.fr-grid .d.wk{border-radius:50%;border-color:var(--ink-mute);color:var(--ink-mute)}
.fr-key{display:flex;gap:22px;font-size:12px;color:var(--ink-mute);margin-top:22px}
.fr-key i{display:inline-block;width:16px;height:12px;border:1px solid var(--accent);vertical-align:middle;margin-right:6px}
.fr-key i.wk{border-radius:50%;border-color:var(--ink-mute)}.fr-key i.on{background:var(--accent)}
/* вход */
.nick{font-size:64px;letter-spacing:-.04em;line-height:1;margin:6px 0 14px;color:var(--accent)}
.qrs{display:flex;gap:28px;margin-top:22px}
.qrs figure{margin:0;display:flex;flex-direction:column;gap:8px;align-items:flex-start}
.qrs img{width:150px;height:150px;border:1px solid var(--line);image-rendering:pixelated}
.qrs figcaption{font-size:11px;color:var(--ink-mute);letter-spacing:.06em}
.fr-grid .d.fri{background:var(--bg)}.fr-grid .d.fri.on{background:var(--accent);color:#fff}
/* v4 */
.fr-grid .d{border-radius:0}
.fr-grid .d.wk{border-radius:0;background:var(--accent-soft);border-color:var(--accent-soft);color:var(--ink-soft)}
.fr-grid .d.fri{background:var(--ink);color:#fff;border-color:var(--ink);position:relative}
.fr-grid .d.fri::after{content:'';position:absolute;right:-7px;top:50%;width:0;height:0;border:5px solid transparent;border-left-color:var(--ink);transform:translateY(-50%)}
.fr-grid .d.fri.on{background:var(--accent);border-color:var(--accent)}.fr-grid .d.fri.on::after{border-left-color:var(--accent)}
.fr-key i{border-color:var(--ink);background:var(--ink)}.fr-key i.wk{border-radius:0;background:var(--accent-soft);border-color:var(--accent-soft)}.fr-key i.on{background:var(--accent);border-color:var(--accent)}
.cards.c5 .card{min-height:250px;padding:16px 16px}.cards.c5 .card b{font-size:18px}.cards.c5 .card p{font-size:13px}
.mx-head{align-items:start}
/* v5 */
.tl{width:100%;height:auto;display:block;margin:10px 0 6px}
.modern{display:grid;grid-template-columns:1.6fr 1fr 1fr;gap:1px;background:var(--line);border:1px solid var(--line);margin-top:6px}
.modern .card{background:var(--bg);min-height:240px;padding:20px}
.modern .card.withimg{grid-row:span 2;display:grid;grid-template-columns:220px 1fr;gap:18px;align-items:start}
.modern .card.withimg img{width:220px;height:220px;object-fit:cover;filter:grayscale(1)}
.modern .card b{font-size:20px}.modern .card p{font-size:14px}
.duo{display:grid;grid-template-columns:1fr 1fr;gap:16px;height:640px}
.duo .photo{max-height:640px}
.otimer{position:fixed;right:28px;top:28px;background:var(--ink);color:var(--bg);padding:10px 18px 12px;font-variant-numeric:tabular-nums;z-index:20;display:none;flex-direction:column;align-items:center;border:2px solid var(--ink)}
.otimer.on{display:flex}.otimer span{font-size:64px;line-height:1;letter-spacing:-.05em}.otimer small{font-size:10px;letter-spacing:.12em;text-transform:uppercase;opacity:.6;margin-top:4px}
.otimer.done{background:var(--accent);border-color:var(--accent)}
.toc{position:fixed;inset:0;background:var(--bg);z-index:30;display:none;grid-template-columns:420px 1fr;gap:40px;padding:40px}
.toc.on{display:grid}
.toc-list{overflow:auto;display:flex;flex-direction:column;gap:2px}
.toc-item{font:inherit;font-size:13px;text-align:left;border:0;background:none;color:var(--ink);padding:6px 8px;cursor:pointer;border-left:2px solid transparent}
.toc-item span{color:var(--ink-mute);margin-right:10px}.toc-item:hover,.toc-item.cur{border-left-color:var(--accent);color:var(--accent)}
.toc-tree{display:flex;flex-direction:column;align-items:center}.toc-tree svg{max-height:82vh;width:auto}
.toc-tree .bud{cursor:pointer}.toc-tree .branch-art{opacity:.75}
/* v6 */
.steps5{display:grid;grid-template-columns:repeat(5,1fr);gap:1px;background:var(--line);border:1px solid var(--line);margin-top:6px}
.steps5>div{background:var(--bg);padding:22px 20px;min-height:300px;display:flex;flex-direction:column;gap:10px}
.steps5 small{font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-mute)}
.steps5 b{font-weight:400;font-size:24px;letter-spacing:-.02em;line-height:1.15}
.steps5 p{font-size:15px;line-height:1.5;color:var(--ink-soft);margin:0}
.steps5>div.hot{background:var(--accent-soft)}.steps5>div.hot small{color:var(--accent)}
.srcrow{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin:4px 0 14px}
.srcrow figure{margin:0;border:1px solid var(--line)}
.srcrow img{width:100%;height:120px;object-fit:cover;display:block;filter:grayscale(1) contrast(1.05)}
.srcrow figcaption{font-size:11px;color:var(--ink-mute);padding:6px 10px;letter-spacing:.04em}
.pmosaic.small>div{min-height:132px;padding:12px 14px;gap:4px}.pmosaic.small .pic{width:30px;height:30px;margin-bottom:0}.pmosaic.small b{font-size:16px}.pmosaic.small p{font-size:12.5px}.pmosaic.small small{font-size:10px}
.duo .photo figcaption{display:none}
.shab{height:120px;max-height:120px;margin-bottom:12px;border-color:var(--line)}.shab img{filter:grayscale(1)}
.fr-grid .d{height:31px;font-size:12px}
.mosaic figcaption{font-size:12px}
.glinks{display:flex;flex-wrap:wrap;gap:10px 22px;margin-top:22px;font-size:15px}
.glinks a{border-bottom:1px solid var(--ink);padding-bottom:2px}.glinks a:hover{color:var(--accent);border-color:var(--accent)}
.glinks a span{color:var(--ink-mute);font-size:12px;margin-left:6px}
