/* ============================================================
   frames.css — ЕДИНСТВЕННЫЙ источник стилей фреймов.
   Модель: .mf-frame-* (управляется frame-render.js через data-*).
   Плюс overlay-бейдж stage (bridge из server-sync).
   Все стили фреймов — только здесь. Дизайн-стили — в design.css.
   ============================================================ */

.mf-my-grid,
.mf-pub-grid,
.mf-del-grid,
[data-personal-gallery],
[data-public-gallery],
[data-deleted-gallery]{
  /* Единый отступ между карточками (по горизонтали и вертикали одинаковый).
     16px = 24px − треть. grid-auto-rows мельче (4px), чтобы masonry-span
     подгонял высоту точнее и вертикальный зазор совпадал с горизонтальным. */
  --mf-gallery-gap:16px;
  --mf-gallery-row:4px;
  display:grid;
  grid-template-columns:var(--grid-4);
  grid-auto-rows:var(--mf-gallery-row);
  grid-auto-flow:dense;
  align-items:start;
  gap:var(--mf-gallery-gap);
  width:100%;
  margin:0;
  padding:var(--space-2) 0 var(--space-3);
  list-style:none;
  container-type:inline-size;
  container-name:gallery-grid;
}.mf-my-grid>*,.mf-pub-grid>*,.mf-del-grid>*,
[data-personal-gallery]>*,[data-public-gallery]>*,[data-deleted-gallery]>*{
  display:block;
  width:100%;
  min-width:0;
  margin:0;
  grid-row-end:span var(--mf-gallery-span,32);
}.mf-my-grid>.mf-frame,.mf-pub-grid>.mf-frame,.mf-del-grid>.mf-frame,
[data-personal-gallery]>.mf-frame,[data-public-gallery]>.mf-frame,[data-deleted-gallery]>.mf-frame{
  aspect-ratio:var(--mf-ratio-w,16)/var(--mf-ratio-h,9);
  /* ВЁРСТКА И ОТРИСОВКА — ТОЛЬКО ДЛЯ ВИДИМОГО.
     content-visibility:auto разрешает браузеру пропускать вёрстку и отрисовку
     карточек за пределами экрана и делать их при появлении. Решение принимает
     он сам по положению элемента — своего кода отслеживания видимости не
     нужно, он дублировал бы встроенное.
     contain-intrinsic-size задаёт запасной размер для пропущенных карточек:
     без него полоса прокрутки прыгала бы при их появлении. Ширина берётся
     от сетки, высота — по aspect-ratio выше. */
  content-visibility:auto;
  contain-intrinsic-size:auto 320px;
}.mf-my-grid>.mf-frame .mf-frame-img,.mf-pub-grid>.mf-frame .mf-frame-img,.mf-del-grid>.mf-frame .mf-frame-img,
[data-personal-gallery]>.mf-frame .mf-frame-img,[data-public-gallery]>.mf-frame .mf-frame-img,[data-deleted-gallery]>.mf-frame .mf-frame-img{
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center;
}.mf-empty,[data-personal-gallery]>.mf-empty,[data-public-gallery]>.mf-empty,[data-deleted-gallery]>.mf-empty{
  grid-column:1/-1;
  grid-row-end:auto;
  text-align:center;
  padding:48px var(--space-4);
  color:#8f98a3;
}.mf-empty--error,.mf-empty--error .mf-empty-title{color:#ff837d}.mf-empty-icon{width:56px;height:56px;margin:0 auto var(--space-3);opacity:.72}.mf-empty-title{font-size:var(--fs-lg);font-weight:var(--fw-title);color:#eef6ff}.mf-empty-sub{margin:var(--space-2) 0 0;font-size:var(--body)}@media (max-width:1180px){.mf-my-grid,.mf-pub-grid,.mf-del-grid,[data-personal-gallery],[data-public-gallery],[data-deleted-gallery]{grid-template-columns:repeat(3,minmax(0,1fr));--mf-gallery-gap:16px}}@media (max-width:760px){.mf-my-grid,.mf-pub-grid,.mf-del-grid,[data-personal-gallery],[data-public-gallery],[data-deleted-gallery]{grid-template-columns:var(--grid-2);--mf-gallery-gap:16px}}@media (max-width:460px){.mf-my-grid,.mf-pub-grid,.mf-del-grid,[data-personal-gallery],[data-public-gallery],[data-deleted-gallery]{grid-template-columns:1fr}}.mf-frame{
  --mf-radius:11px;
  --mf-bg:#070908;
  --mf-shadow-hover:rgba(5,12,10,.22);
  --mf-shadow-hover-strong:rgba(5,12,10,.28);
  --mf-veil:rgba(0,0,0,.02);
  --mf-line:rgba(255,255,255,.12);
  --mf-line-hot:rgba(255,255,255,.22);
  --mf-ink:rgba(236,247,243,.92);
  --mf-muted:rgba(236,247,243,.76);
  --mf-soft:rgba(219,244,236,.68);
  --mf-accent:#b7e9dc;
  --mf-accent-rgb:183,233,220;
  --mf-danger:#ff8b86;
  --mf-danger-rgb:255,139,134;
  --mf-warn:#ffd16f;
  --mf-warn-rgb:255,209,111;
  --mf-frame-inset:clamp(6px,2.1cqi,9px);
  --mf-frame-caption-fs:clamp(11px,3.8cqi,14px);
  --mf-home-min:clamp(360px,31vw,540px);
  --mf-frame-inset-x:var(--mf-frame-inset);
  --mf-frame-inset-top:var(--mf-frame-inset);
  --mf-frame-inset-bottom:var(--mf-frame-inset);
  --mf-ctl-size:clamp(24px,9.2cqi,38px);
  --mf-ctl-radius:clamp(7px,2.7cqi,10px);
  --mf-ctl-icon:clamp(12px,4.8cqi,17px);
  --mf-ctl-gap:clamp(5px,2cqi,8px);
  position:relative;
  display:flex;
  flex-direction:column;
  justify-content:space-between;
  width:100%;
  min-height:0;
  aspect-ratio:var(--mf-ratio-w,16)/var(--mf-ratio-h,9);
  overflow:hidden;
  isolation:isolate;
  container-type:inline-size;
  color:var(--mf-ink);
  border:1px solid var(--mf-line);
  border-radius:var(--mf-radius);
  background:var(--mf-bg);
  box-shadow:0 16px 40px rgba(20,22,27,.10);
  transition:border-color var(--dur-4) ease,box-shadow var(--dur-4) ease,transform var(--dur-4) ease;
}.mf-frame:hover,.mf-frame:focus-within{border-color:var(--mf-line-hot);box-shadow:0 24px 64px rgba(17,23,20,.16)}.mf-frame:focus-visible{outline:2px solid rgba(var(--mf-accent-rgb),.82);outline-offset:3px}.mf-frame[data-kind="process"],.mf-frame[data-kind="failed"]{background:#091013}.mf-frame-media{position:absolute;inset:0;z-index:0;overflow:hidden;background:var(--mf-bg)}.mf-frame-img{display:block;width:100%;height:100%;object-fit:cover;object-position:center;border-radius:calc(var(--mf-radius) - 1px);transform:none;transition:transform var(--dur-6) ease,filter var(--dur-6) ease}.mf-frame[data-kind="process"] .mf-frame-img,.mf-frame[data-kind="failed"] .mf-frame-img,.mf-frame[data-kind="ready"] .mf-frame-fallback,.mf-frame[data-kind="public"] .mf-frame-fallback,.mf-frame[data-kind="deleted"] .mf-frame-fallback,.mf-ctl[hidden],.mf-frame-cta[hidden],.mf-frame-author:empty,.mf-frame-meta:empty,.mf-frame[data-kind="process"] .mf-frame-metrics,.mf-frame[data-kind="failed"] .mf-frame-metrics,.mf-frame:not([data-kind="process"]):not([data-phase="content-moderating"]):not([data-phase="publication-moderating"]) .mf-wave,.mf-frame[data-quality] .mf-wave{display:none}.mf-frame[data-removed-by-moderator="1"] .mf-frame-img{filter:grayscale(1) brightness(.38) blur(1px)}.mf-frame[data-removed-by-moderator="1"] .mf-frame-media::after{
  content:"";position:absolute;inset:0;z-index:3;border-radius:inherit;
  background:linear-gradient(180deg,rgba(12,16,14,.55),rgba(12,16,14,.82));pointer-events:none
}.mf-frame[data-removed-by-moderator="1"]::before{
  content:attr(data-tombstone-title);
  position:absolute;left:0;right:0;top:0;bottom:52%;z-index:5;
  display:flex;align-items:flex-end;justify-content:center;
  padding:0 var(--space-5) var(--space-2);text-align:center;font-size:var(--small);font-weight:var(--fw-title);line-height:1.3;
  color:var(--on-dark);letter-spacing:var(--track-1);pointer-events:none
}.mf-frame[data-removed-by-moderator="1"]::after{
  content:attr(data-tombstone-note);
  position:absolute;left:0;right:0;top:48%;bottom:0;z-index:5;
  display:flex;align-items:flex-start;justify-content:center;
  padding:var(--space-2) var(--space-5) 0;text-align:center;font-size:var(--small);font-weight:var(--fw-title);line-height:1.5;
  color:rgba(255,255,255,.86);letter-spacing:var(--track-1);pointer-events:none
}.mf-frame[data-publish-locked="1"] .mf-frame-img{filter:grayscale(.5) brightness(.72)}.mf-frame[data-publish-locked="1"]::after{
  content:"Снято с публикации модератором";
  position:absolute;left:0;right:0;bottom:0;z-index:4;padding:var(--space-2) var(--space-3);text-align:center;
  font-size:var(--small);font-weight:var(--fw-title);color:var(--on-dark);background:linear-gradient(180deg,rgba(12,16,14,0),rgba(12,16,14,.72));
  pointer-events:none
}.mf-frame[data-removed-by-moderator="1"]{cursor:default}.mf-frame[data-kind="ready"]:hover .mf-frame-img,.mf-frame[data-kind="public"]:hover .mf-frame-img,.mf-frame[data-kind="deleted"]:hover .mf-frame-img,.mf-frame[data-kind="ready"]:focus-within .mf-frame-img,.mf-frame[data-kind="public"]:focus-within .mf-frame-img,.mf-frame[data-kind="deleted"]:focus-within .mf-frame-img{transform:scale(1.012);filter:contrast(1.02) saturate(1.02)}.mf-frame-fallback{position:absolute;inset:0;background:linear-gradient(135deg,#070908 0%,#0c0d0b 54%,#050605 100%)}.mf-frame[data-kind="process"] .mf-frame-fallback,.mf-frame[data-kind="failed"] .mf-frame-fallback{display:block;background:linear-gradient(135deg,#050607 0%,#0a0c0d 48%,#030405 100%)}.mf-frame[data-phase="queued"]{--mf-accent:#81e7d5;--mf-accent-rgb:129,231,213}.mf-frame[data-phase="running"],.mf-frame[data-phase="submitting"]{--mf-accent:#bd7cff;--mf-accent-rgb:189,124,255}.mf-frame[data-phase="content-moderating"],.mf-frame[data-phase="publication-moderating"]{--mf-accent:#ff9a3d;--mf-accent-rgb:255,154,61}.mf-frame[data-phase="settling"]{--mf-accent:#8bd5ff;--mf-accent-rgb:139,213,255}.mf-frame[data-quality],.mf-frame[data-kind="failed"]{--mf-accent:var(--mf-danger);--mf-accent-rgb:var(--mf-danger-rgb)}.mf-frame[data-quality="no-tokens"]{--mf-accent:#e799ff;--mf-accent-rgb:231,153,255}.mf-frame[data-quality="queue-busy"],.mf-frame[data-quality="user-limit"]{--mf-accent:var(--mf-warn);--mf-accent-rgb:var(--mf-warn-rgb)}.mf-frame::before{content:'';position:absolute;inset:0;z-index:1;pointer-events:none;background:linear-gradient(180deg,var(--mf-veil) 0%,rgba(0,0,0,.04) 44%,rgba(0,0,0,.30) 100%)}.mf-frame[data-kind="process"]::before,.mf-frame[data-kind="failed"]::before{background:linear-gradient(180deg,rgba(0,0,0,.18) 0%,var(--mf-veil) 44%,rgba(0,0,0,.56) 100%)}.mf-frame[data-phase="content-moderating"]::before,.mf-frame[data-phase="publication-moderating"]::before{background:radial-gradient(70% 58% at 72% 56%,rgba(var(--mf-accent-rgb),.13),transparent 56%),linear-gradient(180deg,rgba(0,0,0,.18) 0%,var(--mf-veil) 44%,rgba(0,0,0,.58) 100%)}.mf-frame[data-kind="deleted"]{filter:grayscale(.58) brightness(.76)}.mf-frame[data-kind="deleted"] .mf-frame-img{opacity:.74}.mf-frame-top{position:relative;z-index:3;display:flex;align-items:flex-start;justify-content:space-between;gap:var(--mf-ctl-gap);min-height:calc(var(--mf-ctl-size) + var(--mf-frame-inset-top));padding:var(--mf-frame-inset-top) var(--mf-frame-inset-x) 0}.mf-frame-status,.mf-ctl{display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;width:var(--mf-ctl-size);height:var(--mf-ctl-size);padding:0;border-radius:var(--mf-ctl-radius);color:var(--mf-accent);border:1px solid rgba(255,255,255,.12);box-shadow:none;backdrop-filter:none;-webkit-backdrop-filter:none;text-decoration:none;line-height:0}.mf-frame-status{opacity:1;transition:background var(--dur-1) ease,border-color var(--dur-1) ease;color:var(--on-dark);border-color:rgba(220,244,236,.30);pointer-events:none;cursor:default;background:rgba(16,19,18,.58)}.mf-frame:hover .mf-frame-status,.mf-frame:focus-within .mf-frame-status,.mf-frame:focus-visible .mf-frame-status{background:rgba(12,15,14,.78);border-color:rgba(220,244,236,.50)}.mf-frame-status:empty{visibility:hidden}.mf-frame-status .mf-ctl-ic{width:var(--mf-ctl-icon);height:var(--mf-ctl-icon)}.mf-frame-controls{position:relative;display:inline-flex;align-items:center;justify-content:flex-end;gap:var(--mf-ctl-gap);flex:0 1 auto;margin-left:auto;max-width:calc(100% - var(--mf-ctl-size) - 12px);opacity:0;visibility:hidden;pointer-events:none;transition:opacity var(--dur-1) ease,visibility var(--dur-1) ease}.mf-frame:hover .mf-frame-controls,.mf-frame:focus-within .mf-frame-controls,.mf-frame:focus-visible .mf-frame-controls,.mf-frame[data-kind="process"] .mf-frame-controls,.mf-frame[data-kind="failed"] .mf-frame-controls{opacity:1;visibility:visible;pointer-events:auto}.mf-ctl{--mf-ctl-rgb:220,244,236;color:var(--on-dark);cursor:pointer;opacity:1;transition:background var(--dur-1) ease,border-color var(--dur-1) ease,color var(--dur-1) ease;position:relative;background:rgba(16,19,18,.62);border-color:rgba(var(--mf-ctl-rgb,220,244,236),.34)}.mf-ctl:hover,.mf-ctl:focus-visible{color:var(--on-dark);outline:0}.mf-ctl[data-act="open"]{--mf-ctl-rgb:124,213,238}.mf-ctl[data-act="download"]{--mf-ctl-rgb:142,201,232}.mf-ctl[data-act="reuse"],.mf-ctl[data-act="retry"]{--mf-ctl-rgb:168,143,232}.mf-ctl[data-act="publish"],.mf-ctl[data-act="restore"],.mf-ctl[data-act="submit-queue"],.mf-ctl[data-act="purchase"]{--mf-ctl-rgb:112,215,183}.mf-ctl[data-act="unpublish"],.mf-ctl[data-act="report"]{--mf-ctl-rgb:231,178,103}.mf-ctl--danger{--mf-ctl-rgb:238,110,112;color:rgba(255,224,222,.9)}.mf-ctl-ic{display:block;width:var(--mf-ctl-icon);height:var(--mf-ctl-icon);filter:none}.mf-ctl-ic path,.mf-ctl-ic circle,.mf-ctl-ic rect{vector-effect:non-scaling-stroke}button.mf-frame-status{appearance:none;-webkit-appearance:none;font:inherit}.mf-frame-status--action,
.mf-frame-status[data-publish-server],.mf-frame-status[data-unpublish-server],.mf-frame-status[data-restore-server]{pointer-events:auto;cursor:pointer}.mf-frame-status--action:hover,.mf-frame-status--action:focus-visible{background:rgba(12,15,14,.82);border-color:rgba(220,244,236,.6);outline:0}.mf-frame-status--action:focus-visible{box-shadow:0 0 0 2px rgba(220,244,236,.45)}.mf-frame-bottom{position:relative;z-index:3;display:flex;flex-direction:column;justify-content:flex-end;padding:0 var(--mf-frame-inset-x) var(--mf-frame-inset-bottom);min-height:30%}.mf-frame-caption{position:relative;max-width:min(92%,30em);margin:0 0 clamp(1px,.8cqi,3px)}.mf-frame-title{margin:0;color:var(--mf-muted);font-family:var(--font-ui);font-size:clamp(12px,4.3cqi,16px);font-weight:var(--fw-title);line-height:1.05;letter-spacing:var(--track-1);text-transform:none;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;opacity:.82;text-shadow:0 1px 7px rgba(0,0,0,.24);transition:var(--trans-fade)}.mf-frame:hover .mf-frame-title,.mf-frame:focus-within .mf-frame-title,.mf-frame:focus-visible .mf-frame-title{color:rgba(244,255,251,.94);opacity:1}.mf-frame-sub{margin:clamp(2px,1.3cqi,5px) 0 0;color:var(--mf-soft);font-size:clamp(11px,3.55cqi,12px);line-height:1.2;max-width:30em;opacity:.74}.mf-frame:hover .mf-frame-sub,.mf-frame:focus-within .mf-frame-sub{opacity:1;color:rgba(232,247,241,.86)}.mf-frame[data-kind="ready"],.mf-frame[data-kind="public"],.mf-frame[data-kind="deleted"]{--mf-image-caption-visibility:0;--mf-image-caption-pointer:none}.mf-frame[data-kind="ready"][data-moderation-status="publish_pending"],.mf-frame[data-kind="ready"][data-moderation-status="rejected"],.mf-frame[data-kind="ready"][data-moderation-status="hidden"]{--mf-image-caption-visibility:1;--mf-image-caption-pointer:auto}.mf-frame[data-kind="ready"]:hover,.mf-frame[data-kind="ready"]:focus-within,.mf-frame[data-kind="public"]:hover,.mf-frame[data-kind="public"]:focus-within,.mf-frame[data-kind="deleted"]:hover,.mf-frame[data-kind="deleted"]:focus-within{--mf-image-caption-visibility:1;--mf-image-caption-pointer:auto}.mf-frame[data-kind="ready"] .mf-frame-caption,.mf-frame[data-kind="public"] .mf-frame-caption,.mf-frame[data-kind="deleted"] .mf-frame-caption{opacity:var(--mf-image-caption-visibility,1);pointer-events:var(--mf-image-caption-pointer,auto);transition:opacity var(--dur-1) ease}.mf-frame[data-kind="ready"] .mf-frame-title,.mf-frame[data-kind="public"] .mf-frame-title,.mf-frame[data-kind="deleted"] .mf-frame-title{font-size:clamp(11px,3.9cqi,14px);line-height:1.2}.mf-frame[data-kind="ready"] .mf-frame-sub,.mf-frame[data-kind="public"] .mf-frame-sub,.mf-frame[data-kind="deleted"] .mf-frame-sub{font-size:clamp(10px,3.1cqi,11px);line-height:1.2}.mf-frame[data-kind="ready"] .mf-frame-meta,.mf-frame[data-kind="public"] .mf-frame-meta,.mf-frame[data-kind="deleted"] .mf-frame-meta{font-size:clamp(9px,2.8cqi,11px);display:none}.mf-frame-cta{display:inline-flex;align-items:center;gap:var(--space-2);margin:var(--space-3) 0 0;color:rgba(221,255,243,.94);font-size:var(--small);font-weight:var(--fw-title);line-height:1.2;text-decoration:none;border-bottom:1px solid rgba(112,215,183,.42);width:fit-content}.mf-frame-cta-ic{width:12px;height:12px;color:rgba(221,255,243,.94)}.mf-frame-cta-icon{display:inline-flex;align-items:center;opacity:.86}.mf-frame-cta:hover,.mf-frame-cta:focus-visible{color:var(--on-dark);border-color:rgba(112,215,183,.72)}.mf-frame-foot{position:relative;display:flex;align-items:center;width:100%;gap:clamp(6px,2.6cqi,10px);min-height:clamp(18px,6.5cqi,24px);color:var(--mf-soft)}.mf-frame[data-kind="process"] .mf-frame-foot,.mf-frame[data-kind="failed"] .mf-frame-foot{align-items:center;min-height:clamp(22px,8.5cqi,34px)}.mf-frame[data-kind="process"] .mf-frame-caption,.mf-frame[data-kind="failed"] .mf-frame-caption{margin-bottom:clamp(3px,1.2cqi,6px);max-width:min(92%,30em)}.mf-frame[data-kind="process"] .mf-frame-meta,.mf-frame[data-kind="failed"] .mf-frame-meta{flex:0 0 auto;display:inline-flex;align-items:center;white-space:nowrap;min-width:max-content;font-variant-numeric:tabular-nums;line-height:1}.mf-frame[data-phase="content-moderating"] .mf-frame-status,.mf-frame[data-phase="publication-moderating"] .mf-frame-status{color:#ffd0a3;background:rgba(var(--mf-accent-rgb),.15);border-color:rgba(var(--mf-accent-rgb),.24)}.mf-frame[data-published="true"] .mf-frame-media::before{
  content:"";position:absolute;left:0;right:0;bottom:0;height:3px;z-index:4;pointer-events:none;
  transition:opacity var(--dur-4) ease, background var(--dur-4) ease;
}.mf-frame[data-published="true"][data-own-frame="true"] .mf-frame-media::before{
  background:linear-gradient(90deg,rgba(43,211,137,0),rgba(43,211,137,.9) 50%,rgba(43,211,137,0));
}.mf-frame[data-published="true"][data-own-frame="false"] .mf-frame-media::before{
  background:linear-gradient(90deg,rgba(124,178,232,0),rgba(124,178,232,.85) 50%,rgba(124,178,232,0));
}.mf-frame[data-published="true"][data-own-frame="true"]{box-shadow:0 16px 40px rgba(20,22,27,.10),inset 0 0 0 1px rgba(43,211,137,.42)}.mf-frame[data-published="true"][data-own-frame="false"]{box-shadow:0 16px 40px rgba(20,22,27,.10),inset 0 0 0 1px rgba(124,178,232,.34)}.mf-frame[data-published="true"][data-own-frame="true"]:hover,.mf-frame[data-published="true"][data-own-frame="true"]:focus-within{box-shadow:0 24px 64px rgba(17,23,20,.16),inset 0 0 0 1.5px rgba(43,211,137,.7)}.mf-frame[data-published="true"][data-own-frame="false"]:hover,.mf-frame[data-published="true"][data-own-frame="false"]:focus-within{box-shadow:0 24px 64px rgba(17,23,20,.16),inset 0 0 0 1.5px rgba(124,178,232,.6)}.mf-frame[data-phase="content-moderating"] .mf-frame-title,.mf-frame[data-phase="publication-moderating"] .mf-frame-title{color:rgba(255,240,226,.94);opacity:.95}.mf-frame-metrics{display:inline-flex;align-items:center;gap:var(--space-2);min-width:0;white-space:nowrap;opacity:.76;transition:opacity var(--dur-1) ease}.mf-frame:hover .mf-frame-metrics,.mf-frame:focus-within .mf-frame-metrics,.mf-frame:hover .mf-frame-like,.mf-frame:hover .mf-frame-author,.mf-frame:hover .mf-frame-meta,.mf-frame:focus-within .mf-frame-like,.mf-frame:focus-within .mf-frame-author,.mf-frame:focus-within .mf-frame-meta{opacity:1}.mf-frame-author,.mf-frame-meta{color:var(--mf-soft);font-size:var(--mf-frame-caption-fs);line-height:1;opacity:.76;white-space:nowrap;transition:var(--trans-fade)}.mf-frame-like{font-size:var(--mf-frame-caption-fs);line-height:1;opacity:.76;white-space:nowrap;transition:var(--trans-fade);display:inline-flex;align-items:center;gap:var(--space-2);pointer-events:auto;cursor:pointer;color:rgba(227,250,242,.78);font-weight:var(--fw-title);background:transparent;border:0;padding:0;box-shadow:none;text-decoration:none;text-underline-offset:3px}.mf-frame-like-ic{width:15px;height:15px}.mf-frame-like-icon{display:inline-flex;align-items:center}.mf-frame[data-own-frame="true"] .mf-frame-like{color:var(--like-own);opacity:1}.mf-frame[data-own-frame="true"] .mf-frame-author,.mf-frame[data-own-frame="false"] .mf-frame-author{color:#bdeee0;opacity:.9}.mf-frame[data-own-frame="false"] .mf-frame-like{color:var(--like);opacity:1}.mf-frame-like:hover,.mf-frame-like:focus-visible,.mf-frame-author:hover,.mf-frame-author:focus-visible{text-decoration:underline;opacity:1;outline:none}.mf-frame-like[disabled]{pointer-events:none;cursor:default;display:none}.mf-frame-author{pointer-events:auto;cursor:pointer;overflow:hidden;text-overflow:ellipsis;background:transparent;border:0;padding:0;font-weight:var(--fw-title);text-decoration:none;text-underline-offset:3px}.mf-frame[data-kind="ready"][data-moderation-status="publish_pending"] .mf-frame-meta,.mf-frame[data-kind="ready"][data-moderation-status="rejected"] .mf-frame-meta,.mf-frame[data-kind="ready"][data-moderation-status="hidden"] .mf-frame-meta{display:inline-flex;align-items:center;white-space:nowrap;min-width:max-content}.mf-wave{position:relative;display:inline-flex;flex:1 1 auto;align-self:center;min-width:clamp(82px,30cqi,150px);max-width:100%;width:auto;height:clamp(24px,10cqi,42px);overflow:hidden;border-radius:0;background:transparent;opacity:1;pointer-events:none;mix-blend-mode:screen}.mf-wave::before{content:'';position:absolute;left:0;right:0;top:50%;height:1px;background:linear-gradient(90deg,transparent,rgba(var(--mf-accent-rgb),.18) 6%,rgba(var(--mf-accent-rgb),.34) 50%,rgba(var(--mf-accent-rgb),.18) 94%,transparent);transform:translateY(-50%);filter:blur(1.6px);opacity:.82}.mf-wave::after{content:'';position:absolute;left:0;right:0;top:50%;height:1px;background:linear-gradient(90deg,rgba(255,255,255,0),rgba(255,255,255,.18) 50%,rgba(255,255,255,0));transform:translateY(-50%);opacity:.62}.mf-wave-canvas{position:absolute;inset:0;width:100%;height:100%;display:block}@media (max-width:640px){.mf-frame{--mf-radius:9px;--mf-frame-inset-x:8px;--mf-frame-inset-top:6px;--mf-frame-inset-bottom:6px;min-height:218px}.mf-frame[data-kind="process"],.mf-frame[data-kind="failed"]{min-height:218px}.mf-frame-top{padding:var(--mf-frame-inset-top) var(--mf-frame-inset-x) 0}.mf-frame-bottom{padding:0 var(--mf-frame-inset-x) var(--mf-frame-inset-bottom)}.mf-frame-caption{max-width:100%}.mf-wave{min-width:112px;height:34px}}@media (prefers-reduced-motion:reduce){.mf-frame,.mf-ctl,.mf-frame-status,.mf-frame-title,.mf-frame-metrics{transition:none}}.mf-icon, .mf-ctl-ic { color: var(--icon-muted); stroke-width: 1.8; }.mf-icon[data-tone="accent"], .mf-ctl-ic[data-tone="accent"] { color: var(--icon-accent); }.mf-icon[data-tone="warn"],   .mf-ctl-ic[data-tone="warn"]   { color: var(--icon-warn); }.mf-icon[data-tone="danger"], .mf-ctl-ic[data-tone="danger"] { color: var(--icon-danger); }.mf-icon[data-tone="muted"],  .mf-ctl-ic[data-tone="muted"]  { color: var(--icon-muted); }.mf-ctl-ic[data-tone="view"]     { color: #6fd3f0; }.mf-ctl-ic[data-tone="download"] { color: #74c0ee; }.mf-ctl-ic[data-tone="reuse"]    { color: #a98cf0; }.mf-ctl-ic[data-tone="publish"]  { color: #2bd389; }.mf-ctl-ic[data-tone="report"]   { color: #f5a623; }.mf-ctl .mf-ctl-ic:not([data-tone]) { color:var(--on-dark); }.mf-frame-like-ic, .mf-frame-metric-ic { color: var(--like); }.mf-frame[data-own-frame="false"] .mf-frame-like-ic { color: var(--like); }.mf-frame[data-own-frame="true"]  .mf-frame-like-ic { color: var(--like-own); }.mf-ctl:hover, .mf-ctl:focus-visible { background: rgba(12,15,14,.74); border-color: rgba(var(--mf-ctl-rgb,220,244,236),.55); }.mf-ctl .mf-ctl-ic { position: relative; z-index: 1; }.mf-icon[data-icon="gen-processing"], .mf-ctl-ic[data-icon="gen-processing"],
.mf-icon[data-icon="gen-spinner"], .mf-ctl-ic[data-icon="gen-spinner"] {
  transform-box: fill-box; transform-origin: center; animation: mf-icon-spin 2.4s linear infinite;
}.mf-icon[data-icon="gen-spinner"], .mf-ctl-ic[data-icon="gen-spinner"] { animation-duration: 1.6s; }@media (prefers-reduced-motion: reduce) {
  .mf-icon[data-icon="gen-processing"], .mf-ctl-ic[data-icon="gen-processing"],
  .mf-icon[data-icon="gen-spinner"], .mf-ctl-ic[data-icon="gen-spinner"] { animation: none; }
}

/* Overlay-бейдж stage поверх карточки (bridge, server-sync). */
.mf-frame__stage-badge{position:absolute;top:8px;left:8px;font-size:var(--micro);padding:2px 8px;border-radius:var(--ui-pill);background:#f1efe8;color:#5f5e5a;z-index:2}
.mf-frame__stage-badge[data-badge-tone="locked"]{background:#fcebeb;color:var(--danger-text)}
.mf-frame__stage-badge[data-badge-tone="warn"]{background:#faeeda;color:var(--warn-text)}
.mf-frame__stage-badge[data-badge-tone="info"]{background:#e6f1fb;color:#185fa5}


/* ── перенесено из design.css (frame-стили) ── */
#my-gallery[data-local-workspace-section="my-gallery"] .mf-empty,
#my-gallery[data-local-workspace-section="my-gallery"] [data-local-empty-state]{
  pointer-events: none;
}

.mf-failed-message{white-space:pre-wrap}

/* ЛЕНТА СОБЫТИЙ РАБОТЫ (Ctrl+Alt+клик по карточке).
   Поверх всего, тёмная, моноширинная: это инструмент разбора, а не часть
   интерфейса — она не должна выглядеть как обычное окно сайта. */
#mf-journal-panel{position:fixed;inset:0;z-index:9999;background:rgba(0,0,0,.72);display:flex;align-items:center;justify-content:center;padding:24px}
#mf-journal-panel .mf-jp-box{width:min(860px,96vw);max-height:82vh;display:flex;flex-direction:column;background:#12140f;border:1px solid #2c3327;border-radius:10px;overflow:hidden;font:12px/1.55 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;color:#d7dbd2}
#mf-journal-panel .mf-jp-head{display:flex;align-items:center;gap:10px;padding:10px 14px;background:#1a1e15;border-bottom:1px solid #2c3327;font-weight:600}
#mf-journal-panel .mf-jp-head code{color:#8fae72;font-size:11px}
#mf-journal-panel .mf-jp-x{margin-left:auto;background:none;border:0;color:#8b917f;font-size:20px;line-height:1;cursor:pointer;padding:0 4px}
#mf-journal-panel .mf-jp-x:hover{color:#e6eadf}
#mf-journal-panel .mf-jp-body{overflow:auto;padding:8px 14px 14px}
#mf-journal-panel .mf-jr{display:grid;grid-template-columns:74px 210px 1fr;gap:8px;padding:3px 0;border-bottom:1px solid #1e2318}
#mf-journal-panel .mf-jr-t{color:#7d8472}
#mf-journal-panel .mf-jr-e{color:#cfe0bb}
#mf-journal-panel .mf-jr-unknown{color:#c9a227}
#mf-journal-panel .mf-jr-d{color:#9aa28c;word-break:break-word}
#mf-journal-panel .mf-jr-why{padding:8px 14px;background:#2a2113;color:#e2c98b;border-bottom:1px solid #2c3327}
#mf-journal-panel .mf-jr-empty{padding:14px 0;color:#8b917f}
#mf-journal-panel .mf-jp-act{margin-left:8px;background:#232a1c;border:1px solid #37402e;color:#cfe0bb;font:inherit;font-size:11px;padding:3px 9px;border-radius:5px;cursor:pointer}
#mf-journal-panel .mf-jp-act:hover{background:#2d3625;color:#e6eadf}
#mf-journal-panel .mf-jp-head .mf-jp-x{margin-left:6px}
#mf-journal-panel .mf-jr-x{color:#7f8a6e}
#mf-journal-panel .mf-jr-env{color:#6f7a60;font-size:11px}
#mf-journal-panel .mf-jr-sum{padding:8px 14px;background:#171c12;border-bottom:1px solid #2c3327;color:#b8c8a4;line-height:1.7}
#mf-journal-panel .mf-jr-dt{color:#5f6a52;font-size:10px}
