/* Экран «Команда» (.p0-stage--team). Подключается после frontend-demo/styles/presentation0.css.
   Шесть панелей в одном кадре. Базовые стили — законченный бит «Границы»
   (его же показывает reduced motion), ранние биты — .p0-stage--team[data-beat="N"].
   Анимации привязаны к биту: скрытые панели не двигаются.
   Стекло линзы (.p0-team-glass) использует и «Доверие» — кольцо ключей согласий. */

.p0-team-weave {
  position: absolute;
  inset: 0;
  background:
    radial-gradient(circle at 26% 42%, #e6cd9a12, transparent 36%),
    repeating-radial-gradient(circle at 26% 42%, transparent 0 7vh, #b9c7c20a 7vh calc(7vh + 1px));
}
.p0-team-scene { position: absolute; inset: 0; }
/* Заголовок из 26 знаков при 5 --su чуть шире блока подписей: без переноса
   он остаётся ниже сцены и не наезжает на линзу. */
.p0-stage--team .p0-stage__copy h1 { font-size: max(22px, calc(4.6 * var(--su))); }

/* --- Панели битов ------------------------------------------------------------ */

.p0-team-panel {
  position: absolute;
  inset: 0;
  opacity: 0;
  visibility: hidden;
  translate: 0 calc(1.2 * var(--su));
  transition: opacity .5s var(--ease), translate .8s var(--ease-out), visibility 0s linear .5s;
}
.p0-team-panel[data-panel="5"],
.p0-stage--team[data-beat="0"] .p0-team-panel[data-panel="0"],
.p0-stage--team[data-beat="1"] .p0-team-panel[data-panel="1"],
.p0-stage--team[data-beat="2"] .p0-team-panel[data-panel="2"],
.p0-stage--team[data-beat="3"] .p0-team-panel[data-panel="3"],
.p0-stage--team[data-beat="4"] .p0-team-panel[data-panel="4"] {
  opacity: 1;
  visibility: visible;
  translate: none;
  transition-delay: .3s, .3s, 0s;
}
.p0-stage--team:not([data-beat="5"]) .p0-team-panel[data-panel="5"] {
  opacity: 0;
  visibility: hidden;
  translate: 0 calc(1.2 * var(--su));
  transition-delay: 0s, 0s, .5s;
}

@keyframes p0-team-rise { from { opacity: 0; translate: 0 calc(1.2 * var(--su)); } }
@keyframes p0-team-fade { from { opacity: 0; } }
@keyframes p0-team-gone { from { opacity: 1; } to { opacity: 0; } }
@keyframes p0-team-grow { from { transform: scaleX(0); } }
@keyframes p0-team-press {
  45% { scale: .94; box-shadow: 0 0 0 calc(.8 * var(--su)) #e6cd9a33; }
}

/* --- Общие элементы ------------------------------------------------------------ */

.p0-team-eyebrow {
  position: absolute;
  left: calc(3 * var(--su));
  top: calc(4.3 * var(--su));
  margin: 0;
  display: flex;
  align-items: center;
  gap: calc(.8 * var(--su));
  font: 500 calc(.85 * var(--su))/1.2 var(--mono);
  letter-spacing: .14em;
  text-transform: uppercase;
  color: #cdb88c;
}
.p0-team-eyebrow .p0-stage-badge { letter-spacing: .06em; }
.p0-team-kind {
  margin: 0;
  display: flex;
  align-items: center;
  gap: .5em;
  font: 500 calc(.8 * var(--su))/1.2 var(--mono);
  letter-spacing: .12em;
  text-transform: uppercase;
  color: #dcc699;
}
.p0-team-kind .entity-icon { font-size: calc(1.3 * var(--su)); }
.p0-team-kind .ui-icon { width: 1.2em; height: 1.2em; }
.p0-team-avatar {
  display: grid;
  place-items: center;
  flex: none;
  width: calc(2.6 * var(--su));
  height: calc(2.6 * var(--su));
  border-radius: 50%;
  border: 1px solid rgba(var(--entity-rgb), .7);
  background: rgba(var(--entity-rgb), .18);
  font: 600 calc(.9 * var(--su)) var(--mono);
  color: #e9f5f1;
}
.p0-team-mock-btn {
  display: inline-flex;
  align-items: center;
  gap: .45em;
  align-self: flex-start;
  padding: .45em 1em;
  border-radius: 999px;
  border: 1px solid #e6cd9a55;
  background: #e6cd9a14;
  font-size: calc(1.05 * var(--su));
  color: #efe6d2;
  white-space: nowrap;
}
.p0-team-mock-btn .ui-icon { width: 1.15em; height: 1.15em; }
.p0-team-mock-btn .entity-icon { font-size: 1.15em; }
.p0-team-mock-btn--primary { border-color: #e6cd9a; background: #e6cd9a; color: #1c2a29; font-weight: 600; }
.p0-team-pill {
  align-self: flex-start;
  padding: .2em .8em;
  border-radius: 999px;
  border: 1px solid #f0c06e88;
  background: #f0c06e18;
  font: 500 calc(.85 * var(--su)) var(--mono);
  color: #f7dcaa;
}
.p0-team-phrase {
  position: absolute;
  margin: 0;
  font-size: calc(1.45 * var(--su));
  font-style: italic;
  line-height: 1.3;
  color: #e6d6b3;
}

/* --- Бит 0 «Поручение» ------------------------------------------------------------ */

.p0-team-delegation {
  position: absolute;
  left: calc(4 * var(--su));
  top: calc(7 * var(--su));
  width: calc(46 * var(--su));
  box-sizing: border-box;
  display: grid;
  gap: calc(1 * var(--su));
  padding: calc(1.4 * var(--su)) calc(1.8 * var(--su)) calc(1.6 * var(--su));
  border: 1px solid rgba(var(--entity-rgb), .5);
  border-radius: calc(1.3 * var(--su));
  background: linear-gradient(135deg, rgba(var(--entity-rgb), .16), #121a19f2 45%, #0d1413f5);
  box-shadow: inset 0 1px #f3e6c924, 0 0 calc(4 * var(--su)) rgba(var(--entity-rgb), .12);
}
.p0-team-delegation__title { margin: 0; font-size: calc(2.2 * var(--su)); font-weight: 600; line-height: 1.15; color: #f7f2e8; }
.p0-team-delegation__people { display: flex; align-items: center; gap: calc(1.2 * var(--su)); }
.p0-team-person { display: flex; align-items: center; gap: calc(.7 * var(--su)); }
.p0-team-person > span:last-child { display: grid; }
.p0-team-person b { font-size: calc(1.2 * var(--su)); font-weight: 560; color: #f2eee6; }
.p0-team-person small { font-size: calc(.85 * var(--su)); color: #9fb0ab; }
.p0-team-delegation__arrow { display: grid; color: #e6cd9a; }
.p0-team-delegation__arrow .ui-icon { width: calc(1.7 * var(--su)); height: calc(1.7 * var(--su)); }
.p0-team-delegation__meta { margin: 0; display: flex; gap: calc(.6 * var(--su)); }
.p0-team-delegation__meta span {
  padding: .25em .8em;
  border-radius: 999px;
  border: 1px solid #e6cd9a44;
  background: #e6cd9a12;
  font-size: calc(.95 * var(--su));
  color: #efe3c6;
}
.p0-team-steps { position: relative; margin-top: calc(.6 * var(--su)); }
.p0-team-steps ol {
  position: relative;
  margin: 0;
  padding: 0;
  list-style: none;
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  gap: calc(.4 * var(--su));
}
.p0-team-steps__line { position: absolute; left: 10%; right: 10%; top: calc(.5 * var(--su)); height: 2px; background: #ffffff1a; }
.p0-team-steps__fill { position: absolute; inset: 0; background: linear-gradient(90deg, #e6cd9a, #f0926e 50%, #7ee1c8); transform-origin: left; }
.p0-team-step { --tone: var(--gold-rgb); display: grid; justify-items: center; align-content: start; gap: calc(.3 * var(--su)); text-align: center; }
.p0-team-step[data-tone="blocked"] { --tone: 240, 146, 110; }
.p0-team-step[data-tone="confirmed"] { --tone: var(--mint-rgb); }
.p0-team-step__dot {
  width: calc(1.1 * var(--su));
  height: calc(1.1 * var(--su));
  border-radius: 50%;
  background: rgb(var(--tone));
  box-shadow: 0 0 calc(1 * var(--su)) rgba(var(--tone), .8);
}
.p0-team-step b { font-size: calc(.9 * var(--su)); font-weight: 560; line-height: 1.15; color: #f2eee6; }
.p0-team-step small { font-size: calc(.75 * var(--su)); color: #97a4a0; }
.p0-stage--team[data-beat="0"] .p0-team-step { animation: p0-team-step-on .6s var(--ease-out) calc(.8s + var(--k) * 1.7s) both; }
@keyframes p0-team-step-on { from { opacity: .22; } }
.p0-stage--team[data-beat="0"] .p0-team-steps__fill { animation: p0-team-grow 6.8s linear .8s both; }

.p0-team-lists {
  position: absolute;
  left: calc(54 * var(--su));
  top: calc(7 * var(--su));
  width: calc(42 * var(--su));
  display: grid;
  gap: calc(.9 * var(--su));
}
.p0-team-list {
  position: relative;
  display: grid;
  gap: calc(.35 * var(--su));
  padding: calc(.9 * var(--su)) calc(1.2 * var(--su));
  border: 1px solid rgba(var(--entity-rgb), .35);
  border-radius: calc(1 * var(--su));
  background: linear-gradient(110deg, rgba(var(--entity-rgb), .12), #0f1716eb 60%);
}
.p0-team-list__owner { margin: 0; font: 500 calc(.78 * var(--su)) var(--mono); letter-spacing: .12em; text-transform: uppercase; color: #b9c6c2; }
.p0-team-list__item { margin: 0; display: flex; align-items: center; gap: .5em; font-size: calc(1.2 * var(--su)); color: #f2eee6; }
.p0-team-list__item .entity-icon { font-size: calc(1.4 * var(--su)); }
.p0-team-list__count {
  position: absolute;
  right: calc(1.2 * var(--su));
  top: calc(.7 * var(--su));
  padding: .15em .7em;
  border-radius: 999px;
  background: rgba(var(--entity-rgb), .2);
  font: 600 calc(.85 * var(--su)) var(--mono);
  color: rgb(var(--entity-rgb));
}
.p0-team-lists__caption { margin: 0; padding-left: calc(1.2 * var(--su)); border-left: 2px solid #e6cd9a; font-size: calc(1.3 * var(--su)); color: #e9e3d4; }
.p0-team-refusal {
  position: absolute;
  left: calc(54 * var(--su));
  top: calc(24 * var(--su));
  width: calc(42 * var(--su));
  box-sizing: border-box;
  display: flex;
  gap: calc(1 * var(--su));
  padding: calc(1 * var(--su)) calc(1.2 * var(--su));
  border: 1px dashed #f0926e77;
  border-radius: calc(1 * var(--su));
  background: #1a1210cc;
}
.p0-team-refusal > .ui-icon { flex: none; width: calc(1.8 * var(--su)); height: calc(1.8 * var(--su)); color: #f0a27e; }
.p0-team-refusal div { display: grid; gap: calc(.25 * var(--su)); }
.p0-team-refusal small { font-size: calc(.85 * var(--su)); color: #a9b3b0; }
.p0-team-refusal b { font-size: calc(1.15 * var(--su)); font-weight: 540; color: #f6d9c9; }
.p0-stage--team[data-beat="0"] .p0-team-list { animation: p0-team-rise .7s var(--ease-out) calc(2.6s + var(--i) * .35s) both; }
.p0-stage--team[data-beat="0"] .p0-team-lists__caption { animation: p0-team-fade .7s 3.6s both; }
.p0-stage--team[data-beat="0"] .p0-team-refusal { animation: p0-team-rise .7s var(--ease-out) 5.8s both; }

/* --- Бит 1 «Файл ≠ приёмка» --------------------------------------------------------- */

.p0-team-flow__link { stroke: #e6cd9a88; stroke-width: .14; stroke-dasharray: .5 .4; }
.p0-team-flow__head { stroke: #e6cd9a; stroke-width: .14; }
.p0-team-flow__node {
  position: absolute;
  top: calc(10 * var(--su));
  width: calc(20 * var(--su));
  min-height: calc(15 * var(--su));
  box-sizing: border-box;
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: calc(.7 * var(--su));
  padding: calc(1.2 * var(--su)) calc(1.4 * var(--su));
  border: 1px solid rgba(var(--entity-rgb, var(--gold-rgb)), .45);
  border-radius: calc(1.2 * var(--su));
  background: linear-gradient(145deg, rgba(var(--entity-rgb, var(--gold-rgb)), .14), #111918f2 55%);
}
.p0-team-flow__node b { font-size: calc(1.35 * var(--su)); font-weight: 580; line-height: 1.2; color: #f7f2e8; }
.p0-team-flow__node small { font-size: calc(.9 * var(--su)); line-height: 1.3; color: #a9b5b1; }
.p0-team-flow__node--file { left: calc(4 * var(--su)); }
.p0-team-flow__node--state { left: calc(28 * var(--su)); }
.p0-team-flow__node--confirm { left: calc(52 * var(--su)); align-items: center; text-align: center; border-style: dashed; }
.p0-team-flow__node--confirm .p0-team-mock-btn { align-self: center; }
.p0-team-flow__node--task { left: calc(76 * var(--su)); border-color: #7ee1c8aa; box-shadow: 0 0 calc(3 * var(--su)) #7ee1c822; }
.p0-team-dep { display: grid; }
.p0-team-dep > span { grid-area: 1 / 1; display: inline-flex; align-items: center; gap: .4em; font-size: calc(1 * var(--su)); }
.p0-team-dep .ui-icon { width: 1.1em; height: 1.1em; }
.p0-team-dep__locked { color: #f0a27e; opacity: 0; }
.p0-team-dep__open { color: #8fe0b5; }
.p0-team-phrase--flow { left: calc(4 * var(--su)); top: calc(28.5 * var(--su)); }
.p0-stage--team[data-beat="1"] .p0-team-flow__node { animation: p0-team-rise .7s var(--ease-out) calc(.4s + var(--i) * 1s) both; }
.p0-stage--team[data-beat="1"] :is(.p0-team-flow__link, .p0-team-flow__head) { animation: p0-team-fade .5s calc(.9s + var(--i) * 1s) both; }
.p0-stage--team[data-beat="1"] .p0-team-flow__node--confirm .p0-team-mock-btn { animation: p0-team-press .8s ease-in-out 3.5s both; }
.p0-stage--team[data-beat="1"] .p0-team-flow__node--task { animation: p0-team-rise .7s var(--ease-out) 3.4s both, p0-team-unlock 1.2s ease-out 4.4s both; }
@keyframes p0-team-unlock { from { border-color: #f0926e88; box-shadow: none; } }
.p0-stage--team[data-beat="1"] .p0-team-dep__locked { animation: p0-team-gone .4s 4.4s both; }
.p0-stage--team[data-beat="1"] .p0-team-dep__open { animation: p0-team-fade .5s 4.6s both; }
.p0-stage--team[data-beat="1"] .p0-team-phrase--flow { animation: p0-team-fade .8s 5.2s both; }

/* --- Бит 2 «Доступность» ------------------------------------------------------------ */

.p0-team-avail {
  position: absolute;
  left: calc(4 * var(--su));
  top: calc(7 * var(--su));
  width: calc(58 * var(--su));
  box-sizing: border-box;
  padding: calc(1.3 * var(--su)) calc(1.6 * var(--su)) calc(1.6 * var(--su));
  border: 1px solid #e6cd9a3d;
  border-radius: calc(1.3 * var(--su));
  background: linear-gradient(135deg, #1d2928f0, #0f1716f5 60%);
}
.p0-team-avail__head { margin: 0 0 calc(1.6 * var(--su)); display: grid; gap: calc(.3 * var(--su)); }
.p0-team-avail__head b { font-size: calc(1.6 * var(--su)); font-weight: 600; color: #f7f2e8; }
.p0-team-avail__head small { font-size: calc(.95 * var(--su)); color: #a9b5b1; }
.p0-team-avail__scale { position: relative; margin-left: calc(17.6 * var(--su)); height: calc(1.4 * var(--su)); }
.p0-team-avail__scale span { position: absolute; translate: -50% 0; font: 500 calc(.75 * var(--su)) var(--mono); color: #7f8c88; }
.p0-team-avail__rows { margin: 0; padding: 0; list-style: none; display: grid; gap: calc(1.1 * var(--su)); }
.p0-team-avail__row { display: grid; grid-template-columns: auto calc(13.4 * var(--su)) 1fr; align-items: center; gap: calc(.8 * var(--su)); }
.p0-team-avail__row[data-known="false"] .p0-team-avatar { opacity: .6; }
.p0-team-avail__who { display: grid; }
.p0-team-avail__who b { font-size: calc(1.1 * var(--su)); font-weight: 560; color: #f2eee6; }
.p0-team-avail__who small { font-size: calc(.8 * var(--su)); color: #9fb0ab; }
.p0-team-avail__track {
  position: relative;
  height: calc(2.4 * var(--su));
  border-radius: calc(.5 * var(--su));
  border: 1px solid #ffffff14;
  background: repeating-linear-gradient(90deg, #ffffff08 0 calc(20% - 1px), #ffffff1c calc(20% - 1px) 20%);
}
.p0-team-avail__busy {
  position: absolute;
  top: 2px;
  bottom: 2px;
  display: grid;
  place-items: center;
  overflow: hidden;
  border-radius: calc(.4 * var(--su));
  border: 1px solid rgba(var(--gold-rgb), .6);
  background: repeating-linear-gradient(135deg, rgba(var(--gold-rgb), .36) 0 4px, rgba(var(--gold-rgb), .18) 4px 8px);
  font: 500 calc(.75 * var(--su)) var(--mono);
  color: #f5e6c4;
  transform-origin: left;
}
.p0-team-avail__unknown {
  position: absolute;
  inset: 2px;
  display: flex;
  align-items: center;
  padding-left: calc(1 * var(--su));
  border-radius: calc(.4 * var(--su));
  border: 1px dashed #9aa6a366;
  background: repeating-linear-gradient(45deg, #ffffff06 0 6px, transparent 6px 12px);
  font-size: calc(.95 * var(--su));
  color: #b8c2bf;
}
.p0-team-avail__guess {
  position: absolute;
  right: calc(8.4 * var(--su));
  top: 50%;
  translate: 0 -50%;
  font-size: calc(.95 * var(--su));
  color: #8fe0b5;
  text-decoration: line-through 2px #f0a27e;
  opacity: .5;
}
.p0-team-avail__tag {
  position: absolute;
  right: calc(.6 * var(--su));
  top: 50%;
  translate: 0 -50%;
  padding: .15em .7em;
  border-radius: 999px;
  border: 1px solid #b9c7c266;
  background: #1a2322;
  font: 600 calc(.8 * var(--su)) var(--mono);
  color: #dfe7e4;
}
.p0-team-avail-note {
  position: absolute;
  left: calc(66 * var(--su));
  top: calc(9 * var(--su));
  width: calc(30 * var(--su));
  display: grid;
  gap: calc(.8 * var(--su));
  padding-left: calc(1.4 * var(--su));
  border-left: 2px solid #e6cd9a;
}
.p0-team-avail-note .ui-icon { width: calc(2 * var(--su)); height: calc(2 * var(--su)); color: #e6cd9a; }
.p0-team-avail-note p { margin: 0; font-size: calc(1.9 * var(--su)); font-weight: 560; line-height: 1.2; color: #f7f2e8; }
.p0-team-avail-note small { font-size: calc(1.1 * var(--su)); line-height: 1.3; color: #a9b5b1; }
.p0-stage--team[data-beat="2"] .p0-team-avail__busy { animation: p0-team-grow .6s var(--ease-out) calc(.6s + var(--j) * .18s) both; }
.p0-stage--team[data-beat="2"] .p0-team-avail__unknown { animation: p0-team-fade .6s 1.4s both; }
.p0-stage--team[data-beat="2"] .p0-team-avail__guess { animation: p0-team-guess 2s ease-out 1.8s both; }
@keyframes p0-team-guess {
  0% { opacity: 0; text-decoration-color: transparent; }
  30% { opacity: 1; text-decoration-color: transparent; }
  60% { opacity: 1; text-decoration-color: #f0a27e; }
}
.p0-stage--team[data-beat="2"] .p0-team-avail__tag { animation: p0-team-fade .6s 3.4s both; }
.p0-stage--team[data-beat="2"] .p0-team-avail-note { animation: p0-team-rise .8s var(--ease-out) 3.8s both; }

/* --- Бит 3 «Выдержка» ------------------------------------------------------------------ */

.p0-team-idea,
.p0-team-excerpt {
  position: absolute;
  box-sizing: border-box;
  display: grid;
  gap: calc(1 * var(--su));
  padding: calc(1.4 * var(--su)) calc(1.6 * var(--su));
  border: 1px solid rgba(var(--entity-rgb), .45);
  border-radius: calc(1.3 * var(--su));
  background: linear-gradient(140deg, rgba(var(--entity-rgb), .14), #111918f2 55%);
}
.p0-team-idea { left: calc(4 * var(--su)); top: calc(8 * var(--su)); width: calc(32 * var(--su)); }
.p0-team-excerpt { left: calc(58 * var(--su)); top: calc(10 * var(--su)); width: calc(36 * var(--su)); box-shadow: 0 0 calc(4 * var(--su)) rgba(var(--entity-rgb), .18); }
.p0-team-idea__text { margin: 0; font-size: calc(1.7 * var(--su)); font-weight: 560; line-height: 1.25; color: #f7f2e8; }
.p0-team-idea__keeps { margin: 0; padding: 0; list-style: none; display: flex; flex-wrap: wrap; gap: calc(.5 * var(--su)); }
.p0-team-idea__keeps li {
  display: inline-flex;
  align-items: center;
  gap: .35em;
  padding: .2em .7em;
  border-radius: 999px;
  border: 1px solid #ffffff1f;
  font-size: calc(.85 * var(--su));
  color: #b8c2bf;
}
.p0-team-idea__keeps .ui-icon { width: 1em; height: 1em; }
.p0-team-gate {
  position: absolute;
  left: calc(37.5 * var(--su));
  top: calc(13 * var(--su));
  width: calc(19 * var(--su));
  display: grid;
  justify-items: center;
  gap: calc(.7 * var(--su));
  text-align: center;
}
.p0-team-gate__beam { width: 100%; height: calc(3.8 * var(--su)); stroke: #e6cd9a; stroke-width: .25; }
.p0-team-gate__packet { padding: .3em .9em; border-radius: 999px; background: #e6cd9a; color: #1c2a29; font-size: calc(.95 * var(--su)); font-weight: 600; }
.p0-team-gate small { font-size: calc(.85 * var(--su)); line-height: 1.3; color: #a9b5b1; }
.p0-team-excerpt__not { margin: 0; display: flex; flex-wrap: wrap; align-items: center; gap: calc(.3 * var(--su)) calc(.7 * var(--su)); font-size: calc(.85 * var(--su)); color: #8e9a97; }
.p0-team-excerpt__not s { text-decoration-color: #f0a27e99; }
.p0-team-phrase--excerpt { left: calc(4 * var(--su)); top: calc(31 * var(--su)); }
.p0-stage--team[data-beat="3"] .p0-team-idea .p0-team-mock-btn { animation: p0-team-press .8s ease-in-out 1.4s both; }
.p0-stage--team[data-beat="3"] .p0-team-gate__beam { animation: p0-team-fade .6s 1.8s both; }
.p0-stage--team[data-beat="3"] .p0-team-gate__packet { animation: p0-team-travel 1.6s var(--ease-out) 2s both; }
@keyframes p0-team-travel {
  from { opacity: 0; translate: calc(-12 * var(--su)) 0; }
  30% { opacity: 1; }
}
.p0-stage--team[data-beat="3"] .p0-team-gate small { animation: p0-team-fade .6s 2.4s both; }
.p0-stage--team[data-beat="3"] .p0-team-excerpt { animation: p0-team-rise .8s var(--ease-out) 3.4s both; }
.p0-stage--team[data-beat="3"] .p0-team-phrase--excerpt { animation: p0-team-fade .8s 4.6s both; }

/* --- Бит 4 «Решения и блокеры» (концепт) ---------------------------------------------- */

.p0-team-roles {
  position: absolute;
  left: calc(4 * var(--su));
  top: calc(7 * var(--su));
  width: calc(92 * var(--su));
  margin: 0;
  padding: 0;
  list-style: none;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: calc(2 * var(--su));
}
.p0-team-role {
  display: grid;
  grid-template-columns: auto 1fr;
  column-gap: calc(.8 * var(--su));
  align-items: baseline;
  padding: calc(.7 * var(--su)) calc(1.2 * var(--su));
  border: 1px solid #b7a2f544;
  border-radius: calc(.9 * var(--su));
  background: linear-gradient(110deg, #b7a2f51a, #0f1716eb 60%);
}
.p0-team-role b { font-size: calc(1.15 * var(--su)); color: #e3d9ff; }
.p0-team-role span { font-size: calc(1 * var(--su)); color: #f2eee6; }
.p0-team-role small { grid-column: 1 / -1; font-size: calc(.85 * var(--su)); color: #9fa9a6; }
.p0-team-board {
  position: absolute;
  left: calc(4 * var(--su));
  top: calc(13.8 * var(--su));
  width: calc(92 * var(--su));
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: calc(2 * var(--su));
}
.p0-team-col {
  display: grid;
  align-content: start;
  gap: calc(.8 * var(--su));
  min-height: calc(19 * var(--su));
  padding: calc(1 * var(--su));
  border: 1px solid #ffffff14;
  border-radius: calc(1.1 * var(--su));
  background: #ffffff06;
}
.p0-team-col__title { margin: 0 0 calc(.2 * var(--su)); font: 500 calc(.8 * var(--su)) var(--mono); letter-spacing: .12em; text-transform: uppercase; color: #cdb88c; }
.p0-team-col[data-col="0"] .p0-team-col__title { color: #f0a27e; }
.p0-team-card {
  display: flex;
  gap: calc(.7 * var(--su));
  padding: calc(.8 * var(--su)) calc(1 * var(--su));
  border: 1px solid rgba(var(--entity-rgb), .4);
  border-radius: calc(.8 * var(--su));
  background: linear-gradient(110deg, rgba(var(--entity-rgb), .14), #0f1716f0 60%);
}
.p0-team-card .entity-icon { flex: none; font-size: calc(1.4 * var(--su)); }
.p0-team-card > span { display: grid; gap: calc(.2 * var(--su)); }
.p0-team-card b { font-size: calc(1.1 * var(--su)); font-weight: 560; line-height: 1.2; color: #f2eee6; }
.p0-team-card small { font-size: calc(.85 * var(--su)); line-height: 1.25; color: #a3afab; }
.p0-team-col[data-col="0"] .p0-team-card { border-color: #f0926e88; }
.p0-stage--team[data-beat="4"] .p0-team-role { animation: p0-team-rise .6s var(--ease-out) calc(.3s + var(--i) * .2s) both; }
.p0-stage--team[data-beat="4"] .p0-team-card { animation: p0-team-rise .6s var(--ease-out) calc(1.2s + var(--i) * .35s) both; }
.p0-stage--team[data-beat="4"] .p0-team-col[data-col="0"] .p0-team-card:first-of-type {
  animation: p0-team-rise .6s var(--ease-out) 1.2s both, p0-team-alarm 2s ease-in-out 3.6s 2;
}
@keyframes p0-team-alarm { 50% { box-shadow: 0 0 calc(2 * var(--su)) #f0926e77; } }

/* --- Бит 5 «Границы»: линза приватности ------------------------------------------------- */

.p0-team-glass {
  position: absolute;
  border-radius: 50%;
  background:
    radial-gradient(circle at 35% 30%, #f3e6c914, transparent 45%),
    radial-gradient(circle, #0b1211aa 55%, #e6cd9a18 100%);
  box-shadow: inset 0 0 calc(3 * var(--su)) #e6cd9a22, 0 0 calc(4 * var(--su)) #e6cd9a1a;
}
.p0-team-glass__rim { position: absolute; inset: 0; width: 100%; height: 100%; overflow: visible; }
.p0-team-glass__edge { fill: none; stroke: #e6cd9aaa; stroke-width: .6; }
.p0-team-glass__inner { fill: none; stroke: #e6cd9a33; stroke-width: .3; }
.p0-team-glass__ticks line { stroke: #e6cd9a66; stroke-width: .35; }
.p0-team-glass__glint {
  position: absolute;
  left: 14%;
  top: 10%;
  width: 36%;
  height: 22%;
  border-radius: 50%;
  background: radial-gradient(ellipse, #fff5de22, transparent 70%);
  rotate: -28deg;
}
.p0-team-glass__label {
  position: absolute;
  left: 50%;
  top: 0;
  translate: -50% -50%;
  display: grid;
  justify-items: center;
  padding: .35em 1.1em;
  border: 1px solid #e6cd9a88;
  border-radius: 999px;
  background: #101817f2;
  white-space: nowrap;
}
.p0-team-glass__label b { font: 600 calc(.8 * var(--su)) var(--mono); letter-spacing: .12em; text-transform: uppercase; color: #f1d9a3; }
.p0-team-glass__label small { font-size: calc(.85 * var(--su)); color: #c9d0cd; }

.p0-team-lens { position: absolute; inset: 0; }
.p0-team-lens__orbits { position: absolute; inset: 0; width: 100%; height: 100%; overflow: visible; }
.p0-team-lens__orbit { fill: none; stroke: #e6cd9a40; stroke-width: .08; stroke-dasharray: .4 .6; }
.p0-team-lens__orbit--private { stroke: #b7a2f540; stroke-dasharray: .2 .8; }
.p0-team-lens__edge { stroke: #e6cd9a55; stroke-width: .08; }
.p0-team-lens__private { fill: #b7a2f5; opacity: 0; }
.p0-team-lens__glass { z-index: 1; left: var(--lens-x); top: var(--lens-y); width: var(--lens-d); height: var(--lens-d); }
.p0-team-lens__core {
  position: absolute;
  z-index: 2;
  translate: -50% -50%;
  display: grid;
  place-items: center;
  width: calc(3.4 * var(--su));
  height: calc(3.4 * var(--su));
  border-radius: 50%;
  background: radial-gradient(circle at 35% 30%, #fff1cf, #e6cd9a 45%, #8a6d34);
  box-shadow: 0 0 calc(2 * var(--su)) #e6cd9a88;
  font: 700 calc(1 * var(--su)) var(--mono);
  color: #1c2a29;
}
.p0-team-lens__work { margin: 0; padding: 0; list-style: none; }
.p0-team-lens__node {
  position: absolute;
  z-index: 2;
  translate: -50% -50%;
  display: flex;
  align-items: center;
  gap: .4em;
  padding: .3em .8em;
  border: 1px solid rgba(var(--entity-rgb), .6);
  border-radius: 999px;
  background: linear-gradient(110deg, rgba(var(--entity-rgb), .2), #0f1716f2 70%);
  box-shadow: 0 0 calc(1.2 * var(--su)) rgba(var(--entity-rgb), .25);
  font-size: calc(.95 * var(--su));
  color: #f2eee6;
  white-space: nowrap;
}
.p0-team-lens__node .entity-icon { font-size: 1.2em; }
.p0-team-lens__caption { position: absolute; z-index: 2; margin: 0; font: 500 calc(.75 * var(--su)) var(--mono); letter-spacing: .12em; text-transform: uppercase; white-space: nowrap; }
.p0-team-lens__caption--work { translate: -50% 0; color: #e6cd9a; }
.p0-team-lens__caption--private { color: #b7a2f5aa; }
.p0-stage--team[data-beat="5"] .p0-team-lens__glass { animation: p0-team-lens-in 1.8s var(--ease-out) .2s both; }
@keyframes p0-team-lens-in {
  from { opacity: 0; translate: calc(40 * var(--su)) calc(-2 * var(--su)); }
  20% { opacity: 1; }
}
.p0-stage--team[data-beat="5"] .p0-team-lens__private { animation: p0-team-private 1.4s ease-in calc(.3s + var(--k) * .06s) both; }
@keyframes p0-team-private { 0%, 35% { opacity: .85; } 100% { opacity: 0; } }
.p0-stage--team[data-beat="5"] .p0-team-lens__caption--private { animation: p0-team-fade .8s 1.9s both; }
.p0-stage--team[data-beat="5"] .p0-team-lens__node { animation: p0-team-node 1s var(--ease-out) calc(1.6s + var(--i) * .12s) both; }
@keyframes p0-team-node { 50% { box-shadow: 0 0 calc(2.4 * var(--su)) rgba(var(--entity-rgb), .75); } }

.p0-team-bounds {
  position: absolute;
  left: calc(52 * var(--su));
  top: calc(6.5 * var(--su));
  width: calc(44 * var(--su));
  display: grid;
  gap: calc(1.2 * var(--su));
}
.p0-team-bounds__block { display: grid; gap: calc(.6 * var(--su)); }
.p0-team-bounds__title { margin: 0; font: 500 calc(.85 * var(--su)) var(--mono); letter-spacing: .14em; text-transform: uppercase; color: #cdb88c; }
.p0-team-bounds__block ul { margin: 0; padding: 0; list-style: none; display: flex; flex-wrap: wrap; gap: calc(.5 * var(--su)); }
.p0-team-bounds__block li { display: inline-flex; align-items: center; gap: .4em; padding: .3em .9em; border-radius: 999px; font-size: calc(1.1 * var(--su)); }
.p0-team-bounds__block .ui-icon { width: 1em; height: 1em; }
.p0-team-bounds__block--sees li { border: 1px solid #7ee1c866; background: #7ee1c814; color: #d6f3ea; }
.p0-team-bounds__block--absent li { border: 1px solid #ffffff1f; color: #a3afab; }
.p0-team-bounds__block--absent .ui-icon { color: #f0a27e; }
.p0-team-bounds__link {
  display: grid;
  gap: calc(.4 * var(--su));
  padding: calc(1.1 * var(--su)) calc(1.4 * var(--su));
  border: 1px solid #e6cd9a3d;
  border-radius: calc(1 * var(--su));
  background: linear-gradient(135deg, #1d2928f0, #0f1716f5 60%);
}
.p0-team-bounds__link small { font-size: calc(.85 * var(--su)); color: #a3afab; }
.p0-team-bounds__link code { font: 500 calc(.9 * var(--su)) var(--mono); color: #cdb88c; }
.p0-team-bounds__link b { display: flex; align-items: center; gap: .5em; font-size: calc(1.5 * var(--su)); font-weight: 600; color: #f7f2e8; }
.p0-team-bounds__link b .ui-icon { width: 1.1em; height: 1.1em; color: #f0a27e; }
.p0-team-phrase--bounds { position: static; font-size: calc(1.3 * var(--su)); }
.p0-stage--team[data-beat="5"] :is(.p0-team-bounds__block, .p0-team-bounds__link) { animation: p0-team-rise .7s var(--ease-out) calc(2.2s + var(--i) * .7s) both; }
.p0-stage--team[data-beat="5"] .p0-team-phrase--bounds { animation: p0-team-fade .8s 4.8s both; }
