/* Экран «Разбор встречи» (.p0-stage--meeting). Подключается после frontend-demo/styles/presentation0.css.
   Приём «Разбор источника» (луч, замок, чипы) описан в styles/presentation0/channels.css. */

.p0-stage--meeting [data-stream="tasks"] { --stream-rgb: var(--mint-rgb); }
.p0-stage--meeting [data-stream="decisions"] { --stream-rgb: var(--gold-rgb); }
.p0-stage--meeting [data-stream="promises"] { --stream-rgb: var(--lav-rgb); }
.p0-stage--meeting [data-stream="questions"] { --stream-rgb: var(--amber-rgb); }

.p0-meeting-backdrop__lines {
  position: absolute;
  inset: 0;
  background: repeating-linear-gradient(180deg, transparent 0 3.4vh, #e6cd9a08 3.4vh calc(3.4vh + 1px));
  mask-image: linear-gradient(90deg, #000, transparent 45%);
}

/* --- Транскрипт ------------------------------------------------------------------ */

.p0-meeting-transcript {
  position: absolute;
  z-index: 4;
  overflow: hidden;
  border: 1px solid #e6cd9a38;
  border-radius: calc(1.1 * var(--su));
  background: linear-gradient(160deg, #1b2726f2, #0d1414f7);
  box-shadow: inset 0 1px #f3e6c914, 0 calc(1 * var(--su)) calc(3 * var(--su)) #04070780;
}
.p0-meeting-transcript__head {
  position: relative;
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  column-gap: calc(.6 * var(--su));
  align-items: center;
  padding: calc(.9 * var(--su)) calc(3 * var(--su)) calc(.7 * var(--su)) calc(1.1 * var(--su));
  border-bottom: 1px solid #e6cd9a1f;
}
.p0-meeting-transcript__icon {
  grid-row: span 2;
  display: grid;
  place-items: center;
  width: calc(2.2 * var(--su));
  height: calc(2.2 * var(--su));
  border-radius: calc(.6 * var(--su));
  background: #e6cd9a1a;
  color: #e6cd9a;
}
.p0-meeting-transcript__icon .ui-icon { width: 60%; height: 60%; }
.p0-meeting-transcript__head b { font-size: calc(1.05 * var(--su)); font-weight: 600; color: #f6f2ea; }
.p0-meeting-transcript__head small { font: 500 calc(.64 * var(--su)) var(--mono); letter-spacing: .06em; color: #b9a57c; }
.p0-meeting-transcript .p0-channels-parse__lock { top: calc(1.1 * var(--su)); right: calc(.9 * var(--su)); translate: none; --parse-step-at: 6.8s; }
.p0-meeting-transcript .p0-channels-parse__beam {
  --parse-sweep-from: translateY(-50%);
  --parse-sweep-to: translateY(50%);
  --parse-sweep-at: .3s;
  --parse-sweep-dur: 6.6s;
  background: linear-gradient(180deg, transparent 46%, #e6cd9a00 47.5%, #f5e6c48c 50%, #e6cd9a00 52.5%, transparent 54%);
  transform: translateY(50%);
}
.p0-meeting-lines { position: absolute; left: calc(1.1 * var(--su)); right: calc(1.1 * var(--su)); margin: 0; padding: 0; list-style: none; }
.p0-meeting-line {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  align-content: start;
  column-gap: calc(.5 * var(--su));
  height: var(--line-h);
  padding-top: calc(.35 * var(--su));
  border-top: 1px solid #ffffff0a;
  transition: background .6s;
}
.p0-meeting-line__at { font: 500 calc(.62 * var(--su)) var(--mono); color: #93a09c; }
.p0-meeting-line__who { font-size: calc(.72 * var(--su)); font-weight: 600; color: #dcc699; }
.p0-meeting-line p { grid-column: 1 / -1; margin: calc(.15 * var(--su)) 0 0; font-size: calc(.9 * var(--su)); line-height: 1.28; color: #d7dcd9; }
.p0-meeting-line mark {
  padding: 0 .12em;
  border-radius: .2em;
  background: rgba(var(--stream-rgb), .2);
  box-shadow: inset 0 -.12em rgba(var(--stream-rgb), .85);
  color: #f6f2ea;
}
.p0-meeting-line[data-voice] { background: linear-gradient(90deg, rgba(var(--lav-rgb), .12), transparent 80%); }
.p0-meeting-line[data-voice] mark { background: rgba(var(--stream-rgb), .3); box-shadow: 0 0 0 1px rgba(var(--stream-rgb), .75), 0 0 calc(1.2 * var(--su)) rgba(var(--stream-rgb), .35); }
/* До бита «Обещание голосом» фраза не распознана как обещание — пунктир. */
.p0-stage--meeting:not([data-beat="2"]) .p0-meeting-line[data-voice] { background: none; }
.p0-stage--meeting:not([data-beat="2"]) .p0-meeting-line[data-voice] mark { background: none; box-shadow: none; text-decoration: underline dashed rgba(var(--lav-rgb), .6); text-underline-offset: .2em; }
.p0-meeting-lock { position: absolute; left: calc(1.1 * var(--su)); bottom: calc(.7 * var(--su)); margin: 0; font: 500 calc(.6 * var(--su)) var(--mono); letter-spacing: .08em; color: #8d9a96; }

.p0-stage--meeting[data-beat="0"] .p0-meeting-transcript { --parse: p0-channels-parse; --parse-sweep: p0-channels-parse-sweep; }
.p0-stage--meeting[data-beat="0"] .p0-meeting-line { animation: p0-meeting-line-in .6s var(--ease-out) calc(.3s + var(--k) * .85s) both; }
.p0-stage--meeting[data-beat="0"] .p0-meeting-line:not([data-voice]) mark { animation: p0-meeting-mark .8s var(--ease) calc(1s + var(--k) * .85s) both; }
.p0-stage--meeting[data-beat="0"] .p0-meeting-lock { animation: p0-meeting-fade .6s var(--ease) 6.9s both; }
@keyframes p0-meeting-line-in { from { opacity: 0; translate: 0 calc(1.2 * var(--su)); } }
@keyframes p0-meeting-mark { from { background-color: transparent; box-shadow: none; } }
@keyframes p0-meeting-fade { from { opacity: 0; } }
.p0-stage--meeting[data-beat="2"] .p0-meeting-line[data-voice] mark { animation: p0-meeting-voice 1.4s ease-in-out .3s 2; }
@keyframes p0-meeting-voice { 50% { box-shadow: 0 0 0 2px rgba(var(--stream-rgb), .95), 0 0 calc(2.4 * var(--su)) rgba(var(--stream-rgb), .6); } }

/* --- Веер потоков ------------------------------------------------------------------ */

.p0-meeting-fan { position: absolute; inset: 0; pointer-events: none; }
.p0-meeting-fan > svg { display: block; width: 100%; height: 100%; overflow: visible; }
.p0-meeting-flow { stroke: rgba(var(--stream-rgb), .6); stroke-width: .16; stroke-dasharray: 100; stroke-dashoffset: 0; }
.p0-meeting-flow--voice { stroke-width: .14; stroke-dasharray: 1.2 1; }
.p0-meeting-particle { display: none; fill: rgb(var(--stream-rgb)); offset-rotate: 0deg; }
.p0-stage--meeting[data-beat="0"] .p0-meeting-flow { opacity: 0; }
.p0-stage--meeting:not([data-beat="2"]) .p0-meeting-flow--voice { opacity: 0; }
.p0-stage--meeting[data-beat="1"] .p0-meeting-flow:not(.p0-meeting-flow--voice) { animation: p0-meeting-draw 1s var(--ease-out) calc(.8s + var(--s) * 2.2s) both; }
@keyframes p0-meeting-draw { from { stroke-dashoffset: 100; } }
/* Частицы бегут только на бите «Четыре потока», каждая — после прорисовки своего потока. */
.p0-stage--meeting[data-beat="1"] .p0-meeting-particle {
  display: inline;
  animation: p0-meeting-particle 2.6s linear calc(1.6s + var(--s) * 2.2s + var(--ph) * 1s) infinite backwards;
}
@keyframes p0-meeting-particle {
  0% { offset-distance: 0%; opacity: 0; }
  12%, 85% { opacity: 1; }
  100% { offset-distance: 100%; opacity: 0; }
}
.p0-stage--meeting[data-beat="2"] .p0-meeting-flow--voice { animation: p0-meeting-fade .8s var(--ease) 1.2s both; }

/* --- Потоки ------------------------------------------------------------------------ */

.p0-meeting-streams { position: absolute; z-index: 4; }
.p0-meeting-stream {
  --parse-at: calc(.8s + var(--s) * 2.2s);
  position: absolute;
  display: grid;
  align-content: start;
  gap: calc(.45 * var(--su));
  padding: calc(.7 * var(--su)) calc(.9 * var(--su));
  border: 1px solid rgba(var(--stream-rgb), .35);
  border-left: 3px solid rgba(var(--stream-rgb), .85);
  border-radius: calc(.9 * var(--su));
  background: linear-gradient(120deg, rgba(var(--stream-rgb), .12), #0f1716f0 55%);
  transition: opacity .7s var(--ease);
}
.p0-meeting-stream header { display: flex; align-items: baseline; gap: calc(.5 * var(--su)); min-width: 0; }
.p0-meeting-stream__dot {
  align-self: center;
  flex: none;
  width: calc(.6 * var(--su));
  height: calc(.6 * var(--su));
  border-radius: 50%;
  background: rgb(var(--stream-rgb));
  box-shadow: 0 0 calc(.8 * var(--su)) rgb(var(--stream-rgb));
}
.p0-meeting-stream h2 { margin: 0; font-size: calc(1.02 * var(--su)); font-weight: 600; color: #f3efe6; white-space: nowrap; }
.p0-meeting-stream small { overflow: hidden; font: 500 calc(.64 * var(--su)) var(--mono); letter-spacing: .04em; color: rgb(var(--stream-rgb)); white-space: nowrap; text-overflow: ellipsis; }
.p0-meeting-stream .p0-channels-parse__chips { flex-direction: column; align-items: flex-start; gap: calc(.3 * var(--su)); }
.p0-meeting-stream .p0-channels-parse__chip { max-width: 100%; font-size: calc(.74 * var(--su)); }
.p0-meeting-stream .p0-channels-parse__chip span { overflow: hidden; text-overflow: ellipsis; }
.p0-meeting-pending { margin: 0; padding: 0; list-style: none; }
.p0-meeting-pending .p0-channels-parse__chip { border-style: dashed; }
.p0-stage--meeting[data-beat="0"] .p0-meeting-stream { opacity: .22; }
.p0-stage--meeting[data-beat="0"] .p0-meeting-stream .p0-channels-parse__chip { opacity: 0; }
.p0-stage--meeting[data-beat="1"] .p0-meeting-streams { --parse: p0-channels-parse; }
.p0-stage--meeting[data-beat="1"] .p0-meeting-stream { animation: p0-meeting-card-in .8s var(--ease-out) calc(var(--parse-at) + .2s) both; }
@keyframes p0-meeting-card-in { from { opacity: .22; } }
.p0-stage--meeting:not([data-beat="2"]) .p0-meeting-pending { opacity: 0; }
.p0-stage--meeting[data-beat="2"] .p0-meeting-pending { animation: p0-meeting-pop .6s var(--ease-out) 2.2s both; }
@keyframes p0-meeting-pop { from { opacity: 0; translate: calc(-2 * var(--su)) 0; } }

/* --- Папка материалов -------------------------------------------------------------- */

.p0-meeting-folder {
  position: absolute;
  z-index: 4;
  padding: calc(1 * var(--su)) calc(1.1 * var(--su));
  border: 1px solid #e6cd9a38;
  border-radius: calc(1 * var(--su));
  background: linear-gradient(150deg, #1d2826f0, #0e1515f5);
  transition: opacity .7s var(--ease);
}
.p0-meeting-folder__icon { position: absolute; right: calc(1 * var(--su)); top: calc(.8 * var(--su)); width: calc(2.4 * var(--su)); height: calc(2.4 * var(--su)); color: #e6cd9a; }
.p0-meeting-folder__icon .ui-icon { width: 100%; height: 100%; }
.p0-meeting-folder h2 { margin: 0 calc(3.2 * var(--su)) calc(.6 * var(--su)) 0; font-size: calc(.92 * var(--su)); font-weight: 600; line-height: 1.2; color: #f3efe6; }
.p0-meeting-folder ul { display: grid; gap: calc(.3 * var(--su)); margin: 0; padding: 0; list-style: none; }
.p0-meeting-folder li {
  display: flex;
  align-items: center;
  gap: .4em;
  min-width: 0;
  padding: .22em .55em;
  border: 1px solid rgba(var(--entity-rgb), .35);
  border-radius: calc(.5 * var(--su));
  background: #0e1615cc;
  font-size: calc(.7 * var(--su));
  color: #e3e8e5;
  white-space: nowrap;
}
.p0-meeting-folder li span { overflow: hidden; text-overflow: ellipsis; }
.p0-stage--meeting[data-beat="0"] .p0-meeting-folder { opacity: 0; }
.p0-stage--meeting[data-beat="1"] .p0-meeting-folder { animation: p0-meeting-fade .7s var(--ease) 8.8s both; }
.p0-stage--meeting[data-beat="1"] .p0-meeting-folder li { animation: p0-meeting-drop .5s var(--ease-out) calc(9.3s + var(--k) * .4s) both; }
@keyframes p0-meeting-drop { from { opacity: 0; translate: 0 calc(-1.5 * var(--su)); } }

/* --- Обещание голосом --------------------------------------------------------------- */

.p0-meeting-promise {
  position: absolute;
  z-index: 5;
  display: grid;
  align-content: start;
  gap: calc(.55 * var(--su));
  padding: calc(1 * var(--su)) calc(1.1 * var(--su));
  border: 1px solid rgba(var(--lav-rgb), .55);
  border-radius: calc(1.1 * var(--su));
  background: linear-gradient(150deg, rgba(var(--lav-rgb), .15), #0f1716f5 55%);
  box-shadow: 0 0 calc(3 * var(--su)) rgba(var(--lav-rgb), .16);
  transition: opacity .7s var(--ease), translate .7s var(--ease-out);
}
.p0-meeting-voice { display: flex; align-items: center; gap: calc(.6 * var(--su)); font: 500 calc(.62 * var(--su)) var(--mono); letter-spacing: .06em; color: #c9bdf7; }
.p0-meeting-voice__wave { flex: none; width: calc(6 * var(--su)); height: calc(1.5 * var(--su)); fill: #b7a2f5; }
.p0-meeting-voice__wave rect { transform-box: fill-box; transform-origin: center; }
.p0-meeting-promise__quote { margin: 0; font-size: calc(1.3 * var(--su)); font-weight: 600; line-height: 1.2; color: #f6f2ea; }
.p0-meeting-promise__question { margin: 0; font-size: calc(1.02 * var(--su)); font-weight: 560; color: #e6cd9a; }
.p0-meeting-promise__detail { display: flex; align-items: center; gap: .4em; margin: 0; font-size: calc(.76 * var(--su)); color: #c9d0cd; }
.p0-meeting-promise__actions { display: flex; flex-wrap: wrap; gap: calc(.5 * var(--su)); }
.p0-meeting-promise__btn {
  display: inline-flex;
  align-items: center;
  min-height: calc(2.1 * var(--su));
  padding: 0 1em;
  border: 1px solid rgba(var(--gold-rgb), .45);
  border-radius: 999px;
  background: rgba(var(--gold-rgb), .08);
  font-size: calc(.8 * var(--su));
  font-weight: 520;
  color: #eef0ec;
}
.p0-meeting-promise__btn--yes { border-color: #efe0c1; background: linear-gradient(135deg, #eddbb8, #e0c184); color: #1c2a29; }
.p0-meeting-promise__note { font-size: calc(.62 * var(--su)); line-height: 1.3; color: #98a5a1; }
.p0-stage--meeting:not([data-beat="2"]) .p0-meeting-promise { opacity: 0; translate: 0 calc(1.5 * var(--su)); }
.p0-stage--meeting[data-beat="2"] .p0-meeting-promise > * { animation: p0-meeting-rise .6s var(--ease-out) both; }
.p0-stage--meeting[data-beat="2"] .p0-meeting-promise > :nth-child(1) { animation-delay: .5s; }
.p0-stage--meeting[data-beat="2"] .p0-meeting-promise > :nth-child(2) { animation-delay: .9s; }
.p0-stage--meeting[data-beat="2"] .p0-meeting-promise > :nth-child(3) { animation-delay: 1.8s; }
.p0-stage--meeting[data-beat="2"] .p0-meeting-promise > :nth-child(4) { animation-delay: 2.2s; }
.p0-stage--meeting[data-beat="2"] .p0-meeting-promise > :nth-child(5) { animation-delay: 2.7s; }
.p0-stage--meeting[data-beat="2"] .p0-meeting-promise > :nth-child(6) { animation-delay: 3.2s; }
@keyframes p0-meeting-rise { from { opacity: 0; translate: 0 calc(.8 * var(--su)); } }
.p0-stage--meeting[data-beat="2"] .p0-meeting-voice__wave rect { animation: p0-meeting-wave .8s ease-in-out calc(var(--i) * -.07s) infinite alternate; }
@keyframes p0-meeting-wave { from { transform: scaleY(.3); } }
